prjct-cli 3.95.0 → 3.97.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (576) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/bin/prjct.cjs +14 -0
  3. package/dist/bin/core-chunks/agent-HCP5FF77.mjs +31 -0
  4. package/dist/bin/core-chunks/agent-codenames-7N4DU62I.mjs +7 -0
  5. package/dist/bin/core-chunks/agent-identity-4KFRR5OU.mjs +7 -0
  6. package/dist/bin/core-chunks/agent-runtime-registry-3RMVBEV2.mjs +7 -0
  7. package/dist/bin/core-chunks/agent-switch-AVSX6SLY.mjs +7 -0
  8. package/dist/bin/core-chunks/agents-OAQXBGH3.mjs +10 -0
  9. package/dist/bin/core-chunks/ai-provider-RVXK7D7R.mjs +7 -0
  10. package/dist/bin/core-chunks/analysis-3A7ODSSI.mjs +41 -0
  11. package/dist/bin/core-chunks/auth-config-KWLVKHCY.mjs +7 -0
  12. package/dist/bin/core-chunks/auto-flush-EWSVMKQN.mjs +7 -0
  13. package/dist/bin/core-chunks/auto-updater-PKYQRBGQ.mjs +8 -0
  14. package/dist/bin/core-chunks/bin-commands-LLHG2NSY.mjs +21 -0
  15. package/dist/bin/core-chunks/capture-7LQ52T6L.mjs +7 -0
  16. package/dist/bin/core-chunks/capture-gate-M4HM7WAI.mjs +7 -0
  17. package/dist/bin/core-chunks/ceremonies-4OZ3FKRE.mjs +19 -0
  18. package/dist/bin/core-chunks/changelog-CUNVCEL5.mjs +10 -0
  19. package/dist/bin/core-chunks/chunk-225DWS4D.mjs +7 -0
  20. package/dist/bin/core-chunks/chunk-24EN5Y62.mjs +48 -0
  21. package/dist/bin/core-chunks/chunk-2EEMQV7N.mjs +9 -0
  22. package/dist/bin/core-chunks/chunk-2I5PUQWY.mjs +7 -0
  23. package/dist/bin/core-chunks/chunk-2JJM3YMW.mjs +44 -0
  24. package/dist/bin/core-chunks/chunk-2NI4EEK2.mjs +8 -0
  25. package/dist/bin/core-chunks/chunk-2TJRTFIS.mjs +9 -0
  26. package/dist/bin/core-chunks/chunk-2ZPM4Z6W.mjs +17 -0
  27. package/dist/bin/core-chunks/chunk-3FXNIJCS.mjs +8 -0
  28. package/dist/bin/core-chunks/chunk-3JD6KRNJ.mjs +8 -0
  29. package/dist/bin/core-chunks/chunk-3TRXQAU4.mjs +7 -0
  30. package/dist/bin/core-chunks/chunk-3USVY66O.mjs +7 -0
  31. package/dist/bin/core-chunks/chunk-45LKWJ5D.mjs +7 -0
  32. package/dist/bin/core-chunks/chunk-4IE7LRH3.mjs +7 -0
  33. package/dist/bin/core-chunks/chunk-4MR5XSLO.mjs +8 -0
  34. package/dist/bin/core-chunks/chunk-4PPIE6GA.mjs +102 -0
  35. package/dist/bin/core-chunks/chunk-4PRD4EU2.mjs +7 -0
  36. package/dist/bin/core-chunks/chunk-4T7NGLNQ.mjs +16 -0
  37. package/dist/bin/core-chunks/chunk-53ZPEZLU.mjs +8 -0
  38. package/dist/bin/core-chunks/chunk-56FW4P6U.mjs +10 -0
  39. package/dist/bin/core-chunks/chunk-5EF5EOCL.mjs +7 -0
  40. package/dist/bin/core-chunks/chunk-5MN22JFI.mjs +19 -0
  41. package/dist/bin/core-chunks/chunk-5ONMON5L.mjs +13 -0
  42. package/dist/bin/core-chunks/chunk-5UUITMRX.mjs +9 -0
  43. package/dist/bin/core-chunks/chunk-5YLI5V3Q.mjs +8 -0
  44. package/dist/bin/core-chunks/chunk-5YSPND5J.mjs +9 -0
  45. package/dist/bin/core-chunks/chunk-623SNKDH.mjs +7 -0
  46. package/dist/bin/core-chunks/chunk-6AFXUX2M.mjs +9 -0
  47. package/dist/bin/core-chunks/chunk-6FFOWWH2.mjs +17 -0
  48. package/dist/bin/core-chunks/chunk-6FUCOGOW.mjs +7 -0
  49. package/dist/bin/core-chunks/chunk-6OYLZ4NM.mjs +10 -0
  50. package/dist/bin/core-chunks/chunk-6P4GMVUZ.mjs +18 -0
  51. package/dist/bin/core-chunks/chunk-6RT2P22O.mjs +7 -0
  52. package/dist/bin/core-chunks/chunk-6XTLPAPZ.mjs +15 -0
  53. package/dist/bin/core-chunks/chunk-76YMLNLF.mjs +7 -0
  54. package/dist/bin/core-chunks/chunk-7CI4AMVO.mjs +7 -0
  55. package/dist/bin/core-chunks/chunk-7QMBIMEX.mjs +64 -0
  56. package/dist/bin/core-chunks/chunk-7QTE6X4J.mjs +7 -0
  57. package/dist/bin/core-chunks/chunk-7ZHWJSW5.mjs +8 -0
  58. package/dist/bin/core-chunks/chunk-AJTBFIH2.mjs +9 -0
  59. package/dist/bin/core-chunks/chunk-AJXELVNH.mjs +7 -0
  60. package/dist/bin/core-chunks/chunk-ANVCA6LF.mjs +7 -0
  61. package/dist/bin/core-chunks/chunk-AS3LWTQ4.mjs +16 -0
  62. package/dist/bin/core-chunks/chunk-B7AQHL7B.mjs +7 -0
  63. package/dist/bin/core-chunks/chunk-BQKDJ3U6.mjs +8 -0
  64. package/dist/bin/core-chunks/chunk-BSR3XUBD.mjs +24 -0
  65. package/dist/bin/core-chunks/chunk-BTCCUMKI.mjs +12 -0
  66. package/dist/bin/core-chunks/chunk-BTSHD3XJ.mjs +9 -0
  67. package/dist/bin/core-chunks/chunk-C35JQUWD.mjs +8 -0
  68. package/dist/bin/core-chunks/chunk-C7YBUD4K.mjs +10 -0
  69. package/dist/bin/core-chunks/chunk-CDLZLTRY.mjs +10 -0
  70. package/dist/bin/core-chunks/chunk-CEOTHJIY.mjs +10 -0
  71. package/dist/bin/core-chunks/chunk-CFD6CW7T.mjs +46 -0
  72. package/dist/bin/core-chunks/chunk-CKYBGRCF.mjs +8 -0
  73. package/dist/bin/core-chunks/chunk-CNWEQUB7.mjs +7 -0
  74. package/dist/bin/core-chunks/chunk-CUIB6CTG.mjs +20 -0
  75. package/dist/bin/core-chunks/chunk-CWLGRKA7.mjs +6 -0
  76. package/dist/bin/core-chunks/chunk-CXNVDJNN.mjs +7 -0
  77. package/dist/bin/core-chunks/chunk-D62TAZG6.mjs +9 -0
  78. package/dist/bin/core-chunks/chunk-DCVPNFS4.mjs +8 -0
  79. package/dist/bin/core-chunks/chunk-DEYAQEF5.mjs +7 -0
  80. package/dist/bin/core-chunks/chunk-DIEPWXJJ.mjs +7 -0
  81. package/dist/bin/core-chunks/chunk-DMO3ZFUG.mjs +1259 -0
  82. package/dist/bin/core-chunks/chunk-DN46DLU3.mjs +10 -0
  83. package/dist/bin/core-chunks/chunk-DOJPSIMG.mjs +7 -0
  84. package/dist/bin/core-chunks/chunk-DZVOFEM5.mjs +7 -0
  85. package/dist/bin/core-chunks/chunk-E5QQDYBR.mjs +7 -0
  86. package/dist/bin/core-chunks/chunk-E73HSXCX.mjs +7 -0
  87. package/dist/bin/core-chunks/chunk-EFSPBB4S.mjs +8 -0
  88. package/dist/bin/core-chunks/chunk-EHVU2SMR.mjs +34 -0
  89. package/dist/bin/core-chunks/chunk-ESB4ALH2.mjs +7 -0
  90. package/dist/bin/core-chunks/chunk-EZRNQXCC.mjs +7 -0
  91. package/dist/bin/core-chunks/chunk-F2FKQUYE.mjs +19 -0
  92. package/dist/bin/core-chunks/chunk-F7OOBAJO.mjs +30 -0
  93. package/dist/bin/core-chunks/chunk-FATYLG3L.mjs +14 -0
  94. package/dist/bin/core-chunks/chunk-FOWTB762.mjs +7 -0
  95. package/dist/bin/core-chunks/chunk-GDLAQV3Q.mjs +14 -0
  96. package/dist/bin/core-chunks/chunk-GGGDYL4P.mjs +7 -0
  97. package/dist/bin/core-chunks/chunk-GHSRH4GL.mjs +8 -0
  98. package/dist/bin/core-chunks/chunk-GOIBJ7PV.mjs +7 -0
  99. package/dist/bin/core-chunks/chunk-GSNQKBHZ.mjs +11 -0
  100. package/dist/bin/core-chunks/chunk-GTG67Z45.mjs +11 -0
  101. package/dist/bin/core-chunks/chunk-H2KNJUPN.mjs +23 -0
  102. package/dist/bin/core-chunks/chunk-HCPQZRR3.mjs +7 -0
  103. package/dist/bin/core-chunks/chunk-HEXSVBUP.mjs +8 -0
  104. package/dist/bin/core-chunks/chunk-HPCSSJXH.mjs +7 -0
  105. package/dist/bin/core-chunks/chunk-HU5ERAAV.mjs +8 -0
  106. package/dist/bin/core-chunks/chunk-HYIT7MF5.mjs +8 -0
  107. package/dist/bin/core-chunks/chunk-HYMJVHAX.mjs +13 -0
  108. package/dist/bin/core-chunks/chunk-ID2C2S33.mjs +18 -0
  109. package/dist/bin/core-chunks/chunk-ID5KE74L.mjs +7 -0
  110. package/dist/bin/core-chunks/chunk-IFLBZKKK.mjs +14 -0
  111. package/dist/bin/core-chunks/chunk-IMQCXC3R.mjs +30 -0
  112. package/dist/bin/core-chunks/chunk-INJ5WT2D.mjs +7 -0
  113. package/dist/bin/core-chunks/chunk-INM5COWM.mjs +7 -0
  114. package/dist/bin/core-chunks/chunk-IOFCSTGM.mjs +7 -0
  115. package/dist/bin/core-chunks/chunk-IVGWOY3U.mjs +8 -0
  116. package/dist/bin/core-chunks/chunk-J7T5IEFJ.mjs +15 -0
  117. package/dist/bin/core-chunks/chunk-JCWA7NLM.mjs +7 -0
  118. package/dist/bin/core-chunks/chunk-JPMUJY42.mjs +7 -0
  119. package/dist/bin/core-chunks/chunk-JT4RNQ67.mjs +15 -0
  120. package/dist/bin/core-chunks/chunk-K25HGTC3.mjs +10 -0
  121. package/dist/bin/core-chunks/chunk-KIRU4QFX.mjs +7 -0
  122. package/dist/bin/core-chunks/chunk-KKIJAEYU.mjs +7 -0
  123. package/dist/bin/core-chunks/chunk-KPR5TWSN.mjs +7 -0
  124. package/dist/bin/core-chunks/chunk-KUQLXY2P.mjs +11 -0
  125. package/dist/bin/core-chunks/chunk-KWC2PCPC.mjs +10 -0
  126. package/dist/bin/core-chunks/chunk-L4TUXFCL.mjs +7 -0
  127. package/dist/bin/core-chunks/chunk-L5LFLI4R.mjs +7 -0
  128. package/dist/bin/core-chunks/chunk-LZC6NGB6.mjs +50 -0
  129. package/dist/bin/core-chunks/chunk-MCY7OXED.mjs +10 -0
  130. package/dist/bin/core-chunks/chunk-MDONTD7O.mjs +21 -0
  131. package/dist/bin/core-chunks/chunk-MG3YN3AI.mjs +7 -0
  132. package/dist/bin/core-chunks/chunk-MR5XXHRK.mjs +8 -0
  133. package/dist/bin/core-chunks/chunk-MTDCRYLP.mjs +7 -0
  134. package/dist/bin/core-chunks/chunk-MXJKULJY.mjs +9 -0
  135. package/dist/bin/core-chunks/chunk-NINFE7GS.mjs +9 -0
  136. package/dist/bin/core-chunks/chunk-NNOX3UU4.mjs +7 -0
  137. package/dist/bin/core-chunks/chunk-NOHSLOLL.mjs +7 -0
  138. package/dist/bin/core-chunks/chunk-NXUIMC22.mjs +13 -0
  139. package/dist/bin/core-chunks/chunk-NZKUCQZK.mjs +8 -0
  140. package/dist/bin/core-chunks/chunk-O5N6XYPU.mjs +8 -0
  141. package/dist/bin/core-chunks/chunk-OIE3AKKO.mjs +7 -0
  142. package/dist/bin/core-chunks/chunk-OYXQRBVM.mjs +10 -0
  143. package/dist/bin/core-chunks/chunk-P2KU4FFA.mjs +11 -0
  144. package/dist/bin/core-chunks/chunk-P53YMOKR.mjs +7 -0
  145. package/dist/bin/core-chunks/chunk-PIA26GWG.mjs +7 -0
  146. package/dist/bin/core-chunks/chunk-PPERWRFS.mjs +13 -0
  147. package/dist/bin/core-chunks/chunk-PPSVWUXC.mjs +15 -0
  148. package/dist/bin/core-chunks/chunk-PWL3KS7Y.mjs +7 -0
  149. package/dist/bin/core-chunks/chunk-Q3LUL6LL.mjs +7 -0
  150. package/dist/bin/core-chunks/chunk-Q6C27OL7.mjs +7 -0
  151. package/dist/bin/core-chunks/chunk-QAIEAOJF.mjs +7 -0
  152. package/dist/bin/core-chunks/chunk-QLMZW4K7.mjs +7 -0
  153. package/dist/bin/core-chunks/chunk-QZ7T2EYR.mjs +25 -0
  154. package/dist/bin/core-chunks/chunk-R7LLMJDP.mjs +7 -0
  155. package/dist/bin/core-chunks/chunk-RACISWUV.mjs +10 -0
  156. package/dist/bin/core-chunks/chunk-RCIWCKL7.mjs +9 -0
  157. package/dist/bin/core-chunks/chunk-ROOCBUKH.mjs +8 -0
  158. package/dist/bin/core-chunks/chunk-RP7F67ZT.mjs +7 -0
  159. package/dist/bin/core-chunks/chunk-RXXXA7Z6.mjs +7 -0
  160. package/dist/bin/core-chunks/chunk-RXZJB43D.mjs +7 -0
  161. package/dist/bin/core-chunks/chunk-S6FBPXQL.mjs +9 -0
  162. package/dist/bin/core-chunks/chunk-SLYLGDX7.mjs +8 -0
  163. package/dist/bin/core-chunks/chunk-SO3ZPNWT.mjs +7 -0
  164. package/dist/bin/core-chunks/chunk-SRJEX6XF.mjs +12 -0
  165. package/dist/bin/core-chunks/chunk-SROBBOJB.mjs +11 -0
  166. package/dist/bin/core-chunks/chunk-TDTPDVUM.mjs +8 -0
  167. package/dist/bin/core-chunks/chunk-TGNZI4KF.mjs +28 -0
  168. package/dist/bin/core-chunks/chunk-TIBYHZFA.mjs +8 -0
  169. package/dist/bin/core-chunks/chunk-TILUQF6L.mjs +8 -0
  170. package/dist/bin/core-chunks/chunk-TTN2CFZC.mjs +7 -0
  171. package/dist/bin/core-chunks/chunk-U24YKPYX.mjs +7 -0
  172. package/dist/bin/core-chunks/chunk-U55OPVYR.mjs +9 -0
  173. package/dist/bin/core-chunks/chunk-UE3XKXWM.mjs +7 -0
  174. package/dist/bin/core-chunks/chunk-UHXV7MDW.mjs +12 -0
  175. package/dist/bin/core-chunks/chunk-UNNY2IWZ.mjs +9 -0
  176. package/dist/bin/core-chunks/chunk-UT425KVX.mjs +10 -0
  177. package/dist/bin/core-chunks/chunk-UYMZ3NAF.mjs +8 -0
  178. package/dist/bin/core-chunks/chunk-V3Y3G2DE.mjs +8 -0
  179. package/dist/bin/core-chunks/chunk-V5VCXMKO.mjs +52 -0
  180. package/dist/bin/core-chunks/chunk-V6L5PLD7.mjs +18 -0
  181. package/dist/bin/core-chunks/chunk-V7R3L54M.mjs +7 -0
  182. package/dist/bin/core-chunks/chunk-V7VA4EQX.mjs +7 -0
  183. package/dist/bin/core-chunks/chunk-VCSESVZ4.mjs +9 -0
  184. package/dist/bin/core-chunks/chunk-VCYVYFWE.mjs +9 -0
  185. package/dist/bin/core-chunks/chunk-VDXTMAMO.mjs +7 -0
  186. package/dist/bin/core-chunks/chunk-VILH3VYH.mjs +103 -0
  187. package/dist/bin/core-chunks/chunk-VRFYDYQY.mjs +7 -0
  188. package/dist/bin/core-chunks/chunk-VWFVSNQT.mjs +7 -0
  189. package/dist/bin/core-chunks/chunk-WGDE3L33.mjs +7 -0
  190. package/dist/bin/core-chunks/chunk-WP5IU4W4.mjs +7 -0
  191. package/dist/bin/core-chunks/chunk-WSVMQYYU.mjs +12 -0
  192. package/dist/bin/core-chunks/chunk-WTDUJB4I.mjs +8 -0
  193. package/dist/bin/core-chunks/chunk-WZXUFSVT.mjs +25 -0
  194. package/dist/bin/core-chunks/chunk-X35YYOFE.mjs +18 -0
  195. package/dist/bin/core-chunks/chunk-X4FR5S7E.mjs +9 -0
  196. package/dist/bin/core-chunks/chunk-XC6YAP36.mjs +7 -0
  197. package/dist/bin/core-chunks/chunk-XLFEWZRA.mjs +7 -0
  198. package/dist/bin/core-chunks/chunk-XPRLQIVQ.mjs +7 -0
  199. package/dist/bin/core-chunks/chunk-XSZG3CBO.mjs +7 -0
  200. package/dist/bin/core-chunks/chunk-XU3BQPBU.mjs +7 -0
  201. package/dist/bin/core-chunks/chunk-XYDLXF5A.mjs +8 -0
  202. package/dist/bin/core-chunks/chunk-Y5SEUYET.mjs +7 -0
  203. package/dist/bin/core-chunks/chunk-Y7XOKG4O.mjs +7 -0
  204. package/dist/bin/core-chunks/chunk-YEALP3WX.mjs +7 -0
  205. package/dist/bin/core-chunks/chunk-YJOC2JJK.mjs +12 -0
  206. package/dist/bin/core-chunks/chunk-YLYAYRSJ.mjs +8 -0
  207. package/dist/bin/core-chunks/chunk-YOGI4WE6.mjs +8 -0
  208. package/dist/bin/core-chunks/chunk-YQ6HM3YO.mjs +10 -0
  209. package/dist/bin/core-chunks/chunk-YZEO5DZA.mjs +7 -0
  210. package/dist/bin/core-chunks/chunk-ZBBNCCGV.mjs +12 -0
  211. package/dist/bin/core-chunks/chunk-ZHTYSYZC.mjs +7 -0
  212. package/dist/bin/core-chunks/chunk-ZK7BMUMR.mjs +7 -0
  213. package/dist/bin/core-chunks/chunk-ZKJZDOPT.mjs +14 -0
  214. package/dist/bin/core-chunks/chunk-ZQHSJ6FF.mjs +20 -0
  215. package/dist/bin/core-chunks/chunk-ZS7XJUPE.mjs +7 -0
  216. package/dist/bin/core-chunks/chunk-ZXTJLMVZ.mjs +7 -0
  217. package/dist/bin/core-chunks/cleanup-installs-WHXUGAHM.mjs +7 -0
  218. package/dist/bin/core-chunks/client-D43KKUYH.mjs +8 -0
  219. package/dist/bin/core-chunks/closest-command-YYNABM7V.mjs +7 -0
  220. package/dist/bin/core-chunks/cloud-FFUJZLDV.mjs +14 -0
  221. package/dist/bin/core-chunks/code-SU7GCPH6.mjs +12 -0
  222. package/dist/bin/core-chunks/code-graph-cloud-G3WQBICY.mjs +7 -0
  223. package/dist/bin/core-chunks/codex-hooks-GOLMCL2Q.mjs +7 -0
  224. package/dist/bin/core-chunks/codex-mcp-K4X2UIQF.mjs +7 -0
  225. package/dist/bin/core-chunks/codex-skill-3HNVU4T4.mjs +7 -0
  226. package/dist/bin/core-chunks/command-installer-XIQK2G6W.mjs +7 -0
  227. package/dist/bin/core-chunks/config-W3RHV3GK.mjs +8 -0
  228. package/dist/bin/core-chunks/config-manager-QVFHXIKI.mjs +7 -0
  229. package/dist/bin/core-chunks/content-bound-stamp-2PJNI4JC.mjs +7 -0
  230. package/dist/bin/core-chunks/context-4KGTUAC4.mjs +38 -0
  231. package/dist/bin/core-chunks/context-DDHC7VIC.mjs +10 -0
  232. package/dist/bin/core-chunks/context-checkpoint-4CEUPEVG.mjs +27 -0
  233. package/dist/bin/core-chunks/context-pressure-5URQVNBC.mjs +7 -0
  234. package/dist/bin/core-chunks/context-tiers-4S6H22NP.mjs +7 -0
  235. package/dist/bin/core-chunks/context7-service-AZWDYK5Z.mjs +7 -0
  236. package/dist/bin/core-chunks/core-PR5WEQCS.mjs +70 -0
  237. package/dist/bin/core-chunks/crew-JQCG6NS3.mjs +24 -0
  238. package/dist/bin/core-chunks/cursor-hooks-DGDJVAI6.mjs +7 -0
  239. package/dist/bin/core-chunks/custom-workflow-storage-EBEIG54R.mjs +7 -0
  240. package/dist/bin/core-chunks/cwd-changed-ODKZVSPB.mjs +7 -0
  241. package/dist/bin/core-chunks/cycle-budget-card-H37XRAIX.mjs +7 -0
  242. package/dist/bin/core-chunks/daemon-2NQTBFVR.mjs +13 -0
  243. package/dist/bin/core-chunks/database-UU2ZXSD4.mjs +7 -0
  244. package/dist/bin/core-chunks/delivery-geometry-GSJ6LXUC.mjs +7 -0
  245. package/dist/bin/core-chunks/detect-changes-2YIEX7AY.mjs +7 -0
  246. package/dist/bin/core-chunks/detection-KKDZYWVD.mjs +7 -0
  247. package/dist/bin/core-chunks/developer-evolution-AVAXGDKQ.mjs +11 -0
  248. package/dist/bin/core-chunks/developer-profile-MRPBWL2K.mjs +7 -0
  249. package/dist/bin/core-chunks/discuss-lock-CWXKBBYJ.mjs +7 -0
  250. package/dist/bin/core-chunks/distill-MLDZG5RA.mjs +7 -0
  251. package/dist/bin/core-chunks/doctor-heal-ZUZ2RHGY.mjs +7 -0
  252. package/dist/bin/core-chunks/doctor-service-WXLB2FEE.mjs +8 -0
  253. package/dist/bin/core-chunks/drift-refresh-XPJAO2B3.mjs +7 -0
  254. package/dist/bin/core-chunks/dynasty-outcomes-H2O546OL.mjs +11 -0
  255. package/dist/bin/core-chunks/editors-config-ELAQA6RV.mjs +7 -0
  256. package/dist/bin/core-chunks/embeddings-7A5Z5I67.mjs +7 -0
  257. package/dist/bin/core-chunks/enriched-recall-YXK7EIKH.mjs +7 -0
  258. package/dist/bin/core-chunks/eval-4YFUBFLV.mjs +76 -0
  259. package/dist/bin/core-chunks/exec-34V6SJYO.mjs +7 -0
  260. package/dist/bin/core-chunks/file-helper-LLQKU6YF.mjs +7 -0
  261. package/dist/bin/core-chunks/format-5V6GF6JJ.mjs +7 -0
  262. package/dist/bin/core-chunks/gemini-settings-ZTU3VQU3.mjs +7 -0
  263. package/dist/bin/core-chunks/git-context-ZSWE3KWM.mjs +8 -0
  264. package/dist/bin/core-chunks/git-helpers-UC53D4FT.mjs +7 -0
  265. package/dist/bin/core-chunks/grok-mcp-F3SRFMCW.mjs +7 -0
  266. package/dist/bin/core-chunks/grok-plugin-4CE2WUYI.mjs +7 -0
  267. package/dist/bin/core-chunks/grok-skill-GLSBOOKW.mjs +7 -0
  268. package/dist/bin/core-chunks/guard-FJBJ6IAE.mjs +13 -0
  269. package/dist/bin/core-chunks/guards-LFUFKVVH.mjs +7 -0
  270. package/dist/bin/core-chunks/handoff-storage-NGUA4Y2L.mjs +7 -0
  271. package/dist/bin/core-chunks/harness-FN3HASSA.mjs +43 -0
  272. package/dist/bin/core-chunks/health-W2VWME7Z.mjs +11 -0
  273. package/dist/bin/core-chunks/help-I37I3V2R.mjs +14 -0
  274. package/dist/bin/core-chunks/hooks-service-C2P5DRCH.mjs +91 -0
  275. package/dist/bin/core-chunks/infer-memory-file-ATP7PSAQ.mjs +7 -0
  276. package/dist/bin/core-chunks/install-XP4S6HWQ.mjs +9 -0
  277. package/dist/bin/core-chunks/judgment-GJE332LF.mjs +21 -0
  278. package/dist/bin/core-chunks/judgment-ledger-storage-ZTYXPMM4.mjs +7 -0
  279. package/dist/bin/core-chunks/judgment-orchestrator-E3SO3NVE.mjs +7 -0
  280. package/dist/bin/core-chunks/judgment-receipt-WT4EMCAV.mjs +7 -0
  281. package/dist/bin/core-chunks/kimi-hooks-2UEUIKXV.mjs +7 -0
  282. package/dist/bin/core-chunks/kimi-mcp-DJCXZ2JY.mjs +7 -0
  283. package/dist/bin/core-chunks/land-cue-5USQ64MS.mjs +8 -0
  284. package/dist/bin/core-chunks/land-rho-ISNVEPVC.mjs +8 -0
  285. package/dist/bin/core-chunks/land-synthesis-CHARJMUP.mjs +7 -0
  286. package/dist/bin/core-chunks/lean-L53CKZNH.mjs +34 -0
  287. package/dist/bin/core-chunks/legacy-crew-sweep-2TLKJTHI.mjs +23 -0
  288. package/dist/bin/core-chunks/living-context-contract-HZIVBMXX.mjs +7 -0
  289. package/dist/bin/core-chunks/llm-XMH7WTHV.mjs +18 -0
  290. package/dist/bin/core-chunks/mcp-FLVIZBV2.mjs +17 -0
  291. package/dist/bin/core-chunks/memory-dream-EJWI4FJO.mjs +14 -0
  292. package/dist/bin/core-chunks/memory-export-27HTNNFI.mjs +13 -0
  293. package/dist/bin/core-chunks/memory-index-BRZDZ2BY.mjs +7 -0
  294. package/dist/bin/core-chunks/notification-KJ4FQJAW.mjs +7 -0
  295. package/dist/bin/core-chunks/notify-76B7AICZ.mjs +9 -0
  296. package/dist/bin/core-chunks/nyquist-lite-A23B7G4B.mjs +9 -0
  297. package/dist/bin/core-chunks/one-breath-install-LVNIVN6S.mjs +7 -0
  298. package/dist/bin/core-chunks/opencode-mcp-5YSIYDI3.mjs +7 -0
  299. package/dist/bin/core-chunks/output-D27IOQXR.mjs +7 -0
  300. package/dist/bin/core-chunks/pack-integrity-GXN67LJB.mjs +9 -0
  301. package/dist/bin/core-chunks/pack-manager-46SPIPPD.mjs +7 -0
  302. package/dist/bin/core-chunks/package-DCGCOAGQ.mjs +7 -0
  303. package/dist/bin/core-chunks/package-legitimacy-VHHGI4P7.mjs +7 -0
  304. package/dist/bin/core-chunks/path-manager-E5DCU5LP.mjs +7 -0
  305. package/dist/bin/core-chunks/performance-tracker-BFBNR3LY.mjs +7 -0
  306. package/dist/bin/core-chunks/pi-skill-SDHTUK3V.mjs +7 -0
  307. package/dist/bin/core-chunks/planning-S3MYVWH6.mjs +8 -0
  308. package/dist/bin/core-chunks/post-edit-5YSNEMK7.mjs +7 -0
  309. package/dist/bin/core-chunks/pr-convention-37YHTUKM.mjs +7 -0
  310. package/dist/bin/core-chunks/pre-bash-GLDILCRF.mjs +10 -0
  311. package/dist/bin/core-chunks/pre-commit-U6HPPNIC.mjs +7 -0
  312. package/dist/bin/core-chunks/pre-edit-PEYQA6P6.mjs +8 -0
  313. package/dist/bin/core-chunks/pre-package-76JR5GLO.mjs +7 -0
  314. package/dist/bin/core-chunks/pre-search-5EHNUOP3.mjs +8 -0
  315. package/dist/bin/core-chunks/pre-secrets-RJELPDFY.mjs +7 -0
  316. package/dist/bin/core-chunks/precision-classifier-AV75OEVA.mjs +7 -0
  317. package/dist/bin/core-chunks/precision-judgment-MCX4MIIG.mjs +7 -0
  318. package/dist/bin/core-chunks/preferences-BTSYWYUM.mjs +31 -0
  319. package/dist/bin/core-chunks/primitives-IXAYLX7U.mjs +13 -0
  320. package/dist/bin/core-chunks/prjct-md-SUDFWDCS.mjs +7 -0
  321. package/dist/bin/core-chunks/product-KKGJ6MMF.mjs +68 -0
  322. package/dist/bin/core-chunks/project-agent-surfaces-I2CUZUIN.mjs +7 -0
  323. package/dist/bin/core-chunks/project-alignment-ADKW3ZWQ.mjs +17 -0
  324. package/dist/bin/core-chunks/project-file-inventory-XIHHJZUP.mjs +7 -0
  325. package/dist/bin/core-chunks/project-memory-GYLYIJQD.mjs +7 -0
  326. package/dist/bin/core-chunks/project-style-evolution-5W25UPPN.mjs +7 -0
  327. package/dist/bin/core-chunks/prompt-SW5XDRMX.mjs +23 -0
  328. package/dist/bin/core-chunks/protocol-4AJ4J5SI.mjs +7 -0
  329. package/dist/bin/core-chunks/provider-cache-IWVTFLGT.mjs +7 -0
  330. package/dist/bin/core-chunks/provider-status-HQUBKMH5.mjs +7 -0
  331. package/dist/bin/core-chunks/publish-helper-2T2EHM3V.mjs +7 -0
  332. package/dist/bin/core-chunks/purge-5EPJV25P.mjs +7 -0
  333. package/dist/bin/core-chunks/queue-storage-BKH5XX2E.mjs +7 -0
  334. package/dist/bin/core-chunks/registry-LK6IQ5UX.mjs +7 -0
  335. package/dist/bin/core-chunks/reliability-repair-JMPZWDD4.mjs +20 -0
  336. package/dist/bin/core-chunks/removed-verbs-EU3WPRNK.mjs +7 -0
  337. package/dist/bin/core-chunks/retention-S22T3SPT.mjs +7 -0
  338. package/dist/bin/core-chunks/retro-CLKOHAN6.mjs +13 -0
  339. package/dist/bin/core-chunks/review-risk-LLLBKUXT.mjs +12 -0
  340. package/dist/bin/core-chunks/run-recorder-EZQ32M55.mjs +7 -0
  341. package/dist/bin/core-chunks/safe-artifacts-RW5WQUUJ.mjs +9 -0
  342. package/dist/bin/core-chunks/sdd-HE7O6N5S.mjs +9 -0
  343. package/dist/bin/core-chunks/seed-JX7W53E5.mjs +10 -0
  344. package/dist/bin/core-chunks/self-heal-DFUEKNF3.mjs +7 -0
  345. package/dist/bin/core-chunks/session-continuity-BFSW4OL6.mjs +10 -0
  346. package/dist/bin/core-chunks/session-start-HVYUKJL2.mjs +7 -0
  347. package/dist/bin/core-chunks/session-tracker-RG2FBWMS.mjs +7 -0
  348. package/dist/bin/core-chunks/settings-installer-4XHM3HAZ.mjs +7 -0
  349. package/dist/bin/core-chunks/setup-GHS24ER5.mjs +140 -0
  350. package/dist/bin/core-chunks/setup-J4JFYT63.mjs +38 -0
  351. package/dist/bin/core-chunks/shipping-I4D4AVTE.mjs +12 -0
  352. package/dist/bin/core-chunks/signals-digest-V44KYN6Z.mjs +7 -0
  353. package/dist/bin/core-chunks/skill-adherence-MHY4BZL4.mjs +13 -0
  354. package/dist/bin/core-chunks/skill-generator-LKS5BNMY.mjs +7 -0
  355. package/dist/bin/core-chunks/skill-index-L4UWQCQE.mjs +11 -0
  356. package/dist/bin/core-chunks/spec-2XXPLHUZ.mjs +27 -0
  357. package/dist/bin/core-chunks/spec-context-inference-THFMXC7S.mjs +9 -0
  358. package/dist/bin/core-chunks/spec-inventory-2TT7BTFZ.mjs +9 -0
  359. package/dist/bin/core-chunks/spec-service-I23KJKKP.mjs +7 -0
  360. package/dist/bin/core-chunks/spec-task-breakdown-HTG6ME6G.mjs +7 -0
  361. package/dist/bin/core-chunks/state-storage-6CGFWW5D.mjs +7 -0
  362. package/dist/bin/core-chunks/stdin-spill-Y2A6WOOW.mjs +7 -0
  363. package/dist/bin/core-chunks/stop-2H57XCGZ.mjs +15 -0
  364. package/dist/bin/core-chunks/subagent-start-5LPASXOS.mjs +7 -0
  365. package/dist/bin/core-chunks/subagent-stop-ANLSG3KN.mjs +7 -0
  366. package/dist/bin/core-chunks/surface-attribution-WL7S53XX.mjs +7 -0
  367. package/dist/bin/core-chunks/symbol-graph-PCS43SHZ.mjs +7 -0
  368. package/dist/bin/core-chunks/sync-analyzer-M37Q4LE4.mjs +7 -0
  369. package/dist/bin/core-chunks/sync-client-6TAOTJWR.mjs +7 -0
  370. package/dist/bin/core-chunks/sync-cursor-storage-GKO4X2QN.mjs +18 -0
  371. package/dist/bin/core-chunks/task-orchestration-GS4J4KGS.mjs +7 -0
  372. package/dist/bin/core-chunks/task-overview-XSMK7YEN.mjs +7 -0
  373. package/dist/bin/core-chunks/task-service-FK7FC3PE.mjs +7 -0
  374. package/dist/bin/core-chunks/tdd-NQDHU62B.mjs +9 -0
  375. package/dist/bin/core-chunks/team-XZ4Q6UBV.mjs +42 -0
  376. package/dist/bin/core-chunks/template-loader-33OVJ4G5.mjs +7 -0
  377. package/dist/bin/core-chunks/token-backfill-WPXXD5MP.mjs +12 -0
  378. package/dist/bin/core-chunks/token-economics-JZAQJUET.mjs +7 -0
  379. package/dist/bin/core-chunks/transcript-jsonl-OC7TH4Q3.mjs +7 -0
  380. package/dist/bin/core-chunks/trust-boundary-24F662RM.mjs +7 -0
  381. package/dist/bin/core-chunks/uninstall-6NFON7FO.mjs +13 -0
  382. package/dist/bin/core-chunks/update-4IE6SA6M.mjs +11 -0
  383. package/dist/bin/core-chunks/update-checker-FK7MWNWN.mjs +7 -0
  384. package/dist/bin/core-chunks/usefulness-A3GRKFL3.mjs +7 -0
  385. package/dist/bin/core-chunks/user-home-BODIAXR4.mjs +7 -0
  386. package/dist/bin/core-chunks/vault-retire-notice-FDRT7BJG.mjs +8 -0
  387. package/dist/bin/core-chunks/velocity-storage-5T7RYOWH.mjs +7 -0
  388. package/dist/bin/core-chunks/verb-names-QWGYABFH.mjs +7 -0
  389. package/dist/bin/core-chunks/version-252QLBN2.mjs +7 -0
  390. package/dist/bin/core-chunks/watch-service-7ZERG7RC.mjs +9 -0
  391. package/dist/bin/core-chunks/weak-frontier-demo-5C4FR3OA.mjs +7 -0
  392. package/dist/bin/core-chunks/weak-model-mode-DH66XMD2.mjs +7 -0
  393. package/dist/bin/core-chunks/work-graph-JGJWE3AV.mjs +16 -0
  394. package/dist/bin/core-chunks/work-graph-WHMCFN6U.mjs +7 -0
  395. package/dist/bin/core-chunks/work-scope-3LXOEIUX.mjs +7 -0
  396. package/dist/bin/core-chunks/workflow-FGJVLRQ3.mjs +61 -0
  397. package/dist/bin/core-chunks/workflows-reference-UWKRZ6BJ.mjs +7 -0
  398. package/dist/bin/core-chunks/workspace-occupancy-JUXKZBUZ.mjs +7 -0
  399. package/dist/bin/core-chunks/worktree-service-YRRPFU57.mjs +11 -0
  400. package/dist/bin/core-chunks/world-model-impact-RH5WH2B3.mjs +7 -0
  401. package/dist/bin/hook-chunks/{agent-identity-45BYQBU2.mjs → agent-identity-DH6DX72X.mjs} +1 -1
  402. package/dist/bin/hook-chunks/{agent-switch-4ZJJWKMD.mjs → agent-switch-7GOGG4KG.mjs} +1 -1
  403. package/dist/bin/hook-chunks/{analysis-UGHAG2SK.mjs → analysis-UI2JRLJO.mjs} +3 -3
  404. package/dist/bin/hook-chunks/{auto-flush-CXWTU3RF.mjs → auto-flush-JKIXTI2I.mjs} +1 -1
  405. package/dist/bin/hook-chunks/{capture-gate-PS6QUXLX.mjs → capture-gate-DIPHPNIC.mjs} +1 -1
  406. package/dist/bin/hook-chunks/{chunk-YDBZO6I3.mjs → chunk-22GFTUER.mjs} +1 -1
  407. package/dist/bin/hook-chunks/chunk-25OGCQTR.mjs +69 -0
  408. package/dist/bin/hook-chunks/{chunk-DCSKTMDX.mjs → chunk-3CKNJ5RA.mjs} +1 -1
  409. package/dist/bin/hook-chunks/{chunk-ABJNOG2I.mjs → chunk-3FEXJUO2.mjs} +1 -1
  410. package/dist/bin/hook-chunks/{chunk-22AXWLI6.mjs → chunk-3HGQPUKG.mjs} +1 -1
  411. package/dist/bin/hook-chunks/{chunk-GLPKMG5A.mjs → chunk-63P5VOR6.mjs} +10 -10
  412. package/dist/bin/hook-chunks/{chunk-PP6DANGV.mjs → chunk-6LU777GI.mjs} +1 -1
  413. package/dist/bin/hook-chunks/chunk-6NMHVPAI.mjs +35 -0
  414. package/dist/bin/hook-chunks/{chunk-QL3NYJTW.mjs → chunk-6RS7PNAN.mjs} +1 -1
  415. package/dist/bin/hook-chunks/{chunk-PO3QDKTE.mjs → chunk-6WDRJ7J7.mjs} +1 -1
  416. package/dist/bin/hook-chunks/chunk-7PA4KPSR.mjs +51 -0
  417. package/dist/bin/hook-chunks/{chunk-QP5USCDX.mjs → chunk-7WO5CEH3.mjs} +1 -1
  418. package/dist/bin/hook-chunks/{chunk-FW4MEPTB.mjs → chunk-A6LRNS6R.mjs} +1 -1
  419. package/dist/bin/hook-chunks/{chunk-GCDLPKOH.mjs → chunk-AEDB75AK.mjs} +1 -1
  420. package/dist/bin/hook-chunks/chunk-AFGXKRRP.mjs +12 -0
  421. package/dist/bin/hook-chunks/{chunk-WGWE3CSC.mjs → chunk-ANSRNEEI.mjs} +1 -1
  422. package/dist/bin/hook-chunks/{chunk-RTEEXGEA.mjs → chunk-AORD3YDQ.mjs} +1 -1
  423. package/dist/bin/hook-chunks/chunk-B2ZA5ZAO.mjs +8 -0
  424. package/dist/bin/hook-chunks/{chunk-BOBFTVAY.mjs → chunk-B7MHIUFA.mjs} +1 -1
  425. package/dist/bin/hook-chunks/{chunk-Z6KVLCMK.mjs → chunk-BKJHD5JI.mjs} +1 -1
  426. package/dist/bin/hook-chunks/{chunk-4NTVXJD7.mjs → chunk-BVK7ZDLX.mjs} +1 -1
  427. package/dist/bin/hook-chunks/{chunk-IGHY4FGS.mjs → chunk-CPR4FPXG.mjs} +1 -1
  428. package/dist/bin/hook-chunks/{chunk-5XA5RL5I.mjs → chunk-ETTDRXQ6.mjs} +1 -1
  429. package/dist/bin/hook-chunks/chunk-F3PNT2DQ.mjs +19 -0
  430. package/dist/bin/hook-chunks/{chunk-C4O243NG.mjs → chunk-FBEDUKMG.mjs} +1 -1
  431. package/dist/bin/hook-chunks/{chunk-5H3KJWQS.mjs → chunk-GER6HFWV.mjs} +2 -2
  432. package/dist/bin/hook-chunks/{chunk-IWJG7CZX.mjs → chunk-GSPDJSJ5.mjs} +1 -1
  433. package/dist/bin/hook-chunks/chunk-H5AVBDCH.mjs +8 -0
  434. package/dist/bin/hook-chunks/{chunk-HEDZA6KC.mjs → chunk-HGZQWYBL.mjs} +1 -1
  435. package/dist/bin/hook-chunks/{chunk-GDESYWTD.mjs → chunk-HNZ24HIK.mjs} +2 -2
  436. package/dist/bin/hook-chunks/{chunk-S5ISOGDB.mjs → chunk-IDPBMN3Q.mjs} +1 -1
  437. package/dist/bin/hook-chunks/{chunk-PTA7DMLM.mjs → chunk-IFIENAZU.mjs} +1 -1
  438. package/dist/bin/hook-chunks/chunk-IHEOOJJT.mjs +11 -0
  439. package/dist/bin/hook-chunks/{chunk-S5N2ZZDL.mjs → chunk-IL36ER4U.mjs} +1 -1
  440. package/dist/bin/hook-chunks/{chunk-6GAFRIUQ.mjs → chunk-IWUF2LGO.mjs} +1 -1
  441. package/dist/bin/hook-chunks/{chunk-OGIFB3OE.mjs → chunk-JF6DFOQK.mjs} +1 -1
  442. package/dist/bin/hook-chunks/{chunk-Z4X7JIAP.mjs → chunk-JGZ3QGWX.mjs} +3 -3
  443. package/dist/bin/hook-chunks/chunk-KOLXYWOA.mjs +36 -0
  444. package/dist/bin/hook-chunks/{chunk-DVDZA63F.mjs → chunk-MIJZT4ZR.mjs} +1 -1
  445. package/dist/bin/hook-chunks/{chunk-J5UQVJUW.mjs → chunk-NCLONKOT.mjs} +1 -1
  446. package/dist/bin/hook-chunks/{chunk-QBYHZX33.mjs → chunk-NJ74RHNC.mjs} +1 -1
  447. package/dist/bin/hook-chunks/{chunk-NLKPAJND.mjs → chunk-NMB6YSAH.mjs} +1 -1
  448. package/dist/bin/hook-chunks/{chunk-MHNWIB7B.mjs → chunk-NSTXHVTH.mjs} +2 -2
  449. package/dist/bin/hook-chunks/{chunk-N3L77UNM.mjs → chunk-ONGVBXBD.mjs} +1 -1
  450. package/dist/bin/hook-chunks/{chunk-X5W2UYQK.mjs → chunk-PFORBQBF.mjs} +3 -3
  451. package/dist/bin/hook-chunks/{chunk-KSSRINDX.mjs → chunk-PPWPUEBH.mjs} +1 -1
  452. package/dist/bin/hook-chunks/{chunk-76GDLA3Z.mjs → chunk-PQJ64L6U.mjs} +1 -1
  453. package/dist/bin/hook-chunks/{chunk-PGWFGRX4.mjs → chunk-QOQZHR3E.mjs} +1 -1
  454. package/dist/bin/hook-chunks/{chunk-2UC4DTDO.mjs → chunk-QXCEBAIA.mjs} +1 -1
  455. package/dist/bin/hook-chunks/{chunk-I26F7TLM.mjs → chunk-RLKYEL3F.mjs} +1 -1
  456. package/dist/bin/hook-chunks/{chunk-BDOAQVIF.mjs → chunk-SQW2B7NW.mjs} +1 -1
  457. package/dist/bin/hook-chunks/{chunk-4HAKTI36.mjs → chunk-TF6PN7IB.mjs} +1 -1
  458. package/dist/bin/hook-chunks/{chunk-UHVYBU7F.mjs → chunk-TKXOMN4K.mjs} +4 -4
  459. package/dist/bin/hook-chunks/{chunk-BX7VKYA7.mjs → chunk-UBWUQ64A.mjs} +1 -1
  460. package/dist/bin/hook-chunks/{chunk-OUAVSD47.mjs → chunk-UI25YRTY.mjs} +1 -1
  461. package/dist/bin/hook-chunks/{chunk-G7QQZMAO.mjs → chunk-UMJ5D5I6.mjs} +1 -1
  462. package/dist/bin/hook-chunks/{chunk-ZOX6OV6X.mjs → chunk-V6GGH6H5.mjs} +1 -1
  463. package/dist/bin/hook-chunks/chunk-WIA6ORIY.mjs +16 -0
  464. package/dist/bin/hook-chunks/chunk-WUOVBBPC.mjs +11 -0
  465. package/dist/bin/hook-chunks/{chunk-T6ELTQZM.mjs → chunk-XSJ7SPVR.mjs} +1 -1
  466. package/dist/bin/hook-chunks/{chunk-UYQC63MC.mjs → chunk-XXVHUYL7.mjs} +1 -1
  467. package/dist/bin/hook-chunks/{chunk-RHKF7EJW.mjs → chunk-Y7MZA2G4.mjs} +1 -1
  468. package/dist/bin/hook-chunks/{chunk-U4OON3S7.mjs → chunk-Y7RDBMNC.mjs} +1 -1
  469. package/dist/bin/hook-chunks/{chunk-ROA2AJXY.mjs → chunk-YATXTHDL.mjs} +1 -1
  470. package/dist/bin/hook-chunks/{chunk-ZFLIVOFX.mjs → chunk-ZF2EVMY7.mjs} +1 -1
  471. package/dist/bin/hook-chunks/{chunk-S6L3FECF.mjs → chunk-ZH2MF7H7.mjs} +1 -1
  472. package/dist/bin/hook-chunks/{chunk-3WQBTXUC.mjs → chunk-ZJW27EUC.mjs} +1 -1
  473. package/dist/bin/hook-chunks/{chunk-J5UVRZ44.mjs → chunk-ZXON2U5F.mjs} +3 -3
  474. package/dist/bin/hook-chunks/chunk-ZYCNW75E.mjs +9 -0
  475. package/dist/bin/hook-chunks/{client-CRXA774S.mjs → client-K3ZA2BLB.mjs} +1 -1
  476. package/dist/bin/hook-chunks/{code-graph-cloud-GTSLO7CD.mjs → code-graph-cloud-XGQF7XYC.mjs} +1 -1
  477. package/dist/bin/hook-chunks/{codex-skill-NUBNPSMF.mjs → codex-skill-UZZCACMB.mjs} +1 -1
  478. package/dist/bin/hook-chunks/{command-installer-UHSXC3UG.mjs → command-installer-FJ73C2ZW.mjs} +1 -1
  479. package/dist/bin/hook-chunks/{config-manager-DX5OOPW5.mjs → config-manager-XDKOTIJM.mjs} +1 -1
  480. package/dist/bin/hook-chunks/{context7-service-GDJ3QICX.mjs → context7-service-NH4BMGSJ.mjs} +1 -1
  481. package/dist/bin/hook-chunks/{custom-workflow-storage-FD47DPA3.mjs → custom-workflow-storage-VBMWLKA7.mjs} +1 -1
  482. package/dist/bin/hook-chunks/cwd-changed-STP3LH6Y.mjs +8 -0
  483. package/dist/bin/hook-chunks/{database-ZUC7OEZG.mjs → database-ZCP76LMM.mjs} +1 -1
  484. package/dist/bin/hook-chunks/{detect-changes-OJUBWWTU.mjs → detect-changes-5W6EGEZG.mjs} +1 -1
  485. package/dist/bin/hook-chunks/{developer-evolution-WNSTHDAA.mjs → developer-evolution-UTY3CWOK.mjs} +1 -1
  486. package/dist/bin/hook-chunks/{distill-GOGPFQFK.mjs → distill-63BHUJAC.mjs} +1 -1
  487. package/dist/bin/hook-chunks/{enriched-recall-QF22RIK7.mjs → enriched-recall-6F6LBYAB.mjs} +1 -1
  488. package/dist/bin/hook-chunks/{format-J3X3R225.mjs → format-VJ2YQ4XQ.mjs} +1 -1
  489. package/dist/bin/hook-chunks/{judgment-ledger-storage-FE4HXTHM.mjs → judgment-ledger-storage-7Q7AEEY6.mjs} +1 -1
  490. package/dist/bin/hook-chunks/{judgment-orchestrator-YDJTKNV2.mjs → judgment-orchestrator-AAON4ZJ4.mjs} +1 -1
  491. package/dist/bin/hook-chunks/{judgment-receipt-7A2DXVJA.mjs → judgment-receipt-LSJCAYBT.mjs} +1 -1
  492. package/dist/bin/hook-chunks/{land-cue-SZWJH6XP.mjs → land-cue-DEO2AZW4.mjs} +1 -1
  493. package/dist/bin/hook-chunks/{land-synthesis-JLYUBKHR.mjs → land-synthesis-GTMFIGDM.mjs} +1 -1
  494. package/dist/bin/hook-chunks/{legacy-crew-sweep-JXYO62UE.mjs → legacy-crew-sweep-QPKU7ITU.mjs} +2 -2
  495. package/dist/bin/hook-chunks/{memory-index-CIYDXN2G.mjs → memory-index-KCMXQGKX.mjs} +1 -1
  496. package/dist/bin/hook-chunks/{notification-UA7RTVHG.mjs → notification-DX6ZHOUC.mjs} +1 -1
  497. package/dist/bin/hook-chunks/{pack-integrity-GZC5NGFN.mjs → pack-integrity-UMLIB5RQ.mjs} +1 -1
  498. package/dist/bin/hook-chunks/{pack-manager-AF5F7PRT.mjs → pack-manager-YXRK2TJ4.mjs} +1 -1
  499. package/dist/bin/hook-chunks/{planning-M3RAOZVB.mjs → planning-JR7O5MYW.mjs} +2 -2
  500. package/dist/bin/hook-chunks/{post-edit-QRDYPZLZ.mjs → post-edit-IPTVSRVG.mjs} +1 -1
  501. package/dist/bin/hook-chunks/{pre-bash-TWWFVNQ7.mjs → pre-bash-5WWTH36N.mjs} +1 -1
  502. package/dist/bin/hook-chunks/{pre-commit-PTFF7JIN.mjs → pre-commit-KZ5TNTPW.mjs} +1 -1
  503. package/dist/bin/hook-chunks/pre-edit-XHPYBXRU.mjs +11 -0
  504. package/dist/bin/hook-chunks/{pre-package-325ALZKD.mjs → pre-package-U3HDW3SX.mjs} +1 -1
  505. package/dist/bin/hook-chunks/{pre-search-GOHVFAFH.mjs → pre-search-R5CRK66E.mjs} +1 -1
  506. package/dist/bin/hook-chunks/{pre-secrets-MYNM5KI4.mjs → pre-secrets-MWPPZPWK.mjs} +1 -1
  507. package/dist/bin/hook-chunks/{prjct-md-RCB6FWD6.mjs → prjct-md-IBQTJBK7.mjs} +1 -1
  508. package/dist/bin/hook-chunks/{project-agent-surfaces-V4P5RTUR.mjs → project-agent-surfaces-TPZO73ZV.mjs} +1 -1
  509. package/dist/bin/hook-chunks/{project-file-inventory-OKIP4LBO.mjs → project-file-inventory-HHURZTMH.mjs} +1 -1
  510. package/dist/bin/hook-chunks/project-memory-YQLZX5RG.mjs +8 -0
  511. package/dist/bin/hook-chunks/{project-style-evolution-RPGATIYJ.mjs → project-style-evolution-NOFCIIZZ.mjs} +1 -1
  512. package/dist/bin/hook-chunks/prompt-DJWONMTZ.mjs +24 -0
  513. package/dist/bin/hook-chunks/{publish-helper-SX7HEV2L.mjs → publish-helper-ZSL27HSX.mjs} +1 -1
  514. package/dist/bin/hook-chunks/{purge-XKHUAB4H.mjs → purge-5W3K2MZL.mjs} +1 -1
  515. package/dist/bin/hook-chunks/retention-GWJ4AX7I.mjs +8 -0
  516. package/dist/bin/hook-chunks/{sdd-6PF7MBAY.mjs → sdd-GWBRD4KI.mjs} +1 -1
  517. package/dist/bin/hook-chunks/{session-continuity-UEXQDGZE.mjs → session-continuity-VH645RGR.mjs} +1 -1
  518. package/dist/bin/hook-chunks/session-start-4TYTI27B.mjs +8 -0
  519. package/dist/bin/hook-chunks/settings-installer-CQKMGMRG.mjs +9 -0
  520. package/dist/bin/hook-chunks/{setup-ZOHG6MGF.mjs → setup-VF4UHUBX.mjs} +3 -3
  521. package/dist/bin/hook-chunks/{shipping-QVGTOO6U.mjs → shipping-2ULWBGRX.mjs} +4 -4
  522. package/dist/bin/hook-chunks/{skill-index-FGDQVYHM.mjs → skill-index-55I3HLAI.mjs} +1 -1
  523. package/dist/bin/hook-chunks/{spec-context-inference-6Z52BT37.mjs → spec-context-inference-HVENYOIO.mjs} +1 -1
  524. package/dist/bin/hook-chunks/{spec-service-UAQ5AEXQ.mjs → spec-service-4XGQQPGP.mjs} +2 -2
  525. package/dist/bin/hook-chunks/{spec-task-breakdown-LAXGVLMY.mjs → spec-task-breakdown-JXF556UH.mjs} +1 -1
  526. package/dist/bin/hook-chunks/{state-storage-XU35ZYNA.mjs → state-storage-EMWLIFQJ.mjs} +1 -1
  527. package/dist/bin/hook-chunks/stop-NJDYIIXR.mjs +16 -0
  528. package/dist/bin/hook-chunks/subagent-start-2YMGD4SY.mjs +8 -0
  529. package/dist/bin/hook-chunks/{subagent-stop-OUG4PR7S.mjs → subagent-stop-4TZJ2NSJ.mjs} +1 -1
  530. package/dist/bin/hook-chunks/{surface-attribution-A6GCGRFM.mjs → surface-attribution-UNK4J5W2.mjs} +1 -1
  531. package/dist/bin/hook-chunks/{symbol-graph-DMPBNBX7.mjs → symbol-graph-MH42JSPX.mjs} +1 -1
  532. package/dist/bin/hook-chunks/{sync-cursor-storage-VVLA3L2U.mjs → sync-cursor-storage-ZB7FGT6D.mjs} +1 -1
  533. package/dist/bin/hook-chunks/{task-orchestration-HFZYWYLR.mjs → task-orchestration-7NGRIISS.mjs} +1 -1
  534. package/dist/bin/hook-chunks/{task-overview-PCUZWL5Q.mjs → task-overview-P3VRH2FD.mjs} +1 -1
  535. package/dist/bin/hook-chunks/task-service-SPUES5DO.mjs +8 -0
  536. package/dist/bin/hook-chunks/{tdd-QZL4OSM7.mjs → tdd-MYF7I5FS.mjs} +1 -1
  537. package/dist/bin/hook-chunks/{template-loader-SKXILJLJ.mjs → template-loader-4SYVR2UB.mjs} +1 -1
  538. package/dist/bin/hook-chunks/{usefulness-SZLG6LVC.mjs → usefulness-TBD5EYAL.mjs} +1 -1
  539. package/dist/bin/hook-chunks/{vault-retire-notice-HOXPURNQ.mjs → vault-retire-notice-7XHVNHU6.mjs} +1 -1
  540. package/dist/bin/hook-chunks/{velocity-storage-5J6BAMCW.mjs → velocity-storage-IOCVK2LU.mjs} +1 -1
  541. package/dist/bin/hook-chunks/{weak-model-mode-ZRNKFTFF.mjs → weak-model-mode-TYJJT6JJ.mjs} +1 -1
  542. package/dist/bin/hook-chunks/{work-graph-PGYHFLEL.mjs → work-graph-AVAOKY63.mjs} +1 -1
  543. package/dist/bin/hook-chunks/{work-scope-FIB6LBKE.mjs → work-scope-A6XPENFE.mjs} +1 -1
  544. package/dist/bin/hook-chunks/{workspace-occupancy-3D4OKQRB.mjs → workspace-occupancy-3NEAXILW.mjs} +1 -1
  545. package/dist/bin/hook-fast-darwin-arm64 +0 -0
  546. package/dist/bin/hook-fast-darwin-x64 +0 -0
  547. package/dist/bin/hook-fast-linux-x64 +0 -0
  548. package/dist/bin/prjct-core.mjs +9 -3311
  549. package/dist/bin/prjct-hooks.mjs +3 -3
  550. package/dist/bin/prjct.mjs +27 -8
  551. package/dist/daemon/entry.mjs +621 -606
  552. package/dist/mcp/server.mjs +317 -302
  553. package/package.json +5 -6
  554. package/scripts/install.sh +28 -496
  555. package/dist/bin/hook-chunks/chunk-4KXXDQYI.mjs +0 -11
  556. package/dist/bin/hook-chunks/chunk-BU22R6JX.mjs +0 -9
  557. package/dist/bin/hook-chunks/chunk-CYZ7ST2P.mjs +0 -36
  558. package/dist/bin/hook-chunks/chunk-EWOK4VE7.mjs +0 -11
  559. package/dist/bin/hook-chunks/chunk-FXFG6PV6.mjs +0 -69
  560. package/dist/bin/hook-chunks/chunk-GDECEHO5.mjs +0 -16
  561. package/dist/bin/hook-chunks/chunk-GPZP7NXL.mjs +0 -11
  562. package/dist/bin/hook-chunks/chunk-KHLYWNHT.mjs +0 -8
  563. package/dist/bin/hook-chunks/chunk-TRMBRDKH.mjs +0 -8
  564. package/dist/bin/hook-chunks/chunk-TXSLON7M.mjs +0 -19
  565. package/dist/bin/hook-chunks/chunk-V2FR2NPL.mjs +0 -43
  566. package/dist/bin/hook-chunks/chunk-XXRAQZNC.mjs +0 -35
  567. package/dist/bin/hook-chunks/cwd-changed-EP3UIRK6.mjs +0 -8
  568. package/dist/bin/hook-chunks/pre-edit-PMMWDR2B.mjs +0 -11
  569. package/dist/bin/hook-chunks/project-memory-JK2MXRJB.mjs +0 -8
  570. package/dist/bin/hook-chunks/prompt-DOENKHLQ.mjs +0 -24
  571. package/dist/bin/hook-chunks/retention-C3NQT65W.mjs +0 -8
  572. package/dist/bin/hook-chunks/session-start-B4P7L33E.mjs +0 -8
  573. package/dist/bin/hook-chunks/settings-installer-QDM3GB6J.mjs +0 -9
  574. package/dist/bin/hook-chunks/stop-CFB2H3XC.mjs +0 -16
  575. package/dist/bin/hook-chunks/subagent-start-KFAZZUHS.mjs +0 -8
  576. package/dist/bin/hook-chunks/task-service-PXCDU55T.mjs +0 -8
