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.
Files changed (297) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/dist/bin/core-chunks/{agent-HCP5FF77.mjs → agent-3N2MSSGT.mjs} +1 -1
  3. package/dist/bin/core-chunks/{agent-switch-AVSX6SLY.mjs → agent-switch-4SE6GF7R.mjs} +1 -1
  4. package/dist/bin/core-chunks/{agents-OAQXBGH3.mjs → agents-ZPNNCOH7.mjs} +1 -1
  5. package/dist/bin/core-chunks/{analysis-3A7ODSSI.mjs → analysis-OARMM4AH.mjs} +2 -2
  6. package/dist/bin/core-chunks/{auto-flush-EWSVMKQN.mjs → auto-flush-XA3V7BJ6.mjs} +1 -1
  7. package/dist/bin/core-chunks/{bin-commands-LLHG2NSY.mjs → bin-commands-FYID6EYI.mjs} +5 -5
  8. package/dist/bin/core-chunks/{capture-7LQ52T6L.mjs → capture-3JJPWIF3.mjs} +1 -1
  9. package/dist/bin/core-chunks/{capture-gate-M4HM7WAI.mjs → capture-gate-G5LGVDME.mjs} +1 -1
  10. package/dist/bin/core-chunks/{ceremonies-4OZ3FKRE.mjs → ceremonies-B565WDCA.mjs} +4 -4
  11. package/dist/bin/core-chunks/{changelog-CUNVCEL5.mjs → changelog-LPJ4GKB6.mjs} +1 -1
  12. package/dist/bin/core-chunks/{chunk-DN46DLU3.mjs → chunk-2FRLIQKX.mjs} +1 -1
  13. package/dist/bin/core-chunks/{chunk-X4FR5S7E.mjs → chunk-2VRS5CUH.mjs} +1 -1
  14. package/dist/bin/core-chunks/{chunk-ZK7BMUMR.mjs → chunk-2VXPFULA.mjs} +1 -1
  15. package/dist/bin/core-chunks/chunk-3OWKIRK6.mjs +7 -0
  16. package/dist/bin/core-chunks/{chunk-V5VCXMKO.mjs → chunk-5DZ2LTII.mjs} +1 -1
  17. package/dist/bin/core-chunks/{chunk-5ONMON5L.mjs → chunk-5OWPZWEU.mjs} +1 -1
  18. package/dist/bin/core-chunks/{chunk-KWC2PCPC.mjs → chunk-5TGZSK4C.mjs} +1 -1
  19. package/dist/bin/core-chunks/chunk-5ZBACKED.mjs +14 -0
  20. package/dist/bin/core-chunks/{chunk-X35YYOFE.mjs → chunk-6KNMT46X.mjs} +2 -2
  21. package/dist/bin/core-chunks/{chunk-5MN22JFI.mjs → chunk-6POAOY5C.mjs} +1 -1
  22. package/dist/bin/core-chunks/{chunk-7CI4AMVO.mjs → chunk-6U3CYLY5.mjs} +1 -1
  23. package/dist/bin/core-chunks/{chunk-J7T5IEFJ.mjs → chunk-6U3MV7KZ.mjs} +1 -1
  24. package/dist/bin/core-chunks/{chunk-2ZPM4Z6W.mjs → chunk-7BU6SJBC.mjs} +4 -4
  25. package/dist/bin/core-chunks/{chunk-ZKJZDOPT.mjs → chunk-ACIOJQSI.mjs} +1 -1
  26. package/dist/bin/core-chunks/{chunk-UE3XKXWM.mjs → chunk-ALTQ3KL4.mjs} +1 -1
  27. package/dist/bin/core-chunks/{chunk-IVGWOY3U.mjs → chunk-ANBDOI53.mjs} +1 -1
  28. package/dist/bin/core-chunks/{chunk-LZC6NGB6.mjs → chunk-B2HY22OD.mjs} +2 -2
  29. package/dist/bin/core-chunks/{chunk-6AFXUX2M.mjs → chunk-BUD3R6LF.mjs} +2 -2
  30. package/dist/bin/core-chunks/{chunk-MDONTD7O.mjs → chunk-CA2VFWFP.mjs} +1 -1
  31. package/dist/bin/core-chunks/{chunk-56FW4P6U.mjs → chunk-CB3CNJTL.mjs} +1 -1
  32. package/dist/bin/core-chunks/{chunk-6FFOWWH2.mjs → chunk-CVKMV22J.mjs} +1 -1
  33. package/dist/bin/core-chunks/{chunk-5UUITMRX.mjs → chunk-CXKDKMYE.mjs} +1 -1
  34. package/dist/bin/core-chunks/{chunk-XSZG3CBO.mjs → chunk-DTMZBK4E.mjs} +1 -1
  35. package/dist/bin/core-chunks/chunk-DW4QMD6J.mjs +10 -0
  36. package/dist/bin/core-chunks/{chunk-CDLZLTRY.mjs → chunk-DZDEBDAB.mjs} +1 -1
  37. package/dist/bin/core-chunks/{chunk-WGDE3L33.mjs → chunk-FOUBHU4X.mjs} +1 -1
  38. package/dist/bin/core-chunks/{chunk-CNWEQUB7.mjs → chunk-HA7Y76GF.mjs} +1 -1
  39. package/dist/bin/core-chunks/{chunk-MTDCRYLP.mjs → chunk-HVXWQ2XZ.mjs} +1 -1
  40. package/dist/bin/core-chunks/{chunk-OYXQRBVM.mjs → chunk-IJNKHQIS.mjs} +1 -1
  41. package/dist/bin/core-chunks/{chunk-KIRU4QFX.mjs → chunk-J6Y7IVFQ.mjs} +1 -1
  42. package/dist/bin/core-chunks/{chunk-3FXNIJCS.mjs → chunk-JGGQSMZC.mjs} +1 -1
  43. package/dist/bin/core-chunks/{chunk-6P4GMVUZ.mjs → chunk-KI4OY3UQ.mjs} +1 -1
  44. package/dist/bin/core-chunks/{chunk-BTCCUMKI.mjs → chunk-L3DJN3XD.mjs} +1 -1
  45. package/dist/bin/core-chunks/{chunk-CEOTHJIY.mjs → chunk-LFOQ7FCR.mjs} +1 -1
  46. package/dist/bin/core-chunks/{chunk-XU3BQPBU.mjs → chunk-LGX2GM45.mjs} +1 -1
  47. package/dist/bin/core-chunks/chunk-LTKUTRRL.mjs +7 -0
  48. package/dist/bin/core-chunks/{chunk-BQKDJ3U6.mjs → chunk-LZILSE5H.mjs} +1 -1
  49. package/dist/bin/core-chunks/chunk-MPU3VM6Z.mjs +7 -0
  50. package/dist/bin/core-chunks/{chunk-INM5COWM.mjs → chunk-MXJF3FA7.mjs} +1 -1
  51. package/dist/bin/core-chunks/{chunk-VDXTMAMO.mjs → chunk-NNILF7R3.mjs} +1 -1
  52. package/dist/bin/core-chunks/{chunk-WZXUFSVT.mjs → chunk-O5VCBMEK.mjs} +1 -1
  53. package/dist/bin/core-chunks/{chunk-XYDLXF5A.mjs → chunk-OE27RFLJ.mjs} +1 -1
  54. package/dist/bin/core-chunks/{chunk-HEXSVBUP.mjs → chunk-OGM34Z6W.mjs} +1 -1
  55. package/dist/bin/core-chunks/{chunk-KKIJAEYU.mjs → chunk-OXKGN3HG.mjs} +1 -1
  56. package/dist/bin/core-chunks/{chunk-QLMZW4K7.mjs → chunk-PQTR6XVW.mjs} +1 -1
  57. package/dist/bin/core-chunks/{chunk-53ZPEZLU.mjs → chunk-Q7GJIU6D.mjs} +1 -1
  58. package/dist/bin/core-chunks/{chunk-IFLBZKKK.mjs → chunk-QWRPJARA.mjs} +1 -1
  59. package/dist/bin/core-chunks/{chunk-TGNZI4KF.mjs → chunk-STFUT7R7.mjs} +2 -2
  60. package/dist/bin/core-chunks/{chunk-IMQCXC3R.mjs → chunk-SUXIKMTS.mjs} +1 -1
  61. package/dist/bin/core-chunks/{chunk-WP5IU4W4.mjs → chunk-TOORPP6K.mjs} +1 -1
  62. package/dist/bin/core-chunks/{chunk-7QMBIMEX.mjs → chunk-UAYTDSYG.mjs} +3 -3
  63. package/dist/bin/core-chunks/{chunk-PPERWRFS.mjs → chunk-UNIBFM6J.mjs} +1 -1
  64. package/dist/bin/core-chunks/{chunk-5YSPND5J.mjs → chunk-UX2ORID4.mjs} +1 -1
  65. package/dist/bin/core-chunks/{chunk-3JD6KRNJ.mjs → chunk-VJCTTFKP.mjs} +1 -1
  66. package/dist/bin/core-chunks/chunk-W23JLJJZ.mjs +109 -0
  67. package/dist/bin/core-chunks/{chunk-DCVPNFS4.mjs → chunk-WCTVZQBG.mjs} +1 -1
  68. package/dist/bin/core-chunks/{chunk-GOIBJ7PV.mjs → chunk-WZ6W5ZQ5.mjs} +1 -1
  69. package/dist/bin/core-chunks/{chunk-XPRLQIVQ.mjs → chunk-X433BB6F.mjs} +1 -1
  70. package/dist/bin/core-chunks/{chunk-ZHTYSYZC.mjs → chunk-XBR63NJA.mjs} +1 -1
  71. package/dist/bin/core-chunks/{chunk-ZS7XJUPE.mjs → chunk-XJTEPHLC.mjs} +1 -1
  72. package/dist/bin/core-chunks/{chunk-K25HGTC3.mjs → chunk-XLAGA5B7.mjs} +1 -1
  73. package/dist/bin/core-chunks/{chunk-3USVY66O.mjs → chunk-XSZOHNL4.mjs} +1 -1
  74. package/dist/bin/core-chunks/{chunk-TTN2CFZC.mjs → chunk-XWLTEAGN.mjs} +1 -1
  75. package/dist/bin/core-chunks/{chunk-V3Y3G2DE.mjs → chunk-YOWW4LHK.mjs} +1 -1
  76. package/dist/bin/core-chunks/{chunk-P53YMOKR.mjs → chunk-YPLFWN62.mjs} +1 -1
  77. package/dist/bin/core-chunks/{chunk-ZQHSJ6FF.mjs → chunk-ZAUJWUUN.mjs} +3 -3
  78. package/dist/bin/core-chunks/{chunk-WSVMQYYU.mjs → chunk-ZQ2XH76U.mjs} +2 -2
  79. package/dist/bin/core-chunks/{chunk-RXXXA7Z6.mjs → chunk-ZSANMA7K.mjs} +1 -1
  80. package/dist/bin/core-chunks/{chunk-AJTBFIH2.mjs → chunk-ZZR3LXCK.mjs} +1 -1
  81. package/dist/bin/core-chunks/{cleanup-installs-WHXUGAHM.mjs → cleanup-installs-LD43GI4K.mjs} +1 -1
  82. package/dist/bin/core-chunks/{cloud-FFUJZLDV.mjs → cloud-RXHFZ7MX.mjs} +1 -1
  83. package/dist/bin/core-chunks/{code-SU7GCPH6.mjs → code-IYK65A62.mjs} +1 -1
  84. package/dist/bin/core-chunks/{codex-hooks-GOLMCL2Q.mjs → codex-hooks-N5UHKK5B.mjs} +1 -1
  85. package/dist/bin/core-chunks/{codex-mcp-K4X2UIQF.mjs → codex-mcp-G7WNAT6T.mjs} +1 -1
  86. package/dist/bin/core-chunks/{codex-skill-3HNVU4T4.mjs → codex-skill-IZNP76BJ.mjs} +1 -1
  87. package/dist/bin/core-chunks/{command-installer-XIQK2G6W.mjs → command-installer-4ENM4GZR.mjs} +1 -1
  88. package/dist/bin/core-chunks/{config-W3RHV3GK.mjs → config-UVF7YOR6.mjs} +1 -1
  89. package/dist/bin/core-chunks/{config-manager-QVFHXIKI.mjs → config-manager-QY73WM5U.mjs} +1 -1
  90. package/dist/bin/core-chunks/{context-4KGTUAC4.mjs → context-4GB6ICXK.mjs} +1 -1
  91. package/dist/bin/core-chunks/{context-DDHC7VIC.mjs → context-MPHOQPXF.mjs} +2 -2
  92. package/dist/bin/core-chunks/{context-checkpoint-4CEUPEVG.mjs → context-checkpoint-NBI5HKPV.mjs} +1 -1
  93. package/dist/bin/core-chunks/{context-tiers-4S6H22NP.mjs → context-tiers-NOKJ75QP.mjs} +1 -1
  94. package/dist/bin/core-chunks/{context7-service-AZWDYK5Z.mjs → context7-service-2MYRUNKY.mjs} +1 -1
  95. package/dist/bin/core-chunks/{core-PR5WEQCS.mjs → core-WMEHDCOK.mjs} +1 -1
  96. package/dist/bin/core-chunks/{crew-JQCG6NS3.mjs → crew-EYVSIX4L.mjs} +1 -1
  97. package/dist/bin/core-chunks/{cwd-changed-ODKZVSPB.mjs → cwd-changed-EUJZOBIC.mjs} +1 -1
  98. package/dist/bin/core-chunks/{daemon-2NQTBFVR.mjs → daemon-QARP3RVX.mjs} +1 -1
  99. package/dist/bin/core-chunks/{developer-profile-MRPBWL2K.mjs → developer-profile-2VSFJGCU.mjs} +1 -1
  100. package/dist/bin/core-chunks/{distill-MLDZG5RA.mjs → distill-ZF7WHGCZ.mjs} +1 -1
  101. package/dist/bin/core-chunks/doctor-heal-XFSVPSEY.mjs +7 -0
  102. package/dist/bin/core-chunks/{doctor-service-WXLB2FEE.mjs → doctor-service-6ZJBWIXR.mjs} +1 -1
  103. package/dist/bin/core-chunks/{dynasty-outcomes-H2O546OL.mjs → dynasty-outcomes-KDWIEA4Y.mjs} +1 -1
  104. package/dist/bin/core-chunks/{embeddings-7A5Z5I67.mjs → embeddings-354ZYFKX.mjs} +1 -1
  105. package/dist/bin/core-chunks/{enriched-recall-YXK7EIKH.mjs → enriched-recall-MKBOXB7M.mjs} +1 -1
  106. package/dist/bin/core-chunks/{eval-4YFUBFLV.mjs → eval-O4YD6YOV.mjs} +2 -2
  107. package/dist/bin/core-chunks/{format-5V6GF6JJ.mjs → format-SYVL4CV5.mjs} +1 -1
  108. package/dist/bin/core-chunks/{gemini-settings-ZTU3VQU3.mjs → gemini-settings-RGD7JLSP.mjs} +1 -1
  109. package/dist/bin/core-chunks/{grok-mcp-F3SRFMCW.mjs → grok-mcp-IE2RRRRW.mjs} +1 -1
  110. package/dist/bin/core-chunks/{grok-plugin-4CE2WUYI.mjs → grok-plugin-SSANHBS7.mjs} +1 -1
  111. package/dist/bin/core-chunks/{grok-skill-GLSBOOKW.mjs → grok-skill-7ZP7R7KO.mjs} +1 -1
  112. package/dist/bin/core-chunks/{guard-FJBJ6IAE.mjs → guard-RT7U3LJX.mjs} +1 -1
  113. package/dist/bin/core-chunks/{guards-LFUFKVVH.mjs → guards-AXH6V2IJ.mjs} +1 -1
  114. package/dist/bin/core-chunks/{harness-FN3HASSA.mjs → harness-V7J7WIT2.mjs} +2 -2
  115. package/dist/bin/core-chunks/{health-W2VWME7Z.mjs → health-TNB5OC37.mjs} +1 -1
  116. package/dist/bin/core-chunks/{help-I37I3V2R.mjs → help-P7EYELVK.mjs} +1 -1
  117. package/dist/bin/core-chunks/{hooks-service-C2P5DRCH.mjs → hooks-service-REI56DDC.mjs} +1 -1
  118. package/dist/bin/core-chunks/{install-XP4S6HWQ.mjs → install-FZQJJWT5.mjs} +2 -2
  119. package/dist/bin/core-chunks/{judgment-GJE332LF.mjs → judgment-G5KH6QFC.mjs} +2 -2
  120. package/dist/bin/core-chunks/{judgment-receipt-WT4EMCAV.mjs → judgment-receipt-GO6QEZQC.mjs} +1 -1
  121. package/dist/bin/core-chunks/{kimi-hooks-2UEUIKXV.mjs → kimi-hooks-TR6J3OVG.mjs} +1 -1
  122. package/dist/bin/core-chunks/{kimi-mcp-DJCXZ2JY.mjs → kimi-mcp-ETG7O6O5.mjs} +1 -1
  123. package/dist/bin/core-chunks/{land-cue-5USQ64MS.mjs → land-cue-3BUD3KJJ.mjs} +1 -1
  124. package/dist/bin/core-chunks/{land-rho-ISNVEPVC.mjs → land-rho-MCTQDPRH.mjs} +1 -1
  125. package/dist/bin/core-chunks/{land-synthesis-CHARJMUP.mjs → land-synthesis-MU4EZEYL.mjs} +1 -1
  126. package/dist/bin/core-chunks/{lean-L53CKZNH.mjs → lean-26BWCUOR.mjs} +1 -1
  127. package/dist/bin/core-chunks/{legacy-crew-sweep-2TLKJTHI.mjs → legacy-crew-sweep-G5UJT2PM.mjs} +2 -2
  128. package/dist/bin/core-chunks/{llm-XMH7WTHV.mjs → llm-KMVXVBHG.mjs} +1 -1
  129. package/dist/bin/core-chunks/{mcp-FLVIZBV2.mjs → mcp-BD5TOTCK.mjs} +1 -1
  130. package/dist/bin/core-chunks/{memory-dream-EJWI4FJO.mjs → memory-dream-6GFV2GXN.mjs} +1 -1
  131. package/dist/bin/core-chunks/{memory-export-27HTNNFI.mjs → memory-export-WJ4H7CFV.mjs} +1 -1
  132. package/dist/bin/core-chunks/{memory-index-BRZDZ2BY.mjs → memory-index-7NIU34EI.mjs} +1 -1
  133. package/dist/bin/core-chunks/{notification-KJ4FQJAW.mjs → notification-G654IX3O.mjs} +1 -1
  134. package/dist/bin/core-chunks/{notify-76B7AICZ.mjs → notify-EWYUBKGO.mjs} +1 -1
  135. package/dist/bin/core-chunks/{opencode-mcp-5YSIYDI3.mjs → opencode-mcp-L7NC77JF.mjs} +1 -1
  136. package/dist/bin/core-chunks/{pack-integrity-GXN67LJB.mjs → pack-integrity-X277OVRB.mjs} +1 -1
  137. package/dist/bin/core-chunks/{pack-manager-46SPIPPD.mjs → pack-manager-VN7F6R47.mjs} +1 -1
  138. package/dist/bin/core-chunks/package-R4FUTGOE.mjs +7 -0
  139. package/dist/bin/core-chunks/{pi-skill-SDHTUK3V.mjs → pi-skill-IZQEUILZ.mjs} +1 -1
  140. package/dist/bin/core-chunks/{planning-S3MYVWH6.mjs → planning-NOWLKZDS.mjs} +2 -2
  141. package/dist/bin/core-chunks/{post-edit-5YSNEMK7.mjs → post-edit-GTBY32JU.mjs} +1 -1
  142. package/dist/bin/core-chunks/{pre-bash-GLDILCRF.mjs → pre-bash-32ZOGNSP.mjs} +1 -1
  143. package/dist/bin/core-chunks/{pre-commit-U6HPPNIC.mjs → pre-commit-7TU2A7H4.mjs} +1 -1
  144. package/dist/bin/core-chunks/{pre-edit-PEYQA6P6.mjs → pre-edit-ASEWA5TS.mjs} +1 -1
  145. package/dist/bin/core-chunks/{pre-package-76JR5GLO.mjs → pre-package-ZTZACEBB.mjs} +1 -1
  146. package/dist/bin/core-chunks/{pre-search-5EHNUOP3.mjs → pre-search-MKDRFJSE.mjs} +1 -1
  147. package/dist/bin/core-chunks/{preferences-BTSYWYUM.mjs → preferences-KO5U2ELK.mjs} +1 -1
  148. package/dist/bin/core-chunks/{primitives-IXAYLX7U.mjs → primitives-GNUMBYOK.mjs} +1 -1
  149. package/dist/bin/core-chunks/{prjct-md-SUDFWDCS.mjs → prjct-md-BSFV7OQQ.mjs} +1 -1
  150. package/dist/bin/core-chunks/{product-KKGJ6MMF.mjs → product-GUHSUNIH.mjs} +1 -1
  151. package/dist/bin/core-chunks/{project-agent-surfaces-I2CUZUIN.mjs → project-agent-surfaces-BXCJJXB7.mjs} +1 -1
  152. package/dist/bin/core-chunks/{project-memory-GYLYIJQD.mjs → project-memory-L5MDZYST.mjs} +1 -1
  153. package/dist/bin/core-chunks/{project-style-evolution-5W25UPPN.mjs → project-style-evolution-HIMSJQQB.mjs} +1 -1
  154. package/dist/bin/core-chunks/prompt-47YP5JIR.mjs +25 -0
  155. package/dist/bin/core-chunks/{purge-5EPJV25P.mjs → purge-6SJKHKIY.mjs} +1 -1
  156. package/dist/bin/core-chunks/{registry-LK6IQ5UX.mjs → registry-YM2EYUXY.mjs} +1 -1
  157. package/dist/bin/core-chunks/{retention-S22T3SPT.mjs → retention-QSXWKE4H.mjs} +1 -1
  158. package/dist/bin/core-chunks/{retro-CLKOHAN6.mjs → retro-B2EBN4TA.mjs} +1 -1
  159. package/dist/bin/core-chunks/{review-risk-LLLBKUXT.mjs → review-risk-LBPY5M3K.mjs} +1 -1
  160. package/dist/bin/core-chunks/{safe-artifacts-RW5WQUUJ.mjs → safe-artifacts-PE2TMEZQ.mjs} +1 -1
  161. package/dist/bin/core-chunks/{sdd-HE7O6N5S.mjs → sdd-3WNZJ6FU.mjs} +1 -1
  162. package/dist/bin/core-chunks/{seed-JX7W53E5.mjs → seed-MMDJE2UO.mjs} +2 -2
  163. package/dist/bin/core-chunks/{self-heal-DFUEKNF3.mjs → self-heal-R5FBXEVQ.mjs} +1 -1
  164. package/dist/bin/core-chunks/{session-continuity-BFSW4OL6.mjs → session-continuity-OQDB5UYI.mjs} +1 -1
  165. package/dist/bin/core-chunks/{session-start-HVYUKJL2.mjs → session-start-FM6UL7MT.mjs} +1 -1
  166. package/dist/bin/core-chunks/{setup-GHS24ER5.mjs → setup-BL36ZWPW.mjs} +2 -2
  167. package/dist/bin/core-chunks/{setup-J4JFYT63.mjs → setup-V75BWRHU.mjs} +2 -2
  168. package/dist/bin/core-chunks/{shipping-I4D4AVTE.mjs → shipping-NZVM57JJ.mjs} +4 -4
  169. package/dist/bin/core-chunks/{signals-digest-V44KYN6Z.mjs → signals-digest-P5BG6MZF.mjs} +1 -1
  170. package/dist/bin/core-chunks/{skill-adherence-MHY4BZL4.mjs → skill-adherence-JE3N3Y67.mjs} +1 -1
  171. package/dist/bin/core-chunks/{spec-2XXPLHUZ.mjs → spec-VC3VTUI3.mjs} +3 -3
  172. package/dist/bin/core-chunks/{spec-context-inference-THFMXC7S.mjs → spec-context-inference-KOINWBC7.mjs} +1 -1
  173. package/dist/bin/core-chunks/{spec-service-I23KJKKP.mjs → spec-service-UZ53XL6X.mjs} +1 -1
  174. package/dist/bin/core-chunks/{spec-task-breakdown-HTG6ME6G.mjs → spec-task-breakdown-3Y7YXCIQ.mjs} +1 -1
  175. package/dist/bin/core-chunks/{stop-2H57XCGZ.mjs → stop-6SH36ULT.mjs} +3 -3
  176. package/dist/bin/core-chunks/{subagent-start-5LPASXOS.mjs → subagent-start-TVGBV2V2.mjs} +1 -1
  177. package/dist/bin/core-chunks/{subagent-stop-ANLSG3KN.mjs → subagent-stop-APWY6KMX.mjs} +1 -1
  178. package/dist/bin/core-chunks/{surface-attribution-WL7S53XX.mjs → surface-attribution-CQVM2SWY.mjs} +1 -1
  179. package/dist/bin/core-chunks/{task-service-FK7FC3PE.mjs → task-service-KFYL5NT4.mjs} +1 -1
  180. package/dist/bin/core-chunks/{tdd-NQDHU62B.mjs → tdd-P2PP4RR4.mjs} +1 -1
  181. package/dist/bin/core-chunks/{team-XZ4Q6UBV.mjs → team-WKAAOEFE.mjs} +1 -1
  182. package/dist/bin/core-chunks/{template-loader-33OVJ4G5.mjs → template-loader-H4FE37HV.mjs} +1 -1
  183. package/dist/bin/core-chunks/{uninstall-6NFON7FO.mjs → uninstall-W6EAUS7N.mjs} +1 -1
  184. package/dist/bin/core-chunks/{update-4IE6SA6M.mjs → update-PSHEJJI5.mjs} +2 -2
  185. package/dist/bin/core-chunks/{update-checker-FK7MWNWN.mjs → update-checker-LZCUPWQB.mjs} +1 -1
  186. package/dist/bin/core-chunks/{version-252QLBN2.mjs → version-B5DBRVGQ.mjs} +1 -1
  187. package/dist/bin/core-chunks/{watch-service-7ZERG7RC.mjs → watch-service-7V3O52TW.mjs} +1 -1
  188. package/dist/bin/core-chunks/weak-frontier-demo-ZCDTMYRO.mjs +7 -0
  189. package/dist/bin/core-chunks/{weak-model-mode-DH66XMD2.mjs → weak-model-mode-LOAPFJPQ.mjs} +1 -1
  190. package/dist/bin/core-chunks/{work-graph-JGJWE3AV.mjs → work-graph-ZNV7S6EU.mjs} +1 -1
  191. package/dist/bin/core-chunks/{work-scope-3LXOEIUX.mjs → work-scope-XXPUH6TU.mjs} +1 -1
  192. package/dist/bin/core-chunks/{workflow-FGJVLRQ3.mjs → workflow-XM77QYRF.mjs} +2 -2
  193. package/dist/bin/core-chunks/{workflows-reference-UWKRZ6BJ.mjs → workflows-reference-T7RH7IGJ.mjs} +1 -1
  194. package/dist/bin/core-chunks/{world-model-impact-RH5WH2B3.mjs → world-model-impact-FAGGNUGN.mjs} +1 -1
  195. package/dist/bin/hook-chunks/{agent-switch-7GOGG4KG.mjs → agent-switch-TAJWH2ZD.mjs} +1 -1
  196. package/dist/bin/hook-chunks/{analysis-UI2JRLJO.mjs → analysis-34WDLUXK.mjs} +2 -2
  197. package/dist/bin/hook-chunks/{auto-flush-JKIXTI2I.mjs → auto-flush-7TIEBPPQ.mjs} +1 -1
  198. package/dist/bin/hook-chunks/{capture-gate-DIPHPNIC.mjs → capture-gate-JFVGG7RB.mjs} +1 -1
  199. package/dist/bin/hook-chunks/{chunk-XXVHUYL7.mjs → chunk-22CBVTZ3.mjs} +1 -1
  200. package/dist/bin/hook-chunks/{chunk-ZH2MF7H7.mjs → chunk-3JOZN7YJ.mjs} +1 -1
  201. package/dist/bin/hook-chunks/{chunk-Y7RDBMNC.mjs → chunk-4X3KUIXK.mjs} +1 -1
  202. package/dist/bin/hook-chunks/{chunk-6RS7PNAN.mjs → chunk-5ALQBNIZ.mjs} +1 -1
  203. package/dist/bin/hook-chunks/{chunk-IL36ER4U.mjs → chunk-5VPZI2ZF.mjs} +1 -1
  204. package/dist/bin/hook-chunks/{chunk-FBEDUKMG.mjs → chunk-6EHYPQ5U.mjs} +1 -1
  205. package/dist/bin/hook-chunks/chunk-7H5UVM6X.mjs +9 -0
  206. package/dist/bin/hook-chunks/{chunk-IDPBMN3Q.mjs → chunk-A3R47SP6.mjs} +1 -1
  207. package/dist/bin/hook-chunks/{chunk-UI25YRTY.mjs → chunk-CGAKJDKT.mjs} +1 -1
  208. package/dist/bin/hook-chunks/{chunk-6LU777GI.mjs → chunk-CJY4Y5SO.mjs} +1 -1
  209. package/dist/bin/hook-chunks/{chunk-WIA6ORIY.mjs → chunk-FSFURDAE.mjs} +1 -1
  210. package/dist/bin/hook-chunks/{chunk-6WDRJ7J7.mjs → chunk-FTBBQHI4.mjs} +1 -1
  211. package/dist/bin/hook-chunks/{chunk-25OGCQTR.mjs → chunk-G4VJKPG7.mjs} +3 -3
  212. package/dist/bin/hook-chunks/{chunk-PFORBQBF.mjs → chunk-GAJOSSB4.mjs} +2 -2
  213. package/dist/bin/hook-chunks/{chunk-KOLXYWOA.mjs → chunk-H3GIYI4Q.mjs} +2 -2
  214. package/dist/bin/hook-chunks/{chunk-B7MHIUFA.mjs → chunk-HRU2KNEB.mjs} +1 -1
  215. package/dist/bin/hook-chunks/{chunk-JF6DFOQK.mjs → chunk-LCGWETJ6.mjs} +1 -1
  216. package/dist/bin/hook-chunks/{chunk-PQJ64L6U.mjs → chunk-MG2DNP4Z.mjs} +1 -1
  217. package/dist/bin/hook-chunks/chunk-NGB6JNSB.mjs +18 -0
  218. package/dist/bin/hook-chunks/{chunk-AEDB75AK.mjs → chunk-OALZUWC6.mjs} +1 -1
  219. package/dist/bin/hook-chunks/{chunk-IFIENAZU.mjs → chunk-PZMBZ6GE.mjs} +1 -1
  220. package/dist/bin/hook-chunks/{chunk-F3PNT2DQ.mjs → chunk-QIB6Y6AH.mjs} +2 -2
  221. package/dist/bin/hook-chunks/{chunk-ZXON2U5F.mjs → chunk-QMNZPNVY.mjs} +1 -1
  222. package/dist/bin/hook-chunks/{chunk-B2ZA5ZAO.mjs → chunk-R4YDE3GU.mjs} +1 -1
  223. package/dist/bin/hook-chunks/{chunk-UBWUQ64A.mjs → chunk-RFKRKUHB.mjs} +1 -1
  224. package/dist/bin/hook-chunks/{chunk-NMB6YSAH.mjs → chunk-RGOTJCZU.mjs} +1 -1
  225. package/dist/bin/hook-chunks/{chunk-ANSRNEEI.mjs → chunk-T2KVL6PZ.mjs} +1 -1
  226. package/dist/bin/hook-chunks/{chunk-HNZ24HIK.mjs → chunk-T7DRHVK3.mjs} +2 -2
  227. package/dist/bin/hook-chunks/{chunk-IHEOOJJT.mjs → chunk-TWFLW6OJ.mjs} +1 -1
  228. package/dist/bin/hook-chunks/{chunk-ONGVBXBD.mjs → chunk-UJIOGFNP.mjs} +1 -1
  229. package/dist/bin/hook-chunks/{chunk-NSTXHVTH.mjs → chunk-UK24P7PV.mjs} +2 -2
  230. package/dist/bin/hook-chunks/{chunk-63P5VOR6.mjs → chunk-ULNGKZB6.mjs} +4 -4
  231. package/dist/bin/hook-chunks/{chunk-UMJ5D5I6.mjs → chunk-UWHVPO6X.mjs} +2 -2
  232. package/dist/bin/hook-chunks/{chunk-A6LRNS6R.mjs → chunk-XC2BSGWF.mjs} +1 -1
  233. package/dist/bin/hook-chunks/{chunk-7PA4KPSR.mjs → chunk-ZPAY2NSF.mjs} +2 -2
  234. package/dist/bin/hook-chunks/{codex-skill-UZZCACMB.mjs → codex-skill-BFRU5FTP.mjs} +1 -1
  235. package/dist/bin/hook-chunks/{command-installer-FJ73C2ZW.mjs → command-installer-3XOZGKOQ.mjs} +1 -1
  236. package/dist/bin/hook-chunks/{config-manager-XDKOTIJM.mjs → config-manager-UPB7NEXF.mjs} +1 -1
  237. package/dist/bin/hook-chunks/{context7-service-NH4BMGSJ.mjs → context7-service-7VFXEQVN.mjs} +1 -1
  238. package/dist/bin/hook-chunks/{cwd-changed-STP3LH6Y.mjs → cwd-changed-USNJYUH7.mjs} +1 -1
  239. package/dist/bin/hook-chunks/{distill-63BHUJAC.mjs → distill-47YVL7IH.mjs} +1 -1
  240. package/dist/bin/hook-chunks/{enriched-recall-6F6LBYAB.mjs → enriched-recall-CVYI52NO.mjs} +1 -1
  241. package/dist/bin/hook-chunks/{format-VJ2YQ4XQ.mjs → format-DPIN45EG.mjs} +1 -1
  242. package/dist/bin/hook-chunks/{judgment-receipt-LSJCAYBT.mjs → judgment-receipt-G2DKQR7U.mjs} +1 -1
  243. package/dist/bin/hook-chunks/{land-cue-DEO2AZW4.mjs → land-cue-3JD2TXFP.mjs} +1 -1
  244. package/dist/bin/hook-chunks/{land-synthesis-GTMFIGDM.mjs → land-synthesis-5C4KGCTB.mjs} +1 -1
  245. package/dist/bin/hook-chunks/{legacy-crew-sweep-QPKU7ITU.mjs → legacy-crew-sweep-XQNXNZES.mjs} +2 -2
  246. package/dist/bin/hook-chunks/{memory-index-KCMXQGKX.mjs → memory-index-LL6SQJ2N.mjs} +1 -1
  247. package/dist/bin/hook-chunks/{notification-DX6ZHOUC.mjs → notification-ACQBRJG3.mjs} +1 -1
  248. package/dist/bin/hook-chunks/{pack-integrity-UMLIB5RQ.mjs → pack-integrity-DCXVRRJZ.mjs} +1 -1
  249. package/dist/bin/hook-chunks/{pack-manager-YXRK2TJ4.mjs → pack-manager-KYWKNYUY.mjs} +1 -1
  250. package/dist/bin/hook-chunks/{planning-JR7O5MYW.mjs → planning-KOU3XKWS.mjs} +2 -2
  251. package/dist/bin/hook-chunks/{post-edit-IPTVSRVG.mjs → post-edit-CK2MYQEN.mjs} +1 -1
  252. package/dist/bin/hook-chunks/{pre-bash-5WWTH36N.mjs → pre-bash-W5A5CTR3.mjs} +1 -1
  253. package/dist/bin/hook-chunks/{pre-commit-KZ5TNTPW.mjs → pre-commit-5Q24RM4S.mjs} +1 -1
  254. package/dist/bin/hook-chunks/{pre-edit-XHPYBXRU.mjs → pre-edit-YIJ4BCYL.mjs} +1 -1
  255. package/dist/bin/hook-chunks/{pre-package-U3HDW3SX.mjs → pre-package-O4RMVA4T.mjs} +1 -1
  256. package/dist/bin/hook-chunks/{pre-search-R5CRK66E.mjs → pre-search-WYOWC3D6.mjs} +1 -1
  257. package/dist/bin/hook-chunks/{prjct-md-IBQTJBK7.mjs → prjct-md-2UVHFYTJ.mjs} +1 -1
  258. package/dist/bin/hook-chunks/{project-agent-surfaces-TPZO73ZV.mjs → project-agent-surfaces-BKFYUMRV.mjs} +1 -1
  259. package/dist/bin/hook-chunks/{project-memory-YQLZX5RG.mjs → project-memory-OC5GTJPY.mjs} +1 -1
  260. package/dist/bin/hook-chunks/{project-style-evolution-NOFCIIZZ.mjs → project-style-evolution-2IFJCACQ.mjs} +1 -1
  261. package/dist/bin/hook-chunks/prompt-JIWMP563.mjs +26 -0
  262. package/dist/bin/hook-chunks/{purge-5W3K2MZL.mjs → purge-FQK3Z4QS.mjs} +1 -1
  263. package/dist/bin/hook-chunks/{retention-GWJ4AX7I.mjs → retention-2FETBJFG.mjs} +1 -1
  264. package/dist/bin/hook-chunks/{sdd-GWBRD4KI.mjs → sdd-V43TSJ2P.mjs} +1 -1
  265. package/dist/bin/hook-chunks/{session-continuity-VH645RGR.mjs → session-continuity-RO2ACICF.mjs} +1 -1
  266. package/dist/bin/hook-chunks/{session-start-4TYTI27B.mjs → session-start-FKKFMKQ5.mjs} +1 -1
  267. package/dist/bin/hook-chunks/{setup-VF4UHUBX.mjs → setup-YV2DKG5L.mjs} +2 -2
  268. package/dist/bin/hook-chunks/{shipping-2ULWBGRX.mjs → shipping-SCNFEXBY.mjs} +4 -4
  269. package/dist/bin/hook-chunks/{spec-context-inference-HVENYOIO.mjs → spec-context-inference-BD3ANTXA.mjs} +1 -1
  270. package/dist/bin/hook-chunks/{spec-service-4XGQQPGP.mjs → spec-service-OWYOAGXS.mjs} +2 -2
  271. package/dist/bin/hook-chunks/{spec-task-breakdown-JXF556UH.mjs → spec-task-breakdown-HOTLUFDM.mjs} +1 -1
  272. package/dist/bin/hook-chunks/{stop-NJDYIIXR.mjs → stop-MIXT7WXA.mjs} +3 -3
  273. package/dist/bin/hook-chunks/{subagent-start-2YMGD4SY.mjs → subagent-start-NO3TN65K.mjs} +1 -1
  274. package/dist/bin/hook-chunks/{subagent-stop-4TZJ2NSJ.mjs → subagent-stop-CKWIXX7W.mjs} +1 -1
  275. package/dist/bin/hook-chunks/{surface-attribution-UNK4J5W2.mjs → surface-attribution-BYESPLXM.mjs} +1 -1
  276. package/dist/bin/hook-chunks/{task-service-SPUES5DO.mjs → task-service-5ONSBKKP.mjs} +1 -1
  277. package/dist/bin/hook-chunks/{tdd-MYF7I5FS.mjs → tdd-SESB4IG3.mjs} +1 -1
  278. package/dist/bin/hook-chunks/{template-loader-4SYVR2UB.mjs → template-loader-KO67FVHO.mjs} +1 -1
  279. package/dist/bin/hook-chunks/{weak-model-mode-TYJJT6JJ.mjs → weak-model-mode-HPXBKXJT.mjs} +1 -1
  280. package/dist/bin/hook-chunks/{work-scope-A6XPENFE.mjs → work-scope-RNPGACPA.mjs} +1 -1
  281. package/dist/bin/prjct-core.mjs +3 -3
  282. package/dist/bin/prjct-hooks.mjs +1 -1
  283. package/dist/daemon/entry.mjs +591 -583
  284. package/dist/mcp/server.mjs +318 -312
  285. package/package.json +2 -1
  286. package/dist/bin/core-chunks/chunk-GDLAQV3Q.mjs +0 -14
  287. package/dist/bin/core-chunks/chunk-R7LLMJDP.mjs +0 -7
  288. package/dist/bin/core-chunks/chunk-UT425KVX.mjs +0 -10
  289. package/dist/bin/core-chunks/chunk-VILH3VYH.mjs +0 -103
  290. package/dist/bin/core-chunks/chunk-Y5SEUYET.mjs +0 -7
  291. package/dist/bin/core-chunks/doctor-heal-ZUZ2RHGY.mjs +0 -7
  292. package/dist/bin/core-chunks/package-DCGCOAGQ.mjs +0 -7
  293. package/dist/bin/core-chunks/prompt-SW5XDRMX.mjs +0 -23
  294. package/dist/bin/core-chunks/weak-frontier-demo-5C4FR3OA.mjs +0 -7
  295. package/dist/bin/hook-chunks/chunk-IWUF2LGO.mjs +0 -18
  296. package/dist/bin/hook-chunks/chunk-ZYCNW75E.mjs +0 -9
  297. package/dist/bin/hook-chunks/prompt-DJWONMTZ.mjs +0 -24
