@guadskill/openclaw-proxy 2026.3.7 → 2026.3.9

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 (296) hide show
  1. package/dist/{accounts-BAXPpGUT.js → accounts-B_Mf6Ybe.js} +1 -1
  2. package/dist/{accounts-DDk7Alkl.js → accounts-CGMgxUfN.js} +7 -7
  3. package/dist/{accounts-DIGnwOCI.js → accounts-NKTm9o4M.js} +1 -1
  4. package/dist/{acp-cli-CL-bRMaF.js → acp-cli-BKb3AGdK.js} +8 -8
  5. package/dist/{agent-scope-CT92dyCK.js → agent-scope-Dd2_TNoB.js} +17 -17
  6. package/dist/{agents-Ux5TCgO6.js → agents-yZG80_Bk.js} +14 -14
  7. package/dist/{agents.config-7ZBT3aJH.js → agents.config-iby7tWX6.js} +3 -3
  8. package/dist/{api-key-rotation-D7uyLcCV.js → api-key-rotation-DsHx0Ttu.js} +1 -1
  9. package/dist/{audio-preflight-CqbpJICd.js → audio-preflight-DbDIZaaN.js} +4 -4
  10. package/dist/{audio-preflight-B0sj35Ce.js → audio-preflight-Ot_1VrgG.js} +34 -34
  11. package/dist/{audio-transcription-runner-Cdvz7bpD.js → audio-transcription-runner-Cl9Pu_e3.js} +23 -23
  12. package/dist/{audio-transcription-runner-EQqd2K8L.js → audio-transcription-runner-DX0Waokh.js} +1 -1
  13. package/dist/{audit-qqRogHSL.js → audit-DtKtvGnO.js} +29 -29
  14. package/dist/{auth-DfEti-nH.js → auth-DkciOmKe.js} +1 -1
  15. package/dist/{auth-choice-BjQ5BF_A.js → auth-choice-CDiDpyjK.js} +12 -12
  16. package/dist/{auth-choice-C4XhKa87.js → auth-choice-mCitki7b.js} +13 -13
  17. package/dist/{auth-choice.apply-helpers-BJLWC6EX.js → auth-choice.apply-helpers-DFO2u4vW.js} +1 -1
  18. package/dist/{auth-profiles-Bh2dHooQ.js → auth-profiles-QXvcpjIT.js} +16 -16
  19. package/dist/{auth-token-qGutIUyw.js → auth-token-4Y8dUkki.js} +1 -1
  20. package/dist/{banner-D3w3334V.js → banner-BIxf18aP.js} +2 -2
  21. package/dist/{bonjour-discovery-Dk22JKmo.js → bonjour-discovery-DBClG9uw.js} +1 -1
  22. package/dist/{browser-cli-C1NkBy0u.js → browser-cli-B0KE9qxO.js} +12 -12
  23. package/dist/build-info.json +3 -3
  24. package/dist/{call-Bl8osGeS.js → call-B56A9tyz.js} +10 -10
  25. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  26. package/dist/{channel-account-context-Bkq8Tao4.js → channel-account-context-CkpkengK.js} +5 -5
  27. package/dist/{channel-activity-DFfVKdMC.js → channel-activity-ClJu0F_1.js} +1 -1
  28. package/dist/{channel-options-Ddq9nbjL.js → channel-options-BGF--IMr.js} +3 -3
  29. package/dist/{channel-selection-TEB-oKFB.js → channel-selection-DHlVN8Pr.js} +1 -1
  30. package/dist/{channel-web-BRc8grVl.js → channel-web-CJ_qOhFv.js} +17 -17
  31. package/dist/{channels-cli-0uHlhl_q.js → channels-cli-CdmEguK_.js} +93 -93
  32. package/dist/{channels-status-issues-CHYRNB54.js → channels-status-issues-CmDh358n.js} +1 -1
  33. package/dist/{chrome-BKmthESk.js → chrome-CMibSHuV.js} +8 -8
  34. package/dist/{chrome-8g2ppizL.js → chrome-CjADilJt.js} +4 -4
  35. package/dist/{clawbot-cli-C40Lz65o.js → clawbot-cli-CYI_p-Ig.js} +11 -11
  36. package/dist/cli/daemon-cli.js +1 -1
  37. package/dist/{cli-B4cqtuy2.js → cli-C7HjUgZL.js} +72 -72
  38. package/dist/{client-IQ7AZ1A-.js → client-DaFloLVI.js} +3 -3
  39. package/dist/{command-registry-CufWvKi3.js → command-registry-CrsK0cpv.js} +11 -11
  40. package/dist/{command-secret-targets-B1PuKXnU.js → command-secret-targets-CsIlET0p.js} +4 -4
  41. package/dist/{commands-DP7Bcuo2.js → commands-C-YxTe08.js} +1 -1
  42. package/dist/{commands-registry-B5lrLxcS.js → commands-registry-WI8KXlO7.js} +3 -3
  43. package/dist/{compact-SZ3BDWQp.js → compact-BBdhRYXH.js} +149 -149
  44. package/dist/compact.runtime-DDxAzGC2.js +110 -0
  45. package/dist/{compact.runtime-CMZ_UYyk.js → compact.runtime-DdbMKiHW.js} +6 -6
  46. package/dist/{completion-cli-B0f-xBOC.js → completion-cli-Bg8nShmO.js} +1 -1
  47. package/dist/{completion-cli-DQ2oZ0Xm.js → completion-cli-D1eUD4z0.js} +13 -13
  48. package/dist/{config-cli-CC2671nv.js → config-cli-C8aGIdsa.js} +7 -7
  49. package/dist/{config-cli-C0Z8l_cH.js → config-cli-DfABZZJ1.js} +1 -1
  50. package/dist/{config-guard-THCtF7SH.js → config-guard-CdbAZXqh.js} +3 -3
  51. package/dist/{config-validation-BgjGiBwk.js → config-validation-Bn0atyWE.js} +3 -3
  52. package/dist/{configure-CyhJDi-o.js → configure-PWOO1SWf.js} +19 -19
  53. package/dist/{configure-CwCN7C4J.js → configure-tNoPV8AJ.js} +1 -1
  54. package/dist/{control-ui-assets-DIBwwDAL.js → control-ui-assets-B1qVA62q.js} +1 -1
  55. package/dist/{cron-cli-DEWQQAZg.js → cron-cli-BWWBn58q.js} +11 -11
  56. package/dist/{daemon-cli-fixQtS_3.js → daemon-cli-Ckhi3S0x.js} +5 -5
  57. package/dist/{daemon-cli-DDOlXF-y.js → daemon-cli-Di0mFZWs.js} +16 -16
  58. package/dist/daemon-cli.js +9 -4
  59. package/dist/{daemon-install-C4AKaLdy.js → daemon-install-B2fT93a3.js} +21 -21
  60. package/dist/{daemon-install-D0yIgdZW.js → daemon-install-CWpghW8k.js} +1 -1
  61. package/dist/{daemon-install-helpers-CVfc_ZXM.js → daemon-install-helpers-BWyx8Sx7.js} +12 -12
  62. package/dist/{deliver-754C3f2C.js → deliver-BSlI6o2D.js} +7 -7
  63. package/dist/{deliver-D-x487kv.js → deliver-DBsYfyHP.js} +1 -1
  64. package/dist/deliver-runtime-BjkTIwlL.js +57 -0
  65. package/dist/{deliver-runtime-gs8PEJHW.js → deliver-runtime-Yz8xsseU.js} +3 -3
  66. package/dist/deps-send-discord.runtime-COZDJ4kj.js +31 -0
  67. package/dist/deps-send-imessage.runtime-CrUNGLpB.js +30 -0
  68. package/dist/deps-send-signal.runtime-BdIsLRiH.js +29 -0
  69. package/dist/deps-send-slack.runtime-haEMGbWP.js +27 -0
  70. package/dist/deps-send-telegram.runtime-TdOBj1BE.js +33 -0
  71. package/dist/deps-send-whatsapp.runtime-Bf8yUhOp.js +115 -0
  72. package/dist/{deps-send-whatsapp.runtime-D9cBUcGe.js → deps-send-whatsapp.runtime-Mb5nI79S.js} +7 -7
  73. package/dist/{devices-cli-quvV3Kka.js → devices-cli-D78eahM0.js} +8 -8
  74. package/dist/{diagnostic-D0TftuxK.js → diagnostic-CFCd8W0m.js} +1 -1
  75. package/dist/{diagnostics-BrA18SV4.js → diagnostics-CJLP-HQK.js} +5 -5
  76. package/dist/{diagnostics-CKEVHs7n.js → diagnostics-g4kCl3Wr.js} +1 -1
  77. package/dist/{directory-cli-CRRwqLtU.js → directory-cli-CchmjuDY.js} +7 -7
  78. package/dist/{dns-cli-LufK6hHQ.js → dns-cli-C73_Y0ZB.js} +5 -5
  79. package/dist/{dock-tPqNmtNL.js → dock-wtxEAACu.js} +4 -4
  80. package/dist/{docs-cli-BJb-cOpV.js → docs-cli-CdYaag66.js} +4 -4
  81. package/dist/{doctor-completion-DDK1pAvc.js → doctor-completion-B7MotNqQ.js} +1 -1
  82. package/dist/{doctor-completion-CbB8sBAb.js → doctor-completion-DmWeZX0M.js} +2 -2
  83. package/dist/{doctor-config-flow-qCvK2k4B.js → doctor-config-flow-CLlEO2jJ.js} +16 -16
  84. package/dist/{enable-DfvB7o85.js → enable-Dk8s7RC7.js} +1 -1
  85. package/dist/entry.js +2 -2
  86. package/dist/{exec-approvals-allowlist-BKsPjl3W.js → exec-approvals-allowlist-BTePmA7R.js} +1 -1
  87. package/dist/{exec-approvals-cli-raoktoDD.js → exec-approvals-cli-DzmNRLok.js} +16 -16
  88. package/dist/{exec-approvals-cli-DKUcKVKU.js → exec-approvals-cli-sNZ1MCrZ.js} +2 -2
  89. package/dist/{exec-safe-bin-runtime-policy-Cm7TKqpY.js → exec-safe-bin-runtime-policy-B8a4-DkO.js} +2 -2
  90. package/dist/extensionAPI.js +6 -6
  91. package/dist/{fetch-OsQusEch.js → fetch-CLpizcRC.js} +3 -3
  92. package/dist/{fetch-guard-CYvHLcm1.js → fetch-guard-CTJIkmOy.js} +1 -1
  93. package/dist/{fs-safe-CgWykA_r.js → fs-safe-DZPN9PEp.js} +24 -24
  94. package/dist/{gateway-cli-FCR2v3fN.js → gateway-cli-B-C_BUeg.js} +158 -158
  95. package/dist/{gateway-cli-CQfPJGkv.js → gateway-cli-DuJgUJEo.js} +9 -9
  96. package/dist/{gateway-install-token-DpBkW5NL.js → gateway-install-token-DUJ-X-CS.js} +3 -3
  97. package/dist/{gateway-rpc-vqmfnd4e.js → gateway-rpc-CZWffg-J.js} +1 -1
  98. package/dist/{health-CX11t-Su.js → health-CqfjbU3N.js} +11 -11
  99. package/dist/{hooks-cli-D9dqop-W.js → hooks-cli-CwrgdWfU.js} +80 -80
  100. package/dist/{hooks-status-wJu8Rm9x.js → hooks-status-41E49JnH.js} +1 -1
  101. package/dist/{image-gKRn4k2T.js → image-C-OScNLH.js} +5 -5
  102. package/dist/{image-BH87HyHn.js → image-Nk4Z8dsI.js} +1 -1
  103. package/dist/{image-ops-Dt4M7xkd.js → image-ops-sooGTpsU.js} +10 -10
  104. package/dist/image-runtime-CvfZqzwb.js +51 -0
  105. package/dist/{image-runtime-RUsR--QR.js → image-runtime-koB5Zl5s.js} +3 -3
  106. package/dist/index.js +1 -1
  107. package/dist/{inspect-DYLkh7ux.js → inspect-BESssF_o.js} +1 -1
  108. package/dist/{inspect-Bg11sSfy.js → inspect-BLDaR51z.js} +4 -4
  109. package/dist/{install-safe-path-Brs51UVy.js → install-safe-path-NpGSerww.js} +25 -25
  110. package/dist/{installs-XHd3fauV.js → installs-CLaVeEP2.js} +8 -8
  111. package/dist/{ipv4-s-bz8E7J.js → ipv4-oTVR6LLm.js} +1 -1
  112. package/dist/{ir-DTl0TSQX.js → ir-MJchm-P0.js} +8 -8
  113. package/dist/{issue-format-8vbMtP-9.js → issue-format-BhYUpe8G.js} +1 -1
  114. package/dist/{json-files-Byf92VOl.js → json-files-D-hzuOc8.js} +8 -8
  115. package/dist/{lifecycle-core-D57bmaEM.js → lifecycle-core-BDRJ-gZl.js} +5 -5
  116. package/dist/{lifecycle-core-Bh-Jy8dW.js → lifecycle-core-Cuioj9RE.js} +2 -2
  117. package/dist/{login-BcTfGveb.js → login-BrAq_fE9.js} +3 -3
  118. package/dist/{login-qr-DxsNtFb-.js → login-qr-w8g9Wssr.js} +6 -6
  119. package/dist/{logs-cli-C1mQ6jm1.js → logs-cli-Dm95Nvw2.js} +9 -9
  120. package/dist/{manager-DyZ-LIQS.js → manager-Mu3eMmUj.js} +14 -14
  121. package/dist/manager-runtime-Cj9Hvway.js +21 -0
  122. package/dist/{manifest-registry-DjjgwuVC.js → manifest-registry-C_atL4ID.js} +1 -1
  123. package/dist/{memory-cli-CXFqQMtN.js → memory-cli-DjSgQlDO.js} +12 -12
  124. package/dist/{model-catalog-CyL_QlZd.js → model-catalog-Crm5h6fz.js} +3 -3
  125. package/dist/{model-picker-DqYwIby0.js → model-picker-RWaJDIbf.js} +4 -4
  126. package/dist/{models-BryKzxGG.js → models-Dm0hzS3D.js} +15 -15
  127. package/dist/{models-cli-BU89hunh.js → models-cli-TrSDz03D.js} +77 -77
  128. package/dist/{models-config-Do_bkbr3.js → models-config-ioRkhhh4.js} +6 -6
  129. package/dist/{node-cli-CA1SvH73.js → node-cli-C9unxcj_.js} +33 -33
  130. package/dist/{node-cli-CfmQ2Qof.js → node-cli-DCokZ5VQ.js} +4 -4
  131. package/dist/{node-command-policy-Bqp9nIUg.js → node-command-policy-DdF7xJQa.js} +1 -1
  132. package/dist/{node-service-BirxNntZ.js → node-service-DCfQospz.js} +1 -1
  133. package/dist/{node-service-BUERUsa_.js → node-service-DhooZn04.js} +1 -1
  134. package/dist/{nodes-cli-DLtFA23h.js → nodes-cli-ZdvlYwxX.js} +16 -16
  135. package/dist/{nodes-screen-gvENU0qT.js → nodes-screen-B7eOQ14A.js} +7 -7
  136. package/dist/{npm-pack-install-2dbksMMb.js → npm-pack-install-Dz4wJtRd.js} +18 -18
  137. package/dist/{npm-resolution-DafKZYAM.js → npm-resolution-BFE8ihLy.js} +4 -4
  138. package/dist/{onboard-CpYQ6i29.js → onboard-CI27VpfB.js} +6 -6
  139. package/dist/{onboard-DCljJSci.js → onboard-DQpNrN8f.js} +2 -2
  140. package/dist/{onboard-channels-lyZUxSJ-.js → onboard-channels-BBkxHyWU.js} +21 -21
  141. package/dist/{onboard-custom-BYAJVMrS.js → onboard-custom-CLwjPxwD.js} +4 -4
  142. package/dist/{onboard-helpers-BqSYoJSO.js → onboard-helpers-BJ2MHcp9.js} +10 -10
  143. package/dist/{onboard-hooks-B4f4qUvf.js → onboard-hooks-OrZtfoSC.js} +4 -4
  144. package/dist/{onboard-remote-5YZ2k5qA.js → onboard-remote-wY_bxC1W.js} +4 -4
  145. package/dist/{onboard-skills-P7WUXQqb.js → onboard-skills-CdhTiJIU.js} +4 -4
  146. package/dist/{onboarding-C2ZQIZ5e.js → onboarding-BV3dioI3.js} +14 -14
  147. package/dist/{onboarding-TLgFqsJ0.js → onboarding-bSVnEk-q.js} +1 -1
  148. package/dist/{onboarding.finalize-C0dSrRMy.js → onboarding.finalize-CthILcfJ.js} +88 -88
  149. package/dist/{onboarding.finalize-BKLMwDpS.js → onboarding.finalize-V311LPsU.js} +4 -4
  150. package/dist/{onboarding.gateway-config-DOjylmTf.js → onboarding.gateway-config-DWG9D6GI.js} +19 -19
  151. package/dist/{onboarding.secret-input-D28tCmCi.js → onboarding.secret-input-yXmtdEMi.js} +1 -1
  152. package/dist/{openai-codex-model-default-Dh0Anrx7.js → openai-codex-model-default-BnNc6l4d.js} +3 -3
  153. package/dist/{openai-model-default-JIrv3HNj.js → openai-model-default-PyAlsRPb.js} +2 -2
  154. package/dist/{openclaw-root-Dh_Sm1l8.js → openclaw-root-Gv7Ob-5V.js} +8 -8
  155. package/dist/{outbound-attachment-BE3KAIhc.js → outbound-attachment-Bui79r_g.js} +2 -2
  156. package/dist/{outbound-EIL02rQd.js → outbound-owi6Cvj_.js} +4 -4
  157. package/dist/{pairing-cli-DYFTC4OI.js → pairing-cli-y8L4PLm3.js} +8 -8
  158. package/dist/{pairing-labels-c6cTWTzi.js → pairing-labels-DvrRVH1N.js} +1 -1
  159. package/dist/{pairing-store-gcbFdvn2.js → pairing-store-BsYNiJyH.js} +3 -3
  160. package/dist/{path-alias-guards-OAUIyvyc.js → path-alias-guards-BndjEKU2.js} +3 -3
  161. package/dist/{path-safety-h4lG_U1h.js → path-safety-FANXxHHr.js} +1 -1
  162. package/dist/{paths-C6-x9jb-.js → paths-B-3rcnCY.js} +9 -9
  163. package/dist/{pi-embedded-NHtVbVqt.js → pi-embedded-DhjXWD5O.js} +25 -25
  164. package/dist/{pi-embedded-helpers-C1kbyX9C.js → pi-embedded-helpers-BUubsAcJ.js} +6 -6
  165. package/dist/{pi-embedded-helpers-o22sdqT_.js → pi-embedded-helpers-CSodYzr7.js} +3 -3
  166. package/dist/{pi-model-discovery-BJyAkuau.js → pi-model-discovery-qGBDJI9t.js} +1 -1
  167. package/dist/{pi-model-discovery-runtime-D_6fWmk1.js → pi-model-discovery-runtime-B8XjnAyy.js} +5 -5
  168. package/dist/{pi-tools.before-tool-call.runtime-LDkkLRSe.js → pi-tools.before-tool-call.runtime-CDfXf9XL.js} +5 -5
  169. package/dist/{pi-tools.policy-dFXahmgF.js → pi-tools.policy-CSPrerKx.js} +6 -6
  170. package/dist/{plugin-auto-enable-CPLdiF-6.js → plugin-auto-enable-BAHkcVP4.js} +3 -3
  171. package/dist/{plugin-registry-BA0j17R1.js → plugin-registry-bnANTUyV.js} +3 -3
  172. package/dist/plugin-sdk/bluebubbles.js +2 -2
  173. package/dist/plugin-sdk/imessage.js +2 -2
  174. package/dist/plugin-sdk/slack.js +2 -2
  175. package/dist/plugin-sdk/telegram.js +2 -2
  176. package/dist/plugin-sdk/tlon.js +2 -2
  177. package/dist/plugin-sdk/twitch.js +2 -2
  178. package/dist/{plugins-BB30X9Wg.js → plugins-Bv9ZfJVO.js} +2 -2
  179. package/dist/{plugins-cli-Do7-62o7.js → plugins-cli-BnD810PB.js} +82 -82
  180. package/dist/{ports-CrkPY1HU.js → ports-CFvWMNlt.js} +1 -1
  181. package/dist/{ports-CRHQM_CU.js → ports-JXKx9QTu.js} +2 -2
  182. package/dist/{probe-B01qwW3t.js → probe-BSiLGREe.js} +2 -2
  183. package/dist/{program-DibN7S7t.js → program-DslcDMLC.js} +80 -80
  184. package/dist/{program-context-QLGv1wVR.js → program-context-BCkMeZ0D.js} +12 -12
  185. package/dist/{prompt-select-styled-DeQQQ0QA.js → prompt-select-styled-C0PnL2-4.js} +41 -41
  186. package/dist/{prompt-select-styled-BLaCMb3d.js → prompt-select-styled-DtsNnfFy.js} +5 -5
  187. package/dist/{provider-auth-helpers-Bu3NP92x.js → provider-auth-helpers-Bo68RFgl.js} +5 -5
  188. package/dist/{proxy-env-CHINy-_C.js → proxy-env-C4Sv8mbU.js} +1 -1
  189. package/dist/{push-apns-Dv9W1mnb.js → push-apns-JhqWOAwU.js} +5 -5
  190. package/dist/{pw-ai-DNjwFfSW.js → pw-ai-BL-cDtw0.js} +18 -18
  191. package/dist/{pw-ai-MWIrQHO4.js → pw-ai-DZOmcrIm.js} +1 -1
  192. package/dist/{qmd-manager-BFlQuEU2.js → qmd-manager-CXJXujXb.js} +20 -20
  193. package/dist/{qr-cli-CDRdlfTz.js → qr-cli-IKWtasYO.js} +2 -2
  194. package/dist/{redact-snapshot-DfzfKriI.js → redact-snapshot-sxLRRmfh.js} +1 -1
  195. package/dist/{register.agent-DZcC5FDy.js → register.agent-BhE6O5kz.js} +93 -93
  196. package/dist/{register.configure-Dmv99pKW.js → register.configure-COPz8XYt.js} +2 -2
  197. package/dist/register.configure-NmyxXY5V.js +164 -0
  198. package/dist/{register.maintenance-BNVvn7VP.js → register.maintenance-CEk4B6v4.js} +95 -95
  199. package/dist/{register.maintenance-By_ZStHt.js → register.maintenance-CyYEm7iS.js} +7 -7
  200. package/dist/{register.message-DcsEcis4.js → register.message-6oUodJEa.js} +73 -73
  201. package/dist/{register.onboard-wGV8LHCW.js → register.onboard-2PhRDQTS.js} +18 -18
  202. package/dist/{register.onboard-rxQ8R21T.js → register.onboard-BP9GuZks.js} +2 -2
  203. package/dist/{register.setup-DoDh05A7.js → register.setup-CprZSMEV.js} +21 -21
  204. package/dist/{register.setup-e2gy3YmS.js → register.setup-Ni4737D9.js} +2 -2
  205. package/dist/{register.status-health-sessions-CFPRa6iq.js → register.status-health-sessions-BpTP5AfU.js} +88 -88
  206. package/dist/{register.status-health-sessions-BoG2-Twd.js → register.status-health-sessions-HgeTqr9l.js} +4 -4
  207. package/dist/{register.subclis-Dperszpc.js → register.subclis-CXGjQuPd.js} +31 -31
  208. package/dist/{resolve-configured-secret-input-string-BdkI2Dl0.js → resolve-configured-secret-input-string-DvKJxAtp.js} +1 -1
  209. package/dist/{rpc-CM5MI1Km.js → rpc-CQs3IjG7.js} +1 -1
  210. package/dist/{run-main-BcAftmJ6.js → run-main-CHHrSCWI.js} +91 -91
  211. package/dist/{runtime-DIn_d_mi.js → runtime-BC8kvHYq.js} +3 -3
  212. package/dist/{runtime-config-collectors-DVZ-fK7E.js → runtime-config-collectors-DM4YW0m9.js} +1 -1
  213. package/dist/{runtime-whatsapp-login.runtime-C2Hz6tBD.js → runtime-whatsapp-login.runtime-Dj6jyYEL.js} +7 -7
  214. package/dist/runtime-whatsapp-outbound.runtime-CboIijG_.js +27 -0
  215. package/dist/{sandbox-QUwr5BiV.js → sandbox-Ey0spRTA.js} +18 -18
  216. package/dist/{sandbox-cli-BHPtvNZP.js → sandbox-cli-WnhAHtf7.js} +25 -25
  217. package/dist/{secrets-cli-BirGeLI0.js → secrets-cli-CxRF1ol0.js} +11 -11
  218. package/dist/{security-cli-BdtTg2un.js → security-cli-EJK_t_Hu.js} +43 -43
  219. package/dist/{send-DR8brNFF.js → send-Cms8uhN1.js} +5 -5
  220. package/dist/{send-DsIy0owU.js → send-DExcQWAf.js} +4 -4
  221. package/dist/{send-D0TbCIOU.js → send-DgUi3bl8.js} +8 -8
  222. package/dist/{send-BRb_0Ibb.js → send-Dlp3HAiX.js} +6 -6
  223. package/dist/{send-CHUBkOx4.js → send-Don_FZgW.js} +11 -11
  224. package/dist/{server-CsG3vwY6.js → server-DUXr6A6B.js} +20 -20
  225. package/dist/{server-context-BOMErxlB.js → server-context-DDDYJ1E5.js} +12 -12
  226. package/dist/{server-lifecycle-Bz_tILpw.js → server-lifecycle-5QwrD-pI.js} +2 -2
  227. package/dist/{server-middleware-COJNPqNx.js → server-middleware-CUHXrp2x.js} +1 -1
  228. package/dist/{server-node-events-Bkfa7nls.js → server-node-events-D8EKx-Ef.js} +73 -73
  229. package/dist/{service-BqHBIJsE.js → service-CkeyjKgU.js} +9 -4
  230. package/dist/{service-A9LH2cqi.js → service-VB8hrx3m.js} +24 -19
  231. package/dist/{session-B78ElRuv.js → session-DLkD-iwM.js} +1 -1
  232. package/dist/{session-utils-HmD-1G9e.js → session-utils-DqcL4tRB.js} +6 -6
  233. package/dist/{sessions-TCNQfcSW.js → sessions-BJu8U8kz.js} +15 -15
  234. package/dist/{sessions-CteOs-Xa.js → sessions-DGFe_VH1.js} +4 -4
  235. package/dist/{shared-0ohfVTdd.js → shared-Bto9UlKB.js} +1 -1
  236. package/dist/{shared-CiWwdWaM.js → shared-DFIymKVc.js} +1 -1
  237. package/dist/{skill-commands-BvomqRJm.js → skill-commands-C7_32HvU.js} +5 -5
  238. package/dist/{skill-scanner-B_VveqAF.js → skill-scanner-CTA9_1Ad.js} +6 -6
  239. package/dist/{skills-Bme_5_Wh.js → skills-C3DzmT-s.js} +3 -3
  240. package/dist/{skills-cli-DMOEU-Kf.js → skills-cli-C2MW9QVA.js} +5 -5
  241. package/dist/{skills-install-jgMttMiG.js → skills-install-xhIs9n_2.js} +6 -6
  242. package/dist/{skills-status-DDy1p1bH.js → skills-status-n9vgDHer.js} +1 -1
  243. package/dist/{slash-commands.runtime-kurmXJKo.js → slash-commands.runtime-BrlJHzZ0.js} +11 -11
  244. package/dist/{slash-dispatch.runtime-Du0T-jw8.js → slash-dispatch.runtime--1geVpWH.js} +6 -6
  245. package/dist/slash-dispatch.runtime-BPzR4clK.js +110 -0
  246. package/dist/slash-skill-commands.runtime-C3MY6G1s.js +29 -0
  247. package/dist/{sqlite-CVpjz_Fn.js → sqlite-B6J7wlgb.js} +12 -12
  248. package/dist/{status-DGNyj-My.js → status-BvATDhyx.js} +29 -29
  249. package/dist/{status-CZmvZ4Du.js → status-CzDUyBhZ.js} +1 -1
  250. package/dist/{status-CcDhfT7z.js → status-gmvLzqWY.js} +3 -3
  251. package/dist/{status.update-CMY8gTu2.js → status.update-DndHNWm3.js} +2 -2
  252. package/dist/{store-dO9FxwIh.js → store-BxDf7hdp.js} +15 -15
  253. package/dist/{subagent-registry-runtime-BX7PeNcG.js → subagent-registry-runtime-BF8LA25p.js} +6 -6
  254. package/dist/subagent-registry-runtime-CTIJfGw5.js +110 -0
  255. package/dist/{system-cli-C5W2hXEn.js → system-cli-Be_6EDGU.js} +9 -9
  256. package/dist/{system-run-command-B6YFaIn3.js → system-run-command-BlvZfJeb.js} +1 -1
  257. package/dist/{systemd-DunyHHc7.js → systemd-QfmEIyC_.js} +10 -10
  258. package/dist/{systemd-hints-DNCfudm3.js → systemd-hints-B1wK4V9O.js} +1 -1
  259. package/dist/{systemd-hints-Cc1WoU1g.js → systemd-hints-C8DMAujY.js} +6 -6
  260. package/dist/{systemd-linger-C8eA-s3i.js → systemd-linger-D_EygRlf.js} +1 -1
  261. package/dist/{tables-Ckhi6C4h.js → tables-DVqUjPRa.js} +1 -1
  262. package/dist/{tailnet-CcjaRS5e.js → tailnet-CoMmrqa1.js} +1 -1
  263. package/dist/{target-errors-018oJFiB.js → target-errors-N10oAD8K.js} +4 -4
  264. package/dist/{tool-images-C1FdHV43.js → tool-images-ByGbgP3W.js} +1 -1
  265. package/dist/{tui-cli-DImVjijU.js → tui-cli-A2qCvBWw.js} +33 -33
  266. package/dist/{tui-CsIlN_Go.js → tui-o3M_Bbq1.js} +7 -7
  267. package/dist/{update-CDOtvt7K.js → update-Mc1LqzY6.js} +3 -3
  268. package/dist/{update-cli-Dq8uIRxF.js → update-cli-BKMUoIZY.js} +105 -105
  269. package/dist/{update-cli-CazqKKsR.js → update-cli-ByxIfOIf.js} +9 -9
  270. package/dist/{update-runner-BSMIDJ-p.js → update-runner-CCB_wRmi.js} +16 -16
  271. package/dist/web-BblTI04D.js +114 -0
  272. package/dist/{web-CuWkibTO.js → web-DUmwaFF8.js} +6 -6
  273. package/dist/{webhooks-cli-5lNqCVtQ.js → webhooks-cli-B1O1xKF7.js} +6 -6
  274. package/dist/{whatsapp-actions-BXDIsy-2.js → whatsapp-actions-P1s1gYIT.js} +17 -17
  275. package/dist/{with-timeout-xWhqcPuu.js → with-timeout-gotbjCau.js} +3 -3
  276. package/dist/{workspace-Ct8qaDh3.js → workspace-ST8Op53v.js} +1 -1
  277. package/dist/{workspace-dirs-Ch8qs0UH.js → workspace-dirs--0e3kMf7.js} +1 -1
  278. package/dist/{ws-DUfuK8DQ.js → ws-DrZBk8aE.js} +2 -2
  279. package/dist/{wsl-DLw4LET-.js → wsl-Dd7vjPIH.js} +2 -2
  280. package/package.json +1 -1
  281. package/dist/compact.runtime-Cs7M1NjN.js +0 -110
  282. package/dist/deliver-runtime-BSN3wlW_.js +0 -57
  283. package/dist/deps-send-discord.runtime-DD-RWrwG.js +0 -31
  284. package/dist/deps-send-imessage.runtime-gAWYnB6p.js +0 -30
  285. package/dist/deps-send-signal.runtime-Ry6Voc2R.js +0 -29
  286. package/dist/deps-send-slack.runtime-CcCvO5a7.js +0 -27
  287. package/dist/deps-send-telegram.runtime-97vMMh1v.js +0 -33
  288. package/dist/deps-send-whatsapp.runtime-B8nhC5lk.js +0 -115
  289. package/dist/image-runtime-3d_07I1J.js +0 -51
  290. package/dist/manager-runtime-DDmFvXWq.js +0 -21
  291. package/dist/register.configure-C_xciKz5.js +0 -164
  292. package/dist/runtime-whatsapp-outbound.runtime-BpuvPdTK.js +0 -27
  293. package/dist/slash-dispatch.runtime-BDYuFlr9.js +0 -110
  294. package/dist/slash-skill-commands.runtime-CRatiVfd.js +0 -29
  295. package/dist/subagent-registry-runtime-CqAEqqbS.js +0 -110
  296. package/dist/web-CNj08Zq-.js +0 -114
