@symerian/symi 2.3.1 → 2.3.3
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-ChTFYj8Q.js → accounts-CWktKM8a.js} +1 -1
- package/dist/{accounts-DDuIpcln.js → accounts-Cd816n6l.js} +7 -7
- package/dist/{accounts-bK-Yqdwx.js → accounts-CokRskCl.js} +1 -1
- package/dist/{accounts-DyJN4_vR.js → accounts-mN_EcgxC.js} +1 -1
- package/dist/{accounts-CJR8j_Kq.js → accounts-qtxJ-6em.js} +1 -1
- package/dist/{accounts-CI6zQTJj.js → accounts-tNElYrCH.js} +14 -14
- package/dist/{acp-cli-Cu4icbJT.js → acp-cli-BgyJMtqt.js} +6 -6
- package/dist/{active-listener-D6sXIjAg.js → active-listener-C9r8ZB9m.js} +1 -1
- package/dist/{agent-scope-CgUHAtCo.js → agent-scope-BRwEc2pG.js} +18 -18
- package/dist/{agent-scope-Bw1Ed8W9.js → agent-scope-BxoUQqgM.js} +3 -3
- package/dist/{agents-DzuttgJU.js → agents-DjLt6jc3.js} +4 -4
- package/dist/{agents.config-CSucty2T.js → agents.config-Dt7B_P5o.js} +1 -1
- package/dist/{agents.config-2HlZJsR3.js → agents.config-u_ibObha.js} +2 -2
- package/dist/{api-key-rotation-CzuPlV2t.js → api-key-rotation-CEr3lKih.js} +1 -1
- package/dist/{audio-preflight-C40mKAp7.js → audio-preflight-CPBOQV4I.js} +4 -4
- package/dist/{audio-preflight-CWnxkaac.js → audio-preflight-CjysqO8U.js} +28 -28
- package/dist/{audio-preflight-BsfqyC31.js → audio-preflight-D02HwB-I.js} +29 -29
- package/dist/{audit-CrITRV6w.js → audit-BSB9NPSO.js} +23 -23
- package/dist/{auth-choice-Cve09z1a.js → auth-choice-DUUu6Nhg.js} +1 -1
- package/dist/{auth-choice-ChrEc3cZ.js → auth-choice-DmSG7c8J.js} +8 -8
- package/dist/{auth-token-BnOynwk4.js → auth-token-DC5w1WoS.js} +1 -1
- package/dist/{banner-BoLflN_R.js → banner-BiAcdT2T.js} +1 -1
- package/dist/{bindings-BU2hsBd9.js → bindings-B7Ke6LJi.js} +2 -2
- package/dist/{bindings-DFaVVCsf.js → bindings-ChzePa8q.js} +1 -1
- package/dist/{browser-cli-BG4qPxpM.js → browser-cli-C4D9Ql3c.js} +9 -9
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +53 -53
- package/dist/bundled/bootstrap-extra-files/handler.js +5 -5
- package/dist/bundled/command-logger/handler.js +1 -1
- package/dist/bundled/session-memory/handler.js +53 -53
- package/dist/{call-CJaS1iRF.js → call-Dd7-bkfG.js} +9 -9
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-activity-C9-gaquj.js → channel-activity-CsM_hJ_s.js} +1 -1
- package/dist/{channel-options-DqgeO1f6.js → channel-options-ClfXE1B7.js} +1 -1
- package/dist/{channel-options-Dkd1WQZx.js → channel-options-vQREpu-n.js} +2 -2
- package/dist/{channel-selection-DuWs0Aak.js → channel-selection-DjfBv8kq.js} +1 -1
- package/dist/{channel-web-CJvDQ5Ea.js → channel-web-y6pd_GHr.js} +17 -17
- package/dist/{channels-cli-D0jjOLRb.js → channels-cli-CjYD1_OO.js} +75 -75
- package/dist/{channels-cli-DtqwJZWy.js → channels-cli-suXRcyfF.js} +4 -4
- package/dist/{channels-status-issues-B_kBkl_u.js → channels-status-issues-BoH1ZJPN.js} +1 -1
- package/dist/{chrome-CDJYxX5a.js → chrome-D2SKJnR7.js} +7 -7
- package/dist/{chrome-w3SLcQJF.js → chrome-EyvdASWt.js} +20 -20
- package/dist/{chrome-DtPkPq9T.js → chrome-r4RThPxq.js} +2 -2
- package/dist/{chunk-ClbN9Pqy.js → chunk-BW5f05BR.js} +1 -1
- package/dist/cli/daemon-cli.js +1 -1
- package/dist/{cli-CHOmeum9.js → cli-B-911QZL.js} +62 -62
- package/dist/{cli-CEtg8kql.js → cli-mbfUlFn3.js} +1 -1
- package/dist/{client-CQSyCS4M.js → client-BsrZnuSi.js} +1 -1
- package/dist/{command-format-UKHV-j0K.js → command-format-BaxDnULz.js} +1 -1
- package/dist/{command-registry-Ba2z3dYq.js → command-registry-y8CXSD5O.js} +9 -9
- package/dist/{commands-BNLCWX6e.js → commands-CtocZ4Lg.js} +1 -1
- package/dist/{commands-registry-BT0-zzs3.js → commands-registry-BZ0ZSQpM.js} +3 -3
- package/dist/{commands-registry-VSmULp-g.js → commands-registry-D7CTCQPm.js} +4 -4
- package/dist/{completion-cli-CD-306wt.js → completion-cli-2Mi5hts2.js} +2 -2
- package/dist/{completion-cli-BgX3MWVU.js → completion-cli-BLrwUAyo.js} +12 -12
- package/dist/{config-CHwyw6l5.js → config-CJMcIRQM.js} +2 -2
- package/dist/{config-eEaJddXj.js → config-DRbjHIwD.js} +12 -12
- package/dist/{config-cli-Cz87-TYh.js → config-cli-CF-wdLkO.js} +4 -4
- package/dist/{config-cli-DAbXVRUL.js → config-cli-tYZAnvgQ.js} +1 -1
- package/dist/{config-guard-BflmO0t7.js → config-guard-C1Rs8NZG.js} +12 -12
- package/dist/{config-validation-CmimHAES.js → config-validation-ChQQVndI.js} +1 -1
- package/dist/{configure-D45ne4lm.js → configure-BHKdqhLb.js} +15 -15
- package/dist/{configure-0nrthdSf.js → configure-si19m30s.js} +3 -3
- package/dist/{control-service-Bz7rxLWq.js → control-service-B8H3Bqpv.js} +4 -4
- package/dist/{control-ui-assets-Z947tKLt.js → control-ui-assets-DqGziq7x.js} +1 -1
- package/dist/{cron-cli-DBIlCvp3.js → cron-cli-YrMWJCkm.js} +10 -10
- package/dist/{daemon-cli-DscwlsKW.js → daemon-cli-Dx4SXRyp.js} +11 -11
- package/dist/{daemon-runtime-2mwX-jqj.js → daemon-runtime--RiRUx_2.js} +10 -10
- package/dist/{deliver-BH0l3UKW.js → deliver-C-37cZUe.js} +1 -1
- package/dist/{deliver-BmPK91JP.js → deliver-D1ZN6-fl.js} +20 -20
- package/dist/{deliver-CceEhg3d.js → deliver-Um8yyhRA.js} +7 -7
- package/dist/{devices-cli-Dds-25Ve.js → devices-cli-DAJ84AOe.js} +6 -6
- package/dist/{diagnostic-C3nsWaw3.js → diagnostic-CI0kRQkt.js} +1 -1
- package/dist/{diagnostics-BAMlsVVX.js → diagnostics-D2yUMZN1.js} +5 -5
- package/dist/{directory-cli-CpUByQew.js → directory-cli-C4h8KQLH.js} +7 -7
- package/dist/{dm-policy-shared-Bh3TbexU.js → dm-policy-shared-BCSw0GJS.js} +2 -2
- package/dist/{dns-cli-Beyzdh3S.js → dns-cli-s0ZWvTPm.js} +3 -3
- package/dist/{dock-BhS32F6E.js → dock-BYiRZSgZ.js} +4 -4
- package/dist/{docs-cli-BpnEOtJi.js → docs-cli-BfPfHTDs.js} +1 -1
- package/dist/{doctor-completion-CcDVOtZ5.js → doctor-completion-C19QYsQN.js} +2 -2
- package/dist/{doctor-completion-CmGtqUHQ.js → doctor-completion-Dn_Kn4gz.js} +1 -1
- package/dist/{doctor-config-flow-QnaBd8kL.js → doctor-config-flow-D05HlWdn.js} +10 -10
- package/dist/entry.js +1 -1
- package/dist/{exec-approvals-cli-BliRl8VB.js → exec-approvals-cli-Df1lyRyE.js} +13 -13
- package/dist/extensionAPI.js +6 -6
- package/dist/{frontmatter-DPlG6yha.js → frontmatter-C_bv_0P8.js} +2 -2
- package/dist/{fs-safe-CUjO1ca2.js → fs-safe-CTDvb1DF.js} +6 -6
- package/dist/{gateway-cli-DajX3Pye.js → gateway-cli-B7khyAHs.js} +139 -155
- package/dist/{gateway-cli-BVN31fwu.js → gateway-cli-DG_Mdw0H.js} +35 -51
- package/dist/{gateway-rpc-BxkKeCZ0.js → gateway-rpc-DFeD8pZh.js} +1 -1
- package/dist/{gemini-auth-CF48hUR9.js → gemini-auth-CdSPHuLl.js} +1 -1
- package/dist/{github-copilot-token-DJqsJ2-r.js → github-copilot-token-C_qUP7p5.js} +7 -7
- package/dist/{glass-ui-ws-CQG6acJl.js → glass-ui-ws-BAub_JoN.js} +7 -7
- package/dist/{glass-ui-ws-Z1IOT6Vc.js → glass-ui-ws-BmQAULMj.js} +82 -82
- package/dist/{health-D9eQW7fJ.js → health-CboWXJkq.js} +1 -1
- package/dist/{health-f056vLGT.js → health-DkKXiUEF.js} +13 -13
- package/dist/{hooks-cli-hJ4euq2R.js → hooks-cli-BrO_9pas.js} +76 -76
- package/dist/{hooks-cli-CW-IRS72.js → hooks-cli-DLM_5caf.js} +2 -2
- package/dist/{image-D9uvDTrc.js → image-BiY-PfMh.js} +3 -3
- package/dist/{image-rZ4x9VS9.js → image-Cp3JDEBB.js} +4 -4
- package/dist/{image-CHzdaNJ4.js → image-DcpMiprB.js} +1 -1
- package/dist/{image-ops-S8-8dAhx.js → image-ops-CvJzsyvE.js} +1 -1
- package/dist/{image-ops-1OJMSAUX.js → image-ops-DYbDWaIA.js} +10 -10
- package/dist/index.js +72 -72
- package/dist/{inspect-CllGjsWo.js → inspect-ZJkNX0WL.js} +4 -4
- package/dist/{install-safe-path-tCLiMpmO.js → install-safe-path-Qqr_t_tH.js} +11 -11
- package/dist/{installs-C1Cebk97.js → installs-O9KlRu9h.js} +10 -10
- package/dist/{ir-CbFUkv_T.js → ir-DccrnjsE.js} +4 -4
- package/dist/{ir-DZam9q5M.js → ir-Dt4hOzxG.js} +6 -6
- package/dist/{lifecycle-core-D6LYXpFj.js → lifecycle-core-BkPSoGM2.js} +5 -5
- package/dist/llm-slug-generator.js +53 -53
- package/dist/{local-roots-aAFLQGkY.js → local-roots-BBeKX7PX.js} +2 -2
- package/dist/{local-roots-C7OCYACU.js → local-roots-DMwIh5cS.js} +5 -5
- package/dist/{login-dIlDkG4X.js → login-1sleXoB4.js} +3 -3
- package/dist/{login-B8uiUAnV.js → login-CwCoxapk.js} +7 -7
- package/dist/{login-qr-CIZk8uKX.js → login-qr-Batf3PT5.js} +12 -12
- package/dist/{login-qr-pbXdFORv.js → login-qr-wCWBOMwB.js} +5 -5
- package/dist/{logs-cli-xOzIPrHm.js → logs-cli-DVeEdUCU.js} +7 -7
- package/dist/{manager-D4LJSRyZ.js → manager-C1CfGzZ2.js} +13 -13
- package/dist/{manager-BoLr3xR_.js → manager-D_LwXbc6.js} +13 -13
- package/dist/{manifest-registry-CneMHk0N.js → manifest-registry-D0IQ3WuX.js} +19 -19
- package/dist/{markdown-tables-CEbN0fEm.js → markdown-tables-ZwP14ydw.js} +1 -1
- package/dist/{markdown-tables-DSHvnTLx.js → markdown-tables-iMQQZu4Q.js} +1 -1
- package/dist/{memory-cli-Ca5r9AUb.js → memory-cli-lk6fRiwy.js} +14 -14
- package/dist/{message-channel-DbsRltF2.js → message-channel-Dz5lr5b0.js} +1 -1
- package/dist/{model-tWhwnFf8.js → model-CeeOcylL.js} +1 -1
- package/dist/{model-auth-CwOuTuXl.js → model-auth-DK43VicI.js} +9 -9
- package/dist/{model-catalog-DvBJ8pMD.js → model-catalog-C3NLvWC2.js} +4 -4
- package/dist/{model-picker-Ddo3jHe-.js → model-picker-LKZLY2DL.js} +3 -3
- package/dist/{model-selection-CyFvYcRt.js → model-selection-X1oLh3CE.js} +9 -9
- package/dist/{models-nO_t1uzp.js → models-BmiRYEVd.js} +2 -2
- package/dist/{models-cli-B2ticsCM.js → models-cli-4vQrbW6G.js} +72 -72
- package/dist/{models-cli-D9bG44Ao.js → models-cli-Tf61I97Q.js} +3 -3
- package/dist/{models-config-qyOXrOli.js → models-config-CqDdkHJq.js} +7 -7
- package/dist/{node-cli-C_G-Q3h-.js → node-cli-Jj2LTGzF.js} +28 -28
- package/dist/{node-service-Cxz4e-Qd.js → node-service-CJygtY5M.js} +1 -1
- package/dist/{nodes-cli-BcnuJajV.js → nodes-cli-C43ifECe.js} +10 -10
- package/dist/{nodes-screen-VBGXKdLk.js → nodes-screen-C99kfE1u.js} +4 -4
- package/dist/{npm-registry-spec-C2JDdSZS.js → npm-registry-spec-DR_at_Hp.js} +9 -9
- package/dist/{onboard-BDbpfrZj.js → onboard-D8uxVvMq.js} +13 -13
- package/dist/{onboard-BtZ9WqhJ.js → onboard-FpptSqHZ.js} +2 -2
- package/dist/{onboard-channels-HubyUVjT.js → onboard-channels-DOKid2w1.js} +5 -5
- package/dist/{onboard-channels-CHE8nfNA.js → onboard-channels-Q_xxgZ8O.js} +1 -1
- package/dist/{onboard-custom-C7O-zfQ1.js → onboard-custom-DPJiy9aT.js} +3 -3
- package/dist/{onboard-helpers-ZmZYzlq3.js → onboard-helpers-Dixh6cNh.js} +8 -8
- package/dist/{onboard-hooks-BAA8CoVv.js → onboard-hooks-lsws7g2s.js} +1 -1
- package/dist/{onboard-remote-zUjD7UtM.js → onboard-remote-B66ZWtkN.js} +1 -1
- package/dist/{onboard-skills-BB0YhUmF.js → onboard-skills-B0IA09ig.js} +4 -4
- package/dist/{onboarding-eVb5gvwo.js → onboarding-CdlGKa0U.js} +13 -13
- package/dist/{onboarding-DtP0sps0.js → onboarding-DhIEUmp5.js} +3 -3
- package/dist/{onboarding.finalize-D8035U2E.js → onboarding.finalize-CEYLIXkq.js} +6 -6
- package/dist/{onboarding.finalize-CetxPTxL.js → onboarding.finalize-DyBsPxXJ.js} +74 -74
- package/dist/{onboarding.gateway-config-CJUgDC6Y.js → onboarding.gateway-config-CCJqI0kw.js} +14 -14
- package/dist/{openai-model-default-DMjQRsb1.js → openai-model-default-BJ1IZ3TN.js} +2 -2
- package/dist/{outbound-opDNxv-l.js → outbound-D4fN_ZlE.js} +7 -7
- package/dist/{outbound-DB5Zus0-.js → outbound-NJCy0h4x.js} +4 -4
- package/dist/{outbound-attachment-D_QuKi8U.js → outbound-attachment-D62E0xDI.js} +2 -2
- package/dist/{outbound-attachment-Co2diKdP.js → outbound-attachment-DjNDa3zn.js} +2 -2
- package/dist/{pairing-cli-CBLfGvqW.js → pairing-cli-CcW0ndhB.js} +8 -8
- package/dist/{pairing-labels-2S6x2UoV.js → pairing-labels-27SOKDzJ.js} +1 -1
- package/dist/{pairing-store-CK726Dzq.js → pairing-store-B8ktu-6j.js} +2 -2
- package/dist/{pairing-token-CX3NN_qj.js → pairing-token-AV-MMfVE.js} +7 -7
- package/dist/{paths-BBm9fwuG.js → paths-CT6jsi4E.js} +1 -1
- package/dist/{paths-CySxpNhH.js → paths-Cce4PUkG.js} +5 -5
- package/dist/{paths-Cb87-LzP.js → paths-DLyHUt31.js} +1 -1
- package/dist/{pi-auth-json-DPWPoruO.js → pi-auth-json-0SYBFZTt.js} +8 -8
- package/dist/{pi-auth-json-DayrlDg_.js → pi-auth-json-CCneTXUh.js} +3 -3
- package/dist/{pi-embedded-BY-dBus2.js → pi-embedded-BThV36aG.js} +109 -21
- package/dist/{pi-embedded-helpers-lgx_U5KS.js → pi-embedded-helpers-B8kqLWns.js} +4 -4
- package/dist/{pi-embedded-helpers-CNPyv_ax.js → pi-embedded-helpers-DO6u9K2t.js} +6 -6
- package/dist/{pi-embedded-helpers-B2z46qeM.js → pi-embedded-helpers-ag2bosuj.js} +52 -52
- package/dist/{pi-embedded-Dc3muKtS.js → pi-embedded-wr4HXhzm.js} +255 -167
- package/dist/{pi-tools.policy-CIDBbw6x.js → pi-tools.policy-juZV2uUv.js} +4 -4
- package/dist/{plugin-auto-enable-BzX1uAKy.js → plugin-auto-enable-Bbm7MwFV.js} +2 -2
- package/dist/{plugin-registry-CuoX8mar.js → plugin-registry-DvWWctC9.js} +1 -1
- package/dist/{plugin-registry-fxcvycGr.js → plugin-registry-lWWSu9UD.js} +3 -3
- package/dist/plugin-sdk/agents/model-token-filter.d.ts +15 -0
- package/dist/plugin-sdk/{channel-web-CV1KLtZh.js → channel-web-BnrTC55Y.js} +1 -1
- package/dist/plugin-sdk/index.js +2 -2
- package/dist/plugin-sdk/{reply-C4mijdMZ.js → reply-kuMxu6Q4.js} +95 -7
- package/dist/plugin-sdk/{web-B17UUsjm.js → web-TMIhKQyF.js} +2 -2
- package/dist/{plugins-DKDeQZF0.js → plugins-BAyxWQSz.js} +2 -2
- package/dist/{plugins-C4C9637U.js → plugins-DQYI3Fr-.js} +9 -9
- package/dist/{plugins-cli-4OqSGHp-.js → plugins-cli-BHfzYAq6.js} +71 -71
- package/dist/{plugins-cli-BbE_Qnlk.js → plugins-cli-wlWRx4Oj.js} +2 -2
- package/dist/{ports-BOmtxoTv.js → ports-OZQlocB7.js} +2 -2
- package/dist/{ports-BX0kKI0g.js → ports-b36gHZbA.js} +1 -1
- package/dist/{program-DkXOdfM2.js → program-CKy7s-bm.js} +7 -7
- package/dist/{program-context-0bDxGpMx.js → program-context-D4gbh6dg.js} +39 -39
- package/dist/{prompt-select-styled-DJkRn30j.js → prompt-select-styled-DlGPNq9c.js} +38 -38
- package/dist/{prompt-select-styled-_6KbTFXs.js → prompt-select-styled-bh0GLMiQ.js} +4 -4
- package/dist/{provider-auth-helpers-BpVAdwK_.js → provider-auth-helpers-B-YsKbwc.js} +1 -1
- package/dist/{provider-auth-helpers-Bnkj4QXS.js → provider-auth-helpers-Bd5VVReu.js} +5 -5
- package/dist/{push-apns-EKnCwrqK.js → push-apns-0et2AR44.js} +4 -4
- package/dist/{push-apns-C0wMP1XU.js → push-apns-ByyOJyDl.js} +1 -1
- package/dist/{pw-ai-De-KR9_s.js → pw-ai-1htA-NnS.js} +1 -1
- package/dist/{pw-ai-PiQUncix.js → pw-ai-Ch7liUOW.js} +11 -11
- package/dist/{pw-ai-DqL87js3.js → pw-ai-MVzi113V.js} +7 -7
- package/dist/{qmd-manager-D85GJrir.js → qmd-manager-BP2r8b1D.js} +18 -18
- package/dist/{qmd-manager-DdZh9PHs.js → qmd-manager-QHUP-_em.js} +7 -7
- package/dist/{qr-cli-jd9LdZpq.js → qr-cli-17laLZm_.js} +3 -3
- package/dist/{register.agent-B0S1CJEx.js → register.agent-Dhijhxr5.js} +81 -81
- package/dist/{register.agent-B48Vf_DK.js → register.agent-oKma6YjU.js} +6 -6
- package/dist/{register.configure-Wyv7vb24.js → register.configure-BX8vQ2Np.js} +6 -6
- package/dist/register.configure-BcZ-7Yir.js +147 -0
- package/dist/{register.maintenance-Cmf17EW0.js → register.maintenance-B3TPb969.js} +84 -84
- package/dist/{register.maintenance-TgjAQ4E0.js → register.maintenance-OJCduNdt.js} +8 -8
- package/dist/{register.message-Dwv2puIB.js → register.message-CX8C_Fds.js} +2 -2
- package/dist/{register.message-BcsPnPvW.js → register.message-D0aswsGo.js} +63 -63
- package/dist/{register.onboard-BDGaSyq2.js → register.onboard-BHTyEs6d.js} +74 -74
- package/dist/{register.onboard-C8w7_w93.js → register.onboard-CSepiSPt.js} +4 -4
- package/dist/{register.setup-CMGSNKXS.js → register.setup-lZSHKiGQ.js} +4 -4
- package/dist/{register.setup-CiEuZOlI.js → register.setup-uhpgkBjU.js} +77 -77
- package/dist/{register.status-health-sessions-zKjmZyOs.js → register.status-health-sessions-Cbavf8do.js} +3 -3
- package/dist/{register.status-health-sessions-C8p0uINc.js → register.status-health-sessions-v1KN3eEp.js} +75 -75
- package/dist/{register.subclis-CofZE_pt.js → register.subclis-DBEv5xOP.js} +9 -9
- package/dist/{registry-DP24za6g.js → registry-CK4e9hn8.js} +17 -17
- package/dist/{replies-DpPvWiGF.js → replies-BIX_isV7.js} +3 -3
- package/dist/{replies-vgss3_QA.js → replies-BL7IBg12.js} +1 -1
- package/dist/{reply-SBi_U7P7.js → reply-DVxU0AMq.js} +225 -137
- package/dist/{reply-prefix-CtL0omgM.js → reply-prefix-BLOOs1aW.js} +1 -1
- package/dist/{reply-prefix-CE2YmmsD.js → reply-prefix-XlyuyChD.js} +1 -1
- package/dist/{resolve-route-BMoTaVAH.js → resolve-route-BcnaXYvh.js} +2 -2
- package/dist/{resolve-route-BVikmvWO.js → resolve-route-CZ-1eqw0.js} +4 -4
- package/dist/{retry-dGG-MbxL.js → retry-Cly39XZB.js} +1 -1
- package/dist/{routes-Ba9CUQ8M.js → routes-CE-ohckF.js} +8 -8
- package/dist/{rpc-BfhojW8g.js → rpc-wovSCB5v.js} +1 -1
- package/dist/{run-main-BJaDO3WW.js → run-main-DspjiCY1.js} +14 -14
- package/dist/{runner-DUBExAb5.js → runner-BcQ0sF9T.js} +1 -1
- package/dist/{runner-CUglpiFP.js → runner-Cen70krW.js} +20 -20
- package/dist/{runner-CCSMfQee.js → runner-D0QUGA_X.js} +9 -9
- package/dist/{sandbox-C-T6hOMv.js → sandbox-BzNrUHpt.js} +18 -18
- package/dist/{sandbox-cli-BllVdQzR.js → sandbox-cli-CZrMO34w.js} +20 -20
- package/dist/{security-cli-BFLtWWHy.js → security-cli-CeBoEmeN.js} +36 -36
- package/dist/{send-DeEosX8F.js → send-B1u-LrcS.js} +18 -18
- package/dist/{send-Cutb0ZDY.js → send-BEeuDXqy.js} +6 -6
- package/dist/{send-tanEMpHN.js → send-BjdAgYLu.js} +6 -6
- package/dist/{send-CZr1hVHY.js → send-BnuIB59F.js} +13 -13
- package/dist/{send-CXxQ_f7L.js → send-C95ZRvja.js} +6 -6
- package/dist/{send-DwKJK3sM.js → send-CiTGOvEc.js} +10 -10
- package/dist/{send-zSarozV2.js → send-DW96zgDL.js} +6 -6
- package/dist/{send-CHEOWVc8.js → send-DeFniOjh.js} +6 -6
- package/dist/{send-DbcLJb0P.js → send-WyRqb4WD.js} +7 -7
- package/dist/{send-CPF8hSFp.js → send-dH0xroTu.js} +4 -4
- package/dist/{server-context-CEpFjqSk.js → server-context-DUXqnh6l.js} +5 -5
- package/dist/{server-methods-CyFB3XQf.js → server-methods-B9alalq5.js} +7 -7
- package/dist/{server-methods-Cm6W01ne.js → server-methods-BgBq7KRL.js} +54 -54
- package/dist/{server-node-events-Bhgt3xLw.js → server-node-events-BrBsrcCd.js} +63 -63
- package/dist/{server-node-events-CX1plxJz.js → server-node-events-DWG81_Fo.js} +2 -2
- package/dist/{service-Cl74hx8J.js → service--qMN5DPm.js} +15 -15
- package/dist/{session-DIBTkyvE.js → session-CsIk0Sqq.js} +2 -2
- package/dist/{session-DV1MNlbV.js → session-SM36BTsl.js} +8 -8
- package/dist/session-dirs-D3qlvucD.js +18 -0
- package/dist/{sessions-DgYpBvse.js → sessions-D5a7H247.js} +13 -13
- package/dist/{shared-Knv1hy6h.js → shared-Gi3l7nlY.js} +3 -3
- package/dist/{shared-BJvwnR5z.js → shared-Jm_QdQJQ.js} +1 -1
- package/dist/{skill-commands-D610IKhm.js → skill-commands-BJMb_psG.js} +9 -9
- package/dist/{skill-commands-Cxw-jNxU.js → skill-commands-ZXbEITKi.js} +5 -5
- package/dist/{skill-scanner-CLs8u6vQ.js → skill-scanner-CXg9eeyc.js} +5 -5
- package/dist/{skills-o5WVqM4V.js → skills-BFekKL7i.js} +21 -21
- package/dist/{skills-6jdJQ5ZL.js → skills-DqQUtOph.js} +4 -4
- package/dist/{skills-cli-BZTBLQTt.js → skills-cli-D1JL_utC.js} +7 -7
- package/dist/{skills-install-D67isO1L.js → skills-install-DjcTy3CT.js} +3 -3
- package/dist/{skills-status-CURJKnyY.js → skills-status-DS-NZQiq.js} +1 -1
- package/dist/{sqlite-Dx3J_aSE.js → sqlite-BV5ILFtC.js} +12 -12
- package/dist/{sqlite-6H6Zw1cs.js → sqlite-DRbx2dhW.js} +4 -4
- package/dist/{status-CwXg8OO1.js → status-CgPPKk09.js} +25 -25
- package/dist/{status-U_1mE-yc.js → status-CkJV2sl6.js} +3 -3
- package/dist/{status-BdmYV3_x.js → status-DqMwkAnF.js} +1 -1
- package/dist/{status-BBpD_1pG.js → status-DxodHhzX.js} +2 -2
- package/dist/{status.update-DtwCUTf-.js → status.update-CmGpjKSr.js} +3 -3
- package/dist/{store-vVE6N2mH.js → store-C0wvOkae.js} +2 -2
- package/dist/{store-r1DJSDq-.js → store-DvtcmOKj.js} +5 -5
- package/dist/{subagent-registry-Du9P0G2U.js → subagent-registry-CBklD0OL.js} +96 -8
- package/dist/{subsystem-DgpxyDQ_.js → subsystem-Bs9YvKLa.js} +1 -1
- package/dist/{symi-root-CrGJbkzf.js → symi-root-MF6_6SCS.js} +2 -2
- package/dist/{system-cli-UMsMEurS.js → system-cli-Buhvt_H5.js} +11 -11
- package/dist/{systemd-riq8uNJQ.js → systemd-AhJEsmIk.js} +5 -5
- package/dist/{systemd-hints-BR6gChwm.js → systemd-hints-Db0oImvK.js} +6 -6
- package/dist/{systemd-linger-aQ75ZlXY.js → systemd-linger-BXwqn1jL.js} +1 -1
- package/dist/{tables-BEzT0Da4.js → tables-C38rzF6E.js} +1 -1
- package/dist/{tables-BIWsCKXJ.js → tables-DuZspiBu.js} +1 -1
- package/dist/{target-errors-DyItGyW9.js → target-errors-Be1SwYlW.js} +2 -2
- package/dist/{target-errors-7AvoVa10.js → target-errors-CCz79CmV.js} +4 -4
- package/dist/{thinking-Ni0HF-w6.js → thinking-CdlENGRW.js} +5 -5
- package/dist/{tokens-c_SLAkVb.js → tokens-H1H1LiSQ.js} +1 -1
- package/dist/{tool-images-DvUBlqjX.js → tool-images-B-pqX3nX.js} +1 -1
- package/dist/{tool-images-DBCfXdli.js → tool-images-DXB7tqWi.js} +2 -2
- package/dist/{tool-loop-detection-Bbc9OPFR.js → tool-loop-detection-Cs8_HCsx.js} +3 -3
- package/dist/{tui-CriznorL.js → tui-C0A9W969.js} +7 -7
- package/dist/{tui-cli-CSIdfCTR.js → tui-cli-tCnkNdSx.js} +28 -28
- package/dist/{update-rw7wJwHd.js → update-Df4sEKtI.js} +3 -3
- package/dist/{update-check-CtckACbb.js → update-check-C0oYCI89.js} +5 -5
- package/dist/{update-cli-_45TJ3hZ.js → update-cli-BqdgQuYp.js} +8 -8
- package/dist/{update-cli-DJzF_9UX.js → update-cli-DYrpyu4a.js} +94 -94
- package/dist/{update-runner-BSQFv9b6.js → update-runner-BgzyPjF5.js} +15 -15
- package/dist/{update-runner-8Ac4bJ1w.js → update-runner-CmZW3aeK.js} +1 -1
- package/dist/{web-C1Zn8_qW.js → web-CfZp0Jv6.js} +6 -6
- package/dist/{web-BqRsq6mP.js → web-DNQzo8ao.js} +57 -57
- package/dist/web-DsCqmzyk.js +109 -0
- package/dist/{web-w-vV1rCZ.js → web-GL_nqURg.js} +1 -1
- package/dist/{webhooks-cli-cD58DWAE.js → webhooks-cli-Bp-7Rs2Y.js} +4 -4
- package/dist/{whatsapp-actions-DbcsdOH3.js → whatsapp-actions-CFXNPLco.js} +15 -15
- package/dist/{whatsapp-actions-oRQjcdQe.js → whatsapp-actions-D1RsnX7P.js} +23 -23
- package/dist/{with-timeout-gmK6RciS.js → with-timeout-Cs6_LnHB.js} +1 -1
- package/dist/{workspace-dirs-GpkFi6Kw.js → workspace-dirs-DKu48umx.js} +1 -1
- package/dist/{workspace-CbvamIU6.js → workspace-wAaHI8-5.js} +6 -6
- package/dist/{wsl-C4424szg.js → wsl-BbXxnokd.js} +2 -2
- package/package.json +1 -1
- package/dist/register.configure-Drr3E9OG.js +0 -147
- package/dist/web-BZSI7b07.js +0 -109
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { E as ensureDir, G as danger, I as resolveUserPath, Q as success, ot as toPinoLikeLogger, rt as getChildLogger } from "./registry-
|
|
2
|
-
import { c as readCredsJsonRaw, d as resolveWebCredsBackupPath, f as resolveWebCredsPath, o as maybeRestoreCredsFromBackup, u as resolveDefaultWebAuthDir } from "./accounts-
|
|
3
|
-
import { t as formatCliCommand } from "./command-format-
|
|
4
|
-
import { A as VERSION } from "./config-
|
|
5
|
-
import
|
|
1
|
+
import { E as ensureDir, G as danger, I as resolveUserPath, Q as success, ot as toPinoLikeLogger, rt as getChildLogger } from "./registry-CK4e9hn8.js";
|
|
2
|
+
import { c as readCredsJsonRaw, d as resolveWebCredsBackupPath, f as resolveWebCredsPath, o as maybeRestoreCredsFromBackup, u as resolveDefaultWebAuthDir } from "./accounts-tNElYrCH.js";
|
|
3
|
+
import { t as formatCliCommand } from "./command-format-BaxDnULz.js";
|
|
4
|
+
import { A as VERSION } from "./config-DRbjHIwD.js";
|
|
5
|
+
import fs from "node:fs";
|
|
6
6
|
import { randomUUID } from "node:crypto";
|
|
7
7
|
import { DisconnectReason, fetchLatestBaileysVersion, makeCacheableSignalKeyStore, makeWASocket, useMultiFileAuthState } from "@whiskeysockets/baileys";
|
|
8
8
|
import qrcode from "qrcode-terminal";
|
|
@@ -21,16 +21,16 @@ async function safeSaveCreds(authDir, saveCreds, logger) {
|
|
|
21
21
|
const raw = readCredsJsonRaw(credsPath);
|
|
22
22
|
if (raw) try {
|
|
23
23
|
JSON.parse(raw);
|
|
24
|
-
|
|
24
|
+
fs.copyFileSync(credsPath, backupPath);
|
|
25
25
|
try {
|
|
26
|
-
|
|
26
|
+
fs.chmodSync(backupPath, 384);
|
|
27
27
|
} catch {}
|
|
28
28
|
} catch {}
|
|
29
29
|
} catch {}
|
|
30
30
|
try {
|
|
31
31
|
await Promise.resolve(saveCreds());
|
|
32
32
|
try {
|
|
33
|
-
|
|
33
|
+
fs.chmodSync(resolveWebCredsPath(authDir), 384);
|
|
34
34
|
} catch {}
|
|
35
35
|
} catch (err) {
|
|
36
36
|
logger.warn({ error: String(err) }, "failed saving WhatsApp creds");
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
import fsPromises from "node:fs/promises";
|
|
3
|
+
|
|
4
|
+
//#region src/agents/session-dirs.ts
|
|
5
|
+
async function resolveAgentSessionDirs(stateDir) {
|
|
6
|
+
const agentsDir = path.join(stateDir, "agents");
|
|
7
|
+
let entries = [];
|
|
8
|
+
try {
|
|
9
|
+
entries = await fsPromises.readdir(agentsDir, { withFileTypes: true });
|
|
10
|
+
} catch (err) {
|
|
11
|
+
if (err.code === "ENOENT") return [];
|
|
12
|
+
throw err;
|
|
13
|
+
}
|
|
14
|
+
return entries.filter((entry) => entry.isDirectory()).map((entry) => path.join(agentsDir, entry.name, "sessions")).toSorted((a, b) => a.localeCompare(b));
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
//#endregion
|
|
18
|
+
export { resolveAgentSessionDirs as t };
|
|
@@ -2,13 +2,13 @@ import { y as resolveRequiredHomeDir } from "./paths-Cqn-zk3M.js";
|
|
|
2
2
|
import { m as normalizeE164 } from "./utils-B-0b9bGM.js";
|
|
3
3
|
import { c as normalizeMainKey, g as normalizeOptionalAccountId, r as buildAgentMainSessionKey, s as normalizeAgentId, t as DEFAULT_AGENT_ID } from "./session-key-DCt45XZa.js";
|
|
4
4
|
import { t as createSubsystemLogger } from "./subsystem-D9vIQve0.js";
|
|
5
|
-
import { Lt as resolveProcessScopedMap, Rt as isPidAlive } from "./model-selection-
|
|
5
|
+
import { Lt as resolveProcessScopedMap, Rt as isPidAlive } from "./model-selection-X1oLh3CE.js";
|
|
6
6
|
import { c as listDeliverableMessageChannels, l as normalizeMessageChannel } from "./message-channel-aT-I_DTX.js";
|
|
7
|
-
import { C as parseDurationMs, f as parseByteSize, i as loadConfig } from "./config-
|
|
7
|
+
import { C as parseDurationMs, f as parseByteSize, i as loadConfig } from "./config-CJMcIRQM.js";
|
|
8
8
|
import { t as normalizeChatType } from "./chat-type-DyovJwCt.js";
|
|
9
9
|
import { n as resolveConversationLabel } from "./conversation-label-Bn5j3lUT.js";
|
|
10
|
-
import { c as normalizeHyphenSlug, t as getChannelDock } from "./dock-
|
|
11
|
-
import { r as normalizeChannelId } from "./plugins-
|
|
10
|
+
import { c as normalizeHyphenSlug, t as getChannelDock } from "./dock-BYiRZSgZ.js";
|
|
11
|
+
import { r as normalizeChannelId } from "./plugins-BAyxWQSz.js";
|
|
12
12
|
import { a as resolveSessionTranscriptPathInDir, c as resolveStorePath, i as resolveSessionTranscriptPath, n as resolveSessionFilePath, t as resolveDefaultSessionStorePath } from "./paths-CyhzMxFA.js";
|
|
13
13
|
import { r as hasInterSessionUserProvenance } from "./input-provenance-BzbXHcaD.js";
|
|
14
14
|
import { n as extractToolCallNames, r as hasToolCall } from "./transcript-tools-INJPQ2KD.js";
|
|
@@ -16,7 +16,7 @@ import { t as emitSessionTranscriptUpdate } from "./transcript-events-DdnTeoR1.j
|
|
|
16
16
|
import fs from "node:fs";
|
|
17
17
|
import os from "node:os";
|
|
18
18
|
import path from "node:path";
|
|
19
|
-
import
|
|
19
|
+
import fsPromises from "node:fs/promises";
|
|
20
20
|
import crypto from "node:crypto";
|
|
21
21
|
import { CURRENT_SESSION_VERSION, SessionManager } from "@mariozechner/pi-coding-agent";
|
|
22
22
|
|
|
@@ -82,7 +82,7 @@ async function releaseHeldLock(normalizedSessionFile, held, opts = {}) {
|
|
|
82
82
|
await held.handle.close();
|
|
83
83
|
} catch {}
|
|
84
84
|
try {
|
|
85
|
-
await
|
|
85
|
+
await fsPromises.rm(held.lockPath, { force: true });
|
|
86
86
|
} catch {}
|
|
87
87
|
})();
|
|
88
88
|
try {
|
|
@@ -161,7 +161,7 @@ function registerCleanupHandlers() {
|
|
|
161
161
|
}
|
|
162
162
|
async function readLockPayload(lockPath) {
|
|
163
163
|
try {
|
|
164
|
-
const raw = await
|
|
164
|
+
const raw = await fsPromises.readFile(lockPath, "utf8");
|
|
165
165
|
const parsed = JSON.parse(raw);
|
|
166
166
|
const payload = {};
|
|
167
167
|
if (typeof parsed.pid === "number") payload.pid = parsed.pid;
|
|
@@ -198,7 +198,7 @@ async function cleanStaleLockFiles(params) {
|
|
|
198
198
|
const nowMs = params.nowMs ?? Date.now();
|
|
199
199
|
let entries = [];
|
|
200
200
|
try {
|
|
201
|
-
entries = await
|
|
201
|
+
entries = await fsPromises.readdir(sessionsDir, { withFileTypes: true });
|
|
202
202
|
} catch (err) {
|
|
203
203
|
if (err.code === "ENOENT") return {
|
|
204
204
|
locks: [],
|
|
@@ -217,7 +217,7 @@ async function cleanStaleLockFiles(params) {
|
|
|
217
217
|
removed: false
|
|
218
218
|
};
|
|
219
219
|
if (lockInfo.stale && removeStale) {
|
|
220
|
-
await
|
|
220
|
+
await fsPromises.rm(lockPath, { force: true });
|
|
221
221
|
lockInfo.removed = true;
|
|
222
222
|
cleaned.push(lockInfo);
|
|
223
223
|
params.log?.warn?.(`removed stale session lock: ${lockPath} (${lockInfo.staleReasons.join(", ") || "unknown"})`);
|
|
@@ -236,10 +236,10 @@ async function acquireSessionWriteLock(params) {
|
|
|
236
236
|
const maxHoldMs = resolvePositiveMs(params.maxHoldMs, DEFAULT_MAX_HOLD_MS);
|
|
237
237
|
const sessionFile = path.resolve(params.sessionFile);
|
|
238
238
|
const sessionDir = path.dirname(sessionFile);
|
|
239
|
-
await
|
|
239
|
+
await fsPromises.mkdir(sessionDir, { recursive: true });
|
|
240
240
|
let normalizedDir = sessionDir;
|
|
241
241
|
try {
|
|
242
|
-
normalizedDir = await
|
|
242
|
+
normalizedDir = await fsPromises.realpath(sessionDir);
|
|
243
243
|
} catch {}
|
|
244
244
|
const normalizedSessionFile = path.join(normalizedDir, path.basename(sessionFile));
|
|
245
245
|
const lockPath = `${normalizedSessionFile}.lock`;
|
|
@@ -256,7 +256,7 @@ async function acquireSessionWriteLock(params) {
|
|
|
256
256
|
while (Date.now() - startedAt < timeoutMs) {
|
|
257
257
|
attempt += 1;
|
|
258
258
|
try {
|
|
259
|
-
const handle = await
|
|
259
|
+
const handle = await fsPromises.open(lockPath, "wx");
|
|
260
260
|
const createdAt = (/* @__PURE__ */ new Date()).toISOString();
|
|
261
261
|
await handle.writeFile(JSON.stringify({
|
|
262
262
|
pid: process.pid,
|
|
@@ -276,7 +276,7 @@ async function acquireSessionWriteLock(params) {
|
|
|
276
276
|
} catch (err) {
|
|
277
277
|
if (err.code !== "EEXIST") throw err;
|
|
278
278
|
if (inspectLockPayload(await readLockPayload(lockPath), staleMs, Date.now()).stale) {
|
|
279
|
-
await
|
|
279
|
+
await fsPromises.rm(lockPath, { force: true });
|
|
280
280
|
continue;
|
|
281
281
|
}
|
|
282
282
|
const delay = Math.min(1e3, 50 * attempt);
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { s as normalizeAgentId } from "./session-key-DCt45XZa.js";
|
|
2
|
-
import { n as listAgentIds } from "./agent-scope-
|
|
3
|
-
import { Kt as DEFAULT_PROVIDER, g as resolveModelRefFromString, r as buildModelAliasIndex, s as modelKey } from "./model-selection-
|
|
2
|
+
import { n as listAgentIds } from "./agent-scope-BRwEc2pG.js";
|
|
3
|
+
import { Kt as DEFAULT_PROVIDER, g as resolveModelRefFromString, r as buildModelAliasIndex, s as modelKey } from "./model-selection-X1oLh3CE.js";
|
|
4
4
|
import { t as formatCliCommand } from "./command-format-COaS-S7B.js";
|
|
5
|
-
import { l as writeConfigFile, o as readConfigFileSnapshot } from "./config-
|
|
5
|
+
import { l as writeConfigFile, o as readConfigFileSnapshot } from "./config-CJMcIRQM.js";
|
|
6
6
|
|
|
7
7
|
//#region src/commands/models/shared.ts
|
|
8
8
|
const ensureFlagCompatibility = (opts) => {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
|
|
2
2
|
import { t as formatCliCommand } from "./command-format-COaS-S7B.js";
|
|
3
3
|
import { c as resolveGatewayLaunchAgentLabel, d as resolveGatewaySystemdServiceName, f as resolveGatewayWindowsTaskName } from "./constants-C8_BLnaW.js";
|
|
4
|
-
import { t as resolveGatewayService } from "./service
|
|
4
|
+
import { t as resolveGatewayService } from "./service--qMN5DPm.js";
|
|
5
5
|
|
|
6
6
|
//#region src/cli/gateway-cli/shared.ts
|
|
7
7
|
const toOptionString = (value) => {
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
|
-
import { s as resolveStateDir } from "./paths-
|
|
3
|
-
import { I as resolveUserPath, S as CONFIG_DIR } from "./registry-
|
|
4
|
-
import { s as resolveAgentWorkspaceDir, t as listAgentIds } from "./agent-scope-
|
|
5
|
-
import { t as createSubsystemLogger } from "./subsystem-
|
|
6
|
-
import { o as resolvePluginSkillDirs, t as buildWorkspaceSkillCommandSpecs } from "./skills-
|
|
7
|
-
import { i as listChatCommands } from "./commands-registry-
|
|
2
|
+
import { s as resolveStateDir } from "./paths-Cce4PUkG.js";
|
|
3
|
+
import { I as resolveUserPath, S as CONFIG_DIR } from "./registry-CK4e9hn8.js";
|
|
4
|
+
import { s as resolveAgentWorkspaceDir, t as listAgentIds } from "./agent-scope-BxoUQqgM.js";
|
|
5
|
+
import { t as createSubsystemLogger } from "./subsystem-Bs9YvKLa.js";
|
|
6
|
+
import { o as resolvePluginSkillDirs, t as buildWorkspaceSkillCommandSpecs } from "./skills-BFekKL7i.js";
|
|
7
|
+
import { i as listChatCommands } from "./commands-registry-D7CTCQPm.js";
|
|
8
8
|
import fs from "node:fs/promises";
|
|
9
9
|
import os from "node:os";
|
|
10
10
|
import path from "node:path";
|
|
11
|
-
import
|
|
11
|
+
import fs$1 from "node:fs";
|
|
12
12
|
import { randomUUID } from "node:crypto";
|
|
13
13
|
import chokidar from "chokidar";
|
|
14
14
|
|
|
@@ -283,8 +283,8 @@ function listSkillCommandsForAgents(params) {
|
|
|
283
283
|
const visitedDirs = /* @__PURE__ */ new Set();
|
|
284
284
|
for (const agentId of agentIds) {
|
|
285
285
|
const workspaceDir = resolveAgentWorkspaceDir(params.cfg, agentId);
|
|
286
|
-
if (!
|
|
287
|
-
const canonicalDir =
|
|
286
|
+
if (!fs$1.existsSync(workspaceDir)) continue;
|
|
287
|
+
const canonicalDir = fs$1.realpathSync(workspaceDir);
|
|
288
288
|
if (visitedDirs.has(canonicalDir)) continue;
|
|
289
289
|
visitedDirs.add(canonicalDir);
|
|
290
290
|
const commands = buildWorkspaceSkillCommandSpecs(workspaceDir, {
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
2
|
import { t as CONFIG_DIR, y as resolveUserPath } from "./utils-B-0b9bGM.js";
|
|
3
3
|
import { t as createSubsystemLogger } from "./subsystem-D9vIQve0.js";
|
|
4
|
-
import { c as resolveAgentWorkspaceDir, n as listAgentIds } from "./agent-scope-
|
|
5
|
-
import { i as loadWorkspaceSkillEntries, n as buildWorkspaceSkillCommandSpecs, s as resolvePluginSkillDirs } from "./skills-
|
|
6
|
-
import { i as listChatCommands } from "./commands-registry-
|
|
7
|
-
import { a as upsertPendingPairingRequest, c as writeJsonAtomic, i as resolvePairingPaths, n as verifyPairingToken, o as createAsyncLock, r as pruneExpiredPending, s as readJsonFile, t as generatePairingToken } from "./pairing-token-
|
|
8
|
-
import { t as listAgentWorkspaceDirs } from "./workspace-dirs-
|
|
4
|
+
import { c as resolveAgentWorkspaceDir, n as listAgentIds } from "./agent-scope-BRwEc2pG.js";
|
|
5
|
+
import { i as loadWorkspaceSkillEntries, n as buildWorkspaceSkillCommandSpecs, s as resolvePluginSkillDirs } from "./skills-DqQUtOph.js";
|
|
6
|
+
import { i as listChatCommands } from "./commands-registry-BZ0ZSQpM.js";
|
|
7
|
+
import { a as upsertPendingPairingRequest, c as writeJsonAtomic, i as resolvePairingPaths, n as verifyPairingToken, o as createAsyncLock, r as pruneExpiredPending, s as readJsonFile, t as generatePairingToken } from "./pairing-token-AV-MMfVE.js";
|
|
8
|
+
import { t as listAgentWorkspaceDirs } from "./workspace-dirs-DKu48umx.js";
|
|
9
9
|
import fs from "node:fs";
|
|
10
10
|
import os from "node:os";
|
|
11
11
|
import path from "node:path";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { i as isPathInside } from "./legacy-names-Be3msDZo.js";
|
|
2
2
|
import { i as hasErrnoCode } from "./errors-BF3TeRH2.js";
|
|
3
3
|
import path from "node:path";
|
|
4
|
-
import
|
|
4
|
+
import fsPromises from "node:fs/promises";
|
|
5
5
|
|
|
6
6
|
//#region src/security/skill-scanner.ts
|
|
7
7
|
const SCANNABLE_EXTENSIONS = new Set([
|
|
@@ -154,7 +154,7 @@ async function walkDirWithLimit(dirPath, maxFiles) {
|
|
|
154
154
|
while (stack.length > 0 && files.length < maxFiles) {
|
|
155
155
|
const currentDir = stack.pop();
|
|
156
156
|
if (!currentDir) break;
|
|
157
|
-
const entries = await
|
|
157
|
+
const entries = await fsPromises.readdir(currentDir, { withFileTypes: true });
|
|
158
158
|
for (const entry of entries) {
|
|
159
159
|
if (files.length >= maxFiles) break;
|
|
160
160
|
if (entry.name.startsWith(".") || entry.name === "node_modules") continue;
|
|
@@ -176,7 +176,7 @@ async function resolveForcedFiles(params) {
|
|
|
176
176
|
if (seen.has(includePath)) continue;
|
|
177
177
|
let st = null;
|
|
178
178
|
try {
|
|
179
|
-
st = await
|
|
179
|
+
st = await fsPromises.stat(includePath);
|
|
180
180
|
} catch (err) {
|
|
181
181
|
if (hasErrnoCode(err, "ENOENT")) continue;
|
|
182
182
|
throw err;
|
|
@@ -208,14 +208,14 @@ async function collectScannableFiles(dirPath, opts) {
|
|
|
208
208
|
async function readScannableSource(filePath, maxFileBytes) {
|
|
209
209
|
let st = null;
|
|
210
210
|
try {
|
|
211
|
-
st = await
|
|
211
|
+
st = await fsPromises.stat(filePath);
|
|
212
212
|
} catch (err) {
|
|
213
213
|
if (hasErrnoCode(err, "ENOENT")) return null;
|
|
214
214
|
throw err;
|
|
215
215
|
}
|
|
216
216
|
if (!st?.isFile() || st.size > maxFileBytes) return null;
|
|
217
217
|
try {
|
|
218
|
-
return await
|
|
218
|
+
return await fsPromises.readFile(filePath, "utf-8");
|
|
219
219
|
} catch (err) {
|
|
220
220
|
if (hasErrnoCode(err, "ENOENT")) return null;
|
|
221
221
|
throw err;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { I as resolveUserPath, S as CONFIG_DIR } from "./registry-
|
|
2
|
-
import { f as normalizeSkillFilter } from "./agent-scope-
|
|
3
|
-
import { t as createSubsystemLogger } from "./subsystem-
|
|
4
|
-
import { h as resolveSymiPackageRootSync } from "./workspace-
|
|
5
|
-
import { c as resolveMemorySlotDecision, d as isDangerousHostEnvVarName, o as normalizePluginsConfig, s as resolveEnableState, t as loadPluginManifestRegistry } from "./manifest-registry-
|
|
6
|
-
import { a as resolveSymiManifestBlock, c as resolveSymiManifestRequires, d as hasBinary, f as isConfigPathTruthyWithDefaults, i as parseSymiManifestInstallBase, l as parseFrontmatterBlock, n as normalizeStringList, o as resolveSymiManifestInstall, p as resolveRuntimePlatform, r as parseFrontmatterBool, s as resolveSymiManifestOs, t as getFrontmatterString, u as evaluateRuntimeRequires } from "./frontmatter-
|
|
1
|
+
import { I as resolveUserPath, S as CONFIG_DIR } from "./registry-CK4e9hn8.js";
|
|
2
|
+
import { f as normalizeSkillFilter } from "./agent-scope-BxoUQqgM.js";
|
|
3
|
+
import { t as createSubsystemLogger } from "./subsystem-Bs9YvKLa.js";
|
|
4
|
+
import { h as resolveSymiPackageRootSync } from "./workspace-wAaHI8-5.js";
|
|
5
|
+
import { c as resolveMemorySlotDecision, d as isDangerousHostEnvVarName, o as normalizePluginsConfig, s as resolveEnableState, t as loadPluginManifestRegistry } from "./manifest-registry-D0IQ3WuX.js";
|
|
6
|
+
import { a as resolveSymiManifestBlock, c as resolveSymiManifestRequires, d as hasBinary, f as isConfigPathTruthyWithDefaults, i as parseSymiManifestInstallBase, l as parseFrontmatterBlock, n as normalizeStringList, o as resolveSymiManifestInstall, p as resolveRuntimePlatform, r as parseFrontmatterBool, s as resolveSymiManifestOs, t as getFrontmatterString, u as evaluateRuntimeRequires } from "./frontmatter-C_bv_0P8.js";
|
|
7
7
|
import fs from "node:fs/promises";
|
|
8
8
|
import os from "node:os";
|
|
9
9
|
import path from "node:path";
|
|
10
|
-
import
|
|
10
|
+
import fs$1 from "node:fs";
|
|
11
11
|
import { fileURLToPath } from "node:url";
|
|
12
12
|
import { formatSkillsForPrompt, loadSkillsFromDir } from "@mariozechner/pi-coding-agent";
|
|
13
13
|
|
|
@@ -424,13 +424,13 @@ function shortPath(value) {
|
|
|
424
424
|
//#region src/agents/skills/bundled-dir.ts
|
|
425
425
|
function looksLikeSkillsDir(dir) {
|
|
426
426
|
try {
|
|
427
|
-
const entries =
|
|
427
|
+
const entries = fs$1.readdirSync(dir, { withFileTypes: true });
|
|
428
428
|
for (const entry of entries) {
|
|
429
429
|
if (entry.name.startsWith(".")) continue;
|
|
430
430
|
const fullPath = path.join(dir, entry.name);
|
|
431
431
|
if (entry.isFile() && entry.name.endsWith(".md")) return true;
|
|
432
432
|
if (entry.isDirectory()) {
|
|
433
|
-
if (
|
|
433
|
+
if (fs$1.existsSync(path.join(fullPath, "SKILL.md"))) return true;
|
|
434
434
|
}
|
|
435
435
|
}
|
|
436
436
|
} catch {
|
|
@@ -445,7 +445,7 @@ function resolveBundledSkillsDir(opts = {}) {
|
|
|
445
445
|
const execPath = opts.execPath ?? process.execPath;
|
|
446
446
|
const execDir = path.dirname(execPath);
|
|
447
447
|
const sibling = path.join(execDir, "skills");
|
|
448
|
-
if (
|
|
448
|
+
if (fs$1.existsSync(sibling)) return sibling;
|
|
449
449
|
} catch {}
|
|
450
450
|
try {
|
|
451
451
|
const moduleUrl = opts.moduleUrl ?? import.meta.url;
|
|
@@ -501,7 +501,7 @@ function resolvePluginSkillDirs(params) {
|
|
|
501
501
|
const trimmed = raw.trim();
|
|
502
502
|
if (!trimmed) continue;
|
|
503
503
|
const candidate = path.resolve(record.rootDir, trimmed);
|
|
504
|
-
if (!
|
|
504
|
+
if (!fs$1.existsSync(candidate)) {
|
|
505
505
|
log.warn(`plugin skill path not found (${record.id}): ${candidate}`);
|
|
506
506
|
continue;
|
|
507
507
|
}
|
|
@@ -528,7 +528,7 @@ async function serializeByKey(key, task) {
|
|
|
528
528
|
|
|
529
529
|
//#endregion
|
|
530
530
|
//#region src/agents/skills/workspace.ts
|
|
531
|
-
const fsp =
|
|
531
|
+
const fsp = fs$1.promises;
|
|
532
532
|
const skillsLogger = createSubsystemLogger("skills");
|
|
533
533
|
const skillCommandDebugOnce = /* @__PURE__ */ new Set();
|
|
534
534
|
/**
|
|
@@ -605,7 +605,7 @@ function resolveSkillsLimits(config) {
|
|
|
605
605
|
}
|
|
606
606
|
function listChildDirectories(dir) {
|
|
607
607
|
try {
|
|
608
|
-
const entries =
|
|
608
|
+
const entries = fs$1.readdirSync(dir, { withFileTypes: true });
|
|
609
609
|
const dirs = [];
|
|
610
610
|
for (const entry of entries) {
|
|
611
611
|
if (entry.name.startsWith(".")) continue;
|
|
@@ -616,7 +616,7 @@ function listChildDirectories(dir) {
|
|
|
616
616
|
continue;
|
|
617
617
|
}
|
|
618
618
|
if (entry.isSymbolicLink()) try {
|
|
619
|
-
if (
|
|
619
|
+
if (fs$1.statSync(fullPath).isDirectory()) dirs.push(entry.name);
|
|
620
620
|
} catch {}
|
|
621
621
|
}
|
|
622
622
|
return dirs;
|
|
@@ -627,7 +627,7 @@ function listChildDirectories(dir) {
|
|
|
627
627
|
function resolveNestedSkillsRoot(dir, opts) {
|
|
628
628
|
const nested = path.join(dir, "skills");
|
|
629
629
|
try {
|
|
630
|
-
if (!
|
|
630
|
+
if (!fs$1.existsSync(nested) || !fs$1.statSync(nested).isDirectory()) return { baseDir: dir };
|
|
631
631
|
} catch {
|
|
632
632
|
return { baseDir: dir };
|
|
633
633
|
}
|
|
@@ -636,7 +636,7 @@ function resolveNestedSkillsRoot(dir, opts) {
|
|
|
636
636
|
const toScan = scanLimit === 0 ? [] : nestedDirs.slice(0, Math.min(nestedDirs.length, scanLimit));
|
|
637
637
|
for (const name of toScan) {
|
|
638
638
|
const skillMd = path.join(nested, name, "SKILL.md");
|
|
639
|
-
if (
|
|
639
|
+
if (fs$1.existsSync(skillMd)) return {
|
|
640
640
|
baseDir: nested,
|
|
641
641
|
note: `Detected nested skills root at ${nested}`
|
|
642
642
|
};
|
|
@@ -656,9 +656,9 @@ function loadSkillEntries(workspaceDir, opts) {
|
|
|
656
656
|
const loadSkills = (params) => {
|
|
657
657
|
const baseDir = resolveNestedSkillsRoot(params.dir, { maxEntriesToScan: limits.maxCandidatesPerRoot }).baseDir;
|
|
658
658
|
const rootSkillMd = path.join(baseDir, "SKILL.md");
|
|
659
|
-
if (
|
|
659
|
+
if (fs$1.existsSync(rootSkillMd)) {
|
|
660
660
|
try {
|
|
661
|
-
const size =
|
|
661
|
+
const size = fs$1.statSync(rootSkillMd).size;
|
|
662
662
|
if (size > limits.maxSkillFileBytes) {
|
|
663
663
|
skillsLogger.warn("Skipping skills root due to oversized SKILL.md.", {
|
|
664
664
|
dir: baseDir,
|
|
@@ -697,9 +697,9 @@ function loadSkillEntries(workspaceDir, opts) {
|
|
|
697
697
|
for (const name of limitedChildren) {
|
|
698
698
|
const skillDir = path.join(baseDir, name);
|
|
699
699
|
const skillMd = path.join(skillDir, "SKILL.md");
|
|
700
|
-
if (!
|
|
700
|
+
if (!fs$1.existsSync(skillMd)) continue;
|
|
701
701
|
try {
|
|
702
|
-
const size =
|
|
702
|
+
const size = fs$1.statSync(skillMd).size;
|
|
703
703
|
if (size > limits.maxSkillFileBytes) {
|
|
704
704
|
skillsLogger.warn("Skipping skill due to oversized SKILL.md.", {
|
|
705
705
|
skill: name,
|
|
@@ -767,7 +767,7 @@ function loadSkillEntries(workspaceDir, opts) {
|
|
|
767
767
|
return Array.from(merged.values()).map((skill) => {
|
|
768
768
|
let frontmatter = {};
|
|
769
769
|
try {
|
|
770
|
-
frontmatter = parseFrontmatter(
|
|
770
|
+
frontmatter = parseFrontmatter(fs$1.readFileSync(skill.filePath, "utf-8"));
|
|
771
771
|
} catch {}
|
|
772
772
|
return {
|
|
773
773
|
skill,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as CONFIG_DIR, y as resolveUserPath } from "./utils-B-0b9bGM.js";
|
|
2
|
-
import { i as normalizeSkillFilter, n as resolveSymiPackageRootSync } from "./symi-root-
|
|
2
|
+
import { i as normalizeSkillFilter, n as resolveSymiPackageRootSync } from "./symi-root-MF6_6SCS.js";
|
|
3
3
|
import { t as createSubsystemLogger } from "./subsystem-D9vIQve0.js";
|
|
4
4
|
import { d as resolveEnableState, f as resolveMemorySlotDecision, h as isDangerousHostEnvVarName, n as loadPluginManifestRegistry, u as normalizePluginsConfig } from "./manifest-registry-C4BxOMWX.js";
|
|
5
5
|
import { a as resolveSymiManifestBlock, c as resolveSymiManifestRequires, d as hasBinary, f as isConfigPathTruthyWithDefaults, i as parseSymiManifestInstallBase, l as parseFrontmatterBlock, n as normalizeStringList, o as resolveSymiManifestInstall, p as resolveRuntimePlatform, r as parseFrontmatterBool, s as resolveSymiManifestOs, t as getFrontmatterString, u as evaluateRuntimeRequires } from "./frontmatter-DWQhtOo7.js";
|
|
@@ -7,7 +7,7 @@ import { fileURLToPath } from "node:url";
|
|
|
7
7
|
import fs from "node:fs";
|
|
8
8
|
import os from "node:os";
|
|
9
9
|
import path from "node:path";
|
|
10
|
-
import
|
|
10
|
+
import fsPromises from "node:fs/promises";
|
|
11
11
|
import { formatSkillsForPrompt, loadSkillsFromDir } from "@mariozechner/pi-coding-agent";
|
|
12
12
|
|
|
13
13
|
//#region src/agents/skills/frontmatter.ts
|
|
@@ -393,7 +393,7 @@ async function assertNoSymlinkEscape(relative, root, options) {
|
|
|
393
393
|
const isLast = idx === parts.length - 1;
|
|
394
394
|
current = path.join(current, part);
|
|
395
395
|
try {
|
|
396
|
-
if ((await
|
|
396
|
+
if ((await fsPromises.lstat(current)).isSymbolicLink()) {
|
|
397
397
|
if (options?.allowFinalSymlink && isLast) return;
|
|
398
398
|
const target = await tryRealpath(current);
|
|
399
399
|
if (!isPathInside(rootReal, target)) throw new Error(`Symlink escapes sandbox root (${shortPath(rootReal)}): ${shortPath(current)}`);
|
|
@@ -407,7 +407,7 @@ async function assertNoSymlinkEscape(relative, root, options) {
|
|
|
407
407
|
}
|
|
408
408
|
async function tryRealpath(value) {
|
|
409
409
|
try {
|
|
410
|
-
return await
|
|
410
|
+
return await fsPromises.realpath(value);
|
|
411
411
|
} catch {
|
|
412
412
|
return path.resolve(value);
|
|
413
413
|
}
|
|
@@ -3,13 +3,13 @@ import { B as theme, S as shortenHomePath } from "./utils-B-0b9bGM.js";
|
|
|
3
3
|
import "./registry-Cja8eT7G.js";
|
|
4
4
|
import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
|
|
5
5
|
import "./exec-CWkblSrI.js";
|
|
6
|
-
import { c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-
|
|
7
|
-
import "./model-selection-
|
|
6
|
+
import { c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-BRwEc2pG.js";
|
|
7
|
+
import "./model-selection-X1oLh3CE.js";
|
|
8
8
|
import "./github-copilot-token-DAu1a6BX.js";
|
|
9
9
|
import { t as formatCliCommand } from "./command-format-COaS-S7B.js";
|
|
10
10
|
import "./boolean-BsqeuxE6.js";
|
|
11
11
|
import "./env-DPCHYPeH.js";
|
|
12
|
-
import { i as loadConfig } from "./config-
|
|
12
|
+
import { i as loadConfig } from "./config-CJMcIRQM.js";
|
|
13
13
|
import "./manifest-registry-C4BxOMWX.js";
|
|
14
14
|
import { t as formatDocsLink } from "./links-3i1eUga4.js";
|
|
15
15
|
import { t as renderTable } from "./table-BTgkRafz.js";
|
|
@@ -236,7 +236,7 @@ function registerSkillsCli(program) {
|
|
|
236
236
|
try {
|
|
237
237
|
const config = loadConfig();
|
|
238
238
|
const workspaceDir = resolveAgentWorkspaceDir(config, resolveDefaultAgentId(config));
|
|
239
|
-
const { buildWorkspaceSkillStatus } = await import("./skills-status-
|
|
239
|
+
const { buildWorkspaceSkillStatus } = await import("./skills-status-DS-NZQiq.js").then((n) => n.n);
|
|
240
240
|
const report = buildWorkspaceSkillStatus(workspaceDir, { config });
|
|
241
241
|
defaultRuntime.log(formatSkillsList(report, opts));
|
|
242
242
|
} catch (err) {
|
|
@@ -248,7 +248,7 @@ function registerSkillsCli(program) {
|
|
|
248
248
|
try {
|
|
249
249
|
const config = loadConfig();
|
|
250
250
|
const workspaceDir = resolveAgentWorkspaceDir(config, resolveDefaultAgentId(config));
|
|
251
|
-
const { buildWorkspaceSkillStatus } = await import("./skills-status-
|
|
251
|
+
const { buildWorkspaceSkillStatus } = await import("./skills-status-DS-NZQiq.js").then((n) => n.n);
|
|
252
252
|
const report = buildWorkspaceSkillStatus(workspaceDir, { config });
|
|
253
253
|
defaultRuntime.log(formatSkillInfo(report, name, opts));
|
|
254
254
|
} catch (err) {
|
|
@@ -260,7 +260,7 @@ function registerSkillsCli(program) {
|
|
|
260
260
|
try {
|
|
261
261
|
const config = loadConfig();
|
|
262
262
|
const workspaceDir = resolveAgentWorkspaceDir(config, resolveDefaultAgentId(config));
|
|
263
|
-
const { buildWorkspaceSkillStatus } = await import("./skills-status-
|
|
263
|
+
const { buildWorkspaceSkillStatus } = await import("./skills-status-DS-NZQiq.js").then((n) => n.n);
|
|
264
264
|
const report = buildWorkspaceSkillStatus(workspaceDir, { config });
|
|
265
265
|
defaultRuntime.log(formatSkillsCheck(report, opts));
|
|
266
266
|
} catch (err) {
|
|
@@ -272,7 +272,7 @@ function registerSkillsCli(program) {
|
|
|
272
272
|
try {
|
|
273
273
|
const config = loadConfig();
|
|
274
274
|
const workspaceDir = resolveAgentWorkspaceDir(config, resolveDefaultAgentId(config));
|
|
275
|
-
const { buildWorkspaceSkillStatus } = await import("./skills-status-
|
|
275
|
+
const { buildWorkspaceSkillStatus } = await import("./skills-status-DS-NZQiq.js").then((n) => n.n);
|
|
276
276
|
const report = buildWorkspaceSkillStatus(workspaceDir, { config });
|
|
277
277
|
defaultRuntime.log(formatSkillsList(report, {}));
|
|
278
278
|
} catch (err) {
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { c as ensureDir, g as resolveConfigDir, y as resolveUserPath } from "./utils-B-0b9bGM.js";
|
|
2
2
|
import { t as runCommandWithTimeout } from "./exec-CWkblSrI.js";
|
|
3
3
|
import { d as hasBinary } from "./frontmatter-DWQhtOo7.js";
|
|
4
|
-
import { i as loadWorkspaceSkillEntries, t as resolveSkillsInstallPreferences, x as resolveSkillKey } from "./skills-
|
|
4
|
+
import { i as loadWorkspaceSkillEntries, t as resolveSkillsInstallPreferences, x as resolveSkillKey } from "./skills-DqQUtOph.js";
|
|
5
5
|
import { t as fetchWithSsrFGuard } from "./fetch-guard-DOPkVbh3.js";
|
|
6
6
|
import { t as resolveBrewExecutable } from "./brew-DjNEjKAo.js";
|
|
7
7
|
import { t as isWithinDir } from "./path-safety-BqPJ8DDQ.js";
|
|
8
|
-
import { a as extractArchive$1, d as resolveArchiveOutputPath, f as stripArchivePath, p as validateArchiveEntryPath, r as safePathSegmentHashed, u as isWindowsDrivePath } from "./install-safe-path-
|
|
9
|
-
import { t as scanDirectoryWithSummary } from "./skill-scanner-
|
|
8
|
+
import { a as extractArchive$1, d as resolveArchiveOutputPath, f as stripArchivePath, p as validateArchiveEntryPath, r as safePathSegmentHashed, u as isWindowsDrivePath } from "./install-safe-path-Qqr_t_tH.js";
|
|
9
|
+
import { t as scanDirectoryWithSummary } from "./skill-scanner-CXg9eeyc.js";
|
|
10
10
|
import fs from "node:fs";
|
|
11
11
|
import path from "node:path";
|
|
12
12
|
import { pipeline } from "node:stream/promises";
|
|
@@ -2,7 +2,7 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
|
2
2
|
import { t as CONFIG_DIR } from "./utils-B-0b9bGM.js";
|
|
3
3
|
import { t as createSubsystemLogger } from "./subsystem-D9vIQve0.js";
|
|
4
4
|
import { d as hasBinary } from "./frontmatter-DWQhtOo7.js";
|
|
5
|
-
import { _ as isBundledSkillAllowed, b as resolveSkillConfig, c as resolveBundledSkillsDir, i as loadWorkspaceSkillEntries, t as resolveSkillsInstallPreferences, v as isConfigPathTruthy, y as resolveBundledAllowlist } from "./skills-
|
|
5
|
+
import { _ as isBundledSkillAllowed, b as resolveSkillConfig, c as resolveBundledSkillsDir, i as loadWorkspaceSkillEntries, t as resolveSkillsInstallPreferences, v as isConfigPathTruthy, y as resolveBundledAllowlist } from "./skills-DqQUtOph.js";
|
|
6
6
|
import { t as evaluateEntryMetadataRequirementsForCurrentPlatform } from "./entry-status-CAs6m3_l.js";
|
|
7
7
|
import path from "node:path";
|
|
8
8
|
import { loadSkillsFromDir } from "@mariozechner/pi-coding-agent";
|
|
@@ -4,7 +4,7 @@ import { s as resolveSessionTranscriptsDirForAgent } from "./paths-CyhzMxFA.js";
|
|
|
4
4
|
import { createRequire } from "node:module";
|
|
5
5
|
import fs from "node:fs";
|
|
6
6
|
import path from "node:path";
|
|
7
|
-
import
|
|
7
|
+
import fsPromises from "node:fs/promises";
|
|
8
8
|
import crypto from "node:crypto";
|
|
9
9
|
|
|
10
10
|
//#region src/utils/run-with-concurrency.ts
|
|
@@ -55,7 +55,7 @@ function isFileMissingError(err) {
|
|
|
55
55
|
async function statRegularFile(absPath) {
|
|
56
56
|
let stat;
|
|
57
57
|
try {
|
|
58
|
-
stat = await
|
|
58
|
+
stat = await fsPromises.lstat(absPath);
|
|
59
59
|
} catch (err) {
|
|
60
60
|
if (isFileMissingError(err)) return { missing: true };
|
|
61
61
|
throw err;
|
|
@@ -90,7 +90,7 @@ function isMemoryPath(relPath) {
|
|
|
90
90
|
return normalized.startsWith("memory/");
|
|
91
91
|
}
|
|
92
92
|
async function walkDir(dir, files) {
|
|
93
|
-
const entries = await
|
|
93
|
+
const entries = await fsPromises.readdir(dir, { withFileTypes: true });
|
|
94
94
|
for (const entry of entries) {
|
|
95
95
|
const full = path.join(dir, entry.name);
|
|
96
96
|
if (entry.isSymbolicLink()) continue;
|
|
@@ -110,7 +110,7 @@ async function listMemoryFiles(workspaceDir, extraPaths) {
|
|
|
110
110
|
const memoryDir = path.join(workspaceDir, "memory");
|
|
111
111
|
const addMarkdownFile = async (absPath) => {
|
|
112
112
|
try {
|
|
113
|
-
const stat = await
|
|
113
|
+
const stat = await fsPromises.lstat(absPath);
|
|
114
114
|
if (stat.isSymbolicLink() || !stat.isFile()) return;
|
|
115
115
|
if (!absPath.endsWith(".md")) return;
|
|
116
116
|
result.push(absPath);
|
|
@@ -119,12 +119,12 @@ async function listMemoryFiles(workspaceDir, extraPaths) {
|
|
|
119
119
|
await addMarkdownFile(memoryFile);
|
|
120
120
|
await addMarkdownFile(altMemoryFile);
|
|
121
121
|
try {
|
|
122
|
-
const dirStat = await
|
|
122
|
+
const dirStat = await fsPromises.lstat(memoryDir);
|
|
123
123
|
if (!dirStat.isSymbolicLink() && dirStat.isDirectory()) await walkDir(memoryDir, result);
|
|
124
124
|
} catch {}
|
|
125
125
|
const normalizedExtraPaths = normalizeExtraMemoryPaths(workspaceDir, extraPaths);
|
|
126
126
|
if (normalizedExtraPaths.length > 0) for (const inputPath of normalizedExtraPaths) try {
|
|
127
|
-
const stat = await
|
|
127
|
+
const stat = await fsPromises.lstat(inputPath);
|
|
128
128
|
if (stat.isSymbolicLink()) continue;
|
|
129
129
|
if (stat.isDirectory()) {
|
|
130
130
|
await walkDir(inputPath, result);
|
|
@@ -138,7 +138,7 @@ async function listMemoryFiles(workspaceDir, extraPaths) {
|
|
|
138
138
|
for (const entry of result) {
|
|
139
139
|
let key = entry;
|
|
140
140
|
try {
|
|
141
|
-
key = await
|
|
141
|
+
key = await fsPromises.realpath(entry);
|
|
142
142
|
} catch {}
|
|
143
143
|
if (seen.has(key)) continue;
|
|
144
144
|
seen.add(key);
|
|
@@ -152,14 +152,14 @@ function hashText(value) {
|
|
|
152
152
|
async function buildFileEntry(absPath, workspaceDir) {
|
|
153
153
|
let stat;
|
|
154
154
|
try {
|
|
155
|
-
stat = await
|
|
155
|
+
stat = await fsPromises.stat(absPath);
|
|
156
156
|
} catch (err) {
|
|
157
157
|
if (isFileMissingError(err)) return null;
|
|
158
158
|
throw err;
|
|
159
159
|
}
|
|
160
160
|
let content;
|
|
161
161
|
try {
|
|
162
|
-
content = await
|
|
162
|
+
content = await fsPromises.readFile(absPath, "utf-8");
|
|
163
163
|
} catch (err) {
|
|
164
164
|
if (isFileMissingError(err)) return null;
|
|
165
165
|
throw err;
|
|
@@ -293,7 +293,7 @@ const log = createSubsystemLogger("memory");
|
|
|
293
293
|
async function listSessionFilesForAgent(agentId) {
|
|
294
294
|
const dir = resolveSessionTranscriptsDirForAgent(agentId);
|
|
295
295
|
try {
|
|
296
|
-
return (await
|
|
296
|
+
return (await fsPromises.readdir(dir, { withFileTypes: true })).filter((entry) => entry.isFile()).map((entry) => entry.name).filter((name) => name.endsWith(".jsonl")).map((name) => path.join(dir, name));
|
|
297
297
|
} catch {
|
|
298
298
|
return [];
|
|
299
299
|
}
|
|
@@ -323,8 +323,8 @@ function extractSessionText(content) {
|
|
|
323
323
|
}
|
|
324
324
|
async function buildSessionEntry(absPath) {
|
|
325
325
|
try {
|
|
326
|
-
const stat = await
|
|
327
|
-
const lines = (await
|
|
326
|
+
const stat = await fsPromises.stat(absPath);
|
|
327
|
+
const lines = (await fsPromises.readFile(absPath, "utf-8")).split("\n");
|
|
328
328
|
const collected = [];
|
|
329
329
|
const lineMap = [];
|
|
330
330
|
for (let jsonlIdx = 0; jsonlIdx < lines.length; jsonlIdx++) {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { t as createSubsystemLogger } from "./subsystem-
|
|
1
|
+
import { t as createSubsystemLogger } from "./subsystem-Bs9YvKLa.js";
|
|
2
2
|
import { t as redactSensitiveText } from "./redact-jSxx6Ep2.js";
|
|
3
|
-
import { o as resolveSessionTranscriptsDirForAgent } from "./paths-
|
|
3
|
+
import { o as resolveSessionTranscriptsDirForAgent } from "./paths-DLyHUt31.js";
|
|
4
4
|
import { createRequire } from "node:module";
|
|
5
5
|
import fs from "node:fs/promises";
|
|
6
6
|
import path from "node:path";
|
|
7
|
-
import
|
|
7
|
+
import fs$1 from "node:fs";
|
|
8
8
|
import crypto from "node:crypto";
|
|
9
9
|
|
|
10
10
|
//#region src/memory/fs-utils.ts
|
|
@@ -71,7 +71,7 @@ async function runTasksWithConcurrency(params) {
|
|
|
71
71
|
//#region src/memory/internal.ts
|
|
72
72
|
function ensureDir(dir) {
|
|
73
73
|
try {
|
|
74
|
-
|
|
74
|
+
fs$1.mkdirSync(dir, { recursive: true });
|
|
75
75
|
} catch {}
|
|
76
76
|
return dir;
|
|
77
77
|
}
|