@symerian/symi 2.1.6 → 2.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/dist/{acp-cli-BiMkLDR4.js → acp-cli-vT1oZCVL.js} +2 -2
  2. package/dist/{agents.config-BXOMgfH8.js → agents.config-DzA8rWnM.js} +1 -1
  3. package/dist/{audio-preflight-BgsqiU2t.js → audio-preflight-1yi0nb1v.js} +8 -8
  4. package/dist/{audio-preflight-5NsCxagO.js → audio-preflight-BZIRAXlv.js} +4 -4
  5. package/dist/{audit-oRSxjF4Y.js → audit-CxLSBkyf.js} +5 -5
  6. package/dist/{auth-choice-CtkUWEzS.js → auth-choice-Bcu1W1bS.js} +4 -4
  7. package/dist/{browser-cli-DNkgkAuj.js → browser-cli-CF7WrAl5.js} +3 -3
  8. package/dist/build-info.json +3 -3
  9. package/dist/bundled/boot-md/handler.js +6 -6
  10. package/dist/bundled/session-memory/handler.js +6 -6
  11. package/dist/{call-CZPSJe5I.js → call-BQIBy8Tt.js} +1 -1
  12. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  13. package/dist/{channel-options-hRv5uC1D.js → channel-options-Dg8qatef.js} +1 -1
  14. package/dist/{channel-web-Dk4amkbo.js → channel-web-BWdWLBcD.js} +2 -2
  15. package/dist/{channels-cli-D3xSNJol.js → channels-cli-B9_P7h5c.js} +19 -19
  16. package/dist/{chrome-DM65TRMk.js → chrome-791kNCCB.js} +7 -7
  17. package/dist/{chrome-KILXYAkl.js → chrome-CJZsCHQH.js} +7 -7
  18. package/dist/{cli-d7xCa4Lk.js → cli-DvfhqWwR.js} +16 -16
  19. package/dist/{client-CQSyCS4M.js → client-Z6SFrwob.js} +3 -3
  20. package/dist/{completion-cli-C8LvKSCg.js → completion-cli-Ch4L91ix.js} +1 -1
  21. package/dist/{config-cli-oty7UgRW.js → config-cli-B9uXxJg3.js} +1 -1
  22. package/dist/{configure-BktcEJpM.js → configure-DcNhZaKX.js} +8 -8
  23. package/dist/{control-service-DPKlnETj.js → control-service-G76172X8.js} +3 -3
  24. package/dist/{cron-cli-DugQ4zba.js → cron-cli-DJhLBeA1.js} +3 -3
  25. package/dist/{daemon-cli-ReIMAwZL.js → daemon-cli-CwefaVx1.js} +2 -2
  26. package/dist/{deliver-Cgg1qwKP.js → deliver-CrlXl9KD.js} +1 -1
  27. package/dist/{deliver-ezw61fxU.js → deliver-DhcAHw6f.js} +1 -1
  28. package/dist/{devices-cli-BD4P6j_3.js → devices-cli-BBRC971g.js} +2 -2
  29. package/dist/{doctor-completion-vMwRMzvX.js → doctor-completion-DpSaxE2c.js} +1 -1
  30. package/dist/{exec-approvals-cli-BwCy8654.js → exec-approvals-cli-DPmmO3M_.js} +4 -4
  31. package/dist/{gateway-cli-BCUBz0r7.js → gateway-cli-CGlLcg5W.js} +28 -28
  32. package/dist/{gateway-rpc-DbGqu2XI.js → gateway-rpc-B6LPqjdz.js} +1 -1
  33. package/dist/{glass-ui-ws-BVxkFkqP.js → glass-ui-ws-nfA4ysOL.js} +23 -23
  34. package/dist/{health-Dci8s5_s.js → health-DWxiqmQJ.js} +3 -3
  35. package/dist/{hooks-cli-BL_ExzSA.js → hooks-cli-Bkdca9pQ.js} +17 -17
  36. package/dist/{image-yg__zJJR.js → image-DguD2G3e.js} +1 -1
  37. package/dist/{image-xvVpGzK5.js → image-ycxQmhff.js} +1 -1
  38. package/dist/index.js +21 -21
  39. package/dist/llm-slug-generator.js +6 -6
  40. package/dist/{logs-cli-B-4s2xLq.js → logs-cli-DN6g7pB5.js} +3 -3
  41. package/dist/{model-catalog-Cr_E1v1f.js → model-catalog-Dib32CyX.js} +1 -1
  42. package/dist/{model-picker-DPsrrARn.js → model-picker-DhS9QBgv.js} +1 -1
  43. package/dist/{models-cli-AnsPkuSQ.js → models-cli-B2aJE7eN.js} +18 -18
  44. package/dist/{node-cli-B4XgCDP5.js → node-cli-DBSE1ho3.js} +6 -6
  45. package/dist/{nodes-cli-BFAaT-LN.js → nodes-cli-DTydh6Lw.js} +3 -3
  46. package/dist/{onboard-BEJwRR5X.js → onboard-BtsHZR4B.js} +5 -5
  47. package/dist/{onboard-channels-BK5dg-gk.js → onboard-channels-D-X56DJ8.js} +1 -1
  48. package/dist/{onboard-custom-BdK1IVud.js → onboard-custom-BjpcSbRk.js} +1 -1
  49. package/dist/{onboard-helpers-DN1zuxEX.js → onboard-helpers-68fgh87u.js} +1 -1
  50. package/dist/{onboard-remote-CIXcmClI.js → onboard-remote-D3ZqwA9f.js} +1 -1
  51. package/dist/{onboard-skills-DGLjSmKy.js → onboard-skills-FT6IHgfp.js} +1 -1
  52. package/dist/{onboarding-DITwhIyc.js → onboarding-9vscZiF3.js} +9 -9
  53. package/dist/{onboarding.finalize-Bv7v6UI4.js → onboarding.finalize-DZ_rRX08.js} +21 -21
  54. package/dist/{onboarding.gateway-config-BOkD7ZTV.js → onboarding.gateway-config-CcXyb2rj.js} +3 -3
  55. package/dist/{pi-auth-json-BMN17zl6.js → pi-auth-json-bYGFgsxc.js} +1 -1
  56. package/dist/{pi-embedded-DuWfOlkO.js → pi-embedded-AKhKHxb6.js} +16 -16
  57. package/dist/{pi-embedded-helpers-khMH03FT.js → pi-embedded-helpers-C6ML643R.js} +1 -1
  58. package/dist/{pi-embedded-helpers-Cd124krQ.js → pi-embedded-helpers-DoTustDz.js} +4 -4
  59. package/dist/{pi-tools.policy-YJHLQVvu.js → pi-tools.policy-Chetph_n.js} +1 -1
  60. package/dist/{plugin-registry-MahBcTZy.js → plugin-registry-Dm857EK_.js} +1 -1
  61. package/dist/{plugins-cli-Bjj-8xm-.js → plugins-cli-B_mApNL7.js} +17 -17
  62. package/dist/{program-context-DZdzIBJW.js → program-context-azGx1QUt.js} +30 -30
  63. package/dist/{prompt-select-styled-D55rh_wq.js → prompt-select-styled-DuBHnZi0.js} +8 -8
  64. package/dist/{provider-auth-helpers-CPBiRRJ7.js → provider-auth-helpers-B1A2z7Wq.js} +1 -1
  65. package/dist/{push-apns-B75DQQZi.js → push-apns-ByIng2X-.js} +1 -1
  66. package/dist/{pw-ai-DxQzfOiI.js → pw-ai-BIcOufAe.js} +1 -1
  67. package/dist/{pw-ai-CL_YRdbc.js → pw-ai-DIVguI36.js} +1 -1
  68. package/dist/{register.agent-1AMj0tWy.js → register.agent-slSgZnXa.js} +21 -21
  69. package/dist/{register.configure-BA5m1RN3.js → register.configure-Bv303J9I.js} +25 -25
  70. package/dist/{register.maintenance-CSMK8sqB.js → register.maintenance-C6qo-exc.js} +22 -22
  71. package/dist/{register.message-CT_zCczX.js → register.message-Ma-4EWdL.js} +17 -17
  72. package/dist/{register.onboard-HMhaJL1t.js → register.onboard-rUCRhXsi.js} +21 -21
  73. package/dist/{register.setup-KGs6Sa4o.js → register.setup-CockGerD.js} +21 -21
  74. package/dist/{register.status-health-sessions-C0Y8uSOv.js → register.status-health-sessions-CsBE-Npn.js} +19 -19
  75. package/dist/{reply-DHEXU7Cn.js → reply-OC2fwtMD.js} +23 -23
  76. package/dist/{routes-Bqu4HRi8.js → routes-Bj0eL3Q0.js} +2 -2
  77. package/dist/{rpc-ByQikXey.js → rpc-D1L9G69Q.js} +1 -1
  78. package/dist/{runner-h5ZwP1Uj.js → runner-B8kxK-2T.js} +2 -2
  79. package/dist/{runner-CCo2QuJE.js → runner-Cw5KZrjx.js} +1 -1
  80. package/dist/{sandbox-B47UASus.js → sandbox-C93Jz4VH.js} +3 -3
  81. package/dist/{sandbox-cli-CZjPwOz9.js → sandbox-cli-DZ3ou_3q.js} +4 -4
  82. package/dist/{security-cli-CQ3ChhHn.js → security-cli-DGgK4UWF.js} +8 -8
  83. package/dist/{server-context-DfM0b6MD.js → server-context-8Y28Gc1g.js} +4 -4
  84. package/dist/{server-methods-BCks-wpI.js → server-methods-DLYjRtbk.js} +14 -14
  85. package/dist/{server-node-events-BfwbEkoh.js → server-node-events-BXvhA5oG.js} +17 -17
  86. package/dist/{status-pU_AObZR.js → status-DSmMas06.js} +1 -1
  87. package/dist/{status-x9ATvv1I.js → status-ULagy5pI.js} +5 -5
  88. package/dist/{system-cli-BG-4fgem.js → system-cli-Ckf5utOC.js} +3 -3
  89. package/dist/{tui-DNtyJqbH.js → tui-DU8uSIS6.js} +3 -3
  90. package/dist/{tui-cli-CK3UZx8q.js → tui-cli-BaVcPxfw.js} +8 -8
  91. package/dist/{update-cli-DyEVfV97.js → update-cli-0rovqj0x.js} +23 -23
  92. package/dist/{update-runner-B2gtFGSb.js → update-runner-C2ymIFie.js} +1 -1
  93. package/dist/{web-CIc_459s.js → web-CAwp3iOn.js} +17 -17
  94. package/dist/{web-BFa88W3e.js → web-Kz-ZuUjq.js} +6 -6
  95. package/dist/{with-timeout-DAAdYGLS.js → with-timeout-Dz8rHtW4.js} +1 -1
  96. package/extensions/outlook/index.ts +117 -1
  97. package/extensions/outlook/src/auth.ts +91 -0
  98. package/package.json +1 -1
