Skip to content

fix(browser): preserve debugger attachment across relay disconnects during navigation reattach#28725

Merged
steipete merged 2 commits intoopenclaw:mainfrom
stone-jin:fix/browser-relay-reattach-when-relay-down
Mar 2, 2026
Merged

fix(browser): preserve debugger attachment across relay disconnects during navigation reattach#28725
steipete merged 2 commits intoopenclaw:mainfrom
stone-jin:fix/browser-relay-reattach-when-relay-down

Conversation

@stone-jin
Copy link
Contributor

Summary

  • Problem: When a Chrome page navigates while the Browser Relay WebSocket is disconnected (e.g. during gateway restart), onDebuggerDetach in the Chrome extension immediately gives up reattaching the debugger because the relay is down. The tab is permanently lost from tracking — even after the relay reconnects, reannounceAttachedTabs() finds nothing to announce because the tab was already removed from the tabs Map.
  • Why it matters: This causes persistent tab not found errors that require manual user intervention (clicking the extension icon again). Agents operating via Browser Relay lose the ability to interact with any page until the user manually re-attaches.
  • What changed: The reattach retry loop in onDebuggerDetach no longer bails out when the relay WebSocket is down. Instead, it attaches the debugger with skipAttachedEvent: true, keeping the tab in the tabs Map. When the relay reconnects, reannounceAttachedTabs() discovers the tab and sends the announce event — restoring full connectivity automatically.
  • What did NOT change (scope boundary): Relay server-side code is untouched. The extension reconnect/backoff logic, badge behavior for connected state, and manual attach/detach flows remain the same.

Change Type (select all)

  • Bug fix
  • Feature
  • Refactor
  • Docs
  • Security hardening
  • Chore/infra

Scope (select all touched areas)

  • Gateway / orchestration
  • Skills / tool execution
  • Auth / tokens
  • Memory / storage
  • Integrations
  • API / contracts
  • UI / DX
  • CI/CD / infra

Linked Issue/PR

  • Related: navigation-triggered debugger detach during relay downtime

User-visible / Behavior Changes

  • Browser Relay no longer permanently loses tabs when the gateway restarts or the relay WebSocket drops during page navigation. Previously users had to manually click the extension icon to re-attach; now the debugger stays attached and auto-recovers when the relay reconnects.
  • Badge shows "connecting" (yellow ) instead of "error" (red !) when the debugger is attached but relay is temporarily down.

Security Impact (required)

  • New permissions/capabilities? No
  • Secrets/tokens handling changed? No
  • New/changed network calls? No
  • Command/tool execution surface changed? No
  • Data access scope changed? No

Repro + Verification

Environment

  • OS: macOS
  • Runtime/container: Node 22+
  • Integration/channel: Browser Relay (Chrome Extension)

Steps

  1. Start gateway with a browser extension profile configured
  2. Attach the Chrome extension to a tab (click toolbar icon)
  3. Restart the gateway (SIGUSR1 or SIGTERM + restart)
  4. While gateway is restarting, navigate the attached tab to a new page (triggers debugger detach)
  5. Wait for the gateway to come back up

Expected

  • The tab should automatically re-appear in listTabs() after the relay reconnects
  • Agent browser tool calls should work without manual intervention

Actual (before fix)

  • The tab is permanently lost from tracking
  • All browser tool calls fail with Error: tab not found
  • User must manually click the extension icon to re-attach

Evidence

  • Failing test/log before + passing after
  • Two new relay integration tests added:
    • restores tabs after extension reconnects and re-announces — validates the full disconnect → grace period cleanup → reconnect → re-announce cycle
    • preserves tab across a fast extension reconnect within grace period — validates tabs survive brief relay drops

Human Verification (required)

  • Verified scenarios: All 23 extension-relay tests pass (including 2 new tests)
  • Edge cases checked: Grace period expiry before reconnect, fast reconnect within grace, relay-down during reattach
  • What you did not verify: End-to-end test with actual Chrome browser and extension (requires manual browser interaction)

Compatibility / Migration

  • Backward compatible? Yes
  • Config/env changes? No
  • Migration needed? No

Failure Recovery (if this breaks)

  • How to disable/revert this change quickly: Revert the single commit on background.js
  • Files/config to restore: assets/chrome-extension/background.js
  • Known bad symptoms reviewers should watch for: If the extension starts showing "connecting" badge permanently when relay is actually up, the reannounceAttachedTabs flow may need investigation

Risks and Mitigations

  • Risk: Debugger attached without relay notification could cause stale state if reannounceAttachedTabs somehow doesn't fire after reconnect
    • Mitigation: The existing keepalive alarm (every 30s) and the initPromise.then(...) startup hook both trigger reconnect + re-announce, providing multiple recovery paths

Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: ae7c2fcc04

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

// When relay is down, still attach the debugger but skip sending the
// relay event. reannounceAttachedTabs() will notify the relay once it
// reconnects, so the tab stays tracked across transient relay drops.
await attachTab(tabId, { skipAttachedEvent: !relayUp })

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Preserve previous session identity on offline reattach

When the extension reconnects within the relay grace window, connectedTargets in src/browser/extension-relay.ts is intentionally retained and keyed by sessionId; this new path reattaches with skipAttachedEvent while offline, which always creates a new session ID in attachTab but never delivers a Target.detachedFromTarget for the old session. After reannounceAttachedTabs() runs, the relay can hold both stale and fresh sessions for the same tab, and CDP flows like Target.attachToTarget can select the stale session first, leading to follow-up command failures (tab not found / invalid session) despite a successful reconnect.

Useful? React with 👍 / 👎.

@greptile-apps
Copy link
Contributor

greptile-apps bot commented Feb 27, 2026

Greptile Summary

Fixed critical bug where tabs were permanently lost when Chrome navigates during relay disconnect. The solution elegantly preserves debugger attachment with skipAttachedEvent: true when relay is down, keeping tabs in the extension's memory map. When relay reconnects, reannounceAttachedTabs() automatically discovers and re-announces these tabs, restoring full connectivity without manual intervention.

Key changes:

  • Removed early return in onDebuggerDetach retry loop when relay is down
  • Badge now shows "connecting" instead of "error" when debugger attached but relay temporarily down
  • Two comprehensive integration tests validate grace period expiry and fast reconnect scenarios

The fix is minimal, targeted, and backward compatible. Code follows existing patterns, properly handles edge cases, and includes clear explanatory comments.

Confidence Score: 5/5

  • This PR is safe to merge with minimal risk
  • Score reflects clean implementation of a focused bug fix with thorough test coverage. The change is surgical (removes early bailout, adds conditional event skipping), follows existing code patterns, and introduces no new complexity or edge cases. Integration tests validate both grace period scenarios comprehensively.
  • No files require special attention

Last reviewed commit: ae7c2fc

@steipete steipete force-pushed the fix/browser-relay-reattach-when-relay-down branch from ae7c2fc to b2af6b8 Compare March 2, 2026 06:38
@steipete steipete merged commit 31b6e58 into openclaw:main Mar 2, 2026
9 checks passed
@steipete
Copy link
Contributor

steipete commented Mar 2, 2026

Landed via temp rebase onto main.

  • Gate:

openclaw@2026.3.2 check /Users/steipete/Projects/clawdbot3
pnpm format:check && pnpm tsgo && pnpm lint && pnpm lint:tmp:no-random-messaging && pnpm lint:tmp:channel-agnostic-boundaries && pnpm lint:tmp:no-raw-channel-fetch && pnpm lint:auth:no-pairing-store-group && pnpm lint:auth:pairing-account-scope && pnpm check:host-env-policy:swift

openclaw@2026.3.2 format:check /Users/steipete/Projects/clawdbot3
oxfmt --check

Checking formatting...

All matched files use the correct format.
Finished in 1645ms on 5898 files using 16 threads.

openclaw@2026.3.2 lint /Users/steipete/Projects/clawdbot3
oxlint --type-aware

Found 0 warnings and 0 errors.
Finished in 3.6s on 4297 files with 136 rules using 16 threads.

openclaw@2026.3.2 lint:tmp:no-random-messaging /Users/steipete/Projects/clawdbot3
node scripts/check-no-random-messaging-tmp.mjs

openclaw@2026.3.2 lint:tmp:channel-agnostic-boundaries /Users/steipete/Projects/clawdbot3
node scripts/check-channel-agnostic-boundaries.mjs

openclaw@2026.3.2 lint:tmp:no-raw-channel-fetch /Users/steipete/Projects/clawdbot3
node scripts/check-no-raw-channel-fetch.mjs

openclaw@2026.3.2 lint:auth:no-pairing-store-group /Users/steipete/Projects/clawdbot3
node scripts/check-no-pairing-store-group-auth.mjs

openclaw@2026.3.2 lint:auth:pairing-account-scope /Users/steipete/Projects/clawdbot3
node scripts/check-pairing-account-scope.mjs

openclaw@2026.3.2 check:host-env-policy:swift /Users/steipete/Projects/clawdbot3
node scripts/generate-host-env-security-policy-swift.mjs --check

OK apps/macos/Sources/OpenClaw/HostEnvSecurityPolicy.generated.swift

openclaw@2026.3.2 build /Users/steipete/Projects/clawdbot3
pnpm canvas:a2ui:bundle && tsdown && pnpm build:plugin-sdk:dts && node --import tsx scripts/write-plugin-sdk-entry-dts.ts && node --import tsx scripts/canvas-a2ui-copy.ts && node --import tsx scripts/copy-hook-metadata.ts && node --import tsx scripts/copy-export-html-templates.ts && node --import tsx scripts/write-build-info.ts && node --import tsx scripts/write-cli-startup-metadata.ts && node --import tsx scripts/write-cli-compat.ts

openclaw@2026.3.2 canvas:a2ui:bundle /Users/steipete/Projects/clawdbot3
bash scripts/bundle-a2ui.sh