@@ -1,10 +1,10 @@
1
1
  import { E as logVerbose, F as getChildLogger, P as theme, S as danger, U as normalizeLogLevel, _ as defaultRuntime, et as resolveGatewayPort, g as createNonExitingRuntime, j as warn, k as shouldLogVerbose, mt as resolveRequiredHomeDir, o as parseBooleanValue$1, ot as resolveStateDir, q as STATE_DIR, r as isTruthyEnvValue, s as createSubsystemLogger, st as resolvePreferredOpenClawTmpDir } from "./entry.js";
2
- import { $ as isInboundPathAllowed, $r as resolveRetryConfig, Ar as resolveDefaultModelForAgent, B as loadConfig, Bi as DEFAULT_PROVIDER, Bt as validateJsonSchemaValue, Ci as resolveShellEnvFallbackTimeoutMs, Cr as normalizeModelRef$2, Fn as resolveDiscordPreviewStreamMode, Fr as resolveSubagentSpawnModelSelection, Ft as isPathWithinRoot, Gn as resolveAgentMaxConcurrent, Gt as unsetConfigOverride, H as readConfigFileSnapshot, Ht as getConfigOverrides, In as resolveSlackNativeStreaming, Ir as resolveThinkingDefault, It as isSupportedLocalAvatarExtension, Jn as resolveOwnerDisplaySetting, Jt as setConfigValueAtPath, K as writeConfigFile, Kt as getConfigValueAtPath, Li as splitTrailingAuthProfile, Ln as resolveSlackStreamingMode, Mr as resolveModelRefFromString, Mt as isAvatarDataUrl, Nr as resolveReasoningDefault, Nt as isAvatarHttpUrl, On as applyMergePatch, Pi as normalizeSecretInput, Pn as mapStreamingModeToSlackLegacyDraftStreamMode, Qn as markAuthProfileGood, Ri as DEFAULT_CONTEXT_TOKENS, Si as getShellPathFromLoginShell, Sr as modelKey, Tr as normalizeProviderId, Ut as resetConfigOverrides, Vi as resolveAuthProfileDisplayLabel, W as resolveConfigSnapshotHash, Wn as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, Wt as setConfigOverride, X as normalizeTelegramCommandName, Xn as dedupeProfileIds, Y as TELEGRAM_COMMAND_NAME_PATTERN, Yt as unsetConfigValueAtPath, Z as resolveTelegramCustomCommands, Zn as listProfilesForProvider, _i as resolveApiKeyForProvider, _r as buildModelAliasIndex, a as getSoonestCooldownExpiry, bi as resolveModelAuthMode, c as markAuthProfileUsed, ci as OLLAMA_NATIVE_BASE_URL, d as resolveApiKeyForProfile, di as buildAssistantMessageWithZeroUsage, dr as withFileLock, ei as retryAsync, f as evaluateStoredCredentialEligibility, fi as buildStreamErrorAssistantMessage, gi as requireApiKey, gr as buildConfiguredAllowlistKeys, hi as getCustomProviderApiKey, hr as buildAllowedModelSet, i as clearExpiredCooldowns, it as parseNonNegativeByteSize, jt as AVATAR_MAX_BYTES, kr as resolveConfiguredModelRef, li as createOllamaStreamFn, lr as resolveAuthStorePathForDisplay, mi as getApiKeyForModel, mt as parseDurationMs, nt as resolveIMessageRemoteAttachmentRoots, o as isProfileInCooldown, p as resolveTokenExpiryState, pi as buildUsageWithNoCost, q as validateConfigObjectWithPlugins, qt as parseConfigPath, r as resolveAuthProfileOrder, rn as buildEnforcedShellCommand, rr as ensureAuthProfileStore, rt as normalizeScpRemoteHost, s as markAuthProfileFailure, tt as resolveIMessageAttachmentRoots, u as resolveProfilesUnavailableReason, ui as buildAssistantMessage, ur as resolveOpenClawAgentDir, vr as findNormalizedProviderValue, xr as isCliProvider, yi as resolveEnvApiKey, zi as DEFAULT_MODEL } from "./auth-profiles-Bh2dHooQ.js";
2
+ import { $ as isInboundPathAllowed, $r as resolveRetryConfig, Ar as resolveDefaultModelForAgent, B as loadConfig, Bi as DEFAULT_PROVIDER, Bt as validateJsonSchemaValue, Ci as resolveShellEnvFallbackTimeoutMs, Cr as normalizeModelRef$2, Fn as resolveDiscordPreviewStreamMode, Fr as resolveSubagentSpawnModelSelection, Ft as isPathWithinRoot, Gn as resolveAgentMaxConcurrent, Gt as unsetConfigOverride, H as readConfigFileSnapshot, Ht as getConfigOverrides, In as resolveSlackNativeStreaming, Ir as resolveThinkingDefault, It as isSupportedLocalAvatarExtension, Jn as resolveOwnerDisplaySetting, Jt as setConfigValueAtPath, K as writeConfigFile, Kt as getConfigValueAtPath, Li as splitTrailingAuthProfile, Ln as resolveSlackStreamingMode, Mr as resolveModelRefFromString, Mt as isAvatarDataUrl, Nr as resolveReasoningDefault, Nt as isAvatarHttpUrl, On as applyMergePatch, Pi as normalizeSecretInput, Pn as mapStreamingModeToSlackLegacyDraftStreamMode, Qn as markAuthProfileGood, Ri as DEFAULT_CONTEXT_TOKENS, Si as getShellPathFromLoginShell, Sr as modelKey, Tr as normalizeProviderId, Ut as resetConfigOverrides, Vi as resolveAuthProfileDisplayLabel, W as resolveConfigSnapshotHash, Wn as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, Wt as setConfigOverride, X as normalizeTelegramCommandName, Xn as dedupeProfileIds, Y as TELEGRAM_COMMAND_NAME_PATTERN, Yt as unsetConfigValueAtPath, Z as resolveTelegramCustomCommands, Zn as listProfilesForProvider, _i as resolveApiKeyForProvider, _r as buildModelAliasIndex, a as getSoonestCooldownExpiry, bi as resolveModelAuthMode, c as markAuthProfileUsed, ci as OLLAMA_NATIVE_BASE_URL, d as resolveApiKeyForProfile, di as buildAssistantMessageWithZeroUsage, dr as withFileLock, ei as retryAsync, f as evaluateStoredCredentialEligibility, fi as buildStreamErrorAssistantMessage, gi as requireApiKey, gr as buildConfiguredAllowlistKeys, hi as getCustomProviderApiKey, hr as buildAllowedModelSet, i as clearExpiredCooldowns, it as parseNonNegativeByteSize, jt as AVATAR_MAX_BYTES, kr as resolveConfiguredModelRef, li as createOllamaStreamFn, lr as resolveAuthStorePathForDisplay, mi as getApiKeyForModel, mt as parseDurationMs, nt as resolveIMessageRemoteAttachmentRoots, o as isProfileInCooldown, p as resolveTokenExpiryState, pi as buildUsageWithNoCost, q as validateConfigObjectWithPlugins, qt as parseConfigPath, r as resolveAuthProfileOrder, rn as buildEnforcedShellCommand, rr as ensureAuthProfileStore, rt as normalizeScpRemoteHost, s as markAuthProfileFailure, tt as resolveIMessageAttachmentRoots, u as resolveProfilesUnavailableReason, ui as buildAssistantMessage, ur as resolveOpenClawAgentDir, vr as findNormalizedProviderValue, xr as isCliProvider, yi as resolveEnvApiKey, zi as DEFAULT_MODEL } from "./auth-profiles-QXvcpjIT.js";
3
3
  import { t as formatCliCommand } from "./command-format-DdHwx_z_.js";
