wednesdayai 0.5.0 → 0.5.1-dev.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 (171) hide show
  1. package/dist/{agent-scope-DaYoimRo.js → agent-scope-VTjBKG-0.js} +3 -3
  2. package/dist/{agent-turn-runner-B9ZpICYG.js → agent-turn-runner-CZilDjoa.js} +4 -4
  3. package/dist/{agent-turn-runner-D17nO0vK.js → agent-turn-runner-DGW1XTSZ.js} +6 -6
  4. package/dist/{api-key-rotation-CFBqEjJo.js → api-key-rotation-C7Uer3wX.js} +2 -2
  5. package/dist/{audio-preflight-IAvClu-y.js → audio-preflight-5kfGz36M.js} +29 -29
  6. package/dist/{audio-preflight-0IORdIpv.js → audio-preflight-CyoX7lif.js} +5 -5
  7. package/dist/{audio-transcription-runner-XF9vtq2K.js → audio-transcription-runner-6owLZL6w.js} +1 -1
  8. package/dist/{audio-transcription-runner-DO37G4ea.js → audio-transcription-runner-CBRRwnRT.js} +26 -26
  9. package/dist/build-info.json +4 -4
  10. package/dist/bundled/boot-md/handler.js +60 -60
  11. package/dist/bundled/bootstrap-extra-files/handler.js +6 -6
  12. package/dist/bundled/command-logger/handler.js +2 -2
  13. package/dist/bundled/session-journal/handler.js +60 -60
  14. package/dist/bundled/session-memory/handler.js +60 -60
  15. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  16. package/dist/{channel-activity-osbmoIZV.js → channel-activity-CgARXGuN.js} +3 -3
  17. package/dist/{chat-content-D9t717tu.js → chat-content-CjKyPXfO.js} +34 -34
  18. package/dist/{chat-content-CF94bdqd.js → chat-content-Dp_TK_pI.js} +3 -3
  19. package/dist/{chrome-Bz--jRWP.js → chrome-C9hAxf3E.js} +5 -5
  20. package/dist/{chrome-Cb_eHwXe.js → chrome-DKYaSdXE.js} +23 -23
  21. package/dist/{chunk-BGAIfwvG.js → chunk-CmQRdRrT.js} +3 -3
  22. package/dist/{command-queue-Blj57uZh.js → command-queue-DiOM6aJb.js} +1 -1
  23. package/dist/{command-queue-CHDYFklA.js → command-queue-arMRWvX5.js} +1 -1
  24. package/dist/{commands-registry-CHyanyMK.js → commands-registry-Bpqy7T_m.js} +2 -2
  25. package/dist/{deliver-ItqNbpAj.js → deliver-DGxrgy4y.js} +1 -1
  26. package/dist/{deliver-B1z53DPr.js → deliver-hdhBsluU.js} +29 -29
  27. package/dist/{diagnostic-DHSjiKQ1.js → diagnostic-DWnW43D8.js} +5 -5
  28. package/dist/{diagnostic-BsxoGiFO.js → diagnostic-f8CKHXWb.js} +1 -1
  29. package/dist/{errors-CCOle-CH.js → errors-h4QgDEJU.js} +1 -1
  30. package/dist/extensionAPI.js +12 -12
  31. package/dist/{fetch-CJta9EH3.js → fetch-BkWHUyJz.js} +8 -8
  32. package/dist/{fetch-guard-CnaMeBGo.js → fetch-guard-BUJnD_0T.js} +3 -3
  33. package/dist/{frontmatter-DlRD-Jnx.js → frontmatter-IfoWyoLV.js} +3 -3
  34. package/dist/{fs-safe-DpdLT3fB.js → fs-safe-joAzTKB9.js} +26 -26
  35. package/dist/{image-ops-YU6OONEl.js → image-ops-d6AhYSNh.js} +1 -1
  36. package/dist/{ir-BdHn6F6Y.js → ir-B0cUtyev.js} +5 -5
  37. package/dist/{legacy-names-me5dD9PP.js → legacy-names-Dh4RlQMQ.js} +1 -1
  38. package/dist/llm-slug-generator.js +60 -60
  39. package/dist/{logger-BrQxLcMY.js → logger-vVASmiVr.js} +1 -1
  40. package/dist/{manager-xwMosvyt.js → manager-SEkHJEk4.js} +18 -18
  41. package/dist/{markdown-tables-BVgH365V.js → markdown-tables-pw9wiTpN.js} +2 -2
  42. package/dist/{model-selection-CYypdqr8.js → model-selection-BTxcwzNF.js} +83 -83
  43. package/dist/{models-config-D7vsT5RL.js → models-config-CrYtS7l_.js} +2 -2
  44. package/dist/{outbound-attachment-C_QOYkXN.js → outbound-attachment-ecpn937X.js} +2 -2
  45. package/dist/{outbound-message-hooks-BYTh0d2Q.js → outbound-message-hooks-BA0MXlRL.js} +5 -5
  46. package/dist/{path-alias-guards-BdGLz9X0.js → path-alias-guards-BzCkdlOk.js} +1 -1
  47. package/dist/{pi-embedded-BtqsPDuE.js → pi-embedded-C3a3mJgO.js} +272 -272
  48. package/dist/{pi-embedded-D6nR71l7.js → pi-embedded-cc9FvjV6.js} +28 -28
  49. package/dist/{pi-embedded-utils-C-iiawNt.js → pi-embedded-utils-Bu-pLHgt.js} +3 -3
  50. package/dist/{pi-embedded-utils-Bb82klSc.js → pi-embedded-utils-DKfjTsdf.js} +1 -1
  51. package/dist/{pi-model-discovery-fTAJjO1L.js → pi-model-discovery-BHTeo1nC.js} +7 -7
  52. package/dist/plugin-sdk/{agent-turn-execute-R1HDfkzv.js → agent-turn-execute-5UY7VtoM.js} +12 -12
  53. package/dist/plugin-sdk/{agent-turn-runner-BJKm0xiy.js → agent-turn-runner-Cn8kBLTA.js} +4 -4
  54. package/dist/plugin-sdk/{audio-preflight-BB1yTgKL.js → audio-preflight-DmcETAqz.js} +5 -5
  55. package/dist/plugin-sdk/{audio-transcription-runner-reKaz0zD.js → audio-transcription-runner-CmY7S8fK.js} +1 -1
  56. package/dist/plugin-sdk/{chrome-WLpY6l2E.js → chrome-6h5M_drY.js} +8 -8
  57. package/dist/plugin-sdk/{command-queue-CAp1zb7F.js → command-queue-DIuk1L2E.js} +1 -1
  58. package/dist/plugin-sdk/{deliver-DlvbM-qn.js → deliver-C9GFYFwr.js} +1 -1
  59. package/dist/plugin-sdk/{deliver-BmT0wV-k.js → deliver-DPfI8dVE.js} +3 -3
  60. package/dist/plugin-sdk/{diagnostic-RXIEvDQf.js → diagnostic-DRY8-0JL.js} +1 -1
  61. package/dist/plugin-sdk/{pi-embedded-helpers-21OqohWy.js → pi-embedded-helpers-D5vYvfne.js} +3 -3
  62. package/dist/plugin-sdk/{pi-embedded-utils-BW2p1kKO.js → pi-embedded-utils-CGDgVtzV.js} +1 -1
  63. package/dist/plugin-sdk/{provider-dispatcher-rwnQ0CEc.js → provider-dispatcher-DryAXJsi.js} +12 -12
  64. package/dist/plugin-sdk/{provider-image-3obRwbTZ.js → provider-image-CVcMld07.js} +4 -4
  65. package/dist/plugin-sdk/{provider-image-B68yYRAm.js → provider-image-Df0uD0Oe.js} +1 -1
  66. package/dist/plugin-sdk/{pw-ai-CSRaN1ac.js → pw-ai-DMALp-EA.js} +1 -1
  67. package/dist/plugin-sdk/{runs-5hM5yurH.js → runs-BASRXkuM.js} +3 -3
  68. package/dist/plugin-sdk/{runs-DvLuGamE.js → runs-yMaO6qGS.js} +5 -5
  69. package/dist/plugin-sdk/{send-Zxl5JOn5.js → send-BqbtJqgu.js} +1 -1
  70. package/dist/plugin-sdk/{send-CzwcnXPR.js → send-CmZ4gvBw.js} +2 -2
  71. package/dist/plugin-sdk/{subagent-registry-Y727Of1U.js → subagent-registry-GgT4DYT1.js} +12 -12
  72. package/dist/plugin-sdk/testing.js +12 -12
  73. package/dist/plugin-sdk/{tools-joKDe6rw.js → tools-Bigk4qN-.js} +32 -32
  74. package/dist/{provider-image-Do7qMZhI.js → provider-image-BZgdxPq1.js} +1 -1
  75. package/dist/{provider-image-DEcMOAkN.js → provider-image-BoLaTMGA.js} +6 -6
  76. package/dist/{proxy-DaAwoyLn.js → proxy-CPi-EHQf.js} +1 -1
  77. package/dist/{proxy-env-DbK61KfJ.js → proxy-env-D-BYfN9f.js} +1 -1
  78. package/dist/{proxy-fetch-DfICXirF.js → proxy-fetch-SAeVJOzX.js} +1 -1
  79. package/dist/{pw-ai-BPTONp50.js → pw-ai-BX6tMIuu.js} +14 -14
  80. package/dist/{pw-ai-vX880pfn.js → pw-ai-ZhKSFpfJ.js} +1 -1
  81. package/dist/{qmd-manager-BwE9yS9R.js → qmd-manager-D8ak7kq1.js} +12 -12
  82. package/dist/{query-expansion-D98bVcfg.js → query-expansion-Cfj6kuQN.js} +13 -13
  83. package/dist/{recorder-DsunFllM.js → recorder-9g0HAfTV.js} +2 -2
  84. package/dist/{redact-CO0RqVMz.js → redact-CteA3IBL.js} +1 -1
  85. package/dist/{replies-pB9HCyld.js → replies-BbIj7g9M.js} +5 -5
  86. package/dist/{reply-directives-mulrKdb0.js → reply-directives-DBlsFghT.js} +2 -2
  87. package/dist/{reply-prefix-JmOFNTVH.js → reply-prefix-B4-hQLj2.js} +1 -1
  88. package/dist/{resolve-route-5h1UlQhK.js → resolve-route-BVQQmyE-.js} +5 -5
  89. package/dist/{runs-DEhpITiC.js → runs-Dar4NRlC.js} +3 -3
  90. package/dist/{runs-CYEm5TJX.js → runs-n_IyEnjI.js} +9 -9
  91. package/dist/{send-Bcmcrt2M.js → send-BaBji8OV.js} +6 -6
  92. package/dist/{send-CaxLshmb.js → send-Blzch_-J.js} +6 -6
  93. package/dist/{send-i_w4A0N2.js → send-D3AqPouq.js} +7 -7
  94. package/dist/{send-LdGFidPd.js → send-D4CyRJfb.js} +8 -8
  95. package/dist/{send-mGol3d2c.js → send-Owye3CdT.js} +27 -27
  96. package/dist/{send-C4CkAZXl.js → send-tEYUiTsj.js} +1 -1
  97. package/dist/{session-meta-CmQ6a7H5.js → session-meta-n_Hhzi0B.js} +1 -1
  98. package/dist/{sessions-ZdGPevHF.js → sessions-C8YjZYd5.js} +5 -5
  99. package/dist/{skill-commands-XRDXSro6.js → skill-commands-DyocWgx1.js} +8 -8
  100. package/dist/{skills-CXVcffYI.js → skills-BNWKnQc8.js} +21 -21
  101. package/dist/{store-CYs-lya8.js → store-BkbDrlDX.js} +7 -7
  102. package/dist/{subsystem-Bv4j-uIg.js → subsystem-D_zHSy02.js} +67 -67
  103. package/dist/{tables-BbGV4Ys1.js → tables-B_gp2rXG.js} +1 -1
  104. package/dist/{tokens-BdntrBR4.js → tokens-B3OPeQh5.js} +1 -1
  105. package/dist/{tool-loop-detection-CdZfb_CR.js → tool-loop-detection-ST5jhih3.js} +2 -2
  106. package/dist/{user-run-recording-Dr98Mjnd.js → user-run-recording-CMwTVvoc.js} +2 -2
  107. package/dist/{workspace-yHh5Lf7Z.js → workspace-CkXKTYV4.js} +27 -27
  108. package/extensions/acpx/package.json +1 -1
  109. package/extensions/anthropic/package.json +1 -1
  110. package/extensions/bifrost/package.json +1 -1
  111. package/extensions/bluebubbles/package.json +1 -1
  112. package/extensions/copilot-proxy/package.json +1 -1
  113. package/extensions/deepgram/package.json +1 -1
  114. package/extensions/deepinfra/package.json +1 -1
  115. package/extensions/diagnostics-otel/package.json +1 -1
  116. package/extensions/diffs/package.json +1 -1
  117. package/extensions/discord/package.json +1 -1
  118. package/extensions/dream-cycle/package.json +1 -1
  119. package/extensions/elevenlabs/package.json +1 -1
  120. package/extensions/feishu/package.json +1 -1
  121. package/extensions/gemini-search/package.json +1 -1
  122. package/extensions/google/package.json +1 -1
  123. package/extensions/google-gemini-cli-auth/package.json +1 -1
  124. package/extensions/googlechat/package.json +1 -1
  125. package/extensions/grok-search/package.json +1 -1
  126. package/extensions/groq/package.json +1 -1
  127. package/extensions/imessage/package.json +1 -1
  128. package/extensions/irc/package.json +1 -1
  129. package/extensions/kimi-search/package.json +1 -1
  130. package/extensions/learning-core/package.json +1 -1
  131. package/extensions/line/package.json +1 -1
  132. package/extensions/llm-task/package.json +1 -1
  133. package/extensions/lobster/package.json +1 -1
  134. package/extensions/matrix/CHANGELOG.md +6 -0
  135. package/extensions/matrix/package.json +1 -1
  136. package/extensions/mattermost/package.json +1 -1
  137. package/extensions/memory-core/package.json +1 -1
  138. package/extensions/memory-lancedb/package.json +1 -1
  139. package/extensions/minimax/package.json +1 -1
  140. package/extensions/minimax-portal-auth/package.json +1 -1
  141. package/extensions/mistral/package.json +1 -1
  142. package/extensions/moonshot/package.json +1 -1
  143. package/extensions/msteams/CHANGELOG.md +6 -0
  144. package/extensions/msteams/package.json +1 -1
  145. package/extensions/nextcloud-talk/package.json +1 -1
  146. package/extensions/nostr/CHANGELOG.md +6 -0
  147. package/extensions/nostr/package.json +1 -1
  148. package/extensions/open-prose/package.json +1 -1
  149. package/extensions/openai/package.json +1 -1
  150. package/extensions/openai-realtime/package.json +1 -1
  151. package/extensions/openrouter/package.json +1 -1
  152. package/extensions/perplexity-search/package.json +1 -1
  153. package/extensions/searxng-search/package.json +1 -1
  154. package/extensions/signal/package.json +1 -1
  155. package/extensions/slack/package.json +1 -1
  156. package/extensions/synology-chat/package.json +1 -1
  157. package/extensions/telegram/package.json +1 -1
  158. package/extensions/tlon/package.json +1 -1
  159. package/extensions/twitch/CHANGELOG.md +6 -0
  160. package/extensions/twitch/package.json +1 -1
  161. package/extensions/voice-call/CHANGELOG.md +6 -0
  162. package/extensions/voice-call/package.json +1 -1
  163. package/extensions/whatsapp/package.json +1 -1
  164. package/extensions/zai/package.json +1 -1
  165. package/extensions/zalo/CHANGELOG.md +6 -0
  166. package/extensions/zalo/package.json +1 -1
  167. package/extensions/zalouser/CHANGELOG.md +6 -0
  168. package/extensions/zalouser/package.json +1 -1
  169. package/package.json +1 -1
  170. package/dist/github-copilot-token-DYYKoDuV.js +0 -106
  171. package/dist/paths-BIDPYPVC.js +0 -233