@@ -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 C}from"./chunk-KIRU4QFX.mjs";import"./chunk-7QMBIMEX.mjs";import"./chunk-VDXTMAMO.mjs";import"./chunk-NZKUCQZK.mjs";import"./chunk-H2KNJUPN.mjs";import{a as Q}from"./chunk-5MN22JFI.mjs";import{a as ue}from"./chunk-V5VCXMKO.mjs";import{d as $,e as X}from"./chunk-FOWTB762.mjs";import"./chunk-6FUCOGOW.mjs";import"./chunk-7CI4AMVO.mjs";import"./chunk-Q3LUL6LL.mjs";import"./chunk-C7YBUD4K.mjs";import{c as g}from"./chunk-IOFCSTGM.mjs";import{A as oe,B as ae,E as M,F as D,G as F,H as T,J as H,M as G,P as de,R as ce,d as L,g as P,j as I,l as Z,n as ee,q as te,r as N,s as ne,v as q,x as se,y as ie,z as re}from"./chunk-S6FBPXQL.mjs";import{a as J,b as Y}from"./chunk-NOHSLOLL.mjs";import{g as E}from"./chunk-RCIWCKL7.mjs";import"./chunk-E73HSXCX.mjs";import"./chunk-76YMLNLF.mjs";import"./chunk-O5N6XYPU.mjs";import"./chunk-SROBBOJB.mjs";import"./chunk-56FW4P6U.mjs";import"./chunk-BQKDJ3U6.mjs";import"./chunk-6OYLZ4NM.mjs";import"./chunk-SO3ZPNWT.mjs";import"./chunk-V7R3L54M.mjs";import"./chunk-YEALP3WX.mjs";import"./chunk-QZ7T2EYR.mjs";import"./chunk-UYMZ3NAF.mjs";import"./chunk-AJXELVNH.mjs";import"./chunk-CWLGRKA7.mjs";import"./chunk-2NI4EEK2.mjs";import"./chunk-6AFXUX2M.mjs";import"./chunk-WSVMQYYU.mjs";import"./chunk-LZC6NGB6.mjs";import"./chunk-XLFEWZRA.mjs";import"./chunk-XPRLQIVQ.mjs";import"./chunk-EZRNQXCC.mjs";import"./chunk-HCPQZRR3.mjs";import"./chunk-EHVU2SMR.mjs";import"./chunk-HPCSSJXH.mjs";import"./chunk-E5QQDYBR.mjs";import"./chunk-B7AQHL7B.mjs";import"./chunk-L4TUXFCL.mjs";import{h as K}from"./chunk-ID2C2S33.mjs";import"./chunk-RACISWUV.mjs";import"./chunk-DIEPWXJJ.mjs";import"./chunk-NINFE7GS.mjs";import"./chunk-UNNY2IWZ.mjs";import{b as W}from"./chunk-3USVY66O.mjs";import"./chunk-OIE3AKKO.mjs";import"./chunk-Q6C27OL7.mjs";import"./chunk-NXUIMC22.mjs";import"./chunk-DZVOFEM5.mjs";import"./chunk-5EF5EOCL.mjs";import"./chunk-DMO3ZFUG.mjs";import"./chunk-NNOX3UU4.mjs";import"./chunk-INJ5WT2D.mjs";import{e as b,l as fe}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"./chunk-D62TAZG6.mjs";import"./chunk-KPR5TWSN.mjs";import"./chunk-623SNKDH.mjs";import"./chunk-TTN2CFZC.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import{e as U,g as ge}from"./chunk-225DWS4D.mjs";import{a as R}from"./chunk-3TRXQAU4.mjs";ge();fe();var me="plan | open | add | merge | challenge | fix-round | fixed | verify | brief | next | ghosts | approve | escalate | status | clear",le=class extends ue{static{R(this,"JudgmentCommands")}async judgment(r=null,s=process.cwd(),e={}){try{let i=pe(r??""),n=(i[0]??"status").toLowerCase();return n==="status"||n==="show"?this.status(s,e):n==="plan"?this.plan(s,e):n==="open"?this.open(i.slice(1).join(" "),s,e):n==="add"?this.add(i.slice(1),s,e):n==="merge"?this.merge(i.slice(1),s,e):n==="challenge"||n==="refute"?this.challenge(i.slice(1),s,e):n==="fix-round"||n==="round"?this.fixRound(s,e):n==="fixed"?this.mark(i.slice(1),"fixed",s,e):n==="verify"||n==="verified"?this.mark(i.slice(1),"verified",s,e):n==="brief"?this.brief(s,e):n==="next"?this.next(s,e):n==="ghosts"||n==="ghost"?this.ghosts(s,e):n==="approve"?this.approve(s,e):n==="escalate"?this.escalate(i.slice(1).join(" "),s,e):n==="clear"||n==="reset"?this.clear(s,e):$(`Unknown judgment subcommand "${n}". Use: ${me}`,e)}catch(i){return X(U(i),e)}}async status(r,s){let e=await C(r);if(!e.ok)return e.result;let i=g.get(e.value);if(!i)return h(s,"## Judgment","No active judgment ledger. \u2192 `prjct judgment plan` then `open`, or `next`."),{success:!0,ledger:null};let n=F(i,i.intensity),t=[...ye(i),"",`### Next \u2192 \`${n.kind}\``,n.directive,...n.steps.map(o=>`- ${o}`)];return h(s,"## Judgment ledger",t.join(`
7
+ import{b as C}from"./chunk-J6Y7IVFQ.mjs";import"./chunk-UAYTDSYG.mjs";import"./chunk-NNILF7R3.mjs";import"./chunk-NZKUCQZK.mjs";import"./chunk-H2KNJUPN.mjs";import{a as Q}from"./chunk-6POAOY5C.mjs";import{a as ue}from"./chunk-5DZ2LTII.mjs";import{d as $,e as X}from"./chunk-FOWTB762.mjs";import"./chunk-6FUCOGOW.mjs";import"./chunk-6U3CYLY5.mjs";import"./chunk-Q3LUL6LL.mjs";import"./chunk-C7YBUD4K.mjs";import{c as g}from"./chunk-IOFCSTGM.mjs";import{A as oe,B as ae,E as M,F as D,G as F,H as T,J as H,M as G,P as de,R as ce,d as L,g as P,j as I,l as Z,n as ee,q as te,r as N,s as ne,v as q,x as se,y as ie,z as re}from"./chunk-S6FBPXQL.mjs";import{a as J,b as Y}from"./chunk-NOHSLOLL.mjs";import{g as E}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{h as K}from"./chunk-ID2C2S33.mjs";import"./chunk-RACISWUV.mjs";import"./chunk-DIEPWXJJ.mjs";import"./chunk-NINFE7GS.mjs";import"./chunk-UNNY2IWZ.mjs";import{b as W}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{e as b,l as fe}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"./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 U,g as ge}from"./chunk-225DWS4D.mjs";import{a as R}from"./chunk-3TRXQAU4.mjs";ge();fe();var me="plan | open | add | merge | challenge | fix-round | fixed | verify | brief | next | ghosts | approve | escalate | status | clear",le=class extends ue{static{R(this,"JudgmentCommands")}async judgment(r=null,s=process.cwd(),e={}){try{let i=pe(r??""),n=(i[0]??"status").toLowerCase();return n==="status"||n==="show"?this.status(s,e):n==="plan"?this.plan(s,e):n==="open"?this.open(i.slice(1).join(" "),s,e):n==="add"?this.add(i.slice(1),s,e):n==="merge"?this.merge(i.slice(1),s,e):n==="challenge"||n==="refute"?this.challenge(i.slice(1),s,e):n==="fix-round"||n==="round"?this.fixRound(s,e):n==="fixed"?this.mark(i.slice(1),"fixed",s,e):n==="verify"||n==="verified"?this.mark(i.slice(1),"verified",s,e):n==="brief"?this.brief(s,e):n==="next"?this.next(s,e):n==="ghosts"||n==="ghost"?this.ghosts(s,e):n==="approve"?this.approve(s,e):n==="escalate"?this.escalate(i.slice(1).join(" "),s,e):n==="clear"||n==="reset"?this.clear(s,e):$(`Unknown judgment subcommand "${n}". Use: ${me}`,e)}catch(i){return X(U(i),e)}}async status(r,s){let e=await C(r);if(!e.ok)return e.result;let i=g.get(e.value);if(!i)return h(s,"## Judgment","No active judgment ledger. \u2192 `prjct judgment plan` then `open`, or `next`."),{success:!0,ledger:null};let n=F(i,i.intensity),t=[...ye(i),"",`### Next \u2192 \`${n.kind}\``,n.directive,...n.steps.map(o=>`- ${o}`)];return h(s,"## Judgment ledger",t.join(`
8
8
  `)),{success:!0,ledger:i,verdict:i.verdict,next:n}}async plan(r,s){let e=await C(r);if(!e.ok)return e.result;let i=await E(r),n=await _(r),t=i?.files??0,o=i?.loc??0,{tier:u,intensity:c}=L({files:t,loc:o},{...n,paths:await B(r,i?.dirs)}),a=T(c),m=F(g.get(e.value),c),p=[`Tier: ${u} (${t} files, ${o} LOC${i?` vs ${i.base}`:""})`,`Intensity: **${c}**`,`Reviewers: ${a.reviewers}`,`Refuters: ${a.refuters}`,`Severity floor: ${a.severityFloor}`,`Evidence tax: ${a.evidenceTax}`,`Max fix rounds: ${a.maxFixRounds}`,`Ship: ${a.shipExpectation}`,"",a.redCharter?`RED: ${a.redCharter}`:"",a.blueCharter?`BLUE: ${a.blueCharter}`:"","",`### Next \u2192 \`${m.kind}\``,m.directive,...m.steps.map(v=>`- ${v}`)].filter(Boolean);return h(s,"## Judgment plan",p.join(`
