wednesdayai 0.5.1-dev.25 → 0.5.1-dev.27

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 (160) hide show
  1. package/dist/{agent-scope-BKsGMXqc.js → agent-scope-DCgndASv.js} +3 -3
  2. package/dist/{agent-turn-runner-LKV3FMwQ.js → agent-turn-runner-CX7rX8by.js} +6 -6
  3. package/dist/{api-key-rotation-DZNFm4xG.js → api-key-rotation-dv2YbGr8.js} +2 -2
  4. package/dist/{audio-preflight-DQous9JR.js → audio-preflight-Qwb3oAbc.js} +29 -29
  5. package/dist/{audio-transcription-runner-BK3cV_ad.js → audio-transcription-runner-C4eHWIy0.js} +26 -26
  6. package/dist/build-info.json +3 -3
  7. package/dist/bundled/boot-md/handler.js +60 -60
  8. package/dist/bundled/bootstrap-extra-files/handler.js +6 -6
  9. package/dist/bundled/command-logger/handler.js +2 -2
  10. package/dist/bundled/session-journal/handler.js +60 -60
  11. package/dist/bundled/session-memory/handler.js +60 -60
  12. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  13. package/dist/{channel-activity-BAxUpg5h.js → channel-activity-Kn1_ykXE.js} +3 -3
  14. package/dist/{chat-content-BWkiC3u3.js → chat-content-CX7Bfpgy.js} +34 -34
  15. package/dist/{chrome-Dzgbe0zH.js → chrome-Bukcguhv.js} +31 -31
  16. package/dist/{chunk-Bvf22vTh.js → chunk-CEygNI3g.js} +3 -3
  17. package/dist/{command-queue-BOMFLCHM.js → command-queue-DOzYI9q4.js} +1 -1
  18. package/dist/{commands-registry-Da3c0MbL.js → commands-registry-Cof4HjvY.js} +2 -2
  19. package/dist/config.js +9 -9
  20. package/dist/{deliver-CJjQbaJE.js → deliver-BaTG7V5x.js} +29 -29
  21. package/dist/{diagnostic-Dn_o8RGN.js → diagnostic-DMrDenZI.js} +5 -5
  22. package/dist/{errors-1FTZDNVR.js → errors-COs_vQr3.js} +1 -1
  23. package/dist/{fetch-CnDdghbc.js → fetch-B1ohBh6A.js} +8 -8
  24. package/dist/{fetch-guard-B6BYdjiQ.js → fetch-guard-BXzVwvnJ.js} +3 -3
  25. package/dist/{frontmatter-DvbDhvt1.js → frontmatter-Cw_6jMAR.js} +3 -3
  26. package/dist/{fs-safe-IYMDplSg.js → fs-safe-BK5ALzKD.js} +26 -26
  27. package/dist/github-copilot-token-DYYKoDuV.js +106 -0
  28. package/dist/{image-ops-BuzZGoUm.js → image-ops-C-5VgbLB.js} +1 -1
  29. package/dist/{ir-CBsM7qoP.js → ir-DioI2VyB.js} +5 -5
  30. package/dist/{legacy-names-Ckds5WWe.js → legacy-names-CghFcfry.js} +1 -1
  31. package/dist/llm-slug-generator.js +60 -60
  32. package/dist/{logger-BeXVb5cn.js → logger-J4xjy-6D.js} +1 -1
  33. package/dist/{manager-BujYLKny.js → manager-D728Thsn.js} +18 -18
  34. package/dist/{markdown-tables-WuCFdPlC.js → markdown-tables-DfLMw9ti.js} +2 -2
  35. package/dist/{model-selection-CHi8o17y.js → model-selection-BHGpQSa9.js} +83 -83
  36. package/dist/{models-config-CAlyknIh.js → models-config-CJUMccZW.js} +2 -2
  37. package/dist/{outbound-attachment-C6mfyze2.js → outbound-attachment-DtVXUXnX.js} +2 -2
  38. package/dist/{outbound-message-hooks-jUzcd2OQ.js → outbound-message-hooks-7ErHCBLv.js} +5 -5
  39. package/dist/{path-alias-guards-BgOxr6f8.js → path-alias-guards-E9ntDORB.js} +1 -1
  40. package/dist/paths-BIDPYPVC.js +233 -0
  41. package/dist/{pi-embedded-aOKwlbog.js → pi-embedded-DpTacVAX.js} +277 -277
  42. package/dist/{pi-embedded-utils-BGvDJMAA.js → pi-embedded-utils-BAaHvb5G.js} +3 -3
  43. package/dist/{pi-model-discovery-CYfRyzsD.js → pi-model-discovery-BaH_6win.js} +7 -7
  44. package/dist/plugin-sdk/{agent-turn-execute-C6g1y27e.js → agent-turn-execute-Dg4sVJSk.js} +12 -12
  45. package/dist/plugin-sdk/{agent-turn-runner-BkP71ySA.js → agent-turn-runner-CD9Y0Gsf.js} +4 -4
  46. package/dist/plugin-sdk/{audio-preflight-CsMLbzm_.js → audio-preflight-GgmY1Zte.js} +5 -5
  47. package/dist/plugin-sdk/{audio-transcription-runner-2bpzZm3F.js → audio-transcription-runner-0gef4Ef0.js} +1 -1
  48. package/dist/plugin-sdk/{chat-content-CCOQCwrz.js → chat-content-Dpzf2nbZ.js} +3 -3
  49. package/dist/plugin-sdk/{chrome-C2bUQR0d.js → chrome-D9DwZOSC.js} +8 -8
  50. package/dist/plugin-sdk/{command-queue-J0ZpvnYU.js → command-queue-Cm8QKC0F.js} +1 -1
  51. package/dist/plugin-sdk/{deliver-CT3Lk2kq.js → deliver-CZVPDUrt.js} +1 -1
  52. package/dist/plugin-sdk/{deliver-dkNTCb3Z.js → deliver-D6hs0zDt.js} +3 -3
  53. package/dist/plugin-sdk/{diagnostic-C-Clqb63.js → diagnostic-Bi52EuT5.js} +1 -1
  54. package/dist/plugin-sdk/{monitor-BHeL2-is.js → monitor-BrUwRgsT.js} +32 -32
  55. package/dist/plugin-sdk/{pi-embedded-utils-BmeLQMRx.js → pi-embedded-utils-CeNVVYT3.js} +1 -1
  56. package/dist/plugin-sdk/{provider-dispatcher-BkEWKVLB.js → provider-dispatcher-Bx_RMlu-.js} +12 -12
  57. package/dist/plugin-sdk/{provider-image-QDVfXKph.js → provider-image-CBXOs7yQ.js} +4 -4
  58. package/dist/plugin-sdk/{provider-image-BSV8WjkR.js → provider-image-DH8Jro3J.js} +1 -1
  59. package/dist/plugin-sdk/{pw-ai-QlS2E2LB.js → pw-ai-BP4Kwaqc.js} +1 -1
  60. package/dist/plugin-sdk/{runs-8iACp6xv.js → runs-C1Lvxfri.js} +3 -3
  61. package/dist/plugin-sdk/{runs-D0UdtKVI.js → runs-DG49eFuR.js} +5 -5
  62. package/dist/plugin-sdk/{send-BP8o2l4w.js → send-BguPpGBL.js} +2 -2
  63. package/dist/plugin-sdk/{send-CYZi6dwK.js → send-CcEF6VcP.js} +1 -1
  64. package/dist/plugin-sdk/{subagent-registry-DA50ITkO.js → subagent-registry-B4EmS6cu.js} +12 -12
  65. package/dist/plugin-sdk/testing.js +12 -12
  66. package/dist/{provider-image-CNBkTbhu.js → provider-image-BSkZoSBN.js} +6 -6
  67. package/dist/{proxy-Ds4gxPy8.js → proxy-CrSpy5Aw.js} +1 -1
  68. package/dist/{proxy-env-DAf-b2bM.js → proxy-env-BxR4m86L.js} +1 -1
  69. package/dist/{proxy-fetch-M3YAp_Kv.js → proxy-fetch-g109vqdt.js} +1 -1
  70. package/dist/{pw-ai-BcibeG9a.js → pw-ai-CNTt9O_x.js} +14 -14
  71. package/dist/{qmd-manager-C3UBJiCk.js → qmd-manager-CU9iEql0.js} +12 -12
  72. package/dist/{query-expansion-BT5lS0um.js → query-expansion-B_2rETEo.js} +13 -13
  73. package/dist/{recorder-B08vNxya.js → recorder-Clg9Kbqu.js} +2 -2
  74. package/dist/{redact-CKI6SufO.js → redact-DpE5Tg36.js} +1 -1
  75. package/dist/{replies-BHkXhmOj.js → replies-Cty02S3t.js} +5 -5
  76. package/dist/{reply-directives-DkfwzHl4.js → reply-directives-BIh2AkNd.js} +2 -2
  77. package/dist/{reply-prefix-DS2s69iC.js → reply-prefix-C-DjHvQK.js} +1 -1
  78. package/dist/{resolve-route-DxuZn3_M.js → resolve-route-DKZiteo6.js} +5 -5
  79. package/dist/{runs-DFvW_PVw.js → runs-6Q7RU60m.js} +9 -9
  80. package/dist/{send-D2WSE41A.js → send-Bf4geLyV.js} +8 -8
  81. package/dist/{send-mILKKt54.js → send-CsDSBjFo.js} +6 -6
  82. package/dist/{send-yIxOvEiz.js → send-DQvfLvpJ.js} +6 -6
  83. package/dist/{send-2aTk7PU-.js → send-VDe5tGbO.js} +28 -28
  84. package/dist/{send-odd2G3DX.js → send-bwKTbNlJ.js} +7 -7
  85. package/dist/{session-meta-B8B6RwSE.js → session-meta-5XI6vLtM.js} +1 -1
  86. package/dist/{sessions-DC7A0bw-.js → sessions-DF9biCmh.js} +5 -5
  87. package/dist/{skill-commands-DdVSQNce.js → skill-commands-CAOvM2sb.js} +8 -8
  88. package/dist/{skills-BXMjgvRl.js → skills-VN1CJK6W.js} +21 -21
  89. package/dist/{store-BVdeIl7N.js → store-HgGweM4u.js} +7 -7
  90. package/dist/subsystem-BZy3aWdW.js +2761 -0
  91. package/dist/{tables-yHwb0GsI.js → tables-DkwNUhx1.js} +1 -1
  92. package/dist/{tokens-CXBau-U0.js → tokens-PMai9bNL.js} +1 -1
  93. package/dist/{tool-loop-detection-Bw8B0hV3.js → tool-loop-detection-BqyMjpvr.js} +2 -2
  94. package/dist/{user-run-recording-8MZq1Us4.js → user-run-recording-B1HujJiT.js} +2 -2
  95. package/dist/{workspace-DK2ZEkpT.js → workspace-Bj1Jegt-.js} +27 -27
  96. package/extensions/acpx/package.json +1 -1
  97. package/extensions/anthropic/package.json +1 -1
  98. package/extensions/bifrost/package.json +1 -1
  99. package/extensions/bluebubbles/package.json +1 -1
  100. package/extensions/copilot-proxy/package.json +1 -1
  101. package/extensions/deepgram/package.json +1 -1
  102. package/extensions/deepinfra/package.json +1 -1
  103. package/extensions/diagnostics-otel/package.json +1 -1
  104. package/extensions/diffs/package.json +1 -1
  105. package/extensions/discord/package.json +1 -1
  106. package/extensions/dream-cycle/package.json +1 -1
  107. package/extensions/elevenlabs/package.json +1 -1
  108. package/extensions/feishu/package.json +1 -1
  109. package/extensions/gemini-search/package.json +1 -1
  110. package/extensions/google/package.json +1 -1
  111. package/extensions/google-gemini-cli-auth/package.json +1 -1
  112. package/extensions/googlechat/package.json +1 -1
  113. package/extensions/grok-search/package.json +1 -1
  114. package/extensions/groq/package.json +1 -1
  115. package/extensions/imessage/package.json +1 -1
  116. package/extensions/irc/package.json +1 -1
  117. package/extensions/kimi-search/package.json +1 -1
  118. package/extensions/learning-core/package.json +1 -1
  119. package/extensions/line/package.json +1 -1
  120. package/extensions/llm-task/package.json +1 -1
  121. package/extensions/lobster/package.json +1 -1
  122. package/extensions/matrix/CHANGELOG.md +1 -1
  123. package/extensions/matrix/package.json +1 -1
  124. package/extensions/mattermost/package.json +1 -1
  125. package/extensions/memory-core/package.json +1 -1
  126. package/extensions/memory-lancedb/package.json +1 -1
  127. package/extensions/minimax/package.json +1 -1
  128. package/extensions/minimax-portal-auth/package.json +1 -1
  129. package/extensions/mistral/package.json +1 -1
  130. package/extensions/moonshot/package.json +1 -1
  131. package/extensions/msteams/CHANGELOG.md +1 -1
  132. package/extensions/msteams/package.json +1 -1
  133. package/extensions/nextcloud-talk/package.json +1 -1
  134. package/extensions/nostr/CHANGELOG.md +1 -1
  135. package/extensions/nostr/package.json +1 -1
  136. package/extensions/open-prose/package.json +1 -1
  137. package/extensions/openai/package.json +1 -1
  138. package/extensions/openai-realtime/package.json +1 -1
  139. package/extensions/openrouter/package.json +1 -1
  140. package/extensions/perplexity-search/package.json +1 -1
  141. package/extensions/searxng-search/package.json +1 -1
  142. package/extensions/signal/package.json +1 -1
  143. package/extensions/slack/package.json +1 -1
  144. package/extensions/synology-chat/package.json +1 -1
  145. package/extensions/telegram/package.json +1 -1
  146. package/extensions/tlon/package.json +1 -1
  147. package/extensions/twitch/CHANGELOG.md +1 -1
  148. package/extensions/twitch/package.json +1 -1
  149. package/extensions/ui-surfaces/package.json +1 -1
  150. package/extensions/voice-call/CHANGELOG.md +1 -1
  151. package/extensions/voice-call/package.json +1 -1
  152. package/extensions/whatsapp/package.json +1 -1
  153. package/extensions/zai/package.json +1 -1
  154. package/extensions/zalo/CHANGELOG.md +1 -1
  155. package/extensions/zalo/package.json +1 -1
  156. package/extensions/zalouser/CHANGELOG.md +1 -1
  157. package/extensions/zalouser/package.json +1 -1
  158. package/package.json +6 -3
  159. package/scripts/install.ps1 +329 -0
  160. package/scripts/install.sh +2479 -0
