@bitseek/claw 1.3.7 → 1.3.8-beta.1

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 (172) hide show
  1. package/dist/{agents-BqONdWNu.js → agents-4yiCX5vO.js} +4 -4
  2. package/dist/{agents.config-2cTTTDPj.js → agents.config-C26BMyOA.js} +1 -1
  3. package/dist/{agents.config-DhIvFsFv.js → agents.config-C4xJzUcO.js} +1 -1
  4. package/dist/{auth-choice-D6WGnKQk.js → auth-choice-Cpai95xS.js} +1 -1
  5. package/dist/{auth-choice-lhaABxGx.js → auth-choice-D9W2yx7x.js} +1 -1
  6. package/dist/{banner-CMCfl-_K.js → banner-DtaJorEc.js} +1 -1
  7. package/dist/build-info.json +2 -2
  8. package/dist/bundled/boot-md/handler.js +1 -1
  9. package/dist/bundled/session-memory/handler.js +1 -1
  10. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  11. package/dist/{channel-options-gDhT85r4.js → channel-options-D3Ck-1W2.js} +1 -1
  12. package/dist/{channel-options-Didnr81h.js → channel-options-DffMDeTp.js} +1 -1
  13. package/dist/{channel-web-C45x6ahP.js → channel-web-BB66exAr.js} +1 -1
  14. package/dist/{channel-web-rP0VBNIt.js → channel-web-zni8DLt7.js} +1 -1
  15. package/dist/{channels-cli-CZQbGl-H.js → channels-cli-D_gj850i.js} +6 -6
  16. package/dist/{channels-cli-BpiA2BQE.js → channels-cli-IQCAixeN.js} +6 -6
  17. package/dist/{cli-Cvdtw0CY.js → cli-BlPS7kZ9.js} +1 -1
  18. package/dist/{cli-D5yg1LCm.js → cli-CrgfzbyT.js} +1 -1
  19. package/dist/{command-registry-CtTmCFgA.js → command-registry-CjTwwZuF.js} +10 -10
  20. package/dist/{completion-cli-wYWbi5wA.js → completion-cli-CgjnsXtn.js} +1 -1
  21. package/dist/{completion-cli-D_Hxee-R.js → completion-cli-Clj1_156.js} +2 -2
  22. package/dist/{config-cli-C-yIXgGr.js → config-cli-CE1eTqAM.js} +1 -1
  23. package/dist/{config-cli-BtvOIDkG.js → config-cli-DwKVeQtE.js} +1 -1
  24. package/dist/{configure-DflayaB2.js → configure-BCUvl2Zf.js} +3 -3
  25. package/dist/{configure-CgbTpfrx.js → configure-D2KyFnr8.js} +3 -3
  26. package/dist/{doctor-completion-BYgrEW3s.js → doctor-completion-BoZbJ2cC.js} +1 -1
  27. package/dist/{doctor-completion-Bai361_Y.js → doctor-completion-CACrVkvp.js} +1 -1
  28. package/dist/entry.js +2 -2
  29. package/dist/extensionAPI.js +1 -1
  30. package/dist/{gateway-cli-C3ftrrlK.js → gateway-cli-BUFxEad5.js} +8 -8
  31. package/dist/{gateway-cli-CBGutU8q.js → gateway-cli-D9mIlXNc.js} +8 -8
  32. package/dist/{health-Gkd0akfz.js → health-Cjj_F37M.js} +1 -1
  33. package/dist/{health-DaN3xECS.js → health-CpbNiL9A.js} +1 -1
  34. package/dist/{hooks-cli-gRM8FMyG.js → hooks-cli-C0lC4Kj0.js} +2 -2
  35. package/dist/{hooks-cli-n5Weiheq.js → hooks-cli-DRkHJxMs.js} +2 -2
  36. package/dist/index.js +6 -6
  37. package/dist/llm-slug-generator.js +1 -1
  38. package/dist/{models-CJodAVSF.js → models-De_qVfBK.js} +2 -2
  39. package/dist/{models-cli-B1Dwj01V.js → models-cli-By7lFchJ.js} +2 -2
  40. package/dist/{models-cli-Ceb37L0t.js → models-cli-aJswKT_o.js} +3 -3
  41. package/dist/{npm-resolution-B5fqS6mO.js → npm-resolution-BiJCUhct.js} +1 -1
  42. package/dist/{npm-resolution-dNC8uD0I.js → npm-resolution-Ez_78UD2.js} +1 -1
  43. package/dist/{onboard-CI1TyO0l.js → onboard-CIrRD9vz.js} +2 -2
  44. package/dist/{onboard-C0Bo_5Vw.js → onboard-DQJ6ZB5N.js} +2 -2
  45. package/dist/{onboard-channels-DPIysHDh.js → onboard-channels-AbBziYo3.js} +1 -1
  46. package/dist/{onboard-channels-DQ1rkv4c.js → onboard-channels-yslMqzIm.js} +1 -1
  47. package/dist/{onboarding-DjOCmNCk.js → onboarding-CIsQzEx6.js} +3 -3
  48. package/dist/{onboarding-DufCP2B8.js → onboarding-exdNo-8e.js} +3 -3
  49. package/dist/{onboarding.finalize-C7iEnG3X.js → onboarding.finalize-BqpH39L7.js} +5 -5
  50. package/dist/{onboarding.finalize-BI2feWXN.js → onboarding.finalize-spYqvVP0.js} +6 -6
  51. package/dist/{pi-embedded-cmJctBve.js → pi-embedded-BW8O-Z_R.js} +109 -15
  52. package/dist/{pi-embedded-BQqt592d.js → pi-embedded-DLrpQftt.js} +109 -15
  53. package/dist/{plugin-registry-NaHPDM1s.js → plugin-registry-CgjiDSJy.js} +1 -1
  54. package/dist/{plugin-registry-2CmN8Jv2.js → plugin-registry-DXEjCmXY.js} +1 -1
  55. package/dist/plugin-sdk/{accounts-AbI8uETR.js → accounts-BZrkOo6-.js} +1 -1
  56. package/dist/plugin-sdk/{accounts-4WE2wtsW.js → accounts-COLYAAOx.js} +1 -1
  57. package/dist/plugin-sdk/{accounts-BYcizTXn.js → accounts-D_pT5EjF.js} +3 -3
  58. package/dist/plugin-sdk/{active-listener-pnqLAUOh.js → active-listener-DxBXcWm_.js} +1 -1
  59. package/dist/plugin-sdk/{agent-scope-_j3fIYCK.js → agent-scope-DT5pxpJB.js} +3 -3
  60. package/dist/plugin-sdk/agents/pi-tools.read.d.ts +1 -0
  61. package/dist/plugin-sdk/{api-key-rotation-CYI51U_M.js → api-key-rotation-Dl6Ad7Nj.js} +2 -2
  62. package/dist/plugin-sdk/{audio-preflight-D8BVTHCB.js → audio-preflight-PGsiEosa.js} +33 -33
  63. package/dist/plugin-sdk/{audio-transcription-runner-CRpY5uDq.js → audio-transcription-runner-CooPnqtC.js} +10 -10
  64. package/dist/plugin-sdk/{bindings-CxxzC7gn.js → bindings-BSfhEjKN.js} +2 -2
  65. package/dist/plugin-sdk/{channel-activity-B3yZ-f-m.js → channel-activity-DAEbma-o.js} +3 -3
  66. package/dist/plugin-sdk/{channel-web-BgnipXq5.js → channel-web-BhgjzJX5.js} +23 -23
  67. package/dist/plugin-sdk/{chrome-oPevdeh5.js → chrome-Dn0G4NoF.js} +7 -7
  68. package/dist/plugin-sdk/{chunk-BPyPeheZ.js → chunk-cvtXztAT.js} +1 -1
  69. package/dist/plugin-sdk/{command-format-DvyMEXQo.js → command-format-BOJz3y1v.js} +1 -1
  70. package/dist/plugin-sdk/{commands-registry-Dk8re8Lz.js → commands-registry-CZWv_JwZ.js} +5 -5
  71. package/dist/plugin-sdk/{config-D7I2_X4P.js → config-DAwOhnVF.js} +10 -10
  72. package/dist/plugin-sdk/{deliver-NrIHn0__.js → deliver-PdH-MCq8.js} +11 -11
  73. package/dist/plugin-sdk/{diagnostic-DL3k_wRi.js → diagnostic-BZvj-qNu.js} +2 -2
  74. package/dist/plugin-sdk/{dock-CjdkiLH7.js → dock-BdR3OYZn.js} +6 -6
  75. package/dist/plugin-sdk/{errors-DFTN4h2I.js → errors-jusxdu7M.js} +1 -1
  76. package/dist/plugin-sdk/{fetch-guard-BivEyA4v.js → fetch-guard-Dary6WwJ.js} +2 -2
  77. package/dist/plugin-sdk/{fs-safe-B256n7Ff.js → fs-safe-DMCE0ej9.js} +3 -3
  78. package/dist/plugin-sdk/{image-CkPzr3XN.js → image-B3A2l2ep.js} +6 -6
  79. package/dist/plugin-sdk/{image-ops-C9GXWF3o.js → image-ops-DulHE5Qc.js} +1 -1
  80. package/dist/plugin-sdk/index.js +64 -64
  81. package/dist/plugin-sdk/{ir-BIm-jvIK.js → ir-BFXiJrsN.js} +6 -6
  82. package/dist/plugin-sdk/{local-roots-2AOXGUXW.js → local-roots-DssN60r6.js} +4 -4
  83. package/dist/plugin-sdk/{logger-CNhs9eKJ.js → logger-Cr-x0vMf.js} +1 -1
  84. package/dist/plugin-sdk/{login-BcLiF9tC.js → login-D0ul3-6C.js} +6 -6
  85. package/dist/plugin-sdk/{login-qr-GyPUodKJ.js → login-qr-XWKTFBuI.js} +9 -9
  86. package/dist/plugin-sdk/{manager-DYLqNUb4.js → manager-DGx_cF54.js} +10 -10
  87. package/dist/plugin-sdk/{markdown-tables-D9mmqMKi.js → markdown-tables-CsQpDNU5.js} +1 -1
  88. package/dist/plugin-sdk/{message-channel-_CEZcqxE.js → message-channel-CvNq-esz.js} +1 -1
  89. package/dist/plugin-sdk/{outbound-DdTsUaXa.js → outbound-D29FHlQl.js} +7 -7
  90. package/dist/plugin-sdk/{outbound-attachment--hkuIDR1.js → outbound-attachment-DRHrZUOx.js} +2 -2
  91. package/dist/plugin-sdk/{path-alias-guards-BqUCBfUg.js → path-alias-guards-DpKV1B5p.js} +1 -1
  92. package/dist/plugin-sdk/{pi-embedded-helpers-CTfvZz83.js → pi-embedded-helpers-CKEUWckk.js} +17 -17
  93. package/dist/plugin-sdk/{pi-model-discovery-CK3Ih_kq.js → pi-model-discovery-BPeQq9XM.js} +1 -1
  94. package/dist/plugin-sdk/{plugins-BpHAMNJ1.js → plugins-DF_dKXTR.js} +6 -6
  95. package/dist/plugin-sdk/{proxy-BJdRZOnJ.js → proxy-BfmEDoun.js} +1 -1
  96. package/dist/plugin-sdk/{proxy-fetch-jmbopGcm.js → proxy-fetch-BpHIgvBk.js} +1 -1
  97. package/dist/plugin-sdk/{pw-ai-D0Kx7w1D.js → pw-ai-BmmXDjtm.js} +13 -13
  98. package/dist/plugin-sdk/{qmd-manager-BDcutPp9.js → qmd-manager-3hQbqkm5.js} +8 -8
  99. package/dist/plugin-sdk/{query-expansion-C_X8SyEA.js → query-expansion-BOGLUWB7.js} +2 -2
  100. package/dist/plugin-sdk/{redact-DH8u23pF.js → redact-BOuKZWXa.js} +1 -1
  101. package/dist/plugin-sdk/{registry-HF8_S7QO.js → registry-Cv-oHUj1.js} +2 -2
  102. package/dist/plugin-sdk/{replies-DbjvV4gf.js → replies-CddwWBTJ.js} +3 -3
  103. package/dist/plugin-sdk/{reply-DpplAsbO.js → reply-CLQkx08P.js} +197 -103
  104. package/dist/plugin-sdk/{reply-prefix-KODsMNJ-.js → reply-prefix-DXthVxCx.js} +1 -1
  105. package/dist/plugin-sdk/{resolve-outbound-target-BPT4aNiD.js → resolve-outbound-target-D3Y4F2Le.js} +2 -2
  106. package/dist/plugin-sdk/{resolve-route-De2B5QY_.js → resolve-route-DuwYYn4a.js} +4 -4
  107. package/dist/plugin-sdk/{retry-pZ8iKytf.js → retry-BMcrIz7L.js} +1 -1
  108. package/dist/plugin-sdk/{send-C-Rd2stz.js → send-B0ztz6QC.js} +6 -6
  109. package/dist/plugin-sdk/{send-BoNw1Bki.js → send-C5USYGq7.js} +8 -8
  110. package/dist/plugin-sdk/{send-1uW-uqPf.js → send-D0AaWnIj.js} +7 -7
  111. package/dist/plugin-sdk/{send-wCqsQs_s.js → send-DEyQJTzd.js} +10 -10
  112. package/dist/plugin-sdk/{send-CZIN8SDx.js → send-DJzwu8kk.js} +15 -15
  113. package/dist/plugin-sdk/{session-ooYcB82T.js → session-BA7tVDpV.js} +5 -5
  114. package/dist/plugin-sdk/{session-meta-7J-uHiM_.js → session-meta-ChWvKVWj.js} +1 -1
  115. package/dist/plugin-sdk/{sessions-lAIo5l8W.js → sessions-BXps6YzJ.js} +6 -6
  116. package/dist/plugin-sdk/{skill-commands-D1Q6hGS4.js → skill-commands-B20uUsji.js} +5 -5
  117. package/dist/plugin-sdk/{skills-BWSDv2F_.js → skills-DXOTei42.js} +8 -8
  118. package/dist/plugin-sdk/{ssrf-JKDwTi8i.js → ssrf-Doxv9M7Q.js} +1 -1
  119. package/dist/plugin-sdk/{store-BMeqzQAf.js → store-BZbE1V-C.js} +2 -2
  120. package/dist/plugin-sdk/{subsystem-B0V8LFBA.js → subsystem-CM1s2lDT.js} +2 -2
  121. package/dist/plugin-sdk/{tables-DCSeBGBz.js → tables-BhH8EIqU.js} +1 -1
  122. package/dist/plugin-sdk/{target-errors-0u6pegQv.js → target-errors-QZay02Cv.js} +2 -2
  123. package/dist/plugin-sdk/{tokens-DF2_VTJy.js → tokens-DIE-Bf72.js} +1 -1
  124. package/dist/plugin-sdk/{tool-images-BbsgbHMZ.js → tool-images-heXfaJdb.js} +2 -2
  125. package/dist/plugin-sdk/{tool-loop-detection-JkCpGrfk.js → tool-loop-detection-CygMSQUK.js} +2 -2
  126. package/dist/plugin-sdk/{utils-BfVxx6bk.js → utils-BcL6KGZf.js} +1 -1
  127. package/dist/plugin-sdk/web-D5yQYvYF.js +72 -0
  128. package/dist/plugin-sdk/{whatsapp-actions-tVcrGNQc.js → whatsapp-actions-CRean1yN.js} +25 -25
  129. package/dist/{plugins-cli-DwKgp7q7.js → plugins-cli-CpSINdz-.js} +2 -2
  130. package/dist/{plugins-cli-o6KJO4Qe.js → plugins-cli-DKIC54hQ.js} +2 -2
  131. package/dist/{program-CQtsVyIe.js → program-R4eCXcVV.js} +7 -7
  132. package/dist/{program-context-CbirfwjC.js → program-context-XIBDpYkH.js} +18 -18
  133. package/dist/{prompt-select-styled-CY9iF1l-.js → prompt-select-styled-CSGsMtmW.js} +4 -4
  134. package/dist/{prompt-select-styled-BlHvgGuv.js → prompt-select-styled-CxcE42jh.js} +4 -4
  135. package/dist/{provider-auth-helpers-hI1pbI9r.js → provider-auth-helpers-BPwzCB_M.js} +1 -1
  136. package/dist/{provider-auth-helpers-CzSm0FSu.js → provider-auth-helpers-BqRZaAgE.js} +1 -1
  137. package/dist/{push-apns-DZ0qaSFA.js → push-apns-BFPYim-z.js} +1 -1
  138. package/dist/{push-apns-DMeB2M_b.js → push-apns-D_JirvZj.js} +1 -1
  139. package/dist/{register.agent-D9rmYCMS.js → register.agent-Cls5qjTc.js} +6 -6
  140. package/dist/{register.agent-BBOmACUM.js → register.agent-rU2v36L0.js} +7 -7
  141. package/dist/{register.configure-CZF2XAPO.js → register.configure-BMDzBahu.js} +7 -7
  142. package/dist/{register.configure-BJ7l1h-A.js → register.configure-BUhyYBGQ.js} +7 -7
  143. package/dist/{register.init-BdPckTb9.js → register.init-CFdcOH88.js} +1 -0
  144. package/dist/{register.init-CNKrbvCo.js → register.init-pWy0PRza.js} +1 -0
  145. package/dist/{register.maintenance-CyXghztz.js → register.maintenance-CofdyNUx.js} +7 -7
  146. package/dist/{register.maintenance-Cid2HJ-t.js → register.maintenance-Cy17SXVH.js} +8 -8
  147. package/dist/{register.message-BME4m1Jr.js → register.message-3BQdcipC.js} +2 -2
  148. package/dist/{register.message-Cs0mwtTw.js → register.message-Ce33qQCZ.js} +2 -2
  149. package/dist/{register.onboard-BsT9XRRr.js → register.onboard-BlcK7F0u.js} +2 -2
  150. package/dist/{register.onboard-CoItO2Ov.js → register.onboard-ESEjBMtx.js} +2 -2
  151. package/dist/{register.setup-2S-SXPOC.js → register.setup-CUxHFPRL.js} +2 -2
  152. package/dist/{register.setup-DJjPOLJK.js → register.setup-N8V5bjG1.js} +2 -2
  153. package/dist/{register.status-health-sessions-Czq26k6E.js → register.status-health-sessions-BKFS62CW.js} +3 -3
  154. package/dist/{register.status-health-sessions-wp3A615j.js → register.status-health-sessions-Bj4rUQRe.js} +3 -3
  155. package/dist/{register.subclis-CIlBs5A-.js → register.subclis-lEqV1Knw.js} +9 -9
  156. package/dist/{reply-OEcNPoWd.js → reply-CAA6gLtt.js} +109 -15
  157. package/dist/{run-main-bo-QbYn_.js → run-main-BTmP3wme.js} +14 -14
  158. package/dist/{server-node-events-BE-B31Iv.js → server-node-events-CD_Wo8L4.js} +2 -2
  159. package/dist/{server-node-events-h5NyibKC.js → server-node-events-ap09x8RZ.js} +2 -2
  160. package/dist/{status-CmNVuywF.js → status-CB2Fs5iL.js} +2 -2
  161. package/dist/{status-D_I-fLJF.js → status-DCtLhxlh.js} +2 -2
  162. package/dist/{subagent-registry-D4xGq2uc.js → subagent-registry-B4xJjOu2.js} +109 -15
  163. package/dist/{update-cli-BYrdZPXD.js → update-cli-BIMys5Ua.js} +7 -7
  164. package/dist/{update-cli-wmp8VSbx.js → update-cli-BuVnlit7.js} +8 -8
  165. package/dist/{update-runner-D5vyQGte.js → update-runner-C4bLqctv.js} +1 -1
  166. package/dist/{update-runner-BUth8QlB.js → update-runner-DGqZqXVF.js} +1 -1
  167. package/dist/{web-CQqnJkMB.js → web-BCpNE4aE.js} +2 -2
  168. package/dist/{web-BYeS4JNp.js → web-BJQKWHqO.js} +1 -1
  169. package/dist/{web-C5gLi1bN.js → web-Bun-T89j.js} +1 -1
  170. package/dist/{web-Bc1AWW4q.js → web-Cb4sindp.js} +2 -2
  171. package/package.json +1 -1
  172. package/dist/plugin-sdk/web-pXzbtWjI.js +0 -72
