openclaw-cortex 3.0.1 → 3.0.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 (185) hide show
  1. package/dist/{accounts-B3MIBUxY.js → accounts-6btx_LVr.js} +14 -14
  2. package/dist/{accounts-X5YWm9b7.js → accounts-BOYxuJ9C.js} +1 -1
  3. package/dist/{accounts-Doecg-Pe.js → accounts-Cg6z7lKw.js} +1 -1
  4. package/dist/{active-listener-DI-5r3l7.js → active-listener-BhL5jMd9.js} +1 -1
  5. package/dist/{agent-scope-DgSbJ6PA.js → agent-scope-BLYwrEEA.js} +3 -3
  6. package/dist/{audio-preflight-CketII1D.js → audio-preflight-CJMYPxgz.js} +4 -4
  7. package/dist/{audio-preflight-EwgV_X7F.js → audio-preflight-DrLN-6C1.js} +30 -30
  8. package/dist/{bindings-ZzFXeSUF.js → bindings-DWtXcdc8.js} +2 -2
  9. package/dist/build-info.json +3 -3
  10. package/dist/bundled/boot-md/handler.js +53 -53
  11. package/dist/bundled/bootstrap-extra-files/handler.js +5 -5
  12. package/dist/bundled/command-logger/handler.js +1 -1
  13. package/dist/bundled/session-memory/handler.js +53 -53
  14. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  15. package/dist/{channel-activity-By7mU0Ld.js → channel-activity-LT3oBvO7.js} +1 -1
  16. package/dist/{chrome-BwkFC1Kp.js → chrome-DBmAGMTR.js} +20 -20
  17. package/dist/{chrome-7PNldBIY.js → chrome-jiKls1lm.js} +7 -7
  18. package/dist/{chunk-DoTNWpve.js → chunk-TRVny4T1.js} +1 -1
  19. package/dist/{command-format--87BbJbN.js → command-format-D1Crrvey.js} +1 -1
  20. package/dist/{command-registry-CKl3i1dn.js → command-registry-B3oActxS.js} +4 -4
  21. package/dist/{commands-registry-C1TEcrP2.js → commands-registry-B6FYKIxi.js} +3 -3
  22. package/dist/{plugin-sdk/common-CJo4CK5_.js → common-y9ALHdVZ.js} +2 -2
  23. package/dist/{completion-cli-D9M167hh.js → completion-cli-C_J-jd9D.js} +1 -1
  24. package/dist/{completion-cli-DWbOrNO2.js → completion-cli-FIejYbDL.js} +2 -2
  25. package/dist/{config-DnorUs_i.js → config-qfEsodS7.js} +12 -12
  26. package/dist/control-ui/_app/immutable/chunks/Bf6c0cUg.js +1 -0
  27. package/dist/control-ui/_app/immutable/entry/{app.gjdkTR50.js → app.BwCsQnur.js} +2 -2
  28. package/dist/control-ui/_app/immutable/entry/start.Br3cjxv0.js +1 -0
  29. package/dist/control-ui/_app/immutable/nodes/{0.DZBLEJTo.js → 0.Dx9jJZSo.js} +1 -1
  30. package/dist/control-ui/_app/immutable/nodes/{1.El_L1H2f.js → 1.BL0sXqCf.js} +1 -1
  31. package/dist/control-ui/_app/immutable/nodes/{14.ApTZ29I1.js → 14.CDt16nEp.js} +1 -1
  32. package/dist/control-ui/_app/version.json +1 -1
  33. package/dist/control-ui/index.html +6 -6
  34. package/dist/{deliver-CFSxoz2_.js → deliver-DXKF_Nu0.js} +1 -1
  35. package/dist/{deliver-DotE8uPe.js → deliver-miQ_b14_.js} +20 -20
  36. package/dist/{diagnostic-D8zLma7p.js → diagnostic-CoT2YQH4.js} +1 -1
  37. package/dist/{doctor-completion-B18Bypvd.js → doctor-completion-D7sHoVar.js} +1 -1
  38. package/dist/{doctor-completion-C45zyyLh.js → doctor-completion-sHbqqiJx.js} +1 -1
  39. package/dist/entry.js +1 -1
  40. package/dist/extensionAPI.js +6 -6
  41. package/dist/{frontmatter-D07uaEbx.js → frontmatter-BT4H5SZG.js} +2 -2
  42. package/dist/{fs-safe-DD7nl1O-.js → fs-safe-B8-WkEXM.js} +1 -1
  43. package/dist/{gateway-cli-C9P1VKyA.js → gateway-cli-Ch6gZFPT.js} +6 -6
  44. package/dist/{gateway-cli-Cy10TRa_.js → gateway-cli-DZ4LS2Gw.js} +6 -6
  45. package/dist/{gemini-auth-prEOLMZr.js → gemini-auth-B32PFjFy.js} +1 -1
  46. package/dist/{github-copilot-token-Bu5FPDAY.js → github-copilot-token-BQ98eazZ.js} +7 -7
  47. package/dist/{image-D-wXbQEl.js → image-Bnzq6Ut_.js} +4 -4
  48. package/dist/{image-DafeVSso.js → image-DChVqMFC.js} +1 -1
  49. package/dist/index.js +1 -1
  50. package/dist/{ir-D4AIeS28.js → ir-CRTCIHIG.js} +4 -4
  51. package/dist/llm-slug-generator.js +53 -53
  52. package/dist/{local-roots-B9HIz81e.js → local-roots-tMzVEQD2.js} +5 -5
  53. package/dist/{login-CHBdSags.js → login-DGwFcNWz.js} +7 -7
  54. package/dist/{login-qr-Ch834jRc.js → login-qr-IWLbGrDP.js} +12 -12
  55. package/dist/{manager-B8MDZuUH.js → manager-KxfmY55A.js} +13 -13
  56. package/dist/{manifest-registry-CpMEl7vN.js → manifest-registry-Dovhiqzt.js} +19 -19
  57. package/dist/{markdown-tables-1wSxjPR8.js → markdown-tables-DO9qAEKa.js} +1 -1
  58. package/dist/{message-channel-CW_Jr8qx.js → message-channel-BDlvrUZF.js} +1 -1
  59. package/dist/{model-auth-BlsavKKY.js → model-auth-Dm1uOof6.js} +9 -9
  60. package/dist/{normalize-DsdAOxp0.js → normalize-D5KCCgTX.js} +9 -9
  61. package/dist/{onboard-BO-10joL.js → onboard-C4csnV8K.js} +1 -1
  62. package/dist/{onboard-CoGGGg5K.js → onboard-PLazjdti.js} +1 -1
  63. package/dist/{onboarding-CiOMo5_c.js → onboarding-B_8tUxFm.js} +1 -1
  64. package/dist/{onboarding-EMqX1DQj.js → onboarding-IlBStOWQ.js} +1 -1
  65. package/dist/{onboarding.finalize-BkqY37UR.js → onboarding.finalize-CUfEwc_X.js} +4 -4
  66. package/dist/{onboarding.finalize-D-8iuvnX.js → onboarding.finalize-CscOXfzt.js} +3 -3
  67. package/dist/{outbound-BI27cc0j.js → outbound-CthSjSDV.js} +7 -7
  68. package/dist/{outbound-attachment-Ba6Ea-zP.js → outbound-attachment-BChLBLPg.js} +2 -2
  69. package/dist/{paths-CkkDESQ2.js → paths-CyR9Pa1R.js} +5 -5
  70. package/dist/{paths-B4zRLe0K.js → paths-gnW-md4M.js} +1 -1
  71. package/dist/{pi-auth-json-gQa8k4FW.js → pi-auth-json-mTixxeol.js} +8 -8
  72. package/dist/{pi-embedded-DzV18Sl5.js → pi-embedded-D0HD9Cfc.js} +158 -158
  73. package/dist/{pi-embedded-Ig1YOX5t.js → pi-embedded-DPsT4Vb4.js} +16 -16
  74. package/dist/{pi-embedded-helpers-C-3FQnQz.js → pi-embedded-helpers--8pQ_5Ix.js} +4 -4
  75. package/dist/{pi-embedded-helpers-B4V6-8TA.js → pi-embedded-helpers-f1wpGfIT.js} +52 -52
  76. package/dist/plugin-sdk/{accounts-vV5Gfd26.js → accounts-CRs7kbLB.js} +1 -1
  77. package/dist/plugin-sdk/{accounts-iN-dbgw4.js → accounts-b1Cok6r_.js} +3 -3
  78. package/dist/plugin-sdk/{accounts-LxMkgia0.js → accounts-uAqOguyH.js} +1 -1
  79. package/dist/plugin-sdk/{active-listener-Bh0LXjEI.js → active-listener-BdVTYHTN.js} +1 -1
  80. package/dist/plugin-sdk/{agent-scope-BS_vck4W.js → agent-scope-OWMdRegz.js} +2 -2
  81. package/dist/plugin-sdk/{api-key-rotation-LkecAWT_.js → api-key-rotation-DedcgBOR.js} +1 -1
  82. package/dist/plugin-sdk/{audio-preflight-Bs1SkEb1.js → audio-preflight-EYVIo5wC.js} +25 -25
  83. package/dist/plugin-sdk/{bindings-CTCkMENc.js → bindings-LROfNV1W.js} +2 -2
  84. package/dist/plugin-sdk/{channel-activity-PV3vhwo2.js → channel-activity-DHI8R5Xg.js} +1 -1
  85. package/dist/plugin-sdk/{channel-web-C1Hsjdgf.js → channel-web-CGp1_ZH4.js} +22 -22
  86. package/dist/plugin-sdk/{chrome-cWvSiZw3.js → chrome-BS8LYp6z.js} +3 -3
  87. package/dist/plugin-sdk/{chunk-CyOBR4uk.js → chunk-C9J4kyVw.js} +1 -1
  88. package/dist/plugin-sdk/{command-format-C5kdEGEu.js → command-format-BTciq6Gg.js} +1 -1
  89. package/dist/plugin-sdk/{commands-registry-Bvksrm0n.js → commands-registry-pHxVP_Zd.js} +3 -3
  90. package/dist/{common-B7QyEEac.js → plugin-sdk/common-CCPGi5xr.js} +2 -2
  91. package/dist/plugin-sdk/{config-B8Nc1zrG.js → config-DemNgb7Z.js} +9 -9
  92. package/dist/plugin-sdk/{deliver-Dut_1pt2.js → deliver-BCvqh6o3.js} +10 -10
  93. package/dist/plugin-sdk/{diagnostic-DFXnVf2I.js → diagnostic-oBxO5N68.js} +1 -1
  94. package/dist/plugin-sdk/{fs-safe-CdpuSWry.js → fs-safe-CGcLaY9D.js} +1 -1
  95. package/dist/plugin-sdk/{image-B3tSrFDE.js → image-BHSeZfna.js} +4 -4
  96. package/dist/plugin-sdk/index.js +52 -52
  97. package/dist/plugin-sdk/{ir-05vuco_v.js → ir-JSGKj1e6.js} +4 -4
  98. package/dist/plugin-sdk/{local-roots-DlmKIABh.js → local-roots-jpNoUngc.js} +3 -3
  99. package/dist/plugin-sdk/{login-_t6d0RBi.js → login-Ckh0Yz4j.js} +7 -7
  100. package/dist/plugin-sdk/{login-qr-Czq6nBnB.js → login-qr-DRY27T-V.js} +9 -9
  101. package/dist/plugin-sdk/{manager-DEOMAxd_.js → manager-B9XMF8DU.js} +8 -8
  102. package/dist/plugin-sdk/{manifest-registry-BgkX6ON4.js → manifest-registry-Lzj-fZNH.js} +1 -1
  103. package/dist/plugin-sdk/{markdown-tables-FF81O4MP.js → markdown-tables-CgnPuqk-.js} +1 -1
  104. package/dist/plugin-sdk/{message-channel-DxNExIdv.js → message-channel-C3OrO29D.js} +1 -1
  105. package/dist/plugin-sdk/{model-selection-Bj-E4zbc.js → model-selection-BQiSfqzh.js} +4 -4
  106. package/dist/plugin-sdk/{normalize-DWmWs1Oq.js → normalize-raRH8X3d.js} +4 -4
  107. package/dist/plugin-sdk/{outbound-D2-05wUl.js → outbound-CtRrsxZT.js} +7 -7
  108. package/dist/plugin-sdk/{outbound-attachment-DmbQx_Vk.js → outbound-attachment-BD9q-xgD.js} +2 -2
  109. package/dist/plugin-sdk/{pi-auth-json-D-qvsSpX.js → pi-auth-json-BlIDGSl5.js} +5 -5
  110. package/dist/plugin-sdk/{pi-embedded-helpers-C1u6XyK5.js → pi-embedded-helpers-0qu1zxwF.js} +17 -17
  111. package/dist/plugin-sdk/{plugins-0PB0IWJL.js → plugins-BJciHbYr.js} +3 -3
  112. package/dist/plugin-sdk/{pw-ai-BIyeKPJF.js → pw-ai-DkUDisr8.js} +8 -8
  113. package/dist/plugin-sdk/{qmd-manager-DeQxerRp.js → qmd-manager-kPD4Wyie.js} +4 -4
  114. package/dist/plugin-sdk/{registry-BECEtj9n.js → registry-C8pj8ctW.js} +2 -2
  115. package/dist/plugin-sdk/{replies-DnGHvUeV.js → replies-0BFlZXJ5.js} +3 -3
  116. package/dist/plugin-sdk/{reply-Due6Dl-a.js → reply-BUzGHOJ7.js} +78 -78
  117. package/dist/plugin-sdk/{reply-prefix-UgReuQSG.js → reply-prefix-YUOHz1rF.js} +1 -1
  118. package/dist/plugin-sdk/{resolve-route-BaFHJbum.js → resolve-route-DudlMKs4.js} +3 -3
  119. package/dist/plugin-sdk/{retry-Bkj1k1me.js → retry-B8Oq5mgi.js} +1 -1
  120. package/dist/plugin-sdk/{runner-Bq1wBell.js → runner-BkD3LLSl.js} +9 -9
  121. package/dist/plugin-sdk/{send-MrY4gJ_w.js → send-9i1KJYhJ.js} +7 -7
  122. package/dist/plugin-sdk/{send-D4HKCCvV.js → send-A_uouj00.js} +7 -7
  123. package/dist/plugin-sdk/{send-By-dm-fT.js → send-CpfmIaxP.js} +11 -11
  124. package/dist/plugin-sdk/{send-NUKqMNZh.js → send-DREpPboJ.js} +6 -6
  125. package/dist/plugin-sdk/{send-M99nJHP9.js → send-Di1hHvf2.js} +11 -11
  126. package/dist/plugin-sdk/{session-DGLRioDC.js → session-CpS-Mhnp.js} +4 -4
  127. package/dist/plugin-sdk/{skill-commands-Cw-IRPUz.js → skill-commands-CTB7AZXn.js} +5 -5
  128. package/dist/plugin-sdk/{skills-D0-IpJne.js → skills-BCD1hFBZ.js} +7 -7
  129. package/dist/plugin-sdk/{sqlite-DtIiUWZr.js → sqlite-Yn48izJ_.js} +1 -1
  130. package/dist/plugin-sdk/{store-BcTI1iBS.js → store-BJRhX9Bi.js} +2 -2
  131. package/dist/plugin-sdk/{subsystem-Ck27y_6W.js → subsystem-BfLMZ8kW.js} +1 -1
  132. package/dist/plugin-sdk/{tables-B6ajREI6.js → tables-D5aPNTF6.js} +1 -1
  133. package/dist/plugin-sdk/{thinking-D81fexfE.js → thinking-BACprzA0.js} +5 -5
  134. package/dist/plugin-sdk/{tokens-B6GWdF_0.js → tokens-D1LxPszt.js} +1 -1
  135. package/dist/plugin-sdk/{tool-loop-detection-CbPwu1_R.js → tool-loop-detection-CYSptBsl.js} +2 -2
  136. package/dist/plugin-sdk/web-DNugKZLo.js +65 -0
  137. package/dist/plugin-sdk/{whatsapp-actions-B8IYO5sc.js → whatsapp-actions-CGuheX42.js} +20 -20
  138. package/dist/{plugins-CLJ0iOl0.js → plugins-CJYXNO4s.js} +1 -1
  139. package/dist/{program-DWc2vj5U.js → program-BEOFzhHf.js} +2 -2
  140. package/dist/{program-context-g9Bf7H9y.js → program-context-CTRcW6qt.js} +6 -6
  141. package/dist/{prompt-select-styled-Dq1G221I.js → prompt-select-styled-DEl1ViOW.js} +1 -1
  142. package/dist/{prompt-select-styled-dUrAqGxZ.js → prompt-select-styled-DxHHs9eu.js} +1 -1
  143. package/dist/{pw-ai-Db7y7La-.js → pw-ai-BJE3mkCf.js} +11 -11
  144. package/dist/{pw-ai-CNp2t_EO.js → pw-ai-D6PxL0UG.js} +1 -1
  145. package/dist/{qmd-manager-3KfZrilm.js → qmd-manager-4-VYqNeC.js} +7 -7
  146. package/dist/{register.maintenance-BQlKe9JQ.js → register.maintenance-BdAIyY7s.js} +4 -4
  147. package/dist/{register.maintenance-BXCIyC2q.js → register.maintenance-jNMy6C-i.js} +5 -5
  148. package/dist/{register.onboard-XjRFAaX-.js → register.onboard-C_oZreTK.js} +2 -2
  149. package/dist/{register.onboard-BjMshgZ4.js → register.onboard-DlDtwyfd.js} +2 -2
  150. package/dist/{register.setup-D9k8Eyg7.js → register.setup-Ba6S39kI.js} +2 -2
  151. package/dist/{register.setup-C3aOJ-9J.js → register.setup-WBFMBTcP.js} +2 -2
  152. package/dist/{register.subclis-DpCWe0ca.js → register.subclis-DtUGzYVz.js} +3 -3
  153. package/dist/{registry-CXBAJGac.js → registry-BmY4gNy6.js} +17 -17
  154. package/dist/{replies-C3QP8Fs6.js → replies-BJH3pQXJ.js} +3 -3
  155. package/dist/{reply-prefix-DhPco1Lk.js → reply-prefix-BaCBHwi7.js} +1 -1
  156. package/dist/{resolve-route-BQouUsWd.js → resolve-route-ClURVRZM.js} +4 -4
  157. package/dist/{retry-BwVcNQB0.js → retry-BxB_D6Pn.js} +1 -1
  158. package/dist/{run-main-BRe5c6iW.js → run-main-B6uubEb8.js} +3 -3
  159. package/dist/{runner-cxIcSp2C.js → runner-BmfMAciA.js} +9 -9
  160. package/dist/{runner-BN1T_Ne4.js → runner-CRUcM4a1.js} +1 -1
  161. package/dist/{send-DNUVC_tJ.js → send-B6BrpfcR.js} +7 -7
  162. package/dist/{send-ByKJYHWg.js → send-BNdapfcg.js} +19 -19
  163. package/dist/{send-CPUILfmc.js → send-C1F31aYA.js} +6 -6
  164. package/dist/{send-3ea6pkzH.js → send-D6tzL2Tv.js} +10 -10
  165. package/dist/{send-2sCLgOVr.js → send-DvBDdcQr.js} +6 -6
  166. package/dist/{session-C0_85REJ.js → session-BH5NTora.js} +8 -8
  167. package/dist/{skill-commands-IxgOIsIT.js → skill-commands-DVss6_wi.js} +9 -9
  168. package/dist/{skills-CwAZv64I.js → skills-Ci_2Mah4.js} +21 -21
  169. package/dist/{sqlite-BY19hYgD.js → sqlite-DJh2xLr6.js} +4 -4
  170. package/dist/{store-CDqpQLub.js → store-Be0QxLPZ.js} +2 -2
  171. package/dist/{subsystem-BFaeHXzD.js → subsystem-B5g771Td.js} +1 -1
  172. package/dist/{tables-z72GfOJY.js → tables-xDr7OSBa.js} +1 -1
  173. package/dist/{thinking-BzWAkN2b.js → thinking-wiChP3LK.js} +5 -5
  174. package/dist/{tokens-CC-Nd7t2.js → tokens-BRx7o_ZS.js} +1 -1
  175. package/dist/{tool-loop-detection-DDnbw1kC.js → tool-loop-detection-BjQsVGUc.js} +3 -3
  176. package/dist/{update-cli-Cnm99-Cj.js → update-cli-COyyIt37.js} +5 -5
  177. package/dist/{update-cli-3URF877J.js → update-cli-WAMVsPit.js} +4 -4
  178. package/dist/{web-CXDGlE3A.js → web-C0-NYLoG.js} +57 -57
  179. package/dist/{web-ComVBhjb.js → web-QGqe0Uj4.js} +6 -6
  180. package/dist/{whatsapp-actions-CLGSXEPl.js → whatsapp-actions-CgowK4CW.js} +23 -23
  181. package/dist/{workspace-CGgFZdqw.js → workspace-D9IzNnST.js} +6 -6
  182. package/package.json +1 -1
  183. package/dist/control-ui/_app/immutable/chunks/CB9985Nn.js +0 -1
  184. package/dist/control-ui/_app/immutable/entry/start.B5atPhn7.js +0 -1
  185. package/dist/plugin-sdk/web-BfmMxgKj.js +0 -65
