activeclaw 2026.2.11 → 2026.2.13

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 (531) hide show
  1. package/CHANGELOG.md +106 -0
  2. package/dist/{accounts-DbzMEfKN.js → accounts-DCDeFTra.js} +2 -2
  3. package/dist/{accounts-C2elk6PC.js → accounts-DeqIQjo1.js} +2 -2
  4. package/dist/{acp-cli-CVFTdsQY.js → acp-cli-CeYI4XRd.js} +15 -16
  5. package/dist/{acp-cli-BpJwIyLl.js → acp-cli-rNbGXICg.js} +14 -15
  6. package/dist/{agent-Bz1r5O8q.js → agent-BvNJF5QL.js} +19 -15
  7. package/dist/{agent-22-R4bNS.js → agent-CyMxTyrG.js} +20 -16
  8. package/dist/{agent-scope-D8miw9q_.js → agent-scope-BIEhVP4_.js} +172 -4
  9. package/dist/{agent-scope-CGmuusG9.js → agent-scope-CQCus0rI.js} +3 -3
  10. package/dist/{agent-scope-DQuy3dwI.js → agent-scope-CsRbLH4l.js} +4 -4
  11. package/dist/{agent-scope-BEf5crnU.js → agent-scope-DPIFau3f.js} +5 -1
  12. package/dist/audio-preflight-BU8W7uxc.js +60 -0
  13. package/dist/audio-preflight-CGsumMzb.js +60 -0
  14. package/dist/audio-preflight-SLmkJI6-.js +74 -0
  15. package/dist/audio-preflight-jZc5mFCZ.js +71 -0
  16. package/dist/{audit-C4wLaF0D.js → audit-Dmww_503.js} +71 -19
  17. package/dist/{audit-CY-yopxa.js → audit-wPu26VMb.js} +72 -20
  18. package/dist/{tailscale-DU6DgqVy.js → auth-9x3lqfIY.js} +208 -3
  19. package/dist/{tailscale-Cu-2HNvU.js → auth-CQNl_IaI.js} +190 -3
  20. package/dist/{auth-health-BFKUoCwJ.js → auth-health-C4L4FGBA.js} +1 -1
  21. package/dist/{auth-health-d7BMZlWG.js → auth-health-j6epgQbq.js} +1 -1
  22. package/dist/{auth-profiles-Bv1AEm-Y.js → auth-profiles-ByNs3eEm.js} +87 -31
  23. package/dist/build-info.json +3 -3
  24. package/dist/bundled/boot-md/handler.js +28 -22
  25. package/dist/bundled/session-memory/handler.js +33 -22
  26. package/dist/{call-7yrB6v4I.js → call-DVYCIV8m.js} +5 -5
  27. package/dist/{call-Bek1xlgk.js → call-SolyGS1r.js} +6 -6
  28. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  29. package/dist/{channel-options-3mdYN0C_.js → channel-options-BwC2yQcR.js} +4 -4
  30. package/dist/{channel-options-DJ0b1m7B.js → channel-options-Cq9BVDkP.js} +12 -7
  31. package/dist/{channel-selection-RZimme3j.js → channel-selection-D4D6ImhN.js} +2 -2
  32. package/dist/{channel-selection-B9b7Kuit.js → channel-selection-MZAHm4U8.js} +2 -2
  33. package/dist/{channels-cli-CYbK2Dku.js → channels-cli-9Dsk9Qm7.js} +57 -53
  34. package/dist/{channels-cli-BFznbGOs.js → channels-cli-BJUppQll.js} +59 -55
  35. package/dist/{channels-status-issues-B3KkflfR.js → channels-status-issues-D7GSV1GS.js} +1 -1
  36. package/dist/{channels-status-issues-DQkRaZts.js → channels-status-issues-DDAWeT-6.js} +1 -1
  37. package/dist/{chrome-Db7w64LF.js → chrome-BfB6JdKF.js} +4 -4
  38. package/dist/{chrome-Dm-EgOjJ.js → chrome-Cvr-57lg.js} +6 -5
  39. package/dist/{chrome-CF16STk9.js → chrome-DL0avO8n.js} +2 -1
  40. package/dist/{chrome-yIKmOzCO.js → chrome-foEwx3lN.js} +5 -4
  41. package/dist/{clack-prompter-BCiBkJVr.js → clack-prompter-Bz3Mmcl-.js} +5 -5
  42. package/dist/{clack-prompter-DuBVnTKy.js → clack-prompter-ChCGXfyt.js} +4 -4
  43. package/dist/cli/daemon-cli.js +1 -1
  44. package/dist/{cli-Cl3PdJei.js → cli-ZR9ugUBX.js} +42 -38
  45. package/dist/cli-miPe4Ujz.js +93 -0
  46. package/dist/{client-6xKrRC-1.js → client-BrYfyoDK.js} +54 -5
  47. package/dist/{client-DMloFP_O.js → client-CTwXnRl7.js} +54 -5
  48. package/dist/{command-format-ayFsmwwz.js → command-format-Bxe0mWee.js} +1 -1
  49. package/dist/{command-options-BTAzyqqb.js → command-options-BvgxzPbK.js} +9 -4
  50. package/dist/{commands-CjEGXOZ_.js → commands-BX_OIIVR.js} +4 -4
  51. package/dist/{completion-cli-DrJGfJGl.js → completion-cli-CR77-jyv.js} +3 -3
  52. package/dist/{completion-cli-DOec3E2Z.js → completion-cli-DnjpxAag.js} +30 -30
  53. package/dist/{config-B00lvFac.js → config-Bdhomfei.js} +21 -7
  54. package/dist/{config-XBdA0ciN.js → config-BvMsmctM.js} +83 -9
  55. package/dist/{config-BqGVMf1y.js → config-QYrbd7x7.js} +60 -6
  56. package/dist/{config--NUdpACy.js → config-aFQssWKX.js} +21 -7
  57. package/dist/{config-guard-4kCO_rnQ.js → config-guard-CljaSxJd.js} +160 -51
  58. package/dist/{configure-B69emwZv.js → configure-BXLiucXo.js} +28 -25
  59. package/dist/{configure-sMhpLzFf.js → configure-BYPqXzGZ.js} +28 -25
  60. package/dist/control-auth-8Cf4WXpR.js +54 -0
  61. package/dist/control-auth-DBCu3qyv.js +54 -0
  62. package/dist/{control-service-Db_1V-KY.js → control-service-B5KnPqGP.js} +11 -5
  63. package/dist/{control-service-IRAmbcbN.js → control-service-DKnttEus.js} +10 -4
  64. package/dist/control-ui/assets/{index-CnB9IO4a.js → index-B4LPvte9.js} +369 -369
  65. package/dist/control-ui/assets/index-B4LPvte9.js.map +1 -0
  66. package/dist/control-ui/index.html +1 -1
  67. package/dist/{cron-cli-Cum2324v.js → cron-cli-D7BRjDv2.js} +20 -20
  68. package/dist/{cron-cli-DhUWcYdk.js → cron-cli-z1zk_FXQ.js} +19 -19
  69. package/dist/{daemon-cli-q7nkEF5-.js → daemon-cli-BDkU2ocb.js} +60 -21
  70. package/dist/{daemon-cli-CTC2CHci.js → daemon-cli-cNSF93-v.js} +59 -20
  71. package/dist/{daemon-runtime-c0uXH4Dl.js → daemon-runtime-B0tg_LsX.js} +3 -3
  72. package/dist/{daemon-runtime-UsK-tOty.js → daemon-runtime-Bsjeut6m.js} +3 -3
  73. package/dist/{deliver-hf-WKyWd.js → deliver-CIU9Npgs.js} +373 -281
  74. package/dist/{deliver-CT6KiDqO.js → deliver-DYYCo1G7.js} +369 -278
  75. package/dist/{deliver-T9d44OpZ.js → deliver-LsxKETro.js} +371 -279
  76. package/dist/{deliver-CPy8jYj9.js → deliver-xUU3mGHo.js} +369 -277
  77. package/dist/{deps-Bv1kLtwo.js → deps-QSwGcoNZ.js} +2 -2
  78. package/dist/{deps-DFQdAWQc.js → deps-lAAA2zYI.js} +2 -2
  79. package/dist/{devices-cli-Cm7U1py9.js → devices-cli-BG3-2oqt.js} +14 -14
  80. package/dist/{devices-cli-ZpjlfK-e.js → devices-cli-VIQtOvt_.js} +14 -14
  81. package/dist/{directory-cli-B14TUSJA.js → directory-cli-BCJwjVC0.js} +16 -16
  82. package/dist/{directory-cli-67kzd4I5.js → directory-cli-jYzZ02gk.js} +14 -14
  83. package/dist/{dispatcher-3ElQWGVI.js → dispatcher-DY51b-Zc.js} +2 -2
  84. package/dist/{dns-cli-CU-xfhTN.js → dns-cli-DHIiMJjS.js} +12 -12
  85. package/dist/{dns-cli-Dqj7O6Q_.js → dns-cli-pZlv87Ib.js} +11 -11
  86. package/dist/{docs-cli-CamBqzb5.js → docs-cli-2JDiwfzP.js} +8 -8
  87. package/dist/{docs-cli-Cj3L5oqB.js → docs-cli-BhkYqoIQ.js} +7 -7
  88. package/dist/{doctor-BV1kvbMm.js → doctor-Bf8EhNtA.js} +36 -35
  89. package/dist/{doctor-BJirShBi.js → doctor-sYG5V4Co.js} +34 -33
  90. package/dist/entry.js +56 -18
  91. package/dist/{env-BxRc6wWv.js → env-ONzUVAG2.js} +1 -1
  92. package/dist/{exec-CijMSZd9.js → exec-B8lXct-k.js} +503 -14
  93. package/dist/{exec-B8JKbXKW.js → exec-CACT5OAW.js} +1 -1
  94. package/dist/{exec-57A8Rlc8.js → exec-CJFFoM7H.js} +32 -13
  95. package/dist/{exec-Cv_Ofd1m.js → exec-YIosokWE.js} +1 -1
  96. package/dist/{exec-approvals-cli-DEzz9Iai.js → exec-approvals-cli-7LH0lwhO.js} +21 -21
  97. package/dist/{exec-approvals-cli-DhXj3hQX.js → exec-approvals-cli-apGnQbpj.js} +21 -21
  98. package/dist/extensionAPI.js +7733 -8746
  99. package/dist/fetch-DmiOpALK.js +274 -0
  100. package/dist/fetch-timeout-BEtUjM1S.js +274 -0
  101. package/dist/fetch-timeout-DEoXG_SF.js +274 -0
  102. package/dist/fetch-timeout-DTK9vxex.js +274 -0
  103. package/dist/{gateway-cli-D1EdIq8I.js → gateway-cli-DUdYxlZS.js} +491 -136
  104. package/dist/{gateway-cli-B_xDUDy2.js → gateway-cli-DbvWmE-9.js} +495 -140
  105. package/dist/{gateway-rpc-3B5y445n.js → gateway-rpc-BByb2Snz.js} +3 -3
  106. package/dist/{gateway-rpc-BoL2vinh.js → gateway-rpc-wXSCUZXj.js} +3 -3
  107. package/dist/{github-copilot-auth-Omqrto0J.js → github-copilot-auth-D7ewvpMd.js} +205 -17
  108. package/dist/{github-copilot-auth-CZxurvdz.js → github-copilot-auth-DDispnyz.js} +205 -17
  109. package/dist/{github-copilot-token-SLWintYd.js → github-copilot-token-Cfs0Wxr8.js} +1 -1
  110. package/dist/{gmail-setup-utils-BXQKsLtI.js → gmail-setup-utils-Cfns8TQx.js} +3 -3
  111. package/dist/{gmail-setup-utils-CHcssBOA.js → gmail-setup-utils-DJb-_5kO.js} +4 -4
  112. package/dist/{health-format-Dy1caGsq.js → health-format-KGPokKJH.js} +97 -42
  113. package/dist/{health-format-DrGFg8bx.js → health-format-LZDxu3rv.js} +95 -40
  114. package/dist/{help-format-DAj7l5uV.js → help-format-C48TXngO.js} +1 -1
  115. package/dist/{help-format-CUnac_bT.js → help-format-R5fLToDw.js} +1 -1
  116. package/dist/{hooks-cli-ptEf6TIM.js → hooks-cli-CT8JCRkH.js} +51 -46
  117. package/dist/{hooks-cli-Bhf5VRp1.js → hooks-cli-S1MKumJO.js} +49 -44
  118. package/dist/{hooks-status-Br-2bK2G.js → hooks-status-Cw0xD8Lt.js} +3 -3
  119. package/dist/{hooks-status-DNQJSa4B.js → hooks-status-D9MhwHRp.js} +3 -3
  120. package/dist/{image-rOFfK3PJ.js → image-Brk1sJbw.js} +10 -7
  121. package/dist/{image-fUwR7slg.js → image-C4Nn2p3e.js} +10 -7
  122. package/dist/{image-Ds4NLGPR.js → image-DgtfXMcX.js} +9 -6
  123. package/dist/{image-Dnnxt82I.js → image-RKwc3fsL.js} +8 -5
  124. package/dist/index.js +208 -97
  125. package/dist/{installs-CRSjQxbR.js → installs-CrLcWYHe.js} +8 -7
  126. package/dist/{installs-89zeUsVn.js → installs-DscWb9b9.js} +8 -7
  127. package/dist/{links-7M-j83As.js → links-B8LAzWwg.js} +1 -1
  128. package/dist/{links-C591fM9M.js → links-Eax1UO3w.js} +1 -1
  129. package/dist/llm-slug-generator.js +18 -19
  130. package/dist/{loader-wXwp4rZJ.js → loader-KjT074JR.js} +5722 -6888
  131. package/dist/{logging-MMRGFxGI.js → logging-BAyPwvdH.js} +1 -1
  132. package/dist/{logging-DuK6YXuK.js → logging-CRq4h04P.js} +2 -2
  133. package/dist/{login-qr-wM8BnKJh.js → login-qr-B6ZgAuIf.js} +5 -5
  134. package/dist/{login-qr-CPEsT6dN.js → login-qr-Bua-p0nG.js} +3 -4
  135. package/dist/{login-qr-CGEu5TU-.js → login-qr-CuvemJj4.js} +6 -6
  136. package/dist/{login-qr-DH150tTp.js → login-qr-Djr1JfIf.js} +2 -2
  137. package/dist/{logs-cli-ClgkHnfT.js → logs-cli-9IAV7rWY.js} +38 -22
  138. package/dist/{logs-cli-CmfINsOj.js → logs-cli-EiKzUFPa.js} +37 -21
  139. package/dist/{manager-DYo4PlVM.js → manager-BIMh_eSm.js} +7 -8
  140. package/dist/{manager-D6EbxDV4.js → manager-CwinWQoz.js} +5 -5
  141. package/dist/{manager-BbnHek5T.js → manager-DkqF1GiK.js} +9 -9
  142. package/dist/{manager-CcVYv0N5.js → manager-T1XfGchB.js} +8 -8
  143. package/dist/{manifest-registry-3It8Z8yN.js → manifest-registry-CQhdnDBZ.js} +40 -2
  144. package/dist/{manifest-registry-D5SiA3xq.js → manifest-registry-u0okVSkU.js} +40 -2
  145. package/dist/{message-channel-Cu61-7H6.js → message-channel-BLi2a6Yw.js} +1 -1
  146. package/dist/{message-channel-BlgPSDAh.js → message-channel-C_MmebBt.js} +1 -1
  147. package/dist/{model-auth-ioeR_zLX.js → model-auth-CabXIF6O.js} +116 -34
  148. package/dist/{model-selection-BK7DuyH8.js → model-selection-BLuqsGVB.js} +86 -30
  149. package/dist/{model-selection-CezC36lH.js → model-selection-C1GmkTAV.js} +84 -28
  150. package/dist/{models-cli-C3uGdOrd.js → models-cli-9jmDv-h3.js} +52 -48
  151. package/dist/{models-cli-CUIVPgXE.js → models-cli-zS9rtWz8.js} +53 -49
  152. package/dist/{node-cli-BxBGSuPE.js → node-cli-CrpTxTTs.js} +28 -26
  153. package/dist/{node-cli-CdYAsuQQ.js → node-cli-wemUMCg-.js} +28 -26
  154. package/dist/{node-service-u8g85nD3.js → node-service-C8DTHTMg.js} +2 -2
  155. package/dist/{node-service-CM5vkdIo.js → node-service-WQuEKz6W.js} +2 -2
  156. package/dist/{nodes-cli-By6yeCTB.js → nodes-cli-BaU2SIFw.js} +20 -20
  157. package/dist/{nodes-cli-BaVMTAPc.js → nodes-cli-Dx23D72n.js} +20 -20
  158. package/dist/{nodes-screen-Dvl_ohUY.js → nodes-screen-C0IuBqUL.js} +1 -1
  159. package/dist/{note-5WqioBRA.js → note-BhRSeNeu.js} +2 -2
  160. package/dist/{note-Ci08TSbV.js → note-hhtubr2j.js} +1 -1
  161. package/dist/{onboard-channels-DxXvp8og.js → onboard-channels-C501x8GI.js} +8 -8
  162. package/dist/{onboard-channels-CXhnVy4E.js → onboard-channels-Dxzroasd.js} +8 -8
  163. package/dist/{onboard-skills-CBxsRGyf.js → onboard-skills-DV0Qzvjj.js} +440 -136
  164. package/dist/{onboard-skills-DQwOQ6Ry.js → onboard-skills-rlBHcu3Q.js} +439 -135
  165. package/dist/{onboarding-Du_7qEng.js → onboarding-CN-EDLjd.js} +38 -38
  166. package/dist/{openclaw-root-JLDMp6ux.js → openclaw-root-1VeFrph_.js} +4 -0
  167. package/dist/{openclaw-root-Dw6gumSU.js → openclaw-root-BNlEap4i.js} +4 -0
  168. package/dist/{pairing-cli-CRQDpj8f.js → pairing-cli-CDHG4xuI.js} +15 -15
  169. package/dist/{pairing-cli-Cng1KFWw.js → pairing-cli-CQP34Dlx.js} +15 -15
  170. package/dist/{pairing-labels-Ciu3Zoxj.js → pairing-labels-B6CN0SNH.js} +1 -1
  171. package/dist/{pairing-labels-CWFEtSc3.js → pairing-labels-CgNHnjzT.js} +1 -1
  172. package/dist/{pairing-store-c-QQ2u8p.js → pairing-store-CmlRVqOz.js} +2 -2
  173. package/dist/{pairing-store-CgXR3ZWJ.js → pairing-store-Dp5_JGnG.js} +3 -3
  174. package/dist/{path-env-CXWUFfFv.js → path-env-CLvYNwtL.js} +1 -1
  175. package/dist/{path-env-BgLvMbz_.js → path-env-CaYUVIML.js} +2 -2
  176. package/dist/{paths-MnZaxqPw.js → paths-B0a4ywSO.js} +30 -5
  177. package/dist/{paths-Bkhd_qY8.js → paths-B49s6UZQ.js} +30 -5
  178. package/dist/{paths-DL6EIRTw.js → paths-D0O87MfH.js} +30 -5
  179. package/dist/{paths-IivnSNkP.js → paths-DLINmNFQ.js} +31 -6
  180. package/dist/{pi-embedded-CgPTEqlB.js → pi-embedded-Ctrt2kz0.js} +8759 -9600
  181. package/dist/{pi-embedded-helpers-DYH6OWft.js → pi-embedded-helpers-CMKLjW6X.js} +68 -9
  182. package/dist/{pi-embedded-helpers-y1_Se0yq.js → pi-embedded-helpers-CUzTc1v6.js} +241 -24
  183. package/dist/{pi-embedded-helpers-Bkpd4fTr.js → pi-embedded-helpers-DfwkwPYD.js} +67 -8
  184. package/dist/{pi-embedded-helpers-BbWRSUnc.js → pi-embedded-helpers-WDwx99UA.js} +347 -32
  185. package/dist/{pi-tools.policy-akYsGFiA.js → pi-tools.policy-BpsROZbz.js} +4 -4
  186. package/dist/{plugin-auto-enable-lZwe2yX5.js → plugin-auto-enable-Bqhc3w5n.js} +5 -5
  187. package/dist/{plugin-auto-enable-AOSOJ-v1.js → plugin-auto-enable-PW76g_PJ.js} +5 -5
  188. package/dist/plugin-sdk/agents/bash-process-registry.d.ts +1 -0
  189. package/dist/plugin-sdk/agents/models-config.providers.d.ts +10 -0
  190. package/dist/plugin-sdk/agents/pi-embedded-helpers/errors.d.ts +5 -1
  191. package/dist/plugin-sdk/agents/pi-embedded-helpers.d.ts +1 -1
  192. package/dist/plugin-sdk/agents/pi-embedded-runner/google.d.ts +1 -0
  193. package/dist/plugin-sdk/agents/pi-embedded-runner/run/params.d.ts +2 -0
  194. package/dist/plugin-sdk/agents/pi-embedded-runner/run/payloads.d.ts +1 -0
  195. package/dist/plugin-sdk/agents/pi-embedded-runner/run/types.d.ts +2 -0
  196. package/dist/plugin-sdk/agents/pi-embedded-runner/types.d.ts +15 -0
  197. package/dist/plugin-sdk/agents/pi-embedded-subscribe.handlers.tools.d.ts +1 -1
  198. package/dist/plugin-sdk/agents/pi-embedded-subscribe.handlers.types.d.ts +2 -0
  199. package/dist/plugin-sdk/agents/pi-embedded-subscribe.types.d.ts +2 -0
  200. package/dist/plugin-sdk/agents/session-tool-result-guard-wrapper.d.ts +2 -0
  201. package/dist/plugin-sdk/agents/session-tool-result-guard.d.ts +4 -0
  202. package/dist/plugin-sdk/agents/tools/agent-step.d.ts +3 -0
  203. package/dist/plugin-sdk/agents/tools/browser-tool.schema.d.ts +1 -1
  204. package/dist/plugin-sdk/agents/tools/web-search.d.ts +10 -1
  205. package/dist/plugin-sdk/agents/usage.d.ts +1 -0
  206. package/dist/plugin-sdk/auto-reply/heartbeat.d.ts +1 -1
  207. package/dist/plugin-sdk/auto-reply/reply/get-reply-directives.d.ts +1 -0
  208. package/dist/plugin-sdk/auto-reply/reply/mentions.d.ts +1 -0
  209. package/dist/plugin-sdk/auto-reply/reply/model-selection.d.ts +3 -0
  210. package/dist/plugin-sdk/auto-reply/reply/reply-reference.d.ts +1 -1
  211. package/dist/plugin-sdk/auto-reply/reply/session-run-accounting.d.ts +11 -0
  212. package/dist/plugin-sdk/auto-reply/reply/session-usage.d.ts +8 -0
  213. package/dist/plugin-sdk/auto-reply/types.d.ts +2 -0
  214. package/dist/plugin-sdk/browser/control-auth.d.ts +13 -0
  215. package/dist/plugin-sdk/channels/plugins/onboarding/signal.d.ts +1 -0
  216. package/dist/plugin-sdk/cli/prompt.d.ts +1 -0
  217. package/dist/plugin-sdk/commands/agent/types.d.ts +2 -0
  218. package/dist/plugin-sdk/commands/onboard-types.d.ts +7 -1
  219. package/dist/plugin-sdk/config/sessions/paths.d.ts +7 -2
  220. package/dist/plugin-sdk/config/types.agents.d.ts +2 -0
  221. package/dist/plugin-sdk/config/types.discord.d.ts +5 -0
  222. package/dist/plugin-sdk/config/types.gateway.d.ts +15 -0
  223. package/dist/plugin-sdk/config/types.hooks.d.ts +15 -0
  224. package/dist/plugin-sdk/config/types.memory.d.ts +2 -0
  225. package/dist/plugin-sdk/config/zod-schema.agents.d.ts +1 -0
  226. package/dist/plugin-sdk/config/zod-schema.d.ts +13 -1
  227. package/dist/plugin-sdk/config/zod-schema.hooks.d.ts +1 -1
  228. package/dist/plugin-sdk/config/zod-schema.providers-core.d.ts +9 -0
  229. package/dist/plugin-sdk/config/zod-schema.providers.d.ts +4 -0
  230. package/dist/plugin-sdk/cron/service/jobs.d.ts +8 -0
  231. package/dist/plugin-sdk/cron/service/state.d.ts +1 -0
  232. package/dist/plugin-sdk/cron/types.d.ts +2 -0
  233. package/dist/plugin-sdk/discord/monitor/allow-list.d.ts +15 -0
  234. package/dist/plugin-sdk/discord/send.types.d.ts +5 -0
  235. package/dist/plugin-sdk/gateway/auth.d.ts +36 -0
  236. package/dist/plugin-sdk/gateway/protocol/index.d.ts +0 -3
  237. package/dist/plugin-sdk/gateway/protocol/schema/agent.d.ts +7 -1
  238. package/dist/plugin-sdk/gateway/session-utils.fs.d.ts +3 -1
  239. package/dist/plugin-sdk/index.js +935 -660
  240. package/dist/plugin-sdk/infra/binaries.d.ts +3 -0
  241. package/dist/plugin-sdk/infra/heartbeat-active-hours.d.ts +5 -0
  242. package/dist/plugin-sdk/infra/heartbeat-runner.d.ts +1 -0
  243. package/dist/plugin-sdk/infra/net/fetch-guard.d.ts +1 -0
  244. package/dist/plugin-sdk/infra/net/ssrf.d.ts +1 -0
  245. package/dist/plugin-sdk/infra/tailscale.d.ts +34 -0
  246. package/dist/plugin-sdk/infra/tmp-openclaw-dir.d.ts +10 -0
  247. package/dist/plugin-sdk/logging/console.d.ts +1 -0
  248. package/dist/plugin-sdk/logging/logger.d.ts +1 -1
  249. package/dist/plugin-sdk/logging/state.d.ts +1 -0
  250. package/dist/plugin-sdk/markdown/ir.d.ts +1 -1
  251. package/dist/plugin-sdk/markdown/whatsapp.d.ts +14 -0
  252. package/dist/plugin-sdk/media/input-files.d.ts +5 -0
  253. package/dist/plugin-sdk/media-understanding/audio-preflight.d.ts +16 -0
  254. package/dist/plugin-sdk/media-understanding/types.d.ts +1 -0
  255. package/dist/plugin-sdk/memory/backend-config.d.ts +2 -1
  256. package/dist/plugin-sdk/memory/qmd-manager.d.ts +2 -0
  257. package/dist/plugin-sdk/memory/qmd-query-parser.d.ts +8 -0
  258. package/dist/plugin-sdk/process/command-queue.d.ts +16 -0
  259. package/dist/plugin-sdk/routing/resolve-route.d.ts +3 -1
  260. package/dist/plugin-sdk/security/external-content.d.ts +1 -1
  261. package/dist/plugin-sdk/security/secret-equal.d.ts +1 -0
  262. package/dist/plugin-sdk/sessions/input-provenance.d.ts +16 -0
  263. package/dist/plugin-sdk/signal/monitor/event-handler.types.d.ts +8 -0
  264. package/dist/plugin-sdk/signal/monitor/mentions.d.ts +2 -0
  265. package/dist/plugin-sdk/slack/monitor/commands.d.ts +5 -0
  266. package/dist/plugin-sdk/telegram/bot-message-context.d.ts +2 -1
  267. package/dist/plugin-sdk/telegram/send.d.ts +3 -0
  268. package/dist/plugin-sdk/web/media.d.ts +2 -0
  269. package/dist/{plugins-Db5BiELK.js → plugins-4Hqd1WGf.js} +3 -3
  270. package/dist/{plugins-CNaHNND_.js → plugins-X7d_tfTE.js} +4 -4
  271. package/dist/{plugins-cli-8G-hQPCu.js → plugins-cli-Bgku3EGj.js} +253 -44
  272. package/dist/{plugins-cli-CDiocaDE.js → plugins-cli-CVToH3if.js} +257 -48
  273. package/dist/{ports-BeebfNCb.js → ports-qkt29rdC.js} +2 -2
  274. package/dist/{program-0Cj9YxRN.js → program-Cf7lkBur.js} +82 -80
  275. package/dist/{progress-DIQJt9Va.js → progress-C9kngsTD.js} +1 -1
  276. package/dist/{progress-Da1ehW-x.js → progress-DWqhRakV.js} +1 -1
  277. package/dist/{prompt-style-Dc0C5HC9.js → prompt-style-BFH5D5LN.js} +1 -1
  278. package/dist/{prompt-style-CjQRlDx4.js → prompt-style-CIbmaxSa.js} +1 -1
  279. package/dist/{pw-ai-C43wv1ZF.js → pw-ai-8mdv3h-d.js} +7 -6
  280. package/dist/{pw-ai-COWYvUfG.js → pw-ai-CM1IsSgZ.js} +6 -6
  281. package/dist/{pw-ai-BxJ-KCIy.js → pw-ai-FGoRVblI.js} +5 -6
  282. package/dist/{pw-ai-CsvaObGM.js → pw-ai-sS1fRKW_.js} +3 -3
  283. package/dist/{qmd-manager-CpsjQyaZ.js → qmd-manager-C67Fc8aN.js} +79 -26
  284. package/dist/{qmd-manager-C9YWFeG6.js → qmd-manager-CXVbfg99.js} +81 -26
  285. package/dist/{qmd-manager-C02E8ixK.js → qmd-manager-RMRE8Tqt.js} +81 -26
  286. package/dist/{qmd-manager-BzY2LQTT.js → qmd-manager-pyc_MTIe.js} +78 -23
  287. package/dist/{register.subclis-DUkirdHn.js → register.subclis-C02e4zuJ.js} +29 -29
  288. package/dist/{reply--b7BsXGP.js → reply-DICXkh_C.js} +7289 -8455
  289. package/dist/{routes-DUkEKAc1.js → routes-CmOI1hIH.js} +29 -11
  290. package/dist/{routes-B4QQiFju.js → routes-DewK5tq2.js} +29 -12
  291. package/dist/{rpc-CuMtxrRT.js → rpc-DHr30euf.js} +3 -3
  292. package/dist/{rpc-Blt6MJ4F.js → rpc-T300F8zI.js} +3 -3
  293. package/dist/{run-main-XZcPA23b.js → run-main-C5wpthq1.js} +84 -82
  294. package/dist/runner-CY0nmVme.js +1886 -0
  295. package/dist/runner-Cfm5nTMc.js +1785 -0
  296. package/dist/runner-D_dujMod.js +1886 -0
  297. package/dist/runner-DrGYLH5K.js +1785 -0
  298. package/dist/{sandbox-Aks-9EcZ.js → sandbox-BKYnhYQH.js} +24 -17
  299. package/dist/{sandbox-DqUO2K83.js → sandbox-Bhjnh1Xg.js} +23 -16
  300. package/dist/{sandbox-cli-C99Thxi8.js → sandbox-cli-DBsAjZJN.js} +21 -21
  301. package/dist/{sandbox-cli-CJqRM4V6.js → sandbox-cli-rV9LtFeu.js} +21 -21
  302. package/dist/{security-cli-iqYLMOz3.js → security-cli-BIwJM_rs.js} +27 -27
  303. package/dist/{security-cli-DW3lCz-o.js → security-cli-BRjny8Yu.js} +27 -27
  304. package/dist/{server-context-fX4xiYRh.js → server-context-BGpGs3qd.js} +7 -7
  305. package/dist/{server-context-8Qt35QdF.js → server-context-Cl0U0vE3.js} +7 -7
  306. package/dist/{server-node-events-CHWXfb_T.js → server-node-events-CBfTbiTA.js} +48 -44
  307. package/dist/{server-node-events-BzrEnKLX.js → server-node-events-QCvh8EgI.js} +45 -41
  308. package/dist/{service-Cd4BxKuo.js → service--nPk7DvT.js} +8 -4
  309. package/dist/{service-DDPRbf8a.js → service-99RDXwX4.js} +8 -4
  310. package/dist/{service-audit-CCFxuvKs.js → service-audit-DnLmRGQt.js} +4 -4
  311. package/dist/{service-audit-x6jCN-6a.js → service-audit-ckBaRCVC.js} +4 -4
  312. package/dist/{session-cost-usage-CcCEQNuc.js → session-cost-usage-D7HuoSSD.js} +12 -10
  313. package/dist/{session-cost-usage-PvyVZz-g.js → session-cost-usage-D9hHANWI.js} +12 -10
  314. package/dist/{shared-ILguacOr.js → shared-Bs4vduG4.js} +3 -3
  315. package/dist/{shared-CagUDdmp.js → shared-CEY5IkwG.js} +3 -3
  316. package/dist/{shared-gOyV38rM.js → shared-DRohONn_.js} +4 -4
  317. package/dist/{shared-BDk_zC9p.js → shared-ICqOZibV.js} +4 -4
  318. package/dist/{skill-scanner-C_fQzVDu.js → skill-scanner-CucvxYhu.js} +1 -1
  319. package/dist/{skill-scanner-DrVEHfC6.js → skill-scanner-rHMtUHtP.js} +1 -1
  320. package/dist/{skills-D5UZZZSY.js → skills-DRjfSQT3.js} +141 -6
  321. package/dist/{skills-ccAgQ3Ad.js → skills-DprQj9X2.js} +142 -7
  322. package/dist/{skills-cli-DQilTG3n.js → skills-cli-9WO-C55s.js} +12 -12
  323. package/dist/{skills-cli-ggyLBtAY.js → skills-cli-B9eej-EW.js} +13 -13
  324. package/dist/{skills-status-BosMnzIs.js → skills-status-5U3P3YfJ.js} +3 -3
  325. package/dist/{skills-status-DjtPPMnY.js → skills-status-TDIgVd1K.js} +2 -2
  326. package/dist/{sqlite-B7FPASCO.js → sqlite-BINzs1U0.js} +2 -2
  327. package/dist/{sqlite-Btrgi7-j.js → sqlite-D4w5TejA.js} +3 -3
  328. package/dist/{sqlite-BrQ9tw8B.js → sqlite-DRRHmlug.js} +3 -3
  329. package/dist/{sqlite-HepBVDoX.js → sqlite-F6PGkEm1.js} +2 -2
  330. package/dist/{status-BByCntWS.js → status-BKGkKC_v.js} +3 -3
  331. package/dist/{status-Dt7RE_Yy.js → status-CiHtHdaa.js} +4 -4
  332. package/dist/{status-zfL4Yej7.js → status-DDWoOpeB.js} +37 -37
  333. package/dist/{subsystem-Bh1Y_6Uv.js → subsystem-BoExtIHo.js} +52 -17
  334. package/dist/{system-cli-DwuUkdkH.js → system-cli-B6lr60Io.js} +14 -14
  335. package/dist/{system-cli-Clqsx8U5.js → system-cli-CprW9G3h.js} +14 -14
  336. package/dist/{systemd-BEWwfwn0.js → systemd-C0VZriGM.js} +3 -3
  337. package/dist/{systemd-D6wTPnHi.js → systemd-DrmBtJ5T.js} +3 -3
  338. package/dist/{systemd-hints-zi4ohCOY.js → systemd-hints-DZtXiVHa.js} +1 -1
  339. package/dist/{systemd-linger-CDo2UbHM.js → systemd-linger-NC2kl1SC.js} +2 -2
  340. package/dist/{systemd-linger-BxjTrgoH.js → systemd-linger-xdn3BdPh.js} +2 -2
  341. package/dist/{table-DEnmtvl5.js → table-B8dx3v4v.js} +2 -2
  342. package/dist/{table-cCoGqLsk.js → table-CwulTLQp.js} +1 -1
  343. package/dist/{tool-display-DskiU8Kt.js → tool-display-CZRIDMRm.js} +2 -2
  344. package/dist/{tool-display-o-dDAlqF.js → tool-display-ClRud3pg.js} +2 -2
  345. package/dist/{tui-BdJWZdto.js → tui-CVTQn-dC.js} +14 -13
  346. package/dist/{tui-Bc7XUQGP.js → tui-Lu8FdrlK.js} +13 -14
  347. package/dist/{tui-cli-BGYh0UL0.js → tui-cli-BLpTj1X9.js} +27 -27
  348. package/dist/{tui-cli-D3n-O9zB.js → tui-cli-BLx5kL2I.js} +26 -26
  349. package/dist/{tui-formatters-CA85v4U2.js → tui-formatters-CNySEfJN.js} +6 -6
  350. package/dist/{tui-formatters-C3NarH24.js → tui-formatters-DePhZK3J.js} +6 -6
  351. package/dist/{update-JB16aPIY.js → update-DHVxMTpQ.js} +3 -3
  352. package/dist/{update-Ct9sqJC_.js → update-DU1geolI.js} +3 -3
  353. package/dist/{update-cli-wWKDS3cm.js → update-cli-C0hUvJWK.js} +89 -71
  354. package/dist/{update-cli-DDXp_N9B.js → update-cli-Wb1GB3rL.js} +88 -70
  355. package/dist/{update-runner-ChTf6O6p.js → update-runner--ixK4J3W.js} +11 -11
  356. package/dist/{update-runner-CmE6cHdn.js → update-runner-7Qa1T9y6.js} +10 -10
  357. package/dist/{utils-Dk86IbEs.js → utils-BLJAc3ZV.js} +1 -1
  358. package/dist/{utils-es4ygvQ-.js → utils-Cd9QdCHh.js} +1 -1
  359. package/dist/{webhooks-cli-CVIE9TtX.js → webhooks-cli-DgcMy7RG.js} +12 -12
  360. package/dist/{webhooks-cli-BmKSiQQC.js → webhooks-cli-aVzUcJY9.js} +11 -11
  361. package/dist/{widearea-dns-2ah0bkAj.js → widearea-dns-BaIgNEhY.js} +3 -3
  362. package/dist/{widearea-dns-CMIG6-74.js → widearea-dns-DzuRdwk5.js} +3 -3
  363. package/dist/{ws-DtDKpbLR.js → ws-CHCQHs0F.js} +1 -1
  364. package/dist/{ws-log-BP3z_g6Z.js → ws-log-CIXbLCka.js} +1 -1
  365. package/dist/{ws-log-D7MkvKhg.js → ws-log-DcQFZByi.js} +2 -2
  366. package/dist/{wsl-Cwo7X0Un.js → wsl-BUOkxKJu.js} +2 -2
  367. package/docs/assets/install-script.svg +1 -0
  368. package/docs/automation/hooks.md +1 -38
  369. package/docs/automation/webhook.md +43 -2
  370. package/docs/channels/discord.md +389 -381
  371. package/docs/channels/imessage.md +229 -218
  372. package/docs/channels/slack.md +294 -415
  373. package/docs/channels/telegram.md +401 -505
  374. package/docs/channels/whatsapp.md +338 -310
  375. package/docs/ci.md +0 -12
  376. package/docs/cli/hooks.md +1 -14
  377. package/docs/cli/index.md +6 -1
  378. package/docs/cli/logs.md +4 -0
  379. package/docs/cli/onboard.md +30 -0
  380. package/docs/cli/plugins.md +20 -1
  381. package/docs/cli/security.md +1 -0
  382. package/docs/concepts/memory.md +7 -4
  383. package/docs/concepts/session-tool.md +1 -0
  384. package/docs/docs.json +11 -11
  385. package/docs/gateway/configuration-examples.md +9 -2
  386. package/docs/gateway/configuration-reference.md +2329 -0
  387. package/docs/gateway/configuration.md +338 -3304
  388. package/docs/gateway/index.md +162 -238
  389. package/docs/gateway/openresponses-http-api.md +15 -0
  390. package/docs/gateway/security/index.md +3 -0
  391. package/docs/help/faq.md +9 -0
  392. package/docs/install/hetzner.md +21 -0
  393. package/docs/install/installer.md +20 -0
  394. package/docs/nodes/audio.md +19 -0
  395. package/docs/platforms/mac/release.md +7 -7
  396. package/docs/providers/glm.md +3 -3
  397. package/docs/providers/index.md +1 -0
  398. package/docs/providers/litellm.md +153 -0
  399. package/docs/providers/zai.md +2 -2
  400. package/docs/reference/templates/AGENTS.md +26 -26
  401. package/docs/reference/templates/HEARTBEAT.md +31 -2
  402. package/docs/reference/templates/SOUL.md +14 -8
  403. package/docs/reference/transcript-hygiene.md +18 -0
  404. package/docs/start/getting-started.md +5 -0
  405. package/docs/start/wizard-cli-automation.md +17 -0
  406. package/docs/start/wizard-cli-reference.md +12 -0
  407. package/docs/tools/browser.md +6 -0
  408. package/docs/zh-CN/automation/hooks.md +1 -38
  409. package/docs/zh-CN/cli/hooks.md +1 -14
  410. package/extensions/bluebubbles/package.json +1 -1
  411. package/extensions/bluebubbles/src/monitor.test.ts +40 -28
  412. package/extensions/bluebubbles/src/monitor.ts +0 -4
  413. package/extensions/copilot-proxy/package.json +1 -1
  414. package/extensions/diagnostics-otel/package.json +10 -10
  415. package/extensions/discord/package.json +1 -1
  416. package/extensions/feishu/package.json +2 -5
  417. package/extensions/feishu/src/bot.checkBotMentioned.test.ts +64 -0
  418. package/extensions/feishu/src/bot.ts +1 -1
  419. package/extensions/feishu/src/channel.test.ts +48 -0
  420. package/extensions/feishu/src/channel.ts +1 -3
  421. package/extensions/feishu/src/config-schema.ts +6 -0
  422. package/extensions/feishu/src/docx.ts +14 -4
  423. package/extensions/feishu/src/media.test.ts +151 -0
  424. package/extensions/feishu/src/media.ts +27 -13
  425. package/extensions/feishu/src/reply-dispatcher.test.ts +116 -0
  426. package/extensions/feishu/src/reply-dispatcher.ts +124 -67
  427. package/extensions/feishu/src/streaming-card.ts +223 -0
  428. package/extensions/feishu/src/targets.test.ts +16 -0
  429. package/extensions/feishu/src/targets.ts +1 -1
  430. package/extensions/google-antigravity-auth/package.json +1 -1
  431. package/extensions/google-gemini-cli-auth/package.json +1 -1
  432. package/extensions/googlechat/package.json +1 -1
  433. package/extensions/imessage/package.json +1 -1
  434. package/extensions/irc/package.json +1 -1
  435. package/extensions/irc/src/client.ts +1 -1
  436. package/extensions/line/package.json +1 -1
  437. package/extensions/llm-task/package.json +1 -1
  438. package/extensions/lobster/package.json +1 -1
  439. package/extensions/matrix/CHANGELOG.md +6 -0
  440. package/extensions/matrix/package.json +2 -2
  441. package/extensions/mattermost/package.json +1 -1
  442. package/extensions/memory-core/package.json +1 -1
  443. package/extensions/memory-lancedb/index.ts +6 -2
  444. package/extensions/memory-lancedb/package.json +2 -2
  445. package/extensions/minimax-portal-auth/index.ts +7 -5
  446. package/extensions/minimax-portal-auth/package.json +1 -1
  447. package/extensions/msteams/CHANGELOG.md +6 -0
  448. package/extensions/msteams/package.json +1 -1
  449. package/extensions/nextcloud-talk/package.json +1 -1
  450. package/extensions/nostr/CHANGELOG.md +6 -0
  451. package/extensions/nostr/package.json +2 -2
  452. package/extensions/open-prose/package.json +1 -1
  453. package/extensions/signal/package.json +1 -1
  454. package/extensions/slack/package.json +1 -1
  455. package/extensions/telegram/package.json +1 -1
  456. package/extensions/tlon/package.json +1 -1
  457. package/extensions/twitch/CHANGELOG.md +6 -0
  458. package/extensions/twitch/package.json +1 -1
  459. package/extensions/voice-call/CHANGELOG.md +6 -0
  460. package/extensions/voice-call/package.json +1 -1
  461. package/extensions/voice-call/src/media-stream.ts +7 -1
  462. package/extensions/voice-call/src/providers/twilio.test.ts +5 -3
  463. package/extensions/voice-call/src/providers/twilio.ts +12 -1
  464. package/extensions/whatsapp/package.json +1 -1
  465. package/extensions/zalo/CHANGELOG.md +6 -0
  466. package/extensions/zalo/package.json +1 -1
  467. package/extensions/zalouser/CHANGELOG.md +6 -0
  468. package/extensions/zalouser/package.json +1 -1
  469. package/package.json +26 -22
  470. package/dist/auth-BcNHFK-i.js +0 -184
  471. package/dist/auth-BvIPpm7G.js +0 -184
  472. package/dist/boolean-M-esQJt6.js +0 -30
  473. package/dist/bundled/soul-evil/HOOK.md +0 -71
  474. package/dist/bundled/soul-evil/handler.js +0 -194
  475. package/dist/cli-DJbWJ9aB.js +0 -89
  476. package/dist/config-CI7EpvlP.js +0 -15
  477. package/dist/control-ui/assets/index-CnB9IO4a.js.map +0 -1
  478. package/dist/date-time-c6HTX6IW.js +0 -187
  479. package/dist/frontmatter-xwTm0734.js +0 -105
  480. package/dist/parse-duration-De_tAQSe.js +0 -24
  481. package/dist/session-key-nXYQSv-a.js +0 -167
  482. package/dist/utils-dp_OM900.js +0 -476
  483. package/docs/hooks/soul-evil.md +0 -69
  484. package/docs/zh-CN/hooks/soul-evil.md +0 -72
  485. /package/dist/{archive-CXhvR9nU.js → archive-beaSfAzA.js} +0 -0
  486. /package/dist/{brew-BIrWdDps.js → brew-BUIxHEkn.js} +0 -0
  487. /package/dist/{brew-B7YK4ZoL.js → brew-ROHf0-Xp.js} +0 -0
  488. /package/dist/{cli-utils-PlLcDZlM.js → cli-utils-CRhVAaLV.js} +0 -0
  489. /package/dist/{cli-utils-R-ECs5cY.js → cli-utils-LcHOt63h.js} +0 -0
  490. /package/dist/{command-format-BUxhT1xL.js → command-format-qUVxzqYm.js} +0 -0
  491. /package/dist/{constants-CNTiY-ZN.js → constants-BvQ6S8j5.js} +0 -0
  492. /package/dist/{constants-DuoCkWRh.js → constants-JPeoOZnw.js} +0 -0
  493. /package/dist/{errors-D3tYRJWG.js → errors-B91HIDPD.js} +0 -0
  494. /package/dist/{errors-B0eT3jVv.js → errors-Bv81hF2P.js} +0 -0
  495. /package/dist/{errors-x4NYs-1P.js → errors-DjZBTJJ3.js} +0 -0
  496. /package/dist/{exec-approvals-DGPTjO0N.js → exec-approvals-Cb4ZLukq.js} +0 -0
  497. /package/dist/{exec-approvals-DhmKpiIo.js → exec-approvals-DQ8TVVmj.js} +0 -0
  498. /package/dist/{format-CaxeRcue.js → format-CNU-Zkrz.js} +0 -0
  499. /package/dist/{format-DLOJPZmo.js → format-DcfK-dwd.js} +0 -0
  500. /package/dist/{format-duration-Be5Z7JdJ.js → format-duration-84n6_DgO.js} +0 -0
  501. /package/dist/{format-duration-CEmFWLyX.js → format-duration-Bo9zNKwO.js} +0 -0
  502. /package/dist/{format-relative-79_Y1n2Y.js → format-relative-CZOlQ2pA.js} +0 -0
  503. /package/dist/{format-relative-Db7eqEu8.js → format-relative-cegC_FF5.js} +0 -0
  504. /package/dist/{github-copilot-token-C9IJh2Pn.js → github-copilot-token-DkiRbJdR.js} +0 -0
  505. /package/dist/{helpers-CQI-5xS9.js → helpers-8O7IVGO-.js} +0 -0
  506. /package/dist/{helpers-CRzoyyXS.js → helpers-D_jqdWkd.js} +0 -0
  507. /package/dist/{helpers-C89IG08W.js → helpers-HyeZXsnu.js} +0 -0
  508. /package/dist/{is-main-WWuz28Ip.js → is-main-BWoXGz7p.js} +0 -0
  509. /package/dist/{logging-BzvBIA3Y.js → logging-fywhKCmE.js} +0 -0
  510. /package/dist/{nodes-screen-lykd2cny.js → nodes-screen-CdCWeiwy.js} +0 -0
  511. /package/dist/{parse-Cjiudy6x.js → parse-Bw0oH-rT.js} +0 -0
  512. /package/dist/{parse-DqAvJRIf.js → parse-ioZhOtha.js} +0 -0
  513. /package/dist/{parse-log-line-CUrpqe1w.js → parse-log-line-BoDqomM4.js} +0 -0
  514. /package/dist/{parse-log-line-D2UGw0wR.js → parse-log-line-DPxH1XZx.js} +0 -0
  515. /package/dist/{parse-timeout-DFSPLxpY.js → parse-timeout-D1XX_zN_.js} +0 -0
  516. /package/dist/{parse-timeout-DV8NQQWk.js → parse-timeout-DMW-z4Iz.js} +0 -0
  517. /package/dist/{pi-model-discovery-CV2V1HHz.js → pi-model-discovery-DqgqUyAv.js} +0 -0
  518. /package/dist/{pi-model-discovery-DzFOAbQt.js → pi-model-discovery-EwKVHlZB.js} +0 -0
  519. /package/dist/{prompts--d-6l5Ln.js → prompts-Bg96reub.js} +0 -0
  520. /package/dist/{redact-DAKeu7PA.js → redact-BRsnXqwD.js} +0 -0
  521. /package/dist/{redact-DuEEf1p1.js → redact-Br9GfacZ.js} +0 -0
  522. /package/dist/{redact-BOIof271.js → redact-BrXLgslJ.js} +0 -0
  523. /package/dist/{status-Cv36yYdi.js → status-BRZfQbJ2.js} +0 -0
  524. /package/dist/{status-Drziap9H.js → status-CoAy6bEC.js} +0 -0
  525. /package/dist/{systemd-hints-CH4pbCFD.js → systemd-hints-CXNtLw9Q.js} +0 -0
  526. /package/dist/{tailnet-DGRSvYuQ.js → tailnet-DATIFSsY.js} +0 -0
  527. /package/dist/{transcript-events-BlIONGVn.js → transcript-events-BHS7QoRl.js} +0 -0
  528. /package/dist/{transcript-events-C1hdue6u.js → transcript-events-Bp7fGnwv.js} +0 -0
  529. /package/dist/{transcript-events-CZ8CG4ht.js → transcript-events-BtNd-j6q.js} +0 -0
  530. /package/dist/{usage-format-6Uar63S0.js → usage-format-C4JfTbSp.js} +0 -0
  531. /package/dist/{usage-format-hd37en6b.js → usage-format-CpORtVCG.js} +0 -0
