@lawpath-tech/openclaw 2026.2.21-32 → 2026.2.21-33

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 (299) hide show
  1. package/dist/{accounts-E1DMCEDO.js → accounts-BQX482gP.js} +1 -1
  2. package/dist/{accounts-Dl14M6E6.js → accounts-CAR30ERb.js} +1 -1
  3. package/dist/{accounts-D8ryuxvJ.js → accounts-CGBT0wQ4.js} +7 -7
  4. package/dist/{acp-cli-hedESiET.js → acp-cli-DZV917OP.js} +6 -6
  5. package/dist/{agent-scope-B6jLdNuI.js → agent-scope-BGlpyppa.js} +18 -18
  6. package/dist/{agents-DWpMpnrU.js → agents-B1Ai7rsS.js} +4 -4
  7. package/dist/{agents.config-DfN81iaS.js → agents.config-CxHnl-lL.js} +2 -2
  8. package/dist/{agents.config-bQuerf1-.js → agents.config-DX3tDviB.js} +1 -1
  9. package/dist/{api-key-rotation-ddrC-1k5.js → api-key-rotation-CMe3cUAn.js} +1 -1
  10. package/dist/{audio-preflight-DRE31Ab_.js → audio-preflight-Djsieqbl.js} +28 -28
  11. package/dist/{audit-DqzfLnre.js → audit-W6GUNtGq.js} +23 -23
  12. package/dist/{auth-choice-BWs44j21.js → auth-choice-CW81kzG9.js} +8 -8
  13. package/dist/{auth-choice-CNEPjZq2.js → auth-choice-DKrgElus.js} +1 -1
  14. package/dist/{auth-token-Il_1hz__.js → auth-token-3sJLQq8Y.js} +1 -1
  15. package/dist/{banner-CxaRxgic.js → banner-B3qK6V55.js} +1 -1
  16. package/dist/{bindings-D_90DJ1-.js → bindings-D_OoALBE.js} +1 -1
  17. package/dist/{browser-cli-DRksx_yW.js → browser-cli-pa0mgoQY.js} +9 -9
  18. package/dist/build-info.json +2 -2
  19. package/dist/bundled/boot-md/handler.js +1 -1
  20. package/dist/bundled/session-memory/handler.js +1 -1
  21. package/dist/{call-CYa4YbMh.js → call-BVSmc2vl.js} +9 -9
  22. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  23. package/dist/{channel-options-DOP9meV_.js → channel-options-CvSrxm2D.js} +1 -1
  24. package/dist/{channel-options-731cZrV3.js → channel-options-UCu5_Nv-.js} +2 -2
  25. package/dist/{channel-selection-NCqPAi5U.js → channel-selection-B3CpzNsC.js} +1 -1
  26. package/dist/{channel-web-BGJ5ln5L.js → channel-web-BUJggj7Y.js} +17 -17
  27. package/dist/{channels-cli-BSR5Ss_g.js → channels-cli-B5TJMyaR.js} +75 -75
  28. package/dist/{channels-cli-D3RDDRf1.js → channels-cli-CGweC0NS.js} +4 -4
  29. package/dist/{channels-status-issues-CNE14g1e.js → channels-status-issues-C4_sbL0E.js} +1 -1
  30. package/dist/{chrome-BlXdvPOB.js → chrome-C9MCXK8d.js} +2 -2
  31. package/dist/{clawbot-cli-__trjQJ4.js → clawbot-cli-B2jNAgQu.js} +4 -4
  32. package/dist/cli/daemon-cli.js +1 -1
  33. package/dist/{cli-DnIh8_UI.js → cli-B1suYn5Q.js} +62 -62
  34. package/dist/{cli-C7e7H1JP.js → cli-BFVjC6gz.js} +1 -1
  35. package/dist/{client-BW8Wuj5N.js → client-DkL-GDcp.js} +1 -1
  36. package/dist/{command-registry-Q4A7-DBA.js → command-registry-C3Cb6_lT.js} +9 -9
  37. package/dist/{commands-KvUzKZ-E.js → commands-DHoTLUfu.js} +1 -1
  38. package/dist/{commands-registry-DVVMuhaG.js → commands-registry-C6MwKIm9.js} +3 -3
  39. package/dist/{completion-cli-JhFn-BzZ.js → completion-cli-CiR_bu8-.js} +12 -12
  40. package/dist/{completion-cli-dC9YBc-k.js → completion-cli-D-U8-xK-.js} +2 -2
  41. package/dist/{config-JupjCURB.js → config-CkqfHk27.js} +2 -2
  42. package/dist/{config-cli-DOvNIX0v.js → config-cli-BOhut0nG.js} +4 -4
  43. package/dist/{config-cli-DMLSe-zW.js → config-cli-CsmTCdxD.js} +1 -1
  44. package/dist/{config-guard-5XdCrtj_.js → config-guard-C5fqJ2Ra.js} +12 -12
  45. package/dist/{config-validation-B1WJ3f4s.js → config-validation-cyW76mmN.js} +1 -1
  46. package/dist/{configure-Bvsehc2l.js → configure-B7NUZjG2.js} +15 -15
  47. package/dist/{configure-DjTsdvi-.js → configure-BWfLMNPf.js} +3 -3
  48. package/dist/{control-service-C7XguOvd.js → control-service-CPT8eogY.js} +4 -4
  49. package/dist/{control-ui-assets-BLVZXE2I.js → control-ui-assets-BcSek9LQ.js} +1 -1
  50. package/dist/{cron-cli-DJY2332p.js → cron-cli-B8A_gdlC.js} +10 -10
  51. package/dist/{daemon-cli-BWUQX0oT.js → daemon-cli-BY4RqUnr.js} +11 -11
  52. package/dist/{daemon-runtime-DWX-qIBl.js → daemon-runtime-b5AIw6-c.js} +10 -10
  53. package/dist/{deliver-DKhy3kV4.js → deliver-DPIPJHQH.js} +7 -7
  54. package/dist/{devices-cli-D4oN5nE1.js → devices-cli-lm3S1JQu.js} +6 -6
  55. package/dist/{diagnostics-DqqmUDc7.js → diagnostics-BTTjVvNB.js} +5 -5
  56. package/dist/{directory-cli-Cn5w5bQ0.js → directory-cli-BV3bixZh.js} +7 -7
  57. package/dist/{dm-policy-shared-CysWxa2H.js → dm-policy-shared-CrbkZ-FV.js} +2 -2
  58. package/dist/{dns-cli-CYB5gA5O.js → dns-cli-D7X1eTm3.js} +3 -3
  59. package/dist/{dock-CX_o0bdi.js → dock-B1xpMkYP.js} +4 -4
  60. package/dist/{docs-cli-Dsn3U8-1.js → docs-cli-C_3NO2uV.js} +1 -1
  61. package/dist/{doctor-completion-ZNTlXnGL.js → doctor-completion-CRCM30Gd.js} +1 -1
  62. package/dist/{doctor-completion-zUNacbyu.js → doctor-completion-GAbf1D6s.js} +2 -2
  63. package/dist/{doctor-config-flow-C9h7ENJ-.js → doctor-config-flow-BB3nWQcZ.js} +10 -10
  64. package/dist/entry.js +1 -1
  65. package/dist/{exec-approvals-cli-BXXdOl4u.js → exec-approvals-cli-TT3Gh9kR.js} +13 -13
  66. package/dist/extensionAPI.js +1 -1
  67. package/dist/{fs-safe-CTDvb1DF.js → fs-safe-CUjO1ca2.js} +6 -6
  68. package/dist/{gateway-cli-B8-2FWEZ.js → gateway-cli-DGPCB6rN.js} +8 -8
  69. package/dist/{gateway-cli-BXP02v7b.js → gateway-cli-QMubBYii.js} +132 -132
  70. package/dist/{gateway-rpc-CqPT9Cep.js → gateway-rpc-BGGmDgbQ.js} +1 -1
  71. package/dist/{health-BFLhZBCV.js → health-CwpYY0fN.js} +13 -13
  72. package/dist/{health-Bm_bIcyw.js → health-DR30gLMN.js} +1 -1
  73. package/dist/{hooks-cli-DyN1Bq_w.js → hooks-cli-DNwlE26g.js} +2 -2
  74. package/dist/{hooks-cli-BVjpIkaS.js → hooks-cli-DlkiBMJi.js} +76 -76
  75. package/dist/{image-DtVdv4CQ.js → image-DC9YnAwO.js} +3 -3
  76. package/dist/{image-ops-Uvt51OHH.js → image-ops-B4PbaJHR.js} +10 -10
  77. package/dist/index.js +72 -72
  78. package/dist/{inspect-VKHaN3HT.js → inspect-gLKB4R6Z.js} +4 -4
  79. package/dist/{install-safe-path-Qqr_t_tH.js → install-safe-path-tCLiMpmO.js} +11 -11
  80. package/dist/{installs-BamQ1KDR.js → installs-Bbb02byQ.js} +10 -10
  81. package/dist/{ir-1SG-TkUZ.js → ir-D72mYI93.js} +6 -6
  82. package/dist/{lifecycle-core-DZJF3omV.js → lifecycle-core-DNgy-uKO.js} +5 -5
  83. package/dist/llm-slug-generator.js +1 -1
  84. package/dist/{local-roots-25wkka6O.js → local-roots-B6Q8Hrfc.js} +2 -2
  85. package/dist/{login-BThY9qqp.js → login-Bz2k49Y4.js} +3 -3
  86. package/dist/{login-qr-BOOn03RH.js → login-qr-L9yhuI9H.js} +5 -5
  87. package/dist/{logs-cli-DoDfF8hD.js → logs-cli-B2PPoAkv.js} +7 -7
  88. package/dist/{manager-BVtzk7_v.js → manager-CDo24VZE.js} +13 -13
  89. package/dist/{markdown-tables-MNYCbYg1.js → markdown-tables-CXWxrKp3.js} +1 -1
  90. package/dist/{memory-cli-CS7LI30B.js → memory-cli-8SCKR9xc.js} +12 -12
  91. package/dist/{model-MOoXNngW.js → model-BKG0edkX.js} +1 -1
  92. package/dist/{model-catalog-CzLbr1ZD.js → model-catalog-CjwzHKkB.js} +4 -4
  93. package/dist/{model-picker-bpc3jJ5m.js → model-picker-NGiZaAei.js} +3 -3
  94. package/dist/{model-selection-C1pdWy7b.js → model-selection-0qDmOMXI.js} +9 -9
  95. package/dist/{models-Bd3CLEWM.js → models-DVkqCyTw.js} +2 -2
  96. package/dist/{models-cli-4QX1LFRs.js → models-cli-BEkmRLcC.js} +72 -72
  97. package/dist/{models-cli-D__CoxU_.js → models-cli-DVKgOKux.js} +3 -3
  98. package/dist/{models-config-BVp1ZtTh.js → models-config-CTi1zIkq.js} +7 -7
  99. package/dist/{node-cli-D-N_WPoP.js → node-cli-Cqkqlb01.js} +28 -28
  100. package/dist/{node-service-BESGjvfV.js → node-service-YmmWwF_4.js} +1 -1
  101. package/dist/{nodes-cli-Cn4uY_Gx.js → nodes-cli-xRiWzu3G.js} +10 -10
  102. package/dist/{nodes-screen-kFzB7013.js → nodes-screen-C-rbZoYt.js} +4 -4
  103. package/dist/{npm-registry-spec-pqZV9KaL.js → npm-registry-spec-Dw7Zv5pY.js} +9 -9
  104. package/dist/{onboard-DJUKlsWz.js → onboard-BS7ZSQTR.js} +13 -13
  105. package/dist/{onboard-DDzVmEvx.js → onboard-D9z9OO_A.js} +2 -2
  106. package/dist/{onboard-channels-BqW3maPJ.js → onboard-channels-CUuKFX-y.js} +5 -5
  107. package/dist/{onboard-channels-CrfL2B6W.js → onboard-channels-SRbD8DVG.js} +1 -1
  108. package/dist/{onboard-custom-D7KcpLUZ.js → onboard-custom-KUI3ky6Y.js} +3 -3
  109. package/dist/{onboard-helpers-C2-IAGyl.js → onboard-helpers-CuawFqeV.js} +8 -8
  110. package/dist/{onboard-hooks-Cf_rZ0y2.js → onboard-hooks-Cjnt0UN3.js} +1 -1
  111. package/dist/{onboard-remote-DujGEJSZ.js → onboard-remote-ClWpZWND.js} +1 -1
  112. package/dist/{onboard-skills-BCOMycP2.js → onboard-skills-wCr1UcGc.js} +4 -4
  113. package/dist/{onboarding-w8peVpJ9.js → onboarding-CQRQ7bCq.js} +13 -13
  114. package/dist/{onboarding-0IAGtYhr.js → onboarding-DVBEYCod.js} +3 -3
  115. package/dist/{onboarding.finalize-CwtvbQBP.js → onboarding.finalize-BRewG-HX.js} +74 -74
  116. package/dist/{onboarding.finalize-De4it5U3.js → onboarding.finalize-CTF-nyL8.js} +6 -6
  117. package/dist/{onboarding.gateway-config-BJ0SMGbj.js → onboarding.gateway-config-7sVZcOhj.js} +14 -14
  118. package/dist/{openai-model-default-DagaQbb0.js → openai-model-default-CZOgt9C7.js} +2 -2
  119. package/dist/{openclaw-root-CbWxAStx.js → openclaw-root-CQJwyH9q.js} +2 -2
  120. package/dist/{outbound-DPGxP4j6.js → outbound-BiC9-qyo.js} +4 -4
  121. package/dist/{plugin-sdk/outbound-attachment-Dukb2BCs.js → outbound-attachment-91Q9pKkZ.js} +2 -2
  122. package/dist/{pairing-cli-BZwhRsWv.js → pairing-cli-B5reDhJF.js} +8 -8
  123. package/dist/{pairing-labels-Cf9ie2Yo.js → pairing-labels-UbwdcASX.js} +1 -1
  124. package/dist/{pairing-store-BzMeXbOB.js → pairing-store-IkE0_gB1.js} +2 -2
  125. package/dist/{pairing-token-DAVfcYo5.js → pairing-token-DGufCZxz.js} +7 -7
  126. package/dist/{paths-BsnfCNkx.js → paths-CIvEoL0m.js} +1 -1
  127. package/dist/{pi-auth-json-BBbOI_P4.js → pi-auth-json-C5hwfgoJ.js} +3 -3
  128. package/dist/{pi-embedded-CIsGkiaB.js → pi-embedded-BqyWOcTK.js} +3 -3
  129. package/dist/{pi-embedded-helpers-B9uwWqnh.js → pi-embedded-helpers-BDEpQxcD.js} +6 -6
  130. package/dist/{pi-embedded-lJXJAe8z.js → pi-embedded-rXq7jDOy.js} +3 -3
  131. package/dist/{pi-tools.policy-BU3gaxu3.js → pi-tools.policy-CrKxTriv.js} +4 -4
  132. package/dist/{plugin-auto-enable-Dkg7tNsW.js → plugin-auto-enable-CU5zcL-D.js} +2 -2
  133. package/dist/{plugin-registry-DjJ5pV-y.js → plugin-registry-Bp0OjK16.js} +1 -1
  134. package/dist/{plugin-registry-BNUYtj9H.js → plugin-registry-Ca9kiZbZ.js} +3 -3
  135. package/dist/plugin-sdk/{accounts-CNg4Pivg.js → accounts-CIV6d4kn.js} +3 -3
  136. package/dist/plugin-sdk/{accounts-BdyAJ80w.js → accounts-cFYVb3Ir.js} +1 -1
  137. package/dist/plugin-sdk/{accounts-CDDBR5Pk.js → accounts-owMdcC84.js} +1 -1
  138. package/dist/plugin-sdk/{active-listener-C2nnC9Ax.js → active-listener-n6hyqnXA.js} +1 -1
  139. package/dist/plugin-sdk/{agent-scope-CtPfsirh.js → agent-scope-DNY1MYCy.js} +2 -2
  140. package/dist/plugin-sdk/{agent-scope-BjU_kuyW.js → agent-scope-KjIvGpFh.js} +19 -19
  141. package/dist/plugin-sdk/{api-key-rotation-R4AkTIjD.js → api-key-rotation-nmjAMTZA.js} +1 -1
  142. package/dist/plugin-sdk/{audio-preflight-BAMNt6M5.js → audio-preflight-BkbKy5kx.js} +24 -24
  143. package/dist/plugin-sdk/{bindings-BoFVi5SB.js → bindings-CopQpHHX.js} +2 -2
  144. package/dist/plugin-sdk/{channel-activity-t_OI1MQf.js → channel-activity-CrDvXjCQ.js} +1 -1
  145. package/dist/plugin-sdk/{channel-web-hWtosBa_.js → channel-web-i7Q0e2xL.js} +22 -22
  146. package/dist/plugin-sdk/{chrome-D0tUj9ji.js → chrome-CrOYUXQ2.js} +3 -3
  147. package/dist/plugin-sdk/{chunk-CoyesYaI.js → chunk-D4rztYS_.js} +1 -1
  148. package/dist/plugin-sdk/{command-format-BZHLj2Pv.js → command-format-A8fPp85k.js} +1 -1
  149. package/dist/plugin-sdk/{commands-registry-DhpIXuI8.js → commands-registry-BgL5BgCb.js} +4 -4
  150. package/dist/plugin-sdk/{config-C-kB5yPz.js → config-CpE4TWH0.js} +9 -9
  151. package/dist/plugin-sdk/{deliver-BHg_hqJG.js → deliver-DTKyGKVr.js} +10 -10
  152. package/dist/plugin-sdk/{diagnostic-Bkobf9sL.js → diagnostic-AkXUmNj3.js} +1 -1
  153. package/dist/plugin-sdk/{image-DJgspIhI.js → image-D-2tr3lg.js} +4 -4
  154. package/dist/plugin-sdk/{image-ops-BeZ1nzVS.js → image-ops-D4rLqyFG.js} +1 -1
  155. package/dist/plugin-sdk/index.js +53 -53
  156. package/dist/plugin-sdk/{ir-CRPo3dMY.js → ir-hakANnEW.js} +4 -4
  157. package/dist/plugin-sdk/{local-roots-C5Ju-AZh.js → local-roots-CnaI2qJk.js} +3 -3
  158. package/dist/plugin-sdk/{login-ZAWRtiUn.js → login-CcPkuK_e.js} +7 -7
  159. package/dist/plugin-sdk/{login-qr-Vep4Qyfk.js → login-qr-C6rEbZ_4.js} +9 -9
  160. package/dist/plugin-sdk/{manager-BiSIuKTu.js → manager-D0UeotCy.js} +8 -8
  161. package/dist/plugin-sdk/{manager-BBcNMx7F.js → manager-DeHKg0Ym.js} +28 -28
  162. package/dist/plugin-sdk/{manifest-registry-DJWLGnsy.js → manifest-registry-COeXOYi0.js} +1 -1
  163. package/dist/plugin-sdk/{markdown-tables-D3ber0Yy.js → markdown-tables-Bf31F9r6.js} +1 -1
  164. package/dist/plugin-sdk/memory-host-search.js +4 -4
  165. package/dist/plugin-sdk/{message-channel-BvbVXKrt.js → message-channel-CMtCA18K.js} +1 -1
  166. package/dist/plugin-sdk/{model-selection-QOKxGwpD.js → model-selection-CneSW_JC.js} +4 -4
  167. package/dist/plugin-sdk/{outbound-simNZ392.js → outbound-ChKX7wv_.js} +7 -7
  168. package/dist/{outbound-attachment-D07lPNUZ.js → plugin-sdk/outbound-attachment-1oBost2D.js} +2 -2
  169. package/dist/plugin-sdk/{pi-auth-json-DjRxrq8j.js → pi-auth-json-DfDP_Pzq.js} +5 -5
  170. package/dist/plugin-sdk/{pi-embedded-helpers-onFghmXi.js → pi-embedded-helpers-idRp2oNz.js} +17 -17
  171. package/dist/plugin-sdk/{plugins-Cmzpj_lq.js → plugins-CCHKO6PS.js} +4 -4
  172. package/dist/plugin-sdk/{pw-ai-MetkkJzy.js → pw-ai-DC87yDnd.js} +8 -8
  173. package/dist/plugin-sdk/{qmd-manager-B5NFEjJd.js → qmd-manager-Ci6Ood2P.js} +2 -2
  174. package/dist/plugin-sdk/{qmd-manager-CD1M3q9a.js → qmd-manager-CnTnX_JH.js} +4 -4
  175. package/dist/plugin-sdk/{registry-BX2vORAB.js → registry-BlMOtcPL.js} +2 -2
  176. package/dist/plugin-sdk/{replies-_91oZTzt.js → replies-CvKNemz4.js} +3 -3
  177. package/dist/plugin-sdk/{reply-CKIG0ycG.js → reply-CrBuiTf0.js} +79 -79
  178. package/dist/plugin-sdk/{reply-prefix-DuegEkbr.js → reply-prefix-G9ruZ2EI.js} +1 -1
  179. package/dist/plugin-sdk/{resolve-outbound-target-CeT5UKn8.js → resolve-outbound-target-D9fgJ-GG.js} +2 -2
  180. package/dist/plugin-sdk/{resolve-route-DxmOOAQ3.js → resolve-route-yBLQIeuf.js} +3 -3
  181. package/dist/plugin-sdk/{retry-DOt8b7_o.js → retry-BG4opKt7.js} +1 -1
  182. package/dist/plugin-sdk/{runner-DycIbJjS.js → runner-BkVA5r9t.js} +9 -9
  183. package/dist/plugin-sdk/{send-5KyVAcYY.js → send-C40m59QO.js} +10 -10
  184. package/dist/plugin-sdk/{send-DWnqhh6N.js → send-CgLOABgR.js} +10 -10
  185. package/dist/plugin-sdk/{send-Du8i1Fom.js → send-CiTMY1uN.js} +7 -7
  186. package/dist/plugin-sdk/{send-BUW2Leik.js → send-DzgvnkSq.js} +7 -7
  187. package/dist/plugin-sdk/{send-Fch4vj7_.js → send-b1mZbvoC.js} +6 -6
  188. package/dist/plugin-sdk/{session-PaIae3bL.js → session-DBbj6znF.js} +4 -4
  189. package/dist/plugin-sdk/{skill-commands-CNFldYrK.js → skill-commands-Cu6XAfOe.js} +5 -5
  190. package/dist/plugin-sdk/{skills-CJCz6K_W.js → skills-BTu_-5jA.js} +7 -7
  191. package/dist/plugin-sdk/{sqlite-Bmy459sE.js → sqlite-CH3lxc5D.js} +1 -1
  192. package/dist/plugin-sdk/{sqlite-CH_AglGD.js → sqlite-CcSeRdqy.js} +15 -15
  193. package/dist/plugin-sdk/{store-B_h0hmNL.js → store-DDOdV26p.js} +2 -2
  194. package/dist/plugin-sdk/{subsystem-DJYuxViY.js → subsystem-DoAZkah-.js} +1 -1
  195. package/dist/plugin-sdk/{tables-DCBJv1Oa.js → tables-DAJbUPhT.js} +1 -1
  196. package/dist/plugin-sdk/{target-errors-gEAboF7P.js → target-errors-CeKndUCY.js} +2 -2
  197. package/dist/plugin-sdk/{thinking-D8Se3YVf.js → thinking-lC2HmTea.js} +5 -5
  198. package/dist/plugin-sdk/{tokens-Cx0xANZO.js → tokens-Dag82kdi.js} +1 -1
  199. package/dist/plugin-sdk/{tool-images-CIoUqeS9.js → tool-images-D_St2NkT.js} +2 -2
  200. package/dist/plugin-sdk/{tool-loop-detection-B_Opna2S.js → tool-loop-detection-BAz1GNFQ.js} +2 -2
  201. package/dist/plugin-sdk/web-DXbKqGiu.js +65 -0
  202. package/dist/plugin-sdk/{whatsapp-actions-DqfQYPke.js → whatsapp-actions-CicFq_6w.js} +21 -21
  203. package/dist/{plugins-BYw4LpqC.js → plugins-DufH79A4.js} +2 -2
  204. package/dist/{plugins-cli-CKU99tGc.js → plugins-cli-B54I3YDp.js} +71 -71
  205. package/dist/{plugins-cli-DBrRLw_b.js → plugins-cli-DQqPpkDg.js} +2 -2
  206. package/dist/{ports-CbYVfAGi.js → ports-B6fsVJW2.js} +1 -1
  207. package/dist/{ports-CJyNmOL8.js → ports-tyVdO5z0.js} +2 -2
  208. package/dist/{program-CuRfrHul.js → program-CiVPUyGe.js} +7 -7
  209. package/dist/{program-context-Ct_MVt2A.js → program-context-B8jVIvqn.js} +40 -40
  210. package/dist/{prompt-select-styled-BhdDmaM8.js → prompt-select-styled-DP6ORKEH.js} +4 -4
  211. package/dist/{prompt-select-styled-Cb9hZTTU.js → prompt-select-styled-XJNDuVI-.js} +37 -37
  212. package/dist/{provider-auth-helpers-CPkc9hAj.js → provider-auth-helpers-BvdnFgmZ.js} +1 -1
  213. package/dist/{provider-auth-helpers-B7bEwRrS.js → provider-auth-helpers-GlPRMdgU.js} +5 -5
  214. package/dist/{push-apns-BqDXb4kj.js → push-apns-4PMWZHdd.js} +4 -4
  215. package/dist/{push-apns-Cor1JBvm.js → push-apns-BLl8QvkS.js} +1 -1
  216. package/dist/{pw-ai-CWMnNfVs.js → pw-ai-fTf_Sq93.js} +7 -7
  217. package/dist/{qmd-manager-D72OxpMn.js → qmd-manager-CNVBA7OI.js} +18 -18
  218. package/dist/{qr-cli-jnAlWxJ1.js → qr-cli-BQpNL00w.js} +1 -1
  219. package/dist/{register.agent-CPhQWbIL.js → register.agent-DMDB7XFY.js} +6 -6
  220. package/dist/{register.agent-BY4qQIyM.js → register.agent-O8MfanIY.js} +81 -81
  221. package/dist/{register.configure-d_7CE6cU.js → register.configure-BnK5Jcux.js} +6 -6
  222. package/dist/register.configure-z-iZ8GQq.js +147 -0
  223. package/dist/{register.maintenance-BiQeKBPQ.js → register.maintenance-BnFA8dD9.js} +84 -84
  224. package/dist/{register.maintenance-CQVF8TPW.js → register.maintenance-DSLAHGdZ.js} +8 -8
  225. package/dist/{register.message-CprmJPCV.js → register.message-BEBbZm3E.js} +63 -63
  226. package/dist/{register.message-5XIQHlJd.js → register.message-Diwl2TLo.js} +2 -2
  227. package/dist/{register.onboard-D4hhxM8J.js → register.onboard-Bc4G3TMS.js} +4 -4
  228. package/dist/{register.onboard-DpvOjkyQ.js → register.onboard-gF_aeZ9o.js} +74 -74
  229. package/dist/{register.setup-MPlYCmF_.js → register.setup-B4r3oTHQ.js} +77 -77
  230. package/dist/{register.setup-D3PpeeN2.js → register.setup-CdWPBfRb.js} +4 -4
  231. package/dist/{register.status-health-sessions-BUzgM9fv.js → register.status-health-sessions-gEelqg9y.js} +75 -75
  232. package/dist/{register.status-health-sessions-BE5frGYt.js → register.status-health-sessions-gHKOUBxw.js} +3 -3
  233. package/dist/{register.subclis-BVUvjO4p.js → register.subclis-DflQa27k.js} +9 -9
  234. package/dist/{replies-BVBgaEtE.js → replies-BdkHHO5V.js} +1 -1
  235. package/dist/{reply-C7XZ5Kp3.js → reply-CM9fxt2r.js} +132 -132
  236. package/dist/{reply-prefix-CJc9NzGX.js → reply-prefix-CbuTBmdm.js} +1 -1
  237. package/dist/{resolve-route-C5pUt_LC.js → resolve-route-DuqgZ7wS.js} +2 -2
  238. package/dist/{routes-BgjaVwmu.js → routes-Bh-1i4ub.js} +8 -8
  239. package/dist/{rpc-DrpAw2Te.js → rpc-RAW16k0Y.js} +1 -1
  240. package/dist/{run-main-CmSuw5Re.js → run-main-3miuYYBs.js} +14 -14
  241. package/dist/{runner-fLI-fZ-v.js → runner-CXGYviGa.js} +20 -20
  242. package/dist/{sandbox-B1lVufmT.js → sandbox-Dbz4ladn.js} +18 -18
  243. package/dist/{sandbox-cli--odc2cPK.js → sandbox-cli-Dx1942n8.js} +20 -20
  244. package/dist/{security-cli-s6yE26pJ.js → security-cli-Ci7ujUBk.js} +36 -36
  245. package/dist/{send-YdmCYGSj.js → send-BGmblGeb.js} +6 -6
  246. package/dist/{send-_y-b5SXH.js → send-DUc9Jw32.js} +4 -4
  247. package/dist/{send-UJWeL6fz.js → send-ElgbtTa_.js} +6 -6
  248. package/dist/{send-DAb8zkAc.js → send-H5TFGeHl.js} +6 -6
  249. package/dist/{send-BilxFvrd.js → send-i695V0Ow.js} +13 -13
  250. package/dist/{server-context-DFBpyKBE.js → server-context-BN_KGt0e.js} +5 -5
  251. package/dist/{server-node-events-DeVBy3RG.js → server-node-events-BcfA38Ht.js} +2 -2
  252. package/dist/{server-node-events-E7ENYs3y.js → server-node-events-DzAfZuLY.js} +63 -63
  253. package/dist/{service-Bs5m4_g0.js → service-x8sNoic1.js} +15 -15
  254. package/dist/{session-Gi1pc_jn.js → session-SFd4vyTd.js} +2 -2
  255. package/dist/{session-dirs-Dz06Isny.js → session-dirs-BdEl6HTu.js} +16 -16
  256. package/dist/{session-dirs-DMMeC5kT.js → session-dirs-BeIjLerM.js} +1 -1
  257. package/dist/{sessions-fj33u4f-.js → sessions-CwvGRwvW.js} +13 -13
  258. package/dist/{shared-BYm87AKE.js → shared-BlqeHl3I.js} +1 -1
  259. package/dist/{shared-Btbxw_J6.js → shared-D-u4KNkt.js} +3 -3
  260. package/dist/{skill-commands-27Clp6Hw.js → skill-commands-VCmL7mMC.js} +5 -5
  261. package/dist/{skill-scanner-BRf3FyA6.js → skill-scanner-CMBwwxis.js} +5 -5
  262. package/dist/{skills-DO1RiQMB.js → skills-DhT6my9R.js} +4 -4
  263. package/dist/{skills-cli-D8Z6O8tz.js → skills-cli-AXXW1-ib.js} +7 -7
  264. package/dist/{skills-install-D2uuaBF9.js → skills-install-CHhkAUEW.js} +3 -3
  265. package/dist/{skills-status-C9NLYboA.js → skills-status-B90dNffv.js} +1 -1
  266. package/dist/{sqlite-DCO2j-0b.js → sqlite-CzeIEe5A.js} +12 -12
  267. package/dist/{status-DUJLCUGg.js → status-B0MQkmRx.js} +2 -2
  268. package/dist/{status-DppGMZ2s.js → status-CgApQy5C.js} +3 -3
  269. package/dist/{status-Di2Pqiji.js → status-DpOLEQn-.js} +1 -1
  270. package/dist/{status-DQmoPN3T.js → status-dZ2UgRzN.js} +25 -25
  271. package/dist/{status.update-CkYiGnzE.js → status.update-BdxnLoXT.js} +3 -3
  272. package/dist/{store-CLuh0zX0.js → store-YBnR7qvG.js} +5 -5
  273. package/dist/{subagent-registry-D3Pj0bnZ.js → subagent-registry-CEyaZMV5.js} +3 -3
  274. package/dist/{system-cli-DQpLuBbA.js → system-cli-CNufxt6H.js} +11 -11
  275. package/dist/{systemd-Blg-bgkO.js → systemd-_79iBiaB.js} +5 -5
  276. package/dist/{systemd-hints-pRBdkBPI.js → systemd-hints--ykZ9med.js} +6 -6
  277. package/dist/{systemd-linger-DqOrhpC-.js → systemd-linger--ZF5kAeJ.js} +1 -1
  278. package/dist/{tables-DhRyfXvl.js → tables-LYKSFoqx.js} +1 -1
  279. package/dist/{target-errors-DKUMw1tA.js → target-errors-BrrPOPT5.js} +4 -4
  280. package/dist/{tool-images-Cdj7iZ0t.js → tool-images-BCkPMulQ.js} +1 -1
  281. package/dist/{tui-DbvXHepE.js → tui-BfllwI0b.js} +7 -7
  282. package/dist/{tui-cli-CIqa9qRn.js → tui-cli-DM4ahQxS.js} +28 -28
  283. package/dist/{update-CqhqeDij.js → update-BNGNVRaT.js} +3 -3
  284. package/dist/{update-check-DOy5cGkD.js → update-check-CEFJiPeh.js} +5 -5
  285. package/dist/{update-cli-CsicqPiK.js → update-cli-COdYp-Y5.js} +8 -8
  286. package/dist/{update-cli-DJIsdQeJ.js → update-cli-Y2wT8mXS.js} +94 -94
  287. package/dist/{web-DRLO5z6-.js → web-CQ4AF_Y7.js} +1 -1
  288. package/dist/web-Cp6O0VTJ.js +109 -0
  289. package/dist/{web-DShT68Ix.js → web-D8FEwRAX.js} +1 -1
  290. package/dist/{web-EGziWSH9.js → web-c0XVFCZq.js} +1 -1
  291. package/dist/{webhooks-cli-BJ1WiH3W.js → webhooks-cli-Ay0jR658.js} +4 -4
  292. package/dist/{whatsapp-actions-lSqVUZ_h.js → whatsapp-actions-Dsvkb9dr.js} +15 -15
  293. package/dist/{with-timeout-OwJVCBFG.js → with-timeout-n3bwhefQ.js} +1 -1
  294. package/dist/{workspace-dirs-CuYuE5F1.js → workspace-dirs-DbX5fBAC.js} +1 -1
  295. package/dist/{wsl-BbXxnokd.js → wsl-C4424szg.js} +2 -2
  296. package/package.json +1 -1
  297. package/dist/plugin-sdk/web-HBE7hmNI.js +0 -65
  298. package/dist/register.configure-CtqFfgvY.js +0 -147
  299. package/dist/web-lXypZuaq.js +0 -109
