winclaw 2026.3.21 → 2026.3.22

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 (338) hide show
  1. package/dist/{accounts-CTJXIABG.js → accounts-8qwgz384.js} +1 -1
  2. package/dist/{accounts-CLKFSM00.js → accounts-BpS-Awr5.js} +1 -1
  3. package/dist/{accounts-cYG8442L.js → accounts-BrWJjaKS.js} +7 -7
  4. package/dist/{acp-cli-BbN2vTHD.js → acp-cli-BMM5ssNE.js} +8 -8
  5. package/dist/{agent-scope-D-i-vMLS.js → agent-scope-Dany4R2i.js} +17 -17
  6. package/dist/{agents-_gcdm-kb.js → agents-AMH_Bmb6.js} +14 -14
  7. package/dist/{agents.config-BkgsJJng.js → agents.config-6n_jmCMa.js} +2 -2
  8. package/dist/{api-key-rotation-D_JdsLIl.js → api-key-rotation-C9ywPLG3.js} +1 -1
  9. package/dist/{audio-preflight-CdgtLVh2.js → audio-preflight-D7UvXGlQ.js} +34 -34
  10. package/dist/{audio-preflight-CBWXmKyj.js → audio-preflight-DHeEYciJ.js} +4 -4
  11. package/dist/{audio-transcription-runner-DpvjaNmr.js → audio-transcription-runner-1-9PFrzh.js} +1 -1
  12. package/dist/{audio-transcription-runner-DGZYB2Wq.js → audio-transcription-runner-nnwJufig.js} +23 -23
  13. package/dist/{audit-DdcsBl_-.js → audit-DV_kf1sd.js} +29 -29
  14. package/dist/{auth-CU4HqNch.js → auth-Ahj-1B5R.js} +1 -1
  15. package/dist/{auth-choice-CtzD_rrW.js → auth-choice-NjkwJsBG.js} +13 -13
  16. package/dist/{auth-choice-i771W71t.js → auth-choice-dFTD1hLR.js} +11 -11
  17. package/dist/{auth-choice.apply-helpers-Bmj9LZnO.js → auth-choice.apply-helpers-ClzwLPaB.js} +1 -1
  18. package/dist/{auth-profiles-CmoHF97e.js → auth-profiles-DF0cLC20.js} +16 -16
  19. package/dist/{auth-token-C_S_Uszj.js → auth-token-BXCBtI3p.js} +1 -1
  20. package/dist/{banner-C-01b-if.js → banner-BB4DFL8E.js} +2 -2
  21. package/dist/{bonjour-discovery-BxCVyJLG.js → bonjour-discovery-BVSpbdjs.js} +1 -1
  22. package/dist/{browser-cli-Rt_P1-M1.js → browser-cli-DAcccrxR.js} +12 -12
  23. package/dist/build-info.json +2 -2
  24. package/dist/bundled/boot-md/handler.js +6 -6
  25. package/dist/bundled/session-memory/handler.js +6 -6
  26. package/dist/{call-BLyRfBMl.js → call-DEKH5GO9.js} +10 -10
  27. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  28. package/dist/{channel-account-context-B4ofKr9t.js → channel-account-context-D4Yftz20.js} +5 -5
  29. package/dist/{channel-activity-CPWF8YR5.js → channel-activity-D03SwGPA.js} +1 -1
  30. package/dist/{channel-options-it9Z3dNk.js → channel-options-C7dYNZsy.js} +3 -3
  31. package/dist/{channel-selection-5G2iw3CB.js → channel-selection-Bke39fer.js} +1 -1
  32. package/dist/{channel-web-CJ_jcZSw.js → channel-web-BOrAGcza.js} +17 -17
  33. package/dist/{channels-cli-miFqkj2-.js → channels-cli-4YLI7Ar_.js} +93 -93
  34. package/dist/{channels-status-issues-DpfEWI4l.js → channels-status-issues-wCgCdUDu.js} +1 -1
  35. package/dist/{chrome-RAfAR4xV.js → chrome-BDFA9lPV.js} +4 -4
  36. package/dist/{chrome-GsaZ074n.js → chrome-Cr8R7xl_.js} +8 -8
  37. package/dist/{clawbot-cli-HvFYYAc6.js → clawbot-cli-B96xAtzs.js} +11 -11
  38. package/dist/cli/daemon-cli.js +1 -1
  39. package/dist/cli-BozE7JCS.js +154 -0
  40. package/dist/{client-DCxDsURZ.js → client-jNFqrgw6.js} +2 -2
  41. package/dist/{command-registry-m8nfRV-J.js → command-registry-qDpes5Yr.js} +11 -11
  42. package/dist/{command-secret-targets-BfqkoJyp.js → command-secret-targets-Dd4qCPSg.js} +4 -4
  43. package/dist/{commands-4mnxaSoA.js → commands-DmBkhPD-.js} +1 -1
  44. package/dist/{commands-registry-h5KiQe_S.js → commands-registry-BB289Bg8.js} +3 -3
  45. package/dist/{completion-cli-B-8mTxbh.js → completion-cli-DzZieT3i.js} +13 -13
  46. package/dist/{config-cli-1ecjxVfC.js → config-cli-Dk1yc6M9.js} +7 -7
  47. package/dist/{config-guard-DlzKrdcR.js → config-guard-3fwTO4Mb.js} +3 -3
  48. package/dist/{config-validation-E-3Wz4C4.js → config-validation-5pIaju5U.js} +3 -3
  49. package/dist/{configure-B-tOY-wa.js → configure-CuqZCxTb.js} +17 -17
  50. package/dist/{control-ui-assets-B0DdamQU.js → control-ui-assets-5F0FEjfM.js} +1 -1
  51. package/dist/{cron-cli-DpVGzupl.js → cron-cli-BIa0VxDk.js} +11 -11
  52. package/dist/{daemon-cli-CqwUFobu.js → daemon-cli-BE11O7QX.js} +16 -16
  53. package/dist/{daemon-install-C029NlXk.js → daemon-install-DNhR8NtL.js} +4 -4
  54. package/dist/{daemon-install-helpers-D1YQ03lO.js → daemon-install-helpers-DWmF3oFP.js} +11 -11
  55. package/dist/{deliver-BX-UVg7x.js → deliver-CqiBzHnh.js} +7 -7
  56. package/dist/{deliver-CtyrAYix.js → deliver-r4_Yp7-C.js} +1 -1
  57. package/dist/{deliver-runtime-Bvh4te8E.js → deliver-runtime-CIXUsI5k.js} +3 -3
  58. package/dist/deliver-runtime-DJsAB9LW.js +57 -0
  59. package/dist/deps-send-discord.runtime-M8Cl0fms.js +32 -0
  60. package/dist/deps-send-imessage.runtime-Bing_Bvm.js +31 -0
  61. package/dist/deps-send-signal.runtime-CEnhoskG.js +30 -0
  62. package/dist/deps-send-slack.runtime-DeKWrOdA.js +28 -0
  63. package/dist/deps-send-telegram.runtime-K5LxxPog.js +34 -0
  64. package/dist/{deps-send-whatsapp.runtime-BJV7VcRP.js → deps-send-whatsapp.runtime-BXDQiU2D.js} +7 -7
  65. package/dist/deps-send-whatsapp.runtime-Cie2nrT8.js +115 -0
  66. package/dist/{devices-cli-Cpq_Gt1l.js → devices-cli-BJgUG9fc.js} +8 -8
  67. package/dist/{diagnostic-DIPYflOJ.js → diagnostic-BCcd-_zI.js} +1 -1
  68. package/dist/{diagnostics-KfpqzhsS.js → diagnostics-BDjbQJxP.js} +5 -5
  69. package/dist/{directory-cli-CPBPE8N1.js → directory-cli-CJ_l_BnF.js} +7 -7
  70. package/dist/{dns-cli-CI7HzCVI.js → dns-cli-CFau82Y7.js} +5 -5
  71. package/dist/{dock-ClcGZ0LV.js → dock-C-w5XvOS.js} +4 -4
  72. package/dist/{docs-cli-DkQBHXw-.js → docs-cli-BRob5CHm.js} +4 -4
  73. package/dist/{doctor-completion-DEdT-_9v.js → doctor-completion-DB39JNV7.js} +2 -2
  74. package/dist/{doctor-config-flow-D6rEqOwb.js → doctor-config-flow-BzYwmYwv.js} +15 -15
  75. package/dist/{enable-sRe0nI5a.js → enable-Qw-mz6ta.js} +1 -1
  76. package/dist/entry.js +2 -2
  77. package/dist/{exec-approvals-allowlist-B5ZdMbz6.js → exec-approvals-allowlist-BkdJCc3F.js} +1 -1
  78. package/dist/{exec-approvals-cli-BFxdGk9c.js → exec-approvals-cli-DsDGgzyV.js} +16 -16
  79. package/dist/{exec-safe-bin-runtime-policy-CB8atBLm.js → exec-safe-bin-runtime-policy-C5pAgyiz.js} +2 -2
  80. package/dist/{fetch-CdvuNDFE.js → fetch-BwrGQrFL.js} +3 -3
  81. package/dist/{fetch-guard-D-W6TRJN.js → fetch-guard-CHht1LfT.js} +1 -1
  82. package/dist/{plugin-sdk/fs-safe-DRACrdwg.js → fs-safe-B8J4dv27.js} +6 -6
  83. package/dist/{gateway-cli-C_4mlmOW.js → gateway-cli-BdyXCC2C.js} +154 -154
  84. package/dist/{gateway-rpc-Dg3CGljP.js → gateway-rpc-ICMh7-Qs.js} +1 -1
  85. package/dist/{health-C5a0wlfE.js → health-Boe965-L.js} +11 -11
  86. package/dist/{hooks-cli-C79J_WG7.js → hooks-cli-DI0sn396.js} +81 -81
  87. package/dist/{hooks-status-Cjg5SLpX.js → hooks-status-CQjtRM1s.js} +1 -1
  88. package/dist/{image-7s8Q2r40.js → image-DoOVDHql.js} +1 -1
  89. package/dist/{image-EjGWXbei.js → image-Dpt9TurJ.js} +5 -5
  90. package/dist/{image-ops-eFMqXMDE.js → image-ops-DWGnyTvC.js} +10 -10
  91. package/dist/image-runtime-HfAsK5X3.js +51 -0
  92. package/dist/{image-runtime-QNP_uABR.js → image-runtime-Wym8Keh3.js} +3 -3
  93. package/dist/{inspect-XmcWN97u.js → inspect-DbVcDDi7.js} +4 -4
  94. package/dist/{install-safe-path-DNotGe9T.js → install-safe-path-FR9r9Dmi.js} +25 -25
  95. package/dist/{installs-zKF10nZF.js → installs-7zsfIb7P.js} +9 -9
  96. package/dist/{ipv4-DIKCnoyz.js → ipv4-CfrDjvjo.js} +1 -1
  97. package/dist/{ir-CJPPU4LU.js → ir-B-FffSKU.js} +8 -8
  98. package/dist/{issue-format-DCF2SXK_.js → issue-format-NmLUfbBT.js} +1 -1
  99. package/dist/{json-files-kWpauJWO.js → json-files-D9ZHO8Ud.js} +8 -8
  100. package/dist/{lifecycle-core-BLhI5nRz.js → lifecycle-core-Di83_FGS.js} +5 -5
  101. package/dist/llm-slug-generator.js +6 -6
  102. package/dist/{login-D26qK4NQ.js → login-BrdFlfV0.js} +3 -3
  103. package/dist/{login-qr-CMgMlRCI.js → login-qr-Ci3FVgS9.js} +6 -6
  104. package/dist/{logs-cli-Cn7bGSc7.js → logs-cli-DUl4D14l.js} +9 -9
  105. package/dist/{manager-f6tniCBN.js → manager-2Wice7pq.js} +14 -14
  106. package/dist/manager-runtime-BrpO8pJp.js +22 -0
  107. package/dist/{manifest-registry-CI-UuKUO.js → manifest-registry-_liSV_Vx.js} +1 -1
  108. package/dist/{memory-cli-C2Yq9ryD.js → memory-cli-BgZK6A-T.js} +12 -12
  109. package/dist/{model-CXGHDOeN.js → model-C4J88Gi3.js} +2 -2
  110. package/dist/{model-catalog-08ftNXDk.js → model-catalog-BYxSwIkt.js} +3 -3
  111. package/dist/{model-picker-CTRi5Yhj.js → model-picker-DAr8DpKu.js} +4 -4
  112. package/dist/{models-Do96D4zT.js → models-DqwqcGxg.js} +17 -17
  113. package/dist/{models-cli-pblTciC_.js → models-cli-BFfUYhHp.js} +78 -78
  114. package/dist/{models-config-DYJ-p9kt.js → models-config-CJq2ywhf.js} +6 -6
  115. package/dist/{net-DQYHvbkN.js → net-C7TXXUto.js} +2 -2
  116. package/dist/{node-cli-CsQwAHzH.js → node-cli-DMpZsjse.js} +33 -33
  117. package/dist/{node-command-policy-BHdicfMO.js → node-command-policy-DGMJi4xw.js} +1 -1
  118. package/dist/{node-service-CLtiUeNO.js → node-service-L9-L8-7x.js} +1 -1
  119. package/dist/{nodes-cli-Dlilj-Pf.js → nodes-cli-BcyY77Cc.js} +16 -16
  120. package/dist/{nodes-screen-CL-8raxt.js → nodes-screen-B6QVlwKO.js} +7 -7
  121. package/dist/{npm-pack-install-DZvYhRnM.js → npm-pack-install-B3VCcNWC.js} +18 -18
  122. package/dist/{npm-resolution-DE7xcGkg.js → npm-resolution-0-Scs5nn.js} +4 -4
  123. package/dist/{onboard-CReGZ3G9.js → onboard-C9gtA3_b.js} +6 -6
  124. package/dist/{onboard-channels-ljMkIe7O.js → onboard-channels-NBqfiIc3.js} +21 -21
  125. package/dist/{onboard-custom-DoJDTzAW.js → onboard-custom-Cv61U_sa.js} +4 -4
  126. package/dist/{onboard-helpers-7lOdCHhD.js → onboard-helpers-Djj9SkyR.js} +10 -10
  127. package/dist/{onboard-hooks-BTD0YhRI.js → onboard-hooks-DRkLf5gL.js} +4 -4
  128. package/dist/{onboard-remote-Bj9uk3zW.js → onboard-remote-o8XtWCa_.js} +4 -4
  129. package/dist/{onboard-skills-1KAA9UrK.js → onboard-skills-TATKa-gc.js} +4 -4
  130. package/dist/{onboarding-CoH1hPY0.js → onboarding-C_LQ6doG.js} +14 -14
  131. package/dist/{onboarding.finalize-DzRWtkmA.js → onboarding.finalize-uHWzNBrm.js} +87 -87
  132. package/dist/{onboarding.gateway-config-s11ZLxLE.js → onboarding.gateway-config-ByvXJY2k.js} +18 -18
  133. package/dist/{onboarding.secret-input-D5VKqHdN.js → onboarding.secret-input-Cw4uIgyl.js} +1 -1
  134. package/dist/{openai-model-default-sYh2slgj.js → openai-model-default-Db9joqm4.js} +2 -2
  135. package/dist/{outbound-D0KF3CHY.js → outbound-DgsIsXfj.js} +3 -3
  136. package/dist/{outbound-attachment-CEC4H3tX.js → outbound-attachment-CjhkSZBR.js} +2 -2
  137. package/dist/{pairing-cli-4Nrc-V_v.js → pairing-cli-D0KKynjI.js} +8 -8
  138. package/dist/{pairing-labels-e3Pnen1C.js → pairing-labels-Ev8O2qBX.js} +1 -1
  139. package/dist/{pairing-store-Kslw_Wa0.js → pairing-store-CI0hWzZk.js} +3 -3
  140. package/dist/{plugin-sdk/path-alias-guards-CaCBZRHc.js → path-alias-guards-BoydiaPL.js} +1 -1
  141. package/dist/{path-safety-Cq9rwfZN.js → path-safety-CSCsbd-j.js} +1 -1
  142. package/dist/{paths-C5mR1YC-.js → paths-BVQ0udwc.js} +9 -9
  143. package/dist/{pi-embedded-DUO1eQ_J.js → pi-embedded-CD3oPGOP.js} +24 -24
  144. package/dist/{pi-embedded-helpers-BWpzwT6B.js → pi-embedded-helpers-Be8qWeKb.js} +6 -6
  145. package/dist/{pi-embedded-helpers-BMGRFCuV.js → pi-embedded-helpers-BthBxPYi.js} +3 -3
  146. package/dist/{pi-model-discovery-CibSv4gC.js → pi-model-discovery-CgxnCHvU.js} +1 -1
  147. package/dist/{pi-model-discovery-runtime-DhBE8w94.js → pi-model-discovery-runtime-CqYOz48r.js} +5 -5
  148. package/dist/{pi-tools.before-tool-call.runtime-D6h4CmLs.js → pi-tools.before-tool-call.runtime-CPnt06zM.js} +5 -5
  149. package/dist/{pi-tools.policy-BqpmC_c4.js → pi-tools.policy-DGbCC2Ji.js} +5 -5
  150. package/dist/{plugin-auto-enable-DnSZLbIH.js → plugin-auto-enable-Crpu18wt.js} +3 -3
  151. package/dist/{plugin-registry-DckyegZB.js → plugin-registry-Dbu4pN4B.js} +3 -3
  152. package/dist/plugin-sdk/imessage.js +2 -2
  153. package/dist/plugin-sdk/index.js +50 -50
  154. package/dist/plugin-sdk/mattermost.js +3 -3
  155. package/dist/plugin-sdk/signal.js +2 -2
  156. package/dist/plugin-sdk/telegram.js +2 -2
  157. package/dist/{plugins-C1OgLvb4.js → plugins-IFacUN_Q.js} +2 -2
  158. package/dist/{plugins-cli-C6Oo9R6E.js → plugins-cli-CCpaWcyg.js} +83 -83
  159. package/dist/{ports-CfOim1GC.js → ports-DqZBwUsy.js} +2 -2
  160. package/dist/{ports-Dw-3Gxsb.js → ports-FLn4cVl7.js} +1 -1
  161. package/dist/{probe-D3f6QMfy.js → probe-CHRXpP2F.js} +2 -2
  162. package/dist/{program-CEJ6CsoR.js → program-Br4Re78f.js} +81 -81
  163. package/dist/{prompt-select-styled-D-f3R2mt.js → prompt-select-styled-w-CGGgrT.js} +40 -40
  164. package/dist/{provider-auth-helpers-CN4iPBfs.js → provider-auth-helpers-BVCos07y.js} +5 -5
  165. package/dist/{proxy-env-B7GwrH5p.js → proxy-env-Bx8OhutV.js} +1 -1
  166. package/dist/{push-apns-BEZdCQsM.js → push-apns-Cdl2nskU.js} +5 -5
  167. package/dist/{pw-ai-Ckb-165q.js → pw-ai-BpQw305H.js} +18 -18
  168. package/dist/{pw-ai-D6e8FGb0.js → pw-ai-CJfoHUhH.js} +1 -1
  169. package/dist/{plugin-sdk/qmd-manager-JiY1T3wh.js → qmd-manager-COHJs6wn.js} +15 -11
  170. package/dist/{qr-cli-BI54tdt3.js → qr-cli-Bzo00_vR.js} +2 -2
  171. package/dist/{query-expansion-Cja4xprw.js → query-expansion-IQFdQdeu.js} +12 -12
  172. package/dist/{redact-snapshot-YrAxVxTI.js → redact-snapshot-Bfefch_D.js} +1 -1
  173. package/dist/{register.agent-BjxrirHi.js → register.agent-CVpohSrc.js} +94 -94
  174. package/dist/register.configure-CiIuig3f.js +162 -0
  175. package/dist/{register.maintenance-BfdiJ7KX.js → register.maintenance-CpVfbR8z.js} +95 -95
  176. package/dist/{register.message-BszoJEBm.js → register.message-CJErVRcL.js} +74 -74
  177. package/dist/{register.onboard-CbJU4Y-3.js → register.onboard-Cm5fn9dF.js} +18 -18
  178. package/dist/{register.setup-BTTBsCT0.js → register.setup-DIBDbMN8.js} +21 -21
  179. package/dist/{register.status-health-sessions-C3Ji8sqv.js → register.status-health-sessions-Bu3abDYw.js} +89 -89
  180. package/dist/{register.subclis-2iN-TxPh.js → register.subclis-DTiQUgvr.js} +31 -31
  181. package/dist/{rpc-4GcuaLHq.js → rpc-CkwrblZ9.js} +1 -1
  182. package/dist/{run-main-BEtPk_9z.js → run-main-4p7ridqP.js} +92 -92
  183. package/dist/{runtime-4RU4PT-H.js → runtime-C-9xWVep.js} +3 -3
  184. package/dist/{runtime-config-collectors-Ca2llf68.js → runtime-config-collectors-vw9ITu9W.js} +1 -1
  185. package/dist/{runtime-whatsapp-login.runtime-DOTrH3Wz.js → runtime-whatsapp-login.runtime-CrytFUOh.js} +7 -7
  186. package/dist/runtime-whatsapp-outbound.runtime-DOHkvY0R.js +28 -0
  187. package/dist/{sandbox-D19lOCVP.js → sandbox-CDjV0Crv.js} +18 -18
  188. package/dist/{sandbox-cli-DAZxiFQz.js → sandbox-cli-CyS9Kzp1.js} +25 -25
  189. package/dist/{secrets-cli-Bd2eDDOJ.js → secrets-cli-BPXW13bC.js} +11 -11
  190. package/dist/{security-cli-C6oO69to.js → security-cli-DfuX1PAw.js} +43 -43
  191. package/dist/{send-DR5zNR-6.js → send-BTQQeOIu.js} +6 -6
  192. package/dist/{send-3vnK2por.js → send-CFsJh6px.js} +11 -11
  193. package/dist/{send-DTvtOsK3.js → send-CM55Cnqy.js} +4 -4
  194. package/dist/{send-Bz5LPBFx.js → send-D7wKzeqg.js} +8 -8
  195. package/dist/{send-CEgqE2b1.js → send-DUJqLDEQ.js} +5 -5
  196. package/dist/{server-vPpafyBR.js → server-57rjxu9J.js} +20 -20
  197. package/dist/{server-context-FT_S05Zu.js → server-context-DdGwcBos.js} +12 -12
  198. package/dist/{server-lifecycle-YV61YmRr.js → server-lifecycle-TD7uRUJM.js} +2 -2
  199. package/dist/{server-middleware-BPI-0Duw.js → server-middleware-Dqzu_N47.js} +1 -1
  200. package/dist/{server-node-events-BozhXo6J.js → server-node-events-CstHr-4q.js} +74 -74
  201. package/dist/{service-Aratsspm.js → service-B45ntxm9.js} +15 -15
  202. package/dist/{session-C4iQQHfw.js → session-BO7rj_9P.js} +1 -1
  203. package/dist/{session-utils-CTpXGSxL.js → session-utils-DqzU9P2d.js} +6 -6
  204. package/dist/{sessions-CZvR93mC.js → sessions-BPbCt7hk.js} +4 -4
  205. package/dist/{sessions-Cvvux3S6.js → sessions-BUNwVEqF.js} +15 -15
  206. package/dist/{shared-ByZODVse.js → shared-CeHWQzSU.js} +3 -3
  207. package/dist/{shared-Cj-SPh02.js → shared-CpqkgNHp.js} +1 -1
  208. package/dist/{skill-commands-CzaT61kL.js → skill-commands-BlmjGaIe.js} +5 -5
  209. package/dist/{skill-scanner-DqqhF5of.js → skill-scanner-DOOfjrYo.js} +6 -6
  210. package/dist/{skills-BpN5EUZU.js → skills-CFYm0xdh.js} +3 -3
  211. package/dist/{skills-cli-Bk2WM5gn.js → skills-cli-Dmbm2-L8.js} +5 -5
  212. package/dist/{skills-install-0pjIZu1-.js → skills-install-DSB3T8VY.js} +6 -6
  213. package/dist/{skills-status-Bu28FGtt.js → skills-status-CmWpjTMz.js} +1 -1
  214. package/dist/{slash-commands.runtime-CU--cvcd.js → slash-commands.runtime-CTVGYo20.js} +11 -11
  215. package/dist/{slash-dispatch.runtime-DDLolsGY.js → slash-dispatch.runtime-CQmhrE1-.js} +6 -6
  216. package/dist/slash-dispatch.runtime-yKnwVCI5.js +110 -0
  217. package/dist/slash-skill-commands.runtime-BCG9eUm1.js +29 -0
  218. package/dist/{status-B5hylgEQ.js → status-DPFQHdBI.js} +28 -28
  219. package/dist/{status.update-CdaaXiD4.js → status.update-ZhDibzTU.js} +2 -2
  220. package/dist/{store-LSg8jeyh.js → store-Dgl-neCe.js} +5 -5
  221. package/dist/{subagent-registry-iD-ynHA9.js → subagent-registry-DPqc72Pw.js} +149 -149
  222. package/dist/{subagent-registry-runtime-DfMDVaOY.js → subagent-registry-runtime-BYxLgcCY.js} +6 -6
  223. package/dist/subagent-registry-runtime-DE-5902Y.js +110 -0
  224. package/dist/{system-cli-B8wmT3y0.js → system-cli-BiiO_z6k.js} +9 -9
  225. package/dist/{system-run-command-Ft0meR8i.js → system-run-command-CUMrwy8H.js} +1 -1
  226. package/dist/{systemd-CVY4-XuL.js → systemd-BNMfPHLS.js} +9 -9
  227. package/dist/{systemd-hints-GPX9Y1X7.js → systemd-hints-O9SJa5Ku.js} +6 -6
  228. package/dist/{systemd-linger-CyioH9ho.js → systemd-linger-CDgtOmPf.js} +1 -1
  229. package/dist/{tables-B6p8P9wY.js → tables-Bjpb4vEC.js} +1 -1
  230. package/dist/{tailnet-yScEfa2T.js → tailnet-C4yxhmDk.js} +1 -1
  231. package/dist/{plugin-sdk/target-errors-Hoj2qirZ.js → target-errors-Bd8kj4z9.js} +2 -2
  232. package/dist/{tool-images-Cp3hNFNZ.js → tool-images-DbchBdq5.js} +1 -1
  233. package/dist/{tui-BPqNtl51.js → tui-BVOPPCMP.js} +6 -6
  234. package/dist/{tui-cli-BZE2zssw.js → tui-cli-B2jmEXCo.js} +32 -32
  235. package/dist/{update-u6OtnABh.js → update-DF240Zd0.js} +3 -3
  236. package/dist/{update-cli-C1nysDmM.js → update-cli-PDG-KYWB.js} +105 -105
  237. package/dist/{update-runner-BpzbDTnQ.js → update-runner-BkpGT3AA.js} +16 -16
  238. package/dist/{web-CodV11ZY.js → web-0SOsmYmI.js} +6 -6
  239. package/dist/web-20qjCzeI.js +114 -0
  240. package/dist/{webhooks-cli-D4O_OfXU.js → webhooks-cli-N_vV0iXR.js} +6 -6
  241. package/dist/{whatsapp-actions-By2rV868.js → whatsapp-actions-X768ziyc.js} +17 -17
  242. package/dist/{winclaw-root-D0OUuGl7.js → winclaw-root-DEqOOeOw.js} +8 -8
  243. package/dist/{with-timeout-Cng0KnPd.js → with-timeout-DJb5ULbL.js} +3 -3
  244. package/dist/{workspace-vYy4qLQz.js → workspace-Cx-f7PO5.js} +1 -1
  245. package/dist/{workspace-dirs-C13vnqQQ.js → workspace-dirs-C5erYAob.js} +1 -1
  246. package/dist/{wsl-C9d12M7y.js → wsl-BisEqrSr.js} +2 -2
  247. package/package.json +1 -1
  248. package/dist/cli-Da0pNyXg.js +0 -154
  249. package/dist/deliver-runtime-Co5o7uv0.js +0 -57
  250. package/dist/deps-send-discord.runtime-D0BtA9iO.js +0 -32
  251. package/dist/deps-send-imessage.runtime-89fweiea.js +0 -31
  252. package/dist/deps-send-signal.runtime-BA3mNq_v.js +0 -30
  253. package/dist/deps-send-slack.runtime-DiA-Ieod.js +0 -28
  254. package/dist/deps-send-telegram.runtime-C9bLOnbt.js +0 -34
  255. package/dist/deps-send-whatsapp.runtime-Dflrvnq-.js +0 -115
  256. package/dist/fs-safe-Dha0DfFC.js +0 -352
  257. package/dist/image-runtime-CGAobfgI.js +0 -51
  258. package/dist/manager-runtime-BifbXCuI.js +0 -22
  259. package/dist/path-alias-guards-9OJ1UBCd.js +0 -43
  260. package/dist/plugin-sdk/accounts-B9lBByhz.js +0 -35
  261. package/dist/plugin-sdk/accounts-Bl6fp04N.js +0 -288
  262. package/dist/plugin-sdk/accounts-CQWq_42g.js +0 -46
  263. package/dist/plugin-sdk/active-listener-Dc-P7jeX.js +0 -50
  264. package/dist/plugin-sdk/api-key-rotation-DSOB99GV.js +0 -181
  265. package/dist/plugin-sdk/audio-preflight-DYTxAG0v.js +0 -69
  266. package/dist/plugin-sdk/audio-transcription-runner-Bndij5Q1.js +0 -2176
  267. package/dist/plugin-sdk/audit-membership-runtime-ZTTIhQhs.js +0 -58
  268. package/dist/plugin-sdk/channel-activity-ChRCQNSc.js +0 -94
  269. package/dist/plugin-sdk/channel-web-CfZNFYCV.js +0 -2256
  270. package/dist/plugin-sdk/chrome-DNpRdbZ1.js +0 -2415
  271. package/dist/plugin-sdk/commands-registry-Bq1HqcJU.js +0 -1125
  272. package/dist/plugin-sdk/config-Cyo0rHBx.js +0 -17959
  273. package/dist/plugin-sdk/deliver-mBruQPRt.js +0 -1719
  274. package/dist/plugin-sdk/deliver-runtime-ByVt0evu.js +0 -32
  275. package/dist/plugin-sdk/deps-send-discord.runtime-C2fc3t93.js +0 -23
  276. package/dist/plugin-sdk/deps-send-imessage.runtime-D4m7X6j4.js +0 -22
  277. package/dist/plugin-sdk/deps-send-signal.runtime-DwGJRjyX.js +0 -21
  278. package/dist/plugin-sdk/deps-send-slack.runtime-7J491hID.js +0 -19
  279. package/dist/plugin-sdk/deps-send-telegram.runtime-DAKGyd6b.js +0 -24
  280. package/dist/plugin-sdk/deps-send-whatsapp.runtime-BxQ5tZO2.js +0 -57
  281. package/dist/plugin-sdk/diagnostic-B3ZoSFoM.js +0 -319
  282. package/dist/plugin-sdk/errors-DdSHGcgi.js +0 -54
  283. package/dist/plugin-sdk/fetch-guard-Uhk4tySC.js +0 -156
  284. package/dist/plugin-sdk/image-CEBZ8sRh.js +0 -2314
  285. package/dist/plugin-sdk/image-ops-Dye2ozSZ.js +0 -584
  286. package/dist/plugin-sdk/image-runtime-CabQkSZn.js +0 -25
  287. package/dist/plugin-sdk/ir-CruONUHn.js +0 -1296
  288. package/dist/plugin-sdk/local-roots-BYSlR-at.js +0 -186
  289. package/dist/plugin-sdk/logger-C_vnHQg2.js +0 -1163
  290. package/dist/plugin-sdk/login-bdsdinOj.js +0 -57
  291. package/dist/plugin-sdk/login-qr-BYAvyop9.js +0 -320
  292. package/dist/plugin-sdk/manager-AOQxrU7P.js +0 -3929
  293. package/dist/plugin-sdk/manager-runtime-CijO5giX.js +0 -15
  294. package/dist/plugin-sdk/outbound-FdiP5J7H.js +0 -212
  295. package/dist/plugin-sdk/outbound-attachment-DZphVgq7.js +0 -19
  296. package/dist/plugin-sdk/paths-ICLB349I.js +0 -166
  297. package/dist/plugin-sdk/pi-embedded-helpers-tHjfJzH4.js +0 -9627
  298. package/dist/plugin-sdk/pi-model-discovery-DQV-B6bn.js +0 -134
  299. package/dist/plugin-sdk/pi-model-discovery-runtime-MJmZTIax.js +0 -8
  300. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-7DPjo7Ey.js +0 -354
  301. package/dist/plugin-sdk/plugins-BQHnLb2v.js +0 -864
  302. package/dist/plugin-sdk/proxy-fetch-BpMu-RpD.js +0 -38
  303. package/dist/plugin-sdk/pw-ai-DAMRoo8O.js +0 -1938
  304. package/dist/plugin-sdk/query-expansion-CuaTloKx.js +0 -1011
  305. package/dist/plugin-sdk/redact-BznLQ6I5.js +0 -319
  306. package/dist/plugin-sdk/reply-Cx_4UtvJ.js +0 -100211
  307. package/dist/plugin-sdk/resolve-outbound-target-BDjhohcf.js +0 -40
  308. package/dist/plugin-sdk/run-with-concurrency-BcPenaKJ.js +0 -1994
  309. package/dist/plugin-sdk/runtime-whatsapp-login.runtime-DqezqoLI.js +0 -10
  310. package/dist/plugin-sdk/runtime-whatsapp-outbound.runtime-Dgnv_x4o.js +0 -19
  311. package/dist/plugin-sdk/send-BWz-g7wE.js +0 -540
  312. package/dist/plugin-sdk/send-DB9pUM0k.js +0 -414
  313. package/dist/plugin-sdk/send-QPap4wBN.js +0 -503
  314. package/dist/plugin-sdk/send-gz4Lq5tL.js +0 -2587
  315. package/dist/plugin-sdk/send-tyEtWeMX.js +0 -3135
  316. package/dist/plugin-sdk/session-88GgvJcW.js +0 -169
  317. package/dist/plugin-sdk/skill-commands-ClwX3DoE.js +0 -353
  318. package/dist/plugin-sdk/skills-B2FPl9ca.js +0 -1428
  319. package/dist/plugin-sdk/slash-commands.runtime-CGAfyDkY.js +0 -13
  320. package/dist/plugin-sdk/slash-dispatch.runtime-DN7TWAWh.js +0 -52
  321. package/dist/plugin-sdk/slash-skill-commands.runtime-C4i9B-79.js +0 -16
  322. package/dist/plugin-sdk/ssrf-D3NQgatK.js +0 -202
  323. package/dist/plugin-sdk/store-CDmdRGxP.js +0 -81
  324. package/dist/plugin-sdk/subagent-registry-runtime-CprGCjIU.js +0 -52
  325. package/dist/plugin-sdk/tables-j2CMtAoX.js +0 -55
  326. package/dist/plugin-sdk/thinking-Dh6B0ZhB.js +0 -1206
  327. package/dist/plugin-sdk/tokens-PExiD061.js +0 -52
  328. package/dist/plugin-sdk/tool-images-D7ah30xm.js +0 -274
  329. package/dist/plugin-sdk/web-D9wJfMr_.js +0 -56
  330. package/dist/plugin-sdk/whatsapp-actions-BjarJorO.js +0 -80
  331. package/dist/qmd-manager-oU4X85hj.js +0 -1452
  332. package/dist/register.configure-MduIRRMt.js +0 -162
  333. package/dist/runtime-whatsapp-outbound.runtime-CNnM5MdE.js +0 -28
  334. package/dist/slash-dispatch.runtime-D5Cl7j1v.js +0 -110
  335. package/dist/slash-skill-commands.runtime-DnvHGcVS.js +0 -29
  336. package/dist/subagent-registry-runtime-LH0OBaWN.js +0 -110
  337. package/dist/target-errors-HJQQHC3B.js +0 -195
  338. package/dist/web-DxHq9RWt.js +0 -114
