wednesdayai 0.5.1-dev.32 → 0.5.1-dev.33

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 (191) hide show
  1. package/dist/{agent-turn-runner-S1vq5Ulh.js → agent-turn-runner-DXYDVe1C.js} +4 -4
  2. package/dist/{audio-preflight-BMSN3-KS.js → audio-preflight-BiS0KKxu.js} +5 -5
  3. package/dist/{audio-transcription-runner-DC-89wRJ.js → audio-transcription-runner-BzhNp8ph.js} +1 -1
  4. package/dist/build-info.json +3 -3
  5. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  6. package/dist/{chat-content-B_yhsqe7.js → chat-content-9BKtrFlm.js} +3 -3
  7. package/dist/{chrome-DSN1Pl_7.js → chrome-DTpFo7Vl.js} +8 -8
  8. package/dist/{command-queue-C3C-3E3m.js → command-queue-Cmq2DaRv.js} +1 -1
  9. package/dist/{deliver-BXItFLzM.js → deliver-C6wOxWlw.js} +1 -1
  10. package/dist/{diagnostic-Zgub15n7.js → diagnostic-Dg-GxAUC.js} +1 -1
  11. package/dist/extensionAPI.js +12 -12
  12. package/dist/{pi-embedded-CnmVVEIX.js → pi-embedded-DssKKG-n.js} +28 -28
  13. package/dist/{pi-embedded-utils-BvSj9Abs.js → pi-embedded-utils-LAndcAQB.js} +1 -1
  14. package/dist/plugin-sdk/{agent-scope-Bo_5VoUQ.js → agent-scope-z4RGwm8d.js} +2 -2
  15. package/dist/plugin-sdk/agent-turn-execute-DvIzD6nF.js +64 -0
  16. package/dist/plugin-sdk/{agent-turn-runner-C3JXbjqd.js → agent-turn-runner-8kdhCR0d.js} +7 -7
  17. package/dist/plugin-sdk/agent-turn-runner-BKQemSvp.js +11 -0
  18. package/dist/plugin-sdk/{api-key-rotation-C8PepfL7.js → api-key-rotation-Lj4ohNVH.js} +2 -2
  19. package/dist/plugin-sdk/{audio-preflight-2hEF1ua3.js → audio-preflight-DYwzZFem.js} +2 -2
  20. package/dist/plugin-sdk/audio-preflight-DjN5jAH-.js +31 -0
  21. package/dist/plugin-sdk/{audio-transcription-runner-7xu2PHpy.js → audio-transcription-runner-Bv5OKlh3.js} +11 -11
  22. package/dist/plugin-sdk/{auth-profiles-DOGPhxiO.js → auth-profiles-CvaAM1bO.js} +4 -4
  23. package/dist/plugin-sdk/{channel-activity-BDv60wwb.js → channel-activity-I-orS8xM.js} +3 -3
  24. package/dist/plugin-sdk/{chat-content-BO1G3l1D.js → chat-content-ufcNYnUG.js} +13 -13
  25. package/dist/plugin-sdk/{chrome-BF-SD_TX.js → chrome-DyZgIs-_.js} +5 -5
  26. package/dist/plugin-sdk/{chunk-fz3rdwzH.js → chunk-9EGLoGbP.js} +5 -5
  27. package/dist/plugin-sdk/{chunk-Dq7a6OIU.js → chunk-CFEsZ1GH.js} +3 -3
  28. package/dist/plugin-sdk/{command-detection-BfuokWtK.js → command-detection-C4bS82Pf.js} +87 -87
  29. package/dist/plugin-sdk/{command-queue-BDZthp_6.js → command-queue-CwlMQitu.js} +7 -7
  30. package/dist/plugin-sdk/{command-queue-B5RNFnTv.js → command-queue-KcIqWrP5.js} +1 -1
  31. package/dist/plugin-sdk/{commands-registry-CaDDouTD.js → commands-registry-BCIM9pNg.js} +5 -5
  32. package/dist/plugin-sdk/{commands-registry-DfxbVPdI.js → commands-registry-CQZLa_SB.js} +2 -2
  33. package/dist/plugin-sdk/{config-BCCgl0hn.js → config-BZyYmcZu.js} +6 -6
  34. package/dist/plugin-sdk/{deliver-Bg7vSSSz.js → deliver-BVlOHiTJ.js} +14 -14
  35. package/dist/plugin-sdk/deliver-PynE7WAX.js +35 -0
  36. package/dist/plugin-sdk/{diagnostic-CKEahGHO.js → diagnostic-DyXVhcmx.js} +5 -5
  37. package/dist/plugin-sdk/{diagnostic-BWjtyPCW.js → diagnostic-d_SjMG4F.js} +6 -6
  38. package/dist/plugin-sdk/{errors-B671D37F.js → errors-BAcXagTa.js} +1 -1
  39. package/dist/plugin-sdk/{fetch-guard-DQ8o5XyC.js → fetch-guard-Dz6nf8wN.js} +3 -3
  40. package/dist/plugin-sdk/{fs-safe-CR39I5to.js → fs-safe-Qut4VUn8.js} +3 -3
  41. package/dist/plugin-sdk/{image-ops-CJ4R1_em.js → image-ops-YY9i_qTZ.js} +1 -1
  42. package/dist/plugin-sdk/index.js +56 -56
  43. package/dist/plugin-sdk/{ir-9C_t1wFy.js → ir-BEZ_dCEY.js} +5 -5
  44. package/dist/plugin-sdk/{local-roots-OTvG9Uet.js → local-roots-DKN_BXBH.js} +7 -7
  45. package/dist/plugin-sdk/{logger-F5PKgK4h.js → logger-DYxRK_FZ.js} +1 -1
  46. package/dist/plugin-sdk/{manager-MIrX2iPe.js → manager-CocOQ6fW.js} +7 -7
  47. package/dist/plugin-sdk/manager-kniOx-37.js +16 -0
  48. package/dist/plugin-sdk/markdown-tables-DZMpNqrF.js +9 -0
  49. package/dist/plugin-sdk/{markdown-tables-xlx41zl9.js → markdown-tables-DxHN1ers.js} +2 -2
  50. package/dist/plugin-sdk/{models-config-Cu2KlfWJ.js → models-config-kotnKGvn.js} +2 -2
  51. package/dist/plugin-sdk/{outbound-attachment-DdpEFtZb.js → outbound-attachment-B9nWc9td.js} +2 -2
  52. package/dist/plugin-sdk/{path-alias-guards-DvB3vS9N.js → path-alias-guards-Cr_8wxeu.js} +1 -1
  53. package/dist/plugin-sdk/{pi-embedded-utils-DDSsb5qa.js → pi-embedded-utils-DWpHMRE7.js} +3 -3
  54. package/dist/plugin-sdk/{pi-model-discovery-BDE0zgie.js → pi-model-discovery-BXvfEsj4.js} +1 -1
  55. package/dist/plugin-sdk/{pi-model-discovery-lrPucOUX.js → pi-model-discovery-DjLa3BId.js} +5 -5
  56. package/dist/plugin-sdk/provider-dispatcher-4NQHXxB2.js +64 -0
  57. package/dist/plugin-sdk/{provider-image-B7uo4IM9.js → provider-image-C2pG2NT6.js} +6 -6
  58. package/dist/plugin-sdk/provider-image-CSas_smQ.js +25 -0
  59. package/dist/plugin-sdk/provider-media-understanding.js +7 -7
  60. package/dist/plugin-sdk/{proxy-DhVCl72V.js → proxy-K3jUjtIm.js} +1 -1
  61. package/dist/plugin-sdk/proxy-LKdqVD6u.js +7 -0
  62. package/dist/plugin-sdk/{proxy-fetch-BSTGvynk.js → proxy-fetch-Dt3HV6r3.js} +1 -1
  63. package/dist/plugin-sdk/{pw-ai-qyvEDNxO.js → pw-ai-CEyeHcgC.js} +10 -10
  64. package/dist/plugin-sdk/{qmd-manager-DingBlWU.js → qmd-manager-BI2y_Xsk.js} +9 -9
  65. package/dist/plugin-sdk/{qmd-scope-C0GklfJd.js → qmd-scope-GwEh7nOe.js} +1 -1
  66. package/dist/plugin-sdk/{query-expansion-B9Vg4ySI.js → query-expansion-BAI-_ZoZ.js} +2 -2
  67. package/dist/plugin-sdk/{recorder-CQMvTjV8.js → recorder-B-yV8XCt.js} +2 -2
  68. package/dist/plugin-sdk/{redact-YbcPIGWf.js → redact-C9Eu_AUI.js} +1 -1
  69. package/dist/plugin-sdk/replies-C6PNMaDL.js +27 -0
  70. package/dist/plugin-sdk/{replies-C6lNv9uX.js → replies-Ct6DIg_T.js} +5 -5
  71. package/dist/plugin-sdk/{reply-directives-S8gK7am2.js → reply-directives-D9Lcc6Ee.js} +2 -2
  72. package/dist/plugin-sdk/reply-prefix-BLvER8Cn.js +7 -0
  73. package/dist/plugin-sdk/{reply-prefix-DdYvvEko.js → reply-prefix-DuJ6Ceoh.js} +1 -1
  74. package/dist/plugin-sdk/{resolve-route-Cxq62oS-.js → resolve-route-BrMXKQWq.js} +4 -4
  75. package/dist/plugin-sdk/{resolve-route-CCzmV6gY.js → resolve-route-C4PNm_z8.js} +5 -5
  76. package/dist/plugin-sdk/runs-CEkzAF6y.js +27 -0
  77. package/dist/plugin-sdk/{runs-CcTSQsmU.js → runs-D57TPnQe.js} +8 -8
  78. package/dist/plugin-sdk/{send-BOylli3b.js → send-BJF01MUC.js} +6 -6
  79. package/dist/plugin-sdk/{send-0pJP23lo.js → send-BSDWny4T.js} +7 -7
  80. package/dist/plugin-sdk/{send-DSlxN8Pu.js → send-CvmKKoxT.js} +8 -8
  81. package/dist/plugin-sdk/{send-EYY94HYr.js → send-Cvrj-ZGU.js} +6 -6
  82. package/dist/plugin-sdk/{send-Bp1cXLZh.js → send-D_WOTvDj.js} +15 -15
  83. package/dist/plugin-sdk/{send-CGkIpzem.js → send-Dw-aJMoX.js} +19 -19
  84. package/dist/plugin-sdk/send-Dy8O2zuT.js +23 -0
  85. package/dist/plugin-sdk/send-IBoEtx0n.js +28 -0
  86. package/dist/plugin-sdk/send-UFkGtDAI.js +24 -0
  87. package/dist/plugin-sdk/send-cy5_Wkcf.js +25 -0
  88. package/dist/plugin-sdk/{session-context-BtisnBHv.js → session-context-BPDLUTI-.js} +4 -4
  89. package/dist/plugin-sdk/{session-meta-BXadaJdY.js → session-meta-CLpadnWo.js} +1 -1
  90. package/dist/plugin-sdk/session-meta-CedMqUYk.js +13 -0
  91. package/dist/plugin-sdk/{sessions-CsfH2Imf.js → sessions-DjF1xlK7.js} +4 -4
  92. package/dist/plugin-sdk/{skill-commands-D1_4ZKCy.js → skill-commands-BUI0JAT4.js} +4 -4
  93. package/dist/plugin-sdk/skill-commands-ljWQco1T.js +13 -0
  94. package/dist/plugin-sdk/{skills-Btyhug-W.js → skills-hYZyUG78.js} +6 -6
  95. package/dist/plugin-sdk/{ssrf-DypqgWGs.js → ssrf-DCsLkTwC.js} +1 -1
  96. package/dist/plugin-sdk/{store-MtdrAUmh.js → store-Dq16uaw2.js} +2 -2
  97. package/dist/plugin-sdk/subagent-registry-D0_E_IUh.js +64 -0
  98. package/dist/plugin-sdk/{subsystem-C-lWCqvG.js → subsystem-CPqF9wja.js} +4 -4
  99. package/dist/plugin-sdk/{tables-DtTPpruH.js → tables-BlZ1n1jO.js} +1 -1
  100. package/dist/plugin-sdk/{tokens-Ctmmv-sn.js → tokens-DdbQh5HH.js} +1 -1
  101. package/dist/plugin-sdk/{tool-loop-detection-AZitBuSm.js → tool-loop-detection-BMMKhiis.js} +1 -1
  102. package/dist/plugin-sdk/user-run-recording-C-9BHIvT.js +11 -0
  103. package/dist/plugin-sdk/{user-run-recording-MA0pqjXW.js → user-run-recording-DBwhNB8S.js} +2 -2
  104. package/dist/{provider-image-0ihmfbzB.js → provider-image--nNTW4Mb.js} +1 -1
  105. package/dist/{pw-ai-DDb7sinq.js → pw-ai-AfL5U7Fu.js} +1 -1
  106. package/dist/{runs-DSDu8Ggr.js → runs-wZgLMJEO.js} +3 -3
  107. package/dist/{send-CcpSDSVi.js → send-CgLwzLsU.js} +1 -1
  108. package/extensions/acpx/package.json +1 -1
  109. package/extensions/anthropic/package.json +1 -1
  110. package/extensions/bifrost/package.json +1 -1
  111. package/extensions/bluebubbles/package.json +1 -1
  112. package/extensions/copilot-proxy/package.json +1 -1
  113. package/extensions/deepgram/package.json +1 -1
  114. package/extensions/deepinfra/package.json +1 -1
  115. package/extensions/diagnostics-otel/package.json +1 -1
  116. package/extensions/diffs/package.json +1 -1
  117. package/extensions/discord/package.json +1 -1
  118. package/extensions/dream-cycle/package.json +1 -1
  119. package/extensions/elevenlabs/package.json +1 -1
  120. package/extensions/feishu/package.json +1 -1
  121. package/extensions/gemini-search/package.json +1 -1
  122. package/extensions/google/package.json +1 -1
  123. package/extensions/google-gemini-cli-auth/package.json +1 -1
  124. package/extensions/googlechat/package.json +1 -1
  125. package/extensions/grok-search/package.json +1 -1
  126. package/extensions/groq/package.json +1 -1
  127. package/extensions/imessage/package.json +1 -1
  128. package/extensions/irc/package.json +1 -1
  129. package/extensions/kimi-search/package.json +1 -1
  130. package/extensions/kokoro/package.json +1 -1
  131. package/extensions/learning-core/package.json +1 -1
  132. package/extensions/line/package.json +1 -1
  133. package/extensions/llm-task/package.json +1 -1
  134. package/extensions/lobster/package.json +1 -1
  135. package/extensions/matrix/CHANGELOG.md +1 -1
  136. package/extensions/matrix/package.json +1 -1
  137. package/extensions/mattermost/package.json +1 -1
  138. package/extensions/memory-core/package.json +1 -1
  139. package/extensions/memory-lancedb/package.json +1 -1
  140. package/extensions/minimax/package.json +1 -1
  141. package/extensions/minimax-portal-auth/package.json +1 -1
  142. package/extensions/mistral/package.json +1 -1
  143. package/extensions/moonshot/package.json +1 -1
  144. package/extensions/msteams/CHANGELOG.md +1 -1
  145. package/extensions/msteams/package.json +1 -1
  146. package/extensions/nextcloud-talk/package.json +1 -1
  147. package/extensions/nostr/CHANGELOG.md +1 -1
  148. package/extensions/nostr/package.json +1 -1
  149. package/extensions/open-prose/package.json +1 -1
  150. package/extensions/openai/package.json +1 -1
  151. package/extensions/openai-realtime/package.json +1 -1
  152. package/extensions/openrouter/package.json +1 -1
  153. package/extensions/perplexity-search/package.json +1 -1
  154. package/extensions/searxng-search/package.json +1 -1
  155. package/extensions/signal/package.json +1 -1
  156. package/extensions/slack/package.json +1 -1
  157. package/extensions/synology-chat/package.json +1 -1
  158. package/extensions/telegram/package.json +1 -1
  159. package/extensions/tlon/package.json +1 -1
  160. package/extensions/twitch/CHANGELOG.md +1 -1
  161. package/extensions/twitch/package.json +1 -1
  162. package/extensions/ui-surfaces/package.json +1 -1
  163. package/extensions/voice-call/CHANGELOG.md +1 -1
  164. package/extensions/voice-call/package.json +1 -1
  165. package/extensions/whatsapp/package.json +1 -1
  166. package/extensions/zai/package.json +1 -1
  167. package/extensions/zalo/CHANGELOG.md +1 -1
  168. package/extensions/zalo/package.json +1 -1
  169. package/extensions/zalouser/CHANGELOG.md +1 -1
  170. package/extensions/zalouser/package.json +1 -1
  171. package/package.json +1 -1
  172. package/dist/plugin-sdk/agent-turn-execute-CMKo76ES.js +0 -64
  173. package/dist/plugin-sdk/agent-turn-runner-BJ1AJcha.js +0 -11
  174. package/dist/plugin-sdk/audio-preflight-CFu8SIs1.js +0 -31
  175. package/dist/plugin-sdk/deliver-CEJKlOhp.js +0 -35
  176. package/dist/plugin-sdk/manager-CmZKP-p5.js +0 -16
  177. package/dist/plugin-sdk/markdown-tables-BkBrkIeP.js +0 -9
  178. package/dist/plugin-sdk/provider-dispatcher-BNkorblH.js +0 -64
  179. package/dist/plugin-sdk/provider-image-9q2PRfAE.js +0 -25
  180. package/dist/plugin-sdk/proxy-BFnRHQ1U.js +0 -7
  181. package/dist/plugin-sdk/replies-d8pN_YkG.js +0 -27
  182. package/dist/plugin-sdk/reply-prefix-B_Blqt3O.js +0 -7
  183. package/dist/plugin-sdk/runs-DUGX8nMl.js +0 -27
  184. package/dist/plugin-sdk/send-7UOu2b5k.js +0 -24
  185. package/dist/plugin-sdk/send-80qNXhcx.js +0 -23
  186. package/dist/plugin-sdk/send-B6axJC2U.js +0 -28
  187. package/dist/plugin-sdk/send-Ch18O9mH.js +0 -25
  188. package/dist/plugin-sdk/session-meta-B5EQwx2r.js +0 -13
  189. package/dist/plugin-sdk/skill-commands-BtfKphCQ.js +0 -13
  190. package/dist/plugin-sdk/subagent-registry-Te4gaZ-p.js +0 -64
  191. package/dist/plugin-sdk/user-run-recording-Ci6PpHUE.js +0 -11
