@gguf/claw 2026.2.1 → 2026.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +138 -1
- package/README.md +42 -39
- package/dist/acp/client.d.ts +1 -1
- package/dist/acp/client.js +1 -1
- package/dist/acp/server.js +1 -1
- package/dist/acp/translator.d.ts +1 -1
- package/dist/acp/translator.js +3 -3
- package/dist/agents/agent-scope.d.ts +2 -0
- package/dist/agents/agent-scope.js +9 -0
- package/dist/agents/anthropic-payload-log.js +2 -2
- package/dist/agents/apply-patch.js +1 -1
- package/dist/agents/auth-profiles/oauth.js +12 -3
- package/dist/agents/auth-profiles/session-override.js +1 -1
- package/dist/agents/bash-tools.exec.d.ts +1 -1
- package/dist/agents/bash-tools.exec.js +51 -9
- package/dist/agents/bootstrap-files.d.ts +1 -1
- package/dist/agents/bootstrap-files.js +1 -1
- package/dist/agents/cache-trace.js +1 -1
- package/dist/agents/cli-credentials.d.ts +1 -1
- package/dist/agents/cli-runner/helpers.js +2 -2
- package/dist/agents/cli-runner.js +2 -2
- package/dist/agents/context-window-guard.js +10 -11
- package/dist/agents/model-auth.js +2 -2
- package/dist/agents/model-fallback.js +1 -1
- package/dist/agents/model-selection.js +1 -1
- package/dist/agents/models-config.providers.js +1 -1
- package/dist/agents/openclaw-tools.js +2 -1
- package/dist/agents/pi-embedded-block-chunker.d.ts +2 -0
- package/dist/agents/pi-embedded-block-chunker.js +85 -26
- package/dist/agents/pi-embedded-helpers/errors.d.ts +1 -0
- package/dist/agents/pi-embedded-helpers/errors.js +13 -0
- package/dist/agents/pi-embedded-runner/compact.d.ts +2 -2
- package/dist/agents/pi-embedded-runner/compact.js +20 -24
- package/dist/agents/pi-embedded-runner/extensions.js +8 -0
- package/dist/agents/pi-embedded-runner/extra-params.d.ts +1 -0
- package/dist/agents/pi-embedded-runner/extra-params.js +50 -12
- package/dist/agents/pi-embedded-runner/google.d.ts +1 -1
- package/dist/agents/pi-embedded-runner/google.js +6 -5
- package/dist/agents/pi-embedded-runner/model.d.ts +1 -1
- package/dist/agents/pi-embedded-runner/model.js +1 -1
- package/dist/agents/pi-embedded-runner/run/attempt.js +34 -34
- package/dist/agents/pi-embedded-runner/run/images.js +3 -3
- package/dist/agents/pi-embedded-runner/run/params.d.ts +1 -1
- package/dist/agents/pi-embedded-runner/run/types.d.ts +3 -3
- package/dist/agents/pi-embedded-runner/system-prompt.d.ts +3 -1
- package/dist/agents/pi-embedded-runner/system-prompt.js +9 -2
- package/dist/agents/pi-embedded-runner/types.d.ts +1 -1
- package/dist/agents/pi-embedded-subscribe.handlers.messages.js +2 -2
- package/dist/agents/pi-embedded-subscribe.handlers.types.d.ts +1 -1
- package/dist/agents/pi-embedded-subscribe.tools.js +1 -1
- package/dist/agents/pi-extensions/compaction-safeguard-runtime.d.ts +1 -0
- package/dist/agents/pi-extensions/compaction-safeguard.js +3 -2
- package/dist/agents/pi-model-discovery.js +1 -1
- package/dist/agents/pi-tool-definition-adapter.d.ts +4 -1
- package/dist/agents/pi-tool-definition-adapter.js +48 -7
- package/dist/agents/pi-tools.abort.js +9 -1
- package/dist/agents/pi-tools.before-tool-call.d.ts +25 -0
- package/dist/agents/pi-tools.before-tool-call.js +69 -0
- package/dist/agents/pi-tools.d.ts +3 -3
- package/dist/agents/pi-tools.js +9 -4
- package/dist/agents/pi-tools.policy.js +2 -2
- package/dist/agents/pi-tools.read.js +1 -1
- package/dist/agents/sandbox/context.js +1 -1
- package/dist/agents/sandbox/docker.js +2 -2
- package/dist/agents/sandbox/runtime-status.js +1 -1
- package/dist/agents/session-file-repair.d.ts +11 -0
- package/dist/agents/session-file-repair.js +83 -0
- package/dist/agents/session-tool-result-guard-wrapper.js +15 -14
- package/dist/agents/session-tool-result-guard.js +20 -8
- package/dist/agents/session-transcript-repair.d.ts +7 -0
- package/dist/agents/session-transcript-repair.js +58 -0
- package/dist/agents/skills/refresh.js +1 -1
- package/dist/agents/skills/workspace.js +1 -1
- package/dist/agents/skills-install.js +6 -4
- package/dist/agents/subagent-announce.js +2 -2
- package/dist/agents/system-prompt-report.d.ts +1 -1
- package/dist/agents/system-prompt.js +6 -1
- package/dist/agents/timeout.js +11 -2
- package/dist/agents/tool-policy.conformance.d.ts +11 -0
- package/dist/agents/tool-policy.conformance.js +14 -0
- package/dist/agents/tool-policy.js +4 -0
- package/dist/agents/tools/browser-tool.js +3 -3
- package/dist/agents/tools/browser-tool.schema.d.ts +2 -2
- package/dist/agents/tools/canvas-tool.js +1 -1
- package/dist/agents/tools/cron-tool.js +2 -2
- package/dist/agents/tools/discord-actions-messaging.js +2 -2
- package/dist/agents/tools/gateway-tool.js +8 -3
- package/dist/agents/tools/image-tool.js +3 -3
- package/dist/agents/tools/message-tool.d.ts +1 -0
- package/dist/agents/tools/message-tool.js +16 -5
- package/dist/agents/tools/nodes-tool.js +33 -2
- package/dist/agents/tools/session-status-tool.js +2 -2
- package/dist/agents/tools/sessions-helpers.js +1 -1
- package/dist/agents/tools/sessions-list-tool.js +1 -1
- package/dist/agents/tools/sessions-send-tool.d.ts +1 -1
- package/dist/agents/tools/sessions-send-tool.js +1 -1
- package/dist/agents/tools/sessions-spawn-tool.js +7 -4
- package/dist/agents/tools/telegram-actions.js +1 -1
- package/dist/agents/tools/web-fetch.js +117 -101
- package/dist/agents/tools/web-search.js +15 -8
- package/dist/agents/transcript-policy.js +1 -1
- package/dist/agents/workspace.js +1 -1
- package/dist/auto-reply/commands-registry.d.ts +1 -1
- package/dist/auto-reply/commands-registry.data.js +1 -1
- package/dist/auto-reply/commands-registry.js +1 -1
- package/dist/auto-reply/dispatch.d.ts +1 -1
- package/dist/auto-reply/dispatch.js +1 -1
- package/dist/auto-reply/envelope.d.ts +1 -1
- package/dist/auto-reply/reply/abort.js +2 -2
- package/dist/auto-reply/reply/agent-runner-execution.d.ts +4 -3
- package/dist/auto-reply/reply/agent-runner-execution.js +71 -50
- package/dist/auto-reply/reply/agent-runner-helpers.d.ts +2 -2
- package/dist/auto-reply/reply/agent-runner-memory.d.ts +1 -1
- package/dist/auto-reply/reply/agent-runner.d.ts +4 -3
- package/dist/auto-reply/reply/agent-runner.js +2 -2
- package/dist/auto-reply/reply/block-reply-coalescer.js +14 -1
- package/dist/auto-reply/reply/block-streaming.d.ts +5 -0
- package/dist/auto-reply/reply/block-streaming.js +20 -12
- package/dist/auto-reply/reply/commands-allowlist.js +8 -8
- package/dist/auto-reply/reply/commands-approve.js +1 -1
- package/dist/auto-reply/reply/commands-config.js +3 -3
- package/dist/auto-reply/reply/commands-context-report.js +4 -4
- package/dist/auto-reply/reply/commands-core.js +35 -31
- package/dist/auto-reply/reply/commands-info.js +1 -1
- package/dist/auto-reply/reply/commands-models.js +1 -1
- package/dist/auto-reply/reply/commands-ptt.d.ts +2 -0
- package/dist/auto-reply/reply/commands-ptt.js +171 -0
- package/dist/auto-reply/reply/commands-session.js +2 -2
- package/dist/auto-reply/reply/commands-status.d.ts +1 -1
- package/dist/auto-reply/reply/commands-status.js +2 -2
- package/dist/auto-reply/reply/commands-subagents.js +2 -2
- package/dist/auto-reply/reply/commands-types.d.ts +1 -1
- package/dist/auto-reply/reply/directive-handling.impl.d.ts +1 -1
- package/dist/auto-reply/reply/directive-handling.model-picker.d.ts +1 -1
- package/dist/auto-reply/reply/directive-handling.model.d.ts +1 -1
- package/dist/auto-reply/reply/directive-handling.model.js +1 -1
- package/dist/auto-reply/reply/directive-handling.persist.d.ts +2 -2
- package/dist/auto-reply/reply/dispatch-from-config.d.ts +1 -1
- package/dist/auto-reply/reply/dispatch-from-config.js +1 -1
- package/dist/auto-reply/reply/followup-runner.d.ts +1 -1
- package/dist/auto-reply/reply/followup-runner.js +1 -1
- package/dist/auto-reply/reply/get-reply-directives-apply.d.ts +2 -2
- package/dist/auto-reply/reply/get-reply-directives.d.ts +2 -1
- package/dist/auto-reply/reply/get-reply-inline-actions.d.ts +1 -1
- package/dist/auto-reply/reply/get-reply-inline-actions.js +6 -4
- package/dist/auto-reply/reply/get-reply-run.d.ts +4 -3
- package/dist/auto-reply/reply/get-reply-run.js +4 -3
- package/dist/auto-reply/reply/get-reply.d.ts +1 -1
- package/dist/auto-reply/reply/get-reply.js +35 -9
- package/dist/auto-reply/reply/inbound-dedupe.d.ts +1 -1
- package/dist/auto-reply/reply/model-selection.d.ts +2 -2
- package/dist/auto-reply/reply/model-selection.js +1 -1
- package/dist/auto-reply/reply/normalize-reply.js +2 -2
- package/dist/auto-reply/reply/provider-dispatcher.d.ts +1 -1
- package/dist/auto-reply/reply/queue/types.d.ts +1 -1
- package/dist/auto-reply/reply/reply-dispatcher.d.ts +1 -1
- package/dist/auto-reply/reply/reply-dispatcher.js +1 -2
- package/dist/auto-reply/reply/reply-elevated.js +1 -1
- package/dist/auto-reply/reply/route-reply.d.ts +1 -1
- package/dist/auto-reply/reply/session-reset-model.d.ts +1 -1
- package/dist/auto-reply/reply/session-reset-model.js +1 -1
- package/dist/auto-reply/reply/session.d.ts +1 -1
- package/dist/auto-reply/reply/session.js +4 -4
- package/dist/auto-reply/skill-commands.js +1 -1
- package/dist/auto-reply/status.d.ts +3 -3
- package/dist/auto-reply/status.js +2 -2
- package/dist/auto-reply/templating.d.ts +1 -1
- package/dist/browser/cdp.helpers.d.ts +3 -1
- package/dist/browser/cdp.helpers.js +7 -4
- package/dist/browser/chrome.d.ts +1 -1
- package/dist/browser/chrome.js +1 -1
- package/dist/browser/config.js +1 -1
- package/dist/browser/extension-relay.d.ts +1 -0
- package/dist/browser/extension-relay.js +64 -0
- package/dist/browser/profiles-service.js +1 -1
- package/dist/browser/profiles.js +0 -1
- package/dist/browser/pw-session.js +2 -1
- package/dist/browser/routes/agent.shared.d.ts +1 -1
- package/dist/build-info.json +2 -2
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/canvas-host/server.d.ts +1 -1
- package/dist/canvas-host/server.js +1 -1
- package/dist/channels/dock.js +2 -2
- package/dist/channels/plugins/actions/discord/handle-action.js +1 -1
- package/dist/channels/plugins/directory-config.js +2 -2
- package/dist/channels/plugins/index.js +1 -1
- package/dist/channels/plugins/onboarding/discord.js +1 -1
- package/dist/channels/plugins/onboarding/signal.js +1 -1
- package/dist/channels/plugins/onboarding/telegram.js +1 -1
- package/dist/channels/plugins/onboarding/whatsapp.js +1 -1
- package/dist/channels/plugins/outbound/whatsapp.js +1 -1
- package/dist/channels/plugins/pairing.d.ts +1 -1
- package/dist/channels/plugins/types.adapters.d.ts +1 -1
- package/dist/channels/reply-prefix.d.ts +1 -1
- package/dist/cli/browser-cli-actions-input/register.files-downloads.js +1 -1
- package/dist/cli/browser-cli-actions-observe.js +1 -1
- package/dist/cli/browser-cli-debug.js +1 -1
- package/dist/cli/browser-cli-extension.js +1 -1
- package/dist/cli/browser-cli.js +2 -2
- package/dist/cli/channel-options.js +1 -1
- package/dist/cli/channels-cli.js +1 -1
- package/dist/cli/command-format.js +1 -1
- package/dist/cli/config-cli.js +1 -1
- package/dist/cli/cron-cli/register.cron-add.js +1 -1
- package/dist/cli/cron-cli/register.cron-edit.js +1 -1
- package/dist/cli/daemon-cli/install.js +1 -1
- package/dist/cli/daemon-cli/lifecycle.js +1 -1
- package/dist/cli/daemon-cli/status.gather.d.ts +1 -1
- package/dist/cli/daemon-cli/status.gather.js +1 -1
- package/dist/cli/deps.d.ts +1 -1
- package/dist/cli/devices-cli.js +1 -1
- package/dist/cli/directory-cli.js +2 -2
- package/dist/cli/exec-approvals-cli.js +3 -3
- package/dist/cli/gateway-cli/dev.js +1 -1
- package/dist/cli/gateway-cli/register.js +1 -1
- package/dist/cli/hooks-cli.js +12 -5
- package/dist/cli/memory-cli.js +3 -3
- package/dist/cli/node-cli/daemon.js +2 -2
- package/dist/cli/node-cli/register.js +3 -3
- package/dist/cli/nodes-cli/register.camera.js +2 -2
- package/dist/cli/nodes-cli/register.canvas.js +1 -1
- package/dist/cli/nodes-cli/register.invoke.js +4 -4
- package/dist/cli/nodes-cli/register.pairing.js +2 -2
- package/dist/cli/nodes-cli/register.screen.js +1 -1
- package/dist/cli/nodes-cli/register.status.js +4 -4
- package/dist/cli/pairing-cli.js +1 -1
- package/dist/cli/ports.js +1 -3
- package/dist/cli/program/build-program.js +1 -1
- package/dist/cli/program/config-guard.js +2 -2
- package/dist/cli/program/message/helpers.js +1 -1
- package/dist/cli/program/preaction.js +5 -5
- package/dist/cli/program/register.agent.js +2 -2
- package/dist/cli/program/register.message.js +1 -1
- package/dist/cli/program/register.setup.js +1 -1
- package/dist/cli/program/register.status-health-sessions.js +1 -1
- package/dist/cli/progress.js +1 -1
- package/dist/cli/route.js +4 -4
- package/dist/cli/run-main.js +1 -1
- package/dist/cli/sandbox-cli.js +1 -1
- package/dist/cli/update-cli.js +16 -10
- package/dist/cli/webhooks-cli.js +1 -1
- package/dist/commands/agent/delivery.d.ts +1 -1
- package/dist/commands/agent/delivery.js +1 -1
- package/dist/commands/agent/session.d.ts +1 -1
- package/dist/commands/agent-via-gateway.d.ts +1 -1
- package/dist/commands/agent-via-gateway.js +3 -3
- package/dist/commands/agent.d.ts +1 -1
- package/dist/commands/agent.js +8 -6
- package/dist/commands/agents.commands.add.js +1 -1
- package/dist/commands/agents.commands.list.js +1 -1
- package/dist/commands/auth-choice-options.js +1 -1
- package/dist/commands/auth-choice.apply.minimax.js +1 -1
- package/dist/commands/auth-choice.apply.oauth.js +1 -1
- package/dist/commands/auth-choice.apply.openai.js +1 -1
- package/dist/commands/auth-choice.apply.plugin-provider.js +2 -2
- package/dist/commands/channels/capabilities.js +1 -1
- package/dist/commands/channels/logs.js +1 -1
- package/dist/commands/channels/resolve.js +1 -1
- package/dist/commands/channels/status.js +1 -1
- package/dist/commands/configure.daemon.js +3 -3
- package/dist/commands/configure.gateway-auth.js +1 -1
- package/dist/commands/configure.wizard.js +2 -2
- package/dist/commands/daemon-install-helpers.js +2 -2
- package/dist/commands/docs.js +1 -1
- package/dist/commands/doctor-auth.js +1 -1
- package/dist/commands/doctor-config-flow.js +2 -2
- package/dist/commands/doctor-format.js +1 -1
- package/dist/commands/doctor-gateway-daemon-flow.js +4 -4
- package/dist/commands/doctor-gateway-health.js +1 -1
- package/dist/commands/doctor-gateway-services.js +1 -1
- package/dist/commands/doctor-sandbox.js +3 -1
- package/dist/commands/doctor-security.js +2 -2
- package/dist/commands/doctor-update.js +2 -2
- package/dist/commands/doctor.js +2 -2
- package/dist/commands/gateway-status.js +1 -1
- package/dist/commands/health.d.ts +1 -1
- package/dist/commands/health.js +1 -1
- package/dist/commands/message.d.ts +1 -1
- package/dist/commands/models/auth.js +7 -7
- package/dist/commands/models/list.auth-overview.d.ts +1 -1
- package/dist/commands/models/list.probe.js +3 -3
- package/dist/commands/models/list.registry.js +1 -1
- package/dist/commands/models/list.status-command.js +4 -4
- package/dist/commands/models/shared.js +1 -1
- package/dist/commands/onboard-channels.js +4 -4
- package/dist/commands/onboard-helpers.js +2 -2
- package/dist/commands/onboard-hooks.js +1 -1
- package/dist/commands/onboard-interactive.js +4 -0
- package/dist/commands/onboard-non-interactive/local/auth-choice.js +1 -1
- package/dist/commands/onboard-non-interactive/local/daemon-install.js +1 -1
- package/dist/commands/onboard-non-interactive/local.js +1 -1
- package/dist/commands/onboard-non-interactive/remote.js +1 -1
- package/dist/commands/onboard.js +4 -3
- package/dist/commands/onboarding/plugin-install.js +2 -2
- package/dist/commands/reset.js +1 -1
- package/dist/commands/setup.js +1 -1
- package/dist/commands/status-all/diagnosis.js +4 -4
- package/dist/commands/status-all.js +4 -4
- package/dist/commands/status.command.js +5 -5
- package/dist/commands/status.daemon.js +1 -1
- package/dist/commands/status.scan.d.ts +3 -3
- package/dist/commands/status.scan.js +1 -1
- package/dist/commands/status.update.js +1 -1
- package/dist/commands/uninstall.js +1 -1
- package/dist/config/defaults.js +5 -5
- package/dist/config/includes.js +1 -1
- package/dist/config/io.d.ts +1 -1
- package/dist/config/io.js +2 -2
- package/dist/config/plugin-auto-enable.js +2 -2
- package/dist/config/schema.js +8 -0
- package/dist/config/sessions/main-session.d.ts +1 -1
- package/dist/config/sessions/reset.js +1 -1
- package/dist/config/sessions/store.d.ts +1 -1
- package/dist/config/sessions/store.js +2 -2
- package/dist/config/sessions/transcript.js +3 -3
- package/dist/config/types.agent-defaults.d.ts +4 -2
- package/dist/config/types.agents.d.ts +2 -0
- package/dist/config/types.channels.d.ts +1 -1
- package/dist/config/types.discord.d.ts +3 -0
- package/dist/config/types.msteams.d.ts +5 -0
- package/dist/config/zod-schema.agent-defaults.d.ts +1 -0
- package/dist/config/zod-schema.agent-defaults.js +1 -0
- package/dist/config/zod-schema.agent-runtime.d.ts +2 -0
- package/dist/config/zod-schema.agent-runtime.js +2 -0
- package/dist/config/zod-schema.agents.d.ts +3 -0
- package/dist/config/zod-schema.d.ts +12 -0
- package/dist/config/zod-schema.js +1 -1
- package/dist/config/zod-schema.providers-core.d.ts +13 -0
- package/dist/config/zod-schema.providers-core.js +42 -2
- package/dist/config/zod-schema.providers-whatsapp.js +1 -1
- package/dist/config/zod-schema.providers.d.ts +9 -0
- package/dist/config/zod-schema.providers.js +2 -2
- package/dist/control-ui/assets/index-B6zgZRLn.js +4586 -0
- package/dist/control-ui/assets/index-B6zgZRLn.js.map +1 -0
- package/dist/control-ui/assets/index-BVBLXya3.css +1 -0
- package/dist/control-ui/index.html +3 -3
- package/dist/cron/isolated-agent/run.d.ts +1 -1
- package/dist/cron/isolated-agent/run.js +3 -4
- package/dist/cron/service.d.ts +1 -1
- package/dist/cron/store.js +1 -1
- package/dist/daemon/launchd.js +2 -2
- package/dist/daemon/node-service.js +1 -1
- package/dist/daemon/schtasks.js +1 -1
- package/dist/daemon/systemd.js +2 -2
- package/dist/discord/directory-live.d.ts +1 -1
- package/dist/discord/monitor/allow-list.d.ts +1 -1
- package/dist/discord/monitor/allow-list.js +3 -3
- package/dist/discord/monitor/exec-approvals.d.ts +1 -1
- package/dist/discord/monitor/exec-approvals.js +1 -1
- package/dist/discord/monitor/listeners.js +2 -1
- package/dist/discord/monitor/message-handler.preflight.js +83 -48
- package/dist/discord/monitor/message-handler.preflight.types.d.ts +3 -0
- package/dist/discord/monitor/message-handler.process.js +21 -18
- package/dist/discord/monitor/native-command.js +19 -16
- package/dist/discord/monitor/provider.js +2 -2
- package/dist/discord/monitor/reply-context.d.ts +1 -1
- package/dist/discord/monitor/reply-context.js +11 -6
- package/dist/discord/monitor/sender-identity.d.ts +31 -0
- package/dist/discord/monitor/sender-identity.js +45 -0
- package/dist/discord/monitor/threading.d.ts +1 -1
- package/dist/discord/pluralkit.d.ts +26 -0
- package/dist/discord/pluralkit.js +27 -0
- package/dist/discord/send.shared.d.ts +2 -2
- package/dist/discord/targets.d.ts +1 -1
- package/dist/gateway/assistant-identity.d.ts +1 -0
- package/dist/gateway/assistant-identity.js +35 -1
- package/dist/gateway/boot.js +1 -1
- package/dist/gateway/call.js +2 -2
- package/dist/gateway/client.js +3 -2
- package/dist/gateway/config-reload.d.ts +1 -1
- package/dist/gateway/hooks-mapping.d.ts +1 -1
- package/dist/gateway/open-responses.schema.d.ts +6 -6
- package/dist/gateway/openresponses-http.d.ts +1 -1
- package/dist/gateway/openresponses-http.js +2 -2
- package/dist/gateway/protocol/index.d.ts +30 -16
- package/dist/gateway/protocol/index.js +5 -2
- package/dist/gateway/protocol/schema/agent.d.ts +1 -0
- package/dist/gateway/protocol/schema/agent.js +1 -0
- package/dist/gateway/protocol/schema/agents-models-skills.d.ts +60 -1
- package/dist/gateway/protocol/schema/agents-models-skills.js +39 -1
- package/dist/gateway/protocol/schema/frames.d.ts +2 -2
- package/dist/gateway/protocol/schema/primitives.d.ts +2 -2
- package/dist/gateway/protocol/schema/protocol-schemas.js +9 -2
- package/dist/gateway/protocol/schema/types.d.ts +9 -2
- package/dist/gateway/server/health-state.d.ts +1 -1
- package/dist/gateway/server/health-state.js +1 -1
- package/dist/gateway/server/ws-connection/message-handler.js +61 -44
- package/dist/gateway/server-channels.d.ts +1 -1
- package/dist/gateway/server-close.d.ts +1 -1
- package/dist/gateway/server-http.d.ts +1 -1
- package/dist/gateway/server-http.js +2 -2
- package/dist/gateway/server-maintenance.d.ts +1 -1
- package/dist/gateway/server-maintenance.js +1 -1
- package/dist/gateway/server-methods/agent.js +5 -5
- package/dist/gateway/server-methods/agents.js +179 -1
- package/dist/gateway/server-methods/channels.d.ts +1 -1
- package/dist/gateway/server-methods/channels.js +1 -1
- package/dist/gateway/server-methods/chat.js +3 -3
- package/dist/gateway/server-methods/config.js +2 -2
- package/dist/gateway/server-methods/nodes.js +3 -3
- package/dist/gateway/server-methods/send.js +3 -3
- package/dist/gateway/server-methods/skills.js +12 -2
- package/dist/gateway/server-methods/types.d.ts +1 -1
- package/dist/gateway/server-methods/update.js +1 -1
- package/dist/gateway/server-methods/usage.js +1 -1
- package/dist/gateway/server-methods-list.js +3 -0
- package/dist/gateway/server-reload-handlers.js +2 -2
- package/dist/gateway/server-runtime-state.d.ts +4 -4
- package/dist/gateway/server-runtime-state.js +3 -3
- package/dist/gateway/server-startup.js +1 -1
- package/dist/gateway/server-ws-runtime.d.ts +1 -1
- package/dist/gateway/server.impl.js +15 -15
- package/dist/gateway/session-utils.d.ts +1 -1
- package/dist/gateway/sessions-patch.js +1 -1
- package/dist/gateway/test-helpers.mocks.d.ts +4 -0
- package/dist/gateway/test-helpers.mocks.js +10 -1
- package/dist/gateway/test-helpers.server.d.ts +1 -1
- package/dist/gateway/test-helpers.server.js +3 -2
- package/dist/gateway/tools-invoke-http.js +5 -1
- package/dist/gateway/ws-log.js +2 -2
- package/dist/hooks/bundled/command-logger/handler.js +1 -1
- package/dist/hooks/bundled/session-memory/handler.js +3 -2
- package/dist/hooks/gmail-ops.js +2 -2
- package/dist/hooks/gmail-watcher.js +1 -1
- package/dist/hooks/install.js +54 -5
- package/dist/hooks/llm-slug-generator.js +1 -1
- package/dist/hooks/loader.js +3 -3
- package/dist/imessage/monitor/monitor-provider.js +3 -3
- package/dist/imessage/send.js +1 -1
- package/dist/index.js +1 -1
- package/dist/infra/archive.js +1 -1
- package/dist/infra/dotenv.js +1 -1
- package/dist/infra/exec-approvals.js +32 -0
- package/dist/infra/gateway-lock.js +1 -1
- package/dist/infra/heartbeat-runner.d.ts +1 -1
- package/dist/infra/heartbeat-runner.js +2 -2
- package/dist/infra/net/fetch-guard.d.ts +20 -0
- package/dist/infra/net/fetch-guard.js +122 -0
- package/dist/infra/net/ssrf.d.ts +10 -3
- package/dist/infra/net/ssrf.js +27 -10
- package/dist/infra/outbound/agent-delivery.d.ts +2 -2
- package/dist/infra/outbound/deliver.d.ts +1 -1
- package/dist/infra/outbound/deliver.js +1 -1
- package/dist/infra/outbound/message-action-runner.d.ts +1 -1
- package/dist/infra/outbound/message-action-runner.js +6 -6
- package/dist/infra/outbound/outbound-policy.js +1 -1
- package/dist/infra/outbound/outbound-session.d.ts +1 -1
- package/dist/infra/outbound/outbound-session.js +1 -1
- package/dist/infra/outbound/target-resolver.js +1 -1
- package/dist/infra/path-env.js +1 -1
- package/dist/infra/ports-inspect.js +1 -1
- package/dist/infra/provider-usage.load.d.ts +1 -1
- package/dist/infra/provider-usage.load.js +1 -1
- package/dist/infra/retry.js +1 -1
- package/dist/infra/skills-remote.js +3 -3
- package/dist/infra/state-migrations.fs.js +1 -1
- package/dist/infra/state-migrations.js +1 -1
- package/dist/infra/tailscale.js +1 -1
- package/dist/infra/tls/gateway.js +1 -1
- package/dist/infra/update-global.d.ts +6 -0
- package/dist/infra/update-global.js +35 -0
- package/dist/infra/update-runner.js +7 -3
- package/dist/infra/update-startup.js +3 -3
- package/dist/line/auto-reply-delivery.d.ts +1 -1
- package/dist/line/bot-handlers.d.ts +1 -1
- package/dist/line/bot-handlers.js +1 -1
- package/dist/line/download.js +2 -2
- package/dist/line/monitor.js +8 -8
- package/dist/line/webhook.d.ts +1 -1
- package/dist/link-understanding/apply.d.ts +1 -1
- package/dist/link-understanding/runner.d.ts +1 -1
- package/dist/link-understanding/runner.js +1 -1
- package/dist/logging/config.js +1 -1
- package/dist/logging/console.js +1 -1
- package/dist/logging/logger.js +2 -2
- package/dist/logging/subsystem.js +2 -2
- package/dist/media/fetch.d.ts +4 -0
- package/dist/media/fetch.js +67 -52
- package/dist/media/host.js +1 -1
- package/dist/media/input-files.js +24 -57
- package/dist/media/mime.js +1 -1
- package/dist/media/server.js +2 -2
- package/dist/media/store.js +1 -1
- package/dist/media-understanding/apply.d.ts +1 -1
- package/dist/media-understanding/apply.js +156 -41
- package/dist/media-understanding/attachments.js +2 -2
- package/dist/media-understanding/providers/deepgram/audio.js +18 -12
- package/dist/media-understanding/providers/google/audio.js +22 -16
- package/dist/media-understanding/providers/google/video.js +22 -16
- package/dist/media-understanding/providers/image.js +2 -2
- package/dist/media-understanding/providers/openai/audio.js +18 -12
- package/dist/media-understanding/providers/shared.d.ts +7 -0
- package/dist/media-understanding/providers/shared.js +12 -0
- package/dist/media-understanding/resolve.d.ts +1 -1
- package/dist/media-understanding/runner.d.ts +2 -2
- package/dist/media-understanding/runner.js +3 -3
- package/dist/memory/batch-gemini.js +1 -1
- package/dist/memory/embeddings.js +10 -2
- package/dist/memory/manager-cache-key.js +1 -1
- package/dist/memory/manager.js +6 -6
- package/dist/memory/provider-key.js +1 -1
- package/dist/node-host/runner.js +10 -10
- package/dist/plugins/discovery.d.ts +1 -1
- package/dist/plugins/hook-runner-global.d.ts +1 -1
- package/dist/plugins/hooks.js +2 -0
- package/dist/plugins/http-registry.js +1 -1
- package/dist/plugins/install.js +49 -4
- package/dist/plugins/loader.d.ts +1 -1
- package/dist/plugins/loader.js +5 -5
- package/dist/plugins/manifest-registry.d.ts +1 -1
- package/dist/plugins/manifest.d.ts +1 -1
- package/dist/plugins/providers.d.ts +1 -1
- package/dist/plugins/registry.d.ts +3 -3
- package/dist/plugins/registry.js +1 -1
- package/dist/plugins/runtime/index.js +22 -22
- package/dist/plugins/status.d.ts +1 -1
- package/dist/plugins/types.d.ts +6 -6
- package/dist/plugins/update.js +12 -1
- package/dist/process/exec.js +23 -2
- package/dist/routing/resolve-route.d.ts +3 -1
- package/dist/routing/resolve-route.js +10 -0
- package/dist/runtime.js +2 -0
- package/dist/security/audit-extra.js +8 -8
- package/dist/security/audit.d.ts +2 -2
- package/dist/security/audit.js +6 -5
- package/dist/security/external-content.d.ts +7 -2
- package/dist/security/external-content.js +81 -3
- package/dist/security/fix.js +4 -4
- package/dist/sessions/level-overrides.d.ts +1 -1
- package/dist/signal/monitor/event-handler.js +2 -2
- package/dist/signal/monitor.js +1 -1
- package/dist/slack/directory-live.d.ts +1 -1
- package/dist/slack/directory-live.js +1 -1
- package/dist/slack/monitor/context.d.ts +2 -2
- package/dist/slack/monitor/context.js +1 -1
- package/dist/slack/monitor/events/channels.js +2 -2
- package/dist/slack/monitor/media.d.ts +2 -2
- package/dist/slack/monitor/media.js +77 -11
- package/dist/slack/monitor/message-handler/dispatch.js +1 -1
- package/dist/slack/monitor/message-handler/prepare.d.ts +1 -1
- package/dist/slack/monitor/message-handler/prepare.js +8 -8
- package/dist/slack/monitor/message-handler/types.d.ts +1 -1
- package/dist/slack/monitor/provider.js +3 -3
- package/dist/slack/monitor/replies.js +1 -1
- package/dist/slack/monitor/slash.js +9 -7
- package/dist/slack/send.js +1 -1
- package/dist/telegram/bot/delivery.d.ts +3 -2
- package/dist/telegram/bot/delivery.js +13 -13
- package/dist/telegram/bot/helpers.d.ts +11 -2
- package/dist/telegram/bot/helpers.js +24 -5
- package/dist/telegram/bot-handlers.d.ts +2 -15
- package/dist/telegram/bot-handlers.js +10 -10
- package/dist/telegram/bot-message-context.d.ts +2 -1
- package/dist/telegram/bot-message-context.js +23 -17
- package/dist/telegram/bot-message-dispatch.d.ts +1 -12
- package/dist/telegram/bot-message-dispatch.js +11 -10
- package/dist/telegram/bot-native-commands.d.ts +29 -2
- package/dist/telegram/bot-native-commands.js +37 -22
- package/dist/telegram/bot.js +6 -4
- package/dist/telegram/download.d.ts +2 -2
- package/dist/telegram/download.js +4 -4
- package/dist/telegram/draft-stream.d.ts +2 -1
- package/dist/telegram/draft-stream.js +1 -1
- package/dist/telegram/monitor.js +105 -100
- package/dist/telegram/network-errors.js +10 -0
- package/dist/telegram/send.d.ts +1 -1
- package/dist/telegram/send.js +10 -8
- package/dist/telegram/sticker-cache.js +4 -4
- package/dist/telegram/webhook-set.js +1 -1
- package/dist/telegram/webhook.js +3 -3
- package/dist/terminal/restore.d.ts +1 -0
- package/dist/terminal/restore.js +45 -0
- package/dist/terminal/table.js +1 -1
- package/dist/tts/tts.js +5 -5
- package/dist/tui/components/filterable-select-list.d.ts +1 -1
- package/dist/tui/components/searchable-select-list.js +3 -3
- package/dist/tui/tui-formatters.js +1 -1
- package/dist/tui/tui.js +7 -1
- package/dist/web/accounts.js +2 -2
- package/dist/web/auth-store.d.ts +1 -1
- package/dist/web/auth-store.js +1 -1
- package/dist/web/auto-reply/deliver-reply.d.ts +2 -2
- package/dist/web/auto-reply/deliver-reply.js +2 -2
- package/dist/web/auto-reply/heartbeat-runner.js +1 -1
- package/dist/web/auto-reply/monitor/ack-reaction.js +1 -1
- package/dist/web/auto-reply/monitor/group-gating.js +2 -2
- package/dist/web/auto-reply/monitor/message-line.d.ts +1 -1
- package/dist/web/auto-reply/monitor/process-message.js +3 -3
- package/dist/web/auto-reply/monitor.d.ts +1 -1
- package/dist/web/auto-reply/monitor.js +3 -3
- package/dist/web/inbound/monitor.js +1 -1
- package/dist/web/login-qr.js +1 -1
- package/dist/web/login.js +1 -1
- package/dist/web/media.d.ts +7 -2
- package/dist/web/media.js +15 -5
- package/dist/web/outbound.js +3 -3
- package/dist/web/session.js +2 -2
- package/dist/wizard/onboarding.finalize.d.ts +3 -1
- package/dist/wizard/onboarding.finalize.js +9 -10
- package/dist/wizard/onboarding.js +8 -5
- package/docs/.i18n/README.md +31 -0
- package/docs/.i18n/glossary.zh-CN.json +134 -0
- package/docs/.i18n/zh-CN.tm.jsonl +1371 -0
- package/docs/channels/bluebubbles.md +2 -2
- package/docs/channels/discord.md +35 -0
- package/docs/channels/grammy.md +1 -1
- package/docs/channels/msteams.md +2 -0
- package/docs/channels/telegram.md +5 -5
- package/docs/channels/twitch.md +7 -5
- package/docs/concepts/model-providers.md +12 -9
- package/docs/concepts/session-pruning.md +6 -6
- package/docs/docs.json +628 -301
- package/docs/gateway/configuration.md +1 -1
- package/docs/gateway/security/index.md +2 -1
- package/docs/gateway/troubleshooting.md +2 -2
- package/docs/help/faq.md +24 -11
- package/docs/help/troubleshooting.md +2 -2
- package/docs/index.md +2 -2
- package/docs/install/docker.md +85 -0
- package/docs/install/index.md +11 -7
- package/docs/install/installer.md +6 -6
- package/docs/install/uninstall.md +1 -1
- package/docs/install/updating.md +4 -4
- package/docs/nodes/index.md +22 -0
- package/docs/pi.md +20 -8
- package/docs/platforms/digitalocean.md +1 -1
- package/docs/platforms/exe-dev.md +3 -3
- package/docs/platforms/mac/release.md +7 -7
- package/docs/platforms/oracle.md +1 -1
- package/docs/platforms/raspberry-pi.md +1 -1
- package/docs/platforms/windows.md +2 -1
- package/docs/providers/anthropic.md +24 -4
- package/docs/providers/index.md +3 -3
- package/docs/providers/minimax.md +4 -4
- package/docs/providers/models.md +3 -3
- package/docs/providers/moonshot.md +4 -3
- package/docs/reference/RELEASING.md +3 -3
- package/docs/reference/templates/BOOTSTRAP.md +7 -0
- package/docs/reference/transcript-hygiene.md +23 -1
- package/docs/start/getting-started.md +1 -1
- package/docs/start/onboarding.md +10 -6
- package/docs/testing.md +1 -1
- package/docs/token-use.md +1 -1
- package/docs/tools/browser.md +14 -0
- package/docs/tools/chrome-extension.md +1 -0
- package/docs/tools/clawhub.md +56 -1
- package/docs/tools/exec-approvals.md +2 -0
- package/docs/tools/exec.md +7 -5
- package/docs/tools/skills.md +1 -1
- package/docs/tools/subagents.md +1 -0
- package/docs/web/control-ui.md +30 -0
- package/docs/whatsapp-openclaw-ai-zh.jpg +0 -0
- package/docs/zh-CN/automation/auth-monitoring.md +47 -0
- package/docs/zh-CN/automation/cron-jobs.md +434 -0
- package/docs/zh-CN/automation/cron-vs-heartbeat.md +286 -0
- package/docs/zh-CN/automation/gmail-pubsub.md +249 -0
- package/docs/zh-CN/automation/poll.md +75 -0
- package/docs/zh-CN/automation/webhook.md +163 -0
- package/docs/zh-CN/bedrock.md +170 -0
- package/docs/zh-CN/brave-search.md +48 -0
- package/docs/zh-CN/broadcast-groups.md +449 -0
- package/docs/zh-CN/channels/bluebubbles.md +271 -0
- package/docs/zh-CN/channels/discord.md +463 -0
- package/docs/zh-CN/channels/googlechat.md +257 -0
- package/docs/zh-CN/channels/grammy.md +38 -0
- package/docs/zh-CN/channels/imessage.md +302 -0
- package/docs/zh-CN/channels/index.md +50 -0
- package/docs/zh-CN/channels/line.md +180 -0
- package/docs/zh-CN/channels/location.md +63 -0
- package/docs/zh-CN/channels/matrix.md +221 -0
- package/docs/zh-CN/channels/mattermost.md +142 -0
- package/docs/zh-CN/channels/msteams.md +770 -0
- package/docs/zh-CN/channels/nextcloud-talk.md +141 -0
- package/docs/zh-CN/channels/nostr.md +240 -0
- package/docs/zh-CN/channels/signal.md +209 -0
- package/docs/zh-CN/channels/slack.md +530 -0
- package/docs/zh-CN/channels/telegram.md +755 -0
- package/docs/zh-CN/channels/tlon.md +138 -0
- package/docs/zh-CN/channels/troubleshooting.md +36 -0
- package/docs/zh-CN/channels/twitch.md +384 -0
- package/docs/zh-CN/channels/whatsapp.md +410 -0
- package/docs/zh-CN/channels/zalo.md +196 -0
- package/docs/zh-CN/channels/zalouser.md +147 -0
- package/docs/zh-CN/cli/acp.md +173 -0
- package/docs/zh-CN/cli/agent.md +31 -0
- package/docs/zh-CN/cli/agents.md +82 -0
- package/docs/zh-CN/cli/approvals.md +57 -0
- package/docs/zh-CN/cli/browser.md +114 -0
- package/docs/zh-CN/cli/channels.md +86 -0
- package/docs/zh-CN/cli/config.md +56 -0
- package/docs/zh-CN/cli/configure.md +40 -0
- package/docs/zh-CN/cli/cron.md +38 -0
- package/docs/zh-CN/cli/dashboard.md +23 -0
- package/docs/zh-CN/cli/devices.md +74 -0
- package/docs/zh-CN/cli/directory.md +70 -0
- package/docs/zh-CN/cli/dns.md +30 -0
- package/docs/zh-CN/cli/docs.md +22 -0
- package/docs/zh-CN/cli/doctor.md +48 -0
- package/docs/zh-CN/cli/gateway.md +202 -0
- package/docs/zh-CN/cli/health.md +28 -0
- package/docs/zh-CN/cli/hooks.md +310 -0
- package/docs/zh-CN/cli/index.md +1033 -0
- package/docs/zh-CN/cli/logs.md +31 -0
- package/docs/zh-CN/cli/memory.md +52 -0
- package/docs/zh-CN/cli/message.md +246 -0
- package/docs/zh-CN/cli/models.md +85 -0
- package/docs/zh-CN/cli/node.md +115 -0
- package/docs/zh-CN/cli/nodes.md +79 -0
- package/docs/zh-CN/cli/onboard.md +36 -0
- package/docs/zh-CN/cli/pairing.md +28 -0
- package/docs/zh-CN/cli/plugins.md +66 -0
- package/docs/zh-CN/cli/reset.md +24 -0
- package/docs/zh-CN/cli/sandbox.md +158 -0
- package/docs/zh-CN/cli/security.md +33 -0
- package/docs/zh-CN/cli/sessions.md +23 -0
- package/docs/zh-CN/cli/setup.md +36 -0
- package/docs/zh-CN/cli/skills.md +33 -0
- package/docs/zh-CN/cli/status.md +33 -0
- package/docs/zh-CN/cli/system.md +63 -0
- package/docs/zh-CN/cli/tui.md +30 -0
- package/docs/zh-CN/cli/uninstall.md +24 -0
- package/docs/zh-CN/cli/update.md +101 -0
- package/docs/zh-CN/cli/voicecall.md +41 -0
- package/docs/zh-CN/cli/webhooks.md +32 -0
- package/docs/zh-CN/concepts/agent-loop.md +150 -0
- package/docs/zh-CN/concepts/agent-workspace.md +214 -0
- package/docs/zh-CN/concepts/agent.md +114 -0
- package/docs/zh-CN/concepts/architecture.md +123 -0
- package/docs/zh-CN/concepts/channel-routing.md +117 -0
- package/docs/zh-CN/concepts/compaction.md +67 -0
- package/docs/zh-CN/concepts/context.md +168 -0
- package/docs/zh-CN/concepts/group-messages.md +91 -0
- package/docs/zh-CN/concepts/groups.md +380 -0
- package/docs/zh-CN/concepts/markdown-formatting.md +117 -0
- package/docs/zh-CN/concepts/memory.md +409 -0
- package/docs/zh-CN/concepts/messages.md +141 -0
- package/docs/zh-CN/concepts/model-failover.md +156 -0
- package/docs/zh-CN/concepts/model-providers.md +317 -0
- package/docs/zh-CN/concepts/models.md +196 -0
- package/docs/zh-CN/concepts/multi-agent.md +369 -0
- package/docs/zh-CN/concepts/oauth.md +151 -0
- package/docs/zh-CN/concepts/presence.md +99 -0
- package/docs/zh-CN/concepts/queue.md +94 -0
- package/docs/zh-CN/concepts/retry.md +76 -0
- package/docs/zh-CN/concepts/session-pruning.md +129 -0
- package/docs/zh-CN/concepts/session-tool.md +200 -0
- package/docs/zh-CN/concepts/session.md +166 -0
- package/docs/zh-CN/concepts/sessions.md +17 -0
- package/docs/zh-CN/concepts/streaming.md +133 -0
- package/docs/zh-CN/concepts/system-prompt.md +101 -0
- package/docs/zh-CN/concepts/timezone.md +96 -0
- package/docs/zh-CN/concepts/typebox.md +284 -0
- package/docs/zh-CN/concepts/typing-indicators.md +74 -0
- package/docs/zh-CN/concepts/usage-tracking.md +42 -0
- package/docs/zh-CN/date-time.md +129 -0
- package/docs/zh-CN/debug/node-issue.md +90 -0
- package/docs/zh-CN/debugging.md +160 -0
- package/docs/zh-CN/diagnostics/flags.md +98 -0
- package/docs/zh-CN/environment.md +88 -0
- package/docs/zh-CN/experiments/onboarding-config-protocol.md +47 -0
- package/docs/zh-CN/experiments/plans/cron-add-hardening.md +70 -0
- package/docs/zh-CN/experiments/plans/group-policy-hardening.md +45 -0
- package/docs/zh-CN/experiments/plans/openresponses-gateway.md +121 -0
- package/docs/zh-CN/experiments/proposals/model-config.md +42 -0
- package/docs/zh-CN/experiments/research/memory.md +235 -0
- package/docs/zh-CN/gateway/authentication.md +142 -0
- package/docs/zh-CN/gateway/background-process.md +100 -0
- package/docs/zh-CN/gateway/bonjour.md +160 -0
- package/docs/zh-CN/gateway/bridge-protocol.md +84 -0
- package/docs/zh-CN/gateway/cli-backends.md +214 -0
- package/docs/zh-CN/gateway/configuration-examples.md +587 -0
- package/docs/zh-CN/gateway/configuration.md +3331 -0
- package/docs/zh-CN/gateway/discovery.md +123 -0
- package/docs/zh-CN/gateway/doctor.md +236 -0
- package/docs/zh-CN/gateway/gateway-lock.md +41 -0
- package/docs/zh-CN/gateway/health.md +42 -0
- package/docs/zh-CN/gateway/heartbeat.md +274 -0
- package/docs/zh-CN/gateway/index.md +328 -0
- package/docs/zh-CN/gateway/local-models.md +157 -0
- package/docs/zh-CN/gateway/logging.md +116 -0
- package/docs/zh-CN/gateway/multiple-gateways.md +119 -0
- package/docs/zh-CN/gateway/openai-http-api.md +125 -0
- package/docs/zh-CN/gateway/openresponses-http-api.md +319 -0
- package/docs/zh-CN/gateway/pairing.md +99 -0
- package/docs/zh-CN/gateway/protocol.md +211 -0
- package/docs/zh-CN/gateway/remote-gateway-readme.md +164 -0
- package/docs/zh-CN/gateway/remote.md +133 -0
- package/docs/zh-CN/gateway/sandbox-vs-tool-policy-vs-elevated.md +135 -0
- package/docs/zh-CN/gateway/sandboxing.md +196 -0
- package/docs/zh-CN/gateway/security/formal-verification.md +169 -0
- package/docs/zh-CN/gateway/security/index.md +777 -0
- package/docs/zh-CN/gateway/tailscale.md +120 -0
- package/docs/zh-CN/gateway/tools-invoke-http-api.md +92 -0
- package/docs/zh-CN/gateway/troubleshooting.md +773 -0
- package/docs/zh-CN/help/faq.md +2628 -0
- package/docs/zh-CN/help/index.md +28 -0
- package/docs/zh-CN/help/troubleshooting.md +104 -0
- package/docs/zh-CN/hooks/soul-evil.md +72 -0
- package/docs/zh-CN/hooks.md +919 -0
- package/docs/zh-CN/index.md +268 -0
- package/docs/zh-CN/install/ansible.md +215 -0
- package/docs/zh-CN/install/bun.md +65 -0
- package/docs/zh-CN/install/development-channels.md +79 -0
- package/docs/zh-CN/install/docker.md +461 -0
- package/docs/zh-CN/install/index.md +193 -0
- package/docs/zh-CN/install/installer.md +128 -0
- package/docs/zh-CN/install/migrating.md +199 -0
- package/docs/zh-CN/install/nix.md +103 -0
- package/docs/zh-CN/install/node.md +85 -0
- package/docs/zh-CN/install/uninstall.md +135 -0
- package/docs/zh-CN/install/updating.md +233 -0
- package/docs/zh-CN/logging.md +328 -0
- package/docs/zh-CN/multi-agent-sandbox-tools.md +399 -0
- package/docs/zh-CN/network.md +59 -0
- package/docs/zh-CN/nodes/audio.md +120 -0
- package/docs/zh-CN/nodes/camera.md +162 -0
- package/docs/zh-CN/nodes/images.md +79 -0
- package/docs/zh-CN/nodes/index.md +316 -0
- package/docs/zh-CN/nodes/location-command.md +120 -0
- package/docs/zh-CN/nodes/media-understanding.md +381 -0
- package/docs/zh-CN/nodes/talk.md +97 -0
- package/docs/zh-CN/nodes/voicewake.md +72 -0
- package/docs/zh-CN/northflank.mdx +60 -0
- package/docs/zh-CN/perplexity.md +84 -0
- package/docs/zh-CN/pi-dev.md +77 -0
- package/docs/zh-CN/pi.md +607 -0
- package/docs/zh-CN/platforms/android.md +155 -0
- package/docs/zh-CN/platforms/digitalocean.md +269 -0
- package/docs/zh-CN/platforms/exe-dev.md +127 -0
- package/docs/zh-CN/platforms/fly.md +490 -0
- package/docs/zh-CN/platforms/gcp.md +510 -0
- package/docs/zh-CN/platforms/hetzner.md +337 -0
- package/docs/zh-CN/platforms/index.md +60 -0
- package/docs/zh-CN/platforms/ios.md +114 -0
- package/docs/zh-CN/platforms/linux.md +99 -0
- package/docs/zh-CN/platforms/mac/bundled-gateway.md +77 -0
- package/docs/zh-CN/platforms/mac/canvas.md +127 -0
- package/docs/zh-CN/platforms/mac/child-process.md +62 -0
- package/docs/zh-CN/platforms/mac/dev-setup.md +109 -0
- package/docs/zh-CN/platforms/mac/health.md +41 -0
- package/docs/zh-CN/platforms/mac/icon.md +38 -0
- package/docs/zh-CN/platforms/mac/logging.md +64 -0
- package/docs/zh-CN/platforms/mac/menu-bar.md +88 -0
- package/docs/zh-CN/platforms/mac/peekaboo.md +62 -0
- package/docs/zh-CN/platforms/mac/permissions.md +46 -0
- package/docs/zh-CN/platforms/mac/release.md +92 -0
- package/docs/zh-CN/platforms/mac/remote.md +90 -0
- package/docs/zh-CN/platforms/mac/signing.md +54 -0
- package/docs/zh-CN/platforms/mac/skills.md +40 -0
- package/docs/zh-CN/platforms/mac/voice-overlay.md +67 -0
- package/docs/zh-CN/platforms/mac/voicewake.md +74 -0
- package/docs/zh-CN/platforms/mac/webchat.md +43 -0
- package/docs/zh-CN/platforms/mac/xpc.md +68 -0
- package/docs/zh-CN/platforms/macos-vm.md +288 -0
- package/docs/zh-CN/platforms/macos.md +194 -0
- package/docs/zh-CN/platforms/oracle.md +310 -0
- package/docs/zh-CN/platforms/raspberry-pi.md +365 -0
- package/docs/zh-CN/platforms/windows.md +156 -0
- package/docs/zh-CN/plugin.md +639 -0
- package/docs/zh-CN/plugins/agent-tools.md +99 -0
- package/docs/zh-CN/plugins/manifest.md +68 -0
- package/docs/zh-CN/plugins/voice-call.md +250 -0
- package/docs/zh-CN/plugins/zalouser.md +88 -0
- package/docs/zh-CN/prose.md +141 -0
- package/docs/zh-CN/providers/anthropic.md +158 -0
- package/docs/zh-CN/providers/claude-max-api-proxy.md +155 -0
- package/docs/zh-CN/providers/deepgram.md +97 -0
- package/docs/zh-CN/providers/github-copilot.md +67 -0
- package/docs/zh-CN/providers/glm.md +39 -0
- package/docs/zh-CN/providers/index.md +67 -0
- package/docs/zh-CN/providers/minimax.md +206 -0
- package/docs/zh-CN/providers/models.md +55 -0
- package/docs/zh-CN/providers/moonshot.md +145 -0
- package/docs/zh-CN/providers/ollama.md +230 -0
- package/docs/zh-CN/providers/openai.md +68 -0
- package/docs/zh-CN/providers/opencode.md +41 -0
- package/docs/zh-CN/providers/openrouter.md +43 -0
- package/docs/zh-CN/providers/qwen.md +55 -0
- package/docs/zh-CN/providers/synthetic.md +102 -0
- package/docs/zh-CN/providers/venice.md +274 -0
- package/docs/zh-CN/providers/vercel-ai-gateway.md +57 -0
- package/docs/zh-CN/providers/xiaomi.md +68 -0
- package/docs/zh-CN/providers/zai.md +41 -0
- package/docs/zh-CN/railway.mdx +106 -0
- package/docs/zh-CN/refactor/clawnet.md +424 -0
- package/docs/zh-CN/refactor/exec-host.md +323 -0
- package/docs/zh-CN/refactor/outbound-session-mirroring.md +92 -0
- package/docs/zh-CN/refactor/plugin-sdk.md +221 -0
- package/docs/zh-CN/refactor/strict-config.md +100 -0
- package/docs/zh-CN/reference/AGENTS.default.md +131 -0
- package/docs/zh-CN/reference/RELEASING.md +123 -0
- package/docs/zh-CN/reference/api-usage-costs.md +136 -0
- package/docs/zh-CN/reference/device-models.md +54 -0
- package/docs/zh-CN/reference/rpc.md +48 -0
- package/docs/zh-CN/reference/session-management-compaction.md +288 -0
- package/docs/zh-CN/reference/templates/AGENTS.dev.md +89 -0
- package/docs/zh-CN/reference/templates/AGENTS.md +225 -0
- package/docs/zh-CN/reference/templates/BOOT.md +17 -0
- package/docs/zh-CN/reference/templates/BOOTSTRAP.md +68 -0
- package/docs/zh-CN/reference/templates/HEARTBEAT.md +18 -0
- package/docs/zh-CN/reference/templates/IDENTITY.dev.md +54 -0
- package/docs/zh-CN/reference/templates/IDENTITY.md +35 -0
- package/docs/zh-CN/reference/templates/SOUL.dev.md +83 -0
- package/docs/zh-CN/reference/templates/SOUL.md +49 -0
- package/docs/zh-CN/reference/templates/TOOLS.dev.md +31 -0
- package/docs/zh-CN/reference/templates/TOOLS.md +53 -0
- package/docs/zh-CN/reference/templates/USER.dev.md +25 -0
- package/docs/zh-CN/reference/templates/USER.md +30 -0
- package/docs/zh-CN/reference/test.md +57 -0
- package/docs/zh-CN/reference/transcript-hygiene.md +109 -0
- package/docs/zh-CN/render.mdx +169 -0
- package/docs/zh-CN/scripts.md +40 -0
- package/docs/zh-CN/security/formal-verification.md +169 -0
- package/docs/zh-CN/start/getting-started.md +210 -0
- package/docs/zh-CN/start/hubs.md +191 -0
- package/docs/zh-CN/start/lore.md +226 -0
- package/docs/zh-CN/start/onboarding.md +105 -0
- package/docs/zh-CN/start/openclaw.md +248 -0
- package/docs/zh-CN/start/pairing.md +90 -0
- package/docs/zh-CN/start/setup.md +154 -0
- package/docs/zh-CN/start/showcase.md +423 -0
- package/docs/zh-CN/start/wizard.md +331 -0
- package/docs/zh-CN/testing.md +375 -0
- package/docs/zh-CN/token-use.md +105 -0
- package/docs/zh-CN/tools/agent-send.md +60 -0
- package/docs/zh-CN/tools/apply-patch.md +57 -0
- package/docs/zh-CN/tools/browser-linux-troubleshooting.md +146 -0
- package/docs/zh-CN/tools/browser-login.md +75 -0
- package/docs/zh-CN/tools/browser.md +542 -0
- package/docs/zh-CN/tools/chrome-extension.md +185 -0
- package/docs/zh-CN/tools/clawhub.md +209 -0
- package/docs/zh-CN/tools/creating-skills.md +61 -0
- package/docs/zh-CN/tools/elevated.md +64 -0
- package/docs/zh-CN/tools/exec-approvals.md +233 -0
- package/docs/zh-CN/tools/exec.md +168 -0
- package/docs/zh-CN/tools/firecrawl.md +65 -0
- package/docs/zh-CN/tools/index.md +513 -0
- package/docs/zh-CN/tools/llm-task.md +117 -0
- package/docs/zh-CN/tools/lobster.md +348 -0
- package/docs/zh-CN/tools/reactions.md +29 -0
- package/docs/zh-CN/tools/skills-config.md +78 -0
- package/docs/zh-CN/tools/skills.md +284 -0
- package/docs/zh-CN/tools/slash-commands.md +205 -0
- package/docs/zh-CN/tools/subagents.md +156 -0
- package/docs/zh-CN/tools/thinking.md +80 -0
- package/docs/zh-CN/tools/web.md +264 -0
- package/docs/zh-CN/tts.md +380 -0
- package/docs/zh-CN/tui.md +166 -0
- package/docs/zh-CN/vps.md +47 -0
- package/docs/zh-CN/web/control-ui.md +201 -0
- package/docs/zh-CN/web/dashboard.md +49 -0
- package/docs/zh-CN/web/index.md +118 -0
- package/docs/zh-CN/web/webchat.md +56 -0
- package/extensions/bluebubbles/index.ts +0 -1
- package/extensions/bluebubbles/node_modules/.bin/moltbot +21 -0
- package/extensions/bluebubbles/node_modules/.bin/moltbot.CMD +12 -0
- package/extensions/{discord/node_modules/.bin/claw.ps1 → bluebubbles/node_modules/.bin/moltbot.ps1} +2 -2
- package/extensions/bluebubbles/node_modules/.bin/openclaw +21 -0
- package/extensions/bluebubbles/node_modules/.bin/openclaw.CMD +12 -0
- package/extensions/{copilot-proxy/node_modules/.bin/claw.ps1 → bluebubbles/node_modules/.bin/openclaw.ps1} +2 -2
- package/extensions/bluebubbles/node_modules/.bin/pigbot +21 -0
- package/extensions/bluebubbles/node_modules/.bin/pigbot.CMD +12 -0
- package/extensions/bluebubbles/node_modules/.bin/{claw.ps1 → pigbot.ps1} +2 -2
- package/extensions/bluebubbles/package.json +1 -1
- package/extensions/bluebubbles/src/actions.test.ts +1 -2
- package/extensions/bluebubbles/src/actions.ts +6 -7
- package/extensions/bluebubbles/src/attachments.test.ts +1 -2
- package/extensions/bluebubbles/src/attachments.ts +1 -1
- package/extensions/bluebubbles/src/channel.ts +4 -5
- package/extensions/bluebubbles/src/chat.test.ts +0 -1
- package/extensions/bluebubbles/src/chat.ts +1 -1
- package/extensions/bluebubbles/src/media-send.ts +0 -2
- package/extensions/bluebubbles/src/monitor.test.ts +5 -4
- package/extensions/bluebubbles/src/monitor.ts +50 -30
- package/extensions/bluebubbles/src/onboarding.ts +1 -1
- package/extensions/bluebubbles/src/reactions.test.ts +0 -1
- package/extensions/bluebubbles/src/reactions.ts +1 -1
- package/extensions/bluebubbles/src/send.test.ts +1 -2
- package/extensions/bluebubbles/src/send.ts +1 -2
- package/extensions/bluebubbles/src/targets.test.ts +0 -1
- package/extensions/copilot-proxy/node_modules/.bin/moltbot +21 -0
- package/extensions/copilot-proxy/node_modules/.bin/moltbot.CMD +12 -0
- package/extensions/{diagnostics-otel/node_modules/.bin/claw.ps1 → copilot-proxy/node_modules/.bin/moltbot.ps1} +2 -2
- package/extensions/copilot-proxy/node_modules/.bin/openclaw +21 -0
- package/extensions/copilot-proxy/node_modules/.bin/openclaw.CMD +12 -0
- package/extensions/copilot-proxy/node_modules/.bin/openclaw.ps1 +41 -0
- package/extensions/copilot-proxy/node_modules/.bin/pigbot +21 -0
- package/extensions/copilot-proxy/node_modules/.bin/pigbot.CMD +12 -0
- package/extensions/copilot-proxy/node_modules/.bin/pigbot.ps1 +41 -0
- package/extensions/copilot-proxy/package.json +1 -1
- package/extensions/diagnostics-otel/index.ts +0 -1
- package/extensions/diagnostics-otel/node_modules/.bin/moltbot +21 -0
- package/extensions/diagnostics-otel/node_modules/.bin/moltbot.CMD +12 -0
- package/extensions/diagnostics-otel/node_modules/.bin/moltbot.ps1 +41 -0
- package/extensions/diagnostics-otel/node_modules/.bin/openclaw +21 -0
- package/extensions/diagnostics-otel/node_modules/.bin/openclaw.CMD +12 -0
- package/extensions/diagnostics-otel/node_modules/.bin/openclaw.ps1 +41 -0
- package/extensions/diagnostics-otel/node_modules/.bin/pigbot +21 -0
- package/extensions/diagnostics-otel/node_modules/.bin/pigbot.CMD +12 -0
- package/extensions/diagnostics-otel/node_modules/.bin/pigbot.ps1 +41 -0
- package/extensions/diagnostics-otel/package.json +1 -1
- package/extensions/diagnostics-otel/src/service.test.ts +1 -1
- package/extensions/diagnostics-otel/src/service.ts +2 -3
- package/extensions/discord/index.ts +0 -1
- package/extensions/discord/node_modules/.bin/moltbot +21 -0
- package/extensions/discord/node_modules/.bin/moltbot.CMD +12 -0
- package/extensions/discord/node_modules/.bin/moltbot.ps1 +41 -0
- package/extensions/discord/node_modules/.bin/openclaw +21 -0
- package/extensions/discord/node_modules/.bin/openclaw.CMD +12 -0
- package/extensions/discord/node_modules/.bin/openclaw.ps1 +41 -0
- package/extensions/discord/node_modules/.bin/pigbot +21 -0
- package/extensions/discord/node_modules/.bin/pigbot.CMD +12 -0
- package/extensions/discord/node_modules/.bin/pigbot.ps1 +41 -0
- package/extensions/discord/package.json +1 -1
- package/extensions/discord/src/channel.ts +0 -1
- package/extensions/google-antigravity-auth/node_modules/.bin/moltbot +21 -0
- package/extensions/google-antigravity-auth/node_modules/.bin/moltbot.CMD +12 -0
- package/extensions/google-antigravity-auth/node_modules/.bin/moltbot.ps1 +41 -0
- package/extensions/google-antigravity-auth/node_modules/.bin/openclaw +21 -0
- package/extensions/google-antigravity-auth/node_modules/.bin/openclaw.CMD +12 -0
- package/extensions/google-antigravity-auth/node_modules/.bin/openclaw.ps1 +41 -0
- package/extensions/google-antigravity-auth/node_modules/.bin/pigbot +21 -0
- package/extensions/google-antigravity-auth/node_modules/.bin/pigbot.CMD +12 -0
- package/extensions/google-antigravity-auth/node_modules/.bin/pigbot.ps1 +41 -0
- package/extensions/google-antigravity-auth/package.json +1 -1
- package/extensions/google-gemini-cli-auth/index.ts +0 -1
- package/extensions/google-gemini-cli-auth/node_modules/.bin/moltbot +21 -0
- package/extensions/google-gemini-cli-auth/node_modules/.bin/moltbot.CMD +12 -0
- package/extensions/google-gemini-cli-auth/node_modules/.bin/moltbot.ps1 +41 -0
- package/extensions/google-gemini-cli-auth/node_modules/.bin/openclaw +21 -0
- package/extensions/google-gemini-cli-auth/node_modules/.bin/openclaw.CMD +12 -0
- package/extensions/google-gemini-cli-auth/node_modules/.bin/openclaw.ps1 +41 -0
- package/extensions/google-gemini-cli-auth/node_modules/.bin/pigbot +21 -0
- package/extensions/google-gemini-cli-auth/node_modules/.bin/pigbot.CMD +12 -0
- package/extensions/google-gemini-cli-auth/node_modules/.bin/pigbot.ps1 +41 -0
- package/extensions/google-gemini-cli-auth/oauth.test.ts +1 -1
- package/extensions/google-gemini-cli-auth/package.json +1 -1
- package/extensions/googlechat/index.ts +0 -1
- package/extensions/googlechat/node_modules/.bin/moltbot +21 -0
- package/extensions/googlechat/node_modules/.bin/moltbot.CMD +12 -0
- package/extensions/googlechat/node_modules/.bin/moltbot.ps1 +41 -0
- package/extensions/googlechat/node_modules/.bin/openclaw +21 -0
- package/extensions/googlechat/node_modules/.bin/openclaw.CMD +12 -0
- package/extensions/googlechat/node_modules/.bin/openclaw.ps1 +41 -0
- package/extensions/googlechat/node_modules/.bin/pigbot +21 -0
- package/extensions/googlechat/node_modules/.bin/pigbot.CMD +12 -0
- package/extensions/googlechat/node_modules/.bin/pigbot.ps1 +41 -0
- package/extensions/googlechat/package.json +1 -1
- package/extensions/googlechat/src/accounts.ts +1 -2
- package/extensions/googlechat/src/actions.ts +0 -1
- package/extensions/googlechat/src/api.test.ts +0 -1
- package/extensions/googlechat/src/api.ts +1 -2
- package/extensions/googlechat/src/auth.ts +0 -1
- package/extensions/googlechat/src/channel.ts +1 -2
- package/extensions/googlechat/src/monitor.test.ts +0 -1
- package/extensions/googlechat/src/monitor.ts +8 -10
- package/extensions/googlechat/src/onboarding.ts +0 -1
- package/extensions/googlechat/src/targets.test.ts +0 -1
- package/extensions/imessage/index.ts +0 -1
- package/extensions/imessage/node_modules/.bin/moltbot +21 -0
- package/extensions/imessage/node_modules/.bin/moltbot.CMD +12 -0
- package/extensions/imessage/node_modules/.bin/moltbot.ps1 +41 -0
- package/extensions/imessage/node_modules/.bin/openclaw +21 -0
- package/extensions/imessage/node_modules/.bin/openclaw.CMD +12 -0
- package/extensions/imessage/node_modules/.bin/openclaw.ps1 +41 -0
- package/extensions/imessage/node_modules/.bin/pigbot +21 -0
- package/extensions/imessage/node_modules/.bin/pigbot.CMD +12 -0
- package/extensions/imessage/node_modules/.bin/pigbot.ps1 +41 -0
- package/extensions/imessage/package.json +1 -1
- package/extensions/imessage/src/channel.ts +0 -1
- package/extensions/line/index.ts +1 -2
- package/extensions/line/node_modules/.bin/moltbot +21 -0
- package/extensions/line/node_modules/.bin/moltbot.CMD +12 -0
- package/extensions/line/node_modules/.bin/moltbot.ps1 +41 -0
- package/extensions/line/node_modules/.bin/openclaw +21 -0
- package/extensions/line/node_modules/.bin/openclaw.CMD +12 -0
- package/extensions/line/node_modules/.bin/openclaw.ps1 +41 -0
- package/extensions/line/node_modules/.bin/pigbot +21 -0
- package/extensions/line/node_modules/.bin/pigbot.CMD +12 -0
- package/extensions/line/node_modules/.bin/pigbot.ps1 +41 -0
- package/extensions/line/package.json +1 -1
- package/extensions/line/src/channel.logout.test.ts +3 -1
- package/extensions/line/src/channel.sendPayload.test.ts +1 -1
- package/extensions/line/src/channel.ts +4 -6
- package/extensions/llm-task/index.ts +0 -1
- package/extensions/llm-task/node_modules/.bin/moltbot +21 -0
- package/extensions/llm-task/node_modules/.bin/moltbot.CMD +12 -0
- package/extensions/llm-task/node_modules/.bin/moltbot.ps1 +41 -0
- package/extensions/llm-task/node_modules/.bin/openclaw +21 -0
- package/extensions/llm-task/node_modules/.bin/openclaw.CMD +12 -0
- package/extensions/llm-task/node_modules/.bin/openclaw.ps1 +41 -0
- package/extensions/llm-task/node_modules/.bin/pigbot +21 -0
- package/extensions/llm-task/node_modules/.bin/pigbot.CMD +12 -0
- package/extensions/llm-task/node_modules/.bin/pigbot.ps1 +41 -0
- package/extensions/llm-task/package.json +1 -1
- package/extensions/llm-task/src/llm-task-tool.test.ts +14 -0
- package/extensions/llm-task/src/llm-task-tool.ts +11 -6
- package/extensions/lobster/index.ts +0 -1
- package/extensions/lobster/node_modules/.bin/moltbot +21 -0
- package/extensions/lobster/node_modules/.bin/moltbot.CMD +12 -0
- package/extensions/lobster/node_modules/.bin/moltbot.ps1 +41 -0
- package/extensions/lobster/node_modules/.bin/openclaw +21 -0
- package/extensions/lobster/node_modules/.bin/openclaw.CMD +12 -0
- package/extensions/lobster/node_modules/.bin/openclaw.ps1 +41 -0
- package/extensions/lobster/node_modules/.bin/pigbot +21 -0
- package/extensions/lobster/node_modules/.bin/pigbot.CMD +12 -0
- package/extensions/lobster/node_modules/.bin/pigbot.ps1 +41 -0
- package/extensions/lobster/package.json +1 -1
- package/extensions/lobster/src/lobster-tool.test.ts +3 -4
- package/extensions/lobster/src/lobster-tool.ts +0 -1
- package/extensions/matrix/CHANGELOG.md +12 -0
- package/extensions/matrix/index.ts +0 -1
- package/extensions/matrix/node_modules/.bin/markdown-it +2 -2
- package/extensions/matrix/node_modules/.bin/markdown-it.CMD +2 -2
- package/extensions/matrix/node_modules/.bin/markdown-it.ps1 +2 -2
- package/extensions/matrix/node_modules/.bin/moltbot +21 -0
- package/extensions/matrix/node_modules/.bin/moltbot.CMD +12 -0
- package/extensions/matrix/node_modules/.bin/moltbot.ps1 +41 -0
- package/extensions/matrix/node_modules/.bin/openclaw +21 -0
- package/extensions/matrix/node_modules/.bin/openclaw.CMD +12 -0
- package/extensions/matrix/node_modules/.bin/openclaw.ps1 +41 -0
- package/extensions/matrix/node_modules/.bin/pigbot +21 -0
- package/extensions/matrix/node_modules/.bin/pigbot.CMD +12 -0
- package/extensions/matrix/node_modules/.bin/pigbot.ps1 +41 -0
- package/extensions/matrix/package.json +2 -2
- package/extensions/matrix/src/actions.ts +1 -1
- package/extensions/matrix/src/channel.directory.test.ts +1 -3
- package/extensions/matrix/src/channel.ts +2 -3
- package/extensions/matrix/src/directory-live.ts +0 -1
- package/extensions/matrix/src/group-mentions.ts +1 -2
- package/extensions/matrix/src/matrix/accounts.test.ts +0 -1
- package/extensions/matrix/src/matrix/actions/client.ts +2 -2
- package/extensions/matrix/src/matrix/actions/messages.ts +3 -3
- package/extensions/matrix/src/matrix/actions/pins.ts +3 -3
- package/extensions/matrix/src/matrix/actions/reactions.ts +2 -2
- package/extensions/matrix/src/matrix/actions/room.ts +2 -2
- package/extensions/matrix/src/matrix/actions/summary.ts +0 -1
- package/extensions/matrix/src/matrix/client/config.ts +1 -2
- package/extensions/matrix/src/matrix/client/create-client.ts +2 -4
- package/extensions/matrix/src/matrix/client/shared.ts +3 -4
- package/extensions/matrix/src/matrix/client/storage.ts +1 -2
- package/extensions/matrix/src/matrix/client.test.ts +0 -1
- package/extensions/matrix/src/matrix/credentials.ts +0 -1
- package/extensions/matrix/src/matrix/deps.ts +2 -3
- package/extensions/matrix/src/matrix/format.test.ts +0 -1
- package/extensions/matrix/src/matrix/monitor/auto-join.ts +1 -2
- package/extensions/matrix/src/matrix/monitor/events.ts +0 -1
- package/extensions/matrix/src/matrix/monitor/handler.ts +2 -3
- package/extensions/matrix/src/matrix/monitor/index.ts +2 -3
- package/extensions/matrix/src/matrix/monitor/location.ts +0 -1
- package/extensions/matrix/src/matrix/monitor/media.test.ts +1 -2
- package/extensions/matrix/src/matrix/monitor/media.ts +0 -1
- package/extensions/matrix/src/matrix/monitor/replies.ts +1 -2
- package/extensions/matrix/src/matrix/monitor/rooms.ts +1 -1
- package/extensions/matrix/src/matrix/poll-types.test.ts +0 -1
- package/extensions/matrix/src/matrix/send/client.ts +1 -2
- package/extensions/matrix/src/matrix/send/formatting.ts +1 -1
- package/extensions/matrix/src/matrix/send/media.ts +1 -2
- package/extensions/matrix/src/matrix/send/targets.test.ts +1 -2
- package/extensions/matrix/src/matrix/send/targets.ts +0 -1
- package/extensions/matrix/src/matrix/send.test.ts +1 -2
- package/extensions/matrix/src/matrix/send.ts +0 -1
- package/extensions/matrix/src/onboarding.ts +1 -1
- package/extensions/matrix/src/outbound.ts +1 -2
- package/extensions/matrix/src/resolve-targets.ts +0 -1
- package/extensions/matrix/src/tool-actions.ts +7 -8
- package/extensions/mattermost/index.ts +0 -1
- package/extensions/mattermost/node_modules/.bin/moltbot +21 -0
- package/extensions/mattermost/node_modules/.bin/moltbot.CMD +12 -0
- package/extensions/mattermost/node_modules/.bin/moltbot.ps1 +41 -0
- package/extensions/mattermost/node_modules/.bin/openclaw +21 -0
- package/extensions/mattermost/node_modules/.bin/openclaw.CMD +12 -0
- package/extensions/mattermost/node_modules/.bin/openclaw.ps1 +41 -0
- package/extensions/mattermost/node_modules/.bin/pigbot +21 -0
- package/extensions/mattermost/node_modules/.bin/pigbot.CMD +12 -0
- package/extensions/mattermost/node_modules/.bin/pigbot.ps1 +41 -0
- package/extensions/mattermost/package.json +1 -1
- package/extensions/mattermost/src/channel.test.ts +0 -1
- package/extensions/mattermost/src/channel.ts +2 -3
- package/extensions/mattermost/src/config-schema.ts +1 -2
- package/extensions/mattermost/src/group-mentions.ts +0 -1
- package/extensions/mattermost/src/mattermost/accounts.ts +0 -1
- package/extensions/mattermost/src/mattermost/monitor-helpers.ts +2 -4
- package/extensions/mattermost/src/mattermost/monitor.ts +1 -3
- package/extensions/mattermost/src/onboarding.ts +0 -1
- package/extensions/memory-core/node_modules/.bin/moltbot +21 -0
- package/extensions/memory-core/node_modules/.bin/moltbot.CMD +12 -0
- package/extensions/memory-core/node_modules/.bin/moltbot.ps1 +41 -0
- package/extensions/memory-core/node_modules/.bin/openclaw +21 -0
- package/extensions/memory-core/node_modules/.bin/openclaw.CMD +12 -0
- package/extensions/memory-core/node_modules/.bin/openclaw.ps1 +41 -0
- package/extensions/memory-core/node_modules/.bin/pigbot +21 -0
- package/extensions/memory-core/node_modules/.bin/pigbot.CMD +12 -0
- package/extensions/memory-core/node_modules/.bin/pigbot.ps1 +41 -0
- package/extensions/memory-core/package.json +1 -1
- package/extensions/memory-lancedb/index.test.ts +11 -2
- package/extensions/memory-lancedb/index.ts +3 -4
- package/extensions/memory-lancedb/node_modules/.bin/moltbot +21 -0
- package/extensions/memory-lancedb/node_modules/.bin/moltbot.CMD +12 -0
- package/extensions/memory-lancedb/node_modules/.bin/moltbot.ps1 +41 -0
- package/extensions/memory-lancedb/node_modules/.bin/openai +2 -2
- package/extensions/memory-lancedb/node_modules/.bin/openai.CMD +2 -2
- package/extensions/memory-lancedb/node_modules/.bin/openai.ps1 +2 -2
- package/extensions/memory-lancedb/node_modules/.bin/openclaw +21 -0
- package/extensions/memory-lancedb/node_modules/.bin/openclaw.CMD +12 -0
- package/extensions/memory-lancedb/node_modules/.bin/openclaw.ps1 +41 -0
- package/extensions/memory-lancedb/node_modules/.bin/pigbot +21 -0
- package/extensions/memory-lancedb/node_modules/.bin/pigbot.CMD +12 -0
- package/extensions/memory-lancedb/node_modules/.bin/pigbot.ps1 +41 -0
- package/extensions/memory-lancedb/package.json +1 -1
- package/extensions/minimax-portal-auth/index.ts +1 -2
- package/extensions/minimax-portal-auth/node_modules/.bin/moltbot +21 -0
- package/extensions/minimax-portal-auth/node_modules/.bin/moltbot.CMD +12 -0
- package/extensions/minimax-portal-auth/node_modules/.bin/moltbot.ps1 +41 -0
- package/extensions/minimax-portal-auth/node_modules/.bin/openclaw +21 -0
- package/extensions/minimax-portal-auth/node_modules/.bin/openclaw.CMD +12 -0
- package/extensions/minimax-portal-auth/node_modules/.bin/openclaw.ps1 +41 -0
- package/extensions/minimax-portal-auth/node_modules/.bin/pigbot +21 -0
- package/extensions/minimax-portal-auth/node_modules/.bin/pigbot.CMD +12 -0
- package/extensions/minimax-portal-auth/node_modules/.bin/pigbot.ps1 +41 -0
- package/extensions/minimax-portal-auth/oauth.ts +1 -1
- package/extensions/minimax-portal-auth/package.json +1 -1
- package/extensions/msteams/CHANGELOG.md +12 -0
- package/extensions/msteams/index.ts +0 -1
- package/extensions/msteams/node_modules/.bin/moltbot +21 -0
- package/extensions/msteams/node_modules/.bin/moltbot.CMD +12 -0
- package/extensions/msteams/node_modules/.bin/moltbot.ps1 +41 -0
- package/extensions/msteams/node_modules/.bin/openclaw +21 -0
- package/extensions/msteams/node_modules/.bin/openclaw.CMD +12 -0
- package/extensions/msteams/node_modules/.bin/openclaw.ps1 +41 -0
- package/extensions/msteams/node_modules/.bin/pigbot +21 -0
- package/extensions/msteams/node_modules/.bin/pigbot.CMD +12 -0
- package/extensions/msteams/node_modules/.bin/pigbot.ps1 +41 -0
- package/extensions/msteams/package.json +1 -1
- package/extensions/msteams/src/attachments/download.ts +50 -5
- package/extensions/msteams/src/attachments/graph.ts +8 -6
- package/extensions/msteams/src/attachments/html.ts +1 -1
- package/extensions/msteams/src/attachments/shared.ts +20 -0
- package/extensions/msteams/src/attachments.test.ts +37 -2
- package/extensions/msteams/src/channel.directory.test.ts +1 -3
- package/extensions/msteams/src/channel.ts +2 -3
- package/extensions/msteams/src/conversation-store-fs.test.ts +1 -3
- package/extensions/msteams/src/directory-live.ts +0 -1
- package/extensions/msteams/src/errors.test.ts +0 -1
- package/extensions/msteams/src/inbound.test.ts +0 -1
- package/extensions/msteams/src/media-helpers.test.ts +0 -1
- package/extensions/msteams/src/media-helpers.ts +0 -1
- package/extensions/msteams/src/messenger.test.ts +1 -2
- package/extensions/msteams/src/monitor-handler/inbound-media.ts +4 -1
- package/extensions/msteams/src/monitor-handler/message-handler.ts +5 -5
- package/extensions/msteams/src/monitor-handler.ts +3 -3
- package/extensions/msteams/src/monitor.ts +2 -2
- package/extensions/msteams/src/onboarding.ts +1 -2
- package/extensions/msteams/src/outbound.ts +0 -1
- package/extensions/msteams/src/policy.test.ts +1 -2
- package/extensions/msteams/src/polls-store.test.ts +1 -3
- package/extensions/msteams/src/polls.test.ts +1 -3
- package/extensions/msteams/src/polls.ts +0 -1
- package/extensions/msteams/src/probe.test.ts +1 -2
- package/extensions/msteams/src/reply-dispatcher.ts +2 -2
- package/extensions/msteams/src/send-context.ts +1 -1
- package/extensions/msteams/src/send.ts +1 -1
- package/extensions/msteams/src/sent-message-cache.test.ts +0 -1
- package/extensions/msteams/src/storage.ts +0 -1
- package/extensions/msteams/src/store-fs.ts +0 -1
- package/extensions/nextcloud-talk/index.ts +0 -1
- package/extensions/nextcloud-talk/node_modules/.bin/moltbot +21 -0
- package/extensions/nextcloud-talk/node_modules/.bin/moltbot.CMD +12 -0
- package/extensions/nextcloud-talk/node_modules/.bin/moltbot.ps1 +41 -0
- package/extensions/nextcloud-talk/node_modules/.bin/openclaw +21 -0
- package/extensions/nextcloud-talk/node_modules/.bin/openclaw.CMD +12 -0
- package/extensions/nextcloud-talk/node_modules/.bin/openclaw.ps1 +41 -0
- package/extensions/nextcloud-talk/node_modules/.bin/pigbot +21 -0
- package/extensions/nextcloud-talk/node_modules/.bin/pigbot.CMD +12 -0
- package/extensions/nextcloud-talk/node_modules/.bin/pigbot.ps1 +41 -0
- package/extensions/nextcloud-talk/package.json +1 -1
- package/extensions/nextcloud-talk/src/accounts.ts +0 -2
- package/extensions/nextcloud-talk/src/channel.ts +2 -3
- package/extensions/nextcloud-talk/src/inbound.ts +2 -3
- package/extensions/nextcloud-talk/src/monitor.ts +5 -7
- package/extensions/nextcloud-talk/src/onboarding.ts +1 -2
- package/extensions/nextcloud-talk/src/policy.ts +0 -1
- package/extensions/nextcloud-talk/src/room-info.ts +1 -3
- package/extensions/nextcloud-talk/src/send.ts +1 -1
- package/extensions/nextcloud-talk/src/signature.ts +0 -1
- package/extensions/nostr/CHANGELOG.md +12 -0
- package/extensions/nostr/index.ts +2 -3
- package/extensions/nostr/node_modules/.bin/moltbot +21 -0
- package/extensions/nostr/node_modules/.bin/moltbot.CMD +12 -0
- package/extensions/nostr/node_modules/.bin/moltbot.ps1 +41 -0
- package/extensions/nostr/node_modules/.bin/openclaw +21 -0
- package/extensions/nostr/node_modules/.bin/openclaw.CMD +12 -0
- package/extensions/nostr/node_modules/.bin/openclaw.ps1 +41 -0
- package/extensions/nostr/node_modules/.bin/pigbot +21 -0
- package/extensions/nostr/node_modules/.bin/pigbot.CMD +12 -0
- package/extensions/nostr/node_modules/.bin/pigbot.ps1 +41 -0
- package/extensions/nostr/package.json +2 -2
- package/extensions/nostr/src/channel.ts +4 -5
- package/extensions/nostr/src/nostr-bus.fuzz.test.ts +1 -1
- package/extensions/nostr/src/nostr-bus.integration.test.ts +1 -1
- package/extensions/nostr/src/nostr-bus.ts +9 -10
- package/extensions/nostr/src/nostr-profile-http.test.ts +1 -2
- package/extensions/nostr/src/nostr-profile-http.ts +1 -2
- package/extensions/nostr/src/nostr-profile-import.test.ts +1 -2
- package/extensions/nostr/src/nostr-profile-import.ts +1 -2
- package/extensions/nostr/src/nostr-profile.fuzz.test.ts +1 -1
- package/extensions/nostr/src/nostr-profile.test.ts +2 -2
- package/extensions/nostr/src/nostr-state-store.test.ts +1 -3
- package/extensions/nostr/src/nostr-state-store.ts +0 -1
- package/extensions/nostr/src/types.ts +1 -1
- package/extensions/open-prose/node_modules/.bin/moltbot +21 -0
- package/extensions/open-prose/node_modules/.bin/moltbot.CMD +12 -0
- package/extensions/open-prose/node_modules/.bin/moltbot.ps1 +41 -0
- package/extensions/open-prose/node_modules/.bin/openclaw +21 -0
- package/extensions/open-prose/node_modules/.bin/openclaw.CMD +12 -0
- package/extensions/open-prose/node_modules/.bin/openclaw.ps1 +41 -0
- package/extensions/open-prose/node_modules/.bin/pigbot +21 -0
- package/extensions/open-prose/node_modules/.bin/pigbot.CMD +12 -0
- package/extensions/open-prose/node_modules/.bin/pigbot.ps1 +41 -0
- package/extensions/open-prose/package.json +1 -1
- package/extensions/qwen-portal-auth/index.ts +0 -1
- package/extensions/signal/index.ts +0 -1
- package/extensions/signal/node_modules/.bin/moltbot +21 -0
- package/extensions/signal/node_modules/.bin/moltbot.CMD +12 -0
- package/extensions/signal/node_modules/.bin/moltbot.ps1 +41 -0
- package/extensions/signal/node_modules/.bin/openclaw +21 -0
- package/extensions/signal/node_modules/.bin/openclaw.CMD +12 -0
- package/extensions/signal/node_modules/.bin/openclaw.ps1 +41 -0
- package/extensions/signal/node_modules/.bin/pigbot +21 -0
- package/extensions/signal/node_modules/.bin/pigbot.CMD +12 -0
- package/extensions/signal/node_modules/.bin/pigbot.ps1 +41 -0
- package/extensions/signal/package.json +1 -1
- package/extensions/signal/src/channel.ts +0 -1
- package/extensions/slack/index.ts +0 -1
- package/extensions/slack/node_modules/.bin/moltbot +21 -0
- package/extensions/slack/node_modules/.bin/moltbot.CMD +12 -0
- package/extensions/slack/node_modules/.bin/moltbot.ps1 +41 -0
- package/extensions/slack/node_modules/.bin/openclaw +21 -0
- package/extensions/slack/node_modules/.bin/openclaw.CMD +12 -0
- package/extensions/slack/node_modules/.bin/openclaw.ps1 +41 -0
- package/extensions/slack/node_modules/.bin/pigbot +21 -0
- package/extensions/slack/node_modules/.bin/pigbot.CMD +12 -0
- package/extensions/slack/node_modules/.bin/pigbot.ps1 +41 -0
- package/extensions/slack/package.json +1 -1
- package/extensions/slack/src/channel.ts +0 -1
- package/extensions/telegram/index.ts +0 -1
- package/extensions/telegram/node_modules/.bin/moltbot +21 -0
- package/extensions/telegram/node_modules/.bin/moltbot.CMD +12 -0
- package/extensions/telegram/node_modules/.bin/moltbot.ps1 +41 -0
- package/extensions/telegram/node_modules/.bin/openclaw +21 -0
- package/extensions/telegram/node_modules/.bin/openclaw.CMD +12 -0
- package/extensions/telegram/node_modules/.bin/openclaw.ps1 +41 -0
- package/extensions/telegram/node_modules/.bin/pigbot +21 -0
- package/extensions/telegram/node_modules/.bin/pigbot.CMD +12 -0
- package/extensions/telegram/node_modules/.bin/pigbot.ps1 +41 -0
- package/extensions/telegram/package.json +1 -1
- package/extensions/telegram/src/channel.ts +0 -1
- package/extensions/tlon/index.ts +0 -1
- package/extensions/tlon/node_modules/.bin/moltbot +21 -0
- package/extensions/tlon/node_modules/.bin/moltbot.CMD +12 -0
- package/extensions/tlon/node_modules/.bin/moltbot.ps1 +41 -0
- package/extensions/tlon/node_modules/.bin/openclaw +21 -0
- package/extensions/tlon/node_modules/.bin/openclaw.CMD +12 -0
- package/extensions/tlon/node_modules/.bin/openclaw.ps1 +41 -0
- package/extensions/tlon/node_modules/.bin/pigbot +21 -0
- package/extensions/tlon/node_modules/.bin/pigbot.CMD +12 -0
- package/extensions/tlon/node_modules/.bin/pigbot.ps1 +41 -0
- package/extensions/tlon/package.json +1 -1
- package/extensions/tlon/src/channel.ts +5 -6
- package/extensions/tlon/src/config-schema.test.ts +0 -1
- package/extensions/tlon/src/config-schema.ts +1 -1
- package/extensions/tlon/src/monitor/discovery.ts +4 -3
- package/extensions/tlon/src/monitor/history.ts +3 -2
- package/extensions/tlon/src/monitor/index.ts +16 -16
- package/extensions/tlon/src/monitor/processed-messages.test.ts +0 -1
- package/extensions/tlon/src/monitor/utils.ts +33 -27
- package/extensions/tlon/src/onboarding.ts +2 -3
- package/extensions/tlon/src/urbit/sse-client.test.ts +0 -1
- package/extensions/tlon/src/urbit/sse-client.ts +16 -0
- package/extensions/twitch/CHANGELOG.md +12 -0
- package/extensions/twitch/index.ts +1 -1
- package/extensions/twitch/node_modules/.bin/moltbot +21 -0
- package/extensions/twitch/node_modules/.bin/moltbot.CMD +12 -0
- package/extensions/twitch/node_modules/.bin/moltbot.ps1 +41 -0
- package/extensions/twitch/node_modules/.bin/openclaw +21 -0
- package/extensions/twitch/node_modules/.bin/openclaw.CMD +12 -0
- package/extensions/twitch/node_modules/.bin/openclaw.ps1 +41 -0
- package/extensions/twitch/node_modules/.bin/pigbot +21 -0
- package/extensions/twitch/node_modules/.bin/pigbot.CMD +12 -0
- package/extensions/twitch/node_modules/.bin/pigbot.ps1 +41 -0
- package/extensions/twitch/package.json +1 -1
- package/extensions/twitch/src/access-control.test.ts +9 -9
- package/extensions/twitch/src/access-control.ts +8 -4
- package/extensions/twitch/src/actions.ts +1 -1
- package/extensions/twitch/src/client-manager-registry.ts +1 -1
- package/extensions/twitch/src/config.test.ts +0 -1
- package/extensions/twitch/src/monitor.ts +1 -1
- package/extensions/twitch/src/onboarding.test.ts +1 -1
- package/extensions/twitch/src/onboarding.ts +2 -2
- package/extensions/twitch/src/outbound.test.ts +1 -1
- package/extensions/twitch/src/outbound.ts +2 -4
- package/extensions/twitch/src/plugin.test.ts +1 -1
- package/extensions/twitch/src/plugin.ts +11 -11
- package/extensions/twitch/src/probe.test.ts +1 -1
- package/extensions/twitch/src/send.test.ts +1 -1
- package/extensions/twitch/src/send.ts +2 -2
- package/extensions/twitch/src/status.test.ts +1 -1
- package/extensions/twitch/src/status.ts +1 -1
- package/extensions/twitch/src/token.test.ts +1 -1
- package/extensions/twitch/src/twitch-client.test.ts +10 -1
- package/extensions/twitch/src/twitch-client.ts +7 -7
- package/extensions/twitch/src/types.ts +9 -9
- package/extensions/voice-call/CHANGELOG.md +12 -0
- package/extensions/voice-call/index.ts +1 -1
- package/extensions/voice-call/node_modules/.bin/moltbot +21 -0
- package/extensions/voice-call/node_modules/.bin/moltbot.CMD +12 -0
- package/extensions/voice-call/node_modules/.bin/moltbot.ps1 +41 -0
- package/extensions/voice-call/node_modules/.bin/openclaw +21 -0
- package/extensions/voice-call/node_modules/.bin/openclaw.CMD +12 -0
- package/extensions/voice-call/node_modules/.bin/openclaw.ps1 +41 -0
- package/extensions/voice-call/node_modules/.bin/pigbot +21 -0
- package/extensions/voice-call/node_modules/.bin/pigbot.CMD +12 -0
- package/extensions/voice-call/node_modules/.bin/pigbot.ps1 +41 -0
- package/extensions/voice-call/package.json +1 -1
- package/extensions/voice-call/src/cli.ts +1 -3
- package/extensions/voice-call/src/config.test.ts +0 -1
- package/extensions/voice-call/src/core-bridge.ts +0 -1
- package/extensions/voice-call/src/manager/context.ts +1 -1
- package/extensions/voice-call/src/manager/events.ts +1 -2
- package/extensions/voice-call/src/manager/outbound.ts +3 -4
- package/extensions/voice-call/src/manager/store.ts +0 -1
- package/extensions/voice-call/src/manager/timers.ts +1 -1
- package/extensions/voice-call/src/manager.test.ts +3 -5
- package/extensions/voice-call/src/manager.ts +1 -2
- package/extensions/voice-call/src/media-stream.test.ts +0 -1
- package/extensions/voice-call/src/media-stream.ts +0 -2
- package/extensions/voice-call/src/providers/mock.ts +0 -1
- package/extensions/voice-call/src/providers/plivo.test.ts +0 -1
- package/extensions/voice-call/src/providers/plivo.ts +1 -2
- package/extensions/voice-call/src/providers/telnyx.ts +0 -1
- package/extensions/voice-call/src/providers/twilio/webhook.ts +1 -2
- package/extensions/voice-call/src/providers/twilio.test.ts +0 -1
- package/extensions/voice-call/src/providers/twilio.ts +3 -4
- package/extensions/voice-call/src/response-generator.ts +1 -3
- package/extensions/voice-call/src/runtime.ts +3 -3
- package/extensions/voice-call/src/telephony-tts.ts +1 -1
- package/extensions/voice-call/src/tunnel.ts +0 -1
- package/extensions/voice-call/src/types.ts +0 -1
- package/extensions/voice-call/src/webhook-security.test.ts +0 -2
- package/extensions/voice-call/src/webhook-security.ts +0 -1
- package/extensions/voice-call/src/webhook.ts +2 -3
- package/extensions/whatsapp/index.ts +0 -1
- package/extensions/whatsapp/node_modules/.bin/moltbot +21 -0
- package/extensions/whatsapp/node_modules/.bin/moltbot.CMD +12 -0
- package/extensions/whatsapp/node_modules/.bin/moltbot.ps1 +41 -0
- package/extensions/whatsapp/node_modules/.bin/openclaw +21 -0
- package/extensions/whatsapp/node_modules/.bin/openclaw.CMD +12 -0
- package/extensions/whatsapp/node_modules/.bin/openclaw.ps1 +41 -0
- package/extensions/whatsapp/node_modules/.bin/pigbot +21 -0
- package/extensions/whatsapp/node_modules/.bin/pigbot.CMD +12 -0
- package/extensions/whatsapp/node_modules/.bin/pigbot.ps1 +41 -0
- package/extensions/whatsapp/package.json +1 -1
- package/extensions/whatsapp/src/channel.ts +0 -1
- package/extensions/zalo/CHANGELOG.md +12 -0
- package/extensions/zalo/index.ts +0 -1
- package/extensions/zalo/node_modules/.bin/moltbot +21 -0
- package/extensions/zalo/node_modules/.bin/moltbot.CMD +12 -0
- package/extensions/zalo/node_modules/.bin/moltbot.ps1 +41 -0
- package/extensions/zalo/node_modules/.bin/openclaw +21 -0
- package/extensions/zalo/node_modules/.bin/openclaw.CMD +12 -0
- package/extensions/zalo/node_modules/.bin/openclaw.ps1 +41 -0
- package/extensions/zalo/node_modules/.bin/pigbot +21 -0
- package/extensions/zalo/node_modules/.bin/pigbot.CMD +12 -0
- package/extensions/zalo/node_modules/.bin/pigbot.ps1 +41 -0
- package/extensions/zalo/package.json +2 -2
- package/extensions/zalo/src/accounts.ts +0 -1
- package/extensions/zalo/src/actions.ts +0 -1
- package/extensions/zalo/src/channel.directory.test.ts +1 -3
- package/extensions/zalo/src/channel.ts +1 -2
- package/extensions/zalo/src/monitor.ts +0 -2
- package/extensions/zalo/src/monitor.webhook.test.ts +2 -4
- package/extensions/zalo/src/onboarding.ts +0 -1
- package/extensions/zalo/src/proxy.ts +1 -2
- package/extensions/zalo/src/send.ts +1 -2
- package/extensions/zalo/src/token.ts +0 -2
- package/extensions/zalouser/CHANGELOG.md +12 -0
- package/extensions/zalouser/index.ts +1 -2
- package/extensions/zalouser/node_modules/.bin/moltbot +21 -0
- package/extensions/zalouser/node_modules/.bin/moltbot.CMD +12 -0
- package/extensions/zalouser/node_modules/.bin/moltbot.ps1 +41 -0
- package/extensions/zalouser/node_modules/.bin/openclaw +21 -0
- package/extensions/zalouser/node_modules/.bin/openclaw.CMD +12 -0
- package/extensions/zalouser/node_modules/.bin/openclaw.ps1 +41 -0
- package/extensions/zalouser/node_modules/.bin/pigbot +21 -0
- package/extensions/zalouser/node_modules/.bin/pigbot.CMD +12 -0
- package/extensions/zalouser/node_modules/.bin/pigbot.ps1 +41 -0
- package/extensions/zalouser/package.json +1 -1
- package/extensions/zalouser/src/accounts.ts +1 -2
- package/extensions/zalouser/src/channel.test.ts +0 -1
- package/extensions/zalouser/src/channel.ts +4 -4
- package/extensions/zalouser/src/monitor.ts +1 -2
- package/extensions/zalouser/src/onboarding.ts +1 -2
- package/extensions/zalouser/src/probe.ts +1 -1
- package/extensions/zalouser/src/status-issues.test.ts +0 -1
- package/extensions/zalouser/src/tool.ts +0 -1
- package/extensions/zalouser/src/zca.ts +0 -1
- package/package.json +83 -55
- package/scripts/format-staged.js +1 -1
- package/scripts/postinstall.js +1 -1
- package/scripts/setup-git-hooks.js +1 -1
- package/skills/canvas/SKILL.md +9 -9
- package/skills/healthcheck/SKILL.md +231 -0
- package/skills/session-logs/SKILL.md +1 -1
- package/dist/control-ui/assets/index-BKPyesll.css +0 -1
- package/dist/control-ui/assets/index-CknqRMzC.js +0 -3898
- package/dist/control-ui/assets/index-CknqRMzC.js.map +0 -1
- package/dist/telegram/pairing-store.d.ts +0 -43
- package/dist/telegram/pairing-store.js +0 -78
- package/extensions/bluebubbles/node_modules/.bin/claw +0 -21
- package/extensions/bluebubbles/node_modules/.bin/claw.CMD +0 -12
- package/extensions/copilot-proxy/node_modules/.bin/claw +0 -21
- package/extensions/copilot-proxy/node_modules/.bin/claw.CMD +0 -12
- package/extensions/diagnostics-otel/node_modules/.bin/claw +0 -21
- package/extensions/diagnostics-otel/node_modules/.bin/claw.CMD +0 -12
- package/extensions/discord/node_modules/.bin/claw +0 -21
- package/extensions/discord/node_modules/.bin/claw.CMD +0 -12
- package/extensions/google-antigravity-auth/node_modules/.bin/claw +0 -21
- package/extensions/google-antigravity-auth/node_modules/.bin/claw.CMD +0 -12
- package/extensions/google-antigravity-auth/node_modules/.bin/claw.ps1 +0 -41
- package/extensions/google-gemini-cli-auth/node_modules/.bin/claw +0 -21
- package/extensions/google-gemini-cli-auth/node_modules/.bin/claw.CMD +0 -12
- package/extensions/google-gemini-cli-auth/node_modules/.bin/claw.ps1 +0 -41
- package/extensions/googlechat/node_modules/.bin/claw +0 -21
- package/extensions/googlechat/node_modules/.bin/claw.CMD +0 -12
- package/extensions/googlechat/node_modules/.bin/claw.ps1 +0 -41
- package/extensions/imessage/node_modules/.bin/claw +0 -21
- package/extensions/imessage/node_modules/.bin/claw.CMD +0 -12
- package/extensions/imessage/node_modules/.bin/claw.ps1 +0 -41
- package/extensions/line/node_modules/.bin/claw +0 -21
- package/extensions/line/node_modules/.bin/claw.CMD +0 -12
- package/extensions/line/node_modules/.bin/claw.ps1 +0 -41
- package/extensions/llm-task/node_modules/.bin/claw +0 -21
- package/extensions/llm-task/node_modules/.bin/claw.CMD +0 -12
- package/extensions/llm-task/node_modules/.bin/claw.ps1 +0 -41
- package/extensions/lobster/node_modules/.bin/claw +0 -21
- package/extensions/lobster/node_modules/.bin/claw.CMD +0 -12
- package/extensions/lobster/node_modules/.bin/claw.ps1 +0 -41
- package/extensions/matrix/node_modules/.bin/claw +0 -21
- package/extensions/matrix/node_modules/.bin/claw.CMD +0 -12
- package/extensions/matrix/node_modules/.bin/claw.ps1 +0 -41
- package/extensions/mattermost/node_modules/.bin/claw +0 -21
- package/extensions/mattermost/node_modules/.bin/claw.CMD +0 -12
- package/extensions/mattermost/node_modules/.bin/claw.ps1 +0 -41
- package/extensions/memory-core/node_modules/.bin/claw +0 -21
- package/extensions/memory-core/node_modules/.bin/claw.CMD +0 -12
- package/extensions/memory-core/node_modules/.bin/claw.ps1 +0 -41
- package/extensions/memory-lancedb/node_modules/.bin/claw +0 -21
- package/extensions/memory-lancedb/node_modules/.bin/claw.CMD +0 -12
- package/extensions/memory-lancedb/node_modules/.bin/claw.ps1 +0 -41
- package/extensions/minimax-portal-auth/node_modules/.bin/claw +0 -21
- package/extensions/minimax-portal-auth/node_modules/.bin/claw.CMD +0 -12
- package/extensions/minimax-portal-auth/node_modules/.bin/claw.ps1 +0 -41
- package/extensions/msteams/node_modules/.bin/claw +0 -21
- package/extensions/msteams/node_modules/.bin/claw.CMD +0 -12
- package/extensions/msteams/node_modules/.bin/claw.ps1 +0 -41
- package/extensions/nextcloud-talk/node_modules/.bin/claw +0 -21
- package/extensions/nextcloud-talk/node_modules/.bin/claw.CMD +0 -12
- package/extensions/nextcloud-talk/node_modules/.bin/claw.ps1 +0 -41
- package/extensions/nostr/node_modules/.bin/claw +0 -21
- package/extensions/nostr/node_modules/.bin/claw.CMD +0 -12
- package/extensions/nostr/node_modules/.bin/claw.ps1 +0 -41
- package/extensions/open-prose/node_modules/.bin/claw +0 -21
- package/extensions/open-prose/node_modules/.bin/claw.CMD +0 -12
- package/extensions/open-prose/node_modules/.bin/claw.ps1 +0 -41
- package/extensions/signal/node_modules/.bin/claw +0 -21
- package/extensions/signal/node_modules/.bin/claw.CMD +0 -12
- package/extensions/signal/node_modules/.bin/claw.ps1 +0 -41
- package/extensions/slack/node_modules/.bin/claw +0 -21
- package/extensions/slack/node_modules/.bin/claw.CMD +0 -12
- package/extensions/slack/node_modules/.bin/claw.ps1 +0 -41
- package/extensions/telegram/node_modules/.bin/claw +0 -21
- package/extensions/telegram/node_modules/.bin/claw.CMD +0 -12
- package/extensions/telegram/node_modules/.bin/claw.ps1 +0 -41
- package/extensions/tlon/node_modules/.bin/claw +0 -21
- package/extensions/tlon/node_modules/.bin/claw.CMD +0 -12
- package/extensions/tlon/node_modules/.bin/claw.ps1 +0 -41
- package/extensions/twitch/node_modules/.bin/claw +0 -21
- package/extensions/twitch/node_modules/.bin/claw.CMD +0 -12
- package/extensions/twitch/node_modules/.bin/claw.ps1 +0 -41
- package/extensions/voice-call/node_modules/.bin/claw +0 -21
- package/extensions/voice-call/node_modules/.bin/claw.CMD +0 -12
- package/extensions/voice-call/node_modules/.bin/claw.ps1 +0 -41
- package/extensions/whatsapp/node_modules/.bin/claw +0 -21
- package/extensions/whatsapp/node_modules/.bin/claw.CMD +0 -12
- package/extensions/whatsapp/node_modules/.bin/claw.ps1 +0 -41
- package/extensions/zalo/node_modules/.bin/claw +0 -21
- package/extensions/zalo/node_modules/.bin/claw.CMD +0 -12
- package/extensions/zalo/node_modules/.bin/claw.ps1 +0 -41
- package/extensions/zalouser/node_modules/.bin/claw +0 -21
- package/extensions/zalouser/node_modules/.bin/claw.CMD +0 -12
- package/extensions/zalouser/node_modules/.bin/claw.ps1 +0 -41
package/dist/index.js
CHANGED
|
@@ -12,11 +12,11 @@ import { deriveSessionKey, loadSessionStore, resolveSessionKey, resolveStorePath
|
|
|
12
12
|
import { ensureBinary } from "./infra/binaries.js";
|
|
13
13
|
import { loadDotEnv } from "./infra/dotenv.js";
|
|
14
14
|
import { normalizeEnv } from "./infra/env.js";
|
|
15
|
+
import { formatUncaughtError } from "./infra/errors.js";
|
|
15
16
|
import { isMainModule } from "./infra/is-main.js";
|
|
16
17
|
import { ensureOpenClawCliOnPath } from "./infra/path-env.js";
|
|
17
18
|
import { describePortOwner, ensurePortAvailable, handlePortError, PortInUseError, } from "./infra/ports.js";
|
|
18
19
|
import { assertSupportedRuntime } from "./infra/runtime-guard.js";
|
|
19
|
-
import { formatUncaughtError } from "./infra/errors.js";
|
|
20
20
|
import { installUnhandledRejectionHandler } from "./infra/unhandled-rejections.js";
|
|
21
21
|
import { enableConsoleCapture } from "./logging.js";
|
|
22
22
|
import { runCommandWithTimeout, runExec } from "./process/exec.js";
|
package/dist/infra/archive.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import JSZip from "jszip";
|
|
1
2
|
import fs from "node:fs/promises";
|
|
2
3
|
import path from "node:path";
|
|
3
4
|
import * as tar from "tar";
|
|
4
|
-
import JSZip from "jszip";
|
|
5
5
|
const TAR_SUFFIXES = [".tgz", ".tar.gz", ".tar"];
|
|
6
6
|
export function resolveArchiveKind(filePath) {
|
|
7
7
|
const lower = filePath.toLowerCase();
|
package/dist/infra/dotenv.js
CHANGED
|
@@ -435,6 +435,10 @@ export function matchAllowlist(entries, resolution) {
|
|
|
435
435
|
return null;
|
|
436
436
|
}
|
|
437
437
|
const DISALLOWED_PIPELINE_TOKENS = new Set([">", "<", "`", "\n", "\r", "(", ")"]);
|
|
438
|
+
const DOUBLE_QUOTE_ESCAPES = new Set(["\\", '"', "$", "`", "\n", "\r"]);
|
|
439
|
+
function isDoubleQuoteEscape(next) {
|
|
440
|
+
return Boolean(next && DOUBLE_QUOTE_ESCAPES.has(next));
|
|
441
|
+
}
|
|
438
442
|
/**
|
|
439
443
|
* Iterates through a command string while respecting shell quoting rules.
|
|
440
444
|
* The callback receives each character and the next character, and returns an action:
|
|
@@ -478,6 +482,21 @@ function iterateQuoteAware(command, onChar) {
|
|
|
478
482
|
continue;
|
|
479
483
|
}
|
|
480
484
|
if (inDouble) {
|
|
485
|
+
if (ch === "\\" && isDoubleQuoteEscape(next)) {
|
|
486
|
+
buf += ch;
|
|
487
|
+
buf += next;
|
|
488
|
+
i += 1;
|
|
489
|
+
continue;
|
|
490
|
+
}
|
|
491
|
+
if (ch === "$" && next === "(") {
|
|
492
|
+
return { ok: false, reason: "unsupported shell token: $()" };
|
|
493
|
+
}
|
|
494
|
+
if (ch === "`") {
|
|
495
|
+
return { ok: false, reason: "unsupported shell token: `" };
|
|
496
|
+
}
|
|
497
|
+
if (ch === "\n" || ch === "\r") {
|
|
498
|
+
return { ok: false, reason: "unsupported shell token: newline" };
|
|
499
|
+
}
|
|
481
500
|
if (ch === '"') {
|
|
482
501
|
inDouble = false;
|
|
483
502
|
}
|
|
@@ -584,6 +603,12 @@ function tokenizeShellSegment(segment) {
|
|
|
584
603
|
continue;
|
|
585
604
|
}
|
|
586
605
|
if (inDouble) {
|
|
606
|
+
const next = segment[i + 1];
|
|
607
|
+
if (ch === "\\" && isDoubleQuoteEscape(next)) {
|
|
608
|
+
buf += next;
|
|
609
|
+
i += 1;
|
|
610
|
+
continue;
|
|
611
|
+
}
|
|
587
612
|
if (ch === '"') {
|
|
588
613
|
inDouble = false;
|
|
589
614
|
}
|
|
@@ -841,6 +866,7 @@ function splitCommandChain(command) {
|
|
|
841
866
|
};
|
|
842
867
|
for (let i = 0; i < command.length; i += 1) {
|
|
843
868
|
const ch = command[i];
|
|
869
|
+
const next = command[i + 1];
|
|
844
870
|
if (escaped) {
|
|
845
871
|
buf += ch;
|
|
846
872
|
escaped = false;
|
|
@@ -859,6 +885,12 @@ function splitCommandChain(command) {
|
|
|
859
885
|
continue;
|
|
860
886
|
}
|
|
861
887
|
if (inDouble) {
|
|
888
|
+
if (ch === "\\" && isDoubleQuoteEscape(next)) {
|
|
889
|
+
buf += ch;
|
|
890
|
+
buf += next;
|
|
891
|
+
i += 1;
|
|
892
|
+
continue;
|
|
893
|
+
}
|
|
862
894
|
if (ch === '"') {
|
|
863
895
|
inDouble = false;
|
|
864
896
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createHash } from "node:crypto";
|
|
2
|
-
import fs from "node:fs/promises";
|
|
3
2
|
import fsSync from "node:fs";
|
|
3
|
+
import fs from "node:fs/promises";
|
|
4
4
|
import path from "node:path";
|
|
5
5
|
import { resolveConfigPath, resolveGatewayLockDir, resolveStateDir } from "../config/paths.js";
|
|
6
6
|
const DEFAULT_TIMEOUT_MS = 5000;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { ChannelHeartbeatDeps } from "../channels/plugins/types.js";
|
|
2
2
|
import type { OpenClawConfig } from "../config/config.js";
|
|
3
3
|
import type { AgentDefaultsConfig } from "../config/types.agent-defaults.js";
|
|
4
|
+
import type { OutboundSendDeps } from "./outbound/deliver.js";
|
|
4
5
|
import { type RuntimeEnv } from "../runtime.js";
|
|
5
6
|
import { type HeartbeatRunResult } from "./heartbeat-wake.js";
|
|
6
|
-
import type { OutboundSendDeps } from "./outbound/deliver.js";
|
|
7
7
|
type HeartbeatDeps = OutboundSendDeps & ChannelHeartbeatDeps & {
|
|
8
8
|
runtime?: RuntimeEnv;
|
|
9
9
|
getQueueSize?: (lane?: string) => number;
|
|
@@ -5,8 +5,8 @@ import { resolveUserTimezone } from "../agents/date-time.js";
|
|
|
5
5
|
import { resolveEffectiveMessagesConfig } from "../agents/identity.js";
|
|
6
6
|
import { DEFAULT_HEARTBEAT_FILENAME } from "../agents/workspace.js";
|
|
7
7
|
import { DEFAULT_HEARTBEAT_ACK_MAX_CHARS, DEFAULT_HEARTBEAT_EVERY, isHeartbeatContentEffectivelyEmpty, resolveHeartbeatPrompt as resolveHeartbeatPromptText, stripHeartbeatToken, } from "../auto-reply/heartbeat.js";
|
|
8
|
-
import { HEARTBEAT_TOKEN } from "../auto-reply/tokens.js";
|
|
9
8
|
import { getReplyFromConfig } from "../auto-reply/reply.js";
|
|
9
|
+
import { HEARTBEAT_TOKEN } from "../auto-reply/tokens.js";
|
|
10
10
|
import { getChannelPlugin } from "../channels/plugins/index.js";
|
|
11
11
|
import { parseDurationMs } from "../cli/parse-duration.js";
|
|
12
12
|
import { loadConfig } from "../config/config.js";
|
|
@@ -15,8 +15,8 @@ import { formatErrorMessage } from "../infra/errors.js";
|
|
|
15
15
|
import { peekSystemEvents } from "../infra/system-events.js";
|
|
16
16
|
import { createSubsystemLogger } from "../logging/subsystem.js";
|
|
17
17
|
import { getQueueSize } from "../process/command-queue.js";
|
|
18
|
-
import { defaultRuntime } from "../runtime.js";
|
|
19
18
|
import { normalizeAgentId, toAgentStoreSessionKey } from "../routing/session-key.js";
|
|
19
|
+
import { defaultRuntime } from "../runtime.js";
|
|
20
20
|
import { emitHeartbeatEvent, resolveIndicatorType } from "./heartbeat-events.js";
|
|
21
21
|
import { resolveHeartbeatVisibility } from "./heartbeat-visibility.js";
|
|
22
22
|
import { requestHeartbeatNow, setHeartbeatWakeHandler, } from "./heartbeat-wake.js";
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type LookupFn, type SsrFPolicy } from "./ssrf.js";
|
|
2
|
+
type FetchLike = (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>;
|
|
3
|
+
export type GuardedFetchOptions = {
|
|
4
|
+
url: string;
|
|
5
|
+
fetchImpl?: FetchLike;
|
|
6
|
+
init?: RequestInit;
|
|
7
|
+
maxRedirects?: number;
|
|
8
|
+
timeoutMs?: number;
|
|
9
|
+
signal?: AbortSignal;
|
|
10
|
+
policy?: SsrFPolicy;
|
|
11
|
+
lookupFn?: LookupFn;
|
|
12
|
+
pinDns?: boolean;
|
|
13
|
+
};
|
|
14
|
+
export type GuardedFetchResult = {
|
|
15
|
+
response: Response;
|
|
16
|
+
finalUrl: string;
|
|
17
|
+
release: () => Promise<void>;
|
|
18
|
+
};
|
|
19
|
+
export declare function fetchWithSsrFGuard(params: GuardedFetchOptions): Promise<GuardedFetchResult>;
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { closeDispatcher, createPinnedDispatcher, resolvePinnedHostname, resolvePinnedHostnameWithPolicy, } from "./ssrf.js";
|
|
2
|
+
const DEFAULT_MAX_REDIRECTS = 3;
|
|
3
|
+
function isRedirectStatus(status) {
|
|
4
|
+
return status === 301 || status === 302 || status === 303 || status === 307 || status === 308;
|
|
5
|
+
}
|
|
6
|
+
function buildAbortSignal(params) {
|
|
7
|
+
const { timeoutMs, signal } = params;
|
|
8
|
+
if (!timeoutMs && !signal) {
|
|
9
|
+
return { signal: undefined, cleanup: () => { } };
|
|
10
|
+
}
|
|
11
|
+
if (!timeoutMs) {
|
|
12
|
+
return { signal, cleanup: () => { } };
|
|
13
|
+
}
|
|
14
|
+
const controller = new AbortController();
|
|
15
|
+
const timeoutId = setTimeout(() => controller.abort(), timeoutMs);
|
|
16
|
+
const onAbort = () => controller.abort();
|
|
17
|
+
if (signal) {
|
|
18
|
+
if (signal.aborted) {
|
|
19
|
+
controller.abort();
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
signal.addEventListener("abort", onAbort, { once: true });
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
const cleanup = () => {
|
|
26
|
+
clearTimeout(timeoutId);
|
|
27
|
+
if (signal) {
|
|
28
|
+
signal.removeEventListener("abort", onAbort);
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
return { signal: controller.signal, cleanup };
|
|
32
|
+
}
|
|
33
|
+
export async function fetchWithSsrFGuard(params) {
|
|
34
|
+
const fetcher = params.fetchImpl ?? globalThis.fetch;
|
|
35
|
+
if (!fetcher) {
|
|
36
|
+
throw new Error("fetch is not available");
|
|
37
|
+
}
|
|
38
|
+
const maxRedirects = typeof params.maxRedirects === "number" && Number.isFinite(params.maxRedirects)
|
|
39
|
+
? Math.max(0, Math.floor(params.maxRedirects))
|
|
40
|
+
: DEFAULT_MAX_REDIRECTS;
|
|
41
|
+
const { signal, cleanup } = buildAbortSignal({
|
|
42
|
+
timeoutMs: params.timeoutMs,
|
|
43
|
+
signal: params.signal,
|
|
44
|
+
});
|
|
45
|
+
let released = false;
|
|
46
|
+
const release = async (dispatcher) => {
|
|
47
|
+
if (released) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
released = true;
|
|
51
|
+
cleanup();
|
|
52
|
+
await closeDispatcher(dispatcher ?? undefined);
|
|
53
|
+
};
|
|
54
|
+
const visited = new Set();
|
|
55
|
+
let currentUrl = params.url;
|
|
56
|
+
let redirectCount = 0;
|
|
57
|
+
while (true) {
|
|
58
|
+
let parsedUrl;
|
|
59
|
+
try {
|
|
60
|
+
parsedUrl = new URL(currentUrl);
|
|
61
|
+
}
|
|
62
|
+
catch {
|
|
63
|
+
await release();
|
|
64
|
+
throw new Error("Invalid URL: must be http or https");
|
|
65
|
+
}
|
|
66
|
+
if (!["http:", "https:"].includes(parsedUrl.protocol)) {
|
|
67
|
+
await release();
|
|
68
|
+
throw new Error("Invalid URL: must be http or https");
|
|
69
|
+
}
|
|
70
|
+
let dispatcher = null;
|
|
71
|
+
try {
|
|
72
|
+
const usePolicy = Boolean(params.policy?.allowPrivateNetwork || params.policy?.allowedHostnames?.length);
|
|
73
|
+
const pinned = usePolicy
|
|
74
|
+
? await resolvePinnedHostnameWithPolicy(parsedUrl.hostname, {
|
|
75
|
+
lookupFn: params.lookupFn,
|
|
76
|
+
policy: params.policy,
|
|
77
|
+
})
|
|
78
|
+
: await resolvePinnedHostname(parsedUrl.hostname, params.lookupFn);
|
|
79
|
+
if (params.pinDns !== false) {
|
|
80
|
+
dispatcher = createPinnedDispatcher(pinned);
|
|
81
|
+
}
|
|
82
|
+
const init = {
|
|
83
|
+
...(params.init ? { ...params.init } : {}),
|
|
84
|
+
redirect: "manual",
|
|
85
|
+
...(dispatcher ? { dispatcher } : {}),
|
|
86
|
+
...(signal ? { signal } : {}),
|
|
87
|
+
};
|
|
88
|
+
const response = await fetcher(parsedUrl.toString(), init);
|
|
89
|
+
if (isRedirectStatus(response.status)) {
|
|
90
|
+
const location = response.headers.get("location");
|
|
91
|
+
if (!location) {
|
|
92
|
+
await release(dispatcher);
|
|
93
|
+
throw new Error(`Redirect missing location header (${response.status})`);
|
|
94
|
+
}
|
|
95
|
+
redirectCount += 1;
|
|
96
|
+
if (redirectCount > maxRedirects) {
|
|
97
|
+
await release(dispatcher);
|
|
98
|
+
throw new Error(`Too many redirects (limit: ${maxRedirects})`);
|
|
99
|
+
}
|
|
100
|
+
const nextUrl = new URL(location, parsedUrl).toString();
|
|
101
|
+
if (visited.has(nextUrl)) {
|
|
102
|
+
await release(dispatcher);
|
|
103
|
+
throw new Error("Redirect loop detected");
|
|
104
|
+
}
|
|
105
|
+
visited.add(nextUrl);
|
|
106
|
+
void response.body?.cancel();
|
|
107
|
+
await closeDispatcher(dispatcher);
|
|
108
|
+
currentUrl = nextUrl;
|
|
109
|
+
continue;
|
|
110
|
+
}
|
|
111
|
+
return {
|
|
112
|
+
response,
|
|
113
|
+
finalUrl: currentUrl,
|
|
114
|
+
release: async () => release(dispatcher),
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
catch (err) {
|
|
118
|
+
await release(dispatcher);
|
|
119
|
+
throw err;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
package/dist/infra/net/ssrf.d.ts
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
import { lookup as dnsLookup } from "node:dns/promises";
|
|
2
1
|
import { lookup as dnsLookupCb } from "node:dns";
|
|
2
|
+
import { lookup as dnsLookup } from "node:dns/promises";
|
|
3
3
|
import { type Dispatcher } from "undici";
|
|
4
4
|
export declare class SsrFBlockedError extends Error {
|
|
5
5
|
constructor(message: string);
|
|
6
6
|
}
|
|
7
|
-
type LookupFn = typeof dnsLookup;
|
|
7
|
+
export type LookupFn = typeof dnsLookup;
|
|
8
|
+
export type SsrFPolicy = {
|
|
9
|
+
allowPrivateNetwork?: boolean;
|
|
10
|
+
allowedHostnames?: string[];
|
|
11
|
+
};
|
|
8
12
|
export declare function isPrivateIpAddress(address: string): boolean;
|
|
9
13
|
export declare function isBlockedHostname(hostname: string): boolean;
|
|
10
14
|
export declare function createPinnedLookup(params: {
|
|
@@ -17,8 +21,11 @@ export type PinnedHostname = {
|
|
|
17
21
|
addresses: string[];
|
|
18
22
|
lookup: typeof dnsLookupCb;
|
|
19
23
|
};
|
|
24
|
+
export declare function resolvePinnedHostnameWithPolicy(hostname: string, params?: {
|
|
25
|
+
lookupFn?: LookupFn;
|
|
26
|
+
policy?: SsrFPolicy;
|
|
27
|
+
}): Promise<PinnedHostname>;
|
|
20
28
|
export declare function resolvePinnedHostname(hostname: string, lookupFn?: LookupFn): Promise<PinnedHostname>;
|
|
21
29
|
export declare function createPinnedDispatcher(pinned: PinnedHostname): Dispatcher;
|
|
22
30
|
export declare function closeDispatcher(dispatcher?: Dispatcher | null): Promise<void>;
|
|
23
31
|
export declare function assertPublicHostname(hostname: string, lookupFn?: LookupFn): Promise<void>;
|
|
24
|
-
export {};
|
package/dist/infra/net/ssrf.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { lookup as dnsLookup } from "node:dns/promises";
|
|
2
1
|
import { lookup as dnsLookupCb } from "node:dns";
|
|
2
|
+
import { lookup as dnsLookup } from "node:dns/promises";
|
|
3
3
|
import { Agent } from "undici";
|
|
4
4
|
export class SsrFBlockedError extends Error {
|
|
5
5
|
constructor(message) {
|
|
@@ -16,6 +16,12 @@ function normalizeHostname(hostname) {
|
|
|
16
16
|
}
|
|
17
17
|
return normalized;
|
|
18
18
|
}
|
|
19
|
+
function normalizeHostnameSet(values) {
|
|
20
|
+
if (!values || values.length === 0) {
|
|
21
|
+
return new Set();
|
|
22
|
+
}
|
|
23
|
+
return new Set(values.map((value) => normalizeHostname(value)).filter(Boolean));
|
|
24
|
+
}
|
|
19
25
|
function parseIpv4(address) {
|
|
20
26
|
const parts = address.split(".");
|
|
21
27
|
if (parts.length !== 4) {
|
|
@@ -158,24 +164,32 @@ export function createPinnedLookup(params) {
|
|
|
158
164
|
cb(null, chosen.address, chosen.family);
|
|
159
165
|
});
|
|
160
166
|
}
|
|
161
|
-
export async function
|
|
167
|
+
export async function resolvePinnedHostnameWithPolicy(hostname, params = {}) {
|
|
162
168
|
const normalized = normalizeHostname(hostname);
|
|
163
169
|
if (!normalized) {
|
|
164
170
|
throw new Error("Invalid hostname");
|
|
165
171
|
}
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
if (
|
|
170
|
-
|
|
172
|
+
const allowPrivateNetwork = Boolean(params.policy?.allowPrivateNetwork);
|
|
173
|
+
const allowedHostnames = normalizeHostnameSet(params.policy?.allowedHostnames);
|
|
174
|
+
const isExplicitAllowed = allowedHostnames.has(normalized);
|
|
175
|
+
if (!allowPrivateNetwork && !isExplicitAllowed) {
|
|
176
|
+
if (isBlockedHostname(normalized)) {
|
|
177
|
+
throw new SsrFBlockedError(`Blocked hostname: ${hostname}`);
|
|
178
|
+
}
|
|
179
|
+
if (isPrivateIpAddress(normalized)) {
|
|
180
|
+
throw new SsrFBlockedError("Blocked: private/internal IP address");
|
|
181
|
+
}
|
|
171
182
|
}
|
|
183
|
+
const lookupFn = params.lookupFn ?? dnsLookup;
|
|
172
184
|
const results = await lookupFn(normalized, { all: true });
|
|
173
185
|
if (results.length === 0) {
|
|
174
186
|
throw new Error(`Unable to resolve hostname: ${hostname}`);
|
|
175
187
|
}
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
188
|
+
if (!allowPrivateNetwork && !isExplicitAllowed) {
|
|
189
|
+
for (const entry of results) {
|
|
190
|
+
if (isPrivateIpAddress(entry.address)) {
|
|
191
|
+
throw new SsrFBlockedError("Blocked: resolves to private/internal IP address");
|
|
192
|
+
}
|
|
179
193
|
}
|
|
180
194
|
}
|
|
181
195
|
const addresses = Array.from(new Set(results.map((entry) => entry.address)));
|
|
@@ -188,6 +202,9 @@ export async function resolvePinnedHostname(hostname, lookupFn = dnsLookup) {
|
|
|
188
202
|
lookup: createPinnedLookup({ hostname: normalized, addresses }),
|
|
189
203
|
};
|
|
190
204
|
}
|
|
205
|
+
export async function resolvePinnedHostname(hostname, lookupFn = dnsLookup) {
|
|
206
|
+
return await resolvePinnedHostnameWithPolicy(hostname, { lookupFn });
|
|
207
|
+
}
|
|
191
208
|
export function createPinnedDispatcher(pinned) {
|
|
192
209
|
return new Agent({
|
|
193
210
|
connect: {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { ChannelOutboundTargetMode } from "../../channels/plugins/types.js";
|
|
2
|
+
import type { OpenClawConfig } from "../../config/config.js";
|
|
2
3
|
import type { SessionEntry } from "../../config/sessions.js";
|
|
4
|
+
import type { OutboundTargetResolution } from "./targets.js";
|
|
3
5
|
import { type GatewayMessageChannel } from "../../utils/message-channel.js";
|
|
4
6
|
import { type SessionDeliveryTarget } from "./targets.js";
|
|
5
|
-
import type { OpenClawConfig } from "../../config/config.js";
|
|
6
|
-
import type { OutboundTargetResolution } from "./targets.js";
|
|
7
7
|
export type AgentDeliveryPlan = {
|
|
8
8
|
baseDelivery: SessionDeliveryTarget;
|
|
9
9
|
resolvedChannel: GatewayMessageChannel;
|
|
@@ -2,12 +2,12 @@ import type { ReplyPayload } from "../../auto-reply/types.js";
|
|
|
2
2
|
import type { OpenClawConfig } from "../../config/config.js";
|
|
3
3
|
import type { sendMessageDiscord } from "../../discord/send.js";
|
|
4
4
|
import type { sendMessageIMessage } from "../../imessage/send.js";
|
|
5
|
-
import { sendMessageSignal } from "../../signal/send.js";
|
|
6
5
|
import type { sendMessageSlack } from "../../slack/send.js";
|
|
7
6
|
import type { sendMessageTelegram } from "../../telegram/send.js";
|
|
8
7
|
import type { sendMessageWhatsApp } from "../../web/outbound.js";
|
|
9
8
|
import type { NormalizedOutboundPayload } from "./payloads.js";
|
|
10
9
|
import type { OutboundChannel } from "./targets.js";
|
|
10
|
+
import { sendMessageSignal } from "../../signal/send.js";
|
|
11
11
|
export type { NormalizedOutboundPayload } from "./payloads.js";
|
|
12
12
|
export { normalizeOutboundPayloads } from "./payloads.js";
|
|
13
13
|
type SendMatrixMessage = (to: string, text: string, opts?: {
|
|
@@ -2,9 +2,9 @@ import { chunkByParagraph, chunkMarkdownTextWithMode, resolveChunkMode, resolveT
|
|
|
2
2
|
import { resolveChannelMediaMaxBytes } from "../../channels/plugins/media-limits.js";
|
|
3
3
|
import { loadChannelOutboundAdapter } from "../../channels/plugins/outbound/load.js";
|
|
4
4
|
import { resolveMarkdownTableMode } from "../../config/markdown-tables.js";
|
|
5
|
+
import { appendAssistantMessageToSessionTranscript, resolveMirroredTranscriptText, } from "../../config/sessions.js";
|
|
5
6
|
import { markdownToSignalTextChunks } from "../../signal/format.js";
|
|
6
7
|
import { sendMessageSignal } from "../../signal/send.js";
|
|
7
|
-
import { appendAssistantMessageToSessionTranscript, resolveMirroredTranscriptText, } from "../../config/sessions.js";
|
|
8
8
|
import { normalizeReplyPayloadsForDelivery } from "./payloads.js";
|
|
9
9
|
export { normalizeOutboundPayloads } from "./payloads.js";
|
|
10
10
|
function throwIfAborted(abortSignal) {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { AgentToolResult } from "@mariozechner/pi-agent-core";
|
|
2
2
|
import type { ChannelId, ChannelMessageActionName, ChannelThreadingToolContext } from "../../channels/plugins/types.js";
|
|
3
3
|
import type { OpenClawConfig } from "../../config/config.js";
|
|
4
|
-
import { type GatewayClientMode, type GatewayClientName } from "../../utils/message-channel.js";
|
|
5
4
|
import type { OutboundSendDeps } from "./deliver.js";
|
|
6
5
|
import type { MessagePollResult, MessageSendResult } from "./message.js";
|
|
6
|
+
import { type GatewayClientMode, type GatewayClientName } from "../../utils/message-channel.js";
|
|
7
7
|
export type MessageActionRunnerGateway = {
|
|
8
8
|
url?: string;
|
|
9
9
|
token?: string;
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
2
|
import { fileURLToPath } from "node:url";
|
|
3
|
-
import { readNumberParam, readStringArrayParam, readStringParam, } from "../../agents/tools/common.js";
|
|
4
3
|
import { resolveSessionAgentId } from "../../agents/agent-scope.js";
|
|
4
|
+
import { readNumberParam, readStringArrayParam, readStringParam, } from "../../agents/tools/common.js";
|
|
5
5
|
import { parseReplyDirectives } from "../../auto-reply/reply/reply-directives.js";
|
|
6
6
|
import { dispatchChannelMessageAction } from "../../channels/plugins/message-actions.js";
|
|
7
|
+
import { extensionForMime } from "../../media/mime.js";
|
|
8
|
+
import { parseSlackTarget } from "../../slack/targets.js";
|
|
7
9
|
import { isDeliverableMessageChannel, normalizeMessageChannel, } from "../../utils/message-channel.js";
|
|
10
|
+
import { loadWebMedia } from "../../web/media.js";
|
|
8
11
|
import { listConfiguredMessageChannels, resolveMessageChannelSelection, } from "./channel-selection.js";
|
|
9
12
|
import { applyTargetToParams } from "./channel-target.js";
|
|
10
|
-
import {
|
|
13
|
+
import { actionHasTarget, actionRequiresTarget } from "./message-action-spec.js";
|
|
11
14
|
import { applyCrossContextDecoration, buildCrossContextDecoration, enforceCrossContextPolicy, shouldApplyCrossContextMarker, } from "./outbound-policy.js";
|
|
12
15
|
import { executePollAction, executeSendAction } from "./outbound-send-service.js";
|
|
13
|
-
import {
|
|
16
|
+
import { ensureOutboundSessionEntry, resolveOutboundSessionRoute } from "./outbound-session.js";
|
|
14
17
|
import { resolveChannelTarget } from "./target-resolver.js";
|
|
15
|
-
import { loadWebMedia } from "../../web/media.js";
|
|
16
|
-
import { extensionForMime } from "../../media/mime.js";
|
|
17
|
-
import { parseSlackTarget } from "../../slack/targets.js";
|
|
18
18
|
export function getToolResult(result) {
|
|
19
19
|
return "toolResult" in result ? result.toolResult : undefined;
|
|
20
20
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { normalizeTargetForProvider } from "./target-normalization.js";
|
|
2
1
|
import { getChannelMessageAdapter } from "./channel-adapters.js";
|
|
2
|
+
import { normalizeTargetForProvider } from "./target-normalization.js";
|
|
3
3
|
import { formatTargetDisplay, lookupDirectoryDisplay } from "./target-resolver.js";
|
|
4
4
|
const CONTEXT_GUARDED_ACTIONS = new Set([
|
|
5
5
|
"send",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ChannelId } from "../../channels/plugins/types.js";
|
|
2
2
|
import type { OpenClawConfig } from "../../config/config.js";
|
|
3
|
-
import { type RoutePeer } from "../../routing/resolve-route.js";
|
|
4
3
|
import type { ResolvedMessagingTarget } from "./target-resolver.js";
|
|
4
|
+
import { type RoutePeer } from "../../routing/resolve-route.js";
|
|
5
5
|
export type OutboundSessionRoute = {
|
|
6
6
|
sessionKey: string;
|
|
7
7
|
baseSessionKey: string;
|
|
@@ -4,10 +4,10 @@ import { parseDiscordTarget } from "../../discord/targets.js";
|
|
|
4
4
|
import { parseIMessageTarget, normalizeIMessageHandle } from "../../imessage/targets.js";
|
|
5
5
|
import { buildAgentSessionKey, } from "../../routing/resolve-route.js";
|
|
6
6
|
import { resolveThreadSessionKeys } from "../../routing/session-key.js";
|
|
7
|
+
import { resolveSignalPeerId, resolveSignalRecipient, resolveSignalSender, } from "../../signal/identity.js";
|
|
7
8
|
import { resolveSlackAccount } from "../../slack/accounts.js";
|
|
8
9
|
import { createSlackWebClient } from "../../slack/client.js";
|
|
9
10
|
import { normalizeAllowListLower } from "../../slack/monitor/allow-list.js";
|
|
10
|
-
import { resolveSignalPeerId, resolveSignalRecipient, resolveSignalSender, } from "../../signal/identity.js";
|
|
11
11
|
import { parseSlackTarget } from "../../slack/targets.js";
|
|
12
12
|
import { buildTelegramGroupPeerId } from "../../telegram/bot/helpers.js";
|
|
13
13
|
import { resolveTelegramTargetChatType } from "../../telegram/inline-buttons.js";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { getChannelPlugin } from "../../channels/plugins/index.js";
|
|
2
2
|
import { defaultRuntime } from "../../runtime.js";
|
|
3
3
|
import { buildDirectoryCacheKey, DirectoryCache } from "./directory-cache.js";
|
|
4
|
-
import { buildTargetResolverSignature, normalizeChannelTargetInput, normalizeTargetForProvider, } from "./target-normalization.js";
|
|
5
4
|
import { ambiguousTargetError, unknownTargetError } from "./target-errors.js";
|
|
5
|
+
import { buildTargetResolverSignature, normalizeChannelTargetInput, normalizeTargetForProvider, } from "./target-normalization.js";
|
|
6
6
|
export async function resolveChannelTarget(params) {
|
|
7
7
|
return resolveMessagingTarget(params);
|
|
8
8
|
}
|
package/dist/infra/path-env.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import fs from "node:fs";
|
|
2
2
|
import os from "node:os";
|
|
3
3
|
import path from "node:path";
|
|
4
|
-
import { isTruthyEnvValue } from "./env.js";
|
|
5
4
|
import { resolveBrewPathDirs } from "./brew.js";
|
|
5
|
+
import { isTruthyEnvValue } from "./env.js";
|
|
6
6
|
function isExecutable(filePath) {
|
|
7
7
|
try {
|
|
8
8
|
fs.accessSync(filePath, fs.constants.X_OK);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import net from "node:net";
|
|
2
2
|
import { runCommandWithTimeout } from "../process/exec.js";
|
|
3
|
-
import { resolveLsofCommand } from "./ports-lsof.js";
|
|
4
3
|
import { buildPortHints } from "./ports-format.js";
|
|
4
|
+
import { resolveLsofCommand } from "./ports-lsof.js";
|
|
5
5
|
function isErrno(err) {
|
|
6
6
|
return Boolean(err && typeof err === "object" && "code" in err);
|
|
7
7
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { type ProviderAuth } from "./provider-usage.auth.js";
|
|
2
1
|
import type { UsageProviderId, UsageSummary } from "./provider-usage.types.js";
|
|
2
|
+
import { type ProviderAuth } from "./provider-usage.auth.js";
|
|
3
3
|
type UsageSummaryOptions = {
|
|
4
4
|
now?: number;
|
|
5
5
|
timeoutMs?: number;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import { resolveFetch } from "./fetch.js";
|
|
1
2
|
import { resolveProviderAuths } from "./provider-usage.auth.js";
|
|
2
3
|
import { fetchAntigravityUsage, fetchClaudeUsage, fetchCodexUsage, fetchCopilotUsage, fetchGeminiUsage, fetchMinimaxUsage, fetchZaiUsage, } from "./provider-usage.fetch.js";
|
|
3
4
|
import { DEFAULT_TIMEOUT_MS, ignoredErrors, PROVIDER_LABELS, usageProviders, withTimeout, } from "./provider-usage.shared.js";
|
|
4
|
-
import { resolveFetch } from "./fetch.js";
|
|
5
5
|
export async function loadProviderUsageSummary(opts = {}) {
|
|
6
6
|
const now = opts.now ?? Date.now();
|
|
7
7
|
const timeoutMs = opts.timeoutMs ?? DEFAULT_TIMEOUT_MS;
|
package/dist/infra/retry.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
+
import { sleep } from "../utils.js";
|
|
1
2
|
const DEFAULT_RETRY_CONFIG = {
|
|
2
3
|
attempts: 3,
|
|
3
4
|
minDelayMs: 300,
|
|
4
5
|
maxDelayMs: 30_000,
|
|
5
6
|
jitter: 0,
|
|
6
7
|
};
|
|
7
|
-
const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
|
|
8
8
|
const asFiniteNumber = (value) => typeof value === "number" && Number.isFinite(value) ? value : undefined;
|
|
9
9
|
const clampNumber = (value, fallback, min, max) => {
|
|
10
10
|
const next = asFiniteNumber(value);
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { loadWorkspaceSkillEntries } from "../agents/skills.js";
|
|
2
1
|
import { resolveAgentWorkspaceDir, resolveDefaultAgentId } from "../agents/agent-scope.js";
|
|
3
|
-
import {
|
|
4
|
-
import { createSubsystemLogger } from "../logging/subsystem.js";
|
|
2
|
+
import { loadWorkspaceSkillEntries } from "../agents/skills.js";
|
|
5
3
|
import { bumpSkillsSnapshotVersion } from "../agents/skills/refresh.js";
|
|
4
|
+
import { createSubsystemLogger } from "../logging/subsystem.js";
|
|
5
|
+
import { listNodePairing, updatePairedNodeMetadata } from "./node-pairing.js";
|
|
6
6
|
const log = createSubsystemLogger("gateway/skills-remote");
|
|
7
7
|
const remoteNodes = new Map();
|
|
8
8
|
let remoteRegistry = null;
|
|
@@ -4,9 +4,9 @@ import path from "node:path";
|
|
|
4
4
|
import { resolveDefaultAgentId } from "../agents/agent-scope.js";
|
|
5
5
|
import { resolveLegacyStateDirs, resolveNewStateDir, resolveOAuthDir, resolveStateDir, } from "../config/paths.js";
|
|
6
6
|
import { saveSessionStore } from "../config/sessions.js";
|
|
7
|
+
import { canonicalizeMainSessionAlias } from "../config/sessions/main-session.js";
|
|
7
8
|
import { createSubsystemLogger } from "../logging/subsystem.js";
|
|
8
9
|
import { buildAgentMainSessionKey, DEFAULT_ACCOUNT_ID, DEFAULT_MAIN_KEY, normalizeAgentId, } from "../routing/session-key.js";
|
|
9
|
-
import { canonicalizeMainSessionAlias } from "../config/sessions/main-session.js";
|
|
10
10
|
import { ensureDir, existsDir, fileExists, isLegacyWhatsAppAuthFile, readSessionStoreJson5, safeReadDir, } from "./state-migrations.fs.js";
|
|
11
11
|
let autoMigrateChecked = false;
|
|
12
12
|
let autoMigrateStateDirChecked = false;
|
package/dist/infra/tailscale.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { existsSync } from "node:fs";
|
|
2
|
+
import { formatCliCommand } from "../cli/command-format.js";
|
|
2
3
|
import { promptYesNo } from "../cli/prompt.js";
|
|
3
4
|
import { danger, info, logVerbose, shouldLogVerbose, warn } from "../globals.js";
|
|
4
5
|
import { runExec } from "../process/exec.js";
|
|
5
6
|
import { defaultRuntime } from "../runtime.js";
|
|
6
7
|
import { colorize, isRich, theme } from "../terminal/theme.js";
|
|
7
|
-
import { formatCliCommand } from "../cli/command-format.js";
|
|
8
8
|
import { ensureBinary } from "./binaries.js";
|
|
9
9
|
function parsePossiblyNoisyJsonObject(stdout) {
|
|
10
10
|
const trimmed = stdout.trim();
|
|
@@ -13,3 +13,9 @@ export declare function resolveGlobalPackageRoot(manager: GlobalInstallManager,
|
|
|
13
13
|
export declare function detectGlobalInstallManagerForRoot(runCommand: CommandRunner, pkgRoot: string, timeoutMs: number): Promise<GlobalInstallManager | null>;
|
|
14
14
|
export declare function detectGlobalInstallManagerByPresence(runCommand: CommandRunner, timeoutMs: number): Promise<GlobalInstallManager | null>;
|
|
15
15
|
export declare function globalInstallArgs(manager: GlobalInstallManager, spec: string): string[];
|
|
16
|
+
export declare function cleanupGlobalRenameDirs(params: {
|
|
17
|
+
globalRoot: string;
|
|
18
|
+
packageName: string;
|
|
19
|
+
}): Promise<{
|
|
20
|
+
removed: string[];
|
|
21
|
+
}>;
|