@termix-it/cryptoclaw 1.1.6 → 1.1.8

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 (402) hide show
  1. package/dist/{accounts-D35rx3gg.js → accounts-4l7ba973.js} +1 -1
  2. package/dist/{accounts-Du96Wx8V.js → accounts-BE0b9CWs.js} +1 -1
  3. package/dist/{accounts-LGj1Il6r.js → accounts-BcrjW3D1.js} +1 -1
  4. package/dist/{accounts-lOYFKFqj.js → accounts-CAjupeYV.js} +16 -16
  5. package/dist/{accounts-LgFHpzSb.js → accounts-k5nTdi32.js} +1 -1
  6. package/dist/{accounts-BkK7T7q3.js → accounts-yWl6UnE5.js} +7 -7
  7. package/dist/{acp-cli-BVLYN9b6.js → acp-cli-BkRJvbhG.js} +8 -8
  8. package/dist/{active-listener-Cxra3bK5.js → active-listener-D9FARjMd.js} +1 -1
  9. package/dist/{agent-scope-DnGYstsz.js → agent-scope-CRf0l_Gq.js} +17 -17
  10. package/dist/{agents-BgGWuEM4.js → agents-DF9-Gawd.js} +14 -14
  11. package/dist/{agents.config-CBblmxIJ.js → agents.config-CS8KhDyk.js} +1 -1
  12. package/dist/{agents.config-jlSvPmMw.js → agents.config-D-kz_GD7.js} +2 -2
  13. package/dist/{api-key-rotation-CYUsE9se.js → api-key-rotation-C-Q6XdUW.js} +2 -2
  14. package/dist/{api-key-rotation-bH-pRnX0.js → api-key-rotation-C20s2VP6.js} +1 -1
  15. package/dist/{audio-preflight-DwAVbL_O.js → audio-preflight-C7kt2vOu.js} +33 -33
  16. package/dist/{audio-preflight-BxFoXiPf.js → audio-preflight-Det_pb9p.js} +34 -34
  17. package/dist/{audio-transcription-runner-CDMccbtY.js → audio-transcription-runner-CawngPvE.js} +12 -12
  18. package/dist/{audio-transcription-runner-D1MyUZ7c.js → audio-transcription-runner-DKJsRpdc.js} +23 -23
  19. package/dist/{audit-B5zuu-5Z.js → audit-B-SXg-Xk.js} +29 -29
  20. package/dist/{audit-membership-runtime-DCpAfnah.js → audit-membership-runtime-C6dnIaXJ.js} +5 -5
  21. package/dist/{auth-22wVQqM3.js → auth-XpPQf9A8.js} +1 -1
  22. package/dist/{auth-choice-Bfddvmj3.js → auth-choice-CLs5WpL3.js} +11 -11
  23. package/dist/{auth-choice-CEgBDcRt.js → auth-choice-DGDwkTV6.js} +13 -13
  24. package/dist/{auth-choice-BZof8lFS.js → auth-choice-Jp6tkfdI.js} +1 -1
  25. package/dist/{auth-choice.apply-helpers-DXntDnow.js → auth-choice.apply-helpers-lwbv0OFA.js} +1 -1
  26. package/dist/{auth-profiles-O2Q8_o0a.js → auth-profiles-Dhb7Y6H5.js} +16 -16
  27. package/dist/{auth-token-Jtjowoeg.js → auth-token-B8r2bVLN.js} +1 -1
  28. package/dist/{banner-DSSu3MES.js → banner-CxQq-XAy.js} +2 -2
  29. package/dist/{bonjour-discovery-BrgT_UZ5.js → bonjour-discovery-BG6bPBFk.js} +1 -1
  30. package/dist/{browser-cli-DhGYbRc3.js → browser-cli-Bs9Jn2SN.js} +12 -12
  31. package/dist/build-info.json +3 -3
  32. package/dist/bundled/boot-md/handler.js +52 -52
  33. package/dist/bundled/bootstrap-extra-files/handler.js +7 -7
  34. package/dist/bundled/command-logger/handler.js +2 -2
  35. package/dist/bundled/session-memory/handler.js +52 -52
  36. package/dist/bundled/soul-evil/handler.js +5 -5
  37. package/dist/{call-DUvxsaBy.js → call-d1gA727i.js} +10 -10
  38. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  39. package/dist/{channel-account-context-1e3thcpb.js → channel-account-context-Crd0PQwN.js} +5 -5
  40. package/dist/{channel-activity-DU4rVRNu.js → channel-activity-Hho38eZq.js} +3 -3
  41. package/dist/{channel-activity-BdjzKjf6.js → channel-activity-I7fJP8eL.js} +1 -1
  42. package/dist/{channel-options-uwhpiId_.js → channel-options-COkismPi.js} +3 -3
  43. package/dist/{channel-options-DhT3itUm.js → channel-options-DQj_aEWz.js} +1 -1
  44. package/dist/{channel-selection-H4NMMvR3.js → channel-selection-BgyyrS1w.js} +1 -1
  45. package/dist/{channel-web-VY7QYUgs.js → channel-web-CW3TIYaD.js} +1 -1
  46. package/dist/{channel-web-Dfitllt8.js → channel-web-DZGV2k-s.js} +17 -17
  47. package/dist/{channels-cli-CHNWup9-.js → channels-cli-BHfMSWEJ.js} +6 -6
  48. package/dist/{channels-cli-BK1fnXeM.js → channels-cli-DIC4XXvf.js} +93 -93
  49. package/dist/{channels-status-issues-CUJB3e53.js → channels-status-issues-e73oAXc5.js} +1 -1
  50. package/dist/{chrome-CYBD3o7s.js → chrome-dfA2MJQH.js} +4 -4
  51. package/dist/{chrome-Coir_NPd.js → chrome-palWvTtp.js} +18 -18
  52. package/dist/{clawbot-cli-DQDZpHp6.js → clawbot-cli-B--Pll5v.js} +11 -11
  53. package/dist/{cli-C38DxImL.js → cli-9GAun4Gj.js} +1 -1
  54. package/dist/{cli-Dp2ZovoW.js → cli-Df4l1wtv.js} +73 -73
  55. package/dist/{client-DPmb6CIu.js → client-BEF5fXj0.js} +2 -2
  56. package/dist/{command-registry-CyZnzlu4.js → command-registry-CBfNNhgy.js} +11 -11
  57. package/dist/{command-secret-targets-DjEo9W7_.js → command-secret-targets-CnULpcUz.js} +4 -4
  58. package/dist/{commands-CUPc3v8D.js → commands-NJXpIW-o.js} +1 -1
  59. package/dist/{commands-registry-e9j4etib.js → commands-registry-A3LstXeY.js} +4 -4
  60. package/dist/{commands-registry-BLcZaG1W.js → commands-registry-leOuyQey.js} +3 -3
  61. package/dist/{completion-cli-BnCuqVW8.js → completion-cli-Bai3pUlw.js} +1 -1
  62. package/dist/{completion-cli-DWGdZ-R1.js → completion-cli-FP9HAEQ3.js} +13 -13
  63. package/dist/{config-cli-N3Kt8WRz.js → config-cli-9yew-sxg.js} +7 -7
  64. package/dist/{config-cli-B11T53Tu.js → config-cli-DWiLD1eS.js} +1 -1
  65. package/dist/{config-guard-CiLylaoa.js → config-guard-QxrUunD8.js} +3 -3
  66. package/dist/{config-validation-CmNLlf8O.js → config-validation-XC8HKQ95.js} +3 -3
  67. package/dist/{configure-2IzSrcnf.js → configure-CnoYUqR6.js} +3 -3
  68. package/dist/{configure-kCtv9jdh.js → configure-DeAtHK8r.js} +17 -17
  69. package/dist/control-ui/apple-touch-icon.png +0 -0
  70. package/dist/control-ui/assets/{index-Qb3PJV7U.js → index-CfSMqZGL.js} +3 -3
  71. package/dist/control-ui/assets/{index-Qb3PJV7U.js.map → index-CfSMqZGL.js.map} +1 -1
  72. package/dist/control-ui/favicon-32.png +0 -0
  73. package/dist/control-ui/favicon.svg +4 -4
  74. package/dist/control-ui/index.html +2 -2
  75. package/dist/{control-ui-assets-DsgdrhIz.js → control-ui-assets-C08JRwwL.js} +1 -1
  76. package/dist/{cron-cli-C0KJ0GIR.js → cron-cli-TmXvhnuy.js} +11 -11
  77. package/dist/{daemon-cli-DVxXbSSo.js → daemon-cli-CxdLAg0T.js} +15 -15
  78. package/dist/{daemon-install-Cwmezi6s.js → daemon-install-Z0aYOW9C.js} +4 -4
  79. package/dist/{daemon-install-helpers-BAt1F-Sd.js → daemon-install-helpers-DoeVkj6M.js} +11 -11
  80. package/dist/{deliver-Bfo198gf.js → deliver-JkYjt9Qz.js} +20 -20
  81. package/dist/{deliver-g75DXZ54.js → deliver-KC6M1Po5.js} +7 -7
  82. package/dist/deliver-runtime-BvTbrDXE.js +37 -0
  83. package/dist/deliver-runtime-C5J_x4jO.js +62 -0
  84. package/dist/deps-send-discord.runtime-1mqY0Pn3.js +27 -0
  85. package/dist/{deps-send-discord.runtime-BpCYDmRD.js → deps-send-discord.runtime-C2JzTkWt.js} +16 -16
  86. package/dist/deps-send-imessage.runtime-BFk4Fvrd.js +36 -0
  87. package/dist/deps-send-imessage.runtime-NAKUx6Vy.js +26 -0
  88. package/dist/deps-send-signal.runtime-CHqnnRXO.js +25 -0
  89. package/dist/deps-send-signal.runtime-Lw_dTkGz.js +35 -0
  90. package/dist/deps-send-slack.runtime-CbGlCNTX.js +23 -0
  91. package/dist/{deps-send-slack.runtime-CESru84F.js → deps-send-slack.runtime-Ucy4geO1.js} +14 -14
  92. package/dist/deps-send-telegram.runtime-CgApeKta.js +28 -0
  93. package/dist/{deps-send-telegram.runtime-BJGQ2OvJ.js → deps-send-telegram.runtime-DHzRQJe0.js} +16 -16
  94. package/dist/{deps-send-whatsapp.runtime-CbNuccsY.js → deps-send-whatsapp.runtime-C12KJwTz.js} +3 -3
  95. package/dist/{deps-send-whatsapp.runtime-BthdJVGz.js → deps-send-whatsapp.runtime-C57BrMSK.js} +2 -2
  96. package/dist/deps-send-whatsapp.runtime-CAPjqcnc.js +61 -0
  97. package/dist/deps-send-whatsapp.runtime-CvFgs4NK.js +120 -0
  98. package/dist/{devices-cli-wlLcQp00.js → devices-cli-Cez-Kjzm.js} +8 -8
  99. package/dist/{diagnostic-Cfju3nfo.js → diagnostic-BGtFj4tU.js} +2 -2
  100. package/dist/{diagnostic-DUVtQcqK.js → diagnostic-DlgnWiS3.js} +1 -1
  101. package/dist/{diagnostics-CKx5Fdba.js → diagnostics-B9N9Gclp.js} +5 -5
  102. package/dist/{directory-cli-DKKgOcpZ.js → directory-cli-DElz98Vj.js} +7 -7
  103. package/dist/{dns-cli-D1chgoht.js → dns-cli-NR3uBIKu.js} +5 -5
  104. package/dist/{dock-BApnjSMS.js → dock-DhwktiRh.js} +4 -4
  105. package/dist/{docs-cli-BvOheJtP.js → docs-cli-DL6UVBO7.js} +4 -4
  106. package/dist/{doctor-completion-CwQVCBv7.js → doctor-completion-BQBZQyQq.js} +1 -1
  107. package/dist/{doctor-completion-BNHmdXaA.js → doctor-completion-CCNHTpp9.js} +2 -2
  108. package/dist/{doctor-config-flow-CoBBtWrG.js → doctor-config-flow-CN_hFkSO.js} +15 -15
  109. package/dist/{enable-D4na731V.js → enable-DTsxqYdj.js} +1 -1
  110. package/dist/entry.js +2 -2
  111. package/dist/{errors-V2Dfp7m3.js → errors-C1YF712P.js} +1 -1
  112. package/dist/{exec-approvals-allowlist-CyY44YOj.js → exec-approvals-allowlist-BMnVDBPF.js} +1 -1
  113. package/dist/{exec-approvals-cli-mrJDJoMt.js → exec-approvals-cli-OEgUH8zR.js} +16 -16
  114. package/dist/{exec-safe-bin-runtime-policy-BP-hoGyD.js → exec-safe-bin-runtime-policy-DH8C1i7S.js} +2 -2
  115. package/dist/extensionAPI.js +1 -1
  116. package/dist/{fetch-DpZmzITI.js → fetch-CZCJhSwX.js} +3 -3
  117. package/dist/{fetch-CzmuidZT.js → fetch-_iocPLV2.js} +5 -5
  118. package/dist/{fetch-guard-CLZ6u2jq.js → fetch-guard-B5ANJDou.js} +1 -1
  119. package/dist/{fetch-guard-BvTjDgDZ.js → fetch-guard-CiQUuV0r.js} +2 -2
  120. package/dist/{frontmatter-ZZvA8UXc.js → frontmatter-Dn68lQ_o.js} +3 -3
  121. package/dist/{fs-safe-CnDw0p6S.js → fs-safe-B5PDQs4d.js} +24 -24
  122. package/dist/{fs-safe-urUZDVCv.js → fs-safe-BLpOReWZ.js} +4 -4
  123. package/dist/{gateway-cli-Dr0XRe7-.js → gateway-cli-CyeZq5AC.js} +8 -8
  124. package/dist/{gateway-cli-DqZElDVQ.js → gateway-cli-DLWVlNsd.js} +153 -153
  125. package/dist/{gateway-rpc-sfxU7DjV.js → gateway-rpc-Cs0KliQu.js} +1 -1
  126. package/dist/{github-copilot-token-D7knylDF.js → github-copilot-token-DDa7O18e.js} +7 -7
  127. package/dist/{health-BtR5qiQu.js → health-DD6PJgN8.js} +11 -11
  128. package/dist/{health-SohRW0Au.js → health-DL7YyJbv.js} +1 -1
  129. package/dist/{hooks-cli-DDbWkzaW.js → hooks-cli-BeB2OkD-.js} +81 -81
  130. package/dist/{hooks-cli-DA-hMHRE.js → hooks-cli-Cmy4PbRW.js} +2 -2
  131. package/dist/{hooks-status-DBxEspfP.js → hooks-status-DyvZhQMV.js} +1 -1
  132. package/dist/{image-C8nVgFoF.js → image-BlRI3dXw.js} +6 -6
  133. package/dist/{image-DqLDeq0S.js → image-Cb-G2N6H.js} +5 -5
  134. package/dist/{image-ops-DQnLLCmy.js → image-ops-CX39q-u7.js} +10 -10
  135. package/dist/{image-ops-BIpUUDZD.js → image-ops-D7mq-4y1.js} +2 -2
  136. package/dist/image-runtime-7mmAmEoX.js +56 -0
  137. package/dist/image-runtime-Cp3I725X.js +30 -0
  138. package/dist/index.js +6 -6
  139. package/dist/{inspect-DmEOlMyu.js → inspect-DCCTTM2p.js} +4 -4
  140. package/dist/{install-safe-path-lYB1n1zs.js → install-safe-path-B-vV6gg0.js} +25 -25
  141. package/dist/{installs-BqdehfDe.js → installs-D2BwpBpI.js} +9 -9
  142. package/dist/{ipv4-Dw7o7EN4.js → ipv4-B7QK2crX.js} +1 -1
  143. package/dist/{ir-BFLOrX1v.js → ir-BJoTxOuZ.js} +8 -8
  144. package/dist/{ir-Dc-ltzcD.js → ir-Dpg87zYv.js} +7 -7
  145. package/dist/{issue-format-B3rjIDp2.js → issue-format-D_dmhPpa.js} +1 -1
  146. package/dist/{json-files-Gs9H0Aq3.js → json-files-DKBWexTJ.js} +8 -8
  147. package/dist/{legacy-names-cvlkUdK7.js → legacy-names-BAiRv0I2.js} +1 -1
  148. package/dist/{lifecycle-core-f8bB01eE.js → lifecycle-core-BdCUsFAO.js} +5 -5
  149. package/dist/llm-slug-generator.js +52 -52
  150. package/dist/{logger-BXGNqQxk.js → logger-C53B395N.js} +1 -1
  151. package/dist/{login-Yxw0ePBs.js → login-ByMSGK1J.js} +3 -3
  152. package/dist/{login-BMty1inC.js → login-CHsCISh4.js} +5 -5
  153. package/dist/{login-qr-BVyS4U6r.js → login-qr-BEW3jIOt.js} +11 -11
  154. package/dist/{login-qr-BJCPbTFZ.js → login-qr-CDwnwe9P.js} +6 -6
  155. package/dist/{logs-cli-D5fWLF2F.js → logs-cli-skIcVW3V.js} +9 -9
  156. package/dist/{manager-CLRUN9PX.js → manager-CJIx-nFA.js} +14 -14
  157. package/dist/{manager-Cz6WMkvV.js → manager-Dfrejf6z.js} +13 -13
  158. package/dist/{manager-runtime-BxaiDdDE.js → manager-runtime-C21y6GjQ.js} +9 -9
  159. package/dist/manager-runtime-DacMHR37.js +19 -0
  160. package/dist/{manifest-registry-ZTwWlNy8.js → manifest-registry-B-2nrmVS.js} +1 -1
  161. package/dist/{memory-cli-1oaIDOW8.js → memory-cli-BKJMqEje.js} +12 -12
  162. package/dist/{model-4MYhtwmk.js → model-BF-E_mpk.js} +2 -2
  163. package/dist/{model-catalog-Bq8ljVOk.js → model-catalog-C2xpcL9w.js} +3 -3
  164. package/dist/{model-picker-MNBPQ3J0.js → model-picker-B_jBkcxo.js} +4 -4
  165. package/dist/{model-selection-4Sj13O94.js → model-selection-e9hodq0l.js} +43 -43
  166. package/dist/{models-cli-Da9VNU1F.js → models-cli-C0q5qXeQ.js} +2 -2
  167. package/dist/{models-cli-CXBkorTt.js → models-cli-QTm186Iq.js} +78 -78
  168. package/dist/{models-config-rHYOUx9N.js → models-config-Bzcv6yHw.js} +6 -6
  169. package/dist/{models-BA-4owed.js → models-kMN-tUPU.js} +17 -17
  170. package/dist/{net-WImcDVCL.js → net-B4T9jJmY.js} +2 -2
  171. package/dist/{node-cli-0d0U2A1N.js → node-cli-pYAcollM.js} +33 -33
  172. package/dist/{node-command-policy-BsxOgSi5.js → node-command-policy-CEkzpJ-E.js} +1 -1
  173. package/dist/{node-service-BvafMFan.js → node-service-DoeR9Tg_.js} +1 -1
  174. package/dist/{nodes-cli-b8Ghnuxt.js → nodes-cli-Bx2ytnbF.js} +16 -16
  175. package/dist/{nodes-screen-ChMr3Xvv.js → nodes-screen-D4GSrs9P.js} +7 -7
  176. package/dist/{npm-pack-install-Cq3pNk7b.js → npm-pack-install-CR0ksmYd.js} +18 -18
  177. package/dist/{npm-resolution-DcToGf31.js → npm-resolution-BkWQgNIO.js} +4 -4
  178. package/dist/{npm-resolution-C873xoG-.js → npm-resolution-CQl1JtKB.js} +1 -1
  179. package/dist/{onboard-DeLF8XEh.js → onboard-BCnqRDky.js} +2 -2
  180. package/dist/{onboard-CUTVb79X.js → onboard-CQ-YoTSl.js} +6 -6
  181. package/dist/{onboard-channels-tfZfzFUy.js → onboard-channels-B2GvfCnG.js} +21 -21
  182. package/dist/{onboard-channels-Cji_Bpi5.js → onboard-channels-BsuqwJXh.js} +1 -1
  183. package/dist/{onboard-custom-Cpf2aU9S.js → onboard-custom-DygXBNvm.js} +4 -4
  184. package/dist/{onboard-helpers-CEIyWqFt.js → onboard-helpers-DBgIqxpx.js} +10 -10
  185. package/dist/{onboard-hooks-cPtbvxIQ.js → onboard-hooks-CKJoEftC.js} +4 -4
  186. package/dist/{onboard-remote-BWxqa7D6.js → onboard-remote-eycsmUSY.js} +4 -4
  187. package/dist/{onboard-skills-BjGs7gMo.js → onboard-skills-qZsTdEYi.js} +4 -4
  188. package/dist/{onboarding-ChCan-RJ.js → onboarding-BY3YZMkn.js} +16 -16
  189. package/dist/{onboarding-Coslo6Og.js → onboarding-DR-2kdRy.js} +5 -5
  190. package/dist/{onboarding.finalize-DsRnSME_.js → onboarding.finalize-B_gI9SXJ.js} +87 -87
  191. package/dist/{onboarding.finalize-BHdqLBS4.js → onboarding.finalize-CEgugO0l.js} +5 -5
  192. package/dist/{onboarding.gateway-config-CkT0qEDp.js → onboarding.gateway-config-D0IdOPlC.js} +18 -18
  193. package/dist/{onboarding.secret-input-C7qPkRfU.js → onboarding.secret-input-B92nv1e5.js} +1 -1
  194. package/dist/{openai-model-default-C4ZEdxRm.js → openai-model-default-hj3S7o-G.js} +2 -2
  195. package/dist/{openclaw-root-3A_8MzYe.js → openclaw-root-CcI1kSyI.js} +8 -8
  196. package/dist/{outbound-DTQi4eVy.js → outbound-BZqL8UdJ.js} +6 -6
  197. package/dist/{outbound-attachment-BV-XqIuc.js → outbound-attachment-DFjyJ3Np.js} +2 -2
  198. package/dist/{outbound-attachment-CkmduxIi.js → outbound-attachment-wzHGF-Is.js} +2 -2
  199. package/dist/{outbound-ChrgPoxb.js → outbound-ev7SVuPh.js} +3 -3
  200. package/dist/{pairing-cli-DAiiAM8B.js → pairing-cli-BEwqqs3y.js} +8 -8
  201. package/dist/{pairing-labels-CGVQ42A3.js → pairing-labels-CAXv-Bhv.js} +1 -1
  202. package/dist/{pairing-store-W5camsG4.js → pairing-store-Cw7fg9R2.js} +3 -3
  203. package/dist/{path-alias-guards-CQsCVlSQ.js → path-alias-guards-C74pGxcZ.js} +3 -3
  204. package/dist/{path-alias-guards-DcWktNGt.js → path-alias-guards-It4BBRdm.js} +1 -1
  205. package/dist/{path-safety-BrZp6wHv.js → path-safety-Ck76OVAf.js} +1 -1
  206. package/dist/{paths-DvmtmdGA.js → paths-A42qSVaB.js} +9 -9
  207. package/dist/{paths-Cvc9EM8Y.js → paths-C6TxBCvO.js} +5 -5
  208. package/dist/{paths-BWg7M5Yy.js → paths-CZ0nrg7g.js} +3 -3
  209. package/dist/{pi-embedded-CHY0kd6o.js → pi-embedded-BNcbv6lg.js} +188 -179
  210. package/dist/{pi-embedded-helpers-Ci0rozAP.js → pi-embedded-helpers-CE9KKP1Q.js} +52 -52
  211. package/dist/{pi-embedded-helpers-66TKj98I.js → pi-embedded-helpers-CU3j5zQw.js} +6 -6
  212. package/dist/{pi-embedded-_oMMbakZ.js → pi-embedded-zWzYuQIg.js} +33 -24
  213. package/dist/{pi-model-discovery-DtqUetHg.js → pi-model-discovery-32EFg27L.js} +7 -7
  214. package/dist/{pi-model-discovery-Bs768Cx7.js → pi-model-discovery-Ci3qWkfz.js} +1 -1
  215. package/dist/pi-model-discovery-runtime-C8SNNnEN.js +12 -0
  216. package/dist/{pi-model-discovery-runtime-DEV-guE_.js → pi-model-discovery-runtime-CQWul9Vg.js} +5 -5
  217. package/dist/{pi-tools.before-tool-call.runtime-CkQ1AgXu.js → pi-tools.before-tool-call.runtime-BfjlGXIc.js} +10 -10
  218. package/dist/{pi-tools.before-tool-call.runtime-gtwRqfD1.js → pi-tools.before-tool-call.runtime-C3GLLjEH.js} +5 -5
  219. package/dist/{pi-tools.policy-CQSaeIZr.js → pi-tools.policy-DwQdI7Kl.js} +5 -5
  220. package/dist/{plugin-auto-enable-z-6f3_56.js → plugin-auto-enable-apzoyUq4.js} +3 -3
  221. package/dist/{plugin-registry-CqaLj5NI.js → plugin-registry-B8gsdjW8.js} +3 -3
  222. package/dist/{plugin-registry-CxwuWddJ.js → plugin-registry-BVTvJ-wO.js} +1 -1
  223. package/dist/plugin-sdk/{channel-web-BlIQD83I.js → channel-web-B5wxTr-8.js} +1 -1
  224. package/dist/plugin-sdk/{channel-web-CuX4_OOJ.js → channel-web-CXMt7BY7.js} +1 -1
  225. package/dist/plugin-sdk/{deps-send-whatsapp.runtime-MsowpjAX.js → deps-send-whatsapp.runtime-B3vpd-GR.js} +3 -3
  226. package/dist/plugin-sdk/{deps-send-whatsapp.runtime-BjQGa9z_.js → deps-send-whatsapp.runtime-LYh1VbZJ.js} +3 -3
  227. package/dist/plugin-sdk/index.js +2 -2
  228. package/dist/plugin-sdk/{reply-C7BzXVHh.js → reply-CPlMOjnY.js} +33 -24
  229. package/dist/plugin-sdk/{reply-DTRgf1F0.js → reply-D3osmjmY.js} +33 -24
  230. package/dist/plugin-sdk/{slash-dispatch.runtime-B8aJMkx9.js → slash-dispatch.runtime-BrC7vdR-.js} +1 -1
  231. package/dist/plugin-sdk/{slash-dispatch.runtime-BHeslQ9I.js → slash-dispatch.runtime-DB8Pxn4H.js} +1 -1
  232. package/dist/plugin-sdk/{subagent-registry-runtime-TPnV-Feh.js → subagent-registry-runtime-BSpW6Un2.js} +1 -1
  233. package/dist/plugin-sdk/{subagent-registry-runtime-C7Bju4fL.js → subagent-registry-runtime-S1tiTKcN.js} +1 -1
  234. package/dist/plugin-sdk/{web-CEmcQCvf.js → web-B9un2u9S.js} +2 -2
  235. package/dist/plugin-sdk/{web-Bkz8JTNB.js → web-BU7hQoaC.js} +2 -2
  236. package/dist/plugin-sdk/whatsapp.js +2 -2
  237. package/dist/{plugins-BPdE2epV.js → plugins-DPzGpZa7.js} +2 -2
  238. package/dist/{plugins-cli-BOBhi6vj.js → plugins-cli-C0rO3NNs.js} +2 -2
  239. package/dist/{plugins-cli-Ypib_ZAu.js → plugins-cli-DzdzJs7b.js} +83 -83
  240. package/dist/{plugins-CL-6YYtw.js → plugins-rc2l4VJe.js} +10 -10
  241. package/dist/{ports-DfNdy6Sc.js → ports-jMaAsRpr.js} +2 -2
  242. package/dist/{ports-DGlQBAf1.js → ports-tNwRP0LA.js} +1 -1
  243. package/dist/{program-BtG4HD-0.js → program-Rna_eew4.js} +81 -81
  244. package/dist/{program-context-B0p9viIw.js → program-context-BfnHzkXT.js} +17 -17
  245. package/dist/{prompt-select-styled-DGdLX1o8.js → prompt-select-styled-1nWCPZKF.js} +40 -40
  246. package/dist/{prompt-select-styled-B75ysiU4.js → prompt-select-styled-BDi5UBUn.js} +4 -4
  247. package/dist/{provider-auth-helpers-CNHiPj2n.js → provider-auth-helpers-Ca66nbS3.js} +1 -1
  248. package/dist/{provider-auth-helpers-BOJRr3AT.js → provider-auth-helpers-DlZjYqHx.js} +5 -5
  249. package/dist/{proxy-env-DTggb3di.js → proxy-env-C2sbN0UU.js} +1 -1
  250. package/dist/{proxy-env--152Piqf.js → proxy-env-CKsbj01c.js} +1 -1
  251. package/dist/{proxy-fetch-y5_PzyGg.js → proxy-fetch-CVSmQMZt.js} +1 -1
  252. package/dist/{push-apns-CFoFAonc.js → push-apns-BNZHhyJh.js} +5 -5
  253. package/dist/{push-apns-D2WXZjcs.js → push-apns-C6wTvyS-.js} +1 -1
  254. package/dist/{pw-ai-CG8VZHWv.js → pw-ai-CWE0qzH7.js} +15 -15
  255. package/dist/{pw-ai-lyRZ2lRj.js → pw-ai-DYmnLtI5.js} +18 -18
  256. package/dist/{qmd-manager-Q-iay5w2.js → qmd-manager-CtnM6lKC.js} +20 -20
  257. package/dist/{qmd-manager-B0rRZcZv.js → qmd-manager-DMSLC2iu.js} +11 -11
  258. package/dist/{qr-cli-M55o9uQ3.js → qr-cli-CiaeVLGo.js} +2 -2
  259. package/dist/{query-expansion-QQ7-fKJN.js → query-expansion-CGww5_oH.js} +12 -12
  260. package/dist/{query-expansion-hv7XTb0w.js → query-expansion-MI1dZ5Nj.js} +6 -6
  261. package/dist/{redact-bA-cQEro.js → redact-BXURioma.js} +1 -1
  262. package/dist/{redact-snapshot-DtttUfNB.js → redact-snapshot-Bg3sMcIL.js} +1 -1
  263. package/dist/{register.agent-Br-Y4UQG.js → register.agent-DDGXcLRy.js} +6 -6
  264. package/dist/{register.agent-Das6WI06.js → register.agent-zhueqr8n.js} +94 -94
  265. package/dist/register.configure-Bi9KnPuo.js +166 -0
  266. package/dist/{register.configure-Ba7_s-QB.js → register.configure-C527VMt_.js} +7 -7
  267. package/dist/{register.maintenance-CviMGLqV.js → register.maintenance-BoigTo1u.js} +7 -7
  268. package/dist/{register.maintenance-CGyhSoIL.js → register.maintenance-RJM2wCjj.js} +95 -95
  269. package/dist/{register.message-nwyAqXBm.js → register.message-C79CWpmt.js} +2 -2
  270. package/dist/{register.message-Cx0R9D0q.js → register.message-CnEQThm-.js} +74 -74
  271. package/dist/{register.onboard-CwgcIoxt.js → register.onboard--1jxOBJy.js} +2 -2
  272. package/dist/{register.onboard-DonQrraB.js → register.onboard-BtBM_7Qe.js} +18 -18
  273. package/dist/{register.setup-MIddZq-r.js → register.setup-B_O283DR.js} +2 -2
  274. package/dist/{register.setup-BPz0sskT.js → register.setup-o2PFpqW-.js} +21 -21
  275. package/dist/{register.status-health-sessions-Bo1NWHTF.js → register.status-health-sessions-ByZDjDZf.js} +3 -3
  276. package/dist/{register.status-health-sessions-CU2aw4Hn.js → register.status-health-sessions-CVjLnoAQ.js} +88 -88
  277. package/dist/{register.subclis-BjXl-tRU.js → register.subclis-Cm8zQPce.js} +31 -31
  278. package/dist/{reply-BqhnZbqb.js → reply-B2vUHn4B.js} +33 -24
  279. package/dist/{rpc-C3fo7Fc4.js → rpc-B2top5G1.js} +1 -1
  280. package/dist/{run-main-BxoqsWSK.js → run-main-Bcwtj17t.js} +92 -92
  281. package/dist/{run-with-concurrency-h53-4TQQ.js → run-with-concurrency-C5E9gJhP.js} +4 -4
  282. package/dist/{runtime-aCMkJumC.js → runtime-Bwd93vnw.js} +3 -3
  283. package/dist/{runtime-config-collectors-BArtbEg9.js → runtime-config-collectors-CrW6OjTr.js} +1 -1
  284. package/dist/runtime-whatsapp-login.runtime-BhVxslsH.js +14 -0
  285. package/dist/{runtime-whatsapp-login.runtime-BoLTF-OO.js → runtime-whatsapp-login.runtime-D08ghHWe.js} +7 -7
  286. package/dist/{runtime-whatsapp-outbound.runtime-CQSrwbqD.js → runtime-whatsapp-outbound.runtime-B3NjGGpU.js} +15 -15
  287. package/dist/runtime-whatsapp-outbound.runtime-CFivqxoq.js +23 -0
  288. package/dist/{sandbox-CswRLZuX.js → sandbox-BvR_Auee.js} +18 -18
  289. package/dist/{sandbox-cli-CvsjCdCm.js → sandbox-cli-myJWqWAa.js} +25 -25
  290. package/dist/{secrets-cli-6shNNxcY.js → secrets-cli-1xQw45fy.js} +11 -11
  291. package/dist/{security-cli-aM0KmhSS.js → security-cli-o0C0Tcn_.js} +42 -42
  292. package/dist/{send-DAyhLyD2.js → send-BWySsurX.js} +7 -7
  293. package/dist/{send-DhC9fy39.js → send-BXBEWheN.js} +5 -5
  294. package/dist/{send-D1oBKmnR.js → send-BlTVCcYd.js} +25 -25
  295. package/dist/{send-DZXs_7ks.js → send-C87tIqIn.js} +7 -7
  296. package/dist/{send-BsLP4ooQ.js → send-CgUKGlTT.js} +4 -4
  297. package/dist/{send-CFJQjYMY.js → send-CkTGqTX7.js} +11 -11
  298. package/dist/{send-C84A606p.js → send-Cpja8Q1N.js} +5 -5
  299. package/dist/{send-Br8GGwD9.js → send-CzH87tPi.js} +6 -6
  300. package/dist/{send-DaH87GbQ.js → send-Dtf_Rspz.js} +8 -8
  301. package/dist/{send-C4j6KYCq.js → send-OP60RbsK.js} +6 -6
  302. package/dist/{server-pG33jNj1.js → server-BtfPMtk8.js} +20 -20
  303. package/dist/{server-context-Chb0NTKM.js → server-context-jBMc5KL9.js} +12 -12
  304. package/dist/{server-lifecycle-B2vW1X8l.js → server-lifecycle-B5N_h0YG.js} +2 -2
  305. package/dist/{server-middleware-BwS1-Xql.js → server-middleware-Bt0-4Zx7.js} +1 -1
  306. package/dist/{server-node-events-Cl_g7u2c.js → server-node-events-8TZ5uZ7a.js} +74 -74
  307. package/dist/{server-node-events-bMD7s7bO.js → server-node-events-DYr84fpq.js} +2 -2
  308. package/dist/{service-ByGIhP5D.js → service-CC8D6AOn.js} +15 -15
  309. package/dist/{session-C-semPd7.js → session-1PuqW42w.js} +1 -1
  310. package/dist/{session-D0o5WcVM.js → session-DmXsj3JD.js} +8 -8
  311. package/dist/{session-utils-DQdPC90P.js → session-utils-B61AjjG6.js} +6 -6
  312. package/dist/{sessions-_J4_CA-P.js → sessions-D1iVO-At.js} +15 -15
  313. package/dist/{sessions-ColhCohs.js → sessions-eRTHXGkn.js} +4 -4
  314. package/dist/{shared-hHKmh3AF.js → shared-3WRMPSAF.js} +3 -3
  315. package/dist/{shared-ZPmPfnoa.js → shared-D0de8v-p.js} +1 -1
  316. package/dist/{skill-commands-H-0YJw4z.js → skill-commands-C6S5sumb.js} +5 -5
  317. package/dist/{skill-commands-JBrsox47.js → skill-commands-DEsgUSH3.js} +9 -9
  318. package/dist/{skill-scanner-C04nRvTZ.js → skill-scanner-CC_bdAdQ.js} +6 -6
  319. package/dist/{skills-BJsPKAnb.js → skills-EgqBDxQ-.js} +3 -3
  320. package/dist/{skills-BV465ziD.js → skills-OklkZyI1.js} +22 -22
  321. package/dist/{skills-cli-Dlle8Jal.js → skills-cli-B62v0B8Y.js} +5 -5
  322. package/dist/{skills-install-Y62tfBpX.js → skills-install-DNWnoHCI.js} +6 -6
  323. package/dist/{skills-status-Ck_Xn7qD.js → skills-status-Bnyg73Jn.js} +1 -1
  324. package/dist/{slash-commands.runtime-Chf-kE5X.js → slash-commands.runtime-DZBOZGXG.js} +11 -11
  325. package/dist/slash-commands.runtime-gtQnheWz.js +17 -0
  326. package/dist/{slash-dispatch.runtime-Dfs5wcag.js → slash-dispatch.runtime-BAgxr2Wk.js} +1 -1
  327. package/dist/{slash-dispatch.runtime-jRSJKExj.js → slash-dispatch.runtime-DBHwam6I.js} +1 -1
  328. package/dist/slash-dispatch.runtime-DwWpNqdA.js +115 -0
  329. package/dist/slash-dispatch.runtime-w1y_0I6t.js +57 -0
  330. package/dist/{slash-skill-commands.runtime-BJJnGhEx.js → slash-skill-commands.runtime-B4sqth9E.js} +15 -15
  331. package/dist/slash-skill-commands.runtime-CA_oN4df.js +21 -0
  332. package/dist/{status-Cs4ozAdx.js → status-CKWYXIIT.js} +27 -27
  333. package/dist/{status-C-0bju9A.js → status-CZ9ThIxK.js} +2 -2
  334. package/dist/{status.update-Bt1iuijX.js → status.update-CO_hSO5b.js} +2 -2
  335. package/dist/{store-1VFEBO08.js → store-BNhebBGr.js} +2 -2
  336. package/dist/{store-DFGXphHz.js → store-ihYI8Jc3.js} +5 -5
  337. package/dist/{subagent-registry-iFkFgxIF.js → subagent-registry-0UHaPcka.js} +178 -169
  338. package/dist/subagent-registry-runtime-CeHVZoXv.js +115 -0
  339. package/dist/{subagent-registry-runtime-CqcbdQlI.js → subagent-registry-runtime-DnFmhubi.js} +1 -1
  340. package/dist/{subagent-registry-runtime-CeOQQxea.js → subagent-registry-runtime-G27e7RrF.js} +1 -1
  341. package/dist/subagent-registry-runtime-HYpWtFUu.js +57 -0
  342. package/dist/{subsystem-CdFYjh2k.js → subsystem-W834z9Wa.js} +14 -14
  343. package/dist/{system-cli-C-E7OxVj.js → system-cli-CAm_NHpc.js} +9 -9
  344. package/dist/{system-run-command-B4X3kEB0.js → system-run-command-Brwa-hul.js} +1 -1
  345. package/dist/{systemd-Z2v3LHpX.js → systemd-CULbJju8.js} +9 -9
  346. package/dist/{systemd-hints-DhbLId9K.js → systemd-hints-D9XaooZC.js} +6 -6
  347. package/dist/{systemd-linger-B6KsEYH6.js → systemd-linger-SLVqtYjz.js} +1 -1
  348. package/dist/{tables-3AsJttWw.js → tables-Devzuq-q.js} +1 -1
  349. package/dist/{tables-DTLvZx1M.js → tables-XtcH-BaF.js} +1 -1
  350. package/dist/{tailnet-CrF4jOdB.js → tailnet-KUL9QhBk.js} +1 -1
  351. package/dist/{target-errors-DXOQGMiV.js → target-errors-CNzteBWz.js} +2 -2
  352. package/dist/{target-errors-CmB0nYoj.js → target-errors-D5MoCoCl.js} +4 -4
  353. package/dist/{thinking-C5t4wH91.js → thinking-X8yYhVf1.js} +6 -6
  354. package/dist/{tokens-DGUER2v0.js → tokens-DxcVnNVJ.js} +1 -1
  355. package/dist/{tool-images-CrdEIwVA.js → tool-images-B-4ixjYn.js} +2 -2
  356. package/dist/{tool-images-BOfCiGuh.js → tool-images-CEFl9wsx.js} +1 -1
  357. package/dist/{tui-CkQCGUpD.js → tui-CRYLJSVD.js} +6 -6
  358. package/dist/{tui-cli-BpyTGK67.js → tui-cli-DB82w6p8.js} +32 -32
  359. package/dist/{update-BB9JebC9.js → update-B1gR_Fep.js} +3 -3
  360. package/dist/{update-cli-D7h2Kq9K.js → update-cli-BDOF9xoT.js} +7 -7
  361. package/dist/{update-cli-DveYI_mi.js → update-cli-C1DALvzD.js} +104 -104
  362. package/dist/{update-runner-RtYc0wSW.js → update-runner-Bw1MljLh.js} +16 -16
  363. package/dist/{update-runner-DPJDvGzk.js → update-runner-C7Ixr_Ti.js} +1 -1
  364. package/dist/{utils-B5eEH24c.js → utils-D2oM4XHm.js} +7 -7
  365. package/dist/{web-BUYMR1EH.js → web-B8rFiLYw.js} +56 -56
  366. package/dist/{web-BLdCaGlZ.js → web-BQWGAzKI.js} +1 -1
  367. package/dist/web-BVIL9iG1.js +119 -0
  368. package/dist/{web-UlvsjtC9.js → web-CuvtNJFQ.js} +2 -2
  369. package/dist/{webhooks-cli-BY1niEMR.js → webhooks-cli-B3iWJR9P.js} +6 -6
  370. package/dist/{whatsapp-actions-BuO3DPPZ.js → whatsapp-actions-B53LlFl5.js} +17 -17
  371. package/dist/{whatsapp-actions-PWrB4d7Y.js → whatsapp-actions-BPIXiPAR.js} +22 -22
  372. package/dist/{with-timeout-a_kBhS5N.js → with-timeout-B5BHCMsa.js} +3 -3
  373. package/dist/{workspace-CiGqHbhA.js → workspace-D8DzE384.js} +1 -1
  374. package/dist/{workspace-Bo-HJMNp.js → workspace-ZgWjBCAm.js} +21 -21
  375. package/dist/{workspace-dirs-C9jwceid.js → workspace-dirs-_RQ0G-Vf.js} +1 -1
  376. package/dist/{wsl-DCEQRUtE.js → wsl-CzuO5aHB.js} +2 -2
  377. package/package.json +1 -1
  378. package/dist/deliver-runtime-FL5_bhMe.js +0 -62
  379. package/dist/deliver-runtime-FUk47wdh.js +0 -37
  380. package/dist/deps-send-discord.runtime-CtY41kC2.js +0 -27
  381. package/dist/deps-send-imessage.runtime-DuDLMZWC.js +0 -26
  382. package/dist/deps-send-imessage.runtime-Hx8SNVrk.js +0 -36
  383. package/dist/deps-send-signal.runtime-5-zcMae_.js +0 -35
  384. package/dist/deps-send-signal.runtime-DmsxFjfF.js +0 -25
  385. package/dist/deps-send-slack.runtime-Bu_5Gshc.js +0 -23
  386. package/dist/deps-send-telegram.runtime-BY3XoK15.js +0 -28
  387. package/dist/deps-send-whatsapp.runtime-D2LQa8La.js +0 -120
  388. package/dist/deps-send-whatsapp.runtime-DwPycT2W.js +0 -61
  389. package/dist/image-runtime-Cla7tVB-.js +0 -30
  390. package/dist/image-runtime-Dny90w7z.js +0 -56
  391. package/dist/manager-runtime-DzceCyMz.js +0 -19
  392. package/dist/pi-model-discovery-runtime-Bm4YyCud.js +0 -12
  393. package/dist/register.configure-D9H7R-iH.js +0 -166
  394. package/dist/runtime-whatsapp-login.runtime-BmCUuMj3.js +0 -14
  395. package/dist/runtime-whatsapp-outbound.runtime-BR4VzGXP.js +0 -23
  396. package/dist/slash-commands.runtime-BADqwr8b.js +0 -17
  397. package/dist/slash-dispatch.runtime-CDbTI8Zn.js +0 -115
  398. package/dist/slash-dispatch.runtime-Ct3ZRGID.js +0 -57
  399. package/dist/slash-skill-commands.runtime-B1jRjicY.js +0 -21
  400. package/dist/subagent-registry-runtime-2L4IC0fu.js +0 -57
  401. package/dist/subagent-registry-runtime-Cgw6YwfZ.js +0 -115
  402. package/dist/web-CnqADWPs.js +0 -119
