@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
@@ -1,11 +1,11 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { J as logVerbose } from "./registry-DpeZG5fo.js";
3
- import { d as resolveSlackAccount, m as resolveSlackBotToken } from "./plugins-BfEZesgD.js";
2
+ import { J as logVerbose } from "./registry-wimgwqAA.js";
3
+ import { d as resolveSlackAccount, m as resolveSlackBotToken } 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 { n as loadConfig } from "./config-CScuPNjn.js";
6
- import { c as resolveChunkMode, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit } from "./chunk-fZrBDWYg.js";
7
- import { n as resolveMarkdownTableMode } from "./markdown-tables-_e0OifWF.js";
8
- import { a as loadWebMedia, n as markdownToIR, t as chunkMarkdownIR } from "./ir-p6xtdC2E.js";
5
+ import { n as loadConfig } from "./config-D0UwRKru.js";
6
+ import { c as resolveChunkMode, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit } from "./chunk-BkGjWi6P.js";
7
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-DfvQjS1F.js";
8
+ import { a as loadWebMedia, n as markdownToIR, t as chunkMarkdownIR } from "./ir-C12Waxsc.js";
9
9
  import { t as renderMarkdownWithMarkers } from "./render-CDCvpfhh.js";
10
10
  import { WebClient } from "@slack/web-api";
11
11
 
@@ -1,7 +1,7 @@
1
1
  import "./paths-B4BZAPZh.js";
2
2
  import "./utils-BlC2Fskb.js";
3
3
  import "./thinking-EAliFiVK.js";
4
- import { At as agentCommand, C as loadSessionEntry, It as resolveOutboundTarget, Rt as createOutboundSendDeps, T as resolveGatewaySessionStoreTarget, dt as requestHeartbeatNow, vr as enqueueSystemEvent, w as pruneLegacyStoreKeys } from "./reply-CebOfFpO.js";
4
+ import { At as agentCommand, C as loadSessionEntry, It as resolveOutboundTarget, Rt as createOutboundSendDeps, T as resolveGatewaySessionStoreTarget, dt as requestHeartbeatNow, vr as enqueueSystemEvent, w as pruneLegacyStoreKeys } from "./reply-DMk4EZm4.js";
5
5
  import { c as normalizeMainKey } from "./session-key-DCt45XZa.js";
6
6
  import "./registry-Dygi7Azw.js";
7
7
  import { f as defaultRuntime } from "./subsystem-8bY95KEB.js";
@@ -102,7 +102,7 @@ import "./control-service-FOBhD0N3.js";
102
102
  import "./stagger-B6VQyn1F.js";
103
103
  import "./channel-selection-C27fdBDC.js";
104
104
  import "./pi-tools.policy-B3nJHwWp.js";
