prjct-cli 3.97.0 → 3.98.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 +5 -0
- package/dist/bin/core-chunks/{agent-HCP5FF77.mjs → agent-3N2MSSGT.mjs} +1 -1
- package/dist/bin/core-chunks/{agent-switch-AVSX6SLY.mjs → agent-switch-4SE6GF7R.mjs} +1 -1
- package/dist/bin/core-chunks/{agents-OAQXBGH3.mjs → agents-ZPNNCOH7.mjs} +1 -1
- package/dist/bin/core-chunks/{analysis-3A7ODSSI.mjs → analysis-OARMM4AH.mjs} +2 -2
- package/dist/bin/core-chunks/{auto-flush-EWSVMKQN.mjs → auto-flush-XA3V7BJ6.mjs} +1 -1
- package/dist/bin/core-chunks/{bin-commands-LLHG2NSY.mjs → bin-commands-FYID6EYI.mjs} +5 -5
- package/dist/bin/core-chunks/{capture-7LQ52T6L.mjs → capture-3JJPWIF3.mjs} +1 -1
- package/dist/bin/core-chunks/{capture-gate-M4HM7WAI.mjs → capture-gate-G5LGVDME.mjs} +1 -1
- package/dist/bin/core-chunks/{ceremonies-4OZ3FKRE.mjs → ceremonies-B565WDCA.mjs} +4 -4
- package/dist/bin/core-chunks/{changelog-CUNVCEL5.mjs → changelog-LPJ4GKB6.mjs} +1 -1
- package/dist/bin/core-chunks/{chunk-DN46DLU3.mjs → chunk-2FRLIQKX.mjs} +1 -1
- package/dist/bin/core-chunks/{chunk-X4FR5S7E.mjs → chunk-2VRS5CUH.mjs} +1 -1
- package/dist/bin/core-chunks/{chunk-ZK7BMUMR.mjs → chunk-2VXPFULA.mjs} +1 -1
- package/dist/bin/core-chunks/chunk-3OWKIRK6.mjs +7 -0
- package/dist/bin/core-chunks/{chunk-V5VCXMKO.mjs → chunk-5DZ2LTII.mjs} +1 -1
- package/dist/bin/core-chunks/{chunk-5ONMON5L.mjs → chunk-5OWPZWEU.mjs} +1 -1
- package/dist/bin/core-chunks/{chunk-KWC2PCPC.mjs → chunk-5TGZSK4C.mjs} +1 -1
- package/dist/bin/core-chunks/chunk-5ZBACKED.mjs +14 -0
- package/dist/bin/core-chunks/{chunk-X35YYOFE.mjs → chunk-6KNMT46X.mjs} +2 -2
- package/dist/bin/core-chunks/{chunk-5MN22JFI.mjs → chunk-6POAOY5C.mjs} +1 -1
- package/dist/bin/core-chunks/{chunk-7CI4AMVO.mjs → chunk-6U3CYLY5.mjs} +1 -1
- package/dist/bin/core-chunks/{chunk-J7T5IEFJ.mjs → chunk-6U3MV7KZ.mjs} +1 -1
- package/dist/bin/core-chunks/{chunk-2ZPM4Z6W.mjs → chunk-7BU6SJBC.mjs} +4 -4
- package/dist/bin/core-chunks/{chunk-ZKJZDOPT.mjs → chunk-ACIOJQSI.mjs} +1 -1
- package/dist/bin/core-chunks/{chunk-UE3XKXWM.mjs → chunk-ALTQ3KL4.mjs} +1 -1
- package/dist/bin/core-chunks/{chunk-IVGWOY3U.mjs → chunk-ANBDOI53.mjs} +1 -1
- package/dist/bin/core-chunks/{chunk-LZC6NGB6.mjs → chunk-B2HY22OD.mjs} +2 -2
- package/dist/bin/core-chunks/{chunk-6AFXUX2M.mjs → chunk-BUD3R6LF.mjs} +2 -2
- package/dist/bin/core-chunks/{chunk-MDONTD7O.mjs → chunk-CA2VFWFP.mjs} +1 -1
- package/dist/bin/core-chunks/{chunk-56FW4P6U.mjs → chunk-CB3CNJTL.mjs} +1 -1
- package/dist/bin/core-chunks/{chunk-6FFOWWH2.mjs → chunk-CVKMV22J.mjs} +1 -1
- package/dist/bin/core-chunks/{chunk-5UUITMRX.mjs → chunk-CXKDKMYE.mjs} +1 -1
- package/dist/bin/core-chunks/{chunk-XSZG3CBO.mjs → chunk-DTMZBK4E.mjs} +1 -1
- package/dist/bin/core-chunks/chunk-DW4QMD6J.mjs +10 -0
- package/dist/bin/core-chunks/{chunk-CDLZLTRY.mjs → chunk-DZDEBDAB.mjs} +1 -1
- package/dist/bin/core-chunks/{chunk-WGDE3L33.mjs → chunk-FOUBHU4X.mjs} +1 -1
- package/dist/bin/core-chunks/{chunk-CNWEQUB7.mjs → chunk-HA7Y76GF.mjs} +1 -1
- package/dist/bin/core-chunks/{chunk-MTDCRYLP.mjs → chunk-HVXWQ2XZ.mjs} +1 -1
- package/dist/bin/core-chunks/{chunk-OYXQRBVM.mjs → chunk-IJNKHQIS.mjs} +1 -1
- package/dist/bin/core-chunks/{chunk-KIRU4QFX.mjs → chunk-J6Y7IVFQ.mjs} +1 -1
- package/dist/bin/core-chunks/{chunk-3FXNIJCS.mjs → chunk-JGGQSMZC.mjs} +1 -1
- package/dist/bin/core-chunks/{chunk-6P4GMVUZ.mjs → chunk-KI4OY3UQ.mjs} +1 -1
- package/dist/bin/core-chunks/{chunk-BTCCUMKI.mjs → chunk-L3DJN3XD.mjs} +1 -1
- package/dist/bin/core-chunks/{chunk-CEOTHJIY.mjs → chunk-LFOQ7FCR.mjs} +1 -1
- package/dist/bin/core-chunks/{chunk-XU3BQPBU.mjs → chunk-LGX2GM45.mjs} +1 -1
- package/dist/bin/core-chunks/chunk-LTKUTRRL.mjs +7 -0
- package/dist/bin/core-chunks/{chunk-BQKDJ3U6.mjs → chunk-LZILSE5H.mjs} +1 -1
- package/dist/bin/core-chunks/chunk-MPU3VM6Z.mjs +7 -0
- package/dist/bin/core-chunks/{chunk-INM5COWM.mjs → chunk-MXJF3FA7.mjs} +1 -1
- package/dist/bin/core-chunks/{chunk-VDXTMAMO.mjs → chunk-NNILF7R3.mjs} +1 -1
- package/dist/bin/core-chunks/{chunk-WZXUFSVT.mjs → chunk-O5VCBMEK.mjs} +1 -1
- package/dist/bin/core-chunks/{chunk-XYDLXF5A.mjs → chunk-OE27RFLJ.mjs} +1 -1
- package/dist/bin/core-chunks/{chunk-HEXSVBUP.mjs → chunk-OGM34Z6W.mjs} +1 -1
- package/dist/bin/core-chunks/{chunk-KKIJAEYU.mjs → chunk-OXKGN3HG.mjs} +1 -1
- package/dist/bin/core-chunks/{chunk-QLMZW4K7.mjs → chunk-PQTR6XVW.mjs} +1 -1
- package/dist/bin/core-chunks/{chunk-53ZPEZLU.mjs → chunk-Q7GJIU6D.mjs} +1 -1
- package/dist/bin/core-chunks/{chunk-IFLBZKKK.mjs → chunk-QWRPJARA.mjs} +1 -1
- package/dist/bin/core-chunks/{chunk-TGNZI4KF.mjs → chunk-STFUT7R7.mjs} +2 -2
- package/dist/bin/core-chunks/{chunk-IMQCXC3R.mjs → chunk-SUXIKMTS.mjs} +1 -1
- package/dist/bin/core-chunks/{chunk-WP5IU4W4.mjs → chunk-TOORPP6K.mjs} +1 -1
- package/dist/bin/core-chunks/{chunk-7QMBIMEX.mjs → chunk-UAYTDSYG.mjs} +3 -3
- package/dist/bin/core-chunks/{chunk-PPERWRFS.mjs → chunk-UNIBFM6J.mjs} +1 -1
- package/dist/bin/core-chunks/{chunk-5YSPND5J.mjs → chunk-UX2ORID4.mjs} +1 -1
- package/dist/bin/core-chunks/{chunk-3JD6KRNJ.mjs → chunk-VJCTTFKP.mjs} +1 -1
- package/dist/bin/core-chunks/chunk-W23JLJJZ.mjs +109 -0
- package/dist/bin/core-chunks/{chunk-DCVPNFS4.mjs → chunk-WCTVZQBG.mjs} +1 -1
- package/dist/bin/core-chunks/{chunk-GOIBJ7PV.mjs → chunk-WZ6W5ZQ5.mjs} +1 -1
- package/dist/bin/core-chunks/{chunk-XPRLQIVQ.mjs → chunk-X433BB6F.mjs} +1 -1
- package/dist/bin/core-chunks/{chunk-ZHTYSYZC.mjs → chunk-XBR63NJA.mjs} +1 -1
- package/dist/bin/core-chunks/{chunk-ZS7XJUPE.mjs → chunk-XJTEPHLC.mjs} +1 -1
- package/dist/bin/core-chunks/{chunk-K25HGTC3.mjs → chunk-XLAGA5B7.mjs} +1 -1
- package/dist/bin/core-chunks/{chunk-3USVY66O.mjs → chunk-XSZOHNL4.mjs} +1 -1
- package/dist/bin/core-chunks/{chunk-TTN2CFZC.mjs → chunk-XWLTEAGN.mjs} +1 -1
- package/dist/bin/core-chunks/{chunk-V3Y3G2DE.mjs → chunk-YOWW4LHK.mjs} +1 -1
- package/dist/bin/core-chunks/{chunk-P53YMOKR.mjs → chunk-YPLFWN62.mjs} +1 -1
- package/dist/bin/core-chunks/{chunk-ZQHSJ6FF.mjs → chunk-ZAUJWUUN.mjs} +3 -3
- package/dist/bin/core-chunks/{chunk-WSVMQYYU.mjs → chunk-ZQ2XH76U.mjs} +2 -2
- package/dist/bin/core-chunks/{chunk-RXXXA7Z6.mjs → chunk-ZSANMA7K.mjs} +1 -1
- package/dist/bin/core-chunks/{chunk-AJTBFIH2.mjs → chunk-ZZR3LXCK.mjs} +1 -1
- package/dist/bin/core-chunks/{cleanup-installs-WHXUGAHM.mjs → cleanup-installs-LD43GI4K.mjs} +1 -1
- package/dist/bin/core-chunks/{cloud-FFUJZLDV.mjs → cloud-RXHFZ7MX.mjs} +1 -1
- package/dist/bin/core-chunks/{code-SU7GCPH6.mjs → code-IYK65A62.mjs} +1 -1
- package/dist/bin/core-chunks/{codex-hooks-GOLMCL2Q.mjs → codex-hooks-N5UHKK5B.mjs} +1 -1
- package/dist/bin/core-chunks/{codex-mcp-K4X2UIQF.mjs → codex-mcp-G7WNAT6T.mjs} +1 -1
- package/dist/bin/core-chunks/{codex-skill-3HNVU4T4.mjs → codex-skill-IZNP76BJ.mjs} +1 -1
- package/dist/bin/core-chunks/{command-installer-XIQK2G6W.mjs → command-installer-4ENM4GZR.mjs} +1 -1
- package/dist/bin/core-chunks/{config-W3RHV3GK.mjs → config-UVF7YOR6.mjs} +1 -1
- package/dist/bin/core-chunks/{config-manager-QVFHXIKI.mjs → config-manager-QY73WM5U.mjs} +1 -1
- package/dist/bin/core-chunks/{context-4KGTUAC4.mjs → context-4GB6ICXK.mjs} +1 -1
- package/dist/bin/core-chunks/{context-DDHC7VIC.mjs → context-MPHOQPXF.mjs} +2 -2
- package/dist/bin/core-chunks/{context-checkpoint-4CEUPEVG.mjs → context-checkpoint-NBI5HKPV.mjs} +1 -1
- package/dist/bin/core-chunks/{context-tiers-4S6H22NP.mjs → context-tiers-NOKJ75QP.mjs} +1 -1
- package/dist/bin/core-chunks/{context7-service-AZWDYK5Z.mjs → context7-service-2MYRUNKY.mjs} +1 -1
- package/dist/bin/core-chunks/{core-PR5WEQCS.mjs → core-WMEHDCOK.mjs} +1 -1
- package/dist/bin/core-chunks/{crew-JQCG6NS3.mjs → crew-EYVSIX4L.mjs} +1 -1
- package/dist/bin/core-chunks/{cwd-changed-ODKZVSPB.mjs → cwd-changed-EUJZOBIC.mjs} +1 -1
- package/dist/bin/core-chunks/{daemon-2NQTBFVR.mjs → daemon-QARP3RVX.mjs} +1 -1
- package/dist/bin/core-chunks/{developer-profile-MRPBWL2K.mjs → developer-profile-2VSFJGCU.mjs} +1 -1
- package/dist/bin/core-chunks/{distill-MLDZG5RA.mjs → distill-ZF7WHGCZ.mjs} +1 -1
- package/dist/bin/core-chunks/doctor-heal-XFSVPSEY.mjs +7 -0
- package/dist/bin/core-chunks/{doctor-service-WXLB2FEE.mjs → doctor-service-6ZJBWIXR.mjs} +1 -1
- package/dist/bin/core-chunks/{dynasty-outcomes-H2O546OL.mjs → dynasty-outcomes-KDWIEA4Y.mjs} +1 -1
- package/dist/bin/core-chunks/{embeddings-7A5Z5I67.mjs → embeddings-354ZYFKX.mjs} +1 -1
- package/dist/bin/core-chunks/{enriched-recall-YXK7EIKH.mjs → enriched-recall-MKBOXB7M.mjs} +1 -1
- package/dist/bin/core-chunks/{eval-4YFUBFLV.mjs → eval-O4YD6YOV.mjs} +2 -2
- package/dist/bin/core-chunks/{format-5V6GF6JJ.mjs → format-SYVL4CV5.mjs} +1 -1
- package/dist/bin/core-chunks/{gemini-settings-ZTU3VQU3.mjs → gemini-settings-RGD7JLSP.mjs} +1 -1
- package/dist/bin/core-chunks/{grok-mcp-F3SRFMCW.mjs → grok-mcp-IE2RRRRW.mjs} +1 -1
- package/dist/bin/core-chunks/{grok-plugin-4CE2WUYI.mjs → grok-plugin-SSANHBS7.mjs} +1 -1
- package/dist/bin/core-chunks/{grok-skill-GLSBOOKW.mjs → grok-skill-7ZP7R7KO.mjs} +1 -1
- package/dist/bin/core-chunks/{guard-FJBJ6IAE.mjs → guard-RT7U3LJX.mjs} +1 -1
- package/dist/bin/core-chunks/{guards-LFUFKVVH.mjs → guards-AXH6V2IJ.mjs} +1 -1
- package/dist/bin/core-chunks/{harness-FN3HASSA.mjs → harness-V7J7WIT2.mjs} +2 -2
- package/dist/bin/core-chunks/{health-W2VWME7Z.mjs → health-TNB5OC37.mjs} +1 -1
- package/dist/bin/core-chunks/{help-I37I3V2R.mjs → help-P7EYELVK.mjs} +1 -1
- package/dist/bin/core-chunks/{hooks-service-C2P5DRCH.mjs → hooks-service-REI56DDC.mjs} +1 -1
- package/dist/bin/core-chunks/{install-XP4S6HWQ.mjs → install-FZQJJWT5.mjs} +2 -2
- package/dist/bin/core-chunks/{judgment-GJE332LF.mjs → judgment-G5KH6QFC.mjs} +2 -2
- package/dist/bin/core-chunks/{judgment-receipt-WT4EMCAV.mjs → judgment-receipt-GO6QEZQC.mjs} +1 -1
- package/dist/bin/core-chunks/{kimi-hooks-2UEUIKXV.mjs → kimi-hooks-TR6J3OVG.mjs} +1 -1
- package/dist/bin/core-chunks/{kimi-mcp-DJCXZ2JY.mjs → kimi-mcp-ETG7O6O5.mjs} +1 -1
- package/dist/bin/core-chunks/{land-cue-5USQ64MS.mjs → land-cue-3BUD3KJJ.mjs} +1 -1
- package/dist/bin/core-chunks/{land-rho-ISNVEPVC.mjs → land-rho-MCTQDPRH.mjs} +1 -1
- package/dist/bin/core-chunks/{land-synthesis-CHARJMUP.mjs → land-synthesis-MU4EZEYL.mjs} +1 -1
- package/dist/bin/core-chunks/{lean-L53CKZNH.mjs → lean-26BWCUOR.mjs} +1 -1
- package/dist/bin/core-chunks/{legacy-crew-sweep-2TLKJTHI.mjs → legacy-crew-sweep-G5UJT2PM.mjs} +2 -2
- package/dist/bin/core-chunks/{llm-XMH7WTHV.mjs → llm-KMVXVBHG.mjs} +1 -1
- package/dist/bin/core-chunks/{mcp-FLVIZBV2.mjs → mcp-BD5TOTCK.mjs} +1 -1
- package/dist/bin/core-chunks/{memory-dream-EJWI4FJO.mjs → memory-dream-6GFV2GXN.mjs} +1 -1
- package/dist/bin/core-chunks/{memory-export-27HTNNFI.mjs → memory-export-WJ4H7CFV.mjs} +1 -1
- package/dist/bin/core-chunks/{memory-index-BRZDZ2BY.mjs → memory-index-7NIU34EI.mjs} +1 -1
- package/dist/bin/core-chunks/{notification-KJ4FQJAW.mjs → notification-G654IX3O.mjs} +1 -1
- package/dist/bin/core-chunks/{notify-76B7AICZ.mjs → notify-EWYUBKGO.mjs} +1 -1
- package/dist/bin/core-chunks/{opencode-mcp-5YSIYDI3.mjs → opencode-mcp-L7NC77JF.mjs} +1 -1
- package/dist/bin/core-chunks/{pack-integrity-GXN67LJB.mjs → pack-integrity-X277OVRB.mjs} +1 -1
- package/dist/bin/core-chunks/{pack-manager-46SPIPPD.mjs → pack-manager-VN7F6R47.mjs} +1 -1
- package/dist/bin/core-chunks/package-R4FUTGOE.mjs +7 -0
- package/dist/bin/core-chunks/{pi-skill-SDHTUK3V.mjs → pi-skill-IZQEUILZ.mjs} +1 -1
- package/dist/bin/core-chunks/{planning-S3MYVWH6.mjs → planning-NOWLKZDS.mjs} +2 -2
- package/dist/bin/core-chunks/{post-edit-5YSNEMK7.mjs → post-edit-GTBY32JU.mjs} +1 -1
- package/dist/bin/core-chunks/{pre-bash-GLDILCRF.mjs → pre-bash-32ZOGNSP.mjs} +1 -1
- package/dist/bin/core-chunks/{pre-commit-U6HPPNIC.mjs → pre-commit-7TU2A7H4.mjs} +1 -1
- package/dist/bin/core-chunks/{pre-edit-PEYQA6P6.mjs → pre-edit-ASEWA5TS.mjs} +1 -1
- package/dist/bin/core-chunks/{pre-package-76JR5GLO.mjs → pre-package-ZTZACEBB.mjs} +1 -1
- package/dist/bin/core-chunks/{pre-search-5EHNUOP3.mjs → pre-search-MKDRFJSE.mjs} +1 -1
- package/dist/bin/core-chunks/{preferences-BTSYWYUM.mjs → preferences-KO5U2ELK.mjs} +1 -1
- package/dist/bin/core-chunks/{primitives-IXAYLX7U.mjs → primitives-GNUMBYOK.mjs} +1 -1
- package/dist/bin/core-chunks/{prjct-md-SUDFWDCS.mjs → prjct-md-BSFV7OQQ.mjs} +1 -1
- package/dist/bin/core-chunks/{product-KKGJ6MMF.mjs → product-GUHSUNIH.mjs} +1 -1
- package/dist/bin/core-chunks/{project-agent-surfaces-I2CUZUIN.mjs → project-agent-surfaces-BXCJJXB7.mjs} +1 -1
- package/dist/bin/core-chunks/{project-memory-GYLYIJQD.mjs → project-memory-L5MDZYST.mjs} +1 -1
- package/dist/bin/core-chunks/{project-style-evolution-5W25UPPN.mjs → project-style-evolution-HIMSJQQB.mjs} +1 -1
- package/dist/bin/core-chunks/prompt-47YP5JIR.mjs +25 -0
- package/dist/bin/core-chunks/{purge-5EPJV25P.mjs → purge-6SJKHKIY.mjs} +1 -1
- package/dist/bin/core-chunks/{registry-LK6IQ5UX.mjs → registry-YM2EYUXY.mjs} +1 -1
- package/dist/bin/core-chunks/{retention-S22T3SPT.mjs → retention-QSXWKE4H.mjs} +1 -1
- package/dist/bin/core-chunks/{retro-CLKOHAN6.mjs → retro-B2EBN4TA.mjs} +1 -1
- package/dist/bin/core-chunks/{review-risk-LLLBKUXT.mjs → review-risk-LBPY5M3K.mjs} +1 -1
- package/dist/bin/core-chunks/{safe-artifacts-RW5WQUUJ.mjs → safe-artifacts-PE2TMEZQ.mjs} +1 -1
- package/dist/bin/core-chunks/{sdd-HE7O6N5S.mjs → sdd-3WNZJ6FU.mjs} +1 -1
- package/dist/bin/core-chunks/{seed-JX7W53E5.mjs → seed-MMDJE2UO.mjs} +2 -2
- package/dist/bin/core-chunks/{self-heal-DFUEKNF3.mjs → self-heal-R5FBXEVQ.mjs} +1 -1
- package/dist/bin/core-chunks/{session-continuity-BFSW4OL6.mjs → session-continuity-OQDB5UYI.mjs} +1 -1
- package/dist/bin/core-chunks/{session-start-HVYUKJL2.mjs → session-start-FM6UL7MT.mjs} +1 -1
- package/dist/bin/core-chunks/{setup-GHS24ER5.mjs → setup-BL36ZWPW.mjs} +2 -2
- package/dist/bin/core-chunks/{setup-J4JFYT63.mjs → setup-V75BWRHU.mjs} +2 -2
- package/dist/bin/core-chunks/{shipping-I4D4AVTE.mjs → shipping-NZVM57JJ.mjs} +4 -4
- package/dist/bin/core-chunks/{signals-digest-V44KYN6Z.mjs → signals-digest-P5BG6MZF.mjs} +1 -1
- package/dist/bin/core-chunks/{skill-adherence-MHY4BZL4.mjs → skill-adherence-JE3N3Y67.mjs} +1 -1
- package/dist/bin/core-chunks/{spec-2XXPLHUZ.mjs → spec-VC3VTUI3.mjs} +3 -3
- package/dist/bin/core-chunks/{spec-context-inference-THFMXC7S.mjs → spec-context-inference-KOINWBC7.mjs} +1 -1
- package/dist/bin/core-chunks/{spec-service-I23KJKKP.mjs → spec-service-UZ53XL6X.mjs} +1 -1
- package/dist/bin/core-chunks/{spec-task-breakdown-HTG6ME6G.mjs → spec-task-breakdown-3Y7YXCIQ.mjs} +1 -1
- package/dist/bin/core-chunks/{stop-2H57XCGZ.mjs → stop-6SH36ULT.mjs} +3 -3
- package/dist/bin/core-chunks/{subagent-start-5LPASXOS.mjs → subagent-start-TVGBV2V2.mjs} +1 -1
- package/dist/bin/core-chunks/{subagent-stop-ANLSG3KN.mjs → subagent-stop-APWY6KMX.mjs} +1 -1
- package/dist/bin/core-chunks/{surface-attribution-WL7S53XX.mjs → surface-attribution-CQVM2SWY.mjs} +1 -1
- package/dist/bin/core-chunks/{task-service-FK7FC3PE.mjs → task-service-KFYL5NT4.mjs} +1 -1
- package/dist/bin/core-chunks/{tdd-NQDHU62B.mjs → tdd-P2PP4RR4.mjs} +1 -1
- package/dist/bin/core-chunks/{team-XZ4Q6UBV.mjs → team-WKAAOEFE.mjs} +1 -1
- package/dist/bin/core-chunks/{template-loader-33OVJ4G5.mjs → template-loader-H4FE37HV.mjs} +1 -1
- package/dist/bin/core-chunks/{uninstall-6NFON7FO.mjs → uninstall-W6EAUS7N.mjs} +1 -1
- package/dist/bin/core-chunks/{update-4IE6SA6M.mjs → update-PSHEJJI5.mjs} +2 -2
- package/dist/bin/core-chunks/{update-checker-FK7MWNWN.mjs → update-checker-LZCUPWQB.mjs} +1 -1
- package/dist/bin/core-chunks/{version-252QLBN2.mjs → version-B5DBRVGQ.mjs} +1 -1
- package/dist/bin/core-chunks/{watch-service-7ZERG7RC.mjs → watch-service-7V3O52TW.mjs} +1 -1
- package/dist/bin/core-chunks/weak-frontier-demo-ZCDTMYRO.mjs +7 -0
- package/dist/bin/core-chunks/{weak-model-mode-DH66XMD2.mjs → weak-model-mode-LOAPFJPQ.mjs} +1 -1
- package/dist/bin/core-chunks/{work-graph-JGJWE3AV.mjs → work-graph-ZNV7S6EU.mjs} +1 -1
- package/dist/bin/core-chunks/{work-scope-3LXOEIUX.mjs → work-scope-XXPUH6TU.mjs} +1 -1
- package/dist/bin/core-chunks/{workflow-FGJVLRQ3.mjs → workflow-XM77QYRF.mjs} +2 -2
- package/dist/bin/core-chunks/{workflows-reference-UWKRZ6BJ.mjs → workflows-reference-T7RH7IGJ.mjs} +1 -1
- package/dist/bin/core-chunks/{world-model-impact-RH5WH2B3.mjs → world-model-impact-FAGGNUGN.mjs} +1 -1
- package/dist/bin/hook-chunks/{agent-switch-7GOGG4KG.mjs → agent-switch-TAJWH2ZD.mjs} +1 -1
- package/dist/bin/hook-chunks/{analysis-UI2JRLJO.mjs → analysis-34WDLUXK.mjs} +2 -2
- package/dist/bin/hook-chunks/{auto-flush-JKIXTI2I.mjs → auto-flush-7TIEBPPQ.mjs} +1 -1
- package/dist/bin/hook-chunks/{capture-gate-DIPHPNIC.mjs → capture-gate-JFVGG7RB.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-XXVHUYL7.mjs → chunk-22CBVTZ3.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-ZH2MF7H7.mjs → chunk-3JOZN7YJ.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-Y7RDBMNC.mjs → chunk-4X3KUIXK.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-6RS7PNAN.mjs → chunk-5ALQBNIZ.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-IL36ER4U.mjs → chunk-5VPZI2ZF.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-FBEDUKMG.mjs → chunk-6EHYPQ5U.mjs} +1 -1
- package/dist/bin/hook-chunks/chunk-7H5UVM6X.mjs +9 -0
- package/dist/bin/hook-chunks/{chunk-IDPBMN3Q.mjs → chunk-A3R47SP6.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-UI25YRTY.mjs → chunk-CGAKJDKT.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-6LU777GI.mjs → chunk-CJY4Y5SO.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-WIA6ORIY.mjs → chunk-FSFURDAE.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-6WDRJ7J7.mjs → chunk-FTBBQHI4.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-25OGCQTR.mjs → chunk-G4VJKPG7.mjs} +3 -3
- package/dist/bin/hook-chunks/{chunk-PFORBQBF.mjs → chunk-GAJOSSB4.mjs} +2 -2
- package/dist/bin/hook-chunks/{chunk-KOLXYWOA.mjs → chunk-H3GIYI4Q.mjs} +2 -2
- package/dist/bin/hook-chunks/{chunk-B7MHIUFA.mjs → chunk-HRU2KNEB.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-JF6DFOQK.mjs → chunk-LCGWETJ6.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-PQJ64L6U.mjs → chunk-MG2DNP4Z.mjs} +1 -1
- package/dist/bin/hook-chunks/chunk-NGB6JNSB.mjs +18 -0
- package/dist/bin/hook-chunks/{chunk-AEDB75AK.mjs → chunk-OALZUWC6.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-IFIENAZU.mjs → chunk-PZMBZ6GE.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-F3PNT2DQ.mjs → chunk-QIB6Y6AH.mjs} +2 -2
- package/dist/bin/hook-chunks/{chunk-ZXON2U5F.mjs → chunk-QMNZPNVY.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-B2ZA5ZAO.mjs → chunk-R4YDE3GU.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-UBWUQ64A.mjs → chunk-RFKRKUHB.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-NMB6YSAH.mjs → chunk-RGOTJCZU.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-ANSRNEEI.mjs → chunk-T2KVL6PZ.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-HNZ24HIK.mjs → chunk-T7DRHVK3.mjs} +2 -2
- package/dist/bin/hook-chunks/{chunk-IHEOOJJT.mjs → chunk-TWFLW6OJ.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-ONGVBXBD.mjs → chunk-UJIOGFNP.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-NSTXHVTH.mjs → chunk-UK24P7PV.mjs} +2 -2
- package/dist/bin/hook-chunks/{chunk-63P5VOR6.mjs → chunk-ULNGKZB6.mjs} +4 -4
- package/dist/bin/hook-chunks/{chunk-UMJ5D5I6.mjs → chunk-UWHVPO6X.mjs} +2 -2
- package/dist/bin/hook-chunks/{chunk-A6LRNS6R.mjs → chunk-XC2BSGWF.mjs} +1 -1
- package/dist/bin/hook-chunks/{chunk-7PA4KPSR.mjs → chunk-ZPAY2NSF.mjs} +2 -2
- package/dist/bin/hook-chunks/{codex-skill-UZZCACMB.mjs → codex-skill-BFRU5FTP.mjs} +1 -1
- package/dist/bin/hook-chunks/{command-installer-FJ73C2ZW.mjs → command-installer-3XOZGKOQ.mjs} +1 -1
- package/dist/bin/hook-chunks/{config-manager-XDKOTIJM.mjs → config-manager-UPB7NEXF.mjs} +1 -1
- package/dist/bin/hook-chunks/{context7-service-NH4BMGSJ.mjs → context7-service-7VFXEQVN.mjs} +1 -1
- package/dist/bin/hook-chunks/{cwd-changed-STP3LH6Y.mjs → cwd-changed-USNJYUH7.mjs} +1 -1
- package/dist/bin/hook-chunks/{distill-63BHUJAC.mjs → distill-47YVL7IH.mjs} +1 -1
- package/dist/bin/hook-chunks/{enriched-recall-6F6LBYAB.mjs → enriched-recall-CVYI52NO.mjs} +1 -1
- package/dist/bin/hook-chunks/{format-VJ2YQ4XQ.mjs → format-DPIN45EG.mjs} +1 -1
- package/dist/bin/hook-chunks/{judgment-receipt-LSJCAYBT.mjs → judgment-receipt-G2DKQR7U.mjs} +1 -1
- package/dist/bin/hook-chunks/{land-cue-DEO2AZW4.mjs → land-cue-3JD2TXFP.mjs} +1 -1
- package/dist/bin/hook-chunks/{land-synthesis-GTMFIGDM.mjs → land-synthesis-5C4KGCTB.mjs} +1 -1
- package/dist/bin/hook-chunks/{legacy-crew-sweep-QPKU7ITU.mjs → legacy-crew-sweep-XQNXNZES.mjs} +2 -2
- package/dist/bin/hook-chunks/{memory-index-KCMXQGKX.mjs → memory-index-LL6SQJ2N.mjs} +1 -1
- package/dist/bin/hook-chunks/{notification-DX6ZHOUC.mjs → notification-ACQBRJG3.mjs} +1 -1
- package/dist/bin/hook-chunks/{pack-integrity-UMLIB5RQ.mjs → pack-integrity-DCXVRRJZ.mjs} +1 -1
- package/dist/bin/hook-chunks/{pack-manager-YXRK2TJ4.mjs → pack-manager-KYWKNYUY.mjs} +1 -1
- package/dist/bin/hook-chunks/{planning-JR7O5MYW.mjs → planning-KOU3XKWS.mjs} +2 -2
- package/dist/bin/hook-chunks/{post-edit-IPTVSRVG.mjs → post-edit-CK2MYQEN.mjs} +1 -1
- package/dist/bin/hook-chunks/{pre-bash-5WWTH36N.mjs → pre-bash-W5A5CTR3.mjs} +1 -1
- package/dist/bin/hook-chunks/{pre-commit-KZ5TNTPW.mjs → pre-commit-5Q24RM4S.mjs} +1 -1
- package/dist/bin/hook-chunks/{pre-edit-XHPYBXRU.mjs → pre-edit-YIJ4BCYL.mjs} +1 -1
- package/dist/bin/hook-chunks/{pre-package-U3HDW3SX.mjs → pre-package-O4RMVA4T.mjs} +1 -1
- package/dist/bin/hook-chunks/{pre-search-R5CRK66E.mjs → pre-search-WYOWC3D6.mjs} +1 -1
- package/dist/bin/hook-chunks/{prjct-md-IBQTJBK7.mjs → prjct-md-2UVHFYTJ.mjs} +1 -1
- package/dist/bin/hook-chunks/{project-agent-surfaces-TPZO73ZV.mjs → project-agent-surfaces-BKFYUMRV.mjs} +1 -1
- package/dist/bin/hook-chunks/{project-memory-YQLZX5RG.mjs → project-memory-OC5GTJPY.mjs} +1 -1
- package/dist/bin/hook-chunks/{project-style-evolution-NOFCIIZZ.mjs → project-style-evolution-2IFJCACQ.mjs} +1 -1
- package/dist/bin/hook-chunks/prompt-JIWMP563.mjs +26 -0
- package/dist/bin/hook-chunks/{purge-5W3K2MZL.mjs → purge-FQK3Z4QS.mjs} +1 -1
- package/dist/bin/hook-chunks/{retention-GWJ4AX7I.mjs → retention-2FETBJFG.mjs} +1 -1
- package/dist/bin/hook-chunks/{sdd-GWBRD4KI.mjs → sdd-V43TSJ2P.mjs} +1 -1
- package/dist/bin/hook-chunks/{session-continuity-VH645RGR.mjs → session-continuity-RO2ACICF.mjs} +1 -1
- package/dist/bin/hook-chunks/{session-start-4TYTI27B.mjs → session-start-FKKFMKQ5.mjs} +1 -1
- package/dist/bin/hook-chunks/{setup-VF4UHUBX.mjs → setup-YV2DKG5L.mjs} +2 -2
- package/dist/bin/hook-chunks/{shipping-2ULWBGRX.mjs → shipping-SCNFEXBY.mjs} +4 -4
- package/dist/bin/hook-chunks/{spec-context-inference-HVENYOIO.mjs → spec-context-inference-BD3ANTXA.mjs} +1 -1
- package/dist/bin/hook-chunks/{spec-service-4XGQQPGP.mjs → spec-service-OWYOAGXS.mjs} +2 -2
- package/dist/bin/hook-chunks/{spec-task-breakdown-JXF556UH.mjs → spec-task-breakdown-HOTLUFDM.mjs} +1 -1
- package/dist/bin/hook-chunks/{stop-NJDYIIXR.mjs → stop-MIXT7WXA.mjs} +3 -3
- package/dist/bin/hook-chunks/{subagent-start-2YMGD4SY.mjs → subagent-start-NO3TN65K.mjs} +1 -1
- package/dist/bin/hook-chunks/{subagent-stop-4TZJ2NSJ.mjs → subagent-stop-CKWIXX7W.mjs} +1 -1
- package/dist/bin/hook-chunks/{surface-attribution-UNK4J5W2.mjs → surface-attribution-BYESPLXM.mjs} +1 -1
- package/dist/bin/hook-chunks/{task-service-SPUES5DO.mjs → task-service-5ONSBKKP.mjs} +1 -1
- package/dist/bin/hook-chunks/{tdd-MYF7I5FS.mjs → tdd-SESB4IG3.mjs} +1 -1
- package/dist/bin/hook-chunks/{template-loader-4SYVR2UB.mjs → template-loader-KO67FVHO.mjs} +1 -1
- package/dist/bin/hook-chunks/{weak-model-mode-TYJJT6JJ.mjs → weak-model-mode-HPXBKXJT.mjs} +1 -1
- package/dist/bin/hook-chunks/{work-scope-A6XPENFE.mjs → work-scope-RNPGACPA.mjs} +1 -1
- package/dist/bin/prjct-core.mjs +3 -3
- package/dist/bin/prjct-hooks.mjs +1 -1
- package/dist/daemon/entry.mjs +591 -583
- package/dist/mcp/server.mjs +318 -312
- package/package.json +2 -1
- package/dist/bin/core-chunks/chunk-GDLAQV3Q.mjs +0 -14
- package/dist/bin/core-chunks/chunk-R7LLMJDP.mjs +0 -7
- package/dist/bin/core-chunks/chunk-UT425KVX.mjs +0 -10
- package/dist/bin/core-chunks/chunk-VILH3VYH.mjs +0 -103
- package/dist/bin/core-chunks/chunk-Y5SEUYET.mjs +0 -7
- package/dist/bin/core-chunks/doctor-heal-ZUZ2RHGY.mjs +0 -7
- package/dist/bin/core-chunks/package-DCGCOAGQ.mjs +0 -7
- package/dist/bin/core-chunks/prompt-SW5XDRMX.mjs +0 -23
- package/dist/bin/core-chunks/weak-frontier-demo-5C4FR3OA.mjs +0 -7
- package/dist/bin/hook-chunks/chunk-IWUF2LGO.mjs +0 -18
- package/dist/bin/hook-chunks/chunk-ZYCNW75E.mjs +0 -9
- package/dist/bin/hook-chunks/prompt-DJWONMTZ.mjs +0 -24
|
@@ -4,5 +4,5 @@ import { dirname as __pathDirname } from 'path';
|
|
|
4
4
|
const require = __createRequire(import.meta.url);
|
|
5
5
|
const __filename = __fileURLToPath(import.meta.url);
|
|
6
6
|
const __dirname = __pathDirname(__filename);
|
|
7
|
-
import{a as f}from"./chunk-NZKUCQZK.mjs";import{a as E}from"./chunk-
|
|
8
|
-
`);n.note(t,"Configuration Summary");let e=await n.confirm({message:"Generate configuration with these settings?",initialValue:!0});return n.isCancel(e)||!e?(n.isCancel(e)&&this.handleCancel(),!1):!0}handleCancel(){this.aborted=!0,n.cancel("Setup cancelled. Run again anytime.")}getProjectTypeLabel(t){return h.find(e=>e.value===t)?.title||"Unknown"}getAgentLabel(t){return C.find(e=>e.value===t)?.title||t}formatStackDisplay(t){let e=[t.language];return t.framework&&e.push(t.framework),t.runtime&&t.runtime!=="Node.js"&&e.push(t.runtime),t.technologies.length>0&&e.push(`+ ${t.technologies.slice(0,3).join(", ")}`),e.join(" / ")}buildResult(t){return{projectType:this.confirmedType,agents:this.selectedAgents,stack:this.confirmedStack,preferences:this.preferences,skipped:t}}getSelectedAgents(){return this.selectedAgents}getConfirmedStack(){return this.confirmedStack}getPreferences(){return this.preferences}};var j={current:null};async function L(){if(!j.current){let{AnalysisCommands:k}=await import("./analysis-
|
|
7
|
+
import{a as f}from"./chunk-NZKUCQZK.mjs";import{a as E}from"./chunk-5DZ2LTII.mjs";import{f as $}from"./chunk-FOWTB762.mjs";import{a as M}from"./chunk-6FUCOGOW.mjs";import"./chunk-6U3CYLY5.mjs";import{a as g}from"./chunk-QWRPJARA.mjs";import"./chunk-ACIOJQSI.mjs";import"./chunk-YOGI4WE6.mjs";import"./chunk-UYMZ3NAF.mjs";import{a as h,b as C,c as T,d as P,e as I}from"./chunk-4IE7LRH3.mjs";import"./chunk-X433BB6F.mjs";import"./chunk-EZRNQXCC.mjs";import"./chunk-B7AQHL7B.mjs";import"./chunk-L4TUXFCL.mjs";import{h as r}from"./chunk-ID2C2S33.mjs";import{a as W,b as A}from"./chunk-XSZOHNL4.mjs";import"./chunk-OIE3AKKO.mjs";import"./chunk-Q6C27OL7.mjs";import"./chunk-NXUIMC22.mjs";import"./chunk-JPMUJY42.mjs";import"./chunk-DZVOFEM5.mjs";import"./chunk-5EF5EOCL.mjs";import"./chunk-DMO3ZFUG.mjs";import"./chunk-NNOX3UU4.mjs";import"./chunk-INJ5WT2D.mjs";import{d as S}from"./chunk-IJNKHQIS.mjs";import{F as O,G as Y}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-OE27RFLJ.mjs";import"./chunk-FATYLG3L.mjs";import"./chunk-2EEMQV7N.mjs";import"./chunk-KPR5TWSN.mjs";import"./chunk-623SNKDH.mjs";import"./chunk-XWLTEAGN.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import{e as z,g as G}from"./chunk-225DWS4D.mjs";import{a as o}from"./chunk-3TRXQAU4.mjs";Y();G();import*as n from"@clack/prompts";import p from"chalk";var y=class{static{o(this,"OnboardingWizard")}projectPath;aborted=!1;detectedType="unknown";confirmedType="unknown";selectedAgents=[];detectedStack={language:"Unknown",technologies:[]};confirmedStack={language:"Unknown",technologies:[]};preferences={verbosity:"normal",autoSync:!0,telemetry:!1};constructor(t=process.cwd()){this.projectPath=t}async run(){n.intro(p.cyan.bold("\u26A1 prjct-cli setup"));let t=[{id:"project-type",title:"Project Type",run:o(()=>this.stepProjectType(),"run")},{id:"ai-agents",title:"AI Agents",run:o(()=>this.stepAIAgents(),"run")},{id:"stack",title:"Stack Confirmation",run:o(()=>this.stepStack(),"run")},{id:"preferences",title:"Preferences",run:o(()=>this.stepPreferences(),"run")},{id:"summary",title:"Summary",run:o(()=>this.stepSummary(),"run")}];for(let e of t)if(!await e.run()||this.aborted)return this.buildResult(!0);return n.outro(p.green("Setup complete!")),this.buildResult(!1)}async runNonInteractive(){r.spin("Auto-detecting project configuration..."),this.detectedType=await T(this.projectPath),this.confirmedType=this.detectedType;let t=await P(this.projectPath);return this.selectedAgents=t,this.detectedStack=await I(this.projectPath),this.confirmedStack=this.detectedStack,r.done("Configuration detected"),this.buildResult(!1)}async stepProjectType(){this.detectedType=await T(this.projectPath);let t=h.findIndex(i=>i.value===this.detectedType),e=await n.select({message:this.detectedType!=="unknown"?`Detected: ${this.getProjectTypeLabel(this.detectedType)}. Is this correct?`:"What type of project is this?",options:h.map(i=>({label:i.title,hint:i.description,value:i.value})),initialValue:t>=0?h[t].value:void 0});return n.isCancel(e)?(this.handleCancel(),!1):(this.confirmedType=e||this.detectedType,!0)}async stepAIAgents(){let t=await P(this.projectPath),e=C.map(a=>({label:a.title,hint:a.description,value:a.value})),i=await n.multiselect({message:"Which AI agents do you use?",options:e,initialValues:t,required:!0});return n.isCancel(i)?(this.handleCancel(),!1):(this.selectedAgents=i,!0)}async stepStack(){this.detectedStack=await I(this.projectPath);let t=this.formatStackDisplay(this.detectedStack);n.note(t,"Detected stack");let e=await n.confirm({message:"Is this stack correct?",initialValue:!0});if(n.isCancel(e))return this.handleCancel(),!1;if(e)this.confirmedStack=this.detectedStack;else{let i=await n.group({language:o(()=>n.text({message:"Primary language:",defaultValue:this.detectedStack.language}),"language"),framework:o(()=>n.text({message:"Framework (optional):",defaultValue:this.detectedStack.framework||""}),"framework")},{onCancel:o(()=>this.handleCancel(),"onCancel")});if(this.aborted)return!1;this.confirmedStack={...this.detectedStack,language:i.language||this.detectedStack.language,framework:i.framework||void 0}}return!0}async stepPreferences(){let t=await n.group({verbosity:o(()=>n.select({message:"Output verbosity:",options:[{label:"Minimal",hint:"Essential output only",value:"minimal"},{label:"Normal (Recommended)",hint:"Balanced information",value:"normal"},{label:"Verbose",hint:"Detailed logging",value:"verbose"}],initialValue:"normal"}),"verbosity"),autoSync:o(()=>n.confirm({message:"Auto-sync context on file changes?",initialValue:!0}),"autoSync")},{onCancel:o(()=>this.handleCancel(),"onCancel")});return this.aborted?!1:(this.preferences={verbosity:t.verbosity||"normal",autoSync:t.autoSync??!0,telemetry:!1},!0)}async stepSummary(){let t=[`${p.cyan("Project Type:")} ${this.getProjectTypeLabel(this.confirmedType)}`,`${p.cyan("AI Agents:")} ${this.selectedAgents.map(i=>this.getAgentLabel(i)).join(", ")}`,`${p.cyan("Stack:")} ${this.formatStackDisplay(this.confirmedStack)}`,`${p.cyan("Verbosity:")} ${this.preferences.verbosity}`,`${p.cyan("Auto-sync:")} ${this.preferences.autoSync?"Yes":"No"}`].join(`
|
|
8
|
+
`);n.note(t,"Configuration Summary");let e=await n.confirm({message:"Generate configuration with these settings?",initialValue:!0});return n.isCancel(e)||!e?(n.isCancel(e)&&this.handleCancel(),!1):!0}handleCancel(){this.aborted=!0,n.cancel("Setup cancelled. Run again anytime.")}getProjectTypeLabel(t){return h.find(e=>e.value===t)?.title||"Unknown"}getAgentLabel(t){return C.find(e=>e.value===t)?.title||t}formatStackDisplay(t){let e=[t.language];return t.framework&&e.push(t.framework),t.runtime&&t.runtime!=="Node.js"&&e.push(t.runtime),t.technologies.length>0&&e.push(`+ ${t.technologies.slice(0,3).join(", ")}`),e.join(" / ")}buildResult(t){return{projectType:this.confirmedType,agents:this.selectedAgents,stack:this.confirmedStack,preferences:this.preferences,skipped:t}}getSelectedAgents(){return this.selectedAgents}getConfirmedStack(){return this.confirmedStack}getPreferences(){return this.preferences}};var j={current:null};async function L(){if(!j.current){let{AnalysisCommands:k}=await import("./analysis-OARMM4AH.mjs");j.current=new k}return j.current}o(L,"getAnalysisCommands");var N=class extends E{static{o(this,"PlanningCommands")}async _hintCommittedMemoryExport(t){try{let e=await import("node:fs/promises"),a=(await import("node:path")).join(t,".prjct","memory-export","manifest.json"),c=JSON.parse(await e.readFile(a,"utf-8"));c?.entries&&c.entries>0&&r.info(`\u{1F4E6} This repo ships ${c.entries} team memories (.prjct/memory-export/). Load them: prjct memory import`)}catch{}}async init(t={},e=process.cwd()){try{let i=typeof t=="string"||t===null?{idea:t}:t;if(await this.initializeAgent(),await A.isConfigured(e))return r.warn("already initialized"),{success:!1,message:"Already initialized"};let c=process.stdout.isTTY&&process.stdin.isTTY,s=i.yes||!c||process.env.CI==="true"?c&&i.yes?await new y(e).runNonInteractive():null:await new y(e).run();if(s?.skipped)return{success:!1,message:"Setup cancelled"};r.step(1,4,"Detecting author...");let u=await W(),R={name:u.name||void 0,email:u.email||void 0,github:u.github||void 0},d=(await A.createConfig(e,R)).projectId;await this._applyInitialPacksAndPersona(e,i),r.step(2,4,"Creating structure..."),await O.ensureProjectStructure(d),await this._seedShipWorkflow(d,e);let m=await this._detectEmptyDirectory(e),D=await this._detectExistingCode(e);if(D||!m){r.step(3,4,"Analyzing project...");let w=await L();if((await w.analyze({},e)).success){r.step(4,4,"Generating agents..."),await w.sync(e);let b=await g(e,{agents:await this._agentSelections(s,e),explicit:!0}).catch(()=>null);return r.done("initialized"),await this._hintCommittedMemoryExport(e),this._printNextSteps(s,b??void 0),{success:!0,mode:"existing",projectId:d,wizard:s}}}let v=i.idea;if(m&&!D){if(!v){await S.installGlobalConfig();let b=await g(e,{agents:await this._agentSelections(s,e),explicit:!0}).catch(()=>null);return r.done("blank project - provide idea for architect mode"),this._printNextSteps(s,b??void 0),{success:!0,mode:"blank_no_idea",projectId:d,wizard:s}}r.spin("architect mode...");let{projectMemory:w}=await import("./project-memory-L5MDZYST.mjs");await w.remember(e,{type:"idea",content:v,tags:{source:"architect-init",status:"awaiting-stack-recommendation"},source:"architect-init"}),await S.installGlobalConfig();let _=await g(e,{agents:await this._agentSelections(s,e),explicit:!0}).catch(()=>null);return r.done("architect mode ready"),this._printNextSteps(s,_??void 0),{success:!0,mode:"architect",projectId:d,idea:v,wizard:s}}await S.installGlobalConfig();let V=await g(e,{agents:await this._agentSelections(s,e),explicit:!0}).catch(()=>null);return r.done("initialized"),this._printNextSteps(s,V??void 0),{success:!0,projectId:d,wizard:s}}catch(i){return r.fail(z(i)),$(i)}}async quickstart(t={},e=process.cwd()){let i=t.pack??"code,daily",a=await this.init({...t,yes:!0,pack:i},e);return!a.success&&a.message!=="Already initialized"?a:(console.log(""),console.log(" \u2500\u2500 quickstart ready \u2500\u2500"),console.log(" 1. Open your coding agent in this repo (Claude / Codex / Cursor / Grok)."),console.log(" 2. Say what to build \u2014 the agent runs `prjct work` for you."),console.log(" 3. Team brain without cloud: `prjct memory export` \u2192 commit \u2192 clone \u2192 import."),console.log(""),{...a,success:!0})}_printNextSteps(t,e){console.log(""),console.log(" \u2713 global prjct router refreshed where supported"),e?.claudeMd&&e.claudeMd.action!=="unchanged"&&console.log(" \u2713 project CLAUDE.md updated with routing block"),e?.agentsMd&&e.agentsMd.action!=="unchanged"&&console.log(" \u2713 project AGENTS.md updated with universal routing block"),(e?.ideRules.length??0)>0&&console.log(` \u2713 project IDE rules updated: ${e?.ideRules.join(", ")}`),console.log(""),console.log(" You don't run prjct commands. Your AI coding agent does."),console.log(""),console.log(" Just describe what you're doing \u2014 the agent reads the intent and"),console.log(" runs the right verb. Routine captures (decision, learning,"),console.log(" gotcha, idea) save automatically; ship and other destructive"),console.log(" verbs surface a one-line plan and wait for your OK."),console.log(""),console.log(" If you want to drive manually:"),console.log(" prjct sync Refresh context + skill body"),console.log(" prjct work Start a work cycle"),console.log(" prjct land Session-close checklist"),console.log(" prjct memory export Git-share team memory"),console.log(""),t&&t.agents.length>0&&(console.log(` Detected agents: ${t.agents.join(", ")}`),console.log("")),console.log(" Docs: https://prjct.app/docs"),console.log("")}async _agentSelections(t,e){if(t)return t.agents;try{let{detectInstalledAgents:i}=await import("./detection-KKDZYWVD.mjs");return i(e)}catch{return[]}}async _applyInitialPacksAndPersona(t,e){let{activatePacks:i,detectSuggestedPacks:a}=await import("./pack-manager-VN7F6R47.mjs"),c=e.pack?e.pack.split(",").map(l=>l.trim()).filter(Boolean):e.persona?[]:await a(t);if(c.length>0&&await i(t,c,{suggestPersona:!0}),e.persona){let l=(await import("./config-manager-QY73WM5U.mjs")).default,s=await l.readConfig(t);if(s){let u=s.persona??{role:e.persona};u.role=e.persona,await l.writeConfig(t,{...s,persona:u})}}}async _resolveInitialPrConvention(t,e){let{detectPrConventionSignal:i,defaultPrConventionFor:a}=await import("./pr-convention-37YHTUKM.mjs"),{customWorkflowStorage:c}=await import("./custom-workflow-storage-EBEIG54R.mjs"),l=await i(e),s=a(l),u=!!(process.stdout.isTTY&&process.stdin.isTTY),x=(l.kind==="github-ambiguous"&&u?await(async()=>{let d=await import("@clack/prompts"),m=await d.confirm({message:"This project ships to GitHub with no PR template. Should ship open/update the PR automatically?",initialValue:!0});return d.isCancel(m)?null:m?"auto":"manual"})():null)??s;c.updateWorkflow(t,"ship",{metadata:{prConvention:x}})}async _seedShipWorkflow(t,e){let i=await M(e);await this._resolveInitialPrConvention(t,e);let{seedCodeShipRules:a}=await import("./shipping-NZVM57JJ.mjs");await a(t,e);let c=f.getRulesForCommand(t,"ship").reduce((l,s)=>Math.max(l,s.sortOrder??0),0)+1;f.addRule(t,{type:"gate",command:"ship",position:"before",action:'git branch --show-current | grep -vE "^(main|master)$"',description:"Prevent shipping from main branch",enabled:!0,timeoutMs:5e3,sortOrder:c,createdAt:new Date().toISOString()}),i.lint&&f.addRule(t,{type:"step",command:"ship",position:"before",action:`${i.lint.command} || true`,description:"Lint code",enabled:!0,timeoutMs:12e4,sortOrder:c+1,createdAt:new Date().toISOString()}),i.test&&f.addRule(t,{type:"step",command:"ship",position:"before",action:`${i.test.command} || true`,description:"Run tests",enabled:!0,timeoutMs:3e5,sortOrder:c+(i.lint?2:1),createdAt:new Date().toISOString()})}};export{N as PlanningCommands};
|
|
@@ -4,4 +4,4 @@ import { dirname as __pathDirname } from 'path';
|
|
|
4
4
|
const require = __createRequire(import.meta.url);
|
|
5
5
|
const __filename = __fileURLToPath(import.meta.url);
|
|
6
6
|
const __dirname = __pathDirname(__filename);
|
|
7
|
-
import{a}from"./chunk-MCY7OXED.mjs";import"./chunk-YQ6HM3YO.mjs";import"./chunk-XLFEWZRA.mjs";import{a as e}from"./chunk-
|
|
7
|
+
import{a}from"./chunk-MCY7OXED.mjs";import"./chunk-YQ6HM3YO.mjs";import"./chunk-XLFEWZRA.mjs";import{a as e}from"./chunk-X433BB6F.mjs";import"./chunk-EZRNQXCC.mjs";import"./chunk-B7AQHL7B.mjs";import"./chunk-L4TUXFCL.mjs";import{b as n}from"./chunk-XSZOHNL4.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-VWFVSNQT.mjs";import"./chunk-U24YKPYX.mjs";import"./chunk-D62TAZG6.mjs";import"./chunk-623SNKDH.mjs";import"./chunk-XWLTEAGN.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import"./chunk-225DWS4D.mjs";import{a as o}from"./chunk-3TRXQAU4.mjs";function u(f=process.cwd(),c){return a({event:"PostToolUse",projectPath:f,afterEmit:o(async(t,r)=>{let i=t.tool_input?.file_path;if(!(!i||!(await n.readConfig(r))?.projectId))try{await e.log(r,"post_edit",{file:i,tool:t.tool_name??"unknown"})}catch{}},"afterEmit")},c)}o(u,"runPostEditHook");export{u as runPostEditHook};
|
|
@@ -4,7 +4,7 @@ import { dirname as __pathDirname } from 'path';
|
|
|
4
4
|
const require = __createRequire(import.meta.url);
|
|
5
5
|
const __filename = __fileURLToPath(import.meta.url);
|
|
6
6
|
const __dirname = __pathDirname(__filename);
|
|
7
|
-
import{a as k}from"./chunk-PWL3KS7Y.mjs";import{c as l}from"./chunk-C35JQUWD.mjs";import{a as m,c as p}from"./chunk-
|
|
7
|
+
import{a as k}from"./chunk-PWL3KS7Y.mjs";import{c as l}from"./chunk-C35JQUWD.mjs";import{a as m,c as p}from"./chunk-ZZR3LXCK.mjs";import{a as d}from"./chunk-Q7GJIU6D.mjs";import{a as u}from"./chunk-MCY7OXED.mjs";import"./chunk-YQ6HM3YO.mjs";import"./chunk-YOGI4WE6.mjs";import"./chunk-BUD3R6LF.mjs";import"./chunk-ZQ2XH76U.mjs";import"./chunk-B2HY22OD.mjs";import"./chunk-XLFEWZRA.mjs";import"./chunk-X433BB6F.mjs";import"./chunk-EZRNQXCC.mjs";import"./chunk-B7AQHL7B.mjs";import"./chunk-L4TUXFCL.mjs";import"./chunk-RACISWUV.mjs";import"./chunk-DIEPWXJJ.mjs";import"./chunk-NINFE7GS.mjs";import"./chunk-UNNY2IWZ.mjs";import"./chunk-XSZOHNL4.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-XWLTEAGN.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import"./chunk-225DWS4D.mjs";import{a as r}from"./chunk-3TRXQAU4.mjs";var s=new WeakMap;function f(e){let o=e.tool_input??e.toolInput;return o&&typeof o.command=="string"?o.command:typeof e.command=="string"?e.command:o&&typeof o.command_line=="string"?o.command_line:""}r(f,"extractCommand");function y(e){let o=f(e),t=o?l(o):null;return t?{deny:t}:null}r(y,"decideBroadProcessTermination");function g(e,o){let t=o,n=s.get(t);if(n)return n;let a=d(e,o);return s.set(t,a),a}r(g,"evaluatePackageOnce");function x(e=process.cwd(),o){return u({event:"PreToolUse",projectPath:e,decide:r(async(t,n)=>{try{let a=k(t);if(a)return a;let c=y(t);if(c)return c;let i=await g(n,t);return i?.strict?{deny:i.message}:null}catch{return null}},"decide"),build:r(async(t,n)=>{try{let[a,c]=await Promise.all([p(t)?m(n):null,g(n,t)]),i=c&&!c.strict?`# prjct: package legitimacy (advisory)
|
|
8
8
|
${c.message}`:null;return[a,i].filter(Boolean).join(`
|
|
9
9
|
|
|
10
10
|
`)||null}catch{return null}finally{s.delete(t)}},"build")},o)}r(x,"runPreBashHook");export{y as decideBroadProcessTermination,x as runPreBashHook};
|
|
@@ -4,4 +4,4 @@ import { dirname as __pathDirname } from 'path';
|
|
|
4
4
|
const require = __createRequire(import.meta.url);
|
|
5
5
|
const __filename = __fileURLToPath(import.meta.url);
|
|
6
6
|
const __dirname = __pathDirname(__filename);
|
|
7
|
-
import{a,b,c}from"./chunk-
|
|
7
|
+
import{a,b,c}from"./chunk-ZZR3LXCK.mjs";import"./chunk-MCY7OXED.mjs";import"./chunk-YQ6HM3YO.mjs";import"./chunk-BUD3R6LF.mjs";import"./chunk-ZQ2XH76U.mjs";import"./chunk-B2HY22OD.mjs";import"./chunk-XLFEWZRA.mjs";import"./chunk-X433BB6F.mjs";import"./chunk-EZRNQXCC.mjs";import"./chunk-B7AQHL7B.mjs";import"./chunk-L4TUXFCL.mjs";import"./chunk-DIEPWXJJ.mjs";import"./chunk-UNNY2IWZ.mjs";import"./chunk-XSZOHNL4.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-XWLTEAGN.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import"./chunk-225DWS4D.mjs";import"./chunk-3TRXQAU4.mjs";export{a as buildPreCommitContext,c as isCommitInput,b as runPreCommitHook};
|
|
@@ -4,5 +4,5 @@ import { dirname as __pathDirname } from 'path';
|
|
|
4
4
|
const require = __createRequire(import.meta.url);
|
|
5
5
|
const __filename = __fileURLToPath(import.meta.url);
|
|
6
6
|
const __dirname = __pathDirname(__filename);
|
|
7
|
-
import{a as L,b as O}from"./chunk-BTSHD3XJ.mjs";import{a as D}from"./chunk-PWL3KS7Y.mjs";import{a as x}from"./chunk-VRFYDYQY.mjs";import{a as F}from"./chunk-MCY7OXED.mjs";import{i as g}from"./chunk-YQ6HM3YO.mjs";import{a as A}from"./chunk-
|
|
7
|
+
import{a as L,b as O}from"./chunk-BTSHD3XJ.mjs";import{a as D}from"./chunk-PWL3KS7Y.mjs";import{a as x}from"./chunk-VRFYDYQY.mjs";import{a as F}from"./chunk-MCY7OXED.mjs";import{i as g}from"./chunk-YQ6HM3YO.mjs";import{a as A}from"./chunk-LGX2GM45.mjs";import{b as j}from"./chunk-WCTVZQBG.mjs";import{a as M,b as S,d as $,e as H,f as y,h as b,i as p}from"./chunk-CA2VFWFP.mjs";import"./chunk-F2FKQUYE.mjs";import{e as C,f as _,g as w}from"./chunk-BUD3R6LF.mjs";import"./chunk-ZQ2XH76U.mjs";import{b as E}from"./chunk-B2HY22OD.mjs";import"./chunk-XLFEWZRA.mjs";import"./chunk-X433BB6F.mjs";import"./chunk-EZRNQXCC.mjs";import{b as k}from"./chunk-EHVU2SMR.mjs";import"./chunk-HPCSSJXH.mjs";import"./chunk-E5QQDYBR.mjs";import"./chunk-B7AQHL7B.mjs";import"./chunk-L4TUXFCL.mjs";import"./chunk-RACISWUV.mjs";import"./chunk-DIEPWXJJ.mjs";import"./chunk-NINFE7GS.mjs";import"./chunk-UNNY2IWZ.mjs";import{b as h}from"./chunk-XSZOHNL4.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-XWLTEAGN.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import"./chunk-225DWS4D.mjs";import{a as s}from"./chunk-3TRXQAU4.mjs";import{createHash as N}from"node:crypto";var I=1200,T=new Map,v=new Map;function V(t,n,o,r){let e=`${t}\0${n}\0${o}`,i=N("sha1").update(r.map(l=>l.id).join("\0")).digest("hex");return v.get(e)===i?!0:(v.size>64&&v.clear(),v.set(e,i),!1)}s(V,"headsUpAlreadyShown");function U(t,n){let o=`${t}\0${n}`,r=T.get(o);if(r)return r;let e=(()=>{try{return E.recallForFile(t,n,S,{preventiveOnly:!0})}catch{return[]}})();return T.set(o,e),e}s(U,"recallPreventiveOnce");function R(){T.clear()}s(R,"clearPreventiveCache");function W(t,n){let o=O(n,t.map(e=>({id:e.id,type:C(e),title:`${w(e)} \u2014 ${_(e.content)}`})));if(o)return g(o,I);let r=[`# prjct: heads-up before editing \`${n}\``,""];r.push(`${t.length} preventive memory entr${t.length===1?"y":"ies"} recorded against this file:`),r.push("");for(let e of t)r.push(`- **[${C(e)}] ${w(e)}** \u2014 ${_(e.content)} \`${e.id}\``);return r.push(""),r.push("> Nudge, not block. Apply if it still holds; proceed if not."),g(r.join(`
|
|
8
8
|
`),I)}s(W,"headsUpMessage");async function z(t,n,o){let r=Date.now(),e=await h.readConfig(t);if(!e?.projectId)return null;let i=U(e.projectId,n);if(p(r)||i.length===0)return null;A(e.projectId,t,i.map(a=>a.id));let l=j(e),f=H(e.projectId),m=b(i),c=n.split("/").pop()??n,d=$({mode:l,candidates:m,overriddenIds:f,fileLabel:c});if(p(r))return null;try{let a=await k.getCurrentTask(e.projectId),u=L({harnessLevel:a?.harness?.level??null,candidates:m,overriddenIds:f,fileLabel:c});if(u.action==="warn"&&u.message)return g(u.message,I)}catch{}return d.action==="warn"&&d.message?(y(t,e.projectId,"warn",d.memoryIds,d.reason),g(d.message,I)):l==="off"||d.action==="none"||i.length>0?V(e.projectId,o,n,i)?null:W(i,c):null}s(z,"buildPreEditContext");async function B(t,n){let o=Date.now();try{let r=await h.readConfig(t);if(!r?.projectId)return null;let e=await k.getCurrentTask(r.projectId);if(r.maxTurnsPerCycle){let u=x(r,e);if(u.stopped)return{deny:u.message}}if(!n||p(o,M))return null;let i=U(r.projectId,n);if(i.length===0||p(o,M))return null;let l=H(r.projectId),f=n.split("/").pop()??n,m=b(i),c=L({harnessLevel:e?.harness?.level??null,candidates:m,overriddenIds:l,fileLabel:f});if(c.action==="deny"&&c.message)return y(t,r.projectId,"deny",c.memoryIds,c.reason),{deny:c.message};let d=j(r);if(d!=="strict")return null;let a=$({mode:d,candidates:m,overriddenIds:l,fileLabel:f});return a.action==="deny"&&a.message?(y(t,r.projectId,"deny",a.memoryIds,a.reason),{deny:a.message}):null}catch{return null}}s(B,"decideHardStop");function ie(t=process.cwd(),n){return F({event:"PreToolUse",projectPath:t,decide:s(async(o,r)=>{R();let e=D(o);return e||B(r,o.tool_input?.file_path?.trim())},"decide"),build:s(async(o,r)=>{try{let e=o.tool_input?.file_path?.trim();return e?z(r,e,o.session_id?.trim()||o.conversation_id?.trim()||"unknown"):null}finally{R()}},"build")},n)}s(ie,"runPreEditHook");export{ie as runPreEditHook};
|
|
@@ -4,4 +4,4 @@ import { dirname as __pathDirname } from 'path';
|
|
|
4
4
|
const require = __createRequire(import.meta.url);
|
|
5
5
|
const __filename = __fileURLToPath(import.meta.url);
|
|
6
6
|
const __dirname = __pathDirname(__filename);
|
|
7
|
-
import{a,b}from"./chunk-
|
|
7
|
+
import{a,b}from"./chunk-Q7GJIU6D.mjs";import"./chunk-MCY7OXED.mjs";import"./chunk-YQ6HM3YO.mjs";import"./chunk-XLFEWZRA.mjs";import"./chunk-RACISWUV.mjs";import"./chunk-DIEPWXJJ.mjs";import"./chunk-NINFE7GS.mjs";import"./chunk-XSZOHNL4.mjs";import"./chunk-OIE3AKKO.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-623SNKDH.mjs";import"./chunk-XWLTEAGN.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import"./chunk-225DWS4D.mjs";import"./chunk-3TRXQAU4.mjs";export{a as evaluatePrePackageInput,b as runPrePackageHook};
|
|
@@ -4,5 +4,5 @@ import { dirname as __pathDirname } from 'path';
|
|
|
4
4
|
const require = __createRequire(import.meta.url);
|
|
5
5
|
const __filename = __fileURLToPath(import.meta.url);
|
|
6
6
|
const __dirname = __pathDirname(__filename);
|
|
7
|
-
import{a as d}from"./chunk-MCY7OXED.mjs";import{i as g}from"./chunk-YQ6HM3YO.mjs";import{g as f,j as p}from"./chunk-QZ7T2EYR.mjs";import"./chunk-XLFEWZRA.mjs";import{b as u}from"./chunk-
|
|
7
|
+
import{a as d}from"./chunk-MCY7OXED.mjs";import{i as g}from"./chunk-YQ6HM3YO.mjs";import{g as f,j as p}from"./chunk-QZ7T2EYR.mjs";import"./chunk-XLFEWZRA.mjs";import{b as u}from"./chunk-XSZOHNL4.mjs";import"./chunk-OIE3AKKO.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-623SNKDH.mjs";import"./chunk-XWLTEAGN.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import"./chunk-225DWS4D.mjs";import{a as l}from"./chunk-3TRXQAU4.mjs";var _=900,h=80,b=8;function m(e){let o=e.tool_input?.pattern??e.tool_input?.query??e.tool_input?.glob??"";if(!o||typeof o!="string")return null;let t=o.match(/[A-Za-z_][A-Za-z0-9_]{2,}/g);if(!t||t.length===0)return null;t.sort((n,s)=>s.length-n.length);let r=new Set(["the","and","for","from","import","export","function","class","const","type","interface","return","async","await","true","false","null","undefined","test","describe","src","core","node","modules"]);for(let n of t)if(!r.has(n.toLowerCase()))return n;return t[0]??null}l(m,"extractToken");async function k(e,o){let t=Date.now();try{let r=(o.tool_name??"").toLowerCase();if(r&&!/grep|glob|search/i.test(r))return null;let n=m(o);if(!n)return null;let s=await u.readConfig(e);if(!s?.projectId||!f(s.projectId)||Date.now()-t>h)return null;let a=p(s.projectId,n,{limit:b});if(a.length===0||Date.now()-t>h)return null;let c=["# prjct code graph (non-blocking)","",`Grep/Glob token \`${n}\` matches indexed symbols \u2014 prefer these before more tree walks:`,""];for(let i of a)c.push(`- **${i.name}** (${i.kind}${i.exported?", exported":""}) \u2014 \`${i.file}:${i.startLine}\``);return c.push(""),c.push(`> Expand: \`prjct code trace ${n}\` or MCP \`prjct_trace_path\`. This inject never blocks the tool.`),g(c.join(`
|
|
8
8
|
`),_)}catch{return null}}l(k,"buildSearchAugment");async function x(e,o){await d({event:"PreToolUse",projectPath:e,build:l((t,r)=>k(r,t),"build")},o)}l(x,"runPreSearchHook");var j={extractToken:m,buildSearchAugment:k};export{j as _internal,x as runPreSearchHook};
|
|
@@ -4,7 +4,7 @@ import { dirname as __pathDirname } from 'path';
|
|
|
4
4
|
const require = __createRequire(import.meta.url);
|
|
5
5
|
const __filename = __fileURLToPath(import.meta.url);
|
|
6
6
|
const __dirname = __pathDirname(__filename);
|
|
7
|
-
import{b as h}from"./chunk-
|
|
7
|
+
import{b as h}from"./chunk-J6Y7IVFQ.mjs";import"./chunk-UAYTDSYG.mjs";import"./chunk-NNILF7R3.mjs";import"./chunk-NZKUCQZK.mjs";import"./chunk-H2KNJUPN.mjs";import{a as I}from"./chunk-5DZ2LTII.mjs";import{e as $}from"./chunk-FOWTB762.mjs";import"./chunk-6FUCOGOW.mjs";import"./chunk-6U3CYLY5.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-CB3CNJTL.mjs";import"./chunk-LZILSE5H.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-BUD3R6LF.mjs";import"./chunk-ZQ2XH76U.mjs";import"./chunk-B2HY22OD.mjs";import"./chunk-XLFEWZRA.mjs";import"./chunk-X433BB6F.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 i}from"./chunk-ID2C2S33.mjs";import"./chunk-RACISWUV.mjs";import"./chunk-DIEPWXJJ.mjs";import"./chunk-NINFE7GS.mjs";import"./chunk-UNNY2IWZ.mjs";import"./chunk-XSZOHNL4.mjs";import"./chunk-OIE3AKKO.mjs";import"./chunk-Q6C27OL7.mjs";import"./chunk-NXUIMC22.mjs";import"./chunk-DZVOFEM5.mjs";import"./chunk-5EF5EOCL.mjs";import{g as d,i as k}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-TIBYHZFA.mjs";import"./chunk-VWFVSNQT.mjs";import"./chunk-U24YKPYX.mjs";import"./chunk-D62TAZG6.mjs";import"./chunk-KPR5TWSN.mjs";import"./chunk-623SNKDH.mjs";import"./chunk-XWLTEAGN.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import{e as m,g as q}from"./chunk-225DWS4D.mjs";import{a}from"./chunk-3TRXQAU4.mjs";k();var P="prefs:questions",E=["always-ask","never-ask","auto-decide"];function g(){return{version:1,entries:{}}}a(g,"emptyDoc");function l(o){let r=d.getDoc(o,P);return!r||r.version!==1||typeof r.entries!="object"||r.entries===null?g():r}a(l,"read");function p(o,r){d.setDoc(o,P,r)}a(p,"write");function u(o){return/^[a-zA-Z0-9_-]+$/.test(o)&&o.length>0&&o.length<=80}a(u,"isValidQuestionId");function v(o){return E.includes(o)}a(v,"isValidPreference");var f={set(o,r){if(!u(r.questionId))throw new Error(`Invalid questionId "${r.questionId}". Must be alphanumeric with - or _, 1-80 chars.`);let t={questionId:r.questionId,preference:r.preference,setAt:new Date().toISOString(),reason:r.reason?.trim()||void 0},s=l(o);return s.entries[r.questionId]=t,p(o,s),t},get(o,r){return l(o).entries[r]??null},list(o){let r=l(o);return Object.values(r.entries).sort((t,s)=>s.setAt.localeCompare(t.setAt))},check(o,r){let t=this.get(o,r);if(!t)return"ASK_NORMALLY";switch(t.preference){case"never-ask":return"NEVER_ASK";case"auto-decide":return"AUTO_DECIDE";default:return"ASK_NORMALLY"}},clear(o,r){let t=l(o);if(!r){let s=Object.keys(t.entries).length;return p(o,g()),s}return t.entries[r]?(delete t.entries[r],p(o,t),1):0}};q();var y=class extends I{static{a(this,"PreferencesCommands")}async prefs(r,t=process.cwd(),s={}){try{let e=await h(t);if(!e.ok)return e.result;let n=r[0]??"list",c=r.slice(1);switch(n){case"list":return this.handleList(e.value,s);case"get":return this.handleGet(e.value,c,s);case"check":return this.handleCheck(e.value,c);case"set":return this.handleSet(e.value,c,s);case"clear":return this.handleClear(e.value,c,s);default:return i.fail(`Unknown prefs subcommand: ${n}. Use: list, get, check, set, clear.`),{success:!1,error:`Unknown subcommand: ${n}`}}}catch(e){let n=m(e);return $(n)}}handleList(r,t){let s=f.list(r);if(t.md)if(s.length===0)console.log(`## Question preferences
|
|
8
8
|
|
|
9
9
|
_No preferences set._
|
|
10
10
|
`);else{let e=s.map(n=>`| ${n.questionId} | ${n.preference} | ${n.setAt} | ${n.reason?n.reason.replaceAll("|","\\|"):""} |`).join(`
|
|
@@ -4,7 +4,7 @@ import { dirname as __pathDirname } from 'path';
|
|
|
4
4
|
const require = __createRequire(import.meta.url);
|
|
5
5
|
const __filename = __fileURLToPath(import.meta.url);
|
|
6
6
|
const __dirname = __pathDirname(__filename);
|
|
7
|
-
import{a as W}from"./chunk-DEYAQEF5.mjs";import{c as x}from"./chunk-CFD6CW7T.mjs";import{b as v,c as h,e as N}from"./chunk-
|
|
7
|
+
import{a as W}from"./chunk-DEYAQEF5.mjs";import{c as x}from"./chunk-CFD6CW7T.mjs";import{b as v,c as h,e as N}from"./chunk-J6Y7IVFQ.mjs";import{h as R,i as M,k as S}from"./chunk-UAYTDSYG.mjs";import"./chunk-NNILF7R3.mjs";import"./chunk-NZKUCQZK.mjs";import"./chunk-H2KNJUPN.mjs";import{a as j}from"./chunk-5DZ2LTII.mjs";import{e as p}from"./chunk-FOWTB762.mjs";import"./chunk-6FUCOGOW.mjs";import"./chunk-6U3CYLY5.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-CB3CNJTL.mjs";import"./chunk-LZILSE5H.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-BUD3R6LF.mjs";import"./chunk-ZQ2XH76U.mjs";import{b as T}from"./chunk-B2HY22OD.mjs";import"./chunk-XLFEWZRA.mjs";import{a as O}from"./chunk-X433BB6F.mjs";import"./chunk-EZRNQXCC.mjs";import"./chunk-HCPQZRR3.mjs";import{b as I}from"./chunk-EHVU2SMR.mjs";import"./chunk-HPCSSJXH.mjs";import"./chunk-E5QQDYBR.mjs";import"./chunk-B7AQHL7B.mjs";import"./chunk-L4TUXFCL.mjs";import{h as a}from"./chunk-ID2C2S33.mjs";import"./chunk-RACISWUV.mjs";import"./chunk-DIEPWXJJ.mjs";import"./chunk-NINFE7GS.mjs";import"./chunk-UNNY2IWZ.mjs";import"./chunk-XSZOHNL4.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{c as C,j as A}from"./chunk-KPR5TWSN.mjs";import"./chunk-623SNKDH.mjs";import"./chunk-XWLTEAGN.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import{e as $,g as E}from"./chunk-225DWS4D.mjs";import{a as w}from"./chunk-3TRXQAU4.mjs";A();E();var L=["feature","bug","improvement","chore"],F=class extends j{static{w(this,"PrimitiveCommands")}async status(o=null,s=process.cwd(),r={}){try{let e=await v(s);if(!e.ok)return e.result;if(o){let c=await R(e.value,s,o);if(!c.ok){if(c.reason==="unsupported")return r.md?console.log(`> ${c.message}`):a.fail(c.message),{success:!1,error:c.message};let k=await h(e.value,r,s);return k.ok?{success:!1,error:"No active work cycle"}:k.result}let l=Number.parseInt(r.tokensIn??"",10),g=Number.parseInt(r.tokensOut??"",10);c.taskId&&(Number.isFinite(l)||Number.isFinite(g))&&x(e.value,c.taskId,Number.isFinite(l)?l:0,Number.isFinite(g)?g:0,{source:"cli-manual"});let f=`status \u2192 ${o}`;r.md?console.log(`\u2713 ${f}`):a.done(f);let b=c.verificationWarnings??[];if(b.length>0)if(r.md){console.log(`
|
|
8
8
|
## Harness warnings`);for(let k of b)console.log(`- ${k}`)}else for(let k of b)a.warn(`Harness: ${k}`);return c.contextPrompt&&(r.md?console.log(`
|
|
9
9
|
## Capture context
|
|
10
10
|
${c.contextPrompt}`):a.info(`
|
|
@@ -4,4 +4,4 @@ import { dirname as __pathDirname } from 'path';
|
|
|
4
4
|
const require = __createRequire(import.meta.url);
|
|
5
5
|
const __filename = __fileURLToPath(import.meta.url);
|
|
6
6
|
const __dirname = __pathDirname(__filename);
|
|
7
|
-
import{a,b,c,d}from"./chunk-
|
|
7
|
+
import{a,b,c,d}from"./chunk-ACIOJQSI.mjs";import"./chunk-YOGI4WE6.mjs";import"./chunk-XSZOHNL4.mjs";import"./chunk-OIE3AKKO.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-2EEMQV7N.mjs";import"./chunk-623SNKDH.mjs";import"./chunk-XWLTEAGN.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import"./chunk-225DWS4D.mjs";import"./chunk-3TRXQAU4.mjs";export{b as buildPrjctMdBody,a as buildProjectFactsSection,d as formatProjectFactsMd,c as writeProjectPrjctMd};
|
|
@@ -4,7 +4,7 @@ import { dirname as __pathDirname } from 'path';
|
|
|
4
4
|
const require = __createRequire(import.meta.url);
|
|
5
5
|
const __filename = __fileURLToPath(import.meta.url);
|
|
6
6
|
const __dirname = __pathDirname(__filename);
|
|
7
|
-
import{a as B}from"./chunk-ANVCA6LF.mjs";import{a as l,b as y,d as S}from"./chunk-CFD6CW7T.mjs";import{b as I}from"./chunk-
|
|
7
|
+
import{a as B}from"./chunk-ANVCA6LF.mjs";import{a as l,b as y,d as S}from"./chunk-CFD6CW7T.mjs";import{b as I}from"./chunk-J6Y7IVFQ.mjs";import{i as _}from"./chunk-UAYTDSYG.mjs";import"./chunk-NNILF7R3.mjs";import"./chunk-NZKUCQZK.mjs";import"./chunk-H2KNJUPN.mjs";import{a as V}from"./chunk-5DZ2LTII.mjs";import{e as T}from"./chunk-FOWTB762.mjs";import"./chunk-6FUCOGOW.mjs";import"./chunk-6U3CYLY5.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-CB3CNJTL.mjs";import"./chunk-LZILSE5H.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{b as W,c as U,e as H,f as E,g as M}from"./chunk-BUD3R6LF.mjs";import"./chunk-ZQ2XH76U.mjs";import{b as h}from"./chunk-B2HY22OD.mjs";import"./chunk-XLFEWZRA.mjs";import"./chunk-X433BB6F.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 F}from"./chunk-ID2C2S33.mjs";import"./chunk-RACISWUV.mjs";import"./chunk-DIEPWXJJ.mjs";import"./chunk-NINFE7GS.mjs";import{a as D}from"./chunk-UNNY2IWZ.mjs";import"./chunk-XSZOHNL4.mjs";import"./chunk-OIE3AKKO.mjs";import"./chunk-Q6C27OL7.mjs";import"./chunk-NXUIMC22.mjs";import{e as R}from"./chunk-JPMUJY42.mjs";import"./chunk-DZVOFEM5.mjs";import"./chunk-5EF5EOCL.mjs";import{g as C,i as Z}from"./chunk-DMO3ZFUG.mjs";import"./chunk-NNOX3UU4.mjs";import"./chunk-INJ5WT2D.mjs";import{g as $,h as v,i as P,l as Q}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{o as N,p as K}from"./chunk-D62TAZG6.mjs";import"./chunk-KPR5TWSN.mjs";import"./chunk-623SNKDH.mjs";import"./chunk-XWLTEAGN.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import{e as A,g as J}from"./chunk-225DWS4D.mjs";import{a as i}from"./chunk-3TRXQAU4.mjs";Z();J();Q();K();var X=["gotcha","red-herring","anti-pattern","learning"],ee=/^(current work|wip|todo|misc|n\/a|none|latest|unreleased|changelog)$/i,G=class extends V{static{i(this,"ProductCommands")}async insights(t=null,n=process.cwd(),s={}){let[r="overview",...o]=(t??"").trim().split(/\s+/).filter(Boolean),a=o.join(" ")||null;switch(r){case"value":case"overview":return this.value(null,n,s);case"quality":case"memory":case"memory-doctor":return this.memoryDoctor(a,n,s);case"reliability":case"trust":case"proof":return this.reliability(a,n,s);case"report":case"retro":return this.report(a,n,s);case"continue":case"handoff":case"brief":return this.handoff(a,n,s);case"guardrails":case"risk":return this.guardrails(null,n,s);case"cost":case"spend":case"tokens":case"usage":return this.cost(a,n,s);case"backfill":return this.backfill(n,s);default:return T(`Unknown insights view '${r}'. Use value, quality, reliability, cost, report, continue, or guardrails.`,s)}}async value(t=null,n=process.cwd(),s={}){return g(n,s,r=>x(r,n),r=>console.log(s.md?ge(r):fe(r)),r=>r)}async memoryDoctor(t=null,n=process.cwd(),s={}){let r=me(t);return g(n,s,o=>j(o),o=>console.log(s.md?ye(o,r):he(o,r)),o=>({score:o.score,issues:o.issues.length}))}async report(t=null,n=process.cwd(),s={}){let r=w(t,s.days,7);return g(n,s,o=>ae(o,n,r),o=>console.log(s.md?we(o):be(o)),o=>({days:r,ships:o.ships.length,completed:o.completed.length}))}async handoff(t=null,n=process.cwd(),s={}){let r=(t??"").trim().split(/\s+/).filter(Boolean)[0]??"next agent";return g(n,s,o=>ue(o,n,r),o=>console.log(s.md?$e(o):Se(o)),o=>({target:r,memories:o.memories.length}))}async guardrails(t=null,n=process.cwd(),s={}){return g(n,s,r=>ce(r,n),r=>console.log(s.md?ve(r):Ce(r)),r=>({files:r.files.length,hits:r.hits.length}))}async performance(t=null,n=process.cwd(),s={}){let r=w(t,s.days,14);return g(n,s,o=>oe(o,r),o=>console.log(s.md?Re(r,o):Te(r,o)),o=>({days:r,cycles:o.length}))}async perf(t=null,n=process.cwd(),s={}){let r=w(t,s.days,7);return g(n,s,o=>B.getLatencyReport(o,r),o=>console.log(s.md?Ee(o):Me(o)),o=>({days:r,commands:Object.keys(o.commands).length}))}async cost(t=null,n=process.cwd(),s={}){let r=w(t,s.days,30);return g(n,s,o=>S(o,r),o=>console.log(s.md?Le(o):xe(o)),o=>o)}async backfill(t=process.cwd(),n={}){return g(t,n,async s=>{let{backfillTaskTokens:r}=await import("./token-backfill-WPXXD5MP.mjs");return r(s,t)},s=>{let r=`backfilled ${s.tasksBackfilled} task(s) with ${s.tokensRecovered.toLocaleString()} tokens from ${s.transcriptsScanned} transcript(s) (${s.tasksSkipped} had no usage in window)`;n.md?console.log(`\u2713 ${r}`):F.done(r)},s=>s)}async reliability(t=null,n=process.cwd(),s={}){let r=w(t,s.days,30);return g(n,s,o=>te(o,n,r),o=>console.log(s.md?Oe(o):Ne(o)),o=>o)}};async function g(e,t,n,s,r){try{let o=await I(e,t);if(!o.ok)return o.result;let a=await n(o.value);return s(a),{success:!0,...r(a)}}catch(o){return T(A(o),t)}}i(g,"runProductCommand");async function x(e,t){let n=await R(t),s={detected:n.filter(c=>c.detected).length,full:n.filter(c=>c.supportLevel==="full").length,good:n.filter(c=>c.supportLevel==="good").length,baseline:n.filter(c=>c.supportLevel==="baseline").length,hosted:n.filter(c=>c.supportLevel==="hosted").length},r={live:l(e,"SELECT COUNT(*) AS value FROM memory_entries WHERE deleted_at IS NULL"),preventive:l(e,`SELECT COUNT(*) AS value FROM memory_entries
|
|
8
8
|
WHERE deleted_at IS NULL AND type IN ('gotcha', 'anti-pattern', 'learning')`),useful:l(e,"SELECT COUNT(*) AS value FROM memory_usefulness WHERE score > 0"),surfaced:l(e,"SELECT COUNT(*) AS value FROM memory_surface_log"),inbox:l(e,"SELECT COUNT(*) AS value FROM memory_entries WHERE deleted_at IS NULL AND type = 'inbox'")},o={tasks:l(e,"SELECT COUNT(*) AS value FROM tasks"),completed:l(e,"SELECT COUNT(*) AS value FROM tasks WHERE status IN ('done', 'completed')"),shippedTasks:l(e,"SELECT COUNT(*) AS value FROM tasks WHERE shipped_at IS NOT NULL"),shippedFeatures:l(e,"SELECT COUNT(*) AS value FROM shipped_features"),specs:l(e,"SELECT COUNT(*) AS value FROM specs"),shippedSpecs:l(e,"SELECT COUNT(*) AS value FROM specs WHERE status = 'shipped'")},a={syncs:l(e,"SELECT COALESCE(SUM(syncs), 0) AS value FROM metrics_daily"),tokensSaved:l(e,"SELECT COALESCE(SUM(tokens_saved), 0) AS value FROM metrics_daily")};return{memories:r,workflow:o,sync:a,agents:s,score:le(r,o,a,s)}}i(x,"buildValueSnapshot");function j(e){let t=y(e,`SELECT COALESCE(type, 'unknown') AS type, COUNT(*) AS value
|
|
9
9
|
FROM memory_entries
|
|
10
10
|
WHERE deleted_at IS NULL
|
|
@@ -4,4 +4,4 @@ import { dirname as __pathDirname } from 'path';
|
|
|
4
4
|
const require = __createRequire(import.meta.url);
|
|
5
5
|
const __filename = __fileURLToPath(import.meta.url);
|
|
6
6
|
const __dirname = __pathDirname(__filename);
|
|
7
|
-
import{a}from"./chunk-
|
|
7
|
+
import{a}from"./chunk-QWRPJARA.mjs";import"./chunk-ACIOJQSI.mjs";import"./chunk-YOGI4WE6.mjs";import"./chunk-XSZOHNL4.mjs";import"./chunk-OIE3AKKO.mjs";import"./chunk-JPMUJY42.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-OE27RFLJ.mjs";import"./chunk-FATYLG3L.mjs";import"./chunk-2EEMQV7N.mjs";import"./chunk-KPR5TWSN.mjs";import"./chunk-623SNKDH.mjs";import"./chunk-XWLTEAGN.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import"./chunk-225DWS4D.mjs";import"./chunk-3TRXQAU4.mjs";export{a as writeProjectAgentSurfaces};
|
|
@@ -4,4 +4,4 @@ import { dirname as __pathDirname } from 'path';
|
|
|
4
4
|
const require = __createRequire(import.meta.url);
|
|
5
5
|
const __filename = __fileURLToPath(import.meta.url);
|
|
6
6
|
const __dirname = __pathDirname(__filename);
|
|
7
|
-
import{a,b}from"./chunk-
|
|
7
|
+
import{a,b}from"./chunk-B2HY22OD.mjs";import"./chunk-XLFEWZRA.mjs";import"./chunk-X433BB6F.mjs";import"./chunk-EZRNQXCC.mjs";import"./chunk-B7AQHL7B.mjs";import"./chunk-L4TUXFCL.mjs";import"./chunk-XSZOHNL4.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-VWFVSNQT.mjs";import"./chunk-U24YKPYX.mjs";import"./chunk-D62TAZG6.mjs";import"./chunk-KPR5TWSN.mjs";import"./chunk-623SNKDH.mjs";import"./chunk-XWLTEAGN.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import"./chunk-225DWS4D.mjs";import"./chunk-3TRXQAU4.mjs";export{a as memoryVaultStamp,b as projectMemory};
|
|
@@ -4,4 +4,4 @@ import { dirname as __pathDirname } from 'path';
|
|
|
4
4
|
const require = __createRequire(import.meta.url);
|
|
5
5
|
const __filename = __fileURLToPath(import.meta.url);
|
|
6
6
|
const __dirname = __pathDirname(__filename);
|
|
7
|
-
import{a,b,c,d,e,f,g}from"./chunk-
|
|
7
|
+
import{a,b,c,d,e,f,g}from"./chunk-KI4OY3UQ.mjs";import"./chunk-UHXV7MDW.mjs";import"./chunk-TILUQF6L.mjs";import"./chunk-MPU3VM6Z.mjs";import"./chunk-MG3YN3AI.mjs";import"./chunk-YEALP3WX.mjs";import"./chunk-QZ7T2EYR.mjs";import"./chunk-B2HY22OD.mjs";import"./chunk-XLFEWZRA.mjs";import"./chunk-X433BB6F.mjs";import"./chunk-EZRNQXCC.mjs";import"./chunk-B7AQHL7B.mjs";import"./chunk-L4TUXFCL.mjs";import"./chunk-XSZOHNL4.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-VWFVSNQT.mjs";import"./chunk-U24YKPYX.mjs";import"./chunk-D62TAZG6.mjs";import"./chunk-KPR5TWSN.mjs";import"./chunk-623SNKDH.mjs";import"./chunk-XWLTEAGN.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import"./chunk-225DWS4D.mjs";import"./chunk-3TRXQAU4.mjs";export{f as bridgeStyleToMemory,g as formatProjectStyleForSync,a as getActiveProjectStyle,b as getProjectEvolution,d as persistProjectStyleSnapshot,e as recomputeProjectStyle,c as renderProjectEvolution};
|
|
@@ -0,0 +1,25 @@
|
|
|
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 M,b as at,c as H,d as N,e as ct}from"./chunk-3OWKIRK6.mjs";import{a as G,b as ot}from"./chunk-C35JQUWD.mjs";import{b as ut}from"./chunk-2JJM3YMW.mjs";import{a as rt}from"./chunk-VRFYDYQY.mjs";import{a as it,d as st}from"./chunk-7BU6SJBC.mjs";import"./chunk-BSR3XUBD.mjs";import{a as nt}from"./chunk-MCY7OXED.mjs";import{h as D,i as A}from"./chunk-YQ6HM3YO.mjs";import"./chunk-2VXPFULA.mjs";import"./chunk-CXKDKMYE.mjs";import"./chunk-XLAGA5B7.mjs";import"./chunk-45LKWJ5D.mjs";import{a as z}from"./chunk-VCSESVZ4.mjs";import{a as Q}from"./chunk-GTG67Z45.mjs";import{a as tt}from"./chunk-AS3LWTQ4.mjs";import{a as et}from"./chunk-LGX2GM45.mjs";import{c as W}from"./chunk-NNILF7R3.mjs";import"./chunk-H2KNJUPN.mjs";import{b as Z}from"./chunk-Q3LUL6LL.mjs";import{a as X,g as Y}from"./chunk-C7YBUD4K.mjs";import"./chunk-IOFCSTGM.mjs";import"./chunk-S6FBPXQL.mjs";import"./chunk-NOHSLOLL.mjs";import"./chunk-RCIWCKL7.mjs";import"./chunk-CB3CNJTL.mjs";import"./chunk-LZILSE5H.mjs";import"./chunk-6OYLZ4NM.mjs";import"./chunk-SO3ZPNWT.mjs";import"./chunk-V7R3L54M.mjs";import"./chunk-KI4OY3UQ.mjs";import"./chunk-UHXV7MDW.mjs";import"./chunk-TILUQF6L.mjs";import"./chunk-MPU3VM6Z.mjs";import"./chunk-MG3YN3AI.mjs";import"./chunk-YEALP3WX.mjs";import"./chunk-QZ7T2EYR.mjs";import"./chunk-YOGI4WE6.mjs";import"./chunk-AJXELVNH.mjs";import"./chunk-CWLGRKA7.mjs";import"./chunk-5YLI5V3Q.mjs";import"./chunk-F2FKQUYE.mjs";import{g as T}from"./chunk-BUD3R6LF.mjs";import"./chunk-ZQ2XH76U.mjs";import{b as S}from"./chunk-B2HY22OD.mjs";import"./chunk-XLFEWZRA.mjs";import"./chunk-X433BB6F.mjs";import"./chunk-EZRNQXCC.mjs";import{a as J}from"./chunk-KUQLXY2P.mjs";import"./chunk-HCPQZRR3.mjs";import{b as _}from"./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 j}from"./chunk-XSZOHNL4.mjs";import"./chunk-OIE3AKKO.mjs";import"./chunk-Q6C27OL7.mjs";import"./chunk-NXUIMC22.mjs";import{d as I}from"./chunk-WTDUJB4I.mjs";import{f as K,i as $t}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-TIBYHZFA.mjs";import"./chunk-VWFVSNQT.mjs";import"./chunk-U24YKPYX.mjs";import{b as q,p as vt}from"./chunk-D62TAZG6.mjs";import"./chunk-KPR5TWSN.mjs";import"./chunk-623SNKDH.mjs";import"./chunk-XWLTEAGN.mjs";import"./chunk-DOJPSIMG.mjs";import{l as V,p as bt}from"./chunk-HYIT7MF5.mjs";import"./chunk-225DWS4D.mjs";import{a as u}from"./chunk-3TRXQAU4.mjs";import{createHash as v}from"node:crypto";import y from"node:fs/promises";import h from"node:path";var Pt=15;function lt(e){let i=[],r=[];e.loop?.stopped&&e.loop.message&&(i.push("loop-hard-stop"),r.push(e.loop.message)),e.pressure?.level==="critical"&&e.pressure.cue?(i.push("context-pressure-critical"),r.push(e.pressure.cue)):e.pressure?.level==="warn"&&e.pressure.cue&&(i.push("context-pressure-warn"),r.push(e.pressure.cue)),e.qualityInject?.trim()&&(i.push("quality-ledger"),r.push(e.qualityInject.trim()));let t=e.turns??0,n=e.stuckThreshold??Pt;if(!e.loop?.stopped&&t>=n&&(i.push("stuck-cycle"),r.push(`\u26A0 ${t} turns on this cycle and it is still open. If you are not nearly done, STOP looping: split it, ship the slice that works, or check in with the user \u2014 then \`prjct status done\`. A re-plan beats another grinding turn.`)),r.length===0)return{level:"ok",markdown:null,cues:[]};let s=i.some(g=>["loop-hard-stop","context-pressure-critical","context-pressure-warn"].includes(g)),a=i.some(g=>["quality-ledger","stuck-cycle"].includes(g)),c=s?"hard":a?"warn":"ok",m=c==="hard"?"# prjct: alignment (MUST \u2014 hard gate)":"# prjct: alignment (mid-cycle)",l=r.join(`
|
|
8
|
+
|
|
9
|
+
`),o=i.includes("quality-ledger")&&!l.includes("prjct ship")?`
|
|
10
|
+
|
|
11
|
+
_${X}_`:"";return{level:c,cues:i,markdown:`${m}
|
|
12
|
+
|
|
13
|
+
${l}${o}`}}u(lt,"buildAlignmentCard");$t();vt();bt();var E=1500,jt=E+2100,dt=15,Tt=10,O=8,pt=420,At=2,xt=15e3;var Ct=new Set(["address","apply","check","continue","create","current","description","feedback","handle","merge","monitor","please","review","should","title","watch","write"]),x=new WeakMap,C=new Map;async function gt(e,i,r={}){let t=i!==void 0?i:await j.readConfig(e);if(!t?.projectId)return null;let n=Et(t,e,r),s=["# prjct: project state"];try{let c=await Q(t.projectId,e);if(c.current){let l=ht(c.current.startedAt);s.push(`- Active work cycle: "${c.current.description}" (${l}) [${c.current.label}]`);let{turns:o,loopVerdict:g,currentTask:p}=(()=>{try{let d=c.mainTaskRaw;return{turns:d?.turnCount??0,currentTask:d,loopVerdict:rt(t,d)}}catch{return{turns:0,currentTask:null,loopVerdict:null}}})();!g?.stopped&&o>0&&o%Tt===0&&o<dt&&s.push(` \u21B3 Turn ${o} on this cycle \u2014 still advancing the goal? If stuck, re-plan or split; do not loop.`);try{let d=t.maxTokensPerCycle??0;if(d>0&&p){let f=(p.tokensIn??0)+(p.tokensOut??0);f>=d?s.push(` \u26A0 Token budget: ${f.toLocaleString()} of ${d.toLocaleString()} spent on this cycle. STOP growing it \u2014 ship the working slice, split the remainder into a new cycle, or check in with the user.`):f>=d*.8&&s.push(` \u21B3 Token budget: ${f.toLocaleString()} of ${d.toLocaleString()} (${Math.round(f/d*100)}%). Plan the close: prefer finishing over expanding scope.`)}}catch{}try{let d=c.current.startedAt;if(d){let f=K.get(t.projectId,`SELECT COUNT(DISTINCT json_extract(data, '$.file')) AS c
|
|
14
|
+
FROM events WHERE type = 'memory.post_edit' AND timestamp >= ?`,d)?.c??0,w=Z(f);w&&s.push(` ${w}`)}}catch{}try{let d=tt(t,p),f=Y(t.projectId),w=lt({loop:g,pressure:d,qualityInject:f,turns:o,stuckThreshold:dt});w.markdown&&(s.push(""),s.push(w.markdown))}catch{}p?.ownerAgent&&s.push(`- Owner: ${p.ownerAgent}${p.ownerIdentity?`/${p.ownerIdentity}`:""}${p.yieldStatus==="yielded"?" (yielded \u2014 awaiting accept)":""}`)}let m=c.all.filter(l=>!l.isCurrent);m.length>0&&s.push(`- ${m.length} task(s) active in other workspace(s)`),!c.current&&m.length>0&&s.push("- This workspace idle but siblings busy \u2014 `prjct work` auto-isolates to a worktree when needed")}catch{}let a=await n;for(let c of a)c&&s.push(c);return s.length===1?null:s.join(`
|
|
15
|
+
`)}u(gt,"buildProjectState");function Et(e,i,r={}){return Promise.all([r.skipHandoff?Promise.resolve(null):(async()=>{try{let{formatPendingHandoffCue:t}=await import("./agent-switch-4SE6GF7R.mjs"),n=t(e.projectId);return n?`- ${n.replace(/\n/g,`
|
|
16
|
+
- `)}`:null}catch{return null}})(),(async()=>{try{let t=await J.getActiveTasks(e.projectId);return t.length>0?`- Pending: ${t.length} \xB7 Next: "${t[0].description}"`:null}catch{return null}})(),(async()=>{try{if(!await V(h.join(i,".git")))return null;let t=await Gt(i);if(!t.branch)return null;let n=[];t.modified>0&&n.push(`${t.modified} modified`),t.staged>0&&n.push(`${t.staged} staged`),t.untracked>0&&n.push(`${t.untracked} untracked`);let s=n.length>0?` \u2014 working tree ${n.join(", ")}`:"",a=t.ahead>0?`${s?",":" \u2014"} ${t.ahead} unpushed`:"";return`- Branch: ${t.branch}${s}${a}`}catch{return null}})(),(async()=>{try{let t=await z.getRecent(e.projectId,1);if(t.length===0)return null;let n=t[0],s=ht(n.shippedAt??"");return`- Last ship: ${n.version?`v${n.version}`:n.name} (${s})`}catch{return null}})(),(async()=>{try{let t=S.countByType(e.projectId,"inbox");return t>0?`- Inbox: ${t} items pending`:null}catch{return null}})()])}u(Et,"collectSecondarySignals");function Rt(e){return e.type==="voice"||e.type==="glossary"?!0:e.type==="example"&&!!e.tags.domain&&(e.tags.polarity==="good"||e.tags.polarity==="bad")}u(Rt,"isValidGuidanceEntry");function _t(e,i){try{let r=G(i),t=D(i).filter(o=>o.length>=5&&!Ct.has(o)),n=t.length>0?S.searchFts(e,t,O*2):[],s=r?S.recall(e,{types:["voice","glossary","example"],limit:O*2}).filter(o=>o.tags.domain==="delivery"||o.tags.domain===r):[],a=new Map([...n,...s].map(o=>[o.id,o])),c=new Map([["voice",0],["glossary",1],["example",2]]),m=[...a.values()].filter(Rt).sort((o,g)=>(c.get(o.type)??3)-(c.get(g.type)??3)).slice(0,At);if(m.length===0)return null;let l=["# prjct: selective guidance"];for(let o of m){let g=o.type==="example"?` ${o.tags.polarity}/${o.tags.domain}`:o.tags.domain?` ${o.tags.domain}`:"",p=pt-l.join(`
|
|
17
|
+
`).length-g.length-8;if(p<24)break;let d=A(o.content.replace(/\s+/g," ").trim(),Math.min(150,p));l.push(`- ${o.type}${g}: ${d}`)}return l.length===1?null:{text:A(l.join(`
|
|
18
|
+
`),pt),memoryIds:m.slice(0,l.length-1).map(o=>o.id)}}catch{return null}}u(_t,"buildSelectiveGuidance");function Dt(e,i,r=E){if(!i)return e;let t=e?`${e}
|
|
19
|
+
|
|
20
|
+
${i}`:i;return t.length<=r?t:null}u(Dt,"appendPromptSection");function ft(e,i){try{let r=D(i);if(r.length===0)return null;let t=S.searchFts(e,r,O),n=t.find(s=>s.type==="decision"||s.type==="gotcha"||s.type==="fact")??t.find(s=>s.type==="anti-pattern"||s.type==="pattern")??t.find(s=>s.type==="gotcha"||s.type==="anti-pattern");return n?n.type==="decision"||n.type==="gotcha"||n.type==="fact"?{cue:`> Tip\u2192user (SoT): ${T(n)} \`${n.id}\` \u2014 say it briefly in chat; binding \u2014 do not contradict without superseding`,memoryId:n.id}:n.type==="anti-pattern"||n.type==="pattern"?{cue:`> Tip\u2192user (suggest): ${T(n)} \`${n.id}\` \u2014 propose the live change in chat, then apply when editing`,memoryId:n.id}:{cue:`> Tip\u2192user: ${T(n)} \`${n.id}\``,memoryId:n.id}:null}catch{return null}}u(ft,"buildTopicalCueResult");function ke(e,i,r){return ft(e,i)?.cue??null}u(ke,"buildTopicalCue");var k=new Map,F={skipDiskSnapshotOnce:!1};function Se(){k.clear(),F.skipDiskSnapshotOnce=!0}u(Se,"_resetGitSnapshotCacheForTests");async function Gt(e){let i=await y.stat(h.join(e,".git","index")).then(a=>a.mtimeMs).catch(()=>0),r=k.get(e);if(r&&r.expiresAt>Date.now()&&r.indexMtimeMs===i)return r.snapshot;let t=Mt(e);if(!r&&!F.skipDiskSnapshotOnce){let a=await y.readFile(t,"utf-8").then(c=>JSON.parse(c)).catch(()=>null);if(a&&a.expiresAt>Date.now()&&a.indexMtimeMs===i)return k.set(e,a),a.snapshot}F.skipDiskSnapshotOnce=!1;let n=await Lt(e);k.size>32&&k.clear();let s={snapshot:n,expiresAt:Date.now()+xt,indexMtimeMs:i};return k.set(e,s),y.mkdir(h.dirname(t),{recursive:!0}).then(()=>y.writeFile(t,JSON.stringify(s))).catch(()=>{}),n}u(Gt,"captureGit");function Mt(e){let i=v("sha1").update(h.resolve(e)).digest("hex").slice(0,16);return h.join(I.runDir(),`prompt-git-${i}.json`)}u(Mt,"gitSnapshotPath");function R(e,i){let r=v("sha1").update(h.resolve(i)).digest("hex").slice(0,12);return`${e.replace(/[^a-zA-Z0-9._-]/g,"_")}-${r}`}u(R,"promptHashKey");async function Ht(e,i,r){let t=R(e,i),n=v("sha256").update(r).digest("hex");if(C.get(t)===n)return null;C.size>64&&C.clear(),C.set(t,n);let s=h.join(I.runDir(),`prompt-state-${t}.hash`);return(await y.readFile(s,"utf-8").catch(()=>"")).trim()===n?null:(await y.mkdir(h.dirname(s),{recursive:!0}).then(()=>y.writeFile(s,n)).catch(()=>{}),r)}u(Ht,"dedupePromptPayload");async function Nt(e,i,r){let t=h.join(I.runDir(),`prompt-state-${R(e,i)}.hash`),n=v("sha256").update(r).digest("hex");await y.mkdir(h.dirname(t),{recursive:!0}).then(()=>y.writeFile(t,n)).catch(()=>{})}u(Nt,"writePromptStateStamp");function Ot(e,i){return h.join(I.runDir(),`prompt-afteremit-${R(e,i)}.json`)}u(Ot,"promptAfterEmitStampPath");async function mt(e,i,r,t){let n=Ot(e,i),s=v("sha256").update(r).digest("hex");await y.mkdir(h.dirname(n),{recursive:!0}).then(()=>y.writeFile(n,JSON.stringify({hash:s,record:t}))).catch(()=>{})}u(mt,"persistPromptAfterEmit");async function Ft(e,i){try{let r=R(e,i),t=I.runDir(),[n,s]=await Promise.all([y.readFile(h.join(t,`prompt-afteremit-${r}.json`),"utf-8"),y.readFile(h.join(t,`prompt-state-${r}.hash`),"utf-8")]),a=JSON.parse(n),c=a.record;return!c||a.hash!==s.trim()||c.projectId!==e||!Array.isArray(c.surfacedIds)?null:c}catch{return null}}u(Ft,"readPersistedPromptAfterEmit");async function Lt(e){let i={branch:"",modified:0,staged:0,untracked:0,ahead:0},r=u(async o=>{try{return(await q("git",o,{cwd:e,timeout:2e3})).stdout.trim()}catch{return""}},"safe"),[t,n,s]=await Promise.all([r(["branch","--show-current"]),r(["status","--porcelain"]),r(["rev-list","--count","@{u}..HEAD"])]);if(!t)return i;let{modified:a,staged:c,untracked:m}=n.split(`
|
|
21
|
+
`).filter(Boolean).reduce((o,g)=>{let p=g.slice(0,2);return p.startsWith("??")?o.untracked++:(p[0]!==" "&&p[0]!=="?"&&o.staged++,p[1]!==" "&&o.modified++),o},{modified:0,staged:0,untracked:0}),l=Number.parseInt(s,10)||0;return{branch:t,modified:a,staged:c,untracked:m,ahead:l}}u(Lt,"captureGitUncached");function ht(e){if(!e)return"unknown";let i=Date.parse(e);if(Number.isNaN(i))return"unknown";let r=Math.max(0,Math.floor((Date.now()-i)/864e5));return r<1?"today":r<2?"yesterday":r<30?`${r}d ago`:`${Math.floor(r/30)}mo ago`}u(ht,"formatRelative");function yt(e,i,r,t=E){let n=ft(e,i),s=W(e,i),a=ot(i),c=_t(e,i),m=[n?.cue,a,c?.text,s].filter(f=>!!f),l=m.reduce((f,w)=>Dt(f,w,t)??f,A(r,t)),o=m.filter(f=>l.includes(f)).join(`
|
|
22
|
+
|
|
23
|
+
`),g=!!(c?.text&&l.includes(c.text)),d=!!(a&&l.includes(a))?`delivery:${G(i)??"unknown"}`:g?c?.memoryIds[0]??null:null;return{prioritized:l,cueOnly:o,cueResult:n,guidance:c,guidanceIncluded:g,guidanceRuleId:d}}u(yt,"computePromptGuidance");function ve(e=process.cwd(),i){return nt({event:"UserPromptSubmit",projectPath:e,build:u(async(r,t,n)=>{let s=(r.prompt??"").trim();if(!s)return null;let a=await j.readConfig(t);if(!a?.projectId)return null;let c=n==="kimi"?await st(a.projectId,r.session_id,n).catch(()=>null):null,m=await gt(t,a,{skipHandoff:!!c}),l=c?await it(t,a,{digest:c==="digest"}).catch(()=>null):null;if(!m&&!l)return null;let o=[l,m].filter(Boolean).join(`
|
|
24
|
+
|
|
25
|
+
`),g=l?jt:E,{prioritized:p,cueOnly:d,cueResult:f,guidance:w,guidanceIncluded:wt,guidanceRuleId:It}=yt(a.projectId,s,o,g),b={projectId:a.projectId,projectPath:t,bumpTurn:!!m?.includes("Active work cycle:"),surfacedIds:[...f?[f.memoryId]:[],...wt?w?.memoryIds??[]:[]],guidanceRuleId:It};if((n==="kimi"||n==="codex")&&r.session_id){let $=at(a.projectId,t,r.session_id),L=M(ct(m??"")),U=M(d),[kt,St]=await Promise.all([H($),H(`${$}-cues`)]);await Promise.all([N($,L),N(`${$}-cues`,U)]);let P=kt===L&&!l?!d||St===U?null:d:p,B=P?b:{...b,surfacedIds:[],guidanceRuleId:null};return x.set(r,B),await mt(a.projectId,t,P??"",B),await Nt(a.projectId,t,P??""),P}return x.set(r,b),await mt(a.projectId,t,p,b),Ht(a.projectId,t,p)},"build"),afterEmit:u(async(r,t)=>{let n=x.get(r)??await Ut(r,t);x.delete(r),n&&await Promise.all([n.bumpTurn?_.bumpTurnCount(n.projectId).then(()=>{}):Promise.resolve(),n.surfacedIds.length>0?et(n.projectId,n.projectPath,n.surfacedIds):Promise.resolve(),n.guidanceRuleId?Promise.resolve(ut.recordGuidanceActivation(n.projectId,{ruleId:n.guidanceRuleId})).then(()=>{}):Promise.resolve()])},"afterEmit")},i)}u(ve,"runPromptHook");async function Ut(e,i){let r=(e.prompt??"").trim();if(!r)return null;let t=await j.readConfig(i).catch(()=>null);if(!t?.projectId)return null;let n=await Ft(t.projectId,i);if(n)return n;let[s,a]=await Promise.all([_.getCurrentTask(t.projectId).catch(()=>null),gt(i,t)]),{cueResult:c,guidance:m,guidanceIncluded:l,guidanceRuleId:o}=yt(t.projectId,r,a??"");return{projectId:t.projectId,projectPath:i,bumpTurn:!!s,surfacedIds:[...c?[c.memoryId]:[],...l?m?.memoryIds??[]:[]],guidanceRuleId:o}}u(Ut,"rebuildPromptAfterEmit");export{Se as _resetGitSnapshotCacheForTests,ot as buildDeliveryGuidance,gt as buildProjectState,_t as buildSelectiveGuidance,ke as buildTopicalCue,G as classifyDeliveryIntent,ve as runPromptHook};
|
|
@@ -4,4 +4,4 @@ import { dirname as __pathDirname } from 'path';
|
|
|
4
4
|
const require = __createRequire(import.meta.url);
|
|
5
5
|
const __filename = __fileURLToPath(import.meta.url);
|
|
6
6
|
const __dirname = __pathDirname(__filename);
|
|
7
|
-
import{a,b,c,d,e,f,g,h,i,j}from"./chunk-
|
|
7
|
+
import{a,b,c,d,e,f,g,h,i,j}from"./chunk-6KNMT46X.mjs";import"./chunk-B2HY22OD.mjs";import"./chunk-XLFEWZRA.mjs";import"./chunk-X433BB6F.mjs";import"./chunk-EZRNQXCC.mjs";import"./chunk-B7AQHL7B.mjs";import"./chunk-L4TUXFCL.mjs";import"./chunk-XSZOHNL4.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-VWFVSNQT.mjs";import"./chunk-U24YKPYX.mjs";import"./chunk-D62TAZG6.mjs";import"./chunk-KPR5TWSN.mjs";import"./chunk-623SNKDH.mjs";import"./chunk-XWLTEAGN.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import"./chunk-225DWS4D.mjs";import"./chunk-3TRXQAU4.mjs";export{d as AUTO_SOURCE_PREFIXES,b as DEFAULT_ARCHIVE_PRUNE_DAYS,c as DEFAULT_AUTO_SOURCE_MAX_LIVE,a as DEFAULT_SOFT_DELETED_PURGE_DAYS,e as isAutoSource,g as purgeOrphanRememberEvents,f as purgeSoftDeleted,j as runVaultPurge,h as trimAutoSourceCap,i as vaultHealth};
|
|
@@ -4,4 +4,4 @@ import { dirname as __pathDirname } from 'path';
|
|
|
4
4
|
const require = __createRequire(import.meta.url);
|
|
5
5
|
const __filename = __fileURLToPath(import.meta.url);
|
|
6
6
|
const __dirname = __pathDirname(__filename);
|
|
7
|
-
import{a,b}from"./chunk-
|
|
7
|
+
import{a,b}from"./chunk-TOORPP6K.mjs";import"./chunk-3TRXQAU4.mjs";export{a as HOOK_RUNNERS,b as getHookRunner};
|
|
@@ -4,4 +4,4 @@ import { dirname as __pathDirname } from 'path';
|
|
|
4
4
|
const require = __createRequire(import.meta.url);
|
|
5
5
|
const __filename = __fileURLToPath(import.meta.url);
|
|
6
6
|
const __dirname = __pathDirname(__filename);
|
|
7
|
-
import{a as k,b as l,c as m,d as n,e as o,f as p,g as q,h as r,i as s,j as t,k as u,l as v,m as w}from"./chunk-
|
|
7
|
+
import{a as k,b as l,c as m,d as n,e as o,f as p,g as q,h as r,i as s,j as t,k as u,l as v,m as w}from"./chunk-ZSANMA7K.mjs";import"./chunk-HA7Y76GF.mjs";import"./chunk-AJXELVNH.mjs";import"./chunk-CWLGRKA7.mjs";import"./chunk-2NI4EEK2.mjs";import"./chunk-2VRS5CUH.mjs";import"./chunk-5YLI5V3Q.mjs";import"./chunk-F2FKQUYE.mjs";import"./chunk-L3DJN3XD.mjs";import"./chunk-BUD3R6LF.mjs";import{a as h,b as i,c as j,d as x,e as y,h as z,i as A}from"./chunk-OXKGN3HG.mjs";import"./chunk-ZQ2XH76U.mjs";import{a,e as b,f as c,g as d,h as e,i as f,j as g}from"./chunk-6KNMT46X.mjs";import"./chunk-B2HY22OD.mjs";import"./chunk-XLFEWZRA.mjs";import"./chunk-X433BB6F.mjs";import"./chunk-EZRNQXCC.mjs";import"./chunk-HCPQZRR3.mjs";import"./chunk-B7AQHL7B.mjs";import"./chunk-L4TUXFCL.mjs";import"./chunk-DIEPWXJJ.mjs";import"./chunk-UNNY2IWZ.mjs";import"./chunk-XSZOHNL4.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-XWLTEAGN.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import"./chunk-225DWS4D.mjs";import"./chunk-3TRXQAU4.mjs";export{y as CAPTURE_MIN_EXCESS,a as DEFAULT_SOFT_DELETED_PURGE_DAYS,x as NEAR_DUP_SIM,k as PROTECTED_TYPES,h as REFERENCE_CAP,t as applyRetention,u as applyRetentionIncremental,j as buildReferenceModel,A as captureGate,m as collectDuplicateIds,l as collectRetentionInputs,z as computeExcess,o as evaluateRetention,p as evaluateRetentionShared,v as forgetJunkCaptures,s as forgetShippedFeature,b as isAutoSource,i as isReferenceEligible,r as isRetentionRemovableId,d as purgeOrphanRememberEvents,c as purgeSoftDeleted,g as runVaultPurge,n as scoreEntry,q as shouldEmbedEntry,w as triageInbox,e as trimAutoSourceCap,f as vaultHealth};
|
|
@@ -4,7 +4,7 @@ import { dirname as __pathDirname } from 'path';
|
|
|
4
4
|
const require = __createRequire(import.meta.url);
|
|
5
5
|
const __filename = __fileURLToPath(import.meta.url);
|
|
6
6
|
const __dirname = __pathDirname(__filename);
|
|
7
|
-
import{a as p}from"./chunk-
|
|
7
|
+
import{a as p}from"./chunk-5DZ2LTII.mjs";import{e as g}from"./chunk-FOWTB762.mjs";import"./chunk-6U3CYLY5.mjs";import"./chunk-X433BB6F.mjs";import"./chunk-EZRNQXCC.mjs";import"./chunk-B7AQHL7B.mjs";import"./chunk-L4TUXFCL.mjs";import{h as u}from"./chunk-ID2C2S33.mjs";import"./chunk-XSZOHNL4.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{k as f,l as P}from"./chunk-HU5ERAAV.mjs";import"./chunk-6RT2P22O.mjs";import"./chunk-ZXTJLMVZ.mjs";import"./chunk-VWFVSNQT.mjs";import"./chunk-U24YKPYX.mjs";import{b as c,p as b}from"./chunk-D62TAZG6.mjs";import"./chunk-623SNKDH.mjs";import"./chunk-XWLTEAGN.mjs";import"./chunk-DOJPSIMG.mjs";import{l as h,p as y}from"./chunk-HYIT7MF5.mjs";import{e as l,g as C}from"./chunk-225DWS4D.mjs";import{a as i}from"./chunk-3TRXQAU4.mjs";C();P();b();y();import R from"node:path";var d=class extends p{static{i(this,"RetroCommands")}async retro(o=null,s=process.cwd(),t={}){try{let e=await this.ensureProjectInit(s);if(!e.success)return e;if(!await h(R.join(s,".git")))return u.fail("Not in a git repository \u2014 `prjct retro` needs git history."),{success:!1,error:"Not a git repo"};let n=x(o);if(!n)return u.fail(`Invalid window "${o}". Use: 7d, 24h, 14d, 30d (units: h or d).`),{success:!1,error:"Invalid window"};let a=await A(s,n.sinceIso),m=N(a);return t.md?console.log(E(n,a,m)):console.log(j(n,a,m)),{success:!0,window:n.label,commits:a.length,contributors:m.length}}catch(e){let n=l(e);return g(n)}}};function x(r){let o=f(r);if(!o)return null;let{n:s,unit:t}=o,e=new Date;if(t==="h"){let m=new Date(e.getTime()-s*60*60*1e3);return{label:`${s}h`,sinceIso:w(m),hours:s}}let n=new Date(e.getFullYear(),e.getMonth(),e.getDate()),a=new Date(n.getTime()-s*24*60*60*1e3);return{label:`${s}d`,sinceIso:w(a),hours:s*24}}i(x,"parseWindow");function w(r){let o=i(s=>`${s}`.padStart(2,"0"),"pad");return`${r.getFullYear()}-${o(r.getMonth()+1)}-${o(r.getDate())}T${o(r.getHours())}:${o(r.getMinutes())}:${o(r.getSeconds())}`}i(w,"toLocalIso");async function A(r,o){let s=await c("git",["log",`--since=${o}`,"--pretty=format:%H%x09%an%x09%ae%x09%aI%x09%s"],{cwd:r,maxBuffer:16777216}).then(t=>t.stdout).catch(t=>{let e=t.stderr??t.message??"";if(/does not have any commits|unknown revision|bad revision|HEAD/i.test(e))return null;throw t});return s===null?[]:s.split(`
|
|
8
8
|
`).filter(Boolean).map(t=>{let[e,n,a,m,...$]=t.split(" ");return{hash:e??"",authorName:n??"unknown",authorEmail:a??"",date:m??"",subject:$.join(" ")??""}}).filter(t=>t.hash)}i(A,"readCommits");function N(r){let o=new Map;for(let s of r){let t=s.authorEmail||s.authorName,e=o.get(t),n=e??{name:s.authorName,email:s.authorEmail,commits:0,insertions:0,deletions:0,files:0,firstCommit:s.date,lastCommit:s.date};e||o.set(t,n),n.commits++,s.date<n.firstCommit&&(n.firstCommit=s.date),s.date>n.lastCommit&&(n.lastCommit=s.date)}return Array.from(o.values()).sort((s,t)=>t.commits-s.commits)}i(N,"groupByAuthor");function j(r,o,s){if(o.length===0)return`No commits in the last ${r.label}.`;let t=[];t.push(`Retro \u2014 last ${r.label} \xB7 ${o.length} commits \xB7 ${s.length} contributors`),t.push("");for(let e of s)t.push(` ${e.commits.toString().padStart(3)} ${e.name} <${e.email}>`);t.push(""),t.push("Recent commits:");for(let e of o.slice(0,10))t.push(` ${e.hash.slice(0,7)} ${e.subject}`);return t.join(`
|
|
9
9
|
`)}i(j,"formatText");function E(r,o,s){if(o.length===0)return`## Retro \u2014 last ${r.label}
|
|
10
10
|
|
|
@@ -4,7 +4,7 @@ import { dirname as __pathDirname } from 'path';
|
|
|
4
4
|
const require = __createRequire(import.meta.url);
|
|
5
5
|
const __filename = __fileURLToPath(import.meta.url);
|
|
6
6
|
const __dirname = __pathDirname(__filename);
|
|
7
|
-
import{b as R}from"./chunk-
|
|
7
|
+
import{b as R}from"./chunk-J6Y7IVFQ.mjs";import"./chunk-UAYTDSYG.mjs";import"./chunk-NNILF7R3.mjs";import"./chunk-NZKUCQZK.mjs";import"./chunk-H2KNJUPN.mjs";import{a as b}from"./chunk-5DZ2LTII.mjs";import{e as v}from"./chunk-FOWTB762.mjs";import"./chunk-6FUCOGOW.mjs";import"./chunk-6U3CYLY5.mjs";import"./chunk-Q3LUL6LL.mjs";import"./chunk-C7YBUD4K.mjs";import"./chunk-IOFCSTGM.mjs";import{H as w,c as h}from"./chunk-S6FBPXQL.mjs";import"./chunk-NOHSLOLL.mjs";import{e as d,f as u,g as $}from"./chunk-RCIWCKL7.mjs";import"./chunk-E73HSXCX.mjs";import"./chunk-76YMLNLF.mjs";import"./chunk-O5N6XYPU.mjs";import"./chunk-SROBBOJB.mjs";import"./chunk-CB3CNJTL.mjs";import"./chunk-LZILSE5H.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-BUD3R6LF.mjs";import"./chunk-ZQ2XH76U.mjs";import"./chunk-B2HY22OD.mjs";import"./chunk-XLFEWZRA.mjs";import"./chunk-X433BB6F.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"./chunk-ID2C2S33.mjs";import"./chunk-RACISWUV.mjs";import"./chunk-DIEPWXJJ.mjs";import"./chunk-NINFE7GS.mjs";import"./chunk-UNNY2IWZ.mjs";import"./chunk-XSZOHNL4.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-XWLTEAGN.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import{e as p,g as D}from"./chunk-225DWS4D.mjs";import{a as m}from"./chunk-3TRXQAU4.mjs";D();var j=class extends b{static{m(this,"ReviewRiskCommands")}async reviewRisk(n=null,r=process.cwd(),s={}){try{let i=await this.ensureProjectInit(r);if(!i.success)return i;let t=await $(r);if(!t){let o="review-risk: no comparable changeset (no base branch or nothing committed).";return console.log(s.md?`## Review risk
|
|
8
8
|
|
|
9
9
|
_${o}_
|
|
10
10
|
`:o),{success:!0,tier:"trivial",files:0,loc:0,geometry:u("trivial"),intensity:"skip"}}let l=d(t),y=u(l),c=h(l,{paths:t.dirs}),g=w(c),f=await(async()=>{try{let o=await R(r,s);if(!o.ok)return"";let{hasSymbolIndex:k}=await import("./symbol-graph-PCS43SHZ.mjs");if(!k(o.value))return"";let{detectChanges:x}=await import("./detect-changes-2YIEX7AY.mjs"),a=await x(r,o.value,{source:"committed"});return a.changedFiles.length>0?`Structural risk: critical=${a.summary.critical} high=${a.summary.high} medium=${a.summary.medium} low=${a.summary.low} \xB7 blast ${a.affectedFiles.length} files`:""}catch{return""}})();return console.log(s.md?O(t,l,y,c,g,f):I(t,l,y,c,g,f)),{success:!0,tier:l,files:t.files,loc:t.loc,geometry:y,intensity:c}}catch(i){return v(p(i))}}};function C(e,n){return e==="direct"?"Small + low-risk \u2014 fine to land directly or as one tiny PR.":e==="single"?"Cohesive \u2014 one reviewable PR.":`Large \u2014 hard to review in one pass. Consider stacked PRs.${n.length>1?` Natural split lines: ${n.join(", ")}.`:" Consider splitting by concern even within this area."}`}m(C,"suggestion");function I(e,n,r,s,i,t=""){return[`Review risk: ${n.toUpperCase()} \u2014 ${e.files} files, ${e.loc} LOC vs ${e.base}`,`Delivery: ${r} \u2014 ${C(r,e.dirs)}`,`Judgment intensity: ${s} \u2014 ${i.reviewers}`,` severity floor: ${i.severityFloor}`,...t?[` ${t}`]:[]," next: prjct judgment plan | open (ledger + ship gate)","(advisory for delivery; judgment ledger enforces intensity on code-strict ship)"].join(`
|
|
@@ -4,6 +4,6 @@ import { dirname as __pathDirname } from 'path';
|
|
|
4
4
|
const require = __createRequire(import.meta.url);
|
|
5
5
|
const __filename = __fileURLToPath(import.meta.url);
|
|
6
6
|
const __dirname = __pathDirname(__filename);
|
|
7
|
-
import{a as g}from"./chunk-VCSESVZ4.mjs";import{c as m}from"./chunk-IOFCSTGM.mjs";import"./chunk-NOHSLOLL.mjs";import"./chunk-E5QQDYBR.mjs";import"./chunk-B7AQHL7B.mjs";import"./chunk-L4TUXFCL.mjs";import"./chunk-Q6C27OL7.mjs";import"./chunk-NXUIMC22.mjs";import"./chunk-DMO3ZFUG.mjs";import"./chunk-NNOX3UU4.mjs";import"./chunk-INJ5WT2D.mjs";import{F as p,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-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import{e as u,g as y}from"./chunk-225DWS4D.mjs";import{a as o}from"./chunk-3TRXQAU4.mjs";A();import{createHash as S}from"node:crypto";import h from"node:fs/promises";import l from"node:path";y();function d(e){let t=typeof e=="string"?e:JSON.stringify(e);return S("sha256").update(t).digest("hex").slice(0,16)}o(d,"hashPayload");function $(e){let t=m.get(e);if(!t)return null;let a=t.findings.filter(n=>n.status==="stands"||n.status==="candidate"||n.status==="open").length;return{kind:"judgment_ledger",id:t.id,at:t.updatedAt||t.createdAt,summary:`Judgment ${t.verdict} \xB7 intensity=${t.intensity} \xB7 findings=${t.findings.length} (openish=${a}) \xB7 target=${t.target}`,contentHash:d({id:t.id,verdict:t.verdict,intensity:t.intensity,findings:t.findings.map(n=>n.id),contentBound:t.contentBound?.treeHash}),gates:{verdict:t.verdict,intensity:t.intensity,fixRound:String(t.fixRound),...t.contentBound?.treeHash?{contentBound:t.contentBound.treeHash.slice(0,12)}:{}}}}o($,"judgmentArtifact");async function k(e,t){return(await g.getRecent(e,t)).map(n=>({kind:"ship_receipt",id:n.id,at:n.shippedAt??null,summary:`Ship ${n.version?`v${n.version} `:""}${n.name}`.trim(),contentHash:d({id:n.id,name:n.name,version:n.version,shippedAt:n.shippedAt}),gates:{version:n.version||"none",...n.type?{type:n.type}:{}}}))}o(k,"shipArtifacts");async function j(e,t){try{let{listHandoffs:a}=await import("./handoff-storage-NGUA4Y2L.mjs");return a(e,{status:"pending",limit:t}).map(i=>({kind:"handoff",id:i.id,at:i.createdAt??null,summary:`Handoff ${i.fromAgent}\u2192${i.toAgent}: ${i.reason.slice(0,80)}`,contentHash:d({id:i.id,taskId:i.taskId,to:i.toAgent,status:i.status,reason:i.reason}),gates:{status:i.status,to:i.toAgent,from:i.fromAgent}}))}catch{return[]}}o(j,"handoffArtifacts");async function v(e,t){try{let a=l.join(p.getGlobalProjectPath(e),"checkpoints"),i=(await h.readdir(a).catch(()=>[])).filter(s=>s.endsWith(".json")).sort().reverse().slice(0,t),r=[];for(let s of i)try{let c=await h.readFile(l.join(a,s),"utf-8"),f=JSON.parse(c);r.push({kind:"checkpoint",id:s,at:f.createdAt??null,summary:`Checkpoint "${f.title??s}"${f.git?.branch?` @ ${f.git.branch}`:""}`,contentHash:d(c),gates:{file:s}})}catch{}return r}catch{return[]}}o(v,"checkpointArtifacts");async function L(e,t={}){let a=Math.max(1,Math.min(t.limit??5,20)),n=t.kinds?new Set(t.kinds):null,i=[];if(!n||n.has("judgment_ledger")){let r=$(e);r&&i.push(r)}if(!n||n.has("ship_receipt"))try{i.push(...await k(e,a))}catch(r){u(r)}if((!n||n.has("handoff"))&&i.push(...await j(e,a)),(!n||n.has("checkpoint"))&&i.push(...await v(e,a)),!n||n.has("session_continuity"))try{let{loadSessionContinuity:r}=await import("./session-continuity-
|
|
7
|
+
import{a as g}from"./chunk-VCSESVZ4.mjs";import{c as m}from"./chunk-IOFCSTGM.mjs";import"./chunk-NOHSLOLL.mjs";import"./chunk-E5QQDYBR.mjs";import"./chunk-B7AQHL7B.mjs";import"./chunk-L4TUXFCL.mjs";import"./chunk-Q6C27OL7.mjs";import"./chunk-NXUIMC22.mjs";import"./chunk-DMO3ZFUG.mjs";import"./chunk-NNOX3UU4.mjs";import"./chunk-INJ5WT2D.mjs";import{F as p,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-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import{e as u,g as y}from"./chunk-225DWS4D.mjs";import{a as o}from"./chunk-3TRXQAU4.mjs";A();import{createHash as S}from"node:crypto";import h from"node:fs/promises";import l from"node:path";y();function d(e){let t=typeof e=="string"?e:JSON.stringify(e);return S("sha256").update(t).digest("hex").slice(0,16)}o(d,"hashPayload");function $(e){let t=m.get(e);if(!t)return null;let a=t.findings.filter(n=>n.status==="stands"||n.status==="candidate"||n.status==="open").length;return{kind:"judgment_ledger",id:t.id,at:t.updatedAt||t.createdAt,summary:`Judgment ${t.verdict} \xB7 intensity=${t.intensity} \xB7 findings=${t.findings.length} (openish=${a}) \xB7 target=${t.target}`,contentHash:d({id:t.id,verdict:t.verdict,intensity:t.intensity,findings:t.findings.map(n=>n.id),contentBound:t.contentBound?.treeHash}),gates:{verdict:t.verdict,intensity:t.intensity,fixRound:String(t.fixRound),...t.contentBound?.treeHash?{contentBound:t.contentBound.treeHash.slice(0,12)}:{}}}}o($,"judgmentArtifact");async function k(e,t){return(await g.getRecent(e,t)).map(n=>({kind:"ship_receipt",id:n.id,at:n.shippedAt??null,summary:`Ship ${n.version?`v${n.version} `:""}${n.name}`.trim(),contentHash:d({id:n.id,name:n.name,version:n.version,shippedAt:n.shippedAt}),gates:{version:n.version||"none",...n.type?{type:n.type}:{}}}))}o(k,"shipArtifacts");async function j(e,t){try{let{listHandoffs:a}=await import("./handoff-storage-NGUA4Y2L.mjs");return a(e,{status:"pending",limit:t}).map(i=>({kind:"handoff",id:i.id,at:i.createdAt??null,summary:`Handoff ${i.fromAgent}\u2192${i.toAgent}: ${i.reason.slice(0,80)}`,contentHash:d({id:i.id,taskId:i.taskId,to:i.toAgent,status:i.status,reason:i.reason}),gates:{status:i.status,to:i.toAgent,from:i.fromAgent}}))}catch{return[]}}o(j,"handoffArtifacts");async function v(e,t){try{let a=l.join(p.getGlobalProjectPath(e),"checkpoints"),i=(await h.readdir(a).catch(()=>[])).filter(s=>s.endsWith(".json")).sort().reverse().slice(0,t),r=[];for(let s of i)try{let c=await h.readFile(l.join(a,s),"utf-8"),f=JSON.parse(c);r.push({kind:"checkpoint",id:s,at:f.createdAt??null,summary:`Checkpoint "${f.title??s}"${f.git?.branch?` @ ${f.git.branch}`:""}`,contentHash:d(c),gates:{file:s}})}catch{}return r}catch{return[]}}o(v,"checkpointArtifacts");async function L(e,t={}){let a=Math.max(1,Math.min(t.limit??5,20)),n=t.kinds?new Set(t.kinds):null,i=[];if(!n||n.has("judgment_ledger")){let r=$(e);r&&i.push(r)}if(!n||n.has("ship_receipt"))try{i.push(...await k(e,a))}catch(r){u(r)}if((!n||n.has("handoff"))&&i.push(...await j(e,a)),(!n||n.has("checkpoint"))&&i.push(...await v(e,a)),!n||n.has("session_continuity"))try{let{loadSessionContinuity:r}=await import("./session-continuity-OQDB5UYI.mjs"),s=r(e);s&&i.push({kind:"session_continuity",id:"session:continuity",at:s.landedAt,summary:s.cycleDescription?`Last land \xB7 cycle "${s.cycleDescription.slice(0,60)}"`:"Last land \xB7 no open cycle",contentHash:d(s),gates:{handoff:s.handoffWrote?"yes":"no",receipt:s.receiptWrote?"yes":"no",...s.pressureLevel?{pressure:s.pressureLevel}:{}}})}catch{}return i.sort((r,s)=>{let c=r.at?Date.parse(r.at):0;return(s.at?Date.parse(s.at):0)-c}),{projectId:e,count:i.length,artifacts:i}}o(L,"listSafeArtifacts");function B(e){let t=["# prjct safe artifacts","",`Project \`${e.projectId}\` \xB7 **${e.count}** artifact(s)`,"","Controlled agent outputs (judgment \xB7 ships \xB7 handoffs \xB7 checkpoints). Not a markdown vault.",""];if(e.artifacts.length===0)return t.push("_No artifacts yet \u2014 open judgment, ship, handoff, or `prjct context-save`._"),t.push(""),t.join(`
|
|
8
8
|
`);t.push("| Kind | Id | At | Summary | Hash | Gates |"),t.push("|---|---|---|---|---|---|");for(let a of e.artifacts){let n=Object.entries(a.gates).map(([s,c])=>`${s}=${c}`).join(" "),i=a.at?a.at.slice(0,19):"\u2014",r=a.summary.replace(/\|/g,"\\|").slice(0,100);t.push(`| ${a.kind} | \`${a.id.slice(0,12)}\` | ${i} | ${r} | \`${a.contentHash}\` | ${n||"\u2014"} |`)}return t.push(""),t.join(`
|
|
9
9
|
`)}o(B,"formatSafeArtifactsMd");function M(e){return{projectId:e.projectId,count:e.count,artifacts:e.artifacts}}o(M,"formatSafeArtifactsJson");export{M as formatSafeArtifactsJson,B as formatSafeArtifactsMd,L as listSafeArtifacts};
|
|
@@ -4,6 +4,6 @@ import { dirname as __pathDirname } from 'path';
|
|
|
4
4
|
const require = __createRequire(import.meta.url);
|
|
5
5
|
const __filename = __fileURLToPath(import.meta.url);
|
|
6
6
|
const __dirname = __pathDirname(__filename);
|
|
7
|
-
import{i as S}from"./chunk-
|
|
7
|
+
import{i as S}from"./chunk-UAYTDSYG.mjs";import"./chunk-NNILF7R3.mjs";import"./chunk-NZKUCQZK.mjs";import"./chunk-H2KNJUPN.mjs";import{a as v,b as u}from"./chunk-WZ6W5ZQ5.mjs";import{a as f}from"./chunk-6POAOY5C.mjs";import{a as w}from"./chunk-5DZ2LTII.mjs";import{d as k}from"./chunk-FOWTB762.mjs";import"./chunk-6FUCOGOW.mjs";import"./chunk-6U3CYLY5.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-CB3CNJTL.mjs";import"./chunk-LZILSE5H.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-BUD3R6LF.mjs";import"./chunk-ZQ2XH76U.mjs";import"./chunk-B2HY22OD.mjs";import"./chunk-XLFEWZRA.mjs";import"./chunk-X433BB6F.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 l}from"./chunk-ID2C2S33.mjs";import"./chunk-DIEPWXJJ.mjs";import"./chunk-UNNY2IWZ.mjs";import{b as g}from"./chunk-XSZOHNL4.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-XWLTEAGN.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import"./chunk-225DWS4D.mjs";import{a as i}from"./chunk-3TRXQAU4.mjs";var a=["off","advisory","strict"],$=[{key:"spec drafted",reached:i(()=>!0,"reached")},{key:"audit-spec passed (reviewed)",reached:i(n=>n!=="draft","reached")},{key:"task linked",reached:i(n=>n==="in_progress"||n==="shipped","reached")},{key:"shipped",reached:i(n=>n==="shipped","reached")}],D=class extends w{static{i(this,"SddCommands")}async sdd(e=null,t=process.cwd(),o={}){let s=v(e,a);return s.kind==="status"?this.showStatus(t,o):s.kind==="mode"?this.setMode(s.mode,t,o):k(`Unknown sdd subcommand "${s.sub}". Use: ${a.join("|")}.`,o)}async showStatus(e,t){let o=await u(e,t);if(!o.ok)return o.result;let s=o.value,r=M(s),c=await(async()=>{try{let p=await S(s.projectId,e);if(p?.linkedSpecId){let{specService:h}=await import("./spec-service-UZ53XL6X.mjs"),d=await h.get(e,p.linkedSpecId);if(d)return{specLine:`Active spec: \`${d.title}\` (${d.status})`,station:$.map(y=>`${y.reached(d.status)?"\u2713":"\u25CB"} ${y.key}`).join(" ")}}else if(p)return{specLine:"Active work cycle has NO linked spec",station:"no active work cycle"};return{specLine:"Active spec: none",station:"no active work cycle"}}catch{return{specLine:"Active spec: none",station:"no active work cycle"}}})(),m=[`Mode: ${r}${r==="off"?" (pipeline stays escalate-only)":""}`,c.specLine,`Pipeline: ${c.station}`,"Set: prjct sdd off|advisory|strict"];return t.md?console.log(f("## SDD",`> **Mode**: \`${r}\``,m.slice(1).join(`
|
|
8
8
|
`))):l.info(`SDD \u2014 ${m.join(`
|
|
9
9
|
`)}`),{success:!0,mode:r}}async setMode(e,t,o){let s=await u(t,o);if(!s.ok)return s.result;let r=s.value;r.sdd={mode:e},await g.writeConfig(t,r);let c=e==="off"?"SDD mode off \u2014 the spec pipeline stays escalate-only (no gating).":e==="advisory"?"SDD mode \u2192 advisory. The skill nudges toward a spec for complex work; `ship` surfaces acceptance criteria.":"SDD mode \u2192 strict. Every `prjct work` cycle must link a REVIEWED intent/spec, and `ship` blocks unspecced work (override: `prjct ship --no-spec-gate`).";return o.md?console.log(f("## SDD",`> ${c}`)):l.done(c),{success:!0,mode:e}}};function M(n){let e=n?.sdd?.mode;if(e&&a.includes(e))return e;let t=process.env.PRJCT_SDD_MODE?.toLowerCase();return t&&a.includes(t)?t:"off"}i(M,"effectiveSddMode");var b={effectiveSddMode:M,SDD_MODES:a};export{D as SddCommands,b as _internal,M as effectiveSddMode};
|