@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
@@ -2,13 +2,13 @@ import { y as resolveRequiredHomeDir } from "./paths-B4BZAPZh.js";
2
2
  import { m as normalizeE164 } from "./utils-BlC2Fskb.js";
3
3
  import { c as normalizeMainKey, g as normalizeOptionalAccountId, r as buildAgentMainSessionKey, s as normalizeAgentId, t as DEFAULT_AGENT_ID } from "./session-key-DCt45XZa.js";
4
4
  import { t as createSubsystemLogger } from "./subsystem-Cu1fn6xi.js";
5
- import { Lt as resolveProcessScopedMap, Rt as isPidAlive } from "./model-selection-C1pdWy7b.js";
5
+ import { Lt as resolveProcessScopedMap, Rt as isPidAlive } from "./model-selection-0qDmOMXI.js";
6
6
  import { c as listDeliverableMessageChannels, l as normalizeMessageChannel } from "./message-channel-DzkrSzpL.js";
7
- import { C as parseDurationMs, f as parseByteSize, i as loadConfig } from "./config-JupjCURB.js";
7
+ import { C as parseDurationMs, f as parseByteSize, i as loadConfig } from "./config-CkqfHk27.js";
8
8
  import { t as normalizeChatType } from "./chat-type-DyovJwCt.js";
9
9
  import { n as resolveConversationLabel } from "./conversation-label-Bn5j3lUT.js";
10
- import { c as normalizeHyphenSlug, t as getChannelDock } from "./dock-CX_o0bdi.js";
11
- import { r as normalizeChannelId } from "./plugins-BYw4LpqC.js";
10
+ import { c as normalizeHyphenSlug, t as getChannelDock } from "./dock-B1xpMkYP.js";
11
+ import { r as normalizeChannelId } from "./plugins-DufH79A4.js";
12
12
  import { a as resolveSessionTranscriptPathInDir, c as resolveStorePath, i as resolveSessionTranscriptPath, n as resolveSessionFilePath, t as resolveDefaultSessionStorePath } from "./paths-C6eomcf_.js";
13
13
  import { r as hasInterSessionUserProvenance } from "./input-provenance-BzbXHcaD.js";
14
14
  import { n as extractToolCallNames, r as hasToolCall } from "./transcript-tools-INJPQ2KD.js";
@@ -16,7 +16,7 @@ import { t as emitSessionTranscriptUpdate } from "./transcript-events-DdnTeoR1.j
16
16
  import fs from "node:fs";
17
17
  import os from "node:os";
18
18
  import path from "node:path";
19
- import fsPromises from "node:fs/promises";
19
+ import fs$1 from "node:fs/promises";
20
20
  import crypto from "node:crypto";
21
21
  import { CURRENT_SESSION_VERSION, SessionManager } from "@mariozechner/pi-coding-agent";
22
22
 
@@ -82,7 +82,7 @@ async function releaseHeldLock(normalizedSessionFile, held, opts = {}) {
82
82
  await held.handle.close();
83
83
  } catch {}
84
84
  try {
85
- await fsPromises.rm(held.lockPath, { force: true });
85
+ await fs$1.rm(held.lockPath, { force: true });
86
86
  } catch {}
87
87
  })();
