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,12 +1,14 @@
1
- import { t as createSubsystemLogger } from "./subsystem-Bh1Y_6Uv.js";
2
- import { b as resolveUserPath, t as CONFIG_DIR } from "./utils-es4ygvQ-.js";
3
- import { n as resolveOpenClawPackageRootSync } from "./openclaw-root-JLDMp6ux.js";
1
+ import { t as createSubsystemLogger } from "./subsystem-BoExtIHo.js";
2
+ import { b as resolveUserPath, t as CONFIG_DIR } from "./utils-Cd9QdCHh.js";
3
+ import { n as resolveOpenClawPackageRootSync } from "./openclaw-root-1VeFrph_.js";
4
4
  import { t as parseBooleanValue } from "./boolean-BgXe2hyu.js";
5
- import { a as MANIFEST_KEY, c as normalizePluginsConfig, i as LEGACY_MANIFEST_KEYS, l as resolveEnableState, t as loadPluginManifestRegistry, u as resolveMemorySlotDecision } from "./manifest-registry-3It8Z8yN.js";
5
+ import { a as MANIFEST_KEY, d as resolveMemorySlotDecision, i as LEGACY_MANIFEST_KEYS, l as normalizePluginsConfig, t as loadPluginManifestRegistry, u as resolveEnableState } from "./manifest-registry-CQhdnDBZ.js";
6
6
  import { fileURLToPath } from "node:url";
7
7
  import fs from "node:fs";
8
+ import os from "node:os";
8
9
  import path from "node:path";
9
10
  import JSON5 from "json5";
11
+ import fs$1 from "node:fs/promises";
10
12
  import { formatSkillsForPrompt, loadSkillsFromDir } from "@mariozechner/pi-coding-agent";
11
13
  import YAML from "yaml";
12
14
 
@@ -361,6 +363,83 @@ function applySkillEnvOverridesFromSnapshot(params) {
361
363
  };
362
364
  }
363
365
 
366
+ //#endregion
367
+ //#region src/agents/sandbox-paths.ts
368
+ const UNICODE_SPACES = /[\u00A0\u2000-\u200A\u202F\u205F\u3000]/g;
369
+ const HTTP_URL_RE = /^https?:\/\//i;
370
+ const DATA_URL_RE = /^data:/i;
371
+ function normalizeUnicodeSpaces(str) {
372
+ return str.replace(UNICODE_SPACES, " ");
373
+ }
374
+ function expandPath(filePath) {
375
+ const normalized = normalizeUnicodeSpaces(filePath);
376
+ if (normalized === "~") return os.homedir();
377
+ if (normalized.startsWith("~/")) return os.homedir() + normalized.slice(1);
378
+ return normalized;
379
+ }
380
+ function resolveToCwd(filePath, cwd) {
381
+ const expanded = expandPath(filePath);
382
+ if (path.isAbsolute(expanded)) return expanded;
383
+ return path.resolve(cwd, expanded);
384
+ }
385
+ function resolveSandboxPath(params) {
386
+ const resolved = resolveToCwd(params.filePath, params.cwd);
387
+ const rootResolved = path.resolve(params.root);
388
+ const relative = path.relative(rootResolved, resolved);
389
+ if (!relative || relative === "") return {
390
+ resolved,
391
+ relative: ""
392
+ };
393
+ if (relative.startsWith("..") || path.isAbsolute(relative)) throw new Error(`Path escapes sandbox root (${shortPath(rootResolved)}): ${params.filePath}`);
394
+ return {
395
+ resolved,
396
+ relative
397
+ };
398
+ }
399
+ async function assertSandboxPath(params) {
400
+ const resolved = resolveSandboxPath(params);
401
+ await assertNoSymlink(resolved.relative, path.resolve(params.root));
402
+ return resolved;
403
+ }
404
+ function assertMediaNotDataUrl(media) {
405
+ const raw = media.trim();
406
+ if (DATA_URL_RE.test(raw)) throw new Error("data: URLs are not supported for media. Use buffer instead.");
407
+ }
408
+ async function resolveSandboxedMediaSource(params) {
409
+ const raw = params.media.trim();
410
+ if (!raw) return raw;
411
+ if (HTTP_URL_RE.test(raw)) return raw;
412
+ let candidate = raw;
413
+ if (/^file:\/\//i.test(candidate)) try {
414
+ candidate = fileURLToPath(candidate);
415
+ } catch {
416
+ throw new Error(`Invalid file:// URL for sandboxed media: ${raw}`);
417
+ }
418
+ return (await assertSandboxPath({
419
+ filePath: candidate,
420
+ cwd: params.sandboxRoot,
421
+ root: params.sandboxRoot
422
+ })).resolved;
423
+ }
424
+ async function assertNoSymlink(relative, root) {
425
+ if (!relative) return;
426
+ const parts = relative.split(path.sep).filter(Boolean);
427
+ let current = root;
428
+ for (const part of parts) {
429
+ current = path.join(current, part);
430
+ try {
431
+ if ((await fs$1.lstat(current)).isSymbolicLink()) throw new Error(`Symlink not allowed in sandbox path: ${current}`);
432
+ } catch (err) {
433
+ if (err.code === "ENOENT") return;
434
+ throw err;
435
+ }
436
+ }
437
+ }
438
+ function shortPath(value) {
439
+ if (value.startsWith(os.homedir())) return `~${value.slice(os.homedir().length)}`;
440
+ return value;
441
+ }
442
+
364
443
  //#endregion
365
444
  //#region src/agents/skills/bundled-dir.ts