@@ -15,7 +15,7 @@ import { t as normalizeChatType } from "./chat-type-DFDuk3FY.js";
15
15
  import { a as resolveSlackWebClientOptions, c as buildSlackBlocksFallbackText, i as createSlackWebClient, l as parseSlackTarget, o as parseSlackBlocksInput, s as validateSlackBlocksArray, t as sendMessageSlack, u as resolveSlackChannelId } from "./send-CWMOAb1p.js";
16
16
  import { n as listChannelPlugins, r as normalizeChannelId$1, t as getChannelPlugin } from "./plugins-C2vFjSxX.js";
17
17
  import { $ as hasAnyGuildPermissionDiscord, A as addRoleDiscord, B as removeRoleDiscord, C as fetchMessageDiscord, Ct as applyChannelMatchMeta, D as readMessagesDiscord, E as pinMessageDiscord, Et as resolveChannelEntryMatchWithFallback, F as fetchRoleInfoDiscord, G as createChannelDiscord, H as listGuildEmojisDiscord, I as fetchVoiceStatusDiscord, J as moveChannelDiscord, K as deleteChannelDiscord, L as kickMemberDiscord, M as createScheduledEventDiscord, N as fetchChannelInfoDiscord, O as searchMessagesDiscord, P as fetchMemberInfoDiscord, Q as fetchChannelPermissionsDiscord, R as listGuildChannelsDiscord, S as editMessageDiscord, St as fetchDiscord, T as listThreadsDiscord, Tt as normalizeChannelSlug, U as uploadEmojiDiscord, V as timeoutMemberDiscord, W as uploadStickerDiscord, X as setChannelPermissionDiscord, Y as removeChannelPermissionDiscord, Z as stripUndefinedFields, _ as sendPollDiscord, _t as shouldEmitDiscordReactionNotification, a as removeReactionDiscord, at as listDiscordDirectoryPeersLive, b as createThreadDiscord, bt as resolveDiscordSystemLocation, c as formatDiscordComponentEventText, ct as normalizeDiscordAllowList, d as parseDiscordModalCustomId, dt as resolveDiscordChannelConfigWithFallback, et as createDiscordClient, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordGuildEntry, g as sendMessageDiscord, gt as resolveGroupDmAllow, h as resolveDiscordModalEntry, ht as resolveDiscordShouldRequireMention, i as removeOwnReactionsDiscord, it as listDiscordDirectoryGroupsLive, j as banMemberDiscord, k as unpinMessageDiscord, l as parseDiscordComponentCustomId, lt as normalizeDiscordSlug, m as resolveDiscordComponentEntry, mt as resolveDiscordOwnerAllowFrom, n as fetchReactionsDiscord, nt as parseDiscordTarget, o as sendDiscordComponentMessage, ot as allowListMatches$1, p as readDiscordComponentSpec, pt as resolveDiscordMemberAccessState, q as editChannelDiscord, r as reactMessageDiscord, rt as resolveDiscordChannelId, s as createDiscordFormModal, st as isDiscordGroupAllowedByPolicy, tt as chunkDiscordTextWithMode, u as parseDiscordComponentCustomIdForCarbon, ut as resolveDiscordAllowListMatch, v as sendStickerDiscord, vt as formatDiscordReactionEmoji, w as listPinsDiscord, wt as buildChannelKeyCandidates, x as deleteMessageDiscord, xt as resolveTimestampMs, y as sendVoiceMessageDiscord, yt as formatDiscordUserTag, z as listScheduledEventsDiscord } from "./send-QkIrcXE6.js";
