theiaos 2026.2.21 → 2026.2.22

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.

Potentially problematic release.


This version of theiaos might be problematic. Click here for more details.

Files changed (77) hide show
  1. package/dist/{audio-preflight-DD_wVm9v.js → audio-preflight-BRFWsSRB.js} +4 -4
  2. package/dist/{audio-preflight-Dx1tcpmj.js → audio-preflight-Ccxv1TuJ.js} +4 -4
  3. package/dist/build-info.json +2 -2
  4. package/dist/bundled/boot-md/handler.js +7 -7
  5. package/dist/bundled/session-memory/handler.js +6 -6
  6. package/dist/{chrome-Dde4GyYH.js → chrome-OyJ9thHd.js} +7 -7
  7. package/dist/{chrome-64ZsAjHO.js → chrome-SWJi-KbC.js} +7 -7
  8. package/dist/{deliver-P-EC3rcL.js → deliver-BtPq_N-_.js} +1 -1
  9. package/dist/{deliver-DEZBhr73.js → deliver-CGuAI41I.js} +1 -1
  10. package/dist/extensionAPI.js +6 -6
  11. package/dist/{image-VsszhK21.js → image-DEFA1qV-.js} +1 -1
  12. package/dist/{image-DNY30HYC.js → image-DTzjCGK8.js} +1 -1
  13. package/dist/llm-slug-generator.js +6 -6
  14. package/dist/{pi-embedded-CWKSt8GQ.js → pi-embedded-CjCfROXI.js} +15 -15
  15. package/dist/{pi-embedded-helpers-DKRQOY-L.js → pi-embedded-helpers-C-VZg2ok.js} +4 -4
  16. package/dist/{pi-embedded-helpers-MOKaA8fd.js → pi-embedded-helpers-RfpwFkb6.js} +4 -4
  17. package/dist/{pi-embedded-o-R4_18D.js → pi-embedded-pbnVs2I6.js} +15 -15
  18. package/dist/plugin-sdk/{accounts-DGvteowS.js → accounts-DATfGlgz.js} +2 -2
  19. package/dist/plugin-sdk/{active-listener-DFOMbRdV.js → active-listener-CDugDcYB.js} +1 -1
  20. package/dist/plugin-sdk/{agent-scope-Cg5RzbLS.js → agent-scope-Dnza0ft8.js} +2 -2
  21. package/dist/plugin-sdk/{api-key-rotation-CcCIUWBz.js → api-key-rotation-BfHAlrFj.js} +1 -1
  22. package/dist/plugin-sdk/{audio-preflight-DT57YNlN.js → audio-preflight-DQCy6_bu.js} +23 -23
  23. package/dist/plugin-sdk/{bindings-C-0CtB8k.js → bindings-BNwVjhyU.js} +2 -2
  24. package/dist/plugin-sdk/{channel-web-CuK7PkMR.js → channel-web-dhIj16qT.js} +16 -16
  25. package/dist/plugin-sdk/{chrome-BTN4zfT9.js → chrome-bw83mDNl.js} +2 -2
  26. package/dist/plugin-sdk/{chunk-B-uos-or.js → chunk-DvSvY_Zd.js} +1 -1
  27. package/dist/plugin-sdk/{commands-registry-B5BNaCnO.js → commands-registry-Br2VfznI.js} +3 -3
  28. package/dist/plugin-sdk/{common-DCIuxgBl.js → common-BFrLKGNt.js} +2 -2
  29. package/dist/plugin-sdk/{config-rWEtIIRU.js → config-C96MJwct.js} +9 -9
  30. package/dist/plugin-sdk/{deliver-C4xvZtyW.js → deliver-BbLexHsG.js} +11 -11
  31. package/dist/plugin-sdk/{diagnostic-DiKJKdXS.js → diagnostic-QMUMJxsc.js} +1 -1
  32. package/dist/plugin-sdk/{env-b6kp79-Q.js → env-DHLWuBg2.js} +1 -1
  33. package/dist/plugin-sdk/{exec-CA5uJg2j.js → exec-BUb7TPmd.js} +2 -2
  34. package/dist/plugin-sdk/{fetch-DwijD9-r.js → fetch-BT6CKDyi.js} +2 -2
  35. package/dist/plugin-sdk/{image-Bcny5ss7.js → image-iUvQywvi.js} +4 -4
  36. package/dist/plugin-sdk/index.js +43 -43
  37. package/dist/plugin-sdk/{ir-D-wC0iOV.js → ir-CN_C81tI.js} +5 -5
  38. package/dist/plugin-sdk/{login-BUYjk1Gh.js → login-DeReRsDj.js} +6 -6
  39. package/dist/plugin-sdk/{login-qr-BmH9_pmE.js → login-qr-Ga1C6h3I.js} +10 -10
  40. package/dist/plugin-sdk/{manager-DZqD5O4I.js → manager-CuO8jb5d.js} +7 -7
  41. package/dist/plugin-sdk/{manifest-registry-BrWuZoeE.js → manifest-registry-9ctSBONf.js} +1 -1
  42. package/dist/plugin-sdk/{markdown-tables-wS0OncFb.js → markdown-tables-CrxBNUUm.js} +1 -1
  43. package/dist/plugin-sdk/{message-channel-CBxCPZ0t.js → message-channel-f25juuEX.js} +1 -1
  44. package/dist/plugin-sdk/{model-selection-Cbau3xpx.js → model-selection-BHlVpXAV.js} +4 -4
  45. package/dist/plugin-sdk/{normalize-CVmuRPpm.js → normalize-BFyWBo89.js} +4 -4
  46. package/dist/plugin-sdk/{outbound-dsv2YBWk.js → outbound-Dkb3bmD4.js} +6 -6
  47. package/dist/plugin-sdk/{pi-auth-json-pplzCA3M.js → pi-auth-json-B_1dIdqj.js} +6 -6
  48. package/dist/plugin-sdk/{pi-embedded-helpers-ON87etkX.js → pi-embedded-helpers-dmE0tay9.js} +17 -17
  49. package/dist/plugin-sdk/{plugins-B_8CgJyK.js → plugins-CtRjN-ud.js} +3 -3
  50. package/dist/plugin-sdk/{pw-ai-DrjzS1cz.js → pw-ai-uiUxb9Qd.js} +4 -4
  51. package/dist/plugin-sdk/{qmd-manager-n4uhTlPk.js → qmd-manager-KGjCd4zU.js} +5 -5
  52. package/dist/plugin-sdk/{registry-Dlanr8Qp.js → registry-pUiQNNWE.js} +2 -2
  53. package/dist/plugin-sdk/{replies-BoNG5uQE.js → replies-6T6XiweG.js} +8 -8
  54. package/dist/plugin-sdk/{reply-xLvqYlh5.js → reply-BMvf7kwx.js} +63 -63
  55. package/dist/plugin-sdk/{reply-prefix-kQ2nXXvY.js → reply-prefix-BaEVF411.js} +1 -1
  56. package/dist/plugin-sdk/{resolve-route-pBn6nipn.js → resolve-route-CbH7ULOP.js} +4 -4
  57. package/dist/plugin-sdk/{runner-DCgcdhGH.js → runner-DG3pFicr.js} +9 -9
  58. package/dist/plugin-sdk/{session-RkwN-Xe4.js → session-BcwF6TrR.js} +3 -3
  59. package/dist/plugin-sdk/{skill-commands-CDocVC6i.js → skill-commands-D6cQqOsK.js} +5 -5
  60. package/dist/plugin-sdk/{skills-B4O0KL8j.js → skills-Bp0eACli.js} +7 -7
  61. package/dist/plugin-sdk/{sqlite-Cq7j-xGe.js → sqlite-DkaC6vAi.js} +1 -1
  62. package/dist/plugin-sdk/{ssrf-DDxNNZZO.js → ssrf-GBuTmV3M.js} +1 -1
  63. package/dist/plugin-sdk/{subsystem-zAxyzynn.js → subsystem-CHJMXByH.js} +1 -1
  64. package/dist/plugin-sdk/{thinking-pQ3evHvK.js → thinking-XiYOlWKW.js} +3 -3
  65. package/dist/plugin-sdk/{tokens-Bp_sozov.js → tokens-Cu3hBBxM.js} +1 -1
  66. package/dist/plugin-sdk/{tool-images-CoYSjMju.js → tool-images-DSapdhdh.js} +2 -2
  67. package/dist/plugin-sdk/{tool-loop-detection-Cb0q0UXp.js → tool-loop-detection-xvscqXk6.js} +2 -2
  68. package/dist/plugin-sdk/web-CqPx3Ww7.js +54 -0
  69. package/dist/plugin-sdk/{whatsapp-actions-BwOTpdJy.js → whatsapp-actions-DZNNLYRD.js} +22 -22
  70. package/dist/{pw-ai-D5dL797e.js → pw-ai-BDfkjvaD.js} +1 -1
  71. package/dist/{pw-ai-ejz4eaz_.js → pw-ai-T6xFmygR.js} +1 -1
  72. package/dist/{runner-cjp_i8F5.js → runner-DIRaQha-.js} +1 -1
  73. package/dist/{runner-Bipq-_l8.js → runner-DX79M4NU.js} +1 -1
  74. package/dist/{web-Cc0963mL.js → web-B84K9aoD.js} +6 -6
  75. package/dist/{web-D_2IDpoR.js → web-DwAin-fb.js} +6 -6
  76. package/package.json +1 -1
  77. package/dist/plugin-sdk/web-CkJzRXtk.js +0 -54