A2UI bundle up to date; skipping.
ℹ tsdown v0.21.0-beta.2 powered by rolldown v1.0.0-rc.5
ℹ config file: /Users/steipete/Projects/clawdbot3/tsdown.config.ts
ℹ entry: src/index.ts
ℹ target: node22.12.0
ℹ tsconfig: tsconfig.json
ℹ entry: src/cli/daemon-cli.ts
ℹ target: node22.12.0
ℹ tsconfig: tsconfig.json
ℹ entry: src/infra/warning-filter.ts
ℹ target: node22.12.0
ℹ tsconfig: tsconfig.json
ℹ entry: src/entry.ts
ℹ target: node22.12.0
ℹ tsconfig: tsconfig.json
ℹ entry: src/plugin-sdk/index.ts
ℹ target: node22.12.0
ℹ tsconfig: tsconfig.json
ℹ entry: src/plugin-sdk/account-id.ts
ℹ target: node22.12.0
ℹ tsconfig: tsconfig.json
ℹ entry: src/extensionAPI.ts
ℹ target: node22.12.0
ℹ tsconfig: tsconfig.json
ℹ entry: src/hooks/llm-slug-generator.ts, src/hooks/bundled/boot-md/handler.ts, src/hooks/bundled/command-logger/handler.ts, src/hooks/bundled/session-memory/handler.ts, src/hooks/bundled/bootstrap-extra-files/handler.ts
ℹ target: node22.12.0
ℹ tsconfig: tsconfig.json
ℹ Build start
ℹ Cleaning 2585 files
ℹ dist/warning-filter.js 1.74 kB │ gzip: 0.65 kB
ℹ 1 files, total: 1.74 kB
✔ Build complete in 265ms
ℹ dist/plugin-sdk/account-id.js 1.29 kB │ gzip: 0.52 kB
ℹ 1 files, total: 1.29 kB
✔ Build complete in 292ms
ℹ dist/daemon-cli.js 639.73 kB │ gzip: 137.17 kB
ℹ 1 files, total: 639.73 kB
✔ Build complete in 473ms
ℹ Granting execute permission to dist/index.js
ℹ Granting execute permission to dist/entry.js
ℹ dist/plugin-sdk/index.js 162.28 kB │ gzip: 40.61 kB
ℹ dist/plugin-sdk/reply--PCHQwlg.js 3.24 MB
ℹ dist/plugin-sdk/config-GfvVGR2L.js 546.77 kB │ gzip: 117.30 kB
ℹ dist/plugin-sdk/pi-embedded-helpers-BqyyZ0bl.js 242.41 kB │ gzip: 55.92 kB
ℹ dist/plugin-sdk/manager-BlfIC8CX.js 137.10 kB │ gzip: 30.89 kB
ℹ dist/plugin-sdk/send-BxONu61h.js 107.96 kB │ gzip: 25.78 kB
ℹ dist/plugin-sdk/send-DI8jIz3U.js 93.23 kB │ gzip: 24.03 kB
ℹ dist/plugin-sdk/sessions-qh8_CPtR.js 84.69 kB │ gzip: 20.92 kB
ℹ dist/plugin-sdk/channel-web-CPiQRsDx.js 83.92 kB │ gzip: 21.23 kB
ℹ dist/plugin-sdk/chrome-z6QaDTs7.js 71.66 kB │ gzip: 18.08 kB
ℹ dist/plugin-sdk/runner-CL7pfOJo.js 70.74 kB │ gzip: 16.82 kB
ℹ dist/plugin-sdk/pw-ai-CNhSyVnd.js 66.05 kB │ gzip: 15.90 kB
ℹ dist/plugin-sdk/image-DDNg4pRa.js 61.27 kB │ gzip: 15.97 kB
ℹ dist/plugin-sdk/subsystem-D7KkLxSJ.js 55.89 kB │ gzip: 16.01 kB
ℹ dist/plugin-sdk/agent-scope-CSmNmVhJ.js 55.00 kB │ gzip: 12.16 kB
ℹ dist/plugin-sdk/qmd-manager-mT6Enwyq.js 51.51 kB │ gzip: 13.05 kB
ℹ dist/plugin-sdk/skills-CIYaxtHq.js 51.15 kB │ gzip: 13.32 kB
ℹ dist/plugin-sdk/deliver-BHKXQKsH.js 46.06 kB │ gzip: 11.52 kB
ℹ dist/plugin-sdk/dock-CAr8fmcw.js 36.28 kB │ gzip: 7.31 kB
ℹ dist/plugin-sdk/commands-registry-Bjnq6F-3.js 34.33 kB │ gzip: 7.75 kB
ℹ dist/plugin-sdk/ir-Y05F5H6M.js 27.94 kB │ gzip: 7.08 kB
ℹ dist/plugin-sdk/plugins-CnONKxt5.js 26.80 kB │ gzip: 5.95 kB
ℹ dist/plugin-sdk/query-expansion-ixGuDYno.js 21.28 kB │ gzip: 7.35 kB
ℹ dist/plugin-sdk/send-B7K28RT2.js 17.95 kB │ gzip: 4.77 kB
ℹ dist/plugin-sdk/send-Czdpk6Y5.js 17.76 kB │ gzip: 5.27 kB
ℹ dist/plugin-sdk/send-87Zi520U.js 14.43 kB │ gzip: 4.43 kB
ℹ dist/plugin-sdk/tool-loop-detection-CqbCtTVk.js 14.20 kB │ gzip: 3.58 kB
ℹ dist/plugin-sdk/image-ops-D_j_A6vq.js 14.04 kB │ gzip: 4.17 kB
ℹ dist/plugin-sdk/chunk-BwDy78-Y.js 12.80 kB │ gzip: 3.55 kB
ℹ dist/plugin-sdk/skill-commands-vHerQF2R.js 12.73 kB │ gzip: 3.92 kB
ℹ dist/plugin-sdk/diagnostic-DU0w9F3X.js 11.18 kB │ gzip: 2.87 kB
ℹ dist/plugin-sdk/accounts-Dw118nCx.js 10.40 kB │ gzip: 3.05 kB
ℹ dist/plugin-sdk/login-qr-C0vGYmpu.js 10.29 kB │ gzip: 3.57 kB
ℹ dist/plugin-sdk/tool-images-DQq5oDh7.js 9.75 kB │ gzip: 3.04 kB
ℹ dist/plugin-sdk/resolve-route-BvEKk4SL.js 9.38 kB │ gzip: 2.65 kB
ℹ dist/plugin-sdk/fs-safe-b3R5BGfO.js 9.00 kB │ gzip: 2.15 kB
ℹ dist/plugin-sdk/session-key-47BV2tLd.js 8.89 kB │ gzip: 2.34 kB
ℹ dist/plugin-sdk/paths-DCNrSyZW.js 8.35 kB │ gzip: 2.25 kB
ℹ dist/plugin-sdk/ssrf-F-p_pbp8.js 8.12 kB │ gzip: 2.33 kB
ℹ dist/plugin-sdk/outbound-DxBj_ndU.js 7.96 kB │ gzip: 2.46 kB
ℹ dist/plugin-sdk/paths-BwfwZvKQ.js 7.91 kB │ gzip: 2.02 kB
ℹ dist/plugin-sdk/target-errors-uy7tnow1.js 6.67 kB │ gzip: 2.02 kB
ℹ dist/plugin-sdk/session-C6r3-3Y0.js 6.52 kB │ gzip: 2.35 kB
ℹ dist/plugin-sdk/reply-prefix-D5TwCK4D.js 6.50 kB │ gzip: 1.94 kB
ℹ dist/plugin-sdk/local-roots-cNhluiWh.js 6.41 kB │ gzip: 2.28 kB
ℹ dist/plugin-sdk/redact-BYwaiynP.js 6.26 kB │ gzip: 2.16 kB
ℹ dist/plugin-sdk/api-key-rotation-9r0W3LN8.js 5.79 kB │ gzip: 1.95 kB
ℹ dist/plugin-sdk/replies-BBi4C2rY.js 5.05 kB │ gzip: 1.61 kB
ℹ dist/plugin-sdk/pi-model-discovery-Cvk3LLu_.js 4.91 kB │ gzip: 1.62 kB
ℹ dist/plugin-sdk/fetch-guard-0yqFooHs.js 4.85 kB │ gzip: 1.83 kB
ℹ dist/plugin-sdk/thinking-DFrhwk-d.js 4.85 kB │ gzip: 1.25 kB
ℹ dist/plugin-sdk/inbound-context-4YgC9P8W.js 4.49 kB │ gzip: 1.37 kB
ℹ dist/plugin-sdk/github-copilot-token-Df-R0zCM.js 4.15 kB │ gzip: 1.59 kB
ℹ dist/plugin-sdk/channel-activity-BMJujSSg.js 3.74 kB │ gzip: 1.25 kB
ℹ dist/plugin-sdk/render-BkW8s6LR.js 3.29 kB │ gzip: 1.14 kB
ℹ dist/plugin-sdk/audio-preflight-CWgTWum7.js 3.26 kB │ gzip: 1.38 kB
ℹ dist/plugin-sdk/message-channel-BhZc-dSE.js 3.24 kB │ gzip: 1.08 kB
ℹ dist/plugin-sdk/whatsapp-actions-9aq8XYcD.js 3.23 kB │ gzip: 1.28 kB
ℹ dist/plugin-sdk/command-format-D4smYdZ1.js 3.04 kB │ gzip: 1.07 kB
ℹ dist/plugin-sdk/retry-0h5w0VDJ.js 2.97 kB │ gzip: 1.07 kB
ℹ dist/plugin-sdk/store-iDDZAETc.js 2.92 kB │ gzip: 1.32 kB
ℹ dist/plugin-sdk/bindings-yftkEELf.js 2.69 kB │ gzip: 0.82 kB
ℹ dist/plugin-sdk/web-BmKbeCFJ.js 2.65 kB │ gzip: 1.13 kB
ℹ dist/plugin-sdk/diagnostic-session-state-CT36_PCE.js 2.56 kB │ gzip: 0.91 kB
ℹ dist/plugin-sdk/login-BrzYhnNe.js 2.50 kB │ gzip: 1.10 kB
ℹ dist/plugin-sdk/fetch-DH6qweqj.js 2.44 kB │ gzip: 0.85 kB
ℹ dist/plugin-sdk/command-poll-backoff-BEwD1hbR.js 2.27 kB │ gzip: 0.94 kB
ℹ dist/plugin-sdk/polls-Bqxnqm99.js 1.96 kB │ gzip: 0.63 kB
ℹ dist/plugin-sdk/accounts-CWu4D7zt.js 1.96 kB │ gzip: 0.69 kB
ℹ dist/plugin-sdk/accounts-DQd1QCaM.js 1.94 kB │ gzip: 0.69 kB
ℹ dist/plugin-sdk/active-listener-CeVuZB-O.js 1.88 kB │ gzip: 0.80 kB
ℹ dist/plugin-sdk/markdown-tables-DTSn09oI.js 1.56 kB │ gzip: 0.66 kB
ℹ dist/plugin-sdk/path-alias-guards-hbqWimP_.js 1.52 kB │ gzip: 0.65 kB
ℹ dist/plugin-sdk/conversation-label-iVkV800k.js 1.51 kB │ gzip: 0.63 kB
ℹ dist/plugin-sdk/fetch-timeout-BKZjgek-.js 1.37 kB │ gzip: 0.70 kB
ℹ dist/plugin-sdk/resolve-outbound-target-DquRKf4u.js 1.30 kB │ gzip: 0.51 kB
ℹ dist/plugin-sdk/errors-BMOVwRE7.js 1.27 kB │ gzip: 0.54 kB
ℹ dist/plugin-sdk/tokens-E4MpPrrE.js 1.22 kB │ gzip: 0.56 kB
ℹ dist/plugin-sdk/tables-BDEH6HG8.js 1.15 kB │ gzip: 0.57 kB
ℹ dist/plugin-sdk/run-with-concurrency-Cl6BzVG_.js 1.05 kB │ gzip: 0.50 kB
ℹ dist/plugin-sdk/outbound-attachment-BtcXAEz-.js 0.69 kB │ gzip: 0.37 kB
ℹ dist/plugin-sdk/transcript-events--5JDuPPJ.js 0.59 kB │ gzip: 0.29 kB
ℹ dist/plugin-sdk/load-options-Y2wY7PYY.js 0.49 kB │ gzip: 0.25 kB
ℹ dist/plugin-sdk/proxy-CG7lVglh.js 0.48 kB │ gzip: 0.30 kB
ℹ dist/plugin-sdk/account-lookup-lrwBXb1l.js 0.45 kB │ gzip: 0.27 kB
ℹ dist/plugin-sdk/rolldown-runtime-Cbj13DAv.js 0.42 kB │ gzip: 0.28 kB
ℹ dist/plugin-sdk/chat-type-BKe459rw.js 0.33 kB │ gzip: 0.20 kB
ℹ dist/plugin-sdk/secure-random-C2TggqdC.js 0.32 kB │ gzip: 0.20 kB
ℹ 88 files, total: 5.71 MB
ℹ dist/bundled/session-memory/handler.js 10.39 kB │ gzip: 3.59 kB
ℹ dist/bundled/boot-md/handler.js 8.05 kB │ gzip: 2.88 kB
ℹ dist/llm-slug-generator.js 4.67 kB │ gzip: 2.03 kB
ℹ dist/bundled/bootstrap-extra-files/handler.js 2.06 kB │ gzip: 0.85 kB
ℹ dist/bundled/command-logger/handler.js 1.66 kB │ gzip: 0.80 kB
ℹ dist/pi-embedded-D7VKT8nP.js 3.23 MB
ℹ dist/model-selection-DpmqPqm3.js 546.14 kB │ gzip: 117.20 kB
ℹ dist/pi-embedded-helpers-Bit4Pz1c.js 242.78 kB │ gzip: 56.04 kB
ℹ dist/manager-BcfHMC0y.js 137.09 kB │ gzip: 30.87 kB
ℹ dist/send-C5rlWk9k.js 107.73 kB │ gzip: 25.72 kB
ℹ dist/send-C5_GQ9iy.js 91.77 kB │ gzip: 23.89 kB
ℹ dist/sessions-aG4ZR6Hf.js 84.82 kB │ gzip: 20.90 kB
ℹ dist/web-DK2YkMEF.js 83.02 kB │ gzip: 21.37 kB
ℹ dist/chrome-BVfVypfZ.js 71.72 kB │ gzip: 18.11 kB
ℹ dist/runner-BZ_-C7H5.js 69.87 kB │ gzip: 16.53 kB
ℹ dist/pw-ai-CR3z-jbZ.js 66.11 kB │ gzip: 15.93 kB
ℹ dist/image-DuxTXC8l.js 61.27 kB │ gzip: 15.90 kB
ℹ dist/subsystem-mPRezpll.js 56.17 kB │ gzip: 16.06 kB
ℹ dist/qmd-manager-E39HCGo2.js 51.54 kB │ gzip: 13.06 kB
ℹ dist/workspace-D5wcQf86.js 49.52 kB │ gzip: 10.99 kB
ℹ dist/deliver-BxeASKgH.js 46.06 kB │ gzip: 11.48 kB
ℹ dist/skills-B7aNujNc.js 41.45 kB │ gzip: 10.96 kB
ℹ dist/commands-registry-DxMKILdz.js 34.34 kB │ gzip: 7.76 kB
ℹ dist/dock-DlkTyaLq.js 33.54 kB │ gzip: 6.72 kB
ℹ dist/ir-BWXGgbWJ.js 27.94 kB │ gzip: 7.08 kB
ℹ dist/query-expansion-Ddv6lHJZ.js 21.26 kB │ gzip: 7.34 kB
ℹ dist/send-BUupTyNp.js 17.77 kB │ gzip: 5.28 kB
ℹ dist/send-BAu_qKNH.js 17.10 kB │ gzip: 4.61 kB
ℹ dist/plugins-DovkDl6C.js 16.64 kB │ gzip: 4.03 kB
ℹ dist/send-DFroPIr3.js 16.02 kB │ gzip: 4.83 kB
ℹ dist/tool-loop-detection-BFDb8y8z.js 14.20 kB │ gzip: 3.58 kB
ℹ dist/image-ops-C6392gpr.js 14.04 kB │ gzip: 4.17 kB
ℹ dist/chunk-CD6DGYOE.js 12.77 kB │ gzip: 3.55 kB
ℹ dist/skill-commands-C9hKuRm7.js 12.08 kB │ gzip: 3.76 kB
ℹ dist/diagnostic-CtVYnStz.js 10.99 kB │ gzip: 2.84 kB
ℹ dist/login-qr-QPOU5CB4.js 10.36 kB │ gzip: 3.59 kB
ℹ dist/frontmatter-eHCuq81z.js 10.34 kB │ gzip: 3.04 kB
ℹ dist/accounts-CaRtAz_2.js 10.29 kB │ gzip: 3.02 kB
ℹ dist/tool-images-D2x__a7E.js 9.75 kB │ gzip: 3.04 kB
ℹ dist/resolve-route-DBaEoxmo.js 9.42 kB │ gzip: 2.67 kB
ℹ dist/fs-safe-uk-uvzuv.js 8.97 kB │ gzip: 2.14 kB
ℹ dist/session-key-CPPWn8gW.js 8.89 kB │ gzip: 2.34 kB
ℹ dist/paths-B9lBY6-m.js 8.37 kB │ gzip: 2.26 kB
ℹ dist/outbound-Bjb9vNn1.js 7.96 kB │ gzip: 2.46 kB
ℹ dist/paths-BXMwg9Yw.js 7.92 kB │ gzip: 2.03 kB
ℹ dist/ssrf-lHDO0IjS.js 7.92 kB │ gzip: 2.32 kB
ℹ dist/agent-scope-CmeamfDM.js 7.76 kB │ gzip: 2.05 kB
ℹ dist/target-errors-DF_y9O9a.js 6.67 kB │ gzip: 2.02 kB
ℹ dist/session-BK_T58XT.js 6.54 kB │ gzip: 2.35 kB
ℹ dist/reply-prefix-BMQNAUPx.js 6.47 kB │ gzip: 1.93 kB
ℹ dist/local-roots-CliK5OkZ.js 6.41 kB │ gzip: 2.27 kB
ℹ dist/redact-B5RjPWCN.js 6.26 kB │ gzip: 2.16 kB
ℹ dist/gemini-auth-BiQ5omJG.js 5.80 kB │ gzip: 1.95 kB
ℹ dist/replies-BOjTOzD4.js 5.05 kB │ gzip: 1.61 kB
ℹ dist/pi-model-discovery-2OP5AlRu.js 4.94 kB │ gzip: 1.62 kB
ℹ dist/thinking-DjGGQMbY.js 4.85 kB │ gzip: 1.25 kB
ℹ dist/fetch-guard-Dwa-PLq6.js 4.84 kB │ gzip: 1.83 kB
ℹ dist/inbound-context-CA32Pfy1.js 4.49 kB │ gzip: 1.37 kB
ℹ dist/whatsapp-actions-CKaR_VXw.js 4.37 kB │ gzip: 1.57 kB
ℹ dist/github-copilot-token-BgKF-7S1.js 4.18 kB │ gzip: 1.59 kB
ℹ dist/channel-activity-BaHijrb5.js 3.74 kB │ gzip: 1.24 kB
ℹ dist/audio-preflight-IRTv2roB.js 3.35 kB │ gzip: 1.42 kB
ℹ dist/render-DXuDCig7.js 3.29 kB │ gzip: 1.14 kB
ℹ dist/message-channel-DKXv9Xa_.js 3.24 kB │ gzip: 1.08 kB
ℹ dist/retry-HyoIAOf.js 2.97 kB │ gzip: 1.07 kB
ℹ dist/bindings-8dEWCOjL.js 2.69 kB │ gzip: 0.81 kB
ℹ dist/diagnostic-session-state-C0Sxjfox.js 2.56 kB │ gzip: 0.91 kB
ℹ dist/login-CjyFhvFU.js 2.50 kB │ gzip: 1.10 kB
ℹ dist/fetch-BOy2PxM9.js 2.44 kB │ gzip: 0.85 kB
ℹ dist/command-poll-backoff-BEwD1hbR.js 2.27 kB │ gzip: 0.94 kB
ℹ dist/env-DijpAkAH.js 2.25 kB │ gzip: 0.86 kB
ℹ dist/store-oJ-CTgOm.js 2.18 kB │ gzip: 1.04 kB
ℹ dist/polls-BmymsJEe.js 1.96 kB │ gzip: 0.63 kB
ℹ dist/active-listener-BC1AEzf0.js 1.87 kB │ gzip: 0.79 kB
ℹ dist/accounts-8ZWbw0Zq.js 1.81 kB │ gzip: 0.67 kB
ℹ dist/accounts-CGJl1Z8Z.js 1.78 kB │ gzip: 0.65 kB
ℹ dist/markdown-tables-Cb7TkqhY.js 1.56 kB │ gzip: 0.66 kB
ℹ dist/path-alias-guards-D1RrhtDQ.js 1.52 kB │ gzip: 0.65 kB
ℹ dist/conversation-label-BEuZQ2RH.js 1.51 kB │ gzip: 0.63 kB
ℹ dist/targets-CTl67lLT.js 1.48 kB │ gzip: 0.57 kB
ℹ dist/fetch-timeout-CIqp9OvD.js 1.37 kB │ gzip: 0.70 kB
ℹ dist/errors-BB1m5Yna.js 1.27 kB │ gzip: 0.55 kB
ℹ dist/tokens-DhiG-E4H.js 1.22 kB │ gzip: 0.56 kB
ℹ dist/tables-CtIDYI8c.js 1.15 kB │ gzip: 0.56 kB
ℹ dist/run-with-concurrency-Ckp-v-FK.js 1.05 kB │ gzip: 0.50 kB
ℹ dist/boolean-M-esQJt6.js 0.86 kB │ gzip: 0.38 kB
ℹ dist/outbound-attachment-C2KUDc-L.js 0.69 kB │ gzip: 0.36 kB
ℹ dist/transcript-events-C8Tqw4td.js 0.59 kB │ gzip: 0.29 kB
ℹ dist/load-options-DOtW9oaI.js 0.49 kB │ gzip: 0.25 kB
ℹ dist/proxy-pPaHJt5e.js 0.48 kB │ gzip: 0.30 kB
ℹ dist/account-lookup-DGscKBsr.js 0.45 kB │ gzip: 0.27 kB
ℹ dist/rolldown-runtime-Cbj13DAv.js 0.42 kB │ gzip: 0.28 kB
ℹ dist/chat-type-CTrit63N.js 0.33 kB │ gzip: 0.20 kB
ℹ dist/config-51CnYUsv.js 0.32 kB │ gzip: 0.20 kB
ℹ dist/secure-random-Ds0euxCu.js 0.32 kB │ gzip: 0.20 kB
ℹ dist/legacy-names-0WvuUyrM.js 0.26 kB │ gzip: 0.17 kB
ℹ 96 files, total: 5.55 MB
ℹ dist/extensionAPI.js 2.74 kB │ gzip: 1.12 kB
ℹ dist/pi-embedded-Cn0XqH-x.js 3.23 MB
ℹ dist/model-selection-Buaw9EQb.js 546.26 kB │ gzip: 117.22 kB
ℹ dist/pi-embedded-helpers-Caz66lb4.js 242.70 kB │ gzip: 56.01 kB
ℹ dist/manager-PMgAjzj1.js 137.09 kB │ gzip: 30.87 kB
ℹ dist/send-DNXGuVZo.js 107.73 kB │ gzip: 25.72 kB
ℹ dist/send-BebETj3f.js 91.77 kB │ gzip: 23.89 kB
ℹ dist/sessions-D-8LS7OA.js 84.84 kB │ gzip: 20.91 kB
ℹ dist/web-B4OYvX8Y.js 82.91 kB │ gzip: 21.32 kB
ℹ dist/chrome-Cz6gEL4J.js 71.72 kB │ gzip: 18.12 kB
ℹ dist/runner-CPYsgUhm.js 69.83 kB │ gzip: 16.52 kB
ℹ dist/pw-ai-DCCoUWRA.js 66.05 kB │ gzip: 15.90 kB
ℹ dist/image-DIy-p-pP.js 61.27 kB │ gzip: 15.90 kB
ℹ dist/subsystem-BOPdQ1OK.js 55.59 kB │ gzip: 15.92 kB
ℹ dist/agent-scope-WPEQNa7s.js 55.02 kB │ gzip: 12.17 kB
ℹ dist/qmd-manager-CvhCAEoA.js 51.51 kB │ gzip: 13.05 kB
ℹ dist/skills-C7unrH59.js 50.84 kB │ gzip: 13.18 kB
ℹ dist/deliver-DW9Xh72L.js 46.06 kB │ gzip: 11.48 kB
ℹ dist/commands-registry-BRAuwRmT.js 34.34 kB │ gzip: 7.76 kB
ℹ dist/dock-CGq2npkg.js 33.54 kB │ gzip: 6.72 kB
ℹ dist/ir-ClREMvZ
.js 27.94 kB │ gzip: 7.09 kB
ℹ dist/query-expansion-7whZU4sO.js 21.26 kB │ gzip: 7.34 kB
ℹ dist/send-DrvKMBO6.js 17.77 kB │ gzip: 5.28 kB
ℹ dist/send-CzeZBsxD.js 17.10 kB │ gzip: 4.61 kB
ℹ dist/plugins-DEtc-46n.js 16.64 kB │ gzip: 4.04 kB
ℹ dist/send-DRTZO2X_.js 16.02 kB │ gzip: 4.83 kB
ℹ dist/tool-loop-detection-BM-akb4H.js 14.20 kB │ gzip: 3.58 kB
ℹ dist/image-ops-BbmU_6cA.js 14.04 kB │ gzip: 4.17 kB
ℹ dist/chunk-BpuxhaD7.js 12.77 kB │ gzip: 3.55 kB
ℹ dist/skill-commands-GSzc8KPf.js 12.08 kB │ gzip: 3.76 kB
ℹ dist/diagnostic-ZKIBGHDE.js 10.99 kB │ gzip: 2.84 kB
ℹ dist/login-qr-ChSgT2bu.js 10.29 kB │ gzip: 3.56 kB
ℹ dist/accounts-Dnvd8nR9.js 10.29 kB │ gzip: 3.02 kB
ℹ dist/tool-images-BFY6D3tg.js 9.75 kB │ gzip: 3.04 kB
ℹ dist/resolve-route-Bx8D94dW.js 9.37 kB │ gzip: 2.65 kB
ℹ dist/fs-safe-CQBZZ6O5.js 8.97 kB │ gzip: 2.14 kB
ℹ dist/session-key-CPPWn8gW.js 8.89 kB │ gzip: 2.34 kB
ℹ dist/paths-DpzIdlnz.js 8.37 kB │ gzip: 2.26 kB
ℹ dist/outbound-DiHgIN5L.js 7.96 kB │ gzip: 2.46 kB
ℹ dist/paths-lnw9cZ3t.js 7.92 kB │ gzip: 2.02 kB
ℹ dist/ssrf-BaloqzVZ.js 7.92 kB │ gzip: 2.31 kB
ℹ dist/target-errors-Y3pBPFJj.js 6.67 kB │ gzip: 2.02 kB
ℹ dist/session-BWjRhGE8.js 6.54 kB │ gzip: 2.35 kB
ℹ dist/reply-prefix-DwDIbtLD.js 6.47 kB │ gzip: 1.94 kB
ℹ dist/local-roots-BEpQMNc1.js 6.41 kB │ gzip: 2.27 kB
ℹ dist/redact-BbTfxkPJ.js 6.26 kB │ gzip: 2.16 kB
ℹ dist/gemini-auth-BaJ28hL6.js 5.80 kB │ gzip: 1.94 kB
ℹ dist/replies-wcL0R19b.js 5.05 kB │ gzip: 1.61 kB
ℹ dist/pi-model-discovery-BrfaFikX.js 4.94 kB │ gzip: 1.62 kB
ℹ dist/fetch-guard-CPDCFJjb.js 4.85 kB │ gzip: 1.83 kB
ℹ dist/thinking-Bzh_kx9f.js 4.85 kB │ gzip: 1.25 kB
ℹ dist/inbound-context-DRuWC8GA.js 4.49 kB │ gzip: 1.37 kB
ℹ dist/whatsapp-actions-OtX7BGZz.js 4.31 kB │ gzip: 1.55 kB
ℹ dist/github-copilot-token-DqKkG5Fl.js 4.18 kB │ gzip: 1.59 kB
ℹ dist/channel-activity-Di3wkBMn.js 3.74 kB │ gzip: 1.25 kB
ℹ dist/render-4xrev36Z.js 3.29 kB │ gzip: 1.14 kB
ℹ dist/audio-preflight-D-fT-qXM.js 3.25 kB │ gzip: 1.38 kB
ℹ dist/message-channel-k1bg4144.js 3.24 kB │ gzip: 1.08 kB
ℹ dist/env-Dd9-xtX7.js 3.04 kB │ gzip: 1.08 kB
ℹ dist/retry-Bes-X54d.js 2.97 kB │ gzip: 1.07 kB
ℹ dist/bindings-3MzQVjCQ.js 2.69 kB │ gzip: 0.82 kB
ℹ dist/diagnostic-session-state-C1vRJs5w.js 2.56 kB │ gzip: 0.91 kB
ℹ dist/login-gGIRzKhR.js 2.50 kB │ gzip: 1.10 kB
ℹ dist/fetch-1C-nZZil.js 2.44 kB │ gzip: 0.85 kB
ℹ dist/command-poll-backoff-c3RlduTa.js 2.27 kB │ gzip: 0.94 kB
ℹ dist/store-Brk17wOQ.js 2.18 kB │ gzip: 1.04 kB
ℹ dist/polls-Dn1C2d1-.js 1.96 kB │ gzip: 0.63 kB
ℹ dist/active-listener-DAF3gcnp.js 1.87 kB │ gzip: 0.79 kB
ℹ dist/accounts-C1oPU59h.js 1.81 kB │ gzip: 0.67 kB
ℹ dist/accounts-D2mDpuvg.js 1.78 kB │ gzip: 0.65 kB
ℹ dist/markdown-tables-CbPKTQhd.js 1.56 kB │ gzip: 0.65 kB
ℹ dist/path-alias-guards-CDHlVCos.js 1.52 kB │ gzip: 0.65 kB
ℹ dist/conversation-label-yy4cDf4r.js 1.51 kB │ gzip: 0.63 kB
ℹ dist/targets-DmSpDM4F.js 1.48 kB │ gzip: 0.57 kB
ℹ dist/fetch-timeout-BwagyldX.js 1.37 kB │ gzip: 0.70 kB
ℹ dist/errors-gzROynDW.js 1.27 kB │ gzip: 0.54 kB
ℹ dist/tokens-Cmye2J27.js 1.22 kB │ gzip: 0.56 kB
ℹ dist/tables-DWfyzXI6.js 1.15 kB │ gzip: 0.56 kB
ℹ dist/run-with-concurrency-Cl6BzVG_.js 1.05 kB │ gzip: 0.50 kB
ℹ dist/outbound-attachment-Bu1cYqa7.js 0.69 kB │ gzip: 0.37 kB
ℹ dist/transcript-events-Rj8UphZE.js 0.59 kB │ gzip: 0.29 kB
ℹ dist/load-options-NXJEwVRG.js 0.49 kB │ gzip: 0.25 kB
ℹ dist/proxy-CG7lVglh.js 0.48 kB │ gzip: 0.30 kB
ℹ dist/account-lookup-CQTtiSgC.js 0.45 kB │ gzip: 0.27 kB
ℹ dist/rolldown-runtime-Cbj13DAv.js 0.42 kB │ gzip: 0.28 kB
ℹ dist/chat-type-DFDuk3FY.js 0.33 kB │ gzip: 0.20 kB
ℹ dist/secure-random-D7Pne8Yn.js 0.32 kB │ gzip: 0.20 kB
ℹ 87 files, total: 5.52 MB
✔ Build complete in 703ms
✔ Build complete in 704ms
✔ Build complete in 705ms
ℹ dist/entry.js 19.28 kB │ gzip: 5.33 kB
ℹ dist/subagent-registry-D4letgLr.js 3.02 MB
ℹ dist/gateway-cli-BoKZjzkd.js 809.35 kB │ gzip: 191.40 kB
ℹ dist/auth-profiles-DBvQCD4G.js 539.46 kB │ gzip: 116.06 kB
ℹ dist/redact-snapshot-q4UmMdvm.js 214.29 kB │ gzip: 59.24 kB
ℹ dist/manager-D5smA-Ml.js 137.13 kB │ gzip: 30.89 kB
ℹ dist/audit-B3mCoODw.js 133.65 kB │ gzip: 31.78 kB
ℹ dist/tui-Ct8krxsC.js 109.28 kB │ gzip: 26.95 kB
ℹ dist/send-CXISOQrd.js 107.73 kB │ gzip: 25.72 kB
ℹ dist/client-BJl5gefA.js 97.56 kB │ gzip: 18.02 kB
ℹ dist/sessions-BSya2hKx.js 95.44 kB │ gzip: 23.14 kB
ℹ dist/prompt-select-styled-a5Rj15ne.js 94.84 kB │ gzip: 25.48 kB
ℹ dist/server-context-B_CSlfCp.js 92.58 kB │ gzip: 19.45 kB
ℹ dist/sandbox-CLbQ5-ro.js 88.98 kB │ gzip: 21.93 kB
ℹ dist/onboard-channels-CMrC_Fpb.js 88.54 kB │ gzip: 20.28 kB
ℹ dist/doctor-config-flow-Sl2e6jcF.js 86.82 kB │ gzip: 17.81 kB
ℹ dist/models-CLlWrYAG.js 83.61 kB │ gzip: 20.13 kB
ℹ dist/channel-web-D9HLInZS.js 81.38 kB │ gzip: 20.58 kB
ℹ dist/status-iZcBCTfu.js 80.75 kB │ gzip: 20.48 kB
ℹ dist/send-CBL2dGnU.js 77.43 kB │ gzip: 20.48 kB
ℹ dist/runner-DE1t5Zgj.js 69.58 kB │ gzip: 16.58 kB
ℹ dist/browser-cli-B4l35Nur.js 67.25 kB │ gzip: 12.52 kB
ℹ dist/pw-ai-BOSDaAKK.js 66.41 kB │ gzip: 16.10 kB
ℹ dist/chrome-iUfs_jkQ.js 61.09 kB │ gzip: 15.27 kB
ℹ dist/auth-choice-D-7VUkxT.js 61.00 kB │ gzip: 12.96 kB
ℹ dist/secrets-cli-DfZfe5Kr.js 60.76 kB │ gzip: 13.49 kB
ℹ dist/channels-cli-NHEDpgr8.js 59.11 kB │ gzip: 15.74 kB
ℹ dist/nodes-cli-DR2bvOSi.js 56.22 kB │ gzip: 12.80 kB
ℹ dist/node-cli-D-mvl01i.js 55.98 kB │ gzip: 14.74 kB
ℹ dist/health-hcO8JX5Y.js 55.57 kB │ gzip: 13.19 kB
ℹ dist/update-cli-CKTDPziR.js 54.22 kB │ gzip: 15.77 kB
ℹ dist/qmd-manager-ehzcpbyT.js 51.61 kB │ gzip: 13.10 kB
ℹ dist/pi-embedded-helpers-BaHshA95.js 49.97 kB │ gzip: 12.93 kB
ℹ dist/acp-cli-BlDnewqU.js 46.04 kB │ gzip: 12.45 kB
ℹ dist/auth-token-BfeILtbv.js 44.70 kB │ gzip: 8.19 kB
ℹ dist/deliver-yRviJxOO.js 43.96 kB │ gzip: 10.89 kB
ℹ dist/skills-yeQbeVI2.js 42.23 kB │ gzip: 11.18 kB
ℹ dist/subsystem-CDGdCagb.js 40.43 kB │ gzip: 11.33 kB
ℹ dist/tool-display-B-Kg-QB2.js 36.70 kB │ gzip: 8.90 kB
ℹ dist/hooks-cli-CpE4Rl5b.js 35.98 kB │ gzip: 9.44 kB
ℹ dist/memory-cli-RdoCCJ6q.js 34.97 kB │ gzip: 8.89 kB
ℹ dist/register.message-BRcv_AQr.js 34.21 kB │ gzip: 8.54 kB
ℹ dist/dock-Tl4rkwup.js 33.64 kB │ gzip: 6.76 kB
ℹ dist/daemon-cli-DbXeikhB.js 33.48 kB │ gzip: 8.98 kB
ℹ dist/commands-registry-BqTq-in6.js 32.83 kB │ gzip: 7.46 kB
ℹ dist/configure-B7DntjCP.js 32.75 kB │ gzip: 8.96 kB
ℹ dist/agents-CDmeLCBl.js 32.53 kB │ gzip: 7.49 kB
ℹ dist/plugins-cli-WyWXIkEL.js 31.32 kB │ gzip: 8.82 kB
ℹ dist/cron-cli-DSztYJhj.js 30.50 kB │ gzip: 7.36 kB
ℹ dist/manifest-registry-JXmwWO7X.js 29.29 kB │ gzip: 6.98 kB
ℹ dist/ir-BCrRzrNb.js 27.94 kB │ gzip: 7.08 kB
ℹ dist/auth-choice--BbLIBG3.js 26.76 kB │ gzip: 5.17 kB
ℹ dist/service-DXUbBN5C.js 25.84 kB │ gzip: 6.60 kB
ℹ dist/session-utils-OXPtqdi8.js 25.75 kB │ gzip: 6.82 kB
ℹ dist/session-cost-usage-y2VpZJN5.js 25.73 kB │ gzip: 6.17 kB
ℹ dist/update-runner-C0L2wmE_.js 25.66 kB │ gzip: 5.67 kB
ℹ dist/push-apns-D1U79cAq.js 25.55 kB │ gzip: 7.12 kB
ℹ dist/openclaw-root-CB7tjNbo.js 25.46 kB │ gzip: 4.82 kB
ℹ dist/utils-XeuG5BG2.js 22.86 kB │ gzip: 7.09 kB
ℹ dist/skill-commands-BYCSrMhM.js 22.78 kB │ gzip: 6.17 kB
ℹ dist/sandbox-cli-BiTimIdr.js 22.58 kB │ gzip: 5.95 kB
ℹ dist/agent-scope-CkjEOGci.js 21.89 kB │ gzip: 5.47 kB
ℹ dist/register.maintenance-D2G7AvnC.js 21.81 kB │ gzip: 6.48 kB
ℹ dist/register.status-health-sessions-CGUH-TJb.js 21.01 kB │ gzip: 6.37 kB
ℹ dist/onboarding.finalize-o-LDzhs3.js 19.96 kB │ gzip: 6.45 kB
ℹ dist/image-BqMPhZbW.js 19.94 kB │ gzip: 5.92 kB
ℹ dist/query-expansion-B20mBC1K.js 19.66 kB │ gzip: 6.89 kB
ℹ dist/onboard-custom-DsyQVVTc.js 19.16 kB │ gzip: 5.36 kB
ℹ dist/daemon-install-helpers-BvyCMWmD.js 19.01 kB │ gzip: 5.01 kB
ℹ dist/server-node-events-Cp7tjww3.js 18.70 kB │ gzip: 5.65 kB
ℹ dist/plugin-auto-enable-Dlro5_ui.js 18.60 kB │ gzip: 4.96 kB
ℹ dist/systemd-Di6xRstQ.js 18.55 kB │ gzip: 5.20 kB
ℹ dist/skills-install-Cy9XCdgM.js 18.52 kB │ gzip: 5.11 kB
ℹ dist/send-BnjyMFEc.js 17.76 kB │ gzip: 5.28 kB
ℹ dist/completion-cli-VnbiD2jW.js 17.53 kB │ gzip: 4.86 kB
ℹ dist/register.agent-hsAT3y4Y.js 17.36 kB │ gzip: 5.81 kB
ℹ dist/plugins-DVEE9xtr.js 17.26 kB │ gzip: 4.19 kB
ℹ dist/pairing-store-XwcWj5hF.js 17.15 kB │ gzip: 4.14 kB
ℹ dist/send-CtRAU4AI.js 17.09 kB │ gzip: 4.60 kB
ℹ dist/call-Bky0qiV4.js 16.97 kB │ gzip: 5.17 kB
ℹ dist/pi-tools.policy-CQwXOOk9.js 16.91 kB │ gzip: 4.25 kB
ℹ dist/model-picker-DY7MuUuy.js 16.70 kB │ gzip: 4.44 kB
ℹ dist/models-cli-BlyYvLFd.js 16.63 kB │ gzip: 4.37 kB
ℹ dist/security-cli-DEBbNoy8.js 16.63 kB │ gzip: 4.83 kB
ℹ dist/send-DiZdWOWb.js 16.01 kB │ gzip: 4.83 kB
ℹ dist/install-safe-path-IfnyEcEQ.js 15.23 kB │ gzip: 4.42 kB
ℹ dist/auth-CJ2Kkf46.js 15.19 kB │ gzip: 4.12 kB
ℹ dist/gmail-setup-utils-T0j_A8ZI.js 15.16 kB │ gzip: 4.50 kB
ℹ dist/webhooks-cli-wWdwzC7_.js 15.01 kB │ gzip: 4.24 kB
ℹ dist/nodes-screen-BrdjjXgM.js 14.94 kB │ gzip: 3.99 kB
ℹ dist/run-main-CAj1RJR9.js 14.79 kB │ gzip: 4.51 kB
ℹ dist/auth-choice.apply-helpers-DQDdy_Hw.js 14.67 kB │ gzip: 4.14 kB
ℹ dist/onboard-helpers-CKz9l2bS.js 14.57 kB │ gzip: 4.50 kB
ℹ dist/tool-loop-detection-CMuMZa4P.js 14.45 kB │ gzip: 3.66 kB
ℹ dist/onboarding-BKQLE05-.js 14.22 kB │ gzip: 4.40 kB
ℹ dist/onboard-f-a837WL.js 14.20 kB │ gzip: 4.04 kB
ℹ dist/image-ops-DVDevqu4.js 14.04 kB │ gzip: 4.17 kB
ℹ dist/channel-account-context-BkYeXh6c.js 14.02 kB │ gzip: 3.79 kB
ℹ dist/lifecycle-core-DnmjCfUM.js 13.64 kB │ gzip: 3.56 kB
ℹ dist/exec-approvals-cli-5pVibrLG.js 13.52 kB │ gzip: 3.96 kB
ℹ dist/qr-cli-B2xk2bSW.js 13.25 kB │ gzip: 4.06 kB
ℹ dist/npm-pack-install-CQwdUZyz.js 13.12 kB │ gzip: 3.81 kB
ℹ dist/bonjour-discovery-D2mgX7Kz.js 12.86 kB │ gzip: 3.73 kB
ℹ dist/model-DATLnamt.js 12.84 kB │ gzip: 3.48 kB
ℹ dist/chunk-BbQbIg_E.js 12.77 kB │ gzip: 3.55 kB
ℹ dist/program-DhP_HU1T.js 12.76 kB │ gzip: 4.83 kB
ℹ dist/config-cli-C8jsSWOX.js 12.66 kB │ gzip: 3.55 kB
ℹ dist/installs-BMe5sKEM.js 12.32 kB │ gzip: 3.26 kB
ℹ dist/devices-cli-Bch_Fv8O.js 12.25 kB │ gzip: 3.45 kB
ℹ dist/systemd-hints-BejlN3Sa.js 11.72 kB │ gzip: 3.32 kB
ℹ dist/exec-approvals-CW5vbjsH.js 11.70 kB │ gzip: 3.20 kB
ℹ dist/exec-approvals-allowlist-D89KaDz0.js 11.68 kB │ gzip: 2.81 kB
ℹ dist/banner-BIlaGFim.js 11.54 kB │ gzip: 4.74 kB
ℹ dist/diagnostic-CPcUcffY.js 10.99 kB │ gzip: 2.84 kB
ℹ dist/skills-cli-9lGcSPNM.js 10.97 kB │ gzip: 3.03 kB
ℹ dist/workspace-CS5KaXnX.js 10.87 kB │ gzip: 3.18 kB
ℹ dist/sessions-g1tfOT4s.js 10.75 kB │ gzip: 3.33 kB
ℹ dist/update-BomNKsej.js 10.62 kB │ gzip: 2.67 kB
ℹ dist/login-qr-BaoW7GGC.js 10.58 kB │ gzip: 3.70 kB
ℹ dist/accounts-mSQfaYxT.js 10.44 kB │ gzip: 3.06 kB
ℹ dist/ports-SY8r1M1V.js 10.39 kB │ gzip: 3.05 kB
ℹ dist/frontmatter-Cqa5i1Xb.js 10.33 kB │ gzip: 3.04 kB
ℹ dist/register.subclis-c2WH6vP-.js 10.03 kB │ gzip: 2.54 kB
ℹ dist/session-key-Cuihcz_O.js 9.80 kB │ gzip: 2.50 kB
ℹ dist/tool-images-CLwEsa9R.js 9.75 kB │ gzip: 3.04 kB
ℹ dist/exec-QEqvNlTy.js 9.56 kB │ gzip: 3.07 kB
ℹ dist/delivery-queue-CeyVwX36.js 9.53 kB │ gzip: 2.94 kB
ℹ dist/resolve-route-DKCOLR5c.js 9.41 kB │ gzip: 2.66 kB
ℹ dist/paths-B9jPXz5d.js 9.12 kB │ gzip: 2.47 kB
ℹ dist/fs-safe-DSbZ3X8f.js 9.00 kB │ gzip: 2.15 kB
ℹ dist/runtime-BRGNFz4B.js 8.98 kB │ gzip: 2.23 kB
ℹ dist/tailscale-RsI6sScm.js 8.86 kB │ gzip: 2.78 kB
ℹ dist/logs-cli-C8ki-Jds.js 8.82 kB │ gzip: 3.00 kB
ℹ dist/net-C6fRrXqw.js 8.77 kB │ gzip: 2.90 kB
ℹ dist/inspect-D9V5x1CS.js 8.60 kB │ gzip: 2.51 kB
ℹ dist/register.onboard-BpDMVFaN.js 8.53 kB │ gzip: 2.94 kB
ℹ dist/table-D5X-srYW.js 8.48 kB │ gzip: 2.77 kB
ℹ dist/provider-auth-helpers-CxgbcQ7q.js 8.13 kB │ gzip: 2.91 kB
ℹ dist/outbound-BMWi0fnw.js 8.00 kB │ gzip: 2.48 kB
ℹ dist/ssrf-85ZPZH1q.js 7.91 kB │ gzip: 2.32 kB
ℹ dist/paths-CFZJ4dSy.js 7.91 kB │ gzip: 2.03 kB
ℹ dist/dns-cli-BCuuJgju.js 7.88 kB │ gzip: 2.95 kB
ℹ dist/auth-choice-options-Cv4kX8xv.js 7.76 kB │ gzip: 2.21 kB
ℹ dist/config-validation-B99Nk2wZ.js 7.68 kB │ gzip: 2.19 kB
ℹ dist/directory-cli-DudxlSpE.js 7.66 kB │ gzip: 2.38 kB
ℹ dist/skill-scanner-oigKTnGA.js 7.39 kB │ gzip: 2.46 kB
ℹ dist/chat-envelope-DMwAJAv3.js 6.92 kB │ gzip: 2.40 kB
ℹ dist/onboarding.gateway-config-Bi6fDI7P.js 6.75 kB │ gzip: 2.28 kB
ℹ dist/ports-D3x0AHB-.js 6.72 kB │ gzip: 2.16 kB
ℹ dist/command-registry-IDOILUeS.js 6.70 kB │ gzip: 1.88 kB
ℹ dist/tool-catalog-B4gxY3Jd.js 6.67 kB │ gzip: 1.57 kB
ℹ dist/target-errors-F2irv5nD.js 6.67 kB │ gzip: 2.02 kB
ℹ dist/control-ui-assets-wEd9ekI1.js 6.62 kB │ gzip: 1.99 kB
ℹ dist/skills-status-PWRjvbdj.js 6.55 kB │ gzip: 2.16 kB
ℹ dist/paths-BMEYU0fu.js 6.53 kB │ gzip: 1.83 kB
ℹ dist/session-6i4W25EL.js 6.51 kB │ gzip: 2.34 kB
ℹ dist/reply-prefix-B2UgX8_Z.js 6.47 kB │ gzip: 1.94 kB
ℹ dist/register.configure-DuAMVYL1.js 6.40 kB │ gzip: 2.69 kB
ℹ dist/local-roots-DYoH1Ski.js 6.40 kB │ gzip: 2.28 kB
ℹ dist/redact-Bdn22hWn.js 6.36 kB │ gzip: 2.18 kB
ℹ dist/pairing-cli-CWZq6TdJ.js 6.08 kB │ gzip: 2.14 kB
ℹ dist/model-catalog-DFp293DX.js 5.98 kB │ gzip: 1.90 kB
ℹ dist/with-timeout-54l7vG01.js 5.94 kB │ gzip: 2.29 kB
ℹ dist/onboard-skills-DQsZXYwJ.js 5.80 kB │ gzip: 2.20 kB
ℹ dist/gemini-auth-CG5kHei4.js 5.80 kB │ gzip: 1.94 kB
ℹ dist/docs-cli-BtW_ETgO.js 5.78 kB │ gzip: 2.13 kB
ℹ dist/cli-crwsDw0w.js 5.58 kB │ gzip: 2.31 kB
ℹ dist/entry-status-gx1ZUXDM.js 5.37 kB │ gzip: 1.15 kB
ℹ dist/replies-CvIucXvi.js 5.05 kB │ gzip: 1.61 kB
ℹ dist/widearea-dns-D95W6-8I.js 5.04 kB │ gzip: 1.93 kB
ℹ dist/register.setup-BgYXNQAK.js 5.01 kB │ gzip: 2.01 kB
ℹ dist/models-config-Bg_vfV1j.js 4.98 kB │ gzip: 1.62 kB
ℹ dist/onboard-provider-auth-flags-D2m8TD48.js 4.96 kB │ gzip: 1.02 kB
ℹ dist/pi-model-discovery-B5sm9V7v.js 4.92 kB │ gzip: 1.62 kB
ℹ dist/thinking-lfnd6MLT.js 4.88 kB │ gzip: 1.25 kB
ℹ dist/fetch-guard-DHZqpJ5y.js 4.84 kB │ gzip: 1.83 kB
ℹ dist/openai-model-default-DHRAmGlI.js 4.83 kB │ gzip: 1.57 kB
ℹ dist/agents.config-CbJxeS0Q.js 4.81 kB │ gzip: 1.43 kB
ℹ dist/onboard-remote-jNsp9V0B.js 4.78 kB │ gzip: 1.92 kB
ℹ dist/shared-ByHDUGjQ.js 4.72 kB │ gzip: 1.79 kB
ℹ dist/whatsapp-actions-Cuy4y7ZL.js 4.59 kB │ gzip: 1.68 kB
ℹ dist/web-NAr5inRe.js 4.58 kB │ gzip: 1.90 kB
ℹ dist/inbound-context-mZDuWLOp.js 4.49 kB │ gzip: 1.37 kB
ℹ dist/system-run-command-BrotjmwN.js 4.36 kB │ gzip: 1.46 kB
ℹ dist/message-channel--ZQegy69.js 4.33 kB │ gzip: 1.29 kB
ℹ dist/progress-C1ycUGtl.js 4.19 kB │ gzip: 1.40 kB
ℹ dist/github-copilot-token-CHThtPpe.js 4.15 kB │ gzip: 1.59 kB
ℹ dist/doctor-completion-Dnv7A5Sb.js 4.14 kB │ gzip: 1.37 kB
ℹ dist/audio-preflight-CpVpC3Dz.js 4.08 kB │ gzip: 1.73 kB
ℹ dist/server-Be73572q.js 4.01 kB │ gzip: 1.62 kB
ℹ dist/credentials-DjoxnQUT.js 3.96 kB │ gzip: 0.92 kB
ℹ dist/system-cli-yY0cQn-0.js 3.83 kB │ gzip: 1.33 kB
ℹ dist/host-env-security-DWcSD4kP.js 3.80 kB │ gzip: 1.15 kB
ℹ dist/config-guard-BxF5IWPW.js 3.78 kB │ gzip: 1.36 kB
ℹ dist/status.update-6r_TZcrq.js 3.77 kB │ gzip: 1.22 kB
ℹ dist/channel-activity-CEdJpKzf.js 3.74 kB │ gzip: 1.25 kB
ℹ dist/tui-cli-DrrNjV-4.js 3.74 kB │ gzip: 1.67 kB
ℹ dist/server-middleware-BsHsVwFh.js 3.61 kB │ gzip: 1.24 kB
ℹ dist/clack-prompter-ByKEYbqT.js 3.51 kB │ gzip: 1.13 kB
ℹ dist/note-CEbCG-nS.js 3.46 kB │ gzip: 1.26 kB
ℹ dist/render-CUAKPmvZ.js 3.29 kB │ gzip: 1.14 kB
ℹ dist/constants-CJHAeadq.js 3.27 kB │ gzip: 0.90 kB
ℹ dist/exec-safe-bin-runtime-policy-Bqibo6QP.js 3.26 kB │ gzip: 1.15 kB
ℹ dist/systemd-linger-DksmW04P.js 3.19 kB │ gzip: 1.01 kB
ℹ dist/path-env-LTMy-Xkk.js 3.14 kB │ gzip: 1.22 kB
ℹ dist/rpc-Cf6cLuHa.js 3.11 kB │ gzip: 1.44 kB
ℹ dist/retry-BZsXTDB8.js 2.96 kB │ gzip: 1.07 kB
ℹ dist/pairing-token-DR7_a9gi.js 2.95 kB │ gzip: 1.15 kB
ℹ dist/ipv4-CUpFxXih.js 2.92 kB │ gzip: 1.20 kB
ℹ dist/bindings-D9TcP6QC.js 2.87 kB │ gzip: 0.86 kB
ℹ dist/shared-DG6qLla9.js 2.84 kB │ gzip: 1.05 kB
ℹ dist/hooks-status-CXB4IIjQ.js 2.81 kB │ gzip: 1.13 kB
ℹ dist/npm-resolution-CdY3vpsw.js 2.79 kB │ gzip: 0.94 kB
ℹ dist/heartbeat-visibility-K4bnQDH.js 2.73 kB │ gzip: 0.96 kB
ℹ dist/api--tQ-WAuN.js 2.70 kB │ gzip: 1.11 kB
ℹ dist/mutable-allowlist-detectors-Bkq3wgxA.js 2.61 kB │ gzip: 0.79 kB
ℹ dist/version-DR9Qjj6f.js 2.59 kB │ gzip: 0.89 kB
ℹ dist/diagnostic-session-state-I4x9gPY4.js 2.56 kB │ gzip: 0.91 kB
ℹ dist/login-DkDXKbmc.js 2.54 kB │ gzip: 1.11 kB
ℹ dist/fetch-CEocu0FI.js 2.44 kB │ gzip: 0.85 kB
ℹ dist/format-duration-C9ZBnsdW.js 2.42 kB │ gzip: 0.91 kB
ℹ dist/store-DR1i3yWv.js 2.32 kB │ gzip: 1.08 kB
ℹ dist/command-poll-backoff-BnSsQYoI.js 2.27 kB │ gzip: 0.94 kB
ℹ dist/onboard-hooks-CZ0onh5X.js 2.22 kB │ gzip: 1.03 kB
ℹ dist/daemon-install-DpyNH9D5.js 2.19 kB │ gzip: 0.94 kB
ℹ dist/channel-options-vtUEHr5a.js 2.16 kB │ gzip: 0.86 kB
ℹ dist/format-relative-TyajjYxu.js 2.13 kB │ gzip: 0.86 kB
ℹ dist/node-service-g5TQ88wi.js 2.09 kB │ gzip: 0.62 kB
ℹ dist/node-match-CZ8lT9jK.js 2.07 kB │ gzip: 0.77 kB
ℹ dist/channel-selection-BB8b_l9h.js 2.06 kB │ gzip: 0.73 kB
ℹ dist/stagger-D34qqlHi.js 2.00 kB │ gzip: 0.78 kB
ℹ dist/runtime-guard-BwU7cq4B.js 1.98 kB │ gzip: 0.82 kB
ℹ dist/polls-BOHtEDuW.js 1.96 kB │ gzip: 0.63 kB
ℹ dist/accounts-Drxr268V.js 1.96 kB │ gzip: 0.68 kB
ℹ dist/accounts-DzYPWfMe.js 1.94 kB │ gzip: 0.69 kB
ℹ dist/active-listener-C4ql8CUj.js 1.90 kB │ gzip: 0.80 kB
ℹ dist/dangerous-name-matching-gah3OpXu.js 1.84 kB │ gzip: 0.59 kB
ℹ dist/context-window-guard-CMImrmEk.js 1.75 kB │ gzip: 0.68 kB
ℹ dist/commands-DKySoJ6f.js 1.67 kB │ gzip: 0.56 kB
ℹ dist/brew-sUdeII-D.js 1.65 kB │ gzip: 0.58 kB
ℹ dist/enable-LtERizvo.js 1.59 kB │ gzip: 0.59 kB
ℹ dist/command-format-DgtG-Rih.js 1.58 kB │ gzip: 0.64 kB
ℹ dist/auth-choice-prompt-CsdzD45Y.js 1.57 kB │ gzip: 0.66 kB
ℹ dist/markdown-tables-BVxIYKBn.js 1.56 kB │ gzip: 0.65 kB
ℹ dist/input-provenance-zFt6K4Lt.js 1.54 kB │ gzip: 0.54 kB
ℹ dist/path-alias-guards-CLUFoulU.js 1.53 kB │ gzip: 0.65 kB
ℹ dist/env-vars-tQ4AIdQq.js 1.52 kB │ gzip: 0.53 kB
ℹ dist/conversation-label-dAtyBEwl.js 1.51 kB │ gzip: 0.63 kB
ℹ dist/usage-format-EdDmn0JB.js 1.50 kB │ gzip: 0.58 kB
ℹ dist/targets-DEgZd09W.js 1.48 kB │ gzip: 0.57 kB
ℹ dist/errors-DQoYsN9P.js 1.43 kB │ gzip: 0.60 kB
ℹ dist/health-format-B2TosbwY.js 1.42 kB │ gzip: 0.66 kB
ℹ dist/legacy-names-CrAwZcgV.js 1.41 kB │ gzip: 0.59 kB
ℹ dist/fetch-timeout-DfkrzGkx.js 1.37 kB │ gzip: 0.70 kB
ℹ dist/wsl-iqay814J.js 1.36 kB │ gzip: 0.54 kB
ℹ dist/plugin-registry-D9IKAPXp.js 1.34 kB │ gzip: 0.57 kB
ℹ dist/diagnostics-CwOW5Tuq.js 1.28 kB │ gzip: 0.59 kB
ℹ dist/parse-log-line-y00lOR1i.js 1.23 kB │ gzip: 0.52 kB
ℹ dist/tokens-CdWFvf3y.js 1.21 kB │ gzip: 0.56 kB
ℹ dist/server-lifecycle-yYGiFKzn.js 1.20 kB │ gzip: 0.56 kB
ℹ dist/gateway-rpc-12GLNr_X.js 1.17 kB │ gzip: 0.62 kB
ℹ dist/provider-env-vars-DgTbOb1r.js 1.17 kB │ gzip: 0.60 kB
ℹ dist/tables-C65kaime.js 1.15 kB │ gzip: 0.56 kB
ℹ dist/tailnet-C8yykkPR.js 1.13 kB │ gzip: 0.49 kB
ℹ dist/allow-from-Ddpg-zfI.js 1.11 kB │ gzip: 0.48 kB
ℹ dist/run-with-concurrency-CJzkJoeg.js 1.05 kB │ gzip: 0.50 kB
ℹ dist/command-options-j8s8APBQ.js 0.94 kB │ gzip: 0.38 kB
ℹ dist/clawbot-cli-C0q1IDOh.js 0.93 kB │ gzip: 0.52 kB
ℹ dist/dangerous-tools-DjOwyW3J.js 0.88 kB │ gzip: 0.49 kB
ℹ dist/onboard-config-D-YvWJll.js 0.88 kB │ gzip: 0.41 kB
ℹ dist/boolean-DtWR5bt3.js 0.86 kB │ gzip: 0.38 kB
ℹ dist/cli-utils-Dp61QuRB.js 0.86 kB │ gzip: 0.42 kB
ℹ dist/status-CEUUNJlt.js 0.82 kB │ gzip: 0.35 kB
ℹ dist/runtime-binary-BAg6rdQs.js 0.80 kB │ gzip: 0.38 kB
ℹ dist/trash-WJ5rbxj0.js 0.79 kB │ gzip: 0.42 kB
ℹ dist/helpers-vF0A7y7k.js 0.79 kB │ gzip: 0.39 kB
ℹ dist/format-Dc2GXZZd.js 0.76 kB │ gzip: 0.40 kB
ℹ dist/logging-CR-uu1KB.js 0.73 kB │ gzip: 0.38 kB
ℹ dist/outbound-attachment-Djx64I0G.js 0.69 kB │ gzip: 0.37 kB
ℹ dist/help-format-Mg63VRVq.js 0.67 kB │ gzip: 0.30 kB
ℹ dist/clipboard-kMcQjeOa.js 0.63 kB │ gzip: 0.37 kB
ℹ dist/program-context-C8TSHcCQ.js 0.61 kB │ gzip: 0.32 kB
ℹ dist/transcript-events-C8Tqw4td.js 0.59 kB │ gzip: 0.29 kB
ℹ dist/workspace-dirs-BIlumfko.js 0.58 kB │ gzip: 0.33 kB
ℹ dist/channels-status-issues-191qagbY.js 0.55 kB │ gzip: 0.30 kB
ℹ dist/runtime-status-DV2uMNRb.js 0.55 kB │ gzip: 0.30 kB
ℹ dist/model-param-b-B7yKiyOu.js 0.49 kB │ gzip: 0.32 kB
ℹ dist/links-DMmQqqmC.js 0.49 kB │ gzip: 0.31 kB
ℹ dist/load-options-D4kbhq3K.js 0.49 kB │ gzip: 0.25 kB
ℹ dist/node-commands-BAFJumuL.js 0.48 kB │ gzip: 0.26 kB
ℹ dist/proxy-R5TjOIFS.js 0.48 kB │ gzip: 0.30 kB
ℹ dist/daemon-runtime-B4ocYoH1.js 0.47 kB │ gzip: 0.30 kB
ℹ dist/parse-timeout-DmEcHIsV.js 0.46 kB │ gzip: 0.26 kB
ℹ dist/account-lookup-nhRqbbmg.js 0.45 kB │ gzip: 0.27 kB
ℹ dist/prompt-style-BBtxOcmy.js 0.45 kB │ gzip: 0.24 kB
ℹ dist/path-safety-2WyzRKEB.js 0.44 kB │ gzip: 0.27 kB
ℹ dist/parse-port-CMRD6fhd.js 0.43 kB │ gzip: 0.25 kB
ℹ dist/rolldown-runtime-Cbj13DAv.js 0.42 kB │ gzip: 0.28 kB
ℹ dist/helpers-BzX8M9Uf.js 0.41 kB │ gzip: 0.25 kB
ℹ dist/secret-equal-C6Ey0YcX.js 0.39 kB │ gzip: 0.26 kB
ℹ dist/chat-type-BP9akbag.js 0.33 kB │ gzip: 0.20 kB
ℹ dist/secure-random-e-JtTDq-.js 0.32 kB │ gzip: 0.20 kB
ℹ dist/text-format-CoyYCJTB.js 0.27 kB │ gzip: 0.22 kB
ℹ dist/pairing-labels-CoarTYjD.js 0.26 kB │ gzip: 0.19 kB
ℹ dist/prompts-GoDC3iAV.js 0.24 kB │ gzip: 0.17 kB
ℹ dist/logging-BvdokaVt.js 0.01 kB │ gzip: 0.03 kB
ℹ 306 files, total: 9.28 MB
✔ Build complete in 914ms
ℹ dist/index.js 25.80 kB │ gzip: 9.90 kB
ℹ dist/reply-C4Z1ePNd.js 3.05 MB
ℹ dist/gateway-cli-C2nOJO0C.js 809.27 kB │ gzip: 191.38 kB
ℹ dist/model-selection-CJuOdakm.js 539.43 kB │ gzip: 115.84 kB
ℹ dist/redact-snapshot-D15IH0QM.js 214.30 kB │ gzip: 59.24 kB
ℹ dist/manager-nVsE3xic.js 137.14 kB │ gzip: 30.90 kB
ℹ dist/audit-YBac04z6.js 133.66 kB │ gzip: 31.79 kB
ℹ dist/tui-CflOHXRj.js 109.28 kB │ gzip: 26.91 kB
ℹ dist/send-Di7BDQOy.js 107.77 kB │ gzip: 25.73 kB
ℹ dist/models-cli-C1GkJquC.js 97.69 kB │ gzip: 23.67 kB
ℹ dist/client-DPn18SIk.js 97.56 kB │ gzip: 18.02 kB
ℹ dist/sessions-BVGPY3t0.js 95.46 kB │ gzip: 23.14 kB
ℹ dist/prompt-select-styled-BiYWqlyf.js 94.84 kB │ gzip: 25.49 kB
ℹ dist/server-context-BT35eRIm.js 92.58 kB │ gzip: 19.44 kB
ℹ dist/sandbox-DRlThm9n.js 88.99 kB │ gzip: 21.94 kB
ℹ dist/onboard-channels-CprQAu2X.js 88.53 kB │ gzip: 20.28 kB
ℹ dist/doctor-config-flow-C0zs1lp3.js 86.83 kB │ gzip: 17.82 kB
ℹ dist/channel-web-D0cEzFyR.js 81.41 kB │ gzip: 20.58 kB
ℹ dist/status-OKL4ap22.js 80.46 kB │ gzip: 20.39 kB
ℹ dist/send-LNn9XV6A.js 77.44 kB │ gzip: 20.49 kB
ℹ dist/runner-vOFS6d3
.js 69.59 kB │ gzip: 16.58 kB
ℹ dist/browser-cli-Bd4d9d1V.js 67.25 kB │ gzip: 12.52 kB
ℹ dist/pw-ai-Nq7YIZDP.js 66.41 kB │ gzip: 16.10 kB
ℹ dist/chrome-uYTmWolP.js 61.09 kB │ gzip: 15.26 kB
ℹ dist/auth-choice-CDbgaxI6.js 61.00 kB │ gzip: 12.97 kB
ℹ dist/secrets-cli-CTyE0ZO1.js 60.76 kB │ gzip: 13.50 kB
ℹ dist/channels-cli-D973KKta.js 59.07 kB │ gzip: 15.74 kB
ℹ dist/nodes-cli-CnG9Ap2p.js 56.22 kB │ gzip: 12.80 kB
ℹ dist/node-cli-CTxW_VfI.js 55.98 kB │ gzip: 14.75 kB
ℹ dist/health-JBvUECtp.js 55.57 kB │ gzip: 13.18 kB
ℹ dist/update-cli-42YdDe7a.js 54.09 kB │ gzip: 15.73 kB
ℹ dist/qmd-manager-Dtx4BGug.js 51.61 kB │ gzip: 13.10 kB
ℹ dist/pi-embedded-helpers-Be7W9I43.js 49.97 kB │ gzip: 12.94 kB
ℹ dist/register.agent-PmYyrXyg.js 47.64 kB │ gzip: 12.29 kB
ℹ dist/acp-cli-D9A2sjHs.js 46.05 kB │ gzip: 12.45 kB
ℹ dist/auth-token-BpL5g2CN.js 44.68 kB │ gzip: 8.19 kB
ℹ dist/deliver-D4qmqUNq.js 43.96 kB │ gzip: 10.90 kB
ℹ dist/skills-v5QA6O0B.js 42.23 kB │ gzip: 11.18 kB
ℹ dist/subsystem-DypCPrmP.js 40.43 kB │ gzip: 11.33 kB
ℹ dist/tool-display-B99otER_.js 36.70 kB │ gzip: 8.91 kB
ℹ dist/hooks-cli-BAmW_Fje.js 35.94 kB │ gzip: 9.43 kB
ℹ dist/memory-cli-DOOitpwI.js 34.97 kB │ gzip: 8.89 kB
ℹ dist/register.message-lX9JHnTM.js 34.16 kB │ gzip: 8.52 kB
ℹ dist/dock-DZksOMxK.js 33.64 kB │ gzip: 6.75 kB
ℹ dist/daemon-cli-BGO0qhM9.js 33.49 kB │ gzip: 8.99 kB
ℹ dist/commands-registry-Deqw9qX5.js 32.83 kB │ gzip: 7.47 kB
ℹ dist/configure-C8i2BTwz.js 32.76 kB │ gzip: 8.97 kB
ℹ dist/plugins-cli-Df2E3cYo.js 31.28 kB │ gzip: 8.80 kB
ℹ dist/register.status-health-sessions-CSs4Np49.js 30.51 kB │ gzip: 8.65 kB
ℹ dist/cron-cli-BD0ais0Y.js 30.50 kB │ gzip: 7.36 kB
ℹ dist/manifest-registry-D39cxiPQ.js 29.29 kB │ gzip: 6.98 kB
ℹ dist/ir-CuBqi5AD.js 27.94 kB │ gzip: 7.08 kB
ℹ dist/auth-choice-DC9Yh3r6.js 26.76 kB │ gzip: 5.17 kB
ℹ dist/service-DGLbfVVH.js 25.84 kB │ gzip: 6.60 kB
ℹ dist/session-cost-usage-yxex7trN.js 25.73 kB │ gzip: 6.17 kB
ℹ dist/update-runner-DPr2scSj.js 25.64 kB │ gzip: 5.66 kB
ℹ dist/push-apns-rWd2eZ_S.js 25.54 kB │ gzip: 7.12 kB
ℹ dist/openclaw-root-CFLIucxC.js 25.46 kB │ gzip: 4.82 kB
ℹ dist/utils-BKDT474X.js 22.99 kB │ gzip: 7.15 kB
ℹ dist/skill-commands-BQ55RijS.js 22.78 kB │ gzip: 6.18 kB
ℹ dist/sandbox-cli-7oJPTeBA.js 22.57 kB │ gzip: 5.94 kB
ℹ dist/agent-scope-DCKfYrWF.js 21.89 kB │ gzip: 5.47 kB
ℹ dist/register.maintenance-sNp_b0Zw.js 21.68 kB │ gzip: 6.44 kB
ℹ dist/query-expansion-B_2Jogfz.js 21.28 kB │ gzip: 7.35 kB
ℹ dist/image-D9yTgxDE.js 19.94 kB │ gzip: 5.94 kB
ℹ dist/onboarding.finalize-D3-xIdU0.js 19.83 kB │ gzip: 6.40 kB
ℹ dist/onboard-custom-CyGHWPhq.js 19.16 kB │ gzip: 5.36 kB
ℹ dist/daemon-install-helpers-pN_OBc4m.js 18.97 kB │ gzip: 4.99 kB
ℹ dist/server-node-events-V7dS9bAQ.js 18.64 kB │ gzip: 5.63 kB
ℹ dist/plugin-auto-enable-BHFFMLgl.js 18.60 kB │ gzip: 4.96 kB
ℹ dist/systemd-UpMX4CGE.js 18.55 kB │ gzip: 5.20 kB
ℹ dist/skills-install-BgQaANTA.js 18.52 kB │ gzip: 5.12 kB
ℹ dist/send-DwIjMjDi.js 17.77 kB │ gzip: 5.28 kB
ℹ dist/completion-cli-D457JzAn.js 17.43 kB │ gzip: 4.83 kB
ℹ dist/plugins-ca2fC-bv.js 17.27 kB │ gzip: 4.20 kB
ℹ dist/pairing-store-DHJTzZjN.js 17.15 kB │ gzip: 4.14 kB
ℹ dist/send-ByXsk3IC.js 17.09 kB │ gzip: 4.61 kB
ℹ dist/call-CCEjlhmm.js 16.97 kB │ gzip: 5.17 kB
ℹ dist/pi-tools.policy-D5Qxi3-J.js 16.92 kB │ gzip: 4.26 kB
ℹ dist/model-picker-ZPoZKIXf.js 16.69 kB │ gzip: 4.45 kB
ℹ dist/security-cli-DgaDN66n.js 16.63 kB │ gzip: 4.84 kB
ℹ dist/send-BOUZGz6i.js 16.02 kB │ gzip: 4.83 kB
ℹ dist/program-context-9vb-10VG.js 15.96 kB │ gzip: 3.74 kB
ℹ dist/install-safe-path-DFI6K4KO.js 15.23 kB │ gzip: 4.41 kB
ℹ dist/auth-DpCmqueR.js 15.19 kB │ gzip: 4.12 kB
ℹ dist/gmail-setup-utils-CPrzLhUc.js 15.16 kB │ gzip: 4.50 kB
ℹ dist/webhooks-cli-Cbs0jWBH.js 15.01 kB │ gzip: 4.24 kB
ℹ dist/nodes-screen-DXCarBNc.js 14.94 kB │ gzip: 4.00 kB
ℹ dist/auth-choice.apply-helpers-Dl8cRIoj.js 14.68 kB │ gzip: 4.14 kB
ℹ dist/onboard-helpers-ClR2mUO4.js 14.57 kB │ gzip: 4.50 kB
ℹ dist/tool-loop-detection-FRmHUHt.js 14.45 kB │ gzip: 3.66 kB
ℹ dist/onboarding-BkD11gE7.js 14.22 kB │ gzip: 4.40 kB
ℹ dist/onboard-DKone1fG.js 14.21 kB │ gzip: 4.03 kB
ℹ dist/image-ops-BstIV9Yi.js 14.04 kB │ gzip: 4.17 kB
ℹ dist/channel-account-context-Domhcv3C.js 14.02 kB │ gzip: 3.79 kB
ℹ dist/lifecycle-core-Cs6yWZQv.js 13.64 kB │ gzip: 3.56 kB
ℹ dist/exec-approvals-cli-Yh1-puka.js 13.52 kB │ gzip: 3.96 kB
ℹ dist/qr-cli-DYdZ5EwL.js 13.25 kB │ gzip: 4.07 kB
ℹ dist/npm-pack-install-DKFhPrkG.js 13.12 kB │ gzip: 3.81 kB
ℹ dist/bonjour-discovery-BrKB6cWD.js 12.86 kB │ gzip: 3.73 kB
ℹ dist/model-BOik74nh.js 12.85 kB │ gzip: 3.47 kB
ℹ dist/chunk-CEZkHu7K.js 12.77 kB │ gzip: 3.55 kB
ℹ dist/config-cli-DIPs1ObX.js 12.63 kB │ gzip: 3.54 kB
ℹ dist/installs-Bp11BWEZ.js 12.32 kB │ gzip: 3.27 kB
ℹ dist/devices-cli-DNUSousS.js 12.25 kB │ gzip: 3.44 kB
ℹ dist/ports-CqAQp7mK.js 11.93 kB │ gzip: 3.54 kB
ℹ dist/systemd-hints-QYAw9Y9W.js 11.72 kB │ gzip: 3.32 kB
ℹ dist/exec-approvals-Dwjjra4U.js 11.70 kB │ gzip: 3.20 kB
ℹ dist/exec-approvals-allowlist-DX2JWqbE.js 11.68 kB │ gzip: 2.80 kB
ℹ dist/diagnostic-X8naRwM6.js 10.99 kB │ gzip: 2.84 kB
ℹ dist/skills-cli-DaF7MjBz.js 10.97 kB │ gzip: 3.02 kB
ℹ dist/workspace-CjiLwsI2.js 10.87 kB │ gzip: 3.18 kB
ℹ dist/update-BV7OvXrt.js 10.62 kB │ gzip: 2.67 kB
ℹ dist/login-qr-sBlRbfpP.js 10.58 kB │ gzip: 3.70 kB
ℹ dist/accounts-BCPiwTlf.js 10.44 kB │ gzip: 3.06 kB
ℹ dist/frontmatter-Dn_0bQcK.js 10.33 kB │ gzip: 3.04 kB
ℹ dist/session-key-D5gwKk5E.js 9.80 kB │ gzip: 2.50 kB
ℹ dist/tool-images-gM5beWVR.js 9.75 kB │ gzip: 3.04 kB
ℹ dist/exec-DNET3cHX.js 9.56 kB │ gzip: 3.07 kB
ℹ dist/delivery-queue-CziGqr_K.js 9.53 kB │ gzip: 2.94 kB
ℹ dist/resolve-route-Dtr06Vnh.js 9.41 kB │ gzip: 2.65 kB
ℹ dist/tailscale-H3XFAlm6.js 9.21 kB │ gzip: 2.90 kB
ℹ dist/paths-B4BZAPZh.js 9.12 kB │ gzip: 2.47 kB
ℹ dist/fs-safe-DBwFyJPg.js 9.00 kB │ gzip: 2.15 kB
ℹ dist/runtime-U1J0tGKP.js 8.99 kB │ gzip: 2.24 kB
ℹ dist/logs-cli-CRgucjYj.js 8.81 kB │ gzip: 2.99 kB
ℹ dist/ws-CAJlCnza.js 8.77 kB │ gzip: 2.91 kB
ℹ dist/inspect-BIznuWtE.js 8.60 kB │ gzip: 2.51 kB
ℹ dist/register.onboard-sF7VE9gf.js 8.52 kB │ gzip: 2.94 kB
ℹ dist/table-QBncfkjf.js 8.48 kB │ gzip: 2.77 kB
ℹ dist/provider-auth-helpers-DIOzCsT5.js 8.12 kB │ gzip: 2.91 kB
ℹ dist/outbound-wWUFTMP-.js 8.00 kB │ gzip: 2.48 kB
ℹ dist/ssrf-6dBwePe8.js 7.92 kB │ gzip: 2.32 kB
ℹ dist/paths-D6oKH7El.js 7.91 kB │ gzip: 2.03 kB
ℹ dist/dns-cli-D4uESqwD.js 7.88 kB │ gzip: 2.95 kB
ℹ dist/auth-choice-options-BgKotRxi.js 7.76 kB │ gzip: 2.21 kB
ℹ dist/config-validation-D-3kxl7s.js 7.68 kB │ gzip: 2.19 kB
ℹ dist/directory-cli-BE2Yixe-.js 7.66 kB │ gzip: 2.37 kB
ℹ dist/skill-scanner-8d-fyVVO.js 7.39 kB │ gzip: 2.46 kB
ℹ dist/chat-envelope-BZKQmhVe.js 6.92 kB │ gzip: 2.40 kB
ℹ dist/onboarding.gateway-config-C3xbexCA.js 6.75 kB │ gzip: 2.27 kB
ℹ dist/ports-CLSA_eGw.js 6.70 kB │ gzip: 2.15 kB
ℹ dist/tool-catalog-BNWFbKiv.js 6.67 kB │ gzip: 1.57 kB
ℹ dist/target-errors-DblYEa7D.js 6.67 kB │ gzip: 2.02 kB
ℹ dist/control-ui-assets-BBYE_Mf
.js 6.62 kB │ gzip: 1.99 kB
ℹ dist/skills-status-Bnk7Wa4Z.js 6.55 kB │ gzip: 2.17 kB
ℹ dist/paths-Dei-dB1U.js 6.53 kB │ gzip: 1.83 kB
ℹ dist/session-C98uGbYn.js 6.51 kB │ gzip: 2.35 kB
ℹ dist/reply-prefix-CayudrxA.js 6.47 kB │ gzip: 1.94 kB
ℹ dist/local-roots-Da0Ap28j.js 6.40 kB │ gzip: 2.28 kB
ℹ dist/redact-DKstN8W8.js 6.36 kB │ gzip: 2.19 kB
ℹ dist/register.configure-BwJ9VC7y.js 6.36 kB │ gzip: 2.66 kB
ℹ dist/pairing-cli-BxxFpAcA.js 6.08 kB │ gzip: 2.13 kB
ℹ dist/model-catalog-BFqIHz9z.js 5.98 kB │ gzip: 1.89 kB
ℹ dist/with-timeout-CiFKN7Vp.js 5.95 kB │ gzip: 2.30 kB
ℹ dist/onboard-skills-CnjPn_-k.js 5.80 kB │ gzip: 2.19 kB
ℹ dist/api-key-rotation-DbfGQCwx.js 5.80 kB │ gzip: 1.96 kB
ℹ dist/docs-cli-DOMvhABw.js 5.78 kB │ gzip: 2.13 kB
ℹ dist/cli-CRAixXEe.js 5.53 kB │ gzip: 2.28 kB
ℹ dist/entry-status-9MSBVlrK.js 5.37 kB │ gzip: 1.15 kB
ℹ dist/replies-DH9ajyGR.js 5.05 kB │ gzip: 1.62 kB
ℹ dist/widearea-dns-DQtAb1Pp.js 5.04 kB │ gzip: 1.93 kB
ℹ dist/register.setup-CQMWg7Wd.js 5.00 kB │ gzip: 2.00 kB
ℹ dist/models-config-Bb8nznhI.js 4.98 kB │ gzip: 1.61 kB
ℹ dist/onboard-provider-auth-flags-DyBjEOa-.js 4.96 kB │ gzip: 1.02 kB
ℹ dist/pi-model-discovery-DFuNhHHI.js 4.92 kB │ gzip: 1.62 kB
ℹ dist/thinking-BB3zi8pq.js 4.88 kB │ gzip: 1.25 kB
ℹ dist/fetch-guard-TqAWfePQ.js 4.84 kB │ gzip: 1.83 kB
ℹ dist/openai-model-default-t_YvCv6q.js 4.83 kB │ gzip: 1.57 kB
ℹ dist/agents.config-CFJmE6aJ.js 4.80 kB │ gzip: 1.43 kB
ℹ dist/onboard-remote-Bpp-7Q1g.js 4.78 kB │ gzip: 1.92 kB
ℹ dist/shared-C59uyZyH.js 4.72 kB │ gzip: 1.79 kB
ℹ dist/config-guard-uW2qLQv-.js 4.59 kB │ gzip: 1.73 kB
ℹ dist/whatsapp-actions-BlNhPW8A.js 4.58 kB │ gzip: 1.67 kB
ℹ dist/web-C6WhBu_i.js 4.54 kB │ gzip: 1.87 kB
ℹ dist/inbound-context-0KT73ypR.js 4.49 kB │ gzip: 1.37 kB
ℹ dist/system-run-command-B6VCD7DZ.js 4.37 kB │ gzip: 1.46 kB
ℹ dist/message-channel-kxdCJ2B.js 4.33 kB │ gzip: 1.29 kB
ℹ dist/progress-Css73oKg.js 4.19 kB │ gzip: 1.40 kB
ℹ dist/github-copilot-token-nncItI8D.js 4.15 kB │ gzip: 1.59 kB
ℹ dist/doctor-completion-CosHHPjD.js 4.14 kB │ gzip: 1.37 kB
ℹ dist/audio-preflight-DN9EJl5Z.js 4.08 kB │ gzip: 1.73 kB
ℹ dist/server-L3eg29Q-.js 4.01 kB │ gzip: 1.61 kB
ℹ dist/credentials-Ce5AzkWg.js 3.96 kB │ gzip: 0.92 kB
ℹ dist/system-cli-CGzinfbp.js 3.83 kB │ gzip: 1.33 kB
ℹ dist/host-env-security-CJMD0__Z.js 3.80 kB │ gzip: 1.15 kB
ℹ dist/status.update-ow7yPRu2.js 3.77 kB │ gzip: 1.23 kB
ℹ dist/channel-activity-e4kOuESI.js 3.74 kB │ gzip: 1.24 kB
ℹ dist/tui-cli-YYQxTXNR.js 3.73 kB │ gzip: 1.67 kB
ℹ dist/server-middleware-294OkrL9.js 3.61 kB │ gzip: 1.24 kB
ℹ dist/env-vars-gp4sxqr7.js 3.58 kB │ gzip: 1.14 kB
ℹ dist/clack-prompter-o45qEDsc.js 3.51 kB │ gzip: 1.14 kB
ℹ dist/note-Bu88d31n.js 3.46 kB │ gzip: 1.26 kB
ℹ dist/argv-B_RIhyts.js 3.42 kB │ gzip: 1.15 kB
ℹ dist/render-C1H8wE-4.js 3.29 kB │ gzip: 1.14 kB
ℹ dist/constants-2Xm6tg0M.js 3.27 kB │ gzip: 0.90 kB
ℹ dist/exec-safe-bin-runtime-policy-BhP4T5--.js 3.27 kB │ gzip: 1.15 kB
ℹ dist/systemd-linger-DuxhesnH.js 3.19 kB │ gzip: 1.01 kB
ℹ dist/path-env-D2E1tvyu.js 3.15 kB │ gzip: 1.23 kB
ℹ dist/rpc-CKfCnrNK.js 3.11 kB │ gzip: 1.43 kB
ℹ dist/retry-ci_T4ilQ.js 2.96 kB │ gzip: 1.07 kB
ℹ dist/pairing-token-CFZD9EYj.js 2.95 kB │ gzip: 1.14 kB
ℹ dist/ipv4-BY-9BSw0.js 2.92 kB │ gzip: 1.21 kB
ℹ dist/bindings-b_7t7dr3.js 2.87 kB │ gzip: 0.87 kB
ℹ dist/shared-OOaodTg7.js 2.84 kB │ gzip: 1.05 kB
ℹ dist/hooks-status-B3W7xWg2.js 2.81 kB │ gzip: 1.13 kB
ℹ dist/npm-resolution-D0bE0_4m.js 2.79 kB │ gzip: 0.94 kB
ℹ dist/heartbeat-visibility-BIu8GnLN.js 2.73 kB │ gzip: 0.96 kB
ℹ dist/api-6Uw_VHp9.js 2.70 kB │ gzip: 1.11 kB
ℹ dist/mutable-allowlist-detectors-Bkq3wgxA.js 2.61 kB │ gzip: 0.79 kB
ℹ dist/diagnostic-session-state-pvX9RRTI.js 2.56 kB │ gzip: 0.91 kB
ℹ dist/login-C8DkYngC.js 2.54 kB │ gzip: 1.11 kB
ℹ dist/fetch-BHbxkJbr.js 2.44 kB │ gzip: 0.85 kB
ℹ dist/format-duration-XLSvPvzN.js 2.42 kB │ gzip: 0.91 kB
ℹ dist/store-zbVUnYIR.js 2.32 kB │ gzip: 1.08 kB
ℹ dist/command-poll-backoff-NAePk3eL.js 2.27 kB │ gzip: 0.94 kB
ℹ dist/onboard-hooks-Bp6L2oJH.js 2.22 kB │ gzip: 1.03 kB
ℹ dist/channel-options-DVKOt0ff.js 2.17 kB │ gzip: 0.87 kB
ℹ dist/daemon-install-C-MzLAnr.js 2.16 kB │ gzip: 0.93 kB
ℹ dist/format-relative-cIsCN8mB.js 2.13 kB │ gzip: 0.86 kB
ℹ dist/node-service-B-if53zU.js 2.09 kB │ gzip: 0.62 kB
ℹ dist/node-match-DiMb3DzG.js 2.07 kB │ gzip: 0.77 kB
ℹ dist/channel-selection-COxK2fxR.js 2.06 kB │ gzip: 0.73 kB
ℹ dist/stagger-CdUj6Foa.js 2.00 kB │ gzip: 0.78 kB
ℹ dist/runtime-guard-CGsAjInk.js 1.98 kB │ gzip: 0.82 kB
ℹ dist/polls-PiwufXwX.js 1.96 kB │ gzip: 0.63 kB
ℹ dist/accounts-BC4fvRT
.js 1.96 kB │ gzip: 0.69 kB
ℹ dist/command-format-DELazozB.js 1.95 kB │ gzip: 0.74 kB
ℹ dist/accounts-ClU97yHE.js 1.94 kB │ gzip: 0.69 kB
ℹ dist/active-listener-AKlXLBp.js 1.90 kB │ gzip: 0.80 kB
ℹ dist/dangerous-name-matching-6zfhjMXy.js 1.84 kB │ gzip: 0.59 kB
ℹ dist/context-window-guard-HNs2BM7X.js 1.75 kB │ gzip: 0.68 kB
ℹ dist/commands-CXL-JSJY.js 1.67 kB │ gzip: 0.56 kB
ℹ dist/brew-CgeiujDw.js 1.65 kB │ gzip: 0.58 kB
ℹ dist/enable-B
--WUl8.js 1.59 kB │ gzip: 0.59 kB
ℹ dist/auth-choice-prompt-B-UK98E-.js 1.57 kB │ gzip: 0.66 kB
ℹ dist/markdown-tables-DV9G2JHM.js 1.56 kB │ gzip: 0.65 kB
ℹ dist/input-provenance-D_QJeIo8.js 1.54 kB │ gzip: 0.54 kB
ℹ dist/path-alias-guards-DQp98Rah.js 1.53 kB │ gzip: 0.65 kB
ℹ dist/conversation-label-DnDaW3_k.js 1.51 kB │ gzip: 0.63 kB
ℹ dist/usage-format-NVK-oYhT.js 1.50 kB │ gzip: 0.58 kB
ℹ dist/targets-bG1Q8FzV.js 1.48 kB │ gzip: 0.57 kB
ℹ dist/errors-CHThjNy0.js 1.43 kB │ gzip: 0.60 kB
ℹ dist/health-format-CaPVPkhD.js 1.42 kB │ gzip: 0.67 kB
ℹ dist/legacy-names-C_KogSD8.js 1.41 kB │ gzip: 0.59 kB
ℹ dist/fetch-timeout-YKEssB_4.js 1.37 kB │ gzip: 0.70 kB
ℹ dist/wsl-C9cT0yAi.js 1.36 kB │ gzip: 0.54 kB
ℹ dist/is-main-DisHNv1L.js 1.35 kB │ gzip: 0.49 kB
ℹ dist/plugin-registry-BugPthzY.js 1.33 kB │ gzip: 0.57 kB
ℹ dist/diagnostics-Civr8GQt.js 1.28 kB │ gzip: 0.59 kB
ℹ dist/parse-log-line-MqucUiOf.js 1.23 kB │ gzip: 0.52 kB
ℹ dist/tokens-DJ4yQG8m.js 1.21 kB │ gzip: 0.56 kB
ℹ dist/env-CCK0T6mv.js 1.21 kB │ gzip: 0.58 kB
ℹ dist/server-lifecycle-B8uPrxoa.js 1.20 kB │ gzip: 0.57 kB
ℹ dist/gateway-rpc-Cqrgju80.js 1.17 kB │ gzip: 0.62 kB
ℹ dist/provider-env-vars-YHG5US9j.js 1.17 kB │ gzip: 0.60 kB
ℹ dist/tables-B0LiOAKK.js 1.15 kB │ gzip: 0.57 kB
ℹ dist/tailnet-8ZZf_6kE.js 1.14 kB │ gzip: 0.49 kB
ℹ dist/allow-from-C_Z4ShmJ.js 1.11 kB │ gzip: 0.48 kB
ℹ dist/run-with-concurrency-CzLnwXXV.js 1.05 kB │ gzip: 0.50 kB
ℹ dist/command-options-DDDwkB9t.js 0.94 kB │ gzip: 0.38 kB
ℹ dist/clawbot-cli-CbfjQbSl.js 0.93 kB │ gzip: 0.52 kB
ℹ dist/dangerous-tools-C-GdXRz8.js 0.88 kB │ gzip: 0.49 kB
ℹ dist/onboard-config-wUURqwVG.js 0.88 kB │ gzip: 0.41 kB
ℹ dist/boolean-CE7i9tBR.js 0.86 kB │ gzip: 0.38 kB
ℹ dist/cli-utils-DJ7Nfw8J.js 0.86 kB │ gzip: 0.42 kB
ℹ dist/status-C6kFEszD.js 0.82 kB │ gzip: 0.35 kB
ℹ dist/runtime-binary-DcASgMT3.js 0.80 kB │ gzip: 0.38 kB
ℹ dist/trash-BgNG7SI6.js 0.79 kB │ gzip: 0.42 kB
ℹ dist/helpers-CMqRfHKU.js 0.79 kB │ gzip: 0.39 kB
ℹ dist/format-Dc2GXZZd.js 0.76 kB │ gzip: 0.40 kB
ℹ dist/logging-BwKoeVdB.js 0.73 kB │ gzip: 0.38 kB
ℹ dist/outbound-attachment-D9QUs0Zh.js 0.69 kB │ gzip: 0.37 kB
ℹ dist/help-format-0Ly5Aikr.js 0.67 kB │ gzip: 0.30 kB
ℹ dist/clipboard-BOP6md0V.js 0.63 kB │ gzip: 0.37 kB
ℹ dist/transcript-events-DhcCZGEX.js 0.59 kB │ gzip: 0.29 kB
ℹ dist/workspace-dirs-0q9keZ0P.js 0.58 kB │ gzip: 0.33 kB
ℹ dist/channels-status-issues-CGIk7xai.js 0.55 kB │ gzip: 0.30 kB
ℹ dist/runtime-status-DV2uMNRb.js 0.55 kB │ gzip: 0.30 kB
ℹ dist/model-param-b-B7yKiyOu.js 0.49 kB │ gzip: 0.32 kB
ℹ dist/links-CYhRQ-mf.js 0.49 kB │ gzip: 0.31 kB
ℹ dist/load-options-CNRDPDH_.js 0.49 kB │ gzip: 0.25 kB
ℹ dist/node-commands-BAFJumuL.js 0.48 kB │ gzip: 0.26 kB
ℹ dist/proxy-xwFQyqVC.js 0.48 kB │ gzip: 0.30 kB
ℹ dist/daemon-runtime-B4ocYoH1.js 0.47 kB │ gzip: 0.30 kB
ℹ dist/parse-timeout-Qn1Iz-V-.js 0.46 kB │ gzip: 0.26 kB
ℹ dist/account-lookup-CoXdzMWD.js 0.45 kB │ gzip: 0.27 kB
ℹ dist/prompt-style-B8dl6hQj.js 0.45 kB │ gzip: 0.24 kB
ℹ dist/path-safety-DYWaGl0C.js 0.44 kB │ gzip: 0.27 kB
ℹ dist/parse-port-CMRD6fhd.js 0.43 kB │ gzip: 0.25 kB
ℹ dist/rolldown-runtime-Cbj13DAv.js 0.42 kB │ gzip: 0.28 kB
ℹ dist/helpers-DkQqKvXb.js 0.41 kB │ gzip: 0.26 kB
ℹ dist/secret-equal-CNgVLV6x.js 0.39 kB │ gzip: 0.26 kB
ℹ dist/chat-type-DLInEbxd.js 0.33 kB │ gzip: 0.20 kB
ℹ dist/secure-random-IkuYAMEf.js 0.32 kB │ gzip: 0.20 kB
ℹ dist/text-format-CoyYCJTB.js 0.27 kB │ gzip: 0.22 kB
ℹ dist/pairing-labels-Bv97s9vE.js 0.26 kB │ gzip: 0.19 kB
ℹ dist/prompts-OFJRqDDg.js 0.24 kB │ gzip: 0.17 kB
ℹ dist/logging-w5jq5901.js 0.01 kB │ gzip: 0.03 kB
ℹ 299 files, total: 9.25 MB
✔ Build complete in 923ms