88
88
  try {
@@ -161,7 +161,7 @@ function registerCleanupHandlers() {
161
161
  }
162
162
  async function readLockPayload(lockPath) {
163
163
  try {
164
- const raw = await fsPromises.readFile(lockPath, "utf8");
164
+ const raw = await fs$1.readFile(lockPath, "utf8");
165
165
  const parsed = JSON.parse(raw);
166
166
  const payload = {};
167
167
  if (typeof parsed.pid === "number") payload.pid = parsed.pid;
@@ -198,7 +198,7 @@ async function cleanStaleLockFiles(params) {
198
198
  const nowMs = params.nowMs ?? Date.now();
199
199
  let entries = [];
200
200
  try {
201
- entries = await fsPromises.readdir(sessionsDir, { withFileTypes: true });
201
+ entries = await fs$1.readdir(sessionsDir, { withFileTypes: true });
202
202
  } catch (err) {
203
203
  if (err.code === "ENOENT") return {
204
204
  locks: [],
@@ -217,7 +217,7 @@ async function cleanStaleLockFiles(params) {
217
217
  removed: false
218
218
  };
219
219
  if (lockInfo.stale && removeStale) {
220
- await fsPromises.rm(lockPath, { force: true });
220
+ await fs$1.rm(lockPath, { force: true });
221
221
  lockInfo.removed = true;
222
222
  cleaned.push(lockInfo);
223
223
  params.log?.warn?.(`removed stale session lock: ${lockPath} (${lockInfo.staleReasons.join(", ") || "unknown"})`);
@@ -236,10 +236,10 @@ async function acquireSessionWriteLock(params) {
236
236
  const maxHoldMs = resolvePositiveMs(params.maxHoldMs, DEFAULT_MAX_HOLD_MS);
237
237
  const sessionFile = path.resolve(params.sessionFile);
238
238
  const sessionDir = path.dirname(sessionFile);
239
- await fsPromises.mkdir(sessionDir, { recursive: true });
239
+ await fs$1.mkdir(sessionDir, { recursive: true });
240
240
  let normalizedDir = sessionDir;
241
241
  try {
242
- normalizedDir = await fsPromises.realpath(sessionDir);
242
+ normalizedDir = await fs$1.realpath(sessionDir);
243
243
  } catch {}
244
244
  const normalizedSessionFile = path.join(normalizedDir, path.basename(sessionFile));
245
245
  const lockPath = `${normalizedSessionFile}.lock`;
@@ -256,7 +256,7 @@ async function acquireSessionWriteLock(params) {
256
256
  while (Date.now() - startedAt < timeoutMs) {
257
257
  attempt += 1;
258
258
  try {
259
- const handle = await fsPromises.open(lockPath, "wx");
259
+ const handle = await fs$1.open(lockPath, "wx");
260
260
  const createdAt = (/* @__PURE__ */ new Date()).toISOString();
261
261
  await handle.writeFile(JSON.stringify({
262
262
  pid: process.pid,
@@ -276,7 +276,7 @@ async function acquireSessionWriteLock(params) {
276
276
  } catch (err) {
277
277
  if (err.code !== "EEXIST") throw err;
278
278
  if (inspectLockPayload(await readLockPayload(lockPath), staleMs, Date.now()).stale) {
279
- await fsPromises.rm(lockPath, { force: true });
279
+ await fs$1.rm(lockPath, { force: true });
280
280
  continue;
281
281
  }
282
282
  const delay = Math.min(1e3, 50 * attempt);
@@ -1,7 +1,7 @@
1
1
  import { f as defaultRuntime } from "./subsystem-Cu1fn6xi.js";
2
2
  import { t as formatCliCommand } from "./command-format-DEKzLnLg.js";
3
3
  import { c as resolveGatewayLaunchAgentLabel, d as resolveGatewaySystemdServiceName, f as resolveGatewayWindowsTaskName } from "./constants-CEbQvI8z.js";
4
- import { t as resolveGatewayService } from "./service-Bs5m4_g0.js";
4
+ import { t as resolveGatewayService } from "./service-x8sNoic1.js";
5
5
 
6
6
  //#region src/cli/gateway-cli/shared.ts
7
7
  const toOptionString = (value) => {
@@ -1,8 +1,8 @@
1
1
  import { s as normalizeAgentId } from "./session-key-DCt45XZa.js";
2
- import { n as listAgentIds } from "./agent-scope-B6jLdNuI.js";
3
- import { Kt as DEFAULT_PROVIDER, g as resolveModelRefFromString, r as buildModelAliasIndex, s as modelKey } from "./model-selection-C1pdWy7b.js";
2
+ import { n as listAgentIds } from "./agent-scope-BGlpyppa.js";
3
+ import { Kt as DEFAULT_PROVIDER, g as resolveModelRefFromString, r as buildModelAliasIndex, s as modelKey } from "./model-selection-0qDmOMXI.js";
4
4
  import { t as formatCliCommand } from "./command-format-DEKzLnLg.js";
5
- import { l as writeConfigFile, o as readConfigFileSnapshot } from "./config-JupjCURB.js";
5
+ import { l as writeConfigFile, o as readConfigFileSnapshot } from "./config-CkqfHk27.js";
6
6
 
7
7
  //#region src/commands/models/shared.ts
8
8
  const ensureFlagCompatibility = (opts) => {
@@ -1,11 +1,11 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { t as CONFIG_DIR, y as resolveUserPath } from "./utils-BlC2Fskb.js";
3
3
  import { t as createSubsystemLogger } from "./subsystem-Cu1fn6xi.js";
4
- import { c as resolveAgentWorkspaceDir, n as listAgentIds } from "./agent-scope-B6jLdNuI.js";
5
- import { i as loadWorkspaceSkillEntries, n as buildWorkspaceSkillCommandSpecs, s as resolvePluginSkillDirs } from "./skills-DO1RiQMB.js";
6
- import { i as listChatCommands } from "./commands-registry-DVVMuhaG.js";
7
- import { a as upsertPendingPairingRequest, c as writeJsonAtomic, i as resolvePairingPaths, n as verifyPairingToken, o as createAsyncLock, r as pruneExpiredPending, s as readJsonFile, t as generatePairingToken } from "./pairing-token-DAVfcYo5.js";
8
- import { t as listAgentWorkspaceDirs } from "./workspace-dirs-CuYuE5F1.js";
4
+ import { c as resolveAgentWorkspaceDir, n as listAgentIds } from "./agent-scope-BGlpyppa.js";
5
+ import { i as loadWorkspaceSkillEntries, n as buildWorkspaceSkillCommandSpecs, s as resolvePluginSkillDirs } from "./skills-DhT6my9R.js";
6
+ import { i as listChatCommands } from "./commands-registry-C6MwKIm9.js";
7
+ import { a as upsertPendingPairingRequest, c as writeJsonAtomic, i as resolvePairingPaths, n as verifyPairingToken, o as createAsyncLock, r as pruneExpiredPending, s as readJsonFile, t as generatePairingToken } from "./pairing-token-DGufCZxz.js";
8
+ import { t as listAgentWorkspaceDirs } from "./workspace-dirs-DbX5fBAC.js";
9
9
  import fs from "node:fs";
10
10
  import os from "node:os";
11
11
  import path from "node:path";
@@ -1,7 +1,7 @@
1
1
  import { i as isPathInside } from "./legacy-names-u6U1_9U0.js";
2
2
  import { i as hasErrnoCode } from "./errors-BF3TeRH2.js";
3
3
  import path from "node:path";
4
- import fsPromises from "node:fs/promises";
4
+ import fs from "node:fs/promises";
5
5
 
6
6
  //#region src/security/skill-scanner.ts
7
7
  const SCANNABLE_EXTENSIONS = new Set([
@@ -154,7 +154,7 @@ async function walkDirWithLimit(dirPath, maxFiles) {
154
154
  while (stack.length > 0 && files.length < maxFiles) {
155
155
  const currentDir = stack.pop();
156
156
  if (!currentDir) break;
157
- const entries = await fsPromises.readdir(currentDir, { withFileTypes: true });
157
+ const entries = await fs.readdir(currentDir, { withFileTypes: true });
158
158
  for (const entry of entries) {
159
159
  if (files.length >= maxFiles) break;
160
160
  if (entry.name.startsWith(".") || entry.name === "node_modules") continue;
@@ -176,7 +176,7 @@ async function resolveForcedFiles(params) {
176
176
  if (seen.has(includePath)) continue;
177
177
  let st = null;
178
178
  try {
179
- st = await fsPromises.stat(includePath);
179
+ st = await fs.stat(includePath);
180
180
  } catch (err) {
181
181
  if (hasErrnoCode(err, "ENOENT")) continue;
182
182
  throw err;
@@ -208,14 +208,14 @@ async function collectScannableFiles(dirPath, opts) {
208
208
  async function readScannableSource(filePath, maxFileBytes) {
209
209
  let st = null;
210
210
  try {
211
- st = await fsPromises.stat(filePath);
211
+ st = await fs.stat(filePath);
212
212
  } catch (err) {
213
213
  if (hasErrnoCode(err, "ENOENT")) return null;
214
214
  throw err;
215
215
  }
216
216
  if (!st?.isFile() || st.size > maxFileBytes) return null;
217
217
  try {
218
- return await fsPromises.readFile(filePath, "utf-8");
218
+ return await fs.readFile(filePath, "utf-8");
219
219
  } catch (err) {
220
220
  if (hasErrnoCode(err, "ENOENT")) return null;
221
221
  throw err;
@@ -1,5 +1,5 @@
1
1
  import { t as CONFIG_DIR, y as resolveUserPath } from "./utils-BlC2Fskb.js";
2
- import { i as normalizeSkillFilter, n as resolveOpenClawPackageRootSync } from "./openclaw-root-CbWxAStx.js";
2
+ import { i as normalizeSkillFilter, n as resolveOpenClawPackageRootSync } from "./openclaw-root-CQJwyH9q.js";
3
3
  import { t as createSubsystemLogger } from "./subsystem-Cu1fn6xi.js";
4
4
  import { d as resolveEnableState, f as resolveMemorySlotDecision, h as isDangerousHostEnvVarName, n as loadPluginManifestRegistry, u as normalizePluginsConfig } from "./manifest-registry-YRUqEw3J.js";
5
5
  import { a as resolveOpenClawManifestBlock, c as resolveOpenClawManifestRequires, d as hasBinary, f as isConfigPathTruthyWithDefaults, i as parseOpenClawManifestInstallBase, l as parseFrontmatterBlock, n as normalizeStringList, o as resolveOpenClawManifestInstall, p as resolveRuntimePlatform, r as parseFrontmatterBool, s as resolveOpenClawManifestOs, t as getFrontmatterString, u as evaluateRuntimeRequires } from "./frontmatter-C_R2lwvR.js";
@@ -7,7 +7,7 @@ import { fileURLToPath } from "node:url";
7
7
  import fs from "node:fs";
8
8
  import os from "node:os";
9
9
  import path from "node:path";
10
- import fsPromises from "node:fs/promises";
10
+ import fs$1 from "node:fs/promises";
11
11
  import { formatSkillsForPrompt, loadSkillsFromDir } from "@mariozechner/pi-coding-agent";
12
12
 
13
13
  //#region src/agents/skills/frontmatter.ts
@@ -393,7 +393,7 @@ async function assertNoSymlinkEscape(relative, root, options) {
393
393
  const isLast = idx === parts.length - 1;
394
394
  current = path.join(current, part);
395
395
  try {
396
- if ((await fsPromises.lstat(current)).isSymbolicLink()) {
396
+ if ((await fs$1.lstat(current)).isSymbolicLink()) {
397
397
  if (options?.allowFinalSymlink && isLast) return;
398
398
  const target = await tryRealpath(current);
399
399
  if (!isPathInside(rootReal, target)) throw new Error(`Symlink escapes sandbox root (${shortPath(rootReal)}): ${shortPath(current)}`);
@@ -407,7 +407,7 @@ async function assertNoSymlinkEscape(relative, root, options) {
407
407
  }
408
408
  async function tryRealpath(value) {
409
409
  try {
410
- return await fsPromises.realpath(value);
410
+ return await fs$1.realpath(value);
411
411
  } catch {
412
412
  return path.resolve(value);
413
413
  }
@@ -3,13 +3,13 @@ import { B as theme, S as shortenHomePath } from "./utils-BlC2Fskb.js";
3
3
  import "./registry-lBbEkQ26.js";
4
4
  import { f as defaultRuntime } from "./subsystem-Cu1fn6xi.js";
5
5
  import "./exec-DwGfeG8v.js";
6
- import { c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-B6jLdNuI.js";
7
- import "./model-selection-C1pdWy7b.js";
6
+ import { c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-BGlpyppa.js";
7
+ import "./model-selection-0qDmOMXI.js";
8
8
  import "./github-copilot-token-D2zp6kMZ.js";
9
9
  import { t as formatCliCommand } from "./command-format-DEKzLnLg.js";
10
10
  import "./boolean-BsqeuxE6.js";
11
11
  import "./env-C9RBJHeg.js";
12
- import { i as loadConfig } from "./config-JupjCURB.js";
12
+ import { i as loadConfig } from "./config-CkqfHk27.js";
13
13
  import "./manifest-registry-YRUqEw3J.js";
14
14
  import { t as formatDocsLink } from "./links-DHovuBDt.js";
15
15
  import { t as renderTable } from "./table-Csf_WEEY.js";
@@ -236,7 +236,7 @@ function registerSkillsCli(program) {
236
236
  try {
237
237
  const config = loadConfig();
238
238
  const workspaceDir = resolveAgentWorkspaceDir(config, resolveDefaultAgentId(config));
239
- const { buildWorkspaceSkillStatus } = await import("./skills-status-C9NLYboA.js").then((n) => n.n);
239
+ const { buildWorkspaceSkillStatus } = await import("./skills-status-B90dNffv.js").then((n) => n.n);
240
240
  const report = buildWorkspaceSkillStatus(workspaceDir, { config });
241
241
  defaultRuntime.log(formatSkillsList(report, opts));
242
242
  } catch (err) {
@@ -248,7 +248,7 @@ function registerSkillsCli(program) {
248
248
  try {
249
249
  const config = loadConfig();
250
250
  const workspaceDir = resolveAgentWorkspaceDir(config, resolveDefaultAgentId(config));
251
- const { buildWorkspaceSkillStatus } = await import("./skills-status-C9NLYboA.js").then((n) => n.n);
251
+ const { buildWorkspaceSkillStatus } = await import("./skills-status-B90dNffv.js").then((n) => n.n);
252
252
  const report = buildWorkspaceSkillStatus(workspaceDir, { config });
253
253
  defaultRuntime.log(formatSkillInfo(report, name, opts));
254
254
  } catch (err) {
@@ -260,7 +260,7 @@ function registerSkillsCli(program) {
260
260
  try {
261
261
  const config = loadConfig();
262
262
  const workspaceDir = resolveAgentWorkspaceDir(config, resolveDefaultAgentId(config));
263
- const { buildWorkspaceSkillStatus } = await import("./skills-status-C9NLYboA.js").then((n) => n.n);
263
+ const { buildWorkspaceSkillStatus } = await import("./skills-status-B90dNffv.js").then((n) => n.n);
264
264
  const report = buildWorkspaceSkillStatus(workspaceDir, { config });
265
265
  defaultRuntime.log(formatSkillsCheck(report, opts));
266
266
  } catch (err) {
@@ -272,7 +272,7 @@ function registerSkillsCli(program) {
272
272
  try {
273
273
  const config = loadConfig();
274
274
  const workspaceDir = resolveAgentWorkspaceDir(config, resolveDefaultAgentId(config));
275
- const { buildWorkspaceSkillStatus } = await import("./skills-status-C9NLYboA.js").then((n) => n.n);
275
+ const { buildWorkspaceSkillStatus } = await import("./skills-status-B90dNffv.js").then((n) => n.n);
276
276
  const report = buildWorkspaceSkillStatus(workspaceDir, { config });
277
277
  defaultRuntime.log(formatSkillsList(report, {}));
278
278
  } catch (err) {
@@ -1,12 +1,12 @@
1
1
  import { c as ensureDir, g as resolveConfigDir, y as resolveUserPath } from "./utils-BlC2Fskb.js";
2
2
  import { t as runCommandWithTimeout } from "./exec-DwGfeG8v.js";
3
3
  import { d as hasBinary } from "./frontmatter-C_R2lwvR.js";
4
- import { i as loadWorkspaceSkillEntries, t as resolveSkillsInstallPreferences, x as resolveSkillKey } from "./skills-DO1RiQMB.js";
4
+ import { i as loadWorkspaceSkillEntries, t as resolveSkillsInstallPreferences, x as resolveSkillKey } from "./skills-DhT6my9R.js";
5
5
  import { t as fetchWithSsrFGuard } from "./fetch-guard-w97sP7Hz.js";
6
6
  import { t as resolveBrewExecutable } from "./brew-DjNEjKAo.js";
7
7
  import { t as isWithinDir } from "./path-safety-BqPJ8DDQ.js";
8
- import { a as extractArchive$1, d as resolveArchiveOutputPath, f as stripArchivePath, p as validateArchiveEntryPath, r as safePathSegmentHashed, u as isWindowsDrivePath } from "./install-safe-path-Qqr_t_tH.js";
9
- import { t as scanDirectoryWithSummary } from "./skill-scanner-BRf3FyA6.js";
8
+ import { a as extractArchive$1, d as resolveArchiveOutputPath, f as stripArchivePath, p as validateArchiveEntryPath, r as safePathSegmentHashed, u as isWindowsDrivePath } from "./install-safe-path-tCLiMpmO.js";
9
+ import { t as scanDirectoryWithSummary } from "./skill-scanner-CMBwwxis.js";
10
10
  import fs from "node:fs";
11
11
  import path from "node:path";
12
12
  import { pipeline } from "node:stream/promises";
@@ -2,7 +2,7 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { t as CONFIG_DIR } from "./utils-BlC2Fskb.js";
3
3
  import { t as createSubsystemLogger } from "./subsystem-Cu1fn6xi.js";
4
4
  import { d as hasBinary } from "./frontmatter-C_R2lwvR.js";
5
- import { _ as isBundledSkillAllowed, b as resolveSkillConfig, c as resolveBundledSkillsDir, i as loadWorkspaceSkillEntries, t as resolveSkillsInstallPreferences, v as isConfigPathTruthy, y as resolveBundledAllowlist } from "./skills-DO1RiQMB.js";
5
+ import { _ as isBundledSkillAllowed, b as resolveSkillConfig, c as resolveBundledSkillsDir, i as loadWorkspaceSkillEntries, t as resolveSkillsInstallPreferences, v as isConfigPathTruthy, y as resolveBundledAllowlist } from "./skills-DhT6my9R.js";
6
6
  import { t as evaluateEntryMetadataRequirementsForCurrentPlatform } from "./entry-status-CAs6m3_l.js";
7
7
  import path from "node:path";
8
8
  import { loadSkillsFromDir } from "@mariozechner/pi-coding-agent";
@@ -4,7 +4,7 @@ import { s as resolveSessionTranscriptsDirForAgent } from "./paths-C6eomcf_.js";
4
4
  import { createRequire } from "node:module";
5
5
  import fs from "node:fs";
6
6
  import path from "node:path";
7
- import fsPromises from "node:fs/promises";
7
+ import fs$1 from "node:fs/promises";
8
8
  import crypto from "node:crypto";
9
9
 
10
10
  //#region src/utils/run-with-concurrency.ts
@@ -55,7 +55,7 @@ function isFileMissingError(err) {
55
55
  async function statRegularFile(absPath) {
56
56
  let stat;
57
57
  try {
58
- stat = await fsPromises.lstat(absPath);
58
+ stat = await fs$1.lstat(absPath);
59
59
  } catch (err) {
60
60
  if (isFileMissingError(err)) return { missing: true };
61
61
  throw err;
@@ -90,7 +90,7 @@ function isMemoryPath(relPath) {
90
90
  return normalized.startsWith("memory/");
91
91
  }
92
92
  async function walkDir(dir, files) {
93
- const entries = await fsPromises.readdir(dir, { withFileTypes: true });
93
+ const entries = await fs$1.readdir(dir, { withFileTypes: true });
94
94
  for (const entry of entries) {
95
95
  const full = path.join(dir, entry.name);
96
96
  if (entry.isSymbolicLink()) continue;
@@ -110,7 +110,7 @@ async function listMemoryFiles(workspaceDir, extraPaths) {
110
110
  const memoryDir = path.join(workspaceDir, "memory");
111
111
  const addMarkdownFile = async (absPath) => {
112
112
  try {
113
- const stat = await fsPromises.lstat(absPath);
113
+ const stat = await fs$1.lstat(absPath);
114
114
  if (stat.isSymbolicLink() || !stat.isFile()) return;
115
115
  if (!absPath.endsWith(".md")) return;
116
116
  result.push(absPath);
@@ -119,12 +119,12 @@ async function listMemoryFiles(workspaceDir, extraPaths) {
119
119
  await addMarkdownFile(memoryFile);
120
120
  await addMarkdownFile(altMemoryFile);
121
121
  try {
122
- const dirStat = await fsPromises.lstat(memoryDir);
122
+ const dirStat = await fs$1.lstat(memoryDir);
123
123
  if (!dirStat.isSymbolicLink() && dirStat.isDirectory()) await walkDir(memoryDir, result);
124
124
  } catch {}
125
125
  const normalizedExtraPaths = normalizeExtraMemoryPaths(workspaceDir, extraPaths);
126
126
  if (normalizedExtraPaths.length > 0) for (const inputPath of normalizedExtraPaths) try {
127
- const stat = await fsPromises.lstat(inputPath);
127
+ const stat = await fs$1.lstat(inputPath);
128
128
  if (stat.isSymbolicLink()) continue;
129
129
  if (stat.isDirectory()) {
130
130
  await walkDir(inputPath, result);
@@ -138,7 +138,7 @@ async function listMemoryFiles(workspaceDir, extraPaths) {
138
138
  for (const entry of result) {
139
139
  let key = entry;
140
140
  try {
141
- key = await fsPromises.realpath(entry);
141
+ key = await fs$1.realpath(entry);
142
142
  } catch {}
143
143
  if (seen.has(key)) continue;
144
144
  seen.add(key);
@@ -152,14 +152,14 @@ function hashText(value) {
152
152
  async function buildFileEntry(absPath, workspaceDir) {
153
153
  let stat;
154
154
  try {
155
- stat = await fsPromises.stat(absPath);
155
+ stat = await fs$1.stat(absPath);
156
156
  } catch (err) {
157
157
  if (isFileMissingError(err)) return null;
158
158
  throw err;
159
159
  }
160
160
  let content;
161
161
  try {
162
- content = await fsPromises.readFile(absPath, "utf-8");
162
+ content = await fs$1.readFile(absPath, "utf-8");
163
163
  } catch (err) {
164
164
  if (isFileMissingError(err)) return null;
165
165
  throw err;
@@ -293,7 +293,7 @@ const log = createSubsystemLogger("memory");
293
293
  async function listSessionFilesForAgent(agentId) {
294
294
  const dir = resolveSessionTranscriptsDirForAgent(agentId);
295
295
  try {
296
- return (await fsPromises.readdir(dir, { withFileTypes: true })).filter((entry) => entry.isFile()).map((entry) => entry.name).filter((name) => name.endsWith(".jsonl")).map((name) => path.join(dir, name));
296
+ return (await fs$1.readdir(dir, { withFileTypes: true })).filter((entry) => entry.isFile()).map((entry) => entry.name).filter((name) => name.endsWith(".jsonl")).map((name) => path.join(dir, name));
297
297
  } catch {
298
298
  return [];
299
299
  }
@@ -323,8 +323,8 @@ function extractSessionText(content) {
323
323
  }
324
324
  async function buildSessionEntry(absPath) {
325
325
  try {
326
- const stat = await fsPromises.stat(absPath);
327
- const lines = (await fsPromises.readFile(absPath, "utf-8")).split("\n");
326
+ const stat = await fs$1.stat(absPath);
327
+ const lines = (await fs$1.readFile(absPath, "utf-8")).split("\n");
328
328
  const collected = [];
329
329
  const lineMap = [];
330
330
  for (let jsonlIdx = 0; jsonlIdx < lines.length; jsonlIdx++) {
@@ -9,7 +9,7 @@ import { c as resolveAgentWorkspaceDir } from "./agent-scope-CRYIvJeA.js";
9
9
  import { t as buildWorkspaceSkillStatus } from "./skills-status-Djt5QcJT.js";
10
10
  import { H as VERSION, i as loadConfig, o as readConfigFileSnapshot } from "./config-BIssvwa3.js";
11
11
  import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-9P8a5VLv.js";
12
- import { $ as sha256HexPrefix, Cn as peekSystemEvents, an as buildChannelAccountSnapshot, en as loadProviderUsageSummary, in as buildChannelSummary, on as formatChannelAllowFrom, tn as formatUsageReportLines, vt as readRestartSentinel, yt as summarizeRestartSentinel } from "./subagent-registry-D3Pj0bnZ.js";
12
+ import { $ as sha256HexPrefix, Cn as peekSystemEvents, an as buildChannelAccountSnapshot, en as loadProviderUsageSummary, in as buildChannelSummary, on as formatChannelAllowFrom, tn as formatUsageReportLines, vt as readRestartSentinel, yt as summarizeRestartSentinel } from "./subagent-registry-CEyaZMV5.js";
13
13
  import { F as resolveMainSessionKey, j as resolveFreshSessionTotalTokens, o as loadSessionStore } from "./sessions-C2GoB4eB.js";
14
14
  import { n as listChannelPlugins } from "./plugins-z3bMeGdF.js";
15
15
  import { o as getTailnetHostname, s as readTailscaleStatusJson } from "./tailscale-DhjzZjBO.js";
@@ -29,7 +29,7 @@ import { t as formatRuntimeStatusWithDetails } from "./runtime-status-D6c3G7my.j
29
29
  import { t as readLastGatewayErrorLine } from "./diagnostics-DT1T-4yI.js";
30
30
  import { t as renderTable } from "./table-CyLyjbdX.js";
31
31
  import { a as resolveGatewayProbeAuth$1, c as probeGateway, t as runSecurityAudit } from "./audit-BLeFBQgS.js";
32
- import { o as resolveHeartbeatSummaryForAgent, t as formatHealthChannelLines } from "./health-Bm_bIcyw.js";
32
+ import { o as resolveHeartbeatSummaryForAgent, t as formatHealthChannelLines } from "./health-DR30gLMN.js";
33
33
  import { g as resolveUpdateChannelDisplay, i as formatGitInstallLabel, m as normalizeUpdateChannel, t as checkUpdateStatus } from "./update-check-DdZ89jPG.js";
34
34
  import { t as resolveNodeService } from "./node-service-BFzWXZ5-.js";
35
35
  import { n as redactSecrets, t as formatGatewayAuthUsed } from "./format-B0yJsjEo.js";
@@ -1,7 +1,7 @@
1
- import { gt as loadOpenClawPlugins, ht as createPluginLoaderLogger } from "./reply-C7XZ5Kp3.js";
1
+ import { gt as loadOpenClawPlugins, ht as createPluginLoaderLogger } from "./reply-CM9fxt2r.js";
2
2
  import { t as createSubsystemLogger } from "./subsystem-Cu1fn6xi.js";
3
- import { D as resolveDefaultAgentWorkspaceDir, c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-B6jLdNuI.js";
4
- import { i as loadConfig } from "./config-JupjCURB.js";
3
+ import { D as resolveDefaultAgentWorkspaceDir, c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-BGlpyppa.js";
4
+ import { i as loadConfig } from "./config-CkqfHk27.js";
5
5
 
6
6
  //#region src/plugins/status.ts
7
7
  const log = createSubsystemLogger("plugins");
@@ -1,7 +1,7 @@
1
1
  import { o as createSubsystemLogger } from "./entry.js";
2
2
  import { D as resolveDefaultAgentWorkspaceDir, c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-CRYIvJeA.js";
3
3
  import { i as loadConfig } from "./config-BIssvwa3.js";
4
- import { g as loadOpenClawPlugins, h as createPluginLoaderLogger } from "./subagent-registry-D3Pj0bnZ.js";
4
+ import { g as loadOpenClawPlugins, h as createPluginLoaderLogger } from "./subagent-registry-CEyaZMV5.js";
5
5
 
6
6
  //#region src/plugins/status.ts
7
7
  const log = createSubsystemLogger("plugins");
@@ -1,42 +1,42 @@
1
1
  import { u as resolveGatewayPort } from "./paths-B4BZAPZh.js";
2
2
  import { B as theme, k as info, z as isRich } from "./utils-BlC2Fskb.js";
3
- import { E as resolveSessionModelRef, G as summarizeRestartSentinel, W as readRestartSentinel, a as buildChannelSummary, b as listAgentsForGateway, bt as loadProviderUsageSummary, o as buildChannelAccountSnapshot, qt as sha256HexPrefix, s as formatChannelAllowFrom, ur as lookupContextTokens, xr as peekSystemEvents, xt as formatUsageReportLines, y as classifySessionKey } from "./reply-C7XZ5Kp3.js";
3
+ import { E as resolveSessionModelRef, G as summarizeRestartSentinel, W as readRestartSentinel, a as buildChannelSummary, b as listAgentsForGateway, bt as loadProviderUsageSummary, o as buildChannelAccountSnapshot, qt as sha256HexPrefix, s as formatChannelAllowFrom, ur as lookupContextTokens, xr as peekSystemEvents, xt as formatUsageReportLines, y as classifySessionKey } from "./reply-CM9fxt2r.js";
4
4
  import { S as parseAgentSessionKey } from "./session-key-DCt45XZa.js";
5
- import { t as resolveOpenClawPackageRoot } from "./openclaw-root-CbWxAStx.js";
5
+ import { t as resolveOpenClawPackageRoot } from "./openclaw-root-CQJwyH9q.js";
6
6
  import { n as runExec } from "./exec-DwGfeG8v.js";
7
- import { c as resolveAgentWorkspaceDir } from "./agent-scope-B6jLdNuI.js";
8
- import { Gt as DEFAULT_MODEL, Kt as DEFAULT_PROVIDER, Wt as DEFAULT_CONTEXT_TOKENS, p as resolveConfiguredModelRef } from "./model-selection-C1pdWy7b.js";
7
+ import { c as resolveAgentWorkspaceDir } from "./agent-scope-BGlpyppa.js";
8
+ import { Gt as DEFAULT_MODEL, Kt as DEFAULT_PROVIDER, Wt as DEFAULT_CONTEXT_TOKENS, p as resolveConfiguredModelRef } from "./model-selection-0qDmOMXI.js";
9
9
  import { t as formatCliCommand } from "./command-format-DEKzLnLg.js";
10
- import { H as VERSION, i as loadConfig, o as readConfigFileSnapshot } from "./config-JupjCURB.js";
10
+ import { H as VERSION, i as loadConfig, o as readConfigFileSnapshot } from "./config-CkqfHk27.js";
11
11
  import { o as getTailnetHostname, s as readTailscaleStatusJson } from "./tailscale-CuVYhW-O.js";
12
- import { a as inspectPortUsage, c as formatPortDiagnostics } from "./ports-CJyNmOL8.js";
13
- import { H as resolveMainSessionKey, R as resolveFreshSessionTotalTokens, o as loadSessionStore } from "./sessions-fj33u4f-.js";
14
- import { n as listChannelPlugins } from "./plugins-BYw4LpqC.js";
12
+ import { a as inspectPortUsage, c as formatPortDiagnostics } from "./ports-tyVdO5z0.js";
13
+ import { H as resolveMainSessionKey, R as resolveFreshSessionTotalTokens, o as loadSessionStore } from "./sessions-CwvGRwvW.js";
14
+ import { n as listChannelPlugins } from "./plugins-DufH79A4.js";
15
15
  import { c as resolveStorePath } from "./paths-C6eomcf_.js";
16
- import { r as getMemorySearchManager } from "./memory-cli-CS7LI30B.js";
17
- import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-CYa4YbMh.js";
16
+ import { r as getMemorySearchManager } from "./memory-cli-8SCKR9xc.js";
17
+ import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-BVSmc2vl.js";
18
18
  import { n as formatTimeAgo } from "./format-relative-BXoxEQVN.js";
19
19
  import { n as withProgress } from "./progress-9gCu2IkR.js";
20
20
  import { r as formatDurationPrecise } from "./format-duration-D0B0Uo-I.js";
21
- import { o as getRemoteSkillEligibility } from "./skill-commands-27Clp6Hw.js";
22
- import { C as normalizeControlUiBasePath, g as resolveControlUiLinks } from "./onboard-helpers-C2-IAGyl.js";
23
- import { t as buildWorkspaceSkillStatus } from "./skills-status-C9NLYboA.js";
21
+ import { o as getRemoteSkillEligibility } from "./skill-commands-VCmL7mMC.js";
22
+ import { C as normalizeControlUiBasePath, g as resolveControlUiLinks } from "./onboard-helpers-CuawFqeV.js";
23
+ import { t as buildWorkspaceSkillStatus } from "./skills-status-B90dNffv.js";
24
24
  import { t as resolveChannelDefaultAccountId } from "./helpers-BcGbMZD1.js";
25
- import { t as collectChannelStatusIssues } from "./channels-status-issues-CNE14g1e.js";
26
- import { s as resolveGatewayLogPaths, t as resolveGatewayService } from "./service-Bs5m4_g0.js";
25
+ import { t as collectChannelStatusIssues } from "./channels-status-issues-C4_sbL0E.js";
26
+ import { s as resolveGatewayLogPaths, t as resolveGatewayService } from "./service-x8sNoic1.js";
27
27
  import { t as formatRuntimeStatusWithDetails } from "./runtime-status-BHt4ST_m.js";
28
- import { t as readLastGatewayErrorLine } from "./diagnostics-DqqmUDc7.js";
28
+ import { t as readLastGatewayErrorLine } from "./diagnostics-BTTjVvNB.js";
29
29
  import { t as renderTable } from "./table-Csf_WEEY.js";
30
- import { a as resolveGatewayProbeAuth$1, c as probeGateway, t as runSecurityAudit } from "./audit-DqzfLnre.js";
31
- import { a as resolveHeartbeatSummaryForAgent, t as formatHealthChannelLines } from "./health-BFLhZBCV.js";
32
- import { g as resolveUpdateChannelDisplay, i as formatGitInstallLabel, m as normalizeUpdateChannel, t as checkUpdateStatus } from "./update-check-DOy5cGkD.js";
33
- import { t as resolveNodeService } from "./node-service-BESGjvfV.js";
30
+ import { a as resolveGatewayProbeAuth$1, c as probeGateway, t as runSecurityAudit } from "./audit-W6GUNtGq.js";
31
+ import { a as resolveHeartbeatSummaryForAgent, t as formatHealthChannelLines } from "./health-CwpYY0fN.js";
32
+ import { g as resolveUpdateChannelDisplay, i as formatGitInstallLabel, m as normalizeUpdateChannel, t as checkUpdateStatus } from "./update-check-CEFJiPeh.js";
33
+ import { t as resolveNodeService } from "./node-service-YmmWwF_4.js";
34
34
  import { n as redactSecrets, t as formatGatewayAuthUsed } from "./format-DNqZrSx7.js";
35
- import { i as resolveUpdateAvailability, n as formatUpdateOneLiner, r as getUpdateCheckResult, t as formatUpdateAvailableHint } from "./status.update-CkYiGnzE.js";
35
+ import { i as resolveUpdateAvailability, n as formatUpdateOneLiner, r as getUpdateCheckResult, t as formatUpdateAvailableHint } from "./status.update-BdxnLoXT.js";
36
36
  import fs from "node:fs";
37
37
  import os from "node:os";
38
38
  import path from "node:path";
39
- import fsPromises from "node:fs/promises";
39
+ import fs$1 from "node:fs/promises";
40
40
  import { spawnSync } from "node:child_process";
41
41
 
42
42
  //#region src/commands/gateway-presence.ts
@@ -125,7 +125,7 @@ function resolveOsSummary() {
125
125
  //#region src/commands/status-all/agents.ts
126
126
  async function fileExists$1(p) {
127
127
  try {
128
- await fsPromises.access(p);
128
+ await fs$1.access(p);
129
129
  return true;
130
130
  } catch {
131
131
  return false;
@@ -490,7 +490,7 @@ async function buildChannelsTable(cfg, opts) {
490
490
  //#endregion
491
491
  //#region src/commands/status-all/gateway.ts
492
492
  async function readFileTailLines(filePath, maxLines) {
493
- const raw = await fsPromises.readFile(filePath, "utf8").catch(() => "");
493
+ const raw = await fs$1.readFile(filePath, "utf8").catch(() => "");
494
494
  if (!raw.trim()) return [];
495
495
  const lines = raw.replace(/\r/g, "").split("\n");
496
496
  return lines.slice(Math.max(0, lines.length - maxLines)).map((line) => line.trimEnd()).filter((line) => line.trim().length > 0);
@@ -1256,7 +1256,7 @@ function resolveGatewayProbeAuth(cfg) {
1256
1256
  //#region src/commands/status.agent-local.ts
1257
1257
  async function fileExists(p) {
1258
1258
  try {
1259
- await fsPromises.access(p);
1259
+ await fs$1.access(p);
1260
1260
  return true;
1261
1261
  } catch {
1262
1262
  return false;
@@ -1,7 +1,7 @@
1
- import { t as resolveOpenClawPackageRoot } from "./openclaw-root-CbWxAStx.js";
1
+ import { t as resolveOpenClawPackageRoot } from "./openclaw-root-CQJwyH9q.js";
2
2
  import { t as formatCliCommand } from "./command-format-DEKzLnLg.js";
3
- import { H as VERSION } from "./config-JupjCURB.js";
4
- import { n as compareSemverStrings, t as checkUpdateStatus } from "./update-check-DOy5cGkD.js";
3
+ import { H as VERSION } from "./config-CkqfHk27.js";
4
+ import { n as compareSemverStrings, t as checkUpdateStatus } from "./update-check-CEFJiPeh.js";
5
5
 
6
6
  //#region src/commands/status.update.ts
7
7
  async function getUpdateCheckResult(params) {
@@ -1,8 +1,8 @@
1
1
  import { g as resolveConfigDir } from "./utils-BlC2Fskb.js";
2
- import { c as detectMime, l as extensionForMime } from "./image-ops-Uvt51OHH.js";
2
+ import { c as detectMime, l as extensionForMime } from "./image-ops-B4PbaJHR.js";
3
3
  import { createWriteStream } from "node:fs";
4
4
  import path from "node:path";
5
- import fsPromises from "node:fs/promises";
5
+ import fs$1 from "node:fs/promises";
6
6
  import crypto from "node:crypto";
7
7
  import { pipeline } from "node:stream/promises";
8
8
 
@@ -26,7 +26,7 @@ function getMediaDir() {
26
26
  }
27
27
  async function ensureMediaDir() {
28
28
  const mediaDir = resolveMediaDir();
29
- await fsPromises.mkdir(mediaDir, {
29
+ await fs$1.mkdir(mediaDir, {
30
30
  recursive: true,
31
31
  mode: 448
32
32
  });
@@ -35,7 +35,7 @@ async function ensureMediaDir() {
35
35
  async function saveMediaBuffer(buffer, contentType, subdir = "inbound", maxBytes = MAX_BYTES, originalFilename) {
36
36
  if (buffer.byteLength > maxBytes) throw new Error(`Media exceeds ${(maxBytes / (1024 * 1024)).toFixed(0)}MB limit`);
37
37
  const dir = path.join(resolveMediaDir(), subdir);
38
- await fsPromises.mkdir(dir, {
38
+ await fs$1.mkdir(dir, {
39
39
  recursive: true,
40
40
  mode: 448
41
41
  });
@@ -53,7 +53,7 @@ async function saveMediaBuffer(buffer, contentType, subdir = "inbound", maxBytes
53
53
  id = sanitized ? `${sanitized}---${uuid}${ext}` : `${uuid}${ext}`;
54
54
  } else id = ext ? `${uuid}${ext}` : uuid;
55
55
  const dest = path.join(dir, id);
56
- await fsPromises.writeFile(dest, buffer, { mode: 384 });
56
+ await fs$1.writeFile(dest, buffer, { mode: 384 });
57
57
  return {
58
58
  id,
59
59
  path: dest,
@@ -44190,7 +44190,7 @@ function isVoiceChannelType(type) {
44190
44190
  function createDefaultDeps() {
44191
44191
  return {
44192
44192
  sendMessageWhatsApp: async (...args) => {
44193
- const { sendMessageWhatsApp } = await import("./web-DShT68Ix.js");
44193
+ const { sendMessageWhatsApp } = await import("./web-D8FEwRAX.js");
44194
44194
  return await sendMessageWhatsApp(...args);
44195
44195
  },
44196
44196
  sendMessageTelegram: async (...args) => {
@@ -53405,7 +53405,7 @@ function resolveSlackThreadTargets(params) {
53405
53405
  const replyThreadTs = isThreadReply ? incomingThreadTs : params.replyToMode === "all" ? messageTs : void 0;
53406
53406
  return {
53407
53407
  replyThreadTs,
53408
- statusThreadTs: replyThreadTs,
53408
+ statusThreadTs: replyThreadTs ?? messageTs,
53409
53409
  isThreadReply
53410
53410
  };
53411
53411
  }
@@ -59724,7 +59724,7 @@ function loadWebLoginQr() {
59724
59724
  return webLoginQrPromise;
59725
59725
  }
59726
59726
  function loadWebChannel() {
59727
- webChannelPromise ??= import("./web-DShT68Ix.js");
59727
+ webChannelPromise ??= import("./web-D8FEwRAX.js");
59728
59728
  return webChannelPromise;
59729
59729
  }
59730
59730
  function loadWhatsAppActions() {