18
- import { C as getGlobalHookRunner, S as parseInlineDirectives$1, _ as normalizeTargetForProvider, a as normalizeOutboundPayloadsForJson, b as MEDIA_TOKEN_RE, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as normalizeChannelTargetInput, h as buildTargetResolverSignature, i as normalizeOutboundPayloads, l as filterMessagingToolDuplicates, m as resolveReplyToMode, o as normalizeReplyPayloadsForDelivery, p as createReplyToModeFilterForChannel, r as formatOutboundPayloadLog, s as applyReplyTagsToPayload, t as deliverOutboundPayloads, u as filterMessagingToolMediaDuplicates, v as throwIfAborted, w as initializeGlobalHookRunner, x as splitMediaFromOutput, y as parseReplyDirectives } from "./deliver-CFSxoz2_.js";
18
+ import { C as getGlobalHookRunner, S as parseInlineDirectives$1, _ as normalizeTargetForProvider, a as normalizeOutboundPayloadsForJson, b as MEDIA_TOKEN_RE, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as normalizeChannelTargetInput, h as buildTargetResolverSignature, i as normalizeOutboundPayloads, l as filterMessagingToolDuplicates, m as resolveReplyToMode, o as normalizeReplyPayloadsForDelivery, p as createReplyToModeFilterForChannel, r as formatOutboundPayloadLog, s as applyReplyTagsToPayload, t as deliverOutboundPayloads, u as filterMessagingToolMediaDuplicates, v as throwIfAborted, w as initializeGlobalHookRunner, x as splitMediaFromOutput, y as parseReplyDirectives } from "./deliver-DXKF_Nu0.js";
19
19
  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-BPqN_C5K.js";
20
20
  import { r as getDiagnosticSessionState } from "./diagnostic-session-state-Bu3E4Enn.js";
21
21
  import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-4VxR4Yrw.js";
