prjct-cli 3.93.0 → 3.94.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 (254) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/dist/bin/hook-chunks/{agent-switch-A6AYZRJ5.mjs → agent-switch-2U2LOBGR.mjs} +1 -1
  3. package/dist/bin/hook-chunks/{analysis-WPRPBYHY.mjs → analysis-N4NYGIG3.mjs} +3 -3
  4. package/dist/bin/hook-chunks/{auth-config-WNUARXTJ.mjs → auth-config-SP4PBALR.mjs} +1 -1
  5. package/dist/bin/hook-chunks/auto-flush-BN6L6QHO.mjs +8 -0
  6. package/dist/bin/hook-chunks/{auto-updater-EHRRMCYY.mjs → auto-updater-4TIXYSEX.mjs} +1 -1
  7. package/dist/bin/hook-chunks/capture-gate-FRF2G3IG.mjs +8 -0
  8. package/dist/bin/hook-chunks/{chunk-3WY2AYPE.mjs → chunk-27XFSCOE.mjs} +4 -4
  9. package/dist/bin/hook-chunks/chunk-2HB2JHQE.mjs +69 -0
  10. package/dist/bin/hook-chunks/{chunk-LFY5O66D.mjs → chunk-3VWBNLBC.mjs} +1 -1
  11. package/dist/bin/hook-chunks/{chunk-V37VTXDW.mjs → chunk-4KVPAHFV.mjs} +1 -1
  12. package/dist/bin/hook-chunks/{chunk-PWMMLXZS.mjs → chunk-4O4D6DV7.mjs} +2 -2
  13. package/dist/bin/hook-chunks/chunk-4SKJWNKE.mjs +11 -0
  14. package/dist/bin/hook-chunks/{chunk-3LG3ACQV.mjs → chunk-5EQLQ7GF.mjs} +1 -1
  15. package/dist/bin/hook-chunks/{chunk-HZIORCPO.mjs → chunk-66GE3IHX.mjs} +1 -1
  16. package/dist/bin/hook-chunks/{chunk-MEQS4VPO.mjs → chunk-6RLCUGGG.mjs} +1 -1
  17. package/dist/bin/hook-chunks/{chunk-BISPGBNN.mjs → chunk-6UH244CC.mjs} +1 -1
  18. package/dist/bin/hook-chunks/chunk-7GNWHWOO.mjs +26 -0
  19. package/dist/bin/hook-chunks/chunk-7JEKBJAP.mjs +9 -0
  20. package/dist/bin/hook-chunks/{chunk-LLQUB6YR.mjs → chunk-7O6OMD4X.mjs} +2 -2
  21. package/dist/bin/hook-chunks/chunk-7YT2FGO7.mjs +8 -0
  22. package/dist/bin/hook-chunks/{chunk-6WXGOGAN.mjs → chunk-AVRNHROK.mjs} +1 -1
  23. package/dist/bin/hook-chunks/chunk-AZHE4VOM.mjs +8 -0
  24. package/dist/bin/hook-chunks/{chunk-7OZDWT6C.mjs → chunk-AZYQFRPJ.mjs} +1 -1
  25. package/dist/bin/hook-chunks/chunk-BCAHWZH7.mjs +8 -0
  26. package/dist/bin/hook-chunks/{chunk-Q5I2UPD6.mjs → chunk-C3W2HLJT.mjs} +1 -1
  27. package/dist/bin/hook-chunks/{chunk-ZX2KFQV5.mjs → chunk-D6IONKRA.mjs} +1 -1
  28. package/dist/bin/hook-chunks/chunk-DRGI5UHQ.mjs +10 -0
  29. package/dist/bin/hook-chunks/{chunk-7SI6X3Z7.mjs → chunk-EHEQOF6Z.mjs} +1 -1
  30. package/dist/bin/hook-chunks/{chunk-P5ZYAXSE.mjs → chunk-EMTCZG5I.mjs} +1 -1
  31. package/dist/bin/hook-chunks/{chunk-7AN7VQHN.mjs → chunk-EQ5KNMLG.mjs} +1 -1
  32. package/dist/bin/hook-chunks/{chunk-742LOGHA.mjs → chunk-F4T7IAA7.mjs} +1 -1
  33. package/dist/bin/hook-chunks/{chunk-ODWWIFSN.mjs → chunk-FEFP6JOL.mjs} +1 -1
  34. package/dist/bin/hook-chunks/{chunk-2OU2MKNS.mjs → chunk-FX6VHIKB.mjs} +1 -1
  35. package/dist/bin/hook-chunks/{chunk-P4J6TY2L.mjs → chunk-GFY4GY3Z.mjs} +1 -1
  36. package/dist/bin/hook-chunks/{chunk-PSSR7LSW.mjs → chunk-H4CA3XZ6.mjs} +1 -1
  37. package/dist/bin/hook-chunks/chunk-HHIGNKDO.mjs +8 -0
  38. package/dist/bin/hook-chunks/chunk-HNEKXKOI.mjs +16 -0
  39. package/dist/bin/hook-chunks/{chunk-45I2C2UB.mjs → chunk-HRWXMF7P.mjs} +1 -1
  40. package/dist/bin/hook-chunks/{chunk-TSCXXNUF.mjs → chunk-IHECXD2M.mjs} +1 -1
  41. package/dist/bin/hook-chunks/chunk-IKIB42F7.mjs +31 -0
  42. package/dist/bin/hook-chunks/chunk-INXNK57E.mjs +8 -0
  43. package/dist/bin/hook-chunks/{chunk-WDGDFXSB.mjs → chunk-J6TAD3OZ.mjs} +1 -1
  44. package/dist/bin/hook-chunks/chunk-JAMSIKDE.mjs +9 -0
  45. package/dist/bin/hook-chunks/{chunk-CREPUNOS.mjs → chunk-JCYXFHQZ.mjs} +1 -1
  46. package/dist/bin/hook-chunks/chunk-JMCMTX6U.mjs +8 -0
  47. package/dist/bin/hook-chunks/{chunk-D7TRY3CO.mjs → chunk-JPSJWCFD.mjs} +1 -1
  48. package/dist/bin/hook-chunks/{chunk-QDQ7DTDV.mjs → chunk-JR542RI2.mjs} +1 -1
  49. package/dist/bin/hook-chunks/chunk-JUZ5LNDI.mjs +14 -0
  50. package/dist/bin/hook-chunks/{chunk-HDHVBB6Q.mjs → chunk-KG7Z6OMK.mjs} +1 -1
  51. package/dist/bin/hook-chunks/{chunk-OGOCHZ3S.mjs → chunk-KOCROTRM.mjs} +1 -1
  52. package/dist/bin/hook-chunks/{chunk-75UJIVMO.mjs → chunk-KOGZCFBC.mjs} +1 -1
  53. package/dist/bin/hook-chunks/{chunk-ZTZTVBAZ.mjs → chunk-LNB2GLYI.mjs} +1 -1
  54. package/dist/bin/hook-chunks/chunk-M5E2YOZ4.mjs +8 -0
  55. package/dist/bin/hook-chunks/{chunk-HT3ZCLLJ.mjs → chunk-MHQTGU45.mjs} +1 -1
  56. package/dist/bin/hook-chunks/{chunk-KXWBIQGJ.mjs → chunk-MI3JEFON.mjs} +2 -2
  57. package/dist/bin/hook-chunks/chunk-NBKEOLDH.mjs +18 -0
  58. package/dist/bin/hook-chunks/{chunk-EM6ZDJAK.mjs → chunk-NCOOKPXX.mjs} +1 -1
  59. package/dist/bin/hook-chunks/chunk-NHIWYDQD.mjs +8 -0
  60. package/dist/bin/hook-chunks/chunk-NUJASVHN.mjs +18 -0
  61. package/dist/bin/hook-chunks/chunk-NWIQNII6.mjs +11 -0
  62. package/dist/bin/hook-chunks/{chunk-UK7D7EFV.mjs → chunk-NWZEBCTC.mjs} +2 -2
  63. package/dist/bin/hook-chunks/{chunk-6EWGHM32.mjs → chunk-OENWCYLF.mjs} +1 -1
  64. package/dist/bin/hook-chunks/{chunk-3JUE6MNF.mjs → chunk-OIU4Y5WL.mjs} +1 -1
  65. package/dist/bin/hook-chunks/chunk-OUAS3LZ3.mjs +8 -0
  66. package/dist/bin/hook-chunks/{chunk-X5RDLFPM.mjs → chunk-OWOPA2O7.mjs} +1 -1
  67. package/dist/bin/hook-chunks/{chunk-NLG2EW6M.mjs → chunk-OZJ6UKKP.mjs} +1 -1
  68. package/dist/bin/hook-chunks/chunk-PUHX3ECX.mjs +11 -0
  69. package/dist/bin/hook-chunks/chunk-Q3EYM4GJ.mjs +19 -0
  70. package/dist/bin/hook-chunks/{chunk-4OYUJTPR.mjs → chunk-Q3Z53QTH.mjs} +3 -3
  71. package/dist/bin/hook-chunks/{chunk-ZZ65CN5F.mjs → chunk-QPRNRLG6.mjs} +1 -1
  72. package/dist/bin/hook-chunks/chunk-QWQFF2UG.mjs +10 -0
  73. package/dist/bin/hook-chunks/{chunk-DMXFGLZE.mjs → chunk-QYEASMFV.mjs} +1 -1
  74. package/dist/bin/hook-chunks/chunk-R4ILCXKE.mjs +8 -0
  75. package/dist/bin/hook-chunks/{chunk-4WHS7CO7.mjs → chunk-S7HQQILD.mjs} +1 -1
  76. package/dist/bin/hook-chunks/chunk-SDUS2AT7.mjs +8 -0
  77. package/dist/bin/hook-chunks/chunk-T2FCU3ZS.mjs +12 -0
  78. package/dist/bin/hook-chunks/{chunk-A5RNWWTH.mjs → chunk-TFCLMTJ5.mjs} +1 -1
  79. package/dist/bin/hook-chunks/{chunk-AUUWQH3S.mjs → chunk-TG5CQJD5.mjs} +1 -1
  80. package/dist/bin/hook-chunks/{chunk-GIMUTVLP.mjs → chunk-TKWAFYF7.mjs} +1 -1
  81. package/dist/bin/hook-chunks/{chunk-YUOTOCKK.mjs → chunk-TYEAIX3X.mjs} +1 -1
  82. package/dist/bin/hook-chunks/{chunk-AOPJ4Z6O.mjs → chunk-UA4Z5TGG.mjs} +1 -1
  83. package/dist/bin/hook-chunks/chunk-UH4MD3F3.mjs +9 -0
  84. package/dist/bin/hook-chunks/chunk-V2BSS7HW.mjs +36 -0
  85. package/dist/bin/hook-chunks/{chunk-DLHSCKBJ.mjs → chunk-VWOIUTAX.mjs} +1 -1
  86. package/dist/bin/hook-chunks/{chunk-ACKEPXP4.mjs → chunk-X2AGNDGD.mjs} +1 -1
  87. package/dist/bin/hook-chunks/{chunk-L4376X2P.mjs → chunk-XE4MJNBQ.mjs} +1 -1
  88. package/dist/bin/hook-chunks/{chunk-2NMSEZTQ.mjs → chunk-XFQ7NNLN.mjs} +1 -1
  89. package/dist/bin/hook-chunks/{chunk-SOPRYWUY.mjs → chunk-XS45K7ZQ.mjs} +1 -1
  90. package/dist/bin/hook-chunks/chunk-Y3J7UUMR.mjs +47 -0
  91. package/dist/bin/hook-chunks/{chunk-HIFIDMH5.mjs → chunk-Y4DUB7UN.mjs} +2 -2
  92. package/dist/bin/hook-chunks/{chunk-6IKHMK2U.mjs → chunk-YQ55MHKL.mjs} +1 -1
  93. package/dist/bin/hook-chunks/{chunk-QK2IMCDC.mjs → chunk-YUKGWWL7.mjs} +1 -1
  94. package/dist/bin/hook-chunks/chunk-ZJXH76Q5.mjs +11 -0
  95. package/dist/bin/hook-chunks/{chunk-RXD7MHJ6.mjs → chunk-ZMKTR2IO.mjs} +1 -1
  96. package/dist/bin/hook-chunks/{chunk-54LH63LM.mjs → chunk-ZMLA5SKR.mjs} +1 -0
  97. package/dist/bin/hook-chunks/client-ERZ5CM3D.mjs +10 -0
  98. package/dist/bin/hook-chunks/code-graph-cloud-4GRWQSUK.mjs +8 -0
  99. package/dist/bin/hook-chunks/{codex-skill-ZCAUF2RM.mjs → codex-skill-6DYQMPDJ.mjs} +1 -1
  100. package/dist/bin/hook-chunks/{command-installer-LNK7WC5I.mjs → command-installer-MF4KUM3X.mjs} +1 -1
  101. package/dist/bin/hook-chunks/{config-manager-4VWDBPMG.mjs → config-manager-2VZPHUDG.mjs} +1 -1
  102. package/dist/bin/hook-chunks/{content-bound-stamp-72EQVZLP.mjs → content-bound-stamp-OG2KKN3L.mjs} +1 -1
  103. package/dist/bin/hook-chunks/{context7-service-4C6VNJUS.mjs → context7-service-V7CIDF3Q.mjs} +1 -1
  104. package/dist/bin/hook-chunks/custom-workflow-storage-UOBQXY42.mjs +8 -0
  105. package/dist/bin/hook-chunks/cwd-changed-J6O46KS7.mjs +8 -0
  106. package/dist/bin/hook-chunks/{database-SLDTQXWG.mjs → database-XYKQF3KR.mjs} +1 -1
  107. package/dist/bin/hook-chunks/{delivery-geometry-VHCURJ7E.mjs → delivery-geometry-WYOEMKMO.mjs} +1 -1
  108. package/dist/bin/hook-chunks/{detect-changes-M2OYIOE5.mjs → detect-changes-DFRJOOB3.mjs} +1 -1
  109. package/dist/bin/hook-chunks/{detection-MEYHME4X.mjs → detection-QRVSNMKL.mjs} +1 -1
  110. package/dist/bin/hook-chunks/developer-evolution-SLC34HUU.mjs +12 -0
  111. package/dist/bin/hook-chunks/distill-U2LJGUG3.mjs +8 -0
  112. package/dist/bin/hook-chunks/{editors-config-3N6VREZR.mjs → editors-config-6XFYIOE6.mjs} +1 -1
  113. package/dist/bin/hook-chunks/enriched-recall-X6RDNNIE.mjs +8 -0
  114. package/dist/bin/hook-chunks/exec-2P5VOBHM.mjs +8 -0
  115. package/dist/bin/hook-chunks/format-ALUX4QSI.mjs +8 -0
  116. package/dist/bin/hook-chunks/{git-helpers-6JLP2OJZ.mjs → git-helpers-HELM6DXJ.mjs} +1 -1
  117. package/dist/bin/hook-chunks/{judgment-ledger-storage-UKROWRVA.mjs → judgment-ledger-storage-SCGU3URM.mjs} +1 -1
  118. package/dist/bin/hook-chunks/{judgment-orchestrator-UFGNBTEK.mjs → judgment-orchestrator-BYPG65RS.mjs} +1 -1
  119. package/dist/bin/hook-chunks/judgment-receipt-GWSSCLAB.mjs +8 -0
  120. package/dist/bin/hook-chunks/land-cue-MMISX2BI.mjs +9 -0
  121. package/dist/bin/hook-chunks/land-synthesis-WG5JAS7B.mjs +8 -0
  122. package/dist/bin/hook-chunks/legacy-crew-sweep-2WSO5KEB.mjs +24 -0
  123. package/dist/bin/hook-chunks/memory-index-QK5QJOFJ.mjs +8 -0
  124. package/dist/bin/hook-chunks/notification-MPVWVV52.mjs +8 -0
  125. package/dist/bin/hook-chunks/{pack-integrity-62XJ5A75.mjs → pack-integrity-XRYOROK5.mjs} +1 -1
  126. package/dist/bin/hook-chunks/{pack-manager-K3PQ7MCS.mjs → pack-manager-WWGQNJDQ.mjs} +1 -1
  127. package/dist/bin/hook-chunks/{package-legitimacy-HXC4L73B.mjs → package-legitimacy-MIR3VZSF.mjs} +1 -1
  128. package/dist/bin/hook-chunks/{path-manager-F2HE2GGK.mjs → path-manager-ZR5RAKTK.mjs} +1 -1
  129. package/dist/bin/hook-chunks/{planning-WMLFXZMA.mjs → planning-S55KBPN2.mjs} +2 -2
  130. package/dist/bin/hook-chunks/post-edit-QMHSZHDN.mjs +8 -0
  131. package/dist/bin/hook-chunks/{pr-convention-7UGI7TFA.mjs → pr-convention-5NPXQJ2R.mjs} +1 -1
  132. package/dist/bin/hook-chunks/pre-bash-RAM6L3G4.mjs +11 -0
  133. package/dist/bin/hook-chunks/pre-commit-736ZLMDL.mjs +8 -0
  134. package/dist/bin/hook-chunks/pre-edit-GZ4QJ2MU.mjs +11 -0
  135. package/dist/bin/hook-chunks/pre-package-LCIAWWGK.mjs +8 -0
  136. package/dist/bin/hook-chunks/pre-search-J5EOFMYN.mjs +9 -0
  137. package/dist/bin/hook-chunks/pre-secrets-TSUMTXHH.mjs +8 -0
  138. package/dist/bin/hook-chunks/{precision-judgment-WPTCNTGV.mjs → precision-judgment-TT3DRNAX.mjs} +1 -1
  139. package/dist/bin/hook-chunks/{prjct-md-Q6C5YNI3.mjs → prjct-md-T2DG236Y.mjs} +1 -1
  140. package/dist/bin/hook-chunks/{project-agent-surfaces-3BBZIQNI.mjs → project-agent-surfaces-VRY22I66.mjs} +1 -1
  141. package/dist/bin/hook-chunks/{project-file-inventory-ZAPKPKY6.mjs → project-file-inventory-5DEN5VLF.mjs} +1 -1
  142. package/dist/bin/hook-chunks/project-memory-KKEMTEMP.mjs +8 -0
  143. package/dist/bin/hook-chunks/project-style-evolution-7MAUSED2.mjs +8 -0
  144. package/dist/bin/hook-chunks/{prompt-AYY7BZFG.mjs → prompt-DVF6V2X2.mjs} +7 -7
  145. package/dist/bin/hook-chunks/{velocity-storage-UPW6TLK6.mjs → publish-helper-G54XQV5K.mjs} +1 -1
  146. package/dist/bin/hook-chunks/purge-MC5LFSAO.mjs +8 -0
  147. package/dist/bin/hook-chunks/retention-LWETHQX3.mjs +8 -0
  148. package/dist/bin/hook-chunks/sdd-5UCVX43H.mjs +10 -0
  149. package/dist/bin/hook-chunks/session-continuity-RKNAJJHR.mjs +11 -0
  150. package/dist/bin/hook-chunks/session-start-MFMFKUPK.mjs +8 -0
  151. package/dist/bin/hook-chunks/setup-WQRJ6TQL.mjs +141 -0
  152. package/dist/bin/hook-chunks/{shipping-HV5IAM2J.mjs → shipping-5D5LTJ3P.mjs} +5 -5
  153. package/dist/bin/hook-chunks/{skill-index-OOVAXHYJ.mjs → skill-index-RAVJMC4P.mjs} +1 -1
  154. package/dist/bin/hook-chunks/{spec-context-inference-UBHJLOIJ.mjs → spec-context-inference-7DDSTRTV.mjs} +1 -1
  155. package/dist/bin/hook-chunks/{spec-service-TA4Q5S3X.mjs → spec-service-LAO5Z2M5.mjs} +2 -2
  156. package/dist/bin/hook-chunks/spec-task-breakdown-K3GMQKGH.mjs +8 -0
  157. package/dist/bin/hook-chunks/state-storage-EIFGUO7X.mjs +8 -0
  158. package/dist/bin/hook-chunks/stop-RYLI4FGF.mjs +16 -0
  159. package/dist/bin/hook-chunks/subagent-start-CCUPSANT.mjs +8 -0
  160. package/dist/bin/hook-chunks/subagent-stop-RBD2OILE.mjs +8 -0
  161. package/dist/bin/hook-chunks/{surface-attribution-HYCBHBTC.mjs → surface-attribution-K37N2NK7.mjs} +1 -1
  162. package/dist/bin/hook-chunks/symbol-graph-BKQIMFRG.mjs +8 -0
  163. package/dist/bin/hook-chunks/{sync-analyzer-FKC57RTV.mjs → sync-analyzer-6U5GHYV3.mjs} +1 -1
  164. package/dist/bin/hook-chunks/{sync-client-DJWOG2ZQ.mjs → sync-client-EGBMWF3J.mjs} +1 -1
  165. package/dist/bin/hook-chunks/{sync-cursor-storage-2VKG757H.mjs → sync-cursor-storage-E3LMZISA.mjs} +1 -1
  166. package/dist/bin/hook-chunks/{task-orchestration-MLOCR7GA.mjs → task-orchestration-2ZYE5M6J.mjs} +1 -1
  167. package/dist/bin/hook-chunks/{task-overview-6ZQKJGSH.mjs → task-overview-ITY5OSHX.mjs} +1 -1
  168. package/dist/bin/hook-chunks/task-service-XREJLWEF.mjs +8 -0
  169. package/dist/bin/hook-chunks/tdd-7S55S5C3.mjs +10 -0
  170. package/dist/bin/hook-chunks/{template-loader-SO6OHPJI.mjs → template-loader-SCM4C2A3.mjs} +1 -1
  171. package/dist/bin/hook-chunks/{trust-boundary-ERMDF2C5.mjs → trust-boundary-EX65SUYR.mjs} +1 -1
  172. package/dist/bin/hook-chunks/{usefulness-253CZLNY.mjs → usefulness-SCH5ARGV.mjs} +1 -1
  173. package/dist/bin/hook-chunks/{vault-retire-notice-GRT3QRLZ.mjs → vault-retire-notice-HT756AND.mjs} +1 -1
  174. package/dist/bin/hook-chunks/velocity-storage-47CF3XWZ.mjs +8 -0
  175. package/dist/bin/hook-chunks/weak-model-mode-FLCEQ2BV.mjs +8 -0
  176. package/dist/bin/hook-chunks/work-graph-JQHVVXIZ.mjs +49 -0
  177. package/dist/bin/hook-chunks/work-scope-CDLSZ4U5.mjs +8 -0
  178. package/dist/bin/hook-chunks/{workspace-occupancy-UVIRHY5Z.mjs → workspace-occupancy-UUW4UGGB.mjs} +1 -1
  179. package/dist/bin/hook-chunks/{worktree-service-XGRN5TTE.mjs → worktree-service-AS7JVBK5.mjs} +1 -1
  180. package/dist/bin/prjct-core.mjs +720 -732
  181. package/dist/bin/prjct-hooks.mjs +2 -2
  182. package/dist/daemon/entry.mjs +638 -647
  183. package/dist/mcp/server.mjs +310 -312
  184. package/package.json +1 -1
  185. package/dist/bin/hook-chunks/auto-flush-5D4PKOMM.mjs +0 -8
  186. package/dist/bin/hook-chunks/capture-gate-EOOSAGAP.mjs +0 -8
  187. package/dist/bin/hook-chunks/chunk-4DDCWMI6.mjs +0 -8
  188. package/dist/bin/hook-chunks/chunk-4KY2EHXS.mjs +0 -9
  189. package/dist/bin/hook-chunks/chunk-A7SGMNOK.mjs +0 -11
  190. package/dist/bin/hook-chunks/chunk-AKIN5WSQ.mjs +0 -9
  191. package/dist/bin/hook-chunks/chunk-BNWB77U5.mjs +0 -9
  192. package/dist/bin/hook-chunks/chunk-CQHPIYNM.mjs +0 -8
  193. package/dist/bin/hook-chunks/chunk-CTWZQ7YI.mjs +0 -8
  194. package/dist/bin/hook-chunks/chunk-DV7KV2O4.mjs +0 -38
  195. package/dist/bin/hook-chunks/chunk-EHP4DYVQ.mjs +0 -71
  196. package/dist/bin/hook-chunks/chunk-FGQZ62ZP.mjs +0 -47
  197. package/dist/bin/hook-chunks/chunk-HJ4HEI45.mjs +0 -8
  198. package/dist/bin/hook-chunks/chunk-J6JZ4PQA.mjs +0 -18
  199. package/dist/bin/hook-chunks/chunk-JRKGG2E3.mjs +0 -8
  200. package/dist/bin/hook-chunks/chunk-L4COZ7ZH.mjs +0 -13
  201. package/dist/bin/hook-chunks/chunk-LT5WSSQO.mjs +0 -8
  202. package/dist/bin/hook-chunks/chunk-MHRMV4WI.mjs +0 -31
  203. package/dist/bin/hook-chunks/chunk-N5WOHG36.mjs +0 -8
  204. package/dist/bin/hook-chunks/chunk-NJAMZSHM.mjs +0 -26
  205. package/dist/bin/hook-chunks/chunk-NWY5M34K.mjs +0 -12
  206. package/dist/bin/hook-chunks/chunk-OB5GRS7T.mjs +0 -18
  207. package/dist/bin/hook-chunks/chunk-SVZHJZ5T.mjs +0 -9
  208. package/dist/bin/hook-chunks/chunk-UB53HQMG.mjs +0 -14
  209. package/dist/bin/hook-chunks/chunk-UBMIPWJR.mjs +0 -19
  210. package/dist/bin/hook-chunks/chunk-VPPHD762.mjs +0 -11
  211. package/dist/bin/hook-chunks/chunk-VV7VNUTF.mjs +0 -16
  212. package/dist/bin/hook-chunks/chunk-YJMWY4Y6.mjs +0 -8
  213. package/dist/bin/hook-chunks/client-SKFMAUI5.mjs +0 -10
  214. package/dist/bin/hook-chunks/code-graph-cloud-65GCWNII.mjs +0 -8
  215. package/dist/bin/hook-chunks/custom-workflow-storage-M77INP6Z.mjs +0 -8
  216. package/dist/bin/hook-chunks/cwd-changed-FYNPPO73.mjs +0 -8
  217. package/dist/bin/hook-chunks/developer-evolution-R5BXQH6G.mjs +0 -12
  218. package/dist/bin/hook-chunks/distill-W7QGQUDX.mjs +0 -8
  219. package/dist/bin/hook-chunks/enriched-recall-W7KYRYVR.mjs +0 -8
  220. package/dist/bin/hook-chunks/exec-I7XE7NMD.mjs +0 -8
  221. package/dist/bin/hook-chunks/format-BOWFDUBP.mjs +0 -8
  222. package/dist/bin/hook-chunks/judgment-receipt-WGTFKID7.mjs +0 -8
  223. package/dist/bin/hook-chunks/land-cue-WLGSULSO.mjs +0 -9
  224. package/dist/bin/hook-chunks/land-synthesis-V7UH5QV6.mjs +0 -8
  225. package/dist/bin/hook-chunks/legacy-crew-sweep-MFE4BDNR.mjs +0 -24
  226. package/dist/bin/hook-chunks/memory-index-B53F5HAX.mjs +0 -10
  227. package/dist/bin/hook-chunks/notification-HJLS4L7Y.mjs +0 -8
  228. package/dist/bin/hook-chunks/post-edit-TT3XOG55.mjs +0 -8
  229. package/dist/bin/hook-chunks/pre-bash-2KKF4V6G.mjs +0 -11
  230. package/dist/bin/hook-chunks/pre-commit-UU4SKKWV.mjs +0 -8
  231. package/dist/bin/hook-chunks/pre-edit-RTBLZPWH.mjs +0 -11
  232. package/dist/bin/hook-chunks/pre-package-LQTINBT4.mjs +0 -8
  233. package/dist/bin/hook-chunks/pre-search-UJU3XZ2K.mjs +0 -9
  234. package/dist/bin/hook-chunks/pre-secrets-IE5NX5X5.mjs +0 -8
  235. package/dist/bin/hook-chunks/project-memory-YHQBRX3D.mjs +0 -8
  236. package/dist/bin/hook-chunks/project-style-evolution-HS6HYI7W.mjs +0 -8
  237. package/dist/bin/hook-chunks/publish-helper-I37V4L7U.mjs +0 -8
  238. package/dist/bin/hook-chunks/purge-AXMYTZVM.mjs +0 -8
  239. package/dist/bin/hook-chunks/retention-22OSCAGV.mjs +0 -8
  240. package/dist/bin/hook-chunks/sdd-W3OUQPHD.mjs +0 -10
  241. package/dist/bin/hook-chunks/session-continuity-LO2KNHXU.mjs +0 -11
  242. package/dist/bin/hook-chunks/session-start-5UZSL6OY.mjs +0 -8
  243. package/dist/bin/hook-chunks/setup-BSWLQJPE.mjs +0 -142
  244. package/dist/bin/hook-chunks/spec-task-breakdown-QJWGCON2.mjs +0 -8
  245. package/dist/bin/hook-chunks/state-storage-KNGP2CQV.mjs +0 -8
  246. package/dist/bin/hook-chunks/stop-QVDK6LUV.mjs +0 -17
  247. package/dist/bin/hook-chunks/subagent-start-UYBSD7VK.mjs +0 -8
  248. package/dist/bin/hook-chunks/subagent-stop-FHLL7X66.mjs +0 -8
  249. package/dist/bin/hook-chunks/symbol-graph-LZM4RZXZ.mjs +0 -8
  250. package/dist/bin/hook-chunks/task-service-RMCQEHV6.mjs +0 -8
  251. package/dist/bin/hook-chunks/tdd-LV63NXZ3.mjs +0 -10
  252. package/dist/bin/hook-chunks/weak-model-mode-VDYJ25PX.mjs +0 -8
  253. package/dist/bin/hook-chunks/work-graph-QJGNBVIP.mjs +0 -49
  254. package/dist/bin/hook-chunks/work-scope-OKFSTW6D.mjs +0 -8