openclaw@2026.3.2 build:plugin-sdk:dts /Users/steipete/Projects/clawdbot3
tsc -p tsconfig.plugin-sdk.dts.json

[copy-hook-metadata] Copied boot-md/HOOK.md
[copy-hook-metadata] Copied bootstrap-extra-files/HOOK.md
[copy-hook-metadata] Copied command-logger/HOOK.md
[copy-hook-metadata] Copied session-memory/HOOK.md
[copy-hook-metadata] Done
[copy-export-html-templates] Copied template.html
[copy-export-html-templates] Copied template.css
[copy-export-html-templates] Copied template.js
[copy-export-html-templates] Copied vendor/highlight.min.js
[copy-export-html-templates] Copied vendor/marked.min.js
[copy-export-html-templates] Done

openclaw@2026.3.2 test /Users/steipete/Projects/clawdbot3
node scripts/test-parallel.mjs

RUN v4.0.18 /Users/steipete/Projects/clawdbot3

RUN v4.0.18 /Users/steipete/Projects/clawdbot3

✓ src/cli/program/preaction.test.ts (10 tests) 777ms
✓ test/scripts/ios-team-id.test.ts (4 tests) 949ms
✓ prints actionable guidance when Xcode account exists but no Team ID is resolvable 345ms
✓ honors IOS_PREFERRED_TEAM_ID when multiple profile teams are available 409ms
✓ src/hooks/bundled/session-memory/handler.test.ts (16 tests) 1033ms
✓ src/plugins/install.test.ts (17 tests) 945ms
✓ src/cli/nodes-cli.coverage.test.ts (4 tests) 1182ms
✓ test/git-hooks-pre-commit.test.ts (1 test) 1513ms
✓ does not treat staged filenames as git-add flags (e.g. --all) 1512ms
✓ src/process/exec.test.ts (7 tests | 1 skipped) 1623ms
✓ merges custom env with process.env 1038ms
✓ resets no output timer when command keeps emitting output 367ms
✓ src/secrets/resolve.test.ts (14 tests) 1913ms
✓ resolves exec refs with protocolVersion 1 response 962ms
✓ allows symlink command paths when allowSymlinkCommand is enabled 342ms
✓ src/config/redact-snapshot.test.ts (37 tests) 208ms
✓ src/config/schema.hints.test.ts (7 tests) 166ms
✓ src/config/config.meta-timestamp-coercion.test.ts (5 tests) 2542ms
✓ src/infra/boundary-path.test.ts (5 tests) 156ms
✓ src/cli/gateway-cli/run.option-collisions.test.ts (5 tests) 260ms
✓ src/memory/qmd-manager.test.ts (49 tests) 224ms
✓ src/config/config.plugin-validation.test.ts (11 tests) 212ms
✓ src/memory/index.test.ts (10 tests) 274ms
✓ src/secrets/apply.test.ts (7 tests) 185ms
✓ src/config/sessions.test.ts (37 tests) 637ms
✓ src/memory/manager.batch.test.ts (3 tests) 239ms
✓ src/cron/service.issue-regressions.test.ts (31 tests) 947ms
✓ outer cron timeout fires at configured timeoutSeconds, not at 1/3 (#29774) 312ms
✓ src/memory/manager.async-search.test.ts (2 tests) 94ms
✓ src/cli/daemon-cli.coverage.test.ts (5 tests) 265ms
✓ src/config/sessions/store.pruning.integration.test.ts (10 tests) 93ms
✓ src/cron/store.test.ts (8 tests) 208ms
✓ src/infra/system-presence.version.test.ts (3 tests) 187ms
✓ src/config/config.legacy-config-detection.accepts-imessage-dmpolicy.test.ts (29 tests) 112ms
✓ src/infra/update-runner.test.ts (16 tests) 102ms
✓ src/media-understanding/apply.test.ts (28 tests) 364ms
✓ src/cli/program.smoke.test.ts (5 tests) 575ms
✓ runs message command with required options 307ms
✓ src/config/plugin-auto-enable.test.ts (20 tests) 80ms
✓ src/config/io.write-config.test.ts (15 tests) 185ms
✓ src/security/audit.test.ts (82 tests) 873ms
✓ src/config/config.nix-integration-u3-u5-u9.test.ts (19 tests) 86ms
✓ src/infra/device-pairing.test.ts (11 tests) 56ms
✓ src/secrets/audit.test.ts (4 tests) 2106ms
✓ batches ref resolution per provider during audit 2034ms
✓ src/infra/gateway-lock.test.ts (9 tests) 113ms
✓ src/slack/monitor/slash.test.ts (27 tests) 269ms
✓ src/cron/isolated-agent.skips-delivery-without-whatsapp-recipient-besteffortdeliver-true.test.ts (11 tests) 165ms
✓ src/cron/isolated-agent.uses-last-non-empty-agent-text-as.test.ts (21 tests) 224ms
✓ src/hooks/loader.test.ts (13 tests) 82ms
✓ src/slack/monitor.tool-result.test.ts (25 tests) 143ms
✓ src/slack/monitor/message-handler/prepare.test.ts (21 tests) 174ms
✓ src/infra/heartbeat-runner.returns-default-unset.test.ts (24 tests) 249ms
✓ src/acp/control-plane/manager.test.ts (25 tests) 118ms
✓ src/memory/manager.embedding-batches.test.ts (4 tests) 129ms
✓ src/cron/service.every-jobs-fire.test.ts (3 tests) 117ms
✓ src/cli/gateway-cli.coverage.test.ts (8 tests) 282ms
✓ src/infra/outbound/outbound.test.ts (58 tests) 169ms
✓ src/wizard/onboarding.test.ts (5 tests) 122ms
✓ src/cli/program/register.message.test.ts (2 tests) 126ms
✓ src/infra/heartbeat-runner.respects-ackmaxchars-heartbeat-acks.test.ts (12 tests) 228ms
✓ src/media/server.test.ts (9 tests) 119ms
✓ src/config/config.pruning-defaults.test.ts (6 tests) 100ms
✓ src/security/temp-path-guard.test.ts (3 tests) 509ms
✓ enforces runtime guardrails for tmpdir joins and weak randomness 504ms
✓ src/pairing/pairing-store.test.ts (14 tests) 256ms
✓ src/channels/plugins/plugins-core.test.ts (25 tests) 116ms
✓ src/cron/service.failure-alert.test.ts (3 tests) 108ms
✓ src/acp/server.startup.test.ts (2 tests) 109ms
✓ src/cron/isolated-agent.subagent-model.test.ts (4 tests) 126ms
✓ src/infra/openclaw-root.test.ts (7 tests) 8ms
✓ src/canvas-host/server.test.ts (6 tests) 131ms
✓ src/cli/update-cli.test.ts (29 tests) 621ms
✓ src/cron/session-reaper.test.ts (16 tests) 72ms
✓ src/infra/fs-safe.test.ts (21 tests) 223ms
✓ src/cron/service.persists-delivered-status.test.ts (6 tests) 161ms
✓ src/cron/service.store.migration.test.ts (5 tests) 112ms
✓ src/infra/heartbeat-runner.ghost-reminder.test.ts (6 tests) 178ms
✓ src/memory/batch-voyage.test.ts (2 tests) 76ms
✓ src/infra/provider-usage.auth.normalizes-keys.test.ts (15 tests) 95ms
✓ src/infra/update-startup.test.ts (10 tests) 78ms
✓ src/slack/monitor/media.test.ts (28 tests) 92ms
✓ src/slack/monitor/monitor.test.ts (22 tests) 77ms
✓ src/process/supervisor/supervisor.test.ts (5 tests) 449ms
✓ src/cli/program/register.maintenance.test.ts (7 tests) 66ms
✓ src/memory/manager.vector-dedupe.test.ts (1 test) 27ms
✓ src/memory/manager.read-file.test.ts (4 tests) 53ms
✓ src/config/schema.test.ts (9 tests) 534ms
✓ exports schema + hints 478ms
✓ src/infra/outbound/message-action-runner.test.ts (33 tests) 114ms
✓ src/cron/service.issue-16156-list-skips-cron.test.ts (3 tests) 63ms
✓ src/cron/isolated-agent.direct-delivery-forum-topics.test.ts (2 tests) 78ms
✓ src/signal/monitor/event-handler.inbound-contract.test.ts (6 tests) 75ms
✓ src/cli/memory-cli.test.ts (20 tests) 79ms
✓ src/media/store.test.ts (18 tests) 269ms
✓ src/cli/config-cli.test.ts (18 tests) 93ms
✓ src/node-host/invoke-system-run.test.ts (17 tests) 76ms
✓ src/infra/heartbeat-runner.model-override.test.ts (6 tests) 146ms
✓ src/cron/service.store-migration.test.ts (3 tests) 95ms
✓ src/config/sessions/sessions.test.ts (14 tests) 117ms
✓ src/config/sessions.cache.test.ts (8 tests) 64ms
✓ src/channels/typing.test.ts (14 tests) 28ms
✓ src/memory/manager.atomic-reindex.test.ts (1 test) 84ms
✓ src/cli/program/config-guard.test.ts (8 tests) 69ms
✓ src/cron/service.delivery-plan.test.ts (3 tests) 58ms
✓ src/config/env-preserve-io.test.ts (4 tests) 61ms
✓ src/config/config.backup-rotation.test.ts (1 test) 28ms
✓ src/cron/service.read-ops-nonblocking.test.ts (3 tests) 60ms
✓ src/process/command-queue.test.ts (16 tests) 65ms
✓ src/cron/isolated-agent.delivers-response-has-heartbeat-ok-but-includes.test.ts (4 tests) 134ms
✓ src/infra/session-cost-usage.test.ts (9 tests) 46ms
✓ src/security/skill-scanner.test.ts (25 tests) 65ms
✓ src/plugins/discovery.test.ts (11 tests) 65ms
✓ src/cron/run-log.test.ts (9 tests) 98ms
✓ src/cli/update-cli.option-collisions.test.ts (2 tests) 59ms
✓ src/cli/program/register.status-health-sessions.test.ts (9 tests) 74ms
✓ src/cli/program/register.onboard.test.ts (6 tests) 48ms
✓ src/memory/manager.get-concurrency.test.ts (1 test) 82ms
✓ src/config/io.compat.test.ts (7 tests) 70ms
✓ src/config/schema.help.quality.test.ts (20 tests) 56ms
✓ src/cli/program/register.agent.test.ts (13 tests) 66ms
✓ src/cron/service.prevents-duplicate-timers.test.ts (1 test) 68ms
✓ src/memory/internal.test.ts (13 tests) 74ms
✓ src/scripts/canvas-a2ui-copy.test.ts (3 tests) 20ms
✓ src/cron/isolated-agent.auth-profile-propagation.test.ts (1 test) 57ms
✓ src/config/config.identity-defaults.test.ts (6 tests) 57ms
✓ src/infra/provider-usage.test.ts (15 tests) 25ms
✓ src/config/config-misc.test.ts (28 tests) 43ms
✓ src/cli/devices-cli.test.ts (13 tests) 55ms
✓ src/memory/embeddings.test.ts (18 tests) 70ms
✓ src/infra/brew.test.ts (5 tests) 65ms
✓ src/cron/service.runs-one-shot-main-job-disables-it.test.ts (14 tests) 69ms
✓ src/config/plugins-runtime-boundary.test.ts (3 tests) 60ms
✓ src/hooks/hooks-install.test.ts (1 test) 57ms
✓ src/cli/acp-cli.option-collisions.test.ts (7 tests) 74ms
✓ src/cli/pairing-cli.test.ts (12 tests) 51ms
✓ src/config/includes.test.ts (26 tests) 49ms
✓ src/cli/skills-cli.commands.test.ts (5 tests) 40ms
✓ src/memory/manager.readonly-recovery.test.ts (3 tests) 52ms
✓ src/daemon/service-audit.test.ts (11 tests) 63ms
✓ src/hooks/install.test.ts (14 tests) 363ms
✓ src/cli/route.test.ts (2 tests) 45ms
✓ src/cli/models-cli.test.ts (4 tests) 36ms
✓ src/plugins/uninstall.test.ts (23 tests) 52ms
✓ src/config/config.legacy-config-detection.rejects-routing-allowfrom.test.ts (28 tests) 48ms
✓ src/infra/system-presence.test.ts (3 tests) 121ms
✓ src/infra/install-source-utils.test.ts (13 tests) 49ms
✓ src/cron/service.skips-main-jobs-empty-systemevent-text.test.ts (3 tests) 43ms
✓ src/cron/service.restart-catchup.test.ts (2 tests) 47ms
✓ src/media/server.outside-workspace.test.ts (1 test) 37ms
✓ src/config/io.owner-display-secret.test.ts (1 test) 25ms
✓ src/config/config.compaction-settings.test.ts (3 tests) 55ms
✓ src/infra/heartbeat-runner.transcript-prune.test.ts (2 tests) 193ms
✓ src/cron/service.main-job-passes-heartbeat-target-last.test.ts (2 tests) 130ms
✓ src/cli/nodes-camera.test.ts (15 tests) 32ms
✓ src/infra/run-node.test.ts (1 test) 133ms
✓ src/infra/archive.test.ts (11 tests) 114ms
✓ src/infra/infra-store.test.ts (15 tests) 34ms
✓ src/channels/plugins/onboarding/helpers.test.ts (50 tests) 20ms
✓ src/logging/log-file-size-cap.test.ts (3 tests) 62ms
✓ src/daemon/schtasks.test.ts (14 tests) 47ms
✓ src/cron/service.rearm-timer-when-running.test.ts (2 tests) 36ms
✓ src/memory/manager.sync-errors-do-not-crash.test.ts (1 test) 42ms
✓ src/version.test.ts (9 tests) 38ms
✓ src/infra/outbound/deliver.test.ts (31 tests) 46ms
✓ src/hooks/workspace.test.ts (5 tests) 38ms
✓ src/infra/infra-runtime.test.ts (14 tests) 59ms
✓ src/infra/restart-sentinel.test.ts (7 tests) 16ms
✓ src/cli/browser-cli-inspect.test.ts (5 tests) 25ms
✓ src/cli/browser-cli-extension.test.ts (4 tests) 37ms
✓ src/docker-image-digests.test.ts (2 tests) 31ms
✓ src/signal/monitor.tool-result.sends-tool-summaries-responseprefix.test.ts (16 tests) 42ms
✓ src/cli/program/register.configure.test.ts (2 tests) 43ms
✓ src/media/store.redirect.test.ts (2 tests) 22ms
✓ src/config/sessions/store.pruning.test.ts (4 tests) 46ms
✓ src/infra/heartbeat-runner.sender-prefers-delivery-target.test.ts (1 test) 99ms
✓ src/cli/update-cli/restart-helper.test.ts (15 tests) 169ms
✓ src/memory/manager.mistral-provider.test.ts (2 tests) 50ms
✓ src/media-understanding/media-understanding-misc.test.ts (7 tests) 33ms
✓ src/cron/service.armtimer-tight-loop.test.ts (3 tests) 17ms
✓ src/memory/embeddings-voyage.test.ts (4 tests) 45ms
✓ src/channels/status-reactions.test.ts (35 tests) 37ms
✓ src/infra/node-pairing.test.ts (4 tests) 53ms
✓ src/media-understanding/runner.auto-audio.test.ts (4 tests) 31ms
✓ src/cli/daemon-cli/lifecycle-core.test.ts (3 tests) 46ms
✓ src/infra/exec-approvals.test.ts (39 tests) 31ms
✓ src/infra/heartbeat-wake.test.ts (13 tests) 23ms
✓ src/slack/monitor.threading.missing-thread-ts.test.ts (3 tests) 74ms
✓ src/plugin-sdk/persistent-dedupe.test.ts (3 tests) 22ms
✓ src/i18n/registry.test.ts (3 tests) 30ms
✓ src/cli/program/register.setup.test.ts (4 tests) 34ms
✓ src/infra/exec-approvals-safe-bins.test.ts (47 tests) 25ms
✓ src/config/sessions/store.session-key-normalization.test.ts (3 tests) 49ms
✓ src/config/config.identity-avatar.test.ts (3 tests) 39ms
✓ src/signal/format.chunking.test.ts (21 tests) 26ms
✓ src/security/fix.test.ts (5 tests) 174ms
✓ src/process/supervisor/adapters/pty.test.ts (9 tests) 31ms
✓ src/plugins/manifest-registry.test.ts (6 tests) 30ms
✓ src/logger.test.ts (9 tests) 35ms
✓ src/cli/cron-cli.test.ts (33 tests) 36ms
✓ src/slack/monitor/message-handler/prepare.thread-session-key.test.ts (3 tests) 45ms
✓ src/signal/monitor/event-handler.mention-gating.test.ts (13 tests) 34ms
✓ src/utils.test.ts (28 tests) 29ms
✓ src/daemon/schtasks.install.test.ts (2 tests) 25ms
✓ src/infra/net/fetch-guard.ssrf.test.ts (8 tests) 36ms
✓ src/memory/search-manager.test.ts (6 tests) 31ms
✓ src/cli/channel-options.test.ts (4 tests) 37ms
✓ src/media/input-files.fetch-guard.test.ts (5 tests) 26ms
✓ src/cron/service.get-job.test.ts (2 tests) 45ms
✓ src/infra/heartbeat-runner.scheduler.test.ts (6 tests) 44ms
✓ src/cli/daemon-cli/lifecycle.test.ts (2 tests) 43ms
✓ src/secrets/runtime.test.ts (8 tests) 50ms
✓ src/plugins/tools.optional.test.ts (6 tests) 22ms
✓ src/infra/path-alias-guards.test.ts (3 tests) 43ms
✓ src/config/io.runtime-snapshot-write.test.ts (1 test) 33ms
✓ src/infra/outbound/message-action-params.test.ts (1 test) 41ms
✓ src/infra/dotenv.test.ts (3 tests) 39ms
✓ src/media-understanding/runner.video.test.ts (2 tests) 49ms
✓ src/imessage/monitor.shutdown.unhandled-rejection.test.ts (1 test) 6ms
✓ src/infra/host-env-security.test.ts (10 tests) 32ms
✓ src/channels/plugins/actions/actions.test.ts (34 tests) 25ms
✓ src/infra/push-apns.test.ts (8 tests) 17ms
✓ src/config/config.allowlist-requires-allowfrom.test.ts (14 tests) 27ms
✓ src/logging/diagnostic.test.ts (7 tests) 31ms
✓ src/slack/monitor/events/interactions.test.ts (21 tests) 29ms
✓ src/signal/format.test.ts (7 tests) 27ms
✓ src/infra/retry.test.ts (9 tests) 21ms
✓ src/cli/gateway-cli/run-loop.test.ts (8 tests) 24ms
✓ src/memory/session-files.test.ts (3 tests) 22ms
✓ src/config/config.discord.test.ts (2 tests) 23ms
✓ src/config/talk.normalize.test.ts (4 tests) 17ms
✓ src/hooks/frontmatter.test.ts (20 tests) 24ms
✓ src/hooks/internal-hooks.test.ts (29 tests) 21ms
✓ src/cli/gateway-cli/register.option-collisions.test.ts (2 tests) 26ms
✓ src/markdown/ir.table-bullets.test.ts (7 tests) 14ms
✓ src/infra/outbound/message.channels.test.ts (7 tests) 23ms
✓ src/hooks/bundled/bootstrap-extra-files/handler.test.ts (2 tests) 21ms
✓ src/infra/unhandled-rejections.fatal-detection.test.ts (6 tests) 14ms
✓ src/cli/cli-utils.test.ts (11 tests) 22ms
✓ src/infra/exec-approvals-parity.test.ts (20 tests) 14ms
✓ src/memory/temporal-decay.test.ts (6 tests) 35ms
✓ src/slack/send.blocks.test.ts (12 tests) 19ms
✓ src/config/paths.test.ts (10 tests) 34ms
✓ src/cron/isolated-agent/run.skill-filter.test.ts (13 tests) 20ms
✓ src/logging/console-capture.test.ts (9 tests) 21ms
✓ src/config/normalize-paths.test.ts (1 test) 12ms
✓ src/markdown/frontmatter.test.ts (8 tests) 23ms
✓ src/media/mime.test.ts (40 tests) 19ms
✓ src/tts/tts.test.ts (19 tests) 26ms
✓ src/infra/ssh-config.test.ts (3 tests) 12ms
✓ src/markdown/ir.blockquote-spacing.test.ts (19 tests) 19ms
✓ src/config/config.env-vars.test.ts (6 tests) 14ms
✓ src/slack/format.test.ts (5 tests) 18ms
✓ src/infra/install-flow.test.ts (5 tests) 24ms
✓ src/markdown/ir.hr-spacing.test.ts (13 tests) 19ms
✓ src/memory/manager.watcher-config.test.ts (1 test) 21ms
✓ src/config/config.multi-agent-agentdir-validation.test.ts (2 tests) 21ms
✓ src/imessage/send.test.ts (10 tests) 18ms
✓ test/scripts/check-no-random-messaging-tmp.test.ts (5 tests) 15ms
✓ src/infra/bonjour.test.ts (7 tests) 21ms
✓ src/process/supervisor/supervisor.pty-command.test.ts (2 tests) 18ms
✓ src/test-helpers/state-dir-env.test.ts (4 tests) 27ms
✓ test/scripts/check-channel-agnostic-boundaries.test.ts (11 tests) 17ms
✓ src/tui/components/searchable-select-list.test.ts (19 tests) 13ms
✓ src/cli/program/command-registry.test.ts (9 tests) 14ms
✓ src/media/fetch.test.ts (3 tests) 13ms
✓ src/infra/control-ui-assets.test.ts (9 tests) 14ms
✓ src/markdown/ir.nested-lists.test.ts (18 tests) 18ms
✓ src/daemon/launchd.test.ts (16 tests) 14ms
✓ src/cron/service.jobs.test.ts (26 tests) 20ms
✓ src/cron/service/jobs.schedule-error-isolation.test.ts (8 tests) 19ms
✓ src/cli/exec-approvals-cli.test.ts (3 tests) 14ms
✓ src/cli/program/message/helpers.test.ts (10 tests) 12ms
✓ src/link-understanding/detect.test.ts (10 tests) 9ms
✓ src/cli/channel-auth.test.ts (7 tests) 9ms
✓ src/config/config.schema-regressions.test.ts (9 tests) 14ms
✓ src/slack/send.upload.test.ts (5 tests) 18ms
✓ src/channels/transport/stall-watchdog.test.ts (3 tests) 27ms
✓ src/memory/qmd-query-parser.test.ts (6 tests) 11ms
✓ src/tui/components/chat-log.test.ts (3 tests) 16ms
✓ src/markdown/ir.table-code.test.ts (4 tests) 19ms
✓ src/acp/client.test.ts (28 tests) 25ms
✓ src/config/thread-bindings-config-keys.test.ts (5 tests) 79ms
✓ src/memory/query-expansion.test.ts (26 tests) 29ms
✓ src/canvas-host/server.state-dir.test.ts (1 test) 50ms
✓ src/config/legacy-migrate.test.ts (13 tests) 25ms
✓ src/config/sessions/disk-budget.test.ts (2 tests) 22ms
✓ src/daemon/service-env.test.ts (41 tests) 103ms
✓ src/cron/schedule.test.ts (15 tests) 43ms
✓ src/config/config.agent-concurrency-defaults.test.ts (4 tests) 44ms
✓ src/cli/program.force.test.ts (9 tests) 15ms
✓ src/cli/browser-cli-state.option-collisions.test.ts (9 tests) 12ms
✓ src/infra/net/ssrf.pinning.test.ts (15 tests) 14ms
✓ src/infra/net/ssrf.test.ts (9 tests) 12ms
✓ src/media-understanding/providers/deepgram/audio.test.ts (3 tests) 8ms
✓ src/infra/provider-usage.fetch.claude.test.ts (9 tests) 12ms
✓ src/signal/format.links.test.ts (3 tests) 15ms
✓ src/plugins/voice-call.plugin.test.ts (7 tests) 18ms
✓ src/providers/qwen-portal-oauth.test.ts (8 tests) 9ms
✓ src/infra/shell-env.test.ts (13 tests) 12ms
✓ src/infra/process-respawn.test.ts (10 tests) 11ms
✓ src/infra/exec-approvals-allow-always.test.ts (11 tests) 15ms
✓ src/cli/program/register.subclis.test.ts (4 tests) 13ms
✓ src/channels/plugins/config-schema.test.ts (3 tests) 9ms
✓ test/scripts/check-no-raw-window-open.test.ts (4 tests) 13ms
✓ src/infra/exec-approval-forwarder.test.ts (12 tests) 24ms
✓ src/config/config.dm-policy-alias.test.ts (6 tests) 13ms
✓ src/signal/format.visual.test.ts (7 tests) 12ms
✓ src/config/config.sandbox-docker.test.ts (20 tests) 16ms
✓ src/security/windows-acl.test.ts (35 tests) 14ms
✓ src/infra/tailscale.test.ts (12 tests) 13ms
✓ src/infra/safe-open-sync.test.ts (2 tests) 17ms
✓ src/infra/git-root.test.ts (4 tests) 12ms
✓ src/infra/restart.test.ts (4 tests) 12ms
✓ src/media-understanding/providers/openai/audio.test.ts (3 tests) 9ms
✓ src/cli/system-cli.test.ts (7 tests) 17ms
✓ src/config/config.secrets-schema.test.ts (8 tests) 14ms
✓ src/config/config.irc.test.ts (7 tests) 13ms
✓ src/cli/qr-cli.test.ts (8 tests) 11ms
✓ src/config/telegram-webhook-secret.test.ts (4 tests) 13ms
✓ src/infra/bonjour-discovery.test.ts (4 tests) 12ms
✓ src/signal/monitor.tool-result.pairs-uuid-only-senders-uuid-allowlist-entry.test.ts (2 tests) 13ms
✓ src/terminal/table.test.ts (12 tests) 9ms
✓ src/security/external-content.test.ts (35 tests) 18ms
✓ src/cron/cron-protocol-conformance.test.ts (2 tests) 8ms
✓ src/config/config.discord-presence.test.ts (5 tests) 10ms
✓ src/wizard/onboarding.gateway-config.test.ts (8 tests) 13ms
✓ src/hooks/import-url.test.ts (7 tests) 12ms
✓ src/acp/translator.session-rate-limit.test.ts (4 tests) 10ms
✓ src/infra/exec-safe-bin-runtime-policy.test.ts (16 tests) 11ms
✓ src/infra/transport-ready.test.ts (3 tests) 11ms
✓ src/infra/exec-obfuscation-detect.test.ts (22 tests) 14ms
✓ src/security/dm-policy-shared.test.ts (48 tests) 18ms
✓ src/infra/outbound/targets.test.ts (47 tests) 19ms
✓ src/infra/exec-safe-bin-policy.test.ts (84 tests) 12ms
✓ src/infra/npm-pack-install.test.ts (10 tests) 9ms
✓ src/infra/tmp-openclaw-dir.test.ts (11 tests) 11ms
✓ src/routing/resolve-route.test.ts (38 tests) 10ms
✓ src/config/env-substitution.test.ts (9 tests) 7ms
✓ src/slack/stream-mode.test.ts (11 tests) 6ms
✓ src/process/supervisor/adapters/child.test.ts (4 tests) 9ms
✓ src/cli/nodes-cli/register.invoke.nodes-run-approval-timeout.test.ts (4 tests) 10ms
✓ src/config/env-preserve.test.ts (16 tests) 6ms
✓ src/cli/secrets-cli.test.ts (4 tests) 11ms
✓ src/slack/sent-thread-cache.test.ts (8 tests) 11ms
✓ src/infra/device-identity.state-dir.test.ts (1 test) 13ms
✓ src/infra/exec-approvals-config.test.ts (9 tests) 10ms
✓ src/infra/ports.test.ts (6 tests) 11ms
✓ src/infra/system-events.test.ts (10 tests) 9ms
✓ src/cron/isolated-agent/session.test.ts (10 tests) 6ms
✓ src/slack/monitor/events/reactions.test.ts (8 tests) 7ms
✓ src/acp/policy.test.ts (4 tests) 5ms
✓ src/plugins/hooks.model-override-wiring.test.ts (6 tests) 9ms
✓ src/process/kill-tree.test.ts (4 tests) 12ms
✓ src/media-understanding/runner.deepgram.test.ts (1 test) 10ms
✓ src/infra/provider-usage.fetch.copilot.test.ts (2 tests) 7ms
✓ src/channels/plugins/onboarding/whatsapp.test.ts (8 tests) 12ms
✓ src/cli/program/help.test.ts (3 tests) 11ms
✓ src/plugins/runtime/index.test.ts (2 tests) 9ms
✓ src/media/store.outside-workspace.test.ts (1 test) 12ms
✓ src/hooks/gmail-setup-utils.test.ts (3 tests) 14ms
✓ src/providers/google-shared.preserves-parameters-type-is-missing.test.ts (9 tests) 12ms
✓ src/infra/outbound/message-action-runner.threading.test.ts (7 tests) 22ms
✓ src/cli/daemon-cli/restart-health.test.ts (2 tests) 9ms
✓ src/slack/actions.blocks.test.ts (7 tests) 12ms
✓ src/channels/plugins/plugins-channel.test.ts (21 tests) 11ms
✓ src/imessage/targets.test.ts (12 tests) 8ms
✓ src/memory/mmr.test.ts (25 tests) 10ms
✓ src/cron/isolated-agent/run.cron-model-override.test.ts (6 tests) 11ms
✓ src/tui/osc8-hyperlinks.test.ts (19 tests) 8ms
✓ src/tui/tui-formatters.test.ts (24 tests) 9ms
✓ src/tui/gateway-chat.test.ts (8 tests) 8ms
✓ src/channels/channel-config.test.ts (17 tests) 10ms
✓ src/plugins/loader.test.ts (25 tests) 362ms

Test Files 17 passed (17)
Tests 274 passed (274)
Start at 06:38:51
Duration 28.78s (transform 14.21s, setup 1.69s, import 28.83s, tests 6.95s, environment 2ms)

✓ src/slack/actions.read.test.ts (2 tests) 12ms
✓ src/shared/net/ip.test.ts (4 tests) 6ms
✓ src/infra/system-run-command.test.ts (23 tests) 10ms
✓ src/imessage/monitor/inbound-processing.test.ts (4 tests) 12ms
✓ src/slack/actions.download-file.test.ts (5 tests) 14ms
✓ src/cli/logs-cli.test.ts (11 tests) 15ms
✓ src/infra/format-time/format-time.test.ts (32 tests) 11ms
✓ src/acp/control-plane/runtime-cache.test.ts (2 tests) 11ms
✓ src/plugins/wired-hooks-subagent.test.ts (6 tests) 7ms
✓ src/slack/monitor/events/pins.test.ts (7 tests) 10ms
✓ src/channels/plugins/outbound/discord.test.ts (12 tests) 11ms
✓ src/infra/provider-usage.fetch.codex.test.ts (4 tests) 6ms
✓ src/process/spawn-utils.test.ts (3 tests) 6ms
✓ src/tui/tui.test.ts (19 tests) 11ms
✓ src/whatsapp/resolve-outbound-target.test.ts (21 tests) 8ms
✓ src/infra/path-env.test.ts (5 tests) 11ms
✓ src/infra/json-utf8-bytes.test.ts (2 tests) 10ms
✓ src/cli/argv.test.ts (46 tests) 13ms
✓ src/config/config.gateway-tailscale-bind.test.ts (4 tests) 9ms
✓ src/tui/tui-command-handlers.test.ts (5 tests) 9ms
✓ src/infra/infra-parsing.test.ts (16 tests) 7ms
✓ src/config/zod-schema.typing-mode.test.ts (2 tests) 7ms
✓ src/daemon/systemd.test.ts (19 tests) 9ms
✓ src/node-host/invoke.sanitize-env.test.ts (7 tests) 10ms
✓ src/cron/isolated-agent/delivery-target.test.ts (15 tests) 9ms
✓ src/cli/npm-resolution.test.ts (8 tests) 6ms
✓ src/cli/program/build-program.version-alias.test.ts (2 tests) 12ms
✓ src/cli/daemon-cli/status.gather.test.ts (3 tests) 11ms
✓ src/config/config.msteams.test.ts (2 tests) 7ms
✓ src/plugins/cli.test.ts (1 test) 8ms
✓ src/tui/tui-event-handlers.test.ts (13 tests) 17ms
✓ src/config/zod-schema.logging-levels.test.ts (2 tests) 7ms
✓ src/config/slack-http-config.test.ts (4 tests) 10ms
✓ src/infra/outbound/message.test.ts (2 tests) 7ms
✓ src/cli/program/command-tree.test.ts (4 tests) 5ms
✓ src/infra/http-body.test.ts (9 tests) 9ms
✓ src/plugin-sdk/webhook-memory-guards.test.ts (9 tests) 7ms
✓ src/config/config.tools-alsoAllow.test.ts (3 tests) 7ms
✓ src/channels/plugins/onboarding/channel-access.test.ts (7 tests) 8ms
✓ src/tui/tui.submit-handler.test.ts (11 tests) 10ms
✓ src/channels/channels-misc.test.ts (11 tests) 12ms
✓ src/config/config.hooks-module-paths.test.ts (4 tests) 13ms
✓ src/slack/blocks-input.test.ts (4 tests) 5ms
✓ src/cli/skills-cli.formatting.test.ts (2 tests) 11ms
✓ src/routing/session-key.test.ts (16 tests) 6ms
✓ src/config/telegram-webhook-port.test.ts (3 tests) 7ms
✓ src/test-utils/env.test.ts (8 tests) 8ms
✓ src/imessage/monitor.gating.test.ts (9 tests) 15ms
✓ src/config/config.web-search-provider.test.ts (14 tests) 12ms
✓ src/config/zod-schema.session-maintenance-extensions.test.ts (5 tests) 7ms
✓ src/test-utils/temp-home.test.ts (1 test) 8ms
✓ src/logging/logger-env.test.ts (2 tests) 11ms
✓ src/shared/shared-misc.test.ts (16 tests) 14ms
✓ src/config/slack-token-validation.test.ts (4 tests) 15ms
✓ src/cli/program/routes.test.ts (14 tests) 8ms
✓ src/media-understanding/providers/index.test.ts (3 tests) 4ms
✓ src/shared/text/reasoning-tags.test.ts (12 tests) 6ms
✓ src/cli/skills-cli.test.ts (11 tests) 8ms
✓ src/infra/runtime-guard.test.ts (5 tests) 13ms
✓ src/media-understanding/providers/google/video.test.ts (2 tests) 15ms
✓ src/slack/targets.test.ts (6 tests) 10ms
✓ src/infra/state-migrations.state-dir.test.ts (1 test) 8ms
✓ src/plugin-sdk/fetch-auth.test.ts (5 tests) 8ms
✓ src/hooks/bundled/boot-md/handler.test.ts (7 tests) 7ms
✓ src/logging/console-settings.test.ts (2 tests) 10ms
✓ src/slack/draft-stream.test.ts (7 tests) 8ms
✓ src/infra/provider-usage.fetch.minimax.test.ts (8 tests) 12ms
✓ src/infra/npm-integrity.test.ts (4 tests) 8ms
✓ src/cli/daemon-cli/register-service-commands.test.ts (2 tests) 8ms
✓ src/channels/plugins/outbound/slack.test.ts (7 tests) 7ms
✓ src/signal/send-reactions.test.ts (3 tests) 7ms
✓ src/daemon/cmd-argv.test.ts (12 tests) 8ms
✓ src/plugin-sdk/webhook-request-guards.test.ts (8 tests) 8ms
✓ src/infra/outbound/session-binding-service.test.ts (6 tests) 8ms
✓ src/cron/normalize.test.ts (27 tests) 10ms
✓ src/wizard/clack-prompter.test.ts (3 tests) 4ms
✓ src/plugins/wired-hooks-compaction.test.ts (5 tests) 8ms
✓ src/config/group-policy.test.ts (13 tests) 8ms
✓ src/memory/embeddings-remote-fetch.test.ts (2 tests) 8ms
✓ src/plugins/services.test.ts (2 tests) 6ms
✓ src/channels/typing-start-guard.test.ts (4 tests) 6ms
✓ src/logging/redact.test.ts (11 tests) 9ms
✓ src/tui/theme/theme.test.ts (6 tests) 8ms
✓ src/infra/watch-node.test.ts (3 tests) 7ms
✓ src/slack/monitor/context.test.ts (2 tests) 7ms
✓ src/cron/service.jobs.top-of-hour-stagger.test.ts (5 tests) 8ms
✓ src/memory/batch-http.test.ts (2 tests) 6ms
✓ src/daemon/constants.test.ts (19 tests) 6ms
✓ src/channels/plugins/outbound/telegram.test.ts (4 tests) 8ms
✓ src/signal/client.test.ts (3 tests) 6ms
✓ src/slack/monitor/provider.reconnect.test.ts (2 tests) 6ms
✓ src/cli/command-options.test.ts (7 tests) 8ms
✓ src/infra/outbound/agent-delivery.test.ts (6 tests) 7ms
✓ src/acp/translator.prompt-prefix.test.ts (2 tests) 8ms
✓ src/media-understanding/providers/moonshot/video.test.ts (2 tests) 9ms
✓ src/cron/isolated-agent/run.payload-fallbacks.test.ts (3 tests) 6ms
✓ src/cli/run-main.test.ts (14 tests) 8ms
✓ src/infra/abort-pattern.test.ts (6 tests) 7ms
✓ src/wizard/onboarding.completion.test.ts (2 tests) 6ms
✓ src/plugin-sdk/temp-path.test.ts (4 tests) 10ms
✓ src/plugins/wired-hooks-message.test.ts (4 tests) 7ms
✓ src/infra/unhandled-rejections.test.ts (29 tests) 8ms
✓ src/plugins/wired-hooks-llm.test.ts (3 tests) 7ms
✓ src/media/host.test.ts (3 tests) 7ms
✓ src/channels/session.test.ts (3 tests) 11ms
✓ src/media-understanding/providers/mistral/index.test.ts (3 tests) 8ms
✓ src/infra/fetch.test.ts (9 tests) 11ms
✓ src/terminal/stream-writer.test.ts (2 tests) 4ms
✓ src/channels/plugins/onboarding/channel-access-configure.test.ts (3 tests) 7ms
✓ src/imessage/monitor/deliver.test.ts (3 tests) 9ms
✓ src/channels/plugins/status-issues/bluebubbles.test.ts (3 tests) 6ms
✓ src/infra/system-run-command.contract.test.ts (8 tests) 6ms
✓ src/cron/service.issue-13992-regression.test.ts (5 tests) 10ms
✓ src/plugins/wired-hooks-session.test.ts (3 tests) 6ms
✓ src/config/config.telegram-custom-commands.test.ts (2 tests) 9ms
✓ src/acp/runtime/registry.test.ts (6 tests) 6ms
✓ src/cli/log-level-option.test.ts (2 tests) 3ms
✓ src/cli/program/build-program.test.ts (1 test) 5ms
✓ src/cli/browser-cli-actions-input/shared.test.ts (4 tests) 5ms
✓ src/slack/monitor/events/messages.test.ts (6 tests) 7ms
✓ src/config/logging-max-file-bytes.test.ts (2 tests) 8ms
✓ src/shared/text/assistant-visible-text.test.ts (5 tests) 4ms
✓ src/config/merge-patch.test.ts (6 tests) 8ms
✓ src/channels/plugins/status-issues/whatsapp.test.ts (3 tests) 4ms
✓ src/channels/plugins/group-mentions.test.ts (5 tests) 8ms
✓ src/channels/plugins/account-helpers.test.ts (14 tests) 7ms
✓ src/infra/update-check.test.ts (5 tests) 6ms
✓ src/infra/provider-usage.fetch.gemini.test.ts (2 tests) 10ms
✓ src/infra/host-env-security.policy-parity.test.ts (1 test) 8ms
✓ src/infra/provider-usage.fetch.zai.test.ts (3 tests) 8ms
✓ src/infra/outbound/outbound-send-service.test.ts (4 tests) 8ms
✓ src/cli/program/action-reparse.test.ts (3 tests) 10ms
✓ src/shared/pid-alive.test.ts (9 tests) 9ms
✓ src/channels/plugins/whatsapp-heartbeat.test.ts (8 tests) 5ms
✓ src/channels/plugins/outbound/imessage.test.ts (2 tests) 10ms
✓ src/plugin-sdk/slack-message-actions.test.ts (2 tests) 7ms
✓ src/cli/profile.test.ts (19 tests) 23ms
✓ src/infra/heartbeat-visibility.test.ts (13 tests) 10ms
✓ src/memory/post-json.test.ts (2 tests) 16ms
✓ src/cli/cron-cli/shared.test.ts (9 tests) 7ms
✓ src/plugins/http-registry.test.ts (3 tests) 7ms
✓ src/config/zod-schema.cron-retention.test.ts (3 tests) 7ms
✓ src/slack/monitor/events/members.test.ts (7 tests) 55ms
✓ src/plugin-sdk/webhook-targets.test.ts (10 tests) 9ms
✓ src/infra/provider-usage.shared.test.ts (4 tests) 7ms
✓ src/terminal/restore.test.ts (3 tests) 8ms
✓ src/infra/exec-safe-bin-trust.test.ts (6 tests) 10ms
✓ src/cli/program/context.test.ts (5 tests) 5ms
✓ src/memory/batch-output.test.ts (3 tests) 6ms
✓ src/plugin-sdk/ssrf-policy.test.ts (9 tests) 5ms
✓ src/acp/session-mapper.test.ts (2 tests) 5ms
✓ src/infra/provider-usage.format.test.ts (5 tests) 5ms
✓ src/infra/env.test.ts (6 tests) 4ms
✓ src/docs/slash-commands-doc.test.ts (1 test) 7ms
✓ src/tui/tui-local-shell.test.ts (2 tests) 6ms
✓ src/acp/session.test.ts (5 tests) 6ms
✓ src/daemon/runtime-binary.test.ts (6 tests) 7ms
✓ src/logging/console-timestamp.test.ts (4 tests) 8ms
✓ src/slack/monitor/replies.test.ts (3 tests) 5ms
✓ src/plugin-sdk/command-auth.test.ts (2 tests) 5ms
✓ src/channels/plugins/outbound/signal.test.ts (2 tests) 7ms
✓ src/hooks/gmail-watcher-lifecycle.test.ts (5 tests) 8ms
✓ src/media/parse.test.ts (5 tests) 8ms
✓ src/tui/tui-input-history.test.ts (7 tests) 7ms
✓ src/logging/subsystem.test.ts (5 tests) 4ms
✓ src/infra/heartbeat-active-hours.test.ts (7 tests) 8ms
✓ src/utils/run-with-concurrency.test.ts (3 tests) 6ms
✓ src/process/supervisor/registry.test.ts (3 tests) 5ms
✓ src/cron/delivery.test.ts (5 tests) 4ms
✓ src/whatsapp/normalize.test.ts (8 tests) 10ms
✓ src/channels/allowlists/resolve-utils.test.ts (8 tests) 5ms
✓ src/config/config.skills-entries-config.test.ts (2 tests) 7ms
✓ src/memory/qmd-scope.test.ts (6 tests) 6ms
✓ src/media-understanding/format.test.ts (5 tests) 4ms
✓ src/config/channel-capabilities.test.ts (6 tests) 5ms
✓ src/signal/identity.test.ts (7 tests) 7ms
✓ src/utils/utils-misc.test.ts (21 tests) 11ms
✓ src/memory/backend-config.test.ts (7 tests) 6ms
✓ src/channels/dock.test.ts (5 tests) 5ms
✓ src/acp/runtime/errors.test.ts (2 tests) 5ms
✓ src/slack/monitor.test.ts (12 tests) 7ms
✓ src/utils/delivery-context.test.ts (5 tests) 5ms
✓ src/plugins/logger.test.ts (1 test) 6ms
✓ src/media-understanding/resolve.test.ts (6 tests) 6ms
✓ src/signal/probe.test.ts (6 tests) 4ms
✓ src/pairing/setup-code.test.ts (6 tests) 7ms
✓ src/slack/http/registry.test.ts (5 tests) 9ms
✓ src/daemon/runtime-paths.test.ts (9 tests) 8ms
✓ src/plugins/config-state.test.ts (8 tests) 5ms
✓ src/slack/channel-migration.test.ts (5 tests) 5ms
✓ src/config/runtime-group-policy.test.ts (7 tests) 5ms
✓ src/cron/service.issue-22895-every-next-run.test.ts (2 tests) 4ms
✓ src/channels/draft-stream-controls.test.ts (6 tests) 13ms
✓ src/plugins/enable.test.ts (6 tests) 5ms
✓ src/security/safe-regex.test.ts (4 tests) 5ms
✓ src/cli/deps.test.ts (2 tests) 14ms
✓ src/plugins/installs.test.ts (3 tests) 5ms
✓ src/cli/update-cli/shared.command-runner.test.ts (1 test) 5ms
✓ src/memory/hybrid.test.ts (4 tests) 31ms
✓ test/release-check.test.ts (3 tests) 4ms
✓ src/channels/sender-label.test.ts (4 tests) 6ms
✓ src/plugins/wired-hooks-gateway.test.ts (3 tests) 7ms
✓ src/polls.test.ts (6 tests) 5ms
✓ src/providers/github-copilot-models.test.ts (6 tests) 6ms
✓ src/infra/home-dir.test.ts (8 tests) 6ms
✓ src/channels/plugins/onboarding/signal.test.ts (5 tests) 5ms
✓ src/cli/run-main.exit.test.ts (1 test) 5ms
✓ src/providers/google-shared.ensures-function-call-comes-after-user-turn.test.ts (2 tests) 5ms
✓ src/imessage/monitor/monitor-provider.echo-cache.test.ts (3 tests) 5ms
✓ src/security/dm-policy-channel-smoke.test.ts (6 tests) 7ms
✓ src/acp/runtime/session-identifiers.test.ts (4 tests) 5ms
✓ test/appcast.test.ts (1 test) 5ms
✓ src/channels/plugins/normalize/telegram.test.ts (6 tests) 4ms
✓ src/shared/operator-scope-compat.test.ts (5 tests) 5ms
✓ src/channels/ack-reactions.test.ts (8 tests) 5ms
✓ src/slack/monitor/message-handler/dispatch.streaming.test.ts (5 tests) 6ms
✓ src/daemon/systemd-unit.test.ts (2 tests) 4ms
✓ src/slack/accounts.test.ts (4 tests) 5ms
✓ src/memory/embedding-chunk-limits.test.ts (4 tests) 5ms
✓ src/dockerfile.test.ts (2 tests) 5ms
✓ src/node-host/exec-policy.test.ts (12 tests) 6ms
✓ src/infra/session-maintenance-warning.test.ts (1 test) 6ms
✓ src/hooks/gmail.test.ts (8 tests) 6ms
✓ src/channels/plugins/message-actions.security.test.ts (3 tests) 8ms
✓ src/infra/abort-signal.test.ts (3 tests) 4ms
✓ ui/src/ui/controllers/agents.test.ts (2 tests) 5ms
✓ src/pairing/pairing-messages.test.ts (6 tests) 6ms
✓ src/utils/directive-tags.test.ts (6 tests) 4ms
✓ src/slack/monitor/message-handler.test.ts (3 tests) 6ms
✓ src/config/sessions/cache-fields.test.ts (4 tests) 3ms
✓ src/utils/queue-helpers.test.ts (8 tests) 7ms
✓ src/cli/program/helpers.test.ts (16 tests) 5ms
✓ src/cron/isolated-agent.delivery-target-thread-session.test.ts (6 tests) 8ms
✓ src/daemon/inspect.test.ts (3 tests) 5ms
✓ src/cli/hooks-cli.test.ts (3 tests) 6ms
✓ src/plugins/slots.test.ts (5 tests) 5ms
✓ src/tui/tui-session-actions.test.ts (1 test) 6ms
✓ src/media/audio.test.ts (23 tests) 6ms
✓ src/wizard/session.test.ts (3 tests) 5ms
✓ src/slack/client.test.ts (3 tests) 8ms
✓ src/cli/daemon-cli-compat.test.ts (3 tests) 4ms
✓ src/providers/github-copilot-token.test.ts (3 tests) 5ms
✓ src/media/inbound-path-policy.test.ts (5 tests) 5ms
✓ src/tui/commands.test.ts (4 tests) 6ms
✓ src/plugin-sdk/status-helpers.test.ts (8 tests) 4ms
✓ src/shared/node-list-parse.test.ts (2 tests) 4ms
✓ src/shared/requirements.test.ts (6 tests) 5ms
✓ src/config/model-alias-defaults.test.ts (7 tests) 5ms
✓ src/routing/session-key.continuity.test.ts (3 tests) 4ms
✓ src/tui/tui-overlays.test.ts (2 tests) 5ms
✓ src/slack/threading-tool-context.test.ts (9 tests) 5ms
✓ src/cron/service.list-page-sort-guards.test.ts (2 tests) 5ms
✓ src/infra/warning-filter.test.ts (3 tests) 8ms
✓ src/tui/tui-stream-assembler.test.ts (11 tests) 7ms
✓ src/daemon/program-args.test.ts (3 tests) 5ms
✓ src/plugin-sdk/text-chunking.test.ts (3 tests) 4ms
✓ src/config/sessions/delivery-info.test.ts (4 tests) 4ms
✓ src/cron/stagger.test.ts (4 tests) 5ms
✓ src/cron/service.issue-17852-daily-skip.test.ts (2 tests) 5ms
✓ src/channels/plugins/normalize/targets.test.ts (4 tests) 5ms
✓ src/cron/service.issue-19676-at-reschedule.test.ts (7 tests) 6ms
✓ src/cli/outbound-send-mapping.test.ts (1 test) 4ms
✓ src/config/sessions/artifacts.test.ts (3 tests) 5ms
✓ test/scripts/ui.test.ts (5 tests) 4ms
✓ src/config/commands.test.ts (8 tests) 5ms
✓ src/channels/conversation-label.test.ts (8 tests) 4ms
✓ src/slack/modal-metadata.test.ts (4 tests) 6ms
✓ src/hooks/bundled/boot-md/handler.gateway-startup.integration.test.ts (1 test) 4ms
✓ src/infra/outbound/target-resolver.test.ts (2 tests) 5ms
✓ src/cli/browser-cli.test.ts (3 tests) 6ms
✓ src/infra/provider-usage.fetch.shared.test.ts (3 tests) 5ms
✓ src/channels/allow-from.test.ts (8 tests) 6ms
✓ src/sessions/model-overrides.test.ts (3 tests) 5ms
✓ src/utils/transcript-tools.test.ts (7 tests) 6ms
✓ src/infra/heartbeat-reason.test.ts (5 tests) 5ms
✓ src/shared/string-normalization.test.ts (4 tests) 4ms
✓ ui/src/ui/views/usage-render-details.test.ts (8 tests) 6ms
✓ src/test-utils/channel-plugins.test.ts (3 tests) 6ms
✓ src/infra/outbound/bound-delivery-router.test.ts (5 tests) 6ms
✓ src/channels/mention-gating.test.ts (5 tests) 4ms
✓ src/slack/resolve-channels.test.ts (2 tests) 4ms
✓ src/infra/skills-remote.test.ts (2 tests) 4ms
✓ src/config/io.eacces.test.ts (2 tests) 5ms
✓ src/infra/agent-events.test.ts (3 tests) 5ms
✓ src/config/runtime-overrides.test.ts (7 tests) 5ms
✓ src/plugins/hooks.before-agent-start.test.ts (10 tests) 5ms
✓ src/cli/nodes-media-utils.test.ts (2 tests) 4ms
✓ src/slack/threading.test.ts (7 tests) 4ms
✓ src/media/base64.test.ts (3 tests) 3ms
✓ src/shared/avatar-policy.test.ts (5 tests) 5ms
✓ src/channels/telegram/api.test.ts (4 tests) 5ms
✓ src/plugin-sdk/group-access.test.ts (4 tests) 6ms
✓ src/plugin-sdk/outbound-media.test.ts (2 tests) 5ms
✓ src/infra/install-safe-path.test.ts (3 tests) 4ms
✓ src/infra/outbound/targets.channel-resolution.test.ts (2 tests) 5ms
✓ src/infra/fixed-window-rate-limit.test.ts (2 tests) 4ms
✓ src/routing/account-id.test.ts (5 tests) 4ms
✓ src/plugins/bundled-sources.test.ts (2 tests) 5ms
✓ src/signal/monitor.test.ts (6 tests) 3ms
✓ src/terminal/prompt-select-styled.test.ts (1 test) 4ms
✓ src/channels/command-gating.test.ts (8 tests) 5ms
✓ src/hooks/module-loader.test.ts (5 tests) 4ms
✓ src/utils/mask-api-key.test.ts (3 tests) 3ms
✓ src/infra/archive-path.test.ts (3 tests) 4ms
✓ src/cli/program/program-context.test.ts (3 tests) 3ms
✓ ui/src/ui/views/agents-utils.test.ts (5 tests) 4ms
✓ src/media/image-ops.helpers.test.ts (3 tests) 3ms
✓ src/shared/config-eval.test.ts (4 tests) 3ms
✓ src/infra/widearea-dns.test.ts (2 tests) 4ms
✓ src/config/config.talk-api-key-fallback.test.ts (2 tests) 5ms
✓ src/plugin-sdk/allow-from.test.ts (7 tests) 6ms
✓ src/channels/location.test.ts (4 tests) 4ms
✓ src/infra/system-message.test.ts (3 tests) 3ms
✓ src/infra/net/ssrf.dispatcher.test.ts (1 test) 4ms
✓ src/slack/monitor/allow-list.test.ts (3 tests) 4ms
✓ src/utils/usage-format.test.ts (3 tests) 4ms
✓ src/tts/prepare-text.test.ts (5 tests) 5ms
✓ src/cli/daemon-cli/shared.test.ts (2 tests) 3ms
✓ src/infra/system-run-approval-mismatch.contract.test.ts (3 tests) 4ms
✓ src/channels/targets.test.ts (4 tests) 4ms
✓ src/cli/progress.test.ts (2 tests) 4ms
✓ src/infra/update-channels.test.ts (3 tests) 3ms
✓ src/utils/reaction-level.test.ts (5 tests) 4ms
✓ src/routing/account-lookup.test.ts (2 tests) 3ms
✓ src/infra/secure-random.test.ts (2 tests) 4ms
✓ src/cron/isolated-agent/run.session-key.test.ts (4 tests) 3ms
✓ test/ui.presenter-next-run.test.ts (2 tests) 4ms
✓ src/logging/parse-log-line.test.ts (3 tests) 5ms
✓ src/config/merge-patch.proto-pollution.test.ts (4 tests) 4ms
✓ src/markdown/whatsapp.test.ts (3 tests) 4ms
✓ src/infra/scp-host.test.ts (2 tests) 5ms
✓ src/config/agent-dirs.test.ts (2 tests) 4ms
✓ src/slack/message-actions.test.ts (1 test) 3ms
✓ src/cli/prompt.test.ts (2 tests) 3ms
✓ src/channels/model-overrides.test.ts (3 tests) 5ms
✓ src/media/load-options.test.ts (3 tests) 5ms
✓ src/config/legacy.shared.test.ts (1 test) 3ms
✓ src/infra/install-mode-options.test.ts (4 tests) 4ms
✓ src/plugins/hooks.phase-hooks.test.ts (2 tests) 5ms
✓ src/imessage/probe.test.ts (1 test) 4ms
✓ src/channels/registry.helpers.test.ts (4 tests) 9ms
✓ src/sessions/send-policy.test.ts (5 tests) 5ms
✓ src/infra/file-identity.test.ts (6 tests) 3ms
✓ src/slack/monitor/auth.test.ts (2 tests) 4ms
✓ src/infra/plain-object.test.ts (2 tests) 3ms
✓ src/infra/heartbeat-events-filter.test.ts (3 tests) 3ms
✓ src/media-understanding/runner.vision-skip.test.ts (1 test) 6ms
✓ src/media-understanding/defaults.test.ts (3 tests) 3ms
✓ src/tui/tui-waiting.test.ts (2 tests) 5ms
✓ src/logging/timestamps.test.ts (2 tests) 3ms
✓ src/channels/plugins/account-action-gate.test.ts (3 tests) 4ms
✓ src/channels/plugins/message-actions.test.ts (2 tests) 3ms
✓ src/cli/plugins-config.test.ts (3 tests) 5ms
✓ src/security/audit-extra.sync.test.ts (7 tests) 4ms
✓ src/infra/outbound/conversation-id.test.ts (5 tests) 4ms
✓ src/utils/message-channel.test.ts (2 tests) 5ms
✓ src/channels/plugins/onboarding/telegram.test.ts (3 tests) 3ms
✓ src/plugins/source-display.test.ts (3 tests) 3ms
✓ src/memory/batch-error-utils.test.ts (4 tests) 4ms
✓ src/channels/plugins/onboarding/imessage.test.ts (3 tests) 5ms
✓ src/acp/runtime/error-text.test.ts (2 tests) 2ms
✓ src/cli/program.nodes-test-helpers.test.ts (1 test) 3ms
✓ src/cli/update-cli/progress.test.ts (3 tests) 3ms
✓ src/slack/blocks-fallback.test.ts (3 tests) 3ms
✓ src/cli/completion-fish.test.ts (4 tests) 4ms
✓ src/channels/telegram/allow-from.test.ts (2 tests) 5ms
↓ src/cli/gateway.sigterm.test.ts (1 test | 1 skipped)
✓ src/cron/service/timeout-policy.test.ts (4 tests) 3ms
✓ src/infra/path-safety.test.ts (2 tests) 3ms
✓ src/slack/monitor/events/channels.test.ts (2 tests) 4ms
✓ src/memory/embeddings-mistral.test.ts (3 tests) 3ms
✓ src/slack/monitor/provider.group-policy.test.ts (3 tests) 4ms
✓ src/plugin-sdk/index.test.ts (1 test) 4ms
✓ src/imessage/monitor/provider.group-policy.test.ts (3 tests) 3ms

Test Files 718 passed | 1 skipped (719)
Tests 5614 passed | 2 skipped (5616)
Start at 06:38:51
Duration 42.75s (transform 41.37s, setup 31.48s, import 319.72s, tests 34.83s, environment 930ms)

  • Land commit: b2af6b8821204964111507cf8b74aa0a213f0678
  • Merge commit: 31b6e58

Thanks @stone-jin!

Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b2af6b8823

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

// When relay is down, still attach the debugger but skip sending the
// relay event. reannounceAttachedTabs() will notify the relay once it
// reconnects, so the tab stays tracked across transient relay drops.
await attachTab(tabId, { skipAttachedEvent: !relayUp })

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Recheck relay state after reattach before skipping announce

relayUp is computed before the asynchronous attachTab(...) work, so if the relay reconnects while chrome.debugger.attach/Target.getTargetInfo is still running, this call still uses skipAttachedEvent: true and suppresses Target.attachedToTarget even though the socket is now open. Since tab re-announcement only happens during reconnect (scheduleReconnect -> reannounceAttachedTabs), a reconnect that already finished before this tab was reinserted can leave the tab permanently unannounced, causing continued tab not found-style failures until another disconnect/reconnect cycle or manual reattach.

Useful? React with 👍 / 👎.

robertchang-ga pushed a commit to robertchang-ga/openclaw that referenced this pull request Mar 2, 2026
hanqizheng pushed a commit to hanqizheng/openclaw that referenced this pull request Mar 2, 2026
execute008 pushed a commit to execute008/openclaw that referenced this pull request Mar 2, 2026
dawi369 pushed a commit to dawi369/davis that referenced this pull request Mar 3, 2026
OWALabuy pushed a commit to kcinzgg/openclaw that referenced this pull request Mar 4, 2026
sachinkundu pushed a commit to sachinkundu/openclaw that referenced this pull request Mar 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants