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

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 (119) hide show
  1. package/dist/{agents-C9ij96eI.js → agents-C83RLKX2.js} +4 -4
  2. package/dist/{agents.config-PFAfbBID.js → agents.config-BVjazvnK.js} +1 -1
  3. package/dist/{agents.config-CBvMKGLh.js → agents.config-dnXbFv5H.js} +1 -1
  4. package/dist/{audio-preflight-omzaYFGD.js → audio-preflight-CLqoZYgI.js} +4 -4
  5. package/dist/{audio-preflight-CODznzqu.js → audio-preflight-Da7vejCH.js} +4 -4
  6. package/dist/{auth-choice-DH2T1E9c.js → auth-choice-BJNaxS-L.js} +1 -1
  7. package/dist/{auth-choice-CLiY8PdF.js → auth-choice-Hb6530su.js} +1 -1
  8. package/dist/{banner-CqQBBjKH.js → banner-dFAx4eE_.js} +1 -1
  9. package/dist/build-info.json +3 -3
  10. package/dist/bundled/boot-md/handler.js +6 -6
  11. package/dist/bundled/session-memory/handler.js +6 -6
  12. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  13. package/dist/{channel-options-e7Z9Smf2.js → channel-options--M8F-DHl.js} +1 -1
  14. package/dist/{channel-options-CLS27y1A.js → channel-options-D0Qjq83D.js} +1 -1
  15. package/dist/{channel-web-DHMbpU2p.js → channel-web-D8hSmcPF.js} +1 -1
  16. package/dist/{channels-cli-BDHLWbaU.js → channels-cli-6uwOEBM-.js} +4 -4
  17. package/dist/{channels-cli-CDwQerVi.js → channels-cli-BtZHPcBX.js} +4 -4
  18. package/dist/{chrome-BAv9fEiv.js → chrome-Bqbv_ZSj.js} +7 -7
  19. package/dist/{chrome-lRUqqgSD.js → chrome-CZuniMYN.js} +7 -7
  20. package/dist/{cli-BGJFLB0I.js → cli-CIImVBCM.js} +1 -1
  21. package/dist/{cli-C1nypCKP.js → cli-CijjdR37.js} +1 -1
  22. package/dist/{command-registry-pGuORBuB.js → command-registry-BtDC5Ll-.js} +9 -9
  23. package/dist/{completion-cli-Bf-Ojq_a.js → completion-cli-Bw5nZmTm.js} +2 -2
  24. package/dist/{completion-cli-C79-bpAx.js → completion-cli-CI6LWHg3.js} +1 -1
  25. package/dist/{config-cli-DLdH6zIF.js → config-cli-CgjgjWri.js} +1 -1
  26. package/dist/{config-cli-BcNHb4_E.js → config-cli-Dc0TQ1yE.js} +1 -1
  27. package/dist/{configure-BSt9S0yk.js → configure-CGqsSqXB.js} +3 -3
  28. package/dist/{configure-h1d7nrgR.js → configure-GUYUjx8A.js} +3 -3
  29. package/dist/{deliver-B2d2N8OJ.js → deliver-0ThKlzQo.js} +1 -1
  30. package/dist/{deliver-CLJRPnfx.js → deliver-CKH_FhS0.js} +1 -1
  31. package/dist/{doctor-completion-BB1f594d.js → doctor-completion-DgPc1rDZ.js} +1 -1
  32. package/dist/{doctor-completion-deY10x7w.js → doctor-completion-DipoVPSi.js} +1 -1
  33. package/dist/entry.js +1 -1
  34. package/dist/extensionAPI.js +6 -6
  35. package/dist/{gateway-cli-IziQis2t.js → gateway-cli-Ds3oN72Y.js} +8 -8
  36. package/dist/{gateway-cli-B-XwzYp2.js → gateway-cli-DuMINk2B.js} +8 -8
  37. package/dist/{health-DMrTgW8V.js → health-DQjqH1zU.js} +1 -1
  38. package/dist/{health-UmuJyu1Q.js → health-Dg0bAIKS.js} +1 -1
  39. package/dist/{hooks-cli-BparoMpt.js → hooks-cli-CEtCwdza.js} +2 -2
  40. package/dist/{hooks-cli-B6WCYLyG.js → hooks-cli-Cac2Ru8r.js} +2 -2
  41. package/dist/{image--DDZnw-F.js → image-88q3KE-C.js} +1 -1
  42. package/dist/{image-Ci28h-op.js → image-CxPjVob-.js} +1 -1
  43. package/dist/index.js +6 -6
  44. package/dist/llm-slug-generator.js +6 -6
  45. package/dist/{models-nhERae29.js → models-DnhANpnd.js} +2 -2
  46. package/dist/{models-cli-bfKNgoHD.js → models-cli-03noBf8W.js} +3 -3
  47. package/dist/{models-cli-BnbeEOCU.js → models-cli-CaP_rt4y.js} +2 -2
  48. package/dist/{onboard-D_VxXTXD.js → onboard-BMc-yUv5.js} +2 -2
  49. package/dist/{onboard-C3pJ0NU-.js → onboard-BZg2c27h.js} +2 -2
  50. package/dist/{onboard-channels-CyeyvIfw.js → onboard-channels-Lt2gG1e2.js} +1 -1
  51. package/dist/{onboard-channels-YvwszRaQ.js → onboard-channels-O6KvizE3.js} +1 -1
  52. package/dist/{onboarding-0zwx3Yv7.js → onboarding-CTgBlanm.js} +3 -3
  53. package/dist/{onboarding-D0_Q5m2W.js → onboarding-G28sv5Ms.js} +3 -3
  54. package/dist/{onboarding.finalize-CYb0_Q0z.js → onboarding.finalize-Cpt9Ymcn.js} +5 -5
  55. package/dist/{onboarding.finalize-CVeI23_g.js → onboarding.finalize-D2sylHDB.js} +6 -6
  56. package/dist/{pi-embedded-D7qD6fo-.js → pi-embedded-Dz24QZz9.js} +96 -17
  57. package/dist/{pi-embedded-CwQsXrVT.js → pi-embedded-ZvazjIyF.js} +96 -17
  58. package/dist/{pi-embedded-helpers-Cd0S0WfR.js → pi-embedded-helpers-B0Kht0I2.js} +4 -4
  59. package/dist/{pi-embedded-helpers-Ll4Lztu1.js → pi-embedded-helpers-CSE0v99A.js} +4 -4
  60. package/dist/{plugin-registry-83ThmVHf.js → plugin-registry-1pF4_jNl.js} +1 -1
  61. package/dist/{plugin-registry-D57lc9ob.js → plugin-registry-CHOacv01.js} +1 -1
  62. package/dist/plugin-sdk/{channel-web-XYtgc8aq.js → channel-web-BHNS_E7F.js} +1 -1
  63. package/dist/plugin-sdk/index.js +2 -2
  64. package/dist/plugin-sdk/plugins/runtime/types.d.ts +2 -0
  65. package/dist/plugin-sdk/{reply-BSOpvBX4.js → reply-DEepmBkT.js} +82 -3
  66. package/dist/plugin-sdk/tts/tts-core.d.ts +15 -0
  67. package/dist/plugin-sdk/tts/tts.d.ts +16 -0
  68. package/dist/plugin-sdk/{web-DiLYLsml.js → web-DBo-6RyH.js} +2 -2
  69. package/dist/{plugins-cli-BymsOcmR.js → plugins-cli-CflNTqmB.js} +2 -2
  70. package/dist/{plugins-cli-DOWA2F0z.js → plugins-cli-DW0TLzrq.js} +2 -2
  71. package/dist/{program-T05XIetU.js → program-DUkjf6lq.js} +7 -7
  72. package/dist/{program-context-CDmctW1L.js → program-context-C0-LzXoV.js} +17 -17
  73. package/dist/{prompt-select-styled-cR4-U64b.js → prompt-select-styled-CQUE1vow.js} +4 -4
  74. package/dist/{prompt-select-styled-BbzQhWF7.js → prompt-select-styled-CWNxdPrL.js} +4 -4
  75. package/dist/{provider-auth-helpers-BbnDoytN.js → provider-auth-helpers-D39L7fZC.js} +1 -1
  76. package/dist/{provider-auth-helpers-C4RNIRyy.js → provider-auth-helpers-bYUBBkmL.js} +1 -1
  77. package/dist/{push-apns-Dli4pG4y.js → push-apns-DGIqfAg5.js} +1 -1
  78. package/dist/{push-apns-DUeNpqyF.js → push-apns-Qfohz-Hs.js} +1 -1
  79. package/dist/{pw-ai-KrN0mqVH.js → pw-ai-D-_aGzdQ.js} +1 -1
  80. package/dist/{pw-ai-C-kqYO4L.js → pw-ai-S3cpSYOy.js} +1 -1
  81. package/dist/{register.agent-aY_6enDc.js → register.agent-BEM0_4uG.js} +5 -5
  82. package/dist/{register.agent-DNAtU5WP.js → register.agent-WQgVmACk.js} +6 -6
  83. package/dist/{register.configure-CwlwOMZ3.js → register.configure-CCpFmFPt.js} +6 -6
  84. package/dist/{register.configure-C_n9kIWJ.js → register.configure-CdW3aECy.js} +6 -6
  85. package/dist/{register.maintenance-DC40nnCm.js → register.maintenance-B8RZLSOe.js} +8 -8
  86. package/dist/{register.maintenance-Dddndcoo.js → register.maintenance-CM3QEdFz.js} +7 -7
  87. package/dist/{register.message-DiR6desB.js → register.message-BRLYHuVS.js} +2 -2
  88. package/dist/{register.message-CpEf0b15.js → register.message-XYm9NyDT.js} +2 -2
  89. package/dist/{register.onboard-bOeA39xj.js → register.onboard-BzAJbRpP.js} +4 -4
  90. package/dist/{register.onboard-VzVmqpEA.js → register.onboard-EwGHFUsd.js} +4 -4
  91. package/dist/{register.setup-CNLQzxl8.js → register.setup-33shhZje.js} +4 -4
  92. package/dist/{register.setup-D6iO5Xqa.js → register.setup-DpdZyiMv.js} +4 -4
  93. package/dist/{register.status-health-sessions-CoiaeduR.js → register.status-health-sessions-C8-iqepo.js} +3 -3
  94. package/dist/{register.status-health-sessions-BtJeTZnN.js → register.status-health-sessions-CK4f2nj_.js} +3 -3
  95. package/dist/{register.subclis-CFTYYdAQ.js → register.subclis-Mn68G5tp.js} +9 -9
  96. package/dist/{reply-Bv-RvRzs.js → reply-DuVUTFfT.js} +82 -3
  97. package/dist/{run-main-EzFOCEdp.js → run-main-CNB3qjRM.js} +14 -14
  98. package/dist/{runner-ChBxge-W.js → runner-D1eXJZ8T.js} +1 -1
  99. package/dist/{runner-Dq-qfrq7.js → runner-a43IsYad.js} +1 -1
  100. package/dist/{server-node-events-B9TqPvCI.js → server-node-events-B3o3P600.js} +2 -2
  101. package/dist/{server-node-events-syk21TN6.js → server-node-events-BPFwUGbS.js} +2 -2
  102. package/dist/{session-dirs-BAcQuXpY.js → session-dirs-Cw2efkey.js} +1 -1
  103. package/dist/{session-dirs-t0YpmrIL.js → session-dirs-DsU4kvIK.js} +1 -1
  104. package/dist/{status-keCWmejk.js → status-BSJIuIlN.js} +1 -1
  105. package/dist/{status-05251w21.js → status-BhHpKHQP.js} +2 -2
  106. package/dist/{status-BqDiXxwL.js → status-C2PvVLaW.js} +1 -1
  107. package/dist/{status-B8UVm7P3.js → status-CLKmcFCC.js} +2 -2
  108. package/dist/{subagent-registry-Lm4ps45z.js → subagent-registry-Da0a_Vka.js} +82 -3
  109. package/dist/{update-cli-BTF6TXGD.js → update-cli-BW3q5tFm.js} +7 -7
  110. package/dist/{update-cli-aW6jVJIJ.js → update-cli-D4EUMrX6.js} +8 -8
  111. package/dist/{web-BYZfljIx.js → web-BTbIFuWM.js} +2 -2
  112. package/dist/{web-BjxYv-hA.js → web-C7TQSVU0.js} +1 -1
  113. package/dist/{web-DPHo2cWX.js → web-CVSol55V.js} +6 -6
  114. package/dist/{web-Cs0IP-ZO.js → web-Y49Dumye.js} +6 -6
  115. package/extensions/voice-call/src/providers/twilio.ts +31 -13
  116. package/extensions/voice-call/src/response-generator.ts +3 -3
  117. package/extensions/voice-call/src/telephony-audio.ts +54 -0
  118. package/extensions/voice-call/src/telephony-tts.ts +40 -2
  119. package/package.json +1 -1