@@ -14,19 +14,19 @@ import "./thinking-DCYPZpHK.js";
14
14
  import "./image-ops-AG3ZvBkG.js";
15
15
  import "./pi-model-discovery-j5tVLINv.js";
16
16
  import "./message-channel-CV3gm_t-.js";
17
- import "./pi-embedded-helpers-DKRQOY-L.js";
17
+ import "./pi-embedded-helpers-C-VZg2ok.js";
18
18
  import "./config-Debx6TOP.js";
19
19
  import "./manifest-registry-BZf8iTuR.js";
20
- import "./chrome-Dde4GyYH.js";
20
+ import "./chrome-OyJ9thHd.js";
21
21
  import "./skills-CTt_LCWR.js";
22
22
  import "./redact-BtPEA5cl.js";
23
23
  import "./errors-C7sgRdrp.js";
24
24
  import "./paths-BY1Cgfju.js";
25
25
  import "./tool-images-BUKD1oTS.js";
26
- import "./image-DNY30HYC.js";
26
+ import "./image-DTzjCGK8.js";
27
27
  import "./gemini-auth-OBWgOc_a.js";
28
28
  import "./fetch-N3dq30aE.js";
29
- import { a as runCapability, l as isAudioAttachment, n as createMediaAttachmentCache, r as normalizeMediaAttachments, t as buildProviderRegistry } from "./runner-cjp_i8F5.js";
29
+ import { a as runCapability, l as isAudioAttachment, n as createMediaAttachmentCache, r as normalizeMediaAttachments, t as buildProviderRegistry } from "./runner-DIRaQha-.js";
30
30
 
31
31
  //#region src/media-understanding/audio-preflight.ts