9
9
  `)),{success:!0,tier:u,intensity:c,protocol:a,files:t,loc:o,next:m}}async open(r,s,e){let i=await C(s);if(!i.ok)return i.result;let n=g.get(i.value);if(n&&n.verdict==="in_progress")return $(`Active ledger ${n.id.slice(0,8)} still in_progress. Finish or \`prjct judgment clear\` first.`,e);let t=await E(s),o=await _(s),{tier:u,intensity:c}=L({files:t?.files??0,loc:t?.loc??0},{...o,paths:await B(s,t?.dirs)}),a=r.trim()||await he(s)||`changeset-${t?.base??"local"}`,m=await B(s,t?.dirs),p=ce({target:a,intensity:c,deliveryTier:u,baseSha:t?.base,now:b(),scopePaths:m});g.set(i.value,p);let v=T(c),l=F(p,c),w=p.scopePaths?.length??0,x=[`Opened ledger \`${p.id}\` \u2192 intensity **${c}** (tier ${u})`,`Target: ${a}`,w>0?`Scope freeze: **${w}** path(s) from git (findings outside \u2192 follow-up only)`:"Scope freeze: _none_ (no git paths \u2014 freeze inactive until open has a changeset)",`Reviewers: ${v.reviewers}`,`Evidence tax: ${v.evidenceTax}`,`Max fix rounds: ${p.maxFixRounds}`,"",`### Next \u2192 \`${l.kind}\``,l.directive,...l.steps.map(y=>`- ${y}`)];return h(e,"## Judgment open",x.join(`
10
10
  `)),{success:!0,ledger:p,next:l}}async add(r,s,e){let i=await this.requireLedger(s,e);if(!i.ok)return i.result;let{projectId:n,ledger:t}=i.value,o=V(r),u=o.severity??o.s,c=o.title??o.t;if(!u||!c)return $('add requires --severity <blocker|critical|warning|suggestion> and --title "..."',e);let a=J.safeParse(u.toLowerCase());if(!a.success)return $(`Invalid severity "${u}". Use blocker|critical|warning|suggestion.`,e);let m=o.line,p=ee({id:de(),severity:a.data,status:"candidate",title:c,file:o.file??o.f,line:m?Number.parseInt(m,10):void 0,evidence:o.evidence??o.e,judge:o.judge??o.j}),v=I(P(p)),l=g.getGhosts(n),[w]=N([v],l),x=G(w,t.scopePaths),{findings:y,finding:f,deduped:S}=H(t.findings,x);t.findings=y,t.updatedAt=b(),t.verdict="in_progress",g.set(n,t);let A=f.severity!==a.data?` \xB7 evidence tax: ${a.data} \u2192 ${f.severity}`:"",j=f.status==="refuted"&&/MECHANICAL REFUTE/i.test(f.evidence??"")?" \xB7 \u26A1 mechanical refute (prefer-const hallucination)":"",k=x.status==="info"&&w.status!=="info"?" \xB7 **out of frozen scope** (follow-up only)":"",O=[`${S?"Merged (DNA dedup)":"Added"} ${f.severity} [${f.status}] \`${f.id}\`: ${f.title}${A}${j}${k}`,`DNA \`${f.dna}\` \xB7 evidence=${f.evidenceScore??0}/3 \xB7 blast=${f.blast??0}`,f.knownFalsePositive?"\u{1F47B} GHOST \u2014 previously refuted in this project; challenge hard":"",f.status==="refuted"?"\u2192 REFUTED by code (will not enter fix loops)":f.status==="info"?"\u2192 info only (will not enter fix loops)":"\u2192 candidate (must survive batch challenge before fix)"].filter(Boolean);return h(e,"## Judgment add",O.join(`
@@ -17,5 +17,5 @@ import{b as C}from"./chunk-KIRU4QFX.mjs";import"./chunk-7QMBIMEX.mjs";import"./c
17
17
  `)),{success:!0,brief:n,ledger:i}}async next(r,s){let e=await C(r);if(!e.ok)return e.result;let i=g.get(e.value),n=i?.intensity??await(async()=>{let u=await E(r),c=await _(r);return L({files:u?.files??0,loc:u?.loc??0},{...c,paths:await B(r,u?.dirs)}).intensity})(),t=F(i,n),o=[`**kind**: \`${t.kind}\``,`**intensity**: ${t.intensity} \xB7 round ${t.fixRound}/${t.maxFixRounds}`,"",`> ${t.directive}`,"","### Steps",...t.steps.map((u,c)=>`${c+1}. ${u}`),"","### Counts",Object.entries(t.counts).map(([u,c])=>`${u}=${c}`).join(" \xB7 ")];return t.judgeCharters&&o.push("","### Charters",`RED: ${t.judgeCharters.red}`,"",`BLUE: ${t.judgeCharters.blue}`),t.rankedFixIds.length&&o.push("",`### Blast rank: ${t.rankedFixIds.join(" \u2192 ")}`),h(s,"## Judgment NEXT",o.join(`
18
18
  `)),{success:!0,next:t,ledger:i}}async ghosts(r,s){let e=await C(r);if(!e.ok)return e.result;let i=g.getGhosts(e.value);if(!i.ghosts.length)return h(s,"## Judgment ghosts","No project false-positive ghosts yet. They compound when findings are refuted."),{success:!0,ghosts:[]};let n=i.ghosts.slice(0,30).map(t=>`- \`${t.dna}\` \xD7${t.times} \u2014 ${t.title}${t.lastReason?` (${t.lastReason})`:""}`);return h(s,"## Judgment ghosts (project FP memory)",[`${i.ghosts.length} remembered \xB7 updated ${i.updatedAt}`,"",...n].join(`
19
19
  `)),{success:!0,ghosts:i.ghosts}}async approve(r,s){let e=await this.requireLedger(r,s);if(!e.ok)return e.result;let{projectId:i,ledger:n}=e.value,t=R(async c=>{try{let{shortHash:a,stampForApprove:m}=await import("./content-bound-stamp-2PJNI4JC.mjs"),p=b(),v=await m(r,c.scopePaths,p);return c.contentBound=v,{bit:v.pathCount>0?` \xB7 content-bound tree=${a(v.treeHash)} (${v.pathCount} paths)`:" \xB7 content-bound (empty scope)",ok:!0}}catch(a){return{bit:` \xB7 content-bound FAILED (${a instanceof Error?a.message:String(a)})`,ok:!1}}},"stampApprove");if(n.findings.length===0){n.verdict="approved",n.updatedAt=b();let c=await t(n);return!c.ok&&n.intensity!=="skip"?$(`Cannot approve: content-bound stamp failed${c.bit}. Fix git/workspace then re-approve.`,s):(g.set(i,n),h(s,"## Judgment APPROVED",`Ledger \`${n.id}\` APPROVED (empty review attestation)${c.bit}. Ship gate will pass.`),{success:!0,ledger:n,verdict:"approved",emptyAttestation:!0})}n.findings=this.failCloseRemainingCandidates(n);let o=M(n,b());if(o.verdict!=="approved")return g.set(i,o),$(`Cannot approve: verdict=${o.verdict}. \u2192 \`prjct judgment next\``,s);let u=await t(o);return!u.ok&&o.intensity!=="skip"?$(`Cannot approve: content-bound stamp failed${u.bit}. Fix git/workspace then re-approve.`,s):(g.set(i,o),h(s,"## Judgment APPROVED",`Ledger \`${o.id}\` APPROVED`+(o.precisionHint!==void 0?` \xB7 precision\u2248${Math.round(o.precisionHint*100)}%`:"")+`${u.bit}. Ship gate will pass.`),{success:!0,ledger:o,verdict:"approved"})}async escalate(r,s,e){let i=await this.requireLedger(s,e);if(!i.ok)return i.result;let{projectId:n,ledger:t}=i.value;return t.verdict="escalated",t.escalateReason=r.trim()||"judges contradict on a material finding",t.updatedAt=b(),g.set(n,t),h(e,"## Judgment ESCALATED",`Reason: ${t.escalateReason}
20
- Surface both judge verdicts to the user. Do not ship.`),{success:!0,ledger:t,verdict:"escalated"}}async clear(r,s){let e=await C(r);return e.ok?(g.clear(e.value),h(s,"## Judgment clear","Active ledger cleared (ghost FP book kept)."),{success:!0,cleared:!0}):e.result}async requireLedger(r,s){let e=await C(r);if(!e.ok)return e;let i=g.get(e.value);return i?{ok:!0,value:{projectId:e.value,ledger:i}}:{ok:!1,result:$("No active ledger \u2014 `prjct judgment open` first.",s)}}failCloseRemainingCandidates(r){return q(r.findings,Object.fromEntries(r.findings.filter(s=>s.status==="candidate").map(s=>[s.id,[]])),r.intensity)}};function pe(d){let r=[],s=/"([^"]*)"|'([^']*)'|(\S+)/g;for(let e of d.matchAll(s))r.push(e[1]??e[2]??e[3]??"");return r}R(pe,"tokenize");function V(d){let r={},s=new Set;for(let[e,i]of d.entries()){if(s.has(e)||!i.startsWith("--"))continue;let n=i.slice(2),t=d[e+1];t&&!t.startsWith("--")?(r[n]=t,s.add(e+1)):r[n]="true"}return r}R(V,"parseFlags");function ve(d){let r={};for(let s of d.split(/[,\s]+/).filter(Boolean)){let e=s.split(":");if(e.length<2)continue;let i=e[0],n=[];for(let t of e.slice(1)){let o=Y.safeParse(t.toLowerCase());o.success&&n.push(o.data)}n.length&&(r[i]=n)}return r}R(ve,"parseVerdicts");async function _(d){try{let r=await W.readConfig(d).catch(()=>null),{resolveActiveTask:s}=await import("./task-service-FK7FC3PE.mjs"),e=r?.projectId;if(!e)return{};let i=await s(e,d);return{harnessLevel:i?.harness?.level,harnessKind:i?.harness?.kind}}catch{return{}}}R(_,"loadSignals");async function B(d,r){try{let{execFileAsync:s}=await import("./exec-34V6SJYO.mjs"),e=await s("git",["rev-parse","--abbrev-ref","origin/HEAD"],{cwd:d}).then(({stdout:t})=>{let o=t.trim();return o&&o!=="origin/HEAD"?o:"main"}).catch(()=>"main"),i=await s("git",["merge-base",e,"HEAD"],{cwd:d}).then(({stdout:t})=>t.trim()||null).catch(()=>null);if(!i)return r??[];let{stdout:n}=await s("git",["diff","--name-only",`${i}..HEAD`],{cwd:d});return n.split(`
20
+ Surface both judge verdicts to the user. Do not ship.`),{success:!0,ledger:t,verdict:"escalated"}}async clear(r,s){let e=await C(r);return e.ok?(g.clear(e.value),h(s,"## Judgment clear","Active ledger cleared (ghost FP book kept)."),{success:!0,cleared:!0}):e.result}async requireLedger(r,s){let e=await C(r);if(!e.ok)return e;let i=g.get(e.value);return i?{ok:!0,value:{projectId:e.value,ledger:i}}:{ok:!1,result:$("No active ledger \u2014 `prjct judgment open` first.",s)}}failCloseRemainingCandidates(r){return q(r.findings,Object.fromEntries(r.findings.filter(s=>s.status==="candidate").map(s=>[s.id,[]])),r.intensity)}};function pe(d){let r=[],s=/"([^"]*)"|'([^']*)'|(\S+)/g;for(let e of d.matchAll(s))r.push(e[1]??e[2]??e[3]??"");return r}R(pe,"tokenize");function V(d){let r={},s=new Set;for(let[e,i]of d.entries()){if(s.has(e)||!i.startsWith("--"))continue;let n=i.slice(2),t=d[e+1];t&&!t.startsWith("--")?(r[n]=t,s.add(e+1)):r[n]="true"}return r}R(V,"parseFlags");function ve(d){let r={};for(let s of d.split(/[,\s]+/).filter(Boolean)){let e=s.split(":");if(e.length<2)continue;let i=e[0],n=[];for(let t of e.slice(1)){let o=Y.safeParse(t.toLowerCase());o.success&&n.push(o.data)}n.length&&(r[i]=n)}return r}R(ve,"parseVerdicts");async function _(d){try{let r=await W.readConfig(d).catch(()=>null),{resolveActiveTask:s}=await import("./task-service-KFYL5NT4.mjs"),e=r?.projectId;if(!e)return{};let i=await s(e,d);return{harnessLevel:i?.harness?.level,harnessKind:i?.harness?.kind}}catch{return{}}}R(_,"loadSignals");async function B(d,r){try{let{execFileAsync:s}=await import("./exec-34V6SJYO.mjs"),e=await s("git",["rev-parse","--abbrev-ref","origin/HEAD"],{cwd:d}).then(({stdout:t})=>{let o=t.trim();return o&&o!=="origin/HEAD"?o:"main"}).catch(()=>"main"),i=await s("git",["merge-base",e,"HEAD"],{cwd:d}).then(({stdout:t})=>t.trim()||null).catch(()=>null);if(!i)return r??[];let{stdout:n}=await s("git",["diff","--name-only",`${i}..HEAD`],{cwd:d});return n.split(`
21
21
  `).map(t=>t.trim()).filter(Boolean)}catch{return r??[]}}R(B,"changesetPaths");async function he(d){try{let{getGitBranch:r}=await import("./git-helpers-UC53D4FT.mjs");return await r(d)??null}catch{return null}}R(he,"defaultTarget");function ye(d){let r=[`- **id**: \`${d.id}\``,`- **target**: ${d.target}`,`- **intensity**: ${d.intensity}`,`- **round**: ${d.fixRound}/${d.maxFixRounds}`,`- **verdict**: **${d.verdict}**`];d.precisionHint!==void 0&&r.push(`- **precision**: ~${Math.round(d.precisionHint*100)}%`),d.scopePaths&&d.scopePaths.length>0&&r.push(`- **scope freeze**: ${d.scopePaths.length} path(s) \u2014 ${d.scopePaths.slice(0,8).join(", ")}${d.scopePaths.length>8?"\u2026":""}`),d.escalateReason&&r.push(`- **escalate**: ${d.escalateReason}`),d.merge&&r.push(`- **merge**: agreed=${d.merge.agreed} onlyRed=${d.merge.onlyRed} onlyBlue=${d.merge.onlyBlue} contradicted=${d.merge.contradicted}`),r.push("","### Findings (blast-ranked open first)"),d.findings.length||r.push("_none_");let s=[...d.findings].sort((e,i)=>(i.blast??0)-(e.blast??0));for(let e of s)r.push(`- \`${e.id}\` **${e.severity}** [${e.status}] blast=${e.blast??0}${e.knownFalsePositive?" \u{1F47B}":""} ${e.title}`);return r}R(ye,"formatLedger");function h(d,r,s){d.md?console.log(Q(r,s)):(K.info(r.replace(/^#+ /,"")),console.log(s))}R(h,"print");export{le as JudgmentCommands};
@@ -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}from"./chunk-IMQCXC3R.mjs";import"./chunk-L5LFLI4R.mjs";import"./chunk-5YLI5V3Q.mjs";import"./chunk-LZC6NGB6.mjs";import"./chunk-XLFEWZRA.mjs";import"./chunk-XPRLQIVQ.mjs";import"./chunk-EZRNQXCC.mjs";import"./chunk-B7AQHL7B.mjs";import"./chunk-L4TUXFCL.mjs";import"./chunk-3USVY66O.mjs";import"./chunk-OIE3AKKO.mjs";import"./chunk-Q6C27OL7.mjs";import"./chunk-NXUIMC22.mjs";import"./chunk-DMO3ZFUG.mjs";import"./chunk-NNOX3UU4.mjs";import"./chunk-INJ5WT2D.mjs";import"./chunk-HU5ERAAV.mjs";import"./chunk-6RT2P22O.mjs";import"./chunk-ZXTJLMVZ.mjs";import"./chunk-VWFVSNQT.mjs";import"./chunk-U24YKPYX.mjs";import"./chunk-D62TAZG6.mjs";import"./chunk-KPR5TWSN.mjs";import"./chunk-623SNKDH.mjs";import"./chunk-TTN2CFZC.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import"./chunk-225DWS4D.mjs";import"./chunk-3TRXQAU4.mjs";export{c as RECEIPT_CAPTURE,a as RECEIPT_SOURCE,b as RECEIPT_TOPIC,d as buildJudgmentReceipt,i as countReceiptsWritten,h as latestJudgmentReceipt24h,f as persistJudgmentReceipt,e as summarizeJudgmentReceipt,g as synthesizeJudgmentReceipt};
7
+ import{a,b,c,d,e,f,g,h,i}from"./chunk-SUXIKMTS.mjs";import"./chunk-L5LFLI4R.mjs";import"./chunk-5YLI5V3Q.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{c as RECEIPT_CAPTURE,a as RECEIPT_SOURCE,b as RECEIPT_TOPIC,d as buildJudgmentReceipt,i as countReceiptsWritten,h as latestJudgmentReceipt24h,f as persistJudgmentReceipt,e as summarizeJudgmentReceipt,g as synthesizeJudgmentReceipt};
@@ -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-6FFOWWH2.mjs";import"./chunk-YLYAYRSJ.mjs";import"./chunk-UT425KVX.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import"./chunk-225DWS4D.mjs";import"./chunk-3TRXQAU4.mjs";export{a as getKimiHooksConfigPath,c as installKimiHooks,b as kimiHookMaps,d as uninstallKimiHooks};
7
+ import{a,b,c,d}from"./chunk-CVKMV22J.mjs";import"./chunk-YLYAYRSJ.mjs";import"./chunk-DW4QMD6J.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import"./chunk-225DWS4D.mjs";import"./chunk-3TRXQAU4.mjs";export{a as getKimiHooksConfigPath,c as installKimiHooks,b as kimiHookMaps,d as uninstallKimiHooks};
@@ -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-R7LLMJDP.mjs";import"./chunk-UT425KVX.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import"./chunk-225DWS4D.mjs";import"./chunk-3TRXQAU4.mjs";export{c as ensureKimiMcpServer,b as getKimiMcpConfigPath,a as getKimiMcpConfigPaths,d as uninstallKimiMcpServer};
7
+ import{a,b,c,d}from"./chunk-LTKUTRRL.mjs";import"./chunk-DW4QMD6J.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import"./chunk-225DWS4D.mjs";import"./chunk-3TRXQAU4.mjs";export{c as ensureKimiMcpServer,b as getKimiMcpConfigPath,a as getKimiMcpConfigPaths,d as uninstallKimiMcpServer};
@@ -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{h as f}from"./chunk-IMQCXC3R.mjs";import"./chunk-L5LFLI4R.mjs";import{a as p}from"./chunk-GTG67Z45.mjs";import{a as d}from"./chunk-AS3LWTQ4.mjs";import"./chunk-H2KNJUPN.mjs";import"./chunk-5YLI5V3Q.mjs";import"./chunk-LZC6NGB6.mjs";import"./chunk-XLFEWZRA.mjs";import"./chunk-XPRLQIVQ.mjs";import"./chunk-EZRNQXCC.mjs";import"./chunk-EHVU2SMR.mjs";import"./chunk-HPCSSJXH.mjs";import"./chunk-E5QQDYBR.mjs";import"./chunk-B7AQHL7B.mjs";import"./chunk-L4TUXFCL.mjs";import"./chunk-3USVY66O.mjs";import"./chunk-OIE3AKKO.mjs";import"./chunk-Q6C27OL7.mjs";import"./chunk-NXUIMC22.mjs";import"./chunk-DMO3ZFUG.mjs";import"./chunk-NNOX3UU4.mjs";import"./chunk-INJ5WT2D.mjs";import"./chunk-HU5ERAAV.mjs";import"./chunk-6RT2P22O.mjs";import"./chunk-ZXTJLMVZ.mjs";import"./chunk-VWFVSNQT.mjs";import"./chunk-U24YKPYX.mjs";import"./chunk-D62TAZG6.mjs";import"./chunk-KPR5TWSN.mjs";import"./chunk-623SNKDH.mjs";import"./chunk-TTN2CFZC.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import"./chunk-225DWS4D.mjs";import{a as c}from"./chunk-3TRXQAU4.mjs";function j(n){return n?.land?.mode??"advisory"}c(j,"effectiveLandMode");async function L(n,m,u){let l=j(u);if(l==="off")return null;let t=await p(n,m).catch(()=>null),r=f(n);if(!t?.current&&!r)return null;let e=[];if(t?.current){let i=t.current.description.slice(0,60),s=t.current.isCurrent?await import("./state-storage-6CGFWW5D.mjs").then(({stateStorage:g})=>g.getCurrentTask(n)).catch(()=>null):null,o=d(u,{description:t.current.description,turnCount:s?.turnCount,tokensIn:s?.tokensIn,tokensOut:s?.tokensOut}),a=l==="strict"||o.level==="critical"||o.level==="warn",h=a?"# prjct: LAND REQUIRED before context dies":"# prjct: land the plane";e.push(h,`Open cycle: "${i}${t.current.description.length>60?"\u2026":""}"`,a?'Before ending the session: `prjct status done` or `prjct log "\u2026"`, then `prjct land` (auto-synthesizes the Session close hand-off \u2014 no manual remember). Next window: `prjct prime`.':"Before ending the session: `prjct land` (auto hand-off + judgment receipt) \xB7 optional `prjct memory export` for the team."),o.cue&&e.push("",o.cue)}if(r){e.length>0&&e.push("");let i=r.trapCount>0?`${r.trapCount} trap(s) re-surfaced last session`:"judgment continuity landed last session";e.push("# prjct: prior judgment receipt (24h)",`${i} \xB7 \`${r.id}\` \u2014 closed-loop proof, not bulk memory. \`prjct search "judgment-receipt"\` if you need the full receipt.`)}return e.length>0?e.join(`
7
+ import{h as f}from"./chunk-SUXIKMTS.mjs";import"./chunk-L5LFLI4R.mjs";import{a as p}from"./chunk-GTG67Z45.mjs";import{a as d}from"./chunk-AS3LWTQ4.mjs";import"./chunk-H2KNJUPN.mjs";import"./chunk-5YLI5V3Q.mjs";import"./chunk-B2HY22OD.mjs";import"./chunk-XLFEWZRA.mjs";import"./chunk-X433BB6F.mjs";import"./chunk-EZRNQXCC.mjs";import"./chunk-EHVU2SMR.mjs";import"./chunk-HPCSSJXH.mjs";import"./chunk-E5QQDYBR.mjs";import"./chunk-B7AQHL7B.mjs";import"./chunk-L4TUXFCL.mjs";import"./chunk-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{a as c}from"./chunk-3TRXQAU4.mjs";function j(n){return n?.land?.mode??"advisory"}c(j,"effectiveLandMode");async function L(n,m,u){let l=j(u);if(l==="off")return null;let t=await p(n,m).catch(()=>null),r=f(n);if(!t?.current&&!r)return null;let e=[];if(t?.current){let i=t.current.description.slice(0,60),s=t.current.isCurrent?await import("./state-storage-6CGFWW5D.mjs").then(({stateStorage:g})=>g.getCurrentTask(n)).catch(()=>null):null,o=d(u,{description:t.current.description,turnCount:s?.turnCount,tokensIn:s?.tokensIn,tokensOut:s?.tokensOut}),a=l==="strict"||o.level==="critical"||o.level==="warn",h=a?"# prjct: LAND REQUIRED before context dies":"# prjct: land the plane";e.push(h,`Open cycle: "${i}${t.current.description.length>60?"\u2026":""}"`,a?'Before ending the session: `prjct status done` or `prjct log "\u2026"`, then `prjct land` (auto-synthesizes the Session close hand-off \u2014 no manual remember). Next window: `prjct prime`.':"Before ending the session: `prjct land` (auto hand-off + judgment receipt) \xB7 optional `prjct memory export` for the team."),o.cue&&e.push("",o.cue)}if(r){e.length>0&&e.push("");let i=r.trapCount>0?`${r.trapCount} trap(s) re-surfaced last session`:"judgment continuity landed last session";e.push("# prjct: prior judgment receipt (24h)",`${i} \xB7 \`${r.id}\` \u2014 closed-loop proof, not bulk memory. \`prjct search "judgment-receipt"\` if you need the full receipt.`)}return e.length>0?e.join(`
8
8
  `):null}c(L,"buildLandCue");export{L as buildLandCue,j as effectiveLandMode};
@@ -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{j as c}from"./chunk-RXXXA7Z6.mjs";import"./chunk-CNWEQUB7.mjs";import"./chunk-AJXELVNH.mjs";import"./chunk-CWLGRKA7.mjs";import"./chunk-2NI4EEK2.mjs";import"./chunk-X4FR5S7E.mjs";import"./chunk-5YLI5V3Q.mjs";import"./chunk-F2FKQUYE.mjs";import"./chunk-BTCCUMKI.mjs";import"./chunk-6AFXUX2M.mjs";import"./chunk-KKIJAEYU.mjs";import"./chunk-WSVMQYYU.mjs";import{i as a}from"./chunk-X35YYOFE.mjs";import"./chunk-LZC6NGB6.mjs";import"./chunk-XLFEWZRA.mjs";import"./chunk-XPRLQIVQ.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-3USVY66O.mjs";import"./chunk-OIE3AKKO.mjs";import"./chunk-Q6C27OL7.mjs";import"./chunk-NXUIMC22.mjs";import"./chunk-DMO3ZFUG.mjs";import"./chunk-NNOX3UU4.mjs";import"./chunk-INJ5WT2D.mjs";import"./chunk-HU5ERAAV.mjs";import"./chunk-6RT2P22O.mjs";import"./chunk-ZXTJLMVZ.mjs";import"./chunk-TIBYHZFA.mjs";import"./chunk-VWFVSNQT.mjs";import"./chunk-U24YKPYX.mjs";import"./chunk-D62TAZG6.mjs";import"./chunk-KPR5TWSN.mjs";import"./chunk-623SNKDH.mjs";import"./chunk-TTN2CFZC.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import"./chunk-225DWS4D.mjs";import{a as u}from"./chunk-3TRXQAU4.mjs";function p(o){try{let e=a(o),t=c(o,{dryRun:!0,maxArchive:50,maxDelete:50}),l=e.live,n=t.wouldArchive,r=t.wouldDelete,i=`Memory mass (Rho dry-run): live=${l} soft=${e.softDeleted} arch=${e.archives} \xB7 would archive=${n} delete=${r} \xB7 R=${t.referenceSize??"\u2014"}`+(n+r>0?" \xB7 run `prjct sync` to apply retention/purge":" \xB7 vault healthy (no purge candidates)"),h=["## Memory mass (Rho dry-run)","","| Signal | Value |","|---|---:|",`| Live | ${l} |`,`| Soft-deleted | ${e.softDeleted} |`,`| Archives | ${e.archives} |`,`| Would archive | ${n} |`,`| Would delete | ${r} |`,`| Reference \\|R\\| | ${t.referenceSize??0} |`,"",`**${i}**`,""].join(`
7
+ import{j as c}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"./chunk-OXKGN3HG.mjs";import"./chunk-ZQ2XH76U.mjs";import{i as a}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{a as u}from"./chunk-3TRXQAU4.mjs";function p(o){try{let e=a(o),t=c(o,{dryRun:!0,maxArchive:50,maxDelete:50}),l=e.live,n=t.wouldArchive,r=t.wouldDelete,i=`Memory mass (Rho dry-run): live=${l} soft=${e.softDeleted} arch=${e.archives} \xB7 would archive=${n} delete=${r} \xB7 R=${t.referenceSize??"\u2014"}`+(n+r>0?" \xB7 run `prjct sync` to apply retention/purge":" \xB7 vault healthy (no purge candidates)"),h=["## Memory mass (Rho dry-run)","","| Signal | Value |","|---|---:|",`| Live | ${l} |`,`| Soft-deleted | ${e.softDeleted} |`,`| Archives | ${e.archives} |`,`| Would archive | ${n} |`,`| Would delete | ${r} |`,`| Reference \\|R\\| | ${t.referenceSize??0} |`,"",`**${i}**`,""].join(`
8
8
  `);return{health:e,retention:t,live:l,wouldArchive:n,wouldDelete:r,line:i,md:h}}catch{return null}}u(p,"runLandRhoDryRun");export{p as runLandRhoDryRun};
@@ -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-J7T5IEFJ.mjs";import"./chunk-L5LFLI4R.mjs";import"./chunk-5YLI5V3Q.mjs";import"./chunk-LZC6NGB6.mjs";import"./chunk-XLFEWZRA.mjs";import"./chunk-XPRLQIVQ.mjs";import"./chunk-EZRNQXCC.mjs";import"./chunk-B7AQHL7B.mjs";import"./chunk-L4TUXFCL.mjs";import"./chunk-3USVY66O.mjs";import"./chunk-OIE3AKKO.mjs";import"./chunk-Q6C27OL7.mjs";import"./chunk-NXUIMC22.mjs";import"./chunk-DMO3ZFUG.mjs";import"./chunk-NNOX3UU4.mjs";import"./chunk-INJ5WT2D.mjs";import"./chunk-HU5ERAAV.mjs";import"./chunk-6RT2P22O.mjs";import"./chunk-ZXTJLMVZ.mjs";import"./chunk-VWFVSNQT.mjs";import"./chunk-U24YKPYX.mjs";import"./chunk-D62TAZG6.mjs";import"./chunk-KPR5TWSN.mjs";import"./chunk-623SNKDH.mjs";import"./chunk-TTN2CFZC.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import"./chunk-225DWS4D.mjs";import"./chunk-3TRXQAU4.mjs";export{b as buildLandHandoffContent,a as synthesizeLandHandoff};
7
+ import{a,b}from"./chunk-6U3MV7KZ.mjs";import"./chunk-L5LFLI4R.mjs";import"./chunk-5YLI5V3Q.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{b as buildLandHandoffContent,a as synthesizeLandHandoff};
@@ -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 L,b as g}from"./chunk-GOIBJ7PV.mjs";import{a as u}from"./chunk-5MN22JFI.mjs";import{a as S}from"./chunk-V5VCXMKO.mjs";import{d as y,e as h}from"./chunk-FOWTB762.mjs";import"./chunk-7CI4AMVO.mjs";import{a as M}from"./chunk-Y5SEUYET.mjs";import{b as k}from"./chunk-LZC6NGB6.mjs";import"./chunk-XLFEWZRA.mjs";import"./chunk-XPRLQIVQ.mjs";import"./chunk-EZRNQXCC.mjs";import"./chunk-B7AQHL7B.mjs";import"./chunk-L4TUXFCL.mjs";import{h as f}from"./chunk-ID2C2S33.mjs";import{b as $}from"./chunk-3USVY66O.mjs";import"./chunk-OIE3AKKO.mjs";import"./chunk-Q6C27OL7.mjs";import"./chunk-NXUIMC22.mjs";import"./chunk-DZVOFEM5.mjs";import"./chunk-5EF5EOCL.mjs";import"./chunk-DMO3ZFUG.mjs";import"./chunk-NNOX3UU4.mjs";import"./chunk-INJ5WT2D.mjs";import"./chunk-HU5ERAAV.mjs";import"./chunk-6RT2P22O.mjs";import"./chunk-ZXTJLMVZ.mjs";import"./chunk-VWFVSNQT.mjs";import"./chunk-U24YKPYX.mjs";import{b as v,p as F}from"./chunk-D62TAZG6.mjs";import"./chunk-KPR5TWSN.mjs";import"./chunk-623SNKDH.mjs";import"./chunk-TTN2CFZC.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import{e as b,g as x}from"./chunk-225DWS4D.mjs";import{a as c}from"./chunk-3TRXQAU4.mjs";x();F();var w=["off","lite","full","ultra"],A="lean:",D=24e3,C=5,P=["Apply the lean decision ladder to this diff, in order:","1. Does this need to exist at all? (YAGNI \u2014 delete beats add)","2. Does the standard library already provide it?","3. Is there a native platform feature for it?","4. Does an already-installed dependency cover it? (never add one for a trivial need)","5. Can it be one line? Only then write minimal code.","Flag: speculative abstractions (interface/factory with one implementation),","premature config, needless new dependencies, clever over boring.","NON-NEGOTIABLE \u2014 never flag away: input/trust-boundary validation, data-loss","handling, security, accessibility, edge-case correctness, explicitly-asked scope."].join(`
7
+ import{a as L,b as g}from"./chunk-WZ6W5ZQ5.mjs";import{a as u}from"./chunk-6POAOY5C.mjs";import{a as S}from"./chunk-5DZ2LTII.mjs";import{d as y,e as h}from"./chunk-FOWTB762.mjs";import"./chunk-6U3CYLY5.mjs";import{a as M}from"./chunk-MPU3VM6Z.mjs";import{b as k}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{h as f}from"./chunk-ID2C2S33.mjs";import{b as $}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-VWFVSNQT.mjs";import"./chunk-U24YKPYX.mjs";import{b as v,p as F}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 b,g as x}from"./chunk-225DWS4D.mjs";import{a as c}from"./chunk-3TRXQAU4.mjs";x();F();var w=["off","lite","full","ultra"],A="lean:",D=24e3,C=5,P=["Apply the lean decision ladder to this diff, in order:","1. Does this need to exist at all? (YAGNI \u2014 delete beats add)","2. Does the standard library already provide it?","3. Is there a native platform feature for it?","4. Does an already-installed dependency cover it? (never add one for a trivial need)","5. Can it be one line? Only then write minimal code.","Flag: speculative abstractions (interface/factory with one implementation),","premature config, needless new dependencies, clever over boring.","NON-NEGOTIABLE \u2014 never flag away: input/trust-boundary validation, data-loss","handling, security, accessibility, edge-case correctness, explicitly-asked scope."].join(`
8
8
  `),E=class extends S{static{c(this,"LeanCommands")}async lean(t=null,e=process.cwd(),n={}){let s=L(t,w);if(s.kind==="status")return this.showStatus(e,n);if(s.kind==="mode")return this.setMode(s.mode,e,n);switch(s.sub){case"review":return this.review(e,n);case"audit":return this.audit(e,n);case"debt":return this.debt(e,n);default:return y(`Unknown lean subcommand "${s.sub}". Use: review, audit, debt, or ${w.join("|")}.`,n)}}async showStatus(t,e){let n=await g(t,e);if(!n.ok)return n.result;let s=n.value,a=N(s),r=[`Mode: ${a}${a==="off"?" (guidance + lean-debt detector dormant)":""}`,"Set: prjct lean off|lite|full|ultra","Review: prjct lean review \u2014 over-engineering in the current diff","Audit: prjct lean audit \u2014 repo-wide, over stored analysis","Debt: prjct lean debt \u2014 deferred `lean:` simplifications"];return e.md?console.log(u("## Lean",`> **Mode**: \`${a}\``,r.slice(1).join(`
9
9
  `))):f.info(`Lean \u2014 ${r.join(`
10
10
  `)}`),{success:!0,mode:a}}async setMode(t,e,n){let s=await g(e,n);if(!s.ok)return s.result;let a=s.value;a.lean={mode:t},await $.writeConfig(e,a);let r=t==="off"?"Lean mode off \u2014 guidance and the lean-debt detector are dormant.":`Lean mode \u2192 ${t}. Guidance biases toward YAGNI/KISS; the Stop-hook lean-debt detector is armed.`;return n.md?console.log(u("## Lean",`> ${r}`)):f.done(r),{success:!0,mode:t}}async review(t,e){try{let n=await g(t,e);if(!n.ok)return n.result;let s=await B(t);if(!s||!s.diff.trim()&&!s.nameStatus.trim()){let o="lean review: no changeset to review (nothing ahead of base, no working changes).";return console.log(e.md?u("## Lean review",`> ${o}`):o),{success:!0,smells:O()}}let a=j(s.diff,s.nameStatus),r=I(a),l=s.diff.length>D?`${s.diff.slice(0,D)}
@@ -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 w}from"./chunk-UE3XKXWM.mjs";import{c as k}from"./chunk-2I5PUQWY.mjs";import{d as O}from"./chunk-MXJKULJY.mjs";import{g as L,i as q}from"./chunk-DMO3ZFUG.mjs";import"./chunk-NNOX3UU4.mjs";import{a as D,b as U}from"./chunk-RP7F67ZT.mjs";import"./chunk-HU5ERAAV.mjs";import"./chunk-6RT2P22O.mjs";import"./chunk-ZXTJLMVZ.mjs";import{b as I,i as B}from"./chunk-VWFVSNQT.mjs";import"./chunk-U24YKPYX.mjs";import"./chunk-D62TAZG6.mjs";import{b as P,f as V}from"./chunk-XYDLXF5A.mjs";import"./chunk-FATYLG3L.mjs";import"./chunk-2EEMQV7N.mjs";import"./chunk-KPR5TWSN.mjs";import"./chunk-623SNKDH.mjs";import"./chunk-TTN2CFZC.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import"./chunk-225DWS4D.mjs";import{a as d}from"./chunk-3TRXQAU4.mjs";V();B();import f from"node:fs/promises";import m from"node:path";q();U();var j=".prjct/CHECKPOINTS.md",_=".prjct/team.json",C="migration:v2.19.8:last-flagged-checkpoints",F="migration:v2.19.8:last-flagged-team",v="migration:v3.77:last-ghost-purge-warn",W="migration:v3.77:last-agent-repair-warn",Y=["sessions","audits","deploy"],z=[/\.prjct\/sessions\/<task/i,/\.prjct\/sessions\/\$\{/i,/->\s*`?\.prjct\/sessions\//i,/write(?:s|n)?\s+(?:a\s+)?(?:plan|report|results?|verdict|findings?)[^\n]{0,120}\.prjct\/sessions\//i,/write(?:s|n)?\s+its\s+results[^\n]{0,80}\.prjct\/sessions\//i,/Session artifacts at `?\.prjct\/sessions\//i,/Implementer report at `?\.prjct\/sessions\//i,/Reviewer verdict at `?\.prjct\/sessions\//i,/\.prjct\/audits\//i,/\.prjct\/deploy\//i,/SESSION_ROOT\s*=/i,/Write under `?SESSION_ROOT/i,/~\/\.prjct-cli\/projects\/[^\s`]+\/sessions\//i,/sessions\/<task-slug>\/\{?plan/i],ye=[".prjct/sessions/<task",".prjct/audits/",".prjct/deploy/"],X=O.map(e=>({destRelative:`.claude/agents/${e.name}.md`,templateKey:`crew/roles/${e.name}.md`})),T="CLAUDE.md",b="CREW.md",Z="crew/leader-mode.md",N="<!-- prjct:crew:start - DO NOT REMOVE THIS MARKER -->",H="<!-- prjct:crew:end - DO NOT REMOVE THIS MARKER -->",A="<!-- prjct:crew:end -->",K="<!-- prjct:checkpoints:start - DO NOT EDIT (managed by `prjct crew checkpoints set|reset`) -->",ee="<!-- prjct:checkpoints:end -->",te=["prjct.config.json","memory-export"];async function Q(e){try{return(await f.stat(e)).mtimeMs}catch{return null}}d(Q,"statMtimeMs");async function y(e){try{return await f.readFile(e,"utf-8")}catch{return null}}d(y,"tryReadFile");async function x(e){try{return await f.access(e),!0}catch{return!1}}d(x,"pathExists");function S(e,r){return L.getDoc(e,r)}d(S,"readFlag");function p(e,r,t){L.setDoc(e,r,{mtime_ms:t,migrated_at:new Date().toISOString()})}d(p,"writeFlag");async function E(e,r,t){try{let{projectMemory:n}=await import("./project-memory-GYLYIJQD.mjs");await n.remember(e,{type:"inbox",content:r,tags:t,provenance:"declared"})}catch(n){D.debug("Legacy sweep inbox capture failed (non-critical)",{error:n instanceof Error?n.message:String(n)})}}d(E,"captureInboxWarning");function R(e){return z.some(r=>r.test(e))}d(R,"containsForbiddenWriteInstruction");function ne(e,r){let t=O.find(a=>`.claude/agents/${a.name}.md`===r)?.role;if(!t)return e;let{model:n}=I(t);return e.replace(/^model:[ \t].*$/m,`model: ${n}`)}d(ne,"stampCrewModelPolicy");function re(e,r){let t=e.indexOf(K),n=e.indexOf(ee);if(t<0||n<0||n<t)return e;let a=e.slice(0,t+K.length),c=e.slice(n);return`${a}
7
+ import{b as w}from"./chunk-ALTQ3KL4.mjs";import{c as k}from"./chunk-2I5PUQWY.mjs";import{d as O}from"./chunk-MXJKULJY.mjs";import{g as L,i as q}from"./chunk-DMO3ZFUG.mjs";import"./chunk-NNOX3UU4.mjs";import{a as D,b as U}from"./chunk-RP7F67ZT.mjs";import"./chunk-HU5ERAAV.mjs";import"./chunk-6RT2P22O.mjs";import"./chunk-ZXTJLMVZ.mjs";import{b as I,i as B}from"./chunk-VWFVSNQT.mjs";import"./chunk-U24YKPYX.mjs";import"./chunk-D62TAZG6.mjs";import{b as P,f as V}from"./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{a as d}from"./chunk-3TRXQAU4.mjs";V();B();import f from"node:fs/promises";import m from"node:path";q();U();var j=".prjct/CHECKPOINTS.md",_=".prjct/team.json",C="migration:v2.19.8:last-flagged-checkpoints",F="migration:v2.19.8:last-flagged-team",v="migration:v3.77:last-ghost-purge-warn",W="migration:v3.77:last-agent-repair-warn",Y=["sessions","audits","deploy"],z=[/\.prjct\/sessions\/<task/i,/\.prjct\/sessions\/\$\{/i,/->\s*`?\.prjct\/sessions\//i,/write(?:s|n)?\s+(?:a\s+)?(?:plan|report|results?|verdict|findings?)[^\n]{0,120}\.prjct\/sessions\//i,/write(?:s|n)?\s+its\s+results[^\n]{0,80}\.prjct\/sessions\//i,/Session artifacts at `?\.prjct\/sessions\//i,/Implementer report at `?\.prjct\/sessions\//i,/Reviewer verdict at `?\.prjct\/sessions\//i,/\.prjct\/audits\//i,/\.prjct\/deploy\//i,/SESSION_ROOT\s*=/i,/Write under `?SESSION_ROOT/i,/~\/\.prjct-cli\/projects\/[^\s`]+\/sessions\//i,/sessions\/<task-slug>\/\{?plan/i],ye=[".prjct/sessions/<task",".prjct/audits/",".prjct/deploy/"],X=O.map(e=>({destRelative:`.claude/agents/${e.name}.md`,templateKey:`crew/roles/${e.name}.md`})),T="CLAUDE.md",b="CREW.md",Z="crew/leader-mode.md",N="<!-- prjct:crew:start - DO NOT REMOVE THIS MARKER -->",H="<!-- prjct:crew:end - DO NOT REMOVE THIS MARKER -->",A="<!-- prjct:crew:end -->",K="<!-- prjct:checkpoints:start - DO NOT EDIT (managed by `prjct crew checkpoints set|reset`) -->",ee="<!-- prjct:checkpoints:end -->",te=["prjct.config.json","memory-export"];async function Q(e){try{return(await f.stat(e)).mtimeMs}catch{return null}}d(Q,"statMtimeMs");async function y(e){try{return await f.readFile(e,"utf-8")}catch{return null}}d(y,"tryReadFile");async function x(e){try{return await f.access(e),!0}catch{return!1}}d(x,"pathExists");function S(e,r){return L.getDoc(e,r)}d(S,"readFlag");function p(e,r,t){L.setDoc(e,r,{mtime_ms:t,migrated_at:new Date().toISOString()})}d(p,"writeFlag");async function E(e,r,t){try{let{projectMemory:n}=await import("./project-memory-L5MDZYST.mjs");await n.remember(e,{type:"inbox",content:r,tags:t,provenance:"declared"})}catch(n){D.debug("Legacy sweep inbox capture failed (non-critical)",{error:n instanceof Error?n.message:String(n)})}}d(E,"captureInboxWarning");function R(e){return z.some(r=>r.test(e))}d(R,"containsForbiddenWriteInstruction");function ne(e,r){let t=O.find(a=>`.claude/agents/${a.name}.md`===r)?.role;if(!t)return e;let{model:n}=I(t);return e.replace(/^model:[ \t].*$/m,`model: ${n}`)}d(ne,"stampCrewModelPolicy");function re(e,r){let t=e.indexOf(K),n=e.indexOf(ee);if(t<0||n<0||n<t)return e;let a=e.slice(0,t+K.length),c=e.slice(n);return`${a}
8
8
  ${r.trimEnd()}
9
9
  ${c}`}d(re,"spliceCheckpoints");function se(e,r){let t=d(c=>{let i=c.indexOf(N);if(i<0)return c;let o=c.slice(i+N.length),s=o.indexOf(H),g=o.indexOf(A),l=s>=0&&(g<0||s<=g)?{relative:s,length:H.length}:g>=0?{relative:g,length:A.length}:null;if(!l)return c.slice(0,i);let u=i+N.length+l.relative;return t(`${c.slice(0,i)}${c.slice(u+l.length)}`)},"stripMarkerBlocks"),n=t(e).replace(/\n{3,}/g,`
10
10
 
@@ -19,5 +19,5 @@ ${c}`}d(re,"spliceCheckpoints");function se(e,r){let t=d(c=>{let i=c.indexOf(N);
19
19
  `:e}d(G,"sanitizeCheckpointsContent");async function ie(e,r,t){let n=m.join(e,j),a=await Q(n);if(a===null)return;let c=S(r,C),i=await y(n);if(i!==null)try{c===null?(w.set(r,i,"migrated"),p(r,C,a),t.checkpointsMigrated=!0,await E(e,"Legacy .prjct/CHECKPOINTS.md migrated into kv_store crew:checkpoints and DELETED from the client worktree. Manage with 'prjct crew checkpoints show|set|reset|export'. Product law: nothing but prjct.config.json under client .prjct/.",{"migration:v3.79":"1",topic:"crew-checkpoints"})):a>c.mtime_ms&&(w.set(r,i,"migrated"),p(r,C,a),t.checkpointsHandEditWarned=!0,await E(e,"Legacy .prjct/CHECKPOINTS.md hand-edited after migration \u2014 content re-adopted into kv_store and file DELETED. Prefer 'prjct crew checkpoints set' going forward.",{"migration:v3.79":"1",topic:"crew-checkpoints",state:"re-adopted"}))}catch(o){t.errors.push({file:j,reason:o instanceof Error?o.message:String(o)})}try{await f.rm(n,{force:!0}),t.clientPrjctJunkPurged.push("CHECKPOINTS.md")}catch(o){t.errors.push({file:j,reason:o instanceof Error?o.message:String(o)})}}d(ie,"sweepCheckpoints");function J(e){return{required:e.required===!0,minVersion:typeof e.minVersion=="string"?e.minVersion:"0.0.0",enrolledAt:typeof e.enrolledAt=="string"?e.enrolledAt:new Date().toISOString(),enrolledBy:typeof e.enrolledBy=="string"?e.enrolledBy:null}}d(J,"parseTeamEnrollment");async function oe(e,r,t){let n=m.join(e,_),a=await Q(n);if(a===null)return;let c=S(r,F),i=k.get(r),o=await y(n);if(o!==null)try{if(c===null||i===null){if(i===null){let s=JSON.parse(o),g=J(s);k.set(r,g),t.teamMigrated=!0,await E(e,"Legacy .prjct/team.json adopted into kv_store team:enrollment and DELETED from the client worktree. Team state is SQL-only; manage with 'prjct team'.",{"migration:v3.79":"1",topic:"team-enrollment"})}p(r,F,a)}else if(a>c.mtime_ms){try{let s=JSON.parse(o),g=J(s);k.set(r,g)}catch{}p(r,F,a),t.teamHandEditWarned=!0}}catch(s){t.errors.push({file:_,reason:s instanceof Error?s.message:String(s)})}try{await f.rm(n,{force:!0}),t.clientPrjctJunkPurged.push("team.json")}catch(s){t.errors.push({file:_,reason:s instanceof Error?s.message:String(s)})}}d(oe,"sweepTeamJson");async function $(e){let r=[],t=await f.readdir(e,{withFileTypes:!0}).catch(()=>[]);for(let n of t){let a=m.join(e,n.name);n.isDirectory()?r.push(...await $(a)):n.isFile()&&r.push(a)}return r}d($,"listFilesRecursive");async function M(e,r,t,n){let a=new Set([".md",".txt",".json",".yml",".yaml",".toml",".csv",".log"]),c=m.extname(t).toLowerCase();if(!a.has(c)&&c!=="")return!1;let i=await f.readFile(t).then(l=>{if(l.byteLength>2e5)return null;let u=l.toString("utf-8");return u.includes("\0")?null:u}).catch(()=>null);if(i===null||!i.trim())return!1;let o=12e3,s=i.length>o?`${i.slice(0,o)}
20
20
 
21
21
  \u2026[truncated ${i.length-o} chars]`:i,g=["Rescued worktree ghost (physical files are not traceable \u2014 ingested to SQLite, disk deleted).",`source: ${n}`,"",s].join(`
22
- `);try{let{projectMemory:l}=await import("./project-memory-GYLYIJQD.mjs");return await l.remember(e,{type:"context",content:g,tags:{topic:"worktree-ghost-ingest",source_path:n,"migration:v3.77":"1"},provenance:"declared",projectId:r,force:!0}),!0}catch(l){return D.debug("Ghost file SQL ingest failed (non-critical)",{file:n,error:l instanceof Error?l.message:String(l)}),!1}}d(M,"ingestGhostFileToSql");async function ae(e,r,t){let n=m.join(e,".prjct");if(!await x(n))return;for(let c of Y){let i=m.join(n,c);if(await x(i))try{let o=await $(i);for(let s of o){let g=m.relative(e,s);await M(e,r,s,g)&&(t.ghostFilesIngested+=1)}await f.rm(i,{recursive:!0,force:!0}),t.ghostDirsPurged.push(c)}catch(o){t.errors.push({file:`.prjct/${c}/`,reason:o instanceof Error?o.message:String(o)})}}if(t.ghostDirsPurged.length===0)return;if(S(r,v)===null){let c=t.ghostFilesIngested>0?` ${t.ghostFilesIngested} text file(s) ingested into SQLite (topic:worktree-ghost-ingest) for traceability.`:"";await E(e,`Purged forbidden prjct ghost dir(s) from the customer worktree: ${t.ghostDirsPurged.map(i=>`.prjct/${i}/`).join(", ")}.${c} Product law: plans and work data live ONLY in project SQLite (prjct plan / prjct spec / prjct remember / prjct crew record-run) \u2014 never as physical files in the repo or under ~/.prjct-cli. The only hand-editable file under .prjct/ is prjct.config.json.`,{"migration:v3.77":"1",topic:"worktree-ghost-purge"}),p(r,v,Date.now())}}d(ae,"purgeWorktreeGhostDirs");async function ce(e,r,t){try{let s=w.get(r),g=G(s.content);if(g!==s.content){let l=s.source==="user"?"user":"migrated";w.set(r,g,l),t.agentFilesRepaired.push("kv_store[crew:checkpoints]")}}catch(s){t.errors.push({file:"kv_store[crew:checkpoints]",reason:s instanceof Error?s.message:String(s)})}for(let s of X){let g=m.join(e,s.destRelative),l=await y(g);if(l===null||!R(l))continue;let u=P(s.templateKey);if(!u){t.errors.push({file:s.destRelative,reason:"template missing"});continue}try{let h=ne(s.destRelative===".claude/agents/reviewer.md"?re(u,G(w.get(r).content)):u,s.destRelative);await f.mkdir(m.dirname(g),{recursive:!0}),await f.writeFile(g,h,"utf-8"),t.agentFilesRepaired.push(s.destRelative)}catch(h){t.errors.push({file:s.destRelative,reason:h instanceof Error?h.message:String(h)})}}let n=m.join(e,T),a=await y(n);if(a!==null){let s=(a.match(/prjct:crew:start/g)??[]).length;if(R(a)||s>1||a.includes(A)){let l=P(Z)?.trim();if(!l)t.errors.push({file:T,reason:"leader-mode template missing"});else try{let u=se(a,l);await f.writeFile(n,u,"utf-8"),t.agentFilesRepaired.push(T)}catch(u){t.errors.push({file:T,reason:u instanceof Error?u.message:String(u)})}}}let c=m.join(e,b),i=await y(c);if(i!==null&&R(i))try{let s=["# CREW.md \u2014 reinstall required","","This file previously instructed agents to write plans/reports under","`.prjct/sessions/` (or other worktree paths). That is forbidden.","","Run `prjct crew install` to regenerate the emulated crew protocol.","Durable state goes through `prjct` CLI verbs only (SQLite).",""].join(`
22
+ `);try{let{projectMemory:l}=await import("./project-memory-L5MDZYST.mjs");return await l.remember(e,{type:"context",content:g,tags:{topic:"worktree-ghost-ingest",source_path:n,"migration:v3.77":"1"},provenance:"declared",projectId:r,force:!0}),!0}catch(l){return D.debug("Ghost file SQL ingest failed (non-critical)",{file:n,error:l instanceof Error?l.message:String(l)}),!1}}d(M,"ingestGhostFileToSql");async function ae(e,r,t){let n=m.join(e,".prjct");if(!await x(n))return;for(let c of Y){let i=m.join(n,c);if(await x(i))try{let o=await $(i);for(let s of o){let g=m.relative(e,s);await M(e,r,s,g)&&(t.ghostFilesIngested+=1)}await f.rm(i,{recursive:!0,force:!0}),t.ghostDirsPurged.push(c)}catch(o){t.errors.push({file:`.prjct/${c}/`,reason:o instanceof Error?o.message:String(o)})}}if(t.ghostDirsPurged.length===0)return;if(S(r,v)===null){let c=t.ghostFilesIngested>0?` ${t.ghostFilesIngested} text file(s) ingested into SQLite (topic:worktree-ghost-ingest) for traceability.`:"";await E(e,`Purged forbidden prjct ghost dir(s) from the customer worktree: ${t.ghostDirsPurged.map(i=>`.prjct/${i}/`).join(", ")}.${c} Product law: plans and work data live ONLY in project SQLite (prjct plan / prjct spec / prjct remember / prjct crew record-run) \u2014 never as physical files in the repo or under ~/.prjct-cli. The only hand-editable file under .prjct/ is prjct.config.json.`,{"migration:v3.77":"1",topic:"worktree-ghost-purge"}),p(r,v,Date.now())}}d(ae,"purgeWorktreeGhostDirs");async function ce(e,r,t){try{let s=w.get(r),g=G(s.content);if(g!==s.content){let l=s.source==="user"?"user":"migrated";w.set(r,g,l),t.agentFilesRepaired.push("kv_store[crew:checkpoints]")}}catch(s){t.errors.push({file:"kv_store[crew:checkpoints]",reason:s instanceof Error?s.message:String(s)})}for(let s of X){let g=m.join(e,s.destRelative),l=await y(g);if(l===null||!R(l))continue;let u=P(s.templateKey);if(!u){t.errors.push({file:s.destRelative,reason:"template missing"});continue}try{let h=ne(s.destRelative===".claude/agents/reviewer.md"?re(u,G(w.get(r).content)):u,s.destRelative);await f.mkdir(m.dirname(g),{recursive:!0}),await f.writeFile(g,h,"utf-8"),t.agentFilesRepaired.push(s.destRelative)}catch(h){t.errors.push({file:s.destRelative,reason:h instanceof Error?h.message:String(h)})}}let n=m.join(e,T),a=await y(n);if(a!==null){let s=(a.match(/prjct:crew:start/g)??[]).length;if(R(a)||s>1||a.includes(A)){let l=P(Z)?.trim();if(!l)t.errors.push({file:T,reason:"leader-mode template missing"});else try{let u=se(a,l);await f.writeFile(n,u,"utf-8"),t.agentFilesRepaired.push(T)}catch(u){t.errors.push({file:T,reason:u instanceof Error?u.message:String(u)})}}}let c=m.join(e,b),i=await y(c);if(i!==null&&R(i))try{let s=["# CREW.md \u2014 reinstall required","","This file previously instructed agents to write plans/reports under","`.prjct/sessions/` (or other worktree paths). That is forbidden.","","Run `prjct crew install` to regenerate the emulated crew protocol.","Durable state goes through `prjct` CLI verbs only (SQLite).",""].join(`
23
23
  `);await f.writeFile(c,s,"utf-8"),t.agentFilesRepaired.push(b)}catch(s){t.errors.push({file:b,reason:s instanceof Error?s.message:String(s)})}if(t.agentFilesRepaired.length===0)return;S(r,W)===null&&(await E(e,`Repaired crew instruction files that still told agents to write plans/reports to disk (${t.agentFilesRepaired.join(", ")}). Refreshed from current prjct templates. Product law: plans + work data ONLY in project SQLite via prjct plan / prjct spec / prjct remember / prjct crew record-run \u2014 physical files are not traceable.`,{"migration:v3.77":"1",topic:"crew-disk-write-repair"}),p(r,W,Date.now()))}d(ce,"repairCrewDiskWriteInstructions");async function le(e,r,t){let n=m.join(e,".prjct");if(!await x(n))return;let a=await f.readdir(n).catch(()=>[]);for(let i of a){if(te.includes(i))continue;let o=m.join(n,i);try{let s=await f.stat(o);if(s.isDirectory()){let g=await $(o);for(let l of g){let u=m.relative(e,l);await M(e,r,l,u)&&(t.ghostFilesIngested+=1)}}else if(s.isFile()){let g=m.relative(e,o);i!=="CHECKPOINTS.md"&&i!=="team.json"&&await M(e,r,o,g)&&(t.ghostFilesIngested+=1)}await f.rm(o,{recursive:!0,force:!0}),t.clientPrjctJunkPurged.includes(i)||t.clientPrjctJunkPurged.push(i)}catch(s){t.errors.push({file:`.prjct/${i}`,reason:s instanceof Error?s.message:String(s)})}}if(t.clientPrjctJunkPurged.length===0)return;S(r,v)===null&&t.ghostDirsPurged.length===0&&(await E(e,`Client .prjct/ cleaned to config-only. Removed: ${t.clientPrjctJunkPurged.join(", ")}. Durable state is SQLite only (prjct crew checkpoints / prjct team / prjct remember).`,{"migration:v3.79":"1",topic:"client-prjct-config-only"}),p(r,v,Date.now()))}d(le,"enforcePrjctConfigOnly");async function Re(e,r){let t={checkpointsMigrated:!1,checkpointsHandEditWarned:!1,teamMigrated:!1,teamHandEditWarned:!1,ghostDirsPurged:[],agentFilesRepaired:[],ghostFilesIngested:0,clientPrjctJunkPurged:[],errors:[]};return await ie(e,r,t).catch(n=>{t.errors.push({file:j,reason:n instanceof Error?n.message:String(n)})}),await oe(e,r,t).catch(n=>{t.errors.push({file:_,reason:n instanceof Error?n.message:String(n)})}),await ae(e,r,t).catch(n=>{t.errors.push({file:".prjct/*/",reason:n instanceof Error?n.message:String(n)})}),await le(e,r,t).catch(n=>{t.errors.push({file:".prjct/",reason:n instanceof Error?n.message:String(n)})}),await ce(e,r,t).catch(n=>{t.errors.push({file:".claude/agents/*",reason:n instanceof Error?n.message:String(n)})}),t}d(Re,"legacyCrewSweep");export{te as CLIENT_PRJCT_ALLOWLIST,ye as FORBIDDEN_WORKTREE_WRITE_NEEDLES,z as FORBIDDEN_WORKTREE_WRITE_PATTERNS,Y as WORKTREE_GHOST_DIRS,R as containsForbiddenWriteInstruction,Re as legacyCrewSweep};
@@ -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 H,b as D,c as A,d as j,e as N,f as x,g as I,h as P,i as W,k as q,l as J,m as Y,n as X,o as k,p as V,q as w,r as K,s as z,t as Q,u as Z,v as ee,w as re}from"./chunk-PPSVWUXC.mjs";import{a as p}from"./chunk-YZEO5DZA.mjs";import{a as f,d as o,h as M}from"./chunk-5MN22JFI.mjs";import{a as G}from"./chunk-V5VCXMKO.mjs";import{e as m}from"./chunk-FOWTB762.mjs";import"./chunk-7CI4AMVO.mjs";import"./chunk-XPRLQIVQ.mjs";import"./chunk-EZRNQXCC.mjs";import"./chunk-B7AQHL7B.mjs";import"./chunk-L4TUXFCL.mjs";import{h as l}from"./chunk-ID2C2S33.mjs";import"./chunk-3USVY66O.mjs";import"./chunk-OIE3AKKO.mjs";import"./chunk-Q6C27OL7.mjs";import"./chunk-NXUIMC22.mjs";import"./chunk-DZVOFEM5.mjs";import"./chunk-5EF5EOCL.mjs";import"./chunk-DMO3ZFUG.mjs";import"./chunk-NNOX3UU4.mjs";import"./chunk-INJ5WT2D.mjs";import"./chunk-HU5ERAAV.mjs";import"./chunk-6RT2P22O.mjs";import"./chunk-ZXTJLMVZ.mjs";import"./chunk-TIBYHZFA.mjs";import"./chunk-VWFVSNQT.mjs";import"./chunk-U24YKPYX.mjs";import"./chunk-D62TAZG6.mjs";import"./chunk-623SNKDH.mjs";import"./chunk-TTN2CFZC.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import{e as O,g as ae}from"./chunk-225DWS4D.mjs";import{a as y}from"./chunk-3TRXQAU4.mjs";ae();function S(s,n){return s.includes(`--${n}`)}y(S,"hasFlag");function ce(s){if(s){if(s==="anthropic")return"anthropic";if(s==="openai-compatible"||s==="openai"||s==="openai-compat")return"openai-compatible"}}y(ce,"parseWire");function te(s){switch(s){case"env":return"env (PRJCT_LLM_API_KEY)";case"env-profile":return"env (per-profile)";case"keychain":return"macOS Keychain";case"file":return"llm-keys file (0600)";case"dummy":return"local placeholder";default:return"none"}}y(te,"keyLocationLabel");var ne=class extends G{static{y(this,"LlmCommands")}async llm(n=null,r=process.cwd(),a={}){let e=(n??"").trim().split(/\s+/).filter(Boolean),t=e[0]??"status";if(t==="enable")return this.enable(a);if(t==="disable")return this.disable(a);if((t==="status"||t==="list")&&!N())return this.statusDisabled(a);if(!N())return m(I(),a);switch(t){case"set":return this.set(e.slice(1),a);case"use":return this.use(e.slice(1),a);case"status":case"list":return this.status(a);case"test":return this.test(e.slice(1),a);case"clear":return this.clear(e.slice(1),a);default:return m(`Unknown subcommand '${t}'. Use: enable | disable | set | use <name> | status | test | clear <name|--all>`,a)}}async enable(n){return x(!0),n.md?(console.log(f(o("Owned LLM enabled","Brain profile config is ON for this machine. Guest harnesses (Claude/Grok/Codex/\u2026) are unchanged. There is no agent loop yet \u2014 only `prjct llm set|use|test|\u2026`."),o("Next","`prjct llm set --name \u2026 --key \u2026` then `prjct llm test --md`"))),{success:!0,enabled:!0}):(l.done("Owned LLM enabled (opt-in). Guest mode unchanged."),l.info("Configure a brain: prjct llm set --name <n> --key <K>"),l.info("Disable anytime: prjct llm disable"),{success:!0,enabled:!0})}async disable(n){return x(!1),n.md?(console.log(f(o("Owned LLM disabled","Profile config verbs are locked. Existing profiles/keys on disk are left intact (run `prjct llm clear --all` after enable if you want them removed)."))),{success:!0,enabled:!1}):(l.done("Owned LLM disabled. Guest mode unchanged."),{success:!0,enabled:!1})}async statusDisabled(n){return n.md?(console.log(f(o("Owned LLM","**OFF** (default). No guest behavior changed. Enable only if you want machine-local brain profiles for the future owned agent loop."),o("Enable","`prjct llm enable` \xB7 or `PRJCT_OWNED_LLM=1`"))),{success:!0,enabled:!1,configured:!1}):(l.info("Owned LLM: OFF (opt-in). Guest harnesses unchanged."),l.info("Enable: prjct llm enable"),{success:!0,enabled:!1,configured:!1})}async set(n,r){let a=r.name??p(n,"name"),e=r.key??p(n,"key"),t=r.model??p(n,"model"),b=r.baseUrl??p(n,"base-url")??p(n,"baseUrl"),d=ce(r.wire??p(n,"wire")),c=r.provider??p(n,"provider"),u=r.weak===!0||S(n,"weak")?!0:S(n,"no-weak")?!1:void 0,h=r.authHeader??p(n,"auth-header"),R=r.authScheme??p(n,"auth-scheme"),U=R===void 0?void 0:/^none$/i.test(R)?"":R,g=(e?H(e):void 0)??(b?D(b):void 0),C=b??g?.baseUrl,E=d??g?.wire,$=c??g?.providerLabel,T=A(a??$??g?.providerLabel??"default"),le=W(T),B=t??g?.defaultModel??void 0,L={name:T};if(E&&(L.wire=E),$&&(L.providerLabel=$),C&&(L.baseUrl=C.replace(/\/+$/,"")),B&&(L.model=B),h!==void 0&&(L.authHeader=h),U!==void 0&&(L.authScheme=U),u===!0?L.weak=!0:u===!1?L.weak=!1:!le&&g?.weakHint&&(L.weak=!0),!e&&!a&&!t&&!C&&!E&&!$&&u===void 0&&h===void 0&&U===void 0)return m(`Nothing to set. Examples:
7
+ import{a as H,b as D,c as A,d as j,e as N,f as x,g as I,h as P,i as W,k as q,l as J,m as Y,n as X,o as k,p as V,q as w,r as K,s as z,t as Q,u as Z,v as ee,w as re}from"./chunk-PPSVWUXC.mjs";import{a as p}from"./chunk-YZEO5DZA.mjs";import{a as f,d as o,h as M}from"./chunk-6POAOY5C.mjs";import{a as G}from"./chunk-5DZ2LTII.mjs";import{e as m}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 l}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"./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-623SNKDH.mjs";import"./chunk-XWLTEAGN.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import{e as O,g as ae}from"./chunk-225DWS4D.mjs";import{a as y}from"./chunk-3TRXQAU4.mjs";ae();function S(s,n){return s.includes(`--${n}`)}y(S,"hasFlag");function ce(s){if(s){if(s==="anthropic")return"anthropic";if(s==="openai-compatible"||s==="openai"||s==="openai-compat")return"openai-compatible"}}y(ce,"parseWire");function te(s){switch(s){case"env":return"env (PRJCT_LLM_API_KEY)";case"env-profile":return"env (per-profile)";case"keychain":return"macOS Keychain";case"file":return"llm-keys file (0600)";case"dummy":return"local placeholder";default:return"none"}}y(te,"keyLocationLabel");var ne=class extends G{static{y(this,"LlmCommands")}async llm(n=null,r=process.cwd(),a={}){let e=(n??"").trim().split(/\s+/).filter(Boolean),t=e[0]??"status";if(t==="enable")return this.enable(a);if(t==="disable")return this.disable(a);if((t==="status"||t==="list")&&!N())return this.statusDisabled(a);if(!N())return m(I(),a);switch(t){case"set":return this.set(e.slice(1),a);case"use":return this.use(e.slice(1),a);case"status":case"list":return this.status(a);case"test":return this.test(e.slice(1),a);case"clear":return this.clear(e.slice(1),a);default:return m(`Unknown subcommand '${t}'. Use: enable | disable | set | use <name> | status | test | clear <name|--all>`,a)}}async enable(n){return x(!0),n.md?(console.log(f(o("Owned LLM enabled","Brain profile config is ON for this machine. Guest harnesses (Claude/Grok/Codex/\u2026) are unchanged. There is no agent loop yet \u2014 only `prjct llm set|use|test|\u2026`."),o("Next","`prjct llm set --name \u2026 --key \u2026` then `prjct llm test --md`"))),{success:!0,enabled:!0}):(l.done("Owned LLM enabled (opt-in). Guest mode unchanged."),l.info("Configure a brain: prjct llm set --name <n> --key <K>"),l.info("Disable anytime: prjct llm disable"),{success:!0,enabled:!0})}async disable(n){return x(!1),n.md?(console.log(f(o("Owned LLM disabled","Profile config verbs are locked. Existing profiles/keys on disk are left intact (run `prjct llm clear --all` after enable if you want them removed)."))),{success:!0,enabled:!1}):(l.done("Owned LLM disabled. Guest mode unchanged."),{success:!0,enabled:!1})}async statusDisabled(n){return n.md?(console.log(f(o("Owned LLM","**OFF** (default). No guest behavior changed. Enable only if you want machine-local brain profiles for the future owned agent loop."),o("Enable","`prjct llm enable` \xB7 or `PRJCT_OWNED_LLM=1`"))),{success:!0,enabled:!1,configured:!1}):(l.info("Owned LLM: OFF (opt-in). Guest harnesses unchanged."),l.info("Enable: prjct llm enable"),{success:!0,enabled:!1,configured:!1})}async set(n,r){let a=r.name??p(n,"name"),e=r.key??p(n,"key"),t=r.model??p(n,"model"),b=r.baseUrl??p(n,"base-url")??p(n,"baseUrl"),d=ce(r.wire??p(n,"wire")),c=r.provider??p(n,"provider"),u=r.weak===!0||S(n,"weak")?!0:S(n,"no-weak")?!1:void 0,h=r.authHeader??p(n,"auth-header"),R=r.authScheme??p(n,"auth-scheme"),U=R===void 0?void 0:/^none$/i.test(R)?"":R,g=(e?H(e):void 0)??(b?D(b):void 0),C=b??g?.baseUrl,E=d??g?.wire,$=c??g?.providerLabel,T=A(a??$??g?.providerLabel??"default"),le=W(T),B=t??g?.defaultModel??void 0,L={name:T};if(E&&(L.wire=E),$&&(L.providerLabel=$),C&&(L.baseUrl=C.replace(/\/+$/,"")),B&&(L.model=B),h!==void 0&&(L.authHeader=h),U!==void 0&&(L.authScheme=U),u===!0?L.weak=!0:u===!1?L.weak=!1:!le&&g?.weakHint&&(L.weak=!0),!e&&!a&&!t&&!C&&!E&&!$&&u===void 0&&h===void 0&&U===void 0)return m(`Nothing to set. Examples:
8
8
  prjct llm set --name anthropic --key sk-ant-\u2026