@@ -1,79 +1,79 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { C as resolveThreadParentSessionKey, S as parseAgentSessionKey, _ as deriveSessionChatType, b as isCronSessionKey, c as normalizeAgentId, d as resolveThreadSessionKeys, f as sanitizeAgentId, g as isBlockedObjectKey, h as normalizeOptionalAccountId, l as normalizeMainKey, m as normalizeAccountId$2, o as classifySessionKeyShape, p as DEFAULT_ACCOUNT_ID, r as buildAgentMainSessionKey, s as isValidAgentId, t as DEFAULT_AGENT_ID, u as resolveAgentIdFromSessionKey, v as getSubagentDepth, x as isSubagentSessionKey, y as isAcpSessionKey } from "./session-key-CVIXEtLx.js";
3
- import { _ as webAuthExists, c as logWebSelfId, i as resolveWhatsAppAccount, l as logoutWeb, p as readWebSelfId, s as getWebAuthAgeMs, t as hasAnyWhatsAppAuth } from "./accounts-BYcizTXn.js";
3
+ import { _ as webAuthExists, c as logWebSelfId, i as resolveWhatsAppAccount, l as logoutWeb, p as readWebSelfId, s as getWebAuthAgeMs, t as hasAnyWhatsAppAuth } from "./accounts-D_pT5EjF.js";
4
4
  import { a as resolveGatewayPort, c as resolveStateDir, d as resolveRequiredHomeDir, l as expandHomePrefix, n as STATE_DIR, p as resolveCliName, r as resolveConfigPath } from "./paths-C__vjTc0.js";
5
5
  import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-WHEJfZD4.js";
