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.
- package/dist/{accounts-CTJXIABG.js → accounts-8qwgz384.js} +1 -1
- package/dist/{accounts-CLKFSM00.js → accounts-BpS-Awr5.js} +1 -1
- package/dist/{accounts-cYG8442L.js → accounts-BrWJjaKS.js} +7 -7
- package/dist/{acp-cli-BbN2vTHD.js → acp-cli-BMM5ssNE.js} +8 -8
- package/dist/{agent-scope-D-i-vMLS.js → agent-scope-Dany4R2i.js} +17 -17
- package/dist/{agents-_gcdm-kb.js → agents-AMH_Bmb6.js} +14 -14
- package/dist/{agents.config-BkgsJJng.js → agents.config-6n_jmCMa.js} +2 -2
- package/dist/{api-key-rotation-D_JdsLIl.js → api-key-rotation-C9ywPLG3.js} +1 -1
- package/dist/{audio-preflight-CdgtLVh2.js → audio-preflight-D7UvXGlQ.js} +34 -34
- package/dist/{audio-preflight-CBWXmKyj.js → audio-preflight-DHeEYciJ.js} +4 -4
- package/dist/{audio-transcription-runner-DpvjaNmr.js → audio-transcription-runner-1-9PFrzh.js} +1 -1
- package/dist/{audio-transcription-runner-DGZYB2Wq.js → audio-transcription-runner-nnwJufig.js} +23 -23
- package/dist/{audit-DdcsBl_-.js → audit-DV_kf1sd.js} +29 -29
- package/dist/{auth-CU4HqNch.js → auth-Ahj-1B5R.js} +1 -1
- package/dist/{auth-choice-CtzD_rrW.js → auth-choice-NjkwJsBG.js} +13 -13
- package/dist/{auth-choice-i771W71t.js → auth-choice-dFTD1hLR.js} +11 -11
- package/dist/{auth-choice.apply-helpers-Bmj9LZnO.js → auth-choice.apply-helpers-ClzwLPaB.js} +1 -1
- package/dist/{auth-profiles-CmoHF97e.js → auth-profiles-DF0cLC20.js} +16 -16
- package/dist/{auth-token-C_S_Uszj.js → auth-token-BXCBtI3p.js} +1 -1
- package/dist/{banner-C-01b-if.js → banner-BB4DFL8E.js} +2 -2
- package/dist/{bonjour-discovery-BxCVyJLG.js → bonjour-discovery-BVSpbdjs.js} +1 -1
- package/dist/{browser-cli-Rt_P1-M1.js → browser-cli-DAcccrxR.js} +12 -12
- package/dist/build-info.json +2 -2
- package/dist/bundled/boot-md/handler.js +6 -6
- package/dist/bundled/session-memory/handler.js +6 -6
- package/dist/{call-BLyRfBMl.js → call-DEKH5GO9.js} +10 -10
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-account-context-B4ofKr9t.js → channel-account-context-D4Yftz20.js} +5 -5
- package/dist/{channel-activity-CPWF8YR5.js → channel-activity-D03SwGPA.js} +1 -1
- package/dist/{channel-options-it9Z3dNk.js → channel-options-C7dYNZsy.js} +3 -3
- package/dist/{channel-selection-5G2iw3CB.js → channel-selection-Bke39fer.js} +1 -1
- package/dist/{channel-web-CJ_jcZSw.js → channel-web-BOrAGcza.js} +17 -17
- package/dist/{channels-cli-miFqkj2-.js → channels-cli-4YLI7Ar_.js} +93 -93
- package/dist/{channels-status-issues-DpfEWI4l.js → channels-status-issues-wCgCdUDu.js} +1 -1
- package/dist/{chrome-RAfAR4xV.js → chrome-BDFA9lPV.js} +4 -4
- package/dist/{chrome-GsaZ074n.js → chrome-Cr8R7xl_.js} +8 -8
- package/dist/{clawbot-cli-HvFYYAc6.js → clawbot-cli-B96xAtzs.js} +11 -11
- package/dist/cli/daemon-cli.js +1 -1
- package/dist/cli-BozE7JCS.js +154 -0
- package/dist/{client-DCxDsURZ.js → client-jNFqrgw6.js} +2 -2
- package/dist/{command-registry-m8nfRV-J.js → command-registry-qDpes5Yr.js} +11 -11
- package/dist/{command-secret-targets-BfqkoJyp.js → command-secret-targets-Dd4qCPSg.js} +4 -4
- package/dist/{commands-4mnxaSoA.js → commands-DmBkhPD-.js} +1 -1
- package/dist/{commands-registry-h5KiQe_S.js → commands-registry-BB289Bg8.js} +3 -3
- package/dist/{completion-cli-B-8mTxbh.js → completion-cli-DzZieT3i.js} +13 -13
- package/dist/{config-cli-1ecjxVfC.js → config-cli-Dk1yc6M9.js} +7 -7
- package/dist/{config-guard-DlzKrdcR.js → config-guard-3fwTO4Mb.js} +3 -3
- package/dist/{config-validation-E-3Wz4C4.js → config-validation-5pIaju5U.js} +3 -3
- package/dist/{configure-B-tOY-wa.js → configure-CuqZCxTb.js} +17 -17
- package/dist/{control-ui-assets-B0DdamQU.js → control-ui-assets-5F0FEjfM.js} +1 -1
- package/dist/{cron-cli-DpVGzupl.js → cron-cli-BIa0VxDk.js} +11 -11
- package/dist/{daemon-cli-CqwUFobu.js → daemon-cli-BE11O7QX.js} +16 -16
- package/dist/{daemon-install-C029NlXk.js → daemon-install-DNhR8NtL.js} +4 -4
- package/dist/{daemon-install-helpers-D1YQ03lO.js → daemon-install-helpers-DWmF3oFP.js} +11 -11
- package/dist/{deliver-BX-UVg7x.js → deliver-CqiBzHnh.js} +7 -7
- package/dist/{deliver-CtyrAYix.js → deliver-r4_Yp7-C.js} +1 -1
- package/dist/{deliver-runtime-Bvh4te8E.js → deliver-runtime-CIXUsI5k.js} +3 -3
- package/dist/deliver-runtime-DJsAB9LW.js +57 -0
- package/dist/deps-send-discord.runtime-M8Cl0fms.js +32 -0
- package/dist/deps-send-imessage.runtime-Bing_Bvm.js +31 -0
- package/dist/deps-send-signal.runtime-CEnhoskG.js +30 -0
- package/dist/deps-send-slack.runtime-DeKWrOdA.js +28 -0
- package/dist/deps-send-telegram.runtime-K5LxxPog.js +34 -0
- package/dist/{deps-send-whatsapp.runtime-BJV7VcRP.js → deps-send-whatsapp.runtime-BXDQiU2D.js} +7 -7
- package/dist/deps-send-whatsapp.runtime-Cie2nrT8.js +115 -0
- package/dist/{devices-cli-Cpq_Gt1l.js → devices-cli-BJgUG9fc.js} +8 -8
- package/dist/{diagnostic-DIPYflOJ.js → diagnostic-BCcd-_zI.js} +1 -1
- package/dist/{diagnostics-KfpqzhsS.js → diagnostics-BDjbQJxP.js} +5 -5
- package/dist/{directory-cli-CPBPE8N1.js → directory-cli-CJ_l_BnF.js} +7 -7
- package/dist/{dns-cli-CI7HzCVI.js → dns-cli-CFau82Y7.js} +5 -5
- package/dist/{dock-ClcGZ0LV.js → dock-C-w5XvOS.js} +4 -4
- package/dist/{docs-cli-DkQBHXw-.js → docs-cli-BRob5CHm.js} +4 -4
- package/dist/{doctor-completion-DEdT-_9v.js → doctor-completion-DB39JNV7.js} +2 -2
- package/dist/{doctor-config-flow-D6rEqOwb.js → doctor-config-flow-BzYwmYwv.js} +15 -15
- package/dist/{enable-sRe0nI5a.js → enable-Qw-mz6ta.js} +1 -1
- package/dist/entry.js +2 -2
- package/dist/{exec-approvals-allowlist-B5ZdMbz6.js → exec-approvals-allowlist-BkdJCc3F.js} +1 -1
- package/dist/{exec-approvals-cli-BFxdGk9c.js → exec-approvals-cli-DsDGgzyV.js} +16 -16
- package/dist/{exec-safe-bin-runtime-policy-CB8atBLm.js → exec-safe-bin-runtime-policy-C5pAgyiz.js} +2 -2
- package/dist/{fetch-CdvuNDFE.js → fetch-BwrGQrFL.js} +3 -3
- package/dist/{fetch-guard-D-W6TRJN.js → fetch-guard-CHht1LfT.js} +1 -1
- package/dist/{plugin-sdk/fs-safe-DRACrdwg.js → fs-safe-B8J4dv27.js} +6 -6
- package/dist/{gateway-cli-C_4mlmOW.js → gateway-cli-BdyXCC2C.js} +154 -154
- package/dist/{gateway-rpc-Dg3CGljP.js → gateway-rpc-ICMh7-Qs.js} +1 -1
- package/dist/{health-C5a0wlfE.js → health-Boe965-L.js} +11 -11
- package/dist/{hooks-cli-C79J_WG7.js → hooks-cli-DI0sn396.js} +81 -81
- package/dist/{hooks-status-Cjg5SLpX.js → hooks-status-CQjtRM1s.js} +1 -1
- package/dist/{image-7s8Q2r40.js → image-DoOVDHql.js} +1 -1
- package/dist/{image-EjGWXbei.js → image-Dpt9TurJ.js} +5 -5
- package/dist/{image-ops-eFMqXMDE.js → image-ops-DWGnyTvC.js} +10 -10
- package/dist/image-runtime-HfAsK5X3.js +51 -0
- package/dist/{image-runtime-QNP_uABR.js → image-runtime-Wym8Keh3.js} +3 -3
- package/dist/{inspect-XmcWN97u.js → inspect-DbVcDDi7.js} +4 -4
- package/dist/{install-safe-path-DNotGe9T.js → install-safe-path-FR9r9Dmi.js} +25 -25
- package/dist/{installs-zKF10nZF.js → installs-7zsfIb7P.js} +9 -9
- package/dist/{ipv4-DIKCnoyz.js → ipv4-CfrDjvjo.js} +1 -1
- package/dist/{ir-CJPPU4LU.js → ir-B-FffSKU.js} +8 -8
- package/dist/{issue-format-DCF2SXK_.js → issue-format-NmLUfbBT.js} +1 -1
- package/dist/{json-files-kWpauJWO.js → json-files-D9ZHO8Ud.js} +8 -8
- package/dist/{lifecycle-core-BLhI5nRz.js → lifecycle-core-Di83_FGS.js} +5 -5
- package/dist/llm-slug-generator.js +6 -6
- package/dist/{login-D26qK4NQ.js → login-BrdFlfV0.js} +3 -3
- package/dist/{login-qr-CMgMlRCI.js → login-qr-Ci3FVgS9.js} +6 -6
- package/dist/{logs-cli-Cn7bGSc7.js → logs-cli-DUl4D14l.js} +9 -9
- package/dist/{manager-f6tniCBN.js → manager-2Wice7pq.js} +14 -14
- package/dist/manager-runtime-BrpO8pJp.js +22 -0
- package/dist/{manifest-registry-CI-UuKUO.js → manifest-registry-_liSV_Vx.js} +1 -1
- package/dist/{memory-cli-C2Yq9ryD.js → memory-cli-BgZK6A-T.js} +12 -12
- package/dist/{model-CXGHDOeN.js → model-C4J88Gi3.js} +2 -2
- package/dist/{model-catalog-08ftNXDk.js → model-catalog-BYxSwIkt.js} +3 -3
- package/dist/{model-picker-CTRi5Yhj.js → model-picker-DAr8DpKu.js} +4 -4
- package/dist/{models-Do96D4zT.js → models-DqwqcGxg.js} +17 -17
- package/dist/{models-cli-pblTciC_.js → models-cli-BFfUYhHp.js} +78 -78
- package/dist/{models-config-DYJ-p9kt.js → models-config-CJq2ywhf.js} +6 -6
- package/dist/{net-DQYHvbkN.js → net-C7TXXUto.js} +2 -2
- package/dist/{node-cli-CsQwAHzH.js → node-cli-DMpZsjse.js} +33 -33
- package/dist/{node-command-policy-BHdicfMO.js → node-command-policy-DGMJi4xw.js} +1 -1
- package/dist/{node-service-CLtiUeNO.js → node-service-L9-L8-7x.js} +1 -1
- package/dist/{nodes-cli-Dlilj-Pf.js → nodes-cli-BcyY77Cc.js} +16 -16
- package/dist/{nodes-screen-CL-8raxt.js → nodes-screen-B6QVlwKO.js} +7 -7
- package/dist/{npm-pack-install-DZvYhRnM.js → npm-pack-install-B3VCcNWC.js} +18 -18
- package/dist/{npm-resolution-DE7xcGkg.js → npm-resolution-0-Scs5nn.js} +4 -4
- package/dist/{onboard-CReGZ3G9.js → onboard-C9gtA3_b.js} +6 -6
- package/dist/{onboard-channels-ljMkIe7O.js → onboard-channels-NBqfiIc3.js} +21 -21
- package/dist/{onboard-custom-DoJDTzAW.js → onboard-custom-Cv61U_sa.js} +4 -4
- package/dist/{onboard-helpers-7lOdCHhD.js → onboard-helpers-Djj9SkyR.js} +10 -10
- package/dist/{onboard-hooks-BTD0YhRI.js → onboard-hooks-DRkLf5gL.js} +4 -4
- package/dist/{onboard-remote-Bj9uk3zW.js → onboard-remote-o8XtWCa_.js} +4 -4
- package/dist/{onboard-skills-1KAA9UrK.js → onboard-skills-TATKa-gc.js} +4 -4
- package/dist/{onboarding-CoH1hPY0.js → onboarding-C_LQ6doG.js} +14 -14
- package/dist/{onboarding.finalize-DzRWtkmA.js → onboarding.finalize-uHWzNBrm.js} +87 -87
- package/dist/{onboarding.gateway-config-s11ZLxLE.js → onboarding.gateway-config-ByvXJY2k.js} +18 -18
- package/dist/{onboarding.secret-input-D5VKqHdN.js → onboarding.secret-input-Cw4uIgyl.js} +1 -1
- package/dist/{openai-model-default-sYh2slgj.js → openai-model-default-Db9joqm4.js} +2 -2
- package/dist/{outbound-D0KF3CHY.js → outbound-DgsIsXfj.js} +3 -3
- package/dist/{outbound-attachment-CEC4H3tX.js → outbound-attachment-CjhkSZBR.js} +2 -2
- package/dist/{pairing-cli-4Nrc-V_v.js → pairing-cli-D0KKynjI.js} +8 -8
- package/dist/{pairing-labels-e3Pnen1C.js → pairing-labels-Ev8O2qBX.js} +1 -1
- package/dist/{pairing-store-Kslw_Wa0.js → pairing-store-CI0hWzZk.js} +3 -3
- package/dist/{plugin-sdk/path-alias-guards-CaCBZRHc.js → path-alias-guards-BoydiaPL.js} +1 -1
- package/dist/{path-safety-Cq9rwfZN.js → path-safety-CSCsbd-j.js} +1 -1
- package/dist/{paths-C5mR1YC-.js → paths-BVQ0udwc.js} +9 -9
- package/dist/{pi-embedded-DUO1eQ_J.js → pi-embedded-CD3oPGOP.js} +24 -24
- package/dist/{pi-embedded-helpers-BWpzwT6B.js → pi-embedded-helpers-Be8qWeKb.js} +6 -6
- package/dist/{pi-embedded-helpers-BMGRFCuV.js → pi-embedded-helpers-BthBxPYi.js} +3 -3
- package/dist/{pi-model-discovery-CibSv4gC.js → pi-model-discovery-CgxnCHvU.js} +1 -1
- package/dist/{pi-model-discovery-runtime-DhBE8w94.js → pi-model-discovery-runtime-CqYOz48r.js} +5 -5
- package/dist/{pi-tools.before-tool-call.runtime-D6h4CmLs.js → pi-tools.before-tool-call.runtime-CPnt06zM.js} +5 -5
- package/dist/{pi-tools.policy-BqpmC_c4.js → pi-tools.policy-DGbCC2Ji.js} +5 -5
- package/dist/{plugin-auto-enable-DnSZLbIH.js → plugin-auto-enable-Crpu18wt.js} +3 -3
- package/dist/{plugin-registry-DckyegZB.js → plugin-registry-Dbu4pN4B.js} +3 -3
- package/dist/plugin-sdk/imessage.js +2 -2
- package/dist/plugin-sdk/index.js +50 -50
- package/dist/plugin-sdk/mattermost.js +3 -3
- package/dist/plugin-sdk/signal.js +2 -2
- package/dist/plugin-sdk/telegram.js +2 -2
- package/dist/{plugins-C1OgLvb4.js → plugins-IFacUN_Q.js} +2 -2
- package/dist/{plugins-cli-C6Oo9R6E.js → plugins-cli-CCpaWcyg.js} +83 -83
- package/dist/{ports-CfOim1GC.js → ports-DqZBwUsy.js} +2 -2
- package/dist/{ports-Dw-3Gxsb.js → ports-FLn4cVl7.js} +1 -1
- package/dist/{probe-D3f6QMfy.js → probe-CHRXpP2F.js} +2 -2
- package/dist/{program-CEJ6CsoR.js → program-Br4Re78f.js} +81 -81
- package/dist/{prompt-select-styled-D-f3R2mt.js → prompt-select-styled-w-CGGgrT.js} +40 -40
- package/dist/{provider-auth-helpers-CN4iPBfs.js → provider-auth-helpers-BVCos07y.js} +5 -5
- package/dist/{proxy-env-B7GwrH5p.js → proxy-env-Bx8OhutV.js} +1 -1
- package/dist/{push-apns-BEZdCQsM.js → push-apns-Cdl2nskU.js} +5 -5
- package/dist/{pw-ai-Ckb-165q.js → pw-ai-BpQw305H.js} +18 -18
- package/dist/{pw-ai-D6e8FGb0.js → pw-ai-CJfoHUhH.js} +1 -1
- package/dist/{plugin-sdk/qmd-manager-JiY1T3wh.js → qmd-manager-COHJs6wn.js} +15 -11
- package/dist/{qr-cli-BI54tdt3.js → qr-cli-Bzo00_vR.js} +2 -2
- package/dist/{query-expansion-Cja4xprw.js → query-expansion-IQFdQdeu.js} +12 -12
- package/dist/{redact-snapshot-YrAxVxTI.js → redact-snapshot-Bfefch_D.js} +1 -1
- package/dist/{register.agent-BjxrirHi.js → register.agent-CVpohSrc.js} +94 -94
- package/dist/register.configure-CiIuig3f.js +162 -0
- package/dist/{register.maintenance-BfdiJ7KX.js → register.maintenance-CpVfbR8z.js} +95 -95
- package/dist/{register.message-BszoJEBm.js → register.message-CJErVRcL.js} +74 -74
- package/dist/{register.onboard-CbJU4Y-3.js → register.onboard-Cm5fn9dF.js} +18 -18
- package/dist/{register.setup-BTTBsCT0.js → register.setup-DIBDbMN8.js} +21 -21
- package/dist/{register.status-health-sessions-C3Ji8sqv.js → register.status-health-sessions-Bu3abDYw.js} +89 -89
- package/dist/{register.subclis-2iN-TxPh.js → register.subclis-DTiQUgvr.js} +31 -31
- package/dist/{rpc-4GcuaLHq.js → rpc-CkwrblZ9.js} +1 -1
- package/dist/{run-main-BEtPk_9z.js → run-main-4p7ridqP.js} +92 -92
- package/dist/{runtime-4RU4PT-H.js → runtime-C-9xWVep.js} +3 -3
- package/dist/{runtime-config-collectors-Ca2llf68.js → runtime-config-collectors-vw9ITu9W.js} +1 -1
- package/dist/{runtime-whatsapp-login.runtime-DOTrH3Wz.js → runtime-whatsapp-login.runtime-CrytFUOh.js} +7 -7
- package/dist/runtime-whatsapp-outbound.runtime-DOHkvY0R.js +28 -0
- package/dist/{sandbox-D19lOCVP.js → sandbox-CDjV0Crv.js} +18 -18
- package/dist/{sandbox-cli-DAZxiFQz.js → sandbox-cli-CyS9Kzp1.js} +25 -25
- package/dist/{secrets-cli-Bd2eDDOJ.js → secrets-cli-BPXW13bC.js} +11 -11
- package/dist/{security-cli-C6oO69to.js → security-cli-DfuX1PAw.js} +43 -43
- package/dist/{send-DR5zNR-6.js → send-BTQQeOIu.js} +6 -6
- package/dist/{send-3vnK2por.js → send-CFsJh6px.js} +11 -11
- package/dist/{send-DTvtOsK3.js → send-CM55Cnqy.js} +4 -4
- package/dist/{send-Bz5LPBFx.js → send-D7wKzeqg.js} +8 -8
- package/dist/{send-CEgqE2b1.js → send-DUJqLDEQ.js} +5 -5
- package/dist/{server-vPpafyBR.js → server-57rjxu9J.js} +20 -20
- package/dist/{server-context-FT_S05Zu.js → server-context-DdGwcBos.js} +12 -12
- package/dist/{server-lifecycle-YV61YmRr.js → server-lifecycle-TD7uRUJM.js} +2 -2
- package/dist/{server-middleware-BPI-0Duw.js → server-middleware-Dqzu_N47.js} +1 -1
- package/dist/{server-node-events-BozhXo6J.js → server-node-events-CstHr-4q.js} +74 -74
- package/dist/{service-Aratsspm.js → service-B45ntxm9.js} +15 -15
- package/dist/{session-C4iQQHfw.js → session-BO7rj_9P.js} +1 -1
- package/dist/{session-utils-CTpXGSxL.js → session-utils-DqzU9P2d.js} +6 -6
- package/dist/{sessions-CZvR93mC.js → sessions-BPbCt7hk.js} +4 -4
- package/dist/{sessions-Cvvux3S6.js → sessions-BUNwVEqF.js} +15 -15
- package/dist/{shared-ByZODVse.js → shared-CeHWQzSU.js} +3 -3
- package/dist/{shared-Cj-SPh02.js → shared-CpqkgNHp.js} +1 -1
- package/dist/{skill-commands-CzaT61kL.js → skill-commands-BlmjGaIe.js} +5 -5
- package/dist/{skill-scanner-DqqhF5of.js → skill-scanner-DOOfjrYo.js} +6 -6
- package/dist/{skills-BpN5EUZU.js → skills-CFYm0xdh.js} +3 -3
- package/dist/{skills-cli-Bk2WM5gn.js → skills-cli-Dmbm2-L8.js} +5 -5
- package/dist/{skills-install-0pjIZu1-.js → skills-install-DSB3T8VY.js} +6 -6
- package/dist/{skills-status-Bu28FGtt.js → skills-status-CmWpjTMz.js} +1 -1
- package/dist/{slash-commands.runtime-CU--cvcd.js → slash-commands.runtime-CTVGYo20.js} +11 -11
- package/dist/{slash-dispatch.runtime-DDLolsGY.js → slash-dispatch.runtime-CQmhrE1-.js} +6 -6
- package/dist/slash-dispatch.runtime-yKnwVCI5.js +110 -0
- package/dist/slash-skill-commands.runtime-BCG9eUm1.js +29 -0
- package/dist/{status-B5hylgEQ.js → status-DPFQHdBI.js} +28 -28
- package/dist/{status.update-CdaaXiD4.js → status.update-ZhDibzTU.js} +2 -2
- package/dist/{store-LSg8jeyh.js → store-Dgl-neCe.js} +5 -5
- package/dist/{subagent-registry-iD-ynHA9.js → subagent-registry-DPqc72Pw.js} +149 -149
- package/dist/{subagent-registry-runtime-DfMDVaOY.js → subagent-registry-runtime-BYxLgcCY.js} +6 -6
- package/dist/subagent-registry-runtime-DE-5902Y.js +110 -0
- package/dist/{system-cli-B8wmT3y0.js → system-cli-BiiO_z6k.js} +9 -9
- package/dist/{system-run-command-Ft0meR8i.js → system-run-command-CUMrwy8H.js} +1 -1
- package/dist/{systemd-CVY4-XuL.js → systemd-BNMfPHLS.js} +9 -9
- package/dist/{systemd-hints-GPX9Y1X7.js → systemd-hints-O9SJa5Ku.js} +6 -6
- package/dist/{systemd-linger-CyioH9ho.js → systemd-linger-CDgtOmPf.js} +1 -1
- package/dist/{tables-B6p8P9wY.js → tables-Bjpb4vEC.js} +1 -1
- package/dist/{tailnet-yScEfa2T.js → tailnet-C4yxhmDk.js} +1 -1
- package/dist/{plugin-sdk/target-errors-Hoj2qirZ.js → target-errors-Bd8kj4z9.js} +2 -2
- package/dist/{tool-images-Cp3hNFNZ.js → tool-images-DbchBdq5.js} +1 -1
- package/dist/{tui-BPqNtl51.js → tui-BVOPPCMP.js} +6 -6
- package/dist/{tui-cli-BZE2zssw.js → tui-cli-B2jmEXCo.js} +32 -32
- package/dist/{update-u6OtnABh.js → update-DF240Zd0.js} +3 -3
- package/dist/{update-cli-C1nysDmM.js → update-cli-PDG-KYWB.js} +105 -105
- package/dist/{update-runner-BpzbDTnQ.js → update-runner-BkpGT3AA.js} +16 -16
- package/dist/{web-CodV11ZY.js → web-0SOsmYmI.js} +6 -6
- package/dist/web-20qjCzeI.js +114 -0
- package/dist/{webhooks-cli-D4O_OfXU.js → webhooks-cli-N_vV0iXR.js} +6 -6
- package/dist/{whatsapp-actions-By2rV868.js → whatsapp-actions-X768ziyc.js} +17 -17
- package/dist/{winclaw-root-D0OUuGl7.js → winclaw-root-DEqOOeOw.js} +8 -8
- package/dist/{with-timeout-Cng0KnPd.js → with-timeout-DJb5ULbL.js} +3 -3
- package/dist/{workspace-vYy4qLQz.js → workspace-Cx-f7PO5.js} +1 -1
- package/dist/{workspace-dirs-C13vnqQQ.js → workspace-dirs-C5erYAob.js} +1 -1
- package/dist/{wsl-C9d12M7y.js → wsl-BisEqrSr.js} +2 -2
- package/package.json +1 -1
- package/dist/cli-Da0pNyXg.js +0 -154
- package/dist/deliver-runtime-Co5o7uv0.js +0 -57
- package/dist/deps-send-discord.runtime-D0BtA9iO.js +0 -32
- package/dist/deps-send-imessage.runtime-89fweiea.js +0 -31
- package/dist/deps-send-signal.runtime-BA3mNq_v.js +0 -30
- package/dist/deps-send-slack.runtime-DiA-Ieod.js +0 -28
- package/dist/deps-send-telegram.runtime-C9bLOnbt.js +0 -34
- package/dist/deps-send-whatsapp.runtime-Dflrvnq-.js +0 -115
- package/dist/fs-safe-Dha0DfFC.js +0 -352
- package/dist/image-runtime-CGAobfgI.js +0 -51
- package/dist/manager-runtime-BifbXCuI.js +0 -22
- package/dist/path-alias-guards-9OJ1UBCd.js +0 -43
- package/dist/plugin-sdk/accounts-B9lBByhz.js +0 -35
- package/dist/plugin-sdk/accounts-Bl6fp04N.js +0 -288
- package/dist/plugin-sdk/accounts-CQWq_42g.js +0 -46
- package/dist/plugin-sdk/active-listener-Dc-P7jeX.js +0 -50
- package/dist/plugin-sdk/api-key-rotation-DSOB99GV.js +0 -181
- package/dist/plugin-sdk/audio-preflight-DYTxAG0v.js +0 -69
- package/dist/plugin-sdk/audio-transcription-runner-Bndij5Q1.js +0 -2176
- package/dist/plugin-sdk/audit-membership-runtime-ZTTIhQhs.js +0 -58
- package/dist/plugin-sdk/channel-activity-ChRCQNSc.js +0 -94
- package/dist/plugin-sdk/channel-web-CfZNFYCV.js +0 -2256
- package/dist/plugin-sdk/chrome-DNpRdbZ1.js +0 -2415
- package/dist/plugin-sdk/commands-registry-Bq1HqcJU.js +0 -1125
- package/dist/plugin-sdk/config-Cyo0rHBx.js +0 -17959
- package/dist/plugin-sdk/deliver-mBruQPRt.js +0 -1719
- package/dist/plugin-sdk/deliver-runtime-ByVt0evu.js +0 -32
- package/dist/plugin-sdk/deps-send-discord.runtime-C2fc3t93.js +0 -23
- package/dist/plugin-sdk/deps-send-imessage.runtime-D4m7X6j4.js +0 -22
- package/dist/plugin-sdk/deps-send-signal.runtime-DwGJRjyX.js +0 -21
- package/dist/plugin-sdk/deps-send-slack.runtime-7J491hID.js +0 -19
- package/dist/plugin-sdk/deps-send-telegram.runtime-DAKGyd6b.js +0 -24
- package/dist/plugin-sdk/deps-send-whatsapp.runtime-BxQ5tZO2.js +0 -57
- package/dist/plugin-sdk/diagnostic-B3ZoSFoM.js +0 -319
- package/dist/plugin-sdk/errors-DdSHGcgi.js +0 -54
- package/dist/plugin-sdk/fetch-guard-Uhk4tySC.js +0 -156
- package/dist/plugin-sdk/image-CEBZ8sRh.js +0 -2314
- package/dist/plugin-sdk/image-ops-Dye2ozSZ.js +0 -584
- package/dist/plugin-sdk/image-runtime-CabQkSZn.js +0 -25
- package/dist/plugin-sdk/ir-CruONUHn.js +0 -1296
- package/dist/plugin-sdk/local-roots-BYSlR-at.js +0 -186
- package/dist/plugin-sdk/logger-C_vnHQg2.js +0 -1163
- package/dist/plugin-sdk/login-bdsdinOj.js +0 -57
- package/dist/plugin-sdk/login-qr-BYAvyop9.js +0 -320
- package/dist/plugin-sdk/manager-AOQxrU7P.js +0 -3929
- package/dist/plugin-sdk/manager-runtime-CijO5giX.js +0 -15
- package/dist/plugin-sdk/outbound-FdiP5J7H.js +0 -212
- package/dist/plugin-sdk/outbound-attachment-DZphVgq7.js +0 -19
- package/dist/plugin-sdk/paths-ICLB349I.js +0 -166
- package/dist/plugin-sdk/pi-embedded-helpers-tHjfJzH4.js +0 -9627
- package/dist/plugin-sdk/pi-model-discovery-DQV-B6bn.js +0 -134
- package/dist/plugin-sdk/pi-model-discovery-runtime-MJmZTIax.js +0 -8
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-7DPjo7Ey.js +0 -354
- package/dist/plugin-sdk/plugins-BQHnLb2v.js +0 -864
- package/dist/plugin-sdk/proxy-fetch-BpMu-RpD.js +0 -38
- package/dist/plugin-sdk/pw-ai-DAMRoo8O.js +0 -1938
- package/dist/plugin-sdk/query-expansion-CuaTloKx.js +0 -1011
- package/dist/plugin-sdk/redact-BznLQ6I5.js +0 -319
- package/dist/plugin-sdk/reply-Cx_4UtvJ.js +0 -100211
- package/dist/plugin-sdk/resolve-outbound-target-BDjhohcf.js +0 -40
- package/dist/plugin-sdk/run-with-concurrency-BcPenaKJ.js +0 -1994
- package/dist/plugin-sdk/runtime-whatsapp-login.runtime-DqezqoLI.js +0 -10
- package/dist/plugin-sdk/runtime-whatsapp-outbound.runtime-Dgnv_x4o.js +0 -19
- package/dist/plugin-sdk/send-BWz-g7wE.js +0 -540
- package/dist/plugin-sdk/send-DB9pUM0k.js +0 -414
- package/dist/plugin-sdk/send-QPap4wBN.js +0 -503
- package/dist/plugin-sdk/send-gz4Lq5tL.js +0 -2587
- package/dist/plugin-sdk/send-tyEtWeMX.js +0 -3135
- package/dist/plugin-sdk/session-88GgvJcW.js +0 -169
- package/dist/plugin-sdk/skill-commands-ClwX3DoE.js +0 -353
- package/dist/plugin-sdk/skills-B2FPl9ca.js +0 -1428
- package/dist/plugin-sdk/slash-commands.runtime-CGAfyDkY.js +0 -13
- package/dist/plugin-sdk/slash-dispatch.runtime-DN7TWAWh.js +0 -52
- package/dist/plugin-sdk/slash-skill-commands.runtime-C4i9B-79.js +0 -16
- package/dist/plugin-sdk/ssrf-D3NQgatK.js +0 -202
- package/dist/plugin-sdk/store-CDmdRGxP.js +0 -81
- package/dist/plugin-sdk/subagent-registry-runtime-CprGCjIU.js +0 -52
- package/dist/plugin-sdk/tables-j2CMtAoX.js +0 -55
- package/dist/plugin-sdk/thinking-Dh6B0ZhB.js +0 -1206
- package/dist/plugin-sdk/tokens-PExiD061.js +0 -52
- package/dist/plugin-sdk/tool-images-D7ah30xm.js +0 -274
- package/dist/plugin-sdk/web-D9wJfMr_.js +0 -56
- package/dist/plugin-sdk/whatsapp-actions-BjarJorO.js +0 -80
- package/dist/qmd-manager-oU4X85hj.js +0 -1452
- package/dist/register.configure-MduIRRMt.js +0 -162
- package/dist/runtime-whatsapp-outbound.runtime-CNnM5MdE.js +0 -28
- package/dist/slash-dispatch.runtime-D5Cl7j1v.js +0 -110
- package/dist/slash-skill-commands.runtime-DnvHGcVS.js +0 -29
- package/dist/subagent-registry-runtime-LH0OBaWN.js +0 -110
- package/dist/target-errors-HJQQHC3B.js +0 -195
- package/dist/web-DxHq9RWt.js +0 -114
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { f as isNotFoundPathError, p as isPathInside } from "./winclaw-root-
|
|
2
|
-
import { a as openWritableFileWithinRoot, t as SafeOpenError } from "./fs-safe-
|
|
3
|
-
import { n as resolveSafeBaseDir } from "./path-safety-
|
|
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
|
|
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
|
|
81
|
+
if ((await fs.stat(direct)).isDirectory()) return direct;
|
|
82
82
|
} catch {}
|
|
83
|
-
const dirs = (await
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
279
|
-
const buffer = await
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
438
|
+
const baseRealPath = await fs.realpath(baseDir);
|
|
439
439
|
const validateDirectory = async (dirPath) => {
|
|
440
|
-
const dirLstat = await
|
|
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
|
|
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-
|
|
4
|
-
import { S as validateRegistryNpmSpec } from "./skills-
|
|
5
|
-
import { c as writeFileFromPathWithinRoot } from "./fs-safe-
|
|
6
|
-
import { a as unscopedPackageName, c as fileExists, l as readJsonFile, n as resolveSafeInstallDir, r as safeDirName, u as resolveArchiveKind } from "./install-safe-path-
|
|
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-
|
|
8
|
-
import { t as scanDirectoryWithSummary } from "./skill-scanner-
|
|
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
|
|
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
|
|
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
|
|
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-
|
|
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-
|
|
6
|
-
import { y as resolveAccountEntry } from "./accounts-
|
|
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-
|
|
8
|
-
import { s as readLocalFileSafely, t as SafeOpenError } from "./fs-safe-
|
|
9
|
-
import { a as getDefaultMediaLocalRoots, n as fetchRemoteMedia } from "./fetch-
|
|
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
|
|
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
|
|
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
|
|
407
|
+
resolvedRoot = await fs.realpath(root);
|
|
408
408
|
} catch {
|
|
409
409
|
resolvedRoot = path.resolve(root);
|
|
410
410
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
|
-
import
|
|
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
|
|
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
|
|
26
|
+
await fs.mkdir(path.dirname(filePath), mkdirOptions);
|
|
27
27
|
const tmp = `${filePath}.${randomUUID()}.tmp`;
|
|
28
28
|
try {
|
|
29
|
-
await
|
|
29
|
+
await fs.writeFile(tmp, payload, "utf8");
|
|
30
30
|
try {
|
|
31
|
-
await
|
|
31
|
+
await fs.chmod(tmp, mode);
|
|
32
32
|
} catch {}
|
|
33
|
-
await
|
|
33
|
+
await fs.rename(tmp, filePath);
|
|
34
34
|
try {
|
|
35
|
-
await
|
|
35
|
+
await fs.chmod(filePath, mode);
|
|
36
36
|
} catch {}
|
|
37
37
|
} finally {
|
|
38
|
-
await
|
|
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-
|
|
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-
|
|
7
|
-
import { r as isSystemdUserServiceAvailable } from "./systemd-
|
|
8
|
-
import { s as resolveGatewayLogPaths } from "./service-
|
|
9
|
-
import { a as checkTokenDrift, n as renderSystemdUnavailableHints } from "./systemd-hints-
|
|
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-
|
|
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-
|
|
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-
|
|
23
|
-
import "./chrome-
|
|
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-
|
|
36
|
-
import "./audio-transcription-runner-
|
|
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-
|
|
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-
|
|
6
|
-
import { i as waitForWaConnection, n as formatError, t as createWaSocket } from "./session-
|
|
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-
|
|
3
|
-
import "./agent-scope-
|
|
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-
|
|
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-
|
|
14
|
-
import { _ as webAuthExists, i as resolveWhatsAppAccount, l as logoutWeb, p as readWebSelfId } from "./accounts-
|
|
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-
|
|
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-
|
|
2
|
+
import "./auth-profiles-DF0cLC20.js";
|
|
3
3
|
import { t as formatCliCommand } from "./command-format-C2YuTuPp.js";
|
|
4
|
-
import "./agent-scope-
|
|
4
|
+
import "./agent-scope-Dany4R2i.js";
|
|
5
5
|
import "./utils-hiIKrqOK.js";
|
|
6
|
-
import "./winclaw-root-
|
|
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-
|
|
14
|
+
import "./manifest-registry-_liSV_Vx.js";
|
|
15
15
|
import "./message-channel-DINJBdD0.js";
|
|
16
|
-
import "./client-
|
|
17
|
-
import { t as buildGatewayConnectionDetails } from "./call-
|
|
16
|
+
import "./client-jNFqrgw6.js";
|
|
17
|
+
import { t as buildGatewayConnectionDetails } from "./call-DEKH5GO9.js";
|
|
18
18
|
import "./pairing-token-CyhEb6Je.js";
|
|
19
|
-
import "./net-
|
|
20
|
-
import "./tailnet-
|
|
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-
|
|
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-
|
|
3
|
-
import { a as resolveAgentDir, i as resolveAgentConfig, u as resolveAgentWorkspaceDir } from "./agent-scope-
|
|
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-
|
|
10
|
-
import { n as executeWithApiKeyRotation, r as parseGeminiAuth, t as collectProviderApiKeysForExecution } from "./api-key-rotation-
|
|
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-
|
|
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
|
|
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
|
|
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
|
|
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) =>
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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-
|
|
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-
|
|
4
|
-
import { d as resolveDefaultAgentId, u as resolveAgentWorkspaceDir } from "./agent-scope-
|
|
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-
|
|
9
|
-
import { f as listMemoryFiles, p as normalizeExtraMemoryPaths } from "./query-expansion-
|
|
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
|
|
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-
|
|
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-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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 });
|