@@ -23,11 +23,11 @@ import { $ as isVoiceCompatibleAudio, A as extractTelegramLocation, B as normali
23
23
  import { d as detectMime, f as extensionForMime, g as isGifMedia, h as isAudioFileName, m as imageMimeFromFormat, s as getImageMetadata, u as resizeToJpeg, x as mediaKindFromMime, y as MAX_IMAGE_BYTES } from "./fs-safe-GrTh3Ydq.js";
24
24
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-DaNAekda.js";
25
25
  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-BxsLQyfw.js";
26
- import { $ as normalizeSessionDeliveryFields, A as isTransientHttpError, At as getBridgeAuthForPort, B as loadSessionStore, Bt as normalizeToolName, C as isContextOverflowError, Ct as resolveSessionLockMaxHoldFromTimeout, D as isRateLimitAssistantError, Dt as resolveProfile, E as isLikelyContextOverflowError, Et as resolveBrowserConfig, F as resolveSandboxContext, Ft as buildPluginToolGroups, G as updateSessionStore, Gt as buildBootstrapContextFiles, H as recordSessionMetaFromInbound, Ht as stripPluginOnlyAllowlist, I as resolveSandboxRuntimeStatus, It as collectExplicitAllowlist, J as resolveCacheTtlMs$1, Jt as resolveBootstrapTotalMaxChars, K as updateSessionStoreEntry, Kt as ensureSessionHeader, L as extractDeliveryInfo, Lt as expandPolicyWithPluginGroups, M as parseImageSizeError, Mt as resolveBrowserControlAuth, N as sanitizeUserFacingText, Nt as resolveSandboxConfigForAgent, O as isRawApiErrorPayload, Ot as DEFAULT_UPLOAD_DIR, P as ensureSandboxWorkspaceForSession, Pt as applyOwnerOnlyToolPolicy, Q as normalizeDeliveryContext, R as appendAssistantMessageToSessionTranscript, Rt as expandToolGroups, S as isCompactionFailureError, St as acquireSessionWriteLock, T as isFailoverErrorMessage, Tt as registerBrowserRoutes, Ut as compileGlobPatterns, V as readSessionUpdatedAt, Vt as resolveToolProfilePolicy, W as updateLastRoute, Wt as matchesAnyGlobPattern, X as deliveryContextKey, Y as deliveryContextFromSession, Yt as sanitizeGoogleTurnOrdering, Z as mergeDeliveryContext, _ as formatRawAssistantErrorForUi, _t as canonicalizeMainSessionAlias, a as isMessagingToolDuplicateNormalized, at as INPUT_PROVENANCE_KIND_VALUES, b as isBillingAssistantError, bt as deriveSessionMetaPatch, c as extractToolCallsFromAssistant, ct as normalizeInputProvenance, d as isAntigravityClaude, dt as resolveChannelResetConfig, et as normalizeAccountId$4, f as isGoogleModelApi, ft as resolveSessionResetPolicy, g as formatBillingErrorMessage, gt as resolveFreshSessionTotalTokens, h as formatAssistantErrorText, ht as DEFAULT_RESET_TRIGGERS, it as extractToolCallNames, j as parseImageDimensionError, jt as ensureBrowserControlAuth, k as isTimeoutErrorMessage, kt as resolveExistingPathsWithinRoot, l as extractToolResultId, lt as resolveSessionKey, m as classifyFailoverReason, mt as resolveThreadFlag, n as validateGeminiTurns, nt as capArrayByJsonBytes, o as normalizeTextForComparison, ot as applyInputProvenanceToUserMessage, p as BILLING_ERROR_USER_MESSAGE, pt as resolveSessionResetType, q as isCacheEnabled, qt as resolveBootstrapMaxChars, r as pickFallbackThinkingLevel, rt as countToolResults, s as sanitizeSessionMessagesImages, st as hasInterSessionUserProvenance, t as validateAnthropicTurns, tt as archiveSessionTranscripts, u as downgradeOpenAIReasoningBlocks, ut as evaluateSessionFreshness, v as getApiErrorPayloadFingerprint, vt as resolveExplicitAgentSessionKey, w as isFailoverAssistantError, wt as createBrowserRouteContext, x as isCloudCodeAssistFormatError, xt as resolveGroupSessionKey, y as isAuthAssistantError, yt as resolveMainSessionKey, zt as mergeAlsoAllowPolicy } from "./pi-embedded-helpers-C-3FQnQz.js";
26
+ import { $ as normalizeSessionDeliveryFields, A as isTransientHttpError, At as getBridgeAuthForPort, B as loadSessionStore, Bt as normalizeToolName, C as isContextOverflowError, Ct as resolveSessionLockMaxHoldFromTimeout, D as isRateLimitAssistantError, Dt as resolveProfile, E as isLikelyContextOverflowError, Et as resolveBrowserConfig, F as resolveSandboxContext, Ft as buildPluginToolGroups, G as updateSessionStore, Gt as buildBootstrapContextFiles, H as recordSessionMetaFromInbound, Ht as stripPluginOnlyAllowlist, I as resolveSandboxRuntimeStatus, It as collectExplicitAllowlist, J as resolveCacheTtlMs$1, Jt as resolveBootstrapTotalMaxChars, K as updateSessionStoreEntry, Kt as ensureSessionHeader, L as extractDeliveryInfo, Lt as expandPolicyWithPluginGroups, M as parseImageSizeError, Mt as resolveBrowserControlAuth, N as sanitizeUserFacingText, Nt as resolveSandboxConfigForAgent, O as isRawApiErrorPayload, Ot as DEFAULT_UPLOAD_DIR, P as ensureSandboxWorkspaceForSession, Pt as applyOwnerOnlyToolPolicy, Q as normalizeDeliveryContext, R as appendAssistantMessageToSessionTranscript, Rt as expandToolGroups, S as isCompactionFailureError, St as acquireSessionWriteLock, T as isFailoverErrorMessage, Tt as registerBrowserRoutes, Ut as compileGlobPatterns, V as readSessionUpdatedAt, Vt as resolveToolProfilePolicy, W as updateLastRoute, Wt as matchesAnyGlobPattern, X as deliveryContextKey, Y as deliveryContextFromSession, Yt as sanitizeGoogleTurnOrdering, Z as mergeDeliveryContext, _ as formatRawAssistantErrorForUi, _t as canonicalizeMainSessionAlias, a as isMessagingToolDuplicateNormalized, at as INPUT_PROVENANCE_KIND_VALUES, b as isBillingAssistantError, bt as deriveSessionMetaPatch, c as extractToolCallsFromAssistant, ct as normalizeInputProvenance, d as isAntigravityClaude, dt as resolveChannelResetConfig, et as normalizeAccountId$4, f as isGoogleModelApi, ft as resolveSessionResetPolicy, g as formatBillingErrorMessage, gt as resolveFreshSessionTotalTokens, h as formatAssistantErrorText, ht as DEFAULT_RESET_TRIGGERS, it as extractToolCallNames, j as parseImageDimensionError, jt as ensureBrowserControlAuth, k as isTimeoutErrorMessage, kt as resolveExistingPathsWithinRoot, l as extractToolResultId, lt as resolveSessionKey, m as classifyFailoverReason, mt as resolveThreadFlag, n as validateGeminiTurns, nt as capArrayByJsonBytes, o as normalizeTextForComparison, ot as applyInputProvenanceToUserMessage, p as BILLING_ERROR_USER_MESSAGE, pt as resolveSessionResetType, q as isCacheEnabled, qt as resolveBootstrapMaxChars, r as pickFallbackThinkingLevel, rt as countToolResults, s as sanitizeSessionMessagesImages, st as hasInterSessionUserProvenance, t as validateAnthropicTurns, tt as archiveSessionTranscripts, u as downgradeOpenAIReasoningBlocks, ut as evaluateSessionFreshness, v as getApiErrorPayloadFingerprint, vt as resolveExplicitAgentSessionKey, w as isFailoverAssistantError, wt as createBrowserRouteContext, x as isCloudCodeAssistFormatError, xt as resolveGroupSessionKey, y as isAuthAssistantError, yt as resolveMainSessionKey, zt as mergeAlsoAllowPolicy } from "./pi-embedded-helpers--8pQ_5Ix.js";
27
27
  import { C as getConfigValueAtPath, D as isSafeExecutableValue, E as unsetConfigValueAtPath, O as resolveAgentMaxConcurrent, S as unsetConfigOverride, T as setConfigValueAtPath, _ as parseDurationMs, a as writeConfigFile, b as resetConfigOverrides, c as TELEGRAM_COMMAND_NAME_PATTERN, f as isInboundPathAllowed, g as normalizeScpRemoteHost, h as resolveIMessageRemoteAttachmentRoots, i as resolveConfigSnapshotHash, k as VERSION, l as normalizeTelegramCommandName, m as resolveIMessageAttachmentRoots, n as loadConfig, o as validateConfigObjectWithPlugins, r as readConfigFileSnapshot, u as resolveTelegramCustomCommands, v as validateJsonSchemaValue, w as parseConfigPath, x as setConfigOverride, y as getConfigOverrides } from "./config-C-FsU8K2.js";
28
28
  import { c as normalizePluginsConfig, f as isPathInsideWithRealpath, i as safeStatSync, l as resolveEnableState, n as discoverOpenClawPlugins, r as isPathInside, s as applyTestPluginDefaults, t as loadPluginManifestRegistry, u as resolveMemorySlotDecision } from "./manifest-registry-DmjapxrQ.js";
29
29
  import { a as parseAvailableTags, c as readStringArrayParam, h as resolveImageSanitizationLimits, i as jsonResult, l as readStringOrNumberParam, m as sanitizeToolResultImages, n as imageResult, o as readNumberParam, p as sanitizeImageBlocks, r as imageResultFromFile, s as readReactionParams, t as createActionGate, u as readStringParam } from "./common-BLbt_nyn.js";
30
- import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-7PNldBIY.js";
30
+ import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-jiKls1lm.js";
31
31
  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-D0U6i6zO.js";
32
32
  import { n as formatErrorMessage, r as formatUncaughtError } from "./errors-BxR4oB-s.js";
33
33
  import { i as isBlockedHostnameOrIp, o as normalizeHostname, t as SsrFBlockedError } from "./ssrf-DH-Ltk62.js";
@@ -37,7 +37,7 @@ import { n as resolveConversationLabel } from "./conversation-label-BqCuLhlF.js"
37
37
  import { t as resolveIMessageAccount } from "./accounts-Dh62JQhz.js";
38
38
  import { i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as resolveSessionTranscriptsDirForAgent, r as resolveSessionFilePathOptions, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-COn9vdws.js";
39
39
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-Cj85Mq0h.js";
40
- import { S as ensureOpenClawModelsJson, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, x as extractTextFromChatContent, y as resolveToolDisplay } from "./image-DafeVSso.js";
40
+ import { S as ensureOpenClawModelsJson, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, x as extractTextFromChatContent, y as resolveToolDisplay } from "./image-DChVqMFC.js";
41
41
  import { n as resolveMemorySearchConfig } from "./manager-8YM4OuaA.js";
42
42
  import { d as listMemoryFiles, f as normalizeExtraMemoryPaths, g as runTasksWithConcurrency } from "./sqlite-CNpRo6JS.js";
43
43
  import { n as retryAsync } from "./retry-CZWUKIdy.js";
@@ -49,7 +49,7 @@ import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-CEvNPW62.js";
49
49
  import { a as listChatCommandsForConfig, c as normalizeCommandBody, d as resolveCommandArgMenu, f as serializeCommandArgs, i as listChatCommands, l as parseCommandArgs, o as listNativeCommandSpecs, p as shouldHandleTextCommands, r as findCommandByNativeName, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as resolveCommandArgChoices } from "./commands-registry-DstTsjwe.js";
50
50
  import { c as getSkillsSnapshotVersion, d as createAsyncLock, f as readJsonFile, i as resolveSkillCommandInvocation, l as pruneExpiredPending, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, p as writeJsonAtomic, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames, u as resolvePairingPaths } from "./skill-commands-ByybLoXv.js";
51
51
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-C5ohLdkB.js";
52
- import { _ as resolveMediaUnderstandingScope, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as buildRandomTempFilePath, g as normalizeMediaUnderstandingChatType, h as resolveTimeoutMs$1, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveConcurrency, n as createMediaAttachmentCache, o as runCapability, p as registerUnhandledRejectionHandler, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as CLI_OUTPUT_MAX_BUFFER, y as applyTemplate } from "./runner-BN1T_Ne4.js";
52
+ import { _ as resolveMediaUnderstandingScope, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as buildRandomTempFilePath, g as normalizeMediaUnderstandingChatType, h as resolveTimeoutMs$1, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveConcurrency, n as createMediaAttachmentCache, o as runCapability, p as registerUnhandledRejectionHandler, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as CLI_OUTPUT_MAX_BUFFER, y as applyTemplate } from "./runner-CRUcM4a1.js";
53
53
  import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-BMa0enEg.js";
54
54
  import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-DtXYsHEc.js";
55
55
  import { n as normalizePollInput } from "./polls-BloyMqd2.js";
@@ -79,7 +79,7 @@ import { EdgeTTS } from "node-edge-tts";
79
79
  import AjvPkg from "ajv";
80
80
  import { createServer } from "node:http";
81
81
  import { ProxyAgent, fetch as fetch$1 } from "undici";
82
- import WebSocket, { WebSocket as WebSocket$1 } from "ws";
82
+ import WebSocket$1, { WebSocket } from "ws";
83
83
  import { Buffer as Buffer$1 } from "node:buffer";
84
84
  import { createJiti } from "jiti";
85
85
  import { Type } from "@sinclair/typebox";
@@ -5712,7 +5712,7 @@ var GatewayClient = class {
5712
5712
  if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
5713
5713
  });
5714
5714
  }
