openclaw-multi-auto 1.3.2 → 1.3.5

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 (264) hide show
  1. package/dist/{accounts-CUYZBSKh.js → accounts-BU-CeDai.js} +1 -1
  2. package/dist/{accounts-BtEMxtPK.js → accounts-BVgYdU9W.js} +1 -1
  3. package/dist/{accounts-khXX75l1.js → accounts-DJaYqD2E.js} +7 -7
  4. package/dist/{acp-cli-CA2oCCEA.js → acp-cli-oWFHnS7i.js} +8 -8
  5. package/dist/{agent-scope-NQ9CtXYN.js → agent-scope-BRElciAf.js} +17 -17
  6. package/dist/{agents-BWVlofyv.js → agents-CujsWz9d.js} +14 -14
  7. package/dist/{agents.config-QVfqc4C-.js → agents.config-C42STger.js} +2 -2
  8. package/dist/{api-key-rotation-Vix80AUw.js → api-key-rotation-BbuLHl0_.js} +1 -1
  9. package/dist/{audio-preflight-DUtdCXjJ.js → audio-preflight-Yg1vzPE1.js} +34 -34
  10. package/dist/{audio-transcription-runner-DYKvqK54.js → audio-transcription-runner-D1cvrZ6s.js} +23 -23
  11. package/dist/{audit-oC--RZy0.js → audit-DtlAv66L.js} +29 -29
  12. package/dist/{auth-YB6m93-M.js → auth-Mj21c_GN.js} +1 -1
  13. package/dist/{auth-choice-CsSQLEkP.js → auth-choice-CEycltU4.js} +13 -13
  14. package/dist/{auth-choice-gp-h1aBd.js → auth-choice-CGHVedXa.js} +11 -11
  15. package/dist/{auth-choice.apply-helpers-CPpuynsT.js → auth-choice.apply-helpers-D4YQXYfc.js} +1 -1
  16. package/dist/{auth-profiles-15pq9j9V.js → auth-profiles-CdLTlJLc.js} +16 -16
  17. package/dist/{auth-token-Bwn8N6KA.js → auth-token-7kzDLVhb.js} +1 -1
  18. package/dist/{banner-hcZ0XNXv.js → banner-CpzKVd4-.js} +2 -2
  19. package/dist/{bonjour-discovery-2btw06uD.js → bonjour-discovery-BuS9wF_p.js} +1 -1
  20. package/dist/{browser-cli-C4PdLYHy.js → browser-cli-BVtbvQ3Z.js} +12 -12
  21. package/dist/build-info.json +3 -3
  22. package/dist/{call-CZgRbVYm.js → call-Dp9SDkqK.js} +10 -10
  23. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  24. package/dist/{channel-account-context-BYiOuxnf.js → channel-account-context-ESLVGdUf.js} +5 -5
  25. package/dist/{channel-activity-D9K6yeu8.js → channel-activity-LfmEkdDN.js} +1 -1
  26. package/dist/{channel-options-DJkf_8wi.js → channel-options-CsYaFB_4.js} +3 -3
  27. package/dist/{channel-selection-BpIsCVV5.js → channel-selection-DFJsYFPo.js} +1 -1
  28. package/dist/{channel-web-wb1My1Yi.js → channel-web-DzRsJEE4.js} +17 -17
  29. package/dist/{channels-cli-DlQONtY9.js → channels-cli-CpfeOXtJ.js} +93 -93
  30. package/dist/{channels-status-issues-Hj-GOSVm.js → channels-status-issues-6V9ktlZD.js} +1 -1
  31. package/dist/{chrome-L_icBVLq.js → chrome-CyM61Cn2.js} +4 -4
  32. package/dist/{clawbot-cli-CyTZUVIJ.js → clawbot-cli-COtnakIJ.js} +11 -11
  33. package/dist/cli/daemon-cli.js +1 -1
  34. package/dist/{cli-CNTrB-ni.js → cli-jnT1hYPO.js} +73 -73
  35. package/dist/{client-g0366Z73.js → client-C-wA75vx.js} +2 -2
  36. package/dist/{command-registry-VOmumlmD.js → command-registry-g5tDqdAU.js} +11 -11
  37. package/dist/{command-secret-targets-CIMuIdbL.js → command-secret-targets-u3eWn-W3.js} +4 -4
  38. package/dist/{commands-DU7At3rY.js → commands-C8pWcFs_.js} +1 -1
  39. package/dist/{commands-registry-B_WUa9KB.js → commands-registry-J6nVL3BQ.js} +3 -3
  40. package/dist/{completion-cli-pqdmKVTo.js → completion-cli-DQsyli3B.js} +13 -13
  41. package/dist/{config-cli-BqznmzlM.js → config-cli-DUycVHoC.js} +7 -7
  42. package/dist/{config-guard-D8jiLjr7.js → config-guard--Obk2MGi.js} +3 -3
  43. package/dist/{config-validation-BngLiGoq.js → config-validation-iOxszdEd.js} +3 -3
  44. package/dist/{configure-B--Umf_O.js → configure-Al_pz_5z.js} +17 -17
  45. package/dist/{control-ui-assets-C9ewbI8z.js → control-ui-assets-DpjfNcTC.js} +1 -1
  46. package/dist/{cron-cli-DCRPpI1m.js → cron-cli-CQ5EZw_b.js} +11 -11
  47. package/dist/{daemon-cli-DtBzKM_d.js → daemon-cli-Bb80Mzv5.js} +15 -15
  48. package/dist/{daemon-install-ckPBUAjJ.js → daemon-install-B09ifLcJ.js} +4 -4
  49. package/dist/{daemon-install-helpers-BWf-PrgA.js → daemon-install-helpers-CYpECiEx.js} +11 -11
  50. package/dist/{deliver-b93aBgie.js → deliver-CxF9h9PE.js} +7 -7
  51. package/dist/deliver-runtime-DixuU_uB.js +61 -0
  52. package/dist/deps-send-discord.runtime-CDcLcDSt.js +36 -0
  53. package/dist/deps-send-imessage.runtime-BGPUVMIE.js +35 -0
  54. package/dist/deps-send-signal.runtime-DQDD44_O.js +34 -0
  55. package/dist/deps-send-slack.runtime-Cpy77gBG.js +32 -0
  56. package/dist/{deps-send-telegram.runtime-C--B69CN.js → deps-send-telegram.runtime-B6wp3kx8.js} +16 -16
  57. package/dist/deps-send-whatsapp.runtime-D2sVAclS.js +119 -0
  58. package/dist/{devices-cli-D6V059Dh.js → devices-cli-C0dUbeL4.js} +8 -8
  59. package/dist/{diagnostic-BpP9UBCE.js → diagnostic-BfiudAAN.js} +1 -1
  60. package/dist/{diagnostics---0c2_jo.js → diagnostics-DCWM_8Ur.js} +5 -5
  61. package/dist/{directory-cli-RYC34-EU.js → directory-cli-Dlws13Di.js} +7 -7
  62. package/dist/{dns-cli-CElNoV5S.js → dns-cli-But7QdAw.js} +5 -5
  63. package/dist/{dock-nA2DVPCV.js → dock-BbUkruOF.js} +4 -4
  64. package/dist/{docs-cli-Bv7ltPvi.js → docs-cli-Ck2IKAtw.js} +4 -4
  65. package/dist/{doctor-completion-CQIiN7rY.js → doctor-completion-Nat1HXE1.js} +2 -2
  66. package/dist/{doctor-config-flow-BOAryh5P.js → doctor-config-flow-WCCoUXeB.js} +15 -15
  67. package/dist/{enable-688HYBNS.js → enable-C3H8BtN4.js} +1 -1
  68. package/dist/entry.js +2 -2
  69. package/dist/{exec-approvals-allowlist-C0Eya3rT.js → exec-approvals-allowlist-ySf2Yo5n.js} +1 -1
  70. package/dist/{exec-approvals-cli-BYYerKp8.js → exec-approvals-cli-DhLLOys6.js} +16 -16
  71. package/dist/{exec-safe-bin-runtime-policy-BmJmfDRo.js → exec-safe-bin-runtime-policy-DnXViOlF.js} +2 -2
  72. package/dist/{fetch-BhAHVdwx.js → fetch-D-SiVqBm.js} +3 -3
  73. package/dist/{fetch-guard-BbBdhWz_.js → fetch-guard-CKYBfJ66.js} +1 -1
  74. package/dist/{fs-safe-CFLs-j60.js → fs-safe-jMDpsYew.js} +24 -24
  75. package/dist/{gateway-cli-DOYWSRqa.js → gateway-cli--atF6LYo.js} +153 -153
  76. package/dist/{gateway-rpc-w6t8Eq_1.js → gateway-rpc-DYyQQ1z9.js} +1 -1
  77. package/dist/{health-C1EstYHd.js → health-BDJ72U4Z.js} +11 -11
  78. package/dist/{hooks-cli-BFMve5sG.js → hooks-cli-r0UX8B9a.js} +81 -81
  79. package/dist/{hooks-status-DBnEWOEP.js → hooks-status-CxBdpBry.js} +1 -1
  80. package/dist/{image-Bw71y73Q.js → image-CyHTO86Q.js} +5 -5
  81. package/dist/{image-ops-AJL9tN3_.js → image-ops-pjs5W0CZ.js} +10 -10
  82. package/dist/image-runtime-B2qh5seQ.js +55 -0
  83. package/dist/{inspect-CUxeDA8c.js → inspect-BeU4yMp2.js} +4 -4
  84. package/dist/{install-safe-path-BX58wFBl.js → install-safe-path-BiL8OJvK.js} +25 -25
  85. package/dist/{installs-B-xr0Fzq.js → installs-BwKmG0Uy.js} +9 -9
  86. package/dist/{ipv4-C4Yt-xid.js → ipv4-BoGwfnEw.js} +1 -1
  87. package/dist/{ir-otKVkb4a.js → ir-Da7Ahsqc.js} +8 -8
  88. package/dist/{issue-format-DSksfKiV.js → issue-format-CJ89_-9v.js} +1 -1
  89. package/dist/{json-files-rR19q30D.js → json-files-CuJjdF_0.js} +8 -8
  90. package/dist/{lifecycle-core-DVwen0ks.js → lifecycle-core-BzuWBBm8.js} +5 -5
  91. package/dist/{login-BcRaGQb6.js → login-VkQ9MW3d.js} +3 -3
  92. package/dist/{login-qr-C9D47WEZ.js → login-qr-BVMQ-xQz.js} +6 -6
  93. package/dist/{logs-cli-B3TG2lp8.js → logs-cli-DWHhSnWs.js} +9 -9
  94. package/dist/{manager-iwcRf3Xc.js → manager-BUBwl6M6.js} +14 -14
  95. package/dist/{manager-runtime-D3KqpRT7.js → manager-runtime-H9iQnw64.js} +9 -9
  96. package/dist/{manifest-registry-CJb8odRF.js → manifest-registry-DVviqWVY.js} +1 -1
  97. package/dist/{memory-cli-DGsJx7YM.js → memory-cli-DarWCbU6.js} +12 -12
  98. package/dist/{model-B792l3Cn.js → model-BLV8y_N-.js} +2 -2
  99. package/dist/{model-catalog-DZ6kl2Ko.js → model-catalog-DTcBkUlX.js} +3 -3
  100. package/dist/{model-picker-6fHys0wK.js → model-picker-D-fTOOzb.js} +4 -4
  101. package/dist/{models-DerrMmwF.js → models-CmjutMmh.js} +17 -17
  102. package/dist/{models-cli-BkTZg_4v.js → models-cli-BZFQX22p.js} +78 -78
  103. package/dist/{models-config-Dabs9Kdv.js → models-config-DNcDbV_G.js} +6 -6
  104. package/dist/{net-BAIqYNz0.js → net-D5fSREu4.js} +2 -2
  105. package/dist/{node-cli-DoEq4zeG.js → node-cli-Cnq-PJTp.js} +33 -33
  106. package/dist/{node-command-policy-DRhSc90G.js → node-command-policy-B5BMBBJP.js} +1 -1
  107. package/dist/{node-service-CcgtNIeT.js → node-service-BpYZAvpl.js} +1 -1
  108. package/dist/{nodes-cli--d9RiCnK.js → nodes-cli-CkrDOWpv.js} +16 -16
  109. package/dist/{nodes-screen-BTND5VDq.js → nodes-screen-DfsQohWd.js} +7 -7
  110. package/dist/{npm-pack-install-CGUDOSKz.js → npm-pack-install-E-mkrZ55.js} +18 -18
  111. package/dist/{npm-resolution-CAoULCWM.js → npm-resolution-BUUmg5ON.js} +4 -4
  112. package/dist/{onboard-CMZRkPVc.js → onboard-DINGSS9R.js} +6 -6
  113. package/dist/{onboard-channels-SlJu6XWJ.js → onboard-channels-Di4MjWDY.js} +21 -21
  114. package/dist/{onboard-custom-EzfL89yz.js → onboard-custom-DITBQuWQ.js} +4 -4
  115. package/dist/{onboard-helpers-lGpaVp03.js → onboard-helpers-DO7u2ZOy.js} +10 -10
  116. package/dist/{onboard-hooks-B7TMiJoY.js → onboard-hooks-K02_ZWDq.js} +4 -4
  117. package/dist/{onboard-remote-nvWS7on7.js → onboard-remote-5-ugiSN2.js} +4 -4
  118. package/dist/{onboard-skills-hz91W03u.js → onboard-skills-CSzbC2KZ.js} +4 -4
  119. package/dist/{onboarding-CTPuMVQI.js → onboarding-BM4dvUK6.js} +14 -14
  120. package/dist/{onboarding.finalize-DLzl5ZOg.js → onboarding.finalize-p_RDh7ET.js} +87 -87
  121. package/dist/{onboarding.gateway-config-C4MoTr60.js → onboarding.gateway-config-DldlRfms.js} +18 -18
  122. package/dist/{onboarding.secret-input-BFD0OW4X.js → onboarding.secret-input-BIRIJiCU.js} +1 -1
  123. package/dist/{openai-model-default-h4LbSR7f.js → openai-model-default-CY2Nk4cn.js} +2 -2
  124. package/dist/{openclaw-root-BU3lu8pM.js → openclaw-root-BFfBQ6FD.js} +8 -8
  125. package/dist/{outbound-kbHYt1JW.js → outbound-DPdJe7e1.js} +3 -3
  126. package/dist/{outbound-attachment-CAJBGcna.js → outbound-attachment-DfWsfe2N.js} +2 -2
  127. package/dist/{pairing-cli-CXbmkz7Z.js → pairing-cli-D2VZxWg3.js} +8 -8
  128. package/dist/{pairing-labels-CaPLIhlh.js → pairing-labels-D4rnJ5pJ.js} +1 -1
  129. package/dist/{pairing-store-Brs9aNn_.js → pairing-store-BXArq4hn.js} +3 -3
  130. package/dist/{path-alias-guards-DhIwq92y.js → path-alias-guards-DbNvNQar.js} +3 -3
  131. package/dist/{path-safety-BjIM4N4t.js → path-safety-ClQO4BB6.js} +1 -1
  132. package/dist/{paths-Cv63xST_.js → paths-BB_1ZWOj.js} +9 -9
  133. package/dist/{pi-embedded-helpers-DC2OtKrl.js → pi-embedded-helpers-oXDyXTD8.js} +6 -6
  134. package/dist/{pi-model-discovery-DOb5RTev.js → pi-model-discovery-CECkJMCt.js} +1 -1
  135. package/dist/{pi-model-discovery-runtime-DShjmiiF.js → pi-model-discovery-runtime-g7UP-SFR.js} +5 -5
  136. package/dist/{pi-tools.before-tool-call.runtime-B079pVah.js → pi-tools.before-tool-call.runtime-Df7B-ggW.js} +5 -5
  137. package/dist/{pi-tools.policy-DZ-X86Va.js → pi-tools.policy-CydUEzFi.js} +5 -5
  138. package/dist/{plugin-auto-enable-BCMqEDjQ.js → plugin-auto-enable-BE4ZVjAL.js} +3 -3
  139. package/dist/{plugin-registry-BPlCWMur.js → plugin-registry-DXW3eyib.js} +3 -3
  140. package/dist/plugin-sdk/discord.js +6 -6
  141. package/dist/{plugins-DCxT-37x.js → plugins-VAZrrfgw.js} +2 -2
  142. package/dist/{plugins-cli-D9ILEfyb.js → plugins-cli-BQJOOVMx.js} +83 -83
  143. package/dist/{ports-BlCLhwbc.js → ports-DMkRSlnH.js} +1 -1
  144. package/dist/{ports-CER5YPnN.js → ports-DogAV7pa.js} +2 -2
  145. package/dist/{program-CV56xn7w.js → program-BA11qFx1.js} +81 -81
  146. package/dist/{prompt-select-styled-BOa5I_PU.js → prompt-select-styled-B0GS28ia.js} +40 -40
  147. package/dist/{provider-auth-helpers-c6mNCUXO.js → provider-auth-helpers-CrGL-jik.js} +5 -5
  148. package/dist/{proxy-env-BMrSVckF.js → proxy-env-wKO3g8Yv.js} +1 -1
  149. package/dist/{push-apns-FOkPD05E.js → push-apns-BEwBjZ0a.js} +5 -5
  150. package/dist/{pw-ai-CxBU3aK5.js → pw-ai-CnbxziFP.js} +18 -18
  151. package/dist/{qmd-manager-DEJMqoGd.js → qmd-manager-Dp6PJ8zQ.js} +20 -20
  152. package/dist/{qr-cli-BD2jK4fg.js → qr-cli-CFz9kS5X.js} +2 -2
  153. package/dist/{query-expansion-1UTIWjP6.js → query-expansion-BrSWVbaE.js} +12 -12
  154. package/dist/{redact-snapshot-D_qQD4A-.js → redact-snapshot-Bs4goggz.js} +1 -1
  155. package/dist/{register.agent-tbPA5YAy.js → register.agent-D641ju8B.js} +94 -94
  156. package/dist/register.configure-BrDOSLIq.js +165 -0
  157. package/dist/{register.maintenance-DrqDlV5b.js → register.maintenance-BFkk8MEH.js} +95 -95
  158. package/dist/{register.message-CoKXNaU0.js → register.message-D5uE_Hop.js} +74 -74
  159. package/dist/{register.onboard-CSWOSL9O.js → register.onboard-zHFvSwFr.js} +18 -18
  160. package/dist/{register.setup-DBx5JX6h.js → register.setup-uTbv3_P1.js} +21 -21
  161. package/dist/{register.status-health-sessions-D1bPtfep.js → register.status-health-sessions-CB7t-JQx.js} +88 -88
  162. package/dist/{register.subclis-QGJNmjss.js → register.subclis-MEiNmuy5.js} +31 -31
  163. package/dist/{rpc-DkMrTUww.js → rpc-DVfuVmy9.js} +1 -1
  164. package/dist/{run-main-CPftxqTe.js → run-main-mrvunzuy.js} +92 -92
  165. package/dist/{runtime-MAH2Oph4.js → runtime-C87FQrrv.js} +3 -3
  166. package/dist/{runtime-config-collectors-BJMV6Mt1.js → runtime-config-collectors-BQaC477D.js} +1 -1
  167. package/dist/{runtime-whatsapp-login.runtime-CGYWl9eB.js → runtime-whatsapp-login.runtime-DjdgScUI.js} +7 -7
  168. package/dist/{runtime-whatsapp-outbound.runtime-hZEfYaRM.js → runtime-whatsapp-outbound.runtime-B74K7opl.js} +15 -15
  169. package/dist/{sandbox-0TbzPJaS.js → sandbox-Ct-_lzi1.js} +18 -18
  170. package/dist/{sandbox-cli-NLaxffXl.js → sandbox-cli-C3RoXFRE.js} +25 -25
  171. package/dist/{secrets-cli-KLGbYet6.js → secrets-cli-B3hqCxvs.js} +11 -11
  172. package/dist/{security-cli-EIEkcYVb.js → security-cli-DcHIyXr7.js} +42 -42
  173. package/dist/{send-BtZAqquW.js → send-2zKwf9NW.js} +11 -11
  174. package/dist/{send-DAMtu9kK.js → send-5o2p_xjn.js} +4 -4
  175. package/dist/{send-BW-ZtYG3.js → send-CnRP4P-G.js} +5 -5
  176. package/dist/{send-CxgWxXZc.js → send-DAQAKa9Z.js} +6 -6
  177. package/dist/{send-sC6ka831.js → send-u1Bo4CSn.js} +8 -8
  178. package/dist/{server-kUElNhlY.js → server-Ci4xtuR9.js} +20 -20
  179. package/dist/{server-context-HJVwPQYn.js → server-context-8pDe2iyd.js} +12 -12
  180. package/dist/{server-lifecycle-BE32unpZ.js → server-lifecycle-k5daSrde.js} +2 -2
  181. package/dist/{server-middleware-AS2VOYkK.js → server-middleware-DMiFT9xU.js} +1 -1
  182. package/dist/{server-node-events-DkbZzI6P.js → server-node-events-BmnPjNXE.js} +74 -74
  183. package/dist/{service-CyStNr3d.js → service-BhOFtHSw.js} +15 -15
  184. package/dist/{session-CaCx4rPH.js → session-DkOjpX3_.js} +1 -1
  185. package/dist/{session-utils-CGqb1oeq.js → session-utils-DKRmXD2l.js} +6 -6
  186. package/dist/{sessions-BmVDW-7q.js → sessions-BOWPuhe5.js} +15 -15
  187. package/dist/{sessions-BV6HNW4h.js → sessions-svLGrv0Z.js} +4 -4
  188. package/dist/{shared-JW74idb0.js → shared-CbAkLNrg.js} +1 -1
  189. package/dist/{shared-DUQavBtY.js → shared-CjuadLFV.js} +3 -3
  190. package/dist/{skill-commands-WtIJG0CI.js → skill-commands-TpUsdjev.js} +5 -5
  191. package/dist/{skill-scanner-DIFsGcqE.js → skill-scanner-BZvvItef.js} +6 -6
  192. package/dist/{skills-7T9PwwL6.js → skills-DR-vacol.js} +3 -3
  193. package/dist/{skills-cli-DPavvthL.js → skills-cli-oay0tY8Z.js} +5 -5
  194. package/dist/{skills-install-BoLfaoWv.js → skills-install-Vmi7xYfa.js} +6 -6
  195. package/dist/{skills-status-CK5Gnf6i.js → skills-status-BmN697ff.js} +1 -1
  196. package/dist/{slash-commands.runtime-CMGx2xHy.js → slash-commands.runtime-BfaheruW.js} +11 -11
  197. package/dist/slash-dispatch.runtime-D0xInkf3.js +114 -0
  198. package/dist/{slash-skill-commands.runtime-ChU2tck2.js → slash-skill-commands.runtime-D34BKAN-.js} +15 -15
  199. package/dist/{status-Bp-K1BEf.js → status-BcQchPaC.js} +27 -27
  200. package/dist/{status.update-ZYUSggzS.js → status.update-B20UBTDq.js} +2 -2
  201. package/dist/{store-DeASfYEV.js → store-DDkqo1sO.js} +5 -5
  202. package/dist/{subagent-registry-8qHIVhRq.js → subagent-registry-CPxHbyN5.js} +149 -149
  203. package/dist/subagent-registry-runtime-SkB2tTaE.js +114 -0
  204. package/dist/{system-cli-C2xNfuQM.js → system-cli-D2yIJoKU.js} +9 -9
  205. package/dist/{system-run-command-BPWZk7KI.js → system-run-command-BmhbnLTE.js} +1 -1
  206. package/dist/{systemd-Cf-0XKYu.js → systemd-DjWVSbAG.js} +9 -9
  207. package/dist/{systemd-hints-CYllYKO0.js → systemd-hints-Do-aQ9jw.js} +6 -6
  208. package/dist/{systemd-linger-zllO90bD.js → systemd-linger-DpmnYgKU.js} +1 -1
  209. package/dist/{tables-CV7Afb0h.js → tables-BxyIF0w4.js} +1 -1
  210. package/dist/{tailnet-DJFUq7_R.js → tailnet-0_FsdHP-.js} +1 -1
  211. package/dist/{target-errors-iVxliVqA.js → target-errors-KOHiT_JA.js} +4 -4
  212. package/dist/{tool-images-Bn6dB14u.js → tool-images-CNPfeCmU.js} +1 -1
  213. package/dist/{tui-DTVy-YhN.js → tui-DL6NZZEa.js} +6 -6
  214. package/dist/{tui-cli-CexRLJ3a.js → tui-cli-BNAYhvpu.js} +32 -32
  215. package/dist/{update-DijPxK0g.js → update-DlS-d52F.js} +3 -3
  216. package/dist/{update-cli-9NslG4yR.js → update-cli-D8-DqIs2.js} +104 -104
  217. package/dist/{update-runner-B6_UqreW.js → update-runner-CzTQ7BJT.js} +16 -16
  218. package/dist/web-DWiOofzq.js +118 -0
  219. package/dist/{webhooks-cli-B4ZcXTtw.js → webhooks-cli-QdaQhvbT.js} +6 -6
  220. package/dist/{whatsapp-actions-Jm4VW1Ve.js → whatsapp-actions-Bp8F0cOF.js} +17 -17
  221. package/dist/{with-timeout-C8-tY12i.js → with-timeout-BMMWHlH3.js} +3 -3
  222. package/dist/{workspace-dirs-D4SMysgC.js → workspace-dirs-Cz_Zgtg2.js} +1 -1
  223. package/dist/{workspace-CIGzK2_w.js → workspace-v76gFdZu.js} +1 -1
  224. package/dist/{wsl-CsGe5QCP.js → wsl-CvQfS6aU.js} +2 -2
  225. package/extensions/googlechat/node_modules/.bin/openclaw +2 -2
  226. package/extensions/memory-core/node_modules/.bin/openclaw +2 -2
  227. package/package.json +9 -23
  228. package/scripts/npm_publish.sh +37 -83
  229. package/dist/deliver-runtime-CdWd-JQI.js +0 -61
  230. package/dist/deps-send-discord.runtime-BltWu9GW.js +0 -36
  231. package/dist/deps-send-imessage.runtime-CdCif3t7.js +0 -35
  232. package/dist/deps-send-signal.runtime-fHqkSmMW.js +0 -34
  233. package/dist/deps-send-slack.runtime-CkyZO7ln.js +0 -32
  234. package/dist/deps-send-whatsapp.runtime-BkoMLlCM.js +0 -119
  235. package/dist/image-runtime-6jhrqcle.js +0 -55
  236. package/dist/register.configure-DuwRrXc2.js +0 -165
  237. package/dist/slash-dispatch.runtime-BAeJXa56.js +0 -114
  238. package/dist/subagent-registry-runtime-DVomlbm6.js +0 -114
  239. package/dist/web-DGoa03ue.js +0 -118
  240. package/vendor/libsignal-node/.eslintrc.json +0 -31
  241. package/vendor/libsignal-node/LICENSE +0 -621
  242. package/vendor/libsignal-node/README.md +0 -64
  243. package/vendor/libsignal-node/generate-proto.sh +0 -1
  244. package/vendor/libsignal-node/index.d.ts +0 -55
  245. package/vendor/libsignal-node/index.js +0 -10
  246. package/vendor/libsignal-node/package.json +0 -24
  247. package/vendor/libsignal-node/protos/WhisperTextProtocol.proto +0 -28
  248. package/vendor/libsignal-node/src/.eslintrc.json +0 -31
  249. package/vendor/libsignal-node/src/WhisperTextProtocol.js +0 -933
  250. package/vendor/libsignal-node/src/base_key_type.js +0 -7
  251. package/vendor/libsignal-node/src/chain_type.js +0 -6
  252. package/vendor/libsignal-node/src/crypto.d.ts +0 -19
  253. package/vendor/libsignal-node/src/crypto.js +0 -98
  254. package/vendor/libsignal-node/src/curve.d.ts +0 -22
  255. package/vendor/libsignal-node/src/curve.js +0 -142
  256. package/vendor/libsignal-node/src/errors.js +0 -33
  257. package/vendor/libsignal-node/src/keyhelper.js +0 -45
  258. package/vendor/libsignal-node/src/numeric_fingerprint.js +0 -72
  259. package/vendor/libsignal-node/src/protobufs.js +0 -10
  260. package/vendor/libsignal-node/src/protocol_address.js +0 -40
  261. package/vendor/libsignal-node/src/queue_job.js +0 -69
  262. package/vendor/libsignal-node/src/session_builder.js +0 -164
  263. package/vendor/libsignal-node/src/session_cipher.js +0 -336
  264. package/vendor/libsignal-node/src/session_record.js +0 -316