@@ -1,8 +1,8 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { g as resolveStateDir } from "./paths-DVBShlw6.js";
3
- import { g as pathExists } from "./utils-es4ygvQ-.js";
4
- import { t as isTruthyEnvValue } from "./env-BxRc6wWv.js";
5
- import { r as resolveActionArgs } from "./helpers-CRzoyyXS.js";
3
+ import { g as pathExists } from "./utils-Cd9QdCHh.js";
4
+ import { t as isTruthyEnvValue } from "./env-ONzUVAG2.js";
5
+ import { r as resolveActionArgs } from "./helpers-8O7IVGO-.js";
6
6
  import os from "node:os";
7
7
  import path from "node:path";
8
8
  import fs from "node:fs/promises";
@@ -111,143 +111,143 @@ const shouldEagerRegisterSubcommands = (_argv) => {
111
111
  return isTruthyEnvValue(process.env.OPENCLAW_DISABLE_LAZY_SUBCOMMANDS);
112
112
  };
113
113
  const loadConfig = async () => {
114
- return (await import("./config--NUdpACy.js").then((n) => n.t)).loadConfig();
114
+ return (await import("./config-aFQssWKX.js").then((n) => n.t)).loadConfig();
115
115
  };
116
116
  const entries = [
117
117
  {
118
118
  name: "acp",
119
119
  description: "Agent Control Protocol tools",
120
120
  register: async (program) => {
121
- (await import("./acp-cli-CVFTdsQY.js")).registerAcpCli(program);
121
+ (await import("./acp-cli-CeYI4XRd.js")).registerAcpCli(program);
122
122
  }
123
123
  },
124
124
  {
125
125
  name: "gateway",
126
126
  description: "Gateway control",
127
127
  register: async (program) => {
128
- (await import("./gateway-cli-B_xDUDy2.js")).registerGatewayCli(program);
128
+ (await import("./gateway-cli-DbvWmE-9.js")).registerGatewayCli(program);
129
129
  }
130
130
  },
131
131
  {
132
132
  name: "daemon",
133
133
  description: "Gateway service (legacy alias)",
134
134
  register: async (program) => {
135
- (await import("./daemon-cli-q7nkEF5-.js").then((n) => n.t)).registerDaemonCli(program);
135
+ (await import("./daemon-cli-BDkU2ocb.js").then((n) => n.t)).registerDaemonCli(program);
136
136
  }
137
137
  },
138
138
  {
139
139
  name: "logs",
140
140
  description: "Gateway logs",
141
141
  register: async (program) => {
142
- (await import("./logs-cli-CmfINsOj.js")).registerLogsCli(program);
142
+ (await import("./logs-cli-EiKzUFPa.js")).registerLogsCli(program);
143
143
  }
144
144
  },
145
145
  {
146
146
  name: "system",
147
147
  description: "System events, heartbeat, and presence",
148
148
  register: async (program) => {
149
- (await import("./system-cli-DwuUkdkH.js")).registerSystemCli(program);
149
+ (await import("./system-cli-B6lr60Io.js")).registerSystemCli(program);
150
150
  }
151
151
  },
152
152
  {
153
153
  name: "models",
154
154
  description: "Model configuration",
155
155
  register: async (program) => {
156
- (await import("./models-cli-CUIVPgXE.js")).registerModelsCli(program);
156
+ (await import("./models-cli-zS9rtWz8.js")).registerModelsCli(program);
157
157
  }
158
158
  },
159
159
  {
160
160
  name: "approvals",
161
161
  description: "Exec approvals",
162
162
  register: async (program) => {
163
- (await import("./exec-approvals-cli-DEzz9Iai.js")).registerExecApprovalsCli(program);
163
+ (await import("./exec-approvals-cli-7LH0lwhO.js")).registerExecApprovalsCli(program);
164
164
  }
165
165
  },
166
166
  {
167
167
  name: "nodes",
168
168
  description: "Node commands",
169
169
  register: async (program) => {
170
- (await import("./nodes-cli-BaVMTAPc.js")).registerNodesCli(program);
170
+ (await import("./nodes-cli-Dx23D72n.js")).registerNodesCli(program);
171
171
  }
172
172
  },
173
173
  {
174
174
  name: "devices",
175
175
  description: "Device pairing + token management",
176
176
  register: async (program) => {
177
- (await import("./devices-cli-ZpjlfK-e.js")).registerDevicesCli(program);
177
+ (await import("./devices-cli-VIQtOvt_.js")).registerDevicesCli(program);
178
178
  }
179
179
  },
180
180
  {
181
181
  name: "node",
182
182
  description: "Node control",
183
183
  register: async (program) => {
184
- (await import("./node-cli-CdYAsuQQ.js")).registerNodeCli(program);
184
+ (await import("./node-cli-wemUMCg-.js")).registerNodeCli(program);
185
185
  }
186
186
  },
187
187
  {
188
188
  name: "sandbox",
189
189
  description: "Sandbox tools",
190
190
  register: async (program) => {
191
- (await import("./sandbox-cli-CJqRM4V6.js")).registerSandboxCli(program);
191
+ (await import("./sandbox-cli-rV9LtFeu.js")).registerSandboxCli(program);
192
192
  }
193
193
  },
194
194
  {
195
195
  name: "tui",
196
196
  description: "Terminal UI",
197
197
  register: async (program) => {
198
- (await import("./tui-cli-BGYh0UL0.js")).registerTuiCli(program);
198
+ (await import("./tui-cli-BLpTj1X9.js")).registerTuiCli(program);
199
199
  }
200
200
  },
201
201
  {
202
202
  name: "cron",
203
203
  description: "Cron scheduler",
204
204
  register: async (program) => {
205
- (await import("./cron-cli-Cum2324v.js")).registerCronCli(program);
205
+ (await import("./cron-cli-D7BRjDv2.js")).registerCronCli(program);
206
206
  }
207
207
  },
208
208
  {
209
209
  name: "dns",
210
210
  description: "DNS helpers",
211
211
  register: async (program) => {
212
- (await import("./dns-cli-CU-xfhTN.js")).registerDnsCli(program);
212
+ (await import("./dns-cli-DHIiMJjS.js")).registerDnsCli(program);
213
213
  }
214
214
  },
215
215
  {
216
216
  name: "docs",
217
217
  description: "Docs helpers",
218
218
  register: async (program) => {
219
- (await import("./docs-cli-Cj3L5oqB.js")).registerDocsCli(program);
219
+ (await import("./docs-cli-BhkYqoIQ.js")).registerDocsCli(program);
220
220
  }
221
221
  },
222
222
  {
223
223
  name: "hooks",
224
224
  description: "Hooks tooling",
225
225
  register: async (program) => {
226
- (await import("./hooks-cli-ptEf6TIM.js")).registerHooksCli(program);
226
+ (await import("./hooks-cli-CT8JCRkH.js")).registerHooksCli(program);
227
227
  }
228
228
  },
229
229
  {
230
230
  name: "webhooks",
231
231
  description: "Webhook helpers",
232
232
  register: async (program) => {
233
- (await import("./webhooks-cli-BmKSiQQC.js")).registerWebhooksCli(program);
233
+ (await import("./webhooks-cli-aVzUcJY9.js")).registerWebhooksCli(program);
234
234
  }
235
235
  },
236
236
  {
237
237
  name: "pairing",
238
238
  description: "Pairing helpers",
239
239
  register: async (program) => {
240
- const { registerPluginCliCommands } = await import("./cli-DJbWJ9aB.js");
240
+ const { registerPluginCliCommands } = await import("./cli-miPe4Ujz.js");
241
241
  registerPluginCliCommands(program, await loadConfig());
242
- (await import("./pairing-cli-Cng1KFWw.js")).registerPairingCli(program);
242
+ (await import("./pairing-cli-CQP34Dlx.js")).registerPairingCli(program);
243
243
  }
244
244
  },
245
245
  {
246
246
  name: "plugins",
247
247
  description: "Plugin management",
248
248
  register: async (program) => {
249
- (await import("./plugins-cli-CDiocaDE.js")).registerPluginsCli(program);
250
- const { registerPluginCliCommands } = await import("./cli-DJbWJ9aB.js");
249
+ (await import("./plugins-cli-CVToH3if.js")).registerPluginsCli(program);
250
+ const { registerPluginCliCommands } = await import("./cli-miPe4Ujz.js");
251
251
  registerPluginCliCommands(program, await loadConfig());
252
252
  }
253
253
  },
@@ -255,35 +255,35 @@ const entries = [
255
255
  name: "channels",
256
256
  description: "Channel management",
257
257
  register: async (program) => {
258
- (await import("./channels-cli-BFznbGOs.js")).registerChannelsCli(program);
258
+ (await import("./channels-cli-BJUppQll.js")).registerChannelsCli(program);
259
259
  }
260
260
  },
261
261
  {
262
262
  name: "directory",
263
263
  description: "Directory commands",
264
264
  register: async (program) => {
265
- (await import("./directory-cli-B14TUSJA.js")).registerDirectoryCli(program);
265
+ (await import("./directory-cli-BCJwjVC0.js")).registerDirectoryCli(program);
266
266
  }
267
267
  },
268
268
  {
269
269
  name: "security",
270
270
  description: "Security helpers",
271
271
  register: async (program) => {
272
- (await import("./security-cli-DW3lCz-o.js")).registerSecurityCli(program);
272
+ (await import("./security-cli-BRjny8Yu.js")).registerSecurityCli(program);
273
273
  }
274
274
  },
275
275
  {
276
276
  name: "skills",
277
277
  description: "Skills management",
278
278
  register: async (program) => {
279
- (await import("./skills-cli-DQilTG3n.js")).registerSkillsCli(program);
279
+ (await import("./skills-cli-9WO-C55s.js")).registerSkillsCli(program);
280
280
  }
281
281
  },
282
282
  {
283
283
  name: "update",
284
284
  description: "CLI update helpers",
285
285
  register: async (program) => {
286
- (await import("./update-cli-wWKDS3cm.js")).registerUpdateCli(program);
286
+ (await import("./update-cli-C0hUvJWK.js")).registerUpdateCli(program);
287
287
  }
288
288
  },
289
289
  {
@@ -1,10 +1,10 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { B as resolveConfigPath, F as CONFIG_PATH, G as resolveIsNixMode, H as resolveDefaultConfigCandidates, I as DEFAULT_GATEWAY_PORT, J as resolveOAuthDir, K as resolveLegacyStateDirs, L as STATE_DIR, R as isNixMode, U as resolveGatewayLockDir, V as resolveConfigPathCandidate, W as resolveGatewayPort, X as resolveStateDir, Y as resolveOAuthPath, Z as CHANNEL_IDS, ot as normalizeChatChannelId, pt as resolveRequiredHomeDir, q as resolveNewStateDir, z as resolveCanonicalConfigPath } from "./entry.js";
3
- import { A as parseModelRef, Ct as DEFAULT_CONTEXT_TOKENS, _t as resolveShellEnvFallbackTimeoutMs, gt as loadShellEnvFallback, vt as shouldDeferShellEnvFallback, yt as shouldEnableShellEnvFallback } from "./auth-profiles-Bv1AEm-Y.js";
2
+ import { $ as CHANNEL_IDS, B as resolveCanonicalConfigPath, G as resolveGatewayPort, H as resolveConfigPathCandidate, I as CONFIG_PATH, J as resolveNewStateDir, K as resolveIsNixMode, L as DEFAULT_GATEWAY_PORT, R as STATE_DIR, U as resolveDefaultConfigCandidates, V as resolveConfigPath, W as resolveGatewayLockDir, X as resolveOAuthPath, Y as resolveOAuthDir, Z as resolveStateDir, ct as normalizeChatChannelId, ht as resolveRequiredHomeDir, q as resolveLegacyStateDirs, z as isNixMode } from "./entry.js";
3
+ import { A as parseModelRef, Ct as DEFAULT_CONTEXT_TOKENS, _t as resolveShellEnvFallbackTimeoutMs, gt as loadShellEnvFallback, vt as shouldDeferShellEnvFallback, yt as shouldEnableShellEnvFallback } from "./auth-profiles-ByNs3eEm.js";
4
4
  import { l as normalizeAgentId, n as DEFAULT_AGENT_ID } from "./session-key-DVvxnFKg.js";
5
- import { d as isRecord, g as resolveConfigDir, u as isPlainObject, y as resolveUserPath } from "./utils-Dk86IbEs.js";
6
- import { c as resolveDefaultAgentId, s as resolveAgentWorkspaceDir } from "./agent-scope-DQuy3dwI.js";
7
- import { c as normalizePluginsConfig, l as resolveEnableState, t as loadPluginManifestRegistry, u as resolveMemorySlotDecision } from "./manifest-registry-D5SiA3xq.js";
5
+ import { d as isRecord, g as resolveConfigDir, u as isPlainObject, y as resolveUserPath } from "./utils-BLJAc3ZV.js";
6
+ import { c as resolveDefaultAgentId, s as resolveAgentWorkspaceDir } from "./agent-scope-CsRbLH4l.js";
7
+ import { d as resolveMemorySlotDecision, l as normalizePluginsConfig, t as loadPluginManifestRegistry, u as resolveEnableState } from "./manifest-registry-u0okVSkU.js";
8
8
  import { createRequire } from "node:module";
9
9
  import path from "node:path";
10
10
  import os from "node:os";
@@ -2762,7 +2762,8 @@ const BindingsSchema = z.array(z.object({
2762
2762
  id: z.string()
2763
2763
  }).strict().optional(),
2764
2764
  guildId: z.string().optional(),
2765
- teamId: z.string().optional()
2765
+ teamId: z.string().optional(),
2766
+ roles: z.array(z.string()).optional()
2766
2767
  }).strict()
2767
2768
  }).strict()).optional();
