winclaw 2026.3.29 → 2026.3.30

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 (397) hide show
  1. package/README.ja.md +22 -5
  2. package/README.md +8 -6
  3. package/README.zh-CN.md +25 -3
  4. package/dist/{accounts-BpS-Awr5.js → accounts-CLKFSM00.js} +1 -1
  5. package/dist/{accounts-8qwgz384.js → accounts-CTJXIABG.js} +1 -1
  6. package/dist/{accounts-BrWJjaKS.js → accounts-cYG8442L.js} +7 -7
  7. package/dist/{acp-cli-DOyxCPhJ.js → acp-cli-BlB6CU93.js} +8 -8
  8. package/dist/{agent-scope-Dany4R2i.js → agent-scope-D-i-vMLS.js} +17 -17
  9. package/dist/{agents-0xozQRvk.js → agents-CIH7dGTJ.js} +14 -14
  10. package/dist/{agents.config-BOMjLRZu.js → agents.config-BJ02KLfJ.js} +2 -2
  11. package/dist/{agents.config-BlXAmKG-.js → agents.config-DPPz42XW.js} +1 -1
  12. package/dist/{api-key-rotation-DX8FQ-la.js → api-key-rotation-6yvrHUjY.js} +1 -1
  13. package/dist/{audio-preflight-D-fJAjmv.js → audio-preflight-BpK1Fpki.js} +34 -34
  14. package/dist/{audio-transcription-runner-CRSNM03k.js → audio-transcription-runner-UjPRrQgJ.js} +23 -23
  15. package/dist/{audit-CyNXGkn3.js → audit-DRPXorDm.js} +29 -29
  16. package/dist/{auth-CnAV77Sn.js → auth--KDo_E_4.js} +1 -1
  17. package/dist/{auth-choice-LkMeCnxx.js → auth-choice-Bj7PVPSL.js} +1 -1
  18. package/dist/{auth-choice-CFM26aUm.js → auth-choice-CG7NeezM.js} +11 -11
  19. package/dist/{auth-choice-VaQfxfmJ.js → auth-choice-DM5Plhrj.js} +13 -13
  20. package/dist/{auth-choice.apply-helpers-DcSztsOH.js → auth-choice.apply-helpers-CJy8V2Xp.js} +1 -1
  21. package/dist/{auth-profiles-Ckp5jw_h.js → auth-profiles-C0_vbRBI.js} +16 -16
  22. package/dist/{auth-token-BxX2fAIF.js → auth-token-BsypkvZB.js} +1 -1
  23. package/dist/{banner-BT2LiW7e.js → banner-meZR5Bgg.js} +2 -2
  24. package/dist/{bonjour-discovery-TLpgifVr.js → bonjour-discovery-ZXskIxLW.js} +1 -1
  25. package/dist/{browser-cli-bFKY_VZG.js → browser-cli-DbIjFtFV.js} +12 -12
  26. package/dist/build-info.json +3 -3
  27. package/dist/bundled/boot-md/handler.js +1 -1
  28. package/dist/bundled/session-memory/handler.js +1 -1
  29. package/dist/{call-yVj9RKC4.js → call-CmNNda8m.js} +10 -10
  30. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  31. package/dist/{channel-account-context-D4Yftz20.js → channel-account-context-B4ofKr9t.js} +5 -5
  32. package/dist/{channel-activity-D_GsFyli.js → channel-activity-aWOCqUEs.js} +1 -1
  33. package/dist/{channel-options-BD9rnD6R.js → channel-options-De1IAw_E.js} +3 -3
  34. package/dist/{channel-options-9iF3WVYl.js → channel-options-FQUz9taT.js} +1 -1
  35. package/dist/{channel-selection-Bke39fer.js → channel-selection-5G2iw3CB.js} +1 -1
  36. package/dist/{channel-web-BDC-P0JD.js → channel-web-DHTyqRpi.js} +1 -1
  37. package/dist/{channel-web-DsvUbGEe.js → channel-web-jEI5yjzS.js} +17 -17
  38. package/dist/{channels-cli-CDP6OBW-.js → channels-cli-CwHkF5_2.js} +93 -93
  39. package/dist/{channels-cli-C3S3BqJL.js → channels-cli-D5OaUk1Q.js} +6 -6
  40. package/dist/{channels-status-issues-wCgCdUDu.js → channels-status-issues-DpfEWI4l.js} +1 -1
  41. package/dist/{chrome-MZdKzhd4.js → chrome-C3_fgvw4.js} +4 -4
  42. package/dist/{clawbot-cli-4S0Jk3Re.js → clawbot-cli-CiOmmnPO.js} +11 -11
  43. package/dist/{cli-CtCwLUMK.js → cli-AyZNWf4S.js} +1 -1
  44. package/dist/cli-DAjqeJ11.js +154 -0
  45. package/dist/{client-LzBGN2_q.js → client-BYyYW3K0.js} +2 -2
  46. package/dist/{command-registry-DNoXbyUx.js → command-registry-x9NDBBLs.js} +11 -11
  47. package/dist/{command-secret-targets-mNBDbtq8.js → command-secret-targets-ObW6kBQd.js} +4 -4
  48. package/dist/{commands-DmBkhPD-.js → commands-4mnxaSoA.js} +1 -1
  49. package/dist/{commands-registry-BvyQQ61P.js → commands-registry-8CcrHp7D.js} +3 -3
  50. package/dist/{completion-cli-CwnrMtr0.js → completion-cli-BW56IqqD.js} +1 -1
  51. package/dist/{completion-cli-Cg5kVNBp.js → completion-cli-Bjpytfkp.js} +13 -13
  52. package/dist/{config-cli-Ba_FXbdW.js → config-cli-CloGCP2e.js} +7 -7
  53. package/dist/{config-cli-BaBIhbAe.js → config-cli-CsoEv7CJ.js} +1 -1
  54. package/dist/{config-guard-DEisQhpy.js → config-guard-DMjkNbiG.js} +3 -3
  55. package/dist/{config-validation-BSCTo9Mn.js → config-validation-BVDib1S1.js} +3 -3
  56. package/dist/{configure-DwpH8TuB.js → configure--T-R2Jqc.js} +17 -17
  57. package/dist/{configure-gHDKJz4P.js → configure-DBvbak__.js} +3 -3
  58. package/dist/{control-ui-assets-5F0FEjfM.js → control-ui-assets-B0DdamQU.js} +1 -1
  59. package/dist/{cron-cli-Ba6hPFCZ.js → cron-cli-C79a_a9Q.js} +11 -11
  60. package/dist/{daemon-cli-lbUiDK1P.js → daemon-cli-DBMl1neJ.js} +16 -16
  61. package/dist/{daemon-install-DNhR8NtL.js → daemon-install-C029NlXk.js} +4 -4
  62. package/dist/{daemon-install-helpers-DWmF3oFP.js → daemon-install-helpers-D1YQ03lO.js} +11 -11
  63. package/dist/{deliver-DpjgvKXk.js → deliver-3G7ZHuBV.js} +7 -7
  64. package/dist/deliver-runtime-BiUf_p4s.js +57 -0
  65. package/dist/deps-send-discord.runtime-CaQ1knyQ.js +32 -0
  66. package/dist/deps-send-imessage.runtime-CZCKtTEA.js +31 -0
  67. package/dist/deps-send-signal.runtime-D3kLxuKz.js +30 -0
  68. package/dist/deps-send-slack.runtime-Mw-zSbtA.js +28 -0
  69. package/dist/deps-send-telegram.runtime-FIWepZsM.js +34 -0
  70. package/dist/{deps-send-whatsapp.runtime-CQJIdTh3.js → deps-send-whatsapp.runtime-BYs_itMf.js} +2 -2
  71. package/dist/deps-send-whatsapp.runtime-Bdgusch1.js +115 -0
  72. package/dist/{deps-send-whatsapp.runtime-D_6bakG4.js → deps-send-whatsapp.runtime-CX5kXcPS.js} +3 -3
  73. package/dist/{deps-send-whatsapp.runtime-DBAHctXv.js → deps-send-whatsapp.runtime-DGBq_iWF.js} +2 -2
  74. package/dist/{devices-cli-Dcn9jgVF.js → devices-cli-CuREwwvN.js} +8 -8
  75. package/dist/{diagnostic-CxO1LgMH.js → diagnostic-Chwtt8I4.js} +1 -1
  76. package/dist/{diagnostics-BDjbQJxP.js → diagnostics-KfpqzhsS.js} +5 -5
  77. package/dist/{directory-cli-2NiA6lFd.js → directory-cli-CL4onMod.js} +7 -7
  78. package/dist/{dns-cli-DXcp-ZNe.js → dns-cli-CC9zZsXe.js} +5 -5
  79. package/dist/{dock-C-w5XvOS.js → dock-ClcGZ0LV.js} +4 -4
  80. package/dist/{docs-cli-BRob5CHm.js → docs-cli-DkQBHXw-.js} +4 -4
  81. package/dist/{doctor-completion-BnOLak0y.js → doctor-completion-CGkPTh0I.js} +2 -2
  82. package/dist/{doctor-completion-BAkFNkDW.js → doctor-completion-DbuwptbL.js} +1 -1
  83. package/dist/{doctor-config-flow-nsTC6y19.js → doctor-config-flow-DAKQgNc6.js} +15 -15
  84. package/dist/{enable-BQen2xUb.js → enable-DawrgAnk.js} +1 -1
  85. package/dist/entry.js +2 -2
  86. package/dist/{exec-approvals-allowlist-BDxoD2pP.js → exec-approvals-allowlist-CgO3-iPu.js} +1 -1
  87. package/dist/{exec-approvals-cli-Cp3WmN1t.js → exec-approvals-cli-Ify8VLSY.js} +16 -16
  88. package/dist/{exec-safe-bin-runtime-policy-C7sG8mhp.js → exec-safe-bin-runtime-policy-By-anRPS.js} +2 -2
  89. package/dist/extensionAPI.js +1 -1
  90. package/dist/{fetch-CVGiNhuf.js → fetch-DyoRWiT-.js} +3 -3
  91. package/dist/{fetch-guard-BdJ7lME2.js → fetch-guard-DF0_kLSc.js} +1 -1
  92. package/dist/{fs-safe-B8J4dv27.js → fs-safe-Dha0DfFC.js} +24 -24
  93. package/dist/{gateway-cli-VRcKcg1e.js → gateway-cli-BJQupXdf.js} +16 -13
  94. package/dist/{gateway-cli-Dn874-bc.js → gateway-cli-CRfXxNc6.js} +162 -159
  95. package/dist/{gateway-rpc-BdlE-Hja.js → gateway-rpc-CSeb8o-w.js} +1 -1
  96. package/dist/{health-CzOO-eH6.js → health-Dlg6Dvf5.js} +11 -11
  97. package/dist/{health-D-e0Q62U.js → health-__84N5d3.js} +1 -1
  98. package/dist/{hooks-cli-aIQoRYTF.js → hooks-cli-CuzsIsgF.js} +81 -81
  99. package/dist/{hooks-cli-DYNiP9B4.js → hooks-cli-iU9ZNhvj.js} +2 -2
  100. package/dist/{hooks-status-CQjtRM1s.js → hooks-status-Cjg5SLpX.js} +1 -1
  101. package/dist/{image-ops-DWGnyTvC.js → image-ops-eFMqXMDE.js} +10 -10
  102. package/dist/image-runtime-CsLPuRVE.js +51 -0
  103. package/dist/{image-COh2_3E2.js → image-zu8Q4gsy.js} +5 -5
  104. package/dist/index.js +6 -6
  105. package/dist/{inspect-DbVcDDi7.js → inspect-XmcWN97u.js} +4 -4
  106. package/dist/{install-safe-path-FR9r9Dmi.js → install-safe-path-DNotGe9T.js} +25 -25
  107. package/dist/{installs-7zsfIb7P.js → installs-zKF10nZF.js} +9 -9
  108. package/dist/{ipv4-D8H1uDoq.js → ipv4-xGA578zM.js} +1 -1
  109. package/dist/{ir-CYJ0KNbJ.js → ir-Dnquxoz8.js} +8 -8
  110. package/dist/{issue-format-rXDeQGUX.js → issue-format-DUrssptL.js} +1 -1
  111. package/dist/{json-files-D9ZHO8Ud.js → json-files-kWpauJWO.js} +8 -8
  112. package/dist/{lifecycle-core-H_Cd19GX.js → lifecycle-core-CyyViGlP.js} +5 -5
  113. package/dist/llm-slug-generator.js +1 -1
  114. package/dist/{login-Btnmps3S.js → login-CS326UA-.js} +3 -3
  115. package/dist/{login-qr-DYZ9Y8Oi.js → login-qr-DODveeI1.js} +6 -6
  116. package/dist/{logs-cli-BciLawXU.js → logs-cli-CUbhAWk5.js} +9 -9
  117. package/dist/{manager-ClpMRt6c.js → manager-Itd8mwC6.js} +14 -14
  118. package/dist/manager-runtime-CGMfvBou.js +22 -0
  119. package/dist/{manifest-registry-_liSV_Vx.js → manifest-registry-CI-UuKUO.js} +1 -1
  120. package/dist/{memory-cli-CTjStkNK.js → memory-cli-BSjyoCME.js} +12 -12
  121. package/dist/{model-CJZD0FVc.js → model-FuEe2Ft9.js} +2 -2
  122. package/dist/{model-catalog-qN_RooIW.js → model-catalog-B-CI_Q76.js} +3 -3
  123. package/dist/{model-picker-DWShnz0q.js → model-picker-BZqbkINL.js} +4 -4
  124. package/dist/{models-jWtvp6a8.js → models-_RE-3cle.js} +17 -17
  125. package/dist/{models-cli-BVtqV9DB.js → models-cli-5CoNLf6j.js} +78 -78
  126. package/dist/{models-cli-DMmyNy5s.js → models-cli-B4n0l6it.js} +2 -2
  127. package/dist/{models-config-Dp2QIxnd.js → models-config-tPZvlEX4.js} +6 -6
  128. package/dist/{net-Bj5kyhic.js → net-CXrvhn9o.js} +2 -2
  129. package/dist/{node-cli-Dl-3Kbvh.js → node-cli-DxuXZEka.js} +33 -33
  130. package/dist/{node-command-policy-CmGM0UDZ.js → node-command-policy-hSqGZL6Y.js} +1 -1
  131. package/dist/{node-service-L9-L8-7x.js → node-service-CLtiUeNO.js} +1 -1
  132. package/dist/{nodes-cli-DVOA51fF.js → nodes-cli-8GveHDsf.js} +16 -16
  133. package/dist/{nodes-screen-m-f8xnMf.js → nodes-screen-OQegsPOR.js} +7 -7
  134. package/dist/{npm-pack-install-B3VCcNWC.js → npm-pack-install-DZvYhRnM.js} +18 -18
  135. package/dist/{npm-resolution-BcohUwRz.js → npm-resolution-CuuGKWKb.js} +1 -1
  136. package/dist/{npm-resolution-i78K59Nz.js → npm-resolution-xIRHvdIo.js} +4 -4
  137. package/dist/{onboard-M7DMJvPb.js → onboard-BxR1f0aO.js} +2 -2
  138. package/dist/{onboard-l-1XwqMZ.js → onboard-am6titoo.js} +6 -6
  139. package/dist/{onboard-channels-QCHf3GwA.js → onboard-channels-Cjtx9Z2x.js} +21 -21
  140. package/dist/{onboard-channels-C_4lK9O4.js → onboard-channels-s4HKdHMW.js} +1 -1
  141. package/dist/{onboard-custom-B_v0Ajog.js → onboard-custom-DW1WeR_n.js} +4 -4
  142. package/dist/{onboard-helpers-6Smrn-T1.js → onboard-helpers-b9T97_8S.js} +10 -10
  143. package/dist/{onboard-hooks-DRkLf5gL.js → onboard-hooks-BTD0YhRI.js} +4 -4
  144. package/dist/{onboard-remote-CjyKzrPA.js → onboard-remote-DflQ6_sf.js} +4 -4
  145. package/dist/{onboard-skills-ClayTs-N.js → onboard-skills-DF5OkxRl.js} +4 -4
  146. package/dist/{onboarding-B47S4wEU.js → onboarding-BcPaZOba.js} +3 -3
  147. package/dist/{onboarding-BujBGR0s.js → onboarding-WdSi0gI0.js} +14 -14
  148. package/dist/{onboarding.finalize-Dd8Pb7R8.js → onboarding.finalize-BLh3Bo0V.js} +87 -87
  149. package/dist/{onboarding.finalize-BKDtmcqc.js → onboarding.finalize-DSdrUm12.js} +5 -5
  150. package/dist/{onboarding.gateway-config-hFKNYt9m.js → onboarding.gateway-config-Dqp44gBx.js} +18 -18
  151. package/dist/{onboarding.secret-input-DJOIi-zO.js → onboarding.secret-input-BqpyOfgu.js} +1 -1
  152. package/dist/{openai-model-default-WrjUZSLr.js → openai-model-default-Duce_n_s.js} +2 -2
  153. package/dist/{outbound-attachment-C6exYeCf.js → outbound-attachment-DEbgECRe.js} +2 -2
  154. package/dist/{outbound-Tv8tCXji.js → outbound-gb5XK6iG.js} +3 -3
  155. package/dist/{pairing-cli-9Xy08cjw.js → pairing-cli-Dm7rMKEY.js} +8 -8
  156. package/dist/{pairing-labels-DPcMglcJ.js → pairing-labels-BFRaTO20.js} +1 -1
  157. package/dist/{pairing-store-Dv0sC8Jz.js → pairing-store-Jfk6MAHv.js} +3 -3
  158. package/dist/{path-alias-guards-BoydiaPL.js → path-alias-guards-9OJ1UBCd.js} +3 -3
  159. package/dist/{path-safety-CSCsbd-j.js → path-safety-Cq9rwfZN.js} +1 -1
  160. package/dist/{paths-BVQ0udwc.js → paths-C5mR1YC-.js} +9 -9
  161. package/dist/{pi-embedded-C_sQxXrk.js → pi-embedded-BRz8kpRN.js} +14 -6
  162. package/dist/{pi-embedded-dDh82tGp.js → pi-embedded-aQOCDWjl.js} +14 -6
  163. package/dist/{pi-embedded-helpers-5DVpps9M.js → pi-embedded-helpers-xQd6fIj4.js} +6 -6
  164. package/dist/{pi-model-discovery-D0Rvs4r3.js → pi-model-discovery-Cd0pEB8d.js} +1 -1
  165. package/dist/{pi-model-discovery-runtime-BdvRmBNY.js → pi-model-discovery-runtime-Dpl9vq-K.js} +5 -5
  166. package/dist/{pi-tools.before-tool-call.runtime-DUKHYZ0f.js → pi-tools.before-tool-call.runtime-C36agKpr.js} +5 -5
  167. package/dist/{pi-tools.policy-UvhsU9iG.js → pi-tools.policy-bVlHvdWR.js} +5 -5
  168. package/dist/{plugin-auto-enable-BONFXc29.js → plugin-auto-enable-DaK3KSuE.js} +3 -3
  169. package/dist/{plugin-registry-Nv623pQ8.js → plugin-registry-CWq9LssV.js} +1 -1
  170. package/dist/{plugin-registry-DfhIUB9h.js → plugin-registry-DyBp6t1T.js} +3 -3
  171. package/dist/plugin-sdk/{channel-web-EcjhoBw_.js → channel-web-CT8NXcsy.js} +1 -1
  172. package/dist/plugin-sdk/{channel-web-CEiA9mMX.js → channel-web-wExOWWZf.js} +1 -1
  173. package/dist/plugin-sdk/compat.js +50 -50
  174. package/dist/plugin-sdk/{deps-send-whatsapp.runtime-CTbvgfdr.js → deps-send-whatsapp.runtime-C1fYtn4a.js} +3 -3
  175. package/dist/plugin-sdk/{deps-send-whatsapp.runtime-jTXAF5yT.js → deps-send-whatsapp.runtime-g134aNZC.js} +3 -3
  176. package/dist/plugin-sdk/imessage.js +2 -2
  177. package/dist/plugin-sdk/index.js +2 -2
  178. package/dist/plugin-sdk/infra/grc-client.d.ts +2 -0
  179. package/dist/plugin-sdk/mattermost.js +3 -3
  180. package/dist/plugin-sdk/msteams.js +2 -2
  181. package/dist/plugin-sdk/nextcloud-talk.js +2 -2
  182. package/dist/plugin-sdk/{reply-B8DJCNlQ.js → reply-CD6y7WJl.js} +14 -6
  183. package/dist/plugin-sdk/{reply-BgiXpyGY.js → reply-CMg5hz0h.js} +14 -6
  184. package/dist/plugin-sdk/slack.js +2 -2
  185. package/dist/plugin-sdk/{slash-dispatch.runtime-CHEdYAtR.js → slash-dispatch.runtime-D77GA4f1.js} +1 -1
  186. package/dist/plugin-sdk/{slash-dispatch.runtime-dqTaIgsc.js → slash-dispatch.runtime-DVmCRppy.js} +1 -1
  187. package/dist/plugin-sdk/{subagent-registry-runtime-HjHuWqPP.js → subagent-registry-runtime-BH_RzeSp.js} +1 -1
  188. package/dist/plugin-sdk/{subagent-registry-runtime-Cr79k4X4.js → subagent-registry-runtime-DEUCu7Et.js} +1 -1
  189. package/dist/plugin-sdk/telegram.js +2 -2
  190. package/dist/plugin-sdk/tlon.js +2 -2
  191. package/dist/plugin-sdk/{web-CxFBIhw0.js → web-Cbl9JYO9.js} +2 -2
  192. package/dist/plugin-sdk/{web-DbzGl5ZE.js → web-VzWTm6Dj.js} +2 -2
  193. package/dist/plugin-sdk/whatsapp.js +2 -2
  194. package/dist/{plugins-IFacUN_Q.js → plugins-C1OgLvb4.js} +2 -2
  195. package/dist/{plugins-cli-D117Bk0n.js → plugins-cli-Bvx0OBBu.js} +2 -2
  196. package/dist/{plugins-cli-CljYV6tN.js → plugins-cli-Cnlp9SkY.js} +83 -83
  197. package/dist/{ports-DqZBwUsy.js → ports-CfOim1GC.js} +2 -2
  198. package/dist/{ports-FLn4cVl7.js → ports-Dw-3Gxsb.js} +1 -1
  199. package/dist/{probe-BHa1tp-C.js → probe-DB96HNqH.js} +2 -2
  200. package/dist/{program-DWCJss2F.js → program-XLNAxL5H.js} +81 -81
  201. package/dist/{program-context-D080ziP9.js → program-context-bbDkG0e8.js} +17 -17
  202. package/dist/{prompt-select-styled-CTxyKSUU.js → prompt-select-styled-CLUWcXUm.js} +4 -4
  203. package/dist/{prompt-select-styled-C-1hu0F8.js → prompt-select-styled-Q8GWUcer.js} +40 -40
  204. package/dist/{provider-auth-helpers-u8GelTrM.js → provider-auth-helpers-B3I8REM-.js} +1 -1
  205. package/dist/{provider-auth-helpers-BqL649bt.js → provider-auth-helpers-Cfp6gMlu.js} +5 -5
  206. package/dist/{proxy-env-C0nYsvsi.js → proxy-env-CmJ7_jtU.js} +1 -1
  207. package/dist/{push-apns-h6jlBNG4.js → push-apns-CkjtpICg.js} +1 -1
  208. package/dist/{push-apns-DSooIpxO.js → push-apns-w1ZnrPDq.js} +5 -5
  209. package/dist/{pw-ai-CPNq1DS5.js → pw-ai-CFIm6dB7.js} +18 -18
  210. package/dist/{qmd-manager-COHJs6wn.js → qmd-manager-oU4X85hj.js} +20 -20
  211. package/dist/{qr-cli-CRvrxPDx.js → qr-cli-geB0TD3J.js} +2 -2
  212. package/dist/{query-expansion-IQFdQdeu.js → query-expansion-Cja4xprw.js} +12 -12
  213. package/dist/{redact-snapshot-DNLo0954.js → redact-snapshot-CjRldBIQ.js} +1 -1
  214. package/dist/{register.agent-CD3LQtou.js → register.agent-BNCQ-ov7.js} +94 -94
  215. package/dist/{register.agent-Dsejprz-.js → register.agent-CDcXKP1l.js} +6 -6
  216. package/dist/register.configure-BP5_04Cr.js +162 -0
  217. package/dist/{register.configure-C5lKMhmo.js → register.configure-CO73TVHK.js} +7 -7
  218. package/dist/{register.maintenance-DBq9fXGR.js → register.maintenance-BgH6Nnct.js} +7 -7
  219. package/dist/{register.maintenance-BSCe-s-X.js → register.maintenance-CgBol5Qi.js} +95 -95
  220. package/dist/{register.message-Q-Vp6K8r.js → register.message-B6_XSVTi.js} +2 -2
  221. package/dist/{register.message-Ym2bm4g1.js → register.message-CLTbscmf.js} +74 -74
  222. package/dist/{register.onboard-hCE34Wlx.js → register.onboard-BgVyzIfh.js} +2 -2
  223. package/dist/{register.onboard-BmAKFvH3.js → register.onboard-C4v40wrV.js} +18 -18
  224. package/dist/{register.setup-BzpG6l7c.js → register.setup-Dd0ejHxl.js} +2 -2
  225. package/dist/{register.setup-CxwyLc70.js → register.setup-KRqtLBl3.js} +21 -21
  226. package/dist/{register.status-health-sessions-BOvGV5aB.js → register.status-health-sessions-CDNS5UJQ.js} +3 -3
  227. package/dist/{register.status-health-sessions-C5w-Oq6Y.js → register.status-health-sessions-HVRGSfSD.js} +89 -89
  228. package/dist/{register.subclis-_vpjMECF.js → register.subclis-Brqab7O1.js} +31 -31
  229. package/dist/{reply-DR33WQzJ.js → reply-vWIo6upp.js} +14 -6
  230. package/dist/{rpc-C3SnXIiv.js → rpc-VRU7ai3o.js} +1 -1
  231. package/dist/{run-main-CeGFwC7_.js → run-main-oActUXZr.js} +92 -92
  232. package/dist/{runtime-CH5fohLt.js → runtime-BF8Olfsc.js} +3 -3
  233. package/dist/{runtime-config-collectors-B0UvQfrp.js → runtime-config-collectors-CX2DT22y.js} +1 -1
  234. package/dist/{runtime-whatsapp-login.runtime-C5O_5Oac.js → runtime-whatsapp-login.runtime-0HUD3AWH.js} +7 -7
  235. package/dist/runtime-whatsapp-outbound.runtime-Z7JKVh88.js +28 -0
  236. package/dist/{sandbox-CBt528hA.js → sandbox-CHQOIPj9.js} +18 -18
  237. package/dist/{sandbox-cli-CMwwlijF.js → sandbox-cli-VRZ6h57q.js} +25 -25
  238. package/dist/{secrets-cli-e2Demg1k.js → secrets-cli-B73viEkt.js} +11 -11
  239. package/dist/{security-cli-FryW-V8n.js → security-cli-D6wU5KjD.js} +43 -43
  240. package/dist/{send-2xjAFnHO.js → send-B-Uy34-w.js} +4 -4
  241. package/dist/{send-C4M_d4By.js → send-C49MF69y.js} +5 -5
  242. package/dist/{send-CRlSWbm2.js → send-C7PqB4vs.js} +6 -6
  243. package/dist/{send-BUfGAwap.js → send-ExuAKrlR.js} +11 -11
  244. package/dist/{send-BQNX3KIc.js → send-Ta3D0GAH.js} +8 -8
  245. package/dist/{server-v5t12up6.js → server-YE6zCzOe.js} +20 -20
  246. package/dist/{server-context-05Fm5Kkz.js → server-context-CJiG1msd.js} +12 -12
  247. package/dist/{server-lifecycle-BrR-At7-.js → server-lifecycle-Bfo-0Zi5.js} +2 -2
  248. package/dist/{server-middleware-29IWly-I.js → server-middleware-B0GRmBkQ.js} +1 -1
  249. package/dist/{server-node-events-kqNjniKD.js → server-node-events-7a0wvwj-.js} +74 -74
  250. package/dist/{server-node-events-Dm5OeQGF.js → server-node-events-DcaZCODW.js} +2 -2
  251. package/dist/{service-B45ntxm9.js → service-Aratsspm.js} +15 -15
  252. package/dist/{session-BO7rj_9P.js → session-C4iQQHfw.js} +1 -1
  253. package/dist/{session-utils-lxnjm2Oj.js → session-utils-z-HrHk5J.js} +6 -6
  254. package/dist/{sessions-X3dplt-M.js → sessions-8T6PxYa7.js} +4 -4
  255. package/dist/{sessions-BFIOR30J.js → sessions-D7TKRSga.js} +15 -15
  256. package/dist/{shared-_43GPoqz.js → shared-CaXgHNH2.js} +3 -3
  257. package/dist/{shared-CpqkgNHp.js → shared-Cj-SPh02.js} +1 -1
  258. package/dist/{skill-commands-BTa_Ex3d.js → skill-commands-CUwo4YjF.js} +5 -5
  259. package/dist/{skill-scanner-DOOfjrYo.js → skill-scanner-DqqhF5of.js} +6 -6
  260. package/dist/{skills-CFYm0xdh.js → skills-BpN5EUZU.js} +3 -3
  261. package/dist/{skills-cli-nYjsj4Ma.js → skills-cli-DnH5WOma.js} +5 -5
  262. package/dist/{skills-install-DUTZBDD_.js → skills-install-JXf-PngU.js} +6 -6
  263. package/dist/{skills-status-CmWpjTMz.js → skills-status-Bu28FGtt.js} +1 -1
  264. package/dist/{slash-commands.runtime-BSt9lmeO.js → slash-commands.runtime-DO829aTF.js} +11 -11
  265. package/dist/slash-dispatch.runtime-BYJHgRiR.js +110 -0
  266. package/dist/{slash-dispatch.runtime-Coc5MsAd.js → slash-dispatch.runtime-BeGQpZek.js} +1 -1
  267. package/dist/{slash-dispatch.runtime-CVBzpvbT.js → slash-dispatch.runtime-CTs4QiUU.js} +1 -1
  268. package/dist/{slash-dispatch.runtime-D131HdNg.js → slash-dispatch.runtime-D2JVYSk6.js} +1 -1
  269. package/dist/slash-skill-commands.runtime-BxhuEjRa.js +29 -0
  270. package/dist/{status-PIftG4qR.js → status-ClQRwEvG.js} +28 -28
  271. package/dist/{status-DvQfUoEP.js → status-DE0O619Z.js} +2 -2
  272. package/dist/{status.update-ZhDibzTU.js → status.update-CdaaXiD4.js} +2 -2
  273. package/dist/{store-Dgl-neCe.js → store-LSg8jeyh.js} +5 -5
  274. package/dist/{subagent-registry-CpETNYCn.js → subagent-registry-D-18B37j.js} +159 -151
  275. package/dist/subagent-registry-runtime-BPGIuoHI.js +110 -0
  276. package/dist/{subagent-registry-runtime-7V3XP_HX.js → subagent-registry-runtime-Bk93qrOM.js} +1 -1
  277. package/dist/{subagent-registry-runtime-D8GkTvrU.js → subagent-registry-runtime-Bqml2hvL.js} +1 -1
  278. package/dist/{subagent-registry-runtime-C63cTy7K.js → subagent-registry-runtime-xzQ8sxHJ.js} +1 -1
  279. package/dist/{system-cli-mnC_WWVA.js → system-cli-B_ueNaMP.js} +9 -9
  280. package/dist/{system-run-command-C8KITr2s.js → system-run-command-8RPNlCCc.js} +1 -1
  281. package/dist/{systemd-BNMfPHLS.js → systemd-CVY4-XuL.js} +9 -9
  282. package/dist/{systemd-hints-O9SJa5Ku.js → systemd-hints-GPX9Y1X7.js} +6 -6
  283. package/dist/{systemd-linger-CDgtOmPf.js → systemd-linger-CyioH9ho.js} +1 -1
  284. package/dist/{tables-BbyESbJo.js → tables-CPzrJtyj.js} +1 -1
  285. package/dist/{tailnet-D6miw7DJ.js → tailnet-BXTXJnWv.js} +1 -1
  286. package/dist/{plugin-sdk/target-errors-Cr0q4o7K.js → target-errors-HJQQHC3B.js} +4 -4
  287. package/dist/{tool-images-DbchBdq5.js → tool-images-Cp3hNFNZ.js} +1 -1
  288. package/dist/{tui-DTvUykA5.js → tui-D8p-fGCf.js} +6 -6
  289. package/dist/{tui-cli-CCWcOp3j.js → tui-cli-Y2--Aslb.js} +32 -32
  290. package/dist/{update-cli-DirJg9Lu.js → update-cli-B7IZwF-_.js} +7 -7
  291. package/dist/{update-cli-CVOGZEZu.js → update-cli-Bqemc1xi.js} +105 -105
  292. package/dist/{update-runner-Lq0Fnpis.js → update-runner-BPWOvUgM.js} +1 -1
  293. package/dist/{update-runner-CImhZ7PE.js → update-runner-bG2U9Vap.js} +16 -16
  294. package/dist/{update-DF240Zd0.js → update-u6OtnABh.js} +3 -3
  295. package/dist/web-4SWnnTpH.js +114 -0
  296. package/dist/{web-DYcLcojF.js → web-BFp4NsF_.js} +1 -1
  297. package/dist/{web-Ch2Il1KZ.js → web-MpLr2aHr.js} +2 -2
  298. package/dist/{web-1EDgvc7a.js → web-QZi0Q7dx.js} +1 -1
  299. package/dist/{webhooks-cli-CVxq1L0o.js → webhooks-cli-CDKN5KjA.js} +6 -6
  300. package/dist/{whatsapp-actions-BLPiaPMM.js → whatsapp-actions-C8jlipv2.js} +17 -17
  301. package/dist/{winclaw-root-DEqOOeOw.js → winclaw-root-D0OUuGl7.js} +8 -8
  302. package/dist/{with-timeout--YIf-L5q.js → with-timeout-SqLxvn1K.js} +3 -3
  303. package/dist/{workspace-dirs-C5erYAob.js → workspace-dirs-C13vnqQQ.js} +1 -1
  304. package/dist/{workspace-Cx-f7PO5.js → workspace-vYy4qLQz.js} +1 -1
  305. package/dist/{wsl-BisEqrSr.js → wsl-C9d12M7y.js} +2 -2
  306. package/package.json +1 -1
  307. package/dist/cli-mnJnamHu.js +0 -154
  308. package/dist/deliver-runtime-B2jvII84.js +0 -57
  309. package/dist/deps-send-discord.runtime-DEljxwZF.js +0 -32
  310. package/dist/deps-send-imessage.runtime-CDba1iXq.js +0 -31
  311. package/dist/deps-send-signal.runtime-BBSnJxIE.js +0 -30
  312. package/dist/deps-send-slack.runtime-Cg9DgNZd.js +0 -28
  313. package/dist/deps-send-telegram.runtime-BozbEmMc.js +0 -34
  314. package/dist/deps-send-whatsapp.runtime-DzK7aeyc.js +0 -115
  315. package/dist/image-runtime-BkMDCX_o.js +0 -51
  316. package/dist/manager-runtime-C3O7KVxT.js +0 -22
  317. package/dist/plugin-sdk/accounts-B71rIfIG.js +0 -35
  318. package/dist/plugin-sdk/accounts-Bh_CxVlh.js +0 -46
  319. package/dist/plugin-sdk/accounts-BoD7489q.js +0 -288
  320. package/dist/plugin-sdk/active-listener-6CPAmAh-.js +0 -50
  321. package/dist/plugin-sdk/api-key-rotation-DEDhmJAk.js +0 -181
  322. package/dist/plugin-sdk/audio-preflight-erL_Y9tR.js +0 -69
  323. package/dist/plugin-sdk/audio-transcription-runner-C-rfFylO.js +0 -2176
  324. package/dist/plugin-sdk/audit-membership-runtime-CxP2fdgS.js +0 -58
  325. package/dist/plugin-sdk/channel-activity-9ivqqvRB.js +0 -94
  326. package/dist/plugin-sdk/channel-web-Zk9B13W-.js +0 -2256
  327. package/dist/plugin-sdk/chrome-B1yeIHRg.js +0 -2415
  328. package/dist/plugin-sdk/commands-registry-D-wyzYid.js +0 -1125
  329. package/dist/plugin-sdk/config-CmS6HzGU.js +0 -17959
  330. package/dist/plugin-sdk/deliver-B6rA54V8.js +0 -1719
  331. package/dist/plugin-sdk/deliver-runtime-C467etTU.js +0 -32
  332. package/dist/plugin-sdk/deps-send-discord.runtime-CLboFQJz.js +0 -23
  333. package/dist/plugin-sdk/deps-send-imessage.runtime-BVlGKP96.js +0 -22
  334. package/dist/plugin-sdk/deps-send-signal.runtime-0640YmBr.js +0 -21
  335. package/dist/plugin-sdk/deps-send-slack.runtime-BqbFKjcg.js +0 -19
  336. package/dist/plugin-sdk/deps-send-telegram.runtime-1a2RXcA2.js +0 -24
  337. package/dist/plugin-sdk/deps-send-whatsapp.runtime-DDnoXCt-.js +0 -57
  338. package/dist/plugin-sdk/diagnostic-DGt5TnqW.js +0 -319
  339. package/dist/plugin-sdk/errors-D7zDdduc.js +0 -54
  340. package/dist/plugin-sdk/fetch-guard-BsatETDz.js +0 -156
  341. package/dist/plugin-sdk/fs-safe-ynDN1AOr.js +0 -352
  342. package/dist/plugin-sdk/image-C-5ZsK1S.js +0 -2314
  343. package/dist/plugin-sdk/image-ops-CmFoHyKE.js +0 -584
  344. package/dist/plugin-sdk/image-runtime-z20lSeN9.js +0 -25
  345. package/dist/plugin-sdk/ir-CX1ZjDTn.js +0 -1296
  346. package/dist/plugin-sdk/local-roots-DnE8988Y.js +0 -186
  347. package/dist/plugin-sdk/logger-cN8CgKqt.js +0 -1163
  348. package/dist/plugin-sdk/login-hk6_2GSM.js +0 -57
  349. package/dist/plugin-sdk/login-qr-UaVS_Rce.js +0 -320
  350. package/dist/plugin-sdk/manager-CBP2ZQ5W.js +0 -3929
  351. package/dist/plugin-sdk/manager-runtime-3rKbDrJp.js +0 -15
  352. package/dist/plugin-sdk/outbound-B0Ab6CJM.js +0 -212
  353. package/dist/plugin-sdk/outbound-attachment-CktA053B.js +0 -19
  354. package/dist/plugin-sdk/path-alias-guards-WXu8eYZ3.js +0 -43
  355. package/dist/plugin-sdk/paths-Brta7ydd.js +0 -166
  356. package/dist/plugin-sdk/pi-embedded-helpers-C_CmEkfs.js +0 -9630
  357. package/dist/plugin-sdk/pi-model-discovery-ruarR-_j.js +0 -134
  358. package/dist/plugin-sdk/pi-model-discovery-runtime-26px0QfL.js +0 -8
  359. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-VVLpfXqQ.js +0 -354
  360. package/dist/plugin-sdk/plugins-C995vsQz.js +0 -864
  361. package/dist/plugin-sdk/proxy-fetch-iSQrNgP-.js +0 -38
  362. package/dist/plugin-sdk/pw-ai-BJXHSS3q.js +0 -1938
  363. package/dist/plugin-sdk/qmd-manager-A7m15SeJ.js +0 -1448
  364. package/dist/plugin-sdk/query-expansion-DngcFbkC.js +0 -1011
  365. package/dist/plugin-sdk/redact-CIb5VTTO.js +0 -319
  366. package/dist/plugin-sdk/reply-CgG_9q-B.js +0 -100386
  367. package/dist/plugin-sdk/resolve-outbound-target-CQ6hRY-h.js +0 -40
  368. package/dist/plugin-sdk/run-with-concurrency-BlfAoChN.js +0 -1994
  369. package/dist/plugin-sdk/runtime-whatsapp-login.runtime-YsrzSsFL.js +0 -10
  370. package/dist/plugin-sdk/runtime-whatsapp-outbound.runtime-DL6Ses5K.js +0 -19
  371. package/dist/plugin-sdk/send-BEy8EUzH.js +0 -414
  372. package/dist/plugin-sdk/send-CWP6COto.js +0 -3135
  373. package/dist/plugin-sdk/send-DQTgt3Cu.js +0 -540
  374. package/dist/plugin-sdk/send-DzpV-k17.js +0 -2587
  375. package/dist/plugin-sdk/send-HuIksBS6.js +0 -503
  376. package/dist/plugin-sdk/session-Cc3Y4mXL.js +0 -169
  377. package/dist/plugin-sdk/skill-commands-p8Zwjnwy.js +0 -353
  378. package/dist/plugin-sdk/skills-k8XpacZa.js +0 -1428
  379. package/dist/plugin-sdk/slash-commands.runtime-ynnr6oUR.js +0 -13
  380. package/dist/plugin-sdk/slash-dispatch.runtime-DUaSpY6o.js +0 -52
  381. package/dist/plugin-sdk/slash-skill-commands.runtime-eAk1jhVy.js +0 -16
  382. package/dist/plugin-sdk/ssrf-DZSsYJgJ.js +0 -202
  383. package/dist/plugin-sdk/store-Cn0oLCP4.js +0 -81
  384. package/dist/plugin-sdk/subagent-registry-runtime-ByWYRdst.js +0 -52
  385. package/dist/plugin-sdk/tables-KWxXnbkq.js +0 -55
  386. package/dist/plugin-sdk/thinking-CfA6xbI_.js +0 -1206
  387. package/dist/plugin-sdk/tokens-B-D1YRTV.js +0 -52
  388. package/dist/plugin-sdk/tool-images-CVV7LNFW.js +0 -274
  389. package/dist/plugin-sdk/web-KS4kfduZ.js +0 -56
  390. package/dist/plugin-sdk/whatsapp-actions-CLNhBLJz.js +0 -80
  391. package/dist/register.configure-COO4ra7D.js +0 -162
  392. package/dist/runtime-whatsapp-outbound.runtime-Bd0Jz2if.js +0 -28
  393. package/dist/slash-dispatch.runtime-CavLVgh6.js +0 -110
  394. package/dist/slash-skill-commands.runtime-CjCLdeBQ.js +0 -29
  395. package/dist/subagent-registry-runtime-Ck__Qtig.js +0 -110
  396. package/dist/target-errors-Bd8kj4z9.js +0 -195
  397. package/dist/web-BQAJ4u8L.js +0 -114
