@gguf/pigbot 0.0.6 → 0.0.7
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 +1206 -12
- package/LICENSE +2 -2
- package/README.md +347 -37
- package/assets/chrome-extension/README.md +5 -5
- package/assets/chrome-extension/background.js +5 -5
- package/assets/chrome-extension/manifest.json +3 -3
- package/assets/chrome-extension/options.html +5 -5
- package/assets/chrome-extension/options.js +1 -1
- package/dist/acp/client.js +5 -5
- package/dist/acp/server.js +3 -3
- package/dist/acp/types.js +2 -2
- package/dist/agents/agent-paths.js +6 -6
- package/dist/agents/agent-scope.js +1 -1
- package/dist/agents/anthropic-payload-log.js +2 -2
- package/dist/agents/auth-profiles/doctor.js +1 -1
- package/dist/agents/auth-profiles/paths.js +3 -3
- package/dist/agents/bash-tools.exec.js +1 -1
- package/dist/agents/bash-tools.shared.js +2 -2
- package/dist/agents/cache-trace.js +5 -5
- package/dist/agents/channel-tools.js +31 -2
- package/dist/agents/cli-runner/helpers.js +3 -3
- package/dist/agents/cli-runner.js +3 -3
- package/dist/agents/context.js +4 -4
- package/dist/agents/docs-path.js +3 -3
- package/dist/agents/identity.js +1 -1
- package/dist/agents/live-auth-keys.js +2 -2
- package/dist/agents/memory-search.js +5 -0
- package/dist/agents/minimax-vlm.js +1 -1
- package/dist/agents/model-auth.js +2 -1
- package/dist/agents/model-catalog.js +4 -4
- package/dist/agents/model-selection.js +1 -1
- package/dist/agents/models-config.js +3 -3
- package/dist/agents/models-config.providers.js +40 -8
- package/dist/agents/{moltbot-tools.js → openclaw-tools.js} +1 -1
- package/dist/agents/pi-embedded-helpers/errors.js +20 -0
- package/dist/agents/pi-embedded-helpers/openai.js +1 -1
- package/dist/agents/pi-embedded-helpers.js +1 -1
- package/dist/agents/pi-embedded-runner/cache-ttl.js +1 -1
- package/dist/agents/pi-embedded-runner/compact.js +8 -8
- package/dist/agents/pi-embedded-runner/model.js +2 -2
- package/dist/agents/pi-embedded-runner/run/attempt.js +6 -6
- package/dist/agents/pi-embedded-runner/run.js +31 -5
- package/dist/agents/pi-embedded-runner/session-manager-cache.js +1 -1
- package/dist/agents/pi-embedded-runner/utils.js +1 -1
- package/dist/agents/pi-embedded-subscribe.raw-stream.js +2 -2
- package/dist/agents/pi-tools.js +5 -5
- package/dist/agents/pi-tools.read.js +2 -2
- package/dist/agents/sandbox/browser.js +16 -11
- package/dist/agents/sandbox/constants.js +7 -7
- package/dist/agents/sandbox/docker.js +17 -14
- package/dist/agents/sandbox/runtime-status.js +1 -1
- package/dist/agents/session-transcript-repair.js +1 -1
- package/dist/agents/session-write-lock.js +2 -2
- package/dist/agents/skills/bundled-dir.js +1 -1
- package/dist/agents/skills/config.js +2 -1
- package/dist/agents/skills/frontmatter.js +11 -3
- package/dist/agents/skills/workspace.js +6 -6
- package/dist/agents/synthetic-models.js +8 -0
- package/dist/agents/system-prompt.js +21 -21
- package/dist/agents/tool-images.js +1 -1
- package/dist/agents/tool-policy.js +2 -2
- package/dist/agents/tools/browser-tool.js +5 -5
- package/dist/agents/tools/image-tool.js +2 -2
- package/dist/agents/tools/memory-tool.js +1 -1
- package/dist/agents/tools/sessions-send-tool.js +2 -2
- package/dist/agents/tools/web-search.js +7 -7
- package/dist/agents/transcript-policy.js +2 -1
- package/dist/agents/workspace.js +3 -3
- package/dist/auto-reply/commands-registry.data.js +1 -1
- package/dist/auto-reply/reply/agent-runner-execution.js +1 -1
- package/dist/auto-reply/reply/bash-command.js +2 -2
- package/dist/auto-reply/reply/commands-context-report.js +2 -2
- package/dist/auto-reply/reply/commands-session.js +4 -4
- package/dist/auto-reply/reply/directive-handling.shared.js +1 -1
- package/dist/auto-reply/reply/dispatch-from-config.js +21 -0
- package/dist/auto-reply/reply/get-reply-inline-actions.js +2 -2
- package/dist/auto-reply/reply/get-reply.js +1 -1
- package/dist/auto-reply/reply/groups.js +1 -1
- package/dist/auto-reply/reply/mentions.js +3 -2
- package/dist/auto-reply/reply/normalize-reply.js +12 -4
- package/dist/auto-reply/reply/reply-dispatcher.js +8 -1
- package/dist/auto-reply/reply/reply-elevated.js +1 -1
- package/dist/auto-reply/reply/stage-sandbox-media.js +1 -1
- package/dist/auto-reply/status.js +2 -2
- package/dist/browser/chrome.js +13 -13
- package/dist/browser/chrome.profile-decoration.js +5 -5
- package/dist/browser/client-fetch.js +3 -3
- package/dist/browser/config.js +11 -11
- package/dist/browser/constants.js +3 -3
- package/dist/browser/control-service.js +1 -1
- package/dist/browser/extension-relay.js +3 -3
- package/dist/browser/profiles-service.js +2 -2
- package/dist/browser/profiles.js +1 -1
- package/dist/browser/pw-tools-core.downloads.js +1 -1
- package/dist/browser/pw-tools-core.interactions.js +5 -5
- package/dist/browser/pw-tools-core.responses.js +1 -1
- package/dist/browser/routes/agent.act.js +2 -2
- package/dist/browser/routes/agent.debug.js +1 -1
- package/dist/browser/server-context.js +9 -9
- package/dist/browser/server.js +2 -2
- package/dist/build-info.json +2 -2
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/canvas-host/a2ui/a2ui.bundle.js +24 -19
- package/dist/canvas-host/a2ui/index.html +28 -28
- package/dist/canvas-host/a2ui.js +14 -18
- package/dist/canvas-host/server.js +33 -35
- package/dist/channels/plugins/catalog.js +7 -7
- package/dist/channels/plugins/helpers.js +2 -2
- package/dist/channels/plugins/onboarding/imessage.js +1 -1
- package/dist/channels/plugins/onboarding/signal.js +2 -2
- package/dist/channels/plugins/onboarding/slack.js +5 -5
- package/dist/channels/plugins/onboarding/telegram.js +3 -3
- package/dist/channels/plugins/onboarding/whatsapp.js +4 -4
- package/dist/channels/plugins/pairing-message.js +1 -1
- package/dist/channels/plugins/status-issues/bluebubbles.js +1 -1
- package/dist/channels/plugins/status-issues/whatsapp.js +2 -2
- package/dist/channels/registry.js +1 -1
- package/dist/cli/acp-cli.js +2 -2
- package/dist/cli/argv.js +2 -2
- package/dist/cli/banner.js +10 -11
- package/dist/cli/browser-cli-actions-input/register.files-downloads.js +1 -1
- package/dist/cli/browser-cli-examples.js +29 -29
- package/dist/cli/browser-cli-extension.js +5 -5
- package/dist/cli/browser-cli-manage.js +4 -4
- package/dist/cli/browser-cli.js +3 -3
- package/dist/cli/channel-options.js +1 -1
- package/dist/cli/channels-cli.js +1 -1
- package/dist/cli/cli-name.js +4 -8
- package/dist/cli/command-format.js +3 -3
- package/dist/cli/config-cli.js +2 -2
- package/dist/cli/cron-cli/register.js +1 -1
- package/dist/cli/daemon-cli/install.js +2 -2
- package/dist/cli/daemon-cli/register.js +1 -1
- package/dist/cli/daemon-cli/shared.js +11 -13
- package/dist/cli/daemon-cli/status.gather.js +2 -5
- package/dist/cli/daemon-cli/status.print.js +9 -17
- package/dist/cli/directory-cli.js +1 -1
- package/dist/cli/dns-cli.js +20 -13
- package/dist/cli/docs-cli.js +2 -2
- package/dist/cli/exec-approvals-cli.js +2 -2
- package/dist/cli/gateway-cli/dev.js +7 -5
- package/dist/cli/gateway-cli/register.js +12 -6
- package/dist/cli/gateway-cli/run.js +15 -14
- package/dist/cli/gateway-cli/shared.js +5 -5
- package/dist/cli/hooks-cli.js +3 -3
- package/dist/cli/logs-cli.js +3 -3
- package/dist/cli/memory-cli.js +36 -5
- package/dist/cli/models-cli.js +1 -1
- package/dist/cli/node-cli/daemon.js +3 -3
- package/dist/cli/node-cli/register.js +1 -1
- package/dist/cli/nodes-cli/register.canvas.js +1 -1
- package/dist/cli/nodes-cli/register.js +1 -1
- package/dist/cli/nodes-screen.js +1 -1
- package/dist/cli/pairing-cli.js +3 -3
- package/dist/cli/plugin-registry.js +2 -2
- package/dist/cli/plugins-cli.js +3 -3
- package/dist/cli/profile.js +9 -9
- package/dist/cli/program/config-guard.js +1 -1
- package/dist/cli/program/help.js +14 -11
- package/dist/cli/program/preaction.js +1 -1
- package/dist/cli/program/register.agent.js +15 -12
- package/dist/cli/program/register.configure.js +1 -1
- package/dist/cli/program/register.maintenance.js +4 -4
- package/dist/cli/program/register.message.js +5 -5
- package/dist/cli/program/register.onboard.js +5 -3
- package/dist/cli/program/register.setup.js +3 -3
- package/dist/cli/program/register.status-health-sessions.js +13 -13
- package/dist/cli/program/register.subclis.js +7 -2
- package/dist/cli/route.js +1 -1
- package/dist/cli/run-main.js +3 -3
- package/dist/cli/sandbox-cli.js +19 -19
- package/dist/cli/security-cli.js +4 -4
- package/dist/cli/skills-cli.js +3 -3
- package/dist/cli/system-cli.js +1 -1
- package/dist/cli/tagline.js +11 -9
- package/dist/cli/tui-cli.js +1 -1
- package/dist/cli/update-cli.js +48 -45
- package/dist/cli/webhooks-cli.js +6 -6
- package/dist/commands/agent-via-gateway.js +1 -1
- package/dist/commands/agent.js +1 -1
- package/dist/commands/agents.command-shared.js +1 -1
- package/dist/commands/agents.commands.add.js +2 -2
- package/dist/commands/agents.commands.list.js +1 -1
- package/dist/commands/auth-choice-options.js +10 -0
- package/dist/commands/auth-choice.apply.api-providers.js +49 -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/auth-choice.preferred-provider.js +1 -0
- package/dist/commands/channels/shared.js +1 -1
- package/dist/commands/channels/status.js +1 -1
- package/dist/commands/chutes-oauth.js +1 -1
- package/dist/commands/configure.channels.js +2 -2
- package/dist/commands/configure.gateway.js +1 -1
- package/dist/commands/configure.wizard.js +21 -21
- package/dist/commands/daemon-install-helpers.js +2 -2
- package/dist/commands/dashboard.js +2 -2
- package/dist/commands/docs.js +5 -5
- package/dist/commands/doctor-auth.js +5 -5
- package/dist/commands/doctor-config-flow.js +64 -7
- package/dist/commands/doctor-format.js +5 -5
- package/dist/commands/doctor-gateway-daemon-flow.js +7 -4
- package/dist/commands/doctor-gateway-services.js +72 -65
- package/dist/commands/doctor-platform-notes.js +51 -9
- package/dist/commands/doctor-sandbox.js +4 -4
- package/dist/commands/doctor-security.js +7 -7
- package/dist/commands/doctor-state-integrity.js +9 -7
- package/dist/commands/doctor-state-migrations.js +1 -1
- package/dist/commands/doctor-ui.js +2 -2
- package/dist/commands/doctor-update.js +5 -5
- package/dist/commands/doctor-workspace-status.js +2 -2
- package/dist/commands/doctor-workspace.js +5 -27
- package/dist/commands/doctor.js +11 -11
- package/dist/commands/gateway-status/helpers.js +2 -2
- package/dist/commands/gateway-status.js +9 -3
- package/dist/commands/health.js +2 -2
- package/dist/commands/models/auth.js +1 -1
- package/dist/commands/models/list.probe.js +2 -2
- package/dist/commands/models/list.registry.js +4 -4
- package/dist/commands/models/list.status-command.js +4 -4
- package/dist/commands/node-daemon-install-helpers.js +1 -1
- package/dist/commands/onboard-auth.config-core.js +65 -1
- package/dist/commands/onboard-auth.credentials.js +14 -2
- package/dist/commands/onboard-auth.js +2 -2
- package/dist/commands/onboard-channels.js +5 -5
- package/dist/commands/onboard-helpers.js +9 -8
- package/dist/commands/onboard-hooks.js +4 -4
- package/dist/commands/onboard-non-interactive/local/auth-choice.js +21 -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-non-interactive.js +1 -1
- package/dist/commands/onboard-remote.js +7 -3
- package/dist/commands/onboard-skills.js +2 -2
- package/dist/commands/onboard.js +3 -3
- package/dist/commands/onboarding/plugin-install.js +2 -2
- package/dist/commands/reset.js +3 -3
- package/dist/commands/sandbox-display.js +1 -1
- package/dist/commands/sandbox-explain.js +2 -2
- package/dist/commands/setup.js +9 -7
- package/dist/commands/signal-install.js +2 -2
- package/dist/commands/status-all/diagnosis.js +1 -1
- package/dist/commands/status-all/report-lines.js +1 -1
- package/dist/commands/status-all.js +5 -5
- package/dist/commands/status.command.js +9 -9
- package/dist/commands/status.gateway-probe.js +2 -2
- package/dist/commands/status.scan.js +2 -2
- package/dist/commands/status.update.js +3 -3
- package/dist/commands/uninstall.js +4 -4
- package/dist/compat/legacy-names.js +8 -6
- package/dist/config/config.js +1 -1
- package/dist/config/io.js +13 -14
- package/dist/config/paths.js +107 -33
- package/dist/config/schema.js +14 -12
- package/dist/config/sessions/store.js +1 -1
- package/dist/config/sessions/transcript.js +1 -1
- package/dist/config/types.js +1 -1
- package/dist/config/validation.js +2 -2
- package/dist/config/version.js +4 -4
- package/dist/config/zod-schema.agent-runtime.js +1 -0
- package/dist/config/zod-schema.js +3 -2
- package/dist/config/zod-schema.session.js +6 -1
- package/dist/control-ui/apple-touch-icon.png +0 -0
- package/dist/control-ui/assets/index-BKPyesll.css +1 -0
- package/dist/control-ui/assets/{index-CxLFx0Ae.js → index-DFDgq9AK.js} +397 -366
- package/dist/control-ui/assets/index-DFDgq9AK.js.map +1 -0
- package/dist/control-ui/favicon-32.png +0 -0
- package/dist/control-ui/favicon.svg +22 -0
- package/dist/control-ui/index.html +7 -5
- package/dist/daemon/constants.js +19 -25
- package/dist/daemon/inspect.js +64 -28
- package/dist/daemon/launchd.js +7 -7
- package/dist/daemon/node-service.js +14 -14
- package/dist/daemon/paths.js +3 -3
- package/dist/daemon/program-args.js +1 -1
- package/dist/daemon/schtasks.js +6 -6
- package/dist/daemon/service-env.js +25 -21
- package/dist/daemon/systemd-hints.js +1 -1
- package/dist/daemon/systemd-unit.js +1 -1
- package/dist/daemon/systemd.js +6 -6
- package/dist/discord/send.outbound.js +4 -4
- package/dist/discord/send.shared.js +32 -1
- package/dist/discord/targets.js +79 -0
- package/dist/entry.js +9 -8
- package/dist/gateway/auth.js +6 -3
- package/dist/gateway/call.js +3 -1
- package/dist/gateway/control-ui.js +4 -4
- package/dist/gateway/hooks.js +3 -1
- package/dist/gateway/http-utils.js +5 -3
- package/dist/gateway/openai-http.js +3 -3
- package/dist/gateway/openresponses-http.js +4 -4
- package/dist/gateway/protocol/client-info.js +5 -5
- package/dist/gateway/server/ws-connection/message-handler.js +1 -1
- package/dist/gateway/server-browser.js +2 -2
- package/dist/gateway/server-constants.js +2 -2
- package/dist/gateway/server-cron.js +1 -1
- package/dist/gateway/server-discovery-runtime.js +12 -4
- package/dist/gateway/server-discovery.js +7 -7
- package/dist/gateway/server-http.js +1 -1
- package/dist/gateway/server-methods/config.js +2 -2
- package/dist/gateway/server-methods/logs.js +1 -1
- package/dist/gateway/server-methods/update.js +2 -2
- package/dist/gateway/server-plugins.js +2 -2
- package/dist/gateway/server-reload-handlers.js +5 -5
- package/dist/gateway/server-runtime-config.js +3 -3
- package/dist/gateway/server-startup.js +6 -6
- package/dist/gateway/server.impl.js +8 -7
- package/dist/gateway/session-utils.fs.js +2 -1
- package/dist/gateway/test-helpers.mocks.js +8 -6
- package/dist/gateway/test-helpers.server.js +28 -28
- package/dist/gateway/tools-invoke-http.js +40 -4
- package/dist/hooks/bundled/boot-md/HOOK.md +3 -3
- package/dist/hooks/bundled/command-logger/HOOK.md +12 -12
- package/dist/hooks/bundled/command-logger/handler.js +2 -1
- package/dist/hooks/bundled/session-memory/HOOK.md +30 -7
- package/dist/hooks/bundled/session-memory/handler.js +19 -12
- package/dist/hooks/bundled/soul-evil/HOOK.md +5 -5
- package/dist/hooks/bundled-dir.js +2 -2
- package/dist/hooks/config.js +1 -1
- package/dist/hooks/frontmatter.js +11 -3
- package/dist/hooks/gmail-ops.js +1 -1
- package/dist/hooks/gmail-watcher.js +1 -1
- package/dist/hooks/hooks-status.js +2 -2
- package/dist/hooks/install.js +8 -8
- package/dist/hooks/internal-hooks.js +1 -1
- package/dist/hooks/llm-slug-generator.js +1 -1
- package/dist/hooks/loader.js +1 -1
- package/dist/hooks/plugin-hooks.js +2 -2
- package/dist/hooks/workspace.js +9 -9
- package/dist/imessage/monitor/monitor-provider.js +2 -2
- package/dist/index.js +4 -4
- package/dist/infra/bonjour-discovery.js +21 -17
- package/dist/infra/bonjour.js +10 -9
- package/dist/infra/device-identity.js +1 -1
- package/dist/infra/diagnostic-flags.js +1 -1
- package/dist/infra/dotenv.js +1 -1
- package/dist/infra/exec-approvals.js +2 -2
- package/dist/infra/gateway-lock.js +3 -2
- package/dist/infra/machine-name.js +1 -1
- package/dist/infra/{moltbot-root.js → openclaw-root.js} +2 -2
- package/dist/infra/outbound/outbound-session.js +18 -0
- package/dist/infra/outbound/targets.js +1 -1
- package/dist/infra/path-env.js +10 -9
- package/dist/infra/ports-format.js +3 -2
- package/dist/infra/ports.js +2 -2
- package/dist/infra/provider-usage.auth.js +33 -0
- package/dist/infra/provider-usage.fetch.claude.js +1 -1
- package/dist/infra/provider-usage.fetch.minimax.js +1 -1
- package/dist/infra/provider-usage.load.js +6 -0
- package/dist/infra/provider-usage.shared.js +2 -0
- package/dist/infra/restart-sentinel.js +1 -1
- package/dist/infra/restart.js +4 -4
- package/dist/infra/runtime-guard.js +2 -2
- package/dist/infra/shell-env.js +4 -4
- package/dist/infra/ssh-config.js +2 -1
- package/dist/infra/ssh-tunnel.js +8 -1
- package/dist/infra/state-migrations.js +165 -6
- package/dist/infra/system-presence.js +1 -1
- package/dist/infra/tailscale.js +1 -1
- package/dist/infra/tls/gateway.js +1 -1
- package/dist/infra/unhandled-rejections.js +56 -33
- package/dist/infra/update-check.js +1 -1
- package/dist/infra/update-global.js +21 -11
- package/dist/infra/update-runner.js +7 -7
- package/dist/infra/update-startup.js +3 -3
- package/dist/infra/voicewake.js +1 -1
- package/dist/infra/warnings.js +1 -1
- package/dist/infra/widearea-dns.js +31 -14
- package/dist/logging/logger.js +4 -4
- package/dist/macos/gateway-daemon.js +9 -6
- package/dist/macos/relay-smoke.js +1 -1
- package/dist/macos/relay.js +6 -6
- package/dist/media/host.js +1 -1
- package/dist/media/image-ops.js +3 -3
- package/dist/media/input-files.js +1 -1
- package/dist/media/mime.js +3 -0
- package/dist/media-understanding/apply.js +278 -1
- package/dist/media-understanding/attachments.js +1 -1
- package/dist/media-understanding/providers/image.js +2 -2
- package/dist/media-understanding/runner.js +1 -1
- package/dist/memory/batch-gemini.js +2 -2
- package/dist/memory/batch-openai.js +1 -1
- package/dist/memory/embeddings-gemini.js +1 -1
- package/dist/memory/embeddings.js +1 -1
- package/dist/memory/internal.js +49 -16
- package/dist/memory/manager-cache-key.js +1 -0
- package/dist/memory/manager.js +62 -10
- package/dist/memory/sync-memory-files.js +1 -1
- package/dist/node-host/runner.js +6 -6
- package/dist/pairing/pairing-messages.js +2 -2
- package/dist/plugins/bundled-dir.js +1 -1
- package/dist/plugins/cli.js +2 -2
- package/dist/plugins/config-state.js +60 -0
- package/dist/plugins/discovery.js +14 -12
- package/dist/plugins/install.js +8 -8
- package/dist/plugins/loader.js +4 -7
- package/dist/plugins/manifest-registry.js +4 -4
- package/dist/plugins/manifest.js +4 -7
- package/dist/plugins/providers.js +2 -2
- package/dist/plugins/registry.js +2 -2
- package/dist/plugins/runtime.js +1 -1
- package/dist/plugins/status.js +2 -2
- package/dist/plugins/tools.js +2 -2
- package/dist/plugins/update.js +3 -3
- package/dist/providers/qwen-portal-oauth.js +1 -1
- package/dist/routing/resolve-route.js +2 -0
- package/dist/routing/session-key.js +5 -0
- package/dist/security/audit-extra.js +2 -2
- package/dist/security/audit.js +7 -7
- package/dist/shared/text/reasoning-tags.js +44 -3
- package/dist/slack/monitor/commands.js +4 -3
- package/dist/slack/monitor/slash.js +62 -59
- package/dist/slack/monitor.test-helpers.js +1 -1
- package/dist/telegram/accounts.js +1 -1
- package/dist/telegram/bot/delivery.js +26 -3
- package/dist/telegram/bot/helpers.js +13 -2
- package/dist/telegram/bot-message-context.js +8 -4
- package/dist/telegram/bot-message-dispatch.js +36 -5
- package/dist/telegram/bot-native-commands.js +50 -11
- package/dist/telegram/bot.js +7 -5
- package/dist/telegram/download.js +1 -1
- package/dist/telegram/monitor.js +19 -1
- package/dist/telegram/network-config.js +2 -2
- package/dist/telegram/network-errors.js +4 -0
- package/dist/terminal/links.js +1 -1
- package/dist/tts/tts.js +12 -6
- package/dist/tui/gateway-chat.js +3 -3
- package/dist/tui/tui.js +1 -1
- package/dist/utils.js +12 -3
- package/dist/version.js +3 -3
- package/dist/web/active-listener.js +1 -1
- package/dist/web/auth-store.js +1 -1
- package/dist/web/auto-reply/monitor/broadcast.js +2 -0
- package/dist/web/auto-reply/monitor/process-message.js +1 -1
- package/dist/web/auto-reply/monitor.js +1 -1
- package/dist/web/login.js +1 -1
- package/dist/web/session.js +2 -2
- package/dist/wizard/onboarding.finalize.js +24 -21
- package/dist/wizard/onboarding.gateway-config.js +1 -1
- package/dist/wizard/onboarding.js +11 -11
- package/docs/CNAME +1 -1
- package/docs/_config.yml +3 -3
- package/docs/_layouts/default.html +9 -9
- package/docs/assets/openclaw-logo-text-dark.png +0 -0
- package/docs/assets/openclaw-logo-text.png +0 -0
- package/docs/assets/theme.js +1 -1
- package/docs/automation/auth-monitoring.md +7 -7
- package/docs/automation/cron-jobs.md +19 -19
- package/docs/automation/cron-vs-heartbeat.md +7 -7
- package/docs/automation/gmail-pubsub.md +25 -25
- package/docs/automation/poll.md +7 -7
- package/docs/automation/webhook.md +5 -5
- package/docs/bedrock.md +10 -10
- package/docs/brave-search.md +1 -1
- package/docs/broadcast-groups.md +6 -6
- package/docs/channels/bluebubbles.md +12 -12
- package/docs/channels/discord.md +15 -15
- package/docs/channels/googlechat.md +16 -16
- package/docs/channels/imessage.md +13 -13
- package/docs/channels/index.md +4 -4
- package/docs/channels/line.md +6 -6
- package/docs/channels/location.md +1 -1
- package/docs/channels/matrix.md +14 -14
- package/docs/channels/mattermost.md +8 -8
- package/docs/channels/msteams.md +26 -26
- package/docs/channels/nextcloud-talk.md +7 -7
- package/docs/channels/nostr.md +9 -9
- package/docs/channels/signal.md +9 -9
- package/docs/channels/slack.md +16 -16
- package/docs/channels/telegram.md +23 -23
- package/docs/channels/tlon.md +5 -5
- package/docs/channels/troubleshooting.md +2 -2
- package/docs/channels/twitch.md +14 -14
- package/docs/channels/whatsapp.md +26 -26
- package/docs/channels/zalo.md +8 -8
- package/docs/channels/zalouser.md +12 -12
- package/docs/cli/acp.md +24 -24
- package/docs/cli/agent.md +6 -6
- package/docs/cli/agents.md +12 -12
- package/docs/cli/approvals.md +14 -14
- package/docs/cli/browser.md +24 -24
- package/docs/cli/channels.md +21 -21
- package/docs/cli/config.md +15 -15
- package/docs/cli/configure.md +6 -6
- package/docs/cli/cron.md +5 -5
- package/docs/cli/dashboard.md +4 -4
- package/docs/cli/devices.md +13 -13
- package/docs/cli/directory.md +12 -12
- package/docs/cli/dns.md +5 -6
- package/docs/cli/docs.md +5 -5
- package/docs/cli/doctor.md +11 -11
- package/docs/cli/gateway.md +26 -26
- package/docs/cli/health.md +5 -5
- package/docs/cli/hooks.md +35 -35
- package/docs/cli/index.md +42 -42
- package/docs/cli/logs.md +6 -6
- package/docs/cli/memory.md +12 -11
- package/docs/cli/message.md +11 -11
- package/docs/cli/models.md +15 -15
- package/docs/cli/node.md +14 -14
- package/docs/cli/nodes.md +14 -14
- package/docs/cli/onboard.md +7 -7
- package/docs/cli/pairing.md +4 -4
- package/docs/cli/plugins.md +16 -16
- package/docs/cli/reset.md +5 -5
- package/docs/cli/sandbox.md +28 -28
- package/docs/cli/security.md +6 -6
- package/docs/cli/sessions.md +5 -5
- package/docs/cli/setup.md +6 -6
- package/docs/cli/skills.md +6 -6
- package/docs/cli/status.md +7 -7
- package/docs/cli/system.md +6 -6
- package/docs/cli/tui.md +5 -5
- package/docs/cli/uninstall.md +5 -5
- package/docs/cli/update.md +20 -20
- package/docs/cli/voicecall.md +9 -9
- package/docs/cli/webhooks.md +5 -5
- package/docs/concepts/agent-loop.md +5 -5
- package/docs/concepts/agent-workspace.md +27 -27
- package/docs/concepts/agent.md +12 -12
- package/docs/concepts/architecture.md +2 -2
- package/docs/concepts/channel-routing.md +5 -5
- package/docs/concepts/compaction.md +5 -5
- package/docs/concepts/context.md +6 -6
- package/docs/concepts/group-messages.md +7 -7
- package/docs/concepts/groups.md +5 -5
- package/docs/concepts/markdown-formatting.md +3 -3
- package/docs/concepts/memory.md +41 -19
- package/docs/concepts/messages.md +4 -4
- package/docs/concepts/model-failover.md +14 -14
- package/docs/concepts/model-providers.md +25 -24
- package/docs/concepts/models.md +27 -27
- package/docs/concepts/multi-agent.md +31 -31
- package/docs/concepts/oauth.md +22 -22
- package/docs/concepts/presence.md +2 -2
- package/docs/concepts/retry.md +1 -1
- package/docs/concepts/session-pruning.md +1 -1
- package/docs/concepts/session-tool.md +4 -4
- package/docs/concepts/session.md +18 -16
- package/docs/concepts/streaming.md +3 -3
- package/docs/concepts/system-prompt.md +11 -11
- package/docs/concepts/timezone.md +2 -2
- package/docs/concepts/typebox.md +3 -3
- package/docs/concepts/typing-indicators.md +2 -2
- package/docs/concepts/usage-tracking.md +3 -3
- package/docs/date-time.md +2 -2
- package/docs/debug/node-issue.md +6 -6
- package/docs/debugging.md +18 -18
- package/docs/diagnostics/flags.md +7 -7
- package/docs/docs.json +21 -5
- package/docs/environment.md +7 -7
- package/docs/experiments/plans/cron-add-hardening.md +1 -1
- package/docs/experiments/plans/openresponses-gateway.md +2 -2
- package/docs/experiments/research/memory.md +12 -12
- package/docs/gateway/authentication.md +22 -22
- package/docs/gateway/background-process.md +2 -2
- package/docs/gateway/bonjour.md +25 -25
- package/docs/gateway/bridge-protocol.md +2 -2
- package/docs/gateway/cli-backends.md +12 -12
- package/docs/gateway/configuration-examples.md +26 -25
- package/docs/gateway/configuration.md +155 -153
- package/docs/gateway/discovery.md +10 -10
- package/docs/gateway/doctor.md +27 -27
- package/docs/gateway/gateway-lock.md +1 -1
- package/docs/gateway/health.md +11 -11
- package/docs/gateway/heartbeat.md +5 -5
- package/docs/gateway/index.md +63 -63
- package/docs/gateway/local-models.md +2 -2
- package/docs/gateway/logging.md +8 -8
- package/docs/gateway/multiple-gateways.md +24 -24
- package/docs/gateway/openai-http-api.md +12 -12
- package/docs/gateway/openresponses-http-api.md +12 -12
- package/docs/gateway/pairing.md +9 -9
- package/docs/gateway/protocol.md +4 -4
- package/docs/gateway/remote-gateway-readme.md +10 -10
- package/docs/gateway/remote.md +4 -4
- package/docs/gateway/sandbox-vs-tool-policy-vs-elevated.md +7 -7
- package/docs/gateway/sandboxing.md +6 -6
- package/docs/gateway/security/formal-verification.md +67 -14
- package/docs/gateway/security/index.md +56 -59
- package/docs/gateway/tailscale.md +10 -10
- package/docs/gateway/tools-invoke-http-api.md +5 -5
- package/docs/gateway/troubleshooting.md +112 -112
- package/docs/help/faq.md +338 -338
- package/docs/help/troubleshooting.md +16 -16
- package/docs/hooks/soul-evil.md +2 -2
- package/docs/hooks.md +62 -62
- package/docs/index.md +45 -36
- package/docs/install/ansible.md +35 -35
- package/docs/install/development-channels.md +10 -10
- package/docs/install/docker.md +45 -45
- package/docs/install/index.md +33 -33
- package/docs/install/installer.md +24 -24
- package/docs/install/migrating.md +36 -36
- package/docs/install/nix.md +18 -18
- package/docs/install/node.md +4 -4
- package/docs/install/uninstall.md +29 -29
- package/docs/install/updating.md +51 -51
- package/docs/logging.md +59 -59
- package/docs/multi-agent-sandbox-tools.md +15 -15
- package/docs/network.md +1 -1
- package/docs/nodes/audio.md +2 -2
- package/docs/nodes/camera.md +18 -18
- package/docs/nodes/images.md +4 -4
- package/docs/nodes/index.md +57 -57
- package/docs/nodes/location-command.md +2 -2
- package/docs/nodes/media-understanding.md +5 -5
- package/docs/nodes/talk.md +1 -1
- package/docs/nodes/voicewake.md +3 -3
- package/docs/northflank.mdx +9 -9
- package/docs/perplexity.md +2 -2
- package/docs/platforms/android.md +14 -14
- package/docs/platforms/digitalocean.md +26 -26
- package/docs/platforms/exe-dev.md +68 -130
- package/docs/platforms/fly.md +33 -33
- package/docs/platforms/gcp.md +58 -58
- package/docs/platforms/hetzner.md +45 -45
- package/docs/platforms/index.md +8 -8
- package/docs/platforms/ios.md +13 -13
- package/docs/platforms/linux.md +11 -11
- package/docs/platforms/mac/bundled-gateway.md +14 -14
- package/docs/platforms/mac/canvas.md +14 -14
- package/docs/platforms/mac/child-process.md +5 -5
- package/docs/platforms/mac/dev-setup.md +10 -10
- package/docs/platforms/mac/health.md +2 -2
- package/docs/platforms/mac/icon.md +1 -1
- package/docs/platforms/mac/logging.md +4 -4
- package/docs/platforms/mac/menu-bar.md +1 -1
- package/docs/platforms/mac/peekaboo.md +9 -9
- package/docs/platforms/mac/permissions.md +1 -1
- package/docs/platforms/mac/release.md +18 -18
- package/docs/platforms/mac/remote.md +14 -14
- package/docs/platforms/mac/signing.md +7 -7
- package/docs/platforms/mac/skills.md +4 -4
- package/docs/platforms/mac/webchat.md +1 -1
- package/docs/platforms/mac/xpc.md +4 -4
- package/docs/platforms/macos-vm.md +27 -27
- package/docs/platforms/macos.md +16 -16
- package/docs/platforms/oracle.md +35 -35
- package/docs/platforms/raspberry-pi.md +22 -22
- package/docs/platforms/windows.md +11 -11
- package/docs/plugin.md +65 -65
- package/docs/plugins/agent-tools.md +1 -1
- package/docs/plugins/manifest.md +4 -4
- package/docs/plugins/voice-call.md +12 -12
- package/docs/plugins/zalouser.md +9 -9
- package/docs/prose.md +9 -9
- package/docs/providers/anthropic.md +16 -16
- package/docs/providers/claude-max-api-proxy.md +4 -4
- package/docs/providers/deepgram.md +2 -2
- package/docs/providers/github-copilot.md +11 -11
- package/docs/providers/glm.md +4 -4
- package/docs/providers/index.md +4 -3
- package/docs/providers/minimax.md +9 -9
- package/docs/providers/models.md +3 -3
- package/docs/providers/moonshot.md +15 -4
- package/docs/providers/ollama.md +11 -11
- package/docs/providers/openai.md +6 -6
- package/docs/providers/opencode.md +3 -3
- package/docs/providers/openrouter.md +3 -3
- package/docs/providers/qwen.md +6 -6
- package/docs/providers/synthetic.md +4 -4
- package/docs/providers/venice.md +23 -23
- package/docs/providers/vercel-ai-gateway.md +4 -4
- package/docs/providers/xiaomi.md +62 -0
- package/docs/providers/zai.md +5 -5
- package/docs/railway.mdx +8 -8
- package/docs/refactor/exec-host.md +5 -5
- package/docs/refactor/plugin-sdk.md +12 -12
- package/docs/refactor/strict-config.md +11 -11
- package/docs/reference/AGENTS.default.md +17 -17
- package/docs/reference/RELEASING.md +29 -29
- package/docs/reference/api-usage-costs.md +6 -6
- package/docs/reference/device-models.md +7 -7
- package/docs/reference/rpc.md +3 -3
- package/docs/reference/session-management-compaction.md +19 -19
- package/docs/reference/templates/AGENTS.dev.md +1 -1
- package/docs/reference/templates/BOOT.md +1 -1
- package/docs/reference/templates/IDENTITY.md +1 -1
- package/docs/reference/templates/TOOLS.dev.md +1 -1
- package/docs/reference/templates/USER.dev.md +2 -2
- package/docs/reference/test.md +2 -2
- package/docs/reference/transcript-hygiene.md +1 -1
- package/docs/render.mdx +13 -13
- package/docs/scripts.md +1 -1
- package/docs/security/formal-verification.md +66 -13
- package/docs/start/getting-started.md +29 -29
- package/docs/start/hubs.md +2 -2
- package/docs/start/lore.md +14 -14
- package/docs/start/onboarding.md +7 -7
- package/docs/start/{clawd.md → openclaw.md} +35 -35
- package/docs/start/pairing.md +10 -10
- package/docs/start/setup.md +22 -22
- package/docs/start/showcase.md +32 -32
- package/docs/start/wizard.md +30 -30
- package/docs/testing.md +56 -56
- package/docs/token-use.md +7 -7
- package/docs/tools/agent-send.md +10 -10
- package/docs/tools/browser-linux-troubleshooting.md +16 -16
- package/docs/tools/browser-login.md +6 -6
- package/docs/tools/browser.md +126 -126
- package/docs/tools/chrome-extension.md +17 -17
- package/docs/tools/clawdhub.md +7 -7
- package/docs/tools/creating-skills.md +6 -6
- package/docs/tools/exec-approvals.md +5 -5
- package/docs/tools/exec.md +4 -4
- package/docs/tools/firecrawl.md +2 -2
- package/docs/tools/index.md +13 -13
- package/docs/tools/llm-task.md +2 -2
- package/docs/tools/lobster.md +13 -13
- package/docs/tools/skills-config.md +2 -2
- package/docs/tools/skills.md +31 -31
- package/docs/tools/slash-commands.md +8 -8
- package/docs/tools/web.md +8 -8
- package/docs/tts.md +11 -11
- package/docs/tui.md +7 -7
- package/docs/vps.md +1 -1
- package/docs/web/control-ui.md +8 -8
- package/docs/web/dashboard.md +6 -6
- package/docs/web/index.md +5 -5
- package/extensions/bluebubbles/index.ts +3 -3
- package/extensions/bluebubbles/package.json +5 -5
- package/extensions/bluebubbles/src/accounts.ts +9 -9
- package/extensions/bluebubbles/src/actions.test.ts +22 -22
- package/extensions/bluebubbles/src/actions.ts +6 -6
- package/extensions/bluebubbles/src/attachments.ts +2 -2
- package/extensions/bluebubbles/src/channel.ts +17 -17
- package/extensions/bluebubbles/src/chat.ts +2 -2
- package/extensions/bluebubbles/src/config-schema.ts +1 -1
- package/extensions/bluebubbles/src/media-send.ts +2 -2
- package/extensions/bluebubbles/src/monitor.test.ts +48 -48
- package/extensions/bluebubbles/src/monitor.ts +6 -6
- package/extensions/bluebubbles/src/onboarding.ts +9 -9
- package/extensions/bluebubbles/src/reactions.ts +2 -2
- package/extensions/bluebubbles/src/runtime.ts +1 -1
- package/extensions/bluebubbles/src/send.ts +2 -2
- package/extensions/copilot-proxy/README.md +3 -3
- package/extensions/copilot-proxy/index.ts +1 -1
- package/extensions/copilot-proxy/package.json +4 -4
- package/extensions/diagnostics-otel/index.ts +3 -3
- package/extensions/diagnostics-otel/package.json +4 -4
- package/extensions/diagnostics-otel/src/service.test.ts +15 -15
- package/extensions/diagnostics-otel/src/service.ts +85 -85
- package/extensions/discord/index.ts +3 -3
- package/extensions/discord/package.json +4 -4
- package/extensions/discord/src/channel.ts +1 -1
- package/extensions/discord/src/runtime.ts +1 -1
- package/extensions/google-antigravity-auth/README.md +3 -3
- package/extensions/google-antigravity-auth/index.ts +2 -2
- package/extensions/google-antigravity-auth/package.json +4 -4
- package/extensions/google-gemini-cli-auth/README.md +5 -5
- package/extensions/google-gemini-cli-auth/index.ts +3 -3
- package/extensions/google-gemini-cli-auth/oauth.ts +4 -4
- package/extensions/google-gemini-cli-auth/package.json +4 -4
- package/extensions/googlechat/index.ts +4 -4
- package/extensions/googlechat/node_modules/.bin/openclaw +16 -0
- package/extensions/googlechat/node_modules/.bin/openclaw.CMD +7 -0
- package/extensions/googlechat/node_modules/.bin/openclaw.ps1 +28 -0
- package/extensions/googlechat/package.json +7 -7
- package/extensions/googlechat/src/accounts.ts +9 -9
- package/extensions/googlechat/src/actions.ts +8 -8
- package/extensions/googlechat/src/api.ts +1 -1
- package/extensions/googlechat/src/channel.ts +23 -23
- package/extensions/googlechat/src/monitor.ts +9 -9
- package/extensions/googlechat/src/onboarding.ts +11 -11
- package/extensions/googlechat/src/runtime.ts +1 -1
- package/extensions/googlechat/src/types.config.ts +1 -1
- package/extensions/imessage/index.ts +3 -3
- package/extensions/imessage/package.json +4 -4
- package/extensions/imessage/src/channel.ts +1 -1
- package/extensions/imessage/src/runtime.ts +1 -1
- package/extensions/line/index.ts +3 -3
- package/extensions/line/node_modules/.bin/openclaw +16 -0
- package/extensions/line/node_modules/.bin/openclaw.CMD +7 -0
- package/extensions/line/node_modules/.bin/openclaw.ps1 +28 -0
- package/extensions/line/package.json +6 -6
- package/extensions/line/src/card-command.ts +3 -3
- package/extensions/line/src/channel.logout.test.ts +4 -4
- package/extensions/line/src/channel.sendPayload.test.ts +8 -8
- package/extensions/line/src/channel.ts +5 -5
- package/extensions/line/src/runtime.ts +1 -1
- package/extensions/llm-task/README.md +4 -4
- package/extensions/llm-task/index.ts +2 -2
- package/extensions/llm-task/package.json +4 -4
- package/extensions/llm-task/src/llm-task-tool.ts +6 -6
- package/extensions/lobster/README.md +7 -7
- package/extensions/lobster/index.ts +2 -2
- package/extensions/lobster/package.json +3 -3
- package/extensions/lobster/src/lobster-tool.test.ts +7 -7
- package/extensions/lobster/src/lobster-tool.ts +2 -2
- package/extensions/matrix/CHANGELOG.md +14 -9
- package/extensions/matrix/index.ts +3 -3
- package/extensions/matrix/node_modules/.bin/markdown-it +0 -5
- package/extensions/matrix/node_modules/.bin/markdown-it.CMD +0 -5
- package/extensions/matrix/node_modules/.bin/markdown-it.ps1 +0 -13
- package/extensions/matrix/node_modules/.bin/openclaw +16 -0
- package/extensions/matrix/node_modules/.bin/openclaw.CMD +7 -0
- package/extensions/matrix/node_modules/.bin/openclaw.ps1 +28 -0
- package/extensions/matrix/package.json +6 -6
- package/extensions/matrix/src/actions.ts +1 -1
- package/extensions/matrix/src/channel.directory.test.ts +1 -1
- package/extensions/matrix/src/channel.ts +1 -1
- package/extensions/matrix/src/config-schema.ts +1 -1
- package/extensions/matrix/src/directory-live.ts +1 -1
- package/extensions/matrix/src/group-mentions.ts +1 -1
- package/extensions/matrix/src/matrix/accounts.ts +1 -1
- package/extensions/matrix/src/matrix/actions/client.ts +1 -1
- package/extensions/matrix/src/matrix/client/config.ts +1 -1
- package/extensions/matrix/src/matrix/deps.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/allowlist.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/auto-join.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/events.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/handler.ts +5 -5
- package/extensions/matrix/src/matrix/monitor/index.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/location.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/media.test.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/replies.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/rooms.ts +1 -1
- package/extensions/matrix/src/matrix/poll-types.ts +1 -1
- package/extensions/matrix/src/matrix/send/client.ts +1 -1
- package/extensions/matrix/src/matrix/send.test.ts +1 -1
- package/extensions/matrix/src/matrix/send.ts +1 -1
- package/extensions/matrix/src/onboarding.ts +2 -2
- package/extensions/matrix/src/outbound.ts +1 -1
- package/extensions/matrix/src/resolve-targets.ts +1 -1
- package/extensions/matrix/src/runtime.ts +1 -1
- package/extensions/matrix/src/tool-actions.ts +1 -1
- package/extensions/mattermost/index.ts +3 -3
- package/extensions/mattermost/package.json +5 -5
- package/extensions/mattermost/src/channel.ts +1 -1
- package/extensions/mattermost/src/config-schema.ts +1 -1
- package/extensions/mattermost/src/group-mentions.ts +1 -1
- package/extensions/mattermost/src/mattermost/accounts.ts +9 -9
- package/extensions/mattermost/src/mattermost/monitor-helpers.ts +5 -5
- package/extensions/mattermost/src/mattermost/monitor.ts +4 -4
- package/extensions/mattermost/src/onboarding-helpers.ts +4 -4
- package/extensions/mattermost/src/onboarding.ts +4 -4
- package/extensions/mattermost/src/runtime.ts +1 -1
- package/extensions/mattermost/src/types.ts +1 -1
- package/extensions/memory-core/index.ts +3 -3
- package/extensions/memory-core/node_modules/.bin/openclaw +16 -0
- package/extensions/memory-core/node_modules/.bin/openclaw.CMD +7 -0
- package/extensions/memory-core/node_modules/.bin/openclaw.ps1 +28 -0
- package/extensions/memory-core/package.json +6 -6
- package/extensions/memory-lancedb/config.ts +26 -2
- package/extensions/memory-lancedb/index.test.ts +3 -3
- package/extensions/memory-lancedb/index.ts +4 -4
- package/extensions/memory-lancedb/node_modules/.bin/openai +0 -5
- package/extensions/memory-lancedb/node_modules/.bin/openai.CMD +0 -5
- package/extensions/memory-lancedb/node_modules/.bin/openai.ps1 +0 -13
- package/extensions/memory-lancedb/{clawdbot.plugin.json → openclaw.plugin.json} +1 -1
- package/extensions/memory-lancedb/package.json +4 -4
- package/extensions/msteams/CHANGELOG.md +12 -7
- package/extensions/msteams/index.ts +3 -3
- package/extensions/msteams/node_modules/.bin/openclaw +16 -0
- package/extensions/msteams/node_modules/.bin/openclaw.CMD +7 -0
- package/extensions/msteams/node_modules/.bin/openclaw.ps1 +28 -0
- package/extensions/msteams/package.json +6 -6
- package/extensions/msteams/src/attachments.test.ts +1 -1
- package/extensions/msteams/src/channel.directory.test.ts +2 -2
- package/extensions/msteams/src/channel.ts +3 -3
- package/extensions/msteams/src/conversation-store-fs.test.ts +6 -5
- package/extensions/msteams/src/directory-live.ts +1 -1
- package/extensions/msteams/src/graph-upload.ts +4 -4
- package/extensions/msteams/src/media-helpers.ts +1 -1
- package/extensions/msteams/src/messenger.test.ts +1 -1
- package/extensions/msteams/src/messenger.ts +1 -1
- package/extensions/msteams/src/monitor-handler/message-handler.ts +1 -1
- package/extensions/msteams/src/monitor-handler.ts +2 -2
- package/extensions/msteams/src/monitor.ts +3 -3
- package/extensions/msteams/src/onboarding.ts +11 -11
- package/extensions/msteams/src/outbound.ts +1 -1
- package/extensions/msteams/src/policy.test.ts +1 -1
- package/extensions/msteams/src/policy.ts +2 -2
- package/extensions/msteams/src/polls-store.test.ts +1 -1
- package/extensions/msteams/src/polls.test.ts +6 -5
- package/extensions/msteams/src/polls.ts +9 -8
- package/extensions/msteams/src/probe.test.ts +1 -1
- package/extensions/msteams/src/probe.ts +1 -1
- package/extensions/msteams/src/reply-dispatcher.ts +3 -3
- package/extensions/msteams/src/runtime.ts +1 -1
- package/extensions/msteams/src/send-context.ts +2 -2
- package/extensions/msteams/src/send.ts +5 -5
- package/extensions/msteams/src/token.ts +1 -1
- package/extensions/nextcloud-talk/index.ts +3 -3
- package/extensions/nextcloud-talk/package.json +5 -5
- package/extensions/nextcloud-talk/src/accounts.ts +2 -2
- package/extensions/nextcloud-talk/src/channel.ts +8 -8
- package/extensions/nextcloud-talk/src/config-schema.ts +1 -1
- package/extensions/nextcloud-talk/src/inbound.ts +8 -8
- package/extensions/nextcloud-talk/src/monitor.ts +1 -1
- package/extensions/nextcloud-talk/src/onboarding.ts +2 -2
- package/extensions/nextcloud-talk/src/policy.ts +2 -2
- package/extensions/nextcloud-talk/src/room-info.ts +1 -1
- package/extensions/nextcloud-talk/src/runtime.ts +1 -1
- package/extensions/nextcloud-talk/src/types.ts +1 -1
- package/extensions/nostr/CHANGELOG.md +9 -4
- package/extensions/nostr/README.md +5 -5
- package/extensions/nostr/index.ts +6 -6
- package/extensions/nostr/node_modules/.bin/openclaw +16 -0
- package/extensions/nostr/node_modules/.bin/openclaw.CMD +7 -0
- package/extensions/nostr/node_modules/.bin/openclaw.ps1 +28 -0
- package/extensions/nostr/package.json +6 -6
- package/extensions/nostr/src/channel.ts +2 -2
- package/extensions/nostr/src/config-schema.ts +1 -1
- package/extensions/nostr/src/nostr-state-store.test.ts +9 -8
- package/extensions/nostr/src/runtime.ts +1 -1
- package/extensions/nostr/src/types.ts +4 -4
- package/extensions/open-prose/index.ts +2 -2
- package/extensions/open-prose/package.json +3 -3
- package/extensions/open-prose/skills/prose/SKILL.md +5 -5
- package/extensions/open-prose/skills/prose/prose.md +4 -4
- package/extensions/qwen-portal-auth/README.md +3 -3
- package/extensions/qwen-portal-auth/index.ts +1 -1
- package/extensions/signal/index.ts +3 -3
- package/extensions/signal/package.json +4 -4
- package/extensions/signal/src/channel.ts +1 -1
- package/extensions/signal/src/runtime.ts +1 -1
- package/extensions/slack/index.ts +3 -3
- package/extensions/slack/package.json +4 -4
- package/extensions/slack/src/channel.ts +1 -1
- package/extensions/slack/src/runtime.ts +1 -1
- package/extensions/telegram/index.ts +3 -3
- package/extensions/telegram/package.json +4 -4
- package/extensions/telegram/src/channel.ts +3 -3
- package/extensions/telegram/src/runtime.ts +1 -1
- package/extensions/tlon/README.md +3 -3
- package/extensions/tlon/index.ts +3 -3
- package/extensions/tlon/package.json +5 -5
- package/extensions/tlon/src/channel.ts +15 -15
- package/extensions/tlon/src/config-schema.ts +1 -1
- package/extensions/tlon/src/monitor/discovery.ts +1 -1
- package/extensions/tlon/src/monitor/history.ts +1 -1
- package/extensions/tlon/src/monitor/index.ts +3 -3
- package/extensions/tlon/src/onboarding.ts +4 -4
- package/extensions/tlon/src/runtime.ts +1 -1
- package/extensions/tlon/src/types.ts +3 -3
- package/extensions/twitch/CHANGELOG.md +6 -1
- package/extensions/twitch/README.md +8 -8
- package/extensions/twitch/index.ts +3 -3
- package/extensions/twitch/node_modules/.bin/openclaw +16 -0
- package/extensions/twitch/node_modules/.bin/openclaw.CMD +7 -0
- package/extensions/twitch/node_modules/.bin/openclaw.ps1 +28 -0
- package/extensions/twitch/package.json +5 -5
- package/extensions/twitch/src/actions.ts +1 -1
- package/extensions/twitch/src/config-schema.ts +1 -1
- package/extensions/twitch/src/config.ts +3 -3
- package/extensions/twitch/src/monitor.ts +3 -3
- package/extensions/twitch/src/onboarding.test.ts +1 -1
- package/extensions/twitch/src/onboarding.ts +13 -13
- package/extensions/twitch/src/outbound.test.ts +2 -2
- package/extensions/twitch/src/outbound.ts +2 -2
- package/extensions/twitch/src/plugin.test.ts +2 -2
- package/extensions/twitch/src/plugin.ts +9 -9
- package/extensions/twitch/src/runtime.ts +1 -1
- package/extensions/twitch/src/send.test.ts +2 -2
- package/extensions/twitch/src/send.ts +5 -5
- package/extensions/twitch/src/token.test.ts +12 -12
- package/extensions/twitch/src/token.ts +7 -7
- package/extensions/twitch/src/twitch-client.ts +4 -4
- package/extensions/twitch/src/types.ts +3 -3
- package/extensions/twitch/src/utils/markdown.ts +1 -1
- package/extensions/voice-call/CHANGELOG.md +16 -11
- package/extensions/voice-call/README.md +16 -16
- package/extensions/voice-call/package.json +4 -4
- package/extensions/voice-call/src/cli.ts +16 -4
- package/extensions/voice-call/src/core-bridge.ts +5 -5
- package/extensions/voice-call/src/manager.test.ts +2 -2
- package/extensions/voice-call/src/manager.ts +17 -5
- package/extensions/voice-call/src/response-generator.ts +1 -1
- package/extensions/whatsapp/index.ts +3 -3
- package/extensions/whatsapp/package.json +4 -4
- package/extensions/whatsapp/src/channel.ts +1 -1
- package/extensions/whatsapp/src/runtime.ts +1 -1
- package/extensions/zalo/CHANGELOG.md +14 -9
- package/extensions/zalo/README.md +4 -4
- package/extensions/zalo/index.ts +3 -3
- package/extensions/zalo/node_modules/.bin/openclaw +16 -0
- package/extensions/zalo/node_modules/.bin/openclaw.CMD +7 -0
- package/extensions/zalo/node_modules/.bin/openclaw.ps1 +28 -0
- package/extensions/zalo/package.json +6 -6
- package/extensions/zalo/src/accounts.ts +9 -9
- package/extensions/zalo/src/actions.ts +6 -6
- package/extensions/zalo/src/channel.directory.test.ts +2 -2
- package/extensions/zalo/src/channel.ts +20 -20
- package/extensions/zalo/src/config-schema.ts +1 -1
- package/extensions/zalo/src/monitor.ts +9 -9
- package/extensions/zalo/src/monitor.webhook.test.ts +2 -2
- package/extensions/zalo/src/onboarding.ts +27 -27
- package/extensions/zalo/src/runtime.ts +1 -1
- package/extensions/zalo/src/send.ts +2 -2
- package/extensions/zalo/src/status-issues.ts +1 -1
- package/extensions/zalo/src/token.ts +1 -1
- package/extensions/zalouser/CHANGELOG.md +9 -4
- package/extensions/zalouser/README.md +18 -18
- package/extensions/zalouser/index.ts +3 -3
- package/extensions/zalouser/node_modules/.bin/openclaw +16 -0
- package/extensions/zalouser/node_modules/.bin/openclaw.CMD +7 -0
- package/extensions/zalouser/node_modules/.bin/openclaw.ps1 +28 -0
- package/extensions/zalouser/package.json +6 -6
- package/extensions/zalouser/src/accounts.ts +10 -10
- package/extensions/zalouser/src/channel.ts +27 -27
- package/extensions/zalouser/src/config-schema.ts +1 -1
- package/extensions/zalouser/src/monitor.ts +5 -5
- package/extensions/zalouser/src/onboarding.ts +32 -32
- package/extensions/zalouser/src/runtime.ts +1 -1
- package/extensions/zalouser/src/status-issues.ts +2 -2
- package/openclaw.mjs +14 -0
- package/package.json +35 -25
- package/scripts/postinstall.js +1 -0
- package/skills/1password/SKILL.md +3 -3
- package/skills/apple-notes/SKILL.md +2 -2
- package/skills/apple-reminders/SKILL.md +1 -1
- package/skills/bear-notes/SKILL.md +1 -1
- package/skills/bird/SKILL.md +1 -1
- package/skills/blogwatcher/SKILL.md +1 -1
- package/skills/blucli/SKILL.md +1 -1
- package/skills/bluebubbles/SKILL.md +1 -1
- package/skills/camsnap/SKILL.md +1 -1
- package/skills/canvas/SKILL.md +6 -6
- package/skills/clawdhub/SKILL.md +2 -2
- package/skills/coding-agent/SKILL.md +6 -6
- package/skills/discord/SKILL.md +5 -5
- package/skills/eightctl/SKILL.md +1 -1
- package/skills/food-order/SKILL.md +1 -1
- package/skills/gemini/SKILL.md +1 -1
- package/skills/gifgrep/SKILL.md +1 -1
- package/skills/github/SKILL.md +1 -1
- package/skills/gog/SKILL.md +1 -1
- package/skills/goplaces/SKILL.md +1 -1
- package/skills/himalaya/SKILL.md +1 -1
- package/skills/imsg/SKILL.md +1 -1
- package/skills/local-places/SKILL.md +1 -1
- package/skills/mcporter/SKILL.md +1 -1
- package/skills/model-usage/SKILL.md +1 -1
- package/skills/nano-banana-pro/SKILL.md +3 -3
- package/skills/nano-banana-pro/scripts/generate_image.py +1 -1
- package/skills/nano-pdf/SKILL.md +1 -1
- package/skills/notion/SKILL.md +1 -1
- package/skills/obsidian/SKILL.md +1 -1
- package/skills/openai-image-gen/SKILL.md +1 -1
- package/skills/openai-whisper/SKILL.md +1 -1
- package/skills/openai-whisper-api/SKILL.md +2 -2
- package/skills/openhue/SKILL.md +1 -1
- package/skills/oracle/SKILL.md +1 -1
- package/skills/ordercli/SKILL.md +1 -1
- package/skills/peekaboo/SKILL.md +1 -1
- package/skills/sag/SKILL.md +1 -1
- package/skills/session-logs/SKILL.md +1 -1
- package/skills/sherpa-onnx-tts/SKILL.md +2 -2
- package/skills/slack/SKILL.md +4 -4
- package/skills/songsee/SKILL.md +1 -1
- package/skills/sonoscli/SKILL.md +1 -1
- package/skills/spotify-player/SKILL.md +1 -1
- package/skills/summarize/SKILL.md +1 -1
- package/skills/things-mac/SKILL.md +3 -3
- package/skills/tmux/SKILL.md +7 -7
- package/skills/trello/SKILL.md +2 -2
- package/skills/video-frames/SKILL.md +1 -1
- package/skills/voice-call/SKILL.md +4 -4
- package/skills/wacli/SKILL.md +2 -2
- package/skills/weather/SKILL.md +1 -1
- package/assets/images/icon.png +0 -0
- package/dist/control-ui/assets/index-BAFzd9IE.css +0 -1
- package/dist/control-ui/assets/index-CxLFx0Ae.js.map +0 -1
- package/dist/control-ui/pixel_pig_icon.png +0 -0
- package/dist/daemon/legacy.js +0 -44
- package/dist/extension.js +0 -70
- /package/dist/config/{types.clawdbot.js → types.openclaw.js} +0 -0
- /package/docs/{whatsapp-clawd.jpg → whatsapp-openclaw.jpg} +0 -0
- /package/extensions/bluebubbles/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/copilot-proxy/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/diagnostics-otel/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/discord/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/google-antigravity-auth/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/google-gemini-cli-auth/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/googlechat/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/imessage/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/line/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/llm-task/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/lobster/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/matrix/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/mattermost/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/memory-core/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/msteams/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/nextcloud-talk/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/nostr/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/open-prose/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/qwen-portal-auth/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/signal/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/slack/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/telegram/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/tlon/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/twitch/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/voice-call/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/whatsapp/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/zalo/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/zalouser/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import crypto from "node:crypto";
|
|
2
2
|
import path from "node:path";
|
|
3
|
-
import type {
|
|
3
|
+
import type { OpenClawConfig } from "openclaw/plugin-sdk";
|
|
4
4
|
import { resolveBlueBubblesAccount } from "./accounts.js";
|
|
5
5
|
import { resolveChatGuidForTarget } from "./send.js";
|
|
6
6
|
import { parseBlueBubblesTarget, normalizeBlueBubblesHandle } from "./targets.js";
|
|
@@ -16,7 +16,7 @@ export type BlueBubblesAttachmentOpts = {
|
|
|
16
16
|
password?: string;
|
|
17
17
|
accountId?: string;
|
|
18
18
|
timeoutMs?: number;
|
|
19
|
-
cfg?:
|
|
19
|
+
cfg?: OpenClawConfig;
|
|
20
20
|
};
|
|
21
21
|
|
|
22
22
|
const DEFAULT_ATTACHMENT_MAX_BYTES = 8 * 1024 * 1024;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ChannelAccountSnapshot, ChannelPlugin,
|
|
1
|
+
import type { ChannelAccountSnapshot, ChannelPlugin, OpenClawConfig } from "openclaw/plugin-sdk";
|
|
2
2
|
import {
|
|
3
3
|
applyAccountNameToChannelSection,
|
|
4
4
|
buildChannelConfigSchema,
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
resolveBlueBubblesGroupRequireMention,
|
|
13
13
|
resolveBlueBubblesGroupToolPolicy,
|
|
14
14
|
setAccountEnabledInConfigSection,
|
|
15
|
-
} from "
|
|
15
|
+
} from "openclaw/plugin-sdk";
|
|
16
16
|
|
|
17
17
|
import {
|
|
18
18
|
listBlueBubblesAccountIds,
|
|
@@ -78,13 +78,13 @@ export const bluebubblesPlugin: ChannelPlugin<ResolvedBlueBubblesAccount> = {
|
|
|
78
78
|
configSchema: buildChannelConfigSchema(BlueBubblesConfigSchema),
|
|
79
79
|
onboarding: blueBubblesOnboardingAdapter,
|
|
80
80
|
config: {
|
|
81
|
-
listAccountIds: (cfg) => listBlueBubblesAccountIds(cfg as
|
|
81
|
+
listAccountIds: (cfg) => listBlueBubblesAccountIds(cfg as OpenClawConfig),
|
|
82
82
|
resolveAccount: (cfg, accountId) =>
|
|
83
|
-
resolveBlueBubblesAccount({ cfg: cfg as
|
|
84
|
-
defaultAccountId: (cfg) => resolveDefaultBlueBubblesAccountId(cfg as
|
|
83
|
+
resolveBlueBubblesAccount({ cfg: cfg as OpenClawConfig, accountId }),
|
|
84
|
+
defaultAccountId: (cfg) => resolveDefaultBlueBubblesAccountId(cfg as OpenClawConfig),
|
|
85
85
|
setAccountEnabled: ({ cfg, accountId, enabled }) =>
|
|
86
86
|
setAccountEnabledInConfigSection({
|
|
87
|
-
cfg: cfg as
|
|
87
|
+
cfg: cfg as OpenClawConfig,
|
|
88
88
|
sectionKey: "bluebubbles",
|
|
89
89
|
accountId,
|
|
90
90
|
enabled,
|
|
@@ -92,7 +92,7 @@ export const bluebubblesPlugin: ChannelPlugin<ResolvedBlueBubblesAccount> = {
|
|
|
92
92
|
}),
|
|
93
93
|
deleteAccount: ({ cfg, accountId }) =>
|
|
94
94
|
deleteAccountFromConfigSection({
|
|
95
|
-
cfg: cfg as
|
|
95
|
+
cfg: cfg as OpenClawConfig,
|
|
96
96
|
sectionKey: "bluebubbles",
|
|
97
97
|
accountId,
|
|
98
98
|
clearBaseFields: ["serverUrl", "password", "name", "webhookPath"],
|
|
@@ -106,7 +106,7 @@ export const bluebubblesPlugin: ChannelPlugin<ResolvedBlueBubblesAccount> = {
|
|
|
106
106
|
baseUrl: account.baseUrl,
|
|
107
107
|
}),
|
|
108
108
|
resolveAllowFrom: ({ cfg, accountId }) =>
|
|
109
|
-
(resolveBlueBubblesAccount({ cfg: cfg as
|
|
109
|
+
(resolveBlueBubblesAccount({ cfg: cfg as OpenClawConfig, accountId }).config.allowFrom ??
|
|
110
110
|
[]).map(
|
|
111
111
|
(entry) => String(entry),
|
|
112
112
|
),
|
|
@@ -122,7 +122,7 @@ export const bluebubblesPlugin: ChannelPlugin<ResolvedBlueBubblesAccount> = {
|
|
|
122
122
|
resolveDmPolicy: ({ cfg, accountId, account }) => {
|
|
123
123
|
const resolvedAccountId = accountId ?? account.accountId ?? DEFAULT_ACCOUNT_ID;
|
|
124
124
|
const useAccountPath = Boolean(
|
|
125
|
-
(cfg as
|
|
125
|
+
(cfg as OpenClawConfig).channels?.bluebubbles?.accounts?.[resolvedAccountId],
|
|
126
126
|
);
|
|
127
127
|
const basePath = useAccountPath
|
|
128
128
|
? `channels.bluebubbles.accounts.${resolvedAccountId}.`
|
|
@@ -207,7 +207,7 @@ export const bluebubblesPlugin: ChannelPlugin<ResolvedBlueBubblesAccount> = {
|
|
|
207
207
|
resolveAccountId: ({ accountId }) => normalizeAccountId(accountId),
|
|
208
208
|
applyAccountName: ({ cfg, accountId, name }) =>
|
|
209
209
|
applyAccountNameToChannelSection({
|
|
210
|
-
cfg: cfg as
|
|
210
|
+
cfg: cfg as OpenClawConfig,
|
|
211
211
|
channelKey: "bluebubbles",
|
|
212
212
|
accountId,
|
|
213
213
|
name,
|
|
@@ -222,7 +222,7 @@ export const bluebubblesPlugin: ChannelPlugin<ResolvedBlueBubblesAccount> = {
|
|
|
222
222
|
},
|
|
223
223
|
applyAccountConfig: ({ cfg, accountId, input }) => {
|
|
224
224
|
const namedConfig = applyAccountNameToChannelSection({
|
|
225
|
-
cfg: cfg as
|
|
225
|
+
cfg: cfg as OpenClawConfig,
|
|
226
226
|
channelKey: "bluebubbles",
|
|
227
227
|
accountId,
|
|
228
228
|
name: input.name,
|
|
@@ -247,7 +247,7 @@ export const bluebubblesPlugin: ChannelPlugin<ResolvedBlueBubblesAccount> = {
|
|
|
247
247
|
...(input.webhookPath ? { webhookPath: input.webhookPath } : {}),
|
|
248
248
|
},
|
|
249
249
|
},
|
|
250
|
-
} as
|
|
250
|
+
} as OpenClawConfig;
|
|
251
251
|
}
|
|
252
252
|
return {
|
|
253
253
|
...next,
|
|
@@ -268,7 +268,7 @@ export const bluebubblesPlugin: ChannelPlugin<ResolvedBlueBubblesAccount> = {
|
|
|
268
268
|
},
|
|
269
269
|
},
|
|
270
270
|
},
|
|
271
|
-
} as
|
|
271
|
+
} as OpenClawConfig;
|
|
272
272
|
},
|
|
273
273
|
},
|
|
274
274
|
pairing: {
|
|
@@ -276,7 +276,7 @@ export const bluebubblesPlugin: ChannelPlugin<ResolvedBlueBubblesAccount> = {
|
|
|
276
276
|
normalizeAllowEntry: (entry) => normalizeBlueBubblesHandle(entry.replace(/^bluebubbles:/i, "")),
|
|
277
277
|
notifyApproval: async ({ cfg, id }) => {
|
|
278
278
|
await sendMessageBlueBubbles(id, PAIRING_APPROVED_MESSAGE, {
|
|
279
|
-
cfg: cfg as
|
|
279
|
+
cfg: cfg as OpenClawConfig,
|
|
280
280
|
});
|
|
281
281
|
},
|
|
282
282
|
},
|
|
@@ -300,7 +300,7 @@ export const bluebubblesPlugin: ChannelPlugin<ResolvedBlueBubblesAccount> = {
|
|
|
300
300
|
? resolveBlueBubblesMessageId(rawReplyToId, { requireKnownShortId: true })
|
|
301
301
|
: "";
|
|
302
302
|
const result = await sendMessageBlueBubbles(to, text, {
|
|
303
|
-
cfg: cfg as
|
|
303
|
+
cfg: cfg as OpenClawConfig,
|
|
304
304
|
accountId: accountId ?? undefined,
|
|
305
305
|
replyToMessageGuid: replyToMessageGuid || undefined,
|
|
306
306
|
});
|
|
@@ -317,7 +317,7 @@ export const bluebubblesPlugin: ChannelPlugin<ResolvedBlueBubblesAccount> = {
|
|
|
317
317
|
};
|
|
318
318
|
const resolvedCaption = caption ?? text;
|
|
319
319
|
const result = await sendBlueBubblesMedia({
|
|
320
|
-
cfg: cfg as
|
|
320
|
+
cfg: cfg as OpenClawConfig,
|
|
321
321
|
to,
|
|
322
322
|
mediaUrl,
|
|
323
323
|
mediaPath,
|
|
@@ -388,7 +388,7 @@ export const bluebubblesPlugin: ChannelPlugin<ResolvedBlueBubblesAccount> = {
|
|
|
388
388
|
ctx.log?.info(`[${account.accountId}] starting provider (webhook=${webhookPath})`);
|
|
389
389
|
return monitorBlueBubblesProvider({
|
|
390
390
|
account,
|
|
391
|
-
config: ctx.cfg as
|
|
391
|
+
config: ctx.cfg as OpenClawConfig,
|
|
392
392
|
runtime: ctx.runtime,
|
|
393
393
|
abortSignal: ctx.abortSignal,
|
|
394
394
|
statusSink: (patch) => ctx.setStatus({ accountId: ctx.accountId, ...patch }),
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import crypto from "node:crypto";
|
|
2
2
|
import { resolveBlueBubblesAccount } from "./accounts.js";
|
|
3
|
-
import type {
|
|
3
|
+
import type { OpenClawConfig } from "openclaw/plugin-sdk";
|
|
4
4
|
import { blueBubblesFetchWithTimeout, buildBlueBubblesApiUrl } from "./types.js";
|
|
5
5
|
|
|
6
6
|
export type BlueBubblesChatOpts = {
|
|
@@ -8,7 +8,7 @@ export type BlueBubblesChatOpts = {
|
|
|
8
8
|
password?: string;
|
|
9
9
|
accountId?: string;
|
|
10
10
|
timeoutMs?: number;
|
|
11
|
-
cfg?:
|
|
11
|
+
cfg?: OpenClawConfig;
|
|
12
12
|
};
|
|
13
13
|
|
|
14
14
|
function resolveAccount(params: BlueBubblesChatOpts) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
2
|
import { fileURLToPath } from "node:url";
|
|
3
3
|
|
|
4
|
-
import { resolveChannelMediaMaxBytes, type
|
|
4
|
+
import { resolveChannelMediaMaxBytes, type OpenClawConfig } from "openclaw/plugin-sdk";
|
|
5
5
|
|
|
6
6
|
import { sendBlueBubblesAttachment } from "./attachments.js";
|
|
7
7
|
import { resolveBlueBubblesMessageId } from "./monitor.js";
|
|
@@ -49,7 +49,7 @@ function resolveFilenameFromSource(source?: string): string | undefined {
|
|
|
49
49
|
}
|
|
50
50
|
|
|
51
51
|
export async function sendBlueBubblesMedia(params: {
|
|
52
|
-
cfg:
|
|
52
|
+
cfg: OpenClawConfig;
|
|
53
53
|
to: string;
|
|
54
54
|
mediaUrl?: string;
|
|
55
55
|
mediaPath?: string;
|
|
@@ -2,8 +2,8 @@ import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
|
|
|
2
2
|
import type { IncomingMessage, ServerResponse } from "node:http";
|
|
3
3
|
import { EventEmitter } from "node:events";
|
|
4
4
|
|
|
5
|
-
import { removeAckReactionAfterReply, shouldAckReaction } from "
|
|
6
|
-
import type {
|
|
5
|
+
import { removeAckReactionAfterReply, shouldAckReaction } from "openclaw/plugin-sdk";
|
|
6
|
+
import type { OpenClawConfig, PluginRuntime } from "openclaw/plugin-sdk";
|
|
7
7
|
import {
|
|
8
8
|
handleBlueBubblesWebhookRequest,
|
|
9
9
|
registerBlueBubblesWebhookTarget,
|
|
@@ -178,7 +178,7 @@ function createMockRuntime(): PluginRuntime {
|
|
|
178
178
|
})) as unknown as PluginRuntime["logging"]["getChildLogger"],
|
|
179
179
|
},
|
|
180
180
|
state: {
|
|
181
|
-
resolveStateDir: vi.fn(() => "/tmp/
|
|
181
|
+
resolveStateDir: vi.fn(() => "/tmp/openclaw") as unknown as PluginRuntime["state"]["resolveStateDir"],
|
|
182
182
|
},
|
|
183
183
|
};
|
|
184
184
|
}
|
|
@@ -264,7 +264,7 @@ describe("BlueBubbles webhook monitor", () => {
|
|
|
264
264
|
describe("webhook parsing + auth handling", () => {
|
|
265
265
|
it("rejects non-POST requests", async () => {
|
|
266
266
|
const account = createMockAccount();
|
|
267
|
-
const config:
|
|
267
|
+
const config: OpenClawConfig = {};
|
|
268
268
|
const core = createMockRuntime();
|
|
269
269
|
setBlueBubblesRuntime(core);
|
|
270
270
|
|
|
@@ -287,7 +287,7 @@ describe("BlueBubbles webhook monitor", () => {
|
|
|
287
287
|
|
|
288
288
|
it("accepts POST requests with valid JSON payload", async () => {
|
|
289
289
|
const account = createMockAccount();
|
|
290
|
-
const config:
|
|
290
|
+
const config: OpenClawConfig = {};
|
|
291
291
|
const core = createMockRuntime();
|
|
292
292
|
setBlueBubblesRuntime(core);
|
|
293
293
|
|
|
@@ -323,7 +323,7 @@ describe("BlueBubbles webhook monitor", () => {
|
|
|
323
323
|
|
|
324
324
|
it("rejects requests with invalid JSON", async () => {
|
|
325
325
|
const account = createMockAccount();
|
|
326
|
-
const config:
|
|
326
|
+
const config: OpenClawConfig = {};
|
|
327
327
|
const core = createMockRuntime();
|
|
328
328
|
setBlueBubblesRuntime(core);
|
|
329
329
|
|
|
@@ -346,7 +346,7 @@ describe("BlueBubbles webhook monitor", () => {
|
|
|
346
346
|
|
|
347
347
|
it("authenticates via password query parameter", async () => {
|
|
348
348
|
const account = createMockAccount({ password: "secret-token" });
|
|
349
|
-
const config:
|
|
349
|
+
const config: OpenClawConfig = {};
|
|
350
350
|
const core = createMockRuntime();
|
|
351
351
|
setBlueBubblesRuntime(core);
|
|
352
352
|
|
|
@@ -380,7 +380,7 @@ describe("BlueBubbles webhook monitor", () => {
|
|
|
380
380
|
|
|
381
381
|
it("authenticates via x-password header", async () => {
|
|
382
382
|
const account = createMockAccount({ password: "secret-token" });
|
|
383
|
-
const config:
|
|
383
|
+
const config: OpenClawConfig = {};
|
|
384
384
|
const core = createMockRuntime();
|
|
385
385
|
setBlueBubblesRuntime(core);
|
|
386
386
|
|
|
@@ -418,7 +418,7 @@ describe("BlueBubbles webhook monitor", () => {
|
|
|
418
418
|
|
|
419
419
|
it("rejects unauthorized requests with wrong password", async () => {
|
|
420
420
|
const account = createMockAccount({ password: "secret-token" });
|
|
421
|
-
const config:
|
|
421
|
+
const config: OpenClawConfig = {};
|
|
422
422
|
const core = createMockRuntime();
|
|
423
423
|
setBlueBubblesRuntime(core);
|
|
424
424
|
|
|
@@ -451,7 +451,7 @@ describe("BlueBubbles webhook monitor", () => {
|
|
|
451
451
|
|
|
452
452
|
it("allows localhost requests without authentication", async () => {
|
|
453
453
|
const account = createMockAccount({ password: "secret-token" });
|
|
454
|
-
const config:
|
|
454
|
+
const config: OpenClawConfig = {};
|
|
455
455
|
const core = createMockRuntime();
|
|
456
456
|
setBlueBubblesRuntime(core);
|
|
457
457
|
|
|
@@ -497,7 +497,7 @@ describe("BlueBubbles webhook monitor", () => {
|
|
|
497
497
|
vi.mocked(resolveChatGuidForTarget).mockClear();
|
|
498
498
|
|
|
499
499
|
const account = createMockAccount({ groupPolicy: "open" });
|
|
500
|
-
const config:
|
|
500
|
+
const config: OpenClawConfig = {};
|
|
501
501
|
const core = createMockRuntime();
|
|
502
502
|
setBlueBubblesRuntime(core);
|
|
503
503
|
|
|
@@ -545,7 +545,7 @@ describe("BlueBubbles webhook monitor", () => {
|
|
|
545
545
|
});
|
|
546
546
|
|
|
547
547
|
const account = createMockAccount({ groupPolicy: "open" });
|
|
548
|
-
const config:
|
|
548
|
+
const config: OpenClawConfig = {};
|
|
549
549
|
const core = createMockRuntime();
|
|
550
550
|
setBlueBubblesRuntime(core);
|
|
551
551
|
|
|
@@ -591,7 +591,7 @@ describe("BlueBubbles webhook monitor", () => {
|
|
|
591
591
|
dmPolicy: "allowlist",
|
|
592
592
|
allowFrom: ["+15551234567"],
|
|
593
593
|
});
|
|
594
|
-
const config:
|
|
594
|
+
const config: OpenClawConfig = {};
|
|
595
595
|
const core = createMockRuntime();
|
|
596
596
|
setBlueBubblesRuntime(core);
|
|
597
597
|
|
|
@@ -632,7 +632,7 @@ describe("BlueBubbles webhook monitor", () => {
|
|
|
632
632
|
dmPolicy: "allowlist",
|
|
633
633
|
allowFrom: ["+15559999999"], // Different number
|
|
634
634
|
});
|
|
635
|
-
const config:
|
|
635
|
+
const config: OpenClawConfig = {};
|
|
636
636
|
const core = createMockRuntime();
|
|
637
637
|
setBlueBubblesRuntime(core);
|
|
638
638
|
|
|
@@ -673,7 +673,7 @@ describe("BlueBubbles webhook monitor", () => {
|
|
|
673
673
|
dmPolicy: "pairing",
|
|
674
674
|
allowFrom: ["+15559999999"], // Different number than sender
|
|
675
675
|
});
|
|
676
|
-
const config:
|
|
676
|
+
const config: OpenClawConfig = {};
|
|
677
677
|
const core = createMockRuntime();
|
|
678
678
|
setBlueBubblesRuntime(core);
|
|
679
679
|
|
|
@@ -716,7 +716,7 @@ describe("BlueBubbles webhook monitor", () => {
|
|
|
716
716
|
dmPolicy: "pairing",
|
|
717
717
|
allowFrom: ["+15559999999"], // Different number than sender
|
|
718
718
|
});
|
|
719
|
-
const config:
|
|
719
|
+
const config: OpenClawConfig = {};
|
|
720
720
|
const core = createMockRuntime();
|
|
721
721
|
setBlueBubblesRuntime(core);
|
|
722
722
|
|
|
@@ -757,7 +757,7 @@ describe("BlueBubbles webhook monitor", () => {
|
|
|
757
757
|
dmPolicy: "open",
|
|
758
758
|
allowFrom: [],
|
|
759
759
|
});
|
|
760
|
-
const config:
|
|
760
|
+
const config: OpenClawConfig = {};
|
|
761
761
|
const core = createMockRuntime();
|
|
762
762
|
setBlueBubblesRuntime(core);
|
|
763
763
|
|
|
@@ -794,7 +794,7 @@ describe("BlueBubbles webhook monitor", () => {
|
|
|
794
794
|
const account = createMockAccount({
|
|
795
795
|
dmPolicy: "disabled",
|
|
796
796
|
});
|
|
797
|
-
const config:
|
|
797
|
+
const config: OpenClawConfig = {};
|
|
798
798
|
const core = createMockRuntime();
|
|
799
799
|
setBlueBubblesRuntime(core);
|
|
800
800
|
|
|
@@ -833,7 +833,7 @@ describe("BlueBubbles webhook monitor", () => {
|
|
|
833
833
|
const account = createMockAccount({
|
|
834
834
|
groupPolicy: "open",
|
|
835
835
|
});
|
|
836
|
-
const config:
|
|
836
|
+
const config: OpenClawConfig = {};
|
|
837
837
|
const core = createMockRuntime();
|
|
838
838
|
setBlueBubblesRuntime(core);
|
|
839
839
|
|
|
@@ -871,7 +871,7 @@ describe("BlueBubbles webhook monitor", () => {
|
|
|
871
871
|
const account = createMockAccount({
|
|
872
872
|
groupPolicy: "disabled",
|
|
873
873
|
});
|
|
874
|
-
const config:
|
|
874
|
+
const config: OpenClawConfig = {};
|
|
875
875
|
const core = createMockRuntime();
|
|
876
876
|
setBlueBubblesRuntime(core);
|
|
877
877
|
|
|
@@ -910,7 +910,7 @@ describe("BlueBubbles webhook monitor", () => {
|
|
|
910
910
|
groupPolicy: "allowlist",
|
|
911
911
|
dmPolicy: "open",
|
|
912
912
|
});
|
|
913
|
-
const config:
|
|
913
|
+
const config: OpenClawConfig = {};
|
|
914
914
|
const core = createMockRuntime();
|
|
915
915
|
setBlueBubblesRuntime(core);
|
|
916
916
|
|
|
@@ -949,7 +949,7 @@ describe("BlueBubbles webhook monitor", () => {
|
|
|
949
949
|
groupPolicy: "allowlist",
|
|
950
950
|
groupAllowFrom: ["chat_guid:iMessage;+;chat123456"],
|
|
951
951
|
});
|
|
952
|
-
const config:
|
|
952
|
+
const config: OpenClawConfig = {};
|
|
953
953
|
const core = createMockRuntime();
|
|
954
954
|
setBlueBubblesRuntime(core);
|
|
955
955
|
|
|
@@ -990,7 +990,7 @@ describe("BlueBubbles webhook monitor", () => {
|
|
|
990
990
|
mockMatchesMentionPatterns.mockReturnValue(true);
|
|
991
991
|
|
|
992
992
|
const account = createMockAccount({ groupPolicy: "open" });
|
|
993
|
-
const config:
|
|
993
|
+
const config: OpenClawConfig = {};
|
|
994
994
|
const core = createMockRuntime();
|
|
995
995
|
setBlueBubblesRuntime(core);
|
|
996
996
|
|
|
@@ -1031,7 +1031,7 @@ describe("BlueBubbles webhook monitor", () => {
|
|
|
1031
1031
|
mockMatchesMentionPatterns.mockReturnValue(false);
|
|
1032
1032
|
|
|
1033
1033
|
const account = createMockAccount({ groupPolicy: "open" });
|
|
1034
|
-
const config:
|
|
1034
|
+
const config: OpenClawConfig = {};
|
|
1035
1035
|
const core = createMockRuntime();
|
|
1036
1036
|
setBlueBubblesRuntime(core);
|
|
1037
1037
|
|
|
@@ -1069,7 +1069,7 @@ describe("BlueBubbles webhook monitor", () => {
|
|
|
1069
1069
|
mockResolveRequireMention.mockReturnValue(false);
|
|
1070
1070
|
|
|
1071
1071
|
const account = createMockAccount({ groupPolicy: "open" });
|
|
1072
|
-
const config:
|
|
1072
|
+
const config: OpenClawConfig = {};
|
|
1073
1073
|
const core = createMockRuntime();
|
|
1074
1074
|
setBlueBubblesRuntime(core);
|
|
1075
1075
|
|
|
@@ -1107,7 +1107,7 @@ describe("BlueBubbles webhook monitor", () => {
|
|
|
1107
1107
|
describe("group metadata", () => {
|
|
1108
1108
|
it("includes group subject + members in ctx", async () => {
|
|
1109
1109
|
const account = createMockAccount({ groupPolicy: "open" });
|
|
1110
|
-
const config:
|
|
1110
|
+
const config: OpenClawConfig = {};
|
|
1111
1111
|
const core = createMockRuntime();
|
|
1112
1112
|
setBlueBubblesRuntime(core);
|
|
1113
1113
|
|
|
@@ -1153,7 +1153,7 @@ describe("BlueBubbles webhook monitor", () => {
|
|
|
1153
1153
|
describe("reply metadata", () => {
|
|
1154
1154
|
it("surfaces reply fields in ctx when provided", async () => {
|
|
1155
1155
|
const account = createMockAccount({ dmPolicy: "open" });
|
|
1156
|
-
const config:
|
|
1156
|
+
const config: OpenClawConfig = {};
|
|
1157
1157
|
const core = createMockRuntime();
|
|
1158
1158
|
setBlueBubblesRuntime(core);
|
|
1159
1159
|
|
|
@@ -1201,7 +1201,7 @@ describe("BlueBubbles webhook monitor", () => {
|
|
|
1201
1201
|
|
|
1202
1202
|
it("preserves part index prefixes in reply tags when short IDs are unavailable", async () => {
|
|
1203
1203
|
const account = createMockAccount({ dmPolicy: "open" });
|
|
1204
|
-
const config:
|
|
1204
|
+
const config: OpenClawConfig = {};
|
|
1205
1205
|
const core = createMockRuntime();
|
|
1206
1206
|
setBlueBubblesRuntime(core);
|
|
1207
1207
|
|
|
@@ -1246,7 +1246,7 @@ describe("BlueBubbles webhook monitor", () => {
|
|
|
1246
1246
|
|
|
1247
1247
|
it("hydrates missing reply sender/body from the recent-message cache", async () => {
|
|
1248
1248
|
const account = createMockAccount({ dmPolicy: "open", groupPolicy: "open" });
|
|
1249
|
-
const config:
|
|
1249
|
+
const config: OpenClawConfig = {};
|
|
1250
1250
|
const core = createMockRuntime();
|
|
1251
1251
|
setBlueBubblesRuntime(core);
|
|
1252
1252
|
|
|
@@ -1316,7 +1316,7 @@ describe("BlueBubbles webhook monitor", () => {
|
|
|
1316
1316
|
|
|
1317
1317
|
it("falls back to threadOriginatorGuid when reply metadata is absent", async () => {
|
|
1318
1318
|
const account = createMockAccount({ dmPolicy: "open" });
|
|
1319
|
-
const config:
|
|
1319
|
+
const config: OpenClawConfig = {};
|
|
1320
1320
|
const core = createMockRuntime();
|
|
1321
1321
|
setBlueBubblesRuntime(core);
|
|
1322
1322
|
|
|
@@ -1357,7 +1357,7 @@ describe("BlueBubbles webhook monitor", () => {
|
|
|
1357
1357
|
describe("tapback text parsing", () => {
|
|
1358
1358
|
it("does not rewrite tapback-like text without metadata", async () => {
|
|
1359
1359
|
const account = createMockAccount({ dmPolicy: "open" });
|
|
1360
|
-
const config:
|
|
1360
|
+
const config: OpenClawConfig = {};
|
|
1361
1361
|
const core = createMockRuntime();
|
|
1362
1362
|
setBlueBubblesRuntime(core);
|
|
1363
1363
|
|
|
@@ -1397,7 +1397,7 @@ describe("BlueBubbles webhook monitor", () => {
|
|
|
1397
1397
|
|
|
1398
1398
|
it("parses tapback text with custom emoji when metadata is present", async () => {
|
|
1399
1399
|
const account = createMockAccount({ dmPolicy: "open" });
|
|
1400
|
-
const config:
|
|
1400
|
+
const config: OpenClawConfig = {};
|
|
1401
1401
|
const core = createMockRuntime();
|
|
1402
1402
|
setBlueBubblesRuntime(core);
|
|
1403
1403
|
|
|
@@ -1442,7 +1442,7 @@ describe("BlueBubbles webhook monitor", () => {
|
|
|
1442
1442
|
vi.mocked(sendBlueBubblesReaction).mockClear();
|
|
1443
1443
|
|
|
1444
1444
|
const account = createMockAccount({ dmPolicy: "open" });
|
|
1445
|
-
const config:
|
|
1445
|
+
const config: OpenClawConfig = {
|
|
1446
1446
|
messages: {
|
|
1447
1447
|
ackReaction: "❤️",
|
|
1448
1448
|
ackReactionScope: "direct",
|
|
@@ -1500,7 +1500,7 @@ describe("BlueBubbles webhook monitor", () => {
|
|
|
1500
1500
|
groupPolicy: "open",
|
|
1501
1501
|
allowFrom: ["+15551234567"],
|
|
1502
1502
|
});
|
|
1503
|
-
const config:
|
|
1503
|
+
const config: OpenClawConfig = {};
|
|
1504
1504
|
const core = createMockRuntime();
|
|
1505
1505
|
setBlueBubblesRuntime(core);
|
|
1506
1506
|
|
|
@@ -1543,7 +1543,7 @@ describe("BlueBubbles webhook monitor", () => {
|
|
|
1543
1543
|
groupPolicy: "open",
|
|
1544
1544
|
allowFrom: [], // No one authorized
|
|
1545
1545
|
});
|
|
1546
|
-
const config:
|
|
1546
|
+
const config: OpenClawConfig = {};
|
|
1547
1547
|
const core = createMockRuntime();
|
|
1548
1548
|
setBlueBubblesRuntime(core);
|
|
1549
1549
|
|
|
@@ -1586,7 +1586,7 @@ describe("BlueBubbles webhook monitor", () => {
|
|
|
1586
1586
|
const account = createMockAccount({
|
|
1587
1587
|
sendReadReceipts: true,
|
|
1588
1588
|
});
|
|
1589
|
-
const config:
|
|
1589
|
+
const config: OpenClawConfig = {};
|
|
1590
1590
|
const core = createMockRuntime();
|
|
1591
1591
|
setBlueBubblesRuntime(core);
|
|
1592
1592
|
|
|
@@ -1627,7 +1627,7 @@ describe("BlueBubbles webhook monitor", () => {
|
|
|
1627
1627
|
const account = createMockAccount({
|
|
1628
1628
|
sendReadReceipts: false,
|
|
1629
1629
|
});
|
|
1630
|
-
const config:
|
|
1630
|
+
const config: OpenClawConfig = {};
|
|
1631
1631
|
const core = createMockRuntime();
|
|
1632
1632
|
setBlueBubblesRuntime(core);
|
|
1633
1633
|
|
|
@@ -1666,7 +1666,7 @@ describe("BlueBubbles webhook monitor", () => {
|
|
|
1666
1666
|
vi.mocked(sendBlueBubblesTyping).mockClear();
|
|
1667
1667
|
|
|
1668
1668
|
const account = createMockAccount();
|
|
1669
|
-
const config:
|
|
1669
|
+
const config: OpenClawConfig = {};
|
|
1670
1670
|
const core = createMockRuntime();
|
|
1671
1671
|
setBlueBubblesRuntime(core);
|
|
1672
1672
|
|
|
@@ -1714,7 +1714,7 @@ describe("BlueBubbles webhook monitor", () => {
|
|
|
1714
1714
|
vi.mocked(sendBlueBubblesTyping).mockClear();
|
|
1715
1715
|
|
|
1716
1716
|
const account = createMockAccount();
|
|
1717
|
-
const config:
|
|
1717
|
+
const config: OpenClawConfig = {};
|
|
1718
1718
|
const core = createMockRuntime();
|
|
1719
1719
|
setBlueBubblesRuntime(core);
|
|
1720
1720
|
|
|
@@ -1763,7 +1763,7 @@ describe("BlueBubbles webhook monitor", () => {
|
|
|
1763
1763
|
vi.mocked(sendBlueBubblesTyping).mockClear();
|
|
1764
1764
|
|
|
1765
1765
|
const account = createMockAccount();
|
|
1766
|
-
const config:
|
|
1766
|
+
const config: OpenClawConfig = {};
|
|
1767
1767
|
const core = createMockRuntime();
|
|
1768
1768
|
setBlueBubblesRuntime(core);
|
|
1769
1769
|
|
|
@@ -1813,7 +1813,7 @@ describe("BlueBubbles webhook monitor", () => {
|
|
|
1813
1813
|
});
|
|
1814
1814
|
|
|
1815
1815
|
const account = createMockAccount();
|
|
1816
|
-
const config:
|
|
1816
|
+
const config: OpenClawConfig = {};
|
|
1817
1817
|
const core = createMockRuntime();
|
|
1818
1818
|
setBlueBubblesRuntime(core);
|
|
1819
1819
|
|
|
@@ -1859,7 +1859,7 @@ describe("BlueBubbles webhook monitor", () => {
|
|
|
1859
1859
|
mockEnqueueSystemEvent.mockClear();
|
|
1860
1860
|
|
|
1861
1861
|
const account = createMockAccount();
|
|
1862
|
-
const config:
|
|
1862
|
+
const config: OpenClawConfig = {};
|
|
1863
1863
|
const core = createMockRuntime();
|
|
1864
1864
|
setBlueBubblesRuntime(core);
|
|
1865
1865
|
|
|
@@ -1899,7 +1899,7 @@ describe("BlueBubbles webhook monitor", () => {
|
|
|
1899
1899
|
mockEnqueueSystemEvent.mockClear();
|
|
1900
1900
|
|
|
1901
1901
|
const account = createMockAccount();
|
|
1902
|
-
const config:
|
|
1902
|
+
const config: OpenClawConfig = {};
|
|
1903
1903
|
const core = createMockRuntime();
|
|
1904
1904
|
setBlueBubblesRuntime(core);
|
|
1905
1905
|
|
|
@@ -1939,7 +1939,7 @@ describe("BlueBubbles webhook monitor", () => {
|
|
|
1939
1939
|
mockEnqueueSystemEvent.mockClear();
|
|
1940
1940
|
|
|
1941
1941
|
const account = createMockAccount();
|
|
1942
|
-
const config:
|
|
1942
|
+
const config: OpenClawConfig = {};
|
|
1943
1943
|
const core = createMockRuntime();
|
|
1944
1944
|
setBlueBubblesRuntime(core);
|
|
1945
1945
|
|
|
@@ -1976,7 +1976,7 @@ describe("BlueBubbles webhook monitor", () => {
|
|
|
1976
1976
|
mockEnqueueSystemEvent.mockClear();
|
|
1977
1977
|
|
|
1978
1978
|
const account = createMockAccount();
|
|
1979
|
-
const config:
|
|
1979
|
+
const config: OpenClawConfig = {};
|
|
1980
1980
|
const core = createMockRuntime();
|
|
1981
1981
|
setBlueBubblesRuntime(core);
|
|
1982
1982
|
|
|
@@ -2017,7 +2017,7 @@ describe("BlueBubbles webhook monitor", () => {
|
|
|
2017
2017
|
describe("short message ID mapping", () => {
|
|
2018
2018
|
it("assigns sequential short IDs to messages", async () => {
|
|
2019
2019
|
const account = createMockAccount({ dmPolicy: "open" });
|
|
2020
|
-
const config:
|
|
2020
|
+
const config: OpenClawConfig = {};
|
|
2021
2021
|
const core = createMockRuntime();
|
|
2022
2022
|
setBlueBubblesRuntime(core);
|
|
2023
2023
|
|
|
@@ -2057,7 +2057,7 @@ describe("BlueBubbles webhook monitor", () => {
|
|
|
2057
2057
|
|
|
2058
2058
|
it("resolves short ID back to UUID", async () => {
|
|
2059
2059
|
const account = createMockAccount({ dmPolicy: "open" });
|
|
2060
|
-
const config:
|
|
2060
|
+
const config: OpenClawConfig = {};
|
|
2061
2061
|
const core = createMockRuntime();
|
|
2062
2062
|
setBlueBubblesRuntime(core);
|
|
2063
2063
|
|
|
@@ -2110,7 +2110,7 @@ describe("BlueBubbles webhook monitor", () => {
|
|
|
2110
2110
|
describe("fromMe messages", () => {
|
|
2111
2111
|
it("ignores messages from self (fromMe=true)", async () => {
|
|
2112
2112
|
const account = createMockAccount();
|
|
2113
|
-
const config:
|
|
2113
|
+
const config: OpenClawConfig = {};
|
|
2114
2114
|
const core = createMockRuntime();
|
|
2115
2115
|
setBlueBubblesRuntime(core);
|
|
2116
2116
|
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import type { IncomingMessage, ServerResponse } from "node:http";
|
|
2
2
|
|
|
3
|
-
import type {
|
|
3
|
+
import type { OpenClawConfig } from "openclaw/plugin-sdk";
|
|
4
4
|
import {
|
|
5
5
|
logAckFailure,
|
|
6
6
|
logInboundDrop,
|
|
7
7
|
logTypingFailure,
|
|
8
8
|
resolveAckReaction,
|
|
9
9
|
resolveControlCommandGate,
|
|
10
|
-
} from "
|
|
10
|
+
} from "openclaw/plugin-sdk";
|
|
11
11
|
import { markBlueBubblesChatRead, sendBlueBubblesTyping } from "./chat.js";
|
|
12
12
|
import { resolveChatGuidForTarget, sendMessageBlueBubbles } from "./send.js";
|
|
13
13
|
import { downloadBlueBubblesAttachment } from "./attachments.js";
|
|
@@ -26,7 +26,7 @@ export type BlueBubblesRuntimeEnv = {
|
|
|
26
26
|
|
|
27
27
|
export type BlueBubblesMonitorOptions = {
|
|
28
28
|
account: ResolvedBlueBubblesAccount;
|
|
29
|
-
config:
|
|
29
|
+
config: OpenClawConfig;
|
|
30
30
|
runtime: BlueBubblesRuntimeEnv;
|
|
31
31
|
abortSignal: AbortSignal;
|
|
32
32
|
statusSink?: (patch: { lastInboundAt?: number; lastOutboundAt?: number }) => void;
|
|
@@ -243,7 +243,7 @@ function logGroupAllowlistHint(params: {
|
|
|
243
243
|
|
|
244
244
|
type WebhookTarget = {
|
|
245
245
|
account: ResolvedBlueBubblesAccount;
|
|
246
|
-
config:
|
|
246
|
+
config: OpenClawConfig;
|
|
247
247
|
runtime: BlueBubblesRuntimeEnv;
|
|
248
248
|
core: BlueBubblesCoreRuntime;
|
|
249
249
|
path: string;
|
|
@@ -340,7 +340,7 @@ const targetDebouncers = new Map<
|
|
|
340
340
|
>();
|
|
341
341
|
|
|
342
342
|
function resolveBlueBubblesDebounceMs(
|
|
343
|
-
config:
|
|
343
|
+
config: OpenClawConfig,
|
|
344
344
|
core: BlueBubblesCoreRuntime,
|
|
345
345
|
): number {
|
|
346
346
|
const inbound = config.messages?.inbound;
|
|
@@ -940,7 +940,7 @@ function maskSecret(value: string): string {
|
|
|
940
940
|
}
|
|
941
941
|
|
|
942
942
|
function resolveBlueBubblesAckReaction(params: {
|
|
943
|
-
cfg:
|
|
943
|
+
cfg: OpenClawConfig;
|
|
944
944
|
agentId: string;
|
|
945
945
|
core: BlueBubblesCoreRuntime;
|
|
946
946
|
runtime: BlueBubblesRuntimeEnv;
|