6
- import { $n as resolveAuthProfileDisplayLabel, An as resolveApiKeyForProvider, At as buildEnforcedShellCommand, Bn as resolveApiKeyForProfile, Bt as unwrapKnownDispatchWrapperInvocation, C as resolveIMessageRemoteAttachmentRoots, Cn as buildAssistantMessage, Ct as unsetConfigValueAtPath, Dn as getApiKeyForModel, Dt as normalizeTrustedSafeBinDirs, En as buildUsageWithNoCost, Et as listWritableExplicitTrustedSafeBinDirs, Fn as getSoonestCooldownExpiry, Ft as resolveAllowlistCandidatePath, Gn as ensureAuthProfileStore, Gt as resolveSafeBinProfiles, Hn as dedupeProfileIds, Ht as splitShellArgs, In as isProfileInCooldown, It as resolveCommandResolutionFromArgv, Jt as mapStreamingModeToSlackLegacyDraftStreamMode, Kn as resolveAuthStorePathForDisplay, Kt as applyMergePatch, Ln as markAuthProfileFailure, Lt as extractShellWrapperInlineCommand, Mn as resolveModelAuthMode, Mt as splitCommandChain, Nt as DEFAULT_SAFE_BINS, On as getCustomProviderApiKey, Ot as validateSafeBinArgv, Pn as resolveAuthProfileOrder, Pt as matchAllowlist, Rn as markAuthProfileUsed, Rt as isDispatchWrapperExecutable, S as resolveIMessageAttachmentRoots, Sn as createOllamaStreamFn, St as setConfigValueAtPath, T as parseNonNegativeByteSize, Tn as buildStreamErrorAssistantMessage, Tt as isTrustedSafeBinPath, Un as listProfilesForProvider, Ut as SAFE_BIN_PROFILES, V as parseDurationMs, Vt as unwrapKnownShellMultiplexerInvocation, Wn as markAuthProfileGood, Wt as normalizeSafeBinProfileFixtures, Xt as resolveSlackNativeStreaming, Yn as withFileLock, Yt as resolveDiscordPreviewStreamMode, Zt as resolveSlackStreamingMode, _ as normalizeTelegramCommandName, _t as resetConfigOverrides, a as resolveConfigSnapshotHash, an as findNormalizedProviderValue, ar as DEFAULT_PROVIDER, at as validateJsonSchemaValue, b as isInboundPathAllowed, bt as getConfigValueAtPath, cn as normalizeModelRef$2, cr as resolveShellEnvFallbackTimeoutMs, ct as isPathInside, dn as resolveDefaultModelForAgent, dt as MANIFEST_KEY, en as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, et as AVATAR_MAX_BYTES, fn as resolveModelRefFromString, ft as applyTestPluginDefaults, g as TELEGRAM_COMMAND_NAME_PATTERN, gt as getConfigOverrides, hn as resolveThinkingDefault, ht as resolveMemorySlotDecision, in as buildModelAliasIndex, ir as DEFAULT_MODEL, it as isSupportedLocalAvatarExtension, jn as resolveEnvApiKey, jt as isWindowsPlatform, kn as requireApiKey, kt as analyzeShellCommand, ln as normalizeProviderId, lr as isDangerousHostEnvVarName, lt as safeStatSync, mn as resolveSubagentSpawnModelSelection, mt as resolveEffectiveEnableState, n as loadConfig, nn as buildAllowedModelSet, nr as splitTrailingAuthProfile, nt as isAvatarHttpUrl, o as writeConfigFile, on as isCliProvider, or as VERSION, ot as loadPluginManifestRegistry, pn as resolveReasoningDefault, pt as normalizePluginsConfig, qn as resolveOpenClawAgentDir, qt as isSafeExecutableValue, r as readConfigFileSnapshot, rn as buildConfiguredAllowlistKeys, rr as DEFAULT_CONTEXT_TOKENS, rt as isPathWithinRoot, s as validateConfigObjectWithPlugins, sn as modelKey, sr as getShellPathFromLoginShell, st as discoverOpenClawPlugins, tn as resolveAgentMaxConcurrent, tr as normalizeSecretInput, tt as isAvatarDataUrl, un as resolveConfiguredModelRef, ur as resolveOwnerDisplaySetting, v as resolveTelegramCustomCommands, vt as setConfigOverride, w as normalizeScpRemoteHost, wn as buildAssistantMessageWithZeroUsage, wt as getTrustedSafeBinDirs, xn as OLLAMA_NATIVE_BASE_URL, xt as parseConfigPath, yt as unsetConfigOverride, zn as resolveProfilesUnavailableReason, zt as isShellWrapperExecutable } from "./config-D7I2_X4P.js";
7
- import { D as consumeRootOptionToken, E as FLAG_TERMINATOR, T as resolvePreferredOpenClawTmpDir, _ as isRich, a as clearActiveProgressLine, c as danger, f as setVerbose, g as colorize, h as warn, i as defaultRuntime, o as registerActiveProgressLine, p as shouldLogVerbose, r as createNonExitingRuntime, s as unregisterActiveProgressLine, t as createSubsystemLogger, u as logVerbose, v as theme, w as normalizeLogLevel, y as getChildLogger } from "./subsystem-B0V8LFBA.js";
8
- import { C as isPlainObject, S as truncateUtf16Safe, _ as shortenHomeInString, a as ensureDir$3, b as sliceUtf16Safe, c as isRecord$1, d as normalizeE164, h as resolveUserPath, o as escapeRegExp, r as clampInt, s as formatTerminalLink, t as CONFIG_DIR, v as shortenHomePath, y as sleep$1 } from "./utils-BfVxx6bk.js";
9
- import { n as isTruthyEnvValue, r as parseBooleanValue$1, t as formatCliCommand } from "./command-format-DvyMEXQo.js";
10
- import { A as spawnWithFallback, C as loadWorkspaceBootstrapFiles, E as resolveOpenClawPackageRoot, G as resolveAgentModelPrimaryValue, H as normalizeWindowsPathForComparison, K as toAgentModelListLike, M as openBoundaryFile, N as openBoundaryFileSync, O as runCommandWithTimeout, S as filterBootstrapFilesForSession, W as resolveAgentModelFallbackValues, _ as DEFAULT_IDENTITY_FILENAME, c as resolveDefaultAgentId, d as resolveSessionAgentId, f as resolveSessionAgentIds, h as DEFAULT_BOOTSTRAP_FILENAME, i as resolveAgentDir, k as runExec, l as resolveEffectiveModelFallbacks, m as DEFAULT_AGENT_WORKSPACE_DIR, n as listAgentIds, o as resolveAgentSkillsFilter, r as resolveAgentConfig, s as resolveAgentWorkspaceDir, t as hasConfiguredModelFallbacks, u as resolveRunModelFallbacksOverride, w as resolveWorkspaceAttachmentsRoot, x as ensureAgentWorkspace } from "./agent-scope-_j3fIYCK.js";
11
- import { i as logWarn, n as logError, r as logInfo, t as logDebug } from "./logger-CNhs9eKJ.js";
6
+ import { $n as resolveAuthProfileDisplayLabel, An as resolveApiKeyForProvider, At as buildEnforcedShellCommand, Bn as resolveApiKeyForProfile, Bt as unwrapKnownDispatchWrapperInvocation, C as resolveIMessageRemoteAttachmentRoots, Cn as buildAssistantMessage, Ct as unsetConfigValueAtPath, Dn as getApiKeyForModel, Dt as normalizeTrustedSafeBinDirs, En as buildUsageWithNoCost, Et as listWritableExplicitTrustedSafeBinDirs, Fn as getSoonestCooldownExpiry, Ft as resolveAllowlistCandidatePath, Gn as ensureAuthProfileStore, Gt as resolveSafeBinProfiles, Hn as dedupeProfileIds, Ht as splitShellArgs, In as isProfileInCooldown, It as resolveCommandResolutionFromArgv, Jt as mapStreamingModeToSlackLegacyDraftStreamMode, Kn as resolveAuthStorePathForDisplay, Kt as applyMergePatch, Ln as markAuthProfileFailure, Lt as extractShellWrapperInlineCommand, Mn as resolveModelAuthMode, Mt as splitCommandChain, Nt as DEFAULT_SAFE_BINS, On as getCustomProviderApiKey, Ot as validateSafeBinArgv, Pn as resolveAuthProfileOrder, Pt as matchAllowlist, Rn as markAuthProfileUsed, Rt as isDispatchWrapperExecutable, S as resolveIMessageAttachmentRoots, Sn as createOllamaStreamFn, St as setConfigValueAtPath, T as parseNonNegativeByteSize, Tn as buildStreamErrorAssistantMessage, Tt as isTrustedSafeBinPath, Un as listProfilesForProvider, Ut as SAFE_BIN_PROFILES, V as parseDurationMs, Vt as unwrapKnownShellMultiplexerInvocation, Wn as markAuthProfileGood, Wt as normalizeSafeBinProfileFixtures, Xt as resolveSlackNativeStreaming, Yn as withFileLock, Yt as resolveDiscordPreviewStreamMode, Zt as resolveSlackStreamingMode, _ as normalizeTelegramCommandName, _t as resetConfigOverrides, a as resolveConfigSnapshotHash, an as findNormalizedProviderValue, ar as DEFAULT_PROVIDER, at as validateJsonSchemaValue, b as isInboundPathAllowed, bt as getConfigValueAtPath, cn as normalizeModelRef$2, cr as resolveShellEnvFallbackTimeoutMs, ct as isPathInside, dn as resolveDefaultModelForAgent, dt as MANIFEST_KEY, en as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, et as AVATAR_MAX_BYTES, fn as resolveModelRefFromString, ft as applyTestPluginDefaults, g as TELEGRAM_COMMAND_NAME_PATTERN, gt as getConfigOverrides, hn as resolveThinkingDefault, ht as resolveMemorySlotDecision, in as buildModelAliasIndex, ir as DEFAULT_MODEL, it as isSupportedLocalAvatarExtension, jn as resolveEnvApiKey, jt as isWindowsPlatform, kn as requireApiKey, kt as analyzeShellCommand, ln as normalizeProviderId, lr as isDangerousHostEnvVarName, lt as safeStatSync, mn as resolveSubagentSpawnModelSelection, mt as resolveEffectiveEnableState, n as loadConfig, nn as buildAllowedModelSet, nr as splitTrailingAuthProfile, nt as isAvatarHttpUrl, o as writeConfigFile, on as isCliProvider, or as VERSION, ot as loadPluginManifestRegistry, pn as resolveReasoningDefault, pt as normalizePluginsConfig, qn as resolveOpenClawAgentDir, qt as isSafeExecutableValue, r as readConfigFileSnapshot, rn as buildConfiguredAllowlistKeys, rr as DEFAULT_CONTEXT_TOKENS, rt as isPathWithinRoot, s as validateConfigObjectWithPlugins, sn as modelKey, sr as getShellPathFromLoginShell, st as discoverOpenClawPlugins, tn as resolveAgentMaxConcurrent, tr as normalizeSecretInput, tt as isAvatarDataUrl, un as resolveConfiguredModelRef, ur as resolveOwnerDisplaySetting, v as resolveTelegramCustomCommands, vt as setConfigOverride, w as normalizeScpRemoteHost, wn as buildAssistantMessageWithZeroUsage, wt as getTrustedSafeBinDirs, xn as OLLAMA_NATIVE_BASE_URL, xt as parseConfigPath, yt as unsetConfigOverride, zn as resolveProfilesUnavailableReason, zt as isShellWrapperExecutable } from "./config-DAwOhnVF.js";
7
+ import { D as consumeRootOptionToken, E as FLAG_TERMINATOR, T as resolvePreferredOpenClawTmpDir, _ as isRich, a as clearActiveProgressLine, c as danger, f as setVerbose, g as colorize, h as warn, i as defaultRuntime, o as registerActiveProgressLine, p as shouldLogVerbose, r as createNonExitingRuntime, s as unregisterActiveProgressLine, t as createSubsystemLogger, u as logVerbose, v as theme, w as normalizeLogLevel, y as getChildLogger } from "./subsystem-CM1s2lDT.js";
8
+ import { C as isPlainObject, S as truncateUtf16Safe, _ as shortenHomeInString, a as ensureDir$3, b as sliceUtf16Safe, c as isRecord$1, d as normalizeE164, h as resolveUserPath, o as escapeRegExp, r as clampInt, s as formatTerminalLink, t as CONFIG_DIR, v as shortenHomePath, y as sleep$1 } from "./utils-BcL6KGZf.js";
9
+ import { n as isTruthyEnvValue, r as parseBooleanValue$1, t as formatCliCommand } from "./command-format-BOJz3y1v.js";
10
+ import { A as spawnWithFallback, B as isPathInside$1, C as loadWorkspaceBootstrapFiles, E as resolveOpenClawPackageRoot, G as resolveAgentModelPrimaryValue, H as normalizeWindowsPathForComparison, K as toAgentModelListLike, M as openBoundaryFile, N as openBoundaryFileSync, O as runCommandWithTimeout, R as hasNodeErrorCode, S as filterBootstrapFilesForSession, W as resolveAgentModelFallbackValues, _ as DEFAULT_IDENTITY_FILENAME, c as resolveDefaultAgentId, d as resolveSessionAgentId, f as resolveSessionAgentIds, h as DEFAULT_BOOTSTRAP_FILENAME, i as resolveAgentDir, k as runExec, l as resolveEffectiveModelFallbacks, m as DEFAULT_AGENT_WORKSPACE_DIR, n as listAgentIds, o as resolveAgentSkillsFilter, r as resolveAgentConfig, s as resolveAgentWorkspaceDir, t as hasConfiguredModelFallbacks, u as resolveRunModelFallbacksOverride, w as resolveWorkspaceAttachmentsRoot, x as ensureAgentWorkspace, z as isNotFoundPathError } from "./agent-scope-DT5pxpJB.js";
11
+ import { i as logWarn, n as logError, r as logInfo, t as logDebug } from "./logger-Cr-x0vMf.js";
12
12
  import { t as runTasksWithConcurrency } from "./run-with-concurrency-Ckp-v-FK.js";