9
9
  prjct llm set --name openai --key sk-\u2026
10
10
  prjct llm set --name ollama --base-url http://localhost:11434/v1 --model qwen3.5:4b
@@ -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,d as T}from"./chunk-5MN22JFI.mjs";import{a as _}from"./chunk-V5VCXMKO.mjs";import{e as v}from"./chunk-FOWTB762.mjs";import"./chunk-7CI4AMVO.mjs";import"./chunk-XPRLQIVQ.mjs";import"./chunk-EZRNQXCC.mjs";import"./chunk-B7AQHL7B.mjs";import"./chunk-L4TUXFCL.mjs";import{h as g}from"./chunk-ID2C2S33.mjs";import"./chunk-3USVY66O.mjs";import"./chunk-OIE3AKKO.mjs";import"./chunk-Q6C27OL7.mjs";import"./chunk-NXUIMC22.mjs";import"./chunk-DZVOFEM5.mjs";import"./chunk-5EF5EOCL.mjs";import"./chunk-DMO3ZFUG.mjs";import"./chunk-NNOX3UU4.mjs";import"./chunk-INJ5WT2D.mjs";import"./chunk-HU5ERAAV.mjs";import"./chunk-6RT2P22O.mjs";import"./chunk-ZXTJLMVZ.mjs";import"./chunk-VWFVSNQT.mjs";import"./chunk-U24YKPYX.mjs";import"./chunk-D62TAZG6.mjs";import"./chunk-623SNKDH.mjs";import"./chunk-TTN2CFZC.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import{e as w,g as E}from"./chunk-225DWS4D.mjs";import{a as M}from"./chunk-3TRXQAU4.mjs";import*as d from"@clack/prompts";import f from"chalk";import C from"node:fs";import L from"node:os";import $ from"node:path";var x=[{name:"claude_ai_PostHog",displayName:"PostHog",description:"Product analytics, dashboards, feature flags, surveys",estimatedTools:280},{name:"claude_ai_Atlassian",displayName:"Atlassian (Jira + Confluence)",description:"Jira issues, Confluence pages, Compass components",estimatedTools:40},{name:"claude_ai_Supabase",displayName:"Supabase",description:"Postgres projects, migrations, edge functions, branches",estimatedTools:30},{name:"claude_ai_Google_Drive",displayName:"Google Drive",description:"Read files from your Drive (auth-gated)",estimatedTools:2},{name:"claude_ai_Linear",displayName:"Linear",description:"Issues, projects, comments",estimatedTools:25},{name:"claude_ai_GitHub",displayName:"GitHub",description:"Repos, PRs, issues (claude.ai integration, separate from gh CLI)",estimatedTools:35},{name:"claude_ai_Notion",displayName:"Notion",description:"Pages, databases, blocks",estimatedTools:20},{name:"claude_ai_Slack",displayName:"Slack",description:"Messages, channels, threads",estimatedTools:15}],N=class{static{M(this,"McpService")}async list(s){let t=new Set(this.readDenied(s).map(r=>r.serverName)),e=[];for(let r of x)e.push({name:r.name,displayName:r.displayName,source:"cloud",description:r.description,estimatedTools:r.estimatedTools,denied:t.has(r.name)});let n=this.readJson($.join(s,".mcp.json"));if(n?.mcpServers)for(let r of Object.keys(n.mcpServers))e.push({name:r,displayName:r,source:"project",description:"stdio server declared in .mcp.json",estimatedTools:0,denied:t.has(r)});let o=this.readJson($.join(L.homedir(),".claude.json"));if(o?.mcpServers)for(let r of Object.keys(o.mcpServers))e.push({name:r,displayName:r,source:"global",description:"stdio server declared in ~/.claude.json",estimatedTools:0,denied:t.has(r)});return e}async deny(s,t){let e=this.localSettingsPath(s),n=this.readJson(e)??{},o=n.deniedMcpServers??[];return o.some(l=>l.serverName===t)?{alreadyDenied:!0,settingsPath:e}:(n.deniedMcpServers=[...o,{serverName:t}],this.writeJson(e,n),{alreadyDenied:!1,settingsPath:e})}async allow(s,t){let e=this.localSettingsPath(s),n=this.readJson(e)??{},o=n.deniedMcpServers??[],r=o.filter(l=>l.serverName!==t);return r.length===o.length?{wasDenied:!1,settingsPath:e}:(r.length===0?delete n.deniedMcpServers:n.deniedMcpServers=r,this.writeJson(e,n),{wasDenied:!0,settingsPath:e})}async setEnabled(s,t,e){let n=this.localSettingsPath(s),o=this.readJson(n)??{},r=new Set((o.deniedMcpServers??[]).map(c=>c.serverName)),l=new Set(t),i=new Set(r);for(let c of e)l.has(c)?i.delete(c):i.add(c);let p=[],m=[];for(let c of e){let u=r.has(c),y=i.has(c);!u&&y?p.push(c):u&&!y&&m.push(c)}return p.length===0&&m.length===0?{nowDenied:p,nowAllowed:m,settingsPath:n}:(i.size===0?delete o.deniedMcpServers:o.deniedMcpServers=Array.from(i).map(c=>({serverName:c})),this.writeJson(n,o),{nowDenied:p,nowAllowed:m,settingsPath:n})}localSettingsPath(s){return $.join(s,".claude","settings.local.json")}readDenied(s){return this.readJson(this.localSettingsPath(s))?.deniedMcpServers??[]}readJson(s){try{let t=C.readFileSync(s,"utf-8");return JSON.parse(t)}catch{return null}}writeJson(s,t){C.mkdirSync($.dirname(s),{recursive:!0}),C.writeFileSync(s,`${JSON.stringify(t,null,2)}
7
+ import{a as P,d as T}from"./chunk-6POAOY5C.mjs";import{a as _}from"./chunk-5DZ2LTII.mjs";import{e as v}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 g}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"./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{e as w,g as E}from"./chunk-225DWS4D.mjs";import{a as M}from"./chunk-3TRXQAU4.mjs";import*as d from"@clack/prompts";import f from"chalk";import C from"node:fs";import L from"node:os";import $ from"node:path";var x=[{name:"claude_ai_PostHog",displayName:"PostHog",description:"Product analytics, dashboards, feature flags, surveys",estimatedTools:280},{name:"claude_ai_Atlassian",displayName:"Atlassian (Jira + Confluence)",description:"Jira issues, Confluence pages, Compass components",estimatedTools:40},{name:"claude_ai_Supabase",displayName:"Supabase",description:"Postgres projects, migrations, edge functions, branches",estimatedTools:30},{name:"claude_ai_Google_Drive",displayName:"Google Drive",description:"Read files from your Drive (auth-gated)",estimatedTools:2},{name:"claude_ai_Linear",displayName:"Linear",description:"Issues, projects, comments",estimatedTools:25},{name:"claude_ai_GitHub",displayName:"GitHub",description:"Repos, PRs, issues (claude.ai integration, separate from gh CLI)",estimatedTools:35},{name:"claude_ai_Notion",displayName:"Notion",description:"Pages, databases, blocks",estimatedTools:20},{name:"claude_ai_Slack",displayName:"Slack",description:"Messages, channels, threads",estimatedTools:15}],N=class{static{M(this,"McpService")}async list(s){let t=new Set(this.readDenied(s).map(r=>r.serverName)),e=[];for(let r of x)e.push({name:r.name,displayName:r.displayName,source:"cloud",description:r.description,estimatedTools:r.estimatedTools,denied:t.has(r.name)});let n=this.readJson($.join(s,".mcp.json"));if(n?.mcpServers)for(let r of Object.keys(n.mcpServers))e.push({name:r,displayName:r,source:"project",description:"stdio server declared in .mcp.json",estimatedTools:0,denied:t.has(r)});let o=this.readJson($.join(L.homedir(),".claude.json"));if(o?.mcpServers)for(let r of Object.keys(o.mcpServers))e.push({name:r,displayName:r,source:"global",description:"stdio server declared in ~/.claude.json",estimatedTools:0,denied:t.has(r)});return e}async deny(s,t){let e=this.localSettingsPath(s),n=this.readJson(e)??{},o=n.deniedMcpServers??[];return o.some(l=>l.serverName===t)?{alreadyDenied:!0,settingsPath:e}:(n.deniedMcpServers=[...o,{serverName:t}],this.writeJson(e,n),{alreadyDenied:!1,settingsPath:e})}async allow(s,t){let e=this.localSettingsPath(s),n=this.readJson(e)??{},o=n.deniedMcpServers??[],r=o.filter(l=>l.serverName!==t);return r.length===o.length?{wasDenied:!1,settingsPath:e}:(r.length===0?delete n.deniedMcpServers:n.deniedMcpServers=r,this.writeJson(e,n),{wasDenied:!0,settingsPath:e})}async setEnabled(s,t,e){let n=this.localSettingsPath(s),o=this.readJson(n)??{},r=new Set((o.deniedMcpServers??[]).map(c=>c.serverName)),l=new Set(t),i=new Set(r);for(let c of e)l.has(c)?i.delete(c):i.add(c);let p=[],m=[];for(let c of e){let u=r.has(c),y=i.has(c);!u&&y?p.push(c):u&&!y&&m.push(c)}return p.length===0&&m.length===0?{nowDenied:p,nowAllowed:m,settingsPath:n}:(i.size===0?delete o.deniedMcpServers:o.deniedMcpServers=Array.from(i).map(c=>({serverName:c})),this.writeJson(n,o),{nowDenied:p,nowAllowed:m,settingsPath:n})}localSettingsPath(s){return $.join(s,".claude","settings.local.json")}readDenied(s){return this.readJson(this.localSettingsPath(s))?.deniedMcpServers??[]}readJson(s){try{let t=C.readFileSync(s,"utf-8");return JSON.parse(t)}catch{return null}}writeJson(s,t){C.mkdirSync($.dirname(s),{recursive:!0}),C.writeFileSync(s,`${JSON.stringify(t,null,2)}
8
8
  `,"utf-8")}},h=new N;E();var R=class extends _{static{M(this,"McpCommands")}async mcp(s=null,t=process.cwd(),e={}){let n=(s??"").trim().split(/\s+/).filter(Boolean),o=n[0]??null,r=n[1]??null;if(o===null)return!e.md&&!!process.stdin.isTTY&&!!process.stdout.isTTY?this.interactive(t):this.list(t,e);switch(o){case"list":return this.list(t,e);case"status":return this.status(t,e);case"deny":return this.deny(r,t,e);case"allow":return this.allow(r,t,e);default:return g.fail(`Unknown mcp subcommand: ${o}. Use: list, status, deny <name>, allow <name>.`),{success:!1,error:"Unknown mcp subcommand"}}}async interactive(s){try{let t=await h.list(s);if(t.length===0)return g.info("No MCP servers detected for this project."),{success:!0,servers:[]};let e=M(a=>a.reduce((b,j)=>b+j.estimatedTools,0),"sumTools"),n=t.filter(a=>!a.denied),o=e(n),r=e(t),l=s.split("/").pop()??"this project";d.intro(f.cyan.bold(`MCP servers \u2014 ${l}`)),d.note([`${n.length}/${t.length} active \xB7 ~${o} of ~${r} tools loaded`,f.dim("Space toggles \xB7 Enter applies \xB7 Esc cancels")].join(`