@@ -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("./pi-embedded-CnmVVEIX.js").then((n) => n.i);
187
+ const { runMainAgentTurn } = await import("./pi-embedded-DssKKG-n.js").then((n) => n.i);
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-C3C-3E3m.js").then((n) => n.r);
199
+ const { getQueueSize } = await import("./command-queue-Cmq2DaRv.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-C3C-3E3m.js").then((n) => n.r)).getQueueSize(CommandLane.Main) > 0;
221
+ const isBusy = opts?.isSessionBusy ? opts.isSessionBusy() : (await import("./command-queue-Cmq2DaRv.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("./pi-embedded-CnmVVEIX.js").then((n) => n.r);
284
+ const { markSubagentAnnounceDenied } = await import("./pi-embedded-DssKKG-n.js").then((n) => n.r);
285
285
  await markSubagentAnnounceDenied(payload.runId, payload.mergedRunIds);
286
286
  }
287
287
  releaseSucceeded = outcome.ok;
@@ -9,8 +9,8 @@ import "./diagnostic-events-BTSwhIfk.js";
9
9
  import "./redact-CjEHZgrH.js";
10
10
  import "./image-ops-CSXMXMbf.js";
11
11
  import "./pi-model-discovery-BpZCP1dV.js";
12
- import "./chat-content-B_yhsqe7.js";
13
- import "./chrome-DSN1Pl_7.js";
12
+ import "./chat-content-9BKtrFlm.js";
13
+ import "./chrome-DTpFo7Vl.js";
14
14
  import "./skills-iLSihtpK.js";
15
15
  import "./path-alias-guards-Doc1hCCV.js";
16
16
  import "./errors-CMV6GqKk.js";
@@ -19,9 +19,9 @@ import "./proxy-env-BkkMjSkf.js";
19
19
  import "./store-CKDhttWD.js";
20
20
  import "./thinking-D6R5MauW.js";
21
21
  import "./models-config-BUFdg_1S.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-DC-89wRJ.js";
23
- import "./pi-embedded-utils-BvSj9Abs.js";
24
- import "./provider-image-0ihmfbzB.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-BzhNp8ph.js";
23
+ import "./pi-embedded-utils-LAndcAQB.js";
24
+ import "./provider-image--nNTW4Mb.js";
25
25
  import "./fetch-BG4NcqPU.js";
26
26
  import "./fetch-guard-LmlNs4MH.js";
27
27
  import "./proxy-fetch-DlgRJUWl.js";
@@ -5,7 +5,7 @@ import { r as normalizeChatType } from "./conversation-label-Ckfze_uK.js";
5
5
  import { c as detectMime, f as isAudioFileName, h as normalizeMimeType, m as kindFromMime, u as getFileExtension } from "./image-ops-CSXMXMbf.js";
6
6
  import { t as resolveNetworkSsrFPolicy } from "./ssrf-config-CWMxbvLB.js";
7
7
  import { t as ensureOpenClawModelsJson } from "./models-config-BUFdg_1S.js";
8
- import { s as resolveProviderVisionModelFromConfig, t as describeImageWithModel } from "./provider-image-0ihmfbzB.js";
8
+ import { s as resolveProviderVisionModelFromConfig, t as describeImageWithModel } from "./provider-image--nNTW4Mb.js";
9
9
  import { a as getDefaultMediaLocalRoots, n as fetchRemoteMedia, t as MediaFetchError } from "./fetch-BG4NcqPU.js";
10
10
  import { n as fetchWithTimeout } from "./fetch-timeout-Ct3Jl5dU.js";
11
11
  import { t as fetchWithSsrFGuard } from "./fetch-guard-LmlNs4MH.js";
@@ -1,7 +1,7 @@
1
1
  {
2
- "version": "0.5.1-dev.32+f40687885",
3
- "commit": "f406878855b2ae810660cb8a6c64d33921c23f8a",
2
+ "version": "0.5.1-dev.33+92a90e86e",
3
+ "commit": "92a90e86e23eee32ced5df8043f417b19b94d370",
4
4
  "channel": "dev",
5
5
  "forkBase": "openclaw@2026.3.2",
6
- "builtAt": "2026-10-25T07:26:11.988Z"
6
+ "builtAt": "2026-10-25T09:33:22.074Z"
7
7
  }
@@ -1 +1 @@
1
- 70ed9e76175aa1817b565bd480562eec4ee8109bc581e6d2d9fc4f310f44ec25
1
+ 26596c500aa00c1b6272efa35f53387be9bf7aec4500cb5f553012337e78091d
@@ -5,7 +5,7 @@ import { Ar as formatCliCommand, H as createConfigIO, K as writeConfigFile, Lt a
5
5
  import { F as resolveAgentMainSessionKey, P as canonicalizeMainSessionAlias, kt as sanitizeToolCallIdsForCloudCodeAssist } from "./sessions-D0aoDlPo.js";
6
6
  import { t as generateSecureToken } from "./secure-random-BDA1WAvZ.js";
7
7
  import { i as getImageMetadata, n as buildImageResizeSideGrid, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS } from "./image-ops-CSXMXMbf.js";
8
- 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-DSN1Pl_7.js";
8
+ 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-DTpFo7Vl.js";
9
9
  import { d as resolveSandboxPath, h as sanitizeEnvVars, o as syncSkillsToWorkspace, u as resolveSandboxInputPath } from "./skills-iLSihtpK.js";
10
10
  import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-Doc1hCCV.js";
11
11
  import { i as formatErrorMessage, n as extractErrorCode } from "./errors-CMV6GqKk.js";
@@ -1269,7 +1269,7 @@ function isModuleNotFoundError(err) {
1269
1269
  }
1270
1270
  async function loadPwAiModule(mode) {
1271
1271
  try {
1272
- return await import("./pw-ai-DDb7sinq.js");
1272
+ return await import("./pw-ai-AfL5U7Fu.js");
1273
1273
  } catch (err) {
1274
1274
  if (mode === "soft") return null;
1275
1275
  if (isModuleNotFoundError(err)) return null;
@@ -3634,7 +3634,7 @@ function createProfileAvailability({ opts, profile, state, getProfileState, setP
3634
3634
  //#region src/browser/server-context.reset.ts
3635
3635
  async function closePlaywrightBrowserConnection() {
3636
3636
  try {
3637
- await (await import("./pw-ai-DDb7sinq.js")).closePlaywrightBrowserConnection();
3637
+ await (await import("./pw-ai-AfL5U7Fu.js")).closePlaywrightBrowserConnection();
3638
3638
  } catch {}
3639
3639
  }
3640
3640
  function createProfileResetOps({ profile, getProfileState, stopRunningBrowser, isHttpReachable, resolveOpenClawUserDataDir }) {
@@ -12,7 +12,7 @@ import { createHmac } from "node:crypto";
12
12
  import net from "node:net";
13
13
  import http, { createServer } from "node:http";
14
14
  import https from "node:https";
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 { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { a as logLaneTaskCompleted, i as logLaneEnqueue, r as logLaneDequeue, t as diag } from "./diagnostic-Zgub15n7.js";
2
+ import { a as logLaneTaskCompleted, i as logLaneEnqueue, r as logLaneDequeue, t as diag } from "./diagnostic-Dg-GxAUC.js";
3
3
  import { t as CommandLane } from "./lanes-DBBnME5O.js";
4
4
 
5
5
  //#region src/process/command-queue.ts
@@ -5,7 +5,7 @@ import { t as createSubsystemLogger } from "./subsystem-BaT-AAVZ.js";
5
5
  import { $n as resolveStorePath, En as loadSessionStore, Fn as updateSessionStoreEntry, Jt as getActivePluginRegistryVersion, Kt as getActivePluginRegistry, Oa as resolveOpenClawAgentDir, Tn as listConfiguredSessionStorageAgentIds, U as loadConfig, ar as normalizeChannelId, gn as StorageReadAccessError, or as getChannelDock, rr as getChannelPlugin, vn as getConversationReadQuery } from "./model-selection-Cta0pNy8.js";
6
6
  import { L as resolveMainSessionKey, Nt as getGlobalHookRunner, P as canonicalizeMainSessionAlias, a as resolveMirroredTranscriptText, at as eventOrder, i as appendAssistantMessageToSessionTranscript, o as parseInlineDirectives } from "./sessions-D0aoDlPo.js";
7
7
  import { n as generateSecureUuid } from "./secure-random-BDA1WAvZ.js";
8
- import { a as isMessagingToolDuplicate, t as extractTextFromChatContent } from "./chat-content-B_yhsqe7.js";
8
+ import { a as isMessagingToolDuplicate, t as extractTextFromChatContent } from "./chat-content-9BKtrFlm.js";
9
9
  import { o as hasErrnoCode } from "./errors-CMV6GqKk.js";
10
10
  import { t as ensureOpenClawModelsJson } from "./models-config-BUFdg_1S.js";
11
11
  import { i as getAgentScopedMediaLocalRoots } from "./fetch-BG4NcqPU.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-DSDu8Ggr.js").then((n) => n.c).then(({ abortEmbeddedPiRun }) => {
840
+ import("./runs-wZgLMJEO.js").then((n) => n.c).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)}`);
@@ -7,19 +7,19 @@ import { a as resolveAgentIdentity } from "./reply-prefix-CsFVKRFy.js";
7
7
  import "./github-copilot-token-DHoyZ4I0.js";
8
8
  import "./send-B-wsvKsJ.js";
9
9
  import "./send-u1io2DQe.js";
10
- import { a as resolveAgentTimeoutMs, t as runEmbeddedPiAgent } from "./pi-embedded-CnmVVEIX.js";
10
+ import { a as resolveAgentTimeoutMs, t as runEmbeddedPiAgent } from "./pi-embedded-DssKKG-n.js";
11
11
  import "./tokens-CnCqZSqd.js";
12
12
  import "./sessions-D0aoDlPo.js";
13
13
  import "./diagnostic-events-BTSwhIfk.js";
14
- import "./diagnostic-Zgub15n7.js";
14
+ import "./diagnostic-Dg-GxAUC.js";
15
15
  import "./diagnostic-session-state-evjvR-jF.js";
16
16
  import "./redact-CjEHZgrH.js";
17
- import "./command-queue-C3C-3E3m.js";
18
- import "./send-CcpSDSVi.js";
17
+ import "./command-queue-Cmq2DaRv.js";
18
+ import "./send-CgLwzLsU.js";
19
19
  import "./image-ops-CSXMXMbf.js";
20
20
  import "./pi-model-discovery-BpZCP1dV.js";
21
- import "./chat-content-B_yhsqe7.js";
22
- import "./chrome-DSN1Pl_7.js";
21
+ import "./chat-content-9BKtrFlm.js";
22
+ import "./chrome-DTpFo7Vl.js";
23
23
  import "./skills-iLSihtpK.js";
24
24
  import "./path-alias-guards-Doc1hCCV.js";
25
25
  import "./errors-CMV6GqKk.js";
@@ -28,9 +28,9 @@ import "./proxy-env-BkkMjSkf.js";
28
28
  import "./store-CKDhttWD.js";
29
29
  import "./thinking-D6R5MauW.js";
30
30
  import "./models-config-BUFdg_1S.js";
31
- import "./audio-transcription-runner-DC-89wRJ.js";
32
- import "./pi-embedded-utils-BvSj9Abs.js";
33
- import "./provider-image-0ihmfbzB.js";
31
+ import "./audio-transcription-runner-BzhNp8ph.js";
32
+ import "./pi-embedded-utils-LAndcAQB.js";
33
+ import "./provider-image--nNTW4Mb.js";
34
34
  import "./fetch-BG4NcqPU.js";
35
35
  import "./fetch-guard-LmlNs4MH.js";
36
36
  import "./proxy-fetch-DlgRJUWl.js";
@@ -42,11 +42,11 @@ import "./render-BHXtBhhj.js";
42
42
  import "./commands-registry-HUVaws5Y.js";
43
43
  import "./user-run-recording-Z5twhe3H.js";
44
44
  import "./recorder-C0__awpf.js";
45
- import "./agent-turn-runner-S1vq5Ulh.js";
45
+ import "./agent-turn-runner-DXYDVe1C.js";
46
46
  import "./skill-commands-KAmYqFNI.js";
47
- import "./runs-DSDu8Ggr.js";
47
+ import "./runs-wZgLMJEO.js";
48
48
  import "./outbound-message-hooks-BGElufKQ.js";
49
- import "./deliver-BXItFLzM.js";
49
+ import "./deliver-C6wOxWlw.js";
50
50
  import "./fetch-BNVTc8Bi.js";
51
51
  import "./channel-activity-GWyLZ7Eo.js";
52
52
  import "./tables-DIWOohYu.js";
@@ -15,17 +15,17 @@ import { $ as stripMessageCarriers, A as resolveChannelResetConfig, At as INPUT_
15
15
  import { n as isDiagnosticsEnabled, t as emitDiagnosticEvent } from "./diagnostic-events-BTSwhIfk.js";
16
16
  import { n as onSessionTranscriptUpdate } from "./transcript-events-C2lcxc6-.js";
17
17
  import { n as generateSecureUuid, t as generateSecureToken } from "./secure-random-BDA1WAvZ.js";
18
- 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-Zgub15n7.js";
18
+ 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-Dg-GxAUC.js";
19
19
  import { r as getDiagnosticSessionState, s as redactChannelCorrelation } from "./diagnostic-session-state-evjvR-jF.js";
20
20
  import { t as redactIdentifier } from "./redact-identifier-CUq5OWH1.js";
21
21
  import { i as testRegexWithBoundedInput, r as compileSafeRegex, t as redactSensitiveText } from "./redact-CjEHZgrH.js";
22
22
  import { t as CommandLane } from "./lanes-DBBnME5O.js";
23
- 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-C3C-3E3m.js";
24
- import { $ as resolveTelegramReplyId, A as resolveTelegramFetch, B as buildTelegramGroupPeerId, C as getTelegramFleetSupervisor, D as recordWebhook, E as recordUpdate, F as resolveCronStorePath, G as expandTextLinks, H as buildTelegramThreadParams, I as buildGroupLabel, J as normalizeForwardedContext, K as extractTelegramLocation, L as buildSenderLabel, M as formatTelegramErrorMessage, N as withTelegramApiErrorLogging, O as registerAccount, P as loadCronStore, Q as resolveTelegramMediaPlaceholder, R as buildSenderName, S as fingerprintTelegramToken, St as resolveTelegramTargetChatType, T as recordState, U as buildTypingThreadParams, V as buildTelegramParentPeer, W as describeReplyTarget, X as resolveTelegramForumThreadId, Y as resolveTelegramDirectPeerId, Z as resolveTelegramGroupAllowFromContext, _ as isTelegramEditMayHaveLandedError, _t as writeJsonFileAtomically, a as reactMessageTelegram, at as resolveSenderAllowMatch$1, b as renderTelegramHtmlText, bt as isVoiceCompatibleAudio, c as sendStickerTelegram, ct as mergeDmAllowFromSources, d as wasSentByBot, dt as toLocationContext, et as resolveTelegramStreamMode, f as extractTelegramErrorText, ft as addChannelAllowFromStoreEntry, g as isTelegramClientRejection, gt as readJsonFileWithFallback, h as isSafeToRetrySendError, ht as upsertChannelPairingRequest, i as editMessageTelegram, it as normalizeDmAllowFromWithStore$1, j as splitTelegramCaption, k as releaseAccountOwner, lt as resolveGroupAllowFromSources, m as isRecoverableTelegramNetworkError, mt as removeChannelAllowFromStoreEntry, n as createForumTopicTelegram, nt as isSenderAllowed$1, o as sendMessageTelegram, ot as firstDefined$1, p as isDefiniteTelegramRequestNonDeliveryError, pt as readChannelAllowFromStore, q as hasBotMention, r as deleteMessageTelegram, rt as normalizeAllowFrom$2, s as sendPollTelegram, st as isSenderIdAllowed, t as buildInlineKeyboard, tt as resolveTelegramThreadSpec, u as resolveTelegramVoiceSend, ut as formatLocationText, v as markdownToTelegramChunks, vt as getPairingAdapter, w as recordApiRequest, x as wrapFileReferencesInHtml, xt as parseTelegramTarget, y as markdownToTelegramHtml, yt as listPairingChannels, z as buildTelegramGroupFrom } from "./send-CcpSDSVi.js";
23
+ 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-Cmq2DaRv.js";
24
+ import { $ as resolveTelegramReplyId, A as resolveTelegramFetch, B as buildTelegramGroupPeerId, C as getTelegramFleetSupervisor, D as recordWebhook, E as recordUpdate, F as resolveCronStorePath, G as expandTextLinks, H as buildTelegramThreadParams, I as buildGroupLabel, J as normalizeForwardedContext, K as extractTelegramLocation, L as buildSenderLabel, M as formatTelegramErrorMessage, N as withTelegramApiErrorLogging, O as registerAccount, P as loadCronStore, Q as resolveTelegramMediaPlaceholder, R as buildSenderName, S as fingerprintTelegramToken, St as resolveTelegramTargetChatType, T as recordState, U as buildTypingThreadParams, V as buildTelegramParentPeer, W as describeReplyTarget, X as resolveTelegramForumThreadId, Y as resolveTelegramDirectPeerId, Z as resolveTelegramGroupAllowFromContext, _ as isTelegramEditMayHaveLandedError, _t as writeJsonFileAtomically, a as reactMessageTelegram, at as resolveSenderAllowMatch$1, b as renderTelegramHtmlText, bt as isVoiceCompatibleAudio, c as sendStickerTelegram, ct as mergeDmAllowFromSources, d as wasSentByBot, dt as toLocationContext, et as resolveTelegramStreamMode, f as extractTelegramErrorText, ft as addChannelAllowFromStoreEntry, g as isTelegramClientRejection, gt as readJsonFileWithFallback, h as isSafeToRetrySendError, ht as upsertChannelPairingRequest, i as editMessageTelegram, it as normalizeDmAllowFromWithStore$1, j as splitTelegramCaption, k as releaseAccountOwner, lt as resolveGroupAllowFromSources, m as isRecoverableTelegramNetworkError, mt as removeChannelAllowFromStoreEntry, n as createForumTopicTelegram, nt as isSenderAllowed$1, o as sendMessageTelegram, ot as firstDefined$1, p as isDefiniteTelegramRequestNonDeliveryError, pt as readChannelAllowFromStore, q as hasBotMention, r as deleteMessageTelegram, rt as normalizeAllowFrom$2, s as sendPollTelegram, st as isSenderIdAllowed, t as buildInlineKeyboard, tt as resolveTelegramThreadSpec, u as resolveTelegramVoiceSend, ut as formatLocationText, v as markdownToTelegramChunks, vt as getPairingAdapter, w as recordApiRequest, x as wrapFileReferencesInHtml, xt as parseTelegramTarget, y as markdownToTelegramHtml, yt as listPairingChannels, z as buildTelegramGroupFrom } from "./send-CgLwzLsU.js";
25
25
  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-CSXMXMbf.js";
26
26
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-BpZCP1dV.js";
27
- 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 compileGlobPatterns, d as resolveImageSanitizationLimits, dt as resolveBootstrapMaxChars, et as collectExplicitAllowlist, f as canonicalizeBase64, ft as resolveBootstrapTotalMaxChars, g as isGoogleModelApi, h as downgradeOpenAIReasoningBlocks, i as pickFallbackThinkingLevel, it as expandToolGroups, j as isRateLimitAssistantError, k as isFailoverErrorMessage, l as sanitizeImageBlocks, lt as matchesAnyGlobPattern, m as downgradeOpenAIFunctionCallReasoningPairs, n as validateAnthropicTurns, nt as mergeAlsoAllowPolicy, o as isMessagingToolDuplicateNormalized, ot as resolveToolProfilePolicy, p as estimateBase64DecodedBytes, pt as sanitizeGoogleTurnOrdering, q as ensureBrowserControlAuth, r as validateGeminiTurns, rt as stripPluginOnlyAllowlist, s as normalizeTextForComparison, st as listCoreToolIds, t as extractTextFromChatContent, tt as expandPolicyWithPluginGroups, u as sanitizeToolResultImages, ut as buildBootstrapContextFiles, v as classifyFailoverReason, w as isBillingAssistantError, x as formatRawAssistantErrorForUi, y as formatAssistantErrorText, z as ensureSandboxWorkspaceForSession } from "./chat-content-B_yhsqe7.js";
28
- 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-DSN1Pl_7.js";
27
+ 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 compileGlobPatterns, d as resolveImageSanitizationLimits, dt as resolveBootstrapMaxChars, et as collectExplicitAllowlist, f as canonicalizeBase64, ft as resolveBootstrapTotalMaxChars, g as isGoogleModelApi, h as downgradeOpenAIReasoningBlocks, i as pickFallbackThinkingLevel, it as expandToolGroups, j as isRateLimitAssistantError, k as isFailoverErrorMessage, l as sanitizeImageBlocks, lt as matchesAnyGlobPattern, m as downgradeOpenAIFunctionCallReasoningPairs, n as validateAnthropicTurns, nt as mergeAlsoAllowPolicy, o as isMessagingToolDuplicateNormalized, ot as resolveToolProfilePolicy, p as estimateBase64DecodedBytes, pt as sanitizeGoogleTurnOrdering, q as ensureBrowserControlAuth, r as validateGeminiTurns, rt as stripPluginOnlyAllowlist, s as normalizeTextForComparison, st as listCoreToolIds, t as extractTextFromChatContent, tt as expandPolicyWithPluginGroups, u as sanitizeToolResultImages, ut as buildBootstrapContextFiles, v as classifyFailoverReason, w as isBillingAssistantError, x as formatRawAssistantErrorForUi, y as formatAssistantErrorText, z as ensureSandboxWorkspaceForSession } from "./chat-content-9BKtrFlm.js";
28
+ 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-DTpFo7Vl.js";
29
29
  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-iLSihtpK.js";
30
30
  import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-Doc1hCCV.js";
31
31
  import { a as formatUncaughtError, c as readErrorName, i as formatErrorMessage, o as hasErrnoCode, r as formatErrorChainMessage, t as collectErrorGraphCandidates } from "./errors-CMV6GqKk.js";
@@ -36,9 +36,9 @@ import { t as resolveNetworkSsrFPolicy } from "./ssrf-config-CWMxbvLB.js";
36
36
  import { n as readJsonFile, r as writeJsonAtomic, t as createAsyncLock } from "./json-files-1Zv08-ZT.js";
37
37
  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-D6R5MauW.js";
38
38
  import { t as ensureOpenClawModelsJson } from "./models-config-BUFdg_1S.js";
39
- 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-DC-89wRJ.js";
40
- 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-BvSj9Abs.js";
41
- import { a as coerceImageModelConfig, i as coerceImageAssistantText, o as decodeDataUrl, r as minimaxUnderstandImage, s as resolveProviderVisionModelFromConfig } from "./provider-image-0ihmfbzB.js";
39
+ 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-BzhNp8ph.js";
40
+ 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-LAndcAQB.js";
41
+ import { a as coerceImageModelConfig, i as coerceImageAssistantText, o as decodeDataUrl, r as minimaxUnderstandImage, s as resolveProviderVisionModelFromConfig } from "./provider-image--nNTW4Mb.js";
42
42
  import { a as getDefaultMediaLocalRoots, i as getAgentScopedMediaLocalRoots, n as fetchRemoteMedia, r as readResponseWithLimit, t as MediaFetchError } from "./fetch-BG4NcqPU.js";
43
43
  import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-Ct3Jl5dU.js";
44
44
  import { n as withStrictGuardedFetchMode, r as withTrustedEnvProxyGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-LmlNs4MH.js";
@@ -50,11 +50,11 @@ import { a as loadWebMedia, i as getDefaultLocalRoots, o as loadWebMediaRaw } fr
50
50
  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-HUVaws5Y.js";
51
51
  import { i as AGENT_LANE_SUBAGENT, r as AGENT_LANE_NESTED, t as startUserSessionRun } from "./user-run-recording-Z5twhe3H.js";
52
52
  import { a as getGatewayInstanceId, n as deriveSessionRunId, o as resolveSessionRunStore, r as inferSessionRunKind, t as createSessionRunRecorder } from "./recorder-C0__awpf.js";
53
- 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-S1vq5Ulh.js";
53
+ 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-DXYDVe1C.js";
54
54
  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-KAmYqFNI.js";
55
- import { _ as endModelCall, a as isEmbeddedPiRunActive, b as onAgentEvent, d as handleMessageEnd, f as handleMessageStart, g as createInlineCodeState, h as buildCodeSpanIndex, i as endInFlightEmbeddedAttempt, l as setActiveEmbeddedRun, m as emitEmbeddedAgentEvent, n as beginInFlightEmbeddedAttempt, o as isEmbeddedPiRunStreaming, p as handleMessageUpdate, r as clearActiveEmbeddedRun, s as queueEmbeddedPiMessage, t as abortEmbeddedPiRun, u as waitForEmbeddedPiRunEnd, v as clearAgentRunContext, x as registerAgentRunContext, y as emitAgentEvent } from "./runs-DSDu8Ggr.js";
55
+ import { _ as endModelCall, a as isEmbeddedPiRunActive, b as onAgentEvent, d as handleMessageEnd, f as handleMessageStart, g as createInlineCodeState, h as buildCodeSpanIndex, i as endInFlightEmbeddedAttempt, l as setActiveEmbeddedRun, m as emitEmbeddedAgentEvent, n as beginInFlightEmbeddedAttempt, o as isEmbeddedPiRunStreaming, p as handleMessageUpdate, r as clearActiveEmbeddedRun, s as queueEmbeddedPiMessage, t as abortEmbeddedPiRun, u as waitForEmbeddedPiRunEnd, v as clearAgentRunContext, x as registerAgentRunContext, y as emitAgentEvent } from "./runs-wZgLMJEO.js";
56
56
  import { a as toInternalMessageReceivedContext, c as toPluginMessageReceivedEvent, d as resolveOutboundSessionId, i as toInternalMessagePreprocessedContext, l as fireAndForgetHook, n as createMessageSentEmitter, o as toInternalMessageTranscribedContext, r as deriveInboundMessageHookContext, s as toPluginMessageContext, t as applyMessageSendingHook, u as buildOutboundSessionContext } from "./outbound-message-hooks-BGElufKQ.js";
57
- import { A as resolveReplyToMode, C as applyReplyThreading, D as shouldSuppressMessagingToolReplies, E as isRenderablePayload, M as normalizeChannelTargetInput, N as normalizeTargetForProvider, O as shouldSuppressReasoningPayload, S as applyReplyTagsToPayload, T as filterMessagingToolMediaDuplicates, _ as resolveContextTokensForModel, a as normalizeOutboundPayloadsForJson, b as readFullTranscriptEntriesFromBackend, c as loadCombinedSessionStoreForGateway, d as throwIfAborted, f as loadChannelOutboundAdapter, g as lookupContextTokens, h as stripLeadingInboundMetadata, i as normalizeOutboundPayloads, j as buildTargetResolverSignature, k as createReplyToModeFilterForChannel, l as capArrayByJsonBytes, m as extractToolCallNames, o as normalizeReplyPayloadsForDelivery, p as countToolResults, r as formatOutboundPayloadLog, s as stampReplyActivity, t as deliverOutboundPayloads, u as jsonUtf8Bytes, v as computeBackoff, w as filterMessagingToolDuplicates, x as transcriptEntriesToMessages, y as sleepWithAbort } from "./deliver-BXItFLzM.js";
57
+ import { A as resolveReplyToMode, C as applyReplyThreading, D as shouldSuppressMessagingToolReplies, E as isRenderablePayload, M as normalizeChannelTargetInput, N as normalizeTargetForProvider, O as shouldSuppressReasoningPayload, S as applyReplyTagsToPayload, T as filterMessagingToolMediaDuplicates, _ as resolveContextTokensForModel, a as normalizeOutboundPayloadsForJson, b as readFullTranscriptEntriesFromBackend, c as loadCombinedSessionStoreForGateway, d as throwIfAborted, f as loadChannelOutboundAdapter, g as lookupContextTokens, h as stripLeadingInboundMetadata, i as normalizeOutboundPayloads, j as buildTargetResolverSignature, k as createReplyToModeFilterForChannel, l as capArrayByJsonBytes, m as extractToolCallNames, o as normalizeReplyPayloadsForDelivery, p as countToolResults, r as formatOutboundPayloadLog, s as stampReplyActivity, t as deliverOutboundPayloads, u as jsonUtf8Bytes, v as computeBackoff, w as filterMessagingToolDuplicates, x as transcriptEntriesToMessages, y as sleepWithAbort } from "./deliver-C6wOxWlw.js";
58
58
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-zzSsJdIe.js";
59
59
  import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-BNVTc8Bi.js";
60
60
  import { a as createDiscordRetryRunner, i as normalizePollInput, n as recordChannelActivity, t as getChannelActivity } from "./channel-activity-GWyLZ7Eo.js";
@@ -90,7 +90,7 @@ import { EdgeTTS } from "node-edge-tts";
90
90
  import net from "node:net";
91
91
  import { createServer } from "node:http";
92
92
  import { ProxyAgent, fetch as fetch$1 } from "undici";
93
- import WebSocket$1, { WebSocket } from "ws";
93
+ import WebSocket, { WebSocket as WebSocket$1 } from "ws";
94
94
  import { Worker } from "node:worker_threads";
95
95
  import { createJiti } from "jiti";
96
96
  import { AsyncLocalStorage } from "node:async_hooks";
@@ -11869,7 +11869,7 @@ var GatewayClient = class {
11869
11869
  if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
11870
11870
  });
11871
11871
  }
11872
- this.ws = new WebSocket(url, wsOptions);
11872
+ this.ws = new WebSocket$1(url, wsOptions);
11873
11873
  this.ws.on("open", () => {
11874
11874
  if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
11875
11875
  const tlsError = this.validateTlsFingerprint();
@@ -12065,7 +12065,7 @@ var GatewayClient = class {
12065
12065
  const connectChallengeTimeoutMs = typeof rawConnectDelayMs === "number" && Number.isFinite(rawConnectDelayMs) ? Math.max(250, Math.min(1e4, rawConnectDelayMs)) : 2e3;
12066
12066
  if (this.connectTimer) clearTimeout(this.connectTimer);
12067
12067
  this.connectTimer = setTimeout(() => {
12068
- if (this.connectSent || this.ws?.readyState !== WebSocket.OPEN) return;
12068
+ if (this.connectSent || this.ws?.readyState !== WebSocket$1.OPEN) return;
12069
12069
  this.opts.onConnectError?.(/* @__PURE__ */ new Error("gateway connect challenge timeout"));
12070
12070
  this.ws?.close(1008, "connect challenge timeout");
12071
12071
  }, connectChallengeTimeoutMs);
@@ -12107,7 +12107,7 @@ var GatewayClient = class {
12107
12107
  return null;
12108
12108
  }
12109
12109
  async request(method, params, opts) {
12110
- if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
12110
+ if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error("gateway not connected");
12111
12111
  const id = randomUUID();
12112
12112
  const frame = {
12113
12113
  type: "req",
@@ -13589,7 +13589,7 @@ async function routeReply(params) {
13589
13589
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
13590
13590
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
13591
13591
  try {
13592
- const { deliverOutboundPayloads } = await import("./deliver-BXItFLzM.js").then((n) => n.n);
13592
+ const { deliverOutboundPayloads } = await import("./deliver-C6wOxWlw.js").then((n) => n.n);
13593
13593
  const outboundSession = buildOutboundSessionContext({
13594
13594
  cfg,
13595
13595
  agentId: resolvedAgentId,
@@ -15211,7 +15211,7 @@ async function sendTranscriptEcho(params) {
15211
15211
  }
15212
15212
  const text = formatEchoTranscript(transcript, params.format ?? DEFAULT_ECHO_TRANSCRIPT_FORMAT);
15213
15213
  try {
15214
- const { deliverOutboundPayloads } = await import("./deliver-BXItFLzM.js").then((n) => n.n);
15214
+ const { deliverOutboundPayloads } = await import("./deliver-C6wOxWlw.js").then((n) => n.n);
15215
15215
  await deliverOutboundPayloads({
15216
15216
  cfg,
15217
15217
  channel: normalizedChannel,
@@ -55333,7 +55333,7 @@ async function deliverSessionMaintenanceWarning(params) {
55333
55333
  return;
55334
55334
  }
55335
55335
  try {
55336
- const { deliverOutboundPayloads } = await import("./deliver-BXItFLzM.js").then((n) => n.n);
55336
+ const { deliverOutboundPayloads } = await import("./deliver-C6wOxWlw.js").then((n) => n.n);
55337
55337
  const outboundSession = buildOutboundSessionContext({
55338
55338
  cfg: params.cfg,
55339
55339
  sessionKey: params.sessionKey
@@ -65064,7 +65064,7 @@ async function describeStickerImage(params) {
65064
65064
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
65065
65065
  try {
65066
65066
  const buffer = await fs.readFile(imagePath);
65067
- const { describeImageWithModel } = await import("./provider-image-0ihmfbzB.js").then((n) => n.n);
65067
+ const { describeImageWithModel } = await import("./provider-image--nNTW4Mb.js").then((n) => n.n);
65068
65068
  return (await describeImageWithModel({
65069
65069
  buffer,
65070
65070
  fileName: "sticker.webp",
@@ -66777,7 +66777,7 @@ async function resolveDiscordPreflightAudioMentionContext(params) {
66777
66777
  let transcript;
66778
66778
  let carry;
66779
66779
  if (needsPreflightTranscription) try {
66780
- const { transcribeFirstAudio } = await import("./audio-preflight-BMSN3-KS.js");
66780
+ const { transcribeFirstAudio } = await import("./audio-preflight-BiS0KKxu.js");
66781
66781
  const uploadable = audioAttachments.filter((att) => typeof att.url === "string" && att.url.length > 0);
66782
66782
  if (uploadable.length > 0) {
66783
66783
  const preflight = await transcribeFirstAudio({
@@ -74022,7 +74022,7 @@ function createDefaultDeps() {
74022
74022
  };
74023
74023
  },
74024
74024
  sendMessageTelegram: async (...args) => {
74025
- const { sendMessageTelegram } = await import("./send-CcpSDSVi.js").then((n) => n.l);
74025
+ const { sendMessageTelegram } = await import("./send-CgLwzLsU.js").then((n) => n.l);
74026
74026
  return await sendMessageTelegram(...args);
74027
74027
  },
74028
74028
  sendMessageDiscord: async (...args) => {
@@ -77631,7 +77631,7 @@ var ResilientGatewayPlugin = class extends GatewayPlugin {
77631
77631
  }
77632
77632
  createWebSocket(url) {
77633
77633
  if (!this.wsAgent) return super.createWebSocket(url);
77634
- return new WebSocket$1(url, { agent: this.wsAgent });
77634
+ return new WebSocket(url, { agent: this.wsAgent });
77635
77635
  }
77636
77636
  };
77637
77637
  function createDiscordGatewayPlugin(params) {
@@ -90044,7 +90044,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, replyMedia =
90044
90044
  let audioPreflightCarry;
90045
90045
  const audioConfigEnabled = cfg.tools?.media?.audio && cfg.tools.media.audio.enabled !== false;
90046
90046
  if (hasAudio && !hasUserText && !disableAudioPreflight && (isGroup && requireMention && mentionRegexes.length > 0 || audioConfigEnabled === true)) try {
90047
- const { transcribeFirstAudio } = await import("./audio-preflight-BMSN3-KS.js");
90047
+ const { transcribeFirstAudio } = await import("./audio-preflight-BiS0KKxu.js");
90048
90048
  const preflight = await transcribeFirstAudio({
90049
90049
  ctx: {
90050
90050
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -101276,7 +101276,7 @@ async function runBeforeToolCallHook(args) {
101276
101276
  const params = args.params;
101277
101277
  if (args.ctx?.sessionKey) {
101278
101278
  const { getDiagnosticSessionState } = await import("./diagnostic-session-state-evjvR-jF.js").then((n) => n.n);
101279
- const { logToolLoopAction } = await import("./diagnostic-Zgub15n7.js").then((n) => n.n);
101279
+ const { logToolLoopAction } = await import("./diagnostic-Dg-GxAUC.js").then((n) => n.n);
101280
101280
  const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-rQkc436x.js");
101281
101281
  const sessionState = getDiagnosticSessionState({
101282
101282
  sessionKey: args.ctx.sessionKey,
@@ -106156,7 +106156,7 @@ var OpenAIWebSocketManager = class extends EventEmitter {
106156
106156
  * Throws if the connection is not open.
106157
106157
  */
106158
106158
  send(event) {
106159
- 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"})`);
106159
+ if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error(`OpenAIWebSocketManager: cannot send — connection is not open (readyState=${this.ws?.readyState ?? "no socket"})`);
106160
106160
  this.ws.send(JSON.stringify(event));
106161
106161
  }
106162
106162
  /**
@@ -106173,7 +106173,7 @@ var OpenAIWebSocketManager = class extends EventEmitter {
106173
106173
  * Returns true if the WebSocket is currently open and ready to send.
106174
106174
  */
106175
106175
  isConnected() {
106176
- return this.ws !== null && this.ws.readyState === WebSocket$1.OPEN;
106176
+ return this.ws !== null && this.ws.readyState === WebSocket.OPEN;
106177
106177
  }
106178
106178
  /**
106179
106179
  * Permanently closes the WebSocket connection and disables auto-reconnect.
@@ -106183,7 +106183,7 @@ var OpenAIWebSocketManager = class extends EventEmitter {
106183
106183
  this._cancelRetryTimer();
106184
106184
  if (this.ws) {
106185
106185
  this.ws.removeAllListeners();
106186
- if (this.ws.readyState === WebSocket$1.OPEN || this.ws.readyState === WebSocket$1.CONNECTING) this.ws.close(1e3, "Client closed");
106186
+ if (this.ws.readyState === WebSocket.OPEN || this.ws.readyState === WebSocket.CONNECTING) this.ws.close(1e3, "Client closed");
106187
106187
  this.ws = null;
106188
106188
  }
106189
106189
  }
@@ -106193,7 +106193,7 @@ var OpenAIWebSocketManager = class extends EventEmitter {
106193
106193
  reject(/* @__PURE__ */ new Error("OpenAIWebSocketManager: apiKey is required before connecting."));
106194
106194
  return;
106195
106195
  }
106196
- const socket = new WebSocket$1(this.wsUrl, { headers: {
106196
+ const socket = new WebSocket(this.wsUrl, { headers: {
106197
106197
  Authorization: `Bearer ${this.apiKey}`,
106198
106198
  "OpenAI-Beta": "responses-websocket=v1"
106199
106199
  } });
@@ -1,6 +1,6 @@
1
1
  import { lt as shortenHomeInString } from "./subsystem-BaT-AAVZ.js";
2
2
  import { n as redactToolDetail } from "./redact-CjEHZgrH.js";
3
- import { I as sanitizeUserFacingText, t as extractTextFromChatContent } from "./chat-content-B_yhsqe7.js";
3
+ import { I as sanitizeUserFacingText, t as extractTextFromChatContent } from "./chat-content-9BKtrFlm.js";
4
4
 
5
5
  //#region src/shared/text/code-regions.ts
6
6
  function findCodeRegions(text) {
@@ -1,6 +1,6 @@
1
1
  import { f as resolveRequiredHomeDir, l as resolveStateDir } from "./paths-oi7j9L8A.js";
2
- import { $ as resolveUserPath, X as pathExists, ft as shouldLogVerbose, st as danger, t as createSubsystemLogger, v as isBlockedObjectKey, x as openBoundaryFile } from "./subsystem-C-lWCqvG.js";
3
- import { n as logError, t as logDebug } from "./logger-F5PKgK4h.js";
2
+ import { $ as resolveUserPath, X as pathExists, ft as shouldLogVerbose, st as danger, t as createSubsystemLogger, v as isBlockedObjectKey, x as openBoundaryFile } from "./subsystem-CPqF9wja.js";
3
+ import { n as logError, t as logDebug } from "./logger-DYxRK_FZ.js";
4
4
  import fs from "node:fs";
5
5
  import path from "node:path";
6
6
  import { promisify } from "node:util";
@@ -0,0 +1,64 @@
1
+ import "./paths-oi7j9L8A.js";
2
+ import "./subsystem-CPqF9wja.js";
3
+ import "./agent-scope-z4RGwm8d.js";
4
+ import "./config-BZyYmcZu.js";
5
+ import { M as runMainAgentTurn } from "./command-detection-C4bS82Pf.js";
6
+ import "./github-copilot-token-BnKQ-aRX.js";
7
+ import "./logger-DYxRK_FZ.js";
8
+ import "./send-CvmKKoxT.js";
9
+ import "./sessions-DjF1xlK7.js";
10
+ import "./diagnostic-events-Ba8-RH3Z.js";
11
+ import "./redact-C9Eu_AUI.js";
12
+ import "./errors-BAcXagTa.js";
13
+ import "./fetch-BAyIy498.js";
14
+ import "./channel-activity-I-orS8xM.js";
15
+ import "./path-alias-guards-Cr_8wxeu.js";
16
+ import "./fs-safe-Qut4VUn8.js";
17
+ import "./image-ops-YY9i_qTZ.js";
18
+ import "./fetch-guard-Dz6nf8wN.js";
19
+ import "./ssrf-DCsLkTwC.js";
20
+ import "./proxy-fetch-Dt3HV6r3.js";
21
+ import "./local-roots-DKN_BXBH.js";
22
+ import "./ir-BEZ_dCEY.js";
23
+ import "./chunk-CFEsZ1GH.js";
24
+ import "./markdown-tables-DxHN1ers.js";
25
+ import "./render-C815sn1u.js";
26
+ import "./tables-BlZ1n1jO.js";
27
+ import "./agent-turn-runner-8kdhCR0d.js";
28
+ import "./send-BJF01MUC.js";
29
+ import "./send-D_WOTvDj.js";
30
+ import "./chat-content-ufcNYnUG.js";
31
+ import "./send-BSDWny4T.js";
32
+ import "./audio-transcription-runner-Bv5OKlh3.js";
33
+ import "./reply-prefix-DuJ6Ceoh.js";
34
+ import "./tokens-DdbQh5HH.js";
35
+ import "./skill-commands-BUI0JAT4.js";
36
+ import "./skills-hYZyUG78.js";
37
+ import "./chrome-DyZgIs-_.js";
38
+ import "./deliver-BVlOHiTJ.js";
39
+ import "./session-context-BPDLUTI-.js";
40
+ import "./store-Dq16uaw2.js";
41
+ import "./commands-registry-CQZLa_SB.js";
42
+ import "./thinking-DW5zml_e.js";
43
+ import "./diagnostic-DyXVhcmx.js";
44
+ import "./diagnostic-session-state-D_Vrp41k.js";
45
+ import "./command-queue-KcIqWrP5.js";
46
+ import "./user-run-recording-DBwhNB8S.js";
47
+ import "./recorder-B-yV8XCt.js";
48
+ import "./pi-model-discovery-BXvfEsj4.js";
49
+ import "./models-config-kotnKGvn.js";
50
+ import "./pi-embedded-utils-DWpHMRE7.js";
51
+ import "./provider-image-C2pG2NT6.js";
52
+ import "./api-key-rotation-Lj4ohNVH.js";
53
+ import "./runs-D57TPnQe.js";
54
+ import "./send-Cvrj-ZGU.js";
55
+ import "./outbound-attachment-B9nWc9td.js";
56
+ import "./reply-directives-D9Lcc6Ee.js";
57
+ import "./resolve-route-BrMXKQWq.js";
58
+ import "./proxy-K3jUjtIm.js";
59
+ import "./replies-Ct6DIg_T.js";
60
+ import "./session-meta-CLpadnWo.js";
61
+ import "./manager-CocOQ6fW.js";
62
+ import "./query-expansion-BAI-_ZoZ.js";
63
+
64
+ export { runMainAgentTurn };