@@ -1,71 +1,71 @@
1
- import { _ as toAgentModelListLike, a as resolveAgentDir, c as resolveAgentWorkspaceDir, d as resolveRunModelFallbacksOverride, f as resolveSessionAgentId, g as resolveAgentModelPrimaryValue, h as resolveAgentModelFallbackValues, i as resolveAgentConfig, l as resolveDefaultAgentId, n as hasConfiguredModelFallbacks, p as resolveSessionAgentIds, r as listAgentIds, s as resolveAgentSkillsFilter, t as runTasksWithConcurrency, u as resolveEffectiveModelFallbacks } from "./run-with-concurrency-h53-4TQQ.js";
2
- import { a as resolveGatewayPort, c as resolveStateDir, d as resolveRequiredHomeDir, l as expandHomePrefix, n as STATE_DIR, r as resolveConfigPath } from "./paths-Cvc9EM8Y.js";
3
- import { C as normalizeLogLevel, E as consumeRootOptionToken, T as FLAG_TERMINATOR, _ as isRich, a as clearActiveProgressLine, c as danger, f as setVerbose, g as colorize, h as warn, i as defaultRuntime, o as registerActiveProgressLine, p as shouldLogVerbose, r as createNonExitingRuntime, s as unregisterActiveProgressLine, t as createSubsystemLogger, u as logVerbose, v as theme, w as resolvePreferredOpenClawTmpDir, y as getChildLogger } from "./subsystem-CdFYjh2k.js";
1
+ import { _ as toAgentModelListLike, a as resolveAgentDir, c as resolveAgentWorkspaceDir, d as resolveRunModelFallbacksOverride, f as resolveSessionAgentId, g as resolveAgentModelPrimaryValue, h as resolveAgentModelFallbackValues, i as resolveAgentConfig, l as resolveDefaultAgentId, n as hasConfiguredModelFallbacks, p as resolveSessionAgentIds, r as listAgentIds, s as resolveAgentSkillsFilter, t as runTasksWithConcurrency, u as resolveEffectiveModelFallbacks } from "./run-with-concurrency-C5E9gJhP.js";
2
+ import { a as resolveGatewayPort, c as resolveStateDir, d as resolveRequiredHomeDir, l as expandHomePrefix, n as STATE_DIR, r as resolveConfigPath } from "./paths-C6TxBCvO.js";
3
+ import { C as normalizeLogLevel, E as consumeRootOptionToken, T as FLAG_TERMINATOR, _ as isRich, a as clearActiveProgressLine, c as danger, f as setVerbose, g as colorize, h as warn, i as defaultRuntime, o as registerActiveProgressLine, p as shouldLogVerbose, r as createNonExitingRuntime, s as unregisterActiveProgressLine, t as createSubsystemLogger, u as logVerbose, v as theme, w as resolvePreferredOpenClawTmpDir, y as getChildLogger } from "./subsystem-W834z9Wa.js";
4
4
  import { C as parseAgentSessionKey, S as isSubagentSessionKey, _ as isBlockedObjectKey, b as isAcpSessionKey, c as normalizeAgentId, d as resolveThreadSessionKeys, f as sanitizeAgentId, g as normalizeOptionalAccountId, h as normalizeAccountId$2, i as buildAgentPeerSessionKey, l as normalizeMainKey, m as DEFAULT_ACCOUNT_ID, n as DEFAULT_MAIN_KEY, o as classifySessionKeyShape, p as scopedHeartbeatWakeOptions, r as buildAgentMainSessionKey, s as isValidAgentId, t as DEFAULT_AGENT_ID, u as resolveAgentIdFromSessionKey, v as deriveSessionChatType, w as resolveThreadParentSessionKey, x as isCronSessionKey, y as getSubagentDepth } from "./session-key-DgdmD4k7.js";