9
9
  `),"Context cost");let i={cloud:"cloud",project:"project",global:"global"},p=[...t].sort((a,b)=>{if(a.source!==b.source){let j=["cloud","project","global"];return j.indexOf(a.source)-j.indexOf(b.source)}return b.estimatedTools-a.estimatedTools}),m=await d.multiselect({message:"Keep enabled in this project:",options:p.map(a=>({value:a.name,label:this.optionLabel(a,i[a.source]),hint:a.description})),initialValues:p.filter(a=>!a.denied).map(a=>a.name),required:!1});if(d.isCancel(m))return d.cancel("No changes."),{success:!0,cancelled:!0};let c=m,u=await h.setEnabled(s,c,t.map(a=>a.name)),y=e(t.filter(a=>c.includes(a.name))),D=y-o;if(u.nowDenied.length===0&&u.nowAllowed.length===0)return d.outro(f.dim("No changes.")),{success:!0,unchanged:!0};let S=[];u.nowDenied.length>0&&S.push(f.red(`\u2717 denied (${u.nowDenied.length}): ${u.nowDenied.join(", ")}`)),u.nowAllowed.length>0&&S.push(f.green(`\u2713 allowed (${u.nowAllowed.length}): ${u.nowAllowed.join(", ")}`));let k=D>0?"+":"";return S.push(""),S.push(`Tools loaded: ${o} \u2192 ${y} (${f.bold(`${k}${D}`)})`),d.note(S.join(`
