@lawpath-tech/openclaw 2026.2.21-17 → 2026.2.21-19

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 (91) hide show
  1. package/dist/{audio-preflight-Da7vejCH.js → audio-preflight-CODznzqu.js} +4 -4
  2. package/dist/{audio-preflight-CLqoZYgI.js → audio-preflight-omzaYFGD.js} +4 -4
  3. package/dist/build-info.json +3 -3
  4. package/dist/bundled/boot-md/handler.js +6 -6
  5. package/dist/bundled/session-memory/handler.js +6 -6
  6. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  7. package/dist/{chrome-Bqbv_ZSj.js → chrome-BAv9fEiv.js} +7 -7
  8. package/dist/{chrome-CZuniMYN.js → chrome-lRUqqgSD.js} +7 -7
  9. package/dist/{deliver-0ThKlzQo.js → deliver-B2d2N8OJ.js} +1 -1
  10. package/dist/{deliver-CKH_FhS0.js → deliver-CLJRPnfx.js} +1 -1
  11. package/dist/extensionAPI.js +6 -6
  12. package/dist/{image-88q3KE-C.js → image--DDZnw-F.js} +1 -1
  13. package/dist/{image-CxPjVob-.js → image-Ci28h-op.js} +1 -1
  14. package/dist/llm-slug-generator.js +6 -6
  15. package/dist/{pi-embedded-BBmOFap3.js → pi-embedded-CwQsXrVT.js} +16 -16
  16. package/dist/{pi-embedded-Qfuh9XzI.js → pi-embedded-D7qD6fo-.js} +16 -16
  17. package/dist/{pi-embedded-helpers-B0Kht0I2.js → pi-embedded-helpers-Cd0S0WfR.js} +4 -4
  18. package/dist/{pi-embedded-helpers-CSE0v99A.js → pi-embedded-helpers-Ll4Lztu1.js} +4 -4
  19. package/dist/plugin-sdk/{accounts-fnLsjAOi.js → accounts-Ciwy7Yxd.js} +3 -3
  20. package/dist/plugin-sdk/{accounts-BcQo4OUu.js → accounts-DUBJHEgi.js} +1 -1
  21. package/dist/plugin-sdk/{accounts-DEsAwvaZ.js → accounts-wSu5JyDM.js} +1 -1
  22. package/dist/plugin-sdk/{active-listener-CeaKSm29.js → active-listener-Bnau4oiu.js} +1 -1
  23. package/dist/plugin-sdk/{agent-scope-D5PlT0Z0.js → agent-scope-cT7IxdHY.js} +2 -2
  24. package/dist/plugin-sdk/{api-key-rotation-B3O1qn0m.js → api-key-rotation-ElOMCP9r.js} +1 -1
  25. package/dist/plugin-sdk/{audio-preflight-CYSy3uuZ.js → audio-preflight-DtozH3sJ.js} +24 -24
  26. package/dist/plugin-sdk/{bindings-C0XEX0yK.js → bindings-CKqdifyU.js} +2 -2
  27. package/dist/plugin-sdk/{channel-activity-WgE8Z4Bb.js → channel-activity-CCnr-9bS.js} +1 -1
  28. package/dist/plugin-sdk/{channel-web-CctsCfLM.js → channel-web-XYtgc8aq.js} +22 -22
  29. package/dist/plugin-sdk/{chrome-C1xnOQsc.js → chrome-BO7SUTgY.js} +3 -3
  30. package/dist/plugin-sdk/{chunk-CQk9vawA.js → chunk-DyzO7IVo.js} +1 -1
  31. package/dist/plugin-sdk/{command-format-DHXa0Clc.js → command-format-DcBXOX9Z.js} +1 -1
  32. package/dist/plugin-sdk/{commands-registry-yTZdwtLj.js → commands-registry-BsSKPwgj.js} +4 -4
  33. package/dist/plugin-sdk/{config--kW4R0el.js → config-9OZuRn0C.js} +9 -9
  34. package/dist/plugin-sdk/{deliver-C2gjA_UH.js → deliver-BO_wt0wd.js} +10 -10
  35. package/dist/plugin-sdk/{diagnostic-Up1aMyxZ.js → diagnostic-DKyVS3IK.js} +1 -1
  36. package/dist/plugin-sdk/{image-Bcc99tVA.js → image-C31B_R8P.js} +4 -4
  37. package/dist/plugin-sdk/{image-ops-C6RLbtSJ.js → image-ops-B8aJIly2.js} +1 -1
  38. package/dist/plugin-sdk/index.js +53 -53
  39. package/dist/plugin-sdk/{ir-Cwi1KVG5.js → ir-CD5VqKGg.js} +4 -4
  40. package/dist/plugin-sdk/{local-roots-6BSl8AoA.js → local-roots-D4PCK2jj.js} +3 -3
  41. package/dist/plugin-sdk/{login-Cau5eVVj.js → login-CW17h3xU.js} +7 -7
  42. package/dist/plugin-sdk/{login-qr-CLWtfA9m.js → login-qr-CMdk06CS.js} +9 -9
  43. package/dist/plugin-sdk/{manager-C3Eb_8Hz.js → manager-CZPPxI6R.js} +8 -8
  44. package/dist/plugin-sdk/{manifest-registry-DvEm2HHf.js → manifest-registry-sgHvjA6E.js} +1 -1
  45. package/dist/plugin-sdk/{markdown-tables-cJqvQe9j.js → markdown-tables-Bo-r4msS.js} +1 -1
  46. package/dist/plugin-sdk/{message-channel-DY9wVB2A.js → message-channel-DmB4bGFh.js} +1 -1
  47. package/dist/plugin-sdk/{model-selection-BjVTBZiY.js → model-selection-CXooYLb2.js} +4 -4
  48. package/dist/plugin-sdk/{outbound-attachment-CsmRyZPI.js → outbound-attachment-CCxMtk8m.js} +2 -2
  49. package/dist/plugin-sdk/{outbound-Co1QSkdS.js → outbound-dAcQHyyr.js} +7 -7
  50. package/dist/plugin-sdk/{pi-auth-json-DfEOhoTK.js → pi-auth-json-C-euHc3x.js} +5 -5
  51. package/dist/plugin-sdk/{pi-embedded-helpers-D3EACnFn.js → pi-embedded-helpers-DU0nLxRU.js} +17 -17
  52. package/dist/plugin-sdk/{plugins-Dyz98ZJX.js → plugins-DIzw7Ncy.js} +4 -4
  53. package/dist/plugin-sdk/{pw-ai-smoXiGqZ.js → pw-ai-CYmDAwXD.js} +8 -8
  54. package/dist/plugin-sdk/{qmd-manager-CUhJ7WG2.js → qmd-manager-DQiT4WTr.js} +4 -4
  55. package/dist/plugin-sdk/{registry-DL-33c9X.js → registry-O1yza0Vh.js} +2 -2
  56. package/dist/plugin-sdk/{replies-Bkaifx0j.js → replies-Bnu7HnvW.js} +3 -3
  57. package/dist/plugin-sdk/{reply-svnePQ_q.js → reply-BSOpvBX4.js} +78 -78
  58. package/dist/plugin-sdk/{reply-prefix-5vdbga0R.js → reply-prefix-BF0omhZE.js} +1 -1
  59. package/dist/plugin-sdk/{resolve-outbound-target-CP7QDN14.js → resolve-outbound-target-DzZIT1V1.js} +2 -2
  60. package/dist/plugin-sdk/{resolve-route-eopifBrM.js → resolve-route-B63ztF-V.js} +3 -3
  61. package/dist/plugin-sdk/{retry-5P3d0rYw.js → retry-JFNwfUew.js} +1 -1
  62. package/dist/plugin-sdk/{runner-DqwPn56n.js → runner-DztRiWhh.js} +9 -9
  63. package/dist/plugin-sdk/{send-DnFB-v5n.js → send-CK3DCPv-.js} +6 -6
  64. package/dist/plugin-sdk/{send-D_X6p9H0.js → send-D-spKwjf.js} +10 -10
  65. package/dist/plugin-sdk/{send-PPtjKj-0.js → send-D1C2sJG1.js} +7 -7
  66. package/dist/plugin-sdk/{send-C2NQjVF9.js → send-DEV4iiFj.js} +10 -10
  67. package/dist/plugin-sdk/{send-_uj_NuFI.js → send-DrYvH25B.js} +6 -6
  68. package/dist/plugin-sdk/{session-CZngPTYk.js → session-DRJl5tKC.js} +4 -4
  69. package/dist/plugin-sdk/{skill-commands-Cr54qPdy.js → skill-commands-Dv5AeOZQ.js} +5 -5
  70. package/dist/plugin-sdk/{skills-Dcu4o-9l.js → skills-5hEda4_Y.js} +7 -7
  71. package/dist/plugin-sdk/{sqlite-ulpcowfN.js → sqlite-DUu0dwic.js} +1 -1
  72. package/dist/plugin-sdk/{store-EUYCRBvs.js → store-DoRXD0QB.js} +2 -2
  73. package/dist/plugin-sdk/{subsystem-C9WnrKN8.js → subsystem-C4Rh0kdL.js} +1 -1
  74. package/dist/plugin-sdk/{tables-CMdQECje.js → tables-C_81Ve2l.js} +1 -1
  75. package/dist/plugin-sdk/{target-errors-CrR2lAF7.js → target-errors-C638yp2-.js} +2 -2
  76. package/dist/plugin-sdk/{thinking-C7zYA2s9.js → thinking-DexKPSsI.js} +5 -5
  77. package/dist/plugin-sdk/{tokens-2475WU2Z.js → tokens-K9ITCatc.js} +1 -1
  78. package/dist/plugin-sdk/{tool-images-DCvC8yL7.js → tool-images-BvjD_HnR.js} +2 -2
  79. package/dist/plugin-sdk/{tool-loop-detection-D0ADW0h2.js → tool-loop-detection-BBRtoox8.js} +2 -2
  80. package/dist/plugin-sdk/web-DiLYLsml.js +65 -0
  81. package/dist/plugin-sdk/{whatsapp-actions-DC4RRNqv.js → whatsapp-actions-D8i2vCxS.js} +21 -21
  82. package/dist/{pw-ai-S3cpSYOy.js → pw-ai-C-kqYO4L.js} +1 -1
  83. package/dist/{pw-ai-D-_aGzdQ.js → pw-ai-KrN0mqVH.js} +1 -1
  84. package/dist/{runner-D1eXJZ8T.js → runner-ChBxge-W.js} +1 -1
  85. package/dist/{runner-a43IsYad.js → runner-Dq-qfrq7.js} +1 -1
  86. package/dist/{web-BZ5kM4yO.js → web-Cs0IP-ZO.js} +6 -6
  87. package/dist/{web-DeSwEO7X.js → web-DPHo2cWX.js} +6 -6
  88. package/extensions/voice-call/src/response-generator.ts +30 -0
  89. package/extensions/voice-call/src/webhook.ts +9 -0
  90. package/package.json +1 -1
  91. package/dist/plugin-sdk/web-C8c314HT.js +0 -65