@@ -15,17 +15,17 @@ import { $ as DB_SESSION_HYDRATION_LIMIT, A as resolveExplicitAgentSessionKey, B
15
15
  import { n as isDiagnosticsEnabled, t as emitDiagnosticEvent } from "./diagnostic-events-BTSwhIfk.js";
16
16
  import { n as onSessionTranscriptUpdate } from "./transcript-events-C2lcxc6-.js";
17
17
  import { n as generateSecureUuid, t as generateSecureToken } from "./secure-random-BDA1WAvZ.js";
18
- import { A as boundDiagnosticContent, C as logWebhookError, D as refreshRunProgress, E as recordSystemPromptHashComparison, M as resetCommandPollCount, O as startDiagnosticHeartbeat, S as logToolExecutionStarted, T as logWebhookReceived, b as logToolExecutionBlocked, d as logRunCompleted, f as logRunStarted, j as recordCommandPoll, k as stopDiagnosticHeartbeat, l as logModelCallError, o as logMessageProcessed, p as logSessionStateChange, s as logMessageQueued, w as logWebhookProcessed, x as logToolExecutionCompleted } from "./diagnostic-BsxoGiFO.js";
18
+ import { A as boundDiagnosticContent, C as logWebhookError, D as refreshRunProgress, E as recordSystemPromptHashComparison, M as resetCommandPollCount, O as startDiagnosticHeartbeat, S as logToolExecutionStarted, T as logWebhookReceived, b as logToolExecutionBlocked, d as logRunCompleted, f as logRunStarted, j as recordCommandPoll, k as stopDiagnosticHeartbeat, l as logModelCallError, o as logMessageProcessed, p as logSessionStateChange, s as logMessageQueued, w as logWebhookProcessed, x as logToolExecutionCompleted } from "./diagnostic-f8CKHXWb.js";
19
19
  import { r as getDiagnosticSessionState, s as redactChannelCorrelation } from "./diagnostic-session-state-evjvR-jF.js";
20
20
  import { t as redactIdentifier } from "./redact-identifier-CUq5OWH1.js";
21
21
  import { i as testRegexWithBoundedInput, r as compileSafeRegex, t as redactSensitiveText } from "./redact-CpxuujTJ.js";
22
22
  import { t as CommandLane } from "./lanes-DBBnME5O.js";
23
- import { a as getCommandLaneSnapshots, c as isQueuedCommandCancellation, i as enqueueCommandInLane, n as clearCommandLane, o as getQueueSize, s as isGatewayDraining, t as CommandLaneAbortedError } from "./command-queue-CHDYFklA.js";
24
- import { $ as resolveTelegramReplyId, A as resolveTelegramFetch, B as buildTelegramGroupPeerId, C as getTelegramFleetSupervisor, D as recordWebhook, E as recordUpdate, F as resolveCronStorePath, G as expandTextLinks, H as buildTelegramThreadParams, I as buildGroupLabel, J as normalizeForwardedContext, K as extractTelegramLocation, L as buildSenderLabel, M as formatTelegramErrorMessage, N as withTelegramApiErrorLogging, O as registerAccount, P as loadCronStore, Q as resolveTelegramMediaPlaceholder, R as buildSenderName, S as fingerprintTelegramToken, St as resolveTelegramTargetChatType, T as recordState, U as buildTypingThreadParams, V as buildTelegramParentPeer, W as describeReplyTarget, X as resolveTelegramForumThreadId, Y as resolveTelegramDirectPeerId, Z as resolveTelegramGroupAllowFromContext, _ as isTelegramEditMayHaveLandedError, _t as writeJsonFileAtomically, a as reactMessageTelegram, at as resolveSenderAllowMatch$1, b as renderTelegramHtmlText, bt as isVoiceCompatibleAudio, c as sendStickerTelegram, ct as mergeDmAllowFromSources, d as wasSentByBot, dt as toLocationContext, et as resolveTelegramStreamMode, f as extractTelegramErrorText, ft as addChannelAllowFromStoreEntry, g as isTelegramClientRejection, gt as readJsonFileWithFallback, h as isSafeToRetrySendError, ht as upsertChannelPairingRequest, i as editMessageTelegram, it as normalizeDmAllowFromWithStore$1, j as splitTelegramCaption, k as releaseAccountOwner, lt as resolveGroupAllowFromSources, m as isRecoverableTelegramNetworkError, mt as removeChannelAllowFromStoreEntry, n as createForumTopicTelegram, nt as isSenderAllowed$1, o as sendMessageTelegram, ot as firstDefined$1, p as isDefiniteTelegramRequestNonDeliveryError, pt as readChannelAllowFromStore, q as hasBotMention, r as deleteMessageTelegram, rt as normalizeAllowFrom$2, s as sendPollTelegram, st as isSenderIdAllowed, t as buildInlineKeyboard, tt as resolveTelegramThreadSpec, u as resolveTelegramVoiceSend, ut as formatLocationText, v as markdownToTelegramChunks, vt as getPairingAdapter, w as recordApiRequest, x as wrapFileReferencesInHtml, xt as parseTelegramTarget, y as markdownToTelegramHtml, yt as listPairingChannels, z as buildTelegramGroupFrom } from "./send-C4CkAZXl.js";
23
+ import { a as getCommandLaneSnapshots, c as isQueuedCommandCancellation, i as enqueueCommandInLane, n as clearCommandLane, o as getQueueSize, s as isGatewayDraining, t as CommandLaneAbortedError } from "./command-queue-arMRWvX5.js";
24
+ import { $ as resolveTelegramReplyId, A as resolveTelegramFetch, B as buildTelegramGroupPeerId, C as getTelegramFleetSupervisor, D as recordWebhook, E as recordUpdate, F as resolveCronStorePath, G as expandTextLinks, H as buildTelegramThreadParams, I as buildGroupLabel, J as normalizeForwardedContext, K as extractTelegramLocation, L as buildSenderLabel, M as formatTelegramErrorMessage, N as withTelegramApiErrorLogging, O as registerAccount, P as loadCronStore, Q as resolveTelegramMediaPlaceholder, R as buildSenderName, S as fingerprintTelegramToken, St as resolveTelegramTargetChatType, T as recordState, U as buildTypingThreadParams, V as buildTelegramParentPeer, W as describeReplyTarget, X as resolveTelegramForumThreadId, Y as resolveTelegramDirectPeerId, Z as resolveTelegramGroupAllowFromContext, _ as isTelegramEditMayHaveLandedError, _t as writeJsonFileAtomically, a as reactMessageTelegram, at as resolveSenderAllowMatch$1, b as renderTelegramHtmlText, bt as isVoiceCompatibleAudio, c as sendStickerTelegram, ct as mergeDmAllowFromSources, d as wasSentByBot, dt as toLocationContext, et as resolveTelegramStreamMode, f as extractTelegramErrorText, ft as addChannelAllowFromStoreEntry, g as isTelegramClientRejection, gt as readJsonFileWithFallback, h as isSafeToRetrySendError, ht as upsertChannelPairingRequest, i as editMessageTelegram, it as normalizeDmAllowFromWithStore$1, j as splitTelegramCaption, k as releaseAccountOwner, lt as resolveGroupAllowFromSources, m as isRecoverableTelegramNetworkError, mt as removeChannelAllowFromStoreEntry, n as createForumTopicTelegram, nt as isSenderAllowed$1, o as sendMessageTelegram, ot as firstDefined$1, p as isDefiniteTelegramRequestNonDeliveryError, pt as readChannelAllowFromStore, q as hasBotMention, r as deleteMessageTelegram, rt as normalizeAllowFrom$2, s as sendPollTelegram, st as isSenderIdAllowed, t as buildInlineKeyboard, tt as resolveTelegramThreadSpec, u as resolveTelegramVoiceSend, ut as formatLocationText, v as markdownToTelegramChunks, vt as getPairingAdapter, w as recordApiRequest, x as wrapFileReferencesInHtml, xt as parseTelegramTarget, y as markdownToTelegramHtml, yt as listPairingChannels, z as buildTelegramGroupFrom } from "./send-tEYUiTsj.js";
25
25
  import { c as detectMime, d as imageMimeFromFormat, f as isAudioFileName, g as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, m as kindFromMime, p as isGifMedia, s as resizeToJpeg, v as mediaKindFromMime } from "./image-ops-A6f7GNWY.js";
26
26
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-C_8_TEXa.js";
27
- import { $ as buildPluginToolGroups, A as isLikelyContextOverflowError, B as resolveSandboxContext, C as isAuthAssistantError, D as isContextOverflowError, E as isCompactionFailureError, F as parseImageSizeError, G as resolveProfile, H as createBrowserRouteContext, I as sanitizeUserFacingText, J as resolveBrowserControlAuth, K as getBridgeAuthForPort, L as isAuthPermanentErrorMessage, M as isRawApiErrorPayload, N as isTransientHttpError, O as isFailoverAssistantError, P as parseImageDimensionError, Q as applyOwnerOnlyToolPolicy, R as isTimeoutErrorMessage, S as getApiErrorPayloadFingerprint, T as isCloudCodeAssistFormatError, U as registerBrowserRoutes, V as resolveSandboxRuntimeStatus, W as resolveBrowserConfig, X as trimToUndefined$1, Y as resolveGatewayCredentialsFromConfig, Z as resolveSandboxConfigForAgent, _ as BILLING_ERROR_USER_MESSAGE, at as normalizeToolName, b as formatBillingErrorMessage, c as sanitizeSessionMessagesImages, ct as matchesAnyGlobPattern, d as resolveImageSanitizationLimits, dt as resolveBootstrapTotalMaxChars, et as collectExplicitAllowlist, f as canonicalizeBase64, ft as sanitizeGoogleTurnOrdering, g as isGoogleModelApi, h as downgradeOpenAIReasoningBlocks, i as pickFallbackThinkingLevel, it as expandToolGroups, j as isRateLimitAssistantError, k as isFailoverErrorMessage, l as sanitizeImageBlocks, lt as buildBootstrapContextFiles, m as downgradeOpenAIFunctionCallReasoningPairs, n as validateAnthropicTurns, nt as mergeAlsoAllowPolicy, o as isMessagingToolDuplicateNormalized, ot as resolveToolProfilePolicy, p as estimateBase64DecodedBytes, q as ensureBrowserControlAuth, r as validateGeminiTurns, rt as stripPluginOnlyAllowlist, s as normalizeTextForComparison, st as compileGlobPatterns, t as extractTextFromChatContent, tt as expandPolicyWithPluginGroups, u as sanitizeToolResultImages, ut as resolveBootstrapMaxChars, v as classifyFailoverReason, w as isBillingAssistantError, x as formatRawAssistantErrorForUi, y as formatAssistantErrorText, z as ensureSandboxWorkspaceForSession } from "./chat-content-CF94bdqd.js";
28
- import { A as rawDataToString, B as isSecureWebSocketUrl, C as ensureChromeExtensionRelayServer, N as DEFAULT_UPLOAD_DIR, P as resolveExistingPathsWithinRoot, V as resolveClientIp, W as DEFAULT_AI_SNAPSHOT_MAX_CHARS, s as resolveLsofCommandSync, z as isLoopbackHost } from "./chrome-Bz--jRWP.js";
27
+ import { $ as buildPluginToolGroups, A as isLikelyContextOverflowError, B as resolveSandboxContext, C as isAuthAssistantError, D as isContextOverflowError, E as isCompactionFailureError, F as parseImageSizeError, G as resolveProfile, H as createBrowserRouteContext, I as sanitizeUserFacingText, J as resolveBrowserControlAuth, K as getBridgeAuthForPort, L as isAuthPermanentErrorMessage, M as isRawApiErrorPayload, N as isTransientHttpError, O as isFailoverAssistantError, P as parseImageDimensionError, Q as applyOwnerOnlyToolPolicy, R as isTimeoutErrorMessage, S as getApiErrorPayloadFingerprint, T as isCloudCodeAssistFormatError, U as registerBrowserRoutes, V as resolveSandboxRuntimeStatus, W as resolveBrowserConfig, X as trimToUndefined$1, Y as resolveGatewayCredentialsFromConfig, Z as resolveSandboxConfigForAgent, _ as BILLING_ERROR_USER_MESSAGE, at as normalizeToolName, b as formatBillingErrorMessage, c as sanitizeSessionMessagesImages, ct as matchesAnyGlobPattern, d as resolveImageSanitizationLimits, dt as resolveBootstrapTotalMaxChars, et as collectExplicitAllowlist, f as canonicalizeBase64, ft as sanitizeGoogleTurnOrdering, g as isGoogleModelApi, h as downgradeOpenAIReasoningBlocks, i as pickFallbackThinkingLevel, it as expandToolGroups, j as isRateLimitAssistantError, k as isFailoverErrorMessage, l as sanitizeImageBlocks, lt as buildBootstrapContextFiles, m as downgradeOpenAIFunctionCallReasoningPairs, n as validateAnthropicTurns, nt as mergeAlsoAllowPolicy, o as isMessagingToolDuplicateNormalized, ot as resolveToolProfilePolicy, p as estimateBase64DecodedBytes, q as ensureBrowserControlAuth, r as validateGeminiTurns, rt as stripPluginOnlyAllowlist, s as normalizeTextForComparison, st as compileGlobPatterns, t as extractTextFromChatContent, tt as expandPolicyWithPluginGroups, u as sanitizeToolResultImages, ut as resolveBootstrapMaxChars, v as classifyFailoverReason, w as isBillingAssistantError, x as formatRawAssistantErrorForUi, y as formatAssistantErrorText, z as ensureSandboxWorkspaceForSession } from "./chat-content-Dp_TK_pI.js";
28
+ import { A as rawDataToString, B as isSecureWebSocketUrl, C as ensureChromeExtensionRelayServer, N as DEFAULT_UPLOAD_DIR, P as resolveExistingPathsWithinRoot, V as resolveClientIp, W as DEFAULT_AI_SNAPSHOT_MAX_CHARS, s as resolveLsofCommandSync, z as isLoopbackHost } from "./chrome-DKYaSdXE.js";
29
29
  import { a as skillsSnapshotSourceDiffers, c as assertMediaNotDataUrl, f as resolveSandboxedMediaSource, i as resolveSkillsPromptForRun, l as assertSandboxPath, m as applySkillEnvOverridesFromSnapshot, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverrides, r as loadWorkspaceSkillEntries, u as resolveSandboxInputPath } from "./skills-Cgo8C-YA.js";
30
30
  import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-Doc1hCCV.js";
31
31
  import { a as formatUncaughtError, c as readErrorName, i as formatErrorMessage, o as hasErrnoCode, r as formatErrorChainMessage, t as collectErrorGraphCandidates } from "./errors-DuWEJolt.js";
@@ -36,9 +36,9 @@ import { t as resolveNetworkSsrFPolicy } from "./ssrf-config-CWMxbvLB.js";
36
36
  import { n as readJsonFile, r as writeJsonAtomic, t as createAsyncLock } from "./json-files-1Zv08-ZT.js";
37
37
  import { a as normalizeReasoningLevel, c as normalizeVerboseLevel, i as normalizeElevatedLevel, l as resolveResponseUsageMode, n as formatXHighModelHint, o as normalizeThinkLevel, s as normalizeUsageDisplay, t as formatThinkingLevels, u as supportsXHighThinking } from "./thinking-D6R5MauW.js";
38
38
  import { t as ensureOpenClawModelsJson } from "./models-config-FAZy8DyR.js";
39
- import { C as loadModelCatalog, S as findModelInCatalog, _ as stripCarriedTranscriptFromBody, a as resolveAutoImageModel, c as applyTemplate, d as normalizeMediaUnderstandingChatType, f as resolveMediaUnderstandingScope, i as normalizeMediaAttachments, l as resolveConcurrency, n as buildProviderRegistry, o as resolveMediaAttachmentLocalRoots, p as CLI_OUTPUT_MAX_BUFFER, r as createMediaAttachmentCache, s as runCapability, t as runAudioTranscription, u as resolveTimeoutMs$2, v as buildRandomTempFilePath, w as modelSupportsVision, x as resolveAttachmentKind, y as registerUnhandledRejectionHandler } from "./audio-transcription-runner-XF9vtq2K.js";
40
- import { a as formatReasoningMessage, d as stripThinkingTagsFromText, f as formatToolSummary, g as isInsideCode, h as findCodeRegions, l as stripDowngradedToolCallText, m as stripReasoningTagsFromText, n as extractAssistantThinking, o as inferToolMetaFromArgs, p as resolveToolDisplay, s as isAssistantMessage, t as extractAssistantText$1, u as stripMinimaxToolCallXml } from "./pi-embedded-utils-Bb82klSc.js";
41
- import { a as coerceImageModelConfig, i as coerceImageAssistantText, o as decodeDataUrl, r as minimaxUnderstandImage, s as resolveProviderVisionModelFromConfig } from "./provider-image-Do7qMZhI.js";
39
+ import { C as loadModelCatalog, S as findModelInCatalog, _ as stripCarriedTranscriptFromBody, a as resolveAutoImageModel, c as applyTemplate, d as normalizeMediaUnderstandingChatType, f as resolveMediaUnderstandingScope, i as normalizeMediaAttachments, l as resolveConcurrency, n as buildProviderRegistry, o as resolveMediaAttachmentLocalRoots, p as CLI_OUTPUT_MAX_BUFFER, r as createMediaAttachmentCache, s as runCapability, t as runAudioTranscription, u as resolveTimeoutMs$2, v as buildRandomTempFilePath, w as modelSupportsVision, x as resolveAttachmentKind, y as registerUnhandledRejectionHandler } from "./audio-transcription-runner-6owLZL6w.js";
40
+ import { a as formatReasoningMessage, d as stripThinkingTagsFromText, f as formatToolSummary, g as isInsideCode, h as findCodeRegions, l as stripDowngradedToolCallText, m as stripReasoningTagsFromText, n as extractAssistantThinking, o as inferToolMetaFromArgs, p as resolveToolDisplay, s as isAssistantMessage, t as extractAssistantText$1, u as stripMinimaxToolCallXml } from "./pi-embedded-utils-DKfjTsdf.js";
41
+ import { a as coerceImageModelConfig, i as coerceImageAssistantText, o as decodeDataUrl, r as minimaxUnderstandImage, s as resolveProviderVisionModelFromConfig } from "./provider-image-BZgdxPq1.js";
42
42
  import { a as getDefaultMediaLocalRoots, i as getAgentScopedMediaLocalRoots, n as fetchRemoteMedia, r as readResponseWithLimit, t as MediaFetchError } from "./fetch-DtE_K97A.js";
43
43
  import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-Ct3Jl5dU.js";
44
44
  import { n as withStrictGuardedFetchMode, r as withTrustedEnvProxyGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-CcqzMcBg.js";
@@ -50,11 +50,11 @@ import { a as loadWebMedia, i as getDefaultLocalRoots, o as loadWebMediaRaw } fr
50
50
  import { _ as isNativeCommandsExplicitlyDisabled, a as listChatCommands, b as resolveNativeSkillsEnabled, c as listNativeCommandSpecsForConfig, d as parseCommandArgs, f as resolveCommandArgChoices, g as isCommandFlagEnabled, h as shouldHandleTextCommands, i as isCommandEnabled, l as maybeResolveTextAlias, m as serializeCommandArgs, o as listChatCommandsForConfig, p as resolveCommandArgMenu, r as findCommandByNativeName, s as listNativeCommandSpecs, t as buildCommandTextFromArgs, u as normalizeCommandBody, v as isRestartEnabled, y as resolveNativeCommandsEnabled } from "./commands-registry-nHQ9P8O0.js";
51
51
  import { i as AGENT_LANE_SUBAGENT, r as AGENT_LANE_NESTED, t as startUserSessionRun } from "./user-run-recording-CkVjgvr2.js";
52
52
  import { a as getGatewayInstanceId, n as deriveSessionRunId, o as resolveSessionRunStore, r as inferSessionRunKind, t as createSessionRunRecorder } from "./recorder-BHmAvEK3.js";
53
- import { a as clearDelayedReleaseHold, c as mergeDelayedAgentTurn, d as WORKSPACE_LANE_DENIED_REASON, f as KeyedAsyncQueue, i as agentTurnIdempotencyKey, l as peekDelayedAgentTurn, n as getAgentTurnRuntime, o as enqueueAgentTurn, r as tryGetAgentTurnRuntime, s as isClaimableAgentTurnWorkId, u as setDelayedReleaseHold } from "./agent-turn-runner-B9ZpICYG.js";
53
+ import { a as clearDelayedReleaseHold, c as mergeDelayedAgentTurn, d as WORKSPACE_LANE_DENIED_REASON, f as KeyedAsyncQueue, i as agentTurnIdempotencyKey, l as peekDelayedAgentTurn, n as getAgentTurnRuntime, o as enqueueAgentTurn, r as tryGetAgentTurnRuntime, s as isClaimableAgentTurnWorkId, u as setDelayedReleaseHold } from "./agent-turn-runner-CZilDjoa.js";
54
54
  import { c as getSkillsSnapshotVersion, i as resolveSkillCommandInvocation, l as pruneExpiredPending, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames, u as resolvePairingPaths } from "./skill-commands-B-ELxZrr.js";
55
- import { _ as endModelCall, a as isEmbeddedPiRunActive, b as onAgentEvent, d as handleMessageEnd, f as handleMessageStart, g as createInlineCodeState, h as buildCodeSpanIndex, i as endInFlightEmbeddedAttempt, l as setActiveEmbeddedRun, m as emitEmbeddedAgentEvent, n as beginInFlightEmbeddedAttempt, o as isEmbeddedPiRunStreaming, p as handleMessageUpdate, r as clearActiveEmbeddedRun, s as queueEmbeddedPiMessage, t as abortEmbeddedPiRun, u as waitForEmbeddedPiRunEnd, v as clearAgentRunContext, x as registerAgentRunContext, y as emitAgentEvent } from "./runs-DEhpITiC.js";
55
+ import { _ as endModelCall, a as isEmbeddedPiRunActive, b as onAgentEvent, d as handleMessageEnd, f as handleMessageStart, g as createInlineCodeState, h as buildCodeSpanIndex, i as endInFlightEmbeddedAttempt, l as setActiveEmbeddedRun, m as emitEmbeddedAgentEvent, n as beginInFlightEmbeddedAttempt, o as isEmbeddedPiRunStreaming, p as handleMessageUpdate, r as clearActiveEmbeddedRun, s as queueEmbeddedPiMessage, t as abortEmbeddedPiRun, u as waitForEmbeddedPiRunEnd, v as clearAgentRunContext, x as registerAgentRunContext, y as emitAgentEvent } from "./runs-Dar4NRlC.js";
56
56
  import { a as toInternalMessageReceivedContext, c as toPluginMessageReceivedEvent, d as resolveOutboundSessionId, i as toInternalMessagePreprocessedContext, l as fireAndForgetHook, n as createMessageSentEmitter, o as toInternalMessageTranscribedContext, r as deriveInboundMessageHookContext, s as toPluginMessageContext, t as applyMessageSendingHook, u as buildOutboundSessionContext } from "./outbound-message-hooks-BD3IsE3b.js";
57
- import { A as resolveReplyToMode, C as applyReplyThreading, D as shouldSuppressMessagingToolReplies, E as isRenderablePayload, M as normalizeChannelTargetInput, N as normalizeTargetForProvider, O as shouldSuppressReasoningPayload, S as applyReplyTagsToPayload, T as filterMessagingToolMediaDuplicates, _ as resolveContextTokensForModel, a as normalizeOutboundPayloadsForJson, b as readFullTranscriptEntriesFromBackend, c as loadCombinedSessionStoreForGateway, d as throwIfAborted, f as loadChannelOutboundAdapter, g as lookupContextTokens, h as stripLeadingInboundMetadata, i as normalizeOutboundPayloads, j as buildTargetResolverSignature, k as createReplyToModeFilterForChannel, l as capArrayByJsonBytes, m as extractToolCallNames, o as normalizeReplyPayloadsForDelivery, p as countToolResults, r as formatOutboundPayloadLog, s as stampReplyActivity, t as deliverOutboundPayloads, u as jsonUtf8Bytes, v as computeBackoff, w as filterMessagingToolDuplicates, x as transcriptEntriesToMessages, y as sleepWithAbort } from "./deliver-ItqNbpAj.js";
57
+ import { A as resolveReplyToMode, C as applyReplyThreading, D as shouldSuppressMessagingToolReplies, E as isRenderablePayload, M as normalizeChannelTargetInput, N as normalizeTargetForProvider, O as shouldSuppressReasoningPayload, S as applyReplyTagsToPayload, T as filterMessagingToolMediaDuplicates, _ as resolveContextTokensForModel, a as normalizeOutboundPayloadsForJson, b as readFullTranscriptEntriesFromBackend, c as loadCombinedSessionStoreForGateway, d as throwIfAborted, f as loadChannelOutboundAdapter, g as lookupContextTokens, h as stripLeadingInboundMetadata, i as normalizeOutboundPayloads, j as buildTargetResolverSignature, k as createReplyToModeFilterForChannel, l as capArrayByJsonBytes, m as extractToolCallNames, o as normalizeReplyPayloadsForDelivery, p as countToolResults, r as formatOutboundPayloadLog, s as stampReplyActivity, t as deliverOutboundPayloads, u as jsonUtf8Bytes, v as computeBackoff, w as filterMessagingToolDuplicates, x as transcriptEntriesToMessages, y as sleepWithAbort } from "./deliver-DGxrgy4y.js";
58
58
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-zzSsJdIe.js";
59
59
  import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-BNVTc8Bi.js";
60
60
  import { a as createDiscordRetryRunner, i as normalizePollInput, n as recordChannelActivity, t as getChannelActivity } from "./channel-activity-IUrxETF7.js";
@@ -89,7 +89,7 @@ import { EdgeTTS } from "node-edge-tts";
89
89
  import net from "node:net";
90
90
  import { createServer } from "node:http";
91
91
  import { ProxyAgent, fetch as fetch$1 } from "undici";
92
- import WebSocket, { WebSocket as WebSocket$1 } from "ws";
92
+ import WebSocket$1, { WebSocket } from "ws";
93
93
  import { Worker } from "node:worker_threads";
94
94
  import { createJiti } from "jiti";
95
95
  import { AsyncLocalStorage } from "node:async_hooks";
@@ -11463,7 +11463,7 @@ var GatewayClient = class {
11463
11463
  if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
11464
11464
  });
11465
11465
  }