105
- import { c as parseMessageWithAttachments, l as formatForLog, r as registerApnsToken, s as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-BoavuUl1.js";
105
+ import { c as parseMessageWithAttachments, l as formatForLog, r as registerApnsToken, s as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-ekX9ZTw-.js";
106
106
  import { randomUUID } from "node:crypto";
107
107
 
108
108
  //#region src/gateway/server-node-events.ts
@@ -14,7 +14,7 @@ import "./client-DrK7aLru.js";
14
14
  import "./call-mR3kLwRx.js";
15
15
  import "./message-channel-CVHJDItx.js";
16
16
  import "./pairing-token-Byh6drgn.js";
17
- import { C as agentCommand, D as createOutboundSendDeps, bn as enqueueSystemEvent, cn as requestHeartbeatNow, ct as resolveOutboundTarget } from "./subagent-registry-DxAANdOO.js";
17
+ import { C as agentCommand, D as createOutboundSendDeps, bn as enqueueSystemEvent, cn as requestHeartbeatNow, ct as resolveOutboundTarget } from "./subagent-registry-DfNgHH_n.js";
18
18
  import { d as updateSessionStore } from "./sessions-CPk6B4FT.js";
19
19
  import "./tokens-ANnYrShl.js";
20
20
  import { r as normalizeChannelId } from "./plugins-Dhh2a3qc.js";
@@ -98,7 +98,7 @@ import "./onboard-helpers-BYflTvTz.js";
98
98
  import "./prompt-style-DwCXob2h.js";
99
99
  import "./pairing-labels-D5pZ7KsY.js";
100
100
  import "./pi-tools.policy-C4HlSnsO.js";
101
- import { c as parseMessageWithAttachments, l as formatForLog, r as registerApnsToken, s as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-DRicQb8n.js";
101
+ import { c as parseMessageWithAttachments, l as formatForLog, r as registerApnsToken, s as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-DUaQ63kJ.js";
102
102
  import { randomUUID } from "node:crypto";
103
103
 
104
104
  //#region src/gateway/server-node-events.ts
@@ -1,8 +1,8 @@
1
- import { E as ensureDir, G as danger, I as resolveUserPath, Q as success, ot as toPinoLikeLogger, rt as getChildLogger } from "./registry-DpeZG5fo.js";
2
- import { c as readCredsJsonRaw, d as resolveWebCredsBackupPath, f as resolveWebCredsPath, o as maybeRestoreCredsFromBackup, u as resolveDefaultWebAuthDir } from "./accounts-C8m4ADkw.js";
3
- import { t as formatCliCommand } from "./command-format-BOHIfoCX.js";
4
- import { A as VERSION } from "./config-CScuPNjn.js";
5
- import fs from "node:fs";
1
+ import { E as ensureDir, G as danger, I as resolveUserPath, Q as success, ot as toPinoLikeLogger, rt as getChildLogger } from "./registry-wimgwqAA.js";
2
+ import { c as readCredsJsonRaw, d as resolveWebCredsBackupPath, f as resolveWebCredsPath, o as maybeRestoreCredsFromBackup, u as resolveDefaultWebAuthDir } from "./accounts-DQo5uGA3.js";
3
+ import { t as formatCliCommand } from "./command-format-CM0AxuCk.js";
4
+ import { A as VERSION } from "./config-D0UwRKru.js";
5
+ import fsSync from "node:fs";
6
6
  import { randomUUID } from "node:crypto";
7
7
  import { DisconnectReason, fetchLatestBaileysVersion, makeCacheableSignalKeyStore, makeWASocket, useMultiFileAuthState } from "@whiskeysockets/baileys";
8
8
  import qrcode from "qrcode-terminal";
@@ -21,16 +21,16 @@ async function safeSaveCreds(authDir, saveCreds, logger) {
21
21
  const raw = readCredsJsonRaw(credsPath);
22
22
  if (raw) try {
23
23
  JSON.parse(raw);
24
- fs.copyFileSync(credsPath, backupPath);
24
+ fsSync.copyFileSync(credsPath, backupPath);
25
25
  try {
26
- fs.chmodSync(backupPath, 384);
26
+ fsSync.chmodSync(backupPath, 384);
27
27
  } catch {}
28
28
  } catch {}
29
29
  } catch {}
30
30
  try {
31
31
  await Promise.resolve(saveCreds());
32
32
  try {
33
- fs.chmodSync(resolveWebCredsPath(authDir), 384);
33
+ fsSync.chmodSync(resolveWebCredsPath(authDir), 384);
34
34
  } catch {}
35
35
  } catch (err) {
36
36
  logger.warn({ error: String(err) }, "failed saving WhatsApp creds");
@@ -1,5 +1,5 @@
1
1
  import { h as pathExists } from "./utils-BlC2Fskb.js";
2
- import { K as trimLogTail } from "./reply-CebOfFpO.js";
2
+ import { K as trimLogTail } from "./reply-DMk4EZm4.js";
3
3
  import { t as runCommandWithTimeout } from "./exec-BmMB8-Xs.js";
4
4
  import { n as resolveControlUiDistIndexHealth, r as resolveControlUiDistIndexPathForRoot } from "./control-ui-assets-CjH2ywP0.js";
5
5
  import { c as DEFAULT_PACKAGE_CHANNEL, f as isBetaTag, l as DEV_BRANCH, n as compareSemverStrings, o as detectPackageManager$1, p as isStableTag, u as channelToNpmTag } from "./update-check-B-fJT8wY.js";
@@ -1,6 +1,6 @@
1
1
  import { nt as pathExists } from "./entry.js";
2
2
  import { t as runCommandWithTimeout } from "./exec-CBKBIMpA.js";
3
- import { bt as trimLogTail } from "./subagent-registry-DxAANdOO.js";
3
+ import { bt as trimLogTail } from "./subagent-registry-DfNgHH_n.js";
4
4
  import { n as resolveControlUiDistIndexHealth, r as resolveControlUiDistIndexPathForRoot } from "./control-ui-assets-BC2GSxMJ.js";
5
5
  import { c as DEFAULT_PACKAGE_CHANNEL, f as isBetaTag, l as DEV_BRANCH, n as compareSemverStrings, o as detectPackageManager$1, p as isStableTag, u as channelToNpmTag } from "./update-check-DfBZVR4k.js";
6
6
  import os from "node:os";
@@ -1,14 +1,14 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { s as resolveStateDir } from "./paths-CyR9Pa1R.js";
3
- import { I as resolveUserPath, S as CONFIG_DIR } from "./registry-DpeZG5fo.js";
4
- import { s as resolveAgentWorkspaceDir, t as listAgentIds } from "./agent-scope-D-SlG1bQ.js";
5
- import { t as createSubsystemLogger } from "./subsystem-BF9jT_Nw.js";
6
- import { o as resolvePluginSkillDirs, t as buildWorkspaceSkillCommandSpecs } from "./skills-DgwYCNoi.js";
7
- import { i as listChatCommands } from "./commands-registry-3kTkR4r1.js";
2
+ import { s as resolveStateDir } from "./paths-CkkDESQ2.js";
3
+ import { I as resolveUserPath, S as CONFIG_DIR } from "./registry-wimgwqAA.js";
4
+ import { s as resolveAgentWorkspaceDir, t as listAgentIds } from "./agent-scope-CKu-vMMp.js";
5
+ import { t as createSubsystemLogger } from "./subsystem-BEdh_1O5.js";
6
+ import { o as resolvePluginSkillDirs, t as buildWorkspaceSkillCommandSpecs } from "./skills-YvF_jQ7u.js";
7
+ import { i as listChatCommands } from "./commands-registry-BoKLuuwG.js";
8
8
  import fs from "node:fs/promises";
9
9
  import os from "node:os";
10
10
  import path from "node:path";
11
- import fs$1 from "node:fs";
11
+ import fsSync from "node:fs";
12
12
  import { randomUUID } from "node:crypto";
13
13
  import chokidar from "chokidar";
14
14
 
@@ -283,8 +283,8 @@ function listSkillCommandsForAgents(params) {
283
283
  const visitedDirs = /* @__PURE__ */ new Set();
284
284
  for (const agentId of agentIds) {
285
285
  const workspaceDir = resolveAgentWorkspaceDir(params.cfg, agentId);
286
- if (!fs$1.existsSync(workspaceDir)) continue;
287
- const canonicalDir = fs$1.realpathSync(workspaceDir);
286
+ if (!fsSync.existsSync(workspaceDir)) continue;
287
+ const canonicalDir = fsSync.realpathSync(workspaceDir);
288
288
  if (visitedDirs.has(canonicalDir)) continue;
289
289
  visitedDirs.add(canonicalDir);
290
290
  const commands = buildWorkspaceSkillCommandSpecs(workspaceDir, {
@@ -1,13 +1,13 @@
1
- import { I as resolveUserPath, S as CONFIG_DIR } from "./registry-DpeZG5fo.js";
2
- import { f as normalizeSkillFilter } from "./agent-scope-D-SlG1bQ.js";
3
- import { t as createSubsystemLogger } from "./subsystem-BF9jT_Nw.js";
4
- import { h as resolveOpenClawPackageRootSync } from "./workspace-D-fnhRGM.js";
5
- import { c as resolveMemorySlotDecision, d as isDangerousHostEnvVarName, o as normalizePluginsConfig, s as resolveEnableState, t as loadPluginManifestRegistry } from "./manifest-registry-Dhk4A5vb.js";
6
- 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-CdkBcBAo.js";
1
+ import { I as resolveUserPath, S as CONFIG_DIR } from "./registry-wimgwqAA.js";
2
+ import { f as normalizeSkillFilter } from "./agent-scope-CKu-vMMp.js";
3
+ import { t as createSubsystemLogger } from "./subsystem-BEdh_1O5.js";
4
+ import { h as resolveOpenClawPackageRootSync } from "./workspace-BjFHGrDX.js";
5
+ import { c as resolveMemorySlotDecision, d as isDangerousHostEnvVarName, o as normalizePluginsConfig, s as resolveEnableState, t as loadPluginManifestRegistry } from "./manifest-registry-D31TP66o.js";
6
+ 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-Dab6NVCF.js";
7
7
  import fs from "node:fs/promises";
8
8
  import os from "node:os";
9
9
  import path from "node:path";
10
- import fs$1 from "node:fs";
10
+ import fsSync from "node:fs";
11
11
  import { fileURLToPath } from "node:url";
12
12
  import { formatSkillsForPrompt, loadSkillsFromDir } from "@mariozechner/pi-coding-agent";
13
13
 
@@ -424,13 +424,13 @@ function shortPath(value) {
424
424
  //#region src/agents/skills/bundled-dir.ts
425
425
  function looksLikeSkillsDir(dir) {
426
426
  try {
427
- const entries = fs$1.readdirSync(dir, { withFileTypes: true });
427
+ const entries = fsSync.readdirSync(dir, { withFileTypes: true });
428
428
  for (const entry of entries) {
429
429
  if (entry.name.startsWith(".")) continue;
430
430
  const fullPath = path.join(dir, entry.name);
431
431
  if (entry.isFile() && entry.name.endsWith(".md")) return true;
432
432
  if (entry.isDirectory()) {
433
- if (fs$1.existsSync(path.join(fullPath, "SKILL.md"))) return true;
433
+ if (fsSync.existsSync(path.join(fullPath, "SKILL.md"))) return true;
434
434
  }
435
435
  }
436
436
  } catch {
@@ -445,7 +445,7 @@ function resolveBundledSkillsDir(opts = {}) {
445
445
  const execPath = opts.execPath ?? process.execPath;
446
446
  const execDir = path.dirname(execPath);
447
447
  const sibling = path.join(execDir, "skills");
448
- if (fs$1.existsSync(sibling)) return sibling;
448
+ if (fsSync.existsSync(sibling)) return sibling;
449
449
  } catch {}
450
450
  try {
451
451
  const moduleUrl = opts.moduleUrl ?? import.meta.url;
@@ -501,7 +501,7 @@ function resolvePluginSkillDirs(params) {
501
501
  const trimmed = raw.trim();
502
502
  if (!trimmed) continue;
503
503
  const candidate = path.resolve(record.rootDir, trimmed);
504
- if (!fs$1.existsSync(candidate)) {
504
+ if (!fsSync.existsSync(candidate)) {
505
505
  log.warn(`plugin skill path not found (${record.id}): ${candidate}`);
506
506
  continue;
507
507
  }
@@ -528,7 +528,7 @@ async function serializeByKey(key, task) {
528
528
 
529
529
  //#endregion
530
530
  //#region src/agents/skills/workspace.ts
531
- const fsp = fs$1.promises;
531
+ const fsp = fsSync.promises;
532
532
  const skillsLogger = createSubsystemLogger("skills");
533
533
  const skillCommandDebugOnce = /* @__PURE__ */ new Set();
534
534
  /**
@@ -605,7 +605,7 @@ function resolveSkillsLimits(config) {
605
605
  }
606
606
  function listChildDirectories(dir) {
607
607
  try {
608
- const entries = fs$1.readdirSync(dir, { withFileTypes: true });
608
+ const entries = fsSync.readdirSync(dir, { withFileTypes: true });
609
609
  const dirs = [];
610
610
  for (const entry of entries) {
611
611
  if (entry.name.startsWith(".")) continue;
@@ -616,7 +616,7 @@ function listChildDirectories(dir) {
616
616
  continue;
617
617
  }
618
618
  if (entry.isSymbolicLink()) try {
619
- if (fs$1.statSync(fullPath).isDirectory()) dirs.push(entry.name);
619
+ if (fsSync.statSync(fullPath).isDirectory()) dirs.push(entry.name);
620
620
  } catch {}
621
621
  }
622
622
  return dirs;
@@ -627,7 +627,7 @@ function listChildDirectories(dir) {
627
627
  function resolveNestedSkillsRoot(dir, opts) {
628
628
  const nested = path.join(dir, "skills");
629
629
  try {
630
- if (!fs$1.existsSync(nested) || !fs$1.statSync(nested).isDirectory()) return { baseDir: dir };
630
+ if (!fsSync.existsSync(nested) || !fsSync.statSync(nested).isDirectory()) return { baseDir: dir };
631
631
  } catch {
632
632
  return { baseDir: dir };
633
633
  }
@@ -636,7 +636,7 @@ function resolveNestedSkillsRoot(dir, opts) {
636
636
  const toScan = scanLimit === 0 ? [] : nestedDirs.slice(0, Math.min(nestedDirs.length, scanLimit));
637
637
  for (const name of toScan) {
638
638
  const skillMd = path.join(nested, name, "SKILL.md");
639
- if (fs$1.existsSync(skillMd)) return {
639
+ if (fsSync.existsSync(skillMd)) return {
640
640
  baseDir: nested,
641
641
  note: `Detected nested skills root at ${nested}`
642
642
  };
@@ -656,9 +656,9 @@ function loadSkillEntries(workspaceDir, opts) {
656
656
  const loadSkills = (params) => {
657
657
  const baseDir = resolveNestedSkillsRoot(params.dir, { maxEntriesToScan: limits.maxCandidatesPerRoot }).baseDir;
658
658
  const rootSkillMd = path.join(baseDir, "SKILL.md");
659
- if (fs$1.existsSync(rootSkillMd)) {
659
+ if (fsSync.existsSync(rootSkillMd)) {
660
660
  try {
661
- const size = fs$1.statSync(rootSkillMd).size;
661
+ const size = fsSync.statSync(rootSkillMd).size;
662
662
  if (size > limits.maxSkillFileBytes) {
663
663
  skillsLogger.warn("Skipping skills root due to oversized SKILL.md.", {
664
664
  dir: baseDir,
@@ -697,9 +697,9 @@ function loadSkillEntries(workspaceDir, opts) {
697
697
  for (const name of limitedChildren) {
698
698
  const skillDir = path.join(baseDir, name);
699
699
  const skillMd = path.join(skillDir, "SKILL.md");
700
- if (!fs$1.existsSync(skillMd)) continue;
700
+ if (!fsSync.existsSync(skillMd)) continue;
701
701
  try {
702
- const size = fs$1.statSync(skillMd).size;
702
+ const size = fsSync.statSync(skillMd).size;
703
703
  if (size > limits.maxSkillFileBytes) {
704
704
  skillsLogger.warn("Skipping skill due to oversized SKILL.md.", {
705
705
  skill: name,
@@ -767,7 +767,7 @@ function loadSkillEntries(workspaceDir, opts) {
767
767
  return Array.from(merged.values()).map((skill) => {
768
768
  let frontmatter = {};
769
769
  try {
770
- frontmatter = parseFrontmatter(fs$1.readFileSync(skill.filePath, "utf-8"));
770
+ frontmatter = parseFrontmatter(fsSync.readFileSync(skill.filePath, "utf-8"));
771
771
  } catch {}
772
772
  return {
773
773
  skill,
@@ -1,10 +1,10 @@
1
- import { t as createSubsystemLogger } from "./subsystem-BF9jT_Nw.js";
1
+ import { t as createSubsystemLogger } from "./subsystem-BEdh_1O5.js";
2
2
  import { t as redactSensitiveText } from "./redact-jSxx6Ep2.js";
3
- import { o as resolveSessionTranscriptsDirForAgent } from "./paths-BEAbheM8.js";
3
+ import { o as resolveSessionTranscriptsDirForAgent } from "./paths-Cv2Q0cX2.js";
4
4
  import { createRequire } from "node:module";
5
5
  import fs from "node:fs/promises";
6
6
  import path from "node:path";
7
- import fs$1 from "node:fs";
7
+ import fsSync from "node:fs";
8
8
  import crypto from "node:crypto";
9
9
 
10
10
  //#region src/memory/fs-utils.ts
@@ -71,7 +71,7 @@ async function runTasksWithConcurrency(params) {
71
71
  //#region src/memory/internal.ts
72
72
  function ensureDir(dir) {
73
73
  try {
74
- fs$1.mkdirSync(dir, { recursive: true });
74
+ fsSync.mkdirSync(dir, { recursive: true });
75
75
  } catch {}
76
76
  return dir;
77
77
  }
@@ -1,6 +1,6 @@
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-CebOfFpO.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-DMk4EZm4.js";
4
4
  import { S as parseAgentSessionKey } from "./session-key-DCt45XZa.js";
5
5
  import { t as resolveOpenClawPackageRoot } from "./openclaw-root-BM-yQZH6.js";
6
6
  import { n as runExec } from "./exec-BmMB8-Xs.js";
@@ -28,7 +28,7 @@ import { t as formatRuntimeStatusWithDetails } from "./runtime-status-BHt4ST_m.j
28
28
  import { t as readLastGatewayErrorLine } from "./diagnostics-CSOaBA1c.js";
29
29
  import { t as renderTable } from "./table-i7J9YlN5.js";
30
30
  import { a as resolveGatewayProbeAuth$1, c as probeGateway, t as runSecurityAudit } from "./audit-Ds8DFz-h.js";
31
- import { a as resolveHeartbeatSummaryForAgent, t as formatHealthChannelLines } from "./health-ADwLM-Or.js";
31
+ import { a as resolveHeartbeatSummaryForAgent, t as formatHealthChannelLines } from "./health-BuZYFEjf.js";
32
32
  import { g as resolveUpdateChannelDisplay, i as formatGitInstallLabel, m as normalizeUpdateChannel, t as checkUpdateStatus } from "./update-check-B-fJT8wY.js";
33
33
  import { t as resolveNodeService } from "./node-service-Da4wpz30.js";
34
34
  import { n as redactSecrets, t as formatGatewayAuthUsed } from "./format-DNqZrSx7.js";
@@ -1,4 +1,4 @@
1
- import { gt as loadOpenClawPlugins, ht as createPluginLoaderLogger } from "./reply-CebOfFpO.js";
1
+ import { gt as loadOpenClawPlugins, ht as createPluginLoaderLogger } from "./reply-DMk4EZm4.js";
2
2
  import { t as createSubsystemLogger } from "./subsystem-8bY95KEB.js";
3
3
  import { D as resolveDefaultAgentWorkspaceDir, c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-CU-9CR31.js";
4
4
  import { i as loadConfig } from "./config-B-7OnHKY.js";
@@ -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-DhajVyRS.js";
3
3
  import { i as loadConfig } from "./config-D-Tvm4yj.js";
4
- import { g as loadOpenClawPlugins, h as createPluginLoaderLogger } from "./subagent-registry-DxAANdOO.js";
4
+ import { g as loadOpenClawPlugins, h as createPluginLoaderLogger } from "./subagent-registry-DfNgHH_n.js";
5
5
 
6
6
  //#region src/plugins/status.ts
7
7
  const log = createSubsystemLogger("plugins");
@@ -9,7 +9,7 @@ import { c as resolveAgentWorkspaceDir } from "./agent-scope-DhajVyRS.js";
9
9
  import { t as buildWorkspaceSkillStatus } from "./skills-status-BECHKy03.js";
10
10
  import { H as VERSION, i as loadConfig, o as readConfigFileSnapshot } from "./config-D-Tvm4yj.js";
11
11
  import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-mR3kLwRx.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-DxAANdOO.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-DfNgHH_n.js";
13
13
  import { F as resolveMainSessionKey, j as resolveFreshSessionTotalTokens, o as loadSessionStore } from "./sessions-CPk6B4FT.js";
14
14
  import { n as listChannelPlugins } from "./plugins-Dhh2a3qc.js";
15
15
  import { o as getTailnetHostname, s as readTailscaleStatusJson } from "./tailscale-BxzsxqAY.js";
@@ -29,7 +29,7 @@ import { t as formatRuntimeStatusWithDetails } from "./runtime-status-D6c3G7my.j
29
29
  import { t as readLastGatewayErrorLine } from "./diagnostics-CqEodocN.js";
30
30
  import { t as renderTable } from "./table-C9BoE_4p.js";
31
31
  import { a as resolveGatewayProbeAuth$1, c as probeGateway, t as runSecurityAudit } from "./audit-Ufqowicf.js";
32
- import { o as resolveHeartbeatSummaryForAgent, t as formatHealthChannelLines } from "./health-fiXB0fGK.js";
32
+ import { o as resolveHeartbeatSummaryForAgent, t as formatHealthChannelLines } from "./health-C47gv6Ik.js";
33
33
  import { g as resolveUpdateChannelDisplay, i as formatGitInstallLabel, m as normalizeUpdateChannel, t as checkUpdateStatus } from "./update-check-DfBZVR4k.js";
34
34
  import { t as resolveNodeService } from "./node-service-B1F4gM4E.js";
35
35
  import { n as redactSecrets, t as formatGatewayAuthUsed } from "./format-B0yJsjEo.js";
@@ -1,5 +1,5 @@
1
- import { P as resolveConfigDir } from "./registry-DpeZG5fo.js";
2
- import { d as detectMime, f as extensionForMime } from "./image-ops-DSHe7MDO.js";
1
+ import { P as resolveConfigDir } from "./registry-wimgwqAA.js";
2
+ import { d as detectMime, f as extensionForMime } from "./image-ops-Bgwps3ZY.js";
3
3
  import fs from "node:fs/promises";
4
4
  import path from "node:path";
5
5
  import crypto from "node:crypto";
@@ -44105,7 +44105,7 @@ function isVoiceChannelType(type) {
44105
44105
  function createDefaultDeps() {
44106
44106
  return {
44107
44107
  sendMessageWhatsApp: async (...args) => {
44108
- const { sendMessageWhatsApp } = await import("./web-CxJJ94q0.js");
44108
+ const { sendMessageWhatsApp } = await import("./web-ifWeOB6N.js");
44109
44109
  return await sendMessageWhatsApp(...args);
44110
44110
  },
44111
44111
  sendMessageTelegram: async (...args) => {
@@ -52921,7 +52921,10 @@ function registerSlackMessageEvents(params) {
52921
52921
  ctx.app.event("app_mention", async ({ event, body }) => {
52922
52922
  try {
52923
52923
  if (ctx.shouldDropMismatchedSlackEvent(body)) return;
52924
- await handleSlackMessage(event, {
52924
+ const mention = event;
52925
+ const channelType = mention.channel_type;
52926
+ if (channelType === "im" || channelType === "mpim") return;
52927
+ await handleSlackMessage(mention, {
52925
52928
  source: "app_mention",
52926
52929
  wasMentioned: true
52927
52930
  });
@@ -54457,6 +54460,11 @@ function createSlackThreadTsResolver(params) {
54457
54460
 
54458
54461
  //#endregion
54459
54462
  //#region src/slack/monitor/message-handler.ts
54463
+ const APP_MENTION_RETRY_TTL_MS = 6e4;
54464
+ function buildSeenMessageKey(channelId, ts) {
54465
+ if (!channelId || !ts) return null;
54466
+ return `${channelId}:${ts}`;
54467
+ }
54460
54468
  function createSlackMessageHandler(params) {
54461
54469
  const { ctx, account } = params;
54462
54470
  const debounceMs = resolveInboundDebounceMs({
@@ -54464,6 +54472,21 @@ function createSlackMessageHandler(params) {
54464
54472
  channel: "slack"
54465
54473
  });
54466
54474
  const threadTsResolver = createSlackThreadTsResolver({ client: ctx.app.client });
54475
+ const appMentionRetryKeys = /* @__PURE__ */ new Map();
54476
+ const pruneAppMentionRetryKeys = (now) => {
54477
+ for (const [key, expiresAt] of appMentionRetryKeys) if (expiresAt <= now) appMentionRetryKeys.delete(key);
54478
+ };
54479
+ const rememberAppMentionRetryKey = (key) => {
54480
+ const now = Date.now();
54481
+ pruneAppMentionRetryKeys(now);
54482
+ appMentionRetryKeys.set(key, now + APP_MENTION_RETRY_TTL_MS);
54483
+ };
54484
+ const consumeAppMentionRetryKey = (key) => {
54485
+ pruneAppMentionRetryKeys(Date.now());
54486
+ if (!appMentionRetryKeys.has(key)) return false;
54487
+ appMentionRetryKeys.delete(key);
54488
+ return true;
54489
+ };
54467
54490
  const debouncer = createInboundDebouncer({
54468
54491
  debounceMs,
54469
54492
  buildKey: (entry) => {
@@ -54496,7 +54519,14 @@ function createSlackMessageHandler(params) {
54496
54519
  wasMentioned: combinedMentioned || last.opts.wasMentioned
54497
54520
  }
54498
54521
  });
54499
- if (!prepared) return;
54522
+ const seenMessageKey = buildSeenMessageKey(last.message.channel, last.message.ts);
54523
+ if (!prepared) {
54524
+ const hasMessageSource = entries.some((entry) => entry.opts.source === "message");
54525
+ const hasAppMentionSource = entries.some((entry) => entry.opts.source === "app_mention");
54526
+ if (seenMessageKey && hasMessageSource && !hasAppMentionSource) rememberAppMentionRetryKey(seenMessageKey);
54527
+ return;
54528
+ }
54529
+ if (seenMessageKey) appMentionRetryKeys.delete(seenMessageKey);
54500
54530
  if (entries.length > 1) {
54501
54531
  const ids = entries.map((entry) => entry.message.ts).filter(Boolean);
54502
54532
  if (ids.length > 0) {
@@ -54514,7 +54544,10 @@ function createSlackMessageHandler(params) {
54514
54544
  return async (message, opts) => {
54515
54545
  if (opts.source === "message" && message.type !== "message") return;
54516
54546
  if (opts.source === "message" && message.subtype && message.subtype !== "file_share" && message.subtype !== "bot_message") return;
54517
- if (ctx.markMessageSeen(message.channel, message.ts)) return;
54547
+ const seenMessageKey = buildSeenMessageKey(message.channel, message.ts);
54548
+ if (seenMessageKey && ctx.markMessageSeen(message.channel, message.ts)) {
54549
+ if (opts.source !== "app_mention" || !consumeAppMentionRetryKey(seenMessageKey)) return;
54550
+ }
54518
54551
  const resolvedMessage = await threadTsResolver.resolve({
54519
54552
  message,
54520
54553
  source: opts.source
@@ -59427,7 +59460,7 @@ function loadWebLoginQr() {
59427
59460
  return webLoginQrPromise;
59428
59461
  }
59429
59462
  function loadWebChannel() {
59430
- webChannelPromise ??= import("./web-CxJJ94q0.js");
59463
+ webChannelPromise ??= import("./web-ifWeOB6N.js");
59431
59464
  return webChannelPromise;
59432
59465
  }
59433
59466
  function loadWhatsAppActions() {
@@ -63998,6 +64031,7 @@ function resolveSessionLane(key) {
63998
64031
  }
63999
64032
  function resolveGlobalLane(lane) {
64000
64033
  const cleaned = lane?.trim();
64034
+ if (cleaned === CommandLane.Cron) return CommandLane.Nested;
64001
64035
  return cleaned ? cleaned : CommandLane.Main;
64002
64036
  }
64003
64037
  function resolveEmbeddedSessionLane(key) {
@@ -1,4 +1,4 @@
1
- import { at as isFileLogLevelEnabled, ct as levelToMinLevel, lt as normalizeLogLevel, n as CHAT_CHANNEL_ORDER, q as isVerbose, rt as getChildLogger, st as loggingState, ut as readLoggingConfig } from "./registry-DpeZG5fo.js";
1
+ import { at as isFileLogLevelEnabled, ct as levelToMinLevel, lt as normalizeLogLevel, n as CHAT_CHANNEL_ORDER, q as isVerbose, rt as getChildLogger, st as loggingState, ut as readLoggingConfig } from "./registry-wimgwqAA.js";
2
2
  import { Chalk } from "chalk";
3
3
 
4
4
  //#region src/terminal/progress-line.ts
@@ -1,4 +1,4 @@
1
- import { r as markdownToIRWithMeta } from "./ir-p6xtdC2E.js";
1
+ import { r as markdownToIRWithMeta } from "./ir-C12Waxsc.js";
2
2
  import { t as renderMarkdownWithMarkers } from "./render-CDCvpfhh.js";
3
3
 
4
4
  //#region src/markdown/tables.ts
@@ -1,5 +1,5 @@
1
- import { c as detectMime } from "./image-ops-CZqefviF.js";
2
- import { r as sanitizeToolResultImages } from "./tool-images-CbUjCJCh.js";
1
+ import { d as detectMime } from "./image-ops-Bgwps3ZY.js";
2
+ import { r as sanitizeToolResultImages } from "./tool-images-D4n7jwYR.js";
3
3
  import fs from "node:fs/promises";
4
4
 
5
5
  //#region src/agents/tools/common.ts
@@ -1,9 +1,9 @@
1
1
  import { p as normalizeAccountId } from "./session-key-BCzIW1Y2.js";
2
- import { D as escapeRegExp, M as normalizeE164, i as getChatChannelMeta, l as requireActivePluginRegistry, n as CHAT_CHANNEL_ORDER } from "./registry-DpeZG5fo.js";
3
- import { _ as resolveDiscordAccount, a as normalizeWhatsAppTarget, d as resolveSlackAccount, f as resolveSlackReplyToMode, l as resolveTelegramAccount } from "./plugins-BfEZesgD.js";
4
- import { t as resolveWhatsAppAccount } from "./accounts-C8m4ADkw.js";
5
- import { n as resolveSignalAccount } from "./accounts-CQT5u65w.js";
6
- import { t as resolveIMessageAccount } from "./accounts-DFrH9IVU.js";
2
+ import { D as escapeRegExp, M as normalizeE164, i as getChatChannelMeta, l as requireActivePluginRegistry, n as CHAT_CHANNEL_ORDER } from "./registry-wimgwqAA.js";
3
+ import { _ as resolveDiscordAccount, a as normalizeWhatsAppTarget, d as resolveSlackAccount, f as resolveSlackReplyToMode, l as resolveTelegramAccount } from "./plugins-9d8EqI-y.js";
4
+ import { t as resolveWhatsAppAccount } from "./accounts-DQo5uGA3.js";
5
+ import { n as resolveSignalAccount } from "./accounts-CJEDkyd7.js";
6
+ import { t as resolveIMessageAccount } from "./accounts-CaJg9v7D.js";
7
7
 
8
8
  //#region src/shared/string-normalization.ts
9
9
  function normalizeStringEntries(list) {
@@ -1,4 +1,4 @@
1
- import { D as escapeRegExp } from "./registry-DpeZG5fo.js";
1
+ import { D as escapeRegExp } from "./registry-wimgwqAA.js";
2
2
 
3
3
  //#region src/auto-reply/tokens.ts
4
4
  const HEARTBEAT_TOKEN = "HEARTBEAT_OK";
@@ -1,5 +1,5 @@
1
- import { t as createSubsystemLogger } from "./subsystem-BF9jT_Nw.js";
2
- import { i as getImageMetadata, n as buildImageResizeSideGrid, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS } from "./image-ops-DSHe7MDO.js";
1
+ import { t as createSubsystemLogger } from "./subsystem-BEdh_1O5.js";
2
+ import { i as getImageMetadata, n as buildImageResizeSideGrid, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS } from "./image-ops-Bgwps3ZY.js";
3
3
 
4
4
  //#region src/agents/image-sanitization.ts
5
5
  const DEFAULT_IMAGE_MAX_DIMENSION_PX = 1200;
@@ -1,6 +1,6 @@
1
- import "./paths-CyR9Pa1R.js";
2
- import { W as isPlainObject } from "./registry-DpeZG5fo.js";
3
- import { t as createSubsystemLogger } from "./subsystem-BF9jT_Nw.js";
1
+ import "./paths-CkkDESQ2.js";
2
+ import { W as isPlainObject } from "./registry-wimgwqAA.js";
3
+ import { t as createSubsystemLogger } from "./subsystem-BEdh_1O5.js";
4
4
  import { createHash } from "node:crypto";
5
5
 
6
6
  //#region src/agents/tool-loop-detection.ts
@@ -16,7 +16,7 @@ import "./client-DrK7aLru.js";
16
16
  import "./call-mR3kLwRx.js";
17
17
  import "./message-channel-CVHJDItx.js";
18
18
  import "./pairing-token-Byh6drgn.js";
19
- import { bt as trimLogTail } from "./subagent-registry-DxAANdOO.js";
19
+ import { bt as trimLogTail } from "./subagent-registry-DfNgHH_n.js";
20
20
  import "./sessions-CPk6B4FT.js";
21
21
  import "./tokens-ANnYrShl.js";
22
22
  import "./plugins-Dhh2a3qc.js";
@@ -111,10 +111,10 @@ import "./npm-registry-spec-DkaZNHAW.js";
111
111
  import "./skill-scanner-Cb7mXGIR.js";
112
112
  import "./installs-DDy4Ij7L.js";
113
113
  import "./channels-status-issues-CmHZBwQD.js";
114
- import "./register.subclis-B4o6BJ2N.js";
115
- import "./command-registry-BmpWsMTW.js";
114
+ import "./register.subclis-u7MHey8m.js";
115
+ import "./command-registry-C8m3qBQR.js";
116
116
  import "./program-context-5q-A0wbP.js";
117
- import { r as installCompletion } from "./completion-cli-ilRVVz-z.js";
117
+ import { r as installCompletion } from "./completion-cli-Dto_ttBF.js";
118
118
  import "./daemon-runtime-DAGH3gDr.js";
119
119
  import { r as parseSemver } from "./runtime-guard-Cs_ClFhP.js";
120
120
  import "./systemd-BrybH4HV.js";
@@ -124,19 +124,19 @@ import "./systemd-hints-HNQfjwXm.js";
124
124
  import { a as terminateStaleGatewayPids, i as renderRestartDiagnostics, o as waitForGatewayHealthyRestart, r as runDaemonRestart, s as runDaemonInstall } from "./daemon-cli-2S8yGYK9.js";
125
125
  import "./diagnostics-CqEodocN.js";
126
126
  import { t as renderTable } from "./table-C9BoE_4p.js";
127
- import "./health-fiXB0fGK.js";
127
+ import "./health-C47gv6Ik.js";
128
128
  import "./control-ui-assets-BC2GSxMJ.js";
129
129
  import { a as resolveNpmChannelTag, c as DEFAULT_PACKAGE_CHANNEL, d as formatUpdateChannelLabel, g as resolveUpdateChannelDisplay, h as resolveEffectiveUpdateChannel, m as normalizeUpdateChannel, n as compareSemverStrings, r as fetchNpmTagVersion, s as DEFAULT_GIT_CHANNEL, t as checkUpdateStatus, u as channelToNpmTag } from "./update-check-DfBZVR4k.js";
130
130
  import "./dm-policy-shared-BAXKVTCe.js";
131
131
  import { i as resolveUpdateAvailability, n as formatUpdateOneLiner, t as formatUpdateAvailableHint } from "./status.update-CWpLMm6c.js";
132
- import { a as detectGlobalInstallManagerForRoot, c as readPackageName, i as detectGlobalInstallManagerByPresence, l as readPackageVersion, n as runGatewayUpdate, o as globalInstallArgs, r as cleanupGlobalRenameDirs, s as resolveGlobalPackageRoot } from "./session-dirs-BksC_ZJx.js";
132
+ import { a as detectGlobalInstallManagerForRoot, c as readPackageName, i as detectGlobalInstallManagerByPresence, l as readPackageVersion, n as runGatewayUpdate, o as globalInstallArgs, r as cleanupGlobalRenameDirs, s as resolveGlobalPackageRoot } from "./session-dirs-Dbcjy8I0.js";
133
133
  import "./logging-PVQxLC6I.js";
134
134
  import { n as updateNpmInstalledPlugins, t as syncPluginsForUpdateChannel } from "./update-ChO83Ek6.js";
135
135
  import "./doctor-config-flow-DnW1UlVT.js";
136
136
  import "./systemd-linger-B8oXYjfA.js";
137
137
  import "./health-format-DkjSgkDx.js";
138
- import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-BB0toldS.js";
139
- import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-7mRw3cHh.js";
138
+ import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-Bymthwby.js";
139
+ import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-Dwy9h3mp.js";
140
140
  import { spawn, spawnSync } from "node:child_process";
141
141
  import os from "node:os";
142
142
  import path from "node:path";