@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
@@ -4,111 +4,111 @@ import { i as defaultRuntime, r as createNonExitingRuntime } from "./ansi-D8xB67
4
4
  import { t as createSubsystemLogger } from "./subsystem-sfEQP4fF.js";
5
5
  import { t as parseBooleanValue$1 } from "./boolean-ydSOedIP.js";
6
6
  import { r as isTruthyEnvValue } from "./entry.js";
7
- import { Ar as resolveReasoningDefault, At as AVATAR_MAX_BYTES, Dn as applyMergePatch, Dr as resolveDefaultModelForAgent, Er as resolveConfiguredModelRef, Fi as DEFAULT_CONTEXT_TOKENS, Fn as resolveSlackNativeStreaming, Ft as isSupportedLocalAvatarExtension, G as writeConfigFile, Gn as resolveOwnerDisplaySetting, Gt as getConfigValueAtPath, Hn as resolveAgentMaxConcurrent, Ht as resetConfigOverrides, Ii as DEFAULT_MODEL, In as resolveSlackStreamingMode, J as TELEGRAM_COMMAND_NAME_PATTERN, Jn as listProfilesForProvider, Jt as unsetConfigValueAtPath, K as validateConfigObjectWithPlugins, Kt as parseConfigPath, Li as DEFAULT_PROVIDER, Mr as resolveSubagentSpawnModelSelection, Mt as isAvatarHttpUrl, Nn as mapStreamingModeToSlackLegacyDraftStreamMode, Nr as resolveThinkingDefault, Pi as splitTrailingAuthProfile, Pn as resolveDiscordPreviewStreamMode, Pt as isPathWithinRoot, Q as isInboundPathAllowed, Ri as resolveAuthProfileDisplayLabel, Sr as normalizeProviderId, U as resolveConfigSnapshotHash, Ut as setConfigOverride, V as readConfigFileSnapshot, Vn as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, Vt as getConfigOverrides, Wt as unsetConfigOverride, X as resolveTelegramCustomCommands, Xr as resolveRetryConfig, Y as normalizeTelegramCommandName, Yn as markAuthProfileGood, Zr as retryAsync, _i as resolveModelAuthMode, a as getSoonestCooldownExpiry, ai as OLLAMA_NATIVE_BASE_URL, bi as resolveShellEnvFallbackTimeoutMs, br as normalizeModelRef$2, c as markAuthProfileUsed, ci as buildAssistantMessageWithZeroUsage, cr as withFileLock, d as resolveApiKeyForProfile, di as getApiKeyForModel, er as ensureAuthProfileStore, et as resolveIMessageAttachmentRoots, f as evaluateStoredCredentialEligibility, fi as getCustomProviderApiKey, fr as buildAllowedModelSet, gi as resolveEnvApiKey, hr as findNormalizedProviderValue, i as clearExpiredCooldowns, ji as normalizeSecretInput, jt as isAvatarDataUrl, kr as resolveModelRefFromString, li as buildStreamErrorAssistantMessage, mi as resolveApiKeyForProvider, mr as buildModelAliasIndex, nn as buildEnforcedShellCommand, nt as normalizeScpRemoteHost, o as isProfileInCooldown, oi as createOllamaStreamFn, or as resolveAuthStorePathForDisplay, p as resolveTokenExpiryState, pi as requireApiKey, pr as buildConfiguredAllowlistKeys, pt as parseDurationMs, qn as dedupeProfileIds, qt as setConfigValueAtPath, r as resolveAuthProfileOrder, rt as parseNonNegativeByteSize, s as markAuthProfileFailure, si as buildAssistantMessage, sr as resolveOpenClawAgentDir, tt as resolveIMessageRemoteAttachmentRoots, u as resolveProfilesUnavailableReason, ui as buildUsageWithNoCost, vr as isCliProvider, yi as getShellPathFromLoginShell, yr as modelKey, z as loadConfig, zt as validateJsonSchemaValue } from "./auth-profiles-O2Q8_o0a.js";
7
+ import { Ar as resolveReasoningDefault, At as AVATAR_MAX_BYTES, Dn as applyMergePatch, Dr as resolveDefaultModelForAgent, Er as resolveConfiguredModelRef, Fi as DEFAULT_CONTEXT_TOKENS, Fn as resolveSlackNativeStreaming, Ft as isSupportedLocalAvatarExtension, G as writeConfigFile, Gn as resolveOwnerDisplaySetting, Gt as getConfigValueAtPath, Hn as resolveAgentMaxConcurrent, Ht as resetConfigOverrides, Ii as DEFAULT_MODEL, In as resolveSlackStreamingMode, J as TELEGRAM_COMMAND_NAME_PATTERN, Jn as listProfilesForProvider, Jt as unsetConfigValueAtPath, K as validateConfigObjectWithPlugins, Kt as parseConfigPath, Li as DEFAULT_PROVIDER, Mr as resolveSubagentSpawnModelSelection, Mt as isAvatarHttpUrl, Nn as mapStreamingModeToSlackLegacyDraftStreamMode, Nr as resolveThinkingDefault, Pi as splitTrailingAuthProfile, Pn as resolveDiscordPreviewStreamMode, Pt as isPathWithinRoot, Q as isInboundPathAllowed, Ri as resolveAuthProfileDisplayLabel, Sr as normalizeProviderId, U as resolveConfigSnapshotHash, Ut as setConfigOverride, V as readConfigFileSnapshot, Vn as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, Vt as getConfigOverrides, Wt as unsetConfigOverride, X as resolveTelegramCustomCommands, Xr as resolveRetryConfig, Y as normalizeTelegramCommandName, Yn as markAuthProfileGood, Zr as retryAsync, _i as resolveModelAuthMode, a as getSoonestCooldownExpiry, ai as OLLAMA_NATIVE_BASE_URL, bi as resolveShellEnvFallbackTimeoutMs, br as normalizeModelRef$2, c as markAuthProfileUsed, ci as buildAssistantMessageWithZeroUsage, cr as withFileLock, d as resolveApiKeyForProfile, di as getApiKeyForModel, er as ensureAuthProfileStore, et as resolveIMessageAttachmentRoots, f as evaluateStoredCredentialEligibility, fi as getCustomProviderApiKey, fr as buildAllowedModelSet, gi as resolveEnvApiKey, hr as findNormalizedProviderValue, i as clearExpiredCooldowns, ji as normalizeSecretInput, jt as isAvatarDataUrl, kr as resolveModelRefFromString, li as buildStreamErrorAssistantMessage, mi as resolveApiKeyForProvider, mr as buildModelAliasIndex, nn as buildEnforcedShellCommand, nt as normalizeScpRemoteHost, o as isProfileInCooldown, oi as createOllamaStreamFn, or as resolveAuthStorePathForDisplay, p as resolveTokenExpiryState, pi as requireApiKey, pr as buildConfiguredAllowlistKeys, pt as parseDurationMs, qn as dedupeProfileIds, qt as setConfigValueAtPath, r as resolveAuthProfileOrder, rt as parseNonNegativeByteSize, s as markAuthProfileFailure, si as buildAssistantMessage, sr as resolveOpenClawAgentDir, tt as resolveIMessageRemoteAttachmentRoots, u as resolveProfilesUnavailableReason, ui as buildUsageWithNoCost, vr as isCliProvider, yi as getShellPathFromLoginShell, yr as modelKey, z as loadConfig, zt as validateJsonSchemaValue } from "./auth-profiles-Dhb7Y6H5.js";
8
8
  import { t as formatCliCommand } from "./command-format-MESnUO9S.js";
9
- import { D as filterBootstrapFilesForSession, E as ensureAgentWorkspace, M as resolveAgentModelFallbackValues, N as resolveAgentModelPrimaryValue, P as toAgentModelListLike, _ as DEFAULT_AGENT_WORKSPACE_DIR, a as resolveAgentDir, b as DEFAULT_IDENTITY_FILENAME, d as resolveDefaultAgentId, f as resolveEffectiveModelFallbacks, h as resolveSessionAgentIds, i as resolveAgentConfig, k as loadWorkspaceBootstrapFiles, l as resolveAgentSkillsFilter, m as resolveSessionAgentId, p as resolveRunModelFallbacksOverride, r as listAgentIds, t as hasConfiguredModelFallbacks, u as resolveAgentWorkspaceDir, v as DEFAULT_BOOTSTRAP_FILENAME } from "./agent-scope-DnGYstsz.js";
9
+ import { D as filterBootstrapFilesForSession, E as ensureAgentWorkspace, M as resolveAgentModelFallbackValues, N as resolveAgentModelPrimaryValue, P as toAgentModelListLike, _ as DEFAULT_AGENT_WORKSPACE_DIR, a as resolveAgentDir, b as DEFAULT_IDENTITY_FILENAME, d as resolveDefaultAgentId, f as resolveEffectiveModelFallbacks, h as resolveSessionAgentIds, i as resolveAgentConfig, k as loadWorkspaceBootstrapFiles, l as resolveAgentSkillsFilter, m as resolveSessionAgentId, p as resolveRunModelFallbacksOverride, r as listAgentIds, t as hasConfiguredModelFallbacks, u as resolveAgentWorkspaceDir, v as DEFAULT_BOOTSTRAP_FILENAME } from "./agent-scope-CRf0l_Gq.js";
10
10
  import { D as resolveThreadParentSessionKey, E as parseAgentSessionKey, S as isAcpSessionKey, T as isSubagentSessionKey, _ as normalizeAccountId$2, b as deriveSessionChatType, c as normalizeAgentId, d as resolveThreadSessionKeys, f as sanitizeAgentId, g as DEFAULT_ACCOUNT_ID, i as buildAgentPeerSessionKey, l as normalizeMainKey, 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 normalizeOptionalAccountId, w as isCronSessionKey, x as getSubagentDepth, y as isBlockedObjectKey } from "./session-key-CC77ya0a.js";
11
11
  import { C as sliceUtf16Safe, E as isPlainObject, S as sleep$1, T as truncateUtf16Safe, b as shortenHomeInString, c as escapeRegExp, p as normalizeE164, r as clampInt, t as CONFIG_DIR, u as isRecord$1, v as resolveUserPath, x as shortenHomePath } from "./utils-BnC3HGtm.js";
12
- import { a as openBoundaryFileSync, h as normalizeWindowsPathForComparison, i as openBoundaryFile, t as resolveOpenClawPackageRoot } from "./openclaw-root-3A_8MzYe.js";
12
+ import { a as openBoundaryFileSync, h as normalizeWindowsPathForComparison, i as openBoundaryFile, t as resolveOpenClawPackageRoot } from "./openclaw-root-CcI1kSyI.js";
13
13
  import { i as logWarn, n as logError, r as logInfo, t as logDebug } from "./logger-BX552_3d.js";
14
14
  import { n as runExec, r as spawnWithFallback, t as runCommandWithTimeout } from "./exec-DQcHcbQy.js";
15
15
  import { E as triggerInternalHook, M as normalizeResolvedSecretInputString, S as matchPluginCommand, _ as normalizePluginHttpPath, b as getPluginCommandSpecs, c as normalizeChannelId$1, d as getActivePluginRegistryKey, g as createPluginRegistry, k as coerceSecretRef, m as setActivePluginRegistry, n as CHAT_CHANNEL_ORDER, p as requireActivePluginRegistry, s as normalizeAnyChannelId, u as getActivePluginRegistry, v as clearPluginCommands, w as createInternalHookEvent, x as listPluginCommands, y as executePluginCommand } from "./registry-CwKS6RIg.js";
16
16
  import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-DS1iTsaA.js";
17
17
  import { n as isDangerousHostEnvVarName } from "./host-env-security-DkAVVuaw.js";
18
18
  import { t as VERSION } from "./version-5hWIVAVM.js";