@@ -1,6 +1,6 @@
1
- import { lt as shortenHomeInString } from "./subsystem-BaT-AAVZ.js";
2
- import { n as redactToolDetail } from "./redact-CKI6SufO.js";
3
- import { I as sanitizeUserFacingText, t as extractTextFromChatContent } from "./chat-content-BWkiC3u3.js";
1
+ import { lt as shortenHomeInString } from "./subsystem-BZy3aWdW.js";
2
+ import { n as redactToolDetail } from "./redact-DpE5Tg36.js";
3
+ import { I as sanitizeUserFacingText, t as extractTextFromChatContent } from "./chat-content-CX7Bfpgy.js";
4
4
 
5
5
  //#region src/shared/text/code-regions.ts
6
6
  function findCodeRegions(text) {
@@ -1,7 +1,7 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { c as normalizeProviderId, ma as ensureAuthProfileStore } from "./model-selection-CHi8o17y.js";
2
+ import { c as normalizeProviderId, ma as ensureAuthProfileStore } from "./model-selection-BHGpQSa9.js";
3
3
  import path from "node:path";
4
- import syncFs from "node:fs";
4
+ import fs from "node:fs";
5
5
  import * as PiCodingAgent from "@mariozechner/pi-coding-agent";
6
6
 
7
7
  //#region src/agents/pi-auth-credentials.ts
@@ -70,10 +70,10 @@ function isRecord(value) {
70
70
  }
71
71
  function scrubLegacyStaticAuthJsonEntries(pathname) {
72
72
  if (process.env.OPENCLAW_AUTH_STORE_READONLY === "1") return;
73
- if (!syncFs.existsSync(pathname)) return;
73
+ if (!fs.existsSync(pathname)) return;
74
74
  let parsed;
75
75
  try {
76
- parsed = JSON.parse(syncFs.readFileSync(pathname, "utf8"));
76
+ parsed = JSON.parse(fs.readFileSync(pathname, "utf8"));
77
77
  } catch {
78
78
  return;
79
79
  }
@@ -87,11 +87,11 @@ function scrubLegacyStaticAuthJsonEntries(pathname) {
87
87
  }
88
88
  if (!changed) return;
89
89
  if (Object.keys(parsed).length === 0) {
90
- syncFs.rmSync(pathname, { force: true });
90
+ fs.rmSync(pathname, { force: true });
91
91
  return;
92
92
  }
93
- syncFs.writeFileSync(pathname, `${JSON.stringify(parsed, null, 2)}\n`, "utf8");
94
- syncFs.chmodSync(pathname, 384);
93
+ fs.writeFileSync(pathname, `${JSON.stringify(parsed, null, 2)}\n`, "utf8");
94
+ fs.chmodSync(pathname, 384);
95
95
  }
96
96
  function createAuthStorage(AuthStorageLike, path, creds) {
97
97
  const withInMemory = AuthStorageLike;
@@ -7,7 +7,7 @@ import "./logger-DyKgSZpY.js";
7
7
  import "./github-copilot-token-0cZptJ8H.js";
8
8
  import "./send-IFL-W_Uo.js";
9
9
  import "./send-D_NW7XdG.js";
10
- import { D as runMainAgentTurn } from "./monitor-BHeL2-is.js";
10
+ import { D as runMainAgentTurn } from "./monitor-BrUwRgsT.js";
11
11
  import "./diagnostic-events-CDas3Sai.js";
12
12
  import "./chunk-Dbr0Vehe.js";
13
13
  import "./tokens-DiBRHqAd.js";
@@ -15,7 +15,7 @@ import "./session-context-BAIHN7OF.js";
15
15
  import "./sessions-BzL-aOdL.js";
16
16
  import "./redact-CWUfXAQC.js";
17
17
  import "./errors-DqDwjxIV.js";
18
- import "./deliver-CT3Lk2kq.js";
18
+ import "./deliver-CZVPDUrt.js";
19
19
  import "./path-alias-guards-Ce7BoDc1.js";
20
20
  import "./fs-safe-C-Kpe4rk.js";
21
21
  import "./image-ops-aTvAvmEV.js";
@@ -25,21 +25,21 @@ import "./send-CUz9nJkW.js";
25
25
  import "./reply-prefix-CxID-d6C.js";
26
26
  import "./commands-registry-hpcjcK5a.js";
27
27
  import "./thinking-BOHpxvdU.js";
28
- import "./diagnostic-C-Clqb63.js";
28
+ import "./diagnostic-Bi52EuT5.js";
29
29
  import "./diagnostic-session-state-Cgs20sNV.js";
30
- import "./command-queue-J0ZpvnYU.js";
30
+ import "./command-queue-Cm8QKC0F.js";
31
31
  import "./user-run-recording-BBuGXUx5.js";
32
32
  import "./recorder-XST6kIcp.js";
33
- import "./agent-turn-runner-BkP71ySA.js";
34
- import "./send-CYZi6dwK.js";
33
+ import "./agent-turn-runner-CD9Y0Gsf.js";
34
+ import "./send-CcEF6VcP.js";
35
35
  import "./pi-model-discovery-BoaDkVwc.js";
36
- import "./chat-content-CCOQCwrz.js";
37
- import "./chrome-C2bUQR0d.js";
36
+ import "./chat-content-Dpzf2nbZ.js";
37
+ import "./chrome-D9DwZOSC.js";
38
38
  import "./skills-CE_rmZvg.js";
39
39
  import "./models-config-DqU-TWXh.js";
40
- import "./audio-transcription-runner-2bpzZm3F.js";
41
- import "./pi-embedded-utils-BmeLQMRx.js";
42
- import "./provider-image-BSV8WjkR.js";
40
+ import "./audio-transcription-runner-0gef4Ef0.js";
41
+ import "./pi-embedded-utils-CeNVVYT3.js";
42
+ import "./provider-image-DH8Jro3J.js";
43
43
  import "./fetch-_qRMEQ9n.js";
44
44
  import "./fetch-guard-WEUniAgf.js";
45
45
  import "./proxy-fetch-CboA-o2G.js";
@@ -48,7 +48,7 @@ import "./markdown-tables-CLYGTk51.js";
48
48
  import "./ir-Ch3XOsWl.js";
49
49
  import "./render-uf6PvGMV.js";
50
50
  import "./skill-commands-C8ofD86R.js";
51
- import "./runs-8iACp6xv.js";
51
+ import "./runs-C1Lvxfri.js";
52
52
  import "./outbound-attachment-DQCWaSOB.js";
53
53
  import "./reply-directives-CLkkbYIs.js";
54
54
  import "./channel-activity-DhxIrkzC.js";
@@ -184,7 +184,7 @@ function mergeDelayedAgentTurn(sessionKey, matches, merge) {
184
184
  return true;
185
185
  }
186
186
  async function defaultExecute(claim) {
187
- const { runMainAgentTurn } = await import("./agent-turn-execute-C6g1y27e.js");
187
+ const { runMainAgentTurn } = await import("./agent-turn-execute-Dg4sVJSk.js");
188
188
  return runMainAgentTurn(claim.message.payload);
189
189
  }
190
190
  async function armIdleWaiter(sessionKey, backbone, opts) {
@@ -196,7 +196,7 @@ async function armIdleWaiter(sessionKey, backbone, opts) {
196
196
  startedAt: opts?.startedAt ?? Date.now()
197
197
  };
198
198
  waiters.set(sessionKey, handle);
199
- const { getQueueSize } = await import("./command-queue-J0ZpvnYU.js").then((n) => n.r);
199
+ const { getQueueSize } = await import("./command-queue-Cm8QKC0F.js").then((n) => n.r);
200
200
  if (handle.cancelled || closing) return;
201
201
  const release = (force = false) => {
202
202
  releaseDelayedAgentTurns(backboneBySession.get(sessionKey) ?? backbone, sessionKey, force ? { force: true } : void 0);
@@ -218,7 +218,7 @@ async function armIdleWaiter(sessionKey, backbone, opts) {
218
218
  }
219
219
  async function enqueueAgentTurn(backbone, payload, opts) {
220
220
  if (!payload.jobId.trim() || !payload.runId.trim()) throw new Error("agent-turn enqueue requires jobId and runId");
221
- const isBusy = opts?.isSessionBusy ? opts.isSessionBusy() : (await import("./command-queue-J0ZpvnYU.js").then((n) => n.r)).getQueueSize(CommandLane.Main) > 0;
221
+ const isBusy = opts?.isSessionBusy ? opts.isSessionBusy() : (await import("./command-queue-Cm8QKC0F.js").then((n) => n.r)).getQueueSize(CommandLane.Main) > 0;
222
222
  const policy = payload.busy ?? "skip";
223
223
  const id = agentTurnIdempotencyKey(payload);
224
224
  if (isBusy && policy === "skip") return `${id}:skipped`;
@@ -281,7 +281,7 @@ async function releaseDelayedAgentTurnsInternal(backbone, sessionKey, opts) {
281
281
  }
282
282
  });
283
283
  if (payload.kind === "announce" && outcome.ok && outcome.delivery?.reason === WORKSPACE_LANE_DENIED_REASON) {
284
- const { markSubagentAnnounceDenied } = await import("./subagent-registry-DA50ITkO.js");
284
+ const { markSubagentAnnounceDenied } = await import("./subagent-registry-B4EmS6cu.js");
285
285
  await markSubagentAnnounceDenied(payload.runId, payload.mergedRunIds);
286
286
  }
287
287
  releaseSucceeded = outcome.ok;
@@ -15,13 +15,13 @@ import "./image-ops-aTvAvmEV.js";
15
15
  import "./store-BT6jvPu8.js";
16
16
  import "./thinking-BOHpxvdU.js";
17
17
  import "./pi-model-discovery-BoaDkVwc.js";
18
- import "./chat-content-CCOQCwrz.js";
19
- import "./chrome-C2bUQR0d.js";
18
+ import "./chat-content-Dpzf2nbZ.js";
19
+ import "./chrome-D9DwZOSC.js";
20
20
  import "./skills-CE_rmZvg.js";
21
21
  import "./models-config-DqU-TWXh.js";
22
- import { b as isAudioAttachment, g as listAudioAttachments, h as findCarriedTranscript, i as normalizeMediaAttachments, m as audioOrdinalOf, o as resolveMediaAttachmentLocalRoots, t as runAudioTranscription } from "./audio-transcription-runner-2bpzZm3F.js";
23
- import "./pi-embedded-utils-BmeLQMRx.js";
24
- import "./provider-image-BSV8WjkR.js";
22
+ import { b as isAudioAttachment, g as listAudioAttachments, h as findCarriedTranscript, i as normalizeMediaAttachments, m as audioOrdinalOf, o as resolveMediaAttachmentLocalRoots, t as runAudioTranscription } from "./audio-transcription-runner-0gef4Ef0.js";
23
+ import "./pi-embedded-utils-CeNVVYT3.js";
24
+ import "./provider-image-DH8Jro3J.js";
25
25
  import "./fetch-_qRMEQ9n.js";
26
26
  import "./fetch-guard-WEUniAgf.js";
27
27
  import "./proxy-fetch-CboA-o2G.js";
@@ -6,7 +6,7 @@ import { c as detectMime, f as isAudioFileName, h as normalizeMimeType, m as kin
6
6
  import { n as fetchWithTimeout } from "./fetch-timeout-Bolfeu11.js";
7
7
  import { t as resolveNetworkSsrFPolicy } from "./ssrf-config-ClPXs9e9.js";
8
8
  import { t as ensureOpenClawModelsJson } from "./models-config-DqU-TWXh.js";
9
- import { o as resolveProviderVisionModelFromConfig, t as describeImageWithModel } from "./provider-image-BSV8WjkR.js";
9
+ import { o as resolveProviderVisionModelFromConfig, t as describeImageWithModel } from "./provider-image-DH8Jro3J.js";
10
10
  import { a as getDefaultMediaLocalRoots, n as fetchRemoteMedia, t as MediaFetchError } from "./fetch-_qRMEQ9n.js";
11
11
  import { t as fetchWithSsrFGuard } from "./fetch-guard-WEUniAgf.js";
12
12
  import { i as resolveProxyFetchFromEnv } from "./proxy-fetch-CboA-o2G.js";
@@ -10,7 +10,7 @@ import { i as getImageMetadata, n as buildImageResizeSideGrid, s as resizeToJpeg
10
10
  import { i as saveMediaBuffer, n as ensureMediaDir } from "./store-BT6jvPu8.js";
11
11
  import { t as generateSecureToken } from "./secure-random-CYWiC9Ek.js";
12
12
  import { o as normalizeThinkLevel } from "./thinking-BOHpxvdU.js";
13
- import { C as ensureChromeExtensionRelayServer, D as PROFILE_POST_RESTART_WS_TIMEOUT_MS, E as PROFILE_ATTACH_RETRY_TIMEOUT_MS, G as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, H as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, I as resolveWritablePathWithinRoot, J as DEFAULT_OPENCLAW_BROWSER_ENABLED, K as DEFAULT_BROWSER_EVALUATE_ENABLED, M as DEFAULT_TRACE_DIR, N as DEFAULT_UPLOAD_DIR, O as resolveCdpReachabilityTimeouts, P as resolveExistingPathsWithinRoot, R as normalizeBrowserFormField, T as CDP_JSON_NEW_TIMEOUT_MS, U as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, W as DEFAULT_AI_SNAPSHOT_MAX_CHARS, Y as DEFAULT_OPENCLAW_BROWSER_PROFILE_NAME, _ as withBrowserNavigationPolicy, a as resolveOpenClawUserDataDir, b as fetchOk, c as resolveBrowserExecutableForPlatform, f as normalizeCdpWsUrl, g as assertBrowserNavigationResultAllowed, h as assertBrowserNavigationAllowed, i as launchOpenClawChrome, j as DEFAULT_DOWNLOAD_DIR, l as captureScreenshot, m as InvalidBrowserNavigationUrlError, n as isChromeCdpReady, o as stopOpenClawChrome, p as snapshotAria, q as DEFAULT_OPENCLAW_BROWSER_COLOR, r as isChromeReachable, u as createTargetViaCdp, v as appendCdpPath, w as stopChromeExtensionRelayServer, y as fetchJson, z as isLoopbackHost } from "./chrome-C2bUQR0d.js";
13
+ import { C as ensureChromeExtensionRelayServer, D as PROFILE_POST_RESTART_WS_TIMEOUT_MS, E as PROFILE_ATTACH_RETRY_TIMEOUT_MS, G as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, H as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, I as resolveWritablePathWithinRoot, J as DEFAULT_OPENCLAW_BROWSER_ENABLED, K as DEFAULT_BROWSER_EVALUATE_ENABLED, M as DEFAULT_TRACE_DIR, N as DEFAULT_UPLOAD_DIR, O as resolveCdpReachabilityTimeouts, P as resolveExistingPathsWithinRoot, R as normalizeBrowserFormField, T as CDP_JSON_NEW_TIMEOUT_MS, U as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, W as DEFAULT_AI_SNAPSHOT_MAX_CHARS, Y as DEFAULT_OPENCLAW_BROWSER_PROFILE_NAME, _ as withBrowserNavigationPolicy, a as resolveOpenClawUserDataDir, b as fetchOk, c as resolveBrowserExecutableForPlatform, f as normalizeCdpWsUrl, g as assertBrowserNavigationResultAllowed, h as assertBrowserNavigationAllowed, i as launchOpenClawChrome, j as DEFAULT_DOWNLOAD_DIR, l as captureScreenshot, m as InvalidBrowserNavigationUrlError, n as isChromeCdpReady, o as stopOpenClawChrome, p as snapshotAria, q as DEFAULT_OPENCLAW_BROWSER_COLOR, r as isChromeReachable, u as createTargetViaCdp, v as appendCdpPath, w as stopChromeExtensionRelayServer, y as fetchJson, z as isLoopbackHost } from "./chrome-D9DwZOSC.js";
14
14
  import { d as resolveSandboxPath, h as sanitizeEnvVars, o as syncSkillsToWorkspace, u as resolveSandboxInputPath } from "./skills-CE_rmZvg.js";
15
15
  import { t as resolveNetworkSsrFPolicy } from "./ssrf-config-ClPXs9e9.js";
16
16
  import { n as resolveWindowsSpawnProgram, t as materializeWindowsSpawnProgram } from "./windows-spawn-BNS9AyOR.js";
@@ -1266,7 +1266,7 @@ function isModuleNotFoundError(err) {
1266
1266
  }
1267
1267
  async function loadPwAiModule(mode) {
1268
1268
  try {
1269
- return await import("./pw-ai-QlS2E2LB.js");
1269
+ return await import("./pw-ai-BP4Kwaqc.js");
1270
1270
  } catch (err) {
1271
1271
  if (mode === "soft") return null;
1272
1272
  if (isModuleNotFoundError(err)) return null;
@@ -3631,7 +3631,7 @@ function createProfileAvailability({ opts, profile, state, getProfileState, setP
3631
3631
  //#region src/browser/server-context.reset.ts
3632
3632
  async function closePlaywrightBrowserConnection() {
3633
3633
  try {
3634
- await (await import("./pw-ai-QlS2E2LB.js")).closePlaywrightBrowserConnection();
3634
+ await (await import("./pw-ai-BP4Kwaqc.js")).closePlaywrightBrowserConnection();
3635
3635
  } catch {}
3636
3636
  }
3637
3637
  function createProfileResetOps({ profile, getProfileState, stopRunningBrowser, isHttpReachable, resolveOpenClawUserDataDir }) {
@@ -12,7 +12,7 @@ import { execFileSync, spawn } from "node:child_process";
12
12
  import http, { createServer } from "node:http";
13
13
  import https from "node:https";
14
14
  import net from "node:net";
15
- import WebSocket$1, { WebSocketServer } from "ws";
15
+ import WebSocket, { WebSocketServer } from "ws";
16
16
  import { Buffer as Buffer$1 } from "node:buffer";
17
17
 
18
18
  //#region src/browser/constants.ts
@@ -648,7 +648,7 @@ async function ensureChromeExtensionRelayServer(opts) {
648
648
  let extensionWs = null;
649
649
  const cdpClients = /* @__PURE__ */ new Set();
650
650
  const connectedTargets = /* @__PURE__ */ new Map();
651
- const extensionConnected = () => extensionWs?.readyState === WebSocket$1.OPEN;
651
+ const extensionConnected = () => extensionWs?.readyState === WebSocket.OPEN;
652
652
  const hasConnectedTargets = () => connectedTargets.size > 0;
653
653
  let extensionDisconnectCleanupTimer = null;
654
654
  const extensionReconnectWaiters = /* @__PURE__ */ new Set();
@@ -700,7 +700,7 @@ async function ensureChromeExtensionRelayServer(opts) {
700
700
  let nextExtensionId = 1;
701
701
  const sendToExtension = async (payload) => {
702
702
  const ws = extensionWs;
703
- if (!ws || ws.readyState !== WebSocket$1.OPEN) throw new Error("Chrome extension not connected");
703
+ if (!ws || ws.readyState !== WebSocket.OPEN) throw new Error("Chrome extension not connected");
704
704
  ws.send(JSON.stringify(payload));
705
705
  return await new Promise((resolve, reject) => {
706
706
  const timer = setTimeout(() => {
@@ -717,12 +717,12 @@ async function ensureChromeExtensionRelayServer(opts) {
717
717
  const broadcastToCdpClients = (evt) => {
718
718
  const msg = JSON.stringify(evt);
719
719
  for (const ws of cdpClients) {
720
- if (ws.readyState !== WebSocket$1.OPEN) continue;
720
+ if (ws.readyState !== WebSocket.OPEN) continue;
721
721
  ws.send(msg);
722
722
  }
723
723
  };
724
724
  const sendResponseToCdp = (ws, res) => {
725
- if (ws.readyState !== WebSocket$1.OPEN) return;
725
+ if (ws.readyState !== WebSocket.OPEN) return;
726
726
  ws.send(JSON.stringify(res));
727
727
  };
728
728
  const dropConnectedTargetSession = (sessionId) => {
@@ -976,7 +976,7 @@ async function ensureChromeExtensionRelayServer(opts) {
976
976
  rejectUpgrade(socket, 401, "Unauthorized");
977
977
  return;
978
978
  }
979
- if (extensionWs && extensionWs.readyState !== WebSocket$1.OPEN) {
979
+ if (extensionWs && extensionWs.readyState !== WebSocket.OPEN) {
980
980
  try {
981
981
  extensionWs.terminate();
982
982
  } catch {}
@@ -1009,7 +1009,7 @@ async function ensureChromeExtensionRelayServer(opts) {
1009
1009
  clearExtensionDisconnectCleanupTimer();
1010
1010
  flushExtensionReconnectWaiters(true);
1011
1011
  const ping = setInterval(() => {
1012
- if (ws.readyState !== WebSocket$1.OPEN) return;
1012
+ if (ws.readyState !== WebSocket.OPEN) return;
1013
1013
  ws.send(JSON.stringify({ method: "ping" }));
1014
1014
  }, 5e3);
1015
1015
  ws.on("message", (data) => {
@@ -1365,7 +1365,7 @@ function openCdpWebSocket(wsUrl, opts) {
1365
1365
  const headers = getHeadersWithAuth(wsUrl, opts?.headers ?? {});
1366
1366
  const handshakeTimeoutMs = typeof opts?.handshakeTimeoutMs === "number" && Number.isFinite(opts.handshakeTimeoutMs) ? Math.max(1, Math.floor(opts.handshakeTimeoutMs)) : CDP_WS_HANDSHAKE_TIMEOUT_MS;
1367
1367
  const agent = getDirectAgentForCdp(wsUrl);
1368
- return new WebSocket$1(wsUrl, {
1368
+ return new WebSocket(wsUrl, {
1369
1369
  handshakeTimeout: handshakeTimeoutMs,
1370
1370
  ...Object.keys(headers).length ? { headers } : {},
1371
1371
  ...agent ? { agent } : {}
@@ -1,5 +1,5 @@
1
1
  import { f as __exportAll } from "./proxy-env-cerSnj8l.js";
2
- import { a as logLaneTaskCompleted, i as logLaneEnqueue, r as logLaneDequeue, t as diag } from "./diagnostic-C-Clqb63.js";
2
+ import { a as logLaneTaskCompleted, i as logLaneEnqueue, r as logLaneDequeue, t as diag } from "./diagnostic-Bi52EuT5.js";
3
3
  import { t as CommandLane } from "./lanes-DqPgtcOw.js";
4
4
 
5
5
  //#region src/process/command-queue.ts
@@ -8,7 +8,7 @@ import { E as eventOrder, H as parseInlineDirectives, It as canonicalizeMainSess
8
8
  import { o as hasErrnoCode } from "./errors-DqDwjxIV.js";
9
9
  import { n as generateSecureUuid } from "./secure-random-CYWiC9Ek.js";
10
10
  import { a as markdownToSignalTextChunks, t as sendMessageSignal } from "./send-CUz9nJkW.js";
11
- import { a as isMessagingToolDuplicate, t as extractTextFromChatContent } from "./chat-content-CCOQCwrz.js";
11
+ import { a as isMessagingToolDuplicate, t as extractTextFromChatContent } from "./chat-content-Dpzf2nbZ.js";
12
12
  import { t as ensureOpenClawModelsJson } from "./models-config-DqU-TWXh.js";
13
13
  import { i as getAgentScopedMediaLocalRoots } from "./fetch-_qRMEQ9n.js";
14
14
  import { n as resolveMarkdownTableMode } from "./markdown-tables-CLYGTk51.js";
@@ -12,7 +12,7 @@ import "./session-context-BAIHN7OF.js";
12
12
  import "./sessions-BzL-aOdL.js";
13
13
  import "./redact-CWUfXAQC.js";
14
14
  import "./errors-DqDwjxIV.js";
15
- import { r as normalizeOutboundPayloads, t as deliverOutboundPayloads } from "./deliver-CT3Lk2kq.js";
15
+ import { r as normalizeOutboundPayloads, t as deliverOutboundPayloads } from "./deliver-CZVPDUrt.js";
16
16
  import "./path-alias-guards-Ce7BoDc1.js";
17
17
  import "./fs-safe-C-Kpe4rk.js";
18
18
  import "./image-ops-aTvAvmEV.js";
@@ -20,8 +20,8 @@ import "./store-BT6jvPu8.js";
20
20
  import "./fetch-Bq1rppq3.js";
21
21
  import "./send-CUz9nJkW.js";
22
22
  import "./thinking-BOHpxvdU.js";
23
- import "./chat-content-CCOQCwrz.js";
24
- import "./chrome-C2bUQR0d.js";
23
+ import "./chat-content-Dpzf2nbZ.js";
24
+ import "./chrome-D9DwZOSC.js";
25
25
  import "./skills-CE_rmZvg.js";
26
26
  import "./models-config-DqU-TWXh.js";
27
27
  import "./fetch-_qRMEQ9n.js";
@@ -837,7 +837,7 @@ function startDiagnosticHeartbeat(config) {
837
837
  if (ageMs > stuckSessionAbortMs && state.queueDepth > 0 && !state.capturedEnd && !state.abortDispatched && state.sessionId) {
838
838
  state.abortDispatched = true;
839
839
  diag.warn(`stuck-session abort: sessionId=${state.sessionId} progressAge=${Math.round(ageMs / 1e3)}s threshold=${Math.round(stuckSessionAbortMs / 1e3)}s queueDepth=${state.queueDepth}`);
840
- import("./runs-D0UdtKVI.js").then(({ abortEmbeddedPiRun }) => {
840
+ import("./runs-DG49eFuR.js").then(({ abortEmbeddedPiRun }) => {
841
841
  if (state.sessionId && state.abortDispatched) abortEmbeddedPiRun(state.sessionId);
842
842
  }).catch((err) => {
843
843
  diag.warn(`stuck-session abort import failed: ${String(err)}`);
@@ -18,7 +18,7 @@ import { $ as sanitizeAppendEntry, A as sessionLikelyHasOversizedToolResults, At
18
18
  import { i as testRegexWithBoundedInput, r as compileSafeRegex, t as redactSensitiveText } from "./redact-CWUfXAQC.js";
19
19
  import { a as formatUncaughtError, c as readErrorName, i as formatErrorMessage, o as hasErrnoCode, r as formatErrorChainMessage, t as collectErrorGraphCandidates } from "./errors-DqDwjxIV.js";
20
20
  import { n as onSessionTranscriptUpdate } from "./transcript-events-D2cTZYUU.js";
21
- import { A as transcriptEntriesToMessages, C as shouldSuppressReasoningPayload, D as normalizeChannelTargetInput, E as buildTargetResolverSignature, M as sleepWithAbort, O as normalizeTargetForProvider, S as shouldSuppressMessagingToolReplies, T as resolveReplyToMode, _ as applyReplyTagsToPayload, a as normalizeReplyPayloadsForDelivery, b as filterMessagingToolMediaDuplicates, c as loadCombinedSessionStoreForGateway, d as countToolResults, f as extractToolCallNames, g as loadChannelOutboundAdapter, h as resolveContextTokensForModel, i as normalizeOutboundPayloadsForJson, j as computeBackoff, k as readFullTranscriptEntriesFromBackend, l as capArrayByJsonBytes, m as lookupContextTokens, n as formatOutboundPayloadLog, o as throwIfAborted, p as jsonUtf8Bytes, r as normalizeOutboundPayloads, s as stampReplyActivity, t as deliverOutboundPayloads, u as stripLeadingInboundMetadata, v as applyReplyThreading, w as createReplyToModeFilterForChannel, x as isRenderablePayload, y as filterMessagingToolDuplicates } from "./deliver-CT3Lk2kq.js";
21
+ import { A as transcriptEntriesToMessages, C as shouldSuppressReasoningPayload, D as normalizeChannelTargetInput, E as buildTargetResolverSignature, M as sleepWithAbort, O as normalizeTargetForProvider, S as shouldSuppressMessagingToolReplies, T as resolveReplyToMode, _ as applyReplyTagsToPayload, a as normalizeReplyPayloadsForDelivery, b as filterMessagingToolMediaDuplicates, c as loadCombinedSessionStoreForGateway, d as countToolResults, f as extractToolCallNames, g as loadChannelOutboundAdapter, h as resolveContextTokensForModel, i as normalizeOutboundPayloadsForJson, j as computeBackoff, k as readFullTranscriptEntriesFromBackend, l as capArrayByJsonBytes, m as lookupContextTokens, n as formatOutboundPayloadLog, o as throwIfAborted, p as jsonUtf8Bytes, r as normalizeOutboundPayloads, s as stampReplyActivity, t as deliverOutboundPayloads, u as stripLeadingInboundMetadata, v as applyReplyThreading, w as createReplyToModeFilterForChannel, x as isRenderablePayload, y as filterMessagingToolDuplicates } from "./deliver-CZVPDUrt.js";
22
22
  import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-Ce7BoDc1.js";
23
23
  import { a as readFileWithinRoot, c as writeFileWithinRoot, i as openFileWithinRoot, n as copyFileWithinRoot, r as createRootScopedReadFile, t as SafeOpenError } from "./fs-safe-C-Kpe4rk.js";
24
24
  import { c as detectMime, d as imageMimeFromFormat, f as isAudioFileName, g as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, m as kindFromMime, p as isGifMedia, s as resizeToJpeg, v as mediaKindFromMime } from "./image-ops-aTvAvmEV.js";
@@ -31,24 +31,24 @@ import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffecti
31
31
  import { _ as isNativeCommandsExplicitlyDisabled, a as listChatCommands, b as resolveNativeSkillsEnabled, c as listNativeCommandSpecsForConfig, d as parseCommandArgs, f as resolveCommandArgChoices, g as isCommandFlagEnabled, h as shouldHandleTextCommands, i as isCommandEnabled, l as maybeResolveTextAlias, m as serializeCommandArgs, o as listChatCommandsForConfig, p as resolveCommandArgMenu, r as findCommandByNativeName, s as listNativeCommandSpecs, t as buildCommandTextFromArgs, u as normalizeCommandBody, v as isRestartEnabled, y as resolveNativeCommandsEnabled } from "./commands-registry-hpcjcK5a.js";
32
32
  import { a as normalizeReasoningLevel, c as normalizeVerboseLevel, i as normalizeElevatedLevel, l as resolveResponseUsageMode, n as formatXHighModelHint, o as normalizeThinkLevel, s as normalizeUsageDisplay, t as formatThinkingLevels, u as supportsXHighThinking } from "./thinking-BOHpxvdU.js";
33
33
  import { t as redactIdentifier } from "./redact-identifier-B9Z7gyFb.js";
34
- import { A as boundDiagnosticContent, C as logWebhookError, D as refreshRunProgress, E as recordSystemPromptHashComparison, M as resetCommandPollCount, O as startDiagnosticHeartbeat, S as logToolExecutionStarted, T as logWebhookReceived, b as logToolExecutionBlocked, d as logRunCompleted, f as logRunStarted, j as recordCommandPoll, k as stopDiagnosticHeartbeat, l as logModelCallError, o as logMessageProcessed, p as logSessionStateChange, s as logMessageQueued, w as logWebhookProcessed, x as logToolExecutionCompleted } from "./diagnostic-C-Clqb63.js";
34
+ import { A as boundDiagnosticContent, C as logWebhookError, D as refreshRunProgress, E as recordSystemPromptHashComparison, M as resetCommandPollCount, O as startDiagnosticHeartbeat, S as logToolExecutionStarted, T as logWebhookReceived, b as logToolExecutionBlocked, d as logRunCompleted, f as logRunStarted, j as recordCommandPoll, k as stopDiagnosticHeartbeat, l as logModelCallError, o as logMessageProcessed, p as logSessionStateChange, s as logMessageQueued, w as logWebhookProcessed, x as logToolExecutionCompleted } from "./diagnostic-Bi52EuT5.js";
35
35
  import { r as getDiagnosticSessionState, s as redactChannelCorrelation } from "./diagnostic-session-state-Cgs20sNV.js";
36
36
  import { t as CommandLane } from "./lanes-DqPgtcOw.js";
37
- import { a as getCommandLaneSnapshots, c as isQueuedCommandCancellation, i as enqueueCommandInLane, n as clearCommandLane, o as getQueueSize, s as isGatewayDraining, t as CommandLaneAbortedError } from "./command-queue-J0ZpvnYU.js";
37
+ import { a as getCommandLaneSnapshots, c as isQueuedCommandCancellation, i as enqueueCommandInLane, n as clearCommandLane, o as getQueueSize, s as isGatewayDraining, t as CommandLaneAbortedError } from "./command-queue-Cm8QKC0F.js";
38
38
  import { i as AGENT_LANE_SUBAGENT, r as AGENT_LANE_NESTED, t as startUserSessionRun } from "./user-run-recording-BBuGXUx5.js";
39
39
  import { a as getGatewayInstanceId, n as deriveSessionRunId, o as resolveSessionRunStore, r as inferSessionRunKind, t as createSessionRunRecorder } from "./recorder-XST6kIcp.js";
40
- import { a as clearDelayedReleaseHold, c as mergeDelayedAgentTurn, d as WORKSPACE_LANE_DENIED_REASON, f as KeyedAsyncQueue, i as agentTurnIdempotencyKey, l as peekDelayedAgentTurn, n as getAgentTurnRuntime, o as enqueueAgentTurn, r as tryGetAgentTurnRuntime, s as isClaimableAgentTurnWorkId, u as setDelayedReleaseHold } from "./agent-turn-runner-BkP71ySA.js";
41
- import { $ as resolveTelegramStreamMode, A as splitTelegramCaption, B as buildTelegramParentPeer, C as recordApiRequest, D as registerAccount, E as recordWebhook, F as buildGroupLabel, G as extractTelegramLocation, H as buildTypingThreadParams, I as buildSenderLabel, J as resolveTelegramDirectPeerId, K as hasBotMention, L as buildSenderName, M as withTelegramApiErrorLogging, N as loadCronStore, O as releaseAccountOwner, P as resolveCronStorePath, Q as resolveTelegramReplyId, R as buildTelegramGroupFrom, S as getTelegramFleetSupervisor, T as recordUpdate, U as describeReplyTarget, V as buildTelegramThreadParams, W as expandTextLinks, X as resolveTelegramGroupAllowFromContext, Y as resolveTelegramForumThreadId, Z as resolveTelegramMediaPlaceholder, _ as markdownToTelegramChunks, _t as getPairingAdapter, a as reactMessageTelegram, at as firstDefined$1, b as wrapFileReferencesInHtml, bt as parseTelegramTarget, c as sendStickerTelegram, ct as resolveGroupAllowFromSources, d as extractTelegramErrorText, dt as addChannelAllowFromStoreEntry, et as resolveTelegramThreadSpec, f as isDefiniteTelegramRequestNonDeliveryError, ft as readChannelAllowFromStore, g as isTelegramEditMayHaveLandedError, gt as writeJsonFileAtomically, h as isTelegramClientRejection, ht as readJsonFileWithFallback, i as editMessageTelegram, it as resolveSenderAllowMatch$1, j as formatTelegramErrorMessage, k as resolveTelegramFetch, l as resolveTelegramVoiceSend, lt as formatLocationText, m as isSafeToRetrySendError, mt as upsertChannelPairingRequest, n as createForumTopicTelegram, nt as normalizeAllowFrom$2, o as sendMessageTelegram, ot as isSenderIdAllowed, p as isRecoverableTelegramNetworkError, pt as removeChannelAllowFromStoreEntry, q as normalizeForwardedContext, r as deleteMessageTelegram, rt as normalizeDmAllowFromWithStore$1, s as sendPollTelegram, st as mergeDmAllowFromSources, t as buildInlineKeyboard, tt as isSenderAllowed$1, u as wasSentByBot, ut as toLocationContext, v as markdownToTelegramHtml, vt as listPairingChannels, w as recordState, x as fingerprintTelegramToken, xt as resolveTelegramTargetChatType, y as renderTelegramHtmlText, yt as isVoiceCompatibleAudio, z as buildTelegramGroupPeerId } from "./send-CYZi6dwK.js";
40
+ import { a as clearDelayedReleaseHold, c as mergeDelayedAgentTurn, d as WORKSPACE_LANE_DENIED_REASON, f as KeyedAsyncQueue, i as agentTurnIdempotencyKey, l as peekDelayedAgentTurn, n as getAgentTurnRuntime, o as enqueueAgentTurn, r as tryGetAgentTurnRuntime, s as isClaimableAgentTurnWorkId, u as setDelayedReleaseHold } from "./agent-turn-runner-CD9Y0Gsf.js";
41
+ import { $ as resolveTelegramStreamMode, A as splitTelegramCaption, B as buildTelegramParentPeer, C as recordApiRequest, D as registerAccount, E as recordWebhook, F as buildGroupLabel, G as extractTelegramLocation, H as buildTypingThreadParams, I as buildSenderLabel, J as resolveTelegramDirectPeerId, K as hasBotMention, L as buildSenderName, M as withTelegramApiErrorLogging, N as loadCronStore, O as releaseAccountOwner, P as resolveCronStorePath, Q as resolveTelegramReplyId, R as buildTelegramGroupFrom, S as getTelegramFleetSupervisor, T as recordUpdate, U as describeReplyTarget, V as buildTelegramThreadParams, W as expandTextLinks, X as resolveTelegramGroupAllowFromContext, Y as resolveTelegramForumThreadId, Z as resolveTelegramMediaPlaceholder, _ as markdownToTelegramChunks, _t as getPairingAdapter, a as reactMessageTelegram, at as firstDefined$1, b as wrapFileReferencesInHtml, bt as parseTelegramTarget, c as sendStickerTelegram, ct as resolveGroupAllowFromSources, d as extractTelegramErrorText, dt as addChannelAllowFromStoreEntry, et as resolveTelegramThreadSpec, f as isDefiniteTelegramRequestNonDeliveryError, ft as readChannelAllowFromStore, g as isTelegramEditMayHaveLandedError, gt as writeJsonFileAtomically, h as isTelegramClientRejection, ht as readJsonFileWithFallback, i as editMessageTelegram, it as resolveSenderAllowMatch$1, j as formatTelegramErrorMessage, k as resolveTelegramFetch, l as resolveTelegramVoiceSend, lt as formatLocationText, m as isSafeToRetrySendError, mt as upsertChannelPairingRequest, n as createForumTopicTelegram, nt as normalizeAllowFrom$2, o as sendMessageTelegram, ot as isSenderIdAllowed, p as isRecoverableTelegramNetworkError, pt as removeChannelAllowFromStoreEntry, q as normalizeForwardedContext, r as deleteMessageTelegram, rt as normalizeDmAllowFromWithStore$1, s as sendPollTelegram, st as mergeDmAllowFromSources, t as buildInlineKeyboard, tt as isSenderAllowed$1, u as wasSentByBot, ut as toLocationContext, v as markdownToTelegramHtml, vt as listPairingChannels, w as recordState, x as fingerprintTelegramToken, xt as resolveTelegramTargetChatType, y as renderTelegramHtmlText, yt as isVoiceCompatibleAudio, z as buildTelegramGroupPeerId } from "./send-CcEF6VcP.js";
42
42
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-BoaDkVwc.js";
43
- import { $ as buildPluginToolGroups, A as isLikelyContextOverflowError, B as resolveSandboxContext, C as isAuthAssistantError, D as isContextOverflowError, E as isCompactionFailureError, F as parseImageSizeError, G as resolveProfile, H as createBrowserRouteContext, I as sanitizeUserFacingText, J as resolveBrowserControlAuth, K as getBridgeAuthForPort, L as isAuthPermanentErrorMessage, M as isRawApiErrorPayload, N as isTransientHttpError, O as isFailoverAssistantError, P as parseImageDimensionError, Q as applyOwnerOnlyToolPolicy, R as isTimeoutErrorMessage, S as getApiErrorPayloadFingerprint, T as isCloudCodeAssistFormatError, U as registerBrowserRoutes, V as resolveSandboxRuntimeStatus, W as resolveBrowserConfig, X as trimToUndefined$1, Y as resolveGatewayCredentialsFromConfig, Z as resolveSandboxConfigForAgent, _ as BILLING_ERROR_USER_MESSAGE, at as normalizeToolName, b as formatBillingErrorMessage, c as sanitizeSessionMessagesImages, ct as matchesAnyGlobPattern, d as resolveImageSanitizationLimits, dt as resolveBootstrapTotalMaxChars, et as collectExplicitAllowlist, f as canonicalizeBase64, ft as sanitizeGoogleTurnOrdering, g as isGoogleModelApi, h as downgradeOpenAIReasoningBlocks, i as pickFallbackThinkingLevel, it as expandToolGroups, j as isRateLimitAssistantError, k as isFailoverErrorMessage, l as sanitizeImageBlocks, lt as buildBootstrapContextFiles, m as downgradeOpenAIFunctionCallReasoningPairs, n as validateAnthropicTurns, nt as mergeAlsoAllowPolicy, o as isMessagingToolDuplicateNormalized, ot as resolveToolProfilePolicy, p as estimateBase64DecodedBytes, q as ensureBrowserControlAuth, r as validateGeminiTurns, rt as stripPluginOnlyAllowlist, s as normalizeTextForComparison, st as compileGlobPatterns, t as extractTextFromChatContent, tt as expandPolicyWithPluginGroups, u as sanitizeToolResultImages, ut as resolveBootstrapMaxChars, v as classifyFailoverReason, w as isBillingAssistantError, x as formatRawAssistantErrorForUi, y as formatAssistantErrorText, z as ensureSandboxWorkspaceForSession } from "./chat-content-CCOQCwrz.js";
44
- import { A as rawDataToString, B as isSecureWebSocketUrl, C as ensureChromeExtensionRelayServer, N as DEFAULT_UPLOAD_DIR, P as resolveExistingPathsWithinRoot, V as resolveClientIp, W as DEFAULT_AI_SNAPSHOT_MAX_CHARS, s as resolveLsofCommandSync, z as isLoopbackHost } from "./chrome-C2bUQR0d.js";
43
+ import { $ as buildPluginToolGroups, A as isLikelyContextOverflowError, B as resolveSandboxContext, C as isAuthAssistantError, D as isContextOverflowError, E as isCompactionFailureError, F as parseImageSizeError, G as resolveProfile, H as createBrowserRouteContext, I as sanitizeUserFacingText, J as resolveBrowserControlAuth, K as getBridgeAuthForPort, L as isAuthPermanentErrorMessage, M as isRawApiErrorPayload, N as isTransientHttpError, O as isFailoverAssistantError, P as parseImageDimensionError, Q as applyOwnerOnlyToolPolicy, R as isTimeoutErrorMessage, S as getApiErrorPayloadFingerprint, T as isCloudCodeAssistFormatError, U as registerBrowserRoutes, V as resolveSandboxRuntimeStatus, W as resolveBrowserConfig, X as trimToUndefined$1, Y as resolveGatewayCredentialsFromConfig, Z as resolveSandboxConfigForAgent, _ as BILLING_ERROR_USER_MESSAGE, at as normalizeToolName, b as formatBillingErrorMessage, c as sanitizeSessionMessagesImages, ct as matchesAnyGlobPattern, d as resolveImageSanitizationLimits, dt as resolveBootstrapTotalMaxChars, et as collectExplicitAllowlist, f as canonicalizeBase64, ft as sanitizeGoogleTurnOrdering, g as isGoogleModelApi, h as downgradeOpenAIReasoningBlocks, i as pickFallbackThinkingLevel, it as expandToolGroups, j as isRateLimitAssistantError, k as isFailoverErrorMessage, l as sanitizeImageBlocks, lt as buildBootstrapContextFiles, m as downgradeOpenAIFunctionCallReasoningPairs, n as validateAnthropicTurns, nt as mergeAlsoAllowPolicy, o as isMessagingToolDuplicateNormalized, ot as resolveToolProfilePolicy, p as estimateBase64DecodedBytes, q as ensureBrowserControlAuth, r as validateGeminiTurns, rt as stripPluginOnlyAllowlist, s as normalizeTextForComparison, st as compileGlobPatterns, t as extractTextFromChatContent, tt as expandPolicyWithPluginGroups, u as sanitizeToolResultImages, ut as resolveBootstrapMaxChars, v as classifyFailoverReason, w as isBillingAssistantError, x as formatRawAssistantErrorForUi, y as formatAssistantErrorText, z as ensureSandboxWorkspaceForSession } from "./chat-content-Dpzf2nbZ.js";
44
+ import { A as rawDataToString, B as isSecureWebSocketUrl, C as ensureChromeExtensionRelayServer, N as DEFAULT_UPLOAD_DIR, P as resolveExistingPathsWithinRoot, V as resolveClientIp, W as DEFAULT_AI_SNAPSHOT_MAX_CHARS, s as resolveLsofCommandSync, z as isLoopbackHost } from "./chrome-D9DwZOSC.js";
45
45
  import { a as skillsSnapshotSourceDiffers, c as assertMediaNotDataUrl, f as resolveSandboxedMediaSource, i as resolveSkillsPromptForRun, l as assertSandboxPath, m as applySkillEnvOverridesFromSnapshot, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverrides, r as loadWorkspaceSkillEntries, u as resolveSandboxInputPath } from "./skills-CE_rmZvg.js";
46
46
  import { t as resolveNetworkSsrFPolicy } from "./ssrf-config-ClPXs9e9.js";
47
47
  import { n as readJsonFile, r as writeJsonAtomic, t as createAsyncLock } from "./json-files-Dt0in6lC.js";
48
48
  import { t as ensureOpenClawModelsJson } from "./models-config-DqU-TWXh.js";
49
- import { C as loadModelCatalog, S as findModelInCatalog, _ as stripCarriedTranscriptFromBody, a as resolveAutoImageModel, c as applyTemplate, d as normalizeMediaUnderstandingChatType, f as resolveMediaUnderstandingScope, i as normalizeMediaAttachments, l as resolveConcurrency, n as buildProviderRegistry, o as resolveMediaAttachmentLocalRoots, p as CLI_OUTPUT_MAX_BUFFER, r as createMediaAttachmentCache, s as runCapability, t as runAudioTranscription, u as resolveTimeoutMs$2, v as buildRandomTempFilePath, w as modelSupportsVision, x as resolveAttachmentKind, y as registerUnhandledRejectionHandler } from "./audio-transcription-runner-2bpzZm3F.js";
50
- import { a as formatReasoningMessage, d as stripThinkingTagsFromText, f as formatToolSummary, g as isInsideCode, h as findCodeRegions, l as stripDowngradedToolCallText, m as stripReasoningTagsFromText, n as extractAssistantThinking, o as inferToolMetaFromArgs, p as resolveToolDisplay, s as isAssistantMessage, t as extractAssistantText$1, u as stripMinimaxToolCallXml } from "./pi-embedded-utils-BmeLQMRx.js";
51
- import { a as decodeDataUrl, i as coerceImageModelConfig, n as minimaxUnderstandImage, o as resolveProviderVisionModelFromConfig, r as coerceImageAssistantText } from "./provider-image-BSV8WjkR.js";
49
+ import { C as loadModelCatalog, S as findModelInCatalog, _ as stripCarriedTranscriptFromBody, a as resolveAutoImageModel, c as applyTemplate, d as normalizeMediaUnderstandingChatType, f as resolveMediaUnderstandingScope, i as normalizeMediaAttachments, l as resolveConcurrency, n as buildProviderRegistry, o as resolveMediaAttachmentLocalRoots, p as CLI_OUTPUT_MAX_BUFFER, r as createMediaAttachmentCache, s as runCapability, t as runAudioTranscription, u as resolveTimeoutMs$2, v as buildRandomTempFilePath, w as modelSupportsVision, x as resolveAttachmentKind, y as registerUnhandledRejectionHandler } from "./audio-transcription-runner-0gef4Ef0.js";
50
+ import { a as formatReasoningMessage, d as stripThinkingTagsFromText, f as formatToolSummary, g as isInsideCode, h as findCodeRegions, l as stripDowngradedToolCallText, m as stripReasoningTagsFromText, n as extractAssistantThinking, o as inferToolMetaFromArgs, p as resolveToolDisplay, s as isAssistantMessage, t as extractAssistantText$1, u as stripMinimaxToolCallXml } from "./pi-embedded-utils-CeNVVYT3.js";
51
+ import { a as decodeDataUrl, i as coerceImageModelConfig, n as minimaxUnderstandImage, o as resolveProviderVisionModelFromConfig, r as coerceImageAssistantText } from "./provider-image-DH8Jro3J.js";
52
52
  import { a as getDefaultMediaLocalRoots, i as getAgentScopedMediaLocalRoots, n as fetchRemoteMedia, r as readResponseWithLimit, t as MediaFetchError } from "./fetch-_qRMEQ9n.js";
53
53
  import { n as withStrictGuardedFetchMode, r as withTrustedEnvProxyGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-WEUniAgf.js";
54
54
  import { r as makeProxyFetch } from "./proxy-fetch-CboA-o2G.js";
@@ -56,7 +56,7 @@ import { n as resolveMarkdownTableMode } from "./markdown-tables-CLYGTk51.js";
56
56
  import { a as loadWebMedia, i as getDefaultLocalRoots, o as loadWebMediaRaw } from "./ir-Ch3XOsWl.js";
57
57
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-DcAHEi_B.js";
58
58
  import { c as getSkillsSnapshotVersion, i as resolveSkillCommandInvocation, l as pruneExpiredPending, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames, u as resolvePairingPaths } from "./skill-commands-C8ofD86R.js";
59
- import { _ as clearAgentRunContext, a as isEmbeddedPiRunActive, b as registerAgentRunContext, c as setActiveEmbeddedRun, d as handleMessageStart, f as handleMessageUpdate, g as endModelCall, h as createInlineCodeState, i as endInFlightEmbeddedAttempt, l as waitForEmbeddedPiRunEnd, m as buildCodeSpanIndex, n as beginInFlightEmbeddedAttempt, o as isEmbeddedPiRunStreaming, p as emitEmbeddedAgentEvent, r as clearActiveEmbeddedRun, s as queueEmbeddedPiMessage, t as abortEmbeddedPiRun, u as handleMessageEnd, v as emitAgentEvent, y as onAgentEvent } from "./runs-8iACp6xv.js";
59
+ import { _ as clearAgentRunContext, a as isEmbeddedPiRunActive, b as registerAgentRunContext, c as setActiveEmbeddedRun, d as handleMessageStart, f as handleMessageUpdate, g as endModelCall, h as createInlineCodeState, i as endInFlightEmbeddedAttempt, l as waitForEmbeddedPiRunEnd, m as buildCodeSpanIndex, n as beginInFlightEmbeddedAttempt, o as isEmbeddedPiRunStreaming, p as emitEmbeddedAgentEvent, r as clearActiveEmbeddedRun, s as queueEmbeddedPiMessage, t as abortEmbeddedPiRun, u as handleMessageEnd, v as emitAgentEvent, y as onAgentEvent } from "./runs-C1Lvxfri.js";
60
60
  import { t as buildOutboundMediaLoadOptions } from "./load-options-DOtW9oaI.js";
61
61
  import { n as splitMediaFromOutput, t as parseReplyDirectives } from "./reply-directives-CLkkbYIs.js";
62
62
  import { a as createDiscordRetryRunner, i as normalizePollInput, n as recordChannelActivity, t as getChannelActivity } from "./channel-activity-DhxIrkzC.js";
@@ -90,7 +90,7 @@ import { createServer } from "node:http";
90
90
  import { ProxyAgent, fetch as fetch$1 } from "undici";
91
91
  import { EdgeTTS } from "node-edge-tts";
92
92
  import net from "node:net";
93
- import WebSocket$1, { WebSocket } from "ws";
93
+ import WebSocket, { WebSocket as WebSocket$1 } from "ws";
94
94
  import { createJiti } from "jiti";
95
95
  import { AsyncLocalStorage } from "node:async_hooks";
96
96
  import AjvPkg from "ajv";
@@ -10442,7 +10442,7 @@ async function sendTranscriptEcho(params) {
10442
10442
  }
10443
10443
  const text = formatEchoTranscript(transcript, params.format ?? DEFAULT_ECHO_TRANSCRIPT_FORMAT);
10444
10444
  try {
10445
- const { deliverOutboundPayloads } = await import("./deliver-dkNTCb3Z.js");
10445
+ const { deliverOutboundPayloads } = await import("./deliver-D6hs0zDt.js");
10446
10446
  await deliverOutboundPayloads({
10447
10447
  cfg,
10448
10448
  channel: normalizedChannel,
@@ -14393,7 +14393,7 @@ var GatewayClient = class {
14393
14393
  if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
14394
14394
  });
14395
14395
  }
14396
- this.ws = new WebSocket(url, wsOptions);
14396
+ this.ws = new WebSocket$1(url, wsOptions);
14397
14397
  this.ws.on("open", () => {
14398
14398
  if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
14399
14399
  const tlsError = this.validateTlsFingerprint();
@@ -14589,7 +14589,7 @@ var GatewayClient = class {
14589
14589
  const connectChallengeTimeoutMs = typeof rawConnectDelayMs === "number" && Number.isFinite(rawConnectDelayMs) ? Math.max(250, Math.min(1e4, rawConnectDelayMs)) : 2e3;
14590
14590
  if (this.connectTimer) clearTimeout(this.connectTimer);
14591
14591
  this.connectTimer = setTimeout(() => {
14592
- if (this.connectSent || this.ws?.readyState !== WebSocket.OPEN) return;
14592
+ if (this.connectSent || this.ws?.readyState !== WebSocket$1.OPEN) return;
14593
14593
  this.opts.onConnectError?.(/* @__PURE__ */ new Error("gateway connect challenge timeout"));
14594
14594
  this.ws?.close(1008, "connect challenge timeout");
14595
14595
  }, connectChallengeTimeoutMs);
@@ -14631,7 +14631,7 @@ var GatewayClient = class {
14631
14631
  return null;
14632
14632
  }
14633
14633
  async request(method, params, opts) {
14634
- if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
14634
+ if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error("gateway not connected");
14635
14635
  const id = randomUUID();
14636
14636
  const frame = {
14637
14637
  type: "req",
@@ -22700,7 +22700,7 @@ async function routeReply(params) {
22700
22700
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
22701
22701
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
22702
22702
  try {
22703
- const { deliverOutboundPayloads } = await import("./deliver-dkNTCb3Z.js");
22703
+ const { deliverOutboundPayloads } = await import("./deliver-D6hs0zDt.js");
22704
22704
  const outboundSession = buildOutboundSessionContext({
22705
22705
  cfg,
22706
22706
  agentId: resolvedAgentId,
@@ -25131,7 +25131,7 @@ function requestNudge(input, cfg = loadConfig(), deps) {
25131
25131
  const { backbone, runner } = getAgentTurnRuntime();
25132
25132
  const id = await enqueueAgentTurn(backbone, payload);
25133
25133
  if (!isClaimableAgentTurnWorkId(id)) return;
25134
- const { runMainAgentTurn } = await import("./agent-turn-execute-C6g1y27e.js");
25134
+ const { runMainAgentTurn } = await import("./agent-turn-execute-Dg4sVJSk.js");
25135
25135
  await runner.claimAndExecute({
25136
25136
  workId: id,
25137
25137
  execute: (claim) => runMainAgentTurn(claim.message.payload)
@@ -26296,7 +26296,7 @@ async function handleHeartbeatError(params) {
26296
26296
  const AGENT_TURN_PROMPT = "Process the pending system events for this session.";
26297
26297
  async function ackAnnounceExecuted(payload) {
26298
26298
  if (payload.kind !== "announce") return;
26299
- const { markSubagentAnnounceExecuted } = await import("./subagent-registry-DA50ITkO.js");
26299
+ const { markSubagentAnnounceExecuted } = await import("./subagent-registry-B4EmS6cu.js");
26300
26300
  for (const runId of [payload.runId, ...payload.mergedRunIds ?? []]) try {
26301
26301
  await markSubagentAnnounceExecuted(runId);
26302
26302
  } catch {}
@@ -26793,7 +26793,7 @@ const DIRECT_ANNOUNCE_TRANSIENT_RETRY_DELAYS_MS = FAST_TEST_MODE ? [
26793
26793
  let subagentRegistryAccessPromise;
26794
26794
  const STALLED_SIBLING_ANNOUNCE_HOLD_MS = 5 * 6e4;
26795
26795
  function loadSubagentRegistryAccess() {
26796
- if (!subagentRegistryAccessPromise) subagentRegistryAccessPromise = import("./subagent-registry-DA50ITkO.js").catch((err) => {
26796
+ if (!subagentRegistryAccessPromise) subagentRegistryAccessPromise = import("./subagent-registry-B4EmS6cu.js").catch((err) => {
26797
26797
  const message = err instanceof Error && err.message ? err.message : String(err);
26798
26798
  defaultRuntime.log(`[warn] subagent registry access import failed: ${message}`);
26799
26799
  subagentRegistryAccessPromise = void 0;
@@ -59227,7 +59227,7 @@ async function deliverSessionMaintenanceWarning(params) {
59227
59227
  return;
59228
59228
  }
59229
59229
  try {
59230
- const { deliverOutboundPayloads } = await import("./deliver-dkNTCb3Z.js");
59230
+ const { deliverOutboundPayloads } = await import("./deliver-D6hs0zDt.js");
59231
59231
  const outboundSession = buildOutboundSessionContext({
59232
59232
  cfg: params.cfg,
59233
59233
  sessionKey: params.sessionKey
@@ -64927,7 +64927,7 @@ async function describeStickerImage(params) {
64927
64927
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
64928
64928
  try {
64929
64929
  const buffer = await fs$1.readFile(imagePath);
64930
- const { describeImageWithModel } = await import("./provider-image-QDVfXKph.js");
64930
+ const { describeImageWithModel } = await import("./provider-image-CBXOs7yQ.js");
64931
64931
  return (await describeImageWithModel({
64932
64932
  buffer,
64933
64933
  fileName: "sticker.webp",
@@ -66495,7 +66495,7 @@ async function resolveDiscordPreflightAudioMentionContext(params) {
66495
66495
  let transcript;
66496
66496
  let carry;
66497
66497
  if (needsPreflightTranscription) try {
66498
- const { transcribeFirstAudio } = await import("./audio-preflight-CsMLbzm_.js");
66498
+ const { transcribeFirstAudio } = await import("./audio-preflight-GgmY1Zte.js");
66499
66499
  const uploadable = audioAttachments.filter((att) => typeof att.url === "string" && att.url.length > 0);
66500
66500
  if (uploadable.length > 0) {
66501
66501
  const preflight = await transcribeFirstAudio({
@@ -73740,7 +73740,7 @@ function createDefaultDeps() {
73740
73740
  };
73741
73741
  },
73742
73742
  sendMessageTelegram: async (...args) => {
73743
- const { sendMessageTelegram } = await import("./send-BP8o2l4w.js");
73743
+ const { sendMessageTelegram } = await import("./send-BguPpGBL.js");
73744
73744
  return await sendMessageTelegram(...args);
73745
73745
  },
73746
73746
  sendMessageDiscord: async (...args) => {
@@ -77344,7 +77344,7 @@ var ResilientGatewayPlugin = class extends GatewayPlugin {
77344
77344
  }
77345
77345
  createWebSocket(url) {
77346
77346
  if (!this.wsAgent) return super.createWebSocket(url);
77347
- return new WebSocket$1(url, { agent: this.wsAgent });
77347
+ return new WebSocket(url, { agent: this.wsAgent });
77348
77348
  }
77349
77349
  };
77350
77350
  function createDiscordGatewayPlugin(params) {
@@ -85396,7 +85396,7 @@ async function registerSlackMonitorSlashCommands(params) {
85396
85396
  const [{ resolveAgentRoute }, { finalizeInboundContext }, { dispatchReplyWithDispatcher }] = await Promise.all([
85397
85397
  import("./resolve-route-D_C7pchh.js").then((n) => n.r),
85398
85398
  import("./inbound-context-DcAHEi_B.js").then((n) => n.n),
85399
- import("./provider-dispatcher-BkEWKVLB.js")
85399
+ import("./provider-dispatcher-Bx_RMlu-.js")
85400
85400
  ]);
85401
85401
  const [{ resolveConversationLabel }, { createReplyPrefixOptions }, { recordInboundSessionMetaSafe }] = await Promise.all([
85402
85402
  import("./conversation-label-D3nMf3rZ.js"),
@@ -88600,7 +88600,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, replyMedia =
88600
88600
  let audioPreflightCarry;
88601
88601
  const audioConfigEnabled = cfg.tools?.media?.audio && cfg.tools.media.audio.enabled !== false;
88602
88602
  if (hasAudio && !hasUserText && !disableAudioPreflight && (isGroup && requireMention && mentionRegexes.length > 0 || audioConfigEnabled === true)) try {
88603
- const { transcribeFirstAudio } = await import("./audio-preflight-CsMLbzm_.js");
88603
+ const { transcribeFirstAudio } = await import("./audio-preflight-GgmY1Zte.js");
88604
88604
  const preflight = await transcribeFirstAudio({
88605
88605
  ctx: {
88606
88606
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -99803,7 +99803,7 @@ async function runBeforeToolCallHook(args) {
99803
99803
  const params = args.params;
99804
99804
  if (args.ctx?.sessionKey) {
99805
99805
  const { getDiagnosticSessionState } = await import("./diagnostic-session-state-Cgs20sNV.js").then((n) => n.n);
99806
- const { logToolLoopAction } = await import("./diagnostic-C-Clqb63.js").then((n) => n.n);
99806
+ const { logToolLoopAction } = await import("./diagnostic-Bi52EuT5.js").then((n) => n.n);
99807
99807
  const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-D71m0Vho.js");
99808
99808
  const sessionState = getDiagnosticSessionState({
99809
99809
  sessionKey: args.ctx.sessionKey,
@@ -104656,7 +104656,7 @@ var OpenAIWebSocketManager = class extends EventEmitter {
104656
104656
  * Throws if the connection is not open.
104657
104657
  */
104658
104658
  send(event) {
104659
- if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error(`OpenAIWebSocketManager: cannot send — connection is not open (readyState=${this.ws?.readyState ?? "no socket"})`);
104659
+ if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error(`OpenAIWebSocketManager: cannot send — connection is not open (readyState=${this.ws?.readyState ?? "no socket"})`);
104660
104660
  this.ws.send(JSON.stringify(event));
104661
104661
  }
104662
104662
  /**
@@ -104673,7 +104673,7 @@ var OpenAIWebSocketManager = class extends EventEmitter {
104673
104673
  * Returns true if the WebSocket is currently open and ready to send.
104674
104674
  */
104675
104675
  isConnected() {
104676
- return this.ws !== null && this.ws.readyState === WebSocket$1.OPEN;
104676
+ return this.ws !== null && this.ws.readyState === WebSocket.OPEN;
104677
104677
  }
104678
104678
  /**
104679
104679
  * Permanently closes the WebSocket connection and disables auto-reconnect.
@@ -104683,7 +104683,7 @@ var OpenAIWebSocketManager = class extends EventEmitter {
104683
104683
  this._cancelRetryTimer();
104684
104684
  if (this.ws) {
104685
104685
  this.ws.removeAllListeners();
104686
- if (this.ws.readyState === WebSocket$1.OPEN || this.ws.readyState === WebSocket$1.CONNECTING) this.ws.close(1e3, "Client closed");
104686
+ if (this.ws.readyState === WebSocket.OPEN || this.ws.readyState === WebSocket.CONNECTING) this.ws.close(1e3, "Client closed");
104687
104687
  this.ws = null;
104688
104688
  }
104689
104689
  }
@@ -104693,7 +104693,7 @@ var OpenAIWebSocketManager = class extends EventEmitter {
104693
104693
  reject(/* @__PURE__ */ new Error("OpenAIWebSocketManager: apiKey is required before connecting."));
104694
104694
  return;
104695
104695
  }
104696
- const socket = new WebSocket$1(this.wsUrl, { headers: {
104696
+ const socket = new WebSocket(this.wsUrl, { headers: {
104697
104697
  Authorization: `Bearer ${this.apiKey}`,
104698
104698
  "OpenAI-Beta": "responses-websocket=v1"
104699
104699
  } });
@@ -1,6 +1,6 @@
1
1
  import { S as shortenHomeInString } from "./subsystem-C4zZI3bH.js";
2
2
  import { n as redactToolDetail } from "./redact-CWUfXAQC.js";
3
- import { I as sanitizeUserFacingText, t as extractTextFromChatContent } from "./chat-content-CCOQCwrz.js";
3
+ import { I as sanitizeUserFacingText, t as extractTextFromChatContent } from "./chat-content-Dpzf2nbZ.js";
4
4
 
5
5
  //#region src/shared/text/code-regions.ts
6
6
  function findCodeRegions(text) {