@lawpath-tech/openclaw 2026.2.21-4 → 2026.2.21-6

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 (230) hide show
  1. package/dist/{accounts-CQT5u65w.js → accounts-CJEDkyd7.js} +1 -1
  2. package/dist/{accounts-DFrH9IVU.js → accounts-CaJg9v7D.js} +1 -1
  3. package/dist/{accounts-C8m4ADkw.js → accounts-DQo5uGA3.js} +14 -14
  4. package/dist/{active-listener-BKTctYlH.js → active-listener-Bhmh-BBe.js} +1 -1
  5. package/dist/{agent-scope-D-SlG1bQ.js → agent-scope-CKu-vMMp.js} +3 -3
  6. package/dist/{agents-BtqLW18n.js → agents-5gS4Morq.js} +4 -4
  7. package/dist/{agents.config-B-tuPgrg.js → agents.config-DGVdd0H4.js} +1 -1
  8. package/dist/{agents.config-ICVDwC0C.js → agents.config-Dy2Tojo2.js} +1 -1
  9. package/dist/{audio-preflight-BAupR5wm.js → audio-preflight-BoDf-OA5.js} +4 -4
  10. package/dist/{audio-preflight-DSln0Zsg.js → audio-preflight-yQKupU0M.js} +29 -29
  11. package/dist/{auth-choice-BjZRva43.js → auth-choice-CujjjpDj.js} +1 -1
  12. package/dist/{auth-choice-6iuXqwcN.js → auth-choice-CyeueHh0.js} +1 -1
  13. package/dist/{banner-B3WC17dn.js → banner-BB3Z8Akj.js} +1 -1
  14. package/dist/{bindings-DL-vZcXK.js → bindings-pn9FkE0Z.js} +2 -2
  15. package/dist/build-info.json +3 -3
  16. package/dist/bundled/boot-md/handler.js +53 -53
  17. package/dist/bundled/bootstrap-extra-files/handler.js +5 -5
  18. package/dist/bundled/command-logger/handler.js +1 -1
  19. package/dist/bundled/session-memory/handler.js +53 -53
  20. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  21. package/dist/{channel-activity-BgsTqLau.js → channel-activity-pOw1s-fe.js} +1 -1
  22. package/dist/{channel-options-BDj65ZyO.js → channel-options-C1Z6nQwx.js} +1 -1
  23. package/dist/{channel-options-G8V1c6AS.js → channel-options-DxnRn3HQ.js} +1 -1
  24. package/dist/{channel-web-B_ZYKCEQ.js → channel-web-Bkp-VxtT.js} +1 -1
  25. package/dist/{channels-cli-raxsTCN2.js → channels-cli-B7GOmHwj.js} +4 -4
  26. package/dist/{channels-cli-DqFbn6qS.js → channels-cli-DGUKSzax.js} +4 -4
  27. package/dist/{chrome-_026ohiG.js → chrome-Bnq0CyY4.js} +20 -20
  28. package/dist/{chrome-CzHty2tf.js → chrome-CQlDoNNk.js} +7 -7
  29. package/dist/{chunk-fZrBDWYg.js → chunk-BkGjWi6P.js} +1 -1
  30. package/dist/{cli-E0T5u43Z.js → cli-DSVcE01B.js} +1 -1
  31. package/dist/{cli-CR9BTL9c.js → cli-RMmIna0L.js} +1 -1
  32. package/dist/{command-format-BOHIfoCX.js → command-format-CM0AxuCk.js} +1 -1
  33. package/dist/{command-registry-BmpWsMTW.js → command-registry-C8m3qBQR.js} +9 -9
  34. package/dist/{commands-registry-3kTkR4r1.js → commands-registry-BoKLuuwG.js} +4 -4
  35. package/dist/{completion-cli-S4G6qt8g.js → completion-cli-DDqcpVLn.js} +1 -1
  36. package/dist/{completion-cli-ilRVVz-z.js → completion-cli-Dto_ttBF.js} +2 -2
  37. package/dist/{config-CScuPNjn.js → config-D0UwRKru.js} +12 -12
  38. package/dist/{config-cli-Cko5ncf5.js → config-cli-5dIx4eBy.js} +1 -1
  39. package/dist/{config-cli-WbPlELKk.js → config-cli-daCg9d8E.js} +1 -1
  40. package/dist/{configure-B-GCDUGh.js → configure-C8s3_7RF.js} +3 -3
  41. package/dist/{configure-BBkx0Gee.js → configure-DOvWFudD.js} +3 -3
  42. package/dist/{deliver-CChv42uL.js → deliver--EhsFXv7.js} +20 -20
  43. package/dist/{deliver-IOU5_B6z.js → deliver-DXUDTvJu.js} +1 -1
  44. package/dist/{diagnostic-DriDPU6M.js → diagnostic-DTfVTKJM.js} +1 -1
  45. package/dist/{doctor-completion-7mRw3cHh.js → doctor-completion-Dwy9h3mp.js} +1 -1
  46. package/dist/{doctor-completion-CJKoQcYI.js → doctor-completion-PJG8ramM.js} +1 -1
  47. package/dist/entry.js +1 -1
  48. package/dist/extensionAPI.js +6 -6
  49. package/dist/{frontmatter-CdkBcBAo.js → frontmatter-Dab6NVCF.js} +2 -2
  50. package/dist/{gateway-cli-CmSTW0ue.js → gateway-cli-08bLT4Lm.js} +14 -9
  51. package/dist/{gateway-cli-AhPjzNqQ.js → gateway-cli-Y7MMw6f2.js} +14 -9
  52. package/dist/{gemini-auth-cD8BrH5d.js → gemini-auth-jiCC1_gO.js} +1 -1
  53. package/dist/{github-copilot-token-Dgb9dAHW.js → github-copilot-token-DAycnoAs.js} +7 -7
  54. package/dist/{health-ADwLM-Or.js → health-BuZYFEjf.js} +1 -1
  55. package/dist/{health-fiXB0fGK.js → health-C47gv6Ik.js} +1 -1
  56. package/dist/{hooks-cli-DRoJbg8P.js → hooks-cli-COO_JTQt.js} +2 -2
  57. package/dist/{hooks-cli-XfbsybsC.js → hooks-cli-D0f1i-sv.js} +2 -2
  58. package/dist/{image-CdTrSqaH.js → image-BHIZnUgU.js} +1 -1
  59. package/dist/{image-B9TdLqUC.js → image-Bxlb76-w.js} +4 -4
  60. package/dist/{image-ops-DSHe7MDO.js → image-ops-Bgwps3ZY.js} +1 -1
  61. package/dist/index.js +6 -6
  62. package/dist/{ir-p6xtdC2E.js → ir-C12Waxsc.js} +4 -4
  63. package/dist/llm-slug-generator.js +53 -53
  64. package/dist/{local-roots-DxIZcL-f.js → local-roots-BXHtS1lV.js} +5 -5
  65. package/dist/{login-D1xDylNg.js → login-CSOqZ7U4.js} +7 -7
  66. package/dist/{login-qr-DuFTjxNo.js → login-qr-C0P5yf2R.js} +12 -12
  67. package/dist/{manager-CHKGgP5H.js → manager-iCRgH8LP.js} +13 -13
  68. package/dist/{manifest-registry-Dhk4A5vb.js → manifest-registry-D31TP66o.js} +19 -19
  69. package/dist/{markdown-tables-_e0OifWF.js → markdown-tables-DfvQjS1F.js} +1 -1
  70. package/dist/{message-channel-CHYSjmbr.js → message-channel-BckS8bQ9.js} +1 -1
  71. package/dist/{model-auth-3yb_4VXX.js → model-auth-4U7dwHzy.js} +9 -9
  72. package/dist/{models-2tG63q_V.js → models-DogF-UP8.js} +2 -2
  73. package/dist/{models-cli-CR_SMGJ0.js → models-cli-DIDuJyRY.js} +2 -2
  74. package/dist/{models-cli-BWxHuaVU.js → models-cli-hTpwPgdx.js} +3 -3
  75. package/dist/{onboard-DBSlZhzk.js → onboard-CAaMOWVz.js} +2 -2
  76. package/dist/{onboard-a3lJkMHB.js → onboard-Dnbsa0t_.js} +2 -2
  77. package/dist/{onboard-channels-B8j2CJsJ.js → onboard-channels-Ck5vewaM.js} +1 -1
  78. package/dist/{onboard-channels-BUE80D3V.js → onboard-channels-CxXKKyqy.js} +1 -1
  79. package/dist/{onboarding-vEEafQpu.js → onboarding-CiHD_RlU.js} +3 -3
  80. package/dist/{onboarding-BPiYCwYW.js → onboarding-CoiWlTdt.js} +3 -3
  81. package/dist/{onboarding.finalize-ASGzuJ_m.js → onboarding.finalize-DsFwibvU.js} +6 -6
  82. package/dist/{onboarding.finalize-C7185nuS.js → onboarding.finalize-dcJBGnBz.js} +5 -5
  83. package/dist/{outbound-BqU-pis3.js → outbound-CyTM7y9i.js} +7 -7
  84. package/dist/{outbound-attachment-D9iNB8-3.js → outbound-attachment-egG5Hv4A.js} +2 -2
  85. package/dist/{paths-CyR9Pa1R.js → paths-CkkDESQ2.js} +5 -5
  86. package/dist/{paths-BEAbheM8.js → paths-Cv2Q0cX2.js} +1 -1
  87. package/dist/{pi-auth-json-B22wYwcC.js → pi-auth-json-DPksdYT4.js} +8 -8
  88. package/dist/{pi-embedded-DtVM2K0j.js → pi-embedded-CrYPeE2s.js} +53 -19
  89. package/dist/{pi-embedded-BfX7An0n.js → pi-embedded-DRWWBoNo.js} +199 -165
  90. package/dist/{pi-embedded-helpers-Mzn8kkGx.js → pi-embedded-helpers-BxT45zZ8.js} +52 -52
  91. package/dist/{pi-embedded-helpers-DChC7Q7D.js → pi-embedded-helpers-F2YKLBnV.js} +4 -4
  92. package/dist/{plugin-registry-CDCLBIsW.js → plugin-registry-BJ7SMd60.js} +1 -1
  93. package/dist/{plugin-registry-DAvWT8O2.js → plugin-registry-BvNBkzNY.js} +1 -1
  94. package/dist/plugin-sdk/{accounts-fnLsjAOi.js → accounts-Ciwy7Yxd.js} +3 -3
  95. package/dist/plugin-sdk/{accounts-BcQo4OUu.js → accounts-DUBJHEgi.js} +1 -1
  96. package/dist/plugin-sdk/{accounts-DEsAwvaZ.js → accounts-wSu5JyDM.js} +1 -1
  97. package/dist/plugin-sdk/{active-listener-CeaKSm29.js → active-listener-Bnau4oiu.js} +1 -1
  98. package/dist/plugin-sdk/{agent-scope-DSex4wfg.js → agent-scope-B_K0lnIZ.js} +2 -2
  99. package/dist/plugin-sdk/{api-key-rotation-DVRFDYWE.js → api-key-rotation-ubwcEE3L.js} +1 -1
  100. package/dist/plugin-sdk/{audio-preflight-rT8tAkD-.js → audio-preflight-BS8n82KZ.js} +24 -24
  101. package/dist/plugin-sdk/{bindings-DeKqzYUw.js → bindings-y5ob6sm3.js} +2 -2
  102. package/dist/plugin-sdk/{channel-activity-WgE8Z4Bb.js → channel-activity-CCnr-9bS.js} +1 -1
  103. package/dist/plugin-sdk/{channel-web-D7oXjz9F.js → channel-web-C6TCmDNo.js} +22 -22
  104. package/dist/plugin-sdk/{chrome-CmTDPHBP.js → chrome-BY2jt7nz.js} +3 -3
  105. package/dist/plugin-sdk/{chunk-CQk9vawA.js → chunk-DyzO7IVo.js} +1 -1
  106. package/dist/plugin-sdk/{command-format-DHXa0Clc.js → command-format-DcBXOX9Z.js} +1 -1
  107. package/dist/plugin-sdk/{commands-registry-lvrJ62DW.js → commands-registry-BlifvuiT.js} +4 -4
  108. package/dist/plugin-sdk/{config-BT7sZurc.js → config-c9LTBVr8.js} +9 -9
  109. package/dist/plugin-sdk/{deliver-CJxTyTAX.js → deliver-B0aMj415.js} +10 -10
  110. package/dist/plugin-sdk/{diagnostic-Up1aMyxZ.js → diagnostic-DKyVS3IK.js} +1 -1
  111. package/dist/plugin-sdk/{image-DN02b1Un.js → image-C2wTkNPw.js} +4 -4
  112. package/dist/plugin-sdk/{image-ops-CZqefviF.js → image-ops-DvH046F-.js} +1 -1
  113. package/dist/plugin-sdk/index.js +53 -53
  114. package/dist/plugin-sdk/{ir-B7rkHLE2.js → ir-CKLBdoDN.js} +4 -4
  115. package/dist/plugin-sdk/{local-roots-BQE1Ebnw.js → local-roots-Com8GhnT.js} +3 -3
  116. package/dist/plugin-sdk/{login-De0S3iEe.js → login-Bg_WVfHE.js} +7 -7
  117. package/dist/plugin-sdk/{login-qr-DbAmVoVd.js → login-qr-0RXOeFuV.js} +9 -9
  118. package/dist/plugin-sdk/{manager-NrAHkxhT.js → manager-0ITt6KKN.js} +8 -8
  119. package/dist/plugin-sdk/{manifest-registry-DvEm2HHf.js → manifest-registry-sgHvjA6E.js} +1 -1
  120. package/dist/plugin-sdk/{markdown-tables-FPKU-GAf.js → markdown-tables-CTgITejf.js} +1 -1
  121. package/dist/plugin-sdk/{message-channel-DY9wVB2A.js → message-channel-DmB4bGFh.js} +1 -1
  122. package/dist/plugin-sdk/{model-selection-D74TGHOt.js → model-selection-eaUqWB9v.js} +4 -4
  123. package/dist/plugin-sdk/{outbound-hovTyykv.js → outbound-YogvVnLx.js} +7 -7
  124. package/dist/plugin-sdk/{outbound-attachment-t84PRHhe.js → outbound-attachment-DFlJJUUs.js} +2 -2
  125. package/dist/plugin-sdk/{pi-auth-json-3M5ZaNhl.js → pi-auth-json-BNYV9v5Z.js} +5 -5
  126. package/dist/plugin-sdk/{pi-embedded-helpers-HEdGJVz9.js → pi-embedded-helpers-D-zgah-f.js} +17 -17
  127. package/dist/plugin-sdk/{plugins-a8_TtkpO.js → plugins-Bi3zjb1D.js} +4 -4
  128. package/dist/plugin-sdk/{pw-ai-CBpL2WWS.js → pw-ai-D17TBpla.js} +8 -8
  129. package/dist/plugin-sdk/{qmd-manager-Hv8FbJlj.js → qmd-manager-C5jlBI8H.js} +4 -4
  130. package/dist/plugin-sdk/{registry-DL-33c9X.js → registry-O1yza0Vh.js} +2 -2
  131. package/dist/{replies-AytmsAUn.js → plugin-sdk/replies-Bi2MUExf.js} +3 -3
  132. package/dist/plugin-sdk/{reply-CcZVzbxJ.js → reply-DRhWRalB.js} +115 -81
  133. package/dist/plugin-sdk/{reply-prefix-DNtb4_wd.js → reply-prefix-D9Vp9XsI.js} +1 -1
  134. package/dist/plugin-sdk/{resolve-outbound-target-EACA6DIF.js → resolve-outbound-target-4LJSOI03.js} +2 -2
  135. package/dist/plugin-sdk/{resolve-route-Cqj4b_M3.js → resolve-route-DGSGaQkJ.js} +3 -3
  136. package/dist/plugin-sdk/{retry-5P3d0rYw.js → retry-JFNwfUew.js} +1 -1
  137. package/dist/plugin-sdk/{runner-CF0Vfhdz.js → runner-DVSsxWbK.js} +9 -9
  138. package/dist/plugin-sdk/{send-jhlw6FJR.js → send-7v9Tg-1N.js} +10 -10
  139. package/dist/plugin-sdk/{send-4EuOqK3R.js → send-CuVP5yhW.js} +7 -7
  140. package/dist/plugin-sdk/{send-B3LOEv4r.js → send-Cy2TYbta.js} +6 -6
  141. package/dist/plugin-sdk/{send-Cz-EZBfd.js → send-e4x0TcgT.js} +10 -10
  142. package/dist/plugin-sdk/{send-Czuwer1y.js → send-iHZz9oKf.js} +6 -6
  143. package/dist/plugin-sdk/{session-BjNuud8u.js → session-CHV-qoDA.js} +4 -4
  144. package/dist/plugin-sdk/{skill-commands-B5t3dEA3.js → skill-commands-uBEgxRtL.js} +5 -5
  145. package/dist/plugin-sdk/{skills-n6vXaMPn.js → skills-CIpuy3Vv.js} +7 -7
  146. package/dist/plugin-sdk/{sqlite-ulpcowfN.js → sqlite-DUu0dwic.js} +1 -1
  147. package/dist/plugin-sdk/{store-CLotPIp_.js → store-BVL3fS5q.js} +2 -2
  148. package/dist/plugin-sdk/{subsystem-C9WnrKN8.js → subsystem-C4Rh0kdL.js} +1 -1
  149. package/dist/plugin-sdk/{tables-7y86aoG1.js → tables-DHwGo-4a.js} +1 -1
  150. package/dist/{target-errors-1-pM-0-N.js → plugin-sdk/target-errors-DGfjmC5j.js} +2 -2
  151. package/dist/plugin-sdk/{thinking-b64dDuH9.js → thinking-D3o92jol.js} +5 -5
  152. package/dist/plugin-sdk/{tokens-2475WU2Z.js → tokens-K9ITCatc.js} +1 -1
  153. package/dist/plugin-sdk/{tool-images-CbUjCJCh.js → tool-images-zxFUoVW3.js} +2 -2
  154. package/dist/plugin-sdk/{tool-loop-detection-D0ADW0h2.js → tool-loop-detection-BBRtoox8.js} +2 -2
  155. package/dist/plugin-sdk/web-Ct7mP_gq.js +65 -0
  156. package/dist/plugin-sdk/{whatsapp-actions-DrC9AVN9.js → whatsapp-actions-DdqYVOos.js} +21 -21
  157. package/dist/{plugins-BfEZesgD.js → plugins-9d8EqI-y.js} +9 -9
  158. package/dist/{plugins-cli-ekc2VJ2E.js → plugins-cli--LHZoYj1.js} +2 -2
  159. package/dist/{plugins-cli-BUojFAGL.js → plugins-cli-C_3vwAkb.js} +2 -2
  160. package/dist/{program-C6lY3-78.js → program-Da_x_bot.js} +7 -7
  161. package/dist/{program-context-Cf4DLb4D.js → program-context-Cx1Qh1rs.js} +17 -17
  162. package/dist/{prompt-select-styled-BB0toldS.js → prompt-select-styled-Bymthwby.js} +4 -4
  163. package/dist/{prompt-select-styled-DZrDBBvM.js → prompt-select-styled-CW0DXnqy.js} +4 -4
  164. package/dist/{provider-auth-helpers-DzLX-hrT.js → provider-auth-helpers-BVl_Luuc.js} +1 -1
  165. package/dist/{provider-auth-helpers-BmRtSzv1.js → provider-auth-helpers-CtRweZXm.js} +1 -1
  166. package/dist/{push-apns-DRicQb8n.js → push-apns-DUaQ63kJ.js} +1 -1
  167. package/dist/{push-apns-BoavuUl1.js → push-apns-ekX9ZTw-.js} +1 -1
  168. package/dist/{pw-ai-BE9RDOQB.js → pw-ai-CbID-iUw.js} +11 -11
  169. package/dist/{pw-ai-CpnhdYBs.js → pw-ai-DrpEVs06.js} +1 -1
  170. package/dist/{qmd-manager-ClbsWpec.js → qmd-manager-Cf7kXRay.js} +7 -7
  171. package/dist/{register.agent-Ddx0H8cv.js → register.agent-CNVcqBdt.js} +6 -6
  172. package/dist/{register.agent-BmmgT0mN.js → register.agent-DIsFvRR6.js} +5 -5
  173. package/dist/{register.configure-DJnHqk6O.js → register.configure-BIJfddKS.js} +6 -6
  174. package/dist/{register.configure-CQU6KgeW.js → register.configure-CJoWBabk.js} +6 -6
  175. package/dist/{register.maintenance-Cqc5yCQG.js → register.maintenance-BRek-1ya.js} +7 -7
  176. package/dist/{register.maintenance-BV1xriuR.js → register.maintenance-Cz2zQo7V.js} +8 -8
  177. package/dist/{register.message-Ihec9Qhj.js → register.message-BXmCfdH1.js} +2 -2
  178. package/dist/{register.message-CNpNd0Ap.js → register.message-Ctt3_FvF.js} +2 -2
  179. package/dist/{register.onboard-DIwP9ira.js → register.onboard-461jnfmp.js} +4 -4
  180. package/dist/{register.onboard-CL9W60Ru.js → register.onboard-MafRy-YC.js} +4 -4
  181. package/dist/{register.setup-CsdexgyX.js → register.setup-B00v-7zz.js} +4 -4
  182. package/dist/{register.setup-2GCiWxqM.js → register.setup-DWTcsKRx.js} +4 -4
  183. package/dist/{register.status-health-sessions-GhqBz76y.js → register.status-health-sessions-GbMD4jFP.js} +3 -3
  184. package/dist/{register.status-health-sessions-CZoLCevz.js → register.status-health-sessions-X9_7OJkB.js} +3 -3
  185. package/dist/{register.subclis-B4o6BJ2N.js → register.subclis-u7MHey8m.js} +9 -9
  186. package/dist/{registry-DpeZG5fo.js → registry-wimgwqAA.js} +18 -18
  187. package/dist/{plugin-sdk/replies-BsiP6hrm.js → replies-Byh9FfWs.js} +3 -3
  188. package/dist/{reply-CebOfFpO.js → reply-DMk4EZm4.js} +39 -5
  189. package/dist/{reply-prefix-CssWitTj.js → reply-prefix-gRdjPOm5.js} +1 -1
  190. package/dist/{resolve-route-DSDE-n34.js → resolve-route-CyHelKQ0.js} +4 -4
  191. package/dist/{retry-Bdu4_ZcT.js → retry-DwLEH9x4.js} +1 -1
  192. package/dist/{run-main-Dhw3C-_j.js → run-main-B7R_5UKA.js} +14 -14
  193. package/dist/{runner-B-q1xy9_.js → runner-CHDFbZ9T.js} +1 -1
  194. package/dist/{runner-DU6rPdbF.js → runner-CJ_5xc_x.js} +9 -9
  195. package/dist/{send-d8Q5AJj9.js → send-BQ-4ogN3.js} +18 -18
  196. package/dist/{send-CT34cBxw.js → send-DB9VeUuY.js} +10 -10
  197. package/dist/{send-B0jdgPgL.js → send-DRUbeUiJ.js} +6 -6
  198. package/dist/{send-DbL1jVFV.js → send-DU-5eFpT.js} +7 -7
  199. package/dist/{send-CcqTwaor.js → send-DWg2VUt0.js} +6 -6
  200. package/dist/{server-node-events-Cx6vpHYY.js → server-node-events-BOFr19ex.js} +2 -2
  201. package/dist/{server-node-events-Cd_Um0Ih.js → server-node-events-CmEqVERQ.js} +2 -2
  202. package/dist/{session-B17teh6u.js → session-B3K56SrZ.js} +8 -8
  203. package/dist/{session-dirs-D1JZtaFB.js → session-dirs-B9BYJOI3.js} +1 -1
  204. package/dist/{session-dirs-BksC_ZJx.js → session-dirs-Dbcjy8I0.js} +1 -1
  205. package/dist/{skill-commands-BTCEJgtW.js → skill-commands-qdiEBLa5.js} +9 -9
  206. package/dist/{skills-DgwYCNoi.js → skills-YvF_jQ7u.js} +21 -21
  207. package/dist/{sqlite-C3XxSzBN.js → sqlite-B6SD9PTM.js} +4 -4
  208. package/dist/{status-CadxgcYe.js → status-7mnD_0oy.js} +2 -2
  209. package/dist/{status-BcZRY3RM.js → status-BphM--I6.js} +1 -1
  210. package/dist/{status-vxjEMgge.js → status-CfB8C1S5.js} +1 -1
  211. package/dist/{status-UO6LTko9.js → status-OhqCGfGI.js} +2 -2
  212. package/dist/{store-JuIN_QG_.js → store-Bb9yEhl9.js} +2 -2
  213. package/dist/{subagent-registry-DxAANdOO.js → subagent-registry-DfNgHH_n.js} +39 -5
  214. package/dist/{subsystem-BF9jT_Nw.js → subsystem-BEdh_1O5.js} +1 -1
  215. package/dist/{tables-3Vjm1My5.js → tables-D0LXVaNN.js} +1 -1
  216. package/dist/{plugin-sdk/target-errors-Bu2PpCSS.js → target-errors-BLDmuN_6.js} +2 -2
  217. package/dist/{thinking-CYyGFSWd.js → thinking-THRIcxDi.js} +5 -5
  218. package/dist/{tokens-B-c56SkM.js → tokens-GCiqN5mi.js} +1 -1
  219. package/dist/{tool-images-i5cb4-nX.js → tool-images-D4n7jwYR.js} +2 -2
  220. package/dist/{tool-loop-detection-Bu3OGskw.js → tool-loop-detection-BPAeTbUj.js} +3 -3
  221. package/dist/{update-cli-CidTQDU8.js → update-cli-CjpoNUkt.js} +8 -8
  222. package/dist/{update-cli-CqsOKfGt.js → update-cli-DLD4tZtd.js} +7 -7
  223. package/dist/{web-BBMLIpu1.js → web-CN6HZzwn.js} +57 -57
  224. package/dist/{web-IgO1--qh.js → web-DG1eHpeH.js} +2 -2
  225. package/dist/{web-IvoqYVGl.js → web-gYLnj19G.js} +6 -6
  226. package/dist/{web-CxJJ94q0.js → web-ifWeOB6N.js} +1 -1
  227. package/dist/{whatsapp-actions-55P6E6cS.js → whatsapp-actions-BKmhU2Qu.js} +23 -23
  228. package/dist/{workspace-D-fnhRGM.js → workspace-BjFHGrDX.js} +6 -6
  229. package/package.json +1 -1
  230. package/dist/plugin-sdk/web-DKcOGlkN.js +0 -65
