@takibeiy/moltbot_cn 2026.2.1 → 2026.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +315 -200
- package/README.md +82 -472
- package/assets/chrome-extension/README.md +5 -5
- package/assets/chrome-extension/background.js +5 -5
- package/assets/chrome-extension/manifest.json +3 -3
- package/assets/chrome-extension/options.html +5 -5
- package/assets/chrome-extension/options.js +1 -1
- package/dist/acp/client.d.ts +16 -0
- package/dist/acp/client.js +12 -9
- package/dist/acp/commands.d.ts +2 -0
- package/dist/acp/event-mapper.d.ts +10 -0
- package/dist/acp/event-mapper.js +22 -11
- package/dist/acp/index.d.ts +4 -0
- package/dist/acp/meta.d.ts +3 -0
- package/dist/acp/meta.js +12 -6
- package/dist/acp/server.d.ts +3 -0
- package/dist/acp/server.js +4 -4
- package/dist/acp/session-mapper.d.ts +22 -0
- package/dist/acp/session-mapper.js +8 -4
- package/dist/acp/session.d.ts +16 -0
- package/dist/acp/session.js +10 -5
- package/dist/acp/translator.d.ts +36 -0
- package/dist/acp/translator.js +35 -19
- package/dist/acp/types.d.ts +25 -0
- package/dist/acp/types.js +2 -2
- package/dist/agents/agent-paths.d.ts +2 -0
- package/dist/agents/agent-paths.js +11 -8
- package/dist/agents/agent-scope.d.ts +35 -0
- package/dist/agents/agent-scope.js +25 -13
- package/dist/agents/anthropic-payload-log.d.ts +16 -0
- package/dist/agents/anthropic-payload-log.js +20 -12
- package/dist/agents/apply-patch-update.d.ts +8 -0
- package/dist/agents/apply-patch-update.js +13 -7
- package/dist/agents/apply-patch.d.ts +24 -0
- package/dist/agents/apply-patch.js +25 -13
- package/dist/agents/auth-health.d.ts +37 -0
- package/dist/agents/auth-health.js +18 -10
- package/dist/agents/auth-profiles/constants.d.ts +20 -0
- package/dist/agents/auth-profiles/constants.js +1 -0
- package/dist/agents/auth-profiles/display.d.ts +7 -0
- package/dist/agents/auth-profiles/display.js +3 -3
- package/dist/agents/auth-profiles/doctor.d.ts +8 -0
- package/dist/agents/auth-profiles/doctor.js +5 -3
- package/dist/agents/auth-profiles/external-cli-sync.d.ts +7 -0
- package/dist/agents/auth-profiles/external-cli-sync.js +41 -9
- package/dist/agents/auth-profiles/oauth.d.ts +12 -0
- package/dist/agents/auth-profiles/oauth.js +26 -14
- package/dist/agents/auth-profiles/order.d.ts +8 -0
- package/dist/agents/auth-profiles/order.js +29 -16
- package/dist/agents/auth-profiles/paths.d.ts +4 -0
- package/dist/agents/auth-profiles/paths.js +5 -4
- package/dist/agents/auth-profiles/profiles.d.ts +18 -0
- package/dist/agents/auth-profiles/profiles.js +8 -4
- package/dist/agents/auth-profiles/repair.d.ts +14 -0
- package/dist/agents/auth-profiles/repair.js +26 -13
- package/dist/agents/auth-profiles/session-override.d.ts +18 -0
- package/dist/agents/auth-profiles/session-override.js +13 -7
- package/dist/agents/auth-profiles/store.d.ts +10 -0
- package/dist/agents/auth-profiles/store.js +30 -15
- package/dist/agents/auth-profiles/types.d.ts +58 -0
- package/dist/agents/auth-profiles/usage.d.ts +47 -0
- package/dist/agents/auth-profiles/usage.js +22 -11
- package/dist/agents/auth-profiles.d.ts +11 -0
- package/dist/agents/bash-process-registry.d.ts +68 -0
- package/dist/agents/bash-process-registry.js +18 -9
- package/dist/agents/bash-tools.d.ts +4 -0
- package/dist/agents/bash-tools.exec.d.ts +54 -0
- package/dist/agents/bash-tools.exec.js +107 -63
- package/dist/agents/bash-tools.process.d.ts +7 -0
- package/dist/agents/bash-tools.process.js +17 -9
- package/dist/agents/bash-tools.shared.d.ts +46 -0
- package/dist/agents/bash-tools.shared.js +30 -16
- package/dist/agents/bedrock-discovery.d.ts +9 -0
- package/dist/agents/bedrock-discovery.js +26 -14
- package/dist/agents/bootstrap-files.d.ts +25 -0
- package/dist/agents/bootstrap-files.js +3 -2
- package/dist/agents/bootstrap-hooks.d.ts +10 -0
- package/dist/agents/cache-trace.d.ts +51 -0
- package/dist/agents/cache-trace.js +33 -20
- package/dist/agents/channel-tools.d.ts +27 -0
- package/dist/agents/channel-tools.js +18 -9
- package/dist/agents/chutes-oauth.d.ts +46 -0
- package/dist/agents/chutes-oauth.js +14 -7
- package/dist/agents/claude-cli-runner.d.ts +1 -0
- package/dist/agents/cli-backends.d.ts +8 -0
- package/dist/agents/cli-backends.js +12 -6
- package/dist/agents/cli-credentials.d.ts +82 -0
- package/dist/agents/cli-credentials.js +92 -21
- package/dist/agents/cli-runner/helpers.d.ts +76 -0
- package/dist/agents/cli-runner/helpers.js +102 -54
- package/dist/agents/cli-runner.d.ts +39 -0
- package/dist/agents/cli-runner.js +14 -9
- package/dist/agents/cli-session.d.ts +3 -0
- package/dist/agents/cli-session.js +8 -4
- package/dist/agents/compaction.d.ts +61 -0
- package/dist/agents/compaction.js +12 -6
- package/dist/agents/context-window-guard.d.ts +24 -0
- package/dist/agents/context-window-guard.js +8 -4
- package/dist/agents/context.d.ts +1 -0
- package/dist/agents/context.js +9 -7
- package/dist/agents/date-time.d.ts +13 -0
- package/dist/agents/date-time.js +28 -14
- package/dist/agents/defaults.d.ts +3 -0
- package/dist/agents/docs-path.d.ts +6 -0
- package/dist/agents/docs-path.js +7 -5
- package/dist/agents/failover-error.d.ts +33 -0
- package/dist/agents/failover-error.js +48 -24
- package/dist/agents/identity-avatar.d.ts +15 -0
- package/dist/agents/identity-avatar.js +4 -2
- package/dist/agents/identity-file.d.ts +12 -0
- package/dist/agents/identity-file.js +20 -10
- package/dist/agents/identity.d.ts +20 -0
- package/dist/agents/identity.js +11 -6
- package/dist/agents/lanes.d.ts +3 -0
- package/dist/agents/live-auth-keys.d.ts +3 -0
- package/dist/agents/live-auth-keys.js +38 -20
- package/dist/agents/live-model-filter.d.ts +5 -0
- package/dist/agents/live-model-filter.js +2 -1
- package/dist/agents/memory-search.d.ts +66 -0
- package/dist/agents/memory-search.js +15 -5
- package/dist/agents/minimax-vlm.d.ts +7 -0
- package/dist/agents/minimax-vlm.js +7 -4
- package/dist/agents/model-auth.d.ts +36 -0
- package/dist/agents/model-auth.js +38 -18
- package/dist/agents/model-catalog.d.ts +25 -0
- package/dist/agents/model-catalog.js +17 -14
- package/dist/agents/model-compat.d.ts +2 -0
- package/dist/agents/model-compat.js +4 -2
- package/dist/agents/model-fallback.d.ts +49 -0
- package/dist/agents/model-fallback.js +41 -21
- package/dist/agents/model-scan.d.ts +63 -0
- package/dist/agents/model-scan.js +47 -24
- package/dist/agents/model-selection.d.ts +88 -0
- package/dist/agents/model-selection.js +59 -29
- package/dist/agents/models-config.d.ts +5 -0
- package/dist/agents/models-config.js +14 -9
- package/dist/agents/models-config.providers.d.ts +23 -0
- package/dist/agents/models-config.providers.js +88 -53
- package/dist/agents/openclaw-tools.d.ts +40 -0
- package/dist/agents/openclaw-tools.js +121 -0
- package/dist/agents/opencode-zen-models.d.ts +43 -0
- package/dist/agents/pi-embedded-block-chunker.d.ts +17 -0
- package/dist/agents/pi-embedded-block-chunker.js +32 -16
- package/dist/agents/pi-embedded-helpers/bootstrap.d.ts +28 -0
- package/dist/agents/pi-embedded-helpers/bootstrap.js +18 -9
- package/dist/agents/pi-embedded-helpers/errors.d.ts +45 -0
- package/dist/agents/pi-embedded-helpers/errors.js +107 -54
- package/dist/agents/pi-embedded-helpers/google.d.ts +8 -0
- package/dist/agents/pi-embedded-helpers/google.js +2 -1
- package/dist/agents/pi-embedded-helpers/images.d.ts +20 -0
- package/dist/agents/pi-embedded-helpers/images.js +12 -6
- package/dist/agents/pi-embedded-helpers/messaging-dedupe.d.ts +10 -0
- package/dist/agents/pi-embedded-helpers/messaging-dedupe.js +10 -5
- package/dist/agents/pi-embedded-helpers/openai.d.ts +9 -0
- package/dist/agents/pi-embedded-helpers/openai.js +13 -7
- package/dist/agents/pi-embedded-helpers/thinking.d.ts +5 -0
- package/dist/agents/pi-embedded-helpers/thinking.js +10 -5
- package/dist/agents/pi-embedded-helpers/turns.d.ts +20 -0
- package/dist/agents/pi-embedded-helpers/types.d.ts +5 -0
- package/dist/agents/pi-embedded-helpers.d.ts +11 -0
- package/dist/agents/pi-embedded-messaging.d.ts +8 -0
- package/dist/agents/pi-embedded-messaging.js +8 -4
- package/dist/agents/pi-embedded-runner/abort.d.ts +1 -0
- package/dist/agents/pi-embedded-runner/abort.js +4 -2
- package/dist/agents/pi-embedded-runner/cache-ttl.d.ts +9 -0
- package/dist/agents/pi-embedded-runner/cache-ttl.js +11 -6
- package/dist/agents/pi-embedded-runner/compact.d.ts +48 -0
- package/dist/agents/pi-embedded-runner/compact.js +32 -25
- package/dist/agents/pi-embedded-runner/extensions.d.ts +12 -0
- package/dist/agents/pi-embedded-runner/extensions.js +6 -3
- package/dist/agents/pi-embedded-runner/extra-params.d.ts +21 -0
- package/dist/agents/pi-embedded-runner/extra-params.js +6 -3
- package/dist/agents/pi-embedded-runner/google.d.ts +39 -0
- package/dist/agents/pi-embedded-runner/google.js +18 -10
- package/dist/agents/pi-embedded-runner/history.d.ts +12 -0
- package/dist/agents/pi-embedded-runner/history.js +14 -7
- package/dist/agents/pi-embedded-runner/lanes.d.ts +3 -0
- package/dist/agents/pi-embedded-runner/logger.d.ts +1 -0
- package/dist/agents/pi-embedded-runner/model.d.ts +22 -0
- package/dist/agents/pi-embedded-runner/model.js +10 -7
- package/dist/agents/pi-embedded-runner/run/attempt.d.ts +5 -0
- package/dist/agents/pi-embedded-runner/run/attempt.js +52 -38
- package/dist/agents/pi-embedded-runner/run/images.d.ts +83 -0
- package/dist/agents/pi-embedded-runner/run/images.js +29 -16
- package/dist/agents/pi-embedded-runner/run/params.d.ts +109 -0
- package/dist/agents/pi-embedded-runner/run/payloads.d.ts +34 -0
- package/dist/agents/pi-embedded-runner/run/payloads.js +26 -13
- package/dist/agents/pi-embedded-runner/run/types.d.ts +126 -0
- package/dist/agents/pi-embedded-runner/run.d.ts +3 -0
- package/dist/agents/pi-embedded-runner/run.js +18 -11
- package/dist/agents/pi-embedded-runner/runs.d.ts +14 -0
- package/dist/agents/pi-embedded-runner/runs.js +10 -5
- package/dist/agents/pi-embedded-runner/sandbox-info.d.ts +4 -0
- package/dist/agents/pi-embedded-runner/sandbox-info.js +2 -1
- package/dist/agents/pi-embedded-runner/session-manager-cache.d.ts +2 -0
- package/dist/agents/pi-embedded-runner/session-manager-cache.js +11 -6
- package/dist/agents/pi-embedded-runner/session-manager-init.d.ts +17 -0
- package/dist/agents/pi-embedded-runner/system-prompt.d.ts +47 -0
- package/dist/agents/pi-embedded-runner/tool-split.d.ts +11 -0
- package/dist/agents/pi-embedded-runner/types.d.ts +70 -0
- package/dist/agents/pi-embedded-runner/utils.d.ts +8 -0
- package/dist/agents/pi-embedded-runner/utils.js +9 -5
- package/dist/agents/pi-embedded-runner.d.ts +12 -0
- package/dist/agents/pi-embedded-subscribe.d.ts +20 -0
- package/dist/agents/pi-embedded-subscribe.handlers.d.ts +2 -0
- package/dist/agents/pi-embedded-subscribe.handlers.lifecycle.d.ts +8 -0
- package/dist/agents/pi-embedded-subscribe.handlers.messages.d.ts +12 -0
- package/dist/agents/pi-embedded-subscribe.handlers.messages.js +52 -17
- package/dist/agents/pi-embedded-subscribe.handlers.tools.d.ts +18 -0
- package/dist/agents/pi-embedded-subscribe.handlers.tools.js +10 -5
- package/dist/agents/pi-embedded-subscribe.handlers.types.d.ts +107 -0
- package/dist/agents/pi-embedded-subscribe.js +64 -27
- package/dist/agents/pi-embedded-subscribe.raw-stream.d.ts +1 -0
- package/dist/agents/pi-embedded-subscribe.raw-stream.js +4 -3
- package/dist/agents/pi-embedded-subscribe.tools.d.ts +6 -0
- package/dist/agents/pi-embedded-subscribe.tools.js +59 -30
- package/dist/agents/pi-embedded-subscribe.types.d.ts +44 -0
- package/dist/agents/pi-embedded-utils.d.ts +38 -0
- package/dist/agents/pi-embedded-utils.js +66 -33
- package/dist/agents/pi-embedded.d.ts +2 -0
- package/dist/agents/pi-extensions/compaction-safeguard-runtime.d.ts +5 -0
- package/dist/agents/pi-extensions/compaction-safeguard.d.ts +22 -0
- package/dist/agents/pi-extensions/compaction-safeguard.js +26 -14
- package/dist/agents/pi-extensions/context-pruning/extension.d.ts +2 -0
- package/dist/agents/pi-extensions/context-pruning/extension.js +4 -2
- package/dist/agents/pi-extensions/context-pruning/pruner.d.ts +10 -0
- package/dist/agents/pi-extensions/context-pruning/pruner.js +64 -32
- package/dist/agents/pi-extensions/context-pruning/runtime.d.ts +9 -0
- package/dist/agents/pi-extensions/context-pruning/settings.d.ts +44 -0
- package/dist/agents/pi-extensions/context-pruning/settings.js +4 -2
- package/dist/agents/pi-extensions/context-pruning/tools.d.ts +2 -0
- package/dist/agents/pi-extensions/context-pruning/tools.js +16 -8
- package/dist/agents/pi-extensions/context-pruning.d.ts +10 -0
- package/dist/agents/pi-model-discovery.d.ts +4 -0
- package/dist/agents/pi-model-discovery.js +10 -0
- package/dist/agents/pi-settings.d.ts +19 -0
- package/dist/agents/pi-tool-definition-adapter.d.ts +7 -0
- package/dist/agents/pi-tool-definition-adapter.js +4 -2
- package/dist/agents/pi-tools.abort.d.ts +2 -0
- package/dist/agents/pi-tools.abort.js +16 -8
- package/dist/agents/pi-tools.d.ts +63 -0
- package/dist/agents/pi-tools.js +21 -14
- package/dist/agents/pi-tools.policy.d.ts +37 -0
- package/dist/agents/pi-tools.policy.js +56 -29
- package/dist/agents/pi-tools.read.d.ts +35 -0
- package/dist/agents/pi-tools.read.js +25 -14
- package/dist/agents/pi-tools.schema.d.ts +3 -0
- package/dist/agents/pi-tools.schema.js +26 -13
- package/dist/agents/pi-tools.types.d.ts +2 -0
- package/dist/agents/pty-dsr.d.ts +5 -0
- package/dist/agents/pty-keys.d.ts +13 -0
- package/dist/agents/pty-keys.js +30 -15
- package/dist/agents/sandbox/browser-bridges.d.ts +5 -0
- package/dist/agents/sandbox/browser.d.ts +8 -0
- package/dist/agents/sandbox/browser.js +28 -17
- package/dist/agents/sandbox/config-hash.d.ts +9 -0
- package/dist/agents/sandbox/config-hash.js +14 -8
- package/dist/agents/sandbox/config.d.ts +22 -0
- package/dist/agents/sandbox/config.js +2 -1
- package/dist/agents/sandbox/constants.d.ts +19 -0
- package/dist/agents/sandbox/constants.js +7 -7
- package/dist/agents/sandbox/context.d.ts +12 -0
- package/dist/agents/sandbox/context.js +9 -5
- package/dist/agents/sandbox/docker.d.ts +28 -0
- package/dist/agents/sandbox/docker.js +59 -35
- package/dist/agents/sandbox/manage.d.ts +13 -0
- package/dist/agents/sandbox/prune.d.ts +3 -0
- package/dist/agents/sandbox/prune.js +6 -3
- package/dist/agents/sandbox/registry.d.ts +30 -0
- package/dist/agents/sandbox/registry.js +8 -4
- package/dist/agents/sandbox/runtime-status.d.ts +18 -0
- package/dist/agents/sandbox/runtime-status.js +16 -9
- package/dist/agents/sandbox/shared.d.ts +4 -0
- package/dist/agents/sandbox/shared.js +8 -4
- package/dist/agents/sandbox/tool-policy.d.ts +4 -0
- package/dist/agents/sandbox/tool-policy.js +18 -9
- package/dist/agents/sandbox/types.d.ts +73 -0
- package/dist/agents/sandbox/types.docker.d.ts +25 -0
- package/dist/agents/sandbox/workspace.d.ts +1 -0
- package/dist/agents/sandbox-paths.d.ts +16 -0
- package/dist/agents/sandbox-paths.js +4 -2
- package/dist/agents/sandbox.d.ts +8 -0
- package/dist/agents/schema/clean-for-gemini.d.ts +2 -0
- package/dist/agents/schema/clean-for-gemini.js +58 -29
- package/dist/agents/schema/typebox.d.ts +14 -0
- package/dist/agents/session-slug.d.ts +1 -0
- package/dist/agents/session-slug.js +10 -5
- package/dist/agents/session-tool-result-guard-wrapper.d.ts +14 -0
- package/dist/agents/session-tool-result-guard.d.ts +21 -0
- package/dist/agents/session-tool-result-guard.js +15 -8
- package/dist/agents/session-transcript-repair.d.ts +19 -0
- package/dist/agents/session-transcript-repair.js +15 -8
- package/dist/agents/session-write-lock.d.ts +21 -0
- package/dist/agents/session-write-lock.js +22 -12
- package/dist/agents/shell-utils.d.ts +6 -0
- package/dist/agents/shell-utils.js +14 -7
- package/dist/agents/skills/bundled-dir.d.ts +1 -0
- package/dist/agents/skills/bundled-dir.js +7 -4
- package/dist/agents/skills/config.d.ts +14 -0
- package/dist/agents/skills/config.js +41 -21
- package/dist/agents/skills/env-overrides.d.ts +10 -0
- package/dist/agents/skills/env-overrides.js +18 -9
- package/dist/agents/skills/frontmatter.d.ts +6 -0
- package/dist/agents/skills/frontmatter.js +45 -20
- package/dist/agents/skills/plugin-skills.d.ts +5 -0
- package/dist/agents/skills/plugin-skills.js +14 -7
- package/dist/agents/skills/refresh.d.ts +19 -0
- package/dist/agents/skills/refresh.js +11 -6
- package/dist/agents/skills/serialize.d.ts +1 -0
- package/dist/agents/skills/serialize.js +2 -1
- package/dist/agents/skills/types.d.ts +80 -0
- package/dist/agents/skills/workspace.d.ts +49 -0
- package/dist/agents/skills/workspace.js +31 -19
- package/dist/agents/skills-install.d.ts +16 -0
- package/dist/agents/skills-install.js +40 -20
- package/dist/agents/skills-status.d.ts +55 -0
- package/dist/agents/skills-status.js +26 -13
- package/dist/agents/skills.d.ts +7 -0
- package/dist/agents/subagent-announce-queue.d.ts +22 -0
- package/dist/agents/subagent-announce-queue.js +16 -8
- package/dist/agents/subagent-announce.d.ts +28 -0
- package/dist/agents/subagent-announce.js +56 -29
- package/dist/agents/subagent-registry.d.ts +35 -0
- package/dist/agents/subagent-registry.js +58 -30
- package/dist/agents/subagent-registry.store.d.ts +5 -0
- package/dist/agents/subagent-registry.store.js +12 -6
- package/dist/agents/synthetic-models.d.ts +153 -0
- package/dist/agents/synthetic-models.js +8 -0
- package/dist/agents/system-prompt-params.d.ts +29 -0
- package/dist/agents/system-prompt-params.js +10 -5
- package/dist/agents/system-prompt-report.d.ts +20 -0
- package/dist/agents/system-prompt-report.js +12 -6
- package/dist/agents/system-prompt.d.ts +73 -0
- package/dist/agents/system-prompt.js +55 -34
- package/dist/agents/test-helpers/fast-coding-tools.d.ts +1 -0
- package/dist/agents/test-helpers/fast-core-tools.d.ts +1 -0
- package/dist/agents/timeout.d.ts +8 -0
- package/dist/agents/timeout.js +4 -2
- package/dist/agents/tool-call-id.d.ts +17 -0
- package/dist/agents/tool-call-id.js +34 -17
- package/dist/agents/tool-display.d.ts +15 -0
- package/dist/agents/tool-display.js +48 -24
- package/dist/agents/tool-images.d.ts +19 -0
- package/dist/agents/tool-images.js +18 -10
- package/dist/agents/tool-policy.d.ts +36 -0
- package/dist/agents/tool-policy.js +26 -14
- package/dist/agents/tool-summaries.d.ts +2 -0
- package/dist/agents/tool-summaries.js +2 -1
- package/dist/agents/tools/agent-step.d.ts +12 -0
- package/dist/agents/tools/agent-step.js +8 -7
- package/dist/agents/tools/agents-list-tool.d.ts +6 -0
- package/dist/agents/tools/agents-list-tool.js +9 -4
- package/dist/agents/tools/browser-tool.d.ts +5 -0
- package/dist/agents/tools/browser-tool.js +26 -19
- package/dist/agents/tools/browser-tool.schema.d.ts +50 -0
- package/dist/agents/tools/canvas-tool.d.ts +2 -0
- package/dist/agents/tools/canvas-tool.js +3 -2
- package/dist/agents/tools/common.d.ts +52 -0
- package/dist/agents/tools/common.js +20 -10
- package/dist/agents/tools/cron-tool.d.ts +6 -0
- package/dist/agents/tools/cron-tool.js +24 -14
- package/dist/agents/tools/discord-actions-guild.d.ts +4 -0
- package/dist/agents/tools/discord-actions-guild.js +4 -2
- package/dist/agents/tools/discord-actions-messaging.d.ts +4 -0
- package/dist/agents/tools/discord-actions-messaging.js +4 -3
- package/dist/agents/tools/discord-actions-moderation.d.ts +4 -0
- package/dist/agents/tools/discord-actions.d.ts +3 -0
- package/dist/agents/tools/gateway-tool.d.ts +6 -0
- package/dist/agents/tools/gateway-tool.js +3 -2
- package/dist/agents/tools/gateway.d.ts +14 -0
- package/dist/agents/tools/image-tool.d.ts +26 -0
- package/dist/agents/tools/image-tool.helpers.d.ts +21 -0
- package/dist/agents/tools/image-tool.helpers.js +4 -2
- package/dist/agents/tools/image-tool.js +27 -17
- package/dist/agents/tools/memory-tool.d.ts +10 -0
- package/dist/agents/tools/memory-tool.js +9 -5
- package/dist/agents/tools/message-tool.d.ts +16 -0
- package/dist/agents/tools/message-tool.js +20 -13
- package/dist/agents/tools/nodes-tool.d.ts +6 -0
- package/dist/agents/tools/nodes-tool.js +14 -14
- package/dist/agents/tools/nodes-utils.d.ts +20 -0
- package/dist/agents/tools/nodes-utils.js +20 -11
- package/dist/agents/tools/session-status-tool.d.ts +6 -0
- package/dist/agents/tools/session-status-tool.js +22 -12
- package/dist/agents/tools/sessions-announce-target.d.ts +5 -0
- package/dist/agents/tools/sessions-announce-target.js +4 -3
- package/dist/agents/tools/sessions-helpers.d.ts +90 -0
- package/dist/agents/tools/sessions-helpers.js +71 -38
- package/dist/agents/tools/sessions-history-tool.d.ts +5 -0
- package/dist/agents/tools/sessions-history-tool.js +4 -4
- package/dist/agents/tools/sessions-list-tool.d.ts +5 -0
- package/dist/agents/tools/sessions-list-tool.js +17 -11
- package/dist/agents/tools/sessions-send-helpers.d.ts +34 -0
- package/dist/agents/tools/sessions-send-helpers.js +12 -6
- package/dist/agents/tools/sessions-send-tool.a2a.d.ts +12 -0
- package/dist/agents/tools/sessions-send-tool.a2a.js +4 -3
- package/dist/agents/tools/sessions-send-tool.d.ts +7 -0
- package/dist/agents/tools/sessions-send-tool.js +15 -15
- package/dist/agents/tools/sessions-spawn-tool.d.ts +15 -0
- package/dist/agents/tools/sessions-spawn-tool.js +16 -12
- package/dist/agents/tools/slack-actions.d.ts +15 -0
- package/dist/agents/tools/slack-actions.js +14 -7
- package/dist/agents/tools/telegram-actions.d.ts +9 -0
- package/dist/agents/tools/telegram-actions.js +3 -2
- package/dist/agents/tools/tts-tool.d.ts +7 -0
- package/dist/agents/tools/tts-tool.js +2 -1
- package/dist/agents/tools/web-fetch-utils.d.ts +18 -0
- package/dist/agents/tools/web-fetch-utils.js +6 -3
- package/dist/agents/tools/web-fetch.d.ts +25 -0
- package/dist/agents/tools/web-fetch.js +31 -16
- package/dist/agents/tools/web-search.d.ts +22 -0
- package/dist/agents/tools/web-search.js +55 -31
- package/dist/agents/tools/web-shared.d.ts +17 -0
- package/dist/agents/tools/web-shared.js +8 -4
- package/dist/agents/tools/web-tools.d.ts +2 -0
- package/dist/agents/tools/whatsapp-actions.d.ts +3 -0
- package/dist/agents/transcript-policy.d.ts +23 -0
- package/dist/agents/transcript-policy.js +11 -6
- package/dist/agents/usage.d.ts +35 -0
- package/dist/agents/usage.js +10 -5
- package/dist/agents/venice-models.d.ts +238 -0
- package/dist/agents/workspace-templates.d.ts +6 -0
- package/dist/agents/workspace-templates.js +53 -0
- package/dist/agents/workspace.d.ts +33 -0
- package/dist/agents/workspace.js +27 -17
- package/dist/auto-reply/chunk.d.ts +45 -0
- package/dist/auto-reply/chunk.js +62 -31
- package/dist/auto-reply/command-auth.d.ts +16 -0
- package/dist/auto-reply/command-auth.js +18 -9
- package/dist/auto-reply/command-detection.d.ts +13 -0
- package/dist/auto-reply/command-detection.js +20 -10
- package/dist/auto-reply/commands-args.d.ts +3 -0
- package/dist/auto-reply/commands-args.js +22 -11
- package/dist/auto-reply/commands-registry.d.ts +54 -0
- package/dist/auto-reply/commands-registry.data.d.ts +3 -0
- package/dist/auto-reply/commands-registry.data.js +8 -5
- package/dist/auto-reply/commands-registry.js +95 -48
- package/dist/auto-reply/commands-registry.types.d.ts +66 -0
- package/dist/auto-reply/dispatch.d.ts +27 -0
- package/dist/auto-reply/dispatch.js +1 -1
- package/dist/auto-reply/envelope.d.ts +59 -0
- package/dist/auto-reply/envelope.js +36 -19
- package/dist/auto-reply/group-activation.d.ts +6 -0
- package/dist/auto-reply/group-activation.js +10 -5
- package/dist/auto-reply/heartbeat.d.ts +26 -0
- package/dist/auto-reply/heartbeat.js +18 -9
- package/dist/auto-reply/inbound-debounce.d.ts +16 -0
- package/dist/auto-reply/inbound-debounce.js +10 -5
- package/dist/auto-reply/media-note.d.ts +2 -0
- package/dist/auto-reply/media-note.js +6 -3
- package/dist/auto-reply/model.d.ts +8 -0
- package/dist/auto-reply/model.js +2 -1
- package/dist/auto-reply/reply/abort.d.ts +20 -0
- package/dist/auto-reply/reply/abort.js +26 -14
- package/dist/auto-reply/reply/agent-runner-execution.d.ts +48 -0
- package/dist/auto-reply/reply/agent-runner-execution.js +24 -13
- package/dist/auto-reply/reply/agent-runner-helpers.d.ts +17 -0
- package/dist/auto-reply/reply/agent-runner-helpers.js +10 -5
- package/dist/auto-reply/reply/agent-runner-memory.d.ts +20 -0
- package/dist/auto-reply/reply/agent-runner-memory.js +8 -4
- package/dist/auto-reply/reply/agent-runner-payloads.d.ts +25 -0
- package/dist/auto-reply/reply/agent-runner-payloads.js +2 -1
- package/dist/auto-reply/reply/agent-runner-utils.d.ts +30 -0
- package/dist/auto-reply/reply/agent-runner-utils.js +10 -5
- package/dist/auto-reply/reply/agent-runner.d.ts +37 -0
- package/dist/auto-reply/reply/agent-runner.js +14 -8
- package/dist/auto-reply/reply/audio-tags.d.ts +1 -0
- package/dist/auto-reply/reply/bash-command.d.ts +19 -0
- package/dist/auto-reply/reply/bash-command.js +32 -17
- package/dist/auto-reply/reply/block-reply-coalescer.d.ts +15 -0
- package/dist/auto-reply/reply/block-reply-coalescer.js +10 -5
- package/dist/auto-reply/reply/block-reply-pipeline.d.ts +31 -0
- package/dist/auto-reply/reply/block-reply-pipeline.js +22 -11
- package/dist/auto-reply/reply/block-streaming.d.ts +17 -0
- package/dist/auto-reply/reply/block-streaming.js +6 -3
- package/dist/auto-reply/reply/body.d.ts +11 -0
- package/dist/auto-reply/reply/body.js +2 -1
- package/dist/auto-reply/reply/commands-allowlist.d.ts +2 -0
- package/dist/auto-reply/reply/commands-allowlist.js +46 -27
- package/dist/auto-reply/reply/commands-approve.d.ts +2 -0
- package/dist/auto-reply/reply/commands-approve.js +7 -4
- package/dist/auto-reply/reply/commands-bash.d.ts +2 -0
- package/dist/auto-reply/reply/commands-bash.js +2 -1
- package/dist/auto-reply/reply/commands-compact.d.ts +2 -0
- package/dist/auto-reply/reply/commands-compact.js +8 -4
- package/dist/auto-reply/reply/commands-config.d.ts +3 -0
- package/dist/auto-reply/reply/commands-config.js +11 -7
- package/dist/auto-reply/reply/commands-context-report.d.ts +3 -0
- package/dist/auto-reply/reply/commands-context-report.js +14 -11
- package/dist/auto-reply/reply/commands-context.d.ts +12 -0
- package/dist/auto-reply/reply/commands-core.d.ts +2 -0
- package/dist/auto-reply/reply/commands-core.js +36 -32
- package/dist/auto-reply/reply/commands-info.d.ts +10 -0
- package/dist/auto-reply/reply/commands-info.js +23 -12
- package/dist/auto-reply/reply/commands-models.d.ts +8 -0
- package/dist/auto-reply/reply/commands-models.js +19 -11
- package/dist/auto-reply/reply/commands-plugin.d.ts +13 -0
- package/dist/auto-reply/reply/commands-plugin.js +4 -2
- package/dist/auto-reply/reply/commands-session.d.ts +7 -0
- package/dist/auto-reply/reply/commands-session.js +40 -23
- package/dist/auto-reply/reply/commands-status.d.ts +24 -0
- package/dist/auto-reply/reply/commands-status.js +8 -5
- package/dist/auto-reply/reply/commands-subagents.d.ts +13 -0
- package/dist/auto-reply/reply/commands-subagents.js +38 -24
- package/dist/auto-reply/reply/commands-tts.d.ts +2 -0
- package/dist/auto-reply/reply/commands-tts.js +10 -5
- package/dist/auto-reply/reply/commands-types.d.ts +59 -0
- package/dist/auto-reply/reply/commands.d.ts +4 -0
- package/dist/auto-reply/reply/config-commands.d.ts +15 -0
- package/dist/auto-reply/reply/config-commands.js +8 -4
- package/dist/auto-reply/reply/config-value.d.ts +4 -0
- package/dist/auto-reply/reply/config-value.js +10 -5
- package/dist/auto-reply/reply/debug-commands.d.ts +16 -0
- package/dist/auto-reply/reply/debug-commands.js +8 -4
- package/dist/auto-reply/reply/directive-handling.auth.d.ts +19 -0
- package/dist/auto-reply/reply/directive-handling.auth.js +24 -12
- package/dist/auto-reply/reply/directive-handling.d.ts +6 -0
- package/dist/auto-reply/reply/directive-handling.fast-lane.d.ts +47 -0
- package/dist/auto-reply/reply/directive-handling.impl.d.ts +35 -0
- package/dist/auto-reply/reply/directive-handling.impl.js +28 -14
- package/dist/auto-reply/reply/directive-handling.model-picker.d.ts +13 -0
- package/dist/auto-reply/reply/directive-handling.model-picker.js +12 -6
- package/dist/auto-reply/reply/directive-handling.model.d.ts +41 -0
- package/dist/auto-reply/reply/directive-handling.model.js +25 -13
- package/dist/auto-reply/reply/directive-handling.parse.d.ts +62 -0
- package/dist/auto-reply/reply/directive-handling.parse.js +2 -1
- package/dist/auto-reply/reply/directive-handling.persist.d.ts +37 -0
- package/dist/auto-reply/reply/directive-handling.queue-validation.d.ts +10 -0
- package/dist/auto-reply/reply/directive-handling.queue-validation.js +2 -1
- package/dist/auto-reply/reply/directive-handling.shared.d.ts +16 -0
- package/dist/auto-reply/reply/directive-handling.shared.js +9 -5
- package/dist/auto-reply/reply/directives.d.ts +38 -0
- package/dist/auto-reply/reply/directives.js +20 -10
- package/dist/auto-reply/reply/dispatch-from-config.d.ts +16 -0
- package/dist/auto-reply/reply/dispatch-from-config.js +46 -13
- package/dist/auto-reply/reply/exec/directive.d.ts +20 -0
- package/dist/auto-reply/reply/exec/directive.js +30 -15
- package/dist/auto-reply/reply/exec.d.ts +1 -0
- package/dist/auto-reply/reply/followup-runner.d.ts +16 -0
- package/dist/auto-reply/reply/followup-runner.js +11 -6
- package/dist/auto-reply/reply/get-reply-directives-apply.d.ts +64 -0
- package/dist/auto-reply/reply/get-reply-directives-apply.js +2 -2
- package/dist/auto-reply/reply/get-reply-directives-utils.d.ts +2 -0
- package/dist/auto-reply/reply/get-reply-directives.d.ts +90 -0
- package/dist/auto-reply/reply/get-reply-directives.js +4 -2
- package/dist/auto-reply/reply/get-reply-inline-actions.d.ts +59 -0
- package/dist/auto-reply/reply/get-reply-inline-actions.js +15 -10
- package/dist/auto-reply/reply/get-reply-run.d.ts +68 -0
- package/dist/auto-reply/reply/get-reply-run.js +3 -3
- package/dist/auto-reply/reply/get-reply.d.ts +4 -0
- package/dist/auto-reply/reply/get-reply.js +4 -4
- package/dist/auto-reply/reply/groups.d.ts +16 -0
- package/dist/auto-reply/reply/groups.js +14 -8
- package/dist/auto-reply/reply/history.d.ts +72 -0
- package/dist/auto-reply/reply/history.js +22 -11
- package/dist/auto-reply/reply/inbound-context.d.ts +8 -0
- package/dist/auto-reply/reply/inbound-context.js +4 -2
- package/dist/auto-reply/reply/inbound-dedupe.d.ts +8 -0
- package/dist/auto-reply/reply/inbound-dedupe.js +6 -3
- package/dist/auto-reply/reply/inbound-sender-meta.d.ts +5 -0
- package/dist/auto-reply/reply/inbound-sender-meta.js +12 -6
- package/dist/auto-reply/reply/inbound-text.d.ts +1 -0
- package/dist/auto-reply/reply/line-directives.d.ts +22 -0
- package/dist/auto-reply/reply/line-directives.js +6 -3
- package/dist/auto-reply/reply/memory-flush.d.ts +23 -0
- package/dist/auto-reply/reply/memory-flush.js +12 -6
- package/dist/auto-reply/reply/mentions.d.ts +18 -0
- package/dist/auto-reply/reply/mentions.js +13 -7
- package/dist/auto-reply/reply/model-selection.d.ts +50 -0
- package/dist/auto-reply/reply/model-selection.js +77 -40
- package/dist/auto-reply/reply/normalize-reply.d.ts +13 -0
- package/dist/auto-reply/reply/normalize-reply.js +16 -7
- package/dist/auto-reply/reply/provider-dispatcher.d.ts +19 -0
- package/dist/auto-reply/reply/queue/cleanup.d.ts +6 -0
- package/dist/auto-reply/reply/queue/cleanup.js +2 -1
- package/dist/auto-reply/reply/queue/directive.d.ts +15 -0
- package/dist/auto-reply/reply/queue/directive.js +24 -12
- package/dist/auto-reply/reply/queue/drain.d.ts +2 -0
- package/dist/auto-reply/reply/queue/drain.js +12 -6
- package/dist/auto-reply/reply/queue/enqueue.d.ts +3 -0
- package/dist/auto-reply/reply/queue/enqueue.js +10 -5
- package/dist/auto-reply/reply/queue/normalize.d.ts +3 -0
- package/dist/auto-reply/reply/queue/normalize.js +22 -11
- package/dist/auto-reply/reply/queue/settings.d.ts +2 -0
- package/dist/auto-reply/reply/queue/settings.js +4 -2
- package/dist/auto-reply/reply/queue/state.d.ts +19 -0
- package/dist/auto-reply/reply/queue/state.js +4 -2
- package/dist/auto-reply/reply/queue/types.d.ts +84 -0
- package/dist/auto-reply/reply/queue.d.ts +8 -0
- package/dist/auto-reply/reply/reply-directives.d.ts +14 -0
- package/dist/auto-reply/reply/reply-dispatcher.d.ts +49 -0
- package/dist/auto-reply/reply/reply-dispatcher.js +18 -6
- package/dist/auto-reply/reply/reply-elevated.d.ts +23 -0
- package/dist/auto-reply/reply/reply-elevated.js +40 -21
- package/dist/auto-reply/reply/reply-inline.d.ts +8 -0
- package/dist/auto-reply/reply/reply-inline.js +8 -4
- package/dist/auto-reply/reply/reply-payloads.d.ts +22 -0
- package/dist/auto-reply/reply/reply-payloads.js +18 -9
- package/dist/auto-reply/reply/reply-reference.d.ts +20 -0
- package/dist/auto-reply/reply/reply-reference.js +6 -3
- package/dist/auto-reply/reply/reply-tags.d.ts +6 -0
- package/dist/auto-reply/reply/reply-threading.d.ts +9 -0
- package/dist/auto-reply/reply/reply-threading.js +8 -4
- package/dist/auto-reply/reply/response-prefix-template.d.ts +51 -0
- package/dist/auto-reply/reply/response-prefix-template.js +4 -2
- package/dist/auto-reply/reply/route-reply.d.ts +56 -0
- package/dist/auto-reply/reply/route-reply.js +4 -2
- package/dist/auto-reply/reply/session-reset-model.d.ts +24 -0
- package/dist/auto-reply/reply/session-reset-model.js +25 -13
- package/dist/auto-reply/reply/session-updates.d.ts +34 -0
- package/dist/auto-reply/reply/session-updates.js +33 -17
- package/dist/auto-reply/reply/session-usage.d.ts +13 -0
- package/dist/auto-reply/reply/session-usage.js +2 -1
- package/dist/auto-reply/reply/session.d.ts +26 -0
- package/dist/auto-reply/reply/session.js +12 -8
- package/dist/auto-reply/reply/stage-sandbox-media.d.ts +9 -0
- package/dist/auto-reply/reply/stage-sandbox-media.js +40 -12
- package/dist/auto-reply/reply/streaming-directives.d.ts +10 -0
- package/dist/auto-reply/reply/streaming-directives.js +4 -2
- package/dist/auto-reply/reply/subagents-utils.d.ts +9 -0
- package/dist/auto-reply/reply/subagents-utils.js +19 -10
- package/dist/auto-reply/reply/test-ctx.d.ts +2 -0
- package/dist/auto-reply/reply/typing-mode.d.ts +27 -0
- package/dist/auto-reply/reply/typing-mode.js +22 -11
- package/dist/auto-reply/reply/typing.d.ts +17 -0
- package/dist/auto-reply/reply/typing.js +40 -20
- package/dist/auto-reply/reply.d.ts +6 -0
- package/dist/auto-reply/send-policy.d.ts +6 -0
- package/dist/auto-reply/send-policy.js +14 -7
- package/dist/auto-reply/skill-commands.d.ts +18 -0
- package/dist/auto-reply/skill-commands.js +27 -14
- package/dist/auto-reply/status.d.ts +53 -0
- package/dist/auto-reply/status.js +68 -36
- package/dist/auto-reply/templating.d.ts +132 -0
- package/dist/auto-reply/templating.js +10 -5
- package/dist/auto-reply/thinking.d.ts +22 -0
- package/dist/auto-reply/thinking.js +82 -41
- package/dist/auto-reply/tokens.d.ts +3 -0
- package/dist/auto-reply/tokens.js +4 -2
- package/dist/auto-reply/tool-meta.d.ts +8 -0
- package/dist/auto-reply/tool-meta.js +30 -15
- package/dist/auto-reply/types.d.ts +55 -0
- package/dist/browser/bridge-server.d.ts +17 -0
- package/dist/browser/bridge-server.js +2 -1
- package/dist/browser/cdp.d.ts +123 -0
- package/dist/browser/cdp.helpers.d.ts +9 -0
- package/dist/browser/cdp.helpers.js +12 -6
- package/dist/browser/cdp.js +30 -15
- package/dist/browser/chrome.d.ts +20 -0
- package/dist/browser/chrome.executables.d.ts +9 -0
- package/dist/browser/chrome.executables.js +98 -49
- package/dist/browser/chrome.js +34 -24
- package/dist/browser/chrome.profile-decoration.d.ts +10 -0
- package/dist/browser/chrome.profile-decoration.js +11 -8
- package/dist/browser/client-actions-core.d.ts +143 -0
- package/dist/browser/client-actions-core.js +2 -1
- package/dist/browser/client-actions-observe.d.ts +68 -0
- package/dist/browser/client-actions-observe.js +22 -11
- package/dist/browser/client-actions-state.d.ts +90 -0
- package/dist/browser/client-actions-state.js +12 -6
- package/dist/browser/client-actions-types.d.ts +18 -0
- package/dist/browser/client-actions.d.ts +4 -0
- package/dist/browser/client-fetch.d.ts +3 -0
- package/dist/browser/client-fetch.js +3 -3
- package/dist/browser/client.d.ts +147 -0
- package/dist/browser/client.js +24 -12
- package/dist/browser/config.d.ts +39 -0
- package/dist/browser/config.js +24 -18
- package/dist/browser/constants.d.ts +8 -0
- package/dist/browser/constants.js +3 -3
- package/dist/browser/control-service.d.ts +5 -0
- package/dist/browser/control-service.js +9 -5
- package/dist/browser/extension-relay.d.ts +14 -0
- package/dist/browser/extension-relay.js +51 -27
- package/dist/browser/profiles-service.d.ts +25 -0
- package/dist/browser/profiles-service.js +5 -4
- package/dist/browser/profiles.d.ts +30 -0
- package/dist/browser/profiles.js +13 -7
- package/dist/browser/pw-ai-module.d.ts +6 -0
- package/dist/browser/pw-ai-module.js +10 -5
- package/dist/browser/pw-ai.d.ts +2 -0
- package/dist/browser/pw-role-snapshot.d.ts +35 -0
- package/dist/browser/pw-role-snapshot.js +60 -30
- package/dist/browser/pw-session.d.ts +135 -0
- package/dist/browser/pw-session.js +52 -26
- package/dist/browser/pw-tools-core.activity.d.ts +21 -0
- package/dist/browser/pw-tools-core.activity.js +4 -2
- package/dist/browser/pw-tools-core.d.ts +8 -0
- package/dist/browser/pw-tools-core.downloads.d.ts +34 -0
- package/dist/browser/pw-tools-core.downloads.js +19 -10
- package/dist/browser/pw-tools-core.interactions.d.ts +112 -0
- package/dist/browser/pw-tools-core.interactions.js +21 -13
- package/dist/browser/pw-tools-core.responses.d.ts +13 -0
- package/dist/browser/pw-tools-core.responses.js +18 -10
- package/dist/browser/pw-tools-core.shared.d.ts +6 -0
- package/dist/browser/pw-tools-core.shared.js +2 -1
- package/dist/browser/pw-tools-core.snapshot.d.ts +64 -0
- package/dist/browser/pw-tools-core.snapshot.js +2 -1
- package/dist/browser/pw-tools-core.state.d.ts +46 -0
- package/dist/browser/pw-tools-core.state.js +13 -7
- package/dist/browser/pw-tools-core.storage.d.ts +47 -0
- package/dist/browser/pw-tools-core.storage.js +6 -3
- package/dist/browser/pw-tools-core.trace.d.ts +12 -0
- package/dist/browser/routes/agent.act.d.ts +3 -0
- package/dist/browser/routes/agent.act.js +80 -41
- package/dist/browser/routes/agent.act.shared.d.ts +10 -0
- package/dist/browser/routes/agent.act.shared.js +4 -2
- package/dist/browser/routes/agent.d.ts +3 -0
- package/dist/browser/routes/agent.debug.d.ts +3 -0
- package/dist/browser/routes/agent.debug.js +21 -11
- package/dist/browser/routes/agent.shared.d.ts +9 -0
- package/dist/browser/routes/agent.shared.js +6 -3
- package/dist/browser/routes/agent.snapshot.d.ts +3 -0
- package/dist/browser/routes/agent.snapshot.js +22 -11
- package/dist/browser/routes/agent.storage.d.ts +3 -0
- package/dist/browser/routes/agent.storage.js +80 -40
- package/dist/browser/routes/basic.d.ts +3 -0
- package/dist/browser/routes/basic.js +4 -2
- package/dist/browser/routes/dispatcher.d.ts +15 -0
- package/dist/browser/routes/dispatcher.js +4 -2
- package/dist/browser/routes/index.d.ts +3 -0
- package/dist/browser/routes/tabs.d.ts +3 -0
- package/dist/browser/routes/tabs.js +36 -18
- package/dist/browser/routes/types.d.ts +15 -0
- package/dist/browser/routes/utils.d.ts +15 -0
- package/dist/browser/routes/utils.js +6 -3
- package/dist/browser/screenshot.d.ts +9 -0
- package/dist/browser/screenshot.js +1 -1
- package/dist/browser/server-context.d.ts +3 -0
- package/dist/browser/server-context.js +45 -27
- package/dist/browser/server-context.types.d.ts +78 -0
- package/dist/browser/server.d.ts +3 -0
- package/dist/browser/server.js +12 -7
- package/dist/browser/target-id.d.ts +11 -0
- package/dist/browser/target-id.js +8 -4
- package/dist/browser/trash.d.ts +1 -0
- package/dist/build-info.json +3 -3
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/canvas-host/a2ui/a2ui.bundle.js +38 -28
- package/dist/canvas-host/a2ui/index.html +28 -28
- package/dist/canvas-host/a2ui.d.ts +6 -0
- package/dist/canvas-host/a2ui.js +24 -22
- package/dist/canvas-host/server.d.ts +36 -0
- package/dist/canvas-host/server.js +72 -53
- package/dist/channels/ack-reactions.d.ts +29 -0
- package/dist/channels/ack-reactions.js +32 -16
- package/dist/channels/allowlist-match.d.ts +10 -0
- package/dist/channels/allowlists/resolve-utils.d.ts +6 -0
- package/dist/channels/allowlists/resolve-utils.js +4 -2
- package/dist/channels/channel-config.d.ts +39 -0
- package/dist/channels/channel-config.js +14 -7
- package/dist/channels/chat-type.d.ts +2 -0
- package/dist/channels/chat-type.js +8 -4
- package/dist/channels/command-gating.d.ts +20 -0
- package/dist/channels/command-gating.js +6 -3
- package/dist/channels/conversation-label.d.ts +2 -0
- package/dist/channels/conversation-label.js +24 -12
- package/dist/channels/dock.d.ts +36 -0
- package/dist/channels/dock.js +14 -8
- package/dist/channels/location.d.ts +21 -0
- package/dist/channels/location.js +2 -1
- package/dist/channels/logging.d.ts +20 -0
- package/dist/channels/mention-gating.d.ts +27 -0
- package/dist/channels/plugins/actions/discord/handle-action.d.ts +3 -0
- package/dist/channels/plugins/actions/discord/handle-action.guild-admin.d.ts +9 -0
- package/dist/channels/plugins/actions/discord/handle-action.js +7 -4
- package/dist/channels/plugins/actions/discord.d.ts +2 -0
- package/dist/channels/plugins/actions/discord.js +22 -11
- package/dist/channels/plugins/actions/signal.d.ts +2 -0
- package/dist/channels/plugins/actions/signal.js +16 -8
- package/dist/channels/plugins/actions/telegram.d.ts +2 -0
- package/dist/channels/plugins/actions/telegram.js +18 -9
- package/dist/channels/plugins/agent-tools/whatsapp-login.d.ts +2 -0
- package/dist/channels/plugins/allowlist-match.d.ts +2 -0
- package/dist/channels/plugins/bluebubbles-actions.d.ts +48 -0
- package/dist/channels/plugins/catalog.d.ts +35 -0
- package/dist/channels/plugins/catalog.js +34 -21
- package/dist/channels/plugins/channel-config.d.ts +2 -0
- package/dist/channels/plugins/config-helpers.d.ts +14 -0
- package/dist/channels/plugins/config-helpers.js +5 -3
- package/dist/channels/plugins/config-schema.d.ts +3 -0
- package/dist/channels/plugins/config-writes.d.ts +7 -0
- package/dist/channels/plugins/config-writes.js +8 -4
- package/dist/channels/plugins/directory-config.d.ts +16 -0
- package/dist/channels/plugins/directory-config.js +28 -15
- package/dist/channels/plugins/group-mentions.d.ts +28 -0
- package/dist/channels/plugins/group-mentions.js +36 -18
- package/dist/channels/plugins/helpers.d.ts +8 -0
- package/dist/channels/plugins/helpers.js +2 -2
- package/dist/channels/plugins/index.d.ts +8 -0
- package/dist/channels/plugins/index.js +8 -5
- package/dist/channels/plugins/load.d.ts +2 -0
- package/dist/channels/plugins/load.js +4 -2
- package/dist/channels/plugins/media-limits.d.ts +9 -0
- package/dist/channels/plugins/media-limits.js +2 -1
- package/dist/channels/plugins/message-action-names.d.ts +2 -0
- package/dist/channels/plugins/message-actions.d.ts +7 -0
- package/dist/channels/plugins/message-actions.js +10 -5
- package/dist/channels/plugins/normalize/discord.d.ts +2 -0
- package/dist/channels/plugins/normalize/discord.js +8 -4
- package/dist/channels/plugins/normalize/imessage.d.ts +2 -0
- package/dist/channels/plugins/normalize/imessage.js +14 -7
- package/dist/channels/plugins/normalize/signal.d.ts +2 -0
- package/dist/channels/plugins/normalize/signal.js +12 -6
- package/dist/channels/plugins/normalize/slack.d.ts +2 -0
- package/dist/channels/plugins/normalize/slack.js +10 -5
- package/dist/channels/plugins/normalize/telegram.d.ts +2 -0
- package/dist/channels/plugins/normalize/telegram.js +14 -7
- package/dist/channels/plugins/normalize/whatsapp.d.ts +2 -0
- package/dist/channels/plugins/normalize/whatsapp.js +8 -4
- package/dist/channels/plugins/onboarding/channel-access.d.ts +31 -0
- package/dist/channels/plugins/onboarding/channel-access.js +6 -4
- package/dist/channels/plugins/onboarding/discord.d.ts +2 -0
- package/dist/channels/plugins/onboarding/discord.js +11 -6
- package/dist/channels/plugins/onboarding/helpers.d.ts +3 -0
- package/dist/channels/plugins/onboarding/helpers.js +6 -4
- package/dist/channels/plugins/onboarding/imessage.d.ts +2 -0
- package/dist/channels/plugins/onboarding/imessage.js +13 -7
- package/dist/channels/plugins/onboarding/signal.d.ts +2 -0
- package/dist/channels/plugins/onboarding/signal.js +21 -12
- package/dist/channels/plugins/onboarding/slack.d.ts +2 -0
- package/dist/channels/plugins/onboarding/slack.js +11 -8
- package/dist/channels/plugins/onboarding/telegram.d.ts +2 -0
- package/dist/channels/plugins/onboarding/telegram.js +14 -9
- package/dist/channels/plugins/onboarding/whatsapp.d.ts +2 -0
- package/dist/channels/plugins/onboarding/whatsapp.js +27 -18
- package/dist/channels/plugins/onboarding-types.d.ts +77 -0
- package/dist/channels/plugins/outbound/discord.d.ts +2 -0
- package/dist/channels/plugins/outbound/imessage.d.ts +2 -0
- package/dist/channels/plugins/outbound/load.d.ts +2 -0
- package/dist/channels/plugins/outbound/load.js +4 -2
- package/dist/channels/plugins/outbound/signal.d.ts +2 -0
- package/dist/channels/plugins/outbound/slack.d.ts +2 -0
- package/dist/channels/plugins/outbound/telegram.d.ts +2 -0
- package/dist/channels/plugins/outbound/telegram.js +6 -3
- package/dist/channels/plugins/outbound/whatsapp.d.ts +2 -0
- package/dist/channels/plugins/outbound/whatsapp.js +1 -1
- package/dist/channels/plugins/pairing-message.d.ts +1 -0
- package/dist/channels/plugins/pairing-message.js +1 -1
- package/dist/channels/plugins/pairing.d.ts +16 -0
- package/dist/channels/plugins/pairing.js +2 -1
- package/dist/channels/plugins/setup-helpers.d.ts +13 -0
- package/dist/channels/plugins/setup-helpers.js +10 -5
- package/dist/channels/plugins/slack.actions.d.ts +2 -0
- package/dist/channels/plugins/slack.actions.js +12 -6
- package/dist/channels/plugins/status-issues/bluebubbles.d.ts +2 -0
- package/dist/channels/plugins/status-issues/bluebubbles.js +9 -5
- package/dist/channels/plugins/status-issues/discord.d.ts +2 -0
- package/dist/channels/plugins/status-issues/discord.js +18 -9
- package/dist/channels/plugins/status-issues/shared.d.ts +10 -0
- package/dist/channels/plugins/status-issues/telegram.d.ts +2 -0
- package/dist/channels/plugins/status-issues/telegram.js +14 -7
- package/dist/channels/plugins/status-issues/whatsapp.d.ts +2 -0
- package/dist/channels/plugins/status-issues/whatsapp.js +8 -5
- package/dist/channels/plugins/status.d.ts +10 -0
- package/dist/channels/plugins/types.adapters.d.ts +294 -0
- package/dist/channels/plugins/types.core.d.ts +311 -0
- package/dist/channels/plugins/types.d.ts +6 -0
- package/dist/channels/plugins/types.plugin.d.ts +53 -0
- package/dist/channels/plugins/whatsapp-heartbeat.d.ts +11 -0
- package/dist/channels/plugins/whatsapp-heartbeat.js +5 -3
- package/dist/channels/registry.d.ts +16 -0
- package/dist/channels/registry.js +8 -7
- package/dist/channels/reply-prefix.d.ts +15 -0
- package/dist/channels/sender-identity.d.ts +2 -0
- package/dist/channels/sender-identity.js +4 -2
- package/dist/channels/sender-label.d.ts +9 -0
- package/dist/channels/sender-label.js +14 -7
- package/dist/channels/session.d.ts +18 -0
- package/dist/channels/session.js +2 -1
- package/dist/channels/targets.d.ts +25 -0
- package/dist/channels/typing.d.ts +10 -0
- package/dist/channels/web/index.d.ts +1 -0
- package/dist/cli/acp-cli.d.ts +2 -0
- package/dist/cli/acp-cli.js +2 -2
- package/dist/cli/argv.d.ts +16 -0
- package/dist/cli/argv.js +40 -21
- package/dist/cli/banner.d.ts +12 -0
- package/dist/cli/banner.js +28 -20
- package/dist/cli/browser-cli-actions-input/register.d.ts +3 -0
- package/dist/cli/browser-cli-actions-input/register.element.d.ts +3 -0
- package/dist/cli/browser-cli-actions-input/register.element.js +6 -3
- package/dist/cli/browser-cli-actions-input/register.files-downloads.d.ts +3 -0
- package/dist/cli/browser-cli-actions-input/register.files-downloads.js +2 -2
- package/dist/cli/browser-cli-actions-input/register.form-wait-eval.d.ts +3 -0
- package/dist/cli/browser-cli-actions-input/register.navigation.d.ts +3 -0
- package/dist/cli/browser-cli-actions-input/shared.d.ts +19 -0
- package/dist/cli/browser-cli-actions-input/shared.js +4 -2
- package/dist/cli/browser-cli-actions-input.d.ts +1 -0
- package/dist/cli/browser-cli-actions-observe.d.ts +3 -0
- package/dist/cli/browser-cli-actions-observe.js +1 -1
- package/dist/cli/browser-cli-debug.d.ts +3 -0
- package/dist/cli/browser-cli-debug.js +1 -1
- package/dist/cli/browser-cli-examples.d.ts +2 -0
- package/dist/cli/browser-cli-examples.js +29 -29
- package/dist/cli/browser-cli-extension.d.ts +10 -0
- package/dist/cli/browser-cli-extension.js +8 -7
- package/dist/cli/browser-cli-inspect.d.ts +3 -0
- package/dist/cli/browser-cli-manage.d.ts +3 -0
- package/dist/cli/browser-cli-manage.js +4 -4
- package/dist/cli/browser-cli-shared.d.ts +16 -0
- package/dist/cli/browser-cli-shared.js +4 -2
- package/dist/cli/browser-cli-state.cookies-storage.d.ts +3 -0
- package/dist/cli/browser-cli-state.d.ts +3 -0
- package/dist/cli/browser-cli-state.js +2 -1
- package/dist/cli/browser-cli.d.ts +2 -0
- package/dist/cli/browser-cli.js +5 -5
- package/dist/cli/channel-auth.d.ts +9 -0
- package/dist/cli/channel-options.d.ts +2 -0
- package/dist/cli/channel-options.js +4 -3
- package/dist/cli/channels-cli.d.ts +2 -0
- package/dist/cli/channels-cli.js +2 -2
- package/dist/cli/cli-name.d.ts +3 -0
- package/dist/cli/cli-name.js +12 -12
- package/dist/cli/cli-utils.d.ts +18 -0
- package/dist/cli/cli-utils.js +11 -0
- package/dist/cli/command-format.d.ts +1 -0
- package/dist/cli/command-format.js +8 -6
- package/dist/cli/command-options.d.ts +2 -0
- package/dist/cli/completion-cli.d.ts +3 -0
- package/dist/cli/completion-cli.js +372 -0
- package/dist/cli/config-cli.d.ts +2 -0
- package/dist/cli/config-cli.js +46 -25
- package/dist/cli/cron-cli/register.cron-add.d.ts +4 -0
- package/dist/cli/cron-cli/register.cron-add.js +9 -5
- package/dist/cli/cron-cli/register.cron-edit.d.ts +2 -0
- package/dist/cli/cron-cli/register.cron-edit.js +27 -14
- package/dist/cli/cron-cli/register.cron-simple.d.ts +2 -0
- package/dist/cli/cron-cli/register.d.ts +2 -0
- package/dist/cli/cron-cli/register.js +1 -1
- package/dist/cli/cron-cli/shared.d.ts +7 -0
- package/dist/cli/cron-cli/shared.js +50 -25
- package/dist/cli/cron-cli.d.ts +1 -0
- package/dist/cli/daemon-cli/install.d.ts +2 -0
- package/dist/cli/daemon-cli/install.js +9 -6
- package/dist/cli/daemon-cli/lifecycle.d.ts +10 -0
- package/dist/cli/daemon-cli/lifecycle.js +25 -13
- package/dist/cli/daemon-cli/probe.d.ts +14 -0
- package/dist/cli/daemon-cli/register.d.ts +2 -0
- package/dist/cli/daemon-cli/register.js +1 -1
- package/dist/cli/daemon-cli/response.d.ts +26 -0
- package/dist/cli/daemon-cli/runners.d.ts +3 -0
- package/dist/cli/daemon-cli/shared.d.ts +22 -0
- package/dist/cli/daemon-cli/shared.js +51 -33
- package/dist/cli/daemon-cli/status.d.ts +2 -0
- package/dist/cli/daemon-cli/status.gather.d.ts +89 -0
- package/dist/cli/daemon-cli/status.gather.js +9 -9
- package/dist/cli/daemon-cli/status.print.d.ts +4 -0
- package/dist/cli/daemon-cli/status.print.js +13 -19
- package/dist/cli/daemon-cli/types.d.ts +23 -0
- package/dist/cli/daemon-cli.d.ts +3 -0
- package/dist/cli/deps.d.ts +18 -0
- package/dist/cli/devices-cli.d.ts +2 -0
- package/dist/cli/devices-cli.js +10 -6
- package/dist/cli/directory-cli.d.ts +2 -0
- package/dist/cli/directory-cli.js +22 -12
- package/dist/cli/dns-cli.d.ts +2 -0
- package/dist/cli/dns-cli.js +30 -18
- package/dist/cli/docs-cli.d.ts +2 -0
- package/dist/cli/docs-cli.js +2 -2
- package/dist/cli/exec-approvals-cli.d.ts +2 -0
- package/dist/cli/exec-approvals-cli.js +17 -11
- package/dist/cli/gateway-cli/call.d.ts +11 -0
- package/dist/cli/gateway-cli/dev.d.ts +3 -0
- package/dist/cli/gateway-cli/dev.js +15 -9
- package/dist/cli/gateway-cli/discover.d.ts +10 -0
- package/dist/cli/gateway-cli/discover.js +6 -3
- package/dist/cli/gateway-cli/register.d.ts +2 -0
- package/dist/cli/gateway-cli/register.js +38 -20
- package/dist/cli/gateway-cli/run-loop.d.ts +6 -0
- package/dist/cli/gateway-cli/run.d.ts +2 -0
- package/dist/cli/gateway-cli/run.js +13 -12
- package/dist/cli/gateway-cli/shared.d.ts +9 -0
- package/dist/cli/gateway-cli/shared.js +25 -15
- package/dist/cli/gateway-cli.d.ts +1 -0
- package/dist/cli/gateway-rpc.d.ts +13 -0
- package/dist/cli/help-format.d.ts +5 -0
- package/dist/cli/help-format.js +2 -1
- package/dist/cli/hooks-cli.d.ts +32 -0
- package/dist/cli/hooks-cli.js +25 -16
- package/dist/cli/logs-cli.d.ts +2 -0
- package/dist/cli/logs-cli.js +19 -11
- package/dist/cli/memory-cli.d.ts +11 -0
- package/dist/cli/memory-cli.js +63 -19
- package/dist/cli/models-cli.d.ts +2 -0
- package/dist/cli/models-cli.js +21 -9
- package/dist/cli/node-cli/daemon.d.ts +24 -0
- package/dist/cli/node-cli/daemon.js +37 -21
- package/dist/cli/node-cli/register.d.ts +2 -0
- package/dist/cli/node-cli/register.js +4 -4
- package/dist/cli/node-cli.d.ts +1 -0
- package/dist/cli/nodes-camera.d.ts +26 -0
- package/dist/cli/nodes-canvas.d.ts +10 -0
- package/dist/cli/nodes-cli/a2ui-jsonl.d.ts +6 -0
- package/dist/cli/nodes-cli/a2ui-jsonl.js +2 -1
- package/dist/cli/nodes-cli/cli-utils.d.ts +9 -0
- package/dist/cli/nodes-cli/cli-utils.js +2 -1
- package/dist/cli/nodes-cli/format.d.ts +5 -0
- package/dist/cli/nodes-cli/format.js +11 -6
- package/dist/cli/nodes-cli/register.camera.d.ts +2 -0
- package/dist/cli/nodes-cli/register.camera.js +8 -7
- package/dist/cli/nodes-cli/register.canvas.d.ts +2 -0
- package/dist/cli/nodes-cli/register.canvas.js +9 -6
- package/dist/cli/nodes-cli/register.d.ts +2 -0
- package/dist/cli/nodes-cli/register.invoke.d.ts +2 -0
- package/dist/cli/nodes-cli/register.invoke.js +20 -13
- package/dist/cli/nodes-cli/register.js +1 -1
- package/dist/cli/nodes-cli/register.location.d.ts +2 -0
- package/dist/cli/nodes-cli/register.location.js +1 -1
- package/dist/cli/nodes-cli/register.notify.d.ts +2 -0
- package/dist/cli/nodes-cli/register.pairing.d.ts +2 -0
- package/dist/cli/nodes-cli/register.pairing.js +3 -3
- package/dist/cli/nodes-cli/register.screen.d.ts +2 -0
- package/dist/cli/nodes-cli/register.screen.js +2 -2
- package/dist/cli/nodes-cli/register.status.d.ts +2 -0
- package/dist/cli/nodes-cli/register.status.js +51 -35
- package/dist/cli/nodes-cli/rpc.d.ts +8 -0
- package/dist/cli/nodes-cli/rpc.js +14 -8
- package/dist/cli/nodes-cli/types.d.ts +92 -0
- package/dist/cli/nodes-cli.d.ts +1 -0
- package/dist/cli/nodes-run.d.ts +3 -0
- package/dist/cli/nodes-run.js +8 -4
- package/dist/cli/nodes-screen.d.ts +18 -0
- package/dist/cli/nodes-screen.js +1 -1
- package/dist/cli/outbound-send-deps.d.ts +10 -0
- package/dist/cli/pairing-cli.d.ts +2 -0
- package/dist/cli/pairing-cli.js +10 -7
- package/dist/cli/parse-duration.d.ts +4 -0
- package/dist/cli/parse-duration.js +6 -3
- package/dist/cli/parse-timeout.d.ts +1 -0
- package/dist/cli/parse-timeout.js +4 -2
- package/dist/cli/plugin-registry.d.ts +1 -0
- package/dist/cli/plugin-registry.js +4 -3
- package/dist/cli/plugins-cli.d.ts +14 -0
- package/dist/cli/plugins-cli.js +27 -15
- package/dist/cli/ports.d.ts +20 -0
- package/dist/cli/ports.js +10 -7
- package/dist/cli/profile-utils.d.ts +2 -0
- package/dist/cli/profile-utils.js +8 -4
- package/dist/cli/profile.d.ts +14 -0
- package/dist/cli/profile.js +20 -14
- package/dist/cli/program/build-program.d.ts +2 -0
- package/dist/cli/program/build-program.js +1 -1
- package/dist/cli/program/command-registry.d.ts +21 -0
- package/dist/cli/program/command-registry.js +14 -7
- package/dist/cli/program/config-guard.d.ts +5 -0
- package/dist/cli/program/config-guard.js +5 -4
- package/dist/cli/program/context.d.ts +7 -0
- package/dist/cli/program/help.d.ts +3 -0
- package/dist/cli/program/help.js +18 -13
- package/dist/cli/program/helpers.d.ts +3 -0
- package/dist/cli/program/helpers.js +8 -4
- package/dist/cli/program/message/helpers.d.ts +8 -0
- package/dist/cli/program/message/helpers.js +1 -1
- package/dist/cli/program/message/register.broadcast.d.ts +3 -0
- package/dist/cli/program/message/register.discord-admin.d.ts +3 -0
- package/dist/cli/program/message/register.emoji-sticker.d.ts +4 -0
- package/dist/cli/program/message/register.permissions-search.d.ts +4 -0
- package/dist/cli/program/message/register.pins.d.ts +3 -0
- package/dist/cli/program/message/register.poll.d.ts +3 -0
- package/dist/cli/program/message/register.reactions.d.ts +3 -0
- package/dist/cli/program/message/register.read-edit-delete.d.ts +3 -0
- package/dist/cli/program/message/register.send.d.ts +3 -0
- package/dist/cli/program/message/register.thread.d.ts +3 -0
- package/dist/cli/program/preaction.d.ts +2 -0
- package/dist/cli/program/preaction.js +13 -9
- package/dist/cli/program/register.agent.d.ts +4 -0
- package/dist/cli/program/register.agent.js +17 -14
- package/dist/cli/program/register.configure.d.ts +2 -0
- package/dist/cli/program/register.configure.js +1 -1
- package/dist/cli/program/register.maintenance.d.ts +2 -0
- package/dist/cli/program/register.maintenance.js +4 -4
- package/dist/cli/program/register.message.d.ts +3 -0
- package/dist/cli/program/register.message.js +6 -6
- package/dist/cli/program/register.onboard.d.ts +2 -0
- package/dist/cli/program/register.onboard.js +12 -7
- package/dist/cli/program/register.setup.d.ts +2 -0
- package/dist/cli/program/register.setup.js +4 -4
- package/dist/cli/program/register.status-health-sessions.d.ts +2 -0
- package/dist/cli/program/register.status-health-sessions.js +13 -13
- package/dist/cli/program/register.subclis.d.ts +11 -0
- package/dist/cli/program/register.subclis.js +25 -5
- package/dist/cli/program.d.ts +2 -0
- package/dist/cli/progress.d.ts +24 -0
- package/dist/cli/progress.js +31 -16
- package/dist/cli/prompt.d.ts +1 -0
- package/dist/cli/prompt.js +7 -4
- package/dist/cli/route.d.ts +1 -0
- package/dist/cli/route.js +12 -8
- package/dist/cli/run-main.d.ts +3 -0
- package/dist/cli/run-main.js +16 -10
- package/dist/cli/sandbox-cli.d.ts +2 -0
- package/dist/cli/sandbox-cli.js +20 -20
- package/dist/cli/security-cli.d.ts +2 -0
- package/dist/cli/security-cli.js +21 -13
- package/dist/cli/skills-cli.d.ts +29 -0
- package/dist/cli/skills-cli.js +17 -13
- package/dist/cli/system-cli.d.ts +2 -0
- package/dist/cli/system-cli.js +11 -6
- package/dist/cli/tagline.d.ts +12 -0
- package/dist/cli/tagline.js +22 -15
- package/dist/cli/tui-cli.d.ts +2 -0
- package/dist/cli/tui-cli.js +1 -1
- package/dist/cli/update-cli.d.ts +20 -0
- package/dist/cli/update-cli.js +97 -74
- package/dist/cli/wait.d.ts +1 -0
- package/dist/cli/webhooks-cli.d.ts +2 -0
- package/dist/cli/webhooks-cli.js +17 -12
- package/dist/commands/agent/delivery.d.ts +19 -0
- package/dist/commands/agent/delivery.js +27 -14
- package/dist/commands/agent/run-context.d.ts +2 -0
- package/dist/commands/agent/run-context.js +10 -5
- package/dist/commands/agent/session-store.d.ts +17 -0
- package/dist/commands/agent/session-store.js +2 -1
- package/dist/commands/agent/session.d.ts +33 -0
- package/dist/commands/agent/session.js +2 -1
- package/dist/commands/agent/types.d.ts +75 -0
- package/dist/commands/agent-via-gateway.d.ts +42 -0
- package/dist/commands/agent-via-gateway.js +12 -8
- package/dist/commands/agent.d.ts +7 -0
- package/dist/commands/agent.js +12 -9
- package/dist/commands/agents.bindings.d.ts +27 -0
- package/dist/commands/agents.bindings.js +14 -7
- package/dist/commands/agents.command-shared.d.ts +4 -0
- package/dist/commands/agents.command-shared.js +1 -1
- package/dist/commands/agents.commands.add.d.ts +14 -0
- package/dist/commands/agents.commands.add.js +11 -7
- package/dist/commands/agents.commands.delete.d.ts +8 -0
- package/dist/commands/agents.commands.delete.js +4 -2
- package/dist/commands/agents.commands.identity.d.ts +14 -0
- package/dist/commands/agents.commands.identity.js +12 -6
- package/dist/commands/agents.commands.list.d.ts +7 -0
- package/dist/commands/agents.commands.list.js +12 -7
- package/dist/commands/agents.config.d.ts +37 -0
- package/dist/commands/agents.config.js +8 -4
- package/dist/commands/agents.d.ts +6 -0
- package/dist/commands/agents.providers.d.ts +20 -0
- package/dist/commands/agents.providers.js +12 -6
- package/dist/commands/auth-choice-options.d.ts +25 -0
- package/dist/commands/auth-choice-options.js +49 -34
- package/dist/commands/auth-choice-prompt.d.ts +8 -0
- package/dist/commands/auth-choice-prompt.js +2 -2
- package/dist/commands/auth-choice.api-key.d.ts +6 -0
- package/dist/commands/auth-choice.api-key.js +4 -2
- package/dist/commands/auth-choice.apply.anthropic.d.ts +2 -0
- package/dist/commands/auth-choice.apply.api-providers.d.ts +2 -0
- package/dist/commands/auth-choice.apply.api-providers.js +69 -16
- package/dist/commands/auth-choice.apply.copilot-proxy.d.ts +2 -0
- package/dist/commands/auth-choice.apply.d.ts +22 -0
- package/dist/commands/auth-choice.apply.github-copilot.d.ts +2 -0
- package/dist/commands/auth-choice.apply.github-copilot.js +2 -1
- package/dist/commands/auth-choice.apply.google-antigravity.d.ts +2 -0
- package/dist/commands/auth-choice.apply.google-gemini-cli.d.ts +2 -0
- package/dist/commands/auth-choice.apply.js +2 -1
- package/dist/commands/auth-choice.apply.minimax.d.ts +2 -0
- package/dist/commands/auth-choice.apply.minimax.js +20 -1
- package/dist/commands/auth-choice.apply.oauth.d.ts +2 -0
- package/dist/commands/auth-choice.apply.oauth.js +2 -2
- package/dist/commands/auth-choice.apply.openai.d.ts +2 -0
- package/dist/commands/auth-choice.apply.openai.js +4 -3
- package/dist/commands/auth-choice.apply.plugin-provider.d.ts +9 -0
- package/dist/commands/auth-choice.apply.plugin-provider.js +8 -6
- package/dist/commands/auth-choice.apply.qwen-portal.d.ts +2 -0
- package/dist/commands/auth-choice.d.ts +3 -0
- package/dist/commands/auth-choice.default-model.d.ts +15 -0
- package/dist/commands/auth-choice.model-check.d.ts +6 -0
- package/dist/commands/auth-choice.preferred-provider.d.ts +2 -0
- package/dist/commands/auth-choice.preferred-provider.js +3 -1
- package/dist/commands/auth-token.d.ts +9 -0
- package/dist/commands/auth-token.js +4 -2
- package/dist/commands/channels/add-mutators.d.ts +46 -0
- package/dist/commands/channels/add-mutators.js +2 -1
- package/dist/commands/channels/add.d.ts +39 -0
- package/dist/commands/channels/add.js +10 -5
- package/dist/commands/channels/capabilities.d.ts +9 -0
- package/dist/commands/channels/capabilities.js +51 -26
- package/dist/commands/channels/list.d.ts +6 -0
- package/dist/commands/channels/list.js +8 -4
- package/dist/commands/channels/logs.d.ts +7 -0
- package/dist/commands/channels/logs.js +15 -8
- package/dist/commands/channels/remove.d.ts +9 -0
- package/dist/commands/channels/remove.js +8 -6
- package/dist/commands/channels/resolve.d.ts +9 -0
- package/dist/commands/channels/resolve.js +15 -8
- package/dist/commands/channels/shared.d.ts +20 -0
- package/dist/commands/channels/shared.js +3 -2
- package/dist/commands/channels/status.d.ts +8 -0
- package/dist/commands/channels/status.js +18 -10
- package/dist/commands/channels.d.ts +14 -0
- package/dist/commands/chutes-oauth.d.ts +21 -0
- package/dist/commands/chutes-oauth.js +15 -8
- package/dist/commands/cleanup-utils.d.ts +13 -0
- package/dist/commands/cleanup-utils.js +8 -4
- package/dist/commands/configure.channels.d.ts +3 -0
- package/dist/commands/configure.channels.js +6 -4
- package/dist/commands/configure.commands.d.ts +4 -0
- package/dist/commands/configure.d.ts +4 -0
- package/dist/commands/configure.daemon.d.ts +8 -0
- package/dist/commands/configure.daemon.js +6 -5
- package/dist/commands/configure.gateway-auth.d.ts +12 -0
- package/dist/commands/configure.gateway-auth.js +3 -2
- package/dist/commands/configure.gateway.d.ts +7 -0
- package/dist/commands/configure.gateway.js +9 -6
- package/dist/commands/configure.shared.d.ts +18 -0
- package/dist/commands/configure.wizard.d.ts +3 -0
- package/dist/commands/configure.wizard.js +25 -24
- package/dist/commands/daemon-install-helpers.d.ts +22 -0
- package/dist/commands/daemon-install-helpers.js +6 -5
- package/dist/commands/daemon-runtime.d.ts +8 -0
- package/dist/commands/dashboard.d.ts +6 -0
- package/dist/commands/dashboard.js +2 -2
- package/dist/commands/docs.d.ts +2 -0
- package/dist/commands/docs.js +18 -12
- package/dist/commands/doctor-auth.d.ts +9 -0
- package/dist/commands/doctor-auth.js +28 -17
- package/dist/commands/doctor-config-flow.d.ts +13 -0
- package/dist/commands/doctor-config-flow.js +76 -43
- package/dist/commands/doctor-format.d.ts +8 -0
- package/dist/commands/doctor-format.js +22 -14
- package/dist/commands/doctor-gateway-daemon-flow.d.ts +11 -0
- package/dist/commands/doctor-gateway-daemon-flow.js +27 -16
- package/dist/commands/doctor-gateway-health.d.ts +9 -0
- package/dist/commands/doctor-gateway-health.js +1 -1
- package/dist/commands/doctor-gateway-services.d.ts +5 -0
- package/dist/commands/doctor-gateway-services.js +92 -75
- package/dist/commands/doctor-install.d.ts +1 -0
- package/dist/commands/doctor-install.js +4 -2
- package/dist/commands/doctor-legacy-config.d.ts +5 -0
- package/dist/commands/doctor-platform-notes.d.ts +11 -0
- package/dist/commands/doctor-platform-notes.js +61 -13
- package/dist/commands/doctor-prompter.d.ts +24 -0
- package/dist/commands/doctor-prompter.js +26 -15
- package/dist/commands/doctor-sandbox.d.ts +5 -0
- package/dist/commands/doctor-sandbox.js +16 -10
- package/dist/commands/doctor-security.d.ts +2 -0
- package/dist/commands/doctor-security.js +16 -12
- package/dist/commands/doctor-state-integrity.d.ts +10 -0
- package/dist/commands/doctor-state-integrity.js +40 -22
- package/dist/commands/doctor-state-migrations.d.ts +2 -0
- package/dist/commands/doctor-ui.d.ts +3 -0
- package/dist/commands/doctor-ui.js +6 -4
- package/dist/commands/doctor-update.d.ts +18 -0
- package/dist/commands/doctor-update.js +13 -10
- package/dist/commands/doctor-workspace-status.d.ts +4 -0
- package/dist/commands/doctor-workspace-status.js +2 -2
- package/dist/commands/doctor-workspace.d.ts +10 -0
- package/dist/commands/doctor-workspace.js +7 -28
- package/dist/commands/doctor.d.ts +3 -0
- package/dist/commands/doctor.js +15 -14
- package/dist/commands/gateway-status/helpers.d.ts +72 -0
- package/dist/commands/gateway-status/helpers.js +26 -14
- package/dist/commands/gateway-status.d.ts +11 -0
- package/dist/commands/gateway-status.js +39 -18
- package/dist/commands/google-gemini-model-default.d.ts +6 -0
- package/dist/commands/google-gemini-model-default.js +2 -1
- package/dist/commands/health-format.d.ts +3 -0
- package/dist/commands/health-format.js +4 -2
- package/dist/commands/health.d.ts +63 -0
- package/dist/commands/health.js +70 -37
- package/dist/commands/message-format.d.ts +11 -0
- package/dist/commands/message-format.js +34 -17
- package/dist/commands/message.d.ts +3 -0
- package/dist/commands/model-picker.d.ts +31 -0
- package/dist/commands/model-picker.js +69 -35
- package/dist/commands/models/aliases.d.ts +7 -0
- package/dist/commands/models/aliases.js +2 -1
- package/dist/commands/models/auth-order.d.ts +15 -0
- package/dist/commands/models/auth-order.js +12 -7
- package/dist/commands/models/auth.d.ts +18 -0
- package/dist/commands/models/auth.js +22 -15
- package/dist/commands/models/fallbacks.d.ts +8 -0
- package/dist/commands/models/fallbacks.js +10 -5
- package/dist/commands/models/image-fallbacks.d.ts +8 -0
- package/dist/commands/models/image-fallbacks.js +10 -5
- package/dist/commands/models/list.auth-overview.d.ts +9 -0
- package/dist/commands/models/list.auth-overview.js +4 -2
- package/dist/commands/models/list.configured.d.ts +5 -0
- package/dist/commands/models/list.configured.js +8 -4
- package/dist/commands/models/list.d.ts +2 -0
- package/dist/commands/models/list.format.d.ts +12 -0
- package/dist/commands/models/list.format.js +24 -12
- package/dist/commands/models/list.list-command.d.ts +8 -0
- package/dist/commands/models/list.list-command.js +11 -6
- package/dist/commands/models/list.probe.d.ts +49 -0
- package/dist/commands/models/list.probe.js +42 -24
- package/dist/commands/models/list.registry.d.ts +18 -0
- package/dist/commands/models/list.registry.js +17 -11
- package/dist/commands/models/list.status-command.d.ts +13 -0
- package/dist/commands/models/list.status-command.js +91 -49
- package/dist/commands/models/list.table.d.ts +6 -0
- package/dist/commands/models/list.table.js +2 -1
- package/dist/commands/models/list.types.d.ts +41 -0
- package/dist/commands/models/scan.d.ts +15 -0
- package/dist/commands/models/scan.js +26 -14
- package/dist/commands/models/set-image.d.ts +2 -0
- package/dist/commands/models/set-image.js +2 -1
- package/dist/commands/models/set.d.ts +2 -0
- package/dist/commands/models/set.js +2 -1
- package/dist/commands/models/shared.d.ts +34 -0
- package/dist/commands/models/shared.js +29 -7
- package/dist/commands/models.d.ts +10 -0
- package/dist/commands/node-daemon-install-helpers.d.ts +22 -0
- package/dist/commands/node-daemon-install-helpers.js +3 -2
- package/dist/commands/node-daemon-runtime.d.ts +9 -0
- package/dist/commands/oauth-env.d.ts +1 -0
- package/dist/commands/oauth-flow.d.ts +21 -0
- package/dist/commands/oauth-flow.js +2 -1
- package/dist/commands/onboard-auth.config-core.d.ts +31 -0
- package/dist/commands/onboard-auth.config-core.js +70 -26
- package/dist/commands/onboard-auth.config-minimax.d.ts +11 -0
- package/dist/commands/onboard-auth.config-opencode.d.ts +3 -0
- package/dist/commands/onboard-auth.credentials.d.ts +18 -0
- package/dist/commands/onboard-auth.credentials.js +19 -7
- package/dist/commands/onboard-auth.d.ts +7 -0
- package/dist/commands/onboard-auth.js +3 -3
- package/dist/commands/onboard-auth.models.d.ts +48 -0
- package/dist/commands/onboard-auth.models.js +2 -26
- package/dist/commands/onboard-channels.d.ts +12 -0
- package/dist/commands/onboard-channels.js +45 -28
- package/dist/commands/onboard-helpers.d.ts +81 -0
- package/dist/commands/onboard-helpers.js +57 -30
- package/dist/commands/onboard-hooks.d.ts +4 -0
- package/dist/commands/onboard-hooks.js +5 -5
- package/dist/commands/onboard-interactive.d.ts +3 -0
- package/dist/commands/onboard-non-interactive/api-keys.d.ts +16 -0
- package/dist/commands/onboard-non-interactive/api-keys.js +10 -5
- package/dist/commands/onboard-non-interactive/local/auth-choice.d.ts +10 -0
- package/dist/commands/onboard-non-interactive/local/auth-choice.js +79 -32
- package/dist/commands/onboard-non-interactive/local/daemon-install.d.ts +10 -0
- package/dist/commands/onboard-non-interactive/local/daemon-install.js +3 -2
- package/dist/commands/onboard-non-interactive/local/gateway-config.d.ts +17 -0
- package/dist/commands/onboard-non-interactive/local/gateway-config.js +6 -3
- package/dist/commands/onboard-non-interactive/local/output.d.ts +19 -0
- package/dist/commands/onboard-non-interactive/local/output.js +2 -1
- package/dist/commands/onboard-non-interactive/local/skills-config.d.ts +8 -0
- package/dist/commands/onboard-non-interactive/local/skills-config.js +2 -1
- package/dist/commands/onboard-non-interactive/local/workspace.d.ts +7 -0
- package/dist/commands/onboard-non-interactive/local.d.ts +8 -0
- package/dist/commands/onboard-non-interactive/local.js +6 -4
- package/dist/commands/onboard-non-interactive/remote.d.ts +8 -0
- package/dist/commands/onboard-non-interactive/remote.js +2 -2
- package/dist/commands/onboard-non-interactive.d.ts +3 -0
- package/dist/commands/onboard-non-interactive.js +1 -1
- package/dist/commands/onboard-remote.d.ts +3 -0
- package/dist/commands/onboard-remote.js +11 -6
- package/dist/commands/onboard-skills.d.ts +4 -0
- package/dist/commands/onboard-skills.js +20 -11
- package/dist/commands/onboard-types.d.ts +62 -0
- package/dist/commands/onboard.d.ts +4 -0
- package/dist/commands/onboard.js +4 -4
- package/dist/commands/onboarding/__tests__/test-utils.d.ts +4 -0
- package/dist/commands/onboarding/plugin-install.d.ts +21 -0
- package/dist/commands/onboarding/plugin-install.js +15 -9
- package/dist/commands/onboarding/registry.d.ts +6 -0
- package/dist/commands/onboarding/registry.js +1 -1
- package/dist/commands/onboarding/types.d.ts +1 -0
- package/dist/commands/openai-codex-model-default.d.ts +6 -0
- package/dist/commands/openai-codex-model-default.js +8 -4
- package/dist/commands/opencode-zen-model-default.d.ts +6 -0
- package/dist/commands/opencode-zen-model-default.js +2 -1
- package/dist/commands/reset.d.ts +9 -0
- package/dist/commands/reset.js +8 -6
- package/dist/commands/sandbox-display.d.ts +13 -0
- package/dist/commands/sandbox-display.js +1 -1
- package/dist/commands/sandbox-explain.d.ts +8 -0
- package/dist/commands/sandbox-explain.js +26 -14
- package/dist/commands/sandbox-formatters.d.ts +25 -0
- package/dist/commands/sandbox-formatters.js +6 -3
- package/dist/commands/sandbox.d.ts +15 -0
- package/dist/commands/sessions.d.ts +6 -0
- package/dist/commands/sessions.js +37 -19
- package/dist/commands/setup.d.ts +4 -0
- package/dist/commands/setup.js +1 -1
- package/dist/commands/signal-install.d.ts +8 -0
- package/dist/commands/signal-install.js +4 -3
- package/dist/commands/status-all/agents.d.ts +16 -0
- package/dist/commands/status-all/channels.d.ts +19 -0
- package/dist/commands/status-all/channels.js +58 -30
- package/dist/commands/status-all/diagnosis.d.ts +62 -0
- package/dist/commands/status-all/diagnosis.js +9 -5
- package/dist/commands/status-all/format.d.ts +7 -0
- package/dist/commands/status-all/format.js +20 -10
- package/dist/commands/status-all/gateway.d.ts +10 -0
- package/dist/commands/status-all/gateway.js +20 -10
- package/dist/commands/status-all/report-lines.d.ts +44 -0
- package/dist/commands/status-all/report-lines.js +7 -4
- package/dist/commands/status-all.d.ts +4 -0
- package/dist/commands/status-all.js +51 -31
- package/dist/commands/status.agent-local.d.ts +16 -0
- package/dist/commands/status.command.d.ts +9 -0
- package/dist/commands/status.command.js +53 -34
- package/dist/commands/status.d.ts +3 -0
- package/dist/commands/status.daemon.d.ts +9 -0
- package/dist/commands/status.daemon.js +1 -1
- package/dist/commands/status.format.d.ts +13 -0
- package/dist/commands/status.format.js +22 -11
- package/dist/commands/status.gateway-probe.d.ts +11 -0
- package/dist/commands/status.gateway-probe.js +6 -4
- package/dist/commands/status.link-channel.d.ts +10 -0
- package/dist/commands/status.link-channel.js +2 -1
- package/dist/commands/status.scan.d.ts +46 -0
- package/dist/commands/status.scan.js +11 -7
- package/dist/commands/status.summary.d.ts +2 -0
- package/dist/commands/status.summary.js +23 -12
- package/dist/commands/status.types.d.ts +58 -0
- package/dist/commands/status.update.d.ts +16 -0
- package/dist/commands/status.update.js +26 -15
- package/dist/commands/systemd-linger.d.ts +21 -0
- package/dist/commands/systemd-linger.js +12 -6
- package/dist/commands/uninstall.d.ts +12 -0
- package/dist/commands/uninstall.js +17 -11
- package/dist/compat/legacy-names.d.ts +8 -0
- package/dist/compat/legacy-names.js +8 -6
- package/dist/config/agent-dirs.d.ts +14 -0
- package/dist/config/agent-dirs.js +4 -2
- package/dist/config/agent-limits.d.ts +5 -0
- package/dist/config/cache-utils.d.ts +6 -0
- package/dist/config/channel-capabilities.d.ts +6 -0
- package/dist/config/channel-capabilities.js +6 -3
- package/dist/config/commands.d.ts +16 -0
- package/dist/config/commands.js +18 -9
- package/dist/config/config-paths.d.ts +10 -0
- package/dist/config/config-paths.js +6 -3
- package/dist/config/config.d.ts +7 -0
- package/dist/config/config.js +1 -1
- package/dist/config/defaults.d.ts +18 -0
- package/dist/config/defaults.js +75 -38
- package/dist/config/env-substitution.d.ts +35 -0
- package/dist/config/env-vars.d.ts +2 -0
- package/dist/config/env-vars.js +8 -4
- package/dist/config/group-policy.d.ts +44 -0
- package/dist/config/group-policy.js +28 -14
- package/dist/config/includes.d.ts +32 -0
- package/dist/config/includes.js +1 -1
- package/dist/config/io.d.ts +36 -0
- package/dist/config/io.js +37 -23
- package/dist/config/legacy-migrate.d.ts +5 -0
- package/dist/config/legacy-migrate.js +2 -1
- package/dist/config/legacy.d.ts +6 -0
- package/dist/config/legacy.js +6 -3
- package/dist/config/legacy.migrations.d.ts +1 -0
- package/dist/config/legacy.migrations.part-1.d.ts +2 -0
- package/dist/config/legacy.migrations.part-1.js +66 -33
- package/dist/config/legacy.migrations.part-2.d.ts +2 -0
- package/dist/config/legacy.migrations.part-2.js +36 -18
- package/dist/config/legacy.migrations.part-3.d.ts +2 -0
- package/dist/config/legacy.migrations.part-3.js +20 -10
- package/dist/config/legacy.rules.d.ts +2 -0
- package/dist/config/legacy.shared.d.ts +18 -0
- package/dist/config/legacy.shared.js +22 -11
- package/dist/config/logging.d.ts +8 -0
- package/dist/config/markdown-tables.d.ts +7 -0
- package/dist/config/markdown-tables.js +8 -4
- package/dist/config/merge-config.d.ts +7 -0
- package/dist/config/merge-patch.d.ts +1 -0
- package/dist/config/normalize-paths.d.ts +8 -0
- package/dist/config/normalize-paths.js +16 -8
- package/dist/config/paths.d.ts +57 -0
- package/dist/config/paths.js +79 -59
- package/dist/config/plugin-auto-enable.d.ts +10 -0
- package/dist/config/plugin-auto-enable.js +79 -40
- package/dist/config/port-defaults.d.ts +13 -0
- package/dist/config/port-defaults.js +2 -1
- package/dist/config/runtime-overrides.d.ts +15 -0
- package/dist/config/runtime-overrides.js +6 -3
- package/dist/config/schema.d.ts +39 -0
- package/dist/config/schema.js +53 -29
- package/dist/config/sessions/group.d.ts +11 -0
- package/dist/config/sessions/group.js +12 -6
- package/dist/config/sessions/main-session.d.ts +43 -0
- package/dist/config/sessions/main-session.js +10 -5
- package/dist/config/sessions/metadata.d.ts +16 -0
- package/dist/config/sessions/metadata.js +50 -25
- package/dist/config/sessions/paths.d.ts +11 -0
- package/dist/config/sessions/paths.js +4 -2
- package/dist/config/sessions/reset.d.ts +43 -0
- package/dist/config/sessions/reset.js +29 -15
- package/dist/config/sessions/session-key.d.ts +8 -0
- package/dist/config/sessions/session-key.js +10 -5
- package/dist/config/sessions/store.d.ts +38 -0
- package/dist/config/sessions/store.js +32 -15
- package/dist/config/sessions/transcript.d.ts +18 -0
- package/dist/config/sessions/transcript.js +20 -12
- package/dist/config/sessions/types.d.ts +146 -0
- package/dist/config/sessions/types.js +2 -1
- package/dist/config/sessions.d.ts +9 -0
- package/dist/config/talk.d.ts +11 -0
- package/dist/config/talk.js +6 -3
- package/dist/config/telegram-custom-commands.d.ts +24 -0
- package/dist/config/telegram-custom-commands.js +2 -1
- package/dist/config/types.agent-defaults.d.ts +248 -0
- package/dist/config/types.agents.d.ts +75 -0
- package/dist/config/types.approvals.d.ts +26 -0
- package/dist/config/types.auth.d.ts +28 -0
- package/dist/config/types.base.d.ts +149 -0
- package/dist/config/types.browser.d.ts +41 -0
- package/dist/config/types.channels.d.ts +34 -0
- package/dist/config/types.cron.d.ts +5 -0
- package/dist/config/types.d.ts +28 -0
- package/dist/config/types.discord.d.ts +145 -0
- package/dist/config/types.gateway.d.ts +220 -0
- package/dist/config/types.googlechat.d.ts +98 -0
- package/dist/config/types.hooks.d.ts +106 -0
- package/dist/config/types.imessage.d.ts +67 -0
- package/dist/config/types.js +1 -1
- package/dist/config/types.messages.d.ts +104 -0
- package/dist/config/types.models.d.ts +47 -0
- package/dist/config/types.msteams.d.ts +94 -0
- package/dist/config/types.node-host.d.ts +10 -0
- package/dist/config/types.openclaw.d.ts +106 -0
- package/dist/config/types.openclaw.js +1 -0
- package/dist/config/types.plugins.d.ts +32 -0
- package/dist/config/types.queue.d.ts +13 -0
- package/dist/config/types.sandbox.d.ts +76 -0
- package/dist/config/types.signal.d.ts +84 -0
- package/dist/config/types.skills.d.ts +28 -0
- package/dist/config/types.slack.d.ts +136 -0
- package/dist/config/types.telegram.d.ts +148 -0
- package/dist/config/types.tools.d.ts +435 -0
- package/dist/config/types.tts.d.ts +78 -0
- package/dist/config/types.whatsapp.d.ts +147 -0
- package/dist/config/validation.d.ts +17 -0
- package/dist/config/validation.js +32 -17
- package/dist/config/version.d.ts +8 -0
- package/dist/config/version.js +18 -11
- package/dist/config/zod-schema.agent-defaults.d.ts +242 -0
- package/dist/config/zod-schema.agent-runtime.d.ts +812 -0
- package/dist/config/zod-schema.agent-runtime.js +7 -3
- package/dist/config/zod-schema.agents.d.ts +487 -0
- package/dist/config/zod-schema.approvals.d.ts +15 -0
- package/dist/config/zod-schema.channels.d.ts +6 -0
- package/dist/config/zod-schema.core.d.ts +647 -0
- package/dist/config/zod-schema.core.js +4 -2
- package/dist/config/zod-schema.d.ts +2989 -0
- package/dist/config/zod-schema.hooks.d.ts +78 -0
- package/dist/config/zod-schema.js +12 -7
- package/dist/config/zod-schema.providers-core.d.ts +2671 -0
- package/dist/config/zod-schema.providers-core.js +19 -7
- package/dist/config/zod-schema.providers-whatsapp.d.ts +228 -0
- package/dist/config/zod-schema.providers-whatsapp.js +9 -5
- package/dist/config/zod-schema.providers.d.ts +1620 -0
- package/dist/config/zod-schema.providers.js +2 -2
- package/dist/config/zod-schema.session.d.ts +171 -0
- package/dist/control-ui/apple-touch-icon.png +0 -0
- package/dist/control-ui/assets/index-BKPyesll.css +1 -0
- package/dist/control-ui/assets/index-kjHVNdSc.js +3898 -0
- package/dist/control-ui/assets/index-kjHVNdSc.js.map +1 -0
- package/dist/control-ui/favicon-32.png +0 -0
- package/dist/control-ui/favicon.svg +22 -0
- package/dist/control-ui/index.html +7 -5
- package/dist/cron/isolated-agent/delivery-target.d.ts +13 -0
- package/dist/cron/isolated-agent/helpers.d.ts +23 -0
- package/dist/cron/isolated-agent/helpers.js +10 -5
- package/dist/cron/isolated-agent/run.d.ts +19 -0
- package/dist/cron/isolated-agent/run.js +6 -4
- package/dist/cron/isolated-agent/session.d.ts +14 -0
- package/dist/cron/isolated-agent.d.ts +1 -0
- package/dist/cron/normalize.d.ts +9 -0
- package/dist/cron/normalize.js +28 -14
- package/dist/cron/parse.d.ts +1 -0
- package/dist/cron/parse.js +10 -5
- package/dist/cron/payload-migration.d.ts +3 -0
- package/dist/cron/payload-migration.js +2 -1
- package/dist/cron/run-log.d.ts +23 -0
- package/dist/cron/run-log.js +17 -9
- package/dist/cron/schedule.d.ts +2 -0
- package/dist/cron/schedule.js +4 -2
- package/dist/cron/service/jobs.d.ts +13 -0
- package/dist/cron/service/jobs.js +51 -26
- package/dist/cron/service/locked.d.ts +2 -0
- package/dist/cron/service/normalize.d.ts +17 -0
- package/dist/cron/service/normalize.js +22 -11
- package/dist/cron/service/ops.d.ts +39 -0
- package/dist/cron/service/ops.js +8 -5
- package/dist/cron/service/state.d.ts +86 -0
- package/dist/cron/service/store.d.ts +4 -0
- package/dist/cron/service/store.js +10 -5
- package/dist/cron/service/timer.d.ts +18 -0
- package/dist/cron/service/timer.js +24 -12
- package/dist/cron/service.d.ts +44 -0
- package/dist/cron/store.d.ts +6 -0
- package/dist/cron/store.js +3 -2
- package/dist/cron/types.d.ts +93 -0
- package/dist/daemon/constants.d.ts +30 -0
- package/dist/daemon/constants.js +33 -32
- package/dist/daemon/diagnostics.d.ts +1 -0
- package/dist/daemon/diagnostics.js +4 -2
- package/dist/daemon/inspect.d.ts +13 -0
- package/dist/daemon/inspect.js +112 -48
- package/dist/daemon/launchd-plist.d.ts +15 -0
- package/dist/daemon/launchd-plist.js +8 -4
- package/dist/daemon/launchd.d.ts +76 -0
- package/dist/daemon/launchd.js +24 -16
- package/dist/daemon/node-service.d.ts +2 -0
- package/dist/daemon/node-service.js +15 -15
- package/dist/daemon/paths.d.ts +3 -0
- package/dist/daemon/paths.js +9 -6
- package/dist/daemon/program-args.d.ts +23 -0
- package/dist/daemon/program-args.js +23 -12
- package/dist/daemon/runtime-parse.d.ts +1 -0
- package/dist/daemon/runtime-parse.js +6 -3
- package/dist/daemon/runtime-paths.d.ts +27 -0
- package/dist/daemon/runtime-paths.js +8 -4
- package/dist/daemon/schtasks.d.ts +39 -0
- package/dist/daemon/schtasks.js +40 -23
- package/dist/daemon/service-audit.d.ts +37 -0
- package/dist/daemon/service-audit.js +28 -15
- package/dist/daemon/service-env.d.ts +27 -0
- package/dist/daemon/service-env.js +43 -30
- package/dist/daemon/service-runtime.d.ts +13 -0
- package/dist/daemon/service.d.ts +38 -0
- package/dist/daemon/systemd-hints.d.ts +4 -0
- package/dist/daemon/systemd-hints.js +3 -2
- package/dist/daemon/systemd-linger.d.ts +15 -0
- package/dist/daemon/systemd-linger.js +4 -2
- package/dist/daemon/systemd-unit.d.ts +11 -0
- package/dist/daemon/systemd-unit.js +17 -9
- package/dist/daemon/systemd.d.ts +57 -0
- package/dist/daemon/systemd.js +43 -25
- package/dist/discord/accounts.d.ts +17 -0
- package/dist/discord/accounts.js +9 -5
- package/dist/discord/api.d.ts +11 -0
- package/dist/discord/api.js +12 -6
- package/dist/discord/audit.d.ts +29 -0
- package/dist/discord/audit.js +17 -9
- package/dist/discord/chunk.d.ts +20 -0
- package/dist/discord/chunk.js +34 -17
- package/dist/discord/directory-live.d.ts +4 -0
- package/dist/discord/directory-live.js +14 -7
- package/dist/discord/gateway-logging.d.ts +8 -0
- package/dist/discord/gateway-logging.js +6 -3
- package/dist/discord/index.d.ts +2 -0
- package/dist/discord/monitor/allow-list.d.ts +126 -0
- package/dist/discord/monitor/allow-list.js +61 -33
- package/dist/discord/monitor/exec-approvals.d.ts +70 -0
- package/dist/discord/monitor/exec-approvals.js +31 -16
- package/dist/discord/monitor/format.d.ts +13 -0
- package/dist/discord/monitor/format.js +6 -3
- package/dist/discord/monitor/listeners.d.ts +49 -0
- package/dist/discord/monitor/listeners.js +19 -10
- package/dist/discord/monitor/message-handler.d.ts +26 -0
- package/dist/discord/monitor/message-handler.js +16 -8
- package/dist/discord/monitor/message-handler.preflight.d.ts +3 -0
- package/dist/discord/monitor/message-handler.preflight.js +58 -28
- package/dist/discord/monitor/message-handler.preflight.types.d.ts +86 -0
- package/dist/discord/monitor/message-handler.process.d.ts +2 -0
- package/dist/discord/monitor/message-handler.process.js +21 -18
- package/dist/discord/monitor/message-utils.d.ts +31 -0
- package/dist/discord/monitor/message-utils.js +38 -19
- package/dist/discord/monitor/native-command.d.ts +20 -0
- package/dist/discord/monitor/native-command.js +50 -32
- package/dist/discord/monitor/presence-cache.d.ts +9 -0
- package/dist/discord/monitor/provider.d.ts +13 -0
- package/dist/discord/monitor/provider.js +44 -23
- package/dist/discord/monitor/reply-context.d.ts +13 -0
- package/dist/discord/monitor/reply-context.js +15 -8
- package/dist/discord/monitor/reply-delivery.d.ts +18 -0
- package/dist/discord/monitor/reply-delivery.js +8 -4
- package/dist/discord/monitor/sender-identity.d.ts +31 -0
- package/dist/discord/monitor/sender-identity.js +45 -0
- package/dist/discord/monitor/system-events.d.ts +2 -0
- package/dist/discord/monitor/threading.d.ts +101 -0
- package/dist/discord/monitor/threading.js +32 -16
- package/dist/discord/monitor/typing.d.ts +5 -0
- package/dist/discord/monitor/typing.js +2 -1
- package/dist/discord/monitor.d.ts +10 -0
- package/dist/discord/monitor.gateway.d.ts +12 -0
- package/dist/discord/monitor.gateway.js +4 -2
- package/dist/discord/pluralkit.d.ts +26 -0
- package/dist/discord/pluralkit.js +27 -0
- package/dist/discord/probe.d.ts +29 -0
- package/dist/discord/probe.js +12 -6
- package/dist/discord/resolve-channels.d.ts +15 -0
- package/dist/discord/resolve-channels.js +26 -20
- package/dist/discord/resolve-users.d.ts +14 -0
- package/dist/discord/resolve-users.js +18 -9
- package/dist/discord/send.channels.d.ts +17 -0
- package/dist/discord/send.channels.js +26 -13
- package/dist/discord/send.d.ts +8 -0
- package/dist/discord/send.emojis-stickers.d.ts +4 -0
- package/dist/discord/send.guild.d.ts +24 -0
- package/dist/discord/send.messages.d.ts +18 -0
- package/dist/discord/send.messages.js +12 -6
- package/dist/discord/send.outbound.d.ts +22 -0
- package/dist/discord/send.permissions.d.ts +4 -0
- package/dist/discord/send.permissions.js +7 -4
- package/dist/discord/send.reactions.d.ts +15 -0
- package/dist/discord/send.reactions.js +8 -4
- package/dist/discord/send.shared.d.ts +69 -0
- package/dist/discord/send.shared.js +16 -8
- package/dist/discord/send.types.d.ts +130 -0
- package/dist/discord/send.types.js +2 -1
- package/dist/discord/targets.d.ts +18 -0
- package/dist/discord/targets.js +4 -2
- package/dist/discord/token.d.ts +11 -0
- package/dist/discord/token.js +10 -5
- package/dist/entry.js +23 -14
- package/dist/gateway/assistant-identity.d.ts +12 -0
- package/dist/gateway/assistant-identity.js +18 -9
- package/dist/gateway/auth.d.ts +36 -0
- package/dist/gateway/auth.js +40 -20
- package/dist/gateway/boot.d.ts +16 -0
- package/dist/gateway/boot.js +5 -3
- package/dist/gateway/call.d.ts +40 -0
- package/dist/gateway/call.js +13 -7
- package/dist/gateway/chat-abort.d.ts +44 -0
- package/dist/gateway/chat-abort.js +10 -5
- package/dist/gateway/chat-attachments.d.ts +35 -0
- package/dist/gateway/chat-attachments.js +14 -7
- package/dist/gateway/chat-sanitize.d.ts +3 -0
- package/dist/gateway/chat-sanitize.js +24 -12
- package/dist/gateway/client.d.ts +61 -0
- package/dist/gateway/client.js +36 -19
- package/dist/gateway/config-reload.d.ts +38 -0
- package/dist/gateway/config-reload.js +20 -10
- package/dist/gateway/control-ui-shared.d.ts +9 -0
- package/dist/gateway/control-ui-shared.js +20 -10
- package/dist/gateway/control-ui.d.ts +25 -0
- package/dist/gateway/control-ui.js +27 -15
- package/dist/gateway/device-auth.d.ts +12 -0
- package/dist/gateway/exec-approval-manager.d.ts +27 -0
- package/dist/gateway/exec-approval-manager.js +2 -1
- package/dist/gateway/hooks-mapping.d.ts +62 -0
- package/dist/gateway/hooks-mapping.js +53 -27
- package/dist/gateway/hooks.d.ts +59 -0
- package/dist/gateway/hooks.js +29 -14
- package/dist/gateway/http-common.d.ts +9 -0
- package/dist/gateway/http-utils.d.ts +15 -0
- package/dist/gateway/http-utils.js +21 -11
- package/dist/gateway/live-image-probe.d.ts +1 -0
- package/dist/gateway/live-image-probe.js +10 -5
- package/dist/gateway/net.d.ts +35 -0
- package/dist/gateway/net.js +57 -29
- package/dist/gateway/node-command-policy.d.ts +13 -0
- package/dist/gateway/node-command-policy.js +26 -13
- package/dist/gateway/node-registry.d.ts +60 -0
- package/dist/gateway/node-registry.js +10 -5
- package/dist/gateway/open-responses.schema.d.ts +765 -0
- package/dist/gateway/openai-http.d.ts +9 -0
- package/dist/gateway/openai-http.js +35 -19
- package/dist/gateway/openresponses-http.d.ts +23 -0
- package/dist/gateway/openresponses-http.js +42 -24
- package/dist/gateway/probe.d.ts +26 -0
- package/dist/gateway/probe.js +4 -2
- package/dist/gateway/protocol/client-info.d.ts +53 -0
- package/dist/gateway/protocol/client-info.js +9 -7
- package/dist/gateway/protocol/index.d.ts +607 -0
- package/dist/gateway/protocol/index.js +2 -1
- package/dist/gateway/protocol/schema/agent.d.ts +71 -0
- package/dist/gateway/protocol/schema/agents-models-skills.d.ts +61 -0
- package/dist/gateway/protocol/schema/channels.d.ts +105 -0
- package/dist/gateway/protocol/schema/config.d.ts +51 -0
- package/dist/gateway/protocol/schema/cron.d.ts +327 -0
- package/dist/gateway/protocol/schema/devices.d.ts +38 -0
- package/dist/gateway/protocol/schema/error-codes.d.ts +14 -0
- package/dist/gateway/protocol/schema/exec-approvals.d.ts +162 -0
- package/dist/gateway/protocol/schema/frames.d.ts +163 -0
- package/dist/gateway/protocol/schema/logs-chat.d.ts +45 -0
- package/dist/gateway/protocol/schema/nodes.d.ts +64 -0
- package/dist/gateway/protocol/schema/primitives.d.ts +4 -0
- package/dist/gateway/protocol/schema/protocol-schemas.d.ts +3 -0
- package/dist/gateway/protocol/schema/protocol-schemas.js +1 -1
- package/dist/gateway/protocol/schema/sessions.d.ts +62 -0
- package/dist/gateway/protocol/schema/snapshot.d.ts +63 -0
- package/dist/gateway/protocol/schema/types.d.ts +108 -0
- package/dist/gateway/protocol/schema/wizard.d.ts +86 -0
- package/dist/gateway/protocol/schema.d.ts +16 -0
- package/dist/gateway/server/__tests__/test-utils.d.ts +2 -0
- package/dist/gateway/server/close-reason.d.ts +1 -0
- package/dist/gateway/server/close-reason.js +4 -2
- package/dist/gateway/server/health-state.d.ts +11 -0
- package/dist/gateway/server/health-state.js +1 -1
- package/dist/gateway/server/hooks.d.ts +12 -0
- package/dist/gateway/server/http-listen.d.ts +6 -0
- package/dist/gateway/server/plugins-http.d.ts +10 -0
- package/dist/gateway/server/plugins-http.js +4 -2
- package/dist/gateway/server/tls.d.ts +7 -0
- package/dist/gateway/server/ws-connection/message-handler.d.ts +42 -0
- package/dist/gateway/server/ws-connection/message-handler.js +22 -13
- package/dist/gateway/server/ws-connection.d.ts +30 -0
- package/dist/gateway/server/ws-connection.js +6 -3
- package/dist/gateway/server/ws-types.d.ts +8 -0
- package/dist/gateway/server-broadcast.d.ts +12 -0
- package/dist/gateway/server-broadcast.js +10 -5
- package/dist/gateway/server-browser.d.ts +4 -0
- package/dist/gateway/server-browser.js +5 -3
- package/dist/gateway/server-channels.d.ts +24 -0
- package/dist/gateway/server-channels.js +14 -7
- package/dist/gateway/server-chat.d.ts +34 -0
- package/dist/gateway/server-chat.js +20 -10
- package/dist/gateway/server-close.d.ts +47 -0
- package/dist/gateway/server-constants.d.ts +10 -0
- package/dist/gateway/server-constants.js +6 -4
- package/dist/gateway/server-cron.d.ts +15 -0
- package/dist/gateway/server-cron.js +1 -1
- package/dist/gateway/server-discovery-runtime.d.ts +20 -0
- package/dist/gateway/server-discovery-runtime.js +12 -4
- package/dist/gateway/server-discovery.d.ts +16 -0
- package/dist/gateway/server-discovery.js +22 -14
- package/dist/gateway/server-http.d.ts +51 -0
- package/dist/gateway/server-http.js +29 -16
- package/dist/gateway/server-lanes.d.ts +2 -0
- package/dist/gateway/server-maintenance.d.ts +36 -0
- package/dist/gateway/server-maintenance.js +8 -5
- package/dist/gateway/server-methods/agent-job.d.ts +13 -0
- package/dist/gateway/server-methods/agent-job.js +21 -13
- package/dist/gateway/server-methods/agent-timestamp.d.ts +27 -0
- package/dist/gateway/server-methods/agent-timestamp.js +62 -0
- package/dist/gateway/server-methods/agent.d.ts +2 -0
- package/dist/gateway/server-methods/agent.js +10 -4
- package/dist/gateway/server-methods/agents.d.ts +2 -0
- package/dist/gateway/server-methods/browser.d.ts +2 -0
- package/dist/gateway/server-methods/browser.js +24 -12
- package/dist/gateway/server-methods/channels.d.ts +19 -0
- package/dist/gateway/server-methods/channels.js +5 -3
- package/dist/gateway/server-methods/chat.d.ts +2 -0
- package/dist/gateway/server-methods/chat.js +18 -8
- package/dist/gateway/server-methods/config.d.ts +2 -0
- package/dist/gateway/server-methods/config.js +8 -6
- package/dist/gateway/server-methods/connect.d.ts +2 -0
- package/dist/gateway/server-methods/cron.d.ts +2 -0
- package/dist/gateway/server-methods/devices.d.ts +2 -0
- package/dist/gateway/server-methods/exec-approval.d.ts +6 -0
- package/dist/gateway/server-methods/exec-approvals.d.ts +2 -0
- package/dist/gateway/server-methods/exec-approvals.js +4 -2
- package/dist/gateway/server-methods/health.d.ts +2 -0
- package/dist/gateway/server-methods/logs.d.ts +2 -0
- package/dist/gateway/server-methods/logs.js +8 -5
- package/dist/gateway/server-methods/models.d.ts +2 -0
- package/dist/gateway/server-methods/nodes.d.ts +2 -0
- package/dist/gateway/server-methods/nodes.helpers.d.ts +14 -0
- package/dist/gateway/server-methods/nodes.helpers.js +5 -3
- package/dist/gateway/server-methods/nodes.js +15 -9
- package/dist/gateway/server-methods/send.d.ts +2 -0
- package/dist/gateway/server-methods/send.js +17 -10
- package/dist/gateway/server-methods/sessions.d.ts +2 -0
- package/dist/gateway/server-methods/sessions.js +8 -4
- package/dist/gateway/server-methods/skills.d.ts +2 -0
- package/dist/gateway/server-methods/skills.js +20 -11
- package/dist/gateway/server-methods/system.d.ts +2 -0
- package/dist/gateway/server-methods/talk.d.ts +2 -0
- package/dist/gateway/server-methods/tts.d.ts +2 -0
- package/dist/gateway/server-methods/types.d.ts +87 -0
- package/dist/gateway/server-methods/update.d.ts +2 -0
- package/dist/gateway/server-methods/update.js +3 -3
- package/dist/gateway/server-methods/usage.d.ts +2 -0
- package/dist/gateway/server-methods/usage.js +11 -6
- package/dist/gateway/server-methods/voicewake.d.ts +2 -0
- package/dist/gateway/server-methods/web.d.ts +2 -0
- package/dist/gateway/server-methods/wizard.d.ts +2 -0
- package/dist/gateway/server-methods-list.d.ts +2 -0
- package/dist/gateway/server-methods.d.ts +5 -0
- package/dist/gateway/server-methods.js +14 -7
- package/dist/gateway/server-mobile-nodes.d.ts +2 -0
- package/dist/gateway/server-mobile-nodes.js +2 -1
- package/dist/gateway/server-model-catalog.d.ts +4 -0
- package/dist/gateway/server-node-events-types.d.ts +36 -0
- package/dist/gateway/server-node-events.d.ts +2 -0
- package/dist/gateway/server-node-events.js +30 -15
- package/dist/gateway/server-node-subscriptions.d.ts +18 -0
- package/dist/gateway/server-node-subscriptions.js +22 -11
- package/dist/gateway/server-plugins.d.ts +17 -0
- package/dist/gateway/server-plugins.js +2 -2
- package/dist/gateway/server-reload-handlers.d.ts +46 -0
- package/dist/gateway/server-reload-handlers.js +7 -7
- package/dist/gateway/server-restart-sentinel.d.ts +5 -0
- package/dist/gateway/server-restart-sentinel.js +2 -1
- package/dist/gateway/server-runtime-config.d.ts +28 -0
- package/dist/gateway/server-runtime-config.js +3 -3
- package/dist/gateway/server-runtime-state.d.ts +64 -0
- package/dist/gateway/server-runtime-state.js +5 -4
- package/dist/gateway/server-session-key.d.ts +1 -0
- package/dist/gateway/server-session-key.js +2 -1
- package/dist/gateway/server-shared.d.ts +7 -0
- package/dist/gateway/server-startup-log.d.ts +12 -0
- package/dist/gateway/server-startup.d.ts +29 -0
- package/dist/gateway/server-startup.js +7 -7
- package/dist/gateway/server-tailscale.d.ts +10 -0
- package/dist/gateway/server-utils.d.ts +2 -0
- package/dist/gateway/server-utils.js +4 -2
- package/dist/gateway/server-wizard-sessions.d.ts +6 -0
- package/dist/gateway/server-wizard-sessions.js +6 -3
- package/dist/gateway/server-ws-runtime.d.ts +28 -0
- package/dist/gateway/server.d.ts +3 -0
- package/dist/gateway/server.impl.d.ts +54 -0
- package/dist/gateway/server.impl.js +27 -24
- package/dist/gateway/session-utils.d.ts +53 -0
- package/dist/gateway/session-utils.fs.d.ts +11 -0
- package/dist/gateway/session-utils.fs.js +69 -35
- package/dist/gateway/session-utils.js +71 -36
- package/dist/gateway/session-utils.types.d.ts +79 -0
- package/dist/gateway/sessions-patch.d.ts +17 -0
- package/dist/gateway/sessions-patch.js +39 -20
- package/dist/gateway/sessions-resolve.d.ts +13 -0
- package/dist/gateway/test-helpers.e2e.d.ts +22 -0
- package/dist/gateway/test-helpers.e2e.js +8 -4
- package/dist/gateway/test-helpers.mocks.d.ts +62 -0
- package/dist/gateway/test-helpers.mocks.js +36 -22
- package/dist/gateway/test-helpers.openai-mock.d.ts +6 -0
- package/dist/gateway/test-helpers.openai-mock.js +14 -7
- package/dist/gateway/test-helpers.server.d.ts +79 -0
- package/dist/gateway/test-helpers.server.js +71 -50
- package/dist/gateway/tools-invoke-http.d.ts +7 -0
- package/dist/gateway/tools-invoke-http.js +59 -14
- package/dist/gateway/ws-log.d.ts +4 -0
- package/dist/gateway/ws-log.js +88 -45
- package/dist/gateway/ws-logging.d.ts +4 -0
- package/dist/globals.js +6 -3
- package/dist/hooks/bundled/boot-md/HOOK.md +3 -3
- package/dist/hooks/bundled/boot-md/handler.d.ts +3 -0
- package/dist/hooks/bundled/command-logger/HOOK.md +12 -12
- package/dist/hooks/bundled/command-logger/handler.d.ts +30 -0
- package/dist/hooks/bundled/command-logger/handler.js +3 -2
- package/dist/hooks/bundled/session-memory/HOOK.md +30 -7
- package/dist/hooks/bundled/session-memory/handler.d.ts +12 -0
- package/dist/hooks/bundled/session-memory/handler.js +20 -13
- package/dist/hooks/bundled/soul-evil/HOOK.md +5 -5
- package/dist/hooks/bundled/soul-evil/handler.d.ts +3 -0
- package/dist/hooks/bundled/soul-evil/handler.js +10 -5
- package/dist/hooks/bundled-dir.d.ts +1 -0
- package/dist/hooks/bundled-dir.js +10 -6
- package/dist/hooks/config.d.ts +12 -0
- package/dist/hooks/config.js +30 -16
- package/dist/hooks/frontmatter.d.ts +5 -0
- package/dist/hooks/frontmatter.js +31 -13
- package/dist/hooks/gmail-ops.d.ts +41 -0
- package/dist/hooks/gmail-ops.js +11 -7
- package/dist/hooks/gmail-setup-utils.d.ts +15 -0
- package/dist/hooks/gmail-setup-utils.js +47 -24
- package/dist/hooks/gmail-watcher.d.ts +25 -0
- package/dist/hooks/gmail-watcher.js +12 -7
- package/dist/hooks/gmail.d.ts +69 -0
- package/dist/hooks/gmail.js +6 -3
- package/dist/hooks/hooks-status.d.ts +57 -0
- package/dist/hooks/hooks-status.js +12 -7
- package/dist/hooks/hooks.d.ts +5 -0
- package/dist/hooks/install.d.ts +42 -0
- package/dist/hooks/install.js +15 -12
- package/dist/hooks/installs.d.ts +6 -0
- package/dist/hooks/internal-hooks.d.ts +95 -0
- package/dist/hooks/internal-hooks.js +7 -4
- package/dist/hooks/llm-slug-generator.d.ts +11 -0
- package/dist/hooks/llm-slug-generator.js +2 -2
- package/dist/hooks/loader.d.ts +27 -0
- package/dist/hooks/loader.js +4 -4
- package/dist/hooks/plugin-hooks.d.ts +9 -0
- package/dist/hooks/plugin-hooks.js +4 -3
- package/dist/hooks/soul-evil.d.ts +42 -0
- package/dist/hooks/soul-evil.js +32 -16
- package/dist/hooks/types.d.ts +62 -0
- package/dist/hooks/workspace.d.ts +20 -0
- package/dist/hooks/workspace.js +33 -21
- package/dist/imessage/accounts.d.ts +16 -0
- package/dist/imessage/accounts.js +9 -5
- package/dist/imessage/client.d.ts +46 -0
- package/dist/imessage/client.js +20 -10
- package/dist/imessage/index.d.ts +3 -0
- package/dist/imessage/monitor/deliver.d.ts +12 -0
- package/dist/imessage/monitor/deliver.js +2 -1
- package/dist/imessage/monitor/monitor-provider.d.ts +2 -0
- package/dist/imessage/monitor/monitor-provider.js +37 -21
- package/dist/imessage/monitor/runtime.d.ts +4 -0
- package/dist/imessage/monitor/types.d.ts +37 -0
- package/dist/imessage/monitor.d.ts +2 -0
- package/dist/imessage/probe.d.ts +12 -0
- package/dist/imessage/probe.js +2 -1
- package/dist/imessage/send.d.ts +18 -0
- package/dist/imessage/send.js +8 -5
- package/dist/imessage/targets.d.ts +39 -0
- package/dist/imessage/targets.js +46 -23
- package/dist/index.js +5 -5
- package/dist/infra/agent-events.d.ts +21 -0
- package/dist/infra/agent-events.js +2 -1
- package/dist/infra/archive.d.ts +16 -0
- package/dist/infra/archive.js +9 -5
- package/dist/infra/backoff.d.ts +8 -0
- package/dist/infra/backoff.js +3 -2
- package/dist/infra/binaries.d.ts +3 -0
- package/dist/infra/bonjour-ciao.d.ts +1 -0
- package/dist/infra/bonjour-discovery.d.ts +26 -0
- package/dist/infra/bonjour-discovery.js +133 -72
- package/dist/infra/bonjour-errors.d.ts +1 -0
- package/dist/infra/bonjour.d.ts +19 -0
- package/dist/infra/bonjour.js +21 -14
- package/dist/infra/brew.d.ts +8 -0
- package/dist/infra/brew.js +8 -4
- package/dist/infra/canvas-host-url.d.ts +11 -0
- package/dist/infra/canvas-host-url.js +22 -11
- package/dist/infra/channel-activity.d.ts +18 -0
- package/dist/infra/channel-activity.js +6 -3
- package/dist/infra/channel-summary.d.ts +7 -0
- package/dist/infra/channel-summary.js +26 -13
- package/dist/infra/channels-status-issues.d.ts +2 -0
- package/dist/infra/channels-status-issues.js +4 -2
- package/dist/infra/clipboard.d.ts +1 -0
- package/dist/infra/clipboard.js +2 -1
- package/dist/infra/control-ui-assets.d.ts +11 -0
- package/dist/infra/control-ui-assets.js +23 -10
- package/dist/infra/dedupe.d.ts +11 -0
- package/dist/infra/dedupe.js +4 -2
- package/dist/infra/device-auth-store.d.ts +23 -0
- package/dist/infra/device-auth-store.js +21 -11
- package/dist/infra/device-identity.d.ts +11 -0
- package/dist/infra/device-identity.js +1 -1
- package/dist/infra/device-pairing.d.ts +96 -0
- package/dist/infra/device-pairing.js +58 -31
- package/dist/infra/diagnostic-events.d.ts +121 -0
- package/dist/infra/diagnostic-flags.d.ts +4 -0
- package/dist/infra/diagnostic-flags.js +23 -12
- package/dist/infra/dotenv.d.ts +3 -0
- package/dist/infra/dotenv.js +4 -3
- package/dist/infra/env-file.d.ts +9 -0
- package/dist/infra/env-file.js +4 -2
- package/dist/infra/env.d.ts +11 -0
- package/dist/infra/env.js +10 -5
- package/dist/infra/errors.d.ts +3 -0
- package/dist/infra/errors.js +8 -4
- package/dist/infra/exec-approval-forwarder.d.ts +44 -0
- package/dist/infra/exec-approval-forwarder.js +52 -26
- package/dist/infra/exec-approvals.d.ts +153 -0
- package/dist/infra/exec-approvals.js +112 -57
- package/dist/infra/exec-host.d.ts +37 -0
- package/dist/infra/exec-host.js +6 -3
- package/dist/infra/exec-safety.d.ts +1 -0
- package/dist/infra/exec-safety.js +20 -10
- package/dist/infra/fetch.d.ts +2 -0
- package/dist/infra/fetch.js +8 -4
- package/dist/infra/format-duration.d.ts +10 -0
- package/dist/infra/format-duration.js +6 -3
- package/dist/infra/fs-safe.d.ts +16 -0
- package/dist/infra/fs-safe.js +2 -1
- package/dist/infra/gateway-lock.d.ts +18 -0
- package/dist/infra/gateway-lock.js +24 -16
- package/dist/infra/git-commit.d.ts +4 -0
- package/dist/infra/git-commit.js +8 -4
- package/dist/infra/heartbeat-events.d.ts +20 -0
- package/dist/infra/heartbeat-runner.d.ts +44 -0
- package/dist/infra/heartbeat-runner.js +68 -35
- package/dist/infra/heartbeat-visibility.d.ts +17 -0
- package/dist/infra/heartbeat-wake.d.ts +20 -0
- package/dist/infra/heartbeat-wake.js +6 -3
- package/dist/infra/is-main.d.ts +8 -0
- package/dist/infra/is-main.js +2 -1
- package/dist/infra/json-file.d.ts +2 -0
- package/dist/infra/json-file.js +2 -1
- package/dist/infra/machine-name.d.ts +1 -0
- package/dist/infra/machine-name.js +7 -4
- package/dist/infra/net/ssrf.d.ts +24 -0
- package/dist/infra/net/ssrf.js +39 -20
- package/dist/infra/node-pairing.d.ts +62 -0
- package/dist/infra/node-pairing.js +14 -8
- package/dist/infra/node-shell.d.ts +1 -0
- package/dist/infra/openclaw-root.d.ts +5 -0
- package/dist/infra/openclaw-root.js +60 -0
- package/dist/infra/os-summary.d.ts +7 -0
- package/dist/infra/os-summary.js +4 -2
- package/dist/infra/outbound/agent-delivery.d.ts +32 -0
- package/dist/infra/outbound/agent-delivery.js +4 -2
- package/dist/infra/outbound/channel-adapters.d.ts +6 -0
- package/dist/infra/outbound/channel-adapters.js +2 -1
- package/dist/infra/outbound/channel-selection.d.ts +11 -0
- package/dist/infra/outbound/channel-selection.js +12 -6
- package/dist/infra/outbound/channel-target.d.ts +6 -0
- package/dist/infra/outbound/channel-target.js +2 -1
- package/dist/infra/outbound/deliver.d.ts +69 -0
- package/dist/infra/outbound/deliver.js +9 -5
- package/dist/infra/outbound/directory-cache.d.ts +21 -0
- package/dist/infra/outbound/directory-cache.js +6 -3
- package/dist/infra/outbound/envelope.d.ts +16 -0
- package/dist/infra/outbound/format.d.ts +39 -0
- package/dist/infra/outbound/format.js +12 -6
- package/dist/infra/outbound/message-action-runner.d.ts +73 -0
- package/dist/infra/outbound/message-action-runner.js +61 -34
- package/dist/infra/outbound/message-action-spec.d.ts +5 -0
- package/dist/infra/outbound/message-action-spec.js +10 -5
- package/dist/infra/outbound/message.d.ts +76 -0
- package/dist/infra/outbound/message.js +2 -1
- package/dist/infra/outbound/outbound-policy.d.ts +31 -0
- package/dist/infra/outbound/outbound-policy.js +33 -17
- package/dist/infra/outbound/outbound-send-service.d.ts +58 -0
- package/dist/infra/outbound/outbound-send-service.js +2 -1
- package/dist/infra/outbound/outbound-session.d.ts +31 -0
- package/dist/infra/outbound/outbound-session.js +73 -37
- package/dist/infra/outbound/payloads.d.ts +16 -0
- package/dist/infra/outbound/payloads.js +14 -7
- package/dist/infra/outbound/target-errors.d.ts +6 -0
- package/dist/infra/outbound/target-errors.js +2 -1
- package/dist/infra/outbound/target-normalization.d.ts +4 -0
- package/dist/infra/outbound/target-normalization.js +2 -1
- package/dist/infra/outbound/target-resolver.d.ts +53 -0
- package/dist/infra/outbound/target-resolver.js +63 -32
- package/dist/infra/outbound/targets.d.ts +65 -0
- package/dist/infra/outbound/targets.js +7 -4
- package/dist/infra/path-env.d.ts +13 -0
- package/dist/infra/path-env.js +21 -14
- package/dist/infra/ports-format.d.ts +5 -0
- package/dist/infra/ports-format.js +7 -4
- package/dist/infra/ports-inspect.d.ts +2 -0
- package/dist/infra/ports-inspect.js +57 -29
- package/dist/infra/ports-lsof.d.ts +2 -0
- package/dist/infra/ports-lsof.js +2 -1
- package/dist/infra/ports-types.d.ts +17 -0
- package/dist/infra/ports.d.ts +14 -0
- package/dist/infra/ports.js +8 -5
- package/dist/infra/provider-usage.auth.d.ts +11 -0
- package/dist/infra/provider-usage.auth.js +74 -18
- package/dist/infra/provider-usage.d.ts +4 -0
- package/dist/infra/provider-usage.fetch.antigravity.d.ts +2 -0
- package/dist/infra/provider-usage.fetch.antigravity.js +30 -15
- package/dist/infra/provider-usage.fetch.claude.d.ts +2 -0
- package/dist/infra/provider-usage.fetch.claude.js +17 -9
- package/dist/infra/provider-usage.fetch.codex.d.ts +2 -0
- package/dist/infra/provider-usage.fetch.codex.js +2 -1
- package/dist/infra/provider-usage.fetch.copilot.d.ts +2 -0
- package/dist/infra/provider-usage.fetch.d.ts +7 -0
- package/dist/infra/provider-usage.fetch.gemini.d.ts +2 -0
- package/dist/infra/provider-usage.fetch.gemini.js +10 -5
- package/dist/infra/provider-usage.fetch.minimax.d.ts +2 -0
- package/dist/infra/provider-usage.fetch.minimax.js +31 -16
- package/dist/infra/provider-usage.fetch.shared.d.ts +1 -0
- package/dist/infra/provider-usage.fetch.zai.d.ts +2 -0
- package/dist/infra/provider-usage.fetch.zai.js +6 -3
- package/dist/infra/provider-usage.format.d.ts +13 -0
- package/dist/infra/provider-usage.format.js +22 -11
- package/dist/infra/provider-usage.load.d.ts +12 -0
- package/dist/infra/provider-usage.load.js +11 -3
- package/dist/infra/provider-usage.shared.d.ts +8 -0
- package/dist/infra/provider-usage.shared.js +6 -2
- package/dist/infra/provider-usage.types.d.ts +17 -0
- package/dist/infra/restart-sentinel.d.ts +50 -0
- package/dist/infra/restart-sentinel.js +7 -4
- package/dist/infra/restart.d.ts +28 -0
- package/dist/infra/restart.js +20 -12
- package/dist/infra/retry-policy.d.ts +25 -0
- package/dist/infra/retry-policy.js +2 -1
- package/dist/infra/retry.d.ts +21 -0
- package/dist/infra/retry.js +8 -4
- package/dist/infra/runtime-guard.d.ts +20 -0
- package/dist/infra/runtime-guard.js +16 -9
- package/dist/infra/session-cost-usage.d.ts +36 -0
- package/dist/infra/session-cost-usage.js +32 -17
- package/dist/infra/shell-env.d.ts +33 -0
- package/dist/infra/shell-env.js +20 -12
- package/dist/infra/skills-remote.d.ts +24 -0
- package/dist/infra/skills-remote.js +45 -24
- package/dist/infra/ssh-config.d.ts +12 -0
- package/dist/infra/ssh-config.js +12 -6
- package/dist/infra/ssh-tunnel.d.ts +21 -0
- package/dist/infra/ssh-tunnel.js +23 -8
- package/dist/infra/state-migrations.d.ts +87 -0
- package/dist/infra/state-migrations.fs.d.ts +14 -0
- package/dist/infra/state-migrations.fs.js +5 -3
- package/dist/infra/state-migrations.js +143 -54
- package/dist/infra/system-events.d.ts +16 -0
- package/dist/infra/system-events.js +13 -7
- package/dist/infra/system-presence.d.ts +45 -0
- package/dist/infra/system-presence.js +27 -15
- package/dist/infra/tailnet.d.ts +7 -0
- package/dist/infra/tailnet.js +14 -7
- package/dist/infra/tailscale.d.ts +34 -0
- package/dist/infra/tailscale.js +32 -17
- package/dist/infra/tls/fingerprint.d.ts +1 -0
- package/dist/infra/tls/gateway.d.ts +16 -0
- package/dist/infra/tls/gateway.js +3 -2
- package/dist/infra/transport-ready.d.ts +16 -0
- package/dist/infra/transport-ready.js +8 -4
- package/dist/infra/unhandled-rejections.d.ts +15 -0
- package/dist/infra/unhandled-rejections.js +26 -16
- package/dist/infra/update-channels.d.ts +26 -0
- package/dist/infra/update-channels.js +10 -5
- package/dist/infra/update-check.d.ts +68 -0
- package/dist/infra/update-check.js +23 -12
- package/dist/infra/update-global.d.ts +15 -0
- package/dist/infra/update-global.js +41 -19
- package/dist/infra/update-runner.d.ts +58 -0
- package/dist/infra/update-runner.js +68 -38
- package/dist/infra/update-startup.d.ts +16 -0
- package/dist/infra/update-startup.js +18 -12
- package/dist/infra/voicewake.d.ts +7 -0
- package/dist/infra/voicewake.js +1 -1
- package/dist/infra/warnings.d.ts +1 -0
- package/dist/infra/warnings.js +5 -3
- package/dist/infra/widearea-dns.d.ts +27 -0
- package/dist/infra/widearea-dns.js +38 -17
- package/dist/infra/ws.d.ts +2 -0
- package/dist/infra/ws.js +6 -3
- package/dist/infra/wsl.d.ts +2 -0
- package/dist/infra/wsl.js +2 -1
- package/dist/line/accounts.d.ts +10 -0
- package/dist/line/accounts.js +2 -1
- package/dist/line/auto-reply-delivery.d.ts +49 -0
- package/dist/line/auto-reply-delivery.js +4 -2
- package/dist/line/bot-access.d.ts +15 -0
- package/dist/line/bot-access.js +12 -6
- package/dist/line/bot-handlers.d.ts +13 -0
- package/dist/line/bot-handlers.js +9 -5
- package/dist/line/bot-message-context.d.ts +102 -0
- package/dist/line/bot-message-context.js +2 -1
- package/dist/line/bot.d.ts +24 -0
- package/dist/line/config-schema.d.ts +62 -0
- package/dist/line/download.d.ts +7 -0
- package/dist/line/download.js +2 -2
- package/dist/line/flex-templates.d.ts +195 -0
- package/dist/line/flex-templates.js +4 -2
- package/dist/line/http-registry.d.ts +12 -0
- package/dist/line/http-registry.js +4 -2
- package/dist/line/index.d.ts +16 -0
- package/dist/line/markdown-to-line.d.ts +72 -0
- package/dist/line/markdown-to-line.js +22 -13
- package/dist/line/monitor.d.ts +28 -0
- package/dist/line/monitor.js +14 -11
- package/dist/line/probe.d.ts +2 -0
- package/dist/line/probe.js +4 -2
- package/dist/line/reply-chunks.d.ts +24 -0
- package/dist/line/rich-menu.d.ts +126 -0
- package/dist/line/rich-menu.js +2 -1
- package/dist/line/send.d.ts +118 -0
- package/dist/line/send.js +8 -4
- package/dist/line/signature.d.ts +1 -0
- package/dist/line/template-messages.d.ts +119 -0
- package/dist/line/types.d.ts +121 -0
- package/dist/line/webhook.d.ts +19 -0
- package/dist/line/webhook.js +2 -1
- package/dist/link-understanding/apply.d.ts +10 -0
- package/dist/link-understanding/defaults.d.ts +2 -0
- package/dist/link-understanding/detect.d.ts +3 -0
- package/dist/link-understanding/detect.js +14 -7
- package/dist/link-understanding/format.d.ts +4 -0
- package/dist/link-understanding/format.js +2 -1
- package/dist/link-understanding/index.d.ts +4 -0
- package/dist/link-understanding/runner.d.ts +11 -0
- package/dist/link-understanding/runner.js +15 -8
- package/dist/logger.js +2 -1
- package/dist/logging/config.d.ts +4 -0
- package/dist/logging/config.js +5 -3
- package/dist/logging/console.d.ts +19 -0
- package/dist/logging/console.js +21 -11
- package/dist/logging/diagnostic.d.ts +58 -0
- package/dist/logging/diagnostic.js +12 -6
- package/dist/logging/levels.d.ts +4 -0
- package/dist/logging/logger.d.ts +42 -0
- package/dist/logging/logger.js +18 -12
- package/dist/logging/parse-log-line.d.ts +9 -0
- package/dist/logging/parse-log-line.js +4 -2
- package/dist/logging/redact.d.ts +9 -0
- package/dist/logging/redact.js +18 -9
- package/dist/logging/state.d.ts +17 -0
- package/dist/logging/subsystem.d.ts +16 -0
- package/dist/logging/subsystem.js +36 -19
- package/dist/macos/gateway-daemon.d.ts +2 -0
- package/dist/macos/gateway-daemon.js +14 -9
- package/dist/macos/relay-smoke.d.ts +3 -0
- package/dist/macos/relay-smoke.js +5 -3
- package/dist/macos/relay.d.ts +2 -0
- package/dist/macos/relay.js +8 -7
- package/dist/markdown/code-spans.d.ts +10 -0
- package/dist/markdown/fences.d.ts +10 -0
- package/dist/markdown/fences.js +2 -1
- package/dist/markdown/frontmatter.d.ts +2 -0
- package/dist/markdown/frontmatter.js +20 -10
- package/dist/markdown/ir.d.ts +32 -0
- package/dist/markdown/ir.js +88 -45
- package/dist/markdown/render.d.ts +18 -0
- package/dist/markdown/render.js +70 -37
- package/dist/markdown/tables.d.ts +2 -0
- package/dist/markdown/tables.js +8 -4
- package/dist/media/audio-tags.d.ts +10 -0
- package/dist/media/audio.d.ts +4 -0
- package/dist/media/audio.js +4 -2
- package/dist/media/constants.d.ts +7 -0
- package/dist/media/constants.js +12 -6
- package/dist/media/fetch.d.ts +19 -0
- package/dist/media/fetch.js +16 -8
- package/dist/media/host.d.ts +11 -0
- package/dist/media/host.js +4 -3
- package/dist/media/image-ops.d.ts +39 -0
- package/dist/media/image-ops.js +20 -12
- package/dist/media/input-files.d.ts +76 -0
- package/dist/media/input-files.js +10 -6
- package/dist/media/mime.d.ts +15 -0
- package/dist/media/mime.js +30 -14
- package/dist/media/parse.d.ts +8 -0
- package/dist/media/parse.js +32 -22
- package/dist/media/server.d.ts +5 -0
- package/dist/media/server.js +10 -6
- package/dist/media/store.d.ts +18 -0
- package/dist/media/store.js +8 -5
- package/dist/media-understanding/apply.d.ts +19 -0
- package/dist/media-understanding/apply.js +288 -3
- package/dist/media-understanding/attachments.d.ts +43 -0
- package/dist/media-understanding/attachments.js +42 -23
- package/dist/media-understanding/concurrency.d.ts +1 -0
- package/dist/media-understanding/concurrency.js +4 -2
- package/dist/media-understanding/defaults.d.ts +10 -0
- package/dist/media-understanding/errors.d.ts +6 -0
- package/dist/media-understanding/format.d.ts +7 -0
- package/dist/media-understanding/format.js +6 -3
- package/dist/media-understanding/index.d.ts +4 -0
- package/dist/media-understanding/providers/anthropic/index.d.ts +2 -0
- package/dist/media-understanding/providers/deepgram/audio.d.ts +4 -0
- package/dist/media-understanding/providers/deepgram/audio.js +4 -2
- package/dist/media-understanding/providers/deepgram/index.d.ts +2 -0
- package/dist/media-understanding/providers/google/audio.d.ts +3 -0
- package/dist/media-understanding/providers/google/audio.js +2 -1
- package/dist/media-understanding/providers/google/index.d.ts +2 -0
- package/dist/media-understanding/providers/google/video.d.ts +3 -0
- package/dist/media-understanding/providers/google/video.js +2 -1
- package/dist/media-understanding/providers/groq/index.d.ts +2 -0
- package/dist/media-understanding/providers/image.d.ts +2 -0
- package/dist/media-understanding/providers/image.js +6 -6
- package/dist/media-understanding/providers/index.d.ts +4 -0
- package/dist/media-understanding/providers/index.js +2 -1
- package/dist/media-understanding/providers/minimax/index.d.ts +2 -0
- package/dist/media-understanding/providers/openai/audio.d.ts +3 -0
- package/dist/media-understanding/providers/openai/audio.js +4 -2
- package/dist/media-understanding/providers/openai/index.d.ts +2 -0
- package/dist/media-understanding/providers/shared.d.ts +3 -0
- package/dist/media-understanding/providers/shared.js +4 -2
- package/dist/media-understanding/resolve.d.ts +44 -0
- package/dist/media-understanding/resolve.js +22 -11
- package/dist/media-understanding/runner.d.ts +34 -0
- package/dist/media-understanding/runner.js +158 -81
- package/dist/media-understanding/scope.d.ts +9 -0
- package/dist/media-understanding/scope.js +14 -7
- package/dist/media-understanding/types.d.ts +92 -0
- package/dist/media-understanding/video.d.ts +2 -0
- package/dist/memory/batch-gemini.d.ts +55 -0
- package/dist/memory/batch-gemini.js +21 -12
- package/dist/memory/batch-openai.d.ts +45 -0
- package/dist/memory/batch-openai.js +17 -9
- package/dist/memory/embeddings-gemini.d.ts +13 -0
- package/dist/memory/embeddings-gemini.js +17 -9
- package/dist/memory/embeddings-openai.d.ts +13 -0
- package/dist/memory/embeddings-openai.js +6 -3
- package/dist/memory/embeddings.d.ts +36 -0
- package/dist/memory/embeddings.js +13 -8
- package/dist/memory/headers-fingerprint.d.ts +1 -0
- package/dist/memory/headers-fingerprint.js +4 -2
- package/dist/memory/hybrid.d.ts +34 -0
- package/dist/memory/hybrid.js +5 -3
- package/dist/memory/index.d.ts +2 -0
- package/dist/memory/internal.d.ts +26 -0
- package/dist/memory/internal.js +80 -29
- package/dist/memory/manager-cache-key.d.ts +6 -0
- package/dist/memory/manager-cache-key.js +3 -2
- package/dist/memory/manager-search.d.ts +60 -0
- package/dist/memory/manager-search.js +7 -4
- package/dist/memory/manager.d.ts +200 -0
- package/dist/memory/manager.js +235 -100
- package/dist/memory/memory-schema.d.ts +10 -0
- package/dist/memory/memory-schema.js +2 -1
- package/dist/memory/node-llama.d.ts +8 -0
- package/dist/memory/openai-batch.d.ts +1 -0
- package/dist/memory/provider-key.d.ts +14 -0
- package/dist/memory/provider-key.js +1 -1
- package/dist/memory/search-manager.d.ts +10 -0
- package/dist/memory/session-files.d.ts +12 -0
- package/dist/memory/session-files.js +18 -9
- package/dist/memory/sqlite-vec.d.ts +9 -0
- package/dist/memory/sqlite.d.ts +1 -0
- package/dist/memory/status-format.d.ts +28 -0
- package/dist/memory/status-format.js +10 -5
- package/dist/memory/sync-memory-files.d.ts +29 -0
- package/dist/memory/sync-memory-files.js +3 -2
- package/dist/memory/sync-session-files.d.ts +29 -0
- package/dist/memory/sync-session-files.js +2 -1
- package/dist/node-host/config.d.ts +17 -0
- package/dist/node-host/runner.d.ts +37 -0
- package/dist/node-host/runner.js +99 -57
- package/dist/pairing/pairing-labels.d.ts +2 -0
- package/dist/pairing/pairing-messages.d.ts +6 -0
- package/dist/pairing/pairing-messages.js +2 -2
- package/dist/pairing/pairing-store.d.ts +46 -0
- package/dist/pairing/pairing-store.js +34 -18
- package/dist/plugin-sdk/index.d.ts +99 -0
- package/dist/plugins/bundled-dir.d.ts +1 -0
- package/dist/plugins/bundled-dir.js +9 -5
- package/dist/plugins/cli.d.ts +3 -0
- package/dist/plugins/cli.js +2 -2
- package/dist/plugins/commands.d.ts +78 -0
- package/dist/plugins/commands.js +10 -5
- package/dist/plugins/config-schema.d.ts +2 -0
- package/dist/plugins/config-schema.js +2 -1
- package/dist/plugins/config-state.d.ts +33 -0
- package/dist/plugins/config-state.js +81 -6
- package/dist/plugins/discovery.d.ts +22 -0
- package/dist/plugins/discovery.js +36 -23
- package/dist/plugins/enable.d.ts +7 -0
- package/dist/plugins/enable.js +2 -1
- package/dist/plugins/hook-runner-global.d.ts +31 -0
- package/dist/plugins/hooks.d.ts +41 -0
- package/dist/plugins/hooks.js +12 -8
- package/dist/plugins/http-path.d.ts +1 -0
- package/dist/plugins/http-path.js +2 -1
- package/dist/plugins/http-registry.d.ts +13 -0
- package/dist/plugins/http-registry.js +1 -1
- package/dist/plugins/install.d.ts +60 -0
- package/dist/plugins/install.js +15 -12
- package/dist/plugins/installs.d.ts +6 -0
- package/dist/plugins/loader.d.ts +14 -0
- package/dist/plugins/loader.js +12 -13
- package/dist/plugins/manifest-registry.d.ts +33 -0
- package/dist/plugins/manifest-registry.js +14 -9
- package/dist/plugins/manifest.d.ts +64 -0
- package/dist/plugins/manifest.js +10 -10
- package/dist/plugins/providers.d.ts +6 -0
- package/dist/plugins/providers.js +2 -2
- package/dist/plugins/registry.d.ts +130 -0
- package/dist/plugins/registry.js +7 -5
- package/dist/plugins/runtime/index.d.ts +3 -0
- package/dist/plugins/runtime/index.js +24 -23
- package/dist/plugins/runtime/native-deps.d.ts +8 -0
- package/dist/plugins/runtime/types.d.ts +314 -0
- package/dist/plugins/runtime.d.ts +5 -0
- package/dist/plugins/runtime.js +1 -1
- package/dist/plugins/schema-validator.d.ts +10 -0
- package/dist/plugins/schema-validator.js +4 -2
- package/dist/plugins/services.d.ts +10 -0
- package/dist/plugins/services.js +3 -2
- package/dist/plugins/slots.d.ts +24 -0
- package/dist/plugins/slots.js +7 -4
- package/dist/plugins/status.d.ts +9 -0
- package/dist/plugins/status.js +2 -2
- package/dist/plugins/tools.d.ts +13 -0
- package/dist/plugins/tools.js +14 -8
- package/dist/plugins/types.d.ts +381 -0
- package/dist/plugins/update.d.ts +44 -0
- package/dist/plugins/update.js +25 -14
- package/dist/process/child-process-bridge.d.ts +8 -0
- package/dist/process/command-queue.d.ts +12 -0
- package/dist/process/command-queue.js +8 -4
- package/dist/process/exec.d.ts +22 -0
- package/dist/process/exec.js +14 -7
- package/dist/process/lanes.d.ts +6 -0
- package/dist/process/spawn-utils.d.ts +26 -0
- package/dist/process/spawn-utils.js +14 -7
- package/dist/providers/github-copilot-auth.d.ts +5 -0
- package/dist/providers/github-copilot-models.d.ts +3 -0
- package/dist/providers/github-copilot-models.js +2 -1
- package/dist/providers/github-copilot-token.d.ts +19 -0
- package/dist/providers/github-copilot-token.js +6 -3
- package/dist/providers/qwen-portal-oauth.d.ts +2 -0
- package/dist/providers/qwen-portal-oauth.js +1 -1
- package/dist/routing/bindings.d.ts +11 -0
- package/dist/routing/bindings.js +37 -19
- package/dist/routing/resolve-route.d.ts +36 -0
- package/dist/routing/resolve-route.js +34 -17
- package/dist/routing/session-key.d.ts +45 -0
- package/dist/routing/session-key.js +32 -16
- package/dist/security/audit-extra.d.ts +43 -0
- package/dist/security/audit-extra.js +124 -67
- package/dist/security/audit-fs.d.ts +44 -0
- package/dist/security/audit-fs.js +12 -6
- package/dist/security/audit.d.ts +55 -0
- package/dist/security/audit.js +67 -40
- package/dist/security/external-content.d.ts +62 -0
- package/dist/security/external-content.js +6 -3
- package/dist/security/fix.d.ts +34 -0
- package/dist/security/fix.js +54 -29
- package/dist/security/windows-acl.d.ts +37 -0
- package/dist/security/windows-acl.js +30 -15
- package/dist/sessions/level-overrides.d.ts +10 -0
- package/dist/sessions/level-overrides.js +6 -3
- package/dist/sessions/model-overrides.d.ts +14 -0
- package/dist/sessions/send-policy.d.ts +11 -0
- package/dist/sessions/send-policy.js +28 -14
- package/dist/sessions/session-key-utils.d.ts +8 -0
- package/dist/sessions/session-key-utils.js +22 -11
- package/dist/sessions/session-label.d.ts +9 -0
- package/dist/sessions/session-label.js +2 -1
- package/dist/sessions/transcript-events.d.ts +7 -0
- package/dist/sessions/transcript-events.js +2 -1
- package/dist/shared/text/reasoning-tags.d.ts +6 -0
- package/dist/shared/text/reasoning-tags.js +52 -7
- package/dist/signal/accounts.d.ts +17 -0
- package/dist/signal/accounts.js +9 -5
- package/dist/signal/client.d.ts +32 -0
- package/dist/signal/client.js +10 -5
- package/dist/signal/daemon.d.ts +18 -0
- package/dist/signal/daemon.js +20 -10
- package/dist/signal/format.d.ts +17 -0
- package/dist/signal/format.js +17 -10
- package/dist/signal/identity.d.ts +23 -0
- package/dist/signal/identity.js +18 -9
- package/dist/signal/index.d.ts +5 -0
- package/dist/signal/monitor/event-handler.d.ts +5 -0
- package/dist/signal/monitor/event-handler.js +41 -22
- package/dist/signal/monitor/event-handler.types.d.ts +117 -0
- package/dist/signal/monitor.d.ts +23 -0
- package/dist/signal/monitor.js +27 -14
- package/dist/signal/probe.d.ts +8 -0
- package/dist/signal/probe.js +4 -2
- package/dist/signal/reaction-level.d.ts +24 -0
- package/dist/signal/send-reactions.d.ts +32 -0
- package/dist/signal/send-reactions.js +20 -10
- package/dist/signal/send.d.ts +24 -0
- package/dist/signal/send.js +24 -12
- package/dist/signal/sse-reconnect.d.ts +13 -0
- package/dist/signal/sse-reconnect.js +8 -4
- package/dist/slack/accounts.d.ts +32 -0
- package/dist/slack/accounts.js +9 -5
- package/dist/slack/actions.d.ts +53 -0
- package/dist/slack/actions.js +4 -2
- package/dist/slack/channel-migration.d.ts +20 -0
- package/dist/slack/channel-migration.js +18 -9
- package/dist/slack/client.d.ts +4 -0
- package/dist/slack/directory-live.d.ts +4 -0
- package/dist/slack/directory-live.js +21 -11
- package/dist/slack/format.d.ts +7 -0
- package/dist/slack/format.js +6 -3
- package/dist/slack/http/index.d.ts +1 -0
- package/dist/slack/http/registry.d.ts +12 -0
- package/dist/slack/http/registry.js +4 -2
- package/dist/slack/index.d.ts +6 -0
- package/dist/slack/monitor/allow-list.d.ts +20 -0
- package/dist/slack/monitor/allow-list.js +8 -4
- package/dist/slack/monitor/auth.d.ts +10 -0
- package/dist/slack/monitor/channel-config.d.ts +40 -0
- package/dist/slack/monitor/channel-config.js +8 -4
- package/dist/slack/monitor/commands.d.ts +4 -0
- package/dist/slack/monitor/commands.js +4 -3
- package/dist/slack/monitor/context.d.ts +109 -0
- package/dist/slack/monitor/context.js +27 -14
- package/dist/slack/monitor/events/channels.d.ts +4 -0
- package/dist/slack/monitor/events/channels.js +10 -6
- package/dist/slack/monitor/events/members.d.ts +4 -0
- package/dist/slack/monitor/events/members.js +4 -2
- package/dist/slack/monitor/events/messages.d.ts +6 -0
- package/dist/slack/monitor/events/messages.js +4 -2
- package/dist/slack/monitor/events/pins.d.ts +4 -0
- package/dist/slack/monitor/events/pins.js +4 -2
- package/dist/slack/monitor/events/reactions.d.ts +4 -0
- package/dist/slack/monitor/events/reactions.js +6 -3
- package/dist/slack/monitor/events.d.ts +8 -0
- package/dist/slack/monitor/media.d.ts +29 -0
- package/dist/slack/monitor/media.js +8 -4
- package/dist/slack/monitor/message-handler/dispatch.d.ts +2 -0
- package/dist/slack/monitor/message-handler/dispatch.js +3 -2
- package/dist/slack/monitor/message-handler/prepare.d.ts +13 -0
- package/dist/slack/monitor/message-handler/prepare.js +14 -11
- package/dist/slack/monitor/message-handler/types.d.ts +22 -0
- package/dist/slack/monitor/message-handler.d.ts +11 -0
- package/dist/slack/monitor/message-handler.js +14 -7
- package/dist/slack/monitor/policy.d.ts +5 -0
- package/dist/slack/monitor/policy.js +6 -3
- package/dist/slack/monitor/provider.d.ts +2 -0
- package/dist/slack/monitor/provider.js +27 -16
- package/dist/slack/monitor/replies.d.ts +50 -0
- package/dist/slack/monitor/replies.js +11 -6
- package/dist/slack/monitor/slash.d.ts +6 -0
- package/dist/slack/monitor/slash.js +83 -72
- package/dist/slack/monitor/thread-resolution.d.ts +12 -0
- package/dist/slack/monitor/thread-resolution.js +4 -2
- package/dist/slack/monitor/types.d.ts +97 -0
- package/dist/slack/monitor.d.ts +5 -0
- package/dist/slack/monitor.test-helpers.d.ts +25 -0
- package/dist/slack/monitor.test-helpers.js +3 -2
- package/dist/slack/probe.d.ts +15 -0
- package/dist/slack/probe.js +4 -2
- package/dist/slack/resolve-channels.d.ts +19 -0
- package/dist/slack/resolve-channels.js +10 -5
- package/dist/slack/resolve-users.d.ts +26 -0
- package/dist/slack/resolve-users.js +20 -11
- package/dist/slack/scopes.d.ts +7 -0
- package/dist/slack/scopes.js +17 -9
- package/dist/slack/send.d.ts +14 -0
- package/dist/slack/send.js +5 -3
- package/dist/slack/targets.d.ts +7 -0
- package/dist/slack/targets.js +2 -1
- package/dist/slack/threading-tool-context.d.ts +10 -0
- package/dist/slack/threading.d.ts +20 -0
- package/dist/slack/token.d.ts +3 -0
- package/dist/slack/types.d.ts +36 -0
- package/dist/telegram/accounts.d.ts +17 -0
- package/dist/telegram/accounts.js +24 -13
- package/dist/telegram/allowed-updates.d.ts +4 -0
- package/dist/telegram/api-logging.d.ts +11 -0
- package/dist/telegram/api-logging.js +4 -2
- package/dist/telegram/audit.d.ts +29 -0
- package/dist/telegram/audit.js +12 -7
- package/dist/telegram/bot/delivery.d.ts +33 -0
- package/dist/telegram/bot/delivery.js +43 -13
- package/dist/telegram/bot/helpers.d.ts +67 -0
- package/dist/telegram/bot/helpers.js +49 -25
- package/dist/telegram/bot/types.d.ts +79 -0
- package/dist/telegram/bot-access.d.ts +24 -0
- package/dist/telegram/bot-access.js +14 -7
- package/dist/telegram/bot-handlers.d.ts +2 -0
- package/dist/telegram/bot-handlers.js +47 -26
- package/dist/telegram/bot-message-context.d.ts +138 -0
- package/dist/telegram/bot-message-context.js +32 -18
- package/dist/telegram/bot-message-dispatch.d.ts +1 -0
- package/dist/telegram/bot-message-dispatch.js +61 -26
- package/dist/telegram/bot-message.d.ts +1 -0
- package/dist/telegram/bot-message.js +2 -1
- package/dist/telegram/bot-native-commands.d.ts +58 -0
- package/dist/telegram/bot-native-commands.js +67 -20
- package/dist/telegram/bot-updates.d.ts +26 -0
- package/dist/telegram/bot-updates.js +4 -2
- package/dist/telegram/bot.d.ts +53 -0
- package/dist/telegram/bot.js +39 -20
- package/dist/telegram/caption.d.ts +5 -0
- package/dist/telegram/download.d.ts +9 -0
- package/dist/telegram/download.js +5 -3
- package/dist/telegram/draft-chunking.d.ts +6 -0
- package/dist/telegram/draft-stream.d.ts +16 -0
- package/dist/telegram/draft-stream.js +22 -12
- package/dist/telegram/fetch.d.ts +4 -0
- package/dist/telegram/fetch.js +4 -2
- package/dist/telegram/format.d.ts +16 -0
- package/dist/telegram/format.js +6 -3
- package/dist/telegram/group-migration.d.ts +20 -0
- package/dist/telegram/group-migration.js +18 -9
- package/dist/telegram/index.d.ts +4 -0
- package/dist/telegram/inline-buttons.d.ts +11 -0
- package/dist/telegram/inline-buttons.js +8 -4
- package/dist/telegram/monitor.d.ts +18 -0
- package/dist/telegram/monitor.js +14 -9
- package/dist/telegram/network-config.d.ts +12 -0
- package/dist/telegram/network-config.js +2 -2
- package/dist/telegram/network-errors.d.ts +5 -0
- package/dist/telegram/network-errors.js +24 -12
- package/dist/telegram/pairing-store.d.ts +43 -0
- package/dist/telegram/pairing-store.js +2 -1
- package/dist/telegram/probe.d.ts +18 -0
- package/dist/telegram/proxy.d.ts +1 -0
- package/dist/telegram/proxy.js +2 -2
- package/dist/telegram/reaction-level.d.ts +18 -0
- package/dist/telegram/send.d.ts +96 -0
- package/dist/telegram/send.js +32 -19
- package/dist/telegram/sent-message-cache.d.ts +16 -0
- package/dist/telegram/sent-message-cache.js +2 -1
- package/dist/telegram/sticker-cache.d.ts +46 -0
- package/dist/telegram/sticker-cache.js +10 -8
- package/dist/telegram/targets.d.ts +14 -0
- package/dist/telegram/targets.js +2 -1
- package/dist/telegram/token.d.ts +13 -0
- package/dist/telegram/token.js +17 -3
- package/dist/telegram/update-offset-store.d.ts +9 -0
- package/dist/telegram/update-offset-store.js +6 -3
- package/dist/telegram/voice.d.ts +20 -0
- package/dist/telegram/voice.js +4 -2
- package/dist/telegram/webhook-set.d.ts +12 -0
- package/dist/telegram/webhook-set.js +1 -1
- package/dist/telegram/webhook.d.ts +20 -0
- package/dist/telegram/webhook.js +5 -4
- package/dist/terminal/ansi.d.ts +2 -0
- package/dist/terminal/links.d.ts +6 -0
- package/dist/terminal/links.js +1 -1
- package/dist/terminal/note.d.ts +5 -0
- package/dist/terminal/note.js +8 -4
- package/dist/terminal/palette.d.ts +10 -0
- package/dist/terminal/progress-line.d.ts +3 -0
- package/dist/terminal/progress-line.js +8 -4
- package/dist/terminal/prompt-style.d.ts +3 -0
- package/dist/terminal/stream-writer.d.ts +11 -0
- package/dist/terminal/stream-writer.js +4 -2
- package/dist/terminal/table.d.ts +18 -0
- package/dist/terminal/table.js +49 -26
- package/dist/terminal/theme.d.ts +15 -0
- package/dist/tts/tts.d.ts +198 -0
- package/dist/tts/tts.js +116 -60
- package/dist/tui/commands.d.ts +14 -0
- package/dist/tui/commands.js +4 -2
- package/dist/tui/components/assistant-message.d.ts +6 -0
- package/dist/tui/components/chat-log.d.ts +22 -0
- package/dist/tui/components/chat-log.js +4 -2
- package/dist/tui/components/custom-editor.d.ts +14 -0
- package/dist/tui/components/custom-editor.js +1 -4
- package/dist/tui/components/filterable-select-list.d.ts +32 -0
- package/dist/tui/components/fuzzy-filter.d.ts +34 -0
- package/dist/tui/components/fuzzy-filter.js +26 -14
- package/dist/tui/components/searchable-select-list.d.ts +43 -0
- package/dist/tui/components/searchable-select-list.js +11 -6
- package/dist/tui/components/selectors.d.ts +7 -0
- package/dist/tui/components/tool-execution.d.ts +33 -0
- package/dist/tui/components/tool-execution.js +6 -3
- package/dist/tui/components/user-message.d.ts +6 -0
- package/dist/tui/gateway-chat.d.ts +119 -0
- package/dist/tui/gateway-chat.js +3 -3
- package/dist/tui/theme/syntax-theme.d.ts +7 -0
- package/dist/tui/theme/theme.d.ts +35 -0
- package/dist/tui/tui-command-handlers.d.ts +31 -0
- package/dist/tui/tui-command-handlers.js +4 -2
- package/dist/tui/tui-event-handlers.d.ts +15 -0
- package/dist/tui/tui-event-handlers.js +36 -18
- package/dist/tui/tui-formatters.d.ts +31 -0
- package/dist/tui/tui-formatters.js +39 -20
- package/dist/tui/tui-local-shell.d.ts +24 -0
- package/dist/tui/tui-local-shell.js +8 -4
- package/dist/tui/tui-overlays.d.ts +7 -0
- package/dist/tui/tui-session-actions.d.ts +28 -0
- package/dist/tui/tui-session-actions.js +16 -8
- package/dist/tui/tui-status-summary.d.ts +2 -0
- package/dist/tui/tui-status-summary.js +2 -1
- package/dist/tui/tui-stream-assembler.d.ts +8 -0
- package/dist/tui/tui-stream-assembler.js +2 -1
- package/dist/tui/tui-types.d.ts +103 -0
- package/dist/tui/tui-waiting.d.ts +16 -0
- package/dist/tui/tui.d.ts +13 -0
- package/dist/tui/tui.js +40 -21
- package/dist/utils/account-id.d.ts +1 -0
- package/dist/utils/account-id.js +2 -1
- package/dist/utils/boolean.d.ts +5 -0
- package/dist/utils/boolean.js +10 -5
- package/dist/utils/delivery-context.d.ts +29 -0
- package/dist/utils/delivery-context.js +21 -7
- package/dist/utils/directive-tags.d.ts +16 -0
- package/dist/utils/directive-tags.js +2 -1
- package/dist/utils/message-channel.d.ts +27 -0
- package/dist/utils/message-channel.js +18 -9
- package/dist/utils/provider-utils.d.ts +9 -0
- package/dist/utils/provider-utils.js +2 -1
- package/dist/utils/queue-helpers.d.ts +41 -0
- package/dist/utils/queue-helpers.js +20 -10
- package/dist/utils/time-format.d.ts +1 -0
- package/dist/utils/time-format.js +10 -5
- package/dist/utils/usage-format.d.ts +26 -0
- package/dist/utils/usage-format.js +18 -9
- package/dist/utils.js +58 -33
- package/dist/version.js +3 -3
- package/dist/web/accounts.d.ts +39 -0
- package/dist/web/accounts.js +11 -6
- package/dist/web/active-listener.d.ts +24 -0
- package/dist/web/active-listener.js +1 -1
- package/dist/web/auth-store.d.ts +25 -0
- package/dist/web/auth-store.js +20 -11
- package/dist/web/auto-reply/constants.d.ts +1 -0
- package/dist/web/auto-reply/deliver-reply.d.ts +18 -0
- package/dist/web/auto-reply/deliver-reply.js +1 -1
- package/dist/web/auto-reply/heartbeat-runner.d.ts +20 -0
- package/dist/web/auto-reply/heartbeat-runner.js +9 -5
- package/dist/web/auto-reply/loggers.d.ts +4 -0
- package/dist/web/auto-reply/mentions.d.ts +19 -0
- package/dist/web/auto-reply/mentions.js +10 -5
- package/dist/web/auto-reply/monitor/ack-reaction.d.ts +13 -0
- package/dist/web/auto-reply/monitor/ack-reaction.js +5 -3
- package/dist/web/auto-reply/monitor/broadcast.d.ts +16 -0
- package/dist/web/auto-reply/monitor/broadcast.js +4 -2
- package/dist/web/auto-reply/monitor/commands.d.ts +2 -0
- package/dist/web/auto-reply/monitor/commands.js +2 -1
- package/dist/web/auto-reply/monitor/echo.d.ts +17 -0
- package/dist/web/auto-reply/monitor/echo.js +4 -2
- package/dist/web/auto-reply/monitor/group-activation.d.ts +9 -0
- package/dist/web/auto-reply/monitor/group-activation.js +1 -1
- package/dist/web/auto-reply/monitor/group-gating.d.ts +29 -0
- package/dist/web/auto-reply/monitor/group-gating.js +4 -3
- package/dist/web/auto-reply/monitor/group-members.d.ts +6 -0
- package/dist/web/auto-reply/monitor/group-members.js +14 -7
- package/dist/web/auto-reply/monitor/last-route.d.ts +15 -0
- package/dist/web/auto-reply/monitor/last-route.js +2 -1
- package/dist/web/auto-reply/monitor/message-line.d.ts +11 -0
- package/dist/web/auto-reply/monitor/message-line.js +2 -1
- package/dist/web/auto-reply/monitor/on-message.d.ts +24 -0
- package/dist/web/auto-reply/monitor/on-message.js +2 -1
- package/dist/web/auto-reply/monitor/peer.d.ts +2 -0
- package/dist/web/auto-reply/monitor/peer.js +6 -3
- package/dist/web/auto-reply/monitor/process-message.d.ts +40 -0
- package/dist/web/auto-reply/monitor/process-message.js +18 -11
- package/dist/web/auto-reply/monitor.d.ts +5 -0
- package/dist/web/auto-reply/monitor.js +22 -13
- package/dist/web/auto-reply/session-snapshot.d.ts +17 -0
- package/dist/web/auto-reply/types.d.ts +28 -0
- package/dist/web/auto-reply/util.d.ts +2 -0
- package/dist/web/auto-reply/util.js +20 -10
- package/dist/web/auto-reply.d.ts +1 -0
- package/dist/web/auto-reply.impl.d.ts +6 -0
- package/dist/web/inbound/access-control.d.ts +24 -0
- package/dist/web/inbound/dedupe.d.ts +2 -0
- package/dist/web/inbound/extract.d.ts +13 -0
- package/dist/web/inbound/extract.js +60 -30
- package/dist/web/inbound/media.d.ts +6 -0
- package/dist/web/inbound/media.js +4 -3
- package/dist/web/inbound/monitor.d.ts +30 -0
- package/dist/web/inbound/monitor.js +29 -15
- package/dist/web/inbound/send-api.d.ts +22 -0
- package/dist/web/inbound/types.d.ts +40 -0
- package/dist/web/inbound.d.ts +4 -0
- package/dist/web/login-qr.d.ts +19 -0
- package/dist/web/login-qr.js +13 -7
- package/dist/web/login.d.ts +3 -0
- package/dist/web/login.js +4 -4
- package/dist/web/media.d.ts +20 -0
- package/dist/web/media.js +16 -9
- package/dist/web/outbound.d.ts +23 -0
- package/dist/web/outbound.js +3 -3
- package/dist/web/qr-image.d.ts +4 -0
- package/dist/web/qr-image.js +2 -1
- package/dist/web/reconnect.d.ts +12 -0
- package/dist/web/reconnect.js +2 -1
- package/dist/web/session.d.ts +14 -0
- package/dist/web/session.js +36 -20
- package/dist/web/vcard.d.ts +6 -0
- package/dist/web/vcard.js +18 -9
- package/dist/whatsapp/normalize.d.ts +6 -0
- package/dist/whatsapp/normalize.js +16 -8
- package/dist/wizard/clack-prompter.d.ts +2 -0
- package/dist/wizard/clack-prompter.js +9 -6
- package/dist/wizard/onboarding.d.ts +4 -0
- package/dist/wizard/onboarding.finalize.d.ts +17 -0
- package/dist/wizard/onboarding.finalize.js +34 -31
- package/dist/wizard/onboarding.gateway-config.d.ts +19 -0
- package/dist/wizard/onboarding.gateway-config.js +20 -17
- package/dist/wizard/onboarding.js +43 -24
- package/dist/wizard/onboarding.types.d.ts +22 -0
- package/dist/wizard/prompts.d.ts +42 -0
- package/dist/wizard/session.d.ts +42 -0
- package/dist/wizard/session.js +4 -2
- package/docs/CNAME +1 -1
- package/docs/_config.yml +3 -3
- package/docs/_layouts/default.html +9 -9
- package/docs/assets/openclaw-logo-text-dark.png +0 -0
- package/docs/assets/openclaw-logo-text.png +0 -0
- package/docs/assets/theme.js +1 -1
- package/docs/automation/auth-monitoring.md +10 -7
- package/docs/automation/cron-jobs.md +184 -26
- package/docs/automation/cron-vs-heartbeat.md +43 -36
- package/docs/automation/gmail-pubsub.md +44 -40
- package/docs/automation/poll.md +14 -8
- package/docs/automation/webhook.md +16 -8
- package/docs/bedrock.md +27 -23
- package/docs/brave-search.md +9 -8
- package/docs/broadcast-groups.md +50 -15
- package/docs/channels/bluebubbles.md +70 -39
- package/docs/channels/discord.md +129 -68
- package/docs/channels/googlechat.md +67 -37
- package/docs/channels/grammy.md +5 -1
- package/docs/channels/imessage.md +81 -47
- package/docs/channels/index.md +6 -4
- package/docs/channels/line.md +31 -28
- package/docs/channels/location.md +9 -1
- package/docs/channels/matrix.md +44 -41
- package/docs/channels/mattermost.md +36 -21
- package/docs/channels/msteams.md +154 -95
- package/docs/channels/nextcloud-talk.md +40 -25
- package/docs/channels/nostr.md +34 -36
- package/docs/channels/signal.md +49 -26
- package/docs/channels/slack.md +120 -81
- package/docs/channels/telegram.md +203 -128
- package/docs/channels/tlon.md +31 -32
- package/docs/channels/troubleshooting.md +6 -2
- package/docs/channels/twitch.md +81 -70
- package/docs/channels/whatsapp.md +84 -42
- package/docs/channels/zalo.md +55 -33
- package/docs/channels/zalouser.md +45 -28
- package/docs/cli/acp.md +31 -27
- package/docs/cli/agent.md +8 -6
- package/docs/cli/agents.md +20 -16
- package/docs/cli/approvals.md +16 -14
- package/docs/cli/browser.md +27 -24
- package/docs/cli/channels.md +25 -21
- package/docs/cli/config.md +16 -15
- package/docs/cli/configure.md +9 -6
- package/docs/cli/cron.md +7 -5
- package/docs/cli/dashboard.md +5 -5
- package/docs/cli/devices.md +14 -13
- package/docs/cli/directory.md +15 -12
- package/docs/cli/dns.md +7 -6
- package/docs/cli/docs.md +6 -6
- package/docs/cli/doctor.md +14 -11
- package/docs/cli/gateway.md +38 -26
- package/docs/cli/health.md +7 -5
- package/docs/cli/hooks.md +49 -35
- package/docs/cli/index.md +154 -43
- package/docs/cli/logs.md +8 -7
- package/docs/cli/memory.md +16 -12
- package/docs/cli/message.md +22 -11
- package/docs/cli/models.md +26 -15
- package/docs/cli/node.md +21 -17
- package/docs/cli/nodes.md +19 -14
- package/docs/cli/onboard.md +10 -7
- package/docs/cli/pairing.md +6 -5
- package/docs/cli/plugins.md +18 -16
- package/docs/cli/reset.md +6 -6
- package/docs/cli/sandbox.md +39 -37
- package/docs/cli/security.md +7 -5
- package/docs/cli/sessions.md +6 -6
- package/docs/cli/setup.md +8 -7
- package/docs/cli/skills.md +9 -8
- package/docs/cli/status.md +9 -7
- package/docs/cli/system.md +11 -6
- package/docs/cli/tui.md +7 -6
- package/docs/cli/uninstall.md +6 -6
- package/docs/cli/update.md +22 -20
- package/docs/cli/voicecall.md +11 -10
- package/docs/cli/webhooks.md +7 -5
- package/docs/concepts/agent-loop.md +29 -9
- package/docs/concepts/agent-workspace.md +30 -28
- package/docs/concepts/agent.md +23 -17
- package/docs/concepts/architecture.md +9 -2
- package/docs/concepts/channel-routing.md +12 -12
- package/docs/concepts/compaction.md +17 -5
- package/docs/concepts/context.md +21 -11
- package/docs/concepts/group-messages.md +26 -20
- package/docs/concepts/groups.md +103 -74
- package/docs/concepts/markdown-formatting.md +6 -8
- package/docs/concepts/memory.md +71 -28
- package/docs/concepts/messages.md +20 -9
- package/docs/concepts/model-failover.md +29 -19
- package/docs/concepts/model-providers.md +59 -65
- package/docs/concepts/models.md +43 -37
- package/docs/concepts/multi-agent.md +79 -57
- package/docs/concepts/oauth.md +40 -30
- package/docs/concepts/presence.md +6 -2
- package/docs/concepts/queue.md +15 -3
- package/docs/concepts/retry.md +16 -7
- package/docs/concepts/session-pruning.md +33 -15
- package/docs/concepts/session-tool.md +30 -8
- package/docs/concepts/session.md +50 -34
- package/docs/concepts/sessions.md +2 -0
- package/docs/concepts/streaming.md +15 -3
- package/docs/concepts/system-prompt.md +20 -15
- package/docs/concepts/timezone.md +8 -6
- package/docs/concepts/typebox.md +46 -38
- package/docs/concepts/typing-indicators.md +15 -6
- package/docs/concepts/usage-tracking.md +8 -3
- package/docs/date-time.md +9 -8
- package/docs/debug/node-issue.md +18 -7
- package/docs/debugging.md +21 -20
- package/docs/diagnostics/flags.md +9 -7
- package/docs/docs.json +38 -24
- package/docs/environment.md +22 -19
- package/docs/experiments/onboarding-config-protocol.md +6 -0
- package/docs/experiments/plans/cron-add-hardening.md +7 -1
- package/docs/experiments/plans/group-policy-hardening.md +3 -1
- package/docs/experiments/plans/openresponses-gateway.md +3 -2
- package/docs/experiments/proposals/model-config.md +4 -0
- package/docs/experiments/research/memory.md +32 -14
- package/docs/gateway/authentication.md +26 -24
- package/docs/gateway/background-process.md +18 -7
- package/docs/gateway/bonjour.md +31 -26
- package/docs/gateway/bridge-protocol.md +10 -6
- package/docs/gateway/cli-backends.md +37 -35
- package/docs/gateway/configuration-examples.md +143 -135
- package/docs/gateway/configuration.md +795 -660
- package/docs/gateway/discovery.md +22 -16
- package/docs/gateway/doctor.md +57 -27
- package/docs/gateway/gateway-lock.md +7 -1
- package/docs/gateway/health.md +17 -11
- package/docs/gateway/heartbeat.md +36 -31
- package/docs/gateway/index.md +99 -63
- package/docs/gateway/local-models.md +31 -27
- package/docs/gateway/logging.md +9 -8
- package/docs/gateway/multiple-gateways.md +32 -27
- package/docs/gateway/openai-http-api.md +26 -20
- package/docs/gateway/openresponses-http-api.md +48 -29
- package/docs/gateway/pairing.md +16 -9
- package/docs/gateway/protocol.md +12 -6
- package/docs/gateway/remote-gateway-readme.md +18 -16
- package/docs/gateway/remote.md +12 -7
- package/docs/gateway/sandbox-vs-tool-policy-vs-elevated.md +22 -14
- package/docs/gateway/sandboxing.md +43 -26
- package/docs/gateway/security/formal-verification.md +12 -8
- package/docs/gateway/security/index.md +152 -97
- package/docs/gateway/tailscale.md +19 -16
- package/docs/gateway/tools-invoke-http-api.md +11 -5
- package/docs/gateway/troubleshooting.md +189 -136
- package/docs/help/faq.md +548 -451
- package/docs/help/index.md +1 -0
- package/docs/help/troubleshooting.md +17 -16
- package/docs/hooks/soul-evil.md +3 -2
- package/docs/hooks.md +95 -78
- package/docs/index.md +61 -44
- package/docs/install/ansible.md +38 -35
- package/docs/install/bun.md +2 -1
- package/docs/install/development-channels.md +11 -10
- package/docs/install/docker.md +102 -67
- package/docs/install/index.md +34 -33
- package/docs/install/installer.md +29 -28
- package/docs/install/migrating.md +38 -36
- package/docs/install/nix.md +19 -18
- package/docs/install/node.md +6 -6
- package/docs/install/uninstall.md +41 -38
- package/docs/install/updating.md +63 -54
- package/docs/logging.md +69 -62
- package/docs/multi-agent-sandbox-tools.md +39 -18
- package/docs/network.md +4 -1
- package/docs/nodes/audio.md +34 -29
- package/docs/nodes/camera.md +23 -19
- package/docs/nodes/images.md +15 -4
- package/docs/nodes/index.md +71 -57
- package/docs/nodes/location-command.md +23 -5
- package/docs/nodes/media-understanding.md +129 -63
- package/docs/nodes/talk.md +24 -13
- package/docs/nodes/voicewake.md +7 -3
- package/docs/northflank.mdx +24 -24
- package/docs/perplexity.md +13 -12
- package/docs/pi-dev.md +70 -0
- package/docs/pi.md +600 -0
- package/docs/platforms/android.md +22 -15
- package/docs/platforms/digitalocean.md +58 -39
- package/docs/platforms/exe-dev.md +23 -23
- package/docs/platforms/fly.md +62 -44
- package/docs/platforms/gcp.md +79 -74
- package/docs/platforms/hetzner.md +73 -68
- package/docs/platforms/index.md +11 -8
- package/docs/platforms/ios.md +20 -17
- package/docs/platforms/linux.md +19 -14
- package/docs/platforms/mac/bundled-gateway.md +20 -14
- package/docs/platforms/mac/canvas.md +18 -14
- package/docs/platforms/mac/child-process.md +7 -5
- package/docs/platforms/mac/dev-setup.md +22 -11
- package/docs/platforms/mac/health.md +8 -2
- package/docs/platforms/mac/icon.md +6 -1
- package/docs/platforms/mac/logging.md +10 -4
- package/docs/platforms/mac/menu-bar.md +12 -1
- package/docs/platforms/mac/peekaboo.md +12 -9
- package/docs/platforms/mac/permissions.md +5 -1
- package/docs/platforms/mac/release.md +24 -16
- package/docs/platforms/mac/remote.md +29 -17
- package/docs/platforms/mac/signing.md +11 -7
- package/docs/platforms/mac/skills.md +10 -4
- package/docs/platforms/mac/voice-overlay.md +9 -1
- package/docs/platforms/mac/voicewake.md +12 -1
- package/docs/platforms/mac/webchat.md +3 -1
- package/docs/platforms/mac/xpc.md +14 -4
- package/docs/platforms/macos-vm.md +37 -31
- package/docs/platforms/macos.md +31 -23
- package/docs/platforms/oracle.md +62 -50
- package/docs/platforms/raspberry-pi.md +49 -45
- package/docs/platforms/windows.md +16 -11
- package/docs/plugin.md +119 -93
- package/docs/plugins/agent-tools.md +12 -9
- package/docs/plugins/manifest.md +9 -5
- package/docs/plugins/voice-call.md +50 -43
- package/docs/plugins/zalouser.md +18 -12
- package/docs/prose.md +15 -12
- package/docs/providers/anthropic.md +29 -23
- package/docs/providers/claude-max-api-proxy.md +19 -16
- package/docs/providers/deepgram.md +24 -20
- package/docs/providers/github-copilot.md +15 -13
- package/docs/providers/glm.md +7 -5
- package/docs/providers/index.md +12 -9
- package/docs/providers/minimax.md +57 -32
- package/docs/providers/models.md +11 -9
- package/docs/providers/moonshot.md +31 -52
- package/docs/providers/ollama.md +29 -25
- package/docs/providers/openai.md +10 -8
- package/docs/providers/opencode.md +6 -4
- package/docs/providers/openrouter.md +8 -6
- package/docs/providers/qwen.md +8 -6
- package/docs/providers/synthetic.md +37 -35
- package/docs/providers/venice.md +86 -83
- package/docs/providers/vercel-ai-gateway.md +11 -11
- package/docs/providers/xiaomi.md +64 -0
- package/docs/providers/zai.md +8 -6
- package/docs/railway.mdx +30 -27
- package/docs/refactor/clawnet.md +72 -15
- package/docs/refactor/exec-host.md +66 -15
- package/docs/refactor/outbound-session-mirroring.md +11 -1
- package/docs/refactor/plugin-sdk.md +41 -14
- package/docs/refactor/strict-config.md +25 -13
- package/docs/reference/AGENTS.default.md +32 -21
- package/docs/reference/RELEASING.md +50 -38
- package/docs/reference/api-usage-costs.md +27 -6
- package/docs/reference/device-models.md +8 -7
- package/docs/reference/rpc.md +9 -3
- package/docs/reference/session-management-compaction.md +45 -33
- package/docs/reference/templates/AGENTS.dev.md +17 -12
- package/docs/reference/templates/AGENTS.md +23 -1
- package/docs/reference/templates/BOOT.md +2 -1
- package/docs/reference/templates/BOOTSTRAP.md +8 -2
- package/docs/reference/templates/HEARTBEAT.md +2 -0
- package/docs/reference/templates/IDENTITY.dev.md +7 -0
- package/docs/reference/templates/IDENTITY.md +1 -1
- package/docs/reference/templates/SOUL.dev.md +3 -1
- package/docs/reference/templates/SOUL.md +5 -4
- package/docs/reference/templates/TOOLS.dev.md +5 -2
- package/docs/reference/templates/TOOLS.md +7 -2
- package/docs/reference/templates/USER.dev.md +4 -3
- package/docs/reference/test.md +6 -2
- package/docs/reference/transcript-hygiene.md +13 -1
- package/docs/render.mdx +34 -27
- package/docs/scripts.md +3 -1
- package/docs/security/formal-verification.md +12 -8
- package/docs/start/getting-started.md +33 -29
- package/docs/start/hubs.md +5 -3
- package/docs/start/lore.md +80 -30
- package/docs/start/onboarding.md +18 -15
- package/docs/start/{clawd.md → openclaw.md} +58 -52
- package/docs/start/pairing.md +16 -14
- package/docs/start/setup.md +34 -29
- package/docs/start/showcase.md +60 -60
- package/docs/start/wizard.md +65 -53
- package/docs/testing.md +77 -58
- package/docs/token-use.md +9 -7
- package/docs/tools/agent-send.md +12 -10
- package/docs/tools/apply-patch.md +1 -0
- package/docs/tools/browser-linux-troubleshooting.md +33 -23
- package/docs/tools/browser-login.md +14 -13
- package/docs/tools/browser.md +163 -137
- package/docs/tools/chrome-extension.md +35 -26
- package/docs/tools/{clawdhub.md → clawhub.md} +46 -45
- package/docs/tools/creating-skills.md +21 -8
- package/docs/tools/elevated.md +8 -0
- package/docs/tools/exec-approvals.md +27 -9
- package/docs/tools/exec.md +23 -13
- package/docs/tools/firecrawl.md +15 -12
- package/docs/tools/index.md +107 -49
- package/docs/tools/llm-task.md +5 -4
- package/docs/tools/lobster.md +18 -14
- package/docs/tools/reactions.md +2 -0
- package/docs/tools/skills-config.md +14 -13
- package/docs/tools/skills.md +86 -53
- package/docs/tools/slash-commands.md +18 -10
- package/docs/tools/subagents.md +19 -6
- package/docs/tools/thinking.md +11 -0
- package/docs/tools/web.md +49 -47
- package/docs/tts.md +52 -45
- package/docs/tui.md +35 -10
- package/docs/vps.md +3 -1
- package/docs/web/control-ui.md +22 -14
- package/docs/web/dashboard.md +10 -6
- package/docs/web/index.md +15 -11
- package/docs/web/webchat.md +12 -4
- package/extensions/bluebubbles/index.ts +3 -4
- package/extensions/bluebubbles/node_modules/.bin/openclaw +17 -0
- package/extensions/bluebubbles/{clawdbot.plugin.json → openclaw.plugin.json} +1 -3
- package/extensions/bluebubbles/package.json +8 -5
- package/extensions/bluebubbles/src/accounts.ts +22 -14
- package/extensions/bluebubbles/src/actions.test.ts +22 -23
- package/extensions/bluebubbles/src/actions.ts +71 -36
- package/extensions/bluebubbles/src/attachments.test.ts +1 -2
- package/extensions/bluebubbles/src/attachments.ts +39 -21
- package/extensions/bluebubbles/src/channel.ts +54 -39
- package/extensions/bluebubbles/src/chat.test.ts +0 -1
- package/extensions/bluebubbles/src/chat.ts +49 -25
- package/extensions/bluebubbles/src/config-schema.ts +1 -1
- package/extensions/bluebubbles/src/media-send.ts +14 -8
- package/extensions/bluebubbles/src/monitor.test.ts +297 -103
- package/extensions/bluebubbles/src/monitor.ts +341 -148
- package/extensions/bluebubbles/src/onboarding.ts +28 -16
- package/extensions/bluebubbles/src/probe.ts +19 -11
- package/extensions/bluebubbles/src/reactions.test.ts +0 -1
- package/extensions/bluebubbles/src/reactions.ts +21 -16
- package/extensions/bluebubbles/src/runtime.ts +1 -1
- package/extensions/bluebubbles/src/send.test.ts +1 -2
- package/extensions/bluebubbles/src/send.ts +76 -27
- package/extensions/bluebubbles/src/targets.test.ts +0 -1
- package/extensions/bluebubbles/src/targets.ts +151 -52
- package/extensions/copilot-proxy/README.md +3 -3
- package/extensions/copilot-proxy/index.ts +10 -4
- package/extensions/copilot-proxy/node_modules/.bin/openclaw +17 -0
- package/extensions/copilot-proxy/{clawdbot.plugin.json → openclaw.plugin.json} +1 -3
- package/extensions/copilot-proxy/package.json +7 -4
- package/extensions/diagnostics-otel/index.ts +3 -4
- package/extensions/diagnostics-otel/node_modules/.bin/openclaw +17 -0
- package/extensions/diagnostics-otel/package.json +11 -8
- package/extensions/diagnostics-otel/src/service.test.ts +22 -16
- package/extensions/diagnostics-otel/src/service.ts +185 -116
- package/extensions/discord/index.ts +3 -4
- package/extensions/discord/node_modules/.bin/openclaw +17 -0
- package/extensions/discord/{clawdbot.plugin.json → openclaw.plugin.json} +1 -3
- package/extensions/discord/package.json +7 -4
- package/extensions/discord/src/channel.ts +10 -10
- package/extensions/discord/src/runtime.ts +1 -1
- package/extensions/google-antigravity-auth/README.md +3 -3
- package/extensions/google-antigravity-auth/index.ts +42 -18
- package/extensions/google-antigravity-auth/node_modules/.bin/openclaw +17 -0
- package/extensions/google-antigravity-auth/{clawdbot.plugin.json → openclaw.plugin.json} +1 -3
- package/extensions/google-antigravity-auth/package.json +7 -4
- package/extensions/google-gemini-cli-auth/README.md +5 -5
- package/extensions/google-gemini-cli-auth/index.ts +4 -7
- package/extensions/google-gemini-cli-auth/node_modules/.bin/openclaw +17 -0
- package/extensions/google-gemini-cli-auth/oauth.test.ts +19 -7
- package/extensions/google-gemini-cli-auth/oauth.ts +122 -40
- package/extensions/google-gemini-cli-auth/{clawdbot.plugin.json → openclaw.plugin.json} +1 -3
- package/extensions/google-gemini-cli-auth/package.json +7 -4
- package/extensions/googlechat/index.ts +4 -5
- package/extensions/googlechat/node_modules/.bin/openclaw +17 -0
- package/extensions/googlechat/{clawdbot.plugin.json → openclaw.plugin.json} +1 -3
- package/extensions/googlechat/package.json +14 -14
- package/extensions/googlechat/src/accounts.ts +40 -26
- package/extensions/googlechat/src/actions.ts +37 -18
- package/extensions/googlechat/src/api.test.ts +0 -1
- package/extensions/googlechat/src/api.ts +37 -14
- package/extensions/googlechat/src/auth.ts +17 -7
- package/extensions/googlechat/src/channel.ts +48 -45
- package/extensions/googlechat/src/monitor.test.ts +2 -7
- package/extensions/googlechat/src/monitor.ts +115 -66
- package/extensions/googlechat/src/onboarding.ts +29 -38
- package/extensions/googlechat/src/runtime.ts +1 -1
- package/extensions/googlechat/src/targets.test.ts +1 -4
- package/extensions/googlechat/src/targets.ts +15 -5
- package/extensions/googlechat/src/types.config.ts +1 -1
- package/extensions/imessage/index.ts +3 -4
- package/extensions/imessage/node_modules/.bin/openclaw +17 -0
- package/extensions/imessage/{clawdbot.plugin.json → openclaw.plugin.json} +1 -3
- package/extensions/imessage/package.json +7 -4
- package/extensions/imessage/src/channel.ts +8 -8
- package/extensions/imessage/src/runtime.ts +1 -1
- package/extensions/line/index.ts +4 -5
- package/extensions/line/node_modules/.bin/openclaw +17 -0
- package/extensions/line/{clawdbot.plugin.json → openclaw.plugin.json} +1 -3
- package/extensions/line/package.json +8 -8
- package/extensions/line/src/card-command.ts +17 -11
- package/extensions/line/src/channel.logout.test.ts +22 -21
- package/extensions/line/src/channel.sendPayload.test.ts +23 -25
- package/extensions/line/src/channel.ts +62 -54
- package/extensions/line/src/runtime.ts +1 -1
- package/extensions/llm-task/README.md +6 -6
- package/extensions/llm-task/index.ts +2 -3
- package/extensions/llm-task/node_modules/.bin/openclaw +17 -0
- package/extensions/llm-task/package.json +7 -4
- package/extensions/llm-task/src/llm-task-tool.test.ts +20 -13
- package/extensions/llm-task/src/llm-task-tool.ts +48 -29
- package/extensions/lobster/README.md +14 -19
- package/extensions/lobster/SKILL.md +14 -7
- package/extensions/lobster/index.ts +5 -4
- package/extensions/lobster/node_modules/.bin/openclaw +17 -0
- package/extensions/lobster/package.json +7 -4
- package/extensions/lobster/src/lobster-tool.test.ts +141 -38
- package/extensions/lobster/src/lobster-tool.ts +107 -19
- package/extensions/matrix/CHANGELOG.md +27 -11
- package/extensions/matrix/index.ts +3 -4
- package/extensions/matrix/node_modules/.bin/openclaw +17 -0
- package/extensions/matrix/{clawdbot.plugin.json → openclaw.plugin.json} +1 -3
- package/extensions/matrix/package.json +15 -15
- package/extensions/matrix/src/actions.ts +17 -7
- package/extensions/matrix/src/channel.directory.test.ts +13 -5
- package/extensions/matrix/src/channel.ts +64 -38
- package/extensions/matrix/src/config-schema.ts +1 -1
- package/extensions/matrix/src/directory-live.ts +22 -9
- package/extensions/matrix/src/group-mentions.ts +11 -6
- package/extensions/matrix/src/matrix/accounts.test.ts +0 -1
- package/extensions/matrix/src/matrix/accounts.ts +5 -3
- package/extensions/matrix/src/matrix/actions/client.ts +9 -5
- package/extensions/matrix/src/matrix/actions/messages.ts +17 -9
- package/extensions/matrix/src/matrix/actions/pins.ts +12 -6
- package/extensions/matrix/src/matrix/actions/reactions.ts +24 -12
- package/extensions/matrix/src/matrix/actions/room.ts +10 -13
- package/extensions/matrix/src/matrix/actions/summary.ts +4 -6
- package/extensions/matrix/src/matrix/client/config.ts +5 -10
- package/extensions/matrix/src/matrix/client/create-client.ts +12 -16
- package/extensions/matrix/src/matrix/client/logging.ts +17 -16
- package/extensions/matrix/src/matrix/client/shared.ts +6 -5
- package/extensions/matrix/src/matrix/client/storage.ts +12 -12
- package/extensions/matrix/src/matrix/client.test.ts +0 -1
- package/extensions/matrix/src/matrix/client.ts +1 -5
- package/extensions/matrix/src/matrix/credentials.ts +7 -5
- package/extensions/matrix/src/matrix/deps.ts +8 -5
- package/extensions/matrix/src/matrix/format.test.ts +0 -1
- package/extensions/matrix/src/matrix/monitor/allowlist.ts +7 -3
- package/extensions/matrix/src/matrix/monitor/auto-join.ts +7 -4
- package/extensions/matrix/src/matrix/monitor/direct.ts +11 -12
- package/extensions/matrix/src/matrix/monitor/events.ts +2 -4
- package/extensions/matrix/src/matrix/monitor/handler.ts +67 -42
- package/extensions/matrix/src/matrix/monitor/index.ts +27 -15
- package/extensions/matrix/src/matrix/monitor/location.ts +28 -11
- package/extensions/matrix/src/matrix/monitor/media.test.ts +1 -2
- package/extensions/matrix/src/matrix/monitor/media.ts +8 -8
- package/extensions/matrix/src/matrix/monitor/replies.ts +5 -4
- package/extensions/matrix/src/matrix/monitor/room-info.ts +5 -8
- package/extensions/matrix/src/matrix/monitor/rooms.ts +7 -2
- package/extensions/matrix/src/matrix/monitor/threads.ts +6 -2
- package/extensions/matrix/src/matrix/poll-types.test.ts +0 -1
- package/extensions/matrix/src/matrix/poll-types.ts +17 -8
- package/extensions/matrix/src/matrix/send/client.ts +8 -5
- package/extensions/matrix/src/matrix/send/formatting.ts +14 -17
- package/extensions/matrix/src/matrix/send/media.ts +17 -8
- package/extensions/matrix/src/matrix/send/targets.test.ts +7 -11
- package/extensions/matrix/src/matrix/send/targets.ts +19 -27
- package/extensions/matrix/src/matrix/send.test.ts +1 -2
- package/extensions/matrix/src/matrix/send.ts +10 -5
- package/extensions/matrix/src/onboarding.ts +26 -16
- package/extensions/matrix/src/outbound.ts +2 -3
- package/extensions/matrix/src/resolve-targets.ts +8 -8
- package/extensions/matrix/src/runtime.ts +1 -1
- package/extensions/matrix/src/tool-actions.ts +15 -11
- package/extensions/mattermost/index.ts +3 -4
- package/extensions/mattermost/node_modules/.bin/openclaw +17 -0
- package/extensions/mattermost/{clawdbot.plugin.json → openclaw.plugin.json} +1 -3
- package/extensions/mattermost/package.json +8 -5
- package/extensions/mattermost/src/channel.test.ts +9 -4
- package/extensions/mattermost/src/channel.ts +10 -12
- package/extensions/mattermost/src/config-schema.ts +2 -3
- package/extensions/mattermost/src/group-mentions.ts +4 -3
- package/extensions/mattermost/src/mattermost/accounts.ts +31 -18
- package/extensions/mattermost/src/mattermost/client.ts +18 -6
- package/extensions/mattermost/src/mattermost/monitor-helpers.ts +33 -17
- package/extensions/mattermost/src/mattermost/monitor.ts +137 -71
- package/extensions/mattermost/src/mattermost/probe.ts +6 -2
- package/extensions/mattermost/src/mattermost/send.ts +21 -7
- package/extensions/mattermost/src/normalize.ts +12 -4
- package/extensions/mattermost/src/onboarding-helpers.ts +9 -7
- package/extensions/mattermost/src/onboarding.ts +4 -5
- package/extensions/mattermost/src/runtime.ts +1 -1
- package/extensions/mattermost/src/types.ts +1 -1
- package/extensions/memory-core/index.ts +6 -4
- package/extensions/memory-core/node_modules/.bin/openclaw +17 -0
- package/extensions/memory-core/package.json +10 -10
- package/extensions/memory-lancedb/config.ts +34 -9
- package/extensions/memory-lancedb/index.test.ts +10 -8
- package/extensions/memory-lancedb/index.ts +76 -58
- package/extensions/memory-lancedb/node_modules/.bin/openclaw +17 -0
- package/extensions/memory-lancedb/{clawdbot.plugin.json → openclaw.plugin.json} +4 -11
- package/extensions/memory-lancedb/package.json +9 -6
- package/extensions/minimax-portal-auth/README.md +33 -0
- package/extensions/minimax-portal-auth/index.ts +155 -0
- package/extensions/minimax-portal-auth/node_modules/.bin/openclaw +17 -0
- package/extensions/minimax-portal-auth/oauth.ts +247 -0
- package/extensions/minimax-portal-auth/openclaw.plugin.json +9 -0
- package/extensions/minimax-portal-auth/package.json +14 -0
- package/extensions/msteams/CHANGELOG.md +24 -9
- package/extensions/msteams/index.ts +3 -4
- package/extensions/msteams/node_modules/.bin/openclaw +17 -0
- package/extensions/msteams/{clawdbot.plugin.json → openclaw.plugin.json} +1 -3
- package/extensions/msteams/package.json +16 -13
- package/extensions/msteams/src/attachments/download.ts +53 -21
- package/extensions/msteams/src/attachments/graph.ts +48 -16
- package/extensions/msteams/src/attachments/html.ts +23 -9
- package/extensions/msteams/src/attachments/shared.ts +54 -18
- package/extensions/msteams/src/attachments.test.ts +1 -2
- package/extensions/msteams/src/channel.directory.test.ts +8 -6
- package/extensions/msteams/src/channel.ts +49 -26
- package/extensions/msteams/src/conversation-store-fs.test.ts +10 -10
- package/extensions/msteams/src/conversation-store-fs.ts +15 -5
- package/extensions/msteams/src/conversation-store-memory.ts +3 -1
- package/extensions/msteams/src/directory-live.ts +42 -16
- package/extensions/msteams/src/errors.test.ts +0 -1
- package/extensions/msteams/src/errors.ts +48 -16
- package/extensions/msteams/src/file-consent-helpers.test.ts +12 -3
- package/extensions/msteams/src/file-consent.ts +6 -2
- package/extensions/msteams/src/graph-chat.ts +5 -4
- package/extensions/msteams/src/graph-upload.ts +27 -19
- package/extensions/msteams/src/inbound.test.ts +0 -1
- package/extensions/msteams/src/inbound.ts +15 -5
- package/extensions/msteams/src/media-helpers.test.ts +9 -6
- package/extensions/msteams/src/media-helpers.ts +16 -7
- package/extensions/msteams/src/messenger.test.ts +7 -4
- package/extensions/msteams/src/messenger.ts +56 -21
- package/extensions/msteams/src/monitor-handler/inbound-media.ts +4 -2
- package/extensions/msteams/src/monitor-handler/message-handler.ts +66 -56
- package/extensions/msteams/src/monitor-handler.ts +5 -9
- package/extensions/msteams/src/monitor.ts +22 -17
- package/extensions/msteams/src/onboarding.ts +21 -22
- package/extensions/msteams/src/outbound.ts +1 -2
- package/extensions/msteams/src/pending-uploads.ts +7 -5
- package/extensions/msteams/src/policy.test.ts +1 -2
- package/extensions/msteams/src/policy.ts +41 -15
- package/extensions/msteams/src/polls-store-memory.ts +3 -1
- package/extensions/msteams/src/polls-store.test.ts +2 -4
- package/extensions/msteams/src/polls.test.ts +8 -8
- package/extensions/msteams/src/polls.ts +33 -17
- package/extensions/msteams/src/probe.test.ts +4 -3
- package/extensions/msteams/src/probe.ts +19 -11
- package/extensions/msteams/src/reply-dispatcher.ts +8 -6
- package/extensions/msteams/src/resolve-allowlist.ts +39 -19
- package/extensions/msteams/src/runtime.ts +1 -1
- package/extensions/msteams/src/send-context.ts +13 -5
- package/extensions/msteams/src/send.ts +53 -23
- package/extensions/msteams/src/sent-message-cache.test.ts +0 -1
- package/extensions/msteams/src/sent-message-cache.ts +9 -3
- package/extensions/msteams/src/storage.ts +6 -3
- package/extensions/msteams/src/store-fs.ts +6 -3
- package/extensions/msteams/src/token.ts +1 -1
- package/extensions/nextcloud-talk/index.ts +3 -4
- package/extensions/nextcloud-talk/node_modules/.bin/openclaw +17 -0
- package/extensions/nextcloud-talk/{clawdbot.plugin.json → openclaw.plugin.json} +1 -3
- package/extensions/nextcloud-talk/package.json +8 -5
- package/extensions/nextcloud-talk/src/accounts.ts +40 -20
- package/extensions/nextcloud-talk/src/channel.ts +25 -20
- package/extensions/nextcloud-talk/src/config-schema.ts +1 -1
- package/extensions/nextcloud-talk/src/format.ts +13 -13
- package/extensions/nextcloud-talk/src/inbound.ts +23 -39
- package/extensions/nextcloud-talk/src/monitor.ts +8 -8
- package/extensions/nextcloud-talk/src/normalize.ts +12 -4
- package/extensions/nextcloud-talk/src/onboarding.ts +8 -6
- package/extensions/nextcloud-talk/src/policy.ts +20 -7
- package/extensions/nextcloud-talk/src/room-info.ts +29 -15
- package/extensions/nextcloud-talk/src/runtime.ts +1 -1
- package/extensions/nextcloud-talk/src/send.ts +7 -3
- package/extensions/nextcloud-talk/src/signature.ts +9 -4
- package/extensions/nextcloud-talk/src/types.ts +1 -1
- package/extensions/nostr/CHANGELOG.md +17 -6
- package/extensions/nostr/README.md +21 -21
- package/extensions/nostr/index.ts +8 -9
- package/extensions/nostr/node_modules/.bin/openclaw +17 -0
- package/extensions/nostr/{clawdbot.plugin.json → openclaw.plugin.json} +1 -3
- package/extensions/nostr/package.json +13 -10
- package/extensions/nostr/src/channel.test.ts +15 -5
- package/extensions/nostr/src/channel.ts +30 -19
- package/extensions/nostr/src/config-schema.ts +2 -2
- package/extensions/nostr/src/metrics.ts +33 -19
- package/extensions/nostr/src/nostr-bus.fuzz.test.ts +11 -22
- package/extensions/nostr/src/nostr-bus.integration.test.ts +2 -6
- package/extensions/nostr/src/nostr-bus.test.ts +3 -3
- package/extensions/nostr/src/nostr-bus.ts +56 -82
- package/extensions/nostr/src/nostr-profile-http.test.ts +10 -10
- package/extensions/nostr/src/nostr-profile-http.ts +37 -18
- package/extensions/nostr/src/nostr-profile-import.test.ts +2 -3
- package/extensions/nostr/src/nostr-profile-import.ts +10 -7
- package/extensions/nostr/src/nostr-profile.fuzz.test.ts +7 -9
- package/extensions/nostr/src/nostr-profile.test.ts +7 -7
- package/extensions/nostr/src/nostr-profile.ts +56 -21
- package/extensions/nostr/src/nostr-state-store.test.ts +14 -11
- package/extensions/nostr/src/nostr-state-store.ts +29 -29
- package/extensions/nostr/src/runtime.ts +1 -1
- package/extensions/nostr/src/seen-tracker.ts +48 -16
- package/extensions/nostr/src/types.test.ts +1 -5
- package/extensions/nostr/src/types.ts +8 -6
- package/extensions/open-prose/index.ts +2 -2
- package/extensions/open-prose/node_modules/.bin/openclaw +17 -0
- package/extensions/open-prose/package.json +7 -4
- package/extensions/open-prose/skills/prose/SKILL.md +69 -64
- package/extensions/open-prose/skills/prose/alts/arabian-nights.md +62 -62
- package/extensions/open-prose/skills/prose/alts/borges.md +65 -65
- package/extensions/open-prose/skills/prose/alts/folk.md +61 -61
- package/extensions/open-prose/skills/prose/alts/homer.md +59 -59
- package/extensions/open-prose/skills/prose/alts/kafka.md +67 -67
- package/extensions/open-prose/skills/prose/compiler.md +135 -131
- package/extensions/open-prose/skills/prose/examples/README.md +6 -6
- package/extensions/open-prose/skills/prose/examples/roadmap/README.md +8 -8
- package/extensions/open-prose/skills/prose/guidance/patterns.md +16 -16
- package/extensions/open-prose/skills/prose/help.md +22 -21
- package/extensions/open-prose/skills/prose/lib/README.md +14 -11
- package/extensions/open-prose/skills/prose/primitives/session.md +17 -11
- package/extensions/open-prose/skills/prose/prose.md +25 -23
- package/extensions/open-prose/skills/prose/state/filesystem.md +61 -41
- package/extensions/open-prose/skills/prose/state/in-context.md +46 -42
- package/extensions/open-prose/skills/prose/state/postgres.md +70 -65
- package/extensions/open-prose/skills/prose/state/sqlite.md +45 -43
- package/extensions/qq/src/onebot/api.test.ts +51 -0
- package/extensions/qq/src/onebot/api.ts +39 -0
- package/extensions/qq/src/send.test.ts +48 -5
- package/extensions/qq/src/send.ts +65 -0
- package/extensions/qwen-portal-auth/README.md +3 -3
- package/extensions/qwen-portal-auth/index.ts +6 -3
- package/extensions/qwen-portal-auth/{clawdbot.plugin.json → openclaw.plugin.json} +1 -3
- package/extensions/signal/index.ts +3 -4
- package/extensions/signal/node_modules/.bin/openclaw +17 -0
- package/extensions/signal/{clawdbot.plugin.json → openclaw.plugin.json} +1 -3
- package/extensions/signal/package.json +7 -4
- package/extensions/signal/src/channel.ts +7 -4
- package/extensions/signal/src/runtime.ts +1 -1
- package/extensions/slack/index.ts +3 -4
- package/extensions/slack/node_modules/.bin/openclaw +17 -0
- package/extensions/slack/{clawdbot.plugin.json → openclaw.plugin.json} +1 -3
- package/extensions/slack/package.json +7 -4
- package/extensions/slack/src/channel.ts +43 -16
- package/extensions/slack/src/runtime.ts +1 -1
- package/extensions/telegram/index.ts +3 -4
- package/extensions/telegram/node_modules/.bin/openclaw +17 -0
- package/extensions/telegram/{clawdbot.plugin.json → openclaw.plugin.json} +1 -3
- package/extensions/telegram/package.json +7 -4
- package/extensions/telegram/src/channel.ts +30 -17
- package/extensions/telegram/src/runtime.ts +1 -1
- package/extensions/tlon/README.md +3 -3
- package/extensions/tlon/index.ts +3 -4
- package/extensions/tlon/node_modules/.bin/openclaw +17 -0
- package/extensions/tlon/{clawdbot.plugin.json → openclaw.plugin.json} +1 -3
- package/extensions/tlon/package.json +12 -9
- package/extensions/tlon/src/channel.ts +45 -32
- package/extensions/tlon/src/config-schema.test.ts +0 -1
- package/extensions/tlon/src/config-schema.ts +1 -1
- package/extensions/tlon/src/monitor/discovery.ts +8 -5
- package/extensions/tlon/src/monitor/history.ts +8 -7
- package/extensions/tlon/src/monitor/index.ts +98 -48
- package/extensions/tlon/src/monitor/processed-messages.test.ts +0 -1
- package/extensions/tlon/src/monitor/processed-messages.ts +12 -4
- package/extensions/tlon/src/monitor/utils.ts +28 -12
- package/extensions/tlon/src/onboarding.ts +8 -7
- package/extensions/tlon/src/runtime.ts +1 -1
- package/extensions/tlon/src/targets.ts +15 -5
- package/extensions/tlon/src/types.ts +16 -9
- package/extensions/tlon/src/urbit/http-api.ts +3 -1
- package/extensions/tlon/src/urbit/send.ts +7 -3
- package/extensions/tlon/src/urbit/sse-client.test.ts +0 -1
- package/extensions/tlon/src/urbit/sse-client.ts +18 -6
- package/extensions/twitch/CHANGELOG.md +10 -3
- package/extensions/twitch/README.md +8 -8
- package/extensions/twitch/index.ts +3 -4
- package/extensions/twitch/node_modules/.bin/openclaw +17 -0
- package/extensions/twitch/package.json +6 -6
- package/extensions/twitch/src/access-control.test.ts +1 -1
- package/extensions/twitch/src/access-control.ts +12 -4
- package/extensions/twitch/src/actions.ts +2 -2
- package/extensions/twitch/src/client-manager-registry.ts +1 -1
- package/extensions/twitch/src/config-schema.ts +1 -1
- package/extensions/twitch/src/config.test.ts +0 -1
- package/extensions/twitch/src/config.ts +3 -3
- package/extensions/twitch/src/monitor.ts +11 -7
- package/extensions/twitch/src/onboarding.test.ts +1 -1
- package/extensions/twitch/src/onboarding.ts +23 -17
- package/extensions/twitch/src/outbound.test.ts +2 -2
- package/extensions/twitch/src/outbound.ts +6 -6
- package/extensions/twitch/src/plugin.test.ts +2 -2
- package/extensions/twitch/src/plugin.ts +22 -22
- package/extensions/twitch/src/probe.test.ts +2 -5
- package/extensions/twitch/src/probe.ts +3 -1
- package/extensions/twitch/src/runtime.ts +1 -1
- package/extensions/twitch/src/send.test.ts +2 -2
- package/extensions/twitch/src/send.ts +6 -6
- package/extensions/twitch/src/status.test.ts +1 -1
- package/extensions/twitch/src/status.ts +4 -2
- package/extensions/twitch/src/token.test.ts +12 -12
- package/extensions/twitch/src/token.ts +14 -10
- package/extensions/twitch/src/twitch-client.test.ts +10 -4
- package/extensions/twitch/src/twitch-client.ts +4 -4
- package/extensions/twitch/src/types.ts +12 -12
- package/extensions/twitch/src/utils/markdown.ts +10 -4
- package/extensions/voice-call/CHANGELOG.md +32 -13
- package/extensions/voice-call/README.md +29 -25
- package/extensions/voice-call/index.ts +45 -49
- package/extensions/voice-call/node_modules/.bin/openclaw +17 -0
- package/extensions/voice-call/{clawdbot.plugin.json → openclaw.plugin.json} +11 -53
- package/extensions/voice-call/package.json +8 -5
- package/extensions/voice-call/src/cli.ts +92 -113
- package/extensions/voice-call/src/config.test.ts +1 -4
- package/extensions/voice-call/src/config.ts +88 -110
- package/extensions/voice-call/src/core-bridge.ts +18 -16
- package/extensions/voice-call/src/manager/context.ts +1 -1
- package/extensions/voice-call/src/manager/events.ts +18 -9
- package/extensions/voice-call/src/manager/lookup.ts +3 -1
- package/extensions/voice-call/src/manager/outbound.ts +46 -19
- package/extensions/voice-call/src/manager/state.ts +4 -6
- package/extensions/voice-call/src/manager/store.ts +6 -3
- package/extensions/voice-call/src/manager/timers.ts +11 -8
- package/extensions/voice-call/src/manager.test.ts +9 -12
- package/extensions/voice-call/src/manager.ts +69 -79
- package/extensions/voice-call/src/media-stream.test.ts +0 -1
- package/extensions/voice-call/src/media-stream.ts +12 -26
- package/extensions/voice-call/src/providers/mock.ts +13 -16
- package/extensions/voice-call/src/providers/plivo.test.ts +0 -1
- package/extensions/voice-call/src/providers/plivo.ts +27 -29
- package/extensions/voice-call/src/providers/stt-openai-realtime.ts +8 -8
- package/extensions/voice-call/src/providers/telnyx.ts +5 -11
- package/extensions/voice-call/src/providers/tts-openai.ts +9 -14
- package/extensions/voice-call/src/providers/twilio/api.ts +9 -12
- package/extensions/voice-call/src/providers/twilio/webhook.ts +2 -4
- package/extensions/voice-call/src/providers/twilio.test.ts +1 -5
- package/extensions/voice-call/src/providers/twilio.ts +34 -46
- package/extensions/voice-call/src/response-generator.ts +8 -21
- package/extensions/voice-call/src/runtime.ts +12 -25
- package/extensions/voice-call/src/telephony-audio.ts +14 -12
- package/extensions/voice-call/src/telephony-tts.ts +21 -12
- package/extensions/voice-call/src/tunnel.ts +7 -24
- package/extensions/voice-call/src/types.ts +0 -1
- package/extensions/voice-call/src/utils.ts +3 -1
- package/extensions/voice-call/src/voice-mapping.ts +3 -1
- package/extensions/voice-call/src/webhook-security.test.ts +12 -21
- package/extensions/voice-call/src/webhook-security.ts +25 -29
- package/extensions/voice-call/src/webhook.ts +22 -57
- package/extensions/whatsapp/index.ts +3 -4
- package/extensions/whatsapp/node_modules/.bin/openclaw +17 -0
- package/extensions/whatsapp/{clawdbot.plugin.json → openclaw.plugin.json} +1 -3
- package/extensions/whatsapp/package.json +7 -4
- package/extensions/whatsapp/src/channel.ts +26 -18
- package/extensions/whatsapp/src/runtime.ts +1 -1
- package/extensions/zalo/CHANGELOG.md +28 -11
- package/extensions/zalo/README.md +10 -10
- package/extensions/zalo/index.ts +3 -4
- package/extensions/zalo/node_modules/.bin/openclaw +17 -0
- package/extensions/zalo/{clawdbot.plugin.json → openclaw.plugin.json} +1 -3
- package/extensions/zalo/package.json +12 -9
- package/extensions/zalo/src/accounts.ts +25 -16
- package/extensions/zalo/src/actions.ts +15 -10
- package/extensions/zalo/src/api.ts +3 -1
- package/extensions/zalo/src/channel.directory.test.ts +16 -8
- package/extensions/zalo/src/channel.ts +58 -38
- package/extensions/zalo/src/config-schema.ts +1 -1
- package/extensions/zalo/src/monitor.ts +40 -47
- package/extensions/zalo/src/monitor.webhook.test.ts +25 -22
- package/extensions/zalo/src/onboarding.ts +58 -62
- package/extensions/zalo/src/proxy.ts +8 -5
- package/extensions/zalo/src/runtime.ts +1 -1
- package/extensions/zalo/src/send.ts +20 -13
- package/extensions/zalo/src/status-issues.ts +12 -9
- package/extensions/zalo/src/token.ts +16 -8
- package/extensions/zalouser/CHANGELOG.md +17 -6
- package/extensions/zalouser/README.md +24 -20
- package/extensions/zalouser/index.ts +4 -5
- package/extensions/zalouser/node_modules/.bin/openclaw +17 -0
- package/extensions/zalouser/{clawdbot.plugin.json → openclaw.plugin.json} +1 -3
- package/extensions/zalouser/package.json +10 -7
- package/extensions/zalouser/src/accounts.ts +47 -29
- package/extensions/zalouser/src/channel.test.ts +3 -2
- package/extensions/zalouser/src/channel.ts +113 -68
- package/extensions/zalouser/src/config-schema.ts +1 -1
- package/extensions/zalouser/src/monitor.ts +54 -38
- package/extensions/zalouser/src/onboarding.ts +86 -70
- package/extensions/zalouser/src/probe.ts +1 -1
- package/extensions/zalouser/src/runtime.ts +1 -1
- package/extensions/zalouser/src/send.ts +15 -5
- package/extensions/zalouser/src/status-issues.test.ts +0 -1
- package/extensions/zalouser/src/status-issues.ts +14 -6
- package/extensions/zalouser/src/tool.ts +29 -21
- package/extensions/zalouser/src/types.ts +8 -2
- package/extensions/zalouser/src/zca.ts +3 -9
- package/package.json +135 -146
- package/scripts/format-staged.js +28 -27
- package/scripts/postinstall.js +85 -24
- package/scripts/setup-git-hooks.js +13 -5
- package/skills/1password/SKILL.md +20 -3
- package/skills/apple-notes/SKILL.md +29 -2
- package/skills/apple-reminders/SKILL.md +30 -1
- package/skills/bear-notes/SKILL.md +29 -1
- package/skills/bird/SKILL.md +29 -2
- package/skills/blogwatcher/SKILL.md +24 -1
- package/skills/blucli/SKILL.md +21 -1
- package/skills/bluebubbles/SKILL.md +7 -2
- package/skills/camsnap/SKILL.md +21 -1
- package/skills/canvas/SKILL.md +28 -19
- package/skills/clawhub/SKILL.md +77 -0
- package/skills/coding-agent/SKILL.md +36 -30
- package/skills/discord/SKILL.md +13 -6
- package/skills/eightctl/SKILL.md +22 -1
- package/skills/food-order/SKILL.md +8 -1
- package/skills/gemini/SKILL.md +21 -1
- package/skills/gifgrep/SKILL.md +33 -1
- package/skills/github/SKILL.md +31 -2
- package/skills/gog/SKILL.md +25 -1
- package/skills/goplaces/SKILL.md +23 -1
- package/skills/himalaya/SKILL.md +41 -1
- package/skills/himalaya/references/configuration.md +10 -0
- package/skills/himalaya/references/message-composition.md +17 -0
- package/skills/imsg/SKILL.md +22 -1
- package/skills/local-places/SKILL.md +14 -3
- package/skills/local-places/pyproject.toml +2 -8
- package/skills/mcporter/SKILL.md +24 -1
- package/skills/model-usage/SKILL.md +27 -3
- package/skills/model-usage/references/codexbar-cli.md +7 -2
- package/skills/nano-banana-pro/SKILL.md +26 -3
- package/skills/nano-banana-pro/scripts/generate_image.py +1 -1
- package/skills/nano-pdf/SKILL.md +19 -1
- package/skills/notion/SKILL.md +17 -1
- package/skills/obsidian/SKILL.md +27 -1
- package/skills/openai-image-gen/SKILL.md +19 -1
- package/skills/openai-whisper/SKILL.md +20 -1
- package/skills/openai-whisper-api/SKILL.md +14 -5
- package/skills/openhue/SKILL.md +22 -1
- package/skills/oracle/SKILL.md +21 -1
- package/skills/ordercli/SKILL.md +32 -1
- package/skills/peekaboo/SKILL.md +38 -1
- package/skills/sag/SKILL.md +26 -1
- package/skills/session-logs/SKILL.md +17 -7
- package/skills/sherpa-onnx-tts/SKILL.md +64 -10
- package/skills/skill-creator/SKILL.md +0 -1
- package/skills/slack/SKILL.md +11 -11
- package/skills/songsee/SKILL.md +21 -1
- package/skills/sonoscli/SKILL.md +21 -1
- package/skills/spotify-player/SKILL.md +31 -1
- package/skills/summarize/SKILL.md +21 -1
- package/skills/things-mac/SKILL.md +28 -3
- package/skills/tmux/SKILL.md +10 -8
- package/skills/tmux/scripts/find-sessions.sh +2 -2
- package/skills/trello/SKILL.md +13 -2
- package/skills/video-frames/SKILL.md +18 -1
- package/skills/voice-call/SKILL.md +14 -4
- package/skills/wacli/SKILL.md +32 -2
- package/skills/weather/SKILL.md +6 -1
- package/dist/control-ui/assets/index-BAFzd9IE.css +0 -1
- package/dist/control-ui/assets/index-CxUFDXFX.js +0 -3162
- package/dist/control-ui/assets/index-CxUFDXFX.js.map +0 -1
- package/skills/clawdhub/SKILL.md +0 -53
- /package/docs/{whatsapp-clawd.jpg → whatsapp-openclaw.jpg} +0 -0
- /package/extensions/diagnostics-otel/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/llm-task/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/lobster/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/memory-core/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/open-prose/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/twitch/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/{moltbot.mjs → openclaw.mjs} +0 -0
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
---
|
|
2
|
-
summary: "All configuration options for ~/.
|
|
2
|
+
summary: "All configuration options for ~/.openclaw/openclaw.json with examples"
|
|
3
3
|
read_when:
|
|
4
4
|
- Adding or modifying config fields
|
|
5
|
+
title: "Configuration"
|
|
5
6
|
---
|
|
7
|
+
|
|
6
8
|
# Configuration 🔧
|
|
7
9
|
|
|
8
|
-
|
|
10
|
+
OpenClaw reads an optional **JSON5** config from `~/.openclaw/openclaw.json` (comments + trailing commas allowed).
|
|
11
|
+
|
|
12
|
+
If the file is missing, OpenClaw uses safe-ish defaults (embedded Pi agent + per-sender sessions + workspace `~/.openclaw/workspace`). You usually only need a config to:
|
|
9
13
|
|
|
10
|
-
If the file is missing, Moltbot uses safe-ish defaults (embedded Pi agent + per-sender sessions + workspace `~/clawd`). You usually only need a config to:
|
|
11
14
|
- restrict who can trigger the bot (`channels.whatsapp.allowFrom`, `channels.telegram.allowFrom`, etc.)
|
|
12
15
|
- control group allowlists + mention behavior (`channels.whatsapp.groups`, `channels.telegram.groups`, `channels.discord.guilds`, `agents.list[].groupChat`)
|
|
13
16
|
- customize message prefixes (`messages`)
|
|
@@ -19,14 +22,15 @@ If the file is missing, Moltbot uses safe-ish defaults (embedded Pi agent + per-
|
|
|
19
22
|
|
|
20
23
|
## Strict config validation
|
|
21
24
|
|
|
22
|
-
|
|
25
|
+
OpenClaw only accepts configurations that fully match the schema.
|
|
23
26
|
Unknown keys, malformed types, or invalid values cause the Gateway to **refuse to start** for safety.
|
|
24
27
|
|
|
25
28
|
When validation fails:
|
|
29
|
+
|
|
26
30
|
- The Gateway does not boot.
|
|
27
|
-
- Only diagnostic commands are allowed (for example: `
|
|
28
|
-
- Run `
|
|
29
|
-
- Run `
|
|
31
|
+
- Only diagnostic commands are allowed (for example: `openclaw doctor`, `openclaw logs`, `openclaw health`, `openclaw status`, `openclaw service`, `openclaw help`).
|
|
32
|
+
- Run `openclaw doctor` to see the exact issues.
|
|
33
|
+
- Run `openclaw doctor --fix` (or `--yes`) to apply migrations/repairs.
|
|
30
34
|
|
|
31
35
|
Doctor never writes changes unless you explicitly opt into `--fix`/`--yes`.
|
|
32
36
|
|
|
@@ -47,9 +51,10 @@ Use `config.apply` to validate + write the full config and restart the Gateway i
|
|
|
47
51
|
It writes a restart sentinel and pings the last active session after the Gateway comes back.
|
|
48
52
|
|
|
49
53
|
Warning: `config.apply` replaces the **entire config**. If you want to change only a few keys,
|
|
50
|
-
use `config.patch` or `
|
|
54
|
+
use `config.patch` or `openclaw config set`. Keep a backup of `~/.openclaw/openclaw.json`.
|
|
51
55
|
|
|
52
56
|
Params:
|
|
57
|
+
|
|
53
58
|
- `raw` (string) — JSON5 payload for the entire config
|
|
54
59
|
- `baseHash` (optional) — config hash from `config.get` (required when a config already exists)
|
|
55
60
|
- `sessionKey` (optional) — last active session key for the wake-up ping
|
|
@@ -59,9 +64,9 @@ Params:
|
|
|
59
64
|
Example (via `gateway call`):
|
|
60
65
|
|
|
61
66
|
```bash
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
"raw": "{\\n agents: { defaults: { workspace: \\"
|
|
67
|
+
openclaw gateway call config.get --params '{}' # capture payload.hash
|
|
68
|
+
openclaw gateway call config.apply --params '{
|
|
69
|
+
"raw": "{\\n agents: { defaults: { workspace: \\"~/.openclaw/workspace\\" } }\\n}\\n",
|
|
65
70
|
"baseHash": "<hash-from-config.get>",
|
|
66
71
|
"sessionKey": "agent:main:whatsapp:dm:+15555550123",
|
|
67
72
|
"restartDelayMs": 1000
|
|
@@ -72,13 +77,15 @@ moltbot gateway call config.apply --params '{
|
|
|
72
77
|
|
|
73
78
|
Use `config.patch` to merge a partial update into the existing config without clobbering
|
|
74
79
|
unrelated keys. It applies JSON merge patch semantics:
|
|
80
|
+
|
|
75
81
|
- objects merge recursively
|
|
76
82
|
- `null` deletes a key
|
|
77
83
|
- arrays replace
|
|
78
|
-
Like `config.apply`, it validates, writes the config, stores a restart sentinel, and schedules
|
|
79
|
-
the Gateway restart (with an optional wake when `sessionKey` is provided).
|
|
84
|
+
Like `config.apply`, it validates, writes the config, stores a restart sentinel, and schedules
|
|
85
|
+
the Gateway restart (with an optional wake when `sessionKey` is provided).
|
|
80
86
|
|
|
81
87
|
Params:
|
|
88
|
+
|
|
82
89
|
- `raw` (string) — JSON5 payload containing just the keys to change
|
|
83
90
|
- `baseHash` (required) — config hash from `config.get`
|
|
84
91
|
- `sessionKey` (optional) — last active session key for the wake-up ping
|
|
@@ -88,8 +95,8 @@ Params:
|
|
|
88
95
|
Example:
|
|
89
96
|
|
|
90
97
|
```bash
|
|
91
|
-
|
|
92
|
-
|
|
98
|
+
openclaw gateway call config.get --params '{}' # capture payload.hash
|
|
99
|
+
openclaw gateway call config.patch --params '{
|
|
93
100
|
"raw": "{\\n channels: { telegram: { groups: { \\"*\\": { requireMention: false } } } }\\n}\\n",
|
|
94
101
|
"baseHash": "<hash-from-config.get>",
|
|
95
102
|
"sessionKey": "agent:main:whatsapp:dm:+15555550123",
|
|
@@ -101,12 +108,13 @@ moltbot gateway call config.patch --params '{
|
|
|
101
108
|
|
|
102
109
|
```json5
|
|
103
110
|
{
|
|
104
|
-
agents: { defaults: { workspace: "
|
|
105
|
-
channels: { whatsapp: { allowFrom: ["+15555550123"] } }
|
|
111
|
+
agents: { defaults: { workspace: "~/.openclaw/workspace" } },
|
|
112
|
+
channels: { whatsapp: { allowFrom: ["+15555550123"] } },
|
|
106
113
|
}
|
|
107
114
|
```
|
|
108
115
|
|
|
109
116
|
Build the default image once with:
|
|
117
|
+
|
|
110
118
|
```bash
|
|
111
119
|
scripts/sandbox-setup.sh
|
|
112
120
|
```
|
|
@@ -118,27 +126,28 @@ To prevent the bot from responding to WhatsApp @-mentions in groups (only respon
|
|
|
118
126
|
```json5
|
|
119
127
|
{
|
|
120
128
|
agents: {
|
|
121
|
-
defaults: { workspace: "
|
|
129
|
+
defaults: { workspace: "~/.openclaw/workspace" },
|
|
122
130
|
list: [
|
|
123
131
|
{
|
|
124
132
|
id: "main",
|
|
125
|
-
groupChat: { mentionPatterns: ["@
|
|
126
|
-
}
|
|
127
|
-
]
|
|
133
|
+
groupChat: { mentionPatterns: ["@openclaw", "reisponde"] },
|
|
134
|
+
},
|
|
135
|
+
],
|
|
128
136
|
},
|
|
129
137
|
channels: {
|
|
130
138
|
whatsapp: {
|
|
131
139
|
// Allowlist is DMs only; including your own number enables self-chat mode.
|
|
132
140
|
allowFrom: ["+15555550123"],
|
|
133
|
-
groups: { "*": { requireMention: true } }
|
|
134
|
-
}
|
|
135
|
-
}
|
|
141
|
+
groups: { "*": { requireMention: true } },
|
|
142
|
+
},
|
|
143
|
+
},
|
|
136
144
|
}
|
|
137
145
|
```
|
|
138
146
|
|
|
139
147
|
## Config Includes (`$include`)
|
|
140
148
|
|
|
141
149
|
Split your config into multiple files using the `$include` directive. This is useful for:
|
|
150
|
+
|
|
142
151
|
- Organizing large configs (e.g., per-client agent definitions)
|
|
143
152
|
- Sharing common settings across environments
|
|
144
153
|
- Keeping sensitive configs separate
|
|
@@ -146,30 +155,25 @@ Split your config into multiple files using the `$include` directive. This is us
|
|
|
146
155
|
### Basic usage
|
|
147
156
|
|
|
148
157
|
```json5
|
|
149
|
-
// ~/.
|
|
158
|
+
// ~/.openclaw/openclaw.json
|
|
150
159
|
{
|
|
151
160
|
gateway: { port: 18789 },
|
|
152
|
-
|
|
161
|
+
|
|
153
162
|
// Include a single file (replaces the key's value)
|
|
154
|
-
agents: {
|
|
155
|
-
|
|
163
|
+
agents: { $include: "./agents.json5" },
|
|
164
|
+
|
|
156
165
|
// Include multiple files (deep-merged in order)
|
|
157
|
-
broadcast: {
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
"./clients/schmidt.json5"
|
|
161
|
-
]
|
|
162
|
-
}
|
|
166
|
+
broadcast: {
|
|
167
|
+
$include: ["./clients/mueller.json5", "./clients/schmidt.json5"],
|
|
168
|
+
},
|
|
163
169
|
}
|
|
164
170
|
```
|
|
165
171
|
|
|
166
172
|
```json5
|
|
167
|
-
// ~/.
|
|
173
|
+
// ~/.openclaw/agents.json5
|
|
168
174
|
{
|
|
169
175
|
defaults: { sandbox: { mode: "all", scope: "session" } },
|
|
170
|
-
list: [
|
|
171
|
-
{ id: "main", workspace: "~/clawd" }
|
|
172
|
-
]
|
|
176
|
+
list: [{ id: "main", workspace: "~/.openclaw/workspace" }],
|
|
173
177
|
}
|
|
174
178
|
```
|
|
175
179
|
|
|
@@ -183,8 +187,8 @@ Split your config into multiple files using the `$include` directive. This is us
|
|
|
183
187
|
```json5
|
|
184
188
|
// Sibling keys override included values
|
|
185
189
|
{
|
|
186
|
-
|
|
187
|
-
b: 99
|
|
190
|
+
$include: "./base.json5", // { a: 1, b: 2 }
|
|
191
|
+
b: 99, // Result: { a: 1, b: 99 }
|
|
188
192
|
}
|
|
189
193
|
```
|
|
190
194
|
|
|
@@ -195,8 +199,8 @@ Included files can themselves contain `$include` directives (up to 10 levels dee
|
|
|
195
199
|
```json5
|
|
196
200
|
// clients/mueller.json5
|
|
197
201
|
{
|
|
198
|
-
agents: {
|
|
199
|
-
broadcast: {
|
|
202
|
+
agents: { $include: "./mueller/agents.json5" },
|
|
203
|
+
broadcast: { $include: "./mueller/broadcast.json5" },
|
|
200
204
|
}
|
|
201
205
|
```
|
|
202
206
|
|
|
@@ -208,7 +212,7 @@ Included files can themselves contain `$include` directives (up to 10 levels dee
|
|
|
208
212
|
|
|
209
213
|
```json5
|
|
210
214
|
{ "$include": "./sub/config.json5" } // relative
|
|
211
|
-
{ "$include": "/etc/
|
|
215
|
+
{ "$include": "/etc/openclaw/base.json5" } // absolute
|
|
212
216
|
{ "$include": "../shared/common.json5" } // parent dir
|
|
213
217
|
```
|
|
214
218
|
|
|
@@ -221,44 +225,40 @@ Included files can themselves contain `$include` directives (up to 10 levels dee
|
|
|
221
225
|
### Example: Multi-client legal setup
|
|
222
226
|
|
|
223
227
|
```json5
|
|
224
|
-
// ~/.
|
|
228
|
+
// ~/.openclaw/openclaw.json
|
|
225
229
|
{
|
|
226
230
|
gateway: { port: 18789, auth: { token: "secret" } },
|
|
227
|
-
|
|
231
|
+
|
|
228
232
|
// Common agent defaults
|
|
229
233
|
agents: {
|
|
230
234
|
defaults: {
|
|
231
|
-
sandbox: { mode: "all", scope: "session" }
|
|
235
|
+
sandbox: { mode: "all", scope: "session" },
|
|
232
236
|
},
|
|
233
237
|
// Merge agent lists from all clients
|
|
234
|
-
list: {
|
|
235
|
-
"./clients/mueller/agents.json5",
|
|
236
|
-
"./clients/schmidt/agents.json5"
|
|
237
|
-
]}
|
|
238
|
+
list: { $include: ["./clients/mueller/agents.json5", "./clients/schmidt/agents.json5"] },
|
|
238
239
|
},
|
|
239
|
-
|
|
240
|
+
|
|
240
241
|
// Merge broadcast configs
|
|
241
|
-
broadcast: {
|
|
242
|
-
"./clients/mueller/broadcast.json5",
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
channels: { whatsapp: { groupPolicy: "allowlist" } }
|
|
242
|
+
broadcast: {
|
|
243
|
+
$include: ["./clients/mueller/broadcast.json5", "./clients/schmidt/broadcast.json5"],
|
|
244
|
+
},
|
|
245
|
+
|
|
246
|
+
channels: { whatsapp: { groupPolicy: "allowlist" } },
|
|
247
247
|
}
|
|
248
248
|
```
|
|
249
249
|
|
|
250
250
|
```json5
|
|
251
|
-
// ~/.
|
|
251
|
+
// ~/.openclaw/clients/mueller/agents.json5
|
|
252
252
|
[
|
|
253
253
|
{ id: "mueller-transcribe", workspace: "~/clients/mueller/transcribe" },
|
|
254
|
-
{ id: "mueller-docs", workspace: "~/clients/mueller/docs" }
|
|
254
|
+
{ id: "mueller-docs", workspace: "~/clients/mueller/docs" },
|
|
255
255
|
]
|
|
256
256
|
```
|
|
257
257
|
|
|
258
258
|
```json5
|
|
259
|
-
// ~/.
|
|
259
|
+
// ~/.openclaw/clients/mueller/broadcast.json5
|
|
260
260
|
{
|
|
261
|
-
"120363403215116621@g.us": ["mueller-transcribe", "mueller-docs"]
|
|
261
|
+
"120363403215116621@g.us": ["mueller-transcribe", "mueller-docs"],
|
|
262
262
|
}
|
|
263
263
|
```
|
|
264
264
|
|
|
@@ -266,11 +266,12 @@ Included files can themselves contain `$include` directives (up to 10 levels dee
|
|
|
266
266
|
|
|
267
267
|
### Env vars + `.env`
|
|
268
268
|
|
|
269
|
-
|
|
269
|
+
OpenClaw reads env vars from the parent process (shell, launchd/systemd, CI, etc.).
|
|
270
270
|
|
|
271
271
|
Additionally, it loads:
|
|
272
|
+
|
|
272
273
|
- `.env` from the current working directory (if present)
|
|
273
|
-
- a global fallback `.env` from `~/.
|
|
274
|
+
- a global fallback `.env` from `~/.openclaw/.env` (aka `$OPENCLAW_STATE_DIR/.env`)
|
|
274
275
|
|
|
275
276
|
Neither `.env` file overrides existing env vars.
|
|
276
277
|
|
|
@@ -282,9 +283,9 @@ process env is missing the key (same non-overriding rule):
|
|
|
282
283
|
env: {
|
|
283
284
|
OPENROUTER_API_KEY: "sk-or-...",
|
|
284
285
|
vars: {
|
|
285
|
-
GROQ_API_KEY: "gsk-..."
|
|
286
|
-
}
|
|
287
|
-
}
|
|
286
|
+
GROQ_API_KEY: "gsk-...",
|
|
287
|
+
},
|
|
288
|
+
},
|
|
288
289
|
}
|
|
289
290
|
```
|
|
290
291
|
|
|
@@ -292,7 +293,7 @@ See [/environment](/environment) for full precedence and sources.
|
|
|
292
293
|
|
|
293
294
|
### `env.shellEnv` (optional)
|
|
294
295
|
|
|
295
|
-
Opt-in convenience: if enabled and none of the expected keys are set yet,
|
|
296
|
+
Opt-in convenience: if enabled and none of the expected keys are set yet, OpenClaw runs your login shell and imports only the missing expected keys (never overrides).
|
|
296
297
|
This effectively sources your shell profile.
|
|
297
298
|
|
|
298
299
|
```json5
|
|
@@ -300,15 +301,16 @@ This effectively sources your shell profile.
|
|
|
300
301
|
env: {
|
|
301
302
|
shellEnv: {
|
|
302
303
|
enabled: true,
|
|
303
|
-
timeoutMs: 15000
|
|
304
|
-
}
|
|
305
|
-
}
|
|
304
|
+
timeoutMs: 15000,
|
|
305
|
+
},
|
|
306
|
+
},
|
|
306
307
|
}
|
|
307
308
|
```
|
|
308
309
|
|
|
309
310
|
Env var equivalent:
|
|
310
|
-
|
|
311
|
-
- `
|
|
311
|
+
|
|
312
|
+
- `OPENCLAW_LOAD_SHELL_ENV=1`
|
|
313
|
+
- `OPENCLAW_SHELL_ENV_TIMEOUT_MS=15000`
|
|
312
314
|
|
|
313
315
|
### Env var substitution in config
|
|
314
316
|
|
|
@@ -320,19 +322,20 @@ You can reference environment variables directly in any config string value usin
|
|
|
320
322
|
models: {
|
|
321
323
|
providers: {
|
|
322
324
|
"vercel-gateway": {
|
|
323
|
-
apiKey: "${VERCEL_GATEWAY_API_KEY}"
|
|
324
|
-
}
|
|
325
|
-
}
|
|
325
|
+
apiKey: "${VERCEL_GATEWAY_API_KEY}",
|
|
326
|
+
},
|
|
327
|
+
},
|
|
326
328
|
},
|
|
327
329
|
gateway: {
|
|
328
330
|
auth: {
|
|
329
|
-
token: "${
|
|
330
|
-
}
|
|
331
|
-
}
|
|
331
|
+
token: "${OPENCLAW_GATEWAY_TOKEN}",
|
|
332
|
+
},
|
|
333
|
+
},
|
|
332
334
|
}
|
|
333
335
|
```
|
|
334
336
|
|
|
335
337
|
**Rules:**
|
|
338
|
+
|
|
336
339
|
- Only uppercase env var names are matched: `[A-Z_][A-Z0-9_]*`
|
|
337
340
|
- Missing or empty env vars throw an error at config load
|
|
338
341
|
- Escape with `$${VAR}` to output a literal `${VAR}`
|
|
@@ -345,34 +348,39 @@ You can reference environment variables directly in any config string value usin
|
|
|
345
348
|
models: {
|
|
346
349
|
providers: {
|
|
347
350
|
custom: {
|
|
348
|
-
baseUrl: "${CUSTOM_API_BASE}/v1"
|
|
349
|
-
}
|
|
350
|
-
}
|
|
351
|
-
}
|
|
351
|
+
baseUrl: "${CUSTOM_API_BASE}/v1", // → "https://api.example.com/v1"
|
|
352
|
+
},
|
|
353
|
+
},
|
|
354
|
+
},
|
|
352
355
|
}
|
|
353
356
|
```
|
|
354
357
|
|
|
355
358
|
### Auth storage (OAuth + API keys)
|
|
356
359
|
|
|
357
|
-
|
|
358
|
-
|
|
360
|
+
OpenClaw stores **per-agent** auth profiles (OAuth + API keys) in:
|
|
361
|
+
|
|
362
|
+
- `<agentDir>/auth-profiles.json` (default: `~/.openclaw/agents/<agentId>/agent/auth-profiles.json`)
|
|
359
363
|
|
|
360
364
|
See also: [/concepts/oauth](/concepts/oauth)
|
|
361
365
|
|
|
362
366
|
Legacy OAuth imports:
|
|
363
|
-
|
|
367
|
+
|
|
368
|
+
- `~/.openclaw/credentials/oauth.json` (or `$OPENCLAW_STATE_DIR/credentials/oauth.json`)
|
|
364
369
|
|
|
365
370
|
The embedded Pi agent maintains a runtime cache at:
|
|
371
|
+
|
|
366
372
|
- `<agentDir>/auth.json` (managed automatically; don’t edit manually)
|
|
367
373
|
|
|
368
374
|
Legacy agent dir (pre multi-agent):
|
|
369
|
-
|
|
375
|
+
|
|
376
|
+
- `~/.openclaw/agent/*` (migrated by `openclaw doctor` into `~/.openclaw/agents/<defaultAgentId>/agent/*`)
|
|
370
377
|
|
|
371
378
|
Overrides:
|
|
372
|
-
- OAuth dir (legacy import only): `CLAWDBOT_OAUTH_DIR`
|
|
373
|
-
- Agent dir (default agent root override): `CLAWDBOT_AGENT_DIR` (preferred), `PI_CODING_AGENT_DIR` (legacy)
|
|
374
379
|
|
|
375
|
-
|
|
380
|
+
- OAuth dir (legacy import only): `OPENCLAW_OAUTH_DIR`
|
|
381
|
+
- Agent dir (default agent root override): `OPENCLAW_AGENT_DIR` (preferred), `PI_CODING_AGENT_DIR` (legacy)
|
|
382
|
+
|
|
383
|
+
On first use, OpenClaw imports `oauth.json` entries into `auth-profiles.json`.
|
|
376
384
|
|
|
377
385
|
### `auth`
|
|
378
386
|
|
|
@@ -385,12 +393,12 @@ rotation order used for failover.
|
|
|
385
393
|
auth: {
|
|
386
394
|
profiles: {
|
|
387
395
|
"anthropic:me@example.com": { provider: "anthropic", mode: "oauth", email: "me@example.com" },
|
|
388
|
-
"anthropic:work": { provider: "anthropic", mode: "api_key" }
|
|
396
|
+
"anthropic:work": { provider: "anthropic", mode: "api_key" },
|
|
389
397
|
},
|
|
390
398
|
order: {
|
|
391
|
-
anthropic: ["anthropic:me@example.com", "anthropic:work"]
|
|
392
|
-
}
|
|
393
|
-
}
|
|
399
|
+
anthropic: ["anthropic:me@example.com", "anthropic:work"],
|
|
400
|
+
},
|
|
401
|
+
},
|
|
394
402
|
}
|
|
395
403
|
```
|
|
396
404
|
|
|
@@ -398,12 +406,14 @@ rotation order used for failover.
|
|
|
398
406
|
|
|
399
407
|
Optional per-agent identity used for defaults and UX. This is written by the macOS onboarding assistant.
|
|
400
408
|
|
|
401
|
-
If set,
|
|
409
|
+
If set, OpenClaw derives defaults (only when you haven’t set them explicitly):
|
|
410
|
+
|
|
402
411
|
- `messages.ackReaction` from the **active agent**’s `identity.emoji` (falls back to 👀)
|
|
403
412
|
- `agents.list[].groupChat.mentionPatterns` from the agent’s `identity.name`/`identity.emoji` (so “@Samantha” works in groups across Telegram/Slack/Discord/Google Chat/iMessage/WhatsApp)
|
|
404
413
|
- `identity.avatar` accepts a workspace-relative image path or a remote URL/data URL. Local files must live inside the agent workspace.
|
|
405
414
|
|
|
406
415
|
`identity.avatar` accepts:
|
|
416
|
+
|
|
407
417
|
- Workspace-relative path (must stay within the agent workspace)
|
|
408
418
|
- `http(s)` URL
|
|
409
419
|
- `data:` URI
|
|
@@ -418,11 +428,11 @@ If set, Moltbot derives defaults (only when you haven’t set them explicitly):
|
|
|
418
428
|
name: "Samantha",
|
|
419
429
|
theme: "helpful sloth",
|
|
420
430
|
emoji: "🦥",
|
|
421
|
-
avatar: "avatars/samantha.png"
|
|
422
|
-
}
|
|
423
|
-
}
|
|
424
|
-
]
|
|
425
|
-
}
|
|
431
|
+
avatar: "avatars/samantha.png",
|
|
432
|
+
},
|
|
433
|
+
},
|
|
434
|
+
],
|
|
435
|
+
},
|
|
426
436
|
}
|
|
427
437
|
```
|
|
428
438
|
|
|
@@ -437,15 +447,15 @@ Metadata written by CLI wizards (`onboard`, `configure`, `doctor`).
|
|
|
437
447
|
lastRunVersion: "2026.1.4",
|
|
438
448
|
lastRunCommit: "abc1234",
|
|
439
449
|
lastRunCommand: "configure",
|
|
440
|
-
lastRunMode: "local"
|
|
441
|
-
}
|
|
450
|
+
lastRunMode: "local",
|
|
451
|
+
},
|
|
442
452
|
}
|
|
443
453
|
```
|
|
444
454
|
|
|
445
455
|
### `logging`
|
|
446
456
|
|
|
447
|
-
- Default log file: `/tmp/
|
|
448
|
-
- If you want a stable path, set `logging.file` to `/tmp/
|
|
457
|
+
- Default log file: `/tmp/openclaw/openclaw-YYYY-MM-DD.log`
|
|
458
|
+
- If you want a stable path, set `logging.file` to `/tmp/openclaw/openclaw.log`.
|
|
449
459
|
- Console output can be tuned separately via:
|
|
450
460
|
- `logging.consoleLevel` (defaults to `info`, bumps to `debug` when `--verbose`)
|
|
451
461
|
- `logging.consoleStyle` (`pretty` | `compact` | `json`)
|
|
@@ -457,22 +467,23 @@ Metadata written by CLI wizards (`onboard`, `configure`, `doctor`).
|
|
|
457
467
|
{
|
|
458
468
|
logging: {
|
|
459
469
|
level: "info",
|
|
460
|
-
file: "/tmp/
|
|
470
|
+
file: "/tmp/openclaw/openclaw.log",
|
|
461
471
|
consoleLevel: "info",
|
|
462
472
|
consoleStyle: "pretty",
|
|
463
473
|
redactSensitive: "tools",
|
|
464
474
|
redactPatterns: [
|
|
465
475
|
// Example: override defaults with your own rules.
|
|
466
476
|
"\\bTOKEN\\b\\s*[=:]\\s*([\"']?)([^\\s\"']+)\\1",
|
|
467
|
-
"/\\bsk-[A-Za-z0-9_-]{8,}\\b/gi"
|
|
468
|
-
]
|
|
469
|
-
}
|
|
477
|
+
"/\\bsk-[A-Za-z0-9_-]{8,}\\b/gi",
|
|
478
|
+
],
|
|
479
|
+
},
|
|
470
480
|
}
|
|
471
481
|
```
|
|
472
482
|
|
|
473
483
|
### `channels.whatsapp.dmPolicy`
|
|
474
484
|
|
|
475
485
|
Controls how WhatsApp direct chats (DMs) are handled:
|
|
486
|
+
|
|
476
487
|
- `"pairing"` (default): unknown senders get a pairing code; owner must approve
|
|
477
488
|
- `"allowlist"`: only allow senders in `channels.whatsapp.allowFrom` (or paired allow store)
|
|
478
489
|
- `"open"`: allow all inbound DMs (**requires** `channels.whatsapp.allowFrom` to include `"*"`)
|
|
@@ -481,8 +492,9 @@ Controls how WhatsApp direct chats (DMs) are handled:
|
|
|
481
492
|
Pairing codes expire after 1 hour; the bot only sends a pairing code when a new request is created. Pending DM pairing requests are capped at **3 per channel** by default.
|
|
482
493
|
|
|
483
494
|
Pairing approvals:
|
|
484
|
-
|
|
485
|
-
- `
|
|
495
|
+
|
|
496
|
+
- `openclaw pairing list whatsapp`
|
|
497
|
+
- `openclaw pairing approve whatsapp <code>`
|
|
486
498
|
|
|
487
499
|
### `channels.whatsapp.allowFrom`
|
|
488
500
|
|
|
@@ -498,9 +510,9 @@ For groups, use `channels.whatsapp.groupPolicy` + `channels.whatsapp.groupAllowF
|
|
|
498
510
|
allowFrom: ["+15555550123", "+447700900123"],
|
|
499
511
|
textChunkLimit: 4000, // optional outbound chunk size (chars)
|
|
500
512
|
chunkMode: "length", // optional chunking mode (length | newline)
|
|
501
|
-
mediaMaxMb: 50 // optional inbound media cap (MB)
|
|
502
|
-
}
|
|
503
|
-
}
|
|
513
|
+
mediaMaxMb: 50, // optional inbound media cap (MB)
|
|
514
|
+
},
|
|
515
|
+
},
|
|
504
516
|
}
|
|
505
517
|
```
|
|
506
518
|
|
|
@@ -515,8 +527,8 @@ Per-account override: `channels.whatsapp.accounts.<id>.sendReadReceipts`.
|
|
|
515
527
|
```json5
|
|
516
528
|
{
|
|
517
529
|
channels: {
|
|
518
|
-
whatsapp: { sendReadReceipts: false }
|
|
519
|
-
}
|
|
530
|
+
whatsapp: { sendReadReceipts: false },
|
|
531
|
+
},
|
|
520
532
|
}
|
|
521
533
|
```
|
|
522
534
|
|
|
@@ -532,18 +544,19 @@ Run multiple WhatsApp accounts in one gateway:
|
|
|
532
544
|
default: {}, // optional; keeps the default id stable
|
|
533
545
|
personal: {},
|
|
534
546
|
biz: {
|
|
535
|
-
// Optional override. Default: ~/.
|
|
536
|
-
// authDir: "~/.
|
|
537
|
-
}
|
|
538
|
-
}
|
|
539
|
-
}
|
|
540
|
-
}
|
|
547
|
+
// Optional override. Default: ~/.openclaw/credentials/whatsapp/biz
|
|
548
|
+
// authDir: "~/.openclaw/credentials/whatsapp/biz",
|
|
549
|
+
},
|
|
550
|
+
},
|
|
551
|
+
},
|
|
552
|
+
},
|
|
541
553
|
}
|
|
542
554
|
```
|
|
543
555
|
|
|
544
556
|
Notes:
|
|
557
|
+
|
|
545
558
|
- Outbound commands default to account `default` if present; otherwise the first configured account id (sorted).
|
|
546
|
-
- The legacy single-account Baileys auth dir is migrated by `
|
|
559
|
+
- The legacy single-account Baileys auth dir is migrated by `openclaw doctor` into `whatsapp/default`.
|
|
547
560
|
|
|
548
561
|
### `channels.telegram.accounts` / `channels.discord.accounts` / `channels.googlechat.accounts` / `channels.slack.accounts` / `channels.mattermost.accounts` / `channels.signal.accounts` / `channels.imessage.accounts`
|
|
549
562
|
|
|
@@ -556,19 +569,20 @@ Run multiple accounts per channel (each account has its own `accountId` and opti
|
|
|
556
569
|
accounts: {
|
|
557
570
|
default: {
|
|
558
571
|
name: "Primary bot",
|
|
559
|
-
botToken: "123456:ABC..."
|
|
572
|
+
botToken: "123456:ABC...",
|
|
560
573
|
},
|
|
561
574
|
alerts: {
|
|
562
575
|
name: "Alerts bot",
|
|
563
|
-
botToken: "987654:XYZ..."
|
|
564
|
-
}
|
|
565
|
-
}
|
|
566
|
-
}
|
|
567
|
-
}
|
|
576
|
+
botToken: "987654:XYZ...",
|
|
577
|
+
},
|
|
578
|
+
},
|
|
579
|
+
},
|
|
580
|
+
},
|
|
568
581
|
}
|
|
569
582
|
```
|
|
570
583
|
|
|
571
584
|
Notes:
|
|
585
|
+
|
|
572
586
|
- `default` is used when `accountId` is omitted (CLI + routing).
|
|
573
587
|
- Env tokens only apply to the **default** account.
|
|
574
588
|
- Base channel settings (group policy, mention gating, etc.) apply to all accounts unless overridden per account.
|
|
@@ -579,6 +593,7 @@ Notes:
|
|
|
579
593
|
Group messages default to **require mention** (either metadata mention or regex patterns). Applies to WhatsApp, Telegram, Discord, Google Chat, and iMessage group chats.
|
|
580
594
|
|
|
581
595
|
**Mention types:**
|
|
596
|
+
|
|
582
597
|
- **Metadata mentions**: Native platform @-mentions (e.g., WhatsApp tap-to-mention). Ignored in WhatsApp self-chat mode (see `channels.whatsapp.allowFrom`).
|
|
583
598
|
- **Text patterns**: Regex patterns defined in `agents.list[].groupChat.mentionPatterns`. Always checked regardless of self-chat mode.
|
|
584
599
|
- Mention gating is enforced only when mention detection is possible (native mentions or at least one `mentionPattern`).
|
|
@@ -586,13 +601,11 @@ Group messages default to **require mention** (either metadata mention or regex
|
|
|
586
601
|
```json5
|
|
587
602
|
{
|
|
588
603
|
messages: {
|
|
589
|
-
groupChat: { historyLimit: 50 }
|
|
604
|
+
groupChat: { historyLimit: 50 },
|
|
590
605
|
},
|
|
591
606
|
agents: {
|
|
592
|
-
list: [
|
|
593
|
-
|
|
594
|
-
]
|
|
595
|
-
}
|
|
607
|
+
list: [{ id: "main", groupChat: { mentionPatterns: ["@openclaw", "openclaw"] } }],
|
|
608
|
+
},
|
|
596
609
|
}
|
|
597
610
|
```
|
|
598
611
|
|
|
@@ -606,16 +619,17 @@ DM conversations use session-based history managed by the agent. You can limit t
|
|
|
606
619
|
{
|
|
607
620
|
channels: {
|
|
608
621
|
telegram: {
|
|
609
|
-
dmHistoryLimit: 30,
|
|
622
|
+
dmHistoryLimit: 30, // limit DM sessions to 30 user turns
|
|
610
623
|
dms: {
|
|
611
|
-
"123456789": { historyLimit: 50 }
|
|
612
|
-
}
|
|
613
|
-
}
|
|
614
|
-
}
|
|
624
|
+
"123456789": { historyLimit: 50 }, // per-user override (user ID)
|
|
625
|
+
},
|
|
626
|
+
},
|
|
627
|
+
},
|
|
615
628
|
}
|
|
616
629
|
```
|
|
617
630
|
|
|
618
631
|
Resolution order:
|
|
632
|
+
|
|
619
633
|
1. Per-DM override: `channels.<provider>.dms[userId].historyLimit`
|
|
620
634
|
2. Provider default: `channels.<provider>.dmHistoryLimit`
|
|
621
635
|
3. No limit (all history retained)
|
|
@@ -623,28 +637,30 @@ Resolution order:
|
|
|
623
637
|
Supported providers: `telegram`, `whatsapp`, `discord`, `slack`, `signal`, `imessage`, `msteams`.
|
|
624
638
|
|
|
625
639
|
Per-agent override (takes precedence when set, even `[]`):
|
|
640
|
+
|
|
626
641
|
```json5
|
|
627
642
|
{
|
|
628
643
|
agents: {
|
|
629
644
|
list: [
|
|
630
645
|
{ id: "work", groupChat: { mentionPatterns: ["@workbot", "\\+15555550123"] } },
|
|
631
|
-
{ id: "personal", groupChat: { mentionPatterns: ["@homebot", "\\+15555550999"] } }
|
|
632
|
-
]
|
|
633
|
-
}
|
|
646
|
+
{ id: "personal", groupChat: { mentionPatterns: ["@homebot", "\\+15555550999"] } },
|
|
647
|
+
],
|
|
648
|
+
},
|
|
634
649
|
}
|
|
635
650
|
```
|
|
636
651
|
|
|
637
652
|
Mention gating defaults live per channel (`channels.whatsapp.groups`, `channels.telegram.groups`, `channels.imessage.groups`, `channels.discord.guilds`). When `*.groups` is set, it also acts as a group allowlist; include `"*"` to allow all groups.
|
|
638
653
|
|
|
639
654
|
To respond **only** to specific text triggers (ignoring native @-mentions):
|
|
655
|
+
|
|
640
656
|
```json5
|
|
641
657
|
{
|
|
642
658
|
channels: {
|
|
643
659
|
whatsapp: {
|
|
644
660
|
// Include your own number to enable self-chat mode (ignore native @-mentions).
|
|
645
661
|
allowFrom: ["+15555550123"],
|
|
646
|
-
groups: { "*": { requireMention: true } }
|
|
647
|
-
}
|
|
662
|
+
groups: { "*": { requireMention: true } },
|
|
663
|
+
},
|
|
648
664
|
},
|
|
649
665
|
agents: {
|
|
650
666
|
list: [
|
|
@@ -652,11 +668,11 @@ To respond **only** to specific text triggers (ignoring native @-mentions):
|
|
|
652
668
|
id: "main",
|
|
653
669
|
groupChat: {
|
|
654
670
|
// Only these text patterns will trigger responses
|
|
655
|
-
mentionPatterns: ["reisponde", "@
|
|
656
|
-
}
|
|
657
|
-
}
|
|
658
|
-
]
|
|
659
|
-
}
|
|
671
|
+
mentionPatterns: ["reisponde", "@openclaw"],
|
|
672
|
+
},
|
|
673
|
+
},
|
|
674
|
+
],
|
|
675
|
+
},
|
|
660
676
|
}
|
|
661
677
|
```
|
|
662
678
|
|
|
@@ -669,41 +685,42 @@ Use `channels.*.groupPolicy` to control whether group/room messages are accepted
|
|
|
669
685
|
channels: {
|
|
670
686
|
whatsapp: {
|
|
671
687
|
groupPolicy: "allowlist",
|
|
672
|
-
groupAllowFrom: ["+15551234567"]
|
|
688
|
+
groupAllowFrom: ["+15551234567"],
|
|
673
689
|
},
|
|
674
690
|
telegram: {
|
|
675
691
|
groupPolicy: "allowlist",
|
|
676
|
-
groupAllowFrom: ["tg:123456789", "@alice"]
|
|
692
|
+
groupAllowFrom: ["tg:123456789", "@alice"],
|
|
677
693
|
},
|
|
678
694
|
signal: {
|
|
679
695
|
groupPolicy: "allowlist",
|
|
680
|
-
groupAllowFrom: ["+15551234567"]
|
|
696
|
+
groupAllowFrom: ["+15551234567"],
|
|
681
697
|
},
|
|
682
698
|
imessage: {
|
|
683
699
|
groupPolicy: "allowlist",
|
|
684
|
-
groupAllowFrom: ["chat_id:123"]
|
|
700
|
+
groupAllowFrom: ["chat_id:123"],
|
|
685
701
|
},
|
|
686
702
|
msteams: {
|
|
687
703
|
groupPolicy: "allowlist",
|
|
688
|
-
groupAllowFrom: ["user@org.com"]
|
|
704
|
+
groupAllowFrom: ["user@org.com"],
|
|
689
705
|
},
|
|
690
706
|
discord: {
|
|
691
707
|
groupPolicy: "allowlist",
|
|
692
708
|
guilds: {
|
|
693
|
-
|
|
694
|
-
channels: { help: { allow: true } }
|
|
695
|
-
}
|
|
696
|
-
}
|
|
709
|
+
GUILD_ID: {
|
|
710
|
+
channels: { help: { allow: true } },
|
|
711
|
+
},
|
|
712
|
+
},
|
|
697
713
|
},
|
|
698
714
|
slack: {
|
|
699
715
|
groupPolicy: "allowlist",
|
|
700
|
-
channels: { "#general": { allow: true } }
|
|
701
|
-
}
|
|
702
|
-
}
|
|
716
|
+
channels: { "#general": { allow: true } },
|
|
717
|
+
},
|
|
718
|
+
},
|
|
703
719
|
}
|
|
704
720
|
```
|
|
705
721
|
|
|
706
722
|
Notes:
|
|
723
|
+
|
|
707
724
|
- `"open"`: groups bypass allowlists; mention-gating still applies.
|
|
708
725
|
- `"disabled"`: block all group/room messages.
|
|
709
726
|
- `"allowlist"`: only allow groups/rooms that match the configured allowlist.
|
|
@@ -723,8 +740,8 @@ Inbound messages are routed to an agent via bindings.
|
|
|
723
740
|
- `default`: optional; when multiple are set, the first wins and a warning is logged.
|
|
724
741
|
If none are set, the **first entry** in the list is the default agent.
|
|
725
742
|
- `name`: display name for the agent.
|
|
726
|
-
- `workspace`: default
|
|
727
|
-
- `agentDir`: default `~/.
|
|
743
|
+
- `workspace`: default `~/.openclaw/workspace-<agentId>` (for `main`, falls back to `agents.defaults.workspace`).
|
|
744
|
+
- `agentDir`: default `~/.openclaw/agents/<agentId>/agent`.
|
|
728
745
|
- `model`: per-agent default model, overrides `agents.defaults.model` for that agent.
|
|
729
746
|
- string form: `"provider/model"`, overrides only `agents.defaults.model.primary`
|
|
730
747
|
- object form: `{ primary, fallbacks }` (fallbacks override `agents.defaults.model.fallbacks`; `[]` disables global fallbacks for that agent)
|
|
@@ -752,12 +769,13 @@ Inbound messages are routed to an agent via bindings.
|
|
|
752
769
|
- `match.guildId` / `match.teamId` (optional; channel-specific)
|
|
753
770
|
|
|
754
771
|
Deterministic match order:
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
772
|
+
|
|
773
|
+
1. `match.peer`
|
|
774
|
+
2. `match.guildId`
|
|
775
|
+
3. `match.teamId`
|
|
776
|
+
4. `match.accountId` (exact, no peer/guild/team)
|
|
777
|
+
5. `match.accountId: "*"` (channel-wide, no peer/guild/team)
|
|
778
|
+
6. default agent (`agents.list[].default`, else first list entry, else `"main"`)
|
|
761
779
|
|
|
762
780
|
Within each match tier, the first matching entry in `bindings` wins.
|
|
763
781
|
|
|
@@ -765,6 +783,7 @@ Within each match tier, the first matching entry in `bindings` wins.
|
|
|
765
783
|
|
|
766
784
|
Each agent can carry its own sandbox + tool policy. Use this to mix access
|
|
767
785
|
levels in one gateway:
|
|
786
|
+
|
|
768
787
|
- **Full access** (personal agent)
|
|
769
788
|
- **Read-only** tools + workspace
|
|
770
789
|
- **No filesystem access** (messaging/session tools only)
|
|
@@ -773,63 +792,97 @@ See [Multi-Agent Sandbox & Tools](/multi-agent-sandbox-tools) for precedence and
|
|
|
773
792
|
additional examples.
|
|
774
793
|
|
|
775
794
|
Full access (no sandbox):
|
|
795
|
+
|
|
776
796
|
```json5
|
|
777
797
|
{
|
|
778
798
|
agents: {
|
|
779
799
|
list: [
|
|
780
800
|
{
|
|
781
801
|
id: "personal",
|
|
782
|
-
workspace: "
|
|
783
|
-
sandbox: { mode: "off" }
|
|
784
|
-
}
|
|
785
|
-
]
|
|
786
|
-
}
|
|
802
|
+
workspace: "~/.openclaw/workspace-personal",
|
|
803
|
+
sandbox: { mode: "off" },
|
|
804
|
+
},
|
|
805
|
+
],
|
|
806
|
+
},
|
|
787
807
|
}
|
|
788
808
|
```
|
|
789
809
|
|
|
790
810
|
Read-only tools + read-only workspace:
|
|
811
|
+
|
|
791
812
|
```json5
|
|
792
813
|
{
|
|
793
814
|
agents: {
|
|
794
815
|
list: [
|
|
795
816
|
{
|
|
796
817
|
id: "family",
|
|
797
|
-
workspace: "
|
|
818
|
+
workspace: "~/.openclaw/workspace-family",
|
|
798
819
|
sandbox: {
|
|
799
820
|
mode: "all",
|
|
800
821
|
scope: "agent",
|
|
801
|
-
workspaceAccess: "ro"
|
|
822
|
+
workspaceAccess: "ro",
|
|
802
823
|
},
|
|
803
824
|
tools: {
|
|
804
|
-
allow: [
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
825
|
+
allow: [
|
|
826
|
+
"read",
|
|
827
|
+
"sessions_list",
|
|
828
|
+
"sessions_history",
|
|
829
|
+
"sessions_send",
|
|
830
|
+
"sessions_spawn",
|
|
831
|
+
"session_status",
|
|
832
|
+
],
|
|
833
|
+
deny: ["write", "edit", "apply_patch", "exec", "process", "browser"],
|
|
834
|
+
},
|
|
835
|
+
},
|
|
836
|
+
],
|
|
837
|
+
},
|
|
810
838
|
}
|
|
811
839
|
```
|
|
812
840
|
|
|
813
841
|
No filesystem access (messaging/session tools enabled):
|
|
842
|
+
|
|
814
843
|
```json5
|
|
815
844
|
{
|
|
816
845
|
agents: {
|
|
817
846
|
list: [
|
|
818
847
|
{
|
|
819
848
|
id: "public",
|
|
820
|
-
workspace: "
|
|
849
|
+
workspace: "~/.openclaw/workspace-public",
|
|
821
850
|
sandbox: {
|
|
822
851
|
mode: "all",
|
|
823
852
|
scope: "agent",
|
|
824
|
-
workspaceAccess: "none"
|
|
853
|
+
workspaceAccess: "none",
|
|
825
854
|
},
|
|
826
855
|
tools: {
|
|
827
|
-
allow: [
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
856
|
+
allow: [
|
|
857
|
+
"sessions_list",
|
|
858
|
+
"sessions_history",
|
|
859
|
+
"sessions_send",
|
|
860
|
+
"sessions_spawn",
|
|
861
|
+
"session_status",
|
|
862
|
+
"whatsapp",
|
|
863
|
+
"telegram",
|
|
864
|
+
"slack",
|
|
865
|
+
"discord",
|
|
866
|
+
"gateway",
|
|
867
|
+
],
|
|
868
|
+
deny: [
|
|
869
|
+
"read",
|
|
870
|
+
"write",
|
|
871
|
+
"edit",
|
|
872
|
+
"apply_patch",
|
|
873
|
+
"exec",
|
|
874
|
+
"process",
|
|
875
|
+
"browser",
|
|
876
|
+
"canvas",
|
|
877
|
+
"nodes",
|
|
878
|
+
"cron",
|
|
879
|
+
"gateway",
|
|
880
|
+
"image",
|
|
881
|
+
],
|
|
882
|
+
},
|
|
883
|
+
},
|
|
884
|
+
],
|
|
885
|
+
},
|
|
833
886
|
}
|
|
834
887
|
```
|
|
835
888
|
|
|
@@ -839,22 +892,22 @@ Example: two WhatsApp accounts → two agents:
|
|
|
839
892
|
{
|
|
840
893
|
agents: {
|
|
841
894
|
list: [
|
|
842
|
-
{ id: "home", default: true, workspace: "
|
|
843
|
-
{ id: "work", workspace: "
|
|
844
|
-
]
|
|
895
|
+
{ id: "home", default: true, workspace: "~/.openclaw/workspace-home" },
|
|
896
|
+
{ id: "work", workspace: "~/.openclaw/workspace-work" },
|
|
897
|
+
],
|
|
845
898
|
},
|
|
846
899
|
bindings: [
|
|
847
900
|
{ agentId: "home", match: { channel: "whatsapp", accountId: "personal" } },
|
|
848
|
-
{ agentId: "work", match: { channel: "whatsapp", accountId: "biz" } }
|
|
901
|
+
{ agentId: "work", match: { channel: "whatsapp", accountId: "biz" } },
|
|
849
902
|
],
|
|
850
903
|
channels: {
|
|
851
904
|
whatsapp: {
|
|
852
905
|
accounts: {
|
|
853
906
|
personal: {},
|
|
854
907
|
biz: {},
|
|
855
|
-
}
|
|
856
|
-
}
|
|
857
|
-
}
|
|
908
|
+
},
|
|
909
|
+
},
|
|
910
|
+
},
|
|
858
911
|
}
|
|
859
912
|
```
|
|
860
913
|
|
|
@@ -867,9 +920,9 @@ Agent-to-agent messaging is opt-in:
|
|
|
867
920
|
tools: {
|
|
868
921
|
agentToAgent: {
|
|
869
922
|
enabled: false,
|
|
870
|
-
allow: ["home", "work"]
|
|
871
|
-
}
|
|
872
|
-
}
|
|
923
|
+
allow: ["home", "work"],
|
|
924
|
+
},
|
|
925
|
+
},
|
|
873
926
|
}
|
|
874
927
|
```
|
|
875
928
|
|
|
@@ -890,10 +943,10 @@ Controls how inbound messages behave when an agent run is already active.
|
|
|
890
943
|
telegram: "collect",
|
|
891
944
|
discord: "collect",
|
|
892
945
|
imessage: "collect",
|
|
893
|
-
webchat: "collect"
|
|
894
|
-
}
|
|
895
|
-
}
|
|
896
|
-
}
|
|
946
|
+
webchat: "collect",
|
|
947
|
+
},
|
|
948
|
+
},
|
|
949
|
+
},
|
|
897
950
|
}
|
|
898
951
|
```
|
|
899
952
|
|
|
@@ -911,14 +964,15 @@ and uses the most recent message for reply threading/IDs.
|
|
|
911
964
|
byChannel: {
|
|
912
965
|
whatsapp: 5000,
|
|
913
966
|
slack: 1500,
|
|
914
|
-
discord: 1500
|
|
915
|
-
}
|
|
916
|
-
}
|
|
917
|
-
}
|
|
967
|
+
discord: 1500,
|
|
968
|
+
},
|
|
969
|
+
},
|
|
970
|
+
},
|
|
918
971
|
}
|
|
919
972
|
```
|
|
920
973
|
|
|
921
974
|
Notes:
|
|
975
|
+
|
|
922
976
|
- Debounce batches **text-only** messages; media/attachments flush immediately.
|
|
923
977
|
- Control commands (e.g. `/queue`, `/new`) bypass debouncing so they stay standalone.
|
|
924
978
|
|
|
@@ -929,19 +983,20 @@ Controls how chat commands are enabled across connectors.
|
|
|
929
983
|
```json5
|
|
930
984
|
{
|
|
931
985
|
commands: {
|
|
932
|
-
native: "auto",
|
|
933
|
-
text: true,
|
|
934
|
-
bash: false,
|
|
986
|
+
native: "auto", // register native commands when supported (auto)
|
|
987
|
+
text: true, // parse slash commands in chat messages
|
|
988
|
+
bash: false, // allow ! (alias: /bash) (host-only; requires tools.elevated allowlists)
|
|
935
989
|
bashForegroundMs: 2000, // bash foreground window (0 backgrounds immediately)
|
|
936
|
-
config: false,
|
|
937
|
-
debug: false,
|
|
938
|
-
restart: false,
|
|
939
|
-
useAccessGroups: true
|
|
940
|
-
}
|
|
990
|
+
config: false, // allow /config (writes to disk)
|
|
991
|
+
debug: false, // allow /debug (runtime-only overrides)
|
|
992
|
+
restart: false, // allow /restart + gateway restart tool
|
|
993
|
+
useAccessGroups: true, // enforce access-group allowlists/policies for commands
|
|
994
|
+
},
|
|
941
995
|
}
|
|
942
996
|
```
|
|
943
997
|
|
|
944
998
|
Notes:
|
|
999
|
+
|
|
945
1000
|
- Text commands must be sent as a **standalone** message and use the leading `/` (no plain-text aliases).
|
|
946
1001
|
- `commands.text: false` disables parsing chat messages for commands.
|
|
947
1002
|
- `commands.native: "auto"` (default) turns on native commands for Discord/Telegram and leaves Slack off; unsupported channels stay text-only.
|
|
@@ -949,7 +1004,7 @@ Notes:
|
|
|
949
1004
|
- `channels.telegram.customCommands` adds extra Telegram bot menu entries. Names are normalized; conflicts with native commands are ignored.
|
|
950
1005
|
- `commands.bash: true` enables `! <cmd>` to run host shell commands (`/bash <cmd>` also works as an alias). Requires `tools.elevated.enabled` and allowlisting the sender in `tools.elevated.allowFrom.<channel>`.
|
|
951
1006
|
- `commands.bashForegroundMs` controls how long bash waits before backgrounding. While a bash job is running, new `! <cmd>` requests are rejected (one at a time).
|
|
952
|
-
- `commands.config: true` enables `/config` (reads/writes `
|
|
1007
|
+
- `commands.config: true` enables `/config` (reads/writes `openclaw.json`).
|
|
953
1008
|
- `channels.<provider>.configWrites` gates config mutations initiated by that channel (default: true). This applies to `/config set|unset` plus provider-specific auto-migrations (Telegram supergroup ID changes, Slack channel ID changes).
|
|
954
1009
|
- `commands.debug: true` enables `/debug` (runtime-only overrides).
|
|
955
1010
|
- `commands.restart: true` enables `/restart` and the gateway tool restart action.
|
|
@@ -972,15 +1027,15 @@ Set `web.enabled: false` to keep it off by default.
|
|
|
972
1027
|
maxMs: 120000,
|
|
973
1028
|
factor: 1.4,
|
|
974
1029
|
jitter: 0.2,
|
|
975
|
-
maxAttempts: 0
|
|
976
|
-
}
|
|
977
|
-
}
|
|
1030
|
+
maxAttempts: 0,
|
|
1031
|
+
},
|
|
1032
|
+
},
|
|
978
1033
|
}
|
|
979
1034
|
```
|
|
980
1035
|
|
|
981
1036
|
### `channels.telegram` (bot transport)
|
|
982
1037
|
|
|
983
|
-
|
|
1038
|
+
OpenClaw starts Telegram only when a `channels.telegram` config section exists. The bot token is resolved from `channels.telegram.botToken` (or `channels.telegram.tokenFile`), with `TELEGRAM_BOT_TOKEN` as a fallback for the default account.
|
|
984
1039
|
Set `channels.telegram.enabled: false` to disable automatic startup.
|
|
985
1040
|
Multi-account support lives under `channels.telegram.accounts` (see the multi-account section above). Env tokens only apply to the default account.
|
|
986
1041
|
Set `channels.telegram.configWrites: false` to block Telegram-initiated config writes (including supergroup ID migrations and `/config set|unset`).
|
|
@@ -991,8 +1046,8 @@ Set `channels.telegram.configWrites: false` to block Telegram-initiated config w
|
|
|
991
1046
|
telegram: {
|
|
992
1047
|
enabled: true,
|
|
993
1048
|
botToken: "your-bot-token",
|
|
994
|
-
dmPolicy: "pairing",
|
|
995
|
-
allowFrom: ["tg:123456789"],
|
|
1049
|
+
dmPolicy: "pairing", // pairing | allowlist | open | disabled
|
|
1050
|
+
allowFrom: ["tg:123456789"], // optional; "open" requires ["*"]
|
|
996
1051
|
groups: {
|
|
997
1052
|
"*": { requireMention: true },
|
|
998
1053
|
"-1001234567890": {
|
|
@@ -1002,50 +1057,54 @@ Set `channels.telegram.configWrites: false` to block Telegram-initiated config w
|
|
|
1002
1057
|
"99": {
|
|
1003
1058
|
requireMention: false,
|
|
1004
1059
|
skills: ["search"],
|
|
1005
|
-
systemPrompt: "Stay on topic."
|
|
1006
|
-
}
|
|
1007
|
-
}
|
|
1008
|
-
}
|
|
1060
|
+
systemPrompt: "Stay on topic.",
|
|
1061
|
+
},
|
|
1062
|
+
},
|
|
1063
|
+
},
|
|
1009
1064
|
},
|
|
1010
1065
|
customCommands: [
|
|
1011
1066
|
{ command: "backup", description: "Git backup" },
|
|
1012
|
-
{ command: "generate", description: "Create an image" }
|
|
1067
|
+
{ command: "generate", description: "Create an image" },
|
|
1013
1068
|
],
|
|
1014
|
-
historyLimit: 50,
|
|
1015
|
-
replyToMode: "first",
|
|
1016
|
-
linkPreview: true,
|
|
1017
|
-
streamMode: "partial",
|
|
1018
|
-
draftChunk: {
|
|
1069
|
+
historyLimit: 50, // include last N group messages as context (0 disables)
|
|
1070
|
+
replyToMode: "first", // off | first | all
|
|
1071
|
+
linkPreview: true, // toggle outbound link previews
|
|
1072
|
+
streamMode: "partial", // off | partial | block (draft streaming; separate from block streaming)
|
|
1073
|
+
draftChunk: {
|
|
1074
|
+
// optional; only for streamMode=block
|
|
1019
1075
|
minChars: 200,
|
|
1020
1076
|
maxChars: 800,
|
|
1021
|
-
breakPreference: "paragraph"
|
|
1077
|
+
breakPreference: "paragraph", // paragraph | newline | sentence
|
|
1022
1078
|
},
|
|
1023
1079
|
actions: { reactions: true, sendMessage: true }, // tool action gates (false disables)
|
|
1024
|
-
reactionNotifications: "own",
|
|
1080
|
+
reactionNotifications: "own", // off | own | all
|
|
1025
1081
|
mediaMaxMb: 5,
|
|
1026
|
-
retry: {
|
|
1082
|
+
retry: {
|
|
1083
|
+
// outbound retry policy
|
|
1027
1084
|
attempts: 3,
|
|
1028
1085
|
minDelayMs: 400,
|
|
1029
1086
|
maxDelayMs: 30000,
|
|
1030
|
-
jitter: 0.1
|
|
1087
|
+
jitter: 0.1,
|
|
1031
1088
|
},
|
|
1032
|
-
network: {
|
|
1033
|
-
|
|
1089
|
+
network: {
|
|
1090
|
+
// transport overrides
|
|
1091
|
+
autoSelectFamily: false,
|
|
1034
1092
|
},
|
|
1035
1093
|
proxy: "socks5://localhost:9050",
|
|
1036
1094
|
webhookUrl: "https://example.com/telegram-webhook",
|
|
1037
1095
|
webhookSecret: "secret",
|
|
1038
|
-
webhookPath: "/telegram-webhook"
|
|
1039
|
-
}
|
|
1040
|
-
}
|
|
1096
|
+
webhookPath: "/telegram-webhook",
|
|
1097
|
+
},
|
|
1098
|
+
},
|
|
1041
1099
|
}
|
|
1042
1100
|
```
|
|
1043
1101
|
|
|
1044
1102
|
Draft streaming notes:
|
|
1103
|
+
|
|
1045
1104
|
- Uses Telegram `sendMessageDraft` (draft bubble, not a real message).
|
|
1046
1105
|
- Requires **private chat topics** (message_thread_id in DMs; bot has topics enabled).
|
|
1047
1106
|
- `/reasoning stream` streams reasoning into the draft, then sends the final answer.
|
|
1048
|
-
Retry policy defaults and behavior are documented in [Retry policy](/concepts/retry).
|
|
1107
|
+
Retry policy defaults and behavior are documented in [Retry policy](/concepts/retry).
|
|
1049
1108
|
|
|
1050
1109
|
### `channels.discord` (bot transport)
|
|
1051
1110
|
|
|
@@ -1058,9 +1117,10 @@ Multi-account support lives under `channels.discord.accounts` (see the multi-acc
|
|
|
1058
1117
|
discord: {
|
|
1059
1118
|
enabled: true,
|
|
1060
1119
|
token: "your-bot-token",
|
|
1061
|
-
mediaMaxMb: 8,
|
|
1062
|
-
allowBots: false,
|
|
1063
|
-
actions: {
|
|
1120
|
+
mediaMaxMb: 8, // clamp inbound media size
|
|
1121
|
+
allowBots: false, // allow bot-authored messages
|
|
1122
|
+
actions: {
|
|
1123
|
+
// tool action gates (false disables)
|
|
1064
1124
|
reactions: true,
|
|
1065
1125
|
stickers: true,
|
|
1066
1126
|
polls: true,
|
|
@@ -1075,22 +1135,23 @@ Multi-account support lives under `channels.discord.accounts` (see the multi-acc
|
|
|
1075
1135
|
channelInfo: true,
|
|
1076
1136
|
voiceStatus: true,
|
|
1077
1137
|
events: true,
|
|
1078
|
-
moderation: false
|
|
1138
|
+
moderation: false,
|
|
1079
1139
|
},
|
|
1080
|
-
replyToMode: "off",
|
|
1140
|
+
replyToMode: "off", // off | first | all
|
|
1081
1141
|
dm: {
|
|
1082
|
-
enabled: true,
|
|
1083
|
-
policy: "pairing",
|
|
1142
|
+
enabled: true, // disable all DMs when false
|
|
1143
|
+
policy: "pairing", // pairing | allowlist | open | disabled
|
|
1084
1144
|
allowFrom: ["1234567890", "steipete"], // optional DM allowlist ("open" requires ["*"])
|
|
1085
|
-
groupEnabled: false,
|
|
1086
|
-
groupChannels: ["
|
|
1145
|
+
groupEnabled: false, // enable group DMs
|
|
1146
|
+
groupChannels: ["openclaw-dm"], // optional group DM allowlist
|
|
1087
1147
|
},
|
|
1088
1148
|
guilds: {
|
|
1089
|
-
"123456789012345678": {
|
|
1090
|
-
slug
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1149
|
+
"123456789012345678": {
|
|
1150
|
+
// guild id (preferred) or slug
|
|
1151
|
+
slug: "friends-of-openclaw",
|
|
1152
|
+
requireMention: false, // per-guild default
|
|
1153
|
+
reactionNotifications: "own", // off | own | all | allowlist
|
|
1154
|
+
users: ["987654321098765432"], // optional per-guild user allowlist
|
|
1094
1155
|
channels: {
|
|
1095
1156
|
general: { allow: true },
|
|
1096
1157
|
help: {
|
|
@@ -1098,36 +1159,38 @@ Multi-account support lives under `channels.discord.accounts` (see the multi-acc
|
|
|
1098
1159
|
requireMention: true,
|
|
1099
1160
|
users: ["987654321098765432"],
|
|
1100
1161
|
skills: ["docs"],
|
|
1101
|
-
systemPrompt: "Short answers only."
|
|
1102
|
-
}
|
|
1103
|
-
}
|
|
1104
|
-
}
|
|
1162
|
+
systemPrompt: "Short answers only.",
|
|
1163
|
+
},
|
|
1164
|
+
},
|
|
1165
|
+
},
|
|
1105
1166
|
},
|
|
1106
|
-
historyLimit: 20,
|
|
1107
|
-
textChunkLimit: 2000,
|
|
1108
|
-
chunkMode: "length",
|
|
1109
|
-
maxLinesPerMessage: 17,
|
|
1110
|
-
retry: {
|
|
1167
|
+
historyLimit: 20, // include last N guild messages as context
|
|
1168
|
+
textChunkLimit: 2000, // optional outbound text chunk size (chars)
|
|
1169
|
+
chunkMode: "length", // optional chunking mode (length | newline)
|
|
1170
|
+
maxLinesPerMessage: 17, // soft max lines per message (Discord UI clipping)
|
|
1171
|
+
retry: {
|
|
1172
|
+
// outbound retry policy
|
|
1111
1173
|
attempts: 3,
|
|
1112
1174
|
minDelayMs: 500,
|
|
1113
1175
|
maxDelayMs: 30000,
|
|
1114
|
-
jitter: 0.1
|
|
1115
|
-
}
|
|
1116
|
-
}
|
|
1117
|
-
}
|
|
1176
|
+
jitter: 0.1,
|
|
1177
|
+
},
|
|
1178
|
+
},
|
|
1179
|
+
},
|
|
1118
1180
|
}
|
|
1119
1181
|
```
|
|
1120
1182
|
|
|
1121
|
-
|
|
1183
|
+
OpenClaw starts Discord only when a `channels.discord` config section exists. The token is resolved from `channels.discord.token`, with `DISCORD_BOT_TOKEN` as a fallback for the default account (unless `channels.discord.enabled` is `false`). Use `user:<id>` (DM) or `channel:<id>` (guild channel) when specifying delivery targets for cron/CLI commands; bare numeric IDs are ambiguous and rejected.
|
|
1122
1184
|
Guild slugs are lowercase with spaces replaced by `-`; channel keys use the slugged channel name (no leading `#`). Prefer guild ids as keys to avoid rename ambiguity.
|
|
1123
1185
|
Bot-authored messages are ignored by default. Enable with `channels.discord.allowBots` (own messages are still filtered to prevent self-reply loops).
|
|
1124
1186
|
Reaction notification modes:
|
|
1187
|
+
|
|
1125
1188
|
- `off`: no reaction events.
|
|
1126
1189
|
- `own`: reactions on the bot's own messages (default).
|
|
1127
1190
|
- `all`: all reactions on all messages.
|
|
1128
1191
|
- `allowlist`: reactions from `guilds.<id>.users` on all messages (empty list disables).
|
|
1129
|
-
Outbound text is chunked by `channels.discord.textChunkLimit` (default 2000). Set `channels.discord.chunkMode="newline"` to split on blank lines (paragraph boundaries) before length chunking. Discord clients can clip very tall messages, so `channels.discord.maxLinesPerMessage` (default 17) splits long multi-line replies even when under 2000 chars.
|
|
1130
|
-
Retry policy defaults and behavior are documented in [Retry policy](/concepts/retry).
|
|
1192
|
+
Outbound text is chunked by `channels.discord.textChunkLimit` (default 2000). Set `channels.discord.chunkMode="newline"` to split on blank lines (paragraph boundaries) before length chunking. Discord clients can clip very tall messages, so `channels.discord.maxLinesPerMessage` (default 17) splits long multi-line replies even when under 2000 chars.
|
|
1193
|
+
Retry policy defaults and behavior are documented in [Retry policy](/concepts/retry).
|
|
1131
1194
|
|
|
1132
1195
|
### `channels.googlechat` (Chat API webhook)
|
|
1133
1196
|
|
|
@@ -1137,31 +1200,32 @@ Multi-account support lives under `channels.googlechat.accounts` (see the multi-
|
|
|
1137
1200
|
```json5
|
|
1138
1201
|
{
|
|
1139
1202
|
channels: {
|
|
1140
|
-
|
|
1203
|
+
googlechat: {
|
|
1141
1204
|
enabled: true,
|
|
1142
1205
|
serviceAccountFile: "/path/to/service-account.json",
|
|
1143
|
-
audienceType: "app-url",
|
|
1206
|
+
audienceType: "app-url", // app-url | project-number
|
|
1144
1207
|
audience: "https://gateway.example.com/googlechat",
|
|
1145
1208
|
webhookPath: "/googlechat",
|
|
1146
|
-
botUser: "users/1234567890",
|
|
1209
|
+
botUser: "users/1234567890", // optional; improves mention detection
|
|
1147
1210
|
dm: {
|
|
1148
1211
|
enabled: true,
|
|
1149
|
-
policy: "pairing",
|
|
1150
|
-
allowFrom: ["users/1234567890"]
|
|
1212
|
+
policy: "pairing", // pairing | allowlist | open | disabled
|
|
1213
|
+
allowFrom: ["users/1234567890"], // optional; "open" requires ["*"]
|
|
1151
1214
|
},
|
|
1152
1215
|
groupPolicy: "allowlist",
|
|
1153
1216
|
groups: {
|
|
1154
|
-
"spaces/AAAA": { allow: true, requireMention: true }
|
|
1217
|
+
"spaces/AAAA": { allow: true, requireMention: true },
|
|
1155
1218
|
},
|
|
1156
1219
|
actions: { reactions: true },
|
|
1157
1220
|
typingIndicator: "message",
|
|
1158
|
-
mediaMaxMb: 20
|
|
1159
|
-
}
|
|
1160
|
-
}
|
|
1221
|
+
mediaMaxMb: 20,
|
|
1222
|
+
},
|
|
1223
|
+
},
|
|
1161
1224
|
}
|
|
1162
1225
|
```
|
|
1163
1226
|
|
|
1164
1227
|
Notes:
|
|
1228
|
+
|
|
1165
1229
|
- Service account JSON can be inline (`serviceAccount`) or file-based (`serviceAccountFile`).
|
|
1166
1230
|
- Env fallbacks for the default account: `GOOGLE_CHAT_SERVICE_ACCOUNT` or `GOOGLE_CHAT_SERVICE_ACCOUNT_FILE`.
|
|
1167
1231
|
- `audienceType` + `audience` must match the Chat app’s webhook auth config.
|
|
@@ -1183,7 +1247,7 @@ Slack runs in Socket Mode and requires both a bot token and app token:
|
|
|
1183
1247
|
policy: "pairing", // pairing | allowlist | open | disabled
|
|
1184
1248
|
allowFrom: ["U123", "U456", "*"], // optional; "open" requires ["*"]
|
|
1185
1249
|
groupEnabled: false,
|
|
1186
|
-
groupChannels: ["G123"]
|
|
1250
|
+
groupChannels: ["G123"],
|
|
1187
1251
|
},
|
|
1188
1252
|
channels: {
|
|
1189
1253
|
C123: { allow: true, requireMention: true, allowBots: false },
|
|
@@ -1193,53 +1257,55 @@ Slack runs in Socket Mode and requires both a bot token and app token:
|
|
|
1193
1257
|
allowBots: false,
|
|
1194
1258
|
users: ["U123"],
|
|
1195
1259
|
skills: ["docs"],
|
|
1196
|
-
systemPrompt: "Short answers only."
|
|
1197
|
-
}
|
|
1260
|
+
systemPrompt: "Short answers only.",
|
|
1261
|
+
},
|
|
1198
1262
|
},
|
|
1199
|
-
historyLimit: 50,
|
|
1263
|
+
historyLimit: 50, // include last N channel/group messages as context (0 disables)
|
|
1200
1264
|
allowBots: false,
|
|
1201
1265
|
reactionNotifications: "own", // off | own | all | allowlist
|
|
1202
1266
|
reactionAllowlist: ["U123"],
|
|
1203
|
-
replyToMode: "off",
|
|
1267
|
+
replyToMode: "off", // off | first | all
|
|
1204
1268
|
thread: {
|
|
1205
|
-
historyScope: "thread",
|
|
1206
|
-
inheritParent: false
|
|
1269
|
+
historyScope: "thread", // thread | channel
|
|
1270
|
+
inheritParent: false,
|
|
1207
1271
|
},
|
|
1208
1272
|
actions: {
|
|
1209
1273
|
reactions: true,
|
|
1210
1274
|
messages: true,
|
|
1211
1275
|
pins: true,
|
|
1212
1276
|
memberInfo: true,
|
|
1213
|
-
emojiList: true
|
|
1277
|
+
emojiList: true,
|
|
1214
1278
|
},
|
|
1215
1279
|
slashCommand: {
|
|
1216
1280
|
enabled: true,
|
|
1217
|
-
name: "
|
|
1281
|
+
name: "openclaw",
|
|
1218
1282
|
sessionPrefix: "slack:slash",
|
|
1219
|
-
ephemeral: true
|
|
1283
|
+
ephemeral: true,
|
|
1220
1284
|
},
|
|
1221
1285
|
textChunkLimit: 4000,
|
|
1222
1286
|
chunkMode: "length",
|
|
1223
|
-
mediaMaxMb: 20
|
|
1224
|
-
}
|
|
1225
|
-
}
|
|
1287
|
+
mediaMaxMb: 20,
|
|
1288
|
+
},
|
|
1289
|
+
},
|
|
1226
1290
|
}
|
|
1227
1291
|
```
|
|
1228
1292
|
|
|
1229
1293
|
Multi-account support lives under `channels.slack.accounts` (see the multi-account section above). Env tokens only apply to the default account.
|
|
1230
1294
|
|
|
1231
|
-
|
|
1295
|
+
OpenClaw starts Slack when the provider is enabled and both tokens are set (via config or `SLACK_BOT_TOKEN` + `SLACK_APP_TOKEN`). Use `user:<id>` (DM) or `channel:<id>` when specifying delivery targets for cron/CLI commands.
|
|
1232
1296
|
Set `channels.slack.configWrites: false` to block Slack-initiated config writes (including channel ID migrations and `/config set|unset`).
|
|
1233
1297
|
|
|
1234
1298
|
Bot-authored messages are ignored by default. Enable with `channels.slack.allowBots` or `channels.slack.channels.<id>.allowBots`.
|
|
1235
1299
|
|
|
1236
1300
|
Reaction notification modes:
|
|
1301
|
+
|
|
1237
1302
|
- `off`: no reaction events.
|
|
1238
1303
|
- `own`: reactions on the bot's own messages (default).
|
|
1239
1304
|
- `all`: all reactions on all messages.
|
|
1240
1305
|
- `allowlist`: reactions from `channels.slack.reactionAllowlist` on all messages (empty list disables).
|
|
1241
1306
|
|
|
1242
1307
|
Thread session isolation:
|
|
1308
|
+
|
|
1243
1309
|
- `channels.slack.thread.historyScope` controls whether thread history is per-thread (`thread`, default) or shared across the channel (`channel`).
|
|
1244
1310
|
- `channels.slack.thread.inheritParent` controls whether new thread sessions inherit the parent channel transcript (default: false).
|
|
1245
1311
|
|
|
@@ -1255,7 +1321,7 @@ Slack action groups (gate `slack` tool actions):
|
|
|
1255
1321
|
### `channels.mattermost` (bot token)
|
|
1256
1322
|
|
|
1257
1323
|
Mattermost ships as a plugin and is not bundled with the core install.
|
|
1258
|
-
Install it first: `
|
|
1324
|
+
Install it first: `openclaw plugins install @openclaw/mattermost` (or `./extensions/mattermost` from a git checkout).
|
|
1259
1325
|
|
|
1260
1326
|
Mattermost requires a bot token plus the base URL for your server:
|
|
1261
1327
|
|
|
@@ -1270,20 +1336,22 @@ Mattermost requires a bot token plus the base URL for your server:
|
|
|
1270
1336
|
chatmode: "oncall", // oncall | onmessage | onchar
|
|
1271
1337
|
oncharPrefixes: [">", "!"],
|
|
1272
1338
|
textChunkLimit: 4000,
|
|
1273
|
-
chunkMode: "length"
|
|
1274
|
-
}
|
|
1275
|
-
}
|
|
1339
|
+
chunkMode: "length",
|
|
1340
|
+
},
|
|
1341
|
+
},
|
|
1276
1342
|
}
|
|
1277
1343
|
```
|
|
1278
1344
|
|
|
1279
|
-
|
|
1345
|
+
OpenClaw starts Mattermost when the account is configured (bot token + base URL) and enabled. The token + base URL are resolved from `channels.mattermost.botToken` + `channels.mattermost.baseUrl` or `MATTERMOST_BOT_TOKEN` + `MATTERMOST_URL` for the default account (unless `channels.mattermost.enabled` is `false`).
|
|
1280
1346
|
|
|
1281
1347
|
Chat modes:
|
|
1348
|
+
|
|
1282
1349
|
- `oncall` (default): respond to channel messages only when @mentioned.
|
|
1283
1350
|
- `onmessage`: respond to every channel message.
|
|
1284
1351
|
- `onchar`: respond when a message starts with a trigger prefix (`channels.mattermost.oncharPrefixes`, default `[">", "!"]`).
|
|
1285
1352
|
|
|
1286
1353
|
Access control:
|
|
1354
|
+
|
|
1287
1355
|
- Default DMs: `channels.mattermost.dmPolicy="pairing"` (unknown senders get a pairing code).
|
|
1288
1356
|
- Public DMs: `channels.mattermost.dmPolicy="open"` plus `channels.mattermost.allowFrom=["*"]`.
|
|
1289
1357
|
- Groups: `channels.mattermost.groupPolicy="allowlist"` by default (mention-gated). Use `channels.mattermost.groupAllowFrom` to restrict senders.
|
|
@@ -1301,13 +1369,14 @@ Signal reactions can emit system events (shared reaction tooling):
|
|
|
1301
1369
|
signal: {
|
|
1302
1370
|
reactionNotifications: "own", // off | own | all | allowlist
|
|
1303
1371
|
reactionAllowlist: ["+15551234567", "uuid:123e4567-e89b-12d3-a456-426614174000"],
|
|
1304
|
-
historyLimit: 50 // include last N group messages as context (0 disables)
|
|
1305
|
-
}
|
|
1306
|
-
}
|
|
1372
|
+
historyLimit: 50, // include last N group messages as context (0 disables)
|
|
1373
|
+
},
|
|
1374
|
+
},
|
|
1307
1375
|
}
|
|
1308
1376
|
```
|
|
1309
1377
|
|
|
1310
1378
|
Reaction notification modes:
|
|
1379
|
+
|
|
1311
1380
|
- `off`: no reaction events.
|
|
1312
1381
|
- `own`: reactions on the bot's own messages (default).
|
|
1313
1382
|
- `all`: all reactions on all messages.
|
|
@@ -1315,7 +1384,7 @@ Reaction notification modes:
|
|
|
1315
1384
|
|
|
1316
1385
|
### `channels.imessage` (imsg CLI)
|
|
1317
1386
|
|
|
1318
|
-
|
|
1387
|
+
OpenClaw spawns `imsg rpc` (JSON-RPC over stdio). No daemon or port required.
|
|
1319
1388
|
|
|
1320
1389
|
```json5
|
|
1321
1390
|
{
|
|
@@ -1327,19 +1396,20 @@ Moltbot spawns `imsg rpc` (JSON-RPC over stdio). No daemon or port required.
|
|
|
1327
1396
|
remoteHost: "user@gateway-host", // SCP for remote attachments when using SSH wrapper
|
|
1328
1397
|
dmPolicy: "pairing", // pairing | allowlist | open | disabled
|
|
1329
1398
|
allowFrom: ["+15555550123", "user@example.com", "chat_id:123"],
|
|
1330
|
-
historyLimit: 50,
|
|
1399
|
+
historyLimit: 50, // include last N group messages as context (0 disables)
|
|
1331
1400
|
includeAttachments: false,
|
|
1332
1401
|
mediaMaxMb: 16,
|
|
1333
1402
|
service: "auto",
|
|
1334
|
-
region: "US"
|
|
1335
|
-
}
|
|
1336
|
-
}
|
|
1403
|
+
region: "US",
|
|
1404
|
+
},
|
|
1405
|
+
},
|
|
1337
1406
|
}
|
|
1338
1407
|
```
|
|
1339
1408
|
|
|
1340
1409
|
Multi-account support lives under `channels.imessage.accounts` (see the multi-account section above).
|
|
1341
1410
|
|
|
1342
1411
|
Notes:
|
|
1412
|
+
|
|
1343
1413
|
- Requires Full Disk Access to the Messages DB.
|
|
1344
1414
|
- The first send will prompt for Messages automation permission.
|
|
1345
1415
|
- Prefer `chat_id:<id>` targets. Use `imsg chats --limit 20` to list chats.
|
|
@@ -1347,6 +1417,7 @@ Notes:
|
|
|
1347
1417
|
- For remote SSH wrappers, set `channels.imessage.remoteHost` to fetch attachments via SCP when `includeAttachments` is enabled.
|
|
1348
1418
|
|
|
1349
1419
|
Example wrapper:
|
|
1420
|
+
|
|
1350
1421
|
```bash
|
|
1351
1422
|
#!/usr/bin/env bash
|
|
1352
1423
|
exec ssh -T gateway-host imsg "$@"
|
|
@@ -1356,11 +1427,11 @@ exec ssh -T gateway-host imsg "$@"
|
|
|
1356
1427
|
|
|
1357
1428
|
Sets the **single global workspace directory** used by the agent for file operations.
|
|
1358
1429
|
|
|
1359
|
-
Default:
|
|
1430
|
+
Default: `~/.openclaw/workspace`.
|
|
1360
1431
|
|
|
1361
1432
|
```json5
|
|
1362
1433
|
{
|
|
1363
|
-
agents: { defaults: { workspace: "
|
|
1434
|
+
agents: { defaults: { workspace: "~/.openclaw/workspace" } },
|
|
1364
1435
|
}
|
|
1365
1436
|
```
|
|
1366
1437
|
|
|
@@ -1369,13 +1440,13 @@ own per-scope workspaces under `agents.defaults.sandbox.workspaceRoot`.
|
|
|
1369
1440
|
|
|
1370
1441
|
### `agents.defaults.repoRoot`
|
|
1371
1442
|
|
|
1372
|
-
Optional repository root to show in the system prompt’s Runtime line. If unset,
|
|
1443
|
+
Optional repository root to show in the system prompt’s Runtime line. If unset, OpenClaw
|
|
1373
1444
|
tries to detect a `.git` directory by walking upward from the workspace (and current
|
|
1374
1445
|
working directory). The path must exist to be used.
|
|
1375
1446
|
|
|
1376
1447
|
```json5
|
|
1377
1448
|
{
|
|
1378
|
-
agents: { defaults: { repoRoot: "~/Projects/
|
|
1449
|
+
agents: { defaults: { repoRoot: "~/Projects/openclaw" } },
|
|
1379
1450
|
}
|
|
1380
1451
|
```
|
|
1381
1452
|
|
|
@@ -1387,7 +1458,7 @@ Use this for pre-seeded deployments where your workspace files come from a repo.
|
|
|
1387
1458
|
|
|
1388
1459
|
```json5
|
|
1389
1460
|
{
|
|
1390
|
-
agents: { defaults: { skipBootstrap: true } }
|
|
1461
|
+
agents: { defaults: { skipBootstrap: true } },
|
|
1391
1462
|
}
|
|
1392
1463
|
```
|
|
1393
1464
|
|
|
@@ -1396,23 +1467,23 @@ Use this for pre-seeded deployments where your workspace files come from a repo.
|
|
|
1396
1467
|
Max characters of each workspace bootstrap file injected into the system prompt
|
|
1397
1468
|
before truncation. Default: `20000`.
|
|
1398
1469
|
|
|
1399
|
-
When a file exceeds this limit,
|
|
1470
|
+
When a file exceeds this limit, OpenClaw logs a warning and injects a truncated
|
|
1400
1471
|
head/tail with a marker.
|
|
1401
1472
|
|
|
1402
1473
|
```json5
|
|
1403
1474
|
{
|
|
1404
|
-
agents: { defaults: { bootstrapMaxChars: 20000 } }
|
|
1475
|
+
agents: { defaults: { bootstrapMaxChars: 20000 } },
|
|
1405
1476
|
}
|
|
1406
1477
|
```
|
|
1407
1478
|
|
|
1408
1479
|
### `agents.defaults.userTimezone`
|
|
1409
1480
|
|
|
1410
1481
|
Sets the user’s timezone for **system prompt context** (not for timestamps in
|
|
1411
|
-
message envelopes). If unset,
|
|
1482
|
+
message envelopes). If unset, OpenClaw uses the host timezone at runtime.
|
|
1412
1483
|
|
|
1413
1484
|
```json5
|
|
1414
1485
|
{
|
|
1415
|
-
agents: { defaults: { userTimezone: "America/Chicago" } }
|
|
1486
|
+
agents: { defaults: { userTimezone: "America/Chicago" } },
|
|
1416
1487
|
}
|
|
1417
1488
|
```
|
|
1418
1489
|
|
|
@@ -1423,7 +1494,7 @@ Default: `auto` (OS preference).
|
|
|
1423
1494
|
|
|
1424
1495
|
```json5
|
|
1425
1496
|
{
|
|
1426
|
-
agents: { defaults: { timeFormat: "auto" } } // auto | 12 | 24
|
|
1497
|
+
agents: { defaults: { timeFormat: "auto" } }, // auto | 12 | 24
|
|
1427
1498
|
}
|
|
1428
1499
|
```
|
|
1429
1500
|
|
|
@@ -1438,8 +1509,8 @@ See [Messages](/concepts/messages) for queueing, sessions, and streaming context
|
|
|
1438
1509
|
responsePrefix: "🦞", // or "auto"
|
|
1439
1510
|
ackReaction: "👀",
|
|
1440
1511
|
ackReactionScope: "group-mentions",
|
|
1441
|
-
removeAckAfterReply: false
|
|
1442
|
-
}
|
|
1512
|
+
removeAckAfterReply: false,
|
|
1513
|
+
},
|
|
1443
1514
|
}
|
|
1444
1515
|
```
|
|
1445
1516
|
|
|
@@ -1448,20 +1519,20 @@ streaming, final replies) across channels unless already present.
|
|
|
1448
1519
|
|
|
1449
1520
|
If `messages.responsePrefix` is unset, no prefix is applied by default. WhatsApp self-chat
|
|
1450
1521
|
replies are the exception: they default to `[{identity.name}]` when set, otherwise
|
|
1451
|
-
`[
|
|
1522
|
+
`[openclaw]`, so same-phone conversations stay legible.
|
|
1452
1523
|
Set it to `"auto"` to derive `[{identity.name}]` for the routed agent (when set).
|
|
1453
1524
|
|
|
1454
1525
|
#### Template variables
|
|
1455
1526
|
|
|
1456
1527
|
The `responsePrefix` string can include template variables that resolve dynamically:
|
|
1457
1528
|
|
|
1458
|
-
| Variable
|
|
1459
|
-
|
|
1460
|
-
| `{model}`
|
|
1461
|
-
| `{modelFull}`
|
|
1462
|
-
| `{provider}`
|
|
1463
|
-
| `{thinkingLevel}` | Current thinking level | `high`, `low`, `off`
|
|
1464
|
-
| `{identity.name}` | Agent identity name
|
|
1529
|
+
| Variable | Description | Example |
|
|
1530
|
+
| ----------------- | ---------------------- | --------------------------- |
|
|
1531
|
+
| `{model}` | Short model name | `claude-opus-4-5`, `gpt-4o` |
|
|
1532
|
+
| `{modelFull}` | Full model identifier | `anthropic/claude-opus-4-5` |
|
|
1533
|
+
| `{provider}` | Provider name | `anthropic`, `openai` |
|
|
1534
|
+
| `{thinkingLevel}` | Current thinking level | `high`, `low`, `off` |
|
|
1535
|
+
| `{identity.name}` | Agent identity name | (same as `"auto"` mode) |
|
|
1465
1536
|
|
|
1466
1537
|
Variables are case-insensitive (`{MODEL}` = `{model}`). `{think}` is an alias for `{thinkingLevel}`.
|
|
1467
1538
|
Unresolved variables remain as literal text.
|
|
@@ -1469,17 +1540,17 @@ Unresolved variables remain as literal text.
|
|
|
1469
1540
|
```json5
|
|
1470
1541
|
{
|
|
1471
1542
|
messages: {
|
|
1472
|
-
responsePrefix: "[{model} | think:{thinkingLevel}]"
|
|
1473
|
-
}
|
|
1543
|
+
responsePrefix: "[{model} | think:{thinkingLevel}]",
|
|
1544
|
+
},
|
|
1474
1545
|
}
|
|
1475
1546
|
```
|
|
1476
1547
|
|
|
1477
1548
|
Example output: `[claude-opus-4-5 | think:high] Here's my response...`
|
|
1478
1549
|
|
|
1479
1550
|
WhatsApp inbound prefix is configured via `channels.whatsapp.messagePrefix` (deprecated:
|
|
1480
|
-
`messages.messagePrefix`). Default stays **unchanged**: `"[
|
|
1551
|
+
`messages.messagePrefix`). Default stays **unchanged**: `"[openclaw]"` when
|
|
1481
1552
|
`channels.whatsapp.allowFrom` is empty, otherwise `""` (no prefix). When using
|
|
1482
|
-
`"[
|
|
1553
|
+
`"[openclaw]"`, OpenClaw will instead use `[{identity.name}]` when the routed
|
|
1483
1554
|
agent has `identity.name` set.
|
|
1484
1555
|
|
|
1485
1556
|
`ackReaction` sends a best-effort emoji reaction to acknowledge inbound messages
|
|
@@ -1487,6 +1558,7 @@ on channels that support reactions (Slack/Discord/Telegram/Google Chat). Default
|
|
|
1487
1558
|
active agent’s `identity.emoji` when set, otherwise `"👀"`. Set it to `""` to disable.
|
|
1488
1559
|
|
|
1489
1560
|
`ackReactionScope` controls when reactions fire:
|
|
1561
|
+
|
|
1490
1562
|
- `group-mentions` (default): only when a group/room requires mentions **and** the bot was mentioned
|
|
1491
1563
|
- `group-all`: all group/room messages
|
|
1492
1564
|
- `direct`: direct messages only
|
|
@@ -1497,7 +1569,7 @@ active agent’s `identity.emoji` when set, otherwise `"👀"`. Set it to `""` t
|
|
|
1497
1569
|
|
|
1498
1570
|
#### `messages.tts`
|
|
1499
1571
|
|
|
1500
|
-
Enable text-to-speech for outbound replies. When on,
|
|
1572
|
+
Enable text-to-speech for outbound replies. When on, OpenClaw generates audio
|
|
1501
1573
|
using ElevenLabs or OpenAI and attaches it to responses. Telegram uses Opus
|
|
1502
1574
|
voice notes; other channels send MP3 audio.
|
|
1503
1575
|
|
|
@@ -1510,11 +1582,11 @@ voice notes; other channels send MP3 audio.
|
|
|
1510
1582
|
provider: "elevenlabs",
|
|
1511
1583
|
summaryModel: "openai/gpt-4.1-mini",
|
|
1512
1584
|
modelOverrides: {
|
|
1513
|
-
enabled: true
|
|
1585
|
+
enabled: true,
|
|
1514
1586
|
},
|
|
1515
1587
|
maxTextLength: 4000,
|
|
1516
1588
|
timeoutMs: 30000,
|
|
1517
|
-
prefsPath: "~/.
|
|
1589
|
+
prefsPath: "~/.openclaw/settings/tts.json",
|
|
1518
1590
|
elevenlabs: {
|
|
1519
1591
|
apiKey: "elevenlabs_api_key",
|
|
1520
1592
|
baseUrl: "https://api.elevenlabs.io",
|
|
@@ -1528,20 +1600,21 @@ voice notes; other channels send MP3 audio.
|
|
|
1528
1600
|
similarityBoost: 0.75,
|
|
1529
1601
|
style: 0.0,
|
|
1530
1602
|
useSpeakerBoost: true,
|
|
1531
|
-
speed: 1.0
|
|
1532
|
-
}
|
|
1603
|
+
speed: 1.0,
|
|
1604
|
+
},
|
|
1533
1605
|
},
|
|
1534
1606
|
openai: {
|
|
1535
1607
|
apiKey: "openai_api_key",
|
|
1536
1608
|
model: "gpt-4o-mini-tts",
|
|
1537
|
-
voice: "alloy"
|
|
1538
|
-
}
|
|
1539
|
-
}
|
|
1540
|
-
}
|
|
1609
|
+
voice: "alloy",
|
|
1610
|
+
},
|
|
1611
|
+
},
|
|
1612
|
+
},
|
|
1541
1613
|
}
|
|
1542
1614
|
```
|
|
1543
1615
|
|
|
1544
1616
|
Notes:
|
|
1617
|
+
|
|
1545
1618
|
- `messages.tts.auto` controls auto‑TTS (`off`, `always`, `inbound`, `tagged`).
|
|
1546
1619
|
- `/tts off|always|inbound|tagged` sets the per‑session auto mode (overrides config).
|
|
1547
1620
|
- `messages.tts.enabled` is legacy; doctor migrates it to `messages.tts.auto`.
|
|
@@ -1568,13 +1641,13 @@ Defaults for Talk mode (macOS/iOS/Android). Voice IDs fall back to `ELEVENLABS_V
|
|
|
1568
1641
|
voiceId: "elevenlabs_voice_id",
|
|
1569
1642
|
voiceAliases: {
|
|
1570
1643
|
Clawd: "EXAVITQu4vr4xnSDxMaL",
|
|
1571
|
-
Roger: "CwhRBWXzGAHq8TQ4Fs17"
|
|
1644
|
+
Roger: "CwhRBWXzGAHq8TQ4Fs17",
|
|
1572
1645
|
},
|
|
1573
1646
|
modelId: "eleven_v3",
|
|
1574
1647
|
outputFormat: "mp3_44100_128",
|
|
1575
1648
|
apiKey: "elevenlabs_api_key",
|
|
1576
|
-
interruptOnSpeech: true
|
|
1577
|
-
}
|
|
1649
|
+
interruptOnSpeech: true,
|
|
1650
|
+
},
|
|
1578
1651
|
}
|
|
1579
1652
|
```
|
|
1580
1653
|
|
|
@@ -1585,6 +1658,7 @@ Controls the embedded agent runtime (model/thinking/verbose/timeouts).
|
|
|
1585
1658
|
`agents.defaults.model.primary` sets the default model; `agents.defaults.model.fallbacks` are global failovers.
|
|
1586
1659
|
`agents.defaults.imageModel` is optional and is **only used if the primary model lacks image input**.
|
|
1587
1660
|
Each `agents.defaults.models` entry can include:
|
|
1661
|
+
|
|
1588
1662
|
- `alias` (optional model shortcut, e.g. `/opus`).
|
|
1589
1663
|
- `params` (optional provider-specific API params passed through to the model request).
|
|
1590
1664
|
|
|
@@ -1598,22 +1672,23 @@ Example:
|
|
|
1598
1672
|
defaults: {
|
|
1599
1673
|
models: {
|
|
1600
1674
|
"anthropic/claude-sonnet-4-5-20250929": {
|
|
1601
|
-
params: { temperature: 0.6 }
|
|
1675
|
+
params: { temperature: 0.6 },
|
|
1602
1676
|
},
|
|
1603
1677
|
"openai/gpt-5.2": {
|
|
1604
|
-
params: { maxTokens: 8192 }
|
|
1605
|
-
}
|
|
1606
|
-
}
|
|
1607
|
-
}
|
|
1608
|
-
}
|
|
1678
|
+
params: { maxTokens: 8192 },
|
|
1679
|
+
},
|
|
1680
|
+
},
|
|
1681
|
+
},
|
|
1682
|
+
},
|
|
1609
1683
|
}
|
|
1610
1684
|
```
|
|
1611
1685
|
|
|
1612
1686
|
Z.AI GLM-4.x models automatically enable thinking mode unless you:
|
|
1687
|
+
|
|
1613
1688
|
- set `--thinking off`, or
|
|
1614
1689
|
- define `agents.defaults.models["zai/<model>"].params.thinking` yourself.
|
|
1615
1690
|
|
|
1616
|
-
|
|
1691
|
+
OpenClaw also ships a few built-in alias shorthands. Defaults only apply when the model
|
|
1617
1692
|
is already present in `agents.defaults.models`:
|
|
1618
1693
|
|
|
1619
1694
|
- `opus` -> `anthropic/claude-opus-4-5`
|
|
@@ -1633,14 +1708,14 @@ Example: Opus 4.5 primary with MiniMax M2.1 fallback (hosted MiniMax):
|
|
|
1633
1708
|
defaults: {
|
|
1634
1709
|
models: {
|
|
1635
1710
|
"anthropic/claude-opus-4-5": { alias: "opus" },
|
|
1636
|
-
"minimax/MiniMax-M2.1": { alias: "minimax" }
|
|
1711
|
+
"minimax/MiniMax-M2.1": { alias: "minimax" },
|
|
1637
1712
|
},
|
|
1638
1713
|
model: {
|
|
1639
1714
|
primary: "anthropic/claude-opus-4-5",
|
|
1640
|
-
fallbacks: ["minimax/MiniMax-M2.1"]
|
|
1641
|
-
}
|
|
1642
|
-
}
|
|
1643
|
-
}
|
|
1715
|
+
fallbacks: ["minimax/MiniMax-M2.1"],
|
|
1716
|
+
},
|
|
1717
|
+
},
|
|
1718
|
+
},
|
|
1644
1719
|
}
|
|
1645
1720
|
```
|
|
1646
1721
|
|
|
@@ -1653,6 +1728,7 @@ backup path when API providers fail. Image pass-through is supported when you co
|
|
|
1653
1728
|
an `imageArg` that accepts file paths.
|
|
1654
1729
|
|
|
1655
1730
|
Notes:
|
|
1731
|
+
|
|
1656
1732
|
- CLI backends are **text-first**; tools are always disabled.
|
|
1657
1733
|
- Sessions are supported when `sessionArg` is set; session ids are persisted per backend.
|
|
1658
1734
|
- For `claude-cli`, defaults are wired in. Override the command path if PATH is minimal
|
|
@@ -1666,7 +1742,7 @@ Example:
|
|
|
1666
1742
|
defaults: {
|
|
1667
1743
|
cliBackends: {
|
|
1668
1744
|
"claude-cli": {
|
|
1669
|
-
command: "/opt/homebrew/bin/claude"
|
|
1745
|
+
command: "/opt/homebrew/bin/claude",
|
|
1670
1746
|
},
|
|
1671
1747
|
"my-cli": {
|
|
1672
1748
|
command: "my-cli",
|
|
@@ -1678,11 +1754,11 @@ Example:
|
|
|
1678
1754
|
systemPromptArg: "--system",
|
|
1679
1755
|
systemPromptWhen: "first",
|
|
1680
1756
|
imageArg: "--image",
|
|
1681
|
-
imageMode: "repeat"
|
|
1682
|
-
}
|
|
1683
|
-
}
|
|
1684
|
-
}
|
|
1685
|
-
}
|
|
1757
|
+
imageMode: "repeat",
|
|
1758
|
+
},
|
|
1759
|
+
},
|
|
1760
|
+
},
|
|
1761
|
+
},
|
|
1686
1762
|
}
|
|
1687
1763
|
```
|
|
1688
1764
|
|
|
@@ -1699,23 +1775,21 @@ Example:
|
|
|
1699
1775
|
params: {
|
|
1700
1776
|
thinking: {
|
|
1701
1777
|
type: "enabled",
|
|
1702
|
-
clear_thinking: false
|
|
1703
|
-
}
|
|
1704
|
-
}
|
|
1705
|
-
}
|
|
1778
|
+
clear_thinking: false,
|
|
1779
|
+
},
|
|
1780
|
+
},
|
|
1781
|
+
},
|
|
1706
1782
|
},
|
|
1707
1783
|
model: {
|
|
1708
1784
|
primary: "anthropic/claude-opus-4-5",
|
|
1709
1785
|
fallbacks: [
|
|
1710
1786
|
"openrouter/deepseek/deepseek-r1:free",
|
|
1711
|
-
"openrouter/meta-llama/llama-3.3-70b-instruct:free"
|
|
1712
|
-
]
|
|
1787
|
+
"openrouter/meta-llama/llama-3.3-70b-instruct:free",
|
|
1788
|
+
],
|
|
1713
1789
|
},
|
|
1714
1790
|
imageModel: {
|
|
1715
1791
|
primary: "openrouter/qwen/qwen-2.5-vl-72b-instruct:free",
|
|
1716
|
-
fallbacks: [
|
|
1717
|
-
"openrouter/google/gemini-2.0-flash-vision:free"
|
|
1718
|
-
]
|
|
1792
|
+
fallbacks: ["openrouter/google/gemini-2.0-flash-vision:free"],
|
|
1719
1793
|
},
|
|
1720
1794
|
thinkingDefault: "low",
|
|
1721
1795
|
verboseDefault: "off",
|
|
@@ -1724,22 +1798,22 @@ Example:
|
|
|
1724
1798
|
mediaMaxMb: 5,
|
|
1725
1799
|
heartbeat: {
|
|
1726
1800
|
every: "30m",
|
|
1727
|
-
target: "last"
|
|
1801
|
+
target: "last",
|
|
1728
1802
|
},
|
|
1729
1803
|
maxConcurrent: 3,
|
|
1730
1804
|
subagents: {
|
|
1731
1805
|
model: "minimax/MiniMax-M2.1",
|
|
1732
1806
|
maxConcurrent: 1,
|
|
1733
|
-
archiveAfterMinutes: 60
|
|
1807
|
+
archiveAfterMinutes: 60,
|
|
1734
1808
|
},
|
|
1735
1809
|
exec: {
|
|
1736
1810
|
backgroundMs: 10000,
|
|
1737
1811
|
timeoutSec: 1800,
|
|
1738
|
-
cleanupMs: 1800000
|
|
1812
|
+
cleanupMs: 1800000,
|
|
1739
1813
|
},
|
|
1740
|
-
contextTokens: 200000
|
|
1741
|
-
}
|
|
1742
|
-
}
|
|
1814
|
+
contextTokens: 200000,
|
|
1815
|
+
},
|
|
1816
|
+
},
|
|
1743
1817
|
}
|
|
1744
1818
|
```
|
|
1745
1819
|
|
|
@@ -1751,6 +1825,7 @@ It does **not** modify the session history on disk (`*.jsonl` remains complete).
|
|
|
1751
1825
|
This is intended to reduce token usage for chatty agents that accumulate large tool outputs over time.
|
|
1752
1826
|
|
|
1753
1827
|
High level:
|
|
1828
|
+
|
|
1754
1829
|
- Never touches user/assistant messages.
|
|
1755
1830
|
- Protects the last `keepLastAssistants` assistant messages (no tool results after that point are pruned).
|
|
1756
1831
|
- Protects the bootstrap prefix (nothing before the first user message is pruned).
|
|
@@ -1761,7 +1836,8 @@ High level:
|
|
|
1761
1836
|
- `aggressive`: always replaces eligible tool results before the cutoff with the `hardClear.placeholder` (no ratio checks).
|
|
1762
1837
|
|
|
1763
1838
|
Soft vs hard pruning (what changes in the context sent to the LLM):
|
|
1764
|
-
|
|
1839
|
+
|
|
1840
|
+
- **Soft-trim**: only for _oversized_ tool results. Keeps the beginning + end and inserts `...` in the middle.
|
|
1765
1841
|
- Before: `toolResult("…very long output…")`
|
|
1766
1842
|
- After: `toolResult("HEAD…\n...\n…TAIL\n\n[Tool result trimmed: …]")`
|
|
1767
1843
|
- **Hard-clear**: replaces the entire tool result with the placeholder.
|
|
@@ -1769,26 +1845,30 @@ Soft vs hard pruning (what changes in the context sent to the LLM):
|
|
|
1769
1845
|
- After: `toolResult("[Old tool result content cleared]")`
|
|
1770
1846
|
|
|
1771
1847
|
Notes / current limitations:
|
|
1848
|
+
|
|
1772
1849
|
- Tool results containing **image blocks are skipped** (never trimmed/cleared) right now.
|
|
1773
1850
|
- The estimated “context ratio” is based on **characters** (approximate), not exact tokens.
|
|
1774
1851
|
- If the session doesn’t contain at least `keepLastAssistants` assistant messages yet, pruning is skipped.
|
|
1775
1852
|
- In `aggressive` mode, `hardClear.enabled` is ignored (eligible tool results are always replaced with `hardClear.placeholder`).
|
|
1776
1853
|
|
|
1777
1854
|
Default (adaptive):
|
|
1855
|
+
|
|
1778
1856
|
```json5
|
|
1779
1857
|
{
|
|
1780
|
-
agents: { defaults: { contextPruning: { mode: "adaptive" } } }
|
|
1858
|
+
agents: { defaults: { contextPruning: { mode: "adaptive" } } },
|
|
1781
1859
|
}
|
|
1782
1860
|
```
|
|
1783
1861
|
|
|
1784
1862
|
To disable:
|
|
1863
|
+
|
|
1785
1864
|
```json5
|
|
1786
1865
|
{
|
|
1787
|
-
agents: { defaults: { contextPruning: { mode: "off" } } }
|
|
1866
|
+
agents: { defaults: { contextPruning: { mode: "off" } } },
|
|
1788
1867
|
}
|
|
1789
1868
|
```
|
|
1790
1869
|
|
|
1791
1870
|
Defaults (when `mode` is `"adaptive"` or `"aggressive"`):
|
|
1871
|
+
|
|
1792
1872
|
- `keepLastAssistants`: `3`
|
|
1793
1873
|
- `softTrimRatio`: `0.3` (adaptive only)
|
|
1794
1874
|
- `hardClearRatio`: `0.5` (adaptive only)
|
|
@@ -1797,13 +1877,15 @@ Defaults (when `mode` is `"adaptive"` or `"aggressive"`):
|
|
|
1797
1877
|
- `hardClear`: `{ enabled: true, placeholder: "[Old tool result content cleared]" }`
|
|
1798
1878
|
|
|
1799
1879
|
Example (aggressive, minimal):
|
|
1880
|
+
|
|
1800
1881
|
```json5
|
|
1801
1882
|
{
|
|
1802
|
-
agents: { defaults: { contextPruning: { mode: "aggressive" } } }
|
|
1883
|
+
agents: { defaults: { contextPruning: { mode: "aggressive" } } },
|
|
1803
1884
|
}
|
|
1804
1885
|
```
|
|
1805
1886
|
|
|
1806
1887
|
Example (adaptive tuned):
|
|
1888
|
+
|
|
1807
1889
|
```json5
|
|
1808
1890
|
{
|
|
1809
1891
|
agents: {
|
|
@@ -1818,9 +1900,9 @@ Example (adaptive tuned):
|
|
|
1818
1900
|
hardClear: { enabled: true, placeholder: "[Old tool result content cleared]" },
|
|
1819
1901
|
// Optional: restrict pruning to specific tools (deny wins; supports "*" wildcards)
|
|
1820
1902
|
tools: { deny: ["browser", "canvas"] },
|
|
1821
|
-
}
|
|
1822
|
-
}
|
|
1823
|
-
}
|
|
1903
|
+
},
|
|
1904
|
+
},
|
|
1905
|
+
},
|
|
1824
1906
|
}
|
|
1825
1907
|
```
|
|
1826
1908
|
|
|
@@ -1839,6 +1921,7 @@ auto-compaction, instructing the model to store durable memories on disk (e.g.
|
|
|
1839
1921
|
soft threshold below the compaction limit.
|
|
1840
1922
|
|
|
1841
1923
|
Legacy defaults:
|
|
1924
|
+
|
|
1842
1925
|
- `memoryFlush.enabled`: `true`
|
|
1843
1926
|
- `memoryFlush.softThresholdTokens`: `4000`
|
|
1844
1927
|
- `memoryFlush.prompt` / `memoryFlush.systemPrompt`: built-in defaults with `NO_REPLY`
|
|
@@ -1846,6 +1929,7 @@ Legacy defaults:
|
|
|
1846
1929
|
(`agents.defaults.sandbox.workspaceAccess: "ro"` or `"none"`).
|
|
1847
1930
|
|
|
1848
1931
|
Example (tuned):
|
|
1932
|
+
|
|
1849
1933
|
```json5
|
|
1850
1934
|
{
|
|
1851
1935
|
agents: {
|
|
@@ -1857,15 +1941,16 @@ Example (tuned):
|
|
|
1857
1941
|
enabled: true,
|
|
1858
1942
|
softThresholdTokens: 6000,
|
|
1859
1943
|
systemPrompt: "Session nearing compaction. Store durable memories now.",
|
|
1860
|
-
prompt: "Write any lasting notes to memory/YYYY-MM-DD.md; reply with NO_REPLY if nothing to store."
|
|
1861
|
-
}
|
|
1862
|
-
}
|
|
1863
|
-
}
|
|
1864
|
-
}
|
|
1944
|
+
prompt: "Write any lasting notes to memory/YYYY-MM-DD.md; reply with NO_REPLY if nothing to store.",
|
|
1945
|
+
},
|
|
1946
|
+
},
|
|
1947
|
+
},
|
|
1948
|
+
},
|
|
1865
1949
|
}
|
|
1866
1950
|
```
|
|
1867
1951
|
|
|
1868
1952
|
Block streaming:
|
|
1953
|
+
|
|
1869
1954
|
- `agents.defaults.blockStreamingDefault`: `"on"`/`"off"` (default off).
|
|
1870
1955
|
- Channel overrides: `*.blockStreaming` (and per-account variants) to force block streaming on/off.
|
|
1871
1956
|
Non-Telegram channels require an explicit `*.blockStreaming: true` to enable block replies.
|
|
@@ -1875,7 +1960,7 @@ Block streaming:
|
|
|
1875
1960
|
Example:
|
|
1876
1961
|
```json5
|
|
1877
1962
|
{
|
|
1878
|
-
agents: { defaults: { blockStreamingChunk: { minChars: 800, maxChars: 1200 } } }
|
|
1963
|
+
agents: { defaults: { blockStreamingChunk: { minChars: 800, maxChars: 1200 } } },
|
|
1879
1964
|
}
|
|
1880
1965
|
```
|
|
1881
1966
|
- `agents.defaults.blockStreamingCoalesce`: merge streamed blocks before sending.
|
|
@@ -1893,27 +1978,29 @@ Block streaming:
|
|
|
1893
1978
|
Example:
|
|
1894
1979
|
```json5
|
|
1895
1980
|
{
|
|
1896
|
-
agents: { defaults: { humanDelay: { mode: "natural" } } }
|
|
1981
|
+
agents: { defaults: { humanDelay: { mode: "natural" } } },
|
|
1897
1982
|
}
|
|
1898
1983
|
```
|
|
1899
|
-
See [/concepts/streaming](/concepts/streaming) for behavior + chunking details.
|
|
1984
|
+
See [/concepts/streaming](/concepts/streaming) for behavior + chunking details.
|
|
1900
1985
|
|
|
1901
1986
|
Typing indicators:
|
|
1987
|
+
|
|
1902
1988
|
- `agents.defaults.typingMode`: `"never" | "instant" | "thinking" | "message"`. Defaults to
|
|
1903
1989
|
`instant` for direct chats / mentions and `message` for unmentioned group chats.
|
|
1904
1990
|
- `session.typingMode`: per-session override for the mode.
|
|
1905
1991
|
- `agents.defaults.typingIntervalSeconds`: how often the typing signal is refreshed (default: 6s).
|
|
1906
1992
|
- `session.typingIntervalSeconds`: per-session override for the refresh interval.
|
|
1907
|
-
See [/concepts/typing-indicators](/concepts/typing-indicators) for behavior details.
|
|
1993
|
+
See [/concepts/typing-indicators](/concepts/typing-indicators) for behavior details.
|
|
1908
1994
|
|
|
1909
1995
|
`agents.defaults.model.primary` should be set as `provider/model` (e.g. `anthropic/claude-opus-4-5`).
|
|
1910
1996
|
Aliases come from `agents.defaults.models.*.alias` (e.g. `Opus`).
|
|
1911
|
-
If you omit the provider,
|
|
1997
|
+
If you omit the provider, OpenClaw currently assumes `anthropic` as a temporary
|
|
1912
1998
|
deprecation fallback.
|
|
1913
1999
|
Z.AI models are available as `zai/<model>` (e.g. `zai/glm-4.7`) and require
|
|
1914
2000
|
`ZAI_API_KEY` (or legacy `Z_AI_API_KEY`) in the environment.
|
|
1915
2001
|
|
|
1916
2002
|
`agents.defaults.heartbeat` configures periodic heartbeat runs:
|
|
2003
|
+
|
|
1917
2004
|
- `every`: duration string (`ms`, `s`, `m`, `h`); default unit minutes. Default:
|
|
1918
2005
|
`30m`. Set `0m` to disable.
|
|
1919
2006
|
- `model`: optional override model for heartbeat runs (`provider/model`).
|
|
@@ -1925,6 +2012,7 @@ Z.AI models are available as `zai/<model>` (e.g. `zai/glm-4.7`) and require
|
|
|
1925
2012
|
- `ackMaxChars`: max chars allowed after `HEARTBEAT_OK` before delivery (default: 300).
|
|
1926
2013
|
|
|
1927
2014
|
Per-agent heartbeats:
|
|
2015
|
+
|
|
1928
2016
|
- Set `agents.list[].heartbeat` to enable or override heartbeat settings for a specific agent.
|
|
1929
2017
|
- If any agent entry defines `heartbeat`, **only those agents** run heartbeats; defaults
|
|
1930
2018
|
become the shared baseline for those agents.
|
|
@@ -1933,17 +2021,19 @@ Heartbeats run full agent turns. Shorter intervals burn more tokens; be mindful
|
|
|
1933
2021
|
of `every`, keep `HEARTBEAT.md` tiny, and/or choose a cheaper `model`.
|
|
1934
2022
|
|
|
1935
2023
|
`tools.exec` configures background exec defaults:
|
|
2024
|
+
|
|
1936
2025
|
- `backgroundMs`: time before auto-background (ms, default 10000)
|
|
1937
2026
|
- `timeoutSec`: auto-kill after this runtime (seconds, default 1800)
|
|
1938
2027
|
- `cleanupMs`: how long to keep finished sessions in memory (ms, default 1800000)
|
|
1939
2028
|
- `notifyOnExit`: enqueue a system event + request heartbeat when backgrounded exec exits (default true)
|
|
1940
2029
|
- `applyPatch.enabled`: enable experimental `apply_patch` (OpenAI/OpenAI Codex only; default false)
|
|
1941
2030
|
- `applyPatch.allowModels`: optional allowlist of model ids (e.g. `gpt-5.2` or `openai/gpt-5.2`)
|
|
1942
|
-
Note: `applyPatch` is only under `tools.exec`.
|
|
2031
|
+
Note: `applyPatch` is only under `tools.exec`.
|
|
1943
2032
|
|
|
1944
2033
|
`tools.web` configures web search + fetch tools:
|
|
2034
|
+
|
|
1945
2035
|
- `tools.web.search.enabled` (default: true when key is present)
|
|
1946
|
-
- `tools.web.search.apiKey` (recommended: set via `
|
|
2036
|
+
- `tools.web.search.apiKey` (recommended: set via `openclaw configure --section web`, or use `BRAVE_API_KEY` env var)
|
|
1947
2037
|
- `tools.web.search.maxResults` (1–10, default 5)
|
|
1948
2038
|
- `tools.web.search.timeoutSeconds` (default 30)
|
|
1949
2039
|
- `tools.web.search.cacheTtlMinutes` (default 15)
|
|
@@ -1961,6 +2051,7 @@ Note: `applyPatch` is only under `tools.exec`.
|
|
|
1961
2051
|
- `tools.web.fetch.firecrawl.timeoutSeconds` (optional)
|
|
1962
2052
|
|
|
1963
2053
|
`tools.media` configures inbound media understanding (image/audio/video):
|
|
2054
|
+
|
|
1964
2055
|
- `tools.media.models`: shared model list (capability-tagged; used after per-cap lists).
|
|
1965
2056
|
- `tools.media.concurrency`: max concurrent capability runs (default 2).
|
|
1966
2057
|
- `tools.media.image` / `tools.media.audio` / `tools.media.video`:
|
|
@@ -1989,6 +2080,7 @@ If no models are configured (or `enabled: false`), understanding is skipped; the
|
|
|
1989
2080
|
Provider auth follows the standard model auth order (auth profiles, env vars like `OPENAI_API_KEY`/`GROQ_API_KEY`/`GEMINI_API_KEY`, or `models.providers.*.apiKey`).
|
|
1990
2081
|
|
|
1991
2082
|
Example:
|
|
2083
|
+
|
|
1992
2084
|
```json5
|
|
1993
2085
|
{
|
|
1994
2086
|
tools: {
|
|
@@ -1998,30 +2090,32 @@ Example:
|
|
|
1998
2090
|
maxBytes: 20971520,
|
|
1999
2091
|
scope: {
|
|
2000
2092
|
default: "deny",
|
|
2001
|
-
rules: [{ action: "allow", match: { chatType: "direct" } }]
|
|
2093
|
+
rules: [{ action: "allow", match: { chatType: "direct" } }],
|
|
2002
2094
|
},
|
|
2003
2095
|
models: [
|
|
2004
2096
|
{ provider: "openai", model: "gpt-4o-mini-transcribe" },
|
|
2005
|
-
{ type: "cli", command: "whisper", args: ["--model", "base", "{{MediaPath}}"] }
|
|
2006
|
-
]
|
|
2097
|
+
{ type: "cli", command: "whisper", args: ["--model", "base", "{{MediaPath}}"] },
|
|
2098
|
+
],
|
|
2007
2099
|
},
|
|
2008
2100
|
video: {
|
|
2009
2101
|
enabled: true,
|
|
2010
2102
|
maxBytes: 52428800,
|
|
2011
|
-
models: [{ provider: "google", model: "gemini-3-flash-preview" }]
|
|
2012
|
-
}
|
|
2013
|
-
}
|
|
2014
|
-
}
|
|
2103
|
+
models: [{ provider: "google", model: "gemini-3-flash-preview" }],
|
|
2104
|
+
},
|
|
2105
|
+
},
|
|
2106
|
+
},
|
|
2015
2107
|
}
|
|
2016
2108
|
```
|
|
2017
2109
|
|
|
2018
2110
|
`agents.defaults.subagents` configures sub-agent defaults:
|
|
2111
|
+
|
|
2019
2112
|
- `model`: default model for spawned sub-agents (string or `{ primary, fallbacks }`). If omitted, sub-agents inherit the caller’s model unless overridden per agent or per call.
|
|
2020
2113
|
- `maxConcurrent`: max concurrent sub-agent runs (default 1)
|
|
2021
2114
|
- `archiveAfterMinutes`: auto-archive sub-agent sessions after N minutes (default 60; set `0` to disable)
|
|
2022
2115
|
- Per-subagent tool policy: `tools.subagents.tools.allow` / `tools.subagents.tools.deny` (deny wins)
|
|
2023
2116
|
|
|
2024
2117
|
`tools.profile` sets a **base tool allowlist** before `tools.allow`/`tools.deny`:
|
|
2118
|
+
|
|
2025
2119
|
- `minimal`: `session_status` only
|
|
2026
2120
|
- `coding`: `group:fs`, `group:runtime`, `group:sessions`, `group:memory`, `image`
|
|
2027
2121
|
- `messaging`: `group:messaging`, `sessions_list`, `sessions_history`, `sessions_send`, `session_status`
|
|
@@ -2030,22 +2124,24 @@ Example:
|
|
|
2030
2124
|
Per-agent override: `agents.list[].tools.profile`.
|
|
2031
2125
|
|
|
2032
2126
|
Example (messaging-only by default, allow Slack + Discord tools too):
|
|
2127
|
+
|
|
2033
2128
|
```json5
|
|
2034
2129
|
{
|
|
2035
2130
|
tools: {
|
|
2036
2131
|
profile: "messaging",
|
|
2037
|
-
allow: ["slack", "discord"]
|
|
2038
|
-
}
|
|
2132
|
+
allow: ["slack", "discord"],
|
|
2133
|
+
},
|
|
2039
2134
|
}
|
|
2040
2135
|
```
|
|
2041
2136
|
|
|
2042
2137
|
Example (coding profile, but deny exec/process everywhere):
|
|
2138
|
+
|
|
2043
2139
|
```json5
|
|
2044
2140
|
{
|
|
2045
2141
|
tools: {
|
|
2046
2142
|
profile: "coding",
|
|
2047
|
-
deny: ["group:runtime"]
|
|
2048
|
-
}
|
|
2143
|
+
deny: ["group:runtime"],
|
|
2144
|
+
},
|
|
2049
2145
|
}
|
|
2050
2146
|
```
|
|
2051
2147
|
|
|
@@ -2057,26 +2153,28 @@ Provider keys accept either `provider` (e.g. `google-antigravity`) or `provider/
|
|
|
2057
2153
|
(e.g. `openai/gpt-5.2`).
|
|
2058
2154
|
|
|
2059
2155
|
Example (keep global coding profile, but minimal tools for Google Antigravity):
|
|
2156
|
+
|
|
2060
2157
|
```json5
|
|
2061
2158
|
{
|
|
2062
2159
|
tools: {
|
|
2063
2160
|
profile: "coding",
|
|
2064
2161
|
byProvider: {
|
|
2065
|
-
"google-antigravity": { profile: "minimal" }
|
|
2066
|
-
}
|
|
2067
|
-
}
|
|
2162
|
+
"google-antigravity": { profile: "minimal" },
|
|
2163
|
+
},
|
|
2164
|
+
},
|
|
2068
2165
|
}
|
|
2069
2166
|
```
|
|
2070
2167
|
|
|
2071
2168
|
Example (provider/model-specific allowlist):
|
|
2169
|
+
|
|
2072
2170
|
```json5
|
|
2073
2171
|
{
|
|
2074
2172
|
tools: {
|
|
2075
2173
|
allow: ["group:fs", "group:runtime", "sessions_list"],
|
|
2076
2174
|
byProvider: {
|
|
2077
|
-
"openai/gpt-5.2": { allow: ["group:fs", "sessions_list"] }
|
|
2078
|
-
}
|
|
2079
|
-
}
|
|
2175
|
+
"openai/gpt-5.2": { allow: ["group:fs", "sessions_list"] },
|
|
2176
|
+
},
|
|
2177
|
+
},
|
|
2080
2178
|
}
|
|
2081
2179
|
```
|
|
2082
2180
|
|
|
@@ -2085,13 +2183,15 @@ Matching is case-insensitive and supports `*` wildcards (`"*"` means all tools).
|
|
|
2085
2183
|
This is applied even when the Docker sandbox is **off**.
|
|
2086
2184
|
|
|
2087
2185
|
Example (disable browser/canvas everywhere):
|
|
2186
|
+
|
|
2088
2187
|
```json5
|
|
2089
2188
|
{
|
|
2090
|
-
tools: { deny: ["browser", "canvas"] }
|
|
2189
|
+
tools: { deny: ["browser", "canvas"] },
|
|
2091
2190
|
}
|
|
2092
2191
|
```
|
|
2093
2192
|
|
|
2094
2193
|
Tool groups (shorthands) work in **global** and **per-agent** tool policies:
|
|
2194
|
+
|
|
2095
2195
|
- `group:runtime`: `exec`, `bash`, `process`
|
|
2096
2196
|
- `group:fs`: `read`, `write`, `edit`, `apply_patch`
|
|
2097
2197
|
- `group:sessions`: `sessions_list`, `sessions_history`, `sessions_send`, `sessions_spawn`, `session_status`
|
|
@@ -2101,9 +2201,10 @@ Tool groups (shorthands) work in **global** and **per-agent** tool policies:
|
|
|
2101
2201
|
- `group:automation`: `cron`, `gateway`
|
|
2102
2202
|
- `group:messaging`: `message`
|
|
2103
2203
|
- `group:nodes`: `nodes`
|
|
2104
|
-
- `group:
|
|
2204
|
+
- `group:openclaw`: all built-in OpenClaw tools (excludes provider plugins)
|
|
2105
2205
|
|
|
2106
2206
|
`tools.elevated` controls elevated (host) exec access:
|
|
2207
|
+
|
|
2107
2208
|
- `enabled`: allow elevated mode (default true)
|
|
2108
2209
|
- `allowFrom`: per-channel allowlists (empty = disabled)
|
|
2109
2210
|
- `whatsapp`: E.164 numbers
|
|
@@ -2114,6 +2215,7 @@ Tool groups (shorthands) work in **global** and **per-agent** tool policies:
|
|
|
2114
2215
|
- `webchat`: session ids or usernames
|
|
2115
2216
|
|
|
2116
2217
|
Example:
|
|
2218
|
+
|
|
2117
2219
|
```json5
|
|
2118
2220
|
{
|
|
2119
2221
|
tools: {
|
|
@@ -2121,14 +2223,15 @@ Example:
|
|
|
2121
2223
|
enabled: true,
|
|
2122
2224
|
allowFrom: {
|
|
2123
2225
|
whatsapp: ["+15555550123"],
|
|
2124
|
-
discord: ["steipete", "1234567890123"]
|
|
2125
|
-
}
|
|
2126
|
-
}
|
|
2127
|
-
}
|
|
2226
|
+
discord: ["steipete", "1234567890123"],
|
|
2227
|
+
},
|
|
2228
|
+
},
|
|
2229
|
+
},
|
|
2128
2230
|
}
|
|
2129
2231
|
```
|
|
2130
2232
|
|
|
2131
2233
|
Per-agent override (further restrict):
|
|
2234
|
+
|
|
2132
2235
|
```json5
|
|
2133
2236
|
{
|
|
2134
2237
|
agents: {
|
|
@@ -2136,15 +2239,16 @@ Per-agent override (further restrict):
|
|
|
2136
2239
|
{
|
|
2137
2240
|
id: "family",
|
|
2138
2241
|
tools: {
|
|
2139
|
-
elevated: { enabled: false }
|
|
2140
|
-
}
|
|
2141
|
-
}
|
|
2142
|
-
]
|
|
2143
|
-
}
|
|
2242
|
+
elevated: { enabled: false },
|
|
2243
|
+
},
|
|
2244
|
+
},
|
|
2245
|
+
],
|
|
2246
|
+
},
|
|
2144
2247
|
}
|
|
2145
2248
|
```
|
|
2146
2249
|
|
|
2147
2250
|
Notes:
|
|
2251
|
+
|
|
2148
2252
|
- `tools.elevated` is the global baseline. `agents.list[].tools.elevated` can only further restrict (both must allow).
|
|
2149
2253
|
- `/elevated on|off|ask|full` stores state per session key; inline directives apply to a single message.
|
|
2150
2254
|
- Elevated `exec` runs on the host and bypasses sandboxing.
|
|
@@ -2162,10 +2266,11 @@ sessions so they cannot access your host system.
|
|
|
2162
2266
|
Details: [Sandboxing](/gateway/sandboxing)
|
|
2163
2267
|
|
|
2164
2268
|
Defaults (if enabled):
|
|
2269
|
+
|
|
2165
2270
|
- scope: `"agent"` (one container + workspace per agent)
|
|
2166
2271
|
- Debian bookworm-slim based image
|
|
2167
2272
|
- agent workspace access: `workspaceAccess: "none"` (default)
|
|
2168
|
-
- `"none"`: use a per-scope sandbox workspace under `~/.
|
|
2273
|
+
- `"none"`: use a per-scope sandbox workspace under `~/.openclaw/sandboxes`
|
|
2169
2274
|
- `"ro"`: keep the sandbox workspace at `/workspace`, and mount the agent workspace read-only at `/agent` (disables `write`/`edit`/`apply_patch`)
|
|
2170
2275
|
- `"rw"`: mount the agent workspace read/write at `/workspace`
|
|
2171
2276
|
- auto-prune: idle > 24h OR age > 7d
|
|
@@ -2192,10 +2297,10 @@ For package installs, ensure network egress, a writable root FS, and a root user
|
|
|
2192
2297
|
mode: "non-main", // off | non-main | all
|
|
2193
2298
|
scope: "agent", // session | agent | shared (agent is default)
|
|
2194
2299
|
workspaceAccess: "none", // none | ro | rw
|
|
2195
|
-
workspaceRoot: "~/.
|
|
2300
|
+
workspaceRoot: "~/.openclaw/sandboxes",
|
|
2196
2301
|
docker: {
|
|
2197
|
-
image: "
|
|
2198
|
-
containerPrefix: "
|
|
2302
|
+
image: "openclaw-sandbox:bookworm-slim",
|
|
2303
|
+
containerPrefix: "openclaw-sbx-",
|
|
2199
2304
|
workdir: "/workspace",
|
|
2200
2305
|
readOnlyRoot: true,
|
|
2201
2306
|
tmpfs: ["/tmp", "/var/tmp", "/run"],
|
|
@@ -2211,18 +2316,18 @@ For package installs, ensure network egress, a writable root FS, and a root user
|
|
|
2211
2316
|
cpus: 1,
|
|
2212
2317
|
ulimits: {
|
|
2213
2318
|
nofile: { soft: 1024, hard: 2048 },
|
|
2214
|
-
nproc: 256
|
|
2319
|
+
nproc: 256,
|
|
2215
2320
|
},
|
|
2216
2321
|
seccompProfile: "/path/to/seccomp.json",
|
|
2217
|
-
apparmorProfile: "
|
|
2322
|
+
apparmorProfile: "openclaw-sandbox",
|
|
2218
2323
|
dns: ["1.1.1.1", "8.8.8.8"],
|
|
2219
2324
|
extraHosts: ["internal.service:10.0.0.5"],
|
|
2220
|
-
binds: ["/var/run/docker.sock:/var/run/docker.sock", "/home/user/source:/source:rw"]
|
|
2325
|
+
binds: ["/var/run/docker.sock:/var/run/docker.sock", "/home/user/source:/source:rw"],
|
|
2221
2326
|
},
|
|
2222
2327
|
browser: {
|
|
2223
2328
|
enabled: false,
|
|
2224
|
-
image: "
|
|
2225
|
-
containerPrefix: "
|
|
2329
|
+
image: "openclaw-sandbox-browser:bookworm-slim",
|
|
2330
|
+
containerPrefix: "openclaw-sbx-browser-",
|
|
2226
2331
|
cdpPort: 9222,
|
|
2227
2332
|
vncPort: 5900,
|
|
2228
2333
|
noVncPort: 6080,
|
|
@@ -2233,27 +2338,40 @@ For package installs, ensure network egress, a writable root FS, and a root user
|
|
|
2233
2338
|
allowedControlHosts: ["browser.lab.local", "10.0.0.42"],
|
|
2234
2339
|
allowedControlPorts: [18791],
|
|
2235
2340
|
autoStart: true,
|
|
2236
|
-
autoStartTimeoutMs: 12000
|
|
2341
|
+
autoStartTimeoutMs: 12000,
|
|
2237
2342
|
},
|
|
2238
2343
|
prune: {
|
|
2239
|
-
idleHours: 24,
|
|
2240
|
-
maxAgeDays: 7
|
|
2241
|
-
}
|
|
2242
|
-
}
|
|
2243
|
-
}
|
|
2344
|
+
idleHours: 24, // 0 disables idle pruning
|
|
2345
|
+
maxAgeDays: 7, // 0 disables max-age pruning
|
|
2346
|
+
},
|
|
2347
|
+
},
|
|
2348
|
+
},
|
|
2244
2349
|
},
|
|
2245
2350
|
tools: {
|
|
2246
2351
|
sandbox: {
|
|
2247
2352
|
tools: {
|
|
2248
|
-
allow: [
|
|
2249
|
-
|
|
2250
|
-
|
|
2251
|
-
|
|
2252
|
-
|
|
2353
|
+
allow: [
|
|
2354
|
+
"exec",
|
|
2355
|
+
"process",
|
|
2356
|
+
"read",
|
|
2357
|
+
"write",
|
|
2358
|
+
"edit",
|
|
2359
|
+
"apply_patch",
|
|
2360
|
+
"sessions_list",
|
|
2361
|
+
"sessions_history",
|
|
2362
|
+
"sessions_send",
|
|
2363
|
+
"sessions_spawn",
|
|
2364
|
+
"session_status",
|
|
2365
|
+
],
|
|
2366
|
+
deny: ["browser", "canvas", "nodes", "cron", "discord", "gateway"],
|
|
2367
|
+
},
|
|
2368
|
+
},
|
|
2369
|
+
},
|
|
2253
2370
|
}
|
|
2254
2371
|
```
|
|
2255
2372
|
|
|
2256
2373
|
Build the default sandbox image once with:
|
|
2374
|
+
|
|
2257
2375
|
```bash
|
|
2258
2376
|
scripts/sandbox-setup.sh
|
|
2259
2377
|
```
|
|
@@ -2266,6 +2384,7 @@ Note: inbound attachments are staged into the active workspace at `media/inbound
|
|
|
2266
2384
|
Note: `docker.binds` mounts additional host directories; global and per-agent binds are merged.
|
|
2267
2385
|
|
|
2268
2386
|
Build the optional browser image with:
|
|
2387
|
+
|
|
2269
2388
|
```bash
|
|
2270
2389
|
scripts/sandbox-browser-setup.sh
|
|
2271
2390
|
```
|
|
@@ -2282,21 +2401,23 @@ via the browser tool (`target: "host"`). Leave this off if you want strict
|
|
|
2282
2401
|
sandbox isolation.
|
|
2283
2402
|
|
|
2284
2403
|
Allowlists for remote control:
|
|
2404
|
+
|
|
2285
2405
|
- `allowedControlUrls`: exact control URLs permitted for `target: "custom"`.
|
|
2286
2406
|
- `allowedControlHosts`: hostnames permitted (hostname only, no port).
|
|
2287
2407
|
- `allowedControlPorts`: ports permitted (defaults: http=80, https=443).
|
|
2288
|
-
Defaults: all allowlists are unset (no restriction). `allowHostControl` defaults to false.
|
|
2408
|
+
Defaults: all allowlists are unset (no restriction). `allowHostControl` defaults to false.
|
|
2289
2409
|
|
|
2290
2410
|
### `models` (custom providers + base URLs)
|
|
2291
2411
|
|
|
2292
|
-
|
|
2412
|
+
OpenClaw uses the **pi-coding-agent** model catalog. You can add custom providers
|
|
2293
2413
|
(LiteLLM, local OpenAI-compatible servers, Anthropic proxies, etc.) by writing
|
|
2294
|
-
`~/.
|
|
2295
|
-
|
|
2414
|
+
`~/.openclaw/agents/<agentId>/agent/models.json` or by defining the same schema inside your
|
|
2415
|
+
OpenClaw config under `models.providers`.
|
|
2296
2416
|
Provider-by-provider overview + examples: [/concepts/model-providers](/concepts/model-providers).
|
|
2297
2417
|
|
|
2298
|
-
When `models.providers` is present,
|
|
2299
|
-
`~/.
|
|
2418
|
+
When `models.providers` is present, OpenClaw writes/merges a `models.json` into
|
|
2419
|
+
`~/.openclaw/agents/<agentId>/agent/` on startup:
|
|
2420
|
+
|
|
2300
2421
|
- default behavior: **merge** (keeps existing providers, overrides on name)
|
|
2301
2422
|
- set `models.mode: "replace"` to overwrite the file contents
|
|
2302
2423
|
|
|
@@ -2308,9 +2429,9 @@ Select the model via `agents.defaults.model.primary` (provider/model).
|
|
|
2308
2429
|
defaults: {
|
|
2309
2430
|
model: { primary: "custom-proxy/llama-3.1-8b" },
|
|
2310
2431
|
models: {
|
|
2311
|
-
"custom-proxy/llama-3.1-8b": {}
|
|
2312
|
-
}
|
|
2313
|
-
}
|
|
2432
|
+
"custom-proxy/llama-3.1-8b": {},
|
|
2433
|
+
},
|
|
2434
|
+
},
|
|
2314
2435
|
},
|
|
2315
2436
|
models: {
|
|
2316
2437
|
mode: "merge",
|
|
@@ -2327,34 +2448,35 @@ Select the model via `agents.defaults.model.primary` (provider/model).
|
|
|
2327
2448
|
input: ["text"],
|
|
2328
2449
|
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
|
|
2329
2450
|
contextWindow: 128000,
|
|
2330
|
-
maxTokens: 32000
|
|
2331
|
-
}
|
|
2332
|
-
]
|
|
2333
|
-
}
|
|
2334
|
-
}
|
|
2335
|
-
}
|
|
2451
|
+
maxTokens: 32000,
|
|
2452
|
+
},
|
|
2453
|
+
],
|
|
2454
|
+
},
|
|
2455
|
+
},
|
|
2456
|
+
},
|
|
2336
2457
|
}
|
|
2337
2458
|
```
|
|
2338
2459
|
|
|
2339
2460
|
### OpenCode Zen (multi-model proxy)
|
|
2340
2461
|
|
|
2341
|
-
OpenCode Zen is a multi-model gateway with per-model endpoints.
|
|
2462
|
+
OpenCode Zen is a multi-model gateway with per-model endpoints. OpenClaw uses
|
|
2342
2463
|
the built-in `opencode` provider from pi-ai; set `OPENCODE_API_KEY` (or
|
|
2343
2464
|
`OPENCODE_ZEN_API_KEY`) from https://opencode.ai/auth.
|
|
2344
2465
|
|
|
2345
2466
|
Notes:
|
|
2467
|
+
|
|
2346
2468
|
- Model refs use `opencode/<modelId>` (example: `opencode/claude-opus-4-5`).
|
|
2347
2469
|
- If you enable an allowlist via `agents.defaults.models`, add each model you plan to use.
|
|
2348
|
-
- Shortcut: `
|
|
2470
|
+
- Shortcut: `openclaw onboard --auth-choice opencode-zen`.
|
|
2349
2471
|
|
|
2350
2472
|
```json5
|
|
2351
2473
|
{
|
|
2352
2474
|
agents: {
|
|
2353
2475
|
defaults: {
|
|
2354
2476
|
model: { primary: "opencode/claude-opus-4-5" },
|
|
2355
|
-
models: { "opencode/claude-opus-4-5": { alias: "Opus" } }
|
|
2356
|
-
}
|
|
2357
|
-
}
|
|
2477
|
+
models: { "opencode/claude-opus-4-5": { alias: "Opus" } },
|
|
2478
|
+
},
|
|
2479
|
+
},
|
|
2358
2480
|
}
|
|
2359
2481
|
```
|
|
2360
2482
|
|
|
@@ -2363,20 +2485,21 @@ Notes:
|
|
|
2363
2485
|
Z.AI models are available via the built-in `zai` provider. Set `ZAI_API_KEY`
|
|
2364
2486
|
in your environment and reference the model by provider/model.
|
|
2365
2487
|
|
|
2366
|
-
Shortcut: `
|
|
2488
|
+
Shortcut: `openclaw onboard --auth-choice zai-api-key`.
|
|
2367
2489
|
|
|
2368
2490
|
```json5
|
|
2369
2491
|
{
|
|
2370
2492
|
agents: {
|
|
2371
2493
|
defaults: {
|
|
2372
2494
|
model: { primary: "zai/glm-4.7" },
|
|
2373
|
-
models: { "zai/glm-4.7": {} }
|
|
2374
|
-
}
|
|
2375
|
-
}
|
|
2495
|
+
models: { "zai/glm-4.7": {} },
|
|
2496
|
+
},
|
|
2497
|
+
},
|
|
2376
2498
|
}
|
|
2377
2499
|
```
|
|
2378
2500
|
|
|
2379
2501
|
Notes:
|
|
2502
|
+
|
|
2380
2503
|
- `z.ai/*` and `z-ai/*` are accepted aliases and normalize to `zai/*`.
|
|
2381
2504
|
- If `ZAI_API_KEY` is missing, requests to `zai/*` will fail with an auth error at runtime.
|
|
2382
2505
|
- Example error: `No API key found for provider "zai".`
|
|
@@ -2397,8 +2520,8 @@ Use Moonshot's OpenAI-compatible endpoint:
|
|
|
2397
2520
|
agents: {
|
|
2398
2521
|
defaults: {
|
|
2399
2522
|
model: { primary: "moonshot/kimi-k2.5" },
|
|
2400
|
-
models: { "moonshot/kimi-k2.5": { alias: "Kimi K2.5" } }
|
|
2401
|
-
}
|
|
2523
|
+
models: { "moonshot/kimi-k2.5": { alias: "Kimi K2.5" } },
|
|
2524
|
+
},
|
|
2402
2525
|
},
|
|
2403
2526
|
models: {
|
|
2404
2527
|
mode: "merge",
|
|
@@ -2415,62 +2538,41 @@ Use Moonshot's OpenAI-compatible endpoint:
|
|
|
2415
2538
|
input: ["text"],
|
|
2416
2539
|
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
|
|
2417
2540
|
contextWindow: 256000,
|
|
2418
|
-
maxTokens: 8192
|
|
2419
|
-
}
|
|
2420
|
-
]
|
|
2421
|
-
}
|
|
2422
|
-
}
|
|
2423
|
-
}
|
|
2541
|
+
maxTokens: 8192,
|
|
2542
|
+
},
|
|
2543
|
+
],
|
|
2544
|
+
},
|
|
2545
|
+
},
|
|
2546
|
+
},
|
|
2424
2547
|
}
|
|
2425
2548
|
```
|
|
2426
2549
|
|
|
2427
2550
|
Notes:
|
|
2428
|
-
|
|
2551
|
+
|
|
2552
|
+
- Set `MOONSHOT_API_KEY` in the environment or use `openclaw onboard --auth-choice moonshot-api-key`.
|
|
2429
2553
|
- Model ref: `moonshot/kimi-k2.5`.
|
|
2430
2554
|
- Use `https://api.moonshot.cn/v1` if you need the China endpoint.
|
|
2431
2555
|
|
|
2432
|
-
### Kimi
|
|
2556
|
+
### Kimi Coding
|
|
2433
2557
|
|
|
2434
|
-
Use
|
|
2558
|
+
Use Moonshot AI's Kimi Coding endpoint (Anthropic-compatible, built-in provider):
|
|
2435
2559
|
|
|
2436
2560
|
```json5
|
|
2437
2561
|
{
|
|
2438
|
-
env: {
|
|
2562
|
+
env: { KIMI_API_KEY: "sk-..." },
|
|
2439
2563
|
agents: {
|
|
2440
2564
|
defaults: {
|
|
2441
|
-
model: { primary: "kimi-
|
|
2442
|
-
models: { "kimi-
|
|
2443
|
-
}
|
|
2565
|
+
model: { primary: "kimi-coding/k2p5" },
|
|
2566
|
+
models: { "kimi-coding/k2p5": { alias: "Kimi K2.5" } },
|
|
2567
|
+
},
|
|
2444
2568
|
},
|
|
2445
|
-
models: {
|
|
2446
|
-
mode: "merge",
|
|
2447
|
-
providers: {
|
|
2448
|
-
"kimi-code": {
|
|
2449
|
-
baseUrl: "https://api.kimi.com/coding/v1",
|
|
2450
|
-
apiKey: "${KIMICODE_API_KEY}",
|
|
2451
|
-
api: "openai-completions",
|
|
2452
|
-
models: [
|
|
2453
|
-
{
|
|
2454
|
-
id: "kimi-for-coding",
|
|
2455
|
-
name: "Kimi For Coding",
|
|
2456
|
-
reasoning: true,
|
|
2457
|
-
input: ["text"],
|
|
2458
|
-
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
|
|
2459
|
-
contextWindow: 262144,
|
|
2460
|
-
maxTokens: 32768,
|
|
2461
|
-
headers: { "User-Agent": "KimiCLI/0.77" },
|
|
2462
|
-
compat: { supportsDeveloperRole: false }
|
|
2463
|
-
}
|
|
2464
|
-
]
|
|
2465
|
-
}
|
|
2466
|
-
}
|
|
2467
|
-
}
|
|
2468
2569
|
}
|
|
2469
2570
|
```
|
|
2470
2571
|
|
|
2471
2572
|
Notes:
|
|
2472
|
-
|
|
2473
|
-
-
|
|
2573
|
+
|
|
2574
|
+
- Set `KIMI_API_KEY` in the environment or use `openclaw onboard --auth-choice kimi-code-api-key`.
|
|
2575
|
+
- Model ref: `kimi-coding/k2p5`.
|
|
2474
2576
|
|
|
2475
2577
|
### Synthetic (Anthropic-compatible)
|
|
2476
2578
|
|
|
@@ -2482,8 +2584,8 @@ Use Synthetic's Anthropic-compatible endpoint:
|
|
|
2482
2584
|
agents: {
|
|
2483
2585
|
defaults: {
|
|
2484
2586
|
model: { primary: "synthetic/hf:MiniMaxAI/MiniMax-M2.1" },
|
|
2485
|
-
models: { "synthetic/hf:MiniMaxAI/MiniMax-M2.1": { alias: "MiniMax M2.1" } }
|
|
2486
|
-
}
|
|
2587
|
+
models: { "synthetic/hf:MiniMaxAI/MiniMax-M2.1": { alias: "MiniMax M2.1" } },
|
|
2588
|
+
},
|
|
2487
2589
|
},
|
|
2488
2590
|
models: {
|
|
2489
2591
|
mode: "merge",
|
|
@@ -2500,17 +2602,18 @@ Use Synthetic's Anthropic-compatible endpoint:
|
|
|
2500
2602
|
input: ["text"],
|
|
2501
2603
|
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
|
|
2502
2604
|
contextWindow: 192000,
|
|
2503
|
-
maxTokens: 65536
|
|
2504
|
-
}
|
|
2505
|
-
]
|
|
2506
|
-
}
|
|
2507
|
-
}
|
|
2508
|
-
}
|
|
2605
|
+
maxTokens: 65536,
|
|
2606
|
+
},
|
|
2607
|
+
],
|
|
2608
|
+
},
|
|
2609
|
+
},
|
|
2610
|
+
},
|
|
2509
2611
|
}
|
|
2510
2612
|
```
|
|
2511
2613
|
|
|
2512
2614
|
Notes:
|
|
2513
|
-
|
|
2615
|
+
|
|
2616
|
+
- Set `SYNTHETIC_API_KEY` or use `openclaw onboard --auth-choice synthetic-api-key`.
|
|
2514
2617
|
- Model ref: `synthetic/hf:MiniMaxAI/MiniMax-M2.1`.
|
|
2515
2618
|
- Base URL should omit `/v1` because the Anthropic client appends it.
|
|
2516
2619
|
|
|
@@ -2528,8 +2631,8 @@ Use MiniMax M2.1 directly without LM Studio:
|
|
|
2528
2631
|
model: { primary: "minimax/MiniMax-M2.1" },
|
|
2529
2632
|
models: {
|
|
2530
2633
|
"anthropic/claude-opus-4-5": { alias: "Opus" },
|
|
2531
|
-
"minimax/MiniMax-M2.1": { alias: "Minimax" }
|
|
2532
|
-
}
|
|
2634
|
+
"minimax/MiniMax-M2.1": { alias: "Minimax" },
|
|
2635
|
+
},
|
|
2533
2636
|
},
|
|
2534
2637
|
models: {
|
|
2535
2638
|
mode: "merge",
|
|
@@ -2547,17 +2650,18 @@ Use MiniMax M2.1 directly without LM Studio:
|
|
|
2547
2650
|
// Pricing: update in models.json if you need exact cost tracking.
|
|
2548
2651
|
cost: { input: 15, output: 60, cacheRead: 2, cacheWrite: 10 },
|
|
2549
2652
|
contextWindow: 200000,
|
|
2550
|
-
maxTokens: 8192
|
|
2551
|
-
}
|
|
2552
|
-
]
|
|
2553
|
-
}
|
|
2554
|
-
}
|
|
2555
|
-
}
|
|
2653
|
+
maxTokens: 8192,
|
|
2654
|
+
},
|
|
2655
|
+
],
|
|
2656
|
+
},
|
|
2657
|
+
},
|
|
2658
|
+
},
|
|
2556
2659
|
}
|
|
2557
2660
|
```
|
|
2558
2661
|
|
|
2559
2662
|
Notes:
|
|
2560
|
-
|
|
2663
|
+
|
|
2664
|
+
- Set `MINIMAX_API_KEY` environment variable or use `openclaw onboard --auth-choice minimax-api`.
|
|
2561
2665
|
- Available model: `MiniMax-M2.1` (default).
|
|
2562
2666
|
- Update pricing in `models.json` if you need exact cost tracking.
|
|
2563
2667
|
|
|
@@ -2572,13 +2676,13 @@ Use Cerebras via their OpenAI-compatible endpoint:
|
|
|
2572
2676
|
defaults: {
|
|
2573
2677
|
model: {
|
|
2574
2678
|
primary: "cerebras/zai-glm-4.7",
|
|
2575
|
-
fallbacks: ["cerebras/zai-glm-4.6"]
|
|
2679
|
+
fallbacks: ["cerebras/zai-glm-4.6"],
|
|
2576
2680
|
},
|
|
2577
2681
|
models: {
|
|
2578
2682
|
"cerebras/zai-glm-4.7": { alias: "GLM 4.7 (Cerebras)" },
|
|
2579
|
-
"cerebras/zai-glm-4.6": { alias: "GLM 4.6 (Cerebras)" }
|
|
2580
|
-
}
|
|
2581
|
-
}
|
|
2683
|
+
"cerebras/zai-glm-4.6": { alias: "GLM 4.6 (Cerebras)" },
|
|
2684
|
+
},
|
|
2685
|
+
},
|
|
2582
2686
|
},
|
|
2583
2687
|
models: {
|
|
2584
2688
|
mode: "merge",
|
|
@@ -2589,24 +2693,26 @@ Use Cerebras via their OpenAI-compatible endpoint:
|
|
|
2589
2693
|
api: "openai-completions",
|
|
2590
2694
|
models: [
|
|
2591
2695
|
{ id: "zai-glm-4.7", name: "GLM 4.7 (Cerebras)" },
|
|
2592
|
-
{ id: "zai-glm-4.6", name: "GLM 4.6 (Cerebras)" }
|
|
2593
|
-
]
|
|
2594
|
-
}
|
|
2595
|
-
}
|
|
2596
|
-
}
|
|
2696
|
+
{ id: "zai-glm-4.6", name: "GLM 4.6 (Cerebras)" },
|
|
2697
|
+
],
|
|
2698
|
+
},
|
|
2699
|
+
},
|
|
2700
|
+
},
|
|
2597
2701
|
}
|
|
2598
2702
|
```
|
|
2599
2703
|
|
|
2600
2704
|
Notes:
|
|
2705
|
+
|
|
2601
2706
|
- Use `cerebras/zai-glm-4.7` for Cerebras; use `zai/glm-4.7` for Z.AI direct.
|
|
2602
2707
|
- Set `CEREBRAS_API_KEY` in the environment or config.
|
|
2603
2708
|
|
|
2604
2709
|
Notes:
|
|
2710
|
+
|
|
2605
2711
|
- Supported APIs: `openai-completions`, `openai-responses`, `anthropic-messages`,
|
|
2606
2712
|
`google-generative-ai`
|
|
2607
2713
|
- Use `authHeader: true` + `headers` for custom auth needs.
|
|
2608
|
-
- Override the agent config root with `
|
|
2609
|
-
if you want `models.json` stored elsewhere (default: `~/.
|
|
2714
|
+
- Override the agent config root with `OPENCLAW_AGENT_DIR` (or `PI_CODING_AGENT_DIR`)
|
|
2715
|
+
if you want `models.json` stored elsewhere (default: `~/.openclaw/agents/main/agent`).
|
|
2610
2716
|
|
|
2611
2717
|
### `session`
|
|
2612
2718
|
|
|
@@ -2618,39 +2724,38 @@ Controls session scoping, reset policy, reset triggers, and where the session st
|
|
|
2618
2724
|
scope: "per-sender",
|
|
2619
2725
|
dmScope: "main",
|
|
2620
2726
|
identityLinks: {
|
|
2621
|
-
alice: ["telegram:123456789", "discord:987654321012345678"]
|
|
2727
|
+
alice: ["telegram:123456789", "discord:987654321012345678"],
|
|
2622
2728
|
},
|
|
2623
2729
|
reset: {
|
|
2624
2730
|
mode: "daily",
|
|
2625
2731
|
atHour: 4,
|
|
2626
|
-
idleMinutes: 60
|
|
2732
|
+
idleMinutes: 60,
|
|
2627
2733
|
},
|
|
2628
2734
|
resetByType: {
|
|
2629
2735
|
thread: { mode: "daily", atHour: 4 },
|
|
2630
2736
|
dm: { mode: "idle", idleMinutes: 240 },
|
|
2631
|
-
group: { mode: "idle", idleMinutes: 120 }
|
|
2737
|
+
group: { mode: "idle", idleMinutes: 120 },
|
|
2632
2738
|
},
|
|
2633
2739
|
resetTriggers: ["/new", "/reset"],
|
|
2634
|
-
// Default is already per-agent under ~/.
|
|
2740
|
+
// Default is already per-agent under ~/.openclaw/agents/<agentId>/sessions/sessions.json
|
|
2635
2741
|
// You can override with {agentId} templating:
|
|
2636
|
-
store: "~/.
|
|
2742
|
+
store: "~/.openclaw/agents/{agentId}/sessions/sessions.json",
|
|
2637
2743
|
// Direct chats collapse to agent:<agentId>:<mainKey> (default: "main").
|
|
2638
2744
|
mainKey: "main",
|
|
2639
2745
|
agentToAgent: {
|
|
2640
2746
|
// Max ping-pong reply turns between requester/target (0–5).
|
|
2641
|
-
maxPingPongTurns: 5
|
|
2747
|
+
maxPingPongTurns: 5,
|
|
2642
2748
|
},
|
|
2643
2749
|
sendPolicy: {
|
|
2644
|
-
rules: [
|
|
2645
|
-
|
|
2646
|
-
|
|
2647
|
-
|
|
2648
|
-
}
|
|
2649
|
-
}
|
|
2750
|
+
rules: [{ action: "deny", match: { channel: "discord", chatType: "group" } }],
|
|
2751
|
+
default: "allow",
|
|
2752
|
+
},
|
|
2753
|
+
},
|
|
2650
2754
|
}
|
|
2651
2755
|
```
|
|
2652
2756
|
|
|
2653
2757
|
Fields:
|
|
2758
|
+
|
|
2654
2759
|
- `mainKey`: direct-chat bucket key (default: `"main"`). Useful when you want to “rename” the primary DM thread without changing `agentId`.
|
|
2655
2760
|
- Sandbox note: `agents.defaults.sandbox.mode: "non-main"` uses this key to detect the main session. Any session key that does not match `mainKey` (groups/channels) is sandboxed.
|
|
2656
2761
|
- `dmScope`: how DM sessions are grouped (default: `"main"`).
|
|
@@ -2665,7 +2770,7 @@ Fields:
|
|
|
2665
2770
|
- `atHour`: local hour (0-23) for the daily reset boundary.
|
|
2666
2771
|
- `idleMinutes`: sliding idle window in minutes. When daily + idle are both configured, whichever expires first wins.
|
|
2667
2772
|
- `resetByType`: per-session overrides for `dm`, `group`, and `thread`.
|
|
2668
|
-
- If you only set legacy `session.idleMinutes` without any `reset`/`resetByType`,
|
|
2773
|
+
- If you only set legacy `session.idleMinutes` without any `reset`/`resetByType`, OpenClaw stays in idle-only mode for backward compatibility.
|
|
2669
2774
|
- `heartbeatIdleMinutes`: optional idle override for heartbeat checks (daily reset still applies when enabled).
|
|
2670
2775
|
- `agentToAgent.maxPingPongTurns`: max reply-back turns between requester/target (0–5, default 5).
|
|
2671
2776
|
- `sendPolicy.default`: `allow` or `deny` fallback when no rule matches.
|
|
@@ -2674,10 +2779,11 @@ Fields:
|
|
|
2674
2779
|
### `skills` (skills config)
|
|
2675
2780
|
|
|
2676
2781
|
Controls bundled allowlist, install preferences, extra skill folders, and per-skill
|
|
2677
|
-
overrides. Applies to **bundled** skills and `~/.
|
|
2782
|
+
overrides. Applies to **bundled** skills and `~/.openclaw/skills` (workspace skills
|
|
2678
2783
|
still win on name conflicts).
|
|
2679
2784
|
|
|
2680
2785
|
Fields:
|
|
2786
|
+
|
|
2681
2787
|
- `allowBundled`: optional allowlist for **bundled** skills only. If set, only those
|
|
2682
2788
|
bundled skills are eligible (managed/workspace skills unaffected).
|
|
2683
2789
|
- `load.extraDirs`: additional skill directories to scan (lowest precedence).
|
|
@@ -2686,6 +2792,7 @@ Fields:
|
|
|
2686
2792
|
- `entries.<skillKey>`: per-skill config overrides.
|
|
2687
2793
|
|
|
2688
2794
|
Per-skill fields:
|
|
2795
|
+
|
|
2689
2796
|
- `enabled`: set `false` to disable a skill even if it’s bundled/installed.
|
|
2690
2797
|
- `env`: environment variables injected for the agent run (only if not already set).
|
|
2691
2798
|
- `apiKey`: optional convenience for skills that declare a primary env var (e.g. `nano-banana-pro` → `GEMINI_API_KEY`).
|
|
@@ -2697,37 +2804,35 @@ Example:
|
|
|
2697
2804
|
skills: {
|
|
2698
2805
|
allowBundled: ["gemini", "peekaboo"],
|
|
2699
2806
|
load: {
|
|
2700
|
-
extraDirs: [
|
|
2701
|
-
"~/Projects/agent-scripts/skills",
|
|
2702
|
-
"~/Projects/oss/some-skill-pack/skills"
|
|
2703
|
-
]
|
|
2807
|
+
extraDirs: ["~/Projects/agent-scripts/skills", "~/Projects/oss/some-skill-pack/skills"],
|
|
2704
2808
|
},
|
|
2705
2809
|
install: {
|
|
2706
2810
|
preferBrew: true,
|
|
2707
|
-
nodeManager: "npm"
|
|
2811
|
+
nodeManager: "npm",
|
|
2708
2812
|
},
|
|
2709
2813
|
entries: {
|
|
2710
2814
|
"nano-banana-pro": {
|
|
2711
2815
|
apiKey: "GEMINI_KEY_HERE",
|
|
2712
2816
|
env: {
|
|
2713
|
-
GEMINI_API_KEY: "GEMINI_KEY_HERE"
|
|
2714
|
-
}
|
|
2817
|
+
GEMINI_API_KEY: "GEMINI_KEY_HERE",
|
|
2818
|
+
},
|
|
2715
2819
|
},
|
|
2716
2820
|
peekaboo: { enabled: true },
|
|
2717
|
-
sag: { enabled: false }
|
|
2718
|
-
}
|
|
2719
|
-
}
|
|
2821
|
+
sag: { enabled: false },
|
|
2822
|
+
},
|
|
2823
|
+
},
|
|
2720
2824
|
}
|
|
2721
2825
|
```
|
|
2722
2826
|
|
|
2723
2827
|
### `plugins` (extensions)
|
|
2724
2828
|
|
|
2725
2829
|
Controls plugin discovery, allow/deny, and per-plugin config. Plugins are loaded
|
|
2726
|
-
from `~/.
|
|
2830
|
+
from `~/.openclaw/extensions`, `<workspace>/.openclaw/extensions`, plus any
|
|
2727
2831
|
`plugins.load.paths` entries. **Config changes require a gateway restart.**
|
|
2728
2832
|
See [/plugin](/plugin) for full usage.
|
|
2729
2833
|
|
|
2730
2834
|
Fields:
|
|
2835
|
+
|
|
2731
2836
|
- `enabled`: master toggle for plugin loading (default: true).
|
|
2732
2837
|
- `allow`: optional allowlist of plugin ids; when set, only listed plugins load.
|
|
2733
2838
|
- `deny`: optional denylist of plugin ids (deny wins).
|
|
@@ -2744,23 +2849,23 @@ Example:
|
|
|
2744
2849
|
enabled: true,
|
|
2745
2850
|
allow: ["voice-call"],
|
|
2746
2851
|
load: {
|
|
2747
|
-
paths: ["~/Projects/oss/voice-call-extension"]
|
|
2852
|
+
paths: ["~/Projects/oss/voice-call-extension"],
|
|
2748
2853
|
},
|
|
2749
2854
|
entries: {
|
|
2750
2855
|
"voice-call": {
|
|
2751
2856
|
enabled: true,
|
|
2752
2857
|
config: {
|
|
2753
|
-
provider: "twilio"
|
|
2754
|
-
}
|
|
2755
|
-
}
|
|
2756
|
-
}
|
|
2757
|
-
}
|
|
2858
|
+
provider: "twilio",
|
|
2859
|
+
},
|
|
2860
|
+
},
|
|
2861
|
+
},
|
|
2862
|
+
},
|
|
2758
2863
|
}
|
|
2759
2864
|
```
|
|
2760
2865
|
|
|
2761
|
-
### `browser` (
|
|
2866
|
+
### `browser` (openclaw-managed browser)
|
|
2762
2867
|
|
|
2763
|
-
|
|
2868
|
+
OpenClaw can start a **dedicated, isolated** Chrome/Brave/Edge/Chromium instance for openclaw and expose a small loopback control service.
|
|
2764
2869
|
Profiles can point at a **remote** Chromium-based browser via `profiles.<name>.cdpUrl`. Remote
|
|
2765
2870
|
profiles are attach-only (start/stop/reset are disabled).
|
|
2766
2871
|
|
|
@@ -2768,12 +2873,13 @@ profiles are attach-only (start/stop/reset are disabled).
|
|
|
2768
2873
|
scheme/host for profiles that only set `cdpPort`.
|
|
2769
2874
|
|
|
2770
2875
|
Defaults:
|
|
2876
|
+
|
|
2771
2877
|
- enabled: `true`
|
|
2772
2878
|
- evaluateEnabled: `true` (set `false` to disable `act:evaluate` and `wait --fn`)
|
|
2773
2879
|
- control service: loopback only (port derived from `gateway.port`, default `18791`)
|
|
2774
2880
|
- CDP URL: `http://127.0.0.1:18792` (control service + 1, legacy single-profile)
|
|
2775
2881
|
- profile color: `#FF4500` (lobster-orange)
|
|
2776
|
-
- Note: the control server is started by the running gateway (
|
|
2882
|
+
- Note: the control server is started by the running gateway (OpenClaw.app menubar, or `openclaw gateway`).
|
|
2777
2883
|
- Auto-detect order: default browser if Chromium-based; otherwise Chrome → Brave → Edge → Chromium → Chrome Canary.
|
|
2778
2884
|
|
|
2779
2885
|
```json5
|
|
@@ -2784,9 +2890,9 @@ Defaults:
|
|
|
2784
2890
|
// cdpUrl: "http://127.0.0.1:18792", // legacy single-profile override
|
|
2785
2891
|
defaultProfile: "chrome",
|
|
2786
2892
|
profiles: {
|
|
2787
|
-
|
|
2893
|
+
openclaw: { cdpPort: 18800, color: "#FF4500" },
|
|
2788
2894
|
work: { cdpPort: 18801, color: "#0066CC" },
|
|
2789
|
-
remote: { cdpUrl: "http://10.0.0.42:9222", color: "#00AA00" }
|
|
2895
|
+
remote: { cdpUrl: "http://10.0.0.42:9222", color: "#00AA00" },
|
|
2790
2896
|
},
|
|
2791
2897
|
color: "#FF4500",
|
|
2792
2898
|
// Advanced:
|
|
@@ -2794,7 +2900,7 @@ Defaults:
|
|
|
2794
2900
|
// noSandbox: false,
|
|
2795
2901
|
// executablePath: "/Applications/Brave Browser.app/Contents/MacOS/Brave Browser",
|
|
2796
2902
|
// attachOnly: false, // set true when tunneling a remote CDP to localhost
|
|
2797
|
-
}
|
|
2903
|
+
},
|
|
2798
2904
|
}
|
|
2799
2905
|
```
|
|
2800
2906
|
|
|
@@ -2811,10 +2917,10 @@ If unset, clients fall back to a muted light-blue.
|
|
|
2811
2917
|
// Optional: Control UI assistant identity override.
|
|
2812
2918
|
// If unset, the Control UI uses the active agent identity (config or IDENTITY.md).
|
|
2813
2919
|
assistant: {
|
|
2814
|
-
name: "
|
|
2815
|
-
avatar: "CB" // emoji, short text, or image URL/data URI
|
|
2816
|
-
}
|
|
2817
|
-
}
|
|
2920
|
+
name: "OpenClaw",
|
|
2921
|
+
avatar: "CB", // emoji, short text, or image URL/data URI
|
|
2922
|
+
},
|
|
2923
|
+
},
|
|
2818
2924
|
}
|
|
2819
2925
|
```
|
|
2820
2926
|
|
|
@@ -2823,6 +2929,7 @@ If unset, clients fall back to a muted light-blue.
|
|
|
2823
2929
|
Use `gateway.mode` to explicitly declare whether this machine should run the Gateway.
|
|
2824
2930
|
|
|
2825
2931
|
Defaults:
|
|
2932
|
+
|
|
2826
2933
|
- mode: **unset** (treated as “do not auto-start”)
|
|
2827
2934
|
- bind: `loopback`
|
|
2828
2935
|
- port: `18789` (single port for WS + HTTP)
|
|
@@ -2833,16 +2940,17 @@ Defaults:
|
|
|
2833
2940
|
mode: "local", // or "remote"
|
|
2834
2941
|
port: 18789, // WS + HTTP multiplex
|
|
2835
2942
|
bind: "loopback",
|
|
2836
|
-
// controlUi: { enabled: true, basePath: "/
|
|
2943
|
+
// controlUi: { enabled: true, basePath: "/openclaw" }
|
|
2837
2944
|
// auth: { mode: "token", token: "your-token" } // token gates WS + Control UI access
|
|
2838
2945
|
// tailscale: { mode: "off" | "serve" | "funnel" }
|
|
2839
|
-
}
|
|
2946
|
+
},
|
|
2840
2947
|
}
|
|
2841
2948
|
```
|
|
2842
2949
|
|
|
2843
2950
|
Control UI base path:
|
|
2951
|
+
|
|
2844
2952
|
- `gateway.controlUi.basePath` sets the URL prefix where the Control UI is served.
|
|
2845
|
-
- Examples: `"/ui"`, `"/
|
|
2953
|
+
- Examples: `"/ui"`, `"/openclaw"`, `"/apps/openclaw"`.
|
|
2846
2954
|
- Default: root (`/`) (unchanged).
|
|
2847
2955
|
- `gateway.controlUi.allowInsecureAuth` allows token-only auth for the Control UI when
|
|
2848
2956
|
device identity is omitted (typically over HTTP). Default: `false`. Prefer HTTPS
|
|
@@ -2851,33 +2959,37 @@ Control UI base path:
|
|
|
2851
2959
|
Control UI (token/password only). Default: `false`. Break-glass only.
|
|
2852
2960
|
|
|
2853
2961
|
Related docs:
|
|
2962
|
+
|
|
2854
2963
|
- [Control UI](/web/control-ui)
|
|
2855
2964
|
- [Web overview](/web)
|
|
2856
2965
|
- [Tailscale](/gateway/tailscale)
|
|
2857
2966
|
- [Remote access](/gateway/remote)
|
|
2858
2967
|
|
|
2859
2968
|
Trusted proxies:
|
|
2969
|
+
|
|
2860
2970
|
- `gateway.trustedProxies`: list of reverse proxy IPs that terminate TLS in front of the Gateway.
|
|
2861
|
-
- When a connection comes from one of these IPs,
|
|
2971
|
+
- When a connection comes from one of these IPs, OpenClaw uses `x-forwarded-for` (or `x-real-ip`) to determine the client IP for local pairing checks and HTTP auth/local checks.
|
|
2862
2972
|
- Only list proxies you fully control, and ensure they **overwrite** incoming `x-forwarded-for`.
|
|
2863
2973
|
|
|
2864
2974
|
Notes:
|
|
2865
|
-
|
|
2975
|
+
|
|
2976
|
+
- `openclaw gateway` refuses to start unless `gateway.mode` is set to `local` (or you pass the override flag).
|
|
2866
2977
|
- `gateway.port` controls the single multiplexed port used for WebSocket + HTTP (control UI, hooks, A2UI).
|
|
2867
2978
|
- OpenAI Chat Completions endpoint: **disabled by default**; enable with `gateway.http.endpoints.chatCompletions.enabled: true`.
|
|
2868
|
-
- Precedence: `--port` > `
|
|
2979
|
+
- Precedence: `--port` > `OPENCLAW_GATEWAY_PORT` > `gateway.port` > default `18789`.
|
|
2869
2980
|
- Gateway auth is required by default (token/password or Tailscale Serve identity). Non-loopback binds require a shared token/password.
|
|
2870
2981
|
- The onboarding wizard generates a gateway token by default (even on loopback).
|
|
2871
2982
|
- `gateway.remote.token` is **only** for remote CLI calls; it does not enable local gateway auth. `gateway.token` is ignored.
|
|
2872
2983
|
|
|
2873
2984
|
Auth and Tailscale:
|
|
2985
|
+
|
|
2874
2986
|
- `gateway.auth.mode` sets the handshake requirements (`token` or `password`). When unset, token auth is assumed.
|
|
2875
2987
|
- `gateway.auth.token` stores the shared token for token auth (used by the CLI on the same machine).
|
|
2876
2988
|
- When `gateway.auth.mode` is set, only that method is accepted (plus optional Tailscale headers).
|
|
2877
|
-
- `gateway.auth.password` can be set here, or via `
|
|
2989
|
+
- `gateway.auth.password` can be set here, or via `OPENCLAW_GATEWAY_PASSWORD` (recommended).
|
|
2878
2990
|
- `gateway.auth.allowTailscale` allows Tailscale Serve identity headers
|
|
2879
2991
|
(`tailscale-user-login`) to satisfy auth when the request arrives on loopback
|
|
2880
|
-
with `x-forwarded-for`, `x-forwarded-proto`, and `x-forwarded-host`.
|
|
2992
|
+
with `x-forwarded-for`, `x-forwarded-proto`, and `x-forwarded-host`. OpenClaw
|
|
2881
2993
|
verifies the identity by resolving the `x-forwarded-for` address via
|
|
2882
2994
|
`tailscale whois` before accepting it. When `true`, Serve requests do not need
|
|
2883
2995
|
a token/password; set `false` to require explicit credentials. Defaults to
|
|
@@ -2887,13 +2999,15 @@ Auth and Tailscale:
|
|
|
2887
2999
|
- `gateway.tailscale.resetOnExit` resets Serve/Funnel config on shutdown.
|
|
2888
3000
|
|
|
2889
3001
|
Remote client defaults (CLI):
|
|
3002
|
+
|
|
2890
3003
|
- `gateway.remote.url` sets the default Gateway WebSocket URL for CLI calls when `gateway.mode = "remote"`.
|
|
2891
3004
|
- `gateway.remote.transport` selects the macOS remote transport (`ssh` default, `direct` for ws/wss). When `direct`, `gateway.remote.url` must be `ws://` or `wss://`. `ws://host` defaults to port `18789`.
|
|
2892
3005
|
- `gateway.remote.token` supplies the token for remote calls (leave unset for no auth).
|
|
2893
3006
|
- `gateway.remote.password` supplies the password for remote calls (leave unset for no auth).
|
|
2894
3007
|
|
|
2895
3008
|
macOS app behavior:
|
|
2896
|
-
|
|
3009
|
+
|
|
3010
|
+
- OpenClaw.app watches `~/.openclaw/openclaw.json` and switches modes live when `gateway.mode` or `gateway.remote.url` changes.
|
|
2897
3011
|
- If `gateway.mode` is unset but `gateway.remote.url` is set, the macOS app treats it as remote mode.
|
|
2898
3012
|
- When you change connection mode in the macOS app, it writes `gateway.mode` (and `gateway.remote.url` + `gateway.remote.transport` in remote mode) back to the config file.
|
|
2899
3013
|
|
|
@@ -2904,9 +3018,9 @@ macOS app behavior:
|
|
|
2904
3018
|
remote: {
|
|
2905
3019
|
url: "ws://gateway.tailnet:18789",
|
|
2906
3020
|
token: "your-token",
|
|
2907
|
-
password: "your-password"
|
|
2908
|
-
}
|
|
2909
|
-
}
|
|
3021
|
+
password: "your-password",
|
|
3022
|
+
},
|
|
3023
|
+
},
|
|
2910
3024
|
}
|
|
2911
3025
|
```
|
|
2912
3026
|
|
|
@@ -2919,17 +3033,18 @@ Direct transport example (macOS app):
|
|
|
2919
3033
|
remote: {
|
|
2920
3034
|
transport: "direct",
|
|
2921
3035
|
url: "wss://gateway.example.ts.net",
|
|
2922
|
-
token: "your-token"
|
|
2923
|
-
}
|
|
2924
|
-
}
|
|
3036
|
+
token: "your-token",
|
|
3037
|
+
},
|
|
3038
|
+
},
|
|
2925
3039
|
}
|
|
2926
3040
|
```
|
|
2927
3041
|
|
|
2928
3042
|
### `gateway.reload` (Config hot reload)
|
|
2929
3043
|
|
|
2930
|
-
The Gateway watches `~/.
|
|
3044
|
+
The Gateway watches `~/.openclaw/openclaw.json` (or `OPENCLAW_CONFIG_PATH`) and applies changes automatically.
|
|
2931
3045
|
|
|
2932
3046
|
Modes:
|
|
3047
|
+
|
|
2933
3048
|
- `hybrid` (default): hot-apply safe changes; restart the Gateway for critical changes.
|
|
2934
3049
|
- `hot`: only apply hot-safe changes; log when a restart is required.
|
|
2935
3050
|
- `restart`: restart the Gateway on any config change.
|
|
@@ -2940,18 +3055,20 @@ Modes:
|
|
|
2940
3055
|
gateway: {
|
|
2941
3056
|
reload: {
|
|
2942
3057
|
mode: "hybrid",
|
|
2943
|
-
debounceMs: 300
|
|
2944
|
-
}
|
|
2945
|
-
}
|
|
3058
|
+
debounceMs: 300,
|
|
3059
|
+
},
|
|
3060
|
+
},
|
|
2946
3061
|
}
|
|
2947
3062
|
```
|
|
2948
3063
|
|
|
2949
3064
|
#### Hot reload matrix (files + impact)
|
|
2950
3065
|
|
|
2951
3066
|
Files watched:
|
|
2952
|
-
|
|
3067
|
+
|
|
3068
|
+
- `~/.openclaw/openclaw.json` (or `OPENCLAW_CONFIG_PATH`)
|
|
2953
3069
|
|
|
2954
3070
|
Hot-applied (no full gateway restart):
|
|
3071
|
+
|
|
2955
3072
|
- `hooks` (webhook auth/path/mappings) + `hooks.gmail` (Gmail watcher restarted)
|
|
2956
3073
|
- `browser` (browser control server restart)
|
|
2957
3074
|
- `cron` (cron service restart + concurrency update)
|
|
@@ -2961,6 +3078,7 @@ Hot-applied (no full gateway restart):
|
|
|
2961
3078
|
- `agent`, `models`, `routing`, `messages`, `session`, `whatsapp`, `logging`, `skills`, `ui`, `talk`, `identity`, `wizard` (dynamic reads)
|
|
2962
3079
|
|
|
2963
3080
|
Requires full Gateway restart:
|
|
3081
|
+
|
|
2964
3082
|
- `gateway` (port/bind/auth/control UI/tailscale)
|
|
2965
3083
|
- `bridge` (legacy)
|
|
2966
3084
|
- `discovery`
|
|
@@ -2971,23 +3089,26 @@ Requires full Gateway restart:
|
|
|
2971
3089
|
### Multi-instance isolation
|
|
2972
3090
|
|
|
2973
3091
|
To run multiple gateways on one host (for redundancy or a rescue bot), isolate per-instance state + config and use unique ports:
|
|
2974
|
-
|
|
2975
|
-
- `
|
|
3092
|
+
|
|
3093
|
+
- `OPENCLAW_CONFIG_PATH` (per-instance config)
|
|
3094
|
+
- `OPENCLAW_STATE_DIR` (sessions/creds)
|
|
2976
3095
|
- `agents.defaults.workspace` (memories)
|
|
2977
3096
|
- `gateway.port` (unique per instance)
|
|
2978
3097
|
|
|
2979
3098
|
Convenience flags (CLI):
|
|
2980
|
-
|
|
2981
|
-
- `
|
|
3099
|
+
|
|
3100
|
+
- `openclaw --dev …` → uses `~/.openclaw-dev` + shifts ports from base `19001`
|
|
3101
|
+
- `openclaw --profile <name> …` → uses `~/.openclaw-<name>` (port via config/env/flags)
|
|
2982
3102
|
|
|
2983
3103
|
See [Gateway runbook](/gateway) for the derived port mapping (gateway/browser/canvas).
|
|
2984
3104
|
See [Multiple gateways](/gateway/multiple-gateways) for browser/CDP port isolation details.
|
|
2985
3105
|
|
|
2986
3106
|
Example:
|
|
3107
|
+
|
|
2987
3108
|
```bash
|
|
2988
|
-
|
|
2989
|
-
|
|
2990
|
-
|
|
3109
|
+
OPENCLAW_CONFIG_PATH=~/.openclaw/a.json \
|
|
3110
|
+
OPENCLAW_STATE_DIR=~/.openclaw-a \
|
|
3111
|
+
openclaw gateway --port 19001
|
|
2991
3112
|
```
|
|
2992
3113
|
|
|
2993
3114
|
### `hooks` (Gateway webhooks)
|
|
@@ -2995,6 +3116,7 @@ moltbot gateway --port 19001
|
|
|
2995
3116
|
Enable a simple HTTP webhook endpoint on the Gateway HTTP server.
|
|
2996
3117
|
|
|
2997
3118
|
Defaults:
|
|
3119
|
+
|
|
2998
3120
|
- enabled: `false`
|
|
2999
3121
|
- path: `/hooks`
|
|
3000
3122
|
- maxBodyBytes: `262144` (256 KB)
|
|
@@ -3006,7 +3128,7 @@ Defaults:
|
|
|
3006
3128
|
token: "shared-secret",
|
|
3007
3129
|
path: "/hooks",
|
|
3008
3130
|
presets: ["gmail"],
|
|
3009
|
-
transformsDir: "~/.
|
|
3131
|
+
transformsDir: "~/.openclaw/hooks",
|
|
3010
3132
|
mappings: [
|
|
3011
3133
|
{
|
|
3012
3134
|
match: { path: "gmail" },
|
|
@@ -3014,23 +3136,24 @@ Defaults:
|
|
|
3014
3136
|
wakeMode: "now",
|
|
3015
3137
|
name: "Gmail",
|
|
3016
3138
|
sessionKey: "hook:gmail:{{messages[0].id}}",
|
|
3017
|
-
messageTemplate:
|
|
3018
|
-
"From: {{messages[0].from}}\nSubject: {{messages[0].subject}}\n{{messages[0].snippet}}",
|
|
3139
|
+
messageTemplate: "From: {{messages[0].from}}\nSubject: {{messages[0].subject}}\n{{messages[0].snippet}}",
|
|
3019
3140
|
deliver: true,
|
|
3020
3141
|
channel: "last",
|
|
3021
3142
|
model: "openai/gpt-5.2-mini",
|
|
3022
3143
|
},
|
|
3023
3144
|
],
|
|
3024
|
-
}
|
|
3145
|
+
},
|
|
3025
3146
|
}
|
|
3026
3147
|
```
|
|
3027
3148
|
|
|
3028
3149
|
Requests must include the hook token:
|
|
3150
|
+
|
|
3029
3151
|
- `Authorization: Bearer <token>` **or**
|
|
3030
|
-
- `x-
|
|
3152
|
+
- `x-openclaw-token: <token>` **or**
|
|
3031
3153
|
- `?token=<token>`
|
|
3032
3154
|
|
|
3033
3155
|
Endpoints:
|
|
3156
|
+
|
|
3034
3157
|
- `POST /hooks/wake` → `{ text, mode?: "now"|"next-heartbeat" }`
|
|
3035
3158
|
- `POST /hooks/agent` → `{ message, name?, sessionKey?, wakeMode?, deliver?, channel?, to?, model?, thinking?, timeoutSeconds? }`
|
|
3036
3159
|
- `POST /hooks/<name>` → resolved via `hooks.mappings`
|
|
@@ -3038,6 +3161,7 @@ Endpoints:
|
|
|
3038
3161
|
`/hooks/agent` always posts a summary into the main session (and can optionally trigger an immediate heartbeat via `wakeMode: "now"`).
|
|
3039
3162
|
|
|
3040
3163
|
Mapping notes:
|
|
3164
|
+
|
|
3041
3165
|
- `match.path` matches the sub-path after `/hooks` (e.g. `/hooks/gmail` → `gmail`).
|
|
3042
3166
|
- `match.source` matches a payload field (e.g. `{ source: "gmail" }`) so you can use a generic `/hooks/ingest` path.
|
|
3043
3167
|
- Templates like `{{messages[0].subject}}` read from the payload.
|
|
@@ -3046,13 +3170,13 @@ Mapping notes:
|
|
|
3046
3170
|
- If there is no prior delivery route, set `channel` + `to` explicitly (required for Telegram/Discord/Google Chat/Slack/Signal/iMessage/MS Teams).
|
|
3047
3171
|
- `model` overrides the LLM for this hook run (`provider/model` or alias; must be allowed if `agents.defaults.models` is set).
|
|
3048
3172
|
|
|
3049
|
-
Gmail helper config (used by `
|
|
3173
|
+
Gmail helper config (used by `openclaw webhooks gmail setup` / `run`):
|
|
3050
3174
|
|
|
3051
3175
|
```json5
|
|
3052
3176
|
{
|
|
3053
3177
|
hooks: {
|
|
3054
3178
|
gmail: {
|
|
3055
|
-
account: "
|
|
3179
|
+
account: "openclaw@gmail.com",
|
|
3056
3180
|
topic: "projects/<project-id>/topics/gog-gmail-watch",
|
|
3057
3181
|
subscription: "gog-gmail-watch-push",
|
|
3058
3182
|
pushToken: "shared-push-token",
|
|
@@ -3068,12 +3192,13 @@ Gmail helper config (used by `moltbot webhooks gmail setup` / `run`):
|
|
|
3068
3192
|
model: "openrouter/meta-llama/llama-3.3-70b-instruct:free",
|
|
3069
3193
|
// Optional: default thinking level for Gmail hooks
|
|
3070
3194
|
thinking: "off",
|
|
3071
|
-
}
|
|
3072
|
-
}
|
|
3195
|
+
},
|
|
3196
|
+
},
|
|
3073
3197
|
}
|
|
3074
3198
|
```
|
|
3075
3199
|
|
|
3076
3200
|
Model override for Gmail hooks:
|
|
3201
|
+
|
|
3077
3202
|
- `hooks.gmail.model` specifies a model to use for Gmail hook processing (defaults to session primary).
|
|
3078
3203
|
- Accepts `provider/model` refs or aliases from `agents.defaults.models`.
|
|
3079
3204
|
- Falls back to `agents.defaults.model.fallbacks`, then `agents.defaults.model.primary`, on auth/rate-limit/timeouts.
|
|
@@ -3082,13 +3207,14 @@ Model override for Gmail hooks:
|
|
|
3082
3207
|
- `hooks.gmail.thinking` sets the default thinking level for Gmail hooks and is overridden by per-hook `thinking`.
|
|
3083
3208
|
|
|
3084
3209
|
Gateway auto-start:
|
|
3210
|
+
|
|
3085
3211
|
- If `hooks.enabled=true` and `hooks.gmail.account` is set, the Gateway starts
|
|
3086
3212
|
`gog gmail watch serve` on boot and auto-renews the watch.
|
|
3087
|
-
- Set `
|
|
3213
|
+
- Set `OPENCLAW_SKIP_GMAIL_WATCHER=1` to disable the auto-start (for manual runs).
|
|
3088
3214
|
- Avoid running a separate `gog gmail watch serve` alongside the Gateway; it will
|
|
3089
3215
|
fail with `listen tcp 127.0.0.1:8788: bind: address already in use`.
|
|
3090
3216
|
|
|
3091
|
-
Note: when `tailscale.mode` is on,
|
|
3217
|
+
Note: when `tailscale.mode` is on, OpenClaw defaults `serve.path` to `/` so
|
|
3092
3218
|
Tailscale can proxy `/gmail-pubsub` correctly (it strips the set-path prefix).
|
|
3093
3219
|
If you need the backend to receive the prefixed path, set
|
|
3094
3220
|
`hooks.gmail.tailscale.target` to a full URL (and align `serve.path`).
|
|
@@ -3097,36 +3223,39 @@ If you need the backend to receive the prefixed path, set
|
|
|
3097
3223
|
|
|
3098
3224
|
The Gateway serves a directory of HTML/CSS/JS over HTTP so iOS/Android nodes can simply `canvas.navigate` to it.
|
|
3099
3225
|
|
|
3100
|
-
Default root:
|
|
3101
|
-
Default port: `18793` (chosen to avoid the
|
|
3226
|
+
Default root: `~/.openclaw/workspace/canvas`
|
|
3227
|
+
Default port: `18793` (chosen to avoid the openclaw browser CDP port `18792`)
|
|
3102
3228
|
The server listens on the **gateway bind host** (LAN or Tailnet) so nodes can reach it.
|
|
3103
3229
|
|
|
3104
3230
|
The server:
|
|
3231
|
+
|
|
3105
3232
|
- serves files under `canvasHost.root`
|
|
3106
3233
|
- injects a tiny live-reload client into served HTML
|
|
3107
|
-
- watches the directory and broadcasts reloads over a WebSocket endpoint at `/
|
|
3234
|
+
- watches the directory and broadcasts reloads over a WebSocket endpoint at `/__openclaw__/ws`
|
|
3108
3235
|
- auto-creates a starter `index.html` when the directory is empty (so you see something immediately)
|
|
3109
|
-
- also serves A2UI at `/
|
|
3236
|
+
- also serves A2UI at `/__openclaw__/a2ui/` and is advertised to nodes as `canvasHostUrl`
|
|
3110
3237
|
(always used by nodes for Canvas/A2UI)
|
|
3111
3238
|
|
|
3112
3239
|
Disable live reload (and file watching) if the directory is large or you hit `EMFILE`:
|
|
3240
|
+
|
|
3113
3241
|
- config: `canvasHost: { liveReload: false }`
|
|
3114
3242
|
|
|
3115
3243
|
```json5
|
|
3116
3244
|
{
|
|
3117
3245
|
canvasHost: {
|
|
3118
|
-
root: "
|
|
3246
|
+
root: "~/.openclaw/workspace/canvas",
|
|
3119
3247
|
port: 18793,
|
|
3120
|
-
liveReload: true
|
|
3121
|
-
}
|
|
3248
|
+
liveReload: true,
|
|
3249
|
+
},
|
|
3122
3250
|
}
|
|
3123
3251
|
```
|
|
3124
3252
|
|
|
3125
3253
|
Changes to `canvasHost.*` require a gateway restart (config reload will restart).
|
|
3126
3254
|
|
|
3127
3255
|
Disable with:
|
|
3256
|
+
|
|
3128
3257
|
- config: `canvasHost: { enabled: false }`
|
|
3129
|
-
- env: `
|
|
3258
|
+
- env: `OPENCLAW_SKIP_CANVAS_HOST=1`
|
|
3130
3259
|
|
|
3131
3260
|
### `bridge` (legacy TCP bridge, removed)
|
|
3132
3261
|
|
|
@@ -3134,20 +3263,24 @@ Current builds no longer include the TCP bridge listener; `bridge.*` config keys
|
|
|
3134
3263
|
Nodes connect over the Gateway WebSocket. This section is kept for historical reference.
|
|
3135
3264
|
|
|
3136
3265
|
Legacy behavior:
|
|
3266
|
+
|
|
3137
3267
|
- The Gateway could expose a simple TCP bridge for nodes (iOS/Android), typically on port `18790`.
|
|
3138
3268
|
|
|
3139
3269
|
Defaults:
|
|
3270
|
+
|
|
3140
3271
|
- enabled: `true`
|
|
3141
3272
|
- port: `18790`
|
|
3142
3273
|
- bind: `lan` (binds to `0.0.0.0`)
|
|
3143
3274
|
|
|
3144
3275
|
Bind modes:
|
|
3276
|
+
|
|
3145
3277
|
- `lan`: `0.0.0.0` (reachable on any interface, including LAN/Wi‑Fi and Tailscale)
|
|
3146
3278
|
- `tailnet`: bind only to the machine’s Tailscale IP (recommended for Vienna ⇄ London)
|
|
3147
3279
|
- `loopback`: `127.0.0.1` (local only)
|
|
3148
3280
|
- `auto`: prefer tailnet IP if present, else `lan`
|
|
3149
3281
|
|
|
3150
3282
|
TLS:
|
|
3283
|
+
|
|
3151
3284
|
- `bridge.tls.enabled`: enable TLS for bridge connections (TLS-only when enabled).
|
|
3152
3285
|
- `bridge.tls.autoGenerate`: generate a self-signed cert when no cert/key are present (default: true).
|
|
3153
3286
|
- `bridge.tls.certPath` / `bridge.tls.keyPath`: PEM paths for the bridge certificate + private key.
|
|
@@ -3166,45 +3299,47 @@ Auto-generated certs require `openssl` on PATH; if generation fails, the bridge
|
|
|
3166
3299
|
bind: "tailnet",
|
|
3167
3300
|
tls: {
|
|
3168
3301
|
enabled: true,
|
|
3169
|
-
// Uses ~/.
|
|
3170
|
-
// certPath: "~/.
|
|
3171
|
-
// keyPath: "~/.
|
|
3172
|
-
}
|
|
3173
|
-
}
|
|
3302
|
+
// Uses ~/.openclaw/bridge/tls/bridge-{cert,key}.pem when omitted.
|
|
3303
|
+
// certPath: "~/.openclaw/bridge/tls/bridge-cert.pem",
|
|
3304
|
+
// keyPath: "~/.openclaw/bridge/tls/bridge-key.pem"
|
|
3305
|
+
},
|
|
3306
|
+
},
|
|
3174
3307
|
}
|
|
3175
3308
|
```
|
|
3176
3309
|
|
|
3177
3310
|
### `discovery.mdns` (Bonjour / mDNS broadcast mode)
|
|
3178
3311
|
|
|
3179
|
-
Controls LAN mDNS discovery broadcasts (`
|
|
3312
|
+
Controls LAN mDNS discovery broadcasts (`_openclaw-gw._tcp`).
|
|
3180
3313
|
|
|
3181
3314
|
- `minimal` (default): omit `cliPath` + `sshPort` from TXT records
|
|
3182
3315
|
- `full`: include `cliPath` + `sshPort` in TXT records
|
|
3183
3316
|
- `off`: disable mDNS broadcasts entirely
|
|
3317
|
+
- Hostname: defaults to `openclaw` (advertises `openclaw.local`). Override with `OPENCLAW_MDNS_HOSTNAME`.
|
|
3184
3318
|
|
|
3185
3319
|
```json5
|
|
3186
3320
|
{
|
|
3187
|
-
discovery: { mdns: { mode: "minimal" } }
|
|
3321
|
+
discovery: { mdns: { mode: "minimal" } },
|
|
3188
3322
|
}
|
|
3189
3323
|
```
|
|
3190
3324
|
|
|
3191
3325
|
### `discovery.wideArea` (Wide-Area Bonjour / unicast DNS‑SD)
|
|
3192
3326
|
|
|
3193
|
-
When enabled, the Gateway writes a unicast DNS-SD zone for `
|
|
3327
|
+
When enabled, the Gateway writes a unicast DNS-SD zone for `_openclaw-gw._tcp` under `~/.openclaw/dns/` using the configured discovery domain (example: `openclaw.internal.`).
|
|
3194
3328
|
|
|
3195
3329
|
To make iOS/Android discover across networks (Vienna ⇄ London), pair this with:
|
|
3196
|
-
|
|
3197
|
-
-
|
|
3330
|
+
|
|
3331
|
+
- a DNS server on the gateway host serving your chosen domain (CoreDNS is recommended)
|
|
3332
|
+
- Tailscale **split DNS** so clients resolve that domain via the gateway DNS server
|
|
3198
3333
|
|
|
3199
3334
|
One-time setup helper (gateway host):
|
|
3200
3335
|
|
|
3201
3336
|
```bash
|
|
3202
|
-
|
|
3337
|
+
openclaw dns setup --apply
|
|
3203
3338
|
```
|
|
3204
3339
|
|
|
3205
3340
|
```json5
|
|
3206
3341
|
{
|
|
3207
|
-
discovery: { wideArea: { enabled: true } }
|
|
3342
|
+
discovery: { wideArea: { enabled: true } },
|
|
3208
3343
|
}
|
|
3209
3344
|
```
|
|
3210
3345
|
|
|
@@ -3212,28 +3347,28 @@ moltbot dns setup --apply
|
|
|
3212
3347
|
|
|
3213
3348
|
Template placeholders are expanded in `tools.media.*.models[].args` and `tools.media.models[].args` (and any future templated argument fields).
|
|
3214
3349
|
|
|
3215
|
-
| Variable
|
|
3216
|
-
|
|
3217
|
-
| `{{Body}}`
|
|
3218
|
-
| `{{RawBody}}`
|
|
3219
|
-
| `{{BodyStripped}}` | Body with group mentions stripped (best default for agents)
|
|
3220
|
-
| `{{From}}`
|
|
3221
|
-
| `{{To}}`
|
|
3222
|
-
| `{{MessageSid}}`
|
|
3223
|
-
| `{{SessionId}}`
|
|
3224
|
-
| `{{IsNewSession}}` | `"true"` when a new session was created
|
|
3225
|
-
| `{{MediaUrl}}`
|
|
3226
|
-
| `{{MediaPath}}`
|
|
3227
|
-
| `{{MediaType}}`
|
|
3228
|
-
| `{{Transcript}}`
|
|
3229
|
-
| `{{Prompt}}`
|
|
3230
|
-
| `{{MaxChars}}`
|
|
3231
|
-
| `{{ChatType}}`
|
|
3232
|
-
| `{{GroupSubject}}` | Group subject (best effort)
|
|
3233
|
-
| `{{GroupMembers}}` | Group members preview (best effort)
|
|
3234
|
-
| `{{SenderName}}`
|
|
3235
|
-
| `{{SenderE164}}`
|
|
3236
|
-
| `{{Provider}}`
|
|
3350
|
+
| Variable | Description |
|
|
3351
|
+
| ------------------ | ------------------------------------------------------------------------------- | -------- | ------- | ---------- | ----- | ------ | -------- | ------- | ------- | --- |
|
|
3352
|
+
| `{{Body}}` | Full inbound message body |
|
|
3353
|
+
| `{{RawBody}}` | Raw inbound message body (no history/sender wrappers; best for command parsing) |
|
|
3354
|
+
| `{{BodyStripped}}` | Body with group mentions stripped (best default for agents) |
|
|
3355
|
+
| `{{From}}` | Sender identifier (E.164 for WhatsApp; may differ per channel) |
|
|
3356
|
+
| `{{To}}` | Destination identifier |
|
|
3357
|
+
| `{{MessageSid}}` | Channel message id (when available) |
|
|
3358
|
+
| `{{SessionId}}` | Current session UUID |
|
|
3359
|
+
| `{{IsNewSession}}` | `"true"` when a new session was created |
|
|
3360
|
+
| `{{MediaUrl}}` | Inbound media pseudo-URL (if present) |
|
|
3361
|
+
| `{{MediaPath}}` | Local media path (if downloaded) |
|
|
3362
|
+
| `{{MediaType}}` | Media type (image/audio/document/…) |
|
|
3363
|
+
| `{{Transcript}}` | Audio transcript (when enabled) |
|
|
3364
|
+
| `{{Prompt}}` | Resolved media prompt for CLI entries |
|
|
3365
|
+
| `{{MaxChars}}` | Resolved max output chars for CLI entries |
|
|
3366
|
+
| `{{ChatType}}` | `"direct"` or `"group"` |
|
|
3367
|
+
| `{{GroupSubject}}` | Group subject (best effort) |
|
|
3368
|
+
| `{{GroupMembers}}` | Group members preview (best effort) |
|
|
3369
|
+
| `{{SenderName}}` | Sender display name (best effort) |
|
|
3370
|
+
| `{{SenderE164}}` | Sender phone number (best effort) |
|
|
3371
|
+
| `{{Provider}}` | Provider hint (whatsapp | telegram | discord | googlechat | slack | signal | imessage | msteams | webchat | …) |
|
|
3237
3372
|
|
|
3238
3373
|
## Cron (Gateway scheduler)
|
|
3239
3374
|
|
|
@@ -3243,11 +3378,11 @@ Cron is a Gateway-owned scheduler for wakeups and scheduled jobs. See [Cron jobs
|
|
|
3243
3378
|
{
|
|
3244
3379
|
cron: {
|
|
3245
3380
|
enabled: true,
|
|
3246
|
-
maxConcurrentRuns: 2
|
|
3247
|
-
}
|
|
3381
|
+
maxConcurrentRuns: 2,
|
|
3382
|
+
},
|
|
3248
3383
|
}
|
|
3249
3384
|
```
|
|
3250
3385
|
|
|
3251
3386
|
---
|
|
3252
3387
|
|
|
3253
|
-
|
|
3388
|
+
_Next: [Agent Runtime](/concepts/agent)_ 🦞
|