19
- import { a as safeStatSync, d as normalizePluginsConfig, f as resolveEffectiveEnableState, i as isPathInside, l as applyTestPluginDefaults, n as loadPluginManifestRegistry, p as resolveMemorySlotDecision, r as discoverOpenClawPlugins } from "./manifest-registry-ZTwWlNy8.js";
20
- import { a as resolveChannelGroupRequireMention, c as normalizeHyphenSlug, i as resolveChannelGroupPolicy, l as normalizeStringEntries, n as listChannelDocks, r as normalizeSignalMessagingTarget, s as normalizeAtHashSlug, t as getChannelDock, u as normalizeStringEntriesLower } from "./dock-BApnjSMS.js";
19
+ import { a as safeStatSync, d as normalizePluginsConfig, f as resolveEffectiveEnableState, i as isPathInside, l as applyTestPluginDefaults, n as loadPluginManifestRegistry, p as resolveMemorySlotDecision, r as discoverOpenClawPlugins } from "./manifest-registry-B-2nrmVS.js";
20
+ import { a as resolveChannelGroupRequireMention, c as normalizeHyphenSlug, i as resolveChannelGroupPolicy, l as normalizeStringEntries, n as listChannelDocks, r as normalizeSignalMessagingTarget, s as normalizeAtHashSlug, t as getChannelDock, u as normalizeStringEntriesLower } from "./dock-DhwktiRh.js";
21
21
  import { t as runTasksWithConcurrency } from "./run-with-concurrency-BsDJWzgM.js";
22
22
  import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-CWxXXI1r.js";
23
- import { i as buildModelAliasLines, n as resolveModel } from "./model-4MYhtwmk.js";
24
- import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-Bs768Cx7.js";
25
- import { a as logMessageQueued, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, h as getDiagnosticSessionState, i as logMessageProcessed, l as logWebhookProcessed, m as isDiagnosticsEnabled, n as logLaneDequeue, o as logSessionStateChange, p as emitDiagnosticEvent, r as logLaneEnqueue, t as diag, u as logWebhookReceived } from "./diagnostic-DUVtQcqK.js";
26
- import { a as resolveSkillsPromptForRun, d as resolveSandboxInputPath, h as applySkillEnvOverridesFromSnapshot, i as loadWorkspaceSkillEntries, l as assertMediaNotDataUrl, m as applySkillEnvOverrides, p as resolveSandboxedMediaSource, r as buildWorkspaceSkillSnapshot, u as assertSandboxPath } from "./skills-BJsPKAnb.js";
27
- import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-CQsCVlSQ.js";
23
+ import { i as buildModelAliasLines, n as resolveModel } from "./model-BF-E_mpk.js";
24
+ import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-Ci3qWkfz.js";
25
+ import { a as logMessageQueued, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, h as getDiagnosticSessionState, i as logMessageProcessed, l as logWebhookProcessed, m as isDiagnosticsEnabled, n as logLaneDequeue, o as logSessionStateChange, p as emitDiagnosticEvent, r as logLaneEnqueue, t as diag, u as logWebhookReceived } from "./diagnostic-DlgnWiS3.js";
26
+ import { a as resolveSkillsPromptForRun, d as resolveSandboxInputPath, h as applySkillEnvOverridesFromSnapshot, i as loadWorkspaceSkillEntries, l as assertMediaNotDataUrl, m as applySkillEnvOverrides, p as resolveSandboxedMediaSource, r as buildWorkspaceSkillSnapshot, u as assertSandboxPath } from "./skills-EgqBDxQ-.js";
27
+ import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-C74pGxcZ.js";
28
28
  import { a as isInternalMessageChannel, c as listDeliverableMessageChannels, d as resolveMessageChannel, h as GATEWAY_CLIENT_NAMES, i as isGatewayMessageChannel, l as normalizeMessageChannel, m as GATEWAY_CLIENT_MODES, n as isDeliverableMessageChannel, o as isMarkdownCapableMessageChannel, p as GATEWAY_CLIENT_IDS, t as INTERNAL_MESSAGE_CHANNEL, u as resolveGatewayMessageChannel } from "./message-channel-DOGMhglv.js";