10
10
  `),`Wrote ${this.relativeSettingsPath(u.settingsPath,s)}`),d.outro(f.yellow("Restart Claude Code to apply (MCP config is cached at session start).")),{success:!0,...u,beforeTools:o,afterTools:y}}catch(t){let e=w(t);return v(e)}}optionLabel(s,t){let e=s.estimatedTools>0?f.dim(` ~${s.estimatedTools} tools`):"";return`${f.dim(`[${t}]`)} ${s.displayName}${e}`}relativeSettingsPath(s,t){return s.startsWith(t)?s.slice(t.length+1):s}async list(s,t){try{let e=await h.list(s);return t.md?console.log(this.formatMd(e,!1)):this.formatTerminal(e,!1),{success:!0,servers:e}}catch(e){let n=w(e);return v(n)}}async status(s,t){try{let n=(await h.list(s)).filter(o=>o.denied);return t.md?console.log(this.formatMd(n,!0)):this.formatTerminal(n,!0),{success:!0,denied:n}}catch(e){let n=w(e);return v(n)}}async deny(s,t,e){if(!s)return g.fail("Usage: prjct mcp deny <serverName>"),{success:!1,error:"Missing serverName"};try{let n=await h.deny(t,s),o=n.alreadyDenied?"already denied":"denied",r=`${s} ${o} in this project`;return e.md?console.log(P(T("Done",r),T("What to do next",this.restartHint(n.settingsPath)))):(g.done(r),console.log(this.restartHint(n.settingsPath))),{success:!0,...n}}catch(n){let o=w(n);return v(o)}}async allow(s,t,e){if(!s)return g.fail("Usage: prjct mcp allow <serverName>"),{success:!1,error:"Missing serverName"};try{let n=await h.allow(t,s),o=n.wasDenied?`${s} re-allowed in this project`:`${s} was not denied \u2014 nothing to change`;return e.md?console.log(P(T("Done",o),n.wasDenied?T("What to do next",this.restartHint(n.settingsPath)):null)):(g.done(o),n.wasDenied&&console.log(this.restartHint(n.settingsPath))),{success:!0,...n}}catch(n){let o=w(n);return v(o)}}formatTerminal(s,t){if(s.length===0){t?g.info("No MCP servers denied in this project."):g.info("No MCP servers detected.");return}let e=s.filter(o=>o.denied).reduce((o,r)=>o+r.estimatedTools,0),n=s.filter(o=>!o.denied).reduce((o,r)=>o+r.estimatedTools,0);t||console.log(`