5
- import { C as isPlainObject, S as truncateUtf16Safe, _ as shortenHomeInString, a as ensureDir$3, b as sliceUtf16Safe, c as isRecord$1, d as normalizeE164, h as resolveUserPath, o as escapeRegExp, r as clampInt, s as formatTerminalLink, t as CONFIG_DIR, v as shortenHomePath, y as sleep$1 } from "./utils-B5eEH24c.js";
6
- import { A as normalizeWindowsPathForComparison, _ as runExec, a as DEFAULT_IDENTITY_FILENAME, b as openBoundaryFile, f as loadWorkspaceBootstrapFiles, g as runCommandWithTimeout, l as ensureAgentWorkspace, m as resolveOpenClawPackageRoot, n as DEFAULT_AGENT_WORKSPACE_DIR, r as DEFAULT_BOOTSTRAP_FILENAME, u as filterBootstrapFilesForSession, v as spawnWithFallback, x as openBoundaryFileSync } from "./workspace-Bo-HJMNp.js";
7
- import { i as logWarn, n as logError, r as logInfo, t as logDebug } from "./logger-BXGNqQxk.js";
8
- import { $ as resolveConfigSnapshotHash, $n as listProfilesForProvider, $t as normalizePluginHttpPath, A as getCustomProviderApiKey, An as unwrapKnownShellMultiplexerInvocation, At as isSupportedLocalAvatarExtension, B as markAuthProfileFailure, Bn as resolveSlackStreamingMode, C as OLLAMA_NATIVE_BASE_URL, Cn as matchAllowlist, D as buildStreamErrorAssistantMessage, Dn as isDispatchWrapperExecutable, Dt as isAvatarDataUrl, E as buildAssistantMessageWithZeroUsage, En as extractShellWrapperInlineCommand, Et as AVATAR_MAX_BYTES, Fn as applyMergePatch, Ft as safeStatSync, G as describeUnknownError$1, Gn as resolveAgentMaxConcurrent, Gt as normalizeChannelId$1, H as resolveProfilesUnavailableReason, Ht as getChatChannelMeta, I as resolveAuthProfileOrder, In as isSafeExecutableValue, It as applyTestPluginDefaults, J as parseDotPath, Jn as resolveShellEnvFallbackTimeoutMs, Jt as getActivePluginRegistryKey, K as isNonEmptyString, Kn as VERSION, Kt as normalizeChatChannelId, L as clearExpiredCooldowns, Ln as mapStreamingModeToSlackLegacyDraftStreamMode, Lt as normalizePluginsConfig, M as resolveApiKeyForProvider, Mn as SAFE_BIN_PROFILES, Mt as loadPluginManifestRegistry, N as resolveEnvApiKey, Nn as normalizeSafeBinProfileFixtures, Nt as discoverOpenClawPlugins, O as buildUsageWithNoCost, On as isShellWrapperExecutable, Ot as isAvatarHttpUrl, P as resolveModelAuthMode, Pn as resolveSafeBinProfiles, Pt as isPathInside, Qn as dedupeProfileIds, Qt as createPluginRegistry, R as getSoonestCooldownExpiry, Rn as resolveDiscordPreviewStreamMode, Rt as resolveEffectiveEnableState, S as retryAsync, Sn as DEFAULT_SAFE_BINS, T as buildAssistantMessage, Tn as resolveCommandResolutionFromArgv, U as resolveApiKeyForProfile, Ut as listChatChannels, V as markAuthProfileUsed, Vt as CHAT_CHANNEL_ORDER, W as resolveSecretRefValues, Wn as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, Wt as normalizeAnyChannelId, X as loadConfig, Xn as isTruthyEnvValue, Xt as requireActivePluginRegistry, Yn as isDangerousHostEnvVarName, Z as readConfigFileSnapshot, Zn as resolveOwnerDisplaySetting, Zt as setActivePluginRegistry, _n as validateSafeBinArgv, _r as splitTrailingAuthProfile, a as isCliProvider, an as getConfigOverrides, bn as isWindowsPlatform, br as DEFAULT_PROVIDER, c as normalizeProviderId, cn as unsetConfigOverride, cr as formatCliCommand, ct as resolveIMessageAttachmentRoots, d as resolveDefaultModelForAgent, dn as setConfigValueAtPath, dt as parseNonNegativeByteSize, en as clearPluginCommands, er as markAuthProfileGood, et as writeConfigFile, f as resolveModelRefFromString, fn as unsetConfigValueAtPath, fr as normalizeSecretInput, ft as secretRefKey, gn as normalizeTrustedSafeBinDirs, gr as resolveSecretInputRef, h as resolveThinkingDefault, hn as listWritableExplicitTrustedSafeBinDirs, hr as normalizeResolvedSecretInputString, i as findNormalizedProviderValue, in as matchPluginCommand, ir as withFileLock, it as resolveTelegramCustomCommands, j as requireApiKey, jn as splitShellArgs, jt as validateJsonSchemaValue, k as getApiKeyForModel, kn as unwrapKnownDispatchWrapperInvocation, kt as isPathWithinRoot, ln as getConfigValueAtPath, lr as resolveCliName, lt as resolveIMessageRemoteAttachmentRoots, m as resolveSubagentSpawnModelSelection, mn as isTrustedSafeBinPath, mr as hasConfiguredSecretInput, n as buildConfiguredAllowlistKeys, nn as getPluginCommandSpecs, nr as resolveAuthStorePathForDisplay, nt as TELEGRAM_COMMAND_NAME_PATTERN, o as modelKey, on as resetConfigOverrides, ot as isInboundPathAllowed, p as resolveReasoningDefault, pn as getTrustedSafeBinDirs, pr as coerceSecretRef, q as isRecord$2, qn as getShellPathFromLoginShell, qt as getActivePluginRegistry, r as buildModelAliasIndex, rn as listPluginCommands, rr as resolveOpenClawAgentDir, rt as normalizeTelegramCommandName, s as normalizeModelRef$2, sn as setConfigOverride, t as buildAllowedModelSet, tn as executePluginCommand, tr as ensureAuthProfileStore, tt as validateConfigObjectWithPlugins, u as resolveConfiguredModelRef, un as parseConfigPath, ur as resolveAuthProfileDisplayLabel, ut as normalizeScpRemoteHost, vn as analyzeShellCommand, vr as DEFAULT_CONTEXT_TOKENS, w as createOllamaStreamFn, wn as resolveAllowlistCandidatePath, x as resolveRetryConfig, xn as splitCommandChain, yn as buildEnforcedShellCommand, yr as DEFAULT_MODEL, z as isProfileInCooldown, zn as resolveSlackNativeStreaming, zt as resolveMemorySlotDecision } from "./model-selection-4Sj13O94.js";
9
- import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-D7knylDF.js";
10
- import { c as parseBooleanValue$1, n as MANIFEST_KEY, r as createInternalHookEvent, s as triggerInternalHook } from "./legacy-names-cvlkUdK7.js";
5
+ import { C as isPlainObject, S as truncateUtf16Safe, _ as shortenHomeInString, a as ensureDir$3, b as sliceUtf16Safe, c as isRecord$1, d as normalizeE164, h as resolveUserPath, o as escapeRegExp, r as clampInt, s as formatTerminalLink, t as CONFIG_DIR, v as shortenHomePath, y as sleep$1 } from "./utils-D2oM4XHm.js";
6
+ import { A as normalizeWindowsPathForComparison, _ as runExec, a as DEFAULT_IDENTITY_FILENAME, b as openBoundaryFile, f as loadWorkspaceBootstrapFiles, g as runCommandWithTimeout, l as ensureAgentWorkspace, m as resolveOpenClawPackageRoot, n as DEFAULT_AGENT_WORKSPACE_DIR, r as DEFAULT_BOOTSTRAP_FILENAME, u as filterBootstrapFilesForSession, v as spawnWithFallback, x as openBoundaryFileSync } from "./workspace-ZgWjBCAm.js";
7
+ import { i as logWarn, n as logError, r as logInfo, t as logDebug } from "./logger-C53B395N.js";
8
+ import { $ as resolveConfigSnapshotHash, $n as listProfilesForProvider, $t as normalizePluginHttpPath, A as getCustomProviderApiKey, An as unwrapKnownShellMultiplexerInvocation, At as isSupportedLocalAvatarExtension, B as markAuthProfileFailure, Bn as resolveSlackStreamingMode, C as OLLAMA_NATIVE_BASE_URL, Cn as matchAllowlist, D as buildStreamErrorAssistantMessage, Dn as isDispatchWrapperExecutable, Dt as isAvatarDataUrl, E as buildAssistantMessageWithZeroUsage, En as extractShellWrapperInlineCommand, Et as AVATAR_MAX_BYTES, Fn as applyMergePatch, Ft as safeStatSync, G as describeUnknownError$1, Gn as resolveAgentMaxConcurrent, Gt as normalizeChannelId$1, H as resolveProfilesUnavailableReason, Ht as getChatChannelMeta, I as resolveAuthProfileOrder, In as isSafeExecutableValue, It as applyTestPluginDefaults, J as parseDotPath, Jn as resolveShellEnvFallbackTimeoutMs, Jt as getActivePluginRegistryKey, K as isNonEmptyString, Kn as VERSION, Kt as normalizeChatChannelId, L as clearExpiredCooldowns, Ln as mapStreamingModeToSlackLegacyDraftStreamMode, Lt as normalizePluginsConfig, M as resolveApiKeyForProvider, Mn as SAFE_BIN_PROFILES, Mt as loadPluginManifestRegistry, N as resolveEnvApiKey, Nn as normalizeSafeBinProfileFixtures, Nt as discoverOpenClawPlugins, O as buildUsageWithNoCost, On as isShellWrapperExecutable, Ot as isAvatarHttpUrl, P as resolveModelAuthMode, Pn as resolveSafeBinProfiles, Pt as isPathInside, Qn as dedupeProfileIds, Qt as createPluginRegistry, R as getSoonestCooldownExpiry, Rn as resolveDiscordPreviewStreamMode, Rt as resolveEffectiveEnableState, S as retryAsync, Sn as DEFAULT_SAFE_BINS, T as buildAssistantMessage, Tn as resolveCommandResolutionFromArgv, U as resolveApiKeyForProfile, Ut as listChatChannels, V as markAuthProfileUsed, Vt as CHAT_CHANNEL_ORDER, W as resolveSecretRefValues, Wn as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, Wt as normalizeAnyChannelId, X as loadConfig, Xn as isTruthyEnvValue, Xt as requireActivePluginRegistry, Yn as isDangerousHostEnvVarName, Z as readConfigFileSnapshot, Zn as resolveOwnerDisplaySetting, Zt as setActivePluginRegistry, _n as validateSafeBinArgv, _r as splitTrailingAuthProfile, a as isCliProvider, an as getConfigOverrides, bn as isWindowsPlatform, br as DEFAULT_PROVIDER, c as normalizeProviderId, cn as unsetConfigOverride, cr as formatCliCommand, ct as resolveIMessageAttachmentRoots, d as resolveDefaultModelForAgent, dn as setConfigValueAtPath, dt as parseNonNegativeByteSize, en as clearPluginCommands, er as markAuthProfileGood, et as writeConfigFile, f as resolveModelRefFromString, fn as unsetConfigValueAtPath, fr as normalizeSecretInput, ft as secretRefKey, gn as normalizeTrustedSafeBinDirs, gr as resolveSecretInputRef, h as resolveThinkingDefault, hn as listWritableExplicitTrustedSafeBinDirs, hr as normalizeResolvedSecretInputString, i as findNormalizedProviderValue, in as matchPluginCommand, ir as withFileLock, it as resolveTelegramCustomCommands, j as requireApiKey, jn as splitShellArgs, jt as validateJsonSchemaValue, k as getApiKeyForModel, kn as unwrapKnownDispatchWrapperInvocation, kt as isPathWithinRoot, ln as getConfigValueAtPath, lr as resolveCliName, lt as resolveIMessageRemoteAttachmentRoots, m as resolveSubagentSpawnModelSelection, mn as isTrustedSafeBinPath, mr as hasConfiguredSecretInput, n as buildConfiguredAllowlistKeys, nn as getPluginCommandSpecs, nr as resolveAuthStorePathForDisplay, nt as TELEGRAM_COMMAND_NAME_PATTERN, o as modelKey, on as resetConfigOverrides, ot as isInboundPathAllowed, p as resolveReasoningDefault, pn as getTrustedSafeBinDirs, pr as coerceSecretRef, q as isRecord$2, qn as getShellPathFromLoginShell, qt as getActivePluginRegistry, r as buildModelAliasIndex, rn as listPluginCommands, rr as resolveOpenClawAgentDir, rt as normalizeTelegramCommandName, s as normalizeModelRef$2, sn as setConfigOverride, t as buildAllowedModelSet, tn as executePluginCommand, tr as ensureAuthProfileStore, tt as validateConfigObjectWithPlugins, u as resolveConfiguredModelRef, un as parseConfigPath, ur as resolveAuthProfileDisplayLabel, ut as normalizeScpRemoteHost, vn as analyzeShellCommand, vr as DEFAULT_CONTEXT_TOKENS, w as createOllamaStreamFn, wn as resolveAllowlistCandidatePath, x as resolveRetryConfig, xn as splitCommandChain, yn as buildEnforcedShellCommand, yr as DEFAULT_MODEL, z as isProfileInCooldown, zn as resolveSlackNativeStreaming, zt as resolveMemorySlotDecision } from "./model-selection-e9hodq0l.js";
9
+ import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-DDa7O18e.js";
10
+ import { c as parseBooleanValue$1, n as MANIFEST_KEY, r as createInternalHookEvent, s as triggerInternalHook } from "./legacy-names-BAiRv0I2.js";
11
11
  import { t as parseDurationMs } from "./parse-duration-D8SaZ9Wv.js";