@@ -12,10 +12,10 @@ import "./accounts-sr0G5UOe.js";
12
12
  import "./image-ops-BfqdVNxh.js";
13
13
  import "./pi-model-discovery-j5tVLINv.js";
14
14
  import "./message-channel-DNOtJsL1.js";
15
- import "./pi-embedded-helpers-B0Kht0I2.js";
15
+ import "./pi-embedded-helpers-Cd0S0WfR.js";
16
16
  import "./config-KL7847B1.js";
17
17
  import "./manifest-registry-sze5OW-s.js";
18
- import "./chrome-CZuniMYN.js";
18
+ import "./chrome-lRUqqgSD.js";
19
19
  import "./skills-DGNBryo1.js";
20
20
  import "./redact-1NGYV_8p.js";
21
21
  import "./errors-CPfngF0S.js";
@@ -25,10 +25,10 @@ import "./thinking-BClv_xAO.js";
25
25
  import "./accounts-DAZL5b5o.js";
26
26
  import "./paths-5iQF9bSz.js";
27
27
  import "./tool-images-TQiVqsOc.js";
28
- import "./image-88q3KE-C.js";
28
+ import "./image--DDZnw-F.js";
29
29
  import "./gemini-auth-BF6ZCNOV.js";
30
30
  import "./local-roots-C4BHj9W8.js";
31
- import { a as resolveMediaAttachmentLocalRoots, n as createMediaAttachmentCache, o as runCapability, r as normalizeMediaAttachments, t as buildProviderRegistry, u as isAudioAttachment } from "./runner-a43IsYad.js";
31
+ import { a as resolveMediaAttachmentLocalRoots, n as createMediaAttachmentCache, o as runCapability, r as normalizeMediaAttachments, t as buildProviderRegistry, u as isAudioAttachment } from "./runner-Dq-qfrq7.js";
32
32
 
33
33
  //#region src/media-understanding/audio-preflight.ts