@@ -13,8 +13,8 @@ import { H as VERSION, i as loadConfig } from "./config-BQmJMIWv.js";
13
13
  import "./manifest-registry-C4BxOMWX.js";
14
14
  import "./tailscale-D5dKabOc.js";
15
15
  import { a as resolveGatewayAuth } from "./auth-B741uFtk.js";
16
- import { t as GatewayClient } from "./client-CQSyCS4M.js";
17
- import { t as buildGatewayConnectionDetails } from "./call-CZPSJe5I.js";
16
+ import { t as GatewayClient } from "./client-Z6SFrwob.js";
17
+ import { t as buildGatewayConnectionDetails } from "./call-BQIBy8Tt.js";
18
18
  import "./pairing-token-CX3NN_qj.js";
19
19
  import { t as formatDocsLink } from "./links-3i1eUga4.js";
20
20
  import { t as isMainModule } from "./is-main-DrpmTCqv.js";
@@ -1,4 +1,4 @@
1
- import { Xt as identityHasValues, Zt as loadAgentIdentityFromWorkspace } from "./reply-DHEXU7Cn.js";
1
+ import { Xt as identityHasValues, Zt as loadAgentIdentityFromWorkspace } from "./reply-OC2fwtMD.js";
2
2
  import { s as normalizeAgentId } from "./session-key-DCt45XZa.js";
3
3
  import { c as resolveAgentWorkspaceDir, i as resolveAgentDir, l as resolveDefaultAgentId, t as listAgentEntries } from "./agent-scope-CgUHAtCo.js";
4
4
 
@@ -12,19 +12,19 @@ import "./env-DPCHYPeH.js";
12
12
  import "./message-channel-aT-I_DTX.js";
13
13
  import "./config-BQmJMIWv.js";
14
14
  import "./manifest-registry-C4BxOMWX.js";
15
- import { a as resolveMediaAttachmentLocalRoots, n as createMediaAttachmentCache, o as runCapability, r as normalizeMediaAttachments, s as isAudioAttachment, t as buildProviderRegistry } from "./runner-h5ZwP1Uj.js";
16
- import "./image-yg__zJJR.js";
15
+ import { a as resolveMediaAttachmentLocalRoots, n as createMediaAttachmentCache, o as runCapability, r as normalizeMediaAttachments, s as isAudioAttachment, t as buildProviderRegistry } from "./runner-B8kxK-2T.js";
16
+ import "./image-DguD2G3e.js";
17
17
  import "./models-config-DQTsmVR2.js";
18
18
  import "./pi-model-discovery-4uUnLc3n.js";
19
- import "./pi-embedded-helpers-khMH03FT.js";
20
- import "./sandbox-B47UASus.js";
21
- import "./chrome-KILXYAkl.js";
19
+ import "./pi-embedded-helpers-C6ML643R.js";
20
+ import "./sandbox-C93Jz4VH.js";
21
+ import "./chrome-CJZsCHQH.js";
22
22
  import "./tailscale-D5dKabOc.js";
23
23
  import "./auth-B741uFtk.js";
24
- import "./server-context-DfM0b6MD.js";
24
+ import "./server-context-8Y28Gc1g.js";
25
25
  import "./frontmatter-DWQhtOo7.js";
26
26
  import "./skills-6jdJQ5ZL.js";
27
- import "./routes-Bqu4HRi8.js";
27
+ import "./routes-Bj0eL3Q0.js";
28
28
  import "./redact-f-Q-hFt_.js";
29
29
  import "./errors-BF3TeRH2.js";
30
30
  import "./fs-safe-CUjO1ca2.js";
@@ -48,7 +48,7 @@ import "./tool-display-D8N3rsYt.js";
48
48
  import "./fetch-guard-DOPkVbh3.js";
49
49
  import "./api-key-rotation-CVUq_rfN.js";
50
50
  import "./local-roots-aAFLQGkY.js";
51
- import "./model-catalog-Cr_E1v1f.js";
51
+ import "./model-catalog-Dib32CyX.js";
52
52
 
53
53
  //#region src/media-understanding/audio-preflight.ts