@@ -12,7 +12,7 @@ import { c as SafeOpenError, i as getImageMetadata, l as openFileWithinRoot, n a
12
12
  import { S as isPidAlive, x as resolveProcessScopedMap } from "./model-auth-vtNH8C4P.js";
13
13
  import { o as listDeliverableMessageChannels, s as normalizeMessageChannel } from "./message-channel-CHYSjmbr.js";
14
14
  import { _ as parseDurationMs, a as writeConfigFile, n as loadConfig, s as parseByteSize, t as createConfigIO } from "./config-Du_-inxH.js";
15
- import { A as DEFAULT_BROWSER_EVALUATE_ENABLED, D as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, E as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, M as DEFAULT_OPENCLAW_BROWSER_ENABLED, N as DEFAULT_OPENCLAW_BROWSER_PROFILE_NAME, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, S as stopChromeExtensionRelayServer, _ as fetchJson, a as resolveOpenClawUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, g as appendCdpPath, h as withBrowserNavigationPolicy, i as launchOpenClawChrome, j as DEFAULT_OPENCLAW_BROWSER_COLOR, k as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, l as createTargetViaCdp, m as assertBrowserNavigationAllowed, n as isChromeCdpReady, o as stopOpenClawChrome, p as InvalidBrowserNavigationUrlError, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as fetchOk, w as isLoopbackHost, x as ensureChromeExtensionRelayServer } from "./chrome-BAv9fEiv.js";
15
+ import { A as DEFAULT_BROWSER_EVALUATE_ENABLED, D as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, E as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, M as DEFAULT_OPENCLAW_BROWSER_ENABLED, N as DEFAULT_OPENCLAW_BROWSER_PROFILE_NAME, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, S as stopChromeExtensionRelayServer, _ as fetchJson, a as resolveOpenClawUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, g as appendCdpPath, h as withBrowserNavigationPolicy, i as launchOpenClawChrome, j as DEFAULT_OPENCLAW_BROWSER_COLOR, k as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, l as createTargetViaCdp, m as assertBrowserNavigationAllowed, n as isChromeCdpReady, o as stopOpenClawChrome, p as InvalidBrowserNavigationUrlError, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as fetchOk, w as isLoopbackHost, x as ensureChromeExtensionRelayServer } from "./chrome-Bqbv_ZSj.js";
16
16
  import { a as syncSkillsToWorkspace, l as resolveSandboxInputPath, m as sanitizeEnvVars, u as resolveSandboxPath } from "./skills-DSZuhFx9.js";
17
17
  import { n as formatErrorMessage, t as extractErrorCode } from "./errors-BoQgnc8X.js";
18
18
  import { t as SsrFBlockedError } from "./ssrf-BTMDZjHT.js";
@@ -933,7 +933,7 @@ function isModuleNotFoundError(err) {
933
933
  }
934
934
  async function loadPwAiModule(mode) {
935
935
  try {
936
- return await import("./pw-ai-KrN0mqVH.js");
936
+ return await import("./pw-ai-D-_aGzdQ.js");
937
937
  } catch (err) {
938
938
  if (mode === "soft") return null;
939
939
  if (isModuleNotFoundError(err)) return null;
@@ -3473,11 +3473,11 @@ function createProfileContext(opts, profile) {
3473
3473
  const userDataDir = resolveOpenClawUserDataDir(profile.name);
3474
3474
  const profileState = getProfileState();
3475
3475
  if (await isHttpReachable(300) && !profileState.running) try {
3476
- await (await import("./pw-ai-KrN0mqVH.js")).closePlaywrightBrowserConnection();
3476
+ await (await import("./pw-ai-D-_aGzdQ.js")).closePlaywrightBrowserConnection();
3477
3477
  } catch {}
3478
3478
  if (profileState.running) await stopRunningBrowser();
3479
3479
  try {
3480
- await (await import("./pw-ai-KrN0mqVH.js")).closePlaywrightBrowserConnection();
3480
+ await (await import("./pw-ai-D-_aGzdQ.js")).closePlaywrightBrowserConnection();
3481
3481
  } catch {}
3482
3482
  if (!fs$1.existsSync(userDataDir)) return {
3483
3483
  moved: false,
@@ -2,7 +2,7 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { M as getActivePluginRegistry, o as createSubsystemLogger } from "./entry.js";
3
3
  import { c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-BVNQDedk.js";
4
4
  import { i as loadConfig } from "./config-P-vz8Nlc.js";
5
- import { g as loadOpenClawPlugins } from "./subagent-registry-Lm4ps45z.js";
5
+ import { g as loadOpenClawPlugins } from "./subagent-registry-Da0a_Vka.js";
6
6
 
7
7
  //#region src/cli/plugin-registry.ts
8
8
  var plugin_registry_exports = /* @__PURE__ */ __exportAll({ ensurePluginRegistryLoaded: () => ensurePluginRegistryLoaded });
@@ -1,5 +1,5 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { gt as loadOpenClawPlugins } from "./reply-Bv-RvRzs.js";
2
+ import { gt as loadOpenClawPlugins } from "./reply-DuVUTFfT.js";
3
3
  import { d as getActivePluginRegistry } from "./registry-Dygi7Azw.js";
4
4
  import { t as createSubsystemLogger } from "./subsystem-8bY95KEB.js";
5
5
  import { c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-D9N91YsQ.js";
@@ -1,6 +1,6 @@
1
1
  import { a as buildGroupHistoryKey, n as DEFAULT_MAIN_KEY, r as buildAgentMainSessionKey, s as normalizeAgentId } from "./session-key-C_0eELjb.js";
2
2
  import { f as readWebSelfId, o as getWebAuthAgeMs, r as resolveWhatsAppAccount } from "./accounts-Ciwy7Yxd.js";
3
- import { E as enqueueSystemEvent, G as resolveMentionGating, W as shouldAckReactionForWhatsApp, X as buildHistoryContextFromEntries, Y as DEFAULT_GROUP_HISTORY_LIMIT, _ as resolveEnvelopeFormatOptions, c as computeBackoff, d as formatDurationPrecise, f as dispatchReplyWithBufferedBlockDispatcher, g as formatInboundEnvelope, h as resolveInboundDebounceMs, ht as createDedupeCache, l as sleepWithAbort, m as createInboundDebouncer, n as normalizeGroupActivation, nt as buildMentionRegexes, r as parseActivationCommand, rt as normalizeMentionText, t as getReplyFromConfig, tt as recordPendingHistoryEntryIfEnabled, u as buildPairingReply, v as hasControlCommand, y as shouldComputeCommandAuthorized } from "./reply-BSOpvBX4.js";
3
+ import { E as enqueueSystemEvent, G as resolveMentionGating, W as shouldAckReactionForWhatsApp, X as buildHistoryContextFromEntries, Y as DEFAULT_GROUP_HISTORY_LIMIT, _ as resolveEnvelopeFormatOptions, c as computeBackoff, d as formatDurationPrecise, f as dispatchReplyWithBufferedBlockDispatcher, g as formatInboundEnvelope, h as resolveInboundDebounceMs, ht as createDedupeCache, l as sleepWithAbort, m as createInboundDebouncer, n as normalizeGroupActivation, nt as buildMentionRegexes, r as parseActivationCommand, rt as normalizeMentionText, t as getReplyFromConfig, tt as recordPendingHistoryEntryIfEnabled, u as buildPairingReply, v as hasControlCommand, y as shouldComputeCommandAuthorized } from "./reply-DEepmBkT.js";
4
4
  import { A as normalizeE164, B as toWhatsappJid, K as logVerbose, N as resolveJidToE164, O as isSelfChatMode, R as sleep, Y as shouldLogVerbose, k as jidToE164, s as normalizeChatChannelId, tt as getChildLogger, x as clamp } from "./registry-O1yza0Vh.js";
5
5
  import { n as loadConfig } from "./config-9OZuRn0C.js";
6
6
  import { i as defaultRuntime, t as createSubsystemLogger } from "./subsystem-C4Rh0kdL.js";
@@ -1,6 +1,6 @@
1
1
  import { f as DEFAULT_ACCOUNT_ID, p as normalizeAccountId } from "./session-key-C_0eELjb.js";
2
2
  import { _ as createAccountListHelpers, i as resolveWhatsAppAuthDir, n as resolveDefaultWhatsAppAccountId, r as resolveWhatsAppAccount, t as listWhatsAppAccountIds } from "./accounts-Ciwy7Yxd.js";
3
- import { $ as clearHistoryEntriesIfEnabled, A as resolveDiscordUserAllowlist, B as logTypingFailure, C as stripMarkdown, Ct as unbindThreadBindingsBySessionKey, D as resolveSlackUserAllowlist, Dt as BLUEBUBBLES_ACTION_NAMES, Et as BLUEBUBBLES_ACTIONS, F as stringEnum, G as resolveMentionGating, H as removeAckReactionAfterReply, I as recordInboundSession, J as summarizeMapping, K as resolveMentionGatingWithBypass, L as resolveControlCommandGate, M as collectDiscordAuditChannelIds, N as formatDocsLink, O as resolveSlackChannelAllowlist, Ot as BLUEBUBBLES_GROUP_ACTIONS, P as optionalStringEnum, Q as clearHistoryEntries, R as logAckFailure, S as processLineMessage, St as listThreadBindingsBySessionKey, T as attachFooterText, Tt as resolveAllowlistMatchSimple, U as shouldAckReaction, V as createTypingCallbacks, W as shouldAckReactionForWhatsApp, Y as DEFAULT_GROUP_HISTORY_LIMIT, Z as buildPendingHistoryContextFromMap, _t as listDevicePairing, a as normalizeAccountId$1, at as isWSLEnv, bt as registerPluginHttpRoute, ct as DEFAULT_WEBHOOK_MAX_BODY_BYTES, dt as isRequestBodyLimitError, et as recordPendingHistoryEntry, ft as readJsonBodyWithLimit, gt as approveDevicePairing, ht as createDedupeCache, i as listLineAccountIds, it as isWSL2Sync, j as resolveDiscordChannelAllowlist, k as detectBinary, kt as CHANNEL_MESSAGE_ACTION_NAMES, lt as RequestBodyLimitError, mt as requestBodyErrorToText, o as resolveDefaultLineAccountId, ot as isWSLSync, pt as readRequestBodyWithLimit, q as mergeAllowlist, s as resolveLineAccount, st as DEFAULT_WEBHOOK_BODY_TIMEOUT_MS, tt as recordPendingHistoryEntryIfEnabled, ut as installRequestBodyLimitGuard, vt as rejectDevicePairing, w as createReceiptCard, wt as formatAllowlistMatchMeta, x as hasMarkdownToConvert, xt as autoBindSpawnedDiscordSubagent, yt as extractToolSend, z as logInboundDrop } from "./reply-BSOpvBX4.js";
3
+ import { $ as clearHistoryEntriesIfEnabled, A as resolveDiscordUserAllowlist, B as logTypingFailure, C as stripMarkdown, Ct as unbindThreadBindingsBySessionKey, D as resolveSlackUserAllowlist, Dt as BLUEBUBBLES_ACTION_NAMES, Et as BLUEBUBBLES_ACTIONS, F as stringEnum, G as resolveMentionGating, H as removeAckReactionAfterReply, I as recordInboundSession, J as summarizeMapping, K as resolveMentionGatingWithBypass, L as resolveControlCommandGate, M as collectDiscordAuditChannelIds, N as formatDocsLink, O as resolveSlackChannelAllowlist, Ot as BLUEBUBBLES_GROUP_ACTIONS, P as optionalStringEnum, Q as clearHistoryEntries, R as logAckFailure, S as processLineMessage, St as listThreadBindingsBySessionKey, T as attachFooterText, Tt as resolveAllowlistMatchSimple, U as shouldAckReaction, V as createTypingCallbacks, W as shouldAckReactionForWhatsApp, Y as DEFAULT_GROUP_HISTORY_LIMIT, Z as buildPendingHistoryContextFromMap, _t as listDevicePairing, a as normalizeAccountId$1, at as isWSLEnv, bt as registerPluginHttpRoute, ct as DEFAULT_WEBHOOK_MAX_BODY_BYTES, dt as isRequestBodyLimitError, et as recordPendingHistoryEntry, ft as readJsonBodyWithLimit, gt as approveDevicePairing, ht as createDedupeCache, i as listLineAccountIds, it as isWSL2Sync, j as resolveDiscordChannelAllowlist, k as detectBinary, kt as CHANNEL_MESSAGE_ACTION_NAMES, lt as RequestBodyLimitError, mt as requestBodyErrorToText, o as resolveDefaultLineAccountId, ot as isWSLSync, pt as readRequestBodyWithLimit, q as mergeAllowlist, s as resolveLineAccount, st as DEFAULT_WEBHOOK_BODY_TIMEOUT_MS, tt as recordPendingHistoryEntryIfEnabled, ut as installRequestBodyLimitGuard, vt as rejectDevicePairing, w as createReceiptCard, wt as formatAllowlistMatchMeta, x as hasMarkdownToConvert, xt as autoBindSpawnedDiscordSubagent, yt as extractToolSend, z as logInboundDrop } from "./reply-DEepmBkT.js";
4
4
  import "./paths-DVWx7USN.js";
5
5
  import "./github-copilot-token-Cg0YPPSu.js";
6
6
  import { D as resolveSlackAccount, E as resolveDefaultSlackAccountId, F as resolveDiscordAccount, M as listDiscordAccountIds, O as resolveSlackReplyToMode, P as resolveDefaultDiscordAccountId, S as resolveTelegramAccount, T as listSlackAccountIds, _ as normalizeWhatsAppTarget, a as listDiscordDirectoryPeersFromConfig, b as listTelegramAccountIds, c as listTelegramDirectoryGroupsFromConfig, d as listWhatsAppDirectoryPeersFromConfig, f as looksLikeSlackTargetId, g as isWhatsAppGroupJid, i as listDiscordDirectoryGroupsFromConfig, l as listTelegramDirectoryPeersFromConfig, o as listSlackDirectoryGroupsFromConfig, p as normalizeSlackMessagingTarget, s as listSlackDirectoryPeersFromConfig, u as listWhatsAppDirectoryGroupsFromConfig, w as listEnabledSlackAccounts, x as resolveDefaultTelegramAccountId } from "./plugins-DIzw7Ncy.js";
@@ -47,7 +47,7 @@ import "./paths-BNQjLbn7.js";
47
47
  import { h as onDiagnosticEvent, m as isDiagnosticsEnabled, p as emitDiagnosticEvent } from "./diagnostic-DKyVS3IK.js";
48
48
  import { n as extractOriginalFilename } from "./store-DoRXD0QB.js";
49
49
  import { t as resolveWhatsAppOutboundTarget } from "./resolve-outbound-target-DzZIT1V1.js";
50
- import { r as resolveWhatsAppHeartbeatRecipients } from "./channel-web-XYtgc8aq.js";
50
+ import { r as resolveWhatsAppHeartbeatRecipients } from "./channel-web-BHNS_E7F.js";
51
51
  import "./image-C31B_R8P.js";
52
52
  import "./pi-model-discovery-LbcEa65a.js";
53
53
  import "./api-key-rotation-ElOMCP9r.js";
@@ -11,6 +11,7 @@ type UpsertChannelPairingRequest = typeof import("../../pairing/pairing-store.js
11
11
  type FetchRemoteMedia = typeof import("../../media/fetch.js").fetchRemoteMedia;
12
12
  type SaveMediaBuffer = typeof import("../../media/store.js").saveMediaBuffer;
13
13
  type TextToSpeechTelephony = typeof import("../../tts/tts.js").textToSpeechTelephony;
14
+ type TextToSpeechTelephonyStream = typeof import("../../tts/tts.js").textToSpeechTelephonyStream;
14
15
  type BuildMentionRegexes = typeof import("../../auto-reply/reply/mentions.js").buildMentionRegexes;
15
16
  type MatchesMentionPatterns = typeof import("../../auto-reply/reply/mentions.js").matchesMentionPatterns;
16
17
  type MatchesMentionWithExplicit = typeof import("../../auto-reply/reply/mentions.js").matchesMentionWithExplicit;
@@ -150,6 +151,7 @@ export type PluginRuntime = {
150
151
  };
151
152
  tts: {
152
153
  textToSpeechTelephony: TextToSpeechTelephony;
154
+ textToSpeechTelephonyStream?: TextToSpeechTelephonyStream;
153
155
  };
154
156
  tools: {
155
157
  createMemoryGetTool: CreateMemoryGetTool;
@@ -10486,6 +10486,43 @@ async function openaiTTS(params) {
10486
10486
  clearTimeout(timeout);
10487
10487
  }
10488
10488
  }
10489
+ /**
10490
+ * Streaming variant of openaiTTS. Returns the response body as a ReadableStream
10491
+ * so callers can process PCM chunks as they arrive instead of buffering the entire response.
10492
+ */
10493
+ async function openaiTTSStream(params) {
10494
+ const { text, apiKey, model, voice, responseFormat, timeoutMs } = params;
10495
+ if (!isValidOpenAIModel(model)) throw new Error(`Invalid model: ${model}`);
10496
+ if (!isValidOpenAIVoice(voice)) throw new Error(`Invalid voice: ${voice}`);
10497
+ const controller = new AbortController();
10498
+ const timeout = setTimeout(() => controller.abort(), timeoutMs);
10499
+ const response = await fetch(`${getOpenAITtsBaseUrl()}/audio/speech`, {
10500
+ method: "POST",
10501
+ headers: {
10502
+ Authorization: `Bearer ${apiKey}`,
10503
+ "Content-Type": "application/json"
10504
+ },
10505
+ body: JSON.stringify({
10506
+ model,
10507
+ input: text,
10508
+ voice,
10509
+ response_format: responseFormat
10510
+ }),
10511
+ signal: controller.signal
10512
+ });
10513
+ if (!response.ok) {
10514
+ clearTimeout(timeout);
10515
+ throw new Error(`OpenAI TTS API error (${response.status})`);
10516
+ }
10517
+ if (!response.body) {
10518
+ clearTimeout(timeout);
10519
+ throw new Error("OpenAI TTS response has no body");
10520
+ }
10521
+ return {
10522
+ body: response.body,
10523
+ cleanup: () => clearTimeout(timeout)
10524
+ };
10525
+ }
10489
10526
  function inferEdgeExtension(outputFormat) {
10490
10527
  const normalized = outputFormat.toLowerCase();
10491
10528
  if (normalized.includes("webm")) return ".webm";
@@ -11011,6 +11048,45 @@ async function textToSpeechTelephony(params) {
11011
11048
  error: `TTS conversion failed: ${errors.join("; ") || "no providers available"}`
11012
11049
  };
11013
11050
  }
11051
+ /**
11052
+ * Streaming variant of textToSpeechTelephony.
11053
+ * Returns a ReadableStream of PCM audio chunks for incremental processing.
11054
+ * Only supports OpenAI provider (PCM format required for streaming).
11055
+ */
11056
+ async function textToSpeechTelephonyStream(params) {
11057
+ const config = resolveTtsConfig(params.cfg);
11058
+ if ((config.provider ?? "openai") !== "openai") return {
11059
+ success: false,
11060
+ error: "Streaming TTS only supported for OpenAI"
11061
+ };
11062
+ const apiKey = resolveTtsApiKey(config, "openai");
11063
+ if (!apiKey) return {
11064
+ success: false,
11065
+ error: "No OpenAI API key for streaming TTS"
11066
+ };
11067
+ try {
11068
+ const output = TELEPHONY_OUTPUT.openai;
11069
+ const result = await openaiTTSStream({
11070
+ text: params.text,
11071
+ apiKey,
11072
+ model: config.openai.model,
11073
+ voice: config.openai.voice,
11074
+ responseFormat: "pcm",
11075
+ timeoutMs: config.timeoutMs
11076
+ });
11077
+ return {
11078
+ success: true,
11079
+ stream: result.body,
11080
+ sampleRate: output.sampleRate,
11081
+ cleanup: result.cleanup
11082
+ };
11083
+ } catch (err) {
11084
+ return {
11085
+ success: false,
11086
+ error: err instanceof Error ? err.message : String(err)
11087
+ };
11088
+ }
11089
+ }
11014
11090
  async function maybeApplyTtsToPayload(params) {
11015
11091
  const config = resolveTtsConfig(params.cfg);
11016
11092
  const prefsPath = resolveTtsPrefsPath(config);
@@ -26836,7 +26912,7 @@ async function runWithImageModelFallback(params) {
26836
26912
  function createDefaultDeps() {
26837
26913
  return {
26838
26914
  sendMessageWhatsApp: async (...args) => {
26839
- const { sendMessageWhatsApp } = await import("./web-DiLYLsml.js");
26915
+ const { sendMessageWhatsApp } = await import("./web-DBo-6RyH.js");
26840
26916
  return await sendMessageWhatsApp(...args);
26841
26917
  },
26842
26918
  sendMessageTelegram: async (...args) => {
@@ -44523,7 +44599,7 @@ function loadWebLoginQr() {
44523
44599
  return webLoginQrPromise;
44524
44600
  }
44525
44601
  function loadWebChannel() {
44526
- webChannelPromise ??= import("./web-DiLYLsml.js");
44602
+ webChannelPromise ??= import("./web-DBo-6RyH.js");
44527
44603
  return webChannelPromise;
44528
44604
  }
44529
44605
  function loadWhatsAppActions() {
@@ -44536,7 +44612,10 @@ function createPluginRuntime() {
44536
44612
  config: createRuntimeConfig(),
44537
44613
  system: createRuntimeSystem(),
44538
44614
  media: createRuntimeMedia(),
44539
- tts: { textToSpeechTelephony },
44615
+ tts: {
44616
+ textToSpeechTelephony,
44617
+ textToSpeechTelephonyStream
44618
+ },
44540
44619
  tools: createRuntimeTools(),
44541
44620
  channel: createRuntimeChannel(),
44542
44621
  logging: createRuntimeLogging(),
@@ -42,6 +42,21 @@ export declare function openaiTTS(params: {
42
42
  responseFormat: "mp3" | "opus" | "pcm";
43
43
  timeoutMs: number;
44
44
  }): Promise<Buffer>;
45
+ /**
46
+ * Streaming variant of openaiTTS. Returns the response body as a ReadableStream
47
+ * so callers can process PCM chunks as they arrive instead of buffering the entire response.
48
+ */
49
+ export declare function openaiTTSStream(params: {
50
+ text: string;
51
+ apiKey: string;
52
+ model: string;
53
+ voice: string;
54
+ responseFormat: "pcm";
55
+ timeoutMs: number;
56
+ }): Promise<{
57
+ body: ReadableStream<Uint8Array>;
58
+ cleanup: () => void;
59
+ }>;
45
60
  export declare function inferEdgeExtension(outputFormat: string): string;
46
61
  export declare function edgeTTS(params: {
47
62
  text: string;
@@ -157,6 +157,22 @@ export declare function textToSpeechTelephony(params: {
157
157
  cfg: OpenClawConfig;
158
158
  prefsPath?: string;
159
159
  }): Promise<TtsTelephonyResult>;
160
+ export type TtsTelephonyStreamResult = {
161
+ success: boolean;
162
+ stream?: ReadableStream<Uint8Array>;
163
+ sampleRate?: number;
164
+ cleanup?: () => void;
165
+ error?: string;
166
+ };
167
+ /**
168
+ * Streaming variant of textToSpeechTelephony.
169
+ * Returns a ReadableStream of PCM audio chunks for incremental processing.
170
+ * Only supports OpenAI provider (PCM format required for streaming).
171
+ */
172
+ export declare function textToSpeechTelephonyStream(params: {
173
+ text: string;
174
+ cfg: OpenClawConfig;
175
+ }): Promise<TtsTelephonyStreamResult>;
160
176
  export declare function maybeApplyTtsToPayload(params: {
161
177
  payload: ReplyPayload;
162
178
  cfg: OpenClawConfig;
@@ -1,5 +1,5 @@
1
1
  import { a as WA_WEB_AUTH_DIR, g as webAuthExists, s as logWebSelfId, u as pickWebChannel } from "./accounts-Ciwy7Yxd.js";
2
- import "./reply-BSOpvBX4.js";
2
+ import "./reply-DEepmBkT.js";
3
3
  import "./paths-DVWx7USN.js";
4
4
  import "./github-copilot-token-Cg0YPPSu.js";
5
5
  import "./plugins-DIzw7Ncy.js";
@@ -45,7 +45,7 @@ import "./pi-embedded-helpers-DU0nLxRU.js";
45
45
  import "./paths-BNQjLbn7.js";
46
46
  import "./diagnostic-DKyVS3IK.js";
47
47
  import "./store-DoRXD0QB.js";
48
- import { n as monitorWebInbox, t as monitorWebChannel } from "./channel-web-XYtgc8aq.js";
48
+ import { n as monitorWebInbox, t as monitorWebChannel } from "./channel-web-BHNS_E7F.js";
49
49
  import "./image-C31B_R8P.js";
50
50
  import "./pi-model-discovery-LbcEa65a.js";
51
51
  import "./api-key-rotation-ElOMCP9r.js";
@@ -1,7 +1,7 @@
1
1
  import { g as resolveStateDir } from "./paths-B4BZAPZh.js";
2
2
  import { B as theme, S as shortenHomePath, g as resolveConfigDir, x as shortenHomeInString, y as resolveUserPath } from "./utils-BlC2Fskb.js";
3
3
  import "./thinking-EAliFiVK.js";
4
- import "./reply-Bv-RvRzs.js";
4
+ import "./reply-DuVUTFfT.js";
5
5
  import "./registry-Dygi7Azw.js";
6
6
  import { f as defaultRuntime } from "./subsystem-8bY95KEB.js";
7
7
  import "./exec-BmMB8-Xs.js";
@@ -106,7 +106,7 @@ import "./npm-registry-spec-DVXqd4Pf.js";
106
106
  import "./skill-scanner-CMBwwxis.js";
107
107
  import { i as resolvePluginInstallDir, n as installPluginFromNpmSpec, r as installPluginFromPath, t as recordPluginInstall } from "./installs-B9skpWIo.js";
108
108
  import { t as renderTable } from "./table-i7J9YlN5.js";
109
- import { t as buildPluginStatusReport } from "./status-BqDiXxwL.js";
109
+ import { t as buildPluginStatusReport } from "./status-C2PvVLaW.js";
110
110
  import { n as updateNpmInstalledPlugins } from "./update-BS8h2lwA.js";
111
111
  import fs from "node:fs";
112
112
  import os from "node:os";
@@ -13,7 +13,7 @@ import "./client-B5QR5Bi9.js";
13
13
  import "./call-D6ajQjvV.js";
14
14
  import "./message-channel-CVHJDItx.js";
15
15
  import "./pairing-token-Byh6drgn.js";
16
- import "./subagent-registry-Lm4ps45z.js";
16
+ import "./subagent-registry-Da0a_Vka.js";
17
17
  import "./sessions-BJnLP6OJ.js";
18
18
  import "./tokens-ANnYrShl.js";
19
19
  import "./plugins-DStDwRz0.js";
@@ -102,7 +102,7 @@ import "./npm-registry-spec-DkaZNHAW.js";
102
102
  import "./skill-scanner-Cb7mXGIR.js";
103
103
  import { i as resolvePluginInstallDir, n as installPluginFromNpmSpec, r as installPluginFromPath, t as recordPluginInstall } from "./installs-DDy4Ij7L.js";
104
104
  import { t as renderTable } from "./table-C9BoE_4p.js";
105
- import { t as buildPluginStatusReport } from "./status-keCWmejk.js";
105
+ import { t as buildPluginStatusReport } from "./status-BSJIuIlN.js";
106
106
  import { n as updateNpmInstalledPlugins } from "./update-ChO83Ek6.js";
107
107
  import os from "node:os";
108
108
  import path from "node:path";
@@ -14,7 +14,7 @@ import "./client-B5QR5Bi9.js";
14
14
  import "./call-D6ajQjvV.js";
15
15
  import "./message-channel-CVHJDItx.js";
16
16
  import "./pairing-token-Byh6drgn.js";
17
- import "./subagent-registry-Lm4ps45z.js";
17
+ import "./subagent-registry-Da0a_Vka.js";
18
18
  import "./sessions-BJnLP6OJ.js";
19
19
  import "./tokens-ANnYrShl.js";
20
20
  import "./plugins-DStDwRz0.js";
@@ -99,13 +99,13 @@ import "./prompt-style-DwCXob2h.js";
99
99
  import "./pairing-labels-D2jdEFFZ.js";
100
100
  import "./pi-tools.policy-BQwEWAuL.js";
101
101
  import "./catalog-Da8o-cxw.js";
102
- import "./plugin-registry-83ThmVHf.js";
103
- import { n as resolveCliChannelOptions } from "./channel-options-CLS27y1A.js";
104
- import { t as getSubCliCommandsWithSubcommands } from "./register.subclis-CFTYYdAQ.js";
105
- import { a as registerProgramCommands, r as getCoreCliCommandsWithSubcommands } from "./command-registry-pGuORBuB.js";
102
+ import "./plugin-registry-1pF4_jNl.js";
103
+ import { n as resolveCliChannelOptions } from "./channel-options-D0Qjq83D.js";
104
+ import { t as getSubCliCommandsWithSubcommands } from "./register.subclis-Mn68G5tp.js";
105
+ import { a as registerProgramCommands, r as getCoreCliCommandsWithSubcommands } from "./command-registry-BtDC5Ll-.js";
106
106
  import { r as setProgramContext } from "./program-context-5q-A0wbP.js";
107
107
  import { t as forceFreePort } from "./ports-BxzJ3ENr.js";
108
- import { n as formatCliBannerLine, r as hasEmittedCliBanner, t as emitCliBanner } from "./banner-CqQBBjKH.js";
108
+ import { n as formatCliBannerLine, r as hasEmittedCliBanner, t as emitCliBanner } from "./banner-dFAx4eE_.js";
109
109
  import { Command } from "commander";
110
110
 
111
111
  //#region src/cli/program/context.ts
@@ -213,7 +213,7 @@ function registerPreActionHooks(program, programVersion) {
213
213
  commandPath
214
214
  });
215
215
  if (PLUGIN_REQUIRED_COMMANDS.has(commandPath[0])) {
216
- const { ensurePluginRegistryLoaded } = await import("./plugin-registry-83ThmVHf.js").then((n) => n.n);
216
+ const { ensurePluginRegistryLoaded } = await import("./plugin-registry-1pF4_jNl.js").then((n) => n.n);
217
217
  ensurePluginRegistryLoaded();
218
218
  }
219
219
  });
@@ -43,7 +43,7 @@ const entries = [
43
43
  description: "Run, inspect, and query the WebSocket Gateway",
44
44
  hasSubcommands: true,
45
45
  register: async (program) => {
46
- (await import("./gateway-cli-B-XwzYp2.js")).registerGatewayCli(program);
46
+ (await import("./gateway-cli-DuMINk2B.js")).registerGatewayCli(program);
47
47
  }
48
48
  },
49
49
  {
@@ -75,7 +75,7 @@ const entries = [
75
75
  description: "Discover, scan, and configure models",
76
76
  hasSubcommands: true,
77
77
  register: async (program) => {
78
- (await import("./models-cli-BnbeEOCU.js")).registerModelsCli(program);
78
+ (await import("./models-cli-CaP_rt4y.js")).registerModelsCli(program);
79
79
  }
80
80
  },
81
81
  {
@@ -155,7 +155,7 @@ const entries = [
155
155
  description: "Manage internal agent hooks",
156
156
  hasSubcommands: true,
157
157
  register: async (program) => {
158
- (await import("./hooks-cli-BparoMpt.js")).registerHooksCli(program);
158
+ (await import("./hooks-cli-CEtCwdza.js")).registerHooksCli(program);
159
159
  }
160
160
  },
161
161
  {
@@ -187,7 +187,7 @@ const entries = [
187
187
  description: "Secure DM pairing (approve inbound requests)",
188
188
  hasSubcommands: true,
189
189
  register: async (program) => {
190
- const { registerPluginCliCommands } = await import("./cli-C1nypCKP.js");
190
+ const { registerPluginCliCommands } = await import("./cli-CijjdR37.js");
191
191
  registerPluginCliCommands(program, await loadConfig());
192
192
  (await import("./pairing-cli-CMFuJi52.js")).registerPairingCli(program);
193
193
  }
@@ -197,8 +197,8 @@ const entries = [
197
197
  description: "Manage OpenClaw plugins and extensions",
198
198
  hasSubcommands: true,
199
199
  register: async (program) => {
200
- (await import("./plugins-cli-BymsOcmR.js")).registerPluginsCli(program);
201
- const { registerPluginCliCommands } = await import("./cli-C1nypCKP.js");
200
+ (await import("./plugins-cli-CflNTqmB.js")).registerPluginsCli(program);
201
+ const { registerPluginCliCommands } = await import("./cli-CijjdR37.js");
202
202
  registerPluginCliCommands(program, await loadConfig());
203
203
  }
204
204
  },
@@ -207,7 +207,7 @@ const entries = [
207
207
  description: "Manage connected chat channels (Telegram, Discord, etc.)",
208
208
  hasSubcommands: true,
209
209
  register: async (program) => {
210
- (await import("./channels-cli-BDHLWbaU.js")).registerChannelsCli(program);
210
+ (await import("./channels-cli-6uwOEBM-.js")).registerChannelsCli(program);
211
211
  }
212
212
  },
213
213
  {
@@ -239,7 +239,7 @@ const entries = [
239
239
  description: "Update OpenClaw and inspect update channel status",
240
240
  hasSubcommands: true,
241
241
  register: async (program) => {
242
- (await import("./update-cli-BTF6TXGD.js")).registerUpdateCli(program);
242
+ (await import("./update-cli-BW3q5tFm.js")).registerUpdateCli(program);
243
243
  }
244
244
  },
245
245
  {
@@ -247,7 +247,7 @@ const entries = [
247
247
  description: "Generate shell completion script",
248
248
  hasSubcommands: false,
249
249
  register: async (program) => {
250
- (await import("./completion-cli-C79-bpAx.js").then((n) => n.n)).registerCompletionCli(program);
250
+ (await import("./completion-cli-CI6LWHg3.js").then((n) => n.n)).registerCompletionCli(program);
251
251
  }
252
252
  }
253
253
  ];
@@ -310,7 +310,7 @@ const coreEntries = [
310
310
  hasSubcommands: false
311
311
  }],
312
312
  register: async ({ program }) => {
313
- (await import("./register.setup-CNLQzxl8.js")).registerSetupCommand(program);
313
+ (await import("./register.setup-33shhZje.js")).registerSetupCommand(program);
314
314
  }
315
315
  },
316
316
  {
@@ -320,7 +320,7 @@ const coreEntries = [
320
320
  hasSubcommands: false
321
321
  }],
322
322
  register: async ({ program }) => {
323
- (await import("./register.onboard-bOeA39xj.js")).registerOnboardCommand(program);
323
+ (await import("./register.onboard-BzAJbRpP.js")).registerOnboardCommand(program);
324
324
  }
325
325
  },
326
326
  {
@@ -330,7 +330,7 @@ const coreEntries = [
330
330
  hasSubcommands: false
331
331
  }],
332
332
  register: async ({ program }) => {
333
- (await import("./register.configure-CwlwOMZ3.js")).registerConfigureCommand(program);
333
+ (await import("./register.configure-CCpFmFPt.js")).registerConfigureCommand(program);
334
334
  }
335
335
  },
336
336
  {
@@ -340,7 +340,7 @@ const coreEntries = [
340
340
  hasSubcommands: true
341
341
  }],
342
342
  register: async ({ program }) => {
343
- (await import("./config-cli-BcNHb4_E.js")).registerConfigCli(program);
343
+ (await import("./config-cli-Dc0TQ1yE.js")).registerConfigCli(program);
344
344
  }
345
345
  },
346
346
  {
@@ -367,7 +367,7 @@ const coreEntries = [
367
367
  }
368
368
  ],
369
369
  register: async ({ program }) => {
370
- (await import("./register.maintenance-Dddndcoo.js")).registerMaintenanceCommands(program);
370
+ (await import("./register.maintenance-CM3QEdFz.js")).registerMaintenanceCommands(program);
371
371
  }
372
372
  },
373
373
  {
@@ -377,7 +377,7 @@ const coreEntries = [
377
377
  hasSubcommands: true
378
378
  }],
379
379
  register: async ({ program, ctx }) => {
380
- (await import("./register.message-DiR6desB.js")).registerMessageCommands(program, ctx);
380
+ (await import("./register.message-BRLYHuVS.js")).registerMessageCommands(program, ctx);
381
381
  }
382
382
  },
383
383
  {
@@ -401,7 +401,7 @@ const coreEntries = [
401
401
  hasSubcommands: true
402
402
  }],
403
403
  register: async ({ program, ctx }) => {
404
- (await import("./register.agent-aY_6enDc.js")).registerAgentCommands(program, { agentChannelOptions: ctx.agentChannelOptions });
404
+ (await import("./register.agent-BEM0_4uG.js")).registerAgentCommands(program, { agentChannelOptions: ctx.agentChannelOptions });
405
405
  }
406
406
  },
407
407
  {
@@ -423,7 +423,7 @@ const coreEntries = [
423
423
  }
424
424
  ],
425
425
  register: async ({ program }) => {
426
- (await import("./register.status-health-sessions-CoiaeduR.js")).registerStatusHealthSessionsCommands(program);
426
+ (await import("./register.status-health-sessions-C8-iqepo.js")).registerStatusHealthSessionsCommands(program);
427
427
  }
428
428
  },
429
429
  {
@@ -8,7 +8,7 @@ import { t as buildWorkspaceSkillStatus } from "./skills-status-C7F1IVPW.js";
8
8
  import { l as writeConfigFile, o as readConfigFileSnapshot } from "./config-P-vz8Nlc.js";
9
9
  import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-D6ajQjvV.js";
10
10
  import { l as resolveGatewayBindHost, n as isLoopbackHost } from "./net-DZ5Ayk-W.js";
11
- import { g as loadOpenClawPlugins, gn as formatRemainingShort, hn as buildAuthHealthSummary, mn as DEFAULT_OAUTH_WARN_MS } from "./subagent-registry-Lm4ps45z.js";
11
+ import { g as loadOpenClawPlugins, gn as formatRemainingShort, hn as buildAuthHealthSummary, mn as DEFAULT_OAUTH_WARN_MS } from "./subagent-registry-Da0a_Vka.js";
12
12
  import { F as resolveMainSessionKey, H as cleanStaleLockFiles, o as loadSessionStore } from "./sessions-BJnLP6OJ.js";
13
13
  import { n as listChannelPlugins } from "./plugins-DStDwRz0.js";
14
14
  import { D as DEFAULT_SANDBOX_COMMON_IMAGE, E as DEFAULT_SANDBOX_BROWSER_IMAGE, O as DEFAULT_SANDBOX_IMAGE, p as resolveSandboxScope } from "./sandbox-1HfRyvvj.js";
@@ -31,15 +31,15 @@ import { a as launchAgentPlistExists, i as isLaunchAgentLoaded, o as repairLaunc
31
31
  import { i as auditGatewayServiceConfig, n as renderSystemdUnavailableHints, o as needsNodeRuntimeMigration, r as SERVICE_AUDIT_CODES, s as formatRuntimeStatus, t as isSystemdUnavailableDetail } from "./systemd-hints-C73_IlRM.js";
32
32
  import { t as readLastGatewayErrorLine } from "./diagnostics-CqEodocN.js";
33
33
  import { n as renderGatewayServiceCleanupHints, t as findExtraGatewayServices } from "./inspect-CvEo0D8s.js";
34
- import { r as healthCommand } from "./health-UmuJyu1Q.js";
34
+ import { r as healthCommand } from "./health-Dg0bAIKS.js";
35
35
  import { n as resolveControlUiDistIndexHealth, r as resolveControlUiDistIndexPathForRoot } from "./control-ui-assets-Yp3N6NZ_.js";
36
36
  import { t as resolveDmAllowState } from "./dm-policy-shared-Do8DPXRK.js";
37
- import { n as runGatewayUpdate, t as resolveAgentSessionDirs } from "./session-dirs-t0YpmrIL.js";
37
+ import { n as runGatewayUpdate, t as resolveAgentSessionDirs } from "./session-dirs-DsU4kvIK.js";
38
38
  import { n as logConfigUpdated } from "./logging-PVQxLC6I.js";
39
39
  import { n as detectLegacyStateMigrations, r as runLegacyStateMigrations, t as loadAndMaybeMigrateDoctorConfig } from "./doctor-config-flow-B_6xrNyC.js";
40
40
  import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-B8oXYjfA.js";
41
41
  import { t as formatHealthCheckFailure } from "./health-format-DkjSgkDx.js";
42
- import { n as doctorShellCompletion } from "./doctor-completion-deY10x7w.js";
42
+ import { n as doctorShellCompletion } from "./doctor-completion-DipoVPSi.js";
43
43
  import { execFile } from "node:child_process";
44
44
  import os from "node:os";
45
45
  import path from "node:path";
@@ -1,6 +1,6 @@
1
1
  import { d as resolveIsNixMode, g as resolveStateDir, m as resolveOAuthDir, t as CONFIG_PATH, u as resolveGatewayPort, y as resolveRequiredHomeDir } from "./paths-B4BZAPZh.js";
2
2
  import { C as sleep, S as shortenHomePath, U as getResolvedLoggerSettings, y as resolveUserPath } from "./utils-BlC2Fskb.js";
3
- import { fr as DEFAULT_OAUTH_WARN_MS, gt as loadOpenClawPlugins, mr as formatRemainingShort, pr as buildAuthHealthSummary } from "./reply-Bv-RvRzs.js";
3
+ import { fr as DEFAULT_OAUTH_WARN_MS, gt as loadOpenClawPlugins, mr as formatRemainingShort, pr as buildAuthHealthSummary } from "./reply-DuVUTFfT.js";
4
4
  import { t as resolveOpenClawPackageRoot } from "./openclaw-root-CQJwyH9q.js";
5
5
  import { f as defaultRuntime } from "./subsystem-8bY95KEB.js";
6
6
  import { n as runExec, t as runCommandWithTimeout } from "./exec-BmMB8-Xs.js";
@@ -34,15 +34,15 @@ import { a as launchAgentPlistExists, i as isLaunchAgentLoaded, o as repairLaunc
34
34
  import { i as auditGatewayServiceConfig, n as renderSystemdUnavailableHints, o as needsNodeRuntimeMigration, r as SERVICE_AUDIT_CODES, s as formatRuntimeStatus, t as isSystemdUnavailableDetail } from "./systemd-hints-Bjz2gm-v.js";
35
35
  import { t as readLastGatewayErrorLine } from "./diagnostics-CSOaBA1c.js";
36
36
  import { n as renderGatewayServiceCleanupHints, t as findExtraGatewayServices } from "./inspect-BLdnzAVe.js";
37
- import { r as healthCommand } from "./health-DMrTgW8V.js";
37
+ import { r as healthCommand } from "./health-DQjqH1zU.js";
38
38
  import { n as resolveControlUiDistIndexHealth, r as resolveControlUiDistIndexPathForRoot } from "./control-ui-assets-d_j0Pdnj.js";
39
39
  import { t as resolveDmAllowState } from "./dm-policy-shared-Dhee-_og.js";
40
- import { n as runGatewayUpdate, t as resolveAgentSessionDirs } from "./session-dirs-BAcQuXpY.js";
40
+ import { n as runGatewayUpdate, t as resolveAgentSessionDirs } from "./session-dirs-Cw2efkey.js";
41
41
  import { n as logConfigUpdated } from "./logging-DNqMaj3H.js";
42
42
  import { n as detectLegacyStateMigrations, r as runLegacyStateMigrations, t as loadAndMaybeMigrateDoctorConfig } from "./doctor-config-flow-BMdUHcYg.js";
43
43
  import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-zXWRcQMp.js";
44
44
  import { t as formatHealthCheckFailure } from "./health-format-D6i_RyWd.js";
45
- import { n as doctorShellCompletion } from "./doctor-completion-BB1f594d.js";
45
+ import { n as doctorShellCompletion } from "./doctor-completion-DgPc1rDZ.js";
46
46
  import fs from "node:fs";
47
47
  import os from "node:os";
48
48
  import path from "node:path";
@@ -1,4 +1,4 @@
1
- import { gt as loadOpenClawPlugins, ht as createPluginLoaderLogger } from "./reply-Bv-RvRzs.js";
1
+ import { gt as loadOpenClawPlugins, ht as createPluginLoaderLogger } from "./reply-DuVUTFfT.js";
2
2
  import { t as createSubsystemLogger } from "./subsystem-8bY95KEB.js";
3
3
  import { At as ensureAuthProfileStore, Ot as upsertAuthProfile, l as normalizeProviderId } from "./model-selection-CAW5pd6g.js";
4
4
  import { n as isWSLEnv } from "./wsl-C4424szg.js";
@@ -1,6 +1,6 @@
1
1
  import { o as createSubsystemLogger } from "./entry.js";
2
2
  import { L as normalizeProviderId, b as ensureAuthProfileStore, v as upsertAuthProfile } from "./auth-profiles-D9JM3QE1.js";
3
- import { g as loadOpenClawPlugins, h as createPluginLoaderLogger } from "./subagent-registry-Lm4ps45z.js";
3
+ import { g as loadOpenClawPlugins, h as createPluginLoaderLogger } from "./subagent-registry-Da0a_Vka.js";
4
4
  import { n as isWSLEnv } from "./wsl-jdLWdiKy.js";
5
5
  import { r as stylePromptTitle } from "./prompt-style-DwCXob2h.js";
6
6
  import { f as updateConfig } from "./shared-BXBjc1xD.js";
@@ -1,6 +1,6 @@
1
1
  import { g as resolveStateDir } from "./paths-B4BZAPZh.js";
2
2
  import { A as isVerbose } from "./utils-BlC2Fskb.js";
3
- import { Ar as estimateBase64DecodedBytes, h as sniffMimeFromBase64 } from "./reply-Bv-RvRzs.js";
3
+ import { Ar as estimateBase64DecodedBytes, h as sniffMimeFromBase64 } from "./reply-DuVUTFfT.js";
4
4
  import { S as parseAgentSessionKey } from "./session-key-DCt45XZa.js";
5
5
  import { s as shouldLogSubsystemToConsole, t as createSubsystemLogger } from "./subsystem-8bY95KEB.js";
6
6
  import { n as redactSensitiveText, t as getDefaultRedactPatterns } from "./redact-f-Q-hFt_.js";
@@ -1,7 +1,7 @@
1
1
  import { Yt as resolveStateDir, _t as isVerbose, f as shouldLogSubsystemToConsole, o as createSubsystemLogger } from "./entry.js";
2
2
  import { S as parseAgentSessionKey } from "./session-key-DjZ7Z1hW.js";
3
3
  import { c as writeJsonAtomic, o as createAsyncLock, s as readJsonFile } from "./pairing-token-Byh6drgn.js";
4
- import { Mn as estimateBase64DecodedBytes, p as sniffMimeFromBase64 } from "./subagent-registry-Lm4ps45z.js";
4
+ import { Mn as estimateBase64DecodedBytes, p as sniffMimeFromBase64 } from "./subagent-registry-Da0a_Vka.js";
5
5
  import { n as redactSensitiveText, t as getDefaultRedactPatterns } from "./redact-B40lik2B.js";
6
6
  import path from "node:path";
7
7
  import chalk from "chalk";
@@ -9,7 +9,7 @@ import "./model-auth-vtNH8C4P.js";
9
9
  import "./github-copilot-token-Dgb9dAHW.js";
10
10
  import "./config-Du_-inxH.js";
11
11
  import "./manifest-registry-Dhk4A5vb.js";
12
- import { _ as fetchJson, b as withCdpSocket, d as normalizeCdpWsUrl, g as appendCdpPath, h as withBrowserNavigationPolicy, m as assertBrowserNavigationAllowed, t as getChromeWebSocketUrl, u as formatAriaSnapshot, y as getHeadersWithAuth } from "./chrome-BAv9fEiv.js";
12
+ import { _ as fetchJson, b as withCdpSocket, d as normalizeCdpWsUrl, g as appendCdpPath, h as withBrowserNavigationPolicy, m as assertBrowserNavigationAllowed, t as getChromeWebSocketUrl, u as formatAriaSnapshot, y as getHeadersWithAuth } from "./chrome-Bqbv_ZSj.js";
13
13
  import "./redact-jSxx6Ep2.js";
14
14
  import { n as formatErrorMessage } from "./errors-BoQgnc8X.js";
15
15
  import "./ssrf-BTMDZjHT.js";
@@ -7,7 +7,7 @@ import "./github-copilot-token-ttqQRqMA.js";
7
7
  import { r as formatCliCommand } from "./env-DulyEJtM.js";
8
8
  import "./config-KL7847B1.js";
9
9
  import "./manifest-registry-sze5OW-s.js";
10
- import { _ as fetchJson, b as withCdpSocket, d as normalizeCdpWsUrl, g as appendCdpPath, h as withBrowserNavigationPolicy, m as assertBrowserNavigationAllowed, t as getChromeWebSocketUrl, u as formatAriaSnapshot, y as getHeadersWithAuth } from "./chrome-lRUqqgSD.js";
10
+ import { _ as fetchJson, b as withCdpSocket, d as normalizeCdpWsUrl, g as appendCdpPath, h as withBrowserNavigationPolicy, m as assertBrowserNavigationAllowed, t as getChromeWebSocketUrl, u as formatAriaSnapshot, y as getHeadersWithAuth } from "./chrome-CZuniMYN.js";
11
11
  import "./redact-1NGYV_8p.js";
12
12
  import { n as formatErrorMessage } from "./errors-CPfngF0S.js";
13
13
  import "./ssrf-CxfFyMRZ.js";