prjct-cli 3.95.0 → 3.97.0
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/CHANGELOG.md +10 -0
- package/bin/prjct.cjs +14 -0
- package/dist/bin/core-chunks/agent-HCP5FF77.mjs +31 -0
- package/dist/bin/core-chunks/agent-codenames-7N4DU62I.mjs +7 -0
- package/dist/bin/core-chunks/agent-identity-4KFRR5OU.mjs +7 -0
- package/dist/bin/core-chunks/agent-runtime-registry-3RMVBEV2.mjs +7 -0
- package/dist/bin/core-chunks/agent-switch-AVSX6SLY.mjs +7 -0
- package/dist/bin/core-chunks/agents-OAQXBGH3.mjs +10 -0
- package/dist/bin/core-chunks/ai-provider-RVXK7D7R.mjs +7 -0
- package/dist/bin/core-chunks/analysis-3A7ODSSI.mjs +41 -0
- package/dist/bin/core-chunks/auth-config-KWLVKHCY.mjs +7 -0
- package/dist/bin/core-chunks/auto-flush-EWSVMKQN.mjs +7 -0
- package/dist/bin/core-chunks/auto-updater-PKYQRBGQ.mjs +8 -0
- package/dist/bin/core-chunks/bin-commands-LLHG2NSY.mjs +21 -0
- package/dist/bin/core-chunks/capture-7LQ52T6L.mjs +7 -0
- package/dist/bin/core-chunks/capture-gate-M4HM7WAI.mjs +7 -0
- package/dist/bin/core-chunks/ceremonies-4OZ3FKRE.mjs +19 -0
- package/dist/bin/core-chunks/changelog-CUNVCEL5.mjs +10 -0
- package/dist/bin/core-chunks/chunk-225DWS4D.mjs +7 -0
- package/dist/bin/core-chunks/chunk-24EN5Y62.mjs +48 -0
- package/dist/bin/core-chunks/chunk-2EEMQV7N.mjs +9 -0
- package/dist/bin/core-chunks/chunk-2I5PUQWY.mjs +7 -0
- package/dist/bin/core-chunks/chunk-2JJM3YMW.mjs +44 -0
- package/dist/bin/core-chunks/chunk-2NI4EEK2.mjs +8 -0
- package/dist/bin/core-chunks/chunk-2TJRTFIS.mjs +9 -0
- package/dist/bin/core-chunks/chunk-2ZPM4Z6W.mjs +17 -0
- package/dist/bin/core-chunks/chunk-3FXNIJCS.mjs +8 -0
- package/dist/bin/core-chunks/chunk-3JD6KRNJ.mjs +8 -0
- package/dist/bin/core-chunks/chunk-3TRXQAU4.mjs +7 -0
- package/dist/bin/core-chunks/chunk-3USVY66O.mjs +7 -0
- package/dist/bin/core-chunks/chunk-45LKWJ5D.mjs +7 -0
- package/dist/bin/core-chunks/chunk-4IE7LRH3.mjs +7 -0
- package/dist/bin/core-chunks/chunk-4MR5XSLO.mjs +8 -0
- package/dist/bin/core-chunks/chunk-4PPIE6GA.mjs +102 -0
- package/dist/bin/core-chunks/chunk-4PRD4EU2.mjs +7 -0
- package/dist/bin/core-chunks/chunk-4T7NGLNQ.mjs +16 -0
- package/dist/bin/core-chunks/chunk-53ZPEZLU.mjs +8 -0
- package/dist/bin/core-chunks/chunk-56FW4P6U.mjs +10 -0
- package/dist/bin/core-chunks/chunk-5EF5EOCL.mjs +7 -0
- package/dist/bin/core-chunks/chunk-5MN22JFI.mjs +19 -0
- package/dist/bin/core-chunks/chunk-5ONMON5L.mjs +13 -0
- package/dist/bin/core-chunks/chunk-5UUITMRX.mjs +9 -0
- package/dist/bin/core-chunks/chunk-5YLI5V3Q.mjs +8 -0
- package/dist/bin/core-chunks/chunk-5YSPND5J.mjs +9 -0
- package/dist/bin/core-chunks/chunk-623SNKDH.mjs +7 -0
- package/dist/bin/core-chunks/chunk-6AFXUX2M.mjs +9 -0
- package/dist/bin/core-chunks/chunk-6FFOWWH2.mjs +17 -0
- package/dist/bin/core-chunks/chunk-6FUCOGOW.mjs +7 -0
- package/dist/bin/core-chunks/chunk-6OYLZ4NM.mjs +10 -0
- package/dist/bin/core-chunks/chunk-6P4GMVUZ.mjs +18 -0
- package/dist/bin/core-chunks/chunk-6RT2P22O.mjs +7 -0
- package/dist/bin/core-chunks/chunk-6XTLPAPZ.mjs +15 -0
- package/dist/bin/core-chunks/chunk-76YMLNLF.mjs +7 -0
- package/dist/bin/core-chunks/chunk-7CI4AMVO.mjs +7 -0
- package/dist/bin/core-chunks/chunk-7QMBIMEX.mjs +64 -0
- package/dist/bin/core-chunks/chunk-7QTE6X4J.mjs +7 -0
- package/dist/bin/core-chunks/chunk-7ZHWJSW5.mjs +8 -0
- package/dist/bin/core-chunks/chunk-AJTBFIH2.mjs +9 -0
- package/dist/bin/core-chunks/chunk-AJXELVNH.mjs +7 -0
- package/dist/bin/core-chunks/chunk-ANVCA6LF.mjs +7 -0
- package/dist/bin/core-chunks/chunk-AS3LWTQ4.mjs +16 -0
- package/dist/bin/core-chunks/chunk-B7AQHL7B.mjs +7 -0
- package/dist/bin/core-chunks/chunk-BQKDJ3U6.mjs +8 -0
- package/dist/bin/core-chunks/chunk-BSR3XUBD.mjs +24 -0
- package/dist/bin/core-chunks/chunk-BTCCUMKI.mjs +12 -0
- package/dist/bin/core-chunks/chunk-BTSHD3XJ.mjs +9 -0
- package/dist/bin/core-chunks/chunk-C35JQUWD.mjs +8 -0
- package/dist/bin/core-chunks/chunk-C7YBUD4K.mjs +10 -0
- package/dist/bin/core-chunks/chunk-CDLZLTRY.mjs +10 -0
- package/dist/bin/core-chunks/chunk-CEOTHJIY.mjs +10 -0
- package/dist/bin/core-chunks/chunk-CFD6CW7T.mjs +46 -0
- package/dist/bin/core-chunks/chunk-CKYBGRCF.mjs +8 -0
- package/dist/bin/core-chunks/chunk-CNWEQUB7.mjs +7 -0
- package/dist/bin/core-chunks/chunk-CUIB6CTG.mjs +20 -0
- package/dist/bin/core-chunks/chunk-CWLGRKA7.mjs +6 -0
- package/dist/bin/core-chunks/chunk-CXNVDJNN.mjs +7 -0
- package/dist/bin/core-chunks/chunk-D62TAZG6.mjs +9 -0
- package/dist/bin/core-chunks/chunk-DCVPNFS4.mjs +8 -0
- package/dist/bin/core-chunks/chunk-DEYAQEF5.mjs +7 -0
- package/dist/bin/core-chunks/chunk-DIEPWXJJ.mjs +7 -0
- package/dist/bin/core-chunks/chunk-DMO3ZFUG.mjs +1259 -0
- package/dist/bin/core-chunks/chunk-DN46DLU3.mjs +10 -0
- package/dist/bin/core-chunks/chunk-DOJPSIMG.mjs +7 -0
- package/dist/bin/core-chunks/chunk-DZVOFEM5.mjs +7 -0
- package/dist/bin/core-chunks/chunk-E5QQDYBR.mjs +7 -0
- package/dist/bin/core-chunks/chunk-E73HSXCX.mjs +7 -0
- package/dist/bin/core-chunks/chunk-EFSPBB4S.mjs +8 -0
- package/dist/bin/core-chunks/chunk-EHVU2SMR.mjs +34 -0
- package/dist/bin/core-chunks/chunk-ESB4ALH2.mjs +7 -0
- package/dist/bin/core-chunks/chunk-EZRNQXCC.mjs +7 -0
- package/dist/bin/core-chunks/chunk-F2FKQUYE.mjs +19 -0
- package/dist/bin/core-chunks/chunk-F7OOBAJO.mjs +30 -0
- package/dist/bin/core-chunks/chunk-FATYLG3L.mjs +14 -0
- package/dist/bin/core-chunks/chunk-FOWTB762.mjs +7 -0
- package/dist/bin/core-chunks/chunk-GDLAQV3Q.mjs +14 -0
- package/dist/bin/core-chunks/chunk-GGGDYL4P.mjs +7 -0
- package/dist/bin/core-chunks/chunk-GHSRH4GL.mjs +8 -0
- package/dist/bin/core-chunks/chunk-GOIBJ7PV.mjs +7 -0
- package/dist/bin/core-chunks/chunk-GSNQKBHZ.mjs +11 -0
- package/dist/bin/core-chunks/chunk-GTG67Z45.mjs +11 -0
- package/dist/bin/core-chunks/chunk-H2KNJUPN.mjs +23 -0
- package/dist/bin/core-chunks/chunk-HCPQZRR3.mjs +7 -0
- package/dist/bin/core-chunks/chunk-HEXSVBUP.mjs +8 -0
- package/dist/bin/core-chunks/chunk-HPCSSJXH.mjs +7 -0
- package/dist/bin/core-chunks/chunk-HU5ERAAV.mjs +8 -0
- package/dist/bin/core-chunks/chunk-HYIT7MF5.mjs +8 -0
- package/dist/bin/core-chunks/chunk-HYMJVHAX.mjs +13 -0
- package/dist/bin/core-chunks/chunk-ID2C2S33.mjs +18 -0
- package/dist/bin/core-chunks/chunk-ID5KE74L.mjs +7 -0
- package/dist/bin/core-chunks/chunk-IFLBZKKK.mjs +14 -0
- package/dist/bin/core-chunks/chunk-IMQCXC3R.mjs +30 -0
- package/dist/bin/core-chunks/chunk-INJ5WT2D.mjs +7 -0
- package/dist/bin/core-chunks/chunk-INM5COWM.mjs +7 -0
- package/dist/bin/core-chunks/chunk-IOFCSTGM.mjs +7 -0
- package/dist/bin/core-chunks/chunk-IVGWOY3U.mjs +8 -0
- package/dist/bin/core-chunks/chunk-J7T5IEFJ.mjs +15 -0
- package/dist/bin/core-chunks/chunk-JCWA7NLM.mjs +7 -0
- package/dist/bin/core-chunks/chunk-JPMUJY42.mjs +7 -0
- package/dist/bin/core-chunks/chunk-JT4RNQ67.mjs +15 -0
- package/dist/bin/core-chunks/chunk-K25HGTC3.mjs +10 -0
- package/dist/bin/core-chunks/chunk-KIRU4QFX.mjs +7 -0
- package/dist/bin/core-chunks/chunk-KKIJAEYU.mjs +7 -0
- package/dist/bin/core-chunks/chunk-KPR5TWSN.mjs +7 -0
- package/dist/bin/core-chunks/chunk-KUQLXY2P.mjs +11 -0
- package/dist/bin/core-chunks/chunk-KWC2PCPC.mjs +10 -0
- package/dist/bin/core-chunks/chunk-L4TUXFCL.mjs +7 -0
- package/dist/bin/core-chunks/chunk-L5LFLI4R.mjs +7 -0
- package/dist/bin/core-chunks/chunk-LZC6NGB6.mjs +50 -0
- package/dist/bin/core-chunks/chunk-MCY7OXED.mjs +10 -0
- package/dist/bin/core-chunks/chunk-MDONTD7O.mjs +21 -0
- package/dist/bin/core-chunks/chunk-MG3YN3AI.mjs +7 -0
- package/dist/bin/core-chunks/chunk-MR5XXHRK.mjs +8 -0
- package/dist/bin/core-chunks/chunk-MTDCRYLP.mjs +7 -0
- package/dist/bin/core-chunks/chunk-MXJKULJY.mjs +9 -0
- package/dist/bin/core-chunks/chunk-NINFE7GS.mjs +9 -0
- package/dist/bin/core-chunks/chunk-NNOX3UU4.mjs +7 -0
- package/dist/bin/core-chunks/chunk-NOHSLOLL.mjs +7 -0
- package/dist/bin/core-chunks/chunk-NXUIMC22.mjs +13 -0
- package/dist/bin/core-chunks/chunk-NZKUCQZK.mjs +8 -0
- package/dist/bin/core-chunks/chunk-O5N6XYPU.mjs +8 -0
- package/dist/bin/core-chunks/chunk-OIE3AKKO.mjs +7 -0
- package/dist/bin/core-chunks/chunk-OYXQRBVM.mjs +10 -0
- package/dist/bin/core-chunks/chunk-P2KU4FFA.mjs +11 -0
- package/dist/bin/core-chunks/chunk-P53YMOKR.mjs +7 -0
- package/dist/bin/core-chunks/chunk-PIA26GWG.mjs +7 -0
- package/dist/bin/core-chunks/chunk-PPERWRFS.mjs +13 -0
- package/dist/bin/core-chunks/chunk-PPSVWUXC.mjs +15 -0
- package/dist/bin/core-chunks/chunk-PWL3KS7Y.mjs +7 -0
- package/dist/bin/core-chunks/chunk-Q3LUL6LL.mjs +7 -0
- package/dist/bin/core-chunks/chunk-Q6C27OL7.mjs +7 -0
- package/dist/bin/core-chunks/chunk-QAIEAOJF.mjs +7 -0
- package/dist/bin/core-chunks/chunk-QLMZW4K7.mjs +7 -0
- package/dist/bin/core-chunks/chunk-QZ7T2EYR.mjs +25 -0
- package/dist/bin/core-chunks/chunk-R7LLMJDP.mjs +7 -0
- package/dist/bin/core-chunks/chunk-RACISWUV.mjs +10 -0
- package/dist/bin/core-chunks/chunk-RCIWCKL7.mjs +9 -0
- package/dist/bin/core-chunks/chunk-ROOCBUKH.mjs +8 -0
- package/dist/bin/core-chunks/chunk-RP7F67ZT.mjs +7 -0
- package/dist/bin/core-chunks/chunk-RXXXA7Z6.mjs +7 -0
- package/dist/bin/core-chunks/chunk-RXZJB43D.mjs +7 -0
- package/dist/bin/core-chunks/chunk-S6FBPXQL.mjs +9 -0
- package/dist/bin/core-chunks/chunk-SLYLGDX7.mjs +8 -0
- package/dist/bin/core-chunks/chunk-SO3ZPNWT.mjs +7 -0
- package/dist/bin/core-chunks/chunk-SRJEX6XF.mjs +12 -0
- package/dist/bin/core-chunks/chunk-SROBBOJB.mjs +11 -0
- package/dist/bin/core-chunks/chunk-TDTPDVUM.mjs +8 -0
- package/dist/bin/core-chunks/chunk-TGNZI4KF.mjs +28 -0
- package/dist/bin/core-chunks/chunk-TIBYHZFA.mjs +8 -0
- package/dist/bin/core-chunks/chunk-TILUQF6L.mjs +8 -0
- package/dist/bin/core-chunks/chunk-TTN2CFZC.mjs +7 -0
- package/dist/bin/core-chunks/chunk-U24YKPYX.mjs +7 -0
- package/dist/bin/core-chunks/chunk-U55OPVYR.mjs +9 -0
- package/dist/bin/core-chunks/chunk-UE3XKXWM.mjs +7 -0
- package/dist/bin/core-chunks/chunk-UHXV7MDW.mjs +12 -0
- package/dist/bin/core-chunks/chunk-UNNY2IWZ.mjs +9 -0
- package/dist/bin/core-chunks/chunk-UT425KVX.mjs +10 -0
- package/dist/bin/core-chunks/chunk-UYMZ3NAF.mjs +8 -0
- package/dist/bin/core-chunks/chunk-V3Y3G2DE.mjs +8 -0
- package/dist/bin/core-chunks/chunk-V5VCXMKO.mjs +52 -0
- package/dist/bin/core-chunks/chunk-V6L5PLD7.mjs +18 -0
- package/dist/bin/core-chunks/chunk-V7R3L54M.mjs +7 -0
- package/dist/bin/core-chunks/chunk-V7VA4EQX.mjs +7 -0
- package/dist/bin/core-chunks/chunk-VCSESVZ4.mjs +9 -0
- package/dist/bin/core-chunks/chunk-VCYVYFWE.mjs +9 -0
- package/dist/bin/core-chunks/chunk-VDXTMAMO.mjs +7 -0
- package/dist/bin/core-chunks/chunk-VILH3VYH.mjs +103 -0
- package/dist/bin/core-chunks/chunk-VRFYDYQY.mjs +7 -0
- package/dist/bin/core-chunks/chunk-VWFVSNQT.mjs +7 -0
- package/dist/bin/core-chunks/chunk-WGDE3L33.mjs +7 -0
- package/dist/bin/core-chunks/chunk-WP5IU4W4.mjs +7 -0
- package/dist/bin/core-chunks/chunk-WSVMQYYU.mjs +12 -0
- package/dist/bin/core-chunks/chunk-WTDUJB4I.mjs +8 -0
- package/dist/bin/core-chunks/chunk-WZXUFSVT.mjs +25 -0
- package/dist/bin/core-chunks/chunk-X35YYOFE.mjs +18 -0
- package/dist/bin/core-chunks/chunk-X4FR5S7E.mjs +9 -0
- package/dist/bin/core-chunks/chunk-XC6YAP36.mjs +7 -0
- package/dist/bin/core-chunks/chunk-XLFEWZRA.mjs +7 -0
- package/dist/bin/core-chunks/chunk-XPRLQIVQ.mjs +7 -0
- package/dist/bin/core-chunks/chunk-XSZG3CBO.mjs +7 -0
- package/dist/bin/core-chunks/chunk-XU3BQPBU.mjs +7 -0
- package/dist/bin/core-chunks/chunk-XYDLXF5A.mjs +8 -0
- package/dist/bin/core-chunks/chunk-Y5SEUYET.mjs +7 -0
- package/dist/bin/core-chunks/chunk-Y7XOKG4O.mjs +7 -0
- package/dist/bin/core-chunks/chunk-YEALP3WX.mjs +7 -0
- package/dist/bin/core-chunks/chunk-YJOC2JJK.mjs +12 -0
- package/dist/bin/core-chunks/chunk-YLYAYRSJ.mjs +8 -0
- package/dist/bin/core-chunks/chunk-YOGI4WE6.mjs +8 -0
- package/dist/bin/core-chunks/chunk-YQ6HM3YO.mjs +10 -0
- package/dist/bin/core-chunks/chunk-YZEO5DZA.mjs +7 -0
- package/dist/bin/core-chunks/chunk-ZBBNCCGV.mjs +12 -0
- package/dist/bin/core-chunks/chunk-ZHTYSYZC.mjs +7 -0
- package/dist/bin/core-chunks/chunk-ZK7BMUMR.mjs +7 -0
- package/dist/bin/core-chunks/chunk-ZKJZDOPT.mjs +14 -0
- package/dist/bin/core-chunks/chunk-ZQHSJ6FF.mjs +20 -0
- package/dist/bin/core-chunks/chunk-ZS7XJUPE.mjs +7 -0
- package/dist/bin/core-chunks/chunk-ZXTJLMVZ.mjs +7 -0
- package/dist/bin/core-chunks/cleanup-installs-WHXUGAHM.mjs +7 -0
- package/dist/bin/core-chunks/client-D43KKUYH.mjs +8 -0
- package/dist/bin/core-chunks/closest-command-YYNABM7V.mjs +7 -0
- package/dist/bin/core-chunks/cloud-FFUJZLDV.mjs +14 -0
- package/dist/bin/core-chunks/code-SU7GCPH6.mjs +12 -0
- package/dist/bin/core-chunks/code-graph-cloud-G3WQBICY.mjs +7 -0
- package/dist/bin/core-chunks/codex-hooks-GOLMCL2Q.mjs +7 -0
- package/dist/bin/core-chunks/codex-mcp-K4X2UIQF.mjs +7 -0
- package/dist/bin/core-chunks/codex-skill-3HNVU4T4.mjs +7 -0
- package/dist/bin/core-chunks/command-installer-XIQK2G6W.mjs +7 -0
- package/dist/bin/core-chunks/config-W3RHV3GK.mjs +8 -0
- package/dist/bin/core-chunks/config-manager-QVFHXIKI.mjs +7 -0
- package/dist/bin/core-chunks/content-bound-stamp-2PJNI4JC.mjs +7 -0
- package/dist/bin/core-chunks/context-4KGTUAC4.mjs +38 -0
- package/dist/bin/core-chunks/context-DDHC7VIC.mjs +10 -0
- package/dist/bin/core-chunks/context-checkpoint-4CEUPEVG.mjs +27 -0
- package/dist/bin/core-chunks/context-pressure-5URQVNBC.mjs +7 -0
- package/dist/bin/core-chunks/context-tiers-4S6H22NP.mjs +7 -0
- package/dist/bin/core-chunks/context7-service-AZWDYK5Z.mjs +7 -0
- package/dist/bin/core-chunks/core-PR5WEQCS.mjs +70 -0
- package/dist/bin/core-chunks/crew-JQCG6NS3.mjs +24 -0
- package/dist/bin/core-chunks/cursor-hooks-DGDJVAI6.mjs +7 -0
- package/dist/bin/core-chunks/custom-workflow-storage-EBEIG54R.mjs +7 -0
- package/dist/bin/core-chunks/cwd-changed-ODKZVSPB.mjs +7 -0
- package/dist/bin/core-chunks/cycle-budget-card-H37XRAIX.mjs +7 -0
- package/dist/bin/core-chunks/daemon-2NQTBFVR.mjs +13 -0
- package/dist/bin/core-chunks/database-UU2ZXSD4.mjs +7 -0
- package/dist/bin/core-chunks/delivery-geometry-GSJ6LXUC.mjs +7 -0
- package/dist/bin/core-chunks/detect-changes-2YIEX7AY.mjs +7 -0
- package/dist/bin/core-chunks/detection-KKDZYWVD.mjs +7 -0
- package/dist/bin/core-chunks/developer-evolution-AVAXGDKQ.mjs +11 -0
- package/dist/bin/core-chunks/developer-profile-MRPBWL2K.mjs +7 -0
- package/dist/bin/core-chunks/discuss-lock-CWXKBBYJ.mjs +7 -0
- package/dist/bin/core-chunks/distill-MLDZG5RA.mjs +7 -0
- package/dist/bin/core-chunks/doctor-heal-ZUZ2RHGY.mjs +7 -0
- package/dist/bin/core-chunks/doctor-service-WXLB2FEE.mjs +8 -0
- package/dist/bin/core-chunks/drift-refresh-XPJAO2B3.mjs +7 -0
- package/dist/bin/core-chunks/dynasty-outcomes-H2O546OL.mjs +11 -0
- package/dist/bin/core-chunks/editors-config-ELAQA6RV.mjs +7 -0
- package/dist/bin/core-chunks/embeddings-7A5Z5I67.mjs +7 -0
- package/dist/bin/core-chunks/enriched-recall-YXK7EIKH.mjs +7 -0
- package/dist/bin/core-chunks/eval-4YFUBFLV.mjs +76 -0
- package/dist/bin/core-chunks/exec-34V6SJYO.mjs +7 -0
- package/dist/bin/core-chunks/file-helper-LLQKU6YF.mjs +7 -0
- package/dist/bin/core-chunks/format-5V6GF6JJ.mjs +7 -0
- package/dist/bin/core-chunks/gemini-settings-ZTU3VQU3.mjs +7 -0
- package/dist/bin/core-chunks/git-context-ZSWE3KWM.mjs +8 -0
- package/dist/bin/core-chunks/git-helpers-UC53D4FT.mjs +7 -0
- package/dist/bin/core-chunks/grok-mcp-F3SRFMCW.mjs +7 -0
- package/dist/bin/core-chunks/grok-plugin-4CE2WUYI.mjs +7 -0
- package/dist/bin/core-chunks/grok-skill-GLSBOOKW.mjs +7 -0
- package/dist/bin/core-chunks/guard-FJBJ6IAE.mjs +13 -0
- package/dist/bin/core-chunks/guards-LFUFKVVH.mjs +7 -0
- package/dist/bin/core-chunks/handoff-storage-NGUA4Y2L.mjs +7 -0
- package/dist/bin/core-chunks/harness-FN3HASSA.mjs +43 -0
- package/dist/bin/core-chunks/health-W2VWME7Z.mjs +11 -0
- package/dist/bin/core-chunks/help-I37I3V2R.mjs +14 -0
- package/dist/bin/core-chunks/hooks-service-C2P5DRCH.mjs +91 -0
- package/dist/bin/core-chunks/infer-memory-file-ATP7PSAQ.mjs +7 -0
- package/dist/bin/core-chunks/install-XP4S6HWQ.mjs +9 -0
- package/dist/bin/core-chunks/judgment-GJE332LF.mjs +21 -0
- package/dist/bin/core-chunks/judgment-ledger-storage-ZTYXPMM4.mjs +7 -0
- package/dist/bin/core-chunks/judgment-orchestrator-E3SO3NVE.mjs +7 -0
- package/dist/bin/core-chunks/judgment-receipt-WT4EMCAV.mjs +7 -0
- package/dist/bin/core-chunks/kimi-hooks-2UEUIKXV.mjs +7 -0
- package/dist/bin/core-chunks/kimi-mcp-DJCXZ2JY.mjs +7 -0
- package/dist/bin/core-chunks/land-cue-5USQ64MS.mjs +8 -0
- package/dist/bin/core-chunks/land-rho-ISNVEPVC.mjs +8 -0
- package/dist/bin/core-chunks/land-synthesis-CHARJMUP.mjs +7 -0
- package/dist/bin/core-chunks/lean-L53CKZNH.mjs +34 -0
- package/dist/bin/core-chunks/legacy-crew-sweep-2TLKJTHI.mjs +23 -0
- package/dist/bin/core-chunks/living-context-contract-HZIVBMXX.mjs +7 -0
- package/dist/bin/core-chunks/llm-XMH7WTHV.mjs +18 -0
- package/dist/bin/core-chunks/mcp-FLVIZBV2.mjs +17 -0
- package/dist/bin/core-chunks/memory-dream-EJWI4FJO.mjs +14 -0
- package/dist/bin/core-chunks/memory-export-27HTNNFI.mjs +13 -0
- package/dist/bin/core-chunks/memory-index-BRZDZ2BY.mjs +7 -0
- package/dist/bin/core-chunks/notification-KJ4FQJAW.mjs +7 -0
- package/dist/bin/core-chunks/notify-76B7AICZ.mjs +9 -0
- package/dist/bin/core-chunks/nyquist-lite-A23B7G4B.mjs +9 -0
- package/dist/bin/core-chunks/one-breath-install-LVNIVN6S.mjs +7 -0
- package/dist/bin/core-chunks/opencode-mcp-5YSIYDI3.mjs +7 -0
- package/dist/bin/core-chunks/output-D27IOQXR.mjs +7 -0
- package/dist/bin/core-chunks/pack-integrity-GXN67LJB.mjs +9 -0
- package/dist/bin/core-chunks/pack-manager-46SPIPPD.mjs +7 -0
- package/dist/bin/core-chunks/package-DCGCOAGQ.mjs +7 -0
- package/dist/bin/core-chunks/package-legitimacy-VHHGI4P7.mjs +7 -0
- package/dist/bin/core-chunks/path-manager-E5DCU5LP.mjs +7 -0
- package/dist/bin/core-chunks/performance-tracker-BFBNR3LY.mjs +7 -0
- package/dist/bin/core-chunks/pi-skill-SDHTUK3V.mjs +7 -0
- package/dist/bin/core-chunks/planning-S3MYVWH6.mjs +8 -0
- package/dist/bin/core-chunks/post-edit-5YSNEMK7.mjs +7 -0
- package/dist/bin/core-chunks/pr-convention-37YHTUKM.mjs +7 -0
- package/dist/bin/core-chunks/pre-bash-GLDILCRF.mjs +10 -0
- package/dist/bin/core-chunks/pre-commit-U6HPPNIC.mjs +7 -0
- package/dist/bin/core-chunks/pre-edit-PEYQA6P6.mjs +8 -0
- package/dist/bin/core-chunks/pre-package-76JR5GLO.mjs +7 -0
- package/dist/bin/core-chunks/pre-search-5EHNUOP3.mjs +8 -0
- package/dist/bin/core-chunks/pre-secrets-RJELPDFY.mjs +7 -0
- package/dist/bin/core-chunks/precision-classifier-AV75OEVA.mjs +7 -0
- package/dist/bin/core-chunks/precision-judgment-MCX4MIIG.mjs +7 -0
- package/dist/bin/core-chunks/preferences-BTSYWYUM.mjs +31 -0
- package/dist/bin/core-chunks/primitives-IXAYLX7U.mjs +13 -0
- package/dist/bin/core-chunks/prjct-md-SUDFWDCS.mjs +7 -0
- package/dist/bin/core-chunks/product-KKGJ6MMF.mjs +68 -0
- package/dist/bin/core-chunks/project-agent-surfaces-I2CUZUIN.mjs +7 -0
- package/dist/bin/core-chunks/project-alignment-ADKW3ZWQ.mjs +17 -0
- package/dist/bin/core-chunks/project-file-inventory-XIHHJZUP.mjs +7 -0
- package/dist/bin/core-chunks/project-memory-GYLYIJQD.mjs +7 -0
- package/dist/bin/core-chunks/project-style-evolution-5W25UPPN.mjs +7 -0
- package/dist/bin/core-chunks/prompt-SW5XDRMX.mjs +23 -0
- package/dist/bin/core-chunks/protocol-4AJ4J5SI.mjs +7 -0
- package/dist/bin/core-chunks/provider-cache-IWVTFLGT.mjs +7 -0
- package/dist/bin/core-chunks/provider-status-HQUBKMH5.mjs +7 -0
- package/dist/bin/core-chunks/publish-helper-2T2EHM3V.mjs +7 -0
- package/dist/bin/core-chunks/purge-5EPJV25P.mjs +7 -0
- package/dist/bin/core-chunks/queue-storage-BKH5XX2E.mjs +7 -0
- package/dist/bin/core-chunks/registry-LK6IQ5UX.mjs +7 -0
- package/dist/bin/core-chunks/reliability-repair-JMPZWDD4.mjs +20 -0
- package/dist/bin/core-chunks/removed-verbs-EU3WPRNK.mjs +7 -0
- package/dist/bin/core-chunks/retention-S22T3SPT.mjs +7 -0
- package/dist/bin/core-chunks/retro-CLKOHAN6.mjs +13 -0
- package/dist/bin/core-chunks/review-risk-LLLBKUXT.mjs +12 -0
- package/dist/bin/core-chunks/run-recorder-EZQ32M55.mjs +7 -0
- package/dist/bin/core-chunks/safe-artifacts-RW5WQUUJ.mjs +9 -0
- package/dist/bin/core-chunks/sdd-HE7O6N5S.mjs +9 -0
- package/dist/bin/core-chunks/seed-JX7W53E5.mjs +10 -0
- package/dist/bin/core-chunks/self-heal-DFUEKNF3.mjs +7 -0
- package/dist/bin/core-chunks/session-continuity-BFSW4OL6.mjs +10 -0
- package/dist/bin/core-chunks/session-start-HVYUKJL2.mjs +7 -0
- package/dist/bin/core-chunks/session-tracker-RG2FBWMS.mjs +7 -0
- package/dist/bin/core-chunks/settings-installer-4XHM3HAZ.mjs +7 -0
- package/dist/bin/core-chunks/setup-GHS24ER5.mjs +140 -0
- package/dist/bin/core-chunks/setup-J4JFYT63.mjs +38 -0
- package/dist/bin/core-chunks/shipping-I4D4AVTE.mjs +12 -0
- package/dist/bin/core-chunks/signals-digest-V44KYN6Z.mjs +7 -0
- package/dist/bin/core-chunks/skill-adherence-MHY4BZL4.mjs +13 -0
- package/dist/bin/core-chunks/skill-generator-LKS5BNMY.mjs +7 -0
- package/dist/bin/core-chunks/skill-index-L4UWQCQE.mjs +11 -0
- package/dist/bin/core-chunks/spec-2XXPLHUZ.mjs +27 -0
- package/dist/bin/core-chunks/spec-context-inference-THFMXC7S.mjs +9 -0
- package/dist/bin/core-chunks/spec-inventory-2TT7BTFZ.mjs +9 -0
- package/dist/bin/core-chunks/spec-service-I23KJKKP.mjs +7 -0
- package/dist/bin/core-chunks/spec-task-breakdown-HTG6ME6G.mjs +7 -0
- package/dist/bin/core-chunks/state-storage-6CGFWW5D.mjs +7 -0
- package/dist/bin/core-chunks/stdin-spill-Y2A6WOOW.mjs +7 -0
- package/dist/bin/core-chunks/stop-2H57XCGZ.mjs +15 -0
- package/dist/bin/core-chunks/subagent-start-5LPASXOS.mjs +7 -0
- package/dist/bin/core-chunks/subagent-stop-ANLSG3KN.mjs +7 -0
- package/dist/bin/core-chunks/surface-attribution-WL7S53XX.mjs +7 -0
- package/dist/bin/core-chunks/symbol-graph-PCS43SHZ.mjs +7 -0
- package/dist/bin/core-chunks/sync-analyzer-M37Q4LE4.mjs +7 -0
- package/dist/bin/core-chunks/sync-client-6TAOTJWR.mjs +7 -0
- package/dist/bin/core-chunks/sync-cursor-storage-GKO4X2QN.mjs +18 -0
- package/dist/bin/core-chunks/task-orchestration-GS4J4KGS.mjs +7 -0
- package/dist/bin/core-chunks/task-overview-XSMK7YEN.mjs +7 -0
- package/dist/bin/core-chunks/task-service-FK7FC3PE.mjs +7 -0
- package/dist/bin/core-chunks/tdd-NQDHU62B.mjs +9 -0
- package/dist/bin/core-chunks/team-XZ4Q6UBV.mjs +42 -0
- package/dist/bin/core-chunks/template-loader-33OVJ4G5.mjs +7 -0
- package/dist/bin/core-chunks/token-backfill-WPXXD5MP.mjs +12 -0
- package/dist/bin/core-chunks/token-economics-JZAQJUET.mjs +7 -0
- package/dist/bin/core-chunks/transcript-jsonl-OC7TH4Q3.mjs +7 -0
- package/dist/bin/core-chunks/trust-boundary-24F662RM.mjs +7 -0
- package/dist/bin/core-chunks/uninstall-6NFON7FO.mjs +13 -0
- package/dist/bin/core-chunks/update-4IE6SA6M.mjs +11 -0
- package/dist/bin/core-chunks/update-checker-FK7MWNWN.mjs +7 -0
- package/dist/bin/core-chunks/usefulness-A3GRKFL3.mjs +7 -0
- package/dist/bin/core-chunks/user-home-BODIAXR4.mjs +7 -0
- package/dist/bin/core-chunks/vault-retire-notice-FDRT7BJG.mjs +8 -0
- package/dist/bin/core-chunks/velocity-storage-5T7RYOWH.mjs +7 -0
- package/dist/bin/core-chunks/verb-names-QWGYABFH.mjs +7 -0
- package/dist/bin/core-chunks/version-252QLBN2.mjs +7 -0
- package/dist/bin/core-chunks/watch-service-7ZERG7RC.mjs +9 -0
- package/dist/bin/core-chunks/weak-frontier-demo-5C4FR3OA.mjs +7 -0
- package/dist/bin/core-chunks/weak-model-mode-DH66XMD2.mjs +7 -0
- package/dist/bin/core-chunks/work-graph-JGJWE3AV.mjs +16 -0
- package/dist/bin/core-chunks/work-graph-WHMCFN6U.mjs +7 -0
- package/dist/bin/core-chunks/work-scope-3LXOEIUX.mjs +7 -0
- package/dist/bin/core-chunks/workflow-FGJVLRQ3.mjs +61 -0
- package/dist/bin/core-chunks/workflows-reference-UWKRZ6BJ.mjs +7 -0
- package/dist/bin/core-chunks/workspace-occupancy-JUXKZBUZ.mjs +7 -0
- package/dist/bin/core-chunks/worktree-service-YRRPFU57.mjs +11 -0
- package/dist/bin/core-chunks/world-model-impact-RH5WH2B3.mjs +7 -0
- package/dist/bin/hook-chunks/{agent-identity-45BYQBU2.mjs → agent-identity-DH6DX72X.mjs} +1 -1
- package/dist/bin/hook-chunks/{agent-switch-4ZJJWKMD.mjs → agent-switch-7GOGG4KG.mjs} +1 -1
- package/dist/bin/hook-chunks/{analysis-UGHAG2SK.mjs → analysis-UI2JRLJO.mjs} +3 -3
- package/dist/bin/hook-chunks/{auto-flush-CXWTU3RF.mjs → auto-flush-JKIXTI2I.mjs} +1 -1
- package/dist/bin/hook-chunks/{capture-gate-PS6QUXLX.mjs → capture-gate-DIPHPNIC.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-YDBZO6I3.mjs → chunk-22GFTUER.mjs} +1 -1
- package/dist/bin/hook-chunks/chunk-25OGCQTR.mjs +69 -0
- package/dist/bin/hook-chunks/{chunk-DCSKTMDX.mjs → chunk-3CKNJ5RA.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-ABJNOG2I.mjs → chunk-3FEXJUO2.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-22AXWLI6.mjs → chunk-3HGQPUKG.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-GLPKMG5A.mjs → chunk-63P5VOR6.mjs} +10 -10
- package/dist/bin/hook-chunks/{chunk-PP6DANGV.mjs → chunk-6LU777GI.mjs} +1 -1
- package/dist/bin/hook-chunks/chunk-6NMHVPAI.mjs +35 -0
- package/dist/bin/hook-chunks/{chunk-QL3NYJTW.mjs → chunk-6RS7PNAN.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-PO3QDKTE.mjs → chunk-6WDRJ7J7.mjs} +1 -1
- package/dist/bin/hook-chunks/chunk-7PA4KPSR.mjs +51 -0
- package/dist/bin/hook-chunks/{chunk-QP5USCDX.mjs → chunk-7WO5CEH3.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-FW4MEPTB.mjs → chunk-A6LRNS6R.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-GCDLPKOH.mjs → chunk-AEDB75AK.mjs} +1 -1
- package/dist/bin/hook-chunks/chunk-AFGXKRRP.mjs +12 -0
- package/dist/bin/hook-chunks/{chunk-WGWE3CSC.mjs → chunk-ANSRNEEI.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-RTEEXGEA.mjs → chunk-AORD3YDQ.mjs} +1 -1
- package/dist/bin/hook-chunks/chunk-B2ZA5ZAO.mjs +8 -0
- package/dist/bin/hook-chunks/{chunk-BOBFTVAY.mjs → chunk-B7MHIUFA.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-Z6KVLCMK.mjs → chunk-BKJHD5JI.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-4NTVXJD7.mjs → chunk-BVK7ZDLX.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-IGHY4FGS.mjs → chunk-CPR4FPXG.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-5XA5RL5I.mjs → chunk-ETTDRXQ6.mjs} +1 -1
- package/dist/bin/hook-chunks/chunk-F3PNT2DQ.mjs +19 -0
- package/dist/bin/hook-chunks/{chunk-C4O243NG.mjs → chunk-FBEDUKMG.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-5H3KJWQS.mjs → chunk-GER6HFWV.mjs} +2 -2
- package/dist/bin/hook-chunks/{chunk-IWJG7CZX.mjs → chunk-GSPDJSJ5.mjs} +1 -1
- package/dist/bin/hook-chunks/chunk-H5AVBDCH.mjs +8 -0
- package/dist/bin/hook-chunks/{chunk-HEDZA6KC.mjs → chunk-HGZQWYBL.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-GDESYWTD.mjs → chunk-HNZ24HIK.mjs} +2 -2
- package/dist/bin/hook-chunks/{chunk-S5ISOGDB.mjs → chunk-IDPBMN3Q.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-PTA7DMLM.mjs → chunk-IFIENAZU.mjs} +1 -1
- package/dist/bin/hook-chunks/chunk-IHEOOJJT.mjs +11 -0
- package/dist/bin/hook-chunks/{chunk-S5N2ZZDL.mjs → chunk-IL36ER4U.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-6GAFRIUQ.mjs → chunk-IWUF2LGO.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-OGIFB3OE.mjs → chunk-JF6DFOQK.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-Z4X7JIAP.mjs → chunk-JGZ3QGWX.mjs} +3 -3
- package/dist/bin/hook-chunks/chunk-KOLXYWOA.mjs +36 -0
- package/dist/bin/hook-chunks/{chunk-DVDZA63F.mjs → chunk-MIJZT4ZR.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-J5UQVJUW.mjs → chunk-NCLONKOT.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-QBYHZX33.mjs → chunk-NJ74RHNC.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-NLKPAJND.mjs → chunk-NMB6YSAH.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-MHNWIB7B.mjs → chunk-NSTXHVTH.mjs} +2 -2
- package/dist/bin/hook-chunks/{chunk-N3L77UNM.mjs → chunk-ONGVBXBD.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-X5W2UYQK.mjs → chunk-PFORBQBF.mjs} +3 -3
- package/dist/bin/hook-chunks/{chunk-KSSRINDX.mjs → chunk-PPWPUEBH.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-76GDLA3Z.mjs → chunk-PQJ64L6U.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-PGWFGRX4.mjs → chunk-QOQZHR3E.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-2UC4DTDO.mjs → chunk-QXCEBAIA.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-I26F7TLM.mjs → chunk-RLKYEL3F.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-BDOAQVIF.mjs → chunk-SQW2B7NW.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-4HAKTI36.mjs → chunk-TF6PN7IB.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-UHVYBU7F.mjs → chunk-TKXOMN4K.mjs} +4 -4
- package/dist/bin/hook-chunks/{chunk-BX7VKYA7.mjs → chunk-UBWUQ64A.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-OUAVSD47.mjs → chunk-UI25YRTY.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-G7QQZMAO.mjs → chunk-UMJ5D5I6.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-ZOX6OV6X.mjs → chunk-V6GGH6H5.mjs} +1 -1
- package/dist/bin/hook-chunks/chunk-WIA6ORIY.mjs +16 -0
- package/dist/bin/hook-chunks/chunk-WUOVBBPC.mjs +11 -0
- package/dist/bin/hook-chunks/{chunk-T6ELTQZM.mjs → chunk-XSJ7SPVR.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-UYQC63MC.mjs → chunk-XXVHUYL7.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-RHKF7EJW.mjs → chunk-Y7MZA2G4.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-U4OON3S7.mjs → chunk-Y7RDBMNC.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-ROA2AJXY.mjs → chunk-YATXTHDL.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-ZFLIVOFX.mjs → chunk-ZF2EVMY7.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-S6L3FECF.mjs → chunk-ZH2MF7H7.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-3WQBTXUC.mjs → chunk-ZJW27EUC.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-J5UVRZ44.mjs → chunk-ZXON2U5F.mjs} +3 -3
- package/dist/bin/hook-chunks/chunk-ZYCNW75E.mjs +9 -0
- package/dist/bin/hook-chunks/{client-CRXA774S.mjs → client-K3ZA2BLB.mjs} +1 -1
- package/dist/bin/hook-chunks/{code-graph-cloud-GTSLO7CD.mjs → code-graph-cloud-XGQF7XYC.mjs} +1 -1
- package/dist/bin/hook-chunks/{codex-skill-NUBNPSMF.mjs → codex-skill-UZZCACMB.mjs} +1 -1
- package/dist/bin/hook-chunks/{command-installer-UHSXC3UG.mjs → command-installer-FJ73C2ZW.mjs} +1 -1
- package/dist/bin/hook-chunks/{config-manager-DX5OOPW5.mjs → config-manager-XDKOTIJM.mjs} +1 -1
- package/dist/bin/hook-chunks/{context7-service-GDJ3QICX.mjs → context7-service-NH4BMGSJ.mjs} +1 -1
- package/dist/bin/hook-chunks/{custom-workflow-storage-FD47DPA3.mjs → custom-workflow-storage-VBMWLKA7.mjs} +1 -1
- package/dist/bin/hook-chunks/cwd-changed-STP3LH6Y.mjs +8 -0
- package/dist/bin/hook-chunks/{database-ZUC7OEZG.mjs → database-ZCP76LMM.mjs} +1 -1
- package/dist/bin/hook-chunks/{detect-changes-OJUBWWTU.mjs → detect-changes-5W6EGEZG.mjs} +1 -1
- package/dist/bin/hook-chunks/{developer-evolution-WNSTHDAA.mjs → developer-evolution-UTY3CWOK.mjs} +1 -1
- package/dist/bin/hook-chunks/{distill-GOGPFQFK.mjs → distill-63BHUJAC.mjs} +1 -1
- package/dist/bin/hook-chunks/{enriched-recall-QF22RIK7.mjs → enriched-recall-6F6LBYAB.mjs} +1 -1
- package/dist/bin/hook-chunks/{format-J3X3R225.mjs → format-VJ2YQ4XQ.mjs} +1 -1
- package/dist/bin/hook-chunks/{judgment-ledger-storage-FE4HXTHM.mjs → judgment-ledger-storage-7Q7AEEY6.mjs} +1 -1
- package/dist/bin/hook-chunks/{judgment-orchestrator-YDJTKNV2.mjs → judgment-orchestrator-AAON4ZJ4.mjs} +1 -1
- package/dist/bin/hook-chunks/{judgment-receipt-7A2DXVJA.mjs → judgment-receipt-LSJCAYBT.mjs} +1 -1
- package/dist/bin/hook-chunks/{land-cue-SZWJH6XP.mjs → land-cue-DEO2AZW4.mjs} +1 -1
- package/dist/bin/hook-chunks/{land-synthesis-JLYUBKHR.mjs → land-synthesis-GTMFIGDM.mjs} +1 -1
- package/dist/bin/hook-chunks/{legacy-crew-sweep-JXYO62UE.mjs → legacy-crew-sweep-QPKU7ITU.mjs} +2 -2
- package/dist/bin/hook-chunks/{memory-index-CIYDXN2G.mjs → memory-index-KCMXQGKX.mjs} +1 -1
- package/dist/bin/hook-chunks/{notification-UA7RTVHG.mjs → notification-DX6ZHOUC.mjs} +1 -1
- package/dist/bin/hook-chunks/{pack-integrity-GZC5NGFN.mjs → pack-integrity-UMLIB5RQ.mjs} +1 -1
- package/dist/bin/hook-chunks/{pack-manager-AF5F7PRT.mjs → pack-manager-YXRK2TJ4.mjs} +1 -1
- package/dist/bin/hook-chunks/{planning-M3RAOZVB.mjs → planning-JR7O5MYW.mjs} +2 -2
- package/dist/bin/hook-chunks/{post-edit-QRDYPZLZ.mjs → post-edit-IPTVSRVG.mjs} +1 -1
- package/dist/bin/hook-chunks/{pre-bash-TWWFVNQ7.mjs → pre-bash-5WWTH36N.mjs} +1 -1
- package/dist/bin/hook-chunks/{pre-commit-PTFF7JIN.mjs → pre-commit-KZ5TNTPW.mjs} +1 -1
- package/dist/bin/hook-chunks/pre-edit-XHPYBXRU.mjs +11 -0
- package/dist/bin/hook-chunks/{pre-package-325ALZKD.mjs → pre-package-U3HDW3SX.mjs} +1 -1
- package/dist/bin/hook-chunks/{pre-search-GOHVFAFH.mjs → pre-search-R5CRK66E.mjs} +1 -1
- package/dist/bin/hook-chunks/{pre-secrets-MYNM5KI4.mjs → pre-secrets-MWPPZPWK.mjs} +1 -1
- package/dist/bin/hook-chunks/{prjct-md-RCB6FWD6.mjs → prjct-md-IBQTJBK7.mjs} +1 -1
- package/dist/bin/hook-chunks/{project-agent-surfaces-V4P5RTUR.mjs → project-agent-surfaces-TPZO73ZV.mjs} +1 -1
- package/dist/bin/hook-chunks/{project-file-inventory-OKIP4LBO.mjs → project-file-inventory-HHURZTMH.mjs} +1 -1
- package/dist/bin/hook-chunks/project-memory-YQLZX5RG.mjs +8 -0
- package/dist/bin/hook-chunks/{project-style-evolution-RPGATIYJ.mjs → project-style-evolution-NOFCIIZZ.mjs} +1 -1
- package/dist/bin/hook-chunks/prompt-DJWONMTZ.mjs +24 -0
- package/dist/bin/hook-chunks/{publish-helper-SX7HEV2L.mjs → publish-helper-ZSL27HSX.mjs} +1 -1
- package/dist/bin/hook-chunks/{purge-XKHUAB4H.mjs → purge-5W3K2MZL.mjs} +1 -1
- package/dist/bin/hook-chunks/retention-GWJ4AX7I.mjs +8 -0
- package/dist/bin/hook-chunks/{sdd-6PF7MBAY.mjs → sdd-GWBRD4KI.mjs} +1 -1
- package/dist/bin/hook-chunks/{session-continuity-UEXQDGZE.mjs → session-continuity-VH645RGR.mjs} +1 -1
- package/dist/bin/hook-chunks/session-start-4TYTI27B.mjs +8 -0
- package/dist/bin/hook-chunks/settings-installer-CQKMGMRG.mjs +9 -0
- package/dist/bin/hook-chunks/{setup-ZOHG6MGF.mjs → setup-VF4UHUBX.mjs} +3 -3
- package/dist/bin/hook-chunks/{shipping-QVGTOO6U.mjs → shipping-2ULWBGRX.mjs} +4 -4
- package/dist/bin/hook-chunks/{skill-index-FGDQVYHM.mjs → skill-index-55I3HLAI.mjs} +1 -1
- package/dist/bin/hook-chunks/{spec-context-inference-6Z52BT37.mjs → spec-context-inference-HVENYOIO.mjs} +1 -1
- package/dist/bin/hook-chunks/{spec-service-UAQ5AEXQ.mjs → spec-service-4XGQQPGP.mjs} +2 -2
- package/dist/bin/hook-chunks/{spec-task-breakdown-LAXGVLMY.mjs → spec-task-breakdown-JXF556UH.mjs} +1 -1
- package/dist/bin/hook-chunks/{state-storage-XU35ZYNA.mjs → state-storage-EMWLIFQJ.mjs} +1 -1
- package/dist/bin/hook-chunks/stop-NJDYIIXR.mjs +16 -0
- package/dist/bin/hook-chunks/subagent-start-2YMGD4SY.mjs +8 -0
- package/dist/bin/hook-chunks/{subagent-stop-OUG4PR7S.mjs → subagent-stop-4TZJ2NSJ.mjs} +1 -1
- package/dist/bin/hook-chunks/{surface-attribution-A6GCGRFM.mjs → surface-attribution-UNK4J5W2.mjs} +1 -1
- package/dist/bin/hook-chunks/{symbol-graph-DMPBNBX7.mjs → symbol-graph-MH42JSPX.mjs} +1 -1
- package/dist/bin/hook-chunks/{sync-cursor-storage-VVLA3L2U.mjs → sync-cursor-storage-ZB7FGT6D.mjs} +1 -1
- package/dist/bin/hook-chunks/{task-orchestration-HFZYWYLR.mjs → task-orchestration-7NGRIISS.mjs} +1 -1
- package/dist/bin/hook-chunks/{task-overview-PCUZWL5Q.mjs → task-overview-P3VRH2FD.mjs} +1 -1
- package/dist/bin/hook-chunks/task-service-SPUES5DO.mjs +8 -0
- package/dist/bin/hook-chunks/{tdd-QZL4OSM7.mjs → tdd-MYF7I5FS.mjs} +1 -1
- package/dist/bin/hook-chunks/{template-loader-SKXILJLJ.mjs → template-loader-4SYVR2UB.mjs} +1 -1
- package/dist/bin/hook-chunks/{usefulness-SZLG6LVC.mjs → usefulness-TBD5EYAL.mjs} +1 -1
- package/dist/bin/hook-chunks/{vault-retire-notice-HOXPURNQ.mjs → vault-retire-notice-7XHVNHU6.mjs} +1 -1
- package/dist/bin/hook-chunks/{velocity-storage-5J6BAMCW.mjs → velocity-storage-IOCVK2LU.mjs} +1 -1
- package/dist/bin/hook-chunks/{weak-model-mode-ZRNKFTFF.mjs → weak-model-mode-TYJJT6JJ.mjs} +1 -1
- package/dist/bin/hook-chunks/{work-graph-PGYHFLEL.mjs → work-graph-AVAOKY63.mjs} +1 -1
- package/dist/bin/hook-chunks/{work-scope-FIB6LBKE.mjs → work-scope-A6XPENFE.mjs} +1 -1
- package/dist/bin/hook-chunks/{workspace-occupancy-3D4OKQRB.mjs → workspace-occupancy-3NEAXILW.mjs} +1 -1
- package/dist/bin/hook-fast-darwin-arm64 +0 -0
- package/dist/bin/hook-fast-darwin-x64 +0 -0
- package/dist/bin/hook-fast-linux-x64 +0 -0
- package/dist/bin/prjct-core.mjs +9 -3311
- package/dist/bin/prjct-hooks.mjs +3 -3
- package/dist/bin/prjct.mjs +27 -8
- package/dist/daemon/entry.mjs +621 -606
- package/dist/mcp/server.mjs +317 -302
- package/package.json +5 -6
- package/scripts/install.sh +28 -496
- package/dist/bin/hook-chunks/chunk-4KXXDQYI.mjs +0 -11
- package/dist/bin/hook-chunks/chunk-BU22R6JX.mjs +0 -9
- package/dist/bin/hook-chunks/chunk-CYZ7ST2P.mjs +0 -36
- package/dist/bin/hook-chunks/chunk-EWOK4VE7.mjs +0 -11
- package/dist/bin/hook-chunks/chunk-FXFG6PV6.mjs +0 -69
- package/dist/bin/hook-chunks/chunk-GDECEHO5.mjs +0 -16
- package/dist/bin/hook-chunks/chunk-GPZP7NXL.mjs +0 -11
- package/dist/bin/hook-chunks/chunk-KHLYWNHT.mjs +0 -8
- package/dist/bin/hook-chunks/chunk-TRMBRDKH.mjs +0 -8
- package/dist/bin/hook-chunks/chunk-TXSLON7M.mjs +0 -19
- package/dist/bin/hook-chunks/chunk-V2FR2NPL.mjs +0 -43
- package/dist/bin/hook-chunks/chunk-XXRAQZNC.mjs +0 -35
- package/dist/bin/hook-chunks/cwd-changed-EP3UIRK6.mjs +0 -8
- package/dist/bin/hook-chunks/pre-edit-PMMWDR2B.mjs +0 -11
- package/dist/bin/hook-chunks/project-memory-JK2MXRJB.mjs +0 -8
- package/dist/bin/hook-chunks/prompt-DOENKHLQ.mjs +0 -24
- package/dist/bin/hook-chunks/retention-C3NQT65W.mjs +0 -8
- package/dist/bin/hook-chunks/session-start-B4P7L33E.mjs +0 -8
- package/dist/bin/hook-chunks/settings-installer-QDM3GB6J.mjs +0 -9
- package/dist/bin/hook-chunks/stop-CFB2H3XC.mjs +0 -16
- package/dist/bin/hook-chunks/subagent-start-KFAZZUHS.mjs +0 -8
- package/dist/bin/hook-chunks/task-service-PXCDU55T.mjs +0 -8
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { createRequire as __createRequire } from 'module';
|
|
2
|
+
import { fileURLToPath as __fileURLToPath } from 'url';
|
|
3
|
+
import { dirname as __pathDirname } from 'path';
|
|
4
|
+
const require = __createRequire(import.meta.url);
|
|
5
|
+
const __filename = __fileURLToPath(import.meta.url);
|
|
6
|
+
const __dirname = __pathDirname(__filename);
|
|
7
|
+
import{a as w}from"./chunk-P53YMOKR.mjs";import{c as h}from"./chunk-F2FKQUYE.mjs";import{i as u}from"./chunk-6AFXUX2M.mjs";import"./chunk-WSVMQYYU.mjs";import{b as f}from"./chunk-LZC6NGB6.mjs";import"./chunk-XLFEWZRA.mjs";import"./chunk-XPRLQIVQ.mjs";import"./chunk-EZRNQXCC.mjs";import"./chunk-EHVU2SMR.mjs";import"./chunk-HPCSSJXH.mjs";import"./chunk-E5QQDYBR.mjs";import"./chunk-B7AQHL7B.mjs";import"./chunk-L4TUXFCL.mjs";import"./chunk-DIEPWXJJ.mjs";import"./chunk-UNNY2IWZ.mjs";import{b as y}from"./chunk-3USVY66O.mjs";import"./chunk-OIE3AKKO.mjs";import"./chunk-Q6C27OL7.mjs";import"./chunk-NXUIMC22.mjs";import"./chunk-DMO3ZFUG.mjs";import"./chunk-NNOX3UU4.mjs";import"./chunk-INJ5WT2D.mjs";import"./chunk-HU5ERAAV.mjs";import"./chunk-6RT2P22O.mjs";import"./chunk-ZXTJLMVZ.mjs";import"./chunk-TIBYHZFA.mjs";import"./chunk-VWFVSNQT.mjs";import"./chunk-U24YKPYX.mjs";import"./chunk-D62TAZG6.mjs";import"./chunk-KPR5TWSN.mjs";import"./chunk-623SNKDH.mjs";import"./chunk-TTN2CFZC.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import{e as g,g as x}from"./chunk-225DWS4D.mjs";import{a as d}from"./chunk-3TRXQAU4.mjs";x();async function M(c,r,o){let[n,...i]=c;try{switch(n){case"memory":return await k(i,o,{kind:"memory",projectId:r});case"learnings":return await k(i,o,{kind:"learnings",projectId:r});case"skills":{let{refreshSkillIndex:t,renderSkillIndex:a}=await import("./skill-index-L4UWQCQE.mjs");return await t(r,o),{tool:"skills",result:{markdown:a(r)??"No skills found in project or global skill roots."}}}case"tiers":{let{buildContextTiersReport:t,formatContextTiersJson:a,formatContextTiersMd:l}=await import("./context-tiers-4S6H22NP.mjs"),s=t();return{tool:"tiers",result:{markdown:l(s),...a(s)}}}case"project":{let{formatProjectFactsMd:t}=await import("./prjct-md-SUDFWDCS.mjs");return{tool:"project",result:{markdown:await t(o)}}}case"artifacts":{let{listSafeArtifacts:t,formatSafeArtifactsJson:a,formatSafeArtifactsMd:l}=await import("./safe-artifacts-RW5WQUUJ.mjs"),s=await t(r);return{tool:"artifacts",result:{markdown:l(s),...a(s)}}}case"help":return{tool:"error",result:{error:T(),code:"HELP"}};default:return{tool:"error",result:{error:`Unknown tool: ${n}. Use 'prjct context help' for usage.`,code:"UNKNOWN_TOOL"}}}}catch(t){return{tool:"error",result:{error:g(t),code:"EXECUTION_ERROR"}}}}d(M,"runContextTool");async function k(c,r,o){let n=o.projectId??await y.getProjectId(r);if(!n)return{tool:"error",result:{error:"No prjct project. Run `prjct init` first.",code:"NO_PROJECT"}};let i=c.filter(e=>!e.startsWith("-")).join(" ").trim()||void 0,t=(()=>{let e=c.find(m=>m.startsWith("--id"));if(e){let m=e.includes("=")?e.split("=")[1]:c[c.indexOf(e)+1];if(m)return m}return i&&/^mem[_-]?\d+$/i.test(i)?i:void 0})();if(t){let e=f.getById(n,t);e&&h.recordFetch(n,e.id);let m=e?f.expandWithLinks(n,[e],5):[],p=e?[e,...m]:[];return{tool:o.kind,result:{markdown:e?u(p):`> No memory entry with id \`${t}\` (it may have aged out or never existed).`,entryCount:p.length,topic:t}}}let a=["learning","anti-pattern","gotcha","red-herring"],l=o.kind==="learnings"?a:void 0,s=await w(r,n,{topic:i,types:l,limit:12});return{tool:o.kind,result:{markdown:u(s,{compact:!0}),entryCount:s.length,topic:i}}}d(k,"runMemoryTool");function T(){return`
|
|
8
|
+
prjct context \u2014 memory-bound context subtools
|
|
9
|
+
|
|
10
|
+
USAGE:
|
|
11
|
+
prjct context <subtool> [args]
|
|
12
|
+
|
|
13
|
+
SUBTOOLS:
|
|
14
|
+
|
|
15
|
+
memory [topic]
|
|
16
|
+
Recall project memory entries (facts, decisions, learnings, \u2026).
|
|
17
|
+
Optional topic filters by keyword over content + tag values.
|
|
18
|
+
|
|
19
|
+
learnings [topic]
|
|
20
|
+
Shortcut for the learnings slice (learning / anti-pattern / gotcha).
|
|
21
|
+
|
|
22
|
+
tiers
|
|
23
|
+
Context cache tiers L0\u2013L3 contract + live L0 budget (skill/routing).
|
|
24
|
+
Agents: never stuff L2/L3 into L0 \u2014 pull L2 on demand.
|
|
25
|
+
|
|
26
|
+
project
|
|
27
|
+
Live preview of verified per-project facts (stack + real test/lint/build
|
|
28
|
+
commands) \u2014 no write. What PRJCT.md's "this project" section contains.
|
|
29
|
+
|
|
30
|
+
artifacts
|
|
31
|
+
Safe artifact repo: judgment ledger, ship receipts, handoffs, checkpoints.
|
|
32
|
+
Audit what agents produced and under which gates (not a markdown vault).
|
|
33
|
+
|
|
34
|
+
NOTE: File-oriented subtools (files, signatures, imports, recent,
|
|
35
|
+
summary) were removed in alpha.12 \u2014 Claude has Glob/Grep/Read/git
|
|
36
|
+
natively and re-implementing them in prjct was harness. The
|
|
37
|
+
underlying functions still exist for the orchestrator + MCP surface.
|
|
38
|
+
`.trim()}d(T,"getHelpText");export{M as runContextTool};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { createRequire as __createRequire } from 'module';
|
|
2
|
+
import { fileURLToPath as __fileURLToPath } from 'url';
|
|
3
|
+
import { dirname as __pathDirname } from 'path';
|
|
4
|
+
const require = __createRequire(import.meta.url);
|
|
5
|
+
const __filename = __fileURLToPath(import.meta.url);
|
|
6
|
+
const __dirname = __pathDirname(__filename);
|
|
7
|
+
import{l as O}from"./chunk-5YSPND5J.mjs";import{a as T,c as d,d as u,f as j,h as x,k as b}from"./chunk-5MN22JFI.mjs";import"./chunk-4T7NGLNQ.mjs";import{b as w}from"./chunk-EHVU2SMR.mjs";import"./chunk-HPCSSJXH.mjs";import"./chunk-E5QQDYBR.mjs";import"./chunk-B7AQHL7B.mjs";import"./chunk-L4TUXFCL.mjs";import{b as p}from"./chunk-3USVY66O.mjs";import"./chunk-OIE3AKKO.mjs";import"./chunk-Q6C27OL7.mjs";import"./chunk-NXUIMC22.mjs";import"./chunk-DMO3ZFUG.mjs";import"./chunk-NNOX3UU4.mjs";import"./chunk-INJ5WT2D.mjs";import{F as h,G as A}from"./chunk-HU5ERAAV.mjs";import"./chunk-6RT2P22O.mjs";import"./chunk-ZXTJLMVZ.mjs";import"./chunk-VWFVSNQT.mjs";import"./chunk-U24YKPYX.mjs";import"./chunk-D62TAZG6.mjs";import"./chunk-2EEMQV7N.mjs";import"./chunk-623SNKDH.mjs";import"./chunk-TTN2CFZC.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import{a as k,e as y,g as P}from"./chunk-225DWS4D.mjs";import{a as g}from"./chunk-3TRXQAU4.mjs";import S from"node:fs/promises";import C from"node:path";A();P();var f=class{static{g(this,"ContextCommands")}async context(n=null,o=process.cwd(),t={}){try{let e=await p.readConfig(o);if(!e||!e.projectId)return console.log(JSON.stringify({projectId:"",globalPath:"",currentTask:null,domains:[],primaryDomain:null,subtasks:null,repoAnalysis:{ecosystem:"unknown",frameworks:[],hasTests:!1,technologies:[]}})),{success:!1,message:"No prjct project. Run `prjct init` first."};let s=e.projectId,a=h.getGlobalProjectPath(s),r=await w.read(s),c=r?.currentTask?{id:r.currentTask.id,description:r.currentTask.description,startedAt:r.currentTask.startedAt,subtasks:r.currentTask.subtasks?.map(l=>({id:l.id,description:l.description,status:l.status,domain:l.domain})),currentSubtaskIndex:r.currentTask.currentSubtaskIndex}:null,i=await this.loadRepoAnalysis(a,s),m={projectId:s,globalPath:a,currentTask:c,domains:[],primaryDomain:null,subtasks:null,repoAnalysis:{ecosystem:i?.ecosystem||"unknown",frameworks:i?.frameworks||[],hasTests:i?.hasTests||!1,technologies:i?.technologies||[]}};return t.md?console.log(this.formatContextMd(m)):console.log(JSON.stringify(m)),{success:!0,message:""}}catch(e){return{success:!1,message:`Context error: ${y(e)}`}}}async search(n=null,o=process.cwd(),t={}){let e=t.global?"global-kb":await p.getProjectId(o);if(!e)return{success:!1,message:"No prjct project. Run `prjct init` first."};let s=(n??"").trim();if(!s)return{success:!1,message:"search requires a query"};let{runContextTool:a}=await import("./context-4KGTUAC4.mjs"),r=await a(["memory",s],e,o),c=r.tool!=="error",i=t.md?r.result.markdown??"":JSON.stringify(r,null,2);return{success:c,message:i}}formatContextMd(n){let o=[];if(o.push(u("Project",b(d("ID",n.projectId),d("Path",n.globalPath)))),n.currentTask){let t=n.currentTask;if(o.push(j({description:t.description,status:"in-progress"})),t.subtasks&&t.subtasks.length>0){let e=t.subtasks.map(s=>`- [${s.status==="completed"?"x":" "}] ${s.description}${s.domain?` (${s.domain})`:""}`);o.push(e.join(`
|
|
8
|
+
`))}}else o.push("> No active work cycle");return n.repoAnalysis&&o.push(u("Stack",x({Ecosystem:n.repoAnalysis.ecosystem,Frameworks:n.repoAnalysis.frameworks.join(", ")||"none",Tests:n.repoAnalysis.hasTests?"yes":"no",Tech:n.repoAnalysis.technologies.join(", ")||"none"}))),o.push(u("Context tiers",`${O()}
|
|
9
|
+
|
|
10
|
+
_Detail: \`prjct context tiers --md\` \xB7 artifacts: \`prjct context artifacts --md\`_`)),T(...o)}async loadRepoAnalysis(n,o){if(o)try{let{getActiveProjectStyle:t}=await import("./project-style-evolution-5W25UPPN.mjs"),e=t(o);if(e){let s=e.payload.stack;return{ecosystem:s.ecosystem||"unknown",frameworks:s.frameworks??[],hasTests:s.hasTests??!1,technologies:[...s.languages??[],...s.frameworks??[],...s.keyLibraries??[]].filter((a,r,c)=>c.indexOf(a)===r)}}}catch{}try{let t=C.join(n,"analysis","repo-analysis.json"),e=await S.readFile(t,"utf-8"),s=JSON.parse(e);return{ecosystem:s.ecosystem||"unknown",frameworks:s.frameworks||[],hasTests:s.hasTests??!1,technologies:s.technologies||[]}}catch(t){k(t)}try{let{detectStack:t,gatherStats:e}=await import("./sync-analyzer-M37Q4LE4.mjs"),s=process.cwd(),[a,r]=await Promise.all([t(s),e(s)]);return{ecosystem:r.ecosystem||"unknown",frameworks:a.frameworks??r.frameworks??[],hasTests:a.hasTesting??!1,technologies:[...r.languages??[],...a.frameworks??[]].filter((c,i,m)=>m.indexOf(c)===i)}}catch{return null}}},I=new f,F=I;export{f as ContextCommands,I as contextCommands,F as default};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { createRequire as __createRequire } from 'module';
|
|
2
|
+
import { fileURLToPath as __fileURLToPath } from 'url';
|
|
3
|
+
import { dirname as __pathDirname } from 'path';
|
|
4
|
+
const require = __createRequire(import.meta.url);
|
|
5
|
+
const __filename = __fileURLToPath(import.meta.url);
|
|
6
|
+
const __dirname = __pathDirname(__filename);
|
|
7
|
+
import{b as $}from"./chunk-KIRU4QFX.mjs";import"./chunk-7QMBIMEX.mjs";import"./chunk-VDXTMAMO.mjs";import"./chunk-NZKUCQZK.mjs";import"./chunk-H2KNJUPN.mjs";import{a as S}from"./chunk-V5VCXMKO.mjs";import{e as y}from"./chunk-FOWTB762.mjs";import"./chunk-6FUCOGOW.mjs";import"./chunk-7CI4AMVO.mjs";import"./chunk-Q3LUL6LL.mjs";import"./chunk-C7YBUD4K.mjs";import"./chunk-IOFCSTGM.mjs";import"./chunk-S6FBPXQL.mjs";import"./chunk-NOHSLOLL.mjs";import"./chunk-RCIWCKL7.mjs";import"./chunk-E73HSXCX.mjs";import"./chunk-76YMLNLF.mjs";import"./chunk-O5N6XYPU.mjs";import"./chunk-SROBBOJB.mjs";import"./chunk-56FW4P6U.mjs";import"./chunk-BQKDJ3U6.mjs";import"./chunk-6OYLZ4NM.mjs";import"./chunk-SO3ZPNWT.mjs";import"./chunk-V7R3L54M.mjs";import"./chunk-YEALP3WX.mjs";import"./chunk-QZ7T2EYR.mjs";import"./chunk-UYMZ3NAF.mjs";import"./chunk-AJXELVNH.mjs";import"./chunk-CWLGRKA7.mjs";import"./chunk-2NI4EEK2.mjs";import"./chunk-6AFXUX2M.mjs";import"./chunk-WSVMQYYU.mjs";import"./chunk-LZC6NGB6.mjs";import"./chunk-XLFEWZRA.mjs";import"./chunk-XPRLQIVQ.mjs";import"./chunk-EZRNQXCC.mjs";import"./chunk-HCPQZRR3.mjs";import"./chunk-EHVU2SMR.mjs";import"./chunk-HPCSSJXH.mjs";import"./chunk-E5QQDYBR.mjs";import"./chunk-B7AQHL7B.mjs";import"./chunk-L4TUXFCL.mjs";import{h as p}from"./chunk-ID2C2S33.mjs";import"./chunk-RACISWUV.mjs";import"./chunk-DIEPWXJJ.mjs";import"./chunk-NINFE7GS.mjs";import"./chunk-UNNY2IWZ.mjs";import"./chunk-3USVY66O.mjs";import"./chunk-OIE3AKKO.mjs";import"./chunk-Q6C27OL7.mjs";import"./chunk-NXUIMC22.mjs";import"./chunk-DZVOFEM5.mjs";import"./chunk-5EF5EOCL.mjs";import"./chunk-DMO3ZFUG.mjs";import"./chunk-NNOX3UU4.mjs";import"./chunk-INJ5WT2D.mjs";import{F as x,G as R}from"./chunk-HU5ERAAV.mjs";import"./chunk-6RT2P22O.mjs";import"./chunk-ZXTJLMVZ.mjs";import"./chunk-TIBYHZFA.mjs";import"./chunk-VWFVSNQT.mjs";import"./chunk-U24YKPYX.mjs";import{a as v,b as f,p as A}from"./chunk-D62TAZG6.mjs";import"./chunk-KPR5TWSN.mjs";import"./chunk-623SNKDH.mjs";import"./chunk-TTN2CFZC.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import{e as k,g as L}from"./chunk-225DWS4D.mjs";import{a as c}from"./chunk-3TRXQAU4.mjs";R();L();A();import m from"node:fs/promises";import u from"node:path";var j=50,C=class extends S{static{c(this,"ContextCheckpointCommands")}async save(n,t=process.cwd(),s={}){try{let i=await $(t);if(!i.ok)return i.result;let o=(n??"untitled").trim().slice(0,200)||"untitled",g=await F(t),r={version:1,title:o,createdAt:new Date().toISOString(),git:g,notes:(s.notes??"").trim()},a=b(i.value);await m.mkdir(a,{recursive:!0});let h=B(r.createdAt,o),d=u.join(a,h);return await m.writeFile(d,JSON.stringify(r,null,2),"utf-8"),s.md?console.log(`## context-save
|
|
8
|
+
|
|
9
|
+
- **Title**: ${o}
|
|
10
|
+
- **Branch**: ${g.branch}
|
|
11
|
+
- **Saved at**: ${r.createdAt}
|
|
12
|
+
- **File**: \`${h}\`
|
|
13
|
+
`):p.done(`saved: ${h}`),{success:!0,file:h,title:o}}catch(i){let o=k(i);return y(o)}}async restore(n,t=process.cwd(),s={}){try{let i=await $(t);if(!i.ok)return i.result;let o=b(i.value);if(!await m.stat(o).then(l=>l.isDirectory()).catch(()=>!1))return s.md?console.log(`## context-restore
|
|
14
|
+
|
|
15
|
+
_No checkpoints saved yet._
|
|
16
|
+
`):p.info("no checkpoints saved yet"),{success:!0,checkpoint:null};let r=(await m.readdir(o)).filter(l=>l.endsWith(".json")).sort().reverse();if(r.length===0)return s.md?console.log(`## context-restore
|
|
17
|
+
|
|
18
|
+
_No checkpoints saved yet._
|
|
19
|
+
`):p.info("no checkpoints saved yet"),{success:!0,checkpoint:null};if(s.list){if(s.md){let l=r.slice(0,25).map(T=>`- \`${T}\``).join(`
|
|
20
|
+
`);console.log(`## context-restore \u2014 checkpoints
|
|
21
|
+
|
|
22
|
+
${l}
|
|
23
|
+
`)}else for(let l of r.slice(0,25))console.log(l);return{success:!0,files:r.length}}let a=s.file??n??r[0],h=u.join(o,u.basename(a)),d=await m.readFile(h,"utf-8").catch(()=>null);if(!d)return p.fail(`Checkpoint not found: ${a}`),{success:!1,error:"Checkpoint not found"};let w=JSON.parse(d);return s.md?console.log(_(w,u.basename(a))):console.log(P(w,u.basename(a))),{success:!0,checkpoint:w,file:u.basename(a)}}catch(i){let o=k(i);return y(o)}}};function b(e){return u.join(x.getGlobalProjectPath(e),"checkpoints")}c(b,"checkpointDir");function B(e,n){let t=e.replace(/[:.]/g,"-").slice(0,19),s=N(n);return`${t}--${s}.json`}c(B,"makeFilename");function N(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,j)||"untitled"}c(N,"slugify");async function F(e){let n=c(async(r,a)=>{try{return await r()}catch{return a}},"safe"),t=(await n(async()=>(await f("git",["branch","--show-current"],{cwd:e})).stdout,"")).trim(),s=(await n(async()=>(await f("git",["rev-parse","HEAD"],{cwd:e})).stdout,"")).trim(),i=(await n(async()=>(await f("git",["status","--short"],{cwd:e})).stdout,"")).split(`
|
|
24
|
+
`).map(r=>r.trim()).filter(Boolean),o=(await n(async()=>(await f("git",["diff","--stat"],{cwd:e})).stdout,"")).trim(),g=(await n(async()=>(await v("git log --oneline -10",{cwd:e})).stdout,"")).split(`
|
|
25
|
+
`).map(r=>r.trim()).filter(Boolean);return{branch:t||"unknown",head:s||null,statusShort:i,diffStat:o,recentLog:g}}c(F,"captureGitSnapshot");function P(e,n){let t=[];if(t.push(`Restoring: ${n}`),t.push(`Title: ${e.title}`),t.push(`Branch: ${e.git.branch}`),t.push(`Saved at: ${e.createdAt}`),e.notes&&(t.push(""),t.push("Notes:"),t.push(e.notes)),e.git.statusShort.length>0){t.push(""),t.push("Working tree at save time:");for(let s of e.git.statusShort.slice(0,20))t.push(` ${s}`)}if(e.git.recentLog.length>0){t.push(""),t.push("Recent commits:");for(let s of e.git.recentLog)t.push(` ${s}`)}return t.join(`
|
|
26
|
+
`)}c(P,"formatRestoreText");function _(e,n){let t=[];if(t.push(`## context-restore \u2014 \`${n}\``),t.push(""),t.push(`- **Title**: ${e.title}`),t.push(`- **Branch**: ${e.git.branch}`),t.push(`- **Saved at**: ${e.createdAt}`),t.push(""),e.notes&&(t.push("### Notes"),t.push(""),t.push(e.notes),t.push("")),e.git.statusShort.length>0){t.push("### Working tree at save time"),t.push(""),t.push("```");for(let s of e.git.statusShort.slice(0,20))t.push(s);t.push("```"),t.push("")}if(e.git.recentLog.length>0){t.push("### Recent commits"),t.push("");for(let s of e.git.recentLog)t.push(`- ${s}`)}return t.join(`
|
|
27
|
+
`)}c(_,"formatRestoreMarkdown");export{C as ContextCheckpointCommands};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { createRequire as __createRequire } from 'module';
|
|
2
|
+
import { fileURLToPath as __fileURLToPath } from 'url';
|
|
3
|
+
import { dirname as __pathDirname } from 'path';
|
|
4
|
+
const require = __createRequire(import.meta.url);
|
|
5
|
+
const __filename = __fileURLToPath(import.meta.url);
|
|
6
|
+
const __dirname = __pathDirname(__filename);
|
|
7
|
+
import{a,b,c,d}from"./chunk-AS3LWTQ4.mjs";import"./chunk-3TRXQAU4.mjs";export{b as contextPressureBlocksExpansion,d as contextPressureRequiresCompactPath,c as contextPressureStatusLine,a as contextPressureVerdict};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { createRequire as __createRequire } from 'module';
|
|
2
|
+
import { fileURLToPath as __fileURLToPath } from 'url';
|
|
3
|
+
import { dirname as __pathDirname } from 'path';
|
|
4
|
+
const require = __createRequire(import.meta.url);
|
|
5
|
+
const __filename = __fileURLToPath(import.meta.url);
|
|
6
|
+
const __dirname = __pathDirname(__filename);
|
|
7
|
+
import{d as a,e as b,f as c,g as d,h as e,i as f,j as g,k as h,l as i,m as j,n as k}from"./chunk-5YSPND5J.mjs";import"./chunk-4T7NGLNQ.mjs";import"./chunk-2EEMQV7N.mjs";import"./chunk-225DWS4D.mjs";import"./chunk-3TRXQAU4.mjs";export{e as CONTEXT_TIERS,b as L0_ROUTING_BYTES_MAX,a as L0_SKILL_TOKENS_MAX,c as MCP_TOOLS_CORE_MAX,d as PRJCT_MD_BODY_BYTES_MAX,h as buildContextTiersReport,i as contextTiersOneLiner,k as formatContextTiersJson,j as formatContextTiersMd,f as measureL0Budget,g as measurePrjctMdBudget};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { createRequire as __createRequire } from 'module';
|
|
2
|
+
import { fileURLToPath as __fileURLToPath } from 'url';
|
|
3
|
+
import { dirname as __pathDirname } from 'path';
|
|
4
|
+
const require = __createRequire(import.meta.url);
|
|
5
|
+
const __filename = __fileURLToPath(import.meta.url);
|
|
6
|
+
const __dirname = __pathDirname(__filename);
|
|
7
|
+
import{a,b,c}from"./chunk-XSZG3CBO.mjs";import"./chunk-ZXTJLMVZ.mjs";import"./chunk-U24YKPYX.mjs";import"./chunk-D62TAZG6.mjs";import"./chunk-GDLAQV3Q.mjs";import"./chunk-UT425KVX.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import"./chunk-225DWS4D.mjs";import"./chunk-3TRXQAU4.mjs";export{b as buildContext7SmokePath,c as default,a as getVerifyCachePath};
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { createRequire as __createRequire } from 'module';
|
|
2
|
+
import { fileURLToPath as __fileURLToPath } from 'url';
|
|
3
|
+
import { dirname as __pathDirname } from 'path';
|
|
4
|
+
const require = __createRequire(import.meta.url);
|
|
5
|
+
const __filename = __fileURLToPath(import.meta.url);
|
|
6
|
+
const __dirname = __pathDirname(__filename);
|
|
7
|
+
import{a as v,b as O}from"./chunk-GSNQKBHZ.mjs";import{a as B,b as h,d as L,e as E}from"./chunk-INM5COWM.mjs";import{b as A}from"./chunk-ANVCA6LF.mjs";import{a as G,b as q}from"./chunk-VCYVYFWE.mjs";import{a as R}from"./chunk-QAIEAOJF.mjs";import{a as S}from"./chunk-45LKWJ5D.mjs";import"./chunk-76YMLNLF.mjs";import{h as c}from"./chunk-ID2C2S33.mjs";import{b as W}from"./chunk-3USVY66O.mjs";import"./chunk-OIE3AKKO.mjs";import{a as I}from"./chunk-DZVOFEM5.mjs";import"./chunk-5EF5EOCL.mjs";import"./chunk-DMO3ZFUG.mjs";import"./chunk-NNOX3UU4.mjs";import{E as z,w as b,z as D}from"./chunk-HU5ERAAV.mjs";import"./chunk-6RT2P22O.mjs";import"./chunk-ZXTJLMVZ.mjs";import"./chunk-VWFVSNQT.mjs";import"./chunk-U24YKPYX.mjs";import"./chunk-D62TAZG6.mjs";import"./chunk-623SNKDH.mjs";import"./chunk-TTN2CFZC.mjs";import"./chunk-DOJPSIMG.mjs";import{l as j,p as _}from"./chunk-HYIT7MF5.mjs";import{e as M,f as $,g as U}from"./chunk-225DWS4D.mjs";import{a as n}from"./chunk-3TRXQAU4.mjs";import T from"node:os";import k from"node:path";import f from"chalk";z();U();_();async function F(){let[s,...i]=process.argv.slice(2);if(["-v","--version","version"].includes(s)){let e=await import("./package-DCGCOAGQ.mjs");await K(e.version),process.exit(0)}if(["-h","--help",void 0].includes(s)&&(Q(),process.exit(0)),s&&q(s)&&!h.getByName(s)){let e=G[s];e&&(c.failWithHint({message:`'prjct ${s}' was removed in v2. ${e.note}`,hint:`Use: ${e.replacement}`}),process.exit(1))}let u=!!s&&!h.getByName(s)&&!(i.length===0&&R(s)!==null),r=u?"capture":s,d=u?[[s,...i.filter(e=>!e.startsWith("-"))].join(" "),...i.filter(e=>e.startsWith("-"))]:i,o=d.includes("--md");o||c.start();try{let e=h.getByName(r);if(!e){let a=R(r),l=a?`Did you mean 'prjct ${a}'? Run 'prjct --help' for all commands`:"Run 'prjct --help' to see available commands";c.failWithHint(I("UNKNOWN_COMMAND",{message:`Unknown command: ${r}`,hint:l})),o||c.end(),process.exit(1)}if(e.deprecated){let a=e.replacedBy?`Use 'prjct ${e.replacedBy}' instead`:"Run 'prjct --help' to see available commands";c.failWithHint({message:`Command '${r}' is deprecated`,hint:a}),o||c.end(),process.exit(1)}e.implemented||(c.failWithHint({message:`Command '${r}' is not yet implemented`,hint:"Run 'prjct --help' to see available commands",docs:"https://github.com/prjct-app/cli"}),o||c.end(),process.exit(1));let{parsedArgs:g,options:t}=J(e,d),x=!process.stdin.isTTY||t.md===!0||t.json===!0;e.requiresLlm&&!x&&(c.failWithHint({message:`'prjct ${r}' requires an AI agent to process its output`,hint:`Use 'p. ${r}' inside Claude/Cursor, or add --md flag`}),o||c.end(),process.exit(1));let N=V(e,g);N&&(c.failWithHint(N),o||c.end(),process.exit(1));let H=Date.now(),y=await(async()=>{try{let a=await W.getProjectId(process.cwd());return a&&(await S.expireIfStale(a),await S.touch(a)),a}catch{return null}})(),m=new B,C=await(async()=>{if(r==="analyze")return m.analyze(t);if(r==="setup")return m.setup(t);if(r==="update"||r==="upgrade")return m.update(t);let a=g.join(" ")||null,l=t.md===!0,w=h.getByName(r);if(w?.optionSchema)return h.executeWithOptions(r,a,process.cwd(),L(t,w.optionSchema));{let P={spec:n(p=>E(m,(p??"").trim().split(/\s+/).filter(Boolean),t,process.cwd()),"spec"),intent:n(p=>E(m,(p??"").trim().split(/\s+/).filter(Boolean),t,process.cwd()),"intent"),"audit-spec":n(p=>p?m.specAudit(p,process.cwd(),{md:l,lenses:t.lenses?String(t.lenses):void 0}):Promise.resolve({success:!1,error:"audit-spec requires a spec id"}),"audit-spec"),init:n(p=>m.init({idea:p,yes:t.yes===!0,pack:t.pack?String(t.pack):void 0,persona:t.persona?String(t.persona):void 0}),"init"),sync:n(()=>m.sync(process.cwd(),{preview:t.preview===!0||t["dry-run"]===!0,yes:t.yes===!0,json:t.json===!0,md:l,package:t.package?String(t.package):void 0,full:t.full===!0}),"sync"),"analysis-save-llm":n(p=>p?m.saveLlmAnalysis(p,process.cwd(),{md:l}):Promise.resolve({success:!1,error:"analysis-save-llm requires analysis text, JSON, or a file path"}),"analysis-save-llm"),start:n(()=>m.start(),"start"),login:n(()=>m.login({md:l}),"login"),logout:n(()=>m.logout(),"logout"),auth:n(p=>m.auth(p,{md:l}),"auth")}[r];if(P)return P(a);throw new Error(`Command '${r}' has no handler`)}})();if(y){let a=Date.now()-H;try{await S.trackCommand(y,r,a)}catch{}try{await A.recordTiming(y,"command_duration",a,{command:r});let l=globalThis.__perfStartNs;if(l){let w=Number(process.hrtime.bigint()-l)/1e6;await A.recordTiming(y,"startup_time",w)}await A.recordMemory(y,{command:r})}catch{}}C?.message?console.log(C.message):C?.error&&console.error(C.error),o||c.end(),process.exit(C?.success?0:1)}catch(e){console.error("Error:",M(e)),process.env.DEBUG&&console.error($(e)),o||c.end(),process.exit(1)}}n(F,"main");function V(s,i){if(!s.params)return null;let r=s.params.replace(/\[[^\]]*\]/g,"").match(/<[^>]+>/g);if(!r||r.length===0)return null;if(i.length<r.length){let d=r.map(e=>e.slice(1,-1)).join(", "),o=s.usage.terminal||`prjct ${s.name} ${s.params}`;return I("MISSING_PARAM",{message:`Missing required parameter: ${d}`,hint:`Usage: ${o}`})}return null}n(V,"validateCommandParams");function J(s,i){let u=[],r={},d=n(o=>{if(o>=i.length)return;let e=i[o];if(e.startsWith("--")){let g=e.slice(2);o+1<i.length&&!i[o+1].startsWith("--")?(r[g]=i[o+1],d(o+2)):(r[g]=!0,d(o+1))}else u.push(e),d(o+1)},"parseAt");return d(0),{parsedArgs:u,options:r}}n(J,"parseCommandArgs");async function K(s){let i=await b(),u=k.join(T.homedir(),".claude","commands","p.md"),r=k.join(T.homedir(),".gemini","commands","p.toml"),[d,o,e,g]=await Promise.all([j(u),j(r),j(k.join(process.cwd(),".cursor","commands","sync.md")),j(k.join(process.cwd(),".cursor"))]),t=await D();console.log(O(s)),console.log(v("Claude Code",i.claude.installed?d?"ready":"installed":"missing",i.claude.version?f.dim(` (v${i.claude.version})`):"")),console.log(v("Gemini CLI",i.gemini.installed?o?"ready":"installed":"missing",i.gemini.version?f.dim(` (v${i.gemini.version})`):"")),console.log(v("Antigravity",t.installed?t.skillInstalled?"ready":"detected":"missing",t.installed&&!t.skillInstalled?` ${f.dim("(run prjct start)")}`:"")),console.log(v("Cursor IDE",e?"ready":g?"detected":"missing",e?` ${f.dim("(use prjct router)")}`:g?` ${f.dim("(run prjct init)")}`:"","\u25CB no .cursor/ folder")),console.log(`
|
|
8
|
+
${f.dim("Run 'prjct start' for Claude/Gemini, 'prjct init' for Cursor")}
|
|
9
|
+
${f.cyan("https://prjct.app")}
|
|
10
|
+
`)}n(K,"displayVersion");function Q(){console.log(`
|
|
11
|
+
prjct - Context layer for AI coding agents
|
|
12
|
+
Works with Claude Code, Gemini CLI, Antigravity, Cursor IDE, and more.
|
|
13
|
+
|
|
14
|
+
QUICK START
|
|
15
|
+
-----------
|
|
16
|
+
Claude/Gemini:
|
|
17
|
+
1. prjct start Configure your AI provider
|
|
18
|
+
2. cd my-project && prjct init
|
|
19
|
+
3. Open in Claude Code or Gemini CLI
|
|
20
|
+
4. Type: p. sync Analyze project
|
|
21
|
+
|
|
22
|
+
Cursor IDE:
|
|
23
|
+
1. cd my-project && prjct init
|
|
24
|
+
2. Open in Cursor
|
|
25
|
+
3. Use router command: /sync or run prjct sync --md
|
|
26
|
+
|
|
27
|
+
COMMANDS (inside your AI agent)
|
|
28
|
+
-------------------------------
|
|
29
|
+
Claude/Gemini Cursor Description
|
|
30
|
+
\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
|
|
31
|
+
p. sync /sync Analyze project
|
|
32
|
+
p. work "intent" /work "intent" Start a work cycle
|
|
33
|
+
p. performance /performance Measure work efficiency
|
|
34
|
+
p. ship "name" /ship "name" Ship with PR
|
|
35
|
+
|
|
36
|
+
TERMINAL COMMANDS (this CLI)
|
|
37
|
+
----------------------------
|
|
38
|
+
prjct start First-time setup (Claude/Gemini global config)
|
|
39
|
+
prjct init Initialize project (required for Cursor)
|
|
40
|
+
prjct setup Reconfigure installations
|
|
41
|
+
prjct sync Sync project state
|
|
42
|
+
prjct search "<q>" Search project memory (decisions, learnings, gotchas)
|
|
43
|
+
prjct watch Auto-sync on file changes (Ctrl+C to stop)
|
|
44
|
+
prjct hooks Manage git hooks for auto-sync
|
|
45
|
+
prjct doctor Check system health and dependencies
|
|
46
|
+
|
|
47
|
+
EXAMPLES
|
|
48
|
+
--------
|
|
49
|
+
# Claude Code / Gemini CLI (global setup, then per-project)
|
|
50
|
+
$ prjct start
|
|
51
|
+
$ cd my-project && prjct init
|
|
52
|
+
> p. sync
|
|
53
|
+
> p. work "add user authentication"
|
|
54
|
+
|
|
55
|
+
# Cursor IDE (per-project only)
|
|
56
|
+
$ cd my-project && prjct init
|
|
57
|
+
> /sync
|
|
58
|
+
> /task "add user authentication"
|
|
59
|
+
|
|
60
|
+
FLAGS
|
|
61
|
+
-----
|
|
62
|
+
--quiet, -q Suppress all output (only errors to stderr)
|
|
63
|
+
--version, -v Show version
|
|
64
|
+
--help, -h Show this help
|
|
65
|
+
|
|
66
|
+
MORE INFO
|
|
67
|
+
---------
|
|
68
|
+
Documentation: https://prjct.app
|
|
69
|
+
GitHub: https://github.com/prjct-app/cli
|
|
70
|
+
`)}n(Q,"displayHelp");F().catch(s=>{console.error("Fatal error:",M(s)),process.env.DEBUG&&console.error($(s)),process.exit(1)});
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { createRequire as __createRequire } from 'module';
|
|
2
|
+
import { fileURLToPath as __fileURLToPath } from 'url';
|
|
3
|
+
import { dirname as __pathDirname } from 'path';
|
|
4
|
+
const require = __createRequire(import.meta.url);
|
|
5
|
+
const __filename = __fileURLToPath(import.meta.url);
|
|
6
|
+
const __dirname = __pathDirname(__filename);
|
|
7
|
+
import{b as W}from"./chunk-4PRD4EU2.mjs";import{a as K}from"./chunk-V5VCXMKO.mjs";import{d as v,e as h}from"./chunk-FOWTB762.mjs";import"./chunk-7CI4AMVO.mjs";import{a as E}from"./chunk-UE3XKXWM.mjs";import{d as O,e as b,f as H}from"./chunk-MXJKULJY.mjs";import"./chunk-XPRLQIVQ.mjs";import"./chunk-EZRNQXCC.mjs";import"./chunk-B7AQHL7B.mjs";import"./chunk-L4TUXFCL.mjs";import{h as l}from"./chunk-ID2C2S33.mjs";import{b as P}from"./chunk-3USVY66O.mjs";import"./chunk-OIE3AKKO.mjs";import"./chunk-Q6C27OL7.mjs";import"./chunk-NXUIMC22.mjs";import"./chunk-DZVOFEM5.mjs";import"./chunk-5EF5EOCL.mjs";import"./chunk-DMO3ZFUG.mjs";import"./chunk-NNOX3UU4.mjs";import"./chunk-INJ5WT2D.mjs";import"./chunk-HU5ERAAV.mjs";import"./chunk-6RT2P22O.mjs";import"./chunk-ZXTJLMVZ.mjs";import{b as F,i as q}from"./chunk-VWFVSNQT.mjs";import"./chunk-U24YKPYX.mjs";import"./chunk-D62TAZG6.mjs";import{b as C,f as J}from"./chunk-XYDLXF5A.mjs";import"./chunk-FATYLG3L.mjs";import"./chunk-2EEMQV7N.mjs";import"./chunk-KPR5TWSN.mjs";import"./chunk-623SNKDH.mjs";import"./chunk-TTN2CFZC.mjs";import"./chunk-DOJPSIMG.mjs";import{l as I,p as X}from"./chunk-HYIT7MF5.mjs";import{e as S,g as Y}from"./chunk-225DWS4D.mjs";import{a as d}from"./chunk-3TRXQAU4.mjs";J();import m from"node:fs/promises";import p from"node:path";q();Y();X();var _="<!-- prjct:crew:start - DO NOT REMOVE THIS MARKER -->",j="<!-- prjct:crew:end - DO NOT REMOVE THIS MARKER -->",T="<!-- prjct:checkpoints:start - DO NOT EDIT (managed by `prjct crew checkpoints set|reset`) -->",Z="<!-- prjct:checkpoints:end -->";function ee(e,i){let r=e.indexOf(T),n=e.indexOf(Z);if(r<0||n<0||n<r)throw new Error("reviewer template is missing the prjct:checkpoints marker pair \u2014 rebuild dist/templates.json or report a bug");if(e.indexOf(T,r+1)>=0)throw new Error("reviewer template has duplicated checkpoints start marker");let t=e.slice(0,r+T.length),s=e.slice(n);return`${t}
|
|
8
|
+
${i.trimEnd()}
|
|
9
|
+
${s}`}d(ee,"spliceCheckpoints");var N=O.map(e=>({templateKey:`crew/roles/${e.name}.md`,destRelative:`.claude/agents/${e.name}.md`})),te=Object.fromEntries(O.map(e=>[`.claude/agents/${e.name}.md`,e.role]));function re(e,i){let r=te[i];if(!r)return e;let{model:n}=F(r);return e.replace(/^model:[ \t].*$/m,`model: ${n}`)}d(re,"applyCrewModelPolicy");var ne={templateKey:"crew/CHECKPOINTS.md",destRelative:".prjct/CHECKPOINTS.md"},L="crew/leader-mode.md",R="CLAUDE.md";async function se(){let e=C(L);if(!e)throw new Error(`Missing crew template: ${L}`);return e.trim()}d(se,"readSnippet");async function ie(e){let i=C(e);if(!i)throw new Error(`Missing crew template: ${e}`);return i}d(ie,"readTemplate");async function U(e,i){await m.mkdir(p.dirname(e),{recursive:!0}),await m.writeFile(e,i,"utf-8")}d(U,"writeFileEnsureDir");function x(e){return e.includes(_)&&e.includes(j)}d(x,"snippetPresent");function oe(e,i){if(x(e)){let n=e.indexOf(_),t=e.indexOf(j)+j.length;return`${e.slice(0,n)}${i}${e.slice(t)}`}let r=e.length>0&&!e.endsWith(`
|
|
10
|
+
`)?`
|
|
11
|
+
|
|
12
|
+
`:`
|
|
13
|
+
`;return`${e}${r}${i}
|
|
14
|
+
`}d(oe,"appendSnippet");function ce(e){if(!x(e))return e;let i=e.indexOf(_),r=e.indexOf(j)+j.length,n=`${e.slice(0,i)}${e.slice(r)}`.replace(/\n{3,}/g,`
|
|
15
|
+
|
|
16
|
+
`).trimEnd();return n.length>0?`${n}
|
|
17
|
+
`:""}d(ce,"stripSnippet");async function A(e){let i=p.join(e,R);try{return await m.readFile(i,"utf-8")}catch{return null}}d(A,"readClaudeMd");async function ae(e){let i=await Promise.all(N.map(async c=>({path:c.destRelative,installed:await I(p.join(e,c.destRelative))}))),n={path:"kv_store[crew:checkpoints]",installed:await(async()=>{try{let c=await P.getProjectId(e);return c?(E.get(c),!0):!1}catch{return!1}})()},t=await A(e),s={path:R,installed:t!==null&&x(t)},o=i.every(c=>c.installed)&&n.installed&&s.installed;return{agents:i,checkpoints:n,claudeSnippet:s,complete:o}}d(ae,"getStatus");var B=class extends K{static{d(this,"CrewCommands")}async install(i=null,r=process.cwd(),n={}){try{let t=[],s=[],o=await this.ensureProjectInit(r);if(!o.success)return o;let c=await P.getProjectId(r);if(!c)return h("No prjct project. Run `prjct init` first.",n);let w=E.get(c),f=await b();if(!f.native){let a=p.join(r,"CREW.md"),$=await I(a);await U(a,H(f,w.content)),($?s:t).push("CREW.md (emulated crew protocol)");let k=`crew installed for ${f.provider} (emulated \u2014 no native subagent tool). One agent plays the roles per CREW.md.`;return n.md?console.log(["# prjct crew installed (emulated)","",k,"",`Wrote \`CREW.md\` to \`${r}\`.`].join(`
|
|
18
|
+
`)):l.done(k),{success:!0,written:t,skipped:s}}for(let a of N){let $=p.join(r,a.destRelative),k=await ie(a.templateKey),z=re(a.destRelative===".claude/agents/reviewer.md"?ee(k,w.content):k,a.destRelative),Q=await I($);await U($,z),Q?s.push(`${a.destRelative} (overwritten)`):t.push(a.destRelative)}let y=await se(),u=p.join(r,R),g=await A(r)??"",V=x(g),D=oe(g,y);D!==g?(await m.writeFile(u,D,"utf-8"),t.push(`${R} (${V?"snippet refreshed":"snippet appended"})`)):s.push(`${R} (snippet already current)`);let G=`crew installed (${t.length} written, ${s.length} kept)`,M=["Suggested next step \u2014 wire verification hooks into .claude/settings.json:"," PostToolUse(Edit|Write) \u2192 run your test command"," Stop \u2192 run your project test command and record the outcome","Use the /update-config skill or edit settings.json manually."].join(`
|
|
19
|
+
`);if(n.md){let a=["# prjct crew installed","",`Wrote to \`${r}\`.`,"","## Files"];for(let $ of t)a.push(`- written: \`${$}\``);for(let $ of s)a.push(`- kept: \`${$}\``);a.push("","## Next step","",M),console.log(a.join(`
|
|
20
|
+
`))}else{l.done(G);for(let a of t)l.info(`written: ${a}`);for(let a of s)l.info(`kept: ${a}`);console.log(""),console.log(M)}return{success:!0,written:t,skipped:s}}catch(t){let s=S(t);return h(s)}}async uninstall(i=null,r=process.cwd(),n={}){try{let t=[],s=[],o=[...N,ne];for(let u of o){let g=p.join(r,u.destRelative);await I(g)?(await m.rm(g),t.push(u.destRelative)):s.push(u.destRelative)}let c=p.join(r,".claude/agents");try{(await m.readdir(c)).length===0&&await m.rmdir(c)}catch{}let w=p.join(r,R),f=await A(r);if(f!==null&&x(f)){let u=ce(f);await m.writeFile(w,u,"utf-8"),t.push(`${R} (snippet stripped)`)}let y=`crew uninstalled (${t.length} removed)`;if(n.md){let u=["# prjct crew uninstalled",""];for(let g of t)u.push(`- removed: \`${g}\``);for(let g of s)u.push(`- not present: \`${g}\``);console.log(u.join(`
|
|
21
|
+
`))}else{l.done(y);for(let u of t)l.info(`removed: ${u}`)}return{success:!0,removed:t,missing:s}}catch(t){let s=S(t);return h(s)}}async status(i=null,r=process.cwd(),n={}){try{let t=await ae(r),s=d(o=>o.installed?"installed":"missing","tag");if(n.md){let o=["# prjct crew status","",`Project: \`${r}\``,`Complete: **${t.complete?"yes":"no"}**`,"","## Pieces"];for(let c of t.agents)o.push(`- ${s(c)}: \`${c.path}\``);o.push(`- ${s(t.checkpoints)}: \`${t.checkpoints.path}\``),o.push(`- ${s(t.claudeSnippet)}: \`${t.claudeSnippet.path}\` (snippet)`),console.log(o.join(`
|
|
22
|
+
`))}else{let o=t.complete?"complete":"partial";l.info(`crew: ${o}`);for(let c of t.agents)l.info(` ${s(c)}: ${c.path}`);l.info(` ${s(t.checkpoints)}: ${t.checkpoints.path}`),l.info(` ${s(t.claudeSnippet)}: ${t.claudeSnippet.path} (snippet)`)}return{success:!0,complete:t.complete,status:t}}catch(t){let s=S(t);return h(s)}}async checkpoints(i=null,r=process.cwd(),n={}){try{let t=await this.ensureProjectInit(r);if(!t.success)return t;let s=await P.getProjectId(r);if(!s)return h("No prjct project. Run `prjct init` first.",n);if(i===null||i==="show"){let o=E.get(s);return process.stdout.write(o.content),{success:!0,source:o.source}}if(i==="set"){let o=typeof n.content=="string"&&n.content.length>0?n.content:typeof n.file=="string"&&n.file.length>0?await m.readFile(p.resolve(r,n.file),"utf-8"):process.stdin.isTTY?null:await le();if(o===null)return process.stderr.write(`error: no content provided; pipe to stdin, or pass --content / --file
|
|
23
|
+
`),process.exitCode=2,v("checkpoints set: no content provided",n);if(o.length===0)return v("checkpoints set: content is empty",n);let c=E.set(s,o,"user");return n.md?console.log(`\u2713 checkpoints updated (source=${c.source})`):l.done(`checkpoints updated (source=${c.source})`),{success:!0,source:c.source}}if(i==="reset")return E.reset(s),n.md?console.log("\u2713 checkpoints reset to bundled default"):l.done("checkpoints reset to bundled default"),{success:!0,reset:!0};if(i==="export"){let o=E.get(s),c=!E.hasCustomization(s);if(c&&process.stderr.write(`(exporting bundled default; no user customization set)
|
|
24
|
+
`),typeof n.file=="string"&&n.file.length>0){let w=p.resolve(r,n.file);return await m.mkdir(p.dirname(w),{recursive:!0}),await m.writeFile(w,o.content,"utf-8"),n.md?console.log(`\u2713 exported to \`${n.file}\``):l.done(`exported to ${n.file}`),{success:!0,exported:!0,file:n.file,isDefault:c}}return process.stdout.write(o.content),{success:!0,exported:!0,isDefault:c}}return v(`Unknown crew checkpoints subverb: ${i}. Use: show, set, reset, export.`,n)}catch(t){return h(S(t),n)}}async recordRun(i=process.cwd(),r={}){try{let n=await this.ensureProjectInit(i);if(!n.success)return n;let t=await P.getProjectId(i);if(!t)return h("No prjct project. Run `prjct init` first.",r);let s=r["implementer-summary"],o=r["reviewer-verdict"],c=r.files??"";if(!s)return v("crew record-run: --implementer-summary is required",r);if(o!=="APPROVED"&&o!=="CHANGES_REQUESTED")return v("crew record-run: --reviewer-verdict must be APPROVED or CHANGES_REQUESTED",r);let w=c.split(",").map(y=>y.trim()).filter(y=>y.length>0),f=W.record(t,{runId:r["run-id"],specId:r.spec??null,taskId:r.task??null,implementerSummary:s,filesTouched:w,reviewerVerdict:o,reviewerNotes:r["reviewer-notes"]??null});return r.md?console.log(`\u2713 crew run recorded: run-id=${f.id}`):l.done(`crew run recorded: run-id=${f.id}`),{success:!0,runId:f.id}}catch(n){return h(S(n),r)}}};async function le(){let e=[];for await(let i of process.stdin)e.push(typeof i=="string"?Buffer.from(i):i);return Buffer.concat(e).toString("utf-8")}d(le,"readAllStdin");export{B as CrewCommands,re as applyCrewModelPolicy};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { createRequire as __createRequire } from 'module';
|
|
2
|
+
import { fileURLToPath as __fileURLToPath } from 'url';
|
|
3
|
+
import { dirname as __pathDirname } from 'path';
|
|
4
|
+
const require = __createRequire(import.meta.url);
|
|
5
|
+
const __filename = __fileURLToPath(import.meta.url);
|
|
6
|
+
const __dirname = __pathDirname(__filename);
|
|
7
|
+
import{a,b,c,d,e}from"./chunk-SLYLGDX7.mjs";import"./chunk-YLYAYRSJ.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-3TRXQAU4.mjs";export{b as cursorHookMaps,e as cursorHooksStatus,a as getCursorHooksJsonPath,c as installCursorHooks,d as uninstallCursorHooks};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { createRequire as __createRequire } from 'module';
|
|
2
|
+
import { fileURLToPath as __fileURLToPath } from 'url';
|
|
3
|
+
import { dirname as __pathDirname } from 'path';
|
|
4
|
+
const require = __createRequire(import.meta.url);
|
|
5
|
+
const __filename = __fileURLToPath(import.meta.url);
|
|
6
|
+
const __dirname = __pathDirname(__filename);
|
|
7
|
+
import{a}from"./chunk-UYMZ3NAF.mjs";import"./chunk-Q6C27OL7.mjs";import"./chunk-NXUIMC22.mjs";import"./chunk-DMO3ZFUG.mjs";import"./chunk-NNOX3UU4.mjs";import"./chunk-INJ5WT2D.mjs";import"./chunk-HU5ERAAV.mjs";import"./chunk-6RT2P22O.mjs";import"./chunk-ZXTJLMVZ.mjs";import"./chunk-VWFVSNQT.mjs";import"./chunk-U24YKPYX.mjs";import"./chunk-D62TAZG6.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import"./chunk-225DWS4D.mjs";import"./chunk-3TRXQAU4.mjs";export{a as customWorkflowStorage};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { createRequire as __createRequire } from 'module';
|
|
2
|
+
import { fileURLToPath as __fileURLToPath } from 'url';
|
|
3
|
+
import { dirname as __pathDirname } from 'path';
|
|
4
|
+
const require = __createRequire(import.meta.url);
|
|
5
|
+
const __filename = __fileURLToPath(import.meta.url);
|
|
6
|
+
const __dirname = __pathDirname(__filename);
|
|
7
|
+
import{a as t}from"./chunk-2ZPM4Z6W.mjs";import"./chunk-BSR3XUBD.mjs";import{a as n}from"./chunk-MCY7OXED.mjs";import"./chunk-YQ6HM3YO.mjs";import"./chunk-ZK7BMUMR.mjs";import"./chunk-5UUITMRX.mjs";import"./chunk-K25HGTC3.mjs";import"./chunk-45LKWJ5D.mjs";import"./chunk-6P4GMVUZ.mjs";import"./chunk-UHXV7MDW.mjs";import"./chunk-TILUQF6L.mjs";import"./chunk-Y5SEUYET.mjs";import"./chunk-MG3YN3AI.mjs";import"./chunk-YEALP3WX.mjs";import"./chunk-QZ7T2EYR.mjs";import"./chunk-5YLI5V3Q.mjs";import"./chunk-F2FKQUYE.mjs";import"./chunk-6AFXUX2M.mjs";import"./chunk-WSVMQYYU.mjs";import"./chunk-LZC6NGB6.mjs";import"./chunk-XLFEWZRA.mjs";import"./chunk-XPRLQIVQ.mjs";import"./chunk-EZRNQXCC.mjs";import"./chunk-B7AQHL7B.mjs";import"./chunk-L4TUXFCL.mjs";import"./chunk-DIEPWXJJ.mjs";import"./chunk-UNNY2IWZ.mjs";import"./chunk-3USVY66O.mjs";import"./chunk-OIE3AKKO.mjs";import"./chunk-Q6C27OL7.mjs";import"./chunk-NXUIMC22.mjs";import"./chunk-WTDUJB4I.mjs";import"./chunk-DMO3ZFUG.mjs";import"./chunk-NNOX3UU4.mjs";import"./chunk-INJ5WT2D.mjs";import"./chunk-HU5ERAAV.mjs";import"./chunk-6RT2P22O.mjs";import"./chunk-ZXTJLMVZ.mjs";import"./chunk-TIBYHZFA.mjs";import"./chunk-VWFVSNQT.mjs";import"./chunk-U24YKPYX.mjs";import"./chunk-D62TAZG6.mjs";import"./chunk-KPR5TWSN.mjs";import"./chunk-623SNKDH.mjs";import"./chunk-TTN2CFZC.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import"./chunk-225DWS4D.mjs";import{a as o}from"./chunk-3TRXQAU4.mjs";function p(r=process.cwd(),e){return n({event:"CwdChanged",projectPath:r,build:o(async(d,i)=>{let c=d.cwd||i;return t(c)},"build")},e)}o(p,"runCwdChangedHook");export{p as runCwdChangedHook};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { createRequire as __createRequire } from 'module';
|
|
2
|
+
import { fileURLToPath as __fileURLToPath } from 'url';
|
|
3
|
+
import { dirname as __pathDirname } from 'path';
|
|
4
|
+
const require = __createRequire(import.meta.url);
|
|
5
|
+
const __filename = __fileURLToPath(import.meta.url);
|
|
6
|
+
const __dirname = __pathDirname(__filename);
|
|
7
|
+
import{a}from"./chunk-4MR5XSLO.mjs";import"./chunk-3TRXQAU4.mjs";export{a as buildCycleBudgetCard};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { createRequire as __createRequire } from 'module';
|
|
2
|
+
import { fileURLToPath as __fileURLToPath } from 'url';
|
|
3
|
+
import { dirname as __pathDirname } from 'path';
|
|
4
|
+
const require = __createRequire(import.meta.url);
|
|
5
|
+
const __filename = __fileURLToPath(import.meta.url);
|
|
6
|
+
const __dirname = __pathDirname(__filename);
|
|
7
|
+
import{a as C,b as u,c as W,d as B,e as G}from"./chunk-INM5COWM.mjs";import{d as P}from"./chunk-QLMZW4K7.mjs";import{a as z}from"./chunk-ANVCA6LF.mjs";import{b as J}from"./chunk-WP5IU4W4.mjs";import{b as L,c as F}from"./chunk-VCYVYFWE.mjs";import{a as K}from"./chunk-QAIEAOJF.mjs";import{b as U}from"./chunk-YQ6HM3YO.mjs";import"./chunk-F7OOBAJO.mjs";import"./chunk-JT4RNQ67.mjs";import"./chunk-VCSESVZ4.mjs";import"./chunk-YJOC2JJK.mjs";import"./chunk-76YMLNLF.mjs";import"./chunk-XLFEWZRA.mjs";import"./chunk-EZRNQXCC.mjs";import"./chunk-KUQLXY2P.mjs";import"./chunk-HCPQZRR3.mjs";import"./chunk-EHVU2SMR.mjs";import"./chunk-HPCSSJXH.mjs";import"./chunk-E5QQDYBR.mjs";import"./chunk-B7AQHL7B.mjs";import"./chunk-L4TUXFCL.mjs";import{a as I,b as O,c as T,d as N,e as H,f as j,g as k,j as $}from"./chunk-GHSRH4GL.mjs";import{b as V}from"./chunk-3USVY66O.mjs";import"./chunk-OIE3AKKO.mjs";import"./chunk-7QTE6X4J.mjs";import"./chunk-4PPIE6GA.mjs";import"./chunk-Q6C27OL7.mjs";import"./chunk-NXUIMC22.mjs";import"./chunk-5EF5EOCL.mjs";import{c as S,d as p,e as _,f as M,l as A,m as y}from"./chunk-WTDUJB4I.mjs";import{g as R,i as ee}from"./chunk-DMO3ZFUG.mjs";import"./chunk-NNOX3UU4.mjs";import"./chunk-RP7F67ZT.mjs";import"./chunk-INJ5WT2D.mjs";import"./chunk-HU5ERAAV.mjs";import"./chunk-6RT2P22O.mjs";import"./chunk-ZXTJLMVZ.mjs";import{a as D}from"./chunk-CKYBGRCF.mjs";import"./chunk-VWFVSNQT.mjs";import"./chunk-U24YKPYX.mjs";import"./chunk-D62TAZG6.mjs";import"./chunk-623SNKDH.mjs";import"./chunk-TTN2CFZC.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import"./chunk-225DWS4D.mjs";import{a as d}from"./chunk-3TRXQAU4.mjs";import{spawn as se}from"node:child_process";import m from"node:fs";import{createServer as ie,connect as ae}from"node:net";ee();async function X(t,e){let o=e.args.join(" ")||null,n=e.options??{},i=n.md===!0;if(L(e.command)&&!u.getByName(e.command))return{success:!1,error:F(e.command)??`'${e.command}' was removed in v2.`};if(e.command&&!u.getByName(e.command)&&!(e.args.length===0&&K(e.command)!==null)){let c=[e.command,...e.args.filter(s=>!s.startsWith("-"))].join(" ");return t.capture(c,e.cwd,{md:i,tags:n.tags?String(n.tags):void 0,force:n.force===!0})}let a=u.getByName(e.command);if(a?.optionSchema)return u.executeWithOptions(e.command,o,e.cwd,B(n,a.optionSchema));switch(e.command){case"sync":return t.sync(e.cwd,{preview:n.preview===!0||n["dry-run"]===!0,yes:n.yes===!0,json:n.json===!0,md:i,package:n.package?String(n.package):void 0,full:n.full===!0});case"spec":return G(t,e.args,n,e.cwd);case"audit-spec":return o?t.specAudit(o,e.cwd,{md:i,lenses:n.lenses?String(n.lenses):void 0}):{success:!1,error:"audit-spec requires a spec id"};case"analyze":return t.analyze(n,e.cwd);case"analysis-save-llm":return o?t.saveLlmAnalysis(o,e.cwd,{md:i}):{success:!1,error:"analysis-save-llm requires analysis text, JSON, or a file path"};case"init":return t.init({idea:o,yes:n.yes===!0,pack:n.pack?String(n.pack):void 0,persona:n.persona?String(n.persona):void 0},e.cwd);default:return u.execute(e.command,o,e.cwd)}}d(X,"executeCommand");var b=class{static{d(this,"RequestJournal")}ttlMs;maxEntries;now;entries=new Map;constructor(e={}){this.ttlMs=e.ttlMs??12e4,this.maxEntries=e.maxEntries??512,this.now=e.now??Date.now}run(e,o){let n=this.now();this.prune(n);let i=te(e),a=this.entries.get(e.id);if(a){if(a.fingerprint!==i)return Promise.resolve({id:e.id,success:!1,exitCode:1,stderr:"Duplicate daemon request id reused with different payload"});if(a.response)return Promise.resolve(v(a.response));if(a.promise)return a.promise.then(v)}let c={createdAt:n,fingerprint:i},s=o().then(l=>(c.response=v(l),c.promise=void 0,v(l))).catch(l=>{throw this.entries.delete(e.id),l});return c.promise=s,this.entries.set(e.id,c),this.enforceMaxEntries(),s}clear(){this.entries.clear()}size(){return this.entries.size}prune(e){for(let[o,n]of this.entries)e-n.createdAt>this.ttlMs&&this.entries.delete(o)}enforceMaxEntries(){for(;this.entries.size>this.maxEntries;){let e=this.entries.keys().next().value;if(!e)break;this.entries.delete(e)}}};function te(t){return x({command:t.command,args:t.args,options:t.options,cwd:t.cwd,stdin:t.stdin})}d(te,"requestFingerprint");function x(t){return Array.isArray(t)?`[${t.map(x).join(",")}]`:t&&typeof t=="object"?`{${Object.entries(t).sort(([o],[n])=>o.localeCompare(n)).map(([o,n])=>`${JSON.stringify(o)}:${x(n)}`).join(",")}}`:JSON.stringify(t)}d(x,"stableStringify");function v(t){return{...t}}d(v,"cloneResponse");var Z=new b;function ne(){let t=process.env.PRJCT_HOOK_STATE_TIMEOUT_MS,e=t?Number(t):Number.NaN;return Number.isFinite(e)&&e>0?e:500}d(ne,"hookStateTimeoutMs");var w=class extends Error{static{d(this,"HookStateLaneTimeoutError")}timeoutMs;constructor(e){super(`hook-state lane exceeded ${e}ms waiting on this cwd's chain (a prior prompt/stop hook for the same project is still running). Set PRJCT_HOOK_STATE_TIMEOUT_MS to tune this bound.`),this.name="HookStateLaneTimeoutError",this.timeoutMs=e}};function oe(t,e){return new Promise((o,n)=>{let i=setTimeout(()=>n(new w(e)),e);t.then(a=>{clearTimeout(i),o(a)},a=>{clearTimeout(i),n(a)})})}d(oe,"raceWithTimeout");var re=64,E=class{static{d(this,"RequestLanes")}commandChain=Promise.resolve();hookStateChains=new Map;activeHooks=0;hookWaiters=[];async acquireHookSlot(){if(this.activeHooks<4){this.activeHooks++;return}await new Promise(e=>this.hookWaiters.push(e)),this.activeHooks++}releaseHookSlot(){this.activeHooks--,this.hookWaiters.shift()?.()}run(e,o,n){if(e==="hook")return(async()=>{await this.acquireHookSlot();try{return await o()}finally{this.releaseHookSlot()}})();if(e==="hook-state"){let c=n??"",l=(this.hookStateChains.get(c)??Promise.resolve()).then(o,o),h=l.then(()=>{},()=>{});return this.hookStateChains.size>re&&this.hookStateChains.clear(),this.hookStateChains.set(c,h),oe(l,ne())}let i=this.commandChain.then(o,o),a=i.then(()=>{},()=>{});return this.commandChain=a,i}},Q=new E;var ce=15*1e3,de=1e3,me=3600*1e3,le=50,r={ipcServer:null,commands:null,state:null,ownVersion:null,lastDriftCheckMs:0,updateTimer:null,walCheckpointTimer:null,shuttingDown:!1};async function Ze(t){process.env.PRJCT_IN_DAEMON="1";let e=p.socket(),o=p.pid(),n=p.runDir(),i=S(e);if(m.mkdirSync(n,{recursive:!0}),m.existsSync(o)){let s=parseInt(m.readFileSync(o,"utf-8").trim(),10);k(s)&&(console.log(`Daemon already running (PID ${s})`),process.exit(0));try{m.unlinkSync(o)}catch{}}if(!i&&m.existsSync(e)){await Y(e,o)&&(console.log("Daemon already serving \u2014 yielding"),process.exit(0));try{m.unlinkSync(e)}catch{}}j();let a=I(),c=(()=>{if(!a)return null;try{return m.statSync(a).mtimeMs}catch{return null}})();if(r.ownVersion=N(),r.state={startedAt:Date.now(),commandsServed:0,lastActivity:Date.now(),idleTimeoutMs:_,idleTimer:null,entryPath:a,entryMtime:c,activeRequests:0,restartPending:!1,restartReason:null,absorbedErrors:0},ue(),r.ownVersion)try{let{isSyncCurrent:s,runSelfHeal:l}=await import("./self-heal-DFUEKNF3.mjs");s(r.ownVersion)||await l(r.ownVersion)}catch{}if(r.ownVersion){let s=r.ownVersion;D(s).catch(()=>{}),r.updateTimer=setInterval(()=>{D(s).catch(()=>{})},me),r.updateTimer.unref?.()}if(r.walCheckpointTimer=setInterval(()=>{try{R.checkpointAll()}catch{}},ce),r.walCheckpointTimer.unref?.(),r.commands=new C,r.ipcServer=ie(s=>pe(s)),r.ipcServer.listen(e,()=>{if(!i)try{m.existsSync(e)&&m.chmodSync(e,384)}catch{}try{m.writeFileSync(o,String(process.pid))}catch(s){console.error("Failed to write daemon pid file:",s.message)}console.log(`prjct daemon started (PID ${process.pid})`),console.log(` Socket: ${e}`),a&&console.log(` Watching: ${a}`),q(),P.startAll().catch(()=>{})}),r.ipcServer.on("error",s=>{let l=s.code;(async()=>{let h=await Y(e,o),g=$({errorCode:l,errorMessage:s.message,peerHealthy:h});console.error(g.exitCode===0?`Daemon listen race lost (${g.reason}) \u2014 peer is healthy`:`Daemon socket error: ${s.message}`),process.exit(g.exitCode)})()}),process.on("SIGTERM",()=>{f(0)}),process.on("SIGINT",()=>{f(0)}),process.on("SIGHUP",()=>{r.commands=new C,W(),u.resetLazyResolutions(),console.log("Daemon reloaded (SIGHUP)")}),!t.foreground)try{process.stdin?.unref?.()}catch{}}d(Ze,"startDaemon");async function Y(t,e){if(!S(t)&&!m.existsSync(t)){if(m.existsSync(e)){let n=parseInt(m.readFileSync(e,"utf-8").trim(),10);return!Number.isNaN(n)&&k(n)}return!1}return await new Promise(n=>{let i=ae(t),a=new AbortController,c=d(l=>{if(!a.signal.aborted){a.abort();try{i.destroy()}catch{}n(l)}},"finish"),s=setTimeout(()=>c(!1),400);i.on("connect",()=>{i.write(y({id:"startup-peer-check",command:"__ping",args:[],options:{},cwd:process.cwd()}))}),i.on("data",l=>{try{let h=l.toString().split(`
|
|
8
|
+
`)[0],g=JSON.parse(h);clearTimeout(s),c(g.success===!0)}catch{clearTimeout(s),c(!1)}}),i.on("error",()=>{clearTimeout(s),c(!1)})})}d(Y,"peerDaemonHealthy");function ue(){process.on("unhandledRejection",t=>{let e=r.state;e&&(e.absorbedErrors++,console.error(`Daemon absorbed unhandledRejection (${e.absorbedErrors}):`,t instanceof Error?t.message:String(t)),e.absorbedErrors>=le&&(console.error("Daemon absorbed-error cap reached \u2014 shutting down for clean respawn"),f(1,{respawn:!0})))}),process.on("uncaughtException",t=>{let e=r.state;if(!e){console.error("Daemon uncaughtException before init:",t.message),process.exit(1);return}e.absorbedErrors++,console.error(`Daemon absorbed uncaughtException (${e.absorbedErrors}):`,t.message),f(1,{respawn:!0})})}d(ue,"installCrashHandlers");function pe(t){let e=[];t.on("data",async o=>{e.push(o.toString());let n=e.join("");if(n.length>M){let c={id:"unknown",success:!1,exitCode:1,stderr:"Request too large"};t.write(y(c)),t.destroy(),e.length=0;return}let i=n.split(`
|
|
9
|
+
`),a=i.pop()??"";e.splice(0,e.length,a);for(let c of i)if(c.trim())try{let s=JSON.parse(c),l=await he(s);t.write(y(l))}catch(s){let l={id:"unknown",success:!1,exitCode:1,stderr:`Protocol error: ${s.message}`};t.write(y(l))}}),t.on("error",()=>{})}d(pe,"handleConnection");function fe(t){let e=r.state;if(!e||e.restartPending)return;let o=T(e.entryPath,e.entryMtime),n=O({codeStale:o,command:t,ownVersion:r.ownVersion,now:Date.now(),lastDriftCheckMs:r.lastDriftCheckMs,driftMinIntervalMs:de,checkDrift:H});r.lastDriftCheckMs=n.lastDriftCheckMs,n.restart&&(e.restartPending=!0,e.restartReason=o?"code":"drift",console.log(o?"Build change detected \u2014 daemon will restart; request runs on fresh code.":`Version drift detected \u2014 daemon v${r.ownVersion} is stale; request runs on fresh code.`))}d(fe,"markStaleIfNeeded");async function he(t){let e=r.state;return!e||!r.commands?{id:t.id,success:!1,exitCode:1,stderr:"Daemon not initialized"}:r.shuttingDown&&t.command!=="daemon"&&t.command!=="__ping"?{id:t.id,success:!1,exitCode:1,retry:!0,stderr:"daemon is shutting down \u2014 running directly"}:(fe(t.command),e.restartPending&&t.command!=="daemon"&&t.command!=="__ping"?(e.activeRequests===0&&(console.log("Daemon shutting down for code reload..."),setImmediate(()=>{f(0,{respawn:r.state?.restartReason==="code"})})),{id:t.id,success:!1,exitCode:1,retry:!0,stderr:"daemon code is stale \u2014 running directly"}):Z.run(t,async()=>{e.activeRequests++;try{let o=t.command!=="hook"?"command":t.args[0]==="prompt"||t.args[0]==="stop"?"hook-state":"hook";try{return await Q.run(o,()=>ge(t),t.cwd)}catch(n){if(n instanceof w)return{id:t.id,success:!1,exitCode:1,retry:!0,stderr:n.message};throw n}}finally{e.activeRequests--,e.restartPending&&e.activeRequests===0&&(console.log("Daemon shutting down for code reload..."),setImmediate(()=>{f(0,{respawn:r.state?.restartReason==="code"})}))}}))}d(he,"handleRequest");async function ge(t){let e=r.state,o=r.commands;if(!e||!o)return{id:t.id,success:!1,exitCode:1,stderr:"Daemon not initialized"};if(q(),e.commandsServed++,e.lastActivity=Date.now(),t.command==="daemon")return we(t);if(t.command==="hook")return ye(t);if(t.command==="__ping")return{id:t.id,success:!0,exitCode:0,result:{pong:!0,pid:process.pid}};try{let n=[],i=[],a=console.log,c=console.error;console.log=(...s)=>n.push(s.map(String).join(" ")),console.error=(...s)=>i.push(s.map(String).join(" "));try{let s=await X(o,t);return{id:t.id,success:s.success,exitCode:s.success?0:1,stdout:n.join(`
|
|
10
|
+
`)||s.message||void 0,stderr:i.join(`
|
|
11
|
+
`)||s.error||void 0,result:s}}finally{console.log=a,console.error=c}}catch(n){return{id:t.id,success:!1,exitCode:1,stderr:n.message}}}d(ge,"handleRequestInner");async function ye(t){let e=performance.now(),o=J(t.args[0]);if(!o)return{id:t.id,success:!0,exitCode:0,stdout:`{}
|
|
12
|
+
`};let n=(()=>{if(!t.stdin)return{};try{return JSON.parse(t.stdin)}catch{return{}}})(),i=[],a={input:n,hookHost:U(t.hookHost),sink:d(s=>{i.push(s)},"sink"),detachAfterEmit:d(s=>{setImmediate(()=>{s().catch(()=>{})})},"detachAfterEmit")};try{await o(t.cwd,a)}catch{}let c=performance.now()-e;return setImmediate(async()=>{try{let s=await V.getProjectId(t.cwd);s&&z.recordTiming(s,"command_duration",c,{command:`hook:${t.args[0]??"unknown"}`})}catch{}}),{id:t.id,success:!0,exitCode:0,stdout:i.join("")||`{}
|
|
13
|
+
`}}d(ye,"handleHookRequest");function we(t){let e=t.args[0];if(e==="status"){let o=(()=>{try{return process.memoryUsage().rss}catch{return}})();return{id:t.id,success:!0,exitCode:0,result:{running:!0,pid:process.pid,socketPath:p.socket(),uptime:r.state?Date.now()-r.state.startedAt:0,commandsServed:r.state?.commandsServed??0,lastActivity:r.state?new Date(r.state.lastActivity).toISOString():null,registeredCommands:u.list().length,stale:r.state?T(r.state.entryPath,r.state.entryMtime):!1,version:r.ownVersion,memoryRss:o,activeRequests:r.state?.activeRequests??0,restartPending:r.state?.restartPending??!1,restartReason:r.state?.restartReason??null,absorbedErrors:r.state?.absorbedErrors??0}}}if(e==="stop"){let o={id:t.id,success:!0,exitCode:0,stdout:"Daemon stopping..."};return setTimeout(()=>{f(0)},100),o}return{id:t.id,success:!1,exitCode:1,stderr:`Unknown daemon command: ${e}. Use: status, stop`}}d(we,"handleDaemonCommand");function q(){let t=r.state;!t||r.shuttingDown||(t.idleTimer&&clearTimeout(t.idleTimer),t.idleTimer=setTimeout(()=>{console.log(`Daemon idle for ${t.idleTimeoutMs/1e3/60} minutes, shutting down`),f(0)},t.idleTimeoutMs),t.idleTimer.unref&&t.idleTimer.unref())}d(q,"resetIdleTimer");async function f(t,e={}){if(r.shuttingDown)return;if(r.shuttingDown=!0,console.log("Daemon shutting down..."),r.ipcServer){try{r.ipcServer.close()}catch{}r.ipcServer=null}let o=r.state;if(o&&o.activeRequests>0){let a=Date.now()+A;for(;o.activeRequests>0&&Date.now()<a;)await new Promise(c=>setTimeout(c,25));o.activeRequests>0&&console.log(`Daemon drain timeout with ${o.activeRequests} active request(s) \u2014 forcing exit`)}try{P.stopAll()}catch{}o?.idleTimer&&clearTimeout(o.idleTimer),r.updateTimer&&(clearInterval(r.updateTimer),r.updateTimer=null),r.walCheckpointTimer&&(clearInterval(r.walCheckpointTimer),r.walCheckpointTimer=null);try{R.close()}catch{}let n=p.socket(),i=p.pid();if(!S(n))try{m.existsSync(n)&&m.unlinkSync(n)}catch{}try{m.existsSync(i)&&m.unlinkSync(i)}catch{}e.respawn&&o?.restartReason!=="drift"&&Se(),process.exit(t)}d(f,"shutdown");function Se(){try{let t=process.argv[1];if(!t||!m.existsSync(t))return;let e=p.log(),o=(()=>{try{return m.openSync(e,"a")}catch{return}})(),n=o?["ignore",o,o]:["ignore","ignore","ignore"];if(se(process.execPath,[t],{detached:!0,stdio:n,env:process.env}).unref(),o!==void 0)try{m.closeSync(o)}catch{}console.log("Daemon scheduled self-respawn after code reload")}catch(t){console.error("Daemon self-respawn failed:",t.message)}}d(Se,"scheduleSelfRespawn");export{Ze as startDaemon};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { createRequire as __createRequire } from 'module';
|
|
2
|
+
import { fileURLToPath as __fileURLToPath } from 'url';
|
|
3
|
+
import { dirname as __pathDirname } from 'path';
|
|
4
|
+
const require = __createRequire(import.meta.url);
|
|
5
|
+
const __filename = __fileURLToPath(import.meta.url);
|
|
6
|
+
const __dirname = __pathDirname(__filename);
|
|
7
|
+
import{e as a,f as b,g as c,i as d}from"./chunk-DMO3ZFUG.mjs";import"./chunk-NNOX3UU4.mjs";import"./chunk-HU5ERAAV.mjs";import"./chunk-6RT2P22O.mjs";import"./chunk-ZXTJLMVZ.mjs";import"./chunk-VWFVSNQT.mjs";import"./chunk-U24YKPYX.mjs";import"./chunk-D62TAZG6.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import"./chunk-225DWS4D.mjs";import"./chunk-3TRXQAU4.mjs";d();export{a as PrjctDatabase,c as default,b as prjctDb};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { createRequire as __createRequire } from 'module';
|
|
2
|
+
import { fileURLToPath as __fileURLToPath } from 'url';
|
|
3
|
+
import { dirname as __pathDirname } from 'path';
|
|
4
|
+
const require = __createRequire(import.meta.url);
|
|
5
|
+
const __filename = __fileURLToPath(import.meta.url);
|
|
6
|
+
const __dirname = __pathDirname(__filename);
|
|
7
|
+
import{a,b,c,d,e,f,g,h,i,j,k}from"./chunk-RCIWCKL7.mjs";import"./chunk-D62TAZG6.mjs";import"./chunk-3TRXQAU4.mjs";export{c as NORMAL_MAX_FILES,d as NORMAL_MAX_LOC,a as TRIVIAL_MAX_FILES,b as TRIVIAL_MAX_LOC,g as computeCommittedChangeset,h as computeWorkingTreeChangeset,i as geometryBlockMessage,f as geometryOf,j as intentGeometryVerdict,k as shipGeometryVerdict,e as tierOf};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { createRequire as __createRequire } from 'module';
|
|
2
|
+
import { fileURLToPath as __fileURLToPath } from 'url';
|
|
3
|
+
import { dirname as __pathDirname } from 'path';
|
|
4
|
+
const require = __createRequire(import.meta.url);
|
|
5
|
+
const __filename = __fileURLToPath(import.meta.url);
|
|
6
|
+
const __dirname = __pathDirname(__filename);
|
|
7
|
+
import{a,b,c,d,e,f}from"./chunk-V6L5PLD7.mjs";import"./chunk-YEALP3WX.mjs";import"./chunk-QZ7T2EYR.mjs";import"./chunk-DMO3ZFUG.mjs";import"./chunk-NNOX3UU4.mjs";import"./chunk-HU5ERAAV.mjs";import"./chunk-6RT2P22O.mjs";import"./chunk-ZXTJLMVZ.mjs";import"./chunk-VWFVSNQT.mjs";import"./chunk-U24YKPYX.mjs";import"./chunk-D62TAZG6.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import"./chunk-225DWS4D.mjs";import"./chunk-3TRXQAU4.mjs";export{c as detectChanges,d as formatDetectChangesMd,e as formatDetectChangesText,a as parseChangedLinesFromUnifiedDiff,f as shipStructuralRiskCue,b as symbolsTouchedByHunks};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { createRequire as __createRequire } from 'module';
|
|
2
|
+
import { fileURLToPath as __fileURLToPath } from 'url';
|
|
3
|
+
import { dirname as __pathDirname } from 'path';
|
|
4
|
+
const require = __createRequire(import.meta.url);
|
|
5
|
+
const __filename = __fileURLToPath(import.meta.url);
|
|
6
|
+
const __dirname = __pathDirname(__filename);
|
|
7
|
+
import{a,b,c,d,e}from"./chunk-4IE7LRH3.mjs";import"./chunk-HYIT7MF5.mjs";import"./chunk-225DWS4D.mjs";import"./chunk-3TRXQAU4.mjs";export{b as AI_AGENTS,a as PROJECT_TYPES,d as detectInstalledAgents,c as detectProjectType,e as detectStack};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createRequire as __createRequire } from 'module';
|
|
2
|
+
import { fileURLToPath as __fileURLToPath } from 'url';
|
|
3
|
+
import { dirname as __pathDirname } from 'path';
|
|
4
|
+
const require = __createRequire(import.meta.url);
|
|
5
|
+
const __filename = __fileURLToPath(import.meta.url);
|
|
6
|
+
const __dirname = __pathDirname(__filename);
|
|
7
|
+
import{a as p,b as g}from"./chunk-CUIB6CTG.mjs";import"./chunk-E5QQDYBR.mjs";import"./chunk-NXUIMC22.mjs";import{f as a,i as m}from"./chunk-DMO3ZFUG.mjs";import"./chunk-NNOX3UU4.mjs";import"./chunk-INJ5WT2D.mjs";import"./chunk-HU5ERAAV.mjs";import"./chunk-6RT2P22O.mjs";import"./chunk-ZXTJLMVZ.mjs";import"./chunk-VWFVSNQT.mjs";import"./chunk-U24YKPYX.mjs";import"./chunk-D62TAZG6.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import"./chunk-225DWS4D.mjs";import{a as o}from"./chunk-3TRXQAU4.mjs";m();var u=o(e=>({week:e.week,capturedAt:e.captured_at,preferences:e.preferences,frictions:e.frictions,decisions7d:e.decisions_7d,gotchas7d:e.gotchas_7d,learnings7d:e.learnings_7d,tasksCompleted7d:e.tasks_completed_7d,ships7d:e.ships_7d,velocityAvg:e.velocity_avg,summary:e.summary}),"rowToSnapshot");function d(e,r,t){let i=t?"SELECT COUNT(*) AS c FROM memory_entries WHERE type = ? AND deleted_at IS NULL AND created_at >= ?":"SELECT COUNT(*) AS c FROM memory_entries WHERE type = ? AND deleted_at IS NULL",s=t?[r,t]:[r];return a.get(e,i,...s)?.c??0}o(d,"countEntries");function f(e){let r=e.decisions7d+e.gotchas7d+e.learnings7d;return`Week digest: ${e.ships7d>0||e.tasksCompleted7d>0?`shipped ${e.ships7d}, completed ${e.tasksCompleted7d} cycles`:"no deliveries recorded"}; velocity avg ${e.velocityAvg.toFixed(1)} pts/wk. Agent's model of the dev: ${e.preferences} standing preferences, ${e.frictions} friction signals; +${r} knowledge entries this week (${e.decisions7d} decisions, ${e.gotchas7d} gotchas, ${e.learnings7d} learnings).`}o(f,"buildSummary");async function y(e){let r=new Date().toISOString(),t=p(r);if(t===null)return!1;let i=Date.now()-10080*60*1e3,s=new Date(i).toISOString(),c=await g.getMetrics(e),n={preferences:d(e,"feedback"),frictions:d(e,"improvement-signal"),decisions7d:d(e,"decision",i),gotchas7d:d(e,"gotcha",i),learnings7d:d(e,"learning",i),tasksCompleted7d:a.get(e,"SELECT COUNT(*) AS c FROM tasks WHERE completed_at IS NOT NULL AND completed_at >= ?",s)?.c??0,ships7d:a.get(e,"SELECT COUNT(*) AS c FROM shipped_features WHERE shipped_at >= ?",s)?.c??0,velocityAvg:c.averageVelocity};return a.run(e,`INSERT OR IGNORE INTO developer_profile_snapshots
|
|
8
|
+
(week, captured_at, preferences, frictions, decisions_7d, gotchas_7d, learnings_7d,
|
|
9
|
+
tasks_completed_7d, ships_7d, velocity_avg, summary)
|
|
10
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,t,r,n.preferences,n.frictions,n.decisions7d,n.gotchas7d,n.learnings7d,n.tasksCompleted7d,n.ships7d,n.velocityAvg,f(n)).changes>0}o(y,"captureDeveloperSnapshot");function v(e,r=8){return a.query(e,"SELECT * FROM developer_profile_snapshots ORDER BY week DESC LIMIT ?",r).map(u)}o(v,"getDeveloperEvolution");function S(e,r=6){let t=v(e,r);if(t.length===0)return null;let i=["## Evolution (weekly snapshots)"];if(t.length>=2){let s=t[0],c=t[t.length-1],n=s.velocityAvg-c.velocityAvg,l=s.preferences-c.preferences;i.push(`Over ${t.length} weeks: velocity ${n>=0?"+":""}${n.toFixed(1)} pts/wk, standing preferences ${l>=0?"+":""}${l}, frictions ${s.frictions-c.frictions>=0?"+":""}${s.frictions-c.frictions}.`)}for(let s of t)i.push(`- ${s.capturedAt.slice(0,10)} \u2014 ${s.summary}`);return i.join(`
|
|
11
|
+
`)}o(S,"renderDeveloperEvolution");export{y as captureDeveloperSnapshot,v as getDeveloperEvolution,S as renderDeveloperEvolution};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { createRequire as __createRequire } from 'module';
|
|
2
|
+
import { fileURLToPath as __fileURLToPath } from 'url';
|
|
3
|
+
import { dirname as __pathDirname } from 'path';
|
|
4
|
+
const require = __createRequire(import.meta.url);
|
|
5
|
+
const __filename = __fileURLToPath(import.meta.url);
|
|
6
|
+
const __dirname = __pathDirname(__filename);
|
|
7
|
+
import{a,b}from"./chunk-K25HGTC3.mjs";import"./chunk-5YLI5V3Q.mjs";import"./chunk-6AFXUX2M.mjs";import"./chunk-WSVMQYYU.mjs";import"./chunk-LZC6NGB6.mjs";import"./chunk-XLFEWZRA.mjs";import"./chunk-XPRLQIVQ.mjs";import"./chunk-EZRNQXCC.mjs";import"./chunk-B7AQHL7B.mjs";import"./chunk-L4TUXFCL.mjs";import"./chunk-DIEPWXJJ.mjs";import"./chunk-UNNY2IWZ.mjs";import"./chunk-3USVY66O.mjs";import"./chunk-OIE3AKKO.mjs";import"./chunk-Q6C27OL7.mjs";import"./chunk-NXUIMC22.mjs";import"./chunk-DMO3ZFUG.mjs";import"./chunk-NNOX3UU4.mjs";import"./chunk-INJ5WT2D.mjs";import"./chunk-HU5ERAAV.mjs";import"./chunk-6RT2P22O.mjs";import"./chunk-ZXTJLMVZ.mjs";import"./chunk-TIBYHZFA.mjs";import"./chunk-VWFVSNQT.mjs";import"./chunk-U24YKPYX.mjs";import"./chunk-D62TAZG6.mjs";import"./chunk-KPR5TWSN.mjs";import"./chunk-623SNKDH.mjs";import"./chunk-TTN2CFZC.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import"./chunk-225DWS4D.mjs";import"./chunk-3TRXQAU4.mjs";export{b as buildDeveloperProfile,a as extractDeveloperRules};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { createRequire as __createRequire } from 'module';
|
|
2
|
+
import { fileURLToPath as __fileURLToPath } from 'url';
|
|
3
|
+
import { dirname as __pathDirname } from 'path';
|
|
4
|
+
const require = __createRequire(import.meta.url);
|
|
5
|
+
const __filename = __fileURLToPath(import.meta.url);
|
|
6
|
+
const __dirname = __pathDirname(__filename);
|
|
7
|
+
import{a as o}from"./chunk-3TRXQAU4.mjs";function l(r){let{sddMode:e,harnessLevel:s,hasSpecId:n,specStatus:i}=r;if(e==="off")return{blocked:!1,message:"",reason:"none"};let d=s==="H2"||s==="H3",c=e==="strict";if(!c&&!(e==="advisory"&&d))return{blocked:!1,message:"",reason:"none"};let t=c?"sdd-strict":"discuss-h2";return n?i==="draft"?{blocked:!0,reason:t,message:"Discuss-lock: linked spec is still draft \u2014 run `prjct audit-spec` until reviewed before implementing."}:{blocked:!1,message:"",reason:"none"}:{blocked:!0,reason:t,message:t==="sdd-strict"?'Strict SDD: an intent/spec is required before work. Run `prjct intent "<title>"`, pass `prjct audit-spec <id>`, then `prjct work --spec <id>`. (Relax with `prjct sdd advisory` or `off`.) SUPERIOR to GSD discuss theater: code-enforced, SQLite-backed.':`Discuss-lock (${s}): lock product decisions before code. Run \`prjct intent "<title>"\` \u2192 \`prjct audit-spec <id>\` \u2192 \`prjct work --spec <id>\`. SUPERIOR to GSD discuss-before-plan: code-enforced on H2+, not markdown ceremony. Relax: \`prjct sdd off\`.`}}o(l,"discussLockVerdict");export{l as discussLockVerdict};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { createRequire as __createRequire } from 'module';
|
|
2
|
+
import { fileURLToPath as __fileURLToPath } from 'url';
|
|
3
|
+
import { dirname as __pathDirname } from 'path';
|
|
4
|
+
const require = __createRequire(import.meta.url);
|
|
5
|
+
const __filename = __fileURLToPath(import.meta.url);
|
|
6
|
+
const __dirname = __pathDirname(__filename);
|
|
7
|
+
import{a,b,c,d,e}from"./chunk-BTCCUMKI.mjs";import"./chunk-6AFXUX2M.mjs";import"./chunk-WSVMQYYU.mjs";import"./chunk-X35YYOFE.mjs";import"./chunk-LZC6NGB6.mjs";import"./chunk-XLFEWZRA.mjs";import"./chunk-XPRLQIVQ.mjs";import"./chunk-EZRNQXCC.mjs";import"./chunk-B7AQHL7B.mjs";import"./chunk-L4TUXFCL.mjs";import"./chunk-DIEPWXJJ.mjs";import"./chunk-UNNY2IWZ.mjs";import"./chunk-3USVY66O.mjs";import"./chunk-OIE3AKKO.mjs";import"./chunk-Q6C27OL7.mjs";import"./chunk-NXUIMC22.mjs";import"./chunk-DMO3ZFUG.mjs";import"./chunk-NNOX3UU4.mjs";import"./chunk-INJ5WT2D.mjs";import"./chunk-HU5ERAAV.mjs";import"./chunk-6RT2P22O.mjs";import"./chunk-ZXTJLMVZ.mjs";import"./chunk-TIBYHZFA.mjs";import"./chunk-VWFVSNQT.mjs";import"./chunk-U24YKPYX.mjs";import"./chunk-D62TAZG6.mjs";import"./chunk-KPR5TWSN.mjs";import"./chunk-623SNKDH.mjs";import"./chunk-TTN2CFZC.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import"./chunk-225DWS4D.mjs";import"./chunk-3TRXQAU4.mjs";export{b as buildDistillContent,d as distillAndDiscardAllAutoSources,c as distillAndDiscardAutoSource,e as eliminateSoftDeletedNoValue,a as hardDeleteEntries};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { createRequire as __createRequire } from 'module';
|
|
2
|
+
import { fileURLToPath as __fileURLToPath } from 'url';
|
|
3
|
+
import { dirname as __pathDirname } from 'path';
|
|
4
|
+
const require = __createRequire(import.meta.url);
|
|
5
|
+
const __filename = __fileURLToPath(import.meta.url);
|
|
6
|
+
const __dirname = __pathDirname(__filename);
|
|
7
|
+
import{a,b}from"./chunk-WGDE3L33.mjs";import"./chunk-V3Y3G2DE.mjs";import"./chunk-5ONMON5L.mjs";import"./chunk-SLYLGDX7.mjs";import"./chunk-3FXNIJCS.mjs";import"./chunk-IFLBZKKK.mjs";import"./chunk-ZKJZDOPT.mjs";import"./chunk-YOGI4WE6.mjs";import"./chunk-3USVY66O.mjs";import"./chunk-OIE3AKKO.mjs";import"./chunk-YLYAYRSJ.mjs";import"./chunk-JPMUJY42.mjs";import"./chunk-WZXUFSVT.mjs";import"./chunk-CDLZLTRY.mjs";import"./chunk-CEOTHJIY.mjs";import"./chunk-KWC2PCPC.mjs";import"./chunk-DMO3ZFUG.mjs";import"./chunk-NNOX3UU4.mjs";import"./chunk-MTDCRYLP.mjs";import"./chunk-PIA26GWG.mjs";import"./chunk-RP7F67ZT.mjs";import"./chunk-INJ5WT2D.mjs";import"./chunk-HU5ERAAV.mjs";import"./chunk-6RT2P22O.mjs";import"./chunk-ZXTJLMVZ.mjs";import"./chunk-VWFVSNQT.mjs";import"./chunk-U24YKPYX.mjs";import"./chunk-D62TAZG6.mjs";import"./chunk-XYDLXF5A.mjs";import"./chunk-FATYLG3L.mjs";import"./chunk-2EEMQV7N.mjs";import"./chunk-KPR5TWSN.mjs";import"./chunk-623SNKDH.mjs";import"./chunk-TTN2CFZC.mjs";import"./chunk-GDLAQV3Q.mjs";import"./chunk-UT425KVX.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import"./chunk-225DWS4D.mjs";import"./chunk-3TRXQAU4.mjs";export{b as applyDoctorHeal,a as planDoctorHeal};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { createRequire as __createRequire } from 'module';
|
|
2
|
+
import { fileURLToPath as __fileURLToPath } from 'url';
|
|
3
|
+
import { dirname as __pathDirname } from 'path';
|
|
4
|
+
const require = __createRequire(import.meta.url);
|
|
5
|
+
const __filename = __fileURLToPath(import.meta.url);
|
|
6
|
+
const __dirname = __pathDirname(__filename);
|
|
7
|
+
import{b as j}from"./chunk-EHVU2SMR.mjs";import"./chunk-HPCSSJXH.mjs";import"./chunk-E5QQDYBR.mjs";import"./chunk-B7AQHL7B.mjs";import"./chunk-L4TUXFCL.mjs";import{h as n}from"./chunk-ID2C2S33.mjs";import{b as C}from"./chunk-3USVY66O.mjs";import"./chunk-OIE3AKKO.mjs";import"./chunk-Q6C27OL7.mjs";import"./chunk-NXUIMC22.mjs";import"./chunk-DZVOFEM5.mjs";import"./chunk-5EF5EOCL.mjs";import{c as k}from"./chunk-XSZG3CBO.mjs";import"./chunk-DMO3ZFUG.mjs";import"./chunk-NNOX3UU4.mjs";import{d as v}from"./chunk-DN46DLU3.mjs";import"./chunk-PIA26GWG.mjs";import"./chunk-RP7F67ZT.mjs";import"./chunk-INJ5WT2D.mjs";import{F as w,G as P}from"./chunk-HU5ERAAV.mjs";import"./chunk-6RT2P22O.mjs";import"./chunk-ZXTJLMVZ.mjs";import"./chunk-VWFVSNQT.mjs";import"./chunk-U24YKPYX.mjs";import"./chunk-D62TAZG6.mjs";import"./chunk-XYDLXF5A.mjs";import"./chunk-FATYLG3L.mjs";import"./chunk-2EEMQV7N.mjs";import"./chunk-KPR5TWSN.mjs";import"./chunk-623SNKDH.mjs";import{d as g,g as R}from"./chunk-TTN2CFZC.mjs";import"./chunk-GDLAQV3Q.mjs";import"./chunk-UT425KVX.mjs";import"./chunk-DOJPSIMG.mjs";import{l as f,p as y}from"./chunk-HYIT7MF5.mjs";import"./chunk-225DWS4D.mjs";import{a as d}from"./chunk-3TRXQAU4.mjs";import{execFileSync as m}from"node:child_process";import x from"node:path";import u from"chalk";P();y();R();var h=class{static{d(this,"DoctorService")}projectPath="";projectId=null;globalPath="";async check(t=process.cwd()){this.projectPath=t,this.projectId=await C.getProjectId(t),this.projectId&&(this.globalPath=w.getGlobalProjectPath(this.projectId));let e=await this.checkTools(),s=await this.checkProject(),r=this.generateRecommendations(e,s),a=[...e,...s].some(i=>i.status==="error"&&!i.optional),c=[...e,...s].some(i=>i.status==="warn"||i.status==="error"&&i.optional);return{success:!a,tools:e,project:s,recommendations:r,hasErrors:a,hasWarnings:c}}async run(t=process.cwd()){let e=await this.check(t);return this.printHeader(),this.printSection("System Tools",e.tools),this.printSection("Project Status",e.project),e.recommendations.length>0&&this.printRecommendations(e.recommendations),this.printSummary(e),n.info("Heal dead hooks / multi-runtime gaps: prjct doctor --fix"),e.hasErrors?1:0}async heal(t=process.cwd()){this.printHeader(),n.info("Doctor heal \u2014 repairing harness wire\u2026");try{let{applyDoctorHeal:e}=await import("./doctor-heal-ZUZ2RHGY.mjs"),s=await e(t);if(n.done(s.line),s.applied.length&&n.info(`applied: ${s.applied.join(", ")}`),s.skipped.length&&n.info(`skipped: ${s.skipped.join(", ")}`),s.errors.length)for(let a of s.errors)n.fail(a);let r=await this.check(t);return this.printSection("System Tools",r.tools),this.printSection("Project Status",r.project),this.printSummary(r),s.errors.length>0||r.hasErrors?1:0}catch(e){return n.fail(`heal failed: ${e.message}`),1}}async checkTools(){let t=[];return t.push(this.checkCommand("git",["git","--version"],/git version ([\d.]+)/,!1)),t.push(this.checkCommand("node",["node","--version"],/v([\d.]+)/,!1)),t.push(this.checkCommand("bun",["bun","--version"],/([\d.]+)/,!0)),t.push(this.checkCommand("gh",["gh","--version"],/gh version ([\d.]+)/,!0,"needed for PR commands")),t.push(this.checkCommand("claude",["claude","--version"],/claude ([\d.]+)/,!0,"Anthropic Claude Code CLI")),t.push(this.checkCommand("gemini",["gemini","--version"],/gemini ([\d.]+)/,!0,"Google Gemini CLI")),t.push(this.checkCommand("codex",["codex","--version"],/([\d.]+)/,!0,"OpenAI Codex CLI")),t.push(await this.checkParallelInstalls()),t}async checkParallelInstalls(){try{let{planCleanup:t}=await import("./cleanup-installs-WHXUGAHM.mjs"),e=t();if(e.removable.length===0)return{name:"prjct installs",status:"ok",message:e.winner?`single winner: ${e.winner}`:"one install (or PATH winner unresolved)",optional:!0};let s=e.removable.map(r=>`${r.pm}@${r.version}`).join(", ");return{name:"prjct installs",status:"warn",message:`${e.removable.length} parallel install(s) shadow winner ${e.winner??"?"}: ${s} \u2014 run \`prjct update\` to consolidate (or uninstall non-winners)`,optional:!0}}catch{return{name:"prjct installs",status:"ok",message:"could not scan (skipped)",optional:!0}}}checkCommand(t,e,s,r,a){try{let[c,...i]=e,l=m(c,i,{encoding:"utf-8",stdio:["pipe","pipe","pipe"]}).match(s),o=l?l[1]:"unknown";return{name:t,status:"ok",version:o,optional:r}}catch{return{name:t,status:"error",message:a?`not found (${a})`:"not found",optional:r}}}async checkProject(){let t=[];return t.push(await this.checkPrjctConfig()),t.push(await this.checkGitRepo()),t.push(await this.checkStateFile()),t.push(await this.checkContext7()),t.push(await this.checkCodexPRouter()),t.push(await this.checkClaudeHooks()),t}async checkClaudeHooks(){try{let t=await import("./settings-installer-4XHM3HAZ.mjs"),{installed:e,expected:s}=await t.status();return e===s?{name:"claude hooks",status:"ok",message:`${e}/${s} installed`}:{name:"claude hooks",status:"warn",message:`${e}/${s} installed - run "prjct doctor --fix" to repair`}}catch{return{name:"claude hooks",status:"warn",message:"could not read ~/.claude/settings.json"}}}async checkPrjctConfig(){let t=x.join(this.projectPath,".prjct","prjct.config.json");return await f(t)?{name:"prjct config",status:"ok",message:"initialized"}:{name:"prjct config",status:"error",message:'not initialized - run "prjct init"'}}async checkGitRepo(){try{m("git",["rev-parse","--git-dir"],{cwd:this.projectPath,stdio:["pipe","pipe","pipe"]});let t=m("git",["status","--porcelain"],{cwd:this.projectPath,encoding:"utf-8",stdio:["pipe","pipe","pipe"]});if(t.trim().length>0){let s=t.trim().split(`
|
|
8
|
+
`).filter(Boolean);return{name:"git repo",status:"ok",message:`${s.length} uncommitted change${s.length>1?"s":""}`}}return{name:"git repo",status:"ok",message:"clean"}}catch{return{name:"git repo",status:"warn",message:"not a git repository"}}}async checkStateFile(){if(!this.globalPath||!this.projectId)return{name:"task state",status:"warn",message:"project not initialized"};try{let t=await j.read(this.projectId);return t.currentTask?{name:"task state",status:"ok",message:`active: ${t.currentTask.description?.slice(0,30)}...`}:{name:"task state",status:"ok",message:"no active task"}}catch{return{name:"task state",status:"ok",message:"no state data (normal for new projects)",optional:!0}}}async checkContext7(){try{let t=await k.verify();return t.installed?t.verified?{name:"context7 mcp",status:"ok",message:"ready"}:{name:"context7 mcp",status:"error",message:t.message||"configured but verification failed"}:{name:"context7 mcp",status:"error",message:'not configured - run "prjct start"'}}catch(t){return{name:"context7 mcp",status:"error",message:`check failed: ${t instanceof Error?t.message:"unknown error"}`}}}async checkCodexPRouter(){try{let t=await v({autoRepair:!0});return t.installed?t.verified?{name:"codex p-router",status:"ok",message:`ready (${t.templateSource||"local-dev"})`}:{name:"codex p-router",status:"error",message:t.message||"router verification failed"}:{name:"codex p-router",status:"ok",message:"codex not detected (check skipped)",optional:!0}}catch(t){return{name:"codex p-router",status:"error",message:`check failed: ${t instanceof Error?t.message:"unknown error"}`}}}generateRecommendations(t,e){let s=[];t.find(o=>o.name==="gh"&&o.status==="error")&&s.push("Install GitHub CLI (gh) for PR commands: https://cli.github.com");let a=e.find(o=>o.name==="CLAUDE.md");a?.status==="warn"&&a.message?.includes("stale")&&s.push('Run "prjct sync" to update context');let c=e.find(o=>o.name==="prjct config");c?.status==="error"&&s.push('Run "prjct init" to initialize this project'),e.find(o=>o.name==="CLAUDE.md"&&o.status==="error")&&!c?.status?.includes("error")&&s.push('Run "prjct sync" to generate context files');let p=e.find(o=>o.name==="context7 mcp");p&&p.status!=="ok"&&s.push('Run "prjct start" to install/repair Context7 MCP');let l=e.find(o=>o.name==="codex p-router");return l&&l.status==="error"&&s.push('Run "prjct start" or "prjct setup" to repair Codex p. router'),s}printHeader(){n.section(`prjct doctor v${g}`)}printSection(t,e){n.section(t);let s=e.map(r=>{let a=this.getStatusIcon(r.status,r.optional),c=r.name.padEnd(14),i=r.version||r.message||"",p=r.optional&&r.status==="error"?u.dim(" (optional)"):"";return`${a} ${c} ${u.dim(i)}${p}`});for(let r of s)console.log(` ${r}`)}printRecommendations(t){n.section("Recommendations"),n.list(t,{bullet:u.yellow("\u2022")})}printSummary(t){console.log(""),console.log(u.dim("\u2500".repeat(40))),t.hasErrors?n.fail("Some required checks failed"):t.hasWarnings?n.warn("All required checks passed (some warnings)"):n.done("All checks passed"),console.log("")}getStatusIcon(t,e){switch(t){case"ok":return u.green("\u2713");case"warn":return u.yellow("\u26A0");case"error":return e?u.dim("\u25CB"):u.red("\u2717")}}},z=new h;export{h as DoctorService,z as doctorService};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { createRequire as __createRequire } from 'module';
|
|
2
|
+
import { fileURLToPath as __fileURLToPath } from 'url';
|
|
3
|
+
import { dirname as __pathDirname } from 'path';
|
|
4
|
+
const require = __createRequire(import.meta.url);
|
|
5
|
+
const __filename = __fileURLToPath(import.meta.url);
|
|
6
|
+
const __dirname = __pathDirname(__filename);
|
|
7
|
+
import{a as t}from"./chunk-3TRXQAU4.mjs";import{spawn as s}from"node:child_process";import{existsSync as d,mkdirSync as l,readFileSync as h,writeFileSync as u}from"node:fs";import i from"node:path";var m="drift-refresh-last.json";function o(e){return i.join(e,"state",m)}t(o,"stampPath");function a(e){try{let r=o(e);return d(r)?JSON.parse(h(r,"utf-8")):{}}catch{return{}}}t(a,"readDriftStamp");function f(e,r){try{let n=i.join(e,"state");l(n,{recursive:!0});let c=a(e);u(o(e),JSON.stringify({...c,...r}),"utf-8")}catch{}}t(f,"writeDriftStamp");function p(e,r){if(r<=0||r<3)return!1;try{let n=a(e),c=n.scheduledAt??n.at;return c?Date.now()-c>3600*1e3:!0}catch{return!0}}t(p,"shouldRefreshDrift");function b(e){f(e,{appliedAt:Date.now()})}t(b,"markDriftRefreshApplied");function S(e,r=Date.now()){return!e.appliedAt||!e.scheduledAt||e.appliedAt<e.scheduledAt?!1:r-e.appliedAt<3600*1e3}t(S,"driftStaleResolved");function R(e){return S(e.stamp)?`**World model refreshed:** drift was ${e.commitsSinceSync}+ commits; architecture/risk/work-scope sync applied. Stale banner cleared.`:e.refreshScheduled?`**Understanding may be stale:** ${e.warning} \u2014 background world-model refresh scheduled (BM25 + import graph + architecture). Prefer \`prjct sync\` if this persists after ~1 min.`:`**Understanding may be stale:** ${e.warning} \u2014 run \`prjct sync\` before big calls to refresh architecture/risk/work-scope.`}t(R,"formatDriftNotice");function j(e){if(!p(e.cliHome,e.commitsSinceSync))return!1;f(e.cliHome,{scheduledAt:Date.now(),commitsAtSchedule:e.commitsSinceSync});let r=e.prjctBin??process.argv[1]??"prjct",n={...process.env,PRJCT_DRIFT_REFRESH:"1",PRJCT_WORLD_MODEL_REFRESH:"1"};try{return s(process.execPath,[r,"sync","--project",e.projectPath],{detached:!0,stdio:"ignore",cwd:e.projectPath,env:n,shell:!1}).unref(),!0}catch{try{return s("prjct",["sync","--project",e.projectPath],{detached:!0,stdio:"ignore",cwd:e.projectPath,env:n,shell:!1}).unref(),!0}catch{return!1}}}t(j,"maybeDetachDriftRefresh");export{S as driftStaleResolved,R as formatDriftNotice,b as markDriftRefreshApplied,j as maybeDetachDriftRefresh,a as readDriftStamp,p as shouldRefreshDrift};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createRequire as __createRequire } from 'module';
|
|
2
|
+
import { fileURLToPath as __fileURLToPath } from 'url';
|
|
3
|
+
import { dirname as __pathDirname } from 'path';
|
|
4
|
+
const require = __createRequire(import.meta.url);
|
|
5
|
+
const __filename = __fileURLToPath(import.meta.url);
|
|
6
|
+
const __dirname = __pathDirname(__filename);
|
|
7
|
+
import{a as p}from"./chunk-2TJRTFIS.mjs";import{i as u}from"./chunk-IMQCXC3R.mjs";import"./chunk-L5LFLI4R.mjs";import{g as d}from"./chunk-MDONTD7O.mjs";import"./chunk-5YLI5V3Q.mjs";import{i as l}from"./chunk-X35YYOFE.mjs";import"./chunk-LZC6NGB6.mjs";import"./chunk-XLFEWZRA.mjs";import"./chunk-XPRLQIVQ.mjs";import"./chunk-EZRNQXCC.mjs";import"./chunk-B7AQHL7B.mjs";import"./chunk-L4TUXFCL.mjs";import"./chunk-3USVY66O.mjs";import"./chunk-OIE3AKKO.mjs";import"./chunk-Q6C27OL7.mjs";import"./chunk-NXUIMC22.mjs";import{f as a,i as m}from"./chunk-DMO3ZFUG.mjs";import"./chunk-NNOX3UU4.mjs";import"./chunk-INJ5WT2D.mjs";import"./chunk-HU5ERAAV.mjs";import"./chunk-6RT2P22O.mjs";import"./chunk-ZXTJLMVZ.mjs";import"./chunk-VWFVSNQT.mjs";import"./chunk-U24YKPYX.mjs";import"./chunk-D62TAZG6.mjs";import"./chunk-KPR5TWSN.mjs";import"./chunk-623SNKDH.mjs";import"./chunk-TTN2CFZC.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import"./chunk-225DWS4D.mjs";import{a as r}from"./chunk-3TRXQAU4.mjs";m();m();function y(t){let o=Date.now()-6048e5,e=u(t,o),n=d(t,"warn",o),s=d(t,"deny",o),i=(()=>{try{return a.get(t,`SELECT COUNT(*) AS c FROM memory_entries
|
|
8
|
+
WHERE deleted_at IS NULL
|
|
9
|
+
AND created_at >= ?
|
|
10
|
+
AND type IN ('gotcha', 'anti-pattern', 'decision')`,o)?.c??0}catch{return 0}})(),c=`Closed-loop judgment (7d): receipts=${e} \xB7 conflict warn/deny=${n}/${s} \xB7 preventive memories=${i}`;return{receipts7d:e,conflictWarns7d:n,conflictDenies7d:s,preventiveSurfaces7d:i,line:c}}r(y,"buildClosedLoopHealth");function h(t){try{return a.get(t,"SELECT COALESCE(SUM(tokens_saved), 0) AS tokens FROM metrics_daily")?.tokens??0}catch{return 0}}r(h,"sumTokensSaved");function E(t){let o=y(t),e=l(t),n=p(t),s=h(t),i=e.live+e.softDeleted+e.archives,c=i>0?Math.round((e.softDeleted+e.archives)/i*1e3)/10:0,f=[{name:"Judgment receipts (7d)",measured:String(o.receipts7d),note:"land/Stop closed-loop stamps"},{name:"Conflict warn/deny (7d)",measured:`${o.conflictWarns7d}/${o.conflictDenies7d}`,note:"decision-conflict gate activity"},{name:"Preventive memories (7d)",measured:String(o.preventiveSurfaces7d),note:"gotcha \xB7 anti-pattern \xB7 decision"},{name:"Vault live / soft / archive",measured:`${e.live} / ${e.softDeleted} / ${e.archives}`,note:`hygiene mass ${c}% (Rho not grow-forever)`},{name:"Auto-source live",measured:String(e.autoSourceLive),note:"session noise capped by retention"},{name:"Tokens saved (lifetime sync)",measured:String(s),note:"metrics_daily compression"},{name:"Token economics (24h)",measured:`\u2248${n.tokens24h} \xB7 score ${n.score}/100`,note:"compound judgment > fresh-window thrash"}],v=`Dynasty outcomes: receipts7d=${o.receipts7d} \xB7 vault live=${e.live} soft=${e.softDeleted} \xB7 tokensSaved=${s} \xB7 tok24h\u2248${n.tokens24h}`;return{closedLoop:o,vault:e,tokens:n,tokensSavedTotal:s,hygieneRatio:c,line:v,rows:f}}r(E,"buildDynastyOutcomes");function T(t){return["## Dynasty outcomes (project)","","Compounding proof \u2014 not structural grade. Needs a live project DB.","","| Signal | Measured | Note |","|---|---|---|",...t.rows.map(e=>`| ${e.name} | ${e.measured} | ${e.note} |`),"",`**${t.line}**`,""].join(`
|
|
11
|
+
`)}r(T,"renderDynastyOutcomesMd");export{E as buildDynastyOutcomes,T as renderDynastyOutcomesMd};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { createRequire as __createRequire } from 'module';
|
|
2
|
+
import { fileURLToPath as __fileURLToPath } from 'url';
|
|
3
|
+
import { dirname as __pathDirname } from 'path';
|
|
4
|
+
const require = __createRequire(import.meta.url);
|
|
5
|
+
const __filename = __fileURLToPath(import.meta.url);
|
|
6
|
+
const __dirname = __pathDirname(__filename);
|
|
7
|
+
import{a}from"./chunk-GGGDYL4P.mjs";import"./chunk-HU5ERAAV.mjs";import"./chunk-6RT2P22O.mjs";import"./chunk-ZXTJLMVZ.mjs";import"./chunk-VWFVSNQT.mjs";import"./chunk-U24YKPYX.mjs";import"./chunk-D62TAZG6.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import"./chunk-225DWS4D.mjs";import"./chunk-3TRXQAU4.mjs";export{a as default};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { createRequire as __createRequire } from 'module';
|
|
2
|
+
import { fileURLToPath as __fileURLToPath } from 'url';
|
|
3
|
+
import { dirname as __pathDirname } from 'path';
|
|
4
|
+
const require = __createRequire(import.meta.url);
|
|
5
|
+
const __filename = __fileURLToPath(import.meta.url);
|
|
6
|
+
const __dirname = __pathDirname(__filename);
|
|
7
|
+
import{a}from"./chunk-YZEO5DZA.mjs";import{a as u,d as o,h as m}from"./chunk-5MN22JFI.mjs";import{a as I}from"./chunk-V5VCXMKO.mjs";import{a as v,b as R,e as l}from"./chunk-FOWTB762.mjs";import"./chunk-7CI4AMVO.mjs";import{a as $,b as H,c as q,d as x,e as L,f as C,g as G,h as N,j as P}from"./chunk-WSVMQYYU.mjs";import"./chunk-LZC6NGB6.mjs";import"./chunk-XLFEWZRA.mjs";import"./chunk-XPRLQIVQ.mjs";import"./chunk-EZRNQXCC.mjs";import"./chunk-B7AQHL7B.mjs";import"./chunk-L4TUXFCL.mjs";import{h as r}from"./chunk-ID2C2S33.mjs";import"./chunk-3USVY66O.mjs";import"./chunk-OIE3AKKO.mjs";import"./chunk-Q6C27OL7.mjs";import"./chunk-NXUIMC22.mjs";import"./chunk-DZVOFEM5.mjs";import"./chunk-5EF5EOCL.mjs";import"./chunk-DMO3ZFUG.mjs";import"./chunk-NNOX3UU4.mjs";import"./chunk-INJ5WT2D.mjs";import"./chunk-HU5ERAAV.mjs";import"./chunk-6RT2P22O.mjs";import"./chunk-ZXTJLMVZ.mjs";import"./chunk-TIBYHZFA.mjs";import"./chunk-VWFVSNQT.mjs";import"./chunk-U24YKPYX.mjs";import"./chunk-D62TAZG6.mjs";import"./chunk-KPR5TWSN.mjs";import"./chunk-623SNKDH.mjs";import"./chunk-TTN2CFZC.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import{e as k,g as K}from"./chunk-225DWS4D.mjs";import{a as f}from"./chunk-3TRXQAU4.mjs";K();function T(c){if(/\b401\b|invalid_api_key|incorrect api key|unauthor/i.test(c))return"The endpoint rejected the key (401). The base URL must match the key's provider \u2014 e.g. an OpenRouter key (sk-or-\u2026) needs `--base-url https://openrouter.ai/api/v1`, not OpenAI's. Re-set with: prjct embeddings set --key <api-key> --base-url <url>";if(/\b404\b|not found/i.test(c))return"No /embeddings route at that base URL (404). Check the base URL is the provider's OpenAI-compatible root (e.g. https://openrouter.ai/api/v1, https://api.openai.com/v1).";if(/ENOTFOUND|ECONNREFUSED|fetch failed|getaddrinfo|ETIMEDOUT/i.test(c))return"Could not reach the endpoint. Check the base URL and your network: prjct embeddings status"}f(T,"embeddingsFailureHint");function M(c){if(!c?.trim())return;let n={};for(let e of c.split(",")){let t=e.indexOf("=");if(t<=0)continue;let d=e.slice(0,t).trim(),i=e.slice(t+1).trim();d&&(n[d]=i)}return Object.keys(n).length?n:void 0}f(M,"parseHeaderPairs");var D=class extends I{static{f(this,"EmbeddingsCommands")}async embeddings(n=null,e=process.cwd(),t={}){let d=(n??"").trim().split(/\s+/).filter(Boolean),i=d[0]??"status";switch(i){case"set":return this.set(d.slice(1),t);case"status":return this.status(t);case"test":return this.test(t);case"clear":return this.clear(t);default:return l(`Unknown subcommand '${i}'. Use: set --key <K> [--model <M>] [--base-url <U>] | status | test | clear`,t)}}async set(n,e){let t=e.key??a(n,"key"),d=e.model??a(n,"model"),i=e.baseUrl??a(n,"base-url")??a(n,"baseUrl"),S=!i&&t?H(t):null,j=i??S?.baseUrl,b=S?.provider,E=e.authHeader??a(n,"auth-header"),g=e.authScheme??a(n,"auth-scheme"),U=g===void 0?void 0:/^none$/i.test(g)?"":g,w=M(e.headers??a(n,"headers")),O=e.query??a(n,"query");if(!t&&!d&&!j&&E===void 0&&U===void 0&&!w&&O===void 0)return l('Nothing to set. Usage: prjct embeddings set --key <api-key> [--model <id>] [--base-url <url>] [--auth-header <h>] [--auth-scheme <s|none>] [--headers "k=v,..."] [--query <qs>]');let y=t?await G(t).then(p=>({location:p})).catch(p=>({error:k(p)})):{};if(y.error)return l(`Could not store the key securely: ${y.error}`);let h=y.location,s=x({model:d,baseUrl:j,authHeader:E,authScheme:U,extraHeaders:w,query:O});return e.md?(console.log(u(o("Embeddings configured","Global embeddings now apply to all projects."),m({provider:s.provider,model:s.model,"base URL":s.baseUrl,detected:b,"auth header":s.authHeader,auth:s.authScheme===void 0?void 0:s.authScheme||"(raw key, no scheme)",query:s.query,headers:s.extraHeaders?Object.keys(s.extraHeaders).join(", "):void 0,"api key":h?`stored in ${h==="keychain"?"macOS Keychain":"~/.prjct-cli/config/embeddings.key (0600)"}`:void 0}),o("Next","Run `prjct embeddings test --md` to validate now."))),{success:!0}):(r.done("Global embeddings configured (applies to all projects)"),b&&r.info(`detected: ${b} (from key prefix)`),r.info(`provider: ${s.provider}`),r.info(`model: ${s.model}`),r.info(`base URL: ${s.baseUrl}`),s.authHeader&&r.info(`auth hdr: ${s.authHeader}`),s.authScheme!==void 0&&r.info(`auth: ${s.authScheme?s.authScheme:"(raw key, no scheme)"}`),s.query&&r.info(`query: ${s.query}`),s.extraHeaders&&r.info(`headers: ${Object.keys(s.extraHeaders).join(", ")}`),h&&r.info(`api key: stored in ${h==="keychain"?"macOS Keychain":"~/.prjct-cli/config/embeddings.key (0600)"}`),r.info("Each project re-vectorizes on its next session (Stop hook). Run `prjct embeddings test` to validate now."),{success:!0})}async status(n){let e=q(),t=await C();return e?n.md?(console.log(u(o("Embeddings","Global embeddings are configured."),m({provider:e.provider,model:e.model,"base URL":e.baseUrl,"auth header":e.authHeader,auth:e.authScheme===void 0?void 0:e.authScheme||"(raw key, no scheme)",query:e.query,headers:e.extraHeaders?Object.keys(e.extraHeaders).join(", "):void 0,"api key":t==="none"?"MISSING - set with `prjct embeddings set --key <api-key>`":`present (${t})`}))),{success:!0,configured:!0}):(r.done("Global embeddings: configured"),r.info(`provider: ${e.provider}`),r.info(`model: ${e.model}`),r.info(`base URL: ${e.baseUrl}`),e.authHeader&&r.info(`auth hdr: ${e.authHeader}`),e.authScheme!==void 0&&r.info(`auth: ${e.authScheme?e.authScheme:"(raw key, no scheme)"}`),e.query&&r.info(`query: ${e.query}`),e.extraHeaders&&r.info(`headers: ${Object.keys(e.extraHeaders).join(", ")}`),r.info(`api key: ${t==="none"?"MISSING \u2014 set with `prjct embeddings set --key <api-key>`":`present (${t})`}`),{success:!0,configured:!0}):n.md?(console.log(u(o("Embeddings","Global embeddings are not configured. Recall uses the built-in local subword embedder."),m({"api key":t==="none"?"none":`present (${t})`}),o("Next","Set one with `prjct embeddings set --key <api-key> --md`."))),{success:!0,configured:!1}):(r.info("Global embeddings: not configured \u2014 using the built-in local subword embedder."),r.info(`api key: ${t==="none"?"none":`present (${t})`}`),r.info("Set one with: prjct embeddings set --key <api-key>"),{success:!0,configured:!1})}async test(n){let e=P(null);try{let[t]=await e.embed(["prjct embeddings connectivity probe"]);return!t||t.length===0?l(`Provider '${e.model}' returned an empty vector.`,n):n.md?(console.log(u(o("Embeddings test",`Provider '${e.model}' returned a ${t.length}-dim vector.`),e.isLocal?o("Next","This is the local embedder. Set a key to upgrade: `prjct embeddings set --key <api-key> --md`."):null)),{success:!0,model:e.model,dims:t.length}):(r.done(`OK \u2014 '${e.model}' returned a ${t.length}-dim vector.`),e.isLocal&&r.info("This is the local embedder. Set a key to upgrade: prjct embeddings set --key <api-key>"),{success:!0,model:e.model,dims:t.length})}catch(t){let d=k(t);R(`Embedding test failed for '${e.model}'.`,n),v(d,n);let i=T(d);return i&&v(i,n),{success:!1,error:d}}}async clear(n){return await N(),L(),n.md?(console.log(u(o("Embeddings cleared","Semantic recall now falls back to the local embedder."),m({"default model":$}))),{success:!0}):(r.done("Cleared global embeddings \u2014 semantic recall falls back to the local embedder."),r.info(`(Default model when you reconfigure: ${$}.)`),{success:!0})}};export{D as EmbeddingsCommands};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { createRequire as __createRequire } from 'module';
|
|
2
|
+
import { fileURLToPath as __fileURLToPath } from 'url';
|
|
3
|
+
import { dirname as __pathDirname } from 'path';
|
|
4
|
+
const require = __createRequire(import.meta.url);
|
|
5
|
+
const __filename = __fileURLToPath(import.meta.url);
|
|
6
|
+
const __dirname = __pathDirname(__filename);
|
|
7
|
+
import{a}from"./chunk-P53YMOKR.mjs";import"./chunk-F2FKQUYE.mjs";import"./chunk-WSVMQYYU.mjs";import"./chunk-LZC6NGB6.mjs";import"./chunk-XLFEWZRA.mjs";import"./chunk-XPRLQIVQ.mjs";import"./chunk-EZRNQXCC.mjs";import"./chunk-EHVU2SMR.mjs";import"./chunk-HPCSSJXH.mjs";import"./chunk-E5QQDYBR.mjs";import"./chunk-B7AQHL7B.mjs";import"./chunk-L4TUXFCL.mjs";import"./chunk-3USVY66O.mjs";import"./chunk-OIE3AKKO.mjs";import"./chunk-Q6C27OL7.mjs";import"./chunk-NXUIMC22.mjs";import"./chunk-DMO3ZFUG.mjs";import"./chunk-NNOX3UU4.mjs";import"./chunk-INJ5WT2D.mjs";import"./chunk-HU5ERAAV.mjs";import"./chunk-6RT2P22O.mjs";import"./chunk-ZXTJLMVZ.mjs";import"./chunk-TIBYHZFA.mjs";import"./chunk-VWFVSNQT.mjs";import"./chunk-U24YKPYX.mjs";import"./chunk-D62TAZG6.mjs";import"./chunk-KPR5TWSN.mjs";import"./chunk-623SNKDH.mjs";import"./chunk-TTN2CFZC.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import"./chunk-225DWS4D.mjs";import"./chunk-3TRXQAU4.mjs";export{a as enrichedRecall};
|