2768
2769
  const BroadcastStrategySchema = z.enum(["parallel", "sequential"]);
@@ -2835,7 +2836,7 @@ const InternalHookHandlerSchema = z.object({
2835
2836
  const HookConfigSchema = z.object({
2836
2837
  enabled: z.boolean().optional(),
2837
2838
  env: z.record(z.string(), z.string()).optional()
2838
- }).strict();
2839
+ }).passthrough();
2839
2840
  const HookInstallRecordSchema = z.object({
2840
2841
  source: z.union([
2841
2842
  z.literal("npm"),
@@ -3148,6 +3149,7 @@ const DiscordGuildChannelSchema = z.object({
3148
3149
  skills: z.array(z.string()).optional(),
3149
3150
  enabled: z.boolean().optional(),
3150
3151
  users: z.array(z.union([z.string(), z.number()])).optional(),
3152
+ roles: z.array(z.union([z.string(), z.number()])).optional(),
3151
3153
  systemPrompt: z.string().optional(),
3152
3154
  includeThreadStarter: z.boolean().optional(),
3153
3155
  autoThread: z.boolean().optional()
@@ -3164,6 +3166,7 @@ const DiscordGuildSchema = z.object({
3164
3166
  "allowlist"
3165
3167
  ]).optional(),
3166
3168
  users: z.array(z.union([z.string(), z.number()])).optional(),
3169
+ roles: z.array(z.union([z.string(), z.number()])).optional(),
3167
3170
  channels: z.record(z.string(), DiscordGuildChannelSchema.optional()).optional()
3168
3171
  }).strict();
3169
3172
  const DiscordAccountSchema = z.object({
@@ -4021,6 +4024,11 @@ const MemoryQmdLimitsSchema = z.object({
4021
4024
  }).strict();
4022
4025
  const MemoryQmdSchema = z.object({
4023
4026
  command: z.string().optional(),
4027
+ searchMode: z.union([
4028
+ z.literal("query"),
4029
+ z.literal("search"),
4030
+ z.literal("vsearch")
4031
+ ]).optional(),
4024
4032
  includeDefaultMemory: z.boolean().optional(),
4025
4033
  paths: z.array(MemoryQmdPathSchema).optional(),
4026
4034
  sessions: MemoryQmdSessionSchema.optional(),
@@ -4182,6 +4190,9 @@ const OpenClawSchema = z.object({
4182
4190
  enabled: z.boolean().optional(),
4183
4191
  path: z.string().optional(),
4184
4192
  token: z.string().optional(),
4193
+ defaultSessionKey: z.string().optional(),
4194
+ allowRequestSessionKey: z.boolean().optional(),
4195
+ allowedSessionKeyPrefixes: z.array(z.string()).optional(),
4185
4196
  allowedAgentIds: z.array(z.string()).optional(),
4186
4197
  maxBodyBytes: z.number().int().positive().optional(),
4187
4198
  presets: z.array(z.string()).optional(),
@@ -4287,8 +4298,10 @@ const OpenClawSchema = z.object({
4287
4298
  responses: z.object({
4288
4299
  enabled: z.boolean().optional(),
4289
4300
  maxBodyBytes: z.number().int().positive().optional(),
4301
+ maxUrlParts: z.number().int().nonnegative().optional(),
4290
4302
  files: z.object({
4291
4303
  allowUrl: z.boolean().optional(),
4304
+ urlAllowlist: z.array(z.string()).optional(),
4292
4305
  allowedMimes: z.array(z.string()).optional(),
4293
4306
  maxBytes: z.number().int().positive().optional(),
4294
4307
  maxChars: z.number().int().positive().optional(),
@@ -4302,6 +4315,7 @@ const OpenClawSchema = z.object({
4302
4315
  }).strict().optional(),
4303
4316
  images: z.object({
4304
4317
  allowUrl: z.boolean().optional(),
4318
+ urlAllowlist: z.array(z.string()).optional(),
4305
4319
  allowedMimes: z.array(z.string()).optional(),
4306
4320
  maxBytes: z.number().int().positive().optional(),
4307
4321
  maxRedirects: z.number().int().nonnegative().optional(),
@@ -1,10 +1,7 @@
1
1
  import { a as resolveOAuthDir, n as resolveConfigPath, r as resolveDefaultConfigCandidates, s as resolveStateDir, u as resolveRequiredHomeDir } from "./paths-BZtyHNCi.js";
2
- import { c as normalizeAccountId, l as normalizeAgentId, n as DEFAULT_AGENT_ID, t as DEFAULT_ACCOUNT_ID } from "./session-key-nXYQSv-a.js";
3
- import { I as getChildLogger, T as info, c as isPlainObject, d as jidToE164, g as resolveUserPath, j as success, l as isRecord, m as resolveConfigDir } from "./utils-dp_OM900.js";
4
- import { b as normalizeChatChannelId, m as CHANNEL_IDS, u as defaultRuntime } from "./exec-CijMSZd9.js";
5
- import { c as resolveDefaultAgentId, s as resolveAgentWorkspaceDir } from "./agent-scope-D8miw9q_.js";
6
- import { B as loadShellEnvFallback, H as shouldDeferShellEnvFallback, P as DEFAULT_CONTEXT_TOKENS, U as shouldEnableShellEnvFallback, V as resolveShellEnvFallbackTimeoutMs, w as parseModelRef } from "./model-auth-ioeR_zLX.js";
7
- import { r as MANIFEST_KEY, t as parseDurationMs } from "./parse-duration-De_tAQSe.js";
2
+ import { M as normalizeAgentId, T as DEFAULT_AGENT_ID, c as resolveDefaultAgentId, j as normalizeAccountId, s as resolveAgentWorkspaceDir, w as DEFAULT_ACCOUNT_ID } from "./agent-scope-BIEhVP4_.js";
3
+ import { J as info, L as resolveConfigDir, M as isRecord, P as jidToE164, Q as success, b as normalizeChatChannelId, j as isPlainObject, m as CHANNEL_IDS, rt as getChildLogger, u as defaultRuntime, z as resolveUserPath } from "./exec-B8lXct-k.js";
4
+ import { B as loadShellEnvFallback, H as shouldDeferShellEnvFallback, P as DEFAULT_CONTEXT_TOKENS, U as shouldEnableShellEnvFallback, V as resolveShellEnvFallbackTimeoutMs, w as parseModelRef } from "./model-auth-CabXIF6O.js";
8
5
  import { createRequire } from "node:module";
9
6
  import fs from "node:fs/promises";
10
7
  import os from "node:os";
@@ -1982,6 +1979,46 @@ const normalizePluginsConfig = (config) => {
1982
1979
  entries: normalizePluginEntries(config?.entries)
1983
1980
  };
1984
1981
  };
1982
+ const hasExplicitMemorySlot = (plugins) => Boolean(plugins?.slots && Object.prototype.hasOwnProperty.call(plugins.slots, "memory"));
1983
+ const hasExplicitMemoryEntry = (plugins) => Boolean(plugins?.entries && Object.prototype.hasOwnProperty.call(plugins.entries, "memory-core"));
1984
+ const hasExplicitPluginConfig = (plugins) => {
1985
+ if (!plugins) return false;
1986
+ if (typeof plugins.enabled === "boolean") return true;
1987
+ if (Array.isArray(plugins.allow) && plugins.allow.length > 0) return true;
1988
+ if (Array.isArray(plugins.deny) && plugins.deny.length > 0) return true;
1989
+ if (plugins.load?.paths && Array.isArray(plugins.load.paths) && plugins.load.paths.length > 0) return true;
1990
+ if (plugins.slots && Object.keys(plugins.slots).length > 0) return true;
1991
+ if (plugins.entries && Object.keys(plugins.entries).length > 0) return true;
1992
+ return false;
1993
+ };
1994
+ function applyTestPluginDefaults(cfg, env = process.env) {
1995
+ if (!env.VITEST) return cfg;
1996
+ const plugins = cfg.plugins;
1997
+ if (hasExplicitPluginConfig(plugins)) {
1998
+ if (hasExplicitMemorySlot(plugins) || hasExplicitMemoryEntry(plugins)) return cfg;
1999
+ return {
2000
+ ...cfg,
2001
+ plugins: {
2002
+ ...plugins,
2003
+ slots: {
2004
+ ...plugins?.slots,
2005
+ memory: "none"
2006
+ }
2007
+ }
2008
+ };
2009
+ }
2010
+ return {
2011
+ ...cfg,
2012
+ plugins: {
2013
+ ...plugins,
2014
+ enabled: false,
2015
+ slots: {
2016
+ ...plugins?.slots,
2017
+ memory: "none"
2018
+ }
2019
+ }
2020
+ };
2021
+ }
1985
2022
  function resolveEnableState(id, origin, config) {
1986
2023
  if (!config.enabled) return {
1987
2024
  enabled: false,
@@ -2057,6 +2094,13 @@ function resolveBundledPluginsDir() {
2057
2094
  } catch {}
2058
2095
  }
2059
2096
 
2097
+ //#endregion
2098
+ //#region src/compat/legacy-names.ts
2099
+ const PROJECT_NAME = "openclaw";
2100
+ const LEGACY_PROJECT_NAMES = [];
2101
+ const MANIFEST_KEY = PROJECT_NAME;
2102
+ const LEGACY_MANIFEST_KEYS = LEGACY_PROJECT_NAMES;
2103
+
2060
2104
  //#endregion
2061
2105
  //#region src/plugins/manifest.ts
2062
2106
  const PLUGIN_MANIFEST_FILENAME = "openclaw.plugin.json";
@@ -2553,6 +2597,22 @@ function validateJsonSchemaValue(params) {
2553
2597
  };
2554
2598
  }
2555
2599
 
2600
+ //#endregion
2601
+ //#region src/cli/parse-duration.ts
2602
+ function parseDurationMs(raw, opts) {
2603
+ const trimmed = String(raw ?? "").trim().toLowerCase();
2604
+ if (!trimmed) throw new Error("invalid duration (empty)");
2605
+ const m = /^(\d+(?:\.\d+)?)(ms|s|m|h|d)?$/.exec(trimmed);
2606
+ if (!m) throw new Error(`invalid duration: ${raw}`);
2607
+ const value = Number(m[1]);
2608
+ if (!Number.isFinite(value) || value < 0) throw new Error(`invalid duration: ${raw}`);
2609
+ const unit = m[2] ?? opts?.defaultUnit ?? "ms";
2610
+ const multiplier = unit === "ms" ? 1 : unit === "s" ? 1e3 : unit === "m" ? 6e4 : unit === "h" ? 36e5 : 864e5;
2611
+ const ms = Math.round(value * multiplier);
2612
+ if (!Number.isFinite(ms)) throw new Error(`invalid duration: ${raw}`);
2613
+ return ms;
2614
+ }
2615
+
2556
2616
  //#endregion
2557
2617
  //#region src/infra/exec-safety.ts
2558
2618
  const SHELL_METACHARS = /[;&|`$<>]/;
@@ -3533,7 +3593,8 @@ const BindingsSchema = z.array(z.object({
3533
3593
  id: z.string()
3534
3594
  }).strict().optional(),
3535
3595
  guildId: z.string().optional(),
3536
- teamId: z.string().optional()
3596
+ teamId: z.string().optional(),
3597
+ roles: z.array(z.string()).optional()
3537
3598
  }).strict()
3538
3599
  }).strict()).optional();
3539
3600
  const BroadcastStrategySchema = z.enum(["parallel", "sequential"]);
@@ -3606,7 +3667,7 @@ const InternalHookHandlerSchema = z.object({
3606
3667
  const HookConfigSchema = z.object({
3607
3668
  enabled: z.boolean().optional(),
3608
3669
  env: z.record(z.string(), z.string()).optional()
3609
- }).strict();
3670
+ }).passthrough();
3610
3671
  const HookInstallRecordSchema = z.object({
3611
3672
  source: z.union([
3612
3673
  z.literal("npm"),
@@ -3919,6 +3980,7 @@ const DiscordGuildChannelSchema = z.object({
3919
3980
  skills: z.array(z.string()).optional(),
3920
3981
  enabled: z.boolean().optional(),
3921
3982
  users: z.array(z.union([z.string(), z.number()])).optional(),
3983
+ roles: z.array(z.union([z.string(), z.number()])).optional(),
3922
3984
  systemPrompt: z.string().optional(),
3923
3985
  includeThreadStarter: z.boolean().optional(),
3924
3986
  autoThread: z.boolean().optional()
@@ -3935,6 +3997,7 @@ const DiscordGuildSchema = z.object({
3935
3997
  "allowlist"
3936
3998
  ]).optional(),
3937
3999
  users: z.array(z.union([z.string(), z.number()])).optional(),
4000
+ roles: z.array(z.union([z.string(), z.number()])).optional(),
3938
4001
  channels: z.record(z.string(), DiscordGuildChannelSchema.optional()).optional()
3939
4002
  }).strict();
3940
4003
  const DiscordAccountSchema = z.object({
@@ -4792,6 +4855,11 @@ const MemoryQmdLimitsSchema = z.object({
4792
4855
  }).strict();
4793
4856
  const MemoryQmdSchema = z.object({
4794
4857
  command: z.string().optional(),
4858
+ searchMode: z.union([
4859
+ z.literal("query"),
4860
+ z.literal("search"),
4861
+ z.literal("vsearch")
4862
+ ]).optional(),
4795
4863
  includeDefaultMemory: z.boolean().optional(),
4796
4864
  paths: z.array(MemoryQmdPathSchema).optional(),
4797
4865
  sessions: MemoryQmdSessionSchema.optional(),
@@ -4953,6 +5021,9 @@ const OpenClawSchema = z.object({
4953
5021
  enabled: z.boolean().optional(),
4954
5022
  path: z.string().optional(),
4955
5023
  token: z.string().optional(),
5024
+ defaultSessionKey: z.string().optional(),
5025
+ allowRequestSessionKey: z.boolean().optional(),
5026
+ allowedSessionKeyPrefixes: z.array(z.string()).optional(),
4956
5027
  allowedAgentIds: z.array(z.string()).optional(),
4957
5028
  maxBodyBytes: z.number().int().positive().optional(),
4958
5029
  presets: z.array(z.string()).optional(),
@@ -5058,8 +5129,10 @@ const OpenClawSchema = z.object({
5058
5129
  responses: z.object({
5059
5130
  enabled: z.boolean().optional(),
5060
5131
  maxBodyBytes: z.number().int().positive().optional(),
5132
+ maxUrlParts: z.number().int().nonnegative().optional(),
5061
5133
  files: z.object({
5062
5134
  allowUrl: z.boolean().optional(),
5135
+ urlAllowlist: z.array(z.string()).optional(),
5063
5136
  allowedMimes: z.array(z.string()).optional(),
5064
5137
  maxBytes: z.number().int().positive().optional(),
5065
5138
  maxChars: z.number().int().positive().optional(),
@@ -5073,6 +5146,7 @@ const OpenClawSchema = z.object({
5073
5146
  }).strict().optional(),
5074
5147
  images: z.object({
5075
5148
  allowUrl: z.boolean().optional(),
5149
+ urlAllowlist: z.array(z.string()).optional(),
5076
5150
  allowedMimes: z.array(z.string()).optional(),
5077
5151
  maxBytes: z.number().int().positive().optional(),
5078
5152
  maxRedirects: z.number().int().nonnegative().optional(),
@@ -5823,4 +5897,4 @@ async function writeConfigFile(cfg) {
5823
5897
  }
5824
5898
 
5825
5899
  //#endregion
5826
- export { logoutWeb as A, setConfigValueAtPath as C, resolveWhatsAppAccount as D, VERSION as E, resolveWebCredsPath as F, webAuthExists as I, readWebSelfId as M, resolveDefaultWebAuthDir as N, getWebAuthAgeMs as O, resolveWebCredsBackupPath as P, parseConfigPath as S, resolveAgentMaxConcurrent as T, getConfigOverrides as _, validateConfigObjectWithPlugins as a, unsetConfigOverride as b, normalizeTelegramCommandName as c, validateJsonSchemaValue as d, loadPluginManifestRegistry as f, resolveMemorySlotDecision as g, resolveEnableState as h, writeConfigFile as i, maybeRestoreCredsFromBackup as j, logWebSelfId as k, resolveTelegramCustomCommands as l, normalizePluginsConfig as m, readConfigFileSnapshot as n, parseByteSize as o, discoverOpenClawPlugins as p, resolveConfigSnapshotHash as r, TELEGRAM_COMMAND_NAME_PATTERN as s, loadConfig as t, isSafeExecutableValue as u, resetConfigOverrides as v, unsetConfigValueAtPath as w, getConfigValueAtPath as x, setConfigOverride as y };
5900
+ export { VERSION as A, webAuthExists as B, setConfigOverride as C, setConfigValueAtPath as D, parseConfigPath as E, maybeRestoreCredsFromBackup as F, readWebSelfId as I, resolveDefaultWebAuthDir as L, getWebAuthAgeMs as M, logWebSelfId as N, unsetConfigValueAtPath as O, logoutWeb as P, resolveWebCredsBackupPath as R, resetConfigOverrides as S, getConfigValueAtPath as T, applyTestPluginDefaults as _, validateConfigObjectWithPlugins as a, resolveMemorySlotDecision as b, normalizeTelegramCommandName as c, parseDurationMs as d, validateJsonSchemaValue as f, MANIFEST_KEY as g, LEGACY_MANIFEST_KEYS as h, writeConfigFile as i, resolveWhatsAppAccount as j, resolveAgentMaxConcurrent as k, resolveTelegramCustomCommands as l, discoverOpenClawPlugins as m, readConfigFileSnapshot as n, parseByteSize as o, loadPluginManifestRegistry as p, resolveConfigSnapshotHash as r, TELEGRAM_COMMAND_NAME_PATTERN as s, loadConfig as t, isSafeExecutableValue as u, normalizePluginsConfig as v, unsetConfigOverride as w, getConfigOverrides as x, resolveEnableState as y, resolveWebCredsPath as z };
@@ -1,7 +1,7 @@
1
1
  import { a as resolveOAuthDir, n as resolveConfigPath, r as resolveDefaultConfigCandidates, s as resolveStateDir, u as resolveRequiredHomeDir } from "./paths-rb94mUrR.js";
2
- import { M as normalizeAgentId, T as DEFAULT_AGENT_ID, c as resolveDefaultAgentId, j as normalizeAccountId, s as resolveAgentWorkspaceDir, w as DEFAULT_ACCOUNT_ID } from "./agent-scope-BEf5crnU.js";
3
- import { A as isPlainObject, I as resolveConfigDir, N as jidToE164, R as resolveUserPath, Z as success, j as isRecord, m as CHANNEL_IDS, nt as getChildLogger, q as info, u as defaultRuntime, y as normalizeChatChannelId } from "./exec-57A8Rlc8.js";
4
- import { D as shouldEnableShellEnvFallback, E as shouldDeferShellEnvFallback, T as resolveShellEnvFallbackTimeoutMs, U as DEFAULT_CONTEXT_TOKENS, s as parseModelRef, w as loadShellEnvFallback } from "./model-selection-CezC36lH.js";
2
+ import { M as normalizeAgentId, T as DEFAULT_AGENT_ID, c as resolveDefaultAgentId, j as normalizeAccountId, s as resolveAgentWorkspaceDir, w as DEFAULT_ACCOUNT_ID } from "./agent-scope-DPIFau3f.js";
3
+ import { A as isPlainObject, I as resolveConfigDir, N as jidToE164, R as resolveUserPath, Z as success, j as isRecord, m as CHANNEL_IDS, nt as getChildLogger, q as info, u as defaultRuntime, y as normalizeChatChannelId } from "./exec-CJFFoM7H.js";
4
+ import { D as shouldEnableShellEnvFallback, E as shouldDeferShellEnvFallback, T as resolveShellEnvFallbackTimeoutMs, U as DEFAULT_CONTEXT_TOKENS, s as parseModelRef, w as loadShellEnvFallback } from "./model-selection-C1GmkTAV.js";
5
5
  import { createRequire } from "node:module";
6
6
  import path from "node:path";
7
7
  import fs from "node:fs";
@@ -1979,6 +1979,46 @@ const normalizePluginsConfig = (config) => {
1979
1979
  entries: normalizePluginEntries(config?.entries)
1980
1980
  };
1981
1981
  };
1982
+ const hasExplicitMemorySlot = (plugins) => Boolean(plugins?.slots && Object.prototype.hasOwnProperty.call(plugins.slots, "memory"));
1983
+ const hasExplicitMemoryEntry = (plugins) => Boolean(plugins?.entries && Object.prototype.hasOwnProperty.call(plugins.entries, "memory-core"));
1984
+ const hasExplicitPluginConfig = (plugins) => {
1985
+ if (!plugins) return false;
1986
+ if (typeof plugins.enabled === "boolean") return true;
1987
+ if (Array.isArray(plugins.allow) && plugins.allow.length > 0) return true;
1988
+ if (Array.isArray(plugins.deny) && plugins.deny.length > 0) return true;
1989
+ if (plugins.load?.paths && Array.isArray(plugins.load.paths) && plugins.load.paths.length > 0) return true;
1990
+ if (plugins.slots && Object.keys(plugins.slots).length > 0) return true;
1991
+ if (plugins.entries && Object.keys(plugins.entries).length > 0) return true;
1992
+ return false;
1993
+ };
1994
+ function applyTestPluginDefaults(cfg, env = process.env) {
1995
+ if (!env.VITEST) return cfg;
1996
+ const plugins = cfg.plugins;
1997
+ if (hasExplicitPluginConfig(plugins)) {
1998
+ if (hasExplicitMemorySlot(plugins) || hasExplicitMemoryEntry(plugins)) return cfg;
1999
+ return {
2000
+ ...cfg,
2001
+ plugins: {
2002
+ ...plugins,
2003
+ slots: {
2004
+ ...plugins?.slots,
2005
+ memory: "none"
2006
+ }
2007
+ }
2008
+ };
2009
+ }
2010
+ return {
2011
+ ...cfg,
2012
+ plugins: {
2013
+ ...plugins,
2014
+ enabled: false,
2015
+ slots: {
2016
+ ...plugins?.slots,
2017
+ memory: "none"
2018
+ }
2019
+ }
2020
+ };
2021
+ }
1982
2022
  function resolveEnableState(id, origin, config) {
1983
2023
  if (!config.enabled) return {
1984
2024
  enabled: false,
@@ -3553,7 +3593,8 @@ const BindingsSchema = z.array(z.object({
3553
3593
  id: z.string()
3554
3594
  }).strict().optional(),
3555
3595
  guildId: z.string().optional(),
3556
- teamId: z.string().optional()
3596
+ teamId: z.string().optional(),
3597
+ roles: z.array(z.string()).optional()
3557
3598
  }).strict()
3558
3599
  }).strict()).optional();
3559
3600
  const BroadcastStrategySchema = z.enum(["parallel", "sequential"]);
@@ -3626,7 +3667,7 @@ const InternalHookHandlerSchema = z.object({
3626
3667
  const HookConfigSchema = z.object({
3627
3668
  enabled: z.boolean().optional(),
3628
3669
  env: z.record(z.string(), z.string()).optional()
3629
- }).strict();
3670
+ }).passthrough();
3630
3671
  const HookInstallRecordSchema = z.object({
3631
3672
  source: z.union([
3632
3673
  z.literal("npm"),
@@ -3939,6 +3980,7 @@ const DiscordGuildChannelSchema = z.object({
3939
3980
  skills: z.array(z.string()).optional(),
3940
3981
  enabled: z.boolean().optional(),
3941
3982
  users: z.array(z.union([z.string(), z.number()])).optional(),
3983
+ roles: z.array(z.union([z.string(), z.number()])).optional(),
3942
3984
  systemPrompt: z.string().optional(),
3943
3985
  includeThreadStarter: z.boolean().optional(),
3944
3986
  autoThread: z.boolean().optional()
@@ -3955,6 +3997,7 @@ const DiscordGuildSchema = z.object({
3955
3997
  "allowlist"
3956
3998
  ]).optional(),
3957
3999
  users: z.array(z.union([z.string(), z.number()])).optional(),
4000
+ roles: z.array(z.union([z.string(), z.number()])).optional(),
3958
4001
  channels: z.record(z.string(), DiscordGuildChannelSchema.optional()).optional()
3959
4002
  }).strict();
3960
4003
  const DiscordAccountSchema = z.object({
@@ -4812,6 +4855,11 @@ const MemoryQmdLimitsSchema = z.object({
4812
4855
  }).strict();
4813
4856
  const MemoryQmdSchema = z.object({
4814
4857
  command: z.string().optional(),
4858
+ searchMode: z.union([
4859
+ z.literal("query"),
4860
+ z.literal("search"),
4861
+ z.literal("vsearch")
4862
+ ]).optional(),
4815
4863
  includeDefaultMemory: z.boolean().optional(),
4816
4864
  paths: z.array(MemoryQmdPathSchema).optional(),
4817
4865
  sessions: MemoryQmdSessionSchema.optional(),
@@ -4973,6 +5021,9 @@ const OpenClawSchema = z.object({
4973
5021
  enabled: z.boolean().optional(),
4974
5022
  path: z.string().optional(),
4975
5023
  token: z.string().optional(),
5024
+ defaultSessionKey: z.string().optional(),
5025
+ allowRequestSessionKey: z.boolean().optional(),
5026
+ allowedSessionKeyPrefixes: z.array(z.string()).optional(),
4976
5027
  allowedAgentIds: z.array(z.string()).optional(),
4977
5028
  maxBodyBytes: z.number().int().positive().optional(),
4978
5029
  presets: z.array(z.string()).optional(),
@@ -5078,8 +5129,10 @@ const OpenClawSchema = z.object({
5078
5129
  responses: z.object({
5079
5130
  enabled: z.boolean().optional(),
5080
5131
  maxBodyBytes: z.number().int().positive().optional(),
5132
+ maxUrlParts: z.number().int().nonnegative().optional(),
5081
5133
  files: z.object({
5082
5134
  allowUrl: z.boolean().optional(),
5135
+ urlAllowlist: z.array(z.string()).optional(),
5083
5136
  allowedMimes: z.array(z.string()).optional(),
5084
5137
  maxBytes: z.number().int().positive().optional(),
5085
5138
  maxChars: z.number().int().positive().optional(),
@@ -5093,6 +5146,7 @@ const OpenClawSchema = z.object({
5093
5146
  }).strict().optional(),
5094
5147
  images: z.object({
5095
5148
  allowUrl: z.boolean().optional(),
5149
+ urlAllowlist: z.array(z.string()).optional(),
5096
5150
  allowedMimes: z.array(z.string()).optional(),
5097
5151
  maxBytes: z.number().int().positive().optional(),
5098
5152
  maxRedirects: z.number().int().nonnegative().optional(),
@@ -5843,4 +5897,4 @@ async function writeConfigFile(cfg) {
5843
5897
  }
5844
5898
 
5845
5899
  //#endregion
5846
- export { resolveWhatsAppAccount as A, unsetConfigOverride as C, unsetConfigValueAtPath as D, setConfigValueAtPath as E, readWebSelfId as F, resolveDefaultWebAuthDir as I, resolveWebCredsBackupPath as L, logWebSelfId as M, logoutWeb as N, resolveAgentMaxConcurrent as O, maybeRestoreCredsFromBackup as P, resolveWebCredsPath as R, setConfigOverride as S, parseConfigPath as T, normalizePluginsConfig as _, validateConfigObjectWithPlugins as a, getConfigOverrides as b, normalizeTelegramCommandName as c, parseDurationMs as d, validateJsonSchemaValue as f, MANIFEST_KEY as g, LEGACY_MANIFEST_KEYS as h, writeConfigFile as i, getWebAuthAgeMs as j, VERSION as k, resolveTelegramCustomCommands as l, discoverOpenClawPlugins as m, readConfigFileSnapshot as n, parseByteSize as o, loadPluginManifestRegistry as p, resolveConfigSnapshotHash as r, TELEGRAM_COMMAND_NAME_PATTERN as s, loadConfig as t, isSafeExecutableValue as u, resolveEnableState as v, getConfigValueAtPath as w, resetConfigOverrides as x, resolveMemorySlotDecision as y, webAuthExists as z };
5900
+ export { VERSION as A, webAuthExists as B, setConfigOverride as C, setConfigValueAtPath as D, parseConfigPath as E, maybeRestoreCredsFromBackup as F, readWebSelfId as I, resolveDefaultWebAuthDir as L, getWebAuthAgeMs as M, logWebSelfId as N, unsetConfigValueAtPath as O, logoutWeb as P, resolveWebCredsBackupPath as R, resetConfigOverrides as S, getConfigValueAtPath as T, applyTestPluginDefaults as _, validateConfigObjectWithPlugins as a, resolveMemorySlotDecision as b, normalizeTelegramCommandName as c, parseDurationMs as d, validateJsonSchemaValue as f, MANIFEST_KEY as g, LEGACY_MANIFEST_KEYS as h, writeConfigFile as i, resolveWhatsAppAccount as j, resolveAgentMaxConcurrent as k, resolveTelegramCustomCommands as l, discoverOpenClawPlugins as m, readConfigFileSnapshot as n, parseByteSize as o, loadPluginManifestRegistry as p, resolveConfigSnapshotHash as r, TELEGRAM_COMMAND_NAME_PATTERN as s, loadConfig as t, isSafeExecutableValue as u, normalizePluginsConfig as v, unsetConfigOverride as w, getConfigOverrides as x, resolveEnableState as y, resolveWebCredsPath as z };