32
32
  /**
@@ -16,10 +16,10 @@ import "./model-auth-C03zVAYZ.js";
16
16
  import "./github-copilot-token-CorEhkpA.js";
17
17
  import "./pi-model-discovery-DIA4gIzW.js";
18
18
  import "./message-channel-ytcM_pnb.js";
19
- import "./pi-embedded-helpers-MOKaA8fd.js";
19
+ import "./pi-embedded-helpers-RfpwFkb6.js";
20
20
  import "./config-B4RTB1Fj.js";
21
21
  import "./manifest-registry-ByHWPnz9.js";
22
- import "./chrome-64ZsAjHO.js";
22
+ import "./chrome-SWJi-KbC.js";
23
23
  import "./frontmatter-CsKtIXgE.js";
24
24
  import "./skills-m-8xXjxU.js";
25
25
  import "./redact-9hYpOXID.js";
@@ -29,10 +29,10 @@ import "./thinking-CX87s-MB.js";
29
29
  import "./accounts-CnDS6zoy.js";
30
30
  import "./paths-CO3Z7CJ2.js";
31
31
  import "./tool-images-Bomg75hq.js";
32
- import "./image-VsszhK21.js";
32
+ import "./image-DEFA1qV-.js";
33
33
  import "./gemini-auth-Cd2M_cFW.js";
34
34
  import "./fetch-YOtAisX6.js";
35
- import { a as runCapability, l as isAudioAttachment, n as createMediaAttachmentCache, r as normalizeMediaAttachments, t as buildProviderRegistry } from "./runner-Bipq-_l8.js";
35
+ import { a as runCapability, l as isAudioAttachment, n as createMediaAttachmentCache, r as normalizeMediaAttachments, t as buildProviderRegistry } from "./runner-DX79M4NU.js";
36
36
 
37
37
  //#region src/media-understanding/audio-preflight.ts
38
38
  /**
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "2026.2.21",
2
+ "version": "2026.2.22",
3
3
  "commit": "077273ed18331b9ec57017950073b55ec218053b",
4
- "builtAt": "2026-02-21T16:02:52.830Z"
4
+ "builtAt": "2026-02-21T16:04:11.493Z"
5
5
  }
@@ -6,7 +6,7 @@ import { r as defaultRuntime, t as createSubsystemLogger } from "../../subsystem
6
6
  import "../../exec-D3BymNlQ.js";
7
7
  import { l as ensureAgentWorkspace } from "../../workspace-CNrK_LB7.js";
8
8
  import { n as SILENT_REPLY_TOKEN } from "../../tokens-CKEKJ3yP.js";
9
- import { A as applyModelOverrideToSessionEntry, D as resolveSendPolicy, G as registerAgentRunContext, H as resolveAgentTimeoutMs, O as lookupContextTokens, T as hasNonzeroUsage, U as clearAgentRunContext, W as emitAgentEvent, _ as resolveOutboundTarget, b as AGENT_LANE_NESTED, g as runCliAgent, h as setCliSessionId, j as applyVerboseOverride, k as clearSessionAuthProfileOverride, m as getCliSessionId, t as runEmbeddedPiAgent, v as resolveSessionDeliveryTarget, w as deriveSessionTotalTokens, x as AGENT_LANE_SUBAGENT, y as runWithModelFallback } from "../../pi-embedded-o-R4_18D.js";
9
+ import { A as applyModelOverrideToSessionEntry, D as resolveSendPolicy, G as registerAgentRunContext, H as resolveAgentTimeoutMs, O as lookupContextTokens, T as hasNonzeroUsage, U as clearAgentRunContext, W as emitAgentEvent, _ as resolveOutboundTarget, b as AGENT_LANE_NESTED, g as runCliAgent, h as setCliSessionId, j as applyVerboseOverride, k as clearSessionAuthProfileOverride, m as getCliSessionId, t as runEmbeddedPiAgent, v as resolveSessionDeliveryTarget, w as deriveSessionTotalTokens, x as AGENT_LANE_SUBAGENT, y as runWithModelFallback } from "../../pi-embedded-pbnVs2I6.js";
10
10
  import "../../accounts-LIfJeumI.js";
11
11
  import "../../normalize-C7GWEi9R.js";
12
12
  import "../../boolean-CE7i9tBR.js";
@@ -16,7 +16,7 @@ import { t as formatCliCommand } from "../../command-format-b7p7CSwW.js";
16
16
  import "../../send-Bgw9_LxJ.js";
17
17
  import { r as normalizeChannelId, t as getChannelPlugin } from "../../plugins-IKC72d9w.js";
18
18
  import "../../send-D6BJjFlL.js";
19
- import { a as normalizeOutboundPayloadsForJson, i as normalizeOutboundPayloads, r as formatOutboundPayloadLog, t as deliverOutboundPayloads } from "../../deliver-P-EC3rcL.js";
19
+ import { a as normalizeOutboundPayloadsForJson, i as normalizeOutboundPayloads, r as formatOutboundPayloadLog, t as deliverOutboundPayloads } from "../../deliver-BtPq_N-_.js";
20
20
  import "../../diagnostic-xFClyYU6.js";
21
21
  import "../../diagnostic-session-state-C1vRJs5w.js";
22
22
  import "../../accounts-0mG_n91A.js";
@@ -26,10 +26,10 @@ import { C as buildAllowedModelSet, D as isCliProvider, G as DEFAULT_MODEL, I as
26
26
  import "../../github-copilot-token-CorEhkpA.js";
27
27
  import "../../pi-model-discovery-DIA4gIzW.js";
28
28
  import { i as isInternalMessageChannel, l as resolveMessageChannel, n as isDeliverableMessageChannel, r as isGatewayMessageChannel, s as normalizeMessageChannel, t as INTERNAL_MESSAGE_CHANNEL } from "../../message-channel-ytcM_pnb.js";
29
- import { $ as normalizeAccountId, B as loadSessionStore, W as updateSessionStore, _t as resolveExplicitAgentSessionKey, ct as resolveSessionKey, dt as resolveSessionResetPolicy, ft as resolveSessionResetType, lt as evaluateSessionFreshness, ut as resolveChannelResetConfig, vt as resolveMainSessionKey } from "../../pi-embedded-helpers-MOKaA8fd.js";
29
+ import { $ as normalizeAccountId, B as loadSessionStore, W as updateSessionStore, _t as resolveExplicitAgentSessionKey, ct as resolveSessionKey, dt as resolveSessionResetPolicy, ft as resolveSessionResetType, lt as evaluateSessionFreshness, ut as resolveChannelResetConfig, vt as resolveMainSessionKey } from "../../pi-embedded-helpers-RfpwFkb6.js";
30
30
  import { n as loadConfig } from "../../config-B4RTB1Fj.js";
31
31
  import "../../manifest-registry-ByHWPnz9.js";
32
- import "../../chrome-64ZsAjHO.js";
32
+ import "../../chrome-SWJi-KbC.js";
33
33
  import "../../frontmatter-CsKtIXgE.js";
34
34
  import { n as buildWorkspaceSkillSnapshot } from "../../skills-m-8xXjxU.js";
35
35
  import "../../redact-9hYpOXID.js";
@@ -39,7 +39,7 @@ import { c as normalizeVerboseLevel, n as formatXHighModelHint, o as normalizeTh
39
39
  import "../../accounts-CnDS6zoy.js";
40
40
  import { n as resolveSessionFilePath, s as resolveStorePath } from "../../paths-CO3Z7CJ2.js";
41
41
  import "../../tool-images-Bomg75hq.js";
42
- import "../../image-VsszhK21.js";
42
+ import "../../image-DEFA1qV-.js";
43
43
  import "../../reply-prefix-C8sV07Nv.js";
44
44
  import "../../manager-h-K2rOXJ.js";
45
45
  import "../../gemini-auth-Cd2M_cFW.js";
@@ -52,7 +52,7 @@ import "../../fetch-YOtAisX6.js";
52
52
  import "../../ir-B8ypxCRB.js";
53
53
  import "../../render-DwEu-aCr.js";
54
54
  import "../../commands-registry-BTd4DAVE.js";
55
- import { s as loadModelCatalog } from "../../runner-Bipq-_l8.js";
55
+ import { s as loadModelCatalog } from "../../runner-DX79M4NU.js";
56
56
  import { c as getSkillsSnapshotVersion, o as getRemoteSkillEligibility } from "../../skill-commands-BI5DKEKl.js";
57
57
  import "../../fetch-CGQb_ivf.js";
58
58
  import "../../send-D5dzZi3u.js";
@@ -71,7 +71,7 @@ import crypto from "node:crypto";
71
71
  function createDefaultDeps() {
72
72
  return {
73
73
  sendMessageWhatsApp: async (...args) => {
74
- const { sendMessageWhatsApp } = await import("../../web-Cc0963mL.js");
74
+ const { sendMessageWhatsApp } = await import("../../web-B84K9aoD.js");
75
75
  return await sendMessageWhatsApp(...args);
76
76
  },
77
77
  sendMessageTelegram: async (...args) => {
@@ -6,7 +6,7 @@ import { t as createSubsystemLogger } from "../../subsystem-Dv10TMPb.js";
6
6
  import "../../exec-D3BymNlQ.js";
7
7
  import "../../workspace-CNrK_LB7.js";
8
8
  import "../../tokens-CKEKJ3yP.js";
9
- import "../../pi-embedded-o-R4_18D.js";
9
+ import "../../pi-embedded-pbnVs2I6.js";
10
10
  import "../../accounts-LIfJeumI.js";
11
11
  import "../../normalize-C7GWEi9R.js";
12
12
  import "../../boolean-CE7i9tBR.js";
@@ -15,7 +15,7 @@ import "../../bindings-BMoq4Rgy.js";
15
15
  import "../../send-Bgw9_LxJ.js";
16
16
  import "../../plugins-IKC72d9w.js";
17
17
  import "../../send-D6BJjFlL.js";
18
- import "../../deliver-P-EC3rcL.js";
18
+ import "../../deliver-BtPq_N-_.js";
19
19
  import "../../diagnostic-xFClyYU6.js";
20
20
  import "../../diagnostic-session-state-C1vRJs5w.js";
21
21
  import "../../accounts-0mG_n91A.js";
@@ -25,10 +25,10 @@ import "../../model-auth-C03zVAYZ.js";
25
25
  import "../../github-copilot-token-CorEhkpA.js";
26
26
  import "../../pi-model-discovery-DIA4gIzW.js";
27
27
  import "../../message-channel-ytcM_pnb.js";
28
- import { ot as hasInterSessionUserProvenance } from "../../pi-embedded-helpers-MOKaA8fd.js";
28
+ import { ot as hasInterSessionUserProvenance } from "../../pi-embedded-helpers-RfpwFkb6.js";
29
29
  import "../../config-B4RTB1Fj.js";
30
30
  import "../../manifest-registry-ByHWPnz9.js";
31
- import "../../chrome-64ZsAjHO.js";
31
+ import "../../chrome-SWJi-KbC.js";
32
32
  import "../../frontmatter-CsKtIXgE.js";
33
33
  import "../../skills-m-8xXjxU.js";
34
34
  import "../../redact-9hYpOXID.js";
@@ -38,7 +38,7 @@ import "../../thinking-CX87s-MB.js";
38
38
  import "../../accounts-CnDS6zoy.js";
39
39
  import "../../paths-CO3Z7CJ2.js";
40
40
  import "../../tool-images-Bomg75hq.js";
41
- import "../../image-VsszhK21.js";
41
+ import "../../image-DEFA1qV-.js";
42
42
  import "../../reply-prefix-C8sV07Nv.js";
43
43
  import "../../manager-h-K2rOXJ.js";
44
44
  import "../../gemini-auth-Cd2M_cFW.js";
@@ -51,7 +51,7 @@ import "../../fetch-YOtAisX6.js";
51
51
  import "../../ir-B8ypxCRB.js";
52
52
  import "../../render-DwEu-aCr.js";
53
53
  import "../../commands-registry-BTd4DAVE.js";
54
- import "../../runner-Bipq-_l8.js";
54
+ import "../../runner-DX79M4NU.js";
55
55
  import "../../skill-commands-BI5DKEKl.js";
56
56
  import "../../fetch-CGQb_ivf.js";
57
57
  import "../../send-D5dzZi3u.js";
@@ -9,7 +9,7 @@ import { execFileSync, spawn } from "node:child_process";
9
9
  import { randomBytes } from "node:crypto";
10
10
  import net from "node:net";
11
11
  import { createServer } from "node:http";
12
- import WebSocket$1, { WebSocketServer } from "ws";
12
+ import WebSocket, { WebSocketServer } from "ws";
13
13
  import { Buffer as Buffer$1 } from "node:buffer";
14
14
 
15
15
  //#region src/browser/constants.ts
@@ -173,7 +173,7 @@ async function ensureChromeExtensionRelayServer(opts) {
173
173
  let nextExtensionId = 1;
174
174
  const sendToExtension = async (payload) => {
175
175
  const ws = extensionWs;
176
- if (!ws || ws.readyState !== WebSocket$1.OPEN) throw new Error("Chrome extension not connected");
176
+ if (!ws || ws.readyState !== WebSocket.OPEN) throw new Error("Chrome extension not connected");
177
177
  ws.send(JSON.stringify(payload));
178
178
  return await new Promise((resolve, reject) => {
179
179
  const timer = setTimeout(() => {
@@ -190,12 +190,12 @@ async function ensureChromeExtensionRelayServer(opts) {
190
190
  const broadcastToCdpClients = (evt) => {
191
191
  const msg = JSON.stringify(evt);
192
192
  for (const ws of cdpClients) {
193
- if (ws.readyState !== WebSocket$1.OPEN) continue;
193
+ if (ws.readyState !== WebSocket.OPEN) continue;
194
194
  ws.send(msg);
195
195
  }
196
196
  };
197
197
  const sendResponseToCdp = (ws, res) => {
198
- if (ws.readyState !== WebSocket$1.OPEN) return;
198
+ if (ws.readyState !== WebSocket.OPEN) return;
199
199
  ws.send(JSON.stringify(res));
200
200
  };
201
201
  const ensureTargetEventsForClient = (ws, mode) => {
@@ -415,7 +415,7 @@ async function ensureChromeExtensionRelayServer(opts) {
415
415
  wssExtension.on("connection", (ws) => {
416
416
  extensionWs = ws;
417
417
  const ping = setInterval(() => {
418
- if (ws.readyState !== WebSocket$1.OPEN) return;
418
+ if (ws.readyState !== WebSocket.OPEN) return;
419
419
  ws.send(JSON.stringify({ method: "ping" }));
420
420
  }, 5e3);
421
421
  ws.on("message", (data) => {
@@ -727,7 +727,7 @@ async function fetchOk(url, timeoutMs = 1500, init) {
727
727
  }
728
728
  async function withCdpSocket(wsUrl, fn, opts) {
729
729
  const headers = getHeadersWithAuth(wsUrl, opts?.headers ?? {});
730
- const ws = new WebSocket$1(wsUrl, {
730
+ const ws = new WebSocket(wsUrl, {
731
731
  handshakeTimeout: typeof opts?.handshakeTimeoutMs === "number" && Number.isFinite(opts.handshakeTimeoutMs) ? Math.max(1, Math.floor(opts.handshakeTimeoutMs)) : 5e3,
732
732
  ...Object.keys(headers).length ? { headers } : {}
733
733
  });
@@ -1582,7 +1582,7 @@ async function getChromeWebSocketUrl(cdpUrl, timeoutMs = 500) {
1582
1582
  async function canOpenWebSocket(wsUrl, timeoutMs = 800) {
1583
1583
  return await new Promise((resolve) => {
1584
1584
  const headers = getHeadersWithAuth(wsUrl);
1585
- const ws = new WebSocket$1(wsUrl, {
1585
+ const ws = new WebSocket(wsUrl, {
1586
1586
  handshakeTimeout: timeoutMs,
1587
1587
  ...Object.keys(headers).length ? { headers } : {}
1588
1588
  });
@@ -9,7 +9,7 @@ import { execFileSync, spawn } from "node:child_process";
9
9
  import { randomBytes } from "node:crypto";
10
10
  import net from "node:net";
11
11
  import { createServer } from "node:http";
12
- import WebSocket, { WebSocketServer } from "ws";
12
+ import WebSocket$1, { WebSocketServer } from "ws";
13
13
  import { Buffer as Buffer$1 } from "node:buffer";
14
14
 
15
15
  //#region src/browser/constants.ts
@@ -173,7 +173,7 @@ async function ensureChromeExtensionRelayServer(opts) {
173
173
  let nextExtensionId = 1;
174
174
  const sendToExtension = async (payload) => {
175
175
  const ws = extensionWs;
176
- if (!ws || ws.readyState !== WebSocket.OPEN) throw new Error("Chrome extension not connected");
176
+ if (!ws || ws.readyState !== WebSocket$1.OPEN) throw new Error("Chrome extension not connected");
177
177
  ws.send(JSON.stringify(payload));
178
178
  return await new Promise((resolve, reject) => {
179
179
  const timer = setTimeout(() => {
@@ -190,12 +190,12 @@ async function ensureChromeExtensionRelayServer(opts) {
190
190
  const broadcastToCdpClients = (evt) => {
191
191
  const msg = JSON.stringify(evt);
192
192
  for (const ws of cdpClients) {
193
- if (ws.readyState !== WebSocket.OPEN) continue;
193
+ if (ws.readyState !== WebSocket$1.OPEN) continue;
194
194
  ws.send(msg);
195
195
  }
196
196
  };
197
197
  const sendResponseToCdp = (ws, res) => {
198
- if (ws.readyState !== WebSocket.OPEN) return;
198
+ if (ws.readyState !== WebSocket$1.OPEN) return;
199
199
  ws.send(JSON.stringify(res));
200
200
  };
201
201
  const ensureTargetEventsForClient = (ws, mode) => {
@@ -415,7 +415,7 @@ async function ensureChromeExtensionRelayServer(opts) {
415
415
  wssExtension.on("connection", (ws) => {
416
416
  extensionWs = ws;
417
417
  const ping = setInterval(() => {
418
- if (ws.readyState !== WebSocket.OPEN) return;
418
+ if (ws.readyState !== WebSocket$1.OPEN) return;
419
419
  ws.send(JSON.stringify({ method: "ping" }));
420
420
  }, 5e3);
421
421
  ws.on("message", (data) => {
@@ -727,7 +727,7 @@ async function fetchOk(url, timeoutMs = 1500, init) {
727
727
  }
728
728
  async function withCdpSocket(wsUrl, fn, opts) {
729
729
  const headers = getHeadersWithAuth(wsUrl, opts?.headers ?? {});
730
- const ws = new WebSocket(wsUrl, {
730
+ const ws = new WebSocket$1(wsUrl, {
731
731
  handshakeTimeout: typeof opts?.handshakeTimeoutMs === "number" && Number.isFinite(opts.handshakeTimeoutMs) ? Math.max(1, Math.floor(opts.handshakeTimeoutMs)) : 5e3,
732
732
  ...Object.keys(headers).length ? { headers } : {}
733
733
  });
@@ -1582,7 +1582,7 @@ async function getChromeWebSocketUrl(cdpUrl, timeoutMs = 500) {
1582
1582
  async function canOpenWebSocket(wsUrl, timeoutMs = 800) {
1583
1583
  return await new Promise((resolve) => {
1584
1584
  const headers = getHeadersWithAuth(wsUrl);
1585
- const ws = new WebSocket(wsUrl, {
1585
+ const ws = new WebSocket$1(wsUrl, {
1586
1586
  handshakeTimeout: timeoutMs,
1587
1587
  ...Object.keys(headers).length ? { headers } : {}
1588
1588
  });
@@ -5,7 +5,7 @@ import { b as triggerInternalHook, c as getActivePluginRegistry, v as createInte
5
5
  import { t as createSubsystemLogger } from "./subsystem-Dv10TMPb.js";
6
6
  import { n as SILENT_REPLY_TOKEN, r as isSilentReplyText } from "./tokens-CKEKJ3yP.js";
7
7
  import { r as normalizeChannelId, t as getChannelPlugin } from "./plugins-IKC72d9w.js";
8
- import { R as appendAssistantMessageToSessionTranscript, i as isMessagingToolDuplicate, z as resolveMirroredTranscriptText } from "./pi-embedded-helpers-MOKaA8fd.js";
8
+ import { R as appendAssistantMessageToSessionTranscript, i as isMessagingToolDuplicate, z as resolveMirroredTranscriptText } from "./pi-embedded-helpers-RfpwFkb6.js";
9
9
  import { d as getChannelDock } from "./thinking-CX87s-MB.js";
10
10
  import { c as resolveChunkMode, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, n as chunkByParagraph } from "./chunk-BHn41kd_.js";
11
11
  import { n as resolveMarkdownTableMode } from "./markdown-tables-R0HWkNNO.js";
@@ -7,7 +7,7 @@ import { n as SILENT_REPLY_TOKEN, r as isSilentReplyText } from "./tokens-Bipf7Q
7
7
  import { r as normalizeChannelId, t as getChannelPlugin } from "./plugins-CDofEcXH.js";
8
8
  import { S as resolveSignalAccount, d as getChannelDock } from "./thinking-DCYPZpHK.js";
9
9
  import { C as mediaKindFromMime } from "./image-ops-AG3ZvBkG.js";
10
- import { Dt as saveMediaBuffer, R as appendAssistantMessageToSessionTranscript, i as isMessagingToolDuplicate, z as resolveMirroredTranscriptText } from "./pi-embedded-helpers-DKRQOY-L.js";
10
+ import { Dt as saveMediaBuffer, R as appendAssistantMessageToSessionTranscript, i as isMessagingToolDuplicate, z as resolveMirroredTranscriptText } from "./pi-embedded-helpers-C-VZg2ok.js";
11
11
  import { n as loadConfig } from "./config-Debx6TOP.js";
12
12
  import { c as resolveChunkMode, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, n as chunkByParagraph } from "./chunk-B4owxzQz.js";
13
13
  import { n as resolveMarkdownTableMode } from "./markdown-tables-Db3FOFJF.js";
@@ -8,29 +8,29 @@ import { a as resolveAgentIdentity } from "./reply-prefix-D_VvAAmU.js";
8
8
  import "./github-copilot-token-BKe1g3WS.js";
9
9
  import "./env-D1Z-RM53.js";
10
10
  import "./tokens-Bipf7QaI.js";
11
- import { M as resolveAgentTimeoutMs, t as runEmbeddedPiAgent } from "./pi-embedded-CWKSt8GQ.js";
11
+ import { M as resolveAgentTimeoutMs, t as runEmbeddedPiAgent } from "./pi-embedded-CjCfROXI.js";
12
12
  import "./accounts-45qUj3dj.js";
13
13
  import "./normalize-CJSC8p2R.js";
14
14
  import "./bindings-D09Sv1U_.js";
15
15
  import "./replies-B5kus1P9.js";
16
16
  import "./plugins-CDofEcXH.js";
17
- import "./deliver-DEZBhr73.js";
17
+ import "./deliver-CGuAI41I.js";
18
18
  import "./diagnostic-CVqYi0db.js";
19
19
  import "./diagnostic-session-state-Bu3E4Enn.js";
20
20
  import "./thinking-DCYPZpHK.js";
21
21
  import "./image-ops-AG3ZvBkG.js";
22
22
  import "./pi-model-discovery-j5tVLINv.js";
23
23
  import "./message-channel-CV3gm_t-.js";
24
- import { B as loadSessionStore, U as saveSessionStore } from "./pi-embedded-helpers-DKRQOY-L.js";
24
+ import { B as loadSessionStore, U as saveSessionStore } from "./pi-embedded-helpers-C-VZg2ok.js";
25
25
  import "./config-Debx6TOP.js";
26
26
  import "./manifest-registry-BZf8iTuR.js";
27
- import "./chrome-Dde4GyYH.js";
27
+ import "./chrome-OyJ9thHd.js";
28
28
  import "./skills-CTt_LCWR.js";
29
29
  import "./redact-BtPEA5cl.js";
30
30
  import "./errors-C7sgRdrp.js";
31
31
  import { n as resolveSessionFilePath, s as resolveStorePath } from "./paths-BY1Cgfju.js";
32
32
  import "./tool-images-BUKD1oTS.js";
33
- import "./image-DNY30HYC.js";
33
+ import "./image-DTzjCGK8.js";
34
34
  import "./manager-BM_kUUK1.js";
35
35
  import "./gemini-auth-OBWgOc_a.js";
36
36
  import "./sqlite-BKox_ReN.js";
@@ -41,7 +41,7 @@ import "./fetch-N3dq30aE.js";
41
41
  import "./ir-CwWdTQUt.js";
42
42
  import "./render-4xrev36Z.js";
43
43
  import "./commands-registry-ByYWSanA.js";
44
- import "./runner-cjp_i8F5.js";
44
+ import "./runner-DIRaQha-.js";
45
45
  import "./skill-commands-B2PjvKuR.js";
46
46
  import "./active-listener-DVdthv9V.js";
47
47
  import "./resolve-route-yoCJzlbD.js";
@@ -2,7 +2,7 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { R as shortenHomeInString, k as isRecord } from "./registry-YTFqww2M.js";
3
3
  import { B as resolveImplicitCopilotProvider, J as normalizeSecretInput, R as normalizeProviders, V as resolveImplicitProviders, r as requireApiKey, t as getApiKeyForModel, y as resolveTheiaOSAgentDir, z as resolveImplicitBedrockProvider } from "./model-auth-C03zVAYZ.js";
4
4
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-DIA4gIzW.js";
5
- import { N as sanitizeUserFacingText } from "./pi-embedded-helpers-MOKaA8fd.js";
5
+ import { N as sanitizeUserFacingText } from "./pi-embedded-helpers-RfpwFkb6.js";
6
6
  import { n as loadConfig } from "./config-B4RTB1Fj.js";
7
7
  import { n as redactToolDetail } from "./redact-9hYpOXID.js";
8
8
  import fs from "node:fs/promises";
@@ -2,7 +2,7 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { D as isRecord, I as shortenHomeInString } from "./registry-MGkD7y6O.js";
3
3
  import { G as resolveTheiaOSAgentDir, S as getApiKeyForModel, Y as normalizeSecretInput, _ as resolveImplicitBedrockProvider, g as normalizeProviders, v as resolveImplicitCopilotProvider, w as requireApiKey, y as resolveImplicitProviders } from "./model-selection-CaIqFYwR.js";
4
4
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-j5tVLINv.js";
5
- import { N as sanitizeUserFacingText } from "./pi-embedded-helpers-DKRQOY-L.js";
5
+ import { N as sanitizeUserFacingText } from "./pi-embedded-helpers-C-VZg2ok.js";
6
6
  import { n as loadConfig } from "./config-Debx6TOP.js";
7
7
  import { n as redactToolDetail } from "./redact-BtPEA5cl.js";
8
8
  import path from "node:path";
@@ -5,7 +5,7 @@ import "./subsystem-Dv10TMPb.js";
5
5
  import "./exec-D3BymNlQ.js";
6
6
  import "./workspace-CNrK_LB7.js";
7
7
  import "./tokens-CKEKJ3yP.js";
8
- import { t as runEmbeddedPiAgent } from "./pi-embedded-o-R4_18D.js";
8
+ import { t as runEmbeddedPiAgent } from "./pi-embedded-pbnVs2I6.js";
9
9
  import "./accounts-LIfJeumI.js";
10
10
  import "./normalize-C7GWEi9R.js";
11
11
  import "./boolean-CE7i9tBR.js";
@@ -14,7 +14,7 @@ import "./bindings-BMoq4Rgy.js";
14
14
  import "./send-Bgw9_LxJ.js";
15
15
  import "./plugins-IKC72d9w.js";
16
16
  import "./send-D6BJjFlL.js";
17
- import "./deliver-P-EC3rcL.js";
17
+ import "./deliver-BtPq_N-_.js";
18
18
  import "./diagnostic-xFClyYU6.js";
19
19
  import "./diagnostic-session-state-C1vRJs5w.js";
20
20
  import "./accounts-0mG_n91A.js";
@@ -24,10 +24,10 @@ import "./model-auth-C03zVAYZ.js";
24
24
  import "./github-copilot-token-CorEhkpA.js";
25
25
  import "./pi-model-discovery-DIA4gIzW.js";
26
26
  import "./message-channel-ytcM_pnb.js";
27
- import "./pi-embedded-helpers-MOKaA8fd.js";
27
+ import "./pi-embedded-helpers-RfpwFkb6.js";
28
28
  import "./config-B4RTB1Fj.js";
29
29
  import "./manifest-registry-ByHWPnz9.js";
30
- import "./chrome-64ZsAjHO.js";
30
+ import "./chrome-SWJi-KbC.js";
31
31
  import "./frontmatter-CsKtIXgE.js";
32
32
  import "./skills-m-8xXjxU.js";
33
33
  import "./redact-9hYpOXID.js";
@@ -37,7 +37,7 @@ import "./thinking-CX87s-MB.js";
37
37
  import "./accounts-CnDS6zoy.js";
38
38
  import "./paths-CO3Z7CJ2.js";
39
39
  import "./tool-images-Bomg75hq.js";
40
- import "./image-VsszhK21.js";
40
+ import "./image-DEFA1qV-.js";
41
41
  import "./reply-prefix-C8sV07Nv.js";
42
42
  import "./manager-h-K2rOXJ.js";
43
43
  import "./gemini-auth-Cd2M_cFW.js";
@@ -50,7 +50,7 @@ import "./fetch-YOtAisX6.js";
50
50
  import "./ir-B8ypxCRB.js";
51
51
  import "./render-DwEu-aCr.js";
52
52
  import "./commands-registry-BTd4DAVE.js";
53
- import "./runner-Bipq-_l8.js";
53
+ import "./runner-DX79M4NU.js";
54
54
  import "./skill-commands-BI5DKEKl.js";
55
55
  import "./fetch-CGQb_ivf.js";
56
56
  import "./send-D5dzZi3u.js";
@@ -16,17 +16,17 @@ import { a as listTelegramAccountIds, c as resolveSlackAccount, d as resolveSlac
16
16
  import { t as normalizeChatType } from "./chat-type-CTrit63N.js";
17
17
  import { _ as parseTargetPrefixes, a as createReplyReferencePlanner, c as resolveSlackWebClientOptions, d as buildSlackBlocksFallbackText, f as parseSlackTarget, g as parseTargetMention, h as ensureTargetId, i as resolveSlackThreadTs, l as parseSlackBlocksInput, m as buildMessagingTarget, n as deliverReplies$3, o as sendMessageSlack, p as resolveSlackChannelId, s as createSlackWebClient, t as createSlackReplyDeliveryPlan, u as validateSlackBlocksArray, v as requireTargetKind } from "./replies-B5kus1P9.js";
18
18
  import { n as listChannelPlugins, r as normalizeChannelId$1, t as getChannelPlugin } from "./plugins-CDofEcXH.js";
19
- import { A as getGlobalHookRunner, C as throwIfAborted, D as parseInlineDirectives$1, E as splitMediaFromOutput, O as resolveFetch, S as normalizeTargetForProvider, T as MEDIA_TOKEN_RE, _ as signalRpcRequest, a as applyReplyThreading, b as buildTargetResolverSignature, c as isRenderablePayload, d as resolveReplyToMode, f as sendMessageSignal, g as signalCheck, h as resolveSignalRpcContext, i as applyReplyTagsToPayload, j as initializeGlobalHookRunner, k as wrapFetchWithAbortSignal, l as shouldSuppressMessagingToolReplies, m as sendTypingSignal, o as filterMessagingToolDuplicates, p as sendReadReceiptSignal, r as normalizeReplyPayloadsForDelivery, s as filterMessagingToolMediaDuplicates, t as deliverOutboundPayloads, u as createReplyToModeFilterForChannel, v as streamSignalEvents, w as parseReplyDirectives, x as normalizeChannelTargetInput, y as resolveOutboundAttachmentFromUrl } from "./deliver-DEZBhr73.js";
19
+ import { A as getGlobalHookRunner, C as throwIfAborted, D as parseInlineDirectives$1, E as splitMediaFromOutput, O as resolveFetch, S as normalizeTargetForProvider, T as MEDIA_TOKEN_RE, _ as signalRpcRequest, a as applyReplyThreading, b as buildTargetResolverSignature, c as isRenderablePayload, d as resolveReplyToMode, f as sendMessageSignal, g as signalCheck, h as resolveSignalRpcContext, i as applyReplyTagsToPayload, j as initializeGlobalHookRunner, k as wrapFetchWithAbortSignal, l as shouldSuppressMessagingToolReplies, m as sendTypingSignal, o as filterMessagingToolDuplicates, p as sendReadReceiptSignal, r as normalizeReplyPayloadsForDelivery, s as filterMessagingToolMediaDuplicates, t as deliverOutboundPayloads, u as createReplyToModeFilterForChannel, v as streamSignalEvents, w as parseReplyDirectives, x as normalizeChannelTargetInput, y as resolveOutboundAttachmentFromUrl } from "./deliver-CGuAI41I.js";
20
20
  import { a as logMessageProcessed, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, i as logLaneEnqueue, l as logWebhookProcessed, m as isDiagnosticsEnabled, o as logMessageQueued, p as emitDiagnosticEvent, r as logLaneDequeue, s as logSessionStateChange, t as diag, u as logWebhookReceived } from "./diagnostic-CVqYi0db.js";
21
21
  import { r as getDiagnosticSessionState } from "./diagnostic-session-state-Bu3E4Enn.js";
22
22
  import { S as resolveSignalAccount, _ as resolveChannelGroupToolsPolicy, a as normalizeReasoningLevel, b as normalizeStringEntriesLower, c as normalizeVerboseLevel, d as getChannelDock, f as listChannelDocks, g as resolveChannelGroupRequireMention, h as resolveChannelGroupPolicy, i as normalizeElevatedLevel, l as resolveResponseUsageMode, m as resolveIMessageAccount, n as formatXHighModelHint, o as normalizeThinkLevel, p as normalizeSignalMessagingTarget, s as normalizeUsageDisplay, t as formatThinkingLevels, u as supportsXHighThinking, v as normalizeHyphenSlug, x as listEnabledSignalAccounts, y as normalizeStringEntries } from "./thinking-DCYPZpHK.js";
23
23
  import { C as mediaKindFromMime, S as maxBytesForKind, _ as isAudioFileName, a as resizeToJpeg, b as normalizeMimeType$1, f as normalizeHostname, g as imageMimeFromFormat, h as getFileExtension, l as isBlockedHostname, m as extensionForMime, n as getImageMetadata, o as SsrFBlockedError, p as detectMime, u as isPrivateIpAddress, v as isGifMedia, x as MAX_IMAGE_BYTES } from "./image-ops-AG3ZvBkG.js";
24
24
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-j5tVLINv.js";
25
25
  import { a as listDeliverableMessageChannels, c as resolveMessageChannel, d as GATEWAY_CLIENT_NAMES, i as isMarkdownCapableMessageChannel, l as GATEWAY_CLIENT_IDS, n as isDeliverableMessageChannel, o as normalizeMessageChannel, r as isInternalMessageChannel, s as resolveGatewayMessageChannel, t as INTERNAL_MESSAGE_CHANNEL, u as GATEWAY_CLIENT_MODES } from "./message-channel-CV3gm_t-.js";
26
- import { $ as normalizeSessionDeliveryFields, A as isTransientHttpError, At as getBridgeAuthForPort, B as loadSessionStore, Bt as normalizeToolName, C as isContextOverflowError, Ct as registerBrowserRoutes, D as isRateLimitAssistantError, Dt as saveMediaBuffer, E as isLikelyContextOverflowError, Et as getMediaDir, F as resolveSandboxContext, Ft as buildPluginToolGroups, G as updateSessionStore, Gt as buildBootstrapContextFiles, H as recordSessionMetaFromInbound, Ht as stripPluginOnlyAllowlist, I as resolveSandboxRuntimeStatus, It as collectExplicitAllowlist, J as resolveCacheTtlMs$1, Jt as resolveBootstrapTotalMaxChars, K as updateSessionStoreEntry, Kt as ensureSessionHeader, L as extractDeliveryInfo, Lt as expandPolicyWithPluginGroups, M as parseImageSizeError, Mt as resolveBrowserControlAuth, N as sanitizeUserFacingText, Nt as resolveSandboxConfigForAgent, O as isRawApiErrorPayload, Ot as DEFAULT_UPLOAD_DIR, P as ensureSandboxWorkspaceForSession, Pt as applyOwnerOnlyToolPolicy, Q as normalizeDeliveryContext, R as appendAssistantMessageToSessionTranscript, Rt as expandToolGroups, S as isCompactionFailureError, St as createBrowserRouteContext, T as isFailoverErrorMessage, Tt as resolveProfile, Ut as compileGlobPatterns, V as readSessionUpdatedAt, Vt as resolveToolProfilePolicy, W as updateLastRoute, Wt as matchesAnyGlobPattern, X as deliveryContextKey, Y as deliveryContextFromSession, Yt as sanitizeGoogleTurnOrdering, Z as mergeDeliveryContext, _ as formatRawAssistantErrorForUi, _t as resolveMainSessionKey, a as isMessagingToolDuplicateNormalized, at as applyInputProvenanceToUserMessage, b as isBillingAssistantError, bt as acquireSessionWriteLock, c as extractToolCallsFromAssistant, ct as resolveSessionKey, d as isAntigravityClaude, dt as resolveSessionResetPolicy, et as archiveSessionTranscripts, f as isGoogleModelApi, ft as resolveSessionResetType, g as formatBillingErrorMessage, gt as canonicalizeMainSessionAlias, h as formatAssistantErrorText, ht as resolveFreshSessionTotalTokens, it as INPUT_PROVENANCE_KIND_VALUES, j as parseImageDimensionError, jt as ensureBrowserControlAuth, k as isTimeoutErrorMessage, kt as resolvePathsWithinRoot, l as extractToolResultId, lt as evaluateSessionFreshness, m as classifyFailoverReason, mt as DEFAULT_RESET_TRIGGERS, n as validateGeminiTurns, nt as countToolResults, o as normalizeTextForComparison, ot as hasInterSessionUserProvenance, p as BILLING_ERROR_USER_MESSAGE, pt as resolveThreadFlag, q as isCacheEnabled, qt as resolveBootstrapMaxChars, r as pickFallbackThinkingLevel, rt as extractToolCallNames, s as sanitizeSessionMessagesImages, st as normalizeInputProvenance, t as validateAnthropicTurns, tt as capArrayByJsonBytes, u as downgradeOpenAIReasoningBlocks, ut as resolveChannelResetConfig, v as getApiErrorPayloadFingerprint, vt as deriveSessionMetaPatch, w as isFailoverAssistantError, wt as resolveBrowserConfig, x as isCloudCodeAssistFormatError, xt as resolveSessionLockMaxHoldFromTimeout, y as isAuthAssistantError, yt as resolveGroupSessionKey, zt as mergeAlsoAllowPolicy } from "./pi-embedded-helpers-DKRQOY-L.js";
26
+ import { $ as normalizeSessionDeliveryFields, A as isTransientHttpError, At as getBridgeAuthForPort, B as loadSessionStore, Bt as normalizeToolName, C as isContextOverflowError, Ct as registerBrowserRoutes, D as isRateLimitAssistantError, Dt as saveMediaBuffer, E as isLikelyContextOverflowError, Et as getMediaDir, F as resolveSandboxContext, Ft as buildPluginToolGroups, G as updateSessionStore, Gt as buildBootstrapContextFiles, H as recordSessionMetaFromInbound, Ht as stripPluginOnlyAllowlist, I as resolveSandboxRuntimeStatus, It as collectExplicitAllowlist, J as resolveCacheTtlMs$1, Jt as resolveBootstrapTotalMaxChars, K as updateSessionStoreEntry, Kt as ensureSessionHeader, L as extractDeliveryInfo, Lt as expandPolicyWithPluginGroups, M as parseImageSizeError, Mt as resolveBrowserControlAuth, N as sanitizeUserFacingText, Nt as resolveSandboxConfigForAgent, O as isRawApiErrorPayload, Ot as DEFAULT_UPLOAD_DIR, P as ensureSandboxWorkspaceForSession, Pt as applyOwnerOnlyToolPolicy, Q as normalizeDeliveryContext, R as appendAssistantMessageToSessionTranscript, Rt as expandToolGroups, S as isCompactionFailureError, St as createBrowserRouteContext, T as isFailoverErrorMessage, Tt as resolveProfile, Ut as compileGlobPatterns, V as readSessionUpdatedAt, Vt as resolveToolProfilePolicy, W as updateLastRoute, Wt as matchesAnyGlobPattern, X as deliveryContextKey, Y as deliveryContextFromSession, Yt as sanitizeGoogleTurnOrdering, Z as mergeDeliveryContext, _ as formatRawAssistantErrorForUi, _t as resolveMainSessionKey, a as isMessagingToolDuplicateNormalized, at as applyInputProvenanceToUserMessage, b as isBillingAssistantError, bt as acquireSessionWriteLock, c as extractToolCallsFromAssistant, ct as resolveSessionKey, d as isAntigravityClaude, dt as resolveSessionResetPolicy, et as archiveSessionTranscripts, f as isGoogleModelApi, ft as resolveSessionResetType, g as formatBillingErrorMessage, gt as canonicalizeMainSessionAlias, h as formatAssistantErrorText, ht as resolveFreshSessionTotalTokens, it as INPUT_PROVENANCE_KIND_VALUES, j as parseImageDimensionError, jt as ensureBrowserControlAuth, k as isTimeoutErrorMessage, kt as resolvePathsWithinRoot, l as extractToolResultId, lt as evaluateSessionFreshness, m as classifyFailoverReason, mt as DEFAULT_RESET_TRIGGERS, n as validateGeminiTurns, nt as countToolResults, o as normalizeTextForComparison, ot as hasInterSessionUserProvenance, p as BILLING_ERROR_USER_MESSAGE, pt as resolveThreadFlag, q as isCacheEnabled, qt as resolveBootstrapMaxChars, r as pickFallbackThinkingLevel, rt as extractToolCallNames, s as sanitizeSessionMessagesImages, st as normalizeInputProvenance, t as validateAnthropicTurns, tt as capArrayByJsonBytes, u as downgradeOpenAIReasoningBlocks, ut as resolveChannelResetConfig, v as getApiErrorPayloadFingerprint, vt as deriveSessionMetaPatch, w as isFailoverAssistantError, wt as resolveBrowserConfig, x as isCloudCodeAssistFormatError, xt as resolveSessionLockMaxHoldFromTimeout, y as isAuthAssistantError, yt as resolveGroupSessionKey, zt as mergeAlsoAllowPolicy } from "./pi-embedded-helpers-C-VZg2ok.js";
27
27
  import { C as VERSION, S as resolveAgentMaxConcurrent, _ as getConfigValueAtPath, a as writeConfigFile, b as unsetConfigValueAtPath, c as TELEGRAM_COMMAND_NAME_PATTERN, d as parseDurationMs, f as validateJsonSchemaValue, g as unsetConfigOverride, h as setConfigOverride, i as resolveConfigSnapshotHash, l as normalizeTelegramCommandName, m as resetConfigOverrides, n as loadConfig, o as validateConfigObjectWithPlugins, p as getConfigOverrides, r as readConfigFileSnapshot, u as resolveTelegramCustomCommands, v as parseConfigPath, x as isSafeExecutableValue, y as setConfigValueAtPath } from "./config-Debx6TOP.js";
28
28
  import { a as applyTestPluginDefaults, c as resolveMemorySlotDecision, n as discoverTheiaOSPlugins, o as normalizePluginsConfig, s as resolveEnableState, t as loadPluginManifestRegistry } from "./manifest-registry-BZf8iTuR.js";
29
- import { C as pickPrimaryTailnetIPv4, E as DEFAULT_AI_SNAPSHOT_MAX_CHARS, S as pickPrimaryLanIPv4, b as rawDataToString, v as ensureChromeExtensionRelayServer } from "./chrome-Dde4GyYH.js";
29
+ import { C as pickPrimaryTailnetIPv4, E as DEFAULT_AI_SNAPSHOT_MAX_CHARS, S as pickPrimaryLanIPv4, b as rawDataToString, v as ensureChromeExtensionRelayServer } from "./chrome-OyJ9thHd.js";
30
30
  import { c as assertSandboxPath, d as resolveSandboxedMediaSource, f as applySkillEnvOverrides, i as resolveSkillsPromptForRun, l as resolveSandboxInputPath, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverridesFromSnapshot, r as loadWorkspaceSkillEntries, s as assertMediaNotDataUrl } from "./skills-CTt_LCWR.js";
31
31
  import { t as redactSensitiveText } from "./redact-BtPEA5cl.js";
32
32
  import { n as formatErrorMessage, r as formatUncaughtError, t as extractErrorCode } from "./errors-C7sgRdrp.js";
@@ -34,7 +34,7 @@ import { n as resolveConversationLabel } from "./conversation-label-DL3BLtvs.js"
34
34
  import { i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as resolveSessionTranscriptsDirForAgent, r as resolveSessionFilePathOptions, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-BY1Cgfju.js";
35
35
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-DUQC5hbS.js";
36
36
  import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-BUKD1oTS.js";
37
- import { S as ensureTheiaOSModelsJson, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, x as extractTextFromChatContent, y as resolveToolDisplay } from "./image-DNY30HYC.js";
37
+ import { S as ensureTheiaOSModelsJson, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, x as extractTextFromChatContent, y as resolveToolDisplay } from "./image-DTzjCGK8.js";
38
38
  import { i as resolveMemorySearchConfig, n as resolveRetryConfig, r as retryAsync } from "./manager-BM_kUUK1.js";
39
39
  import { d as listMemoryFiles, f as normalizeExtraMemoryPaths } from "./sqlite-BKox_ReN.js";
40
40
  import { a as readNumberParam, c as readStringOrNumberParam, i as jsonResult, l as readStringParam, n as imageResult, o as readReactionParams, r as imageResultFromFile, s as readStringArrayParam, t as createActionGate } from "./common-BOL40ac9.js";
@@ -46,7 +46,7 @@ import { a as loadWebMedia, i as getDefaultLocalRoots, n as markdownToIR, o as l
46
46
  import { t as renderMarkdownWithMarkers } from "./render-4xrev36Z.js";
47
47
  import { a as listChatCommandsForConfig, c as normalizeCommandBody, d as resolveCommandArgMenu, f as serializeCommandArgs, i as listChatCommands, l as parseCommandArgs, o as listNativeCommandSpecs, p as shouldHandleTextCommands, r as findCommandByNativeName, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as resolveCommandArgChoices } from "./commands-registry-ByYWSanA.js";
48
48
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-C2x_6QnR.js";
49
- import { _ as applyTemplate, a as runCapability, c as modelSupportsVision, d as registerUnhandledRejectionHandler, f as resolveConcurrency, g as CLI_OUTPUT_MAX_BUFFER, h as resolveMediaUnderstandingScope, i as resolveAutoImageModel, m as normalizeMediaUnderstandingChatType, n as createMediaAttachmentCache, o as findModelInCatalog, p as resolveTimeoutMs$1, r as normalizeMediaAttachments, s as loadModelCatalog, t as buildProviderRegistry, u as resolveAttachmentKind } from "./runner-cjp_i8F5.js";
49
+ import { _ as applyTemplate, a as runCapability, c as modelSupportsVision, d as registerUnhandledRejectionHandler, f as resolveConcurrency, g as CLI_OUTPUT_MAX_BUFFER, h as resolveMediaUnderstandingScope, i as resolveAutoImageModel, m as normalizeMediaUnderstandingChatType, n as createMediaAttachmentCache, o as findModelInCatalog, p as resolveTimeoutMs$1, r as normalizeMediaAttachments, s as loadModelCatalog, t as buildProviderRegistry, u as resolveAttachmentKind } from "./runner-DIRaQha-.js";
50
50
  import { c as getSkillsSnapshotVersion, i as resolveSkillCommandInvocation, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames } from "./skill-commands-B2PjvKuR.js";
51
51
  import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-B2aEX8aR.js";
52
52
  import { a as normalizePollDurationHours, i as convertMarkdownTables, o as normalizePollInput, t as getActiveWebListener } from "./active-listener-DVdthv9V.js";
@@ -73,7 +73,7 @@ import process$1 from "node:process";
73
73
  import * as net$1 from "node:net";
74
74
  import { createServer } from "node:http";
75
75
  import { ProxyAgent, fetch as fetch$1 } from "undici";
76
- import WebSocket$1, { WebSocket } from "ws";
76
+ import WebSocket, { WebSocket as WebSocket$1 } from "ws";
77
77
  import { Buffer as Buffer$1 } from "node:buffer";
78
78
  import { createJiti } from "jiti";
79
79
  import { Type } from "@sinclair/typebox";
@@ -5795,7 +5795,7 @@ var GatewayClient = class {
5795
5795
  if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
5796
5796
  });
5797
5797
  }
5798
- this.ws = new WebSocket(url, wsOptions);
5798
+ this.ws = new WebSocket$1(url, wsOptions);
5799
5799
  this.ws.on("open", () => {
5800
5800
  if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
5801
5801
  const tlsError = this.validateTlsFingerprint();
@@ -6010,7 +6010,7 @@ var GatewayClient = class {
6010
6010
  return null;
6011
6011
  }
6012
6012
  async request(method, params, opts) {
6013
- if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
6013
+ if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error("gateway not connected");
6014
6014
  const id = randomUUID();
6015
6015
  const frame = {
6016
6016
  type: "req",
@@ -7053,7 +7053,7 @@ async function routeReply(params) {
7053
7053
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
7054
7054
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
7055
7055
  try {
7056
- const { deliverOutboundPayloads } = await import("./deliver-DEZBhr73.js").then((n) => n.n);
7056
+ const { deliverOutboundPayloads } = await import("./deliver-CGuAI41I.js").then((n) => n.n);
7057
7057
  return {
7058
7058
  ok: true,
7059
7059
  messageId: (await deliverOutboundPayloads({
@@ -40110,7 +40110,7 @@ async function deliverSessionMaintenanceWarning(params) {
40110
40110
  return;
40111
40111
  }
40112
40112
  try {
40113
- const { deliverOutboundPayloads } = await import("./deliver-DEZBhr73.js").then((n) => n.n);
40113
+ const { deliverOutboundPayloads } = await import("./deliver-CGuAI41I.js").then((n) => n.n);
40114
40114
  await deliverOutboundPayloads({
40115
40115
  cfg: params.cfg,
40116
40116
  channel,
@@ -46756,7 +46756,7 @@ async function describeStickerImage(params) {
46756
46756
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
46757
46757
  try {
46758
46758
  const buffer = await fs$1.readFile(imagePath);
46759
- const { describeImageWithModel } = await import("./image-DNY30HYC.js").then((n) => n.n);
46759
+ const { describeImageWithModel } = await import("./image-DTzjCGK8.js").then((n) => n.n);
46760
46760
  return (await describeImageWithModel({
46761
46761
  buffer,
46762
46762
  fileName: "sticker.webp",
@@ -49081,7 +49081,7 @@ async function preflightDiscordMessage(params) {
49081
49081
  let preflightTranscript;
49082
49082
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
49083
49083
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
49084
- const { transcribeFirstAudio } = await import("./audio-preflight-DD_wVm9v.js");
49084
+ const { transcribeFirstAudio } = await import("./audio-preflight-BRFWsSRB.js");
49085
49085
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
49086
49086
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
49087
49087
  ctx: {
@@ -52783,7 +52783,7 @@ function createDiscordGatewayPlugin(params) {
52783
52783
  super(options);
52784
52784
  }
52785
52785
  createWebSocket(url) {
52786
- return new WebSocket$1(url, { agent });
52786
+ return new WebSocket(url, { agent });
52787
52787
  }
52788
52788
  }
52789
52789
  return new ProxyGatewayPlugin();
@@ -62603,7 +62603,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
62603
62603
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
62604
62604
  let preflightTranscript;
62605
62605
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
62606
- const { transcribeFirstAudio } = await import("./audio-preflight-DD_wVm9v.js");
62606
+ const { transcribeFirstAudio } = await import("./audio-preflight-BRFWsSRB.js");
62607
62607
  preflightTranscript = await transcribeFirstAudio({
62608
62608
  ctx: {
62609
62609
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -64625,7 +64625,7 @@ function loadWebLoginQr() {
64625
64625
  return webLoginQrPromise;
64626
64626
  }
64627
64627
  function loadWebChannel() {
64628
- webChannelPromise ??= import("./web-D_2IDpoR.js");
64628
+ webChannelPromise ??= import("./web-DwAin-fb.js");
64629
64629
  return webChannelPromise;
64630
64630
  }
64631
64631
  function loadWhatsAppActions() {
@@ -13,7 +13,7 @@ import { d as getChannelDock, o as normalizeThinkLevel, v as normalizeHyphenSlug
13
13
  import { a as resizeToJpeg, m as extensionForMime, n as getImageMetadata, p as detectMime } from "./image-ops-AG3ZvBkG.js";
14
14
  import { a as listDeliverableMessageChannels, o as normalizeMessageChannel } from "./message-channel-CV3gm_t-.js";
15
15
  import { a as writeConfigFile, d as parseDurationMs, n as loadConfig, s as parseByteSize, t as createConfigIO } from "./config-Debx6TOP.js";
16
- import { A as DEFAULT_THEIAOS_BROWSER_ENABLED, D as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, E as DEFAULT_AI_SNAPSHOT_MAX_CHARS, O as DEFAULT_BROWSER_EVALUATE_ENABLED, T as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, a as resolveTheiaOSUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, h as fetchOk, i as launchTheiaOSChrome, j as DEFAULT_THEIAOS_BROWSER_PROFILE_NAME, k as DEFAULT_THEIAOS_BROWSER_COLOR, l as createTargetViaCdp, m as fetchJson, n as isChromeCdpReady, o as stopTheiaOSChrome, p as appendCdpPath, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as ensureChromeExtensionRelayServer, w as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, x as isLoopbackHost, y as stopChromeExtensionRelayServer } from "./chrome-Dde4GyYH.js";
16
+ import { A as DEFAULT_THEIAOS_BROWSER_ENABLED, D as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, E as DEFAULT_AI_SNAPSHOT_MAX_CHARS, O as DEFAULT_BROWSER_EVALUATE_ENABLED, T as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, a as resolveTheiaOSUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, h as fetchOk, i as launchTheiaOSChrome, j as DEFAULT_THEIAOS_BROWSER_PROFILE_NAME, k as DEFAULT_THEIAOS_BROWSER_COLOR, l as createTargetViaCdp, m as fetchJson, n as isChromeCdpReady, o as stopTheiaOSChrome, p as appendCdpPath, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as ensureChromeExtensionRelayServer, w as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, x as isLoopbackHost, y as stopChromeExtensionRelayServer } from "./chrome-OyJ9thHd.js";
17
17
  import { a as syncSkillsToWorkspace, l as resolveSandboxInputPath, u as resolveSandboxPath } from "./skills-CTt_LCWR.js";
18
18
  import { n as formatErrorMessage, t as extractErrorCode } from "./errors-C7sgRdrp.js";
19
19
  import { n as resolveConversationLabel } from "./conversation-label-DL3BLtvs.js";
@@ -812,7 +812,7 @@ function isModuleNotFoundError(err) {
812
812
  }
813
813
  async function loadPwAiModule(mode) {
814
814
  try {
815
- return await import("./pw-ai-D5dL797e.js");
815
+ return await import("./pw-ai-BDfkjvaD.js");
816
816
  } catch (err) {
817
817
  if (mode === "soft") return null;
818
818
  if (isModuleNotFoundError(err)) return null;
@@ -3249,11 +3249,11 @@ function createProfileContext(opts, profile) {
3249
3249
  const userDataDir = resolveTheiaOSUserDataDir(profile.name);
3250
3250
  const profileState = getProfileState();
3251
3251
  if (await isHttpReachable(300) && !profileState.running) try {
3252
- await (await import("./pw-ai-D5dL797e.js")).closePlaywrightBrowserConnection();
3252
+ await (await import("./pw-ai-BDfkjvaD.js")).closePlaywrightBrowserConnection();
3253
3253
  } catch {}
3254
3254
  if (profileState.running) await stopRunningBrowser();
3255
3255
  try {
3256
- await (await import("./pw-ai-D5dL797e.js")).closePlaywrightBrowserConnection();
3256
+ await (await import("./pw-ai-BDfkjvaD.js")).closePlaywrightBrowserConnection();
3257
3257
  } catch {}
3258
3258
  if (!fs.existsSync(userDataDir)) return {
3259
3259
  moved: false,