From dc37134cf2c51406ae92af45070b0fc659bd2a62 Mon Sep 17 00:00:00 2001 From: Ganesh Talluri Date: Tue, 10 Feb 2026 09:23:51 -0700 Subject: [PATCH 1/2] push fixed src w/o gateways --- src/acp/client.ts | 191 - src/acp/commands.ts | 40 - src/acp/event-mapper.test.ts | 31 - src/acp/event-mapper.ts | 95 - src/acp/index.ts | 4 - src/acp/meta.ts | 47 - src/acp/server.ts | 144 - src/acp/session-mapper.test.ts | 56 - src/acp/session-mapper.ts | 98 - src/acp/session.test.ts | 25 - src/acp/session.ts | 94 - src/acp/translator.ts | 454 --- src/acp/types.ts | 29 - src/agents/agent-paths.test.ts | 56 - src/agents/agent-scope.test.ts | 228 -- src/agents/anthropic.setup-token.live.test.ts | 226 -- src/agents/apply-patch.test.ts | 73 - src/agents/auth-health.test.ts | 89 - src/agents/auth-health.ts | 252 -- ...th-profiles.auth-profile-cooldowns.test.ts | 12 - src/agents/auth-profiles.chutes.test.ts | 100 - ...th-profiles.ensureauthprofilestore.test.ts | 125 - ...th-profiles.markauthprofilefailure.test.ts | 131 - ...tize-lastgood-round-robin-ordering.test.ts | 234 -- ...normalizes-z-ai-aliases-auth-order.test.ts | 142 - ...-lastused-no-explicit-order-exists.test.ts | 96 - ...s-stored-profiles-no-config-exists.test.ts | 169 - .../oauth.fallback-to-main-agent.test.ts | 173 - .../auth-profiles/session-override.test.ts | 63 - src/agents/bash-process-registry.test.ts | 180 - .../bash-tools.exec.approval-id.test.ts | 184 - .../bash-tools.exec.background-abort.test.ts | 146 - src/agents/bash-tools.exec.path.test.ts | 125 - .../bash-tools.exec.pty-fallback.test.ts | 30 - src/agents/bash-tools.exec.pty.test.ts | 19 - .../bash-tools.process.send-keys.test.ts | 78 - src/agents/bash-tools.test.ts | 426 --- src/agents/bedrock-discovery.test.ts | 193 - src/agents/bootstrap-files.test.ts | 60 - src/agents/bootstrap-hooks.test.ts | 40 - src/agents/cache-trace.test.ts | 92 - src/agents/channel-tools.test.ts | 52 - src/agents/chutes-oauth.test.ts | 104 - src/agents/claude-cli-runner.test.ts | 155 - src/agents/claude-cli-runner.ts | 3 - src/agents/cli-credentials.test.ts | 241 -- src/agents/cli-runner.test.ts | 226 -- src/agents/compaction.test.ts | 293 -- src/agents/compaction.ts | 373 -- src/agents/context-window-guard.test.ts | 149 - src/agents/failover-error.test.ts | 56 - src/agents/google-gemini-switch.live.test.ts | 79 - src/agents/identity-avatar.test.ts | 110 - src/agents/identity-avatar.ts | 102 - src/agents/identity-file.test.ts | 36 - src/agents/identity-file.ts | 107 - .../identity.per-channel-prefix.test.ts | 300 -- src/agents/identity.test.ts | 27 - src/agents/live-auth-keys.ts | 97 - src/agents/live-model-filter.ts | 97 - src/agents/memory-search.test.ts | 258 -- .../minimax-vlm.normalizes-api-key.test.ts | 39 - src/agents/minimax.live.test.ts | 46 - src/agents/model-auth.test.ts | 535 --- src/agents/model-catalog.test.ts | 87 - src/agents/model-compat.test.ts | 44 - src/agents/model-fallback.test.ts | 544 --- src/agents/model-scan.test.ts | 87 - src/agents/model-scan.ts | 513 --- src/agents/model-selection.test.ts | 151 - ...s-github-copilot-provider-token-is.test.ts | 119 - ...fault-baseurl-token-exchange-fails.test.ts | 147 - ...ssing-provider-apikey-from-env-var.test.ts | 145 - ...ini-3-ids-preview-google-providers.test.ts | 97 - .../models-config.providers.ollama.test.ts | 56 - .../models-config.providers.qianfan.test.ts | 25 - ...s-writing-models-json-no-env-token.test.ts | 220 -- ...-github-copilot-profile-env-tokens.test.ts | 166 - src/agents/models.profiles.live.test.ts | 510 --- .../openai-responses.reasoning-replay.test.ts | 215 -- src/agents/openclaw-gateway-tool.test.ts | 165 - src/agents/openclaw-tools.agents.test.ts | 168 - src/agents/openclaw-tools.camera.test.ts | 135 - .../openclaw-tools.session-status.test.ts | 277 -- src/agents/openclaw-tools.sessions.test.ts | 673 ---- ...ws-cross-agent-spawning-configured.test.ts | 144 - ...ounces-agent-wait-lifecycle-events.test.ts | 149 - ...-spawn-applies-model-child-session.test.ts | 206 -- ...ons-spawn-applies-thinking-default.test.ts | 74 - ...n-normalizes-allowlisted-agent-ids.test.ts | 344 -- ...n-prefers-per-agent-subagent-model.test.ts | 168 - ...resolves-main-announce-target-from.test.ts | 195 -- src/agents/opencode-zen-models.test.ts | 101 - src/agents/opencode-zen-models.ts | 316 -- src/agents/pi-embedded-block-chunker.test.ts | 130 - ...helpers.buildbootstrapcontextfiles.test.ts | 53 - ...ded-helpers.classifyfailoverreason.test.ts | 41 - ...-helpers.downgradeopenai-reasoning.test.ts | 78 - ...d-helpers.formatassistanterrortext.test.ts | 71 - ...lpers.formatrawassistanterrorforui.test.ts | 25 - ...dded-helpers.image-dimension-error.test.ts | 15 - ...-embedded-helpers.image-size-error.test.ts | 13 - ...mbedded-helpers.isautherrormessage.test.ts | 35 - ...dded-helpers.isbillingerrormessage.test.ts | 30 - ...lpers.iscloudcodeassistformaterror.test.ts | 32 - ...d-helpers.iscompactionfailureerror.test.ts | 18 - ...ded-helpers.iscontextoverflowerror.test.ts | 57 - ...ded-helpers.isfailovererrormessage.test.ts | 25 - ...lpers.islikelycontextoverflowerror.test.ts | 34 - ...d-helpers.ismessagingtoolduplicate.test.ts | 61 - ...bedded-helpers.messaging-duplicate.test.ts | 82 - ...helpers.normalizetextforcomparison.test.ts | 28 - ...d-helpers.resolvebootstrapmaxchars.test.ts | 29 - ...ool-call-tool-result-ids-unchanged.test.ts | 104 - ...ssistant-text-blocks-but-preserves.test.ts | 120 - ...helpers.sanitizegoogleturnordering.test.ts | 31 - ...images-thought-signature-stripping.test.ts | 37 - ...mbedded-helpers.sanitizetoolcallid.test.ts | 43 - ...ded-helpers.sanitizeuserfacingtext.test.ts | 72 - ...ded-helpers.stripthoughtsignatures.test.ts | 67 - ...pi-embedded-helpers.validate-turns.test.ts | 342 -- ...i-embedded-runner-extraparams.live.test.ts | 64 - .../pi-embedded-runner-extraparams.test.ts | 94 - ...-runner.applygoogleturnorderingfix.test.ts | 158 - ...ed-runner.buildembeddedsandboxinfo.test.ts | 190 - ...-runner.createsystempromptoverride.test.ts | 110 - ...s-back-provider-default-per-dm-not.test.ts | 156 - ...-undefined-sessionkey-is-undefined.test.ts | 245 -- ...ed-runner.google-sanitize-thinking.test.ts | 358 -- src/agents/pi-embedded-runner.guard.test.ts | 37 - ...-embedded-runner.limithistoryturns.test.ts | 162 - ...dded-runner.resolvesessionagentids.test.ts | 143 - ...ded-pi-agent.auth-profile-rotation.test.ts | 558 --- ...ed-runner.sanitize-session-history.test.ts | 272 -- .../pi-embedded-runner.splitsdktools.test.ts | 149 - src/agents/pi-embedded-runner.test.ts | 538 --- src/agents/pi-embedded-runner/google.test.ts | 36 - src/agents/pi-embedded-runner/model.test.ts | 242 -- .../run.overflow-compaction.test.ts | 436 --- .../pi-embedded-runner/run/attempt.test.ts | 58 - .../pi-embedded-runner/run/images.test.ts | 232 -- .../pi-embedded-runner/run/payloads.test.ts | 247 -- .../tool-result-truncation.test.ts | 215 -- ...dded-subscribe.code-span-awareness.test.ts | 103 - .../pi-embedded-subscribe.reply-tags.test.ts | 152 - ...fore-tool-execution-start-preserve.test.ts | 126 - ...oes-not-append-text-end-content-is.test.ts | 133 - ...-onblockreplyflush-callback-is-not.test.ts | 47 - ...ot-duplicate-text-end-repeats-full.test.ts | 103 - ...-emit-duplicate-block-replies-text.test.ts | 175 - ...ts-block-replies-text-end-does-not.test.ts | 120 - ...soning-as-separate-message-enabled.test.ts | 93 - ...uppresses-output-without-start-tag.test.ts | 156 - ...vas-action-metadata-tool-summaries.test.ts | 109 - ...xts-final-answer-block-replies-are.test.ts | 128 - ...eeps-indented-fenced-blocks-intact.test.ts | 114 - ...enced-blocks-splitting-inside-them.test.ts | 110 - ...g-single-line-fenced-blocks-reopen.test.ts | 157 - ...s-soft-chunks-paragraph-preference.test.ts | 109 - ...session.subscribeembeddedpisession.test.ts | 320 -- ...age-end-block-replies-message-tool.test.ts | 156 - ...ompaction-retries-before-resolving.test.ts | 239 -- .../pi-embedded-subscribe.tools.test.ts | 38 - src/agents/pi-embedded-utils.test.ts | 561 --- .../compaction-safeguard.test.ts | 251 -- .../pi-extensions/compaction-safeguard.ts | 346 -- .../pi-extensions/context-pruning.test.ts | 525 --- src/agents/pi-extensions/context-pruning.ts | 19 - .../context-pruning/extension.ts | 41 - .../pi-extensions/context-pruning/pruner.ts | 346 -- src/agents/pi-settings.test.ts | 56 - src/agents/pi-tool-definition-adapter.test.ts | 48 - src/agents/pi-tools-agent-config.test.ts | 522 --- src/agents/pi-tools.before-tool-call.test.ts | 152 - ...aliases-schemas-without-dropping-b.test.ts | 133 - ...aliases-schemas-without-dropping-d.test.ts | 143 - ...aliases-schemas-without-dropping-f.test.ts | 123 - ...e-aliases-schemas-without-dropping.test.ts | 479 --- src/agents/pi-tools.policy.test.ts | 36 - src/agents/pi-tools.safe-bins.test.ts | 133 - .../pi-tools.whatsapp-login-gating.test.ts | 35 - src/agents/pi-tools.workspace-paths.test.ts | 214 -- src/agents/pty-dsr.test.ts | 14 - src/agents/pty-keys.test.ts | 40 - ...n-status-default-sandbox-allowlist.test.ts | 112 - ...nt-specific-docker-settings-beyond.test.ts | 222 -- ...d-use-agent-specific-workspaceroot.test.ts | 197 -- ...use-global-sandbox-config-no-agent.test.ts | 205 -- src/agents/sandbox-create-args.test.ts | 160 - src/agents/sandbox-explain.test.ts | 119 - src/agents/sandbox-merge.test.ts | 127 - src/agents/sandbox-skills.test.ts | 141 - .../sandbox.resolveSandboxContext.test.ts | 133 - src/agents/sandbox/tool-policy.test.ts | 21 - src/agents/session-file-repair.test.ts | 99 - src/agents/session-slug.test.ts | 26 - src/agents/session-tool-result-guard.test.ts | 272 -- ...ult-guard.tool-result-persist-hook.test.ts | 145 - src/agents/session-transcript-repair.test.ts | 245 -- src/agents/session-write-lock.test.ts | 161 - src/agents/sessions-spawn-threadid.test.ts | 99 - src/agents/shell-utils.test.ts | 81 - src/agents/skills-install.test.ts | 114 - src/agents/skills-install.ts | 571 --- src/agents/skills-status.test.ts | 42 - src/agents/skills-status.ts | 323 -- ...without-affecting-workspace-skills.test.ts | 58 - ...rs-workspace-skills-managed-skills.test.ts | 152 - ...erged-skills-into-target-workspace.test.ts | 140 - ...skills.buildworkspaceskillsnapshot.test.ts | 70 - .../skills.buildworkspaceskillstatus.test.ts | 141 - .../skills.loadworkspaceskillentries.test.ts | 120 - .../skills.resolveskillspromptforrun.test.ts | 54 - ...skills.summarize-skill-description.test.ts | 17 - src/agents/skills.test.ts | 299 -- src/agents/skills/bundled-context.ts | 34 - src/agents/skills/bundled-dir.test.ts | 54 - src/agents/skills/frontmatter.test.ts | 19 - src/agents/skills/refresh.test.ts | 55 - src/agents/subagent-announce.format.test.ts | 570 --- .../subagent-registry.persistence.test.ts | 282 -- src/agents/system-prompt-params.test.ts | 104 - src/agents/system-prompt.test.ts | 428 --- src/agents/test-helpers/fast-coding-tools.ts | 22 - src/agents/test-helpers/fast-core-tools.ts | 30 - src/agents/timeout.test.ts | 14 - src/agents/tool-call-id.test.ts | 267 -- src/agents/tool-display.test.ts | 55 - src/agents/tool-images.test.ts | 112 - src/agents/tool-policy.conformance.test.ts | 13 - src/agents/tool-policy.conformance.ts | 17 - .../tool-policy.plugin-only-allowlist.test.ts | 56 - src/agents/tool-policy.test.ts | 29 - src/agents/tools/browser-tool.test.ts | 291 -- src/agents/tools/common.test.ts | 91 - src/agents/tools/cron-tool.test.ts | 446 --- .../tools/discord-actions-presence.test.ts | 210 -- src/agents/tools/discord-actions.test.ts | 525 --- src/agents/tools/gateway.test.ts | 34 - src/agents/tools/image-tool.test.ts | 441 --- .../tools/memory-tool.citations.test.ts | 123 - ...mory-tool.does-not-crash-on-errors.test.ts | 65 - src/agents/tools/message-tool.test.ts | 218 -- .../tools/sessions-announce-target.test.ts | 104 - src/agents/tools/sessions-helpers.test.ts | 43 - .../tools/sessions-list-tool.gating.test.ts | 42 - .../tools/sessions-send-tool.gating.test.ts | 42 - src/agents/tools/slack-actions.test.ts | 435 --- src/agents/tools/telegram-actions.test.ts | 517 --- ...ch.firecrawl-api-key-normalization.test.ts | 62 - src/agents/tools/web-fetch.ssrf.test.ts | 164 - src/agents/tools/web-search.test.ts | 165 - .../tools/web-tools.enabled-defaults.test.ts | 507 --- src/agents/tools/web-tools.fetch.test.ts | 477 --- .../tools/web-tools.readability.test.ts | 48 - src/agents/tools/whatsapp-actions.test.ts | 110 - src/agents/usage.test.ts | 77 - src/agents/workspace-run.test.ts | 141 - src/agents/workspace-templates.test.ts | 32 - src/agents/workspace.defaults.test.ts | 21 - src/agents/workspace.test.ts | 61 - src/agents/zai.live.test.ts | 32 - src/auto-reply/chunk.test.ts | 397 --- src/auto-reply/command-control.test.ts | 304 -- src/auto-reply/commands-registry.test.ts | 326 -- src/auto-reply/envelope.test.ts | 173 - src/auto-reply/heartbeat.test.ts | 183 - src/auto-reply/inbound.test.ts | 400 --- src/auto-reply/media-note.test.ts | 109 - src/auto-reply/model.test.ts | 153 - src/auto-reply/reply.block-streaming.test.ts | 310 -- ...ts-thinking-xhigh-codex-models.e2e.test.ts | 330 -- ...ixed-messages-acks-immediately.e2e.test.ts | 276 -- ...ow-reasoning-capable-models-no.e2e.test.ts | 270 -- ...nline-model-uses-default-model.e2e.test.ts | 194 -- ...-allowlisted-models-model-list.e2e.test.ts | 302 -- ...s-fuzzy-selection-is-ambiguous.e2e.test.ts | 255 -- ...gent-allowlist-addition-global.e2e.test.ts | 268 -- ...-alongside-directive-only-acks.e2e.test.ts | 265 -- ...nt-elevated-level-as-off-after.e2e.test.ts | 244 -- ...t-verbose-level-verbose-has-no.e2e.test.ts | 283 -- ...-model-matches-model-directive.e2e.test.ts | 286 -- ...rbose-during-flight-run-toggle.e2e.test.ts | 253 -- src/auto-reply/reply.directive.parse.test.ts | 224 -- src/auto-reply/reply.heartbeat-typing.test.ts | 109 - src/auto-reply/reply.media-note.test.ts | 89 - src/auto-reply/reply.queue.test.ts | 146 - src/auto-reply/reply.raw-body.test.ts | 242 -- ...y.triggers.group-intro-prompts.e2e.test.ts | 195 -- ...tivation-from-allowfrom-groups.e2e.test.ts | 210 -- ...ed-sender-toggle-elevated-mode.e2e.test.ts | 229 -- ...ted-off-groups-without-mention.e2e.test.ts | 236 -- ...summary-current-model-provider.e2e.test.ts | 356 -- ...ommands-strips-it-before-agent.e2e.test.ts | 225 -- ...ed-directive-unapproved-sender.e2e.test.ts | 231 -- ...or-cause-embedded-agent-throws.e2e.test.ts | 227 -- ...ne-status-unauthorized-senders.e2e.test.ts | 235 -- ...uth-profile-key-snippet-status.e2e.test.ts | 231 -- ....runs-compact-as-gated-command.e2e.test.ts | 214 -- ...uns-greeting-prompt-bare-reset.e2e.test.ts | 201 -- ...lt-model-status-not-configured.e2e.test.ts | 206 -- ...-model-picker-grouped-by-model.e2e.test.ts | 271 -- ...ia-into-sandbox-workspace.security.test.ts | 79 - ...bound-media-into-sandbox-workspace.test.ts | 81 - ...ets-active-session-native-stop.e2e.test.ts | 285 -- src/auto-reply/reply/abort.test.ts | 207 -- .../reply/agent-runner-utils.test.ts | 106 - ...gent-runner.authprofileid-fallback.test.ts | 149 - .../agent-runner.block-streaming.test.ts | 128 - .../reply/agent-runner.claude-cli.test.ts | 139 - ...emini-sessions-deletes-transcripts.test.ts | 243 -- ...ction-failure-by-resetting-session.test.ts | 284 -- ...tbeat.signals-typing-block-replies.test.ts | 215 -- ...artbeat.signals-typing-normal-runs.test.ts | 234 -- ...eplies-even-if-session-reset-fails.test.ts | 186 - ...n-count-flush-compaction-completes.test.ts | 187 - ...lush-turn-updates-session-metadata.test.ts | 248 -- ...h.skips-memory-flush-cli-providers.test.ts | 188 - ...ry-flush-sandbox-workspace-is-read.test.ts | 251 -- ...nfigured-prompts-memory-flush-runs.test.ts | 258 -- .../agent-runner.messaging-tools.test.ts | 183 - .../reply/agent-runner.reasoning-tags.test.ts | 163 - ...agent-runner.response-usage-footer.test.ts | 159 - src/auto-reply/reply/audio-tags.ts | 1 - src/auto-reply/reply/commands-approve.test.ts | 153 - src/auto-reply/reply/commands-info.test.ts | 13 - src/auto-reply/reply/commands-parsing.test.ts | 124 - src/auto-reply/reply/commands-policy.test.ts | 245 -- src/auto-reply/reply/commands-ptt.ts | 208 -- src/auto-reply/reply/commands.test.ts | 434 --- .../reply/directive-handling.model.test.ts | 199 -- .../reply/dispatch-from-config.test.ts | 443 --- src/auto-reply/reply/followup-runner.test.ts | 240 -- src/auto-reply/reply/formatting.test.ts | 259 -- src/auto-reply/reply/history.test.ts | 152 - src/auto-reply/reply/line-directives.test.ts | 377 -- src/auto-reply/reply/memory-flush.test.ts | 122 - src/auto-reply/reply/mentions.test.ts | 58 - .../model-selection.inherit-parent.test.ts | 156 - src/auto-reply/reply/normalize-reply.test.ts | 48 - .../reply/queue.collect-routing.test.ts | 286 -- src/auto-reply/reply/reply-routing.test.ts | 247 -- .../reply/response-prefix-template.test.ts | 180 - src/auto-reply/reply/route-reply.test.ts | 452 --- src/auto-reply/reply/session-resets.test.ts | 478 --- src/auto-reply/reply/session.test.ts | 475 --- src/auto-reply/reply/subagents-utils.test.ts | 61 - src/auto-reply/reply/test-ctx.ts | 17 - src/auto-reply/reply/test-helpers.ts | 18 - src/auto-reply/reply/typing.test.ts | 283 -- src/auto-reply/skill-commands.test.ts | 99 - src/auto-reply/status.test.ts | 483 --- src/auto-reply/thinking.test.ts | 89 - src/auto-reply/tool-meta.test.ts | 61 - src/browser/cdp.helpers.test.ts | 26 - src/browser/cdp.test.ts | 189 - src/browser/chrome.default-browser.test.ts | 84 - src/browser/chrome.test.ts | 259 -- src/browser/client.test.ts | 284 -- src/browser/config.test.ts | 152 - src/browser/extension-relay.test.ts | 369 -- src/browser/profiles-service.test.ts | 147 - src/browser/profiles.test.ts | 242 -- src/browser/pw-ai.test.ts | 188 - src/browser/pw-role-snapshot.test.ts | 90 - .../pw-session.browserless.live.test.ts | 52 - ...ge-for-targetid.extension-fallback.test.ts | 54 - src/browser/pw-session.test.ts | 141 - ...re.clamps-timeoutms-scrollintoview.test.ts | 148 - ...ls-core.last-file-chooser-arm-wins.test.ts | 173 - ...-core.screenshots-element-selector.test.ts | 164 - ...-core.waits-next-download-saves-it.test.ts | 192 - src/browser/routes/utils.test.ts | 21 - src/browser/screenshot.test.ts | 47 - ...-tab-available.prefers-last-target.test.ts | 200 -- .../server-context.remote-tab-ops.test.ts | 288 -- ...-contract-form-layout-act-commands.test.ts | 480 --- ....agent-contract-snapshot-endpoints.test.ts | 422 --- ...overs-additional-endpoint-branches.test.ts | 511 --- ...s-open-profile-unknown-returns-404.test.ts | 458 --- ...es-status-starts-browser-requested.test.ts | 329 -- ...fault-maxchars-explicitly-set-zero.test.ts | 463 --- src/browser/target-id.test.ts | 36 - src/canvas-host/a2ui.ts | 218 -- src/canvas-host/a2ui/index.html | 307 -- src/canvas-host/server.state-dir.test.ts | 48 - src/canvas-host/server.test.ts | 249 -- src/canvas-host/server.ts | 515 --- src/channel-web.barrel.test.ts | 14 - src/channels/ack-reactions.test.ts | 269 -- src/channels/channel-config.test.ts | 162 - src/channels/chat-type.test.ts | 27 - src/channels/command-gating.test.ts | 97 - src/channels/conversation-label.test.ts | 38 - src/channels/location.test.ts | 57 - src/channels/mention-gating.test.ts | 69 - src/channels/plugins/actions/discord.test.ts | 155 - .../actions/discord/handle-action.test.ts | 35 - src/channels/plugins/actions/signal.test.ts | 150 - src/channels/plugins/actions/telegram.test.ts | 143 - src/channels/plugins/catalog.test.ts | 51 - src/channels/plugins/catalog.ts | 307 -- src/channels/plugins/config-helpers.ts | 113 - src/channels/plugins/config-schema.ts | 11 - src/channels/plugins/config-writes.test.ts | 42 - src/channels/plugins/directory-config.test.ts | 146 - src/channels/plugins/index.test.ts | 46 - src/channels/plugins/load.test.ts | 71 - src/channels/plugins/load.ts | 29 - src/channels/plugins/normalize/discord.ts | 24 - .../plugins/normalize/imessage.test.ts | 14 - src/channels/plugins/normalize/imessage.ts | 49 - src/channels/plugins/normalize/signal.test.ts | 31 - src/channels/plugins/normalize/signal.ts | 60 - src/channels/plugins/normalize/telegram.ts | 39 - src/channels/plugins/normalize/whatsapp.ts | 23 - .../plugins/onboarding/channel-access.ts | 100 - src/channels/plugins/onboarding/discord.ts | 494 --- src/channels/plugins/onboarding/helpers.ts | 45 - src/channels/plugins/onboarding/imessage.ts | 273 -- src/channels/plugins/onboarding/signal.ts | 321 -- src/channels/plugins/onboarding/slack.ts | 544 --- src/channels/plugins/onboarding/telegram.ts | 356 -- src/channels/plugins/onboarding/whatsapp.ts | 348 -- src/channels/plugins/outbound/discord.ts | 32 - src/channels/plugins/outbound/imessage.ts | 42 - src/channels/plugins/outbound/signal.ts | 40 - src/channels/plugins/outbound/slack.ts | 29 - .../plugins/outbound/telegram.test.ts | 80 - src/channels/plugins/outbound/telegram.ts | 105 - src/channels/plugins/outbound/whatsapp.ts | 86 - src/channels/plugins/pairing-message.ts | 2 - src/channels/plugins/setup-helpers.ts | 121 - src/channels/plugins/slack.actions.test.ts | 33 - src/channels/plugins/slack.actions.ts | 222 -- .../plugins/status-issues/bluebubbles.ts | 108 - src/channels/plugins/status-issues/discord.ts | 163 - src/channels/plugins/status-issues/shared.ts | 32 - .../plugins/status-issues/telegram.ts | 142 - .../plugins/status-issues/whatsapp.ts | 73 - src/channels/plugins/status.ts | 36 - src/channels/registry.test.ts | 39 - src/channels/sender-identity.test.ts | 30 - src/channels/sender-identity.ts | 41 - src/channels/targets.test.ts | 41 - src/channels/typing.test.ts | 41 - src/channels/web/index.test.ts | 18 - src/cli/acp-cli.ts | 66 - src/cli/argv.test.ts | 157 - src/cli/argv.ts | 169 - src/cli/banner.ts | 132 - src/cli/browser-cli-actions-input.ts | 1 - .../register.element.ts | 238 -- .../register.files-downloads.ts | 184 - .../register.form-wait-eval.ts | 131 - .../register.navigation.ts | 85 - src/cli/browser-cli-actions-input/register.ts | 16 - src/cli/browser-cli-actions-input/shared.ts | 88 - src/cli/browser-cli-actions-observe.ts | 116 - src/cli/browser-cli-debug.ts | 208 -- src/cli/browser-cli-examples.ts | 34 - src/cli/browser-cli-extension.test.ts | 116 - src/cli/browser-cli-extension.ts | 139 - src/cli/browser-cli-inspect.test.ts | 111 - src/cli/browser-cli-inspect.ts | 160 - src/cli/browser-cli-manage.ts | 521 --- src/cli/browser-cli-shared.ts | 62 - src/cli/browser-cli-state.cookies-storage.ts | 214 -- src/cli/browser-cli-state.ts | 342 -- src/cli/browser-cli.test.ts | 79 - src/cli/browser-cli.ts | 55 - src/cli/channel-auth.ts | 63 - src/cli/channel-options.ts | 33 - src/cli/channels-cli.ts | 247 -- src/cli/command-options.ts | 8 - src/cli/completion-cli.ts | 648 ---- src/cli/config-cli.ts | 344 -- src/cli/cron-cli.test.ts | 467 --- src/cli/cron-cli.ts | 1 - src/cli/cron-cli/register.cron-add.ts | 250 -- src/cli/cron-cli/register.cron-edit.ts | 213 -- src/cli/cron-cli/register.cron-simple.ts | 109 - src/cli/cron-cli/register.ts | 27 - src/cli/cron-cli/shared.test.ts | 63 - src/cli/cron-cli/shared.ts | 228 -- src/cli/daemon-cli.coverage.test.ts | 283 -- src/cli/daemon-cli.ts | 14 - src/cli/daemon-cli/install.ts | 136 - src/cli/daemon-cli/lifecycle.ts | 319 -- src/cli/daemon-cli/probe.ts | 39 - src/cli/daemon-cli/register.ts | 89 - src/cli/daemon-cli/response.ts | 42 - src/cli/daemon-cli/runners.ts | 8 - src/cli/daemon-cli/shared.ts | 219 -- src/cli/daemon-cli/status.gather.ts | 298 -- src/cli/daemon-cli/status.print.ts | 321 -- src/cli/daemon-cli/status.ts | 20 - src/cli/daemon-cli/types.ts | 27 - src/cli/devices-cli.ts | 248 -- src/cli/directory-cli.ts | 265 -- src/cli/dns-cli.test.ts | 14 - src/cli/dns-cli.ts | 262 -- src/cli/docs-cli.ts | 23 - src/cli/exec-approvals-cli.test.ts | 142 - src/cli/exec-approvals-cli.ts | 455 --- src/cli/gateway-cli.coverage.test.ts | 358 -- src/cli/gateway-cli.ts | 1 - src/cli/gateway-cli/call.ts | 43 - src/cli/gateway-cli/dev.ts | 130 - src/cli/gateway-cli/discover.ts | 108 - src/cli/gateway-cli/register.ts | 359 -- src/cli/gateway-cli/run-loop.ts | 104 - src/cli/gateway-cli/run.ts | 355 -- src/cli/gateway-cli/shared.ts | 126 - src/cli/gateway-rpc.ts | 47 - src/cli/gateway.sigterm.test.ts | 160 - src/cli/help-format.ts | 27 - src/cli/hooks-cli.test.ts | 101 - src/cli/hooks-cli.ts | 861 ----- src/cli/logs-cli.test.ts | 85 - src/cli/logs-cli.ts | 311 -- src/cli/memory-cli.test.ts | 367 -- src/cli/models-cli.test.ts | 96 - src/cli/models-cli.ts | 443 --- src/cli/node-cli.ts | 1 - src/cli/node-cli/daemon.ts | 608 ---- src/cli/node-cli/register.ts | 101 - src/cli/nodes-camera.test.ts | 64 - src/cli/nodes-canvas.test.ts | 17 - src/cli/nodes-cli.coverage.test.ts | 254 -- src/cli/nodes-cli.ts | 1 - src/cli/nodes-cli/a2ui-jsonl.ts | 89 - src/cli/nodes-cli/cli-utils.ts | 30 - src/cli/nodes-cli/format.ts | 28 - src/cli/nodes-cli/register.camera.ts | 250 -- src/cli/nodes-cli/register.canvas.ts | 261 -- src/cli/nodes-cli/register.invoke.ts | 383 -- src/cli/nodes-cli/register.location.ts | 81 - src/cli/nodes-cli/register.notify.ts | 57 - src/cli/nodes-cli/register.pairing.ts | 115 - src/cli/nodes-cli/register.screen.ts | 86 - src/cli/nodes-cli/register.status.ts | 423 --- src/cli/nodes-cli/register.ts | 31 - src/cli/nodes-cli/rpc.ts | 113 - src/cli/nodes-cli/types.ts | 96 - src/cli/nodes-screen.test.ts | 37 - src/cli/outbound-send-deps.ts | 22 - src/cli/pairing-cli.test.ts | 173 - src/cli/pairing-cli.ts | 150 - src/cli/parse-bytes.test.ts | 25 - src/cli/parse-duration.test.ts | 28 - src/cli/plugin-registry.ts | 28 - src/cli/plugins-cli.ts | 574 --- src/cli/ports.ts | 136 - src/cli/profile.test.ts | 163 - src/cli/profile.ts | 127 - src/cli/program.force.test.ts | 148 - src/cli/program.nodes-basic.test.ts | 346 -- src/cli/program.nodes-media.test.ts | 464 --- src/cli/program.smoke.test.ts | 249 -- src/cli/program.ts | 2 - src/cli/program/build-program.ts | 18 - src/cli/program/command-registry.ts | 188 - src/cli/program/config-guard.ts | 82 - src/cli/program/context.ts | 19 - src/cli/program/help.ts | 98 - src/cli/program/helpers.ts | 32 - src/cli/program/message/helpers.ts | 73 - src/cli/program/message/register.broadcast.ts | 16 - .../program/message/register.discord-admin.ts | 157 - .../program/message/register.emoji-sticker.ts | 57 - .../message/register.permissions-search.ts | 30 - src/cli/program/message/register.pins.ts | 35 - src/cli/program/message/register.poll.ts | 23 - src/cli/program/message/register.reactions.ts | 33 - .../message/register.read-edit-delete.ts | 50 - src/cli/program/message/register.send.ts | 31 - src/cli/program/message/register.thread.ts | 55 - src/cli/program/preaction.ts | 57 - src/cli/program/register.agent.ts | 213 -- src/cli/program/register.configure.ts | 51 - src/cli/program/register.maintenance.ts | 112 - src/cli/program/register.message.ts | 68 - src/cli/program/register.onboard.ts | 175 - src/cli/program/register.setup.ts | 53 - .../register.status-health-sessions.ts | 146 - src/cli/program/register.subclis.test.ts | 97 - src/cli/program/register.subclis.ts | 310 -- src/cli/progress.test.ts | 46 - src/cli/prompt.test.ts | 48 - src/cli/prompt.ts | 21 - src/cli/route.ts | 40 - src/cli/run-main.test.ts | 36 - src/cli/run-main.ts | 131 - src/cli/sandbox-cli.ts | 174 - src/cli/security-cli.ts | 158 - src/cli/skills-cli.test.ts | 276 -- src/cli/skills-cli.ts | 415 --- src/cli/system-cli.ts | 133 - src/cli/tagline.ts | 270 -- src/cli/update-cli.test.ts | 692 ---- src/cli/update-cli.ts | 1355 ------- src/cli/wait.test.ts | 12 - src/cli/webhooks-cli.ts | 181 - src/commands/agent-via-gateway.test.ts | 125 - src/commands/agent-via-gateway.ts | 191 - src/commands/agent.delivery.test.ts | 300 -- src/commands/agent.test.ts | 419 --- src/commands/agent.ts | 528 --- src/commands/agent/delivery.ts | 198 -- src/commands/agent/run-context.ts | 55 - src/commands/agent/session-store.ts | 83 - src/commands/agent/session.ts | 140 - src/commands/agents.add.test.ts | 67 - src/commands/agents.bindings.ts | 162 - src/commands/agents.command-shared.ts | 23 - src/commands/agents.commands.add.ts | 367 -- src/commands/agents.commands.delete.ts | 101 - src/commands/agents.commands.identity.ts | 233 -- src/commands/agents.commands.list.ts | 134 - src/commands/agents.config.ts | 216 -- src/commands/agents.identity.test.ts | 259 -- src/commands/agents.providers.ts | 188 - src/commands/agents.test.ts | 140 - src/commands/agents.ts | 6 - src/commands/auth-choice-options.test.ts | 137 - src/commands/auth-choice-options.ts | 286 -- src/commands/auth-choice-prompt.ts | 56 - src/commands/auth-choice.api-key.ts | 48 - src/commands/auth-choice.apply.anthropic.ts | 101 - .../auth-choice.apply.api-providers.ts | 927 ----- .../auth-choice.apply.copilot-proxy.ts | 14 - .../auth-choice.apply.github-copilot.ts | 64 - .../auth-choice.apply.google-antigravity.ts | 14 - .../auth-choice.apply.google-gemini-cli.ts | 14 - src/commands/auth-choice.apply.minimax.ts | 116 - src/commands/auth-choice.apply.oauth.ts | 98 - src/commands/auth-choice.apply.openai.ts | 193 - .../auth-choice.apply.plugin-provider.ts | 198 -- src/commands/auth-choice.apply.qwen-portal.ts | 14 - src/commands/auth-choice.apply.ts | 65 - src/commands/auth-choice.apply.xai.ts | 86 - .../auth-choice.default-model.test.ts | 77 - src/commands/auth-choice.default-model.ts | 30 - src/commands/auth-choice.model-check.ts | 80 - src/commands/auth-choice.moonshot.test.ts | 154 - .../auth-choice.preferred-provider.ts | 42 - src/commands/auth-choice.test.ts | 828 ----- src/commands/auth-choice.ts | 3 - src/commands/auth-token.ts | 38 - ....adds-non-default-telegram-account.test.ts | 490 --- ...time-errors-channels-status-output.test.ts | 119 - src/commands/channels.ts | 14 - src/commands/channels/add-mutators.ts | 96 - src/commands/channels/add.ts | 277 -- src/commands/channels/capabilities.test.ts | 134 - src/commands/channels/capabilities.ts | 556 --- src/commands/channels/list.ts | 183 - src/commands/channels/logs.ts | 113 - src/commands/channels/remove.ts | 142 - src/commands/channels/resolve.ts | 149 - src/commands/channels/shared.ts | 58 - src/commands/channels/status.ts | 289 -- src/commands/chutes-oauth.test.ts | 183 - src/commands/chutes-oauth.ts | 197 -- src/commands/cleanup-utils.ts | 92 - src/commands/configure.channels.ts | 82 - src/commands/configure.commands.ts | 15 - src/commands/configure.daemon.ts | 136 - src/commands/configure.gateway-auth.test.ts | 46 - src/commands/configure.gateway-auth.ts | 94 - src/commands/configure.gateway.test.ts | 73 - src/commands/configure.gateway.ts | 224 -- src/commands/configure.shared.ts | 76 - src/commands/configure.ts | 4 - src/commands/configure.wizard.test.ts | 136 - src/commands/configure.wizard.ts | 595 ---- src/commands/daemon-install-helpers.test.ts | 241 -- src/commands/daemon-install-helpers.ts | 83 - src/commands/dashboard.test.ts | 120 - src/commands/dashboard.ts | 67 - src/commands/docs.ts | 195 -- ...octor-auth.deprecated-cli-profiles.test.ts | 109 - src/commands/doctor-auth.ts | 334 -- src/commands/doctor-completion.ts | 179 - src/commands/doctor-config-flow.test.ts | 67 - src/commands/doctor-config-flow.ts | 305 -- src/commands/doctor-format.ts | 112 - src/commands/doctor-gateway-daemon-flow.ts | 260 -- src/commands/doctor-gateway-health.ts | 58 - src/commands/doctor-gateway-services.ts | 283 -- src/commands/doctor-install.ts | 40 - src/commands/doctor-legacy-config.test.ts | 114 - src/commands/doctor-legacy-config.ts | 47 - ...form-notes.launchctl-env-overrides.test.ts | 59 - src/commands/doctor-platform-notes.ts | 147 - src/commands/doctor-prompter.ts | 113 - src/commands/doctor-sandbox.ts | 288 -- src/commands/doctor-security.test.ts | 76 - src/commands/doctor-security.ts | 185 - src/commands/doctor-state-integrity.ts | 396 --- src/commands/doctor-state-migrations.test.ts | 508 --- src/commands/doctor-state-migrations.ts | 12 - src/commands/doctor-ui.ts | 154 - src/commands/doctor-update.ts | 88 - src/commands/doctor-workspace-status.ts | 68 - src/commands/doctor-workspace.test.ts | 12 - src/commands/doctor-workspace.ts | 60 - ...-back-legacy-sandbox-image-missing.test.ts | 387 -- ...owfrom-channels-whatsapp-allowfrom.test.ts | 454 --- ...-state-migrations-yes-mode-without.test.ts | 460 --- src/commands/doctor.ts | 313 -- ...agent-sandbox-docker-browser-prune.test.ts | 432 --- ...r.warns-state-directory-is-missing.test.ts | 432 --- src/commands/gateway-status.test.ts | 351 -- src/commands/gateway-status.ts | 408 --- src/commands/gateway-status/helpers.ts | 305 -- .../google-gemini-model-default.test.ts | 37 - src/commands/google-gemini-model-default.ts | 44 - src/commands/health-format.test.ts | 34 - src/commands/health-format.ts | 49 - src/commands/health.command.coverage.test.ts | 132 - src/commands/health.snapshot.test.ts | 270 -- src/commands/health.test.ts | 175 - src/commands/message-format.ts | 422 --- src/commands/message.test.ts | 284 -- src/commands/message.ts | 67 - src/commands/model-allowlist.ts | 41 - src/commands/model-picker.test.ts | 213 -- src/commands/model-picker.ts | 558 --- src/commands/models.list.test.ts | 283 -- src/commands/models.set.test.ts | 100 - src/commands/models.ts | 33 - src/commands/models/aliases.ts | 118 - src/commands/models/auth-order.ts | 141 - src/commands/models/auth.ts | 447 --- src/commands/models/fallbacks.ts | 164 - src/commands/models/image-fallbacks.ts | 168 - src/commands/models/list.auth-overview.ts | 116 - src/commands/models/list.configured.ts | 107 - src/commands/models/list.format.ts | 68 - src/commands/models/list.list-command.ts | 129 - src/commands/models/list.probe.ts | 496 --- src/commands/models/list.registry.ts | 111 - src/commands/models/list.status-command.ts | 691 ---- src/commands/models/list.status.test.ts | 249 -- src/commands/models/list.table.ts | 91 - src/commands/models/list.ts | 2 - src/commands/models/list.types.ts | 34 - src/commands/models/scan.ts | 382 -- src/commands/models/set-image.ts | 34 - src/commands/models/set.ts | 34 - src/commands/models/shared.ts | 131 - src/commands/node-daemon-install-helpers.ts | 67 - src/commands/node-daemon-runtime.ts | 16 - src/commands/oauth-env.ts | 22 - src/commands/onboard-auth.config-core.ts | 875 ----- src/commands/onboard-auth.config-minimax.ts | 215 -- src/commands/onboard-auth.config-opencode.ts | 44 - src/commands/onboard-auth.credentials.ts | 243 -- src/commands/onboard-auth.models.ts | 122 - src/commands/onboard-auth.test.ts | 530 --- src/commands/onboard-auth.ts | 90 - src/commands/onboard-channels.test.ts | 208 -- src/commands/onboard-channels.ts | 675 ---- src/commands/onboard-helpers.test.ts | 124 - src/commands/onboard-hooks.test.ts | 245 -- src/commands/onboard-hooks.ts | 85 - src/commands/onboard-interactive.ts | 25 - .../onboard-non-interactive.gateway.test.ts | 294 -- ...oard-non-interactive.provider-auth.test.ts | 327 -- .../onboard-non-interactive.token.test.ts | 93 - src/commands/onboard-non-interactive.ts | 37 - .../onboard-non-interactive.xai.test.ts | 91 - .../onboard-non-interactive/api-keys.ts | 78 - src/commands/onboard-non-interactive/local.ts | 147 - .../local/auth-choice-inference.ts | 69 - .../local/auth-choice.ts | 585 ---- .../local/daemon-install.ts | 59 - .../local/gateway-config.ts | 114 - .../onboard-non-interactive/local/output.ts | 40 - .../local/skills-config.ts | 31 - .../local/workspace.ts | 16 - .../onboard-non-interactive/remote.ts | 53 - src/commands/onboard-remote.ts | 155 - src/commands/onboard-skills.test.ts | 177 - src/commands/onboard-skills.ts | 222 -- src/commands/onboard.ts | 82 - .../onboarding/__tests__/test-utils.ts | 24 - .../onboarding/plugin-install.test.ts | 185 - src/commands/onboarding/plugin-install.ts | 221 -- src/commands/onboarding/registry.ts | 26 - src/commands/onboarding/types.ts | 1 - .../openai-codex-model-default.test.ts | 47 - src/commands/openai-codex-model-default.ts | 58 - src/commands/openai-model-default.test.ts | 40 - src/commands/openai-model-default.ts | 47 - .../opencode-zen-model-default.test.ts | 65 - src/commands/opencode-zen-model-default.ts | 52 - src/commands/reset.ts | 168 - src/commands/sandbox-display.ts | 136 - src/commands/sandbox-explain.test.ts | 46 - src/commands/sandbox-explain.ts | 337 -- src/commands/sandbox-formatters.test.ts | 154 - src/commands/sandbox-formatters.ts | 37 - src/commands/sandbox.test.ts | 327 -- src/commands/sandbox.ts | 200 -- src/commands/sessions.test.ts | 106 - src/commands/sessions.ts | 267 -- src/commands/setup.ts | 75 - src/commands/signal-install.ts | 182 - src/commands/status-all.ts | 464 --- src/commands/status-all/agents.ts | 72 - src/commands/status-all/channels.ts | 497 --- src/commands/status-all/diagnosis.ts | 247 -- src/commands/status-all/format.ts | 36 - src/commands/status-all/gateway.ts | 203 -- src/commands/status-all/report-lines.ts | 196 -- src/commands/status.agent-local.ts | 88 - src/commands/status.command.ts | 643 ---- src/commands/status.daemon.ts | 43 - src/commands/status.format.ts | 59 - src/commands/status.gateway-probe.ts | 49 - src/commands/status.link-channel.ts | 55 - src/commands/status.scan.ts | 203 -- src/commands/status.summary.ts | 205 -- src/commands/status.test.ts | 480 --- src/commands/status.ts | 3 - src/commands/status.types.ts | 58 - src/commands/status.update.ts | 138 - src/commands/systemd-linger.ts | 121 - src/commands/uninstall.ts | 204 -- src/config/agent-dirs.test.ts | 47 - src/config/channel-capabilities.test.ts | 178 - src/config/commands.test.ts | 48 - src/config/config-paths.test.ts | 31 - .../config.agent-concurrency-defaults.test.ts | 62 - src/config/config.backup-rotation.test.ts | 37 - src/config/config.broadcast.test.ts | 36 - src/config/config.compaction-settings.test.ts | 79 - src/config/config.discord.test.ts | 72 - src/config/config.env-vars.test.ts | 125 - .../config.gateway-remote-transport.test.ts | 33 - src/config/config.identity-avatar.test.ts | 52 - src/config/config.identity-defaults.test.ts | 352 -- ...etection.accepts-imessage-dmpolicy.test.ts | 409 --- ...etection.rejects-routing-allowfrom.test.ts | 441 --- src/config/config.msteams.test.ts | 40 - ...ig.multi-agent-agentdir-validation.test.ts | 57 - .../config.nix-integration-u3-u5-u9.test.ts | 287 -- src/config/config.plugin-validation.test.ts | 190 - ...preservation-on-validation-failure.test.ts | 38 - src/config/config.pruning-defaults.test.ts | 125 - src/config/config.sandbox-docker.test.ts | 57 - .../config.skills-entries-config.test.ts | 47 - .../config.talk-api-key-fallback.test.ts | 51 - src/config/config.talk-voicealiases.test.ts | 30 - .../config.telegram-custom-commands.test.ts | 46 - src/config/config.tools-alsoAllow.test.ts | 52 - src/config/config.web-search-provider.test.ts | 24 - src/config/env-substitution.test.ts | 289 -- src/config/includes.test.ts | 361 -- src/config/io.compat.test.ts | 73 - src/config/logging.ts | 18 - src/config/merge-config.ts | 38 - src/config/merge-patch.ts | 26 - src/config/model-alias-defaults.test.ts | 102 - src/config/normalize-paths.test.ts | 67 - src/config/paths.test.ts | 198 -- src/config/plugin-auto-enable.test.ts | 142 - src/config/plugin-auto-enable.ts | 452 --- src/config/redact-snapshot.test.ts | 335 -- src/config/redact-snapshot.ts | 168 - src/config/runtime-overrides.test.ts | 51 - src/config/schema.test.ts | 104 - src/config/schema.ts | 1114 ------ src/config/sessions.cache.test.ts | 213 -- src/config/sessions.test.ts | 500 --- src/config/sessions/metadata.test.ts | 22 - src/config/sessions/paths.test.ts | 22 - src/config/sessions/reset.test.ts | 72 - src/config/sessions/store.pruning.test.ts | 562 --- src/config/sessions/transcript.test.ts | 114 - src/config/slack-http-config.test.ts | 64 - src/config/slack-token-validation.test.ts | 36 - src/config/telegram-webhook-secret.test.ts | 64 - src/config/test-helpers.ts | 37 - src/config/ui-seam-color.test.ts | 19 - src/cron/cron-protocol-conformance.test.ts | 79 - src/cron/delivery.test.ts | 45 - ...onse-has-heartbeat-ok-but-includes.test.ts | 198 -- ...p-recipient-besteffortdeliver-true.test.ts | 405 --- src/cron/isolated-agent.ts | 1 - ....uses-last-non-empty-agent-text-as.test.ts | 665 ---- src/cron/isolated-agent/delivery-target.ts | 107 - src/cron/isolated-agent/helpers.ts | 82 - src/cron/isolated-agent/run.ts | 596 ---- src/cron/isolated-agent/session.ts | 36 - src/cron/normalize.test.ts | 295 -- src/cron/run-log.test.ts | 100 - src/cron/run-log.ts | 121 - src/cron/schedule.test.ts | 70 - src/cron/service.delivery-plan.test.ts | 92 - src/cron/service.every-jobs-fire.test.ts | 225 -- src/cron/service.issue-regressions.test.ts | 346 -- src/cron/service.jobs.test.ts | 103 - .../service.prevents-duplicate-timers.test.ts | 87 - src/cron/service.read-ops-nonblocking.test.ts | 104 - src/cron/service.restart-catchup.test.ts | 165 - ...runs-one-shot-main-job-disables-it.test.ts | 528 --- ...s-main-jobs-empty-systemevent-text.test.ts | 167 - src/cron/service.store-migration.test.ts | 124 - src/cron/service.store.migration.test.ts | 146 - src/cron/session-reaper.test.ts | 203 -- src/cron/store.test.ts | 46 - src/cron/validate-timestamp.ts | 66 - src/daemon/constants.test.ts | 198 -- src/daemon/diagnostics.ts | 44 - src/daemon/inspect.ts | 445 --- src/daemon/launchd-plist.ts | 110 - src/daemon/launchd.test.ts | 302 -- src/daemon/launchd.ts | 464 --- src/daemon/node-service.ts | 66 - src/daemon/paths.test.ts | 35 - src/daemon/paths.ts | 42 - src/daemon/program-args.test.ts | 90 - src/daemon/program-args.ts | 287 -- src/daemon/runtime-parse.ts | 20 - src/daemon/runtime-paths.test.ts | 126 - src/daemon/runtime-paths.ts | 164 - src/daemon/schtasks.test.ts | 248 -- src/daemon/schtasks.ts | 407 --- src/daemon/service-audit.test.ts | 63 - src/daemon/service-audit.ts | 359 -- src/daemon/service-env.test.ts | 256 -- src/daemon/service-env.ts | 194 -- src/daemon/service-runtime.ts | 13 - src/daemon/service.ts | 155 - src/daemon/systemd-availability.test.ts | 35 - src/daemon/systemd-hints.ts | 29 - src/daemon/systemd-linger.ts | 73 - src/daemon/systemd-unit.test.ts | 37 - src/daemon/systemd-unit.ts | 137 - src/daemon/systemd.test.ts | 95 - src/daemon/systemd.ts | 449 --- src/discord/api.test.ts | 73 - src/discord/audit.test.ts | 56 - src/discord/chunk.test.ts | 155 - src/discord/gateway-logging.test.ts | 87 - src/discord/index.ts | 2 - src/discord/monitor.gateway.test.ts | 84 - src/discord/monitor.slash.test.ts | 100 - src/discord/monitor.test.ts | 733 ---- ...ild-messages-mentionpatterns-match.test.ts | 771 ---- ...ends-status-replies-responseprefix.test.ts | 541 --- src/discord/monitor/allow-list.test.ts | 41 - src/discord/monitor/exec-approvals.test.ts | 201 -- src/discord/monitor/gateway-registry.test.ts | 56 - .../message-handler.inbound-contract.test.ts | 180 - .../monitor/message-handler.process.test.ts | 126 - src/discord/monitor/presence-cache.test.ts | 34 - src/discord/monitor/threading.test.ts | 144 - src/discord/pluralkit.test.ts | 67 - src/discord/probe.intents.test.ts | 39 - src/discord/resolve-channels.test.ts | 55 - src/discord/send.creates-thread.test.ts | 438 --- .../send.sends-basic-channel-messages.test.ts | 514 --- src/discord/targets.test.ts | 112 - src/discord/token.test.ts | 46 - src/docker-setup.test.ts | 141 - src/docs/slash-commands-doc.test.ts | 36 - src/entry.ts | 171 - src/extensionAPI.ts | 14 - src/gateway/assistant-identity.test.ts | 43 - src/gateway/assistant-identity.ts | 133 - src/gateway/auth.test.ts | 101 - src/gateway/auth.ts | 277 -- src/gateway/boot.test.ts | 72 - src/gateway/boot.ts | 95 - src/gateway/call.test.ts | 512 --- src/gateway/chat-attachments.test.ts | 213 -- src/gateway/chat-attachments.ts | 189 - src/gateway/chat-sanitize.test.ts | 42 - src/gateway/client.maxpayload.test.ts | 32 - src/gateway/client.test.ts | 178 - src/gateway/config-reload.test.ts | 123 - src/gateway/config-reload.ts | 380 -- src/gateway/control-ui.test.ts | 44 - src/gateway/control-ui.ts | 368 -- src/gateway/exec-approval-manager.ts | 82 - src/gateway/gateway-cli-backend.live.test.ts | 469 --- .../gateway-models.profiles.live.test.ts | 1247 ------- src/gateway/gateway.e2e.test.ts | 278 -- src/gateway/hooks-mapping.test.ts | 167 - src/gateway/hooks-mapping.ts | 438 --- src/gateway/hooks.test.ts | 148 - src/gateway/hooks.ts | 233 -- src/gateway/http-common.ts | 56 - src/gateway/http-utils.ts | 79 - src/gateway/live-image-probe.ts | 130 - src/gateway/net.test.ts | 79 - src/gateway/node-command-policy.test.ts | 46 - src/gateway/node-command-policy.ts | 180 - src/gateway/open-responses.schema.ts | 354 -- src/gateway/openai-http.e2e.test.ts | 431 --- src/gateway/openai-http.ts | 426 --- src/gateway/openresponses-http.e2e.test.ts | 507 --- src/gateway/openresponses-http.ts | 914 ----- src/gateway/openresponses-parity.e2e.test.ts | 315 -- src/gateway/origin-check.test.ts | 45 - src/gateway/origin-check.ts | 71 - src/gateway/probe.ts | 119 - src/gateway/protocol/index.test.ts | 64 - src/gateway/server-broadcast.test.ts | 61 - src/gateway/server-broadcast.ts | 120 - src/gateway/server-browser.ts | 31 - src/gateway/server-chat-registry.test.ts | 18 - src/gateway/server-chat.agent-events.test.ts | 205 -- src/gateway/server-chat.ts | 413 --- src/gateway/server-close.ts | 128 - src/gateway/server-constants.ts | 34 - src/gateway/server-cron.ts | 118 - src/gateway/server-discovery-runtime.ts | 100 - src/gateway/server-discovery.test.ts | 45 - src/gateway/server-discovery.ts | 90 - src/gateway/server-http.ts | 450 --- src/gateway/server-lanes.ts | 10 - src/gateway/server-maintenance.ts | 120 - src/gateway/server-methods-list.ts | 117 - src/gateway/server-methods.ts | 219 -- src/gateway/server-methods/AGENTS.md | 3 - src/gateway/server-methods/CLAUDE.md | 1 - src/gateway/server-methods/agent-job.ts | 135 - .../server-methods/agent-timestamp.test.ts | 143 - src/gateway/server-methods/agent-timestamp.ts | 80 - src/gateway/server-methods/agent.test.ts | 216 -- src/gateway/server-methods/agent.ts | 515 --- .../server-methods/agents-mutate.test.ts | 373 -- src/gateway/server-methods/agents.ts | 507 --- src/gateway/server-methods/browser.ts | 277 -- src/gateway/server-methods/channels.ts | 292 -- .../chat.inject.parentid.test.ts | 72 - .../chat.transcript-writes.guardrail.test.ts | 23 - src/gateway/server-methods/chat.ts | 694 ---- src/gateway/server-methods/config.ts | 460 --- src/gateway/server-methods/connect.ts | 12 - src/gateway/server-methods/cron.ts | 227 -- src/gateway/server-methods/devices.ts | 190 - .../server-methods/exec-approval.test.ts | 276 -- src/gateway/server-methods/exec-approval.ts | 137 - src/gateway/server-methods/exec-approvals.ts | 242 -- src/gateway/server-methods/health.ts | 32 - src/gateway/server-methods/logs.test.ts | 49 - src/gateway/server-methods/logs.ts | 180 - src/gateway/server-methods/models.ts | 29 - src/gateway/server-methods/nodes.helpers.ts | 53 - src/gateway/server-methods/nodes.ts | 537 --- src/gateway/server-methods/send.test.ts | 195 -- src/gateway/server-methods/send.ts | 364 -- src/gateway/server-methods/sessions.ts | 482 --- src/gateway/server-methods/skills.ts | 217 -- .../skills.update.normalizes-api-key.test.ts | 48 - src/gateway/server-methods/system.ts | 140 - src/gateway/server-methods/talk.ts | 38 - src/gateway/server-methods/tts.ts | 157 - src/gateway/server-methods/update.ts | 131 - .../usage.sessions-usage.test.ts | 146 - src/gateway/server-methods/usage.test.ts | 82 - src/gateway/server-methods/usage.ts | 822 ----- src/gateway/server-methods/voicewake.ts | 34 - src/gateway/server-methods/web.ts | 124 - src/gateway/server-methods/wizard.ts | 139 - src/gateway/server-mobile-nodes.ts | 14 - src/gateway/server-model-catalog.ts | 19 - src/gateway/server-node-events-types.ts | 36 - src/gateway/server-node-events.test.ts | 104 - src/gateway/server-node-events.ts | 248 -- src/gateway/server-node-subscriptions.test.ts | 38 - src/gateway/server-node-subscriptions.ts | 164 - src/gateway/server-plugins.test.ts | 59 - src/gateway/server-plugins.ts | 49 - src/gateway/server-reload-handlers.ts | 161 - src/gateway/server-restart-sentinel.ts | 110 - src/gateway/server-runtime-config.ts | 120 - src/gateway/server-runtime-state.ts | 210 -- src/gateway/server-session-key.ts | 22 - src/gateway/server-startup-log.ts | 40 - src/gateway/server-startup.ts | 160 - src/gateway/server-tailscale.ts | 58 - src/gateway/server-utils.test.ts | 27 - src/gateway/server-utils.ts | 40 - src/gateway/server-wizard-sessions.ts | 27 - src/gateway/server-ws-runtime.ts | 49 - ...r.agent.gateway-server-agent-a.e2e.test.ts | 653 ---- ...r.agent.gateway-server-agent-b.e2e.test.ts | 455 --- src/gateway/server.auth.e2e.test.ts | 626 ---- src/gateway/server.canvas-auth.e2e.test.ts | 212 -- src/gateway/server.channels.e2e.test.ts | 224 -- ...ver.chat.gateway-server-chat-b.e2e.test.ts | 519 --- ...erver.chat.gateway-server-chat.e2e.test.ts | 493 --- src/gateway/server.config-apply.e2e.test.ts | 108 - src/gateway/server.config-patch.e2e.test.ts | 463 --- src/gateway/server.cron.e2e.test.ts | 384 -- src/gateway/server.health.e2e.test.ts | 306 -- src/gateway/server.hooks.e2e.test.ts | 156 - src/gateway/server.impl.ts | 638 ---- src/gateway/server.ios-client-id.e2e.test.ts | 92 - .../server.models-voicewake-misc.e2e.test.ts | 433 --- src/gateway/server.nodes.late-invoke.test.ts | 126 - src/gateway/server.reload.e2e.test.ts | 312 -- .../server.roles-allowlist-update.e2e.test.ts | 360 -- src/gateway/server.sessions-send.e2e.test.ts | 207 -- ...ions.gateway-server-sessions-a.e2e.test.ts | 473 --- src/gateway/server.ts | 3 - src/gateway/server/__tests__/test-utils.ts | 26 - src/gateway/server/close-reason.ts | 14 - src/gateway/server/health-state.ts | 78 - src/gateway/server/hooks.ts | 115 - src/gateway/server/http-listen.ts | 37 - src/gateway/server/plugins-http.test.ts | 114 - src/gateway/server/plugins-http.ts | 61 - src/gateway/server/tls.ts | 14 - src/gateway/server/ws-connection.ts | 266 -- .../server/ws-connection/message-handler.ts | 1008 ------ src/gateway/session-utils.fs.test.ts | 509 --- src/gateway/session-utils.test.ts | 359 -- src/gateway/sessions-patch.test.ts | 130 - src/gateway/sessions-patch.ts | 337 -- src/gateway/sessions-resolve.ts | 139 - src/gateway/test-helpers.e2e.ts | 138 - src/gateway/test-helpers.mocks.ts | 605 ---- src/gateway/test-helpers.openai-mock.ts | 212 -- src/gateway/test-helpers.server.ts | 526 --- src/gateway/test-helpers.ts | 2 - src/gateway/tools-invoke-http.test.ts | 344 -- src/gateway/tools-invoke-http.ts | 327 -- src/gateway/ws-log.test.ts | 58 - src/gateway/ws-log.ts | 449 --- src/gateway/ws-logging.ts | 13 - src/globals.test.ts | 29 - src/hooks/bundled-dir.ts | 48 - src/hooks/bundled/README.md | 224 -- src/hooks/bundled/boot-md/HOOK.md | 19 - src/hooks/bundled/boot-md/handler.ts | 27 - src/hooks/bundled/command-logger/HOOK.md | 122 - src/hooks/bundled/command-logger/handler.ts | 67 - src/hooks/bundled/session-memory/HOOK.md | 109 - .../bundled/session-memory/handler.test.ts | 388 --- src/hooks/bundled/session-memory/handler.ts | 193 - src/hooks/bundled/soul-evil/HOOK.md | 71 - src/hooks/bundled/soul-evil/README.md | 11 - src/hooks/bundled/soul-evil/handler.test.ts | 46 - src/hooks/bundled/soul-evil/handler.ts | 49 - src/hooks/config.ts | 164 - src/hooks/frontmatter.test.ts | 290 -- src/hooks/frontmatter.ts | 147 - src/hooks/gmail-ops.ts | 378 -- src/hooks/gmail-setup-utils.test.ts | 126 - src/hooks/gmail-setup-utils.ts | 383 -- src/hooks/gmail-watcher.test.ts | 12 - src/hooks/gmail-watcher.ts | 246 -- src/hooks/gmail.test.ts | 158 - src/hooks/gmail.ts | 271 -- src/hooks/hooks-install.e2e.test.ts | 117 - src/hooks/hooks-status.ts | 228 -- src/hooks/hooks.ts | 14 - src/hooks/install.test.ts | 251 -- src/hooks/install.ts | 499 --- src/hooks/installs.ts | 30 - src/hooks/internal-hooks.test.ts | 247 -- src/hooks/llm-slug-generator.ts | 85 - src/hooks/loader.test.ts | 274 -- src/hooks/loader.ts | 146 - src/hooks/plugin-hooks.ts | 116 - src/hooks/soul-evil.test.ts | 252 -- src/hooks/soul-evil.ts | 280 -- src/hooks/workspace.ts | 295 -- src/imessage/index.ts | 3 - ...essages-without-mention-by-default.test.ts | 536 --- ...last-route-chat-id-direct-messages.test.ts | 174 - src/imessage/probe.test.ts | 40 - src/imessage/send.test.ts | 75 - src/imessage/targets.test.ts | 72 - src/index.test.ts | 32 - src/index.ts | 93 - src/infra/agent-events.test.ts | 64 - src/infra/archive.test.ts | 68 - src/infra/archive.ts | 134 - src/infra/binaries.test.ts | 33 - src/infra/binaries.ts | 14 - src/infra/bonjour-ciao.ts | 11 - src/infra/bonjour-discovery.test.ts | 311 -- src/infra/bonjour-discovery.ts | 603 ---- src/infra/bonjour-errors.ts | 7 - src/infra/bonjour.test.ts | 380 -- src/infra/bonjour.ts | 281 -- src/infra/brew.test.ts | 57 - src/infra/brew.ts | 79 - src/infra/canvas-host-url.ts | 66 - src/infra/channel-activity.test.ts | 50 - src/infra/channels-status-issues.ts | 20 - src/infra/clipboard.ts | 25 - src/infra/control-ui-assets.test.ts | 224 -- src/infra/control-ui-assets.ts | 274 -- src/infra/dedupe.test.ts | 33 - src/infra/device-identity.state-dir.test.ts | 40 - src/infra/device-pairing.test.ts | 44 - src/infra/device-pairing.ts | 558 --- src/infra/diagnostic-events.test.ts | 54 - src/infra/diagnostic-flags.test.ts | 30 - src/infra/dotenv.test.ts | 84 - src/infra/env-file.ts | 54 - src/infra/env.test.ts | 64 - src/infra/exec-approval-forwarder.test.ts | 170 - src/infra/exec-approval-forwarder.ts | 352 -- src/infra/exec-approvals.test.ts | 716 ---- src/infra/exec-host.ts | 121 - src/infra/fetch.test.ts | 53 - src/infra/format-time/format-time.test.ts | 221 -- src/infra/fs-safe.ts | 105 - src/infra/gateway-lock.test.ts | 187 - src/infra/gateway-lock.ts | 260 -- ...espects-ackmaxchars-heartbeat-acks.test.ts | 633 ---- ...tbeat-runner.returns-default-unset.test.ts | 1078 ------ src/infra/heartbeat-runner.scheduler.test.ts | 57 - ...ner.sender-prefers-delivery-target.test.ts | 100 - src/infra/heartbeat-visibility.test.ts | 304 -- src/infra/home-dir.test.ts | 77 - src/infra/is-main.test.ts | 37 - src/infra/is-main.ts | 54 - src/infra/net/ssrf.pinning.test.ts | 71 - src/infra/node-shell.test.ts | 39 - src/infra/os-summary.ts | 35 - src/infra/outbound/agent-delivery.test.ts | 80 - src/infra/outbound/agent-delivery.ts | 144 - src/infra/outbound/deliver.test.ts | 382 -- src/infra/outbound/envelope.test.ts | 64 - src/infra/outbound/envelope.ts | 44 - src/infra/outbound/format.test.ts | 107 - src/infra/outbound/format.ts | 121 - .../outbound/message-action-runner.test.ts | 672 ---- .../message-action-runner.threading.test.ts | 242 -- src/infra/outbound/message.test.ts | 173 - src/infra/outbound/outbound-policy.test.ts | 92 - src/infra/outbound/outbound-session.test.ts | 116 - src/infra/outbound/payloads.test.ts | 77 - src/infra/outbound/target-resolver.test.ts | 78 - src/infra/outbound/targets.test.ts | 208 -- src/infra/path-env.test.ts | 180 - src/infra/path-env.ts | 120 - src/infra/ports-inspect.test.ts | 35 - src/infra/ports.test.ts | 57 - ...rovider-usage.auth.normalizes-keys.test.ts | 73 - .../provider-usage.fetch.antigravity.test.ts | 578 --- src/infra/provider-usage.test.ts | 393 --- src/infra/restart-sentinel.test.ts | 70 - src/infra/restart.test.ts | 40 - src/infra/retry-policy.test.ts | 26 - src/infra/retry.test.ts | 87 - src/infra/run-node.test.ts | 84 - src/infra/runtime-guard.test.ts | 87 - src/infra/runtime-guard.ts | 99 - src/infra/session-cost-usage.test.ts | 243 -- src/infra/shell-env.path.test.ts | 39 - src/infra/shell-env.test.ts | 74 - src/infra/ssh-config.test.ts | 83 - src/infra/ssh-config.ts | 105 - src/infra/ssh-tunnel.test.ts | 26 - src/infra/ssh-tunnel.ts | 210 -- src/infra/state-migrations.fs.test.ts | 17 - src/infra/state-migrations.fs.ts | 61 - src/infra/state-migrations.ts | 972 ------ src/infra/system-events.test.ts | 48 - src/infra/system-presence.test.ts | 59 - src/infra/system-presence.ts | 305 -- src/infra/tailnet.test.ts | 31 - src/infra/tailscale.test.ts | 191 - src/infra/tailscale.ts | 495 --- src/infra/tls/fingerprint.test.ts | 10 - src/infra/transport-ready.test.ts | 55 - ...handled-rejections.fatal-detection.test.ts | 161 - src/infra/unhandled-rejections.test.ts | 128 - src/infra/update-channels.ts | 83 - src/infra/update-check.test.ts | 46 - src/infra/update-check.ts | 407 --- src/infra/update-global.ts | 173 - src/infra/update-runner.test.ts | 597 ---- src/infra/update-runner.ts | 912 ----- src/infra/update-startup.test.ts | 126 - src/infra/update-startup.ts | 123 - src/infra/voicewake.test.ts | 35 - src/infra/voicewake.ts | 90 - src/infra/warning-filter.test.ts | 97 - src/infra/widearea-dns.test.ts | 44 - src/infra/widearea-dns.ts | 199 -- src/line/accounts.test.ts | 199 -- src/line/auto-reply-delivery.test.ts | 201 -- src/line/bot-handlers.test.ts | 173 - src/line/bot-message-context.test.ts | 82 - src/line/config-schema.ts | 55 - src/line/flex-templates.test.ts | 499 --- src/line/http-registry.ts | 49 - src/line/index.ts | 155 - src/line/markdown-to-line.test.ts | 449 --- src/line/probe.test.ts | 51 - src/line/reply-chunks.test.ts | 115 - src/line/rich-menu.test.ts | 247 -- src/line/rich-menu.ts | 465 --- src/line/send.test.ts | 95 - src/line/signature.test.ts | 27 - src/line/template-messages.test.ts | 391 --- src/line/webhook.test.ts | 121 - src/link-understanding/detect.test.ts | 26 - src/link-understanding/index.ts | 4 - src/logger.test.ts | 110 - src/logging/console-capture.test.ts | 134 - src/logging/console-prefix.test.ts | 30 - src/logging/console-settings.test.ts | 106 - src/logging/parse-log-line.test.ts | 45 - src/logging/parse-log-line.ts | 63 - src/logging/redact.test.ts | 94 - src/macos/gateway-daemon.ts | 224 -- src/macos/relay-smoke.test.ts | 33 - src/macos/relay-smoke.ts | 37 - src/macos/relay.ts | 82 - src/markdown/frontmatter.test.ts | 75 - src/markdown/ir.table-bullets.test.ts | 119 - src/media-understanding/apply.test.ts | 862 ----- .../attachments.ssrf.test.ts | 24 - src/media-understanding/format.test.ts | 91 - src/media-understanding/index.ts | 9 - .../providers/deepgram/audio.live.test.ts | 47 - .../providers/deepgram/audio.test.ts | 119 - .../providers/google/video.test.ts | 121 - .../providers/openai/audio.test.ts | 116 - src/media-understanding/resolve.test.ts | 132 - .../runner.auto-audio.test.ts | 118 - .../runner.deepgram.test.ts | 110 - .../runner.vision-skip.test.ts | 60 - src/media-understanding/scope.test.ts | 18 - src/media/fetch.test.ts | 62 - src/media/host.test.ts | 92 - src/media/host.ts | 68 - src/media/mime.test.ts | 112 - src/media/parse.test.ts | 61 - src/media/server.test.ts | 114 - src/media/server.ts | 106 - src/media/store.header-ext.test.ts | 38 - src/media/store.redirect.test.ts | 131 - src/media/store.test.ts | 276 -- src/memory/backend-config.test.ts | 96 - src/memory/batch-voyage.test.ts | 174 - src/memory/embeddings-voyage.test.ts | 140 - src/memory/embeddings.test.ts | 482 --- src/memory/headers-fingerprint.ts | 19 - src/memory/hybrid.test.ts | 85 - src/memory/index.test.ts | 489 --- src/memory/internal.test.ts | 125 - src/memory/manager-cache-key.ts | 54 - src/memory/manager.async-search.test.ts | 82 - src/memory/manager.atomic-reindex.test.ts | 92 - src/memory/manager.batch.test.ts | 496 --- src/memory/manager.embedding-batches.test.ts | 303 -- .../manager.sync-errors-do-not-crash.test.ts | 97 - src/memory/manager.vector-dedupe.test.ts | 101 - src/memory/openai-batch.ts | 2 - src/memory/provider-key.ts | 33 - src/memory/qmd-manager.test.ts | 701 ---- src/memory/search-manager.test.ts | 182 - src/memory/status-format.ts | 45 - src/memory/sync-memory-files.ts | 102 - src/memory/sync-session-files.ts | 131 - src/node-host/config.ts | 72 - src/node-host/runner.test.ts | 33 - src/node-host/runner.ts | 1308 ------- src/pairing/pairing-messages.test.ts | 60 - src/pairing/pairing-store.test.ts | 134 - src/plugin-sdk/index.test.ts | 49 - src/plugin-sdk/index.ts | 391 --- src/plugins/cli.test.ts | 46 - src/plugins/cli.ts | 59 - src/plugins/config-schema.ts | 33 - src/plugins/config-state.test.ts | 51 - src/plugins/discovery.test.ts | 157 - src/plugins/enable.ts | 47 - src/plugins/install.test.ts | 495 --- src/plugins/install.ts | 554 --- src/plugins/installs.ts | 30 - src/plugins/loader.test.ts | 483 --- src/plugins/providers.ts | 23 - src/plugins/services.ts | 72 - src/plugins/slots.test.ts | 93 - src/plugins/source-display.test.ts | 52 - src/plugins/source-display.ts | 66 - src/plugins/status.ts | 39 - src/plugins/tools.optional.test.ts | 188 - src/plugins/update.ts | 432 --- src/plugins/voice-call.plugin.test.ts | 174 - src/polls.test.ts | 31 - src/process/child-process-bridge.test.ts | 117 - src/process/child-process-bridge.ts | 47 - src/process/command-queue.test.ts | 88 - src/process/exec.test.ts | 44 - src/process/spawn-utils.test.ts | 63 - src/providers/github-copilot-auth.ts | 184 - src/providers/github-copilot-models.ts | 41 - src/providers/github-copilot-token.test.ts | 81 - ...unction-call-comes-after-user-turn.test.ts | 182 - ...eserves-parameters-type-is-missing.test.ts | 430 --- src/providers/qwen-portal-oauth.test.ts | 77 - src/routing/resolve-route.test.ts | 437 --- src/routing/session-key.test.ts | 41 - src/scripts/canvas-a2ui-copy.test.ts | 38 - src/security/audit-extra.ts | 1305 ------- src/security/audit-fs.ts | 194 -- src/security/audit.test.ts | 1511 -------- src/security/audit.ts | 992 ------ src/security/external-content.test.ts | 278 -- src/security/fix.test.ts | 265 -- src/security/fix.ts | 541 --- src/security/skill-scanner.test.ts | 345 -- src/security/skill-scanner.ts | 432 --- src/security/windows-acl.test.ts | 344 -- src/security/windows-acl.ts | 228 -- src/sessions/send-policy.test.ts | 58 - src/shared/text/reasoning-tags.test.ts | 218 -- src/signal/daemon.test.ts | 25 - src/signal/format.test.ts | 56 - ...onitor.event-handler.sender-prefix.test.ts | 87 - ...event-handler.typing-read-receipts.test.ts | 98 - src/signal/monitor.test.ts | 67 - ...-only-senders-uuid-allowlist-entry.test.ts | 166 - ...ends-tool-summaries-responseprefix.test.ts | 571 --- .../event-handler.inbound-contract.test.ts | 79 - .../event-handler.mention-gating.test.ts | 206 -- src/signal/probe.test.ts | 45 - src/signal/send-reactions.test.ts | 69 - src/slack/actions.read.test.ts | 66 - src/slack/channel-migration.test.ts | 112 - src/slack/client.test.ts | 46 - src/slack/format.test.ts | 99 - src/slack/http/registry.test.ts | 88 - src/slack/monitor.test-helpers.ts | 155 - src/slack/monitor.test.ts | 173 - ...onitor.threading.missing-thread-ts.test.ts | 184 - ...es-thread-replies-replytoid-is-set.test.ts | 213 -- ...ends-tool-summaries-responseprefix.test.ts | 631 ---- ...p-level-replies-replytomode-is-all.test.ts | 393 --- src/slack/monitor/channel-config.test.ts | 56 - src/slack/monitor/context.test.ts | 119 - src/slack/monitor/media.test.ts | 300 -- .../prepare.inbound-contract.test.ts | 238 -- .../prepare.sender-prefix.test.ts | 79 - .../monitor/slash.command-arg-menus.test.ts | 237 -- src/slack/monitor/slash.policy.test.ts | 306 -- src/slack/monitor/thread-resolution.test.ts | 30 - src/slack/resolve-channels.test.ts | 42 - src/slack/scopes.ts | 116 - src/slack/targets.test.ts | 58 - src/slack/threading-tool-context.test.ts | 111 - src/slack/threading.test.ts | 78 - src/telegram/accounts.test.ts | 97 - src/telegram/audit.test.ts | 65 - .../bot-message-context.dm-threads.test.ts | 170 - ...-message-context.dm-topic-threadid.test.ts | 169 - .../bot-message-context.sender-prefix.test.ts | 143 - src/telegram/bot-message-dispatch.test.ts | 112 - src/telegram/bot-message.test.ts | 60 - .../bot-native-commands.plugin-auth.test.ts | 105 - src/telegram/bot-native-commands.test.ts | 118 - ...patterns-match-without-botusername.test.ts | 451 --- ...topic-skill-filters-system-prompts.test.ts | 380 -- ...-all-group-messages-grouppolicy-is.test.ts | 370 -- ...e-callback-query-updates-by-update.test.ts | 247 -- ...gram-bot.installs-grammy-throttler.test.ts | 437 --- ...lowfrom-entries-case-insensitively.test.ts | 378 -- ...-case-insensitively-grouppolicy-is.test.ts | 422 --- ...-dms-by-telegram-accountid-binding.test.ts | 491 --- ...ies-without-native-reply-threading.test.ts | 379 -- ...s-media-file-path-no-file-download.test.ts | 786 ----- ...udes-location-text-ctx-fields-pins.test.ts | 182 - src/telegram/bot.test.ts | 3103 ----------------- src/telegram/bot/delivery.test.ts | 338 -- src/telegram/bot/helpers.test.ts | 253 -- src/telegram/download.test.ts | 35 - src/telegram/download.ts | 57 - src/telegram/draft-chunking.test.ts | 52 - src/telegram/draft-stream.test.ts | 53 - src/telegram/fetch.test.ts | 63 - src/telegram/format.test.ts | 81 - src/telegram/group-migration.test.ts | 112 - src/telegram/index.ts | 4 - src/telegram/inline-buttons.test.ts | 37 - src/telegram/model-buttons.test.ts | 335 -- src/telegram/monitor.test.ts | 190 - src/telegram/network-config.test.ts | 47 - src/telegram/network-errors.test.ts | 86 - src/telegram/proxy.test.ts | 45 - src/telegram/reaction-level.test.ts | 116 - src/telegram/send.caption-split.test.ts | 400 --- src/telegram/send.edit-message.test.ts | 91 - ...-thread-params-plain-text-fallback.test.ts | 147 - src/telegram/send.proxy.test.ts | 124 - ...send.returns-undefined-empty-input.test.ts | 858 ----- src/telegram/send.video-note.test.ts | 219 -- src/telegram/sent-message-cache.test.ts | 34 - src/telegram/sticker-cache.test.ts | 257 -- src/telegram/targets.test.ts | 68 - src/telegram/token.test.ts | 89 - src/telegram/update-offset-store.test.ts | 36 - src/telegram/voice.test.ts | 42 - src/telegram/webhook-set.ts | 41 - src/telegram/webhook.test.ts | 85 - src/terminal/note.ts | 97 - src/terminal/stream-writer.test.ts | 41 - src/terminal/stream-writer.ts | 68 - src/terminal/table.test.ts | 132 - src/terminal/table.ts | 419 --- src/test-helpers/state-dir-env.ts | 29 - src/test-helpers/workspace.ts | 17 - src/test-utils/channel-plugins.ts | 104 - src/test-utils/ports.ts | 92 - src/tts/tts.test.ts | 561 --- src/tui/commands.test.ts | 21 - src/tui/commands.ts | 19 +- .../components/searchable-select-list.test.ts | 219 -- src/tui/gateway-chat.test.ts | 80 - src/tui/theme/theme.test.ts | 111 - src/tui/tui-command-handlers.test.ts | 48 - src/tui/tui-event-handlers.test.ts | 360 -- src/tui/tui-formatters.test.ts | 108 - src/tui/tui-formatters.ts | 2 +- src/tui/tui-input-history.test.ts | 159 - src/tui/tui-local-shell.test.ts | 53 - src/tui/tui-overlays.test.ts | 59 - src/tui/tui-session-actions.test.ts | 113 - src/tui/tui-stream-assembler.test.ts | 92 - src/tui/tui-waiting.test.ts | 41 - src/tui/tui.submit-handler.test.ts | 96 - src/tui/tui.test.ts | 17 - src/types/cli-highlight.d.ts | 10 - src/types/lydell-node-pty.d.ts | 24 - src/types/napi-rs-canvas.d.ts | 7 - src/types/node-edge-tts.d.ts | 18 - src/types/node-llama-cpp.d.ts | 22 - src/types/osc-progress.d.ts | 16 - src/types/pdfjs-dist-legacy.d.ts | 33 - src/types/proper-lockfile.d.ts | 26 - src/types/qrcode-terminal.d.ts | 9 - src/utils.test.ts | 221 -- src/utils/boolean.test.ts | 41 - src/utils/delivery-context.test.ts | 129 - src/utils/message-channel.test.ts | 61 - src/utils/transcript-tools.test.ts | 66 - src/utils/usage-format.test.ts | 60 - src/version.test.ts | 86 - src/web/accounts.test.ts | 47 - src/web/accounts.whatsapp-auth.test.ts | 62 - ...asts-sequentially-configured-order.test.ts | 324 -- ...wn-broadcast-agent-ids-agents-list.test.ts | 148 - .../auto-reply.partial-reply-gating.test.ts | 352 -- .../auto-reply.typing-controller-idle.test.ts | 149 - ...compresses-common-formats-jpeg-cap.test.ts | 344 -- ...y.falls-back-text-media-send-fails.test.ts | 299 -- ...efixes-body-same-phone-marker-from.test.ts | 427 --- ....reconnects-after-connection-close.test.ts | 363 -- ...oup-chats-injects-history-replying.test.ts | 528 --- ...mmaries-immediately-responseprefix.test.ts | 262 -- ...-activation-silent-token-preserves.test.ts | 347 -- ...gent-mention-patterns-group-gating.test.ts | 340 -- src/web/auto-reply/mentions.test.ts | 55 - .../auto-reply/monitor/group-gating.test.ts | 56 - .../auto-reply/monitor/message-line.test.ts | 33 - .../process-message.inbound-contract.test.ts | 64 - src/web/auto-reply/session-snapshot.test.ts | 47 - src/web/inbound.media.test.ts | 252 -- src/web/inbound.test.ts | 237 -- .../access-control.pairing-history.test.ts | 85 - src/web/login-qr.test.ts | 60 - src/web/login.coverage.test.ts | 94 - src/web/login.test.ts | 49 - src/web/logout.test.ts | 71 - src/web/media.test.ts | 294 -- ...ssages-from-senders-allowfrom-list.test.ts | 499 --- ...unauthorized-senders-not-allowfrom.test.ts | 540 --- ...captures-media-path-image-messages.test.ts | 373 -- ...tor-inbox.streams-inbound-messages.test.ts | 438 --- src/web/outbound.test.ts | 167 - src/web/qr-image.test.ts | 21 - src/web/reconnect.test.ts | 51 - src/web/session.test.ts | 236 -- src/web/test-helpers.ts | 93 - src/whatsapp/normalize.test.ts | 72 - src/wizard/clack-prompter.ts | 100 - src/wizard/onboarding.completion.test.ts | 58 - src/wizard/onboarding.completion.ts | 109 - src/wizard/onboarding.finalize.ts | 477 --- src/wizard/onboarding.gateway-config.test.ts | 76 - src/wizard/onboarding.gateway-config.ts | 286 -- src/wizard/onboarding.test.ts | 337 -- src/wizard/onboarding.ts | 470 --- src/wizard/onboarding.types.ts | 25 - src/wizard/session.test.ts | 74 - 1603 files changed, 2 insertions(+), 283188 deletions(-) delete mode 100644 src/acp/client.ts delete mode 100644 src/acp/commands.ts delete mode 100644 src/acp/event-mapper.test.ts delete mode 100644 src/acp/event-mapper.ts delete mode 100644 src/acp/index.ts delete mode 100644 src/acp/meta.ts delete mode 100644 src/acp/server.ts delete mode 100644 src/acp/session-mapper.test.ts delete mode 100644 src/acp/session-mapper.ts delete mode 100644 src/acp/session.test.ts delete mode 100644 src/acp/session.ts delete mode 100644 src/acp/translator.ts delete mode 100644 src/acp/types.ts delete mode 100644 src/agents/agent-paths.test.ts delete mode 100644 src/agents/agent-scope.test.ts delete mode 100644 src/agents/anthropic.setup-token.live.test.ts delete mode 100644 src/agents/apply-patch.test.ts delete mode 100644 src/agents/auth-health.test.ts delete mode 100644 src/agents/auth-health.ts delete mode 100644 src/agents/auth-profiles.auth-profile-cooldowns.test.ts delete mode 100644 src/agents/auth-profiles.chutes.test.ts delete mode 100644 src/agents/auth-profiles.ensureauthprofilestore.test.ts delete mode 100644 src/agents/auth-profiles.markauthprofilefailure.test.ts delete mode 100644 src/agents/auth-profiles.resolve-auth-profile-order.does-not-prioritize-lastgood-round-robin-ordering.test.ts delete mode 100644 src/agents/auth-profiles.resolve-auth-profile-order.normalizes-z-ai-aliases-auth-order.test.ts delete mode 100644 src/agents/auth-profiles.resolve-auth-profile-order.orders-by-lastused-no-explicit-order-exists.test.ts delete mode 100644 src/agents/auth-profiles.resolve-auth-profile-order.uses-stored-profiles-no-config-exists.test.ts delete mode 100644 src/agents/auth-profiles/oauth.fallback-to-main-agent.test.ts delete mode 100644 src/agents/auth-profiles/session-override.test.ts delete mode 100644 src/agents/bash-process-registry.test.ts delete mode 100644 src/agents/bash-tools.exec.approval-id.test.ts delete mode 100644 src/agents/bash-tools.exec.background-abort.test.ts delete mode 100644 src/agents/bash-tools.exec.path.test.ts delete mode 100644 src/agents/bash-tools.exec.pty-fallback.test.ts delete mode 100644 src/agents/bash-tools.exec.pty.test.ts delete mode 100644 src/agents/bash-tools.process.send-keys.test.ts delete mode 100644 src/agents/bash-tools.test.ts delete mode 100644 src/agents/bedrock-discovery.test.ts delete mode 100644 src/agents/bootstrap-files.test.ts delete mode 100644 src/agents/bootstrap-hooks.test.ts delete mode 100644 src/agents/cache-trace.test.ts delete mode 100644 src/agents/channel-tools.test.ts delete mode 100644 src/agents/chutes-oauth.test.ts delete mode 100644 src/agents/claude-cli-runner.test.ts delete mode 100644 src/agents/claude-cli-runner.ts delete mode 100644 src/agents/cli-credentials.test.ts delete mode 100644 src/agents/cli-runner.test.ts delete mode 100644 src/agents/compaction.test.ts delete mode 100644 src/agents/compaction.ts delete mode 100644 src/agents/context-window-guard.test.ts delete mode 100644 src/agents/failover-error.test.ts delete mode 100644 src/agents/google-gemini-switch.live.test.ts delete mode 100644 src/agents/identity-avatar.test.ts delete mode 100644 src/agents/identity-avatar.ts delete mode 100644 src/agents/identity-file.test.ts delete mode 100644 src/agents/identity-file.ts delete mode 100644 src/agents/identity.per-channel-prefix.test.ts delete mode 100644 src/agents/identity.test.ts delete mode 100644 src/agents/live-auth-keys.ts delete mode 100644 src/agents/live-model-filter.ts delete mode 100644 src/agents/memory-search.test.ts delete mode 100644 src/agents/minimax-vlm.normalizes-api-key.test.ts delete mode 100644 src/agents/minimax.live.test.ts delete mode 100644 src/agents/model-auth.test.ts delete mode 100644 src/agents/model-catalog.test.ts delete mode 100644 src/agents/model-compat.test.ts delete mode 100644 src/agents/model-fallback.test.ts delete mode 100644 src/agents/model-scan.test.ts delete mode 100644 src/agents/model-scan.ts delete mode 100644 src/agents/model-selection.test.ts delete mode 100644 src/agents/models-config.auto-injects-github-copilot-provider-token-is.test.ts delete mode 100644 src/agents/models-config.falls-back-default-baseurl-token-exchange-fails.test.ts delete mode 100644 src/agents/models-config.fills-missing-provider-apikey-from-env-var.test.ts delete mode 100644 src/agents/models-config.normalizes-gemini-3-ids-preview-google-providers.test.ts delete mode 100644 src/agents/models-config.providers.ollama.test.ts delete mode 100644 src/agents/models-config.providers.qianfan.test.ts delete mode 100644 src/agents/models-config.skips-writing-models-json-no-env-token.test.ts delete mode 100644 src/agents/models-config.uses-first-github-copilot-profile-env-tokens.test.ts delete mode 100644 src/agents/models.profiles.live.test.ts delete mode 100644 src/agents/openai-responses.reasoning-replay.test.ts delete mode 100644 src/agents/openclaw-gateway-tool.test.ts delete mode 100644 src/agents/openclaw-tools.agents.test.ts delete mode 100644 src/agents/openclaw-tools.camera.test.ts delete mode 100644 src/agents/openclaw-tools.session-status.test.ts delete mode 100644 src/agents/openclaw-tools.sessions.test.ts delete mode 100644 src/agents/openclaw-tools.subagents.sessions-spawn-allows-cross-agent-spawning-configured.test.ts delete mode 100644 src/agents/openclaw-tools.subagents.sessions-spawn-announces-agent-wait-lifecycle-events.test.ts delete mode 100644 src/agents/openclaw-tools.subagents.sessions-spawn-applies-model-child-session.test.ts delete mode 100644 src/agents/openclaw-tools.subagents.sessions-spawn-applies-thinking-default.test.ts delete mode 100644 src/agents/openclaw-tools.subagents.sessions-spawn-normalizes-allowlisted-agent-ids.test.ts delete mode 100644 src/agents/openclaw-tools.subagents.sessions-spawn-prefers-per-agent-subagent-model.test.ts delete mode 100644 src/agents/openclaw-tools.subagents.sessions-spawn-resolves-main-announce-target-from.test.ts delete mode 100644 src/agents/opencode-zen-models.test.ts delete mode 100644 src/agents/opencode-zen-models.ts delete mode 100644 src/agents/pi-embedded-block-chunker.test.ts delete mode 100644 src/agents/pi-embedded-helpers.buildbootstrapcontextfiles.test.ts delete mode 100644 src/agents/pi-embedded-helpers.classifyfailoverreason.test.ts delete mode 100644 src/agents/pi-embedded-helpers.downgradeopenai-reasoning.test.ts delete mode 100644 src/agents/pi-embedded-helpers.formatassistanterrortext.test.ts delete mode 100644 src/agents/pi-embedded-helpers.formatrawassistanterrorforui.test.ts delete mode 100644 src/agents/pi-embedded-helpers.image-dimension-error.test.ts delete mode 100644 src/agents/pi-embedded-helpers.image-size-error.test.ts delete mode 100644 src/agents/pi-embedded-helpers.isautherrormessage.test.ts delete mode 100644 src/agents/pi-embedded-helpers.isbillingerrormessage.test.ts delete mode 100644 src/agents/pi-embedded-helpers.iscloudcodeassistformaterror.test.ts delete mode 100644 src/agents/pi-embedded-helpers.iscompactionfailureerror.test.ts delete mode 100644 src/agents/pi-embedded-helpers.iscontextoverflowerror.test.ts delete mode 100644 src/agents/pi-embedded-helpers.isfailovererrormessage.test.ts delete mode 100644 src/agents/pi-embedded-helpers.islikelycontextoverflowerror.test.ts delete mode 100644 src/agents/pi-embedded-helpers.ismessagingtoolduplicate.test.ts delete mode 100644 src/agents/pi-embedded-helpers.messaging-duplicate.test.ts delete mode 100644 src/agents/pi-embedded-helpers.normalizetextforcomparison.test.ts delete mode 100644 src/agents/pi-embedded-helpers.resolvebootstrapmaxchars.test.ts delete mode 100644 src/agents/pi-embedded-helpers.sanitize-session-messages-images.keeps-tool-call-tool-result-ids-unchanged.test.ts delete mode 100644 src/agents/pi-embedded-helpers.sanitize-session-messages-images.removes-empty-assistant-text-blocks-but-preserves.test.ts delete mode 100644 src/agents/pi-embedded-helpers.sanitizegoogleturnordering.test.ts delete mode 100644 src/agents/pi-embedded-helpers.sanitizesessionmessagesimages-thought-signature-stripping.test.ts delete mode 100644 src/agents/pi-embedded-helpers.sanitizetoolcallid.test.ts delete mode 100644 src/agents/pi-embedded-helpers.sanitizeuserfacingtext.test.ts delete mode 100644 src/agents/pi-embedded-helpers.stripthoughtsignatures.test.ts delete mode 100644 src/agents/pi-embedded-helpers.validate-turns.test.ts delete mode 100644 src/agents/pi-embedded-runner-extraparams.live.test.ts delete mode 100644 src/agents/pi-embedded-runner-extraparams.test.ts delete mode 100644 src/agents/pi-embedded-runner.applygoogleturnorderingfix.test.ts delete mode 100644 src/agents/pi-embedded-runner.buildembeddedsandboxinfo.test.ts delete mode 100644 src/agents/pi-embedded-runner.createsystempromptoverride.test.ts delete mode 100644 src/agents/pi-embedded-runner.get-dm-history-limit-from-session-key.falls-back-provider-default-per-dm-not.test.ts delete mode 100644 src/agents/pi-embedded-runner.get-dm-history-limit-from-session-key.returns-undefined-sessionkey-is-undefined.test.ts delete mode 100644 src/agents/pi-embedded-runner.google-sanitize-thinking.test.ts delete mode 100644 src/agents/pi-embedded-runner.guard.test.ts delete mode 100644 src/agents/pi-embedded-runner.limithistoryturns.test.ts delete mode 100644 src/agents/pi-embedded-runner.resolvesessionagentids.test.ts delete mode 100644 src/agents/pi-embedded-runner.run-embedded-pi-agent.auth-profile-rotation.test.ts delete mode 100644 src/agents/pi-embedded-runner.sanitize-session-history.test.ts delete mode 100644 src/agents/pi-embedded-runner.splitsdktools.test.ts delete mode 100644 src/agents/pi-embedded-runner.test.ts delete mode 100644 src/agents/pi-embedded-runner/google.test.ts delete mode 100644 src/agents/pi-embedded-runner/model.test.ts delete mode 100644 src/agents/pi-embedded-runner/run.overflow-compaction.test.ts delete mode 100644 src/agents/pi-embedded-runner/run/attempt.test.ts delete mode 100644 src/agents/pi-embedded-runner/run/images.test.ts delete mode 100644 src/agents/pi-embedded-runner/run/payloads.test.ts delete mode 100644 src/agents/pi-embedded-runner/tool-result-truncation.test.ts delete mode 100644 src/agents/pi-embedded-subscribe.code-span-awareness.test.ts delete mode 100644 src/agents/pi-embedded-subscribe.reply-tags.test.ts delete mode 100644 src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.calls-onblockreplyflush-before-tool-execution-start-preserve.test.ts delete mode 100644 src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.does-not-append-text-end-content-is.test.ts delete mode 100644 src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.does-not-call-onblockreplyflush-callback-is-not.test.ts delete mode 100644 src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.does-not-duplicate-text-end-repeats-full.test.ts delete mode 100644 src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.does-not-emit-duplicate-block-replies-text.test.ts delete mode 100644 src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.emits-block-replies-text-end-does-not.test.ts delete mode 100644 src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.emits-reasoning-as-separate-message-enabled.test.ts delete mode 100644 src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.filters-final-suppresses-output-without-start-tag.test.ts delete mode 100644 src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.includes-canvas-action-metadata-tool-summaries.test.ts delete mode 100644 src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.keeps-assistanttexts-final-answer-block-replies-are.test.ts delete mode 100644 src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.keeps-indented-fenced-blocks-intact.test.ts delete mode 100644 src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.reopens-fenced-blocks-splitting-inside-them.test.ts delete mode 100644 src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.splits-long-single-line-fenced-blocks-reopen.test.ts delete mode 100644 src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.streams-soft-chunks-paragraph-preference.test.ts delete mode 100644 src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.subscribeembeddedpisession.test.ts delete mode 100644 src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.suppresses-message-end-block-replies-message-tool.test.ts delete mode 100644 src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.waits-multiple-compaction-retries-before-resolving.test.ts delete mode 100644 src/agents/pi-embedded-subscribe.tools.test.ts delete mode 100644 src/agents/pi-embedded-utils.test.ts delete mode 100644 src/agents/pi-extensions/compaction-safeguard.test.ts delete mode 100644 src/agents/pi-extensions/compaction-safeguard.ts delete mode 100644 src/agents/pi-extensions/context-pruning.test.ts delete mode 100644 src/agents/pi-extensions/context-pruning.ts delete mode 100644 src/agents/pi-extensions/context-pruning/extension.ts delete mode 100644 src/agents/pi-extensions/context-pruning/pruner.ts delete mode 100644 src/agents/pi-settings.test.ts delete mode 100644 src/agents/pi-tool-definition-adapter.test.ts delete mode 100644 src/agents/pi-tools-agent-config.test.ts delete mode 100644 src/agents/pi-tools.before-tool-call.test.ts delete mode 100644 src/agents/pi-tools.create-openclaw-coding-tools.adds-claude-style-aliases-schemas-without-dropping-b.test.ts delete mode 100644 src/agents/pi-tools.create-openclaw-coding-tools.adds-claude-style-aliases-schemas-without-dropping-d.test.ts delete mode 100644 src/agents/pi-tools.create-openclaw-coding-tools.adds-claude-style-aliases-schemas-without-dropping-f.test.ts delete mode 100644 src/agents/pi-tools.create-openclaw-coding-tools.adds-claude-style-aliases-schemas-without-dropping.test.ts delete mode 100644 src/agents/pi-tools.policy.test.ts delete mode 100644 src/agents/pi-tools.safe-bins.test.ts delete mode 100644 src/agents/pi-tools.whatsapp-login-gating.test.ts delete mode 100644 src/agents/pi-tools.workspace-paths.test.ts delete mode 100644 src/agents/pty-dsr.test.ts delete mode 100644 src/agents/pty-keys.test.ts delete mode 100644 src/agents/sandbox-agent-config.agent-specific-sandbox-config.includes-session-status-default-sandbox-allowlist.test.ts delete mode 100644 src/agents/sandbox-agent-config.agent-specific-sandbox-config.should-allow-agent-specific-docker-settings-beyond.test.ts delete mode 100644 src/agents/sandbox-agent-config.agent-specific-sandbox-config.should-use-agent-specific-workspaceroot.test.ts delete mode 100644 src/agents/sandbox-agent-config.agent-specific-sandbox-config.should-use-global-sandbox-config-no-agent.test.ts delete mode 100644 src/agents/sandbox-create-args.test.ts delete mode 100644 src/agents/sandbox-explain.test.ts delete mode 100644 src/agents/sandbox-merge.test.ts delete mode 100644 src/agents/sandbox-skills.test.ts delete mode 100644 src/agents/sandbox.resolveSandboxContext.test.ts delete mode 100644 src/agents/sandbox/tool-policy.test.ts delete mode 100644 src/agents/session-file-repair.test.ts delete mode 100644 src/agents/session-slug.test.ts delete mode 100644 src/agents/session-tool-result-guard.test.ts delete mode 100644 src/agents/session-tool-result-guard.tool-result-persist-hook.test.ts delete mode 100644 src/agents/session-transcript-repair.test.ts delete mode 100644 src/agents/session-write-lock.test.ts delete mode 100644 src/agents/sessions-spawn-threadid.test.ts delete mode 100644 src/agents/shell-utils.test.ts delete mode 100644 src/agents/skills-install.test.ts delete mode 100644 src/agents/skills-install.ts delete mode 100644 src/agents/skills-status.test.ts delete mode 100644 src/agents/skills-status.ts delete mode 100644 src/agents/skills.build-workspace-skills-prompt.applies-bundled-allowlist-without-affecting-workspace-skills.test.ts delete mode 100644 src/agents/skills.build-workspace-skills-prompt.prefers-workspace-skills-managed-skills.test.ts delete mode 100644 src/agents/skills.build-workspace-skills-prompt.syncs-merged-skills-into-target-workspace.test.ts delete mode 100644 src/agents/skills.buildworkspaceskillsnapshot.test.ts delete mode 100644 src/agents/skills.buildworkspaceskillstatus.test.ts delete mode 100644 src/agents/skills.loadworkspaceskillentries.test.ts delete mode 100644 src/agents/skills.resolveskillspromptforrun.test.ts delete mode 100644 src/agents/skills.summarize-skill-description.test.ts delete mode 100644 src/agents/skills.test.ts delete mode 100644 src/agents/skills/bundled-context.ts delete mode 100644 src/agents/skills/bundled-dir.test.ts delete mode 100644 src/agents/skills/frontmatter.test.ts delete mode 100644 src/agents/skills/refresh.test.ts delete mode 100644 src/agents/subagent-announce.format.test.ts delete mode 100644 src/agents/subagent-registry.persistence.test.ts delete mode 100644 src/agents/system-prompt-params.test.ts delete mode 100644 src/agents/system-prompt.test.ts delete mode 100644 src/agents/test-helpers/fast-coding-tools.ts delete mode 100644 src/agents/test-helpers/fast-core-tools.ts delete mode 100644 src/agents/timeout.test.ts delete mode 100644 src/agents/tool-call-id.test.ts delete mode 100644 src/agents/tool-display.test.ts delete mode 100644 src/agents/tool-images.test.ts delete mode 100644 src/agents/tool-policy.conformance.test.ts delete mode 100644 src/agents/tool-policy.conformance.ts delete mode 100644 src/agents/tool-policy.plugin-only-allowlist.test.ts delete mode 100644 src/agents/tool-policy.test.ts delete mode 100644 src/agents/tools/browser-tool.test.ts delete mode 100644 src/agents/tools/common.test.ts delete mode 100644 src/agents/tools/cron-tool.test.ts delete mode 100644 src/agents/tools/discord-actions-presence.test.ts delete mode 100644 src/agents/tools/discord-actions.test.ts delete mode 100644 src/agents/tools/gateway.test.ts delete mode 100644 src/agents/tools/image-tool.test.ts delete mode 100644 src/agents/tools/memory-tool.citations.test.ts delete mode 100644 src/agents/tools/memory-tool.does-not-crash-on-errors.test.ts delete mode 100644 src/agents/tools/message-tool.test.ts delete mode 100644 src/agents/tools/sessions-announce-target.test.ts delete mode 100644 src/agents/tools/sessions-helpers.test.ts delete mode 100644 src/agents/tools/sessions-list-tool.gating.test.ts delete mode 100644 src/agents/tools/sessions-send-tool.gating.test.ts delete mode 100644 src/agents/tools/slack-actions.test.ts delete mode 100644 src/agents/tools/telegram-actions.test.ts delete mode 100644 src/agents/tools/web-fetch.firecrawl-api-key-normalization.test.ts delete mode 100644 src/agents/tools/web-fetch.ssrf.test.ts delete mode 100644 src/agents/tools/web-search.test.ts delete mode 100644 src/agents/tools/web-tools.enabled-defaults.test.ts delete mode 100644 src/agents/tools/web-tools.fetch.test.ts delete mode 100644 src/agents/tools/web-tools.readability.test.ts delete mode 100644 src/agents/tools/whatsapp-actions.test.ts delete mode 100644 src/agents/usage.test.ts delete mode 100644 src/agents/workspace-run.test.ts delete mode 100644 src/agents/workspace-templates.test.ts delete mode 100644 src/agents/workspace.defaults.test.ts delete mode 100644 src/agents/workspace.test.ts delete mode 100644 src/agents/zai.live.test.ts delete mode 100644 src/auto-reply/chunk.test.ts delete mode 100644 src/auto-reply/command-control.test.ts delete mode 100644 src/auto-reply/commands-registry.test.ts delete mode 100644 src/auto-reply/envelope.test.ts delete mode 100644 src/auto-reply/heartbeat.test.ts delete mode 100644 src/auto-reply/inbound.test.ts delete mode 100644 src/auto-reply/media-note.test.ts delete mode 100644 src/auto-reply/model.test.ts delete mode 100644 src/auto-reply/reply.block-streaming.test.ts delete mode 100644 src/auto-reply/reply.directive.directive-behavior.accepts-thinking-xhigh-codex-models.e2e.test.ts delete mode 100644 src/auto-reply/reply.directive.directive-behavior.applies-inline-reasoning-mixed-messages-acks-immediately.e2e.test.ts delete mode 100644 src/auto-reply/reply.directive.directive-behavior.defaults-think-low-reasoning-capable-models-no.e2e.test.ts delete mode 100644 src/auto-reply/reply.directive.directive-behavior.ignores-inline-model-uses-default-model.e2e.test.ts delete mode 100644 src/auto-reply/reply.directive.directive-behavior.lists-allowlisted-models-model-list.e2e.test.ts delete mode 100644 src/auto-reply/reply.directive.directive-behavior.prefers-alias-matches-fuzzy-selection-is-ambiguous.e2e.test.ts delete mode 100644 src/auto-reply/reply.directive.directive-behavior.requires-per-agent-allowlist-addition-global.e2e.test.ts delete mode 100644 src/auto-reply/reply.directive.directive-behavior.returns-status-alongside-directive-only-acks.e2e.test.ts delete mode 100644 src/auto-reply/reply.directive.directive-behavior.shows-current-elevated-level-as-off-after.e2e.test.ts delete mode 100644 src/auto-reply/reply.directive.directive-behavior.shows-current-verbose-level-verbose-has-no.e2e.test.ts delete mode 100644 src/auto-reply/reply.directive.directive-behavior.supports-fuzzy-model-matches-model-directive.e2e.test.ts delete mode 100644 src/auto-reply/reply.directive.directive-behavior.updates-tool-verbose-during-flight-run-toggle.e2e.test.ts delete mode 100644 src/auto-reply/reply.directive.parse.test.ts delete mode 100644 src/auto-reply/reply.heartbeat-typing.test.ts delete mode 100644 src/auto-reply/reply.media-note.test.ts delete mode 100644 src/auto-reply/reply.queue.test.ts delete mode 100644 src/auto-reply/reply.raw-body.test.ts delete mode 100644 src/auto-reply/reply.triggers.group-intro-prompts.e2e.test.ts delete mode 100644 src/auto-reply/reply.triggers.trigger-handling.allows-activation-from-allowfrom-groups.e2e.test.ts delete mode 100644 src/auto-reply/reply.triggers.trigger-handling.allows-approved-sender-toggle-elevated-mode.e2e.test.ts delete mode 100644 src/auto-reply/reply.triggers.trigger-handling.allows-elevated-off-groups-without-mention.e2e.test.ts delete mode 100644 src/auto-reply/reply.triggers.trigger-handling.filters-usage-summary-current-model-provider.e2e.test.ts delete mode 100644 src/auto-reply/reply.triggers.trigger-handling.handles-inline-commands-strips-it-before-agent.e2e.test.ts delete mode 100644 src/auto-reply/reply.triggers.trigger-handling.ignores-inline-elevated-directive-unapproved-sender.e2e.test.ts delete mode 100644 src/auto-reply/reply.triggers.trigger-handling.includes-error-cause-embedded-agent-throws.e2e.test.ts delete mode 100644 src/auto-reply/reply.triggers.trigger-handling.keeps-inline-status-unauthorized-senders.e2e.test.ts delete mode 100644 src/auto-reply/reply.triggers.trigger-handling.reports-active-auth-profile-key-snippet-status.e2e.test.ts delete mode 100644 src/auto-reply/reply.triggers.trigger-handling.runs-compact-as-gated-command.e2e.test.ts delete mode 100644 src/auto-reply/reply.triggers.trigger-handling.runs-greeting-prompt-bare-reset.e2e.test.ts delete mode 100644 src/auto-reply/reply.triggers.trigger-handling.shows-endpoint-default-model-status-not-configured.e2e.test.ts delete mode 100644 src/auto-reply/reply.triggers.trigger-handling.shows-quick-model-picker-grouped-by-model.e2e.test.ts delete mode 100644 src/auto-reply/reply.triggers.trigger-handling.stages-inbound-media-into-sandbox-workspace.security.test.ts delete mode 100644 src/auto-reply/reply.triggers.trigger-handling.stages-inbound-media-into-sandbox-workspace.test.ts delete mode 100644 src/auto-reply/reply.triggers.trigger-handling.targets-active-session-native-stop.e2e.test.ts delete mode 100644 src/auto-reply/reply/abort.test.ts delete mode 100644 src/auto-reply/reply/agent-runner-utils.test.ts delete mode 100644 src/auto-reply/reply/agent-runner.authprofileid-fallback.test.ts delete mode 100644 src/auto-reply/reply/agent-runner.block-streaming.test.ts delete mode 100644 src/auto-reply/reply/agent-runner.claude-cli.test.ts delete mode 100644 src/auto-reply/reply/agent-runner.heartbeat-typing.runreplyagent-typing-heartbeat.resets-corrupted-gemini-sessions-deletes-transcripts.test.ts delete mode 100644 src/auto-reply/reply/agent-runner.heartbeat-typing.runreplyagent-typing-heartbeat.retries-after-compaction-failure-by-resetting-session.test.ts delete mode 100644 src/auto-reply/reply/agent-runner.heartbeat-typing.runreplyagent-typing-heartbeat.signals-typing-block-replies.test.ts delete mode 100644 src/auto-reply/reply/agent-runner.heartbeat-typing.runreplyagent-typing-heartbeat.signals-typing-normal-runs.test.ts delete mode 100644 src/auto-reply/reply/agent-runner.heartbeat-typing.runreplyagent-typing-heartbeat.still-replies-even-if-session-reset-fails.test.ts delete mode 100644 src/auto-reply/reply/agent-runner.memory-flush.runreplyagent-memory-flush.increments-compaction-count-flush-compaction-completes.test.ts delete mode 100644 src/auto-reply/reply/agent-runner.memory-flush.runreplyagent-memory-flush.runs-memory-flush-turn-updates-session-metadata.test.ts delete mode 100644 src/auto-reply/reply/agent-runner.memory-flush.runreplyagent-memory-flush.skips-memory-flush-cli-providers.test.ts delete mode 100644 src/auto-reply/reply/agent-runner.memory-flush.runreplyagent-memory-flush.skips-memory-flush-sandbox-workspace-is-read.test.ts delete mode 100644 src/auto-reply/reply/agent-runner.memory-flush.runreplyagent-memory-flush.uses-configured-prompts-memory-flush-runs.test.ts delete mode 100644 src/auto-reply/reply/agent-runner.messaging-tools.test.ts delete mode 100644 src/auto-reply/reply/agent-runner.reasoning-tags.test.ts delete mode 100644 src/auto-reply/reply/agent-runner.response-usage-footer.test.ts delete mode 100644 src/auto-reply/reply/audio-tags.ts delete mode 100644 src/auto-reply/reply/commands-approve.test.ts delete mode 100644 src/auto-reply/reply/commands-info.test.ts delete mode 100644 src/auto-reply/reply/commands-parsing.test.ts delete mode 100644 src/auto-reply/reply/commands-policy.test.ts delete mode 100644 src/auto-reply/reply/commands-ptt.ts delete mode 100644 src/auto-reply/reply/commands.test.ts delete mode 100644 src/auto-reply/reply/directive-handling.model.test.ts delete mode 100644 src/auto-reply/reply/dispatch-from-config.test.ts delete mode 100644 src/auto-reply/reply/followup-runner.test.ts delete mode 100644 src/auto-reply/reply/formatting.test.ts delete mode 100644 src/auto-reply/reply/history.test.ts delete mode 100644 src/auto-reply/reply/line-directives.test.ts delete mode 100644 src/auto-reply/reply/memory-flush.test.ts delete mode 100644 src/auto-reply/reply/mentions.test.ts delete mode 100644 src/auto-reply/reply/model-selection.inherit-parent.test.ts delete mode 100644 src/auto-reply/reply/normalize-reply.test.ts delete mode 100644 src/auto-reply/reply/queue.collect-routing.test.ts delete mode 100644 src/auto-reply/reply/reply-routing.test.ts delete mode 100644 src/auto-reply/reply/response-prefix-template.test.ts delete mode 100644 src/auto-reply/reply/route-reply.test.ts delete mode 100644 src/auto-reply/reply/session-resets.test.ts delete mode 100644 src/auto-reply/reply/session.test.ts delete mode 100644 src/auto-reply/reply/subagents-utils.test.ts delete mode 100644 src/auto-reply/reply/test-ctx.ts delete mode 100644 src/auto-reply/reply/test-helpers.ts delete mode 100644 src/auto-reply/reply/typing.test.ts delete mode 100644 src/auto-reply/skill-commands.test.ts delete mode 100644 src/auto-reply/status.test.ts delete mode 100644 src/auto-reply/thinking.test.ts delete mode 100644 src/auto-reply/tool-meta.test.ts delete mode 100644 src/browser/cdp.helpers.test.ts delete mode 100644 src/browser/cdp.test.ts delete mode 100644 src/browser/chrome.default-browser.test.ts delete mode 100644 src/browser/chrome.test.ts delete mode 100644 src/browser/client.test.ts delete mode 100644 src/browser/config.test.ts delete mode 100644 src/browser/extension-relay.test.ts delete mode 100644 src/browser/profiles-service.test.ts delete mode 100644 src/browser/profiles.test.ts delete mode 100644 src/browser/pw-ai.test.ts delete mode 100644 src/browser/pw-role-snapshot.test.ts delete mode 100644 src/browser/pw-session.browserless.live.test.ts delete mode 100644 src/browser/pw-session.get-page-for-targetid.extension-fallback.test.ts delete mode 100644 src/browser/pw-session.test.ts delete mode 100644 src/browser/pw-tools-core.clamps-timeoutms-scrollintoview.test.ts delete mode 100644 src/browser/pw-tools-core.last-file-chooser-arm-wins.test.ts delete mode 100644 src/browser/pw-tools-core.screenshots-element-selector.test.ts delete mode 100644 src/browser/pw-tools-core.waits-next-download-saves-it.test.ts delete mode 100644 src/browser/routes/utils.test.ts delete mode 100644 src/browser/screenshot.test.ts delete mode 100644 src/browser/server-context.ensure-tab-available.prefers-last-target.test.ts delete mode 100644 src/browser/server-context.remote-tab-ops.test.ts delete mode 100644 src/browser/server.agent-contract-form-layout-act-commands.test.ts delete mode 100644 src/browser/server.agent-contract-snapshot-endpoints.test.ts delete mode 100644 src/browser/server.covers-additional-endpoint-branches.test.ts delete mode 100644 src/browser/server.post-tabs-open-profile-unknown-returns-404.test.ts delete mode 100644 src/browser/server.serves-status-starts-browser-requested.test.ts delete mode 100644 src/browser/server.skips-default-maxchars-explicitly-set-zero.test.ts delete mode 100644 src/browser/target-id.test.ts delete mode 100644 src/canvas-host/a2ui.ts delete mode 100644 src/canvas-host/a2ui/index.html delete mode 100644 src/canvas-host/server.state-dir.test.ts delete mode 100644 src/canvas-host/server.test.ts delete mode 100644 src/canvas-host/server.ts delete mode 100644 src/channel-web.barrel.test.ts delete mode 100644 src/channels/ack-reactions.test.ts delete mode 100644 src/channels/channel-config.test.ts delete mode 100644 src/channels/chat-type.test.ts delete mode 100644 src/channels/command-gating.test.ts delete mode 100644 src/channels/conversation-label.test.ts delete mode 100644 src/channels/location.test.ts delete mode 100644 src/channels/mention-gating.test.ts delete mode 100644 src/channels/plugins/actions/discord.test.ts delete mode 100644 src/channels/plugins/actions/discord/handle-action.test.ts delete mode 100644 src/channels/plugins/actions/signal.test.ts delete mode 100644 src/channels/plugins/actions/telegram.test.ts delete mode 100644 src/channels/plugins/catalog.test.ts delete mode 100644 src/channels/plugins/catalog.ts delete mode 100644 src/channels/plugins/config-helpers.ts delete mode 100644 src/channels/plugins/config-schema.ts delete mode 100644 src/channels/plugins/config-writes.test.ts delete mode 100644 src/channels/plugins/directory-config.test.ts delete mode 100644 src/channels/plugins/index.test.ts delete mode 100644 src/channels/plugins/load.test.ts delete mode 100644 src/channels/plugins/load.ts delete mode 100644 src/channels/plugins/normalize/discord.ts delete mode 100644 src/channels/plugins/normalize/imessage.test.ts delete mode 100644 src/channels/plugins/normalize/imessage.ts delete mode 100644 src/channels/plugins/normalize/signal.test.ts delete mode 100644 src/channels/plugins/normalize/signal.ts delete mode 100644 src/channels/plugins/normalize/telegram.ts delete mode 100644 src/channels/plugins/normalize/whatsapp.ts delete mode 100644 src/channels/plugins/onboarding/channel-access.ts delete mode 100644 src/channels/plugins/onboarding/discord.ts delete mode 100644 src/channels/plugins/onboarding/helpers.ts delete mode 100644 src/channels/plugins/onboarding/imessage.ts delete mode 100644 src/channels/plugins/onboarding/signal.ts delete mode 100644 src/channels/plugins/onboarding/slack.ts delete mode 100644 src/channels/plugins/onboarding/telegram.ts delete mode 100644 src/channels/plugins/onboarding/whatsapp.ts delete mode 100644 src/channels/plugins/outbound/discord.ts delete mode 100644 src/channels/plugins/outbound/imessage.ts delete mode 100644 src/channels/plugins/outbound/signal.ts delete mode 100644 src/channels/plugins/outbound/slack.ts delete mode 100644 src/channels/plugins/outbound/telegram.test.ts delete mode 100644 src/channels/plugins/outbound/telegram.ts delete mode 100644 src/channels/plugins/outbound/whatsapp.ts delete mode 100644 src/channels/plugins/pairing-message.ts delete mode 100644 src/channels/plugins/setup-helpers.ts delete mode 100644 src/channels/plugins/slack.actions.test.ts delete mode 100644 src/channels/plugins/slack.actions.ts delete mode 100644 src/channels/plugins/status-issues/bluebubbles.ts delete mode 100644 src/channels/plugins/status-issues/discord.ts delete mode 100644 src/channels/plugins/status-issues/shared.ts delete mode 100644 src/channels/plugins/status-issues/telegram.ts delete mode 100644 src/channels/plugins/status-issues/whatsapp.ts delete mode 100644 src/channels/plugins/status.ts delete mode 100644 src/channels/registry.test.ts delete mode 100644 src/channels/sender-identity.test.ts delete mode 100644 src/channels/sender-identity.ts delete mode 100644 src/channels/targets.test.ts delete mode 100644 src/channels/typing.test.ts delete mode 100644 src/channels/web/index.test.ts delete mode 100644 src/cli/acp-cli.ts delete mode 100644 src/cli/argv.test.ts delete mode 100644 src/cli/argv.ts delete mode 100644 src/cli/banner.ts delete mode 100644 src/cli/browser-cli-actions-input.ts delete mode 100644 src/cli/browser-cli-actions-input/register.element.ts delete mode 100644 src/cli/browser-cli-actions-input/register.files-downloads.ts delete mode 100644 src/cli/browser-cli-actions-input/register.form-wait-eval.ts delete mode 100644 src/cli/browser-cli-actions-input/register.navigation.ts delete mode 100644 src/cli/browser-cli-actions-input/register.ts delete mode 100644 src/cli/browser-cli-actions-input/shared.ts delete mode 100644 src/cli/browser-cli-actions-observe.ts delete mode 100644 src/cli/browser-cli-debug.ts delete mode 100644 src/cli/browser-cli-examples.ts delete mode 100644 src/cli/browser-cli-extension.test.ts delete mode 100644 src/cli/browser-cli-extension.ts delete mode 100644 src/cli/browser-cli-inspect.test.ts delete mode 100644 src/cli/browser-cli-inspect.ts delete mode 100644 src/cli/browser-cli-manage.ts delete mode 100644 src/cli/browser-cli-shared.ts delete mode 100644 src/cli/browser-cli-state.cookies-storage.ts delete mode 100644 src/cli/browser-cli-state.ts delete mode 100644 src/cli/browser-cli.test.ts delete mode 100644 src/cli/browser-cli.ts delete mode 100644 src/cli/channel-auth.ts delete mode 100644 src/cli/channel-options.ts delete mode 100644 src/cli/channels-cli.ts delete mode 100644 src/cli/command-options.ts delete mode 100644 src/cli/completion-cli.ts delete mode 100644 src/cli/config-cli.ts delete mode 100644 src/cli/cron-cli.test.ts delete mode 100644 src/cli/cron-cli.ts delete mode 100644 src/cli/cron-cli/register.cron-add.ts delete mode 100644 src/cli/cron-cli/register.cron-edit.ts delete mode 100644 src/cli/cron-cli/register.cron-simple.ts delete mode 100644 src/cli/cron-cli/register.ts delete mode 100644 src/cli/cron-cli/shared.test.ts delete mode 100644 src/cli/cron-cli/shared.ts delete mode 100644 src/cli/daemon-cli.coverage.test.ts delete mode 100644 src/cli/daemon-cli.ts delete mode 100644 src/cli/daemon-cli/install.ts delete mode 100644 src/cli/daemon-cli/lifecycle.ts delete mode 100644 src/cli/daemon-cli/probe.ts delete mode 100644 src/cli/daemon-cli/register.ts delete mode 100644 src/cli/daemon-cli/response.ts delete mode 100644 src/cli/daemon-cli/runners.ts delete mode 100644 src/cli/daemon-cli/shared.ts delete mode 100644 src/cli/daemon-cli/status.gather.ts delete mode 100644 src/cli/daemon-cli/status.print.ts delete mode 100644 src/cli/daemon-cli/status.ts delete mode 100644 src/cli/daemon-cli/types.ts delete mode 100644 src/cli/devices-cli.ts delete mode 100644 src/cli/directory-cli.ts delete mode 100644 src/cli/dns-cli.test.ts delete mode 100644 src/cli/dns-cli.ts delete mode 100644 src/cli/docs-cli.ts delete mode 100644 src/cli/exec-approvals-cli.test.ts delete mode 100644 src/cli/exec-approvals-cli.ts delete mode 100644 src/cli/gateway-cli.coverage.test.ts delete mode 100644 src/cli/gateway-cli.ts delete mode 100644 src/cli/gateway-cli/call.ts delete mode 100644 src/cli/gateway-cli/dev.ts delete mode 100644 src/cli/gateway-cli/discover.ts delete mode 100644 src/cli/gateway-cli/register.ts delete mode 100644 src/cli/gateway-cli/run-loop.ts delete mode 100644 src/cli/gateway-cli/run.ts delete mode 100644 src/cli/gateway-cli/shared.ts delete mode 100644 src/cli/gateway-rpc.ts delete mode 100644 src/cli/gateway.sigterm.test.ts delete mode 100644 src/cli/help-format.ts delete mode 100644 src/cli/hooks-cli.test.ts delete mode 100644 src/cli/hooks-cli.ts delete mode 100644 src/cli/logs-cli.test.ts delete mode 100644 src/cli/logs-cli.ts delete mode 100644 src/cli/memory-cli.test.ts delete mode 100644 src/cli/models-cli.test.ts delete mode 100644 src/cli/models-cli.ts delete mode 100644 src/cli/node-cli.ts delete mode 100644 src/cli/node-cli/daemon.ts delete mode 100644 src/cli/node-cli/register.ts delete mode 100644 src/cli/nodes-camera.test.ts delete mode 100644 src/cli/nodes-canvas.test.ts delete mode 100644 src/cli/nodes-cli.coverage.test.ts delete mode 100644 src/cli/nodes-cli.ts delete mode 100644 src/cli/nodes-cli/a2ui-jsonl.ts delete mode 100644 src/cli/nodes-cli/cli-utils.ts delete mode 100644 src/cli/nodes-cli/format.ts delete mode 100644 src/cli/nodes-cli/register.camera.ts delete mode 100644 src/cli/nodes-cli/register.canvas.ts delete mode 100644 src/cli/nodes-cli/register.invoke.ts delete mode 100644 src/cli/nodes-cli/register.location.ts delete mode 100644 src/cli/nodes-cli/register.notify.ts delete mode 100644 src/cli/nodes-cli/register.pairing.ts delete mode 100644 src/cli/nodes-cli/register.screen.ts delete mode 100644 src/cli/nodes-cli/register.status.ts delete mode 100644 src/cli/nodes-cli/register.ts delete mode 100644 src/cli/nodes-cli/rpc.ts delete mode 100644 src/cli/nodes-cli/types.ts delete mode 100644 src/cli/nodes-screen.test.ts delete mode 100644 src/cli/outbound-send-deps.ts delete mode 100644 src/cli/pairing-cli.test.ts delete mode 100644 src/cli/pairing-cli.ts delete mode 100644 src/cli/parse-bytes.test.ts delete mode 100644 src/cli/parse-duration.test.ts delete mode 100644 src/cli/plugin-registry.ts delete mode 100644 src/cli/plugins-cli.ts delete mode 100644 src/cli/ports.ts delete mode 100644 src/cli/profile.test.ts delete mode 100644 src/cli/profile.ts delete mode 100644 src/cli/program.force.test.ts delete mode 100644 src/cli/program.nodes-basic.test.ts delete mode 100644 src/cli/program.nodes-media.test.ts delete mode 100644 src/cli/program.smoke.test.ts delete mode 100644 src/cli/program.ts delete mode 100644 src/cli/program/build-program.ts delete mode 100644 src/cli/program/command-registry.ts delete mode 100644 src/cli/program/config-guard.ts delete mode 100644 src/cli/program/context.ts delete mode 100644 src/cli/program/help.ts delete mode 100644 src/cli/program/helpers.ts delete mode 100644 src/cli/program/message/helpers.ts delete mode 100644 src/cli/program/message/register.broadcast.ts delete mode 100644 src/cli/program/message/register.discord-admin.ts delete mode 100644 src/cli/program/message/register.emoji-sticker.ts delete mode 100644 src/cli/program/message/register.permissions-search.ts delete mode 100644 src/cli/program/message/register.pins.ts delete mode 100644 src/cli/program/message/register.poll.ts delete mode 100644 src/cli/program/message/register.reactions.ts delete mode 100644 src/cli/program/message/register.read-edit-delete.ts delete mode 100644 src/cli/program/message/register.send.ts delete mode 100644 src/cli/program/message/register.thread.ts delete mode 100644 src/cli/program/preaction.ts delete mode 100644 src/cli/program/register.agent.ts delete mode 100644 src/cli/program/register.configure.ts delete mode 100644 src/cli/program/register.maintenance.ts delete mode 100644 src/cli/program/register.message.ts delete mode 100644 src/cli/program/register.onboard.ts delete mode 100644 src/cli/program/register.setup.ts delete mode 100644 src/cli/program/register.status-health-sessions.ts delete mode 100644 src/cli/program/register.subclis.test.ts delete mode 100644 src/cli/program/register.subclis.ts delete mode 100644 src/cli/progress.test.ts delete mode 100644 src/cli/prompt.test.ts delete mode 100644 src/cli/prompt.ts delete mode 100644 src/cli/route.ts delete mode 100644 src/cli/run-main.test.ts delete mode 100644 src/cli/run-main.ts delete mode 100644 src/cli/sandbox-cli.ts delete mode 100644 src/cli/security-cli.ts delete mode 100644 src/cli/skills-cli.test.ts delete mode 100644 src/cli/skills-cli.ts delete mode 100644 src/cli/system-cli.ts delete mode 100644 src/cli/tagline.ts delete mode 100644 src/cli/update-cli.test.ts delete mode 100644 src/cli/update-cli.ts delete mode 100644 src/cli/wait.test.ts delete mode 100644 src/cli/webhooks-cli.ts delete mode 100644 src/commands/agent-via-gateway.test.ts delete mode 100644 src/commands/agent-via-gateway.ts delete mode 100644 src/commands/agent.delivery.test.ts delete mode 100644 src/commands/agent.test.ts delete mode 100644 src/commands/agent.ts delete mode 100644 src/commands/agent/delivery.ts delete mode 100644 src/commands/agent/run-context.ts delete mode 100644 src/commands/agent/session-store.ts delete mode 100644 src/commands/agent/session.ts delete mode 100644 src/commands/agents.add.test.ts delete mode 100644 src/commands/agents.bindings.ts delete mode 100644 src/commands/agents.command-shared.ts delete mode 100644 src/commands/agents.commands.add.ts delete mode 100644 src/commands/agents.commands.delete.ts delete mode 100644 src/commands/agents.commands.identity.ts delete mode 100644 src/commands/agents.commands.list.ts delete mode 100644 src/commands/agents.config.ts delete mode 100644 src/commands/agents.identity.test.ts delete mode 100644 src/commands/agents.providers.ts delete mode 100644 src/commands/agents.test.ts delete mode 100644 src/commands/agents.ts delete mode 100644 src/commands/auth-choice-options.test.ts delete mode 100644 src/commands/auth-choice-options.ts delete mode 100644 src/commands/auth-choice-prompt.ts delete mode 100644 src/commands/auth-choice.api-key.ts delete mode 100644 src/commands/auth-choice.apply.anthropic.ts delete mode 100644 src/commands/auth-choice.apply.api-providers.ts delete mode 100644 src/commands/auth-choice.apply.copilot-proxy.ts delete mode 100644 src/commands/auth-choice.apply.github-copilot.ts delete mode 100644 src/commands/auth-choice.apply.google-antigravity.ts delete mode 100644 src/commands/auth-choice.apply.google-gemini-cli.ts delete mode 100644 src/commands/auth-choice.apply.minimax.ts delete mode 100644 src/commands/auth-choice.apply.oauth.ts delete mode 100644 src/commands/auth-choice.apply.openai.ts delete mode 100644 src/commands/auth-choice.apply.plugin-provider.ts delete mode 100644 src/commands/auth-choice.apply.qwen-portal.ts delete mode 100644 src/commands/auth-choice.apply.ts delete mode 100644 src/commands/auth-choice.apply.xai.ts delete mode 100644 src/commands/auth-choice.default-model.test.ts delete mode 100644 src/commands/auth-choice.default-model.ts delete mode 100644 src/commands/auth-choice.model-check.ts delete mode 100644 src/commands/auth-choice.moonshot.test.ts delete mode 100644 src/commands/auth-choice.preferred-provider.ts delete mode 100644 src/commands/auth-choice.test.ts delete mode 100644 src/commands/auth-choice.ts delete mode 100644 src/commands/auth-token.ts delete mode 100644 src/commands/channels.adds-non-default-telegram-account.test.ts delete mode 100644 src/commands/channels.surfaces-signal-runtime-errors-channels-status-output.test.ts delete mode 100644 src/commands/channels.ts delete mode 100644 src/commands/channels/add-mutators.ts delete mode 100644 src/commands/channels/add.ts delete mode 100644 src/commands/channels/capabilities.test.ts delete mode 100644 src/commands/channels/capabilities.ts delete mode 100644 src/commands/channels/list.ts delete mode 100644 src/commands/channels/logs.ts delete mode 100644 src/commands/channels/remove.ts delete mode 100644 src/commands/channels/resolve.ts delete mode 100644 src/commands/channels/shared.ts delete mode 100644 src/commands/channels/status.ts delete mode 100644 src/commands/chutes-oauth.test.ts delete mode 100644 src/commands/chutes-oauth.ts delete mode 100644 src/commands/cleanup-utils.ts delete mode 100644 src/commands/configure.channels.ts delete mode 100644 src/commands/configure.commands.ts delete mode 100644 src/commands/configure.daemon.ts delete mode 100644 src/commands/configure.gateway-auth.test.ts delete mode 100644 src/commands/configure.gateway-auth.ts delete mode 100644 src/commands/configure.gateway.test.ts delete mode 100644 src/commands/configure.gateway.ts delete mode 100644 src/commands/configure.shared.ts delete mode 100644 src/commands/configure.ts delete mode 100644 src/commands/configure.wizard.test.ts delete mode 100644 src/commands/configure.wizard.ts delete mode 100644 src/commands/daemon-install-helpers.test.ts delete mode 100644 src/commands/daemon-install-helpers.ts delete mode 100644 src/commands/dashboard.test.ts delete mode 100644 src/commands/dashboard.ts delete mode 100644 src/commands/docs.ts delete mode 100644 src/commands/doctor-auth.deprecated-cli-profiles.test.ts delete mode 100644 src/commands/doctor-auth.ts delete mode 100644 src/commands/doctor-completion.ts delete mode 100644 src/commands/doctor-config-flow.test.ts delete mode 100644 src/commands/doctor-config-flow.ts delete mode 100644 src/commands/doctor-format.ts delete mode 100644 src/commands/doctor-gateway-daemon-flow.ts delete mode 100644 src/commands/doctor-gateway-health.ts delete mode 100644 src/commands/doctor-gateway-services.ts delete mode 100644 src/commands/doctor-install.ts delete mode 100644 src/commands/doctor-legacy-config.test.ts delete mode 100644 src/commands/doctor-legacy-config.ts delete mode 100644 src/commands/doctor-platform-notes.launchctl-env-overrides.test.ts delete mode 100644 src/commands/doctor-platform-notes.ts delete mode 100644 src/commands/doctor-prompter.ts delete mode 100644 src/commands/doctor-sandbox.ts delete mode 100644 src/commands/doctor-security.test.ts delete mode 100644 src/commands/doctor-security.ts delete mode 100644 src/commands/doctor-state-integrity.ts delete mode 100644 src/commands/doctor-state-migrations.test.ts delete mode 100644 src/commands/doctor-state-migrations.ts delete mode 100644 src/commands/doctor-ui.ts delete mode 100644 src/commands/doctor-update.ts delete mode 100644 src/commands/doctor-workspace-status.ts delete mode 100644 src/commands/doctor-workspace.test.ts delete mode 100644 src/commands/doctor-workspace.ts delete mode 100644 src/commands/doctor.falls-back-legacy-sandbox-image-missing.test.ts delete mode 100644 src/commands/doctor.migrates-routing-allowfrom-channels-whatsapp-allowfrom.test.ts delete mode 100644 src/commands/doctor.runs-legacy-state-migrations-yes-mode-without.test.ts delete mode 100644 src/commands/doctor.ts delete mode 100644 src/commands/doctor.warns-per-agent-sandbox-docker-browser-prune.test.ts delete mode 100644 src/commands/doctor.warns-state-directory-is-missing.test.ts delete mode 100644 src/commands/gateway-status.test.ts delete mode 100644 src/commands/gateway-status.ts delete mode 100644 src/commands/gateway-status/helpers.ts delete mode 100644 src/commands/google-gemini-model-default.test.ts delete mode 100644 src/commands/google-gemini-model-default.ts delete mode 100644 src/commands/health-format.test.ts delete mode 100644 src/commands/health-format.ts delete mode 100644 src/commands/health.command.coverage.test.ts delete mode 100644 src/commands/health.snapshot.test.ts delete mode 100644 src/commands/health.test.ts delete mode 100644 src/commands/message-format.ts delete mode 100644 src/commands/message.test.ts delete mode 100644 src/commands/message.ts delete mode 100644 src/commands/model-allowlist.ts delete mode 100644 src/commands/model-picker.test.ts delete mode 100644 src/commands/model-picker.ts delete mode 100644 src/commands/models.list.test.ts delete mode 100644 src/commands/models.set.test.ts delete mode 100644 src/commands/models.ts delete mode 100644 src/commands/models/aliases.ts delete mode 100644 src/commands/models/auth-order.ts delete mode 100644 src/commands/models/auth.ts delete mode 100644 src/commands/models/fallbacks.ts delete mode 100644 src/commands/models/image-fallbacks.ts delete mode 100644 src/commands/models/list.auth-overview.ts delete mode 100644 src/commands/models/list.configured.ts delete mode 100644 src/commands/models/list.format.ts delete mode 100644 src/commands/models/list.list-command.ts delete mode 100644 src/commands/models/list.probe.ts delete mode 100644 src/commands/models/list.registry.ts delete mode 100644 src/commands/models/list.status-command.ts delete mode 100644 src/commands/models/list.status.test.ts delete mode 100644 src/commands/models/list.table.ts delete mode 100644 src/commands/models/list.ts delete mode 100644 src/commands/models/list.types.ts delete mode 100644 src/commands/models/scan.ts delete mode 100644 src/commands/models/set-image.ts delete mode 100644 src/commands/models/set.ts delete mode 100644 src/commands/models/shared.ts delete mode 100644 src/commands/node-daemon-install-helpers.ts delete mode 100644 src/commands/node-daemon-runtime.ts delete mode 100644 src/commands/oauth-env.ts delete mode 100644 src/commands/onboard-auth.config-core.ts delete mode 100644 src/commands/onboard-auth.config-minimax.ts delete mode 100644 src/commands/onboard-auth.config-opencode.ts delete mode 100644 src/commands/onboard-auth.credentials.ts delete mode 100644 src/commands/onboard-auth.models.ts delete mode 100644 src/commands/onboard-auth.test.ts delete mode 100644 src/commands/onboard-auth.ts delete mode 100644 src/commands/onboard-channels.test.ts delete mode 100644 src/commands/onboard-channels.ts delete mode 100644 src/commands/onboard-helpers.test.ts delete mode 100644 src/commands/onboard-hooks.test.ts delete mode 100644 src/commands/onboard-hooks.ts delete mode 100644 src/commands/onboard-interactive.ts delete mode 100644 src/commands/onboard-non-interactive.gateway.test.ts delete mode 100644 src/commands/onboard-non-interactive.provider-auth.test.ts delete mode 100644 src/commands/onboard-non-interactive.token.test.ts delete mode 100644 src/commands/onboard-non-interactive.ts delete mode 100644 src/commands/onboard-non-interactive.xai.test.ts delete mode 100644 src/commands/onboard-non-interactive/api-keys.ts delete mode 100644 src/commands/onboard-non-interactive/local.ts delete mode 100644 src/commands/onboard-non-interactive/local/auth-choice-inference.ts delete mode 100644 src/commands/onboard-non-interactive/local/auth-choice.ts delete mode 100644 src/commands/onboard-non-interactive/local/daemon-install.ts delete mode 100644 src/commands/onboard-non-interactive/local/gateway-config.ts delete mode 100644 src/commands/onboard-non-interactive/local/output.ts delete mode 100644 src/commands/onboard-non-interactive/local/skills-config.ts delete mode 100644 src/commands/onboard-non-interactive/local/workspace.ts delete mode 100644 src/commands/onboard-non-interactive/remote.ts delete mode 100644 src/commands/onboard-remote.ts delete mode 100644 src/commands/onboard-skills.test.ts delete mode 100644 src/commands/onboard-skills.ts delete mode 100644 src/commands/onboard.ts delete mode 100644 src/commands/onboarding/__tests__/test-utils.ts delete mode 100644 src/commands/onboarding/plugin-install.test.ts delete mode 100644 src/commands/onboarding/plugin-install.ts delete mode 100644 src/commands/onboarding/registry.ts delete mode 100644 src/commands/onboarding/types.ts delete mode 100644 src/commands/openai-codex-model-default.test.ts delete mode 100644 src/commands/openai-codex-model-default.ts delete mode 100644 src/commands/openai-model-default.test.ts delete mode 100644 src/commands/openai-model-default.ts delete mode 100644 src/commands/opencode-zen-model-default.test.ts delete mode 100644 src/commands/opencode-zen-model-default.ts delete mode 100644 src/commands/reset.ts delete mode 100644 src/commands/sandbox-display.ts delete mode 100644 src/commands/sandbox-explain.test.ts delete mode 100644 src/commands/sandbox-explain.ts delete mode 100644 src/commands/sandbox-formatters.test.ts delete mode 100644 src/commands/sandbox-formatters.ts delete mode 100644 src/commands/sandbox.test.ts delete mode 100644 src/commands/sandbox.ts delete mode 100644 src/commands/sessions.test.ts delete mode 100644 src/commands/sessions.ts delete mode 100644 src/commands/setup.ts delete mode 100644 src/commands/signal-install.ts delete mode 100644 src/commands/status-all.ts delete mode 100644 src/commands/status-all/agents.ts delete mode 100644 src/commands/status-all/channels.ts delete mode 100644 src/commands/status-all/diagnosis.ts delete mode 100644 src/commands/status-all/format.ts delete mode 100644 src/commands/status-all/gateway.ts delete mode 100644 src/commands/status-all/report-lines.ts delete mode 100644 src/commands/status.agent-local.ts delete mode 100644 src/commands/status.command.ts delete mode 100644 src/commands/status.daemon.ts delete mode 100644 src/commands/status.format.ts delete mode 100644 src/commands/status.gateway-probe.ts delete mode 100644 src/commands/status.link-channel.ts delete mode 100644 src/commands/status.scan.ts delete mode 100644 src/commands/status.summary.ts delete mode 100644 src/commands/status.test.ts delete mode 100644 src/commands/status.ts delete mode 100644 src/commands/status.types.ts delete mode 100644 src/commands/status.update.ts delete mode 100644 src/commands/systemd-linger.ts delete mode 100644 src/commands/uninstall.ts delete mode 100644 src/config/agent-dirs.test.ts delete mode 100644 src/config/channel-capabilities.test.ts delete mode 100644 src/config/commands.test.ts delete mode 100644 src/config/config-paths.test.ts delete mode 100644 src/config/config.agent-concurrency-defaults.test.ts delete mode 100644 src/config/config.backup-rotation.test.ts delete mode 100644 src/config/config.broadcast.test.ts delete mode 100644 src/config/config.compaction-settings.test.ts delete mode 100644 src/config/config.discord.test.ts delete mode 100644 src/config/config.env-vars.test.ts delete mode 100644 src/config/config.gateway-remote-transport.test.ts delete mode 100644 src/config/config.identity-avatar.test.ts delete mode 100644 src/config/config.identity-defaults.test.ts delete mode 100644 src/config/config.legacy-config-detection.accepts-imessage-dmpolicy.test.ts delete mode 100644 src/config/config.legacy-config-detection.rejects-routing-allowfrom.test.ts delete mode 100644 src/config/config.msteams.test.ts delete mode 100644 src/config/config.multi-agent-agentdir-validation.test.ts delete mode 100644 src/config/config.nix-integration-u3-u5-u9.test.ts delete mode 100644 src/config/config.plugin-validation.test.ts delete mode 100644 src/config/config.preservation-on-validation-failure.test.ts delete mode 100644 src/config/config.pruning-defaults.test.ts delete mode 100644 src/config/config.sandbox-docker.test.ts delete mode 100644 src/config/config.skills-entries-config.test.ts delete mode 100644 src/config/config.talk-api-key-fallback.test.ts delete mode 100644 src/config/config.talk-voicealiases.test.ts delete mode 100644 src/config/config.telegram-custom-commands.test.ts delete mode 100644 src/config/config.tools-alsoAllow.test.ts delete mode 100644 src/config/config.web-search-provider.test.ts delete mode 100644 src/config/env-substitution.test.ts delete mode 100644 src/config/includes.test.ts delete mode 100644 src/config/io.compat.test.ts delete mode 100644 src/config/logging.ts delete mode 100644 src/config/merge-config.ts delete mode 100644 src/config/merge-patch.ts delete mode 100644 src/config/model-alias-defaults.test.ts delete mode 100644 src/config/normalize-paths.test.ts delete mode 100644 src/config/paths.test.ts delete mode 100644 src/config/plugin-auto-enable.test.ts delete mode 100644 src/config/plugin-auto-enable.ts delete mode 100644 src/config/redact-snapshot.test.ts delete mode 100644 src/config/redact-snapshot.ts delete mode 100644 src/config/runtime-overrides.test.ts delete mode 100644 src/config/schema.test.ts delete mode 100644 src/config/schema.ts delete mode 100644 src/config/sessions.cache.test.ts delete mode 100644 src/config/sessions.test.ts delete mode 100644 src/config/sessions/metadata.test.ts delete mode 100644 src/config/sessions/paths.test.ts delete mode 100644 src/config/sessions/reset.test.ts delete mode 100644 src/config/sessions/store.pruning.test.ts delete mode 100644 src/config/sessions/transcript.test.ts delete mode 100644 src/config/slack-http-config.test.ts delete mode 100644 src/config/slack-token-validation.test.ts delete mode 100644 src/config/telegram-webhook-secret.test.ts delete mode 100644 src/config/test-helpers.ts delete mode 100644 src/config/ui-seam-color.test.ts delete mode 100644 src/cron/cron-protocol-conformance.test.ts delete mode 100644 src/cron/delivery.test.ts delete mode 100644 src/cron/isolated-agent.delivers-response-has-heartbeat-ok-but-includes.test.ts delete mode 100644 src/cron/isolated-agent.skips-delivery-without-whatsapp-recipient-besteffortdeliver-true.test.ts delete mode 100644 src/cron/isolated-agent.ts delete mode 100644 src/cron/isolated-agent.uses-last-non-empty-agent-text-as.test.ts delete mode 100644 src/cron/isolated-agent/delivery-target.ts delete mode 100644 src/cron/isolated-agent/helpers.ts delete mode 100644 src/cron/isolated-agent/run.ts delete mode 100644 src/cron/isolated-agent/session.ts delete mode 100644 src/cron/normalize.test.ts delete mode 100644 src/cron/run-log.test.ts delete mode 100644 src/cron/run-log.ts delete mode 100644 src/cron/schedule.test.ts delete mode 100644 src/cron/service.delivery-plan.test.ts delete mode 100644 src/cron/service.every-jobs-fire.test.ts delete mode 100644 src/cron/service.issue-regressions.test.ts delete mode 100644 src/cron/service.jobs.test.ts delete mode 100644 src/cron/service.prevents-duplicate-timers.test.ts delete mode 100644 src/cron/service.read-ops-nonblocking.test.ts delete mode 100644 src/cron/service.restart-catchup.test.ts delete mode 100644 src/cron/service.runs-one-shot-main-job-disables-it.test.ts delete mode 100644 src/cron/service.skips-main-jobs-empty-systemevent-text.test.ts delete mode 100644 src/cron/service.store-migration.test.ts delete mode 100644 src/cron/service.store.migration.test.ts delete mode 100644 src/cron/session-reaper.test.ts delete mode 100644 src/cron/store.test.ts delete mode 100644 src/cron/validate-timestamp.ts delete mode 100644 src/daemon/constants.test.ts delete mode 100644 src/daemon/diagnostics.ts delete mode 100644 src/daemon/inspect.ts delete mode 100644 src/daemon/launchd-plist.ts delete mode 100644 src/daemon/launchd.test.ts delete mode 100644 src/daemon/launchd.ts delete mode 100644 src/daemon/node-service.ts delete mode 100644 src/daemon/paths.test.ts delete mode 100644 src/daemon/paths.ts delete mode 100644 src/daemon/program-args.test.ts delete mode 100644 src/daemon/program-args.ts delete mode 100644 src/daemon/runtime-parse.ts delete mode 100644 src/daemon/runtime-paths.test.ts delete mode 100644 src/daemon/runtime-paths.ts delete mode 100644 src/daemon/schtasks.test.ts delete mode 100644 src/daemon/schtasks.ts delete mode 100644 src/daemon/service-audit.test.ts delete mode 100644 src/daemon/service-audit.ts delete mode 100644 src/daemon/service-env.test.ts delete mode 100644 src/daemon/service-env.ts delete mode 100644 src/daemon/service-runtime.ts delete mode 100644 src/daemon/service.ts delete mode 100644 src/daemon/systemd-availability.test.ts delete mode 100644 src/daemon/systemd-hints.ts delete mode 100644 src/daemon/systemd-linger.ts delete mode 100644 src/daemon/systemd-unit.test.ts delete mode 100644 src/daemon/systemd-unit.ts delete mode 100644 src/daemon/systemd.test.ts delete mode 100644 src/daemon/systemd.ts delete mode 100644 src/discord/api.test.ts delete mode 100644 src/discord/audit.test.ts delete mode 100644 src/discord/chunk.test.ts delete mode 100644 src/discord/gateway-logging.test.ts delete mode 100644 src/discord/index.ts delete mode 100644 src/discord/monitor.gateway.test.ts delete mode 100644 src/discord/monitor.slash.test.ts delete mode 100644 src/discord/monitor.test.ts delete mode 100644 src/discord/monitor.tool-result.accepts-guild-messages-mentionpatterns-match.test.ts delete mode 100644 src/discord/monitor.tool-result.sends-status-replies-responseprefix.test.ts delete mode 100644 src/discord/monitor/allow-list.test.ts delete mode 100644 src/discord/monitor/exec-approvals.test.ts delete mode 100644 src/discord/monitor/gateway-registry.test.ts delete mode 100644 src/discord/monitor/message-handler.inbound-contract.test.ts delete mode 100644 src/discord/monitor/message-handler.process.test.ts delete mode 100644 src/discord/monitor/presence-cache.test.ts delete mode 100644 src/discord/monitor/threading.test.ts delete mode 100644 src/discord/pluralkit.test.ts delete mode 100644 src/discord/probe.intents.test.ts delete mode 100644 src/discord/resolve-channels.test.ts delete mode 100644 src/discord/send.creates-thread.test.ts delete mode 100644 src/discord/send.sends-basic-channel-messages.test.ts delete mode 100644 src/discord/targets.test.ts delete mode 100644 src/discord/token.test.ts delete mode 100644 src/docker-setup.test.ts delete mode 100644 src/docs/slash-commands-doc.test.ts delete mode 100644 src/entry.ts delete mode 100644 src/extensionAPI.ts delete mode 100644 src/gateway/assistant-identity.test.ts delete mode 100644 src/gateway/assistant-identity.ts delete mode 100644 src/gateway/auth.test.ts delete mode 100644 src/gateway/auth.ts delete mode 100644 src/gateway/boot.test.ts delete mode 100644 src/gateway/boot.ts delete mode 100644 src/gateway/call.test.ts delete mode 100644 src/gateway/chat-attachments.test.ts delete mode 100644 src/gateway/chat-attachments.ts delete mode 100644 src/gateway/chat-sanitize.test.ts delete mode 100644 src/gateway/client.maxpayload.test.ts delete mode 100644 src/gateway/client.test.ts delete mode 100644 src/gateway/config-reload.test.ts delete mode 100644 src/gateway/config-reload.ts delete mode 100644 src/gateway/control-ui.test.ts delete mode 100644 src/gateway/control-ui.ts delete mode 100644 src/gateway/exec-approval-manager.ts delete mode 100644 src/gateway/gateway-cli-backend.live.test.ts delete mode 100644 src/gateway/gateway-models.profiles.live.test.ts delete mode 100644 src/gateway/gateway.e2e.test.ts delete mode 100644 src/gateway/hooks-mapping.test.ts delete mode 100644 src/gateway/hooks-mapping.ts delete mode 100644 src/gateway/hooks.test.ts delete mode 100644 src/gateway/hooks.ts delete mode 100644 src/gateway/http-common.ts delete mode 100644 src/gateway/http-utils.ts delete mode 100644 src/gateway/live-image-probe.ts delete mode 100644 src/gateway/net.test.ts delete mode 100644 src/gateway/node-command-policy.test.ts delete mode 100644 src/gateway/node-command-policy.ts delete mode 100644 src/gateway/open-responses.schema.ts delete mode 100644 src/gateway/openai-http.e2e.test.ts delete mode 100644 src/gateway/openai-http.ts delete mode 100644 src/gateway/openresponses-http.e2e.test.ts delete mode 100644 src/gateway/openresponses-http.ts delete mode 100644 src/gateway/openresponses-parity.e2e.test.ts delete mode 100644 src/gateway/origin-check.test.ts delete mode 100644 src/gateway/origin-check.ts delete mode 100644 src/gateway/probe.ts delete mode 100644 src/gateway/protocol/index.test.ts delete mode 100644 src/gateway/server-broadcast.test.ts delete mode 100644 src/gateway/server-broadcast.ts delete mode 100644 src/gateway/server-browser.ts delete mode 100644 src/gateway/server-chat-registry.test.ts delete mode 100644 src/gateway/server-chat.agent-events.test.ts delete mode 100644 src/gateway/server-chat.ts delete mode 100644 src/gateway/server-close.ts delete mode 100644 src/gateway/server-constants.ts delete mode 100644 src/gateway/server-cron.ts delete mode 100644 src/gateway/server-discovery-runtime.ts delete mode 100644 src/gateway/server-discovery.test.ts delete mode 100644 src/gateway/server-discovery.ts delete mode 100644 src/gateway/server-http.ts delete mode 100644 src/gateway/server-lanes.ts delete mode 100644 src/gateway/server-maintenance.ts delete mode 100644 src/gateway/server-methods-list.ts delete mode 100644 src/gateway/server-methods.ts delete mode 100644 src/gateway/server-methods/AGENTS.md delete mode 120000 src/gateway/server-methods/CLAUDE.md delete mode 100644 src/gateway/server-methods/agent-job.ts delete mode 100644 src/gateway/server-methods/agent-timestamp.test.ts delete mode 100644 src/gateway/server-methods/agent-timestamp.ts delete mode 100644 src/gateway/server-methods/agent.test.ts delete mode 100644 src/gateway/server-methods/agent.ts delete mode 100644 src/gateway/server-methods/agents-mutate.test.ts delete mode 100644 src/gateway/server-methods/agents.ts delete mode 100644 src/gateway/server-methods/browser.ts delete mode 100644 src/gateway/server-methods/channels.ts delete mode 100644 src/gateway/server-methods/chat.inject.parentid.test.ts delete mode 100644 src/gateway/server-methods/chat.transcript-writes.guardrail.test.ts delete mode 100644 src/gateway/server-methods/chat.ts delete mode 100644 src/gateway/server-methods/config.ts delete mode 100644 src/gateway/server-methods/connect.ts delete mode 100644 src/gateway/server-methods/cron.ts delete mode 100644 src/gateway/server-methods/devices.ts delete mode 100644 src/gateway/server-methods/exec-approval.test.ts delete mode 100644 src/gateway/server-methods/exec-approval.ts delete mode 100644 src/gateway/server-methods/exec-approvals.ts delete mode 100644 src/gateway/server-methods/health.ts delete mode 100644 src/gateway/server-methods/logs.test.ts delete mode 100644 src/gateway/server-methods/logs.ts delete mode 100644 src/gateway/server-methods/models.ts delete mode 100644 src/gateway/server-methods/nodes.helpers.ts delete mode 100644 src/gateway/server-methods/nodes.ts delete mode 100644 src/gateway/server-methods/send.test.ts delete mode 100644 src/gateway/server-methods/send.ts delete mode 100644 src/gateway/server-methods/sessions.ts delete mode 100644 src/gateway/server-methods/skills.ts delete mode 100644 src/gateway/server-methods/skills.update.normalizes-api-key.test.ts delete mode 100644 src/gateway/server-methods/system.ts delete mode 100644 src/gateway/server-methods/talk.ts delete mode 100644 src/gateway/server-methods/tts.ts delete mode 100644 src/gateway/server-methods/update.ts delete mode 100644 src/gateway/server-methods/usage.sessions-usage.test.ts delete mode 100644 src/gateway/server-methods/usage.test.ts delete mode 100644 src/gateway/server-methods/usage.ts delete mode 100644 src/gateway/server-methods/voicewake.ts delete mode 100644 src/gateway/server-methods/web.ts delete mode 100644 src/gateway/server-methods/wizard.ts delete mode 100644 src/gateway/server-mobile-nodes.ts delete mode 100644 src/gateway/server-model-catalog.ts delete mode 100644 src/gateway/server-node-events-types.ts delete mode 100644 src/gateway/server-node-events.test.ts delete mode 100644 src/gateway/server-node-events.ts delete mode 100644 src/gateway/server-node-subscriptions.test.ts delete mode 100644 src/gateway/server-node-subscriptions.ts delete mode 100644 src/gateway/server-plugins.test.ts delete mode 100644 src/gateway/server-plugins.ts delete mode 100644 src/gateway/server-reload-handlers.ts delete mode 100644 src/gateway/server-restart-sentinel.ts delete mode 100644 src/gateway/server-runtime-config.ts delete mode 100644 src/gateway/server-runtime-state.ts delete mode 100644 src/gateway/server-session-key.ts delete mode 100644 src/gateway/server-startup-log.ts delete mode 100644 src/gateway/server-startup.ts delete mode 100644 src/gateway/server-tailscale.ts delete mode 100644 src/gateway/server-utils.test.ts delete mode 100644 src/gateway/server-utils.ts delete mode 100644 src/gateway/server-wizard-sessions.ts delete mode 100644 src/gateway/server-ws-runtime.ts delete mode 100644 src/gateway/server.agent.gateway-server-agent-a.e2e.test.ts delete mode 100644 src/gateway/server.agent.gateway-server-agent-b.e2e.test.ts delete mode 100644 src/gateway/server.auth.e2e.test.ts delete mode 100644 src/gateway/server.canvas-auth.e2e.test.ts delete mode 100644 src/gateway/server.channels.e2e.test.ts delete mode 100644 src/gateway/server.chat.gateway-server-chat-b.e2e.test.ts delete mode 100644 src/gateway/server.chat.gateway-server-chat.e2e.test.ts delete mode 100644 src/gateway/server.config-apply.e2e.test.ts delete mode 100644 src/gateway/server.config-patch.e2e.test.ts delete mode 100644 src/gateway/server.cron.e2e.test.ts delete mode 100644 src/gateway/server.health.e2e.test.ts delete mode 100644 src/gateway/server.hooks.e2e.test.ts delete mode 100644 src/gateway/server.impl.ts delete mode 100644 src/gateway/server.ios-client-id.e2e.test.ts delete mode 100644 src/gateway/server.models-voicewake-misc.e2e.test.ts delete mode 100644 src/gateway/server.nodes.late-invoke.test.ts delete mode 100644 src/gateway/server.reload.e2e.test.ts delete mode 100644 src/gateway/server.roles-allowlist-update.e2e.test.ts delete mode 100644 src/gateway/server.sessions-send.e2e.test.ts delete mode 100644 src/gateway/server.sessions.gateway-server-sessions-a.e2e.test.ts delete mode 100644 src/gateway/server.ts delete mode 100644 src/gateway/server/__tests__/test-utils.ts delete mode 100644 src/gateway/server/close-reason.ts delete mode 100644 src/gateway/server/health-state.ts delete mode 100644 src/gateway/server/hooks.ts delete mode 100644 src/gateway/server/http-listen.ts delete mode 100644 src/gateway/server/plugins-http.test.ts delete mode 100644 src/gateway/server/plugins-http.ts delete mode 100644 src/gateway/server/tls.ts delete mode 100644 src/gateway/server/ws-connection.ts delete mode 100644 src/gateway/server/ws-connection/message-handler.ts delete mode 100644 src/gateway/session-utils.fs.test.ts delete mode 100644 src/gateway/session-utils.test.ts delete mode 100644 src/gateway/sessions-patch.test.ts delete mode 100644 src/gateway/sessions-patch.ts delete mode 100644 src/gateway/sessions-resolve.ts delete mode 100644 src/gateway/test-helpers.e2e.ts delete mode 100644 src/gateway/test-helpers.mocks.ts delete mode 100644 src/gateway/test-helpers.openai-mock.ts delete mode 100644 src/gateway/test-helpers.server.ts delete mode 100644 src/gateway/test-helpers.ts delete mode 100644 src/gateway/tools-invoke-http.test.ts delete mode 100644 src/gateway/tools-invoke-http.ts delete mode 100644 src/gateway/ws-log.test.ts delete mode 100644 src/gateway/ws-log.ts delete mode 100644 src/gateway/ws-logging.ts delete mode 100644 src/globals.test.ts delete mode 100644 src/hooks/bundled-dir.ts delete mode 100644 src/hooks/bundled/README.md delete mode 100644 src/hooks/bundled/boot-md/HOOK.md delete mode 100644 src/hooks/bundled/boot-md/handler.ts delete mode 100644 src/hooks/bundled/command-logger/HOOK.md delete mode 100644 src/hooks/bundled/command-logger/handler.ts delete mode 100644 src/hooks/bundled/session-memory/HOOK.md delete mode 100644 src/hooks/bundled/session-memory/handler.test.ts delete mode 100644 src/hooks/bundled/session-memory/handler.ts delete mode 100644 src/hooks/bundled/soul-evil/HOOK.md delete mode 100644 src/hooks/bundled/soul-evil/README.md delete mode 100644 src/hooks/bundled/soul-evil/handler.test.ts delete mode 100644 src/hooks/bundled/soul-evil/handler.ts delete mode 100644 src/hooks/config.ts delete mode 100644 src/hooks/frontmatter.test.ts delete mode 100644 src/hooks/frontmatter.ts delete mode 100644 src/hooks/gmail-ops.ts delete mode 100644 src/hooks/gmail-setup-utils.test.ts delete mode 100644 src/hooks/gmail-setup-utils.ts delete mode 100644 src/hooks/gmail-watcher.test.ts delete mode 100644 src/hooks/gmail-watcher.ts delete mode 100644 src/hooks/gmail.test.ts delete mode 100644 src/hooks/gmail.ts delete mode 100644 src/hooks/hooks-install.e2e.test.ts delete mode 100644 src/hooks/hooks-status.ts delete mode 100644 src/hooks/hooks.ts delete mode 100644 src/hooks/install.test.ts delete mode 100644 src/hooks/install.ts delete mode 100644 src/hooks/installs.ts delete mode 100644 src/hooks/internal-hooks.test.ts delete mode 100644 src/hooks/llm-slug-generator.ts delete mode 100644 src/hooks/loader.test.ts delete mode 100644 src/hooks/loader.ts delete mode 100644 src/hooks/plugin-hooks.ts delete mode 100644 src/hooks/soul-evil.test.ts delete mode 100644 src/hooks/soul-evil.ts delete mode 100644 src/hooks/workspace.ts delete mode 100644 src/imessage/index.ts delete mode 100644 src/imessage/monitor.skips-group-messages-without-mention-by-default.test.ts delete mode 100644 src/imessage/monitor.updates-last-route-chat-id-direct-messages.test.ts delete mode 100644 src/imessage/probe.test.ts delete mode 100644 src/imessage/send.test.ts delete mode 100644 src/imessage/targets.test.ts delete mode 100644 src/index.test.ts delete mode 100644 src/index.ts delete mode 100644 src/infra/agent-events.test.ts delete mode 100644 src/infra/archive.test.ts delete mode 100644 src/infra/archive.ts delete mode 100644 src/infra/binaries.test.ts delete mode 100644 src/infra/binaries.ts delete mode 100644 src/infra/bonjour-ciao.ts delete mode 100644 src/infra/bonjour-discovery.test.ts delete mode 100644 src/infra/bonjour-discovery.ts delete mode 100644 src/infra/bonjour-errors.ts delete mode 100644 src/infra/bonjour.test.ts delete mode 100644 src/infra/bonjour.ts delete mode 100644 src/infra/brew.test.ts delete mode 100644 src/infra/brew.ts delete mode 100644 src/infra/canvas-host-url.ts delete mode 100644 src/infra/channel-activity.test.ts delete mode 100644 src/infra/channels-status-issues.ts delete mode 100644 src/infra/clipboard.ts delete mode 100644 src/infra/control-ui-assets.test.ts delete mode 100644 src/infra/control-ui-assets.ts delete mode 100644 src/infra/dedupe.test.ts delete mode 100644 src/infra/device-identity.state-dir.test.ts delete mode 100644 src/infra/device-pairing.test.ts delete mode 100644 src/infra/device-pairing.ts delete mode 100644 src/infra/diagnostic-events.test.ts delete mode 100644 src/infra/diagnostic-flags.test.ts delete mode 100644 src/infra/dotenv.test.ts delete mode 100644 src/infra/env-file.ts delete mode 100644 src/infra/env.test.ts delete mode 100644 src/infra/exec-approval-forwarder.test.ts delete mode 100644 src/infra/exec-approval-forwarder.ts delete mode 100644 src/infra/exec-approvals.test.ts delete mode 100644 src/infra/exec-host.ts delete mode 100644 src/infra/fetch.test.ts delete mode 100644 src/infra/format-time/format-time.test.ts delete mode 100644 src/infra/fs-safe.ts delete mode 100644 src/infra/gateway-lock.test.ts delete mode 100644 src/infra/gateway-lock.ts delete mode 100644 src/infra/heartbeat-runner.respects-ackmaxchars-heartbeat-acks.test.ts delete mode 100644 src/infra/heartbeat-runner.returns-default-unset.test.ts delete mode 100644 src/infra/heartbeat-runner.scheduler.test.ts delete mode 100644 src/infra/heartbeat-runner.sender-prefers-delivery-target.test.ts delete mode 100644 src/infra/heartbeat-visibility.test.ts delete mode 100644 src/infra/home-dir.test.ts delete mode 100644 src/infra/is-main.test.ts delete mode 100644 src/infra/is-main.ts delete mode 100644 src/infra/net/ssrf.pinning.test.ts delete mode 100644 src/infra/node-shell.test.ts delete mode 100644 src/infra/os-summary.ts delete mode 100644 src/infra/outbound/agent-delivery.test.ts delete mode 100644 src/infra/outbound/agent-delivery.ts delete mode 100644 src/infra/outbound/deliver.test.ts delete mode 100644 src/infra/outbound/envelope.test.ts delete mode 100644 src/infra/outbound/envelope.ts delete mode 100644 src/infra/outbound/format.test.ts delete mode 100644 src/infra/outbound/format.ts delete mode 100644 src/infra/outbound/message-action-runner.test.ts delete mode 100644 src/infra/outbound/message-action-runner.threading.test.ts delete mode 100644 src/infra/outbound/message.test.ts delete mode 100644 src/infra/outbound/outbound-policy.test.ts delete mode 100644 src/infra/outbound/outbound-session.test.ts delete mode 100644 src/infra/outbound/payloads.test.ts delete mode 100644 src/infra/outbound/target-resolver.test.ts delete mode 100644 src/infra/outbound/targets.test.ts delete mode 100644 src/infra/path-env.test.ts delete mode 100644 src/infra/path-env.ts delete mode 100644 src/infra/ports-inspect.test.ts delete mode 100644 src/infra/ports.test.ts delete mode 100644 src/infra/provider-usage.auth.normalizes-keys.test.ts delete mode 100644 src/infra/provider-usage.fetch.antigravity.test.ts delete mode 100644 src/infra/provider-usage.test.ts delete mode 100644 src/infra/restart-sentinel.test.ts delete mode 100644 src/infra/restart.test.ts delete mode 100644 src/infra/retry-policy.test.ts delete mode 100644 src/infra/retry.test.ts delete mode 100644 src/infra/run-node.test.ts delete mode 100644 src/infra/runtime-guard.test.ts delete mode 100644 src/infra/runtime-guard.ts delete mode 100644 src/infra/session-cost-usage.test.ts delete mode 100644 src/infra/shell-env.path.test.ts delete mode 100644 src/infra/shell-env.test.ts delete mode 100644 src/infra/ssh-config.test.ts delete mode 100644 src/infra/ssh-config.ts delete mode 100644 src/infra/ssh-tunnel.test.ts delete mode 100644 src/infra/ssh-tunnel.ts delete mode 100644 src/infra/state-migrations.fs.test.ts delete mode 100644 src/infra/state-migrations.fs.ts delete mode 100644 src/infra/state-migrations.ts delete mode 100644 src/infra/system-events.test.ts delete mode 100644 src/infra/system-presence.test.ts delete mode 100644 src/infra/system-presence.ts delete mode 100644 src/infra/tailnet.test.ts delete mode 100644 src/infra/tailscale.test.ts delete mode 100644 src/infra/tailscale.ts delete mode 100644 src/infra/tls/fingerprint.test.ts delete mode 100644 src/infra/transport-ready.test.ts delete mode 100644 src/infra/unhandled-rejections.fatal-detection.test.ts delete mode 100644 src/infra/unhandled-rejections.test.ts delete mode 100644 src/infra/update-channels.ts delete mode 100644 src/infra/update-check.test.ts delete mode 100644 src/infra/update-check.ts delete mode 100644 src/infra/update-global.ts delete mode 100644 src/infra/update-runner.test.ts delete mode 100644 src/infra/update-runner.ts delete mode 100644 src/infra/update-startup.test.ts delete mode 100644 src/infra/update-startup.ts delete mode 100644 src/infra/voicewake.test.ts delete mode 100644 src/infra/voicewake.ts delete mode 100644 src/infra/warning-filter.test.ts delete mode 100644 src/infra/widearea-dns.test.ts delete mode 100644 src/infra/widearea-dns.ts delete mode 100644 src/line/accounts.test.ts delete mode 100644 src/line/auto-reply-delivery.test.ts delete mode 100644 src/line/bot-handlers.test.ts delete mode 100644 src/line/bot-message-context.test.ts delete mode 100644 src/line/config-schema.ts delete mode 100644 src/line/flex-templates.test.ts delete mode 100644 src/line/http-registry.ts delete mode 100644 src/line/index.ts delete mode 100644 src/line/markdown-to-line.test.ts delete mode 100644 src/line/probe.test.ts delete mode 100644 src/line/reply-chunks.test.ts delete mode 100644 src/line/rich-menu.test.ts delete mode 100644 src/line/rich-menu.ts delete mode 100644 src/line/send.test.ts delete mode 100644 src/line/signature.test.ts delete mode 100644 src/line/template-messages.test.ts delete mode 100644 src/line/webhook.test.ts delete mode 100644 src/link-understanding/detect.test.ts delete mode 100644 src/link-understanding/index.ts delete mode 100644 src/logger.test.ts delete mode 100644 src/logging/console-capture.test.ts delete mode 100644 src/logging/console-prefix.test.ts delete mode 100644 src/logging/console-settings.test.ts delete mode 100644 src/logging/parse-log-line.test.ts delete mode 100644 src/logging/parse-log-line.ts delete mode 100644 src/logging/redact.test.ts delete mode 100644 src/macos/gateway-daemon.ts delete mode 100644 src/macos/relay-smoke.test.ts delete mode 100644 src/macos/relay-smoke.ts delete mode 100644 src/macos/relay.ts delete mode 100644 src/markdown/frontmatter.test.ts delete mode 100644 src/markdown/ir.table-bullets.test.ts delete mode 100644 src/media-understanding/apply.test.ts delete mode 100644 src/media-understanding/attachments.ssrf.test.ts delete mode 100644 src/media-understanding/format.test.ts delete mode 100644 src/media-understanding/index.ts delete mode 100644 src/media-understanding/providers/deepgram/audio.live.test.ts delete mode 100644 src/media-understanding/providers/deepgram/audio.test.ts delete mode 100644 src/media-understanding/providers/google/video.test.ts delete mode 100644 src/media-understanding/providers/openai/audio.test.ts delete mode 100644 src/media-understanding/resolve.test.ts delete mode 100644 src/media-understanding/runner.auto-audio.test.ts delete mode 100644 src/media-understanding/runner.deepgram.test.ts delete mode 100644 src/media-understanding/runner.vision-skip.test.ts delete mode 100644 src/media-understanding/scope.test.ts delete mode 100644 src/media/fetch.test.ts delete mode 100644 src/media/host.test.ts delete mode 100644 src/media/host.ts delete mode 100644 src/media/mime.test.ts delete mode 100644 src/media/parse.test.ts delete mode 100644 src/media/server.test.ts delete mode 100644 src/media/server.ts delete mode 100644 src/media/store.header-ext.test.ts delete mode 100644 src/media/store.redirect.test.ts delete mode 100644 src/media/store.test.ts delete mode 100644 src/memory/backend-config.test.ts delete mode 100644 src/memory/batch-voyage.test.ts delete mode 100644 src/memory/embeddings-voyage.test.ts delete mode 100644 src/memory/embeddings.test.ts delete mode 100644 src/memory/headers-fingerprint.ts delete mode 100644 src/memory/hybrid.test.ts delete mode 100644 src/memory/index.test.ts delete mode 100644 src/memory/internal.test.ts delete mode 100644 src/memory/manager-cache-key.ts delete mode 100644 src/memory/manager.async-search.test.ts delete mode 100644 src/memory/manager.atomic-reindex.test.ts delete mode 100644 src/memory/manager.batch.test.ts delete mode 100644 src/memory/manager.embedding-batches.test.ts delete mode 100644 src/memory/manager.sync-errors-do-not-crash.test.ts delete mode 100644 src/memory/manager.vector-dedupe.test.ts delete mode 100644 src/memory/openai-batch.ts delete mode 100644 src/memory/provider-key.ts delete mode 100644 src/memory/qmd-manager.test.ts delete mode 100644 src/memory/search-manager.test.ts delete mode 100644 src/memory/status-format.ts delete mode 100644 src/memory/sync-memory-files.ts delete mode 100644 src/memory/sync-session-files.ts delete mode 100644 src/node-host/config.ts delete mode 100644 src/node-host/runner.test.ts delete mode 100644 src/node-host/runner.ts delete mode 100644 src/pairing/pairing-messages.test.ts delete mode 100644 src/pairing/pairing-store.test.ts delete mode 100644 src/plugin-sdk/index.test.ts delete mode 100644 src/plugin-sdk/index.ts delete mode 100644 src/plugins/cli.test.ts delete mode 100644 src/plugins/cli.ts delete mode 100644 src/plugins/config-schema.ts delete mode 100644 src/plugins/config-state.test.ts delete mode 100644 src/plugins/discovery.test.ts delete mode 100644 src/plugins/enable.ts delete mode 100644 src/plugins/install.test.ts delete mode 100644 src/plugins/install.ts delete mode 100644 src/plugins/installs.ts delete mode 100644 src/plugins/loader.test.ts delete mode 100644 src/plugins/providers.ts delete mode 100644 src/plugins/services.ts delete mode 100644 src/plugins/slots.test.ts delete mode 100644 src/plugins/source-display.test.ts delete mode 100644 src/plugins/source-display.ts delete mode 100644 src/plugins/status.ts delete mode 100644 src/plugins/tools.optional.test.ts delete mode 100644 src/plugins/update.ts delete mode 100644 src/plugins/voice-call.plugin.test.ts delete mode 100644 src/polls.test.ts delete mode 100644 src/process/child-process-bridge.test.ts delete mode 100644 src/process/child-process-bridge.ts delete mode 100644 src/process/command-queue.test.ts delete mode 100644 src/process/exec.test.ts delete mode 100644 src/process/spawn-utils.test.ts delete mode 100644 src/providers/github-copilot-auth.ts delete mode 100644 src/providers/github-copilot-models.ts delete mode 100644 src/providers/github-copilot-token.test.ts delete mode 100644 src/providers/google-shared.ensures-function-call-comes-after-user-turn.test.ts delete mode 100644 src/providers/google-shared.preserves-parameters-type-is-missing.test.ts delete mode 100644 src/providers/qwen-portal-oauth.test.ts delete mode 100644 src/routing/resolve-route.test.ts delete mode 100644 src/routing/session-key.test.ts delete mode 100644 src/scripts/canvas-a2ui-copy.test.ts delete mode 100644 src/security/audit-extra.ts delete mode 100644 src/security/audit-fs.ts delete mode 100644 src/security/audit.test.ts delete mode 100644 src/security/audit.ts delete mode 100644 src/security/external-content.test.ts delete mode 100644 src/security/fix.test.ts delete mode 100644 src/security/fix.ts delete mode 100644 src/security/skill-scanner.test.ts delete mode 100644 src/security/skill-scanner.ts delete mode 100644 src/security/windows-acl.test.ts delete mode 100644 src/security/windows-acl.ts delete mode 100644 src/sessions/send-policy.test.ts delete mode 100644 src/shared/text/reasoning-tags.test.ts delete mode 100644 src/signal/daemon.test.ts delete mode 100644 src/signal/format.test.ts delete mode 100644 src/signal/monitor.event-handler.sender-prefix.test.ts delete mode 100644 src/signal/monitor.event-handler.typing-read-receipts.test.ts delete mode 100644 src/signal/monitor.test.ts delete mode 100644 src/signal/monitor.tool-result.pairs-uuid-only-senders-uuid-allowlist-entry.test.ts delete mode 100644 src/signal/monitor.tool-result.sends-tool-summaries-responseprefix.test.ts delete mode 100644 src/signal/monitor/event-handler.inbound-contract.test.ts delete mode 100644 src/signal/monitor/event-handler.mention-gating.test.ts delete mode 100644 src/signal/probe.test.ts delete mode 100644 src/signal/send-reactions.test.ts delete mode 100644 src/slack/actions.read.test.ts delete mode 100644 src/slack/channel-migration.test.ts delete mode 100644 src/slack/client.test.ts delete mode 100644 src/slack/format.test.ts delete mode 100644 src/slack/http/registry.test.ts delete mode 100644 src/slack/monitor.test-helpers.ts delete mode 100644 src/slack/monitor.test.ts delete mode 100644 src/slack/monitor.threading.missing-thread-ts.test.ts delete mode 100644 src/slack/monitor.tool-result.forces-thread-replies-replytoid-is-set.test.ts delete mode 100644 src/slack/monitor.tool-result.sends-tool-summaries-responseprefix.test.ts delete mode 100644 src/slack/monitor.tool-result.threads-top-level-replies-replytomode-is-all.test.ts delete mode 100644 src/slack/monitor/channel-config.test.ts delete mode 100644 src/slack/monitor/context.test.ts delete mode 100644 src/slack/monitor/media.test.ts delete mode 100644 src/slack/monitor/message-handler/prepare.inbound-contract.test.ts delete mode 100644 src/slack/monitor/message-handler/prepare.sender-prefix.test.ts delete mode 100644 src/slack/monitor/slash.command-arg-menus.test.ts delete mode 100644 src/slack/monitor/slash.policy.test.ts delete mode 100644 src/slack/monitor/thread-resolution.test.ts delete mode 100644 src/slack/resolve-channels.test.ts delete mode 100644 src/slack/scopes.ts delete mode 100644 src/slack/targets.test.ts delete mode 100644 src/slack/threading-tool-context.test.ts delete mode 100644 src/slack/threading.test.ts delete mode 100644 src/telegram/accounts.test.ts delete mode 100644 src/telegram/audit.test.ts delete mode 100644 src/telegram/bot-message-context.dm-threads.test.ts delete mode 100644 src/telegram/bot-message-context.dm-topic-threadid.test.ts delete mode 100644 src/telegram/bot-message-context.sender-prefix.test.ts delete mode 100644 src/telegram/bot-message-dispatch.test.ts delete mode 100644 src/telegram/bot-message.test.ts delete mode 100644 src/telegram/bot-native-commands.plugin-auth.test.ts delete mode 100644 src/telegram/bot-native-commands.test.ts delete mode 100644 src/telegram/bot.create-telegram-bot.accepts-group-messages-mentionpatterns-match-without-botusername.test.ts delete mode 100644 src/telegram/bot.create-telegram-bot.applies-topic-skill-filters-system-prompts.test.ts delete mode 100644 src/telegram/bot.create-telegram-bot.blocks-all-group-messages-grouppolicy-is.test.ts delete mode 100644 src/telegram/bot.create-telegram-bot.dedupes-duplicate-callback-query-updates-by-update.test.ts delete mode 100644 src/telegram/bot.create-telegram-bot.installs-grammy-throttler.test.ts delete mode 100644 src/telegram/bot.create-telegram-bot.matches-tg-prefixed-allowfrom-entries-case-insensitively.test.ts delete mode 100644 src/telegram/bot.create-telegram-bot.matches-usernames-case-insensitively-grouppolicy-is.test.ts delete mode 100644 src/telegram/bot.create-telegram-bot.routes-dms-by-telegram-accountid-binding.test.ts delete mode 100644 src/telegram/bot.create-telegram-bot.sends-replies-without-native-reply-threading.test.ts delete mode 100644 src/telegram/bot.media.downloads-media-file-path-no-file-download.test.ts delete mode 100644 src/telegram/bot.media.includes-location-text-ctx-fields-pins.test.ts delete mode 100644 src/telegram/bot.test.ts delete mode 100644 src/telegram/bot/delivery.test.ts delete mode 100644 src/telegram/bot/helpers.test.ts delete mode 100644 src/telegram/download.test.ts delete mode 100644 src/telegram/download.ts delete mode 100644 src/telegram/draft-chunking.test.ts delete mode 100644 src/telegram/draft-stream.test.ts delete mode 100644 src/telegram/fetch.test.ts delete mode 100644 src/telegram/format.test.ts delete mode 100644 src/telegram/group-migration.test.ts delete mode 100644 src/telegram/index.ts delete mode 100644 src/telegram/inline-buttons.test.ts delete mode 100644 src/telegram/model-buttons.test.ts delete mode 100644 src/telegram/monitor.test.ts delete mode 100644 src/telegram/network-config.test.ts delete mode 100644 src/telegram/network-errors.test.ts delete mode 100644 src/telegram/proxy.test.ts delete mode 100644 src/telegram/reaction-level.test.ts delete mode 100644 src/telegram/send.caption-split.test.ts delete mode 100644 src/telegram/send.edit-message.test.ts delete mode 100644 src/telegram/send.preserves-thread-params-plain-text-fallback.test.ts delete mode 100644 src/telegram/send.proxy.test.ts delete mode 100644 src/telegram/send.returns-undefined-empty-input.test.ts delete mode 100644 src/telegram/send.video-note.test.ts delete mode 100644 src/telegram/sent-message-cache.test.ts delete mode 100644 src/telegram/sticker-cache.test.ts delete mode 100644 src/telegram/targets.test.ts delete mode 100644 src/telegram/token.test.ts delete mode 100644 src/telegram/update-offset-store.test.ts delete mode 100644 src/telegram/voice.test.ts delete mode 100644 src/telegram/webhook-set.ts delete mode 100644 src/telegram/webhook.test.ts delete mode 100644 src/terminal/note.ts delete mode 100644 src/terminal/stream-writer.test.ts delete mode 100644 src/terminal/stream-writer.ts delete mode 100644 src/terminal/table.test.ts delete mode 100644 src/terminal/table.ts delete mode 100644 src/test-helpers/state-dir-env.ts delete mode 100644 src/test-helpers/workspace.ts delete mode 100644 src/test-utils/channel-plugins.ts delete mode 100644 src/test-utils/ports.ts delete mode 100644 src/tts/tts.test.ts delete mode 100644 src/tui/commands.test.ts delete mode 100644 src/tui/components/searchable-select-list.test.ts delete mode 100644 src/tui/gateway-chat.test.ts delete mode 100644 src/tui/theme/theme.test.ts delete mode 100644 src/tui/tui-command-handlers.test.ts delete mode 100644 src/tui/tui-event-handlers.test.ts delete mode 100644 src/tui/tui-formatters.test.ts delete mode 100644 src/tui/tui-input-history.test.ts delete mode 100644 src/tui/tui-local-shell.test.ts delete mode 100644 src/tui/tui-overlays.test.ts delete mode 100644 src/tui/tui-session-actions.test.ts delete mode 100644 src/tui/tui-stream-assembler.test.ts delete mode 100644 src/tui/tui-waiting.test.ts delete mode 100644 src/tui/tui.submit-handler.test.ts delete mode 100644 src/tui/tui.test.ts delete mode 100644 src/types/cli-highlight.d.ts delete mode 100644 src/types/lydell-node-pty.d.ts delete mode 100644 src/types/napi-rs-canvas.d.ts delete mode 100644 src/types/node-edge-tts.d.ts delete mode 100644 src/types/node-llama-cpp.d.ts delete mode 100644 src/types/osc-progress.d.ts delete mode 100644 src/types/pdfjs-dist-legacy.d.ts delete mode 100644 src/types/proper-lockfile.d.ts delete mode 100644 src/types/qrcode-terminal.d.ts delete mode 100644 src/utils.test.ts delete mode 100644 src/utils/boolean.test.ts delete mode 100644 src/utils/delivery-context.test.ts delete mode 100644 src/utils/message-channel.test.ts delete mode 100644 src/utils/transcript-tools.test.ts delete mode 100644 src/utils/usage-format.test.ts delete mode 100644 src/version.test.ts delete mode 100644 src/web/accounts.test.ts delete mode 100644 src/web/accounts.whatsapp-auth.test.ts delete mode 100644 src/web/auto-reply.broadcast-groups.broadcasts-sequentially-configured-order.test.ts delete mode 100644 src/web/auto-reply.broadcast-groups.skips-unknown-broadcast-agent-ids-agents-list.test.ts delete mode 100644 src/web/auto-reply.partial-reply-gating.test.ts delete mode 100644 src/web/auto-reply.typing-controller-idle.test.ts delete mode 100644 src/web/auto-reply.web-auto-reply.compresses-common-formats-jpeg-cap.test.ts delete mode 100644 src/web/auto-reply.web-auto-reply.falls-back-text-media-send-fails.test.ts delete mode 100644 src/web/auto-reply.web-auto-reply.prefixes-body-same-phone-marker-from.test.ts delete mode 100644 src/web/auto-reply.web-auto-reply.reconnects-after-connection-close.test.ts delete mode 100644 src/web/auto-reply.web-auto-reply.requires-mention-group-chats-injects-history-replying.test.ts delete mode 100644 src/web/auto-reply.web-auto-reply.sends-tool-summaries-immediately-responseprefix.test.ts delete mode 100644 src/web/auto-reply.web-auto-reply.supports-always-group-activation-silent-token-preserves.test.ts delete mode 100644 src/web/auto-reply.web-auto-reply.uses-per-agent-mention-patterns-group-gating.test.ts delete mode 100644 src/web/auto-reply/mentions.test.ts delete mode 100644 src/web/auto-reply/monitor/group-gating.test.ts delete mode 100644 src/web/auto-reply/monitor/message-line.test.ts delete mode 100644 src/web/auto-reply/monitor/process-message.inbound-contract.test.ts delete mode 100644 src/web/auto-reply/session-snapshot.test.ts delete mode 100644 src/web/inbound.media.test.ts delete mode 100644 src/web/inbound.test.ts delete mode 100644 src/web/inbound/access-control.pairing-history.test.ts delete mode 100644 src/web/login-qr.test.ts delete mode 100644 src/web/login.coverage.test.ts delete mode 100644 src/web/login.test.ts delete mode 100644 src/web/logout.test.ts delete mode 100644 src/web/media.test.ts delete mode 100644 src/web/monitor-inbox.allows-messages-from-senders-allowfrom-list.test.ts delete mode 100644 src/web/monitor-inbox.blocks-messages-from-unauthorized-senders-not-allowfrom.test.ts delete mode 100644 src/web/monitor-inbox.captures-media-path-image-messages.test.ts delete mode 100644 src/web/monitor-inbox.streams-inbound-messages.test.ts delete mode 100644 src/web/outbound.test.ts delete mode 100644 src/web/qr-image.test.ts delete mode 100644 src/web/reconnect.test.ts delete mode 100644 src/web/session.test.ts delete mode 100644 src/web/test-helpers.ts delete mode 100644 src/whatsapp/normalize.test.ts delete mode 100644 src/wizard/clack-prompter.ts delete mode 100644 src/wizard/onboarding.completion.test.ts delete mode 100644 src/wizard/onboarding.completion.ts delete mode 100644 src/wizard/onboarding.finalize.ts delete mode 100644 src/wizard/onboarding.gateway-config.test.ts delete mode 100644 src/wizard/onboarding.gateway-config.ts delete mode 100644 src/wizard/onboarding.test.ts delete mode 100644 src/wizard/onboarding.ts delete mode 100644 src/wizard/onboarding.types.ts delete mode 100644 src/wizard/session.test.ts diff --git a/src/acp/client.ts b/src/acp/client.ts deleted file mode 100644 index e1b8697..0000000 --- a/src/acp/client.ts +++ /dev/null @@ -1,191 +0,0 @@ -import { - ClientSideConnection, - PROTOCOL_VERSION, - ndJsonStream, - type RequestPermissionRequest, - type SessionNotification, -} from "@agentclientprotocol/sdk"; -import { spawn, type ChildProcess } from "node:child_process"; -import * as readline from "node:readline"; -import { Readable, Writable } from "node:stream"; -import { ensureOpenClawCliOnPath } from "../infra/path-env.js"; - -export type AcpClientOptions = { - cwd?: string; - serverCommand?: string; - serverArgs?: string[]; - serverVerbose?: boolean; - verbose?: boolean; -}; - -export type AcpClientHandle = { - client: ClientSideConnection; - agent: ChildProcess; - sessionId: string; -}; - -function toArgs(value: string[] | string | undefined): string[] { - if (!value) { - return []; - } - return Array.isArray(value) ? value : [value]; -} - -function buildServerArgs(opts: AcpClientOptions): string[] { - const args = ["acp", ...toArgs(opts.serverArgs)]; - if (opts.serverVerbose && !args.includes("--verbose") && !args.includes("-v")) { - args.push("--verbose"); - } - return args; -} - -function printSessionUpdate(notification: SessionNotification): void { - const update = notification.update; - if (!("sessionUpdate" in update)) { - return; - } - - switch (update.sessionUpdate) { - case "agent_message_chunk": { - if (update.content?.type === "text") { - process.stdout.write(update.content.text); - } - return; - } - case "tool_call": { - console.log(`\n[tool] ${update.title} (${update.status})`); - return; - } - case "tool_call_update": { - if (update.status) { - console.log(`[tool update] ${update.toolCallId}: ${update.status}`); - } - return; - } - case "available_commands_update": { - const names = update.availableCommands?.map((cmd) => `/${cmd.name}`).join(" "); - if (names) { - console.log(`\n[commands] ${names}`); - } - return; - } - default: - return; - } -} - -export async function createAcpClient(opts: AcpClientOptions = {}): Promise { - const cwd = opts.cwd ?? process.cwd(); - const verbose = Boolean(opts.verbose); - const log = verbose ? (msg: string) => console.error(`[acp-client] ${msg}`) : () => {}; - - ensureOpenClawCliOnPath({ cwd }); - const serverCommand = opts.serverCommand ?? "openclaw"; - const serverArgs = buildServerArgs(opts); - - log(`spawning: ${serverCommand} ${serverArgs.join(" ")}`); - - const agent = spawn(serverCommand, serverArgs, { - stdio: ["pipe", "pipe", "inherit"], - cwd, - }); - - if (!agent.stdin || !agent.stdout) { - throw new Error("Failed to create ACP stdio pipes"); - } - - const input = Writable.toWeb(agent.stdin); - const output = Readable.toWeb(agent.stdout) as unknown as ReadableStream; - const stream = ndJsonStream(input, output); - - const client = new ClientSideConnection( - () => ({ - sessionUpdate: async (params: SessionNotification) => { - printSessionUpdate(params); - }, - requestPermission: async (params: RequestPermissionRequest) => { - console.log("\n[permission requested]", params.toolCall?.title ?? "tool"); - const options = params.options ?? []; - const allowOnce = options.find((option) => option.kind === "allow_once"); - const fallback = options[0]; - return { - outcome: { - outcome: "selected", - optionId: allowOnce?.optionId ?? fallback?.optionId ?? "allow", - }, - }; - }, - }), - stream, - ); - - log("initializing"); - await client.initialize({ - protocolVersion: PROTOCOL_VERSION, - clientCapabilities: { - fs: { readTextFile: true, writeTextFile: true }, - terminal: true, - }, - clientInfo: { name: "openclaw-acp-client", version: "1.0.0" }, - }); - - log("creating session"); - const session = await client.newSession({ - cwd, - mcpServers: [], - }); - - return { - client, - agent, - sessionId: session.sessionId, - }; -} - -export async function runAcpClientInteractive(opts: AcpClientOptions = {}): Promise { - const { client, agent, sessionId } = await createAcpClient(opts); - - const rl = readline.createInterface({ - input: process.stdin, - output: process.stdout, - }); - - console.log("OpenClaw ACP client"); - console.log(`Session: ${sessionId}`); - console.log('Type a prompt, or "exit" to quit.\n'); - - const prompt = () => { - rl.question("> ", async (input) => { - const text = input.trim(); - if (!text) { - prompt(); - return; - } - if (text === "exit" || text === "quit") { - agent.kill(); - rl.close(); - process.exit(0); - } - - try { - const response = await client.prompt({ - sessionId, - prompt: [{ type: "text", text }], - }); - console.log(`\n[${response.stopReason}]\n`); - } catch (err) { - console.error(`\n[error] ${String(err)}\n`); - } - - prompt(); - }); - }; - - prompt(); - - agent.on("exit", (code) => { - console.log(`\nAgent exited with code ${code ?? 0}`); - rl.close(); - process.exit(code ?? 0); - }); -} diff --git a/src/acp/commands.ts b/src/acp/commands.ts deleted file mode 100644 index 6bd8e85..0000000 --- a/src/acp/commands.ts +++ /dev/null @@ -1,40 +0,0 @@ -import type { AvailableCommand } from "@agentclientprotocol/sdk"; - -export function getAvailableCommands(): AvailableCommand[] { - return [ - { name: "help", description: "Show help and common commands." }, - { name: "commands", description: "List available commands." }, - { name: "status", description: "Show current status." }, - { - name: "context", - description: "Explain context usage (list|detail|json).", - input: { hint: "list | detail | json" }, - }, - { name: "whoami", description: "Show sender id (alias: /id)." }, - { name: "id", description: "Alias for /whoami." }, - { name: "subagents", description: "List or manage sub-agents." }, - { name: "config", description: "Read or write config (owner-only)." }, - { name: "debug", description: "Set runtime-only overrides (owner-only)." }, - { name: "usage", description: "Toggle usage footer (off|tokens|full)." }, - { name: "stop", description: "Stop the current run." }, - { name: "restart", description: "Restart the gateway (if enabled)." }, - { name: "dock-telegram", description: "Route replies to Telegram." }, - { name: "dock-discord", description: "Route replies to Discord." }, - { name: "dock-slack", description: "Route replies to Slack." }, - { name: "activation", description: "Set group activation (mention|always)." }, - { name: "send", description: "Set send mode (on|off|inherit)." }, - { name: "reset", description: "Reset the session (/new)." }, - { name: "new", description: "Reset the session (/reset)." }, - { - name: "think", - description: "Set thinking level (off|minimal|low|medium|high|xhigh).", - }, - { name: "verbose", description: "Set verbose mode (on|full|off)." }, - { name: "reasoning", description: "Toggle reasoning output (on|off|stream)." }, - { name: "elevated", description: "Toggle elevated mode (on|off)." }, - { name: "model", description: "Select a model (list|status|)." }, - { name: "queue", description: "Adjust queue mode and options." }, - { name: "bash", description: "Run a host command (if enabled)." }, - { name: "compact", description: "Compact the session history." }, - ]; -} diff --git a/src/acp/event-mapper.test.ts b/src/acp/event-mapper.test.ts deleted file mode 100644 index 0b7682e..0000000 --- a/src/acp/event-mapper.test.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { describe, expect, it } from "vitest"; -import { extractAttachmentsFromPrompt, extractTextFromPrompt } from "./event-mapper.js"; - -describe("acp event mapper", () => { - it("extracts text and resource blocks into prompt text", () => { - const text = extractTextFromPrompt([ - { type: "text", text: "Hello" }, - { type: "resource", resource: { text: "File contents" } }, - { type: "resource_link", uri: "https://example.com", title: "Spec" }, - { type: "image", data: "abc", mimeType: "image/png" }, - ]); - - expect(text).toBe("Hello\nFile contents\n[Resource link (Spec)] https://example.com"); - }); - - it("extracts image blocks into gateway attachments", () => { - const attachments = extractAttachmentsFromPrompt([ - { type: "image", data: "abc", mimeType: "image/png" }, - { type: "image", data: "", mimeType: "image/png" }, - { type: "text", text: "ignored" }, - ]); - - expect(attachments).toEqual([ - { - type: "image", - mimeType: "image/png", - content: "abc", - }, - ]); - }); -}); diff --git a/src/acp/event-mapper.ts b/src/acp/event-mapper.ts deleted file mode 100644 index 5e1179f..0000000 --- a/src/acp/event-mapper.ts +++ /dev/null @@ -1,95 +0,0 @@ -import type { ContentBlock, ImageContent, ToolKind } from "@agentclientprotocol/sdk"; - -export type GatewayAttachment = { - type: string; - mimeType: string; - content: string; -}; - -export function extractTextFromPrompt(prompt: ContentBlock[]): string { - const parts: string[] = []; - for (const block of prompt) { - if (block.type === "text") { - parts.push(block.text); - continue; - } - if (block.type === "resource") { - const resource = block.resource as { text?: string } | undefined; - if (resource?.text) { - parts.push(resource.text); - } - continue; - } - if (block.type === "resource_link") { - const title = block.title ? ` (${block.title})` : ""; - const uri = block.uri ?? ""; - const line = uri ? `[Resource link${title}] ${uri}` : `[Resource link${title}]`; - parts.push(line); - } - } - return parts.join("\n"); -} - -export function extractAttachmentsFromPrompt(prompt: ContentBlock[]): GatewayAttachment[] { - const attachments: GatewayAttachment[] = []; - for (const block of prompt) { - if (block.type !== "image") { - continue; - } - const image = block as ImageContent; - if (!image.data || !image.mimeType) { - continue; - } - attachments.push({ - type: "image", - mimeType: image.mimeType, - content: image.data, - }); - } - return attachments; -} - -export function formatToolTitle( - name: string | undefined, - args: Record | undefined, -): string { - const base = name ?? "tool"; - if (!args || Object.keys(args).length === 0) { - return base; - } - const parts = Object.entries(args).map(([key, value]) => { - const raw = typeof value === "string" ? value : JSON.stringify(value); - const safe = raw.length > 100 ? `${raw.slice(0, 100)}...` : raw; - return `${key}: ${safe}`; - }); - return `${base}: ${parts.join(", ")}`; -} - -export function inferToolKind(name?: string): ToolKind { - if (!name) { - return "other"; - } - const normalized = name.toLowerCase(); - if (normalized.includes("read")) { - return "read"; - } - if (normalized.includes("write") || normalized.includes("edit")) { - return "edit"; - } - if (normalized.includes("delete") || normalized.includes("remove")) { - return "delete"; - } - if (normalized.includes("move") || normalized.includes("rename")) { - return "move"; - } - if (normalized.includes("search") || normalized.includes("find")) { - return "search"; - } - if (normalized.includes("exec") || normalized.includes("run") || normalized.includes("bash")) { - return "execute"; - } - if (normalized.includes("fetch") || normalized.includes("http")) { - return "fetch"; - } - return "other"; -} diff --git a/src/acp/index.ts b/src/acp/index.ts deleted file mode 100644 index 6af9eff..0000000 --- a/src/acp/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -export { serveAcpGateway } from "./server.js"; -export { createInMemorySessionStore } from "./session.js"; -export type { AcpSessionStore } from "./session.js"; -export type { AcpServerOptions } from "./types.js"; diff --git a/src/acp/meta.ts b/src/acp/meta.ts deleted file mode 100644 index eccd865..0000000 --- a/src/acp/meta.ts +++ /dev/null @@ -1,47 +0,0 @@ -export function readString( - meta: Record | null | undefined, - keys: string[], -): string | undefined { - if (!meta) { - return undefined; - } - for (const key of keys) { - const value = meta[key]; - if (typeof value === "string" && value.trim()) { - return value.trim(); - } - } - return undefined; -} - -export function readBool( - meta: Record | null | undefined, - keys: string[], -): boolean | undefined { - if (!meta) { - return undefined; - } - for (const key of keys) { - const value = meta[key]; - if (typeof value === "boolean") { - return value; - } - } - return undefined; -} - -export function readNumber( - meta: Record | null | undefined, - keys: string[], -): number | undefined { - if (!meta) { - return undefined; - } - for (const key of keys) { - const value = meta[key]; - if (typeof value === "number" && Number.isFinite(value)) { - return value; - } - } - return undefined; -} diff --git a/src/acp/server.ts b/src/acp/server.ts deleted file mode 100644 index 4a2c835..0000000 --- a/src/acp/server.ts +++ /dev/null @@ -1,144 +0,0 @@ -#!/usr/bin/env node -import { AgentSideConnection, ndJsonStream } from "@agentclientprotocol/sdk"; -import { Readable, Writable } from "node:stream"; -import { fileURLToPath } from "node:url"; -import type { AcpServerOptions } from "./types.js"; -import { loadConfig } from "../config/config.js"; -import { resolveGatewayAuth } from "../gateway/auth.js"; -import { buildGatewayConnectionDetails } from "../gateway/call.js"; -import { GatewayClient } from "../gateway/client.js"; -import { isMainModule } from "../infra/is-main.js"; -import { GATEWAY_CLIENT_MODES, GATEWAY_CLIENT_NAMES } from "../utils/message-channel.js"; -import { AcpGatewayAgent } from "./translator.js"; - -export function serveAcpGateway(opts: AcpServerOptions = {}): void { - const cfg = loadConfig(); - const connection = buildGatewayConnectionDetails({ - config: cfg, - url: opts.gatewayUrl, - }); - - const isRemoteMode = cfg.gateway?.mode === "remote"; - const remote = isRemoteMode ? cfg.gateway?.remote : undefined; - const auth = resolveGatewayAuth({ authConfig: cfg.gateway?.auth, env: process.env }); - - const token = - opts.gatewayToken ?? - (isRemoteMode ? remote?.token?.trim() : undefined) ?? - process.env.OPENCLAW_GATEWAY_TOKEN ?? - auth.token; - const password = - opts.gatewayPassword ?? - (isRemoteMode ? remote?.password?.trim() : undefined) ?? - process.env.OPENCLAW_GATEWAY_PASSWORD ?? - auth.password; - - let agent: AcpGatewayAgent | null = null; - const gateway = new GatewayClient({ - url: connection.url, - token: token || undefined, - password: password || undefined, - clientName: GATEWAY_CLIENT_NAMES.CLI, - clientDisplayName: "ACP", - clientVersion: "acp", - mode: GATEWAY_CLIENT_MODES.CLI, - onEvent: (evt) => { - void agent?.handleGatewayEvent(evt); - }, - onHelloOk: () => { - agent?.handleGatewayReconnect(); - }, - onClose: (code, reason) => { - agent?.handleGatewayDisconnect(`${code}: ${reason}`); - }, - }); - - const input = Writable.toWeb(process.stdout); - const output = Readable.toWeb(process.stdin) as unknown as ReadableStream; - const stream = ndJsonStream(input, output); - - new AgentSideConnection((conn: AgentSideConnection) => { - agent = new AcpGatewayAgent(conn, gateway, opts); - agent.start(); - return agent; - }, stream); - - gateway.start(); -} - -function parseArgs(args: string[]): AcpServerOptions { - const opts: AcpServerOptions = {}; - for (let i = 0; i < args.length; i += 1) { - const arg = args[i]; - if (arg === "--url" || arg === "--gateway-url") { - opts.gatewayUrl = args[i + 1]; - i += 1; - continue; - } - if (arg === "--token" || arg === "--gateway-token") { - opts.gatewayToken = args[i + 1]; - i += 1; - continue; - } - if (arg === "--password" || arg === "--gateway-password") { - opts.gatewayPassword = args[i + 1]; - i += 1; - continue; - } - if (arg === "--session") { - opts.defaultSessionKey = args[i + 1]; - i += 1; - continue; - } - if (arg === "--session-label") { - opts.defaultSessionLabel = args[i + 1]; - i += 1; - continue; - } - if (arg === "--require-existing") { - opts.requireExistingSession = true; - continue; - } - if (arg === "--reset-session") { - opts.resetSession = true; - continue; - } - if (arg === "--no-prefix-cwd") { - opts.prefixCwd = false; - continue; - } - if (arg === "--verbose" || arg === "-v") { - opts.verbose = true; - continue; - } - if (arg === "--help" || arg === "-h") { - printHelp(); - process.exit(0); - } - } - return opts; -} - -function printHelp(): void { - console.log(`Usage: openclaw acp [options] - -Gateway-backed ACP server for IDE integration. - -Options: - --url Gateway WebSocket URL - --token Gateway auth token - --password Gateway auth password - --session Default session key (e.g. "agent:main:main") - --session-label