29
- import { C as normalizeSessionDeliveryFields, D as capArrayByJsonBytes, E as archiveSessionTranscripts, F as parseInlineDirectives$1, G as resolveSessionResetPolicy, H as resolveSessionKey, J as DEFAULT_RESET_TRIGGERS, K as resolveSessionResetType, R as jsonUtf8Bytes, S as normalizeDeliveryContext, U as evaluateSessionFreshness, V as resolveSessionLockMaxHoldFromTimeout, W as resolveChannelResetConfig, X as resolveFreshSessionTotalTokens, Y as mergeSessionEntry, Z as setSessionRuntimeModel, _ as isCacheEnabled, a as resolveAndPersistSessionFile, at as resolveConversationLabel, b as deliveryContextKey, c as recordSessionMetaFromInbound, d as updateSessionStore, et as resolveExplicitAgentSessionKey, f as updateSessionStoreEntry, lt as resolveGroupSessionKey, n as parseSessionThreadInfo, o as loadSessionStore, q as resolveThreadFlag, r as appendAssistantMessageToSessionTranscript, rt as deriveSessionMetaPatch, s as readSessionUpdatedAt, t as extractDeliveryInfo, tt as resolveMainSessionKey, u as updateLastRoute, v as resolveCacheTtlMs$1, w as normalizeAccountId$3, x as mergeDeliveryContext, y as deliveryContextFromSession, z as acquireSessionWriteLock } from "./sessions-_J4_CA-P.js";
30
- import { A as normalizeDiscordToken, C as isWhatsAppGroupJid, D as listEnabledDiscordAccounts, S as resolveSlackBotToken, T as createDiscordActionGate, a as createTelegramActionGate, b as resolveSlackReplyToMode, h as listBindings, j as normalizeChatType, k as resolveDiscordAccount, l as resolveTelegramAccount, m as buildChannelAccountBindings, n as listChannelPlugins, o as listEnabledTelegramAccounts, r as normalizeChannelId$2, s as listTelegramAccountIds, t as getChannelPlugin, u as resolveTelegramToken, w as normalizeWhatsAppTarget, x as resolveSlackAppToken, y as resolveSlackAccount } from "./plugins-BPdE2epV.js";
31
- import { _ as webAuthExists, c as logWebSelfId, i as resolveWhatsAppAccount, l as logoutWeb, p as readWebSelfId, s as getWebAuthAgeMs, y as resolveAccountEntry } from "./accounts-BkK7T7q3.js";
32
- import { r as resolveIMessageAccount } from "./accounts-LGj1Il6r.js";
33
- import { i as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-Du96Wx8V.js";
34
- 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-BsLP4ooQ.js";
35
- 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-CFJQjYMY.js";
29
+ import { C as normalizeSessionDeliveryFields, D as capArrayByJsonBytes, E as archiveSessionTranscripts, F as parseInlineDirectives$1, G as resolveSessionResetPolicy, H as resolveSessionKey, J as DEFAULT_RESET_TRIGGERS, K as resolveSessionResetType, R as jsonUtf8Bytes, S as normalizeDeliveryContext, U as evaluateSessionFreshness, V as resolveSessionLockMaxHoldFromTimeout, W as resolveChannelResetConfig, X as resolveFreshSessionTotalTokens, Y as mergeSessionEntry, Z as setSessionRuntimeModel, _ as isCacheEnabled, a as resolveAndPersistSessionFile, at as resolveConversationLabel, b as deliveryContextKey, c as recordSessionMetaFromInbound, d as updateSessionStore, et as resolveExplicitAgentSessionKey, f as updateSessionStoreEntry, lt as resolveGroupSessionKey, n as parseSessionThreadInfo, o as loadSessionStore, q as resolveThreadFlag, r as appendAssistantMessageToSessionTranscript, rt as deriveSessionMetaPatch, s as readSessionUpdatedAt, t as extractDeliveryInfo, tt as resolveMainSessionKey, u as updateLastRoute, v as resolveCacheTtlMs$1, w as normalizeAccountId$3, x as mergeDeliveryContext, y as deliveryContextFromSession, z as acquireSessionWriteLock } from "./sessions-D1iVO-At.js";
30
+ import { A as normalizeDiscordToken, C as isWhatsAppGroupJid, D as listEnabledDiscordAccounts, S as resolveSlackBotToken, T as createDiscordActionGate, a as createTelegramActionGate, b as resolveSlackReplyToMode, h as listBindings, j as normalizeChatType, k as resolveDiscordAccount, l as resolveTelegramAccount, m as buildChannelAccountBindings, n as listChannelPlugins, o as listEnabledTelegramAccounts, r as normalizeChannelId$2, s as listTelegramAccountIds, t as getChannelPlugin, u as resolveTelegramToken, w as normalizeWhatsAppTarget, x as resolveSlackAppToken, y as resolveSlackAccount } from "./plugins-DPzGpZa7.js";
31
+ import { _ as webAuthExists, c as logWebSelfId, i as resolveWhatsAppAccount, l as logoutWeb, p as readWebSelfId, s as getWebAuthAgeMs, y as resolveAccountEntry } from "./accounts-yWl6UnE5.js";
32
+ import { r as resolveIMessageAccount } from "./accounts-BcrjW3D1.js";
33
+ import { i as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-BE0b9CWs.js";
34
+ 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-CgUKGlTT.js";
35
+ 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-CkTGqTX7.js";
36
36
  import { c as resolveStorePath, i as resolveSessionTranscriptPath, n as resolveSessionFilePath, r as resolveSessionFilePathOptions, t as resolveDefaultSessionStorePath } from "./paths-0JI_ndQl.js";
37
37
  import { i as normalizeInputProvenance, n as applyInputProvenanceToUserMessage, r as hasInterSessionUserProvenance } from "./input-provenance-C6EIah7A.js";
38
- import { r as writeJsonAtomic } from "./json-files-Gs9H0Aq3.js";
38
+ import { r as writeJsonAtomic } from "./json-files-DKBWexTJ.js";
39
39
  import { n as onSessionTranscriptUpdate, t as emitSessionTranscriptUpdate } from "./transcript-events-Cso7-m1w.js";
40
- import { Ft as SESSION_LABEL_MAX_LENGTH, t as GatewayClient } from "./client-DPmb6CIu.js";
41
- import { a as randomIdempotencyKey, f as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege, t as buildGatewayConnectionDetails } from "./call-DUvxsaBy.js";
42
- import { r as isLoopbackHost } from "./net-WImcDVCL.js";
40
+ import { Ft as SESSION_LABEL_MAX_LENGTH, t as GatewayClient } from "./client-BEF5fXj0.js";
41
+ import { a as randomIdempotencyKey, f as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege, t as buildGatewayConnectionDetails } from "./call-d1gA727i.js";
42
+ import { r as isLoopbackHost } from "./net-B4T9jJmY.js";
43
43
  import { r as trimToUndefined, t as resolveGatewayCredentialsFromConfig } from "./credentials-CZ0gzXYo.js";
44
44
  import { a as stripSilentToken, i as isSilentReplyText, n as SILENT_REPLY_TOKEN, r as isSilentReplyPrefixText, t as HEARTBEAT_TOKEN } from "./tokens-Bvd3SiSa.js";
45
- import { a as getMachineDisplayName, i as startBrowserControlServiceFromConfig, n as createBrowserRouteDispatcher, r as createBrowserControlContext, t as withTimeout$4 } from "./with-timeout-a_kBhS5N.js";
45
+ import { a as getMachineDisplayName, i as startBrowserControlServiceFromConfig, n as createBrowserRouteDispatcher, r as createBrowserControlContext, t as withTimeout$4 } from "./with-timeout-B5BHCMsa.js";
46
46
  import { n as generateSecureUuid, t as generateSecureToken } from "./secure-random-B3f7Ri2X.js";
47
- import { A as initializeGlobalHookRunner, C as toInternalMessagePreprocessedContext, D as toPluginMessageReceivedEvent, E as toPluginMessageContext, O as fireAndForgetHook, S as deriveInboundMessageHookContext, T as toInternalMessageTranscribedContext, _ as createReplyToModeFilterForChannel, a as normalizeOutboundPayloadsForJson, b as normalizeChannelTargetInput, c as parseReplyDirectives, d as applyReplyThreading, f as filterMessagingToolDuplicates, g as shouldSuppressReasoningPayload, h as shouldSuppressMessagingToolReplies, i as normalizeOutboundPayloads, k as getGlobalHookRunner, l as splitMediaFromOutput, m as isRenderablePayload, o as normalizeReplyPayloadsForDelivery, p as filterMessagingToolMediaDuplicates, r as formatOutboundPayloadLog, s as throwIfAborted, t as deliverOutboundPayloads, u as applyReplyTagsToPayload, v as resolveReplyToMode, w as toInternalMessageReceivedContext, x as normalizeTargetForProvider, y as buildTargetResolverSignature } from "./deliver-g75DXZ54.js";
47
+ import { A as initializeGlobalHookRunner, C as toInternalMessagePreprocessedContext, D as toPluginMessageReceivedEvent, E as toPluginMessageContext, O as fireAndForgetHook, S as deriveInboundMessageHookContext, T as toInternalMessageTranscribedContext, _ as createReplyToModeFilterForChannel, a as normalizeOutboundPayloadsForJson, b as normalizeChannelTargetInput, c as parseReplyDirectives, d as applyReplyThreading, f as filterMessagingToolDuplicates, g as shouldSuppressReasoningPayload, h as shouldSuppressMessagingToolReplies, i as normalizeOutboundPayloads, k as getGlobalHookRunner, l as splitMediaFromOutput, m as isRenderablePayload, o as normalizeReplyPayloadsForDelivery, p as filterMessagingToolMediaDuplicates, r as formatOutboundPayloadLog, s as throwIfAborted, t as deliverOutboundPayloads, u as applyReplyTagsToPayload, v as resolveReplyToMode, w as toInternalMessageReceivedContext, x as normalizeTargetForProvider, y as buildTargetResolverSignature } from "./deliver-KC6M1Po5.js";
48
48
  import { i as resolveTelegramTargetChatType, r as parseTelegramTarget } from "./targets-DiKdrXM6.js";
49
- import { c as detectMime, d as imageMimeFromFormat, f as isAudioFileName, g as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, m as kindFromMime, p as isGifMedia, s as resizeToJpeg, v as mediaKindFromMime } from "./image-ops-DQnLLCmy.js";
50
- import { A as describeReplyTarget, B as resolveTelegramStreamMode, C as buildSenderLabel, D as buildTelegramParentPeer, E as buildTelegramGroupPeerId, F as resolveTelegramDirectPeerId, G as resolveSenderAllowMatch$1, H as isSenderAllowed$1, I as resolveTelegramForumThreadId, J as isVoiceCompatibleAudio, K as formatLocationText, L as resolveTelegramGroupAllowFromContext, M as extractTelegramLocation, N as hasBotMention, O as buildTelegramThreadParams, P as normalizeForwardedContext, R as resolveTelegramMediaPlaceholder, S as buildGroupLabel, T as buildTelegramGroupFrom, U as normalizeAllowFrom$2, V as resolveTelegramThreadSpec, W as normalizeDmAllowFromWithStore$1, _ as splitTelegramCaption, a as reactMessageTelegram, b as resolveCronStorePath, c as sendStickerTelegram, d as isRecoverableTelegramNetworkError, f as markdownToTelegramChunks, g as resolveTelegramFetch, h as wrapFileReferencesInHtml, i as editMessageTelegram, j as expandTextLinks, k as buildTypingThreadParams, l as resolveTelegramVoiceSend, m as renderTelegramHtmlText, n as createForumTopicTelegram, o as sendMessageTelegram, p as markdownToTelegramHtml, q as toLocationContext, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, u as wasSentByBot, v as withTelegramApiErrorLogging, w as buildSenderName, y as loadCronStore, z as resolveTelegramReplyId } from "./send-DaH87GbQ.js";
51
- import { A as isTransientHttpError, B as resolveBootstrapTotalMaxChars, C as isCompactionFailureError, D as isLikelyContextOverflowError, E as isFailoverErrorMessage, F as isTimeoutErrorMessage, I as buildBootstrapContextFiles, L as ensureSessionHeader, M as parseImageSizeError, N as sanitizeUserFacingText, O as isRateLimitAssistantError, P as isAuthPermanentErrorMessage, R as resolveBootstrapMaxChars, S as isCloudCodeAssistFormatError, T as isFailoverAssistantError, V as sanitizeGoogleTurnOrdering, _ as formatBillingErrorMessage, a as isMessagingToolDuplicateNormalized, b as isAuthAssistantError, c as extractToolCallsFromAssistant, d as downgradeOpenAIFunctionCallReasoningPairs, f as downgradeOpenAIReasoningBlocks, g as formatAssistantErrorText, h as classifyFailoverReason, j as parseImageDimensionError, k as isRawApiErrorPayload, l as extractToolResultId, m as BILLING_ERROR_USER_MESSAGE, n as validateGeminiTurns, o as normalizeTextForComparison, p as isGoogleModelApi, r as pickFallbackThinkingLevel, s as sanitizeSessionMessagesImages, t as validateAnthropicTurns, u as sanitizeToolCallIdsForCloudCodeAssist, v as formatRawAssistantErrorForUi, w as isContextOverflowError, x as isBillingAssistantError, y as getApiErrorPayloadFingerprint, z as resolveBootstrapPromptTruncationWarningMode } from "./pi-embedded-helpers-66TKj98I.js";
52
- import { C as resolveToolProfilePolicy, S as normalizeToolName, T as matchesAnyGlobPattern, _ as collectExplicitAllowlist, a as ensureSandboxWorkspaceForSession, b as stripPluginOnlyAllowlist, c as resolveSandboxRuntimeStatus, d as getBridgeAuthForPort, f as resolveSandboxConfigForAgent, g as buildPluginToolGroups, h as applyOwnerOnlyToolPolicy, o as resolveSandboxContext, v as expandPolicyWithPluginGroups, w as compileGlobPatterns, y as mergeAlsoAllowPolicy } from "./sandbox-CswRLZuX.js";
53
- import { j as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-CYBD3o7s.js";
54
- import { c as resolveBrowserControlAuth, i as resolveBrowserConfig } from "./server-context-Chb0NTKM.js";
55
- import { i as resolveExistingPathsWithinRoot, r as DEFAULT_UPLOAD_DIR } from "./paths-DvmtmdGA.js";
49
+ import { c as detectMime, d as imageMimeFromFormat, f as isAudioFileName, g as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, m as kindFromMime, p as isGifMedia, s as resizeToJpeg, v as mediaKindFromMime } from "./image-ops-CX39q-u7.js";
50
+ import { A as describeReplyTarget, B as resolveTelegramStreamMode, C as buildSenderLabel, D as buildTelegramParentPeer, E as buildTelegramGroupPeerId, F as resolveTelegramDirectPeerId, G as resolveSenderAllowMatch$1, H as isSenderAllowed$1, I as resolveTelegramForumThreadId, J as isVoiceCompatibleAudio, K as formatLocationText, L as resolveTelegramGroupAllowFromContext, M as extractTelegramLocation, N as hasBotMention, O as buildTelegramThreadParams, P as normalizeForwardedContext, R as resolveTelegramMediaPlaceholder, S as buildGroupLabel, T as buildTelegramGroupFrom, U as normalizeAllowFrom$2, V as resolveTelegramThreadSpec, W as normalizeDmAllowFromWithStore$1, _ as splitTelegramCaption, a as reactMessageTelegram, b as resolveCronStorePath, c as sendStickerTelegram, d as isRecoverableTelegramNetworkError, f as markdownToTelegramChunks, g as resolveTelegramFetch, h as wrapFileReferencesInHtml, i as editMessageTelegram, j as expandTextLinks, k as buildTypingThreadParams, l as resolveTelegramVoiceSend, m as renderTelegramHtmlText, n as createForumTopicTelegram, o as sendMessageTelegram, p as markdownToTelegramHtml, q as toLocationContext, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, u as wasSentByBot, v as withTelegramApiErrorLogging, w as buildSenderName, y as loadCronStore, z as resolveTelegramReplyId } from "./send-Dtf_Rspz.js";
51
+ import { A as isTransientHttpError, B as resolveBootstrapTotalMaxChars, C as isCompactionFailureError, D as isLikelyContextOverflowError, E as isFailoverErrorMessage, F as isTimeoutErrorMessage, I as buildBootstrapContextFiles, L as ensureSessionHeader, M as parseImageSizeError, N as sanitizeUserFacingText, O as isRateLimitAssistantError, P as isAuthPermanentErrorMessage, R as resolveBootstrapMaxChars, S as isCloudCodeAssistFormatError, T as isFailoverAssistantError, V as sanitizeGoogleTurnOrdering, _ as formatBillingErrorMessage, a as isMessagingToolDuplicateNormalized, b as isAuthAssistantError, c as extractToolCallsFromAssistant, d as downgradeOpenAIFunctionCallReasoningPairs, f as downgradeOpenAIReasoningBlocks, g as formatAssistantErrorText, h as classifyFailoverReason, j as parseImageDimensionError, k as isRawApiErrorPayload, l as extractToolResultId, m as BILLING_ERROR_USER_MESSAGE, n as validateGeminiTurns, o as normalizeTextForComparison, p as isGoogleModelApi, r as pickFallbackThinkingLevel, s as sanitizeSessionMessagesImages, t as validateAnthropicTurns, u as sanitizeToolCallIdsForCloudCodeAssist, v as formatRawAssistantErrorForUi, w as isContextOverflowError, x as isBillingAssistantError, y as getApiErrorPayloadFingerprint, z as resolveBootstrapPromptTruncationWarningMode } from "./pi-embedded-helpers-CU3j5zQw.js";
52
+ import { C as resolveToolProfilePolicy, S as normalizeToolName, T as matchesAnyGlobPattern, _ as collectExplicitAllowlist, a as ensureSandboxWorkspaceForSession, b as stripPluginOnlyAllowlist, c as resolveSandboxRuntimeStatus, d as getBridgeAuthForPort, f as resolveSandboxConfigForAgent, g as buildPluginToolGroups, h as applyOwnerOnlyToolPolicy, o as resolveSandboxContext, v as expandPolicyWithPluginGroups, w as compileGlobPatterns, y as mergeAlsoAllowPolicy } from "./sandbox-BvR_Auee.js";
53
+ import { j as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-dfA2MJQH.js";
54
+ import { c as resolveBrowserControlAuth, i as resolveBrowserConfig } from "./server-context-jBMc5KL9.js";
55
+ import { i as resolveExistingPathsWithinRoot, r as DEFAULT_UPLOAD_DIR } from "./paths-A42qSVaB.js";
56
56
  import { a as testRegexWithBoundedInput, i as compileSafeRegex, n as redactSensitiveText } from "./redact-BWh_1W9T.js";
57
57
  import { i as formatUncaughtError, r as formatErrorMessage, s as readErrorName } from "./errors-By-4EgM8.js";
58
- import { i as openFileWithinRoot, l as writeFileWithinRoot, n as copyFileWithinRoot, o as readFileWithinRoot, r as createRootScopedReadFile, t as SafeOpenError } from "./fs-safe-CnDw0p6S.js";
59
- import { a as isBlockedHostnameOrIp, c as normalizeHostname, n as SsrFBlockedError } from "./proxy-env--152Piqf.js";
60
- import { i as saveMediaBuffer, r as getMediaDir, t as MEDIA_MAX_BYTES } from "./store-DFGXphHz.js";
61
- import { i as resolveLsofCommandSync } from "./ports-DfNdy6Sc.js";
62
- import { a as canonicalizeBase64, i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, o as estimateBase64DecodedBytes, r as sanitizeToolResultImages } from "./tool-images-BOfCiGuh.js";
58
+ import { i as openFileWithinRoot, l as writeFileWithinRoot, n as copyFileWithinRoot, o as readFileWithinRoot, r as createRootScopedReadFile, t as SafeOpenError } from "./fs-safe-B5PDQs4d.js";
59
+ import { a as isBlockedHostnameOrIp, c as normalizeHostname, n as SsrFBlockedError } from "./proxy-env-CKsbj01c.js";
60
+ import { i as saveMediaBuffer, r as getMediaDir, t as MEDIA_MAX_BYTES } from "./store-ihYI8Jc3.js";
61
+ import { i as resolveLsofCommandSync } from "./ports-jMaAsRpr.js";
62
+ import { a as canonicalizeBase64, i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, o as estimateBase64DecodedBytes, r as sanitizeToolResultImages } from "./tool-images-CEFl9wsx.js";
63
63
  import { a as normalizeElevatedLevel, c as normalizeUsageDisplay, d as supportsXHighThinking, l as normalizeVerboseLevel, n as formatXHighModelHint, o as normalizeReasoningLevel, s as normalizeThinkLevel, t as formatThinkingLevels, u as resolveResponseUsageMode } from "./thinking-pYqswKJZ.js";
64
- import { t as ensureOpenClawModelsJson } from "./models-config-rHYOUx9N.js";
65
- import { n as evaluateShellAllowlist, r as resolveAllowAlwaysPatterns } from "./exec-approvals-allowlist-CyY44YOj.js";
66
- import { n as resolveExecSafeBinRuntimePolicy, r as resolveMergedSafeBinProfileFixtures } from "./exec-safe-bin-runtime-policy-BP-hoGyD.js";
67
- import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-Bq8ljVOk.js";
68
- import { a as getDefaultMediaLocalRoots, i as getAgentScopedMediaLocalRoots, n as fetchRemoteMedia, r as readResponseWithLimit, t as MediaFetchError } from "./fetch-DpZmzITI.js";
69
- import { a as resolveAutoImageModel, c as applyTemplate, d as normalizeMediaUnderstandingChatType, f as resolveMediaUnderstandingScope, g 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$1, v as resolveAttachmentKind } from "./audio-transcription-runner-D1MyUZ7c.js";
64
+ import { t as ensureOpenClawModelsJson } from "./models-config-Bzcv6yHw.js";
65
+ import { n as evaluateShellAllowlist, r as resolveAllowAlwaysPatterns } from "./exec-approvals-allowlist-BMnVDBPF.js";
66
+ import { n as resolveExecSafeBinRuntimePolicy, r as resolveMergedSafeBinProfileFixtures } from "./exec-safe-bin-runtime-policy-DH8C1i7S.js";
67
+ import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-C2xpcL9w.js";
68
+ import { a as getDefaultMediaLocalRoots, i as getAgentScopedMediaLocalRoots, n as fetchRemoteMedia, r as readResponseWithLimit, t as MediaFetchError } from "./fetch-CZCJhSwX.js";
69
+ import { a as resolveAutoImageModel, c as applyTemplate, d as normalizeMediaUnderstandingChatType, f as resolveMediaUnderstandingScope, g 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$1, v as resolveAttachmentKind } from "./audio-transcription-runner-DKJsRpdc.js";
70
70
  import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-CGz7ZD6t.js";
71
- import { n as withStrictGuardedFetchMode, r as withTrustedEnvProxyGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-CLZ6u2jq.js";
72
- import { _ as stripReasoningTagsFromText, a as resolveProviderVisionModelFromConfig, b as extractTextFromChatContent, 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 findCodeRegions, x as minimaxUnderstandImage, y as isInsideCode } from "./image-DqLDeq0S.js";
71
+ import { n as withStrictGuardedFetchMode, r as withTrustedEnvProxyGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-B5ANJDou.js";
72
+ import { _ as stripReasoningTagsFromText, a as resolveProviderVisionModelFromConfig, b as extractTextFromChatContent, 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 findCodeRegions, x as minimaxUnderstandImage, y as isInsideCode } from "./image-Cb-G2N6H.js";
73
73
  import { n as formatToolSummary, r as resolveToolDisplay } from "./tool-display-D0sL9f1X.js";
74
74
  import { t as makeProxyFetch } from "./proxy-fetch-D-ure8qR.js";
75
- 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-BFLOrX1v.js";
76
- 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-DXOQGMiV.js";
77
- import { a as resolveNativeSkillsEnabled, i as resolveNativeCommandsEnabled, n as isNativeCommandsExplicitlyDisabled, r as isRestartEnabled, t as isCommandFlagEnabled } from "./commands-CUPc3v8D.js";
78
- import { a as listChatCommandsForConfig, c as maybeResolveTextAlias, d as resolveCommandArgChoices, f as resolveCommandArgMenu, 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 } from "./commands-registry-BLcZaG1W.js";
75
+ 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-BJoTxOuZ.js";
76
+ 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-D5MoCoCl.js";
77
+ import { a as resolveNativeSkillsEnabled, i as resolveNativeCommandsEnabled, n as isNativeCommandsExplicitlyDisabled, r as isRestartEnabled, t as isCommandFlagEnabled } from "./commands-NJXpIW-o.js";
78
+ import { a as listChatCommandsForConfig, c as maybeResolveTextAlias, d as resolveCommandArgChoices, f as resolveCommandArgMenu, 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 } from "./commands-registry-leOuyQey.js";
79
79
  import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-ClO55vUs.js";
80
80
  import { n as formatTimeAgo } from "./format-relative-TU8IDQdE.js";
81
- import { c as readJsonFileWithFallback, d as listPairingChannels, i as readChannelAllowFromStore, l as writeJsonFileAtomically, o as removeChannelAllowFromStoreEntry, s as upsertChannelPairingRequest, t as addChannelAllowFromStoreEntry } from "./pairing-store-W5camsG4.js";
81
+ import { c as readJsonFileWithFallback, d as listPairingChannels, i as readChannelAllowFromStore, l as writeJsonFileAtomically, o as removeChannelAllowFromStoreEntry, s as upsertChannelPairingRequest, t as addChannelAllowFromStoreEntry } from "./pairing-store-Cw7fg9R2.js";
82
82
  import { d as resolveExecApprovals, f as resolveExecApprovalsFromFile, i as maxAsk, l as recordAllowlistUse, n as addAllowlistEntry, o as minSecurity, u as requiresExecApproval } from "./exec-approvals-BeSUKnM9.js";
83
- import { C as mergePathPrepend, S as findPathKey, a as canvasSnapshotTempPath, b as buildNodeShellCommand, c as parseCameraClipPayload, d as writeCameraClipPayloadToFile, f as writeCameraPayloadToFile, i as parseEnvPairs, l as parseCameraSnapPayload, n as screenRecordTempPath, o as parseCanvasSnapshotPayload, p as parsePreparedSystemRunPayload, r as writeScreenRecordToFile, s as cameraTempPath, t as parseScreenRecordPayload, u as writeBase64ToFile, w as normalizePathPrepend, x as applyPathPrepend } from "./nodes-screen-ChMr3Xvv.js";
83
+ import { C as mergePathPrepend, S as findPathKey, a as canvasSnapshotTempPath, b as buildNodeShellCommand, c as parseCameraClipPayload, d as writeCameraClipPayloadToFile, f as writeCameraPayloadToFile, i as parseEnvPairs, l as parseCameraSnapPayload, n as screenRecordTempPath, o as parseCanvasSnapshotPayload, p as parsePreparedSystemRunPayload, r as writeScreenRecordToFile, s as cameraTempPath, t as parseScreenRecordPayload, u as writeBase64ToFile, w as normalizePathPrepend, x as applyPathPrepend } from "./nodes-screen-D4GSrs9P.js";
84
84
  import { t as killProcessTree$1 } from "./kill-tree-CHHp_N3W.js";
85
- import { t as formatExecCommand } from "./system-run-command-B4X3kEB0.js";
85
+ import { t as formatExecCommand } from "./system-run-command-Brwa-hul.js";
86
86
  import { i as parsePairingList, n as resolveNodeIdFromNodeList, r as parseNodeList, t as resolveNodeFromNodeList } from "./node-resolve-CsfMqnJF.js";
87
87
  import { i as formatDurationSeconds, r as formatDurationPrecise, t as formatDurationCompact$1 } from "./format-duration-C9ZBnsdW.js";
88
- import { a as loadCombinedSessionStoreForGateway, d as resolveContextTokensForModel, f as computeBackoff, p as sleepWithAbort, u as lookupContextTokens } from "./session-utils-DQdPC90P.js";
88
+ import { a as loadCombinedSessionStoreForGateway, d as resolveContextTokensForModel, f as computeBackoff, p as sleepWithAbort, u as lookupContextTokens } from "./session-utils-B61AjjG6.js";
89
89
  import { c as hasNonzeroUsage, l as makeZeroUsageSnapshot, n as loadCostUsageSummary, o as derivePromptTokens, r as loadSessionCostSummary, s as deriveSessionTotalTokens, u as normalizeUsage } from "./session-cost-usage-DpRTkZDz.js";
90
90
  import { i as resolveModelCostConfig, n as formatTokenCount$2, r as formatUsd, t as estimateUsageCost } from "./usage-format-EdDmn0JB.js";
91
- import { a as getRemoteSkillEligibility, b as getSkillsSnapshotVersion, i as resolveSkillCommandInvocation, n as listSkillCommandsForAgents, r as listSkillCommandsForWorkspace, t as listReservedChatSlashCommandNames, y as ensureSkillsWatcher } from "./skill-commands-H-0YJw4z.js";
92
- import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-BdjzKjf6.js";
91
+ import { a as getRemoteSkillEligibility, b as getSkillsSnapshotVersion, i as resolveSkillCommandInvocation, n as listSkillCommandsForAgents, r as listSkillCommandsForWorkspace, t as listReservedChatSlashCommandNames, y as ensureSkillsWatcher } from "./skill-commands-C6S5sumb.js";
92
+ import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-I7fJP8eL.js";
93
93
  import { t as buildOutboundMediaLoadOptions } from "./load-options-D4kbhq3K.js";
94
94
  import { n as normalizePollInput } from "./polls-BOHtEDuW.js";
95
- import { t as convertMarkdownTables } from "./tables-3AsJttWw.js";
95
+ import { t as convertMarkdownTables } from "./tables-Devzuq-q.js";
96
96
  import { f as resolveGatewaySystemdServiceName, l as resolveGatewayLaunchAgentLabel } from "./constants-94o94Cc7.js";
97
97
  import { i as parseAbsoluteTimeMs, r as resolveDefaultCronStaggerMs, t as normalizeCronStaggerMs } from "./stagger-D34qqlHi.js";
98
- import { n as resolveMessageChannelSelection, t as listConfiguredMessageChannels } from "./channel-selection-H4NMMvR3.js";
99
- import { t as applyPluginAutoEnable } from "./plugin-auto-enable-z-6f3_56.js";
100
- import { a as signalCheck, i as resolveSignalRpcContext, n as sendReadReceiptSignal, o as signalRpcRequest, r as sendTypingSignal, s as streamSignalEvents, t as sendMessageSignal } from "./send-DhC9fy39.js";
101
- 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-Br8GGwD9.js";
98
+ import { n as resolveMessageChannelSelection, t as listConfiguredMessageChannels } from "./channel-selection-BgyyrS1w.js";
99
+ import { t as applyPluginAutoEnable } from "./plugin-auto-enable-apzoyUq4.js";
100
+ import { a as signalCheck, i as resolveSignalRpcContext, n as sendReadReceiptSignal, o as signalRpcRequest, r as sendTypingSignal, s as streamSignalEvents, t as sendMessageSignal } from "./send-BXBEWheN.js";
101
+ 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-CzH87tPi.js";
102
102
  import { n as isSenderIdAllowed, r as mergeDmAllowFromSources, t as firstDefined$1 } from "./allow-from-CeTt9ZgH.js";
103
103
  import { t as parseTimeoutMs } from "./parse-timeout-widuTpq9.js";
104
104
  import { i as redactIdentifier, t as getActiveWebListener } from "./active-listener-BP8735PS.js";
105
- import { a as resolveSubagentToolPolicy, c as readStoreAllowFromForDmPolicy, d as resolveDmGroupAccessWithLists, f as resolvePinnedMainDmOwnerFromAllowlist, i as resolveGroupToolPolicy, m as resolveControlCommandGate, n as isToolAllowedByPolicies, p as resolveCommandAuthorizedFromAuthorizers, r as resolveEffectiveToolPolicy, s as DM_GROUP_ACCESS_REASON, t as filterToolsByPolicy } from "./pi-tools.policy-CQSaeIZr.js";
105
+ import { a as resolveSubagentToolPolicy, c as readStoreAllowFromForDmPolicy, d as resolveDmGroupAccessWithLists, f as resolvePinnedMainDmOwnerFromAllowlist, i as resolveGroupToolPolicy, m as resolveControlCommandGate, n as isToolAllowedByPolicies, p as resolveCommandAuthorizedFromAuthorizers, r as resolveEffectiveToolPolicy, s as DM_GROUP_ACCESS_REASON, t as filterToolsByPolicy } from "./pi-tools.policy-DwQdI7Kl.js";
106
106
  import { n as isDangerousNameMatchingEnabled } from "./dangerous-name-matching-B5o24WD5.js";
107
- import { s as resolveCommandSecretRefsViaGateway, t as getAgentRuntimeCommandSecretTargetIds } from "./command-secret-targets-DjEo9W7_.js";
108
- import { r as detectBinary } from "./onboard-helpers-CEIyWqFt.js";
109
- import { t as resolvePairingIdLabel } from "./pairing-labels-CGVQ42A3.js";
110
- import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-1oaIDOW8.js";
111
- import { r as resolveMemorySearchConfig } from "./manager-CLRUN9PX.js";
107
+ import { s as resolveCommandSecretRefsViaGateway, t as getAgentRuntimeCommandSecretTargetIds } from "./command-secret-targets-CnULpcUz.js";
108
+ import { r as detectBinary } from "./onboard-helpers-DBgIqxpx.js";
109
+ import { t as resolvePairingIdLabel } from "./pairing-labels-CAXv-Bhv.js";
110
+ import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-BKJMqEje.js";
111
+ import { r as resolveMemorySearchConfig } from "./manager-CJIx-nFA.js";
112
112
  import { i as resolveContextWindowInfo, n as CONTEXT_WINDOW_WARN_BELOW_TOKENS, r as evaluateContextWindowGuard, t as CONTEXT_WINDOW_HARD_MIN_TOKENS } from "./context-window-guard-TbxRwj1g.js";
113
113
  import { createRequire } from "node:module";
114
114
  import { execFileSync, spawn, spawnSync } from "node:child_process";
@@ -120,7 +120,7 @@ import JSON5 from "json5";
120
120
  import { inspect } from "node:util";
121
121
  import crypto, { createHash, createHmac, randomBytes, randomUUID } from "node:crypto";
122
122
  import WebSocket from "ws";
123
- import fs$1 from "node:fs/promises";
123
+ import fsPromises from "node:fs/promises";
124
124
  import { complete, completeSimple, createAssistantMessageEventStream, streamSimple } from "@mariozechner/pi-ai";
125
125
  import { CURRENT_SESSION_VERSION, DefaultResourceLoader, SessionManager, SettingsManager, codingTools, createAgentSession, createEditTool, createReadTool, createWriteTool, estimateTokens, generateSummary, readTool } from "@mariozechner/pi-coding-agent";
126
126
  import { Buffer as Buffer$1 } from "node:buffer";
@@ -5151,7 +5151,7 @@ async function resolveAgentSessionDirs(stateDir) {
5151
5151
  const agentsDir = path.join(stateDir, "agents");
5152
5152
  let entries = [];
5153
5153
  try {
5154
- entries = await fs$1.readdir(agentsDir, { withFileTypes: true });
5154
+ entries = await fsPromises.readdir(agentsDir, { withFileTypes: true });
5155
5155
  } catch (err) {
5156
5156
  if (err.code === "ENOENT") return [];
5157
5157
  throw err;
@@ -8267,7 +8267,7 @@ async function runWithConcurrency(tasks, limit) {
8267
8267
  //#region src/media-understanding/echo-transcript.ts
8268
8268
  let deliverRuntimePromise$2 = null;
8269
8269
  function loadDeliverRuntime$2() {
8270
- deliverRuntimePromise$2 ??= import("./deliver-runtime-FL5_bhMe.js");
8270
+ deliverRuntimePromise$2 ??= import("./deliver-runtime-C5J_x4jO.js");
8271
8271
  return deliverRuntimePromise$2;
8272
8272
  }
8273
8273
  const DEFAULT_ECHO_TRANSCRIPT_FORMAT = "📝 \"{transcript}\"";
@@ -13103,7 +13103,7 @@ async function resolveSandboxWorkdir(params) {
13103
13103
  cwd: process.cwd(),
13104
13104
  root: params.sandbox.workspaceDir
13105
13105
  });
13106
- if (!(await fs$1.stat(resolved.resolved)).isDirectory()) throw new Error("workdir is not a directory");
13106
+ if (!(await fsPromises.stat(resolved.resolved)).isDirectory()) throw new Error("workdir is not a directory");
13107
13107
  const relative = resolved.relative ? resolved.relative.split(path.sep).join(path.posix.sep) : "";
13108
13108
  const containerWorkdir = relative ? path.posix.join(params.sandbox.containerWorkdir, relative) : params.sandbox.containerWorkdir;
13109
13109
  return {
@@ -14347,13 +14347,13 @@ async function validateScriptFileForShellBleed(params) {
14347
14347
  cwd: params.workdir,
14348
14348
  root: params.workdir
14349
14349
  });
14350
- stat = await fs$1.stat(absPath);
14350
+ stat = await fsPromises.stat(absPath);
14351
14351
  } catch {
14352
14352
  return;
14353
14353
  }
14354
14354
  if (!stat.isFile()) return;
14355
14355
  if (stat.size > 512 * 1024) return;
14356
- const content = await fs$1.readFile(absPath, "utf-8");
14356
+ const content = await fsPromises.readFile(absPath, "utf-8");
14357
14357
  const first = /\$[A-Z_][A-Z0-9_]{1,}/g.exec(content);
14358
14358
  if (first) {
14359
14359
  const idx = first.index;
@@ -17494,7 +17494,7 @@ function buildMessagingSection(params) {
17494
17494
  "- Cross-session messaging → use sessions_send(sessionKey, message)",
17495
17495
  "- Sub-agent orchestration → use subagents(action=list|steer|kill)",
17496
17496
  `- 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}).`,
17497
- "- Never use exec/curl for provider messaging; OpenClaw handles all routing internally.",
17497
+ "- Never use exec/curl for provider messaging; CryptoClaw handles all routing internally.",
17498
17498
  params.availableTools.has("message") ? [
17499
17499
  "",
17500
17500
  "### message tool",
@@ -17523,13 +17523,13 @@ function buildDocsSection(params) {
17523
17523
  if (!docsPath || params.isMinimal) return [];
17524
17524
  return [
17525
17525
  "## Documentation",
17526
- `OpenClaw docs: ${docsPath}`,
17526
+ `CryptoClaw docs: ${docsPath}`,
17527
17527
  "Mirror: https://docs.openclaw.ai",
17528
17528
  "Source: https://github.com/openclaw/openclaw",
17529
17529
  "Community: https://discord.com/invite/clawd",
17530
17530
  "Find new skills: https://clawhub.com",
17531
- "For OpenClaw behavior, commands, config, or architecture: consult local docs first.",
17532
- "When diagnosing issues, run `openclaw status` yourself when possible; only ask the user if you lack access (e.g., sandboxed).",
17531
+ "For CryptoClaw behavior, commands, config, or architecture: consult local docs first.",
17532
+ "When diagnosing issues, run `cryptoclaw status` yourself when possible; only ask the user if you lack access (e.g., sandboxed).",
17533
17533
  ""
17534
17534
  ];
17535
17535
  }
@@ -17554,8 +17554,8 @@ function buildAgentSystemPrompt(params) {
17554
17554
  nodes: "List/describe/notify/camera/screen on paired nodes",
17555
17555
  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)",
17556
17556
  message: "Send messages and channel actions",
17557
- gateway: "Restart, apply config, or run updates on the running OpenClaw process",
17558
- 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",
17557
+ gateway: "Restart, apply config, or run updates on the running CryptoClaw process",
17558
+ 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",
17559
17559
  sessions_list: "List other sessions (incl. sub-agents) with filters/last",
17560
17560
  sessions_history: "Fetch history for another session/sub-agent",
17561
17561
  sessions_send: "Send a message to another session/sub-agent",
@@ -17674,9 +17674,18 @@ function buildAgentSystemPrompt(params) {
17674
17674
  readToolName
17675
17675
  });
17676
17676
  const workspaceNotes = (params.workspaceNotes ?? []).map((note) => note.trim()).filter(Boolean);
17677
- if (promptMode === "none") return "You are a personal assistant running inside OpenClaw.";
17677
+ 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.";
17678
17678
  const lines = [
17679
- "You are a personal assistant running inside OpenClaw.",
17679
+ "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.",
17680
+ "",
17681
+ "## Personality & Reply Style",
17682
+ "You have a crypto-native, web3 meme personality. Keep it real and based:",
17683
+ "- 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.",
17684
+ "- Short replies over walls of text. Precision > verbosity. Signal > noise.",
17685
+ "- When markets are up: bullish energy. When down: based stoic degen (this is fine, wagmi).",
17686
+ "- Roast paper hands and rugs with humor. Celebrate diamond hands.",
17687
+ "- For technical / serious requests: drop the meme hat, be precise and professional.",
17688
+ "- Never be cringe. If a meme doesn't fit, skip it.",
17680
17689
  "",
17681
17690
  "## Tooling",
17682
17691
  "Tool availability (filtered by policy):",
@@ -17689,7 +17698,7 @@ function buildAgentSystemPrompt(params) {
17689
17698
  "- apply_patch: apply multi-file patches",
17690
17699
  `- ${execToolName}: run shell commands (supports background via yieldMs/background)`,
17691
17700
  `- ${processToolName}: manage background exec sessions`,
17692
- "- browser: control OpenClaw's dedicated browser",
17701
+ "- browser: control CryptoClaw's dedicated browser",
17693
17702
  "- canvas: present/eval/snapshot the Canvas",
17694
17703
  "- nodes: list/describe/notify/camera/screen on paired nodes",
17695
17704
  "- 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)",
@@ -17718,24 +17727,24 @@ function buildAgentSystemPrompt(params) {
17718
17727
  "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.",
17719
17728
  "",
17720
17729
  ...safetySection,
17721
- "## OpenClaw CLI Quick Reference",
17722
- "OpenClaw is controlled via subcommands. Do not invent commands.",
17730
+ "## CryptoClaw CLI Quick Reference",
17731
+ "CryptoClaw is controlled via subcommands. Do not invent commands.",
17723
17732
  "To manage the Gateway daemon service (start/stop/restart):",
17724
- "- openclaw gateway status",
17725
- "- openclaw gateway start",
17726
- "- openclaw gateway stop",
17727
- "- openclaw gateway restart",
17728
- "If unsure, ask the user to run `openclaw help` (or `openclaw gateway --help`) and paste the output.",
17733
+ "- cryptoclaw gateway status",
17734
+ "- cryptoclaw gateway start",
17735
+ "- cryptoclaw gateway stop",
17736
+ "- cryptoclaw gateway restart",
17737
+ "If unsure, ask the user to run `cryptoclaw help` (or `cryptoclaw gateway --help`) and paste the output.",
17729
17738
  "",
17730
17739
  ...skillsSection,
17731
17740
  ...memorySection,
17732
- hasGateway && !isMinimal ? "## OpenClaw Self-Update" : "",
17741
+ hasGateway && !isMinimal ? "## CryptoClaw Self-Update" : "",
17733
17742
  hasGateway && !isMinimal ? [
17734
17743
  "Get Updates (self-update) is ONLY allowed when the user explicitly asks for it.",
17735
17744
  "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.",
17736
17745
  "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.",
17737
17746
  "Actions: config.get, config.schema, config.apply (validate + write full config, then restart), update.run (update deps or git, then restart).",
17738
- "After restart, OpenClaw pings the last active session automatically."
17747
+ "After restart, CryptoClaw pings the last active session automatically."
17739
17748
  ].join("\n") : "",
17740
17749
  hasGateway && !isMinimal ? "" : "",
17741
17750
  "",
@@ -17771,7 +17780,7 @@ function buildAgentSystemPrompt(params) {
17771
17780
  ...buildUserIdentitySection(ownerLine, isMinimal),
17772
17781
  ...buildTimeSection({ userTimezone }),
17773
17782
  "## Workspace Files (injected)",
17774
- "These user-editable files are loaded by OpenClaw and included below in Project Context.",
17783
+ "These user-editable files are loaded by CryptoClaw and included below in Project Context.",
17775
17784
  "",
17776
17785
  ...buildReplyTagsSection(isMinimal),
17777
17786
  ...buildMessagingSection({
@@ -17834,7 +17843,7 @@ function buildAgentSystemPrompt(params) {
17834
17843
  for (const file of validContextFiles) lines.push(`## ${file.path}`, "", file.content, "");
17835
17844
  }
17836
17845
  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}`, "");
17837
- 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.", "");
17846
+ 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.", "");
17838
17847
  lines.push("## Runtime", buildRuntimeLine(runtimeInfo, runtimeChannel, runtimeCapabilities, params.defaultThinkLevel), `Reasoning: ${reasoningLevel} (hidden unless on/stream). Toggle /reasoning; /status shows Reasoning when enabled.`);
17839
17848
  return lines.filter(Boolean).join("\n");
17840
17849
  }
@@ -23735,7 +23744,7 @@ function normalizeReplyPayload(payload, opts = {}) {
23735
23744
  */
23736
23745
  let deliverRuntimePromise$1 = null;
23737
23746
  function loadDeliverRuntime$1() {
23738
- deliverRuntimePromise$1 ??= import("./deliver-runtime-FL5_bhMe.js");
23747
+ deliverRuntimePromise$1 ??= import("./deliver-runtime-C5J_x4jO.js");
23739
23748
  return deliverRuntimePromise$1;
23740
23749
  }
23741
23750
  /**
@@ -23859,7 +23868,7 @@ async function emitResetCommandHooks(params) {
23859
23868
  try {
23860
23869
  const messages = [];
23861
23870
  if (sessionFile) {
23862
- const content = await fs$1.readFile(sessionFile, "utf-8");
23871
+ const content = await fsPromises.readFile(sessionFile, "utf-8");
23863
23872
  for (const line of content.split("\n")) {
23864
23873
  if (!line.trim()) continue;
23865
23874
  try {
@@ -24688,7 +24697,7 @@ async function createModelSelectionState(params) {
24688
24697
  }
24689
24698
  }
24690
24699
  if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) {
24691
- const { ensureAuthProfileStore } = await import("./auth-profiles-O2Q8_o0a.js").then((n) => n.t);
24700
+ const { ensureAuthProfileStore } = await import("./auth-profiles-Dhb7Y6H5.js").then((n) => n.t);
24692
24701
  const profile = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[sessionEntry.authProfileOverride];
24693
24702
  const providerKey = normalizeProviderId(provider);
24694
24703
  if (!profile || normalizeProviderId(profile.provider) !== providerKey) await clearSessionAuthProfileOverride({
@@ -28284,7 +28293,7 @@ async function readJsonlFromPath(jsonlPath) {
28284
28293
  if (shouldLogVerbose()) logVerbose(`Blocked canvas jsonlPath outside allowed roots: ${resolved}`);
28285
28294
  throw new Error("jsonlPath outside allowed roots");
28286
28295
  }
28287
- const canonical = await fs$1.realpath(resolved).catch(() => resolved);
28296
+ const canonical = await fsPromises.realpath(resolved).catch(() => resolved);
28288
28297
  if (!isInboundPathAllowed({
28289
28298
  filePath: canonical,
28290
28299
  roots
@@ -28292,7 +28301,7 @@ async function readJsonlFromPath(jsonlPath) {
28292
28301
  if (shouldLogVerbose()) logVerbose(`Blocked canvas jsonlPath outside allowed roots: ${canonical}`);
28293
28302
  throw new Error("jsonlPath outside allowed roots");
28294
28303
  }
28295
- return await fs$1.readFile(canonical, "utf8");
28304
+ return await fsPromises.readFile(canonical, "utf8");
28296
28305
  }
28297
28306
  const CanvasToolSchema = Type.Object({
28298
28307
  action: stringEnum(CANVAS_ACTIONS),
@@ -29107,27 +29116,27 @@ function resolveRestartSentinelPath(env = process.env) {
29107
29116
  }
29108
29117
  async function writeRestartSentinel(payload, env = process.env) {
29109
29118
  const filePath = resolveRestartSentinelPath(env);
29110
- await fs$1.mkdir(path.dirname(filePath), { recursive: true });
29119
+ await fsPromises.mkdir(path.dirname(filePath), { recursive: true });
29111
29120
  const data = {
29112
29121
  version: 1,
29113
29122
  payload
29114
29123
  };
29115
- await fs$1.writeFile(filePath, `${JSON.stringify(data, null, 2)}\n`, "utf-8");
29124
+ await fsPromises.writeFile(filePath, `${JSON.stringify(data, null, 2)}\n`, "utf-8");
29116
29125
  return filePath;
29117
29126
  }
29118
29127
  async function readRestartSentinel(env = process.env) {
29119
29128
  const filePath = resolveRestartSentinelPath(env);
29120
29129
  try {
29121
- const raw = await fs$1.readFile(filePath, "utf-8");
29130
+ const raw = await fsPromises.readFile(filePath, "utf-8");
29122
29131
  let parsed;
29123
29132
  try {
29124
29133
  parsed = JSON.parse(raw);
29125
29134
  } catch {
29126
- await fs$1.unlink(filePath).catch(() => {});
29135
+ await fsPromises.unlink(filePath).catch(() => {});
29127
29136
  return null;
29128
29137
  }
29129
29138
  if (!parsed || parsed.version !== 1 || !parsed.payload) {
29130
- await fs$1.unlink(filePath).catch(() => {});
29139
+ await fsPromises.unlink(filePath).catch(() => {});
29131
29140
  return null;
29132
29141
  }
29133
29142
  return parsed;
@@ -29139,7 +29148,7 @@ async function consumeRestartSentinel(env = process.env) {
29139
29148
  const filePath = resolveRestartSentinelPath(env);
29140
29149
  const parsed = await readRestartSentinel(env);
29141
29150
  if (!parsed) return null;
29142
- await fs$1.unlink(filePath).catch(() => {});
29151
+ await fsPromises.unlink(filePath).catch(() => {});
29143
29152
  return parsed;
29144
29153
  }
29145
29154
  function formatRestartSentinelMessage(payload) {
@@ -39835,18 +39844,18 @@ function appendImagePathsToPrompt(prompt, paths) {
39835
39844
  return `${trimmed}${trimmed ? "\n\n" : ""}${paths.join("\n")}`;
39836
39845
  }
39837
39846
  async function writeCliImages(images) {
39838
- const tempDir = await fs$1.mkdtemp(path.join(os.tmpdir(), "openclaw-cli-images-"));
39847
+ const tempDir = await fsPromises.mkdtemp(path.join(os.tmpdir(), "openclaw-cli-images-"));
39839
39848
  const paths = [];
39840
39849
  for (let i = 0; i < images.length; i += 1) {
39841
39850
  const image = images[i];
39842
39851
  const ext = resolveImageExtension(image.mimeType);
39843
39852
  const filePath = path.join(tempDir, `image-${i + 1}.${ext}`);
39844
39853
  const buffer = Buffer.from(image.data, "base64");
39845
- await fs$1.writeFile(filePath, buffer, { mode: 384 });
39854
+ await fsPromises.writeFile(filePath, buffer, { mode: 384 });
39846
39855
  paths.push(filePath);
39847
39856
  }
39848
39857
  const cleanup = async () => {
39849
- await fs$1.rm(tempDir, {
39858
+ await fsPromises.rm(tempDir, {
39850
39859
  recursive: true,
39851
39860
  force: true
39852
39861
  });
@@ -43805,7 +43814,7 @@ const warnedContexts = /* @__PURE__ */ new Map();
43805
43814
  const log$9 = createSubsystemLogger("session-maintenance-warning");
43806
43815
  let deliverRuntimePromise = null;
43807
43816
  function loadDeliverRuntime() {
43808
- deliverRuntimePromise ??= import("./deliver-runtime-FL5_bhMe.js");
43817
+ deliverRuntimePromise ??= import("./deliver-runtime-C5J_x4jO.js");
43809
43818
  return deliverRuntimePromise;
43810
43819
  }
43811
43820
  function shouldSendWarning() {
@@ -44386,7 +44395,7 @@ async function stageSandboxMedia(params) {
44386
44395
  const remoteMediaCacheDir = ctx.MediaRemoteHost ? path.join(CONFIG_DIR, "media", "remote-cache", sessionKey) : null;
44387
44396
  const effectiveWorkspaceDir = sandbox?.workspaceDir ?? remoteMediaCacheDir;
44388
44397
  if (!effectiveWorkspaceDir) return;
44389
- await fs$1.mkdir(effectiveWorkspaceDir, { recursive: true });
44398
+ await fsPromises.mkdir(effectiveWorkspaceDir, { recursive: true });
44390
44399
  const remoteAttachmentRoots = resolveIMessageRemoteAttachmentRoots({
44391
44400
  cfg,
44392
44401
  accountId: ctx.AccountId
@@ -44445,8 +44454,8 @@ async function stageLocalFileIntoRoot(params) {
44445
44454
  }
44446
44455
  async function stageRemoteFileIntoRoot(params) {
44447
44456
  const tmpRoot = resolvePreferredOpenClawTmpDir();
44448
- await fs$1.mkdir(tmpRoot, { recursive: true });
44449
- const tmpDir = await fs$1.mkdtemp(path.join(tmpRoot, "stage-sandbox-media-"));
44457
+ await fsPromises.mkdir(tmpRoot, { recursive: true });
44458
+ const tmpDir = await fsPromises.mkdtemp(path.join(tmpRoot, "stage-sandbox-media-"));
44450
44459
  const tmpPath = path.join(tmpDir, "download");
44451
44460
  try {
44452
44461
  await scpFile(params.remoteHost, params.remotePath, tmpPath);
@@ -44457,7 +44466,7 @@ async function stageRemoteFileIntoRoot(params) {
44457
44466
  maxBytes: params.maxBytes
44458
44467
  });
44459
44468
  } finally {
44460
- await fs$1.rm(tmpDir, {
44469
+ await fsPromises.rm(tmpDir, {
44461
44470
  recursive: true,
44462
44471
  force: true
44463
44472
  }).catch(() => {});
@@ -48745,7 +48754,7 @@ const VISION_PROVIDERS = [
48745
48754
  ];
48746
48755
  let imageRuntimePromise = null;
48747
48756
  function loadImageRuntime() {
48748
- imageRuntimePromise ??= import("./image-runtime-Dny90w7z.js");
48757
+ imageRuntimePromise ??= import("./image-runtime-7mmAmEoX.js");
48749
48758
  return imageRuntimePromise;
48750
48759
  }
48751
48760
  /**
@@ -48811,7 +48820,7 @@ async function describeStickerImage(params) {
48811
48820
  const { provider, model } = resolved;
48812
48821
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
48813
48822
  try {
48814
- const buffer = await fs$1.readFile(imagePath);
48823
+ const buffer = await fsPromises.readFile(imagePath);
48815
48824
  const { describeImageWithModel } = await loadImageRuntime();
48816
48825
  return (await describeImageWithModel({
48817
48826
  buffer,
@@ -50573,7 +50582,7 @@ async function resolveDiscordPreflightAudioMentionContext(params) {
50573
50582
  const needsPreflightTranscription = !params.isDirectMessage && params.shouldRequireMention && hasAudioAttachment && !hasTypedText && params.mentionRegexes.length > 0;
50574
50583
  let transcript;
50575
50584
  if (needsPreflightTranscription) try {
50576
- const { transcribeFirstAudio } = await import("./audio-preflight-BxFoXiPf.js");
50585
+ const { transcribeFirstAudio } = await import("./audio-preflight-Det_pb9p.js");
50577
50586
  const audioUrls = audioAttachments.map((att) => att.url).filter((url) => typeof url === "string" && url.length > 0);
50578
50587
  if (audioUrls.length > 0) transcript = await transcribeFirstAudio({
50579
50588
  ctx: {
@@ -55395,27 +55404,27 @@ let slackSenderRuntimePromise = null;
55395
55404
  let signalSenderRuntimePromise = null;
55396
55405
  let imessageSenderRuntimePromise = null;
55397
55406
  function loadWhatsAppSenderRuntime() {
55398
- whatsappSenderRuntimePromise ??= import("./deps-send-whatsapp.runtime-D2LQa8La.js");
55407
+ whatsappSenderRuntimePromise ??= import("./deps-send-whatsapp.runtime-CvFgs4NK.js");
55399
55408
  return whatsappSenderRuntimePromise;
55400
55409
  }
55401
55410
  function loadTelegramSenderRuntime() {
55402
- telegramSenderRuntimePromise ??= import("./deps-send-telegram.runtime-BJGQ2OvJ.js");
55411
+ telegramSenderRuntimePromise ??= import("./deps-send-telegram.runtime-DHzRQJe0.js");
55403
55412
  return telegramSenderRuntimePromise;
55404
55413
  }
55405
55414
  function loadDiscordSenderRuntime() {
55406
- discordSenderRuntimePromise ??= import("./deps-send-discord.runtime-BpCYDmRD.js");
55415
+ discordSenderRuntimePromise ??= import("./deps-send-discord.runtime-C2JzTkWt.js");
55407
55416
  return discordSenderRuntimePromise;
55408
55417
  }
55409
55418
  function loadSlackSenderRuntime() {
55410
- slackSenderRuntimePromise ??= import("./deps-send-slack.runtime-CESru84F.js");
55419
+ slackSenderRuntimePromise ??= import("./deps-send-slack.runtime-Ucy4geO1.js");
55411
55420
  return slackSenderRuntimePromise;
55412
55421
  }
55413
55422
  function loadSignalSenderRuntime() {
55414
- signalSenderRuntimePromise ??= import("./deps-send-signal.runtime-5-zcMae_.js");
55423
+ signalSenderRuntimePromise ??= import("./deps-send-signal.runtime-Lw_dTkGz.js");
55415
55424
  return signalSenderRuntimePromise;
55416
55425
  }
55417
55426
  function loadIMessageSenderRuntime() {
55418
- imessageSenderRuntimePromise ??= import("./deps-send-imessage.runtime-Hx8SNVrk.js");
55427
+ imessageSenderRuntimePromise ??= import("./deps-send-imessage.runtime-BFk4Fvrd.js");
55419
55428
  return imessageSenderRuntimePromise;
55420
55429
  }
55421
55430
  function createDefaultDeps() {
@@ -56588,10 +56597,10 @@ function estimateDurationSeconds(pcm) {
56588
56597
  return pcm.length / (bytesPerSample * SAMPLE_RATE);
56589
56598
  }
56590
56599
  async function writeWavFile(pcm) {
56591
- const tempDir = await fs$1.mkdtemp(path.join(resolvePreferredOpenClawTmpDir(), "discord-voice-"));
56600
+ const tempDir = await fsPromises.mkdtemp(path.join(resolvePreferredOpenClawTmpDir(), "discord-voice-"));
56592
56601
  const filePath = path.join(tempDir, `segment-${randomUUID()}.wav`);
56593
56602
  const wav = buildWavBuffer(pcm);
56594
- await fs$1.writeFile(filePath, wav);
56603
+ await fsPromises.writeFile(filePath, wav);
56595
56604
  scheduleTempCleanup(tempDir);
56596
56605
  return {
56597
56606
  path: filePath,
@@ -56600,7 +56609,7 @@ async function writeWavFile(pcm) {
56600
56609
  }
56601
56610
  function scheduleTempCleanup(tempDir, delayMs = 1800 * 1e3) {
56602
56611
  setTimeout(() => {
56603
- fs$1.rm(tempDir, {
56612
+ fsPromises.rm(tempDir, {
56604
56613
  recursive: true,
56605
56614
  force: true
56606
56615
  }).catch((err) => {
@@ -61166,7 +61175,7 @@ function normalizeAllowList$1(list) {
61166
61175
  async function detectRemoteHostFromCliPath(cliPath) {
61167
61176
  try {
61168
61177
  const expanded = cliPath.startsWith("~") ? cliPath.replace(/^~/, process.env.HOME ?? "") : cliPath;
61169
- const content = await fs$1.readFile(expanded, "utf8");
61178
+ const content = await fsPromises.readFile(expanded, "utf8");
61170
61179
  const userHostMatch = content.match(/\bssh\b[^\n]*?\s+([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+)/);
61171
61180
  if (userHostMatch) return userHostMatch[1];
61172
61181
  return content.match(/\bssh\b[^\n]*?\s+([a-zA-Z][a-zA-Z0-9._-]*)\s+\S*\bimsg\b/)?.[1];
@@ -68135,15 +68144,15 @@ let slashCommandsRuntimePromise = null;
68135
68144
  let slashDispatchRuntimePromise = null;
68136
68145
  let slashSkillCommandsRuntimePromise = null;
68137
68146
  function loadSlashCommandsRuntime() {
68138
- slashCommandsRuntimePromise ??= import("./slash-commands.runtime-Chf-kE5X.js");
68147
+ slashCommandsRuntimePromise ??= import("./slash-commands.runtime-DZBOZGXG.js");
68139
68148
  return slashCommandsRuntimePromise;
68140
68149
  }
68141
68150
  function loadSlashDispatchRuntime() {
68142
- slashDispatchRuntimePromise ??= import("./slash-dispatch.runtime-CDbTI8Zn.js");
68151
+ slashDispatchRuntimePromise ??= import("./slash-dispatch.runtime-DwWpNqdA.js");
68143
68152
  return slashDispatchRuntimePromise;
68144
68153
  }
68145
68154
  function loadSlashSkillCommandsRuntime() {
68146
- slashSkillCommandsRuntimePromise ??= import("./slash-skill-commands.runtime-BJJnGhEx.js");
68155
+ slashSkillCommandsRuntimePromise ??= import("./slash-skill-commands.runtime-B4sqth9E.js");
68147
68156
  return slashSkillCommandsRuntimePromise;
68148
68157
  }
68149
68158
  const slackExternalArgMenuStore = createSlackExternalArgMenuStore();
@@ -71508,7 +71517,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, replyMedia =
71508
71517
  const disableAudioPreflight = firstDefined$1(topicConfig?.disableAudioPreflight, groupConfig?.disableAudioPreflight) === true;
71509
71518
  let preflightTranscript;
71510
71519
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0 && !disableAudioPreflight) try {
71511
- const { transcribeFirstAudio } = await import("./audio-preflight-BxFoXiPf.js");
71520
+ const { transcribeFirstAudio } = await import("./audio-preflight-Det_pb9p.js");
71512
71521
  preflightTranscript = await transcribeFirstAudio({
71513
71522
  ctx: {
71514
71523
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -72979,7 +72988,7 @@ function resolveCommandHashPath(accountId, botIdentity) {
72979
72988
  }
72980
72989
  async function readCachedCommandHash(accountId, botIdentity) {
72981
72990
  try {
72982
- return (await fs$1.readFile(resolveCommandHashPath(accountId, botIdentity), "utf-8")).trim();
72991
+ return (await fsPromises.readFile(resolveCommandHashPath(accountId, botIdentity), "utf-8")).trim();
72983
72992
  } catch {
72984
72993
  return null;
72985
72994
  }
@@ -72987,8 +72996,8 @@ async function readCachedCommandHash(accountId, botIdentity) {
72987
72996
  async function writeCachedCommandHash(accountId, botIdentity, hash) {
72988
72997
  const filePath = resolveCommandHashPath(accountId, botIdentity);
72989
72998
  try {
72990
- await fs$1.mkdir(path.dirname(filePath), { recursive: true });
72991
- await fs$1.writeFile(filePath, hash, "utf-8");
72999
+ await fsPromises.mkdir(path.dirname(filePath), { recursive: true });
73000
+ await fsPromises.writeFile(filePath, hash, "utf-8");
72992
73001
  } catch {}
72993
73002
  }
72994
73003
  function syncTelegramMenuCommands(params) {
@@ -73832,7 +73841,7 @@ function safeParseState(raw) {
73832
73841
  async function readTelegramUpdateOffset(params) {
73833
73842
  const filePath = resolveTelegramUpdateOffsetPath(params.accountId, params.env);
73834
73843
  try {
73835
- const parsed = safeParseState(await fs$1.readFile(filePath, "utf-8"));
73844
+ const parsed = safeParseState(await fsPromises.readFile(filePath, "utf-8"));
73836
73845
  const expectedBotId = extractBotIdFromToken(params.botToken);
73837
73846
  if (expectedBotId && parsed?.botId && parsed.botId !== expectedBotId) return null;
73838
73847
  if (expectedBotId && parsed?.botId === null) return null;
@@ -73856,7 +73865,7 @@ async function writeTelegramUpdateOffset(params) {
73856
73865
  async function deleteTelegramUpdateOffset(params) {
73857
73866
  const filePath = resolveTelegramUpdateOffsetPath(params.accountId, params.env);
73858
73867
  try {
73859
- await fs$1.unlink(filePath);
73868
+ await fsPromises.unlink(filePath);
73860
73869
  } catch (err) {
73861
73870
  if (err.code === "ENOENT") return;
73862
73871
  throw err;
@@ -74330,7 +74339,7 @@ function createWhatsAppLoginTool() {
74330
74339
  force: Type.Optional(Type.Boolean())
74331
74340
  }),
74332
74341
  execute: async (_toolCallId, args) => {
74333
- const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-BJCPbTFZ.js");
74342
+ const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-CDwnwe9P.js");
74334
74343
  if ((args?.action ?? "start") === "wait") {
74335
74344
  const result = await waitForWebLogin({ timeoutMs: typeof args.timeoutMs === "number" ? args.timeoutMs : void 0 });
74336
74345
  return {
@@ -74405,23 +74414,23 @@ let webOutboundPromise = null;
74405
74414
  let webLoginPromise = null;
74406
74415
  let whatsappActionsPromise = null;
74407
74416
  function loadWebOutbound() {
74408
- webOutboundPromise ??= import("./runtime-whatsapp-outbound.runtime-CQSrwbqD.js");
74417
+ webOutboundPromise ??= import("./runtime-whatsapp-outbound.runtime-B3NjGGpU.js");
74409
74418
  return webOutboundPromise;
74410
74419
  }
74411
74420
  function loadWebLogin() {
74412
- webLoginPromise ??= import("./runtime-whatsapp-login.runtime-BoLTF-OO.js");
74421
+ webLoginPromise ??= import("./runtime-whatsapp-login.runtime-D08ghHWe.js");
74413
74422
  return webLoginPromise;
74414
74423
  }
74415
74424
  function loadWebLoginQr() {
74416
- webLoginQrPromise ??= import("./login-qr-BJCPbTFZ.js");
74425
+ webLoginQrPromise ??= import("./login-qr-CDwnwe9P.js");
74417
74426
  return webLoginQrPromise;
74418
74427
  }
74419
74428
  function loadWebChannel() {
74420
- webChannelPromise ??= import("./web-CnqADWPs.js");
74429
+ webChannelPromise ??= import("./web-BVIL9iG1.js");
74421
74430
  return webChannelPromise;
74422
74431
  }
74423
74432
  function loadWhatsAppActions() {
74424
- whatsappActionsPromise ??= import("./whatsapp-actions-BuO3DPPZ.js");
74433
+ whatsappActionsPromise ??= import("./whatsapp-actions-B53LlFl5.js");
74425
74434
  return whatsappActionsPromise;
74426
74435
  }
74427
74436
  function createRuntimeWhatsApp() {
@@ -75559,7 +75568,7 @@ function resolvePluginTools(params) {
75559
75568
  //#endregion
75560
75569
  //#region src/agents/apply-patch-update.ts
75561
75570
  async function defaultReadFile(filePath) {
75562
- return fs$1.readFile(filePath, "utf8");
75571
+ return fsPromises.readFile(filePath, "utf8");
75563
75572
  }
75564
75573
  async function applyUpdateHunk(filePath, chunks, options) {
75565
75574
  const originalLines = (await (options?.readFile ?? defaultReadFile)(filePath).catch((err) => {
@@ -75880,7 +75889,7 @@ function resolvePatchFileOps(options) {
75880
75889
  const workspaceOnly = options.workspaceOnly !== false;
75881
75890
  return {
75882
75891
  readFile: async (filePath) => {
75883
- if (!workspaceOnly) return await fs$1.readFile(filePath, "utf8");
75892
+ if (!workspaceOnly) return await fsPromises.readFile(filePath, "utf8");
75884
75893
  const opened = await openBoundaryFile({
75885
75894
  absolutePath: filePath,
75886
75895
  rootPath: options.cwd,
@@ -75895,7 +75904,7 @@ function resolvePatchFileOps(options) {
75895
75904
  },
75896
75905
  writeFile: async (filePath, content) => {
75897
75906
  if (!workspaceOnly) {
75898
- await fs$1.writeFile(filePath, content, "utf8");
75907
+ await fsPromises.writeFile(filePath, content, "utf8");
75899
75908
  return;
75900
75909
  }
75901
75910
  const relative = toRelativeSandboxPath(options.cwd, filePath);
@@ -75906,8 +75915,8 @@ function resolvePatchFileOps(options) {
75906
75915
  encoding: "utf8"
75907
75916
  });
75908
75917
  },
75909
- remove: (filePath) => fs$1.rm(filePath),
75910
- mkdirp: (dir) => fs$1.mkdir(dir, { recursive: true }).then(() => {})
75918
+ remove: (filePath) => fsPromises.rm(filePath),
75919
+ mkdirp: (dir) => fsPromises.mkdir(dir, { recursive: true }).then(() => {})
75911
75920
  };
75912
75921
  }
75913
75922
  async function ensureDir(filePath, ops) {
@@ -76169,7 +76178,7 @@ const LOOP_WARNING_BUCKET_SIZE = 10;
76169
76178
  const MAX_LOOP_WARNING_KEYS = 256;
76170
76179
  let beforeToolCallRuntimePromise = null;
76171
76180
  function loadBeforeToolCallRuntime() {
76172
- beforeToolCallRuntimePromise ??= import("./pi-tools.before-tool-call.runtime-gtwRqfD1.js");
76181
+ beforeToolCallRuntimePromise ??= import("./pi-tools.before-tool-call.runtime-C3GLLjEH.js");
76173
76182
  return beforeToolCallRuntimePromise;
76174
76183
  }
76175
76184
  function buildAdjustedParamsKey(params) {
@@ -76407,7 +76416,7 @@ function wrapHostEditToolWithPostWriteRecovery(base, root) {
76407
76416
  if (!pathParam || !newText) throw err;
76408
76417
  try {
76409
76418
  const absolutePath = resolveHostEditPath(root, pathParam);
76410
- const content = await fs$1.readFile(absolutePath, "utf-8");
76419
+ const content = await fsPromises.readFile(absolutePath, "utf-8");
76411
76420
  const hasNew = content.includes(newText);
76412
76421
  const stillHasOld = oldText !== void 0 && oldText.length > 0 && content.includes(oldText);
76413
76422
  if (hasNew && !stillHasOld) return {
@@ -76889,14 +76898,14 @@ function createSandboxEditOperations(params) {
76889
76898
  }
76890
76899
  async function writeHostFile(absolutePath, content) {
76891
76900
  const resolved = path.resolve(absolutePath);
76892
- await fs$1.mkdir(path.dirname(resolved), { recursive: true });
76893
- await fs$1.writeFile(resolved, content, "utf-8");
76901
+ await fsPromises.mkdir(path.dirname(resolved), { recursive: true });
76902
+ await fsPromises.writeFile(resolved, content, "utf-8");
76894
76903
  }
76895
76904
  function createHostWriteOperations(root, options) {
76896
76905
  if (!(options?.workspaceOnly ?? false)) return {
76897
76906
  mkdir: async (dir) => {
76898
76907
  const resolved = path.resolve(dir);
76899
- await fs$1.mkdir(resolved, { recursive: true });
76908
+ await fsPromises.mkdir(resolved, { recursive: true });
76900
76909
  },
76901
76910
  writeFile: writeHostFile
76902
76911
  };
@@ -76909,7 +76918,7 @@ function createHostWriteOperations(root, options) {
76909
76918
  cwd: root,
76910
76919
  root
76911
76920
  });
76912
- await fs$1.mkdir(resolved, { recursive: true });
76921
+ await fsPromises.mkdir(resolved, { recursive: true });
76913
76922
  },
76914
76923
  writeFile: async (absolutePath, content) => {
76915
76924
  await writeFileWithinRoot({
@@ -76925,12 +76934,12 @@ function createHostEditOperations(root, options) {
76925
76934
  if (!(options?.workspaceOnly ?? false)) return {
76926
76935
  readFile: async (absolutePath) => {
76927
76936
  const resolved = path.resolve(absolutePath);
76928
- return await fs$1.readFile(resolved);
76937
+ return await fsPromises.readFile(resolved);
76929
76938
  },
76930
76939
  writeFile: writeHostFile,
76931
76940
  access: async (absolutePath) => {
76932
76941
  const resolved = path.resolve(absolutePath);
76933
- await fs$1.access(resolved);
76942
+ await fsPromises.access(resolved);
76934
76943
  }
76935
76944
  };
76936
76945
  return {
@@ -77768,7 +77777,7 @@ async function repairSessionFileIfNeeded(params) {
77768
77777
  };
77769
77778
  let content;
77770
77779
  try {
77771
- content = await fs$1.readFile(sessionFile, "utf-8");
77780
+ content = await fsPromises.readFile(sessionFile, "utf-8");
77772
77781
  } catch (err) {
77773
77782
  if (err?.code === "ENOENT") return {
77774
77783
  repaired: false,
@@ -77816,15 +77825,15 @@ async function repairSessionFileIfNeeded(params) {
77816
77825
  const backupPath = `${sessionFile}.bak-${process.pid}-${Date.now()}`;
77817
77826
  const tmpPath = `${sessionFile}.repair-${process.pid}-${Date.now()}.tmp`;
77818
77827
  try {
77819
- const stat = await fs$1.stat(sessionFile).catch(() => null);
77820
- await fs$1.writeFile(backupPath, content, "utf-8");
77821
- if (stat) await fs$1.chmod(backupPath, stat.mode);
77822
- await fs$1.writeFile(tmpPath, cleaned, "utf-8");
77823
- if (stat) await fs$1.chmod(tmpPath, stat.mode);
77824
- await fs$1.rename(tmpPath, sessionFile);
77828
+ const stat = await fsPromises.stat(sessionFile).catch(() => null);
77829
+ await fsPromises.writeFile(backupPath, content, "utf-8");
77830
+ if (stat) await fsPromises.chmod(backupPath, stat.mode);
77831
+ await fsPromises.writeFile(tmpPath, cleaned, "utf-8");
77832
+ if (stat) await fsPromises.chmod(tmpPath, stat.mode);
77833
+ await fsPromises.rename(tmpPath, sessionFile);
77825
77834
  } catch (err) {
77826
77835
  try {
77827
- await fs$1.unlink(tmpPath);
77836
+ await fsPromises.unlink(tmpPath);
77828
77837
  } catch (cleanupErr) {
77829
77838
  params.warn?.(`session file repair cleanup failed: ${cleanupErr instanceof Error ? cleanupErr.message : "unknown error"} (${path.basename(tmpPath)})`);
77830
77839
  }
@@ -79596,7 +79605,7 @@ async function prewarmSessionFile(sessionFile) {
79596
79605
  if (!isSessionManagerCacheEnabled()) return;
79597
79606
  if (isSessionManagerCached(sessionFile)) return;
79598
79607
  try {
79599
- const handle = await fs$1.open(sessionFile, "r");
79608
+ const handle = await fsPromises.open(sessionFile, "r");
79600
79609
  try {
79601
79610
  const buffer = Buffer$1.alloc(4096);
79602
79611
  await handle.read(buffer, 0, buffer.length, 0);
@@ -79963,7 +79972,7 @@ async function compactEmbeddedPiSessionDirect(params) {
79963
79972
  } catch (err) {
79964
79973
  return fail(describeUnknownError(err));
79965
79974
  }
79966
- await fs$1.mkdir(resolvedWorkspace, { recursive: true });
79975
+ await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
79967
79976
  const sandboxSessionKey = params.sessionKey?.trim() || params.sessionId;
79968
79977
  const sandbox = await resolveSandboxContext({
79969
79978
  config: params.config,
@@ -79971,7 +79980,7 @@ async function compactEmbeddedPiSessionDirect(params) {
79971
79980
  workspaceDir: resolvedWorkspace
79972
79981
  });
79973
79982
  const effectiveWorkspace = sandbox?.enabled ? sandbox.workspaceAccess === "rw" ? resolvedWorkspace : sandbox.workspaceDir : resolvedWorkspace;
79974
- await fs$1.mkdir(effectiveWorkspace, { recursive: true });
79983
+ await fsPromises.mkdir(effectiveWorkspace, { recursive: true });
79975
79984
  await ensureSessionHeader({
79976
79985
  sessionFile: params.sessionFile,
79977
79986
  sessionId: params.sessionId,
@@ -80856,12 +80865,12 @@ function getQueuedFileWriter(writers, filePath) {
80856
80865
  const existing = writers.get(filePath);
80857
80866
  if (existing) return existing;
80858
80867
  const dir = path.dirname(filePath);
80859
- const ready = fs$1.mkdir(dir, { recursive: true }).catch(() => void 0);
80868
+ const ready = fsPromises.mkdir(dir, { recursive: true }).catch(() => void 0);
80860
80869
  let queue = Promise.resolve();
80861
80870
  const writer = {
80862
80871
  filePath,
80863
80872
  write: (line) => {
80864
- queue = queue.then(() => ready).then(() => fs$1.appendFile(filePath, line, "utf8")).catch(() => void 0);
80873
+ queue = queue.then(() => ready).then(() => fsPromises.appendFile(filePath, line, "utf8")).catch(() => void 0);
80865
80874
  }
80866
80875
  };
80867
80876
  writers.set(filePath, writer);
@@ -83779,7 +83788,7 @@ async function prepareSessionManagerForRun(params) {
83779
83788
  return;
83780
83789
  }
83781
83790
  if (params.hadSessionFile && header && !hasAssistant) {
83782
- await fs$1.writeFile(params.sessionFile, "", "utf-8");
83791
+ await fsPromises.writeFile(params.sessionFile, "", "utf-8");
83783
83792
  sm.fileEntries = [header];
83784
83793
  sm.byId?.clear?.();
83785
83794
  sm.labelsById?.clear?.();
@@ -84497,7 +84506,7 @@ async function runEmbeddedAttempt(params) {
84497
84506
  const prevCwd = process.cwd();
84498
84507
  const runAbortController = new AbortController();
84499
84508
  log$3.debug(`embedded run start: runId=${params.runId} sessionId=${params.sessionId} provider=${params.provider} model=${params.modelId} thinking=${params.thinkLevel} messageChannel=${params.messageChannel ?? params.messageProvider ?? "unknown"}`);
84500
- await fs$1.mkdir(resolvedWorkspace, { recursive: true });
84509
+ await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
84501
84510
  const sandboxSessionKey = params.sessionKey?.trim() || params.sessionId;
84502
84511
  const sandbox = await resolveSandboxContext({
84503
84512
  config: params.config,
@@ -84505,7 +84514,7 @@ async function runEmbeddedAttempt(params) {
84505
84514
  workspaceDir: resolvedWorkspace
84506
84515
  });
84507
84516
  const effectiveWorkspace = sandbox?.enabled ? sandbox.workspaceAccess === "rw" ? resolvedWorkspace : sandbox.workspaceDir : resolvedWorkspace;
84508
- await fs$1.mkdir(effectiveWorkspace, { recursive: true });
84517
+ await fsPromises.mkdir(effectiveWorkspace, { recursive: true });
84509
84518
  let restoreSkillEnv;
84510
84519
  process.chdir(effectiveWorkspace);
84511
84520
  try {
@@ -84775,7 +84784,7 @@ async function runEmbeddedAttempt(params) {
84775
84784
  sessionFile: params.sessionFile,
84776
84785
  warn: (message) => log$3.warn(message)
84777
84786
  });
84778
- const hadSessionFile = await fs$1.stat(params.sessionFile).then(() => true).catch(() => false);
84787
+ const hadSessionFile = await fsPromises.stat(params.sessionFile).then(() => true).catch(() => false);
84779
84788
  const transcriptPolicy = resolveTranscriptPolicy({
84780
84789
  modelApi: params.model?.api,
84781
84790
  provider: params.provider,
@@ -85904,7 +85913,7 @@ async function runEmbeddedPiAgent(params) {
85904
85913
  const copilotAuthRetry = authRetryPending;
85905
85914
  authRetryPending = false;
85906
85915
  attemptedThinking.add(thinkLevel);
85907
- await fs$1.mkdir(resolvedWorkspace, { recursive: true });
85916
+ await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
85908
85917
  const prompt = provider === "anthropic" ? scrubAnthropicRefusalMagic(params.prompt) : params.prompt;
85909
85918
  const attempt = await runEmbeddedAttempt({
85910
85919
  sessionId: params.sessionId,
@@ -86710,7 +86719,7 @@ const DEFAULT_SUBAGENT_ANNOUNCE_TIMEOUT_MS = 6e4;
86710
86719
  const MAX_TIMER_SAFE_TIMEOUT_MS = 2147e6;
86711
86720
  let subagentRegistryRuntimePromise = null;
86712
86721
  function loadSubagentRegistryRuntime() {
86713
- subagentRegistryRuntimePromise ??= import("./subagent-registry-runtime-Cgw6YwfZ.js");
86722
+ subagentRegistryRuntimePromise ??= import("./subagent-registry-runtime-CeHVZoXv.js");
86714
86723
  return subagentRegistryRuntimePromise;
86715
86724
  }
86716
86725
  const DIRECT_ANNOUNCE_TRANSIENT_RETRY_DELAYS_MS = FAST_TEST_MODE ? [