@@ -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{d as w,e as $}from"./chunk-5UUITMRX.mjs";import"./chunk-K25HGTC3.mjs";import{j as y,l as R,m as L}from"./chunk-RXXXA7Z6.mjs";import"./chunk-CNWEQUB7.mjs";import"./chunk-AJXELVNH.mjs";import"./chunk-CWLGRKA7.mjs";import"./chunk-2NI4EEK2.mjs";import"./chunk-X4FR5S7E.mjs";import"./chunk-5YLI5V3Q.mjs";import"./chunk-F2FKQUYE.mjs";import"./chunk-BTCCUMKI.mjs";import"./chunk-6AFXUX2M.mjs";import"./chunk-KKIJAEYU.mjs";import"./chunk-WSVMQYYU.mjs";import{i as A}from"./chunk-X35YYOFE.mjs";import"./chunk-LZC6NGB6.mjs";import"./chunk-XLFEWZRA.mjs";import"./chunk-XPRLQIVQ.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-3USVY66O.mjs";import"./chunk-OIE3AKKO.mjs";import"./chunk-Q6C27OL7.mjs";import"./chunk-NXUIMC22.mjs";import{f as c,i as C}from"./chunk-DMO3ZFUG.mjs";import"./chunk-NNOX3UU4.mjs";import"./chunk-INJ5WT2D.mjs";import{e as S,l as j}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"./chunk-D62TAZG6.mjs";import"./chunk-KPR5TWSN.mjs";import"./chunk-623SNKDH.mjs";import"./chunk-TTN2CFZC.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import"./chunk-225DWS4D.mjs";import{a}from"./chunk-3TRXQAU4.mjs";C();j();var k="memory:dream",f="memory:dream-lock",F=24,T=5,G=1800*1e3;function M(e){try{let n=c.getDoc(e,k);return!n||n.version!==1?null:n}catch{return null}}a(M,"loadDreamStamp");function E(e,n){c.setDoc(e,k,n)}a(E,"writeDreamStamp");function P(e){let n=M(e),r={version:1,lastDreamAt:n?.lastDreamAt??"",sessionsSinceDream:(n?.sessionsSinceDream??0)+1,lastResult:n?.lastResult};try{E(e,r)}catch{}return r}a(P,"recordDreamSession");function U(e,n={}){let r=n.minHours??F,o=n.minSessions??T,d=n.nowMs??Date.now(),i=M(e),t=[];if(n.force)return{ok:!0,reasons:["force"],stamp:i,hoursSinceLast:_(i?.lastDreamAt,d),sessionsSinceDream:i?.sessionsSinceDream??0};let s=_(i?.lastDreamAt,d),l=i?.sessionsSinceDream??0;return i?.lastDreamAt?(s!==null&&s<r&&t.push(`time-gate: ${s.toFixed(1)}h < ${r}h since last dream`),l<o&&t.push(`session-gate: ${l} < ${o} lands since last dream`),{ok:t.length===0,reasons:t.length===0?["gates-open"]:t,stamp:i,hoursSinceLast:s,sessionsSinceDream:l}):{ok:!0,reasons:["first-dream"],stamp:i,hoursSinceLast:null,sessionsSinceDream:l}}a(U,"evaluateDreamGates");function _(e,n){if(!e)return null;let r=Date.parse(e);return Number.isFinite(r)?(n-r)/(3600*1e3):null}a(_,"hoursSince");function B(e,n){try{let r=c.getDoc(e,f);return r?.startedAt&&n-r.startedAt<G?!1:(c.setDoc(e,f,{startedAt:n,owner:`pid-${process.pid}`}),!0)}catch{return!0}}a(B,"tryAcquireLock");function K(e){try{c.setDoc(e,f,{startedAt:0,owner:""})}catch{}}a(K,"releaseLock");function Y(e){let n=e.nowMs??Date.now(),r=e.dryRun===!0,o=e.projectId,d=a(()=>({orient:{live:0,softDeleted:0,archives:0},gather:{inbox:0,wouldArchive:0,wouldDelete:0},consolidate:{archived:0,deleted:0,inboxMerged:0,inboxArchived:0,retention:null},prune:{indexBuilt:!1,indexLive:0}}),"emptyPhases");e.onLand&&P(o);let i=U(o,{force:e.force,minHours:e.minHours,minSessions:e.minSessions,nowMs:n});if(!i.ok){let t=i.reasons.join("; ");return{ran:!1,skipped:!0,reason:t,dryRun:r,phases:d(),gate:i,stamp:i.stamp,index:null,line:`Dream skipped: ${t}`,md:`## Memory dream
7
+ import{d as w,e as $}from"./chunk-CXKDKMYE.mjs";import"./chunk-XLAGA5B7.mjs";import{j as y,l as R,m as L}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"./chunk-OXKGN3HG.mjs";import"./chunk-ZQ2XH76U.mjs";import{i as A}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{f as c,i as C}from"./chunk-DMO3ZFUG.mjs";import"./chunk-NNOX3UU4.mjs";import"./chunk-INJ5WT2D.mjs";import{e as S,l as j}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"./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}from"./chunk-3TRXQAU4.mjs";C();j();var k="memory:dream",f="memory:dream-lock",F=24,T=5,G=1800*1e3;function M(e){try{let n=c.getDoc(e,k);return!n||n.version!==1?null:n}catch{return null}}a(M,"loadDreamStamp");function E(e,n){c.setDoc(e,k,n)}a(E,"writeDreamStamp");function P(e){let n=M(e),r={version:1,lastDreamAt:n?.lastDreamAt??"",sessionsSinceDream:(n?.sessionsSinceDream??0)+1,lastResult:n?.lastResult};try{E(e,r)}catch{}return r}a(P,"recordDreamSession");function U(e,n={}){let r=n.minHours??F,o=n.minSessions??T,d=n.nowMs??Date.now(),i=M(e),t=[];if(n.force)return{ok:!0,reasons:["force"],stamp:i,hoursSinceLast:_(i?.lastDreamAt,d),sessionsSinceDream:i?.sessionsSinceDream??0};let s=_(i?.lastDreamAt,d),l=i?.sessionsSinceDream??0;return i?.lastDreamAt?(s!==null&&s<r&&t.push(`time-gate: ${s.toFixed(1)}h < ${r}h since last dream`),l<o&&t.push(`session-gate: ${l} < ${o} lands since last dream`),{ok:t.length===0,reasons:t.length===0?["gates-open"]:t,stamp:i,hoursSinceLast:s,sessionsSinceDream:l}):{ok:!0,reasons:["first-dream"],stamp:i,hoursSinceLast:null,sessionsSinceDream:l}}a(U,"evaluateDreamGates");function _(e,n){if(!e)return null;let r=Date.parse(e);return Number.isFinite(r)?(n-r)/(3600*1e3):null}a(_,"hoursSince");function B(e,n){try{let r=c.getDoc(e,f);return r?.startedAt&&n-r.startedAt<G?!1:(c.setDoc(e,f,{startedAt:n,owner:`pid-${process.pid}`}),!0)}catch{return!0}}a(B,"tryAcquireLock");function K(e){try{c.setDoc(e,f,{startedAt:0,owner:""})}catch{}}a(K,"releaseLock");function Y(e){let n=e.nowMs??Date.now(),r=e.dryRun===!0,o=e.projectId,d=a(()=>({orient:{live:0,softDeleted:0,archives:0},gather:{inbox:0,wouldArchive:0,wouldDelete:0},consolidate:{archived:0,deleted:0,inboxMerged:0,inboxArchived:0,retention:null},prune:{indexBuilt:!1,indexLive:0}}),"emptyPhases");e.onLand&&P(o);let i=U(o,{force:e.force,minHours:e.minHours,minSessions:e.minSessions,nowMs:n});if(!i.ok){let t=i.reasons.join("; ");return{ran:!1,skipped:!0,reason:t,dryRun:r,phases:d(),gate:i,stamp:i.stamp,index:null,line:`Dream skipped: ${t}`,md:`## Memory dream
8
8
 
9
9
  _Skipped \u2014 ${t}_
10
10
  `}}if(!B(o,n)){let t="lock-held (another dream in progress)";return{ran:!1,skipped:!0,reason:t,dryRun:r,phases:d(),gate:i,stamp:i.stamp,index:null,line:`Dream skipped: ${t}`,md:`## Memory dream
@@ -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 _}from"./chunk-KIRU4QFX.mjs";import"./chunk-7QMBIMEX.mjs";import"./chunk-VDXTMAMO.mjs";import"./chunk-NZKUCQZK.mjs";import"./chunk-H2KNJUPN.mjs";import{a as k}from"./chunk-V5VCXMKO.mjs";import"./chunk-FOWTB762.mjs";import"./chunk-6FUCOGOW.mjs";import"./chunk-7CI4AMVO.mjs";import"./chunk-Q3LUL6LL.mjs";import"./chunk-C7YBUD4K.mjs";import"./chunk-IOFCSTGM.mjs";import"./chunk-S6FBPXQL.mjs";import"./chunk-NOHSLOLL.mjs";import"./chunk-RCIWCKL7.mjs";import"./chunk-E73HSXCX.mjs";import"./chunk-76YMLNLF.mjs";import"./chunk-O5N6XYPU.mjs";import"./chunk-SROBBOJB.mjs";import"./chunk-56FW4P6U.mjs";import"./chunk-BQKDJ3U6.mjs";import"./chunk-6OYLZ4NM.mjs";import"./chunk-SO3ZPNWT.mjs";import"./chunk-V7R3L54M.mjs";import"./chunk-YEALP3WX.mjs";import"./chunk-QZ7T2EYR.mjs";import"./chunk-UYMZ3NAF.mjs";import"./chunk-AJXELVNH.mjs";import"./chunk-CWLGRKA7.mjs";import"./chunk-2NI4EEK2.mjs";import"./chunk-6AFXUX2M.mjs";import"./chunk-WSVMQYYU.mjs";import"./chunk-LZC6NGB6.mjs";import"./chunk-XLFEWZRA.mjs";import"./chunk-XPRLQIVQ.mjs";import"./chunk-EZRNQXCC.mjs";import"./chunk-HCPQZRR3.mjs";import"./chunk-EHVU2SMR.mjs";import"./chunk-HPCSSJXH.mjs";import"./chunk-E5QQDYBR.mjs";import"./chunk-B7AQHL7B.mjs";import"./chunk-L4TUXFCL.mjs";import{h as f}from"./chunk-ID2C2S33.mjs";import"./chunk-RACISWUV.mjs";import"./chunk-DIEPWXJJ.mjs";import"./chunk-NINFE7GS.mjs";import"./chunk-UNNY2IWZ.mjs";import"./chunk-3USVY66O.mjs";import"./chunk-OIE3AKKO.mjs";import"./chunk-Q6C27OL7.mjs";import"./chunk-NXUIMC22.mjs";import"./chunk-DZVOFEM5.mjs";import"./chunk-5EF5EOCL.mjs";import{f as p,i as I}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-TTN2CFZC.mjs";import"./chunk-DOJPSIMG.mjs";import{l as v,p as j}from"./chunk-HYIT7MF5.mjs";import"./chunk-225DWS4D.mjs";import{a as x}from"./chunk-3TRXQAU4.mjs";I();j();import g from"node:fs/promises";import l from"node:path";var h=l.join(".prjct","memory-export"),E=500,R=class extends k{static{x(this,"MemoryExportCommands")}async memory(c=null,i=process.cwd(),t={}){let o=(c??"").trim().split(/\s+/).filter(Boolean),s=o[0]||"";if(s==="export")return this.export(i,t);if(s==="import")return this.import(i,t);if(s==="index")return this.index(i,t);if(s==="close"){let{PrimitiveCommands:n}=await import("./primitives-IXAYLX7U.mjs");return new n().close(o[1]??null,i,t)}if(s==="forget"){let{PrimitiveCommands:n}=await import("./primitives-IXAYLX7U.mjs");return new n().forget(o[1]??null,i,t)}if(s==="dream"){let{CeremonyCommands:n}=await import("./ceremonies-4OZ3FKRE.mjs");return new n().dream(null,i,t)}let r="Usage: prjct memory export|import|index|close <id>|forget <id>|dream \u2014 shareable export, L0 index, lifecycle, or auto-dream consolidation.";return t.md?console.log(`> ${r}`):f.info(r),{success:!1,error:"unknown memory subcommand"}}async index(c,i){let t=await _(c);if(!t.ok)return t.result;let{buildAndStoreMemoryL0Index:o,loadMemoryL0Index:s}=await import("./memory-index-BRZDZ2BY.mjs"),r=o({projectId:t.value,source:"manual"})??s(t.value);if(!r){let n="No memory index available (empty vault).";return i.md?console.log(`> ${n}`):f.info(n),{success:!1,error:n}}return console.log(r.markdown),{success:!0,live:r.live,builtAt:r.builtAt}}async export(c,i){let t=await _(c);if(!t.ok)return t.result;let o=t.value,r=p.query(o,`SELECT id, type, title, content, provenance, content_hash, topic_key, created_at
7
+ import{b as _}from"./chunk-J6Y7IVFQ.mjs";import"./chunk-UAYTDSYG.mjs";import"./chunk-NNILF7R3.mjs";import"./chunk-NZKUCQZK.mjs";import"./chunk-H2KNJUPN.mjs";import{a as k}from"./chunk-5DZ2LTII.mjs";import"./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 f}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{f as p,i as I}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{l as v,p as j}from"./chunk-HYIT7MF5.mjs";import"./chunk-225DWS4D.mjs";import{a as x}from"./chunk-3TRXQAU4.mjs";I();j();import g from"node:fs/promises";import l from"node:path";var h=l.join(".prjct","memory-export"),E=500,R=class extends k{static{x(this,"MemoryExportCommands")}async memory(c=null,i=process.cwd(),t={}){let o=(c??"").trim().split(/\s+/).filter(Boolean),s=o[0]||"";if(s==="export")return this.export(i,t);if(s==="import")return this.import(i,t);if(s==="index")return this.index(i,t);if(s==="close"){let{PrimitiveCommands:n}=await import("./primitives-GNUMBYOK.mjs");return new n().close(o[1]??null,i,t)}if(s==="forget"){let{PrimitiveCommands:n}=await import("./primitives-GNUMBYOK.mjs");return new n().forget(o[1]??null,i,t)}if(s==="dream"){let{CeremonyCommands:n}=await import("./ceremonies-B565WDCA.mjs");return new n().dream(null,i,t)}let r="Usage: prjct memory export|import|index|close <id>|forget <id>|dream \u2014 shareable export, L0 index, lifecycle, or auto-dream consolidation.";return t.md?console.log(`> ${r}`):f.info(r),{success:!1,error:"unknown memory subcommand"}}async index(c,i){let t=await _(c);if(!t.ok)return t.result;let{buildAndStoreMemoryL0Index:o,loadMemoryL0Index:s}=await import("./memory-index-7NIU34EI.mjs"),r=o({projectId:t.value,source:"manual"})??s(t.value);if(!r){let n="No memory index available (empty vault).";return i.md?console.log(`> ${n}`):f.info(n),{success:!1,error:n}}return console.log(r.markdown),{success:!0,live:r.live,builtAt:r.builtAt}}async export(c,i){let t=await _(c);if(!t.ok)return t.result;let o=t.value,r=p.query(o,`SELECT id, type, title, content, provenance, content_hash, topic_key, created_at
8
8
  FROM memory_entries WHERE deleted_at IS NULL ORDER BY created_at ASC`).map(a=>{let m=p.query(o,"SELECT key, value FROM memory_entry_tags WHERE entry_id = ? AND (is_machine = 0 OR key IN ('topic', 'key'))",a.id),u={};for(let e of m)u[e.key]=e.value;return{...a,tags:u}}),n=l.join(c,h);await g.rm(n,{recursive:!0,force:!0}),await g.mkdir(n,{recursive:!0});let d=Array.from({length:Math.ceil(r.length/E)},(a,m)=>r.slice(m*E,(m+1)*E));for(let[a,m]of d.entries())await g.writeFile(l.join(n,`chunk-${String(a+1).padStart(3,"0")}.jsonl`),`${m.map(u=>JSON.stringify(u)).join(`
9
9
  `)}
10
10
  `);await g.writeFile(l.join(n,"manifest.json"),`${JSON.stringify({version:1,entries:r.length,chunks:d.length,exportedAt:new Date().toISOString()},null,2)}
@@ -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}from"./chunk-5UUITMRX.mjs";import"./chunk-K25HGTC3.mjs";import"./chunk-5YLI5V3Q.mjs";import"./chunk-F2FKQUYE.mjs";import"./chunk-6AFXUX2M.mjs";import"./chunk-WSVMQYYU.mjs";import"./chunk-LZC6NGB6.mjs";import"./chunk-XLFEWZRA.mjs";import"./chunk-XPRLQIVQ.mjs";import"./chunk-EZRNQXCC.mjs";import"./chunk-B7AQHL7B.mjs";import"./chunk-L4TUXFCL.mjs";import"./chunk-DIEPWXJJ.mjs";import"./chunk-UNNY2IWZ.mjs";import"./chunk-3USVY66O.mjs";import"./chunk-OIE3AKKO.mjs";import"./chunk-Q6C27OL7.mjs";import"./chunk-NXUIMC22.mjs";import"./chunk-DMO3ZFUG.mjs";import"./chunk-NNOX3UU4.mjs";import"./chunk-INJ5WT2D.mjs";import"./chunk-HU5ERAAV.mjs";import"./chunk-6RT2P22O.mjs";import"./chunk-ZXTJLMVZ.mjs";import"./chunk-TIBYHZFA.mjs";import"./chunk-VWFVSNQT.mjs";import"./chunk-U24YKPYX.mjs";import"./chunk-D62TAZG6.mjs";import"./chunk-KPR5TWSN.mjs";import"./chunk-623SNKDH.mjs";import"./chunk-TTN2CFZC.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import"./chunk-225DWS4D.mjs";import"./chunk-3TRXQAU4.mjs";export{c as L0_INDEX_FRESH_MS,b as L0_INDEX_MAX_CHARS,a as MEMORY_L0_INDEX_KEY,d as buildAndStoreMemoryL0Index,e as buildMemoryL0Index,i as findRepeatMissedEntry,g as isMemoryL0IndexFresh,f as loadMemoryL0Index,h as memoryL0IndexForSession};
7
+ import{a,b,c,d,e,f,g,h,i}from"./chunk-CXKDKMYE.mjs";import"./chunk-XLAGA5B7.mjs";import"./chunk-5YLI5V3Q.mjs";import"./chunk-F2FKQUYE.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{c as L0_INDEX_FRESH_MS,b as L0_INDEX_MAX_CHARS,a as MEMORY_L0_INDEX_KEY,d as buildAndStoreMemoryL0Index,e as buildMemoryL0Index,i as findRepeatMissedEntry,g as isMemoryL0IndexFresh,f as loadMemoryL0Index,h as memoryL0IndexForSession};
@@ -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{b as a,c as f}from"./chunk-XC6YAP36.mjs";import{a as c}from"./chunk-MCY7OXED.mjs";import"./chunk-YQ6HM3YO.mjs";import{a as e}from"./chunk-GTG67Z45.mjs";import"./chunk-H2KNJUPN.mjs";import"./chunk-XLFEWZRA.mjs";import"./chunk-EHVU2SMR.mjs";import"./chunk-HPCSSJXH.mjs";import"./chunk-E5QQDYBR.mjs";import"./chunk-B7AQHL7B.mjs";import"./chunk-L4TUXFCL.mjs";import{b as n}from"./chunk-3USVY66O.mjs";import"./chunk-OIE3AKKO.mjs";import"./chunk-Q6C27OL7.mjs";import"./chunk-NXUIMC22.mjs";import"./chunk-DMO3ZFUG.mjs";import"./chunk-NNOX3UU4.mjs";import"./chunk-INJ5WT2D.mjs";import"./chunk-HU5ERAAV.mjs";import"./chunk-6RT2P22O.mjs";import"./chunk-ZXTJLMVZ.mjs";import"./chunk-VWFVSNQT.mjs";import"./chunk-U24YKPYX.mjs";import"./chunk-D62TAZG6.mjs";import"./chunk-623SNKDH.mjs";import"./chunk-TTN2CFZC.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import"./chunk-225DWS4D.mjs";import{a as t}from"./chunk-3TRXQAU4.mjs";function l(u=process.cwd(),p){return c({event:"Notification",projectPath:u,afterEmit:t(async(d,i)=>{let o=await n.readConfig(i).catch(()=>null);if(!o?.projectId||a(o)==="off")return;let s=await e(o.projectId,i).then(r=>r.current?`Waiting \u2014 active: ${r.current.description}`:"Waiting for your input").catch(()=>"Waiting for your input");await f("prjct \u2014 Claude needs you",s)},"afterEmit")},p)}t(l,"runNotificationHook");export{l as runNotificationHook};
7
+ import{b as a,c as f}from"./chunk-XC6YAP36.mjs";import{a as c}from"./chunk-MCY7OXED.mjs";import"./chunk-YQ6HM3YO.mjs";import{a as e}from"./chunk-GTG67Z45.mjs";import"./chunk-H2KNJUPN.mjs";import"./chunk-XLFEWZRA.mjs";import"./chunk-EHVU2SMR.mjs";import"./chunk-HPCSSJXH.mjs";import"./chunk-E5QQDYBR.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 t}from"./chunk-3TRXQAU4.mjs";function l(u=process.cwd(),p){return c({event:"Notification",projectPath:u,afterEmit:t(async(d,i)=>{let o=await n.readConfig(i).catch(()=>null);if(!o?.projectId||a(o)==="off")return;let s=await e(o.projectId,i).then(r=>r.current?`Waiting \u2014 active: ${r.current.description}`:"Waiting for your input").catch(()=>"Waiting for your input");await f("prjct \u2014 Claude needs you",s)},"afterEmit")},p)}t(l,"runNotificationHook");export{l as runNotificationHook};
@@ -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 f,b as g}from"./chunk-XC6YAP36.mjs";import{a as l,b as m}from"./chunk-GOIBJ7PV.mjs";import{a}from"./chunk-5MN22JFI.mjs";import{a as p}from"./chunk-V5VCXMKO.mjs";import{d as c}from"./chunk-FOWTB762.mjs";import"./chunk-7CI4AMVO.mjs";import"./chunk-XPRLQIVQ.mjs";import"./chunk-EZRNQXCC.mjs";import"./chunk-B7AQHL7B.mjs";import"./chunk-L4TUXFCL.mjs";import{h as r}from"./chunk-ID2C2S33.mjs";import{b as d}from"./chunk-3USVY66O.mjs";import"./chunk-OIE3AKKO.mjs";import"./chunk-Q6C27OL7.mjs";import"./chunk-NXUIMC22.mjs";import"./chunk-DZVOFEM5.mjs";import"./chunk-5EF5EOCL.mjs";import"./chunk-DMO3ZFUG.mjs";import"./chunk-NNOX3UU4.mjs";import"./chunk-INJ5WT2D.mjs";import"./chunk-HU5ERAAV.mjs";import"./chunk-6RT2P22O.mjs";import"./chunk-ZXTJLMVZ.mjs";import"./chunk-VWFVSNQT.mjs";import"./chunk-U24YKPYX.mjs";import"./chunk-D62TAZG6.mjs";import"./chunk-623SNKDH.mjs";import"./chunk-TTN2CFZC.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import"./chunk-225DWS4D.mjs";import{a as u}from"./chunk-3TRXQAU4.mjs";var y=class extends p{static{u(this,"NotifyCommands")}async notify(i=null,e=process.cwd(),o={}){let t=l(i,f);return t.kind==="status"?this.showStatus(e,o):t.kind==="mode"?this.setMode(t.mode,e,o):c(`Unknown notify subcommand "${t.sub}". Use: ${f.join("|")}.`,o)}async showStatus(i,e){let o=await m(i,e);if(!o.ok)return o.result;let t=o.value,n=g(t),s=[`Mode: ${n}${n==="on"?" (default)":""}`,"Fires on: Claude waiting for input \xB7 a subagent finishing","Set: prjct notify on|off"];return e.md?console.log(a("## Notify",`> **Mode**: \`${n}\``,s.slice(1).join(`
7
+ import{a as f,b as g}from"./chunk-XC6YAP36.mjs";import{a as l,b as m}from"./chunk-WZ6W5ZQ5.mjs";import{a}from"./chunk-6POAOY5C.mjs";import{a as p}from"./chunk-5DZ2LTII.mjs";import{d as c}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 r}from"./chunk-ID2C2S33.mjs";import{b as d}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-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 u}from"./chunk-3TRXQAU4.mjs";var y=class extends p{static{u(this,"NotifyCommands")}async notify(i=null,e=process.cwd(),o={}){let t=l(i,f);return t.kind==="status"?this.showStatus(e,o):t.kind==="mode"?this.setMode(t.mode,e,o):c(`Unknown notify subcommand "${t.sub}". Use: ${f.join("|")}.`,o)}async showStatus(i,e){let o=await m(i,e);if(!o.ok)return o.result;let t=o.value,n=g(t),s=[`Mode: ${n}${n==="on"?" (default)":""}`,"Fires on: Claude waiting for input \xB7 a subagent finishing","Set: prjct notify on|off"];return e.md?console.log(a("## Notify",`> **Mode**: \`${n}\``,s.slice(1).join(`
8
8
  `))):r.info(`Notify \u2014 ${s.join(`
9
9
  `)}`),{success:!0,mode:n}}async setMode(i,e,o){let t=await m(e,o);if(!t.ok)return t.result;let n=t.value;n.notify={mode:i},await d.writeConfig(e,n);let s=i==="on"?"Desktop notifications ON \u2014 pings on Claude-waiting + subagent-finished.":"Desktop notifications OFF \u2014 silenced (the per-prompt work-state block stays).";return o.md?console.log(a("## Notify",`> ${s}`)):r.done(s),{success:!0,mode:i}}};export{y as NotifyCommands};