@@ -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{F as a,G as b}from"./chunk-HU5ERAAV.mjs";import"./chunk-6RT2P22O.mjs";import"./chunk-ZXTJLMVZ.mjs";import"./chunk-VWFVSNQT.mjs";import"./chunk-U24YKPYX.mjs";import"./chunk-D62TAZG6.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import"./chunk-225DWS4D.mjs";import"./chunk-3TRXQAU4.mjs";b();export{a as default};
@@ -0,0 +1,7 @@
1
+ import { createRequire as __createRequire } from 'module';
2
+ import { fileURLToPath as __fileURLToPath } from 'url';
3
+ import { dirname as __pathDirname } from 'path';
4
+ const require = __createRequire(import.meta.url);
5
+ const __filename = __fileURLToPath(import.meta.url);
6
+ const __dirname = __pathDirname(__filename);
7
+ import{a,b}from"./chunk-ANVCA6LF.mjs";import"./chunk-DMO3ZFUG.mjs";import"./chunk-NNOX3UU4.mjs";import"./chunk-HU5ERAAV.mjs";import"./chunk-6RT2P22O.mjs";import"./chunk-ZXTJLMVZ.mjs";import"./chunk-VWFVSNQT.mjs";import"./chunk-U24YKPYX.mjs";import"./chunk-D62TAZG6.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import"./chunk-225DWS4D.mjs";import"./chunk-3TRXQAU4.mjs";export{b as default,a as performanceTracker};
@@ -0,0 +1,7 @@
1
+ import { createRequire as __createRequire } from 'module';
2
+ import { fileURLToPath as __fileURLToPath } from 'url';
3
+ import { dirname as __pathDirname } from 'path';
4
+ const require = __createRequire(import.meta.url);
5
+ const __filename = __fileURLToPath(import.meta.url);
6
+ const __dirname = __pathDirname(__filename);
7
+ import{a,b,c}from"./chunk-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};
@@ -0,0 +1,8 @@
1
+ import { createRequire as __createRequire } from 'module';
2
+ import { fileURLToPath as __fileURLToPath } from 'url';
3
+ import { dirname as __pathDirname } from 'path';
4
+ const require = __createRequire(import.meta.url);
5
+ const __filename = __fileURLToPath(import.meta.url);
6
+ const __dirname = __pathDirname(__filename);
7
+ import{a as f}from"./chunk-NZKUCQZK.mjs";import{a as E}from"./chunk-V5VCXMKO.mjs";import{f as $}from"./chunk-FOWTB762.mjs";import{a as M}from"./chunk-6FUCOGOW.mjs";import"./chunk-7CI4AMVO.mjs";import{a as g}from"./chunk-IFLBZKKK.mjs";import"./chunk-ZKJZDOPT.mjs";import"./chunk-YOGI4WE6.mjs";import"./chunk-UYMZ3NAF.mjs";import{a as h,b as C,c as T,d as P,e as I}from"./chunk-4IE7LRH3.mjs";import"./chunk-XPRLQIVQ.mjs";import"./chunk-EZRNQXCC.mjs";import"./chunk-B7AQHL7B.mjs";import"./chunk-L4TUXFCL.mjs";import{h as r}from"./chunk-ID2C2S33.mjs";import{a as W,b as A}from"./chunk-3USVY66O.mjs";import"./chunk-OIE3AKKO.mjs";import"./chunk-Q6C27OL7.mjs";import"./chunk-NXUIMC22.mjs";import"./chunk-JPMUJY42.mjs";import"./chunk-DZVOFEM5.mjs";import"./chunk-5EF5EOCL.mjs";import"./chunk-DMO3ZFUG.mjs";import"./chunk-NNOX3UU4.mjs";import"./chunk-INJ5WT2D.mjs";import{d as S}from"./chunk-OYXQRBVM.mjs";import{F as O,G as Y}from"./chunk-HU5ERAAV.mjs";import"./chunk-6RT2P22O.mjs";import"./chunk-ZXTJLMVZ.mjs";import"./chunk-VWFVSNQT.mjs";import"./chunk-U24YKPYX.mjs";import"./chunk-D62TAZG6.mjs";import"./chunk-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{e as z,g as G}from"./chunk-225DWS4D.mjs";import{a as o}from"./chunk-3TRXQAU4.mjs";Y();G();import*as n from"@clack/prompts";import p from"chalk";var y=class{static{o(this,"OnboardingWizard")}projectPath;aborted=!1;detectedType="unknown";confirmedType="unknown";selectedAgents=[];detectedStack={language:"Unknown",technologies:[]};confirmedStack={language:"Unknown",technologies:[]};preferences={verbosity:"normal",autoSync:!0,telemetry:!1};constructor(t=process.cwd()){this.projectPath=t}async run(){n.intro(p.cyan.bold("\u26A1 prjct-cli setup"));let t=[{id:"project-type",title:"Project Type",run:o(()=>this.stepProjectType(),"run")},{id:"ai-agents",title:"AI Agents",run:o(()=>this.stepAIAgents(),"run")},{id:"stack",title:"Stack Confirmation",run:o(()=>this.stepStack(),"run")},{id:"preferences",title:"Preferences",run:o(()=>this.stepPreferences(),"run")},{id:"summary",title:"Summary",run:o(()=>this.stepSummary(),"run")}];for(let e of t)if(!await e.run()||this.aborted)return this.buildResult(!0);return n.outro(p.green("Setup complete!")),this.buildResult(!1)}async runNonInteractive(){r.spin("Auto-detecting project configuration..."),this.detectedType=await T(this.projectPath),this.confirmedType=this.detectedType;let t=await P(this.projectPath);return this.selectedAgents=t,this.detectedStack=await I(this.projectPath),this.confirmedStack=this.detectedStack,r.done("Configuration detected"),this.buildResult(!1)}async stepProjectType(){this.detectedType=await T(this.projectPath);let t=h.findIndex(i=>i.value===this.detectedType),e=await n.select({message:this.detectedType!=="unknown"?`Detected: ${this.getProjectTypeLabel(this.detectedType)}. Is this correct?`:"What type of project is this?",options:h.map(i=>({label:i.title,hint:i.description,value:i.value})),initialValue:t>=0?h[t].value:void 0});return n.isCancel(e)?(this.handleCancel(),!1):(this.confirmedType=e||this.detectedType,!0)}async stepAIAgents(){let t=await P(this.projectPath),e=C.map(a=>({label:a.title,hint:a.description,value:a.value})),i=await n.multiselect({message:"Which AI agents do you use?",options:e,initialValues:t,required:!0});return n.isCancel(i)?(this.handleCancel(),!1):(this.selectedAgents=i,!0)}async stepStack(){this.detectedStack=await I(this.projectPath);let t=this.formatStackDisplay(this.detectedStack);n.note(t,"Detected stack");let e=await n.confirm({message:"Is this stack correct?",initialValue:!0});if(n.isCancel(e))return this.handleCancel(),!1;if(e)this.confirmedStack=this.detectedStack;else{let i=await n.group({language:o(()=>n.text({message:"Primary language:",defaultValue:this.detectedStack.language}),"language"),framework:o(()=>n.text({message:"Framework (optional):",defaultValue:this.detectedStack.framework||""}),"framework")},{onCancel:o(()=>this.handleCancel(),"onCancel")});if(this.aborted)return!1;this.confirmedStack={...this.detectedStack,language:i.language||this.detectedStack.language,framework:i.framework||void 0}}return!0}async stepPreferences(){let t=await n.group({verbosity:o(()=>n.select({message:"Output verbosity:",options:[{label:"Minimal",hint:"Essential output only",value:"minimal"},{label:"Normal (Recommended)",hint:"Balanced information",value:"normal"},{label:"Verbose",hint:"Detailed logging",value:"verbose"}],initialValue:"normal"}),"verbosity"),autoSync:o(()=>n.confirm({message:"Auto-sync context on file changes?",initialValue:!0}),"autoSync")},{onCancel:o(()=>this.handleCancel(),"onCancel")});return this.aborted?!1:(this.preferences={verbosity:t.verbosity||"normal",autoSync:t.autoSync??!0,telemetry:!1},!0)}async stepSummary(){let t=[`${p.cyan("Project Type:")} ${this.getProjectTypeLabel(this.confirmedType)}`,`${p.cyan("AI Agents:")} ${this.selectedAgents.map(i=>this.getAgentLabel(i)).join(", ")}`,`${p.cyan("Stack:")} ${this.formatStackDisplay(this.confirmedStack)}`,`${p.cyan("Verbosity:")} ${this.preferences.verbosity}`,`${p.cyan("Auto-sync:")} ${this.preferences.autoSync?"Yes":"No"}`].join(`
8
+ `);n.note(t,"Configuration Summary");let e=await n.confirm({message:"Generate configuration with these settings?",initialValue:!0});return n.isCancel(e)||!e?(n.isCancel(e)&&this.handleCancel(),!1):!0}handleCancel(){this.aborted=!0,n.cancel("Setup cancelled. Run again anytime.")}getProjectTypeLabel(t){return h.find(e=>e.value===t)?.title||"Unknown"}getAgentLabel(t){return C.find(e=>e.value===t)?.title||t}formatStackDisplay(t){let e=[t.language];return t.framework&&e.push(t.framework),t.runtime&&t.runtime!=="Node.js"&&e.push(t.runtime),t.technologies.length>0&&e.push(`+ ${t.technologies.slice(0,3).join(", ")}`),e.join(" / ")}buildResult(t){return{projectType:this.confirmedType,agents:this.selectedAgents,stack:this.confirmedStack,preferences:this.preferences,skipped:t}}getSelectedAgents(){return this.selectedAgents}getConfirmedStack(){return this.confirmedStack}getPreferences(){return this.preferences}};var j={current:null};async function L(){if(!j.current){let{AnalysisCommands:k}=await import("./analysis-3A7ODSSI.mjs");j.current=new k}return j.current}o(L,"getAnalysisCommands");var N=class extends E{static{o(this,"PlanningCommands")}async _hintCommittedMemoryExport(t){try{let e=await import("node:fs/promises"),a=(await import("node:path")).join(t,".prjct","memory-export","manifest.json"),c=JSON.parse(await e.readFile(a,"utf-8"));c?.entries&&c.entries>0&&r.info(`\u{1F4E6} This repo ships ${c.entries} team memories (.prjct/memory-export/). Load them: prjct memory import`)}catch{}}async init(t={},e=process.cwd()){try{let i=typeof t=="string"||t===null?{idea:t}:t;if(await this.initializeAgent(),await A.isConfigured(e))return r.warn("already initialized"),{success:!1,message:"Already initialized"};let c=process.stdout.isTTY&&process.stdin.isTTY,s=i.yes||!c||process.env.CI==="true"?c&&i.yes?await new y(e).runNonInteractive():null:await new y(e).run();if(s?.skipped)return{success:!1,message:"Setup cancelled"};r.step(1,4,"Detecting author...");let u=await W(),R={name:u.name||void 0,email:u.email||void 0,github:u.github||void 0},d=(await A.createConfig(e,R)).projectId;await this._applyInitialPacksAndPersona(e,i),r.step(2,4,"Creating structure..."),await O.ensureProjectStructure(d),await this._seedShipWorkflow(d,e);let m=await this._detectEmptyDirectory(e),D=await this._detectExistingCode(e);if(D||!m){r.step(3,4,"Analyzing project...");let w=await L();if((await w.analyze({},e)).success){r.step(4,4,"Generating agents..."),await w.sync(e);let b=await g(e,{agents:await this._agentSelections(s,e),explicit:!0}).catch(()=>null);return r.done("initialized"),await this._hintCommittedMemoryExport(e),this._printNextSteps(s,b??void 0),{success:!0,mode:"existing",projectId:d,wizard:s}}}let v=i.idea;if(m&&!D){if(!v){await S.installGlobalConfig();let b=await g(e,{agents:await this._agentSelections(s,e),explicit:!0}).catch(()=>null);return r.done("blank project - provide idea for architect mode"),this._printNextSteps(s,b??void 0),{success:!0,mode:"blank_no_idea",projectId:d,wizard:s}}r.spin("architect mode...");let{projectMemory:w}=await import("./project-memory-GYLYIJQD.mjs");await w.remember(e,{type:"idea",content:v,tags:{source:"architect-init",status:"awaiting-stack-recommendation"},source:"architect-init"}),await S.installGlobalConfig();let _=await g(e,{agents:await this._agentSelections(s,e),explicit:!0}).catch(()=>null);return r.done("architect mode ready"),this._printNextSteps(s,_??void 0),{success:!0,mode:"architect",projectId:d,idea:v,wizard:s}}await S.installGlobalConfig();let V=await g(e,{agents:await this._agentSelections(s,e),explicit:!0}).catch(()=>null);return r.done("initialized"),this._printNextSteps(s,V??void 0),{success:!0,projectId:d,wizard:s}}catch(i){return r.fail(z(i)),$(i)}}async quickstart(t={},e=process.cwd()){let i=t.pack??"code,daily",a=await this.init({...t,yes:!0,pack:i},e);return!a.success&&a.message!=="Already initialized"?a:(console.log(""),console.log(" \u2500\u2500 quickstart ready \u2500\u2500"),console.log(" 1. Open your coding agent in this repo (Claude / Codex / Cursor / Grok)."),console.log(" 2. Say what to build \u2014 the agent runs `prjct work` for you."),console.log(" 3. Team brain without cloud: `prjct memory export` \u2192 commit \u2192 clone \u2192 import."),console.log(""),{...a,success:!0})}_printNextSteps(t,e){console.log(""),console.log(" \u2713 global prjct router refreshed where supported"),e?.claudeMd&&e.claudeMd.action!=="unchanged"&&console.log(" \u2713 project CLAUDE.md updated with routing block"),e?.agentsMd&&e.agentsMd.action!=="unchanged"&&console.log(" \u2713 project AGENTS.md updated with universal routing block"),(e?.ideRules.length??0)>0&&console.log(` \u2713 project IDE rules updated: ${e?.ideRules.join(", ")}`),console.log(""),console.log(" You don't run prjct commands. Your AI coding agent does."),console.log(""),console.log(" Just describe what you're doing \u2014 the agent reads the intent and"),console.log(" runs the right verb. Routine captures (decision, learning,"),console.log(" gotcha, idea) save automatically; ship and other destructive"),console.log(" verbs surface a one-line plan and wait for your OK."),console.log(""),console.log(" If you want to drive manually:"),console.log(" prjct sync Refresh context + skill body"),console.log(" prjct work Start a work cycle"),console.log(" prjct land Session-close checklist"),console.log(" prjct memory export Git-share team memory"),console.log(""),t&&t.agents.length>0&&(console.log(` Detected agents: ${t.agents.join(", ")}`),console.log("")),console.log(" Docs: https://prjct.app/docs"),console.log("")}async _agentSelections(t,e){if(t)return t.agents;try{let{detectInstalledAgents:i}=await import("./detection-KKDZYWVD.mjs");return i(e)}catch{return[]}}async _applyInitialPacksAndPersona(t,e){let{activatePacks:i,detectSuggestedPacks:a}=await import("./pack-manager-46SPIPPD.mjs"),c=e.pack?e.pack.split(",").map(l=>l.trim()).filter(Boolean):e.persona?[]:await a(t);if(c.length>0&&await i(t,c,{suggestPersona:!0}),e.persona){let l=(await import("./config-manager-QVFHXIKI.mjs")).default,s=await l.readConfig(t);if(s){let u=s.persona??{role:e.persona};u.role=e.persona,await l.writeConfig(t,{...s,persona:u})}}}async _resolveInitialPrConvention(t,e){let{detectPrConventionSignal:i,defaultPrConventionFor:a}=await import("./pr-convention-37YHTUKM.mjs"),{customWorkflowStorage:c}=await import("./custom-workflow-storage-EBEIG54R.mjs"),l=await i(e),s=a(l),u=!!(process.stdout.isTTY&&process.stdin.isTTY),x=(l.kind==="github-ambiguous"&&u?await(async()=>{let d=await import("@clack/prompts"),m=await d.confirm({message:"This project ships to GitHub with no PR template. Should ship open/update the PR automatically?",initialValue:!0});return d.isCancel(m)?null:m?"auto":"manual"})():null)??s;c.updateWorkflow(t,"ship",{metadata:{prConvention:x}})}async _seedShipWorkflow(t,e){let i=await M(e);await this._resolveInitialPrConvention(t,e);let{seedCodeShipRules:a}=await import("./shipping-I4D4AVTE.mjs");await a(t,e);let c=f.getRulesForCommand(t,"ship").reduce((l,s)=>Math.max(l,s.sortOrder??0),0)+1;f.addRule(t,{type:"gate",command:"ship",position:"before",action:'git branch --show-current | grep -vE "^(main|master)$"',description:"Prevent shipping from main branch",enabled:!0,timeoutMs:5e3,sortOrder:c,createdAt:new Date().toISOString()}),i.lint&&f.addRule(t,{type:"step",command:"ship",position:"before",action:`${i.lint.command} || true`,description:"Lint code",enabled:!0,timeoutMs:12e4,sortOrder:c+1,createdAt:new Date().toISOString()}),i.test&&f.addRule(t,{type:"step",command:"ship",position:"before",action:`${i.test.command} || true`,description:"Run tests",enabled:!0,timeoutMs:3e5,sortOrder:c+(i.lint?2:1),createdAt:new Date().toISOString()})}};export{N as PlanningCommands};
@@ -0,0 +1,7 @@
1
+ import { createRequire as __createRequire } from 'module';
2
+ import { fileURLToPath as __fileURLToPath } from 'url';
3
+ import { dirname as __pathDirname } from 'path';
4
+ const require = __createRequire(import.meta.url);
5
+ const __filename = __fileURLToPath(import.meta.url);
6
+ const __dirname = __pathDirname(__filename);
7
+ import{a}from"./chunk-MCY7OXED.mjs";import"./chunk-YQ6HM3YO.mjs";import"./chunk-XLFEWZRA.mjs";import{a as e}from"./chunk-XPRLQIVQ.mjs";import"./chunk-EZRNQXCC.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 o}from"./chunk-3TRXQAU4.mjs";function u(f=process.cwd(),c){return a({event:"PostToolUse",projectPath:f,afterEmit:o(async(t,r)=>{let i=t.tool_input?.file_path;if(!(!i||!(await n.readConfig(r))?.projectId))try{await e.log(r,"post_edit",{file:i,tool:t.tool_name??"unknown"})}catch{}},"afterEmit")},c)}o(u,"runPostEditHook");export{u as runPostEditHook};
@@ -0,0 +1,7 @@
1
+ import { createRequire as __createRequire } from 'module';
2
+ import { fileURLToPath as __fileURLToPath } from 'url';
3
+ import { dirname as __pathDirname } from 'path';
4
+ const require = __createRequire(import.meta.url);
5
+ const __filename = __fileURLToPath(import.meta.url);
6
+ const __dirname = __pathDirname(__filename);
7
+ import{a,b}from"./chunk-ID5KE74L.mjs";import"./chunk-D62TAZG6.mjs";import"./chunk-3TRXQAU4.mjs";export{b as defaultPrConventionFor,a as detectPrConventionSignal};
@@ -0,0 +1,10 @@
1
+ import { createRequire as __createRequire } from 'module';
2
+ import { fileURLToPath as __fileURLToPath } from 'url';
3
+ import { dirname as __pathDirname } from 'path';
4
+ const require = __createRequire(import.meta.url);
5
+ const __filename = __fileURLToPath(import.meta.url);
6
+ const __dirname = __pathDirname(__filename);
7
+ import{a as k}from"./chunk-PWL3KS7Y.mjs";import{c as l}from"./chunk-C35JQUWD.mjs";import{a as m,c as p}from"./chunk-AJTBFIH2.mjs";import{a as d}from"./chunk-53ZPEZLU.mjs";import{a as u}from"./chunk-MCY7OXED.mjs";import"./chunk-YQ6HM3YO.mjs";import"./chunk-YOGI4WE6.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-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-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 r}from"./chunk-3TRXQAU4.mjs";var s=new WeakMap;function f(e){let o=e.tool_input??e.toolInput;return o&&typeof o.command=="string"?o.command:typeof e.command=="string"?e.command:o&&typeof o.command_line=="string"?o.command_line:""}r(f,"extractCommand");function y(e){let o=f(e),t=o?l(o):null;return t?{deny:t}:null}r(y,"decideBroadProcessTermination");function g(e,o){let t=o,n=s.get(t);if(n)return n;let a=d(e,o);return s.set(t,a),a}r(g,"evaluatePackageOnce");function x(e=process.cwd(),o){return u({event:"PreToolUse",projectPath:e,decide:r(async(t,n)=>{try{let a=k(t);if(a)return a;let c=y(t);if(c)return c;let i=await g(n,t);return i?.strict?{deny:i.message}:null}catch{return null}},"decide"),build:r(async(t,n)=>{try{let[a,c]=await Promise.all([p(t)?m(n):null,g(n,t)]),i=c&&!c.strict?`# prjct: package legitimacy (advisory)
8
+ ${c.message}`:null;return[a,i].filter(Boolean).join(`
9
+
10
+ `)||null}catch{return null}finally{s.delete(t)}},"build")},o)}r(x,"runPreBashHook");export{y as decideBroadProcessTermination,x as runPreBashHook};
@@ -0,0 +1,7 @@
1
+ import { createRequire as __createRequire } from 'module';
2
+ import { fileURLToPath as __fileURLToPath } from 'url';
3
+ import { dirname as __pathDirname } from 'path';
4
+ const require = __createRequire(import.meta.url);
5
+ const __filename = __fileURLToPath(import.meta.url);
6
+ const __dirname = __pathDirname(__filename);
7
+ import{a,b,c}from"./chunk-AJTBFIH2.mjs";import"./chunk-MCY7OXED.mjs";import"./chunk-YQ6HM3YO.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{a as buildPreCommitContext,c as isCommitInput,b as runPreCommitHook};
@@ -0,0 +1,8 @@
1
+ import { createRequire as __createRequire } from 'module';
2
+ import { fileURLToPath as __fileURLToPath } from 'url';
3
+ import { dirname as __pathDirname } from 'path';
4
+ const require = __createRequire(import.meta.url);
5
+ const __filename = __fileURLToPath(import.meta.url);
6
+ const __dirname = __pathDirname(__filename);
7
+ import{a as L,b as O}from"./chunk-BTSHD3XJ.mjs";import{a as D}from"./chunk-PWL3KS7Y.mjs";import{a as x}from"./chunk-VRFYDYQY.mjs";import{a as F}from"./chunk-MCY7OXED.mjs";import{i as g}from"./chunk-YQ6HM3YO.mjs";import{a as A}from"./chunk-XU3BQPBU.mjs";import{b as j}from"./chunk-DCVPNFS4.mjs";import{a as M,b as S,d as $,e as H,f as y,h as b,i as p}from"./chunk-MDONTD7O.mjs";import"./chunk-F2FKQUYE.mjs";import{d as C,e as _,f as w}from"./chunk-6AFXUX2M.mjs";import"./chunk-WSVMQYYU.mjs";import{b as E}from"./chunk-LZC6NGB6.mjs";import"./chunk-XLFEWZRA.mjs";import"./chunk-XPRLQIVQ.mjs";import"./chunk-EZRNQXCC.mjs";import{b as k}from"./chunk-EHVU2SMR.mjs";import"./chunk-HPCSSJXH.mjs";import"./chunk-E5QQDYBR.mjs";import"./chunk-B7AQHL7B.mjs";import"./chunk-L4TUXFCL.mjs";import"./chunk-RACISWUV.mjs";import"./chunk-DIEPWXJJ.mjs";import"./chunk-NINFE7GS.mjs";import"./chunk-UNNY2IWZ.mjs";import{b as h}from"./chunk-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 s}from"./chunk-3TRXQAU4.mjs";import{createHash as N}from"node:crypto";var I=1200,T=new Map,v=new Map;function V(t,n,o,r){let e=`${t}\0${n}\0${o}`,i=N("sha1").update(r.map(l=>l.id).join("\0")).digest("hex");return v.get(e)===i?!0:(v.size>64&&v.clear(),v.set(e,i),!1)}s(V,"headsUpAlreadyShown");function U(t,n){let o=`${t}\0${n}`,r=T.get(o);if(r)return r;let e=(()=>{try{return E.recallForFile(t,n,S,{preventiveOnly:!0})}catch{return[]}})();return T.set(o,e),e}s(U,"recallPreventiveOnce");function R(){T.clear()}s(R,"clearPreventiveCache");function W(t,n){let o=O(n,t.map(e=>({id:e.id,type:C(e),title:`${w(e)} \u2014 ${_(e.content)}`})));if(o)return g(o,I);let r=[`# prjct: heads-up before editing \`${n}\``,""];r.push(`${t.length} preventive memory entr${t.length===1?"y":"ies"} recorded against this file:`),r.push("");for(let e of t)r.push(`- **[${C(e)}] ${w(e)}** \u2014 ${_(e.content)} \`${e.id}\``);return r.push(""),r.push("> Nudge, not block. Apply if it still holds; proceed if not."),g(r.join(`
8
+ `),I)}s(W,"headsUpMessage");async function z(t,n,o){let r=Date.now(),e=await h.readConfig(t);if(!e?.projectId)return null;let i=U(e.projectId,n);if(p(r)||i.length===0)return null;A(e.projectId,t,i.map(a=>a.id));let l=j(e),f=H(e.projectId),m=b(i),c=n.split("/").pop()??n,d=$({mode:l,candidates:m,overriddenIds:f,fileLabel:c});if(p(r))return null;try{let a=await k.getCurrentTask(e.projectId),u=L({harnessLevel:a?.harness?.level??null,candidates:m,overriddenIds:f,fileLabel:c});if(u.action==="warn"&&u.message)return g(u.message,I)}catch{}return d.action==="warn"&&d.message?(y(t,e.projectId,"warn",d.memoryIds,d.reason),g(d.message,I)):l==="off"||d.action==="none"||i.length>0?V(e.projectId,o,n,i)?null:W(i,c):null}s(z,"buildPreEditContext");async function B(t,n){let o=Date.now();try{let r=await h.readConfig(t);if(!r?.projectId)return null;let e=await k.getCurrentTask(r.projectId);if(r.maxTurnsPerCycle){let u=x(r,e);if(u.stopped)return{deny:u.message}}if(!n||p(o,M))return null;let i=U(r.projectId,n);if(i.length===0||p(o,M))return null;let l=H(r.projectId),f=n.split("/").pop()??n,m=b(i),c=L({harnessLevel:e?.harness?.level??null,candidates:m,overriddenIds:l,fileLabel:f});if(c.action==="deny"&&c.message)return y(t,r.projectId,"deny",c.memoryIds,c.reason),{deny:c.message};let d=j(r);if(d!=="strict")return null;let a=$({mode:d,candidates:m,overriddenIds:l,fileLabel:f});return a.action==="deny"&&a.message?(y(t,r.projectId,"deny",a.memoryIds,a.reason),{deny:a.message}):null}catch{return null}}s(B,"decideHardStop");function ie(t=process.cwd(),n){return F({event:"PreToolUse",projectPath:t,decide:s(async(o,r)=>{R();let e=D(o);return e||B(r,o.tool_input?.file_path?.trim())},"decide"),build:s(async(o,r)=>{try{let e=o.tool_input?.file_path?.trim();return e?z(r,e,o.session_id?.trim()||o.conversation_id?.trim()||"unknown"):null}finally{R()}},"build")},n)}s(ie,"runPreEditHook");export{ie as runPreEditHook};
@@ -0,0 +1,7 @@
1
+ import { createRequire as __createRequire } from 'module';
2
+ import { fileURLToPath as __fileURLToPath } from 'url';
3
+ import { dirname as __pathDirname } from 'path';
4
+ const require = __createRequire(import.meta.url);
5
+ const __filename = __fileURLToPath(import.meta.url);
6
+ const __dirname = __pathDirname(__filename);
7
+ import{a,b}from"./chunk-53ZPEZLU.mjs";import"./chunk-MCY7OXED.mjs";import"./chunk-YQ6HM3YO.mjs";import"./chunk-XLFEWZRA.mjs";import"./chunk-RACISWUV.mjs";import"./chunk-DIEPWXJJ.mjs";import"./chunk-NINFE7GS.mjs";import"./chunk-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{a as evaluatePrePackageInput,b as runPrePackageHook};
@@ -0,0 +1,8 @@
1
+ import { createRequire as __createRequire } from 'module';
2
+ import { fileURLToPath as __fileURLToPath } from 'url';
3
+ import { dirname as __pathDirname } from 'path';
4
+ const require = __createRequire(import.meta.url);
5
+ const __filename = __fileURLToPath(import.meta.url);
6
+ const __dirname = __pathDirname(__filename);
7
+ import{a as d}from"./chunk-MCY7OXED.mjs";import{i as g}from"./chunk-YQ6HM3YO.mjs";import{g as f,j as p}from"./chunk-QZ7T2EYR.mjs";import"./chunk-XLFEWZRA.mjs";import{b as u}from"./chunk-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{a as l}from"./chunk-3TRXQAU4.mjs";var _=900,h=80,b=8;function m(e){let o=e.tool_input?.pattern??e.tool_input?.query??e.tool_input?.glob??"";if(!o||typeof o!="string")return null;let t=o.match(/[A-Za-z_][A-Za-z0-9_]{2,}/g);if(!t||t.length===0)return null;t.sort((n,s)=>s.length-n.length);let r=new Set(["the","and","for","from","import","export","function","class","const","type","interface","return","async","await","true","false","null","undefined","test","describe","src","core","node","modules"]);for(let n of t)if(!r.has(n.toLowerCase()))return n;return t[0]??null}l(m,"extractToken");async function k(e,o){let t=Date.now();try{let r=(o.tool_name??"").toLowerCase();if(r&&!/grep|glob|search/i.test(r))return null;let n=m(o);if(!n)return null;let s=await u.readConfig(e);if(!s?.projectId||!f(s.projectId)||Date.now()-t>h)return null;let a=p(s.projectId,n,{limit:b});if(a.length===0||Date.now()-t>h)return null;let c=["# prjct code graph (non-blocking)","",`Grep/Glob token \`${n}\` matches indexed symbols \u2014 prefer these before more tree walks:`,""];for(let i of a)c.push(`- **${i.name}** (${i.kind}${i.exported?", exported":""}) \u2014 \`${i.file}:${i.startLine}\``);return c.push(""),c.push(`> Expand: \`prjct code trace ${n}\` or MCP \`prjct_trace_path\`. This inject never blocks the tool.`),g(c.join(`
8
+ `),_)}catch{return null}}l(k,"buildSearchAugment");async function x(e,o){await d({event:"PreToolUse",projectPath:e,build:l((t,r)=>k(r,t),"build")},o)}l(x,"runPreSearchHook");var j={extractToken:m,buildSearchAugment:k};export{j as _internal,x as runPreSearchHook};
@@ -0,0 +1,7 @@
1
+ import { createRequire as __createRequire } from 'module';
2
+ import { fileURLToPath as __fileURLToPath } from 'url';
3
+ import { dirname as __pathDirname } from 'path';
4
+ const require = __createRequire(import.meta.url);
5
+ const __filename = __fileURLToPath(import.meta.url);
6
+ const __dirname = __pathDirname(__filename);
7
+ import{a,b,c}from"./chunk-PWL3KS7Y.mjs";import"./chunk-MCY7OXED.mjs";import"./chunk-YQ6HM3YO.mjs";import"./chunk-XLFEWZRA.mjs";import"./chunk-RACISWUV.mjs";import"./chunk-DIEPWXJJ.mjs";import"./chunk-NINFE7GS.mjs";import"./chunk-D62TAZG6.mjs";import"./chunk-3TRXQAU4.mjs";export{c as _internal,a as decideSecrets,b as runPreSecretsHook};
@@ -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{b as a,c as b,d as c,e as d,f as e,g as f,h as g,i as h,j as i,k as j}from"./chunk-UNNY2IWZ.mjs";import"./chunk-3TRXQAU4.mjs";export{g as classifyCapturePrecision,h as classifySpecCreate,c as isBareIdBody,b as isEmptySpecMirror,d as isOpenGotchaNarration,f as lacksInboxSubstance,e as looksLikeRedHerring,a as parseSpecMirrorContent,i as shouldMirrorSpecToMemory,j as stripPipelineLabelsForHuman};
@@ -0,0 +1,7 @@
1
+ import { createRequire as __createRequire } from 'module';
2
+ import { fileURLToPath as __fileURLToPath } from 'url';
3
+ import { dirname as __pathDirname } from 'path';
4
+ const require = __createRequire(import.meta.url);
5
+ const __filename = __fileURLToPath(import.meta.url);
6
+ const __dirname = __pathDirname(__filename);
7
+ import{A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z}from"./chunk-S6FBPXQL.mjs";import"./chunk-NOHSLOLL.mjs";import"./chunk-RCIWCKL7.mjs";import"./chunk-D62TAZG6.mjs";import"./chunk-3TRXQAU4.mjs";export{a as HOT_PATH_RE,h as PREFER_CONST_CLAIM_RE,w as actionableOpen,y as advanceFixRound,v as applyBatchRefutation,g as applyEvidenceTax,r as applyGhostFilter,j as applyMechanicalStyleRefute,M as applyScopeFreeze,N as applyScopeFreezeAll,n as applySeverityFloor,o as applySeverityFloorAll,k as blastRank,G as buildNextAction,F as buildReReviewBrief,x as canStartFixRound,C as computePrecisionHint,D as computeVerdict,R as createLedger,f as evidenceScore,E as finalizeLedger,e as findingDna,O as findingInFixScope,d as intensityFromChangeset,H as intensityProtocol,m as isActionableSeverity,b as isHotPath,i as isPreferConstClaim,I as judgmentShipVerdict,A as markFindings,B as markFindingsSkippedByScope,p as markGhost,z as markLeftoversOpen,s as mergeDualJudges,P as newFindingId,Q as newLedgerId,K as normalizeScopePath,L as pathInScope,l as rankFindingsForFix,q as recordRefutedAsGhosts,t as refutePanelSize,u as resolveRefuteVotes,c as routeIntensity,J as upsertFinding};
@@ -0,0 +1,31 @@
1
+ import { createRequire as __createRequire } from 'module';
2
+ import { fileURLToPath as __fileURLToPath } from 'url';
3
+ import { dirname as __pathDirname } from 'path';
4
+ const require = __createRequire(import.meta.url);
5
+ const __filename = __fileURLToPath(import.meta.url);
6
+ const __dirname = __pathDirname(__filename);
7
+ import{b as h}from"./chunk-KIRU4QFX.mjs";import"./chunk-7QMBIMEX.mjs";import"./chunk-VDXTMAMO.mjs";import"./chunk-NZKUCQZK.mjs";import"./chunk-H2KNJUPN.mjs";import{a as I}from"./chunk-V5VCXMKO.mjs";import{e as $}from"./chunk-FOWTB762.mjs";import"./chunk-6FUCOGOW.mjs";import"./chunk-7CI4AMVO.mjs";import"./chunk-Q3LUL6LL.mjs";import"./chunk-C7YBUD4K.mjs";import"./chunk-IOFCSTGM.mjs";import"./chunk-S6FBPXQL.mjs";import"./chunk-NOHSLOLL.mjs";import"./chunk-RCIWCKL7.mjs";import"./chunk-E73HSXCX.mjs";import"./chunk-76YMLNLF.mjs";import"./chunk-O5N6XYPU.mjs";import"./chunk-SROBBOJB.mjs";import"./chunk-56FW4P6U.mjs";import"./chunk-BQKDJ3U6.mjs";import"./chunk-6OYLZ4NM.mjs";import"./chunk-SO3ZPNWT.mjs";import"./chunk-V7R3L54M.mjs";import"./chunk-YEALP3WX.mjs";import"./chunk-QZ7T2EYR.mjs";import"./chunk-UYMZ3NAF.mjs";import"./chunk-AJXELVNH.mjs";import"./chunk-CWLGRKA7.mjs";import"./chunk-2NI4EEK2.mjs";import"./chunk-6AFXUX2M.mjs";import"./chunk-WSVMQYYU.mjs";import"./chunk-LZC6NGB6.mjs";import"./chunk-XLFEWZRA.mjs";import"./chunk-XPRLQIVQ.mjs";import"./chunk-EZRNQXCC.mjs";import"./chunk-HCPQZRR3.mjs";import"./chunk-EHVU2SMR.mjs";import"./chunk-HPCSSJXH.mjs";import"./chunk-E5QQDYBR.mjs";import"./chunk-B7AQHL7B.mjs";import"./chunk-L4TUXFCL.mjs";import{h as i}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{g as d,i as k}from"./chunk-DMO3ZFUG.mjs";import"./chunk-NNOX3UU4.mjs";import"./chunk-INJ5WT2D.mjs";import"./chunk-HU5ERAAV.mjs";import"./chunk-6RT2P22O.mjs";import"./chunk-ZXTJLMVZ.mjs";import"./chunk-TIBYHZFA.mjs";import"./chunk-VWFVSNQT.mjs";import"./chunk-U24YKPYX.mjs";import"./chunk-D62TAZG6.mjs";import"./chunk-KPR5TWSN.mjs";import"./chunk-623SNKDH.mjs";import"./chunk-TTN2CFZC.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import{e as m,g as q}from"./chunk-225DWS4D.mjs";import{a}from"./chunk-3TRXQAU4.mjs";k();var P="prefs:questions",E=["always-ask","never-ask","auto-decide"];function g(){return{version:1,entries:{}}}a(g,"emptyDoc");function l(o){let r=d.getDoc(o,P);return!r||r.version!==1||typeof r.entries!="object"||r.entries===null?g():r}a(l,"read");function p(o,r){d.setDoc(o,P,r)}a(p,"write");function u(o){return/^[a-zA-Z0-9_-]+$/.test(o)&&o.length>0&&o.length<=80}a(u,"isValidQuestionId");function v(o){return E.includes(o)}a(v,"isValidPreference");var f={set(o,r){if(!u(r.questionId))throw new Error(`Invalid questionId "${r.questionId}". Must be alphanumeric with - or _, 1-80 chars.`);let t={questionId:r.questionId,preference:r.preference,setAt:new Date().toISOString(),reason:r.reason?.trim()||void 0},s=l(o);return s.entries[r.questionId]=t,p(o,s),t},get(o,r){return l(o).entries[r]??null},list(o){let r=l(o);return Object.values(r.entries).sort((t,s)=>s.setAt.localeCompare(t.setAt))},check(o,r){let t=this.get(o,r);if(!t)return"ASK_NORMALLY";switch(t.preference){case"never-ask":return"NEVER_ASK";case"auto-decide":return"AUTO_DECIDE";default:return"ASK_NORMALLY"}},clear(o,r){let t=l(o);if(!r){let s=Object.keys(t.entries).length;return p(o,g()),s}return t.entries[r]?(delete t.entries[r],p(o,t),1):0}};q();var y=class extends I{static{a(this,"PreferencesCommands")}async prefs(r,t=process.cwd(),s={}){try{let e=await h(t);if(!e.ok)return e.result;let n=r[0]??"list",c=r.slice(1);switch(n){case"list":return this.handleList(e.value,s);case"get":return this.handleGet(e.value,c,s);case"check":return this.handleCheck(e.value,c);case"set":return this.handleSet(e.value,c,s);case"clear":return this.handleClear(e.value,c,s);default:return i.fail(`Unknown prefs subcommand: ${n}. Use: list, get, check, set, clear.`),{success:!1,error:`Unknown subcommand: ${n}`}}}catch(e){let n=m(e);return $(n)}}handleList(r,t){let s=f.list(r);if(t.md)if(s.length===0)console.log(`## Question preferences
8
+
9
+ _No preferences set._
10
+ `);else{let e=s.map(n=>`| ${n.questionId} | ${n.preference} | ${n.setAt} | ${n.reason?n.reason.replaceAll("|","\\|"):""} |`).join(`
11
+ `);console.log(`## Question preferences
12
+
13
+ | Question | Preference | Set at | Reason |
14
+ |---|---|---|---|
15
+ ${e}
16
+ `)}else if(s.length===0)i.info("No question preferences set.");else for(let e of s){let n=e.reason?` \u2014 ${e.reason}`:"";console.log(`${e.preference.padEnd(11)} ${e.questionId}${n}`)}return{success:!0,count:s.length,entries:s}}handleGet(r,t,s){let e=t[0];if(!e)return i.fail("Usage: prjct prefs get <questionId>"),{success:!1,error:"Missing questionId"};if(!u(e))return i.fail(`Invalid questionId "${e}".`),{success:!1,error:"Invalid questionId"};let n=f.get(r,e);if(!n)return s.md?console.log(`## prefs get \`${e}\`
17
+
18
+ _no preference set_
19
+ `):i.info(`no preference set for ${e}`),{success:!0,entry:null};if(s.md)console.log(`## prefs get \`${e}\`
20
+
21
+ - **Preference**: ${n.preference}
22
+ - **Set at**: ${n.setAt}${n.reason?`
23
+ - **Reason**: ${n.reason}`:""}
24
+ `);else{let c=n.reason?` (${n.reason})`:"";console.log(`${n.preference} ${n.questionId}${c}`)}return{success:!0,entry:n}}handleCheck(r,t){let s=t[0];if(!s)return i.fail("Usage: prjct prefs check <questionId>"),{success:!1,error:"Missing questionId"};if(!u(s))return console.log("ASK_NORMALLY"),{success:!0,check:"ASK_NORMALLY"};let e=f.check(r,s);return console.log(e),{success:!0,check:e}}handleSet(r,t,s){let[e,n]=t;if(!e||!n)return i.fail(`Usage: prjct prefs set <questionId> <preference> [--reason "..."]
25
+ Preferences: always-ask | never-ask | auto-decide`),{success:!1,error:"Missing args"};if(!u(e))return i.fail(`Invalid questionId "${e}".`),{success:!1,error:"Invalid questionId"};if(!v(n))return i.fail(`Invalid preference "${n}". Use: always-ask, never-ask, auto-decide.`),{success:!1,error:"Invalid preference"};let c=f.set(r,{questionId:e,preference:n,reason:s.reason});return s.md?console.log(`## prefs set
26
+
27
+ \`${c.questionId}\` \u2192 \`${c.preference}\`${c.reason?` \u2014 ${c.reason}`:""}
28
+ `):i.done(`prefs ${c.questionId} \u2192 ${c.preference}`),{success:!0,entry:c}}handleClear(r,t,s){let e=t[0];if(e&&!u(e))return i.fail(`Invalid questionId "${e}".`),{success:!1,error:"Invalid questionId"};let n=f.clear(r,e);if(s.md){let c=e?`\`${e}\``:"all preferences";console.log(`## prefs clear
29
+
30
+ Cleared ${n} entr${n===1?"y":"ies"} (${c}).
31
+ `)}else n===0?i.info(e?`no preference set for ${e}`:"no preferences to clear"):i.done(`cleared ${n} preference${n===1?"":"s"}`);return{success:!0,cleared:n}}};export{y as PreferencesCommands};
@@ -0,0 +1,13 @@
1
+ import { createRequire as __createRequire } from 'module';
2
+ import { fileURLToPath as __fileURLToPath } from 'url';
3
+ import { dirname as __pathDirname } from 'path';
4
+ const require = __createRequire(import.meta.url);
5
+ const __filename = __fileURLToPath(import.meta.url);
6
+ const __dirname = __pathDirname(__filename);
7
+ import{a as W}from"./chunk-DEYAQEF5.mjs";import{c as x}from"./chunk-CFD6CW7T.mjs";import{b as v,c as h,e as N}from"./chunk-KIRU4QFX.mjs";import{h as R,i as M,k as S}from"./chunk-7QMBIMEX.mjs";import"./chunk-VDXTMAMO.mjs";import"./chunk-NZKUCQZK.mjs";import"./chunk-H2KNJUPN.mjs";import{a as j}from"./chunk-V5VCXMKO.mjs";import{e as p}from"./chunk-FOWTB762.mjs";import"./chunk-6FUCOGOW.mjs";import"./chunk-7CI4AMVO.mjs";import"./chunk-Q3LUL6LL.mjs";import"./chunk-C7YBUD4K.mjs";import"./chunk-IOFCSTGM.mjs";import"./chunk-S6FBPXQL.mjs";import"./chunk-NOHSLOLL.mjs";import"./chunk-RCIWCKL7.mjs";import"./chunk-E73HSXCX.mjs";import"./chunk-76YMLNLF.mjs";import"./chunk-O5N6XYPU.mjs";import"./chunk-SROBBOJB.mjs";import"./chunk-56FW4P6U.mjs";import"./chunk-BQKDJ3U6.mjs";import"./chunk-6OYLZ4NM.mjs";import"./chunk-SO3ZPNWT.mjs";import"./chunk-V7R3L54M.mjs";import"./chunk-YEALP3WX.mjs";import"./chunk-QZ7T2EYR.mjs";import"./chunk-UYMZ3NAF.mjs";import"./chunk-AJXELVNH.mjs";import"./chunk-CWLGRKA7.mjs";import"./chunk-2NI4EEK2.mjs";import"./chunk-6AFXUX2M.mjs";import"./chunk-WSVMQYYU.mjs";import{b as T}from"./chunk-LZC6NGB6.mjs";import"./chunk-XLFEWZRA.mjs";import{a as O}from"./chunk-XPRLQIVQ.mjs";import"./chunk-EZRNQXCC.mjs";import"./chunk-HCPQZRR3.mjs";import{b as I}from"./chunk-EHVU2SMR.mjs";import"./chunk-HPCSSJXH.mjs";import"./chunk-E5QQDYBR.mjs";import"./chunk-B7AQHL7B.mjs";import"./chunk-L4TUXFCL.mjs";import{h as a}from"./chunk-ID2C2S33.mjs";import"./chunk-RACISWUV.mjs";import"./chunk-DIEPWXJJ.mjs";import"./chunk-NINFE7GS.mjs";import"./chunk-UNNY2IWZ.mjs";import"./chunk-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{c as C,j as A}from"./chunk-KPR5TWSN.mjs";import"./chunk-623SNKDH.mjs";import"./chunk-TTN2CFZC.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import{e as $,g as E}from"./chunk-225DWS4D.mjs";import{a as w}from"./chunk-3TRXQAU4.mjs";A();E();var L=["feature","bug","improvement","chore"],F=class extends j{static{w(this,"PrimitiveCommands")}async status(o=null,s=process.cwd(),r={}){try{let e=await v(s);if(!e.ok)return e.result;if(o){let c=await R(e.value,s,o);if(!c.ok){if(c.reason==="unsupported")return r.md?console.log(`> ${c.message}`):a.fail(c.message),{success:!1,error:c.message};let k=await h(e.value,r,s);return k.ok?{success:!1,error:"No active work cycle"}:k.result}let l=Number.parseInt(r.tokensIn??"",10),g=Number.parseInt(r.tokensOut??"",10);c.taskId&&(Number.isFinite(l)||Number.isFinite(g))&&x(e.value,c.taskId,Number.isFinite(l)?l:0,Number.isFinite(g)?g:0,{source:"cli-manual"});let f=`status \u2192 ${o}`;r.md?console.log(`\u2713 ${f}`):a.done(f);let b=c.verificationWarnings??[];if(b.length>0)if(r.md){console.log(`
8
+ ## Harness warnings`);for(let k of b)console.log(`- ${k}`)}else for(let k of b)a.warn(`Harness: ${k}`);return c.contextPrompt&&(r.md?console.log(`
9
+ ## Capture context
10
+ ${c.contextPrompt}`):a.info(`
11
+ ${c.contextPrompt}`)),{success:!0,taskId:c.taskId,status:o}}if(!await M(e.value,s)){let c=await I.getPausedTasks(e.value);if(c.length>0){let l=c[0],g=`Task: ${l.id} | Type: ${l.type??"unset"} | Status: paused`;return r.md?console.log(g):a.info(g),{success:!0,taskId:l.id,status:"paused"}}}let n=await h(e.value,r,s);if(!n.ok)return n.result;let i=n.value,u=await S(e.value,i.id),d=`Task: ${i.id} | Type: ${i.type??"unset"} | Status: ${u??"active"}`,m=i.harness?`Harness: ${i.harness.level} ${i.harness.kind}/${i.harness.risk}`:null;return r.md?console.log(m?`${d}
12
+ ${m}`:d):(a.info(d),m&&a.info(m)),{success:!0,taskId:i.id,status:u??"active",harness:m}}catch(e){let t=$(e);return p(t)}}async tag(o=null,s=process.cwd(),r={}){try{let e=await v(s);if(!e.ok)return e.result;let t=await h(e.value,r,s);if(!t.ok)return t.result;if(!o)return a.info("Usage: prjct tag <key:value> [<key:value>...]"),{success:!1,error:"No tags provided"};let n=U(o);if(Object.keys(n).length===0)return a.fail("no valid k:v pairs (expected `key:value`)"),{success:!1,error:"Invalid tag format"};let i=n.type;i&&L.includes(i)&&await I.updateCurrentTask(e.value,{type:i}),await O.log(s,"task.tagged",{taskId:t.value.id,tags:n});let u=Object.entries(n).map(([d,m])=>`${d}=${m}`).join(", ");return r.md?console.log(`\u2713 tagged ${u}`):a.done(`tagged ${u}`),{success:!0,taskId:t.value.id,tags:n}}catch(e){let t=$(e);return p(t)}}async remember(o=null,s=process.cwd(),r={}){try{if(!r.global){let l=await this.ensureProjectInit(s);if(!l.success)return l}if(!o)return a.info(`Usage: prjct remember <type> "<content>" [--tags k:v,...]
13
+ Types: ${C.join(" | ")}`),{success:!1,error:"Missing args"};let e=_(o);if(!e.ok)return p(e.error);let{type:t,content:n}=e,i=N(n,{force:r.force});if(!i.ok)return i.result;let u=W(r.tags);if(r.global){await T.remember(s,{type:t,content:n,tags:u,projectId:"global-kb",requireWrite:!0,force:r.force});let l=`remembered ${t} (GLOBAL \u2014 cross-project): ${n.slice(0,80)}${n.length>80?"\u2026":""}`;return r.md?console.log(`\u2713 ${l}`):a.done(l),{success:!0,type:t,scope:"global"}}let d=await v(s);if(!d.ok)return d.result;let m=await M(d.value,s),c=await(async()=>{if(t!=="context")return u;try{let{deriveGitContext:l}=await import("./git-context-ZSWE3KWM.mjs"),{livingContextTagsFromContent:g}=await import("./living-context-contract-HZIVBMXX.mjs"),f=await l(s);return{...g(n),...u,...f.commit?{commit:f.commit}:{},...f.author?{author:f.author}:{},...f.files?.length?{files:f.files.join(",")}:{},...m?.id?{taskId:m.id}:{}}}catch{return u}})();return await T.remember(s,{type:t,content:n,tags:c,source:m?.id,requireWrite:!0,force:r.force}),r.md?console.log(`\u2713 remembered ${t}: ${n}`):a.done(`remembered ${t}`),{success:!0,type:t,content:n,tags:u}}catch(e){let t=$(e);return p(t)}}async forget(o=null,s=process.cwd(),r={}){try{let e=(o??"").trim();if(!e)return a.info("Usage: prjct forget <id> (e.g. prjct forget mem_1234)"),{success:!1,error:"Missing id"};let t=await v(s);if(!t.ok)return t.result;let n=q(t.value,e,r);return n.ok?(r.md?console.log(`\u2713 forgot ${e}`):a.done(`forgot ${e}`),{success:!0,id:e}):n.result}catch(e){let t=$(e);return p(t)}}async close(o=null,s=process.cwd(),r={}){try{let e=(o??"").trim();if(!e)return a.info('Usage: prjct close <id> [--reason "..."]'),{success:!1,error:"Missing id"};let t=await v(s);if(!t.ok)return t.result;let n=q(t.value,e,r);if(!n.ok)return n.result;let i=(r.reason??"").trim();try{await T.remember(s,{type:"context",content:i?`Closed ${e}: ${i}`:`Closed ${e} (resolved \u2014 left rotation)`,tags:{status:"closed",resolves:e.startsWith("mem_")?e:`mem_${e}`,source:"prjct-close"},provenance:"declared",projectId:t.value})}catch{}return r.md?console.log(`\u2713 closed ${e}`):a.done(`closed ${e}`),{success:!0,id:e}}catch(e){let t=$(e);return p(t)}}};function U(y){let o=y.split(/\s+/).map(s=>s.trim()).filter(Boolean).map(s=>{let r=s.indexOf(":");return r<=0?null:[s.slice(0,r),s.slice(r+1)]}).filter(s=>s!==null);return Object.fromEntries(o)}w(U,"parseTagPairs");function q(y,o,s){return T.forget(y,o)?{ok:!0}:(s.md?console.log(`\u2717 no memory entry matched ${o}`):a.fail(`no memory entry matched ${o}`),{ok:!1,result:{success:!1,error:`No memory entry matched ${o}`}})}w(q,"tryForgetMemory");function _(y){let o=y.trim(),s=o.search(/\s/);if(s<=0)return{ok:!1,error:'expected `<type> "<content>"`'};let r=o.slice(0,s).toLowerCase().trim();if(!r||!/^[a-z][a-z0-9-]*$/.test(r))return{ok:!1,error:`invalid type '${r}'. Lowercase letters + dashes only. Base types: ${C.join(", ")}`};let e=r,t=o.slice(s+1).trim(),n=t.startsWith('"')&&t.endsWith('"')||t.startsWith("'")&&t.endsWith("'")?t.slice(1,-1):t;return n?{ok:!0,type:e,content:n}:{ok:!1,error:"content is required"}}w(_,"parseRememberArgs");export{F as PrimitiveCommands};
@@ -0,0 +1,7 @@
1
+ import { createRequire as __createRequire } from 'module';
2
+ import { fileURLToPath as __fileURLToPath } from 'url';
3
+ import { dirname as __pathDirname } from 'path';
4
+ const require = __createRequire(import.meta.url);
5
+ const __filename = __fileURLToPath(import.meta.url);
6
+ const __dirname = __pathDirname(__filename);
7
+ import{a,b,c,d}from"./chunk-ZKJZDOPT.mjs";import"./chunk-YOGI4WE6.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-2EEMQV7N.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 buildPrjctMdBody,a as buildProjectFactsSection,d as formatProjectFactsMd,c as writeProjectPrjctMd};
@@ -0,0 +1,68 @@
1
+ import { createRequire as __createRequire } from 'module';
2
+ import { fileURLToPath as __fileURLToPath } from 'url';
3
+ import { dirname as __pathDirname } from 'path';
4
+ const require = __createRequire(import.meta.url);
5
+ const __filename = __fileURLToPath(import.meta.url);
6
+ const __dirname = __pathDirname(__filename);
7
+ import{a as B}from"./chunk-ANVCA6LF.mjs";import{a as l,b as y,d as S}from"./chunk-CFD6CW7T.mjs";import{b as I}from"./chunk-KIRU4QFX.mjs";import{i as _}from"./chunk-7QMBIMEX.mjs";import"./chunk-VDXTMAMO.mjs";import"./chunk-NZKUCQZK.mjs";import"./chunk-H2KNJUPN.mjs";import{a as V}from"./chunk-V5VCXMKO.mjs";import{e as T}from"./chunk-FOWTB762.mjs";import"./chunk-6FUCOGOW.mjs";import"./chunk-7CI4AMVO.mjs";import"./chunk-Q3LUL6LL.mjs";import"./chunk-C7YBUD4K.mjs";import"./chunk-IOFCSTGM.mjs";import"./chunk-S6FBPXQL.mjs";import"./chunk-NOHSLOLL.mjs";import"./chunk-RCIWCKL7.mjs";import"./chunk-E73HSXCX.mjs";import"./chunk-76YMLNLF.mjs";import"./chunk-O5N6XYPU.mjs";import"./chunk-SROBBOJB.mjs";import"./chunk-56FW4P6U.mjs";import"./chunk-BQKDJ3U6.mjs";import"./chunk-6OYLZ4NM.mjs";import"./chunk-SO3ZPNWT.mjs";import"./chunk-V7R3L54M.mjs";import"./chunk-YEALP3WX.mjs";import"./chunk-QZ7T2EYR.mjs";import"./chunk-UYMZ3NAF.mjs";import"./chunk-AJXELVNH.mjs";import"./chunk-CWLGRKA7.mjs";import"./chunk-2NI4EEK2.mjs";import{a as W,b as U,d as H,e as E,f as M}from"./chunk-6AFXUX2M.mjs";import"./chunk-WSVMQYYU.mjs";import{b as h}from"./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{a as D}from"./chunk-UNNY2IWZ.mjs";import"./chunk-3USVY66O.mjs";import"./chunk-OIE3AKKO.mjs";import"./chunk-Q6C27OL7.mjs";import"./chunk-NXUIMC22.mjs";import{e as R}from"./chunk-JPMUJY42.mjs";import"./chunk-DZVOFEM5.mjs";import"./chunk-5EF5EOCL.mjs";import{g as C,i as Z}from"./chunk-DMO3ZFUG.mjs";import"./chunk-NNOX3UU4.mjs";import"./chunk-INJ5WT2D.mjs";import{g as $,h as v,i as P,l as Q}from"./chunk-HU5ERAAV.mjs";import"./chunk-6RT2P22O.mjs";import"./chunk-ZXTJLMVZ.mjs";import"./chunk-TIBYHZFA.mjs";import"./chunk-VWFVSNQT.mjs";import"./chunk-U24YKPYX.mjs";import{o as N,p as K}from"./chunk-D62TAZG6.mjs";import"./chunk-KPR5TWSN.mjs";import"./chunk-623SNKDH.mjs";import"./chunk-TTN2CFZC.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import{e as A,g as J}from"./chunk-225DWS4D.mjs";import{a as i}from"./chunk-3TRXQAU4.mjs";Z();J();Q();K();var X=["gotcha","red-herring","anti-pattern","learning"],ee=/^(current work|wip|todo|misc|n\/a|none|latest|unreleased|changelog)$/i,G=class extends V{static{i(this,"ProductCommands")}async insights(t=null,n=process.cwd(),s={}){let[r="overview",...o]=(t??"").trim().split(/\s+/).filter(Boolean),a=o.join(" ")||null;switch(r){case"value":case"overview":return this.value(null,n,s);case"quality":case"memory":case"memory-doctor":return this.memoryDoctor(a,n,s);case"reliability":case"trust":case"proof":return this.reliability(a,n,s);case"report":case"retro":return this.report(a,n,s);case"continue":case"handoff":case"brief":return this.handoff(a,n,s);case"guardrails":case"risk":return this.guardrails(null,n,s);case"cost":case"spend":case"tokens":case"usage":return this.cost(a,n,s);case"backfill":return this.backfill(n,s);default:return T(`Unknown insights view '${r}'. Use value, quality, reliability, cost, report, continue, or guardrails.`,s)}}async value(t=null,n=process.cwd(),s={}){return g(n,s,r=>x(r,n),r=>console.log(s.md?ge(r):fe(r)),r=>r)}async memoryDoctor(t=null,n=process.cwd(),s={}){let r=me(t);return g(n,s,o=>j(o),o=>console.log(s.md?ye(o,r):he(o,r)),o=>({score:o.score,issues:o.issues.length}))}async report(t=null,n=process.cwd(),s={}){let r=w(t,s.days,7);return g(n,s,o=>ae(o,n,r),o=>console.log(s.md?we(o):be(o)),o=>({days:r,ships:o.ships.length,completed:o.completed.length}))}async handoff(t=null,n=process.cwd(),s={}){let r=(t??"").trim().split(/\s+/).filter(Boolean)[0]??"next agent";return g(n,s,o=>ue(o,n,r),o=>console.log(s.md?$e(o):Se(o)),o=>({target:r,memories:o.memories.length}))}async guardrails(t=null,n=process.cwd(),s={}){return g(n,s,r=>ce(r,n),r=>console.log(s.md?ve(r):Ce(r)),r=>({files:r.files.length,hits:r.hits.length}))}async performance(t=null,n=process.cwd(),s={}){let r=w(t,s.days,14);return g(n,s,o=>oe(o,r),o=>console.log(s.md?Re(r,o):Te(r,o)),o=>({days:r,cycles:o.length}))}async perf(t=null,n=process.cwd(),s={}){let r=w(t,s.days,7);return g(n,s,o=>B.getLatencyReport(o,r),o=>console.log(s.md?Ee(o):Me(o)),o=>({days:r,commands:Object.keys(o.commands).length}))}async cost(t=null,n=process.cwd(),s={}){let r=w(t,s.days,30);return g(n,s,o=>S(o,r),o=>console.log(s.md?Le(o):xe(o)),o=>o)}async backfill(t=process.cwd(),n={}){return g(t,n,async s=>{let{backfillTaskTokens:r}=await import("./token-backfill-WPXXD5MP.mjs");return r(s,t)},s=>{let r=`backfilled ${s.tasksBackfilled} task(s) with ${s.tokensRecovered.toLocaleString()} tokens from ${s.transcriptsScanned} transcript(s) (${s.tasksSkipped} had no usage in window)`;n.md?console.log(`\u2713 ${r}`):F.done(r)},s=>s)}async reliability(t=null,n=process.cwd(),s={}){let r=w(t,s.days,30);return g(n,s,o=>te(o,n,r),o=>console.log(s.md?Oe(o):Ne(o)),o=>o)}};async function g(e,t,n,s,r){try{let o=await I(e,t);if(!o.ok)return o.result;let a=await n(o.value);return s(a),{success:!0,...r(a)}}catch(o){return T(A(o),t)}}i(g,"runProductCommand");async function x(e,t){let n=await R(t),s={detected:n.filter(c=>c.detected).length,full:n.filter(c=>c.supportLevel==="full").length,good:n.filter(c=>c.supportLevel==="good").length,baseline:n.filter(c=>c.supportLevel==="baseline").length,hosted:n.filter(c=>c.supportLevel==="hosted").length},r={live:l(e,"SELECT COUNT(*) AS value FROM memory_entries WHERE deleted_at IS NULL"),preventive:l(e,`SELECT COUNT(*) AS value FROM memory_entries
8
+ WHERE deleted_at IS NULL AND type IN ('gotcha', 'anti-pattern', 'learning')`),useful:l(e,"SELECT COUNT(*) AS value FROM memory_usefulness WHERE score > 0"),surfaced:l(e,"SELECT COUNT(*) AS value FROM memory_surface_log"),inbox:l(e,"SELECT COUNT(*) AS value FROM memory_entries WHERE deleted_at IS NULL AND type = 'inbox'")},o={tasks:l(e,"SELECT COUNT(*) AS value FROM tasks"),completed:l(e,"SELECT COUNT(*) AS value FROM tasks WHERE status IN ('done', 'completed')"),shippedTasks:l(e,"SELECT COUNT(*) AS value FROM tasks WHERE shipped_at IS NOT NULL"),shippedFeatures:l(e,"SELECT COUNT(*) AS value FROM shipped_features"),specs:l(e,"SELECT COUNT(*) AS value FROM specs"),shippedSpecs:l(e,"SELECT COUNT(*) AS value FROM specs WHERE status = 'shipped'")},a={syncs:l(e,"SELECT COALESCE(SUM(syncs), 0) AS value FROM metrics_daily"),tokensSaved:l(e,"SELECT COALESCE(SUM(tokens_saved), 0) AS value FROM metrics_daily")};return{memories:r,workflow:o,sync:a,agents:s,score:le(r,o,a,s)}}i(x,"buildValueSnapshot");function j(e){let t=y(e,`SELECT COALESCE(type, 'unknown') AS type, COUNT(*) AS value
9
+ FROM memory_entries
10
+ WHERE deleted_at IS NULL
11
+ GROUP BY COALESCE(type, 'unknown')
12
+ ORDER BY value DESC, type ASC`),n=l(e,`SELECT COUNT(*) AS value FROM (
13
+ SELECT type, content_hash
14
+ FROM memory_entries
15
+ WHERE deleted_at IS NULL AND content_hash IS NOT NULL
16
+ GROUP BY type, content_hash
17
+ HAVING COUNT(*) > 1
18
+ )`),s=y(e,`SELECT id, title, content, type, '{}' AS tags, created_at
19
+ FROM memory_entries
20
+ WHERE deleted_at IS NULL
21
+ AND type = 'inbox'
22
+ AND created_at < (CAST(strftime('%s','now','-14 days') AS INTEGER) * 1000)
23
+ ORDER BY created_at ASC
24
+ LIMIT 8`),r=y(e,`SELECT id, title, content, type, '{}' AS tags, created_at
25
+ FROM memory_entries
26
+ WHERE deleted_at IS NULL
27
+ ORDER BY created_at DESC
28
+ LIMIT 500`),o=r.filter(f=>pe(f.content)).slice(0,8),a=l(e,`SELECT COUNT(*) AS value FROM memory_entries
29
+ WHERE deleted_at IS NULL AND (type IS NULL OR type = '')`),c=l(e,"SELECT COUNT(*) AS value FROM memory_usefulness WHERE score > 0"),d=(()=>{try{return W(h.allEntriesForIndex(e))}catch{return null}})(),p=[];if(n>0&&p.push(`${n} duplicate memory group(s) need review.`),s.length>0&&p.push(`${s.length} old inbox item(s) need promotion.`),o.length>0&&p.push(`${o.length} low-signal item(s) should be forgotten or rewritten.`),a>0&&p.push(`${a} memory row(s) are missing a type.`),c===0&&r.length>10&&p.push("No memory has usefulness credit yet; run guard/context during real tasks."),d)for(let f of d.issues.slice(0,8))p.push(f);let u=n*8+s.length*4+o.length*6+a*5+(d?Math.round((1-d.signalRatio)*25):0),m=Math.max(0,Math.min(100,100-u));return{score:d?Math.round(m*.55+d.score*.45):m,byType:t,issues:p,duplicateGroups:n,staleInbox:s,noise:o,missingType:a,provenUseful:c,substrate:d}}i(j,"buildMemoryDoctor");async function te(e,t,n){try{let{repairReliabilitySignals:f}=await import("./reliability-repair-JMPZWDD4.mjs");f(e,n)}catch{}let s=S(e,n),r=await x(e,t),o=j(e),a=s.workCycles===0?0:Math.min(100,Math.round(s.historicalRescue.taskTableCycles/s.workCycles*100)),c=Math.max(s.knownTokenCycles,1),d=s.workCycles===0?0:Math.min(100,Math.round(s.measuredSessions/Math.min(c,s.workCycles||c)*100)),p=s.surfacedContext===0?0:Math.min(100,Math.round(s.usefulContext/s.surfacedContext*100)),u=[...s.gaps];a<80&&u.push("Work-cycle normalization is below 80%; performance reports depend on event rescue."),o.score<80&&u.push("Memory quality is below 80%; run the quality fix-plan before trusting recall metrics."),s.commandSamples===0&&u.push("No command timing samples were recorded in this window.");let m=[];return a<80&&m.push("Normalize active work cycles into task rows at work start/status transitions."),s.tokenCoveragePercent<80&&m.push("Record exact or explicitly estimated token totals when a work cycle closes."),d<80&&m.push("Capture agent session start/stop rows with runtime, task id, and summary."),o.score<80&&m.push("Run `prjct insights quality fix-plan --md` and promote/forget low-signal memory."),p<30&&s.surfacedContext>0&&m.push("Mark useful surfaced memories so reuse can be proven, not just assumed."),m.length===0&&m.push("Keep measuring; current reliability signals are healthy enough for planning."),{score:Math.round(Math.min(100,Math.max(0,s.tokenCoveragePercent*.25+a*.2+d*.2+Math.min(100,p)*.15+o.score*.1+r.score*.1))),windowDays:n,valueScore:r.score,memoryScore:o.score,workCycleCoveragePercent:a,tokenCoveragePercent:s.tokenCoveragePercent,sessionCoveragePercent:d,contextReusePercent:p,commandTelemetry:{samples:s.commandSamples,avgStartupMs:s.avgStartupMs},gaps:de(u),nextActions:m}}i(te,"buildReliabilitySnapshot");function ne(e,t){try{let n=C.query(e,`SELECT json_extract(data, '$.taskId') AS task_id, COUNT(*) AS c
30
+ FROM events
31
+ WHERE type = 'subagent.spawned' AND timestamp >= ? AND json_extract(data, '$.taskId') IS NOT NULL
32
+ GROUP BY task_id`,t);return new Map(n.map(s=>[s.task_id,s.c]))}catch{return new Map}}i(ne,"subagentCounts");function se(e){return!e||e==="unknown"?"unknown":e.startsWith("claude-transcript")?"claude":e.includes("gemini")?"gemini":e.includes("codex")||e.includes("openai")?"codex":e.includes("grok")||e.includes("xai")?"grok":e.split(":")[0]||"unknown"}i(se,"runtimeFromSource");function re(e,t){let n=new Map;try{let s=C.query(e,`SELECT work_cycle_id, model_id, source
33
+ FROM token_usage
34
+ WHERE measured_at >= ? AND work_cycle_id IS NOT NULL
35
+ ORDER BY (model_id IS NOT NULL) DESC, measured_at DESC`,t);for(let r of s)!r.work_cycle_id||n.has(r.work_cycle_id)||n.set(r.work_cycle_id,{model:r.model_id?.length?r.model_id:"unknown",runtime:se(r.source)})}catch{}return n}i(re,"modelRuntimeByCycle");function oe(e,t){let n=$(t),s=y(e,`SELECT id, description, status, started_at, completed_at, shipped_at,
36
+ tokens_in, tokens_out, linked_spec_id
37
+ FROM tasks
38
+ WHERE COALESCE(completed_at, shipped_at, started_at) >= ?
39
+ ORDER BY COALESCE(completed_at, shipped_at, started_at) DESC
40
+ LIMIT 20`,n),r=re(e,n),o=s.map(u=>{let m=v(u.tokens_in),k=v(u.tokens_out),f=r.get(u.id);return{id:u.id,description:u.description,status:u.status,minutes:P(u.started_at,u.completed_at??u.shipped_at),tokensIn:m,tokensOut:k,tokensTotal:m===null&&k===null?null:(m??0)+(k??0),model:f?.model??"unknown",runtime:f?.runtime??"unknown",subagents:0,promptSynthesis:Y(u.description),outcome:u.shipped_at?"shipped":u.completed_at?"completed":u.status}}),a=new Set(o.map(u=>u.id)),c=S(e,t).mostExpensive.filter(u=>!a.has(u.id)).map(u=>ie(u,r.get(u.id))),d=[...o,...c].slice(0,12),p=ne(e,$(t));for(let u of d)u.subagents=p.get(u.id)??u.subagents??0;return d}i(oe,"buildPerformanceCycles");function ie(e,t){return{id:e.id,description:e.description,status:e.status,minutes:e.minutes,tokensIn:e.tokensIn,tokensOut:e.tokensOut,tokensTotal:e.tokensTotal,model:t?.model??"unknown",runtime:t?.runtime??"unknown",subagents:0,promptSynthesis:Y(e.description),outcome:e.status}}i(ie,"costTaskToPerformanceCycle");async function ae(e,t,n){let s=$(n),r=await _(e,t).catch(()=>null),o=y(e,`SELECT name, shipped_at, description
41
+ FROM shipped_features
42
+ WHERE shipped_at >= ?
43
+ ORDER BY shipped_at DESC
44
+ LIMIT 8`,s),a=y(e,`SELECT id, description, status, completed_at, shipped_at
45
+ FROM tasks
46
+ WHERE COALESCE(completed_at, shipped_at, started_at) >= ?
47
+ AND status IN ('done', 'completed')
48
+ ORDER BY COALESCE(completed_at, shipped_at, started_at) DESC
49
+ LIMIT 10`,s),c=h.recall(e,{types:["decision","learning","gotcha"],limit:8});return{days:n,active:r,ships:o,completed:a,decisions:c,value:await x(e,t)}}i(ae,"buildHumanReport");async function ue(e,t,n){let s=await _(e,t).catch(()=>null),r=h.recall(e,{types:["decision","gotcha","anti-pattern","pattern","learning"],limit:10}),a=(await R(t)).filter(c=>c.detected);return{target:n,active:s,memories:r,detected:a}}i(ue,"buildHandoff");async function ce(e,t){let n=await N(t),s=[];for(let o of n.slice(0,40)){let a=h.recallForFile(e,o,3);for(let c of a)s.push({file:o,entry:c})}let r=s.length===0?h.recall(e,{types:X,limit:8}):[];return{files:n,hits:s,fallback:r}}i(ce,"buildGuardrails");function le(e,t,n,s){let r=Math.min(35,e.live+e.preventive*2+e.useful*3),o=Math.min(30,t.completed*2+t.shippedFeatures*4+t.shippedSpecs*3),a=Math.min(20,s.detected*3+s.full*4+s.good*2),c=Math.min(15,n.syncs+Math.floor(n.tokensSaved/25e3));return Math.min(100,r+o+a+c)}i(le,"valueScore");function w(e,t,n){if(typeof t=="number"&&t>0)return Math.floor(t);let s=(e??"").match(/\b(\d{1,3})\b/);return s?Math.max(1,Math.min(90,Number.parseInt(s[1],10))):n}i(w,"pickDays");function me(e){return/\b(fix-?plan|plan|actions?)\b/i.test(e??"")}i(me,"wantsFixPlan");function de(e){return[...new Set(e)]}i(de,"unique");function Y(e){let t=e.trim().replace(/\s+/g," ");return t.length<=140?t:`${t.slice(0,137)}...`}i(Y,"synthesizePrompt");function pe(e){if(D(e).junk)return!0;let t=e.trim();return ee.test(t)}i(pe,"isNoise");function ge(e){return["# prjct Value","",`**Value score:** ${e.score}/100`,"","| Area | Signal |","|---|---:|",`| Live memories | ${e.memories.live} |`,`| Preventive guardrails | ${e.memories.preventive} |`,`| Proven-useful memories | ${e.memories.useful} |`,`| Surfaced during active work | ${e.memories.surfaced} |`,`| Completed tasks | ${e.workflow.completed} / ${e.workflow.tasks} |`,`| Shipped features | ${e.workflow.shippedFeatures} |`,`| Specs shipped | ${e.workflow.shippedSpecs} / ${e.workflow.specs} |`,`| Sync runs | ${e.sync.syncs} |`,`| Tokens saved by sync metrics | ${e.sync.tokensSaved.toLocaleString()} |`,`| Detected agent runtimes | ${e.agents.detected} |`,"","Use this as the paid-tier proof screen: it measures continuity, prevention, reuse, and multi-agent setup from real project data."].join(`
50
+ `)}i(ge,"formatValueMd");function fe(e){return[`prjct value: ${e.score}/100`,`memory: ${e.memories.live} live, ${e.memories.preventive} preventive, ${e.memories.useful} useful`,`workflow: ${e.workflow.completed}/${e.workflow.tasks} completed tasks, ${e.workflow.shippedFeatures} ships`,`sync: ${e.sync.syncs} runs, ${e.sync.tokensSaved.toLocaleString()} tokens saved`,`agents: ${e.agents.detected} detected runtimes`].join(`
51
+ `)}i(fe,"formatValueText");function ye(e,t=!1){let n=["# Memory Doctor","",`**Quality score:** ${e.score}/100`,""];n.push("## Distribution","","| Type | Entries |","|---|---:|");for(let s of e.byType)n.push(`| ${s.type??"unknown"} | ${s.value} |`);if(e.substrate&&n.push("",U(e.substrate)),n.push("","## Issues"),e.issues.length===0)n.push("","- No obvious memory quality issues found.");else for(let s of e.issues)n.push(`- ${s}`);return n.push("","## Cleanup candidates"),q(n,"Old inbox",e.staleInbox),q(n,"Low signal",e.noise),n.push("","Recommended actions: promote old inbox entries into `decision`, `learning`, `gotcha`, `red-herring`, or `todo`; forget noise by id; keep useful memories explicit and file-linked when possible.","Absence of a risk in memory is not proof it does not exist \u2014 trust density + blind spots above."),t&&ke(n,e),n.join(`
52
+ `)}i(ye,"formatMemoryDoctorMd");function he(e,t=!1){let n=[`Memory doctor: ${e.score}/100`];return e.substrate&&n.push(`substrate: signal=${Math.round(e.substrate.signalRatio*100)}% unshaped_gotcha=${Math.round(e.substrate.unshapedGotchaRate*100)}% empty_spec=${Math.round(e.substrate.emptySpecRate*100)}% cluster\u2248${e.substrate.clusterCollapsedEstimate}`),e.issues.length===0?n.push("No obvious memory quality issues found."):n.push(...e.issues.map(s=>`- ${s}`)),t&&n.push(`Fix-plan actions: ${z(e).length}`),n.join(`
53
+ `)}i(he,"formatMemoryDoctorText");function z(e){let t=[];for(let n of e.staleInbox)t.push(`Review ${n.id}: promote old inbox to decision/learning/gotcha/todo, or forget it if obsolete.`);for(let n of e.noise)t.push(`Forget or rewrite ${n.id}: low-signal content "${Ae(n)}".`);return e.duplicateGroups>0&&t.push(`Review ${e.duplicateGroups} duplicate memory group(s) and keep the clearest entry.`),e.missingType>0&&t.push(`Backfill ${e.missingType} memory row(s) with explicit memory types.`),e.provenUseful===0&&t.push("Use `prjct guard` / `prjct context memory` during real work so useful memory earns credit."),t}i(z,"memoryFixPlan");function ke(e,t){let n=z(t);if(e.push("","## Fix Plan"),n.length===0){e.push("- No cleanup actions needed.");return}for(let s of n)e.push(`- ${s}`);e.push("","This is a plan, not an auto-fix: review each item before deleting or rewriting project memory.")}i(ke,"appendMemoryFixPlan");function we(e){let t=[`# Weekly Report (${e.days} days)`,""];if(t.push(`**Value score:** ${e.value.score}/100`),t.push(`**Active work cycle:** ${e.active?.description??"None"}`,""),t.push("## Shipped"),e.ships.length===0)t.push("- No shipped features recorded in this window.");else for(let n of e.ships)t.push(`- **${n.name}** \u2014 ${n.description??"No description"} (${n.shipped_at})`);if(t.push("","## Completed Work"),e.completed.length===0)t.push("- No completed work cycles recorded in this window.");else for(let n of e.completed)t.push(`- ${n.description}`);return t.push("","## Decisions / Lessons To Carry Forward"),O(t,e.decisions),t.join(`
54
+ `)}i(we,"formatReportMd");function be(e){return[`Weekly report (${e.days} days)`,`Value: ${e.value.score}/100`,`Active: ${e.active?.description??"None"}`,`Shipped: ${e.ships.length}`,`Completed: ${e.completed.length}`,`Carry-forward memories: ${e.decisions.length}`].join(`
55
+ `)}i(be,"formatReportText");function $e(e){let t=[`# Handoff for ${e.target}`,"","Paste this into the next coding agent, then ask it to run the listed commands before editing.","","```text","You are taking over this project with prjct available.",`Active work cycle: ${e.active?.description??"none"}.`,"First run:","1. prjct work --md","2. prjct insights value --md","3. prjct insights quality --md","4. prjct insights guardrails --md","5. prjct performance --md","Before editing any risky file, run prjct guard <file> --md.","```","","## Detected runtimes",e.detected.length>0?e.detected.map(n=>`- ${n.runtime.displayName}: ${n.supportLevel}`).join(`
56
+ `):"- No runtime-specific signals detected; AGENTS.md remains the baseline.","","## Context to preserve"];return O(t,e.memories),t.join(`
57
+ `)}i($e,"formatHandoffMd");function Se(e){return[`Handoff for ${e.target}`,`Active: ${e.active?.description??"none"}`,"Run: prjct work --md; prjct insights value --md; prjct insights guardrails --md; prjct performance --md",`Context entries: ${e.memories.length}`].join(`
58
+ `)}i(Se,"formatHandoffText");function ve(e){let t=["# Risk Guardrails",""];if(t.push(`Changed files checked: ${e.files.length}`),e.hits.length>0){t.push("","## File-specific warnings");for(let n of e.hits)t.push(`- \`${n.file}\`: **[${H(n.entry)}] ${M(n.entry)}** \u2014 ${E(n.entry.content)} \`${n.entry.id}\``)}else t.push("","No file-specific preventive memory matched the current changeset."),e.fallback.length>0&&(t.push("","## General project traps"),O(t,e.fallback));return t.push("","_Advisory only. This command does not block or mutate anything._"),t.join(`
59
+ `)}i(ve,"formatGuardrailsMd");function Ce(e){return e.hits.length===0?`Risk guardrails: ${e.files.length} files checked, no file-specific hits.`:`Risk guardrails: ${e.hits.length} warning(s) across ${e.files.length} changed file(s).`}i(Ce,"formatGuardrailsText");function Re(e,t){let n=["# AI Work Performance","",`Window: last ${e} day(s)`,""];if(t.length===0)return n.push("No work cycles recorded in this window.","","Run `prjct insights cost --md` to see the capture gaps that currently prevent token and session attribution."),n.join(`
60
+ `);n.push("| Work cycle | Outcome | Time | Tokens | Subagents | Model | Runtime | Prompt synthesis |"),n.push("|---|---|---:|---:|---:|---|---|---|");for(let s of t)n.push(`| ${b(s.description)} | ${s.outcome} | ${s.minutes??"unknown"} | ${s.tokensTotal??"unknown"} | ${s.subagents} | ${s.model} | ${s.runtime} | ${b(s.promptSynthesis)} |`);return n.push("","Model/runtime/tokens are `unknown` when the active editor does not expose them yet. Keep unknown explicit; do not infer."),n.join(`
61
+ `)}i(Re,"formatPerformanceMd");function Te(e,t){if(t.length===0)return`AI work performance (${e}d): no work cycles recorded.`;let n=t.filter(r=>r.minutes!==null),s=n.reduce((r,o)=>r+(o.minutes??0),0);return`AI work performance (${e}d): ${t.length} cycle(s), ${n.length} with duration, ${s} known minute(s).`}i(Te,"formatPerformanceText");function Ee(e){let t=["# prjct performance","",`Window: ${e.period}`,""],n=Object.entries(e.commands).sort(([s],[r])=>s.localeCompare(r));if(n.length===0)return t.push("No command or hook latency samples recorded in this window."),t.join(`
62
+ `);t.push("| Command / hook | Samples | p50 | p95 | Avg | Min | Max |"),t.push("|---|---:|---:|---:|---:|---:|---:|");for(let[s,r]of n)t.push(`| ${b(s)} | ${r.count} | ${r.p50.toFixed(1)}ms | ${r.p95.toFixed(1)}ms | ${r.avg.toFixed(1)}ms | ${r.min.toFixed(1)}ms | ${r.max.toFixed(1)}ms |`);return t.push("","Hook samples are recorded after the host-visible response; telemetry never blocks the hook."),t.join(`
63
+ `)}i(Ee,"formatLatencyMd");function Me(e){let t=Object.entries(e.commands);return t.length===0?`prjct performance (${e.period}): no latency samples.`:t.sort(([n],[s])=>n.localeCompare(s)).map(([n,s])=>`${n}: p50 ${s.p50.toFixed(1)}ms \xB7 p95 ${s.p95.toFixed(1)}ms \xB7 n=${s.count}`).join(`
64
+ `)}i(Me,"formatLatencyText");function _e(e){let t=["## Net Savings vs. Baseline",""],n=e.knownTokenCycles>0?e.tokensTotal/e.knownTokenCycles:null,s=e.historicalRescue.declaredTokenMentions,r=s>0?e.historicalRescue.declaredTokensTotal/s:null;if(n===null||r===null||r===0)return t.push("- Insufficient data yet: need at least one token-measured cycle and one declared baseline mention.",""),t;let o=Math.round((r-n)/r*100),a=o>0?`${o}% fewer`:`${Math.abs(o)}% more`;return t.push("| Metric | Value |","|---|---:|"),t.push(`| Avg measured tokens/cycle | ${Math.round(n).toLocaleString()} |`),t.push(`| Avg declared baseline tokens | ${Math.round(r).toLocaleString()} |`),t.push(`| Net | **${a} tokens/cycle** |`),t.push(""),t}i(_e,"formatNetSavingsMd");function Le(e){let t=["# AI Work Cost","",`Window: last ${e.windowDays} day(s)`,""];if(t.push("## Subscription Burn","","| Metric | Value |","|---|---:|"),t.push(`| Work cycles | ${e.workCycles} |`),t.push(`| Token-measured cycles | ${e.knownTokenCycles} |`),t.push(`| Token coverage | ${e.tokenCoveragePercent}% |`),t.push(`| Input tokens | ${e.tokensIn.toLocaleString()} |`),t.push(`| Output tokens | ${e.tokensOut.toLocaleString()} |`),t.push(`| Total tokens | ${e.tokensTotal.toLocaleString()} |`),t.push(`| Agent sessions | ${e.measuredSessions} |`),t.push(""),e.byModel.length>0){t.push("## By Model","","| Model | Input | Output | Total |","|---|---:|---:|---:|");for(let n of e.byModel)t.push(`| ${n.model} | ${n.tokensIn.toLocaleString()} | ${n.tokensOut.toLocaleString()} | ${(n.tokensIn+n.tokensOut).toLocaleString()} |`);t.push("")}if(t.push(..._e(e)),t.push("## Historical Rescue","","| Signal | Value |","|---|---:|"),t.push(`| Inferred work cycles | ${e.historicalRescue.inferredWorkCycles} |`),t.push(`| Normalized task rows | ${e.historicalRescue.taskTableCycles} |`),t.push(`| Historical work-start events | ${e.historicalRescue.eventWorkStarts} |`),t.push(`| Historical shipped events | ${e.historicalRescue.eventShips} |`),t.push(`| Sync runs | ${e.historicalRescue.syncRuns} |`),t.push(`| Memory events | ${e.historicalRescue.memoryEvents} |`),t.push(`| Post-edit events | ${e.historicalRescue.postEditEvents} |`),t.push(`| Declared token mentions | ${e.historicalRescue.declaredTokenMentions} |`),t.push(`| Declared tokens total | ${e.historicalRescue.declaredTokensTotal.toLocaleString()} |`),t.push(""),t.push("## Context Efficiency","","| Signal | Value |","|---|---:|"),t.push(`| Context surfaced during work | ${e.surfacedContext} |`),t.push(`| Proven useful context used | ${e.usefulContext} |`),t.push(`| Context zone events | ${e.contextZoneEvents} |`),t.push(`| Compactions | ${e.compactions} |`),t.push(`| CLI command samples | ${e.commandSamples} |`),t.push(`| CLI command time | ${L(e.commandMs)} |`),t.push(`| Avg startup | ${e.avgStartupMs===null?"unknown":L(e.avgStartupMs)} |`),t.push("","## Most Expensive Work"),e.mostExpensive.length===0)t.push("- No token-measured work cycles yet.");else{t.push("","| Work cycle | Tokens | In | Out | Time | Outcome |"),t.push("|---|---:|---:|---:|---:|---|");for(let n of e.mostExpensive)t.push(`| ${b(n.description)} | ${n.tokensTotal.toLocaleString()} | ${n.tokensIn.toLocaleString()} | ${n.tokensOut.toLocaleString()} | ${n.minutes??"unknown"} | ${n.status} |`)}if(e.historicalRescue.topDeclaredTokenMentions.length>0){t.push("","## Declared Token Mentions"),t.push("","| Tokens | Source | When | Summary |"),t.push("|---:|---|---|---|");for(let n of e.historicalRescue.topDeclaredTokenMentions)t.push(`| ${n.tokens.toLocaleString()} | ${n.sourceType} | ${n.occurredAt} | ${b(n.summary)} |`)}if(t.push("","## No-Go Gaps"),e.gaps.length===0)t.push("- Cost attribution has enough local data to explain recent AI work.");else for(let n of e.gaps)t.push(`- ${n}`);return t.push("","Exact tokens stay exact only when the agent/runtime exposes them. Estimated usage must be labeled as estimated; missing usage must stay visible."),t.join(`
65
+ `)}i(Le,"formatCostMd");function xe(e){return[`AI work cost (${e.windowDays}d)`,`tokens: ${e.tokensTotal.toLocaleString()} total across ${e.knownTokenCycles}/${e.workCycles} measured cycle(s)`,`declared historical tokens: ${e.historicalRescue.declaredTokensTotal.toLocaleString()} across ${e.historicalRescue.declaredTokenMentions} mention(s)`,`context: ${e.surfacedContext} surfaced, ${e.usefulContext} proven useful`,...e.byModel.map(t=>` ${t.model}: ${(t.tokensIn+t.tokensOut).toLocaleString()} tokens`),e.gaps.length===0?"gaps: none":`gaps: ${e.gaps.length}`].join(`
66
+ `)}i(xe,"formatCostText");function Oe(e){let t=["# prjct Reliability","",`Window: last ${e.windowDays} day(s)`,""];if(t.push(`**Reliability score:** ${e.score}/100`,""),t.push("| Signal | Coverage |","|---|---:|"),t.push(`| Work-cycle normalization | ${e.workCycleCoveragePercent}% |`),t.push(`| Token attribution | ${e.tokenCoveragePercent}% |`),t.push(`| Agent session attribution | ${e.sessionCoveragePercent}% |`),t.push(`| Context reuse proof | ${e.contextReusePercent}% |`),t.push(`| Memory quality | ${e.memoryScore}/100 |`),t.push(`| Value score | ${e.valueScore}/100 |`),t.push(`| Command telemetry samples | ${e.commandTelemetry.samples} |`),t.push(`| Average startup | ${e.commandTelemetry.avgStartupMs===null?"unknown":L(e.commandTelemetry.avgStartupMs)} |`),t.push("","## Gaps"),e.gaps.length===0)t.push("- No reliability gaps detected in this window.");else for(let n of e.gaps)t.push(`- ${n}`);t.push("","## Next Actions");for(let n of e.nextActions)t.push(`- ${n}`);return t.push("","Reliability is a measurement-readiness score: it says whether value/cost/performance numbers are safe to use for decisions."),t.join(`
67
+ `)}i(Oe,"formatReliabilityMd");function Ne(e){return[`prjct reliability: ${e.score}/100`,`coverage: work ${e.workCycleCoveragePercent}%, tokens ${e.tokenCoveragePercent}%, sessions ${e.sessionCoveragePercent}%`,`memory: ${e.memoryScore}/100, value: ${e.valueScore}/100`,`next: ${e.nextActions[0]??"keep measuring"}`].join(`
68
+ `)}i(Ne,"formatReliabilityText");function L(e){return e<1e3?`${e}ms`:`${(e/1e3).toFixed(1)}s`}i(L,"formatMs");function b(e){return e.replace(/\|/g,"\\|").replace(/\n/g," ")}i(b,"escapeCell");function O(e,t){if(t.length===0){e.push("- None recorded yet.");return}for(let n of t)e.push(`- **[${n.type}] ${M(n)}** \u2014 ${E(n.content)} \`${n.id}\``)}i(O,"appendEntries");function q(e,t,n){if(e.push("",`### ${t}`),n.length===0){e.push("- None.");return}for(let s of n)e.push(`- **${s.type??"unknown"}** ${s.title??s.content.slice(0,80)} \`${s.id}\``)}i(q,"appendMemoryRows");function Ae(e){let n=(e.title||e.content).replace(/\s+/g," ").trim();return n.length<=60?n:`${n.slice(0,57)}...`}i(Ae,"summarizeMemory");export{G as ProductCommands};
@@ -0,0 +1,7 @@
1
+ import { createRequire as __createRequire } from 'module';
2
+ import { fileURLToPath as __fileURLToPath } from 'url';
3
+ import { dirname as __pathDirname } from 'path';
4
+ const require = __createRequire(import.meta.url);
5
+ const __filename = __fileURLToPath(import.meta.url);
6
+ const __dirname = __pathDirname(__filename);
7
+ import{a}from"./chunk-IFLBZKKK.mjs";import"./chunk-ZKJZDOPT.mjs";import"./chunk-YOGI4WE6.mjs";import"./chunk-3USVY66O.mjs";import"./chunk-OIE3AKKO.mjs";import"./chunk-JPMUJY42.mjs";import"./chunk-DMO3ZFUG.mjs";import"./chunk-NNOX3UU4.mjs";import"./chunk-HU5ERAAV.mjs";import"./chunk-6RT2P22O.mjs";import"./chunk-ZXTJLMVZ.mjs";import"./chunk-VWFVSNQT.mjs";import"./chunk-U24YKPYX.mjs";import"./chunk-D62TAZG6.mjs";import"./chunk-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{a as writeProjectAgentSurfaces};
@@ -0,0 +1,17 @@
1
+ import { createRequire as __createRequire } from 'module';
2
+ import { fileURLToPath as __fileURLToPath } from 'url';
3
+ import { dirname as __pathDirname } from 'path';
4
+ const require = __createRequire(import.meta.url);
5
+ const __filename = __fileURLToPath(import.meta.url);
6
+ const __dirname = __pathDirname(__filename);
7
+ import{a}from"./chunk-3TRXQAU4.mjs";function l(e){let t=e.patterns??[],r=e.antiPatterns??[],n=e.neighborHint?.trim()||null;return r.length>0&&t.length===0?{stance:"upgrade",line:`Align: project has anti-patterns (${o(r[0])}) \u2014 propose upgrade, do not copy the shit.`,md:["## Project alignment \u2014 UPGRADE","","Anti-patterns present without a compensating house pattern. Do **not** spread more of the same.","Propose a better approach with why; get consent before rewriting style across the tree.",r.slice(0,3).map(i=>`- anti: ${o(i)}`).join(`
8
+ `),n?`
9
+ Neighbor to read first: \`${n}\``:"",""].join(`
10
+ `)}:t.length>0?{stance:"match",line:`Align: match house patterns (${o(t[0])})${n?` \xB7 open \`${n}\``:""} \u2014 no foreign style.`,md:["## Project alignment \u2014 MATCH","","House patterns exist and apply. **Match them.** Do not inject generic model defaults.",t.slice(0,4).map(i=>`- pattern: ${o(i)}`).join(`
11
+ `),r.length?`
12
+ Avoid:
13
+ ${r.slice(0,3).map(i=>`- ${o(i)}`).join(`
14
+ `)}`:"",n?`
15
+ Neighbor: \`${n}\``:"",""].join(`
16
+ `)}:{stance:"unknown",line:n?`Align: no stored patterns \u2014 open neighbor \`${n}\` and match local idiom before writing.`:"Align: no stored patterns \u2014 open a neighbor file in scope and match local idiom before writing.",md:["## Project alignment \u2014 READ NEIGHBOR","","No durable patterns in memory. **Do not invent style.** Open a nearby file in the work scope and mirror its layering/naming/errors.",n?`Start with: \`${n}\``:"Use Work scope / BM25 seeds from `prjct work`.",""].join(`
17
+ `)}}a(l,"buildAlignmentBrief");function o(e){let t=(e.title||e.content||"").replace(/\s+/g," ").trim();return t.length>90?`${t.slice(0,89)}\u2026`:t||"(untitled)"}a(o,"summarize");export{l as buildAlignmentBrief};
@@ -0,0 +1,7 @@
1
+ import { createRequire as __createRequire } from 'module';
2
+ import { fileURLToPath as __fileURLToPath } from 'url';
3
+ import { dirname as __pathDirname } from 'path';
4
+ const require = __createRequire(import.meta.url);
5
+ const __filename = __fileURLToPath(import.meta.url);
6
+ const __dirname = __pathDirname(__filename);
7
+ import{a,b,c,d,e,f,g,h,i,j}from"./chunk-V7R3L54M.mjs";import"./chunk-DMO3ZFUG.mjs";import"./chunk-NNOX3UU4.mjs";import"./chunk-HU5ERAAV.mjs";import"./chunk-6RT2P22O.mjs";import"./chunk-ZXTJLMVZ.mjs";import"./chunk-VWFVSNQT.mjs";import"./chunk-U24YKPYX.mjs";import"./chunk-D62TAZG6.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import"./chunk-225DWS4D.mjs";import"./chunk-3TRXQAU4.mjs";export{a as FILE_INVENTORY_DOC_KEY,b as buildFileInventory,j as formatInventorySummary,g as inventoryExtensions,i as inventoryPathWeight,c as languagesFromExtensions,e as loadFileInventory,h as pathMatchesInventory,f as refreshFileInventory,d as saveFileInventory};
@@ -0,0 +1,7 @@
1
+ import { createRequire as __createRequire } from 'module';
2
+ import { fileURLToPath as __fileURLToPath } from 'url';
3
+ import { dirname as __pathDirname } from 'path';
4
+ const require = __createRequire(import.meta.url);
5
+ const __filename = __fileURLToPath(import.meta.url);
6
+ const __dirname = __pathDirname(__filename);
7
+ import{a,b}from"./chunk-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{a as memoryVaultStamp,b as projectMemory};
@@ -0,0 +1,7 @@
1
+ import { createRequire as __createRequire } from 'module';
2
+ import { fileURLToPath as __fileURLToPath } from 'url';
3
+ import { dirname as __pathDirname } from 'path';
4
+ const require = __createRequire(import.meta.url);
5
+ const __filename = __fileURLToPath(import.meta.url);
6
+ const __dirname = __pathDirname(__filename);
7
+ import{a,b,c,d,e,f,g}from"./chunk-6P4GMVUZ.mjs";import"./chunk-UHXV7MDW.mjs";import"./chunk-TILUQF6L.mjs";import"./chunk-Y5SEUYET.mjs";import"./chunk-MG3YN3AI.mjs";import"./chunk-YEALP3WX.mjs";import"./chunk-QZ7T2EYR.mjs";import"./chunk-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{f as bridgeStyleToMemory,g as formatProjectStyleForSync,a as getActiveProjectStyle,b as getProjectEvolution,d as persistProjectStyleSnapshot,e as recomputeProjectStyle,c as renderProjectEvolution};
@@ -0,0 +1,23 @@
1
+ import { createRequire as __createRequire } from 'module';
2
+ import { fileURLToPath as __fileURLToPath } from 'url';
3
+ import { dirname as __pathDirname } from 'path';
4
+ const require = __createRequire(import.meta.url);
5
+ const __filename = __fileURLToPath(import.meta.url);
6
+ const __dirname = __pathDirname(__filename);
7
+ import{a as C,b as Z}from"./chunk-C35JQUWD.mjs";import{b as Q}from"./chunk-2JJM3YMW.mjs";import{a as W}from"./chunk-VRFYDYQY.mjs";import{a as X,d as Y}from"./chunk-2ZPM4Z6W.mjs";import"./chunk-BSR3XUBD.mjs";import{a as J}from"./chunk-MCY7OXED.mjs";import{h as x,i as T}from"./chunk-YQ6HM3YO.mjs";import"./chunk-ZK7BMUMR.mjs";import"./chunk-5UUITMRX.mjs";import"./chunk-K25HGTC3.mjs";import"./chunk-45LKWJ5D.mjs";import{a as O}from"./chunk-VCSESVZ4.mjs";import{a as V}from"./chunk-GTG67Z45.mjs";import{a as K}from"./chunk-AS3LWTQ4.mjs";import{a as z}from"./chunk-XU3BQPBU.mjs";import{c as F}from"./chunk-VDXTMAMO.mjs";import"./chunk-H2KNJUPN.mjs";import{b as q}from"./chunk-Q3LUL6LL.mjs";import{a as U,g as B}from"./chunk-C7YBUD4K.mjs";import"./chunk-IOFCSTGM.mjs";import"./chunk-S6FBPXQL.mjs";import"./chunk-NOHSLOLL.mjs";import"./chunk-RCIWCKL7.mjs";import"./chunk-56FW4P6U.mjs";import"./chunk-BQKDJ3U6.mjs";import"./chunk-6OYLZ4NM.mjs";import"./chunk-SO3ZPNWT.mjs";import"./chunk-V7R3L54M.mjs";import"./chunk-6P4GMVUZ.mjs";import"./chunk-UHXV7MDW.mjs";import"./chunk-TILUQF6L.mjs";import"./chunk-Y5SEUYET.mjs";import"./chunk-MG3YN3AI.mjs";import"./chunk-YEALP3WX.mjs";import"./chunk-QZ7T2EYR.mjs";import"./chunk-YOGI4WE6.mjs";import"./chunk-AJXELVNH.mjs";import"./chunk-CWLGRKA7.mjs";import"./chunk-5YLI5V3Q.mjs";import"./chunk-F2FKQUYE.mjs";import{f as b}from"./chunk-6AFXUX2M.mjs";import"./chunk-WSVMQYYU.mjs";import{b as v}from"./chunk-LZC6NGB6.mjs";import"./chunk-XLFEWZRA.mjs";import"./chunk-XPRLQIVQ.mjs";import"./chunk-EZRNQXCC.mjs";import{a as L}from"./chunk-KUQLXY2P.mjs";import"./chunk-HCPQZRR3.mjs";import{b as j}from"./chunk-EHVU2SMR.mjs";import"./chunk-HPCSSJXH.mjs";import"./chunk-E5QQDYBR.mjs";import"./chunk-B7AQHL7B.mjs";import"./chunk-L4TUXFCL.mjs";import"./chunk-DIEPWXJJ.mjs";import"./chunk-UNNY2IWZ.mjs";import{b as S}from"./chunk-3USVY66O.mjs";import"./chunk-OIE3AKKO.mjs";import"./chunk-Q6C27OL7.mjs";import"./chunk-NXUIMC22.mjs";import{d as w}from"./chunk-WTDUJB4I.mjs";import{f as H,i as lt}from"./chunk-DMO3ZFUG.mjs";import"./chunk-NNOX3UU4.mjs";import"./chunk-INJ5WT2D.mjs";import"./chunk-HU5ERAAV.mjs";import"./chunk-6RT2P22O.mjs";import"./chunk-ZXTJLMVZ.mjs";import"./chunk-TIBYHZFA.mjs";import"./chunk-VWFVSNQT.mjs";import"./chunk-U24YKPYX.mjs";import{b as M,p as at}from"./chunk-D62TAZG6.mjs";import"./chunk-KPR5TWSN.mjs";import"./chunk-623SNKDH.mjs";import"./chunk-TTN2CFZC.mjs";import"./chunk-DOJPSIMG.mjs";import{l as N,p as ut}from"./chunk-HYIT7MF5.mjs";import"./chunk-225DWS4D.mjs";import{a as u}from"./chunk-3TRXQAU4.mjs";import{createHash as A}from"node:crypto";import y from"node:fs/promises";import f from"node:path";var dt=15;function tt(e){let r=[],i=[];e.loop?.stopped&&e.loop.message&&(r.push("loop-hard-stop"),i.push(e.loop.message)),e.pressure?.level==="critical"&&e.pressure.cue?(r.push("context-pressure-critical"),i.push(e.pressure.cue)):e.pressure?.level==="warn"&&e.pressure.cue&&(r.push("context-pressure-warn"),i.push(e.pressure.cue)),e.qualityInject?.trim()&&(r.push("quality-ledger"),i.push(e.qualityInject.trim()));let t=e.turns??0,n=e.stuckThreshold??dt;if(!e.loop?.stopped&&t>=n&&(r.push("stuck-cycle"),i.push(`\u26A0 ${t} turns on this cycle and it is still open. If you are not nearly done, STOP looping: split it, ship the slice that works, or check in with the user \u2014 then \`prjct status done\`. A re-plan beats another grinding turn.`)),i.length===0)return{level:"ok",markdown:null,cues:[]};let s=r.some(g=>["loop-hard-stop","context-pressure-critical","context-pressure-warn"].includes(g)),a=r.some(g=>["quality-ledger","stuck-cycle"].includes(g)),c=s?"hard":a?"warn":"ok",m=c==="hard"?"# prjct: alignment (MUST \u2014 hard gate)":"# prjct: alignment (mid-cycle)",d=i.join(`
8
+
9
+ `),o=r.includes("quality-ledger")&&!d.includes("prjct ship")?`
10
+
11
+ _${U}_`:"";return{level:c,cues:r,markdown:`${m}
12
+
13
+ ${d}${o}`}}u(tt,"buildAlignmentCard");lt();at();ut();var P=1500,pt=P+2100,et=15,mt=10,R=8,nt=420,gt=2,ft=15e3;var ht=new Set(["address","apply","check","continue","create","current","description","feedback","handle","merge","monitor","please","review","should","title","watch","write"]),E=new WeakMap,$=new Map;async function rt(e,r,i={}){let t=r!==void 0?r:await S.readConfig(e);if(!t?.projectId)return null;let n=yt(t,e,i),s=["# prjct: project state"];try{let c=await V(t.projectId,e);if(c.current){let d=st(c.current.startedAt);s.push(`- Active work cycle: "${c.current.description}" (${d}) [${c.current.label}]`);let{turns:o,loopVerdict:g,currentTask:l}=(()=>{try{let p=c.mainTaskRaw;return{turns:p?.turnCount??0,currentTask:p,loopVerdict:W(t,p)}}catch{return{turns:0,currentTask:null,loopVerdict:null}}})();!g?.stopped&&o>0&&o%mt===0&&o<et&&s.push(` \u21B3 Turn ${o} on this cycle \u2014 still advancing the goal? If stuck, re-plan or split; do not loop.`);try{let p=t.maxTokensPerCycle??0;if(p>0&&l){let h=(l.tokensIn??0)+(l.tokensOut??0);h>=p?s.push(` \u26A0 Token budget: ${h.toLocaleString()} of ${p.toLocaleString()} spent on this cycle. STOP growing it \u2014 ship the working slice, split the remainder into a new cycle, or check in with the user.`):h>=p*.8&&s.push(` \u21B3 Token budget: ${h.toLocaleString()} of ${p.toLocaleString()} (${Math.round(h/p*100)}%). Plan the close: prefer finishing over expanding scope.`)}}catch{}try{let p=c.current.startedAt;if(p){let h=H.get(t.projectId,`SELECT COUNT(DISTINCT json_extract(data, '$.file')) AS c
14
+ FROM events WHERE type = 'memory.post_edit' AND timestamp >= ?`,p)?.c??0,I=q(h);I&&s.push(` ${I}`)}}catch{}try{let p=K(t,l),h=B(t.projectId),I=tt({loop:g,pressure:p,qualityInject:h,turns:o,stuckThreshold:et});I.markdown&&(s.push(""),s.push(I.markdown))}catch{}l?.ownerAgent&&s.push(`- Owner: ${l.ownerAgent}${l.ownerIdentity?`/${l.ownerIdentity}`:""}${l.yieldStatus==="yielded"?" (yielded \u2014 awaiting accept)":""}`)}let m=c.all.filter(d=>!d.isCurrent);m.length>0&&s.push(`- ${m.length} task(s) active in other workspace(s)`),!c.current&&m.length>0&&s.push("- This workspace idle but siblings busy \u2014 `prjct work` auto-isolates to a worktree when needed")}catch{}let a=await n;for(let c of a)c&&s.push(c);return s.length===1?null:s.join(`
15
+ `)}u(rt,"buildProjectState");function yt(e,r,i={}){return Promise.all([i.skipHandoff?Promise.resolve(null):(async()=>{try{let{formatPendingHandoffCue:t}=await import("./agent-switch-AVSX6SLY.mjs"),n=t(e.projectId);return n?`- ${n.replace(/\n/g,`
16
+ - `)}`:null}catch{return null}})(),(async()=>{try{let t=await L.getActiveTasks(e.projectId);return t.length>0?`- Pending: ${t.length} \xB7 Next: "${t[0].description}"`:null}catch{return null}})(),(async()=>{try{if(!await N(f.join(r,".git")))return null;let t=await vt(r);if(!t.branch)return null;let n=[];t.modified>0&&n.push(`${t.modified} modified`),t.staged>0&&n.push(`${t.staged} staged`),t.untracked>0&&n.push(`${t.untracked} untracked`);let s=n.length>0?` \u2014 working tree ${n.join(", ")}`:"",a=t.ahead>0?`${s?",":" \u2014"} ${t.ahead} unpushed`:"";return`- Branch: ${t.branch}${s}${a}`}catch{return null}})(),(async()=>{try{let t=await O.getRecent(e.projectId,1);if(t.length===0)return null;let n=t[0],s=st(n.shippedAt??"");return`- Last ship: ${n.version?`v${n.version}`:n.name} (${s})`}catch{return null}})(),(async()=>{try{let t=v.countByType(e.projectId,"inbox");return t>0?`- Inbox: ${t} items pending`:null}catch{return null}})()])}u(yt,"collectSecondarySignals");function It(e){return e.type==="voice"||e.type==="glossary"?!0:e.type==="example"&&!!e.tags.domain&&(e.tags.polarity==="good"||e.tags.polarity==="bad")}u(It,"isValidGuidanceEntry");function kt(e,r){try{let i=C(r),t=x(r).filter(o=>o.length>=5&&!ht.has(o)),n=t.length>0?v.searchFts(e,t,R*2):[],s=i?v.recall(e,{types:["voice","glossary","example"],limit:R*2}).filter(o=>o.tags.domain==="delivery"||o.tags.domain===i):[],a=new Map([...n,...s].map(o=>[o.id,o])),c=new Map([["voice",0],["glossary",1],["example",2]]),m=[...a.values()].filter(It).sort((o,g)=>(c.get(o.type)??3)-(c.get(g.type)??3)).slice(0,gt);if(m.length===0)return null;let d=["# prjct: selective guidance"];for(let o of m){let g=o.type==="example"?` ${o.tags.polarity}/${o.tags.domain}`:o.tags.domain?` ${o.tags.domain}`:"",l=nt-d.join(`
17
+ `).length-g.length-8;if(l<24)break;let p=T(o.content.replace(/\s+/g," ").trim(),Math.min(150,l));d.push(`- ${o.type}${g}: ${p}`)}return d.length===1?null:{text:T(d.join(`
18
+ `),nt),memoryIds:m.slice(0,d.length-1).map(o=>o.id)}}catch{return null}}u(kt,"buildSelectiveGuidance");function wt(e,r,i=P){if(!r)return e;let t=e?`${e}
19
+
20
+ ${r}`:r;return t.length<=i?t:null}u(wt,"appendPromptSection");function it(e,r){try{let i=x(r);if(i.length===0)return null;let t=v.searchFts(e,i,R),n=t.find(s=>s.type==="decision"||s.type==="gotcha"||s.type==="fact")??t.find(s=>s.type==="anti-pattern"||s.type==="pattern")??t.find(s=>s.type==="gotcha"||s.type==="anti-pattern");return n?n.type==="decision"||n.type==="gotcha"||n.type==="fact"?{cue:`> Tip\u2192user (SoT): ${b(n)} \`${n.id}\` \u2014 say it briefly in chat; binding \u2014 do not contradict without superseding`,memoryId:n.id}:n.type==="anti-pattern"||n.type==="pattern"?{cue:`> Tip\u2192user (suggest): ${b(n)} \`${n.id}\` \u2014 propose the live change in chat, then apply when editing`,memoryId:n.id}:{cue:`> Tip\u2192user: ${b(n)} \`${n.id}\``,memoryId:n.id}:null}catch{return null}}u(it,"buildTopicalCueResult");function ie(e,r,i){return it(e,r)?.cue??null}u(ie,"buildTopicalCue");var k=new Map,D={skipDiskSnapshotOnce:!1};function se(){k.clear(),D.skipDiskSnapshotOnce=!0}u(se,"_resetGitSnapshotCacheForTests");async function vt(e){let r=await y.stat(f.join(e,".git","index")).then(a=>a.mtimeMs).catch(()=>0),i=k.get(e);if(i&&i.expiresAt>Date.now()&&i.indexMtimeMs===r)return i.snapshot;let t=St(e);if(!i&&!D.skipDiskSnapshotOnce){let a=await y.readFile(t,"utf-8").then(c=>JSON.parse(c)).catch(()=>null);if(a&&a.expiresAt>Date.now()&&a.indexMtimeMs===r)return k.set(e,a),a.snapshot}D.skipDiskSnapshotOnce=!1;let n=await Pt(e);k.size>32&&k.clear();let s={snapshot:n,expiresAt:Date.now()+ft,indexMtimeMs:r};return k.set(e,s),y.mkdir(f.dirname(t),{recursive:!0}).then(()=>y.writeFile(t,JSON.stringify(s))).catch(()=>{}),n}u(vt,"captureGit");function St(e){let r=A("sha1").update(f.resolve(e)).digest("hex").slice(0,16);return f.join(w.runDir(),`prompt-git-${r}.json`)}u(St,"gitSnapshotPath");function _(e,r){let i=A("sha1").update(f.resolve(r)).digest("hex").slice(0,12);return`${e.replace(/[^a-zA-Z0-9._-]/g,"_")}-${i}`}u(_,"promptHashKey");async function bt(e,r,i){let t=_(e,r),n=A("sha256").update(i).digest("hex");if($.get(t)===n)return null;$.size>64&&$.clear(),$.set(t,n);let s=f.join(w.runDir(),`prompt-state-${t}.hash`);return(await y.readFile(s,"utf-8").catch(()=>"")).trim()===n?null:(await y.mkdir(f.dirname(s),{recursive:!0}).then(()=>y.writeFile(s,n)).catch(()=>{}),i)}u(bt,"dedupePromptPayload");function Tt(e,r){return f.join(w.runDir(),`prompt-afteremit-${_(e,r)}.json`)}u(Tt,"promptAfterEmitStampPath");async function $t(e,r,i,t){let n=Tt(e,r),s=A("sha256").update(i).digest("hex");await y.mkdir(f.dirname(n),{recursive:!0}).then(()=>y.writeFile(n,JSON.stringify({hash:s,record:t}))).catch(()=>{})}u($t,"persistPromptAfterEmit");async function At(e,r){try{let i=_(e,r),t=w.runDir(),[n,s]=await Promise.all([y.readFile(f.join(t,`prompt-afteremit-${i}.json`),"utf-8"),y.readFile(f.join(t,`prompt-state-${i}.hash`),"utf-8")]),a=JSON.parse(n),c=a.record;return!c||a.hash!==s.trim()||c.projectId!==e||!Array.isArray(c.surfacedIds)?null:c}catch{return null}}u(At,"readPersistedPromptAfterEmit");async function Pt(e){let r={branch:"",modified:0,staged:0,untracked:0,ahead:0},i=u(async o=>{try{return(await M("git",o,{cwd:e,timeout:2e3})).stdout.trim()}catch{return""}},"safe"),[t,n,s]=await Promise.all([i(["branch","--show-current"]),i(["status","--porcelain"]),i(["rev-list","--count","@{u}..HEAD"])]);if(!t)return r;let{modified:a,staged:c,untracked:m}=n.split(`
21
+ `).filter(Boolean).reduce((o,g)=>{let l=g.slice(0,2);return l.startsWith("??")?o.untracked++:(l[0]!==" "&&l[0]!=="?"&&o.staged++,l[1]!==" "&&o.modified++),o},{modified:0,staged:0,untracked:0}),d=Number.parseInt(s,10)||0;return{branch:t,modified:a,staged:c,untracked:m,ahead:d}}u(Pt,"captureGitUncached");function st(e){if(!e)return"unknown";let r=Date.parse(e);if(Number.isNaN(r))return"unknown";let i=Math.max(0,Math.floor((Date.now()-r)/864e5));return i<1?"today":i<2?"yesterday":i<30?`${i}d ago`:`${Math.floor(i/30)}mo ago`}u(st,"formatRelative");function ot(e,r,i,t=P){let n=it(e,r),s=F(e,r),a=Z(r),c=kt(e,r),m=[n?.cue,a,c?.text,s].filter(l=>!!l).reduce((l,p)=>wt(l,p,t)??l,T(i,t)),d=!!(c?.text&&m.includes(c.text)),g=!!(a&&m.includes(a))?`delivery:${C(r)??"unknown"}`:d?c?.memoryIds[0]??null:null;return{prioritized:m,cueResult:n,guidance:c,guidanceIncluded:d,guidanceRuleId:g}}u(ot,"computePromptGuidance");function oe(e=process.cwd(),r){return J({event:"UserPromptSubmit",projectPath:e,build:u(async(i,t,n)=>{let s=(i.prompt??"").trim();if(!s)return null;let a=await S.readConfig(t);if(!a?.projectId)return null;let c=n==="kimi"?await Y(a.projectId,i.session_id,n).catch(()=>null):null,m=await rt(t,a,{skipHandoff:!!c}),d=c?await X(t,a,{digest:c==="digest"}).catch(()=>null):null;if(!m&&!d)return null;let o=[d,m].filter(Boolean).join(`
22
+
23
+ `),g=d?pt:P,{prioritized:l,cueResult:p,guidance:h,guidanceIncluded:I,guidanceRuleId:ct}=ot(a.projectId,s,o,g),G={projectId:a.projectId,projectPath:t,bumpTurn:!!m?.includes("Active work cycle:"),surfacedIds:[...p?[p.memoryId]:[],...I?h?.memoryIds??[]:[]],guidanceRuleId:ct};return E.set(i,G),await $t(a.projectId,t,l,G),bt(a.projectId,t,l)},"build"),afterEmit:u(async(i,t)=>{let n=E.get(i)??await jt(i,t);E.delete(i),n&&await Promise.all([n.bumpTurn?j.bumpTurnCount(n.projectId).then(()=>{}):Promise.resolve(),n.surfacedIds.length>0?z(n.projectId,n.projectPath,n.surfacedIds):Promise.resolve(),n.guidanceRuleId?Promise.resolve(Q.recordGuidanceActivation(n.projectId,{ruleId:n.guidanceRuleId})).then(()=>{}):Promise.resolve()])},"afterEmit")},r)}u(oe,"runPromptHook");async function jt(e,r){let i=(e.prompt??"").trim();if(!i)return null;let t=await S.readConfig(r).catch(()=>null);if(!t?.projectId)return null;let n=await At(t.projectId,r);if(n)return n;let[s,a]=await Promise.all([j.getCurrentTask(t.projectId).catch(()=>null),rt(r,t)]),{cueResult:c,guidance:m,guidanceIncluded:d,guidanceRuleId:o}=ot(t.projectId,i,a??"");return{projectId:t.projectId,projectPath:r,bumpTurn:!!s,surfacedIds:[...c?[c.memoryId]:[],...d?m?.memoryIds??[]:[]],guidanceRuleId:o}}u(jt,"rebuildPromptAfterEmit");export{se as _resetGitSnapshotCacheForTests,Z as buildDeliveryGuidance,rt as buildProjectState,kt as buildSelectiveGuidance,ie as buildTopicalCue,C as classifyDeliveryIntent,oe as runPromptHook};
@@ -0,0 +1,7 @@
1
+ import { createRequire as __createRequire } from 'module';
2
+ import { fileURLToPath as __fileURLToPath } from 'url';
3
+ import { dirname as __pathDirname } from 'path';
4
+ const require = __createRequire(import.meta.url);
5
+ const __filename = __fileURLToPath(import.meta.url);
6
+ const __dirname = __pathDirname(__filename);
7
+ import{a,b,c,d,e,f,g,h,i,j,k,l,m}from"./chunk-WTDUJB4I.mjs";import"./chunk-U24YKPYX.mjs";import"./chunk-3TRXQAU4.mjs";export{g as COMMAND_REQUEST_TIMEOUT_MS,d as DAEMON_PATHS,j as HOOK_REQUEST_TIMEOUT_MS,e as IDLE_TIMEOUT_MS,h as LONG_COMMAND_TIMEOUT_MS,i as LONG_RUNNING_COMMANDS,f as MAX_BUFFER_SIZE,l as SHUTDOWN_DRAIN_MS,k as commandRequestTimeoutMs,m as encodeMessage,a as getDaemonRunDir,b as getDaemonSocketPath,c as isDaemonNamedPipe};
@@ -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{m as a,n as b,o as c,p as d}from"./chunk-HU5ERAAV.mjs";import"./chunk-6RT2P22O.mjs";import"./chunk-ZXTJLMVZ.mjs";import"./chunk-VWFVSNQT.mjs";import"./chunk-U24YKPYX.mjs";import"./chunk-D62TAZG6.mjs";import"./chunk-DOJPSIMG.mjs";import"./chunk-HYIT7MF5.mjs";import"./chunk-225DWS4D.mjs";import"./chunk-3TRXQAU4.mjs";d();export{c as invalidateProviderCache,a as readProviderCache,b as writeProviderCache};
@@ -0,0 +1,7 @@
1
+ import { createRequire as __createRequire } from 'module';
2
+ import { fileURLToPath as __fileURLToPath } from 'url';
3
+ import { dirname as __pathDirname } from 'path';
4
+ const require = __createRequire(import.meta.url);
5
+ const __filename = __fileURLToPath(import.meta.url);
6
+ const __dirname = __pathDirname(__filename);
7
+ import{a,b}from"./chunk-GSNQKBHZ.mjs";import"./chunk-3TRXQAU4.mjs";export{b as providerStatusHeader,a as providerStatusLine};