@gguf/claw 2026.2.1 → 2026.2.3
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
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
import { GrammyError, InputFile } from "grammy";
|
|
2
|
-
import { markdownToTelegramChunks, markdownToTelegramHtml, renderTelegramHtmlText, } from "../format.js";
|
|
3
|
-
import { withTelegramApiErrorLogging } from "../api-logging.js";
|
|
4
2
|
import { chunkMarkdownTextWithMode } from "../../auto-reply/chunk.js";
|
|
5
|
-
import { splitTelegramCaption } from "../caption.js";
|
|
6
3
|
import { danger, logVerbose } from "../../globals.js";
|
|
7
4
|
import { formatErrorMessage } from "../../infra/errors.js";
|
|
8
5
|
import { mediaKindFromMime } from "../../media/constants.js";
|
|
@@ -10,14 +7,17 @@ import { fetchRemoteMedia } from "../../media/fetch.js";
|
|
|
10
7
|
import { isGifMedia } from "../../media/mime.js";
|
|
11
8
|
import { saveMediaBuffer } from "../../media/store.js";
|
|
12
9
|
import { loadWebMedia } from "../../web/media.js";
|
|
10
|
+
import { withTelegramApiErrorLogging } from "../api-logging.js";
|
|
11
|
+
import { splitTelegramCaption } from "../caption.js";
|
|
12
|
+
import { markdownToTelegramChunks, markdownToTelegramHtml, renderTelegramHtmlText, } from "../format.js";
|
|
13
13
|
import { buildInlineKeyboard } from "../send.js";
|
|
14
|
-
import { resolveTelegramVoiceSend } from "../voice.js";
|
|
15
|
-
import { buildTelegramThreadParams, resolveTelegramReplyId } from "./helpers.js";
|
|
16
14
|
import { cacheSticker, getCachedSticker } from "../sticker-cache.js";
|
|
15
|
+
import { resolveTelegramVoiceSend } from "../voice.js";
|
|
16
|
+
import { buildTelegramThreadParams, resolveTelegramReplyId, } from "./helpers.js";
|
|
17
17
|
const PARSE_ERR_RE = /can't parse entities|parse entities|find end of the entity/i;
|
|
18
18
|
const VOICE_FORBIDDEN_RE = /VOICE_MESSAGES_FORBIDDEN/;
|
|
19
19
|
export async function deliverReplies(params) {
|
|
20
|
-
const { replies, chatId, runtime, bot, replyToMode, textLimit,
|
|
20
|
+
const { replies, chatId, runtime, bot, replyToMode, textLimit, thread, linkPreview, replyQuoteText, } = params;
|
|
21
21
|
const chunkMode = params.chunkMode ?? "length";
|
|
22
22
|
let hasReplied = false;
|
|
23
23
|
let hasDelivered = false;
|
|
@@ -72,7 +72,7 @@ export async function deliverReplies(params) {
|
|
|
72
72
|
await sendTelegramText(bot, chatId, chunk.html, runtime, {
|
|
73
73
|
replyToMessageId: replyToId && (replyToMode === "all" || !hasReplied) ? replyToId : undefined,
|
|
74
74
|
replyQuoteText,
|
|
75
|
-
|
|
75
|
+
thread,
|
|
76
76
|
textMode: "html",
|
|
77
77
|
plainText: chunk.text,
|
|
78
78
|
linkPreview,
|
|
@@ -117,8 +117,8 @@ export async function deliverReplies(params) {
|
|
|
117
117
|
...(shouldAttachButtonsToMedia ? { reply_markup: replyMarkup } : {}),
|
|
118
118
|
...buildTelegramSendParams({
|
|
119
119
|
replyToMessageId,
|
|
120
|
-
messageThreadId,
|
|
121
120
|
replyQuoteText,
|
|
121
|
+
thread,
|
|
122
122
|
}),
|
|
123
123
|
};
|
|
124
124
|
if (isGif) {
|
|
@@ -184,7 +184,7 @@ export async function deliverReplies(params) {
|
|
|
184
184
|
replyToId,
|
|
185
185
|
replyToMode,
|
|
186
186
|
hasReplied,
|
|
187
|
-
|
|
187
|
+
thread,
|
|
188
188
|
linkPreview,
|
|
189
189
|
replyMarkup,
|
|
190
190
|
replyQuoteText,
|
|
@@ -226,7 +226,7 @@ export async function deliverReplies(params) {
|
|
|
226
226
|
const replyToMessageIdFollowup = replyToId && (replyToMode === "all" || !hasReplied) ? replyToId : undefined;
|
|
227
227
|
await sendTelegramText(bot, chatId, chunk.html, runtime, {
|
|
228
228
|
replyToMessageId: replyToMessageIdFollowup,
|
|
229
|
-
|
|
229
|
+
thread,
|
|
230
230
|
textMode: "html",
|
|
231
231
|
plainText: chunk.text,
|
|
232
232
|
linkPreview,
|
|
@@ -376,7 +376,7 @@ async function sendTelegramVoiceFallbackText(opts) {
|
|
|
376
376
|
await sendTelegramText(opts.bot, opts.chatId, chunk.html, opts.runtime, {
|
|
377
377
|
replyToMessageId: opts.replyToId && (opts.replyToMode === "all" || !hasReplied) ? opts.replyToId : undefined,
|
|
378
378
|
replyQuoteText: opts.replyQuoteText,
|
|
379
|
-
|
|
379
|
+
thread: opts.thread,
|
|
380
380
|
textMode: "html",
|
|
381
381
|
plainText: chunk.text,
|
|
382
382
|
linkPreview: opts.linkPreview,
|
|
@@ -389,7 +389,7 @@ async function sendTelegramVoiceFallbackText(opts) {
|
|
|
389
389
|
return hasReplied;
|
|
390
390
|
}
|
|
391
391
|
function buildTelegramSendParams(opts) {
|
|
392
|
-
const threadParams = buildTelegramThreadParams(opts?.
|
|
392
|
+
const threadParams = buildTelegramThreadParams(opts?.thread);
|
|
393
393
|
const params = {};
|
|
394
394
|
const quoteText = opts?.replyQuoteText?.trim();
|
|
395
395
|
if (opts?.replyToMessageId) {
|
|
@@ -412,7 +412,7 @@ async function sendTelegramText(bot, chatId, text, runtime, opts) {
|
|
|
412
412
|
const baseParams = buildTelegramSendParams({
|
|
413
413
|
replyToMessageId: opts?.replyToMessageId,
|
|
414
414
|
replyQuoteText: opts?.replyQuoteText,
|
|
415
|
-
|
|
415
|
+
thread: opts?.thread,
|
|
416
416
|
});
|
|
417
417
|
// Add link_preview_options when link preview is disabled.
|
|
418
418
|
const linkPreviewEnabled = opts?.linkPreview ?? true;
|
|
@@ -1,5 +1,9 @@
|
|
|
1
|
-
import { type NormalizedLocation } from "../../channels/location.js";
|
|
2
1
|
import type { TelegramMessage, TelegramStreamMode } from "./types.js";
|
|
2
|
+
import { type NormalizedLocation } from "../../channels/location.js";
|
|
3
|
+
export type TelegramThreadSpec = {
|
|
4
|
+
id?: number;
|
|
5
|
+
scope: "dm" | "forum" | "none";
|
|
6
|
+
};
|
|
3
7
|
/**
|
|
4
8
|
* Resolve the thread ID for Telegram forum topics.
|
|
5
9
|
* For non-forum groups, returns undefined even if messageThreadId is present
|
|
@@ -10,12 +14,17 @@ export declare function resolveTelegramForumThreadId(params: {
|
|
|
10
14
|
isForum?: boolean;
|
|
11
15
|
messageThreadId?: number | null;
|
|
12
16
|
}): number | undefined;
|
|
17
|
+
export declare function resolveTelegramThreadSpec(params: {
|
|
18
|
+
isGroup: boolean;
|
|
19
|
+
isForum?: boolean;
|
|
20
|
+
messageThreadId?: number | null;
|
|
21
|
+
}): TelegramThreadSpec;
|
|
13
22
|
/**
|
|
14
23
|
* Build thread params for Telegram API calls (messages, media).
|
|
15
24
|
* General forum topic (id=1) must be treated like a regular supergroup send:
|
|
16
25
|
* Telegram rejects sendMessage/sendMedia with message_thread_id=1 ("thread not found").
|
|
17
26
|
*/
|
|
18
|
-
export declare function buildTelegramThreadParams(
|
|
27
|
+
export declare function buildTelegramThreadParams(thread?: TelegramThreadSpec | null): {
|
|
19
28
|
message_thread_id: number;
|
|
20
29
|
} | undefined;
|
|
21
30
|
/**
|
|
@@ -17,17 +17,36 @@ export function resolveTelegramForumThreadId(params) {
|
|
|
17
17
|
}
|
|
18
18
|
return params.messageThreadId;
|
|
19
19
|
}
|
|
20
|
+
export function resolveTelegramThreadSpec(params) {
|
|
21
|
+
if (params.isGroup) {
|
|
22
|
+
const id = resolveTelegramForumThreadId({
|
|
23
|
+
isForum: params.isForum,
|
|
24
|
+
messageThreadId: params.messageThreadId,
|
|
25
|
+
});
|
|
26
|
+
return {
|
|
27
|
+
id,
|
|
28
|
+
scope: params.isForum ? "forum" : "none",
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
if (params.messageThreadId == null) {
|
|
32
|
+
return { scope: "dm" };
|
|
33
|
+
}
|
|
34
|
+
return {
|
|
35
|
+
id: params.messageThreadId,
|
|
36
|
+
scope: "dm",
|
|
37
|
+
};
|
|
38
|
+
}
|
|
20
39
|
/**
|
|
21
40
|
* Build thread params for Telegram API calls (messages, media).
|
|
22
41
|
* General forum topic (id=1) must be treated like a regular supergroup send:
|
|
23
42
|
* Telegram rejects sendMessage/sendMedia with message_thread_id=1 ("thread not found").
|
|
24
43
|
*/
|
|
25
|
-
export function buildTelegramThreadParams(
|
|
26
|
-
if (
|
|
44
|
+
export function buildTelegramThreadParams(thread) {
|
|
45
|
+
if (!thread?.id) {
|
|
27
46
|
return undefined;
|
|
28
47
|
}
|
|
29
|
-
const normalized = Math.trunc(
|
|
30
|
-
if (normalized === TELEGRAM_GENERAL_TOPIC_ID) {
|
|
48
|
+
const normalized = Math.trunc(thread.id);
|
|
49
|
+
if (normalized === TELEGRAM_GENERAL_TOPIC_ID && thread.scope === "forum") {
|
|
31
50
|
return undefined;
|
|
32
51
|
}
|
|
33
52
|
return { message_thread_id: normalized };
|
|
@@ -174,7 +193,7 @@ export function describeReplyTarget(msg) {
|
|
|
174
193
|
return null;
|
|
175
194
|
}
|
|
176
195
|
const sender = reply ? buildSenderName(reply) : undefined;
|
|
177
|
-
const senderLabel = sender
|
|
196
|
+
const senderLabel = sender ?? "unknown sender";
|
|
178
197
|
return {
|
|
179
198
|
id: reply?.message_id ? String(reply.message_id) : undefined,
|
|
180
199
|
sender: senderLabel,
|
|
@@ -1,15 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
accountId: any;
|
|
4
|
-
bot: any;
|
|
5
|
-
opts: any;
|
|
6
|
-
runtime: any;
|
|
7
|
-
mediaMaxBytes: any;
|
|
8
|
-
telegramCfg: any;
|
|
9
|
-
groupAllowFrom: any;
|
|
10
|
-
resolveGroupPolicy: any;
|
|
11
|
-
resolveTelegramGroupConfig: any;
|
|
12
|
-
shouldSkipUpdate: any;
|
|
13
|
-
processMessage: any;
|
|
14
|
-
logger: any;
|
|
15
|
-
}) => void;
|
|
1
|
+
import { RegisterTelegramHandlerParams } from "./bot-native-commands.js";
|
|
2
|
+
export declare const registerTelegramHandlers: ({ cfg, accountId, bot, opts, runtime, mediaMaxBytes, telegramCfg, groupAllowFrom, resolveGroupPolicy, resolveTelegramGroupConfig, shouldSkipUpdate, processMessage, logger, }: RegisterTelegramHandlerParams) => void;
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
+
import { resolveDefaultAgentId } from "../agents/agent-scope.js";
|
|
1
2
|
// @ts-nocheck
|
|
2
3
|
import { hasControlCommand } from "../auto-reply/command-detection.js";
|
|
3
4
|
import { createInboundDebouncer, resolveInboundDebounceMs, } from "../auto-reply/inbound-debounce.js";
|
|
4
5
|
import { buildCommandsPaginationKeyboard } from "../auto-reply/reply/commands-info.js";
|
|
5
|
-
import { buildCommandsMessagePaginated } from "../auto-reply/status.js";
|
|
6
6
|
import { listSkillCommandsForAgents } from "../auto-reply/skill-commands.js";
|
|
7
|
-
import {
|
|
7
|
+
import { buildCommandsMessagePaginated } from "../auto-reply/status.js";
|
|
8
|
+
import { resolveChannelConfigWrites } from "../channels/plugins/config-writes.js";
|
|
8
9
|
import { loadConfig } from "../config/config.js";
|
|
9
10
|
import { writeConfigFile } from "../config/io.js";
|
|
10
11
|
import { danger, logVerbose, warn } from "../globals.js";
|
|
11
|
-
import {
|
|
12
|
+
import { readChannelAllowFromStore } from "../pairing/pairing-store.js";
|
|
12
13
|
import { withTelegramApiErrorLogging } from "./api-logging.js";
|
|
13
|
-
import { resolveTelegramForumThreadId } from "./bot/helpers.js";
|
|
14
14
|
import { firstDefined, isSenderAllowed, normalizeAllowFromWithStore } from "./bot-access.js";
|
|
15
15
|
import { MEDIA_GROUP_TIMEOUT_MS } from "./bot-updates.js";
|
|
16
|
+
import { resolveMedia } from "./bot/delivery.js";
|
|
17
|
+
import { resolveTelegramForumThreadId } from "./bot/helpers.js";
|
|
16
18
|
import { migrateTelegramGroupConfig } from "./group-migration.js";
|
|
17
19
|
import { resolveTelegramInlineButtonsScope } from "./inline-buttons.js";
|
|
18
|
-
import { readTelegramAllowFromStore } from "./pairing-store.js";
|
|
19
|
-
import { resolveChannelConfigWrites } from "../channels/plugins/config-writes.js";
|
|
20
20
|
import { buildInlineKeyboard } from "./send.js";
|
|
21
21
|
export const registerTelegramHandlers = ({ cfg, accountId, bot, opts, runtime, mediaMaxBytes, telegramCfg, groupAllowFrom, resolveGroupPolicy, resolveTelegramGroupConfig, shouldSkipUpdate, processMessage, logger, }) => {
|
|
22
22
|
const TELEGRAM_TEXT_FRAGMENT_START_THRESHOLD_CHARS = 4000;
|
|
@@ -92,7 +92,7 @@ export const registerTelegramHandlers = ({ cfg, accountId, bot, opts, runtime, m
|
|
|
92
92
|
});
|
|
93
93
|
}
|
|
94
94
|
}
|
|
95
|
-
const storeAllowFrom = await
|
|
95
|
+
const storeAllowFrom = await readChannelAllowFromStore("telegram").catch(() => []);
|
|
96
96
|
await processMessage(primaryEntry.ctx, allMedia, storeAllowFrom);
|
|
97
97
|
}
|
|
98
98
|
catch (err) {
|
|
@@ -119,7 +119,7 @@ export const registerTelegramHandlers = ({ cfg, accountId, bot, opts, runtime, m
|
|
|
119
119
|
entities: undefined,
|
|
120
120
|
date: last.msg.date ?? first.msg.date,
|
|
121
121
|
};
|
|
122
|
-
const storeAllowFrom = await
|
|
122
|
+
const storeAllowFrom = await readChannelAllowFromStore("telegram").catch(() => []);
|
|
123
123
|
const baseCtx = first.ctx;
|
|
124
124
|
const getFile = typeof baseCtx.getFile === "function" ? baseCtx.getFile.bind(baseCtx) : async () => ({});
|
|
125
125
|
await processMessage({ message: syntheticMessage, me: baseCtx.me, getFile }, [], storeAllowFrom, { messageIdOverride: String(last.msg.message_id) });
|
|
@@ -182,7 +182,7 @@ export const registerTelegramHandlers = ({ cfg, accountId, bot, opts, runtime, m
|
|
|
182
182
|
messageThreadId,
|
|
183
183
|
});
|
|
184
184
|
const { groupConfig, topicConfig } = resolveTelegramGroupConfig(chatId, resolvedThreadId);
|
|
185
|
-
const storeAllowFrom = await
|
|
185
|
+
const storeAllowFrom = await readChannelAllowFromStore("telegram").catch(() => []);
|
|
186
186
|
const groupAllowOverride = firstDefined(topicConfig?.allowFrom, groupConfig?.allowFrom);
|
|
187
187
|
const effectiveGroupAllow = normalizeAllowFromWithStore({
|
|
188
188
|
allowFrom: groupAllowOverride ?? groupAllowFrom,
|
|
@@ -388,7 +388,7 @@ export const registerTelegramHandlers = ({ cfg, accountId, bot, opts, runtime, m
|
|
|
388
388
|
isForum,
|
|
389
389
|
messageThreadId,
|
|
390
390
|
});
|
|
391
|
-
const storeAllowFrom = await
|
|
391
|
+
const storeAllowFrom = await readChannelAllowFromStore("telegram").catch(() => []);
|
|
392
392
|
const { groupConfig, topicConfig } = resolveTelegramGroupConfig(chatId, resolvedThreadId);
|
|
393
393
|
const groupAllowOverride = firstDefined(topicConfig?.allowFrom, groupConfig?.allowFrom);
|
|
394
394
|
const effectiveGroupAllow = normalizeAllowFromWithStore({
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { Bot } from "grammy";
|
|
2
|
-
import { type HistoryEntry } from "../auto-reply/reply/history.js";
|
|
3
2
|
import type { OpenClawConfig } from "../config/config.js";
|
|
4
3
|
import type { DmPolicy, TelegramGroupConfig, TelegramTopicConfig } from "../config/types.js";
|
|
5
4
|
import type { TelegramContext } from "./bot/types.js";
|
|
5
|
+
import { type HistoryEntry } from "../auto-reply/reply/history.js";
|
|
6
6
|
type TelegramMediaRef = {
|
|
7
7
|
path: string;
|
|
8
8
|
contentType?: string;
|
|
@@ -118,6 +118,7 @@ export declare const buildTelegramMessageContext: ({ primaryCtx, allMedia, store
|
|
|
118
118
|
chatId: number;
|
|
119
119
|
isGroup: boolean;
|
|
120
120
|
resolvedThreadId: number | undefined;
|
|
121
|
+
threadSpec: import("./bot/helpers.js").TelegramThreadSpec;
|
|
121
122
|
replyThreadId: number | undefined;
|
|
122
123
|
isForum: boolean;
|
|
123
124
|
historyKey: string | undefined;
|
|
@@ -7,22 +7,22 @@ import { formatInboundEnvelope, resolveEnvelopeFormatOptions } from "../auto-rep
|
|
|
7
7
|
import { buildPendingHistoryContextFromMap, recordPendingHistoryEntryIfEnabled, } from "../auto-reply/reply/history.js";
|
|
8
8
|
import { finalizeInboundContext } from "../auto-reply/reply/inbound-context.js";
|
|
9
9
|
import { buildMentionRegexes, matchesMentionWithExplicit } from "../auto-reply/reply/mentions.js";
|
|
10
|
+
import { shouldAckReaction as shouldAckReactionGate } from "../channels/ack-reactions.js";
|
|
11
|
+
import { resolveControlCommandGate } from "../channels/command-gating.js";
|
|
10
12
|
import { formatLocationText, toLocationContext } from "../channels/location.js";
|
|
13
|
+
import { logInboundDrop } from "../channels/logging.js";
|
|
14
|
+
import { resolveMentionGatingWithBypass } from "../channels/mention-gating.js";
|
|
11
15
|
import { recordInboundSession } from "../channels/session.js";
|
|
12
16
|
import { formatCliCommand } from "../cli/command-format.js";
|
|
13
17
|
import { readSessionUpdatedAt, resolveStorePath } from "../config/sessions.js";
|
|
14
18
|
import { logVerbose, shouldLogVerbose } from "../globals.js";
|
|
15
19
|
import { recordChannelActivity } from "../infra/channel-activity.js";
|
|
20
|
+
import { upsertChannelPairingRequest } from "../pairing/pairing-store.js";
|
|
16
21
|
import { resolveAgentRoute } from "../routing/resolve-route.js";
|
|
17
22
|
import { resolveThreadSessionKeys } from "../routing/session-key.js";
|
|
18
|
-
import { shouldAckReaction as shouldAckReactionGate } from "../channels/ack-reactions.js";
|
|
19
|
-
import { resolveMentionGatingWithBypass } from "../channels/mention-gating.js";
|
|
20
|
-
import { resolveControlCommandGate } from "../channels/command-gating.js";
|
|
21
|
-
import { logInboundDrop } from "../channels/logging.js";
|
|
22
23
|
import { withTelegramApiErrorLogging } from "./api-logging.js";
|
|
23
|
-
import { buildGroupLabel, buildSenderLabel, buildSenderName, buildTelegramGroupFrom, buildTelegramGroupPeerId, buildTypingThreadParams, expandTextLinks, normalizeForwardedContext, describeReplyTarget, extractTelegramLocation, hasBotMention, resolveTelegramForumThreadId, } from "./bot/helpers.js";
|
|
24
24
|
import { firstDefined, isSenderAllowed, normalizeAllowFromWithStore, resolveSenderAllowMatch, } from "./bot-access.js";
|
|
25
|
-
import {
|
|
25
|
+
import { buildGroupLabel, buildSenderLabel, buildSenderName, buildTelegramGroupFrom, buildTelegramGroupPeerId, buildTypingThreadParams, expandTextLinks, normalizeForwardedContext, describeReplyTarget, extractTelegramLocation, hasBotMention, resolveTelegramThreadSpec, } from "./bot/helpers.js";
|
|
26
26
|
async function resolveStickerVisionSupport(params) {
|
|
27
27
|
try {
|
|
28
28
|
const catalog = await loadModelCatalog({ config: params.cfg });
|
|
@@ -51,11 +51,13 @@ export const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeA
|
|
|
51
51
|
const isGroup = msg.chat.type === "group" || msg.chat.type === "supergroup";
|
|
52
52
|
const messageThreadId = msg.message_thread_id;
|
|
53
53
|
const isForum = msg.chat.is_forum === true;
|
|
54
|
-
const
|
|
54
|
+
const threadSpec = resolveTelegramThreadSpec({
|
|
55
|
+
isGroup,
|
|
55
56
|
isForum,
|
|
56
57
|
messageThreadId,
|
|
57
58
|
});
|
|
58
|
-
const
|
|
59
|
+
const resolvedThreadId = threadSpec.scope === "forum" ? threadSpec.id : undefined;
|
|
60
|
+
const replyThreadId = threadSpec.id;
|
|
59
61
|
const { groupConfig, topicConfig } = resolveTelegramGroupConfig(chatId, resolvedThreadId);
|
|
60
62
|
const peerId = isGroup ? buildTelegramGroupPeerId(chatId, resolvedThreadId) : String(chatId);
|
|
61
63
|
const route = resolveAgentRoute({
|
|
@@ -68,8 +70,8 @@ export const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeA
|
|
|
68
70
|
},
|
|
69
71
|
});
|
|
70
72
|
const baseSessionKey = route.sessionKey;
|
|
71
|
-
// DMs: use raw messageThreadId for thread sessions (not
|
|
72
|
-
const dmThreadId =
|
|
73
|
+
// DMs: use raw messageThreadId for thread sessions (not forum topic ids)
|
|
74
|
+
const dmThreadId = threadSpec.scope === "dm" ? threadSpec.id : undefined;
|
|
73
75
|
const threadKeys = dmThreadId != null
|
|
74
76
|
? resolveThreadSessionKeys({ baseSessionKey, threadId: String(dmThreadId) })
|
|
75
77
|
: null;
|
|
@@ -127,11 +129,14 @@ export const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeA
|
|
|
127
129
|
try {
|
|
128
130
|
const from = msg.from;
|
|
129
131
|
const telegramUserId = from?.id ? String(from.id) : candidate;
|
|
130
|
-
const { code, created } = await
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
132
|
+
const { code, created } = await upsertChannelPairingRequest({
|
|
133
|
+
channel: "telegram",
|
|
134
|
+
id: telegramUserId,
|
|
135
|
+
meta: {
|
|
136
|
+
username: from?.username,
|
|
137
|
+
firstName: from?.first_name,
|
|
138
|
+
lastName: from?.last_name,
|
|
139
|
+
},
|
|
135
140
|
});
|
|
136
141
|
if (created) {
|
|
137
142
|
logger.info({
|
|
@@ -452,8 +457,8 @@ export const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeA
|
|
|
452
457
|
Sticker: allMedia[0]?.stickerMetadata,
|
|
453
458
|
...(locationData ? toLocationContext(locationData) : undefined),
|
|
454
459
|
CommandAuthorized: commandAuthorized,
|
|
455
|
-
// For groups: use
|
|
456
|
-
MessageThreadId:
|
|
460
|
+
// For groups: use resolved forum topic id; for DMs: use raw messageThreadId
|
|
461
|
+
MessageThreadId: threadSpec.id,
|
|
457
462
|
IsForum: isForum,
|
|
458
463
|
// Originating channel for reply routing.
|
|
459
464
|
OriginatingChannel: "telegram",
|
|
@@ -495,6 +500,7 @@ export const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeA
|
|
|
495
500
|
chatId,
|
|
496
501
|
isGroup,
|
|
497
502
|
resolvedThreadId,
|
|
503
|
+
threadSpec,
|
|
498
504
|
replyThreadId,
|
|
499
505
|
isForum,
|
|
500
506
|
historyKey,
|
|
@@ -1,12 +1 @@
|
|
|
1
|
-
export declare const dispatchTelegramMessage: ({ context, bot, cfg, runtime, replyToMode, streamMode, textLimit, telegramCfg, opts, resolveBotTopicsEnabled, }:
|
|
2
|
-
context: any;
|
|
3
|
-
bot: any;
|
|
4
|
-
cfg: any;
|
|
5
|
-
runtime: any;
|
|
6
|
-
replyToMode: any;
|
|
7
|
-
streamMode: any;
|
|
8
|
-
textLimit: any;
|
|
9
|
-
telegramCfg: any;
|
|
10
|
-
opts: any;
|
|
11
|
-
resolveBotTopicsEnabled: any;
|
|
12
|
-
}) => Promise<void>;
|
|
1
|
+
export declare const dispatchTelegramMessage: ({ context, bot, cfg, runtime, replyToMode, streamMode, textLimit, telegramCfg, opts, resolveBotTopicsEnabled, }: any) => Promise<void>;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { resolveAgentDir } from "../agents/agent-scope.js";
|
|
1
2
|
// @ts-nocheck
|
|
2
3
|
import { findModelInCatalog, loadModelCatalog, modelSupportsVision, } from "../agents/model-catalog.js";
|
|
3
|
-
import { EmbeddedBlockChunker } from "../agents/pi-embedded-block-chunker.js";
|
|
4
4
|
import { resolveDefaultModelForAgent } from "../agents/model-selection.js";
|
|
5
|
+
import { EmbeddedBlockChunker } from "../agents/pi-embedded-block-chunker.js";
|
|
5
6
|
import { resolveChunkMode } from "../auto-reply/chunk.js";
|
|
6
7
|
import { clearHistoryEntriesIfEnabled } from "../auto-reply/reply/history.js";
|
|
7
8
|
import { dispatchReplyWithBufferedBlockDispatcher } from "../auto-reply/reply/provider-dispatcher.js";
|
|
@@ -9,13 +10,12 @@ import { removeAckReactionAfterReply } from "../channels/ack-reactions.js";
|
|
|
9
10
|
import { logAckFailure, logTypingFailure } from "../channels/logging.js";
|
|
10
11
|
import { createReplyPrefixContext } from "../channels/reply-prefix.js";
|
|
11
12
|
import { createTypingCallbacks } from "../channels/typing.js";
|
|
12
|
-
import { danger, logVerbose } from "../globals.js";
|
|
13
13
|
import { resolveMarkdownTableMode } from "../config/markdown-tables.js";
|
|
14
|
+
import { danger, logVerbose } from "../globals.js";
|
|
14
15
|
import { deliverReplies } from "./bot/delivery.js";
|
|
15
16
|
import { resolveTelegramDraftStreamingChunking } from "./draft-chunking.js";
|
|
16
17
|
import { createTelegramDraftStream } from "./draft-stream.js";
|
|
17
18
|
import { cacheSticker, describeStickerImage } from "./sticker-cache.js";
|
|
18
|
-
import { resolveAgentDir } from "../agents/agent-scope.js";
|
|
19
19
|
const EMPTY_RESPONSE_FALLBACK = "No response generated. Please try again.";
|
|
20
20
|
async function resolveStickerVisionSupport(cfg, agentId) {
|
|
21
21
|
try {
|
|
@@ -31,11 +31,12 @@ async function resolveStickerVisionSupport(cfg, agentId) {
|
|
|
31
31
|
return false;
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
|
-
export const dispatchTelegramMessage = async ({ context, bot, cfg, runtime, replyToMode, streamMode, textLimit, telegramCfg, opts, resolveBotTopicsEnabled,
|
|
35
|
-
|
|
34
|
+
export const dispatchTelegramMessage = async ({ context, bot, cfg, runtime, replyToMode, streamMode, textLimit, telegramCfg, opts, resolveBotTopicsEnabled,
|
|
35
|
+
// oxlint-disable-next-line typescript/no-explicit-any
|
|
36
|
+
}) => {
|
|
37
|
+
const { ctxPayload, primaryCtx, msg, chatId, isGroup, threadSpec, historyKey, historyLimit, groupHistories, route, skillFilter, sendTyping, sendRecordVoice, ackReactionPromise, reactionApi, removeAckAfterReply, } = context;
|
|
36
38
|
const isPrivateChat = msg.chat.type === "private";
|
|
37
|
-
const
|
|
38
|
-
const draftThreadId = replyThreadId ?? messageThreadId;
|
|
39
|
+
const draftThreadId = threadSpec.id;
|
|
39
40
|
const draftMaxChars = Math.min(textLimit, 4096);
|
|
40
41
|
const canStreamDraft = streamMode !== "off" &&
|
|
41
42
|
isPrivateChat &&
|
|
@@ -47,7 +48,7 @@ export const dispatchTelegramMessage = async ({ context, bot, cfg, runtime, repl
|
|
|
47
48
|
chatId,
|
|
48
49
|
draftId: msg.message_id || Date.now(),
|
|
49
50
|
maxChars: draftMaxChars,
|
|
50
|
-
|
|
51
|
+
thread: threadSpec,
|
|
51
52
|
log: logVerbose,
|
|
52
53
|
warn: logVerbose,
|
|
53
54
|
})
|
|
@@ -197,7 +198,7 @@ export const dispatchTelegramMessage = async ({ context, bot, cfg, runtime, repl
|
|
|
197
198
|
bot,
|
|
198
199
|
replyToMode,
|
|
199
200
|
textLimit,
|
|
200
|
-
|
|
201
|
+
thread: threadSpec,
|
|
201
202
|
tableMode,
|
|
202
203
|
chunkMode,
|
|
203
204
|
onVoiceRecording: sendRecordVoice,
|
|
@@ -248,7 +249,7 @@ export const dispatchTelegramMessage = async ({ context, bot, cfg, runtime, repl
|
|
|
248
249
|
bot,
|
|
249
250
|
replyToMode,
|
|
250
251
|
textLimit,
|
|
251
|
-
|
|
252
|
+
thread: threadSpec,
|
|
252
253
|
tableMode,
|
|
253
254
|
chunkMode,
|
|
254
255
|
linkPreview: telegramCfg.linkPreview,
|
|
@@ -1,8 +1,35 @@
|
|
|
1
1
|
import type { Bot } from "grammy";
|
|
2
|
+
import type { OpenClawConfig } from "../config/config.js";
|
|
2
3
|
import type { ChannelGroupPolicy } from "../config/group-policy.js";
|
|
3
4
|
import type { ReplyToMode, TelegramAccountConfig, TelegramGroupConfig, TelegramTopicConfig } from "../config/types.js";
|
|
4
|
-
import type { OpenClawConfig } from "../config/config.js";
|
|
5
5
|
import type { RuntimeEnv } from "../runtime.js";
|
|
6
|
+
import { getChildLogger } from "../logging.js";
|
|
7
|
+
import { TelegramUpdateKeyContext } from "./bot-updates.js";
|
|
8
|
+
import { TelegramBotOptions } from "./bot.js";
|
|
9
|
+
export type RegisterTelegramHandlerParams = {
|
|
10
|
+
cfg: OpenClawConfig;
|
|
11
|
+
accountId: string;
|
|
12
|
+
bot: Bot;
|
|
13
|
+
mediaMaxBytes: number;
|
|
14
|
+
opts: TelegramBotOptions;
|
|
15
|
+
runtime: RuntimeEnv;
|
|
16
|
+
telegramCfg: TelegramAccountConfig;
|
|
17
|
+
groupAllowFrom?: Array<string | number>;
|
|
18
|
+
resolveGroupPolicy: (chatId: string | number) => ChannelGroupPolicy;
|
|
19
|
+
resolveTelegramGroupConfig: (chatId: string | number, messageThreadId?: number) => {
|
|
20
|
+
groupConfig?: TelegramGroupConfig;
|
|
21
|
+
topicConfig?: TelegramTopicConfig;
|
|
22
|
+
};
|
|
23
|
+
shouldSkipUpdate: (ctx: TelegramUpdateKeyContext) => boolean;
|
|
24
|
+
processMessage: (ctx: unknown, allMedia: Array<{
|
|
25
|
+
path: string;
|
|
26
|
+
contentType?: string;
|
|
27
|
+
}>, storeAllowFrom: string[], options?: {
|
|
28
|
+
messageIdOverride?: string;
|
|
29
|
+
forceWasMentioned?: boolean;
|
|
30
|
+
}) => Promise<void>;
|
|
31
|
+
logger: ReturnType<typeof getChildLogger>;
|
|
32
|
+
};
|
|
6
33
|
type RegisterTelegramNativeCommandsParams = {
|
|
7
34
|
bot: Bot;
|
|
8
35
|
cfg: OpenClawConfig;
|
|
@@ -22,7 +49,7 @@ type RegisterTelegramNativeCommandsParams = {
|
|
|
22
49
|
groupConfig?: TelegramGroupConfig;
|
|
23
50
|
topicConfig?: TelegramTopicConfig;
|
|
24
51
|
};
|
|
25
|
-
shouldSkipUpdate: (ctx:
|
|
52
|
+
shouldSkipUpdate: (ctx: TelegramUpdateKeyContext) => boolean;
|
|
26
53
|
opts: {
|
|
27
54
|
token: string;
|
|
28
55
|
};
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
import { resolveEffectiveMessagesConfig } from "../agents/identity.js";
|
|
2
2
|
import { resolveChunkMode } from "../auto-reply/chunk.js";
|
|
3
3
|
import { buildCommandTextFromArgs, findCommandByNativeName, listNativeCommandSpecs, listNativeCommandSpecsForConfig, parseCommandArgs, resolveCommandArgMenu, } from "../auto-reply/commands-registry.js";
|
|
4
|
-
import { listSkillCommandsForAgents } from "../auto-reply/skill-commands.js";
|
|
5
|
-
import { resolveTelegramCustomCommands } from "../config/telegram-custom-commands.js";
|
|
6
|
-
import { dispatchReplyWithBufferedBlockDispatcher } from "../auto-reply/reply/provider-dispatcher.js";
|
|
7
4
|
import { finalizeInboundContext } from "../auto-reply/reply/inbound-context.js";
|
|
8
|
-
import {
|
|
5
|
+
import { dispatchReplyWithBufferedBlockDispatcher } from "../auto-reply/reply/provider-dispatcher.js";
|
|
6
|
+
import { listSkillCommandsForAgents } from "../auto-reply/skill-commands.js";
|
|
7
|
+
import { resolveCommandAuthorizedFromAuthorizers } from "../channels/command-gating.js";
|
|
9
8
|
import { resolveMarkdownTableMode } from "../config/markdown-tables.js";
|
|
10
|
-
import {
|
|
9
|
+
import { resolveTelegramCustomCommands } from "../config/telegram-custom-commands.js";
|
|
11
10
|
import { normalizeTelegramCommandName, TELEGRAM_COMMAND_NAME_PATTERN, } from "../config/telegram-custom-commands.js";
|
|
11
|
+
import { danger, logVerbose } from "../globals.js";
|
|
12
|
+
import { readChannelAllowFromStore } from "../pairing/pairing-store.js";
|
|
13
|
+
import { executePluginCommand, getPluginCommandSpecs, matchPluginCommand, } from "../plugins/commands.js";
|
|
12
14
|
import { resolveAgentRoute } from "../routing/resolve-route.js";
|
|
13
15
|
import { resolveThreadSessionKeys } from "../routing/session-key.js";
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
+
import { withTelegramApiErrorLogging } from "./api-logging.js";
|
|
17
|
+
import { firstDefined, isSenderAllowed, normalizeAllowFromWithStore } from "./bot-access.js";
|
|
16
18
|
import { deliverReplies } from "./bot/delivery.js";
|
|
19
|
+
import { buildTelegramThreadParams, buildSenderName, buildTelegramGroupFrom, buildTelegramGroupPeerId, resolveTelegramForumThreadId, resolveTelegramThreadSpec, } from "./bot/helpers.js";
|
|
17
20
|
import { buildInlineKeyboard } from "./send.js";
|
|
18
|
-
import { buildSenderName, buildTelegramGroupFrom, buildTelegramGroupPeerId, resolveTelegramForumThreadId, } from "./bot/helpers.js";
|
|
19
|
-
import { firstDefined, isSenderAllowed, normalizeAllowFromWithStore } from "./bot-access.js";
|
|
20
|
-
import { readTelegramAllowFromStore } from "./pairing-store.js";
|
|
21
21
|
const EMPTY_RESPONSE_FALLBACK = "No response generated. Please try again.";
|
|
22
22
|
async function resolveTelegramCommandAuth(params) {
|
|
23
23
|
const { msg, bot, cfg, telegramCfg, allowFrom, groupAllowFrom, useAccessGroups, resolveGroupPolicy, resolveTelegramGroupConfig, requireAuth, } = params;
|
|
@@ -29,7 +29,7 @@ async function resolveTelegramCommandAuth(params) {
|
|
|
29
29
|
isForum,
|
|
30
30
|
messageThreadId,
|
|
31
31
|
});
|
|
32
|
-
const storeAllowFrom = await
|
|
32
|
+
const storeAllowFrom = await readChannelAllowFromStore("telegram").catch(() => []);
|
|
33
33
|
const { groupConfig, topicConfig } = resolveTelegramGroupConfig(chatId, resolvedThreadId);
|
|
34
34
|
const groupAllowOverride = firstDefined(topicConfig?.allowFrom, groupConfig?.allowFrom);
|
|
35
35
|
const effectiveGroupAllow = normalizeAllowFromWithStore({
|
|
@@ -143,7 +143,10 @@ export const registerTelegramNativeCommands = ({ bot, cfg, runtime, accountId, t
|
|
|
143
143
|
? listSkillCommandsForAgents(boundAgentIds ? { cfg, agentIds: boundAgentIds } : { cfg })
|
|
144
144
|
: [];
|
|
145
145
|
const nativeCommands = nativeEnabled
|
|
146
|
-
? listNativeCommandSpecsForConfig(cfg, {
|
|
146
|
+
? listNativeCommandSpecsForConfig(cfg, {
|
|
147
|
+
skillCommands,
|
|
148
|
+
provider: "telegram",
|
|
149
|
+
})
|
|
147
150
|
: [];
|
|
148
151
|
const reservedCommands = new Set(listNativeCommandSpecs().map((command) => command.name.toLowerCase()));
|
|
149
152
|
for (const command of skillCommands) {
|
|
@@ -231,7 +234,12 @@ export const registerTelegramNativeCommands = ({ bot, cfg, runtime, accountId, t
|
|
|
231
234
|
}
|
|
232
235
|
const { chatId, isGroup, isForum, resolvedThreadId, senderId, senderUsername, groupConfig, topicConfig, commandAuthorized, } = auth;
|
|
233
236
|
const messageThreadId = msg.message_thread_id;
|
|
234
|
-
const
|
|
237
|
+
const threadSpec = resolveTelegramThreadSpec({
|
|
238
|
+
isGroup,
|
|
239
|
+
isForum,
|
|
240
|
+
messageThreadId,
|
|
241
|
+
});
|
|
242
|
+
const threadParams = buildTelegramThreadParams(threadSpec) ?? {};
|
|
235
243
|
const commandDefinition = findCommandByNativeName(command.name, "telegram");
|
|
236
244
|
const rawText = ctx.match?.trim() ?? "";
|
|
237
245
|
const commandArgs = commandDefinition
|
|
@@ -273,7 +281,7 @@ export const registerTelegramNativeCommands = ({ bot, cfg, runtime, accountId, t
|
|
|
273
281
|
runtime,
|
|
274
282
|
fn: () => bot.api.sendMessage(chatId, title, {
|
|
275
283
|
...(replyMarkup ? { reply_markup: replyMarkup } : {}),
|
|
276
|
-
...
|
|
284
|
+
...threadParams,
|
|
277
285
|
}),
|
|
278
286
|
});
|
|
279
287
|
return;
|
|
@@ -289,9 +297,12 @@ export const registerTelegramNativeCommands = ({ bot, cfg, runtime, accountId, t
|
|
|
289
297
|
});
|
|
290
298
|
const baseSessionKey = route.sessionKey;
|
|
291
299
|
// DMs: use raw messageThreadId for thread sessions (not resolvedThreadId which is for forums)
|
|
292
|
-
const dmThreadId =
|
|
300
|
+
const dmThreadId = threadSpec.scope === "dm" ? threadSpec.id : undefined;
|
|
293
301
|
const threadKeys = dmThreadId != null
|
|
294
|
-
? resolveThreadSessionKeys({
|
|
302
|
+
? resolveThreadSessionKeys({
|
|
303
|
+
baseSessionKey,
|
|
304
|
+
threadId: String(dmThreadId),
|
|
305
|
+
})
|
|
295
306
|
: null;
|
|
296
307
|
const sessionKey = threadKeys?.sessionKey ?? baseSessionKey;
|
|
297
308
|
const tableMode = resolveMarkdownTableMode({
|
|
@@ -333,7 +344,7 @@ export const registerTelegramNativeCommands = ({ bot, cfg, runtime, accountId, t
|
|
|
333
344
|
SessionKey: `telegram:slash:${senderId || chatId}`,
|
|
334
345
|
AccountId: route.accountId,
|
|
335
346
|
CommandTargetSessionKey: sessionKey,
|
|
336
|
-
MessageThreadId:
|
|
347
|
+
MessageThreadId: threadSpec.id,
|
|
337
348
|
IsForum: isForum,
|
|
338
349
|
// Originating context for sub-agent announce routing
|
|
339
350
|
OriginatingChannel: "telegram",
|
|
@@ -361,7 +372,7 @@ export const registerTelegramNativeCommands = ({ bot, cfg, runtime, accountId, t
|
|
|
361
372
|
bot,
|
|
362
373
|
replyToMode,
|
|
363
374
|
textLimit,
|
|
364
|
-
|
|
375
|
+
thread: threadSpec,
|
|
365
376
|
tableMode,
|
|
366
377
|
chunkMode,
|
|
367
378
|
linkPreview: telegramCfg.linkPreview,
|
|
@@ -393,7 +404,7 @@ export const registerTelegramNativeCommands = ({ bot, cfg, runtime, accountId, t
|
|
|
393
404
|
bot,
|
|
394
405
|
replyToMode,
|
|
395
406
|
textLimit,
|
|
396
|
-
|
|
407
|
+
thread: threadSpec,
|
|
397
408
|
tableMode,
|
|
398
409
|
chunkMode,
|
|
399
410
|
linkPreview: telegramCfg.linkPreview,
|
|
@@ -437,9 +448,13 @@ export const registerTelegramNativeCommands = ({ bot, cfg, runtime, accountId, t
|
|
|
437
448
|
if (!auth) {
|
|
438
449
|
return;
|
|
439
450
|
}
|
|
440
|
-
const {
|
|
451
|
+
const { senderId, commandAuthorized, isGroup, isForum } = auth;
|
|
441
452
|
const messageThreadId = msg.message_thread_id;
|
|
442
|
-
const
|
|
453
|
+
const threadSpec = resolveTelegramThreadSpec({
|
|
454
|
+
isGroup,
|
|
455
|
+
isForum,
|
|
456
|
+
messageThreadId,
|
|
457
|
+
});
|
|
443
458
|
const result = await executePluginCommand({
|
|
444
459
|
command: match.command,
|
|
445
460
|
args: match.args,
|
|
@@ -463,7 +478,7 @@ export const registerTelegramNativeCommands = ({ bot, cfg, runtime, accountId, t
|
|
|
463
478
|
bot,
|
|
464
479
|
replyToMode,
|
|
465
480
|
textLimit,
|
|
466
|
-
|
|
481
|
+
thread: threadSpec,
|
|
467
482
|
tableMode,
|
|
468
483
|
chunkMode,
|
|
469
484
|
linkPreview: telegramCfg.linkPreview,
|