@@ -49,7 +49,7 @@ const entries = [
49
49
  description: "Run, inspect, and query the WebSocket Gateway",
50
50
  hasSubcommands: true,
51
51
  register: async (program) => {
52
- (await import("./gateway-cli-AhPjzNqQ.js")).registerGatewayCli(program);
52
+ (await import("./gateway-cli-Y7MMw6f2.js")).registerGatewayCli(program);
53
53
  }
54
54
  },
55
55
  {
@@ -81,7 +81,7 @@ const entries = [
81
81
  description: "Discover, scan, and configure models",
82
82
  hasSubcommands: true,
83
83
  register: async (program) => {
84
- (await import("./models-cli-BWxHuaVU.js")).registerModelsCli(program);
84
+ (await import("./models-cli-hTpwPgdx.js")).registerModelsCli(program);
85
85
  }
86
86
  },
87
87
  {
@@ -161,7 +161,7 @@ const entries = [
161
161
  description: "Manage internal agent hooks",
162
162
  hasSubcommands: true,
163
163
  register: async (program) => {
164
- (await import("./hooks-cli-XfbsybsC.js")).registerHooksCli(program);
164
+ (await import("./hooks-cli-D0f1i-sv.js")).registerHooksCli(program);
165
165
  }
166
166
  },
167
167
  {
@@ -193,7 +193,7 @@ const entries = [
193
193
  description: "Secure DM pairing (approve inbound requests)",
194
194
  hasSubcommands: true,
195
195
  register: async (program) => {
196
- const { registerPluginCliCommands } = await import("./cli-CR9BTL9c.js");
196
+ const { registerPluginCliCommands } = await import("./cli-RMmIna0L.js");
197
197
  registerPluginCliCommands(program, await loadConfig());
198
198
  (await import("./pairing-cli-DUHT9L51.js")).registerPairingCli(program);
199
199
  }
@@ -203,8 +203,8 @@ const entries = [
203
203
  description: "Manage OpenClaw plugins and extensions",
204
204
  hasSubcommands: true,
205
205
  register: async (program) => {
206
- (await import("./plugins-cli-BUojFAGL.js")).registerPluginsCli(program);
207
- const { registerPluginCliCommands } = await import("./cli-CR9BTL9c.js");
206
+ (await import("./plugins-cli-C_3vwAkb.js")).registerPluginsCli(program);
207
+ const { registerPluginCliCommands } = await import("./cli-RMmIna0L.js");
208
208
  registerPluginCliCommands(program, await loadConfig());
209
209
  }
210
210
  },
@@ -213,7 +213,7 @@ const entries = [
213
213
  description: "Manage connected chat channels (Telegram, Discord, etc.)",
214
214
  hasSubcommands: true,
215
215
  register: async (program) => {
216
- (await import("./channels-cli-raxsTCN2.js")).registerChannelsCli(program);
216
+ (await import("./channels-cli-B7GOmHwj.js")).registerChannelsCli(program);
217
217
  }
218
218
  },
219
219
  {
@@ -245,7 +245,7 @@ const entries = [
245
245
  description: "Update OpenClaw and inspect update channel status",
246
246
  hasSubcommands: true,
247
247
  register: async (program) => {
248
- (await import("./update-cli-CidTQDU8.js")).registerUpdateCli(program);
248
+ (await import("./update-cli-CjpoNUkt.js")).registerUpdateCli(program);
249
249
  }
250
250
  },
251
251
  {
@@ -253,7 +253,7 @@ const entries = [
253
253
  description: "Generate shell completion script",
254
254
  hasSubcommands: false,
255
255
  register: async (program) => {
256
- (await import("./completion-cli-ilRVVz-z.js").then((n) => n.n)).registerCompletionCli(program);
256
+ (await import("./completion-cli-Dto_ttBF.js").then((n) => n.n)).registerCompletionCli(program);
257
257
  }
258
258
  }
259
259
  ];
@@ -1,7 +1,7 @@
1
- import { a as resolveOAuthDir, c as expandHomePrefix, l as resolveEffectiveHomeDir, n as resolveConfigPath, u as resolveRequiredHomeDir } from "./paths-CyR9Pa1R.js";
1
+ import { a as resolveOAuthDir, c as expandHomePrefix, l as resolveEffectiveHomeDir, n as resolveConfigPath, u as resolveRequiredHomeDir } from "./paths-CkkDESQ2.js";
2
2
  import os from "node:os";
3
3
  import path from "node:path";
4
- import fs from "node:fs";
4
+ import fsSync from "node:fs";
5
5
  import { Logger } from "tslog";
6
6
  import JSON5 from "json5";
7
7
  import chalk, { Chalk } from "chalk";
@@ -12,9 +12,9 @@ function isNodeErrorWithCode(err, code) {
12
12
  return typeof err === "object" && err !== null && "code" in err && err.code === code;
13
13
  }
14
14
  function resolvePreferredOpenClawTmpDir(options = {}) {
15
- const accessSync = options.accessSync ?? fs.accessSync;
16
- const lstatSync = options.lstatSync ?? fs.lstatSync;
17
- const mkdirSync = options.mkdirSync ?? fs.mkdirSync;
15
+ const accessSync = options.accessSync ?? fsSync.accessSync;
16
+ const lstatSync = options.lstatSync ?? fsSync.lstatSync;
17
+ const mkdirSync = options.mkdirSync ?? fsSync.mkdirSync;
18
18
  const getuid = options.getuid ?? (() => {
19
19
  try {
20
20
  return typeof process.getuid === "function" ? process.getuid() : void 0;
@@ -38,14 +38,14 @@ function resolvePreferredOpenClawTmpDir(options = {}) {
38
38
  try {
39
39
  const preferred = lstatSync(POSIX_OPENCLAW_TMP_DIR);
40
40
  if (!preferred.isDirectory() || preferred.isSymbolicLink()) return fallback();
41
- accessSync(POSIX_OPENCLAW_TMP_DIR, fs.constants.W_OK | fs.constants.X_OK);
41
+ accessSync(POSIX_OPENCLAW_TMP_DIR, fsSync.constants.W_OK | fsSync.constants.X_OK);
42
42
  if (!isSecureDirForUser(preferred)) return fallback();
43
43
  return POSIX_OPENCLAW_TMP_DIR;
44
44
  } catch (err) {
45
45
  if (!isNodeErrorWithCode(err, "ENOENT")) return fallback();
46
46
  }
47
47
  try {
48
- accessSync("/tmp", fs.constants.W_OK | fs.constants.X_OK);
48
+ accessSync("/tmp", fsSync.constants.W_OK | fsSync.constants.X_OK);
49
49
  mkdirSync(POSIX_OPENCLAW_TMP_DIR, {
50
50
  recursive: true,
51
51
  mode: 448
@@ -68,8 +68,8 @@ function resolvePreferredOpenClawTmpDir(options = {}) {
68
68
  function readLoggingConfig() {
69
69
  const configPath = resolveConfigPath();
70
70
  try {
71
- if (!fs.existsSync(configPath)) return;
72
- const raw = fs.readFileSync(configPath, "utf-8");
71
+ if (!fsSync.existsSync(configPath)) return;
72
+ const raw = fsSync.readFileSync(configPath, "utf-8");
73
73
  const logging = JSON5.parse(raw)?.logging;
74
74
  if (!logging || typeof logging !== "object" || Array.isArray(logging)) return;
75
75
  return logging;
@@ -174,7 +174,7 @@ function isFileLogLevelEnabled(level) {
174
174
  return levelToMinLevel(level) <= levelToMinLevel(settings.level);
175
175
  }
176
176
  function buildLogger(settings) {
177
- fs.mkdirSync(path.dirname(settings.file), { recursive: true });
177
+ fsSync.mkdirSync(path.dirname(settings.file), { recursive: true });
178
178
  if (isRollingPath(settings.file)) pruneOldRollingLogs(path.dirname(settings.file));
179
179
  let currentFileBytes = getCurrentLogFileBytes(settings.file);
180
180
  let warnedAboutSizeCap = false;
@@ -218,14 +218,14 @@ function resolveMaxLogFileBytes(raw) {
218
218
  }
219
219
  function getCurrentLogFileBytes(file) {
220
220
  try {
221
- return fs.statSync(file).size;
221
+ return fsSync.statSync(file).size;
222
222
  } catch {
223
223
  return 0;
224
224
  }
225
225
  }
226
226
  function appendLogLine(file, line) {
227
227
  try {
228
- fs.appendFileSync(file, line, { encoding: "utf8" });
228
+ fsSync.appendFileSync(file, line, { encoding: "utf8" });
229
229
  return true;
230
230
  } catch {
231
231
  return false;
@@ -277,14 +277,14 @@ function isRollingPath(file) {
277
277
  }
278
278
  function pruneOldRollingLogs(dir) {
279
279
  try {
280
- const entries = fs.readdirSync(dir, { withFileTypes: true });
280
+ const entries = fsSync.readdirSync(dir, { withFileTypes: true });
281
281
  const cutoff = Date.now() - MAX_LOG_AGE_MS;
282
282
  for (const entry of entries) {
283
283
  if (!entry.isFile()) continue;
284
284
  if (!entry.name.startsWith(`${LOG_PREFIX}-`) || !entry.name.endsWith(LOG_SUFFIX)) continue;
285
285
  const fullPath = path.join(dir, entry.name);
286
286
  try {
287
- if (fs.statSync(fullPath).mtimeMs < cutoff) fs.rmSync(fullPath, { force: true });
287
+ if (fsSync.statSync(fullPath).mtimeMs < cutoff) fsSync.rmSync(fullPath, { force: true });
288
288
  } catch {}
289
289
  }
290
290
  } catch {}
@@ -365,14 +365,14 @@ function isPlainObject(value) {
365
365
  //#endregion
366
366
  //#region src/utils.ts
367
367
  async function ensureDir(dir) {
368
- await fs.promises.mkdir(dir, { recursive: true });
368
+ await fsSync.promises.mkdir(dir, { recursive: true });
369
369
  }
370
370
  /**
371
371
  * Check if a file or directory exists at the given path.
372
372
  */
373
373
  async function pathExists(targetPath) {
374
374
  try {
375
- await fs.promises.access(targetPath);
375
+ await fsSync.promises.access(targetPath);
376
376
  return true;
377
377
  } catch {
378
378
  return false;
@@ -455,7 +455,7 @@ function readLidReverseMapping(lid, opts) {
455
455
  for (const dir of mappingDirs) {
456
456
  const mappingPath = path.join(dir, mappingFilename);
457
457
  try {
458
- const data = fs.readFileSync(mappingPath, "utf8");
458
+ const data = fsSync.readFileSync(mappingPath, "utf8");
459
459
  const phone = JSON.parse(data);
460
460
  if (phone === null || phone === void 0) continue;
461
461
  return normalizeE164(String(phone));
@@ -539,7 +539,7 @@ function resolveConfigDir(env = process.env, homedir = os.homedir) {
539
539
  if (override) return resolveUserPath(override);
540
540
  const newDir = path.join(resolveRequiredHomeDir(env, homedir), ".openclaw");
541
541
  try {
542
- if (fs.existsSync(newDir)) return newDir;
542
+ if (fsSync.existsSync(newDir)) return newDir;
543
543
  } catch {}
544
544
  return newDir;
545
545
  }
@@ -1,7 +1,7 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { i as chunkMarkdownTextWithMode } from "./chunk-CQk9vawA.js";
3
- import { r as markdownToSlackMrkdwnChunks, t as sendMessageSlack } from "./send-Czuwer1y.js";
4
- import { i as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-2475WU2Z.js";
2
+ import { i as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-GCiqN5mi.js";
3
+ import { r as markdownToSlackMrkdwnChunks, t as sendMessageSlack } from "./send-DWg2VUt0.js";
4
+ import { i as chunkMarkdownTextWithMode } from "./chunk-BkGjWi6P.js";
5
5
 
6
6
  //#region src/auto-reply/reply/reply-reference.ts
7
7
  function createReplyReferencePlanner(options) {
@@ -22291,7 +22291,7 @@ async function runWithImageModelFallback(params) {
22291
22291
  function createDefaultDeps() {
22292
22292
  return {
22293
22293
  sendMessageWhatsApp: async (...args) => {
22294
- const { sendMessageWhatsApp } = await import("./web-IgO1--qh.js");
22294
+ const { sendMessageWhatsApp } = await import("./web-DG1eHpeH.js");
22295
22295
  return await sendMessageWhatsApp(...args);
22296
22296
  },
22297
22297
  sendMessageTelegram: async (...args) => {
@@ -31803,7 +31803,10 @@ function registerSlackMessageEvents(params) {
31803
31803
  ctx.app.event("app_mention", async ({ event, body }) => {
31804
31804
  try {
31805
31805
  if (ctx.shouldDropMismatchedSlackEvent(body)) return;
31806
- await handleSlackMessage(event, {
31806
+ const mention = event;
31807
+ const channelType = mention.channel_type;
31808
+ if (channelType === "im" || channelType === "mpim") return;
31809
+ await handleSlackMessage(mention, {
31807
31810
  source: "app_mention",
31808
31811
  wasMentioned: true
31809
31812
  });
@@ -33339,6 +33342,11 @@ function createSlackThreadTsResolver(params) {
33339
33342
 
33340
33343
  //#endregion
33341
33344
  //#region src/slack/monitor/message-handler.ts
33345
+ const APP_MENTION_RETRY_TTL_MS = 6e4;
33346
+ function buildSeenMessageKey(channelId, ts) {
33347
+ if (!channelId || !ts) return null;
33348
+ return `${channelId}:${ts}`;
33349
+ }
33342
33350
  function createSlackMessageHandler(params) {
33343
33351
  const { ctx, account } = params;
33344
33352
  const debounceMs = resolveInboundDebounceMs({
@@ -33346,6 +33354,21 @@ function createSlackMessageHandler(params) {
33346
33354
  channel: "slack"
33347
33355
  });
33348
33356
  const threadTsResolver = createSlackThreadTsResolver({ client: ctx.app.client });
33357
+ const appMentionRetryKeys = /* @__PURE__ */ new Map();
33358
+ const pruneAppMentionRetryKeys = (now) => {
33359
+ for (const [key, expiresAt] of appMentionRetryKeys) if (expiresAt <= now) appMentionRetryKeys.delete(key);
33360
+ };
33361
+ const rememberAppMentionRetryKey = (key) => {
33362
+ const now = Date.now();
33363
+ pruneAppMentionRetryKeys(now);
33364
+ appMentionRetryKeys.set(key, now + APP_MENTION_RETRY_TTL_MS);
33365
+ };
33366
+ const consumeAppMentionRetryKey = (key) => {
33367
+ pruneAppMentionRetryKeys(Date.now());
33368
+ if (!appMentionRetryKeys.has(key)) return false;
33369
+ appMentionRetryKeys.delete(key);
33370
+ return true;
33371
+ };
33349
33372
  const debouncer = createInboundDebouncer({
33350
33373
  debounceMs,
33351
33374
  buildKey: (entry) => {
@@ -33378,7 +33401,14 @@ function createSlackMessageHandler(params) {
33378
33401
  wasMentioned: combinedMentioned || last.opts.wasMentioned
33379
33402
  }
33380
33403
  });
33381
- if (!prepared) return;
33404
+ const seenMessageKey = buildSeenMessageKey(last.message.channel, last.message.ts);
33405
+ if (!prepared) {
33406
+ const hasMessageSource = entries.some((entry) => entry.opts.source === "message");
33407
+ const hasAppMentionSource = entries.some((entry) => entry.opts.source === "app_mention");
33408
+ if (seenMessageKey && hasMessageSource && !hasAppMentionSource) rememberAppMentionRetryKey(seenMessageKey);
33409
+ return;
33410
+ }
33411
+ if (seenMessageKey) appMentionRetryKeys.delete(seenMessageKey);
33382
33412
  if (entries.length > 1) {
33383
33413
  const ids = entries.map((entry) => entry.message.ts).filter(Boolean);
33384
33414
  if (ids.length > 0) {
@@ -33396,7 +33426,10 @@ function createSlackMessageHandler(params) {
33396
33426
  return async (message, opts) => {
33397
33427
  if (opts.source === "message" && message.type !== "message") return;
33398
33428
  if (opts.source === "message" && message.subtype && message.subtype !== "file_share" && message.subtype !== "bot_message") return;
33399
- if (ctx.markMessageSeen(message.channel, message.ts)) return;
33429
+ const seenMessageKey = buildSeenMessageKey(message.channel, message.ts);
33430
+ if (seenMessageKey && ctx.markMessageSeen(message.channel, message.ts)) {
33431
+ if (opts.source !== "app_mention" || !consumeAppMentionRetryKey(seenMessageKey)) return;
33432
+ }
33400
33433
  const resolvedMessage = await threadTsResolver.resolve({
33401
33434
  message,
33402
33435
  source: opts.source
@@ -40860,7 +40893,7 @@ function loadWebLoginQr() {
40860
40893
  return webLoginQrPromise;
40861
40894
  }
40862
40895
  function loadWebChannel() {
40863
- webChannelPromise ??= import("./web-IgO1--qh.js");
40896
+ webChannelPromise ??= import("./web-DG1eHpeH.js");
40864
40897
  return webChannelPromise;
40865
40898
  }
40866
40899
  function loadWhatsAppActions() {
@@ -58115,6 +58148,7 @@ function resolveSessionLane(key) {
58115
58148
  }
58116
58149
  function resolveGlobalLane(lane) {
58117
58150
  const cleaned = lane?.trim();
58151
+ if (cleaned === CommandLane.Cron) return CommandLane.Nested;
58118
58152
  return cleaned ? cleaned : CommandLane.Main;
58119
58153
  }
58120
58154
  function resolveEmbeddedSessionLane(key) {
@@ -1,5 +1,5 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { n as resolveAgentConfig } from "./agent-scope-D-SlG1bQ.js";
2
+ import { n as resolveAgentConfig } from "./agent-scope-CKu-vMMp.js";
3
3
 
4
4
  //#region src/agents/identity.ts
5
5
  const DEFAULT_ACK_REACTION = "👀";
@@ -1,10 +1,10 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { d as sanitizeAgentId, f as DEFAULT_ACCOUNT_ID, i as buildAgentPeerSessionKey, n as DEFAULT_MAIN_KEY, p as normalizeAccountId, r as buildAgentMainSessionKey, s as normalizeAgentId, t as DEFAULT_AGENT_ID } from "./session-key-BCzIW1Y2.js";
3
- import { Z as shouldLogVerbose } from "./registry-DpeZG5fo.js";
4
- import { c as resolveDefaultAgentId } from "./agent-scope-D-SlG1bQ.js";
5
- import { y as logDebug } from "./workspace-D-fnhRGM.js";
3
+ import { Z as shouldLogVerbose } from "./registry-wimgwqAA.js";
4
+ import { c as resolveDefaultAgentId } from "./agent-scope-CKu-vMMp.js";
5
+ import { y as logDebug } from "./workspace-BjFHGrDX.js";
6
6
  import { t as normalizeChatType } from "./chat-type-C_KiWNAH.js";
7
- import { t as listBindings } from "./bindings-DL-vZcXK.js";
7
+ import { t as listBindings } from "./bindings-pn9FkE0Z.js";
8
8
 
9
9
  //#region src/routing/resolve-route.ts
10
10
  var resolve_route_exports = /* @__PURE__ */ __exportAll({
@@ -1,4 +1,4 @@
1
- import { B as sleep } from "./registry-DpeZG5fo.js";
1
+ import { B as sleep } from "./registry-wimgwqAA.js";
2
2
 
3
3
  //#region src/infra/retry.ts
4
4
  const DEFAULT_RETRY_CONFIG = {
@@ -13,7 +13,7 @@ import "./client-DrK7aLru.js";
13
13
  import "./call-mR3kLwRx.js";
14
14
  import "./message-channel-CVHJDItx.js";
15
15
  import "./pairing-token-Byh6drgn.js";
16
- import "./subagent-registry-DxAANdOO.js";
16
+ import "./subagent-registry-DfNgHH_n.js";
17
17
  import "./sessions-CPk6B4FT.js";
18
18
  import "./tokens-ANnYrShl.js";
19
19
  import "./plugins-Dhh2a3qc.js";
@@ -101,9 +101,9 @@ import { t as ensureOpenClawCliOnPath } from "./path-env-Co_fin1B.js";
101
101
  import "./catalog-Da8o-cxw.js";
102
102
  import "./note-DDecZomM.js";
103
103
  import "./plugin-auto-enable-Ccy8kRB0.js";
104
- import { t as ensurePluginRegistryLoaded } from "./plugin-registry-DAvWT8O2.js";
104
+ import { t as ensurePluginRegistryLoaded } from "./plugin-registry-BvNBkzNY.js";
105
105
  import { t as assertSupportedRuntime } from "./runtime-guard-Cs_ClFhP.js";
106
- import { t as emitCliBanner } from "./banner-B3WC17dn.js";
106
+ import { t as emitCliBanner } from "./banner-BB3Z8Akj.js";
107
107
  import "./doctor-config-flow-DnW1UlVT.js";
108
108
  import { n as ensureConfigReady } from "./config-guard-BWUTKaUN.js";
109
109
  import process$1 from "node:process";
@@ -118,7 +118,7 @@ const routeHealth = {
118
118
  const verbose = getVerboseFlag(argv, { includeDebug: true });
119
119
  const timeoutMs = getPositiveIntFlagValue(argv, "--timeout");
120
120
  if (timeoutMs === null) return false;
121
- const { healthCommand } = await import("./health-fiXB0fGK.js").then((n) => n.i);
121
+ const { healthCommand } = await import("./health-C47gv6Ik.js").then((n) => n.i);
122
122
  await healthCommand({
123
123
  json,
124
124
  timeoutMs,
@@ -138,7 +138,7 @@ const routeStatus = {
138
138
  const verbose = getVerboseFlag(argv, { includeDebug: true });
139
139
  const timeoutMs = getPositiveIntFlagValue(argv, "--timeout");
140
140
  if (timeoutMs === null) return false;
141
- const { statusCommand } = await import("./status-UO6LTko9.js").then((n) => n.t);
141
+ const { statusCommand } = await import("./status-OhqCGfGI.js").then((n) => n.t);
142
142
  await statusCommand({
143
143
  json,
144
144
  deep,
@@ -172,7 +172,7 @@ const routeAgentsList = {
172
172
  run: async (argv) => {
173
173
  const json = hasFlag(argv, "--json");
174
174
  const bindings = hasFlag(argv, "--bindings");
175
- const { agentsListCommand } = await import("./agents-BtqLW18n.js").then((n) => n.t);
175
+ const { agentsListCommand } = await import("./agents-5gS4Morq.js").then((n) => n.t);
176
176
  await agentsListCommand({
177
177
  json,
178
178
  bindings
@@ -243,7 +243,7 @@ const routes = [
243
243
  const pathArg = getCommandPositionals(argv)[2];
244
244
  if (!pathArg) return false;
245
245
  const json = hasFlag(argv, "--json");
246
- const { runConfigGet } = await import("./config-cli-Cko5ncf5.js");
246
+ const { runConfigGet } = await import("./config-cli-5dIx4eBy.js");
247
247
  await runConfigGet({
248
248
  path: pathArg,
249
249
  json
@@ -256,7 +256,7 @@ const routes = [
256
256
  run: async (argv) => {
257
257
  const pathArg = getCommandPositionals(argv)[2];
258
258
  if (!pathArg) return false;
259
- const { runConfigUnset } = await import("./config-cli-Cko5ncf5.js");
259
+ const { runConfigUnset } = await import("./config-cli-5dIx4eBy.js");
260
260
  await runConfigUnset({ path: pathArg });
261
261
  return true;
262
262
  }
@@ -270,7 +270,7 @@ const routes = [
270
270
  const local = hasFlag(argv, "--local");
271
271
  const json = hasFlag(argv, "--json");
272
272
  const plain = hasFlag(argv, "--plain");
273
- const { modelsListCommand } = await import("./models-2tG63q_V.js").then((n) => n.t);
273
+ const { modelsListCommand } = await import("./models-DogF-UP8.js").then((n) => n.t);
274
274
  await modelsListCommand({
275
275
  all,
276
276
  local,
@@ -301,7 +301,7 @@ const routes = [
301
301
  const plain = hasFlag(argv, "--plain");
302
302
  const check = hasFlag(argv, "--check");
303
303
  const probe = hasFlag(argv, "--probe");
304
- const { modelsStatusCommand } = await import("./models-2tG63q_V.js").then((n) => n.t);
304
+ const { modelsStatusCommand } = await import("./models-DogF-UP8.js").then((n) => n.t);
305
305
  await modelsStatusCommand({
306
306
  json,
307
307
  plain,
@@ -379,7 +379,7 @@ async function runCli(argv = process$1.argv) {
379
379
  assertSupportedRuntime();
380
380
  if (await tryRouteCli(normalizedArgv)) return;
381
381
  enableConsoleCapture();
382
- const { buildProgram } = await import("./program-C6lY3-78.js");
382
+ const { buildProgram } = await import("./program-Da_x_bot.js");
383
383
  const program = buildProgram();
384
384
  installUnhandledRejectionHandler();
385
385
  process$1.on("uncaughtException", (error) => {
@@ -392,10 +392,10 @@ async function runCli(argv = process$1.argv) {
392
392
  const { getProgramContext } = await import("./program-context-5q-A0wbP.js").then((n) => n.n);
393
393
  const ctx = getProgramContext(program);
394
394
  if (ctx) {
395
- const { registerCoreCliByName } = await import("./command-registry-BmpWsMTW.js").then((n) => n.t);
395
+ const { registerCoreCliByName } = await import("./command-registry-C8m3qBQR.js").then((n) => n.t);
396
396
  await registerCoreCliByName(program, ctx, primary, parseArgv);
397
397
  }
398
- const { registerSubCliByName } = await import("./register.subclis-B4o6BJ2N.js").then((n) => n.a);
398
+ const { registerSubCliByName } = await import("./register.subclis-u7MHey8m.js").then((n) => n.a);
399
399
  await registerSubCliByName(program, primary);
400
400
  }
401
401
  if (!shouldSkipPluginCommandRegistration({
@@ -403,7 +403,7 @@ async function runCli(argv = process$1.argv) {
403
403
  primary,
404
404
  hasBuiltinPrimary: primary !== null && program.commands.some((command) => command.name() === primary)
405
405
  })) {
406
- const { registerPluginCliCommands } = await import("./cli-CR9BTL9c.js");
406
+ const { registerPluginCliCommands } = await import("./cli-RMmIna0L.js");
407
407
  const { loadConfig } = await import("./config-D-Tvm4yj.js").then((n) => n.t);
408
408
  registerPluginCliCommands(program, loadConfig());
409
409
  }
@@ -4,7 +4,7 @@ import { G as resolveOpenClawAgentDir, T as resolveApiKeyForProvider, c as norma
4
4
  import { t as normalizeChatType } from "./chat-type-DFDuk3FY.js";
5
5
  import { _ as kindFromMime, d as detectMime, h as isAudioFileName, p as getFileExtension } from "./image-ops-BeOUcAOd.js";
6
6
  import { d as DEFAULT_IMESSAGE_ATTACHMENT_ROOTS, f as isInboundPathAllowed, m as resolveIMessageAttachmentRoots, n as loadConfig, p as mergeInboundPathRoots } from "./config-C85nzIjh.js";
7
- import { S as ensureOpenClawModelsJson, t as describeImageWithModel } from "./image-CdTrSqaH.js";
7
+ import { S as ensureOpenClawModelsJson, t as describeImageWithModel } from "./image-BHIZnUgU.js";
8
8
  import { n as collectProviderApiKeysForExecution, r as executeWithApiKeyRotation, t as parseGeminiAuth } from "./gemini-auth-BBJ_ioKw.js";
9
9
  import { n as fetchWithTimeout } from "./fetch-timeout-BheTNyes.js";
10
10
  import { i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, o as fetchWithSsrFGuard, r as MediaFetchError } from "./local-roots-DmU_g1NT.js";
@@ -1,13 +1,13 @@
1
- import { J as logVerbose, Z as shouldLogVerbose } from "./registry-DpeZG5fo.js";
2
- import { _ as runExec } from "./workspace-D-fnhRGM.js";
1
+ import { J as logVerbose, Z as shouldLogVerbose } from "./registry-wimgwqAA.js";
2
+ import { _ as runExec } from "./workspace-BjFHGrDX.js";
3
3
  import { t as normalizeChatType } from "./chat-type-C_KiWNAH.js";
4
- import { _ as kindFromMime, d as detectMime, h as isAudioFileName, p as getFileExtension } from "./image-ops-DSHe7MDO.js";
5
- import { A as normalizeProviderId, L as normalizeGoogleModelId, i as resolveApiKeyForProvider, r as requireApiKey, y as resolveOpenClawAgentDir } from "./model-auth-3yb_4VXX.js";
6
- import { d as DEFAULT_IMESSAGE_ATTACHMENT_ROOTS, f as isInboundPathAllowed, m as resolveIMessageAttachmentRoots, n as loadConfig, p as mergeInboundPathRoots } from "./config-CScuPNjn.js";
7
- import { S as ensureOpenClawModelsJson, t as describeImageWithModel } from "./image-B9TdLqUC.js";
8
- import { n as collectProviderApiKeysForExecution, r as executeWithApiKeyRotation, t as parseGeminiAuth } from "./gemini-auth-cD8BrH5d.js";
4
+ import { _ as kindFromMime, d as detectMime, h as isAudioFileName, p as getFileExtension } from "./image-ops-Bgwps3ZY.js";
5
+ import { A as normalizeProviderId, L as normalizeGoogleModelId, i as resolveApiKeyForProvider, r as requireApiKey, y as resolveOpenClawAgentDir } from "./model-auth-4U7dwHzy.js";
6
+ import { d as DEFAULT_IMESSAGE_ATTACHMENT_ROOTS, f as isInboundPathAllowed, m as resolveIMessageAttachmentRoots, n as loadConfig, p as mergeInboundPathRoots } from "./config-D0UwRKru.js";
7
+ import { S as ensureOpenClawModelsJson, t as describeImageWithModel } from "./image-Bxlb76-w.js";
8
+ import { n as collectProviderApiKeysForExecution, r as executeWithApiKeyRotation, t as parseGeminiAuth } from "./gemini-auth-jiCC1_gO.js";
9
9
  import { n as fetchWithTimeout } from "./fetch-timeout-DL3f_O53.js";
10
- import { i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, o as fetchWithSsrFGuard, r as MediaFetchError } from "./local-roots-DxIZcL-f.js";
10
+ import { i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, o as fetchWithSsrFGuard, r as MediaFetchError } from "./local-roots-BXHtS1lV.js";
11
11
  import fs from "node:fs/promises";
12
12
  import os from "node:os";
13
13
  import path from "node:path";
@@ -882,7 +882,7 @@ async function loadModelCatalog(params) {
882
882
  });
883
883
  try {
884
884
  await ensureOpenClawModelsJson(params?.config ?? loadConfig());
885
- await (await import("./pi-auth-json-B22wYwcC.js")).ensurePiAuthJsonFromAuthProfiles(resolveOpenClawAgentDir());
885
+ await (await import("./pi-auth-json-DPksdYT4.js")).ensurePiAuthJsonFromAuthProfiles(resolveOpenClawAgentDir());
886
886
  const piSdk = await importPiSdk();
887
887
  const agentDir = resolveOpenClawAgentDir();
888
888
  const { join } = await import("node:path");
@@ -1,24 +1,24 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { a as resolveOAuthDir, s as resolveStateDir, u as resolveRequiredHomeDir } from "./paths-CyR9Pa1R.js";
3
- import { G as danger, J as logVerbose, L as safeParseJson } from "./registry-DpeZG5fo.js";
4
- import { t as createSubsystemLogger } from "./subsystem-BF9jT_Nw.js";
5
- import { l as resolveTelegramAccount, n as listChannelPlugins, t as getChannelPlugin } from "./plugins-BfEZesgD.js";
6
- import { r as isTruthyEnvValue } from "./command-format-BOHIfoCX.js";
7
- import { g as isGifMedia, p as getFileExtension, v as normalizeMimeType, x as mediaKindFromMime } from "./image-ops-DSHe7MDO.js";
8
- import { b as withFileLock$1 } from "./model-auth-3yb_4VXX.js";
9
- import { n as loadConfig } from "./config-CScuPNjn.js";
2
+ import { a as resolveOAuthDir, s as resolveStateDir, u as resolveRequiredHomeDir } from "./paths-CkkDESQ2.js";
3
+ import { G as danger, J as logVerbose, L as safeParseJson } from "./registry-wimgwqAA.js";
4
+ import { t as createSubsystemLogger } from "./subsystem-BEdh_1O5.js";
5
+ import { l as resolveTelegramAccount, n as listChannelPlugins, t as getChannelPlugin } from "./plugins-9d8EqI-y.js";
6
+ import { r as isTruthyEnvValue } from "./command-format-CM0AxuCk.js";
7
+ import { g as isGifMedia, p as getFileExtension, v as normalizeMimeType, x as mediaKindFromMime } from "./image-ops-Bgwps3ZY.js";
8
+ import { b as withFileLock$1 } from "./model-auth-4U7dwHzy.js";
9
+ import { n as loadConfig } from "./config-D0UwRKru.js";
10
10
  import { t as redactSensitiveText } from "./redact-jSxx6Ep2.js";
11
11
  import { n as formatErrorMessage, r as formatUncaughtError, t as extractErrorCode } from "./errors-BoQgnc8X.js";
12
- import { n as resolveMarkdownTableMode } from "./markdown-tables-_e0OifWF.js";
13
- import { a as loadWebMedia, n as markdownToIR, t as chunkMarkdownIR } from "./ir-p6xtdC2E.js";
12
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-DfvQjS1F.js";
13
+ import { a as loadWebMedia, n as markdownToIR, t as chunkMarkdownIR } from "./ir-C12Waxsc.js";
14
14
  import { t as renderMarkdownWithMarkers } from "./render-CDCvpfhh.js";
15
15
  import { t as resolveFetch } from "./fetch-DtI0mtzx.js";
16
- import { i as createTelegramRetryRunner, n as recordChannelActivity } from "./channel-activity-BgsTqLau.js";
16
+ import { i as createTelegramRetryRunner, n as recordChannelActivity } from "./channel-activity-pOw1s-fe.js";
17
17
  import { n as normalizePollInput } from "./polls-CCuCaqgv.js";
18
18
  import { t as makeProxyFetch } from "./proxy-CBJ1upuz.js";
19
19
  import os from "node:os";
20
20
  import path from "node:path";
21
- import fs from "node:fs";
21
+ import fsSync from "node:fs";
22
22
  import crypto from "node:crypto";
23
23
  import process$1 from "node:process";
24
24
  import * as net$1 from "node:net";
@@ -131,7 +131,7 @@ function getPairingAdapter(channelId) {
131
131
  //#region src/plugin-sdk/json-store.ts
132
132
  async function readJsonFileWithFallback(filePath, fallback) {
133
133
  try {
134
- const parsed = safeParseJson(await fs.promises.readFile(filePath, "utf-8"));
134
+ const parsed = safeParseJson(await fsSync.promises.readFile(filePath, "utf-8"));
135
135
  if (parsed == null) return {
136
136
  value: fallback,
137
137
  exists: true
@@ -153,14 +153,14 @@ async function readJsonFileWithFallback(filePath, fallback) {
153
153
  }
154
154
  async function writeJsonFileAtomically(filePath, value) {
155
155
  const dir = path.dirname(filePath);
156
- await fs.promises.mkdir(dir, {
156
+ await fsSync.promises.mkdir(dir, {
157
157
  recursive: true,
158
158
  mode: 448
159
159
  });
160
160
  const tmp = path.join(dir, `${path.basename(filePath)}.${crypto.randomUUID()}.tmp`);
161
- await fs.promises.writeFile(tmp, `${JSON.stringify(value, null, 2)}\n`, { encoding: "utf-8" });
162
- await fs.promises.chmod(tmp, 384);
163
- await fs.promises.rename(tmp, filePath);
161
+ await fsSync.promises.writeFile(tmp, `${JSON.stringify(value, null, 2)}\n`, { encoding: "utf-8" });
162
+ await fsSync.promises.chmod(tmp, 384);
163
+ await fsSync.promises.rename(tmp, filePath);
164
164
  }
165
165
 
166
166
  //#endregion
@@ -221,7 +221,7 @@ async function readPairingRequests(filePath) {
221
221
  }
222
222
  async function ensureJsonFile(filePath, fallback) {
223
223
  try {
224
- await fs.promises.access(filePath);
224
+ await fsSync.promises.access(filePath);
225
225
  } catch {
226
226
  await writeJsonFile(filePath, fallback);
227
227
  }
@@ -1,17 +1,17 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { dt as resolvePreferredOpenClawTmpDir } from "./registry-DpeZG5fo.js";
3
- import { _ as resolveDiscordAccount, v as normalizeDiscordToken } from "./plugins-BfEZesgD.js";
2
+ import { dt as resolvePreferredOpenClawTmpDir } from "./registry-wimgwqAA.js";
3
+ import { _ as resolveDiscordAccount, v as normalizeDiscordToken } from "./plugins-9d8EqI-y.js";
4
4
  import { a as requireTargetKind, i as parseTargetPrefixes, n as ensureTargetId, r as parseTargetMention, t as buildMessagingTarget } from "./targets-CFovdgJI.js";
5
- import { b as maxBytesForKind, f as extensionForMime } from "./image-ops-DSHe7MDO.js";
6
- import { n as loadConfig } from "./config-CScuPNjn.js";
7
- import { n as retryAsync, t as resolveRetryConfig } from "./retry-Bdu4_ZcT.js";
8
- import { c as resolveChunkMode, i as chunkMarkdownTextWithMode } from "./chunk-fZrBDWYg.js";
9
- import { n as resolveMarkdownTableMode } from "./markdown-tables-_e0OifWF.js";
10
- import { a as loadWebMedia, o as loadWebMediaRaw } from "./ir-p6xtdC2E.js";
5
+ import { b as maxBytesForKind, f as extensionForMime } from "./image-ops-Bgwps3ZY.js";
6
+ import { n as loadConfig } from "./config-D0UwRKru.js";
7
+ import { n as retryAsync, t as resolveRetryConfig } from "./retry-DwLEH9x4.js";
8
+ import { c as resolveChunkMode, i as chunkMarkdownTextWithMode } from "./chunk-BkGjWi6P.js";
9
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-DfvQjS1F.js";
10
+ import { a as loadWebMedia, o as loadWebMediaRaw } from "./ir-C12Waxsc.js";
11
11
  import { t as resolveFetch } from "./fetch-DtI0mtzx.js";
12
- import { n as recordChannelActivity, r as createDiscordRetryRunner } from "./channel-activity-BgsTqLau.js";
12
+ import { n as recordChannelActivity, r as createDiscordRetryRunner } from "./channel-activity-pOw1s-fe.js";
13
13
  import { n as normalizePollInput, t as normalizePollDurationHours } from "./polls-CCuCaqgv.js";
14
- import { t as convertMarkdownTables } from "./tables-3Vjm1My5.js";
14
+ import { t as convertMarkdownTables } from "./tables-D0LXVaNN.js";
15
15
  import fs from "node:fs/promises";
16
16
  import path from "node:path";
17
17
  import { execFile } from "node:child_process";
@@ -1,12 +1,12 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { n as resolveSignalAccount } from "./accounts-CQT5u65w.js";
3
- import { x as mediaKindFromMime } from "./image-ops-DSHe7MDO.js";
4
- import { n as loadConfig } from "./config-CScuPNjn.js";
5
- import { n as resolveMarkdownTableMode } from "./markdown-tables-_e0OifWF.js";
2
+ import { n as resolveSignalAccount } from "./accounts-CJEDkyd7.js";
3
+ import { x as mediaKindFromMime } from "./image-ops-Bgwps3ZY.js";
4
+ import { n as loadConfig } from "./config-D0UwRKru.js";
5
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-DfvQjS1F.js";
6
6
  import { n as fetchWithTimeout } from "./fetch-timeout-DL3f_O53.js";
7
- import { n as markdownToIR, t as chunkMarkdownIR } from "./ir-p6xtdC2E.js";
7
+ import { n as markdownToIR, t as chunkMarkdownIR } from "./ir-C12Waxsc.js";
8
8
  import { t as resolveFetch } from "./fetch-DtI0mtzx.js";
9
- import { t as resolveOutboundAttachmentFromUrl } from "./outbound-attachment-D9iNB8-3.js";
9
+ import { t as resolveOutboundAttachmentFromUrl } from "./outbound-attachment-egG5Hv4A.js";
10
10
  import { randomUUID } from "node:crypto";
11
11
 
12
12
  //#region src/signal/format.ts
@@ -1,11 +1,11 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { I as resolveUserPath, M as normalizeE164 } from "./registry-DpeZG5fo.js";
3
- import { x as mediaKindFromMime } from "./image-ops-DSHe7MDO.js";
4
- import { n as loadConfig } from "./config-CScuPNjn.js";
5
- import { t as resolveIMessageAccount } from "./accounts-DFrH9IVU.js";
6
- import { n as resolveMarkdownTableMode } from "./markdown-tables-_e0OifWF.js";
7
- import { t as convertMarkdownTables } from "./tables-3Vjm1My5.js";
8
- import { t as resolveOutboundAttachmentFromUrl } from "./outbound-attachment-D9iNB8-3.js";
2
+ import { I as resolveUserPath, M as normalizeE164 } from "./registry-wimgwqAA.js";
3
+ import { x as mediaKindFromMime } from "./image-ops-Bgwps3ZY.js";
4
+ import { n as loadConfig } from "./config-D0UwRKru.js";
5
+ import { t as resolveIMessageAccount } from "./accounts-CaJg9v7D.js";
6
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-DfvQjS1F.js";
7
+ import { t as convertMarkdownTables } from "./tables-D0LXVaNN.js";
8
+ import { t as resolveOutboundAttachmentFromUrl } from "./outbound-attachment-egG5Hv4A.js";
9
9
  import { spawn } from "node:child_process";
10
10
  import { createInterface } from "node:readline";
11
11