@@ -3,111 +3,111 @@ import { g as resolveStateDir, r as STATE_DIR, u as resolveGatewayPort, y as res
3
3
  import { d as defaultRuntime, t as createSubsystemLogger, u as createNonExitingRuntime } from "./subsystem-BmoaLBy-.js";
4
4
  import { t as parseBooleanValue$1 } from "./boolean-DtWR5bt3.js";
5
5
  import { r as isTruthyEnvValue } from "./entry.js";
6
- import { Ar as resolveReasoningDefault, At as AVATAR_MAX_BYTES, Dn as applyMergePatch, Dr as resolveDefaultModelForAgent, Er as resolveConfiguredModelRef, Fi as DEFAULT_CONTEXT_TOKENS, Fn as resolveSlackNativeStreaming, Ft as isSupportedLocalAvatarExtension, G as writeConfigFile, Gn as resolveOwnerDisplaySetting, Gt as getConfigValueAtPath, Hn as resolveAgentMaxConcurrent, Ht as resetConfigOverrides, Ii as DEFAULT_MODEL, In as resolveSlackStreamingMode, J as TELEGRAM_COMMAND_NAME_PATTERN, Jn as listProfilesForProvider, Jt as unsetConfigValueAtPath, K as validateConfigObjectWithPlugins, Kt as parseConfigPath, Li as DEFAULT_PROVIDER, Mr as resolveSubagentSpawnModelSelection, Mt as isAvatarHttpUrl, Nn as mapStreamingModeToSlackLegacyDraftStreamMode, Nr as resolveThinkingDefault, Pi as splitTrailingAuthProfile, Pn as resolveDiscordPreviewStreamMode, Pt as isPathWithinRoot, Q as isInboundPathAllowed, Ri as resolveAuthProfileDisplayLabel, Sr as normalizeProviderId, U as resolveConfigSnapshotHash, Ut as setConfigOverride, V as readConfigFileSnapshot, Vn as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, Vt as getConfigOverrides, Wt as unsetConfigOverride, X as resolveTelegramCustomCommands, Xr as resolveRetryConfig, Y as normalizeTelegramCommandName, Yn as markAuthProfileGood, Zr as retryAsync, _i as resolveModelAuthMode, a as getSoonestCooldownExpiry, ai as OLLAMA_NATIVE_BASE_URL, bi as resolveShellEnvFallbackTimeoutMs, br as normalizeModelRef$2, c as markAuthProfileUsed, ci as buildAssistantMessageWithZeroUsage, cr as withFileLock, d as resolveApiKeyForProfile, di as getApiKeyForModel, er as ensureAuthProfileStore, et as resolveIMessageAttachmentRoots, f as evaluateStoredCredentialEligibility, fi as getCustomProviderApiKey, fr as buildAllowedModelSet, gi as resolveEnvApiKey, hr as findNormalizedProviderValue, i as clearExpiredCooldowns, ji as normalizeSecretInput, jt as isAvatarDataUrl, kr as resolveModelRefFromString, li as buildStreamErrorAssistantMessage, mi as resolveApiKeyForProvider, mr as buildModelAliasIndex, nn as buildEnforcedShellCommand, nt as normalizeScpRemoteHost, o as isProfileInCooldown, oi as createOllamaStreamFn, or as resolveAuthStorePathForDisplay, p as resolveTokenExpiryState, pi as requireApiKey, pr as buildConfiguredAllowlistKeys, pt as parseDurationMs, qn as dedupeProfileIds, qt as setConfigValueAtPath, r as resolveAuthProfileOrder, rt as parseNonNegativeByteSize, s as markAuthProfileFailure, si as buildAssistantMessage, sr as resolveOpenClawAgentDir, tt as resolveIMessageRemoteAttachmentRoots, u as resolveProfilesUnavailableReason, ui as buildUsageWithNoCost, vr as isCliProvider, yi as getShellPathFromLoginShell, yr as modelKey, z as loadConfig, zt as validateJsonSchemaValue } from "./auth-profiles-15pq9j9V.js";
6
+ import { Ar as resolveReasoningDefault, At as AVATAR_MAX_BYTES, Dn as applyMergePatch, Dr as resolveDefaultModelForAgent, Er as resolveConfiguredModelRef, Fi as DEFAULT_CONTEXT_TOKENS, Fn as resolveSlackNativeStreaming, Ft as isSupportedLocalAvatarExtension, G as writeConfigFile, Gn as resolveOwnerDisplaySetting, Gt as getConfigValueAtPath, Hn as resolveAgentMaxConcurrent, Ht as resetConfigOverrides, Ii as DEFAULT_MODEL, In as resolveSlackStreamingMode, J as TELEGRAM_COMMAND_NAME_PATTERN, Jn as listProfilesForProvider, Jt as unsetConfigValueAtPath, K as validateConfigObjectWithPlugins, Kt as parseConfigPath, Li as DEFAULT_PROVIDER, Mr as resolveSubagentSpawnModelSelection, Mt as isAvatarHttpUrl, Nn as mapStreamingModeToSlackLegacyDraftStreamMode, Nr as resolveThinkingDefault, Pi as splitTrailingAuthProfile, Pn as resolveDiscordPreviewStreamMode, Pt as isPathWithinRoot, Q as isInboundPathAllowed, Ri as resolveAuthProfileDisplayLabel, Sr as normalizeProviderId, U as resolveConfigSnapshotHash, Ut as setConfigOverride, V as readConfigFileSnapshot, Vn as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, Vt as getConfigOverrides, Wt as unsetConfigOverride, X as resolveTelegramCustomCommands, Xr as resolveRetryConfig, Y as normalizeTelegramCommandName, Yn as markAuthProfileGood, Zr as retryAsync, _i as resolveModelAuthMode, a as getSoonestCooldownExpiry, ai as OLLAMA_NATIVE_BASE_URL, bi as resolveShellEnvFallbackTimeoutMs, br as normalizeModelRef$2, c as markAuthProfileUsed, ci as buildAssistantMessageWithZeroUsage, cr as withFileLock, d as resolveApiKeyForProfile, di as getApiKeyForModel, er as ensureAuthProfileStore, et as resolveIMessageAttachmentRoots, f as evaluateStoredCredentialEligibility, fi as getCustomProviderApiKey, fr as buildAllowedModelSet, gi as resolveEnvApiKey, hr as findNormalizedProviderValue, i as clearExpiredCooldowns, ji as normalizeSecretInput, jt as isAvatarDataUrl, kr as resolveModelRefFromString, li as buildStreamErrorAssistantMessage, mi as resolveApiKeyForProvider, mr as buildModelAliasIndex, nn as buildEnforcedShellCommand, nt as normalizeScpRemoteHost, o as isProfileInCooldown, oi as createOllamaStreamFn, or as resolveAuthStorePathForDisplay, p as resolveTokenExpiryState, pi as requireApiKey, pr as buildConfiguredAllowlistKeys, pt as parseDurationMs, qn as dedupeProfileIds, qt as setConfigValueAtPath, r as resolveAuthProfileOrder, rt as parseNonNegativeByteSize, s as markAuthProfileFailure, si as buildAssistantMessage, sr as resolveOpenClawAgentDir, tt as resolveIMessageRemoteAttachmentRoots, u as resolveProfilesUnavailableReason, ui as buildUsageWithNoCost, vr as isCliProvider, yi as getShellPathFromLoginShell, yr as modelKey, z as loadConfig, zt as validateJsonSchemaValue } from "./auth-profiles-CdLTlJLc.js";
7
7
  import { t as formatCliCommand } from "./command-format-CLEQe4bk.js";
8
- import { D as filterBootstrapFilesForSession, E as ensureAgentWorkspace, M as resolveAgentModelFallbackValues, N as resolveAgentModelPrimaryValue, P as toAgentModelListLike, _ as DEFAULT_AGENT_WORKSPACE_DIR, a as resolveAgentDir, b as DEFAULT_IDENTITY_FILENAME, d as resolveDefaultAgentId, f as resolveEffectiveModelFallbacks, h as resolveSessionAgentIds, i as resolveAgentConfig, k as loadWorkspaceBootstrapFiles, l as resolveAgentSkillsFilter, m as resolveSessionAgentId, p as resolveRunModelFallbacksOverride, r as listAgentIds, t as hasConfiguredModelFallbacks, u as resolveAgentWorkspaceDir, v as DEFAULT_BOOTSTRAP_FILENAME } from "./agent-scope-NQ9CtXYN.js";
8
+ import { D as filterBootstrapFilesForSession, E as ensureAgentWorkspace, M as resolveAgentModelFallbackValues, N as resolveAgentModelPrimaryValue, P as toAgentModelListLike, _ as DEFAULT_AGENT_WORKSPACE_DIR, a as resolveAgentDir, b as DEFAULT_IDENTITY_FILENAME, d as resolveDefaultAgentId, f as resolveEffectiveModelFallbacks, h as resolveSessionAgentIds, i as resolveAgentConfig, k as loadWorkspaceBootstrapFiles, l as resolveAgentSkillsFilter, m as resolveSessionAgentId, p as resolveRunModelFallbacksOverride, r as listAgentIds, t as hasConfiguredModelFallbacks, u as resolveAgentWorkspaceDir, v as DEFAULT_BOOTSTRAP_FILENAME } from "./agent-scope-BRElciAf.js";
9
9
  import { D as resolveThreadParentSessionKey, E as parseAgentSessionKey, S as isAcpSessionKey, T as isSubagentSessionKey, _ as normalizeAccountId$2, b as deriveSessionChatType, c as normalizeAgentId, d as resolveThreadSessionKeys, f as sanitizeAgentId, g as DEFAULT_ACCOUNT_ID, i as buildAgentPeerSessionKey, l as normalizeMainKey, n as DEFAULT_MAIN_KEY, o as classifySessionKeyShape, p as scopedHeartbeatWakeOptions, r as buildAgentMainSessionKey, s as isValidAgentId, t as DEFAULT_AGENT_ID, u as resolveAgentIdFromSessionKey, v as normalizeOptionalAccountId, w as isCronSessionKey, x as getSubagentDepth, y as isBlockedObjectKey } from "./session-key-k6urs9r-.js";
10
10
  import { C as sliceUtf16Safe, E as isPlainObject, S as sleep$1, T as truncateUtf16Safe, b as shortenHomeInString, c as escapeRegExp, p as normalizeE164, r as clampInt, t as CONFIG_DIR, u as isRecord$1, v as resolveUserPath, x as shortenHomePath } from "./utils-6WlODK5w.js";
11
- import { a as openBoundaryFileSync, h as normalizeWindowsPathForComparison, i as openBoundaryFile, t as resolveOpenClawPackageRoot } from "./openclaw-root-BU3lu8pM.js";
11
+ import { a as openBoundaryFileSync, h as normalizeWindowsPathForComparison, i as openBoundaryFile, t as resolveOpenClawPackageRoot } from "./openclaw-root-BFfBQ6FD.js";
12
12
  import { i as logWarn, n as logError, r as logInfo, t as logDebug } from "./logger-9wCpWqHD.js";
13
13
  import { n as runExec, r as spawnWithFallback, t as runCommandWithTimeout } from "./exec-GR2kPVc1.js";
14
14
  import { E as triggerInternalHook, M as normalizeResolvedSecretInputString, S as matchPluginCommand, _ as normalizePluginHttpPath, b as getPluginCommandSpecs, c as normalizeChannelId$1, d as getActivePluginRegistryKey, g as createPluginRegistry, k as coerceSecretRef, m as setActivePluginRegistry, n as CHAT_CHANNEL_ORDER, p as requireActivePluginRegistry, s as normalizeAnyChannelId, u as getActivePluginRegistry, v as clearPluginCommands, w as createInternalHookEvent, x as listPluginCommands, y as executePluginCommand } from "./registry-C3qkO1RG.js";
15
15
  import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-Byc_YVYE.js";
16
16
  import { n as isDangerousHostEnvVarName } from "./host-env-security-lcjXF83D.js";
17
17
  import { t as VERSION } from "./version-DdJhsIqk.js";
18
- import { a as safeStatSync, d as normalizePluginsConfig, f as resolveEffectiveEnableState, i as isPathInside, l as applyTestPluginDefaults, n as loadPluginManifestRegistry, p as resolveMemorySlotDecision, r as discoverOpenClawPlugins } from "./manifest-registry-CJb8odRF.js";
19
- import { a as resolveChannelGroupRequireMention, c as normalizeHyphenSlug, i as resolveChannelGroupPolicy, l as normalizeStringEntries, n as listChannelDocks, r as normalizeSignalMessagingTarget, s as normalizeAtHashSlug, t as getChannelDock, u as normalizeStringEntriesLower } from "./dock-nA2DVPCV.js";
18
+ import { a as safeStatSync, d as normalizePluginsConfig, f as resolveEffectiveEnableState, i as isPathInside, l as applyTestPluginDefaults, n as loadPluginManifestRegistry, p as resolveMemorySlotDecision, r as discoverOpenClawPlugins } from "./manifest-registry-DVviqWVY.js";
19
+ import { a as resolveChannelGroupRequireMention, c as normalizeHyphenSlug, i as resolveChannelGroupPolicy, l as normalizeStringEntries, n as listChannelDocks, r as normalizeSignalMessagingTarget, s as normalizeAtHashSlug, t as getChannelDock, u as normalizeStringEntriesLower } from "./dock-BbUkruOF.js";
20
20
  import { t as runTasksWithConcurrency } from "./run-with-concurrency-kzSMVKJz.js";
21
21
  import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-BAST85mP.js";
22
- import { i as buildModelAliasLines, n as resolveModel } from "./model-B792l3Cn.js";
23
- import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-DOb5RTev.js";
24
- import { a as logMessageQueued, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, h as getDiagnosticSessionState, i as logMessageProcessed, l as logWebhookProcessed, m as isDiagnosticsEnabled, n as logLaneDequeue, o as logSessionStateChange, p as emitDiagnosticEvent, r as logLaneEnqueue, t as diag, u as logWebhookReceived } from "./diagnostic-BpP9UBCE.js";
25
- import { a as resolveSkillsPromptForRun, d as resolveSandboxInputPath, h as applySkillEnvOverridesFromSnapshot, i as loadWorkspaceSkillEntries, l as assertMediaNotDataUrl, m as applySkillEnvOverrides, p as resolveSandboxedMediaSource, r as buildWorkspaceSkillSnapshot, u as assertSandboxPath } from "./skills-7T9PwwL6.js";
26
- import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-DhIwq92y.js";
22
+ import { i as buildModelAliasLines, n as resolveModel } from "./model-BLV8y_N-.js";
23
+ import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-CECkJMCt.js";
24
+ import { a as logMessageQueued, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, h as getDiagnosticSessionState, i as logMessageProcessed, l as logWebhookProcessed, m as isDiagnosticsEnabled, n as logLaneDequeue, o as logSessionStateChange, p as emitDiagnosticEvent, r as logLaneEnqueue, t as diag, u as logWebhookReceived } from "./diagnostic-BfiudAAN.js";
25
+ import { a as resolveSkillsPromptForRun, d as resolveSandboxInputPath, h as applySkillEnvOverridesFromSnapshot, i as loadWorkspaceSkillEntries, l as assertMediaNotDataUrl, m as applySkillEnvOverrides, p as resolveSandboxedMediaSource, r as buildWorkspaceSkillSnapshot, u as assertSandboxPath } from "./skills-DR-vacol.js";
26
+ import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-DbNvNQar.js";
27
27
  import { a as isInternalMessageChannel, c as listDeliverableMessageChannels, d as resolveMessageChannel, h as GATEWAY_CLIENT_NAMES, i as isGatewayMessageChannel, l as normalizeMessageChannel, m as GATEWAY_CLIENT_MODES, n as isDeliverableMessageChannel, o as isMarkdownCapableMessageChannel, p as GATEWAY_CLIENT_IDS, t as INTERNAL_MESSAGE_CHANNEL, u as resolveGatewayMessageChannel } from "./message-channel-CIqYyQ36.js";
28
- import { C as normalizeSessionDeliveryFields, D as capArrayByJsonBytes, E as archiveSessionTranscripts, F as parseInlineDirectives$1, G as resolveSessionResetPolicy, H as resolveSessionKey, J as DEFAULT_RESET_TRIGGERS, K as resolveSessionResetType, R as jsonUtf8Bytes, S as normalizeDeliveryContext, U as evaluateSessionFreshness, V as resolveSessionLockMaxHoldFromTimeout, W as resolveChannelResetConfig, X as resolveFreshSessionTotalTokens, Y as mergeSessionEntry, Z as setSessionRuntimeModel, _ as isCacheEnabled, a as resolveAndPersistSessionFile, at as resolveConversationLabel, b as deliveryContextKey, c as recordSessionMetaFromInbound, d as updateSessionStore, et as resolveExplicitAgentSessionKey, f as updateSessionStoreEntry, lt as resolveGroupSessionKey, n as parseSessionThreadInfo, o as loadSessionStore, q as resolveThreadFlag, r as appendAssistantMessageToSessionTranscript, rt as deriveSessionMetaPatch, s as readSessionUpdatedAt, t as extractDeliveryInfo, tt as resolveMainSessionKey, u as updateLastRoute, v as resolveCacheTtlMs$1, w as normalizeAccountId$3, x as mergeDeliveryContext, y as deliveryContextFromSession, z as acquireSessionWriteLock } from "./sessions-BmVDW-7q.js";
29
- import { A as normalizeDiscordToken, C as isWhatsAppGroupJid, D as listEnabledDiscordAccounts, S as resolveSlackBotToken, T as createDiscordActionGate, a as createTelegramActionGate, b as resolveSlackReplyToMode, h as listBindings, j as normalizeChatType, k as resolveDiscordAccount, l as resolveTelegramAccount, m as buildChannelAccountBindings, n as listChannelPlugins, o as listEnabledTelegramAccounts, r as normalizeChannelId$2, s as listTelegramAccountIds, t as getChannelPlugin, u as resolveTelegramToken, w as normalizeWhatsAppTarget, x as resolveSlackAppToken, y as resolveSlackAccount } from "./plugins-DCxT-37x.js";
30
- import { _ as webAuthExists, c as logWebSelfId, i as resolveWhatsAppAccount, l as logoutWeb, p as readWebSelfId, s as getWebAuthAgeMs, y as resolveAccountEntry } from "./accounts-khXX75l1.js";
31
- import { r as resolveIMessageAccount } from "./accounts-CUYZBSKh.js";
32
- import { i as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-BtEMxtPK.js";
33
- import { a as resolveSlackWebClientOptions, c as buildSlackBlocksFallbackText, i as createSlackWebClient, l as parseSlackTarget, n as markdownToSlackMrkdwnChunks, o as parseSlackBlocksInput, r as normalizeSlackOutboundText, s as validateSlackBlocksArray, t as sendMessageSlack, u as resolveSlackChannelId } from "./send-DAMtu9kK.js";
34
- import { $ as stripUndefinedFields, A as unpinMessageDiscord, At as resolveChannelEntryMatchWithFallback, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveDiscordSystemLocation, D as pinMessageDiscord, Dt as applyChannelMatchMeta, E as listThreadsDiscord, Et as fetchDiscord, 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, Ot as buildChannelKeyCandidates, P as fetchChannelInfoDiscord, Q as sendDiscordText, R as kickMemberDiscord, S as deleteMessageDiscord, St as formatDiscordUserTag, T as listPinsDiscord, Tt as DiscordApiError, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendStickerDiscord, _t as resolveDiscordOwnerAllowFrom, a as sendDiscordComponentMessage, at as parseDiscordTarget, b as formatMention, bt as shouldEmitDiscordReactionNotification, c as parseDiscordComponentCustomId, ct as listDiscordDirectoryPeersLive, d as parseDiscordModalCustomIdForCarbon, dt as normalizeDiscordSlug, et as fetchChannelPermissionsDiscord, f as readDiscordComponentSpec, ft as resolveDiscordAllowListMatch, g as sendPollDiscord, gt as resolveDiscordOwnerAccess, h as sendMessageDiscord, ht as resolveDiscordMemberAccessState, i as removeReactionDiscord, it as createDiscordRestClient, j as addRoleDiscord, k as searchMessagesDiscord, kt as normalizeChannelSlug, l as parseDiscordComponentCustomIdForCarbon, lt as isDiscordGroupAllowedByPolicy, m as resolveDiscordModalEntry, mt as resolveDiscordGuildEntry, n as reactMessageDiscord, nt as chunkDiscordTextWithMode, o as createDiscordFormModal, ot as resolveDiscordChannelId, p as resolveDiscordComponentEntry, pt as resolveDiscordChannelConfigWithFallback, q as deleteChannelDiscord, r as removeOwnReactionsDiscord, rt as createDiscordClient, s as formatDiscordComponentEventText, st as listDiscordDirectoryGroupsLive, t as fetchReactionsDiscord, tt as hasAnyGuildPermissionDiscord, u as parseDiscordModalCustomId, ut as normalizeDiscordAllowList, v as sendVoiceMessageDiscord, vt as resolveDiscordShouldRequireMention, w as fetchMessageDiscord, wt as resolveTimestampMs, x as createThreadDiscord, xt as formatDiscordReactionEmoji, y as sendWebhookMessageDiscord, yt as resolveGroupDmAllow, z as listGuildChannelsDiscord } from "./send-BtZAqquW.js";
28
+ import { C as normalizeSessionDeliveryFields, D as capArrayByJsonBytes, E as archiveSessionTranscripts, F as parseInlineDirectives$1, G as resolveSessionResetPolicy, H as resolveSessionKey, J as DEFAULT_RESET_TRIGGERS, K as resolveSessionResetType, R as jsonUtf8Bytes, S as normalizeDeliveryContext, U as evaluateSessionFreshness, V as resolveSessionLockMaxHoldFromTimeout, W as resolveChannelResetConfig, X as resolveFreshSessionTotalTokens, Y as mergeSessionEntry, Z as setSessionRuntimeModel, _ as isCacheEnabled, a as resolveAndPersistSessionFile, at as resolveConversationLabel, b as deliveryContextKey, c as recordSessionMetaFromInbound, d as updateSessionStore, et as resolveExplicitAgentSessionKey, f as updateSessionStoreEntry, lt as resolveGroupSessionKey, n as parseSessionThreadInfo, o as loadSessionStore, q as resolveThreadFlag, r as appendAssistantMessageToSessionTranscript, rt as deriveSessionMetaPatch, s as readSessionUpdatedAt, t as extractDeliveryInfo, tt as resolveMainSessionKey, u as updateLastRoute, v as resolveCacheTtlMs$1, w as normalizeAccountId$3, x as mergeDeliveryContext, y as deliveryContextFromSession, z as acquireSessionWriteLock } from "./sessions-BOWPuhe5.js";
29
+ import { A as normalizeDiscordToken, C as isWhatsAppGroupJid, D as listEnabledDiscordAccounts, S as resolveSlackBotToken, T as createDiscordActionGate, a as createTelegramActionGate, b as resolveSlackReplyToMode, h as listBindings, j as normalizeChatType, k as resolveDiscordAccount, l as resolveTelegramAccount, m as buildChannelAccountBindings, n as listChannelPlugins, o as listEnabledTelegramAccounts, r as normalizeChannelId$2, s as listTelegramAccountIds, t as getChannelPlugin, u as resolveTelegramToken, w as normalizeWhatsAppTarget, x as resolveSlackAppToken, y as resolveSlackAccount } from "./plugins-VAZrrfgw.js";
30
+ import { _ as webAuthExists, c as logWebSelfId, i as resolveWhatsAppAccount, l as logoutWeb, p as readWebSelfId, s as getWebAuthAgeMs, y as resolveAccountEntry } from "./accounts-DJaYqD2E.js";
31
+ import { r as resolveIMessageAccount } from "./accounts-BU-CeDai.js";
32
+ import { i as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-BVgYdU9W.js";
33
+ import { a as resolveSlackWebClientOptions, c as buildSlackBlocksFallbackText, i as createSlackWebClient, l as parseSlackTarget, n as markdownToSlackMrkdwnChunks, o as parseSlackBlocksInput, r as normalizeSlackOutboundText, s as validateSlackBlocksArray, t as sendMessageSlack, u as resolveSlackChannelId } from "./send-5o2p_xjn.js";
34
+ import { $ as stripUndefinedFields, A as unpinMessageDiscord, At as resolveChannelEntryMatchWithFallback, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveDiscordSystemLocation, D as pinMessageDiscord, Dt as applyChannelMatchMeta, E as listThreadsDiscord, Et as fetchDiscord, 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, Ot as buildChannelKeyCandidates, P as fetchChannelInfoDiscord, Q as sendDiscordText, R as kickMemberDiscord, S as deleteMessageDiscord, St as formatDiscordUserTag, T as listPinsDiscord, Tt as DiscordApiError, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendStickerDiscord, _t as resolveDiscordOwnerAllowFrom, a as sendDiscordComponentMessage, at as parseDiscordTarget, b as formatMention, bt as shouldEmitDiscordReactionNotification, c as parseDiscordComponentCustomId, ct as listDiscordDirectoryPeersLive, d as parseDiscordModalCustomIdForCarbon, dt as normalizeDiscordSlug, et as fetchChannelPermissionsDiscord, f as readDiscordComponentSpec, ft as resolveDiscordAllowListMatch, g as sendPollDiscord, gt as resolveDiscordOwnerAccess, h as sendMessageDiscord, ht as resolveDiscordMemberAccessState, i as removeReactionDiscord, it as createDiscordRestClient, j as addRoleDiscord, k as searchMessagesDiscord, kt as normalizeChannelSlug, l as parseDiscordComponentCustomIdForCarbon, lt as isDiscordGroupAllowedByPolicy, m as resolveDiscordModalEntry, mt as resolveDiscordGuildEntry, n as reactMessageDiscord, nt as chunkDiscordTextWithMode, o as createDiscordFormModal, ot as resolveDiscordChannelId, p as resolveDiscordComponentEntry, pt as resolveDiscordChannelConfigWithFallback, q as deleteChannelDiscord, r as removeOwnReactionsDiscord, rt as createDiscordClient, s as formatDiscordComponentEventText, st as listDiscordDirectoryGroupsLive, t as fetchReactionsDiscord, tt as hasAnyGuildPermissionDiscord, u as parseDiscordModalCustomId, ut as normalizeDiscordAllowList, v as sendVoiceMessageDiscord, vt as resolveDiscordShouldRequireMention, w as fetchMessageDiscord, wt as resolveTimestampMs, x as createThreadDiscord, xt as formatDiscordReactionEmoji, y as sendWebhookMessageDiscord, yt as resolveGroupDmAllow, z as listGuildChannelsDiscord } from "./send-2zKwf9NW.js";
35
35
  import { c as resolveStorePath, i as resolveSessionTranscriptPath, n as resolveSessionFilePath, r as resolveSessionFilePathOptions, t as resolveDefaultSessionStorePath } from "./paths-DvFmz0MB.js";
36
36
  import { i as normalizeInputProvenance, n as applyInputProvenanceToUserMessage, r as hasInterSessionUserProvenance } from "./input-provenance-C8z9KgIz.js";
37
- import { r as writeJsonAtomic } from "./json-files-rR19q30D.js";
37
+ import { r as writeJsonAtomic } from "./json-files-CuJjdF_0.js";
38
38
  import { n as onSessionTranscriptUpdate, t as emitSessionTranscriptUpdate } from "./transcript-events-DgzPL8Hc.js";
39
- import { Ft as SESSION_LABEL_MAX_LENGTH, t as GatewayClient } from "./client-g0366Z73.js";
40
- import { a as randomIdempotencyKey, f as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege, t as buildGatewayConnectionDetails } from "./call-CZgRbVYm.js";
41
- import { r as isLoopbackHost } from "./net-BAIqYNz0.js";
39
+ import { Ft as SESSION_LABEL_MAX_LENGTH, t as GatewayClient } from "./client-C-wA75vx.js";
40
+ import { a as randomIdempotencyKey, f as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege, t as buildGatewayConnectionDetails } from "./call-Dp9SDkqK.js";
41
+ import { r as isLoopbackHost } from "./net-D5fSREu4.js";
42
42
  import { r as trimToUndefined, t as resolveGatewayCredentialsFromConfig } from "./credentials-CUTymVVV.js";
43
43
  import { a as stripSilentToken, i as isSilentReplyText, n as SILENT_REPLY_TOKEN, r as isSilentReplyPrefixText, t as HEARTBEAT_TOKEN } from "./tokens-6laAe_ss.js";
44
- import { a as getMachineDisplayName, i as startBrowserControlServiceFromConfig, n as createBrowserRouteDispatcher, r as createBrowserControlContext, t as withTimeout$4 } from "./with-timeout-C8-tY12i.js";
44
+ import { a as getMachineDisplayName, i as startBrowserControlServiceFromConfig, n as createBrowserRouteDispatcher, r as createBrowserControlContext, t as withTimeout$4 } from "./with-timeout-BMMWHlH3.js";
45
45
  import { n as generateSecureUuid, t as generateSecureToken } from "./secure-random-_dzDDlFo.js";
46
- import { A as initializeGlobalHookRunner, C as toInternalMessagePreprocessedContext, D as toPluginMessageReceivedEvent, E as toPluginMessageContext, O as fireAndForgetHook, S as deriveInboundMessageHookContext, T as toInternalMessageTranscribedContext, _ as createReplyToModeFilterForChannel, a as normalizeOutboundPayloadsForJson, b as normalizeChannelTargetInput, c as parseReplyDirectives, d as applyReplyThreading, f as filterMessagingToolDuplicates, g as shouldSuppressReasoningPayload, h as shouldSuppressMessagingToolReplies, i as normalizeOutboundPayloads, k as getGlobalHookRunner, l as splitMediaFromOutput, m as isRenderablePayload, o as normalizeReplyPayloadsForDelivery, p as filterMessagingToolMediaDuplicates, r as formatOutboundPayloadLog, s as throwIfAborted, t as deliverOutboundPayloads, u as applyReplyTagsToPayload, v as resolveReplyToMode, w as toInternalMessageReceivedContext, x as normalizeTargetForProvider, y as buildTargetResolverSignature } from "./deliver-b93aBgie.js";
46
+ import { A as initializeGlobalHookRunner, C as toInternalMessagePreprocessedContext, D as toPluginMessageReceivedEvent, E as toPluginMessageContext, O as fireAndForgetHook, S as deriveInboundMessageHookContext, T as toInternalMessageTranscribedContext, _ as createReplyToModeFilterForChannel, a as normalizeOutboundPayloadsForJson, b as normalizeChannelTargetInput, c as parseReplyDirectives, d as applyReplyThreading, f as filterMessagingToolDuplicates, g as shouldSuppressReasoningPayload, h as shouldSuppressMessagingToolReplies, i as normalizeOutboundPayloads, k as getGlobalHookRunner, l as splitMediaFromOutput, m as isRenderablePayload, o as normalizeReplyPayloadsForDelivery, p as filterMessagingToolMediaDuplicates, r as formatOutboundPayloadLog, s as throwIfAborted, t as deliverOutboundPayloads, u as applyReplyTagsToPayload, v as resolveReplyToMode, w as toInternalMessageReceivedContext, x as normalizeTargetForProvider, y as buildTargetResolverSignature } from "./deliver-CxF9h9PE.js";
47
47
  import { i as resolveTelegramTargetChatType, r as parseTelegramTarget } from "./targets-Bz6Ajr4f.js";
48
- 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-AJL9tN3_.js";
49
- 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 isVoiceCompatibleAudio, K as formatLocationText, 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, _ as splitTelegramCaption, a as reactMessageTelegram, b as resolveCronStorePath, c as sendStickerTelegram, d as isRecoverableTelegramNetworkError, f as markdownToTelegramChunks, g as resolveTelegramFetch, h as wrapFileReferencesInHtml, i as editMessageTelegram, j as expandTextLinks, k as buildTypingThreadParams, l as resolveTelegramVoiceSend, m as renderTelegramHtmlText, n as createForumTopicTelegram, o as sendMessageTelegram, p as markdownToTelegramHtml, q as toLocationContext, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, u as wasSentByBot, v as withTelegramApiErrorLogging, w as buildSenderName, y as loadCronStore, z as resolveTelegramReplyId } from "./send-sC6ka831.js";
50
- import { A as isTransientHttpError, B as resolveBootstrapTotalMaxChars, C as isCompactionFailureError, D as isLikelyContextOverflowError, E as isFailoverErrorMessage, F as isTimeoutErrorMessage, I as buildBootstrapContextFiles, L as ensureSessionHeader, M as parseImageSizeError, N as sanitizeUserFacingText, O as isRateLimitAssistantError, P as isAuthPermanentErrorMessage, R as resolveBootstrapMaxChars, S as isCloudCodeAssistFormatError, T as isFailoverAssistantError, V as sanitizeGoogleTurnOrdering, _ as formatBillingErrorMessage, a as isMessagingToolDuplicateNormalized, b as isAuthAssistantError, c as extractToolCallsFromAssistant, d as downgradeOpenAIFunctionCallReasoningPairs, f as downgradeOpenAIReasoningBlocks, g as formatAssistantErrorText, h as classifyFailoverReason, j as parseImageDimensionError, k as isRawApiErrorPayload, l as extractToolResultId, m as BILLING_ERROR_USER_MESSAGE, n as validateGeminiTurns, o as normalizeTextForComparison, p as isGoogleModelApi, r as pickFallbackThinkingLevel, s as sanitizeSessionMessagesImages, t as validateAnthropicTurns, u as sanitizeToolCallIdsForCloudCodeAssist, v as formatRawAssistantErrorForUi, w as isContextOverflowError, x as isBillingAssistantError, y as getApiErrorPayloadFingerprint, z as resolveBootstrapPromptTruncationWarningMode } from "./pi-embedded-helpers-DC2OtKrl.js";
51
- import { C as resolveToolProfilePolicy, S as normalizeToolName, T as matchesAnyGlobPattern, _ as collectExplicitAllowlist, a as ensureSandboxWorkspaceForSession, b as stripPluginOnlyAllowlist, c as resolveSandboxRuntimeStatus, d as getBridgeAuthForPort, f as resolveSandboxConfigForAgent, g as buildPluginToolGroups, h as applyOwnerOnlyToolPolicy, o as resolveSandboxContext, v as expandPolicyWithPluginGroups, w as compileGlobPatterns, y as mergeAlsoAllowPolicy } from "./sandbox-0TbzPJaS.js";
52
- import { j as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-L_icBVLq.js";
53
- import { c as resolveBrowserControlAuth, i as resolveBrowserConfig } from "./server-context-HJVwPQYn.js";
54
- import { i as resolveExistingPathsWithinRoot, r as DEFAULT_UPLOAD_DIR } from "./paths-Cv63xST_.js";
48
+ 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-pjs5W0CZ.js";
49
+ 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 isVoiceCompatibleAudio, K as formatLocationText, 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, _ as splitTelegramCaption, a as reactMessageTelegram, b as resolveCronStorePath, c as sendStickerTelegram, d as isRecoverableTelegramNetworkError, f as markdownToTelegramChunks, g as resolveTelegramFetch, h as wrapFileReferencesInHtml, i as editMessageTelegram, j as expandTextLinks, k as buildTypingThreadParams, l as resolveTelegramVoiceSend, m as renderTelegramHtmlText, n as createForumTopicTelegram, o as sendMessageTelegram, p as markdownToTelegramHtml, q as toLocationContext, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, u as wasSentByBot, v as withTelegramApiErrorLogging, w as buildSenderName, y as loadCronStore, z as resolveTelegramReplyId } from "./send-u1Bo4CSn.js";
50
+ import { A as isTransientHttpError, B as resolveBootstrapTotalMaxChars, C as isCompactionFailureError, D as isLikelyContextOverflowError, E as isFailoverErrorMessage, F as isTimeoutErrorMessage, I as buildBootstrapContextFiles, L as ensureSessionHeader, M as parseImageSizeError, N as sanitizeUserFacingText, O as isRateLimitAssistantError, P as isAuthPermanentErrorMessage, R as resolveBootstrapMaxChars, S as isCloudCodeAssistFormatError, T as isFailoverAssistantError, V as sanitizeGoogleTurnOrdering, _ as formatBillingErrorMessage, a as isMessagingToolDuplicateNormalized, b as isAuthAssistantError, c as extractToolCallsFromAssistant, d as downgradeOpenAIFunctionCallReasoningPairs, f as downgradeOpenAIReasoningBlocks, g as formatAssistantErrorText, h as classifyFailoverReason, j as parseImageDimensionError, k as isRawApiErrorPayload, l as extractToolResultId, m as BILLING_ERROR_USER_MESSAGE, n as validateGeminiTurns, o as normalizeTextForComparison, p as isGoogleModelApi, r as pickFallbackThinkingLevel, s as sanitizeSessionMessagesImages, t as validateAnthropicTurns, u as sanitizeToolCallIdsForCloudCodeAssist, v as formatRawAssistantErrorForUi, w as isContextOverflowError, x as isBillingAssistantError, y as getApiErrorPayloadFingerprint, z as resolveBootstrapPromptTruncationWarningMode } from "./pi-embedded-helpers-oXDyXTD8.js";
51
+ import { C as resolveToolProfilePolicy, S as normalizeToolName, T as matchesAnyGlobPattern, _ as collectExplicitAllowlist, a as ensureSandboxWorkspaceForSession, b as stripPluginOnlyAllowlist, c as resolveSandboxRuntimeStatus, d as getBridgeAuthForPort, f as resolveSandboxConfigForAgent, g as buildPluginToolGroups, h as applyOwnerOnlyToolPolicy, o as resolveSandboxContext, v as expandPolicyWithPluginGroups, w as compileGlobPatterns, y as mergeAlsoAllowPolicy } from "./sandbox-Ct-_lzi1.js";
52
+ import { j as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-CyM61Cn2.js";
53
+ import { c as resolveBrowserControlAuth, i as resolveBrowserConfig } from "./server-context-8pDe2iyd.js";
54
+ import { i as resolveExistingPathsWithinRoot, r as DEFAULT_UPLOAD_DIR } from "./paths-BB_1ZWOj.js";
55
55
  import { a as testRegexWithBoundedInput, i as compileSafeRegex, n as redactSensitiveText } from "./redact-TY4yJzrg.js";
56
56
  import { i as formatUncaughtError, r as formatErrorMessage, s as readErrorName } from "./errors-BbXSsOtF.js";
57
- import { i as openFileWithinRoot, l as writeFileWithinRoot, n as copyFileWithinRoot, o as readFileWithinRoot, r as createRootScopedReadFile, t as SafeOpenError } from "./fs-safe-CFLs-j60.js";
58
- import { a as isBlockedHostnameOrIp, c as normalizeHostname, n as SsrFBlockedError } from "./proxy-env-BMrSVckF.js";
59
- import { i as saveMediaBuffer, r as getMediaDir, t as MEDIA_MAX_BYTES } from "./store-DeASfYEV.js";
60
- import { i as resolveLsofCommandSync } from "./ports-CER5YPnN.js";
61
- import { a as canonicalizeBase64, i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, o as estimateBase64DecodedBytes, r as sanitizeToolResultImages } from "./tool-images-Bn6dB14u.js";
57
+ import { i as openFileWithinRoot, l as writeFileWithinRoot, n as copyFileWithinRoot, o as readFileWithinRoot, r as createRootScopedReadFile, t as SafeOpenError } from "./fs-safe-jMDpsYew.js";
58
+ import { a as isBlockedHostnameOrIp, c as normalizeHostname, n as SsrFBlockedError } from "./proxy-env-wKO3g8Yv.js";
59
+ import { i as saveMediaBuffer, r as getMediaDir, t as MEDIA_MAX_BYTES } from "./store-DDkqo1sO.js";
60
+ import { i as resolveLsofCommandSync } from "./ports-DogAV7pa.js";
61
+ import { a as canonicalizeBase64, i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, o as estimateBase64DecodedBytes, r as sanitizeToolResultImages } from "./tool-images-CNPfeCmU.js";
62
62
  import { a as normalizeElevatedLevel, c as normalizeUsageDisplay, d as supportsXHighThinking, l as normalizeVerboseLevel, n as formatXHighModelHint, o as normalizeReasoningLevel, s as normalizeThinkLevel, t as formatThinkingLevels, u as resolveResponseUsageMode } from "./thinking-CrcT589P.js";
63
- import { t as ensureOpenClawModelsJson } from "./models-config-Dabs9Kdv.js";
64
- import { n as evaluateShellAllowlist, r as resolveAllowAlwaysPatterns } from "./exec-approvals-allowlist-C0Eya3rT.js";
65
- import { n as resolveExecSafeBinRuntimePolicy, r as resolveMergedSafeBinProfileFixtures } from "./exec-safe-bin-runtime-policy-BmJmfDRo.js";
66
- import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-DZ6kl2Ko.js";
67
- import { a as getDefaultMediaLocalRoots, i as getAgentScopedMediaLocalRoots, n as fetchRemoteMedia, r as readResponseWithLimit, t as MediaFetchError } from "./fetch-BhAHVdwx.js";
68
- import { a as resolveAutoImageModel, c as applyTemplate, d as normalizeMediaUnderstandingChatType, f as resolveMediaUnderstandingScope, g as registerUnhandledRejectionHandler, i as normalizeMediaAttachments, l as resolveConcurrency, m as buildRandomTempFilePath, n as buildProviderRegistry, o as resolveMediaAttachmentLocalRoots, p as CLI_OUTPUT_MAX_BUFFER, r as createMediaAttachmentCache, s as runCapability, t as runAudioTranscription, u as resolveTimeoutMs$1, v as resolveAttachmentKind } from "./audio-transcription-runner-DYKvqK54.js";
63
+ import { t as ensureOpenClawModelsJson } from "./models-config-DNcDbV_G.js";
64
+ import { n as evaluateShellAllowlist, r as resolveAllowAlwaysPatterns } from "./exec-approvals-allowlist-ySf2Yo5n.js";
65
+ import { n as resolveExecSafeBinRuntimePolicy, r as resolveMergedSafeBinProfileFixtures } from "./exec-safe-bin-runtime-policy-DnXViOlF.js";
66
+ import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-DTcBkUlX.js";
67
+ import { a as getDefaultMediaLocalRoots, i as getAgentScopedMediaLocalRoots, n as fetchRemoteMedia, r as readResponseWithLimit, t as MediaFetchError } from "./fetch-D-SiVqBm.js";
68
+ import { a as resolveAutoImageModel, c as applyTemplate, d as normalizeMediaUnderstandingChatType, f as resolveMediaUnderstandingScope, g as registerUnhandledRejectionHandler, i as normalizeMediaAttachments, l as resolveConcurrency, m as buildRandomTempFilePath, n as buildProviderRegistry, o as resolveMediaAttachmentLocalRoots, p as CLI_OUTPUT_MAX_BUFFER, r as createMediaAttachmentCache, s as runCapability, t as runAudioTranscription, u as resolveTimeoutMs$1, v as resolveAttachmentKind } from "./audio-transcription-runner-D1cvrZ6s.js";
69
69
  import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-Mawkd1Br.js";
70
- import { n as withStrictGuardedFetchMode, r as withTrustedEnvProxyGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-BbBdhWz_.js";
71
- import { _ as stripReasoningTagsFromText, a as resolveProviderVisionModelFromConfig, b as extractTextFromChatContent, c as extractThinkingFromTaggedStream, d as inferToolMetaFromArgs, f as isAssistantMessage, g as stripThinkingTagsFromText, h as stripMinimaxToolCallXml, i as decodeDataUrl, l as extractThinkingFromTaggedText, m as stripDowngradedToolCallText, n as coerceImageAssistantText, o as extractAssistantText$1, p as promoteThinkingTagsToBlocks, r as coerceImageModelConfig, s as extractAssistantThinking, u as formatReasoningMessage, v as findCodeRegions, x as minimaxUnderstandImage, y as isInsideCode } from "./image-Bw71y73Q.js";
70
+ import { n as withStrictGuardedFetchMode, r as withTrustedEnvProxyGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-CKYBfJ66.js";
71
+ import { _ as stripReasoningTagsFromText, a as resolveProviderVisionModelFromConfig, b as extractTextFromChatContent, c as extractThinkingFromTaggedStream, d as inferToolMetaFromArgs, f as isAssistantMessage, g as stripThinkingTagsFromText, h as stripMinimaxToolCallXml, i as decodeDataUrl, l as extractThinkingFromTaggedText, m as stripDowngradedToolCallText, n as coerceImageAssistantText, o as extractAssistantText$1, p as promoteThinkingTagsToBlocks, r as coerceImageModelConfig, s as extractAssistantThinking, u as formatReasoningMessage, v as findCodeRegions, x as minimaxUnderstandImage, y as isInsideCode } from "./image-CyHTO86Q.js";
72
72
  import { n as formatToolSummary, r as resolveToolDisplay } from "./tool-display-CvlNC8XD.js";
73
73
  import { t as makeProxyFetch } from "./proxy-fetch-DezNPSn_.js";
74
- import { _ as isSafeFenceBreak, a as loadWebMedia, c as chunkByNewline, d as chunkMarkdownTextWithMode, f as chunkText, g as findFenceSpanAt, h as resolveTextChunkLimit, i as getDefaultLocalRoots, m as resolveChunkMode, o as loadWebMediaRaw, p as chunkTextWithMode, s as resolveMarkdownTableMode, u as chunkMarkdownText, v as parseFenceSpans } from "./ir-otKVkb4a.js";
75
- 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-iVxliVqA.js";
76
- import { a as resolveNativeSkillsEnabled, i as resolveNativeCommandsEnabled, n as isNativeCommandsExplicitlyDisabled, r as isRestartEnabled, t as isCommandFlagEnabled } from "./commands-DU7At3rY.js";
77
- import { a as listChatCommandsForConfig, c as maybeResolveTextAlias, d as resolveCommandArgChoices, f as resolveCommandArgMenu, i as listChatCommands, l as normalizeCommandBody, m as shouldHandleTextCommands, n as findCommandByNativeName, o as listNativeCommandSpecs, p as serializeCommandArgs, r as isCommandEnabled, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as parseCommandArgs } from "./commands-registry-B_WUa9KB.js";
74
+ import { _ as isSafeFenceBreak, a as loadWebMedia, c as chunkByNewline, d as chunkMarkdownTextWithMode, f as chunkText, g as findFenceSpanAt, h as resolveTextChunkLimit, i as getDefaultLocalRoots, m as resolveChunkMode, o as loadWebMediaRaw, p as chunkTextWithMode, s as resolveMarkdownTableMode, u as chunkMarkdownText, v as parseFenceSpans } from "./ir-Da7Ahsqc.js";
75
+ 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-KOHiT_JA.js";
76
+ import { a as resolveNativeSkillsEnabled, i as resolveNativeCommandsEnabled, n as isNativeCommandsExplicitlyDisabled, r as isRestartEnabled, t as isCommandFlagEnabled } from "./commands-C8pWcFs_.js";
77
+ import { a as listChatCommandsForConfig, c as maybeResolveTextAlias, d as resolveCommandArgChoices, f as resolveCommandArgMenu, i as listChatCommands, l as normalizeCommandBody, m as shouldHandleTextCommands, n as findCommandByNativeName, o as listNativeCommandSpecs, p as serializeCommandArgs, r as isCommandEnabled, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as parseCommandArgs } from "./commands-registry-J6nVL3BQ.js";
78
78
  import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-Cep8cXb2.js";
79
79
  import { n as formatTimeAgo } from "./format-relative-Czf5fUjn.js";
80
- import { c as readJsonFileWithFallback, d as listPairingChannels, i as readChannelAllowFromStore, l as writeJsonFileAtomically, o as removeChannelAllowFromStoreEntry, s as upsertChannelPairingRequest, t as addChannelAllowFromStoreEntry } from "./pairing-store-Brs9aNn_.js";
80
+ import { c as readJsonFileWithFallback, d as listPairingChannels, i as readChannelAllowFromStore, l as writeJsonFileAtomically, o as removeChannelAllowFromStoreEntry, s as upsertChannelPairingRequest, t as addChannelAllowFromStoreEntry } from "./pairing-store-BXArq4hn.js";
81
81
  import { d as resolveExecApprovals, f as resolveExecApprovalsFromFile, i as maxAsk, l as recordAllowlistUse, n as addAllowlistEntry, o as minSecurity, u as requiresExecApproval } from "./exec-approvals-BXpO0clf.js";
82
- import { C as mergePathPrepend, S as findPathKey, a as canvasSnapshotTempPath, b as buildNodeShellCommand, c as parseCameraClipPayload, d as writeCameraClipPayloadToFile, f as writeCameraPayloadToFile, i as parseEnvPairs, l as parseCameraSnapPayload, n as screenRecordTempPath, o as parseCanvasSnapshotPayload, p as parsePreparedSystemRunPayload, r as writeScreenRecordToFile, s as cameraTempPath, t as parseScreenRecordPayload, u as writeBase64ToFile, w as normalizePathPrepend, x as applyPathPrepend } from "./nodes-screen-BTND5VDq.js";
82
+ import { C as mergePathPrepend, S as findPathKey, a as canvasSnapshotTempPath, b as buildNodeShellCommand, c as parseCameraClipPayload, d as writeCameraClipPayloadToFile, f as writeCameraPayloadToFile, i as parseEnvPairs, l as parseCameraSnapPayload, n as screenRecordTempPath, o as parseCanvasSnapshotPayload, p as parsePreparedSystemRunPayload, r as writeScreenRecordToFile, s as cameraTempPath, t as parseScreenRecordPayload, u as writeBase64ToFile, w as normalizePathPrepend, x as applyPathPrepend } from "./nodes-screen-DfsQohWd.js";
83
83
  import { t as killProcessTree$1 } from "./kill-tree-0NV2m8EI.js";
84
- import { t as formatExecCommand } from "./system-run-command-BPWZk7KI.js";
84
+ import { t as formatExecCommand } from "./system-run-command-BmhbnLTE.js";
85
85
  import { i as parsePairingList, n as resolveNodeIdFromNodeList, r as parseNodeList, t as resolveNodeFromNodeList } from "./node-resolve-DO_ibeH6.js";
86
86
  import { i as formatDurationSeconds, r as formatDurationPrecise, t as formatDurationCompact$1 } from "./format-duration-CZ0b60YO.js";
87
- import { a as loadCombinedSessionStoreForGateway, d as resolveContextTokensForModel, f as computeBackoff, p as sleepWithAbort, u as lookupContextTokens } from "./session-utils-CGqb1oeq.js";
87
+ import { a as loadCombinedSessionStoreForGateway, d as resolveContextTokensForModel, f as computeBackoff, p as sleepWithAbort, u as lookupContextTokens } from "./session-utils-DKRmXD2l.js";
88
88
  import { c as hasNonzeroUsage, l as makeZeroUsageSnapshot, n as loadCostUsageSummary, o as derivePromptTokens, r as loadSessionCostSummary, s as deriveSessionTotalTokens, u as normalizeUsage } from "./session-cost-usage-TIBv8Nm4.js";
89
89
  import { i as resolveModelCostConfig, n as formatTokenCount$2, r as formatUsd, t as estimateUsageCost } from "./usage-format-eNPY7j3q.js";
90
- import { a as getRemoteSkillEligibility, b as getSkillsSnapshotVersion, i as resolveSkillCommandInvocation, n as listSkillCommandsForAgents, r as listSkillCommandsForWorkspace, t as listReservedChatSlashCommandNames, y as ensureSkillsWatcher } from "./skill-commands-WtIJG0CI.js";
91
- import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-D9K6yeu8.js";
90
+ import { a as getRemoteSkillEligibility, b as getSkillsSnapshotVersion, i as resolveSkillCommandInvocation, n as listSkillCommandsForAgents, r as listSkillCommandsForWorkspace, t as listReservedChatSlashCommandNames, y as ensureSkillsWatcher } from "./skill-commands-TpUsdjev.js";
91
+ import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-LfmEkdDN.js";
92
92
  import { t as buildOutboundMediaLoadOptions } from "./load-options-PN66jbnR.js";
93
93
  import { n as normalizePollInput } from "./polls-C67dmFc-.js";
94
- import { t as convertMarkdownTables } from "./tables-CV7Afb0h.js";
94
+ import { t as convertMarkdownTables } from "./tables-BxyIF0w4.js";
95
95
  import { f as resolveGatewaySystemdServiceName, l as resolveGatewayLaunchAgentLabel } from "./constants-C8Mfdyag.js";
96
96
  import { i as parseAbsoluteTimeMs, r as resolveDefaultCronStaggerMs, t as normalizeCronStaggerMs } from "./stagger-C4U8O7GM.js";
97
- import { n as resolveMessageChannelSelection, t as listConfiguredMessageChannels } from "./channel-selection-BpIsCVV5.js";
98
- import { t as applyPluginAutoEnable } from "./plugin-auto-enable-BCMqEDjQ.js";
99
- import { a as signalCheck, i as resolveSignalRpcContext, n as sendReadReceiptSignal, o as signalRpcRequest, r as sendTypingSignal, s as streamSignalEvents, t as sendMessageSignal } from "./send-BW-ZtYG3.js";
100
- import { a as isAllowedIMessageSender, i as formatIMessageChatTarget, n as createIMessageRpcClient, o as normalizeIMessageHandle, r as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, s as parseIMessageTarget, t as sendMessageIMessage } from "./send-CxgWxXZc.js";
97
+ import { n as resolveMessageChannelSelection, t as listConfiguredMessageChannels } from "./channel-selection-DFJsYFPo.js";
98
+ import { t as applyPluginAutoEnable } from "./plugin-auto-enable-BE4ZVjAL.js";
99
+ import { a as signalCheck, i as resolveSignalRpcContext, n as sendReadReceiptSignal, o as signalRpcRequest, r as sendTypingSignal, s as streamSignalEvents, t as sendMessageSignal } from "./send-CnRP4P-G.js";
100
+ import { a as isAllowedIMessageSender, i as formatIMessageChatTarget, n as createIMessageRpcClient, o as normalizeIMessageHandle, r as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, s as parseIMessageTarget, t as sendMessageIMessage } from "./send-DAQAKa9Z.js";
101
101
  import { n as isSenderIdAllowed, r as mergeDmAllowFromSources, t as firstDefined$1 } from "./allow-from-DzfdGdp7.js";
102
102
  import { t as parseTimeoutMs } from "./parse-timeout-DUdeaMqF.js";
103
103
  import { i as redactIdentifier, t as getActiveWebListener } from "./active-listener-ChoRoJgR.js";
104
- import { a as resolveSubagentToolPolicy, c as readStoreAllowFromForDmPolicy, d as resolveDmGroupAccessWithLists, f as resolvePinnedMainDmOwnerFromAllowlist, i as resolveGroupToolPolicy, m as resolveControlCommandGate, n as isToolAllowedByPolicies, p as resolveCommandAuthorizedFromAuthorizers, r as resolveEffectiveToolPolicy, s as DM_GROUP_ACCESS_REASON, t as filterToolsByPolicy } from "./pi-tools.policy-DZ-X86Va.js";
104
+ import { a as resolveSubagentToolPolicy, c as readStoreAllowFromForDmPolicy, d as resolveDmGroupAccessWithLists, f as resolvePinnedMainDmOwnerFromAllowlist, i as resolveGroupToolPolicy, m as resolveControlCommandGate, n as isToolAllowedByPolicies, p as resolveCommandAuthorizedFromAuthorizers, r as resolveEffectiveToolPolicy, s as DM_GROUP_ACCESS_REASON, t as filterToolsByPolicy } from "./pi-tools.policy-CydUEzFi.js";
105
105
  import { n as isDangerousNameMatchingEnabled } from "./dangerous-name-matching-CXdnb6je.js";
106
- import { s as resolveCommandSecretRefsViaGateway, t as getAgentRuntimeCommandSecretTargetIds } from "./command-secret-targets-CIMuIdbL.js";
107
- import { r as detectBinary } from "./onboard-helpers-lGpaVp03.js";
108
- import { t as resolvePairingIdLabel } from "./pairing-labels-CaPLIhlh.js";
109
- import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-DGsJx7YM.js";
110
- import { r as resolveMemorySearchConfig } from "./manager-iwcRf3Xc.js";
106
+ import { s as resolveCommandSecretRefsViaGateway, t as getAgentRuntimeCommandSecretTargetIds } from "./command-secret-targets-u3eWn-W3.js";
107
+ import { r as detectBinary } from "./onboard-helpers-DO7u2ZOy.js";
108
+ import { t as resolvePairingIdLabel } from "./pairing-labels-D4rnJ5pJ.js";
109
+ import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-DarWCbU6.js";
110
+ import { r as resolveMemorySearchConfig } from "./manager-BUBwl6M6.js";
111
111
  import { i as resolveContextWindowInfo, n as CONTEXT_WINDOW_WARN_BELOW_TOKENS, r as evaluateContextWindowGuard, t as CONTEXT_WINDOW_HARD_MIN_TOKENS } from "./context-window-guard-EeoVR--t.js";
112
112
  import { createRequire } from "node:module";
113
113
  import { execFileSync, spawn, spawnSync } from "node:child_process";
@@ -117,7 +117,7 @@ import path, { isAbsolute } from "node:path";
117
117
  import fs, { existsSync, mkdirSync, mkdtempSync, promises, readFileSync, renameSync, rmSync, statSync, unlinkSync, writeFileSync } from "node:fs";
118
118
  import JSON5 from "json5";
119
119
  import { inspect } from "node:util";
120
- import fsPromises from "node:fs/promises";
120
+ import fs$1 from "node:fs/promises";
121
121
  import { complete, completeSimple, createAssistantMessageEventStream, streamSimple } from "@mariozechner/pi-ai";
122
122
  import crypto, { createHash, createHmac, randomBytes, randomUUID } from "node:crypto";
123
123
  import { CURRENT_SESSION_VERSION, DefaultResourceLoader, SessionManager, SettingsManager, codingTools, createAgentSession, createEditTool, createReadTool, createWriteTool, estimateTokens, generateSummary, readTool } from "@mariozechner/pi-coding-agent";
@@ -5150,7 +5150,7 @@ async function resolveAgentSessionDirs(stateDir) {
5150
5150
  const agentsDir = path.join(stateDir, "agents");
5151
5151
  let entries = [];
5152
5152
  try {
5153
- entries = await fsPromises.readdir(agentsDir, { withFileTypes: true });
5153
+ entries = await fs$1.readdir(agentsDir, { withFileTypes: true });
5154
5154
  } catch (err) {
5155
5155
  if (err.code === "ENOENT") return [];
5156
5156
  throw err;
@@ -8266,7 +8266,7 @@ async function runWithConcurrency(tasks, limit) {
8266
8266
  //#region src/media-understanding/echo-transcript.ts
8267
8267
  let deliverRuntimePromise$2 = null;
8268
8268
  function loadDeliverRuntime$2() {
8269
- deliverRuntimePromise$2 ??= import("./deliver-runtime-CdWd-JQI.js");
8269
+ deliverRuntimePromise$2 ??= import("./deliver-runtime-DixuU_uB.js");
8270
8270
  return deliverRuntimePromise$2;
8271
8271
  }
8272
8272
  const DEFAULT_ECHO_TRANSCRIPT_FORMAT = "📝 \"{transcript}\"";
@@ -13102,7 +13102,7 @@ async function resolveSandboxWorkdir(params) {
13102
13102
  cwd: process.cwd(),
13103
13103
  root: params.sandbox.workspaceDir
13104
13104
  });
13105
- if (!(await fsPromises.stat(resolved.resolved)).isDirectory()) throw new Error("workdir is not a directory");
13105
+ if (!(await fs$1.stat(resolved.resolved)).isDirectory()) throw new Error("workdir is not a directory");
13106
13106
  const relative = resolved.relative ? resolved.relative.split(path.sep).join(path.posix.sep) : "";
13107
13107
  const containerWorkdir = relative ? path.posix.join(params.sandbox.containerWorkdir, relative) : params.sandbox.containerWorkdir;
13108
13108
  return {
@@ -14346,13 +14346,13 @@ async function validateScriptFileForShellBleed(params) {
14346
14346
  cwd: params.workdir,
14347
14347
  root: params.workdir
14348
14348
  });
14349
- stat = await fsPromises.stat(absPath);
14349
+ stat = await fs$1.stat(absPath);
14350
14350
  } catch {
14351
14351
  return;
14352
14352
  }
14353
14353
  if (!stat.isFile()) return;
14354
14354
  if (stat.size > 512 * 1024) return;
14355
- const content = await fsPromises.readFile(absPath, "utf-8");
14355
+ const content = await fs$1.readFile(absPath, "utf-8");
14356
14356
  const first = /\$[A-Z_][A-Z0-9_]{1,}/g.exec(content);
14357
14357
  if (first) {
14358
14358
  const idx = first.index;
@@ -23734,7 +23734,7 @@ function normalizeReplyPayload(payload, opts = {}) {
23734
23734
  */
23735
23735
  let deliverRuntimePromise$1 = null;
23736
23736
  function loadDeliverRuntime$1() {
23737
- deliverRuntimePromise$1 ??= import("./deliver-runtime-CdWd-JQI.js");
23737
+ deliverRuntimePromise$1 ??= import("./deliver-runtime-DixuU_uB.js");
23738
23738
  return deliverRuntimePromise$1;
23739
23739
  }
23740
23740
  /**
@@ -23858,7 +23858,7 @@ async function emitResetCommandHooks(params) {
23858
23858
  try {
23859
23859
  const messages = [];
23860
23860
  if (sessionFile) {
23861
- const content = await fsPromises.readFile(sessionFile, "utf-8");
23861
+ const content = await fs$1.readFile(sessionFile, "utf-8");
23862
23862
  for (const line of content.split("\n")) {
23863
23863
  if (!line.trim()) continue;
23864
23864
  try {
@@ -24687,7 +24687,7 @@ async function createModelSelectionState(params) {
24687
24687
  }
24688
24688
  }
24689
24689
  if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) {
24690
- const { ensureAuthProfileStore } = await import("./auth-profiles-15pq9j9V.js").then((n) => n.t);
24690
+ const { ensureAuthProfileStore } = await import("./auth-profiles-CdLTlJLc.js").then((n) => n.t);
24691
24691
  const profile = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[sessionEntry.authProfileOverride];
24692
24692
  const providerKey = normalizeProviderId(provider);
24693
24693
  if (!profile || normalizeProviderId(profile.provider) !== providerKey) await clearSessionAuthProfileOverride({
@@ -28283,7 +28283,7 @@ async function readJsonlFromPath(jsonlPath) {
28283
28283
  if (shouldLogVerbose()) logVerbose(`Blocked canvas jsonlPath outside allowed roots: ${resolved}`);
28284
28284
  throw new Error("jsonlPath outside allowed roots");
28285
28285
  }
28286
- const canonical = await fsPromises.realpath(resolved).catch(() => resolved);
28286
+ const canonical = await fs$1.realpath(resolved).catch(() => resolved);
28287
28287
  if (!isInboundPathAllowed({
28288
28288
  filePath: canonical,
28289
28289
  roots
@@ -28291,7 +28291,7 @@ async function readJsonlFromPath(jsonlPath) {
28291
28291
  if (shouldLogVerbose()) logVerbose(`Blocked canvas jsonlPath outside allowed roots: ${canonical}`);
28292
28292
  throw new Error("jsonlPath outside allowed roots");
28293
28293
  }
28294
- return await fsPromises.readFile(canonical, "utf8");
28294
+ return await fs$1.readFile(canonical, "utf8");
28295
28295
  }
28296
28296
  const CanvasToolSchema = Type.Object({
28297
28297
  action: stringEnum(CANVAS_ACTIONS),
@@ -29106,27 +29106,27 @@ function resolveRestartSentinelPath(env = process.env) {
29106
29106
  }
29107
29107
  async function writeRestartSentinel(payload, env = process.env) {
29108
29108
  const filePath = resolveRestartSentinelPath(env);
29109
- await fsPromises.mkdir(path.dirname(filePath), { recursive: true });
29109
+ await fs$1.mkdir(path.dirname(filePath), { recursive: true });
29110
29110
  const data = {
29111
29111
  version: 1,
29112
29112
  payload
29113
29113
  };
29114
- await fsPromises.writeFile(filePath, `${JSON.stringify(data, null, 2)}\n`, "utf-8");
29114
+ await fs$1.writeFile(filePath, `${JSON.stringify(data, null, 2)}\n`, "utf-8");
29115
29115
  return filePath;
29116
29116
  }
29117
29117
  async function readRestartSentinel(env = process.env) {
29118
29118
  const filePath = resolveRestartSentinelPath(env);
29119
29119
  try {
29120
- const raw = await fsPromises.readFile(filePath, "utf-8");
29120
+ const raw = await fs$1.readFile(filePath, "utf-8");
29121
29121
  let parsed;
29122
29122
  try {
29123
29123
  parsed = JSON.parse(raw);
29124
29124
  } catch {
29125
- await fsPromises.unlink(filePath).catch(() => {});
29125
+ await fs$1.unlink(filePath).catch(() => {});
29126
29126
  return null;
29127
29127
  }
29128
29128
  if (!parsed || parsed.version !== 1 || !parsed.payload) {
29129
- await fsPromises.unlink(filePath).catch(() => {});
29129
+ await fs$1.unlink(filePath).catch(() => {});
29130
29130
  return null;
29131
29131
  }
29132
29132
  return parsed;
@@ -29138,7 +29138,7 @@ async function consumeRestartSentinel(env = process.env) {
29138
29138
  const filePath = resolveRestartSentinelPath(env);
29139
29139
  const parsed = await readRestartSentinel(env);
29140
29140
  if (!parsed) return null;
29141
- await fsPromises.unlink(filePath).catch(() => {});
29141
+ await fs$1.unlink(filePath).catch(() => {});
29142
29142
  return parsed;
29143
29143
  }
29144
29144
  function formatRestartSentinelMessage(payload) {
@@ -39874,18 +39874,18 @@ function appendImagePathsToPrompt(prompt, paths) {
39874
39874
  return `${trimmed}${trimmed ? "\n\n" : ""}${paths.join("\n")}`;
39875
39875
  }
39876
39876
  async function writeCliImages(images) {
39877
- const tempDir = await fsPromises.mkdtemp(path.join(os.tmpdir(), "openclaw-cli-images-"));
39877
+ const tempDir = await fs$1.mkdtemp(path.join(os.tmpdir(), "openclaw-cli-images-"));
39878
39878
  const paths = [];
39879
39879
  for (let i = 0; i < images.length; i += 1) {
39880
39880
  const image = images[i];
39881
39881
  const ext = resolveImageExtension(image.mimeType);
39882
39882
  const filePath = path.join(tempDir, `image-${i + 1}.${ext}`);
39883
39883
  const buffer = Buffer.from(image.data, "base64");
39884
- await fsPromises.writeFile(filePath, buffer, { mode: 384 });
39884
+ await fs$1.writeFile(filePath, buffer, { mode: 384 });
39885
39885
  paths.push(filePath);
39886
39886
  }
39887
39887
  const cleanup = async () => {
39888
- await fsPromises.rm(tempDir, {
39888
+ await fs$1.rm(tempDir, {
39889
39889
  recursive: true,
39890
39890
  force: true
39891
39891
  });
@@ -43852,7 +43852,7 @@ const warnedContexts = /* @__PURE__ */ new Map();
43852
43852
  const log$9 = createSubsystemLogger("session-maintenance-warning");
43853
43853
  let deliverRuntimePromise = null;
43854
43854
  function loadDeliverRuntime() {
43855
- deliverRuntimePromise ??= import("./deliver-runtime-CdWd-JQI.js");
43855
+ deliverRuntimePromise ??= import("./deliver-runtime-DixuU_uB.js");
43856
43856
  return deliverRuntimePromise;
43857
43857
  }
43858
43858
  function shouldSendWarning() {
@@ -44433,7 +44433,7 @@ async function stageSandboxMedia(params) {
44433
44433
  const remoteMediaCacheDir = ctx.MediaRemoteHost ? path.join(CONFIG_DIR, "media", "remote-cache", sessionKey) : null;
44434
44434
  const effectiveWorkspaceDir = sandbox?.workspaceDir ?? remoteMediaCacheDir;
44435
44435
  if (!effectiveWorkspaceDir) return;
44436
- await fsPromises.mkdir(effectiveWorkspaceDir, { recursive: true });
44436
+ await fs$1.mkdir(effectiveWorkspaceDir, { recursive: true });
44437
44437
  const remoteAttachmentRoots = resolveIMessageRemoteAttachmentRoots({
44438
44438
  cfg,
44439
44439
  accountId: ctx.AccountId
@@ -44492,8 +44492,8 @@ async function stageLocalFileIntoRoot(params) {
44492
44492
  }
44493
44493
  async function stageRemoteFileIntoRoot(params) {
44494
44494
  const tmpRoot = resolvePreferredOpenClawTmpDir();
44495
- await fsPromises.mkdir(tmpRoot, { recursive: true });
44496
- const tmpDir = await fsPromises.mkdtemp(path.join(tmpRoot, "stage-sandbox-media-"));
44495
+ await fs$1.mkdir(tmpRoot, { recursive: true });
44496
+ const tmpDir = await fs$1.mkdtemp(path.join(tmpRoot, "stage-sandbox-media-"));
44497
44497
  const tmpPath = path.join(tmpDir, "download");
44498
44498
  try {
44499
44499
  await scpFile(params.remoteHost, params.remotePath, tmpPath);
@@ -44504,7 +44504,7 @@ async function stageRemoteFileIntoRoot(params) {
44504
44504
  maxBytes: params.maxBytes
44505
44505
  });
44506
44506
  } finally {
44507
- await fsPromises.rm(tmpDir, {
44507
+ await fs$1.rm(tmpDir, {
44508
44508
  recursive: true,
44509
44509
  force: true
44510
44510
  }).catch(() => {});
@@ -48812,7 +48812,7 @@ const VISION_PROVIDERS = [
48812
48812
  ];
48813
48813
  let imageRuntimePromise = null;
48814
48814
  function loadImageRuntime() {
48815
- imageRuntimePromise ??= import("./image-runtime-6jhrqcle.js");
48815
+ imageRuntimePromise ??= import("./image-runtime-B2qh5seQ.js");
48816
48816
  return imageRuntimePromise;
48817
48817
  }
48818
48818
  /**
@@ -48878,7 +48878,7 @@ async function describeStickerImage(params) {
48878
48878
  const { provider, model } = resolved;
48879
48879
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
48880
48880
  try {
48881
- const buffer = await fsPromises.readFile(imagePath);
48881
+ const buffer = await fs$1.readFile(imagePath);
48882
48882
  const { describeImageWithModel } = await loadImageRuntime();
48883
48883
  return (await describeImageWithModel({
48884
48884
  buffer,
@@ -50640,7 +50640,7 @@ async function resolveDiscordPreflightAudioMentionContext(params) {
50640
50640
  const needsPreflightTranscription = !params.isDirectMessage && params.shouldRequireMention && hasAudioAttachment && !hasTypedText && params.mentionRegexes.length > 0;
50641
50641
  let transcript;
50642
50642
  if (needsPreflightTranscription) try {
50643
- const { transcribeFirstAudio } = await import("./audio-preflight-DUtdCXjJ.js");
50643
+ const { transcribeFirstAudio } = await import("./audio-preflight-Yg1vzPE1.js");
50644
50644
  const audioUrls = audioAttachments.map((att) => att.url).filter((url) => typeof url === "string" && url.length > 0);
50645
50645
  if (audioUrls.length > 0) transcript = await transcribeFirstAudio({
50646
50646
  ctx: {
@@ -55462,27 +55462,27 @@ let slackSenderRuntimePromise = null;
55462
55462
  let signalSenderRuntimePromise = null;
55463
55463
  let imessageSenderRuntimePromise = null;
55464
55464
  function loadWhatsAppSenderRuntime() {
55465
- whatsappSenderRuntimePromise ??= import("./deps-send-whatsapp.runtime-BkoMLlCM.js");
55465
+ whatsappSenderRuntimePromise ??= import("./deps-send-whatsapp.runtime-D2sVAclS.js");
55466
55466
  return whatsappSenderRuntimePromise;
55467
55467
  }
55468
55468
  function loadTelegramSenderRuntime() {
55469
- telegramSenderRuntimePromise ??= import("./deps-send-telegram.runtime-C--B69CN.js");
55469
+ telegramSenderRuntimePromise ??= import("./deps-send-telegram.runtime-B6wp3kx8.js");
55470
55470
  return telegramSenderRuntimePromise;
55471
55471
  }
55472
55472
  function loadDiscordSenderRuntime() {
55473
- discordSenderRuntimePromise ??= import("./deps-send-discord.runtime-BltWu9GW.js");
55473
+ discordSenderRuntimePromise ??= import("./deps-send-discord.runtime-CDcLcDSt.js");
55474
55474
  return discordSenderRuntimePromise;
55475
55475
  }
55476
55476
  function loadSlackSenderRuntime() {
55477
- slackSenderRuntimePromise ??= import("./deps-send-slack.runtime-CkyZO7ln.js");
55477
+ slackSenderRuntimePromise ??= import("./deps-send-slack.runtime-Cpy77gBG.js");
55478
55478
  return slackSenderRuntimePromise;
55479
55479
  }
55480
55480
  function loadSignalSenderRuntime() {
55481
- signalSenderRuntimePromise ??= import("./deps-send-signal.runtime-fHqkSmMW.js");
55481
+ signalSenderRuntimePromise ??= import("./deps-send-signal.runtime-DQDD44_O.js");
55482
55482
  return signalSenderRuntimePromise;
55483
55483
  }
55484
55484
  function loadIMessageSenderRuntime() {
55485
- imessageSenderRuntimePromise ??= import("./deps-send-imessage.runtime-CdCif3t7.js");
55485
+ imessageSenderRuntimePromise ??= import("./deps-send-imessage.runtime-BGPUVMIE.js");
55486
55486
  return imessageSenderRuntimePromise;
55487
55487
  }
55488
55488
  function createDefaultDeps() {
@@ -56655,10 +56655,10 @@ function estimateDurationSeconds(pcm) {
56655
56655
  return pcm.length / (bytesPerSample * SAMPLE_RATE);
56656
56656
  }
56657
56657
  async function writeWavFile(pcm) {
56658
- const tempDir = await fsPromises.mkdtemp(path.join(resolvePreferredOpenClawTmpDir(), "discord-voice-"));
56658
+ const tempDir = await fs$1.mkdtemp(path.join(resolvePreferredOpenClawTmpDir(), "discord-voice-"));
56659
56659
  const filePath = path.join(tempDir, `segment-${randomUUID()}.wav`);
56660
56660
  const wav = buildWavBuffer(pcm);
56661
- await fsPromises.writeFile(filePath, wav);
56661
+ await fs$1.writeFile(filePath, wav);
56662
56662
  scheduleTempCleanup(tempDir);
56663
56663
  return {
56664
56664
  path: filePath,
@@ -56667,7 +56667,7 @@ async function writeWavFile(pcm) {
56667
56667
  }
56668
56668
  function scheduleTempCleanup(tempDir, delayMs = 1800 * 1e3) {
56669
56669
  setTimeout(() => {
56670
- fsPromises.rm(tempDir, {
56670
+ fs$1.rm(tempDir, {
56671
56671
  recursive: true,
56672
56672
  force: true
56673
56673
  }).catch((err) => {
@@ -61233,7 +61233,7 @@ function normalizeAllowList$1(list) {
61233
61233
  async function detectRemoteHostFromCliPath(cliPath) {
61234
61234
  try {
61235
61235
  const expanded = cliPath.startsWith("~") ? cliPath.replace(/^~/, process.env.HOME ?? "") : cliPath;
61236
- const content = await fsPromises.readFile(expanded, "utf8");
61236
+ const content = await fs$1.readFile(expanded, "utf8");
61237
61237
  const userHostMatch = content.match(/\bssh\b[^\n]*?\s+([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+)/);
61238
61238
  if (userHostMatch) return userHostMatch[1];
61239
61239
  return content.match(/\bssh\b[^\n]*?\s+([a-zA-Z][a-zA-Z0-9._-]*)\s+\S*\bimsg\b/)?.[1];
@@ -68202,15 +68202,15 @@ let slashCommandsRuntimePromise = null;
68202
68202
  let slashDispatchRuntimePromise = null;
68203
68203
  let slashSkillCommandsRuntimePromise = null;
68204
68204
  function loadSlashCommandsRuntime() {
68205
- slashCommandsRuntimePromise ??= import("./slash-commands.runtime-CMGx2xHy.js");
68205
+ slashCommandsRuntimePromise ??= import("./slash-commands.runtime-BfaheruW.js");
68206
68206
  return slashCommandsRuntimePromise;
68207
68207
  }
68208
68208
  function loadSlashDispatchRuntime() {
68209
- slashDispatchRuntimePromise ??= import("./slash-dispatch.runtime-BAeJXa56.js");
68209
+ slashDispatchRuntimePromise ??= import("./slash-dispatch.runtime-D0xInkf3.js");
68210
68210
  return slashDispatchRuntimePromise;
68211
68211
  }
68212
68212
  function loadSlashSkillCommandsRuntime() {
68213
- slashSkillCommandsRuntimePromise ??= import("./slash-skill-commands.runtime-ChU2tck2.js");
68213
+ slashSkillCommandsRuntimePromise ??= import("./slash-skill-commands.runtime-D34BKAN-.js");
68214
68214
  return slashSkillCommandsRuntimePromise;
68215
68215
  }
68216
68216
  const slackExternalArgMenuStore = createSlackExternalArgMenuStore();
@@ -71575,7 +71575,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, replyMedia =
71575
71575
  const disableAudioPreflight = firstDefined$1(topicConfig?.disableAudioPreflight, groupConfig?.disableAudioPreflight) === true;
71576
71576
  let preflightTranscript;
71577
71577
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0 && !disableAudioPreflight) try {
71578
- const { transcribeFirstAudio } = await import("./audio-preflight-DUtdCXjJ.js");
71578
+ const { transcribeFirstAudio } = await import("./audio-preflight-Yg1vzPE1.js");
71579
71579
  preflightTranscript = await transcribeFirstAudio({
71580
71580
  ctx: {
71581
71581
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -73046,7 +73046,7 @@ function resolveCommandHashPath(accountId, botIdentity) {
73046
73046
  }
73047
73047
  async function readCachedCommandHash(accountId, botIdentity) {
73048
73048
  try {
73049
- return (await fsPromises.readFile(resolveCommandHashPath(accountId, botIdentity), "utf-8")).trim();
73049
+ return (await fs$1.readFile(resolveCommandHashPath(accountId, botIdentity), "utf-8")).trim();
73050
73050
  } catch {
73051
73051
  return null;
73052
73052
  }
@@ -73054,8 +73054,8 @@ async function readCachedCommandHash(accountId, botIdentity) {
73054
73054
  async function writeCachedCommandHash(accountId, botIdentity, hash) {
73055
73055
  const filePath = resolveCommandHashPath(accountId, botIdentity);
73056
73056
  try {
73057
- await fsPromises.mkdir(path.dirname(filePath), { recursive: true });
73058
- await fsPromises.writeFile(filePath, hash, "utf-8");
73057
+ await fs$1.mkdir(path.dirname(filePath), { recursive: true });
73058
+ await fs$1.writeFile(filePath, hash, "utf-8");
73059
73059
  } catch {}
73060
73060
  }
73061
73061
  function syncTelegramMenuCommands(params) {
@@ -73899,7 +73899,7 @@ function safeParseState(raw) {
73899
73899
  async function readTelegramUpdateOffset(params) {
73900
73900
  const filePath = resolveTelegramUpdateOffsetPath(params.accountId, params.env);
73901
73901
  try {
73902
- const parsed = safeParseState(await fsPromises.readFile(filePath, "utf-8"));
73902
+ const parsed = safeParseState(await fs$1.readFile(filePath, "utf-8"));
73903
73903
  const expectedBotId = extractBotIdFromToken(params.botToken);
73904
73904
  if (expectedBotId && parsed?.botId && parsed.botId !== expectedBotId) return null;
73905
73905
  if (expectedBotId && parsed?.botId === null) return null;
@@ -73923,7 +73923,7 @@ async function writeTelegramUpdateOffset(params) {
73923
73923
  async function deleteTelegramUpdateOffset(params) {
73924
73924
  const filePath = resolveTelegramUpdateOffsetPath(params.accountId, params.env);
73925
73925
  try {
73926
- await fsPromises.unlink(filePath);
73926
+ await fs$1.unlink(filePath);
73927
73927
  } catch (err) {
73928
73928
  if (err.code === "ENOENT") return;
73929
73929
  throw err;
@@ -74397,7 +74397,7 @@ function createWhatsAppLoginTool() {
74397
74397
  force: Type.Optional(Type.Boolean())
74398
74398
  }),
74399
74399
  execute: async (_toolCallId, args) => {
74400
- const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-C9D47WEZ.js");
74400
+ const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-BVMQ-xQz.js");
74401
74401
  if ((args?.action ?? "start") === "wait") {
74402
74402
  const result = await waitForWebLogin({ timeoutMs: typeof args.timeoutMs === "number" ? args.timeoutMs : void 0 });
74403
74403
  return {
@@ -74472,23 +74472,23 @@ let webOutboundPromise = null;
74472
74472
  let webLoginPromise = null;
74473
74473
  let whatsappActionsPromise = null;
74474
74474
  function loadWebOutbound() {
74475
- webOutboundPromise ??= import("./runtime-whatsapp-outbound.runtime-hZEfYaRM.js");
74475
+ webOutboundPromise ??= import("./runtime-whatsapp-outbound.runtime-B74K7opl.js");
74476
74476
  return webOutboundPromise;
74477
74477
  }
74478
74478
  function loadWebLogin() {
74479
- webLoginPromise ??= import("./runtime-whatsapp-login.runtime-CGYWl9eB.js");
74479
+ webLoginPromise ??= import("./runtime-whatsapp-login.runtime-DjdgScUI.js");
74480
74480
  return webLoginPromise;
74481
74481
  }
74482
74482
  function loadWebLoginQr() {
74483
- webLoginQrPromise ??= import("./login-qr-C9D47WEZ.js");
74483
+ webLoginQrPromise ??= import("./login-qr-BVMQ-xQz.js");
74484
74484
  return webLoginQrPromise;
74485
74485
  }
74486
74486
  function loadWebChannel() {
74487
- webChannelPromise ??= import("./web-DGoa03ue.js");
74487
+ webChannelPromise ??= import("./web-DWiOofzq.js");
74488
74488
  return webChannelPromise;
74489
74489
  }
74490
74490
  function loadWhatsAppActions() {
74491
- whatsappActionsPromise ??= import("./whatsapp-actions-Jm4VW1Ve.js");
74491
+ whatsappActionsPromise ??= import("./whatsapp-actions-Bp8F0cOF.js");
74492
74492
  return whatsappActionsPromise;
74493
74493
  }
74494
74494
  function createRuntimeWhatsApp() {
@@ -75800,7 +75800,7 @@ function resolvePluginTools(params) {
75800
75800
  //#endregion
75801
75801
  //#region src/agents/apply-patch-update.ts
75802
75802
  async function defaultReadFile(filePath) {
75803
- return fsPromises.readFile(filePath, "utf8");
75803
+ return fs$1.readFile(filePath, "utf8");
75804
75804
  }
75805
75805
  async function applyUpdateHunk(filePath, chunks, options) {
75806
75806
  const originalLines = (await (options?.readFile ?? defaultReadFile)(filePath).catch((err) => {
@@ -76121,7 +76121,7 @@ function resolvePatchFileOps(options) {
76121
76121
  const workspaceOnly = options.workspaceOnly !== false;
76122
76122
  return {
76123
76123
  readFile: async (filePath) => {
76124
- if (!workspaceOnly) return await fsPromises.readFile(filePath, "utf8");
76124
+ if (!workspaceOnly) return await fs$1.readFile(filePath, "utf8");
76125
76125
  const opened = await openBoundaryFile({
76126
76126
  absolutePath: filePath,
76127
76127
  rootPath: options.cwd,
@@ -76136,7 +76136,7 @@ function resolvePatchFileOps(options) {
76136
76136
  },
76137
76137
  writeFile: async (filePath, content) => {
76138
76138
  if (!workspaceOnly) {
76139
- await fsPromises.writeFile(filePath, content, "utf8");
76139
+ await fs$1.writeFile(filePath, content, "utf8");
76140
76140
  return;
76141
76141
  }
76142
76142
  const relative = toRelativeSandboxPath(options.cwd, filePath);
@@ -76147,8 +76147,8 @@ function resolvePatchFileOps(options) {
76147
76147
  encoding: "utf8"
76148
76148
  });
76149
76149
  },
76150
- remove: (filePath) => fsPromises.rm(filePath),
76151
- mkdirp: (dir) => fsPromises.mkdir(dir, { recursive: true }).then(() => {})
76150
+ remove: (filePath) => fs$1.rm(filePath),
76151
+ mkdirp: (dir) => fs$1.mkdir(dir, { recursive: true }).then(() => {})
76152
76152
  };
76153
76153
  }
76154
76154
  async function ensureDir(filePath, ops) {
@@ -76410,7 +76410,7 @@ const LOOP_WARNING_BUCKET_SIZE = 10;
76410
76410
  const MAX_LOOP_WARNING_KEYS = 256;
76411
76411
  let beforeToolCallRuntimePromise = null;
76412
76412
  function loadBeforeToolCallRuntime() {
76413
- beforeToolCallRuntimePromise ??= import("./pi-tools.before-tool-call.runtime-B079pVah.js");
76413
+ beforeToolCallRuntimePromise ??= import("./pi-tools.before-tool-call.runtime-Df7B-ggW.js");
76414
76414
  return beforeToolCallRuntimePromise;
76415
76415
  }
76416
76416
  function buildAdjustedParamsKey(params) {
@@ -76648,7 +76648,7 @@ function wrapHostEditToolWithPostWriteRecovery(base, root) {
76648
76648
  if (!pathParam || !newText) throw err;
76649
76649
  try {
76650
76650
  const absolutePath = resolveHostEditPath(root, pathParam);
76651
- const content = await fsPromises.readFile(absolutePath, "utf-8");
76651
+ const content = await fs$1.readFile(absolutePath, "utf-8");
76652
76652
  const hasNew = content.includes(newText);
76653
76653
  const stillHasOld = oldText !== void 0 && oldText.length > 0 && content.includes(oldText);
76654
76654
  if (hasNew && !stillHasOld) return {
@@ -77130,14 +77130,14 @@ function createSandboxEditOperations(params) {
77130
77130
  }
77131
77131
  async function writeHostFile(absolutePath, content) {
77132
77132
  const resolved = path.resolve(absolutePath);
77133
- await fsPromises.mkdir(path.dirname(resolved), { recursive: true });
77134
- await fsPromises.writeFile(resolved, content, "utf-8");
77133
+ await fs$1.mkdir(path.dirname(resolved), { recursive: true });
77134
+ await fs$1.writeFile(resolved, content, "utf-8");
77135
77135
  }
77136
77136
  function createHostWriteOperations(root, options) {
77137
77137
  if (!(options?.workspaceOnly ?? false)) return {
77138
77138
  mkdir: async (dir) => {
77139
77139
  const resolved = path.resolve(dir);
77140
- await fsPromises.mkdir(resolved, { recursive: true });
77140
+ await fs$1.mkdir(resolved, { recursive: true });
77141
77141
  },
77142
77142
  writeFile: writeHostFile
77143
77143
  };
@@ -77150,7 +77150,7 @@ function createHostWriteOperations(root, options) {
77150
77150
  cwd: root,
77151
77151
  root
77152
77152
  });
77153
- await fsPromises.mkdir(resolved, { recursive: true });
77153
+ await fs$1.mkdir(resolved, { recursive: true });
77154
77154
  },
77155
77155
  writeFile: async (absolutePath, content) => {
77156
77156
  await writeFileWithinRoot({
@@ -77166,12 +77166,12 @@ function createHostEditOperations(root, options) {
77166
77166
  if (!(options?.workspaceOnly ?? false)) return {
77167
77167
  readFile: async (absolutePath) => {
77168
77168
  const resolved = path.resolve(absolutePath);
77169
- return await fsPromises.readFile(resolved);
77169
+ return await fs$1.readFile(resolved);
77170
77170
  },
77171
77171
  writeFile: writeHostFile,
77172
77172
  access: async (absolutePath) => {
77173
77173
  const resolved = path.resolve(absolutePath);
77174
- await fsPromises.access(resolved);
77174
+ await fs$1.access(resolved);
77175
77175
  }
77176
77176
  };
77177
77177
  return {
@@ -78009,7 +78009,7 @@ async function repairSessionFileIfNeeded(params) {
78009
78009
  };
78010
78010
  let content;
78011
78011
  try {
78012
- content = await fsPromises.readFile(sessionFile, "utf-8");
78012
+ content = await fs$1.readFile(sessionFile, "utf-8");
78013
78013
  } catch (err) {
78014
78014
  if (err?.code === "ENOENT") return {
78015
78015
  repaired: false,
@@ -78057,15 +78057,15 @@ async function repairSessionFileIfNeeded(params) {
78057
78057
  const backupPath = `${sessionFile}.bak-${process.pid}-${Date.now()}`;
78058
78058
  const tmpPath = `${sessionFile}.repair-${process.pid}-${Date.now()}.tmp`;
78059
78059
  try {
78060
- const stat = await fsPromises.stat(sessionFile).catch(() => null);
78061
- await fsPromises.writeFile(backupPath, content, "utf-8");
78062
- if (stat) await fsPromises.chmod(backupPath, stat.mode);
78063
- await fsPromises.writeFile(tmpPath, cleaned, "utf-8");
78064
- if (stat) await fsPromises.chmod(tmpPath, stat.mode);
78065
- await fsPromises.rename(tmpPath, sessionFile);
78060
+ const stat = await fs$1.stat(sessionFile).catch(() => null);
78061
+ await fs$1.writeFile(backupPath, content, "utf-8");
78062
+ if (stat) await fs$1.chmod(backupPath, stat.mode);
78063
+ await fs$1.writeFile(tmpPath, cleaned, "utf-8");
78064
+ if (stat) await fs$1.chmod(tmpPath, stat.mode);
78065
+ await fs$1.rename(tmpPath, sessionFile);
78066
78066
  } catch (err) {
78067
78067
  try {
78068
- await fsPromises.unlink(tmpPath);
78068
+ await fs$1.unlink(tmpPath);
78069
78069
  } catch (cleanupErr) {
78070
78070
  params.warn?.(`session file repair cleanup failed: ${cleanupErr instanceof Error ? cleanupErr.message : "unknown error"} (${path.basename(tmpPath)})`);
78071
78071
  }
@@ -79837,7 +79837,7 @@ async function prewarmSessionFile(sessionFile) {
79837
79837
  if (!isSessionManagerCacheEnabled()) return;
79838
79838
  if (isSessionManagerCached(sessionFile)) return;
79839
79839
  try {
79840
- const handle = await fsPromises.open(sessionFile, "r");
79840
+ const handle = await fs$1.open(sessionFile, "r");
79841
79841
  try {
79842
79842
  const buffer = Buffer$1.alloc(4096);
79843
79843
  await handle.read(buffer, 0, buffer.length, 0);
@@ -80204,7 +80204,7 @@ async function compactEmbeddedPiSessionDirect(params) {
80204
80204
  } catch (err) {
80205
80205
  return fail(describeUnknownError(err));
80206
80206
  }
80207
- await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
80207
+ await fs$1.mkdir(resolvedWorkspace, { recursive: true });
80208
80208
  const sandboxSessionKey = params.sessionKey?.trim() || params.sessionId;
80209
80209
  const sandbox = await resolveSandboxContext({
80210
80210
  config: params.config,
@@ -80212,7 +80212,7 @@ async function compactEmbeddedPiSessionDirect(params) {
80212
80212
  workspaceDir: resolvedWorkspace
80213
80213
  });
80214
80214
  const effectiveWorkspace = sandbox?.enabled ? sandbox.workspaceAccess === "rw" ? resolvedWorkspace : sandbox.workspaceDir : resolvedWorkspace;
80215
- await fsPromises.mkdir(effectiveWorkspace, { recursive: true });
80215
+ await fs$1.mkdir(effectiveWorkspace, { recursive: true });
80216
80216
  await ensureSessionHeader({
80217
80217
  sessionFile: params.sessionFile,
80218
80218
  sessionId: params.sessionId,
@@ -81097,12 +81097,12 @@ function getQueuedFileWriter(writers, filePath) {
81097
81097
  const existing = writers.get(filePath);
81098
81098
  if (existing) return existing;
81099
81099
  const dir = path.dirname(filePath);
81100
- const ready = fsPromises.mkdir(dir, { recursive: true }).catch(() => void 0);
81100
+ const ready = fs$1.mkdir(dir, { recursive: true }).catch(() => void 0);
81101
81101
  let queue = Promise.resolve();
81102
81102
  const writer = {
81103
81103
  filePath,
81104
81104
  write: (line) => {
81105
- queue = queue.then(() => ready).then(() => fsPromises.appendFile(filePath, line, "utf8")).catch(() => void 0);
81105
+ queue = queue.then(() => ready).then(() => fs$1.appendFile(filePath, line, "utf8")).catch(() => void 0);
81106
81106
  }
81107
81107
  };
81108
81108
  writers.set(filePath, writer);
@@ -84020,7 +84020,7 @@ async function prepareSessionManagerForRun(params) {
84020
84020
  return;
84021
84021
  }
84022
84022
  if (params.hadSessionFile && header && !hasAssistant) {
84023
- await fsPromises.writeFile(params.sessionFile, "", "utf-8");
84023
+ await fs$1.writeFile(params.sessionFile, "", "utf-8");
84024
84024
  sm.fileEntries = [header];
84025
84025
  sm.byId?.clear?.();
84026
84026
  sm.labelsById?.clear?.();
@@ -84738,7 +84738,7 @@ async function runEmbeddedAttempt(params) {
84738
84738
  const prevCwd = process.cwd();
84739
84739
  const runAbortController = new AbortController();
84740
84740
  log$3.debug(`embedded run start: runId=${params.runId} sessionId=${params.sessionId} provider=${params.provider} model=${params.modelId} thinking=${params.thinkLevel} messageChannel=${params.messageChannel ?? params.messageProvider ?? "unknown"}`);
84741
- await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
84741
+ await fs$1.mkdir(resolvedWorkspace, { recursive: true });
84742
84742
  const sandboxSessionKey = params.sessionKey?.trim() || params.sessionId;
84743
84743
  const sandbox = await resolveSandboxContext({
84744
84744
  config: params.config,
@@ -84746,7 +84746,7 @@ async function runEmbeddedAttempt(params) {
84746
84746
  workspaceDir: resolvedWorkspace
84747
84747
  });
84748
84748
  const effectiveWorkspace = sandbox?.enabled ? sandbox.workspaceAccess === "rw" ? resolvedWorkspace : sandbox.workspaceDir : resolvedWorkspace;
84749
- await fsPromises.mkdir(effectiveWorkspace, { recursive: true });
84749
+ await fs$1.mkdir(effectiveWorkspace, { recursive: true });
84750
84750
  let restoreSkillEnv;
84751
84751
  process.chdir(effectiveWorkspace);
84752
84752
  try {
@@ -85016,7 +85016,7 @@ async function runEmbeddedAttempt(params) {
85016
85016
  sessionFile: params.sessionFile,
85017
85017
  warn: (message) => log$3.warn(message)
85018
85018
  });
85019
- const hadSessionFile = await fsPromises.stat(params.sessionFile).then(() => true).catch(() => false);
85019
+ const hadSessionFile = await fs$1.stat(params.sessionFile).then(() => true).catch(() => false);
85020
85020
  const transcriptPolicy = resolveTranscriptPolicy({
85021
85021
  modelApi: params.model?.api,
85022
85022
  provider: params.provider,
@@ -86145,7 +86145,7 @@ async function runEmbeddedPiAgent(params) {
86145
86145
  const copilotAuthRetry = authRetryPending;
86146
86146
  authRetryPending = false;
86147
86147
  attemptedThinking.add(thinkLevel);
86148
- await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
86148
+ await fs$1.mkdir(resolvedWorkspace, { recursive: true });
86149
86149
  const prompt = provider === "anthropic" ? scrubAnthropicRefusalMagic(params.prompt) : params.prompt;
86150
86150
  const attempt = await runEmbeddedAttempt({
86151
86151
  sessionId: params.sessionId,
@@ -86951,7 +86951,7 @@ const DEFAULT_SUBAGENT_ANNOUNCE_TIMEOUT_MS = 6e4;
86951
86951
  const MAX_TIMER_SAFE_TIMEOUT_MS = 2147e6;
86952
86952
  let subagentRegistryRuntimePromise = null;
86953
86953
  function loadSubagentRegistryRuntime() {
86954
- subagentRegistryRuntimePromise ??= import("./subagent-registry-runtime-DVomlbm6.js");
86954
+ subagentRegistryRuntimePromise ??= import("./subagent-registry-runtime-SkB2tTaE.js");
86955
86955
  return subagentRegistryRuntimePromise;
86956
86956
  }
86957
86957
  const DIRECT_ANNOUNCE_TRANSIENT_RETRY_DELAYS_MS = FAST_TEST_MODE ? [