@@ -1,8 +1,8 @@
1
- import { f as isNotFoundPathError, p as isPathInside } from "./winclaw-root-D0OUuGl7.js";
2
- import { a as openWritableFileWithinRoot, t as SafeOpenError } from "./fs-safe-Dha0DfFC.js";
3
- import { n as resolveSafeBaseDir } from "./path-safety-Cq9rwfZN.js";
1
+ import { f as isNotFoundPathError, p as isPathInside } from "./winclaw-root-DEqOOeOw.js";
2
+ import { a as openWritableFileWithinRoot, t as SafeOpenError } from "./fs-safe-B8J4dv27.js";
3
+ import { n as resolveSafeBaseDir } from "./path-safety-CSCsbd-j.js";
4
4
  import path from "node:path";
5
- import fsPromises from "node:fs/promises";
5
+ import fs from "node:fs/promises";
6
6
  import { createHash } from "node:crypto";
7
7
  import { pipeline } from "node:stream/promises";
8
8
  import { Readable, Transform } from "node:stream";
@@ -78,9 +78,9 @@ function resolveArchiveKind(filePath) {
78
78
  async function resolvePackedRootDir(extractDir) {
79
79
  const direct = path.join(extractDir, "package");
80
80
  try {
81
- if ((await fsPromises.stat(direct)).isDirectory()) return direct;
81
+ if ((await fs.stat(direct)).isDirectory()) return direct;
82
82
  } catch {}
83
- const dirs = (await fsPromises.readdir(extractDir, { withFileTypes: true })).filter((entry) => entry.isDirectory()).map((entry) => entry.name);
83
+ const dirs = (await fs.readdir(extractDir, { withFileTypes: true })).filter((entry) => entry.isDirectory()).map((entry) => entry.name);
84
84
  if (dirs.length !== 1) throw new Error(`unexpected archive layout (dirs: ${dirs.join(", ")})`);
85
85
  const onlyDir = dirs[0];
86
86
  if (!onlyDir) throw new Error("unexpected archive layout (no package dir found)");
@@ -150,10 +150,10 @@ function symlinkTraversalError(originalPath) {
150
150
  return new ArchiveSecurityError("destination-symlink-traversal", `${ERROR_ARCHIVE_ENTRY_TRAVERSES_SYMLINK}: ${originalPath}`);
151
151
  }
152
152
  async function assertDestinationDirReady(destDir) {
153
- const stat = await fsPromises.lstat(destDir);
153
+ const stat = await fs.lstat(destDir);
154
154
  if (stat.isSymbolicLink()) throw new ArchiveSecurityError("destination-symlink", "archive destination is a symlink");
155
155
  if (!stat.isDirectory()) throw new ArchiveSecurityError("destination-not-directory", "archive destination is not a directory");
156
- return await fsPromises.realpath(destDir);
156
+ return await fs.realpath(destDir);
157
157
  }
158
158
  async function assertNoSymlinkTraversal(params) {
159
159
  const parts = params.relPath.split("/").filter(Boolean);
@@ -162,7 +162,7 @@ async function assertNoSymlinkTraversal(params) {
162
162
  current = path.join(current, part);
163
163
  let stat;
164
164
  try {
165
- stat = await fsPromises.lstat(current);
165
+ stat = await fs.lstat(current);
166
166
  } catch (err) {
167
167
  if (isNotFoundPathError(err)) continue;
168
168
  throw err;
@@ -173,7 +173,7 @@ async function assertNoSymlinkTraversal(params) {
173
173
  async function assertResolvedInsideDestination(params) {
174
174
  let resolved;
175
175
  try {
176
- resolved = await fsPromises.realpath(params.targetPath);
176
+ resolved = await fs.realpath(params.targetPath);
177
177
  } catch (err) {
178
178
  if (isNotFoundPathError(err)) return;
179
179
  throw err;
@@ -196,12 +196,12 @@ async function openZipOutputFile(params) {
196
196
  async function cleanupPartialRegularFile(filePath) {
197
197
  let stat;
198
198
  try {
199
- stat = await fsPromises.lstat(filePath);
199
+ stat = await fs.lstat(filePath);
200
200
  } catch (err) {
201
201
  if (isNotFoundPathError(err)) return;
202
202
  throw err;
203
203
  }
204
- if (stat.isFile()) await fsPromises.unlink(filePath).catch(() => void 0);
204
+ if (stat.isFile()) await fs.unlink(filePath).catch(() => void 0);
205
205
  }
206
206
  async function readZipEntryStream(entry) {
207
207
  if (typeof entry.nodeStream === "function") return entry.nodeStream();
@@ -229,7 +229,7 @@ async function prepareZipOutputPath(params) {
229
229
  originalPath: params.originalPath
230
230
  });
231
231
  if (params.isDirectory) {
232
- await fsPromises.mkdir(params.outPath, { recursive: true });
232
+ await fs.mkdir(params.outPath, { recursive: true });
233
233
  await assertResolvedInsideDestination({
234
234
  destinationRealDir: params.destinationRealDir,
235
235
  targetPath: params.outPath,
@@ -238,7 +238,7 @@ async function prepareZipOutputPath(params) {
238
238
  return;
239
239
  }
240
240
  const parentDir = path.dirname(params.outPath);
241
- await fsPromises.mkdir(parentDir, { recursive: true });
241
+ await fs.mkdir(parentDir, { recursive: true });
242
242
  await assertResolvedInsideDestination({
243
243
  destinationRealDir: params.destinationRealDir,
244
244
  targetPath: parentDir,
@@ -261,7 +261,7 @@ async function writeZipFileEntry(params) {
261
261
  try {
262
262
  await pipeline(readable, createExtractBudgetTransform({ onChunkBytes: params.budget.addBytes }), writable);
263
263
  } catch (err) {
264
- if (opened.createdForWrite) await fsPromises.rm(opened.openedRealPath, { force: true }).catch(() => void 0);
264
+ if (opened.createdForWrite) await fs.rm(opened.openedRealPath, { force: true }).catch(() => void 0);
265
265
  else await cleanupPartialRegularFile(opened.openedRealPath).catch(() => void 0);
266
266
  throw err;
267
267
  } finally {
@@ -269,14 +269,14 @@ async function writeZipFileEntry(params) {
269
269
  }
270
270
  if (typeof params.entry.unixPermissions === "number") {
271
271
  const mode = params.entry.unixPermissions & 511;
272
- if (mode !== 0) await fsPromises.chmod(opened.openedRealPath, mode).catch(() => void 0);
272
+ if (mode !== 0) await fs.chmod(opened.openedRealPath, mode).catch(() => void 0);
273
273
  }
274
274
  }
275
275
  async function extractZip(params) {
276
276
  const limits = resolveExtractLimits(params.limits);
277
277
  const destinationRealDir = await assertDestinationDirReady(params.destDir);
278
- if ((await fsPromises.stat(params.archivePath)).size > limits.maxArchiveBytes) throw new Error(ERROR_ARCHIVE_SIZE_EXCEEDS_LIMIT);
279
- const buffer = await fsPromises.readFile(params.archivePath);
278
+ if ((await fs.stat(params.archivePath)).size > limits.maxArchiveBytes) throw new Error(ERROR_ARCHIVE_SIZE_EXCEEDS_LIMIT);
279
+ const buffer = await fs.readFile(params.archivePath);
280
280
  const zip = await JSZip.loadAsync(buffer);
281
281
  const entries = Object.values(zip.files);
282
282
  const strip = Math.max(0, Math.floor(params.stripComponents ?? 0));
@@ -349,7 +349,7 @@ async function extractArchive(params) {
349
349
  const label = kind === "zip" ? "extract zip" : "extract tar";
350
350
  if (kind === "tar") {
351
351
  const limits = resolveExtractLimits(params.limits);
352
- if ((await fsPromises.stat(params.archivePath)).size > limits.maxArchiveBytes) throw new Error(ERROR_ARCHIVE_SIZE_EXCEEDS_LIMIT);
352
+ if ((await fs.stat(params.archivePath)).size > limits.maxArchiveBytes) throw new Error(ERROR_ARCHIVE_SIZE_EXCEEDS_LIMIT);
353
353
  const checkTarEntrySafety = createTarEntrySafetyChecker({
354
354
  rootDir: params.destDir,
355
355
  stripComponents: params.stripComponents,
@@ -382,14 +382,14 @@ async function extractArchive(params) {
382
382
  }
383
383
  async function fileExists(filePath) {
384
384
  try {
385
- await fsPromises.stat(filePath);
385
+ await fs.stat(filePath);
386
386
  return true;
387
387
  } catch {
388
388
  return false;
389
389
  }
390
390
  }
391
391
  async function readJsonFile(filePath) {
392
- const raw = await fsPromises.readFile(filePath, "utf-8");
392
+ const raw = await fs.readFile(filePath, "utf-8");
393
393
  return JSON.parse(raw);
394
394
  }
395
395
 
@@ -433,13 +433,13 @@ async function assertCanonicalPathWithinBase(params) {
433
433
  const baseDir = path.resolve(params.baseDir);
434
434
  const candidatePath = path.resolve(params.candidatePath);
435
435
  if (!isPathInside(baseDir, candidatePath)) throw new Error(`Invalid path: must stay within ${params.boundaryLabel}`);
436
- const baseLstat = await fsPromises.lstat(baseDir);
436
+ const baseLstat = await fs.lstat(baseDir);
437
437
  if (!baseLstat.isDirectory() || baseLstat.isSymbolicLink()) throw new Error(`Invalid ${params.boundaryLabel}: base directory must be a real directory`);
438
- const baseRealPath = await fsPromises.realpath(baseDir);
438
+ const baseRealPath = await fs.realpath(baseDir);
439
439
  const validateDirectory = async (dirPath) => {
440
- const dirLstat = await fsPromises.lstat(dirPath);
440
+ const dirLstat = await fs.lstat(dirPath);
441
441
  if (!dirLstat.isDirectory() || dirLstat.isSymbolicLink()) throw new Error(`Invalid path: must stay within ${params.boundaryLabel}`);
442
- if (!isPathInside(baseRealPath, await fsPromises.realpath(dirPath))) throw new Error(`Invalid path: must stay within ${params.boundaryLabel}`);
442
+ if (!isPathInside(baseRealPath, await fs.realpath(dirPath))) throw new Error(`Invalid path: must stay within ${params.boundaryLabel}`);
443
443
  };
444
444
  try {
445
445
  await validateDirectory(candidatePath);
@@ -1,13 +1,13 @@
1
1
  import { t as CONFIG_DIR, v as resolveUserPath } from "./utils-hiIKrqOK.js";
2
2
  import { i as isPathInside, r as extensionUsesSkippedScannerPath } from "./legacy-names-DfPyDvWW.js";
3
- import { o as loadPluginManifest, s as resolvePackageExtensionEntries } from "./manifest-registry-CI-UuKUO.js";
4
- import { S as validateRegistryNpmSpec } from "./skills-BpN5EUZU.js";
5
- import { c as writeFileFromPathWithinRoot } from "./fs-safe-Dha0DfFC.js";
6
- import { a as unscopedPackageName, c as fileExists, l as readJsonFile, n as resolveSafeInstallDir, r as safeDirName, u as resolveArchiveKind } from "./install-safe-path-DNotGe9T.js";
7
- import { a as installPackageDir, c as resolveTimedInstallModeOptions, d as buildNpmResolutionFields, f as resolveArchiveSourcePath, i as resolveCanonicalInstallTarget, l as resolveExistingInstallPath, n as installFromNpmSpecArchiveWithInstaller, r as ensureInstallTargetAvailable, s as resolveInstallModeOptions, t as finalizeNpmSpecArchiveInstall, u as withExtractedArchiveRoot } from "./npm-pack-install-DZvYhRnM.js";
8
- import { t as scanDirectoryWithSummary } from "./skill-scanner-DqqhF5of.js";
3
+ import { o as loadPluginManifest, s as resolvePackageExtensionEntries } from "./manifest-registry-_liSV_Vx.js";
4
+ import { S as validateRegistryNpmSpec } from "./skills-CFYm0xdh.js";
5
+ import { c as writeFileFromPathWithinRoot } from "./fs-safe-B8J4dv27.js";
6
+ import { a as unscopedPackageName, c as fileExists, l as readJsonFile, n as resolveSafeInstallDir, r as safeDirName, u as resolveArchiveKind } from "./install-safe-path-FR9r9Dmi.js";
7
+ import { a as installPackageDir, c as resolveTimedInstallModeOptions, d as buildNpmResolutionFields, f as resolveArchiveSourcePath, i as resolveCanonicalInstallTarget, l as resolveExistingInstallPath, n as installFromNpmSpecArchiveWithInstaller, r as ensureInstallTargetAvailable, s as resolveInstallModeOptions, t as finalizeNpmSpecArchiveInstall, u as withExtractedArchiveRoot } from "./npm-pack-install-B3VCcNWC.js";
8
+ import { t as scanDirectoryWithSummary } from "./skill-scanner-DOOfjrYo.js";
9
9
  import path from "node:path";
10
- import fsPromises from "node:fs/promises";
10
+ import fs from "node:fs/promises";
11
11
 
12
12
  //#region src/plugins/install.ts
13
13
  const MISSING_EXTENSIONS_ERROR = "package.json missing winclaw.extensions; update the plugin package to include winclaw.extensions (for example [\"./dist/index.js\"]). See https://docs.winclaw.ai/help/troubleshooting#plugin-install-fails-with-missing-winclaw-extensions";
@@ -237,7 +237,7 @@ async function installPluginFromDir(params) {
237
237
  ok: false,
238
238
  error: `directory not found: ${dirPath}`
239
239
  };
240
- if (!(await fsPromises.stat(dirPath)).isDirectory()) return {
240
+ if (!(await fs.stat(dirPath)).isDirectory()) return {
241
241
  ok: false,
242
242
  error: `not a directory: ${dirPath}`
243
243
  };
@@ -254,7 +254,7 @@ async function installPluginFromFile(params) {
254
254
  error: `file not found: ${filePath}`
255
255
  };
256
256
  const extensionsDir = params.extensionsDir ? resolveUserPath(params.extensionsDir) : path.join(CONFIG_DIR, "extensions");
257
- await fsPromises.mkdir(extensionsDir, { recursive: true });
257
+ await fs.mkdir(extensionsDir, { recursive: true });
258
258
  const pluginId = path.basename(filePath, path.extname(filePath)) || "plugin";
259
259
  const pluginIdError = validatePluginId(pluginId);
260
260
  if (pluginIdError) return {
@@ -1,4 +1,4 @@
1
- import { Ot as parseCanonicalIpAddress, St as isIpv6Address, vt as isCanonicalDottedDecimalIPv4 } from "./auth-profiles-CmoHF97e.js";
1
+ import { Ot as parseCanonicalIpAddress, St as isIpv6Address, vt as isCanonicalDottedDecimalIPv4 } from "./auth-profiles-DF0cLC20.js";
2
2
  import { o as getTailnetHostname } from "./tailscale-CB_lUnsU.js";
3
3
 
4
4
  //#region src/gateway/gateway-config-prompts.shared.ts
@@ -2,14 +2,14 @@ import { E as logVerbose, k as shouldLogVerbose } from "./entry.js";
2
2
  import { _ as normalizeAccountId } from "./session-key-9-yI-GU_.js";
3
3
  import { v as resolveUserPath } from "./utils-hiIKrqOK.js";
4
4
  import { t as INTERNAL_MESSAGE_CHANNEL } from "./message-channel-DINJBdD0.js";
5
- import { r as normalizeChannelId } from "./plugins-C1OgLvb4.js";
6
- import { y as resolveAccountEntry } from "./accounts-cYG8442L.js";
7
- import { _ as maxBytesForKind, a as hasAlphaChannel, c as detectMime, l as extensionForMime, m as kindFromMime, o as optimizeImageToPng, r as convertHeicToJpeg, s as resizeToJpeg } from "./image-ops-eFMqXMDE.js";
8
- import { s as readLocalFileSafely, t as SafeOpenError } from "./fs-safe-Dha0DfFC.js";
9
- import { a as getDefaultMediaLocalRoots, n as fetchRemoteMedia } from "./fetch-CdvuNDFE.js";
5
+ import { r as normalizeChannelId } from "./plugins-IFacUN_Q.js";
6
+ import { y as resolveAccountEntry } from "./accounts-BrWJjaKS.js";
7
+ import { _ as maxBytesForKind, a as hasAlphaChannel, c as detectMime, l as extensionForMime, m as kindFromMime, o as optimizeImageToPng, r as convertHeicToJpeg, s as resizeToJpeg } from "./image-ops-DWGnyTvC.js";
8
+ import { s as readLocalFileSafely, t as SafeOpenError } from "./fs-safe-B8J4dv27.js";
9
+ import { a as getDefaultMediaLocalRoots, n as fetchRemoteMedia } from "./fetch-BwrGQrFL.js";
10
10
  import { fileURLToPath } from "node:url";
11
11
  import path from "node:path";
12
- import fsPromises from "node:fs/promises";
12
+ import fs from "node:fs/promises";
13
13
  import MarkdownIt from "markdown-it";
14
14
 
15
15
  //#region src/markdown/fences.ts
@@ -387,7 +387,7 @@ async function assertLocalMediaAllowed(mediaPath, localRoots) {
387
387
  const roots = localRoots ?? getDefaultLocalRoots();
388
388
  let resolved;
389
389
  try {
390
- resolved = await fsPromises.realpath(mediaPath);
390
+ resolved = await fs.realpath(mediaPath);
391
391
  } catch {
392
392
  resolved = path.resolve(mediaPath);
393
393
  }
@@ -404,7 +404,7 @@ async function assertLocalMediaAllowed(mediaPath, localRoots) {
404
404
  for (const root of roots) {
405
405
  let resolvedRoot;
406
406
  try {
407
- resolvedRoot = await fsPromises.realpath(root);
407
+ resolvedRoot = await fs.realpath(root);
408
408
  } catch {
409
409
  resolvedRoot = path.resolve(root);
410
410
  }
@@ -1,4 +1,4 @@
1
- import { Bt as sanitizeTerminalText } from "./auth-profiles-CmoHF97e.js";
1
+ import { Bt as sanitizeTerminalText } from "./auth-profiles-DF0cLC20.js";
2
2
 
3
3
  //#region src/config/issue-format.ts
4
4
  function normalizeConfigIssuePath(path) {
@@ -1,11 +1,11 @@
1
1
  import path from "node:path";
2
- import fsPromises from "node:fs/promises";
2
+ import fs from "node:fs/promises";
3
3
  import { randomUUID } from "node:crypto";
4
4
 
5
5
  //#region src/infra/json-files.ts
6
6
  async function readJsonFile(filePath) {
7
7
  try {
8
- const raw = await fsPromises.readFile(filePath, "utf8");
8
+ const raw = await fs.readFile(filePath, "utf8");
9
9
  return JSON.parse(raw);
10
10
  } catch {
11
11
  return null;
@@ -23,19 +23,19 @@ async function writeTextAtomic(filePath, content, options) {
23
23
  const payload = options?.appendTrailingNewline && !content.endsWith("\n") ? `${content}\n` : content;
24
24
  const mkdirOptions = { recursive: true };
25
25
  if (typeof options?.ensureDirMode === "number") mkdirOptions.mode = options.ensureDirMode;
26
- await fsPromises.mkdir(path.dirname(filePath), mkdirOptions);
26
+ await fs.mkdir(path.dirname(filePath), mkdirOptions);
27
27
  const tmp = `${filePath}.${randomUUID()}.tmp`;
28
28
  try {
29
- await fsPromises.writeFile(tmp, payload, "utf8");
29
+ await fs.writeFile(tmp, payload, "utf8");
30
30
  try {
31
- await fsPromises.chmod(tmp, mode);
31
+ await fs.chmod(tmp, mode);
32
32
  } catch {}
33
- await fsPromises.rename(tmp, filePath);
33
+ await fs.rename(tmp, filePath);
34
34
  try {
35
- await fsPromises.chmod(filePath, mode);
35
+ await fs.chmod(filePath, mode);
36
36
  } catch {}
37
37
  } finally {
38
- await fsPromises.rm(tmp, { force: true }).catch(() => void 0);
38
+ await fs.rm(tmp, { force: true }).catch(() => void 0);
39
39
  }
40
40
  }
41
41
  function createAsyncLock() {
@@ -1,12 +1,12 @@
1
1
  import { L as getResolvedLoggerSettings, M as colorize, N as isRich, P as theme, _ as defaultRuntime, tt as resolveIsNixMode } from "./entry.js";
2
- import { z as loadConfig } from "./auth-profiles-CmoHF97e.js";
2
+ import { z as loadConfig } from "./auth-profiles-DF0cLC20.js";
3
3
  import { t as formatCliCommand } from "./command-format-C2YuTuPp.js";
4
4
  import { t as resolveGatewayCredentialsFromConfig } from "./credentials-D4_agdBB.js";
5
5
  import { f as resolveGatewaySystemdServiceName, l as resolveGatewayLaunchAgentLabel, p as resolveGatewayWindowsTaskName } from "./constants-DgixEexA.js";
6
- import { t as isWSL } from "./wsl-C9d12M7y.js";
7
- import { r as isSystemdUserServiceAvailable } from "./systemd-CVY4-XuL.js";
8
- import { s as resolveGatewayLogPaths } from "./service-Aratsspm.js";
9
- import { a as checkTokenDrift, n as renderSystemdUnavailableHints } from "./systemd-hints-GPX9Y1X7.js";
6
+ import { t as isWSL } from "./wsl-BisEqrSr.js";
7
+ import { r as isSystemdUserServiceAvailable } from "./systemd-BNMfPHLS.js";
8
+ import { s as resolveGatewayLogPaths } from "./service-B45ntxm9.js";
9
+ import { a as checkTokenDrift, n as renderSystemdUnavailableHints } from "./systemd-hints-O9SJa5Ku.js";
10
10
  import { t as parsePort } from "./parse-port-CzTewNTY.js";
11
11
  import { Writable } from "node:stream";
12
12
 
@@ -8,19 +8,19 @@ import "./github-copilot-token-BPV26Xlc.js";
8
8
  import "./legacy-names-BfbtBVxA.js";
9
9
  import "./thinking-leUv0tOz.js";
10
10
  import "./tokens-DKL-qP0N.js";
11
- import { t as runEmbeddedPiAgent } from "./pi-embedded-DUO1eQ_J.js";
11
+ import { t as runEmbeddedPiAgent } from "./pi-embedded-CD3oPGOP.js";
12
12
  import "./plugins-7rATz3L_.js";
13
13
  import "./accounts-C4E8dXY5.js";
14
14
  import "./send-CM2xsD1-.js";
15
15
  import "./send-BBOtyWyN.js";
16
- import "./deliver-CtyrAYix.js";
16
+ import "./deliver-r4_Yp7-C.js";
17
17
  import "./diagnostic-Bfg2dGdT.js";
18
18
  import "./accounts-erBd-vFQ.js";
19
19
  import "./image-ops-B57kBDSi.js";
20
20
  import "./send-DyitDdbm.js";
21
21
  import "./pi-model-discovery-CG08IlF3.js";
22
- import "./pi-embedded-helpers-BMGRFCuV.js";
23
- import "./chrome-GsaZ074n.js";
22
+ import "./pi-embedded-helpers-BthBxPYi.js";
23
+ import "./chrome-Cr8R7xl_.js";
24
24
  import "./frontmatter-Bd5ovog5.js";
25
25
  import "./skills-RKUR-FBW.js";
26
26
  import "./path-alias-guards-DQAZEPdU.js";
@@ -32,8 +32,8 @@ import "./store-TUglTWiC.js";
32
32
  import "./accounts-B8tD_UsF.js";
33
33
  import "./paths-ClcxBVEC.js";
34
34
  import "./tool-images-vmtyKntM.js";
35
- import "./image-7s8Q2r40.js";
36
- import "./audio-transcription-runner-DpvjaNmr.js";
35
+ import "./image-DoOVDHql.js";
36
+ import "./audio-transcription-runner-1-9PFrzh.js";
37
37
  import "./fetch-DJPm89Bh.js";
38
38
  import "./fetch-guard-B21Cix4W.js";
39
39
  import "./api-key-rotation-KGcAmHdg.js";
@@ -1,9 +1,9 @@
1
1
  import { A as success, C as info, S as danger, _ as defaultRuntime } from "./entry.js";
2
- import { z as loadConfig } from "./auth-profiles-CmoHF97e.js";
2
+ import { z as loadConfig } from "./auth-profiles-DF0cLC20.js";
3
3
  import { t as formatCliCommand } from "./command-format-C2YuTuPp.js";
4
4
  import { r as logInfo } from "./logger-BcqRk323.js";
5
- import { i as resolveWhatsAppAccount, l as logoutWeb } from "./accounts-cYG8442L.js";
6
- import { i as waitForWaConnection, n as formatError, t as createWaSocket } from "./session-C4iQQHfw.js";
5
+ import { i as resolveWhatsAppAccount, l as logoutWeb } from "./accounts-BrWJjaKS.js";
6
+ import { i as waitForWaConnection, n as formatError, t as createWaSocket } from "./session-BO7rj_9P.js";
7
7
  import { DisconnectReason } from "@whiskeysockets/baileys";
8
8
 
9
9
  //#region src/web/login.ts
@@ -1,8 +1,8 @@
1
1
  import { A as success, C as info, S as danger, _ as defaultRuntime } from "./entry.js";
2
- import { z as loadConfig } from "./auth-profiles-CmoHF97e.js";
3
- import "./agent-scope-D-i-vMLS.js";
2
+ import { z as loadConfig } from "./auth-profiles-DF0cLC20.js";
3
+ import "./agent-scope-Dany4R2i.js";
4
4
  import "./utils-hiIKrqOK.js";
5
- import "./winclaw-root-D0OUuGl7.js";
5
+ import "./winclaw-root-DEqOOeOw.js";
6
6
  import { r as logInfo } from "./logger-BcqRk323.js";
7
7
  import "./exec-CaapFZaD.js";
8
8
  import "./registry-BcRQUSsJ.js";
@@ -10,10 +10,10 @@ 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-CI-UuKUO.js";
14
- import { _ as webAuthExists, i as resolveWhatsAppAccount, l as logoutWeb, p as readWebSelfId } from "./accounts-cYG8442L.js";
13
+ import "./manifest-registry-_liSV_Vx.js";
14
+ import { _ as webAuthExists, i as resolveWhatsAppAccount, l as logoutWeb, p as readWebSelfId } from "./accounts-BrWJjaKS.js";
15
15
  import "./logging-CFvkxgcX.js";
16
- import { i as waitForWaConnection, n as formatError, r as getStatusCode, t as createWaSocket } from "./session-C4iQQHfw.js";
16
+ import { i as waitForWaConnection, n as formatError, r as getStatusCode, t as createWaSocket } from "./session-BO7rj_9P.js";
17
17
  import { randomUUID } from "node:crypto";
18
18
  import { DisconnectReason } from "@whiskeysockets/baileys";
19
19
  import QRCodeModule from "qrcode-terminal/vendor/QRCode/index.js";
@@ -1,9 +1,9 @@
1
1
  import { B as isValidTimeZone, M as colorize, N as isRich, P as theme, y as clearActiveProgressLine, z as formatLocalIsoWithOffset } from "./entry.js";
2
- import "./auth-profiles-CmoHF97e.js";
2
+ import "./auth-profiles-DF0cLC20.js";
3
3
  import { t as formatCliCommand } from "./command-format-C2YuTuPp.js";
4
- import "./agent-scope-D-i-vMLS.js";
4
+ import "./agent-scope-Dany4R2i.js";
5
5
  import "./utils-hiIKrqOK.js";
6
- import "./winclaw-root-D0OUuGl7.js";
6
+ import "./winclaw-root-DEqOOeOw.js";
7
7
  import "./logger-BcqRk323.js";
8
8
  import "./exec-CaapFZaD.js";
9
9
  import "./registry-BcRQUSsJ.js";
@@ -11,16 +11,16 @@ import "./github-copilot-token-DHTToceK.js";
11
11
  import "./host-env-security-CIiLt2Mi.js";
12
12
  import "./version-TiOyTfO4.js";
13
13
  import "./env-vars-CE3cUIrz.js";
14
- import "./manifest-registry-CI-UuKUO.js";
14
+ import "./manifest-registry-_liSV_Vx.js";
15
15
  import "./message-channel-DINJBdD0.js";
16
- import "./client-DCxDsURZ.js";
17
- import { t as buildGatewayConnectionDetails } from "./call-BLyRfBMl.js";
16
+ import "./client-jNFqrgw6.js";
17
+ import { t as buildGatewayConnectionDetails } from "./call-DEKH5GO9.js";
18
18
  import "./pairing-token-CyhEb6Je.js";
19
- import "./net-DQYHvbkN.js";
20
- import "./tailnet-yScEfa2T.js";
19
+ import "./net-C7TXXUto.js";
20
+ import "./tailnet-C4yxhmDk.js";
21
21
  import { t as formatDocsLink } from "./links-Bcv6_maG.js";
22
22
  import "./progress-Dtl-ttAH.js";
23
- import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-Dg3CGljP.js";
23
+ import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-ICMh7-Qs.js";
24
24
  import { t as parseLogLine } from "./parse-log-line-DTl9swsB.js";
25
25
  import { setTimeout } from "node:timers/promises";
26
26
 
@@ -1,18 +1,18 @@
1
1
  import { ot as resolveStateDir, r as isTruthyEnvValue, s as createSubsystemLogger } from "./entry.js";
2
- import { Qr as retryAsync, _i as resolveEnvApiKey, hi as resolveApiKeyForProvider, ji as normalizeOptionalSecretInput, mi as requireApiKey } from "./auth-profiles-CmoHF97e.js";
3
- import { a as resolveAgentDir, i as resolveAgentConfig, u as resolveAgentWorkspaceDir } from "./agent-scope-D-i-vMLS.js";
2
+ import { Qr as retryAsync, _i as resolveEnvApiKey, hi as resolveApiKeyForProvider, ji as normalizeOptionalSecretInput, mi as requireApiKey } from "./auth-profiles-DF0cLC20.js";
3
+ import { a as resolveAgentDir, i as resolveAgentConfig, u as resolveAgentWorkspaceDir } from "./agent-scope-Dany4R2i.js";
4
4
  import { T as truncateUtf16Safe, i as clampNumber, r as clampInt, v as resolveUserPath } from "./utils-hiIKrqOK.js";
5
5
  import { M as normalizeResolvedSecretInputString } from "./registry-BcRQUSsJ.js";
6
6
  import { s as resolveSessionTranscriptsDirForAgent } from "./paths-ByCv35uy.js";
7
7
  import { n as onSessionTranscriptUpdate } from "./transcript-events-ByYgonIF.js";
8
8
  import { r as formatErrorMessage } from "./errors-Dt_4okVn.js";
9
- import { t as fetchWithSsrFGuard } from "./fetch-guard-D-W6TRJN.js";
10
- import { n as executeWithApiKeyRotation, r as parseGeminiAuth, t as collectProviderApiKeysForExecution } from "./api-key-rotation-D_JdsLIl.js";
11
- import { _ as isFileMissingError, a as sessionPathForFile, c as cosineSimilarity, d as isMemoryPath, f as listMemoryFiles, g as runWithConcurrency, h as remapChunkLines, i as listSessionFilesForAgent, l as ensureDir, m as parseEmbedding, n as requireNodeSqlite, o as buildFileEntry, p as normalizeExtraMemoryPaths, r as buildSessionEntry, s as chunkMarkdown, t as extractKeywords, u as hashText, v as statRegularFile } from "./query-expansion-Cja4xprw.js";
9
+ import { t as fetchWithSsrFGuard } from "./fetch-guard-CHht1LfT.js";
10
+ import { n as executeWithApiKeyRotation, r as parseGeminiAuth, t as collectProviderApiKeysForExecution } from "./api-key-rotation-C9ywPLG3.js";
11
+ import { _ as isFileMissingError, a as sessionPathForFile, c as cosineSimilarity, d as isMemoryPath, f as listMemoryFiles, g as runWithConcurrency, h as remapChunkLines, i as listSessionFilesForAgent, l as ensureDir, m as parseEmbedding, n as requireNodeSqlite, o as buildFileEntry, p as normalizeExtraMemoryPaths, r as buildSessionEntry, s as chunkMarkdown, t as extractKeywords, u as hashText, v as statRegularFile } from "./query-expansion-IQFdQdeu.js";
12
12
  import os from "node:os";
13
13
  import path from "node:path";
14
14
  import fs from "node:fs";
15
- import fsPromises from "node:fs/promises";
15
+ import fs$1 from "node:fs/promises";
16
16
  import { randomUUID } from "node:crypto";
17
17
  import chokidar from "chokidar";
18
18
  import { createInterface } from "node:readline";
@@ -1059,7 +1059,7 @@ async function extractTimestamp(params) {
1059
1059
  if (!params.workspaceDir) return null;
1060
1060
  const absolutePath = path.isAbsolute(params.filePath) ? params.filePath : path.resolve(params.workspaceDir, params.filePath);
1061
1061
  try {
1062
- const stat = await fsPromises.stat(absolutePath);
1062
+ const stat = await fs$1.stat(absolutePath);
1063
1063
  if (!Number.isFinite(stat.mtimeMs)) return null;
1064
1064
  return new Date(stat.mtimeMs);
1065
1065
  } catch {
@@ -2220,7 +2220,7 @@ var MemoryManagerSyncOps = class {
2220
2220
  const source = `${sourceBase}${suffix}`;
2221
2221
  const target = `${targetBase}${suffix}`;
2222
2222
  try {
2223
- await fsPromises.rename(source, target);
2223
+ await fs$1.rename(source, target);
2224
2224
  } catch (err) {
2225
2225
  if (err.code !== "ENOENT") throw err;
2226
2226
  }
@@ -2231,7 +2231,7 @@ var MemoryManagerSyncOps = class {
2231
2231
  "",
2232
2232
  "-wal",
2233
2233
  "-shm"
2234
- ].map((suffix) => fsPromises.rm(`${basePath}${suffix}`, { force: true })));
2234
+ ].map((suffix) => fs$1.rm(`${basePath}${suffix}`, { force: true })));
2235
2235
  }
2236
2236
  ensureSchema() {
2237
2237
  const result = ensureMemoryIndexSchema({
@@ -2326,7 +2326,7 @@ var MemoryManagerSyncOps = class {
2326
2326
  if (!thresholds) return null;
2327
2327
  let stat;
2328
2328
  try {
2329
- stat = await fsPromises.stat(sessionFile);
2329
+ stat = await fs$1.stat(sessionFile);
2330
2330
  } catch {
2331
2331
  return null;
2332
2332
  }
@@ -2368,7 +2368,7 @@ var MemoryManagerSyncOps = class {
2368
2368
  if (end <= start) return 0;
2369
2369
  let handle;
2370
2370
  try {
2371
- handle = await fsPromises.open(absPath, "r");
2371
+ handle = await fs$1.open(absPath, "r");
2372
2372
  } catch (err) {
2373
2373
  if (isFileMissingError(err)) return 0;
2374
2374
  throw err;
@@ -3311,7 +3311,7 @@ var MemoryManagerEmbeddingOps = class extends MemoryManagerSyncOps {
3311
3311
  });
3312
3312
  return;
3313
3313
  }
3314
- const content = options.content ?? await fsPromises.readFile(entry.absPath, "utf-8");
3314
+ const content = options.content ?? await fs$1.readFile(entry.absPath, "utf-8");
3315
3315
  const chunks = enforceEmbeddingMaxInputTokens(this.provider, chunkMarkdown(content, this.settings.chunking).filter((chunk) => chunk.text.trim().length > 0), EMBEDDING_BATCH_MAX_TOKENS);
3316
3316
  if (options.source === "sessions" && "lineMap" in entry) remapChunkLines(chunks, entry.lineMap);
3317
3317
  const embeddings = this.batch.enabled ? await this.embedChunksWithBatch(chunks, entry, options.source) : await this.embedChunksInBatches(chunks);
@@ -3729,7 +3729,7 @@ var MemoryIndexManager = class MemoryIndexManager extends MemoryManagerEmbedding
3729
3729
  if (!allowedWorkspace && this.settings.extraPaths.length > 0) {
3730
3730
  const additionalPaths = normalizeExtraMemoryPaths(this.workspaceDir, this.settings.extraPaths);
3731
3731
  for (const additionalPath of additionalPaths) try {
3732
- const stat = await fsPromises.lstat(additionalPath);
3732
+ const stat = await fs$1.lstat(additionalPath);
3733
3733
  if (stat.isSymbolicLink()) continue;
3734
3734
  if (stat.isDirectory()) {
3735
3735
  if (absPath === additionalPath || absPath.startsWith(`${additionalPath}${path.sep}`)) {
@@ -3754,7 +3754,7 @@ var MemoryIndexManager = class MemoryIndexManager extends MemoryManagerEmbedding
3754
3754
  };
3755
3755
  let content;
3756
3756
  try {
3757
- content = await fsPromises.readFile(absPath, "utf-8");
3757
+ content = await fs$1.readFile(absPath, "utf-8");
3758
3758
  } catch (err) {
3759
3759
  if (isFileMissingError(err)) return {
3760
3760
  text: "",
@@ -0,0 +1,22 @@
1
+ import "./auth-profiles-DF0cLC20.js";
2
+ import "./agent-scope-Dany4R2i.js";
3
+ import "./utils-hiIKrqOK.js";
4
+ import "./winclaw-root-DEqOOeOw.js";
5
+ import "./logger-BcqRk323.js";
6
+ import "./exec-CaapFZaD.js";
7
+ import "./registry-BcRQUSsJ.js";
8
+ import "./github-copilot-token-DHTToceK.js";
9
+ import "./host-env-security-CIiLt2Mi.js";
10
+ import "./version-TiOyTfO4.js";
11
+ import "./env-vars-CE3cUIrz.js";
12
+ import "./manifest-registry-_liSV_Vx.js";
13
+ import "./paths-ByCv35uy.js";
14
+ import "./redact-D1OBirZT.js";
15
+ import "./errors-Dt_4okVn.js";
16
+ import "./proxy-env-Bx8OhutV.js";
17
+ import "./fetch-guard-CHht1LfT.js";
18
+ import "./api-key-rotation-C9ywPLG3.js";
19
+ import { t as MemoryIndexManager } from "./manager-2Wice7pq.js";
20
+ import "./query-expansion-IQFdQdeu.js";
21
+
22
+ export { MemoryIndexManager };
@@ -1,5 +1,5 @@
1
1
  import { h as resolveConfigDir, u as isRecord, v as resolveUserPath } from "./utils-hiIKrqOK.js";
2
- import { a as openBoundaryFileSync, p as isPathInside$1 } from "./winclaw-root-D0OUuGl7.js";
2
+ import { a as openBoundaryFileSync, p as isPathInside$1 } from "./winclaw-root-DEqOOeOw.js";
3
3
  import { l as normalizeChatChannelId } from "./registry-BcRQUSsJ.js";
4
4
  import { n as MANIFEST_KEY } from "./legacy-names-DfPyDvWW.js";
5
5
  import { fileURLToPath } from "node:url";
@@ -1,12 +1,12 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { M as colorize, N as isRich, O as setVerbose, P as theme, _ as defaultRuntime, ot as resolveStateDir, s as createSubsystemLogger } from "./entry.js";
3
- import { Cn as splitShellArgs, pt as parseDurationMs, z as loadConfig } from "./auth-profiles-CmoHF97e.js";
4
- import { d as resolveDefaultAgentId, u as resolveAgentWorkspaceDir } from "./agent-scope-D-i-vMLS.js";
3
+ import { Cn as splitShellArgs, pt as parseDurationMs, z as loadConfig } from "./auth-profiles-DF0cLC20.js";
4
+ import { d as resolveDefaultAgentId, u as resolveAgentWorkspaceDir } from "./agent-scope-Dany4R2i.js";
5
5
  import { b as shortenHomeInString, v as resolveUserPath, x as shortenHomePath } from "./utils-hiIKrqOK.js";
6
6
  import { s as resolveSessionTranscriptsDirForAgent } from "./paths-ByCv35uy.js";
7
7
  import { r as formatErrorMessage } from "./errors-Dt_4okVn.js";
8
- import { r as getMemoryCommandSecretTargetIds, s as resolveCommandSecretRefsViaGateway } from "./command-secret-targets-BfqkoJyp.js";
9
- import { f as listMemoryFiles, p as normalizeExtraMemoryPaths } from "./query-expansion-Cja4xprw.js";
8
+ import { r as getMemoryCommandSecretTargetIds, s as resolveCommandSecretRefsViaGateway } from "./command-secret-targets-Dd4qCPSg.js";
9
+ import { f as listMemoryFiles, p as normalizeExtraMemoryPaths } from "./query-expansion-IQFdQdeu.js";
10
10
  import { t as formatDocsLink } from "./links-Bcv6_maG.js";
11
11
  import { r as withManager } from "./cli-utils-BlpNlYVq.js";
12
12
  import { t as formatHelpExamples } from "./help-format-DqamOwoM.js";
@@ -14,7 +14,7 @@ import { n as withProgress, r as withProgressTotals } from "./progress-Dtl-ttAH.
14
14
  import os from "node:os";
15
15
  import path from "node:path";
16
16
  import fs from "node:fs";
17
- import fsPromises from "node:fs/promises";
17
+ import fs$1 from "node:fs/promises";
18
18
 
19
19
  //#region src/memory/backend-config.ts
20
20
  const DEFAULT_BACKEND = "builtin";
@@ -218,7 +218,7 @@ const log = createSubsystemLogger("memory");
218
218
  const QMD_MANAGER_CACHE = /* @__PURE__ */ new Map();
219
219
  let managerRuntimePromise = null;
220
220
  function loadManagerRuntime() {
221
- managerRuntimePromise ??= import("./manager-runtime-BifbXCuI.js");
221
+ managerRuntimePromise ??= import("./manager-runtime-BrpO8pJp.js");
222
222
  return managerRuntimePromise;
223
223
  }
224
224
  async function getMemorySearchManager(params) {
@@ -232,7 +232,7 @@ async function getMemorySearchManager(params) {
232
232
  if (cached) return { manager: cached };
233
233
  }
234
234
  try {
235
- const { QmdMemoryManager } = await import("./qmd-manager-oU4X85hj.js");
235
+ const { QmdMemoryManager } = await import("./qmd-manager-COHJs6wn.js");
236
236
  const primary = await QmdMemoryManager.create({
237
237
  cfg: params.cfg,
238
238
  agentId: params.agentId,
@@ -450,7 +450,7 @@ async function withMemoryManagerForAgent(params) {
450
450
  }
451
451
  async function checkReadableFile(pathname) {
452
452
  try {
453
- await fsPromises.access(pathname, fs.constants.R_OK);
453
+ await fs$1.access(pathname, fs.constants.R_OK);
454
454
  return { exists: true };
455
455
  } catch (err) {
456
456
  const code = err.code;
@@ -467,7 +467,7 @@ async function scanSessionFiles(agentId) {
467
467
  try {
468
468
  return {
469
469
  source: "sessions",
470
- totalFiles: (await fsPromises.readdir(sessionsDir, { withFileTypes: true })).filter((entry) => entry.isFile() && entry.name.endsWith(".jsonl")).length,
470
+ totalFiles: (await fs$1.readdir(sessionsDir, { withFileTypes: true })).filter((entry) => entry.isFile() && entry.name.endsWith(".jsonl")).length,
471
471
  issues
472
472
  };
473
473
  } catch (err) {
@@ -499,7 +499,7 @@ async function scanMemoryFiles(workspaceDir, extraPaths = []) {
499
499
  if (alt.issue) issues.push(alt.issue);
500
500
  const resolvedExtraPaths = normalizeExtraMemoryPaths(workspaceDir, extraPaths);
501
501
  for (const extraPath of resolvedExtraPaths) try {
502
- if ((await fsPromises.lstat(extraPath)).isSymbolicLink()) continue;
502
+ if ((await fs$1.lstat(extraPath)).isSymbolicLink()) continue;
503
503
  const extraCheck = await checkReadableFile(extraPath);
504
504
  if (extraCheck.issue) issues.push(extraCheck.issue);
505
505
  } catch (err) {
@@ -509,7 +509,7 @@ async function scanMemoryFiles(workspaceDir, extraPaths = []) {
509
509
  }
510
510
  let dirReadable = null;
511
511
  try {
512
- await fsPromises.access(memoryDir, fs.constants.R_OK);
512
+ await fs$1.access(memoryDir, fs.constants.R_OK);
513
513
  dirReadable = true;
514
514
  } catch (err) {
515
515
  const code = err.code;
@@ -557,7 +557,7 @@ async function summarizeQmdIndexArtifact(manager) {
557
557
  if (!dbPath) return null;
558
558
  let stat;
559
559
  try {
560
- stat = await fsPromises.stat(dbPath);
560
+ stat = await fs$1.stat(dbPath);
561
561
  } catch (err) {
562
562
  const code = err.code;
563
563
  if (code === "ENOENT") throw new Error(`QMD index file not found: ${shortenHomePath(dbPath)}`, { cause: err });