@@ -3,109 +3,109 @@ import { g as resolveStateDir, r as STATE_DIR, u as resolveGatewayPort, y as res
3
3
  import { B as theme, C as sleep$1, D as isPlainObject, E as truncateUtf16Safe, F as shouldLogVerbose, J as normalizeLogLevel, L as warn, M as logVerbose, O as danger, S as shortenHomePath, V as getChildLogger, X as resolvePreferredOpenClawTmpDir, d as isRecord$1, i as clampInt, l as escapeRegExp, m as normalizeE164, t as CONFIG_DIR, w as sliceUtf16Safe, x as shortenHomeInString, y as resolveUserPath } from "./utils-BlC2Fskb.js";
4
4
  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-EAliFiVK.js";
5
5
  import { C as resolveThreadParentSessionKey, S as parseAgentSessionKey, _ as getSubagentDepth, b as isCronSessionKey, c as normalizeMainKey, d as sanitizeAgentId, h as normalizeAccountId$2, l as resolveAgentIdFromSessionKey, m as DEFAULT_ACCOUNT_ID, o as classifySessionKeyShape, r as buildAgentMainSessionKey, s as normalizeAgentId, t as DEFAULT_AGENT_ID, u as resolveThreadSessionKeys, v as isAcpSessionKey, x as isSubagentSessionKey, y as isCronRunSessionKey } from "./session-key-DCt45XZa.js";
6
- import { t as resolveOpenClawPackageRoot } from "./openclaw-root-CbWxAStx.js";
6
+ import { t as resolveOpenClawPackageRoot } from "./openclaw-root-CQJwyH9q.js";
7
7
  import { E as triggerInternalHook, S as matchPluginCommand, _ as buildMemoryPromptSection, b as getPluginCommandSpecs, c as normalizeAnyChannelId, f as requireActivePluginRegistry, g as normalizePluginHttpPath, h as createPluginRegistry, l as normalizeChannelId, n as CHAT_CHANNEL_ORDER, p as setActivePluginRegistry, r as DEFAULT_CHAT_CHANNEL, v as clearPluginCommands, w as createInternalHookEvent, x as listPluginCommands, y as executePluginCommand } from "./registry-lBbEkQ26.js";
8
8
  import { d as createNonExitingRuntime, f as defaultRuntime, t as createSubsystemLogger } from "./subsystem-Cu1fn6xi.js";
9
9
  import { a as logError, i as logDebug, n as runExec, o as logInfo, r as spawnWithFallback, s as logWarn, t as runCommandWithTimeout } from "./exec-DwGfeG8v.js";
10
- import { C as ensureAgentWorkspace, E as loadWorkspaceBootstrapFiles, _ as DEFAULT_IDENTITY_FILENAME, a as resolveAgentModelFallbacksOverride, c as resolveAgentWorkspaceDir, d as resolveSessionAgentId, f as resolveSessionAgentIds, h as DEFAULT_BOOTSTRAP_FILENAME, i as resolveAgentDir, l as resolveDefaultAgentId, m as DEFAULT_AGENT_WORKSPACE_DIR, n as listAgentIds, o as resolveAgentModelPrimary, r as resolveAgentConfig, s as resolveAgentSkillsFilter, u as resolveEffectiveModelFallbacks, w as filterBootstrapFilesForSession } from "./agent-scope-B6jLdNuI.js";
11
- import { At as ensureAuthProfileStore, Bt as normalizeSecretInput, Et as markAuthProfileGood, Ft as resolveOpenClawAgentDir, G as getCustomProviderApiKey, Gt as DEFAULT_MODEL, H as OLLAMA_NATIVE_BASE_URL, It as withFileLock, K as requireApiKey, Kt as DEFAULT_PROVIDER, Pt as resolveAuthStorePathForDisplay, Q as getShellPathFromLoginShell, Tt as listProfilesForProvider, U as createOllamaStreamFn, Vt as resolveAuthProfileDisplayLabel, W as getApiKeyForModel, Wt as DEFAULT_CONTEXT_TOKENS, X as resolveModelAuthMode, Y as resolveEnvApiKey, c as normalizeModelRef$2, et as resolveShellEnvFallbackTimeoutMs, ft as resolveAuthProfileOrder, g as resolveModelRefFromString, gt as markAuthProfileUsed, ht as markAuthProfileFailure, i as findNormalizedProviderValue, l as normalizeProviderId, m as resolveDefaultModelForAgent, mt as isProfileInCooldown, n as buildConfiguredAllowlistKeys, o as isCliProvider, p as resolveConfiguredModelRef, pt as getSoonestCooldownExpiry, q as resolveApiKeyForProvider, r as buildModelAliasIndex, s as modelKey, t as buildAllowedModelSet, u as parseModelRef, v as resolveSubagentSpawnModelSelection, vt as resolveApiKeyForProfile, wt as dedupeProfileIds, y as resolveThinkingDefault } from "./model-selection-C1pdWy7b.js";
10
+ import { C as ensureAgentWorkspace, E as loadWorkspaceBootstrapFiles, _ as DEFAULT_IDENTITY_FILENAME, a as resolveAgentModelFallbacksOverride, c as resolveAgentWorkspaceDir, d as resolveSessionAgentId, f as resolveSessionAgentIds, h as DEFAULT_BOOTSTRAP_FILENAME, i as resolveAgentDir, l as resolveDefaultAgentId, m as DEFAULT_AGENT_WORKSPACE_DIR, n as listAgentIds, o as resolveAgentModelPrimary, r as resolveAgentConfig, s as resolveAgentSkillsFilter, u as resolveEffectiveModelFallbacks, w as filterBootstrapFilesForSession } from "./agent-scope-BGlpyppa.js";
11
+ import { At as ensureAuthProfileStore, Bt as normalizeSecretInput, Et as markAuthProfileGood, Ft as resolveOpenClawAgentDir, G as getCustomProviderApiKey, Gt as DEFAULT_MODEL, H as OLLAMA_NATIVE_BASE_URL, It as withFileLock, K as requireApiKey, Kt as DEFAULT_PROVIDER, Pt as resolveAuthStorePathForDisplay, Q as getShellPathFromLoginShell, Tt as listProfilesForProvider, U as createOllamaStreamFn, Vt as resolveAuthProfileDisplayLabel, W as getApiKeyForModel, Wt as DEFAULT_CONTEXT_TOKENS, X as resolveModelAuthMode, Y as resolveEnvApiKey, c as normalizeModelRef$2, et as resolveShellEnvFallbackTimeoutMs, ft as resolveAuthProfileOrder, g as resolveModelRefFromString, gt as markAuthProfileUsed, ht as markAuthProfileFailure, i as findNormalizedProviderValue, l as normalizeProviderId, m as resolveDefaultModelForAgent, mt as isProfileInCooldown, n as buildConfiguredAllowlistKeys, o as isCliProvider, p as resolveConfiguredModelRef, pt as getSoonestCooldownExpiry, q as resolveApiKeyForProvider, r as buildModelAliasIndex, s as modelKey, t as buildAllowedModelSet, u as parseModelRef, v as resolveSubagentSpawnModelSelection, vt as resolveApiKeyForProfile, wt as dedupeProfileIds, y as resolveThinkingDefault } from "./model-selection-0qDmOMXI.js";
12
12
  import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-D2zp6kMZ.js";
13
13
  import { t as formatCliCommand } from "./command-format-DEKzLnLg.js";
14
14
  import { t as parseBooleanValue$1 } from "./boolean-BsqeuxE6.js";
15
15
  import { t as isTruthyEnvValue } from "./env-C9RBJHeg.js";
16
16
  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-DzkrSzpL.js";
17
- import { $ as parseDiscordTarget, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as createDiscordRestClient, D as pinMessageDiscord, Dt as normalizeChannelSlug, E as listThreadsDiscord, Et as buildChannelKeyCandidates, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, Ot as resolveChannelEntryMatchWithFallback, P as fetchChannelInfoDiscord, Q as stripUndefinedFields, R as kickMemberDiscord, S as deleteMessageDiscord, St as createDiscordClient, T as listPinsDiscord, Tt as applyChannelMatchMeta, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendPollDiscord, _t as resolveDiscordSystemLocation, a as removeReactionDiscord, at as normalizeDiscordAllowList, b as sendWebhookMessageDiscord, bt as fetchChannelPermissionsDiscord, c as formatDiscordComponentEventText, ct as resolveDiscordChannelConfigWithFallback, d as parseDiscordModalCustomId, dt as resolveDiscordOwnerAllowFrom, et as resolveDiscordChannelId, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordShouldRequireMention, g as sendMessageDiscord, gt as formatDiscordUserTag, h as resolveDiscordModalEntry, ht as formatDiscordReactionEmoji, i as removeOwnReactionsDiscord, it as isDiscordGroupAllowedByPolicy, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as resolveDiscordGuildEntry, m as resolveDiscordComponentEntry, mt as shouldEmitDiscordReactionNotification, n as fetchReactionsDiscord, nt as listDiscordDirectoryPeersLive, o as sendDiscordComponentMessage, ot as normalizeDiscordSlug, p as readDiscordComponentSpec, pt as resolveGroupDmAllow, q as deleteChannelDiscord, r as reactMessageDiscord, rt as allowListMatches$1, s as createDiscordFormModal, st as resolveDiscordAllowListMatch, tt as listDiscordDirectoryGroupsLive, u as parseDiscordComponentCustomIdForCarbon, ut as resolveDiscordMemberAccessState, v as sendStickerDiscord, vt as resolveTimestampMs, w as fetchMessageDiscord, wt as chunkDiscordTextWithMode, x as createThreadDiscord, xt as hasAnyGuildPermissionDiscord, y as sendVoiceMessageDiscord, yt as fetchDiscord, z as listGuildChannelsDiscord } from "./send-BilxFvrd.js";
18
- import { A as parseConfigPath, B as resolveAgentMaxConcurrent, C as parseDurationMs, D as setConfigOverride, E as resetConfigOverrides, H as VERSION, M as unsetConfigValueAtPath, O as unsetConfigOverride, T as getConfigOverrides, _ as isInboundPathAllowed, b as resolveIMessageRemoteAttachmentRoots, c as resolveConfigSnapshotHash, h as resolveTelegramCustomCommands, i as loadConfig, j as setConfigValueAtPath, k as getConfigValueAtPath, l as writeConfigFile, m as normalizeTelegramCommandName, o as readConfigFileSnapshot, p as TELEGRAM_COMMAND_NAME_PATTERN, u as validateConfigObjectWithPlugins, w as validateJsonSchemaValue, x as normalizeScpRemoteHost, y as resolveIMessageAttachmentRoots, z as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH } from "./config-JupjCURB.js";
17
+ import { $ as parseDiscordTarget, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as createDiscordRestClient, D as pinMessageDiscord, Dt as normalizeChannelSlug, E as listThreadsDiscord, Et as buildChannelKeyCandidates, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, Ot as resolveChannelEntryMatchWithFallback, P as fetchChannelInfoDiscord, Q as stripUndefinedFields, R as kickMemberDiscord, S as deleteMessageDiscord, St as createDiscordClient, T as listPinsDiscord, Tt as applyChannelMatchMeta, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendPollDiscord, _t as resolveDiscordSystemLocation, a as removeReactionDiscord, at as normalizeDiscordAllowList, b as sendWebhookMessageDiscord, bt as fetchChannelPermissionsDiscord, c as formatDiscordComponentEventText, ct as resolveDiscordChannelConfigWithFallback, d as parseDiscordModalCustomId, dt as resolveDiscordOwnerAllowFrom, et as resolveDiscordChannelId, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordShouldRequireMention, g as sendMessageDiscord, gt as formatDiscordUserTag, h as resolveDiscordModalEntry, ht as formatDiscordReactionEmoji, i as removeOwnReactionsDiscord, it as isDiscordGroupAllowedByPolicy, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as resolveDiscordGuildEntry, m as resolveDiscordComponentEntry, mt as shouldEmitDiscordReactionNotification, n as fetchReactionsDiscord, nt as listDiscordDirectoryPeersLive, o as sendDiscordComponentMessage, ot as normalizeDiscordSlug, p as readDiscordComponentSpec, pt as resolveGroupDmAllow, q as deleteChannelDiscord, r as reactMessageDiscord, rt as allowListMatches$1, s as createDiscordFormModal, st as resolveDiscordAllowListMatch, tt as listDiscordDirectoryGroupsLive, u as parseDiscordComponentCustomIdForCarbon, ut as resolveDiscordMemberAccessState, v as sendStickerDiscord, vt as resolveTimestampMs, w as fetchMessageDiscord, wt as chunkDiscordTextWithMode, x as createThreadDiscord, xt as hasAnyGuildPermissionDiscord, y as sendVoiceMessageDiscord, yt as fetchDiscord, z as listGuildChannelsDiscord } from "./send-i695V0Ow.js";
18
+ import { A as parseConfigPath, B as resolveAgentMaxConcurrent, C as parseDurationMs, D as setConfigOverride, E as resetConfigOverrides, H as VERSION, M as unsetConfigValueAtPath, O as unsetConfigOverride, T as getConfigOverrides, _ as isInboundPathAllowed, b as resolveIMessageRemoteAttachmentRoots, c as resolveConfigSnapshotHash, h as resolveTelegramCustomCommands, i as loadConfig, j as setConfigValueAtPath, k as getConfigValueAtPath, l as writeConfigFile, m as normalizeTelegramCommandName, o as readConfigFileSnapshot, p as TELEGRAM_COMMAND_NAME_PATTERN, u as validateConfigObjectWithPlugins, w as validateJsonSchemaValue, x as normalizeScpRemoteHost, y as resolveIMessageAttachmentRoots, z as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH } from "./config-CkqfHk27.js";
19
19
  import { a as safeStatSync, c as applyTestPluginDefaults, d as resolveEnableState, f as resolveMemorySlotDecision, h as isDangerousHostEnvVarName, i as isPathInside, n as loadPluginManifestRegistry, r as discoverOpenClawPlugins, u as normalizePluginsConfig } from "./manifest-registry-YRUqEw3J.js";
20
20
  import { a as isPathInsideWithRealpath } from "./legacy-names-u6U1_9U0.js";
21
21
  import { t as normalizeChatType } from "./chat-type-DyovJwCt.js";
22
22
  import { n as resolveConversationLabel } from "./conversation-label-Bn5j3lUT.js";
23
23
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-CmmmT8IP.js";
24
- import { _ as applyTemplate, a as resolveMediaAttachmentLocalRoots, c as resolveAttachmentKind, d as registerUnhandledRejectionHandler, f as resolveConcurrency, g as CLI_OUTPUT_MAX_BUFFER, h as resolveMediaUnderstandingScope, i as resolveAutoImageModel, l as buildRandomTempFilePath, m as normalizeMediaUnderstandingChatType, n as createMediaAttachmentCache, o as runCapability, p as resolveTimeoutMs, r as normalizeMediaAttachments, t as buildProviderRegistry } from "./runner-fLI-fZ-v.js";
25
- import { _ as stripThinkingTagsFromText, a as decodeDataUrl, b as minimaxUnderstandImage, c as extractAssistantThinking, d as formatReasoningMessage, f as inferToolMetaFromArgs, g as stripMinimaxToolCallXml, h as stripDowngradedToolCallText, i as coerceImageModelConfig, l as extractThinkingFromTaggedStream, m as promoteThinkingTagsToBlocks, o as resolveProviderVisionModelFromConfig, p as isAssistantMessage, r as coerceImageAssistantText, s as extractAssistantText$1, u as extractThinkingFromTaggedText, v as stripReasoningTagsFromText, y as extractTextFromChatContent } from "./image-DtVdv4CQ.js";
26
- import { t as ensureOpenClawModelsJson } from "./models-config-BVp1ZtTh.js";
24
+ import { _ as applyTemplate, a as resolveMediaAttachmentLocalRoots, c as resolveAttachmentKind, d as registerUnhandledRejectionHandler, f as resolveConcurrency, g as CLI_OUTPUT_MAX_BUFFER, h as resolveMediaUnderstandingScope, i as resolveAutoImageModel, l as buildRandomTempFilePath, m as normalizeMediaUnderstandingChatType, n as createMediaAttachmentCache, o as runCapability, p as resolveTimeoutMs, r as normalizeMediaAttachments, t as buildProviderRegistry } from "./runner-CXGYviGa.js";
25
+ import { _ as stripThinkingTagsFromText, a as decodeDataUrl, b as minimaxUnderstandImage, c as extractAssistantThinking, d as formatReasoningMessage, f as inferToolMetaFromArgs, g as stripMinimaxToolCallXml, h as stripDowngradedToolCallText, i as coerceImageModelConfig, l as extractThinkingFromTaggedStream, m as promoteThinkingTagsToBlocks, o as resolveProviderVisionModelFromConfig, p as isAssistantMessage, r as coerceImageAssistantText, s as extractAssistantText$1, u as extractThinkingFromTaggedText, v as stripReasoningTagsFromText, y as extractTextFromChatContent } from "./image-DC9YnAwO.js";
26
+ import { t as ensureOpenClawModelsJson } from "./models-config-CTi1zIkq.js";
27
27
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-4uUnLc3n.js";
28
- import { A as isTransientHttpError, C as isContextOverflowError, D as isRateLimitAssistantError, E as isLikelyContextOverflowError, F as ensureSessionHeader, I as resolveBootstrapMaxChars, L as resolveBootstrapTotalMaxChars, M as parseImageSizeError, N as sanitizeUserFacingText, O as isRawApiErrorPayload, P as buildBootstrapContextFiles, R as sanitizeGoogleTurnOrdering, S as isCompactionFailureError, T as isFailoverErrorMessage, _ as formatRawAssistantErrorForUi, a as isMessagingToolDuplicateNormalized, b as isBillingAssistantError, c as extractToolCallsFromAssistant, d as isAntigravityClaude, f as isGoogleModelApi, g as formatBillingErrorMessage, h as formatAssistantErrorText, j as parseImageDimensionError, k as isTimeoutErrorMessage, l as extractToolResultId, m as classifyFailoverReason, n as validateGeminiTurns, o as normalizeTextForComparison, p as BILLING_ERROR_USER_MESSAGE, r as pickFallbackThinkingLevel, s as sanitizeSessionMessagesImages, t as validateAnthropicTurns, u as downgradeOpenAIReasoningBlocks, v as getApiErrorPayloadFingerprint, w as isFailoverAssistantError, x as isCloudCodeAssistFormatError, y as isAuthAssistantError } from "./pi-embedded-helpers-B9uwWqnh.js";
29
- import { C as stripPluginOnlyAllowlist, S as resolveToolProfilePolicy, T as matchesAnyGlobPattern, _ as collectExplicitAllowlist, a as ensureSandboxWorkspaceForSession, b as mergeAlsoAllowPolicy, c as resolveSandboxRuntimeStatus, d as getBridgeAuthForPort, f as resolveSandboxConfigForAgent, g as buildPluginToolGroups, h as applyOwnerOnlyToolPolicy, o as resolveSandboxContext, v as expandPolicyWithPluginGroups, w as compileGlobPatterns, x as normalizeToolName } from "./sandbox-B1lVufmT.js";
30
- import { T as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-BlXdvPOB.js";
31
- import { i as resolveBrowserConfig, m as resolveBrowserControlAuth } from "./server-context-DFBpyKBE.js";
32
- 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-DO1RiQMB.js";
28
+ import { A as isTransientHttpError, C as isContextOverflowError, D as isRateLimitAssistantError, E as isLikelyContextOverflowError, F as ensureSessionHeader, I as resolveBootstrapMaxChars, L as resolveBootstrapTotalMaxChars, M as parseImageSizeError, N as sanitizeUserFacingText, O as isRawApiErrorPayload, P as buildBootstrapContextFiles, R as sanitizeGoogleTurnOrdering, S as isCompactionFailureError, T as isFailoverErrorMessage, _ as formatRawAssistantErrorForUi, a as isMessagingToolDuplicateNormalized, b as isBillingAssistantError, c as extractToolCallsFromAssistant, d as isAntigravityClaude, f as isGoogleModelApi, g as formatBillingErrorMessage, h as formatAssistantErrorText, j as parseImageDimensionError, k as isTimeoutErrorMessage, l as extractToolResultId, m as classifyFailoverReason, n as validateGeminiTurns, o as normalizeTextForComparison, p as BILLING_ERROR_USER_MESSAGE, r as pickFallbackThinkingLevel, s as sanitizeSessionMessagesImages, t as validateAnthropicTurns, u as downgradeOpenAIReasoningBlocks, v as getApiErrorPayloadFingerprint, w as isFailoverAssistantError, x as isCloudCodeAssistFormatError, y as isAuthAssistantError } from "./pi-embedded-helpers-BDEpQxcD.js";
29
+ import { C as stripPluginOnlyAllowlist, S as resolveToolProfilePolicy, T as matchesAnyGlobPattern, _ as collectExplicitAllowlist, a as ensureSandboxWorkspaceForSession, b as mergeAlsoAllowPolicy, c as resolveSandboxRuntimeStatus, d as getBridgeAuthForPort, f as resolveSandboxConfigForAgent, g as buildPluginToolGroups, h as applyOwnerOnlyToolPolicy, o as resolveSandboxContext, v as expandPolicyWithPluginGroups, w as compileGlobPatterns, x as normalizeToolName } from "./sandbox-Dbz4ladn.js";
30
+ import { T as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-C9MCXK8d.js";
31
+ import { i as resolveBrowserConfig, m as resolveBrowserControlAuth } from "./server-context-BN_KGt0e.js";
32
+ 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-DhT6my9R.js";
33
33
  import { n as formatErrorMessage, r as formatUncaughtError } from "./errors-BF3TeRH2.js";
34
- import { i as resolveExistingPathsWithinRoot, r as DEFAULT_UPLOAD_DIR } from "./paths-BsnfCNkx.js";
34
+ import { i as resolveExistingPathsWithinRoot, r as DEFAULT_UPLOAD_DIR } from "./paths-CIvEoL0m.js";
35
35
  import { i as isBlockedHostnameOrIp, o as normalizeHostname, t as SsrFBlockedError } from "./ssrf-BCYMnxkM.js";
36
- import { c as detectMime, d as imageMimeFromFormat, f as isAudioFileName, g as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, p as isGifMedia, s as resizeToJpeg, v as mediaKindFromMime } from "./image-ops-Uvt51OHH.js";
37
- import { n as getMediaDir, r as saveMediaBuffer } from "./store-CLuh0zX0.js";
38
- import { B as resolveAgentMainSessionKey, C as capArrayByJsonBytes, E as readSessionTitleFieldsFromTranscript, F as resolveSessionResetType, H as resolveMainSessionKey, I as resolveThreadFlag, J as acquireSessionWriteLock, K as buildGroupDisplayName, L as DEFAULT_RESET_TRIGGERS, M as evaluateSessionFreshness, N as resolveChannelResetConfig, P as resolveSessionResetPolicy, R as resolveFreshSessionTotalTokens, S as archiveSessionTranscripts, V as resolveExplicitAgentSessionKey, W as deriveSessionMetaPatch, X as resolveSessionLockMaxHoldFromTimeout, _ as mergeDeliveryContext, a as resolveAndPersistSessionFile, b as normalizeAccountId$3, c as recordSessionMetaFromInbound, d as updateSessionStore, f as updateSessionStoreEntry, g as deliveryContextKey, h as deliveryContextFromSession, j as resolveSessionKey, m as resolveCacheTtlMs$1, n as parseSessionThreadInfo, o as loadSessionStore, p as isCacheEnabled, q as resolveGroupSessionKey, r as appendAssistantMessageToSessionTranscript, s as readSessionUpdatedAt, t as extractDeliveryInfo, u as updateLastRoute, v as normalizeDeliveryContext, y as normalizeSessionDeliveryFields, z as canonicalizeMainSessionAlias } from "./sessions-fj33u4f-.js";
39
- 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-CX_o0bdi.js";
40
- import { _ as listEnabledDiscordAccounts, a as isWhatsAppGroupJid, c as listEnabledTelegramAccounts, d as resolveTelegramToken, f as resolveSlackAccount, g as createDiscordActionGate, h as resolveSlackBotToken, l as listTelegramAccountIds, m as resolveSlackAppToken, n as listChannelPlugins, o as normalizeWhatsAppTarget, r as normalizeChannelId$1, s as createTelegramActionGate, t as getChannelPlugin, u as resolveTelegramAccount, v as resolveDiscordAccount, y as normalizeDiscordToken } from "./plugins-BYw4LpqC.js";
41
- import { a as logWebSelfId, i as getWebAuthAgeMs, m as webAuthExists, n as resolveWhatsAppAccount, o as logoutWeb, u as readWebSelfId } from "./accounts-D8ryuxvJ.js";
42
- import { t as resolveIMessageAccount } from "./accounts-E1DMCEDO.js";
43
- import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-Dl14M6E6.js";
44
- import { a as createSlackWebClient, c as validateSlackBlocksArray, d as resolveSlackChannelId, l as buildSlackBlocksFallbackText, o as resolveSlackWebClientOptions, r as markdownToSlackMrkdwn, s as parseSlackBlocksInput, t as sendMessageSlack, u as parseSlackTarget } from "./send-_y-b5SXH.js";
36
+ import { c as detectMime, d as imageMimeFromFormat, f as isAudioFileName, g as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, p as isGifMedia, s as resizeToJpeg, v as mediaKindFromMime } from "./image-ops-B4PbaJHR.js";
37
+ import { n as getMediaDir, r as saveMediaBuffer } from "./store-YBnR7qvG.js";
38
+ import { B as resolveAgentMainSessionKey, C as capArrayByJsonBytes, E as readSessionTitleFieldsFromTranscript, F as resolveSessionResetType, H as resolveMainSessionKey, I as resolveThreadFlag, J as acquireSessionWriteLock, K as buildGroupDisplayName, L as DEFAULT_RESET_TRIGGERS, M as evaluateSessionFreshness, N as resolveChannelResetConfig, P as resolveSessionResetPolicy, R as resolveFreshSessionTotalTokens, S as archiveSessionTranscripts, V as resolveExplicitAgentSessionKey, W as deriveSessionMetaPatch, X as resolveSessionLockMaxHoldFromTimeout, _ as mergeDeliveryContext, a as resolveAndPersistSessionFile, b as normalizeAccountId$3, c as recordSessionMetaFromInbound, d as updateSessionStore, f as updateSessionStoreEntry, g as deliveryContextKey, h as deliveryContextFromSession, j as resolveSessionKey, m as resolveCacheTtlMs$1, n as parseSessionThreadInfo, o as loadSessionStore, p as isCacheEnabled, q as resolveGroupSessionKey, r as appendAssistantMessageToSessionTranscript, s as readSessionUpdatedAt, t as extractDeliveryInfo, u as updateLastRoute, v as normalizeDeliveryContext, y as normalizeSessionDeliveryFields, z as canonicalizeMainSessionAlias } from "./sessions-CwvGRwvW.js";
39
+ 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-B1xpMkYP.js";
40
+ import { _ as listEnabledDiscordAccounts, a as isWhatsAppGroupJid, c as listEnabledTelegramAccounts, d as resolveTelegramToken, f as resolveSlackAccount, g as createDiscordActionGate, h as resolveSlackBotToken, l as listTelegramAccountIds, m as resolveSlackAppToken, n as listChannelPlugins, o as normalizeWhatsAppTarget, r as normalizeChannelId$1, s as createTelegramActionGate, t as getChannelPlugin, u as resolveTelegramAccount, v as resolveDiscordAccount, y as normalizeDiscordToken } from "./plugins-DufH79A4.js";
41
+ import { a as logWebSelfId, i as getWebAuthAgeMs, m as webAuthExists, n as resolveWhatsAppAccount, o as logoutWeb, u as readWebSelfId } from "./accounts-CGBT0wQ4.js";
42
+ import { t as resolveIMessageAccount } from "./accounts-BQX482gP.js";
43
+ import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-CAR30ERb.js";
44
+ import { a as createSlackWebClient, c as validateSlackBlocksArray, d as resolveSlackChannelId, l as buildSlackBlocksFallbackText, o as resolveSlackWebClientOptions, r as markdownToSlackMrkdwn, s as parseSlackBlocksInput, t as sendMessageSlack, u as parseSlackTarget } from "./send-DUc9Jw32.js";
45
45
  import { c as resolveStorePath, i as resolveSessionTranscriptPath, n as resolveSessionFilePath, r as resolveSessionFilePathOptions, t as resolveDefaultSessionStorePath } from "./paths-C6eomcf_.js";
46
46
  import { i as normalizeInputProvenance, n as applyInputProvenanceToUserMessage, r as hasInterSessionUserProvenance } from "./input-provenance-BzbXHcaD.js";
47
47
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-DdnTeoR1.js";
48
- import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-Cdj7iZ0t.js";
48
+ import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-BCkPMulQ.js";
49
49
  import { n as resolveToolDisplay } from "./tool-display-2OmEbBUF.js";
50
50
  import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-Db3da8yR.js";
51
51
  import { t as fetchWithSsrFGuard } from "./fetch-guard-w97sP7Hz.js";
52
- import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, t as getAgentScopedMediaLocalRoots } from "./local-roots-25wkka6O.js";
53
- import { v as runTasksWithConcurrency } from "./sqlite-DCO2j-0b.js";
54
- import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-CzLbr1ZD.js";
52
+ import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, t as getAgentScopedMediaLocalRoots } from "./local-roots-B6Q8Hrfc.js";
53
+ import { v as runTasksWithConcurrency } from "./sqlite-CzeIEe5A.js";
54
+ import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-CjwzHKkB.js";
55
55
  import { i as isSilentReplyText, n as SILENT_REPLY_TOKEN, r as isSilentReplyPrefixText, t as HEARTBEAT_TOKEN } from "./tokens-BDil8-Uk.js";
56
- import { n as createBrowserRouteDispatcher, r as getMachineDisplayName, t as withTimeout$4 } from "./with-timeout-OwJVCBFG.js";
57
- import { C as getGlobalHookRunner, S as throwIfAborted, _ as normalizeTargetForProvider, a as normalizeOutboundPayloadsForJson, b as splitMediaFromOutput, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as normalizeChannelTargetInput, h as buildTargetResolverSignature, i as normalizeOutboundPayloads, l as filterMessagingToolDuplicates, m as resolveReplyToMode, o as normalizeReplyPayloadsForDelivery, p as createReplyToModeFilterForChannel, r as formatOutboundPayloadLog, s as applyReplyTagsToPayload, t as deliverOutboundPayloads, u as filterMessagingToolMediaDuplicates, v as parseReplyDirectives, w as initializeGlobalHookRunner, x as parseInlineDirectives$1, y as MEDIA_TOKEN_RE } from "./deliver-DKhy3kV4.js";
56
+ import { n as createBrowserRouteDispatcher, r as getMachineDisplayName, t as withTimeout$4 } from "./with-timeout-n3bwhefQ.js";
57
+ import { C as getGlobalHookRunner, S as throwIfAborted, _ as normalizeTargetForProvider, a as normalizeOutboundPayloadsForJson, b as splitMediaFromOutput, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as normalizeChannelTargetInput, h as buildTargetResolverSignature, i as normalizeOutboundPayloads, l as filterMessagingToolDuplicates, m as resolveReplyToMode, o as normalizeReplyPayloadsForDelivery, p as createReplyToModeFilterForChannel, r as formatOutboundPayloadLog, s as applyReplyTagsToPayload, t as deliverOutboundPayloads, u as filterMessagingToolMediaDuplicates, v as parseReplyDirectives, w as initializeGlobalHookRunner, x as parseInlineDirectives$1, y as MEDIA_TOKEN_RE } from "./deliver-DPIPJHQH.js";
58
58
  import { a as logMessageProcessed, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, i as logLaneEnqueue, l as logWebhookProcessed, m as isDiagnosticsEnabled, o as logMessageQueued, p as emitDiagnosticEvent, r as logLaneDequeue, s as logSessionStateChange, t as diag, u as logWebhookReceived } from "./diagnostic-loJQGh5N.js";
59
59
  import { r as getDiagnosticSessionState } from "./diagnostic-session-state-CUslJyKP.js";
60
- import { A as hasBotMention, B as resolveSenderAllowMatch, C as buildTelegramGroupPeerId, D as describeReplyTarget, E as buildTypingThreadParams, F as resolveTelegramReplyId, G as toLocationContext, H as isSenderIdAllowed, I as resolveTelegramStreamMode, J as parseTelegramTarget, K as withTelegramApiErrorLogging, L as resolveTelegramThreadSpec, M as resolveTelegramForumThreadId, N as resolveTelegramGroupAllowFromContext, O as expandTextLinks, P as resolveTelegramMediaPlaceholder, R as isSenderAllowed$1, S as buildTelegramGroupFrom, T as buildTelegramThreadParams, U as mergeAllowFromSources, V as firstDefined$1, W as formatLocationText, Y as resolveTelegramTargetChatType, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildSenderLabel, c as sendStickerTelegram, d as wasSentByBot, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, j as normalizeForwardedContext, k as extractTelegramLocation, m as markdownToTelegramHtml, n as createForumTopicTelegram, o as sendMessageTelegram, p as markdownToTelegramChunks, q as isVoiceCompatibleAudio, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramParentPeer, x as buildSenderName, y as buildGroupLabel, z as normalizeAllowFromWithStore$1 } from "./send-YdmCYGSj.js";
61
- import { a as buildModelAliasLines, n as resolveModel } from "./model-MOoXNngW.js";
62
- import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-CJc9NzGX.js";
63
- import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-CS7LI30B.js";
64
- import { n as resolveMemorySearchConfig } from "./manager-BVtzk7_v.js";
60
+ import { A as hasBotMention, B as resolveSenderAllowMatch, C as buildTelegramGroupPeerId, D as describeReplyTarget, E as buildTypingThreadParams, F as resolveTelegramReplyId, G as toLocationContext, H as isSenderIdAllowed, I as resolveTelegramStreamMode, J as parseTelegramTarget, K as withTelegramApiErrorLogging, L as resolveTelegramThreadSpec, M as resolveTelegramForumThreadId, N as resolveTelegramGroupAllowFromContext, O as expandTextLinks, P as resolveTelegramMediaPlaceholder, R as isSenderAllowed$1, S as buildTelegramGroupFrom, T as buildTelegramThreadParams, U as mergeAllowFromSources, V as firstDefined$1, W as formatLocationText, Y as resolveTelegramTargetChatType, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildSenderLabel, c as sendStickerTelegram, d as wasSentByBot, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, j as normalizeForwardedContext, k as extractTelegramLocation, m as markdownToTelegramHtml, n as createForumTopicTelegram, o as sendMessageTelegram, p as markdownToTelegramChunks, q as isVoiceCompatibleAudio, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramParentPeer, x as buildSenderName, y as buildGroupLabel, z as normalizeAllowFromWithStore$1 } from "./send-BGmblGeb.js";
61
+ import { a as buildModelAliasLines, n as resolveModel } from "./model-BKG0edkX.js";
62
+ import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-CbuTBmdm.js";
63
+ import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-8SCKR9xc.js";
64
+ import { n as resolveMemorySearchConfig } from "./manager-CDo24VZE.js";
65
65
  import { n as retryAsync } from "./retry-BNSym93Y.js";
66
- import { 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-DKUMw1tA.js";
66
+ import { 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-BrrPOPT5.js";
67
67
  import { a as chunkText, c as resolveChunkMode, d as isSafeFenceBreak, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, o as chunkTextWithMode, r as chunkMarkdownText, t as chunkByNewline, u as findFenceSpanAt } from "./chunk-ZFvwZqoJ.js";
68
- import { n as resolveMarkdownTableMode } from "./markdown-tables-MNYCbYg1.js";
69
- import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-1SG-TkUZ.js";
70
- import { a as resolveNativeSkillsEnabled, i as resolveNativeCommandsEnabled, n as isNativeCommandsExplicitlyDisabled, r as isRestartEnabled, t as isCommandFlagEnabled } from "./commands-KvUzKZ-E.js";
71
- import { a as listChatCommandsForConfig, c as normalizeCommandBody, d as resolveCommandArgMenu, f as serializeCommandArgs, i as listChatCommands, l as parseCommandArgs, o as listNativeCommandSpecs, p as shouldHandleTextCommands, r as findCommandByNativeName, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as resolveCommandArgChoices } from "./commands-registry-DVVMuhaG.js";
72
- import { Mt as SESSION_LABEL_MAX_LENGTH, t as GatewayClient } from "./client-BW8Wuj5N.js";
73
- import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege, t as buildGatewayConnectionDetails } from "./call-CYa4YbMh.js";
68
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-CXWxrKp3.js";
69
+ import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-D72mYI93.js";
70
+ import { a as resolveNativeSkillsEnabled, i as resolveNativeCommandsEnabled, n as isNativeCommandsExplicitlyDisabled, r as isRestartEnabled, t as isCommandFlagEnabled } from "./commands-DHoTLUfu.js";
71
+ import { a as listChatCommandsForConfig, c as normalizeCommandBody, d as resolveCommandArgMenu, f as serializeCommandArgs, i as listChatCommands, l as parseCommandArgs, o as listNativeCommandSpecs, p as shouldHandleTextCommands, r as findCommandByNativeName, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as resolveCommandArgChoices } from "./commands-registry-C6MwKIm9.js";
72
+ import { Mt as SESSION_LABEL_MAX_LENGTH, t as GatewayClient } from "./client-DkL-GDcp.js";
73
+ import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege, t as buildGatewayConnectionDetails } from "./call-BVSmc2vl.js";
74
74
  import { n as formatTimeAgo } from "./format-relative-BXoxEQVN.js";
75
75
  import { n as normalizePollInput } from "./polls-DhH5YkzN.js";
76
76
  import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-DplV01TN.js";
77
77
  import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-EupTshKr.js";
78
- import { t as convertMarkdownTables } from "./tables-DhRyfXvl.js";
79
- import { c as signalRpcRequest, l as streamSignalEvents, n as sendReadReceiptSignal, o as resolveSignalRpcContext, r as sendTypingSignal, s as signalCheck, t as sendMessageSignal } from "./send-UJWeL6fz.js";
80
- import { i as readChannelAllowFromStore, l as listPairingChannels, o as removeChannelAllowFromStoreEntry, s as upsertChannelPairingRequest, t as addChannelAllowFromStoreEntry } from "./pairing-store-BzMeXbOB.js";
78
+ import { t as convertMarkdownTables } from "./tables-LYKSFoqx.js";
79
+ import { c as signalRpcRequest, l as streamSignalEvents, n as sendReadReceiptSignal, o as resolveSignalRpcContext, r as sendTypingSignal, s as signalCheck, t as sendMessageSignal } from "./send-ElgbtTa_.js";
80
+ import { i as readChannelAllowFromStore, l as listPairingChannels, o as removeChannelAllowFromStoreEntry, s as upsertChannelPairingRequest, t as addChannelAllowFromStoreEntry } from "./pairing-store-IkE0_gB1.js";
81
81
  import { t as makeProxyFetch } from "./proxy-DU7W9XSc.js";
82
82
  import { i as formatDurationSeconds, r as formatDurationPrecise, t as formatDurationCompact$1 } from "./format-duration-D0B0Uo-I.js";
83
- import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-C5pUt_LC.js";
84
- import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-BVBgaEtE.js";
85
- import { b as ensureSkillsWatcher, i as resolveSkillCommandInvocation, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, r as listSkillCommandsForWorkspace, t as listReservedChatSlashCommandNames, x as getSkillsSnapshotVersion } from "./skill-commands-27Clp6Hw.js";
83
+ import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-DuqgZ7wS.js";
84
+ import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-BdkHHO5V.js";
85
+ import { b as ensureSkillsWatcher, i as resolveSkillCommandInvocation, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, r as listSkillCommandsForWorkspace, t as listReservedChatSlashCommandNames, x as getSkillsSnapshotVersion } from "./skill-commands-VCmL7mMC.js";
86
86
  import { c as hasNonzeroUsage, l as normalizeUsage, n as loadCostUsageSummary, o as derivePromptTokens, r as loadSessionCostSummary, s as deriveSessionTotalTokens } from "./session-cost-usage-CNxpZ3DJ.js";
87
- import { a as normalizeIMessageHandle, c as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, i as isAllowedIMessageSender, o as parseIMessageTarget, r as formatIMessageChatTarget, s as createIMessageRpcClient, t as sendMessageIMessage } from "./send-DAb8zkAc.js";
88
- import { r as detectBinary } from "./onboard-helpers-C2-IAGyl.js";
89
- import { t as resolvePairingIdLabel } from "./pairing-labels-Cf9ie2Yo.js";
87
+ import { a as normalizeIMessageHandle, c as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, i as isAllowedIMessageSender, o as parseIMessageTarget, r as formatIMessageChatTarget, s as createIMessageRpcClient, t as sendMessageIMessage } from "./send-H5TFGeHl.js";
88
+ import { r as detectBinary } from "./onboard-helpers-CuawFqeV.js";
89
+ import { t as resolvePairingIdLabel } from "./pairing-labels-UbwdcASX.js";
90
90
  import { i as resolveModelCostConfig, n as formatTokenCount$2, r as formatUsd, t as estimateUsageCost } from "./usage-format-BzKEDn0q.js";
91
91
  import { t as getActiveWebListener } from "./active-listener-CJ5IzmcP.js";
92
92
  import { _ as getTrustedSafeBinDirs, b as buildSafeShellCommand, d as resolveExecApprovals, f as resolveExecApprovalsFromFile, g as resolveSafeBins, h as evaluateShellAllowlist, i as maxAsk, l as recordAllowlistUse, n as addAllowlistEntry, o as minSecurity, u as requiresExecApproval, y as buildSafeBinsShellCommand } from "./exec-approvals-CAr0jd5Q.js";
93
- import { a as canvasSnapshotTempPath, c as parseCameraClipPayload, d as writeCameraClipPayloadToFile, f as writeUrlToFile, g as normalizePathPrepend, h as mergePathPrepend, i as parseEnvPairs, l as parseCameraSnapPayload, m as applyPathPrepend, n as screenRecordTempPath, o as parseCanvasSnapshotPayload, p as buildNodeShellCommand, r as writeScreenRecordToFile, s as cameraTempPath, t as parseScreenRecordPayload, u as writeBase64ToFile } from "./nodes-screen-kFzB7013.js";
93
+ import { a as canvasSnapshotTempPath, c as parseCameraClipPayload, d as writeCameraClipPayloadToFile, f as writeUrlToFile, g as normalizePathPrepend, h as mergePathPrepend, i as parseEnvPairs, l as parseCameraSnapPayload, m as applyPathPrepend, n as screenRecordTempPath, o as parseCanvasSnapshotPayload, p as buildNodeShellCommand, r as writeScreenRecordToFile, s as cameraTempPath, t as parseScreenRecordPayload, u as writeBase64ToFile } from "./nodes-screen-C-rbZoYt.js";
94
94
  import { n as parseNodeList, r as parsePairingList, t as resolveNodeIdFromCandidates } from "./node-match-CN8o4Vi3.js";
95
95
  import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-BiwOFDEK.js";
96
- import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-C7XguOvd.js";
96
+ import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-CPT8eogY.js";
97
97
  import { i as parseAbsoluteTimeMs, r as resolveDefaultCronStaggerMs, t as normalizeCronStaggerMs } from "./stagger-B6VQyn1F.js";
98
98
  import { c as resolveGatewayLaunchAgentLabel, d as resolveGatewaySystemdServiceName } from "./constants-CEbQvI8z.js";
99
- import { n as resolveMessageChannelSelection, t as listConfiguredMessageChannels } from "./channel-selection-NCqPAi5U.js";
99
+ import { n as resolveMessageChannelSelection, t as listConfiguredMessageChannels } from "./channel-selection-B3CpzNsC.js";
100
100
  import { t as parseTimeoutMs } from "./parse-timeout-UOA56UND.js";
101
- import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-BU3gaxu3.js";
101
+ import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-CrKxTriv.js";
102
102
  import { createRequire } from "node:module";
103
103
  import { fileURLToPath } from "node:url";
104
104
  import fs, { existsSync, mkdirSync, mkdtempSync, readFileSync, renameSync, rmSync, statSync, unlinkSync, writeFileSync } from "node:fs";
105
105
  import os, { homedir } from "node:os";
106
106
  import path from "node:path";
107
107
  import JSON5 from "json5";
108
- import fsPromises from "node:fs/promises";
108
+ import fs$1 from "node:fs/promises";
109
109
  import { execFileSync, spawn, spawnSync } from "node:child_process";
110
110
  import { inspect } from "node:util";
111
111
  import crypto, { createHash, createHmac, randomBytes, randomUUID } from "node:crypto";
@@ -2891,7 +2891,7 @@ async function createModelSelectionState(params) {
2891
2891
  }
2892
2892
  }
