@multiplytech/openclaw 2026.2.15-pairing-code.1 → 2026.2.15-pairing-code.2

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 (25) hide show
  1. package/dist/{audio-preflight-18tRQHAJ.js → audio-preflight-BHSwqB70.js} +4 -4
  2. package/dist/{audio-preflight-kYQdd_bY.js → audio-preflight-CeC5WuRi.js} +4 -4
  3. package/dist/build-info.json +3 -3
  4. package/dist/bundled/boot-md/handler.js +7 -7
  5. package/dist/bundled/session-memory/handler.js +6 -6
  6. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  7. package/dist/{chrome-B2PpxswT.js → chrome-BR14_3nU.js} +7 -7
  8. package/dist/{chrome-DBVAzVv0.js → chrome-DlM4kwMc.js} +7 -7
  9. package/dist/{deliver-BDm1hy0O.js → deliver-CV4a0MBa.js} +1 -1
  10. package/dist/{deliver-C7HjLIB7.js → deliver-DOrBYvPC.js} +1 -1
  11. package/dist/extensionAPI.js +6 -6
  12. package/dist/{image-CRFk69Io.js → image-CIO7-OG5.js} +1 -1
  13. package/dist/{image-Dv7bJ1hC.js → image-DVTZYmDL.js} +1 -1
  14. package/dist/llm-slug-generator.js +6 -6
  15. package/dist/{pi-embedded-oaxl536D.js → pi-embedded-VsjyhRZJ.js} +15 -15
  16. package/dist/{pi-embedded-bfnkqe0p.js → pi-embedded-eJxVRGMo.js} +15 -15
  17. package/dist/{pi-embedded-helpers-Dow6Qreh.js → pi-embedded-helpers-D3YxFr03.js} +4 -4
  18. package/dist/{pi-embedded-helpers-CpicJuB_.js → pi-embedded-helpers-DHT11gwA.js} +4 -4
  19. package/dist/{pw-ai-Bbd79y0r.js → pw-ai-QsOEPS_1.js} +1 -1
  20. package/dist/{pw-ai-lO0pe-hZ.js → pw-ai-xh9cPTDX.js} +1 -1
  21. package/dist/{runner-oDUAvejt.js → runner-DED-FFOX.js} +1 -1
  22. package/dist/{runner-D2IJZlUb.js → runner-nMdrG8eK.js} +1 -1
  23. package/dist/{web-DdUXrZFZ.js → web-BhEzjpss.js} +6 -6
  24. package/dist/{web-DEAvmSwt.js → web-ulvSoKNk.js} +6 -6
  25. package/package.json +1 -1
@@ -8,16 +8,16 @@ import "./model-auth-BBAJ-iuC.js";
8
8
  import "./config-BA8Xs1ek.js";
9
9
  import "./github-copilot-token-BXEGgIt5.js";
10
10
  import "./pi-model-discovery-Cexg1XRf.js";
11
- import "./pi-embedded-helpers-CpicJuB_.js";
12
- import "./chrome-DBVAzVv0.js";
11
+ import "./pi-embedded-helpers-DHT11gwA.js";
12
+ import "./chrome-DlM4kwMc.js";
13
13
  import "./frontmatter-Bk_vZq47.js";
14
14
  import "./store-B6Y3aOaY.js";
15
15
  import "./paths-CMYSfM3T.js";
16
16
  import "./tool-images-DRiKq4of.js";
17
- import "./image-Dv7bJ1hC.js";
17
+ import "./image-DVTZYmDL.js";
18
18
  import "./redact-C1ne-kC_.js";
19
19
  import "./fetch-Dyb5pqye.js";
20
- import { a as runCapability, l as isAudioAttachment, n as createMediaAttachmentCache, r as normalizeMediaAttachments, t as buildProviderRegistry } from "./runner-D2IJZlUb.js";
20
+ import { a as runCapability, l as isAudioAttachment, n as createMediaAttachmentCache, r as normalizeMediaAttachments, t as buildProviderRegistry } from "./runner-nMdrG8eK.js";
21
21
 
22
22
  //#region src/media-understanding/audio-preflight.ts