12
- import { _ as normalizeAtHashSlug, a as normalizeReasoningLevel, b as normalizeStringEntriesLower, c as normalizeVerboseLevel, d as getChannelDock, f as listChannelDocks, g as resolveChannelGroupToolsPolicy, h as resolveChannelGroupRequireMention, i as normalizeElevatedLevel, l as resolveResponseUsageMode, m as resolveChannelGroupPolicy, n as formatXHighModelHint, o as normalizeThinkLevel, p as normalizeSignalMessagingTarget, s as normalizeUsageDisplay, t as formatThinkingLevels, u as supportsXHighThinking, v as normalizeHyphenSlug, y as normalizeStringEntries } from "./thinking-C5t4wH91.js";
13
- import { a as stripSilentToken, i as isSilentReplyText, n as SILENT_REPLY_TOKEN, r as isSilentReplyPrefixText, t as HEARTBEAT_TOKEN } from "./tokens-DGUER2v0.js";
14
- import { _ as normalizeChatType, a as normalizeWhatsAppTarget, b as resolveDiscordAccount, c as listTelegramAccountIds, d as buildChannelAccountBindings, f as listBindings, g as resolveSlackBotToken, h as resolveSlackAppToken, i as isWhatsAppGroupJid, l as resolveTelegramAccount, m as resolveSlackReplyToMode, n as listChannelPlugins, o as createTelegramActionGate, p as resolveSlackAccount, r as normalizeChannelId$2, s as listEnabledTelegramAccounts, t as getChannelPlugin, u as resolveTelegramToken, v as createDiscordActionGate, x as normalizeDiscordToken, y as listEnabledDiscordAccounts } from "./plugins-CL-6YYtw.js";
15
- import { a as logWebSelfId, h as resolveAccountEntry, i as getWebAuthAgeMs, m as webAuthExists, n as resolveWhatsAppAccount, o as logoutWeb, t as hasAnyWhatsAppAuth, u as readWebSelfId } from "./accounts-lOYFKFqj.js";
16
- import { a as resolveSlackWebClientOptions, c as buildSlackBlocksFallbackText, i as createSlackWebClient, l as parseSlackTarget, n as markdownToSlackMrkdwnChunks, o as parseSlackBlocksInput, r as normalizeSlackOutboundText, s as validateSlackBlocksArray, t as sendMessageSlack, u as resolveSlackChannelId } from "./send-C4j6KYCq.js";
17
- import { $ as stripUndefinedFields, A as unpinMessageDiscord, At as resolveChannelEntryMatchWithFallback, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveDiscordSystemLocation, D as pinMessageDiscord, Dt as applyChannelMatchMeta, E as listThreadsDiscord, Et as fetchDiscord, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, Ot as buildChannelKeyCandidates, P as fetchChannelInfoDiscord, Q as sendDiscordText, R as kickMemberDiscord, S as deleteMessageDiscord, St as formatDiscordUserTag, T as listPinsDiscord, Tt as DiscordApiError, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendStickerDiscord, _t as resolveDiscordOwnerAllowFrom, a as sendDiscordComponentMessage, at as parseDiscordTarget, b as formatMention, bt as shouldEmitDiscordReactionNotification, c as parseDiscordComponentCustomId, ct as listDiscordDirectoryPeersLive, d as parseDiscordModalCustomIdForCarbon, dt as normalizeDiscordSlug, et as fetchChannelPermissionsDiscord, f as readDiscordComponentSpec, ft as resolveDiscordAllowListMatch, g as sendPollDiscord, gt as resolveDiscordOwnerAccess, h as sendMessageDiscord, ht as resolveDiscordMemberAccessState, i as removeReactionDiscord, it as createDiscordRestClient, j as addRoleDiscord, k as searchMessagesDiscord, kt as normalizeChannelSlug, l as parseDiscordComponentCustomIdForCarbon, lt as isDiscordGroupAllowedByPolicy, m as resolveDiscordModalEntry, mt as resolveDiscordGuildEntry, n as reactMessageDiscord, nt as chunkDiscordTextWithMode, o as createDiscordFormModal, ot as resolveDiscordChannelId, p as resolveDiscordComponentEntry, pt as resolveDiscordChannelConfigWithFallback, q as deleteChannelDiscord, r as removeOwnReactionsDiscord, rt as createDiscordClient, s as formatDiscordComponentEventText, st as listDiscordDirectoryGroupsLive, t as fetchReactionsDiscord, tt as hasAnyGuildPermissionDiscord, u as parseDiscordModalCustomId, ut as normalizeDiscordAllowList, v as sendVoiceMessageDiscord, vt as resolveDiscordShouldRequireMention, w as fetchMessageDiscord, wt as resolveTimestampMs, x as createThreadDiscord, xt as formatDiscordReactionEmoji, y as sendWebhookMessageDiscord, yt as resolveGroupDmAllow, z as listGuildChannelsDiscord } from "./send-DAyhLyD2.js";
12
+ import { _ as normalizeAtHashSlug, a as normalizeReasoningLevel, b as normalizeStringEntriesLower, c as normalizeVerboseLevel, d as getChannelDock, f as listChannelDocks, g as resolveChannelGroupToolsPolicy, h as resolveChannelGroupRequireMention, i as normalizeElevatedLevel, l as resolveResponseUsageMode, m as resolveChannelGroupPolicy, n as formatXHighModelHint, o as normalizeThinkLevel, p as normalizeSignalMessagingTarget, s as normalizeUsageDisplay, t as formatThinkingLevels, u as supportsXHighThinking, v as normalizeHyphenSlug, y as normalizeStringEntries } from "./thinking-X8yYhVf1.js";
13
+ import { a as stripSilentToken, i as isSilentReplyText, n as SILENT_REPLY_TOKEN, r as isSilentReplyPrefixText, t as HEARTBEAT_TOKEN } from "./tokens-DxcVnNVJ.js";
14
+ import { _ as normalizeChatType, a as normalizeWhatsAppTarget, b as resolveDiscordAccount, c as listTelegramAccountIds, d as buildChannelAccountBindings, f as listBindings, g as resolveSlackBotToken, h as resolveSlackAppToken, i as isWhatsAppGroupJid, l as resolveTelegramAccount, m as resolveSlackReplyToMode, n as listChannelPlugins, o as createTelegramActionGate, p as resolveSlackAccount, r as normalizeChannelId$2, s as listEnabledTelegramAccounts, t as getChannelPlugin, u as resolveTelegramToken, v as createDiscordActionGate, x as normalizeDiscordToken, y as listEnabledDiscordAccounts } from "./plugins-rc2l4VJe.js";
15
+ import { a as logWebSelfId, h as resolveAccountEntry, i as getWebAuthAgeMs, m as webAuthExists, n as resolveWhatsAppAccount, o as logoutWeb, t as hasAnyWhatsAppAuth, u as readWebSelfId } from "./accounts-CAjupeYV.js";
16
+ import { a as resolveSlackWebClientOptions, c as buildSlackBlocksFallbackText, i as createSlackWebClient, l as parseSlackTarget, n as markdownToSlackMrkdwnChunks, o as parseSlackBlocksInput, r as normalizeSlackOutboundText, s as validateSlackBlocksArray, t as sendMessageSlack, u as resolveSlackChannelId } from "./send-OP60RbsK.js";
17
+ import { $ as stripUndefinedFields, A as unpinMessageDiscord, At as resolveChannelEntryMatchWithFallback, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveDiscordSystemLocation, D as pinMessageDiscord, Dt as applyChannelMatchMeta, E as listThreadsDiscord, Et as fetchDiscord, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, Ot as buildChannelKeyCandidates, P as fetchChannelInfoDiscord, Q as sendDiscordText, R as kickMemberDiscord, S as deleteMessageDiscord, St as formatDiscordUserTag, T as listPinsDiscord, Tt as DiscordApiError, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendStickerDiscord, _t as resolveDiscordOwnerAllowFrom, a as sendDiscordComponentMessage, at as parseDiscordTarget, b as formatMention, bt as shouldEmitDiscordReactionNotification, c as parseDiscordComponentCustomId, ct as listDiscordDirectoryPeersLive, d as parseDiscordModalCustomIdForCarbon, dt as normalizeDiscordSlug, et as fetchChannelPermissionsDiscord, f as readDiscordComponentSpec, ft as resolveDiscordAllowListMatch, g as sendPollDiscord, gt as resolveDiscordOwnerAccess, h as sendMessageDiscord, ht as resolveDiscordMemberAccessState, i as removeReactionDiscord, it as createDiscordRestClient, j as addRoleDiscord, k as searchMessagesDiscord, kt as normalizeChannelSlug, l as parseDiscordComponentCustomIdForCarbon, lt as isDiscordGroupAllowedByPolicy, m as resolveDiscordModalEntry, mt as resolveDiscordGuildEntry, n as reactMessageDiscord, nt as chunkDiscordTextWithMode, o as createDiscordFormModal, ot as resolveDiscordChannelId, p as resolveDiscordComponentEntry, pt as resolveDiscordChannelConfigWithFallback, q as deleteChannelDiscord, r as removeOwnReactionsDiscord, rt as createDiscordClient, s as formatDiscordComponentEventText, st as listDiscordDirectoryGroupsLive, t as fetchReactionsDiscord, tt as hasAnyGuildPermissionDiscord, u as parseDiscordModalCustomId, ut as normalizeDiscordAllowList, v as sendVoiceMessageDiscord, vt as resolveDiscordShouldRequireMention, w as fetchMessageDiscord, wt as resolveTimestampMs, x as createThreadDiscord, xt as formatDiscordReactionEmoji, y as sendWebhookMessageDiscord, yt as resolveGroupDmAllow, z as listGuildChannelsDiscord } from "./send-BWySsurX.js";
18
18
  import { n as generateSecureUuid, t as generateSecureToken } from "./secure-random-xpZo1jCG.js";
19
- import { C as createReplyToModeFilterForChannel, D as normalizeTargetForProvider, E as normalizeChannelTargetInput, O as getGlobalHookRunner, S as shouldSuppressReasoningPayload, T as buildTargetResolverSignature, _ as applyReplyThreading, a as normalizeReplyPayloadsForDelivery, b as isRenderablePayload, c as splitMediaFromOutput, d as toInternalMessageReceivedContext, f as toInternalMessageTranscribedContext, g as applyReplyTagsToPayload, h as fireAndForgetHook, i as normalizeOutboundPayloadsForJson, k as initializeGlobalHookRunner, l as deriveInboundMessageHookContext, m as toPluginMessageReceivedEvent, n as formatOutboundPayloadLog, o as throwIfAborted, p as toPluginMessageContext, r as normalizeOutboundPayloads, s as parseReplyDirectives, t as deliverOutboundPayloads, u as toInternalMessagePreprocessedContext, v as filterMessagingToolDuplicates, w as resolveReplyToMode, x as shouldSuppressMessagingToolReplies, y as filterMessagingToolMediaDuplicates } from "./deliver-Bfo198gf.js";
20
- import { a as logMessageQueued, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, h as isDiagnosticsEnabled, i as logMessageProcessed, l as logWebhookProcessed, m as emitDiagnosticEvent, n as logLaneDequeue, o as logSessionStateChange, p as getDiagnosticSessionState, r as logLaneEnqueue, t as diag, u as logWebhookReceived } from "./diagnostic-Cfju3nfo.js";
21
- import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-D35rx3gg.js";
19
+ import { C as createReplyToModeFilterForChannel, D as normalizeTargetForProvider, E as normalizeChannelTargetInput, O as getGlobalHookRunner, S as shouldSuppressReasoningPayload, T as buildTargetResolverSignature, _ as applyReplyThreading, a as normalizeReplyPayloadsForDelivery, b as isRenderablePayload, c as splitMediaFromOutput, d as toInternalMessageReceivedContext, f as toInternalMessageTranscribedContext, g as applyReplyTagsToPayload, h as fireAndForgetHook, i as normalizeOutboundPayloadsForJson, k as initializeGlobalHookRunner, l as deriveInboundMessageHookContext, m as toPluginMessageReceivedEvent, n as formatOutboundPayloadLog, o as throwIfAborted, p as toPluginMessageContext, r as normalizeOutboundPayloads, s as parseReplyDirectives, t as deliverOutboundPayloads, u as toInternalMessagePreprocessedContext, v as filterMessagingToolDuplicates, w as resolveReplyToMode, x as shouldSuppressMessagingToolReplies, y as filterMessagingToolMediaDuplicates } from "./deliver-JkYjt9Qz.js";
20
+ import { a as logMessageQueued, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, h as isDiagnosticsEnabled, i as logMessageProcessed, l as logWebhookProcessed, m as emitDiagnosticEvent, n as logLaneDequeue, o as logSessionStateChange, p as getDiagnosticSessionState, r as logLaneEnqueue, t as diag, u as logWebhookReceived } from "./diagnostic-BGtFj4tU.js";
21
+ import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-4l7ba973.js";
22
22
  import { i as resolveTelegramTargetChatType, r as parseTelegramTarget } from "./targets-yNvvUZit.js";
