squidclaw 3.3.0 → 3.3.1
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-KzgPbLHP.js → accounts-B1RxFghM.js} +1 -1
- package/dist/{accounts-BK8I0Svb.js → accounts-BH9Qo1sQ.js} +7 -7
- package/dist/{accounts-DeqNOvBo.js → accounts-Cuwg9Tan.js} +1 -1
- package/dist/{acp-cli-BDUN_3hr.js → acp-cli-BC9OAf3z.js} +8 -8
- package/dist/{agent-scope-DipdnGE4.js → agent-scope-CfsErfyG.js} +17 -17
- package/dist/{agents-Dp7Z49KS.js → agents-CCBxQ9aq.js} +14 -14
- package/dist/{agents.config-BiYGJTBo.js → agents.config-BLyNI6Wo.js} +2 -2
- package/dist/{api-key-rotation-ijs2sHFd.js → api-key-rotation-D8zY84vq.js} +1 -1
- package/dist/{audio-preflight-BdE85axf.js → audio-preflight-D2V9uUvO.js} +34 -34
- package/dist/{audio-transcription-runner-t9ywC3Mg.js → audio-transcription-runner-Caxzri8M.js} +23 -23
- package/dist/{audit-DLLdL6Gd.js → audit-C-YgUaul.js} +29 -29
- package/dist/{auth-CgVB2OQr.js → auth-BLnmRBQV.js} +1 -1
- package/dist/{auth-choice-DFMaBDZ1.js → auth-choice-BtLMBliK.js} +11 -11
- package/dist/{auth-choice-BJBbpLg9.js → auth-choice-gdt59E8k.js} +13 -13
- package/dist/{auth-choice.apply-helpers-C-L13mHO.js → auth-choice.apply-helpers-CjGIIfKh.js} +1 -1
- package/dist/{auth-profiles-BiJk4pUv.js → auth-profiles-ByQNLJzP.js} +16 -16
- package/dist/{auth-token-B3--XmAN.js → auth-token-Gu6sWtZS.js} +1 -1
- package/dist/{banner-BR76eqqR.js → banner-C9hwqM49.js} +2 -2
- package/dist/{bonjour-discovery-B_XMK5ai.js → bonjour-discovery-Bh8Ao0vC.js} +1 -1
- package/dist/{browser-cli-B45YlTHC.js → browser-cli-CGjcwRKx.js} +12 -12
- package/dist/build-info.json +3 -3
- package/dist/bundled/session-memory/handler.js +36 -7
- package/dist/{call-G7vZ_wCI.js → call-BPIaCRGe.js} +10 -10
- package/dist/{channel-account-context-CQ6rCiGI.js → channel-account-context-DJ3rHgVO.js} +5 -5
- package/dist/{channel-activity-CGBzdEGf.js → channel-activity-CNDuTc8D.js} +1 -1
- package/dist/{channel-options-CAVwZvHb.js → channel-options-D0gk9W37.js} +3 -3
- package/dist/{channel-selection-D_NFb2hE.js → channel-selection-DAoy4Z1P.js} +1 -1
- package/dist/{channel-web-CmwN58t5.js → channel-web-Duua4ZPa.js} +17 -17
- package/dist/{channels-cli-BvI7PrnS.js → channels-cli-D15lUa6m.js} +93 -93
- package/dist/{channels-status-issues-B87XQLLd.js → channels-status-issues-DPzsKH4n.js} +1 -1
- package/dist/{chrome-fM6BTTNA.js → chrome-Bs3-hdWP.js} +4 -4
- package/dist/{clawbot-cli-jwxDns9G.js → clawbot-cli-ClfRwHPU.js} +11 -11
- package/dist/cli/daemon-cli.js +1 -1
- package/dist/{cli-IgnHd9vV.js → cli-zfxNQ-Jj.js} +73 -73
- package/dist/{client-X5m1ssRl.js → client-DFgW99bv.js} +2 -2
- package/dist/{command-registry-DU59Zys9.js → command-registry-8dFoJNwF.js} +11 -11
- package/dist/{command-secret-targets-DElQTuoe.js → command-secret-targets-Blzote2A.js} +4 -4
- package/dist/{commands-Di_crduW.js → commands-Bn-GGRiA.js} +1 -1
- package/dist/{commands-registry-CvlKGwPE.js → commands-registry-DOyhmv7L.js} +3 -3
- package/dist/{completion-cli-B58zTxLB.js → completion-cli-DXKg2zHx.js} +13 -13
- package/dist/{config-cli-BIaTdZ_7.js → config-cli-KQxg7BTe.js} +7 -7
- package/dist/{config-guard-CDl-VzWM.js → config-guard-CTKbpGkQ.js} +3 -3
- package/dist/{config-validation-BAFa1Cym.js → config-validation-xBuowa-r.js} +3 -3
- package/dist/{configure-BXLSTN8m.js → configure-B3Nlvr4W.js} +17 -17
- package/dist/{control-ui-assets-BYEy341x.js → control-ui-assets-d6VtDSeo.js} +1 -1
- package/dist/{cron-cli-DeHX-jJX.js → cron-cli-i7RdrGzx.js} +11 -11
- package/dist/{daemon-cli-Cc8upFpL.js → daemon-cli-Ot9TBJ_l.js} +15 -15
- package/dist/{daemon-install-Chxlu9Kv.js → daemon-install-CbPLNiIP.js} +4 -4
- package/dist/{daemon-install-helpers-CJtiW2RE.js → daemon-install-helpers-CZDVO_MU.js} +11 -11
- package/dist/{deliver-CyR05tXq.js → deliver-DYffOszC.js} +7 -7
- package/dist/deliver-runtime-CCCnLu1l.js +61 -0
- package/dist/deps-send-discord.runtime-C1qYROSU.js +36 -0
- package/dist/deps-send-imessage.runtime-Dz14pqUt.js +35 -0
- package/dist/deps-send-signal.runtime-BxlxMy_x.js +34 -0
- package/dist/deps-send-slack.runtime-BoIAdT0Z.js +32 -0
- package/dist/{deps-send-telegram.runtime-aNU8_XlK.js → deps-send-telegram.runtime-C7I8qHRq.js} +16 -16
- package/dist/deps-send-whatsapp.runtime-NrQGDJy9.js +119 -0
- package/dist/{devices-cli-DVV5P4ZJ.js → devices-cli-CEW04UTp.js} +8 -8
- package/dist/{diagnostic-Du3b17ba.js → diagnostic-CT4BKCiT.js} +1 -1
- package/dist/{diagnostics--O6mo6KH.js → diagnostics-m7hHHbuE.js} +5 -5
- package/dist/{directory-cli-DaE3Quiv.js → directory-cli-4K5ehIEb.js} +7 -7
- package/dist/{dns-cli-waaEVY0o.js → dns-cli-Cwgde6km.js} +5 -5
- package/dist/{dock-gKJjfuaV.js → dock-0fXeq35m.js} +4 -4
- package/dist/{docs-cli--gGxz79Z.js → docs-cli-BpZtes_j.js} +4 -4
- package/dist/{doctor-completion-DRCOGhwS.js → doctor-completion-B4EOgAHX.js} +2 -2
- package/dist/{doctor-config-flow-BtioG6ZI.js → doctor-config-flow-CjyicsHv.js} +15 -15
- package/dist/{enable-Cbwq508X.js → enable-DMJvBRPK.js} +1 -1
- package/dist/entry.js +2 -2
- package/dist/{exec-approvals-allowlist-Bl6dLcC4.js → exec-approvals-allowlist--CDwsotI.js} +1 -1
- package/dist/{exec-approvals-cli-_eztu6zG.js → exec-approvals-cli-Bni7tZhv.js} +16 -16
- package/dist/{exec-safe-bin-runtime-policy-CYHAJAOy.js → exec-safe-bin-runtime-policy-BOmyNeKa.js} +2 -2
- package/dist/{fetch-BWLAZtR0.js → fetch-CODl9dwL.js} +3 -3
- package/dist/{fetch-guard-aHbB2ECM.js → fetch-guard-C9XQ9W19.js} +1 -1
- package/dist/{fs-safe-DPYj7h8A.js → fs-safe-BPQ-per2.js} +24 -24
- package/dist/{gateway-cli-DvWNtJxy.js → gateway-cli-7hy6G1el.js} +153 -153
- package/dist/{gateway-rpc-CyI4qv4e.js → gateway-rpc-mBKSbosL.js} +1 -1
- package/dist/{health-CxqVSgKj.js → health-L85P9rRI.js} +11 -11
- package/dist/{hooks-cli-C-8A82OA.js → hooks-cli-JUGj7_IF.js} +81 -81
- package/dist/{hooks-status-DMFBAUq8.js → hooks-status-BlgSVDvN.js} +1 -1
- package/dist/{image-Czt09HO2.js → image-C3rClBur.js} +5 -5
- package/dist/{image-ops-B2uuLIGD.js → image-ops-LFsSCTyI.js} +10 -10
- package/dist/image-runtime-BawEM2qj.js +55 -0
- package/dist/{inspect-4c1uL0x5.js → inspect-CzsXBsew.js} +4 -4
- package/dist/{install-safe-path-3muwy3fu.js → install-safe-path-DqI19VEv.js} +25 -25
- package/dist/{installs-BiQDtPF0.js → installs-P-pYAJm1.js} +9 -9
- package/dist/{ipv4-B1l08IQ5.js → ipv4-Bx85fwxr.js} +1 -1
- package/dist/{ir-Cg5iUcsz.js → ir-CLdz27UA.js} +8 -8
- package/dist/{issue-format-NbalyyoF.js → issue-format-DzzpkEKh.js} +1 -1
- package/dist/{json-files-CuJjdF_0.js → json-files-rR19q30D.js} +8 -8
- package/dist/{lifecycle-core-BDDTVhGJ.js → lifecycle-core-DAOEq9od.js} +5 -5
- package/dist/{login-BtteffgM.js → login-B6agIh-B.js} +3 -3
- package/dist/{login-qr-CL3cPNm6.js → login-qr-eRvH4Sfc.js} +6 -6
- package/dist/{logs-cli-_68C9pAz.js → logs-cli-DjsOTLd0.js} +9 -9
- package/dist/{manager-D-epQZzu.js → manager-CFg5CNjB.js} +14 -14
- package/dist/{manager-runtime-dxiaLn0X.js → manager-runtime-BucyWusE.js} +9 -9
- package/dist/{manifest-registry-7kwtbCH-.js → manifest-registry-1ACGW3OR.js} +1 -1
- package/dist/{memory-cli-DdlNObR_.js → memory-cli-K8RTw22V.js} +12 -12
- package/dist/{model-CLOEFgm1.js → model-D3QKHUD9.js} +2 -2
- package/dist/{model-catalog-cPBfdmCZ.js → model-catalog-INp1o1zX.js} +3 -3
- package/dist/{model-picker-k5b4kcsx.js → model-picker-DNBHh9Px.js} +4 -4
- package/dist/{models-Bf5dNlFg.js → models-BpPghvyy.js} +17 -17
- package/dist/{models-cli-DHlY3RwP.js → models-cli-DotYKjDq.js} +78 -78
- package/dist/{models-config-C7GR26HJ.js → models-config-BNIPxtHv.js} +6 -6
- package/dist/{net-CggAM2eK.js → net-QB4dfP4-.js} +2 -2
- package/dist/{node-cli-CF6bOApq.js → node-cli-tuLexrKG.js} +33 -33
- package/dist/{node-command-policy--2bsadiu.js → node-command-policy-X4KnAuD8.js} +1 -1
- package/dist/{node-service-Z0JprJda.js → node-service-OVe0_CIs.js} +1 -1
- package/dist/{nodes-cli-DdF0Apr8.js → nodes-cli-BtHrRe7o.js} +16 -16
- package/dist/{nodes-screen-Cihyp_1V.js → nodes-screen-CKhKFccI.js} +7 -7
- package/dist/{npm-pack-install-B887us7R.js → npm-pack-install-Dn3FiWXB.js} +18 -18
- package/dist/{npm-resolution-2sjQlpdP.js → npm-resolution-BTi5J55i.js} +4 -4
- package/dist/{onboard-BwVAkxW0.js → onboard-CNVVt7F3.js} +6 -6
- package/dist/{onboard-channels-Bw372mQX.js → onboard-channels-CUpUBnOj.js} +21 -21
- package/dist/{onboard-custom-XW3Q4ERz.js → onboard-custom-DIM8V39k.js} +4 -4
- package/dist/{onboard-helpers-DfWsh9P_.js → onboard-helpers-D10-c0nt.js} +10 -10
- package/dist/{onboard-hooks-7zSvhf8S.js → onboard-hooks-DW4qt57e.js} +4 -4
- package/dist/{onboard-remote-qJCXQTPO.js → onboard-remote-PNWR1AHo.js} +4 -4
- package/dist/{onboard-skills-DFMLJn-8.js → onboard-skills-DRzcoNmr.js} +4 -4
- package/dist/{onboarding-D_ImwR9D.js → onboarding-DQa8M7Fx.js} +14 -14
- package/dist/{onboarding.finalize-ClTc_ghC.js → onboarding.finalize-D6qUa-0y.js} +90 -90
- package/dist/{onboarding.gateway-config-CeOavTRn.js → onboarding.gateway-config-BzzDFZhl.js} +18 -18
- package/dist/{onboarding.secret-input-h4sXfwga.js → onboarding.secret-input-ajPT5cjy.js} +1 -1
- package/dist/{openai-model-default-BIEWI0T4.js → openai-model-default-lBZZvWbf.js} +2 -2
- package/dist/{outbound-attachment-ELXt01nc.js → outbound-attachment-BRjY-xU5.js} +2 -2
- package/dist/{outbound-DrmXuI1w.js → outbound-yJzuZMJK.js} +3 -3
- package/dist/{pairing-cli-BPn6V6ca.js → pairing-cli-BHW9JIfG.js} +8 -8
- package/dist/{pairing-labels-ieaV5SBV.js → pairing-labels-DGiyVpfH.js} +1 -1
- package/dist/{pairing-store-BNRzMsGf.js → pairing-store-BWvzmAq8.js} +3 -3
- package/dist/{path-alias-guards-vfYYQFIg.js → path-alias-guards-DeOVetT7.js} +3 -3
- package/dist/{path-safety-C95DzArw.js → path-safety-D7CjFQvf.js} +1 -1
- package/dist/{paths-DfuVHiHu.js → paths-D6mnO6Ni.js} +9 -9
- package/dist/{pi-embedded-helpers-DQHj960w.js → pi-embedded-helpers-13zhzo1T.js} +6 -6
- package/dist/{pi-model-discovery-D4t0ZFCY.js → pi-model-discovery-Cj7zDFgN.js} +1 -1
- package/dist/{pi-model-discovery-runtime-SKeRi7Gx.js → pi-model-discovery-runtime-CylBYw6s.js} +5 -5
- package/dist/{pi-tools.before-tool-call.runtime-DjzR6iNJ.js → pi-tools.before-tool-call.runtime-CEWBYhqI.js} +5 -5
- package/dist/{pi-tools.policy-DgElG9m2.js → pi-tools.policy-Bhg8uG0h.js} +5 -5
- package/dist/{plugin-auto-enable-BLhZ9NWX.js → plugin-auto-enable-D_3GnV1a.js} +3 -3
- package/dist/{plugin-registry-BgKtjZBZ.js → plugin-registry-CY6rt9xp.js} +3 -3
- package/dist/plugin-sdk/{accounts-BhCAa-05.js → accounts-BLOLIF6Q.js} +2 -2
- package/dist/plugin-sdk/{accounts-DKXGC2Vu.js → accounts-BvzvDHNx.js} +3 -3
- package/dist/plugin-sdk/{accounts-BChIl5as.js → accounts-ByCKM_Y3.js} +2 -2
- package/dist/plugin-sdk/{active-listener-TTbK9PGk.js → active-listener-Ccj2fSCa.js} +2 -2
- package/dist/plugin-sdk/{api-key-rotation-BqhYVBBK.js → api-key-rotation-0Xm0okk5.js} +2 -2
- package/dist/plugin-sdk/{audio-preflight-DAf0ptAM.js → audio-preflight-B_pcDw8d.js} +26 -26
- package/dist/plugin-sdk/{audio-transcription-runner-CBASOlbc.js → audio-transcription-runner-u6tijzUS.js} +11 -11
- package/dist/plugin-sdk/{audit-membership-runtime-Xl20kCBe.js → audit-membership-runtime-DHQDvH4u.js} +2 -2
- package/dist/plugin-sdk/{channel-activity-95JVLzNY.js → channel-activity-BVUdxSNs.js} +3 -3
- package/dist/plugin-sdk/{channel-web-DCkC6Ydu.js → channel-web-BX2s-JXF.js} +18 -18
- package/dist/plugin-sdk/{chrome-BlXpNOQu.js → chrome-6EkqVcyR.js} +6 -6
- package/dist/plugin-sdk/{commands-registry-C9y_w3eW.js → commands-registry-CDHo6SSs.js} +4 -4
- package/dist/plugin-sdk/{common-CEwMUbms.js → common-Emz6EPQM.js} +2 -2
- package/dist/plugin-sdk/{config-sMifxgre.js → config-CMjn_DSB.js} +7 -7
- package/dist/plugin-sdk/{deliver-2zt3NeFA.js → deliver-Cz6GluMN.js} +10 -10
- package/dist/plugin-sdk/deliver-runtime-CjCJkoFM.js +32 -0
- package/dist/plugin-sdk/deps-send-discord.runtime-C4AEwjGl.js +23 -0
- package/dist/plugin-sdk/deps-send-imessage.runtime-DCdEe-_E.js +22 -0
- package/dist/plugin-sdk/deps-send-signal.runtime-BNO6SPmR.js +21 -0
- package/dist/plugin-sdk/deps-send-slack.runtime-BChVBURL.js +19 -0
- package/dist/plugin-sdk/deps-send-telegram.runtime-DyCorUw2.js +24 -0
- package/dist/plugin-sdk/deps-send-whatsapp.runtime-DoOYrpKa.js +57 -0
- package/dist/plugin-sdk/{diagnostic-CU_mni6m.js → diagnostic-DhO2TqL_.js} +2 -2
- package/dist/plugin-sdk/discord.js +6 -6
- package/dist/plugin-sdk/{errors-CgRPdp3o.js → errors-9oVz7reJ.js} +1 -1
- package/dist/plugin-sdk/{fetch-guard-BxMLJbqt.js → fetch-guard-CGQ35-A_.js} +2 -2
- package/dist/plugin-sdk/{fs-safe-5aQcM_qM.js → fs-safe-B26UxJny.js} +3 -3
- package/dist/plugin-sdk/{image-BJXV9IMV.js → image-DPgEp54d.js} +6 -6
- package/dist/plugin-sdk/{image-ops-DovJMvdf.js → image-ops-CbKrfi-N.js} +2 -2
- package/dist/plugin-sdk/image-runtime-DN6PHT8G.js +25 -0
- package/dist/plugin-sdk/imessage.js +2 -2
- package/dist/plugin-sdk/{ir-DE2ewdq5.js → ir-4JdLS2Hz.js} +7 -7
- package/dist/plugin-sdk/{local-roots-CIwDgpY2.js → local-roots-T6lXDGzr.js} +4 -4
- package/dist/plugin-sdk/{logger-DIb2cGHp.js → logger-Bg4vIUJn.js} +2 -2
- package/dist/plugin-sdk/{login-CLIcsAVy.js → login-BNCjks0C.js} +4 -4
- package/dist/plugin-sdk/{login-qr-BlxjA0vQ.js → login-qr-CTjNgxhl.js} +5 -5
- package/dist/plugin-sdk/{manager-CpAGPHeX.js → manager-D__CoDGL.js} +8 -8
- package/dist/plugin-sdk/manager-runtime-B9aBGLrF.js +15 -0
- package/dist/plugin-sdk/mattermost.js +3 -3
- package/dist/plugin-sdk/{outbound-DDpRevO_.js → outbound-DTQ-9Cjw.js} +5 -5
- package/dist/plugin-sdk/{outbound-attachment-CVavq5II.js → outbound-attachment-CdHX9v0q.js} +2 -2
- package/dist/plugin-sdk/{path-alias-guards-BfpU4lAT.js → path-alias-guards-DSCFtpsd.js} +1 -1
- package/dist/plugin-sdk/{paths-CK3lTJYw.js → paths-BQHqKGA8.js} +1 -1
- package/dist/plugin-sdk/{pi-embedded-helpers-Cb_h9zSJ.js → pi-embedded-helpers-B7nmCbf7.js} +16 -16
- package/dist/plugin-sdk/{pi-model-discovery-B3B3R7L9.js → pi-model-discovery-DyDwYiK3.js} +1 -1
- package/dist/plugin-sdk/pi-model-discovery-runtime-CN6ZaL0W.js +8 -0
- package/dist/plugin-sdk/{pi-tools.before-tool-call.runtime-DivpBAM0.js → pi-tools.before-tool-call.runtime-D_f6TDo7.js} +4 -4
- package/dist/plugin-sdk/{plugins-BlTrm4bw.js → plugins-BSPvol4w.js} +4 -4
- package/dist/plugin-sdk/{proxy-env-Cdh-OQYk.js → proxy-env-D-iVYTBk.js} +1 -1
- package/dist/plugin-sdk/{proxy-fetch-Dt5BedH8.js → proxy-fetch-Cf3IUSDw.js} +1 -1
- package/dist/plugin-sdk/{pw-ai-DEDRpMlY.js → pw-ai-BO445UDA.js} +9 -9
- package/dist/plugin-sdk/{qmd-manager-Ct9rtJjd.js → qmd-manager-81ezWnIN.js} +7 -7
- package/dist/plugin-sdk/{query-expansion-OdwWuN1S.js → query-expansion-DxTmIU4K.js} +4 -4
- package/dist/plugin-sdk/{redact-9WsNyb7S.js → redact-DfACyt0X.js} +1 -1
- package/dist/plugin-sdk/{reply-wZhosbPd.js → reply-DJ3rbbnv.js} +73 -73
- package/dist/plugin-sdk/{resolve-outbound-target-BJmCIkW_.js → resolve-outbound-target-DtQd8TzZ.js} +2 -2
- package/dist/plugin-sdk/{run-with-concurrency-EUEKeAa8.js → run-with-concurrency-CYcPpb5E.js} +1 -1
- package/dist/plugin-sdk/runtime-whatsapp-login.runtime-ai8hcGi_.js +10 -0
- package/dist/plugin-sdk/runtime-whatsapp-outbound.runtime-BzvoaI1G.js +19 -0
- package/dist/plugin-sdk/{send-Drs4JqVD.js → send-B9GVkvTk.js} +5 -5
- package/dist/plugin-sdk/{send-BMWyVUhm.js → send-BPEn9L0o.js} +13 -13
- package/dist/plugin-sdk/{send-0C4KdD-T.js → send-CGjI0pJn.js} +7 -7
- package/dist/plugin-sdk/{send-oo6mQbab.js → send-CZ6HDwDu.js} +8 -8
- package/dist/plugin-sdk/{send-BGWGV_mz.js → send-D6nUI0S3.js} +6 -6
- package/dist/plugin-sdk/{session-CXVARKFK.js → session-Bwjlseuf.js} +3 -3
- package/dist/plugin-sdk/signal.js +2 -2
- package/dist/plugin-sdk/{skill-commands-CoqGFLfM.js → skill-commands-BpB2Oe8e.js} +4 -4
- package/dist/plugin-sdk/{skills-di-5uS9y.js → skills-CaQpr1kx.js} +6 -6
- package/dist/plugin-sdk/slash-commands.runtime-BH06o3dH.js +13 -0
- package/dist/plugin-sdk/slash-dispatch.runtime-BotYesgY.js +52 -0
- package/dist/plugin-sdk/slash-skill-commands.runtime-CzPvxiUD.js +16 -0
- package/dist/plugin-sdk/{store-Dn_E3uaN.js → store-K6C7eOpg.js} +2 -2
- package/dist/plugin-sdk/subagent-registry-runtime-BbcgUYOO.js +52 -0
- package/dist/plugin-sdk/{tables-_e9wMygc.js → tables-CeWt6UjS.js} +1 -1
- package/dist/plugin-sdk/{thinking-Cih_nxDY.js → thinking-gpcjIDQZ.js} +7 -7
- package/dist/plugin-sdk/{tokens-CLE20fRI.js → tokens-DAL_5WHL.js} +1 -1
- package/dist/plugin-sdk/{tool-images-D6a1Ua4p.js → tool-images-l3TE_qXt.js} +2 -2
- package/dist/plugin-sdk/web-DZ7nBzZy.js +56 -0
- package/dist/plugin-sdk/{whatsapp-actions-UAnHjKbE.js → whatsapp-actions-CbzdjX4B.js} +17 -17
- package/dist/plugin-sdk/whatsapp.js +50 -50
- package/dist/plugin-sdk/zalo.js +2 -2
- package/dist/{plugins-DuLOFZmO.js → plugins-DFPxMLnR.js} +2 -2
- package/dist/{plugins-cli-CKr9IyQL.js → plugins-cli-Bfq4OJMG.js} +83 -83
- package/dist/{ports-Be82TlEg.js → ports-BzfeaNjw.js} +1 -1
- package/dist/{ports-0jLyYbvQ.js → ports-DMeUt80n.js} +2 -2
- package/dist/{program-B5Vn_UD_.js → program-DZxExBPG.js} +81 -81
- package/dist/{prompt-select-styled-DTnRirU4.js → prompt-select-styled-CK2Ienpq.js} +40 -40
- package/dist/{provider-auth-helpers-DG7hKvxV.js → provider-auth-helpers-C_1HJDfj.js} +5 -5
- package/dist/{proxy-env-D16ubrT6.js → proxy-env-CNlcVWhf.js} +1 -1
- package/dist/{push-apns-BZeUZhYN.js → push-apns-C4uEslA7.js} +5 -5
- package/dist/{pw-ai-BrmQq6dp.js → pw-ai-Dg9fGMve.js} +18 -18
- package/dist/{qmd-manager-CToc7FPg.js → qmd-manager-D4nXiiAn.js} +20 -20
- package/dist/{qr-cli-23hgWtLn.js → qr-cli-CN6kEeE-.js} +2 -2
- package/dist/{query-expansion-DI9INxTg.js → query-expansion-C0HUJbRn.js} +12 -12
- package/dist/{redact-snapshot-B8W0RynI.js → redact-snapshot-CiS6G7vm.js} +1 -1
- package/dist/{register.agent-C9tZejQm.js → register.agent-BMr61y_S.js} +94 -94
- package/dist/register.configure-7_PUrx8F.js +165 -0
- package/dist/{register.maintenance-dpQRuXYm.js → register.maintenance-zjqp4gVD.js} +95 -95
- package/dist/{register.message-DexwH4xh.js → register.message-CqqQmFqh.js} +74 -74
- package/dist/{register.onboard-CI1dr2mE.js → register.onboard-w_EDtQ3H.js} +18 -18
- package/dist/{register.setup-Dsl5n4Uf.js → register.setup-DkncXaAW.js} +21 -21
- package/dist/{register.status-health-sessions-CmNMtNSk.js → register.status-health-sessions-CHCnEwLO.js} +88 -88
- package/dist/{register.subclis-C4twva8y.js → register.subclis-D_k3jp2m.js} +31 -31
- package/dist/{rpc-BquITS9w.js → rpc-DFxhwitx.js} +1 -1
- package/dist/{run-main-6tdntESl.js → run-main-Czc9ESzd.js} +93 -93
- package/dist/{runtime-_Vk5eISV.js → runtime-By5SpbLU.js} +3 -3
- package/dist/{runtime-config-collectors-wQYiGNzB.js → runtime-config-collectors-B104qPur.js} +1 -1
- package/dist/{runtime-whatsapp-login.runtime-Cf3JhAPA.js → runtime-whatsapp-login.runtime-B4XQqxLZ.js} +7 -7
- package/dist/{runtime-whatsapp-outbound.runtime-bw4l8Cm5.js → runtime-whatsapp-outbound.runtime-CTfBy0k0.js} +15 -15
- package/dist/{sandbox-CbGxVENW.js → sandbox-DaQ1ruwH.js} +18 -18
- package/dist/{sandbox-cli-WvgvhVoi.js → sandbox-cli-BzmKYlDs.js} +25 -25
- package/dist/{secrets-cli-BJFHNFFa.js → secrets-cli-C2iidz4Q.js} +11 -11
- package/dist/{security-cli-BVezJLE_.js → security-cli-D3PfmNhS.js} +42 -42
- package/dist/{send-Bu3eP6CW.js → send-BWMSp9_W.js} +4 -4
- package/dist/{send-DynShEUL.js → send-BbUl6LvV.js} +11 -11
- package/dist/{send-D8WRsTcF.js → send-BcCUXoKV.js} +5 -5
- package/dist/{send-C2ol3xJd.js → send-BdZJcfei.js} +8 -8
- package/dist/{send-Cj7csKER.js → send-DHmaiFb3.js} +6 -6
- package/dist/{server-TkeA4LLX.js → server-BThRQKrb.js} +20 -20
- package/dist/{server-context-C56AfkmJ.js → server-context-D9dHt5TX.js} +12 -12
- package/dist/{server-lifecycle-CUR6g-z-.js → server-lifecycle-DwoqIphm.js} +2 -2
- package/dist/{server-middleware-Dxlv5GU2.js → server-middleware-i-VrGsvO.js} +1 -1
- package/dist/{server-node-events-EsqtDPMI.js → server-node-events-67QUoOob.js} +74 -74
- package/dist/{service-DSqxS6_D.js → service-B5T42CWZ.js} +15 -15
- package/dist/{session-D0jodcgT.js → session-eXSdl5mb.js} +1 -1
- package/dist/{session-utils-CZALjD6h.js → session-utils-PIpg5nvE.js} +6 -6
- package/dist/{sessions-gTKLgF0i.js → sessions-A97O0F1f.js} +15 -15
- package/dist/{sessions-BLTjLVQT.js → sessions-CDicf15r.js} +4 -4
- package/dist/{shared-D5DTxBPH.js → shared-By6_qr_R.js} +1 -1
- package/dist/{shared-4aGIUkwm.js → shared-CJet4A6J.js} +3 -3
- package/dist/{skill-commands-CigVnmMu.js → skill-commands-DBT6aOGs.js} +5 -5
- package/dist/{skill-scanner-CvS725eQ.js → skill-scanner--QKHR8U0.js} +6 -6
- package/dist/{skills-C85azDXm.js → skills-EwyaIyKC.js} +3 -3
- package/dist/{skills-cli-B2fk0u1F.js → skills-cli-CblUgygP.js} +5 -5
- package/dist/{skills-install-_Qv7iwIj.js → skills-install-Bg63KYLo.js} +6 -6
- package/dist/{skills-status-DkO7rxE8.js → skills-status-Bv8Xt7Lc.js} +1 -1
- package/dist/{slash-commands.runtime-CF70sEb6.js → slash-commands.runtime-BueY2Beh.js} +11 -11
- package/dist/slash-dispatch.runtime-B3gbmyOu.js +114 -0
- package/dist/{slash-skill-commands.runtime-6s4Ap-WA.js → slash-skill-commands.runtime-ByvvwWOf.js} +15 -15
- package/dist/{squidclaw-root-BQfLymzj.js → squidclaw-root-JXyRbQLJ.js} +8 -8
- package/dist/{status-yDvMiWJC.js → status-Doe6Z9h6.js} +27 -27
- package/dist/{status.update-CiLU9RPF.js → status.update-BGIm6we4.js} +2 -2
- package/dist/{store-BEIcnlgx.js → store-BTkIx401.js} +5 -5
- package/dist/{subagent-registry-BE1B0_sO.js → subagent-registry-o5rZt_4e.js} +149 -149
- package/dist/subagent-registry-runtime-C0GbHEOo.js +114 -0
- package/dist/{system-cli-DAKISNim.js → system-cli-BGFIr82s.js} +9 -9
- package/dist/{system-run-command-BOHXAwW8.js → system-run-command-BqoUyRkT.js} +1 -1
- package/dist/{systemd-Cj2cX_ZP.js → systemd-B86VePXs.js} +9 -9
- package/dist/{systemd-hints-46PqJfaq.js → systemd-hints-BmFWZu_j.js} +6 -6
- package/dist/{systemd-linger-6Jd9K5p2.js → systemd-linger-w7fvBU-1.js} +1 -1
- package/dist/{tables-DOgKzkCQ.js → tables-Cw6nUurn.js} +1 -1
- package/dist/{tailnet-BlV0IR7G.js → tailnet-QKMSnz19.js} +1 -1
- package/dist/{target-errors-CRQlPF1u.js → target-errors-C_rnMuJ2.js} +4 -4
- package/dist/{tool-images-CyzWvDUu.js → tool-images-D6mmxuWS.js} +1 -1
- package/dist/{tui-DN34soFB.js → tui-BxsFozJB.js} +6 -6
- package/dist/{tui-cli-CG0r8wIF.js → tui-cli-Bf1E1ENY.js} +32 -32
- package/dist/{update-1JhjCqjy.js → update-BhRrb6BI.js} +3 -3
- package/dist/{update-cli-CKvgxhEz.js → update-cli-FbS4oJu1.js} +104 -104
- package/dist/{update-runner-EXHdNkfq.js → update-runner-DCLBBKeT.js} +16 -16
- package/dist/web-1FVB4fsI.js +118 -0
- package/dist/{webhooks-cli-CJpcVOhV.js → webhooks-cli-BCqXOihQ.js} +6 -6
- package/dist/{whatsapp-actions-BYzAF3jo.js → whatsapp-actions-I7z57XJA.js} +17 -17
- package/dist/{with-timeout-D8mIrgj5.js → with-timeout-CX0CGi5G.js} +3 -3
- package/dist/{workspace-D5vNjk5G.js → workspace-BbO-M3Jv.js} +1 -1
- package/dist/{workspace-dirs-CKrd0E4k.js → workspace-dirs-DJbX0g4E.js} +1 -1
- package/dist/{wsl-CvQfS6aU.js → wsl-CsGe5QCP.js} +2 -2
- package/package.json +1 -1
- package/dist/deliver-runtime-BY48Cyf6.js +0 -61
- package/dist/deps-send-discord.runtime-CiS_YGKd.js +0 -36
- package/dist/deps-send-imessage.runtime-h5CDiZZu.js +0 -35
- package/dist/deps-send-signal.runtime-C9s3Y1Zu.js +0 -34
- package/dist/deps-send-slack.runtime-Dqb-9qwc.js +0 -32
- package/dist/deps-send-whatsapp.runtime-0tUP9kuA.js +0 -119
- package/dist/image-runtime-C_sKgCPT.js +0 -55
- package/dist/plugin-sdk/deliver-runtime-Dx0Sg-lg.js +0 -32
- package/dist/plugin-sdk/deps-send-discord.runtime-bKwjojX0.js +0 -23
- package/dist/plugin-sdk/deps-send-imessage.runtime-DcxfdKGE.js +0 -22
- package/dist/plugin-sdk/deps-send-signal.runtime-79rGat6V.js +0 -21
- package/dist/plugin-sdk/deps-send-slack.runtime-DfMO701H.js +0 -19
- package/dist/plugin-sdk/deps-send-telegram.runtime-Bnjwm6SU.js +0 -24
- package/dist/plugin-sdk/deps-send-whatsapp.runtime-CS50_Jgh.js +0 -57
- package/dist/plugin-sdk/image-runtime-f-WKB3Bx.js +0 -25
- package/dist/plugin-sdk/manager-runtime-DAKJEbuY.js +0 -15
- package/dist/plugin-sdk/pi-model-discovery-runtime-Bm4bHwpO.js +0 -8
- package/dist/plugin-sdk/runtime-whatsapp-login.runtime-D74eZbH7.js +0 -10
- package/dist/plugin-sdk/runtime-whatsapp-outbound.runtime-BidSddX5.js +0 -19
- package/dist/plugin-sdk/slash-commands.runtime-CseiMacz.js +0 -13
- package/dist/plugin-sdk/slash-dispatch.runtime-88gX6CLk.js +0 -52
- package/dist/plugin-sdk/slash-skill-commands.runtime-BNrQNIZ7.js +0 -16
- package/dist/plugin-sdk/subagent-registry-runtime-Cv8RHTjT.js +0 -52
- package/dist/plugin-sdk/web-C4tTN9Xu.js +0 -56
- package/dist/register.configure-DJj2p4b3.js +0 -165
- package/dist/slash-dispatch.runtime-BpDcu-GU.js +0 -114
- package/dist/subagent-registry-runtime-DNx1w9Cr.js +0 -114
- package/dist/web-DfVBXj7E.js +0 -118
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { f as isNotFoundPathError, p as isPathInside } from "./squidclaw-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 "./squidclaw-root-JXyRbQLJ.js";
|
|
2
|
+
import { a as openWritableFileWithinRoot, t as SafeOpenError } from "./fs-safe-BPQ-per2.js";
|
|
3
|
+
import { n as resolveSafeBaseDir } from "./path-safety-D7CjFQvf.js";
|
|
4
4
|
import path from "node:path";
|
|
5
|
-
import
|
|
5
|
+
import fsPromises 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 fsPromises.stat(direct)).isDirectory()) return direct;
|
|
82
82
|
} catch {}
|
|
83
|
-
const dirs = (await
|
|
83
|
+
const dirs = (await fsPromises.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 fsPromises.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 fsPromises.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 fsPromises.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 fsPromises.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 fsPromises.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 fsPromises.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 fsPromises.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 fsPromises.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 fsPromises.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 fsPromises.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 fsPromises.stat(params.archivePath)).size > limits.maxArchiveBytes) throw new Error(ERROR_ARCHIVE_SIZE_EXCEEDS_LIMIT);
|
|
279
|
+
const buffer = await fsPromises.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 fsPromises.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 fsPromises.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 fsPromises.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 fsPromises.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 fsPromises.realpath(baseDir);
|
|
439
439
|
const validateDirectory = async (dirPath) => {
|
|
440
|
-
const dirLstat = await
|
|
440
|
+
const dirLstat = await fsPromises.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 fsPromises.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-D6vohX1h.js";
|
|
2
2
|
import { i as isPathInside, r as extensionUsesSkippedScannerPath } from "./legacy-names-Q0o_2ITh.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-1ACGW3OR.js";
|
|
4
|
+
import { S as validateRegistryNpmSpec } from "./skills-EwyaIyKC.js";
|
|
5
|
+
import { c as writeFileFromPathWithinRoot } from "./fs-safe-BPQ-per2.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-DqI19VEv.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-Dn3FiWXB.js";
|
|
8
|
+
import { t as scanDirectoryWithSummary } from "./skill-scanner--QKHR8U0.js";
|
|
9
9
|
import path from "node:path";
|
|
10
|
-
import
|
|
10
|
+
import fsPromises from "node:fs/promises";
|
|
11
11
|
|
|
12
12
|
//#region src/plugins/install.ts
|
|
13
13
|
const MISSING_EXTENSIONS_ERROR = "package.json missing squidclaw.extensions; update the plugin package to include squidclaw.extensions (for example [\"./dist/index.js\"]). See https://docs.squidclaw.dev/help/troubleshooting#plugin-install-fails-with-missing-squidclaw-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 fsPromises.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 fsPromises.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-ByQNLJzP.js";
|
|
2
2
|
import { o as getTailnetHostname } from "./tailscale-DHGqQR08.js";
|
|
3
3
|
|
|
4
4
|
//#region src/gateway/gateway-config-prompts.shared.ts
|
|
@@ -2,14 +2,14 @@ import { a as logVerbose, c as shouldLogVerbose } from "./globals-BrhVUl-N.js";
|
|
|
2
2
|
import { _ as normalizeAccountId } from "./session-key-k6urs9r-.js";
|
|
3
3
|
import { v as resolveUserPath } from "./utils-D6vohX1h.js";
|
|
4
4
|
import { t as INTERNAL_MESSAGE_CHANNEL } from "./message-channel-DqvtYF2o.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-DFPxMLnR.js";
|
|
6
|
+
import { y as resolveAccountEntry } from "./accounts-BH9Qo1sQ.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-LFsSCTyI.js";
|
|
8
|
+
import { s as readLocalFileSafely, t as SafeOpenError } from "./fs-safe-BPQ-per2.js";
|
|
9
|
+
import { a as getDefaultMediaLocalRoots, n as fetchRemoteMedia } from "./fetch-CODl9dwL.js";
|
|
10
10
|
import { fileURLToPath } from "node:url";
|
|
11
11
|
import path from "node:path";
|
|
12
|
-
import
|
|
12
|
+
import fsPromises 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 fsPromises.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 fsPromises.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 fsPromises 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 fsPromises.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 fsPromises.mkdir(path.dirname(filePath), mkdirOptions);
|
|
27
27
|
const tmp = `${filePath}.${randomUUID()}.tmp`;
|
|
28
28
|
try {
|
|
29
|
-
await
|
|
29
|
+
await fsPromises.writeFile(tmp, payload, "utf8");
|
|
30
30
|
try {
|
|
31
|
-
await
|
|
31
|
+
await fsPromises.chmod(tmp, mode);
|
|
32
32
|
} catch {}
|
|
33
|
-
await
|
|
33
|
+
await fsPromises.rename(tmp, filePath);
|
|
34
34
|
try {
|
|
35
|
-
await
|
|
35
|
+
await fsPromises.chmod(filePath, mode);
|
|
36
36
|
} catch {}
|
|
37
37
|
} finally {
|
|
38
|
-
await
|
|
38
|
+
await fsPromises.rm(tmp, { force: true }).catch(() => void 0);
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
41
|
function createAsyncLock() {
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { d as colorize, f as isRich, g as getResolvedLoggerSettings, p as theme } from "./globals-BrhVUl-N.js";
|
|
2
2
|
import { d as resolveIsNixMode } from "./paths-CHIu6D1E.js";
|
|
3
3
|
import { d as defaultRuntime } from "./subsystem-Bw5n50gj.js";
|
|
4
|
-
import { z as loadConfig } from "./auth-profiles-
|
|
4
|
+
import { z as loadConfig } from "./auth-profiles-ByQNLJzP.js";
|
|
5
5
|
import { t as formatCliCommand } from "./command-format-D8-lYArk.js";
|
|
6
6
|
import { t as resolveGatewayCredentialsFromConfig } from "./credentials-CyQeGziJ.js";
|
|
7
7
|
import { f as resolveGatewaySystemdServiceName, l as resolveGatewayLaunchAgentLabel, p as resolveGatewayWindowsTaskName } from "./constants-vBANYkEo.js";
|
|
8
|
-
import { t as isWSL } from "./wsl-
|
|
9
|
-
import { r as isSystemdUserServiceAvailable } from "./systemd-
|
|
10
|
-
import { s as resolveGatewayLogPaths } from "./service-
|
|
11
|
-
import { a as checkTokenDrift, n as renderSystemdUnavailableHints } from "./systemd-hints-
|
|
8
|
+
import { t as isWSL } from "./wsl-CsGe5QCP.js";
|
|
9
|
+
import { r as isSystemdUserServiceAvailable } from "./systemd-B86VePXs.js";
|
|
10
|
+
import { s as resolveGatewayLogPaths } from "./service-B5T42CWZ.js";
|
|
11
|
+
import { a as checkTokenDrift, n as renderSystemdUnavailableHints } from "./systemd-hints-BmFWZu_j.js";
|
|
12
12
|
import { t as parsePort } from "./parse-port-CboE2EQm.js";
|
|
13
13
|
import { Writable } from "node:stream";
|
|
14
14
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { l as success, n as info, t as danger } from "./globals-BrhVUl-N.js";
|
|
2
2
|
import { d as defaultRuntime } from "./subsystem-Bw5n50gj.js";
|
|
3
|
-
import { z as loadConfig } from "./auth-profiles-
|
|
3
|
+
import { z as loadConfig } from "./auth-profiles-ByQNLJzP.js";
|
|
4
4
|
import { t as formatCliCommand } from "./command-format-D8-lYArk.js";
|
|
5
5
|
import { r as logInfo } from "./logger-DL3N22PJ.js";
|
|
6
|
-
import { i as resolveWhatsAppAccount, l as logoutWeb } from "./accounts-
|
|
7
|
-
import { i as waitForWaConnection, n as formatError, t as createWaSocket } from "./session-
|
|
6
|
+
import { i as resolveWhatsAppAccount, l as logoutWeb } from "./accounts-BH9Qo1sQ.js";
|
|
7
|
+
import { i as waitForWaConnection, n as formatError, t as createWaSocket } from "./session-eXSdl5mb.js";
|
|
8
8
|
import { DisconnectReason } from "@whiskeysockets/baileys";
|
|
9
9
|
|
|
10
10
|
//#region src/web/login.ts
|
|
@@ -2,10 +2,10 @@ import { l as success, n as info, t as danger } from "./globals-BrhVUl-N.js";
|
|
|
2
2
|
import "./paths-CHIu6D1E.js";
|
|
3
3
|
import { d as defaultRuntime } from "./subsystem-Bw5n50gj.js";
|
|
4
4
|
import "./boolean-DtWR5bt3.js";
|
|
5
|
-
import { z as loadConfig } from "./auth-profiles-
|
|
6
|
-
import "./agent-scope-
|
|
5
|
+
import { z as loadConfig } from "./auth-profiles-ByQNLJzP.js";
|
|
6
|
+
import "./agent-scope-CfsErfyG.js";
|
|
7
7
|
import "./utils-D6vohX1h.js";
|
|
8
|
-
import "./squidclaw-root-
|
|
8
|
+
import "./squidclaw-root-JXyRbQLJ.js";
|
|
9
9
|
import { r as logInfo } from "./logger-DL3N22PJ.js";
|
|
10
10
|
import "./exec-TSiqsZw1.js";
|
|
11
11
|
import "./registry-BXcl3IkC.js";
|
|
@@ -13,10 +13,10 @@ import "./github-copilot-token-CxitgiZA.js";
|
|
|
13
13
|
import "./host-env-security-lcjXF83D.js";
|
|
14
14
|
import "./version-3so140Zi.js";
|
|
15
15
|
import "./env-vars-mSSOl7Rv.js";
|
|
16
|
-
import "./manifest-registry-
|
|
17
|
-
import { _ as webAuthExists, i as resolveWhatsAppAccount, l as logoutWeb, p as readWebSelfId } from "./accounts-
|
|
16
|
+
import "./manifest-registry-1ACGW3OR.js";
|
|
17
|
+
import { _ as webAuthExists, i as resolveWhatsAppAccount, l as logoutWeb, p as readWebSelfId } from "./accounts-BH9Qo1sQ.js";
|
|
18
18
|
import "./logging-CcxUDNcI.js";
|
|
19
|
-
import { i as waitForWaConnection, n as formatError, r as getStatusCode, t as createWaSocket } from "./session-
|
|
19
|
+
import { i as waitForWaConnection, n as formatError, r as getStatusCode, t as createWaSocket } from "./session-eXSdl5mb.js";
|
|
20
20
|
import { randomUUID } from "node:crypto";
|
|
21
21
|
import { DisconnectReason } from "@whiskeysockets/baileys";
|
|
22
22
|
import QRCodeModule from "qrcode-terminal/vendor/QRCode/index.js";
|
|
@@ -2,11 +2,11 @@ import { b as isValidTimeZone, d as colorize, f as isRich, p as theme, y as form
|
|
|
2
2
|
import "./paths-CHIu6D1E.js";
|
|
3
3
|
import { p as clearActiveProgressLine } from "./subsystem-Bw5n50gj.js";
|
|
4
4
|
import "./boolean-DtWR5bt3.js";
|
|
5
|
-
import "./auth-profiles-
|
|
5
|
+
import "./auth-profiles-ByQNLJzP.js";
|
|
6
6
|
import { t as formatCliCommand } from "./command-format-D8-lYArk.js";
|
|
7
|
-
import "./agent-scope-
|
|
7
|
+
import "./agent-scope-CfsErfyG.js";
|
|
8
8
|
import "./utils-D6vohX1h.js";
|
|
9
|
-
import "./squidclaw-root-
|
|
9
|
+
import "./squidclaw-root-JXyRbQLJ.js";
|
|
10
10
|
import "./logger-DL3N22PJ.js";
|
|
11
11
|
import "./exec-TSiqsZw1.js";
|
|
12
12
|
import "./registry-BXcl3IkC.js";
|
|
@@ -14,16 +14,16 @@ import "./github-copilot-token-CxitgiZA.js";
|
|
|
14
14
|
import "./host-env-security-lcjXF83D.js";
|
|
15
15
|
import "./version-3so140Zi.js";
|
|
16
16
|
import "./env-vars-mSSOl7Rv.js";
|
|
17
|
-
import "./manifest-registry-
|
|
17
|
+
import "./manifest-registry-1ACGW3OR.js";
|
|
18
18
|
import "./message-channel-DqvtYF2o.js";
|
|
19
|
-
import "./client-
|
|
20
|
-
import { t as buildGatewayConnectionDetails } from "./call-
|
|
19
|
+
import "./client-DFgW99bv.js";
|
|
20
|
+
import { t as buildGatewayConnectionDetails } from "./call-BPIaCRGe.js";
|
|
21
21
|
import "./pairing-token-B_ig96RO.js";
|
|
22
|
-
import "./net-
|
|
23
|
-
import "./tailnet-
|
|
22
|
+
import "./net-QB4dfP4-.js";
|
|
23
|
+
import "./tailnet-QKMSnz19.js";
|
|
24
24
|
import { t as formatDocsLink } from "./links-Dye6HsRG.js";
|
|
25
25
|
import "./progress-DuhDspl6.js";
|
|
26
|
-
import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-
|
|
26
|
+
import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-mBKSbosL.js";
|
|
27
27
|
import { t as parseLogLine } from "./parse-log-line-Cg7e_EO6.js";
|
|
28
28
|
import { setTimeout } from "node:timers/promises";
|
|
29
29
|
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import { g as resolveStateDir } from "./paths-CHIu6D1E.js";
|
|
2
2
|
import { t as createSubsystemLogger } from "./subsystem-Bw5n50gj.js";
|
|
3
3
|
import { r as isTruthyEnvValue } from "./entry.js";
|
|
4
|
-
import { Ai as normalizeOptionalSecretInput, Zr as retryAsync, gi as resolveEnvApiKey, mi as resolveApiKeyForProvider, pi as requireApiKey } from "./auth-profiles-
|
|
5
|
-
import { a as resolveAgentDir, i as resolveAgentConfig, u as resolveAgentWorkspaceDir } from "./agent-scope-
|
|
4
|
+
import { Ai as normalizeOptionalSecretInput, Zr as retryAsync, gi as resolveEnvApiKey, mi as resolveApiKeyForProvider, pi as requireApiKey } from "./auth-profiles-ByQNLJzP.js";
|
|
5
|
+
import { a as resolveAgentDir, i as resolveAgentConfig, u as resolveAgentWorkspaceDir } from "./agent-scope-CfsErfyG.js";
|
|
6
6
|
import { T as truncateUtf16Safe, i as clampNumber, r as clampInt, v as resolveUserPath } from "./utils-D6vohX1h.js";
|
|
7
7
|
import { M as normalizeResolvedSecretInputString } from "./registry-BXcl3IkC.js";
|
|
8
8
|
import { s as resolveSessionTranscriptsDirForAgent } from "./paths-Dn_rzeZN.js";
|
|
9
9
|
import { n as onSessionTranscriptUpdate } from "./transcript-events-DgzPL8Hc.js";
|
|
10
10
|
import { r as formatErrorMessage } from "./errors-BnRmsfe-.js";
|
|
11
|
-
import { t as fetchWithSsrFGuard } from "./fetch-guard-
|
|
12
|
-
import { n as executeWithApiKeyRotation, r as parseGeminiAuth, t as collectProviderApiKeysForExecution } from "./api-key-rotation-
|
|
13
|
-
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-
|
|
11
|
+
import { t as fetchWithSsrFGuard } from "./fetch-guard-C9XQ9W19.js";
|
|
12
|
+
import { n as executeWithApiKeyRotation, r as parseGeminiAuth, t as collectProviderApiKeysForExecution } from "./api-key-rotation-D8zY84vq.js";
|
|
13
|
+
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-C0HUJbRn.js";
|
|
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 fsPromises from "node:fs/promises";
|
|
18
18
|
import { randomUUID } from "node:crypto";
|
|
19
19
|
import chokidar from "chokidar";
|
|
20
20
|
import { createInterface } from "node:readline";
|
|
@@ -1049,7 +1049,7 @@ async function extractTimestamp(params) {
|
|
|
1049
1049
|
if (!params.workspaceDir) return null;
|
|
1050
1050
|
const absolutePath = path.isAbsolute(params.filePath) ? params.filePath : path.resolve(params.workspaceDir, params.filePath);
|
|
1051
1051
|
try {
|
|
1052
|
-
const stat = await
|
|
1052
|
+
const stat = await fsPromises.stat(absolutePath);
|
|
1053
1053
|
if (!Number.isFinite(stat.mtimeMs)) return null;
|
|
1054
1054
|
return new Date(stat.mtimeMs);
|
|
1055
1055
|
} catch {
|
|
@@ -2210,7 +2210,7 @@ var MemoryManagerSyncOps = class {
|
|
|
2210
2210
|
const source = `${sourceBase}${suffix}`;
|
|
2211
2211
|
const target = `${targetBase}${suffix}`;
|
|
2212
2212
|
try {
|
|
2213
|
-
await
|
|
2213
|
+
await fsPromises.rename(source, target);
|
|
2214
2214
|
} catch (err) {
|
|
2215
2215
|
if (err.code !== "ENOENT") throw err;
|
|
2216
2216
|
}
|
|
@@ -2221,7 +2221,7 @@ var MemoryManagerSyncOps = class {
|
|
|
2221
2221
|
"",
|
|
2222
2222
|
"-wal",
|
|
2223
2223
|
"-shm"
|
|
2224
|
-
].map((suffix) =>
|
|
2224
|
+
].map((suffix) => fsPromises.rm(`${basePath}${suffix}`, { force: true })));
|
|
2225
2225
|
}
|
|
2226
2226
|
ensureSchema() {
|
|
2227
2227
|
const result = ensureMemoryIndexSchema({
|
|
@@ -2316,7 +2316,7 @@ var MemoryManagerSyncOps = class {
|
|
|
2316
2316
|
if (!thresholds) return null;
|
|
2317
2317
|
let stat;
|
|
2318
2318
|
try {
|
|
2319
|
-
stat = await
|
|
2319
|
+
stat = await fsPromises.stat(sessionFile);
|
|
2320
2320
|
} catch {
|
|
2321
2321
|
return null;
|
|
2322
2322
|
}
|
|
@@ -2358,7 +2358,7 @@ var MemoryManagerSyncOps = class {
|
|
|
2358
2358
|
if (end <= start) return 0;
|
|
2359
2359
|
let handle;
|
|
2360
2360
|
try {
|
|
2361
|
-
handle = await
|
|
2361
|
+
handle = await fsPromises.open(absPath, "r");
|
|
2362
2362
|
} catch (err) {
|
|
2363
2363
|
if (isFileMissingError(err)) return 0;
|
|
2364
2364
|
throw err;
|
|
@@ -3301,7 +3301,7 @@ var MemoryManagerEmbeddingOps = class extends MemoryManagerSyncOps {
|
|
|
3301
3301
|
});
|
|
3302
3302
|
return;
|
|
3303
3303
|
}
|
|
3304
|
-
const content = options.content ?? await
|
|
3304
|
+
const content = options.content ?? await fsPromises.readFile(entry.absPath, "utf-8");
|
|
3305
3305
|
const chunks = enforceEmbeddingMaxInputTokens(this.provider, chunkMarkdown(content, this.settings.chunking).filter((chunk) => chunk.text.trim().length > 0), EMBEDDING_BATCH_MAX_TOKENS);
|
|
3306
3306
|
if (options.source === "sessions" && "lineMap" in entry) remapChunkLines(chunks, entry.lineMap);
|
|
3307
3307
|
const embeddings = this.batch.enabled ? await this.embedChunksWithBatch(chunks, entry, options.source) : await this.embedChunksInBatches(chunks);
|
|
@@ -3719,7 +3719,7 @@ var MemoryIndexManager = class MemoryIndexManager extends MemoryManagerEmbedding
|
|
|
3719
3719
|
if (!allowedWorkspace && this.settings.extraPaths.length > 0) {
|
|
3720
3720
|
const additionalPaths = normalizeExtraMemoryPaths(this.workspaceDir, this.settings.extraPaths);
|
|
3721
3721
|
for (const additionalPath of additionalPaths) try {
|
|
3722
|
-
const stat = await
|
|
3722
|
+
const stat = await fsPromises.lstat(additionalPath);
|
|
3723
3723
|
if (stat.isSymbolicLink()) continue;
|
|
3724
3724
|
if (stat.isDirectory()) {
|
|
3725
3725
|
if (absPath === additionalPath || absPath.startsWith(`${additionalPath}${path.sep}`)) {
|
|
@@ -3744,7 +3744,7 @@ var MemoryIndexManager = class MemoryIndexManager extends MemoryManagerEmbedding
|
|
|
3744
3744
|
};
|
|
3745
3745
|
let content;
|
|
3746
3746
|
try {
|
|
3747
|
-
content = await
|
|
3747
|
+
content = await fsPromises.readFile(absPath, "utf-8");
|
|
3748
3748
|
} catch (err) {
|
|
3749
3749
|
if (isFileMissingError(err)) return {
|
|
3750
3750
|
text: "",
|
|
@@ -2,10 +2,10 @@ import "./globals-BrhVUl-N.js";
|
|
|
2
2
|
import "./paths-CHIu6D1E.js";
|
|
3
3
|
import "./subsystem-Bw5n50gj.js";
|
|
4
4
|
import "./boolean-DtWR5bt3.js";
|
|
5
|
-
import "./auth-profiles-
|
|
6
|
-
import "./agent-scope-
|
|
5
|
+
import "./auth-profiles-ByQNLJzP.js";
|
|
6
|
+
import "./agent-scope-CfsErfyG.js";
|
|
7
7
|
import "./utils-D6vohX1h.js";
|
|
8
|
-
import "./squidclaw-root-
|
|
8
|
+
import "./squidclaw-root-JXyRbQLJ.js";
|
|
9
9
|
import "./logger-DL3N22PJ.js";
|
|
10
10
|
import "./exec-TSiqsZw1.js";
|
|
11
11
|
import "./registry-BXcl3IkC.js";
|
|
@@ -13,14 +13,14 @@ import "./github-copilot-token-CxitgiZA.js";
|
|
|
13
13
|
import "./host-env-security-lcjXF83D.js";
|
|
14
14
|
import "./version-3so140Zi.js";
|
|
15
15
|
import "./env-vars-mSSOl7Rv.js";
|
|
16
|
-
import "./manifest-registry-
|
|
16
|
+
import "./manifest-registry-1ACGW3OR.js";
|
|
17
17
|
import "./paths-Dn_rzeZN.js";
|
|
18
18
|
import "./redact-DknVdX-O.js";
|
|
19
19
|
import "./errors-BnRmsfe-.js";
|
|
20
|
-
import "./proxy-env-
|
|
21
|
-
import "./fetch-guard-
|
|
22
|
-
import "./api-key-rotation-
|
|
23
|
-
import { t as MemoryIndexManager } from "./manager-
|
|
24
|
-
import "./query-expansion-
|
|
20
|
+
import "./proxy-env-CNlcVWhf.js";
|
|
21
|
+
import "./fetch-guard-C9XQ9W19.js";
|
|
22
|
+
import "./api-key-rotation-D8zY84vq.js";
|
|
23
|
+
import { t as MemoryIndexManager } from "./manager-CFg5CNjB.js";
|
|
24
|
+
import "./query-expansion-C0HUJbRn.js";
|
|
25
25
|
|
|
26
26
|
export { MemoryIndexManager };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { h as resolveConfigDir, u as isRecord, v as resolveUserPath } from "./utils-D6vohX1h.js";
|
|
2
|
-
import { a as openBoundaryFileSync, p as isPathInside$1 } from "./squidclaw-root-
|
|
2
|
+
import { a as openBoundaryFileSync, p as isPathInside$1 } from "./squidclaw-root-JXyRbQLJ.js";
|
|
3
3
|
import { l as normalizeChatChannelId } from "./registry-BXcl3IkC.js";
|
|
4
4
|
import { n as MANIFEST_KEY } from "./legacy-names-Q0o_2ITh.js";
|
|
5
5
|
import { fileURLToPath } from "node:url";
|
|
@@ -2,13 +2,13 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
|
2
2
|
import { d as colorize, f as isRich, p as theme, s as setVerbose } from "./globals-BrhVUl-N.js";
|
|
3
3
|
import { g as resolveStateDir } from "./paths-CHIu6D1E.js";
|
|
4
4
|
import { d as defaultRuntime, t as createSubsystemLogger } from "./subsystem-Bw5n50gj.js";
|
|
5
|
-
import { Cn as splitShellArgs, pt as parseDurationMs, z as loadConfig } from "./auth-profiles-
|
|
6
|
-
import { d as resolveDefaultAgentId, u as resolveAgentWorkspaceDir } from "./agent-scope-
|
|
5
|
+
import { Cn as splitShellArgs, pt as parseDurationMs, z as loadConfig } from "./auth-profiles-ByQNLJzP.js";
|
|
6
|
+
import { d as resolveDefaultAgentId, u as resolveAgentWorkspaceDir } from "./agent-scope-CfsErfyG.js";
|
|
7
7
|
import { b as shortenHomeInString, v as resolveUserPath, x as shortenHomePath } from "./utils-D6vohX1h.js";
|
|
8
8
|
import { s as resolveSessionTranscriptsDirForAgent } from "./paths-Dn_rzeZN.js";
|
|
9
9
|
import { r as formatErrorMessage } from "./errors-BnRmsfe-.js";
|
|
10
|
-
import { r as getMemoryCommandSecretTargetIds, s as resolveCommandSecretRefsViaGateway } from "./command-secret-targets-
|
|
11
|
-
import { f as listMemoryFiles, p as normalizeExtraMemoryPaths } from "./query-expansion-
|
|
10
|
+
import { r as getMemoryCommandSecretTargetIds, s as resolveCommandSecretRefsViaGateway } from "./command-secret-targets-Blzote2A.js";
|
|
11
|
+
import { f as listMemoryFiles, p as normalizeExtraMemoryPaths } from "./query-expansion-C0HUJbRn.js";
|
|
12
12
|
import { t as formatDocsLink } from "./links-Dye6HsRG.js";
|
|
13
13
|
import { r as withManager } from "./cli-utils-BKqG4ZT-.js";
|
|
14
14
|
import { t as formatHelpExamples } from "./help-format-CpR5cEGe.js";
|
|
@@ -16,7 +16,7 @@ import { n as withProgress, r as withProgressTotals } from "./progress-DuhDspl6.
|
|
|
16
16
|
import os from "node:os";
|
|
17
17
|
import path from "node:path";
|
|
18
18
|
import fs from "node:fs";
|
|
19
|
-
import
|
|
19
|
+
import fsPromises from "node:fs/promises";
|
|
20
20
|
|
|
21
21
|
//#region src/memory/backend-config.ts
|
|
22
22
|
const DEFAULT_BACKEND = "builtin";
|
|
@@ -220,7 +220,7 @@ const log = createSubsystemLogger("memory");
|
|
|
220
220
|
const QMD_MANAGER_CACHE = /* @__PURE__ */ new Map();
|
|
221
221
|
let managerRuntimePromise = null;
|
|
222
222
|
function loadManagerRuntime() {
|
|
223
|
-
managerRuntimePromise ??= import("./manager-runtime-
|
|
223
|
+
managerRuntimePromise ??= import("./manager-runtime-BucyWusE.js");
|
|
224
224
|
return managerRuntimePromise;
|
|
225
225
|
}
|
|
226
226
|
async function getMemorySearchManager(params) {
|
|
@@ -234,7 +234,7 @@ async function getMemorySearchManager(params) {
|
|
|
234
234
|
if (cached) return { manager: cached };
|
|
235
235
|
}
|
|
236
236
|
try {
|
|
237
|
-
const { QmdMemoryManager } = await import("./qmd-manager-
|
|
237
|
+
const { QmdMemoryManager } = await import("./qmd-manager-D4nXiiAn.js");
|
|
238
238
|
const primary = await QmdMemoryManager.create({
|
|
239
239
|
cfg: params.cfg,
|
|
240
240
|
agentId: params.agentId,
|
|
@@ -452,7 +452,7 @@ async function withMemoryManagerForAgent(params) {
|
|
|
452
452
|
}
|
|
453
453
|
async function checkReadableFile(pathname) {
|
|
454
454
|
try {
|
|
455
|
-
await
|
|
455
|
+
await fsPromises.access(pathname, fs.constants.R_OK);
|
|
456
456
|
return { exists: true };
|
|
457
457
|
} catch (err) {
|
|
458
458
|
const code = err.code;
|
|
@@ -469,7 +469,7 @@ async function scanSessionFiles(agentId) {
|
|
|
469
469
|
try {
|
|
470
470
|
return {
|
|
471
471
|
source: "sessions",
|
|
472
|
-
totalFiles: (await
|
|
472
|
+
totalFiles: (await fsPromises.readdir(sessionsDir, { withFileTypes: true })).filter((entry) => entry.isFile() && entry.name.endsWith(".jsonl")).length,
|
|
473
473
|
issues
|
|
474
474
|
};
|
|
475
475
|
} catch (err) {
|
|
@@ -501,7 +501,7 @@ async function scanMemoryFiles(workspaceDir, extraPaths = []) {
|
|
|
501
501
|
if (alt.issue) issues.push(alt.issue);
|
|
502
502
|
const resolvedExtraPaths = normalizeExtraMemoryPaths(workspaceDir, extraPaths);
|
|
503
503
|
for (const extraPath of resolvedExtraPaths) try {
|
|
504
|
-
if ((await
|
|
504
|
+
if ((await fsPromises.lstat(extraPath)).isSymbolicLink()) continue;
|
|
505
505
|
const extraCheck = await checkReadableFile(extraPath);
|
|
506
506
|
if (extraCheck.issue) issues.push(extraCheck.issue);
|
|
507
507
|
} catch (err) {
|
|
@@ -511,7 +511,7 @@ async function scanMemoryFiles(workspaceDir, extraPaths = []) {
|
|
|
511
511
|
}
|
|
512
512
|
let dirReadable = null;
|
|
513
513
|
try {
|
|
514
|
-
await
|
|
514
|
+
await fsPromises.access(memoryDir, fs.constants.R_OK);
|
|
515
515
|
dirReadable = true;
|
|
516
516
|
} catch (err) {
|
|
517
517
|
const code = err.code;
|
|
@@ -559,7 +559,7 @@ async function summarizeQmdIndexArtifact(manager) {
|
|
|
559
559
|
if (!dbPath) return null;
|
|
560
560
|
let stat;
|
|
561
561
|
try {
|
|
562
|
-
stat = await
|
|
562
|
+
stat = await fsPromises.stat(dbPath);
|
|
563
563
|
} catch (err) {
|
|
564
564
|
const code = err.code;
|
|
565
565
|
if (code === "ENOENT") throw new Error(`QMD index file not found: ${shortenHomePath(dbPath)}`, { cause: err });
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
|
-
import { Fi as DEFAULT_CONTEXT_TOKENS, Sr as normalizeProviderId, sr as resolveSquidClawAgentDir } from "./auth-profiles-
|
|
3
|
-
import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-
|
|
2
|
+
import { Fi as DEFAULT_CONTEXT_TOKENS, Sr as normalizeProviderId, sr as resolveSquidClawAgentDir } from "./auth-profiles-ByQNLJzP.js";
|
|
3
|
+
import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-Cj7zDFgN.js";
|
|
4
4
|
|
|
5
5
|
//#region src/agents/model-alias-lines.ts
|
|
6
6
|
function buildModelAliasLines(cfg) {
|