54
54
  /**
@@ -14,10 +14,10 @@ import "./model-auth-64S8o7s-.js";
14
14
  import "./github-copilot-token-C_qUP7p5.js";
15
15
  import "./pi-model-discovery-DaNAekda.js";
16
16
  import "./message-channel-Dz5lr5b0.js";
17
- import "./pi-embedded-helpers-Cd124krQ.js";
17
+ import "./pi-embedded-helpers-DoTustDz.js";
18
18
  import "./config-CfZ-oKwR.js";
19
19
  import "./manifest-registry-D0IQ3WuX.js";
20
- import "./chrome-DM65TRMk.js";
20
+ import "./chrome-791kNCCB.js";
21
21
  import "./frontmatter-C_bv_0P8.js";
22
22
  import "./skills-BFekKL7i.js";
23
23
  import "./redact-jSxx6Ep2.js";
@@ -28,10 +28,10 @@ import "./thinking-CdlENGRW.js";
28
28
  import "./accounts-qtxJ-6em.js";
29
29
  import "./paths-DLyHUt31.js";
30
30
  import "./tool-images-DXB7tqWi.js";
31
- import "./image-xvVpGzK5.js";
31
+ import "./image-ycxQmhff.js";
32
32
  import "./gemini-auth-DzFcFvHV.js";
33
33
  import "./local-roots-DMwIh5cS.js";
34
- import { a as resolveMediaAttachmentLocalRoots, n as createMediaAttachmentCache, o as runCapability, r as normalizeMediaAttachments, t as buildProviderRegistry, u as isAudioAttachment } from "./runner-CCo2QuJE.js";
34
+ import { a as resolveMediaAttachmentLocalRoots, n as createMediaAttachmentCache, o as runCapability, r as normalizeMediaAttachments, t as buildProviderRegistry, u as isAudioAttachment } from "./runner-Cw5KZrjx.js";
35
35
 
36
36
  //#region src/media-understanding/audio-preflight.ts
37
37
  /**
@@ -7,19 +7,19 @@ import { h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES } from "./message-
7
7
  import { I as INCLUDE_KEY, L as MAX_INCLUDE_DEPTH, r as createConfigIO } from "./config-BQmJMIWv.js";
8
8
  import { u as normalizePluginsConfig } from "./manifest-registry-C4BxOMWX.js";
9
9
  import { i as isPathInside, n as MANIFEST_KEY, r as extensionUsesSkippedScannerPath } from "./legacy-names-Be3msDZo.js";
10
- import { S as resolveToolProfilePolicy, f as resolveSandboxConfigForAgent, k as SANDBOX_BROWSER_SECURITY_HASH_EPOCH, l as execDockerRaw, m as resolveSandboxToolPolicyForAgent, u as getBlockedBindReason } from "./sandbox-B47UASus.js";
10
+ import { S as resolveToolProfilePolicy, f as resolveSandboxConfigForAgent, k as SANDBOX_BROWSER_SECURITY_HASH_EPOCH, l as execDockerRaw, m as resolveSandboxToolPolicyForAgent, u as getBlockedBindReason } from "./sandbox-C93Jz4VH.js";
11
11
  import { a as resolveGatewayAuth } from "./auth-B741uFtk.js";
12
- import { a as resolveProfile, i as resolveBrowserConfig, m as resolveBrowserControlAuth } from "./server-context-DfM0b6MD.js";
12
+ import { a as resolveProfile, i as resolveBrowserConfig, m as resolveBrowserControlAuth } from "./server-context-8Y28Gc1g.js";
13
13
  import { i as loadWorkspaceSkillEntries } from "./skills-6jdJQ5ZL.js";
14
14
  import { n as formatErrorMessage } from "./errors-BF3TeRH2.js";
15
15
  import { l as normalizeStringEntries } from "./dock-BhS32F6E.js";
16
16
  import { n as listChannelPlugins } from "./plugins-DKDeQZF0.js";
17
17
  import { a as resolveNativeSkillsEnabled, i as resolveNativeCommandsEnabled } from "./commands-BNLCWX6e.js";
18
- import { t as GatewayClient } from "./client-CQSyCS4M.js";
19
- import { c as READ_SCOPE, t as buildGatewayConnectionDetails } from "./call-CZPSJe5I.js";
18
+ import { t as GatewayClient } from "./client-Z6SFrwob.js";
19
+ import { c as READ_SCOPE, t as buildGatewayConnectionDetails } from "./call-BQIBy8Tt.js";
20
20
  import { i as readChannelAllowFromStore } from "./pairing-store-0Vcl4kOG.js";
21
21
  import { t as listAgentWorkspaceDirs } from "./workspace-dirs-GpkFi6Kw.js";
22
- import { n as isToolAllowedByPolicies, o as pickSandboxToolPolicy } from "./pi-tools.policy-YJHLQVvu.js";
22
+ import { n as isToolAllowedByPolicies, o as pickSandboxToolPolicy } from "./pi-tools.policy-Chetph_n.js";
23
23
  import { n as DEFAULT_GATEWAY_HTTP_TOOL_DENY } from "./dangerous-tools-BL-M3lPt.js";
24
24
  import { t as resolveChannelDefaultAccountId } from "./helpers-BcGbMZD1.js";
25
25
  import { t as scanDirectoryWithSummary } from "./skill-scanner-CLs8u6vQ.js";
@@ -2,13 +2,13 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { D as resolveDefaultAgentWorkspaceDir, c as resolveAgentWorkspaceDir, i as resolveAgentDir, l as resolveDefaultAgentId, o as resolveAgentModelPrimary } from "./agent-scope-CgUHAtCo.js";
3
3
  import { At as ensureAuthProfileStore, Ft as resolveSymiAgentDir, G as getCustomProviderApiKey, Gt as DEFAULT_MODEL, Kt as DEFAULT_PROVIDER, M as VENICE_DEFAULT_MODEL_REF, Ot as upsertAuthProfile, St as parseOAuthCallbackInput, Tt as listProfilesForProvider, Y as resolveEnvApiKey, bt as exchangeChutesCodeForTokens, ct as CLOUDFLARE_AI_GATEWAY_DEFAULT_MODEL_REF, ft as resolveAuthProfileOrder, ot as discoverHuggingfaceModels, p as resolveConfiguredModelRef, st as isHuggingfacePolicyLocked, xt as generateChutesPkce, yt as CHUTES_AUTHORIZE_ENDPOINT, z as SYNTHETIC_DEFAULT_MODEL_REF } from "./model-selection-BD3oqNY9.js";
4
4
  import { r as isLoopbackHost } from "./ws-C7EXRv8z.js";
5
- import { n as loadModelCatalog } from "./model-catalog-Cr_E1v1f.js";
6
- import { f as openUrl } from "./onboard-helpers-DN1zuxEX.js";
5
+ import { n as loadModelCatalog } from "./model-catalog-Dib32CyX.js";
6
+ import { f as openUrl } from "./onboard-helpers-68fgh87u.js";
7
7
  import { t as enablePluginInConfig } from "./enable-HSYin9n7.js";
8
8
  import { $ as setHuggingfaceApiKey, A as applyXaiConfig, B as applyVercelAiGatewayConfig, C as applyQianfanProviderConfig, D as applyTogetherProviderConfig, E as applyTogetherConfig, F as applyZaiProviderConfig, G as OPENROUTER_DEFAULT_MODEL_REF, H as applyAgentDefaultModelPrimary, I as applyLitellmConfig, J as XIAOMI_DEFAULT_MODEL_REF, K as TOGETHER_DEFAULT_MODEL_REF, L as applyLitellmProviderConfig, M as applyXiaomiConfig, N as applyXiaomiProviderConfig, O as applyVeniceConfig, P as applyZaiConfig, Q as setGeminiApiKey, R as applyCloudflareAiGatewayConfig, S as applyQianfanConfig, T as applySyntheticProviderConfig, U as HUGGINGFACE_DEFAULT_MODEL_REF, V as applyVercelAiGatewayProviderConfig, W as LITELLM_DEFAULT_MODEL_REF, X as setAnthropicApiKey, Y as ZAI_DEFAULT_MODEL_REF, Z as setCloudflareAiGatewayConfig, _ as applyMoonshotConfigCn, _t as QIANFAN_DEFAULT_MODEL_REF, a as applyMinimaxApiConfig, at as setOpenrouterApiKey, b as applyOpenrouterConfig, c as applyMinimaxApiProviderConfigCn, ct as setTogetherApiKey, d as applyAuthProfileConfig, dt as setXaiApiKey, et as setKimiCodingApiKey, ft as setXiaomiApiKey, g as applyMoonshotConfig, gt as MOONSHOT_DEFAULT_MODEL_REF, h as applyKimiCodeProviderConfig, ht as KIMI_CODING_MODEL_REF, i as applyOpencodeZenProviderConfig, it as setOpencodeZenApiKey, j as applyXaiProviderConfig, k as applyVeniceProviderConfig, l as applyMinimaxConfig, lt as setVeniceApiKey, m as applyKimiCodeConfig, mt as writeOAuthCredentials, n as validateAnthropicSetupToken, nt as setMinimaxApiKey, o as applyMinimaxApiConfigCn, ot as setQianfanApiKey, p as applyHuggingfaceProviderConfig, pt as setZaiApiKey, q as VERCEL_AI_GATEWAY_DEFAULT_MODEL_REF, r as applyOpencodeZenConfig, rt as setMoonshotApiKey, s as applyMinimaxApiProviderConfig, st as setSyntheticApiKey, t as buildTokenProfileId, tt as setLitellmApiKey, u as applyMinimaxProviderConfig, ut as setVercelAiGatewayApiKey, v as applyMoonshotProviderConfig, vt as XAI_DEFAULT_MODEL_REF, w as applySyntheticConfig, x as applyOpenrouterProviderConfig, y as applyMoonshotProviderConfigCn, z as applyCloudflareAiGatewayProviderConfig } from "./auth-token-jkttV9t2.js";
9
- import { a as createVpsAwareOAuthHandlers, c as githubCopilotLoginCommand, i as resolveProviderMatch, n as mergeConfigPatch, o as isRemoteEnvironment, r as pickAuthMethod, s as resolvePluginProviders, t as applyDefaultModel } from "./provider-auth-helpers-CPBiRRJ7.js";
9
+ import { a as createVpsAwareOAuthHandlers, c as githubCopilotLoginCommand, i as resolveProviderMatch, n as mergeConfigPatch, o as isRemoteEnvironment, r as pickAuthMethod, s as resolvePluginProviders, t as applyDefaultModel } from "./provider-auth-helpers-B1A2z7Wq.js";
10
10
  import { a as detectZaiEndpoint, c as ensureModelAllowlistEntry, i as upsertSharedEnvVar, n as applyOpenAIConfig, o as GOOGLE_GEMINI_DEFAULT_MODEL, r as applyOpenAIProviderConfig, s as applyGoogleGeminiModelDefault, t as OPENAI_DEFAULT_MODEL } from "./openai-model-default-0jvb2G0b.js";
11
- import { c as OPENAI_CODEX_DEFAULT_MODEL, l as applyOpenAICodexModelDefault, r as applyPrimaryModel, s as promptAndConfigureVllm } from "./model-picker-DPsrrARn.js";
11
+ import { c as OPENAI_CODEX_DEFAULT_MODEL, l as applyOpenAICodexModelDefault, r as applyPrimaryModel, s as promptAndConfigureVllm } from "./model-picker-DhS9QBgv.js";
12
12
  import { randomBytes } from "node:crypto";
13
13
  import { loginOpenAICodex } from "@mariozechner/pi-ai";
14
14
  import { createServer } from "node:http";
@@ -17,15 +17,15 @@ import "./errors-BF3TeRH2.js";
17
17
  import "./fs-safe-CUjO1ca2.js";
18
18
  import { i as resolveExistingPathsWithinRoot, r as DEFAULT_UPLOAD_DIR } from "./paths-BBm9fwuG.js";
19
19
  import { t as movePathToTrash } from "./trash-DcMh1i4B.js";
20
- import "./client-CQSyCS4M.js";
21
- import "./call-CZPSJe5I.js";
20
+ import "./client-Z6SFrwob.js";
21
+ import "./call-BQIBy8Tt.js";
22
22
  import "./pairing-token-CX3NN_qj.js";
23
23
  import { t as formatDocsLink } from "./links-3i1eUga4.js";
24
24
  import { n as runCommandWithRuntime } from "./cli-utils-DN_hM6ov.js";
25
25
  import { t as formatHelpExamples } from "./help-format-B_-M23wP.js";
26
26
  import "./progress-jIePzvGA.js";
27
27
  import { n as inheritOptionFromParent } from "./command-options-BtDai3oC.js";
28
- import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-DbGqu2XI.js";
28
+ import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-B6LPqjdz.js";
29
29
  import { t as copyToClipboard } from "./clipboard-Cg3cin13.js";
30
30
  import { fileURLToPath } from "node:url";
31
31
  import fs from "node:fs";
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "2.1.6",
3
- "commit": "0cc49bed59df17b02ea27aebc922983fc10b8634",
4
- "builtAt": "2026-04-02T23:01:32.011Z"
2
+ "version": "2.1.8",
3
+ "commit": "6568ae28d15748d2e04af911ad1358940ac1ece8",
4
+ "builtAt": "2026-04-02T23:51:37.290Z"
5
5
  }
@@ -5,7 +5,7 @@ import { s as resolveAgentWorkspaceDir, t as listAgentIds } from "../../agent-sc
5
5
  import { r as defaultRuntime, t as createSubsystemLogger } from "../../subsystem-Bs9YvKLa.js";
6
6
  import "../../workspace-wAaHI8-5.js";
7
7
  import { n as SILENT_REPLY_TOKEN } from "../../tokens-H1H1LiSQ.js";
8
- import { a as createDefaultDeps, i as agentCommand } from "../../pi-embedded-DuWfOlkO.js";
8
+ import { a as createDefaultDeps, i as agentCommand } from "../../pi-embedded-AKhKHxb6.js";
9
9
  import "../../plugins-DQYI3Fr-.js";
10
10
  import "../../accounts-tNElYrCH.js";
11
11
  import "../../boolean-B8-BqKGQ.js";
@@ -13,7 +13,7 @@ import "../../command-format-BaxDnULz.js";
13
13
  import "../../bindings-B7Ke6LJi.js";
14
14
  import "../../send-Ct3wqNP6.js";
15
15
  import "../../send-D0WfDllx.js";
16
- import "../../deliver-Cgg1qwKP.js";
16
+ import "../../deliver-CrlXl9KD.js";
17
17
  import "../../diagnostic-CI0kRQkt.js";
18
18
  import "../../diagnostic-session-state-Bxo4UHOL.js";
19
19
  import "../../accounts-CWktKM8a.js";
@@ -23,10 +23,10 @@ import "../../model-auth-64S8o7s-.js";
23
23
  import "../../github-copilot-token-C_qUP7p5.js";
24
24
  import "../../pi-model-discovery-DaNAekda.js";
25
25
  import "../../message-channel-Dz5lr5b0.js";
26
- import { H as loadSessionStore, K as updateSessionStore, xt as resolveMainSessionKey, yt as resolveAgentMainSessionKey } from "../../pi-embedded-helpers-Cd124krQ.js";
26
+ import { H as loadSessionStore, K as updateSessionStore, xt as resolveMainSessionKey, yt as resolveAgentMainSessionKey } from "../../pi-embedded-helpers-DoTustDz.js";
27
27
  import "../../config-CfZ-oKwR.js";
28
28
  import "../../manifest-registry-D0IQ3WuX.js";
29
- import "../../chrome-DM65TRMk.js";
29
+ import "../../chrome-791kNCCB.js";
30
30
  import "../../frontmatter-C_bv_0P8.js";
31
31
  import "../../skills-BFekKL7i.js";
32
32
  import "../../redact-jSxx6Ep2.js";
@@ -37,7 +37,7 @@ import "../../thinking-CdlENGRW.js";
37
37
  import "../../accounts-qtxJ-6em.js";
38
38
  import { s as resolveStorePath } from "../../paths-DLyHUt31.js";
39
39
  import "../../tool-images-DXB7tqWi.js";
40
- import "../../image-xvVpGzK5.js";
40
+ import "../../image-ycxQmhff.js";
41
41
  import "../../reply-prefix-XlyuyChD.js";
42
42
  import "../../manager-M83fJMDC.js";
43
43
  import "../../gemini-auth-DzFcFvHV.js";
@@ -51,7 +51,7 @@ import "../../ir-DccrnjsE.js";
51
51
  import "../../render-CDCvpfhh.js";
52
52
  import "../../commands-registry-BCRa0DAp.js";
53
53
  import "../../skill-commands-DCDG7ki5.js";
54
- import "../../runner-CCo2QuJE.js";
54
+ import "../../runner-Cw5KZrjx.js";
55
55
  import "../../fetch-Bso4i15F.js";
56
56
  import "../../channel-activity-CsM_hJ_s.js";
57
57
  import "../../tables-DuZspiBu.js";
@@ -5,7 +5,7 @@ import { s as resolveAgentWorkspaceDir } from "../../agent-scope-BxoUQqgM.js";
5
5
  import { t as createSubsystemLogger } from "../../subsystem-Bs9YvKLa.js";
6
6
  import "../../workspace-wAaHI8-5.js";
7
7
  import "../../tokens-H1H1LiSQ.js";
8
- import "../../pi-embedded-DuWfOlkO.js";
8
+ import "../../pi-embedded-AKhKHxb6.js";
9
9
  import "../../plugins-DQYI3Fr-.js";
10
10
  import "../../accounts-tNElYrCH.js";
11
11
  import "../../boolean-B8-BqKGQ.js";
@@ -13,7 +13,7 @@ import "../../command-format-BaxDnULz.js";
13
13
  import "../../bindings-B7Ke6LJi.js";
14
14
  import "../../send-Ct3wqNP6.js";
15
15
  import "../../send-D0WfDllx.js";
16
- import "../../deliver-Cgg1qwKP.js";
16
+ import "../../deliver-CrlXl9KD.js";
17
17
  import "../../diagnostic-CI0kRQkt.js";
18
18
  import "../../diagnostic-session-state-Bxo4UHOL.js";
19
19
  import "../../accounts-CWktKM8a.js";
@@ -23,10 +23,10 @@ import "../../model-auth-64S8o7s-.js";
23
23
  import "../../github-copilot-token-C_qUP7p5.js";
24
24
  import "../../pi-model-discovery-DaNAekda.js";
25
25
  import "../../message-channel-Dz5lr5b0.js";
26
- import { ct as hasInterSessionUserProvenance } from "../../pi-embedded-helpers-Cd124krQ.js";
26
+ import { ct as hasInterSessionUserProvenance } from "../../pi-embedded-helpers-DoTustDz.js";
27
27
  import "../../config-CfZ-oKwR.js";
28
28
  import "../../manifest-registry-D0IQ3WuX.js";
29
- import "../../chrome-DM65TRMk.js";
29
+ import "../../chrome-791kNCCB.js";
30
30
  import "../../frontmatter-C_bv_0P8.js";
31
31
  import "../../skills-BFekKL7i.js";
32
32
  import "../../redact-jSxx6Ep2.js";
@@ -37,7 +37,7 @@ import "../../thinking-CdlENGRW.js";
37
37
  import "../../accounts-qtxJ-6em.js";
38
38
  import "../../paths-DLyHUt31.js";
39
39
  import "../../tool-images-DXB7tqWi.js";
40
- import "../../image-xvVpGzK5.js";
40
+ import "../../image-ycxQmhff.js";
41
41
  import "../../reply-prefix-XlyuyChD.js";
42
42
  import "../../manager-M83fJMDC.js";
43
43
  import "../../gemini-auth-DzFcFvHV.js";
@@ -51,7 +51,7 @@ import "../../ir-DccrnjsE.js";
51
51
  import "../../render-CDCvpfhh.js";
52
52
  import "../../commands-registry-BCRa0DAp.js";
53
53
  import "../../skill-commands-DCDG7ki5.js";
54
- import "../../runner-CCo2QuJE.js";
54
+ import "../../runner-Cw5KZrjx.js";
55
55
  import "../../fetch-Bso4i15F.js";
56
56
  import "../../channel-activity-CsM_hJ_s.js";
57
57
  import "../../tables-DuZspiBu.js";
@@ -3,7 +3,7 @@ import { c as ensureDir, t as CONFIG_DIR, x as shortenHomeInString, y as resolve
3
3
  import { h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES } from "./message-channel-aT-I_DTX.js";
4
4
  import { i as loadConfig } from "./config-BQmJMIWv.js";
5
5
  import { i as isSecureWebSocketUrl } from "./ws-C7EXRv8z.js";
6
- import { Jt as normalizeFingerprint, Xt as loadOrCreateDeviceIdentity, kt as PROTOCOL_VERSION, t as GatewayClient } from "./client-CQSyCS4M.js";
6
+ import { Jt as normalizeFingerprint, Xt as loadOrCreateDeviceIdentity, kt as PROTOCOL_VERSION, t as GatewayClient } from "./client-Z6SFrwob.js";
7
7
  import path from "node:path";
8
8
  import fs from "node:fs/promises";
9
9
  import { execFile } from "node:child_process";
@@ -1 +1 @@
1
- aa45a8fa035b061a93aa37c77f29dff9843a96c4f867150f7b90d76c707e9513
1
+ f2724d569a2655b1424190fa5cfbb9083b2215e70213791f7b0453dab4cc245d
@@ -2,7 +2,7 @@ import { n as CHAT_CHANNEL_ORDER } from "./registry-Cja8eT7G.js";
2
2
  import { t as isTruthyEnvValue } from "./env-DPCHYPeH.js";
3
3
  import { n as listChannelPlugins } from "./plugins-DKDeQZF0.js";
4
4
  import { r as listChannelPluginCatalogEntries } from "./catalog-RiADx7MA.js";
5
- import { t as ensurePluginRegistryLoaded } from "./plugin-registry-MahBcTZy.js";
5
+ import { t as ensurePluginRegistryLoaded } from "./plugin-registry-Dm857EK_.js";
6
6
 
7
7
  //#region src/cli/channel-options.ts
8
8
  function dedupe(values) {
@@ -1,11 +1,11 @@
1
1
  import { C as sleep, F as shouldLogVerbose, M as logVerbose, T as toWhatsappJid, V as getChildLogger, f as isSelfChatMode, m as normalizeE164, p as jidToE164, r as clamp, v as resolveJidToE164 } from "./utils-B-0b9bGM.js";
2
- import { En as normalizeMentionText, Ot as computeBackoff, Sn as shouldComputeCommandAuthorized, Tn as buildMentionRegexes, _n as resolveInboundDebounceMs, an as resolveMentionGating, cn as recordPendingHistoryEntryIfEnabled, gn as createInboundDebouncer, hn as createDedupeCache, in as buildPairingReply, kt as sleepWithAbort, ln as shouldAckReactionForWhatsApp, on as DEFAULT_GROUP_HISTORY_LIMIT, sn as buildHistoryContextFromEntries, t as getReplyFromConfig, un as dispatchReplyWithBufferedBlockDispatcher, vn as formatInboundEnvelope, vt as normalizeGroupActivation, xn as hasControlCommand, yn as resolveEnvelopeFormatOptions, yr as enqueueSystemEvent, yt as parseActivationCommand } from "./reply-DHEXU7Cn.js";
2
+ import { En as normalizeMentionText, Ot as computeBackoff, Sn as shouldComputeCommandAuthorized, Tn as buildMentionRegexes, _n as resolveInboundDebounceMs, an as resolveMentionGating, cn as recordPendingHistoryEntryIfEnabled, gn as createInboundDebouncer, hn as createDedupeCache, in as buildPairingReply, kt as sleepWithAbort, ln as shouldAckReactionForWhatsApp, on as DEFAULT_GROUP_HISTORY_LIMIT, sn as buildHistoryContextFromEntries, t as getReplyFromConfig, un as dispatchReplyWithBufferedBlockDispatcher, vn as formatInboundEnvelope, vt as normalizeGroupActivation, xn as hasControlCommand, yn as resolveEnvelopeFormatOptions, yr as enqueueSystemEvent, yt as parseActivationCommand } from "./reply-OC2fwtMD.js";
3
3
  import { a as buildGroupHistoryKey, n as DEFAULT_MAIN_KEY, r as buildAgentMainSessionKey, s as normalizeAgentId } from "./session-key-DCt45XZa.js";
4
4
  import { f as defaultRuntime, t as createSubsystemLogger } from "./subsystem-D9vIQve0.js";
5
5
  import { t as formatCliCommand } from "./command-format-COaS-S7B.js";
6
6
  import { i as loadConfig } from "./config-BQmJMIWv.js";
7
7
  import { t as finalizeInboundContext } from "./inbound-context-CmmmT8IP.js";
8
- import { d as registerUnhandledRejectionHandler } from "./runner-h5ZwP1Uj.js";
8
+ import { d as registerUnhandledRejectionHandler } from "./runner-B8kxK-2T.js";
9
9
  import { r as saveMediaBuffer } from "./store-r1DJSDq-.js";
10
10
  import { c as recordSessionMetaFromInbound, o as loadSessionStore, q as resolveGroupSessionKey, s as readSessionUpdatedAt, u as updateLastRoute } from "./sessions-DXfNaNdy.js";
11
11
  import { a as resolveChannelGroupRequireMention, i as resolveChannelGroupPolicy } from "./dock-BhS32F6E.js";
@@ -1,7 +1,7 @@
1
1
  import "./paths-Cqn-zk3M.js";
2
2
  import { B as theme, O as danger, P as setVerbose, U as getResolvedLoggerSettings, d as isRecord } from "./utils-B-0b9bGM.js";
3
3
  import "./thinking-EAliFiVK.js";
4
- import { _t as deleteTelegramUpdateOffset, bt as loadProviderUsageSummary, xt as formatUsageReportLines } from "./reply-DHEXU7Cn.js";
4
+ import { _t as deleteTelegramUpdateOffset, bt as loadProviderUsageSummary, xt as formatUsageReportLines } from "./reply-OC2fwtMD.js";
5
5
  import { h as normalizeAccountId, m as DEFAULT_ACCOUNT_ID } from "./session-key-DCt45XZa.js";
6
6
  import { r as DEFAULT_CHAT_CHANNEL } from "./registry-Cja8eT7G.js";
7
7
  import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
@@ -16,19 +16,19 @@ import "./message-channel-aT-I_DTX.js";
16
16
  import { $ as parseDiscordTarget, bt as fetchChannelPermissionsDiscord } from "./send-CpxUlSq0.js";
17
17
  import { i as loadConfig, l as writeConfigFile, o as readConfigFileSnapshot } from "./config-BQmJMIWv.js";
18
18
  import "./manifest-registry-C4BxOMWX.js";
19
- import "./runner-h5ZwP1Uj.js";
20
- import "./image-yg__zJJR.js";
19
+ import "./runner-B8kxK-2T.js";
20
+ import "./image-DguD2G3e.js";
21
21
  import "./models-config-DQTsmVR2.js";
22
22
  import "./pi-model-discovery-4uUnLc3n.js";
23
- import "./pi-embedded-helpers-khMH03FT.js";
24
- import "./sandbox-B47UASus.js";
25
- import "./chrome-KILXYAkl.js";
23
+ import "./pi-embedded-helpers-C6ML643R.js";
24
+ import "./sandbox-C93Jz4VH.js";
25
+ import "./chrome-CJZsCHQH.js";
26
26
  import "./tailscale-D5dKabOc.js";
27
27
  import "./auth-B741uFtk.js";
28
- import "./server-context-DfM0b6MD.js";
28
+ import "./server-context-8Y28Gc1g.js";
29
29
  import "./frontmatter-DWQhtOo7.js";
30
30
  import "./skills-6jdJQ5ZL.js";
31
- import "./routes-Bqu4HRi8.js";
31
+ import "./routes-Bj0eL3Q0.js";
32
32
  import "./redact-f-Q-hFt_.js";
33
33
  import "./errors-BF3TeRH2.js";
34
34
  import "./fs-safe-CUjO1ca2.js";
@@ -54,10 +54,10 @@ import "./fetch-guard-DOPkVbh3.js";
54
54
  import "./api-key-rotation-CVUq_rfN.js";
55
55
  import "./local-roots-aAFLQGkY.js";
56
56
  import "./sqlite-Dx3J_aSE.js";
57
- import "./model-catalog-Cr_E1v1f.js";
57
+ import "./model-catalog-Dib32CyX.js";
58
58
  import "./tokens-BuceUQDl.js";
59
- import "./with-timeout-DAAdYGLS.js";
60
- import "./deliver-ezw61fxU.js";
59
+ import "./with-timeout-Dz8rHtW4.js";
60
+ import "./deliver-DhcAHw6f.js";
61
61
  import "./diagnostic-DjBRPfu9.js";
62
62
  import "./diagnostic-session-state-CUslJyKP.js";
63
63
  import "./send-YsPVgB2E.js";
@@ -73,8 +73,8 @@ import "./ir-DZam9q5M.js";
73
73
  import "./render-CXDO_kgw.js";
74
74
  import "./commands-BNLCWX6e.js";
75
75
  import "./commands-registry-Km-DI95L.js";
76
- import "./client-CQSyCS4M.js";
77
- import { n as callGateway } from "./call-CZPSJe5I.js";
76
+ import "./client-Z6SFrwob.js";
77
+ import { n as callGateway } from "./call-BQIBy8Tt.js";
78
78
  import "./pairing-token-CX3NN_qj.js";
79
79
  import { n as formatTimeAgo } from "./format-relative-BXoxEQVN.js";
80
80
  import "./channel-activity-BOiuJS3t.js";
@@ -95,18 +95,18 @@ import "./outbound-attachment-D_QuKi8U.js";
95
95
  import "./delivery-queue-Df1uodAG.js";
96
96
  import "./session-cost-usage-BG4AXrGN.js";
97
97
  import "./send-p1qmy2uO.js";
98
- import "./onboard-helpers-DN1zuxEX.js";
98
+ import "./onboard-helpers-68fgh87u.js";
99
99
  import "./prompt-style-8JqOYj0q.js";
100
100
  import "./pairing-labels-Lc04d2Gd.js";
101
101
  import "./exec-approvals-Kn31mBcW.js";
102
102
  import "./nodes-screen-VBGXKdLk.js";
103
- import "./pi-tools.policy-YJHLQVvu.js";
104
- import "./control-service-DPKlnETj.js";
103
+ import "./pi-tools.policy-Chetph_n.js";
104
+ import "./control-service-G76172X8.js";
105
105
  import "./stagger-BUClb97_.js";
106
106
  import { n as resolveMessageChannelSelection } from "./channel-selection-DuWs0Aak.js";
107
107
  import { r as listChannelPluginCatalogEntries } from "./catalog-RiADx7MA.js";
108
- import "./plugin-registry-MahBcTZy.js";
109
- import { t as formatCliChannelOptions } from "./channel-options-hRv5uC1D.js";
108
+ import "./plugin-registry-Dm857EK_.js";
109
+ import { t as formatCliChannelOptions } from "./channel-options-Dg8qatef.js";
110
110
  import { t as hasExplicitOptions } from "./command-options-BtDai3oC.js";
111
111
  import "./note-DeHoW7xO.js";
112
112
  import { t as createClackPrompter } from "./clack-prompter-B7pN13HV.js";
@@ -116,7 +116,7 @@ import "./install-safe-path-tCLiMpmO.js";
116
116
  import "./npm-registry-spec-C2JDdSZS.js";
117
117
  import "./skill-scanner-CLs8u6vQ.js";
118
118
  import "./installs-C1Cebk97.js";
119
- import { a as reloadOnboardingPluginRegistry, i as ensureOnboardingPluginInstalled, r as setupChannels } from "./onboard-channels-BK5dg-gk.js";
119
+ import { a as reloadOnboardingPluginRegistry, i as ensureOnboardingPluginInstalled, r as setupChannels } from "./onboard-channels-D-X56DJ8.js";
120
120
  import { t as requireValidConfigSnapshot } from "./config-validation-yMTbSphL.js";
121
121
  import { t as buildChannelAccountSnapshot } from "./status-BrV-afZE.js";
122
122
  import { t as parseLogLine } from "./parse-log-line-BHCUQaF3.js";
@@ -10,7 +10,7 @@ import fs$1 from "node:fs";
10
10
  import { execFileSync, spawn } from "node:child_process";
11
11
  import net from "node:net";
12
12
  import { createServer } from "node:http";
13
- import WebSocket$1, { WebSocketServer } from "ws";
13
+ import WebSocket, { WebSocketServer } from "ws";
14
14
  import { Buffer as Buffer$1 } from "node:buffer";
15
15
 
16
16
  //#region src/browser/constants.ts
@@ -178,7 +178,7 @@ async function ensureChromeExtensionRelayServer(opts) {
178
178
  let nextExtensionId = 1;
179
179
  const sendToExtension = async (payload) => {
180
180
  const ws = extensionWs;
181
- if (!ws || ws.readyState !== WebSocket$1.OPEN) throw new Error("Chrome extension not connected");
181
+ if (!ws || ws.readyState !== WebSocket.OPEN) throw new Error("Chrome extension not connected");
182
182
  ws.send(JSON.stringify(payload));
183
183
  return await new Promise((resolve, reject) => {
184
184
  const timer = setTimeout(() => {
@@ -195,12 +195,12 @@ async function ensureChromeExtensionRelayServer(opts) {
195
195
  const broadcastToCdpClients = (evt) => {
196
196
  const msg = JSON.stringify(evt);
197
197
  for (const ws of cdpClients) {
198
- if (ws.readyState !== WebSocket$1.OPEN) continue;
198
+ if (ws.readyState !== WebSocket.OPEN) continue;
199
199
  ws.send(msg);
200
200
  }
201
201
  };
202
202
  const sendResponseToCdp = (ws, res) => {
203
- if (ws.readyState !== WebSocket$1.OPEN) return;
203
+ if (ws.readyState !== WebSocket.OPEN) return;
204
204
  ws.send(JSON.stringify(res));
205
205
  };
206
206
  const ensureTargetEventsForClient = (ws, mode) => {
@@ -425,7 +425,7 @@ async function ensureChromeExtensionRelayServer(opts) {
425
425
  wssExtension.on("connection", (ws) => {
426
426
  extensionWs = ws;
427
427
  const ping = setInterval(() => {
428
- if (ws.readyState !== WebSocket$1.OPEN) return;
428
+ if (ws.readyState !== WebSocket.OPEN) return;
429
429
  ws.send(JSON.stringify({ method: "ping" }));
430
430
  }, 5e3);
431
431
  ws.on("message", (data) => {
@@ -743,7 +743,7 @@ async function fetchOk(url, timeoutMs = 1500, init) {
743
743
  }
744
744
  async function withCdpSocket(wsUrl, fn, opts) {
745
745
  const headers = getHeadersWithAuth(wsUrl, opts?.headers ?? {});
746
- const ws = new WebSocket$1(wsUrl, {
746
+ const ws = new WebSocket(wsUrl, {
747
747
  handshakeTimeout: typeof opts?.handshakeTimeoutMs === "number" && Number.isFinite(opts.handshakeTimeoutMs) ? Math.max(1, Math.floor(opts.handshakeTimeoutMs)) : 5e3,
748
748
  ...Object.keys(headers).length ? { headers } : {}
749
749
  });
@@ -1637,7 +1637,7 @@ async function getChromeWebSocketUrl(cdpUrl, timeoutMs = 500) {
1637
1637
  async function canOpenWebSocket(wsUrl, timeoutMs = 800) {
1638
1638
  return await new Promise((resolve) => {
1639
1639
  const headers = getHeadersWithAuth(wsUrl);
1640
- const ws = new WebSocket$1(wsUrl, {
1640
+ const ws = new WebSocket(wsUrl, {
1641
1641
  handshakeTimeout: timeoutMs,
1642
1642
  ...Object.keys(headers).length ? { headers } : {}
1643
1643
  });
@@ -9,7 +9,7 @@ import os from "node:os";
9
9
  import path from "node:path";
10
10
  import { execFileSync, spawn } from "node:child_process";
11
11
  import { createServer } from "node:http";
12
- import WebSocket, { WebSocketServer } from "ws";
12
+ import WebSocket$1, { WebSocketServer } from "ws";
13
13
 
14
14
  //#region src/browser/constants.ts
15
15
  const DEFAULT_SYMI_BROWSER_ENABLED = true;
@@ -123,7 +123,7 @@ async function ensureChromeExtensionRelayServer(opts) {
123
123
  let nextExtensionId = 1;
124
124
  const sendToExtension = async (payload) => {
125
125
  const ws = extensionWs;
126
- if (!ws || ws.readyState !== WebSocket.OPEN) throw new Error("Chrome extension not connected");
126
+ if (!ws || ws.readyState !== WebSocket$1.OPEN) throw new Error("Chrome extension not connected");
127
127
  ws.send(JSON.stringify(payload));
128
128
  return await new Promise((resolve, reject) => {
129
129
  const timer = setTimeout(() => {
@@ -140,12 +140,12 @@ async function ensureChromeExtensionRelayServer(opts) {
140
140
  const broadcastToCdpClients = (evt) => {
141
141
  const msg = JSON.stringify(evt);
142
142
  for (const ws of cdpClients) {
143
- if (ws.readyState !== WebSocket.OPEN) continue;
143
+ if (ws.readyState !== WebSocket$1.OPEN) continue;
144
144
  ws.send(msg);
145
145
  }
146
146
  };
147
147
  const sendResponseToCdp = (ws, res) => {
148
- if (ws.readyState !== WebSocket.OPEN) return;
148
+ if (ws.readyState !== WebSocket$1.OPEN) return;
149
149
  ws.send(JSON.stringify(res));
150
150
  };
151
151
  const ensureTargetEventsForClient = (ws, mode) => {
@@ -370,7 +370,7 @@ async function ensureChromeExtensionRelayServer(opts) {
370
370
  wssExtension.on("connection", (ws) => {
371
371
  extensionWs = ws;
372
372
  const ping = setInterval(() => {
373
- if (ws.readyState !== WebSocket.OPEN) return;
373
+ if (ws.readyState !== WebSocket$1.OPEN) return;
374
374
  ws.send(JSON.stringify({ method: "ping" }));
375
375
  }, 5e3);
376
376
  ws.on("message", (data) => {
@@ -688,7 +688,7 @@ async function fetchOk(url, timeoutMs = 1500, init) {
688
688
  }
689
689
  async function withCdpSocket(wsUrl, fn, opts) {
690
690
  const headers = getHeadersWithAuth(wsUrl, opts?.headers ?? {});
691
- const ws = new WebSocket(wsUrl, {
691
+ const ws = new WebSocket$1(wsUrl, {
692
692
  handshakeTimeout: typeof opts?.handshakeTimeoutMs === "number" && Number.isFinite(opts.handshakeTimeoutMs) ? Math.max(1, Math.floor(opts.handshakeTimeoutMs)) : 5e3,
693
693
  ...Object.keys(headers).length ? { headers } : {}
694
694
  });
@@ -1555,7 +1555,7 @@ async function getChromeWebSocketUrl(cdpUrl, timeoutMs = 500) {
1555
1555
  async function canOpenWebSocket(wsUrl, timeoutMs = 800) {
1556
1556
  return await new Promise((resolve) => {
1557
1557
  const headers = getHeadersWithAuth(wsUrl);
1558
- const ws = new WebSocket(wsUrl, {
1558
+ const ws = new WebSocket$1(wsUrl, {
1559
1559
  handshakeTimeout: timeoutMs,
1560
1560
  ...Object.keys(headers).length ? { headers } : {}
1561
1561
  });
@@ -1,7 +1,7 @@
1
1
  import "./paths-Cqn-zk3M.js";
2
2
  import "./utils-B-0b9bGM.js";
3
3
  import "./thinking-EAliFiVK.js";
4
- import { gt as loadSymiPlugins } from "./reply-DHEXU7Cn.js";
4
+ import { gt as loadSymiPlugins } from "./reply-OC2fwtMD.js";
5
5
  import "./registry-Cja8eT7G.js";
6
6
  import { t as createSubsystemLogger } from "./subsystem-D9vIQve0.js";
7
7
  import "./exec-CWkblSrI.js";
@@ -14,19 +14,19 @@ import "./message-channel-aT-I_DTX.js";
14
14
  import "./send-CpxUlSq0.js";
15
15
  import { i as loadConfig } from "./config-BQmJMIWv.js";
16
16
  import "./manifest-registry-C4BxOMWX.js";
17
- import "./runner-h5ZwP1Uj.js";
18
- import "./image-yg__zJJR.js";
17
+ import "./runner-B8kxK-2T.js";
18
+ import "./image-DguD2G3e.js";
19
19
  import "./models-config-DQTsmVR2.js";
20
20
  import "./pi-model-discovery-4uUnLc3n.js";
21
- import "./pi-embedded-helpers-khMH03FT.js";
22
- import "./sandbox-B47UASus.js";
23
- import "./chrome-KILXYAkl.js";
21
+ import "./pi-embedded-helpers-C6ML643R.js";
22
+ import "./sandbox-C93Jz4VH.js";
23
+ import "./chrome-CJZsCHQH.js";
24
24
  import "./tailscale-D5dKabOc.js";
25
25
  import "./auth-B741uFtk.js";
26
- import "./server-context-DfM0b6MD.js";
26
+ import "./server-context-8Y28Gc1g.js";
27
27
  import "./frontmatter-DWQhtOo7.js";
28
28
  import "./skills-6jdJQ5ZL.js";
29
- import "./routes-Bqu4HRi8.js";
29
+ import "./routes-Bj0eL3Q0.js";
30
30
  import "./redact-f-Q-hFt_.js";
31
31
  import "./errors-BF3TeRH2.js";
32
32
  import "./fs-safe-CUjO1ca2.js";
@@ -52,10 +52,10 @@ import "./fetch-guard-DOPkVbh3.js";
52
52
  import "./api-key-rotation-CVUq_rfN.js";
53
53
  import "./local-roots-aAFLQGkY.js";
54
54
  import "./sqlite-Dx3J_aSE.js";
55
- import "./model-catalog-Cr_E1v1f.js";
55
+ import "./model-catalog-Dib32CyX.js";
56
56
  import "./tokens-BuceUQDl.js";
57
- import "./with-timeout-DAAdYGLS.js";
58
- import "./deliver-ezw61fxU.js";
57
+ import "./with-timeout-Dz8rHtW4.js";
58
+ import "./deliver-DhcAHw6f.js";
59
59
  import "./diagnostic-DjBRPfu9.js";
60
60
  import "./diagnostic-session-state-CUslJyKP.js";
61
61
  import "./send-YsPVgB2E.js";
@@ -71,8 +71,8 @@ import "./ir-DZam9q5M.js";
71
71
  import "./render-CXDO_kgw.js";
72
72
  import "./commands-BNLCWX6e.js";
73
73
  import "./commands-registry-Km-DI95L.js";
74
- import "./client-CQSyCS4M.js";
75
- import "./call-CZPSJe5I.js";
74
+ import "./client-Z6SFrwob.js";
75
+ import "./call-BQIBy8Tt.js";
76
76
  import "./pairing-token-CX3NN_qj.js";
77
77
  import "./channel-activity-BOiuJS3t.js";
78
78
  import "./fetch-DTNGXEzX.js";
@@ -92,13 +92,13 @@ import "./outbound-attachment-D_QuKi8U.js";
92
92
  import "./delivery-queue-Df1uodAG.js";
93
93
  import "./session-cost-usage-BG4AXrGN.js";
94
94
  import "./send-p1qmy2uO.js";
95
- import "./onboard-helpers-DN1zuxEX.js";
95
+ import "./onboard-helpers-68fgh87u.js";
96
96
  import "./prompt-style-8JqOYj0q.js";
97
97
  import "./pairing-labels-Lc04d2Gd.js";
98
98
  import "./exec-approvals-Kn31mBcW.js";
99
99
  import "./nodes-screen-VBGXKdLk.js";
100
- import "./pi-tools.policy-YJHLQVvu.js";
101
- import "./control-service-DPKlnETj.js";
100
+ import "./pi-tools.policy-Chetph_n.js";
101
+ import "./control-service-G76172X8.js";
102
102
  import "./stagger-BUClb97_.js";
103
103
  import "./channel-selection-DuWs0Aak.js";
104
104
 
@@ -8,7 +8,7 @@ import fs from "node:fs";
8
8
  import path from "node:path";
9
9
  import crypto, { randomUUID } from "node:crypto";
10
10
  import AjvPkg from "ajv";
11
- import { WebSocket as WebSocket$1 } from "ws";
11
+ import { WebSocket } from "ws";
12
12
  import { Type } from "@sinclair/typebox";
13
13
 
14
14
  //#region src/infra/device-identity.ts
@@ -1968,7 +1968,7 @@ var GatewayClient = class {
1968
1968
  if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
1969
1969
  });
1970
1970
  }
1971
- this.ws = new WebSocket$1(url, wsOptions);
1971
+ this.ws = new WebSocket(url, wsOptions);
1972
1972
  this.ws.on("open", () => {
1973
1973
  if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
1974
1974
  const tlsError = this.validateTlsFingerprint();
@@ -2187,7 +2187,7 @@ var GatewayClient = class {
2187
2187
  return null;
2188
2188
  }
2189
2189
  async request(method, params, opts) {
2190
- if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error("gateway not connected");
2190
+ if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
2191
2191
  const id = randomUUID();
2192
2192
  const frame = {
2193
2193
  type: "req",