UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

941 lines (940 loc) 28.6 kB
{ "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." } } } } }