23
- import { A as mediaKindFromMime, C as imageMimeFromFormat, E as kindFromMime, O as MAX_IMAGE_BYTES, T as isGifMedia, _ as GATEWAY_CLIENT_IDS, b as detectMime, c as INTERNAL_MESSAGE_CHANNEL, d as isInternalMessageChannel, f as isMarkdownCapableMessageChannel, g as resolveMessageChannel, h as resolveGatewayMessageChannel, i as getImageMetadata, l as isDeliverableMessageChannel, m as normalizeMessageChannel, p as listDeliverableMessageChannels, s as resizeToJpeg, u as isGatewayMessageChannel, v as GATEWAY_CLIENT_MODES, w as isAudioFileName, x as extensionForMime, y as GATEWAY_CLIENT_NAMES } from "./image-ops-BIpUUDZD.js";
24
- import { $ as removeChannelAllowFromStoreEntry, A as expandTextLinks, B as resolveTelegramThreadSpec, C as buildSenderName, D as buildTelegramThreadParams, E as buildTelegramParentPeer, F as resolveTelegramForumThreadId, G as firstDefined$1, H as normalizeAllowFrom$2, I as resolveTelegramGroupAllowFromContext, J as resolveGroupAllowFromSources, K as isSenderIdAllowed, L as resolveTelegramMediaPlaceholder, M as hasBotMention, N as normalizeForwardedContext, O as buildTypingThreadParams, P as resolveTelegramDirectPeerId, Q as readChannelAllowFromStore, R as resolveTelegramReplyId, S as buildSenderLabel, T as buildTelegramGroupPeerId, U as normalizeDmAllowFromWithStore$1, V as isSenderAllowed$1, W as resolveSenderAllowMatch$1, X as toLocationContext, Y as formatLocationText, Z as addChannelAllowFromStoreEntry, _ as splitTelegramCaption, a as reactMessageTelegram, at as isVoiceCompatibleAudio, b as resolveCronStorePath, c as sendStickerTelegram, d as isRecoverableTelegramNetworkError, et as upsertChannelPairingRequest, f as markdownToTelegramChunks, g as resolveTelegramFetch, h as wrapFileReferencesInHtml, i as editMessageTelegram, it as listPairingChannels, j as extractTelegramLocation, k as describeReplyTarget, l as resolveTelegramVoiceSend, m as renderTelegramHtmlText, n as createForumTopicTelegram, nt as writeJsonFileAtomically, o as sendMessageTelegram, p as markdownToTelegramHtml, q as mergeDmAllowFromSources, r as deleteMessageTelegram, rt as getPairingAdapter, s as sendPollTelegram, t as buildInlineKeyboard, tt as readJsonFileWithFallback, u as wasSentByBot, v as withTelegramApiErrorLogging, w as buildTelegramGroupFrom, x as buildGroupLabel, y as loadCronStore, z as resolveTelegramStreamMode } from "./send-D1oBKmnR.js";
25
- import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-DtqUetHg.js";
26
- import { $ as deliveryContextKey, $t as matchesAnyGlobPattern, A as isTransientHttpError, At as resolveGroupSessionKey, B as parseSessionThreadInfo, Bt as resolveGatewayCredentialsFromConfig, C as isCompactionFailureError, Ct as setSessionRuntimeModel, D as isLikelyContextOverflowError, Dt as resolveMainSessionKey, E as isFailoverErrorMessage, Et as resolveExplicitAgentSessionKey, F as isTimeoutErrorMessage, Ft as resolveBrowserConfig, G as readSessionUpdatedAt, Gt as collectExplicitAllowlist, Ht as resolveSandboxConfigForAgent, I as ensureSandboxWorkspaceForSession, It as resolveProfile, J as updateSessionStore, Jt as stripPluginOnlyAllowlist, K as recordSessionMetaFromInbound, Kt as expandPolicyWithPluginGroups, L as resolveSandboxContext, Lt as getBridgeAuthForPort, M as parseImageSizeError, Mt as resolveSessionLockMaxHoldFromTimeout, N as sanitizeUserFacingText, Nt as createBrowserRouteContext, O as isRateLimitAssistantError, Ot as deriveSessionMetaPatch, P as isAuthPermanentErrorMessage, Pt as registerBrowserRoutes, Q as deliveryContextFromSession, Qt as compileGlobPatterns, R as resolveSandboxRuntimeStatus, Rt as ensureBrowserControlAuth, S as isCloudCodeAssistFormatError, St as resolveFreshSessionTotalTokens, T as isFailoverAssistantError, U as resolveAndPersistSessionFile, Ut as applyOwnerOnlyToolPolicy, V as appendAssistantMessageToSessionTranscript, Vt as trimToUndefined$1, W as loadSessionStore, Wt as buildPluginToolGroups, X as isCacheEnabled, Xt as normalizeToolName, Y as updateSessionStoreEntry, Yt as expandToolGroups, Z as resolveCacheTtlMs$1, Zt as resolveToolProfilePolicy, _ as formatBillingErrorMessage, _t as resolveSessionResetPolicy, a as isMessagingToolDuplicateNormalized, an as sanitizeGoogleTurnOrdering, at as capArrayByJsonBytes, b as isAuthAssistantError, bt as DEFAULT_RESET_TRIGGERS, c as extractToolCallsFromAssistant, ct as parseInlineDirectives$1, d as downgradeOpenAIFunctionCallReasoningPairs, dt as hasInterSessionUserProvenance, en as buildBootstrapContextFiles, et as mergeDeliveryContext, f as downgradeOpenAIReasoningBlocks, ft as normalizeInputProvenance, g as formatAssistantErrorText, gt as resolveChannelResetConfig, h as classifyFailoverReason, ht as evaluateSessionFreshness, in as resolveBootstrapTotalMaxChars, it as archiveSessionTranscripts, j as parseImageDimensionError, jt as acquireSessionWriteLock, k as isRawApiErrorPayload, kt as resolveConversationLabel, l as extractToolResultId, lt as INPUT_PROVENANCE_KIND_VALUES, m as BILLING_ERROR_USER_MESSAGE, mt as resolveSessionKey, n as validateGeminiTurns, nn as resolveBootstrapMaxChars, nt as normalizeSessionDeliveryFields, o as normalizeTextForComparison, ot as countToolResults, p as isGoogleModelApi, pt as jsonUtf8Bytes, q as updateLastRoute, qt as mergeAlsoAllowPolicy, r as pickFallbackThinkingLevel, rn as resolveBootstrapPromptTruncationWarningMode, rt as normalizeAccountId$3, s as sanitizeSessionMessagesImages, st as extractToolCallNames, t as validateAnthropicTurns, tn as ensureSessionHeader, tt as normalizeDeliveryContext, u as sanitizeToolCallIdsForCloudCodeAssist, ut as applyInputProvenanceToUserMessage, v as formatRawAssistantErrorForUi, vt as resolveSessionResetType, w as isContextOverflowError, wt as canonicalizeMainSessionAlias, x as isBillingAssistantError, xt as mergeSessionEntry, y as getApiErrorPayloadFingerprint, yt as resolveThreadFlag, z as extractDeliveryInfo, zt as resolveBrowserControlAuth } from "./pi-embedded-helpers-Ci0rozAP.js";
27
- import { A as rawDataToString, B as isSecureWebSocketUrl, C as ensureChromeExtensionRelayServer, N as DEFAULT_UPLOAD_DIR, P as resolveExistingPathsWithinRoot, U as DEFAULT_AI_SNAPSHOT_MAX_CHARS, s as resolveLsofCommandSync, z as isLoopbackHost } from "./chrome-Coir_NPd.js";
28
- import { c as assertSandboxPath, d as resolveSandboxedMediaSource, f as applySkillEnvOverrides, i as resolveSkillsPromptForRun, l as resolveSandboxInputPath, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverridesFromSnapshot, r as loadWorkspaceSkillEntries, s as assertMediaNotDataUrl } from "./skills-BV465ziD.js";
29
- import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-DcWktNGt.js";
30
- import { i as testRegexWithBoundedInput, r as compileSafeRegex, t as redactSensitiveText } from "./redact-bA-cQEro.js";
31
- import { i as formatUncaughtError, o as readErrorName, r as formatErrorMessage } from "./errors-V2Dfp7m3.js";
32
- import { a as readFileWithinRoot, c as writeFileWithinRoot, i as openFileWithinRoot, n as copyFileWithinRoot, r as createRootScopedReadFile, t as SafeOpenError } from "./fs-safe-urUZDVCv.js";
33
- import { a as isBlockedHostnameOrIp, c as normalizeHostname, n as SsrFBlockedError } from "./proxy-env-DTggb3di.js";
34
- import { i as saveMediaBuffer, r as getMediaDir, t as MEDIA_MAX_BYTES } from "./store-1VFEBO08.js";
23
+ import { A as mediaKindFromMime, C as imageMimeFromFormat, E as kindFromMime, O as MAX_IMAGE_BYTES, T as isGifMedia, _ as GATEWAY_CLIENT_IDS, b as detectMime, c as INTERNAL_MESSAGE_CHANNEL, d as isInternalMessageChannel, f as isMarkdownCapableMessageChannel, g as resolveMessageChannel, h as resolveGatewayMessageChannel, i as getImageMetadata, l as isDeliverableMessageChannel, m as normalizeMessageChannel, p as listDeliverableMessageChannels, s as resizeToJpeg, u as isGatewayMessageChannel, v as GATEWAY_CLIENT_MODES, w as isAudioFileName, x as extensionForMime, y as GATEWAY_CLIENT_NAMES } from "./image-ops-D7mq-4y1.js";
24
+ import { $ as removeChannelAllowFromStoreEntry, A as expandTextLinks, B as resolveTelegramThreadSpec, C as buildSenderName, D as buildTelegramThreadParams, E as buildTelegramParentPeer, F as resolveTelegramForumThreadId, G as firstDefined$1, H as normalizeAllowFrom$2, I as resolveTelegramGroupAllowFromContext, J as resolveGroupAllowFromSources, K as isSenderIdAllowed, L as resolveTelegramMediaPlaceholder, M as hasBotMention, N as normalizeForwardedContext, O as buildTypingThreadParams, P as resolveTelegramDirectPeerId, Q as readChannelAllowFromStore, R as resolveTelegramReplyId, S as buildSenderLabel, T as buildTelegramGroupPeerId, U as normalizeDmAllowFromWithStore$1, V as isSenderAllowed$1, W as resolveSenderAllowMatch$1, X as toLocationContext, Y as formatLocationText, Z as addChannelAllowFromStoreEntry, _ as splitTelegramCaption, a as reactMessageTelegram, at as isVoiceCompatibleAudio, b as resolveCronStorePath, c as sendStickerTelegram, d as isRecoverableTelegramNetworkError, et as upsertChannelPairingRequest, f as markdownToTelegramChunks, g as resolveTelegramFetch, h as wrapFileReferencesInHtml, i as editMessageTelegram, it as listPairingChannels, j as extractTelegramLocation, k as describeReplyTarget, l as resolveTelegramVoiceSend, m as renderTelegramHtmlText, n as createForumTopicTelegram, nt as writeJsonFileAtomically, o as sendMessageTelegram, p as markdownToTelegramHtml, q as mergeDmAllowFromSources, r as deleteMessageTelegram, rt as getPairingAdapter, s as sendPollTelegram, t as buildInlineKeyboard, tt as readJsonFileWithFallback, u as wasSentByBot, v as withTelegramApiErrorLogging, w as buildTelegramGroupFrom, x as buildGroupLabel, y as loadCronStore, z as resolveTelegramStreamMode } from "./send-BlTVCcYd.js";
25
+ import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-32EFg27L.js";
26
+ import { $ as deliveryContextKey, $t as matchesAnyGlobPattern, A as isTransientHttpError, At as resolveGroupSessionKey, B as parseSessionThreadInfo, Bt as resolveGatewayCredentialsFromConfig, C as isCompactionFailureError, Ct as setSessionRuntimeModel, D as isLikelyContextOverflowError, Dt as resolveMainSessionKey, E as isFailoverErrorMessage, Et as resolveExplicitAgentSessionKey, F as isTimeoutErrorMessage, Ft as resolveBrowserConfig, G as readSessionUpdatedAt, Gt as collectExplicitAllowlist, Ht as resolveSandboxConfigForAgent, I as ensureSandboxWorkspaceForSession, It as resolveProfile, J as updateSessionStore, Jt as stripPluginOnlyAllowlist, K as recordSessionMetaFromInbound, Kt as expandPolicyWithPluginGroups, L as resolveSandboxContext, Lt as getBridgeAuthForPort, M as parseImageSizeError, Mt as resolveSessionLockMaxHoldFromTimeout, N as sanitizeUserFacingText, Nt as createBrowserRouteContext, O as isRateLimitAssistantError, Ot as deriveSessionMetaPatch, P as isAuthPermanentErrorMessage, Pt as registerBrowserRoutes, Q as deliveryContextFromSession, Qt as compileGlobPatterns, R as resolveSandboxRuntimeStatus, Rt as ensureBrowserControlAuth, S as isCloudCodeAssistFormatError, St as resolveFreshSessionTotalTokens, T as isFailoverAssistantError, U as resolveAndPersistSessionFile, Ut as applyOwnerOnlyToolPolicy, V as appendAssistantMessageToSessionTranscript, Vt as trimToUndefined$1, W as loadSessionStore, Wt as buildPluginToolGroups, X as isCacheEnabled, Xt as normalizeToolName, Y as updateSessionStoreEntry, Yt as expandToolGroups, Z as resolveCacheTtlMs$1, Zt as resolveToolProfilePolicy, _ as formatBillingErrorMessage, _t as resolveSessionResetPolicy, a as isMessagingToolDuplicateNormalized, an as sanitizeGoogleTurnOrdering, at as capArrayByJsonBytes, b as isAuthAssistantError, bt as DEFAULT_RESET_TRIGGERS, c as extractToolCallsFromAssistant, ct as parseInlineDirectives$1, d as downgradeOpenAIFunctionCallReasoningPairs, dt as hasInterSessionUserProvenance, en as buildBootstrapContextFiles, et as mergeDeliveryContext, f as downgradeOpenAIReasoningBlocks, ft as normalizeInputProvenance, g as formatAssistantErrorText, gt as resolveChannelResetConfig, h as classifyFailoverReason, ht as evaluateSessionFreshness, in as resolveBootstrapTotalMaxChars, it as archiveSessionTranscripts, j as parseImageDimensionError, jt as acquireSessionWriteLock, k as isRawApiErrorPayload, kt as resolveConversationLabel, l as extractToolResultId, lt as INPUT_PROVENANCE_KIND_VALUES, m as BILLING_ERROR_USER_MESSAGE, mt as resolveSessionKey, n as validateGeminiTurns, nn as resolveBootstrapMaxChars, nt as normalizeSessionDeliveryFields, o as normalizeTextForComparison, ot as countToolResults, p as isGoogleModelApi, pt as jsonUtf8Bytes, q as updateLastRoute, qt as mergeAlsoAllowPolicy, r as pickFallbackThinkingLevel, rn as resolveBootstrapPromptTruncationWarningMode, rt as normalizeAccountId$3, s as sanitizeSessionMessagesImages, st as extractToolCallNames, t as validateAnthropicTurns, tn as ensureSessionHeader, tt as normalizeDeliveryContext, u as sanitizeToolCallIdsForCloudCodeAssist, ut as applyInputProvenanceToUserMessage, v as formatRawAssistantErrorForUi, vt as resolveSessionResetType, w as isContextOverflowError, wt as canonicalizeMainSessionAlias, x as isBillingAssistantError, xt as mergeSessionEntry, y as getApiErrorPayloadFingerprint, yt as resolveThreadFlag, z as extractDeliveryInfo, zt as resolveBrowserControlAuth } from "./pi-embedded-helpers-CE9KKP1Q.js";
27
+ import { A as rawDataToString, B as isSecureWebSocketUrl, C as ensureChromeExtensionRelayServer, N as DEFAULT_UPLOAD_DIR, P as resolveExistingPathsWithinRoot, U as DEFAULT_AI_SNAPSHOT_MAX_CHARS, s as resolveLsofCommandSync, z as isLoopbackHost } from "./chrome-palWvTtp.js";
28
+ import { c as assertSandboxPath, d as resolveSandboxedMediaSource, f as applySkillEnvOverrides, i as resolveSkillsPromptForRun, l as resolveSandboxInputPath, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverridesFromSnapshot, r as loadWorkspaceSkillEntries, s as assertMediaNotDataUrl } from "./skills-OklkZyI1.js";
29
+ import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-It4BBRdm.js";
30
+ import { i as testRegexWithBoundedInput, r as compileSafeRegex, t as redactSensitiveText } from "./redact-BXURioma.js";
31
+ import { i as formatUncaughtError, o as readErrorName, r as formatErrorMessage } from "./errors-C1YF712P.js";
32
+ import { a as readFileWithinRoot, c as writeFileWithinRoot, i as openFileWithinRoot, n as copyFileWithinRoot, r as createRootScopedReadFile, t as SafeOpenError } from "./fs-safe-BLpOReWZ.js";
33
+ import { a as isBlockedHostnameOrIp, c as normalizeHostname, n as SsrFBlockedError } from "./proxy-env-C2sbN0UU.js";
34
+ import { i as saveMediaBuffer, r as getMediaDir, t as MEDIA_MAX_BYTES } from "./store-BNhebBGr.js";
35
35
  import { n as readJsonFile, r as writeJsonAtomic, t as createAsyncLock } from "./json-files-D2dc4Wmw.js";