34
34
  /**
@@ -14,10 +14,10 @@ import "./model-auth-vtNH8C4P.js";
14
14
  import "./github-copilot-token-Dgb9dAHW.js";
15
15
  import "./pi-model-discovery-DaNAekda.js";
16
16
  import "./message-channel-CHYSjmbr.js";
17
- import "./pi-embedded-helpers-CSE0v99A.js";
17
+ import "./pi-embedded-helpers-Ll4Lztu1.js";
18
18
  import "./config-Du_-inxH.js";
19
19
  import "./manifest-registry-Dhk4A5vb.js";
20
- import "./chrome-Bqbv_ZSj.js";
20
+ import "./chrome-BAv9fEiv.js";
21
21
  import "./frontmatter-CdkBcBAo.js";
22
22
  import "./skills-DSZuhFx9.js";
23
23
  import "./redact-jSxx6Ep2.js";
@@ -28,10 +28,10 @@ import "./thinking-Dg8vKjw_.js";
28
28
  import "./accounts-DFrH9IVU.js";
29
29
  import "./paths-BEAbheM8.js";
30
30
  import "./tool-images-C1rdDr34.js";
31
- import "./image-CxPjVob-.js";
31
+ import "./image-Ci28h-op.js";
32
32
  import "./gemini-auth-A2JaRMHH.js";
33
33
  import "./local-roots-JqlMsAYY.js";
34
- import { a as resolveMediaAttachmentLocalRoots, n as createMediaAttachmentCache, o as runCapability, r as normalizeMediaAttachments, t as buildProviderRegistry, u as isAudioAttachment } from "./runner-D1eXJZ8T.js";
34
+ import { a as resolveMediaAttachmentLocalRoots, n as createMediaAttachmentCache, o as runCapability, r as normalizeMediaAttachments, t as buildProviderRegistry, u as isAudioAttachment } from "./runner-ChBxge-W.js";
35
35
 
36
36
  //#region src/media-understanding/audio-preflight.ts
37
37
  /**
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "2026.2.21-17",
3
- "commit": "d8e0c6b30a661d6b702a73ef09a84e073d9a40bb",
4
- "builtAt": "2026-03-29T11:19:03.027Z"
2
+ "version": "2026.2.21-19",
3
+ "commit": "612406ec25d5c42a64b54ff512d54b2e7faee200",
4
+ "builtAt": "2026-03-29T12:04:17.491Z"
5
5
  }
@@ -5,7 +5,7 @@ import { s as resolveAgentWorkspaceDir, t as listAgentIds } from "../../agent-sc
5
5
  import { r as defaultRuntime, t as createSubsystemLogger } from "../../subsystem-BF9jT_Nw.js";
6
6
  import "../../workspace-DYx5Dxtw.js";
7
7
  import { n as SILENT_REPLY_TOKEN } from "../../tokens-B-c56SkM.js";
8
- import { a as createDefaultDeps, i as agentCommand } from "../../pi-embedded-Qfuh9XzI.js";
8
+ import { a as createDefaultDeps, i as agentCommand } from "../../pi-embedded-D7qD6fo-.js";
9
9
  import "../../plugins-DIrNa311.js";
10
10
  import "../../accounts-C8m4ADkw.js";
11
11
  import "../../boolean-B8-BqKGQ.js";
@@ -13,7 +13,7 @@ import "../../command-format-BOHIfoCX.js";
13
13
  import "../../bindings-BKEEBdsb.js";
14
14
  import "../../send-Byt_wJDK.js";
15
15
  import "../../send-BEFzSOoD.js";
16
- import "../../deliver-CKH_FhS0.js";
16
+ import "../../deliver-CLJRPnfx.js";
17
17
  import "../../diagnostic-DriDPU6M.js";
18
18
  import "../../diagnostic-session-state-Bxo4UHOL.js";
19
19
  import "../../accounts-CQT5u65w.js";
@@ -23,10 +23,10 @@ import "../../model-auth-vtNH8C4P.js";
23
23
  import "../../github-copilot-token-Dgb9dAHW.js";
24
24
  import "../../pi-model-discovery-DaNAekda.js";
25
25
  import "../../message-channel-CHYSjmbr.js";
26
- import { H as loadSessionStore, K as updateSessionStore, xt as resolveMainSessionKey, yt as resolveAgentMainSessionKey } from "../../pi-embedded-helpers-CSE0v99A.js";
26
+ import { H as loadSessionStore, K as updateSessionStore, xt as resolveMainSessionKey, yt as resolveAgentMainSessionKey } from "../../pi-embedded-helpers-Ll4Lztu1.js";
27
27
  import "../../config-Du_-inxH.js";
28
28
  import "../../manifest-registry-Dhk4A5vb.js";
29
- import "../../chrome-Bqbv_ZSj.js";
29
+ import "../../chrome-BAv9fEiv.js";
30
30
  import "../../frontmatter-CdkBcBAo.js";
31
31
  import "../../skills-DSZuhFx9.js";
32
32
  import "../../redact-jSxx6Ep2.js";
@@ -37,7 +37,7 @@ import "../../thinking-Dg8vKjw_.js";
37
37
  import "../../accounts-DFrH9IVU.js";
38
38
  import { s as resolveStorePath } from "../../paths-BEAbheM8.js";
39
39
  import "../../tool-images-C1rdDr34.js";
40
- import "../../image-CxPjVob-.js";
40
+ import "../../image-Ci28h-op.js";
41
41
  import "../../reply-prefix-DZrS3Kf7.js";
42
42
  import "../../manager-D7SRrHxT.js";
43
43
  import "../../gemini-auth-A2JaRMHH.js";
@@ -51,7 +51,7 @@ import "../../ir-DJPm0a4k.js";
51
51
  import "../../render-CDCvpfhh.js";
52
52
  import "../../commands-registry-BzlB3qtZ.js";
53
53
  import "../../skill-commands-CqyVDpti.js";
54
- import "../../runner-D1eXJZ8T.js";
54
+ import "../../runner-ChBxge-W.js";
55
55
  import "../../fetch-DtI0mtzx.js";
56
56
  import "../../channel-activity-BgsTqLau.js";
57
57
  import "../../tables-C3clT_iA.js";
@@ -5,7 +5,7 @@ import { s as resolveAgentWorkspaceDir } from "../../agent-scope-DSUeV7-g.js";
5
5
  import { t as createSubsystemLogger } from "../../subsystem-BF9jT_Nw.js";
6
6
  import "../../workspace-DYx5Dxtw.js";
7
7
  import "../../tokens-B-c56SkM.js";
8
- import "../../pi-embedded-Qfuh9XzI.js";
8
+ import "../../pi-embedded-D7qD6fo-.js";
9
9
  import "../../plugins-DIrNa311.js";
10
10
  import "../../accounts-C8m4ADkw.js";
11
11
  import "../../boolean-B8-BqKGQ.js";
@@ -13,7 +13,7 @@ import "../../command-format-BOHIfoCX.js";
13
13
  import "../../bindings-BKEEBdsb.js";
14
14
  import "../../send-Byt_wJDK.js";
15
15
  import "../../send-BEFzSOoD.js";
16
- import "../../deliver-CKH_FhS0.js";
16
+ import "../../deliver-CLJRPnfx.js";
17
17
  import "../../diagnostic-DriDPU6M.js";
18
18
  import "../../diagnostic-session-state-Bxo4UHOL.js";
19
19
  import "../../accounts-CQT5u65w.js";
@@ -23,10 +23,10 @@ import "../../model-auth-vtNH8C4P.js";
23
23
  import "../../github-copilot-token-Dgb9dAHW.js";
24
24
  import "../../pi-model-discovery-DaNAekda.js";
25
25
  import "../../message-channel-CHYSjmbr.js";
26
- import { ct as hasInterSessionUserProvenance } from "../../pi-embedded-helpers-CSE0v99A.js";
26
+ import { ct as hasInterSessionUserProvenance } from "../../pi-embedded-helpers-Ll4Lztu1.js";
27
27
  import "../../config-Du_-inxH.js";
28
28
  import "../../manifest-registry-Dhk4A5vb.js";
29
- import "../../chrome-Bqbv_ZSj.js";
29
+ import "../../chrome-BAv9fEiv.js";
30
30
  import "../../frontmatter-CdkBcBAo.js";
31
31
  import "../../skills-DSZuhFx9.js";
32
32
  import "../../redact-jSxx6Ep2.js";
@@ -37,7 +37,7 @@ import "../../thinking-Dg8vKjw_.js";
37
37
  import "../../accounts-DFrH9IVU.js";
38
38
  import "../../paths-BEAbheM8.js";
39
39
  import "../../tool-images-C1rdDr34.js";
40
- import "../../image-CxPjVob-.js";
40
+ import "../../image-Ci28h-op.js";
41
41
  import "../../reply-prefix-DZrS3Kf7.js";
42
42
  import "../../manager-D7SRrHxT.js";
43
43
  import "../../gemini-auth-A2JaRMHH.js";
@@ -51,7 +51,7 @@ import "../../ir-DJPm0a4k.js";
51
51
  import "../../render-CDCvpfhh.js";
52
52
  import "../../commands-registry-BzlB3qtZ.js";
53
53
  import "../../skill-commands-CqyVDpti.js";
54
- import "../../runner-D1eXJZ8T.js";
54
+ import "../../runner-ChBxge-W.js";
55
55
  import "../../fetch-DtI0mtzx.js";
56
56
  import "../../channel-activity-BgsTqLau.js";
57
57
  import "../../tables-C3clT_iA.js";
@@ -1 +1 @@
1
- f4d0c6cef9d6c7826d6a3ffb56af389a68783190e579acbf493a2b929369f578
1
+ f6bc31526acda9c1cc028a5378737ac05750ad4e309d125fabe39da9749d7f27
@@ -10,7 +10,7 @@ import fs$1 from "node:fs";
10
10
  import { execFileSync, spawn } from "node:child_process";
11
11
  import net from "node:net";
12
12
  import { createServer } from "node:http";
13
- import WebSocket, { WebSocketServer } from "ws";
13
+ import WebSocket$1, { WebSocketServer } from "ws";
14
14
  import { Buffer as Buffer$1 } from "node:buffer";
15
15
 
16
16
  //#region src/browser/constants.ts
@@ -178,7 +178,7 @@ async function ensureChromeExtensionRelayServer(opts) {
178
178
  let nextExtensionId = 1;
179
179
  const sendToExtension = async (payload) => {
180
180
  const ws = extensionWs;
181
- if (!ws || ws.readyState !== WebSocket.OPEN) throw new Error("Chrome extension not connected");
181
+ if (!ws || ws.readyState !== WebSocket$1.OPEN) throw new Error("Chrome extension not connected");
182
182
  ws.send(JSON.stringify(payload));
183
183
  return await new Promise((resolve, reject) => {
184
184
  const timer = setTimeout(() => {
@@ -195,12 +195,12 @@ async function ensureChromeExtensionRelayServer(opts) {
195
195
  const broadcastToCdpClients = (evt) => {
196
196
  const msg = JSON.stringify(evt);
197
197
  for (const ws of cdpClients) {
198
- if (ws.readyState !== WebSocket.OPEN) continue;
198
+ if (ws.readyState !== WebSocket$1.OPEN) continue;
199
199
  ws.send(msg);
200
200
  }
201
201
  };
202
202
  const sendResponseToCdp = (ws, res) => {
203
- if (ws.readyState !== WebSocket.OPEN) return;
203
+ if (ws.readyState !== WebSocket$1.OPEN) return;
204
204
  ws.send(JSON.stringify(res));
205
205
  };
206
206
  const ensureTargetEventsForClient = (ws, mode) => {
@@ -425,7 +425,7 @@ async function ensureChromeExtensionRelayServer(opts) {
425
425
  wssExtension.on("connection", (ws) => {
426
426
  extensionWs = ws;
427
427
  const ping = setInterval(() => {
428
- if (ws.readyState !== WebSocket.OPEN) return;
428
+ if (ws.readyState !== WebSocket$1.OPEN) return;
429
429
  ws.send(JSON.stringify({ method: "ping" }));
430
430
  }, 5e3);
431
431
  ws.on("message", (data) => {
@@ -743,7 +743,7 @@ async function fetchOk(url, timeoutMs = 1500, init) {
743
743
  }
744
744
  async function withCdpSocket(wsUrl, fn, opts) {
745
745
  const headers = getHeadersWithAuth(wsUrl, opts?.headers ?? {});
746
- const ws = new WebSocket(wsUrl, {
746
+ const ws = new WebSocket$1(wsUrl, {
747
747
  handshakeTimeout: typeof opts?.handshakeTimeoutMs === "number" && Number.isFinite(opts.handshakeTimeoutMs) ? Math.max(1, Math.floor(opts.handshakeTimeoutMs)) : 5e3,
748
748
  ...Object.keys(headers).length ? { headers } : {}
749
749
  });
@@ -1637,7 +1637,7 @@ async function getChromeWebSocketUrl(cdpUrl, timeoutMs = 500) {
1637
1637
  async function canOpenWebSocket(wsUrl, timeoutMs = 800) {
1638
1638
  return await new Promise((resolve) => {
1639
1639
  const headers = getHeadersWithAuth(wsUrl);
1640
- const ws = new WebSocket(wsUrl, {
1640
+ const ws = new WebSocket$1(wsUrl, {
1641
1641
  handshakeTimeout: timeoutMs,
1642
1642
  ...Object.keys(headers).length ? { headers } : {}
1643
1643
  });
@@ -10,7 +10,7 @@ import fs$1 from "node:fs/promises";
10
10
  import { execFileSync, spawn } from "node:child_process";
11
11
  import net from "node:net";
12
12
  import { createServer } from "node:http";
13
- import WebSocket$1, { WebSocketServer } from "ws";
13
+ import WebSocket, { WebSocketServer } from "ws";
14
14
  import { Buffer as Buffer$1 } from "node:buffer";
15
15
 
16
16
  //#region src/browser/constants.ts
@@ -178,7 +178,7 @@ async function ensureChromeExtensionRelayServer(opts) {
178
178
  let nextExtensionId = 1;
179
179
  const sendToExtension = async (payload) => {
180
180
  const ws = extensionWs;
181
- if (!ws || ws.readyState !== WebSocket$1.OPEN) throw new Error("Chrome extension not connected");
181
+ if (!ws || ws.readyState !== WebSocket.OPEN) throw new Error("Chrome extension not connected");
182
182
  ws.send(JSON.stringify(payload));
183
183
  return await new Promise((resolve, reject) => {
184
184
  const timer = setTimeout(() => {
@@ -195,12 +195,12 @@ async function ensureChromeExtensionRelayServer(opts) {
195
195
  const broadcastToCdpClients = (evt) => {
196
196
  const msg = JSON.stringify(evt);
197
197
  for (const ws of cdpClients) {
198
- if (ws.readyState !== WebSocket$1.OPEN) continue;
198
+ if (ws.readyState !== WebSocket.OPEN) continue;
199
199
  ws.send(msg);
200
200
  }
201
201
  };
202
202
  const sendResponseToCdp = (ws, res) => {
203
- if (ws.readyState !== WebSocket$1.OPEN) return;
203
+ if (ws.readyState !== WebSocket.OPEN) return;
204
204
  ws.send(JSON.stringify(res));
205
205
  };
206
206
  const ensureTargetEventsForClient = (ws, mode) => {
@@ -425,7 +425,7 @@ async function ensureChromeExtensionRelayServer(opts) {
425
425
  wssExtension.on("connection", (ws) => {
426
426
  extensionWs = ws;
427
427
  const ping = setInterval(() => {
428
- if (ws.readyState !== WebSocket$1.OPEN) return;
428
+ if (ws.readyState !== WebSocket.OPEN) return;
429
429
  ws.send(JSON.stringify({ method: "ping" }));
430
430
  }, 5e3);
431
431
  ws.on("message", (data) => {
@@ -743,7 +743,7 @@ async function fetchOk(url, timeoutMs = 1500, init) {
743
743
  }
744
744
  async function withCdpSocket(wsUrl, fn, opts) {
745
745
  const headers = getHeadersWithAuth(wsUrl, opts?.headers ?? {});
746
- const ws = new WebSocket$1(wsUrl, {
746
+ const ws = new WebSocket(wsUrl, {
747
747
  handshakeTimeout: typeof opts?.handshakeTimeoutMs === "number" && Number.isFinite(opts.handshakeTimeoutMs) ? Math.max(1, Math.floor(opts.handshakeTimeoutMs)) : 5e3,
748
748
  ...Object.keys(headers).length ? { headers } : {}
749
749
  });
@@ -1637,7 +1637,7 @@ async function getChromeWebSocketUrl(cdpUrl, timeoutMs = 500) {
1637
1637
  async function canOpenWebSocket(wsUrl, timeoutMs = 800) {
1638
1638
  return await new Promise((resolve) => {
1639
1639
  const headers = getHeadersWithAuth(wsUrl);
1640
- const ws = new WebSocket$1(wsUrl, {
1640
+ const ws = new WebSocket(wsUrl, {
1641
1641
  handshakeTimeout: timeoutMs,
1642
1642
  ...Object.keys(headers).length ? { headers } : {}
1643
1643
  });
@@ -5,7 +5,7 @@ import { c as getActivePluginRegistry, v as createInternalHookEvent, y as trigge
5
5
  import { t as createSubsystemLogger } from "./subsystem-SGZR4BSj.js";
6
6
  import { i as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-DnMmat9I.js";
7
7
  import { r as normalizeChannelId, t as getChannelPlugin } from "./plugins-B90TBXkV.js";
8
- import { B as resolveMirroredTranscriptText, i as isMessagingToolDuplicate, z as appendAssistantMessageToSessionTranscript } from "./pi-embedded-helpers-B0Kht0I2.js";
8
+ import { B as resolveMirroredTranscriptText, i as isMessagingToolDuplicate, z as appendAssistantMessageToSessionTranscript } from "./pi-embedded-helpers-Cd0S0WfR.js";
9
9
  import { d as getChannelDock } from "./thinking-BClv_xAO.js";
10
10
  import { c as resolveChunkMode, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, n as chunkByParagraph } from "./chunk-B0zJTLYu.js";
11
11
  import { n as resolveMarkdownTableMode } from "./markdown-tables-BIxJ8ehA.js";
@@ -5,7 +5,7 @@ import { c as getActivePluginRegistry, v as createInternalHookEvent, x as trigge
5
5
  import { t as createSubsystemLogger } from "./subsystem-BF9jT_Nw.js";
6
6
  import { i as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-B-c56SkM.js";
7
7
  import { r as normalizeChannelId, t as getChannelPlugin } from "./plugins-DIrNa311.js";
8
- import { B as resolveMirroredTranscriptText, i as isMessagingToolDuplicate, z as appendAssistantMessageToSessionTranscript } from "./pi-embedded-helpers-CSE0v99A.js";
8
+ import { B as resolveMirroredTranscriptText, i as isMessagingToolDuplicate, z as appendAssistantMessageToSessionTranscript } from "./pi-embedded-helpers-Ll4Lztu1.js";
9
9
  import { d as getChannelDock } from "./thinking-Dg8vKjw_.js";
10
10
  import { c as resolveChunkMode, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, n as chunkByParagraph } from "./chunk-fZrBDWYg.js";
11
11
  import { n as resolveMarkdownTableMode } from "./markdown-tables-DpVJE0eA.js";
@@ -7,13 +7,13 @@ import { a as resolveAgentIdentity } from "./reply-prefix--NgRsvNq.js";
7
7
  import "./github-copilot-token-ttqQRqMA.js";
8
8
  import "./env-DulyEJtM.js";
9
9
  import "./tokens-DnMmat9I.js";
10
- import { D as resolveAgentTimeoutMs, t as runEmbeddedPiAgent } from "./pi-embedded-BBmOFap3.js";
10
+ import { D as resolveAgentTimeoutMs, t as runEmbeddedPiAgent } from "./pi-embedded-CwQsXrVT.js";
11
11
  import "./plugins-B90TBXkV.js";
12
12
  import "./accounts-Cxza2UXO.js";
13
13
  import "./bindings-q3EHMdG1.js";
14
14
  import "./send-Chks8Sx_.js";
15
15
  import "./send-D4cCHXzJ.js";
16
- import "./deliver-0ThKlzQo.js";
16
+ import "./deliver-B2d2N8OJ.js";
17
17
  import "./diagnostic-DzmNBZt3.js";
18
18
  import "./diagnostic-session-state-C1vRJs5w.js";
19
19
  import "./accounts-sr0G5UOe.js";
@@ -21,10 +21,10 @@ import "./send-B3d5oxXz.js";
21
21
  import "./image-ops-BfqdVNxh.js";
22
22
  import "./pi-model-discovery-j5tVLINv.js";
23
23
  import "./message-channel-DNOtJsL1.js";
24
- import { G as saveSessionStore, H as loadSessionStore } from "./pi-embedded-helpers-B0Kht0I2.js";
24
+ import { G as saveSessionStore, H as loadSessionStore } from "./pi-embedded-helpers-Cd0S0WfR.js";
25
25
  import "./config-KL7847B1.js";
26
26
  import "./manifest-registry-sze5OW-s.js";
27
- import "./chrome-CZuniMYN.js";
27
+ import "./chrome-lRUqqgSD.js";
28
28
  import "./skills-DGNBryo1.js";
29
29
  import "./redact-1NGYV_8p.js";
30
30
  import "./errors-CPfngF0S.js";
@@ -34,7 +34,7 @@ import "./thinking-BClv_xAO.js";
34
34
  import "./accounts-DAZL5b5o.js";
35
35
  import { n as resolveSessionFilePath, s as resolveStorePath } from "./paths-5iQF9bSz.js";
36
36
  import "./tool-images-TQiVqsOc.js";
37
- import "./image-88q3KE-C.js";
37
+ import "./image--DDZnw-F.js";
38
38
  import "./manager-CsXJuzK4.js";
39
39
  import "./gemini-auth-BF6ZCNOV.js";
40
40
  import "./sqlite-CmTvWxxq.js";
@@ -47,7 +47,7 @@ import "./ir-D-lkkPU3.js";
47
47
  import "./render-B1VqYyvo.js";
48
48
  import "./commands-registry-DEXQtgBS.js";
49
49
  import "./skill-commands-CGvIAIiQ.js";
50
- import "./runner-a43IsYad.js";
50
+ import "./runner-Dq-qfrq7.js";
51
51
  import "./fetch-BMa0enEg.js";
52
52
  import "./channel-activity-7fb2OxTV.js";
53
53
  import "./tables-Ds9lRo34.js";
@@ -2,7 +2,7 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { D as isRecord, I as shortenHomeInString } from "./registry-dIQoppcB.js";
3
3
  import { G as resolveOpenClawAgentDir, S as getApiKeyForModel, Y as normalizeSecretInput, _ as resolveImplicitBedrockProvider, g as normalizeProviders, v as resolveImplicitCopilotProvider, w as requireApiKey, y as resolveImplicitProviders } from "./model-selection-CB33-r8t.js";
4
4
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-j5tVLINv.js";
5
- import { N as sanitizeUserFacingText } from "./pi-embedded-helpers-B0Kht0I2.js";
5
+ import { N as sanitizeUserFacingText } from "./pi-embedded-helpers-Cd0S0WfR.js";
6
6
  import { n as loadConfig } from "./config-KL7847B1.js";
7
7
  import { n as redactToolDetail } from "./redact-1NGYV_8p.js";
8
8
  import path from "node:path";
@@ -2,7 +2,7 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { R as shortenHomeInString, k as isRecord } from "./registry-DpeZG5fo.js";
3
3
  import { B as resolveImplicitCopilotProvider, J as normalizeSecretInput, R as normalizeProviders, V as resolveImplicitProviders, r as requireApiKey, t as getApiKeyForModel, y as resolveOpenClawAgentDir, z as resolveImplicitBedrockProvider } from "./model-auth-vtNH8C4P.js";
4
4
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-DaNAekda.js";
5
- import { N as sanitizeUserFacingText } from "./pi-embedded-helpers-CSE0v99A.js";
5
+ import { N as sanitizeUserFacingText } from "./pi-embedded-helpers-Ll4Lztu1.js";
6
6
  import { n as loadConfig } from "./config-Du_-inxH.js";
7
7
  import { n as redactToolDetail } from "./redact-jSxx6Ep2.js";
8
8
  import fs from "node:fs/promises";
@@ -4,7 +4,7 @@ import { c as resolveDefaultAgentId, r as resolveAgentDir, s as resolveAgentWork
4
4
  import "./subsystem-BF9jT_Nw.js";
5
5
  import "./workspace-DYx5Dxtw.js";
6
6
  import "./tokens-B-c56SkM.js";
7
- import { t as runEmbeddedPiAgent } from "./pi-embedded-Qfuh9XzI.js";
7
+ import { t as runEmbeddedPiAgent } from "./pi-embedded-D7qD6fo-.js";
8
8
  import "./plugins-DIrNa311.js";
9
9
  import "./accounts-C8m4ADkw.js";
10
10
  import "./boolean-B8-BqKGQ.js";
@@ -12,7 +12,7 @@ import "./command-format-BOHIfoCX.js";
12
12
  import "./bindings-BKEEBdsb.js";
13
13
  import "./send-Byt_wJDK.js";
14
14
  import "./send-BEFzSOoD.js";
15
- import "./deliver-CKH_FhS0.js";
15
+ import "./deliver-CLJRPnfx.js";
16
16
  import "./diagnostic-DriDPU6M.js";
17
17
  import "./diagnostic-session-state-Bxo4UHOL.js";
18
18
  import "./accounts-CQT5u65w.js";
@@ -22,10 +22,10 @@ import "./model-auth-vtNH8C4P.js";
22
22
  import "./github-copilot-token-Dgb9dAHW.js";
23
23
  import "./pi-model-discovery-DaNAekda.js";
24
24
  import "./message-channel-CHYSjmbr.js";
25
- import "./pi-embedded-helpers-CSE0v99A.js";
25
+ import "./pi-embedded-helpers-Ll4Lztu1.js";
26
26
  import "./config-Du_-inxH.js";
27
27
  import "./manifest-registry-Dhk4A5vb.js";
28
- import "./chrome-Bqbv_ZSj.js";
28
+ import "./chrome-BAv9fEiv.js";
29
29
  import "./frontmatter-CdkBcBAo.js";
30
30
  import "./skills-DSZuhFx9.js";
31
31
  import "./redact-jSxx6Ep2.js";
@@ -36,7 +36,7 @@ import "./thinking-Dg8vKjw_.js";
36
36
  import "./accounts-DFrH9IVU.js";
37
37
  import "./paths-BEAbheM8.js";
38
38
  import "./tool-images-C1rdDr34.js";
39
- import "./image-CxPjVob-.js";
39
+ import "./image-Ci28h-op.js";
40
40
  import "./reply-prefix-DZrS3Kf7.js";
41
41
  import "./manager-D7SRrHxT.js";
42
42
  import "./gemini-auth-A2JaRMHH.js";
@@ -50,7 +50,7 @@ import "./ir-DJPm0a4k.js";
50
50
  import "./render-CDCvpfhh.js";
51
51
  import "./commands-registry-BzlB3qtZ.js";
52
52
  import "./skill-commands-CqyVDpti.js";
53
- import "./runner-D1eXJZ8T.js";
53
+ import "./runner-ChBxge-W.js";
54
54
  import "./fetch-DtI0mtzx.js";
55
55
  import "./channel-activity-BgsTqLau.js";
56
56
  import "./tables-C3clT_iA.js";
@@ -14,7 +14,7 @@ import { a as logoutWeb, i as logWebSelfId, l as readWebSelfId, p as webAuthExis
14
14
  import { t as normalizeChatType } from "./chat-type-DFDuk3FY.js";
15
15
  import { a as resolveSlackWebClientOptions, c as buildSlackBlocksFallbackText, i as createSlackWebClient, l as parseSlackTarget, o as parseSlackBlocksInput, s as validateSlackBlocksArray, t as sendMessageSlack, u as resolveSlackChannelId } from "./send-Chks8Sx_.js";
16
16
  import { $ as fetchChannelPermissionsDiscord, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveTimestampMs, D as pinMessageDiscord, Dt as normalizeChannelSlug, E as listThreadsDiscord, Et as buildChannelKeyCandidates, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, Ot as resolveChannelEntryMatchWithFallback, P as fetchChannelInfoDiscord, Q as stripUndefinedFields, R as kickMemberDiscord, S as deleteMessageDiscord, St as resolveDiscordSystemLocation, T as listPinsDiscord, Tt as applyChannelMatchMeta, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendPollDiscord, _t as resolveDiscordShouldRequireMention, a as removeReactionDiscord, at as resolveDiscordChannelId, b as sendWebhookMessageDiscord, bt as formatDiscordReactionEmoji, c as formatDiscordComponentEventText, ct as allowListMatches$1, d as parseDiscordModalCustomId, dt as normalizeDiscordSlug, et as hasAnyGuildPermissionDiscord, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordAllowListMatch, g as sendMessageDiscord, gt as resolveDiscordOwnerAllowFrom, h as resolveDiscordModalEntry, ht as resolveDiscordMemberAccessState, i as removeOwnReactionsDiscord, it as parseDiscordTarget, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as isDiscordGroupAllowedByPolicy, m as resolveDiscordComponentEntry, mt as resolveDiscordGuildEntry, n as fetchReactionsDiscord, nt as createDiscordClient, o as sendDiscordComponentMessage, ot as listDiscordDirectoryGroupsLive, p as readDiscordComponentSpec, pt as resolveDiscordChannelConfigWithFallback, q as deleteChannelDiscord, r as reactMessageDiscord, rt as createDiscordRestClient, s as createDiscordFormModal, st as listDiscordDirectoryPeersLive, tt as chunkDiscordTextWithMode, u as parseDiscordComponentCustomIdForCarbon, ut as normalizeDiscordAllowList, v as sendStickerDiscord, vt as resolveGroupDmAllow, w as fetchMessageDiscord, wt as fetchDiscord, x as createThreadDiscord, xt as formatDiscordUserTag, y as sendVoiceMessageDiscord, yt as shouldEmitDiscordReactionNotification, z as listGuildChannelsDiscord } from "./send-D4cCHXzJ.js";
17
- import { C as getGlobalHookRunner, S as parseInlineDirectives$1, _ as normalizeTargetForProvider, a as normalizeOutboundPayloadsForJson, b as MEDIA_TOKEN_RE, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as normalizeChannelTargetInput, h as buildTargetResolverSignature, i as normalizeOutboundPayloads, l as filterMessagingToolDuplicates, m as resolveReplyToMode, o as normalizeReplyPayloadsForDelivery, p as createReplyToModeFilterForChannel, r as formatOutboundPayloadLog, s as applyReplyTagsToPayload, t as deliverOutboundPayloads, u as filterMessagingToolMediaDuplicates, v as throwIfAborted, w as initializeGlobalHookRunner, x as splitMediaFromOutput, y as parseReplyDirectives } from "./deliver-0ThKlzQo.js";
17
+ import { C as getGlobalHookRunner, S as parseInlineDirectives$1, _ as normalizeTargetForProvider, a as normalizeOutboundPayloadsForJson, b as MEDIA_TOKEN_RE, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as normalizeChannelTargetInput, h as buildTargetResolverSignature, i as normalizeOutboundPayloads, l as filterMessagingToolDuplicates, m as resolveReplyToMode, o as normalizeReplyPayloadsForDelivery, p as createReplyToModeFilterForChannel, r as formatOutboundPayloadLog, s as applyReplyTagsToPayload, t as deliverOutboundPayloads, u as filterMessagingToolMediaDuplicates, v as throwIfAborted, w as initializeGlobalHookRunner, x as splitMediaFromOutput, y as parseReplyDirectives } from "./deliver-B2d2N8OJ.js";
18
18
  import { a as logMessageProcessed, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, i as logLaneEnqueue, l as logWebhookProcessed, m as isDiagnosticsEnabled, o as logMessageQueued, p as emitDiagnosticEvent, r as logLaneDequeue, s as logSessionStateChange, t as diag, u as logWebhookReceived } from "./diagnostic-DzmNBZt3.js";
19
19
  import { r as getDiagnosticSessionState } from "./diagnostic-session-state-C1vRJs5w.js";
20
20
  import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-sr0G5UOe.js";
@@ -22,10 +22,10 @@ import { $ as isVoiceCompatibleAudio, A as extractTelegramLocation, B as normali
22
22
  import { d as detectMime, f as extensionForMime, g as isGifMedia, h as isAudioFileName, i as getImageMetadata, m as imageMimeFromFormat, s as resizeToJpeg, x as mediaKindFromMime, y as MAX_IMAGE_BYTES } from "./image-ops-BfqdVNxh.js";
23
23
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-j5tVLINv.js";
24
24
  import { a as isMarkdownCapableMessageChannel, c as resolveGatewayMessageChannel, d as GATEWAY_CLIENT_MODES, f as GATEWAY_CLIENT_NAMES, i as isInternalMessageChannel, l as resolveMessageChannel, n as isDeliverableMessageChannel, o as listDeliverableMessageChannels, r as isGatewayMessageChannel, s as normalizeMessageChannel, t as INTERNAL_MESSAGE_CHANNEL, u as GATEWAY_CLIENT_IDS } from "./message-channel-DNOtJsL1.js";
25
- import { $ as mergeDeliveryContext, A as isTransientHttpError, At as DEFAULT_UPLOAD_DIR, Bt as expandToolGroups, C as isContextOverflowError, Ct as resolveGroupSessionKey, D as isRateLimitAssistantError, Dt as registerBrowserRoutes, E as isLikelyContextOverflowError, Et as createBrowserRouteContext, F as resolveSandboxContext, Ft as resolveSandboxConfigForAgent, Gt as compileGlobPatterns, H as loadSessionStore, Ht as normalizeToolName, I as resolveSandboxRuntimeStatus, It as applyOwnerOnlyToolPolicy, J as updateSessionStoreEntry, Jt as ensureSessionHeader, K as updateLastRoute, Kt as matchesAnyGlobPattern, L as extractDeliveryInfo, Lt as buildPluginToolGroups, M as parseImageSizeError, Mt as getBridgeAuthForPort, N as sanitizeUserFacingText, Nt as ensureBrowserControlAuth, O as isRawApiErrorPayload, Ot as resolveBrowserConfig, P as ensureSandboxWorkspaceForSession, Pt as resolveBrowserControlAuth, Q as deliveryContextKey, R as parseSessionThreadInfo, Rt as collectExplicitAllowlist, S as isCompactionFailureError, St as deriveSessionMetaPatch, T as isFailoverErrorMessage, Tt as resolveSessionLockMaxHoldFromTimeout, U as readSessionUpdatedAt, Ut as resolveToolProfilePolicy, V as resolveAndPersistSessionFile, Vt as mergeAlsoAllowPolicy, W as recordSessionMetaFromInbound, Wt as stripPluginOnlyAllowlist, X as resolveCacheTtlMs$1, Xt as resolveBootstrapTotalMaxChars, Y as isCacheEnabled, Yt as resolveBootstrapMaxChars, Z as deliveryContextFromSession, Zt as sanitizeGoogleTurnOrdering, _ as formatRawAssistantErrorForUi, _t as DEFAULT_RESET_TRIGGERS, a as isMessagingToolDuplicateNormalized, at as countToolResults, b as isBillingAssistantError, bt as resolveExplicitAgentSessionKey, c as extractToolCallsFromAssistant, ct as applyInputProvenanceToUserMessage, d as isAntigravityClaude, dt as resolveSessionKey, et as normalizeDeliveryContext, f as isGoogleModelApi, ft as evaluateSessionFreshness, g as formatBillingErrorMessage, gt as resolveThreadFlag, h as formatAssistantErrorText, ht as resolveSessionResetType, it as capArrayByJsonBytes, j as parseImageDimensionError, jt as resolveExistingPathsWithinRoot, k as isTimeoutErrorMessage, kt as resolveProfile, l as extractToolResultId, lt as hasInterSessionUserProvenance, m as classifyFailoverReason, mt as resolveSessionResetPolicy, n as validateGeminiTurns, nt as normalizeAccountId$3, o as normalizeTextForComparison, ot as extractToolCallNames, p as BILLING_ERROR_USER_MESSAGE, pt as resolveChannelResetConfig, q as updateSessionStore, qt as buildBootstrapContextFiles, r as pickFallbackThinkingLevel, rt as archiveSessionTranscripts, s as sanitizeSessionMessagesImages, st as INPUT_PROVENANCE_KIND_VALUES, t as validateAnthropicTurns, tt as normalizeSessionDeliveryFields, u as downgradeOpenAIReasoningBlocks, ut as normalizeInputProvenance, v as getApiErrorPayloadFingerprint, vt as resolveFreshSessionTotalTokens, w as isFailoverAssistantError, wt as acquireSessionWriteLock, x as isCloudCodeAssistFormatError, xt as resolveMainSessionKey, y as isAuthAssistantError, yt as canonicalizeMainSessionAlias, z as appendAssistantMessageToSessionTranscript, zt as expandPolicyWithPluginGroups } from "./pi-embedded-helpers-B0Kht0I2.js";
25
+ import { $ as mergeDeliveryContext, A as isTransientHttpError, At as DEFAULT_UPLOAD_DIR, Bt as expandToolGroups, C as isContextOverflowError, Ct as resolveGroupSessionKey, D as isRateLimitAssistantError, Dt as registerBrowserRoutes, E as isLikelyContextOverflowError, Et as createBrowserRouteContext, F as resolveSandboxContext, Ft as resolveSandboxConfigForAgent, Gt as compileGlobPatterns, H as loadSessionStore, Ht as normalizeToolName, I as resolveSandboxRuntimeStatus, It as applyOwnerOnlyToolPolicy, J as updateSessionStoreEntry, Jt as ensureSessionHeader, K as updateLastRoute, Kt as matchesAnyGlobPattern, L as extractDeliveryInfo, Lt as buildPluginToolGroups, M as parseImageSizeError, Mt as getBridgeAuthForPort, N as sanitizeUserFacingText, Nt as ensureBrowserControlAuth, O as isRawApiErrorPayload, Ot as resolveBrowserConfig, P as ensureSandboxWorkspaceForSession, Pt as resolveBrowserControlAuth, Q as deliveryContextKey, R as parseSessionThreadInfo, Rt as collectExplicitAllowlist, S as isCompactionFailureError, St as deriveSessionMetaPatch, T as isFailoverErrorMessage, Tt as resolveSessionLockMaxHoldFromTimeout, U as readSessionUpdatedAt, Ut as resolveToolProfilePolicy, V as resolveAndPersistSessionFile, Vt as mergeAlsoAllowPolicy, W as recordSessionMetaFromInbound, Wt as stripPluginOnlyAllowlist, X as resolveCacheTtlMs$1, Xt as resolveBootstrapTotalMaxChars, Y as isCacheEnabled, Yt as resolveBootstrapMaxChars, Z as deliveryContextFromSession, Zt as sanitizeGoogleTurnOrdering, _ as formatRawAssistantErrorForUi, _t as DEFAULT_RESET_TRIGGERS, a as isMessagingToolDuplicateNormalized, at as countToolResults, b as isBillingAssistantError, bt as resolveExplicitAgentSessionKey, c as extractToolCallsFromAssistant, ct as applyInputProvenanceToUserMessage, d as isAntigravityClaude, dt as resolveSessionKey, et as normalizeDeliveryContext, f as isGoogleModelApi, ft as evaluateSessionFreshness, g as formatBillingErrorMessage, gt as resolveThreadFlag, h as formatAssistantErrorText, ht as resolveSessionResetType, it as capArrayByJsonBytes, j as parseImageDimensionError, jt as resolveExistingPathsWithinRoot, k as isTimeoutErrorMessage, kt as resolveProfile, l as extractToolResultId, lt as hasInterSessionUserProvenance, m as classifyFailoverReason, mt as resolveSessionResetPolicy, n as validateGeminiTurns, nt as normalizeAccountId$3, o as normalizeTextForComparison, ot as extractToolCallNames, p as BILLING_ERROR_USER_MESSAGE, pt as resolveChannelResetConfig, q as updateSessionStore, qt as buildBootstrapContextFiles, r as pickFallbackThinkingLevel, rt as archiveSessionTranscripts, s as sanitizeSessionMessagesImages, st as INPUT_PROVENANCE_KIND_VALUES, t as validateAnthropicTurns, tt as normalizeSessionDeliveryFields, u as downgradeOpenAIReasoningBlocks, ut as normalizeInputProvenance, v as getApiErrorPayloadFingerprint, vt as resolveFreshSessionTotalTokens, w as isFailoverAssistantError, wt as acquireSessionWriteLock, x as isCloudCodeAssistFormatError, xt as resolveMainSessionKey, y as isAuthAssistantError, yt as canonicalizeMainSessionAlias, z as appendAssistantMessageToSessionTranscript, zt as expandPolicyWithPluginGroups } from "./pi-embedded-helpers-Cd0S0WfR.js";
26
26
  import { A as VERSION, C as getConfigValueAtPath, D as isSafeExecutableValue, E as unsetConfigValueAtPath, O as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, S as unsetConfigOverride, T as setConfigValueAtPath, _ as parseDurationMs, a as writeConfigFile, b as resetConfigOverrides, c as TELEGRAM_COMMAND_NAME_PATTERN, f as isInboundPathAllowed, g as normalizeScpRemoteHost, h as resolveIMessageRemoteAttachmentRoots, i as resolveConfigSnapshotHash, k as resolveAgentMaxConcurrent, l as normalizeTelegramCommandName, m as resolveIMessageAttachmentRoots, n as loadConfig, o as validateConfigObjectWithPlugins, r as readConfigFileSnapshot, u as resolveTelegramCustomCommands, v as validateJsonSchemaValue, w as parseConfigPath, x as setConfigOverride, y as getConfigOverrides } from "./config-KL7847B1.js";
27
27
  import { c as normalizePluginsConfig, f as isPathInsideWithRealpath, i as safeStatSync, l as resolveEnableState, n as discoverOpenClawPlugins, p as isDangerousHostEnvVarName, r as isPathInside, s as applyTestPluginDefaults, t as loadPluginManifestRegistry, u as resolveMemorySlotDecision } from "./manifest-registry-sze5OW-s.js";
28
- import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-CZuniMYN.js";
28
+ import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-lRUqqgSD.js";
29
29
  import { c as assertSandboxPath, d as resolveSandboxedMediaSource, f as applySkillEnvOverrides, i as resolveSkillsPromptForRun, l as resolveSandboxInputPath, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverridesFromSnapshot, r as loadWorkspaceSkillEntries, s as assertMediaNotDataUrl } from "./skills-DGNBryo1.js";
30
30
  import { n as formatErrorMessage, r as formatUncaughtError } from "./errors-CPfngF0S.js";
31
31
  import { i as isBlockedHostnameOrIp, o as normalizeHostname, t as SsrFBlockedError } from "./ssrf-CxfFyMRZ.js";
@@ -36,7 +36,7 @@ import { t as resolveIMessageAccount } from "./accounts-DAZL5b5o.js";
36
36
  import { i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as resolveSessionTranscriptsDirForAgent, r as resolveSessionFilePathOptions, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-5iQF9bSz.js";
37
37
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-C8Tqw4td.js";
38
38
  import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-TQiVqsOc.js";
39
- import { S as ensureOpenClawModelsJson, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, x as extractTextFromChatContent, y as resolveToolDisplay } from "./image-88q3KE-C.js";
39
+ import { S as ensureOpenClawModelsJson, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, x as extractTextFromChatContent, y as resolveToolDisplay } from "./image--DDZnw-F.js";
40
40
  import { n as resolveMemorySearchConfig } from "./manager-CsXJuzK4.js";
41
41
  import { d as listMemoryFiles, f as normalizeExtraMemoryPaths, g as runTasksWithConcurrency } from "./sqlite-CmTvWxxq.js";
42
42
  import { n as retryAsync } from "./retry-CFbmOHr4.js";
@@ -49,7 +49,7 @@ import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-D-lkkPU3.js";
49
49
  import { _ as resolveNativeCommandsEnabled, a as listChatCommandsForConfig, c as normalizeCommandBody, d as resolveCommandArgMenu, f as serializeCommandArgs, g as isRestartEnabled, h as isNativeCommandsExplicitlyDisabled, i as listChatCommands, l as parseCommandArgs, m as isCommandFlagEnabled, o as listNativeCommandSpecs, p as shouldHandleTextCommands, r as findCommandByNativeName, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as resolveCommandArgChoices, v as resolveNativeSkillsEnabled } from "./commands-registry-DEXQtgBS.js";
50
50
  import { c as getSkillsSnapshotVersion, d as createAsyncLock, f as readJsonFile, i as resolveSkillCommandInvocation, l as pruneExpiredPending, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, p as writeJsonAtomic, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames, u as resolvePairingPaths } from "./skill-commands-CGvIAIiQ.js";
51
51
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-QOi5vzUt.js";
52
- import { _ as resolveMediaUnderstandingScope, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as buildRandomTempFilePath, g as normalizeMediaUnderstandingChatType, h as resolveTimeoutMs$1, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveConcurrency, n as createMediaAttachmentCache, o as runCapability, p as registerUnhandledRejectionHandler, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as CLI_OUTPUT_MAX_BUFFER, y as applyTemplate } from "./runner-a43IsYad.js";
52
+ import { _ as resolveMediaUnderstandingScope, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as buildRandomTempFilePath, g as normalizeMediaUnderstandingChatType, h as resolveTimeoutMs$1, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveConcurrency, n as createMediaAttachmentCache, o as runCapability, p as registerUnhandledRejectionHandler, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as CLI_OUTPUT_MAX_BUFFER, y as applyTemplate } from "./runner-Dq-qfrq7.js";
53
53
  import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-BMa0enEg.js";
54
54
  import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-DtXYsHEc.js";
55
55
  import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-7fb2OxTV.js";
@@ -79,7 +79,7 @@ import { EdgeTTS } from "node-edge-tts";
79
79
  import AjvPkg from "ajv";
80
80
  import { createServer } from "node:http";
81
81
  import { ProxyAgent, fetch as fetch$1 } from "undici";
82
- import WebSocket$1, { WebSocket } from "ws";
82
+ import WebSocket, { WebSocket as WebSocket$1 } from "ws";
83
83
  import { Buffer as Buffer$1 } from "node:buffer";
84
84
  import { createJiti } from "jiti";
85
85
  import { Type } from "@sinclair/typebox";
@@ -5713,7 +5713,7 @@ var GatewayClient = class {
5713
5713
  if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
5714
5714
  });
5715
5715
  }
5716
- this.ws = new WebSocket(url, wsOptions);
5716
+ this.ws = new WebSocket$1(url, wsOptions);
5717
5717
  this.ws.on("open", () => {
5718
5718
  if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
5719
5719
  const tlsError = this.validateTlsFingerprint();
@@ -5932,7 +5932,7 @@ var GatewayClient = class {
5932
5932
  return null;
5933
5933
  }
5934
5934
  async request(method, params, opts) {
5935
- if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
5935
+ if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error("gateway not connected");
5936
5936
  const id = randomUUID();
5937
5937
  const frame = {
5938
5938
  type: "req",
@@ -7196,7 +7196,7 @@ async function routeReply(params) {
7196
7196
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
7197
7197
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
7198
7198
  try {
7199
- const { deliverOutboundPayloads } = await import("./deliver-0ThKlzQo.js").then((n) => n.n);
7199
+ const { deliverOutboundPayloads } = await import("./deliver-B2d2N8OJ.js").then((n) => n.n);
7200
7200
  return {
7201
7201
  ok: true,
7202
7202
  messageId: (await deliverOutboundPayloads({
@@ -41569,7 +41569,7 @@ async function deliverSessionMaintenanceWarning(params) {
41569
41569
  return;
41570
41570
  }
41571
41571
  try {
41572
- const { deliverOutboundPayloads } = await import("./deliver-0ThKlzQo.js").then((n) => n.n);
41572
+ const { deliverOutboundPayloads } = await import("./deliver-B2d2N8OJ.js").then((n) => n.n);
41573
41573
  await deliverOutboundPayloads({
41574
41574
  cfg: params.cfg,
41575
41575
  channel,
@@ -45016,7 +45016,7 @@ async function describeStickerImage(params) {
45016
45016
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
45017
45017
  try {
45018
45018
  const buffer = await fs$1.readFile(imagePath);
45019
- const { describeImageWithModel } = await import("./image-88q3KE-C.js").then((n) => n.n);
45019
+ const { describeImageWithModel } = await import("./image--DDZnw-F.js").then((n) => n.n);
45020
45020
  return (await describeImageWithModel({
45021
45021
  buffer,
45022
45022
  fileName: "sticker.webp",
@@ -47477,7 +47477,7 @@ async function preflightDiscordMessage(params) {
47477
47477
  let preflightTranscript;
47478
47478
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
47479
47479
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
47480
- const { transcribeFirstAudio } = await import("./audio-preflight-Da7vejCH.js");
47480
+ const { transcribeFirstAudio } = await import("./audio-preflight-CODznzqu.js");
47481
47481
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
47482
47482
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
47483
47483
  ctx: {
@@ -51483,7 +51483,7 @@ function isVoiceChannelType(type) {
51483
51483
  function createDefaultDeps() {
51484
51484
  return {
51485
51485
  sendMessageWhatsApp: async (...args) => {
51486
- const { sendMessageWhatsApp } = await import("./web-DeSwEO7X.js");
51486
+ const { sendMessageWhatsApp } = await import("./web-DPHo2cWX.js");
51487
51487
  return await sendMessageWhatsApp(...args);
51488
51488
  },
51489
51489
  sendMessageTelegram: async (...args) => {
@@ -54396,7 +54396,7 @@ function createDiscordGatewayPlugin(params) {
54396
54396
  super(options);
54397
54397
  }
54398
54398
  createWebSocket(url) {
54399
- return new WebSocket$1(url, { agent });
54399
+ return new WebSocket(url, { agent });
54400
54400
  }
54401
54401
  }
54402
54402
  return new ProxyGatewayPlugin();
@@ -64669,7 +64669,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
64669
64669
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
64670
64670
  let preflightTranscript;
64671
64671
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
64672
- const { transcribeFirstAudio } = await import("./audio-preflight-Da7vejCH.js");
64672
+ const { transcribeFirstAudio } = await import("./audio-preflight-CODznzqu.js");
64673
64673
  preflightTranscript = await transcribeFirstAudio({
64674
64674
  ctx: {
64675
64675
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -66826,7 +66826,7 @@ function loadWebLoginQr() {
66826
66826
  return webLoginQrPromise;
66827
66827
  }
66828
66828
  function loadWebChannel() {
66829
- webChannelPromise ??= import("./web-DeSwEO7X.js");
66829
+ webChannelPromise ??= import("./web-DPHo2cWX.js");
66830
66830
  return webChannelPromise;
66831
66831
  }
66832
66832
  function loadWhatsAppActions() {