openclaw
Version:
Multi-channel AI gateway with extensible messaging integrations
941 lines (940 loc) • 28.6 kB
JSON
{
"id": "imessage",
"activation": {
"onStartup": false
},
"channels": [
"imessage"
],
"configSchema": {
"type": "object",
"additionalProperties": false,
"properties": {}
},
"channelConfigs": {
"imessage": {
"schema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string"
},
"capabilities": {
"type": "array",
"items": {
"type": "string"
}
},
"markdown": {
"type": "object",
"properties": {
"tables": {
"type": "string",
"enum": [
"off",
"bullets",
"code",
"block"
]
}
},
"additionalProperties": false
},
"enabled": {
"type": "boolean"
},
"configWrites": {
"type": "boolean"
},
"cliPath": {
"type": "string"
},
"dbPath": {
"type": "string"
},
"remoteHost": {
"type": "string"
},
"actions": {
"type": "object",
"properties": {
"reactions": {
"type": "boolean"
},
"edit": {
"type": "boolean"
},
"unsend": {
"type": "boolean"
},
"reply": {
"type": "boolean"
},
"sendWithEffect": {
"type": "boolean"
},
"renameGroup": {
"type": "boolean"
},
"setGroupIcon": {
"type": "boolean"
},
"addParticipant": {
"type": "boolean"
},
"removeParticipant": {
"type": "boolean"
},
"leaveGroup": {
"type": "boolean"
},
"sendAttachment": {
"type": "boolean"
}
},
"additionalProperties": false
},
"service": {
"anyOf": [
{
"type": "string",
"const": "imessage"
},
{
"type": "string",
"const": "sms"
},
{
"type": "string",
"const": "auto"
}
]
},
"sendTransport": {
"type": "string",
"enum": [
"auto",
"bridge",
"applescript"
]
},
"region": {
"type": "string"
},
"dmPolicy": {
"default": "pairing",
"type": "string",
"enum": [
"pairing",
"allowlist",
"open",
"disabled"
]
},
"allowFrom": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
]
}
},
"defaultTo": {
"type": "string"
},
"groupAllowFrom": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
]
}
},
"groupPolicy": {
"default": "allowlist",
"type": "string",
"enum": [
"open",
"disabled",
"allowlist"
]
},
"contextVisibility": {
"type": "string",
"enum": [
"all",
"allowlist",
"allowlist_quote"
]
},
"historyLimit": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"dmHistoryLimit": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"dms": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "object",
"properties": {
"historyLimit": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"additionalProperties": false
}
},
"includeAttachments": {
"type": "boolean"
},
"attachmentRoots": {
"type": "array",
"items": {
"type": "string"
}
},
"remoteAttachmentRoots": {
"type": "array",
"items": {
"type": "string"
}
},
"mediaMaxMb": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"probeTimeoutMs": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"textChunkLimit": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"chunkMode": {
"type": "string",
"enum": [
"length",
"newline"
]
},
"streaming": {
"type": "object",
"properties": {
"chunkMode": {
"type": "string",
"enum": [
"length",
"newline"
]
},
"block": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"coalesce": {
"type": "object",
"properties": {
"minChars": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"maxChars": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"idleMs": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
},
"additionalProperties": false
},
"blockStreaming": {
"type": "boolean"
},
"blockStreamingCoalesce": {
"type": "object",
"properties": {
"minChars": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"maxChars": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"idleMs": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"additionalProperties": false
},
"sendReadReceipts": {
"type": "boolean"
},
"reactionNotifications": {
"type": "string",
"enum": [
"off",
"own",
"all"
]
},
"coalesceSameSenderDms": {
"type": "boolean"
},
"catchup": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"maxAgeMinutes": {
"type": "integer",
"minimum": 1,
"maximum": 720
},
"perRunLimit": {
"type": "integer",
"minimum": 1,
"maximum": 500
},
"firstRunLookbackMinutes": {
"type": "integer",
"minimum": 1,
"maximum": 720
},
"maxFailureRetries": {
"type": "integer",
"minimum": 1,
"maximum": 1000
}
},
"additionalProperties": false
},
"groups": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "object",
"properties": {
"requireMention": {
"type": "boolean"
},
"tools": {
"type": "object",
"properties": {
"allow": {
"type": "array",
"items": {
"type": "string"
}
},
"alsoAllow": {
"type": "array",
"items": {
"type": "string"
}
},
"deny": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
},
"toolsBySender": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "object",
"properties": {
"allow": {
"type": "array",
"items": {
"type": "string"
}
},
"alsoAllow": {
"type": "array",
"items": {
"type": "string"
}
},
"deny": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
}
},
"systemPrompt": {
"type": "string"
}
},
"additionalProperties": false
}
},
"heartbeat": {
"type": "object",
"properties": {
"showOk": {
"type": "boolean"
},
"showAlerts": {
"type": "boolean"
},
"useIndicator": {
"type": "boolean"
}
},
"additionalProperties": false
},
"healthMonitor": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
}
},
"additionalProperties": false
},
"responsePrefix": {
"type": "string"
},
"accounts": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"capabilities": {
"type": "array",
"items": {
"type": "string"
}
},
"markdown": {
"type": "object",
"properties": {
"tables": {
"type": "string",
"enum": [
"off",
"bullets",
"code",
"block"
]
}
},
"additionalProperties": false
},
"enabled": {
"type": "boolean"
},
"configWrites": {
"type": "boolean"
},
"cliPath": {
"type": "string"
},
"dbPath": {
"type": "string"
},
"remoteHost": {
"type": "string"
},
"actions": {
"type": "object",
"properties": {
"reactions": {
"type": "boolean"
},
"edit": {
"type": "boolean"
},
"unsend": {
"type": "boolean"
},
"reply": {
"type": "boolean"
},
"sendWithEffect": {
"type": "boolean"
},
"renameGroup": {
"type": "boolean"
},
"setGroupIcon": {
"type": "boolean"
},
"addParticipant": {
"type": "boolean"
},
"removeParticipant": {
"type": "boolean"
},
"leaveGroup": {
"type": "boolean"
},
"sendAttachment": {
"type": "boolean"
}
},
"additionalProperties": false
},
"service": {
"anyOf": [
{
"type": "string",
"const": "imessage"
},
{
"type": "string",
"const": "sms"
},
{
"type": "string",
"const": "auto"
}
]
},
"sendTransport": {
"type": "string",
"enum": [
"auto",
"bridge",
"applescript"
]
},
"region": {
"type": "string"
},
"dmPolicy": {
"default": "pairing",
"type": "string",
"enum": [
"pairing",
"allowlist",
"open",
"disabled"
]
},
"allowFrom": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
]
}
},
"defaultTo": {
"type": "string"
},
"groupAllowFrom": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
]
}
},
"groupPolicy": {
"default": "allowlist",
"type": "string",
"enum": [
"open",
"disabled",
"allowlist"
]
},
"contextVisibility": {
"type": "string",
"enum": [
"all",
"allowlist",
"allowlist_quote"
]
},
"historyLimit": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"dmHistoryLimit": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"dms": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "object",
"properties": {
"historyLimit": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"additionalProperties": false
}
},
"includeAttachments": {
"type": "boolean"
},
"attachmentRoots": {
"type": "array",
"items": {
"type": "string"
}
},
"remoteAttachmentRoots": {
"type": "array",
"items": {
"type": "string"
}
},
"mediaMaxMb": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"probeTimeoutMs": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"textChunkLimit": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"chunkMode": {
"type": "string",
"enum": [
"length",
"newline"
]
},
"streaming": {
"type": "object",
"properties": {
"chunkMode": {
"type": "string",
"enum": [
"length",
"newline"
]
},
"block": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"coalesce": {
"type": "object",
"properties": {
"minChars": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"maxChars": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"idleMs": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
},
"additionalProperties": false
},
"blockStreaming": {
"type": "boolean"
},
"blockStreamingCoalesce": {
"type": "object",
"properties": {
"minChars": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"maxChars": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"idleMs": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"additionalProperties": false
},
"sendReadReceipts": {
"type": "boolean"
},
"reactionNotifications": {
"type": "string",
"enum": [
"off",
"own",
"all"
]
},
"coalesceSameSenderDms": {
"type": "boolean"
},
"catchup": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"maxAgeMinutes": {
"type": "integer",
"minimum": 1,
"maximum": 720
},
"perRunLimit": {
"type": "integer",
"minimum": 1,
"maximum": 500
},
"firstRunLookbackMinutes": {
"type": "integer",
"minimum": 1,
"maximum": 720
},
"maxFailureRetries": {
"type": "integer",
"minimum": 1,
"maximum": 1000
}
},
"additionalProperties": false
},
"groups": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "object",
"properties": {
"requireMention": {
"type": "boolean"
},
"tools": {
"type": "object",
"properties": {
"allow": {
"type": "array",
"items": {
"type": "string"
}
},
"alsoAllow": {
"type": "array",
"items": {
"type": "string"
}
},
"deny": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
},
"toolsBySender": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "object",
"properties": {
"allow": {
"type": "array",
"items": {
"type": "string"
}
},
"alsoAllow": {
"type": "array",
"items": {
"type": "string"
}
},
"deny": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
}
},
"systemPrompt": {
"type": "string"
}
},
"additionalProperties": false
}
},
"heartbeat": {
"type": "object",
"properties": {
"showOk": {
"type": "boolean"
},
"showAlerts": {
"type": "boolean"
},
"useIndicator": {
"type": "boolean"
}
},
"additionalProperties": false
},
"healthMonitor": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
}
},
"additionalProperties": false
},
"responsePrefix": {
"type": "string"
}
},
"required": [
"dmPolicy",
"groupPolicy"
],
"additionalProperties": false
}
},
"defaultAccount": {
"type": "string"
}
},
"required": [
"dmPolicy",
"groupPolicy"
],
"additionalProperties": false
},
"label": "iMessage",
"description": "Local iMessage/SMS through the imsg bridge, including private API message actions when enabled.",
"uiHints": {
"": {
"label": "iMessage",
"help": "iMessage channel provider configuration for CLI integration and DM access policy handling. Use explicit CLI paths when runtime environments have non-standard binary locations."
},
"dmPolicy": {
"label": "iMessage DM Policy",
"help": "Direct message access control (\"pairing\" recommended). \"open\" requires channels.imessage.allowFrom=[\"*\"]."
},
"configWrites": {
"label": "iMessage Config Writes",
"help": "Allow iMessage to write config in response to channel events/commands (default: true)."
},
"cliPath": {
"label": "iMessage CLI Path",
"help": "Filesystem path to the iMessage bridge CLI binary used for send/receive operations. Set explicitly when the binary is not on PATH in service runtime environments."
},
"sendTransport": {
"label": "iMessage Send Transport",
"help": "Preferred imsg RPC send transport for normal outbound replies. \"auto\" uses the IMCore bridge when available, \"bridge\" requires it, and \"applescript\" forces Messages automation."
}
}
}
}
}