36
- import { t as resolveIMessageAccount } from "./accounts-LgFHpzSb.js";
37
- import { i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as resolveSessionTranscriptsDirForAgent, r as resolveSessionFilePathOptions, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-BWg7M5Yy.js";
36
+ import { t as resolveIMessageAccount } from "./accounts-k5nTdi32.js";
37
+ import { i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as resolveSessionTranscriptsDirForAgent, r as resolveSessionFilePathOptions, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-CZ0nrg7g.js";
38
38
  import { n as onSessionTranscriptUpdate, t as emitSessionTranscriptUpdate } from "./transcript-events-Db-3GZzv.js";
39
- import { a as canonicalizeBase64, i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, o as estimateBase64DecodedBytes, r as sanitizeToolResultImages } from "./tool-images-CrdEIwVA.js";
39
+ import { a as canonicalizeBase64, i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, o as estimateBase64DecodedBytes, r as sanitizeToolResultImages } from "./tool-images-B-4ixjYn.js";
40
40
  import { i as withNormalizedTimestamp, n as resolveUserTimeFormat, r as resolveUserTimezone, t as formatUserTime } from "./date-time-Ce6oKo3v.js";
41
- import { C as minimaxUnderstandImage, S as extractTextFromChatContent, _ as formatToolSummary, a as resolveProviderVisionModelFromConfig, b as findCodeRegions, c as extractThinkingFromTaggedStream, d as inferToolMetaFromArgs, f as isAssistantMessage, g as stripThinkingTagsFromText, h as stripMinimaxToolCallXml, i as decodeDataUrl, l as extractThinkingFromTaggedText, m as stripDowngradedToolCallText, n as coerceImageAssistantText, o as extractAssistantText$1, p as promoteThinkingTagsToBlocks, r as coerceImageModelConfig, s as extractAssistantThinking, u as formatReasoningMessage, v as resolveToolDisplay, w as ensureOpenClawModelsJson, x as isInsideCode, y as stripReasoningTagsFromText } from "./image-C8nVgFoF.js";
42
- import { _ as resolveAttachmentKind, a as resolveAutoImageModel, b as modelSupportsVision, c as applyTemplate, d as normalizeMediaUnderstandingChatType, f as resolveMediaUnderstandingScope, h as registerUnhandledRejectionHandler, i as normalizeMediaAttachments, l as resolveConcurrency, m as buildRandomTempFilePath, n as buildProviderRegistry, o as resolveMediaAttachmentLocalRoots, p as CLI_OUTPUT_MAX_BUFFER, r as createMediaAttachmentCache, s as runCapability, t as runAudioTranscription, u as resolveTimeoutMs$2, v as findModelInCatalog, y as loadModelCatalog } from "./audio-transcription-runner-CDMccbtY.js";
43
- import { a as getDefaultMediaLocalRoots, i as getAgentScopedMediaLocalRoots, n as fetchRemoteMedia, r as readResponseWithLimit, t as MediaFetchError } from "./fetch-CzmuidZT.js";
41
+ import { C as minimaxUnderstandImage, S as extractTextFromChatContent, _ as formatToolSummary, a as resolveProviderVisionModelFromConfig, b as findCodeRegions, c as extractThinkingFromTaggedStream, d as inferToolMetaFromArgs, f as isAssistantMessage, g as stripThinkingTagsFromText, h as stripMinimaxToolCallXml, i as decodeDataUrl, l as extractThinkingFromTaggedText, m as stripDowngradedToolCallText, n as coerceImageAssistantText, o as extractAssistantText$1, p as promoteThinkingTagsToBlocks, r as coerceImageModelConfig, s as extractAssistantThinking, u as formatReasoningMessage, v as resolveToolDisplay, w as ensureOpenClawModelsJson, x as isInsideCode, y as stripReasoningTagsFromText } from "./image-BlRI3dXw.js";
42
+ import { _ as resolveAttachmentKind, a as resolveAutoImageModel, b as modelSupportsVision, c as applyTemplate, d as normalizeMediaUnderstandingChatType, f as resolveMediaUnderstandingScope, h as registerUnhandledRejectionHandler, i as normalizeMediaAttachments, l as resolveConcurrency, m as buildRandomTempFilePath, n as buildProviderRegistry, o as resolveMediaAttachmentLocalRoots, p as CLI_OUTPUT_MAX_BUFFER, r as createMediaAttachmentCache, s as runCapability, t as runAudioTranscription, u as resolveTimeoutMs$2, v as findModelInCatalog, y as loadModelCatalog } from "./audio-transcription-runner-CawngPvE.js";
43
+ import { a as getDefaultMediaLocalRoots, i as getAgentScopedMediaLocalRoots, n as fetchRemoteMedia, r as readResponseWithLimit, t as MediaFetchError } from "./fetch-_iocPLV2.js";
44
44
  import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-CSrVj6X7.js";
45
- import { n as withStrictGuardedFetchMode, r as withTrustedEnvProxyGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-BvTjDgDZ.js";
46
- import { t as makeProxyFetch } from "./proxy-fetch-y5_PzyGg.js";
47
- import { _ as isSafeFenceBreak, a as loadWebMedia, c as chunkByNewline, d as chunkMarkdownTextWithMode, f as chunkText, g as findFenceSpanAt, h as resolveTextChunkLimit, i as getDefaultLocalRoots, m as resolveChunkMode, o as loadWebMediaRaw, p as chunkTextWithMode, s as resolveMarkdownTableMode, u as chunkMarkdownText, v as parseFenceSpans } from "./ir-Dc-ltzcD.js";
48
- import { a as ToolInputError, c as imageResultFromFile, d as readNumberParam, f as readReactionParams, h as readStringParam, l as jsonResult, m as readStringOrNumberParam, n as missingTargetError, o as createActionGate, p as readStringArrayParam, r as unknownTargetError, s as imageResult, t as ambiguousTargetError, u as parseAvailableTags } from "./target-errors-CmB0nYoj.js";
49
- import { _ as isRestartEnabled, a as listChatCommandsForConfig, c as maybeResolveTextAlias, d as resolveCommandArgChoices, f as resolveCommandArgMenu, g as isNativeCommandsExplicitlyDisabled, h as isCommandFlagEnabled, i as listChatCommands, l as normalizeCommandBody, m as shouldHandleTextCommands, n as findCommandByNativeName, o as listNativeCommandSpecs, p as serializeCommandArgs, r as isCommandEnabled, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as parseCommandArgs, v as resolveNativeCommandsEnabled, y as resolveNativeSkillsEnabled } from "./commands-registry-e9j4etib.js";
50
- import { a as getRemoteSkillEligibility, c as pruneExpiredPending, i as resolveSkillCommandInvocation, l as resolvePairingPaths, n as listSkillCommandsForAgents, o as ensureSkillsWatcher, r as listSkillCommandsForWorkspace, s as getSkillsSnapshotVersion, t as listReservedChatSlashCommandNames } from "./skill-commands-JBrsox47.js";
45
+ import { n as withStrictGuardedFetchMode, r as withTrustedEnvProxyGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-CiQUuV0r.js";
46
+ import { t as makeProxyFetch } from "./proxy-fetch-CVSmQMZt.js";
47
+ import { _ as isSafeFenceBreak, a as loadWebMedia, c as chunkByNewline, d as chunkMarkdownTextWithMode, f as chunkText, g as findFenceSpanAt, h as resolveTextChunkLimit, i as getDefaultLocalRoots, m as resolveChunkMode, o as loadWebMediaRaw, p as chunkTextWithMode, s as resolveMarkdownTableMode, u as chunkMarkdownText, v as parseFenceSpans } from "./ir-Dpg87zYv.js";
48
+ import { a as ToolInputError, c as imageResultFromFile, d as readNumberParam, f as readReactionParams, h as readStringParam, l as jsonResult, m as readStringOrNumberParam, n as missingTargetError, o as createActionGate, p as readStringArrayParam, r as unknownTargetError, s as imageResult, t as ambiguousTargetError, u as parseAvailableTags } from "./target-errors-CNzteBWz.js";
49
+ import { _ as isRestartEnabled, a as listChatCommandsForConfig, c as maybeResolveTextAlias, d as resolveCommandArgChoices, f as resolveCommandArgMenu, g as isNativeCommandsExplicitlyDisabled, h as isCommandFlagEnabled, i as listChatCommands, l as normalizeCommandBody, m as shouldHandleTextCommands, n as findCommandByNativeName, o as listNativeCommandSpecs, p as serializeCommandArgs, r as isCommandEnabled, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as parseCommandArgs, v as resolveNativeCommandsEnabled, y as resolveNativeSkillsEnabled } from "./commands-registry-A3LstXeY.js";
50
+ import { a as getRemoteSkillEligibility, c as pruneExpiredPending, i as resolveSkillCommandInvocation, l as resolvePairingPaths, n as listSkillCommandsForAgents, o as ensureSkillsWatcher, r as listSkillCommandsForWorkspace, s as getSkillsSnapshotVersion, t as listReservedChatSlashCommandNames } from "./skill-commands-DEsgUSH3.js";
51
51
  import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-CTN5ATFT.js";
52
52
  import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-WKa7J8FO.js";
53
- import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-DU4rVRNu.js";
53
+ import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-Hho38eZq.js";
54
54
  import { t as buildOutboundMediaLoadOptions } from "./load-options-BXqJ6gxm.js";
55
55
  import { n as normalizePollInput } from "./polls-CVGKOEN8.js";
56
- import { t as convertMarkdownTables } from "./tables-DTLvZx1M.js";
57
- import { a as signalCheck, i as resolveSignalRpcContext, n as sendReadReceiptSignal, o as signalRpcRequest, r as sendTypingSignal, s as streamSignalEvents, t as sendMessageSignal } from "./send-C84A606p.js";
58
- import { a as isAllowedIMessageSender, i as formatIMessageChatTarget, n as createIMessageRpcClient, o as normalizeIMessageHandle, r as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, s as parseIMessageTarget, t as sendMessageIMessage } from "./send-DZXs_7ks.js";
59
- import { i as redactIdentifier, t as getActiveWebListener } from "./active-listener-Cxra3bK5.js";
60
- import { n as resolveMemorySearchConfig } from "./manager-Cz6WMkvV.js";
61
- import { f as listMemoryFiles, p as normalizeExtraMemoryPaths } from "./query-expansion-hv7XTb0w.js";
56
+ import { t as convertMarkdownTables } from "./tables-XtcH-BaF.js";
57
+ import { a as signalCheck, i as resolveSignalRpcContext, n as sendReadReceiptSignal, o as signalRpcRequest, r as sendTypingSignal, s as streamSignalEvents, t as sendMessageSignal } from "./send-Cpja8Q1N.js";
58
+ import { a as isAllowedIMessageSender, i as formatIMessageChatTarget, n as createIMessageRpcClient, o as normalizeIMessageHandle, r as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, s as parseIMessageTarget, t as sendMessageIMessage } from "./send-C87tIqIn.js";
59
+ import { i as redactIdentifier, t as getActiveWebListener } from "./active-listener-D9FARjMd.js";
60
+ import { n as resolveMemorySearchConfig } from "./manager-Dfrejf6z.js";
61
+ import { f as listMemoryFiles, p as normalizeExtraMemoryPaths } from "./query-expansion-MI1dZ5Nj.js";
62
62
  import { createRequire } from "node:module";
63
- import * as fs$2 from "node:fs/promises";
63
+ import * as fs$1 from "node:fs/promises";
64
64
  import fs from "node:fs/promises";
65
65
  import os, { homedir } from "node:os";
66
66
  import * as path$1 from "node:path";
67
67
  import path, { isAbsolute } from "node:path";
68
- import fs$1, { existsSync, mkdirSync, mkdtempSync, promises, readFileSync, renameSync, rmSync, statSync, unlinkSync, writeFileSync } from "node:fs";
68
+ import syncFs, { existsSync, mkdirSync, mkdtempSync, promises, readFileSync, renameSync, rmSync, statSync, unlinkSync, writeFileSync } from "node:fs";
69
69
  import JSON5 from "json5";
70
70
  import { inspect, isDeepStrictEqual, promisify } from "node:util";
71
71
  import { execFile, spawn, spawnSync } from "node:child_process";
@@ -3172,7 +3172,7 @@ async function resolveOpenClawDocsPath(params) {
3172
3172
  const workspaceDir = params.workspaceDir?.trim();
3173
3173
  if (workspaceDir) {
3174
3174
  const workspaceDocs = path.join(workspaceDir, "docs");
3175
- if (fs$1.existsSync(workspaceDocs)) return workspaceDocs;
3175
+ if (syncFs.existsSync(workspaceDocs)) return workspaceDocs;
3176
3176
  }
3177
3177
  const packageRoot = await resolveOpenClawPackageRoot({
3178
3178
  cwd: params.cwd,
@@ -3181,7 +3181,7 @@ async function resolveOpenClawDocsPath(params) {
3181
3181
  });
3182
3182
  if (!packageRoot) return null;
3183
3183
  const packageDocs = path.join(packageRoot, "docs");
3184
- return fs$1.existsSync(packageDocs) ? packageDocs : null;
3184
+ return syncFs.existsSync(packageDocs) ? packageDocs : null;
3185
3185
  }
3186
3186
 
3187
3187
  //#endregion
@@ -6298,7 +6298,7 @@ function resolveDefaultIdentityPath() {
6298
6298
  return path.join(resolveStateDir(), "identity", "device.json");
6299
6299
  }
6300
6300
  function ensureDir$2(filePath) {
6301
- fs$1.mkdirSync(path.dirname(filePath), { recursive: true });
6301
+ syncFs.mkdirSync(path.dirname(filePath), { recursive: true });
6302
6302
  }
6303
6303
  const ED25519_SPKI_PREFIX = Buffer.from("302a300506032b6570032100", "hex");
6304
6304
  function base64UrlEncode(buf) {
@@ -6334,8 +6334,8 @@ function generateIdentity() {
6334
6334
  }
6335
6335
  function loadOrCreateDeviceIdentity(filePath = resolveDefaultIdentityPath()) {
6336
6336
  try {
6337
- if (fs$1.existsSync(filePath)) {
6338
- const raw = fs$1.readFileSync(filePath, "utf8");
6337
+ if (syncFs.existsSync(filePath)) {
6338
+ const raw = syncFs.readFileSync(filePath, "utf8");
6339
6339
  const parsed = JSON.parse(raw);
6340
6340
  if (parsed?.version === 1 && typeof parsed.deviceId === "string" && typeof parsed.publicKeyPem === "string" && typeof parsed.privateKeyPem === "string") {
6341
6341
  const derivedId = fingerprintPublicKey(parsed.publicKeyPem);
@@ -6344,9 +6344,9 @@ function loadOrCreateDeviceIdentity(filePath = resolveDefaultIdentityPath()) {
6344
6344
  ...parsed,
6345
6345
  deviceId: derivedId
6346
6346
  };
6347
- fs$1.writeFileSync(filePath, `${JSON.stringify(updated, null, 2)}\n`, { mode: 384 });
6347
+ syncFs.writeFileSync(filePath, `${JSON.stringify(updated, null, 2)}\n`, { mode: 384 });
6348
6348
  try {
6349
- fs$1.chmodSync(filePath, 384);
6349
+ syncFs.chmodSync(filePath, 384);
6350
6350
  } catch {}
6351
6351
  return {
6352
6352
  deviceId: derivedId,
@@ -6371,9 +6371,9 @@ function loadOrCreateDeviceIdentity(filePath = resolveDefaultIdentityPath()) {
6371
6371
  privateKeyPem: identity.privateKeyPem,
6372
6372
  createdAtMs: Date.now()
6373
6373
  };
6374
- fs$1.writeFileSync(filePath, `${JSON.stringify(stored, null, 2)}\n`, { mode: 384 });
6374
+ syncFs.writeFileSync(filePath, `${JSON.stringify(stored, null, 2)}\n`, { mode: 384 });
6375
6375
  try {
6376
- fs$1.chmodSync(filePath, 384);
6376
+ syncFs.chmodSync(filePath, 384);
6377
6377
  } catch {}
6378
6378
  return identity;
6379
6379
  }
@@ -6565,8 +6565,8 @@ function resolveDeviceAuthPath(env = process.env) {
6565
6565
  }
6566
6566
  function readStore(filePath) {
6567
6567
  try {
6568
- if (!fs$1.existsSync(filePath)) return null;
6569
- const raw = fs$1.readFileSync(filePath, "utf8");
6568
+ if (!syncFs.existsSync(filePath)) return null;
6569
+ const raw = syncFs.readFileSync(filePath, "utf8");
6570
6570
  const parsed = JSON.parse(raw);
6571
6571
  if (parsed?.version !== 1 || typeof parsed.deviceId !== "string") return null;
6572
6572
  if (!parsed.tokens || typeof parsed.tokens !== "object") return null;
@@ -6576,10 +6576,10 @@ function readStore(filePath) {
6576
6576
  }
6577
6577
  }
6578
6578
  function writeStore(filePath, store) {
6579
- fs$1.mkdirSync(path.dirname(filePath), { recursive: true });
6580
- fs$1.writeFileSync(filePath, `${JSON.stringify(store, null, 2)}\n`, { mode: 384 });
6579
+ syncFs.mkdirSync(path.dirname(filePath), { recursive: true });
6580
+ syncFs.writeFileSync(filePath, `${JSON.stringify(store, null, 2)}\n`, { mode: 384 });
6581
6581
  try {
6582
- fs$1.chmodSync(filePath, 384);
6582
+ syncFs.chmodSync(filePath, 384);
6583
6583
  } catch {}
6584
6584
  }
6585
6585
  function loadDeviceAuthToken(params) {
@@ -9760,7 +9760,7 @@ function normalizeReplyPayload(payload, opts = {}) {
9760
9760
  */
9761
9761
  let deliverRuntimePromise$2 = null;
9762
9762
  function loadDeliverRuntime$2() {
9763
- deliverRuntimePromise$2 ??= import("./deliver-runtime-FUk47wdh.js");
9763
+ deliverRuntimePromise$2 ??= import("./deliver-runtime-BvTbrDXE.js");
9764
9764
  return deliverRuntimePromise$2;
9765
9765
  }
9766
9766
  /**
@@ -10448,7 +10448,7 @@ function normalizeSessionKey(value) {
10448
10448
  }
10449
10449
  function readSessionStore(storePath) {
10450
10450
  try {
10451
- const raw = fs$1.readFileSync(storePath, "utf-8");
10451
+ const raw = syncFs.readFileSync(storePath, "utf-8");
10452
10452
  const parsed = JSON5.parse(raw);
10453
10453
  if (parsed && typeof parsed === "object" && !Array.isArray(parsed)) return parsed;
10454
10454
  } catch {}
@@ -11048,7 +11048,7 @@ const DEFAULT_SUBAGENT_ANNOUNCE_TIMEOUT_MS = 6e4;
11048
11048
  const MAX_TIMER_SAFE_TIMEOUT_MS = 2147e6;
11049
11049
  let subagentRegistryRuntimePromise = null;
11050
11050
  function loadSubagentRegistryRuntime() {
11051
- subagentRegistryRuntimePromise ??= import("./subagent-registry-runtime-2L4IC0fu.js");
11051
+ subagentRegistryRuntimePromise ??= import("./subagent-registry-runtime-HYpWtFUu.js");
11052
11052
  return subagentRegistryRuntimePromise;
11053
11053
  }
11054
11054
  const DIRECT_ANNOUNCE_TRANSIENT_RETRY_DELAYS_MS = FAST_TEST_MODE ? [
@@ -14402,7 +14402,7 @@ async function runWithConcurrency(tasks, limit) {
14402
14402
  //#region src/media-understanding/echo-transcript.ts
14403
14403
  let deliverRuntimePromise$1 = null;
14404
14404
  function loadDeliverRuntime$1() {
14405
- deliverRuntimePromise$1 ??= import("./deliver-runtime-FUk47wdh.js");
14405
+ deliverRuntimePromise$1 ??= import("./deliver-runtime-BvTbrDXE.js");
14406
14406
  return deliverRuntimePromise$1;
14407
14407
  }
14408
14408
  const DEFAULT_ECHO_TRANSCRIPT_FORMAT = "📝 \"{transcript}\"";
@@ -18051,7 +18051,7 @@ function mergeLegacyAgent(current, legacy) {
18051
18051
  }
18052
18052
  function ensureDir$1(filePath) {
18053
18053
  const dir = path.dirname(filePath);
18054
- fs$1.mkdirSync(dir, { recursive: true });
18054
+ syncFs.mkdirSync(dir, { recursive: true });
18055
18055
  }
18056
18056
  function coerceAllowlistEntries(allowlist) {
18057
18057
  if (!Array.isArray(allowlist) || allowlist.length === 0) return Array.isArray(allowlist) ? allowlist : void 0;
@@ -18121,11 +18121,11 @@ function generateToken() {
18121
18121
  function loadExecApprovals() {
18122
18122
  const filePath = resolveExecApprovalsPath();
18123
18123
  try {
18124
- if (!fs$1.existsSync(filePath)) return normalizeExecApprovals({
18124
+ if (!syncFs.existsSync(filePath)) return normalizeExecApprovals({
18125
18125
  version: 1,
18126
18126
  agents: {}
18127
18127
  });
18128
- const raw = fs$1.readFileSync(filePath, "utf8");
18128
+ const raw = syncFs.readFileSync(filePath, "utf8");
18129
18129
  const parsed = JSON.parse(raw);
18130
18130
  if (parsed?.version !== 1) return normalizeExecApprovals({
18131
18131
  version: 1,
@@ -18142,9 +18142,9 @@ function loadExecApprovals() {
18142
18142
  function saveExecApprovals(file) {
18143
18143
  const filePath = resolveExecApprovalsPath();
18144
18144
  ensureDir$1(filePath);
18145
- fs$1.writeFileSync(filePath, `${JSON.stringify(file, null, 2)}\n`, { mode: 384 });
18145
+ syncFs.writeFileSync(filePath, `${JSON.stringify(file, null, 2)}\n`, { mode: 384 });
18146
18146
  try {
18147
- fs$1.chmodSync(filePath, 384);
18147
+ syncFs.chmodSync(filePath, 384);
18148
18148
  } catch {}
18149
18149
  }
18150
18150
  function ensureExecApprovals() {
@@ -18641,18 +18641,18 @@ function drainSystemEventEntries(sessionKey) {
18641
18641
  function resolvePowerShellPath() {
18642
18642
  const programFiles = process.env.ProgramFiles || process.env.PROGRAMFILES || "C:\\Program Files";
18643
18643
  const pwsh7 = path.join(programFiles, "PowerShell", "7", "pwsh.exe");
18644
- if (fs$1.existsSync(pwsh7)) return pwsh7;
18644
+ if (syncFs.existsSync(pwsh7)) return pwsh7;
18645
18645
  const programW6432 = process.env.ProgramW6432;
18646
18646
  if (programW6432 && programW6432 !== programFiles) {
18647
18647
  const pwsh7Alt = path.join(programW6432, "PowerShell", "7", "pwsh.exe");
18648
- if (fs$1.existsSync(pwsh7Alt)) return pwsh7Alt;
18648
+ if (syncFs.existsSync(pwsh7Alt)) return pwsh7Alt;
18649
18649
  }
18650
18650
  const pwshInPath = resolveShellFromPath("pwsh");
18651
18651
  if (pwshInPath) return pwshInPath;
18652
18652
  const systemRoot = process.env.SystemRoot || process.env.WINDIR;
18653
18653
  if (systemRoot) {
18654
18654
  const candidate = path.join(systemRoot, "System32", "WindowsPowerShell", "v1.0", "powershell.exe");
18655
- if (fs$1.existsSync(candidate)) return candidate;
18655
+ if (syncFs.existsSync(candidate)) return candidate;
18656
18656
  }
18657
18657
  return "powershell.exe";
18658
18658
  }
@@ -18690,7 +18690,7 @@ function resolveShellFromPath(name) {
18690
18690
  for (const entry of entries) {
18691
18691
  const candidate = path.join(entry, name);
18692
18692
  try {
18693
- fs$1.accessSync(candidate, fs$1.constants.X_OK);
18693
+ syncFs.accessSync(candidate, syncFs.constants.X_OK);
18694
18694
  return candidate;
18695
18695
  } catch {}
18696
18696
  }
@@ -22165,7 +22165,7 @@ function ensureContextWindowCacheLoaded() {
22165
22165
  await ensureOpenClawModelsJson(cfg);
22166
22166
  } catch {}
22167
22167
  try {
22168
- const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-DtqUetHg.js").then((n) => n.r);
22168
+ const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-32EFg27L.js").then((n) => n.r);
22169
22169
  const agentDir = resolveOpenClawAgentDir();
22170
22170
  const modelRegistry = discoverModels(discoverAuthStorage(agentDir), agentDir);
22171
22171
  applyDiscoveredContextWindows({
@@ -22321,7 +22321,7 @@ function walkUpFrom(startDir, opts, resolveAtDir) {
22321
22321
  function hasGitMarker(repoRoot) {
22322
22322
  const gitPath = path.join(repoRoot, ".git");
22323
22323
  try {
22324
- const stat = fs$1.statSync(gitPath);
22324
+ const stat = syncFs.statSync(gitPath);
22325
22325
  return stat.isDirectory() || stat.isFile();
22326
22326
  } catch {
22327
22327
  return false;
@@ -22333,10 +22333,10 @@ function findGitRoot(startDir, opts = {}) {
22333
22333
  function resolveGitDirFromMarker(repoRoot) {
22334
22334
  const gitPath = path.join(repoRoot, ".git");
22335
22335
  try {
22336
- const stat = fs$1.statSync(gitPath);
22336
+ const stat = syncFs.statSync(gitPath);
22337
22337
  if (stat.isDirectory()) return gitPath;
22338
22338
  if (!stat.isFile()) return null;
22339
- const match = fs$1.readFileSync(gitPath, "utf-8").match(/gitdir:\s*(.+)/i);
22339
+ const match = syncFs.readFileSync(gitPath, "utf-8").match(/gitdir:\s*(.+)/i);
22340
22340
  if (!match?.[1]) return null;
22341
22341
  return path.resolve(repoRoot, match[1].trim());
22342
22342
  } catch {
@@ -22403,7 +22403,7 @@ const resolveCommitHash = (options = {}) => {
22403
22403
  cachedCommit = null;
22404
22404
  return cachedCommit;
22405
22405
  }
22406
- const head = fs$1.readFileSync(headPath, "utf-8").trim();
22406
+ const head = syncFs.readFileSync(headPath, "utf-8").trim();
22407
22407
  if (!head) {
22408
22408
  cachedCommit = null;
22409
22409
  return cachedCommit;
@@ -22411,7 +22411,7 @@ const resolveCommitHash = (options = {}) => {
22411
22411
  if (head.startsWith("ref:")) {
22412
22412
  const ref = head.replace(/^ref:\s*/i, "").trim();
22413
22413
  const refPath = path.resolve(path.dirname(headPath), ref);
22414
- cachedCommit = formatCommit(fs$1.readFileSync(refPath, "utf-8").trim());
22414
+ cachedCommit = formatCommit(syncFs.readFileSync(refPath, "utf-8").trim());
22415
22415
  return cachedCommit;
22416
22416
  }
22417
22417
  cachedCommit = formatCommit(head);
@@ -22671,17 +22671,17 @@ const readUsageFromSessionLog = (sessionId, sessionEntry, agentId, sessionKey, s
22671
22671
  } catch {
22672
22672
  return;
22673
22673
  }
22674
- if (!fs$1.existsSync(logPath)) return;
22674
+ if (!syncFs.existsSync(logPath)) return;
22675
22675
  try {
22676
22676
  const TAIL_BYTES = 8192;
22677
- const stat = fs$1.statSync(logPath);
22677
+ const stat = syncFs.statSync(logPath);
22678
22678
  const offset = Math.max(0, stat.size - TAIL_BYTES);
22679
22679
  const buf = Buffer.alloc(Math.min(TAIL_BYTES, stat.size));
22680
- const fd = fs$1.openSync(logPath, "r");
22680
+ const fd = syncFs.openSync(logPath, "r");
22681
22681
  try {
22682
- fs$1.readSync(fd, buf, 0, buf.length, offset);
22682
+ syncFs.readSync(fd, buf, 0, buf.length, offset);
22683
22683
  } finally {
22684
- fs$1.closeSync(fd);
22684
+ syncFs.closeSync(fd);
22685
22685
  }
22686
22686
  const tail = buf.toString("utf-8");
22687
22687
  const lines = (offset > 0 ? tail.slice(tail.indexOf("\n") + 1) : tail).split(/\n+/);
@@ -24189,7 +24189,7 @@ function resolveRepoRoot(params) {
24189
24189
  const configured = params.config?.agents?.defaults?.repoRoot?.trim();
24190
24190
  if (configured) try {
24191
24191
  const resolved = path.resolve(configured);
24192
- if (fs$1.statSync(resolved).isDirectory()) return resolved;
24192
+ if (syncFs.statSync(resolved).isDirectory()) return resolved;
24193
24193
  } catch {}
24194
24194
  const candidates = [params.workspaceDir, params.cwd].map((value) => value?.trim()).filter(Boolean);
24195
24195
  const seen = /* @__PURE__ */ new Set();
@@ -24294,7 +24294,7 @@ function buildMessagingSection(params) {
24294
24294
  "- Cross-session messaging → use sessions_send(sessionKey, message)",
24295
24295
  "- Sub-agent orchestration → use subagents(action=list|steer|kill)",
24296
24296
  `- Runtime-generated completion events may ask for a user update. Rewrite those in your normal assistant voice and send the update (do not forward raw internal metadata or default to ${SILENT_REPLY_TOKEN}).`,
24297
- "- Never use exec/curl for provider messaging; OpenClaw handles all routing internally.",
24297
+ "- Never use exec/curl for provider messaging; CryptoClaw handles all routing internally.",
24298
24298
  params.availableTools.has("message") ? [
24299
24299
  "",
24300
24300
  "### message tool",
@@ -24323,13 +24323,13 @@ function buildDocsSection(params) {
24323
24323
  if (!docsPath || params.isMinimal) return [];
24324
24324
  return [
24325
24325
  "## Documentation",
24326
- `OpenClaw docs: ${docsPath}`,
24326
+ `CryptoClaw docs: ${docsPath}`,
24327
24327
  "Mirror: https://docs.openclaw.ai",
24328
24328
  "Source: https://github.com/openclaw/openclaw",
24329
24329
  "Community: https://discord.com/invite/clawd",
24330
24330
  "Find new skills: https://clawhub.com",
24331
- "For OpenClaw behavior, commands, config, or architecture: consult local docs first.",
24332
- "When diagnosing issues, run `openclaw status` yourself when possible; only ask the user if you lack access (e.g., sandboxed).",
24331
+ "For CryptoClaw behavior, commands, config, or architecture: consult local docs first.",
24332
+ "When diagnosing issues, run `cryptoclaw status` yourself when possible; only ask the user if you lack access (e.g., sandboxed).",
24333
24333
  ""
24334
24334
  ];
24335
24335
  }
@@ -24354,8 +24354,8 @@ function buildAgentSystemPrompt(params) {
24354
24354
  nodes: "List/describe/notify/camera/screen on paired nodes",
24355
24355
  cron: "Manage cron jobs and wake events (use for reminders; when scheduling a reminder, write the systemEvent text as something that will read like a reminder when it fires, and mention that it is a reminder depending on the time gap between setting and firing; include recent context in reminder text if appropriate)",
24356
24356
  message: "Send messages and channel actions",
24357
- gateway: "Restart, apply config, or run updates on the running OpenClaw process",
24358
- agents_list: acpSpawnRuntimeEnabled ? "List OpenClaw agent ids allowed for sessions_spawn when runtime=\"subagent\" (not ACP harness ids)" : "List OpenClaw agent ids allowed for sessions_spawn",
24357
+ gateway: "Restart, apply config, or run updates on the running CryptoClaw process",
24358
+ agents_list: acpSpawnRuntimeEnabled ? "List CryptoClaw agent ids allowed for sessions_spawn when runtime=\"subagent\" (not ACP harness ids)" : "List CryptoClaw agent ids allowed for sessions_spawn",
24359
24359
  sessions_list: "List other sessions (incl. sub-agents) with filters/last",
24360
24360
  sessions_history: "Fetch history for another session/sub-agent",
24361
24361
  sessions_send: "Send a message to another session/sub-agent",
@@ -24474,9 +24474,18 @@ function buildAgentSystemPrompt(params) {
24474
24474
  readToolName
24475
24475
  });
24476
24476
  const workspaceNotes = (params.workspaceNotes ?? []).map((note) => note.trim()).filter(Boolean);
24477
- if (promptMode === "none") return "You are a personal assistant running inside OpenClaw.";
24477
+ if (promptMode === "none") return "You are CryptoClaw — a based crypto-native AI assistant running on the CryptoClaw gateway. Built for degens, on-chain maxis, and diamond-hand operators. Stay alpha, stay sovereign.";
24478
24478
  const lines = [
24479
- "You are a personal assistant running inside OpenClaw.",
24479
+ "You are CryptoClaw — a based crypto-native AI assistant running on the CryptoClaw gateway. Built for degens, on-chain maxis, and diamond-hand operators. Stay alpha, stay sovereign.",
24480
+ "",
24481
+ "## Personality & Reply Style",
24482
+ "You have a crypto-native, web3 meme personality. Keep it real and based:",
24483
+ "- Talk like a seasoned on-chain degen who also happens to be brilliant. Use crypto slang naturally (ngmi/wagmi, gm, ape in, rug, alpha, fud, dyor, ser, fren, anon, based, chad, LFG, CT, goblin mode) but don't overdo it.",
24484
+ "- Short replies over walls of text. Precision > verbosity. Signal > noise.",
24485
+ "- When markets are up: bullish energy. When down: based stoic degen (this is fine, wagmi).",
24486
+ "- Roast paper hands and rugs with humor. Celebrate diamond hands.",
24487
+ "- For technical / serious requests: drop the meme hat, be precise and professional.",
24488
+ "- Never be cringe. If a meme doesn't fit, skip it.",
24480
24489
  "",
24481
24490
  "## Tooling",
24482
24491
  "Tool availability (filtered by policy):",
@@ -24489,7 +24498,7 @@ function buildAgentSystemPrompt(params) {
24489
24498
  "- apply_patch: apply multi-file patches",
24490
24499
  `- ${execToolName}: run shell commands (supports background via yieldMs/background)`,
24491
24500
  `- ${processToolName}: manage background exec sessions`,
24492
- "- browser: control OpenClaw's dedicated browser",
24501
+ "- browser: control CryptoClaw's dedicated browser",
24493
24502
  "- canvas: present/eval/snapshot the Canvas",
24494
24503
  "- nodes: list/describe/notify/camera/screen on paired nodes",
24495
24504
  "- cron: manage cron jobs and wake events (use for reminders; when scheduling a reminder, write the systemEvent text as something that will read like a reminder when it fires, and mention that it is a reminder depending on the time gap between setting and firing; include recent context in reminder text if appropriate)",
@@ -24518,24 +24527,24 @@ function buildAgentSystemPrompt(params) {
24518
24527
  "When a first-class tool exists for an action, use the tool directly instead of asking the user to run equivalent CLI or slash commands.",
24519
24528
  "",
24520
24529
  ...safetySection,
24521
- "## OpenClaw CLI Quick Reference",
24522
- "OpenClaw is controlled via subcommands. Do not invent commands.",
24530
+ "## CryptoClaw CLI Quick Reference",
24531
+ "CryptoClaw is controlled via subcommands. Do not invent commands.",
24523
24532
  "To manage the Gateway daemon service (start/stop/restart):",
24524
- "- openclaw gateway status",
24525
- "- openclaw gateway start",
24526
- "- openclaw gateway stop",
24527
- "- openclaw gateway restart",
24528
- "If unsure, ask the user to run `openclaw help` (or `openclaw gateway --help`) and paste the output.",
24533
+ "- cryptoclaw gateway status",
24534
+ "- cryptoclaw gateway start",
24535
+ "- cryptoclaw gateway stop",
24536
+ "- cryptoclaw gateway restart",
24537
+ "If unsure, ask the user to run `cryptoclaw help` (or `cryptoclaw gateway --help`) and paste the output.",
24529
24538
  "",
24530
24539
  ...skillsSection,
24531
24540
  ...memorySection,
24532
- hasGateway && !isMinimal ? "## OpenClaw Self-Update" : "",
24541
+ hasGateway && !isMinimal ? "## CryptoClaw Self-Update" : "",
24533
24542
  hasGateway && !isMinimal ? [
24534
24543
  "Get Updates (self-update) is ONLY allowed when the user explicitly asks for it.",
24535
24544
  "Do not run config.apply or update.run unless the user explicitly requests an update or config change; if it's not explicit, ask first.",
24536
24545
  "Use config.schema to fetch the current JSON Schema (includes plugins/channels) before making config changes or answering config-field questions; avoid guessing field names/types.",
24537
24546
  "Actions: config.get, config.schema, config.apply (validate + write full config, then restart), update.run (update deps or git, then restart).",
24538
- "After restart, OpenClaw pings the last active session automatically."
24547
+ "After restart, CryptoClaw pings the last active session automatically."
24539
24548
  ].join("\n") : "",
24540
24549
  hasGateway && !isMinimal ? "" : "",
24541
24550
  "",
@@ -24571,7 +24580,7 @@ function buildAgentSystemPrompt(params) {
24571
24580
  ...buildUserIdentitySection(ownerLine, isMinimal),
24572
24581
  ...buildTimeSection({ userTimezone }),
24573
24582
  "## Workspace Files (injected)",
24574
- "These user-editable files are loaded by OpenClaw and included below in Project Context.",
24583
+ "These user-editable files are loaded by CryptoClaw and included below in Project Context.",
24575
24584
  "",
24576
24585
  ...buildReplyTagsSection(isMinimal),
24577
24586
  ...buildMessagingSection({
@@ -24634,7 +24643,7 @@ function buildAgentSystemPrompt(params) {
24634
24643
  for (const file of validContextFiles) lines.push(`## ${file.path}`, "", file.content, "");
24635
24644
  }
24636
24645
  if (!isMinimal) lines.push("## Silent Replies", `When you have nothing to say, respond with ONLY: ${SILENT_REPLY_TOKEN}`, "", "⚠️ Rules:", "- It must be your ENTIRE message — nothing else", `- Never append it to an actual response (never include "${SILENT_REPLY_TOKEN}" in real replies)`, "- Never wrap it in markdown or code blocks", "", `❌ Wrong: "Here's help... ${SILENT_REPLY_TOKEN}"`, `❌ Wrong: "${SILENT_REPLY_TOKEN}"`, `✅ Right: ${SILENT_REPLY_TOKEN}`, "");
24637
- if (!isMinimal) lines.push("## Heartbeats", heartbeatPromptLine, "If you receive a heartbeat poll (a user message matching the heartbeat prompt above), and there is nothing that needs attention, reply exactly:", "HEARTBEAT_OK", "OpenClaw treats a leading/trailing \"HEARTBEAT_OK\" as a heartbeat ack (and may discard it).", "If something needs attention, do NOT include \"HEARTBEAT_OK\"; reply with the alert text instead.", "");
24646
+ if (!isMinimal) lines.push("## Heartbeats", heartbeatPromptLine, "If you receive a heartbeat poll (a user message matching the heartbeat prompt above), and there is nothing that needs attention, reply exactly:", "HEARTBEAT_OK", "CryptoClaw treats a leading/trailing \"HEARTBEAT_OK\" as a heartbeat ack (and may discard it).", "If something needs attention, do NOT include \"HEARTBEAT_OK\"; reply with the alert text instead.", "");
24638
24647
  lines.push("## Runtime", buildRuntimeLine(runtimeInfo, runtimeChannel, runtimeCapabilities, params.defaultThinkLevel), `Reasoning: ${reasoningLevel} (hidden unless on/stream). Toggle /reasoning; /status shows Reasoning when enabled.`);
24639
24648
  return lines.filter(Boolean).join("\n");
24640
24649
  }
@@ -24975,7 +24984,7 @@ async function buildContextReply(params) {
24975
24984
  //#region src/auto-reply/reply/commands-export-session.ts
24976
24985
  const EXPORT_HTML_DIR = path.join(path.dirname(fileURLToPath(import.meta.url)), "export-html");
24977
24986
  function loadTemplate(fileName) {
24978
- return fs$1.readFileSync(path.join(EXPORT_HTML_DIR, fileName), "utf-8");
24987
+ return syncFs.readFileSync(path.join(EXPORT_HTML_DIR, fileName), "utf-8");
24979
24988
  }
24980
24989
  function generateHtml(sessionData) {
24981
24990
  const template = loadTemplate("template.html");
@@ -25049,7 +25058,7 @@ async function buildExportSessionReply(params) {
25049
25058
  } catch (err) {
25050
25059
  return { text: `❌ Failed to resolve session file: ${err instanceof Error ? err.message : String(err)}` };
25051
25060
  }
25052
- if (!fs$1.existsSync(sessionFile)) return { text: `❌ Session file not found: ${sessionFile}` };
25061
+ if (!syncFs.existsSync(sessionFile)) return { text: `❌ Session file not found: ${sessionFile}` };
25053
25062
  const sessionManager = SessionManager.open(sessionFile);
25054
25063
  const entries = sessionManager.getEntries();
25055
25064
  const header = sessionManager.getHeader();
@@ -25070,8 +25079,8 @@ async function buildExportSessionReply(params) {
25070
25079
  const defaultFileName = `openclaw-session-${entry.sessionId.slice(0, 8)}-${timestamp}.html`;
25071
25080
  const outputPath = args.outputPath ? path.resolve(args.outputPath.startsWith("~") ? args.outputPath.replace("~", process.env.HOME ?? "") : args.outputPath) : path.join(params.workspaceDir, defaultFileName);
25072
25081
  const outputDir = path.dirname(outputPath);
25073
- if (!fs$1.existsSync(outputDir)) fs$1.mkdirSync(outputDir, { recursive: true });
25074
- fs$1.writeFileSync(outputPath, html, "utf-8");
25082
+ if (!syncFs.existsSync(outputDir)) syncFs.mkdirSync(outputDir, { recursive: true });
25083
+ syncFs.writeFileSync(outputPath, html, "utf-8");
25075
25084
  const relativePath = path.relative(params.workspaceDir, outputPath);
25076
25085
  return { text: [
25077
25086
  "✅ Session exported!",
@@ -25218,8 +25227,8 @@ function resolveZaiApiKey() {
25218
25227
  }
25219
25228
  try {
25220
25229
  const authPath = path.join(resolveRequiredHomeDir(process.env, os.homedir), ".pi", "agent", "auth.json");
25221
- if (!fs$1.existsSync(authPath)) return;
25222
- const data = JSON.parse(fs$1.readFileSync(authPath, "utf-8"));
25230
+ if (!syncFs.existsSync(authPath)) return;
25231
+ const data = JSON.parse(syncFs.readFileSync(authPath, "utf-8"));
25223
25232
  return data["z-ai"]?.access || data.zai?.access;
25224
25233
  } catch {
25225
25234
  return;
@@ -27038,7 +27047,7 @@ function shouldPersistAnyBindingState() {
27038
27047
  }
27039
27048
  function shouldPersistBindingMutations() {
27040
27049
  if (shouldPersistAnyBindingState()) return true;
27041
- return fs$1.existsSync(resolveThreadBindingsPath());
27050
+ return syncFs.existsSync(resolveThreadBindingsPath());
27042
27051
  }
27043
27052
  function saveBindingsToDisk(params = {}) {
27044
27053
  if (!params.force && !shouldPersistAnyBindingState()) return;
@@ -28440,7 +28449,7 @@ const applyCostTotal = (totals, costTotal) => {
28440
28449
  totals.totalCost += costTotal;
28441
28450
  };
28442
28451
  async function* readJsonlRecords(filePath) {
28443
- const fileStream = fs$1.createReadStream(filePath, { encoding: "utf-8" });
28452
+ const fileStream = syncFs.createReadStream(filePath, { encoding: "utf-8" });
28444
28453
  const rl = readline.createInterface({
28445
28454
  input: fileStream,
28446
28455
  crlfDelay: Infinity
@@ -28512,10 +28521,10 @@ async function loadCostUsageSummary(params) {
28512
28521
  const dailyMap = /* @__PURE__ */ new Map();
28513
28522
  const totals = emptyTotals();
28514
28523
  const sessionsDir = resolveSessionTranscriptsDirForAgent(params?.agentId);
28515
- const entries = await fs$1.promises.readdir(sessionsDir, { withFileTypes: true }).catch(() => []);
28524
+ const entries = await syncFs.promises.readdir(sessionsDir, { withFileTypes: true }).catch(() => []);
28516
28525
  const files = (await Promise.all(entries.filter((entry) => entry.isFile() && entry.name.endsWith(".jsonl")).map(async (entry) => {
28517
28526
  const filePath = path.join(sessionsDir, entry.name);
28518
- const stats = await fs$1.promises.stat(filePath).catch(() => null);
28527
+ const stats = await syncFs.promises.stat(filePath).catch(() => null);
28519
28528
  if (!stats) return null;
28520
28529
  if (stats.mtimeMs < sinceTime) return null;
28521
28530
  return filePath;
@@ -28548,7 +28557,7 @@ async function loadCostUsageSummary(params) {
28548
28557
  }
28549
28558
  async function loadSessionCostSummary(params) {
28550
28559
  const sessionFile = params.sessionFile ?? (params.sessionId ? resolveSessionFilePath(params.sessionId, params.sessionEntry, { agentId: params.agentId }) : void 0);
28551
- if (!sessionFile || !fs$1.existsSync(sessionFile)) return null;
28560
+ if (!sessionFile || !syncFs.existsSync(sessionFile)) return null;
28552
28561
  const totals = emptyTotals();
28553
28562
  let firstActivity;
28554
28563
  let lastActivity;
@@ -31071,7 +31080,7 @@ async function createModelSelectionState(params) {
31071
31080
  }
31072
31081
  }
31073
31082
  if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) {
31074
- const { ensureAuthProfileStore } = await import("./model-selection-4Sj13O94.js").then((n) => n.F);
31083
+ const { ensureAuthProfileStore } = await import("./model-selection-e9hodq0l.js").then((n) => n.F);
31075
31084
  const profile = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[sessionEntry.authProfileOverride];
31076
31085
  const providerKey = normalizeProviderId(provider);
31077
31086
  if (!profile || normalizeProviderId(profile.provider) !== providerKey) await clearSessionAuthProfileOverride({
@@ -34732,7 +34741,7 @@ function asBoolean(value) {
34732
34741
  }
34733
34742
  function resolveTempPathParts(opts) {
34734
34743
  const tmpDir = opts.tmpDir ?? resolvePreferredOpenClawTmpDir();
34735
- if (!opts.tmpDir) fs$1.mkdirSync(tmpDir, {
34744
+ if (!opts.tmpDir) syncFs.mkdirSync(tmpDir, {
34736
34745
  recursive: true,
34737
34746
  mode: 448
34738
34747
  });
@@ -34818,7 +34827,7 @@ async function writeUrlToFile(filePath, url, opts) {
34818
34827
  if (typeof contentLength === "number" && Number.isFinite(contentLength) && contentLength > MAX_CAMERA_URL_DOWNLOAD_BYTES) throw new Error(`writeUrlToFile: content-length ${contentLength} exceeds max ${MAX_CAMERA_URL_DOWNLOAD_BYTES}`);
34819
34828
  const body = res.body;
34820
34829
  if (!body) throw new Error(`failed to download ${url}: empty response body`);
34821
- const fileHandle = await fs$2.open(filePath, "w");
34830
+ const fileHandle = await fs$1.open(filePath, "w");
34822
34831
  let thrown;
34823
34832
  try {
34824
34833
  const reader = body.getReader();
@@ -34836,7 +34845,7 @@ async function writeUrlToFile(filePath, url, opts) {
34836
34845
  await fileHandle.close();
34837
34846
  }
34838
34847
  if (thrown) {
34839
- await fs$2.unlink(filePath).catch(() => {});
34848
+ await fs$1.unlink(filePath).catch(() => {});
34840
34849
  throw thrown;
34841
34850
  }
34842
34851
  } finally {
@@ -34849,7 +34858,7 @@ async function writeUrlToFile(filePath, url, opts) {
34849
34858
  }
34850
34859
  async function writeBase64ToFile(filePath, base64) {
34851
34860
  const buf = Buffer.from(base64, "base64");
34852
- await fs$2.writeFile(filePath, buf);
34861
+ await fs$1.writeFile(filePath, buf);
34853
34862
  return {
34854
34863
  path: filePath,
34855
34864
  bytes: buf.length
@@ -37893,9 +37902,9 @@ function loadExternalCatalogEntries(options) {
37893
37902
  const entries = [];
37894
37903
  for (const rawPath of paths) {
37895
37904
  const resolved = resolveUserPath(rawPath);
37896
- if (!fs$1.existsSync(resolved)) continue;
37905
+ if (!syncFs.existsSync(resolved)) continue;
37897
37906
  try {
37898
- const payload = JSON.parse(fs$1.readFileSync(resolved, "utf-8"));
37907
+ const payload = JSON.parse(syncFs.readFileSync(resolved, "utf-8"));
37899
37908
  entries.push(...parseCatalogEntries(payload));
37900
37909
  } catch {}
37901
37910
  }
@@ -42012,7 +42021,7 @@ function listExistingAgentIdsFromDisk() {
42012
42021
  const root = resolveStateDir();
42013
42022
  const agentsDir = path.join(root, "agents");
42014
42023
  try {
42015
- return fs$1.readdirSync(agentsDir, { withFileTypes: true }).filter((entry) => entry.isDirectory()).map((entry) => normalizeAgentId(entry.name)).filter(Boolean);
42024
+ return syncFs.readdirSync(agentsDir, { withFileTypes: true }).filter((entry) => entry.isDirectory()).map((entry) => normalizeAgentId(entry.name)).filter(Boolean);
42016
42025
  } catch {
42017
42026
  return [];
42018
42027
  }
@@ -48085,7 +48094,7 @@ async function runAgentTurnWithFallback(params) {
48085
48094
  if (corruptedSessionId) {
48086
48095
  const transcriptPath = resolveSessionTranscriptPath(corruptedSessionId);
48087
48096
  try {
48088
- fs$1.unlinkSync(transcriptPath);
48097
+ syncFs.unlinkSync(transcriptPath);
48089
48098
  } catch {}
48090
48099
  }
48091
48100
  delete params.activeSessionStore[sessionKey];
@@ -48905,7 +48914,7 @@ async function readSessionLogSnapshot(params) {
48905
48914
  if (!logPath) return {};
48906
48915
  const snapshot = {};
48907
48916
  if (params.includeByteSize) try {
48908
- const stat = await fs$1.promises.stat(logPath);
48917
+ const stat = await syncFs.promises.stat(logPath);
48909
48918
  const size = Math.floor(stat.size);
48910
48919
  snapshot.byteSize = Number.isFinite(size) && size >= 0 ? size : void 0;
48911
48920
  } catch {
@@ -48919,7 +48928,7 @@ async function readSessionLogSnapshot(params) {
48919
48928
  return snapshot;
48920
48929
  }
48921
48930
  async function readLastNonzeroUsageFromSessionLog(logPath) {
48922
- const handle = await fs$1.promises.open(logPath, "r");
48931
+ const handle = await syncFs.promises.open(logPath, "r");
48923
48932
  try {
48924
48933
  let position = (await handle.stat()).size;
48925
48934
  let leadingPartial = "";
@@ -49616,9 +49625,9 @@ async function readPostCompactionContext(workspaceDir, cfg, nowMs) {
49616
49625
  if (!opened.ok) return null;
49617
49626
  const sections = extractSections((() => {
49618
49627
  try {
49619
- return fs$1.readFileSync(opened.fd, "utf-8");
49628
+ return syncFs.readFileSync(opened.fd, "utf-8");
49620
49629
  } finally {
49621
- fs$1.closeSync(opened.fd);
49630
+ syncFs.closeSync(opened.fd);
49622
49631
  }
49623
49632
  })(), ["Session Startup", "Red Lines"]);
49624
49633
  if (sections.length === 0) return null;
@@ -49840,7 +49849,7 @@ async function runReplyAgent(params) {
49840
49849
  if (resolved) transcriptCandidates.add(resolved);
49841
49850
  transcriptCandidates.add(resolveSessionTranscriptPath(prevSessionId, agentId));
49842
49851
  for (const candidate of transcriptCandidates) try {
49843
- fs$1.unlinkSync(candidate);
49852
+ syncFs.unlinkSync(candidate);
49844
49853
  } catch {}
49845
49854
  }
49846
49855
  return true;
@@ -50786,7 +50795,7 @@ const warnedContexts = /* @__PURE__ */ new Map();
50786
50795
  const log$10 = createSubsystemLogger("session-maintenance-warning");
50787
50796
  let deliverRuntimePromise = null;
50788
50797
  function loadDeliverRuntime() {
50789
- deliverRuntimePromise ??= import("./deliver-runtime-FUk47wdh.js");
50798
+ deliverRuntimePromise ??= import("./deliver-runtime-BvTbrDXE.js");
50790
50799
  return deliverRuntimePromise;
50791
50800
  }
50792
50801
  function shouldSendWarning() {
@@ -50953,7 +50962,7 @@ function forkSessionFromParent(params) {
50953
50962
  agentId: params.agentId,
50954
50963
  sessionsDir: params.sessionsDir
50955
50964
  });
50956
- if (!parentSessionFile || !fs$1.existsSync(parentSessionFile)) return null;
50965
+ if (!parentSessionFile || !syncFs.existsSync(parentSessionFile)) return null;
50957
50966
  try {
50958
50967
  const manager = SessionManager.open(parentSessionFile);
50959
50968
  const leafId = manager.getLeafId();
@@ -50977,7 +50986,7 @@ function forkSessionFromParent(params) {
50977
50986
  cwd: manager.getCwd(),
50978
50987
  parentSession: parentSessionFile
50979
50988
  };
50980
- fs$1.writeFileSync(sessionFile, `${JSON.stringify(header)}\n`, "utf-8");
50989
+ syncFs.writeFileSync(sessionFile, `${JSON.stringify(header)}\n`, "utf-8");
50981
50990
  return {
50982
50991
  sessionId,
50983
50992
  sessionFile
@@ -55743,7 +55752,7 @@ const VISION_PROVIDERS = [
55743
55752
  ];
55744
55753
  let imageRuntimePromise = null;
55745
55754
  function loadImageRuntime() {
55746
- imageRuntimePromise ??= import("./image-runtime-Cla7tVB-.js");
55755
+ imageRuntimePromise ??= import("./image-runtime-Cp3I725X.js");
55747
55756
  return imageRuntimePromise;
55748
55757
  }
55749
55758
  /**
@@ -57736,7 +57745,7 @@ async function resolveDiscordPreflightAudioMentionContext(params) {
57736
57745
  const needsPreflightTranscription = !params.isDirectMessage && params.shouldRequireMention && hasAudioAttachment && !hasTypedText && params.mentionRegexes.length > 0;
57737
57746
  let transcript;
57738
57747
  if (needsPreflightTranscription) try {
57739
- const { transcribeFirstAudio } = await import("./audio-preflight-DwAVbL_O.js");
57748
+ const { transcribeFirstAudio } = await import("./audio-preflight-C7kt2vOu.js");
57740
57749
  const audioUrls = audioAttachments.map((att) => att.url).filter((url) => typeof url === "string" && url.length > 0);
57741
57750
  if (audioUrls.length > 0) transcript = await transcribeFirstAudio({
57742
57751
  ctx: {
@@ -59296,7 +59305,7 @@ function identityHasValues(identity) {
59296
59305
  }
59297
59306
  function loadIdentityFromFile(identityPath) {
59298
59307
  try {
59299
- const parsed = parseIdentityMarkdown(fs$1.readFileSync(identityPath, "utf-8"));
59308
+ const parsed = parseIdentityMarkdown(syncFs.readFileSync(identityPath, "utf-8"));
59300
59309
  if (!identityHasValues(parsed)) return null;
59301
59310
  return parsed;
59302
59311
  } catch {
@@ -59320,7 +59329,7 @@ function resolveAvatarSource(cfg, agentId) {
59320
59329
  }
59321
59330
  function resolveExistingPath(value) {
59322
59331
  try {
59323
- return fs$1.realpathSync(value);
59332
+ return syncFs.realpathSync(value);
59324
59333
  } catch {
59325
59334
  return path.resolve(value);
59326
59335
  }
@@ -59338,7 +59347,7 @@ function resolveLocalAvatarPath(params) {
59338
59347
  reason: "unsupported_extension"
59339
59348
  };
59340
59349
  try {
59341
- const stat = fs$1.statSync(realPath);
59350
+ const stat = syncFs.statSync(realPath);
59342
59351
  if (!stat.isFile()) return {
59343
59352
  ok: false,
59344
59353
  reason: "missing"
@@ -64996,27 +65005,27 @@ let slackSenderRuntimePromise = null;
64996
65005
  let signalSenderRuntimePromise = null;
64997
65006
  let imessageSenderRuntimePromise = null;
64998
65007
  function loadWhatsAppSenderRuntime() {
64999
- whatsappSenderRuntimePromise ??= import("./deps-send-whatsapp.runtime-DwPycT2W.js");
65008
+ whatsappSenderRuntimePromise ??= import("./deps-send-whatsapp.runtime-CAPjqcnc.js");
65000
65009
  return whatsappSenderRuntimePromise;
65001
65010
  }
65002
65011
  function loadTelegramSenderRuntime() {
65003
- telegramSenderRuntimePromise ??= import("./deps-send-telegram.runtime-BY3XoK15.js");
65012
+ telegramSenderRuntimePromise ??= import("./deps-send-telegram.runtime-CgApeKta.js");
65004
65013
  return telegramSenderRuntimePromise;
65005
65014
  }
65006
65015
  function loadDiscordSenderRuntime() {
65007
- discordSenderRuntimePromise ??= import("./deps-send-discord.runtime-CtY41kC2.js");
65016
+ discordSenderRuntimePromise ??= import("./deps-send-discord.runtime-1mqY0Pn3.js");
65008
65017
  return discordSenderRuntimePromise;
65009
65018
  }
65010
65019
  function loadSlackSenderRuntime() {
65011
- slackSenderRuntimePromise ??= import("./deps-send-slack.runtime-Bu_5Gshc.js");
65020
+ slackSenderRuntimePromise ??= import("./deps-send-slack.runtime-CbGlCNTX.js");
65012
65021
  return slackSenderRuntimePromise;
65013
65022
  }
65014
65023
  function loadSignalSenderRuntime() {
65015
- signalSenderRuntimePromise ??= import("./deps-send-signal.runtime-DmsxFjfF.js");
65024
+ signalSenderRuntimePromise ??= import("./deps-send-signal.runtime-CHqnnRXO.js");
65016
65025
  return signalSenderRuntimePromise;
65017
65026
  }
65018
65027
  function loadIMessageSenderRuntime() {
65019
- imessageSenderRuntimePromise ??= import("./deps-send-imessage.runtime-DuDLMZWC.js");
65028
+ imessageSenderRuntimePromise ??= import("./deps-send-imessage.runtime-NAKUx6Vy.js");
65020
65029
  return imessageSenderRuntimePromise;
65021
65030
  }
65022
65031
  function createDefaultDeps() {
@@ -71123,7 +71132,7 @@ async function monitorIMessageProvider(opts = {}) {
71123
71132
  function readFileIfExists(filePath) {
71124
71133
  if (!filePath) return;
71125
71134
  try {
71126
- return fs$1.readFileSync(filePath, "utf-8").trim();
71135
+ return syncFs.readFileSync(filePath, "utf-8").trim();
71127
71136
  } catch {
71128
71137
  return;
71129
71138
  }
@@ -71753,7 +71762,7 @@ async function downloadLineMedia(messageId, channelAccessToken, maxBytes = 10 *
71753
71762
  prefix: "line-media",
71754
71763
  extension: getExtensionForContentType(contentType)
71755
71764
  });
71756
- await fs$1.promises.writeFile(filePath, buffer);
71765
+ await syncFs.promises.writeFile(filePath, buffer);
71757
71766
  logVerbose(`line: downloaded media ${messageId} to ${filePath} (${buffer.length} bytes)`);
71758
71767
  return {
71759
71768
  path: filePath,
@@ -77757,15 +77766,15 @@ let slashCommandsRuntimePromise = null;
77757
77766
  let slashDispatchRuntimePromise = null;
77758
77767
  let slashSkillCommandsRuntimePromise = null;
77759
77768
  function loadSlashCommandsRuntime() {
77760
- slashCommandsRuntimePromise ??= import("./slash-commands.runtime-BADqwr8b.js");
77769
+ slashCommandsRuntimePromise ??= import("./slash-commands.runtime-gtQnheWz.js");
77761
77770
  return slashCommandsRuntimePromise;
77762
77771
  }
77763
77772
  function loadSlashDispatchRuntime() {
77764
- slashDispatchRuntimePromise ??= import("./slash-dispatch.runtime-Ct3ZRGID.js");
77773
+ slashDispatchRuntimePromise ??= import("./slash-dispatch.runtime-w1y_0I6t.js");
77765
77774
  return slashDispatchRuntimePromise;
77766
77775
  }
77767
77776
  function loadSlashSkillCommandsRuntime() {
77768
- slashSkillCommandsRuntimePromise ??= import("./slash-skill-commands.runtime-B1jRjicY.js");
77777
+ slashSkillCommandsRuntimePromise ??= import("./slash-skill-commands.runtime-CA_oN4df.js");
77769
77778
  return slashSkillCommandsRuntimePromise;
77770
77779
  }
77771
77780
  const slackExternalArgMenuStore = createSlackExternalArgMenuStore();
@@ -78755,7 +78764,7 @@ function collectTelegramUnmentionedGroupIds(groups) {
78755
78764
  }
78756
78765
  let auditMembershipRuntimePromise = null;
78757
78766
  function loadAuditMembershipRuntime() {
78758
- auditMembershipRuntimePromise ??= import("./audit-membership-runtime-DCpAfnah.js");
78767
+ auditMembershipRuntimePromise ??= import("./audit-membership-runtime-C6dnIaXJ.js");
78759
78768
  return auditMembershipRuntimePromise;
78760
78769
  }
78761
78770
  async function auditTelegramGroupMembership(params) {
@@ -81130,7 +81139,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, replyMedia =
81130
81139
  const disableAudioPreflight = firstDefined$1(topicConfig?.disableAudioPreflight, groupConfig?.disableAudioPreflight) === true;
81131
81140
  let preflightTranscript;
81132
81141
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0 && !disableAudioPreflight) try {
81133
- const { transcribeFirstAudio } = await import("./audio-preflight-DwAVbL_O.js");
81142
+ const { transcribeFirstAudio } = await import("./audio-preflight-C7kt2vOu.js");
81134
81143
  preflightTranscript = await transcribeFirstAudio({
81135
81144
  ctx: {
81136
81145
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -83943,7 +83952,7 @@ function createWhatsAppLoginTool() {
83943
83952
  force: Type.Optional(Type.Boolean())
83944
83953
  }),
83945
83954
  execute: async (_toolCallId, args) => {
83946
- const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-BVyS4U6r.js");
83955
+ const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-BEW3jIOt.js");
83947
83956
  if ((args?.action ?? "start") === "wait") {
83948
83957
  const result = await waitForWebLogin({ timeoutMs: typeof args.timeoutMs === "number" ? args.timeoutMs : void 0 });
83949
83958
  return {
@@ -84018,23 +84027,23 @@ let webOutboundPromise = null;
84018
84027
  let webLoginPromise = null;
84019
84028
  let whatsappActionsPromise = null;
84020
84029
  function loadWebOutbound() {
84021
- webOutboundPromise ??= import("./runtime-whatsapp-outbound.runtime-BR4VzGXP.js");
84030
+ webOutboundPromise ??= import("./runtime-whatsapp-outbound.runtime-CFivqxoq.js");
84022
84031
  return webOutboundPromise;
84023
84032
  }
84024
84033
  function loadWebLogin() {
84025
- webLoginPromise ??= import("./runtime-whatsapp-login.runtime-BmCUuMj3.js");
84034
+ webLoginPromise ??= import("./runtime-whatsapp-login.runtime-BhVxslsH.js");
84026
84035
  return webLoginPromise;
84027
84036
  }
84028
84037
  function loadWebLoginQr() {
84029
- webLoginQrPromise ??= import("./login-qr-BVyS4U6r.js");
84038
+ webLoginQrPromise ??= import("./login-qr-BEW3jIOt.js");
84030
84039
  return webLoginQrPromise;
84031
84040
  }
84032
84041
  function loadWebChannel() {
84033
- webChannelPromise ??= import("./web-BUYMR1EH.js");
84042
+ webChannelPromise ??= import("./web-B8rFiLYw.js");
84034
84043
  return webChannelPromise;
84035
84044
  }
84036
84045
  function loadWhatsAppActions() {
84037
- whatsappActionsPromise ??= import("./whatsapp-actions-PWrB4d7Y.js");
84046
+ whatsappActionsPromise ??= import("./whatsapp-actions-BPIXiPAR.js");
84038
84047
  return whatsappActionsPromise;
84039
84048
  }
84040
84049
  function createRuntimeWhatsApp() {
@@ -84475,7 +84484,7 @@ const log$6 = createSubsystemLogger("memory");
84475
84484
  const QMD_MANAGER_CACHE = /* @__PURE__ */ new Map();
84476
84485
  let managerRuntimePromise = null;
84477
84486
  function loadManagerRuntime() {
84478
- managerRuntimePromise ??= import("./manager-runtime-DzceCyMz.js");
84487
+ managerRuntimePromise ??= import("./manager-runtime-DacMHR37.js");
84479
84488
  return managerRuntimePromise;
84480
84489
  }
84481
84490
  async function getMemorySearchManager(params) {
@@ -84489,7 +84498,7 @@ async function getMemorySearchManager(params) {
84489
84498
  if (cached) return { manager: cached };
84490
84499
  }
84491
84500
  try {
84492
- const { QmdMemoryManager } = await import("./qmd-manager-B0rRZcZv.js");
84501
+ const { QmdMemoryManager } = await import("./qmd-manager-DMSLC2iu.js");
84493
84502
  const primary = await QmdMemoryManager.create({
84494
84503
  cfg: params.cfg,
84495
84504
  agentId: params.agentId,
@@ -85063,7 +85072,7 @@ async function withMemoryManagerForAgent(params) {
85063
85072
  }
85064
85073
  async function checkReadableFile(pathname) {
85065
85074
  try {
85066
- await fs.access(pathname, fs$1.constants.R_OK);
85075
+ await fs.access(pathname, syncFs.constants.R_OK);
85067
85076
  return { exists: true };
85068
85077
  } catch (err) {
85069
85078
  const code = err.code;
@@ -85122,7 +85131,7 @@ async function scanMemoryFiles(workspaceDir, extraPaths = []) {
85122
85131
  }
85123
85132
  let dirReadable = null;
85124
85133
  try {
85125
- await fs.access(memoryDir, fs$1.constants.R_OK);
85134
+ await fs.access(memoryDir, syncFs.constants.R_OK);
85126
85135
  dirReadable = true;
85127
85136
  } catch (err) {
85128
85137
  const code = err.code;
@@ -85571,7 +85580,7 @@ const resolvePluginSdkAliasFile = (params) => {
85571
85580
  const srcCandidate = path.join(cursor, "src", "plugin-sdk", params.srcFile);
85572
85581
  const distCandidate = path.join(cursor, "dist", "plugin-sdk", params.distFile);
85573
85582
  const orderedCandidates = isDistRuntime ? [distCandidate, srcCandidate] : isTest ? [distCandidate, srcCandidate] : [distCandidate];
85574
- for (const candidate of orderedCandidates) if (fs$1.existsSync(candidate)) return candidate;
85583
+ for (const candidate of orderedCandidates) if (syncFs.existsSync(candidate)) return candidate;
85575
85584
  const parent = path.dirname(cursor);
85576
85585
  if (parent === cursor) break;
85577
85586
  cursor = parent;
@@ -86003,7 +86012,7 @@ function loadOpenClawPlugins(options = {}) {
86003
86012
  continue;
86004
86013
  }
86005
86014
  const safeSource = opened.path;
86006
- fs$1.closeSync(opened.fd);
86015
+ syncFs.closeSync(opened.fd);
86007
86016
  let mod = null;
86008
86017
  try {
86009
86018
  mod = getJiti()(safeSource);
@@ -86121,7 +86130,7 @@ function loadOpenClawPlugins(options = {}) {
86121
86130
  }
86122
86131
  function safeRealpathOrResolve(value) {
86123
86132
  try {
86124
- return fs$1.realpathSync(value);
86133
+ return syncFs.realpathSync(value);
86125
86134
  } catch {
86126
86135
  return path.resolve(value);
86127
86136
  }
@@ -86560,9 +86569,9 @@ function resolvePatchFileOps(options) {
86560
86569
  });
86561
86570
  assertBoundaryRead(opened, filePath);
86562
86571
  try {
86563
- return fs$1.readFileSync(opened.fd, "utf8");
86572
+ return syncFs.readFileSync(opened.fd, "utf8");
86564
86573
  } finally {
86565
- fs$1.closeSync(opened.fd);
86574
+ syncFs.closeSync(opened.fd);
86566
86575
  }
86567
86576
  },
86568
86577
  writeFile: async (filePath, content) => {
@@ -86841,7 +86850,7 @@ const LOOP_WARNING_BUCKET_SIZE = 10;
86841
86850
  const MAX_LOOP_WARNING_KEYS = 256;
86842
86851
  let beforeToolCallRuntimePromise = null;
86843
86852
  function loadBeforeToolCallRuntime() {
86844
- beforeToolCallRuntimePromise ??= import("./pi-tools.before-tool-call.runtime-CkQ1AgXu.js");
86853
+ beforeToolCallRuntimePromise ??= import("./pi-tools.before-tool-call.runtime-BfjlGXIc.js");
86845
86854
  return beforeToolCallRuntimePromise;
86846
86855
  }
86847
86856
  function buildAdjustedParamsKey(params) {
@@ -89523,9 +89532,9 @@ async function readWorkspaceContextForSummary() {
89523
89532
  if (!opened.ok) return "";
89524
89533
  const sections = extractSections((() => {
89525
89534
  try {
89526
- return fs$1.readFileSync(opened.fd, "utf-8");
89535
+ return syncFs.readFileSync(opened.fd, "utf-8");
89527
89536
  } finally {
89528
- fs$1.closeSync(opened.fd);
89537
+ syncFs.closeSync(opened.fd);
89529
89538
  }
89530
89539
  })(), ["Session Startup", "Red Lines"]);
89531
89540
  if (sections.length === 0) return "";
@@ -90894,7 +90903,7 @@ async function compactEmbeddedPiSessionDirect(params) {
90894
90903
  if (!apiKeyInfo.apiKey) {
90895
90904
  if (apiKeyInfo.mode !== "aws-sdk") throw new Error(`No API key resolved for provider "${model.provider}" (auth mode: ${apiKeyInfo.mode}).`);
90896
90905
  } else if (model.provider === "github-copilot") {
90897
- const { resolveCopilotApiToken } = await import("./github-copilot-token-D7knylDF.js").then((n) => n.n);
90906
+ const { resolveCopilotApiToken } = await import("./github-copilot-token-DDa7O18e.js").then((n) => n.n);
90898
90907
  const copilotToken = await resolveCopilotApiToken({ githubToken: apiKeyInfo.apiKey });
90899
90908
  authStorage.setRuntimeApiKey(model.provider, copilotToken.token);
90900
90909
  } else authStorage.setRuntimeApiKey(model.provider, apiKeyInfo.apiKey);
@@ -93122,11 +93131,11 @@ function appendRawStream(payload) {
93122
93131
  if (!rawStreamReady) {
93123
93132
  rawStreamReady = true;
93124
93133
  try {
93125
- fs$1.mkdirSync(path.dirname(RAW_STREAM_PATH), { recursive: true });
93134
+ syncFs.mkdirSync(path.dirname(RAW_STREAM_PATH), { recursive: true });
93126
93135
  } catch {}
93127
93136
  }
93128
93137
  try {
93129
- fs$1.promises.appendFile(RAW_STREAM_PATH, `${JSON.stringify(payload)}\n`);
93138
+ syncFs.promises.appendFile(RAW_STREAM_PATH, `${JSON.stringify(payload)}\n`);
93130
93139
  } catch {}
93131
93140
  }
93132
93141
 
@@ -96631,7 +96640,7 @@ async function runEmbeddedPiAgent(params) {
96631
96640
  await copilotTokenState.refreshInFlight;
96632
96641
  return;
96633
96642
  }
96634
- const { resolveCopilotApiToken } = await import("./github-copilot-token-D7knylDF.js").then((n) => n.n);
96643
+ const { resolveCopilotApiToken } = await import("./github-copilot-token-DDa7O18e.js").then((n) => n.n);
96635
96644
  copilotTokenState.refreshInFlight = (async () => {
96636
96645
  const githubToken = copilotTokenState.githubToken.trim();
96637
96646
  if (!githubToken) throw new Error("Copilot refresh requires a GitHub token.");
@@ -96723,7 +96732,7 @@ async function runEmbeddedPiAgent(params) {
96723
96732
  return;
96724
96733
  }
96725
96734
  if (model.provider === "github-copilot") {
96726
- const { resolveCopilotApiToken } = await import("./github-copilot-token-D7knylDF.js").then((n) => n.n);
96735
+ const { resolveCopilotApiToken } = await import("./github-copilot-token-DDa7O18e.js").then((n) => n.n);
96727
96736
  const copilotToken = await resolveCopilotApiToken({ githubToken: apiKeyInfo.apiKey });
96728
96737
  authStorage.setRuntimeApiKey(model.provider, copilotToken.token);
96729
96738
  if (copilotTokenState) {