5715
- this.ws = new WebSocket$1(url, wsOptions);
5715
+ this.ws = new WebSocket(url, wsOptions);
5716
5716
  this.ws.on("open", () => {
5717
5717
  if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
5718
5718
  const tlsError = this.validateTlsFingerprint();
@@ -5931,7 +5931,7 @@ var GatewayClient = class {
5931
5931
  return null;
5932
5932
  }
5933
5933
  async request(method, params, opts) {
5934
- if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error("gateway not connected");
5934
+ if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
5935
5935
  const id = randomUUID();
5936
5936
  const frame = {
5937
5937
  type: "req",
@@ -7195,7 +7195,7 @@ async function routeReply(params) {
7195
7195
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
7196
7196
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
7197
7197
  try {
7198
- const { deliverOutboundPayloads } = await import("./deliver-CFSxoz2_.js").then((n) => n.n);
7198
+ const { deliverOutboundPayloads } = await import("./deliver-DXKF_Nu0.js").then((n) => n.n);
7199
7199
  return {
7200
7200
  ok: true,
7201
7201
  messageId: (await deliverOutboundPayloads({
@@ -39751,7 +39751,7 @@ async function deliverSessionMaintenanceWarning(params) {
39751
39751
  return;
39752
39752
  }
39753
39753
  try {
39754
- const { deliverOutboundPayloads } = await import("./deliver-CFSxoz2_.js").then((n) => n.n);
39754
+ const { deliverOutboundPayloads } = await import("./deliver-DXKF_Nu0.js").then((n) => n.n);
39755
39755
  await deliverOutboundPayloads({
39756
39756
  cfg: params.cfg,
39757
39757
  channel,
@@ -43183,7 +43183,7 @@ async function describeStickerImage(params) {
43183
43183
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
43184
43184
  try {
43185
43185
  const buffer = await fs$1.readFile(imagePath);
43186
- const { describeImageWithModel } = await import("./image-DafeVSso.js").then((n) => n.n);
43186
+ const { describeImageWithModel } = await import("./image-DChVqMFC.js").then((n) => n.n);
43187
43187
  return (await describeImageWithModel({
43188
43188
  buffer,
43189
43189
  fileName: "sticker.webp",
@@ -45603,7 +45603,7 @@ async function preflightDiscordMessage(params) {
45603
45603
  let preflightTranscript;
45604
45604
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
45605
45605
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
45606
- const { transcribeFirstAudio } = await import("./audio-preflight-CketII1D.js");
45606
+ const { transcribeFirstAudio } = await import("./audio-preflight-CJMYPxgz.js");
45607
45607
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
45608
45608
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
45609
45609
  ctx: {
@@ -49734,7 +49734,7 @@ function isVoiceChannelType(type) {
49734
49734
  function createDefaultDeps() {
49735
49735
  return {
49736
49736
  sendMessageWhatsApp: async (...args) => {
49737
- const { sendMessageWhatsApp } = await import("./web-ComVBhjb.js");
49737
+ const { sendMessageWhatsApp } = await import("./web-QGqe0Uj4.js");
49738
49738
  return await sendMessageWhatsApp(...args);
49739
49739
  },
49740
49740
  sendMessageTelegram: async (...args) => {
@@ -52630,7 +52630,7 @@ function createDiscordGatewayPlugin(params) {
52630
52630
  super(options);
52631
52631
  }
52632
52632
  createWebSocket(url) {
52633
- return new WebSocket(url, { agent });
52633
+ return new WebSocket$1(url, { agent });
52634
52634
  }
52635
52635
  }
52636
52636
  return new ProxyGatewayPlugin();
@@ -62378,7 +62378,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
62378
62378
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
62379
62379
  let preflightTranscript;
62380
62380
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
62381
- const { transcribeFirstAudio } = await import("./audio-preflight-CketII1D.js");
62381
+ const { transcribeFirstAudio } = await import("./audio-preflight-CJMYPxgz.js");
62382
62382
  preflightTranscript = await transcribeFirstAudio({
62383
62383
  ctx: {
62384
62384
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -64556,7 +64556,7 @@ function loadWebLoginQr() {
64556
64556
  return webLoginQrPromise;
64557
64557
  }
64558
64558
  function loadWebChannel() {
64559
- webChannelPromise ??= import("./web-ComVBhjb.js");
64559
+ webChannelPromise ??= import("./web-QGqe0Uj4.js");
64560
64560
  return webChannelPromise;
64561
64561
  }
64562
64562
  function loadWhatsAppActions() {
@@ -11,7 +11,7 @@ import { a as buildImageResizeSideGrid, i as IMAGE_REDUCE_QUALITY_STEPS, n as op
11
11
  import { o as listDeliverableMessageChannels, s as normalizeMessageChannel } from "./message-channel-BxsLQyfw.js";
12
12
  import { _ as parseDurationMs, a as writeConfigFile, n as loadConfig, s as parseByteSize, t as createConfigIO } from "./config-C-FsU8K2.js";
13
13
  import { d as wrapOwnerOnlyToolExecution, f as sanitizeContentBlocksImages } from "./common-BLbt_nyn.js";
14
- import { A as DEFAULT_BROWSER_EVALUATE_ENABLED, D as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, E as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, M as DEFAULT_OPENCLAW_BROWSER_ENABLED, N as DEFAULT_OPENCLAW_BROWSER_PROFILE_NAME, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, S as stopChromeExtensionRelayServer, _ as fetchJson, a as resolveOpenClawUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, g as appendCdpPath, h as withBrowserNavigationPolicy, i as launchOpenClawChrome, j as DEFAULT_OPENCLAW_BROWSER_COLOR, k as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, l as createTargetViaCdp, m as assertBrowserNavigationAllowed, n as isChromeCdpReady, o as stopOpenClawChrome, p as InvalidBrowserNavigationUrlError, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as fetchOk, w as isLoopbackHost, x as ensureChromeExtensionRelayServer } from "./chrome-7PNldBIY.js";
14
+ import { A as DEFAULT_BROWSER_EVALUATE_ENABLED, D as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, E as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, M as DEFAULT_OPENCLAW_BROWSER_ENABLED, N as DEFAULT_OPENCLAW_BROWSER_PROFILE_NAME, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, S as stopChromeExtensionRelayServer, _ as fetchJson, a as resolveOpenClawUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, g as appendCdpPath, h as withBrowserNavigationPolicy, i as launchOpenClawChrome, j as DEFAULT_OPENCLAW_BROWSER_COLOR, k as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, l as createTargetViaCdp, m as assertBrowserNavigationAllowed, n as isChromeCdpReady, o as stopOpenClawChrome, p as InvalidBrowserNavigationUrlError, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as fetchOk, w as isLoopbackHost, x as ensureChromeExtensionRelayServer } from "./chrome-jiKls1lm.js";
15
15
  import { a as syncSkillsToWorkspace, l as resolveSandboxInputPath, m as sanitizeEnvVars, u as resolveSandboxPath } from "./skills-D0U6i6zO.js";
16
16
  import { n as formatErrorMessage, t as extractErrorCode } from "./errors-BxR4oB-s.js";
17
17
  import { t as SsrFBlockedError } from "./ssrf-DH-Ltk62.js";
@@ -917,7 +917,7 @@ function isModuleNotFoundError(err) {
917
917
  }
918
918
  async function loadPwAiModule(mode) {
919
919
  try {
920
- return await import("./pw-ai-CNp2t_EO.js");
920
+ return await import("./pw-ai-D6PxL0UG.js");
921
921
  } catch (err) {
922
922
  if (mode === "soft") return null;
923
923
  if (isModuleNotFoundError(err)) return null;
@@ -3459,11 +3459,11 @@ function createProfileContext(opts, profile) {
3459
3459
  const userDataDir = resolveOpenClawUserDataDir(profile.name);
3460
3460
  const profileState = getProfileState();
3461
3461
  if (await isHttpReachable(300) && !profileState.running) try {
3462
- await (await import("./pw-ai-CNp2t_EO.js")).closePlaywrightBrowserConnection();
3462
+ await (await import("./pw-ai-D6PxL0UG.js")).closePlaywrightBrowserConnection();
3463
3463
  } catch {}
3464
3464
  if (profileState.running) await stopRunningBrowser();
3465
3465
  try {
3466
- await (await import("./pw-ai-CNp2t_EO.js")).closePlaywrightBrowserConnection();
3466
+ await (await import("./pw-ai-D6PxL0UG.js")).closePlaywrightBrowserConnection();
3467
3467
  } catch {}
3468
3468
  if (!fs.existsSync(userDataDir)) return {
3469
3469
  moved: false,
@@ -1,31 +1,31 @@
1
- import { i as resolveGatewayPort, t as STATE_DIR, u as resolveRequiredHomeDir } from "./paths-CkkDESQ2.js";
1
+ import { i as resolveGatewayPort, t as STATE_DIR, u as resolveRequiredHomeDir } from "./paths-CyR9Pa1R.js";
2
2
  import { d as resolveAgentIdFromSessionKey, i as buildAgentMainSessionKey, l as normalizeAgentId, n as DEFAULT_AGENT_ID, u as normalizeMainKey } from "./session-key-CgcjHuX_.js";
3
- import { I as resolveUserPath, M as normalizeE164, U as truncateUtf16Safe, dt as resolvePreferredOpenClawTmpDir, t as CHANNEL_IDS } from "./registry-CXBAJGac.js";
4
- import { n as resolveAgentConfig, u as resolveSessionAgentId } from "./agent-scope-DgSbJ6PA.js";
5
- import { r as defaultRuntime, t as createSubsystemLogger } from "./subsystem-BFaeHXzD.js";
6
- import { _ as runExec, a as DEFAULT_IDENTITY_FILENAME, c as DEFAULT_USER_FILENAME, i as DEFAULT_HEARTBEAT_FILENAME, l as ensureAgentWorkspace, n as DEFAULT_AGENT_WORKSPACE_DIR, o as DEFAULT_SOUL_FILENAME, r as DEFAULT_BOOTSTRAP_FILENAME, s as DEFAULT_TOOLS_FILENAME, t as DEFAULT_AGENTS_FILENAME } from "./workspace-CGgFZdqw.js";
3
+ import { I as resolveUserPath, M as normalizeE164, U as truncateUtf16Safe, dt as resolvePreferredOpenClawTmpDir, t as CHANNEL_IDS } from "./registry-BmY4gNy6.js";
4
+ import { n as resolveAgentConfig, u as resolveSessionAgentId } from "./agent-scope-BLYwrEEA.js";
5
+ import { r as defaultRuntime, t as createSubsystemLogger } from "./subsystem-B5g771Td.js";
6
+ import { _ as runExec, a as DEFAULT_IDENTITY_FILENAME, c as DEFAULT_USER_FILENAME, i as DEFAULT_HEARTBEAT_FILENAME, l as ensureAgentWorkspace, n as DEFAULT_AGENT_WORKSPACE_DIR, o as DEFAULT_SOUL_FILENAME, r as DEFAULT_BOOTSTRAP_FILENAME, s as DEFAULT_TOOLS_FILENAME, t as DEFAULT_AGENTS_FILENAME } from "./workspace-D9IzNnST.js";
7
7
  import { t as normalizeChatType } from "./chat-type-C_KiWNAH.js";
8
8
  import { t as parseBooleanValue } from "./boolean-B8-BqKGQ.js";
9
- import { t as formatCliCommand } from "./command-format--87BbJbN.js";
10
- import { r as normalizeChannelId } from "./plugins-CLJ0iOl0.js";
11
- import { a as buildImageResizeSideGrid, i as IMAGE_REDUCE_QUALITY_STEPS, n as openFileWithinRoot, s as getImageMetadata, t as SafeOpenError, u as resizeToJpeg } from "./fs-safe-DD7nl1O-.js";
12
- import { S as isPidAlive, x as resolveProcessScopedMap } from "./model-auth-BlsavKKY.js";
13
- import { o as listDeliverableMessageChannels, s as normalizeMessageChannel } from "./message-channel-CW_Jr8qx.js";
14
- import { _ as parseDurationMs, a as writeConfigFile, n as loadConfig, s as parseByteSize, t as createConfigIO } from "./config-DnorUs_i.js";
15
- import { d as wrapOwnerOnlyToolExecution, f as sanitizeContentBlocksImages } from "./common-B7QyEEac.js";
16
- import { A as DEFAULT_BROWSER_EVALUATE_ENABLED, D as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, E as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, M as DEFAULT_OPENCLAW_BROWSER_ENABLED, N as DEFAULT_OPENCLAW_BROWSER_PROFILE_NAME, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, S as stopChromeExtensionRelayServer, _ as fetchJson, a as resolveOpenClawUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, g as appendCdpPath, h as withBrowserNavigationPolicy, i as launchOpenClawChrome, j as DEFAULT_OPENCLAW_BROWSER_COLOR, k as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, l as createTargetViaCdp, m as assertBrowserNavigationAllowed, n as isChromeCdpReady, o as stopOpenClawChrome, p as InvalidBrowserNavigationUrlError, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as fetchOk, w as isLoopbackHost, x as ensureChromeExtensionRelayServer } from "./chrome-BwkFC1Kp.js";
17
- import { a as syncSkillsToWorkspace, l as resolveSandboxInputPath, m as sanitizeEnvVars, u as resolveSandboxPath } from "./skills-CwAZv64I.js";
9
+ import { t as formatCliCommand } from "./command-format-D1Crrvey.js";
10
+ import { r as normalizeChannelId } from "./plugins-CJYXNO4s.js";
11
+ import { a as buildImageResizeSideGrid, i as IMAGE_REDUCE_QUALITY_STEPS, n as openFileWithinRoot, s as getImageMetadata, t as SafeOpenError, u as resizeToJpeg } from "./fs-safe-B8-WkEXM.js";
12
+ import { S as isPidAlive, x as resolveProcessScopedMap } from "./model-auth-Dm1uOof6.js";
13
+ import { o as listDeliverableMessageChannels, s as normalizeMessageChannel } from "./message-channel-BDlvrUZF.js";
14
+ import { _ as parseDurationMs, a as writeConfigFile, n as loadConfig, s as parseByteSize, t as createConfigIO } from "./config-qfEsodS7.js";
15
+ import { d as wrapOwnerOnlyToolExecution, f as sanitizeContentBlocksImages } from "./common-y9ALHdVZ.js";
16
+ import { A as DEFAULT_BROWSER_EVALUATE_ENABLED, D as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, E as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, M as DEFAULT_OPENCLAW_BROWSER_ENABLED, N as DEFAULT_OPENCLAW_BROWSER_PROFILE_NAME, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, S as stopChromeExtensionRelayServer, _ as fetchJson, a as resolveOpenClawUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, g as appendCdpPath, h as withBrowserNavigationPolicy, i as launchOpenClawChrome, j as DEFAULT_OPENCLAW_BROWSER_COLOR, k as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, l as createTargetViaCdp, m as assertBrowserNavigationAllowed, n as isChromeCdpReady, o as stopOpenClawChrome, p as InvalidBrowserNavigationUrlError, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as fetchOk, w as isLoopbackHost, x as ensureChromeExtensionRelayServer } from "./chrome-DBmAGMTR.js";
17
+ import { a as syncSkillsToWorkspace, l as resolveSandboxInputPath, m as sanitizeEnvVars, u as resolveSandboxPath } from "./skills-Ci_2Mah4.js";
18
18
  import { n as formatErrorMessage, t as extractErrorCode } from "./errors-3KjSwJLH.js";
19
19
  import { t as SsrFBlockedError } from "./ssrf-B8OrDkCk.js";
20
- import { r as saveMediaBuffer, t as ensureMediaDir } from "./store-CDqpQLub.js";
21
- import { d as getChannelDock, o as normalizeThinkLevel, v as normalizeHyphenSlug } from "./thinking-BzWAkN2b.js";
20
+ import { r as saveMediaBuffer, t as ensureMediaDir } from "./store-Be0QxLPZ.js";
21
+ import { d as getChannelDock, o as normalizeThinkLevel, v as normalizeHyphenSlug } from "./thinking-wiChP3LK.js";
22
22
  import { n as resolveConversationLabel } from "./conversation-label-BeLJTciU.js";
23
- import { a as resolveSessionTranscriptPathInDir, i as resolveSessionTranscriptPath, n as resolveSessionFilePath, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-B4zRLe0K.js";
23
+ import { a as resolveSessionTranscriptPathInDir, i as resolveSessionTranscriptPath, n as resolveSessionFilePath, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-gnW-md4M.js";
24
24
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-CZ8CG4ht.js";
25
25
  import fs from "node:fs/promises";
26
26
  import os from "node:os";
27
27
  import path, { posix } from "node:path";
28
- import fsSync, { existsSync, realpathSync } from "node:fs";
28
+ import fs$1, { existsSync, realpathSync } from "node:fs";
29
29
  import { spawn } from "node:child_process";
30
30
  import { CURRENT_SESSION_VERSION, SessionManager } from "@mariozechner/pi-coding-agent";
31
31
  import crypto, { createHash, timingSafeEqual } from "node:crypto";
@@ -919,7 +919,7 @@ function isModuleNotFoundError(err) {
919
919
  }
920
920
  async function loadPwAiModule(mode) {
921
921
  try {
922
- return await import("./pw-ai-Db7y7La-.js");
922
+ return await import("./pw-ai-BJE3mkCf.js");
923
923
  } catch (err) {
924
924
  if (mode === "soft") return null;
925
925
  if (isModuleNotFoundError(err)) return null;
@@ -2675,11 +2675,11 @@ async function movePathToTrash(targetPath) {
2675
2675
  return targetPath;
2676
2676
  } catch {
2677
2677
  const trashDir = path.join(os.homedir(), ".Trash");
2678
- fsSync.mkdirSync(trashDir, { recursive: true });
2678
+ fs$1.mkdirSync(trashDir, { recursive: true });
2679
2679
  const base = path.basename(targetPath);
2680
2680
  let dest = path.join(trashDir, `${base}-${Date.now()}`);
2681
- if (fsSync.existsSync(dest)) dest = path.join(trashDir, `${base}-${Date.now()}-${Math.random()}`);
2682
- fsSync.renameSync(targetPath, dest);
2681
+ if (fs$1.existsSync(dest)) dest = path.join(trashDir, `${base}-${Date.now()}-${Math.random()}`);
2682
+ fs$1.renameSync(targetPath, dest);
2683
2683
  return dest;
2684
2684
  }
2685
2685
  }
@@ -2757,7 +2757,7 @@ function createBrowserProfilesService(ctx) {
2757
2757
  } catch {}
2758
2758
  const userDataDir = resolveOpenClawUserDataDir(name);
2759
2759
  const profileDir = path.dirname(userDataDir);
2760
- if (fsSync.existsSync(profileDir)) {
2760
+ if (fs$1.existsSync(profileDir)) {
2761
2761
  await movePathToTrash(profileDir);
2762
2762
  deleted = true;
2763
2763
  }
@@ -3461,13 +3461,13 @@ function createProfileContext(opts, profile) {
3461
3461
  const userDataDir = resolveOpenClawUserDataDir(profile.name);
3462
3462
  const profileState = getProfileState();
3463
3463
  if (await isHttpReachable(300) && !profileState.running) try {
3464
- await (await import("./pw-ai-Db7y7La-.js")).closePlaywrightBrowserConnection();
3464
+ await (await import("./pw-ai-BJE3mkCf.js")).closePlaywrightBrowserConnection();
3465
3465
  } catch {}
3466
3466
  if (profileState.running) await stopRunningBrowser();
3467
3467
  try {
3468
- await (await import("./pw-ai-Db7y7La-.js")).closePlaywrightBrowserConnection();
3468
+ await (await import("./pw-ai-BJE3mkCf.js")).closePlaywrightBrowserConnection();
3469
3469
  } catch {}
3470
- if (!fsSync.existsSync(userDataDir)) return {
3470
+ if (!fs$1.existsSync(userDataDir)) return {
3471
3471
  moved: false,
3472
3472
  from: userDataDir
3473
3473
  };
@@ -3872,7 +3872,7 @@ function releaseAllLocksSync() {
3872
3872
  if (typeof held.handle.close === "function") held.handle.close().catch(() => {});
3873
3873
  } catch {}
3874
3874
  try {
3875
- fsSync.rmSync(held.lockPath, { force: true });
3875
+ fs$1.rmSync(held.lockPath, { force: true });
3876
3876
  } catch {}
3877
3877
  HELD_LOCKS.delete(sessionFile);
3878
3878
  }
@@ -5579,7 +5579,7 @@ function resolveSessionTranscriptCandidates(sessionId, storePath, sessionFile, a
5579
5579
  }
5580
5580
  function archiveFileOnDisk(filePath, reason) {
5581
5581
  const archived = `${filePath}.${reason}.${(/* @__PURE__ */ new Date()).toISOString().replaceAll(":", "-")}`;
5582
- fsSync.renameSync(filePath, archived);
5582
+ fs$1.renameSync(filePath, archived);
5583
5583
  return archived;
5584
5584
  }
5585
5585
  /**
@@ -5589,7 +5589,7 @@ function archiveFileOnDisk(filePath, reason) {
5589
5589
  function archiveSessionTranscripts(opts) {
5590
5590
  const archived = [];
5591
5591
  for (const candidate of resolveSessionTranscriptCandidates(opts.sessionId, opts.storePath, opts.sessionFile, opts.agentId)) {
5592
- if (!fsSync.existsSync(candidate)) continue;
5592
+ if (!fs$1.existsSync(candidate)) continue;
5593
5593
  try {
5594
5594
  archived.push(archiveFileOnDisk(candidate, opts.reason));
5595
5595
  } catch {}
@@ -5621,15 +5621,15 @@ async function cleanupArchivedSessionTranscripts(opts) {
5621
5621
  let removed = 0;
5622
5622
  let scanned = 0;
5623
5623
  for (const dir of directories) {
5624
- const entries = await fsSync.promises.readdir(dir).catch(() => []);
5624
+ const entries = await fs$1.promises.readdir(dir).catch(() => []);
5625
5625
  for (const entry of entries) {
5626
5626
  const timestamp = parseArchivedTimestamp(entry, reason);
5627
5627
  if (timestamp == null) continue;
5628
5628
  scanned += 1;
5629
5629
  if (now - timestamp <= opts.olderThanMs) continue;
5630
5630
  const fullPath = path.join(dir, entry);
5631
- if (!(await fsSync.promises.stat(fullPath).catch(() => null))?.isFile()) continue;
5632
- await fsSync.promises.rm(fullPath).catch(() => void 0);
5631
+ if (!(await fs$1.promises.stat(fullPath).catch(() => null))?.isFile()) continue;
5632
+ await fs$1.promises.rm(fullPath).catch(() => void 0);
5633
5633
  removed += 1;
5634
5634
  }
5635
5635
  }
@@ -5766,7 +5766,7 @@ function isCacheEnabled(ttlMs) {
5766
5766
  }
5767
5767
  function getFileMtimeMs(filePath) {
5768
5768
  try {
5769
- return fsSync.statSync(filePath).mtimeMs;
5769
+ return fs$1.statSync(filePath).mtimeMs;
5770
5770
  } catch {
5771
5771
  return;
5772
5772
  }
@@ -5845,7 +5845,7 @@ function loadSessionStore(storePath, opts = {}) {
5845
5845
  const maxReadAttempts = process.platform === "win32" ? 3 : 1;
5846
5846
  const retryBuf = maxReadAttempts > 1 ? new Int32Array(new SharedArrayBuffer(4)) : void 0;
5847
5847
  for (let attempt = 0; attempt < maxReadAttempts; attempt++) try {
5848
- const raw = fsSync.readFileSync(storePath, "utf-8");
5848
+ const raw = fs$1.readFileSync(storePath, "utf-8");
5849
5849
  if (raw.length === 0 && attempt < maxReadAttempts - 1) {
5850
5850
  Atomics.wait(retryBuf, 0, 0, 50);
5851
5851
  continue;
@@ -5997,7 +5997,7 @@ function capEntryCount(store, overrideMax, opts = {}) {
5997
5997
  }
5998
5998
  async function getSessionFileSize(storePath) {
5999
5999
  try {
6000
- return (await fsSync.promises.stat(storePath)).size;
6000
+ return (await fs$1.promises.stat(storePath)).size;
6001
6001
  } catch {
6002
6002
  return null;
6003
6003
  }
@@ -6014,7 +6014,7 @@ async function rotateSessionFile(storePath, overrideBytes) {
6014
6014
  if (fileSize <= maxBytes) return false;
6015
6015
  const backupPath = `${storePath}.bak.${Date.now()}`;
6016
6016
  try {
6017
- await fsSync.promises.rename(storePath, backupPath);
6017
+ await fs$1.promises.rename(storePath, backupPath);
6018
6018
  log.info("rotated session store file", {
6019
6019
  backupPath: path.basename(backupPath),
6020
6020
  sizeBytes: fileSize
@@ -6025,11 +6025,11 @@ async function rotateSessionFile(storePath, overrideBytes) {
6025
6025
  try {
6026
6026
  const dir = path.dirname(storePath);
6027
6027
  const baseName = path.basename(storePath);
6028
- const backups = (await fsSync.promises.readdir(dir)).filter((f) => f.startsWith(`${baseName}.bak.`)).toSorted().toReversed();
6028
+ const backups = (await fs$1.promises.readdir(dir)).filter((f) => f.startsWith(`${baseName}.bak.`)).toSorted().toReversed();
6029
6029
  const maxBackups = 3;
6030
6030
  if (backups.length > maxBackups) {
6031
6031
  const toDelete = backups.slice(maxBackups);
6032
- for (const old of toDelete) await fsSync.promises.unlink(path.join(dir, old)).catch(() => void 0);
6032
+ for (const old of toDelete) await fs$1.promises.unlink(path.join(dir, old)).catch(() => void 0);
6033
6033
  log.info("cleaned up old session store backups", { deleted: toDelete.length });
6034
6034
  }
6035
6035
  } catch {}
@@ -6084,14 +6084,14 @@ async function saveSessionStoreUnlocked(storePath, store, opts) {
6084
6084
  await rotateSessionFile(storePath, maintenance.rotateBytes);
6085
6085
  }
6086
6086
  }
6087
- await fsSync.promises.mkdir(path.dirname(storePath), { recursive: true });
6087
+ await fs$1.promises.mkdir(path.dirname(storePath), { recursive: true });
6088
6088
  const json = JSON.stringify(store, null, 2);
6089
6089
  if (process.platform === "win32") {
6090
6090
  const tmp = `${storePath}.${process.pid}.${crypto.randomUUID()}.tmp`;
6091
6091
  try {
6092
- await fsSync.promises.writeFile(tmp, json, "utf-8");
6092
+ await fs$1.promises.writeFile(tmp, json, "utf-8");
6093
6093
  for (let i = 0; i < 5; i++) try {
6094
- await fsSync.promises.rename(tmp, storePath);
6094
+ await fs$1.promises.rename(tmp, storePath);
6095
6095
  break;
6096
6096
  } catch {
6097
6097
  if (i < 4) await new Promise((r) => setTimeout(r, 50 * (i + 1)));
@@ -6101,27 +6101,27 @@ async function saveSessionStoreUnlocked(storePath, store, opts) {
6101
6101
  if ((err && typeof err === "object" && "code" in err ? String(err.code) : null) === "ENOENT") return;
6102
6102
  throw err;
6103
6103
  } finally {
6104
- await fsSync.promises.rm(tmp, { force: true }).catch(() => void 0);
6104
+ await fs$1.promises.rm(tmp, { force: true }).catch(() => void 0);
6105
6105
  }
6106
6106
  return;
6107
6107
  }
6108
6108
  const tmp = `${storePath}.${process.pid}.${crypto.randomUUID()}.tmp`;
6109
6109
  try {
6110
- await fsSync.promises.writeFile(tmp, json, {
6110
+ await fs$1.promises.writeFile(tmp, json, {
6111
6111
  mode: 384,
6112
6112
  encoding: "utf-8"
6113
6113
  });
6114
- await fsSync.promises.rename(tmp, storePath);
6115
- await fsSync.promises.chmod(storePath, 384);
6114
+ await fs$1.promises.rename(tmp, storePath);
6115
+ await fs$1.promises.chmod(storePath, 384);
6116
6116
  } catch (err) {
6117
6117
  if ((err && typeof err === "object" && "code" in err ? String(err.code) : null) === "ENOENT") {
6118
6118
  try {
6119
- await fsSync.promises.mkdir(path.dirname(storePath), { recursive: true });
6120
- await fsSync.promises.writeFile(storePath, json, {
6119
+ await fs$1.promises.mkdir(path.dirname(storePath), { recursive: true });
6120
+ await fs$1.promises.writeFile(storePath, json, {
6121
6121
  mode: 384,
6122
6122
  encoding: "utf-8"
6123
6123
  });
6124
- await fsSync.promises.chmod(storePath, 384);
6124
+ await fs$1.promises.chmod(storePath, 384);
6125
6125
  } catch (err2) {
6126
6126
  if ((err2 && typeof err2 === "object" && "code" in err2 ? String(err2.code) : null) === "ENOENT") return;
6127
6127
  throw err2;
@@ -6130,7 +6130,7 @@ async function saveSessionStoreUnlocked(storePath, store, opts) {
6130
6130
  }
6131
6131
  throw err;
6132
6132
  } finally {
6133
- await fsSync.promises.rm(tmp, { force: true });
6133
+ await fs$1.promises.rm(tmp, { force: true });
6134
6134
  }
6135
6135
  }
6136
6136
  async function updateSessionStore(storePath, mutator, opts) {
@@ -6333,8 +6333,8 @@ function resolveMirroredTranscriptText(params) {
6333
6333
  return trimmed ? trimmed : null;
6334
6334
  }
6335
6335
  async function ensureSessionHeader(params) {
6336
- if (fsSync.existsSync(params.sessionFile)) return;
6337
- await fsSync.promises.mkdir(path.dirname(params.sessionFile), { recursive: true });
6336
+ if (fs$1.existsSync(params.sessionFile)) return;
6337
+ await fs$1.promises.mkdir(path.dirname(params.sessionFile), { recursive: true });
6338
6338
  const header = {
6339
6339
  type: "session",
6340
6340
  version: CURRENT_SESSION_VERSION,
@@ -6342,7 +6342,7 @@ async function ensureSessionHeader(params) {
6342
6342
  timestamp: (/* @__PURE__ */ new Date()).toISOString(),
6343
6343
  cwd: process.cwd()
6344
6344
  };
6345
- await fsSync.promises.writeFile(params.sessionFile, `${JSON.stringify(header)}\n`, {
6345
+ await fs$1.promises.writeFile(params.sessionFile, `${JSON.stringify(header)}\n`, {
6346
6346
  encoding: "utf-8",
6347
6347
  mode: 384
6348
6348
  });
@@ -1,5 +1,5 @@
1
1
  import { c as normalizeAccountId } from "./session-key-9yEYlIQe.js";
2
- import { _ as createAccountListHelpers } from "./accounts-iN-dbgw4.js";
2
+ import { _ as createAccountListHelpers } from "./accounts-b1Cok6r_.js";
3
3
 
4
4
  //#region src/imessage/accounts.ts
5
5
  const { listAccountIds, resolveDefaultAccountId } = createAccountListHelpers("imessage");
@@ -1,8 +1,8 @@
1
1
  import { c as normalizeAccountId, t as DEFAULT_ACCOUNT_ID } from "./session-key-9yEYlIQe.js";
2
- import { E as jidToE164, Q as getChildLogger, V as info, j as resolveUserPath, q as success } from "./registry-BECEtj9n.js";
2
+ import { E as jidToE164, Q as getChildLogger, V as info, j as resolveUserPath, q as success } from "./registry-C8pj8ctW.js";
3
3
  import { a as resolveOAuthDir } from "./paths-DJmOcr7Q.js";
4
- import { i as defaultRuntime } from "./subsystem-Ck27y_6W.js";
5
- import { t as formatCliCommand } from "./command-format-C5kdEGEu.js";
4
+ import { i as defaultRuntime } from "./subsystem-BfLMZ8kW.js";
5
+ import { t as formatCliCommand } from "./command-format-BTciq6Gg.js";
6
6
  import path from "node:path";
7
7
  import fs from "node:fs";
8
8
  import fs$1 from "node:fs/promises";
@@ -1,5 +1,5 @@
1
1
  import { c as normalizeAccountId } from "./session-key-9yEYlIQe.js";
2
- import { _ as createAccountListHelpers } from "./accounts-iN-dbgw4.js";
2
+ import { _ as createAccountListHelpers } from "./accounts-b1Cok6r_.js";
3
3
 
4
4
  //#region src/signal/accounts.ts
5
5
  const { listAccountIds, resolveDefaultAccountId } = createAccountListHelpers("signal");
@@ -1,5 +1,5 @@
1
1
  import { t as DEFAULT_ACCOUNT_ID } from "./session-key-9yEYlIQe.js";
2
- import { t as formatCliCommand } from "./command-format-C5kdEGEu.js";
2
+ import { t as formatCliCommand } from "./command-format-BTciq6Gg.js";
3
3
 
4
4
  //#region src/web/active-listener.ts
5
5
  const listeners = /* @__PURE__ */ new Map();
@@ -1,7 +1,7 @@
1
1
  import { _ as isSubagentSessionKey, g as isCronSessionKey, l as normalizeAgentId, n as DEFAULT_AGENT_ID, v as parseAgentSessionKey } from "./session-key-9yEYlIQe.js";
2
- import { $ as getLogger, B as danger, J as warn, K as shouldLogVerbose, O as pathExists, V as info, W as logVerboseConsole, j as resolveUserPath } from "./registry-BECEtj9n.js";
2
+ import { $ as getLogger, B as danger, J as warn, K as shouldLogVerbose, O as pathExists, V as info, W as logVerboseConsole, j as resolveUserPath } from "./registry-C8pj8ctW.js";
3
3
  import { s as resolveStateDir, u as resolveRequiredHomeDir } from "./paths-DJmOcr7Q.js";
4
- import { i as defaultRuntime, t as createSubsystemLogger } from "./subsystem-Ck27y_6W.js";
4
+ import { i as defaultRuntime, t as createSubsystemLogger } from "./subsystem-BfLMZ8kW.js";
5
5
  import path from "node:path";
6
6
  import fs from "node:fs";
7
7
  import os from "node:os";
@@ -1,4 +1,4 @@
1
- import { c as normalizeProviderId } from "./model-selection-Bj-E4zbc.js";
1
+ import { c as normalizeProviderId } from "./model-selection-BQiSfqzh.js";
2
2
  import { n as formatErrorMessage } from "./errors-Bv8oZiTO.js";
3
3
 
4
4
  //#region src/infra/gemini-auth.ts
@@ -1,35 +1,35 @@
1
- import "./accounts-iN-dbgw4.js";
2
- import { K as shouldLogVerbose, U as logVerbose } from "./registry-BECEtj9n.js";
1
+ import "./accounts-b1Cok6r_.js";
2
+ import { K as shouldLogVerbose, U as logVerbose } from "./registry-C8pj8ctW.js";
3
3
  import "./paths-DJmOcr7Q.js";
4
- import "./model-selection-Bj-E4zbc.js";
5
- import "./config-B8Nc1zrG.js";
6
- import "./fs-safe-CdpuSWry.js";
7
- import "./subsystem-Ck27y_6W.js";
8
- import "./agent-scope-BS_vck4W.js";
9
- import "./common-CJo4CK5_.js";
10
- import { a as resolveMediaAttachmentLocalRoots, n as createMediaAttachmentCache, o as runCapability, r as normalizeMediaAttachments, t as buildProviderRegistry, u as isAudioAttachment } from "./runner-Bq1wBell.js";
11
- import "./skills-D0-IpJne.js";
4
+ import "./model-selection-BQiSfqzh.js";
5
+ import "./config-DemNgb7Z.js";
6
+ import "./fs-safe-CGcLaY9D.js";
7
+ import "./subsystem-BfLMZ8kW.js";
8
+ import "./agent-scope-OWMdRegz.js";
9
+ import "./common-CCPGi5xr.js";
10
+ import { a as resolveMediaAttachmentLocalRoots, n as createMediaAttachmentCache, o as runCapability, r as normalizeMediaAttachments, t as buildProviderRegistry, u as isAudioAttachment } from "./runner-BkD3LLSl.js";
11
+ import "./skills-BCD1hFBZ.js";
12
12
  import "./redact-DPnDWsnT.js";
13
13
  import "./errors-Bv8oZiTO.js";
14
14
  import "./ssrf-DxmqkHJJ.js";
15
- import "./local-roots-DlmKIABh.js";
16
- import "./chrome-cWvSiZw3.js";
17
- import "./command-format-C5kdEGEu.js";
18
- import "./thinking-D81fexfE.js";
19
- import "./normalize-DWmWs1Oq.js";
20
- import "./accounts-vV5Gfd26.js";
21
- import "./accounts-LxMkgia0.js";
22
- import "./bindings-CTCkMENc.js";
23
- import "./plugins-0PB0IWJL.js";
24
- import "./message-channel-DxNExIdv.js";
25
- import "./pi-embedded-helpers-C1u6XyK5.js";
15
+ import "./local-roots-jpNoUngc.js";
16
+ import "./chrome-BS8LYp6z.js";
17
+ import "./command-format-BTciq6Gg.js";
18
+ import "./thinking-BACprzA0.js";
19
+ import "./normalize-raRH8X3d.js";
20
+ import "./accounts-CRs7kbLB.js";
21
+ import "./accounts-uAqOguyH.js";
22
+ import "./bindings-LROfNV1W.js";
23
+ import "./plugins-BJciHbYr.js";
24
+ import "./message-channel-C3OrO29D.js";
25
+ import "./pi-embedded-helpers-0qu1zxwF.js";
26
26
  import "./github-copilot-token-etmIcdko.js";
27
- import "./manifest-registry-BgkX6ON4.js";
27
+ import "./manifest-registry-Lzj-fZNH.js";
28
28
  import "./paths-a1ZEI8nz.js";
29
- import "./store-BcTI1iBS.js";
30
- import "./image-B3tSrFDE.js";
29
+ import "./store-BJRhX9Bi.js";
30
+ import "./image-BHSeZfna.js";
31
31
  import "./pi-model-discovery-3Y4hcIsw.js";
32
- import "./api-key-rotation-LkecAWT_.js";
32
+ import "./api-key-rotation-DedcgBOR.js";
33
33
 
34
34
  //#region src/media-understanding/audio-preflight.ts
35
35
  /**
@@ -1,6 +1,6 @@
1
1
  import { c as normalizeAccountId, l as normalizeAgentId } from "./session-key-9yEYlIQe.js";
2
- import { s as normalizeChatChannelId } from "./registry-BECEtj9n.js";
3
- import { c as resolveDefaultAgentId } from "./agent-scope-BS_vck4W.js";
2
+ import { s as normalizeChatChannelId } from "./registry-C8pj8ctW.js";
3
+ import { c as resolveDefaultAgentId } from "./agent-scope-OWMdRegz.js";
4
4
 
5
5
  //#region src/routing/bindings.ts
6
6
  function normalizeBindingChannelId(raw) {
@@ -1,5 +1,5 @@
1
1
  import { n as formatErrorMessage } from "./errors-Bv8oZiTO.js";
2
- import { n as retryAsync, t as resolveRetryConfig } from "./retry-Bkj1k1me.js";
2
+ import { n as retryAsync, t as resolveRetryConfig } from "./retry-B8Oq5mgi.js";
3
3
  import { RateLimitError } from "@buape/carbon";
4
4
 
5
5
  //#region src/infra/retry-policy.ts