exod 1.0.0-alpha.1
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 +1219 -0
- package/LICENSE +21 -0
- package/README-header.png +0 -0
- package/README.md +542 -0
- package/assets/avatar-placeholder.svg +19 -0
- package/assets/chrome-extension/README.md +22 -0
- package/assets/chrome-extension/background.js +438 -0
- package/assets/chrome-extension/icons/icon128.png +0 -0
- package/assets/chrome-extension/icons/icon16.png +0 -0
- package/assets/chrome-extension/icons/icon32.png +0 -0
- package/assets/chrome-extension/icons/icon48.png +0 -0
- package/assets/chrome-extension/manifest.json +25 -0
- package/assets/chrome-extension/options.html +196 -0
- package/assets/chrome-extension/options.js +59 -0
- package/assets/dmg-background-small.png +0 -0
- package/assets/dmg-background.png +0 -0
- package/dist/acp/client.js +144 -0
- package/dist/acp/commands.js +38 -0
- package/dist/acp/event-mapper.js +70 -0
- package/dist/acp/index.js +2 -0
- package/dist/acp/meta.js +30 -0
- package/dist/acp/server.js +131 -0
- package/dist/acp/session-mapper.js +65 -0
- package/dist/acp/session.js +68 -0
- package/dist/acp/translator.js +344 -0
- package/dist/acp/types.js +6 -0
- package/dist/agents/agent-paths.js +19 -0
- package/dist/agents/agent-scope.js +118 -0
- package/dist/agents/anthropic-payload-log.js +160 -0
- package/dist/agents/apply-patch-update.js +145 -0
- package/dist/agents/apply-patch.js +355 -0
- package/dist/agents/auth-health.js +165 -0
- package/dist/agents/auth-profiles/constants.js +20 -0
- package/dist/agents/auth-profiles/display.js +10 -0
- package/dist/agents/auth-profiles/doctor.js +31 -0
- package/dist/agents/auth-profiles/external-cli-sync.js +62 -0
- package/dist/agents/auth-profiles/oauth.js +218 -0
- package/dist/agents/auth-profiles/order.js +166 -0
- package/dist/agents/auth-profiles/paths.js +27 -0
- package/dist/agents/auth-profiles/profiles.js +63 -0
- package/dist/agents/auth-profiles/repair.js +120 -0
- package/dist/agents/auth-profiles/session-override.js +97 -0
- package/dist/agents/auth-profiles/store.js +323 -0
- package/dist/agents/auth-profiles/types.js +1 -0
- package/dist/agents/auth-profiles/usage.js +235 -0
- package/dist/agents/auth-profiles.js +10 -0
- package/dist/agents/bash-process-registry.js +177 -0
- package/dist/agents/bash-tools.exec.js +1176 -0
- package/dist/agents/bash-tools.js +2 -0
- package/dist/agents/bash-tools.process.js +569 -0
- package/dist/agents/bash-tools.shared.js +198 -0
- package/dist/agents/bedrock-discovery.js +157 -0
- package/dist/agents/bootstrap-files.js +28 -0
- package/dist/agents/bootstrap-hooks.js +19 -0
- package/dist/agents/cache-trace.js +185 -0
- package/dist/agents/channel-tools.js +87 -0
- package/dist/agents/chutes-oauth.js +133 -0
- package/dist/agents/claude-cli-runner.js +3 -0
- package/dist/agents/cli-backends.js +126 -0
- package/dist/agents/cli-credentials.js +360 -0
- package/dist/agents/cli-runner/helpers.js +409 -0
- package/dist/agents/cli-runner.js +265 -0
- package/dist/agents/cli-session.js +27 -0
- package/dist/agents/compaction.js +229 -0
- package/dist/agents/context-window-guard.js +37 -0
- package/dist/agents/context.js +34 -0
- package/dist/agents/date-time.js +158 -0
- package/dist/agents/defaults.js +6 -0
- package/dist/agents/docs-path.js +20 -0
- package/dist/agents/failover-error.js +164 -0
- package/dist/agents/identity-avatar.js +82 -0
- package/dist/agents/identity-file.js +80 -0
- package/dist/agents/identity.js +61 -0
- package/dist/agents/lanes.js +2 -0
- package/dist/agents/live-auth-keys.js +70 -0
- package/dist/agents/live-model-filter.js +70 -0
- package/dist/agents/memory-search.js +194 -0
- package/dist/agents/minimax-vlm.js +81 -0
- package/dist/agents/model-auth.js +274 -0
- package/dist/agents/model-catalog.js +95 -0
- package/dist/agents/model-compat.js +17 -0
- package/dist/agents/model-fallback.js +268 -0
- package/dist/agents/model-scan.js +350 -0
- package/dist/agents/model-selection.js +284 -0
- package/dist/agents/models-config.js +111 -0
- package/dist/agents/models-config.providers.js +455 -0
- package/dist/agents/openclaw-tools.js +121 -0
- package/dist/agents/opencode-zen-models.js +254 -0
- package/dist/agents/pi-embedded-block-chunker.js +209 -0
- package/dist/agents/pi-embedded-helpers/bootstrap.js +159 -0
- package/dist/agents/pi-embedded-helpers/errors.js +456 -0
- package/dist/agents/pi-embedded-helpers/google.js +12 -0
- package/dist/agents/pi-embedded-helpers/images.js +92 -0
- package/dist/agents/pi-embedded-helpers/messaging-dedupe.js +35 -0
- package/dist/agents/pi-embedded-helpers/openai.js +98 -0
- package/dist/agents/pi-embedded-helpers/thinking.js +32 -0
- package/dist/agents/pi-embedded-helpers/turns.js +95 -0
- package/dist/agents/pi-embedded-helpers/types.js +1 -0
- package/dist/agents/pi-embedded-helpers.js +9 -0
- package/dist/agents/pi-embedded-messaging.js +24 -0
- package/dist/agents/pi-embedded-runner/abort.js +9 -0
- package/dist/agents/pi-embedded-runner/cache-ttl.js +45 -0
- package/dist/agents/pi-embedded-runner/compact.js +405 -0
- package/dist/agents/pi-embedded-runner/extensions.js +64 -0
- package/dist/agents/pi-embedded-runner/extra-params.js +70 -0
- package/dist/agents/pi-embedded-runner/google.js +302 -0
- package/dist/agents/pi-embedded-runner/history.js +61 -0
- package/dist/agents/pi-embedded-runner/lanes.js +11 -0
- package/dist/agents/pi-embedded-runner/logger.js +2 -0
- package/dist/agents/pi-embedded-runner/model.js +76 -0
- package/dist/agents/pi-embedded-runner/run/attempt.js +760 -0
- package/dist/agents/pi-embedded-runner/run/images.js +344 -0
- package/dist/agents/pi-embedded-runner/run/params.js +1 -0
- package/dist/agents/pi-embedded-runner/run/payloads.js +162 -0
- package/dist/agents/pi-embedded-runner/run/types.js +1 -0
- package/dist/agents/pi-embedded-runner/run.js +561 -0
- package/dist/agents/pi-embedded-runner/runs.js +107 -0
- package/dist/agents/pi-embedded-runner/sandbox-info.js +22 -0
- package/dist/agents/pi-embedded-runner/session-manager-cache.js +54 -0
- package/dist/agents/pi-embedded-runner/session-manager-init.js +31 -0
- package/dist/agents/pi-embedded-runner/system-prompt.js +33 -0
- package/dist/agents/pi-embedded-runner/tool-split.js +8 -0
- package/dist/agents/pi-embedded-runner/types.js +1 -0
- package/dist/agents/pi-embedded-runner/utils.js +25 -0
- package/dist/agents/pi-embedded-runner.js +10 -0
- package/dist/agents/pi-embedded-subscribe.handlers.js +45 -0
- package/dist/agents/pi-embedded-subscribe.handlers.lifecycle.js +86 -0
- package/dist/agents/pi-embedded-subscribe.handlers.messages.js +230 -0
- package/dist/agents/pi-embedded-subscribe.handlers.tools.js +176 -0
- package/dist/agents/pi-embedded-subscribe.handlers.types.js +1 -0
- package/dist/agents/pi-embedded-subscribe.js +454 -0
- package/dist/agents/pi-embedded-subscribe.raw-stream.js +27 -0
- package/dist/agents/pi-embedded-subscribe.tools.js +166 -0
- package/dist/agents/pi-embedded-subscribe.types.js +1 -0
- package/dist/agents/pi-embedded-utils.js +341 -0
- package/dist/agents/pi-embedded.js +1 -0
- package/dist/agents/pi-extensions/compaction-safeguard-runtime.js +20 -0
- package/dist/agents/pi-extensions/compaction-safeguard.js +252 -0
- package/dist/agents/pi-extensions/context-pruning/extension.js +32 -0
- package/dist/agents/pi-extensions/context-pruning/pruner.js +263 -0
- package/dist/agents/pi-extensions/context-pruning/runtime.js +21 -0
- package/dist/agents/pi-extensions/context-pruning/settings.js +71 -0
- package/dist/agents/pi-extensions/context-pruning/tools.js +44 -0
- package/dist/agents/pi-extensions/context-pruning.js +9 -0
- package/dist/agents/pi-settings.js +19 -0
- package/dist/agents/pi-tool-definition-adapter.js +74 -0
- package/dist/agents/pi-tools.abort.js +41 -0
- package/dist/agents/pi-tools.js +297 -0
- package/dist/agents/pi-tools.policy.js +245 -0
- package/dist/agents/pi-tools.read.js +227 -0
- package/dist/agents/pi-tools.schema.js +147 -0
- package/dist/agents/pi-tools.types.js +1 -0
- package/dist/agents/pty-dsr.js +13 -0
- package/dist/agents/pty-keys.js +235 -0
- package/dist/agents/sandbox/browser-bridges.js +1 -0
- package/dist/agents/sandbox/browser.js +181 -0
- package/dist/agents/sandbox/config-hash.js +45 -0
- package/dist/agents/sandbox/config.js +114 -0
- package/dist/agents/sandbox/constants.js +45 -0
- package/dist/agents/sandbox/context.js +117 -0
- package/dist/agents/sandbox/docker.js +275 -0
- package/dist/agents/sandbox/manage.js +91 -0
- package/dist/agents/sandbox/prune.js +87 -0
- package/dist/agents/sandbox/registry.js +71 -0
- package/dist/agents/sandbox/runtime-status.js +90 -0
- package/dist/agents/sandbox/shared.js +38 -0
- package/dist/agents/sandbox/tool-policy.js +106 -0
- package/dist/agents/sandbox/types.docker.js +1 -0
- package/dist/agents/sandbox/types.js +1 -0
- package/dist/agents/sandbox/workspace.js +39 -0
- package/dist/agents/sandbox-paths.js +68 -0
- package/dist/agents/sandbox.js +7 -0
- package/dist/agents/schema/clean-for-gemini.js +295 -0
- package/dist/agents/schema/typebox.js +22 -0
- package/dist/agents/session-slug.js +134 -0
- package/dist/agents/session-tool-result-guard-wrapper.js +34 -0
- package/dist/agents/session-tool-result-guard.js +99 -0
- package/dist/agents/session-transcript-repair.js +174 -0
- package/dist/agents/session-write-lock.js +170 -0
- package/dist/agents/shell-utils.js +99 -0
- package/dist/agents/skills/bundled-dir.js +30 -0
- package/dist/agents/skills/config.js +143 -0
- package/dist/agents/skills/env-overrides.js +67 -0
- package/dist/agents/skills/frontmatter.js +128 -0
- package/dist/agents/skills/plugin-skills.js +55 -0
- package/dist/agents/skills/refresh.js +135 -0
- package/dist/agents/skills/serialize.js +13 -0
- package/dist/agents/skills/types.js +1 -0
- package/dist/agents/skills/workspace.js +272 -0
- package/dist/agents/skills-install.js +390 -0
- package/dist/agents/skills-status.js +183 -0
- package/dist/agents/skills.js +13 -0
- package/dist/agents/subagent-announce-queue.js +129 -0
- package/dist/agents/subagent-announce.js +391 -0
- package/dist/agents/subagent-registry.js +343 -0
- package/dist/agents/subagent-registry.store.js +73 -0
- package/dist/agents/synthetic-models.js +174 -0
- package/dist/agents/system-prompt-params.js +70 -0
- package/dist/agents/system-prompt-report.js +113 -0
- package/dist/agents/system-prompt.js +497 -0
- package/dist/agents/test-helpers/fast-coding-tools.js +18 -0
- package/dist/agents/test-helpers/fast-core-tools.js +24 -0
- package/dist/agents/timeout.js +24 -0
- package/dist/agents/tool-call-id.js +164 -0
- package/dist/agents/tool-display.js +209 -0
- package/dist/agents/tool-display.json +308 -0
- package/dist/agents/tool-images.js +166 -0
- package/dist/agents/tool-policy.js +199 -0
- package/dist/agents/tool-summaries.js +10 -0
- package/dist/agents/tools/agent-step.js +44 -0
- package/dist/agents/tools/agents-list-tool.js +66 -0
- package/dist/agents/tools/browser-tool.js +596 -0
- package/dist/agents/tools/browser-tool.schema.js +105 -0
- package/dist/agents/tools/canvas-tool.js +158 -0
- package/dist/agents/tools/common.js +146 -0
- package/dist/agents/tools/cron-tool.js +261 -0
- package/dist/agents/tools/discord-actions-guild.js +453 -0
- package/dist/agents/tools/discord-actions-messaging.js +383 -0
- package/dist/agents/tools/discord-actions-moderation.js +92 -0
- package/dist/agents/tools/discord-actions.js +61 -0
- package/dist/agents/tools/gateway-tool.js +214 -0
- package/dist/agents/tools/gateway.js +30 -0
- package/dist/agents/tools/image-generation-tool.js +237 -0
- package/dist/agents/tools/image-tool.helpers.js +55 -0
- package/dist/agents/tools/image-tool.js +370 -0
- package/dist/agents/tools/memory-tool.js +103 -0
- package/dist/agents/tools/message-tool.js +321 -0
- package/dist/agents/tools/nodes-tool.js +399 -0
- package/dist/agents/tools/nodes-utils.js +92 -0
- package/dist/agents/tools/session-status-tool.js +357 -0
- package/dist/agents/tools/sessions-announce-target.js +43 -0
- package/dist/agents/tools/sessions-helpers.js +261 -0
- package/dist/agents/tools/sessions-history-tool.js +118 -0
- package/dist/agents/tools/sessions-list-tool.js +161 -0
- package/dist/agents/tools/sessions-send-helpers.js +116 -0
- package/dist/agents/tools/sessions-send-tool.a2a.js +119 -0
- package/dist/agents/tools/sessions-send-tool.js +345 -0
- package/dist/agents/tools/sessions-spawn-tool.js +232 -0
- package/dist/agents/tools/slack-actions.js +243 -0
- package/dist/agents/tools/telegram-actions.js +256 -0
- package/dist/agents/tools/tts-tool.js +47 -0
- package/dist/agents/tools/web-fetch-utils.js +104 -0
- package/dist/agents/tools/web-fetch.js +477 -0
- package/dist/agents/tools/web-search.js +355 -0
- package/dist/agents/tools/web-shared.js +62 -0
- package/dist/agents/tools/web-tools.js +2 -0
- package/dist/agents/tools/whatsapp-actions.js +32 -0
- package/dist/agents/transcript-policy.js +84 -0
- package/dist/agents/usage.js +48 -0
- package/dist/agents/venice-models.js +342 -0
- package/dist/agents/workspace.js +234 -0
- package/dist/auto-reply/chunk.js +358 -0
- package/dist/auto-reply/command-auth.js +132 -0
- package/dist/auto-reply/command-detection.js +56 -0
- package/dist/auto-reply/commands-args.js +85 -0
- package/dist/auto-reply/commands-registry.data.js +574 -0
- package/dist/auto-reply/commands-registry.js +354 -0
- package/dist/auto-reply/commands-registry.types.js +1 -0
- package/dist/auto-reply/dispatch.js +40 -0
- package/dist/auto-reply/envelope.js +173 -0
- package/dist/auto-reply/group-activation.js +22 -0
- package/dist/auto-reply/heartbeat.js +120 -0
- package/dist/auto-reply/inbound-debounce.js +74 -0
- package/dist/auto-reply/media-note.js +72 -0
- package/dist/auto-reply/model.js +28 -0
- package/dist/auto-reply/reply/abort.js +151 -0
- package/dist/auto-reply/reply/agent-runner-execution.js +467 -0
- package/dist/auto-reply/reply/agent-runner-helpers.js +65 -0
- package/dist/auto-reply/reply/agent-runner-memory.js +160 -0
- package/dist/auto-reply/reply/agent-runner-payloads.js +85 -0
- package/dist/auto-reply/reply/agent-runner-utils.js +101 -0
- package/dist/auto-reply/reply/agent-runner.js +379 -0
- package/dist/auto-reply/reply/audio-tags.js +1 -0
- package/dist/auto-reply/reply/bash-command.js +336 -0
- package/dist/auto-reply/reply/block-reply-coalescer.js +101 -0
- package/dist/auto-reply/reply/block-reply-pipeline.js +179 -0
- package/dist/auto-reply/reply/block-streaming.js +91 -0
- package/dist/auto-reply/reply/body.js +37 -0
- package/dist/auto-reply/reply/commands-allowlist.js +570 -0
- package/dist/auto-reply/reply/commands-approve.js +88 -0
- package/dist/auto-reply/reply/commands-bash.js +25 -0
- package/dist/auto-reply/reply/commands-compact.js +106 -0
- package/dist/auto-reply/reply/commands-config.js +239 -0
- package/dist/auto-reply/reply/commands-context-report.js +294 -0
- package/dist/auto-reply/reply/commands-context.js +29 -0
- package/dist/auto-reply/reply/commands-core.js +101 -0
- package/dist/auto-reply/reply/commands-info.js +154 -0
- package/dist/auto-reply/reply/commands-models.js +201 -0
- package/dist/auto-reply/reply/commands-plugin.js +35 -0
- package/dist/auto-reply/reply/commands-session.js +311 -0
- package/dist/auto-reply/reply/commands-status.js +178 -0
- package/dist/auto-reply/reply/commands-subagents.js +357 -0
- package/dist/auto-reply/reply/commands-tts.js +226 -0
- package/dist/auto-reply/reply/commands-types.js +1 -0
- package/dist/auto-reply/reply/commands.js +3 -0
- package/dist/auto-reply/reply/config-commands.js +58 -0
- package/dist/auto-reply/reply/config-value.js +35 -0
- package/dist/auto-reply/reply/debug-commands.js +58 -0
- package/dist/auto-reply/reply/directive-handling.auth.js +191 -0
- package/dist/auto-reply/reply/directive-handling.fast-lane.js +60 -0
- package/dist/auto-reply/reply/directive-handling.impl.js +380 -0
- package/dist/auto-reply/reply/directive-handling.js +5 -0
- package/dist/auto-reply/reply/directive-handling.model-picker.js +64 -0
- package/dist/auto-reply/reply/directive-handling.model.js +279 -0
- package/dist/auto-reply/reply/directive-handling.parse.js +84 -0
- package/dist/auto-reply/reply/directive-handling.persist.js +181 -0
- package/dist/auto-reply/reply/directive-handling.queue-validation.js +48 -0
- package/dist/auto-reply/reply/directive-handling.shared.js +43 -0
- package/dist/auto-reply/reply/directives.js +114 -0
- package/dist/auto-reply/reply/dispatch-from-config.js +374 -0
- package/dist/auto-reply/reply/exec/directive.js +183 -0
- package/dist/auto-reply/reply/exec.js +1 -0
- package/dist/auto-reply/reply/followup-runner.js +226 -0
- package/dist/auto-reply/reply/get-reply-directives-apply.js +201 -0
- package/dist/auto-reply/reply/get-reply-directives-utils.js +45 -0
- package/dist/auto-reply/reply/get-reply-directives.js +343 -0
- package/dist/auto-reply/reply/get-reply-inline-actions.js +257 -0
- package/dist/auto-reply/reply/get-reply-run.js +286 -0
- package/dist/auto-reply/reply/get-reply.js +234 -0
- package/dist/auto-reply/reply/groups.js +102 -0
- package/dist/auto-reply/reply/history.js +110 -0
- package/dist/auto-reply/reply/inbound-context.js +51 -0
- package/dist/auto-reply/reply/inbound-dedupe.js +39 -0
- package/dist/auto-reply/reply/inbound-sender-meta.js +45 -0
- package/dist/auto-reply/reply/inbound-text.js +3 -0
- package/dist/auto-reply/reply/line-directives.js +294 -0
- package/dist/auto-reply/reply/memory-flush.js +66 -0
- package/dist/auto-reply/reply/mentions.js +123 -0
- package/dist/auto-reply/reply/model-selection.js +398 -0
- package/dist/auto-reply/reply/normalize-reply.js +62 -0
- package/dist/auto-reply/reply/provider-dispatcher.js +19 -0
- package/dist/auto-reply/reply/queue/cleanup.js +19 -0
- package/dist/auto-reply/reply/queue/directive.js +155 -0
- package/dist/auto-reply/reply/queue/drain.js +111 -0
- package/dist/auto-reply/reply/queue/enqueue.js +43 -0
- package/dist/auto-reply/reply/queue/normalize.js +30 -0
- package/dist/auto-reply/reply/queue/settings.js +52 -0
- package/dist/auto-reply/reply/queue/state.js +53 -0
- package/dist/auto-reply/reply/queue/types.js +1 -0
- package/dist/auto-reply/reply/queue.js +6 -0
- package/dist/auto-reply/reply/reply-directives.js +30 -0
- package/dist/auto-reply/reply/reply-dispatcher.js +107 -0
- package/dist/auto-reply/reply/reply-elevated.js +166 -0
- package/dist/auto-reply/reply/reply-inline.js +28 -0
- package/dist/auto-reply/reply/reply-payloads.js +83 -0
- package/dist/auto-reply/reply/reply-reference.js +35 -0
- package/dist/auto-reply/reply/reply-tags.js +13 -0
- package/dist/auto-reply/reply/reply-threading.js +41 -0
- package/dist/auto-reply/reply/response-prefix-template.js +76 -0
- package/dist/auto-reply/reply/route-reply.js +108 -0
- package/dist/auto-reply/reply/session-reset-model.js +133 -0
- package/dist/auto-reply/reply/session-updates.js +233 -0
- package/dist/auto-reply/reply/session-usage.js +79 -0
- package/dist/auto-reply/reply/session.js +303 -0
- package/dist/auto-reply/reply/stage-sandbox-media.js +146 -0
- package/dist/auto-reply/reply/streaming-directives.js +92 -0
- package/dist/auto-reply/reply/subagents-utils.js +52 -0
- package/dist/auto-reply/reply/test-ctx.js +15 -0
- package/dist/auto-reply/reply/typing-mode.js +91 -0
- package/dist/auto-reply/reply/typing.js +132 -0
- package/dist/auto-reply/reply.js +5 -0
- package/dist/auto-reply/send-policy.js +30 -0
- package/dist/auto-reply/skill-commands.js +97 -0
- package/dist/auto-reply/status.js +491 -0
- package/dist/auto-reply/templating.js +39 -0
- package/dist/auto-reply/thinking.js +154 -0
- package/dist/auto-reply/tokens.js +15 -0
- package/dist/auto-reply/tool-meta.js +112 -0
- package/dist/auto-reply/types.js +1 -0
- package/dist/browser/bridge-server.js +45 -0
- package/dist/browser/cdp.helpers.js +136 -0
- package/dist/browser/cdp.js +293 -0
- package/dist/browser/chrome.executables.js +509 -0
- package/dist/browser/chrome.js +253 -0
- package/dist/browser/chrome.profile-decoration.js +144 -0
- package/dist/browser/client-actions-core.js +100 -0
- package/dist/browser/client-actions-observe.js +100 -0
- package/dist/browser/client-actions-state.js +169 -0
- package/dist/browser/client-actions-types.js +1 -0
- package/dist/browser/client-actions.js +4 -0
- package/dist/browser/client-fetch.js +91 -0
- package/dist/browser/client.js +137 -0
- package/dist/browser/config.js +180 -0
- package/dist/browser/constants.js +8 -0
- package/dist/browser/control-service.js +72 -0
- package/dist/browser/extension-relay.js +541 -0
- package/dist/browser/profiles-service.js +132 -0
- package/dist/browser/profiles.js +93 -0
- package/dist/browser/pw-ai-module.js +37 -0
- package/dist/browser/pw-ai.js +2 -0
- package/dist/browser/pw-role-snapshot.js +310 -0
- package/dist/browser/pw-session.js +431 -0
- package/dist/browser/pw-tools-core.activity.js +44 -0
- package/dist/browser/pw-tools-core.downloads.js +176 -0
- package/dist/browser/pw-tools-core.interactions.js +420 -0
- package/dist/browser/pw-tools-core.js +8 -0
- package/dist/browser/pw-tools-core.responses.js +83 -0
- package/dist/browser/pw-tools-core.shared.js +48 -0
- package/dist/browser/pw-tools-core.snapshot.js +142 -0
- package/dist/browser/pw-tools-core.state.js +147 -0
- package/dist/browser/pw-tools-core.storage.js +72 -0
- package/dist/browser/pw-tools-core.trace.js +25 -0
- package/dist/browser/routes/agent.act.js +466 -0
- package/dist/browser/routes/agent.act.shared.js +38 -0
- package/dist/browser/routes/agent.debug.js +133 -0
- package/dist/browser/routes/agent.js +10 -0
- package/dist/browser/routes/agent.shared.js +45 -0
- package/dist/browser/routes/agent.snapshot.js +269 -0
- package/dist/browser/routes/agent.storage.js +386 -0
- package/dist/browser/routes/basic.js +173 -0
- package/dist/browser/routes/dispatcher.js +86 -0
- package/dist/browser/routes/index.js +8 -0
- package/dist/browser/routes/tabs.js +120 -0
- package/dist/browser/routes/types.js +1 -0
- package/dist/browser/routes/utils.js +57 -0
- package/dist/browser/screenshot.js +39 -0
- package/dist/browser/server-context.js +533 -0
- package/dist/browser/server-context.types.js +1 -0
- package/dist/browser/server.js +90 -0
- package/dist/browser/target-id.js +16 -0
- package/dist/browser/trash.js +21 -0
- package/dist/channel-web.js +8 -0
- package/dist/channels/ack-reactions.js +56 -0
- package/dist/channels/allowlist-match.js +3 -0
- package/dist/channels/allowlists/resolve-utils.js +37 -0
- package/dist/channels/channel-config.js +131 -0
- package/dist/channels/chat-type.js +12 -0
- package/dist/channels/command-gating.js +24 -0
- package/dist/channels/conversation-label.js +48 -0
- package/dist/channels/dock.js +344 -0
- package/dist/channels/location.js +44 -0
- package/dist/channels/logging.js +13 -0
- package/dist/channels/mention-gating.js +26 -0
- package/dist/channels/plugins/actions/discord/handle-action.guild-admin.js +332 -0
- package/dist/channels/plugins/actions/discord/handle-action.js +165 -0
- package/dist/channels/plugins/actions/discord.js +93 -0
- package/dist/channels/plugins/actions/signal.js +115 -0
- package/dist/channels/plugins/actions/telegram.js +151 -0
- package/dist/channels/plugins/agent-tools/whatsapp-login.js +63 -0
- package/dist/channels/plugins/allowlist-match.js +1 -0
- package/dist/channels/plugins/bluebubbles-actions.js +16 -0
- package/dist/channels/plugins/catalog.js +218 -0
- package/dist/channels/plugins/channel-config.js +1 -0
- package/dist/channels/plugins/config-helpers.js +87 -0
- package/dist/channels/plugins/config-schema.js +8 -0
- package/dist/channels/plugins/config-writes.js +21 -0
- package/dist/channels/plugins/directory-config.js +185 -0
- package/dist/channels/plugins/group-mentions.js +314 -0
- package/dist/channels/plugins/helpers.js +12 -0
- package/dist/channels/plugins/index.js +51 -0
- package/dist/channels/plugins/load.js +22 -0
- package/dist/channels/plugins/media-limits.js +15 -0
- package/dist/channels/plugins/message-action-names.js +51 -0
- package/dist/channels/plugins/message-actions.js +35 -0
- package/dist/channels/plugins/normalize/discord.js +18 -0
- package/dist/channels/plugins/normalize/imessage.js +36 -0
- package/dist/channels/plugins/normalize/signal.js +52 -0
- package/dist/channels/plugins/normalize/slack.js +19 -0
- package/dist/channels/plugins/normalize/telegram.js +31 -0
- package/dist/channels/plugins/normalize/whatsapp.js +17 -0
- package/dist/channels/plugins/onboarding/channel-access.js +68 -0
- package/dist/channels/plugins/onboarding/discord.js +413 -0
- package/dist/channels/plugins/onboarding/helpers.js +33 -0
- package/dist/channels/plugins/onboarding/imessage.js +231 -0
- package/dist/channels/plugins/onboarding/signal.js +262 -0
- package/dist/channels/plugins/onboarding/slack.js +470 -0
- package/dist/channels/plugins/onboarding/telegram.js +289 -0
- package/dist/channels/plugins/onboarding/whatsapp.js +286 -0
- package/dist/channels/plugins/onboarding-types.js +1 -0
- package/dist/channels/plugins/outbound/discord.js +29 -0
- package/dist/channels/plugins/outbound/imessage.js +38 -0
- package/dist/channels/plugins/outbound/load.js +28 -0
- package/dist/channels/plugins/outbound/slack.js +27 -0
- package/dist/channels/plugins/outbound/telegram.js +93 -0
- package/dist/channels/plugins/outbound/whatsapp.js +76 -0
- package/dist/channels/plugins/pairing-message.js +1 -0
- package/dist/channels/plugins/pairing.js +44 -0
- package/dist/channels/plugins/setup-helpers.js +89 -0
- package/dist/channels/plugins/slack.actions.js +158 -0
- package/dist/channels/plugins/status-issues/bluebubbles.js +76 -0
- package/dist/channels/plugins/status-issues/discord.js +115 -0
- package/dist/channels/plugins/status-issues/shared.js +23 -0
- package/dist/channels/plugins/status-issues/telegram.js +100 -0
- package/dist/channels/plugins/status-issues/whatsapp.js +52 -0
- package/dist/channels/plugins/status.js +26 -0
- package/dist/channels/plugins/types.adapters.js +1 -0
- package/dist/channels/plugins/types.core.js +1 -0
- package/dist/channels/plugins/types.js +1 -0
- package/dist/channels/plugins/types.plugin.js +1 -0
- package/dist/channels/plugins/whatsapp-heartbeat.js +56 -0
- package/dist/channels/registry.js +153 -0
- package/dist/channels/reply-prefix.js +21 -0
- package/dist/channels/sender-identity.js +30 -0
- package/dist/channels/sender-label.js +38 -0
- package/dist/channels/session.js +26 -0
- package/dist/channels/targets.js +27 -0
- package/dist/channels/typing.js +17 -0
- package/dist/channels/web/index.js +2 -0
- package/dist/cli/acp-cli.js +61 -0
- package/dist/cli/argv.js +126 -0
- package/dist/cli/banner.js +96 -0
- package/dist/cli/browser-cli-actions-input/register.element.js +228 -0
- package/dist/cli/browser-cli-actions-input/register.files-downloads.js +148 -0
- package/dist/cli/browser-cli-actions-input/register.form-wait-eval.js +121 -0
- package/dist/cli/browser-cli-actions-input/register.js +10 -0
- package/dist/cli/browser-cli-actions-input/register.navigation.js +72 -0
- package/dist/cli/browser-cli-actions-input/shared.js +57 -0
- package/dist/cli/browser-cli-actions-input.js +1 -0
- package/dist/cli/browser-cli-actions-observe.js +90 -0
- package/dist/cli/browser-cli-debug.js +162 -0
- package/dist/cli/browser-cli-examples.js +33 -0
- package/dist/cli/browser-cli-extension.js +98 -0
- package/dist/cli/browser-cli-inspect.js +136 -0
- package/dist/cli/browser-cli-manage.js +401 -0
- package/dist/cli/browser-cli-shared.js +34 -0
- package/dist/cli/browser-cli-state.cookies-storage.js +182 -0
- package/dist/cli/browser-cli-state.js +287 -0
- package/dist/cli/browser-cli.js +37 -0
- package/dist/cli/channel-auth.js +49 -0
- package/dist/cli/channel-options.js +29 -0
- package/dist/cli/channels-cli.js +208 -0
- package/dist/cli/cli-name.js +22 -0
- package/dist/cli/cli-utils.js +34 -0
- package/dist/cli/command-format.js +18 -0
- package/dist/cli/command-options.js +6 -0
- package/dist/cli/config-cli.js +295 -0
- package/dist/cli/cron-cli/register.cron-add.js +188 -0
- package/dist/cli/cron-cli/register.cron-edit.js +160 -0
- package/dist/cli/cron-cli/register.cron-simple.js +98 -0
- package/dist/cli/cron-cli/register.js +16 -0
- package/dist/cli/cron-cli/shared.js +178 -0
- package/dist/cli/cron-cli.js +1 -0
- package/dist/cli/daemon-cli/install.js +112 -0
- package/dist/cli/daemon-cli/lifecycle.js +265 -0
- package/dist/cli/daemon-cli/probe.js +28 -0
- package/dist/cli/daemon-cli/register.js +69 -0
- package/dist/cli/daemon-cli/response.js +20 -0
- package/dist/cli/daemon-cli/runners.js +3 -0
- package/dist/cli/daemon-cli/shared.js +162 -0
- package/dist/cli/daemon-cli/status.gather.js +167 -0
- package/dist/cli/daemon-cli/status.js +19 -0
- package/dist/cli/daemon-cli/status.print.js +233 -0
- package/dist/cli/daemon-cli/types.js +1 -0
- package/dist/cli/daemon-cli.js +2 -0
- package/dist/cli/deps.js +28 -0
- package/dist/cli/devices-cli.js +181 -0
- package/dist/cli/directory-cli.js +227 -0
- package/dist/cli/dns-cli.js +206 -0
- package/dist/cli/docs-cli.js +17 -0
- package/dist/cli/exec-approvals-cli.js +378 -0
- package/dist/cli/gateway-cli/call.js +25 -0
- package/dist/cli/gateway-cli/dev.js +101 -0
- package/dist/cli/gateway-cli/discover.js +88 -0
- package/dist/cli/gateway-cli/register.js +261 -0
- package/dist/cli/gateway-cli/run-loop.js +87 -0
- package/dist/cli/gateway-cli/run.js +266 -0
- package/dist/cli/gateway-cli/shared.js +101 -0
- package/dist/cli/gateway-cli.js +1 -0
- package/dist/cli/gateway-rpc.js +27 -0
- package/dist/cli/help-format.js +16 -0
- package/dist/cli/hooks-cli.js +709 -0
- package/dist/cli/logs-cli.js +222 -0
- package/dist/cli/memory-cli.js +558 -0
- package/dist/cli/models-cli.js +321 -0
- package/dist/cli/node-cli/daemon.js +481 -0
- package/dist/cli/node-cli/register.js +81 -0
- package/dist/cli/node-cli.js +1 -0
- package/dist/cli/nodes-camera.js +52 -0
- package/dist/cli/nodes-canvas.js +26 -0
- package/dist/cli/nodes-cli/a2ui-jsonl.js +81 -0
- package/dist/cli/nodes-cli/cli-utils.js +27 -0
- package/dist/cli/nodes-cli/format.js +35 -0
- package/dist/cli/nodes-cli/register.camera.js +193 -0
- package/dist/cli/nodes-cli/register.canvas.js +215 -0
- package/dist/cli/nodes-cli/register.invoke.js +303 -0
- package/dist/cli/nodes-cli/register.js +24 -0
- package/dist/cli/nodes-cli/register.location.js +64 -0
- package/dist/cli/nodes-cli/register.notify.js +51 -0
- package/dist/cli/nodes-cli/register.pairing.js +99 -0
- package/dist/cli/nodes-cli/register.screen.js +66 -0
- package/dist/cli/nodes-cli/register.status.js +328 -0
- package/dist/cli/nodes-cli/rpc.js +88 -0
- package/dist/cli/nodes-cli/types.js +1 -0
- package/dist/cli/nodes-cli.js +1 -0
- package/dist/cli/nodes-run.js +19 -0
- package/dist/cli/nodes-screen.js +35 -0
- package/dist/cli/outbound-send-deps.js +11 -0
- package/dist/cli/pairing-cli.js +115 -0
- package/dist/cli/parse-duration.js +28 -0
- package/dist/cli/parse-timeout.js +18 -0
- package/dist/cli/plugin-registry.js +24 -0
- package/dist/cli/plugins-cli.js +469 -0
- package/dist/cli/ports.js +101 -0
- package/dist/cli/profile-utils.js +17 -0
- package/dist/cli/profile.js +86 -0
- package/dist/cli/program/build-program.js +14 -0
- package/dist/cli/program/command-registry.js +148 -0
- package/dist/cli/program/config-guard.js +67 -0
- package/dist/cli/program/context.js +11 -0
- package/dist/cli/program/help.js +71 -0
- package/dist/cli/program/helpers.js +26 -0
- package/dist/cli/program/message/helpers.js +46 -0
- package/dist/cli/program/message/register.broadcast.js +11 -0
- package/dist/cli/program/message/register.discord-admin.js +119 -0
- package/dist/cli/program/message/register.emoji-sticker.js +43 -0
- package/dist/cli/program/message/register.permissions-search.js +22 -0
- package/dist/cli/program/message/register.pins.js +23 -0
- package/dist/cli/program/message/register.poll.js +13 -0
- package/dist/cli/program/message/register.reactions.js +21 -0
- package/dist/cli/program/message/register.read-edit-delete.js +30 -0
- package/dist/cli/program/message/register.send.js +18 -0
- package/dist/cli/program/message/register.thread.js +35 -0
- package/dist/cli/program/preaction.js +48 -0
- package/dist/cli/program/register.agent.js +165 -0
- package/dist/cli/program/register.configure.js +32 -0
- package/dist/cli/program/register.maintenance.js +91 -0
- package/dist/cli/program/register.message.js +54 -0
- package/dist/cli/program/register.onboard.js +122 -0
- package/dist/cli/program/register.setup.js +41 -0
- package/dist/cli/program/register.status-health-sessions.js +109 -0
- package/dist/cli/program/register.subclis.js +276 -0
- package/dist/cli/program.js +2 -0
- package/dist/cli/progress.js +165 -0
- package/dist/cli/prompt.js +17 -0
- package/dist/cli/route.js +29 -0
- package/dist/cli/run-main.js +107 -0
- package/dist/cli/sandbox-cli.js +98 -0
- package/dist/cli/security-cli.js +123 -0
- package/dist/cli/skills-cli.js +341 -0
- package/dist/cli/system-cli.js +98 -0
- package/dist/cli/tagline.js +210 -0
- package/dist/cli/tui-cli.js +44 -0
- package/dist/cli/update-cli.js +1016 -0
- package/dist/cli/wait.js +8 -0
- package/dist/cli/webhooks-cli.js +140 -0
- package/dist/commands/agent/delivery.js +140 -0
- package/dist/commands/agent/run-context.js +27 -0
- package/dist/commands/agent/session-store.js +43 -0
- package/dist/commands/agent/session.js +74 -0
- package/dist/commands/agent/types.js +1 -0
- package/dist/commands/agent-via-gateway.js +119 -0
- package/dist/commands/agent.js +439 -0
- package/dist/commands/agents.bindings.js +126 -0
- package/dist/commands/agents.command-shared.js +18 -0
- package/dist/commands/agents.commands.add.js +293 -0
- package/dist/commands/agents.commands.delete.js +75 -0
- package/dist/commands/agents.commands.identity.js +168 -0
- package/dist/commands/agents.commands.list.js +98 -0
- package/dist/commands/agents.config.js +145 -0
- package/dist/commands/agents.js +6 -0
- package/dist/commands/agents.providers.js +140 -0
- package/dist/commands/auth-choice-options.js +175 -0
- package/dist/commands/auth-choice-prompt.js +36 -0
- package/dist/commands/auth-choice.api-key.js +34 -0
- package/dist/commands/auth-choice.apply.anthropic.js +77 -0
- package/dist/commands/auth-choice.apply.api-providers.js +550 -0
- package/dist/commands/auth-choice.apply.copilot-proxy.js +10 -0
- package/dist/commands/auth-choice.apply.github-copilot.js +47 -0
- package/dist/commands/auth-choice.apply.google-antigravity.js +10 -0
- package/dist/commands/auth-choice.apply.google-gemini-cli.js +10 -0
- package/dist/commands/auth-choice.apply.js +30 -0
- package/dist/commands/auth-choice.apply.minimax.js +72 -0
- package/dist/commands/auth-choice.apply.oauth.js +78 -0
- package/dist/commands/auth-choice.apply.openai.js +117 -0
- package/dist/commands/auth-choice.apply.plugin-provider.js +140 -0
- package/dist/commands/auth-choice.apply.qwen-portal.js +10 -0
- package/dist/commands/auth-choice.default-model.js +12 -0
- package/dist/commands/auth-choice.js +3 -0
- package/dist/commands/auth-choice.model-check.js +61 -0
- package/dist/commands/auth-choice.preferred-provider.js +33 -0
- package/dist/commands/auth-token.js +32 -0
- package/dist/commands/channels/add-mutators.js +49 -0
- package/dist/commands/channels/add.js +210 -0
- package/dist/commands/channels/capabilities.js +439 -0
- package/dist/commands/channels/list.js +145 -0
- package/dist/commands/channels/logs.js +85 -0
- package/dist/commands/channels/remove.js +114 -0
- package/dist/commands/channels/resolve.js +107 -0
- package/dist/commands/channels/shared.js +41 -0
- package/dist/commands/channels/status.js +238 -0
- package/dist/commands/channels.js +7 -0
- package/dist/commands/chutes-oauth.js +144 -0
- package/dist/commands/cleanup-utils.js +74 -0
- package/dist/commands/configure.channels.js +52 -0
- package/dist/commands/configure.commands.js +8 -0
- package/dist/commands/configure.daemon.js +106 -0
- package/dist/commands/configure.gateway-auth.js +64 -0
- package/dist/commands/configure.gateway.js +159 -0
- package/dist/commands/configure.js +4 -0
- package/dist/commands/configure.shared.js +49 -0
- package/dist/commands/configure.wizard.js +466 -0
- package/dist/commands/daemon-install-helpers.js +51 -0
- package/dist/commands/daemon-runtime.js +11 -0
- package/dist/commands/dashboard.js +47 -0
- package/dist/commands/docs.js +148 -0
- package/dist/commands/doctor-auth.js +236 -0
- package/dist/commands/doctor-config-flow.js +245 -0
- package/dist/commands/doctor-format.js +85 -0
- package/dist/commands/doctor-gateway-daemon-flow.js +204 -0
- package/dist/commands/doctor-gateway-health.js +43 -0
- package/dist/commands/doctor-gateway-services.js +216 -0
- package/dist/commands/doctor-install.js +27 -0
- package/dist/commands/doctor-legacy-config.js +42 -0
- package/dist/commands/doctor-platform-notes.js +108 -0
- package/dist/commands/doctor-prompter.js +64 -0
- package/dist/commands/doctor-sandbox.js +207 -0
- package/dist/commands/doctor-security.js +141 -0
- package/dist/commands/doctor-state-integrity.js +334 -0
- package/dist/commands/doctor-state-migrations.js +1 -0
- package/dist/commands/doctor-ui.js +119 -0
- package/dist/commands/doctor-update.js +65 -0
- package/dist/commands/doctor-workspace-status.js +56 -0
- package/dist/commands/doctor-workspace.js +47 -0
- package/dist/commands/doctor.js +252 -0
- package/dist/commands/gateway-status/helpers.js +200 -0
- package/dist/commands/gateway-status.js +306 -0
- package/dist/commands/google-gemini-model-default.js +33 -0
- package/dist/commands/health-format.js +37 -0
- package/dist/commands/health.js +595 -0
- package/dist/commands/message-format.js +345 -0
- package/dist/commands/message.js +45 -0
- package/dist/commands/model-picker.js +420 -0
- package/dist/commands/models/aliases.js +92 -0
- package/dist/commands/models/auth-order.js +95 -0
- package/dist/commands/models/auth.js +334 -0
- package/dist/commands/models/fallbacks.js +126 -0
- package/dist/commands/models/image-fallbacks.js +126 -0
- package/dist/commands/models/list.auth-overview.js +93 -0
- package/dist/commands/models/list.configured.js +80 -0
- package/dist/commands/models/list.format.js +41 -0
- package/dist/commands/models/list.js +2 -0
- package/dist/commands/models/list.list-command.js +99 -0
- package/dist/commands/models/list.probe.js +348 -0
- package/dist/commands/models/list.registry.js +81 -0
- package/dist/commands/models/list.status-command.js +420 -0
- package/dist/commands/models/list.table.js +58 -0
- package/dist/commands/models/list.types.js +1 -0
- package/dist/commands/models/scan.js +293 -0
- package/dist/commands/models/set-image.js +28 -0
- package/dist/commands/models/set.js +28 -0
- package/dist/commands/models/shared.js +80 -0
- package/dist/commands/models.js +10 -0
- package/dist/commands/node-daemon-install-helpers.js +35 -0
- package/dist/commands/node-daemon-runtime.js +6 -0
- package/dist/commands/oauth-env.js +16 -0
- package/dist/commands/oauth-flow.js +33 -0
- package/dist/commands/onboard-auth.config-core.js +450 -0
- package/dist/commands/onboard-auth.config-minimax.js +176 -0
- package/dist/commands/onboard-auth.config-opencode.js +40 -0
- package/dist/commands/onboard-auth.credentials.js +159 -0
- package/dist/commands/onboard-auth.js +7 -0
- package/dist/commands/onboard-auth.models.js +100 -0
- package/dist/commands/onboard-channels.js +527 -0
- package/dist/commands/onboard-helpers.js +362 -0
- package/dist/commands/onboard-hooks.js +59 -0
- package/dist/commands/onboard-interactive.js +17 -0
- package/dist/commands/onboard-non-interactive/api-keys.js +45 -0
- package/dist/commands/onboard-non-interactive/local/auth-choice.js +353 -0
- package/dist/commands/onboard-non-interactive/local/daemon-install.js +45 -0
- package/dist/commands/onboard-non-interactive/local/gateway-config.js +86 -0
- package/dist/commands/onboard-non-interactive/local/output.js +14 -0
- package/dist/commands/onboard-non-interactive/local/skills-config.js +21 -0
- package/dist/commands/onboard-non-interactive/local/workspace.js +7 -0
- package/dist/commands/onboard-non-interactive/local.js +105 -0
- package/dist/commands/onboard-non-interactive/remote.js +41 -0
- package/dist/commands/onboard-non-interactive.js +25 -0
- package/dist/commands/onboard-remote.js +125 -0
- package/dist/commands/onboard-skills.js +146 -0
- package/dist/commands/onboard-types.js +1 -0
- package/dist/commands/onboard.js +62 -0
- package/dist/commands/onboarding/__tests__/test-utils.js +20 -0
- package/dist/commands/onboarding/plugin-install.js +162 -0
- package/dist/commands/onboarding/registry.js +13 -0
- package/dist/commands/onboarding/types.js +1 -0
- package/dist/commands/openai-codex-model-default.js +44 -0
- package/dist/commands/opencode-zen-model-default.js +35 -0
- package/dist/commands/reset.js +134 -0
- package/dist/commands/sandbox-display.js +82 -0
- package/dist/commands/sandbox-explain.js +226 -0
- package/dist/commands/sandbox-formatters.js +31 -0
- package/dist/commands/sandbox.js +119 -0
- package/dist/commands/sessions.js +211 -0
- package/dist/commands/setup.js +62 -0
- package/dist/commands/signal-install.js +132 -0
- package/dist/commands/status-all/agents.js +62 -0
- package/dist/commands/status-all/channels.js +354 -0
- package/dist/commands/status-all/diagnosis.js +156 -0
- package/dist/commands/status-all/format.js +41 -0
- package/dist/commands/status-all/gateway.js +158 -0
- package/dist/commands/status-all/report-lines.js +135 -0
- package/dist/commands/status-all.js +409 -0
- package/dist/commands/status.agent-local.js +68 -0
- package/dist/commands/status.command.js +476 -0
- package/dist/commands/status.daemon.js +30 -0
- package/dist/commands/status.format.js +52 -0
- package/dist/commands/status.gateway-probe.js +35 -0
- package/dist/commands/status.js +2 -0
- package/dist/commands/status.link-channel.js +39 -0
- package/dist/commands/status.scan.js +140 -0
- package/dist/commands/status.summary.js +172 -0
- package/dist/commands/status.types.js +1 -0
- package/dist/commands/status.update.js +112 -0
- package/dist/commands/systemd-linger.js +77 -0
- package/dist/commands/uninstall.js +161 -0
- package/dist/compat/legacy-names.js +8 -0
- package/dist/config/agent-dirs.js +79 -0
- package/dist/config/agent-limits.js +16 -0
- package/dist/config/cache-utils.js +22 -0
- package/dist/config/channel-capabilities.js +42 -0
- package/dist/config/commands.js +38 -0
- package/dist/config/config-paths.js +75 -0
- package/dist/config/config.js +7 -0
- package/dist/config/defaults.js +350 -0
- package/dist/config/env-substitution.js +117 -0
- package/dist/config/env-vars.js +21 -0
- package/dist/config/group-policy.js +123 -0
- package/dist/config/includes.js +183 -0
- package/dist/config/io.js +491 -0
- package/dist/config/legacy-migrate.js +13 -0
- package/dist/config/legacy.js +34 -0
- package/dist/config/legacy.migrations.js +8 -0
- package/dist/config/legacy.migrations.part-1.js +308 -0
- package/dist/config/legacy.migrations.part-2.js +343 -0
- package/dist/config/legacy.migrations.part-3.js +164 -0
- package/dist/config/legacy.rules.js +116 -0
- package/dist/config/legacy.shared.js +76 -0
- package/dist/config/logging.js +10 -0
- package/dist/config/markdown-tables.js +36 -0
- package/dist/config/merge-config.js +22 -0
- package/dist/config/merge-patch.js +22 -0
- package/dist/config/normalize-paths.js +54 -0
- package/dist/config/paths.js +194 -0
- package/dist/config/plugin-auto-enable.js +338 -0
- package/dist/config/port-defaults.js +30 -0
- package/dist/config/runtime-overrides.js +50 -0
- package/dist/config/schema.js +795 -0
- package/dist/config/sessions/group.js +83 -0
- package/dist/config/sessions/main-session.js +43 -0
- package/dist/config/sessions/metadata.js +114 -0
- package/dist/config/sessions/paths.js +46 -0
- package/dist/config/sessions/reset.js +103 -0
- package/dist/config/sessions/session-key.js +34 -0
- package/dist/config/sessions/store.js +346 -0
- package/dist/config/sessions/transcript.js +113 -0
- package/dist/config/sessions/types.js +11 -0
- package/dist/config/sessions.js +9 -0
- package/dist/config/talk.js +31 -0
- package/dist/config/telegram-custom-commands.js +70 -0
- package/dist/config/types.agent-defaults.js +1 -0
- package/dist/config/types.agents.js +1 -0
- package/dist/config/types.approvals.js +1 -0
- package/dist/config/types.auth.js +1 -0
- package/dist/config/types.base.js +1 -0
- package/dist/config/types.browser.js +1 -0
- package/dist/config/types.channels.js +1 -0
- package/dist/config/types.cron.js +1 -0
- package/dist/config/types.discord.js +1 -0
- package/dist/config/types.gateway.js +1 -0
- package/dist/config/types.googlechat.js +1 -0
- package/dist/config/types.hooks.js +1 -0
- package/dist/config/types.imessage.js +1 -0
- package/dist/config/types.js +29 -0
- package/dist/config/types.messages.js +1 -0
- package/dist/config/types.models.js +1 -0
- package/dist/config/types.msteams.js +1 -0
- package/dist/config/types.node-host.js +1 -0
- package/dist/config/types.openclaw.js +1 -0
- package/dist/config/types.plugins.js +1 -0
- package/dist/config/types.queue.js +1 -0
- package/dist/config/types.sandbox.js +1 -0
- package/dist/config/types.signal.js +1 -0
- package/dist/config/types.skills.js +1 -0
- package/dist/config/types.slack.js +1 -0
- package/dist/config/types.telegram.js +1 -0
- package/dist/config/types.tools.js +1 -0
- package/dist/config/types.tts.js +1 -0
- package/dist/config/types.whatsapp.js +1 -0
- package/dist/config/validation.js +297 -0
- package/dist/config/version.js +30 -0
- package/dist/config/zod-schema.agent-defaults.js +157 -0
- package/dist/config/zod-schema.agent-runtime.js +520 -0
- package/dist/config/zod-schema.agents.js +46 -0
- package/dist/config/zod-schema.approvals.js +25 -0
- package/dist/config/zod-schema.channels.js +9 -0
- package/dist/config/zod-schema.core.js +452 -0
- package/dist/config/zod-schema.hooks.js +124 -0
- package/dist/config/zod-schema.js +539 -0
- package/dist/config/zod-schema.providers-core.js +703 -0
- package/dist/config/zod-schema.providers-whatsapp.js +126 -0
- package/dist/config/zod-schema.providers.js +29 -0
- package/dist/config/zod-schema.session.js +105 -0
- package/dist/cron/isolated-agent/delivery-target.js +59 -0
- package/dist/cron/isolated-agent/helpers.js +49 -0
- package/dist/cron/isolated-agent/run.js +376 -0
- package/dist/cron/isolated-agent/session.js +27 -0
- package/dist/cron/isolated-agent.js +1 -0
- package/dist/cron/normalize.js +111 -0
- package/dist/cron/parse.js +24 -0
- package/dist/cron/payload-migration.js +29 -0
- package/dist/cron/run-log.js +70 -0
- package/dist/cron/schedule.js +24 -0
- package/dist/cron/service/jobs.js +174 -0
- package/dist/cron/service/locked.js +12 -0
- package/dist/cron/service/normalize.js +55 -0
- package/dist/cron/service/ops.js +118 -0
- package/dist/cron/service/state.js +10 -0
- package/dist/cron/service/store.js +57 -0
- package/dist/cron/service/timer.js +217 -0
- package/dist/cron/service.js +35 -0
- package/dist/cron/store.js +43 -0
- package/dist/cron/types.js +1 -0
- package/dist/daemon/constants.js +75 -0
- package/dist/daemon/diagnostics.js +38 -0
- package/dist/daemon/inspect.js +350 -0
- package/dist/daemon/launchd-plist.js +68 -0
- package/dist/daemon/launchd.js +316 -0
- package/dist/daemon/node-service.js +53 -0
- package/dist/daemon/paths.js +35 -0
- package/dist/daemon/program-args.js +220 -0
- package/dist/daemon/runtime-parse.js +17 -0
- package/dist/daemon/runtime-paths.js +109 -0
- package/dist/daemon/schtasks.js +303 -0
- package/dist/daemon/service-audit.js +270 -0
- package/dist/daemon/service-env.js +132 -0
- package/dist/daemon/service-runtime.js +1 -0
- package/dist/daemon/service.js +90 -0
- package/dist/daemon/systemd-hints.js +24 -0
- package/dist/daemon/systemd-linger.js +59 -0
- package/dist/daemon/systemd-unit.js +108 -0
- package/dist/daemon/systemd.js +318 -0
- package/dist/discord/accounts.js +52 -0
- package/dist/discord/api.js +93 -0
- package/dist/discord/audit.js +94 -0
- package/dist/discord/chunk.js +200 -0
- package/dist/discord/directory-live.js +76 -0
- package/dist/discord/gateway-logging.js +48 -0
- package/dist/discord/index.js +2 -0
- package/dist/discord/monitor/allow-list.js +230 -0
- package/dist/discord/monitor/exec-approvals.js +406 -0
- package/dist/discord/monitor/format.js +27 -0
- package/dist/discord/monitor/listeners.js +240 -0
- package/dist/discord/monitor/message-handler.js +101 -0
- package/dist/discord/monitor/message-handler.preflight.js +438 -0
- package/dist/discord/monitor/message-handler.preflight.types.js +1 -0
- package/dist/discord/monitor/message-handler.process.js +344 -0
- package/dist/discord/monitor/message-utils.js +189 -0
- package/dist/discord/monitor/native-command.js +707 -0
- package/dist/discord/monitor/presence-cache.js +38 -0
- package/dist/discord/monitor/provider.js +551 -0
- package/dist/discord/monitor/reply-context.js +29 -0
- package/dist/discord/monitor/reply-delivery.js +57 -0
- package/dist/discord/monitor/system-events.js +53 -0
- package/dist/discord/monitor/threading.js +201 -0
- package/dist/discord/monitor/typing.js +8 -0
- package/dist/discord/monitor.gateway.js +54 -0
- package/dist/discord/monitor.js +7 -0
- package/dist/discord/probe.js +124 -0
- package/dist/discord/resolve-channels.js +239 -0
- package/dist/discord/resolve-users.js +114 -0
- package/dist/discord/send.channels.js +74 -0
- package/dist/discord/send.emojis-stickers.js +48 -0
- package/dist/discord/send.guild.js +79 -0
- package/dist/discord/send.js +7 -0
- package/dist/discord/send.messages.js +91 -0
- package/dist/discord/send.outbound.js +87 -0
- package/dist/discord/send.permissions.js +116 -0
- package/dist/discord/send.reactions.js +71 -0
- package/dist/discord/send.shared.js +280 -0
- package/dist/discord/send.types.js +16 -0
- package/dist/discord/targets.js +122 -0
- package/dist/discord/token.js +29 -0
- package/dist/entry.js +128 -0
- package/dist/gateway/assistant-identity.js +64 -0
- package/dist/gateway/auth.js +197 -0
- package/dist/gateway/boot.js +72 -0
- package/dist/gateway/call.js +184 -0
- package/dist/gateway/chat-abort.js +55 -0
- package/dist/gateway/chat-attachments.js +133 -0
- package/dist/gateway/chat-sanitize.js +103 -0
- package/dist/gateway/client.js +339 -0
- package/dist/gateway/config-reload.js +295 -0
- package/dist/gateway/control-ui-shared.js +48 -0
- package/dist/gateway/control-ui.js +258 -0
- package/dist/gateway/device-auth.js +19 -0
- package/dist/gateway/exec-approval-manager.js +40 -0
- package/dist/gateway/hooks-mapping.js +287 -0
- package/dist/gateway/hooks.js +169 -0
- package/dist/gateway/http-common.js +43 -0
- package/dist/gateway/http-utils.js +51 -0
- package/dist/gateway/live-image-probe.js +156 -0
- package/dist/gateway/net.js +176 -0
- package/dist/gateway/node-command-policy.js +106 -0
- package/dist/gateway/node-registry.js +142 -0
- package/dist/gateway/open-responses.schema.js +285 -0
- package/dist/gateway/openai-http.js +327 -0
- package/dist/gateway/openresponses-http.js +693 -0
- package/dist/gateway/probe.js +87 -0
- package/dist/gateway/protocol/client-info.js +46 -0
- package/dist/gateway/protocol/index.js +109 -0
- package/dist/gateway/protocol/schema/agent.js +73 -0
- package/dist/gateway/protocol/schema/agents-models-skills.js +47 -0
- package/dist/gateway/protocol/schema/channels.js +74 -0
- package/dist/gateway/protocol/schema/config.js +44 -0
- package/dist/gateway/protocol/schema/cron.js +159 -0
- package/dist/gateway/protocol/schema/devices.js +36 -0
- package/dist/gateway/protocol/schema/error-codes.js +14 -0
- package/dist/gateway/protocol/schema/exec-approvals.js +66 -0
- package/dist/gateway/protocol/schema/frames.js +101 -0
- package/dist/gateway/protocol/schema/logs-chat.js +53 -0
- package/dist/gateway/protocol/schema/nodes.js +54 -0
- package/dist/gateway/protocol/schema/primitives.js +10 -0
- package/dist/gateway/protocol/schema/protocol-schemas.js +117 -0
- package/dist/gateway/protocol/schema/sessions.js +69 -0
- package/dist/gateway/protocol/schema/snapshot.js +40 -0
- package/dist/gateway/protocol/schema/types.js +1 -0
- package/dist/gateway/protocol/schema/wizard.js +76 -0
- package/dist/gateway/protocol/schema.js +16 -0
- package/dist/gateway/server/__tests__/test-utils.js +24 -0
- package/dist/gateway/server/close-reason.js +10 -0
- package/dist/gateway/server/health-state.js +69 -0
- package/dist/gateway/server/hooks.js +85 -0
- package/dist/gateway/server/http-listen.js +26 -0
- package/dist/gateway/server/plugins-http.js +45 -0
- package/dist/gateway/server/tls.js +4 -0
- package/dist/gateway/server/ws-connection/message-handler.js +771 -0
- package/dist/gateway/server/ws-connection.js +191 -0
- package/dist/gateway/server/ws-types.js +1 -0
- package/dist/gateway/server-broadcast.js +73 -0
- package/dist/gateway/server-browser.js +22 -0
- package/dist/gateway/server-channels.js +242 -0
- package/dist/gateway/server-chat.js +221 -0
- package/dist/gateway/server-close.js +99 -0
- package/dist/gateway/server-constants.js +29 -0
- package/dist/gateway/server-cron.js +84 -0
- package/dist/gateway/server-discovery-runtime.js +77 -0
- package/dist/gateway/server-discovery.js +62 -0
- package/dist/gateway/server-http.js +224 -0
- package/dist/gateway/server-lanes.js +7 -0
- package/dist/gateway/server-maintenance.js +68 -0
- package/dist/gateway/server-methods/agent-job.js +104 -0
- package/dist/gateway/server-methods/agent.js +360 -0
- package/dist/gateway/server-methods/agents.js +14 -0
- package/dist/gateway/server-methods/browser.js +204 -0
- package/dist/gateway/server-methods/channels.js +218 -0
- package/dist/gateway/server-methods/chat.js +520 -0
- package/dist/gateway/server-methods/config.js +269 -0
- package/dist/gateway/server-methods/connect.js +6 -0
- package/dist/gateway/server-methods/cron.js +109 -0
- package/dist/gateway/server-methods/devices.js +95 -0
- package/dist/gateway/server-methods/exec-approval.js +78 -0
- package/dist/gateway/server-methods/exec-approvals.js +141 -0
- package/dist/gateway/server-methods/health.js +29 -0
- package/dist/gateway/server-methods/logs.js +143 -0
- package/dist/gateway/server-methods/models.js +16 -0
- package/dist/gateway/server-methods/nodes.helpers.js +32 -0
- package/dist/gateway/server-methods/nodes.js +426 -0
- package/dist/gateway/server-methods/send.js +280 -0
- package/dist/gateway/server-methods/sessions.js +322 -0
- package/dist/gateway/server-methods/skills.js +137 -0
- package/dist/gateway/server-methods/system.js +122 -0
- package/dist/gateway/server-methods/talk.js +20 -0
- package/dist/gateway/server-methods/tts.js +132 -0
- package/dist/gateway/server-methods/types.js +1 -0
- package/dist/gateway/server-methods/update.js +96 -0
- package/dist/gateway/server-methods/usage.js +63 -0
- package/dist/gateway/server-methods/voicewake.js +30 -0
- package/dist/gateway/server-methods/web.js +73 -0
- package/dist/gateway/server-methods/wizard.js +100 -0
- package/dist/gateway/server-methods-list.js +108 -0
- package/dist/gateway/server-methods.js +195 -0
- package/dist/gateway/server-mobile-nodes.js +10 -0
- package/dist/gateway/server-model-catalog.js +11 -0
- package/dist/gateway/server-node-events-types.js +1 -0
- package/dist/gateway/server-node-events.js +206 -0
- package/dist/gateway/server-node-subscriptions.js +93 -0
- package/dist/gateway/server-plugins.js +36 -0
- package/dist/gateway/server-reload-handlers.js +112 -0
- package/dist/gateway/server-restart-sentinel.js +84 -0
- package/dist/gateway/server-runtime-config.js +66 -0
- package/dist/gateway/server-runtime-state.js +113 -0
- package/dist/gateway/server-session-key.js +20 -0
- package/dist/gateway/server-shared.js +1 -0
- package/dist/gateway/server-startup-log.js +27 -0
- package/dist/gateway/server-startup.js +119 -0
- package/dist/gateway/server-tailscale.js +41 -0
- package/dist/gateway/server-utils.js +35 -0
- package/dist/gateway/server-wizard-sessions.js +19 -0
- package/dist/gateway/server-ws-runtime.js +20 -0
- package/dist/gateway/server.impl.js +437 -0
- package/dist/gateway/server.js +2 -0
- package/dist/gateway/session-utils.fs.js +344 -0
- package/dist/gateway/session-utils.js +534 -0
- package/dist/gateway/session-utils.types.js +1 -0
- package/dist/gateway/sessions-patch.js +298 -0
- package/dist/gateway/sessions-resolve.js +103 -0
- package/dist/gateway/test-helpers.e2e.js +101 -0
- package/dist/gateway/test-helpers.mocks.js +504 -0
- package/dist/gateway/test-helpers.openai-mock.js +163 -0
- package/dist/gateway/test-helpers.server.js +369 -0
- package/dist/gateway/tools-invoke-http.js +221 -0
- package/dist/gateway/ws-log.js +336 -0
- package/dist/gateway/ws-logging.js +8 -0
- package/dist/globals.js +41 -0
- package/dist/hooks/bundled/boot-md/handler.js +14 -0
- package/dist/hooks/bundled/command-logger/handler.js +56 -0
- package/dist/hooks/bundled/session-memory/handler.js +147 -0
- package/dist/hooks/bundled/soul-evil/handler.js +36 -0
- package/dist/hooks/bundled-dir.js +42 -0
- package/dist/hooks/config.js +123 -0
- package/dist/hooks/frontmatter.js +114 -0
- package/dist/hooks/gmail-ops.js +243 -0
- package/dist/hooks/gmail-setup-utils.js +310 -0
- package/dist/hooks/gmail-watcher.js +191 -0
- package/dist/hooks/gmail.js +179 -0
- package/dist/hooks/hooks-status.js +135 -0
- package/dist/hooks/hooks.js +2 -0
- package/dist/hooks/install.js +328 -0
- package/dist/hooks/installs.js +24 -0
- package/dist/hooks/internal-hooks.js +121 -0
- package/dist/hooks/llm-slug-generator.js +70 -0
- package/dist/hooks/loader.js +110 -0
- package/dist/hooks/plugin-hooks.js +91 -0
- package/dist/hooks/soul-evil.js +186 -0
- package/dist/hooks/types.js +1 -0
- package/dist/hooks/workspace.js +207 -0
- package/dist/imessage/accounts.js +16 -0
- package/dist/imessage/send.js +7 -0
- package/dist/imessage/targets.js +7 -0
- package/dist/index.js +49 -0
- package/dist/infra/agent-events.js +57 -0
- package/dist/infra/archive.js +97 -0
- package/dist/infra/backoff.js +19 -0
- package/dist/infra/binaries.js +9 -0
- package/dist/infra/bonjour-ciao.js +10 -0
- package/dist/infra/bonjour-discovery.js +449 -0
- package/dist/infra/bonjour-errors.js +7 -0
- package/dist/infra/bonjour.js +210 -0
- package/dist/infra/brew.js +55 -0
- package/dist/infra/canvas-host-url.js +52 -0
- package/dist/infra/channel-activity.js +32 -0
- package/dist/infra/channel-summary.js +183 -0
- package/dist/infra/channels-status-issues.js +15 -0
- package/dist/infra/clipboard.js +24 -0
- package/dist/infra/control-ui-assets.js +98 -0
- package/dist/infra/dedupe.js +47 -0
- package/dist/infra/device-auth-store.js +97 -0
- package/dist/infra/device-identity.js +149 -0
- package/dist/infra/device-pairing.js +401 -0
- package/dist/infra/diagnostic-events.js +28 -0
- package/dist/infra/diagnostic-flags.js +66 -0
- package/dist/infra/dotenv.js +15 -0
- package/dist/infra/env-file.js +43 -0
- package/dist/infra/env.js +34 -0
- package/dist/infra/errors.js +35 -0
- package/dist/infra/exec-approval-forwarder.js +212 -0
- package/dist/infra/exec-approvals.js +1040 -0
- package/dist/infra/exec-host.js +75 -0
- package/dist/infra/exec-safety.js +31 -0
- package/dist/infra/fetch.js +58 -0
- package/dist/infra/format-duration.js +20 -0
- package/dist/infra/fs-safe.js +76 -0
- package/dist/infra/gateway-lock.js +203 -0
- package/dist/infra/git-commit.js +106 -0
- package/dist/infra/heartbeat-events.js +34 -0
- package/dist/infra/heartbeat-runner.js +743 -0
- package/dist/infra/heartbeat-visibility.js +45 -0
- package/dist/infra/heartbeat-wake.js +61 -0
- package/dist/infra/is-main.js +33 -0
- package/dist/infra/json-file.js +21 -0
- package/dist/infra/machine-name.js +43 -0
- package/dist/infra/net/ssrf.js +199 -0
- package/dist/infra/node-pairing.js +228 -0
- package/dist/infra/node-shell.js +9 -0
- package/dist/infra/openclaw-root.js +57 -0
- package/dist/infra/os-summary.js +23 -0
- package/dist/infra/outbound/agent-delivery.js +86 -0
- package/dist/infra/outbound/channel-adapters.js +16 -0
- package/dist/infra/outbound/channel-selection.js +62 -0
- package/dist/infra/outbound/channel-target.js +28 -0
- package/dist/infra/outbound/deliver.js +253 -0
- package/dist/infra/outbound/directory-cache.js +44 -0
- package/dist/infra/outbound/envelope.js +20 -0
- package/dist/infra/outbound/format.js +66 -0
- package/dist/infra/outbound/message-action-runner.js +766 -0
- package/dist/infra/outbound/message-action-spec.js +83 -0
- package/dist/infra/outbound/message.js +189 -0
- package/dist/infra/outbound/outbound-policy.js +122 -0
- package/dist/infra/outbound/outbound-send-service.js +123 -0
- package/dist/infra/outbound/outbound-session.js +762 -0
- package/dist/infra/outbound/payloads.js +78 -0
- package/dist/infra/outbound/target-errors.js +23 -0
- package/dist/infra/outbound/target-normalization.js +27 -0
- package/dist/infra/outbound/target-resolver.js +348 -0
- package/dist/infra/outbound/targets.js +213 -0
- package/dist/infra/path-env.js +94 -0
- package/dist/infra/ports-format.js +54 -0
- package/dist/infra/ports-inspect.js +240 -0
- package/dist/infra/ports-lsof.js +33 -0
- package/dist/infra/ports-types.js +1 -0
- package/dist/infra/ports.js +75 -0
- package/dist/infra/provider-usage.auth.js +221 -0
- package/dist/infra/provider-usage.fetch.antigravity.js +212 -0
- package/dist/infra/provider-usage.fetch.claude.js +129 -0
- package/dist/infra/provider-usage.fetch.codex.js +62 -0
- package/dist/infra/provider-usage.fetch.copilot.js +42 -0
- package/dist/infra/provider-usage.fetch.gemini.js +57 -0
- package/dist/infra/provider-usage.fetch.js +7 -0
- package/dist/infra/provider-usage.fetch.minimax.js +332 -0
- package/dist/infra/provider-usage.fetch.shared.js +10 -0
- package/dist/infra/provider-usage.fetch.zai.js +62 -0
- package/dist/infra/provider-usage.format.js +96 -0
- package/dist/infra/provider-usage.js +3 -0
- package/dist/infra/provider-usage.load.js +65 -0
- package/dist/infra/provider-usage.shared.js +53 -0
- package/dist/infra/provider-usage.types.js +1 -0
- package/dist/infra/restart-sentinel.js +65 -0
- package/dist/infra/restart.js +171 -0
- package/dist/infra/retry-policy.js +71 -0
- package/dist/infra/retry.js +85 -0
- package/dist/infra/runtime-guard.js +60 -0
- package/dist/infra/session-cost-usage.js +190 -0
- package/dist/infra/shell-env.js +125 -0
- package/dist/infra/skills-remote.js +282 -0
- package/dist/infra/ssh-config.js +84 -0
- package/dist/infra/ssh-tunnel.js +173 -0
- package/dist/infra/state-migrations.fs.js +49 -0
- package/dist/infra/state-migrations.js +657 -0
- package/dist/infra/system-events.js +75 -0
- package/dist/infra/system-presence.js +231 -0
- package/dist/infra/tailnet.js +46 -0
- package/dist/infra/tailscale.js +368 -0
- package/dist/infra/tls/fingerprint.js +5 -0
- package/dist/infra/tls/gateway.js +119 -0
- package/dist/infra/transport-ready.js +38 -0
- package/dist/infra/unhandled-rejections.js +139 -0
- package/dist/infra/update-channels.js +57 -0
- package/dist/infra/update-check.js +293 -0
- package/dist/infra/update-global.js +95 -0
- package/dist/infra/update-runner.js +577 -0
- package/dist/infra/update-startup.js +86 -0
- package/dist/infra/voicewake.js +74 -0
- package/dist/infra/warnings.js +25 -0
- package/dist/infra/widearea-dns.js +148 -0
- package/dist/infra/ws.js +13 -0
- package/dist/infra/wsl.js +25 -0
- package/dist/line/flex-templates.js +19 -0
- package/dist/line/types.js +1 -0
- package/dist/link-understanding/apply.js +22 -0
- package/dist/link-understanding/defaults.js +2 -0
- package/dist/link-understanding/detect.js +49 -0
- package/dist/link-understanding/format.js +10 -0
- package/dist/link-understanding/index.js +4 -0
- package/dist/link-understanding/runner.js +99 -0
- package/dist/logger.js +53 -0
- package/dist/logging/config.js +19 -0
- package/dist/logging/console.js +237 -0
- package/dist/logging/diagnostic.js +236 -0
- package/dist/logging/levels.js +26 -0
- package/dist/logging/logger.js +185 -0
- package/dist/logging/parse-log-line.js +52 -0
- package/dist/logging/redact.js +115 -0
- package/dist/logging/state.js +12 -0
- package/dist/logging/subsystem.js +234 -0
- package/dist/logging.js +5 -0
- package/dist/markdown/code-spans.js +67 -0
- package/dist/markdown/fences.js +57 -0
- package/dist/markdown/frontmatter.js +124 -0
- package/dist/markdown/ir.js +687 -0
- package/dist/markdown/render.js +113 -0
- package/dist/markdown/tables.js +35 -0
- package/dist/media/audio-tags.js +14 -0
- package/dist/media/audio.js +15 -0
- package/dist/media/constants.js +33 -0
- package/dist/media/fetch.js +151 -0
- package/dist/media/host.js +43 -0
- package/dist/media/image-ops.js +385 -0
- package/dist/media/input-files.js +276 -0
- package/dist/media/mime.js +150 -0
- package/dist/media/parse.js +175 -0
- package/dist/media/server.js +88 -0
- package/dist/media/store.js +200 -0
- package/dist/media-understanding/apply.js +355 -0
- package/dist/media-understanding/attachments.js +320 -0
- package/dist/media-understanding/concurrency.js +26 -0
- package/dist/media-understanding/defaults.js +30 -0
- package/dist/media-understanding/errors.js +11 -0
- package/dist/media-understanding/format.js +56 -0
- package/dist/media-understanding/index.js +3 -0
- package/dist/media-understanding/providers/anthropic/index.js +6 -0
- package/dist/media-understanding/providers/deepgram/audio.js +47 -0
- package/dist/media-understanding/providers/deepgram/index.js +6 -0
- package/dist/media-understanding/providers/google/audio.js +64 -0
- package/dist/media-understanding/providers/google/index.js +10 -0
- package/dist/media-understanding/providers/google/video.js +64 -0
- package/dist/media-understanding/providers/groq/index.js +10 -0
- package/dist/media-understanding/providers/image.js +59 -0
- package/dist/media-understanding/providers/index.js +45 -0
- package/dist/media-understanding/providers/minimax/index.js +6 -0
- package/dist/media-understanding/providers/openai/audio.js +46 -0
- package/dist/media-understanding/providers/openai/index.js +8 -0
- package/dist/media-understanding/providers/shared.js +29 -0
- package/dist/media-understanding/resolve.js +113 -0
- package/dist/media-understanding/runner.js +1008 -0
- package/dist/media-understanding/scope.js +41 -0
- package/dist/media-understanding/types.js +1 -0
- package/dist/media-understanding/video.js +8 -0
- package/dist/memory/batch-gemini.js +320 -0
- package/dist/memory/batch-openai.js +290 -0
- package/dist/memory/embeddings-gemini.js +129 -0
- package/dist/memory/embeddings-openai.js +65 -0
- package/dist/memory/embeddings.js +170 -0
- package/dist/memory/headers-fingerprint.js +16 -0
- package/dist/memory/hybrid.js +61 -0
- package/dist/memory/index.js +1 -0
- package/dist/memory/internal.js +222 -0
- package/dist/memory/manager-cache-key.js +46 -0
- package/dist/memory/manager-search.js +95 -0
- package/dist/memory/manager.js +1867 -0
- package/dist/memory/memory-schema.js +76 -0
- package/dist/memory/node-llama.js +3 -0
- package/dist/memory/openai-batch.js +2 -0
- package/dist/memory/provider-key.js +23 -0
- package/dist/memory/search-manager.js +11 -0
- package/dist/memory/session-files.js +98 -0
- package/dist/memory/sqlite-vec.js +19 -0
- package/dist/memory/sqlite.js +7 -0
- package/dist/memory/status-format.js +23 -0
- package/dist/memory/sync-memory-files.js +69 -0
- package/dist/memory/sync-session-files.js +95 -0
- package/dist/pairing/pairing-labels.js +4 -0
- package/dist/pairing/pairing-messages.js +14 -0
- package/dist/pairing/pairing-store.js +357 -0
- package/dist/plugin-sdk/index.js +85 -0
- package/dist/plugins/bundled-dir.js +35 -0
- package/dist/plugins/cli.js +49 -0
- package/dist/plugins/commands.js +228 -0
- package/dist/plugins/config-schema.js +23 -0
- package/dist/plugins/config-state.js +161 -0
- package/dist/plugins/discovery.js +276 -0
- package/dist/plugins/enable.js +36 -0
- package/dist/plugins/hook-runner-global.js +57 -0
- package/dist/plugins/hooks.js +283 -0
- package/dist/plugins/http-path.js +10 -0
- package/dist/plugins/http-registry.js +31 -0
- package/dist/plugins/install.js +324 -0
- package/dist/plugins/installs.js +21 -0
- package/dist/plugins/loader.js +368 -0
- package/dist/plugins/manifest-registry.js +136 -0
- package/dist/plugins/manifest.js +81 -0
- package/dist/plugins/providers.js +16 -0
- package/dist/plugins/registry.js +312 -0
- package/dist/plugins/runtime/index.js +290 -0
- package/dist/plugins/runtime/native-deps.js +16 -0
- package/dist/plugins/runtime/types.js +1 -0
- package/dist/plugins/runtime.js +42 -0
- package/dist/plugins/schema-validator.js +28 -0
- package/dist/plugins/services.js +55 -0
- package/dist/plugins/slots.js +68 -0
- package/dist/plugins/status.js +27 -0
- package/dist/plugins/tools.js +98 -0
- package/dist/plugins/types.js +1 -0
- package/dist/plugins/update.js +324 -0
- package/dist/polls.js +41 -0
- package/dist/process/child-process-bridge.js +34 -0
- package/dist/process/command-queue.js +104 -0
- package/dist/process/exec.js +98 -0
- package/dist/process/lanes.js +1 -0
- package/dist/process/spawn-utils.js +95 -0
- package/dist/providers/github-copilot-auth.js +124 -0
- package/dist/providers/github-copilot-models.js +35 -0
- package/dist/providers/github-copilot-token.js +95 -0
- package/dist/providers/qwen-portal-oauth.js +38 -0
- package/dist/routing/bindings.js +87 -0
- package/dist/routing/resolve-route.js +142 -0
- package/dist/routing/session-key.js +174 -0
- package/dist/runtime.js +15 -0
- package/dist/security/audit-extra.js +833 -0
- package/dist/security/audit-fs.js +133 -0
- package/dist/security/audit.js +759 -0
- package/dist/security/external-content.js +143 -0
- package/dist/security/fix.js +402 -0
- package/dist/security/windows-acl.js +162 -0
- package/dist/sessions/level-overrides.js +24 -0
- package/dist/sessions/model-overrides.js +57 -0
- package/dist/sessions/send-policy.js +69 -0
- package/dist/sessions/session-key-utils.js +51 -0
- package/dist/sessions/session-label.js +16 -0
- package/dist/sessions/transcript-events.js +16 -0
- package/dist/shared/text/reasoning-tags.js +89 -0
- package/dist/signal/accounts.js +19 -0
- package/dist/signal/reaction-level.js +4 -0
- package/dist/signal/send-reactions.js +10 -0
- package/dist/signal/send.js +7 -0
- package/dist/slack/accounts.js +84 -0
- package/dist/slack/actions.js +156 -0
- package/dist/slack/channel-migration.js +53 -0
- package/dist/slack/client.js +17 -0
- package/dist/slack/directory-live.js +122 -0
- package/dist/slack/format.js +111 -0
- package/dist/slack/http/index.js +1 -0
- package/dist/slack/http/registry.js +27 -0
- package/dist/slack/index.js +6 -0
- package/dist/slack/monitor/allow-list.js +58 -0
- package/dist/slack/monitor/auth.js +17 -0
- package/dist/slack/monitor/channel-config.js +79 -0
- package/dist/slack/monitor/commands.js +18 -0
- package/dist/slack/monitor/context.js +242 -0
- package/dist/slack/monitor/events/channels.js +116 -0
- package/dist/slack/monitor/events/members.js +74 -0
- package/dist/slack/monitor/events/messages.js +111 -0
- package/dist/slack/monitor/events/pins.js +76 -0
- package/dist/slack/monitor/events/reactions.js +54 -0
- package/dist/slack/monitor/events.js +15 -0
- package/dist/slack/monitor/media.js +93 -0
- package/dist/slack/monitor/message-handler/dispatch.js +170 -0
- package/dist/slack/monitor/message-handler/prepare.js +477 -0
- package/dist/slack/monitor/message-handler/types.js +1 -0
- package/dist/slack/monitor/message-handler.js +87 -0
- package/dist/slack/monitor/policy.js +10 -0
- package/dist/slack/monitor/provider.js +324 -0
- package/dist/slack/monitor/replies.js +107 -0
- package/dist/slack/monitor/slash.js +507 -0
- package/dist/slack/monitor/thread-resolution.js +102 -0
- package/dist/slack/monitor/types.js +1 -0
- package/dist/slack/monitor.js +4 -0
- package/dist/slack/monitor.test-helpers.js +119 -0
- package/dist/slack/probe.js +47 -0
- package/dist/slack/resolve-channels.js +88 -0
- package/dist/slack/resolve-users.js +133 -0
- package/dist/slack/scopes.js +87 -0
- package/dist/slack/send.js +132 -0
- package/dist/slack/targets.js +48 -0
- package/dist/slack/threading-tool-context.js +18 -0
- package/dist/slack/threading.js +26 -0
- package/dist/slack/token.js +10 -0
- package/dist/slack/types.js +1 -0
- package/dist/telegram/accounts.js +98 -0
- package/dist/telegram/allowed-updates.js +8 -0
- package/dist/telegram/api-logging.js +24 -0
- package/dist/telegram/audit.js +116 -0
- package/dist/telegram/bot/delivery.js +447 -0
- package/dist/telegram/bot/helpers.js +324 -0
- package/dist/telegram/bot/types.js +1 -0
- package/dist/telegram/bot-access.js +59 -0
- package/dist/telegram/bot-handlers.js +578 -0
- package/dist/telegram/bot-message-context.js +500 -0
- package/dist/telegram/bot-message-dispatch.js +282 -0
- package/dist/telegram/bot-message.js +41 -0
- package/dist/telegram/bot-native-commands.js +469 -0
- package/dist/telegram/bot-updates.js +25 -0
- package/dist/telegram/bot.js +401 -0
- package/dist/telegram/caption.js +11 -0
- package/dist/telegram/download.js +34 -0
- package/dist/telegram/draft-chunking.js +22 -0
- package/dist/telegram/draft-stream.js +101 -0
- package/dist/telegram/fetch.js +35 -0
- package/dist/telegram/format.js +66 -0
- package/dist/telegram/group-migration.js +53 -0
- package/dist/telegram/index.js +4 -0
- package/dist/telegram/inline-buttons.js +55 -0
- package/dist/telegram/monitor.js +168 -0
- package/dist/telegram/network-config.js +23 -0
- package/dist/telegram/network-errors.js +107 -0
- package/dist/telegram/pairing-store.js +77 -0
- package/dist/telegram/probe.js +70 -0
- package/dist/telegram/proxy.js +10 -0
- package/dist/telegram/reaction-level.js +46 -0
- package/dist/telegram/send.js +535 -0
- package/dist/telegram/sent-message-cache.js +53 -0
- package/dist/telegram/sticker-cache.js +202 -0
- package/dist/telegram/targets.js +46 -0
- package/dist/telegram/token.js +58 -0
- package/dist/telegram/update-offset-store.js +60 -0
- package/dist/telegram/voice.js +23 -0
- package/dist/telegram/webhook-set.js +28 -0
- package/dist/telegram/webhook.js +95 -0
- package/dist/terminal/ansi.js +61 -0
- package/dist/terminal/links.js +10 -0
- package/dist/terminal/table.js +12 -0
- package/dist/terminal/theme.js +20 -0
- package/dist/tts/tts.js +1170 -0
- package/dist/tui/tui-formatters.js +16 -0
- package/dist/utils/account-id.js +6 -0
- package/dist/utils/boolean.js +22 -0
- package/dist/utils/delivery-context.js +84 -0
- package/dist/utils/directive-tags.js +54 -0
- package/dist/utils/message-channel.js +84 -0
- package/dist/utils/provider-utils.js +28 -0
- package/dist/utils/queue-helpers.js +95 -0
- package/dist/utils/time-format.js +19 -0
- package/dist/utils/usage-format.js +46 -0
- package/dist/utils.js +256 -0
- package/dist/version.js +18 -0
- package/dist/web/accounts.js +122 -0
- package/dist/web/active-listener.js +37 -0
- package/dist/web/auth-store.js +168 -0
- package/dist/web/auto-reply/constants.js +1 -0
- package/dist/web/auto-reply/deliver-reply.js +140 -0
- package/dist/web/auto-reply/heartbeat-runner.js +264 -0
- package/dist/web/auto-reply/loggers.js +5 -0
- package/dist/web/auto-reply/mentions.js +79 -0
- package/dist/web/auto-reply/monitor/ack-reaction.js +47 -0
- package/dist/web/auto-reply/monitor/broadcast.js +66 -0
- package/dist/web/auto-reply/monitor/commands.js +21 -0
- package/dist/web/auto-reply/monitor/echo.js +36 -0
- package/dist/web/auto-reply/monitor/group-activation.js +37 -0
- package/dist/web/auto-reply/monitor/group-gating.js +98 -0
- package/dist/web/auto-reply/monitor/group-members.js +53 -0
- package/dist/web/auto-reply/monitor/last-route.js +38 -0
- package/dist/web/auto-reply/monitor/message-line.js +35 -0
- package/dist/web/auto-reply/monitor/on-message.js +128 -0
- package/dist/web/auto-reply/monitor/peer.js +10 -0
- package/dist/web/auto-reply/monitor/process-message.js +316 -0
- package/dist/web/auto-reply/monitor.js +355 -0
- package/dist/web/auto-reply/session-snapshot.js +40 -0
- package/dist/web/auto-reply/types.js +1 -0
- package/dist/web/auto-reply/util.js +47 -0
- package/dist/web/auto-reply.impl.js +5 -0
- package/dist/web/auto-reply.js +1 -0
- package/dist/web/inbound/access-control.js +147 -0
- package/dist/web/inbound/dedupe.js +13 -0
- package/dist/web/inbound/extract.js +254 -0
- package/dist/web/inbound/media.js +35 -0
- package/dist/web/inbound/monitor.js +332 -0
- package/dist/web/inbound/send-api.js +90 -0
- package/dist/web/inbound/types.js +1 -0
- package/dist/web/inbound.js +3 -0
- package/dist/web/login-qr.js +227 -0
- package/dist/web/login.js +68 -0
- package/dist/web/media.js +221 -0
- package/dist/web/outbound.js +132 -0
- package/dist/web/qr-image.js +95 -0
- package/dist/web/reconnect.js +36 -0
- package/dist/web/session.js +224 -0
- package/dist/web/vcard.js +63 -0
- package/dist/whatsapp/normalize.js +66 -0
- package/dist/wizard/clack-prompter.js +72 -0
- package/dist/wizard/onboarding.finalize.js +354 -0
- package/dist/wizard/onboarding.gateway-config.js +188 -0
- package/dist/wizard/onboarding.js +372 -0
- package/dist/wizard/onboarding.types.js +1 -0
- package/dist/wizard/prompts.js +6 -0
- package/dist/wizard/session.js +201 -0
- package/docs/CNAME +1 -0
- package/docs/_config.yml +53 -0
- package/docs/_layouts/default.html +145 -0
- package/docs/assets/markdown.css +179 -0
- package/docs/assets/openclaw-logo-text.png +0 -0
- package/docs/assets/pixel-lobster.svg +60 -0
- package/docs/assets/showcase/agents-ui.jpg +0 -0
- package/docs/assets/showcase/bambu-cli.png +0 -0
- package/docs/assets/showcase/codexmonitor.png +0 -0
- package/docs/assets/showcase/gohome-grafana.png +0 -0
- package/docs/assets/showcase/ios-testflight.jpg +0 -0
- package/docs/assets/showcase/oura-health.png +0 -0
- package/docs/assets/showcase/padel-cli.svg +11 -0
- package/docs/assets/showcase/padel-screenshot.jpg +0 -0
- package/docs/assets/showcase/papla-tts.jpg +0 -0
- package/docs/assets/showcase/pr-review-telegram.jpg +0 -0
- package/docs/assets/showcase/roborock-screenshot.jpg +0 -0
- package/docs/assets/showcase/roborock-status.svg +13 -0
- package/docs/assets/showcase/roof-camera-sky.jpg +0 -0
- package/docs/assets/showcase/snag.png +0 -0
- package/docs/assets/showcase/tesco-shop.jpg +0 -0
- package/docs/assets/showcase/wienerlinien.png +0 -0
- package/docs/assets/showcase/wine-cellar-skill.jpg +0 -0
- package/docs/assets/showcase/winix-air-purifier.jpg +0 -0
- package/docs/assets/showcase/xuezh-pronunciation.jpeg +0 -0
- package/docs/assets/terminal.css +473 -0
- package/docs/assets/theme.js +55 -0
- package/docs/automation/auth-monitoring.md +41 -0
- package/docs/automation/cron-jobs.md +286 -0
- package/docs/automation/cron-vs-heartbeat.md +274 -0
- package/docs/automation/gmail-pubsub.md +252 -0
- package/docs/automation/poll.md +63 -0
- package/docs/automation/webhook.md +155 -0
- package/docs/bedrock.md +172 -0
- package/docs/brave-search.md +40 -0
- package/docs/broadcast-groups.md +407 -0
- package/docs/channels/bluebubbles.md +233 -0
- package/docs/channels/discord.md +404 -0
- package/docs/channels/googlechat.md +220 -0
- package/docs/channels/grammy.md +27 -0
- package/docs/channels/imessage.md +261 -0
- package/docs/channels/index.md +43 -0
- package/docs/channels/line.md +183 -0
- package/docs/channels/location.md +48 -0
- package/docs/channels/matrix.md +230 -0
- package/docs/channels/mattermost.md +123 -0
- package/docs/channels/msteams.md +707 -0
- package/docs/channels/nextcloud-talk.md +120 -0
- package/docs/channels/nostr.md +235 -0
- package/docs/channels/signal.md +179 -0
- package/docs/channels/slack.md +509 -0
- package/docs/channels/telegram.md +675 -0
- package/docs/channels/tlon.md +133 -0
- package/docs/channels/troubleshooting.md +25 -0
- package/docs/channels/twitch.md +366 -0
- package/docs/channels/whatsapp.md +362 -0
- package/docs/channels/zalo.md +167 -0
- package/docs/channels/zalouser.md +123 -0
- package/docs/cli/acp.md +166 -0
- package/docs/cli/agent.md +22 -0
- package/docs/cli/agents.md +71 -0
- package/docs/cli/approvals.md +48 -0
- package/docs/cli/browser.md +104 -0
- package/docs/cli/channels.md +75 -0
- package/docs/cli/config.md +49 -0
- package/docs/cli/configure.md +30 -0
- package/docs/cli/cron.md +29 -0
- package/docs/cli/dashboard.md +16 -0
- package/docs/cli/devices.md +66 -0
- package/docs/cli/directory.md +60 -0
- package/docs/cli/dns.md +21 -0
- package/docs/cli/docs.md +15 -0
- package/docs/cli/doctor.md +38 -0
- package/docs/cli/gateway.md +187 -0
- package/docs/cli/health.md +19 -0
- package/docs/cli/hooks.md +290 -0
- package/docs/cli/index.md +918 -0
- package/docs/cli/logs.md +23 -0
- package/docs/cli/memory.md +42 -0
- package/docs/cli/message.md +228 -0
- package/docs/cli/models.md +68 -0
- package/docs/cli/node.md +108 -0
- package/docs/cli/nodes.md +68 -0
- package/docs/cli/onboard.md +26 -0
- package/docs/cli/pairing.md +20 -0
- package/docs/cli/plugins.md +60 -0
- package/docs/cli/reset.md +17 -0
- package/docs/cli/sandbox.md +150 -0
- package/docs/cli/security.md +24 -0
- package/docs/cli/sessions.md +16 -0
- package/docs/cli/setup.md +28 -0
- package/docs/cli/skills.md +25 -0
- package/docs/cli/status.md +24 -0
- package/docs/cli/system.md +55 -0
- package/docs/cli/tui.md +22 -0
- package/docs/cli/uninstall.md +17 -0
- package/docs/cli/update.md +96 -0
- package/docs/cli/voicecall.md +33 -0
- package/docs/cli/webhooks.md +23 -0
- package/docs/concepts/agent-loop.md +126 -0
- package/docs/concepts/agent-workspace.md +231 -0
- package/docs/concepts/agent.md +117 -0
- package/docs/concepts/architecture.md +122 -0
- package/docs/concepts/channel-routing.md +114 -0
- package/docs/concepts/compaction.md +49 -0
- package/docs/concepts/context.md +151 -0
- package/docs/concepts/group-messages.md +78 -0
- package/docs/concepts/groups.md +344 -0
- package/docs/concepts/markdown-formatting.md +132 -0
- package/docs/concepts/memory.md +410 -0
- package/docs/concepts/messages.md +143 -0
- package/docs/concepts/model-failover.md +139 -0
- package/docs/concepts/model-providers.md +319 -0
- package/docs/concepts/models.md +202 -0
- package/docs/concepts/multi-agent.md +354 -0
- package/docs/concepts/oauth.md +135 -0
- package/docs/concepts/presence.md +98 -0
- package/docs/concepts/queue.md +77 -0
- package/docs/concepts/retry.md +60 -0
- package/docs/concepts/session-pruning.md +104 -0
- package/docs/concepts/session-tool.md +171 -0
- package/docs/concepts/session.md +152 -0
- package/docs/concepts/sessions.md +8 -0
- package/docs/concepts/streaming.md +123 -0
- package/docs/concepts/system-prompt.md +110 -0
- package/docs/concepts/timezone.md +89 -0
- package/docs/concepts/typebox.md +281 -0
- package/docs/concepts/typing-indicators.md +59 -0
- package/docs/concepts/usage-tracking.md +30 -0
- package/docs/date-time.md +127 -0
- package/docs/debug/node-issue.md +72 -0
- package/docs/debugging.md +161 -0
- package/docs/diagnostics/flags.md +89 -0
- package/docs/docs.json +1153 -0
- package/docs/environment.md +78 -0
- package/docs/experiments/onboarding-config-protocol.md +34 -0
- package/docs/experiments/plans/cron-add-hardening.md +57 -0
- package/docs/experiments/plans/group-policy-hardening.md +38 -0
- package/docs/experiments/plans/openresponses-gateway.md +122 -0
- package/docs/experiments/proposals/model-config.md +32 -0
- package/docs/experiments/research/memory.md +210 -0
- package/docs/gateway/authentication.md +143 -0
- package/docs/gateway/background-process.md +82 -0
- package/docs/gateway/bonjour.md +162 -0
- package/docs/gateway/bridge-protocol.md +85 -0
- package/docs/gateway/cli-backends.md +221 -0
- package/docs/gateway/configuration-examples.md +573 -0
- package/docs/gateway/configuration.md +3254 -0
- package/docs/gateway/discovery.md +110 -0
- package/docs/gateway/doctor.md +252 -0
- package/docs/gateway/gateway-lock.md +28 -0
- package/docs/gateway/health.md +29 -0
- package/docs/gateway/heartbeat.md +297 -0
- package/docs/gateway/index.md +292 -0
- package/docs/gateway/local-models.md +146 -0
- package/docs/gateway/logging.md +112 -0
- package/docs/gateway/multiple-gateways.md +107 -0
- package/docs/gateway/openai-http-api.md +112 -0
- package/docs/gateway/openresponses-http-api.md +298 -0
- package/docs/gateway/pairing.md +92 -0
- package/docs/gateway/protocol.md +215 -0
- package/docs/gateway/remote-gateway-readme.md +155 -0
- package/docs/gateway/remote.md +122 -0
- package/docs/gateway/sandbox-vs-tool-policy-vs-elevated.md +120 -0
- package/docs/gateway/sandboxing.md +176 -0
- package/docs/gateway/security/formal-verification.md +160 -0
- package/docs/gateway/security/index.md +758 -0
- package/docs/gateway/tailscale.md +124 -0
- package/docs/gateway/tools-invoke-http-api.md +79 -0
- package/docs/gateway/troubleshooting.md +714 -0
- package/docs/help/faq.md +2726 -0
- package/docs/help/index.md +20 -0
- package/docs/help/troubleshooting.md +97 -0
- package/docs/hooks/soul-evil.md +68 -0
- package/docs/hooks.md +896 -0
- package/docs/images/groups-flow.svg +52 -0
- package/docs/images/mobile-ui-screenshot.png +0 -0
- package/docs/index.md +240 -0
- package/docs/install/ansible.md +205 -0
- package/docs/install/bun.md +58 -0
- package/docs/install/development-channels.md +74 -0
- package/docs/install/docker.md +447 -0
- package/docs/install/index.md +181 -0
- package/docs/install/installer.md +122 -0
- package/docs/install/migrating.md +190 -0
- package/docs/install/nix.md +95 -0
- package/docs/install/node.md +78 -0
- package/docs/install/uninstall.md +125 -0
- package/docs/install/updating.md +219 -0
- package/docs/logging.md +343 -0
- package/docs/multi-agent-sandbox-tools.md +374 -0
- package/docs/network.md +51 -0
- package/docs/nodes/audio.md +109 -0
- package/docs/nodes/camera.md +152 -0
- package/docs/nodes/images.md +61 -0
- package/docs/nodes/index.md +305 -0
- package/docs/nodes/location-command.md +95 -0
- package/docs/nodes/media-understanding.md +313 -0
- package/docs/nodes/talk.md +79 -0
- package/docs/nodes/voicewake.md +61 -0
- package/docs/northflank.mdx +53 -0
- package/docs/perplexity.md +79 -0
- package/docs/platforms/android.md +141 -0
- package/docs/platforms/digitalocean.md +243 -0
- package/docs/platforms/exe-dev.md +125 -0
- package/docs/platforms/fly.md +465 -0
- package/docs/platforms/gcp.md +498 -0
- package/docs/platforms/hetzner.md +325 -0
- package/docs/platforms/index.md +50 -0
- package/docs/platforms/ios.md +104 -0
- package/docs/platforms/linux.md +89 -0
- package/docs/platforms/mac/bundled-gateway.md +67 -0
- package/docs/platforms/mac/canvas.md +121 -0
- package/docs/platforms/mac/child-process.md +67 -0
- package/docs/platforms/mac/dev-setup.md +91 -0
- package/docs/platforms/mac/health.md +28 -0
- package/docs/platforms/mac/icon.md +26 -0
- package/docs/platforms/mac/logging.md +51 -0
- package/docs/platforms/mac/menu-bar.md +70 -0
- package/docs/platforms/mac/peekaboo.md +62 -0
- package/docs/platforms/mac/permissions.md +40 -0
- package/docs/platforms/mac/release.md +77 -0
- package/docs/platforms/mac/remote.md +71 -0
- package/docs/platforms/mac/signing.md +43 -0
- package/docs/platforms/mac/skills.md +27 -0
- package/docs/platforms/mac/voice-overlay.md +52 -0
- package/docs/platforms/mac/voicewake.md +56 -0
- package/docs/platforms/mac/webchat.md +39 -0
- package/docs/platforms/mac/xpc.md +51 -0
- package/docs/platforms/macos-vm.md +275 -0
- package/docs/platforms/macos.md +195 -0
- package/docs/platforms/oracle.md +291 -0
- package/docs/platforms/raspberry-pi.md +354 -0
- package/docs/platforms/windows.md +153 -0
- package/docs/plugin.md +638 -0
- package/docs/plugins/agent-tools.md +96 -0
- package/docs/plugins/manifest.md +67 -0
- package/docs/plugins/voice-call.md +239 -0
- package/docs/plugins/zalouser.md +75 -0
- package/docs/prose.md +131 -0
- package/docs/providers/anthropic.md +126 -0
- package/docs/providers/claude-max-api-proxy.md +145 -0
- package/docs/providers/deepgram.md +89 -0
- package/docs/providers/github-copilot.md +70 -0
- package/docs/providers/glm.md +31 -0
- package/docs/providers/index.md +60 -0
- package/docs/providers/minimax.md +183 -0
- package/docs/providers/models.md +48 -0
- package/docs/providers/moonshot.md +162 -0
- package/docs/providers/ollama.md +219 -0
- package/docs/providers/openai.md +60 -0
- package/docs/providers/opencode.md +34 -0
- package/docs/providers/openrouter.md +35 -0
- package/docs/providers/qwen.md +51 -0
- package/docs/providers/synthetic.md +97 -0
- package/docs/providers/venice.md +264 -0
- package/docs/providers/vercel-ai-gateway.md +50 -0
- package/docs/providers/xiaomi.md +62 -0
- package/docs/providers/zai.md +34 -0
- package/docs/railway.mdx +96 -0
- package/docs/refactor/clawnet.md +360 -0
- package/docs/refactor/exec-host.md +265 -0
- package/docs/refactor/outbound-session-mirroring.md +75 -0
- package/docs/refactor/plugin-sdk.md +187 -0
- package/docs/refactor/strict-config.md +81 -0
- package/docs/reference/AGENTS.default.md +113 -0
- package/docs/reference/RELEASING.md +107 -0
- package/docs/reference/api-usage-costs.md +116 -0
- package/docs/reference/device-models.md +46 -0
- package/docs/reference/rpc.md +35 -0
- package/docs/reference/session-management-compaction.md +273 -0
- package/docs/reference/templates/AGENTS.dev.md +78 -0
- package/docs/reference/templates/AGENTS.md +196 -0
- package/docs/reference/templates/BOOT.md +9 -0
- package/docs/reference/templates/BOOTSTRAP.md +55 -0
- package/docs/reference/templates/HEARTBEAT.md +9 -0
- package/docs/reference/templates/IDENTITY.dev.md +40 -0
- package/docs/reference/templates/IDENTITY.md +27 -0
- package/docs/reference/templates/SOUL.dev.md +74 -0
- package/docs/reference/templates/SOUL.md +41 -0
- package/docs/reference/templates/TOOLS.dev.md +21 -0
- package/docs/reference/templates/TOOLS.md +41 -0
- package/docs/reference/templates/USER.dev.md +17 -0
- package/docs/reference/templates/USER.md +22 -0
- package/docs/reference/test.md +46 -0
- package/docs/reference/transcript-hygiene.md +95 -0
- package/docs/render.mdx +158 -0
- package/docs/scripts.md +31 -0
- package/docs/security/formal-verification.md +160 -0
- package/docs/start/getting-started.md +204 -0
- package/docs/start/hubs.md +182 -0
- package/docs/start/lore.md +169 -0
- package/docs/start/onboarding.md +103 -0
- package/docs/start/openclaw.md +235 -0
- package/docs/start/pairing.md +83 -0
- package/docs/start/setup.md +144 -0
- package/docs/start/showcase.md +416 -0
- package/docs/start/wizard.md +321 -0
- package/docs/testing.md +349 -0
- package/docs/token-use.md +110 -0
- package/docs/tools/agent-send.md +51 -0
- package/docs/tools/apply-patch.md +49 -0
- package/docs/tools/browser-linux-troubleshooting.md +129 -0
- package/docs/tools/browser-login.md +67 -0
- package/docs/tools/browser.md +536 -0
- package/docs/tools/chrome-extension.md +168 -0
- package/docs/tools/clawdhub.md +201 -0
- package/docs/tools/creating-skills.md +41 -0
- package/docs/tools/elevated.md +49 -0
- package/docs/tools/exec-approvals.md +226 -0
- package/docs/tools/exec.md +167 -0
- package/docs/tools/firecrawl.md +58 -0
- package/docs/tools/index.md +450 -0
- package/docs/tools/llm-task.md +114 -0
- package/docs/tools/lobster.md +338 -0
- package/docs/tools/reactions.md +20 -0
- package/docs/tools/skills-config.md +75 -0
- package/docs/tools/skills.md +267 -0
- package/docs/tools/slash-commands.md +190 -0
- package/docs/tools/subagents.md +137 -0
- package/docs/tools/thinking.md +62 -0
- package/docs/tools/web.md +257 -0
- package/docs/tts.md +389 -0
- package/docs/tui.md +134 -0
- package/docs/vps.md +41 -0
- package/docs/web/control-ui.md +163 -0
- package/docs/web/dashboard.md +42 -0
- package/docs/web/index.md +110 -0
- package/docs/web/webchat.md +41 -0
- package/docs/whatsapp-openclaw.jpg +0 -0
- package/exod.mjs +14 -0
- package/extensions/bluebubbles/index.ts +20 -0
- package/extensions/bluebubbles/openclaw.plugin.json +11 -0
- package/extensions/bluebubbles/package.json +33 -0
- package/extensions/bluebubbles/src/accounts.ts +80 -0
- package/extensions/bluebubbles/src/actions.test.ts +651 -0
- package/extensions/bluebubbles/src/actions.ts +403 -0
- package/extensions/bluebubbles/src/attachments.test.ts +346 -0
- package/extensions/bluebubbles/src/attachments.ts +282 -0
- package/extensions/bluebubbles/src/channel.ts +399 -0
- package/extensions/bluebubbles/src/chat.test.ts +462 -0
- package/extensions/bluebubbles/src/chat.ts +354 -0
- package/extensions/bluebubbles/src/config-schema.ts +51 -0
- package/extensions/bluebubbles/src/media-send.ts +168 -0
- package/extensions/bluebubbles/src/monitor.test.ts +2146 -0
- package/extensions/bluebubbles/src/monitor.ts +2276 -0
- package/extensions/bluebubbles/src/onboarding.ts +340 -0
- package/extensions/bluebubbles/src/probe.ts +127 -0
- package/extensions/bluebubbles/src/reactions.test.ts +393 -0
- package/extensions/bluebubbles/src/reactions.ts +183 -0
- package/extensions/bluebubbles/src/runtime.ts +14 -0
- package/extensions/bluebubbles/src/send.test.ts +809 -0
- package/extensions/bluebubbles/src/send.ts +418 -0
- package/extensions/bluebubbles/src/targets.test.ts +184 -0
- package/extensions/bluebubbles/src/targets.ts +323 -0
- package/extensions/bluebubbles/src/types.ts +127 -0
- package/extensions/copilot-proxy/README.md +24 -0
- package/extensions/copilot-proxy/index.ts +142 -0
- package/extensions/copilot-proxy/openclaw.plugin.json +11 -0
- package/extensions/copilot-proxy/package.json +11 -0
- package/extensions/diagnostics-otel/index.ts +16 -0
- package/extensions/diagnostics-otel/openclaw.plugin.json +8 -0
- package/extensions/diagnostics-otel/package.json +24 -0
- package/extensions/diagnostics-otel/src/service.test.ts +220 -0
- package/extensions/diagnostics-otel/src/service.ts +566 -0
- package/extensions/discord/index.ts +18 -0
- package/extensions/discord/openclaw.plugin.json +11 -0
- package/extensions/discord/package.json +11 -0
- package/extensions/discord/src/channel.ts +422 -0
- package/extensions/discord/src/runtime.ts +14 -0
- package/extensions/google-antigravity-auth/README.md +24 -0
- package/extensions/google-antigravity-auth/index.ts +437 -0
- package/extensions/google-antigravity-auth/openclaw.plugin.json +11 -0
- package/extensions/google-antigravity-auth/package.json +11 -0
- package/extensions/google-gemini-cli-auth/README.md +35 -0
- package/extensions/google-gemini-cli-auth/index.ts +91 -0
- package/extensions/google-gemini-cli-auth/oauth.test.ts +228 -0
- package/extensions/google-gemini-cli-auth/oauth.ts +580 -0
- package/extensions/google-gemini-cli-auth/openclaw.plugin.json +11 -0
- package/extensions/google-gemini-cli-auth/package.json +11 -0
- package/extensions/googlechat/index.ts +20 -0
- package/extensions/googlechat/openclaw.plugin.json +11 -0
- package/extensions/googlechat/package.json +39 -0
- package/extensions/googlechat/src/accounts.ts +133 -0
- package/extensions/googlechat/src/actions.ts +162 -0
- package/extensions/googlechat/src/api.test.ts +62 -0
- package/extensions/googlechat/src/api.ts +259 -0
- package/extensions/googlechat/src/auth.ts +113 -0
- package/extensions/googlechat/src/channel.ts +580 -0
- package/extensions/googlechat/src/monitor.test.ts +27 -0
- package/extensions/googlechat/src/monitor.ts +900 -0
- package/extensions/googlechat/src/onboarding.ts +278 -0
- package/extensions/googlechat/src/runtime.ts +14 -0
- package/extensions/googlechat/src/targets.test.ts +35 -0
- package/extensions/googlechat/src/targets.ts +55 -0
- package/extensions/googlechat/src/types.config.ts +3 -0
- package/extensions/googlechat/src/types.ts +73 -0
- package/extensions/imessage/index.ts +18 -0
- package/extensions/imessage/openclaw.plugin.json +11 -0
- package/extensions/imessage/package.json +11 -0
- package/extensions/imessage/src/channel.ts +294 -0
- package/extensions/imessage/src/runtime.ts +14 -0
- package/extensions/line/index.ts +20 -0
- package/extensions/line/openclaw.plugin.json +11 -0
- package/extensions/line/package.json +29 -0
- package/extensions/line/src/card-command.ts +338 -0
- package/extensions/line/src/channel.logout.test.ts +96 -0
- package/extensions/line/src/channel.sendPayload.test.ts +308 -0
- package/extensions/line/src/channel.ts +773 -0
- package/extensions/line/src/runtime.ts +14 -0
- package/extensions/llm-task/README.md +97 -0
- package/extensions/llm-task/index.ts +7 -0
- package/extensions/llm-task/openclaw.plugin.json +21 -0
- package/extensions/llm-task/package.json +11 -0
- package/extensions/llm-task/src/llm-task-tool.test.ts +117 -0
- package/extensions/llm-task/src/llm-task-tool.ts +218 -0
- package/extensions/lobster/README.md +80 -0
- package/extensions/lobster/SKILL.md +90 -0
- package/extensions/lobster/index.ts +13 -0
- package/extensions/lobster/openclaw.plugin.json +10 -0
- package/extensions/lobster/package.json +11 -0
- package/extensions/lobster/src/lobster-tool.test.ts +143 -0
- package/extensions/lobster/src/lobster-tool.ts +240 -0
- package/extensions/matrix/CHANGELOG.md +59 -0
- package/extensions/matrix/index.ts +18 -0
- package/extensions/matrix/openclaw.plugin.json +11 -0
- package/extensions/matrix/package.json +36 -0
- package/extensions/matrix/src/actions.ts +185 -0
- package/extensions/matrix/src/channel.directory.test.ts +56 -0
- package/extensions/matrix/src/channel.ts +417 -0
- package/extensions/matrix/src/config-schema.ts +62 -0
- package/extensions/matrix/src/directory-live.ts +175 -0
- package/extensions/matrix/src/group-mentions.ts +61 -0
- package/extensions/matrix/src/matrix/accounts.test.ts +83 -0
- package/extensions/matrix/src/matrix/accounts.ts +63 -0
- package/extensions/matrix/src/matrix/actions/client.ts +53 -0
- package/extensions/matrix/src/matrix/actions/messages.ts +120 -0
- package/extensions/matrix/src/matrix/actions/pins.ts +70 -0
- package/extensions/matrix/src/matrix/actions/reactions.ts +84 -0
- package/extensions/matrix/src/matrix/actions/room.ts +88 -0
- package/extensions/matrix/src/matrix/actions/summary.ts +77 -0
- package/extensions/matrix/src/matrix/actions/types.ts +84 -0
- package/extensions/matrix/src/matrix/actions.ts +15 -0
- package/extensions/matrix/src/matrix/active-client.ts +11 -0
- package/extensions/matrix/src/matrix/client/config.ts +165 -0
- package/extensions/matrix/src/matrix/client/create-client.ts +127 -0
- package/extensions/matrix/src/matrix/client/logging.ts +35 -0
- package/extensions/matrix/src/matrix/client/runtime.ts +4 -0
- package/extensions/matrix/src/matrix/client/shared.ts +169 -0
- package/extensions/matrix/src/matrix/client/storage.ts +131 -0
- package/extensions/matrix/src/matrix/client/types.ts +34 -0
- package/extensions/matrix/src/matrix/client.test.ts +57 -0
- package/extensions/matrix/src/matrix/client.ts +9 -0
- package/extensions/matrix/src/matrix/credentials.ts +103 -0
- package/extensions/matrix/src/matrix/deps.ts +57 -0
- package/extensions/matrix/src/matrix/format.test.ts +34 -0
- package/extensions/matrix/src/matrix/format.ts +22 -0
- package/extensions/matrix/src/matrix/index.ts +11 -0
- package/extensions/matrix/src/matrix/monitor/allowlist.ts +58 -0
- package/extensions/matrix/src/matrix/monitor/auto-join.ts +68 -0
- package/extensions/matrix/src/matrix/monitor/direct.ts +105 -0
- package/extensions/matrix/src/matrix/monitor/events.ts +103 -0
- package/extensions/matrix/src/matrix/monitor/handler.ts +645 -0
- package/extensions/matrix/src/matrix/monitor/index.ts +279 -0
- package/extensions/matrix/src/matrix/monitor/location.ts +83 -0
- package/extensions/matrix/src/matrix/monitor/media.test.ts +103 -0
- package/extensions/matrix/src/matrix/monitor/media.ts +113 -0
- package/extensions/matrix/src/matrix/monitor/mentions.ts +31 -0
- package/extensions/matrix/src/matrix/monitor/replies.ts +96 -0
- package/extensions/matrix/src/matrix/monitor/room-info.ts +58 -0
- package/extensions/matrix/src/matrix/monitor/rooms.ts +43 -0
- package/extensions/matrix/src/matrix/monitor/threads.ts +64 -0
- package/extensions/matrix/src/matrix/monitor/types.ts +39 -0
- package/extensions/matrix/src/matrix/poll-types.test.ts +22 -0
- package/extensions/matrix/src/matrix/poll-types.ts +157 -0
- package/extensions/matrix/src/matrix/probe.ts +70 -0
- package/extensions/matrix/src/matrix/send/client.ts +63 -0
- package/extensions/matrix/src/matrix/send/formatting.ts +92 -0
- package/extensions/matrix/src/matrix/send/media.ts +220 -0
- package/extensions/matrix/src/matrix/send/targets.test.ts +102 -0
- package/extensions/matrix/src/matrix/send/targets.ts +144 -0
- package/extensions/matrix/src/matrix/send/types.ts +109 -0
- package/extensions/matrix/src/matrix/send.test.ts +172 -0
- package/extensions/matrix/src/matrix/send.ts +255 -0
- package/extensions/matrix/src/onboarding.ts +432 -0
- package/extensions/matrix/src/outbound.ts +53 -0
- package/extensions/matrix/src/resolve-targets.ts +89 -0
- package/extensions/matrix/src/runtime.ts +14 -0
- package/extensions/matrix/src/tool-actions.ts +160 -0
- package/extensions/matrix/src/types.ts +95 -0
- package/extensions/mattermost/index.ts +18 -0
- package/extensions/mattermost/openclaw.plugin.json +11 -0
- package/extensions/mattermost/package.json +25 -0
- package/extensions/mattermost/src/channel.test.ts +43 -0
- package/extensions/mattermost/src/channel.ts +339 -0
- package/extensions/mattermost/src/config-schema.ts +56 -0
- package/extensions/mattermost/src/group-mentions.ts +14 -0
- package/extensions/mattermost/src/mattermost/accounts.ts +115 -0
- package/extensions/mattermost/src/mattermost/client.ts +208 -0
- package/extensions/mattermost/src/mattermost/index.ts +9 -0
- package/extensions/mattermost/src/mattermost/monitor-helpers.ts +150 -0
- package/extensions/mattermost/src/mattermost/monitor.ts +921 -0
- package/extensions/mattermost/src/mattermost/probe.ts +70 -0
- package/extensions/mattermost/src/mattermost/send.ts +217 -0
- package/extensions/mattermost/src/normalize.ts +38 -0
- package/extensions/mattermost/src/onboarding-helpers.ts +42 -0
- package/extensions/mattermost/src/onboarding.ts +187 -0
- package/extensions/mattermost/src/runtime.ts +14 -0
- package/extensions/mattermost/src/types.ts +50 -0
- package/extensions/memory-core/index.ts +36 -0
- package/extensions/memory-core/openclaw.plugin.json +9 -0
- package/extensions/memory-core/package.json +17 -0
- package/extensions/memory-lancedb/config.ts +138 -0
- package/extensions/memory-lancedb/index.test.ts +284 -0
- package/extensions/memory-lancedb/index.ts +590 -0
- package/extensions/memory-lancedb/openclaw.plugin.json +67 -0
- package/extensions/memory-lancedb/package.json +16 -0
- package/extensions/msteams/CHANGELOG.md +56 -0
- package/extensions/msteams/index.ts +18 -0
- package/extensions/msteams/openclaw.plugin.json +11 -0
- package/extensions/msteams/package.json +36 -0
- package/extensions/msteams/src/attachments/download.ts +206 -0
- package/extensions/msteams/src/attachments/graph.ts +319 -0
- package/extensions/msteams/src/attachments/html.ts +76 -0
- package/extensions/msteams/src/attachments/payload.ts +22 -0
- package/extensions/msteams/src/attachments/shared.ts +235 -0
- package/extensions/msteams/src/attachments/types.ts +37 -0
- package/extensions/msteams/src/attachments.test.ts +424 -0
- package/extensions/msteams/src/attachments.ts +18 -0
- package/extensions/msteams/src/channel.directory.test.ts +46 -0
- package/extensions/msteams/src/channel.ts +436 -0
- package/extensions/msteams/src/conversation-store-fs.test.ts +89 -0
- package/extensions/msteams/src/conversation-store-fs.ts +155 -0
- package/extensions/msteams/src/conversation-store-memory.ts +45 -0
- package/extensions/msteams/src/conversation-store.ts +41 -0
- package/extensions/msteams/src/directory-live.ts +179 -0
- package/extensions/msteams/src/errors.test.ts +46 -0
- package/extensions/msteams/src/errors.ts +158 -0
- package/extensions/msteams/src/file-consent-helpers.test.ts +234 -0
- package/extensions/msteams/src/file-consent-helpers.ts +73 -0
- package/extensions/msteams/src/file-consent.ts +122 -0
- package/extensions/msteams/src/graph-chat.ts +52 -0
- package/extensions/msteams/src/graph-upload.ts +445 -0
- package/extensions/msteams/src/inbound.test.ts +67 -0
- package/extensions/msteams/src/inbound.ts +38 -0
- package/extensions/msteams/src/index.ts +4 -0
- package/extensions/msteams/src/media-helpers.test.ts +186 -0
- package/extensions/msteams/src/media-helpers.ts +77 -0
- package/extensions/msteams/src/messenger.test.ts +245 -0
- package/extensions/msteams/src/messenger.ts +460 -0
- package/extensions/msteams/src/monitor-handler/inbound-media.ts +123 -0
- package/extensions/msteams/src/monitor-handler/message-handler.ts +629 -0
- package/extensions/msteams/src/monitor-handler.ts +166 -0
- package/extensions/msteams/src/monitor-types.ts +5 -0
- package/extensions/msteams/src/monitor.ts +290 -0
- package/extensions/msteams/src/onboarding.ts +432 -0
- package/extensions/msteams/src/outbound.ts +47 -0
- package/extensions/msteams/src/pending-uploads.ts +87 -0
- package/extensions/msteams/src/policy.test.ts +210 -0
- package/extensions/msteams/src/policy.ts +247 -0
- package/extensions/msteams/src/polls-store-memory.ts +30 -0
- package/extensions/msteams/src/polls-store.test.ts +40 -0
- package/extensions/msteams/src/polls.test.ts +73 -0
- package/extensions/msteams/src/polls.ts +300 -0
- package/extensions/msteams/src/probe.test.ts +57 -0
- package/extensions/msteams/src/probe.ts +99 -0
- package/extensions/msteams/src/reply-dispatcher.ts +128 -0
- package/extensions/msteams/src/resolve-allowlist.ts +277 -0
- package/extensions/msteams/src/runtime.ts +14 -0
- package/extensions/msteams/src/sdk-types.ts +19 -0
- package/extensions/msteams/src/sdk.ts +33 -0
- package/extensions/msteams/src/send-context.ts +156 -0
- package/extensions/msteams/src/send.ts +489 -0
- package/extensions/msteams/src/sent-message-cache.test.ts +16 -0
- package/extensions/msteams/src/sent-message-cache.ts +41 -0
- package/extensions/msteams/src/storage.ts +22 -0
- package/extensions/msteams/src/store-fs.ts +80 -0
- package/extensions/msteams/src/token.ts +19 -0
- package/extensions/nextcloud-talk/index.ts +18 -0
- package/extensions/nextcloud-talk/openclaw.plugin.json +11 -0
- package/extensions/nextcloud-talk/package.json +30 -0
- package/extensions/nextcloud-talk/src/accounts.ts +154 -0
- package/extensions/nextcloud-talk/src/channel.ts +404 -0
- package/extensions/nextcloud-talk/src/config-schema.ts +78 -0
- package/extensions/nextcloud-talk/src/format.ts +79 -0
- package/extensions/nextcloud-talk/src/inbound.ts +336 -0
- package/extensions/nextcloud-talk/src/monitor.ts +246 -0
- package/extensions/nextcloud-talk/src/normalize.ts +31 -0
- package/extensions/nextcloud-talk/src/onboarding.ts +341 -0
- package/extensions/nextcloud-talk/src/policy.ts +175 -0
- package/extensions/nextcloud-talk/src/room-info.ts +111 -0
- package/extensions/nextcloud-talk/src/runtime.ts +14 -0
- package/extensions/nextcloud-talk/src/send.ts +206 -0
- package/extensions/nextcloud-talk/src/signature.ts +67 -0
- package/extensions/nextcloud-talk/src/types.ts +179 -0
- package/extensions/nostr/CHANGELOG.md +51 -0
- package/extensions/nostr/README.md +136 -0
- package/extensions/nostr/index.ts +69 -0
- package/extensions/nostr/openclaw.plugin.json +11 -0
- package/extensions/nostr/package.json +31 -0
- package/extensions/nostr/src/channel.test.ts +141 -0
- package/extensions/nostr/src/channel.ts +342 -0
- package/extensions/nostr/src/config-schema.ts +90 -0
- package/extensions/nostr/src/metrics.ts +464 -0
- package/extensions/nostr/src/nostr-bus.fuzz.test.ts +544 -0
- package/extensions/nostr/src/nostr-bus.integration.test.ts +452 -0
- package/extensions/nostr/src/nostr-bus.test.ts +199 -0
- package/extensions/nostr/src/nostr-bus.ts +741 -0
- package/extensions/nostr/src/nostr-profile-http.test.ts +378 -0
- package/extensions/nostr/src/nostr-profile-http.ts +500 -0
- package/extensions/nostr/src/nostr-profile-import.test.ts +120 -0
- package/extensions/nostr/src/nostr-profile-import.ts +259 -0
- package/extensions/nostr/src/nostr-profile.fuzz.test.ts +479 -0
- package/extensions/nostr/src/nostr-profile.test.ts +410 -0
- package/extensions/nostr/src/nostr-profile.ts +242 -0
- package/extensions/nostr/src/nostr-state-store.test.ts +129 -0
- package/extensions/nostr/src/nostr-state-store.ts +226 -0
- package/extensions/nostr/src/runtime.ts +14 -0
- package/extensions/nostr/src/seen-tracker.ts +271 -0
- package/extensions/nostr/src/types.test.ts +161 -0
- package/extensions/nostr/src/types.ts +99 -0
- package/extensions/nostr/test/setup.ts +5 -0
- package/extensions/open-prose/README.md +25 -0
- package/extensions/open-prose/index.ts +5 -0
- package/extensions/open-prose/openclaw.plugin.json +11 -0
- package/extensions/open-prose/package.json +11 -0
- package/extensions/open-prose/skills/prose/LICENSE +21 -0
- package/extensions/open-prose/skills/prose/SKILL.md +318 -0
- package/extensions/open-prose/skills/prose/alt-borges.md +141 -0
- package/extensions/open-prose/skills/prose/alts/arabian-nights.md +358 -0
- package/extensions/open-prose/skills/prose/alts/borges.md +360 -0
- package/extensions/open-prose/skills/prose/alts/folk.md +322 -0
- package/extensions/open-prose/skills/prose/alts/homer.md +346 -0
- package/extensions/open-prose/skills/prose/alts/kafka.md +373 -0
- package/extensions/open-prose/skills/prose/compiler.md +2967 -0
- package/extensions/open-prose/skills/prose/examples/01-hello-world.prose +4 -0
- package/extensions/open-prose/skills/prose/examples/02-research-and-summarize.prose +6 -0
- package/extensions/open-prose/skills/prose/examples/03-code-review.prose +17 -0
- package/extensions/open-prose/skills/prose/examples/04-write-and-refine.prose +14 -0
- package/extensions/open-prose/skills/prose/examples/05-debug-issue.prose +20 -0
- package/extensions/open-prose/skills/prose/examples/06-explain-codebase.prose +17 -0
- package/extensions/open-prose/skills/prose/examples/07-refactor.prose +20 -0
- package/extensions/open-prose/skills/prose/examples/08-blog-post.prose +20 -0
- package/extensions/open-prose/skills/prose/examples/09-research-with-agents.prose +25 -0
- package/extensions/open-prose/skills/prose/examples/10-code-review-agents.prose +32 -0
- package/extensions/open-prose/skills/prose/examples/11-skills-and-imports.prose +27 -0
- package/extensions/open-prose/skills/prose/examples/12-secure-agent-permissions.prose +43 -0
- package/extensions/open-prose/skills/prose/examples/13-variables-and-context.prose +51 -0
- package/extensions/open-prose/skills/prose/examples/14-composition-blocks.prose +48 -0
- package/extensions/open-prose/skills/prose/examples/15-inline-sequences.prose +23 -0
- package/extensions/open-prose/skills/prose/examples/16-parallel-reviews.prose +19 -0
- package/extensions/open-prose/skills/prose/examples/17-parallel-research.prose +19 -0
- package/extensions/open-prose/skills/prose/examples/18-mixed-parallel-sequential.prose +36 -0
- package/extensions/open-prose/skills/prose/examples/19-advanced-parallel.prose +71 -0
- package/extensions/open-prose/skills/prose/examples/20-fixed-loops.prose +20 -0
- package/extensions/open-prose/skills/prose/examples/21-pipeline-operations.prose +35 -0
- package/extensions/open-prose/skills/prose/examples/22-error-handling.prose +51 -0
- package/extensions/open-prose/skills/prose/examples/23-retry-with-backoff.prose +63 -0
- package/extensions/open-prose/skills/prose/examples/24-choice-blocks.prose +86 -0
- package/extensions/open-prose/skills/prose/examples/25-conditionals.prose +114 -0
- package/extensions/open-prose/skills/prose/examples/26-parameterized-blocks.prose +100 -0
- package/extensions/open-prose/skills/prose/examples/27-string-interpolation.prose +105 -0
- package/extensions/open-prose/skills/prose/examples/28-automated-pr-review.prose +37 -0
- package/extensions/open-prose/skills/prose/examples/28-gas-town.prose +1572 -0
- package/extensions/open-prose/skills/prose/examples/29-captains-chair.prose +218 -0
- package/extensions/open-prose/skills/prose/examples/30-captains-chair-simple.prose +42 -0
- package/extensions/open-prose/skills/prose/examples/31-captains-chair-with-memory.prose +145 -0
- package/extensions/open-prose/skills/prose/examples/33-pr-review-autofix.prose +168 -0
- package/extensions/open-prose/skills/prose/examples/34-content-pipeline.prose +204 -0
- package/extensions/open-prose/skills/prose/examples/35-feature-factory.prose +296 -0
- package/extensions/open-prose/skills/prose/examples/36-bug-hunter.prose +237 -0
- package/extensions/open-prose/skills/prose/examples/37-the-forge.prose +1474 -0
- package/extensions/open-prose/skills/prose/examples/38-skill-scan.prose +455 -0
- package/extensions/open-prose/skills/prose/examples/39-architect-by-simulation.prose +277 -0
- package/extensions/open-prose/skills/prose/examples/40-rlm-self-refine.prose +32 -0
- package/extensions/open-prose/skills/prose/examples/41-rlm-divide-conquer.prose +38 -0
- package/extensions/open-prose/skills/prose/examples/42-rlm-filter-recurse.prose +46 -0
- package/extensions/open-prose/skills/prose/examples/43-rlm-pairwise.prose +50 -0
- package/extensions/open-prose/skills/prose/examples/44-run-endpoint-ux-test.prose +261 -0
- package/extensions/open-prose/skills/prose/examples/45-plugin-release.prose +159 -0
- package/extensions/open-prose/skills/prose/examples/45-run-endpoint-ux-test-with-remediation.prose +637 -0
- package/extensions/open-prose/skills/prose/examples/46-run-endpoint-ux-test-fast.prose +148 -0
- package/extensions/open-prose/skills/prose/examples/46-workflow-crystallizer.prose +225 -0
- package/extensions/open-prose/skills/prose/examples/47-language-self-improvement.prose +356 -0
- package/extensions/open-prose/skills/prose/examples/48-habit-miner.prose +445 -0
- package/extensions/open-prose/skills/prose/examples/49-prose-run-retrospective.prose +210 -0
- package/extensions/open-prose/skills/prose/examples/README.md +391 -0
- package/extensions/open-prose/skills/prose/examples/roadmap/README.md +22 -0
- package/extensions/open-prose/skills/prose/examples/roadmap/iterative-refinement.prose +20 -0
- package/extensions/open-prose/skills/prose/examples/roadmap/parallel-review.prose +18 -0
- package/extensions/open-prose/skills/prose/examples/roadmap/simple-pipeline.prose +17 -0
- package/extensions/open-prose/skills/prose/examples/roadmap/syntax/open-prose-syntax.prose +223 -0
- package/extensions/open-prose/skills/prose/guidance/antipatterns.md +951 -0
- package/extensions/open-prose/skills/prose/guidance/patterns.md +700 -0
- package/extensions/open-prose/skills/prose/guidance/system-prompt.md +180 -0
- package/extensions/open-prose/skills/prose/help.md +143 -0
- package/extensions/open-prose/skills/prose/lib/README.md +105 -0
- package/extensions/open-prose/skills/prose/lib/calibrator.prose +215 -0
- package/extensions/open-prose/skills/prose/lib/cost-analyzer.prose +174 -0
- package/extensions/open-prose/skills/prose/lib/error-forensics.prose +250 -0
- package/extensions/open-prose/skills/prose/lib/inspector.prose +196 -0
- package/extensions/open-prose/skills/prose/lib/profiler.prose +460 -0
- package/extensions/open-prose/skills/prose/lib/program-improver.prose +275 -0
- package/extensions/open-prose/skills/prose/lib/project-memory.prose +118 -0
- package/extensions/open-prose/skills/prose/lib/user-memory.prose +93 -0
- package/extensions/open-prose/skills/prose/lib/vm-improver.prose +243 -0
- package/extensions/open-prose/skills/prose/primitives/session.md +587 -0
- package/extensions/open-prose/skills/prose/prose.md +1235 -0
- package/extensions/open-prose/skills/prose/state/filesystem.md +478 -0
- package/extensions/open-prose/skills/prose/state/in-context.md +380 -0
- package/extensions/open-prose/skills/prose/state/postgres.md +875 -0
- package/extensions/open-prose/skills/prose/state/sqlite.md +572 -0
- package/extensions/qwen-portal-auth/README.md +24 -0
- package/extensions/qwen-portal-auth/index.ts +127 -0
- package/extensions/qwen-portal-auth/oauth.ts +190 -0
- package/extensions/qwen-portal-auth/openclaw.plugin.json +11 -0
- package/extensions/signal/index.ts +18 -0
- package/extensions/signal/openclaw.plugin.json +11 -0
- package/extensions/signal/package.json +11 -0
- package/extensions/signal/src/channel.ts +312 -0
- package/extensions/signal/src/runtime.ts +14 -0
- package/extensions/slack/index.ts +18 -0
- package/extensions/slack/openclaw.plugin.json +11 -0
- package/extensions/slack/package.json +11 -0
- package/extensions/slack/src/channel.ts +577 -0
- package/extensions/slack/src/runtime.ts +14 -0
- package/extensions/telegram/index.ts +18 -0
- package/extensions/telegram/openclaw.plugin.json +11 -0
- package/extensions/telegram/package.json +11 -0
- package/extensions/telegram/src/channel.ts +478 -0
- package/extensions/telegram/src/runtime.ts +14 -0
- package/extensions/tlon/README.md +5 -0
- package/extensions/tlon/index.ts +18 -0
- package/extensions/tlon/openclaw.plugin.json +11 -0
- package/extensions/tlon/package.json +30 -0
- package/extensions/tlon/src/channel.ts +379 -0
- package/extensions/tlon/src/config-schema.test.ts +32 -0
- package/extensions/tlon/src/config-schema.ts +43 -0
- package/extensions/tlon/src/monitor/discovery.ts +71 -0
- package/extensions/tlon/src/monitor/history.ts +87 -0
- package/extensions/tlon/src/monitor/index.ts +501 -0
- package/extensions/tlon/src/monitor/processed-messages.test.ts +24 -0
- package/extensions/tlon/src/monitor/processed-messages.ts +38 -0
- package/extensions/tlon/src/monitor/utils.ts +83 -0
- package/extensions/tlon/src/onboarding.ts +213 -0
- package/extensions/tlon/src/runtime.ts +14 -0
- package/extensions/tlon/src/targets.ts +79 -0
- package/extensions/tlon/src/types.ts +85 -0
- package/extensions/tlon/src/urbit/auth.ts +18 -0
- package/extensions/tlon/src/urbit/http-api.ts +36 -0
- package/extensions/tlon/src/urbit/send.test.ts +38 -0
- package/extensions/tlon/src/urbit/send.ts +127 -0
- package/extensions/tlon/src/urbit/sse-client.test.ts +41 -0
- package/extensions/tlon/src/urbit/sse-client.ts +367 -0
- package/extensions/twitch/CHANGELOG.md +26 -0
- package/extensions/twitch/README.md +89 -0
- package/extensions/twitch/index.ts +20 -0
- package/extensions/twitch/openclaw.plugin.json +9 -0
- package/extensions/twitch/package.json +20 -0
- package/extensions/twitch/src/access-control.test.ts +489 -0
- package/extensions/twitch/src/access-control.ts +154 -0
- package/extensions/twitch/src/actions.ts +173 -0
- package/extensions/twitch/src/client-manager-registry.ts +115 -0
- package/extensions/twitch/src/config-schema.ts +82 -0
- package/extensions/twitch/src/config.test.ts +88 -0
- package/extensions/twitch/src/config.ts +116 -0
- package/extensions/twitch/src/monitor.ts +257 -0
- package/extensions/twitch/src/onboarding.test.ts +311 -0
- package/extensions/twitch/src/onboarding.ts +411 -0
- package/extensions/twitch/src/outbound.test.ts +373 -0
- package/extensions/twitch/src/outbound.ts +186 -0
- package/extensions/twitch/src/plugin.test.ts +39 -0
- package/extensions/twitch/src/plugin.ts +274 -0
- package/extensions/twitch/src/probe.test.ts +198 -0
- package/extensions/twitch/src/probe.ts +118 -0
- package/extensions/twitch/src/resolver.ts +137 -0
- package/extensions/twitch/src/runtime.ts +14 -0
- package/extensions/twitch/src/send.test.ts +289 -0
- package/extensions/twitch/src/send.ts +136 -0
- package/extensions/twitch/src/status.test.ts +270 -0
- package/extensions/twitch/src/status.ts +176 -0
- package/extensions/twitch/src/token.test.ts +171 -0
- package/extensions/twitch/src/token.ts +87 -0
- package/extensions/twitch/src/twitch-client.test.ts +574 -0
- package/extensions/twitch/src/twitch-client.ts +277 -0
- package/extensions/twitch/src/types.ts +141 -0
- package/extensions/twitch/src/utils/markdown.ts +92 -0
- package/extensions/twitch/src/utils/twitch.ts +78 -0
- package/extensions/twitch/test/setup.ts +7 -0
- package/extensions/voice-call/CHANGELOG.md +78 -0
- package/extensions/voice-call/README.md +135 -0
- package/extensions/voice-call/index.ts +497 -0
- package/extensions/voice-call/openclaw.plugin.json +601 -0
- package/extensions/voice-call/package.json +16 -0
- package/extensions/voice-call/src/cli.ts +312 -0
- package/extensions/voice-call/src/config.test.ts +204 -0
- package/extensions/voice-call/src/config.ts +502 -0
- package/extensions/voice-call/src/core-bridge.ts +198 -0
- package/extensions/voice-call/src/manager/context.ts +21 -0
- package/extensions/voice-call/src/manager/events.ts +177 -0
- package/extensions/voice-call/src/manager/lookup.ts +33 -0
- package/extensions/voice-call/src/manager/outbound.ts +248 -0
- package/extensions/voice-call/src/manager/state.ts +50 -0
- package/extensions/voice-call/src/manager/store.ts +88 -0
- package/extensions/voice-call/src/manager/timers.ts +86 -0
- package/extensions/voice-call/src/manager/twiml.ts +9 -0
- package/extensions/voice-call/src/manager.test.ts +108 -0
- package/extensions/voice-call/src/manager.ts +888 -0
- package/extensions/voice-call/src/media-stream.test.ts +97 -0
- package/extensions/voice-call/src/media-stream.ts +393 -0
- package/extensions/voice-call/src/providers/base.ts +67 -0
- package/extensions/voice-call/src/providers/index.ts +10 -0
- package/extensions/voice-call/src/providers/mock.ts +168 -0
- package/extensions/voice-call/src/providers/plivo.test.ts +28 -0
- package/extensions/voice-call/src/providers/plivo.ts +504 -0
- package/extensions/voice-call/src/providers/stt-openai-realtime.ts +311 -0
- package/extensions/voice-call/src/providers/telnyx.ts +364 -0
- package/extensions/voice-call/src/providers/tts-openai.ts +264 -0
- package/extensions/voice-call/src/providers/twilio/api.ts +45 -0
- package/extensions/voice-call/src/providers/twilio/webhook.ts +30 -0
- package/extensions/voice-call/src/providers/twilio.test.ts +64 -0
- package/extensions/voice-call/src/providers/twilio.ts +595 -0
- package/extensions/voice-call/src/response-generator.ts +171 -0
- package/extensions/voice-call/src/runtime.ts +217 -0
- package/extensions/voice-call/src/telephony-audio.ts +88 -0
- package/extensions/voice-call/src/telephony-tts.ts +95 -0
- package/extensions/voice-call/src/tunnel.ts +331 -0
- package/extensions/voice-call/src/types.ts +273 -0
- package/extensions/voice-call/src/utils.ts +12 -0
- package/extensions/voice-call/src/voice-mapping.ts +65 -0
- package/extensions/voice-call/src/webhook-security.test.ts +260 -0
- package/extensions/voice-call/src/webhook-security.ts +469 -0
- package/extensions/voice-call/src/webhook.ts +491 -0
- package/extensions/whatsapp/index.ts +18 -0
- package/extensions/whatsapp/openclaw.plugin.json +11 -0
- package/extensions/whatsapp/package.json +11 -0
- package/extensions/whatsapp/src/channel.ts +500 -0
- package/extensions/whatsapp/src/runtime.ts +14 -0
- package/extensions/zalo/CHANGELOG.md +60 -0
- package/extensions/zalo/README.md +50 -0
- package/extensions/zalo/index.ts +20 -0
- package/extensions/zalo/openclaw.plugin.json +11 -0
- package/extensions/zalo/package.json +33 -0
- package/extensions/zalo/src/accounts.ts +71 -0
- package/extensions/zalo/src/actions.ts +62 -0
- package/extensions/zalo/src/api.ts +206 -0
- package/extensions/zalo/src/channel.directory.test.ts +35 -0
- package/extensions/zalo/src/channel.ts +394 -0
- package/extensions/zalo/src/config-schema.ts +24 -0
- package/extensions/zalo/src/monitor.ts +760 -0
- package/extensions/zalo/src/monitor.webhook.test.ts +70 -0
- package/extensions/zalo/src/onboarding.ts +405 -0
- package/extensions/zalo/src/probe.ts +46 -0
- package/extensions/zalo/src/proxy.ts +18 -0
- package/extensions/zalo/src/runtime.ts +14 -0
- package/extensions/zalo/src/send.ts +117 -0
- package/extensions/zalo/src/status-issues.ts +50 -0
- package/extensions/zalo/src/token.ts +55 -0
- package/extensions/zalo/src/types.ts +42 -0
- package/extensions/zalouser/CHANGELOG.md +38 -0
- package/extensions/zalouser/README.md +221 -0
- package/extensions/zalouser/index.ts +32 -0
- package/extensions/zalouser/openclaw.plugin.json +11 -0
- package/extensions/zalouser/package.json +33 -0
- package/extensions/zalouser/src/accounts.ts +117 -0
- package/extensions/zalouser/src/channel.test.ts +17 -0
- package/extensions/zalouser/src/channel.ts +641 -0
- package/extensions/zalouser/src/config-schema.ts +27 -0
- package/extensions/zalouser/src/monitor.ts +574 -0
- package/extensions/zalouser/src/onboarding.ts +488 -0
- package/extensions/zalouser/src/probe.ts +28 -0
- package/extensions/zalouser/src/runtime.ts +14 -0
- package/extensions/zalouser/src/send.ts +150 -0
- package/extensions/zalouser/src/status-issues.test.ts +58 -0
- package/extensions/zalouser/src/status-issues.ts +81 -0
- package/extensions/zalouser/src/tool.ts +156 -0
- package/extensions/zalouser/src/types.ts +102 -0
- package/extensions/zalouser/src/zca.ts +208 -0
- package/git-hooks/pre-commit +4 -0
- package/package.json +288 -0
- package/patches/.gitkeep +0 -0
- package/scripts/format-staged.js +148 -0
- package/scripts/postinstall.js +302 -0
- package/scripts/setup-git-hooks.js +96 -0
- package/skills/exod-marketing/.archive/analytics.md +179 -0
- package/skills/exod-marketing/.archive/cold-targeting.md +241 -0
- package/skills/exod-marketing/.archive/exod.md +216 -0
- package/skills/exod-marketing/.archive/hive-mind.md +268 -0
- package/skills/exod-marketing/SKILL.md +21 -0
- package/skills/exod-marketing/lib/analytics-service.ts +570 -0
- package/skills/exod-marketing/lib/analytics-types.ts +538 -0
- package/skills/exod-marketing/lib/cold-targeting-service.ts +655 -0
- package/skills/exod-marketing/lib/cold-targeting-types.ts +219 -0
- package/skills/exod-marketing/lib/hive-mind-service.ts +655 -0
- package/skills/exod-marketing/lib/hive-mind-types.ts +432 -0
- package/skills/exod-marketing/lib/index.ts +20 -0
|
@@ -0,0 +1,404 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "Discord bot support status, capabilities, and configuration"
|
|
3
|
+
read_when:
|
|
4
|
+
- Working on Discord channel features
|
|
5
|
+
---
|
|
6
|
+
# Discord (Bot API)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
Status: ready for DM and guild text channels via the official Discord bot gateway.
|
|
10
|
+
|
|
11
|
+
## Quick setup (beginner)
|
|
12
|
+
1) Create a Discord bot and copy the bot token.
|
|
13
|
+
2) In the Discord app settings, enable **Message Content Intent** (and **Server Members Intent** if you plan to use allowlists or name lookups).
|
|
14
|
+
3) Set the token for OpenClaw:
|
|
15
|
+
- Env: `DISCORD_BOT_TOKEN=...`
|
|
16
|
+
- Or config: `channels.discord.token: "..."`.
|
|
17
|
+
- If both are set, config takes precedence (env fallback is default-account only).
|
|
18
|
+
4) Invite the bot to your server with message permissions (create a private server if you just want DMs).
|
|
19
|
+
5) Start the gateway.
|
|
20
|
+
6) DM access is pairing by default; approve the pairing code on first contact.
|
|
21
|
+
|
|
22
|
+
Minimal config:
|
|
23
|
+
```json5
|
|
24
|
+
{
|
|
25
|
+
channels: {
|
|
26
|
+
discord: {
|
|
27
|
+
enabled: true,
|
|
28
|
+
token: "YOUR_BOT_TOKEN"
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Goals
|
|
35
|
+
- Talk to OpenClaw via Discord DMs or guild channels.
|
|
36
|
+
- Direct chats collapse into the agent's main session (default `agent:main:main`); guild channels stay isolated as `agent:<agentId>:discord:channel:<channelId>` (display names use `discord:<guildSlug>#<channelSlug>`).
|
|
37
|
+
- Group DMs are ignored by default; enable via `channels.discord.dm.groupEnabled` and optionally restrict by `channels.discord.dm.groupChannels`.
|
|
38
|
+
- Keep routing deterministic: replies always go back to the channel they arrived on.
|
|
39
|
+
|
|
40
|
+
## How it works
|
|
41
|
+
1. Create a Discord application → Bot, enable the intents you need (DMs + guild messages + message content), and grab the bot token.
|
|
42
|
+
2. Invite the bot to your server with the permissions required to read/send messages where you want to use it.
|
|
43
|
+
3. Configure OpenClaw with `channels.discord.token` (or `DISCORD_BOT_TOKEN` as a fallback).
|
|
44
|
+
4. Run the gateway; it auto-starts the Discord channel when a token is available (config first, env fallback) and `channels.discord.enabled` is not `false`.
|
|
45
|
+
- If you prefer env vars, set `DISCORD_BOT_TOKEN` (a config block is optional).
|
|
46
|
+
5. Direct chats: use `user:<id>` (or a `<@id>` mention) when delivering; all turns land in the shared `main` session. Bare numeric IDs are ambiguous and rejected.
|
|
47
|
+
6. Guild channels: use `channel:<channelId>` for delivery. Mentions are required by default and can be set per guild or per channel.
|
|
48
|
+
7. Direct chats: secure by default via `channels.discord.dm.policy` (default: `"pairing"`). Unknown senders get a pairing code (expires after 1 hour); approve via `openclaw pairing approve discord <code>`.
|
|
49
|
+
- To keep old “open to anyone” behavior: set `channels.discord.dm.policy="open"` and `channels.discord.dm.allowFrom=["*"]`.
|
|
50
|
+
- To hard-allowlist: set `channels.discord.dm.policy="allowlist"` and list senders in `channels.discord.dm.allowFrom`.
|
|
51
|
+
- To ignore all DMs: set `channels.discord.dm.enabled=false` or `channels.discord.dm.policy="disabled"`.
|
|
52
|
+
8. Group DMs are ignored by default; enable via `channels.discord.dm.groupEnabled` and optionally restrict by `channels.discord.dm.groupChannels`.
|
|
53
|
+
9. Optional guild rules: set `channels.discord.guilds` keyed by guild id (preferred) or slug, with per-channel rules.
|
|
54
|
+
10. Optional native commands: `commands.native` defaults to `"auto"` (on for Discord/Telegram, off for Slack). Override with `channels.discord.commands.native: true|false|"auto"`; `false` clears previously registered commands. Text commands are controlled by `commands.text` and must be sent as standalone `/...` messages. Use `commands.useAccessGroups: false` to bypass access-group checks for commands.
|
|
55
|
+
- Full command list + config: [Slash commands](/tools/slash-commands)
|
|
56
|
+
11. Optional guild context history: set `channels.discord.historyLimit` (default 20, falls back to `messages.groupChat.historyLimit`) to include the last N guild messages as context when replying to a mention. Set `0` to disable.
|
|
57
|
+
12. Reactions: the agent can trigger reactions via the `discord` tool (gated by `channels.discord.actions.*`).
|
|
58
|
+
- Reaction removal semantics: see [/tools/reactions](/tools/reactions).
|
|
59
|
+
- The `discord` tool is only exposed when the current channel is Discord.
|
|
60
|
+
13. Native commands use isolated session keys (`agent:<agentId>:discord:slash:<userId>`) rather than the shared `main` session.
|
|
61
|
+
|
|
62
|
+
Note: Name → id resolution uses guild member search and requires Server Members Intent; if the bot can’t search members, use ids or `<@id>` mentions.
|
|
63
|
+
Note: Slugs are lowercase with spaces replaced by `-`. Channel names are slugged without the leading `#`.
|
|
64
|
+
Note: Guild context `[from:]` lines include `author.tag` + `id` to make ping-ready replies easy.
|
|
65
|
+
|
|
66
|
+
## Config writes
|
|
67
|
+
By default, Discord is allowed to write config updates triggered by `/config set|unset` (requires `commands.config: true`).
|
|
68
|
+
|
|
69
|
+
Disable with:
|
|
70
|
+
```json5
|
|
71
|
+
{
|
|
72
|
+
channels: { discord: { configWrites: false } }
|
|
73
|
+
}
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## How to create your own bot
|
|
77
|
+
|
|
78
|
+
This is the “Discord Developer Portal” setup for running OpenClaw in a server (guild) channel like `#help`.
|
|
79
|
+
|
|
80
|
+
### 1) Create the Discord app + bot user
|
|
81
|
+
1. Discord Developer Portal → **Applications** → **New Application**
|
|
82
|
+
2. In your app:
|
|
83
|
+
- **Bot** → **Add Bot**
|
|
84
|
+
- Copy the **Bot Token** (this is what you put in `DISCORD_BOT_TOKEN`)
|
|
85
|
+
|
|
86
|
+
### 2) Enable the gateway intents OpenClaw needs
|
|
87
|
+
Discord blocks “privileged intents” unless you explicitly enable them.
|
|
88
|
+
|
|
89
|
+
In **Bot** → **Privileged Gateway Intents**, enable:
|
|
90
|
+
- **Message Content Intent** (required to read message text in most guilds; without it you’ll see “Used disallowed intents” or the bot will connect but not react to messages)
|
|
91
|
+
- **Server Members Intent** (recommended; required for some member/user lookups and allowlist matching in guilds)
|
|
92
|
+
|
|
93
|
+
You usually do **not** need **Presence Intent**.
|
|
94
|
+
|
|
95
|
+
### 3) Generate an invite URL (OAuth2 URL Generator)
|
|
96
|
+
In your app: **OAuth2** → **URL Generator**
|
|
97
|
+
|
|
98
|
+
**Scopes**
|
|
99
|
+
- ✅ `bot`
|
|
100
|
+
- ✅ `applications.commands` (required for native commands)
|
|
101
|
+
|
|
102
|
+
**Bot Permissions** (minimal baseline)
|
|
103
|
+
- ✅ View Channels
|
|
104
|
+
- ✅ Send Messages
|
|
105
|
+
- ✅ Read Message History
|
|
106
|
+
- ✅ Embed Links
|
|
107
|
+
- ✅ Attach Files
|
|
108
|
+
- ✅ Add Reactions (optional but recommended)
|
|
109
|
+
- ✅ Use External Emojis / Stickers (optional; only if you want them)
|
|
110
|
+
|
|
111
|
+
Avoid **Administrator** unless you’re debugging and fully trust the bot.
|
|
112
|
+
|
|
113
|
+
Copy the generated URL, open it, pick your server, and install the bot.
|
|
114
|
+
|
|
115
|
+
### 4) Get the ids (guild/user/channel)
|
|
116
|
+
Discord uses numeric ids everywhere; OpenClaw config prefers ids.
|
|
117
|
+
|
|
118
|
+
1. Discord (desktop/web) → **User Settings** → **Advanced** → enable **Developer Mode**
|
|
119
|
+
2. Right-click:
|
|
120
|
+
- Server name → **Copy Server ID** (guild id)
|
|
121
|
+
- Channel (e.g. `#help`) → **Copy Channel ID**
|
|
122
|
+
- Your user → **Copy User ID**
|
|
123
|
+
|
|
124
|
+
### 5) Configure OpenClaw
|
|
125
|
+
|
|
126
|
+
#### Token
|
|
127
|
+
Set the bot token via env var (recommended on servers):
|
|
128
|
+
- `DISCORD_BOT_TOKEN=...`
|
|
129
|
+
|
|
130
|
+
Or via config:
|
|
131
|
+
|
|
132
|
+
```json5
|
|
133
|
+
{
|
|
134
|
+
channels: {
|
|
135
|
+
discord: {
|
|
136
|
+
enabled: true,
|
|
137
|
+
token: "YOUR_BOT_TOKEN"
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
Multi-account support: use `channels.discord.accounts` with per-account tokens and optional `name`. See [`gateway/configuration`](/gateway/configuration#telegramaccounts--discordaccounts--slackaccounts--signalaccounts--imessageaccounts) for the shared pattern.
|
|
144
|
+
|
|
145
|
+
#### Allowlist + channel routing
|
|
146
|
+
Example “single server, only allow me, only allow #help”:
|
|
147
|
+
|
|
148
|
+
```json5
|
|
149
|
+
{
|
|
150
|
+
channels: {
|
|
151
|
+
discord: {
|
|
152
|
+
enabled: true,
|
|
153
|
+
dm: { enabled: false },
|
|
154
|
+
guilds: {
|
|
155
|
+
"YOUR_GUILD_ID": {
|
|
156
|
+
users: ["YOUR_USER_ID"],
|
|
157
|
+
requireMention: true,
|
|
158
|
+
channels: {
|
|
159
|
+
help: { allow: true, requireMention: true }
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
},
|
|
163
|
+
retry: {
|
|
164
|
+
attempts: 3,
|
|
165
|
+
minDelayMs: 500,
|
|
166
|
+
maxDelayMs: 30000,
|
|
167
|
+
jitter: 0.1
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
Notes:
|
|
175
|
+
- `requireMention: true` means the bot only replies when mentioned (recommended for shared channels).
|
|
176
|
+
- `agents.list[].groupChat.mentionPatterns` (or `messages.groupChat.mentionPatterns`) also count as mentions for guild messages.
|
|
177
|
+
- Multi-agent override: set per-agent patterns on `agents.list[].groupChat.mentionPatterns`.
|
|
178
|
+
- If `channels` is present, any channel not listed is denied by default.
|
|
179
|
+
- Use a `"*"` channel entry to apply defaults across all channels; explicit channel entries override the wildcard.
|
|
180
|
+
- Threads inherit parent channel config (allowlist, `requireMention`, skills, prompts, etc.) unless you add the thread channel id explicitly.
|
|
181
|
+
- Bot-authored messages are ignored by default; set `channels.discord.allowBots=true` to allow them (own messages remain filtered).
|
|
182
|
+
- Warning: If you allow replies to other bots (`channels.discord.allowBots=true`), prevent bot-to-bot reply loops with `requireMention`, `channels.discord.guilds.*.channels.<id>.users` allowlists, and/or clear guardrails in `AGENTS.md` and `SOUL.md`.
|
|
183
|
+
|
|
184
|
+
### 6) Verify it works
|
|
185
|
+
1. Start the gateway.
|
|
186
|
+
2. In your server channel, send: `@Krill hello` (or whatever your bot name is).
|
|
187
|
+
3. If nothing happens: check **Troubleshooting** below.
|
|
188
|
+
|
|
189
|
+
### Troubleshooting
|
|
190
|
+
- First: run `openclaw doctor` and `openclaw channels status --probe` (actionable warnings + quick audits).
|
|
191
|
+
- **“Used disallowed intents”**: enable **Message Content Intent** (and likely **Server Members Intent**) in the Developer Portal, then restart the gateway.
|
|
192
|
+
- **Bot connects but never replies in a guild channel**:
|
|
193
|
+
- Missing **Message Content Intent**, or
|
|
194
|
+
- The bot lacks channel permissions (View/Send/Read History), or
|
|
195
|
+
- Your config requires mentions and you didn’t mention it, or
|
|
196
|
+
- Your guild/channel allowlist denies the channel/user.
|
|
197
|
+
- **`requireMention: false` but still no replies**:
|
|
198
|
+
- `channels.discord.groupPolicy` defaults to **allowlist**; set it to `"open"` or add a guild entry under `channels.discord.guilds` (optionally list channels under `channels.discord.guilds.<id>.channels` to restrict).
|
|
199
|
+
- If you only set `DISCORD_BOT_TOKEN` and never create a `channels.discord` section, the runtime
|
|
200
|
+
defaults `groupPolicy` to `open`. Add `channels.discord.groupPolicy`,
|
|
201
|
+
`channels.defaults.groupPolicy`, or a guild/channel allowlist to lock it down.
|
|
202
|
+
- `requireMention` must live under `channels.discord.guilds` (or a specific channel). `channels.discord.requireMention` at the top level is ignored.
|
|
203
|
+
- **Permission audits** (`channels status --probe`) only check numeric channel IDs. If you use slugs/names as `channels.discord.guilds.*.channels` keys, the audit can’t verify permissions.
|
|
204
|
+
- **DMs don’t work**: `channels.discord.dm.enabled=false`, `channels.discord.dm.policy="disabled"`, or you haven’t been approved yet (`channels.discord.dm.policy="pairing"`).
|
|
205
|
+
|
|
206
|
+
## Capabilities & limits
|
|
207
|
+
- DMs and guild text channels (threads are treated as separate channels; voice not supported).
|
|
208
|
+
- Typing indicators sent best-effort; message chunking uses `channels.discord.textChunkLimit` (default 2000) and splits tall replies by line count (`channels.discord.maxLinesPerMessage`, default 17).
|
|
209
|
+
- Optional newline chunking: set `channels.discord.chunkMode="newline"` to split on blank lines (paragraph boundaries) before length chunking.
|
|
210
|
+
- File uploads supported up to the configured `channels.discord.mediaMaxMb` (default 8 MB).
|
|
211
|
+
- Mention-gated guild replies by default to avoid noisy bots.
|
|
212
|
+
- Reply context is injected when a message references another message (quoted content + ids).
|
|
213
|
+
- Native reply threading is **off by default**; enable with `channels.discord.replyToMode` and reply tags.
|
|
214
|
+
|
|
215
|
+
## Retry policy
|
|
216
|
+
Outbound Discord API calls retry on rate limits (429) using Discord `retry_after` when available, with exponential backoff and jitter. Configure via `channels.discord.retry`. See [Retry policy](/concepts/retry).
|
|
217
|
+
|
|
218
|
+
## Config
|
|
219
|
+
|
|
220
|
+
```json5
|
|
221
|
+
{
|
|
222
|
+
channels: {
|
|
223
|
+
discord: {
|
|
224
|
+
enabled: true,
|
|
225
|
+
token: "abc.123",
|
|
226
|
+
groupPolicy: "allowlist",
|
|
227
|
+
guilds: {
|
|
228
|
+
"*": {
|
|
229
|
+
channels: {
|
|
230
|
+
general: { allow: true }
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
},
|
|
234
|
+
mediaMaxMb: 8,
|
|
235
|
+
actions: {
|
|
236
|
+
reactions: true,
|
|
237
|
+
stickers: true,
|
|
238
|
+
emojiUploads: true,
|
|
239
|
+
stickerUploads: true,
|
|
240
|
+
polls: true,
|
|
241
|
+
permissions: true,
|
|
242
|
+
messages: true,
|
|
243
|
+
threads: true,
|
|
244
|
+
pins: true,
|
|
245
|
+
search: true,
|
|
246
|
+
memberInfo: true,
|
|
247
|
+
roleInfo: true,
|
|
248
|
+
roles: false,
|
|
249
|
+
channelInfo: true,
|
|
250
|
+
channels: true,
|
|
251
|
+
voiceStatus: true,
|
|
252
|
+
events: true,
|
|
253
|
+
moderation: false
|
|
254
|
+
},
|
|
255
|
+
replyToMode: "off",
|
|
256
|
+
dm: {
|
|
257
|
+
enabled: true,
|
|
258
|
+
policy: "pairing", // pairing | allowlist | open | disabled
|
|
259
|
+
allowFrom: ["123456789012345678", "steipete"],
|
|
260
|
+
groupEnabled: false,
|
|
261
|
+
groupChannels: ["openclaw-dm"]
|
|
262
|
+
},
|
|
263
|
+
guilds: {
|
|
264
|
+
"*": { requireMention: true },
|
|
265
|
+
"123456789012345678": {
|
|
266
|
+
slug: "friends-of-openclaw",
|
|
267
|
+
requireMention: false,
|
|
268
|
+
reactionNotifications: "own",
|
|
269
|
+
users: ["987654321098765432", "steipete"],
|
|
270
|
+
channels: {
|
|
271
|
+
general: { allow: true },
|
|
272
|
+
help: {
|
|
273
|
+
allow: true,
|
|
274
|
+
requireMention: true,
|
|
275
|
+
users: ["987654321098765432"],
|
|
276
|
+
skills: ["search", "docs"],
|
|
277
|
+
systemPrompt: "Keep answers short."
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
Ack reactions are controlled globally via `messages.ackReaction` +
|
|
288
|
+
`messages.ackReactionScope`. Use `messages.removeAckAfterReply` to clear the
|
|
289
|
+
ack reaction after the bot replies.
|
|
290
|
+
|
|
291
|
+
- `dm.enabled`: set `false` to ignore all DMs (default `true`).
|
|
292
|
+
- `dm.policy`: DM access control (`pairing` recommended). `"open"` requires `dm.allowFrom=["*"]`.
|
|
293
|
+
- `dm.allowFrom`: DM allowlist (user ids or names). Used by `dm.policy="allowlist"` and for `dm.policy="open"` validation. The wizard accepts usernames and resolves them to ids when the bot can search members.
|
|
294
|
+
- `dm.groupEnabled`: enable group DMs (default `false`).
|
|
295
|
+
- `dm.groupChannels`: optional allowlist for group DM channel ids or slugs.
|
|
296
|
+
- `groupPolicy`: controls guild channel handling (`open|disabled|allowlist`); `allowlist` requires channel allowlists.
|
|
297
|
+
- `guilds`: per-guild rules keyed by guild id (preferred) or slug.
|
|
298
|
+
- `guilds."*"`: default per-guild settings applied when no explicit entry exists.
|
|
299
|
+
- `guilds.<id>.slug`: optional friendly slug used for display names.
|
|
300
|
+
- `guilds.<id>.users`: optional per-guild user allowlist (ids or names).
|
|
301
|
+
- `guilds.<id>.tools`: optional per-guild tool policy overrides (`allow`/`deny`/`alsoAllow`) used when the channel override is missing.
|
|
302
|
+
- `guilds.<id>.toolsBySender`: optional per-sender tool policy overrides at the guild level (applies when the channel override is missing; `"*"` wildcard supported).
|
|
303
|
+
- `guilds.<id>.channels.<channel>.allow`: allow/deny the channel when `groupPolicy="allowlist"`.
|
|
304
|
+
- `guilds.<id>.channels.<channel>.requireMention`: mention gating for the channel.
|
|
305
|
+
- `guilds.<id>.channels.<channel>.tools`: optional per-channel tool policy overrides (`allow`/`deny`/`alsoAllow`).
|
|
306
|
+
- `guilds.<id>.channels.<channel>.toolsBySender`: optional per-sender tool policy overrides within the channel (`"*"` wildcard supported).
|
|
307
|
+
- `guilds.<id>.channels.<channel>.users`: optional per-channel user allowlist.
|
|
308
|
+
- `guilds.<id>.channels.<channel>.skills`: skill filter (omit = all skills, empty = none).
|
|
309
|
+
- `guilds.<id>.channels.<channel>.systemPrompt`: extra system prompt for the channel (combined with channel topic).
|
|
310
|
+
- `guilds.<id>.channels.<channel>.enabled`: set `false` to disable the channel.
|
|
311
|
+
- `guilds.<id>.channels`: channel rules (keys are channel slugs or ids).
|
|
312
|
+
- `guilds.<id>.requireMention`: per-guild mention requirement (overridable per channel).
|
|
313
|
+
- `guilds.<id>.reactionNotifications`: reaction system event mode (`off`, `own`, `all`, `allowlist`).
|
|
314
|
+
- `textChunkLimit`: outbound text chunk size (chars). Default: 2000.
|
|
315
|
+
- `chunkMode`: `length` (default) splits only when exceeding `textChunkLimit`; `newline` splits on blank lines (paragraph boundaries) before length chunking.
|
|
316
|
+
- `maxLinesPerMessage`: soft max line count per message. Default: 17.
|
|
317
|
+
- `mediaMaxMb`: clamp inbound media saved to disk.
|
|
318
|
+
- `historyLimit`: number of recent guild messages to include as context when replying to a mention (default 20; falls back to `messages.groupChat.historyLimit`; `0` disables).
|
|
319
|
+
- `dmHistoryLimit`: DM history limit in user turns. Per-user overrides: `dms["<user_id>"].historyLimit`.
|
|
320
|
+
- `retry`: retry policy for outbound Discord API calls (attempts, minDelayMs, maxDelayMs, jitter).
|
|
321
|
+
- `actions`: per-action tool gates; omit to allow all (set `false` to disable).
|
|
322
|
+
- `reactions` (covers react + read reactions)
|
|
323
|
+
- `stickers`, `emojiUploads`, `stickerUploads`, `polls`, `permissions`, `messages`, `threads`, `pins`, `search`
|
|
324
|
+
- `memberInfo`, `roleInfo`, `channelInfo`, `voiceStatus`, `events`
|
|
325
|
+
- `channels` (create/edit/delete channels + categories + permissions)
|
|
326
|
+
- `roles` (role add/remove, default `false`)
|
|
327
|
+
- `moderation` (timeout/kick/ban, default `false`)
|
|
328
|
+
|
|
329
|
+
Reaction notifications use `guilds.<id>.reactionNotifications`:
|
|
330
|
+
- `off`: no reaction events.
|
|
331
|
+
- `own`: reactions on the bot's own messages (default).
|
|
332
|
+
- `all`: all reactions on all messages.
|
|
333
|
+
- `allowlist`: reactions from `guilds.<id>.users` on all messages (empty list disables).
|
|
334
|
+
|
|
335
|
+
### Tool action defaults
|
|
336
|
+
|
|
337
|
+
| Action group | Default | Notes |
|
|
338
|
+
| --- | --- | --- |
|
|
339
|
+
| reactions | enabled | React + list reactions + emojiList |
|
|
340
|
+
| stickers | enabled | Send stickers |
|
|
341
|
+
| emojiUploads | enabled | Upload emojis |
|
|
342
|
+
| stickerUploads | enabled | Upload stickers |
|
|
343
|
+
| polls | enabled | Create polls |
|
|
344
|
+
| permissions | enabled | Channel permission snapshot |
|
|
345
|
+
| messages | enabled | Read/send/edit/delete |
|
|
346
|
+
| threads | enabled | Create/list/reply |
|
|
347
|
+
| pins | enabled | Pin/unpin/list |
|
|
348
|
+
| search | enabled | Message search (preview feature) |
|
|
349
|
+
| memberInfo | enabled | Member info |
|
|
350
|
+
| roleInfo | enabled | Role list |
|
|
351
|
+
| channelInfo | enabled | Channel info + list |
|
|
352
|
+
| channels | enabled | Channel/category management |
|
|
353
|
+
| voiceStatus | enabled | Voice state lookup |
|
|
354
|
+
| events | enabled | List/create scheduled events |
|
|
355
|
+
| roles | disabled | Role add/remove |
|
|
356
|
+
| moderation | disabled | Timeout/kick/ban |
|
|
357
|
+
- `replyToMode`: `off` (default), `first`, or `all`. Applies only when the model includes a reply tag.
|
|
358
|
+
|
|
359
|
+
## Reply tags
|
|
360
|
+
To request a threaded reply, the model can include one tag in its output:
|
|
361
|
+
- `[[reply_to_current]]` — reply to the triggering Discord message.
|
|
362
|
+
- `[[reply_to:<id>]]` — reply to a specific message id from context/history.
|
|
363
|
+
Current message ids are appended to prompts as `[message_id: …]`; history entries already include ids.
|
|
364
|
+
|
|
365
|
+
Behavior is controlled by `channels.discord.replyToMode`:
|
|
366
|
+
- `off`: ignore tags.
|
|
367
|
+
- `first`: only the first outbound chunk/attachment is a reply.
|
|
368
|
+
- `all`: every outbound chunk/attachment is a reply.
|
|
369
|
+
|
|
370
|
+
Allowlist matching notes:
|
|
371
|
+
- `allowFrom`/`users`/`groupChannels` accept ids, names, tags, or mentions like `<@id>`.
|
|
372
|
+
- Prefixes like `discord:`/`user:` (users) and `channel:` (group DMs) are supported.
|
|
373
|
+
- Use `*` to allow any sender/channel.
|
|
374
|
+
- When `guilds.<id>.channels` is present, channels not listed are denied by default.
|
|
375
|
+
- When `guilds.<id>.channels` is omitted, all channels in the allowlisted guild are allowed.
|
|
376
|
+
- To allow **no channels**, set `channels.discord.groupPolicy: "disabled"` (or keep an empty allowlist).
|
|
377
|
+
- The configure wizard accepts `Guild/Channel` names (public + private) and resolves them to IDs when possible.
|
|
378
|
+
- On startup, OpenClaw resolves channel/user names in allowlists to IDs (when the bot can search members)
|
|
379
|
+
and logs the mapping; unresolved entries are kept as typed.
|
|
380
|
+
|
|
381
|
+
Native command notes:
|
|
382
|
+
- The registered commands mirror OpenClaw’s chat commands.
|
|
383
|
+
- Native commands honor the same allowlists as DMs/guild messages (`channels.discord.dm.allowFrom`, `channels.discord.guilds`, per-channel rules).
|
|
384
|
+
- Slash commands may still be visible in Discord UI to users who aren’t allowlisted; OpenClaw enforces allowlists on execution and replies “not authorized”.
|
|
385
|
+
|
|
386
|
+
## Tool actions
|
|
387
|
+
The agent can call `discord` with actions like:
|
|
388
|
+
- `react` / `reactions` (add or list reactions)
|
|
389
|
+
- `sticker`, `poll`, `permissions`
|
|
390
|
+
- `readMessages`, `sendMessage`, `editMessage`, `deleteMessage`
|
|
391
|
+
- Read/search/pin tool payloads include normalized `timestampMs` (UTC epoch ms) and `timestampUtc` alongside raw Discord `timestamp`.
|
|
392
|
+
- `threadCreate`, `threadList`, `threadReply`
|
|
393
|
+
- `pinMessage`, `unpinMessage`, `listPins`
|
|
394
|
+
- `searchMessages`, `memberInfo`, `roleInfo`, `roleAdd`, `roleRemove`, `emojiList`
|
|
395
|
+
- `channelInfo`, `channelList`, `voiceStatus`, `eventList`, `eventCreate`
|
|
396
|
+
- `timeout`, `kick`, `ban`
|
|
397
|
+
|
|
398
|
+
Discord message ids are surfaced in the injected context (`[discord message id: …]` and history lines) so the agent can target them.
|
|
399
|
+
Emoji can be unicode (e.g., `✅`) or custom emoji syntax like `<:party_blob:1234567890>`.
|
|
400
|
+
|
|
401
|
+
## Safety & ops
|
|
402
|
+
- Treat the bot token like a password; prefer the `DISCORD_BOT_TOKEN` env var on supervised hosts or lock down the config file permissions.
|
|
403
|
+
- Only grant the bot permissions it needs (typically Read/Send Messages).
|
|
404
|
+
- If the bot is stuck or rate limited, restart the gateway (`openclaw gateway --force`) after confirming no other processes own the Discord session.
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "Google Chat app support status, capabilities, and configuration"
|
|
3
|
+
read_when:
|
|
4
|
+
- Working on Google Chat channel features
|
|
5
|
+
---
|
|
6
|
+
# Google Chat (Chat API)
|
|
7
|
+
|
|
8
|
+
Status: ready for DMs + spaces via Google Chat API webhooks (HTTP only).
|
|
9
|
+
|
|
10
|
+
## Quick setup (beginner)
|
|
11
|
+
1) Create a Google Cloud project and enable the **Google Chat API**.
|
|
12
|
+
- Go to: [Google Chat API Credentials](https://console.cloud.google.com/apis/api/chat.googleapis.com/credentials)
|
|
13
|
+
- Enable the API if it is not already enabled.
|
|
14
|
+
2) Create a **Service Account**:
|
|
15
|
+
- Press **Create Credentials** > **Service Account**.
|
|
16
|
+
- Name it whatever you want (e.g., `openclaw-chat`).
|
|
17
|
+
- Leave permissions blank (press **Continue**).
|
|
18
|
+
- Leave principals with access blank (press **Done**).
|
|
19
|
+
3) Create and download the **JSON Key**:
|
|
20
|
+
- In the list of service accounts, click on the one you just created.
|
|
21
|
+
- Go to the **Keys** tab.
|
|
22
|
+
- Click **Add Key** > **Create new key**.
|
|
23
|
+
- Select **JSON** and press **Create**.
|
|
24
|
+
4) Store the downloaded JSON file on your gateway host (e.g., `~/.openclaw/googlechat-service-account.json`).
|
|
25
|
+
5) Create a Google Chat app in the [Google Cloud Console Chat Configuration](https://console.cloud.google.com/apis/api/chat.googleapis.com/hangouts-chat):
|
|
26
|
+
- Fill in the **Application info**:
|
|
27
|
+
- **App name**: (e.g. `OpenClaw`)
|
|
28
|
+
- **Avatar URL**: (e.g. `https://openclaw.ai/logo.png`)
|
|
29
|
+
- **Description**: (e.g. `Personal AI Assistant`)
|
|
30
|
+
- Enable **Interactive features**.
|
|
31
|
+
- Under **Functionality**, check **Join spaces and group conversations**.
|
|
32
|
+
- Under **Connection settings**, select **HTTP endpoint URL**.
|
|
33
|
+
- Under **Triggers**, select **Use a common HTTP endpoint URL for all triggers** and set it to your gateway's public URL followed by `/googlechat`.
|
|
34
|
+
- *Tip: Run `openclaw status` to find your gateway's public URL.*
|
|
35
|
+
- Under **Visibility**, check **Make this Chat app available to specific people and groups in <Your Domain>**.
|
|
36
|
+
- Enter your email address (e.g. `user@example.com`) in the text box.
|
|
37
|
+
- Click **Save** at the bottom.
|
|
38
|
+
6) **Enable the app status**:
|
|
39
|
+
- After saving, **refresh the page**.
|
|
40
|
+
- Look for the **App status** section (usually near the top or bottom after saving).
|
|
41
|
+
- Change the status to **Live - available to users**.
|
|
42
|
+
- Click **Save** again.
|
|
43
|
+
7) Configure OpenClaw with the service account path + webhook audience:
|
|
44
|
+
- Env: `GOOGLE_CHAT_SERVICE_ACCOUNT_FILE=/path/to/service-account.json`
|
|
45
|
+
- Or config: `channels.googlechat.serviceAccountFile: "/path/to/service-account.json"`.
|
|
46
|
+
8) Set the webhook audience type + value (matches your Chat app config).
|
|
47
|
+
9) Start the gateway. Google Chat will POST to your webhook path.
|
|
48
|
+
|
|
49
|
+
## Add to Google Chat
|
|
50
|
+
Once the gateway is running and your email is added to the visibility list:
|
|
51
|
+
1) Go to [Google Chat](https://chat.google.com/).
|
|
52
|
+
2) Click the **+** (plus) icon next to **Direct Messages**.
|
|
53
|
+
3) In the search bar (where you usually add people), type the **App name** you configured in the Google Cloud Console.
|
|
54
|
+
- **Note**: The bot will *not* appear in the "Marketplace" browse list because it is a private app. You must search for it by name.
|
|
55
|
+
4) Select your bot from the results.
|
|
56
|
+
5) Click **Add** or **Chat** to start a 1:1 conversation.
|
|
57
|
+
6) Send "Hello" to trigger the assistant!
|
|
58
|
+
|
|
59
|
+
## Public URL (Webhook-only)
|
|
60
|
+
Google Chat webhooks require a public HTTPS endpoint. For security, **only expose the `/googlechat` path** to the internet. Keep the OpenClaw dashboard and other sensitive endpoints on your private network.
|
|
61
|
+
|
|
62
|
+
### Option A: Tailscale Funnel (Recommended)
|
|
63
|
+
Use Tailscale Serve for the private dashboard and Funnel for the public webhook path. This keeps `/` private while exposing only `/googlechat`.
|
|
64
|
+
|
|
65
|
+
1. **Check what address your gateway is bound to:**
|
|
66
|
+
```bash
|
|
67
|
+
ss -tlnp | grep 18789
|
|
68
|
+
```
|
|
69
|
+
Note the IP address (e.g., `127.0.0.1`, `0.0.0.0`, or your Tailscale IP like `100.x.x.x`).
|
|
70
|
+
|
|
71
|
+
2. **Expose the dashboard to the tailnet only (port 8443):**
|
|
72
|
+
```bash
|
|
73
|
+
# If bound to localhost (127.0.0.1 or 0.0.0.0):
|
|
74
|
+
tailscale serve --bg --https 8443 http://127.0.0.1:18789
|
|
75
|
+
|
|
76
|
+
# If bound to Tailscale IP only (e.g., 100.106.161.80):
|
|
77
|
+
tailscale serve --bg --https 8443 http://100.106.161.80:18789
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
3. **Expose only the webhook path publicly:**
|
|
81
|
+
```bash
|
|
82
|
+
# If bound to localhost (127.0.0.1 or 0.0.0.0):
|
|
83
|
+
tailscale funnel --bg --set-path /googlechat http://127.0.0.1:18789/googlechat
|
|
84
|
+
|
|
85
|
+
# If bound to Tailscale IP only (e.g., 100.106.161.80):
|
|
86
|
+
tailscale funnel --bg --set-path /googlechat http://100.106.161.80:18789/googlechat
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
4. **Authorize the node for Funnel access:**
|
|
90
|
+
If prompted, visit the authorization URL shown in the output to enable Funnel for this node in your tailnet policy.
|
|
91
|
+
|
|
92
|
+
5. **Verify the configuration:**
|
|
93
|
+
```bash
|
|
94
|
+
tailscale serve status
|
|
95
|
+
tailscale funnel status
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
Your public webhook URL will be:
|
|
99
|
+
`https://<node-name>.<tailnet>.ts.net/googlechat`
|
|
100
|
+
|
|
101
|
+
Your private dashboard stays tailnet-only:
|
|
102
|
+
`https://<node-name>.<tailnet>.ts.net:8443/`
|
|
103
|
+
|
|
104
|
+
Use the public URL (without `:8443`) in the Google Chat app config.
|
|
105
|
+
|
|
106
|
+
> Note: This configuration persists across reboots. To remove it later, run `tailscale funnel reset` and `tailscale serve reset`.
|
|
107
|
+
|
|
108
|
+
### Option B: Reverse Proxy (Caddy)
|
|
109
|
+
If you use a reverse proxy like Caddy, only proxy the specific path:
|
|
110
|
+
```caddy
|
|
111
|
+
your-domain.com {
|
|
112
|
+
reverse_proxy /googlechat* localhost:18789
|
|
113
|
+
}
|
|
114
|
+
```
|
|
115
|
+
With this config, any request to `your-domain.com/` will be ignored or returned as 404, while `your-domain.com/googlechat` is safely routed to OpenClaw.
|
|
116
|
+
|
|
117
|
+
### Option C: Cloudflare Tunnel
|
|
118
|
+
Configure your tunnel's ingress rules to only route the webhook path:
|
|
119
|
+
- **Path**: `/googlechat` -> `http://localhost:18789/googlechat`
|
|
120
|
+
- **Default Rule**: HTTP 404 (Not Found)
|
|
121
|
+
|
|
122
|
+
## How it works
|
|
123
|
+
|
|
124
|
+
1. Google Chat sends webhook POSTs to the gateway. Each request includes an `Authorization: Bearer <token>` header.
|
|
125
|
+
2. OpenClaw verifies the token against the configured `audienceType` + `audience`:
|
|
126
|
+
- `audienceType: "app-url"` → audience is your HTTPS webhook URL.
|
|
127
|
+
- `audienceType: "project-number"` → audience is the Cloud project number.
|
|
128
|
+
3. Messages are routed by space:
|
|
129
|
+
- DMs use session key `agent:<agentId>:googlechat:dm:<spaceId>`.
|
|
130
|
+
- Spaces use session key `agent:<agentId>:googlechat:group:<spaceId>`.
|
|
131
|
+
4. DM access is pairing by default. Unknown senders receive a pairing code; approve with:
|
|
132
|
+
- `openclaw pairing approve googlechat <code>`
|
|
133
|
+
5. Group spaces require @-mention by default. Use `botUser` if mention detection needs the app’s user name.
|
|
134
|
+
|
|
135
|
+
## Targets
|
|
136
|
+
Use these identifiers for delivery and allowlists:
|
|
137
|
+
- Direct messages: `users/<userId>` or `users/<email>` (email addresses are accepted).
|
|
138
|
+
- Spaces: `spaces/<spaceId>`.
|
|
139
|
+
|
|
140
|
+
## Config highlights
|
|
141
|
+
```json5
|
|
142
|
+
{
|
|
143
|
+
channels: {
|
|
144
|
+
"googlechat": {
|
|
145
|
+
enabled: true,
|
|
146
|
+
serviceAccountFile: "/path/to/service-account.json",
|
|
147
|
+
audienceType: "app-url",
|
|
148
|
+
audience: "https://gateway.example.com/googlechat",
|
|
149
|
+
webhookPath: "/googlechat",
|
|
150
|
+
botUser: "users/1234567890", // optional; helps mention detection
|
|
151
|
+
dm: {
|
|
152
|
+
policy: "pairing",
|
|
153
|
+
allowFrom: ["users/1234567890", "name@example.com"]
|
|
154
|
+
},
|
|
155
|
+
groupPolicy: "allowlist",
|
|
156
|
+
groups: {
|
|
157
|
+
"spaces/AAAA": {
|
|
158
|
+
allow: true,
|
|
159
|
+
requireMention: true,
|
|
160
|
+
users: ["users/1234567890"],
|
|
161
|
+
systemPrompt: "Short answers only."
|
|
162
|
+
}
|
|
163
|
+
},
|
|
164
|
+
actions: { reactions: true },
|
|
165
|
+
typingIndicator: "message",
|
|
166
|
+
mediaMaxMb: 20
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
Notes:
|
|
173
|
+
- Service account credentials can also be passed inline with `serviceAccount` (JSON string).
|
|
174
|
+
- Default webhook path is `/googlechat` if `webhookPath` isn’t set.
|
|
175
|
+
- Reactions are available via the `reactions` tool and `channels action` when `actions.reactions` is enabled.
|
|
176
|
+
- `typingIndicator` supports `none`, `message` (default), and `reaction` (reaction requires user OAuth).
|
|
177
|
+
- Attachments are downloaded through the Chat API and stored in the media pipeline (size capped by `mediaMaxMb`).
|
|
178
|
+
|
|
179
|
+
## Troubleshooting
|
|
180
|
+
|
|
181
|
+
### 405 Method Not Allowed
|
|
182
|
+
If Google Cloud Logs Explorer shows errors like:
|
|
183
|
+
```
|
|
184
|
+
status code: 405, reason phrase: HTTP error response: HTTP/1.1 405 Method Not Allowed
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
This means the webhook handler isn't registered. Common causes:
|
|
188
|
+
1. **Channel not configured**: The `channels.googlechat` section is missing from your config. Verify with:
|
|
189
|
+
```bash
|
|
190
|
+
openclaw config get channels.googlechat
|
|
191
|
+
```
|
|
192
|
+
If it returns "Config path not found", add the configuration (see [Config highlights](#config-highlights)).
|
|
193
|
+
|
|
194
|
+
2. **Plugin not enabled**: Check plugin status:
|
|
195
|
+
```bash
|
|
196
|
+
openclaw plugins list | grep googlechat
|
|
197
|
+
```
|
|
198
|
+
If it shows "disabled", add `plugins.entries.googlechat.enabled: true` to your config.
|
|
199
|
+
|
|
200
|
+
3. **Gateway not restarted**: After adding config, restart the gateway:
|
|
201
|
+
```bash
|
|
202
|
+
openclaw gateway restart
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
Verify the channel is running:
|
|
206
|
+
```bash
|
|
207
|
+
openclaw channels status
|
|
208
|
+
# Should show: Google Chat default: enabled, configured, ...
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
### Other issues
|
|
212
|
+
- Check `openclaw channels status --probe` for auth errors or missing audience config.
|
|
213
|
+
- If no messages arrive, confirm the Chat app's webhook URL + event subscriptions.
|
|
214
|
+
- If mention gating blocks replies, set `botUser` to the app's user resource name and verify `requireMention`.
|
|
215
|
+
- Use `openclaw logs --follow` while sending a test message to see if requests reach the gateway.
|
|
216
|
+
|
|
217
|
+
Related docs:
|
|
218
|
+
- [Gateway configuration](/gateway/configuration)
|
|
219
|
+
- [Security](/gateway/security)
|
|
220
|
+
- [Reactions](/tools/reactions)
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "Telegram Bot API integration via grammY with setup notes"
|
|
3
|
+
read_when:
|
|
4
|
+
- Working on Telegram or grammY pathways
|
|
5
|
+
---
|
|
6
|
+
# grammY Integration (Telegram Bot API)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
# Why grammY
|
|
10
|
+
- TS-first Bot API client with built-in long-poll + webhook helpers, middleware, error handling, rate limiter.
|
|
11
|
+
- Cleaner media helpers than hand-rolling fetch + FormData; supports all Bot API methods.
|
|
12
|
+
- Extensible: proxy support via custom fetch, session middleware (optional), type-safe context.
|
|
13
|
+
|
|
14
|
+
# What we shipped
|
|
15
|
+
- **Single client path:** fetch-based implementation removed; grammY is now the sole Telegram client (send + gateway) with the grammY throttler enabled by default.
|
|
16
|
+
- **Gateway:** `monitorTelegramProvider` builds a grammY `Bot`, wires mention/allowlist gating, media download via `getFile`/`download`, and delivers replies with `sendMessage/sendPhoto/sendVideo/sendAudio/sendDocument`. Supports long-poll or webhook via `webhookCallback`.
|
|
17
|
+
- **Proxy:** optional `channels.telegram.proxy` uses `undici.ProxyAgent` through grammY’s `client.baseFetch`.
|
|
18
|
+
- **Webhook support:** `webhook-set.ts` wraps `setWebhook/deleteWebhook`; `webhook.ts` hosts the callback with health + graceful shutdown. Gateway enables webhook mode when `channels.telegram.webhookUrl` is set (otherwise it long-polls).
|
|
19
|
+
- **Sessions:** direct chats collapse into the agent main session (`agent:<agentId>:<mainKey>`); groups use `agent:<agentId>:telegram:group:<chatId>`; replies route back to the same channel.
|
|
20
|
+
- **Config knobs:** `channels.telegram.botToken`, `channels.telegram.dmPolicy`, `channels.telegram.groups` (allowlist + mention defaults), `channels.telegram.allowFrom`, `channels.telegram.groupAllowFrom`, `channels.telegram.groupPolicy`, `channels.telegram.mediaMaxMb`, `channels.telegram.linkPreview`, `channels.telegram.proxy`, `channels.telegram.webhookSecret`, `channels.telegram.webhookUrl`.
|
|
21
|
+
- **Draft streaming:** optional `channels.telegram.streamMode` uses `sendMessageDraft` in private topic chats (Bot API 9.3+). This is separate from channel block streaming.
|
|
22
|
+
- **Tests:** grammy mocks cover DM + group mention gating and outbound send; more media/webhook fixtures still welcome.
|
|
23
|
+
|
|
24
|
+
Open questions
|
|
25
|
+
- Optional grammY plugins (throttler) if we hit Bot API 429s.
|
|
26
|
+
- Add more structured media tests (stickers, voice notes).
|
|
27
|
+
- Make webhook listen port configurable (currently fixed to 8787 unless wired through the gateway).
|