366
445
  function looksLikeSkillsDir(dir) {
@@ -518,7 +597,7 @@ function loadSkillEntries(workspaceDir, opts) {
518
597
  return [];
519
598
  };
520
599
  const managedSkillsDir = opts?.managedSkillsDir ?? path.join(CONFIG_DIR, "skills");
521
- const workspaceSkillsDir = path.join(workspaceDir, "skills");
600
+ const workspaceSkillsDir = path.resolve(workspaceDir, "skills");
522
601
  const bundledSkillsDir = opts?.bundledSkillsDir ?? resolveBundledSkillsDir();
523
602
  const extraDirs = (opts?.config?.skills?.load?.extraDirs ?? []).map((d) => typeof d === "string" ? d.trim() : "").filter(Boolean);
524
603
  const pluginSkillDirs = resolvePluginSkillDirs({
@@ -540,6 +619,14 @@ function loadSkillEntries(workspaceDir, opts) {
540
619
  dir: managedSkillsDir,
541
620
  source: "openclaw-managed"
542
621
  });
622
+ const personalAgentsSkills = loadSkills({
623
+ dir: path.resolve(os.homedir(), ".agents", "skills"),
624
+ source: "agents-skills-personal"
625
+ });
626
+ const projectAgentsSkills = loadSkills({
627
+ dir: path.resolve(workspaceDir, ".agents", "skills"),
628
+ source: "agents-skills-project"
629
+ });
543
630
  const workspaceSkills = loadSkills({
544
631
  dir: workspaceSkillsDir,
545
632
  source: "openclaw-workspace"
@@ -548,6 +635,8 @@ function loadSkillEntries(workspaceDir, opts) {
548
635
  for (const skill of extraSkills) merged.set(skill.name, skill);
549
636
  for (const skill of bundledSkills) merged.set(skill.name, skill);
550
637
  for (const skill of managedSkills) merged.set(skill.name, skill);
638
+ for (const skill of personalAgentsSkills) merged.set(skill.name, skill);
639
+ for (const skill of projectAgentsSkills) merged.set(skill.name, skill);
551
640
  for (const skill of workspaceSkills) merged.set(skill.name, skill);
552
641
  return Array.from(merged.values()).map((skill) => {
553
642
  let frontmatter = {};
@@ -594,6 +683,36 @@ function resolveSkillsPromptForRun(params) {
594
683
  function loadWorkspaceSkillEntries(workspaceDir, opts) {
595
684
  return loadSkillEntries(workspaceDir, opts);
596
685
  }
686
+ function resolveUniqueSyncedSkillDirName(base, used) {
687
+ if (!used.has(base)) {
688
+ used.add(base);
689
+ return base;
690
+ }
691
+ for (let index = 2; index < 1e4; index += 1) {
692
+ const candidate = `${base}-${index}`;
693
+ if (!used.has(candidate)) {
694
+ used.add(candidate);
695
+ return candidate;
696
+ }
697
+ }
698
+ let fallbackIndex = 1e4;
699
+ let fallback = `${base}-${fallbackIndex}`;
700
+ while (used.has(fallback)) {
701
+ fallbackIndex += 1;
702
+ fallback = `${base}-${fallbackIndex}`;
703
+ }
704
+ used.add(fallback);
705
+ return fallback;
706
+ }
707
+ function resolveSyncedSkillDestinationPath(params) {
708
+ const sourceDirName = path.basename(params.entry.skill.baseDir).trim();
709
+ if (!sourceDirName || sourceDirName === "." || sourceDirName === "..") return null;
710
+ return resolveSandboxPath({
711
+ filePath: resolveUniqueSyncedSkillDirName(sourceDirName, params.usedDirNames),
712
+ cwd: params.targetSkillsDir,
713
+ root: params.targetSkillsDir
714
+ }).resolved;
715
+ }
597
716
  async function syncSkillsToWorkspace(params) {
598
717
  const sourceDir = resolveUserPath(params.sourceWorkspaceDir);
599
718
  const targetDir = resolveUserPath(params.targetWorkspaceDir);
@@ -610,8 +729,24 @@ async function syncSkillsToWorkspace(params) {
610
729
  force: true
611
730
  });
612
731
  await fsp.mkdir(targetSkillsDir, { recursive: true });
732
+ const usedDirNames = /* @__PURE__ */ new Set();
613
733
  for (const entry of entries) {
614
- const dest = path.join(targetSkillsDir, entry.skill.name);
734
+ let dest = null;
735
+ try {
736
+ dest = resolveSyncedSkillDestinationPath({
737
+ targetSkillsDir,
738
+ entry,
739
+ usedDirNames
740
+ });
741
+ } catch (error) {
742
+ const message = error instanceof Error ? error.message : JSON.stringify(error);
743
+ console.warn(`[skills] Failed to resolve safe destination for ${entry.skill.name}: ${message}`);
744
+ continue;
745
+ }
746
+ if (!dest) {
747
+ console.warn(`[skills] Failed to resolve safe destination for ${entry.skill.name}: invalid source directory name`);
748
+ continue;
749
+ }
615
750
  try {
616
751
  await fsp.cp(entry.skill.baseDir, dest, {
617
752
  recursive: true,
@@ -691,4 +826,4 @@ function resolveSkillsInstallPreferences(config) {
691
826
  }
692
827
 
693
828
  //#endregion
694
- export { resolveSkillKey as _, resolveSkillsPromptForRun as a, resolveBundledSkillsDir as c, hasBinary as d, isBundledSkillAllowed as f, resolveSkillConfig as g, resolveConfigPath as h, loadWorkspaceSkillEntries as i, applySkillEnvOverrides as l, resolveBundledAllowlist as m, buildWorkspaceSkillCommandSpecs as n, syncSkillsToWorkspace as o, isConfigPathTruthy as p, buildWorkspaceSkillSnapshot as r, resolvePluginSkillDirs as s, resolveSkillsInstallPreferences as t, applySkillEnvOverridesFromSnapshot as u, parseFrontmatterBlock as v };
829
+ export { resolveBundledAllowlist as _, resolveSkillsPromptForRun as a, resolveSkillKey as b, resolveBundledSkillsDir as c, resolveSandboxedMediaSource as d, applySkillEnvOverrides as f, isConfigPathTruthy as g, isBundledSkillAllowed as h, loadWorkspaceSkillEntries as i, assertMediaNotDataUrl as l, hasBinary as m, buildWorkspaceSkillCommandSpecs as n, syncSkillsToWorkspace as o, applySkillEnvOverridesFromSnapshot as p, buildWorkspaceSkillSnapshot as r, resolvePluginSkillDirs as s, resolveSkillsInstallPreferences as t, assertSandboxPath as u, resolveConfigPath as v, parseFrontmatterBlock as x, resolveSkillConfig as y };
@@ -1,19 +1,19 @@
1
1
  import "./paths-DVBShlw6.js";
2
- import { R as theme, c as defaultRuntime } from "./subsystem-Bh1Y_6Uv.js";
3
- import { C as shortenHomePath } from "./utils-es4ygvQ-.js";
4
- import "./exec-Cv_Ofd1m.js";
5
- import { c as resolveDefaultAgentId, s as resolveAgentWorkspaceDir } from "./agent-scope-CGmuusG9.js";
6
- import "./model-selection-BK7DuyH8.js";
2
+ import { R as theme, c as defaultRuntime } from "./subsystem-BoExtIHo.js";
3
+ import { C as shortenHomePath } from "./utils-Cd9QdCHh.js";
4
+ import "./exec-YIosokWE.js";
5
+ import { c as resolveDefaultAgentId, s as resolveAgentWorkspaceDir } from "./agent-scope-CQCus0rI.js";
6
+ import "./model-selection-BLuqsGVB.js";
7
7
  import "./github-copilot-token-BW-SEg7E.js";
8
8
  import { t as formatCliCommand } from "./command-format-ChfKqObn.js";
9
9
  import "./boolean-BgXe2hyu.js";
10
- import "./env-BxRc6wWv.js";
11
- import { i as loadConfig } from "./config--NUdpACy.js";
12
- import "./manifest-registry-3It8Z8yN.js";
13
- import "./skills-ccAgQ3Ad.js";
14
- import { t as formatDocsLink } from "./links-C591fM9M.js";
15
- import { t as renderTable } from "./table-DEnmtvl5.js";
16
- import { t as buildWorkspaceSkillStatus } from "./skills-status-BosMnzIs.js";
10
+ import "./env-ONzUVAG2.js";
11
+ import { i as loadConfig } from "./config-aFQssWKX.js";
12
+ import "./manifest-registry-CQhdnDBZ.js";
13
+ import "./skills-DprQj9X2.js";
14
+ import { t as formatDocsLink } from "./links-Eax1UO3w.js";
15
+ import { t as renderTable } from "./table-B8dx3v4v.js";
16
+ import { t as buildWorkspaceSkillStatus } from "./skills-status-5U3P3YfJ.js";
17
17
 
18
18
  //#region src/cli/skills-cli.ts
19
19
  function appendClawHubHint(output, json) {
@@ -1,16 +1,16 @@
1
- import { k as theme, p as defaultRuntime } from "./entry.js";
2
- import "./auth-profiles-Bv1AEm-Y.js";
3
- import { t as formatCliCommand } from "./command-format-ayFsmwwz.js";
4
- import { S as shortenHomePath } from "./utils-Dk86IbEs.js";
5
- import "./exec-B8JKbXKW.js";
6
- import { c as resolveDefaultAgentId, s as resolveAgentWorkspaceDir } from "./agent-scope-DQuy3dwI.js";
7
- import "./github-copilot-token-SLWintYd.js";
8
- import { i as loadConfig } from "./config-B00lvFac.js";
9
- import "./manifest-registry-D5SiA3xq.js";
10
- import { t as formatDocsLink } from "./links-7M-j83As.js";
11
- import "./skills-D5UZZZSY.js";
12
- import { t as renderTable } from "./table-cCoGqLsk.js";
13
- import { t as buildWorkspaceSkillStatus } from "./skills-status-DjtPPMnY.js";
1
+ import { A as theme, p as defaultRuntime } from "./entry.js";
2
+ import "./auth-profiles-ByNs3eEm.js";
3
+ import { t as formatCliCommand } from "./command-format-Bxe0mWee.js";
4
+ import { S as shortenHomePath } from "./utils-BLJAc3ZV.js";
5
+ import "./exec-CACT5OAW.js";
6
+ import { c as resolveDefaultAgentId, s as resolveAgentWorkspaceDir } from "./agent-scope-CsRbLH4l.js";
7
+ import "./github-copilot-token-Cfs0Wxr8.js";
8
+ import { i as loadConfig } from "./config-Bdhomfei.js";
9
+ import "./manifest-registry-u0okVSkU.js";
10
+ import { t as formatDocsLink } from "./links-B8LAzWwg.js";
11
+ import "./skills-DRjfSQT3.js";
12
+ import { t as renderTable } from "./table-CwulTLQp.js";
13
+ import { t as buildWorkspaceSkillStatus } from "./skills-status-TDIgVd1K.js";
14
14
 
15
15
  //#region src/cli/skills-cli.ts
16
16
  function appendClawHubHint(output, json) {
@@ -1,6 +1,6 @@
1
- import { t as createSubsystemLogger } from "./subsystem-Bh1Y_6Uv.js";
2
- import { t as CONFIG_DIR } from "./utils-es4ygvQ-.js";
3
- import { c as resolveBundledSkillsDir, d as hasBinary, f as isBundledSkillAllowed, g as resolveSkillConfig, h as resolveConfigPath, i as loadWorkspaceSkillEntries, m as resolveBundledAllowlist, p as isConfigPathTruthy, t as resolveSkillsInstallPreferences } from "./skills-ccAgQ3Ad.js";
1
+ import { t as createSubsystemLogger } from "./subsystem-BoExtIHo.js";
2
+ import { t as CONFIG_DIR } from "./utils-Cd9QdCHh.js";
3
+ import { _ as resolveBundledAllowlist, c as resolveBundledSkillsDir, g as isConfigPathTruthy, h as isBundledSkillAllowed, i as loadWorkspaceSkillEntries, m as hasBinary, t as resolveSkillsInstallPreferences, v as resolveConfigPath, y as resolveSkillConfig } from "./skills-DprQj9X2.js";
4
4
  import path from "node:path";
5
5
  import { loadSkillsFromDir } from "@mariozechner/pi-coding-agent";
6
6
 
@@ -1,6 +1,6 @@
1
1
  import { o as createSubsystemLogger } from "./entry.js";
2
- import { t as CONFIG_DIR } from "./utils-Dk86IbEs.js";
3
- import { c as resolveBundledSkillsDir, d as hasBinary, f as isBundledSkillAllowed, g as resolveSkillConfig, h as resolveConfigPath, i as loadWorkspaceSkillEntries, m as resolveBundledAllowlist, p as isConfigPathTruthy, t as resolveSkillsInstallPreferences } from "./skills-D5UZZZSY.js";
2
+ import { t as CONFIG_DIR } from "./utils-BLJAc3ZV.js";
3
+ import { _ as resolveBundledAllowlist, c as resolveBundledSkillsDir, g as isConfigPathTruthy, h as isBundledSkillAllowed, i as loadWorkspaceSkillEntries, m as hasBinary, t as resolveSkillsInstallPreferences, v as resolveConfigPath, y as resolveSkillConfig } from "./skills-DRjfSQT3.js";
4
4
  import path from "node:path";
5
5
  import { loadSkillsFromDir } from "@mariozechner/pi-coding-agent";
6
6
 
@@ -1,6 +1,6 @@
1
1
  import { o as createSubsystemLogger, t as installProcessWarningFilter } from "./entry.js";
2
- import { a as resolveSessionTranscriptsDirForAgent } from "./paths-IivnSNkP.js";
3
- import { n as redactSensitiveText } from "./redact-DuEEf1p1.js";
2
+ import { o as resolveSessionTranscriptsDirForAgent } from "./paths-DLINmNFQ.js";
3
+ import { n as redactSensitiveText } from "./redact-Br9GfacZ.js";
4
4
  import { createRequire } from "node:module";
5
5
  import path from "node:path";
6
6
  import fs from "node:fs";
@@ -1,6 +1,6 @@
1
- import { t as createSubsystemLogger } from "./subsystem-Bh1Y_6Uv.js";
2
- import { a as resolveSessionTranscriptsDirForAgent } from "./paths-Bkhd_qY8.js";
3
- import { n as redactSensitiveText } from "./redact-DAKeu7PA.js";
1
+ import { t as createSubsystemLogger } from "./subsystem-BoExtIHo.js";
2
+ import { o as resolveSessionTranscriptsDirForAgent } from "./paths-B49s6UZQ.js";
3
+ import { n as redactSensitiveText } from "./redact-BRsnXqwD.js";
4
4
  import { createRequire } from "node:module";
5
5
  import fs from "node:fs";
6
6
  import path from "node:path";
@@ -1,6 +1,6 @@
1
- import { l as createSubsystemLogger } from "./exec-CijMSZd9.js";
2
- import { i as resolveSessionTranscriptsDirForAgent } from "./paths-MnZaxqPw.js";
3
- import { t as redactSensitiveText } from "./redact-BOIof271.js";
1
+ import { l as createSubsystemLogger } from "./exec-B8lXct-k.js";
2
+ import { i as resolveSessionTranscriptsDirForAgent } from "./paths-B0a4ywSO.js";
3
+ import { t as redactSensitiveText } from "./redact-BrXLgslJ.js";
4
4
  import { createRequire } from "node:module";
5
5
  import fs from "node:fs/promises";
6
6
  import path from "node:path";
@@ -1,5 +1,5 @@
1
- import { l as createSubsystemLogger } from "./exec-57A8Rlc8.js";
2
- import { i as resolveSessionTranscriptsDirForAgent } from "./paths-DL6EIRTw.js";
1
+ import { l as createSubsystemLogger } from "./exec-CJFFoM7H.js";
2
+ import { i as resolveSessionTranscriptsDirForAgent } from "./paths-D0O87MfH.js";
3
3
  import { t as redactSensitiveText } from "./redact-BIMJ3ntQ.js";
4
4
  import { createRequire } from "node:module";
5
5
  import path from "node:path";
@@ -1,7 +1,7 @@
1
1
  import { o as createSubsystemLogger } from "./entry.js";
2
- import { c as resolveDefaultAgentId, s as resolveAgentWorkspaceDir, w as resolveDefaultAgentWorkspaceDir } from "./agent-scope-DQuy3dwI.js";
3
- import { i as loadConfig } from "./config-B00lvFac.js";
4
- import { t as loadOpenClawPlugins } from "./loader-wXwp4rZJ.js";
2
+ import { c as resolveDefaultAgentId, s as resolveAgentWorkspaceDir, w as resolveDefaultAgentWorkspaceDir } from "./agent-scope-CsRbLH4l.js";
3
+ import { i as loadConfig } from "./config-Bdhomfei.js";
4
+ import { t as loadOpenClawPlugins } from "./loader-KjT074JR.js";
5
5
 
6
6
  //#region src/plugins/status.ts
7
7
  const log = createSubsystemLogger("plugins");
@@ -1,7 +1,7 @@
1
- import { t as createSubsystemLogger } from "./subsystem-Bh1Y_6Uv.js";
2
- import { ut as loadOpenClawPlugins } from "./reply--b7BsXGP.js";
3
- import { c as resolveDefaultAgentId, s as resolveAgentWorkspaceDir, w as resolveDefaultAgentWorkspaceDir } from "./agent-scope-CGmuusG9.js";
4
- import { i as loadConfig } from "./config--NUdpACy.js";
1
+ import { t as createSubsystemLogger } from "./subsystem-BoExtIHo.js";
2
+ import { ut as loadOpenClawPlugins } from "./reply-DICXkh_C.js";
3
+ import { c as resolveDefaultAgentId, s as resolveAgentWorkspaceDir, w as resolveDefaultAgentWorkspaceDir } from "./agent-scope-CQCus0rI.js";
4
+ import { i as loadConfig } from "./config-aFQssWKX.js";
5
5
 
6
6
  //#region src/plugins/status.ts
7
7
  const log = createSubsystemLogger("plugins");
@@ -1,42 +1,42 @@
1
- import { I as DEFAULT_GATEWAY_PORT, O as isRich, W as resolveGatewayPort, k as theme, m as restoreTerminalState, p as defaultRuntime, y as info } from "./entry.js";
2
- import { Ct as DEFAULT_CONTEXT_TOKENS, N as resolveConfiguredModelRef, Tt as DEFAULT_PROVIDER, _ as ensureAuthProfileStore, wt as DEFAULT_MODEL } from "./auth-profiles-Bv1AEm-Y.js";
3
- import { r as resolveCliName, t as formatCliCommand } from "./command-format-ayFsmwwz.js";
1
+ import { A as theme, G as resolveGatewayPort, L as DEFAULT_GATEWAY_PORT, k as isRich, m as restoreTerminalState, p as defaultRuntime, y as info } from "./entry.js";
2
+ import { Ct as DEFAULT_CONTEXT_TOKENS, N as resolveConfiguredModelRef, Tt as DEFAULT_PROVIDER, _ as ensureAuthProfileStore, wt as DEFAULT_MODEL } from "./auth-profiles-ByNs3eEm.js";
3
+ import { r as resolveCliName, t as formatCliCommand } from "./command-format-Bxe0mWee.js";
4
4
  import { l as normalizeAgentId, y as parseAgentSessionKey } from "./session-key-DVvxnFKg.js";
5
- import { h as pathExists, y as resolveUserPath } from "./utils-Dk86IbEs.js";
6
- import { n as runExec } from "./exec-B8JKbXKW.js";
7
- import { t as resolveOpenClawPackageRoot } from "./openclaw-root-Dw6gumSU.js";
8
- import { c as resolveDefaultAgentId, h as DEFAULT_IDENTITY_FILENAME, p as DEFAULT_BOOTSTRAP_FILENAME, r as resolveAgentDir, s as resolveAgentWorkspaceDir } from "./agent-scope-DQuy3dwI.js";
9
- import { M as VERSION, c as writeConfigFile, i as loadConfig, o as readConfigFileSnapshot } from "./config-B00lvFac.js";
10
- import { d as formatPortDiagnostics, l as inspectPortUsage } from "./chrome-yIKmOzCO.js";
11
- import { a as findTailscaleBinary, o as getTailnetHostname, s as readTailscaleStatusJson } from "./tailscale-DU6DgqVy.js";
12
- import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-7yrB6v4I.js";
13
- import { n as listChannelPlugins } from "./plugins-Db5BiELK.js";
14
- import { $t as loadProviderUsageSummary, Bn as readRestartSentinel, Fr as getMemorySearchManager, Nt as sha256HexPrefix, Vn as summarizeRestartSentinel, X as getRemoteSkillEligibility, _ as randomToken, a as applyWizardMetadata, b as summarizeExistingConfig, c as ensureWorkspaceAndSessions, d as handleReset, en as formatUsageReportLines, g as probeGatewayReachable, gn as lookupContextTokens, h as printWizardHeader, i as DEFAULT_WORKSPACE, l as formatControlUiSshHint, m as openUrl, nr as peekSystemEvents, p as normalizeGatewayTokenInput, q as buildChannelSummary, rn as listAgentsForGateway, s as detectBrowserOpenSupport, v as resolveControlUiLinks, w as normalizeControlUiBasePath, x as waitForGatewayReachable } from "./loader-wXwp4rZJ.js";
15
- import { n as withProgress } from "./progress-Da1ehW-x.js";
5
+ import { h as pathExists, y as resolveUserPath } from "./utils-BLJAc3ZV.js";
6
+ import { n as runExec } from "./exec-CACT5OAW.js";
7
+ import { t as resolveOpenClawPackageRoot } from "./openclaw-root-BNlEap4i.js";
8
+ import { c as resolveDefaultAgentId, h as DEFAULT_IDENTITY_FILENAME, p as DEFAULT_BOOTSTRAP_FILENAME, r as resolveAgentDir, s as resolveAgentWorkspaceDir } from "./agent-scope-CsRbLH4l.js";
9
+ import { M as VERSION, c as writeConfigFile, i as loadConfig, o as readConfigFileSnapshot } from "./config-Bdhomfei.js";
10
+ import { d as formatPortDiagnostics, l as inspectPortUsage } from "./chrome-foEwx3lN.js";
11
+ import { d as getTailnetHostname, f as readTailscaleStatusJson, u as findTailscaleBinary } from "./auth-9x3lqfIY.js";
12
+ import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-DVYCIV8m.js";
13
+ import { n as listChannelPlugins } from "./plugins-4Hqd1WGf.js";
14
+ import { $n as peekSystemEvents, Kt as loadProviderUsageSummary, Nn as readRestartSentinel, Nt as sha256HexPrefix, Pn as summarizeRestartSentinel, Pr as getMemorySearchManager, X as getRemoteSkillEligibility, Xt as listAgentsForGateway, _ as randomToken, a as applyWizardMetadata, b as summarizeExistingConfig, c as ensureWorkspaceAndSessions, d as handleReset, g as probeGatewayReachable, h as printWizardHeader, i as DEFAULT_WORKSPACE, l as formatControlUiSshHint, ln as lookupContextTokens, m as openUrl, p as normalizeGatewayTokenInput, q as buildChannelSummary, qt as formatUsageReportLines, s as detectBrowserOpenSupport, v as resolveControlUiLinks, w as normalizeControlUiBasePath, x as waitForGatewayReachable } from "./loader-KjT074JR.js";
15
+ import { n as withProgress } from "./progress-DWqhRakV.js";
16
16
  import { t as WizardCancelledError } from "./prompts-CXLLIBwP.js";
17
17
  import { t as resolveChannelDefaultAccountId } from "./helpers-DdwqKAAS.js";
18
- import { n as setupChannels } from "./onboard-channels-DxXvp8og.js";
19
- import { o as resolveStorePath } from "./paths-IivnSNkP.js";
20
- import { I as resolveMainSessionKey, d as loadSessionStore } from "./sandbox-Aks-9EcZ.js";
21
- import { r as formatDurationPrecise } from "./format-duration-Be5Z7JdJ.js";
22
- import { n as formatTimeAgo } from "./format-relative-79_Y1n2Y.js";
23
- import { t as collectChannelStatusIssues } from "./channels-status-issues-B3KkflfR.js";
24
- import { r as installCompletion } from "./completion-cli-DrJGfJGl.js";
25
- import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-c0uXH4Dl.js";
26
- import { o as resolveGatewayLogPaths, t as resolveGatewayService } from "./service-DDPRbf8a.js";
27
- import { r as isSystemdUserServiceAvailable } from "./systemd-BEWwfwn0.js";
28
- import { o as readLastGatewayErrorLine } from "./service-audit-x6jCN-6a.js";
29
- import { t as renderTable } from "./table-cCoGqLsk.js";
30
- import { i as probeGateway, t as runSecurityAudit } from "./audit-CY-yopxa.js";
31
- import { c as promptDefaultModel, d as warnIfModelConfigLooksOff, f as applyAuthChoice, g as promptAuthChoiceGrouped, i as promptCustomApiConfig, r as promptRemoteGatewayConfig, s as applyPrimaryModel, t as setupSkills, u as resolvePreferredProviderForAuthChoice } from "./onboard-skills-CBxsRGyf.js";
32
- import { l as healthCommand, n as ensureControlUiAssetsBuilt, s as formatHealthChannelLines, t as formatHealthCheckFailure, u as resolveHeartbeatSummaryForAgent } from "./health-format-DrGFg8bx.js";
33
- import { C as resolveEffectiveUpdateChannel, S as normalizeUpdateChannel, c as formatUpdateOneLiner, d as checkShellCompletionStatus, h as compareSemverStrings, l as getUpdateCheckResult, m as checkUpdateStatus, p as ensureCompletionCacheExists, s as formatUpdateAvailableHint, u as resolveUpdateAvailability, x as formatUpdateChannelLabel } from "./update-runner-ChTf6O6p.js";
34
- import { n as logConfigUpdated } from "./logging-DuK6YXuK.js";
35
- import { t as buildWorkspaceHookStatus } from "./hooks-status-Br-2bK2G.js";
36
- import { t as buildWorkspaceSkillStatus } from "./skills-status-DjtPPMnY.js";
37
- import { t as runTui } from "./tui-BdJWZdto.js";
38
- import { t as resolveNodeService } from "./node-service-u8g85nD3.js";
39
- import { n as redactSecrets, t as formatGatewayAuthUsed } from "./format-CaxeRcue.js";
18
+ import { n as setupChannels } from "./onboard-channels-C501x8GI.js";
19
+ import { s as resolveStorePath } from "./paths-DLINmNFQ.js";
20
+ import { I as resolveMainSessionKey, d as loadSessionStore } from "./sandbox-BKYnhYQH.js";
21
+ import { r as formatDurationPrecise } from "./format-duration-Bo9zNKwO.js";
22
+ import { n as formatTimeAgo } from "./format-relative-CZOlQ2pA.js";
23
+ import { t as collectChannelStatusIssues } from "./channels-status-issues-D7GSV1GS.js";
24
+ import { r as installCompletion } from "./completion-cli-CR77-jyv.js";
25
+ import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-B0tg_LsX.js";
26
+ import { o as resolveGatewayLogPaths, t as resolveGatewayService } from "./service-99RDXwX4.js";
27
+ import { r as isSystemdUserServiceAvailable } from "./systemd-C0VZriGM.js";
28
+ import { o as readLastGatewayErrorLine } from "./service-audit-ckBaRCVC.js";
29
+ import { t as renderTable } from "./table-CwulTLQp.js";
30
+ import { i as probeGateway, t as runSecurityAudit } from "./audit-wPu26VMb.js";
31
+ import { d as applyPrimaryModel, f as promptDefaultModel, g as applyAuthChoice, h as warnIfModelConfigLooksOff, m as resolvePreferredProviderForAuthChoice, r as promptRemoteGatewayConfig, s as promptCustomApiConfig, t as setupSkills, x as promptAuthChoiceGrouped } from "./onboard-skills-DV0Qzvjj.js";
32
+ import { l as healthCommand, n as ensureControlUiAssetsBuilt, s as formatHealthChannelLines, t as formatHealthCheckFailure, u as resolveHeartbeatSummaryForAgent } from "./health-format-LZDxu3rv.js";
33
+ import { C as resolveEffectiveUpdateChannel, S as normalizeUpdateChannel, c as formatUpdateOneLiner, d as checkShellCompletionStatus, h as compareSemverStrings, l as getUpdateCheckResult, m as checkUpdateStatus, p as ensureCompletionCacheExists, s as formatUpdateAvailableHint, u as resolveUpdateAvailability, x as formatUpdateChannelLabel } from "./update-runner--ixK4J3W.js";
34
+ import { n as logConfigUpdated } from "./logging-CRq4h04P.js";
35
+ import { t as buildWorkspaceHookStatus } from "./hooks-status-Cw0xD8Lt.js";
36
+ import { t as buildWorkspaceSkillStatus } from "./skills-status-TDIgVd1K.js";
37
+ import { t as runTui } from "./tui-Lu8FdrlK.js";
38
+ import { t as resolveNodeService } from "./node-service-WQuEKz6W.js";
39
+ import { n as redactSecrets, t as formatGatewayAuthUsed } from "./format-CNU-Zkrz.js";
40
40
  import { spawnSync } from "node:child_process";
41
41
  import path from "node:path";
42
42
  import os from "node:os";
@@ -152,7 +152,7 @@ async function finalizeOnboardingWizard(options) {
152
152
  const systemdAvailable = process.platform === "linux" ? await isSystemdUserServiceAvailable() : true;
153
153
  if (process.platform === "linux" && !systemdAvailable) await prompter.note("Systemd user services are unavailable. Skipping lingering checks and service install.", "Systemd");
154
154
  if (process.platform === "linux" && systemdAvailable) {
155
- const { ensureSystemdUserLingerInteractive } = await import("./systemd-linger-CDo2UbHM.js").then((n) => n.r);
155
+ const { ensureSystemdUserLingerInteractive } = await import("./systemd-linger-xdn3BdPh.js").then((n) => n.r);
156
156
  await ensureSystemdUserLingerInteractive({
157
157
  runtime,
158
158
  prompter: {
@@ -1,12 +1,38 @@
1
1
  import { o as resolveConfigPath } from "./paths-DVBShlw6.js";
2
2
  import { createRequire } from "node:module";
3
3
  import fs from "node:fs";
4
+ import os from "node:os";
4
5
  import path from "node:path";
5
6
  import { Logger } from "tslog";
6
7
  import JSON5 from "json5";
7
8
  import chalk, { Chalk } from "chalk";
8
9
  import util from "node:util";
9
10
 
11
+ //#region src/infra/tmp-openclaw-dir.ts
12
+ const POSIX_OPENCLAW_TMP_DIR = "/tmp/openclaw";
13
+ function isNodeErrorWithCode(err, code) {
14
+ return typeof err === "object" && err !== null && "code" in err && err.code === code;
15
+ }
16
+ function resolvePreferredOpenClawTmpDir(options = {}) {
17
+ const accessSync = options.accessSync ?? fs.accessSync;
18
+ const statSync = options.statSync ?? fs.statSync;
19
+ const tmpdir = options.tmpdir ?? os.tmpdir;
20
+ try {
21
+ if (!statSync(POSIX_OPENCLAW_TMP_DIR).isDirectory()) return path.join(tmpdir(), "openclaw");
22
+ accessSync(POSIX_OPENCLAW_TMP_DIR, fs.constants.W_OK | fs.constants.X_OK);
23
+ return POSIX_OPENCLAW_TMP_DIR;
24
+ } catch (err) {
25
+ if (!isNodeErrorWithCode(err, "ENOENT")) return path.join(tmpdir(), "openclaw");
26
+ }
27
+ try {
28
+ accessSync("/tmp", fs.constants.W_OK | fs.constants.X_OK);
29
+ return POSIX_OPENCLAW_TMP_DIR;
30
+ } catch {
31
+ return path.join(tmpdir(), "openclaw");
32
+ }
33
+ }
34
+
35
+ //#endregion
10
36
  //#region src/logging/config.ts
11
37
  function readLoggingConfig() {
12
38
  const configPath = resolveConfigPath();
@@ -60,12 +86,13 @@ const loggingState = {
60
86
  consoleTimestampPrefix: false,
61
87
  consoleSubsystemFilter: null,
62
88
  resolvingConsoleSettings: false,
89
+ streamErrorHandlersInstalled: false,
63
90
  rawConsole: null
64
91
  };
65
92
 
66
93
  //#endregion
67
94
  //#region src/logging/logger.ts
68
- const DEFAULT_LOG_DIR = "/tmp/openclaw";
95
+ const DEFAULT_LOG_DIR = resolvePreferredOpenClawTmpDir();
69
96
  const DEFAULT_LOG_FILE = path.join(DEFAULT_LOG_DIR, "openclaw.log");
70
97
  const LOG_PREFIX = "openclaw";
71
98
  const LOG_SUFFIX = ".log";
@@ -469,17 +496,10 @@ function restoreTerminalState(reason) {
469
496
  reportRestoreFailure("progress line", err, reason);
470
497
  }
471
498
  const stdin = process.stdin;
472
- if (stdin.isTTY && typeof stdin.setRawMode === "function") {
473
- try {
474
- stdin.setRawMode(false);
475
- } catch (err) {
476
- reportRestoreFailure("raw mode", err, reason);
477
- }
478
- if (typeof stdin.isPaused === "function" && stdin.isPaused()) try {
479
- stdin.resume();
480
- } catch (err) {
481
- reportRestoreFailure("stdin resume", err, reason);
482
- }
499
+ if (stdin.isTTY && typeof stdin.setRawMode === "function") try {
500
+ stdin.setRawMode(false);
501
+ } catch (err) {
502
+ reportRestoreFailure("raw mode", err, reason);
483
503
  }
484
504
  if (process.stdout.isTTY) try {
485
505
  process.stdout.write(RESET_SEQUENCE);
@@ -593,12 +613,20 @@ function isEpipeError(err) {
593
613
  return code === "EPIPE" || code === "EIO";
594
614
  }
595
615
  function formatConsoleTimestamp(style) {
596
- const now = (/* @__PURE__ */ new Date()).toISOString();
597
- if (style === "pretty") return now.slice(11, 19);
598
- return now;
616
+ const now = /* @__PURE__ */ new Date();
617
+ if (style === "pretty") return `${String(now.getHours()).padStart(2, "0")}:${String(now.getMinutes()).padStart(2, "0")}:${String(now.getSeconds()).padStart(2, "0")}`;
618
+ const year = now.getFullYear();
619
+ const month = String(now.getMonth() + 1).padStart(2, "0");
620
+ const day = String(now.getDate()).padStart(2, "0");
621
+ const h = String(now.getHours()).padStart(2, "0");
622
+ const m = String(now.getMinutes()).padStart(2, "0");
623
+ const s = String(now.getSeconds()).padStart(2, "0");
624
+ const ms = String(now.getMilliseconds()).padStart(3, "0");
625
+ const tzOffset = now.getTimezoneOffset();
626
+ return `${year}-${month}-${day}T${h}:${m}:${s}.${ms}${tzOffset <= 0 ? "+" : "-"}${String(Math.floor(Math.abs(tzOffset) / 60)).padStart(2, "0")}:${String(Math.abs(tzOffset) % 60).padStart(2, "0")}`;
599
627
  }
600
628
  function hasTimestampPrefix(value) {
601
- return /^(?:\d{2}:\d{2}:\d{2}|\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?Z?)/.test(value);
629
+ return /^(?:\d{2}:\d{2}:\d{2}|\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})?)/.test(value);
602
630
  }
603
631
  function isJsonPayload(value) {
604
632
  const trimmed = value.trim();
@@ -617,6 +645,13 @@ function isJsonPayload(value) {
617
645
  function enableConsoleCapture() {
618
646
  if (loggingState.consolePatched) return;
619
647
  loggingState.consolePatched = true;
648
+ if (!loggingState.streamErrorHandlersInstalled) {
649
+ loggingState.streamErrorHandlersInstalled = true;
650
+ for (const stream of [process.stdout, process.stderr]) stream.on("error", (err) => {
651
+ if (isEpipeError(err)) return;
652
+ throw err;
653
+ });
654
+ }
620
655
  let logger = null;
621
656
  const getLoggerLazy = () => {
622
657
  if (!logger) logger = getLogger();
@@ -843,4 +878,4 @@ function runtimeForLogger(logger, exit = defaultRuntime.exit) {
843
878
  }
844
879
 
845
880
  //#endregion
846
- export { logVerbose as A, getLogger as B, getActivePluginRegistry as C, info as D, danger as E, warn as F, toPinoLikeLogger as H, colorize as I, isRich as L, setVerbose as M, shouldLogVerbose as N, isVerbose as O, success as P, theme as R, normalizeChatChannelId as S, setActivePluginRegistry as T, normalizeLogLevel as U, getResolvedLoggerSettings as V, formatChannelSelectionLine as _, setConsoleTimestampPrefix as a, normalizeAnyChannelId as b, defaultRuntime as c, registerActiveProgressLine as d, unregisterActiveProgressLine as f, formatChannelPrimerLine as g, DEFAULT_CHAT_CHANNEL as h, setConsoleSubsystemFilter as i, logVerboseConsole as j, isYes as k, restoreTerminalState as l, CHAT_CHANNEL_ORDER as m, runtimeForLogger as n, shouldLogSubsystemToConsole as o, CHANNEL_IDS as p, enableConsoleCapture as r, visibleWidth as s, createSubsystemLogger as t, clearActiveProgressLine as u, getChatChannelMeta as v, requireActivePluginRegistry as w, normalizeChannelId as x, listChatChannels as y, getChildLogger as z };
881
+ export { logVerbose as A, getLogger as B, getActivePluginRegistry as C, info as D, danger as E, warn as F, toPinoLikeLogger as H, colorize as I, isRich as L, setVerbose as M, shouldLogVerbose as N, isVerbose as O, success as P, theme as R, normalizeChatChannelId as S, setActivePluginRegistry as T, normalizeLogLevel as U, getResolvedLoggerSettings as V, resolvePreferredOpenClawTmpDir as W, formatChannelSelectionLine as _, setConsoleTimestampPrefix as a, normalizeAnyChannelId as b, defaultRuntime as c, registerActiveProgressLine as d, unregisterActiveProgressLine as f, formatChannelPrimerLine as g, DEFAULT_CHAT_CHANNEL as h, setConsoleSubsystemFilter as i, logVerboseConsole as j, isYes as k, restoreTerminalState as l, CHAT_CHANNEL_ORDER as m, runtimeForLogger as n, shouldLogSubsystemToConsole as o, CHANNEL_IDS as p, enableConsoleCapture as r, visibleWidth as s, createSubsystemLogger as t, clearActiveProgressLine as u, getChatChannelMeta as v, requireActivePluginRegistry as w, normalizeChannelId as x, listChatChannels as y, getChildLogger as z };
@@ -1,20 +1,20 @@
1
1
  import "./paths-DVBShlw6.js";
2
- import { E as danger, R as theme, c as defaultRuntime } from "./subsystem-Bh1Y_6Uv.js";
3
- import "./utils-es4ygvQ-.js";
4
- import "./exec-Cv_Ofd1m.js";
5
- import "./agent-scope-CGmuusG9.js";
6
- import "./model-selection-BK7DuyH8.js";
2
+ import { E as danger, R as theme, c as defaultRuntime } from "./subsystem-BoExtIHo.js";
3
+ import "./utils-Cd9QdCHh.js";
4
+ import "./exec-YIosokWE.js";
5
+ import "./agent-scope-CQCus0rI.js";
6
+ import "./model-selection-BLuqsGVB.js";
7
7
  import "./github-copilot-token-BW-SEg7E.js";
8
8
  import "./boolean-BgXe2hyu.js";
9
- import "./env-BxRc6wWv.js";
10
- import "./config--NUdpACy.js";
11
- import "./manifest-registry-3It8Z8yN.js";
12
- import "./message-channel-Cu61-7H6.js";
13
- import "./client-6xKrRC-1.js";
14
- import "./call-Bek1xlgk.js";
15
- import { t as formatDocsLink } from "./links-C591fM9M.js";
16
- import "./progress-DIQJt9Va.js";
17
- import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-BoL2vinh.js";
9
+ import "./env-ONzUVAG2.js";
10
+ import "./config-aFQssWKX.js";
11
+ import "./manifest-registry-CQhdnDBZ.js";
12
+ import "./message-channel-BLi2a6Yw.js";
13
+ import "./client-BrYfyoDK.js";
14
+ import "./call-SolyGS1r.js";
15
+ import { t as formatDocsLink } from "./links-Eax1UO3w.js";
16
+ import "./progress-C9kngsTD.js";
17
+ import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-wXSCUZXj.js";
18
18
 
19
19
  //#region src/cli/system-cli.ts
20
20
  const normalizeWakeMode = (raw) => {