@@ -5,7 +5,7 @@ import { dirname as __pathDirname } from 'path';
5
5
  const require = __createRequire(import.meta.url);
6
6
  const __filename = __fileURLToPath(import.meta.url);
7
7
  const __dirname = __pathDirname(__filename);
8
- import{e as s,g as a}from"./chunk-HDHVBB6Q.mjs";import"./chunk-CE4RCNC7.mjs";import{b as i,e as o}from"./chunk-AKIN5WSQ.mjs";import"./chunk-HDSS6UB3.mjs";import"./chunk-JQE2F2RK.mjs";import"./chunk-WUHGODSQ.mjs";import"./chunk-SVZHJZ5T.mjs";import"./chunk-CTWZQ7YI.mjs";import"./chunk-BUDZL4DW.mjs";import{a as l}from"./chunk-E66B27AL.mjs";o();a();var d=class{static{l(this,"SyncCursorStorage")}get(t,r=null,e=null){if(!e)return null;let n=s.get(t,`SELECT * FROM sync_cursors
8
+ import{e as s,g as a}from"./chunk-KG7Z6OMK.mjs";import"./chunk-CE4RCNC7.mjs";import{b as i,h as o}from"./chunk-JAMSIKDE.mjs";import"./chunk-HDSS6UB3.mjs";import"./chunk-JQE2F2RK.mjs";import"./chunk-WUHGODSQ.mjs";import"./chunk-UH4MD3F3.mjs";import"./chunk-QWQFF2UG.mjs";import"./chunk-BUDZL4DW.mjs";import{a as l}from"./chunk-E66B27AL.mjs";o();a();var d=class{static{l(this,"SyncCursorStorage")}get(t,r=null,e=null){if(!e)return null;let n=s.get(t,`SELECT * FROM sync_cursors
9
9
  WHERE project_id = ?
10
10
  AND device_id = ?
11
11
  AND ${r===null?"user_id IS NULL":"user_id = ?"}`,...r===null?[t,e]:[t,e,r]);return n?this.rowToCursor(n):null}touch(t,r=null,e=null){if(!e)return;let n=i();this.upsert({userId:r,deviceId:e,projectId:t,lastEventId:this.getLastEventId(t,r,e),updatedAt:n})}advance(t,r,e={}){let n=e.userId??null,u=e.deviceId??null;if(!u)return;let _=this.getLastEventId(t,n,u);r<=_||this.upsert({userId:n,deviceId:u,projectId:t,lastEventId:r,updatedAt:i()})}getLastEventId(t,r,e){return s.get(t,`SELECT last_event_id FROM sync_cursors
@@ -5,4 +5,4 @@ import { dirname as __pathDirname } from 'path';
5
5
  const require = __createRequire(import.meta.url);
6
6
  const __filename = __fileURLToPath(import.meta.url);
7
7
  const __dirname = __pathDirname(__filename);
8
- import{a,b,c}from"./chunk-D7TRY3CO.mjs";import"./chunk-TPESWBA7.mjs";import"./chunk-LLQUB6YR.mjs";import"./chunk-NLG2EW6M.mjs";import"./chunk-6IKHMK2U.mjs";import"./chunk-QSAA6LZF.mjs";import"./chunk-75UJIVMO.mjs";import"./chunk-HDHVBB6Q.mjs";import"./chunk-CE4RCNC7.mjs";import"./chunk-AKIN5WSQ.mjs";import"./chunk-HDSS6UB3.mjs";import"./chunk-JQE2F2RK.mjs";import"./chunk-WUHGODSQ.mjs";import"./chunk-SVZHJZ5T.mjs";import"./chunk-CTWZQ7YI.mjs";import"./chunk-BUDZL4DW.mjs";import"./chunk-E66B27AL.mjs";export{c as orchestrationFor,a as pointsFromDiffLines,b as renderDelegationTrigger};
8
+ import{a,b,c}from"./chunk-JPSJWCFD.mjs";import"./chunk-TPESWBA7.mjs";import"./chunk-7O6OMD4X.mjs";import"./chunk-OZJ6UKKP.mjs";import"./chunk-YQ55MHKL.mjs";import"./chunk-QSAA6LZF.mjs";import"./chunk-KOGZCFBC.mjs";import"./chunk-KG7Z6OMK.mjs";import"./chunk-CE4RCNC7.mjs";import"./chunk-JAMSIKDE.mjs";import"./chunk-HDSS6UB3.mjs";import"./chunk-JQE2F2RK.mjs";import"./chunk-WUHGODSQ.mjs";import"./chunk-UH4MD3F3.mjs";import"./chunk-QWQFF2UG.mjs";import"./chunk-BUDZL4DW.mjs";import"./chunk-E66B27AL.mjs";export{c as orchestrationFor,a as pointsFromDiffLines,b as renderDelegationTrigger};
@@ -5,4 +5,4 @@ import { dirname as __pathDirname } from 'path';
5
5
  const require = __createRequire(import.meta.url);
6
6
  const __filename = __fileURLToPath(import.meta.url);
7
7
  const __dirname = __pathDirname(__filename);
8
- import{a,b,c}from"./chunk-ZX2KFQV5.mjs";import"./chunk-CREPUNOS.mjs";import"./chunk-QDQ7DTDV.mjs";import"./chunk-BISPGBNN.mjs";import"./chunk-LT5WSSQO.mjs";import"./chunk-HJ4HEI45.mjs";import"./chunk-3LG3ACQV.mjs";import"./chunk-AOPJ4Z6O.mjs";import"./chunk-AUUWQH3S.mjs";import"./chunk-HDHVBB6Q.mjs";import"./chunk-CE4RCNC7.mjs";import"./chunk-AKIN5WSQ.mjs";import"./chunk-HDSS6UB3.mjs";import"./chunk-JQE2F2RK.mjs";import"./chunk-WUHGODSQ.mjs";import"./chunk-SVZHJZ5T.mjs";import"./chunk-CTWZQ7YI.mjs";import"./chunk-BUDZL4DW.mjs";import"./chunk-E66B27AL.mjs";export{a as collectActiveTasks,b as formatActiveTaskLine,c as formatActiveTaskList};
8
+ import{a,b,c}from"./chunk-D6IONKRA.mjs";import"./chunk-JCYXFHQZ.mjs";import"./chunk-6UH244CC.mjs";import"./chunk-OUAS3LZ3.mjs";import"./chunk-INXNK57E.mjs";import"./chunk-5EQLQ7GF.mjs";import"./chunk-UA4Z5TGG.mjs";import"./chunk-TG5CQJD5.mjs";import"./chunk-M5E2YOZ4.mjs";import"./chunk-KG7Z6OMK.mjs";import"./chunk-CE4RCNC7.mjs";import"./chunk-JAMSIKDE.mjs";import"./chunk-HDSS6UB3.mjs";import"./chunk-JQE2F2RK.mjs";import"./chunk-WUHGODSQ.mjs";import"./chunk-UH4MD3F3.mjs";import"./chunk-QWQFF2UG.mjs";import"./chunk-BUDZL4DW.mjs";import"./chunk-E66B27AL.mjs";export{a as collectActiveTasks,b as formatActiveTaskLine,c as formatActiveTaskList};
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env node
2
+ import { createRequire as __createRequire } from 'module';
3
+ import { fileURLToPath as __fileURLToPath } from 'url';
4
+ import { dirname as __pathDirname } from 'path';
5
+ const require = __createRequire(import.meta.url);
6
+ const __filename = __fileURLToPath(import.meta.url);
7
+ const __dirname = __pathDirname(__filename);
8
+ 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}from"./chunk-2HB2JHQE.mjs";import"./chunk-XE4MJNBQ.mjs";import"./chunk-C3W2HLJT.mjs";import"./chunk-H4CA3XZ6.mjs";import"./chunk-4O4D6DV7.mjs";import"./chunk-JCYXFHQZ.mjs";import"./chunk-JPSJWCFD.mjs";import"./chunk-TPESWBA7.mjs";import"./chunk-FEFP6JOL.mjs";import"./chunk-JUZ5LNDI.mjs";import"./chunk-7O6OMD4X.mjs";import"./chunk-OZJ6UKKP.mjs";import"./chunk-YQ55MHKL.mjs";import"./chunk-QSAA6LZF.mjs";import"./chunk-KOGZCFBC.mjs";import"./chunk-FX6VHIKB.mjs";import"./chunk-HHIGNKDO.mjs";import"./chunk-7GNWHWOO.mjs";import"./chunk-OENWCYLF.mjs";import"./chunk-SJ75V4WG.mjs";import"./chunk-JMCMTX6U.mjs";import"./chunk-R4ILCXKE.mjs";import"./chunk-7JEKBJAP.mjs";import"./chunk-MI3JEFON.mjs";import"./chunk-Y5NQV46G.mjs";import"./chunk-DXQMKW2B.mjs";import"./chunk-27XFSCOE.mjs";import"./chunk-YUKGWWL7.mjs";import"./chunk-UUULLTQV.mjs";import"./chunk-3FBCOCPD.mjs";import"./chunk-6UH244CC.mjs";import"./chunk-OUAS3LZ3.mjs";import"./chunk-INXNK57E.mjs";import"./chunk-5EQLQ7GF.mjs";import"./chunk-UA4Z5TGG.mjs";import"./chunk-TG5CQJD5.mjs";import"./chunk-M5E2YOZ4.mjs";import"./chunk-GVNMXVVA.mjs";import"./chunk-GAOQHD5S.mjs";import"./chunk-AZHE4VOM.mjs";import"./chunk-6RLCUGGG.mjs";import"./chunk-KG7Z6OMK.mjs";import"./chunk-CE4RCNC7.mjs";import"./chunk-JAMSIKDE.mjs";import"./chunk-HDSS6UB3.mjs";import"./chunk-JQE2F2RK.mjs";import"./chunk-WUHGODSQ.mjs";import"./chunk-UH4MD3F3.mjs";import"./chunk-QWQFF2UG.mjs";import"./chunk-GCKILEXJ.mjs";import"./chunk-EMTCZG5I.mjs";import"./chunk-PKDYFXMI.mjs";import"./chunk-BUDZL4DW.mjs";import"./chunk-E66B27AL.mjs";export{e as TASK_CONTEXT_PROMPT,h as completeActiveTask,a as formatRelatedContextForAgent,b as formatRiskForAgent,i as readLastStatus,d as recallRisksForFiles,g as resolveActiveTask,f as setTaskStatus,c as startTask};
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env node
2
+ import { createRequire as __createRequire } from 'module';
3
+ import { fileURLToPath as __fileURLToPath } from 'url';
4
+ import { dirname as __pathDirname } from 'path';
5
+ const require = __createRequire(import.meta.url);
6
+ const __filename = __fileURLToPath(import.meta.url);
7
+ const __dirname = __pathDirname(__filename);
8
+ import{a as M,b as l}from"./chunk-NHIWYDQD.mjs";import{a as d}from"./chunk-X2AGNDGD.mjs";import{a as T,d as k}from"./chunk-F4T7IAA7.mjs";import{a as u}from"./chunk-H4CA3XZ6.mjs";import{a as c}from"./chunk-4O4D6DV7.mjs";import"./chunk-YUKGWWL7.mjs";import"./chunk-UUULLTQV.mjs";import"./chunk-3FBCOCPD.mjs";import"./chunk-5EQLQ7GF.mjs";import"./chunk-UA4Z5TGG.mjs";import"./chunk-TG5CQJD5.mjs";import"./chunk-M5E2YOZ4.mjs";import{b as h}from"./chunk-AZHE4VOM.mjs";import"./chunk-6RLCUGGG.mjs";import"./chunk-KG7Z6OMK.mjs";import"./chunk-CE4RCNC7.mjs";import"./chunk-JAMSIKDE.mjs";import"./chunk-HDSS6UB3.mjs";import"./chunk-JQE2F2RK.mjs";import"./chunk-WUHGODSQ.mjs";import"./chunk-UH4MD3F3.mjs";import{a as D,p as w}from"./chunk-QWQFF2UG.mjs";import"./chunk-EMTCZG5I.mjs";import"./chunk-PKDYFXMI.mjs";import{e as f,f as $}from"./chunk-BUDZL4DW.mjs";import{a as m}from"./chunk-E66B27AL.mjs";$();w();var i=["off","assist","strict"],C=class extends k{static{m(this,"TddCommands")}async tdd(s=null,t=process.cwd(),n={}){let e=M(s,i);return e.kind==="status"?this.showStatus(t,n):e.kind==="mode"?this.setMode(e.mode,t,n):e.sub==="check"?this.check(t,n):T(`Unknown tdd subcommand "${e.sub}". Use: check, or ${i.join("|")}.`,n)}async showStatus(s,t){let n=await l(s,t);if(!n.ok)return n.result;let e=n.value,o=y(e),a=(await u(s).catch(()=>null))?.test?.command??null,p=[`Mode: ${o}${o==="off"?" (guidance + ship TDD gate dormant)":""}`,`Test command: ${a??"none detected (add tests to enable the gate)"}`,"Set: prjct tdd off|assist|strict","Check: prjct tdd check \u2014 run the test command now (red/green)"];return t.md?console.log(d("## TDD",`> **Mode**: \`${o}\``,`- Test command: \`${a??"none detected"}\``,p.slice(2).join(`
9
+ `))):c.info(`TDD \u2014 ${p.join(`
10
+ `)}`),{success:!0,mode:o,testCommand:a}}async setMode(s,t,n){let e=await l(t,n);if(!e.ok)return e.result;let o=e.value;o.tdd={mode:s},await h.writeConfig(t,o);let r=s==="off"?"TDD mode off \u2014 test-first guidance and the ship TDD gate are dormant.":s==="assist"?"TDD mode \u2192 assist. Guidance biases test-first (red\u2192green\u2192refactor); `ship` reminds.":"TDD mode \u2192 strict. Test-first expected; `ship` surfaces a hard gate \u2014 run `prjct tdd check` and don't ship on red.";return n.md?console.log(d("## TDD",`> ${r}`)):c.done(r),{success:!0,mode:s}}async check(s,t){let e=(await u(s).catch(()=>null))?.test?.command;if(!e){let o="tdd check: no test command detected for this stack. Add a test script first.";return console.log(t.md?d("## TDD check",`> ${o}`):o),{success:!1,reason:"no_test_command"}}try{await D(e,{cwd:s,maxBuffer:32*1024*1024});let o=`tdd check: GREEN \u2014 \`${e}\` passed.`;return console.log(t.md?d("## TDD check",`> \u2705 ${o}`):o),{success:!0,green:!0,testCommand:e}}catch(o){let r=`tdd check: RED \u2014 \`${e}\` failed. Fix before shipping.`;return t.md?console.log(d("## TDD check",`> \u274C ${r}`,f(o))):(c.fail(r),c.info(f(o))),{success:!1,green:!1,testCommand:e}}}};function y(g){let s=g?.tdd?.mode;if(s&&i.includes(s))return s;let t=process.env.PRJCT_TDD_MODE?.toLowerCase();return t&&i.includes(t)?t:"off"}m(y,"effectiveTddMode");var L={effectiveTddMode:y,TDD_MODES:i};export{C as TddCommands,L as _internal,y as effectiveTddMode};
@@ -5,4 +5,4 @@ import { dirname as __pathDirname } from 'path';
5
5
  const require = __createRequire(import.meta.url);
6
6
  const __filename = __fileURLToPath(import.meta.url);
7
7
  const __dirname = __pathDirname(__filename);
8
- import{b as a,c as b,d as c,e as d}from"./chunk-7AN7VQHN.mjs";import"./chunk-SYHDEUVU.mjs";import"./chunk-GCKILEXJ.mjs";import"./chunk-P5ZYAXSE.mjs";import"./chunk-PKDYFXMI.mjs";import"./chunk-BUDZL4DW.mjs";import"./chunk-E66B27AL.mjs";export{d as default,b as getTemplateContent,c as listTemplates,a as resetBundle};
8
+ import{b as a,c as b,d as c,e as d}from"./chunk-EQ5KNMLG.mjs";import"./chunk-SYHDEUVU.mjs";import"./chunk-GCKILEXJ.mjs";import"./chunk-EMTCZG5I.mjs";import"./chunk-PKDYFXMI.mjs";import"./chunk-BUDZL4DW.mjs";import"./chunk-E66B27AL.mjs";export{d as default,b as getTemplateContent,c as listTemplates,a as resetBundle};
@@ -5,4 +5,4 @@ import { dirname as __pathDirname } from 'path';
5
5
  const require = __createRequire(import.meta.url);
6
6
  const __filename = __fileURLToPath(import.meta.url);
7
7
  const __dirname = __pathDirname(__filename);
8
- import{a,b,c,d,e}from"./chunk-SOPRYWUY.mjs";import"./chunk-GVNMXVVA.mjs";import"./chunk-V37VTXDW.mjs";import"./chunk-CTWZQ7YI.mjs";import"./chunk-E66B27AL.mjs";export{a as evaluateMemoryContent,c as evaluatePackageInstallTrust,b as evaluateToolInputSecrets,d as evaluateWorkflowRuleExecutable,e as isImportedWorkflowTrust};
8
+ import{a,b,c,d,e}from"./chunk-XS45K7ZQ.mjs";import"./chunk-GVNMXVVA.mjs";import"./chunk-4KVPAHFV.mjs";import"./chunk-QWQFF2UG.mjs";import"./chunk-E66B27AL.mjs";export{a as evaluateMemoryContent,c as evaluatePackageInstallTrust,b as evaluateToolInputSecrets,d as evaluateWorkflowRuleExecutable,e as isImportedWorkflowTrust};
@@ -5,4 +5,4 @@ import { dirname as __pathDirname } from 'path';
5
5
  const require = __createRequire(import.meta.url);
6
6
  const __filename = __fileURLToPath(import.meta.url);
7
7
  const __dirname = __pathDirname(__filename);
8
- import{a,b,c}from"./chunk-ZZ65CN5F.mjs";import"./chunk-HDHVBB6Q.mjs";import"./chunk-CE4RCNC7.mjs";import"./chunk-AKIN5WSQ.mjs";import"./chunk-HDSS6UB3.mjs";import"./chunk-JQE2F2RK.mjs";import"./chunk-WUHGODSQ.mjs";import"./chunk-SVZHJZ5T.mjs";import"./chunk-CTWZQ7YI.mjs";import"./chunk-BUDZL4DW.mjs";import"./chunk-E66B27AL.mjs";export{b as extractCorrectionIds,a as extractRefIds,c as usefulnessService};
8
+ import{a,b,c}from"./chunk-QPRNRLG6.mjs";import"./chunk-KG7Z6OMK.mjs";import"./chunk-CE4RCNC7.mjs";import"./chunk-JAMSIKDE.mjs";import"./chunk-HDSS6UB3.mjs";import"./chunk-JQE2F2RK.mjs";import"./chunk-WUHGODSQ.mjs";import"./chunk-UH4MD3F3.mjs";import"./chunk-QWQFF2UG.mjs";import"./chunk-BUDZL4DW.mjs";import"./chunk-E66B27AL.mjs";export{b as extractCorrectionIds,a as extractRefIds,c as usefulnessService};
@@ -5,5 +5,5 @@ import { dirname as __pathDirname } from 'path';
5
5
  const require = __createRequire(import.meta.url);
6
6
  const __filename = __fileURLToPath(import.meta.url);
7
7
  const __dirname = __pathDirname(__filename);
8
- import{e as t,g as a}from"./chunk-HDHVBB6Q.mjs";import"./chunk-CE4RCNC7.mjs";import"./chunk-AKIN5WSQ.mjs";import"./chunk-HDSS6UB3.mjs";import"./chunk-JQE2F2RK.mjs";import"./chunk-WUHGODSQ.mjs";import"./chunk-SVZHJZ5T.mjs";import"./chunk-CTWZQ7YI.mjs";import"./chunk-BUDZL4DW.mjs";import{a as n}from"./chunk-E66B27AL.mjs";a();var r="vault-retire-notice-shown";async function c(o,e){try{return!(o?.vault?.mode==="export")||t.getDoc(e,r)?.shown?null:(t.setDoc(e,r,{shown:!0}),["> **prjct has removed the Obsidian/markdown vault feature.**","> Any files it previously generated are untouched on disk, but prjct no","> longer regenerates them. Agents read project knowledge through prjct","> tools (`prjct search`, `prjct context memory`, `prjct_analysis`, \u2026)."].join(`
8
+ import{e as t,g as a}from"./chunk-KG7Z6OMK.mjs";import"./chunk-CE4RCNC7.mjs";import"./chunk-JAMSIKDE.mjs";import"./chunk-HDSS6UB3.mjs";import"./chunk-JQE2F2RK.mjs";import"./chunk-WUHGODSQ.mjs";import"./chunk-UH4MD3F3.mjs";import"./chunk-QWQFF2UG.mjs";import"./chunk-BUDZL4DW.mjs";import{a as n}from"./chunk-E66B27AL.mjs";a();var r="vault-retire-notice-shown";async function c(o,e){try{return!(o?.vault?.mode==="export")||t.getDoc(e,r)?.shown?null:(t.setDoc(e,r,{shown:!0}),["> **prjct has removed the Obsidian/markdown vault feature.**","> Any files it previously generated are untouched on disk, but prjct no","> longer regenerates them. Agents read project knowledge through prjct","> tools (`prjct search`, `prjct context memory`, `prjct_analysis`, \u2026)."].join(`
9
9
  `))}catch{return null}}n(c,"vaultRetirementNotice");export{c as vaultRetirementNotice};
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env node
2
+ import { createRequire as __createRequire } from 'module';
3
+ import { fileURLToPath as __fileURLToPath } from 'url';
4
+ import { dirname as __pathDirname } from 'path';
5
+ const require = __createRequire(import.meta.url);
6
+ const __filename = __fileURLToPath(import.meta.url);
7
+ const __dirname = __pathDirname(__filename);
8
+ import{a,b}from"./chunk-QYEASMFV.mjs";import"./chunk-INXNK57E.mjs";import"./chunk-TG5CQJD5.mjs";import"./chunk-M5E2YOZ4.mjs";import"./chunk-KG7Z6OMK.mjs";import"./chunk-CE4RCNC7.mjs";import"./chunk-JAMSIKDE.mjs";import"./chunk-HDSS6UB3.mjs";import"./chunk-JQE2F2RK.mjs";import"./chunk-WUHGODSQ.mjs";import"./chunk-UH4MD3F3.mjs";import"./chunk-QWQFF2UG.mjs";import"./chunk-BUDZL4DW.mjs";import"./chunk-E66B27AL.mjs";export{a as epochWeek,b as velocityStorage};
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env node
2
+ import { createRequire as __createRequire } from 'module';
3
+ import { fileURLToPath as __fileURLToPath } from 'url';
4
+ import { dirname as __pathDirname } from 'path';
5
+ const require = __createRequire(import.meta.url);
6
+ const __filename = __fileURLToPath(import.meta.url);
7
+ const __dirname = __pathDirname(__filename);
8
+ import{h as a,i as b,j as c,k as d,l as e}from"./chunk-ZMKTR2IO.mjs";import"./chunk-27XFSCOE.mjs";import"./chunk-YUKGWWL7.mjs";import"./chunk-UUULLTQV.mjs";import"./chunk-5EQLQ7GF.mjs";import"./chunk-UA4Z5TGG.mjs";import"./chunk-TG5CQJD5.mjs";import"./chunk-M5E2YOZ4.mjs";import"./chunk-GAOQHD5S.mjs";import"./chunk-AZHE4VOM.mjs";import"./chunk-6RLCUGGG.mjs";import"./chunk-KG7Z6OMK.mjs";import"./chunk-CE4RCNC7.mjs";import"./chunk-JAMSIKDE.mjs";import"./chunk-HDSS6UB3.mjs";import"./chunk-JQE2F2RK.mjs";import"./chunk-WUHGODSQ.mjs";import"./chunk-UH4MD3F3.mjs";import"./chunk-QWQFF2UG.mjs";import"./chunk-GCKILEXJ.mjs";import"./chunk-EMTCZG5I.mjs";import"./chunk-PKDYFXMI.mjs";import"./chunk-BUDZL4DW.mjs";import"./chunk-E66B27AL.mjs";export{b as conflictModeWithWeakModel,a as effectiveWeakModelMode,c as qualityFloorWithWeakModel,d as weakModelBanner,e as weakModelOneLiner};
@@ -0,0 +1,49 @@
1
+ #!/usr/bin/env node
2
+ import { createRequire as __createRequire } from 'module';
3
+ import { fileURLToPath as __fileURLToPath } from 'url';
4
+ import { dirname as __pathDirname } from 'path';
5
+ const require = __createRequire(import.meta.url);
6
+ const __filename = __fileURLToPath(import.meta.url);
7
+ const __dirname = __pathDirname(__filename);
8
+ import{d as i,g as E}from"./chunk-KG7Z6OMK.mjs";import"./chunk-CE4RCNC7.mjs";import"./chunk-JAMSIKDE.mjs";import"./chunk-HDSS6UB3.mjs";import"./chunk-JQE2F2RK.mjs";import"./chunk-WUHGODSQ.mjs";import"./chunk-UH4MD3F3.mjs";import"./chunk-QWQFF2UG.mjs";import"./chunk-BUDZL4DW.mjs";import{a as p}from"./chunk-E66B27AL.mjs";E();var _=["blocks","parent"];function m(d,t=0){return{id:d.id,description:d.description,type:d.type,priority:d.priority,section:d.section,claimedBy:d.claimed_by,createdAt:d.created_at,unblocks:t}}p(m,"rowToReadyItem");var u=`
9
+ SELECT d.from_id FROM work_dependencies d
10
+ WHERE d.dep_type IN ('blocks', 'parent')
11
+ AND (
12
+ EXISTS (SELECT 1 FROM queue_tasks q WHERE q.id = d.to_id AND q.completed = 0)
13
+ OR EXISTS (SELECT 1 FROM tasks t WHERE t.id = d.to_id
14
+ AND t.status NOT IN ('completed', 'shipped', 'cancelled'))
15
+ )`,c=class{static{p(this,"WorkGraph")}addDependency(t,n,e,s){if(n===e)throw new Error("an item cannot depend on itself");if(_.includes(s)&&this.wouldCycle(t,n,e))throw new Error(`dependency ${n} \u2192 ${e} would create a blocking cycle`);i.run(t,`INSERT OR IGNORE INTO work_dependencies (from_id, to_id, dep_type, created_at)
16
+ VALUES (?, ?, ?, ?)`,n,e,s,new Date().toISOString())}wouldCycle(t,n,e){return i.get(t,`WITH RECURSIVE chain(id) AS (
17
+ SELECT ?
18
+ UNION
19
+ SELECT d.to_id FROM work_dependencies d JOIN chain c ON d.from_id = c.id
20
+ WHERE d.dep_type IN ('blocks', 'parent')
21
+ )
22
+ SELECT 1 AS found FROM chain WHERE id = ? LIMIT 1`,e,n)!=null}ready(t,n){return i.query(t,`SELECT q.id, q.description, q.type, q.priority, q.section, q.claimed_by, q.created_at,
23
+ (SELECT COUNT(*) FROM work_dependencies u
24
+ WHERE u.to_id = q.id AND u.dep_type IN ('blocks', 'parent')) AS unblocks
25
+ FROM queue_tasks q
26
+ WHERE q.completed = 0
27
+ AND q.id NOT IN (${u})
28
+ ${n?.unclaimedOnly?"AND q.claimed_by IS NULL":""}
29
+ ORDER BY unblocks DESC,
30
+ CASE q.priority WHEN 'high' THEN 0 WHEN 'medium' THEN 1 ELSE 2 END,
31
+ q.created_at ASC
32
+ LIMIT ?`,n?.limit??20).map(s=>m(s,s.unblocks))}next(t){return this.ready(t,{unclaimedOnly:!0,limit:1})[0]??null}claim(t,n,e){return i.run(t,`UPDATE queue_tasks SET claimed_by = ?, claimed_at = ?
33
+ WHERE id = ? AND completed = 0 AND claimed_by IS NULL`,e,new Date().toISOString(),n),i.get(t,"SELECT claimed_by FROM queue_tasks WHERE id = ?",n)?.claimed_by===e}release(t,n){i.run(t,"UPDATE queue_tasks SET claimed_by = NULL, claimed_at = NULL WHERE id = ?",n)}phases(t){let n=i.query(t,`WITH RECURSIVE lvl(id, phase) AS (
34
+ SELECT q.id, 1 FROM queue_tasks q
35
+ WHERE q.completed = 0 AND q.id NOT IN (${u})
36
+ UNION
37
+ SELECT d.from_id, lvl.phase + 1
38
+ FROM work_dependencies d
39
+ JOIN lvl ON d.to_id = lvl.id
40
+ JOIN queue_tasks q ON q.id = d.from_id AND q.completed = 0
41
+ WHERE d.dep_type IN ('blocks', 'parent')
42
+ )
43
+ SELECT id, MAX(phase) AS phase FROM lvl GROUP BY id ORDER BY phase, id`);if(n.length===0)return[];let e=new Map(n.map(r=>[r.id,r.phase])),s=this.allOpen(t).filter(r=>e.has(r.id)),a=new Map;for(let r of s){let o=e.get(r.id)??1,l=a.get(o)??[];l.push(r),a.set(o,l)}return[...a.entries()].sort((r,o)=>r[0]-o[0]).map(([r,o])=>({phase:r,items:o}))}allOpen(t){return i.query(t,"SELECT id, description, type, priority, section, claimed_by, created_at FROM queue_tasks WHERE completed = 0").map(e=>m(e))}recordComplexity(t,n,e){i.run(t,`INSERT INTO task_complexity (task_id, score, recommended_subtasks, expansion_prompt, reasoning, created_at)
44
+ VALUES (?, ?, ?, ?, ?, ?)
45
+ ON CONFLICT(task_id) DO UPDATE SET
46
+ score = excluded.score,
47
+ recommended_subtasks = excluded.recommended_subtasks,
48
+ expansion_prompt = excluded.expansion_prompt,
49
+ reasoning = excluded.reasoning`,n,e.score,e.recommendedSubtasks,e.expansionPrompt??null,e.reasoning??null,new Date().toISOString())}getComplexity(t,n){let e=i.get(t,"SELECT * FROM task_complexity WHERE task_id = ?",n);return e?{score:e.score,recommendedSubtasks:e.recommended_subtasks,expansionPrompt:e.expansion_prompt,reasoning:e.reasoning}:null}dependenciesOf(t,n){return i.query(t,"SELECT from_id, to_id, dep_type FROM work_dependencies WHERE from_id = ? OR to_id = ?",n,n).map(e=>({fromId:e.from_id,toId:e.to_id,depType:e.dep_type}))}},g=new c;export{g as workGraph};
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env node
2
+ import { createRequire as __createRequire } from 'module';
3
+ import { fileURLToPath as __fileURLToPath } from 'url';
4
+ import { dirname as __pathDirname } from 'path';
5
+ const require = __createRequire(import.meta.url);
6
+ const __filename = __fileURLToPath(import.meta.url);
7
+ const __dirname = __pathDirname(__filename);
8
+ import{c as a,d as b,e as c,f as d,g as e,h as f}from"./chunk-JUZ5LNDI.mjs";import"./chunk-FX6VHIKB.mjs";import"./chunk-HHIGNKDO.mjs";import"./chunk-7GNWHWOO.mjs";import"./chunk-JMCMTX6U.mjs";import"./chunk-R4ILCXKE.mjs";import"./chunk-27XFSCOE.mjs";import"./chunk-YUKGWWL7.mjs";import"./chunk-UUULLTQV.mjs";import"./chunk-5EQLQ7GF.mjs";import"./chunk-UA4Z5TGG.mjs";import"./chunk-TG5CQJD5.mjs";import"./chunk-M5E2YOZ4.mjs";import"./chunk-GAOQHD5S.mjs";import"./chunk-AZHE4VOM.mjs";import"./chunk-6RLCUGGG.mjs";import"./chunk-KG7Z6OMK.mjs";import"./chunk-CE4RCNC7.mjs";import"./chunk-JAMSIKDE.mjs";import"./chunk-HDSS6UB3.mjs";import"./chunk-JQE2F2RK.mjs";import"./chunk-WUHGODSQ.mjs";import"./chunk-UH4MD3F3.mjs";import"./chunk-QWQFF2UG.mjs";import"./chunk-GCKILEXJ.mjs";import"./chunk-EMTCZG5I.mjs";import"./chunk-PKDYFXMI.mjs";import"./chunk-BUDZL4DW.mjs";import"./chunk-E66B27AL.mjs";export{c as extractFilePathsFromEntries,d as formatWorkScopeBlock,f as isUsefulScopePath,b as resolveWorkScope,a as resolveWorkScopeSync,e as toLikelyFileHits};
@@ -5,4 +5,4 @@ import { dirname as __pathDirname } from 'path';
5
5
  const require = __createRequire(import.meta.url);
6
6
  const __filename = __fileURLToPath(import.meta.url);
7
7
  const __dirname = __pathDirname(__filename);
8
- import{c as w,e as k}from"./chunk-TRMBRDKH.mjs";import{a as g}from"./chunk-ZX2KFQV5.mjs";import{c as u,d}from"./chunk-CREPUNOS.mjs";import"./chunk-TPESWBA7.mjs";import"./chunk-QDQ7DTDV.mjs";import{b as i}from"./chunk-BISPGBNN.mjs";import"./chunk-LT5WSSQO.mjs";import"./chunk-HJ4HEI45.mjs";import"./chunk-3LG3ACQV.mjs";import"./chunk-AOPJ4Z6O.mjs";import"./chunk-AUUWQH3S.mjs";import"./chunk-HDHVBB6Q.mjs";import"./chunk-CE4RCNC7.mjs";import"./chunk-AKIN5WSQ.mjs";import"./chunk-HDSS6UB3.mjs";import"./chunk-JQE2F2RK.mjs";import"./chunk-WUHGODSQ.mjs";import"./chunk-SVZHJZ5T.mjs";import"./chunk-CTWZQ7YI.mjs";import"./chunk-BUDZL4DW.mjs";import{a as s}from"./chunk-E66B27AL.mjs";function b(e,o){return{taskId:e.id,description:e.description,ownerAgent:e.ownerAgent,ownerIdentity:e.ownerIdentity,startedAt:e.startedAt,workspaceId:o,branch:e.branch}}s(b,"asOwner");async function W(e,o,c){let t=c??w(o),r=await d(o),f=await g(e,o),p=r.isMain?await i.getCurrentTask(e):await i.getCurrentTaskForWorkspace(e,r.workspaceId),a=p?b(p,r.isMain?u:r.workspaceId):null,y=f.all.filter(n=>!n.isCurrent).map(n=>({taskId:n.id,description:n.description,startedAt:n.startedAt,workspaceId:n.workspaceId,branch:n.branch})),l=a!==null,I=l&&k(a,t);return{workspaceId:r.workspaceId,isMain:r.isMain,current:a,others:y,occupied:l,occupiedByMe:I}}s(W,"getOccupancy");function M(e,o,c){if(o==="off")return{isolate:!1,reason:"autoWorktree off"};if(!e.occupied||e.occupiedByMe)return{isolate:!1,reason:"workspace free or owned by caller"};let t=e.current,r=[t.ownerAgent,t.ownerIdentity].filter(Boolean).join("/")||"another agent";return e.isMain?o==="ask"?{isolate:!1,block:!0,occupant:t,reason:`Workspace owned by ${r} on "${t.description}" (${t.taskId.slice(0,8)}). Re-run with isolation (config multiAgent.autoWorktree=auto) or \`prjct switch <agent>\` to yield that cycle.`}:{isolate:!0,occupant:t,reason:`Branch/workspace owned by ${r} on "${t.description}" (${t.taskId.slice(0,8)}). Isolating to a sibling worktree.`}:{isolate:!1,block:!0,occupant:t,reason:`Workspace already owned by ${r} on "${t.description}" (${t.taskId.slice(0,8)}). Work elsewhere or \`prjct switch\` to take over.`}}s(M,"shouldIsolate");function $(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,40)||`work-${Date.now().toString(36)}`}s($,"worktreeSlugFromIntent");export{W as getOccupancy,M as shouldIsolate,$ as worktreeSlugFromIntent};
8
+ import{c as w,e as k}from"./chunk-TRMBRDKH.mjs";import{a as g}from"./chunk-D6IONKRA.mjs";import{c as u,d}from"./chunk-JCYXFHQZ.mjs";import"./chunk-TPESWBA7.mjs";import{b as i}from"./chunk-6UH244CC.mjs";import"./chunk-OUAS3LZ3.mjs";import"./chunk-INXNK57E.mjs";import"./chunk-5EQLQ7GF.mjs";import"./chunk-UA4Z5TGG.mjs";import"./chunk-TG5CQJD5.mjs";import"./chunk-M5E2YOZ4.mjs";import"./chunk-KG7Z6OMK.mjs";import"./chunk-CE4RCNC7.mjs";import"./chunk-JAMSIKDE.mjs";import"./chunk-HDSS6UB3.mjs";import"./chunk-JQE2F2RK.mjs";import"./chunk-WUHGODSQ.mjs";import"./chunk-UH4MD3F3.mjs";import"./chunk-QWQFF2UG.mjs";import"./chunk-BUDZL4DW.mjs";import{a as s}from"./chunk-E66B27AL.mjs";function b(e,o){return{taskId:e.id,description:e.description,ownerAgent:e.ownerAgent,ownerIdentity:e.ownerIdentity,startedAt:e.startedAt,workspaceId:o,branch:e.branch}}s(b,"asOwner");async function W(e,o,c){let t=c??w(o),r=await d(o),f=await g(e,o),p=r.isMain?await i.getCurrentTask(e):await i.getCurrentTaskForWorkspace(e,r.workspaceId),a=p?b(p,r.isMain?u:r.workspaceId):null,y=f.all.filter(n=>!n.isCurrent).map(n=>({taskId:n.id,description:n.description,startedAt:n.startedAt,workspaceId:n.workspaceId,branch:n.branch})),l=a!==null,I=l&&k(a,t);return{workspaceId:r.workspaceId,isMain:r.isMain,current:a,others:y,occupied:l,occupiedByMe:I}}s(W,"getOccupancy");function M(e,o,c){if(o==="off")return{isolate:!1,reason:"autoWorktree off"};if(!e.occupied||e.occupiedByMe)return{isolate:!1,reason:"workspace free or owned by caller"};let t=e.current,r=[t.ownerAgent,t.ownerIdentity].filter(Boolean).join("/")||"another agent";return e.isMain?o==="ask"?{isolate:!1,block:!0,occupant:t,reason:`Workspace owned by ${r} on "${t.description}" (${t.taskId.slice(0,8)}). Re-run with isolation (config multiAgent.autoWorktree=auto) or \`prjct switch <agent>\` to yield that cycle.`}:{isolate:!0,occupant:t,reason:`Branch/workspace owned by ${r} on "${t.description}" (${t.taskId.slice(0,8)}). Isolating to a sibling worktree.`}:{isolate:!1,block:!0,occupant:t,reason:`Workspace already owned by ${r} on "${t.description}" (${t.taskId.slice(0,8)}). Work elsewhere or \`prjct switch\` to take over.`}}s(M,"shouldIsolate");function $(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,40)||`work-${Date.now().toString(36)}`}s($,"worktreeSlugFromIntent");export{W as getOccupancy,M as shouldIsolate,$ as worktreeSlugFromIntent};
@@ -5,7 +5,7 @@ import { dirname as __pathDirname } from 'path';
5
5
  const require = __createRequire(import.meta.url);
6
6
  const __filename = __fileURLToPath(import.meta.url);
7
7
  const __dirname = __pathDirname(__filename);
8
- import{j as g,n as v}from"./chunk-SVZHJZ5T.mjs";import{a as s,o as b}from"./chunk-CTWZQ7YI.mjs";import"./chunk-BUDZL4DW.mjs";import{a as d}from"./chunk-E66B27AL.mjs";b();v();import l from"node:fs/promises";import n from"node:path";var k=".worktrees",f=class{static{d(this,"WorktreeService")}async create(t,e,r={}){let i=await this.getMainWorktree(t),a=n.join(i,k,e),h=r.branch||`feat/${e}`;await l.mkdir(n.join(i,k),{recursive:!0});let c=r.baseBranch?` ${r.baseBranch}`:"";await s(`git worktree add "${a}" -b "${h}"${c}`,{cwd:i});let{stdout:w}=await s("git rev-parse HEAD",{cwd:a});return{path:a,branch:h,commit:w.trim(),isMain:!1,slug:e}}async remove(t,e=!1){let r=await this.getMainWorktree(t),i=e?await s("git rev-parse --abbrev-ref HEAD",{cwd:t}).then(({stdout:a})=>a.trim()).catch(()=>{}):void 0;if(await s(`git worktree remove "${t}" --force`,{cwd:r}),e&&i&&i!=="main"&&i!=="master")try{await s(`git branch -D "${i}"`,{cwd:r})}catch{}}async list(t){let e=await this.getMainWorktree(t),{stdout:r}=await s("git worktree list --porcelain",{cwd:e});return this.parsePorcelainOutput(r,e)}async detect(t){try{let{stdout:e}=await s("git rev-parse --git-common-dir",{cwd:t}),{stdout:r}=await s("git rev-parse --git-dir",{cwd:t}),i=n.resolve(t,e.trim()),a=n.resolve(t,r.trim());if(i!==a){let{stdout:h}=await s("git rev-parse --abbrev-ref HEAD",{cwd:t}),{stdout:c}=await s("git rev-parse HEAD",{cwd:t}),{stdout:w}=await s("git rev-parse --show-toplevel",{cwd:t}),p=w.trim(),u=n.basename(p);return{path:p,branch:h.trim(),commit:c.trim(),isMain:!1,slug:u}}return null}catch{return null}}async getMainWorktree(t){try{let{stdout:r}=await s("git worktree list --porcelain",{cwd:t}),i=r.split(`
8
+ import{k as g,o as v}from"./chunk-UH4MD3F3.mjs";import{a as s,p as b}from"./chunk-QWQFF2UG.mjs";import"./chunk-BUDZL4DW.mjs";import{a as d}from"./chunk-E66B27AL.mjs";b();v();import l from"node:fs/promises";import n from"node:path";var k=".worktrees",f=class{static{d(this,"WorktreeService")}async create(t,e,r={}){let i=await this.getMainWorktree(t),a=n.join(i,k,e),h=r.branch||`feat/${e}`;await l.mkdir(n.join(i,k),{recursive:!0});let c=r.baseBranch?` ${r.baseBranch}`:"";await s(`git worktree add "${a}" -b "${h}"${c}`,{cwd:i});let{stdout:w}=await s("git rev-parse HEAD",{cwd:a});return{path:a,branch:h,commit:w.trim(),isMain:!1,slug:e}}async remove(t,e=!1){let r=await this.getMainWorktree(t),i=e?await s("git rev-parse --abbrev-ref HEAD",{cwd:t}).then(({stdout:a})=>a.trim()).catch(()=>{}):void 0;if(await s(`git worktree remove "${t}" --force`,{cwd:r}),e&&i&&i!=="main"&&i!=="master")try{await s(`git branch -D "${i}"`,{cwd:r})}catch{}}async list(t){let e=await this.getMainWorktree(t),{stdout:r}=await s("git worktree list --porcelain",{cwd:e});return this.parsePorcelainOutput(r,e)}async detect(t){try{let{stdout:e}=await s("git rev-parse --git-common-dir",{cwd:t}),{stdout:r}=await s("git rev-parse --git-dir",{cwd:t}),i=n.resolve(t,e.trim()),a=n.resolve(t,r.trim());if(i!==a){let{stdout:h}=await s("git rev-parse --abbrev-ref HEAD",{cwd:t}),{stdout:c}=await s("git rev-parse HEAD",{cwd:t}),{stdout:w}=await s("git rev-parse --show-toplevel",{cwd:t}),p=w.trim(),u=n.basename(p);return{path:p,branch:h.trim(),commit:c.trim(),isMain:!1,slug:u}}return null}catch{return null}}async getMainWorktree(t){try{let{stdout:r}=await s("git worktree list --porcelain",{cwd:t}),i=r.split(`
9
9
  `)[0];if(i?.startsWith("worktree "))return i.replace("worktree ","").trim()}catch{}let{stdout:e}=await s("git rev-parse --show-toplevel",{cwd:t});return e.trim()}async setup(t,e){let r=n.join(e,".env");await g(r)&&await l.copyFile(r,n.join(t,".env"));let i=n.join(e,".prjct"),a=n.join(t,".prjct");await g(i)&&!await g(a)&&await l.symlink(i,a,"dir")}async teardown(t){}async clean(t){let e=await this.list(t),r=[],i=await this.getMainWorktree(t);await s("git worktree prune",{cwd:i});for(let a of e)a.isMain||await g(a.path)||r.push(a.slug);return r}parsePorcelainOutput(t,e){let r=[],i=t.trim().split(`
10
10
 
11
11
  `);for(let a of i){if(!a.trim())continue;let h=a.trim().split(`