2893
2893
  if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) {
2894
- const { ensureAuthProfileStore } = await import("./model-selection-C1pdWy7b.js").then((n) => n.dt);
2894
+ const { ensureAuthProfileStore } = await import("./model-selection-0qDmOMXI.js").then((n) => n.dt);
2895
2895
  const profile = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[sessionEntry.authProfileOverride];
2896
2896
  const providerKey = normalizeProviderId(provider);
2897
2897
  if (!profile || normalizeProviderId(profile.provider) !== providerKey) await clearSessionAuthProfileOverride({
@@ -10489,7 +10489,7 @@ async function routeReply(params) {
10489
10489
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
10490
10490
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
10491
10491
  try {
10492
- const { deliverOutboundPayloads } = await import("./deliver-DKhy3kV4.js").then((n) => n.n);
10492
+ const { deliverOutboundPayloads } = await import("./deliver-DPIPJHQH.js").then((n) => n.n);
10493
10493
  return {
10494
10494
  ok: true,
10495
10495
  messageId: (await deliverOutboundPayloads({
@@ -13042,8 +13042,8 @@ async function describeStickerImage(params) {
13042
13042
  const { provider, model } = resolved;
13043
13043
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
13044
13044
  try {
13045
- const buffer = await fsPromises.readFile(imagePath);
13046
- const { describeImageWithModel } = await import("./image-DtVdv4CQ.js").then((n) => n.n);
13045
+ const buffer = await fs$1.readFile(imagePath);
13046
+ const { describeImageWithModel } = await import("./image-DC9YnAwO.js").then((n) => n.n);
13047
13047
  return (await describeImageWithModel({
13048
13048
  buffer,
13049
13049
  fileName: "sticker.webp",
@@ -13466,7 +13466,7 @@ function createWhatsAppLoginTool() {
13466
13466
  force: Type.Optional(Type.Boolean())
13467
13467
  }),
13468
13468
  execute: async (_toolCallId, args) => {
13469
- const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-BOOn03RH.js");
13469
+ const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-L9yhuI9H.js");
13470
13470
  if ((args?.action ?? "start") === "wait") {
13471
13471
  const result = await waitForWebLogin({ timeoutMs: typeof args.timeoutMs === "number" ? args.timeoutMs : void 0 });
13472
13472
  return {
@@ -15682,7 +15682,7 @@ async function preflightDiscordMessage(params) {
15682
15682
  let preflightTranscript;
15683
15683
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
15684
15684
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
15685
- const { transcribeFirstAudio } = await import("./audio-preflight-DRE31Ab_.js");
15685
+ const { transcribeFirstAudio } = await import("./audio-preflight-Djsieqbl.js");
15686
15686
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
15687
15687
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
15688
15688
  ctx: {
@@ -21612,18 +21612,18 @@ function appendImagePathsToPrompt(prompt, paths) {
21612
21612
  return `${trimmed}${trimmed ? "\n\n" : ""}${paths.join("\n")}`;
21613
21613
  }
21614
21614
  async function writeCliImages(images) {
21615
- const tempDir = await fsPromises.mkdtemp(path.join(os.tmpdir(), "openclaw-cli-images-"));
21615
+ const tempDir = await fs$1.mkdtemp(path.join(os.tmpdir(), "openclaw-cli-images-"));
21616
21616
  const paths = [];
21617
21617
  for (let i = 0; i < images.length; i += 1) {
21618
21618
  const image = images[i];
21619
21619
  const ext = resolveImageExtension(image.mimeType);
21620
21620
  const filePath = path.join(tempDir, `image-${i + 1}.${ext}`);
21621
21621
  const buffer = Buffer.from(image.data, "base64");
21622
- await fsPromises.writeFile(filePath, buffer, { mode: 384 });
21622
+ await fs$1.writeFile(filePath, buffer, { mode: 384 });
21623
21623
  paths.push(filePath);
21624
21624
  }
21625
21625
  const cleanup = async () => {
21626
- await fsPromises.rm(tempDir, {
21626
+ await fs$1.rm(tempDir, {
21627
21627
  recursive: true,
21628
21628
  force: true
21629
21629
  });
@@ -22376,27 +22376,27 @@ async function runWithImageModelFallback(params) {
22376
22376
  function createDefaultDeps() {
22377
22377
  return {
22378
22378
  sendMessageWhatsApp: async (...args) => {
22379
- const { sendMessageWhatsApp } = await import("./web-lXypZuaq.js");
22379
+ const { sendMessageWhatsApp } = await import("./web-Cp6O0VTJ.js");
22380
22380
  return await sendMessageWhatsApp(...args);
22381
22381
  },
22382
22382
  sendMessageTelegram: async (...args) => {
22383
- const { sendMessageTelegram } = await import("./send-YdmCYGSj.js").then((n) => n.l);
22383
+ const { sendMessageTelegram } = await import("./send-BGmblGeb.js").then((n) => n.l);
22384
22384
  return await sendMessageTelegram(...args);
22385
22385
  },
22386
22386
  sendMessageDiscord: async (...args) => {
22387
- const { sendMessageDiscord } = await import("./send-BilxFvrd.js").then((n) => n.t);
22387
+ const { sendMessageDiscord } = await import("./send-i695V0Ow.js").then((n) => n.t);
22388
22388
  return await sendMessageDiscord(...args);
22389
22389
  },
22390
22390
  sendMessageSlack: async (...args) => {
22391
- const { sendMessageSlack } = await import("./send-_y-b5SXH.js").then((n) => n.n);
22391
+ const { sendMessageSlack } = await import("./send-DUc9Jw32.js").then((n) => n.n);
22392
22392
  return await sendMessageSlack(...args);
22393
22393
  },
22394
22394
  sendMessageSignal: async (...args) => {
22395
- const { sendMessageSignal } = await import("./send-UJWeL6fz.js").then((n) => n.i);
22395
+ const { sendMessageSignal } = await import("./send-ElgbtTa_.js").then((n) => n.i);
22396
22396
  return await sendMessageSignal(...args);
22397
22397
  },
22398
22398
  sendMessageIMessage: async (...args) => {
22399
- const { sendMessageIMessage } = await import("./send-DAb8zkAc.js").then((n) => n.n);
22399
+ const { sendMessageIMessage } = await import("./send-H5TFGeHl.js").then((n) => n.n);
22400
22400
  return await sendMessageIMessage(...args);
22401
22401
  }
22402
22402
  };
@@ -23586,10 +23586,10 @@ function estimateDurationSeconds(pcm) {
23586
23586
  return pcm.length / (bytesPerSample * SAMPLE_RATE);
23587
23587
  }
23588
23588
  async function writeWavFile(pcm) {
23589
- const tempDir = await fsPromises.mkdtemp(path.join(resolvePreferredOpenClawTmpDir(), "discord-voice-"));
23589
+ const tempDir = await fs$1.mkdtemp(path.join(resolvePreferredOpenClawTmpDir(), "discord-voice-"));
23590
23590
  const filePath = path.join(tempDir, `segment-${randomUUID()}.wav`);
23591
23591
  const wav = buildWavBuffer(pcm);
23592
- await fsPromises.writeFile(filePath, wav);
23592
+ await fs$1.writeFile(filePath, wav);
23593
23593
  scheduleTempCleanup(tempDir);
23594
23594
  return {
23595
23595
  path: filePath,
@@ -23598,7 +23598,7 @@ async function writeWavFile(pcm) {
23598
23598
  }
23599
23599
  function scheduleTempCleanup(tempDir, delayMs = 1800 * 1e3) {
23600
23600
  setTimeout(() => {
23601
- fsPromises.rm(tempDir, {
23601
+ fs$1.rm(tempDir, {
23602
23602
  recursive: true,
23603
23603
  force: true
23604
23604
  }).catch((err) => {
@@ -27337,7 +27337,7 @@ function normalizeAllowList$2(list) {
27337
27337
  async function detectRemoteHostFromCliPath(cliPath) {
27338
27338
  try {
27339
27339
  const expanded = cliPath.startsWith("~") ? cliPath.replace(/^~/, process.env.HOME ?? "") : cliPath;
27340
- const content = await fsPromises.readFile(expanded, "utf8");
27340
+ const content = await fs$1.readFile(expanded, "utf8");
27341
27341
  const userHostMatch = content.match(/\bssh\b[^\n]*?\s+([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+)/);
27342
27342
  if (userHostMatch) return userHostMatch[1];
27343
27343
  return content.match(/\bssh\b[^\n]*?\s+([a-zA-Z][a-zA-Z0-9._-]*)\s+\S*\bimsg\b/)?.[1];
@@ -32287,7 +32287,7 @@ function resolveSlackThreadTargets(params) {
32287
32287
  const replyThreadTs = isThreadReply ? incomingThreadTs : params.replyToMode === "all" ? messageTs : void 0;
32288
32288
  return {
32289
32289
  replyThreadTs,
32290
- statusThreadTs: replyThreadTs,
32290
+ statusThreadTs: replyThreadTs ?? messageTs,
32291
32291
  isThreadReply
32292
32292
  };
32293
32293
  }
@@ -33650,7 +33650,7 @@ function readSlackExternalArgMenuToken(raw) {
33650
33650
  }
33651
33651
  let commandsRegistry;
33652
33652
  async function getCommandsRegistry() {
33653
- if (!commandsRegistry) commandsRegistry = await import("./commands-registry-DVVMuhaG.js").then((n) => n.n);
33653
+ if (!commandsRegistry) commandsRegistry = await import("./commands-registry-C6MwKIm9.js").then((n) => n.n);
33654
33654
  return commandsRegistry;
33655
33655
  }
33656
33656
  function encodeSlackCommandArgValue(parts) {
@@ -33992,11 +33992,11 @@ async function registerSlackMonitorSlashCommands(params) {
33992
33992
  const channelName = channelInfo?.name;
33993
33993
  const roomLabel = channelName ? `#${channelName}` : `#${command.channel_id}`;
33994
33994
  const [{ resolveAgentRoute }, { finalizeInboundContext }, { dispatchReplyWithDispatcher }] = await Promise.all([
33995
- import("./resolve-route-C5pUt_LC.js").then((n) => n.r),
33995
+ import("./resolve-route-DuqgZ7wS.js").then((n) => n.r),
33996
33996
  import("./inbound-context-CmmmT8IP.js").then((n) => n.n),
33997
33997
  Promise.resolve().then(() => provider_dispatcher_exports)
33998
33998
  ]);
33999
- const [{ resolveConversationLabel }, { createReplyPrefixOptions }] = await Promise.all([import("./conversation-label-Bn5j3lUT.js").then((n) => n.t), import("./reply-prefix-CJc9NzGX.js").then((n) => n.n)]);
33999
+ const [{ resolveConversationLabel }, { createReplyPrefixOptions }] = await Promise.all([import("./conversation-label-Bn5j3lUT.js").then((n) => n.t), import("./reply-prefix-CbuTBmdm.js").then((n) => n.n)]);
34000
34000
  const route = resolveAgentRoute({
34001
34001
  cfg,
34002
34002
  channel: "slack",
@@ -34053,9 +34053,9 @@ async function registerSlackMonitorSlashCommands(params) {
34053
34053
  });
34054
34054
  const deliverSlashPayloads = async (replies) => {
34055
34055
  const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
34056
- import("./replies-BVBgaEtE.js").then((n) => n.r),
34056
+ import("./replies-BdkHHO5V.js").then((n) => n.r),
34057
34057
  import("./chunk-ZFvwZqoJ.js").then((n) => n.s),
34058
- import("./markdown-tables-MNYCbYg1.js").then((n) => n.t)
34058
+ import("./markdown-tables-CXWxrKp3.js").then((n) => n.t)
34059
34059
  ]);
34060
34060
  await deliverSlackSlashReplies({
34061
34061
  replies,
@@ -34108,7 +34108,7 @@ async function registerSlackMonitorSlashCommands(params) {
34108
34108
  let nativeCommands = [];
34109
34109
  if (nativeEnabled) {
34110
34110
  reg = await getCommandsRegistry();
34111
- const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-27Clp6Hw.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
34111
+ const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-VCmL7mMC.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
34112
34112
  nativeCommands = reg.listNativeCommandSpecsForConfig(cfg, {
34113
34113
  skillCommands,
34114
34114
  provider: "slack"
@@ -38991,7 +38991,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
38991
38991
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
38992
38992
  let preflightTranscript;
38993
38993
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
38994
- const { transcribeFirstAudio } = await import("./audio-preflight-DRE31Ab_.js");
38994
+ const { transcribeFirstAudio } = await import("./audio-preflight-Djsieqbl.js");
38995
38995
  preflightTranscript = await transcribeFirstAudio({
38996
38996
  ctx: {
38997
38997
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -40759,7 +40759,7 @@ function safeParseState(raw) {
40759
40759
  async function readTelegramUpdateOffset(params) {
40760
40760
  const filePath = resolveTelegramUpdateOffsetPath(params.accountId, params.env);
40761
40761
  try {
40762
- return safeParseState(await fsPromises.readFile(filePath, "utf-8"))?.lastUpdateId ?? null;
40762
+ return safeParseState(await fs$1.readFile(filePath, "utf-8"))?.lastUpdateId ?? null;
40763
40763
  } catch (err) {
40764
40764
  if (err.code === "ENOENT") return null;
40765
40765
  return null;
@@ -40768,7 +40768,7 @@ async function readTelegramUpdateOffset(params) {
40768
40768
  async function writeTelegramUpdateOffset(params) {
40769
40769
  const filePath = resolveTelegramUpdateOffsetPath(params.accountId, params.env);
40770
40770
  const dir = path.dirname(filePath);
40771
- await fsPromises.mkdir(dir, {
40771
+ await fs$1.mkdir(dir, {
40772
40772
  recursive: true,
40773
40773
  mode: 448
40774
40774
  });
@@ -40777,14 +40777,14 @@ async function writeTelegramUpdateOffset(params) {
40777
40777
  version: STORE_VERSION,
40778
40778
  lastUpdateId: params.updateId
40779
40779
  };
40780
- await fsPromises.writeFile(tmp, `${JSON.stringify(payload, null, 2)}\n`, { encoding: "utf-8" });
40781
- await fsPromises.chmod(tmp, 384);
40782
- await fsPromises.rename(tmp, filePath);
40780
+ await fs$1.writeFile(tmp, `${JSON.stringify(payload, null, 2)}\n`, { encoding: "utf-8" });
40781
+ await fs$1.chmod(tmp, 384);
40782
+ await fs$1.rename(tmp, filePath);
40783
40783
  }
40784
40784
  async function deleteTelegramUpdateOffset(params) {
40785
40785
  const filePath = resolveTelegramUpdateOffsetPath(params.accountId, params.env);
40786
40786
  try {
40787
- await fsPromises.unlink(filePath);
40787
+ await fs$1.unlink(filePath);
40788
40788
  } catch (err) {
40789
40789
  if (err.code === "ENOENT") return;
40790
40790
  throw err;
@@ -41145,23 +41145,23 @@ let webLoginQrPromise = null;
41145
41145
  let webChannelPromise = null;
41146
41146
  let whatsappActionsPromise = null;
41147
41147
  function loadWebOutbound() {
41148
- webOutboundPromise ??= import("./outbound-DPGxP4j6.js").then((n) => n.t);
41148
+ webOutboundPromise ??= import("./outbound-BiC9-qyo.js").then((n) => n.t);
41149
41149
  return webOutboundPromise;
41150
41150
  }
41151
41151
  function loadWebLogin() {
41152
- webLoginPromise ??= import("./login-BThY9qqp.js").then((n) => n.n);
41152
+ webLoginPromise ??= import("./login-Bz2k49Y4.js").then((n) => n.n);
41153
41153
  return webLoginPromise;
41154
41154
  }
41155
41155
  function loadWebLoginQr() {
41156
- webLoginQrPromise ??= import("./login-qr-BOOn03RH.js");
41156
+ webLoginQrPromise ??= import("./login-qr-L9yhuI9H.js");
41157
41157
  return webLoginQrPromise;
41158
41158
  }
41159
41159
  function loadWebChannel() {
41160
- webChannelPromise ??= import("./web-lXypZuaq.js");
41160
+ webChannelPromise ??= import("./web-Cp6O0VTJ.js");
41161
41161
  return webChannelPromise;
41162
41162
  }
41163
41163
  function loadWhatsAppActions() {
41164
- whatsappActionsPromise ??= import("./whatsapp-actions-lSqVUZ_h.js");
41164
+ whatsappActionsPromise ??= import("./whatsapp-actions-Dsvkb9dr.js");
41165
41165
  return whatsappActionsPromise;
41166
41166
  }
41167
41167
  function createPluginRuntime() {
@@ -41953,7 +41953,7 @@ function resolvePluginTools(params) {
41953
41953
  //#endregion
41954
41954
  //#region src/agents/apply-patch-update.ts
41955
41955
  async function defaultReadFile(filePath) {
41956
- return fsPromises.readFile(filePath, "utf8");
41956
+ return fs$1.readFile(filePath, "utf8");
41957
41957
  }
41958
41958
  async function applyUpdateHunk(filePath, chunks, options) {
41959
41959
  const originalLines = (await (options?.readFile ?? defaultReadFile)(filePath).catch((err) => {
@@ -42197,10 +42197,10 @@ function resolvePatchFileOps(options) {
42197
42197
  };
42198
42198
  }
42199
42199
  return {
42200
- readFile: (filePath) => fsPromises.readFile(filePath, "utf8"),
42201
- writeFile: (filePath, content) => fsPromises.writeFile(filePath, content, "utf8"),
42202
- remove: (filePath) => fsPromises.rm(filePath),
42203
- mkdirp: (dir) => fsPromises.mkdir(dir, { recursive: true }).then(() => {})
42200
+ readFile: (filePath) => fs$1.readFile(filePath, "utf8"),
42201
+ writeFile: (filePath, content) => fs$1.writeFile(filePath, content, "utf8"),
42202
+ remove: (filePath) => fs$1.rm(filePath),
42203
+ mkdirp: (dir) => fs$1.mkdir(dir, { recursive: true }).then(() => {})
42204
42204
  };
42205
42205
  }
42206
42206
  async function ensureDir(filePath, ops) {
@@ -42921,7 +42921,7 @@ async function resolveSandboxWorkdir(params) {
42921
42921
  cwd: process.cwd(),
42922
42922
  root: params.sandbox.workspaceDir
42923
42923
  });
42924
- if (!(await fsPromises.stat(resolved.resolved)).isDirectory()) throw new Error("workdir is not a directory");
42924
+ if (!(await fs$1.stat(resolved.resolved)).isDirectory()) throw new Error("workdir is not a directory");
42925
42925
  const relative = resolved.relative ? resolved.relative.split(path.sep).join(path.posix.sep) : "";
42926
42926
  const containerWorkdir = relative ? path.posix.join(params.sandbox.containerWorkdir, relative) : params.sandbox.containerWorkdir;
42927
42927
  return {
@@ -43902,13 +43902,13 @@ async function validateScriptFileForShellBleed(params) {
43902
43902
  cwd: params.workdir,
43903
43903
  root: params.workdir
43904
43904
  });
43905
- stat = await fsPromises.stat(absPath);
43905
+ stat = await fs$1.stat(absPath);
43906
43906
  } catch {
43907
43907
  return;
43908
43908
  }
43909
43909
  if (!stat.isFile()) return;
43910
43910
  if (stat.size > 512 * 1024) return;
43911
- const content = await fsPromises.readFile(absPath, "utf-8");
43911
+ const content = await fs$1.readFile(absPath, "utf-8");
43912
43912
  const first = /\$[A-Z_][A-Z0-9_]{1,}/g.exec(content);
43913
43913
  if (first) {
43914
43914
  const idx = first.index;
@@ -46104,7 +46104,7 @@ async function readJsonlFromPath(jsonlPath) {
46104
46104
  if (shouldLogVerbose()) logVerbose(`Blocked canvas jsonlPath outside allowed roots: ${resolved}`);
46105
46105
  throw new Error("jsonlPath outside allowed roots");
46106
46106
  }
46107
- const canonical = await fsPromises.realpath(resolved).catch(() => resolved);
46107
+ const canonical = await fs$1.realpath(resolved).catch(() => resolved);
46108
46108
  if (!isInboundPathAllowed({
46109
46109
  filePath: canonical,
46110
46110
  roots
@@ -46112,7 +46112,7 @@ async function readJsonlFromPath(jsonlPath) {
46112
46112
  if (shouldLogVerbose()) logVerbose(`Blocked canvas jsonlPath outside allowed roots: ${canonical}`);
46113
46113
  throw new Error("jsonlPath outside allowed roots");
46114
46114
  }
46115
- return await fsPromises.readFile(canonical, "utf8");
46115
+ return await fs$1.readFile(canonical, "utf8");
46116
46116
  }
46117
46117
  const CanvasToolSchema = Type.Object({
46118
46118
  action: stringEnum(CANVAS_ACTIONS),
@@ -46892,27 +46892,27 @@ function resolveRestartSentinelPath(env = process.env) {
46892
46892
  }
46893
46893
  async function writeRestartSentinel(payload, env = process.env) {
46894
46894
  const filePath = resolveRestartSentinelPath(env);
46895
- await fsPromises.mkdir(path.dirname(filePath), { recursive: true });
46895
+ await fs$1.mkdir(path.dirname(filePath), { recursive: true });
46896
46896
  const data = {
46897
46897
  version: 1,
46898
46898
  payload
46899
46899
  };
46900
- await fsPromises.writeFile(filePath, `${JSON.stringify(data, null, 2)}\n`, "utf-8");
46900
+ await fs$1.writeFile(filePath, `${JSON.stringify(data, null, 2)}\n`, "utf-8");
46901
46901
  return filePath;
46902
46902
  }
46903
46903
  async function readRestartSentinel(env = process.env) {
46904
46904
  const filePath = resolveRestartSentinelPath(env);
46905
46905
  try {
46906
- const raw = await fsPromises.readFile(filePath, "utf-8");
46906
+ const raw = await fs$1.readFile(filePath, "utf-8");
46907
46907
  let parsed;
46908
46908
  try {
46909
46909
  parsed = JSON.parse(raw);
46910
46910
  } catch {
46911
- await fsPromises.unlink(filePath).catch(() => {});
46911
+ await fs$1.unlink(filePath).catch(() => {});
46912
46912
  return null;
46913
46913
  }
46914
46914
  if (!parsed || parsed.version !== 1 || !parsed.payload) {
46915
- await fsPromises.unlink(filePath).catch(() => {});
46915
+ await fs$1.unlink(filePath).catch(() => {});
46916
46916
  return null;
46917
46917
  }
46918
46918
  return parsed;
@@ -46924,7 +46924,7 @@ async function consumeRestartSentinel(env = process.env) {
46924
46924
  const filePath = resolveRestartSentinelPath(env);
46925
46925
  const parsed = await readRestartSentinel(env);
46926
46926
  if (!parsed) return null;
46927
- await fsPromises.unlink(filePath).catch(() => {});
46927
+ await fs$1.unlink(filePath).catch(() => {});
46928
46928
  return parsed;
46929
46929
  }
46930
46930
  function formatRestartSentinelMessage(payload) {
@@ -48031,7 +48031,7 @@ async function hydrateAttachmentPayload(params) {
48031
48031
  accountId: params.accountId
48032
48032
  }),
48033
48033
  sandboxValidated: true,
48034
- readFile: (filePath) => fsPromises.readFile(filePath)
48034
+ readFile: (filePath) => fs$1.readFile(filePath)
48035
48035
  });
48036
48036
  params.args.buffer = media.buffer.toString("base64");
48037
48037
  if (!contentTypeParam && media.contentType) params.args.contentType = media.contentType;
@@ -56347,7 +56347,7 @@ async function repairSessionFileIfNeeded(params) {
56347
56347
  };
56348
56348
  let content;
56349
56349
  try {
56350
- content = await fsPromises.readFile(sessionFile, "utf-8");
56350
+ content = await fs$1.readFile(sessionFile, "utf-8");
56351
56351
  } catch (err) {
56352
56352
  if (err?.code === "ENOENT") return {
56353
56353
  repaired: false,
@@ -56395,15 +56395,15 @@ async function repairSessionFileIfNeeded(params) {
56395
56395
  const backupPath = `${sessionFile}.bak-${process.pid}-${Date.now()}`;
56396
56396
  const tmpPath = `${sessionFile}.repair-${process.pid}-${Date.now()}.tmp`;
56397
56397
  try {
56398
- const stat = await fsPromises.stat(sessionFile).catch(() => null);
56399
- await fsPromises.writeFile(backupPath, content, "utf-8");
56400
- if (stat) await fsPromises.chmod(backupPath, stat.mode);
56401
- await fsPromises.writeFile(tmpPath, cleaned, "utf-8");
56402
- if (stat) await fsPromises.chmod(tmpPath, stat.mode);
56403
- await fsPromises.rename(tmpPath, sessionFile);
56398
+ const stat = await fs$1.stat(sessionFile).catch(() => null);
56399
+ await fs$1.writeFile(backupPath, content, "utf-8");
56400
+ if (stat) await fs$1.chmod(backupPath, stat.mode);
56401
+ await fs$1.writeFile(tmpPath, cleaned, "utf-8");
56402
+ if (stat) await fs$1.chmod(tmpPath, stat.mode);
56403
+ await fs$1.rename(tmpPath, sessionFile);
56404
56404
  } catch (err) {
56405
56405
  try {
56406
- await fsPromises.unlink(tmpPath);
56406
+ await fs$1.unlink(tmpPath);
56407
56407
  } catch (cleanupErr) {
56408
56408
  params.warn?.(`session file repair cleanup failed: ${cleanupErr instanceof Error ? cleanupErr.message : "unknown error"} (${path.basename(tmpPath)})`);
56409
56409
  }
@@ -58503,7 +58503,7 @@ async function prewarmSessionFile(sessionFile) {
58503
58503
  if (!isSessionManagerCacheEnabled()) return;
58504
58504
  if (isSessionManagerCached(sessionFile)) return;
58505
58505
  try {
58506
- const handle = await fsPromises.open(sessionFile, "r");
58506
+ const handle = await fs$1.open(sessionFile, "r");
58507
58507
  try {
58508
58508
  const buffer = Buffer$1.alloc(4096);
58509
58509
  await handle.read(buffer, 0, buffer.length, 0);
@@ -58827,7 +58827,7 @@ async function compactEmbeddedPiSessionDirect(params) {
58827
58827
  } catch (err) {
58828
58828
  return fail(describeUnknownError(err));
58829
58829
  }
58830
- await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
58830
+ await fs$1.mkdir(resolvedWorkspace, { recursive: true });
58831
58831
  const sandboxSessionKey = params.sessionKey?.trim() || params.sessionId;
58832
58832
  const sandbox = await resolveSandboxContext({
58833
58833
  config: params.config,
@@ -58835,7 +58835,7 @@ async function compactEmbeddedPiSessionDirect(params) {
58835
58835
  workspaceDir: resolvedWorkspace
58836
58836
  });
58837
58837
  const effectiveWorkspace = sandbox?.enabled ? sandbox.workspaceAccess === "rw" ? resolvedWorkspace : sandbox.workspaceDir : resolvedWorkspace;
58838
- await fsPromises.mkdir(effectiveWorkspace, { recursive: true });
58838
+ await fs$1.mkdir(effectiveWorkspace, { recursive: true });
58839
58839
  await ensureSessionHeader({
58840
58840
  sessionFile: params.sessionFile,
58841
58841
  sessionId: params.sessionId,
@@ -59399,12 +59399,12 @@ function getQueuedFileWriter(writers, filePath) {
59399
59399
  const existing = writers.get(filePath);
59400
59400
  if (existing) return existing;
59401
59401
  const dir = path.dirname(filePath);
59402
- const ready = fsPromises.mkdir(dir, { recursive: true }).catch(() => void 0);
59402
+ const ready = fs$1.mkdir(dir, { recursive: true }).catch(() => void 0);
59403
59403
  let queue = Promise.resolve();
59404
59404
  const writer = {
59405
59405
  filePath,
59406
59406
  write: (line) => {
59407
- queue = queue.then(() => ready).then(() => fsPromises.appendFile(filePath, line, "utf8")).catch(() => void 0);
59407
+ queue = queue.then(() => ready).then(() => fs$1.appendFile(filePath, line, "utf8")).catch(() => void 0);
59408
59408
  }
59409
59409
  };
59410
59410
  writers.set(filePath, writer);
@@ -61624,7 +61624,7 @@ async function prepareSessionManagerForRun(params) {
61624
61624
  return;
61625
61625
  }
61626
61626
  if (params.hadSessionFile && header && !hasAssistant) {
61627
- await fsPromises.writeFile(params.sessionFile, "", "utf-8");
61627
+ await fs$1.writeFile(params.sessionFile, "", "utf-8");
61628
61628
  sm.fileEntries = [header];
61629
61629
  sm.byId?.clear?.();
61630
61630
  sm.labelsById?.clear?.();
@@ -62182,7 +62182,7 @@ async function runEmbeddedAttempt(params) {
62182
62182
  const prevCwd = process.cwd();
62183
62183
  const runAbortController = new AbortController();
62184
62184
  log$2.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"}`);
62185
- await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
62185
+ await fs$1.mkdir(resolvedWorkspace, { recursive: true });
62186
62186
  const sandboxSessionKey = params.sessionKey?.trim() || params.sessionId;
62187
62187
  const sandbox = await resolveSandboxContext({
62188
62188
  config: params.config,
@@ -62190,7 +62190,7 @@ async function runEmbeddedAttempt(params) {
62190
62190
  workspaceDir: resolvedWorkspace
62191
62191
  });
62192
62192
  const effectiveWorkspace = sandbox?.enabled ? sandbox.workspaceAccess === "rw" ? resolvedWorkspace : sandbox.workspaceDir : resolvedWorkspace;
62193
- await fsPromises.mkdir(effectiveWorkspace, { recursive: true });
62193
+ await fs$1.mkdir(effectiveWorkspace, { recursive: true });
62194
62194
  let restoreSkillEnv;
62195
62195
  process.chdir(effectiveWorkspace);
62196
62196
  try {
@@ -62417,7 +62417,7 @@ async function runEmbeddedAttempt(params) {
62417
62417
  sessionFile: params.sessionFile,
62418
62418
  warn: (message) => log$2.warn(message)
62419
62419
  });
62420
- const hadSessionFile = await fsPromises.stat(params.sessionFile).then(() => true).catch(() => false);
62420
+ const hadSessionFile = await fs$1.stat(params.sessionFile).then(() => true).catch(() => false);
62421
62421
  const transcriptPolicy = resolveTranscriptPolicy({
62422
62422
  modelApi: params.model?.api,
62423
62423
  provider: params.provider,
@@ -63351,7 +63351,7 @@ async function runEmbeddedPiAgent(params) {
63351
63351
  }
63352
63352
  runLoopIterations += 1;
63353
63353
  attemptedThinking.add(thinkLevel);
63354
- await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
63354
+ await fs$1.mkdir(resolvedWorkspace, { recursive: true });
63355
63355
  const prompt = provider === "anthropic" ? scrubAnthropicRefusalMagic(params.prompt) : params.prompt;
63356
63356
  const attempt = await runEmbeddedAttempt({
63357
63357
  sessionId: params.sessionId,
@@ -67582,7 +67582,7 @@ async function handleCommands(params) {
67582
67582
  try {
67583
67583
  const messages = [];
67584
67584
  if (sessionFile) {
67585
- const content = await fsPromises.readFile(sessionFile, "utf-8");
67585
+ const content = await fs$1.readFile(sessionFile, "utf-8");
67586
67586
  for (const line of content.split("\n")) {
67587
67587
  if (!line.trim()) continue;
67588
67588
  try {
@@ -71222,7 +71222,7 @@ async function deliverSessionMaintenanceWarning(params) {
71222
71222
  return;
71223
71223
  }
71224
71224
  try {
71225
- const { deliverOutboundPayloads } = await import("./deliver-DKhy3kV4.js").then((n) => n.n);
71225
+ const { deliverOutboundPayloads } = await import("./deliver-DPIPJHQH.js").then((n) => n.n);
71226
71226
  await deliverOutboundPayloads({
71227
71227
  cfg: params.cfg,
71228
71228
  channel,
@@ -71597,7 +71597,7 @@ async function stageSandboxMedia(params) {
71597
71597
  };
71598
71598
  try {
71599
71599
  const destDir = sandbox ? path.join(effectiveWorkspaceDir, "media", "inbound") : effectiveWorkspaceDir;
71600
- await fsPromises.mkdir(destDir, { recursive: true });
71600
+ await fs$1.mkdir(destDir, { recursive: true });
71601
71601
  const remoteAttachmentRoots = resolveIMessageRemoteAttachmentRoots({
71602
71602
  cfg,
71603
71603
  accountId: ctx.AccountId
@@ -71647,7 +71647,7 @@ async function stageSandboxMedia(params) {
71647
71647
  usedNames.add(fileName);
71648
71648
  const dest = path.join(destDir, fileName);
71649
71649
  if (ctx.MediaRemoteHost) await scpFile(ctx.MediaRemoteHost, source, dest);
71650
- else await fsPromises.copyFile(source, dest);
71650
+ else await fs$1.copyFile(source, dest);
71651
71651
  const stagedPath = sandbox ? path.posix.join("media", "inbound", fileName) : dest;
71652
71652
  staged.set(source, stagedPath);
71653
71653
  }