@@ -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}from"./chunk-CDLZLTRY.mjs";import"./chunk-UT425KVX.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import"./chunk-225DWS4D.mjs";import"./chunk-3TRXQAU4.mjs";export{d as ensureOpenCodeMcpServer,a as getOpenCodeConfigPath,b as getOpenCodeJsoncConfigPath,e as hasOpenCodePrjctMcp,c as toOpenCodeLocalMcp};
7
+ import{a,b,c,d,e}from"./chunk-DZDEBDAB.mjs";import"./chunk-DW4QMD6J.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import"./chunk-225DWS4D.mjs";import"./chunk-3TRXQAU4.mjs";export{d as ensureOpenCodeMcpServer,a as getOpenCodeConfigPath,b as getOpenCodeJsoncConfigPath,e as hasOpenCodePrjctMcp,c as toOpenCodeLocalMcp};
@@ -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 k,b as d,c as v}from"./chunk-RXZJB43D.mjs";import{b as y}from"./chunk-3USVY66O.mjs";import"./chunk-OIE3AKKO.mjs";import{f as g,i as $}from"./chunk-DMO3ZFUG.mjs";import"./chunk-NNOX3UU4.mjs";import{e as m,l as T}from"./chunk-HU5ERAAV.mjs";import"./chunk-6RT2P22O.mjs";import"./chunk-ZXTJLMVZ.mjs";import"./chunk-VWFVSNQT.mjs";import"./chunk-U24YKPYX.mjs";import"./chunk-D62TAZG6.mjs";import"./chunk-623SNKDH.mjs";import"./chunk-TTN2CFZC.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import"./chunk-225DWS4D.mjs";import{a as c}from"./chunk-3TRXQAU4.mjs";import{createHash as b}from"node:crypto";$();T();var h="packs:installs";function P(t){let n={name:t.name,version:t.version,description:t.description,memoryTypes:[...t.memoryTypes].sort(),workflowSlots:j(t.workflowSlots),hookSignals:t.hookSignals,suggestedTags:t.suggestedTags?Object.fromEntries(Object.entries(t.suggestedTags).sort(([e],[s])=>e.localeCompare(s)).map(([e,s])=>[e,[...s].sort()])):void 0,suggestedPersona:t.suggestedPersona,configDefaults:t.configDefaults};return b("sha256").update(JSON.stringify(n)).digest("hex").slice(0,16)}c(P,"packIntegrityHash");function j(t){let n={};for(let e of Object.keys(t).sort())n[e]=t[e];return n}c(j,"sortKeys");function u(t){try{let n=g.getDoc(t,h);return!n||typeof n!="object"?{}:n}catch{return{}}}c(u,"loadPackInstalls");function w(t,n){g.setDoc(t,h,n)}c(w,"savePackInstalls");function M(t,n,e=m()){let s=u(t),r=[];for(let o of n){let i=v(o);if(!i)continue;let a={name:i.name,version:i.version,integrity:P(i),activatedAt:e};s[o]=a,r.push(a)}return w(t,s),r}c(M,"stampPackInstalls");function O(t,n){let e=u(t),s=[];for(let r of n)e[r]&&(delete e[r],s.push(r));s.length>0&&w(t,e)}c(O,"clearPackInstalls");async function x(t){let n=await y.readConfig(t),e=new Set(n?.persona?.packs??[]),s=n?.projectId,r=s?u(s):{},o=[];for(let i of d){let a=k[i],f=P(a),p=e.has(i),l=r[i],I=p&&l&&(l.integrity!==f||l.version!==a.version)?"stale":p?"active":"available";o.push({name:a.name,version:a.version,description:a.description,integrity:f,active:p,status:I,memoryTypes:a.memoryTypes,slots:Object.keys(a.workflowSlots),receipt:l})}for(let i of e){if(k[i])continue;let a=r[i];o.push({name:i,version:a?.version??"?",description:"Unknown pack (not in built-in catalog)",integrity:a?.integrity??"\u2014",active:!0,status:"unknown",memoryTypes:[],slots:[],receipt:a})}return o.sort((i,a)=>i.name.localeCompare(a.name))}c(x,"buildPackCatalog");async function D(t){let e=(await x(t)).filter(o=>o.active),s=e.filter(o=>o.status==="stale").map(o=>o.name),r=e.filter(o=>o.status==="unknown").map(o=>o.name);return{ok:s.length===0&&r.length===0,active:e.length,stale:s,unknown:r,entries:e}}c(D,"verifyActivePacks");function K(t){let n=["# prjct pack catalog (marketplace-lite)","","Local built-in packs with version + integrity. Activate with `prjct seed add <name>`.","Not a third-party MCP marketplace \u2014 packs = persona + memory types + workflow slots.","","| Pack | Ver | Active | Status | Integrity | Description |","|---|---|---|---|---|---|"];for(let e of t){let s=e.active?"yes":"\u2014";n.push(`| \`${e.name}\` | ${e.version} | ${s} | ${e.status} | \`${e.integrity}\` | ${e.description.replace(/\|/g,"\\|")} |`)}return n.push(""),n.push("## Integrity"),n.push(""),n.push("- On `seed add`, prjct stamps `version@integrity` into project SoT (`packs:installs`)."),n.push("- `prjct seed verify` flags **stale** (CLI pack upgraded since activate) or **unknown**."),n.push("- Re-activate with `prjct seed add <name>` to refresh the receipt after upgrade."),n.push(""),n.join(`
7
+ import{a as k,b as d,c as v}from"./chunk-RXZJB43D.mjs";import{b as y}from"./chunk-XSZOHNL4.mjs";import"./chunk-OIE3AKKO.mjs";import{f as g,i as $}from"./chunk-DMO3ZFUG.mjs";import"./chunk-NNOX3UU4.mjs";import{e as m,l as T}from"./chunk-HU5ERAAV.mjs";import"./chunk-6RT2P22O.mjs";import"./chunk-ZXTJLMVZ.mjs";import"./chunk-VWFVSNQT.mjs";import"./chunk-U24YKPYX.mjs";import"./chunk-D62TAZG6.mjs";import"./chunk-623SNKDH.mjs";import"./chunk-XWLTEAGN.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import"./chunk-225DWS4D.mjs";import{a as c}from"./chunk-3TRXQAU4.mjs";import{createHash as b}from"node:crypto";$();T();var h="packs:installs";function P(t){let n={name:t.name,version:t.version,description:t.description,memoryTypes:[...t.memoryTypes].sort(),workflowSlots:j(t.workflowSlots),hookSignals:t.hookSignals,suggestedTags:t.suggestedTags?Object.fromEntries(Object.entries(t.suggestedTags).sort(([e],[s])=>e.localeCompare(s)).map(([e,s])=>[e,[...s].sort()])):void 0,suggestedPersona:t.suggestedPersona,configDefaults:t.configDefaults};return b("sha256").update(JSON.stringify(n)).digest("hex").slice(0,16)}c(P,"packIntegrityHash");function j(t){let n={};for(let e of Object.keys(t).sort())n[e]=t[e];return n}c(j,"sortKeys");function u(t){try{let n=g.getDoc(t,h);return!n||typeof n!="object"?{}:n}catch{return{}}}c(u,"loadPackInstalls");function w(t,n){g.setDoc(t,h,n)}c(w,"savePackInstalls");function M(t,n,e=m()){let s=u(t),r=[];for(let o of n){let i=v(o);if(!i)continue;let a={name:i.name,version:i.version,integrity:P(i),activatedAt:e};s[o]=a,r.push(a)}return w(t,s),r}c(M,"stampPackInstalls");function O(t,n){let e=u(t),s=[];for(let r of n)e[r]&&(delete e[r],s.push(r));s.length>0&&w(t,e)}c(O,"clearPackInstalls");async function x(t){let n=await y.readConfig(t),e=new Set(n?.persona?.packs??[]),s=n?.projectId,r=s?u(s):{},o=[];for(let i of d){let a=k[i],f=P(a),p=e.has(i),l=r[i],I=p&&l&&(l.integrity!==f||l.version!==a.version)?"stale":p?"active":"available";o.push({name:a.name,version:a.version,description:a.description,integrity:f,active:p,status:I,memoryTypes:a.memoryTypes,slots:Object.keys(a.workflowSlots),receipt:l})}for(let i of e){if(k[i])continue;let a=r[i];o.push({name:i,version:a?.version??"?",description:"Unknown pack (not in built-in catalog)",integrity:a?.integrity??"\u2014",active:!0,status:"unknown",memoryTypes:[],slots:[],receipt:a})}return o.sort((i,a)=>i.name.localeCompare(a.name))}c(x,"buildPackCatalog");async function D(t){let e=(await x(t)).filter(o=>o.active),s=e.filter(o=>o.status==="stale").map(o=>o.name),r=e.filter(o=>o.status==="unknown").map(o=>o.name);return{ok:s.length===0&&r.length===0,active:e.length,stale:s,unknown:r,entries:e}}c(D,"verifyActivePacks");function K(t){let n=["# prjct pack catalog (marketplace-lite)","","Local built-in packs with version + integrity. Activate with `prjct seed add <name>`.","Not a third-party MCP marketplace \u2014 packs = persona + memory types + workflow slots.","","| Pack | Ver | Active | Status | Integrity | Description |","|---|---|---|---|---|---|"];for(let e of t){let s=e.active?"yes":"\u2014";n.push(`| \`${e.name}\` | ${e.version} | ${s} | ${e.status} | \`${e.integrity}\` | ${e.description.replace(/\|/g,"\\|")} |`)}return n.push(""),n.push("## Integrity"),n.push(""),n.push("- On `seed add`, prjct stamps `version@integrity` into project SoT (`packs:installs`)."),n.push("- `prjct seed verify` flags **stale** (CLI pack upgraded since activate) or **unknown**."),n.push("- Re-activate with `prjct seed add <name>` to refresh the receipt after upgrade."),n.push(""),n.join(`
8
8
  `)}c(K,"formatPackCatalogMd");function V(t){let n=["# prjct pack verify","",t.ok?`**OK** \u2014 ${t.active} active pack(s), integrity clean.`:`**Attention** \u2014 ${t.stale.length} stale, ${t.unknown.length} unknown.`,""];if(t.stale.length&&n.push(`- Stale (re-add to refresh): ${t.stale.map(e=>`\`${e}\``).join(", ")}`),t.unknown.length&&n.push(`- Unknown (remove or restore): ${t.unknown.map(e=>`\`${e}\``).join(", ")}`),t.entries.length){n.push("","| Pack | Ver | Status | Integrity |","|---|---|---|---|");for(let e of t.entries)n.push(`| \`${e.name}\` | ${e.version} | ${e.status} | \`${e.integrity}\` |`)}return n.push(""),n.join(`
9
9
  `)}c(V,"formatPackVerifyMd");export{h as PACK_INSTALLS_KEY,x as buildPackCatalog,O as clearPackInstalls,K as formatPackCatalogMd,V as formatPackVerifyMd,u as loadPackInstalls,P as packIntegrityHash,w as savePackInstalls,M as stampPackInstalls,D as verifyActivePacks};
@@ -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}from"./chunk-ZS7XJUPE.mjs";import"./chunk-RXZJB43D.mjs";import"./chunk-3USVY66O.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-TTN2CFZC.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import"./chunk-225DWS4D.mjs";import"./chunk-3TRXQAU4.mjs";export{c as activatePacks,d as deactivatePacks,a as detectSuggestedPacks,b as ensureCodingAnticipationDefaults,e as listActivePacks};
7
+ import{a,b,c,d,e}from"./chunk-XJTEPHLC.mjs";import"./chunk-RXZJB43D.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{c as activatePacks,d as deactivatePacks,a as detectSuggestedPacks,b as ensureCodingAnticipationDefaults,e as listActivePacks};
@@ -0,0 +1,7 @@
1
+ import { createRequire as __createRequire } from 'module';
2
+ import { fileURLToPath as __fileURLToPath } from 'url';
3
+ import { dirname as __pathDirname } from 'path';
4
+ const require = __createRequire(import.meta.url);
5
+ const __filename = __fileURLToPath(import.meta.url);
6
+ const __dirname = __pathDirname(__filename);
7
+ import"./chunk-3TRXQAU4.mjs";var s="prjct-cli",r="3.98.0",c="The agentic harness for AI coding agents \u2014 work cycles, bounded RAG context, persistent memory, guardrails, and performance evals.",n="dist/bin/prjct.mjs",o={prjct:"bin/prjct.cjs"},i={access:"public",registry:"https://registry.npmjs.org"},a={build:"node scripts/build.js","build:node":"node scripts/build.js",release:"node scripts/release.js","release:dry-run":"node scripts/release.js --dry-run",prepare:"lefthook install","update-commands":`bun -e "const installer = require('./core/infrastructure/command-installer'); installer.syncCommands().then(r => console.log('Commands updated:', r)).catch(e => console.error('Error:', e.message))"`,"install-global":"./scripts/install.sh",update:"./scripts/update.sh",test:"bun test","test:unit":"bun test --path-ignore-patterns='**/e2e/**'","test:fast":"bun scripts/test-sharded.ts","test:sharded":"bun scripts/test-sharded.ts","test:watch":"bun test --watch","test:coverage":"bun test --coverage",typecheck:"tsc --noEmit -p core/tsconfig.json","typecheck:watch":"tsc --noEmit -p core/tsconfig.json --watch",validate:"bun scripts/validate-commands.js",lint:"bun run lint:no-let && biome lint .","lint:no-let":"bun scripts/check-no-let.ts","lint:fix":"biome lint --write .",knip:"knip","lint:meta":"bun core/cli/lint-meta-commentary.ts",format:"biome format --write .","format:check":"biome format .",check:"bun run lint:no-let && biome check .","check:fix":"biome check --write .","test:e2e":"bun test core/__tests__/e2e/","bench:ab":"bun scripts/bench-ab.ts","bench:weak-model":"bun scripts/bench-weak-model.ts","bench:token-cost":"bun scripts/bench-token-cost.ts","demo:weak-vs-frontier":"bun scripts/demo-weak-vs-frontier.ts","harness:score":"bun bin/prjct.ts harness score --md","gate:dominance":"bun test core/__tests__/services/weak-model-bench.test.ts core/__tests__/services/weak-frontier-demo.test.ts core/__tests__/services/harness-score.test.ts core/__tests__/services/dynasty-outcomes.test.ts core/__tests__/services/content-bound-stamp.test.ts core/__tests__/services/sot-bind.test.ts core/__tests__/services/trap-surface-slo.test.ts core/__tests__/services/impact-ready.test.ts core/__tests__/services/delivery-geometry.test.ts core/__tests__/services/cycle-budget-card.test.ts core/__tests__/services/land-rho.test.ts core/__tests__/services/one-breath-install.test.ts core/__tests__/services/doctor-heal.test.ts && bun run bench:weak-model && bun run demo:weak-vs-frontier"},p=["claude-code","gemini-cli","ai-agents","context-layer","developer-tools","ai-assistant","productivity","mcp","llm","coding-agents"],l={name:"Juan Jos\xE9 L\xF3pez Lira",email:"jlopezlira@gmail.com",url:"https://prjct.app"},d=[{name:"prjct.app contributors"}],b="MIT",u=[{type:"MIT",url:"https://opensource.org/licenses/MIT"}],m={"@clack/prompts":"1.0.0","@modelcontextprotocol/server":"2.0.0",chalk:"4.1.2",chokidar:"5.0.0","jsonc-parser":"3.3.1",zod:"4.3.6"},h={"path-to-regexp":"8.4.0","brace-expansion":"5.0.5","fast-uri":">=3.1.2",hono:"4.12.27","ip-address":">=10.1.1",qs:"6.15.2"},_={"@biomejs/biome":"2.3.13","@modelcontextprotocol/client":"2.0.0","@types/bun":"latest","@types/chokidar":"2.1.7","@types/node":"^22",esbuild:"0.28.1",knip:"6.3.1",lefthook:"2.1.0",typescript:"5.9.3"},g={type:"git",url:"git+https://github.com/prjct-app/cli.git"},k={url:"https://github.com/prjct-app/cli/issues"},v="https://prjct.app",j="bun@1.3.14",y={bun:">=1.0.0",node:">=22.5.0"},f=["assets/","bin/prjct","bin/prjct.cjs","dist/","templates/","scripts/install.sh","LICENSE","NOTICE","README.md","CHANGELOG.md"],w="node scripts/build.js",E={name:s,version:r,description:c,main:n,bin:o,publishConfig:i,scripts:a,keywords:p,author:l,contributors:d,license:b,licenses:u,dependencies:m,overrides:h,devDependencies:_,repository:g,bugs:k,homepage:v,packageManager:j,engines:y,files:f,prepublishOnly:w};export{l as author,o as bin,k as bugs,d as contributors,E as default,m as dependencies,c as description,_ as devDependencies,y as engines,f as files,v as homepage,p as keywords,b as license,u as licenses,n as main,s as name,h as overrides,j as packageManager,w as prepublishOnly,i as publishConfig,g as repository,a as scripts,r as version};
@@ -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-CEOTHJIY.mjs";import"./chunk-PIA26GWG.mjs";import"./chunk-RP7F67ZT.mjs";import"./chunk-INJ5WT2D.mjs";import"./chunk-XYDLXF5A.mjs";import"./chunk-FATYLG3L.mjs";import"./chunk-2EEMQV7N.mjs";import"./chunk-KPR5TWSN.mjs";import"./chunk-623SNKDH.mjs";import"./chunk-TTN2CFZC.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import"./chunk-225DWS4D.mjs";import"./chunk-3TRXQAU4.mjs";export{b as buildPiSkillContent,a as getPiSkillInstallPath,c as installPiSkill};
7
+ import{a,b,c}from"./chunk-LFOQ7FCR.mjs";import"./chunk-PIA26GWG.mjs";import"./chunk-RP7F67ZT.mjs";import"./chunk-INJ5WT2D.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{b as buildPiSkillContent,a as getPiSkillInstallPath,c as installPiSkill};