23
23
  /**
@@ -5,15 +5,15 @@ import "./model-selection-Cb6822pn.js";
5
5
  import "./github-copilot-token-DZwwYztr.js";
6
6
  import "./image-ops-B9jnR447.js";
7
7
  import "./config-Ejc5JKGl.js";
8
- import "./pi-embedded-helpers-Dow6Qreh.js";
8
+ import "./pi-embedded-helpers-D3YxFr03.js";
9
9
  import "./pi-model-discovery-DWTTaAgY.js";
10
- import "./chrome-B2PpxswT.js";
10
+ import "./chrome-BR14_3nU.js";
11
11
  import "./paths-CdHoK26P.js";
12
12
  import "./tool-images-IRIIkjuN.js";
13
- import "./image-CRFk69Io.js";
13
+ import "./image-CIO7-OG5.js";
14
14
  import "./redact-DO22U0Pj.js";
15
15
  import "./fetch-CE6hQpN5.js";
16
- import { a as runCapability, l as isAudioAttachment, n as createMediaAttachmentCache, r as normalizeMediaAttachments, t as buildProviderRegistry } from "./runner-oDUAvejt.js";
16
+ import { a as runCapability, l as isAudioAttachment, n as createMediaAttachmentCache, r as normalizeMediaAttachments, t as buildProviderRegistry } from "./runner-DED-FFOX.js";
17
17
 
18
18
  //#region src/media-understanding/audio-preflight.ts
19
19
  /**
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "2026.2.15-pairing-code.1",
3
- "commit": "b7e50432cbd3cd822e2b0b0b460fa95930bbfb1d",
4
- "builtAt": "2026-02-15T20:17:32.941Z"
2
+ "version": "2026.2.15-pairing-code.2",
3
+ "commit": "df9f66605dd29e7b94ee4aa29230b3b1bdb5a5ea",
4
+ "builtAt": "2026-02-16T00:36:13.077Z"
5
5
  }
@@ -2,8 +2,8 @@ import "../../paths-CyR9Pa1R.js";
2
2
  import { E as resolveAgentIdFromSessionKey, T as normalizeMainKey, l as ensureAgentWorkspace, w as normalizeAgentId } from "../../workspace-LSLFINSz.js";
3
3
  import { _ as DEFAULT_CHAT_CHANNEL, d as defaultRuntime, l as createSubsystemLogger } from "../../exec-C9rZpEqA.js";
4
4
  import { a as resolveAgentModelPrimary, l as resolveEffectiveModelFallbacks, o as resolveAgentSkillsFilter, r as resolveAgentDir, s as resolveAgentWorkspaceDir, t as listAgentIds, u as resolveSessionAgentId } from "../../agent-scope-BIw4Bz2L.js";
5
- import { T as SILENT_REPLY_TOKEN, a as normalizeOutboundPayloadsForJson, i as normalizeOutboundPayloads, r as formatOutboundPayloadLog, t as deliverOutboundPayloads } from "../../deliver-BDm1hy0O.js";
6
- import { A as getRemoteSkillEligibility, F as applyVerboseOverride, J as AGENT_LANE_NESTED, M as lookupContextTokens, N as clearSessionAuthProfileOverride, P as applyModelOverrideToSessionEntry, Q as registerAgentRunContext, T as hasNonzeroUsage, X as clearAgentRunContext, Y as AGENT_LANE_SUBAGENT, Z as emitAgentEvent, b as resolveSessionDeliveryTarget, g as runCliAgent, h as setCliSessionId, j as getSkillsSnapshotVersion, k as resolveSendPolicy, m as getCliSessionId, q as resolveAgentTimeoutMs, t as runEmbeddedPiAgent, w as deriveSessionTotalTokens, x as runWithModelFallback, y as resolveOutboundTarget } from "../../pi-embedded-oaxl536D.js";
5
+ import { T as SILENT_REPLY_TOKEN, a as normalizeOutboundPayloadsForJson, i as normalizeOutboundPayloads, r as formatOutboundPayloadLog, t as deliverOutboundPayloads } from "../../deliver-CV4a0MBa.js";
6
+ import { A as getRemoteSkillEligibility, F as applyVerboseOverride, J as AGENT_LANE_NESTED, M as lookupContextTokens, N as clearSessionAuthProfileOverride, P as applyModelOverrideToSessionEntry, Q as registerAgentRunContext, T as hasNonzeroUsage, X as clearAgentRunContext, Y as AGENT_LANE_SUBAGENT, Z as emitAgentEvent, b as resolveSessionDeliveryTarget, g as runCliAgent, h as setCliSessionId, j as getSkillsSnapshotVersion, k as resolveSendPolicy, m as getCliSessionId, q as resolveAgentTimeoutMs, t as runEmbeddedPiAgent, w as deriveSessionTotalTokens, x as runWithModelFallback, y as resolveOutboundTarget } from "../../pi-embedded-VsjyhRZJ.js";
7
7
  import { F as getChannelPlugin, L as normalizeChannelId, b as resolveMessageChannel, f as INTERNAL_MESSAGE_CHANNEL, h as isInternalMessageChannel, m as isGatewayMessageChannel, p as isDeliverableMessageChannel, v as normalizeMessageChannel } from "../../image-ops-7EDUjzca.js";
8
8
  import "../../boolean-Bb19hm9Y.js";
9
9
  import { B as DEFAULT_MODEL, C as isCliProvider, O as resolveConfiguredModelRef, T as normalizeModelRef, V as DEFAULT_PROVIDER, b as buildAllowedModelSet, h as ensureAuthProfileStore, j as resolveThinkingDefault, w as modelKey, z as DEFAULT_CONTEXT_TOKENS } from "../../model-auth-BBAJ-iuC.js";
@@ -14,13 +14,13 @@ import "../../send-DzhCsWw9.js";
14
14
  import "../../send-CNibEQip.js";
15
15
  import "../../github-copilot-token-BXEGgIt5.js";
16
16
  import "../../pi-model-discovery-Cexg1XRf.js";
17
- import { Rt as buildWorkspaceSkillSnapshot, X as loadSessionStore, a as formatXHighModelHint, bt as resolveExplicitAgentSessionKey, d as normalizeVerboseLevel, dt as resolveSessionKey, et as updateSessionStore, ft as evaluateSessionFreshness, ht as resolveSessionResetType, i as formatThinkingLevels, l as normalizeThinkLevel, lt as normalizeAccountId, mt as resolveSessionResetPolicy, p as supportsXHighThinking, pt as resolveChannelResetConfig, xt as resolveMainSessionKey } from "../../pi-embedded-helpers-CpicJuB_.js";
18
- import "../../chrome-DBVAzVv0.js";
17
+ import { Rt as buildWorkspaceSkillSnapshot, X as loadSessionStore, a as formatXHighModelHint, bt as resolveExplicitAgentSessionKey, d as normalizeVerboseLevel, dt as resolveSessionKey, et as updateSessionStore, ft as evaluateSessionFreshness, ht as resolveSessionResetType, i as formatThinkingLevels, l as normalizeThinkLevel, lt as normalizeAccountId, mt as resolveSessionResetPolicy, p as supportsXHighThinking, pt as resolveChannelResetConfig, xt as resolveMainSessionKey } from "../../pi-embedded-helpers-DHT11gwA.js";
18
+ import "../../chrome-DlM4kwMc.js";
19
19
  import "../../frontmatter-Bk_vZq47.js";
20
20
  import "../../store-B6Y3aOaY.js";
21
21
  import { n as resolveSessionFilePath, s as resolveStorePath } from "../../paths-CMYSfM3T.js";
22
22
  import "../../tool-images-DRiKq4of.js";
23
- import "../../image-Dv7bJ1hC.js";
23
+ import "../../image-DVTZYmDL.js";
24
24
  import "../../manager-ihPMEKim.js";
25
25
  import "../../sqlite-Bfoh6OgV.js";
26
26
  import "../../retry-B0RhK9tX.js";
@@ -29,7 +29,7 @@ import "../../common-BB2PeD4P.js";
29
29
  import "../../ir-eyTjTBlP.js";
30
30
  import "../../fetch-Dyb5pqye.js";
31
31
  import "../../render-DSLzcBxk.js";
32
- import { s as loadModelCatalog } from "../../runner-D2IJZlUb.js";
32
+ import { s as loadModelCatalog } from "../../runner-nMdrG8eK.js";
33
33
  import "../../send-BRIcpOAj.js";
34
34
  import "../../outbound-attachment-BAu7a9Bk.js";
35
35
  import "../../send-CWOrEtrR.js";
@@ -44,7 +44,7 @@ import crypto from "node:crypto";
44
44
  function createDefaultDeps() {
45
45
  return {
46
46
  sendMessageWhatsApp: async (...args) => {
47
- const { sendMessageWhatsApp } = await import("../../web-DdUXrZFZ.js");
47
+ const { sendMessageWhatsApp } = await import("../../web-BhEzjpss.js");
48
48
  return await sendMessageWhatsApp(...args);
49
49
  },
50
50
  sendMessageTelegram: async (...args) => {
@@ -2,8 +2,8 @@ import { s as resolveStateDir } from "../../paths-CyR9Pa1R.js";
2
2
  import { E as resolveAgentIdFromSessionKey } from "../../workspace-LSLFINSz.js";
3
3
  import { l as createSubsystemLogger } from "../../exec-C9rZpEqA.js";
4
4
  import { s as resolveAgentWorkspaceDir } from "../../agent-scope-BIw4Bz2L.js";
5
- import "../../deliver-BDm1hy0O.js";
6
- import { $ as hasInterSessionUserProvenance } from "../../pi-embedded-oaxl536D.js";
5
+ import "../../deliver-CV4a0MBa.js";
6
+ import { $ as hasInterSessionUserProvenance } from "../../pi-embedded-VsjyhRZJ.js";
7
7
  import "../../image-ops-7EDUjzca.js";
8
8
  import "../../boolean-Bb19hm9Y.js";
9
9
  import "../../model-auth-BBAJ-iuC.js";
@@ -13,13 +13,13 @@ import "../../send-DzhCsWw9.js";
13
13
  import "../../send-CNibEQip.js";
14
14
  import "../../github-copilot-token-BXEGgIt5.js";
15
15
  import "../../pi-model-discovery-Cexg1XRf.js";
16
- import "../../pi-embedded-helpers-CpicJuB_.js";
17
- import "../../chrome-DBVAzVv0.js";
16
+ import "../../pi-embedded-helpers-DHT11gwA.js";
17
+ import "../../chrome-DlM4kwMc.js";
18
18
  import "../../frontmatter-Bk_vZq47.js";
19
19
  import "../../store-B6Y3aOaY.js";
20
20
  import "../../paths-CMYSfM3T.js";
21
21
  import "../../tool-images-DRiKq4of.js";
22
- import "../../image-Dv7bJ1hC.js";
22
+ import "../../image-DVTZYmDL.js";
23
23
  import "../../manager-ihPMEKim.js";
24
24
  import "../../sqlite-Bfoh6OgV.js";
25
25
  import "../../retry-B0RhK9tX.js";
@@ -28,7 +28,7 @@ import "../../common-BB2PeD4P.js";
28
28
  import "../../ir-eyTjTBlP.js";
29
29
  import "../../fetch-Dyb5pqye.js";
30
30
  import "../../render-DSLzcBxk.js";
31
- import "../../runner-D2IJZlUb.js";
31
+ import "../../runner-nMdrG8eK.js";
32
32
  import "../../send-BRIcpOAj.js";
33
33
  import "../../outbound-attachment-BAu7a9Bk.js";
34
34
  import "../../send-CWOrEtrR.js";
@@ -1 +1 @@
1
- 7e9a857993f297d9daaae3bdc427e754f1b9711e88f73a7fb886d02bdb27f381
1
+ 56007dfcab86e68cfea06af0f7eeaffa1d352c547100796ac6dde3a3ff1de984
@@ -8,7 +8,7 @@ import { execFileSync, spawn } from "node:child_process";
8
8
  import { randomBytes } from "node:crypto";
9
9
  import net from "node:net";
10
10
  import { createServer } from "node:http";
11
- import WebSocket, { WebSocketServer } from "ws";
11
+ import WebSocket$1, { WebSocketServer } from "ws";
12
12
  import { Buffer as Buffer$1 } from "node:buffer";
13
13
 
14
14
  //#region src/browser/constants.ts
@@ -172,7 +172,7 @@ async function ensureChromeExtensionRelayServer(opts) {
172
172
  let nextExtensionId = 1;
173
173
  const sendToExtension = async (payload) => {
174
174
  const ws = extensionWs;
175
- if (!ws || ws.readyState !== WebSocket.OPEN) throw new Error("Chrome extension not connected");
175
+ if (!ws || ws.readyState !== WebSocket$1.OPEN) throw new Error("Chrome extension not connected");
176
176
  ws.send(JSON.stringify(payload));
177
177
  return await new Promise((resolve, reject) => {
178
178
  const timer = setTimeout(() => {
@@ -189,12 +189,12 @@ async function ensureChromeExtensionRelayServer(opts) {
189
189
  const broadcastToCdpClients = (evt) => {
190
190
  const msg = JSON.stringify(evt);
191
191
  for (const ws of cdpClients) {
192
- if (ws.readyState !== WebSocket.OPEN) continue;
192
+ if (ws.readyState !== WebSocket$1.OPEN) continue;
193
193
  ws.send(msg);
194
194
  }
195
195
  };
196
196
  const sendResponseToCdp = (ws, res) => {
197
- if (ws.readyState !== WebSocket.OPEN) return;
197
+ if (ws.readyState !== WebSocket$1.OPEN) return;
198
198
  ws.send(JSON.stringify(res));
199
199
  };
200
200
  const ensureTargetEventsForClient = (ws, mode) => {
@@ -414,7 +414,7 @@ async function ensureChromeExtensionRelayServer(opts) {
414
414
  wssExtension.on("connection", (ws) => {
415
415
  extensionWs = ws;
416
416
  const ping = setInterval(() => {
417
- if (ws.readyState !== WebSocket.OPEN) return;
417
+ if (ws.readyState !== WebSocket$1.OPEN) return;
418
418
  ws.send(JSON.stringify({ method: "ping" }));
419
419
  }, 5e3);
420
420
  ws.on("message", (data) => {
@@ -726,7 +726,7 @@ async function fetchOk(url, timeoutMs = 1500, init) {
726
726
  }
727
727
  async function withCdpSocket(wsUrl, fn, opts) {
728
728
  const headers = getHeadersWithAuth(wsUrl, opts?.headers ?? {});
729
- const ws = new WebSocket(wsUrl, {
729
+ const ws = new WebSocket$1(wsUrl, {
730
730
  handshakeTimeout: typeof opts?.handshakeTimeoutMs === "number" && Number.isFinite(opts.handshakeTimeoutMs) ? Math.max(1, Math.floor(opts.handshakeTimeoutMs)) : 5e3,
731
731
  ...Object.keys(headers).length ? { headers } : {}
732
732
  });
@@ -1581,7 +1581,7 @@ async function getChromeWebSocketUrl(cdpUrl, timeoutMs = 500) {
1581
1581
  async function canOpenWebSocket(wsUrl, timeoutMs = 800) {
1582
1582
  return await new Promise((resolve) => {
1583
1583
  const headers = getHeadersWithAuth(wsUrl);
1584
- const ws = new WebSocket(wsUrl, {
1584
+ const ws = new WebSocket$1(wsUrl, {
1585
1585
  handshakeTimeout: timeoutMs,
1586
1586
  ...Object.keys(headers).length ? { headers } : {}
1587
1587
  });
@@ -8,7 +8,7 @@ import { execFileSync, spawn } from "node:child_process";
8
8
  import { randomBytes } from "node:crypto";
9
9
  import net from "node:net";
10
10
  import { createServer } from "node:http";
11
- import WebSocket, { WebSocketServer } from "ws";
11
+ import WebSocket$1, { WebSocketServer } from "ws";
12
12
  import { Buffer as Buffer$1 } from "node:buffer";
13
13
 
14
14
  //#region src/browser/constants.ts
@@ -172,7 +172,7 @@ async function ensureChromeExtensionRelayServer(opts) {
172
172
  let nextExtensionId = 1;
173
173
  const sendToExtension = async (payload) => {
174
174
  const ws = extensionWs;
175
- if (!ws || ws.readyState !== WebSocket.OPEN) throw new Error("Chrome extension not connected");
175
+ if (!ws || ws.readyState !== WebSocket$1.OPEN) throw new Error("Chrome extension not connected");
176
176
  ws.send(JSON.stringify(payload));
177
177
  return await new Promise((resolve, reject) => {
178
178
  const timer = setTimeout(() => {
@@ -189,12 +189,12 @@ async function ensureChromeExtensionRelayServer(opts) {
189
189
  const broadcastToCdpClients = (evt) => {
190
190
  const msg = JSON.stringify(evt);
191
191
  for (const ws of cdpClients) {
192
- if (ws.readyState !== WebSocket.OPEN) continue;
192
+ if (ws.readyState !== WebSocket$1.OPEN) continue;
193
193
  ws.send(msg);
194
194
  }
195
195
  };
196
196
  const sendResponseToCdp = (ws, res) => {
197
- if (ws.readyState !== WebSocket.OPEN) return;
197
+ if (ws.readyState !== WebSocket$1.OPEN) return;
198
198
  ws.send(JSON.stringify(res));
199
199
  };
200
200
  const ensureTargetEventsForClient = (ws, mode) => {
@@ -414,7 +414,7 @@ async function ensureChromeExtensionRelayServer(opts) {
414
414
  wssExtension.on("connection", (ws) => {
415
415
  extensionWs = ws;
416
416
  const ping = setInterval(() => {
417
- if (ws.readyState !== WebSocket.OPEN) return;
417
+ if (ws.readyState !== WebSocket$1.OPEN) return;
418
418
  ws.send(JSON.stringify({ method: "ping" }));
419
419
  }, 5e3);
420
420
  ws.on("message", (data) => {
@@ -726,7 +726,7 @@ async function fetchOk(url, timeoutMs = 1500, init) {
726
726
  }
727
727
  async function withCdpSocket(wsUrl, fn, opts) {
728
728
  const headers = getHeadersWithAuth(wsUrl, opts?.headers ?? {});
729
- const ws = new WebSocket(wsUrl, {
729
+ const ws = new WebSocket$1(wsUrl, {
730
730
  handshakeTimeout: typeof opts?.handshakeTimeoutMs === "number" && Number.isFinite(opts.handshakeTimeoutMs) ? Math.max(1, Math.floor(opts.handshakeTimeoutMs)) : 5e3,
731
731
  ...Object.keys(headers).length ? { headers } : {}
732
732
  });
@@ -1581,7 +1581,7 @@ async function getChromeWebSocketUrl(cdpUrl, timeoutMs = 500) {
1581
1581
  async function canOpenWebSocket(wsUrl, timeoutMs = 800) {
1582
1582
  return await new Promise((resolve) => {
1583
1583
  const headers = getHeadersWithAuth(wsUrl);
1584
- const ws = new WebSocket(wsUrl, {
1584
+ const ws = new WebSocket$1(wsUrl, {
1585
1585
  handshakeTimeout: timeoutMs,
1586
1586
  ...Object.keys(headers).length ? { headers } : {}
1587
1587
  });
@@ -3,7 +3,7 @@ import { s as resolveStateDir } from "./paths-CyR9Pa1R.js";
3
3
  import { C as normalizeAccountId$1 } from "./workspace-LSLFINSz.js";
4
4
  import { B as escapeRegExp, S as getActivePluginRegistry, l as createSubsystemLogger } from "./exec-C9rZpEqA.js";
5
5
  import { F as getChannelPlugin, L as normalizeChannelId } from "./image-ops-7EDUjzca.js";
6
- import { Ct as getChannelDock, J as appendAssistantMessageToSessionTranscript, Y as resolveMirroredTranscriptText, m as isMessagingToolDuplicate } from "./pi-embedded-helpers-CpicJuB_.js";
6
+ import { Ct as getChannelDock, J as appendAssistantMessageToSessionTranscript, Y as resolveMirroredTranscriptText, m as isMessagingToolDuplicate } from "./pi-embedded-helpers-DHT11gwA.js";
7
7
  import { c as resolveMarkdownTableMode, f as chunkMarkdownTextWithMode, g as resolveTextChunkLimit, h as resolveChunkMode, s as getAgentScopedMediaLocalRoots, u as chunkByParagraph, y as parseFenceSpans } from "./ir-eyTjTBlP.js";
8
8
  import { l as markdownToSignalTextChunks, t as sendMessageSignal } from "./send-BRIcpOAj.js";
9
9
  import path from "node:path";
@@ -4,7 +4,7 @@ import { j as normalizeAccountId$1 } from "./agent-scope-CtzoNgNk.js";
4
4
  import { R as escapeRegExp, l as createSubsystemLogger, x as getActivePluginRegistry } from "./exec-DgwjzGg-.js";
5
5
  import { I as normalizeChannelId, N as mediaKindFromMime, P as getChannelPlugin } from "./image-ops-B9jnR447.js";
6
6
  import { n as loadConfig } from "./config-Ejc5JKGl.js";
7
- import { Ft as saveMediaBuffer, J as appendAssistantMessageToSessionTranscript, St as getChannelDock, Y as resolveMirroredTranscriptText, hn as resolveSignalAccount, m as isMessagingToolDuplicate } from "./pi-embedded-helpers-Dow6Qreh.js";
7
+ import { Ft as saveMediaBuffer, J as appendAssistantMessageToSessionTranscript, St as getChannelDock, Y as resolveMirroredTranscriptText, hn as resolveSignalAccount, m as isMessagingToolDuplicate } from "./pi-embedded-helpers-D3YxFr03.js";
8
8
  import { a as loadWebMedia, c as resolveMarkdownTableMode, f as chunkMarkdownTextWithMode, g as resolveTextChunkLimit, h as resolveChunkMode, n as markdownToIR, s as getAgentScopedMediaLocalRoots, t as chunkMarkdownIR, u as chunkByParagraph, y as parseFenceSpans } from "./ir-DtbNyKoK.js";
9
9
  import { n as fetchWithTimeout } from "./fetch-timeout-CmZi0_-L.js";
10
10
  import { t as resolveFetch } from "./fetch-DvufHSTX.js";
@@ -2,17 +2,17 @@ import "./paths-Bp5uKvNR.js";
2
2
  import { r as resolveAgentDir, s as resolveAgentWorkspaceDir, y as ensureAgentWorkspace } from "./agent-scope-CtzoNgNk.js";
3
3
  import "./exec-DgwjzGg-.js";
4
4
  import { X as DEFAULT_PROVIDER, Y as DEFAULT_MODEL, f as resolveThinkingDefault } from "./model-selection-Cb6822pn.js";
5
- import { F as resolveAgentTimeoutMs, I as resolveAgentIdentity, t as runEmbeddedPiAgent } from "./pi-embedded-bfnkqe0p.js";
5
+ import { F as resolveAgentTimeoutMs, I as resolveAgentIdentity, t as runEmbeddedPiAgent } from "./pi-embedded-eJxVRGMo.js";
6
6
  import "./github-copilot-token-DZwwYztr.js";
7
- import "./deliver-C7HjLIB7.js";
7
+ import "./deliver-DOrBYvPC.js";
8
8
  import "./image-ops-B9jnR447.js";
9
9
  import "./config-Ejc5JKGl.js";
10
- import { $ as saveSessionStore, X as loadSessionStore } from "./pi-embedded-helpers-Dow6Qreh.js";
10
+ import { $ as saveSessionStore, X as loadSessionStore } from "./pi-embedded-helpers-D3YxFr03.js";
11
11
  import "./pi-model-discovery-DWTTaAgY.js";
12
- import "./chrome-B2PpxswT.js";
12
+ import "./chrome-BR14_3nU.js";
13
13
  import { n as resolveSessionFilePath, s as resolveStorePath } from "./paths-CdHoK26P.js";
14
14
  import "./tool-images-IRIIkjuN.js";
15
- import "./image-CRFk69Io.js";
15
+ import "./image-CIO7-OG5.js";
16
16
  import "./manager-CyBrtpKf.js";
17
17
  import "./sqlite-CUiUMvKy.js";
18
18
  import "./redact-DO22U0Pj.js";
@@ -20,7 +20,7 @@ import "./common-Cc-WjVcX.js";
20
20
  import "./ir-DtbNyKoK.js";
21
21
  import "./fetch-CE6hQpN5.js";
22
22
  import "./active-listener-B5CpzLkd.js";
23
- import "./runner-oDUAvejt.js";
23
+ import "./runner-DED-FFOX.js";
24
24
  import "./proxy-_LH9fwZb.js";
25
25
 
26
26
  export { DEFAULT_MODEL, DEFAULT_PROVIDER, ensureAgentWorkspace, loadSessionStore, resolveAgentDir, resolveAgentIdentity, resolveAgentTimeoutMs, resolveAgentWorkspaceDir, resolveSessionFilePath, resolveStorePath, resolveThinkingDefault, runEmbeddedPiAgent, saveSessionStore };
@@ -2,7 +2,7 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { V as isRecord, X as shortenHomeInString } from "./exec-DgwjzGg-.js";
3
3
  import { K as normalizeSecretInput, S as requireApiKey, U as resolveOpenClawAgentDir, _ as resolveImplicitProviders, b as getApiKeyForModel, g as resolveImplicitCopilotProvider, h as resolveImplicitBedrockProvider, m as normalizeProviders } from "./model-selection-Cb6822pn.js";
4
4
  import { n as loadConfig } from "./config-Ejc5JKGl.js";
5
- import { U as sanitizeUserFacingText } from "./pi-embedded-helpers-Dow6Qreh.js";
5
+ import { U as sanitizeUserFacingText } from "./pi-embedded-helpers-D3YxFr03.js";
6
6
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-DWTTaAgY.js";
7
7
  import { n as redactToolDetail } from "./redact-DO22U0Pj.js";
8
8
  import path from "node:path";
@@ -3,7 +3,7 @@ import { Q as shortenHomeInString, U as isRecord } from "./exec-C9rZpEqA.js";
3
3
  import { F as resolveImplicitCopilotProvider, I as resolveImplicitProviders, N as normalizeProviders, P as resolveImplicitBedrockProvider, U as normalizeSecretInput, _ as resolveOpenClawAgentDir, r as requireApiKey, t as getApiKeyForModel } from "./model-auth-BBAJ-iuC.js";
4
4
  import { n as loadConfig } from "./config-BA8Xs1ek.js";
5
5
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-Cexg1XRf.js";
6
- import { U as sanitizeUserFacingText } from "./pi-embedded-helpers-CpicJuB_.js";
6
+ import { U as sanitizeUserFacingText } from "./pi-embedded-helpers-DHT11gwA.js";
7
7
  import { n as redactToolDetail } from "./redact-C1ne-kC_.js";
8
8
  import fs from "node:fs/promises";
9
9
  import path from "node:path";
@@ -2,8 +2,8 @@ import "./paths-CyR9Pa1R.js";
2
2
  import "./workspace-LSLFINSz.js";
3
3
  import "./exec-C9rZpEqA.js";
4
4
  import { c as resolveDefaultAgentId, r as resolveAgentDir, s as resolveAgentWorkspaceDir } from "./agent-scope-BIw4Bz2L.js";
5
- import "./deliver-BDm1hy0O.js";
6
- import { t as runEmbeddedPiAgent } from "./pi-embedded-oaxl536D.js";
5
+ import "./deliver-CV4a0MBa.js";
6
+ import { t as runEmbeddedPiAgent } from "./pi-embedded-VsjyhRZJ.js";
7
7
  import "./image-ops-7EDUjzca.js";
8
8
  import "./boolean-Bb19hm9Y.js";
9
9
  import "./model-auth-BBAJ-iuC.js";
@@ -13,13 +13,13 @@ import "./send-DzhCsWw9.js";
13
13
  import "./send-CNibEQip.js";
14
14
  import "./github-copilot-token-BXEGgIt5.js";
15
15
  import "./pi-model-discovery-Cexg1XRf.js";
16
- import "./pi-embedded-helpers-CpicJuB_.js";
17
- import "./chrome-DBVAzVv0.js";
16
+ import "./pi-embedded-helpers-DHT11gwA.js";
17
+ import "./chrome-DlM4kwMc.js";
18
18
  import "./frontmatter-Bk_vZq47.js";
19
19
  import "./store-B6Y3aOaY.js";
20
20
  import "./paths-CMYSfM3T.js";
21
21
  import "./tool-images-DRiKq4of.js";
22
- import "./image-Dv7bJ1hC.js";
22
+ import "./image-DVTZYmDL.js";
23
23
  import "./manager-ihPMEKim.js";
24
24
  import "./sqlite-Bfoh6OgV.js";
25
25
  import "./retry-B0RhK9tX.js";
@@ -28,7 +28,7 @@ import "./common-BB2PeD4P.js";
28
28
  import "./ir-eyTjTBlP.js";
29
29
  import "./fetch-Dyb5pqye.js";
30
30
  import "./render-DSLzcBxk.js";
31
- import "./runner-D2IJZlUb.js";
31
+ import "./runner-nMdrG8eK.js";
32
32
  import "./send-BRIcpOAj.js";
33
33
  import "./outbound-attachment-BAu7a9Bk.js";
34
34
  import "./send-CWOrEtrR.js";
@@ -3,7 +3,7 @@ import { a as resolveOAuthDir, i as resolveGatewayPort, n as resolveConfigPath,
3
3
  import { A as isAcpSessionKey, C as normalizeAccountId$3, D as resolveThreadSessionKeys, E as resolveAgentIdFromSessionKey, M as isSubagentSessionKey, N as parseAgentSessionKey, O as sanitizeAgentId, P as resolveThreadParentSessionKey, S as classifySessionKeyShape, T as normalizeMainKey, _ as DEFAULT_AGENT_ID, b as buildAgentPeerSessionKey, f as loadWorkspaceBootstrapFiles, g as DEFAULT_ACCOUNT_ID$1, j as isCronSessionKey, k as getSubagentDepth, l as ensureAgentWorkspace, m as resolveOpenClawPackageRoot, n as DEFAULT_AGENT_WORKSPACE_DIR, r as DEFAULT_BOOTSTRAP_FILENAME, u as filterBootstrapFilesForSession, v as DEFAULT_MAIN_KEY, w as normalizeAgentId, y as buildAgentMainSessionKey } from "./workspace-LSLFINSz.js";
4
4
  import { $ as shortenHomePath, A as listPluginCommands, B as escapeRegExp, C as requireActivePluginRegistry, D as clearPluginCommands, E as normalizePluginHttpPath, F as CONFIG_DIR, H as isPlainObject, K as normalizeE164, L as clampInt, M as createInternalHookEvent, O as executePluginCommand, P as triggerInternalHook, Q as shortenHomeInString, S as getActivePluginRegistry, T as createPluginRegistry, U as isRecord$1, V as formatTerminalLink, X as resolveUserPath, Z as safeParseJson, a as logDebug, b as normalizeChannelId, c as logWarn, ct as shouldLogVerbose, d as defaultRuntime, dt as colorize, et as sleep, f as clearActiveProgressLine, ft as isRich, g as CHAT_CHANNEL_ORDER, gt as normalizeLogLevel, i as spawnWithFallback, it as danger, j as matchPluginCommand, k as getPluginCommandSpecs, l as createSubsystemLogger, m as unregisterActiveProgressLine, mt as getChildLogger, n as runExec, o as logError, ot as logVerbose, p as registerActiveProgressLine, pt as theme, r as formatSpawnError, rt as truncateUtf16Safe, s as logInfo, st as setVerbose, t as runCommandWithTimeout, tt as sliceUtf16Safe, u as createNonExitingRuntime, ut as warn, w as setActivePluginRegistry, y as normalizeAnyChannelId, z as ensureDir$3 } from "./exec-C9rZpEqA.js";
5
5
  import { c as resolveDefaultAgentId, d as resolveSessionAgentIds, i as resolveAgentModelFallbacksOverride, n as resolveAgentConfig, o as resolveAgentSkillsFilter, r as resolveAgentDir, s as resolveAgentWorkspaceDir, t as listAgentIds, u as resolveSessionAgentId } from "./agent-scope-BIw4Bz2L.js";
6
- import { C as initializeGlobalHookRunner, E as isSilentReplyText, S as getGlobalHookRunner, T as SILENT_REPLY_TOKEN, _ as throwIfAborted, b as splitMediaFromOutput, c as applyReplyThreading, d as shouldSuppressMessagingToolReplies, f as createReplyToModeFilterForChannel, g as normalizeTargetForProvider, h as normalizeChannelTargetInput, l as filterMessagingToolDuplicates, m as buildTargetResolverSignature, o as normalizeReplyPayloadsForDelivery, p as resolveReplyToMode, s as applyReplyTagsToPayload, t as deliverOutboundPayloads, u as isRenderablePayload, v as parseReplyDirectives, w as HEARTBEAT_TOKEN, x as parseInlineDirectives$1, y as MEDIA_TOKEN_RE } from "./deliver-BDm1hy0O.js";
6
+ import { C as initializeGlobalHookRunner, E as isSilentReplyText, S as getGlobalHookRunner, T as SILENT_REPLY_TOKEN, _ as throwIfAborted, b as splitMediaFromOutput, c as applyReplyThreading, d as shouldSuppressMessagingToolReplies, f as createReplyToModeFilterForChannel, g as normalizeTargetForProvider, h as normalizeChannelTargetInput, l as filterMessagingToolDuplicates, m as buildTargetResolverSignature, o as normalizeReplyPayloadsForDelivery, p as resolveReplyToMode, s as applyReplyTagsToPayload, t as deliverOutboundPayloads, u as isRenderablePayload, v as parseReplyDirectives, w as HEARTBEAT_TOKEN, x as parseInlineDirectives$1, y as MEDIA_TOKEN_RE } from "./deliver-CV4a0MBa.js";
7
7
  import { B as listEnabledTelegramAccounts, C as GATEWAY_CLIENT_NAMES, D as imageMimeFromFormat, F as getChannelPlugin, G as resolveSlackAccount, H as resolveTelegramAccount, I as listChannelPlugins, J as resolveSlackBotToken, L as normalizeChannelId$1, M as MAX_IMAGE_BYTES, O as isAudioFileName, P as mediaKindFromMime, Q as normalizeDiscordToken, R as isWhatsAppGroupJid, S as GATEWAY_CLIENT_MODES, T as extensionForMime, U as resolveTelegramToken, V as listTelegramAccountIds, W as listBindings, X as listEnabledDiscordAccounts, Y as normalizeChatType, Z as resolveDiscordAccount, _ as listDeliverableMessageChannels, a as resizeToJpeg, b as resolveMessageChannel, f as INTERNAL_MESSAGE_CHANNEL, g as isMarkdownCapableMessageChannel, h as isInternalMessageChannel, k as isGifMedia, l as isBlockedHostname, n as getImageMetadata, o as SsrFBlockedError, p as isDeliverableMessageChannel, q as resolveSlackAppToken, u as isPrivateIpAddress, v as normalizeMessageChannel, w as detectMime, x as GATEWAY_CLIENT_IDS, y as resolveGatewayMessageChannel, z as normalizeWhatsAppTarget } from "./image-ops-7EDUjzca.js";
8
8
  import { t as parseBooleanValue$1 } from "./boolean-Bb19hm9Y.js";
9
9
  import { A as resolveModelRefFromString, B as DEFAULT_MODEL, C as isCliProvider, E as normalizeProviderId, H as resolveAuthProfileDisplayLabel, K as resolveShellEnvFallbackTimeoutMs, L as OLLAMA_NATIVE_BASE_URL, O as resolveConfiguredModelRef, R as createOllamaStreamFn, S as buildModelAliasIndex, T as normalizeModelRef, U as normalizeSecretInput, V as DEFAULT_PROVIDER, W as getShellPathFromLoginShell, Y as isTruthyEnvValue, _ as resolveOpenClawAgentDir, a as resolveEnvApiKey, b as buildAllowedModelSet, c as resolveAuthProfileOrder, d as markAuthProfileUsed, f as resolveApiKeyForProfile, g as resolveAuthStorePathForDisplay, h as ensureAuthProfileStore, i as resolveApiKeyForProvider, j as resolveThinkingDefault, k as resolveDefaultModelForAgent, l as isProfileInCooldown, m as markAuthProfileGood, n as getCustomProviderApiKey, o as resolveModelAuthMode, p as listProfilesForProvider, r as requireApiKey, t as getApiKeyForModel, u as markAuthProfileFailure, v as withFileLock$1, w as modelKey, x as buildConfiguredAllowlistKeys, z as DEFAULT_CONTEXT_TOKENS } from "./model-auth-BBAJ-iuC.js";
@@ -15,15 +15,15 @@ import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./acc
15
15
  import { A as hasBotMention, C as buildTelegramGroupPeerId, D as describeReplyTarget, E as buildTypingThreadParams, F as resolveTelegramThreadSpec, I as formatLocationText, L as toLocationContext, M as resolveTelegramForumThreadId, N as resolveTelegramReplyId, O as expandTextLinks, P as resolveTelegramStreamMode, R as isVoiceCompatibleAudio, S as buildTelegramGroupFrom, T as buildTelegramThreadParams, _ as splitTelegramCaption, a as sendMessageTelegram, b as buildSenderLabel, d as isRecoverableTelegramNetworkError, f as markdownToTelegramChunks, g as resolveTelegramFetch, h as wrapFileReferencesInHtml, i as reactMessageTelegram, j as normalizeForwardedContext, k as extractTelegramLocation, l as resolveTelegramVoiceSend, m as renderTelegramHtmlText, n as deleteMessageTelegram, o as sendPollTelegram, p as markdownToTelegramHtml, r as editMessageTelegram, s as sendStickerTelegram, t as buildInlineKeyboard, u as wasSentByBot, v as withTelegramApiErrorLogging, w as buildTelegramParentPeer, x as buildSenderName, y as buildGroupLabel, z as parseTelegramTarget } from "./send-CNibEQip.js";
16
16
  import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-BXEGgIt5.js";
17
17
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-Cexg1XRf.js";
18
- import { $ as updateLastRoute, $t as expandPolicyWithPluginGroups, A as isBillingAssistantError, At as createBrowserRouteContext, B as isTransientHttpError, Bt as resolveSkillsPromptForRun, C as BILLING_ERROR_USER_MESSAGE, Ct as getChannelDock, D as formatRawAssistantErrorForUi, Dt as resolveChannelGroupToolsPolicy, E as formatBillingErrorMessage, Et as resolveChannelGroupRequireMention, F as isFailoverErrorMessage, Ft as resolvePathsWithinRoot, G as resolveSandboxContext, Gt as applySkillEnvOverrides, H as parseImageSizeError, Ht as assertMediaNotDataUrl, I as isLikelyContextOverflowError, It as getBridgeAuthForPort, J as appendAssistantMessageToSessionTranscript, Jt as resolveBrowserControlAuth, K as resolveSandboxRuntimeStatus, Kt as applySkillEnvOverridesFromSnapshot, L as isRateLimitAssistantError, Lt as buildWorkspaceSkillCommandSpecs, M as isCompactionFailureError, Mt as resolveBrowserConfig, N as isContextOverflowError, Nt as resolveProfile, O as getApiErrorPayloadFingerprint, Ot as resolveConversationLabel, P as isFailoverAssistantError, Pt as DEFAULT_UPLOAD_DIR, Q as recordSessionMetaFromInbound, Qt as collectExplicitAllowlist, R as isRawApiErrorPayload, Rt as buildWorkspaceSkillSnapshot, S as isGoogleModelApi, St as deriveSessionMetaPatch, T as formatAssistantErrorText, Tt as resolveChannelGroupPolicy, U as sanitizeUserFacingText, Ut as assertSandboxPath, V as parseImageDimensionError, Vt as resolvePluginSkillDirs, W as ensureSandboxWorkspaceForSession, Wt as resolveSandboxedMediaSource, X as loadSessionStore, Xt as applyOwnerOnlyToolPolicy, Yt as resolveSandboxConfigForAgent, Z as readSessionUpdatedAt, Zt as buildPluginToolGroups, _ as sanitizeSessionMessagesImages, _t as DEFAULT_RESET_TRIGGERS, a as formatXHighModelHint, an as compileGlobPatterns, at as deliveryContextKey, b as downgradeOpenAIReasoningBlocks, c as normalizeReasoningLevel, cn as ensureSessionHeader, ct as normalizeSessionDeliveryFields, d as normalizeVerboseLevel, dn as sanitizeGoogleTurnOrdering, dt as resolveSessionKey$1, en as expandToolGroups, et as updateSessionStore, f as resolveResponseUsageMode, ft as evaluateSessionFreshness, g as normalizeTextForComparison, gt as resolveThreadFlag, h as isMessagingToolDuplicateNormalized, ht as resolveSessionResetType, i as formatThinkingLevels, in as stripPluginOnlyAllowlist, it as deliveryContextFromSession, j as isCloudCodeAssistFormatError, jt as registerBrowserRoutes, k as isAuthAssistantError, kt as resolveGroupSessionKey, l as normalizeThinkLevel, ln as resolveBootstrapMaxChars, mt as resolveSessionResetPolicy, n as validateGeminiTurns, nn as normalizeToolName, nt as isCacheEnabled, o as listThinkingLevels, on as matchesAnyGlobPattern, ot as mergeDeliveryContext, p as supportsXHighThinking, pt as resolveChannelResetConfig, q as extractDeliveryInfo, qt as ensureBrowserControlAuth, r as pickFallbackThinkingLevel, rn as resolveToolProfilePolicy, rt as resolveCacheTtlMs$1, s as normalizeElevatedLevel, sn as buildBootstrapContextFiles, st as normalizeDeliveryContext, t as validateAnthropicTurns, tn as mergeAlsoAllowPolicy, tt as updateSessionStoreEntry, u as normalizeUsageDisplay, un as resolveBootstrapTotalMaxChars, ut as acquireSessionWriteLock, v as extractToolCallsFromAssistant, vt as resolveFreshSessionTotalTokens, w as classifyFailoverReason, wt as listChannelDocks, x as isAntigravityClaude, xt as resolveMainSessionKey, y as extractToolResultId, yt as canonicalizeMainSessionAlias, z as isTimeoutErrorMessage, zt as loadWorkspaceSkillEntries } from "./pi-embedded-helpers-CpicJuB_.js";
19
- import { C as pickPrimaryTailnetIPv4, E as DEFAULT_AI_SNAPSHOT_MAX_CHARS, S as pickPrimaryLanIPv4, b as rawDataToString, v as ensureChromeExtensionRelayServer } from "./chrome-DBVAzVv0.js";
18
+ import { $ as updateLastRoute, $t as expandPolicyWithPluginGroups, A as isBillingAssistantError, At as createBrowserRouteContext, B as isTransientHttpError, Bt as resolveSkillsPromptForRun, C as BILLING_ERROR_USER_MESSAGE, Ct as getChannelDock, D as formatRawAssistantErrorForUi, Dt as resolveChannelGroupToolsPolicy, E as formatBillingErrorMessage, Et as resolveChannelGroupRequireMention, F as isFailoverErrorMessage, Ft as resolvePathsWithinRoot, G as resolveSandboxContext, Gt as applySkillEnvOverrides, H as parseImageSizeError, Ht as assertMediaNotDataUrl, I as isLikelyContextOverflowError, It as getBridgeAuthForPort, J as appendAssistantMessageToSessionTranscript, Jt as resolveBrowserControlAuth, K as resolveSandboxRuntimeStatus, Kt as applySkillEnvOverridesFromSnapshot, L as isRateLimitAssistantError, Lt as buildWorkspaceSkillCommandSpecs, M as isCompactionFailureError, Mt as resolveBrowserConfig, N as isContextOverflowError, Nt as resolveProfile, O as getApiErrorPayloadFingerprint, Ot as resolveConversationLabel, P as isFailoverAssistantError, Pt as DEFAULT_UPLOAD_DIR, Q as recordSessionMetaFromInbound, Qt as collectExplicitAllowlist, R as isRawApiErrorPayload, Rt as buildWorkspaceSkillSnapshot, S as isGoogleModelApi, St as deriveSessionMetaPatch, T as formatAssistantErrorText, Tt as resolveChannelGroupPolicy, U as sanitizeUserFacingText, Ut as assertSandboxPath, V as parseImageDimensionError, Vt as resolvePluginSkillDirs, W as ensureSandboxWorkspaceForSession, Wt as resolveSandboxedMediaSource, X as loadSessionStore, Xt as applyOwnerOnlyToolPolicy, Yt as resolveSandboxConfigForAgent, Z as readSessionUpdatedAt, Zt as buildPluginToolGroups, _ as sanitizeSessionMessagesImages, _t as DEFAULT_RESET_TRIGGERS, a as formatXHighModelHint, an as compileGlobPatterns, at as deliveryContextKey, b as downgradeOpenAIReasoningBlocks, c as normalizeReasoningLevel, cn as ensureSessionHeader, ct as normalizeSessionDeliveryFields, d as normalizeVerboseLevel, dn as sanitizeGoogleTurnOrdering, dt as resolveSessionKey$1, en as expandToolGroups, et as updateSessionStore, f as resolveResponseUsageMode, ft as evaluateSessionFreshness, g as normalizeTextForComparison, gt as resolveThreadFlag, h as isMessagingToolDuplicateNormalized, ht as resolveSessionResetType, i as formatThinkingLevels, in as stripPluginOnlyAllowlist, it as deliveryContextFromSession, j as isCloudCodeAssistFormatError, jt as registerBrowserRoutes, k as isAuthAssistantError, kt as resolveGroupSessionKey, l as normalizeThinkLevel, ln as resolveBootstrapMaxChars, mt as resolveSessionResetPolicy, n as validateGeminiTurns, nn as normalizeToolName, nt as isCacheEnabled, o as listThinkingLevels, on as matchesAnyGlobPattern, ot as mergeDeliveryContext, p as supportsXHighThinking, pt as resolveChannelResetConfig, q as extractDeliveryInfo, qt as ensureBrowserControlAuth, r as pickFallbackThinkingLevel, rn as resolveToolProfilePolicy, rt as resolveCacheTtlMs$1, s as normalizeElevatedLevel, sn as buildBootstrapContextFiles, st as normalizeDeliveryContext, t as validateAnthropicTurns, tn as mergeAlsoAllowPolicy, tt as updateSessionStoreEntry, u as normalizeUsageDisplay, un as resolveBootstrapTotalMaxChars, ut as acquireSessionWriteLock, v as extractToolCallsFromAssistant, vt as resolveFreshSessionTotalTokens, w as classifyFailoverReason, wt as listChannelDocks, x as isAntigravityClaude, xt as resolveMainSessionKey, y as extractToolResultId, yt as canonicalizeMainSessionAlias, z as isTimeoutErrorMessage, zt as loadWorkspaceSkillEntries } from "./pi-embedded-helpers-DHT11gwA.js";
19
+ import { C as pickPrimaryTailnetIPv4, E as DEFAULT_AI_SNAPSHOT_MAX_CHARS, S as pickPrimaryLanIPv4, b as rawDataToString, v as ensureChromeExtensionRelayServer } from "./chrome-DlM4kwMc.js";
20
20
  import { n as formatErrorMessage, r as formatUncaughtError } from "./errors-8mFQsaX1.js";
21
21
  import { n as getMediaDir, r as saveMediaBuffer } from "./store-B6Y3aOaY.js";
22
22
  import { t as resolveIMessageAccount } from "./accounts-Bu2DSNpQ.js";
23
23
  import { a as resolveSessionTranscriptPathInDir, i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as resolveSessionTranscriptsDirForAgent, r as resolveSessionFilePathOptions, s as resolveStorePath } from "./paths-CMYSfM3T.js";
24
24
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-5cC8ciFz.js";
25
25
  import { n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-DRiKq4of.js";
26
- import { _ 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 ensureOpenClawModelsJson, y as resolveToolDisplay } from "./image-Dv7bJ1hC.js";
26
+ import { _ 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 ensureOpenClawModelsJson, y as resolveToolDisplay } from "./image-DVTZYmDL.js";
27
27
  import { n as resolveMemorySearchConfig } from "./manager-ihPMEKim.js";
28
28
  import { d as listMemoryFiles, f as normalizeExtraMemoryPaths } from "./sqlite-Bfoh6OgV.js";
29
29
  import { n as retryAsync } from "./retry-B0RhK9tX.js";
@@ -31,7 +31,7 @@ import { a as readNumberParam, c as readStringOrNumberParam, i as jsonResult, l
31
31
  import { _ as findFenceSpanAt, a as loadWebMedia, c as resolveMarkdownTableMode, d as chunkMarkdownText, f as chunkMarkdownTextWithMode, g as resolveTextChunkLimit, h as resolveChunkMode, i as getDefaultLocalRoots, l as chunkByNewline, m as chunkTextWithMode, p as chunkText, s as getAgentScopedMediaLocalRoots, v as isSafeFenceBreak, y as parseFenceSpans } from "./ir-eyTjTBlP.js";
32
32
  import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-ijQXfnJ1.js";
33
33
  import { i as fetchWithSsrFGuard, n as fetchRemoteMedia, r as readResponseWithLimit } from "./fetch-Dyb5pqye.js";
34
- import { _ as applyTemplate, a as runCapability, c as modelSupportsVision, d as registerUnhandledRejectionHandler, f as resolveConcurrency, g as CLI_OUTPUT_MAX_BUFFER, h as resolveMediaUnderstandingScope, i as resolveAutoImageModel, m as normalizeMediaUnderstandingChatType, n as createMediaAttachmentCache, o as findModelInCatalog, p as resolveTimeoutMs$1, r as normalizeMediaAttachments, s as loadModelCatalog, t as buildProviderRegistry, u as resolveAttachmentKind } from "./runner-D2IJZlUb.js";
34
+ import { _ as applyTemplate, a as runCapability, c as modelSupportsVision, d as registerUnhandledRejectionHandler, f as resolveConcurrency, g as CLI_OUTPUT_MAX_BUFFER, h as resolveMediaUnderstandingScope, i as resolveAutoImageModel, m as normalizeMediaUnderstandingChatType, n as createMediaAttachmentCache, o as findModelInCatalog, p as resolveTimeoutMs$1, r as normalizeMediaAttachments, s as loadModelCatalog, t as buildProviderRegistry, u as resolveAttachmentKind } from "./runner-nMdrG8eK.js";
35
35
  import { t as resolveFetch } from "./fetch-D8nvt_Mr.js";
36
36
  import { n as normalizePollInput } from "./polls-Bqd9Aibe.js";
37
37
  import { a as resolveSignalRpcContext, c as streamSignalEvents, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-BRIcpOAj.js";
@@ -58,7 +58,7 @@ import { EdgeTTS } from "node-edge-tts";
58
58
  import crypto, { X509Certificate, randomUUID } from "node:crypto";
59
59
  import AjvPkg from "ajv";
60
60
  import { createServer } from "node:http";
61
- import WebSocket, { WebSocket as WebSocket$1 } from "ws";
61
+ import WebSocket$1, { WebSocket } from "ws";
62
62
  import { Buffer as Buffer$1 } from "node:buffer";
63
63
  import { createJiti } from "jiti";
64
64
  import { Type } from "@sinclair/typebox";
@@ -6773,7 +6773,7 @@ var GatewayClient = class {
6773
6773
  if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
6774
6774
  });
6775
6775
  }
6776
- this.ws = new WebSocket$1(url, wsOptions);
6776
+ this.ws = new WebSocket(url, wsOptions);
6777
6777
  this.ws.on("open", () => {
6778
6778
  if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
6779
6779
  const tlsError = this.validateTlsFingerprint();
@@ -6976,7 +6976,7 @@ var GatewayClient = class {
6976
6976
  return null;
6977
6977
  }
6978
6978
  async request(method, params, opts) {
6979
- if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error("gateway not connected");
6979
+ if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
6980
6980
  const id = randomUUID();
6981
6981
  const frame = {
6982
6982
  type: "req",
@@ -8064,7 +8064,7 @@ async function routeReply(params) {
8064
8064
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
8065
8065
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
8066
8066
  try {
8067
- const { deliverOutboundPayloads } = await import("./deliver-BDm1hy0O.js").then((n) => n.n);
8067
+ const { deliverOutboundPayloads } = await import("./deliver-CV4a0MBa.js").then((n) => n.n);
8068
8068
  return {
8069
8069
  ok: true,
8070
8070
  messageId: (await deliverOutboundPayloads({
@@ -38494,7 +38494,7 @@ async function deliverSessionMaintenanceWarning(params) {
38494
38494
  return;
38495
38495
  }
38496
38496
  try {
38497
- const { deliverOutboundPayloads } = await import("./deliver-BDm1hy0O.js").then((n) => n.n);
38497
+ const { deliverOutboundPayloads } = await import("./deliver-CV4a0MBa.js").then((n) => n.n);
38498
38498
  await deliverOutboundPayloads({
38499
38499
  cfg: params.cfg,
38500
38500
  channel,
@@ -41774,7 +41774,7 @@ async function describeStickerImage(params) {
41774
41774
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
41775
41775
  try {
41776
41776
  const buffer = await fs.readFile(imagePath);
41777
- const { describeImageWithModel } = await import("./image-Dv7bJ1hC.js").then((n) => n.n);
41777
+ const { describeImageWithModel } = await import("./image-DVTZYmDL.js").then((n) => n.n);
41778
41778
  return (await describeImageWithModel({
41779
41779
  buffer,
41780
41780
  fileName: "sticker.webp",
@@ -43942,7 +43942,7 @@ async function preflightDiscordMessage(params) {
43942
43942
  let preflightTranscript;
43943
43943
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
43944
43944
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
43945
- const { transcribeFirstAudio } = await import("./audio-preflight-18tRQHAJ.js");
43945
+ const { transcribeFirstAudio } = await import("./audio-preflight-BHSwqB70.js");
43946
43946
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
43947
43947
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
43948
43948
  ctx: {
@@ -46715,7 +46715,7 @@ function createDiscordGatewayPlugin(params) {
46715
46715
  super(options);
46716
46716
  }
46717
46717
  createWebSocket(url) {
46718
- return new WebSocket(url, { agent });
46718
+ return new WebSocket$1(url, { agent });
46719
46719
  }
46720
46720
  }
46721
46721
  return new ProxyGatewayPlugin();
@@ -55057,7 +55057,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
55057
55057
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
55058
55058
  let preflightTranscript;
55059
55059
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
55060
- const { transcribeFirstAudio } = await import("./audio-preflight-18tRQHAJ.js");
55060
+ const { transcribeFirstAudio } = await import("./audio-preflight-BHSwqB70.js");
55061
55061
  preflightTranscript = await transcribeFirstAudio({
55062
55062
  ctx: {
55063
55063
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -57141,7 +57141,7 @@ function loadWebLoginQr() {
57141
57141
  return webLoginQrPromise;
57142
57142
  }
57143
57143
  function loadWebChannel() {
57144
- webChannelPromise ??= import("./web-DdUXrZFZ.js");
57144
+ webChannelPromise ??= import("./web-BhEzjpss.js");
57145
57145
  return webChannelPromise;
57146
57146
  }
57147
57147
  function loadWhatsAppActions() {
@@ -5,17 +5,17 @@ import { $ as sliceUtf16Safe, A as matchPluginCommand, B as isPlainObject, C as
5
5
  import { B as markAuthProfileGood, C as resolveApiKeyForProvider, E as getShellPathFromLoginShell, F as isProfileInCooldown, H as resolveAuthStorePathForDisplay, I as markAuthProfileFailure, J as DEFAULT_CONTEXT_TOKENS, K as normalizeSecretInput, L as markAuthProfileUsed, M as parseBooleanValue$1, O as resolveShellEnvFallbackTimeoutMs, P as resolveAuthProfileOrder, R as resolveApiKeyForProfile, S as requireApiKey, T as resolveModelAuthMode, U as resolveOpenClawAgentDir, V as ensureAuthProfileStore, W as withFileLock$1, X as DEFAULT_PROVIDER, Y as DEFAULT_MODEL, a as modelKey, b as getApiKeyForModel, d as resolveModelRefFromString, f as resolveThinkingDefault, i as isCliProvider, j as isTruthyEnvValue, l as resolveConfiguredModelRef, n as buildConfiguredAllowlistKeys, o as normalizeModelRef, q as resolveAuthProfileDisplayLabel, r as buildModelAliasIndex, s as normalizeProviderId, t as buildAllowedModelSet, u as resolveDefaultModelForAgent, v as OLLAMA_NATIVE_BASE_URL, w as resolveEnvApiKey, x as getCustomProviderApiKey, y as createOllamaStreamFn, z as listProfilesForProvider } from "./model-selection-Cb6822pn.js";
6
6
  import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-DZwwYztr.js";
7
7
  import { n as resolveCliName, t as formatCliCommand } from "./command-format-qUVxzqYm.js";
8
- import { A as SILENT_REPLY_TOKEN, C as parseReplyDirectives, D as getGlobalHookRunner, E as parseInlineDirectives$1, O as initializeGlobalHookRunner, S as throwIfAborted, T as splitMediaFromOutput, _ as streamSignalEvents, a as applyReplyThreading, b as normalizeChannelTargetInput, c as shouldSuppressMessagingToolReplies, d as sendMessageSignal, f as sendReadReceiptSignal, g as signalRpcRequest, h as signalCheck, i as applyReplyTagsToPayload, j as isSilentReplyText, k as HEARTBEAT_TOKEN, l as createReplyToModeFilterForChannel, m as resolveSignalRpcContext, o as filterMessagingToolDuplicates, p as sendTypingSignal, r as normalizeReplyPayloadsForDelivery, s as isRenderablePayload, t as deliverOutboundPayloads, u as resolveReplyToMode, v as resolveOutboundAttachmentFromUrl, w as MEDIA_TOKEN_RE, x as normalizeTargetForProvider, y as buildTargetResolverSignature } from "./deliver-C7HjLIB7.js";
8
+ import { A as SILENT_REPLY_TOKEN, C as parseReplyDirectives, D as getGlobalHookRunner, E as parseInlineDirectives$1, O as initializeGlobalHookRunner, S as throwIfAborted, T as splitMediaFromOutput, _ as streamSignalEvents, a as applyReplyThreading, b as normalizeChannelTargetInput, c as shouldSuppressMessagingToolReplies, d as sendMessageSignal, f as sendReadReceiptSignal, g as signalRpcRequest, h as signalCheck, i as applyReplyTagsToPayload, j as isSilentReplyText, k as HEARTBEAT_TOKEN, l as createReplyToModeFilterForChannel, m as resolveSignalRpcContext, o as filterMessagingToolDuplicates, p as sendTypingSignal, r as normalizeReplyPayloadsForDelivery, s as isRenderablePayload, t as deliverOutboundPayloads, u as resolveReplyToMode, v as resolveOutboundAttachmentFromUrl, w as MEDIA_TOKEN_RE, x as normalizeTargetForProvider, y as buildTargetResolverSignature } from "./deliver-DOrBYvPC.js";
9
9
  import { A as normalizeMimeType$1, B as listTelegramAccountIds, C as detectMime, D as isAudioFileName, E as imageMimeFromFormat, F as listChannelPlugins, H as resolveTelegramToken, I as normalizeChannelId$1, J as normalizeChatType, K as resolveSlackAppToken, L as isWhatsAppGroupJid, M as maxBytesForKind, N as mediaKindFromMime, O as isGifMedia, P as getChannelPlugin, R as normalizeWhatsAppTarget, S as GATEWAY_CLIENT_NAMES, T as getFileExtension, U as listBindings, V as resolveTelegramAccount, W as resolveSlackAccount, X as resolveDiscordAccount, Y as listEnabledDiscordAccounts, Z as normalizeDiscordToken, _ as normalizeMessageChannel, a as resizeToJpeg, b as GATEWAY_CLIENT_IDS, f as INTERNAL_MESSAGE_CHANNEL, g as listDeliverableMessageChannels, h as isMarkdownCapableMessageChannel, j as MAX_IMAGE_BYTES, l as isBlockedHostname, m as isInternalMessageChannel, n as getImageMetadata, o as SsrFBlockedError, p as isDeliverableMessageChannel, q as resolveSlackBotToken, u as isPrivateIpAddress, v as resolveGatewayMessageChannel, w as extensionForMime, x as GATEWAY_CLIENT_MODES, y as resolveMessageChannel, z as listEnabledTelegramAccounts } from "./image-ops-B9jnR447.js";
10
10
  import { A as resolveAgentMaxConcurrent, B as readWebSelfId, C as setConfigOverride, D as setConfigValueAtPath, E as parseConfigPath, F as logWebSelfId, I as logoutWeb, M as resolveWhatsAppAccount, O as unsetConfigValueAtPath, P as getWebAuthAgeMs, S as resetConfigOverrides, T as getConfigValueAtPath, W as webAuthExists, _ as applyTestPluginDefaults, a as writeConfigFile, b as resolveMemorySlotDecision, c as TELEGRAM_COMMAND_NAME_PATTERN, d as parseDurationMs, f as validateJsonSchemaValue, i as resolveConfigSnapshotHash, j as VERSION, k as isSafeExecutableValue, l as normalizeTelegramCommandName, m as discoverOpenClawPlugins, n as loadConfig, o as validateConfigObjectWithPlugins, p as loadPluginManifestRegistry, r as readConfigFileSnapshot, u as resolveTelegramCustomCommands, v as normalizePluginsConfig, w as unsetConfigOverride, x as getConfigOverrides, y as resolveEnableState } from "./config-Ejc5JKGl.js";
11
- import { $t as buildPluginToolGroups, A as isBillingAssistantError, At as createBrowserRouteContext, B as isTransientHttpError, Bt as buildWorkspaceSkillSnapshot, C as BILLING_ERROR_USER_MESSAGE, Ct as listChannelDocks, D as formatRawAssistantErrorForUi, Dt as resolveChannelGroupToolsPolicy, E as formatBillingErrorMessage, Et as resolveChannelGroupRequireMention, F as isFailoverErrorMessage, Ft as saveMediaBuffer, G as resolveSandboxContext, Gt as assertSandboxPath, H as parseImageSizeError, Ht as resolveSkillsPromptForRun, I as isLikelyContextOverflowError, It as DEFAULT_UPLOAD_DIR, J as appendAssistantMessageToSessionTranscript, Jt as applySkillEnvOverridesFromSnapshot, K as resolveSandboxRuntimeStatus, Kt as resolveSandboxedMediaSource, L as isRateLimitAssistantError, Lt as resolvePathsWithinRoot, M as isCompactionFailureError, Mt as resolveBrowserConfig, N as isContextOverflowError, Nt as resolveProfile, O as getApiErrorPayloadFingerprint, Ot as resolveConversationLabel, P as isFailoverAssistantError, Pt as getMediaDir, Q as recordSessionMetaFromInbound, Qt as applyOwnerOnlyToolPolicy, R as isRawApiErrorPayload, Rt as getBridgeAuthForPort, S as isGoogleModelApi, St as getChannelDock, T as formatAssistantErrorText, Tt as resolveChannelGroupPolicy, U as sanitizeUserFacingText, Ut as resolvePluginSkillDirs, V as parseImageDimensionError, Vt as loadWorkspaceSkillEntries, W as ensureSandboxWorkspaceForSession, Wt as assertMediaNotDataUrl, X as loadSessionStore, Xt as resolveBrowserControlAuth, Yt as ensureBrowserControlAuth, Z as readSessionUpdatedAt, Zt as resolveSandboxConfigForAgent, _ as sanitizeSessionMessagesImages, _t as DEFAULT_RESET_TRIGGERS, a as formatXHighModelHint, an as resolveToolProfilePolicy, at as deliveryContextFromSession, b as downgradeOpenAIReasoningBlocks, bt as resolveMainSessionKey, c as normalizeReasoningLevel, cn as matchesAnyGlobPattern, ct as normalizeDeliveryContext, d as normalizeVerboseLevel, dn as resolveBootstrapMaxChars, dt as resolveSessionKey$1, en as collectExplicitAllowlist, et as updateLastRoute, f as resolveResponseUsageMode, fn as resolveBootstrapTotalMaxChars, ft as evaluateSessionFreshness, g as normalizeTextForComparison, gt as resolveThreadFlag, h as isMessagingToolDuplicateNormalized, hn as resolveSignalAccount, ht as resolveSessionResetType, i as formatThinkingLevels, in as normalizeToolName, it as resolveCacheTtlMs$1, j as isCloudCodeAssistFormatError, jt as registerBrowserRoutes, k as isAuthAssistantError, kt as resolveGroupSessionKey, l as normalizeThinkLevel, ln as buildBootstrapContextFiles, lt as normalizeSessionDeliveryFields, mn as listEnabledSignalAccounts, mt as resolveSessionResetPolicy, n as validateGeminiTurns, nn as expandToolGroups, nt as updateSessionStoreEntry, o as listThinkingLevels, on as stripPluginOnlyAllowlist, ot as deliveryContextKey, p as supportsXHighThinking, pn as sanitizeGoogleTurnOrdering, pt as resolveChannelResetConfig, q as extractDeliveryInfo, qt as applySkillEnvOverrides, r as pickFallbackThinkingLevel, rn as mergeAlsoAllowPolicy, rt as isCacheEnabled, s as normalizeElevatedLevel, sn as compileGlobPatterns, st as mergeDeliveryContext, t as validateAnthropicTurns, tn as expandPolicyWithPluginGroups, tt as updateSessionStore, u as normalizeUsageDisplay, un as ensureSessionHeader, ut as acquireSessionWriteLock, v as extractToolCallsFromAssistant, vt as resolveFreshSessionTotalTokens, w as classifyFailoverReason, wt as resolveIMessageAccount, x as isAntigravityClaude, xt as deriveSessionMetaPatch, y as extractToolResultId, yt as canonicalizeMainSessionAlias, z as isTimeoutErrorMessage, zt as buildWorkspaceSkillCommandSpecs } from "./pi-embedded-helpers-Dow6Qreh.js";
11
+ import { $t as buildPluginToolGroups, A as isBillingAssistantError, At as createBrowserRouteContext, B as isTransientHttpError, Bt as buildWorkspaceSkillSnapshot, C as BILLING_ERROR_USER_MESSAGE, Ct as listChannelDocks, D as formatRawAssistantErrorForUi, Dt as resolveChannelGroupToolsPolicy, E as formatBillingErrorMessage, Et as resolveChannelGroupRequireMention, F as isFailoverErrorMessage, Ft as saveMediaBuffer, G as resolveSandboxContext, Gt as assertSandboxPath, H as parseImageSizeError, Ht as resolveSkillsPromptForRun, I as isLikelyContextOverflowError, It as DEFAULT_UPLOAD_DIR, J as appendAssistantMessageToSessionTranscript, Jt as applySkillEnvOverridesFromSnapshot, K as resolveSandboxRuntimeStatus, Kt as resolveSandboxedMediaSource, L as isRateLimitAssistantError, Lt as resolvePathsWithinRoot, M as isCompactionFailureError, Mt as resolveBrowserConfig, N as isContextOverflowError, Nt as resolveProfile, O as getApiErrorPayloadFingerprint, Ot as resolveConversationLabel, P as isFailoverAssistantError, Pt as getMediaDir, Q as recordSessionMetaFromInbound, Qt as applyOwnerOnlyToolPolicy, R as isRawApiErrorPayload, Rt as getBridgeAuthForPort, S as isGoogleModelApi, St as getChannelDock, T as formatAssistantErrorText, Tt as resolveChannelGroupPolicy, U as sanitizeUserFacingText, Ut as resolvePluginSkillDirs, V as parseImageDimensionError, Vt as loadWorkspaceSkillEntries, W as ensureSandboxWorkspaceForSession, Wt as assertMediaNotDataUrl, X as loadSessionStore, Xt as resolveBrowserControlAuth, Yt as ensureBrowserControlAuth, Z as readSessionUpdatedAt, Zt as resolveSandboxConfigForAgent, _ as sanitizeSessionMessagesImages, _t as DEFAULT_RESET_TRIGGERS, a as formatXHighModelHint, an as resolveToolProfilePolicy, at as deliveryContextFromSession, b as downgradeOpenAIReasoningBlocks, bt as resolveMainSessionKey, c as normalizeReasoningLevel, cn as matchesAnyGlobPattern, ct as normalizeDeliveryContext, d as normalizeVerboseLevel, dn as resolveBootstrapMaxChars, dt as resolveSessionKey$1, en as collectExplicitAllowlist, et as updateLastRoute, f as resolveResponseUsageMode, fn as resolveBootstrapTotalMaxChars, ft as evaluateSessionFreshness, g as normalizeTextForComparison, gt as resolveThreadFlag, h as isMessagingToolDuplicateNormalized, hn as resolveSignalAccount, ht as resolveSessionResetType, i as formatThinkingLevels, in as normalizeToolName, it as resolveCacheTtlMs$1, j as isCloudCodeAssistFormatError, jt as registerBrowserRoutes, k as isAuthAssistantError, kt as resolveGroupSessionKey, l as normalizeThinkLevel, ln as buildBootstrapContextFiles, lt as normalizeSessionDeliveryFields, mn as listEnabledSignalAccounts, mt as resolveSessionResetPolicy, n as validateGeminiTurns, nn as expandToolGroups, nt as updateSessionStoreEntry, o as listThinkingLevels, on as stripPluginOnlyAllowlist, ot as deliveryContextKey, p as supportsXHighThinking, pn as sanitizeGoogleTurnOrdering, pt as resolveChannelResetConfig, q as extractDeliveryInfo, qt as applySkillEnvOverrides, r as pickFallbackThinkingLevel, rn as mergeAlsoAllowPolicy, rt as isCacheEnabled, s as normalizeElevatedLevel, sn as compileGlobPatterns, st as mergeDeliveryContext, t as validateAnthropicTurns, tn as expandPolicyWithPluginGroups, tt as updateSessionStore, u as normalizeUsageDisplay, un as ensureSessionHeader, ut as acquireSessionWriteLock, v as extractToolCallsFromAssistant, vt as resolveFreshSessionTotalTokens, w as classifyFailoverReason, wt as resolveIMessageAccount, x as isAntigravityClaude, xt as deriveSessionMetaPatch, y as extractToolResultId, yt as canonicalizeMainSessionAlias, z as isTimeoutErrorMessage, zt as buildWorkspaceSkillCommandSpecs } from "./pi-embedded-helpers-D3YxFr03.js";
12
12
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-DWTTaAgY.js";
13
- import { C as pickPrimaryTailnetIPv4, E as DEFAULT_AI_SNAPSHOT_MAX_CHARS, S as pickPrimaryLanIPv4, b as rawDataToString, v as ensureChromeExtensionRelayServer } from "./chrome-B2PpxswT.js";
13
+ import { C as pickPrimaryTailnetIPv4, E as DEFAULT_AI_SNAPSHOT_MAX_CHARS, S as pickPrimaryLanIPv4, b as rawDataToString, v as ensureChromeExtensionRelayServer } from "./chrome-BR14_3nU.js";
14
14
  import { n as formatErrorMessage, r as formatUncaughtError, t as extractErrorCode } from "./errors-B8y79jwX.js";
15
15
  import { a as resolveSessionTranscriptPathInDir, i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as resolveSessionTranscriptsDirForAgent, r as resolveSessionFilePathOptions, s as resolveStorePath } from "./paths-CdHoK26P.js";
16
16
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-BiU0SOrl.js";
17
17
  import { n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-IRIIkjuN.js";
18
- import { _ 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 ensureOpenClawModelsJson, y as resolveToolDisplay } from "./image-CRFk69Io.js";
18
+ import { _ 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 ensureOpenClawModelsJson, y as resolveToolDisplay } from "./image-CIO7-OG5.js";
19
19
  import { i as resolveMemorySearchConfig, n as resolveRetryConfig, r as retryAsync } from "./manager-CyBrtpKf.js";
20
20
  import { d as listMemoryFiles, f as normalizeExtraMemoryPaths } from "./sqlite-CUiUMvKy.js";
21
21
  import { t as redactSensitiveText } from "./redact-DO22U0Pj.js";
@@ -24,7 +24,7 @@ import { _ as findFenceSpanAt, a as loadWebMedia, c as resolveMarkdownTableMode,
24
24
  import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-CmZi0_-L.js";
25
25
  import { i as fetchWithSsrFGuard, n as fetchRemoteMedia, r as readResponseWithLimit } from "./fetch-CE6hQpN5.js";
26
26
  import { a as normalizePollDurationHours, i as convertMarkdownTables, o as normalizePollInput, s as renderMarkdownWithMarkers, t as getActiveWebListener } from "./active-listener-B5CpzLkd.js";
27
- import { _ as applyTemplate, a as runCapability, c as modelSupportsVision, d as registerUnhandledRejectionHandler, f as resolveConcurrency, g as CLI_OUTPUT_MAX_BUFFER, h as resolveMediaUnderstandingScope, i as resolveAutoImageModel, m as normalizeMediaUnderstandingChatType, n as createMediaAttachmentCache, o as findModelInCatalog, p as resolveTimeoutMs$1, r as normalizeMediaAttachments, s as loadModelCatalog, t as buildProviderRegistry, u as resolveAttachmentKind } from "./runner-oDUAvejt.js";
27
+ import { _ as applyTemplate, a as runCapability, c as modelSupportsVision, d as registerUnhandledRejectionHandler, f as resolveConcurrency, g as CLI_OUTPUT_MAX_BUFFER, h as resolveMediaUnderstandingScope, i as resolveAutoImageModel, m as normalizeMediaUnderstandingChatType, n as createMediaAttachmentCache, o as findModelInCatalog, p as resolveTimeoutMs$1, r as normalizeMediaAttachments, s as loadModelCatalog, t as buildProviderRegistry, u as resolveAttachmentKind } from "./runner-DED-FFOX.js";
28
28
  import { t as resolveFetch } from "./fetch-DvufHSTX.js";
29
29
  import { t as makeProxyFetch } from "./proxy-_LH9fwZb.js";
30
30
  import { createRequire } from "node:module";
@@ -47,7 +47,7 @@ import AjvPkg from "ajv";
47
47
  import process$1 from "node:process";
48
48
  import * as net$1 from "node:net";
49
49
  import { createServer } from "node:http";
50
- import WebSocket, { WebSocket as WebSocket$1 } from "ws";
50
+ import WebSocket$1, { WebSocket } from "ws";
51
51
  import { Buffer as Buffer$1 } from "node:buffer";
52
52
  import { createJiti } from "jiti";
53
53
  import { Type } from "@sinclair/typebox";
@@ -7260,7 +7260,7 @@ var GatewayClient = class {
7260
7260
  if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
7261
7261
  });
7262
7262
  }
7263
- this.ws = new WebSocket$1(url, wsOptions);
7263
+ this.ws = new WebSocket(url, wsOptions);
7264
7264
  this.ws.on("open", () => {
7265
7265
  if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
7266
7266
  const tlsError = this.validateTlsFingerprint();
@@ -7463,7 +7463,7 @@ var GatewayClient = class {
7463
7463
  return null;
7464
7464
  }
7465
7465
  async request(method, params, opts) {
7466
- if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error("gateway not connected");
7466
+ if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
7467
7467
  const id = randomUUID();
7468
7468
  const frame = {
7469
7469
  type: "req",
@@ -8548,7 +8548,7 @@ async function routeReply(params) {
8548
8548
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
8549
8549
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
8550
8550
  try {
8551
- const { deliverOutboundPayloads } = await import("./deliver-C7HjLIB7.js").then((n) => n.n);
8551
+ const { deliverOutboundPayloads } = await import("./deliver-DOrBYvPC.js").then((n) => n.n);
8552
8552
  return {
8553
8553
  ok: true,
8554
8554
  messageId: (await deliverOutboundPayloads({
@@ -40005,7 +40005,7 @@ async function deliverSessionMaintenanceWarning(params) {
40005
40005
  return;
40006
40006
  }
40007
40007
  try {
40008
- const { deliverOutboundPayloads } = await import("./deliver-C7HjLIB7.js").then((n) => n.n);
40008
+ const { deliverOutboundPayloads } = await import("./deliver-DOrBYvPC.js").then((n) => n.n);
40009
40009
  await deliverOutboundPayloads({
40010
40010
  cfg: params.cfg,
40011
40011
  channel,
@@ -45656,7 +45656,7 @@ async function describeStickerImage(params) {
45656
45656
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
45657
45657
  try {
45658
45658
  const buffer = await fs$1.readFile(imagePath);
45659
- const { describeImageWithModel } = await import("./image-CRFk69Io.js").then((n) => n.n);
45659
+ const { describeImageWithModel } = await import("./image-CIO7-OG5.js").then((n) => n.n);
45660
45660
  return (await describeImageWithModel({
45661
45661
  buffer,
45662
45662
  fileName: "sticker.webp",
@@ -47824,7 +47824,7 @@ async function preflightDiscordMessage(params) {
47824
47824
  let preflightTranscript;
47825
47825
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
47826
47826
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
47827
- const { transcribeFirstAudio } = await import("./audio-preflight-kYQdd_bY.js");
47827
+ const { transcribeFirstAudio } = await import("./audio-preflight-CeC5WuRi.js");
47828
47828
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
47829
47829
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
47830
47830
  ctx: {
@@ -50597,7 +50597,7 @@ function createDiscordGatewayPlugin(params) {
50597
50597
  super(options);
50598
50598
  }
50599
50599
  createWebSocket(url) {
50600
- return new WebSocket(url, { agent });
50600
+ return new WebSocket$1(url, { agent });
50601
50601
  }
50602
50602
  }
50603
50603
  return new ProxyGatewayPlugin();
@@ -59159,7 +59159,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
59159
59159
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
59160
59160
  let preflightTranscript;
59161
59161
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
59162
- const { transcribeFirstAudio } = await import("./audio-preflight-kYQdd_bY.js");
59162
+ const { transcribeFirstAudio } = await import("./audio-preflight-CeC5WuRi.js");
59163
59163
  preflightTranscript = await transcribeFirstAudio({
59164
59164
  ctx: {
59165
59165
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -61243,7 +61243,7 @@ function loadWebLoginQr() {
61243
61243
  return webLoginQrPromise;
61244
61244
  }
61245
61245
  function loadWebChannel() {
61246
- webChannelPromise ??= import("./web-DEAvmSwt.js");
61246
+ webChannelPromise ??= import("./web-ulvSoKNk.js");
61247
61247
  return webChannelPromise;
61248
61248
  }
61249
61249
  function loadWhatsAppActions() {
@@ -5,7 +5,7 @@ import { G as isPidAlive, M as parseBooleanValue } from "./model-selection-Cb682
5
5
  import { t as formatCliCommand } from "./command-format-qUVxzqYm.js";
6
6
  import { C as detectMime, G as resolveSlackReplyToMode, I as normalizeChannelId, J as normalizeChatType, R as normalizeWhatsAppTarget, V as resolveTelegramAccount, W as resolveSlackAccount, X as resolveDiscordAccount, _ as normalizeMessageChannel, a as resizeToJpeg, g as listDeliverableMessageChannels, n as getImageMetadata, w as extensionForMime } from "./image-ops-B9jnR447.js";
7
7
  import { M as resolveWhatsAppAccount, a as writeConfigFile, b as resolveMemorySlotDecision, d as parseDurationMs, g as MANIFEST_KEY, h as LEGACY_MANIFEST_KEYS, n as loadConfig, p as loadPluginManifestRegistry, s as parseByteSize, t as createConfigIO, v as normalizePluginsConfig, y as resolveEnableState } from "./config-Ejc5JKGl.js";
8
- import { A as DEFAULT_OPENCLAW_BROWSER_ENABLED, D as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, E as DEFAULT_AI_SNAPSHOT_MAX_CHARS, O as DEFAULT_BROWSER_EVALUATE_ENABLED, T as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, a as resolveOpenClawUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, h as fetchOk, i as launchOpenClawChrome, j as DEFAULT_OPENCLAW_BROWSER_PROFILE_NAME, k as DEFAULT_OPENCLAW_BROWSER_COLOR, l as createTargetViaCdp, m as fetchJson, n as isChromeCdpReady, o as stopOpenClawChrome, p as appendCdpPath, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as ensureChromeExtensionRelayServer, w as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, x as isLoopbackHost, y as stopChromeExtensionRelayServer } from "./chrome-B2PpxswT.js";
8
+ import { A as DEFAULT_OPENCLAW_BROWSER_ENABLED, D as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, E as DEFAULT_AI_SNAPSHOT_MAX_CHARS, O as DEFAULT_BROWSER_EVALUATE_ENABLED, T as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, a as resolveOpenClawUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, h as fetchOk, i as launchOpenClawChrome, j as DEFAULT_OPENCLAW_BROWSER_PROFILE_NAME, k as DEFAULT_OPENCLAW_BROWSER_COLOR, l as createTargetViaCdp, m as fetchJson, n as isChromeCdpReady, o as stopOpenClawChrome, p as appendCdpPath, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as ensureChromeExtensionRelayServer, w as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, x as isLoopbackHost, y as stopChromeExtensionRelayServer } from "./chrome-BR14_3nU.js";
9
9
  import { n as formatErrorMessage, t as extractErrorCode } from "./errors-B8y79jwX.js";
10
10
  import { n as resolveSessionFilePath, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-CdHoK26P.js";
11
11
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-BiU0SOrl.js";
@@ -1708,7 +1708,7 @@ function isModuleNotFoundError(err) {
1708
1708
  }
1709
1709
  async function loadPwAiModule(mode) {
1710
1710
  try {
1711
- return await import("./pw-ai-Bbd79y0r.js");
1711
+ return await import("./pw-ai-QsOEPS_1.js");
1712
1712
  } catch (err) {
1713
1713
  if (mode === "soft") return null;
1714
1714
  if (isModuleNotFoundError(err)) return null;
@@ -4135,11 +4135,11 @@ function createProfileContext(opts, profile) {
4135
4135
  const userDataDir = resolveOpenClawUserDataDir(profile.name);
4136
4136
  const profileState = getProfileState();
4137
4137
  if (await isHttpReachable(300) && !profileState.running) try {
4138
- await (await import("./pw-ai-Bbd79y0r.js")).closePlaywrightBrowserConnection();
4138
+ await (await import("./pw-ai-QsOEPS_1.js")).closePlaywrightBrowserConnection();
4139
4139
  } catch {}
4140
4140
  if (profileState.running) await stopRunningBrowser();
4141
4141
  try {
4142
- await (await import("./pw-ai-Bbd79y0r.js")).closePlaywrightBrowserConnection();
4142
+ await (await import("./pw-ai-QsOEPS_1.js")).closePlaywrightBrowserConnection();
4143
4143
  } catch {}
4144
4144
  if (!fs.existsSync(userDataDir)) return {
4145
4145
  moved: false,
@@ -8,7 +8,7 @@ import { y as isPidAlive } from "./model-auth-BBAJ-iuC.js";
8
8
  import { t as formatCliCommand } from "./command-format-BmTFj7S4.js";
9
9
  import { A as resolveWhatsAppAccount, _ as resolveEnableState, a as writeConfigFile, d as parseDurationMs, g as normalizePluginsConfig, n as loadConfig, p as loadPluginManifestRegistry, s as parseByteSize, t as createConfigIO, v as resolveMemorySlotDecision } from "./config-BA8Xs1ek.js";
10
10
  import { n as resolveSignalAccount } from "./accounts-DyinIlq4.js";
11
- import { A as DEFAULT_OPENCLAW_BROWSER_ENABLED, D as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, E as DEFAULT_AI_SNAPSHOT_MAX_CHARS, O as DEFAULT_BROWSER_EVALUATE_ENABLED, T as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, a as resolveOpenClawUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, h as fetchOk, i as launchOpenClawChrome, j as DEFAULT_OPENCLAW_BROWSER_PROFILE_NAME, k as DEFAULT_OPENCLAW_BROWSER_COLOR, l as createTargetViaCdp, m as fetchJson, n as isChromeCdpReady, o as stopOpenClawChrome, p as appendCdpPath, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as ensureChromeExtensionRelayServer, w as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, x as isLoopbackHost, y as stopChromeExtensionRelayServer } from "./chrome-DBVAzVv0.js";
11
+ import { A as DEFAULT_OPENCLAW_BROWSER_ENABLED, D as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, E as DEFAULT_AI_SNAPSHOT_MAX_CHARS, O as DEFAULT_BROWSER_EVALUATE_ENABLED, T as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, a as resolveOpenClawUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, h as fetchOk, i as launchOpenClawChrome, j as DEFAULT_OPENCLAW_BROWSER_PROFILE_NAME, k as DEFAULT_OPENCLAW_BROWSER_COLOR, l as createTargetViaCdp, m as fetchJson, n as isChromeCdpReady, o as stopOpenClawChrome, p as appendCdpPath, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as ensureChromeExtensionRelayServer, w as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, x as isLoopbackHost, y as stopChromeExtensionRelayServer } from "./chrome-DlM4kwMc.js";
12
12
  import { a as parseFrontmatterBlock, c as resolveRuntimePlatform, i as resolveOpenClawManifestBlock, n as normalizeStringList, o as hasBinary, r as parseFrontmatterBool, s as isConfigPathTruthyWithDefaults, t as getFrontmatterString } from "./frontmatter-Bk_vZq47.js";
13
13
  import { n as formatErrorMessage, t as extractErrorCode } from "./errors-8mFQsaX1.js";
14
14
  import { r as saveMediaBuffer, t as ensureMediaDir } from "./store-B6Y3aOaY.js";
@@ -1465,7 +1465,7 @@ function isModuleNotFoundError(err) {
1465
1465
  }
1466
1466
  async function loadPwAiModule(mode) {
1467
1467
  try {
1468
- return await import("./pw-ai-lO0pe-hZ.js");
1468
+ return await import("./pw-ai-xh9cPTDX.js");
1469
1469
  } catch (err) {
1470
1470
  if (mode === "soft") return null;
1471
1471
  if (isModuleNotFoundError(err)) return null;
@@ -3835,11 +3835,11 @@ function createProfileContext(opts, profile) {
3835
3835
  const userDataDir = resolveOpenClawUserDataDir(profile.name);
3836
3836
  const profileState = getProfileState();
3837
3837
  if (await isHttpReachable(300) && !profileState.running) try {
3838
- await (await import("./pw-ai-lO0pe-hZ.js")).closePlaywrightBrowserConnection();
3838
+ await (await import("./pw-ai-xh9cPTDX.js")).closePlaywrightBrowserConnection();
3839
3839
  } catch {}
3840
3840
  if (profileState.running) await stopRunningBrowser();
3841
3841
  try {
3842
- await (await import("./pw-ai-lO0pe-hZ.js")).closePlaywrightBrowserConnection();
3842
+ await (await import("./pw-ai-xh9cPTDX.js")).closePlaywrightBrowserConnection();
3843
3843
  } catch {}
3844
3844
  if (!fs$1.existsSync(userDataDir)) return {
3845
3845
  moved: false,
@@ -1,7 +1,7 @@
1
1
  import "./paths-Bp5uKvNR.js";
2
2
  import { ht as resolvePreferredOpenClawTmpDir } from "./exec-DgwjzGg-.js";
3
3
  import { t as formatCliCommand } from "./command-format-qUVxzqYm.js";
4
- import { _ as withCdpSocket, d as normalizeCdpWsUrl, g as getHeadersWithAuth, m as fetchJson, p as appendCdpPath, t as getChromeWebSocketUrl, u as formatAriaSnapshot } from "./chrome-B2PpxswT.js";
4
+ import { _ as withCdpSocket, d as normalizeCdpWsUrl, g as getHeadersWithAuth, m as fetchJson, p as appendCdpPath, t as getChromeWebSocketUrl, u as formatAriaSnapshot } from "./chrome-BR14_3nU.js";
5
5
  import { n as formatErrorMessage } from "./errors-B8y79jwX.js";
6
6
  import path from "node:path";
7
7
  import fs from "node:fs/promises";
@@ -1,7 +1,7 @@
1
1
  import "./paths-CyR9Pa1R.js";
2
2
  import { _t as resolvePreferredOpenClawTmpDir } from "./exec-C9rZpEqA.js";
3
3
  import { t as formatCliCommand } from "./command-format-BmTFj7S4.js";
4
- import { _ as withCdpSocket, d as normalizeCdpWsUrl, g as getHeadersWithAuth, m as fetchJson, p as appendCdpPath, t as getChromeWebSocketUrl, u as formatAriaSnapshot } from "./chrome-DBVAzVv0.js";
4
+ import { _ as withCdpSocket, d as normalizeCdpWsUrl, g as getHeadersWithAuth, m as fetchJson, p as appendCdpPath, t as getChromeWebSocketUrl, u as formatAriaSnapshot } from "./chrome-DlM4kwMc.js";
5
5
  import { n as formatErrorMessage } from "./errors-8mFQsaX1.js";
6
6
  import fs from "node:fs/promises";
7
7
  import path from "node:path";
@@ -2,7 +2,7 @@ import { it as logVerbose, n as runExec, ot as shouldLogVerbose } from "./exec-D
2
2
  import { C as resolveApiKeyForProvider, S as requireApiKey, U as resolveOpenClawAgentDir, p as normalizeGoogleModelId, s as normalizeProviderId } from "./model-selection-Cb6822pn.js";
3
3
  import { C as detectMime, D as isAudioFileName, J as normalizeChatType, T as getFileExtension, k as kindFromMime } from "./image-ops-B9jnR447.js";
4
4
  import { n as loadConfig } from "./config-Ejc5JKGl.js";
5
- import { t as describeImageWithModel, x as ensureOpenClawModelsJson } from "./image-CRFk69Io.js";
5
+ import { t as describeImageWithModel, x as ensureOpenClawModelsJson } from "./image-CIO7-OG5.js";
6
6
  import { n as fetchWithTimeout } from "./fetch-timeout-CmZi0_-L.js";
7
7
  import { i as fetchWithSsrFGuard, n as fetchRemoteMedia, t as MediaFetchError } from "./fetch-CE6hQpN5.js";
8
8
  import path from "node:path";
@@ -2,7 +2,7 @@ import { ct as shouldLogVerbose, n as runExec, ot as logVerbose } from "./exec-C
2
2
  import { A as kindFromMime, E as getFileExtension, O as isAudioFileName, Y as normalizeChatType, w as detectMime } from "./image-ops-7EDUjzca.js";
3
3
  import { E as normalizeProviderId, M as normalizeGoogleModelId, _ as resolveOpenClawAgentDir, i as resolveApiKeyForProvider, r as requireApiKey } from "./model-auth-BBAJ-iuC.js";
4
4
  import { n as loadConfig } from "./config-BA8Xs1ek.js";
5
- import { t as describeImageWithModel, x as ensureOpenClawModelsJson } from "./image-Dv7bJ1hC.js";
5
+ import { t as describeImageWithModel, x as ensureOpenClawModelsJson } from "./image-DVTZYmDL.js";
6
6
  import { n as fetchWithTimeout } from "./fetch-timeout-ijQXfnJ1.js";
7
7
  import { i as fetchWithSsrFGuard, n as fetchRemoteMedia, t as MediaFetchError } from "./fetch-Dyb5pqye.js";
8
8
  import fs from "node:fs/promises";
@@ -2,8 +2,8 @@ import "./paths-CyR9Pa1R.js";
2
2
  import { v as DEFAULT_MAIN_KEY, w as normalizeAgentId, x as buildGroupHistoryKey, y as buildAgentMainSessionKey } from "./workspace-LSLFINSz.js";
3
3
  import { G as jidToE164, I as clamp, K as normalizeE164, W as isSelfChatMode, Y as resolveJidToE164, ct as shouldLogVerbose, d as defaultRuntime, et as sleep, l as createSubsystemLogger, mt as getChildLogger, nt as toWhatsappJid, ot as logVerbose } from "./exec-C9rZpEqA.js";
4
4
  import "./agent-scope-BIw4Bz2L.js";
5
- import "./deliver-BDm1hy0O.js";
6
- import { B as formatInboundEnvelope, C as parseActivationCommand, D as readChannelAllowFromStore, E as formatDurationPrecise, G as normalizeMentionText, H as hasControlCommand, I as enqueueSystemEvent, L as finalizeInboundContext, O as upsertChannelPairingRequest, R as createInboundDebouncer, S as normalizeGroupActivation, U as shouldComputeCommandAuthorized, V as resolveEnvelopeFormatOptions, W as buildMentionRegexes, _ as buildAgentSessionKey, a as buildPairingReply, c as buildHistoryContextFromEntries, d as dispatchReplyWithBufferedBlockDispatcher, et as resolveIdentityNamePrefix, f as createDedupeCache, i as createReplyPrefixOptions, l as recordPendingHistoryEntryIfEnabled, n as computeBackoff, o as resolveMentionGating, p as getReplyFromConfig, r as sleepWithAbort, s as DEFAULT_GROUP_HISTORY_LIMIT, tt as resolveMessagePrefix, u as shouldAckReactionForWhatsApp, v as resolveAgentRoute, z as resolveInboundDebounceMs } from "./pi-embedded-oaxl536D.js";
5
+ import "./deliver-CV4a0MBa.js";
6
+ import { B as formatInboundEnvelope, C as parseActivationCommand, D as readChannelAllowFromStore, E as formatDurationPrecise, G as normalizeMentionText, H as hasControlCommand, I as enqueueSystemEvent, L as finalizeInboundContext, O as upsertChannelPairingRequest, R as createInboundDebouncer, S as normalizeGroupActivation, U as shouldComputeCommandAuthorized, V as resolveEnvelopeFormatOptions, W as buildMentionRegexes, _ as buildAgentSessionKey, a as buildPairingReply, c as buildHistoryContextFromEntries, d as dispatchReplyWithBufferedBlockDispatcher, et as resolveIdentityNamePrefix, f as createDedupeCache, i as createReplyPrefixOptions, l as recordPendingHistoryEntryIfEnabled, n as computeBackoff, o as resolveMentionGating, p as getReplyFromConfig, r as sleepWithAbort, s as DEFAULT_GROUP_HISTORY_LIMIT, tt as resolveMessagePrefix, u as shouldAckReactionForWhatsApp, v as resolveAgentRoute, z as resolveInboundDebounceMs } from "./pi-embedded-VsjyhRZJ.js";
7
7
  import "./image-ops-7EDUjzca.js";
8
8
  import "./boolean-Bb19hm9Y.js";
9
9
  import "./model-auth-BBAJ-iuC.js";
@@ -14,13 +14,13 @@ import "./send-DzhCsWw9.js";
14
14
  import { I as formatLocationText, L as toLocationContext } from "./send-CNibEQip.js";
15
15
  import "./github-copilot-token-BXEGgIt5.js";
16
16
  import "./pi-model-discovery-Cexg1XRf.js";
17
- import { $ as updateLastRoute, Et as resolveChannelGroupRequireMention, Q as recordSessionMetaFromInbound, Tt as resolveChannelGroupPolicy, X as loadSessionStore, Z as readSessionUpdatedAt, kt as resolveGroupSessionKey } from "./pi-embedded-helpers-CpicJuB_.js";
18
- import "./chrome-DBVAzVv0.js";
17
+ import { $ as updateLastRoute, Et as resolveChannelGroupRequireMention, Q as recordSessionMetaFromInbound, Tt as resolveChannelGroupPolicy, X as loadSessionStore, Z as readSessionUpdatedAt, kt as resolveGroupSessionKey } from "./pi-embedded-helpers-DHT11gwA.js";
18
+ import "./chrome-DlM4kwMc.js";
19
19
  import "./frontmatter-Bk_vZq47.js";
20
20
  import { r as saveMediaBuffer } from "./store-B6Y3aOaY.js";
21
21
  import { s as resolveStorePath } from "./paths-CMYSfM3T.js";
22
22
  import "./tool-images-DRiKq4of.js";
23
- import "./image-Dv7bJ1hC.js";
23
+ import "./image-DVTZYmDL.js";
24
24
  import "./manager-ihPMEKim.js";
25
25
  import "./sqlite-Bfoh6OgV.js";
26
26
  import "./retry-B0RhK9tX.js";
@@ -29,7 +29,7 @@ import "./common-BB2PeD4P.js";
29
29
  import { a as loadWebMedia, c as resolveMarkdownTableMode, f as chunkMarkdownTextWithMode, g as resolveTextChunkLimit, h as resolveChunkMode, s as getAgentScopedMediaLocalRoots } from "./ir-eyTjTBlP.js";
30
30
  import "./fetch-Dyb5pqye.js";
31
31
  import "./render-DSLzcBxk.js";
32
- import { d as registerUnhandledRejectionHandler } from "./runner-D2IJZlUb.js";
32
+ import { d as registerUnhandledRejectionHandler } from "./runner-nMdrG8eK.js";
33
33
  import "./send-BRIcpOAj.js";
34
34
  import "./outbound-attachment-BAu7a9Bk.js";
35
35
  import "./send-CWOrEtrR.js";
@@ -2,18 +2,18 @@ import "./paths-Bp5uKvNR.js";
2
2
  import { D as buildAgentMainSessionKey, E as DEFAULT_MAIN_KEY, M as normalizeAgentId, k as buildGroupHistoryKey } from "./agent-scope-CtzoNgNk.js";
3
3
  import { H as isSelfChatMode, P as clamp, Q as sleep, U as jidToE164, W as normalizeE164, d as defaultRuntime, et as toWhatsappJid, ft as getChildLogger, it as logVerbose, l as createSubsystemLogger, ot as shouldLogVerbose, q as resolveJidToE164 } from "./exec-DgwjzGg-.js";
4
4
  import "./model-selection-Cb6822pn.js";
5
- import { A as hasControlCommand, C as upsertChannelPairingRequest, D as resolveInboundDebounceMs, E as createInboundDebouncer, L as resolveIdentityNamePrefix, M as buildMentionRegexes, N as normalizeMentionText, O as formatInboundEnvelope, R as resolveMessagePrefix, S as readChannelAllowFromStore, T as finalizeInboundContext, _ as buildAgentSessionKey, a as buildPairingReply, b as parseActivationCommand, c as buildHistoryContextFromEntries, d as shouldAckReactionForWhatsApp, f as dispatchReplyWithBufferedBlockDispatcher, g as toLocationContext, h as formatLocationText, i as createReplyPrefixOptions, j as shouldComputeCommandAuthorized, k as resolveEnvelopeFormatOptions, l as recordPendingHistoryEntryIfEnabled, m as getReplyFromConfig, n as computeBackoff, o as resolveMentionGating, p as createDedupeCache, r as sleepWithAbort, s as DEFAULT_GROUP_HISTORY_LIMIT, u as recordChannelActivity, v as resolveAgentRoute, w as enqueueSystemEvent, x as formatDurationPrecise, y as normalizeGroupActivation } from "./pi-embedded-bfnkqe0p.js";
5
+ import { A as hasControlCommand, C as upsertChannelPairingRequest, D as resolveInboundDebounceMs, E as createInboundDebouncer, L as resolveIdentityNamePrefix, M as buildMentionRegexes, N as normalizeMentionText, O as formatInboundEnvelope, R as resolveMessagePrefix, S as readChannelAllowFromStore, T as finalizeInboundContext, _ as buildAgentSessionKey, a as buildPairingReply, b as parseActivationCommand, c as buildHistoryContextFromEntries, d as shouldAckReactionForWhatsApp, f as dispatchReplyWithBufferedBlockDispatcher, g as toLocationContext, h as formatLocationText, i as createReplyPrefixOptions, j as shouldComputeCommandAuthorized, k as resolveEnvelopeFormatOptions, l as recordPendingHistoryEntryIfEnabled, m as getReplyFromConfig, n as computeBackoff, o as resolveMentionGating, p as createDedupeCache, r as sleepWithAbort, s as DEFAULT_GROUP_HISTORY_LIMIT, u as recordChannelActivity, v as resolveAgentRoute, w as enqueueSystemEvent, x as formatDurationPrecise, y as normalizeGroupActivation } from "./pi-embedded-eJxVRGMo.js";
6
6
  import "./github-copilot-token-DZwwYztr.js";
7
7
  import { t as formatCliCommand } from "./command-format-qUVxzqYm.js";
8
- import "./deliver-C7HjLIB7.js";
8
+ import "./deliver-DOrBYvPC.js";
9
9
  import "./image-ops-B9jnR447.js";
10
10
  import { B as readWebSelfId, F as logWebSelfId, M as resolveWhatsAppAccount, N as WA_WEB_AUTH_DIR, P as getWebAuthAgeMs, R as pickWebChannel, W as webAuthExists, n as loadConfig } from "./config-Ejc5JKGl.js";
11
- import { Et as resolveChannelGroupRequireMention, Ft as saveMediaBuffer, Q as recordSessionMetaFromInbound, Tt as resolveChannelGroupPolicy, X as loadSessionStore, Z as readSessionUpdatedAt, et as updateLastRoute, kt as resolveGroupSessionKey } from "./pi-embedded-helpers-Dow6Qreh.js";
11
+ import { Et as resolveChannelGroupRequireMention, Ft as saveMediaBuffer, Q as recordSessionMetaFromInbound, Tt as resolveChannelGroupPolicy, X as loadSessionStore, Z as readSessionUpdatedAt, et as updateLastRoute, kt as resolveGroupSessionKey } from "./pi-embedded-helpers-D3YxFr03.js";
12
12
  import "./pi-model-discovery-DWTTaAgY.js";
13
- import "./chrome-B2PpxswT.js";
13
+ import "./chrome-BR14_3nU.js";
14
14
  import { s as resolveStorePath } from "./paths-CdHoK26P.js";
15
15
  import "./tool-images-IRIIkjuN.js";
16
- import "./image-CRFk69Io.js";
16
+ import "./image-CIO7-OG5.js";
17
17
  import "./manager-CyBrtpKf.js";
18
18
  import "./sqlite-CUiUMvKy.js";
19
19
  import "./redact-DO22U0Pj.js";
@@ -21,7 +21,7 @@ import "./common-Cc-WjVcX.js";
21
21
  import { a as loadWebMedia, c as resolveMarkdownTableMode, f as chunkMarkdownTextWithMode, g as resolveTextChunkLimit, h as resolveChunkMode, s as getAgentScopedMediaLocalRoots } from "./ir-DtbNyKoK.js";
22
22
  import "./fetch-CE6hQpN5.js";
23
23
  import { i as convertMarkdownTables, r as setActiveWebListener } from "./active-listener-B5CpzLkd.js";
24
- import { d as registerUnhandledRejectionHandler } from "./runner-oDUAvejt.js";
24
+ import { d as registerUnhandledRejectionHandler } from "./runner-DED-FFOX.js";
25
25
  import "./proxy-_LH9fwZb.js";
26
26
  import { i as markdownToWhatsApp, n as sendMessageWhatsApp, r as sendReactionWhatsApp } from "./outbound-CiwcmjCA.js";
27
27
  import { i as waitForWaConnection, n as formatError, r as getStatusCode, t as createWaSocket } from "./session-CuaA1jvm.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@multiplytech/openclaw",
3
- "version": "2026.2.15-pairing-code.1",
3
+ "version": "2026.2.15-pairing-code.2",
4
4
  "description": "Multi-channel AI gateway with extensible messaging integrations",
5
5
  "keywords": [],
6
6
  "license": "MIT",