11466
- this.ws = new WebSocket$1(url, wsOptions);
11466
+ this.ws = new WebSocket(url, wsOptions);
11467
11467
  this.ws.on("open", () => {
11468
11468
  if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
11469
11469
  const tlsError = this.validateTlsFingerprint();
@@ -11659,7 +11659,7 @@ var GatewayClient = class {
11659
11659
  const connectChallengeTimeoutMs = typeof rawConnectDelayMs === "number" && Number.isFinite(rawConnectDelayMs) ? Math.max(250, Math.min(1e4, rawConnectDelayMs)) : 2e3;
11660
11660
  if (this.connectTimer) clearTimeout(this.connectTimer);
11661
11661
  this.connectTimer = setTimeout(() => {
11662
- if (this.connectSent || this.ws?.readyState !== WebSocket$1.OPEN) return;
11662
+ if (this.connectSent || this.ws?.readyState !== WebSocket.OPEN) return;
11663
11663
  this.opts.onConnectError?.(/* @__PURE__ */ new Error("gateway connect challenge timeout"));
11664
11664
  this.ws?.close(1008, "connect challenge timeout");
11665
11665
  }, connectChallengeTimeoutMs);
@@ -11701,7 +11701,7 @@ var GatewayClient = class {
11701
11701
  return null;
11702
11702
  }
11703
11703
  async request(method, params, opts) {
11704
- if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error("gateway not connected");
11704
+ if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
11705
11705
  const id = randomUUID();
11706
11706
  const frame = {
11707
11707
  type: "req",
@@ -13176,7 +13176,7 @@ async function routeReply(params) {
13176
13176
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
13177
13177
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
13178
13178
  try {
13179
- const { deliverOutboundPayloads } = await import("./deliver-ItqNbpAj.js").then((n) => n.n);
13179
+ const { deliverOutboundPayloads } = await import("./deliver-DGxrgy4y.js").then((n) => n.n);
13180
13180
  const outboundSession = buildOutboundSessionContext({
13181
13181
  cfg,
13182
13182
  agentId: resolvedAgentId,
@@ -14734,7 +14734,7 @@ async function sendTranscriptEcho(params) {
14734
14734
  }
14735
14735
  const text = formatEchoTranscript(transcript, params.format ?? DEFAULT_ECHO_TRANSCRIPT_FORMAT);
14736
14736
  try {
14737
- const { deliverOutboundPayloads } = await import("./deliver-ItqNbpAj.js").then((n) => n.n);
14737
+ const { deliverOutboundPayloads } = await import("./deliver-DGxrgy4y.js").then((n) => n.n);
14738
14738
  await deliverOutboundPayloads({
14739
14739
  cfg,
14740
14740
  channel: normalizedChannel,
@@ -54879,7 +54879,7 @@ async function deliverSessionMaintenanceWarning(params) {
54879
54879
  return;
54880
54880
  }
54881
54881
  try {
54882
- const { deliverOutboundPayloads } = await import("./deliver-ItqNbpAj.js").then((n) => n.n);
54882
+ const { deliverOutboundPayloads } = await import("./deliver-DGxrgy4y.js").then((n) => n.n);
54883
54883
  const outboundSession = buildOutboundSessionContext({
54884
54884
  cfg: params.cfg,
54885
54885
  sessionKey: params.sessionKey
@@ -64579,7 +64579,7 @@ async function describeStickerImage(params) {
64579
64579
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
64580
64580
  try {
64581
64581
  const buffer = await fs.readFile(imagePath);
64582
- const { describeImageWithModel } = await import("./provider-image-Do7qMZhI.js").then((n) => n.n);
64582
+ const { describeImageWithModel } = await import("./provider-image-BZgdxPq1.js").then((n) => n.n);
64583
64583
  return (await describeImageWithModel({
64584
64584
  buffer,
64585
64585
  fileName: "sticker.webp",
@@ -66292,7 +66292,7 @@ async function resolveDiscordPreflightAudioMentionContext(params) {
66292
66292
  let transcript;
66293
66293
  let carry;
66294
66294
  if (needsPreflightTranscription) try {
66295
- const { transcribeFirstAudio } = await import("./audio-preflight-0IORdIpv.js");
66295
+ const { transcribeFirstAudio } = await import("./audio-preflight-CyoX7lif.js");
66296
66296
  const uploadable = audioAttachments.filter((att) => typeof att.url === "string" && att.url.length > 0);
66297
66297
  if (uploadable.length > 0) {
66298
66298
  const preflight = await transcribeFirstAudio({
@@ -73498,7 +73498,7 @@ function createDefaultDeps() {
73498
73498
  };
73499
73499
  },
73500
73500
  sendMessageTelegram: async (...args) => {
73501
- const { sendMessageTelegram } = await import("./send-C4CkAZXl.js").then((n) => n.l);
73501
+ const { sendMessageTelegram } = await import("./send-tEYUiTsj.js").then((n) => n.l);
73502
73502
  return await sendMessageTelegram(...args);
73503
73503
  },
73504
73504
  sendMessageDiscord: async (...args) => {
@@ -77063,7 +77063,7 @@ function createDiscordGatewayPlugin(params) {
77063
77063
  return super.registerClient(client);
77064
77064
  }
77065
77065
  createWebSocket(url) {
77066
- return new WebSocket(url, { agent: wsAgent });
77066
+ return new WebSocket$1(url, { agent: wsAgent });
77067
77067
  }
77068
77068
  }
77069
77069
  return new ProxyGatewayPlugin();
@@ -89428,7 +89428,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, replyMedia =
89428
89428
  let audioPreflightCarry;
89429
89429
  const audioConfigEnabled = cfg.tools?.media?.audio && cfg.tools.media.audio.enabled !== false;
89430
89430
  if (hasAudio && !hasUserText && !disableAudioPreflight && (isGroup && requireMention && mentionRegexes.length > 0 || audioConfigEnabled === true)) try {
89431
- const { transcribeFirstAudio } = await import("./audio-preflight-0IORdIpv.js");
89431
+ const { transcribeFirstAudio } = await import("./audio-preflight-CyoX7lif.js");
89432
89432
  const preflight = await transcribeFirstAudio({
89433
89433
  ctx: {
89434
89434
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -100541,7 +100541,7 @@ async function runBeforeToolCallHook(args) {
100541
100541
  const params = args.params;
100542
100542
  if (args.ctx?.sessionKey) {
100543
100543
  const { getDiagnosticSessionState } = await import("./diagnostic-session-state-evjvR-jF.js").then((n) => n.n);
100544
- const { logToolLoopAction } = await import("./diagnostic-BsxoGiFO.js").then((n) => n.n);
100544
+ const { logToolLoopAction } = await import("./diagnostic-f8CKHXWb.js").then((n) => n.n);
100545
100545
  const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-DBGpuGLw.js");
100546
100546
  const sessionState = getDiagnosticSessionState({
100547
100547
  sessionKey: args.ctx.sessionKey,
@@ -105656,7 +105656,7 @@ var OpenAIWebSocketManager = class extends EventEmitter {
105656
105656
  * Throws if the connection is not open.
105657
105657
  */
105658
105658
  send(event) {
105659
- if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error(`OpenAIWebSocketManager: cannot send — connection is not open (readyState=${this.ws?.readyState ?? "no socket"})`);
105659
+ if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error(`OpenAIWebSocketManager: cannot send — connection is not open (readyState=${this.ws?.readyState ?? "no socket"})`);
105660
105660
  this.ws.send(JSON.stringify(event));
105661
105661
  }
105662
105662
  /**
@@ -105673,7 +105673,7 @@ var OpenAIWebSocketManager = class extends EventEmitter {
105673
105673
  * Returns true if the WebSocket is currently open and ready to send.
105674
105674
  */
105675
105675
  isConnected() {
105676
- return this.ws !== null && this.ws.readyState === WebSocket.OPEN;
105676
+ return this.ws !== null && this.ws.readyState === WebSocket$1.OPEN;
105677
105677
  }
105678
105678
  /**
105679
105679
  * Permanently closes the WebSocket connection and disables auto-reconnect.
@@ -105683,7 +105683,7 @@ var OpenAIWebSocketManager = class extends EventEmitter {
105683
105683
  this._cancelRetryTimer();
105684
105684
  if (this.ws) {
105685
105685
  this.ws.removeAllListeners();
105686
- if (this.ws.readyState === WebSocket.OPEN || this.ws.readyState === WebSocket.CONNECTING) this.ws.close(1e3, "Client closed");
105686
+ if (this.ws.readyState === WebSocket$1.OPEN || this.ws.readyState === WebSocket$1.CONNECTING) this.ws.close(1e3, "Client closed");
105687
105687
  this.ws = null;
105688
105688
  }
105689
105689
  }
@@ -105693,7 +105693,7 @@ var OpenAIWebSocketManager = class extends EventEmitter {
105693
105693
  reject(/* @__PURE__ */ new Error("OpenAIWebSocketManager: apiKey is required before connecting."));
105694
105694
  return;
105695
105695
  }
105696
- const socket = new WebSocket(this.wsUrl, { headers: {
105696
+ const socket = new WebSocket$1(this.wsUrl, { headers: {
105697
105697
  Authorization: `Bearer ${this.apiKey}`,
105698
105698
  "OpenAI-Beta": "responses-websocket=v1"
105699
105699
  } });
@@ -1,6 +1,6 @@
1
- import { lt as shortenHomeInString } from "./subsystem-Bv4j-uIg.js";
2
- import { n as redactToolDetail } from "./redact-CO0RqVMz.js";
3
- import { I as sanitizeUserFacingText, t as extractTextFromChatContent } from "./chat-content-D9t717tu.js";
1
+ import { lt as shortenHomeInString } from "./subsystem-D_zHSy02.js";
2
+ import { n as redactToolDetail } from "./redact-CteA3IBL.js";
3
+ import { I as sanitizeUserFacingText, t as extractTextFromChatContent } from "./chat-content-CjKyPXfO.js";
4
4
 
5
5
  //#region src/shared/text/code-regions.ts
6
6
  function findCodeRegions(text) {
@@ -1,6 +1,6 @@
1
1
  import { lt as shortenHomeInString } from "./subsystem-BaT-AAVZ.js";
2
2
  import { n as redactToolDetail } from "./redact-CpxuujTJ.js";
3
- import { I as sanitizeUserFacingText, t as extractTextFromChatContent } from "./chat-content-CF94bdqd.js";
3
+ import { I as sanitizeUserFacingText, t as extractTextFromChatContent } from "./chat-content-Dp_TK_pI.js";
4
4
 
5
5
  //#region src/shared/text/code-regions.ts
6
6
  function findCodeRegions(text) {
@@ -1,7 +1,7 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { c as normalizeProviderId, pa as ensureAuthProfileStore } from "./model-selection-CYypdqr8.js";
2
+ import { c as normalizeProviderId, pa as ensureAuthProfileStore } from "./model-selection-BTxcwzNF.js";
3
3
  import path from "node:path";
4
- import fs from "node:fs";
4
+ import syncFs from "node:fs";
5
5
  import * as PiCodingAgent from "@mariozechner/pi-coding-agent";
6
6
 
7
7
  //#region src/agents/pi-auth-credentials.ts
@@ -70,10 +70,10 @@ function isRecord(value) {
70
70
  }
71
71
  function scrubLegacyStaticAuthJsonEntries(pathname) {
72
72
  if (process.env.OPENCLAW_AUTH_STORE_READONLY === "1") return;
73
- if (!fs.existsSync(pathname)) return;
73
+ if (!syncFs.existsSync(pathname)) return;
74
74
  let parsed;
75
75
  try {
76
- parsed = JSON.parse(fs.readFileSync(pathname, "utf8"));
76
+ parsed = JSON.parse(syncFs.readFileSync(pathname, "utf8"));
77
77
  } catch {
78
78
  return;
79
79
  }
@@ -87,11 +87,11 @@ function scrubLegacyStaticAuthJsonEntries(pathname) {
87
87
  }
88
88
  if (!changed) return;
89
89
  if (Object.keys(parsed).length === 0) {
90
- fs.rmSync(pathname, { force: true });
90
+ syncFs.rmSync(pathname, { force: true });
91
91
  return;
92
92
  }
93
- fs.writeFileSync(pathname, `${JSON.stringify(parsed, null, 2)}\n`, "utf8");
94
- fs.chmodSync(pathname, 384);
93
+ syncFs.writeFileSync(pathname, `${JSON.stringify(parsed, null, 2)}\n`, "utf8");
94
+ syncFs.chmodSync(pathname, 384);
95
95
  }
96
96
  function createAuthStorage(AuthStorageLike, path, creds) {
97
97
  const withInMemory = AuthStorageLike;
@@ -7,14 +7,14 @@ import "./logger-DyKgSZpY.js";
7
7
  import "./github-copilot-token-0cZptJ8H.js";
8
8
  import "./send-DsyNNw-J.js";
9
9
  import "./send-BVzWcBy5.js";
10
- import { E as runMainAgentTurn } from "./tools-joKDe6rw.js";
10
+ import { E as runMainAgentTurn } from "./tools-Bigk4qN-.js";
11
11
  import "./diagnostic-events-CDas3Sai.js";
12
- import "./pi-embedded-helpers-21OqohWy.js";
12
+ import "./pi-embedded-helpers-D5vYvfne.js";
13
13
  import "./sessions-CFMEF10g.js";
14
14
  import "./models-config-bevplTXy.js";
15
- import "./audio-transcription-runner-reKaz0zD.js";
16
- import "./pi-embedded-utils-BW2p1kKO.js";
17
- import "./chrome-WLpY6l2E.js";
15
+ import "./audio-transcription-runner-CmY7S8fK.js";
16
+ import "./pi-embedded-utils-CGDgVtzV.js";
17
+ import "./chrome-6h5M_drY.js";
18
18
  import "./skills-CmNwG5iX.js";
19
19
  import "./path-alias-guards-BCIRwyTT.js";
20
20
  import "./redact-D8RbIpnX.js";
@@ -23,24 +23,24 @@ import "./fs-safe-B5q3Ro0t.js";
23
23
  import "./image-ops-lNv6k6vi.js";
24
24
  import "./store-BEgp7Nmc.js";
25
25
  import "./thinking-BUbh2qQQ.js";
26
- import "./provider-image-B68yYRAm.js";
26
+ import "./provider-image-Df0uD0Oe.js";
27
27
  import "./fetch-CmfHUeho.js";
28
28
  import "./fetch-guard-DNDzAy-f.js";
29
29
  import "./proxy-fetch-BU0BahZR.js";
30
30
  import "./api-key-rotation-3YQyVYAQ.js";
31
31
  import "./pi-model-discovery-BauIBkM-.js";
32
- import "./send-Zxl5JOn5.js";
32
+ import "./send-BqbtJqgu.js";
33
33
  import "./tokens-C7h_latl.js";
34
- import "./diagnostic-RXIEvDQf.js";
34
+ import "./diagnostic-DRY8-0JL.js";
35
35
  import "./diagnostic-session-state-Cg64nmPa.js";
36
- import "./command-queue-CAp1zb7F.js";
36
+ import "./command-queue-DIuk1L2E.js";
37
37
  import "./recorder-aLKvue8c.js";
38
38
  import "./skill-commands-CUnQmtx_.js";
39
- import "./agent-turn-runner-BJKm0xiy.js";
40
- import "./runs-5hM5yurH.js";
39
+ import "./agent-turn-runner-Cn8kBLTA.js";
40
+ import "./runs-BASRXkuM.js";
41
41
  import "./reply-prefix-Dtmltov4.js";
42
42
  import "./outbound-message-hooks-BiHoftNO.js";
43
- import "./deliver-DlvbM-qn.js";
43
+ import "./deliver-C9GFYFwr.js";
44
44
  import "./commands-registry-B5q9mz7p.js";
45
45
  import "./user-run-recording-WSU2BYNz.js";
46
46
  import "./fetch-CapPbb6b.js";
@@ -184,7 +184,7 @@ function mergeDelayedAgentTurn(sessionKey, matches, merge) {
184
184
  return true;
185
185
  }
186
186
  async function defaultExecute(claim) {
187
- const { runMainAgentTurn } = await import("./agent-turn-execute-R1HDfkzv.js");
187
+ const { runMainAgentTurn } = await import("./agent-turn-execute-5UY7VtoM.js");
188
188
  return runMainAgentTurn(claim.message.payload);
189
189
  }
190
190
  async function armIdleWaiter(sessionKey, backbone, opts) {
@@ -196,7 +196,7 @@ async function armIdleWaiter(sessionKey, backbone, opts) {
196
196
  startedAt: opts?.startedAt ?? Date.now()
197
197
  };
198
198
  waiters.set(sessionKey, handle);
199
- const { getQueueSize } = await import("./command-queue-CAp1zb7F.js").then((n) => n.r);
199
+ const { getQueueSize } = await import("./command-queue-DIuk1L2E.js").then((n) => n.r);
200
200
  if (handle.cancelled || closing) return;
201
201
  const release = (force = false) => {
202
202
  releaseDelayedAgentTurns(backboneBySession.get(sessionKey) ?? backbone, sessionKey, force ? { force: true } : void 0);
@@ -218,7 +218,7 @@ async function armIdleWaiter(sessionKey, backbone, opts) {
218
218
  }
219
219
  async function enqueueAgentTurn(backbone, payload, opts) {
220
220
  if (!payload.jobId.trim() || !payload.runId.trim()) throw new Error("agent-turn enqueue requires jobId and runId");
221
- const isBusy = opts?.isSessionBusy ? opts.isSessionBusy() : (await import("./command-queue-CAp1zb7F.js").then((n) => n.r)).getQueueSize(CommandLane.Main) > 0;
221
+ const isBusy = opts?.isSessionBusy ? opts.isSessionBusy() : (await import("./command-queue-DIuk1L2E.js").then((n) => n.r)).getQueueSize(CommandLane.Main) > 0;
222
222
  const policy = payload.busy ?? "skip";
223
223
  const id = agentTurnIdempotencyKey(payload);
224
224
  if (isBusy && policy === "skip") return `${id}:skipped`;
@@ -281,7 +281,7 @@ async function releaseDelayedAgentTurnsInternal(backbone, sessionKey, opts) {
281
281
  }
282
282
  });
283
283
  if (payload.kind === "announce" && outcome.ok && outcome.delivery?.reason === WORKSPACE_LANE_DENIED_REASON) {
284
- const { markSubagentAnnounceDenied } = await import("./subagent-registry-Y727Of1U.js");
284
+ const { markSubagentAnnounceDenied } = await import("./subagent-registry-GgT4DYT1.js");
285
285
  await markSubagentAnnounceDenied(payload.runId, payload.mergedRunIds);
286
286
  }
287
287
  releaseSucceeded = outcome.ok;
@@ -6,12 +6,12 @@ import "./agent-scope-DwEowelt.js";
6
6
  import "./logger-DyKgSZpY.js";
7
7
  import "./github-copilot-token-0cZptJ8H.js";
8
8
  import "./diagnostic-events-CDas3Sai.js";
9
- import "./pi-embedded-helpers-21OqohWy.js";
9
+ import "./pi-embedded-helpers-D5vYvfne.js";
10
10
  import "./sessions-CFMEF10g.js";
11
11
  import "./models-config-bevplTXy.js";
12
- import { b as isAudioAttachment, g as listAudioAttachments, h as findCarriedTranscript, i as normalizeMediaAttachments, m as audioOrdinalOf, o as resolveMediaAttachmentLocalRoots, t as runAudioTranscription } from "./audio-transcription-runner-reKaz0zD.js";
13
- import "./pi-embedded-utils-BW2p1kKO.js";
14
- import "./chrome-WLpY6l2E.js";
12
+ import { b as isAudioAttachment, g as listAudioAttachments, h as findCarriedTranscript, i as normalizeMediaAttachments, m as audioOrdinalOf, o as resolveMediaAttachmentLocalRoots, t as runAudioTranscription } from "./audio-transcription-runner-CmY7S8fK.js";
13
+ import "./pi-embedded-utils-CGDgVtzV.js";
14
+ import "./chrome-6h5M_drY.js";
15
15
  import "./skills-CmNwG5iX.js";
16
16
  import "./path-alias-guards-BCIRwyTT.js";
17
17
  import "./redact-D8RbIpnX.js";
@@ -20,7 +20,7 @@ import "./fs-safe-B5q3Ro0t.js";
20
20
  import "./image-ops-lNv6k6vi.js";
21
21
  import "./store-BEgp7Nmc.js";
22
22
  import "./thinking-BUbh2qQQ.js";
23
- import "./provider-image-B68yYRAm.js";
23
+ import "./provider-image-Df0uD0Oe.js";
24
24
  import "./fetch-CmfHUeho.js";
25
25
  import "./fetch-guard-DNDzAy-f.js";
26
26
  import "./proxy-fetch-BU0BahZR.js";
@@ -5,7 +5,7 @@ import { n as normalizeChatType } from "./conversation-label-DA_qUFFI.js";
5
5
  import { t as resolveNetworkSsrFPolicy } from "./ssrf-config-CukeRixQ.js";
6
6
  import { t as ensureOpenClawModelsJson } from "./models-config-bevplTXy.js";
7
7
  import { c as detectMime, f as isAudioFileName, h as normalizeMimeType, m as kindFromMime, u as getFileExtension } from "./image-ops-lNv6k6vi.js";
8
- import { o as resolveProviderVisionModelFromConfig, t as describeImageWithModel } from "./provider-image-B68yYRAm.js";
8
+ import { o as resolveProviderVisionModelFromConfig, t as describeImageWithModel } from "./provider-image-Df0uD0Oe.js";
9
9
  import { a as getDefaultMediaLocalRoots, n as fetchRemoteMedia, t as MediaFetchError } from "./fetch-CmfHUeho.js";
10
10
  import { n as fetchWithTimeout } from "./fetch-timeout-CQvBE4GN.js";
11
11
  import { t as fetchWithSsrFGuard } from "./fetch-guard-DNDzAy-f.js";
@@ -12,7 +12,7 @@ import { execFileSync, spawn } from "node:child_process";
12
12
  import net from "node:net";
13
13
  import http, { createServer } from "node:http";
14
14
  import https from "node:https";
15
- import WebSocket, { WebSocketServer } from "ws";
15
+ import WebSocket$1, { WebSocketServer } from "ws";
16
16
  import { Buffer as Buffer$1 } from "node:buffer";
17
17
 
18
18
  //#region src/browser/constants.ts
@@ -648,7 +648,7 @@ async function ensureChromeExtensionRelayServer(opts) {
648
648
  let extensionWs = null;
649
649
  const cdpClients = /* @__PURE__ */ new Set();
650
650
  const connectedTargets = /* @__PURE__ */ new Map();
651
- const extensionConnected = () => extensionWs?.readyState === WebSocket.OPEN;
651
+ const extensionConnected = () => extensionWs?.readyState === WebSocket$1.OPEN;
652
652
  const hasConnectedTargets = () => connectedTargets.size > 0;
653
653
  let extensionDisconnectCleanupTimer = null;
654
654
  const extensionReconnectWaiters = /* @__PURE__ */ new Set();
@@ -700,7 +700,7 @@ async function ensureChromeExtensionRelayServer(opts) {
700
700
  let nextExtensionId = 1;
701
701
  const sendToExtension = async (payload) => {
702
702
  const ws = extensionWs;
703
- if (!ws || ws.readyState !== WebSocket.OPEN) throw new Error("Chrome extension not connected");
703
+ if (!ws || ws.readyState !== WebSocket$1.OPEN) throw new Error("Chrome extension not connected");
704
704
  ws.send(JSON.stringify(payload));
705
705
  return await new Promise((resolve, reject) => {
706
706
  const timer = setTimeout(() => {
@@ -717,12 +717,12 @@ async function ensureChromeExtensionRelayServer(opts) {
717
717
  const broadcastToCdpClients = (evt) => {
718
718
  const msg = JSON.stringify(evt);
719
719
  for (const ws of cdpClients) {
720
- if (ws.readyState !== WebSocket.OPEN) continue;
720
+ if (ws.readyState !== WebSocket$1.OPEN) continue;
721
721
  ws.send(msg);
722
722
  }
723
723
  };
724
724
  const sendResponseToCdp = (ws, res) => {
725
- if (ws.readyState !== WebSocket.OPEN) return;
725
+ if (ws.readyState !== WebSocket$1.OPEN) return;
726
726
  ws.send(JSON.stringify(res));
727
727
  };
728
728
  const dropConnectedTargetSession = (sessionId) => {
@@ -976,7 +976,7 @@ async function ensureChromeExtensionRelayServer(opts) {
976
976
  rejectUpgrade(socket, 401, "Unauthorized");
977
977
  return;
978
978
  }
979
- if (extensionWs && extensionWs.readyState !== WebSocket.OPEN) {
979
+ if (extensionWs && extensionWs.readyState !== WebSocket$1.OPEN) {
980
980
  try {
981
981
  extensionWs.terminate();
982
982
  } catch {}
@@ -1009,7 +1009,7 @@ async function ensureChromeExtensionRelayServer(opts) {
1009
1009
  clearExtensionDisconnectCleanupTimer();
1010
1010
  flushExtensionReconnectWaiters(true);
1011
1011
  const ping = setInterval(() => {
1012
- if (ws.readyState !== WebSocket.OPEN) return;
1012
+ if (ws.readyState !== WebSocket$1.OPEN) return;
1013
1013
  ws.send(JSON.stringify({ method: "ping" }));
1014
1014
  }, 5e3);
1015
1015
  ws.on("message", (data) => {
@@ -1365,7 +1365,7 @@ function openCdpWebSocket(wsUrl, opts) {
1365
1365
  const headers = getHeadersWithAuth(wsUrl, opts?.headers ?? {});
1366
1366
  const handshakeTimeoutMs = typeof opts?.handshakeTimeoutMs === "number" && Number.isFinite(opts.handshakeTimeoutMs) ? Math.max(1, Math.floor(opts.handshakeTimeoutMs)) : CDP_WS_HANDSHAKE_TIMEOUT_MS;
1367
1367
  const agent = getDirectAgentForCdp(wsUrl);
1368
- return new WebSocket(wsUrl, {
1368
+ return new WebSocket$1(wsUrl, {
1369
1369
  handshakeTimeout: handshakeTimeoutMs,
1370
1370
  ...Object.keys(headers).length ? { headers } : {},
1371
1371
  ...agent ? { agent } : {}
@@ -1,5 +1,5 @@
1
1
  import { f as __exportAll } from "./proxy-env-DazXaKjU.js";
2
- import { a as logLaneTaskCompleted, i as logLaneEnqueue, r as logLaneDequeue, t as diag } from "./diagnostic-RXIEvDQf.js";
2
+ import { a as logLaneTaskCompleted, i as logLaneEnqueue, r as logLaneDequeue, t as diag } from "./diagnostic-DRY8-0JL.js";
3
3
  import { t as CommandLane } from "./lanes-B3Md-s7F.js";
4
4
 
5
5
  //#region src/process/command-queue.ts
@@ -2,7 +2,7 @@ import { $ as getChannelPlugin, Ii as getActivePluginRegistry, N as updateSessio
2
2
  import { l as resolveStateDir } from "./paths-BIDPYPVC.js";
3
3
  import { t as createSubsystemLogger } from "./subsystem-C4zZI3bH.js";
4
4
  import { G as normalizeAgentId, K as normalizeMainKey, c as resolveDefaultAgentId, dt as parseAgentSessionKey, nt as normalizeOptionalAccountId, tt as normalizeAccountId } from "./agent-scope-DwEowelt.js";
5
- import { i as isMessagingToolDuplicate, rt as extractTextFromChatContent } from "./pi-embedded-helpers-21OqohWy.js";
5
+ import { i as isMessagingToolDuplicate, rt as extractTextFromChatContent } from "./pi-embedded-helpers-D5vYvfne.js";
6
6
  import { a as resolveMirroredTranscriptText, ft as getGlobalHookRunner, i as appendAssistantMessageToSessionTranscript, lt as resolveMainSessionKey, ot as canonicalizeMainSessionAlias, x as parseInlineDirectives, y as eventOrder } from "./sessions-CFMEF10g.js";
7
7
  import { t as ensureOpenClawModelsJson } from "./models-config-bevplTXy.js";
8
8
  import { o as hasErrnoCode } from "./errors-CJaXhYu_.js";
@@ -6,10 +6,10 @@ import "./agent-scope-DwEowelt.js";
6
6
  import "./logger-DyKgSZpY.js";
7
7
  import "./github-copilot-token-0cZptJ8H.js";
8
8
  import "./diagnostic-events-CDas3Sai.js";
9
- import "./pi-embedded-helpers-21OqohWy.js";
9
+ import "./pi-embedded-helpers-D5vYvfne.js";
10
10
  import "./sessions-CFMEF10g.js";
11
11
  import "./models-config-bevplTXy.js";
12
- import "./chrome-WLpY6l2E.js";
12
+ import "./chrome-6h5M_drY.js";
13
13
  import "./skills-CmNwG5iX.js";
14
14
  import "./path-alias-guards-BCIRwyTT.js";
15
15
  import "./redact-D8RbIpnX.js";
@@ -23,7 +23,7 @@ import "./fetch-guard-DNDzAy-f.js";
23
23
  import "./proxy-fetch-BU0BahZR.js";
24
24
  import "./tokens-C7h_latl.js";
25
25
  import "./outbound-message-hooks-BiHoftNO.js";
26
- import { r as normalizeOutboundPayloads, t as deliverOutboundPayloads } from "./deliver-DlvbM-qn.js";
26
+ import { r as normalizeOutboundPayloads, t as deliverOutboundPayloads } from "./deliver-C9GFYFwr.js";
27
27
  import "./fetch-CapPbb6b.js";
28
28
  import "./ir-CIRTCy8w.js";
29
29
  import "./chunk-BPGs9hLM.js";
@@ -837,7 +837,7 @@ function startDiagnosticHeartbeat(config) {
837
837
  if (ageMs > stuckSessionAbortMs && state.queueDepth > 0 && !state.capturedEnd && !state.abortDispatched && state.sessionId) {
838
838
  state.abortDispatched = true;
839
839
  diag.warn(`stuck-session abort: sessionId=${state.sessionId} progressAge=${Math.round(ageMs / 1e3)}s threshold=${Math.round(stuckSessionAbortMs / 1e3)}s queueDepth=${state.queueDepth}`);
840
- import("./runs-DvLuGamE.js").then(({ abortEmbeddedPiRun }) => {
840
+ import("./runs-yMaO6qGS.js").then(({ abortEmbeddedPiRun }) => {
841
841
  if (state.sessionId && state.abortDispatched) abortEmbeddedPiRun(state.sessionId);
842
842
  }).catch((err) => {
843
843
  diag.warn(`stuck-session abort import failed: ${String(err)}`);
@@ -5,7 +5,7 @@ import { E as truncateUtf16Safe, Z as openBoundaryFile, b as resolveUserPath, nt
5
5
  import { D as runExec, G as normalizeAgentId, _ as DEFAULT_IDENTITY_FILENAME, b as DEFAULT_USER_FILENAME, d as resolveSessionAgentId, g as DEFAULT_HEARTBEAT_FILENAME, h as DEFAULT_BOOTSTRAP_FILENAME, m as DEFAULT_AGENT_WORKSPACE_DIR, p as DEFAULT_AGENTS_FILENAME, q as resolveAgentIdFromSessionKey, r as resolveAgentConfig, v as DEFAULT_SOUL_FILENAME, x as ensureAgentWorkspace, y as DEFAULT_TOOLS_FILENAME } from "./agent-scope-DwEowelt.js";
6
6
  import { m as sanitizeToolCallIdsForCloudCodeAssist, ot as canonicalizeMainSessionAlias, st as resolveAgentMainSessionKey } from "./sessions-CFMEF10g.js";
7
7
  import { t as resolveNetworkSsrFPolicy } from "./ssrf-config-CukeRixQ.js";
8
- import { C as ensureChromeExtensionRelayServer, D as PROFILE_POST_RESTART_WS_TIMEOUT_MS, E as PROFILE_ATTACH_RETRY_TIMEOUT_MS, G as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, H as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, I as resolveWritablePathWithinRoot, J as DEFAULT_OPENCLAW_BROWSER_ENABLED, K as DEFAULT_BROWSER_EVALUATE_ENABLED, M as DEFAULT_TRACE_DIR, N as DEFAULT_UPLOAD_DIR, O as resolveCdpReachabilityTimeouts, P as resolveExistingPathsWithinRoot, R as normalizeBrowserFormField, T as CDP_JSON_NEW_TIMEOUT_MS, U as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, W as DEFAULT_AI_SNAPSHOT_MAX_CHARS, Y as DEFAULT_OPENCLAW_BROWSER_PROFILE_NAME, _ as withBrowserNavigationPolicy, a as resolveOpenClawUserDataDir, b as fetchOk, c as resolveBrowserExecutableForPlatform, f as normalizeCdpWsUrl, g as assertBrowserNavigationResultAllowed, h as assertBrowserNavigationAllowed, i as launchOpenClawChrome, j as DEFAULT_DOWNLOAD_DIR, l as captureScreenshot, m as InvalidBrowserNavigationUrlError, n as isChromeCdpReady, o as stopOpenClawChrome, p as snapshotAria, q as DEFAULT_OPENCLAW_BROWSER_COLOR, r as isChromeReachable, u as createTargetViaCdp, v as appendCdpPath, w as stopChromeExtensionRelayServer, y as fetchJson, z as isLoopbackHost } from "./chrome-WLpY6l2E.js";
8
+ import { C as ensureChromeExtensionRelayServer, D as PROFILE_POST_RESTART_WS_TIMEOUT_MS, E as PROFILE_ATTACH_RETRY_TIMEOUT_MS, G as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, H as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, I as resolveWritablePathWithinRoot, J as DEFAULT_OPENCLAW_BROWSER_ENABLED, K as DEFAULT_BROWSER_EVALUATE_ENABLED, M as DEFAULT_TRACE_DIR, N as DEFAULT_UPLOAD_DIR, O as resolveCdpReachabilityTimeouts, P as resolveExistingPathsWithinRoot, R as normalizeBrowserFormField, T as CDP_JSON_NEW_TIMEOUT_MS, U as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, W as DEFAULT_AI_SNAPSHOT_MAX_CHARS, Y as DEFAULT_OPENCLAW_BROWSER_PROFILE_NAME, _ as withBrowserNavigationPolicy, a as resolveOpenClawUserDataDir, b as fetchOk, c as resolveBrowserExecutableForPlatform, f as normalizeCdpWsUrl, g as assertBrowserNavigationResultAllowed, h as assertBrowserNavigationAllowed, i as launchOpenClawChrome, j as DEFAULT_DOWNLOAD_DIR, l as captureScreenshot, m as InvalidBrowserNavigationUrlError, n as isChromeCdpReady, o as stopOpenClawChrome, p as snapshotAria, q as DEFAULT_OPENCLAW_BROWSER_COLOR, r as isChromeReachable, u as createTargetViaCdp, v as appendCdpPath, w as stopChromeExtensionRelayServer, y as fetchJson, z as isLoopbackHost } from "./chrome-6h5M_drY.js";
9
9
  import { d as resolveSandboxPath, h as sanitizeEnvVars, o as syncSkillsToWorkspace, u as resolveSandboxInputPath } from "./skills-CmNwG5iX.js";
10
10
  import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-BCIRwyTT.js";
11
11
  import { i as formatErrorMessage, n as extractErrorCode } from "./errors-CJaXhYu_.js";
@@ -1289,7 +1289,7 @@ function isModuleNotFoundError(err) {
1289
1289
  }
1290
1290
  async function loadPwAiModule(mode) {
1291
1291
  try {
1292
- return await import("./pw-ai-CSRaN1ac.js");
1292
+ return await import("./pw-ai-DMALp-EA.js");
1293
1293
  } catch (err) {
1294
1294
  if (mode === "soft") return null;
1295
1295
  if (isModuleNotFoundError(err)) return null;
@@ -3654,7 +3654,7 @@ function createProfileAvailability({ opts, profile, state, getProfileState, setP
3654
3654
  //#region src/browser/server-context.reset.ts
3655
3655
  async function closePlaywrightBrowserConnection() {
3656
3656
  try {
3657
- await (await import("./pw-ai-CSRaN1ac.js")).closePlaywrightBrowserConnection();
3657
+ await (await import("./pw-ai-DMALp-EA.js")).closePlaywrightBrowserConnection();
3658
3658
  } catch {}
3659
3659
  }
3660
3660
  function createProfileResetOps({ profile, getProfileState, stopRunningBrowser, isHttpReachable, resolveOpenClawUserDataDir }) {
@@ -1,5 +1,5 @@
1
1
  import { S as shortenHomeInString } from "./subsystem-C4zZI3bH.js";
2
- import { F as sanitizeUserFacingText, rt as extractTextFromChatContent } from "./pi-embedded-helpers-21OqohWy.js";
2
+ import { F as sanitizeUserFacingText, rt as extractTextFromChatContent } from "./pi-embedded-helpers-D5vYvfne.js";
3
3
  import { n as redactToolDetail } from "./redact-D8RbIpnX.js";
4
4
 
5
5
  //#region src/shared/text/code-regions.ts