13
- import { _ as getPluginCommandSpecs, a as normalizeAnyChannelId, b as createInternalHookEvent, c as getActivePluginRegistry, d as requireActivePluginRegistry, f as setActivePluginRegistry, g as executePluginCommand, h as clearPluginCommands, i as listChatChannels, l as getActivePluginRegistryKey, m as normalizePluginHttpPath, n as CHAT_CHANNEL_ORDER, o as normalizeChannelId$1, p as createPluginRegistry, r as getChatChannelMeta, s as normalizeChatChannelId, v as listPluginCommands, x as triggerInternalHook, y as matchPluginCommand } from "./registry-HF8_S7QO.js";
14
- import { B as normalizeStringEntriesLower, F as resolveChannelGroupToolsPolicy, L as normalizeAtHashSlug, N as resolveChannelGroupPolicy, P as resolveChannelGroupRequireMention, R as normalizeHyphenSlug, n as listChannelDocks, o as normalizeSignalMessagingTarget, t as getChannelDock, z as normalizeStringEntries } from "./dock-CjdkiLH7.js";
15
- import { a as isMarkdownCapableMessageChannel, c as resolveGatewayMessageChannel, d as GATEWAY_CLIENT_MODES, f as GATEWAY_CLIENT_NAMES, i as isInternalMessageChannel, l as resolveMessageChannel, n as isDeliverableMessageChannel, o as listDeliverableMessageChannels, r as isGatewayMessageChannel, s as normalizeMessageChannel, t as INTERNAL_MESSAGE_CHANNEL, u as GATEWAY_CLIENT_IDS } from "./message-channel-_CEZcqxE.js";
16
- import { A as acquireSessionWriteLock, B as resolveFreshSessionTotalTokens, C as extractToolCallNames, D as hasInterSessionUserProvenance, E as applyInputProvenanceToUserMessage, F as resolveSessionResetPolicy, G as resolveMainSessionKey, H as canonicalizeMainSessionAlias, I as resolveSessionResetType, K as deriveSessionMetaPatch, L as resolveThreadFlag, M as resolveSessionKey, N as evaluateSessionFreshness, O as normalizeInputProvenance, P as resolveChannelResetConfig, R as DEFAULT_RESET_TRIGGERS, S as countToolResults, T as INPUT_PROVENANCE_KIND_VALUES, V as setSessionRuntimeModel, W as resolveExplicitAgentSessionKey, _ as normalizeDeliveryContext, a as resolveAndPersistSessionFile, b as archiveSessionTranscripts, c as recordSessionMetaFromInbound, d as updateSessionStoreEntry, f as isCacheEnabled, g as mergeDeliveryContext, h as deliveryContextKey, j as resolveSessionLockMaxHoldFromTimeout, k as jsonUtf8Bytes, l as updateLastRoute, m as deliveryContextFromSession, n as parseSessionThreadInfo, o as loadSessionStore, p as resolveCacheTtlMs$1, q as resolveGroupSessionKey, r as appendAssistantMessageToSessionTranscript, s as readSessionUpdatedAt, t as extractDeliveryInfo, u as updateSessionStore, v as normalizeSessionDeliveryFields, w as parseInlineDirectives$1, x as capArrayByJsonBytes, y as normalizeAccountId$3, z as mergeSessionEntry } from "./sessions-lAIo5l8W.js";
13
+ import { _ as getPluginCommandSpecs, a as normalizeAnyChannelId, b as createInternalHookEvent, c as getActivePluginRegistry, d as requireActivePluginRegistry, f as setActivePluginRegistry, g as executePluginCommand, h as clearPluginCommands, i as listChatChannels, l as getActivePluginRegistryKey, m as normalizePluginHttpPath, n as CHAT_CHANNEL_ORDER, o as normalizeChannelId$1, p as createPluginRegistry, r as getChatChannelMeta, s as normalizeChatChannelId, v as listPluginCommands, x as triggerInternalHook, y as matchPluginCommand } from "./registry-Cv-oHUj1.js";
14
+ import { B as normalizeStringEntriesLower, F as resolveChannelGroupToolsPolicy, L as normalizeAtHashSlug, N as resolveChannelGroupPolicy, P as resolveChannelGroupRequireMention, R as normalizeHyphenSlug, n as listChannelDocks, o as normalizeSignalMessagingTarget, t as getChannelDock, z as normalizeStringEntries } from "./dock-BdR3OYZn.js";
15
+ import { a as isMarkdownCapableMessageChannel, c as resolveGatewayMessageChannel, d as GATEWAY_CLIENT_MODES, f as GATEWAY_CLIENT_NAMES, i as isInternalMessageChannel, l as resolveMessageChannel, n as isDeliverableMessageChannel, o as listDeliverableMessageChannels, r as isGatewayMessageChannel, s as normalizeMessageChannel, t as INTERNAL_MESSAGE_CHANNEL, u as GATEWAY_CLIENT_IDS } from "./message-channel-CvNq-esz.js";
16
+ import { A as acquireSessionWriteLock, B as resolveFreshSessionTotalTokens, C as extractToolCallNames, D as hasInterSessionUserProvenance, E as applyInputProvenanceToUserMessage, F as resolveSessionResetPolicy, G as resolveMainSessionKey, H as canonicalizeMainSessionAlias, I as resolveSessionResetType, K as deriveSessionMetaPatch, L as resolveThreadFlag, M as resolveSessionKey, N as evaluateSessionFreshness, O as normalizeInputProvenance, P as resolveChannelResetConfig, R as DEFAULT_RESET_TRIGGERS, S as countToolResults, T as INPUT_PROVENANCE_KIND_VALUES, V as setSessionRuntimeModel, W as resolveExplicitAgentSessionKey, _ as normalizeDeliveryContext, a as resolveAndPersistSessionFile, b as archiveSessionTranscripts, c as recordSessionMetaFromInbound, d as updateSessionStoreEntry, f as isCacheEnabled, g as mergeDeliveryContext, h as deliveryContextKey, j as resolveSessionLockMaxHoldFromTimeout, k as jsonUtf8Bytes, l as updateLastRoute, m as deliveryContextFromSession, n as parseSessionThreadInfo, o as loadSessionStore, p as resolveCacheTtlMs$1, q as resolveGroupSessionKey, r as appendAssistantMessageToSessionTranscript, s as readSessionUpdatedAt, t as extractDeliveryInfo, u as updateSessionStore, v as normalizeSessionDeliveryFields, w as parseInlineDirectives$1, x as capArrayByJsonBytes, y as normalizeAccountId$3, z as mergeSessionEntry } from "./sessions-BXps6YzJ.js";
17
17
  import { t as normalizeChatType } from "./chat-type-C4pAlbsI.js";
18
18
  import { n as resolveConversationLabel } from "./conversation-label-nAHBBt-I.js";
19
19
  import { t as resolveAccountEntry } from "./account-lookup-BCxEEOS8.js";