package/README.ja.md CHANGED
@@ -24,7 +24,7 @@ OAuth プロファイルローテーション、API キーフォールバック
24
24
 
25
25
  Windows ユーザーに最も推奨される方法です。Node.js 22 ランタイムが内蔵されており、前提条件は一切不要です。
26
26
 
27
- 1. [SourceForge](https://sourceforge.net/projects/winclaw/files/WinClawSetup-2026.3.10.exe/download) または [GitHub Releases](https://github.com/itc-ou-shigou/winclaw/releases) から `WinClawSetup-{version}.exe` をダウンロード(リポジトリの [`releases/`](releases/) ディレクトリからも取得可能)
27
+ 1. [SourceForge](https://sourceforge.net/projects/winclaw/files/latest/download) または [GitHub Releases](https://github.com/itc-ou-shigou/winclaw/releases) から `WinClawSetup-{version}.exe` をダウンロード(リポジトリの [`releases/`](releases/) ディレクトリからも取得可能)
28
28
  2. インストーラーを実行(管理者権限不要 -- ユーザープロファイルにインストールされます)
29
29
  3. インストール時のオプションを選択:
30
30
 
@@ -135,14 +135,21 @@ winget install WinClaw.WinClaw
135
135
  winget install WinClaw.WinClaw --silent
136
136
  ```
137
137
 
138
- ## macOS / Linux インストール
138
+ ## macOS / Linux / Windows クロスプラットフォームインストール (npm)
139
139
 
140
- ランタイム要件: **Node.js 22 以上**
140
+ npm パッケージは **Windows / macOS / Linux** 全プラットフォーム対応です。Node.js 22+ のみ必要:
141
141
 
142
142
  ```bash
143
- npm install -g winclaw@latest
144
- # または: pnpm add -g winclaw@latest
143
+ # インストール
144
+ npm install -g winclaw
145
+
146
+ # バージョン指定インストール
147
+ npm install -g winclaw@2026.3.29
148
+
149
+ # Gateway 起動
150
+ winclaw gateway
145
151
 
152
+ # オンボーディングウィザード実行
146
153
  winclaw onboard --install-daemon
147
154
  ```
148
155
 
@@ -154,6 +161,16 @@ winclaw onboard --install-daemon
154
161
  | Linux | systemd ユーザーサービス | `systemctl --user` |
155
162
  | Windows | schtasks(タスクスケジューラ) | `schtasks` |
156
163
 
164
+ **その他のインストール方法:**
165
+
166
+ | 方法 | コマンド / リンク |
167
+ | ------------ | ---------------------------------------------------------------- |
168
+ | npm (全OS) | `npm install -g winclaw` |
169
+ | Docker | `docker pull itccloudsoft/winclaw-node:latest` |
170
+ | DockerHub | [itccloudsoft/winclaw-node](https://hub.docker.com/r/itccloudsoft/winclaw-node) |
171
+ | npmjs | [winclaw](https://www.npmjs.com/package/winclaw) |
172
+ | ソースビルド | 下記 [開発](#ソースからの開発) セクション参照 |
173
+
157
174
  ## クイックスタート
158
175
 
159
176
  ### Windows(EXE インストール後)
package/README.md CHANGED
@@ -31,7 +31,7 @@ recommended.
31
31
  ### Method 1: EXE Installer (Recommended)
32
32
 
33
33
  Download **WinClawSetup-{version}.exe** from
34
- [SourceForge](https://sourceforge.net/projects/winclaw/files/WinClawSetup-2026.3.10.exe/download) |
34
+ [SourceForge](https://sourceforge.net/projects/winclaw/files/latest/download) |
35
35
  [GitHub Releases](https://github.com/itc-ou-shigou/winclaw/releases) and run it.
36
36
  The installer is also available locally in the [`releases/`](releases/) directory.
37
37
 
@@ -171,11 +171,13 @@ systemd user service (Linux) so it stays running across reboots.
171
171
 
172
172
  **Alternative methods:**
173
173
 
174
- | Method | Command / Link |
175
- | ----------- | ----------------------------------------------------- |
176
- | Nix | [nix-winclaw](https://github.com/winclaw/nix-winclaw) |
177
- | Docker | `docker pull winclaw/winclaw:latest` |
178
- | From source | See [Development](#development-from-source) below |
174
+ | Method | Command / Link |
175
+ | ----------- | ---------------------------------------------------------------- |
176
+ | npm (any OS)| `npm install -g winclaw` (Windows / macOS / Linux) |
177
+ | Docker | `docker pull itccloudsoft/winclaw-node:latest` |
178
+ | DockerHub | [itccloudsoft/winclaw-node](https://hub.docker.com/r/itccloudsoft/winclaw-node) |
179
+ | npmjs | [winclaw](https://www.npmjs.com/package/winclaw) |
180
+ | From source | See [Development](#development-from-source) below |
179
181
 
180
182
  ## Quick Start
181
183
 
package/README.zh-CN.md CHANGED
@@ -25,7 +25,7 @@ WinClaw 现已提供原生 Windows 支持,包含基于 Inno Setup 构建的 EX
25
25
 
26
26
  安装程序内置完整 Node.js 22 运行时,无需任何前置条件。
27
27
 
28
- 1. 从 [SourceForge](https://sourceforge.net/projects/winclaw/files/WinClawSetup-2026.3.10.exe/download) 或 [GitHub Releases](https://github.com/itc-ou-shigou/winclaw/releases/latest) 下载 `WinClawSetup-{version}.exe`(也可从本仓库 [`releases/`](releases/) 目录获取)
28
+ 1. 从 [SourceForge](https://sourceforge.net/projects/winclaw/files/latest/download) 或 [GitHub Releases](https://github.com/itc-ou-shigou/winclaw/releases/latest) 下载 `WinClawSetup-{version}.exe`(也可从本仓库 [`releases/`](releases/) 目录获取)
29
29
  2. 运行安装程序(默认使用用户权限,无需管理员)
30
30
  3. 在安装向导中按需选择选项:
31
31
 
@@ -133,18 +133,40 @@ winclaw onboard --install-daemon
133
133
 
134
134
  ---
135
135
 
136
- ## macOS / Linux 安装
136
+ ## macOS / Linux / Windows 跨平台安装 (npm)
137
+
138
+ npm 包支持 **Windows / macOS / Linux** 全平台,只需 Node.js 22+ 即可安装:
137
139
 
138
140
  ```bash
139
- npm install -g winclaw@latest
141
+ # 安装
142
+ npm install -g winclaw
143
+
144
+ # 安装指定版本
145
+ npm install -g winclaw@2026.3.29
146
+
147
+ # 启动 Gateway
148
+ winclaw gateway
149
+
150
+ # 运行引导向导
140
151
  winclaw onboard --install-daemon
141
152
  ```
142
153
 
143
154
  - **macOS**:守护进程通过 launchd 注册为 `ai.winclaw.gateway`
144
155
  - **Linux**:守护进程通过 systemd 注册为 `winclaw-gateway.service`
156
+ - **Windows**:守护进程通过 schtasks 注册为计划任务
145
157
 
146
158
  > 系统要求:Node.js 22+。建议使用 [nvm](https://github.com/nvm-sh/nvm) 或 [fnm](https://github.com/Schniz/fnm) 管理版本。
147
159
 
160
+ **其他安装方式:**
161
+
162
+ | 方式 | 命令 / 链接 |
163
+ | ----------- | ---------------------------------------------------------------- |
164
+ | npm (全平台)| `npm install -g winclaw` |
165
+ | Docker | `docker pull itccloudsoft/winclaw-node:latest` |
166
+ | DockerHub | [itccloudsoft/winclaw-node](https://hub.docker.com/r/itccloudsoft/winclaw-node) |
167
+ | npmjs | [winclaw](https://www.npmjs.com/package/winclaw) |
168
+ | 源码构建 | 见下方 [开发](#从源码开发) 章节 |
169
+
148
170
  ---
149
171
 
150
172
  ## 快速开始
@@ -1,5 +1,5 @@
1
1
  import { _ as normalizeAccountId } from "./session-key-9-yI-GU_.js";
2
- import { v as createAccountListHelpers, y as resolveAccountEntry } from "./accounts-BrWJjaKS.js";
2
+ import { v as createAccountListHelpers, y as resolveAccountEntry } from "./accounts-cYG8442L.js";
3
3
 
4
4
  //#region src/signal/accounts.ts
5
5
  const { listAccountIds, resolveDefaultAccountId } = createAccountListHelpers("signal");
@@ -1,5 +1,5 @@
1
1
  import { _ as normalizeAccountId } from "./session-key-9-yI-GU_.js";
2
- import { v as createAccountListHelpers, y as resolveAccountEntry } from "./accounts-BrWJjaKS.js";
2
+ import { v as createAccountListHelpers, y as resolveAccountEntry } from "./accounts-cYG8442L.js";
3
3
 
4
4
  //#region src/imessage/accounts.ts
5
5
  const { listAccountIds, resolveDefaultAccountId } = createAccountListHelpers("imessage");
@@ -4,7 +4,7 @@ import { _ as normalizeAccountId, g as DEFAULT_ACCOUNT_ID, v as normalizeOptiona
4
4
  import { f as jidToE164, v as resolveUserPath } from "./utils-hiIKrqOK.js";
5
5
  import path from "node:path";
6
6
  import fs from "node:fs";
7
- import fs$1 from "node:fs/promises";
7
+ import fsPromises from "node:fs/promises";
8
8
 
9
9
  //#region src/routing/account-lookup.ts
10
10
  function resolveAccountEntry(accounts, accountId) {
@@ -103,14 +103,14 @@ async function webAuthExists(authDir = resolveDefaultWebAuthDir()) {
103
103
  maybeRestoreCredsFromBackup(resolvedAuthDir);
104
104
  const credsPath = resolveWebCredsPath(resolvedAuthDir);
105
105
  try {
106
- await fs$1.access(resolvedAuthDir);
106
+ await fsPromises.access(resolvedAuthDir);
107
107
  } catch {
108
108
  return false;
109
109
  }
110
110
  try {
111
- const stats = await fs$1.stat(credsPath);
111
+ const stats = await fsPromises.stat(credsPath);
112
112
  if (!stats.isFile() || stats.size <= 1) return false;
113
- const raw = await fs$1.readFile(credsPath, "utf-8");
113
+ const raw = await fsPromises.readFile(credsPath, "utf-8");
114
114
  JSON.parse(raw);
115
115
  return true;
116
116
  } catch {
@@ -118,7 +118,7 @@ async function webAuthExists(authDir = resolveDefaultWebAuthDir()) {
118
118
  }
119
119
  }
120
120
  async function clearLegacyBaileysAuthState(authDir) {
121
- const entries = await fs$1.readdir(authDir, { withFileTypes: true });
121
+ const entries = await fsPromises.readdir(authDir, { withFileTypes: true });
122
122
  const shouldDelete = (name) => {
123
123
  if (name === "oauth.json") return false;
124
124
  if (name === "creds.json" || name === "creds.json.bak") return true;
@@ -128,7 +128,7 @@ async function clearLegacyBaileysAuthState(authDir) {
128
128
  await Promise.all(entries.map(async (entry) => {
129
129
  if (!entry.isFile()) return;
130
130
  if (!shouldDelete(entry.name)) return;
131
- await fs$1.rm(path.join(authDir, entry.name), { force: true });
131
+ await fsPromises.rm(path.join(authDir, entry.name), { force: true });
132
132
  }));
133
133
  }
134
134
  async function logoutWeb(params) {
@@ -139,7 +139,7 @@ async function logoutWeb(params) {
139
139
  return false;
140
140
  }
141
141
  if (params.isLegacyAuthDir) await clearLegacyBaileysAuthState(resolvedAuthDir);
142
- else await fs$1.rm(resolvedAuthDir, {
142
+ else await fsPromises.rm(resolvedAuthDir, {
143
143
  recursive: true,
144
144
  force: true
145
145
  });
@@ -1,8 +1,8 @@
1
1
  import { P as theme, _ as defaultRuntime, n as isMainModule } from "./entry.js";
2
- import { z as loadConfig } from "./auth-profiles-Ckp5jw_h.js";
3
- import "./agent-scope-Dany4R2i.js";
2
+ import { z as loadConfig } from "./auth-profiles-C0_vbRBI.js";
3
+ import "./agent-scope-D-i-vMLS.js";
4
4
  import { v as resolveUserPath, x as shortenHomePath } from "./utils-hiIKrqOK.js";
5
- import "./winclaw-root-DEqOOeOw.js";
5
+ import "./winclaw-root-D0OUuGl7.js";
6
6
  import "./logger-BcqRk323.js";
7
7
  import "./exec-CaapFZaD.js";
8
8
  import "./registry-BcRQUSsJ.js";
@@ -10,13 +10,13 @@ import "./github-copilot-token-DHTToceK.js";
10
10
  import "./host-env-security-CIiLt2Mi.js";
11
11
  import { t as VERSION } from "./version-TiOyTfO4.js";
12
12
  import "./env-vars-CE3cUIrz.js";
13
- import "./manifest-registry-_liSV_Vx.js";
13
+ import "./manifest-registry-CI-UuKUO.js";
14
14
  import { h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES } from "./message-channel-DINJBdD0.js";
15
- import { t as GatewayClient } from "./client-LzBGN2_q.js";
16
- import { s as resolveGatewayCredentialsWithSecretInputs, t as buildGatewayConnectionDetails } from "./call-yVj9RKC4.js";
15
+ import { t as GatewayClient } from "./client-BYyYW3K0.js";
16
+ import { s as resolveGatewayCredentialsWithSecretInputs, t as buildGatewayConnectionDetails } from "./call-CmNNda8m.js";
17
17
  import "./pairing-token-CyhEb6Je.js";
18
- import "./net-Bj5kyhic.js";
19
- import "./tailnet-D6miw7DJ.js";
18
+ import "./net-CXrvhn9o.js";
19
+ import "./tailnet-BXTXJnWv.js";
20
20
  import { r as isKnownCoreToolId } from "./tool-catalog-DN2kDDZk.js";
21
21
  import { n as resolveWindowsSpawnProgram, t as materializeWindowsSpawnProgram } from "./windows-spawn-D0wwE7yg.js";
22
22
  import { t as formatDocsLink } from "./links-Bcv6_maG.js";
@@ -1,13 +1,13 @@
1
1
  import { mt as resolveRequiredHomeDir, ot as resolveStateDir, s as createSubsystemLogger } from "./entry.js";
2
2
  import { E as parseAgentSessionKey, T as isSubagentSessionKey, c as normalizeAgentId, t as DEFAULT_AGENT_ID, u as resolveAgentIdFromSessionKey, w as isCronSessionKey } from "./session-key-9-yI-GU_.js";
3
3
  import { m as pathExists, v as resolveUserPath } from "./utils-hiIKrqOK.js";
4
- import { _ as normalizeSkillFilter, i as openBoundaryFile, t as resolveWinClawPackageRoot } from "./winclaw-root-DEqOOeOw.js";
4
+ import { _ as normalizeSkillFilter, i as openBoundaryFile, t as resolveWinClawPackageRoot } from "./winclaw-root-D0OUuGl7.js";
5
5
  import { t as runCommandWithTimeout } from "./exec-CaapFZaD.js";
6
6
  import { fileURLToPath } from "node:url";
7
7
  import os from "node:os";
8
8
  import path from "node:path";
9
9
  import fs from "node:fs";
10
- import fs$1 from "node:fs/promises";
10
+ import fsPromises from "node:fs/promises";
11
11
 
12
12
  //#region src/config/model-input.ts
13
13
  function resolveAgentModelPrimaryValue(model) {
@@ -149,7 +149,7 @@ async function loadTemplate(name) {
149
149
  const templateDir = await resolveWorkspaceTemplateDir();
150
150
  const templatePath = path.join(templateDir, name);
151
151
  try {
152
- return stripFrontMatter(await fs$1.readFile(templatePath, "utf-8"));
152
+ return stripFrontMatter(await fsPromises.readFile(templatePath, "utf-8"));
153
153
  } catch {
154
154
  throw new Error(`Missing workspace template: ${name} (${templatePath}). Ensure docs/reference/templates are packaged.`);
155
155
  }
@@ -164,7 +164,7 @@ async function loadTemplate(name) {
164
164
  }
165
165
  async function writeFileIfMissing(filePath, content) {
166
166
  try {
167
- await fs$1.writeFile(filePath, content, {
167
+ await fsPromises.writeFile(filePath, content, {
168
168
  encoding: "utf-8",
169
169
  flag: "wx"
170
170
  });
@@ -176,7 +176,7 @@ async function writeFileIfMissing(filePath, content) {
176
176
  }
177
177
  async function fileExists(filePath) {
178
178
  try {
179
- await fs$1.access(filePath);
179
+ await fsPromises.access(filePath);
180
180
  return true;
181
181
  } catch {
182
182
  return false;
@@ -200,7 +200,7 @@ function parseWorkspaceOnboardingState(raw) {
200
200
  }
201
201
  async function readWorkspaceOnboardingState(statePath) {
202
202
  try {
203
- return parseWorkspaceOnboardingState(await fs$1.readFile(statePath, "utf-8")) ?? { version: WORKSPACE_STATE_VERSION };
203
+ return parseWorkspaceOnboardingState(await fsPromises.readFile(statePath, "utf-8")) ?? { version: WORKSPACE_STATE_VERSION };
204
204
  } catch (err) {
205
205
  if (err.code !== "ENOENT") throw err;
206
206
  return { version: WORKSPACE_STATE_VERSION };
@@ -214,20 +214,20 @@ async function isWorkspaceOnboardingCompleted(dir) {
214
214
  return typeof state.onboardingCompletedAt === "string" && state.onboardingCompletedAt.trim().length > 0;
215
215
  }
216
216
  async function writeWorkspaceOnboardingState(statePath, state) {
217
- await fs$1.mkdir(path.dirname(statePath), { recursive: true });
217
+ await fsPromises.mkdir(path.dirname(statePath), { recursive: true });
218
218
  const payload = `${JSON.stringify(state, null, 2)}\n`;
219
219
  const tmpPath = `${statePath}.tmp-${process.pid}-${Date.now().toString(36)}`;
220
220
  try {
221
- await fs$1.writeFile(tmpPath, payload, { encoding: "utf-8" });
222
- await fs$1.rename(tmpPath, statePath);
221
+ await fsPromises.writeFile(tmpPath, payload, { encoding: "utf-8" });
222
+ await fsPromises.rename(tmpPath, statePath);
223
223
  } catch (err) {
224
- await fs$1.unlink(tmpPath).catch(() => {});
224
+ await fsPromises.unlink(tmpPath).catch(() => {});
225
225
  throw err;
226
226
  }
227
227
  }
228
228
  async function hasGitRepo(dir) {
229
229
  try {
230
- await fs$1.stat(path.join(dir, ".git"));
230
+ await fsPromises.stat(path.join(dir, ".git"));
231
231
  return true;
232
232
  } catch {
233
233
  return false;
@@ -257,7 +257,7 @@ async function ensureGitRepo(dir, isBrandNewWorkspace) {
257
257
  }
258
258
  async function ensureAgentWorkspace(params) {
259
259
  const dir = resolveUserPath(params?.dir?.trim() ? params.dir.trim() : DEFAULT_AGENT_WORKSPACE_DIR);
260
- await fs$1.mkdir(dir, { recursive: true });
260
+ await fsPromises.mkdir(dir, { recursive: true });
261
261
  if (!params?.ensureBootstrapFiles) return { dir };
262
262
  const agentsPath = path.join(dir, DEFAULT_AGENTS_FILENAME);
263
263
  const soulPath = path.join(dir, DEFAULT_SOUL_FILENAME);
@@ -284,7 +284,7 @@ async function ensureAgentWorkspace(params) {
284
284
  const paths = [...templatePaths, ...userContentPaths];
285
285
  return (await Promise.all(paths.map(async (p) => {
286
286
  try {
287
- await fs$1.access(p);
287
+ await fsPromises.access(p);
288
288
  return true;
289
289
  } catch {
290
290
  return false;
@@ -317,7 +317,7 @@ async function ensureAgentWorkspace(params) {
317
317
  if (!state.bootstrapSeededAt && bootstrapExists) markState({ bootstrapSeededAt: nowIso() });
318
318
  if (!state.onboardingCompletedAt && state.bootstrapSeededAt && !bootstrapExists) markState({ onboardingCompletedAt: nowIso() });
319
319
  if (!state.bootstrapSeededAt && !state.onboardingCompletedAt && !bootstrapExists) {
320
- const [identityContent, userContent] = await Promise.all([fs$1.readFile(identityPath, "utf-8"), fs$1.readFile(userPath, "utf-8")]);
320
+ const [identityContent, userContent] = await Promise.all([fsPromises.readFile(identityPath, "utf-8"), fsPromises.readFile(userPath, "utf-8")]);
321
321
  const hasUserContent = await (async () => {
322
322
  const indicators = [
323
323
  path.join(dir, "memory"),
@@ -325,7 +325,7 @@ async function ensureAgentWorkspace(params) {
325
325
  path.join(dir, ".git")
326
326
  ];
327
327
  for (const indicator of indicators) try {
328
- await fs$1.access(indicator);
328
+ await fsPromises.access(indicator);
329
329
  return true;
330
330
  } catch {}
331
331
  return false;
@@ -356,7 +356,7 @@ async function resolveMemoryBootstrapEntries(resolvedDir) {
356
356
  for (const name of candidates) {
357
357
  const filePath = path.join(resolvedDir, name);
358
358
  try {
359
- await fs$1.access(filePath);
359
+ await fsPromises.access(filePath);
360
360
  entries.push({
361
361
  name,
362
362
  filePath
@@ -369,7 +369,7 @@ async function resolveMemoryBootstrapEntries(resolvedDir) {
369
369
  for (const entry of entries) {
370
370
  let key = entry.filePath;
371
371
  try {
372
- key = await fs$1.realpath(entry.filePath);
372
+ key = await fsPromises.realpath(entry.filePath);
373
373
  } catch {}
374
374
  if (seen.has(key)) continue;
375
375
  seen.add(key);
@@ -1,25 +1,25 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { _ as defaultRuntime } from "./entry.js";
3
- import { G as writeConfigFile, er as ensureAuthProfileStore, or as resolveAuthStorePath } from "./auth-profiles-Ckp5jw_h.js";
3
+ import { G as writeConfigFile, er as ensureAuthProfileStore, or as resolveAuthStorePath } from "./auth-profiles-C0_vbRBI.js";
4
4
  import { t as formatCliCommand } from "./command-format-C2YuTuPp.js";
5
- import { a as resolveAgentDir, b as DEFAULT_IDENTITY_FILENAME, d as resolveDefaultAgentId, n as listAgentEntries, u as resolveAgentWorkspaceDir } from "./agent-scope-Dany4R2i.js";
5
+ import { a as resolveAgentDir, b as DEFAULT_IDENTITY_FILENAME, d as resolveDefaultAgentId, n as listAgentEntries, u as resolveAgentWorkspaceDir } from "./agent-scope-D-i-vMLS.js";
6
6
  import { c as normalizeAgentId, g as DEFAULT_ACCOUNT_ID, t as DEFAULT_AGENT_ID } from "./session-key-9-yI-GU_.js";
7
7
  import { v as resolveUserPath, x as shortenHomePath } from "./utils-hiIKrqOK.js";
8
- import { n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-IFacUN_Q.js";
9
- import { U as parseIdentityMarkdown, V as identityHasValues } from "./subagent-registry-CpETNYCn.js";
8
+ import { n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-C1OgLvb4.js";
9
+ import { U as parseIdentityMarkdown, V as identityHasValues } from "./subagent-registry-D-18B37j.js";
10
10
  import { s as resolveSessionTranscriptsDirForAgent } from "./paths-ByCv35uy.js";
11
- import { a as ensureWorkspaceAndSessions, l as moveToTrash } from "./onboard-helpers-6Smrn-T1.js";
11
+ import { a as ensureWorkspaceAndSessions, l as moveToTrash } from "./onboard-helpers-b9T97_8S.js";
12
12
  import { t as WizardCancelledError } from "./prompts-DomsZukd.js";
13
13
  import { t as createClackPrompter } from "./clack-prompter-C88sE8nV.js";
14
14
  import { t as resolveChannelDefaultAccountId } from "./helpers-dV2m_On0.js";
15
- import { a as parseBindingSpecs, i as describeBinding, n as applyAgentBindings, o as removeAgentBindings, r as buildChannelBindings, t as requireValidConfigSnapshot } from "./config-validation-BSCTo9Mn.js";
16
- import { a as pruneAgentConfig, i as loadAgentIdentity, n as buildAgentSummaries, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-BOMjLRZu.js";
17
- import { r as setupChannels } from "./onboard-channels-QCHf3GwA.js";
15
+ import { a as parseBindingSpecs, i as describeBinding, n as applyAgentBindings, o as removeAgentBindings, r as buildChannelBindings, t as requireValidConfigSnapshot } from "./config-validation-BVDib1S1.js";
16
+ import { a as pruneAgentConfig, i as loadAgentIdentity, n as buildAgentSummaries, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-BJ02KLfJ.js";
17
+ import { r as setupChannels } from "./onboard-channels-Cjtx9Z2x.js";
18
18
  import { n as logConfigUpdated } from "./logging-D6YjGDjQ.js";
19
19
  import { n as promptAuthChoiceGrouped } from "./auth-choice-prompt-CWXemmtw.js";
20
- import { i as applyAuthChoice, r as warnIfModelConfigLooksOff } from "./auth-choice-CFM26aUm.js";
20
+ import { i as applyAuthChoice, r as warnIfModelConfigLooksOff } from "./auth-choice-CG7NeezM.js";
21
21
  import path from "node:path";
22
- import fs from "node:fs/promises";
22
+ import fsPromises from "node:fs/promises";
23
23
 
24
24
  //#region src/commands/agents.command-shared.ts
25
25
  function createQuietRuntime(runtime) {
@@ -266,7 +266,7 @@ async function agentsUnbindCommand(opts, runtime = defaultRuntime) {
266
266
  //#region src/commands/agents.commands.add.ts
267
267
  async function fileExists(pathname) {
268
268
  try {
269
- await fs.stat(pathname);
269
+ await fsPromises.stat(pathname);
270
270
  return true;
271
271
  } catch {
272
272
  return false;
@@ -408,8 +408,8 @@ async function agentsAddCommand(opts, runtime = defaultRuntime, params) {
408
408
  message: `Copy auth profiles from "${defaultAgentId}"?`,
409
409
  initialValue: false
410
410
  })) {
411
- await fs.mkdir(path.dirname(destAuthPath), { recursive: true });
412
- await fs.copyFile(sourceAuthPath, destAuthPath);
411
+ await fsPromises.mkdir(path.dirname(destAuthPath), { recursive: true });
412
+ await fsPromises.copyFile(sourceAuthPath, destAuthPath);
413
413
  await prompter.note(`Copied auth profiles from "${defaultAgentId}".`, "Auth profiles");
414
414
  }
415
415
  }
@@ -557,7 +557,7 @@ const coerceTrimmed = (value) => {
557
557
  };
558
558
  async function loadIdentityFromFile(filePath) {
559
559
  try {
560
- const parsed = parseIdentityMarkdown(await fs.readFile(filePath, "utf-8"));
560
+ const parsed = parseIdentityMarkdown(await fsPromises.readFile(filePath, "utf-8"));
561
561
  if (!identityHasValues(parsed)) return null;
562
562
  return parsed;
563
563
  } catch {
@@ -1,6 +1,6 @@
1
- import { a as resolveAgentDir, d as resolveDefaultAgentId, n as listAgentEntries, u as resolveAgentWorkspaceDir } from "./agent-scope-Dany4R2i.js";
1
+ import { a as resolveAgentDir, d as resolveDefaultAgentId, n as listAgentEntries, u as resolveAgentWorkspaceDir } from "./agent-scope-D-i-vMLS.js";
2
2
  import { c as normalizeAgentId } from "./session-key-9-yI-GU_.js";
3
- import { H as loadAgentIdentityFromWorkspace, V as identityHasValues } from "./subagent-registry-CpETNYCn.js";
3
+ import { H as loadAgentIdentityFromWorkspace, V as identityHasValues } from "./subagent-registry-D-18B37j.js";
4
4
 
5
5
  //#region src/commands/agents.config.ts
6
6
  function findAgentEntryIndex(list, agentId) {
@@ -1,4 +1,4 @@
1
- import { in as loadAgentIdentityFromWorkspace, rn as identityHasValues } from "./reply-DR33WQzJ.js";
1
+ import { in as loadAgentIdentityFromWorkspace, rn as identityHasValues } from "./reply-vWIo6upp.js";
2
2
  import { a as resolveAgentDir, d as resolveDefaultAgentId, n as listAgentEntries, u as resolveAgentWorkspaceDir } from "./agent-scope-BjM05Snq.js";
3
3
  import { c as normalizeAgentId } from "./session-key-CIXZm7v4.js";
4
4
 
@@ -1,4 +1,4 @@
1
- import { Cr as normalizeProviderId } from "./auth-profiles-Ckp5jw_h.js";
1
+ import { Cr as normalizeProviderId } from "./auth-profiles-C0_vbRBI.js";
2
2
  import { r as formatErrorMessage } from "./errors-Dt_4okVn.js";
3
3
 
4
4
  //#region src/infra/gemini-auth.ts
@@ -1,8 +1,8 @@
1
1
  import { E as logVerbose, k as shouldLogVerbose } from "./entry.js";
2
- import "./auth-profiles-Ckp5jw_h.js";
3
- import "./agent-scope-Dany4R2i.js";
2
+ import "./auth-profiles-C0_vbRBI.js";
3
+ import "./agent-scope-D-i-vMLS.js";
4
4
  import "./utils-hiIKrqOK.js";
5
- import "./winclaw-root-DEqOOeOw.js";
5
+ import "./winclaw-root-D0OUuGl7.js";
6
6
  import "./logger-BcqRk323.js";
7
7
  import "./exec-CaapFZaD.js";
8
8
  import "./registry-BcRQUSsJ.js";
@@ -10,49 +10,49 @@ import "./github-copilot-token-DHTToceK.js";
10
10
  import "./host-env-security-CIiLt2Mi.js";
11
11
  import "./version-TiOyTfO4.js";
12
12
  import "./env-vars-CE3cUIrz.js";
13
- import "./manifest-registry-_liSV_Vx.js";
14
- import "./dock-C-w5XvOS.js";
13
+ import "./manifest-registry-CI-UuKUO.js";
14
+ import "./dock-ClcGZ0LV.js";
15
15
  import "./frontmatter-BnXqzQr3.js";
16
- import "./skills-CFYm0xdh.js";
17
- import "./path-alias-guards-BoydiaPL.js";
16
+ import "./skills-BpN5EUZU.js";
17
+ import "./path-alias-guards-9OJ1UBCd.js";
18
18
  import "./message-channel-DINJBdD0.js";
19
- import "./sessions-BFIOR30J.js";
20
- import "./plugins-IFacUN_Q.js";
21
- import "./accounts-BrWJjaKS.js";
22
- import "./accounts-8qwgz384.js";
19
+ import "./sessions-D7TKRSga.js";
20
+ import "./plugins-C1OgLvb4.js";
21
+ import "./accounts-cYG8442L.js";
22
+ import "./accounts-CTJXIABG.js";
23
23
  import "./logging-CFvkxgcX.js";
24
- import "./accounts-BpS-Awr5.js";
24
+ import "./accounts-CLKFSM00.js";
25
25
  import "./paths-ByCv35uy.js";
26
26
  import "./chat-envelope-DDCB7eZC.js";
27
- import "./net-Bj5kyhic.js";
28
- import "./tailnet-D6miw7DJ.js";
29
- import "./image-ops-DWGnyTvC.js";
30
- import "./pi-embedded-helpers-5DVpps9M.js";
31
- import "./sandbox-CBt528hA.js";
27
+ import "./net-CXrvhn9o.js";
28
+ import "./tailnet-BXTXJnWv.js";
29
+ import "./image-ops-eFMqXMDE.js";
30
+ import "./pi-embedded-helpers-xQd6fIj4.js";
31
+ import "./sandbox-CHQOIPj9.js";
32
32
  import "./tool-catalog-DN2kDDZk.js";
33
- import "./chrome-MZdKzhd4.js";
33
+ import "./chrome-C3_fgvw4.js";
34
34
  import "./tailscale-CB_lUnsU.js";
35
- import "./auth-CnAV77Sn.js";
36
- import "./server-context-05Fm5Kkz.js";
37
- import "./paths-BVQ0udwc.js";
35
+ import "./auth--KDo_E_4.js";
36
+ import "./server-context-CJiG1msd.js";
37
+ import "./paths-C5mR1YC-.js";
38
38
  import "./redact-D1OBirZT.js";
39
39
  import "./errors-Dt_4okVn.js";
40
- import "./fs-safe-B8J4dv27.js";
41
- import "./proxy-env-C0nYsvsi.js";
42
- import "./store-Dgl-neCe.js";
43
- import "./ports-DqZBwUsy.js";
40
+ import "./fs-safe-Dha0DfFC.js";
41
+ import "./proxy-env-CmJ7_jtU.js";
42
+ import "./store-LSg8jeyh.js";
43
+ import "./ports-CfOim1GC.js";
44
44
  import "./trash-D9VuTy5D.js";
45
- import "./server-middleware-29IWly-I.js";
46
- import "./tool-images-DbchBdq5.js";
45
+ import "./server-middleware-B0GRmBkQ.js";
46
+ import "./tool-images-Cp3hNFNZ.js";
47
47
  import "./thinking-BxCyPtl0.js";
48
- import "./models-config-Dp2QIxnd.js";
49
- import "./model-catalog-qN_RooIW.js";
50
- import "./fetch-CVGiNhuf.js";
51
- import { _ as isAudioAttachment, i as normalizeMediaAttachments, o as resolveMediaAttachmentLocalRoots, t as runAudioTranscription } from "./audio-transcription-runner-CRSNM03k.js";
52
- import "./fetch-guard-BdJ7lME2.js";
53
- import "./image-COh2_3E2.js";
48
+ import "./models-config-tPZvlEX4.js";
49
+ import "./model-catalog-B-CI_Q76.js";
50
+ import "./fetch-DyoRWiT-.js";
51
+ import { _ as isAudioAttachment, i as normalizeMediaAttachments, o as resolveMediaAttachmentLocalRoots, t as runAudioTranscription } from "./audio-transcription-runner-UjPRrQgJ.js";
52
+ import "./fetch-guard-DF0_kLSc.js";
53
+ import "./image-zu8Q4gsy.js";
54
54
  import "./tool-display-DRwMjyJE.js";
55
- import "./api-key-rotation-DX8FQ-la.js";
55
+ import "./api-key-rotation-6yvrHUjY.js";
56
56
  import "./proxy-fetch-BqEHARvZ.js";
57
57
 
58
58
  //#region src/media-understanding/audio-preflight.ts