4
- 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-CT92dyCK.js";
4
+ 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-Dd2_TNoB.js";
5
5
  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-9-yI-GU_.js";
6
6
  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-DanSccFf.js";
7
- import { a as openBoundaryFileSync, h as normalizeWindowsPathForComparison, i as openBoundaryFile, t as resolveOpenClawPackageRoot } from "./openclaw-root-Dh_Sm1l8.js";
7
+ import { a as openBoundaryFileSync, h as normalizeWindowsPathForComparison, i as openBoundaryFile, t as resolveOpenClawPackageRoot } from "./openclaw-root-Gv7Ob-5V.js";
8
8
  import { i as logWarn, n as logError, r as logInfo, t as logDebug } from "./logger-BcqRk323.js";
9
9
  import { n as runExec, r as spawnWithFallback, t as runCommandWithTimeout } from "./exec-OWC_Lkz4.js";
10
10
  import { c as normalizeResolvedSecretInputString, i as coerceSecretRef } from "./types.secrets-CZ26uLlg.js";
@@ -12,102 +12,102 @@ import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-DHT
12
12
  import { n as isDangerousHostEnvVarName } from "./host-env-security-CIiLt2Mi.js";
13
13
  import { t as VERSION } from "./version-BKzmSBiX.js";
14
14
  import { D as registerContextEngine, E as triggerInternalHook, O as resolveContextEngine, S as matchPluginCommand, _ as normalizePluginHttpPath, b as getPluginCommandSpecs, c as normalizeChannelId$1, d as getActivePluginRegistryKey, g as createPluginRegistry, 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-CZbmSOj8.js";
15
- 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-DjjgwuVC.js";
16
- 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-tPqNmtNL.js";
15
+ 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-C_atL4ID.js";
16
+ 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-wtxEAACu.js";
17
17
  import { t as runTasksWithConcurrency } from "./run-with-concurrency-BA7Bd9Uj.js";
18
18
  import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-BAST85mP.js";
19
19
  import { a as stripSilentToken, i as isSilentReplyText, n as SILENT_REPLY_TOKEN, r as isSilentReplyPrefixText, t as HEARTBEAT_TOKEN } from "./tokens-Df74FoY2.js";
20
- import { b as resolveAccountEntry, c as getWebAuthAgeMs, i as resolveWhatsAppAccount, l as logWebSelfId, m as readWebSelfId, u as logoutWeb, v as webAuthExists } from "./accounts-DDk7Alkl.js";
21
- import { A as resolveSlackBotToken, D as resolveSlackAccount, F as listEnabledDiscordAccounts, L as resolveDiscordAccount, M as inspectDiscordAccount, N as createDiscordActionGate, O as resolveSlackReplyToMode, R as normalizeDiscordToken, S as listAcpBindings, a as isWhatsAppGroupJid, c as createTelegramActionGate, f as resolveTelegramAccount, j as normalizeChatType, k as resolveSlackAppToken, l as listEnabledTelegramAccounts, m as resolveTelegramToken, n as listChannelPlugins, o as normalizeWhatsAppTarget, p as resolveTelegramPollActionGateState, r as normalizeChannelId$2, t as getChannelPlugin, u as listTelegramAccountIds, v as buildChannelAccountBindings, y as listBindings } from "./plugins-BB30X9Wg.js";
22
- 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-DsIy0owU.js";
23
- 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-CHUBkOx4.js";
24
- import { a as getMachineDisplayName, i as startBrowserControlServiceFromConfig, n as createBrowserRouteDispatcher, r as createBrowserControlContext, t as withTimeout$4 } from "./with-timeout-xWhqcPuu.js";
20
+ import { b as resolveAccountEntry, c as getWebAuthAgeMs, i as resolveWhatsAppAccount, l as logWebSelfId, m as readWebSelfId, u as logoutWeb, v as webAuthExists } from "./accounts-CGMgxUfN.js";
21
+ import { A as resolveSlackBotToken, D as resolveSlackAccount, F as listEnabledDiscordAccounts, L as resolveDiscordAccount, M as inspectDiscordAccount, N as createDiscordActionGate, O as resolveSlackReplyToMode, R as normalizeDiscordToken, S as listAcpBindings, a as isWhatsAppGroupJid, c as createTelegramActionGate, f as resolveTelegramAccount, j as normalizeChatType, k as resolveSlackAppToken, l as listEnabledTelegramAccounts, m as resolveTelegramToken, n as listChannelPlugins, o as normalizeWhatsAppTarget, p as resolveTelegramPollActionGateState, r as normalizeChannelId$2, t as getChannelPlugin, u as listTelegramAccountIds, v as buildChannelAccountBindings, y as listBindings } from "./plugins-Bv9ZfJVO.js";
22
+ 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-DExcQWAf.js";
23
+ 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-Don_FZgW.js";
24
+ import { a as getMachineDisplayName, i as startBrowserControlServiceFromConfig, n as createBrowserRouteDispatcher, r as createBrowserControlContext, t as withTimeout$4 } from "./with-timeout-gotbjCau.js";
25
25
  import { n as generateSecureUuid, t as generateSecureToken } from "./secure-random-D2mQUJdh.js";
26
- import { A as initializeGlobalHookRunner, C as resolveReplyToMode, D as parseReplyDirectives, E as normalizeTargetForProvider, M as joinPresentTextSegments, O as splitMediaFromOutput, S as createReplyToModeFilterForChannel, T as normalizeChannelTargetInput, _ as filterMessagingToolDuplicates, a as normalizeOutboundPayloadsForJson, b as shouldSuppressMessagingToolReplies, c as deriveInboundMessageHookContext, d as toInternalMessageTranscribedContext, f as toPluginMessageContext, g as applyReplyThreading, h as applyReplyTagsToPayload, i as normalizeOutboundPayloads, k as getGlobalHookRunner, l as toInternalMessagePreprocessedContext, m as fireAndForgetHook, o as normalizeReplyPayloadsForDelivery, p as toPluginMessageReceivedEvent, r as formatOutboundPayloadLog, s as throwIfAborted, t as deliverOutboundPayloads, u as toInternalMessageReceivedContext, v as filterMessagingToolMediaDuplicates, w as buildTargetResolverSignature, x as shouldSuppressReasoningPayload, y as isRenderablePayload } from "./deliver-754C3f2C.js";
27
- import { a as logMessageQueued, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, h as isDiagnosticsEnabled, i as logMessageProcessed, l as logWebhookProcessed, m as emitDiagnosticEvent, n as logLaneDequeue, o as logSessionStateChange, p as getDiagnosticSessionState, r as logLaneEnqueue, t as diag, u as logWebhookReceived } from "./diagnostic-D0TftuxK.js";
28
- import { i as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-BAXPpGUT.js";
26
+ import { A as initializeGlobalHookRunner, C as resolveReplyToMode, D as parseReplyDirectives, E as normalizeTargetForProvider, M as joinPresentTextSegments, O as splitMediaFromOutput, S as createReplyToModeFilterForChannel, T as normalizeChannelTargetInput, _ as filterMessagingToolDuplicates, a as normalizeOutboundPayloadsForJson, b as shouldSuppressMessagingToolReplies, c as deriveInboundMessageHookContext, d as toInternalMessageTranscribedContext, f as toPluginMessageContext, g as applyReplyThreading, h as applyReplyTagsToPayload, i as normalizeOutboundPayloads, k as getGlobalHookRunner, l as toInternalMessagePreprocessedContext, m as fireAndForgetHook, o as normalizeReplyPayloadsForDelivery, p as toPluginMessageReceivedEvent, r as formatOutboundPayloadLog, s as throwIfAborted, t as deliverOutboundPayloads, u as toInternalMessageReceivedContext, v as filterMessagingToolMediaDuplicates, w as buildTargetResolverSignature, x as shouldSuppressReasoningPayload, y as isRenderablePayload } from "./deliver-BSlI6o2D.js";
27
+ import { a as logMessageQueued, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, h as isDiagnosticsEnabled, i as logMessageProcessed, l as logWebhookProcessed, m as emitDiagnosticEvent, n as logLaneDequeue, o as logSessionStateChange, p as getDiagnosticSessionState, r as logLaneEnqueue, t as diag, u as logWebhookReceived } from "./diagnostic-CFCd8W0m.js";
28
+ import { i as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-B_Mf6Ybe.js";
29
29
  import { i as resolveTelegramTargetChatType, r as parseTelegramTarget } from "./targets-D-kZubtF.js";
30
- 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, r as convertHeicToJpeg, s as resizeToJpeg, v as mediaKindFromMime } from "./image-ops-Dt4M7xkd.js";
31
- 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-D0TbCIOU.js";
32
- import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-BJyAkuau.js";
30
+ 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, r as convertHeicToJpeg, s as resizeToJpeg, v as mediaKindFromMime } from "./image-ops-sooGTpsU.js";
31
+ 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-DgUi3bl8.js";
32
+ import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-qGBDJI9t.js";
33
33
  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-6rkF5KkO.js";
34
- import { A as isRawApiErrorPayload, B as resolveBootstrapTotalMaxChars, C as isCloudCodeAssistFormatError, D as isFailoverErrorMessage, E as isFailoverAssistantError, F as isTimeoutErrorMessage, I as buildBootstrapContextFiles, L as ensureSessionHeader, M as parseImageDimensionError, N as parseImageSizeError, O as isLikelyContextOverflowError, P as sanitizeUserFacingText, R as resolveBootstrapMaxChars, S as isBillingAssistantError, T as isContextOverflowError, V as sanitizeGoogleTurnOrdering, _ as formatAssistantErrorText, a as isMessagingToolDuplicateNormalized, b as getApiErrorPayloadFingerprint, c as extractToolCallsFromAssistant, d as downgradeOpenAIFunctionCallReasoningPairs, f as downgradeOpenAIReasoningBlocks, g as classifyFailoverReasonFromHttpStatus, h as classifyFailoverReason, j as isTransientHttpError, k as isRateLimitAssistantError, 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 formatBillingErrorMessage, w as isCompactionFailureError, x as isAuthAssistantError, y as formatRawAssistantErrorForUi, z as resolveBootstrapPromptTruncationWarningMode } from "./pi-embedded-helpers-C1kbyX9C.js";
35
- 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-QUwr5BiV.js";
36
- import { j as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-8g2ppizL.js";
37
- import { i as isLoopbackHost } from "./ws-DUfuK8DQ.js";
34
+ import { A as isRawApiErrorPayload, B as resolveBootstrapTotalMaxChars, C as isCloudCodeAssistFormatError, D as isFailoverErrorMessage, E as isFailoverAssistantError, F as isTimeoutErrorMessage, I as buildBootstrapContextFiles, L as ensureSessionHeader, M as parseImageDimensionError, N as parseImageSizeError, O as isLikelyContextOverflowError, P as sanitizeUserFacingText, R as resolveBootstrapMaxChars, S as isBillingAssistantError, T as isContextOverflowError, V as sanitizeGoogleTurnOrdering, _ as formatAssistantErrorText, a as isMessagingToolDuplicateNormalized, b as getApiErrorPayloadFingerprint, c as extractToolCallsFromAssistant, d as downgradeOpenAIFunctionCallReasoningPairs, f as downgradeOpenAIReasoningBlocks, g as classifyFailoverReasonFromHttpStatus, h as classifyFailoverReason, j as isTransientHttpError, k as isRateLimitAssistantError, 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 formatBillingErrorMessage, w as isCompactionFailureError, x as isAuthAssistantError, y as formatRawAssistantErrorForUi, z as resolveBootstrapPromptTruncationWarningMode } from "./pi-embedded-helpers-BUubsAcJ.js";
35
+ 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-Ey0spRTA.js";
36
+ import { j as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-CjADilJt.js";
37
+ import { i as isLoopbackHost } from "./ws-DrZBk8aE.js";
38
38
  import { i as trimToUndefined, n as resolveGatewayCredentialsFromConfig } from "./credentials-BN-3xksd.js";
39
- import { c as resolveBrowserControlAuth, i as resolveBrowserConfig } from "./server-context-BOMErxlB.js";
39
+ import { c as resolveBrowserControlAuth, i as resolveBrowserConfig } from "./server-context-DDDYJ1E5.js";
40
40
  import { n as applySkillEnvOverridesFromSnapshot, t as applySkillEnvOverrides } from "./env-overrides-DliONB2B.js";
41
- import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-OAUIyvyc.js";
42
- import { a as resolveSkillsPromptForRun, d as resolveSandboxInputPath, i as loadWorkspaceSkillEntries, l as assertMediaNotDataUrl, p as resolveSandboxedMediaSource, r as buildWorkspaceSkillSnapshot, u as assertSandboxPath } from "./skills-Bme_5_Wh.js";
43
- import { i as resolveExistingPathsWithinRoot, r as DEFAULT_UPLOAD_DIR } from "./paths-C6-x9jb-.js";
41
+ import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-BndjEKU2.js";
42
+ import { a as resolveSkillsPromptForRun, d as resolveSandboxInputPath, i as loadWorkspaceSkillEntries, l as assertMediaNotDataUrl, p as resolveSandboxedMediaSource, r as buildWorkspaceSkillSnapshot, u as assertSandboxPath } from "./skills-C3DzmT-s.js";
43
+ import { i as resolveExistingPathsWithinRoot, r as DEFAULT_UPLOAD_DIR } from "./paths-B-3rcnCY.js";
44
44
  import { a as testRegexWithBoundedInput, i as compileSafeRegex, n as redactSensitiveText } from "./redact-BCIqtHJW.js";
45
45
  import { i as formatUncaughtError, r as formatErrorMessage, s as readErrorName } from "./errors-DMBofubI.js";
46
- import { i as openFileWithinRoot, l as writeFileWithinRoot, n as copyFileWithinRoot, o as readFileWithinRoot, r as createRootScopedReadFile, t as SafeOpenError } from "./fs-safe-CgWykA_r.js";
47
- import { a as isBlockedHostnameOrIp, c as normalizeHostname, n as SsrFBlockedError } from "./proxy-env-CHINy-_C.js";
48
- import { a as saveMediaBuffer, i as getMediaDir, t as MEDIA_MAX_BYTES } from "./store-dO9FxwIh.js";
49
- import { i as resolveLsofCommandSync } from "./ports-CRHQM_CU.js";
50
- import { r as writeJsonAtomic } from "./json-files-Byf92VOl.js";
51
- import { $ as resolveExplicitAgentSessionKey, B as jsonUtf8Bytes, C as mergeDeliveryContext, E as normalizeAccountId$3, G as resolveSessionResetType, H as evaluateSessionFreshness, J as mergeSessionEntry, K as resolveThreadFlag, L as parseInlineDirectives$1, O as archiveSessionTranscripts, S as deliveryContextKey, T as normalizeSessionDeliveryFields, U as resolveChannelResetConfig, V as resolveSessionKey, W as resolveSessionResetPolicy, X as setSessionRuntimeModel, Y as resolveFreshSessionTotalTokens, a as resolveAndPersistSessionFile, b as resolveCacheTtlMs$1, c as readSessionUpdatedAt, ct as resolveGroupSessionKey, dt as resolveSessionLockMaxHoldFromTimeout, et as resolveMainSessionKey, f as updateLastRoute, it as resolveConversationLabel, k as capArrayByJsonBytes, l as recordSessionMetaFromInbound, lt as acquireSessionWriteLock, m as updateSessionStoreEntry, n as parseSessionThreadInfo, nt as deriveSessionMetaPatch, p as updateSessionStore, q as DEFAULT_RESET_TRIGGERS, r as appendAssistantMessageToSessionTranscript, s as loadSessionStore, t as extractDeliveryInfo, u as resolveSessionStoreEntry, w as normalizeDeliveryContext, x as deliveryContextFromSession, y as isCacheEnabled } from "./sessions-TCNQfcSW.js";
52
- import { r as resolveIMessageAccount } from "./accounts-DIGnwOCI.js";
46
+ import { i as openFileWithinRoot, l as writeFileWithinRoot, n as copyFileWithinRoot, o as readFileWithinRoot, r as createRootScopedReadFile, t as SafeOpenError } from "./fs-safe-DZPN9PEp.js";
47
+ import { a as isBlockedHostnameOrIp, c as normalizeHostname, n as SsrFBlockedError } from "./proxy-env-C4Sv8mbU.js";
48
+ import { a as saveMediaBuffer, i as getMediaDir, t as MEDIA_MAX_BYTES } from "./store-BxDf7hdp.js";
49
+ import { i as resolveLsofCommandSync } from "./ports-JXKx9QTu.js";
50
+ import { r as writeJsonAtomic } from "./json-files-D-hzuOc8.js";
51
+ import { $ as resolveExplicitAgentSessionKey, B as jsonUtf8Bytes, C as mergeDeliveryContext, E as normalizeAccountId$3, G as resolveSessionResetType, H as evaluateSessionFreshness, J as mergeSessionEntry, K as resolveThreadFlag, L as parseInlineDirectives$1, O as archiveSessionTranscripts, S as deliveryContextKey, T as normalizeSessionDeliveryFields, U as resolveChannelResetConfig, V as resolveSessionKey, W as resolveSessionResetPolicy, X as setSessionRuntimeModel, Y as resolveFreshSessionTotalTokens, a as resolveAndPersistSessionFile, b as resolveCacheTtlMs$1, c as readSessionUpdatedAt, ct as resolveGroupSessionKey, dt as resolveSessionLockMaxHoldFromTimeout, et as resolveMainSessionKey, f as updateLastRoute, it as resolveConversationLabel, k as capArrayByJsonBytes, l as recordSessionMetaFromInbound, lt as acquireSessionWriteLock, m as updateSessionStoreEntry, n as parseSessionThreadInfo, nt as deriveSessionMetaPatch, p as updateSessionStore, q as DEFAULT_RESET_TRIGGERS, r as appendAssistantMessageToSessionTranscript, s as loadSessionStore, t as extractDeliveryInfo, u as resolveSessionStoreEntry, w as normalizeDeliveryContext, x as deliveryContextFromSession, y as isCacheEnabled } from "./sessions-BJu8U8kz.js";
52
+ import { r as resolveIMessageAccount } from "./accounts-NKTm9o4M.js";
53
53
  import { c as resolveStorePath, i as resolveSessionTranscriptPath, n as resolveSessionFilePath, r as resolveSessionFilePathOptions, t as resolveDefaultSessionStorePath } from "./paths-CA9zLiBI.js";
54
54
  import { i as normalizeInputProvenance, n as applyInputProvenanceToUserMessage, r as hasInterSessionUserProvenance } from "./input-provenance-CFnw8yhY.js";
55
55
  import { n as onSessionTranscriptUpdate, t as emitSessionTranscriptUpdate } from "./transcript-events-DRc5u0dS.js";
56
- import { a as canonicalizeBase64, i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, o as estimateBase64DecodedBytes, r as sanitizeToolResultImages } from "./tool-images-C1FdHV43.js";
56
+ import { a as canonicalizeBase64, i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, o as estimateBase64DecodedBytes, r as sanitizeToolResultImages } from "./tool-images-ByGbgP3W.js";
57
57
  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-Bkhiq_gH.js";
58
58
  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-lACqGwUz.js";
59
- import { t as ensureOpenClawModelsJson } from "./models-config-Do_bkbr3.js";
60
- import { n as evaluateShellAllowlist, r as resolveAllowAlwaysPatterns } from "./exec-approvals-allowlist-BKsPjl3W.js";
61
- import { n as resolveExecSafeBinRuntimePolicy, r as resolveMergedSafeBinProfileFixtures } from "./exec-safe-bin-runtime-policy-Cm7TKqpY.js";
62
- import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-CyL_QlZd.js";
63
- import { a as getDefaultMediaLocalRoots, i as getAgentScopedMediaLocalRoots, n as fetchRemoteMedia, r as readResponseWithLimit, t as MediaFetchError } from "./fetch-OsQusEch.js";
64
- 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-Cdvz7bpD.js";
59
+ import { t as ensureOpenClawModelsJson } from "./models-config-ioRkhhh4.js";
60
+ import { n as evaluateShellAllowlist, r as resolveAllowAlwaysPatterns } from "./exec-approvals-allowlist-BTePmA7R.js";
61
+ import { n as resolveExecSafeBinRuntimePolicy, r as resolveMergedSafeBinProfileFixtures } from "./exec-safe-bin-runtime-policy-B8a4-DkO.js";
62
+ import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-Crm5h6fz.js";
63
+ import { a as getDefaultMediaLocalRoots, i as getAgentScopedMediaLocalRoots, n as fetchRemoteMedia, r as readResponseWithLimit, t as MediaFetchError } from "./fetch-CLpizcRC.js";
64
+ 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-Cl9Pu_e3.js";
65
65
  import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-BhdrdVp5.js";
66
- import { n as withStrictGuardedFetchMode, r as withTrustedEnvProxyGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-CYvHLcm1.js";
67
- 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-gKRn4k2T.js";
66
+ import { n as withStrictGuardedFetchMode, r as withTrustedEnvProxyGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-CTJIkmOy.js";
67
+ 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-C-OScNLH.js";
68
68
  import { n as formatToolSummary, r as resolveToolDisplay } from "./tool-display-C82F9dil.js";
69
69
  import { t as makeProxyFetch } from "./proxy-fetch-D5sLhh0l.js";
70
- 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-DTl0TSQX.js";
71
- 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-018oJFiB.js";
72
- import { a as resolveNativeSkillsEnabled, i as resolveNativeCommandsEnabled, n as isNativeCommandsExplicitlyDisabled, r as isRestartEnabled, t as isCommandFlagEnabled } from "./commands-DP7Bcuo2.js";
73
- 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-B5lrLxcS.js";
70
+ 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-MJchm-P0.js";
71
+ 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-N10oAD8K.js";
72
+ import { a as resolveNativeSkillsEnabled, i as resolveNativeCommandsEnabled, n as isNativeCommandsExplicitlyDisabled, r as isRestartEnabled, t as isCommandFlagEnabled } from "./commands-C-YxTe08.js";
73
+ 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-WI8KXlO7.js";
74
74
  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-cBObXwSm.js";
75
- import { a as loadCombinedSessionStoreForGateway, d as resolveContextTokensForModel, f as computeBackoff, p as sleepWithAbort, u as lookupContextTokens } from "./session-utils-HmD-1G9e.js";
75
+ import { a as loadCombinedSessionStoreForGateway, d as resolveContextTokensForModel, f as computeBackoff, p as sleepWithAbort, u as lookupContextTokens } from "./session-utils-DqcL4tRB.js";
76
76
  import { i as redactIdentifier, t as getActiveWebListener } from "./active-listener-CyW11kvQ.js";
77
- import { v as extractKeywords, y as isQueryStopWordToken } from "./sqlite-CVpjz_Fn.js";
78
- import { Rt as SESSION_LABEL_MAX_LENGTH, t as GatewayClient } from "./client-IQ7AZ1A-.js";
79
- import { a as randomIdempotencyKey, f as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege, t as buildGatewayConnectionDetails } from "./call-Bl8osGeS.js";
77
+ import { v as extractKeywords, y as isQueryStopWordToken } from "./sqlite-B6J7wlgb.js";
78
+ import { Rt as SESSION_LABEL_MAX_LENGTH, t as GatewayClient } from "./client-DaFloLVI.js";
79
+ import { a as randomIdempotencyKey, f as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege, t as buildGatewayConnectionDetails } from "./call-B56A9tyz.js";
80
80
  import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-CT-djTs1.js";
81
81
  import { n as formatTimeAgo } from "./format-relative-DX-rh76l.js";
82
- 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-gcbFdvn2.js";
82
+ 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-BsYNiJyH.js";
83
83
  import { c as normalizeExecAsk$1, f as recordAllowlistUse, h as resolveExecApprovalsFromFile, i as maxAsk, l as normalizeExecHost$1, m as resolveExecApprovals, n as addAllowlistEntry, o as minSecurity, p as requiresExecApproval, u as normalizeExecSecurity$1 } from "./exec-approvals-C9sQPnw_.js";
84
- 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-gvENU0qT.js";
84
+ 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-B7eOQ14A.js";
85
85
  import { t as killProcessTree$1 } from "./kill-tree-McPm1yru.js";
86
86
  import { i as parsePairingList, n as resolveNodeIdFromNodeList, r as parseNodeList, t as resolveNodeFromNodeList } from "./node-resolve-CHb9ITHo.js";
87
87
  import { i as formatDurationSeconds, r as formatDurationPrecise, t as formatDurationCompact$1 } from "./format-duration-CezeS0x4.js";
88
88
  import { i as resolveModelCostConfig, n as formatTokenCount$2, r as formatUsd, t as estimateUsageCost } from "./usage-format-EdDmn0JB.js";
89
- 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-BvomqRJm.js";
90
- import { _ as hasResolvedCredentialValue, a as resolveSubagentToolPolicy, c as readStoreAllowFromForDmPolicy, d as resolveDmGroupAccessWithLists, f as resolvePinnedMainDmOwnerFromAllowlist, g as hasConfiguredUnavailableCredentialStatus, h as inspectReadOnlyChannelAccount, i as resolveGroupToolPolicy, m as resolveControlCommandGate, n as isToolAllowedByPolicies, p as resolveCommandAuthorizedFromAuthorizers, r as resolveEffectiveToolPolicy, s as DM_GROUP_ACCESS_REASON, t as filterToolsByPolicy, v as projectSafeChannelAccountSnapshotFields } from "./pi-tools.policy-dFXahmgF.js";
91
- import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-DFfVKdMC.js";
89
+ 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-C7_32HvU.js";
90
+ import { _ as hasResolvedCredentialValue, a as resolveSubagentToolPolicy, c as readStoreAllowFromForDmPolicy, d as resolveDmGroupAccessWithLists, f as resolvePinnedMainDmOwnerFromAllowlist, g as hasConfiguredUnavailableCredentialStatus, h as inspectReadOnlyChannelAccount, i as resolveGroupToolPolicy, m as resolveControlCommandGate, n as isToolAllowedByPolicies, p as resolveCommandAuthorizedFromAuthorizers, r as resolveEffectiveToolPolicy, s as DM_GROUP_ACCESS_REASON, t as filterToolsByPolicy, v as projectSafeChannelAccountSnapshotFields } from "./pi-tools.policy-CSPrerKx.js";
91
+ import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-ClJu0F_1.js";
92
92
  import { t as buildOutboundMediaLoadOptions } from "./load-options-BgtwR0C2.js";
93
93
  import { n as normalizePollInput, r as resolvePollMaxSelections } from "./polls-CPccP3Bz.js";
94
- import { t as convertMarkdownTables } from "./tables-Ckhi6C4h.js";
94
+ import { t as convertMarkdownTables } from "./tables-DVqUjPRa.js";
95
95
  import { m as resolveGatewayWindowsTaskName, p as resolveGatewaySystemdServiceName, u as resolveGatewayLaunchAgentLabel } from "./arg-split-BCMOiDRb.js";
96
96
  import { n as quoteCmdScriptArg } from "./cmd-argv-BNR5GT6J.js";
97
97
  import { i as parseAbsoluteTimeMs, r as resolveDefaultCronStaggerMs, t as normalizeCronStaggerMs } from "./stagger-CiDn7D2Z.js";
98
- import { n as resolveMessageChannelSelection, t as listConfiguredMessageChannels } from "./channel-selection-TEB-oKFB.js";
99
- import { t as applyPluginAutoEnable } from "./plugin-auto-enable-CPLdiF-6.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-DR8brNFF.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-BRb_0Ibb.js";
98
+ import { n as resolveMessageChannelSelection, t as listConfiguredMessageChannels } from "./channel-selection-DHlVN8Pr.js";
99
+ import { t as applyPluginAutoEnable } from "./plugin-auto-enable-BAHkcVP4.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-Cms8uhN1.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-Dlp3HAiX.js";
102
102
  import { n as isSenderIdAllowed, r as mergeDmAllowFromSources, t as firstDefined$1 } from "./allow-from-D5r7UcQr.js";
103
103
  import { t as parseTimeoutMs } from "./parse-timeout-BS3EWcf6.js";
104
104
  import { a as runDiscordTaskWithTimeout, i as normalizeDiscordListenerTimeoutMs, r as normalizeDiscordInboundWorkerTimeoutMs } from "./timeouts-DEnpCqGd.js";
105
105
  import { n as isDangerousNameMatchingEnabled } from "./dangerous-name-matching-PRkNIyQj.js";
106
- import { s as resolveCommandSecretRefsViaGateway, t as getAgentRuntimeCommandSecretTargetIds } from "./command-secret-targets-B1PuKXnU.js";
107
- import { r as detectBinary } from "./onboard-helpers-BqSYoJSO.js";
108
- import { t as resolvePairingIdLabel } from "./pairing-labels-c6cTWTzi.js";
109
- import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-CXFqQMtN.js";
110
- import { i as resolveMemorySearchConfig } from "./manager-DyZ-LIQS.js";
106
+ import { s as resolveCommandSecretRefsViaGateway, t as getAgentRuntimeCommandSecretTargetIds } from "./command-secret-targets-CsIlET0p.js";
107
+ import { r as detectBinary } from "./onboard-helpers-BJ2MHcp9.js";
108
+ import { t as resolvePairingIdLabel } from "./pairing-labels-DvrRVH1N.js";
109
+ import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-DjSgQlDO.js";
110
+ import { i as resolveMemorySearchConfig } from "./manager-Mu3eMmUj.js";
111
111
  import { createRequire } from "node:module";
112
112
  import { execFileSync, spawn, spawnSync } from "node:child_process";
113
113
  import { fileURLToPath } from "node:url";
@@ -116,7 +116,7 @@ import path, { isAbsolute } from "node:path";
116
116
  import fs, { existsSync, mkdirSync, mkdtempSync, promises, readFileSync, renameSync, rmSync, statSync, unlinkSync, writeFileSync } from "node:fs";
117
117
  import JSON5 from "json5";
118
118
  import { inspect } from "node:util";
119
- import fs$1, { appendFile, mkdir } from "node:fs/promises";
119
+ import fsPromises, { appendFile, mkdir } from "node:fs/promises";
120
120
  import { complete, completeSimple, createAssistantMessageEventStream, streamSimple } from "@mariozechner/pi-ai";
121
121
  import crypto, { createHash, createHmac, randomBytes, randomUUID } from "node:crypto";
122
122
  import { CURRENT_SESSION_VERSION, DefaultResourceLoader, SessionManager, SettingsManager, codingTools, createAgentSession, createEditTool, createReadTool, createWriteTool, estimateTokens, generateSummary, readTool } from "@mariozechner/pi-coding-agent";
@@ -348,7 +348,7 @@ var LegacyContextEngine = class {
348
348
  }
349
349
  async afterTurn(_params) {}
350
350
  async compact(params) {
351
- const { compactEmbeddedPiSessionDirect } = await import("./compact.runtime-Cs7M1NjN.js");
351
+ const { compactEmbeddedPiSessionDirect } = await import("./compact.runtime-DDxAzGC2.js");
352
352
  const lp = params.legacyParams ?? {};
353
353
  const result = await compactEmbeddedPiSessionDirect({
354
354
  ...lp,
@@ -5230,7 +5230,7 @@ async function resolveAgentSessionDirs(stateDir) {
5230
5230
  const agentsDir = path.join(stateDir, "agents");
5231
5231
  let entries = [];
5232
5232
  try {
5233
- entries = await fs$1.readdir(agentsDir, { withFileTypes: true });
5233
+ entries = await fsPromises.readdir(agentsDir, { withFileTypes: true });
5234
5234
  } catch (err) {
5235
5235
  if (err.code === "ENOENT") return [];
5236
5236
  throw err;
@@ -8672,12 +8672,12 @@ function getQueuedFileWriter(writers, filePath) {
8672
8672
  const existing = writers.get(filePath);
8673
8673
  if (existing) return existing;
8674
8674
  const dir = path.dirname(filePath);
8675
- const ready = fs$1.mkdir(dir, { recursive: true }).catch(() => void 0);
8675
+ const ready = fsPromises.mkdir(dir, { recursive: true }).catch(() => void 0);
8676
8676
  let queue = Promise.resolve();
8677
8677
  const writer = {
8678
8678
  filePath,
8679
8679
  write: (line) => {
8680
- queue = queue.then(() => ready).then(() => fs$1.appendFile(filePath, line, "utf8")).catch(() => void 0);
8680
+ queue = queue.then(() => ready).then(() => fsPromises.appendFile(filePath, line, "utf8")).catch(() => void 0);
8681
8681
  }
8682
8682
  };
8683
8683
  writers.set(filePath, writer);
@@ -11003,7 +11003,7 @@ const LOOP_WARNING_BUCKET_SIZE = 10;
11003
11003
  const MAX_LOOP_WARNING_KEYS = 256;
11004
11004
  let beforeToolCallRuntimePromise = null;
11005
11005
  function loadBeforeToolCallRuntime() {
11006
- beforeToolCallRuntimePromise ??= import("./pi-tools.before-tool-call.runtime-LDkkLRSe.js");
11006
+ beforeToolCallRuntimePromise ??= import("./pi-tools.before-tool-call.runtime-CDfXf9XL.js");
11007
11007
  return beforeToolCallRuntimePromise;
11008
11008
  }
11009
11009
  function buildAdjustedParamsKey(params) {
@@ -12318,7 +12318,7 @@ async function repairSessionFileIfNeeded(params) {
12318
12318
  };
12319
12319
  let content;
12320
12320
  try {
12321
- content = await fs$1.readFile(sessionFile, "utf-8");
12321
+ content = await fsPromises.readFile(sessionFile, "utf-8");
12322
12322
  } catch (err) {
12323
12323
  if (err?.code === "ENOENT") return {
12324
12324
  repaired: false,
@@ -12366,15 +12366,15 @@ async function repairSessionFileIfNeeded(params) {
12366
12366
  const backupPath = `${sessionFile}.bak-${process.pid}-${Date.now()}`;
12367
12367
  const tmpPath = `${sessionFile}.repair-${process.pid}-${Date.now()}.tmp`;
12368
12368
  try {
12369
- const stat = await fs$1.stat(sessionFile).catch(() => null);
12370
- await fs$1.writeFile(backupPath, content, "utf-8");
12371
- if (stat) await fs$1.chmod(backupPath, stat.mode);
12372
- await fs$1.writeFile(tmpPath, cleaned, "utf-8");
12373
- if (stat) await fs$1.chmod(tmpPath, stat.mode);
12374
- await fs$1.rename(tmpPath, sessionFile);
12369
+ const stat = await fsPromises.stat(sessionFile).catch(() => null);
12370
+ await fsPromises.writeFile(backupPath, content, "utf-8");
12371
+ if (stat) await fsPromises.chmod(backupPath, stat.mode);
12372
+ await fsPromises.writeFile(tmpPath, cleaned, "utf-8");
12373
+ if (stat) await fsPromises.chmod(tmpPath, stat.mode);
12374
+ await fsPromises.rename(tmpPath, sessionFile);
12375
12375
  } catch (err) {
12376
12376
  try {
12377
- await fs$1.unlink(tmpPath);
12377
+ await fsPromises.unlink(tmpPath);
12378
12378
  } catch (cleanupErr) {
12379
12379
  params.warn?.(`session file repair cleanup failed: ${cleanupErr instanceof Error ? cleanupErr.message : "unknown error"} (${path.basename(tmpPath)})`);
12380
12380
  }
@@ -14668,7 +14668,7 @@ async function prewarmSessionFile(sessionFile) {
14668
14668
  if (!isSessionManagerCacheEnabled()) return;
14669
14669
  if (isSessionManagerCached(sessionFile)) return;
14670
14670
  try {
14671
- const handle = await fs$1.open(sessionFile, "r");
14671
+ const handle = await fsPromises.open(sessionFile, "r");
14672
14672
  try {
14673
14673
  const buffer = Buffer$1.alloc(4096);
14674
14674
  await handle.read(buffer, 0, buffer.length, 0);
@@ -14702,7 +14702,7 @@ async function prepareSessionManagerForRun(params) {
14702
14702
  return;
14703
14703
  }
14704
14704
  if (params.hadSessionFile && header && !hasAssistant) {
14705
- await fs$1.writeFile(params.sessionFile, "", "utf-8");
14705
+ await fsPromises.writeFile(params.sessionFile, "", "utf-8");
14706
14706
  sm.fileEntries = [header];
14707
14707
  sm.byId?.clear?.();
14708
14708
  sm.labelsById?.clear?.();
@@ -16130,7 +16130,7 @@ async function runEmbeddedAttempt(params) {
16130
16130
  const runAbortController = new AbortController();
16131
16131
  ensureGlobalUndiciStreamTimeouts();
16132
16132
  log$15.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"}`);
16133
- await fs$1.mkdir(resolvedWorkspace, { recursive: true });
16133
+ await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
16134
16134
  const sandboxSessionKey = params.sessionKey?.trim() || params.sessionId;
16135
16135
  const sandbox = await resolveSandboxContext({
16136
16136
  config: params.config,
@@ -16138,7 +16138,7 @@ async function runEmbeddedAttempt(params) {
16138
16138
  workspaceDir: resolvedWorkspace
16139
16139
  });
16140
16140
  const effectiveWorkspace = sandbox?.enabled ? sandbox.workspaceAccess === "rw" ? resolvedWorkspace : sandbox.workspaceDir : resolvedWorkspace;
16141
- await fs$1.mkdir(effectiveWorkspace, { recursive: true });
16141
+ await fsPromises.mkdir(effectiveWorkspace, { recursive: true });
16142
16142
  let restoreSkillEnv;
16143
16143
  process.chdir(effectiveWorkspace);
16144
16144
  try {
@@ -16411,7 +16411,7 @@ async function runEmbeddedAttempt(params) {
16411
16411
  sessionFile: params.sessionFile,
16412
16412
  warn: (message) => log$15.warn(message)
16413
16413
  });
16414
- const hadSessionFile = await fs$1.stat(params.sessionFile).then(() => true).catch(() => false);
16414
+ const hadSessionFile = await fsPromises.stat(params.sessionFile).then(() => true).catch(() => false);
16415
16415
  const transcriptPolicy = resolveTranscriptPolicy({
16416
16416
  modelApi: params.model?.api,
16417
16417
  provider: params.provider,
@@ -17689,7 +17689,7 @@ async function runEmbeddedPiAgent(params) {
17689
17689
  const copilotAuthRetry = authRetryPending;
17690
17690
  authRetryPending = false;
17691
17691
  attemptedThinking.add(thinkLevel);
17692
- await fs$1.mkdir(resolvedWorkspace, { recursive: true });
17692
+ await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
17693
17693
  const prompt = provider === "anthropic" ? scrubAnthropicRefusalMagic(params.prompt) : params.prompt;
17694
17694
  const attempt = await runEmbeddedAttempt({
17695
17695
  sessionId: params.sessionId,
@@ -18983,7 +18983,7 @@ function normalizeReplyPayload(payload, opts = {}) {
18983
18983
  */
18984
18984
  let deliverRuntimePromise$2 = null;
18985
18985
  function loadDeliverRuntime$2() {
18986
- deliverRuntimePromise$2 ??= import("./deliver-runtime-BSN3wlW_.js");
18986
+ deliverRuntimePromise$2 ??= import("./deliver-runtime-BjkTIwlL.js");
18987
18987
  return deliverRuntimePromise$2;
18988
18988
  }
18989
18989
  /**
@@ -20271,7 +20271,7 @@ const DEFAULT_SUBAGENT_ANNOUNCE_TIMEOUT_MS = 6e4;
20271
20271
  const MAX_TIMER_SAFE_TIMEOUT_MS = 2147e6;
20272
20272
  let subagentRegistryRuntimePromise = null;
20273
20273
  function loadSubagentRegistryRuntime() {
20274
- subagentRegistryRuntimePromise ??= import("./subagent-registry-runtime-CqAEqqbS.js");
20274
+ subagentRegistryRuntimePromise ??= import("./subagent-registry-runtime-CTIJfGw5.js");
20275
20275
  return subagentRegistryRuntimePromise;
20276
20276
  }
20277
20277
  const DIRECT_ANNOUNCE_TRANSIENT_RETRY_DELAYS_MS = FAST_TEST_MODE ? [
@@ -23928,7 +23928,7 @@ async function runWithConcurrency(tasks, limit) {
23928
23928
  //#region src/media-understanding/echo-transcript.ts
23929
23929
  let deliverRuntimePromise$1 = null;
23930
23930
  function loadDeliverRuntime$1() {
23931
- deliverRuntimePromise$1 ??= import("./deliver-runtime-BSN3wlW_.js");
23931
+ deliverRuntimePromise$1 ??= import("./deliver-runtime-BjkTIwlL.js");
23932
23932
  return deliverRuntimePromise$1;
23933
23933
  }
23934
23934
  const DEFAULT_ECHO_TRANSCRIPT_FORMAT = "📝 \"{transcript}\"";
@@ -29518,7 +29518,7 @@ async function resolveSandboxWorkdir(params) {
29518
29518
  cwd: process.cwd(),
29519
29519
  root: params.sandbox.workspaceDir
29520
29520
  });
29521
- if (!(await fs$1.stat(resolved.resolved)).isDirectory()) throw new Error("workdir is not a directory");
29521
+ if (!(await fsPromises.stat(resolved.resolved)).isDirectory()) throw new Error("workdir is not a directory");
29522
29522
  const relative = resolved.relative ? resolved.relative.split(path.sep).join(path.posix.sep) : "";
29523
29523
  const containerWorkdir = relative ? path.posix.join(params.sandbox.containerWorkdir, relative) : params.sandbox.containerWorkdir;
29524
29524
  return {
@@ -30819,13 +30819,13 @@ async function validateScriptFileForShellBleed(params) {
30819
30819
  cwd: params.workdir,
30820
30820
  root: params.workdir
30821
30821
  });
30822
- stat = await fs$1.stat(absPath);
30822
+ stat = await fsPromises.stat(absPath);
30823
30823
  } catch {
30824
30824
  return;
30825
30825
  }
30826
30826
  if (!stat.isFile()) return;
30827
30827
  if (stat.size > 512 * 1024) return;
30828
- const content = await fs$1.readFile(absPath, "utf-8");
30828
+ const content = await fsPromises.readFile(absPath, "utf-8");
30829
30829
  const first = /\$[A-Z_][A-Z0-9_]{1,}/g.exec(content);
30830
30830
  if (first) {
30831
30831
  const idx = first.index;
@@ -39602,7 +39602,7 @@ async function emitResetCommandHooks(params) {
39602
39602
  try {
39603
39603
  const messages = [];
39604
39604
  if (sessionFile) {
39605
- const content = await fs$1.readFile(sessionFile, "utf-8");
39605
+ const content = await fsPromises.readFile(sessionFile, "utf-8");
39606
39606
  for (const line of content.split("\n")) {
39607
39607
  if (!line.trim()) continue;
39608
39608
  try {
@@ -40494,7 +40494,7 @@ async function createModelSelectionState(params) {
40494
40494
  }
40495
40495
  }
40496
40496
  if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) {
40497
- const { ensureAuthProfileStore } = await import("./auth-profiles-Bh2dHooQ.js").then((n) => n.t);
40497
+ const { ensureAuthProfileStore } = await import("./auth-profiles-QXvcpjIT.js").then((n) => n.t);
40498
40498
  const profile = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[sessionEntry.authProfileOverride];
40499
40499
  const providerKey = normalizeProviderId(provider);
40500
40500
  if (!profile || normalizeProviderId(profile.provider) !== providerKey) await clearSessionAuthProfileOverride({
@@ -44195,7 +44195,7 @@ async function readJsonlFromPath(jsonlPath) {
44195
44195
  if (shouldLogVerbose()) logVerbose(`Blocked canvas jsonlPath outside allowed roots: ${resolved}`);
44196
44196
  throw new Error("jsonlPath outside allowed roots");
44197
44197
  }
44198
- const canonical = await fs$1.realpath(resolved).catch(() => resolved);
44198
+ const canonical = await fsPromises.realpath(resolved).catch(() => resolved);
44199
44199
  if (!isInboundPathAllowed({
44200
44200
  filePath: canonical,
44201
44201
  roots
@@ -44203,7 +44203,7 @@ async function readJsonlFromPath(jsonlPath) {
44203
44203
  if (shouldLogVerbose()) logVerbose(`Blocked canvas jsonlPath outside allowed roots: ${canonical}`);
44204
44204
  throw new Error("jsonlPath outside allowed roots");
44205
44205
  }
44206
- return await fs$1.readFile(canonical, "utf8");
44206
+ return await fsPromises.readFile(canonical, "utf8");
44207
44207
  }
44208
44208
  const CanvasToolSchema = Type.Object({
44209
44209
  action: stringEnum(CANVAS_ACTIONS),
@@ -45021,27 +45021,27 @@ function resolveRestartSentinelPath(env = process.env) {
45021
45021
  }
45022
45022
  async function writeRestartSentinel(payload, env = process.env) {
45023
45023
  const filePath = resolveRestartSentinelPath(env);
45024
- await fs$1.mkdir(path.dirname(filePath), { recursive: true });
45024
+ await fsPromises.mkdir(path.dirname(filePath), { recursive: true });
45025
45025
  const data = {
45026
45026
  version: 1,
45027
45027
  payload
45028
45028
  };
45029
- await fs$1.writeFile(filePath, `${JSON.stringify(data, null, 2)}\n`, "utf-8");
45029
+ await fsPromises.writeFile(filePath, `${JSON.stringify(data, null, 2)}\n`, "utf-8");
45030
45030
  return filePath;
45031
45031
  }
45032
45032
  async function readRestartSentinel(env = process.env) {
45033
45033
  const filePath = resolveRestartSentinelPath(env);
45034
45034
  try {
45035
- const raw = await fs$1.readFile(filePath, "utf-8");
45035
+ const raw = await fsPromises.readFile(filePath, "utf-8");
45036
45036
  let parsed;
45037
45037
  try {
45038
45038
  parsed = JSON.parse(raw);
45039
45039
  } catch {
45040
- await fs$1.unlink(filePath).catch(() => {});
45040
+ await fsPromises.unlink(filePath).catch(() => {});
45041
45041
  return null;
45042
45042
  }
45043
45043
  if (!parsed || parsed.version !== 1 || !parsed.payload) {
45044
- await fs$1.unlink(filePath).catch(() => {});
45044
+ await fsPromises.unlink(filePath).catch(() => {});
45045
45045
  return null;
45046
45046
  }
45047
45047
  return parsed;
@@ -45053,7 +45053,7 @@ async function consumeRestartSentinel(env = process.env) {
45053
45053
  const filePath = resolveRestartSentinelPath(env);
45054
45054
  const parsed = await readRestartSentinel(env);
45055
45055
  if (!parsed) return null;
45056
- await fs$1.unlink(filePath).catch(() => {});
45056
+ await fsPromises.unlink(filePath).catch(() => {});
45057
45057
  return parsed;
45058
45058
  }
45059
45059
  function formatRestartSentinelMessage(payload) {
@@ -55594,18 +55594,18 @@ function appendImagePathsToPrompt(prompt, paths) {
55594
55594
  return `${trimmed}${trimmed ? "\n\n" : ""}${paths.join("\n")}`;
55595
55595
  }
55596
55596
  async function writeCliImages(images) {
55597
- const tempDir = await fs$1.mkdtemp(path.join(os.tmpdir(), "openclaw-cli-images-"));
55597
+ const tempDir = await fsPromises.mkdtemp(path.join(os.tmpdir(), "openclaw-cli-images-"));
55598
55598
  const paths = [];
55599
55599
  for (let i = 0; i < images.length; i += 1) {
55600
55600
  const image = images[i];
55601
55601
  const ext = resolveImageExtension(image.mimeType);
55602
55602
  const filePath = path.join(tempDir, `image-${i + 1}.${ext}`);
55603
55603
  const buffer = Buffer.from(image.data, "base64");
55604
- await fs$1.writeFile(filePath, buffer, { mode: 384 });
55604
+ await fsPromises.writeFile(filePath, buffer, { mode: 384 });
55605
55605
  paths.push(filePath);
55606
55606
  }
55607
55607
  const cleanup = async () => {
55608
- await fs$1.rm(tempDir, {
55608
+ await fsPromises.rm(tempDir, {
55609
55609
  recursive: true,
55610
55610
  force: true
55611
55611
  });
@@ -59056,7 +59056,7 @@ const warnedContexts = /* @__PURE__ */ new Map();
59056
59056
  const log$4 = createSubsystemLogger("session-maintenance-warning");
59057
59057
  let deliverRuntimePromise = null;
59058
59058
  function loadDeliverRuntime() {
59059
- deliverRuntimePromise ??= import("./deliver-runtime-BSN3wlW_.js");
59059
+ deliverRuntimePromise ??= import("./deliver-runtime-BjkTIwlL.js");
59060
59060
  return deliverRuntimePromise;
59061
59061
  }
59062
59062
  function shouldSendWarning() {
@@ -59742,7 +59742,7 @@ async function stageSandboxMedia(params) {
59742
59742
  const remoteMediaCacheDir = ctx.MediaRemoteHost ? path.join(CONFIG_DIR, "media", "remote-cache", sessionKey) : null;
59743
59743
  const effectiveWorkspaceDir = sandbox?.workspaceDir ?? remoteMediaCacheDir;
59744
59744
  if (!effectiveWorkspaceDir) return;
59745
- await fs$1.mkdir(effectiveWorkspaceDir, { recursive: true });
59745
+ await fsPromises.mkdir(effectiveWorkspaceDir, { recursive: true });
59746
59746
  const remoteAttachmentRoots = resolveIMessageRemoteAttachmentRoots({
59747
59747
  cfg,
59748
59748
  accountId: ctx.AccountId
@@ -59801,8 +59801,8 @@ async function stageLocalFileIntoRoot(params) {
59801
59801
  }
59802
59802
  async function stageRemoteFileIntoRoot(params) {
59803
59803
  const tmpRoot = resolvePreferredOpenClawTmpDir();
59804
- await fs$1.mkdir(tmpRoot, { recursive: true });
59805
- const tmpDir = await fs$1.mkdtemp(path.join(tmpRoot, "stage-sandbox-media-"));
59804
+ await fsPromises.mkdir(tmpRoot, { recursive: true });
59805
+ const tmpDir = await fsPromises.mkdtemp(path.join(tmpRoot, "stage-sandbox-media-"));
59806
59806
  const tmpPath = path.join(tmpDir, "download");
59807
59807
  try {
59808
59808
  await scpFile(params.remoteHost, params.remotePath, tmpPath);
@@ -59813,7 +59813,7 @@ async function stageRemoteFileIntoRoot(params) {
59813
59813
  maxBytes: params.maxBytes
59814
59814
  });
59815
59815
  } finally {
59816
- await fs$1.rm(tmpDir, {
59816
+ await fsPromises.rm(tmpDir, {
59817
59817
  recursive: true,
59818
59818
  force: true
59819
59819
  }).catch(() => {});
@@ -63922,7 +63922,7 @@ const VISION_PROVIDERS = [
63922
63922
  ];
63923
63923
  let imageRuntimePromise = null;
63924
63924
  function loadImageRuntime() {
63925
- imageRuntimePromise ??= import("./image-runtime-3d_07I1J.js");
63925
+ imageRuntimePromise ??= import("./image-runtime-CvfZqzwb.js");
63926
63926
  return imageRuntimePromise;
63927
63927
  }
63928
63928
  /**
@@ -63988,7 +63988,7 @@ async function describeStickerImage(params) {
63988
63988
  const { provider, model } = resolved;
63989
63989
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
63990
63990
  try {
63991
- const buffer = await fs$1.readFile(imagePath);
63991
+ const buffer = await fsPromises.readFile(imagePath);
63992
63992
  const { describeImageWithModel } = await loadImageRuntime();
63993
63993
  return (await describeImageWithModel({
63994
63994
  buffer,
@@ -67889,7 +67889,7 @@ async function resolveDiscordPreflightAudioMentionContext(params) {
67889
67889
  hasTypedText
67890
67890
  };
67891
67891
  try {
67892
- const { transcribeFirstAudio } = await import("./audio-preflight-B0sj35Ce.js");
67892
+ const { transcribeFirstAudio } = await import("./audio-preflight-Ot_1VrgG.js");
67893
67893
  if (params.abortSignal?.aborted) return {
67894
67894
  hasAudioAttachment,
67895
67895
  hasTypedText
@@ -70922,27 +70922,27 @@ let slackSenderRuntimePromise = null;
70922
70922
  let signalSenderRuntimePromise = null;
70923
70923
  let imessageSenderRuntimePromise = null;
70924
70924
  function loadWhatsAppSenderRuntime() {
70925
- whatsappSenderRuntimePromise ??= import("./deps-send-whatsapp.runtime-B8nhC5lk.js");
70925
+ whatsappSenderRuntimePromise ??= import("./deps-send-whatsapp.runtime-Bf8yUhOp.js");
70926
70926
  return whatsappSenderRuntimePromise;
70927
70927
  }
70928
70928
  function loadTelegramSenderRuntime() {
70929
- telegramSenderRuntimePromise ??= import("./deps-send-telegram.runtime-97vMMh1v.js");
70929
+ telegramSenderRuntimePromise ??= import("./deps-send-telegram.runtime-TdOBj1BE.js");
70930
70930
  return telegramSenderRuntimePromise;
70931
70931
  }
70932
70932
  function loadDiscordSenderRuntime() {
70933
- discordSenderRuntimePromise ??= import("./deps-send-discord.runtime-DD-RWrwG.js");
70933
+ discordSenderRuntimePromise ??= import("./deps-send-discord.runtime-COZDJ4kj.js");
70934
70934
  return discordSenderRuntimePromise;
70935
70935
  }
70936
70936
  function loadSlackSenderRuntime() {
70937
- slackSenderRuntimePromise ??= import("./deps-send-slack.runtime-CcCvO5a7.js");
70937
+ slackSenderRuntimePromise ??= import("./deps-send-slack.runtime-haEMGbWP.js");
70938
70938
  return slackSenderRuntimePromise;
70939
70939
  }
70940
70940
  function loadSignalSenderRuntime() {
70941
- signalSenderRuntimePromise ??= import("./deps-send-signal.runtime-Ry6Voc2R.js");
70941
+ signalSenderRuntimePromise ??= import("./deps-send-signal.runtime-BdIsLRiH.js");
70942
70942
  return signalSenderRuntimePromise;
70943
70943
  }
70944
70944
  function loadIMessageSenderRuntime() {
70945
- imessageSenderRuntimePromise ??= import("./deps-send-imessage.runtime-gAWYnB6p.js");
70945
+ imessageSenderRuntimePromise ??= import("./deps-send-imessage.runtime-CrUNGLpB.js");
70946
70946
  return imessageSenderRuntimePromise;
70947
70947
  }
70948
70948
  function createDefaultDeps() {
@@ -72176,10 +72176,10 @@ function estimateDurationSeconds(pcm) {
72176
72176
  return pcm.length / (bytesPerSample * SAMPLE_RATE);
72177
72177
  }
72178
72178
  async function writeWavFile(pcm) {
72179
- const tempDir = await fs$1.mkdtemp(path.join(resolvePreferredOpenClawTmpDir(), "discord-voice-"));
72179
+ const tempDir = await fsPromises.mkdtemp(path.join(resolvePreferredOpenClawTmpDir(), "discord-voice-"));
72180
72180
  const filePath = path.join(tempDir, `segment-${randomUUID()}.wav`);
72181
72181
  const wav = buildWavBuffer(pcm);
72182
- await fs$1.writeFile(filePath, wav);
72182
+ await fsPromises.writeFile(filePath, wav);
72183
72183
  scheduleTempCleanup(tempDir);
72184
72184
  return {
72185
72185
  path: filePath,
@@ -72188,7 +72188,7 @@ async function writeWavFile(pcm) {
72188
72188
  }
72189
72189
  function scheduleTempCleanup(tempDir, delayMs = 1800 * 1e3) {
72190
72190
  setTimeout(() => {
72191
- fs$1.rm(tempDir, {
72191
+ fsPromises.rm(tempDir, {
72192
72192
  recursive: true,
72193
72193
  force: true
72194
72194
  }).catch((err) => {
@@ -76972,7 +76972,7 @@ function normalizeAllowList$1(list) {
76972
76972
  async function detectRemoteHostFromCliPath(cliPath) {
76973
76973
  try {
76974
76974
  const expanded = cliPath.startsWith("~") ? cliPath.replace(/^~/, process.env.HOME ?? "") : cliPath;
76975
- const content = await fs$1.readFile(expanded, "utf8");
76975
+ const content = await fsPromises.readFile(expanded, "utf8");
76976
76976
  const userHostMatch = content.match(/\bssh\b[^\n]*?\s+([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+)/);
76977
76977
  if (userHostMatch) return userHostMatch[1];
76978
76978
  return content.match(/\bssh\b[^\n]*?\s+([a-zA-Z][a-zA-Z0-9._-]*)\s+\S*\bimsg\b/)?.[1];
@@ -84010,15 +84010,15 @@ let slashCommandsRuntimePromise = null;
84010
84010
  let slashDispatchRuntimePromise = null;
84011
84011
  let slashSkillCommandsRuntimePromise = null;
84012
84012
  function loadSlashCommandsRuntime() {
84013
- slashCommandsRuntimePromise ??= import("./slash-commands.runtime-kurmXJKo.js");
84013
+ slashCommandsRuntimePromise ??= import("./slash-commands.runtime-BrlJHzZ0.js");
84014
84014
  return slashCommandsRuntimePromise;
84015
84015
  }
84016
84016
  function loadSlashDispatchRuntime() {
84017
- slashDispatchRuntimePromise ??= import("./slash-dispatch.runtime-BDYuFlr9.js");
84017
+ slashDispatchRuntimePromise ??= import("./slash-dispatch.runtime-BPzR4clK.js");
84018
84018
  return slashDispatchRuntimePromise;
84019
84019
  }
84020
84020
  function loadSlashSkillCommandsRuntime() {
84021
- slashSkillCommandsRuntimePromise ??= import("./slash-skill-commands.runtime-CRatiVfd.js");
84021
+ slashSkillCommandsRuntimePromise ??= import("./slash-skill-commands.runtime-C3MY6G1s.js");
84022
84022
  return slashSkillCommandsRuntimePromise;
84023
84023
  }
84024
84024
  const slackExternalArgMenuStore = createSlackExternalArgMenuStore();
@@ -87501,7 +87501,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, replyMedia =
87501
87501
  const disableAudioPreflight = firstDefined$1(topicConfig?.disableAudioPreflight, groupConfig?.disableAudioPreflight) === true;
87502
87502
  let preflightTranscript;
87503
87503
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0 && !disableAudioPreflight) try {
87504
- const { transcribeFirstAudio } = await import("./audio-preflight-B0sj35Ce.js");
87504
+ const { transcribeFirstAudio } = await import("./audio-preflight-Ot_1VrgG.js");
87505
87505
  preflightTranscript = await transcribeFirstAudio({
87506
87506
  ctx: {
87507
87507
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -89017,7 +89017,7 @@ function resolveCommandHashPath(accountId, botIdentity) {
89017
89017
  }
89018
89018
  async function readCachedCommandHash(accountId, botIdentity) {
89019
89019
  try {
89020
- return (await fs$1.readFile(resolveCommandHashPath(accountId, botIdentity), "utf-8")).trim();
89020
+ return (await fsPromises.readFile(resolveCommandHashPath(accountId, botIdentity), "utf-8")).trim();
89021
89021
  } catch {
89022
89022
  return null;
89023
89023
  }
@@ -89025,8 +89025,8 @@ async function readCachedCommandHash(accountId, botIdentity) {
89025
89025
  async function writeCachedCommandHash(accountId, botIdentity, hash) {
89026
89026
  const filePath = resolveCommandHashPath(accountId, botIdentity);
89027
89027
  try {
89028
- await fs$1.mkdir(path.dirname(filePath), { recursive: true });
89029
- await fs$1.writeFile(filePath, hash, "utf-8");
89028
+ await fsPromises.mkdir(path.dirname(filePath), { recursive: true });
89029
+ await fsPromises.writeFile(filePath, hash, "utf-8");
89030
89030
  } catch {}
89031
89031
  }
89032
89032
  function syncTelegramMenuCommands(params) {
@@ -89918,7 +89918,7 @@ function safeParseState(raw) {
89918
89918
  async function readTelegramUpdateOffset(params) {
89919
89919
  const filePath = resolveTelegramUpdateOffsetPath(params.accountId, params.env);
89920
89920
  try {
89921
- const parsed = safeParseState(await fs$1.readFile(filePath, "utf-8"));
89921
+ const parsed = safeParseState(await fsPromises.readFile(filePath, "utf-8"));
89922
89922
  const expectedBotId = extractBotIdFromToken(params.botToken);
89923
89923
  if (expectedBotId && parsed?.botId && parsed.botId !== expectedBotId) return null;
89924
89924
  if (expectedBotId && parsed?.botId === null) return null;
@@ -89942,7 +89942,7 @@ async function writeTelegramUpdateOffset(params) {
89942
89942
  async function deleteTelegramUpdateOffset(params) {
89943
89943
  const filePath = resolveTelegramUpdateOffsetPath(params.accountId, params.env);
89944
89944
  try {
89945
- await fs$1.unlink(filePath);
89945
+ await fsPromises.unlink(filePath);
89946
89946
  } catch (err) {
89947
89947
  if (err.code === "ENOENT") return;
89948
89948
  throw err;
@@ -90416,7 +90416,7 @@ function createWhatsAppLoginTool() {
90416
90416
  force: Type.Optional(Type.Boolean())
90417
90417
  }),
90418
90418
  execute: async (_toolCallId, args) => {
90419
- const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-DxsNtFb-.js");
90419
+ const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-w8g9Wssr.js");
90420
90420
  if ((args?.action ?? "start") === "wait") {
90421
90421
  const result = await waitForWebLogin({ timeoutMs: typeof args.timeoutMs === "number" ? args.timeoutMs : void 0 });
90422
90422
  return {
@@ -90491,23 +90491,23 @@ let webOutboundPromise = null;
90491
90491
  let webLoginPromise = null;
90492
90492
  let whatsappActionsPromise = null;
90493
90493
  function loadWebOutbound() {
90494
- webOutboundPromise ??= import("./runtime-whatsapp-outbound.runtime-BpuvPdTK.js");
90494
+ webOutboundPromise ??= import("./runtime-whatsapp-outbound.runtime-CboIijG_.js");
90495
90495
  return webOutboundPromise;
90496
90496
  }
90497
90497
  function loadWebLogin() {
90498
- webLoginPromise ??= import("./runtime-whatsapp-login.runtime-C2Hz6tBD.js");
90498
+ webLoginPromise ??= import("./runtime-whatsapp-login.runtime-Dj6jyYEL.js");
90499
90499
  return webLoginPromise;
90500
90500
  }
90501
90501
  function loadWebLoginQr() {
90502
- webLoginQrPromise ??= import("./login-qr-DxsNtFb-.js");
90502
+ webLoginQrPromise ??= import("./login-qr-w8g9Wssr.js");
90503
90503
  return webLoginQrPromise;
90504
90504
  }
90505
90505
  function loadWebChannel() {
90506
- webChannelPromise ??= import("./web-CNj08Zq-.js");
90506
+ webChannelPromise ??= import("./web-BblTI04D.js");
90507
90507
  return webChannelPromise;
90508
90508
  }
90509
90509
  function loadWhatsAppActions() {
90510
- whatsappActionsPromise ??= import("./whatsapp-actions-BXDIsy-2.js");
90510
+ whatsappActionsPromise ??= import("./whatsapp-actions-P1s1gYIT.js");
90511
90511
  return whatsappActionsPromise;
90512
90512
  }
90513
90513
  function createRuntimeWhatsApp() {
@@ -91835,7 +91835,7 @@ function resolvePluginTools(params) {
91835
91835
  //#endregion
91836
91836
  //#region src/agents/apply-patch-update.ts
91837
91837
  async function defaultReadFile(filePath) {
91838
- return fs$1.readFile(filePath, "utf8");
91838
+ return fsPromises.readFile(filePath, "utf8");
91839
91839
  }
91840
91840
  async function applyUpdateHunk(filePath, chunks, options) {
91841
91841
  const originalLines = (await (options?.readFile ?? defaultReadFile)(filePath).catch((err) => {
@@ -92081,7 +92081,7 @@ function resolvePatchFileOps(options) {
92081
92081
  const workspaceOnly = options.workspaceOnly !== false;
92082
92082
  return {
92083
92083
  readFile: async (filePath) => {
92084
- if (!workspaceOnly) return await fs$1.readFile(filePath, "utf8");
92084
+ if (!workspaceOnly) return await fsPromises.readFile(filePath, "utf8");
92085
92085
  const opened = await openBoundaryFile({
92086
92086
  absolutePath: filePath,
92087
92087
  rootPath: options.cwd,
@@ -92096,7 +92096,7 @@ function resolvePatchFileOps(options) {
92096
92096
  },
92097
92097
  writeFile: async (filePath, content) => {
92098
92098
  if (!workspaceOnly) {
92099
- await fs$1.writeFile(filePath, content, "utf8");
92099
+ await fsPromises.writeFile(filePath, content, "utf8");
92100
92100
  return;
92101
92101
  }
92102
92102
  const relative = toRelativeSandboxPath(options.cwd, filePath);
@@ -92107,8 +92107,8 @@ function resolvePatchFileOps(options) {
92107
92107
  encoding: "utf8"
92108
92108
  });
92109
92109
  },
92110
- remove: (filePath) => fs$1.rm(filePath),
92111
- mkdirp: (dir) => fs$1.mkdir(dir, { recursive: true }).then(() => {})
92110
+ remove: (filePath) => fsPromises.rm(filePath),
92111
+ mkdirp: (dir) => fsPromises.mkdir(dir, { recursive: true }).then(() => {})
92112
92112
  };
92113
92113
  }
92114
92114
  async function ensureDir(filePath, ops) {
@@ -92402,7 +92402,7 @@ function wrapHostEditToolWithPostWriteRecovery(base, root) {
92402
92402
  if (!pathParam || !newText) throw err;
92403
92403
  try {
92404
92404
  const absolutePath = resolveHostEditPath(root, pathParam);
92405
- const content = await fs$1.readFile(absolutePath, "utf-8");
92405
+ const content = await fsPromises.readFile(absolutePath, "utf-8");
92406
92406
  const hasNew = content.includes(newText);
92407
92407
  const stillHasOld = oldText !== void 0 && oldText.length > 0 && content.includes(oldText);
92408
92408
  if (hasNew && !stillHasOld) return {
@@ -92884,14 +92884,14 @@ function createSandboxEditOperations(params) {
92884
92884
  }
92885
92885
  async function writeHostFile(absolutePath, content) {
92886
92886
  const resolved = path.resolve(absolutePath);
92887
- await fs$1.mkdir(path.dirname(resolved), { recursive: true });
92888
- await fs$1.writeFile(resolved, content, "utf-8");
92887
+ await fsPromises.mkdir(path.dirname(resolved), { recursive: true });
92888
+ await fsPromises.writeFile(resolved, content, "utf-8");
92889
92889
  }
92890
92890
  function createHostWriteOperations(root, options) {
92891
92891
  if (!(options?.workspaceOnly ?? false)) return {
92892
92892
  mkdir: async (dir) => {
92893
92893
  const resolved = path.resolve(dir);
92894
- await fs$1.mkdir(resolved, { recursive: true });
92894
+ await fsPromises.mkdir(resolved, { recursive: true });
92895
92895
  },
92896
92896
  writeFile: writeHostFile
92897
92897
  };
@@ -92904,7 +92904,7 @@ function createHostWriteOperations(root, options) {
92904
92904
  cwd: root,
92905
92905
  root
92906
92906
  });
92907
- await fs$1.mkdir(resolved, { recursive: true });
92907
+ await fsPromises.mkdir(resolved, { recursive: true });
92908
92908
  },
92909
92909
  writeFile: async (absolutePath, content) => {
92910
92910
  await writeFileWithinRoot({
@@ -92920,12 +92920,12 @@ function createHostEditOperations(root, options) {
92920
92920
  if (!(options?.workspaceOnly ?? false)) return {
92921
92921
  readFile: async (absolutePath) => {
92922
92922
  const resolved = path.resolve(absolutePath);
92923
- return await fs$1.readFile(resolved);
92923
+ return await fsPromises.readFile(resolved);
92924
92924
  },
92925
92925
  writeFile: writeHostFile,
92926
92926
  access: async (absolutePath) => {
92927
92927
  const resolved = path.resolve(absolutePath);
92928
- await fs$1.access(resolved);
92928
+ await fsPromises.access(resolved);
92929
92929
  }
92930
92930
  };
92931
92931
  return {
@@ -93476,7 +93476,7 @@ async function compactEmbeddedPiSessionDirect(params) {
93476
93476
  } catch (err) {
93477
93477
  return fail(describeUnknownError(err));
93478
93478
  }
93479
- await fs$1.mkdir(resolvedWorkspace, { recursive: true });
93479
+ await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
93480
93480
  const sandboxSessionKey = params.sessionKey?.trim() || params.sessionId;
93481
93481
  const sandbox = await resolveSandboxContext({
93482
93482
  config: params.config,
@@ -93484,7 +93484,7 @@ async function compactEmbeddedPiSessionDirect(params) {
93484
93484
  workspaceDir: resolvedWorkspace
93485
93485
  });
93486
93486
  const effectiveWorkspace = sandbox?.enabled ? sandbox.workspaceAccess === "rw" ? resolvedWorkspace : sandbox.workspaceDir : resolvedWorkspace;
93487
- await fs$1.mkdir(effectiveWorkspace, { recursive: true });
93487
+ await fsPromises.mkdir(effectiveWorkspace, { recursive: true });
93488
93488
  await ensureSessionHeader({
93489
93489
  sessionFile: params.sessionFile,
93490
93490
  sessionId: params.sessionId,