20
- import { A as resolveSlackAccount, B as resolveDiscordAccount, C as resolveTelegramAccount, F as normalizeWhatsAppTarget, I as createDiscordActionGate, M as resolveSlackAppToken, N as resolveSlackBotToken, P as isWhatsAppGroupJid, R as listEnabledDiscordAccounts, V as normalizeDiscordToken, b as listEnabledTelegramAccounts, h as resolveSlackChannelId, j as resolveSlackReplyToMode, m as parseSlackTarget, n as listChannelPlugins, r as normalizeChannelId$2, t as getChannelPlugin, w as resolveTelegramToken, x as listTelegramAccountIds, y as createTelegramActionGate } from "./plugins-BpHAMNJ1.js";
21
- import { r as resolveIMessageAccount } from "./accounts-4WE2wtsW.js";
22
- import { i as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-AbI8uETR.js";
23
- import { t as buildChannelAccountBindings } from "./bindings-CxxzC7gn.js";
24
- import { $ as fetchChannelPermissionsDiscord, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveTimestampMs, D as pinMessageDiscord, Dt as normalizeChannelSlug, E as listThreadsDiscord, Et as buildChannelKeyCandidates, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, P as fetchChannelInfoDiscord, Q as stripUndefinedFields, R as kickMemberDiscord, S as deleteMessageDiscord, St as resolveDiscordSystemLocation, T as listPinsDiscord, Tt as applyChannelMatchMeta, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendPollDiscord, _t as resolveDiscordShouldRequireMention, a as removeReactionDiscord, at as resolveDiscordChannelId, b as sendWebhookMessageDiscord, bt as formatDiscordReactionEmoji, c as formatDiscordComponentEventText, ct as isDiscordGroupAllowedByPolicy, d as parseDiscordModalCustomId, dt as resolveDiscordAllowListMatch, et as hasAnyGuildPermissionDiscord, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordChannelConfigWithFallback, g as sendMessageDiscord, gt as resolveDiscordOwnerAllowFrom, h as resolveDiscordModalEntry, ht as resolveDiscordOwnerAccess, i as removeOwnReactionsDiscord, it as parseDiscordTarget, j as addRoleDiscord, k as searchMessagesDiscord, kt as resolveChannelEntryMatchWithFallback, l as parseDiscordComponentCustomId, lt as normalizeDiscordAllowList, m as resolveDiscordComponentEntry, mt as resolveDiscordMemberAccessState, n as fetchReactionsDiscord, nt as createDiscordClient, o as sendDiscordComponentMessage, ot as listDiscordDirectoryGroupsLive, p as readDiscordComponentSpec, pt as resolveDiscordGuildEntry, q as deleteChannelDiscord, r as reactMessageDiscord, rt as createDiscordRestClient, s as createDiscordFormModal, st as listDiscordDirectoryPeersLive, tt as chunkDiscordTextWithMode, u as parseDiscordComponentCustomIdForCarbon, ut as normalizeDiscordSlug, v as sendStickerDiscord, vt as resolveGroupDmAllow, w as fetchMessageDiscord, wt as fetchDiscord, x as createThreadDiscord, xt as formatDiscordUserTag, y as sendVoiceMessageDiscord, yt as shouldEmitDiscordReactionNotification, z as listGuildChannelsDiscord } from "./send-wCqsQs_s.js";
20
+ import { A as resolveSlackAccount, B as resolveDiscordAccount, C as resolveTelegramAccount, F as normalizeWhatsAppTarget, I as createDiscordActionGate, M as resolveSlackAppToken, N as resolveSlackBotToken, P as isWhatsAppGroupJid, R as listEnabledDiscordAccounts, V as normalizeDiscordToken, b as listEnabledTelegramAccounts, h as resolveSlackChannelId, j as resolveSlackReplyToMode, m as parseSlackTarget, n as listChannelPlugins, r as normalizeChannelId$2, t as getChannelPlugin, w as resolveTelegramToken, x as listTelegramAccountIds, y as createTelegramActionGate } from "./plugins-DF_dKXTR.js";
21
+ import { r as resolveIMessageAccount } from "./accounts-COLYAAOx.js";
22
+ import { i as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-BZrkOo6-.js";
23
+ import { t as buildChannelAccountBindings } from "./bindings-BSfhEjKN.js";
24
+ import { $ as fetchChannelPermissionsDiscord, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveTimestampMs, D as pinMessageDiscord, Dt as normalizeChannelSlug, E as listThreadsDiscord, Et as buildChannelKeyCandidates, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, P as fetchChannelInfoDiscord, Q as stripUndefinedFields, R as kickMemberDiscord, S as deleteMessageDiscord, St as resolveDiscordSystemLocation, T as listPinsDiscord, Tt as applyChannelMatchMeta, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendPollDiscord, _t as resolveDiscordShouldRequireMention, a as removeReactionDiscord, at as resolveDiscordChannelId, b as sendWebhookMessageDiscord, bt as formatDiscordReactionEmoji, c as formatDiscordComponentEventText, ct as isDiscordGroupAllowedByPolicy, d as parseDiscordModalCustomId, dt as resolveDiscordAllowListMatch, et as hasAnyGuildPermissionDiscord, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordChannelConfigWithFallback, g as sendMessageDiscord, gt as resolveDiscordOwnerAllowFrom, h as resolveDiscordModalEntry, ht as resolveDiscordOwnerAccess, i as removeOwnReactionsDiscord, it as parseDiscordTarget, j as addRoleDiscord, k as searchMessagesDiscord, kt as resolveChannelEntryMatchWithFallback, l as parseDiscordComponentCustomId, lt as normalizeDiscordAllowList, m as resolveDiscordComponentEntry, mt as resolveDiscordMemberAccessState, n as fetchReactionsDiscord, nt as createDiscordClient, o as sendDiscordComponentMessage, ot as listDiscordDirectoryGroupsLive, p as readDiscordComponentSpec, pt as resolveDiscordGuildEntry, q as deleteChannelDiscord, r as reactMessageDiscord, rt as createDiscordRestClient, s as createDiscordFormModal, st as listDiscordDirectoryPeersLive, tt as chunkDiscordTextWithMode, u as parseDiscordComponentCustomIdForCarbon, ut as normalizeDiscordSlug, v as sendStickerDiscord, vt as resolveGroupDmAllow, w as fetchMessageDiscord, wt as fetchDiscord, x as createThreadDiscord, xt as formatDiscordUserTag, y as sendVoiceMessageDiscord, yt as shouldEmitDiscordReactionNotification, z as listGuildChannelsDiscord } from "./send-DEyQJTzd.js";
25
25
  import { i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as resolveSessionTranscriptsDirForAgent, r as resolveSessionFilePathOptions, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-DlLOyPPw.js";
26
26
  import { n as readJsonFile, r as writeJsonAtomic, t as createAsyncLock } from "./json-files-BLPb80aT.js";
27
27
  import { n as onSessionTranscriptUpdate, t as emitSessionTranscriptUpdate } from "./transcript-events-Bitiknz-.js";
28
28
  import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-C-qHqfzG.js";
29
29
  import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-BEtAimXS.js";
30
- import { n as retryAsync } from "./retry-pZ8iKytf.js";
31
- import { i as testRegexWithBoundedInput, r as compileSafeRegex, t as redactSensitiveText } from "./redact-DH8u23pF.js";
32
- import { i as formatUncaughtError, o as readErrorName, r as formatErrorMessage } from "./errors-DFTN4h2I.js";
33
- import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-B3yZ-f-m.js";
30
+ import { n as retryAsync } from "./retry-BMcrIz7L.js";
31
+ import { i as testRegexWithBoundedInput, r as compileSafeRegex, t as redactSensitiveText } from "./redact-BOuKZWXa.js";
32
+ import { i as formatUncaughtError, o as readErrorName, r as formatErrorMessage } from "./errors-jusxdu7M.js";
33
+ import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-DAEbma-o.js";
34
34
  import { t as buildOutboundMediaLoadOptions } from "./load-options-TTlmt77_.js";
35
35
  import { n as normalizePollInput } from "./polls-DN23oxyB.js";
36
- import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-BqUCBfUg.js";
37
- import { i as openFileWithinRoot, l as writeFileWithinRoot, n as copyFileWithinRoot, o as readFileWithinRoot, r as createRootScopedReadFile, t as SafeOpenError } from "./fs-safe-B256n7Ff.js";
38
- 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-C9GXWF3o.js";
39
- import { a as isBlockedHostnameOrIp, l as normalizeHostname, t as SsrFBlockedError } from "./ssrf-JKDwTi8i.js";
40
- import { n as withStrictGuardedFetchMode, r as withTrustedEnvProxyGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-BivEyA4v.js";
41
- import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, r as MediaFetchError, t as getAgentScopedMediaLocalRoots } from "./local-roots-2AOXGUXW.js";
42
- import { a as loadWebMedia, i as getDefaultLocalRoots, o as loadWebMediaRaw } from "./ir-BIm-jvIK.js";
43
- import { a as chunkText, c as resolveChunkMode, d as findFenceSpanAt, f as isSafeFenceBreak, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, o as chunkTextWithMode, p as parseFenceSpans, r as chunkMarkdownText, t as chunkByNewline } from "./chunk-BPyPeheZ.js";
44
- import { n as resolveMarkdownTableMode } from "./markdown-tables-D9mmqMKi.js";
45
- import { t as convertMarkdownTables } from "./tables-DCSeBGBz.js";
46
- import { a as formatIMessageChatTarget, c as parseIMessageTarget, i as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, o as isAllowedIMessageSender, r as createIMessageRpcClient, s as normalizeIMessageHandle, t as sendMessageIMessage } from "./send-1uW-uqPf.js";
47
- import { A as describeReplyTarget, B as resolveTelegramStreamMode, C as buildSenderLabel, D as buildTelegramParentPeer, E as buildTelegramGroupPeerId, F as resolveTelegramDirectPeerId, G as resolveSenderAllowMatch$1, H as isSenderAllowed$1, I as resolveTelegramForumThreadId, J as parseTelegramTarget, K as isVoiceCompatibleAudio, L as resolveTelegramGroupAllowFromContext, M as extractTelegramLocation, N as hasBotMention, O as buildTelegramThreadParams, P as normalizeForwardedContext, R as resolveTelegramMediaPlaceholder, S as buildGroupLabel, T as buildTelegramGroupFrom, U as normalizeAllowFrom$2, V as resolveTelegramThreadSpec, W as normalizeDmAllowFromWithStore$1, X as formatLocationText, Y as resolveTelegramTargetChatType, Z as toLocationContext, _ as renderTelegramHtmlText, a as reactMessageTelegram, at as upsertChannelPairingRequest, b as splitTelegramCaption, c as sendStickerTelegram, ct as getPairingAdapter, d as loadCronStore, dt as isSenderIdAllowed, f as resolveCronStorePath, ft as mergeDmAllowFromSources, g as markdownToTelegramHtml, h as markdownToTelegramChunks, i as editMessageTelegram, it as removeChannelAllowFromStoreEntry, j as expandTextLinks, k as buildTypingThreadParams, lt as listPairingChannels, m as isRecoverableTelegramNetworkError, n as createForumTopicTelegram, nt as readChannelAllowFromStore, o as sendMessageTelegram, ot as readJsonFileWithFallback, p as wasSentByBot, pt as resolveGroupAllowFromSources, r as deleteMessageTelegram, s as sendPollTelegram, st as writeJsonFileAtomically, t as buildInlineKeyboard, tt as addChannelAllowFromStoreEntry, u as resolveTelegramVoiceSend, ut as firstDefined$1, v as wrapFileReferencesInHtml, w as buildSenderName, x as withTelegramApiErrorLogging, y as resolveTelegramFetch, z as resolveTelegramReplyId } from "./send-CZIN8SDx.js";
48
- import { a as canonicalizeBase64, i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, o as estimateBase64DecodedBytes, r as sanitizeToolResultImages } from "./tool-images-BbsgbHMZ.js";
49
- import { a as ToolInputError, c as imageResultFromFile, d as readNumberParam, f as readReactionParams, h as readStringParam, l as jsonResult, m as readStringOrNumberParam, n as missingTargetError, o as createActionGate, p as readStringArrayParam, r as unknownTargetError, s as imageResult, t as ambiguousTargetError, u as parseAvailableTags } from "./target-errors-0u6pegQv.js";
50
- import { a as buildSlackBlocksFallbackText, c as parseSlackBlocksInput, i as normalizeSlackOutboundText, l as validateSlackBlocksArray, o as createSlackWebClient, s as resolveSlackWebClientOptions, t as sendMessageSlack } from "./send-BoNw1Bki.js";
51
- import { _ as normalizeMediaUnderstandingChatType, a as resolveAutoImageModel, b as applyTemplate, c as findModelInCatalog, d as resolveAliasedOpenAiCompatibleModelId, f as registerUnhandledRejectionHandler, g as resolveTimeoutMs$2, h as resolveConcurrency, i as normalizeMediaAttachments, l as loadModelCatalog, m as resolveAttachmentKind, n as buildProviderRegistry, o as resolveMediaAttachmentLocalRoots, r as createMediaAttachmentCache, s as runCapability, t as runAudioTranscription, u as modelSupportsVision, v as resolveMediaUnderstandingScope, x as buildRandomTempFilePath, y as CLI_OUTPUT_MAX_BUFFER } from "./audio-transcription-runner-CRpY5uDq.js";
52
- import { a as resolveAckReaction, c as resolveHumanDelayConfig, i as resolveResponsePrefixTemplate, n as createReplyPrefixOptions, o as resolveAgentIdentity, s as resolveEffectiveMessagesConfig } from "./reply-prefix-KODsMNJ-.js";
53
- import { a as stripSilentToken, i as isSilentReplyText, n as SILENT_REPLY_TOKEN, r as isSilentReplyPrefixText, t as HEARTBEAT_TOKEN } from "./tokens-DF2_VTJy.js";
54
- import { c as getSkillsSnapshotVersion, d as pruneExpiredPending, f as resolvePairingPaths, i as resolveSkillCommandInvocation, l as generatePairingToken, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames, u as rejectPendingPairingRequest } from "./skill-commands-D1Q6hGS4.js";
55
- import { c as assertSandboxPath, d as resolveSandboxedMediaSource, f as applySkillEnvOverrides, i as resolveSkillsPromptForRun, l as resolveSandboxInputPath, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverridesFromSnapshot, r as loadWorkspaceSkillEntries, s as assertMediaNotDataUrl } from "./skills-BWSDv2F_.js";
56
- import { B as DEFAULT_AI_SNAPSHOT_MAX_CHARS, C as ensureChromeExtensionRelayServer, J as rawDataToString, K as isLoopbackHost, M as DEFAULT_UPLOAD_DIR, N as resolveExistingPathsWithinRoot, q as isSecureWebSocketUrl, s as resolveLsofCommandSync } from "./chrome-oPevdeh5.js";
57
- import { A as initializeGlobalHookRunner, C as shouldSuppressReasoningPayload, D as normalizeChannelTargetInput, E as buildTargetResolverSignature, O as normalizeTargetForProvider, S as shouldSuppressMessagingToolReplies, T as resolveReplyToMode, _ as applyReplyTagsToPayload, a as normalizeOutboundPayloadsForJson, b as filterMessagingToolMediaDuplicates, c as parseReplyDirectives, d as toInternalMessagePreprocessedContext, f as toInternalMessageReceivedContext, g as fireAndForgetHook, h as toPluginMessageReceivedEvent, i as normalizeOutboundPayloads, k as getGlobalHookRunner, l as splitMediaFromOutput, m as toPluginMessageContext, o as normalizeReplyPayloadsForDelivery, p as toInternalMessageTranscribedContext, r as formatOutboundPayloadLog, s as throwIfAborted, t as deliverOutboundPayloads, u as deriveInboundMessageHookContext, v as applyReplyThreading, w as createReplyToModeFilterForChannel, x as isRenderablePayload, y as filterMessagingToolDuplicates } from "./deliver-NrIHn0__.js";
58
- import { a as logMessageProcessed, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, i as logLaneEnqueue, l as logWebhookProcessed, m as isDiagnosticsEnabled, o as logMessageQueued, p as emitDiagnosticEvent, r as logLaneDequeue, s as logSessionStateChange, t as diag, u as logWebhookReceived } from "./diagnostic-DL3k_wRi.js";
59
- import { a as saveMediaBuffer, i as getMediaDir, t as MEDIA_MAX_BYTES } from "./store-BMeqzQAf.js";
60
- import { $ as expandToolGroups, A as isRawApiErrorPayload, B as registerBrowserRoutes, C as isCloudCodeAssistFormatError, D as isFailoverErrorMessage, E as isFailoverAssistantError, F as sanitizeUserFacingText, G as resolveBrowserControlAuth, H as resolveProfile, I as ensureSandboxWorkspaceForSession, J as buildPluginToolGroups, K as resolveSandboxConfigForAgent, L as resolveSandboxContext, M as isTransientHttpError, N as parseImageDimensionError, O as isLikelyContextOverflowError, P as parseImageSizeError, Q as stripPluginOnlyAllowlist, R as resolveSandboxRuntimeStatus, S as isBillingAssistantError, T as isContextOverflowError, U as getBridgeAuthForPort, V as resolveBrowserConfig, W as ensureBrowserControlAuth, X as expandPolicyWithPluginGroups, Y as collectExplicitAllowlist, Z as mergeAlsoAllowPolicy, _ as formatBillingErrorMessage, a as isMessagingToolDuplicateNormalized, at as ensureSessionHeader, b as isAuthAssistantError, c as extractToolCallsFromAssistant, ct as sanitizeGoogleTurnOrdering, d as downgradeOpenAIFunctionCallReasoningPairs, et as normalizeToolName, f as downgradeOpenAIReasoningBlocks, g as formatAssistantErrorText, h as classifyFailoverReason, it as buildBootstrapContextFiles, j as isTimeoutErrorMessage, k as isRateLimitAssistantError, l as extractToolResultId, lt as resolveGatewayCredentialsFromConfig, m as BILLING_ERROR_USER_MESSAGE, n as validateGeminiTurns, nt as compileGlobPatterns, o as normalizeTextForComparison, ot as resolveBootstrapMaxChars, p as isGoogleModelApi, q as applyOwnerOnlyToolPolicy, r as pickFallbackThinkingLevel, rt as matchesAnyGlobPattern, s as sanitizeSessionMessagesImages, st as resolveBootstrapTotalMaxChars, t as validateAnthropicTurns, tt as resolveToolProfilePolicy, u as sanitizeToolCallIdsForCloudCodeAssist, ut as trimToUndefined$1, v as formatRawAssistantErrorForUi, w as isCompactionFailureError, x as isAuthPermanentErrorMessage, y as getApiErrorPayloadFingerprint, z as createBrowserRouteContext } from "./pi-embedded-helpers-CTfvZz83.js";
36
+ import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-DpKV1B5p.js";
37
+ import { i as openFileWithinRoot, l as writeFileWithinRoot, n as copyFileWithinRoot, o as readFileWithinRoot, r as createRootScopedReadFile, t as SafeOpenError } from "./fs-safe-DMCE0ej9.js";
38
+ 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-DulHE5Qc.js";
39
+ import { a as isBlockedHostnameOrIp, l as normalizeHostname, t as SsrFBlockedError } from "./ssrf-Doxv9M7Q.js";
40
+ import { n as withStrictGuardedFetchMode, r as withTrustedEnvProxyGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-Dary6WwJ.js";
41
+ import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, r as MediaFetchError, t as getAgentScopedMediaLocalRoots } from "./local-roots-DssN60r6.js";
42
+ import { a as loadWebMedia, i as getDefaultLocalRoots, o as loadWebMediaRaw } from "./ir-BFXiJrsN.js";
43
+ import { a as chunkText, c as resolveChunkMode, d as findFenceSpanAt, f as isSafeFenceBreak, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, o as chunkTextWithMode, p as parseFenceSpans, r as chunkMarkdownText, t as chunkByNewline } from "./chunk-cvtXztAT.js";
44
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-CsQpDNU5.js";
45
+ import { t as convertMarkdownTables } from "./tables-BhH8EIqU.js";
46
+ import { a as formatIMessageChatTarget, c as parseIMessageTarget, i as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, o as isAllowedIMessageSender, r as createIMessageRpcClient, s as normalizeIMessageHandle, t as sendMessageIMessage } from "./send-D0AaWnIj.js";
47
+ import { A as describeReplyTarget, B as resolveTelegramStreamMode, C as buildSenderLabel, D as buildTelegramParentPeer, E as buildTelegramGroupPeerId, F as resolveTelegramDirectPeerId, G as resolveSenderAllowMatch$1, H as isSenderAllowed$1, I as resolveTelegramForumThreadId, J as parseTelegramTarget, K as isVoiceCompatibleAudio, L as resolveTelegramGroupAllowFromContext, M as extractTelegramLocation, N as hasBotMention, O as buildTelegramThreadParams, P as normalizeForwardedContext, R as resolveTelegramMediaPlaceholder, S as buildGroupLabel, T as buildTelegramGroupFrom, U as normalizeAllowFrom$2, V as resolveTelegramThreadSpec, W as normalizeDmAllowFromWithStore$1, X as formatLocationText, Y as resolveTelegramTargetChatType, Z as toLocationContext, _ as renderTelegramHtmlText, a as reactMessageTelegram, at as upsertChannelPairingRequest, b as splitTelegramCaption, c as sendStickerTelegram, ct as getPairingAdapter, d as loadCronStore, dt as isSenderIdAllowed, f as resolveCronStorePath, ft as mergeDmAllowFromSources, g as markdownToTelegramHtml, h as markdownToTelegramChunks, i as editMessageTelegram, it as removeChannelAllowFromStoreEntry, j as expandTextLinks, k as buildTypingThreadParams, lt as listPairingChannels, m as isRecoverableTelegramNetworkError, n as createForumTopicTelegram, nt as readChannelAllowFromStore, o as sendMessageTelegram, ot as readJsonFileWithFallback, p as wasSentByBot, pt as resolveGroupAllowFromSources, r as deleteMessageTelegram, s as sendPollTelegram, st as writeJsonFileAtomically, t as buildInlineKeyboard, tt as addChannelAllowFromStoreEntry, u as resolveTelegramVoiceSend, ut as firstDefined$1, v as wrapFileReferencesInHtml, w as buildSenderName, x as withTelegramApiErrorLogging, y as resolveTelegramFetch, z as resolveTelegramReplyId } from "./send-DJzwu8kk.js";
48
+ import { a as canonicalizeBase64, i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, o as estimateBase64DecodedBytes, r as sanitizeToolResultImages } from "./tool-images-heXfaJdb.js";
49
+ import { a as ToolInputError, c as imageResultFromFile, d as readNumberParam, f as readReactionParams, h as readStringParam, l as jsonResult, m as readStringOrNumberParam, n as missingTargetError, o as createActionGate, p as readStringArrayParam, r as unknownTargetError, s as imageResult, t as ambiguousTargetError, u as parseAvailableTags } from "./target-errors-QZay02Cv.js";
50
+ import { a as buildSlackBlocksFallbackText, c as parseSlackBlocksInput, i as normalizeSlackOutboundText, l as validateSlackBlocksArray, o as createSlackWebClient, s as resolveSlackWebClientOptions, t as sendMessageSlack } from "./send-C5USYGq7.js";
51
+ import { _ as normalizeMediaUnderstandingChatType, a as resolveAutoImageModel, b as applyTemplate, c as findModelInCatalog, d as resolveAliasedOpenAiCompatibleModelId, f as registerUnhandledRejectionHandler, g as resolveTimeoutMs$2, h as resolveConcurrency, i as normalizeMediaAttachments, l as loadModelCatalog, m as resolveAttachmentKind, n as buildProviderRegistry, o as resolveMediaAttachmentLocalRoots, r as createMediaAttachmentCache, s as runCapability, t as runAudioTranscription, u as modelSupportsVision, v as resolveMediaUnderstandingScope, x as buildRandomTempFilePath, y as CLI_OUTPUT_MAX_BUFFER } from "./audio-transcription-runner-CooPnqtC.js";
52
+ import { a as resolveAckReaction, c as resolveHumanDelayConfig, i as resolveResponsePrefixTemplate, n as createReplyPrefixOptions, o as resolveAgentIdentity, s as resolveEffectiveMessagesConfig } from "./reply-prefix-DXthVxCx.js";
53
+ import { a as stripSilentToken, i as isSilentReplyText, n as SILENT_REPLY_TOKEN, r as isSilentReplyPrefixText, t as HEARTBEAT_TOKEN } from "./tokens-DIE-Bf72.js";
54
+ import { c as getSkillsSnapshotVersion, d as pruneExpiredPending, f as resolvePairingPaths, i as resolveSkillCommandInvocation, l as generatePairingToken, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames, u as rejectPendingPairingRequest } from "./skill-commands-B20uUsji.js";
55
+ import { c as assertSandboxPath, d as resolveSandboxedMediaSource, f as applySkillEnvOverrides, i as resolveSkillsPromptForRun, l as resolveSandboxInputPath, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverridesFromSnapshot, r as loadWorkspaceSkillEntries, s as assertMediaNotDataUrl } from "./skills-DXOTei42.js";
56
+ import { B as DEFAULT_AI_SNAPSHOT_MAX_CHARS, C as ensureChromeExtensionRelayServer, J as rawDataToString, K as isLoopbackHost, M as DEFAULT_UPLOAD_DIR, N as resolveExistingPathsWithinRoot, q as isSecureWebSocketUrl, s as resolveLsofCommandSync } from "./chrome-Dn0G4NoF.js";
57
+ import { A as initializeGlobalHookRunner, C as shouldSuppressReasoningPayload, D as normalizeChannelTargetInput, E as buildTargetResolverSignature, O as normalizeTargetForProvider, S as shouldSuppressMessagingToolReplies, T as resolveReplyToMode, _ as applyReplyTagsToPayload, a as normalizeOutboundPayloadsForJson, b as filterMessagingToolMediaDuplicates, c as parseReplyDirectives, d as toInternalMessagePreprocessedContext, f as toInternalMessageReceivedContext, g as fireAndForgetHook, h as toPluginMessageReceivedEvent, i as normalizeOutboundPayloads, k as getGlobalHookRunner, l as splitMediaFromOutput, m as toPluginMessageContext, o as normalizeReplyPayloadsForDelivery, p as toInternalMessageTranscribedContext, r as formatOutboundPayloadLog, s as throwIfAborted, t as deliverOutboundPayloads, u as deriveInboundMessageHookContext, v as applyReplyThreading, w as createReplyToModeFilterForChannel, x as isRenderablePayload, y as filterMessagingToolDuplicates } from "./deliver-PdH-MCq8.js";
58
+ import { a as logMessageProcessed, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, i as logLaneEnqueue, l as logWebhookProcessed, m as isDiagnosticsEnabled, o as logMessageQueued, p as emitDiagnosticEvent, r as logLaneDequeue, s as logSessionStateChange, t as diag, u as logWebhookReceived } from "./diagnostic-BZvj-qNu.js";
59
+ import { a as saveMediaBuffer, i as getMediaDir, t as MEDIA_MAX_BYTES } from "./store-BZbE1V-C.js";
60
+ import { $ as expandToolGroups, A as isRawApiErrorPayload, B as registerBrowserRoutes, C as isCloudCodeAssistFormatError, D as isFailoverErrorMessage, E as isFailoverAssistantError, F as sanitizeUserFacingText, G as resolveBrowserControlAuth, H as resolveProfile, I as ensureSandboxWorkspaceForSession, J as buildPluginToolGroups, K as resolveSandboxConfigForAgent, L as resolveSandboxContext, M as isTransientHttpError, N as parseImageDimensionError, O as isLikelyContextOverflowError, P as parseImageSizeError, Q as stripPluginOnlyAllowlist, R as resolveSandboxRuntimeStatus, S as isBillingAssistantError, T as isContextOverflowError, U as getBridgeAuthForPort, V as resolveBrowserConfig, W as ensureBrowserControlAuth, X as expandPolicyWithPluginGroups, Y as collectExplicitAllowlist, Z as mergeAlsoAllowPolicy, _ as formatBillingErrorMessage, a as isMessagingToolDuplicateNormalized, at as ensureSessionHeader, b as isAuthAssistantError, c as extractToolCallsFromAssistant, ct as sanitizeGoogleTurnOrdering, d as downgradeOpenAIFunctionCallReasoningPairs, et as normalizeToolName, f as downgradeOpenAIReasoningBlocks, g as formatAssistantErrorText, h as classifyFailoverReason, it as buildBootstrapContextFiles, j as isTimeoutErrorMessage, k as isRateLimitAssistantError, l as extractToolResultId, lt as resolveGatewayCredentialsFromConfig, m as BILLING_ERROR_USER_MESSAGE, n as validateGeminiTurns, nt as compileGlobPatterns, o as normalizeTextForComparison, ot as resolveBootstrapMaxChars, p as isGoogleModelApi, q as applyOwnerOnlyToolPolicy, r as pickFallbackThinkingLevel, rt as matchesAnyGlobPattern, s as sanitizeSessionMessagesImages, st as resolveBootstrapTotalMaxChars, t as validateAnthropicTurns, tt as resolveToolProfilePolicy, u as sanitizeToolCallIdsForCloudCodeAssist, ut as trimToUndefined$1, v as formatRawAssistantErrorForUi, w as isCompactionFailureError, x as isAuthPermanentErrorMessage, y as getApiErrorPayloadFingerprint, z as createBrowserRouteContext } from "./pi-embedded-helpers-CKEUWckk.js";
61
61
  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-DGaZRXAR.js";
62
62
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-DZb6zIHq.js";
63
- import { C as extractTextFromChatContent, S as isInsideCode, T as minimaxUnderstandImage, _ as stripThinkingTagsFromText, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantThinking, d as formatReasoningMessage, f as inferToolMetaFromArgs, g as stripMinimaxToolCallXml, h as stripDowngradedToolCallText, i as coerceImageModelConfig, l as extractThinkingFromTaggedStream, m as promoteThinkingTagsToBlocks, o as resolveProviderVisionModelFromConfig, p as isAssistantMessage, r as coerceImageAssistantText, s as extractAssistantText$1, u as extractThinkingFromTaggedText, v as formatToolSummary, w as ensureOpenClawModelsJson, x as findCodeRegions, y as resolveToolDisplay } from "./image-CkPzr3XN.js";
64
- import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-CK3Ih_kq.js";
63
+ import { C as extractTextFromChatContent, S as isInsideCode, T as minimaxUnderstandImage, _ as stripThinkingTagsFromText, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantThinking, d as formatReasoningMessage, f as inferToolMetaFromArgs, g as stripMinimaxToolCallXml, h as stripDowngradedToolCallText, i as coerceImageModelConfig, l as extractThinkingFromTaggedStream, m as promoteThinkingTagsToBlocks, o as resolveProviderVisionModelFromConfig, p as isAssistantMessage, r as coerceImageAssistantText, s as extractAssistantText$1, u as extractThinkingFromTaggedText, v as formatToolSummary, w as ensureOpenClawModelsJson, x as findCodeRegions, y as resolveToolDisplay } from "./image-B3A2l2ep.js";
64
+ import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-BPeQq9XM.js";
65
65
  import { n as generateSecureUuid, t as generateSecureToken } from "./secure-random-C5PtFEje.js";
66
- import { t as makeProxyFetch } from "./proxy-fetch-jmbopGcm.js";
67
- 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-Dk8re8Lz.js";
66
+ import { t as makeProxyFetch } from "./proxy-fetch-BpHIgvBk.js";
67
+ 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-CZWv_JwZ.js";
68
68
  import { r as getDiagnosticSessionState } from "./diagnostic-session-state-Wd5tNeQG.js";
69
69
  import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-4RHRb_OP.js";
70
- import { a as resolveSignalRpcContext, c as streamSignalEvents, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-C-Rd2stz.js";
71
- import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-De2B5QY_.js";
72
- import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-DbjvV4gf.js";
73
- import { i as redactIdentifier, t as getActiveWebListener } from "./active-listener-pnqLAUOh.js";
74
- import { t as recordInboundSessionMetaSafe } from "./session-meta-7J-uHiM_.js";
75
- import { n as resolveMemorySearchConfig } from "./manager-DYLqNUb4.js";
76
- import { f as listMemoryFiles, p as normalizeExtraMemoryPaths } from "./query-expansion-C_X8SyEA.js";
70
+ import { a as resolveSignalRpcContext, c as streamSignalEvents, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-B0ztz6QC.js";
71
+ import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-DuwYYn4a.js";
72
+ import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-CddwWBTJ.js";
73
+ import { i as redactIdentifier, t as getActiveWebListener } from "./active-listener-DxBXcWm_.js";
74
+ import { t as recordInboundSessionMetaSafe } from "./session-meta-ChWvKVWj.js";
75
+ import { n as resolveMemorySearchConfig } from "./manager-DGx_cF54.js";
76
+ import { f as listMemoryFiles, p as normalizeExtraMemoryPaths } from "./query-expansion-BOGLUWB7.js";
77
77
  import { createRequire } from "node:module";
78
78
  import fs, { existsSync, mkdirSync, mkdtempSync, promises, readFileSync, renameSync, rmSync, statSync, unlinkSync, writeFileSync } from "node:fs";
79
79
  import * as path$1 from "node:path";
@@ -83,7 +83,7 @@ import * as fs$2 from "node:fs/promises";
83
83
  import fs$1 from "node:fs/promises";
84
84
  import crypto, { X509Certificate, createHash, createHmac, randomBytes, randomUUID } from "node:crypto";
85
85
  import { inspect, promisify } from "node:util";
86
- import JSON5 from "json5";
86
+ import json5 from "json5";
87
87
  import { execFile, execFileSync, spawn, spawnSync } from "node:child_process";
88
88
  import { fileURLToPath } from "node:url";
89
89
  import { complete, completeSimple, createAssistantMessageEventStream, streamSimple } from "@mariozechner/pi-ai";
@@ -7852,7 +7852,7 @@ async function sendTranscriptEcho(params) {
7852
7852
  }
7853
7853
  const text = formatEchoTranscript(transcript, params.format ?? DEFAULT_ECHO_TRANSCRIPT_FORMAT);
7854
7854
  try {
7855
- const { deliverOutboundPayloads } = await import("./deliver-NrIHn0__.js").then((n) => n.n);
7855
+ const { deliverOutboundPayloads } = await import("./deliver-PdH-MCq8.js").then((n) => n.n);
7856
7856
  await deliverOutboundPayloads({
7857
7857
  cfg,
7858
7858
  channel: normalizedChannel,
@@ -22391,7 +22391,7 @@ async function routeReply(params) {
22391
22391
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
22392
22392
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
22393
22393
  try {
22394
- const { deliverOutboundPayloads } = await import("./deliver-NrIHn0__.js").then((n) => n.n);
22394
+ const { deliverOutboundPayloads } = await import("./deliver-PdH-MCq8.js").then((n) => n.n);
22395
22395
  const outboundSession = buildOutboundSessionContext({
22396
22396
  cfg,
22397
22397
  agentId: resolvedAgentId,
@@ -22875,7 +22875,7 @@ function normalizeSessionKey(value) {
22875
22875
  function readSessionStore(storePath) {
22876
22876
  try {
22877
22877
  const raw = fs.readFileSync(storePath, "utf-8");
22878
- const parsed = JSON5.parse(raw);
22878
+ const parsed = json5.parse(raw);
22879
22879
  if (parsed && typeof parsed === "object" && !Array.isArray(parsed)) return parsed;
22880
22880
  } catch {}
22881
22881
  return {};
@@ -32282,7 +32282,7 @@ async function describeStickerImage(params) {
32282
32282
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
32283
32283
  try {
32284
32284
  const buffer = await fs$1.readFile(imagePath);
32285
- const { describeImageWithModel } = await import("./image-CkPzr3XN.js").then((n) => n.n);
32285
+ const { describeImageWithModel } = await import("./image-B3A2l2ep.js").then((n) => n.n);
32286
32286
  return (await describeImageWithModel({
32287
32287
  buffer,
32288
32288
  fileName: "sticker.webp",
@@ -33549,7 +33549,7 @@ async function resolveDiscordPreflightAudioMentionContext(params) {
33549
33549
  const needsPreflightTranscription = !params.isDirectMessage && params.shouldRequireMention && hasAudioAttachment && !hasTypedText && params.mentionRegexes.length > 0;
33550
33550
  let transcript;
33551
33551
  if (needsPreflightTranscription) try {
33552
- const { transcribeFirstAudio } = await import("./audio-preflight-D8BVTHCB.js");
33552
+ const { transcribeFirstAudio } = await import("./audio-preflight-PGsiEosa.js");
33553
33553
  const audioUrls = audioAttachments.map((att) => att.url).filter((url) => typeof url === "string" && url.length > 0);
33554
33554
  if (audioUrls.length > 0) transcript = await transcribeFirstAudio({
33555
33555
  ctx: {
@@ -36160,7 +36160,7 @@ function ensureContextWindowCacheLoaded() {
36160
36160
  await ensureOpenClawModelsJson(cfg);
36161
36161
  } catch {}
36162
36162
  try {
36163
- const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-CK3Ih_kq.js").then((n) => n.r);
36163
+ const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-BPeQq9XM.js").then((n) => n.r);
36164
36164
  const agentDir = resolveOpenClawAgentDir();
36165
36165
  const modelRegistry = discoverModels(discoverAuthStorage(agentDir), agentDir);
36166
36166
  applyDiscoveredContextWindows({
@@ -36522,7 +36522,7 @@ async function createModelSelectionState(params) {
36522
36522
  }
36523
36523
  }
36524
36524
  if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) {
36525
- const { ensureAuthProfileStore } = await import("./config-D7I2_X4P.js").then((n) => n.Nn);
36525
+ const { ensureAuthProfileStore } = await import("./config-DAwOhnVF.js").then((n) => n.Nn);
36526
36526
  const profile = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[sessionEntry.authProfileOverride];
36527
36527
  const providerKey = normalizeProviderId(provider);
36528
36528
  if (!profile || normalizeProviderId(profile.provider) !== providerKey) await clearSessionAuthProfileOverride({
@@ -41201,27 +41201,27 @@ function createOutboundSendDepsFromCliSource(deps) {
41201
41201
  function createDefaultDeps() {
41202
41202
  return {
41203
41203
  sendMessageWhatsApp: async (...args) => {
41204
- const { sendMessageWhatsApp } = await import("./web-pXzbtWjI.js");
41204
+ const { sendMessageWhatsApp } = await import("./web-D5yQYvYF.js");
41205
41205
  return await sendMessageWhatsApp(...args);
41206
41206
  },
41207
41207
  sendMessageTelegram: async (...args) => {
41208
- const { sendMessageTelegram } = await import("./send-CZIN8SDx.js").then((n) => n.l);
41208
+ const { sendMessageTelegram } = await import("./send-DJzwu8kk.js").then((n) => n.l);
41209
41209
  return await sendMessageTelegram(...args);
41210
41210
  },
41211
41211
  sendMessageDiscord: async (...args) => {
41212
- const { sendMessageDiscord } = await import("./send-wCqsQs_s.js").then((n) => n.t);
41212
+ const { sendMessageDiscord } = await import("./send-DEyQJTzd.js").then((n) => n.t);
41213
41213
  return await sendMessageDiscord(...args);
41214
41214
  },
41215
41215
  sendMessageSlack: async (...args) => {
41216
- const { sendMessageSlack } = await import("./send-BoNw1Bki.js").then((n) => n.n);
41216
+ const { sendMessageSlack } = await import("./send-C5USYGq7.js").then((n) => n.n);
41217
41217
  return await sendMessageSlack(...args);
41218
41218
  },
41219
41219
  sendMessageSignal: async (...args) => {
41220
- const { sendMessageSignal } = await import("./send-C-Rd2stz.js").then((n) => n.i);
41220
+ const { sendMessageSignal } = await import("./send-B0ztz6QC.js").then((n) => n.i);
41221
41221
  return await sendMessageSignal(...args);
41222
41222
  },
41223
41223
  sendMessageIMessage: async (...args) => {
41224
- const { sendMessageIMessage } = await import("./send-1uW-uqPf.js").then((n) => n.n);
41224
+ const { sendMessageIMessage } = await import("./send-D0AaWnIj.js").then((n) => n.n);
41225
41225
  return await sendMessageIMessage(...args);
41226
41226
  }
41227
41227
  };
@@ -52654,7 +52654,7 @@ function readSlackExternalArgMenuToken(raw) {
52654
52654
  }
52655
52655
  let commandsRegistry;
52656
52656
  async function getCommandsRegistry() {
52657
- if (!commandsRegistry) commandsRegistry = await import("./commands-registry-Dk8re8Lz.js").then((n) => n.n);
52657
+ if (!commandsRegistry) commandsRegistry = await import("./commands-registry-CZWv_JwZ.js").then((n) => n.n);
52658
52658
  return commandsRegistry;
52659
52659
  }
52660
52660
  function encodeSlackCommandArgValue(parts) {
@@ -52984,14 +52984,14 @@ async function registerSlackMonitorSlashCommands(params) {
52984
52984
  const channelName = channelInfo?.name;
52985
52985
  const roomLabel = channelName ? `#${channelName}` : `#${command.channel_id}`;
52986
52986
  const [{ resolveAgentRoute }, { finalizeInboundContext }, { dispatchReplyWithDispatcher }] = await Promise.all([
52987
- import("./resolve-route-De2B5QY_.js").then((n) => n.r),
52987
+ import("./resolve-route-DuwYYn4a.js").then((n) => n.r),
52988
52988
  import("./inbound-context-DZb6zIHq.js").then((n) => n.n),
52989
52989
  Promise.resolve().then(() => provider_dispatcher_exports)
52990
52990
  ]);
52991
52991
  const [{ resolveConversationLabel }, { createReplyPrefixOptions }, { recordInboundSessionMetaSafe }] = await Promise.all([
52992
52992
  import("./conversation-label-nAHBBt-I.js").then((n) => n.t),
52993
- import("./reply-prefix-KODsMNJ-.js").then((n) => n.r),
52994
- import("./session-meta-7J-uHiM_.js").then((n) => n.n)
52993
+ import("./reply-prefix-DXthVxCx.js").then((n) => n.r),
52994
+ import("./session-meta-ChWvKVWj.js").then((n) => n.n)
52995
52995
  ]);
52996
52996
  const route = resolveAgentRoute({
52997
52997
  cfg,
@@ -53056,9 +53056,9 @@ async function registerSlackMonitorSlashCommands(params) {
53056
53056
  });
53057
53057
  const deliverSlashPayloads = async (replies) => {
53058
53058
  const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
53059
- import("./replies-DbjvV4gf.js").then((n) => n.r),
53060
- import("./chunk-BPyPeheZ.js").then((n) => n.s),
53061
- import("./markdown-tables-D9mmqMKi.js").then((n) => n.t)
53059
+ import("./replies-CddwWBTJ.js").then((n) => n.r),
53060
+ import("./chunk-cvtXztAT.js").then((n) => n.s),
53061
+ import("./markdown-tables-CsQpDNU5.js").then((n) => n.t)
53062
53062
  ]);
53063
53063
  await deliverSlackSlashReplies({
53064
53064
  replies,
@@ -53111,7 +53111,7 @@ async function registerSlackMonitorSlashCommands(params) {
53111
53111
  let nativeCommands = [];
53112
53112
  if (nativeEnabled) {
53113
53113
  reg = await getCommandsRegistry();
53114
- const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-D1Q6hGS4.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
53114
+ const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-B20uUsji.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
53115
53115
  nativeCommands = reg.listNativeCommandSpecsForConfig(cfg, {
53116
53116
  skillCommands,
53117
53117
  provider: "slack"
@@ -53697,7 +53697,7 @@ async function auditTelegramGroupMembership(params) {
53697
53697
  groups: [],
53698
53698
  elapsedMs: Date.now() - started
53699
53699
  };
53700
- const fetcher = params.proxyUrl ? (await import("./proxy-BJdRZOnJ.js").then((n) => n.t)).makeProxyFetch(params.proxyUrl) : fetch;
53700
+ const fetcher = params.proxyUrl ? (await import("./proxy-BfmEDoun.js").then((n) => n.t)).makeProxyFetch(params.proxyUrl) : fetch;
53701
53701
  const { fetchWithTimeout } = await import("./fetch-timeout-C-qHqfzG.js").then((n) => n.r);
53702
53702
  const base = `${TELEGRAM_API_BASE$1}/bot${token}`;
53703
53703
  const groups = [];
@@ -58451,7 +58451,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, replyMedia =
58451
58451
  const disableAudioPreflight = firstDefined$1(topicConfig?.disableAudioPreflight, groupConfig?.disableAudioPreflight) === true;
58452
58452
  let preflightTranscript;
58453
58453
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0 && !disableAudioPreflight) try {
58454
- const { transcribeFirstAudio } = await import("./audio-preflight-D8BVTHCB.js");
58454
+ const { transcribeFirstAudio } = await import("./audio-preflight-PGsiEosa.js");
58455
58455
  preflightTranscript = await transcribeFirstAudio({
58456
58456
  ctx: {
58457
58457
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -61149,7 +61149,7 @@ function createWhatsAppLoginTool() {
61149
61149
  force: Type.Optional(Type.Boolean())
61150
61150
  }),
61151
61151
  execute: async (_toolCallId, args) => {
61152
- const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-GyPUodKJ.js");
61152
+ const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-XWKTFBuI.js");
61153
61153
  if ((args?.action ?? "start") === "wait") {
61154
61154
  const result = await waitForWebLogin({ timeoutMs: typeof args.timeoutMs === "number" ? args.timeoutMs : void 0 });
61155
61155
  return {
@@ -61224,23 +61224,23 @@ let webLoginQrPromise = null;
61224
61224
  let webChannelPromise = null;
61225
61225
  let whatsappActionsPromise = null;
61226
61226
  function loadWebOutbound() {
61227
- webOutboundPromise ??= import("./outbound-DdTsUaXa.js").then((n) => n.t);
61227
+ webOutboundPromise ??= import("./outbound-D29FHlQl.js").then((n) => n.t);
61228
61228
  return webOutboundPromise;
61229
61229
  }
61230
61230
  function loadWebLogin() {
61231
- webLoginPromise ??= import("./login-BcLiF9tC.js").then((n) => n.n);
61231
+ webLoginPromise ??= import("./login-D0ul3-6C.js").then((n) => n.n);
61232
61232
  return webLoginPromise;
61233
61233
  }
61234
61234
  function loadWebLoginQr() {
61235
- webLoginQrPromise ??= import("./login-qr-GyPUodKJ.js");
61235
+ webLoginQrPromise ??= import("./login-qr-XWKTFBuI.js");
61236
61236
  return webLoginQrPromise;
61237
61237
  }
61238
61238
  function loadWebChannel() {
61239
- webChannelPromise ??= import("./web-pXzbtWjI.js");
61239
+ webChannelPromise ??= import("./web-D5yQYvYF.js");
61240
61240
  return webChannelPromise;
61241
61241
  }
61242
61242
  function loadWhatsAppActions() {
61243
- whatsappActionsPromise ??= import("./whatsapp-actions-tVcrGNQc.js");
61243
+ whatsappActionsPromise ??= import("./whatsapp-actions-CRean1yN.js");
61244
61244
  return whatsappActionsPromise;
61245
61245
  }
61246
61246
  function createRuntimeWhatsApp() {
@@ -61690,7 +61690,7 @@ async function getMemorySearchManager(params) {
61690
61690
  if (cached) return { manager: cached };
61691
61691
  }
61692
61692
  try {
61693
- const { QmdMemoryManager } = await import("./qmd-manager-BDcutPp9.js");
61693
+ const { QmdMemoryManager } = await import("./qmd-manager-3hQbqkm5.js");
61694
61694
  const primary = await QmdMemoryManager.create({
61695
61695
  cfg: params.cfg,
61696
61696
  agentId: params.agentId,
@@ -61702,7 +61702,7 @@ async function getMemorySearchManager(params) {
61702
61702
  const wrapper = new FallbackMemoryManager({
61703
61703
  primary,
61704
61704
  fallbackFactory: async () => {
61705
- const { MemoryIndexManager } = await import("./manager-DYLqNUb4.js").then((n) => n.t);
61705
+ const { MemoryIndexManager } = await import("./manager-DGx_cF54.js").then((n) => n.t);
61706
61706
  return await MemoryIndexManager.get(params);
61707
61707
  }
61708
61708
  }, () => {
@@ -61717,7 +61717,7 @@ async function getMemorySearchManager(params) {
61717
61717
  }
61718
61718
  }
61719
61719
  try {
61720
- const { MemoryIndexManager } = await import("./manager-DYLqNUb4.js").then((n) => n.t);
61720
+ const { MemoryIndexManager } = await import("./manager-DGx_cF54.js").then((n) => n.t);
61721
61721
  return { manager: await MemoryIndexManager.get(params) };
61722
61722
  } catch (err) {
61723
61723
  return {
@@ -73349,7 +73349,7 @@ async function recordLoopOutcome(args) {
73349
73349
  if (!args.ctx?.sessionKey) return;
73350
73350
  try {
73351
73351
  const { getDiagnosticSessionState } = await import("./diagnostic-session-state-Wd5tNeQG.js").then((n) => n.n);
73352
- const { recordToolCallOutcome } = await import("./tool-loop-detection-JkCpGrfk.js");
73352
+ const { recordToolCallOutcome } = await import("./tool-loop-detection-CygMSQUK.js");
73353
73353
  recordToolCallOutcome(getDiagnosticSessionState({
73354
73354
  sessionKey: args.ctx.sessionKey,
73355
73355
  sessionId: args.ctx?.agentId
@@ -73370,8 +73370,8 @@ async function runBeforeToolCallHook(args) {
73370
73370
  const params = args.params;
73371
73371
  if (args.ctx?.sessionKey) {
73372
73372
  const { getDiagnosticSessionState } = await import("./diagnostic-session-state-Wd5tNeQG.js").then((n) => n.n);
73373
- const { logToolLoopAction } = await import("./diagnostic-DL3k_wRi.js").then((n) => n.n);
73374
- const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-JkCpGrfk.js");
73373
+ const { logToolLoopAction } = await import("./diagnostic-BZvj-qNu.js").then((n) => n.n);
73374
+ const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-CygMSQUK.js");
73375
73375
  const sessionState = getDiagnosticSessionState({
73376
73376
  sessionKey: args.ctx.sessionKey,
73377
73377
  sessionId: args.ctx?.agentId
@@ -73829,6 +73829,82 @@ function stripReadTruncationContentDetails(result) {
73829
73829
  }
73830
73830
  };
73831
73831
  }
73832
+ function extractRequestedReadPath(record) {
73833
+ const trimmed = (typeof record?.path === "string" ? record.path : typeof record?.file_path === "string" ? record.file_path : void 0)?.trim();
73834
+ return trimmed ? trimmed : void 0;
73835
+ }
73836
+ function normalizeReadPathCandidate(filePath) {
73837
+ const trimmed = filePath.trim();
73838
+ const withoutAt = trimmed.startsWith("@") ? trimmed.slice(1) : trimmed;
73839
+ if (/^file:\/\//i.test(withoutAt)) try {
73840
+ return fileURLToPath(withoutAt);
73841
+ } catch {
73842
+ return withoutAt;
73843
+ }
73844
+ return withoutAt;
73845
+ }
73846
+ function normalizeRelativeReadPath(filePath) {
73847
+ return filePath.replace(/\\/g, "/").replace(/^(?:\.\/)+/, "").replace(/^\/+/, "").replace(/\/+$/, "");
73848
+ }
73849
+ function getReadPathRelativeToWorkspace(filePath, workspaceRoot) {
73850
+ const normalized = normalizeReadPathCandidate(filePath);
73851
+ if (!path.isAbsolute(normalized)) return normalizeRelativeReadPath(normalized);
73852
+ if (!workspaceRoot) return;
73853
+ const root = path.resolve(workspaceRoot);
73854
+ const resolved = path.resolve(normalized);
73855
+ if (!isPathInside$1(root, resolved)) return;
73856
+ return normalizeRelativeReadPath(path.relative(root, resolved));
73857
+ }
73858
+ function isMemoryReadPath(filePath, workspaceRoot) {
73859
+ const relative = getReadPathRelativeToWorkspace(filePath, workspaceRoot);
73860
+ return relative === "memory" || Boolean(relative?.startsWith("memory/"));
73861
+ }
73862
+ function resolveReadPathWithinWorkspace(filePath, workspaceRoot) {
73863
+ if (!workspaceRoot) return;
73864
+ const normalized = normalizeReadPathCandidate(filePath);
73865
+ const resolved = path.isAbsolute(normalized) ? path.resolve(normalized) : path.resolve(workspaceRoot, normalized);
73866
+ return isPathInside$1(path.resolve(workspaceRoot), resolved) ? resolved : void 0;
73867
+ }
73868
+ function createMemoryDirectoryReadResult(filePath) {
73869
+ return {
73870
+ content: [{
73871
+ type: "text",
73872
+ text: `${filePath} is a directory, not a file. Read a specific file such as MEMORY.md or memory/YYYY-MM-DD.md instead.`
73873
+ }],
73874
+ details: {}
73875
+ };
73876
+ }
73877
+ function createMissingMemoryReadResult(filePath) {
73878
+ return {
73879
+ content: [{
73880
+ type: "text",
73881
+ text: `No memory file exists at ${filePath} yet. Continue normally, or create a file such as memory/YYYY-MM-DD.md when you want to save notes.`
73882
+ }],
73883
+ details: {}
73884
+ };
73885
+ }
73886
+ async function maybeCreateMemoryReadCompatibilityResult(params) {
73887
+ if (!isMemoryReadPath(params.filePath, params.workspaceRoot)) return null;
73888
+ const absolutePath = resolveReadPathWithinWorkspace(params.filePath, params.workspaceRoot);
73889
+ if (!absolutePath) return null;
73890
+ try {
73891
+ if ((await fs$1.stat(absolutePath)).isDirectory()) return createMemoryDirectoryReadResult(params.filePath);
73892
+ return null;
73893
+ } catch (error) {
73894
+ if (isNotFoundPathError(error)) return createMissingMemoryReadResult(params.filePath);
73895
+ throw error;
73896
+ }
73897
+ }
73898
+ function maybeRecoverMemoryReadError(params) {
73899
+ if (!isMemoryReadPath(params.filePath, params.workspaceRoot)) return null;
73900
+ if (params.error instanceof SafeOpenError) {
73901
+ if (params.error.code === "not-file") return createMemoryDirectoryReadResult(params.filePath);
73902
+ if (params.error.code === "not-found") return createMissingMemoryReadResult(params.filePath);
73903
+ }
73904
+ if (hasNodeErrorCode(params.error, "EISDIR")) return createMemoryDirectoryReadResult(params.filePath);
73905
+ if (isNotFoundPathError(params.error)) return createMissingMemoryReadResult(params.filePath);
73906
+ return null;
73907
+ }
73832
73908
  async function executeReadWithAdaptivePaging(params) {
73833
73909
  const userLimit = params.args.limit;
73834
73910
  if (typeof userLimit === "number" && Number.isFinite(userLimit) && userLimit > 0) return await params.base.execute(params.toolCallId, params.args, params.signal);
@@ -74104,7 +74180,8 @@ function wrapToolWorkspaceRootGuardWithOptions(tool, root, options) {
74104
74180
  function createSandboxedReadTool(params) {
74105
74181
  return createOpenClawReadTool(createReadTool(params.root, { operations: createSandboxReadOperations(params) }), {
74106
74182
  modelContextWindowTokens: params.modelContextWindowTokens,
74107
- imageSanitization: params.imageSanitization
74183
+ imageSanitization: params.imageSanitization,
74184
+ workspaceRoot: params.root
74108
74185
  });
74109
74186
  }
74110
74187
  function createSandboxedWriteTool(params) {
@@ -74170,14 +74247,30 @@ function createOpenClawReadTool(base, options) {
74170
74247
  const normalized = normalizeToolParams(params);
74171
74248
  const record = normalized ?? (params && typeof params === "object" ? params : void 0);
74172
74249
  assertRequiredParams(record, CLAUDE_PARAM_GROUPS.read, base.name);
74173
- const result = await executeReadWithAdaptivePaging({
74174
- base,
74175
- toolCallId,
74176
- args: normalized ?? params ?? {},
74177
- signal,
74178
- maxBytes: resolveAdaptiveReadMaxBytes(options)
74179
- });
74180
- const filePath = typeof record?.path === "string" ? String(record.path) : "<unknown>";
74250
+ const filePath = extractRequestedReadPath(record) ?? "<unknown>";
74251
+ const memoryCompatibilityResult = filePath !== "<unknown>" ? await maybeCreateMemoryReadCompatibilityResult({
74252
+ filePath,
74253
+ workspaceRoot: options?.workspaceRoot
74254
+ }) : null;
74255
+ if (memoryCompatibilityResult) return memoryCompatibilityResult;
74256
+ let result;
74257
+ try {
74258
+ result = await executeReadWithAdaptivePaging({
74259
+ base,
74260
+ toolCallId,
74261
+ args: normalized ?? params ?? {},
74262
+ signal,
74263
+ maxBytes: resolveAdaptiveReadMaxBytes(options)
74264
+ });
74265
+ } catch (error) {
74266
+ const recovered = filePath !== "<unknown>" ? maybeRecoverMemoryReadError({
74267
+ filePath,
74268
+ workspaceRoot: options?.workspaceRoot,
74269
+ error
74270
+ }) : null;
74271
+ if (recovered) return recovered;
74272
+ throw error;
74273
+ }
74181
74274
  return sanitizeToolResultImages(await normalizeReadImageResult(stripReadTruncationContentDetails(result), filePath), `read:${filePath}`, options?.imageSanitization);
74182
74275
  }
74183
74276
  };
@@ -74943,7 +75036,8 @@ function createOpenClawCodingTools(options) {
74943
75036
  }
74944
75037
  const wrapped = createOpenClawReadTool(createReadTool(workspaceRoot), {
74945
75038
  modelContextWindowTokens: options?.modelContextWindowTokens,
74946
- imageSanitization
75039
+ imageSanitization,
75040
+ workspaceRoot
74947
75041
  });
74948
75042
  return [workspaceOnly ? wrapToolWorkspaceRootGuard(wrapped, workspaceRoot) : wrapped];
74949
75043
  }
@@ -91415,7 +91509,7 @@ async function deliverSessionMaintenanceWarning(params) {
91415
91509
  return;
91416
91510
  }
91417
91511
  try {
91418
- const { deliverOutboundPayloads } = await import("./deliver-NrIHn0__.js").then((n) => n.n);
91512
+ const { deliverOutboundPayloads } = await import("./deliver-PdH-MCq8.js").then((n) => n.n);
91419
91513
  const outboundSession = buildOutboundSessionContext({
91420
91514
  cfg: params.cfg,
91421
91515
  sessionKey: params.sessionKey