@unbrained/pm-cli 2026.7.8 → 2026.7.10

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 (446) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/README.md +1 -0
  3. package/dist/cli/bootstrap-args.js +6 -3
  4. package/dist/cli/bootstrap-args.js.map +1 -1
  5. package/dist/cli/commands/close.js +5 -2
  6. package/dist/cli/commands/close.js.map +1 -1
  7. package/dist/cli/commands/completion.js +8 -2
  8. package/dist/cli/commands/completion.js.map +1 -1
  9. package/dist/cli/commands/context.d.ts +23 -0
  10. package/dist/cli/commands/context.js +96 -7
  11. package/dist/cli/commands/context.js.map +1 -1
  12. package/dist/cli/commands/contracts.d.ts +11 -0
  13. package/dist/cli/commands/contracts.js +112 -15
  14. package/dist/cli/commands/contracts.js.map +1 -1
  15. package/dist/cli/commands/create.js +4 -2
  16. package/dist/cli/commands/create.js.map +1 -1
  17. package/dist/cli/commands/extension.d.ts +1 -1
  18. package/dist/cli/commands/extension.js +91 -32
  19. package/dist/cli/commands/extension.js.map +1 -1
  20. package/dist/cli/commands/init.d.ts +19 -3
  21. package/dist/cli/commands/init.js +57 -24
  22. package/dist/cli/commands/init.js.map +1 -1
  23. package/dist/cli/commands/list.d.ts +4 -0
  24. package/dist/cli/commands/list.js +32 -3
  25. package/dist/cli/commands/list.js.map +1 -1
  26. package/dist/cli/commands/next.d.ts +3 -1
  27. package/dist/cli/commands/next.js +19 -7
  28. package/dist/cli/commands/next.js.map +1 -1
  29. package/dist/cli/commands/update.d.ts +32 -1
  30. package/dist/cli/commands/update.js +37 -10
  31. package/dist/cli/commands/update.js.map +1 -1
  32. package/dist/cli/register-list-query.js +10 -4
  33. package/dist/cli/register-list-query.js.map +1 -1
  34. package/dist/cli/register-operations.js +4 -2
  35. package/dist/cli/register-operations.js.map +1 -1
  36. package/dist/cli/register-setup.js +11 -2
  37. package/dist/cli/register-setup.js.map +1 -1
  38. package/dist/cli/registration-helpers.js +4 -2
  39. package/dist/cli/registration-helpers.js.map +1 -1
  40. package/dist/cli-bundle/chunks/append-G7NGOQVU.js +11 -0
  41. package/dist/cli-bundle/chunks/{append-RSPHC423.js → append-SIECQAPH.js} +5 -5
  42. package/dist/cli-bundle/chunks/{chunk-CGDUIPJL.js → chunk-22PW73KV.js} +3 -3
  43. package/dist/cli-bundle/chunks/{chunk-ML27MHNM.js → chunk-2RW5DWHQ.js} +98 -22
  44. package/dist/cli-bundle/chunks/chunk-2RW5DWHQ.js.map +1 -0
  45. package/dist/cli-bundle/chunks/{chunk-GO2X6ZRB.js → chunk-35U3AVRY.js} +3 -3
  46. package/dist/cli-bundle/chunks/{chunk-4I7KS5ES.js → chunk-3JFQRPOI.js} +2 -2
  47. package/dist/cli-bundle/chunks/{chunk-NRMDT4OV.js → chunk-3THCOPYI.js} +4 -4
  48. package/dist/cli-bundle/chunks/{chunk-D6J5673C.js → chunk-4BINCIRM.js} +4 -4
  49. package/dist/cli-bundle/chunks/{chunk-D63PEJTB.js → chunk-4P2GYOM5.js} +7 -7
  50. package/dist/cli-bundle/chunks/{chunk-LHDHS4Z6.js → chunk-4QE5HOJY.js} +5 -5
  51. package/dist/cli-bundle/chunks/{chunk-5VAZHYVQ.js → chunk-56J3MPGE.js} +2 -2
  52. package/dist/cli-bundle/chunks/{chunk-UCRYCT5M.js → chunk-5BFBDJ4R.js} +38 -16
  53. package/dist/cli-bundle/chunks/chunk-5BFBDJ4R.js.map +1 -0
  54. package/dist/cli-bundle/chunks/{chunk-IINCZYM3.js → chunk-62ECRG6J.js} +3 -3
  55. package/dist/cli-bundle/chunks/{chunk-EYPIUFWJ.js → chunk-62KPBB2W.js} +10 -10
  56. package/dist/cli-bundle/chunks/{chunk-3FUXM574.js → chunk-6MK6M35B.js} +4 -4
  57. package/dist/cli-bundle/chunks/{chunk-XN5BEN2B.js → chunk-6PBZBIS6.js} +35 -8
  58. package/dist/cli-bundle/chunks/chunk-6PBZBIS6.js.map +1 -0
  59. package/dist/cli-bundle/chunks/{chunk-GQOKFX2G.js → chunk-6WIP52LQ.js} +8 -8
  60. package/dist/cli-bundle/chunks/{chunk-GLMJLBLR.js → chunk-75NAGPEL.js} +3 -3
  61. package/dist/cli-bundle/chunks/{chunk-6TD5QGIB.js → chunk-77CWXIAC.js} +4 -4
  62. package/dist/cli-bundle/chunks/{chunk-3FRNNVWY.js → chunk-7S2UC7S6.js} +427 -133
  63. package/dist/cli-bundle/chunks/chunk-7S2UC7S6.js.map +7 -0
  64. package/dist/cli-bundle/chunks/{chunk-PAWPLIWW.js → chunk-7THLDY3D.js} +5 -5
  65. package/dist/cli-bundle/chunks/{chunk-QJZM5WO5.js → chunk-7TRCAREE.js} +3 -3
  66. package/dist/cli-bundle/chunks/{chunk-EEJKHF7M.js → chunk-7TRVVYPI.js} +5 -5
  67. package/dist/cli-bundle/chunks/{chunk-PJPZTE7P.js → chunk-A62N3BM3.js} +8 -6
  68. package/dist/cli-bundle/chunks/chunk-A62N3BM3.js.map +7 -0
  69. package/dist/cli-bundle/chunks/{chunk-TU5P744I.js → chunk-A7DJG5EF.js} +55 -6
  70. package/dist/cli-bundle/chunks/chunk-A7DJG5EF.js.map +7 -0
  71. package/dist/cli-bundle/chunks/{chunk-ZMOPZFVT.js → chunk-AD4HJKQZ.js} +49 -7
  72. package/dist/cli-bundle/chunks/chunk-AD4HJKQZ.js.map +1 -0
  73. package/dist/cli-bundle/chunks/{chunk-7QKSLAHB.js → chunk-AIWGQK6K.js} +2 -2
  74. package/dist/cli-bundle/chunks/{chunk-P2WE5KCU.js → chunk-AKCHJXJ4.js} +7 -7
  75. package/dist/cli-bundle/chunks/{chunk-KFL3XHMA.js → chunk-AYPXY3HF.js} +2 -2
  76. package/dist/cli-bundle/chunks/{chunk-RL24NAUX.js → chunk-B7FCPO65.js} +4 -4
  77. package/dist/cli-bundle/chunks/{chunk-4OCWJ2AP.js → chunk-BC7QBM2A.js} +7 -7
  78. package/dist/cli-bundle/chunks/{chunk-LD2NBQ5T.js → chunk-BST7GFIX.js} +3 -3
  79. package/dist/cli-bundle/chunks/{chunk-GE44TQMC.js → chunk-CUBPPDDF.js} +145 -62
  80. package/dist/cli-bundle/chunks/chunk-CUBPPDDF.js.map +1 -0
  81. package/dist/cli-bundle/chunks/{chunk-FJR2S7S4.js → chunk-CYBW4HK7.js} +7 -7
  82. package/dist/cli-bundle/chunks/{chunk-7UCBLJDF.js → chunk-DDF7UMVV.js} +2 -2
  83. package/dist/cli-bundle/chunks/{chunk-YQEKE4FO.js → chunk-DLHFJZ2S.js} +7 -7
  84. package/dist/cli-bundle/chunks/{chunk-PCBZ2VJD.js → chunk-DMD2TENU.js} +4 -4
  85. package/dist/cli-bundle/chunks/{chunk-SCJPFQQT.js → chunk-DN67YDFH.js} +3 -3
  86. package/dist/cli-bundle/chunks/{chunk-7TBUV7XS.js → chunk-DNHILSD7.js} +4 -4
  87. package/dist/cli-bundle/chunks/{chunk-FFB3WITE.js → chunk-DT6NDP53.js} +3 -3
  88. package/dist/cli-bundle/chunks/{chunk-G4FKP4ID.js → chunk-DWGHHSDC.js} +9 -7
  89. package/dist/cli-bundle/chunks/chunk-DWGHHSDC.js.map +1 -0
  90. package/dist/cli-bundle/chunks/{chunk-3V5C7PUH.js → chunk-DYUAQVDK.js} +2 -2
  91. package/dist/cli-bundle/chunks/{chunk-MCH6IKK7.js → chunk-E2RJZQNW.js} +3 -3
  92. package/dist/cli-bundle/chunks/{chunk-6ZKDMEVT.js → chunk-ECXJ7OHI.js} +3 -3
  93. package/dist/cli-bundle/chunks/{chunk-LG4N6YOK.js → chunk-ESXG6VFX.js} +5 -5
  94. package/dist/cli-bundle/chunks/{chunk-TR2C6V5T.js → chunk-EXG6XTJC.js} +101 -25
  95. package/dist/cli-bundle/chunks/chunk-EXG6XTJC.js.map +7 -0
  96. package/dist/cli-bundle/chunks/{chunk-BPJ5NYSJ.js → chunk-F7UA74OZ.js} +54 -7
  97. package/dist/cli-bundle/chunks/chunk-F7UA74OZ.js.map +7 -0
  98. package/dist/cli-bundle/chunks/{chunk-GSQVQINP.js → chunk-FBD2WUNS.js} +4 -4
  99. package/dist/cli-bundle/chunks/{chunk-YSRXFGNV.js → chunk-FSD7W7Y2.js} +3 -3
  100. package/dist/cli-bundle/chunks/{chunk-JYVPLGOW.js → chunk-FWL5XVYI.js} +4 -4
  101. package/dist/cli-bundle/chunks/{chunk-KMXVZ2P7.js → chunk-FYMHD6VX.js} +122 -27
  102. package/dist/cli-bundle/chunks/chunk-FYMHD6VX.js.map +1 -0
  103. package/dist/cli-bundle/chunks/{chunk-SIQGG335.js → chunk-GMNCW27N.js} +7 -7
  104. package/dist/cli-bundle/chunks/{chunk-3SHDAKMF.js → chunk-GPPWUJMR.js} +3 -3
  105. package/dist/cli-bundle/chunks/{chunk-W2VFNVSJ.js → chunk-H3HKQXQJ.js} +3 -3
  106. package/dist/cli-bundle/chunks/{chunk-UIHDZS6X.js → chunk-HFQ7QQZL.js} +7 -7
  107. package/dist/cli-bundle/chunks/{chunk-Z6RLSNUX.js → chunk-HLUB7G6J.js} +3 -3
  108. package/dist/cli-bundle/chunks/{chunk-ASMRSIDX.js → chunk-HWUIK7YL.js} +121 -26
  109. package/dist/cli-bundle/chunks/chunk-HWUIK7YL.js.map +7 -0
  110. package/dist/cli-bundle/chunks/{chunk-U72GF3I2.js → chunk-INAZHXOI.js} +3 -3
  111. package/dist/cli-bundle/chunks/{chunk-INOWVPUD.js → chunk-J3ELHLOJ.js} +5 -5
  112. package/dist/cli-bundle/chunks/{chunk-2BVD4ZD2.js → chunk-J3FDNQWM.js} +4 -3
  113. package/dist/cli-bundle/chunks/chunk-J3FDNQWM.js.map +7 -0
  114. package/dist/cli-bundle/chunks/{chunk-UH6VFRV6.js → chunk-J3Z2JMDV.js} +3 -3
  115. package/dist/cli-bundle/chunks/{chunk-HI27UADG.js → chunk-JDEXIVKQ.js} +372 -20
  116. package/dist/cli-bundle/chunks/chunk-JDEXIVKQ.js.map +1 -0
  117. package/dist/cli-bundle/chunks/{chunk-MYHFZNBO.js → chunk-JFOBTM4D.js} +8 -8
  118. package/dist/cli-bundle/chunks/{chunk-J6AD3GWC.js → chunk-JNELC5UO.js} +2 -2
  119. package/dist/cli-bundle/chunks/{chunk-YUCKM3MD.js → chunk-JQ5NB6O2.js} +4 -4
  120. package/dist/cli-bundle/chunks/{chunk-3UXIMY62.js → chunk-KFC6X4PI.js} +3 -3
  121. package/dist/cli-bundle/chunks/{chunk-C3YU3TXX.js → chunk-L2SWAZ3S.js} +2 -2
  122. package/dist/cli-bundle/chunks/{chunk-QLEH6FTQ.js → chunk-LVVZLEW5.js} +4 -4
  123. package/dist/cli-bundle/chunks/{chunk-RFHLRMLQ.js → chunk-M66PC7JI.js} +3 -3
  124. package/dist/cli-bundle/chunks/{chunk-UVFJSKTF.js → chunk-M7DWRMNY.js} +10 -7
  125. package/dist/cli-bundle/chunks/chunk-M7DWRMNY.js.map +1 -0
  126. package/dist/cli-bundle/chunks/{chunk-UEATYUZW.js → chunk-M7JYEBPT.js} +2 -2
  127. package/dist/cli-bundle/chunks/{chunk-Z2JQH2MG.js → chunk-MQ632QRB.js} +2 -2
  128. package/dist/cli-bundle/chunks/{chunk-IYRG5AEC.js → chunk-N7N3PUUP.js} +7 -7
  129. package/dist/cli-bundle/chunks/{chunk-3YJDIJIE.js → chunk-NPJLTZQZ.js} +3 -3
  130. package/dist/cli-bundle/chunks/{chunk-TUDAYIO7.js → chunk-NQTIOKHL.js} +12 -10
  131. package/dist/cli-bundle/chunks/{chunk-TUDAYIO7.js.map → chunk-NQTIOKHL.js.map} +1 -1
  132. package/dist/cli-bundle/chunks/{chunk-BFNFTHWQ.js → chunk-O67XP4FD.js} +3 -3
  133. package/dist/cli-bundle/chunks/{chunk-XPSGJ4IV.js → chunk-OVYXSZOQ.js} +11 -9
  134. package/dist/cli-bundle/chunks/{chunk-XPSGJ4IV.js.map → chunk-OVYXSZOQ.js.map} +2 -2
  135. package/dist/cli-bundle/chunks/{chunk-FOJEBRDD.js → chunk-P7PDLLCE.js} +5 -5
  136. package/dist/cli-bundle/chunks/{chunk-SN5X5GTU.js → chunk-PEACKWHL.js} +4 -4
  137. package/dist/cli-bundle/chunks/{chunk-HZZ3AC27.js → chunk-PFRGQZG2.js} +3 -3
  138. package/dist/cli-bundle/chunks/{chunk-Q3CFSOQZ.js → chunk-PMU2OJ3N.js} +4 -4
  139. package/dist/cli-bundle/chunks/{chunk-5STY7NVM.js → chunk-PUMTJMMF.js} +4 -4
  140. package/dist/cli-bundle/chunks/{chunk-K52C6YPA.js → chunk-QTJCMK2S.js} +5 -5
  141. package/dist/cli-bundle/chunks/{chunk-6FU5BVRB.js → chunk-RAE2SLNO.js} +4 -4
  142. package/dist/cli-bundle/chunks/{chunk-YR5R4FMQ.js → chunk-RYA7QE7B.js} +10 -10
  143. package/dist/cli-bundle/chunks/{chunk-TTCJCKUJ.js → chunk-SL337EYZ.js} +379 -20
  144. package/dist/cli-bundle/chunks/chunk-SL337EYZ.js.map +7 -0
  145. package/dist/cli-bundle/chunks/{chunk-RDJXIAJB.js → chunk-SMKQFGDI.js} +9 -6
  146. package/dist/cli-bundle/chunks/chunk-SMKQFGDI.js.map +7 -0
  147. package/dist/cli-bundle/chunks/{chunk-UFNFHCAC.js → chunk-SWQMU4AD.js} +2 -2
  148. package/dist/cli-bundle/chunks/{chunk-MFLLULHU.js → chunk-TB2CZJAQ.js} +5 -4
  149. package/dist/cli-bundle/chunks/chunk-TB2CZJAQ.js.map +1 -0
  150. package/dist/cli-bundle/chunks/{chunk-WVEMZZCR.js → chunk-TEKAGPZV.js} +3 -3
  151. package/dist/cli-bundle/chunks/{chunk-JH5XDDYS.js → chunk-TM5E2IED.js} +5 -5
  152. package/dist/cli-bundle/chunks/{chunk-C6XSTACC.js → chunk-TTRL5GE6.js} +3 -3
  153. package/dist/cli-bundle/chunks/{chunk-AEOFBBWO.js → chunk-UA2VI62P.js} +3 -3
  154. package/dist/cli-bundle/chunks/{chunk-6RR4XM5H.js → chunk-UYK26VRP.js} +3 -3
  155. package/dist/cli-bundle/chunks/{chunk-CXH7EMSB.js → chunk-VBDQTL3Z.js} +3 -3
  156. package/dist/cli-bundle/chunks/{chunk-NGBWEYNY.js → chunk-W2FXYQ6D.js} +5 -5
  157. package/dist/cli-bundle/chunks/{chunk-UURYLDDC.js → chunk-WZ7EPGUX.js} +5 -5
  158. package/dist/cli-bundle/chunks/{chunk-2RADY7IB.js → chunk-XES6AVCK.js} +427 -126
  159. package/dist/cli-bundle/chunks/chunk-XES6AVCK.js.map +1 -0
  160. package/dist/cli-bundle/chunks/{chunk-QYZMZD4L.js → chunk-XVCB574W.js} +4 -4
  161. package/dist/cli-bundle/chunks/{chunk-F5DDGY6R.js → chunk-XWS3Z57Q.js} +3 -3
  162. package/dist/cli-bundle/chunks/{chunk-EP2CKDS7.js → chunk-XXJB4GLJ.js} +2 -2
  163. package/dist/cli-bundle/chunks/{chunk-NTOOEVJ4.js → chunk-Y5Q4FEE4.js} +47 -7
  164. package/dist/cli-bundle/chunks/chunk-Y5Q4FEE4.js.map +1 -0
  165. package/dist/cli-bundle/chunks/{chunk-DUBC6TI3.js → chunk-YA4B6P3L.js} +37 -15
  166. package/dist/cli-bundle/chunks/chunk-YA4B6P3L.js.map +7 -0
  167. package/dist/cli-bundle/chunks/{chunk-FL625JJM.js → chunk-Z3R2Z5KW.js} +145 -62
  168. package/dist/cli-bundle/chunks/chunk-Z3R2Z5KW.js.map +7 -0
  169. package/dist/cli-bundle/chunks/{chunk-RLHQ3G4M.js → chunk-Z5MFM54X.js} +34 -7
  170. package/dist/cli-bundle/chunks/chunk-Z5MFM54X.js.map +7 -0
  171. package/dist/cli-bundle/chunks/{chunk-6WCXSC5V.js → chunk-ZGDJA6WI.js} +5 -5
  172. package/dist/cli-bundle/chunks/{chunk-TKWTJGD6.js → chunk-ZIU35KME.js} +5 -5
  173. package/dist/cli-bundle/chunks/{chunk-YUMNZS3X.js → chunk-ZQ2KEWE7.js} +3 -3
  174. package/dist/cli-bundle/chunks/close-2NVUCJXV.js +12 -0
  175. package/dist/cli-bundle/chunks/{close-K6BFI3OX.js → close-BZPS37KL.js} +5 -5
  176. package/dist/cli-bundle/chunks/{close-many-6NBL3PM4.js → close-many-KKNCGLVR.js} +13 -13
  177. package/dist/cli-bundle/chunks/close-many-S5WKLWVO.js +22 -0
  178. package/dist/cli-bundle/chunks/{comments-PLFK5ZKK.js → comments-PV5XG342.js} +7 -7
  179. package/dist/cli-bundle/chunks/comments-XAM2ADHO.js +13 -0
  180. package/dist/cli-bundle/chunks/copy-OJ2YNJ7S.js +9 -0
  181. package/dist/cli-bundle/chunks/{copy-VH3L4MN2.js → copy-OZDYDQUG.js} +4 -4
  182. package/dist/cli-bundle/chunks/create-5O3QK3PX.js +25 -0
  183. package/dist/cli-bundle/chunks/{create-TRIBYORN.js → create-WGFKEJAK.js} +9 -9
  184. package/dist/cli-bundle/chunks/{delete-ZNXUNCZR.js → delete-NTYXFL7A.js} +4 -4
  185. package/dist/cli-bundle/chunks/delete-V7FPW6JL.js +10 -0
  186. package/dist/cli-bundle/chunks/{deps-CVDY7FFK.js → deps-7WVENNH3.js} +4 -4
  187. package/dist/cli-bundle/chunks/{deps-SZXQHV73.js → deps-Z6RD6RWW.js} +4 -4
  188. package/dist/cli-bundle/chunks/{docs-DR74ITCD.js → docs-2NIRGHAN.js} +6 -6
  189. package/dist/cli-bundle/chunks/docs-SOY2CMH3.js +14 -0
  190. package/dist/cli-bundle/chunks/{files-QEFQ2M3H.js → files-4OH2I663.js} +6 -6
  191. package/dist/cli-bundle/chunks/{files-H5YCA74Z.js → files-5KNAFW67.js} +6 -6
  192. package/dist/cli-bundle/chunks/{focus-55TRYSNA.js → focus-CLNZWWKW.js} +5 -5
  193. package/dist/cli-bundle/chunks/focus-JUKXZN3J.js +10 -0
  194. package/dist/cli-bundle/chunks/{history-compact-JJZ4EFL3.js → history-compact-R3T3XPD4.js} +9 -9
  195. package/dist/cli-bundle/chunks/history-compact-WKAKPLFQ.js +21 -0
  196. package/dist/cli-bundle/chunks/{history-redact-TPPUT3A5.js → history-redact-CLJDCBNF.js} +7 -7
  197. package/dist/cli-bundle/chunks/history-redact-Y67UDKD3.js +17 -0
  198. package/dist/cli-bundle/chunks/history-repair-2WLXWQAM.js +19 -0
  199. package/dist/cli-bundle/chunks/{history-repair-J7PIZ6ZP.js → history-repair-LNA7V2VI.js} +9 -9
  200. package/dist/cli-bundle/chunks/{learnings-KB6BT4NR.js → learnings-2L72KBOE.js} +7 -7
  201. package/dist/cli-bundle/chunks/learnings-PNK7WUWO.js +13 -0
  202. package/dist/cli-bundle/chunks/{notes-ZTHXVOKM.js → notes-USDIABZV.js} +7 -7
  203. package/dist/cli-bundle/chunks/notes-X4SWEJSB.js +13 -0
  204. package/dist/cli-bundle/chunks/plan-JU454RMZ.js +24 -0
  205. package/dist/cli-bundle/chunks/{plan-CJPKFRBK.js → plan-U4RWU56Z.js} +10 -10
  206. package/dist/cli-bundle/chunks/{profile-AQNHXOYA.js → profile-COBKZJUQ.js} +9 -9
  207. package/dist/cli-bundle/chunks/{profile-HTBFINKQ.js → profile-RKIRCXH7.js} +9 -9
  208. package/dist/cli-bundle/chunks/{register-list-query-EEF33SUJ.js → register-list-query-2VBANNFM.js} +20 -18
  209. package/dist/cli-bundle/chunks/register-list-query-2VBANNFM.js.map +1 -0
  210. package/dist/cli-bundle/chunks/{register-list-query-S4FBWIWN.js → register-list-query-4AZEKWZ5.js} +19 -17
  211. package/dist/cli-bundle/chunks/register-list-query-4AZEKWZ5.js.map +7 -0
  212. package/dist/cli-bundle/chunks/{register-mutation-QFLRBCI7.js → register-mutation-JGXTDEIZ.js} +29 -29
  213. package/dist/cli-bundle/chunks/{register-mutation-L5Q7AUDN.js → register-mutation-XVO4GGZI.js} +29 -29
  214. package/dist/cli-bundle/chunks/{register-operations-HDE4FVW4.js → register-operations-4EEFV5KJ.js} +30 -29
  215. package/dist/cli-bundle/chunks/register-operations-4EEFV5KJ.js.map +1 -0
  216. package/dist/cli-bundle/chunks/{register-operations-QDU43FCG.js → register-operations-UV25Z4BN.js} +29 -28
  217. package/dist/cli-bundle/chunks/register-operations-UV25Z4BN.js.map +7 -0
  218. package/dist/cli-bundle/chunks/{register-setup-EGMTAXDC.js → register-setup-MMXQQC5J.js} +27 -19
  219. package/dist/cli-bundle/chunks/register-setup-MMXQQC5J.js.map +1 -0
  220. package/dist/cli-bundle/chunks/{register-setup-PNIO3L2P.js → register-setup-NQE5MW63.js} +26 -18
  221. package/dist/cli-bundle/chunks/register-setup-NQE5MW63.js.map +7 -0
  222. package/dist/cli-bundle/chunks/restore-54HR2EYD.js +15 -0
  223. package/dist/cli-bundle/chunks/{restore-BTBEZ5CK.js → restore-BINCHJIY.js} +7 -7
  224. package/dist/cli-bundle/chunks/{schema-DGSTYYQB.js → schema-2JZNEQSG.js} +6 -6
  225. package/dist/cli-bundle/chunks/{schema-HAIBEE24.js → schema-VV3K5WZI.js} +6 -6
  226. package/dist/cli-bundle/chunks/{update-MP4XLU56.js → update-DK3GAY5D.js} +12 -12
  227. package/dist/cli-bundle/chunks/update-OIMRKTX6.js +21 -0
  228. package/dist/cli-bundle/chunks/update-many-5KI6MW76.js +31 -0
  229. package/dist/cli-bundle/chunks/update-many-IOLDHIZT.js +35 -0
  230. package/dist/cli-bundle/main.js +16 -54
  231. package/dist/cli-bundle/main.js.map +3 -3
  232. package/dist/cli-bundle/sdk-runtime.js +117 -53
  233. package/dist/cli-bundle/sdk-testing.js +6 -6
  234. package/dist/cli-bundle/sdk.js +142 -58
  235. package/dist/cli-bundle/sdk.js.map +3 -3
  236. package/dist/core/extensions/extension-types.d.ts +1 -1
  237. package/dist/core/extensions/extension-types.js +3 -2
  238. package/dist/core/extensions/extension-types.js.map +1 -1
  239. package/dist/core/extensions/index.d.ts +1 -0
  240. package/dist/core/extensions/index.js +3 -2
  241. package/dist/core/extensions/index.js.map +1 -1
  242. package/dist/core/store/front-matter-cache.d.ts +8 -0
  243. package/dist/core/store/front-matter-cache.js +22 -9
  244. package/dist/core/store/front-matter-cache.js.map +1 -1
  245. package/dist/sdk/cli-contracts/commander-mutation-options.js +4 -4
  246. package/dist/sdk/cli-contracts/commander-mutation-options.js.map +1 -1
  247. package/dist/sdk/cli-contracts/enum-contracts.d.ts +1 -1
  248. package/dist/sdk/cli-contracts/flag-contracts.js +10 -2
  249. package/dist/sdk/cli-contracts/flag-contracts.js.map +1 -1
  250. package/dist/sdk/cli-contracts/tool-option-contracts.js +10 -5
  251. package/dist/sdk/cli-contracts/tool-option-contracts.js.map +1 -1
  252. package/dist/sdk/cli-contracts/tool-parameter-tables.js +12 -4
  253. package/dist/sdk/cli-contracts/tool-parameter-tables.js.map +1 -1
  254. package/dist/sdk/cli-contracts/tool-schema.d.ts +4 -0
  255. package/dist/sdk/cli-contracts/tool-schema.js +66 -11
  256. package/dist/sdk/cli-contracts/tool-schema.js.map +1 -1
  257. package/dist/sdk/context-relevance.d.ts +166 -0
  258. package/dist/sdk/context-relevance.js +299 -0
  259. package/dist/sdk/context-relevance.js.map +1 -0
  260. package/dist/sdk/index.d.ts +2 -1
  261. package/dist/sdk/index.js +4 -3
  262. package/dist/sdk/index.js.map +1 -1
  263. package/dist/sdk/runtime.d.ts +340 -25
  264. package/dist/sdk/runtime.js +413 -25
  265. package/dist/sdk/runtime.js.map +1 -1
  266. package/docs/AGENT_GUIDE.md +3 -0
  267. package/docs/COMMANDS.md +17 -2
  268. package/docs/EXTENSIONS.md +3 -1
  269. package/docs/SDK.md +115 -0
  270. package/docs/TESTING.md +40 -1
  271. package/package.json +4 -2
  272. package/dist/cli-bundle/chunks/append-CDPAYYSB.js +0 -11
  273. package/dist/cli-bundle/chunks/chunk-2BVD4ZD2.js.map +0 -7
  274. package/dist/cli-bundle/chunks/chunk-2RADY7IB.js.map +0 -1
  275. package/dist/cli-bundle/chunks/chunk-3FRNNVWY.js.map +0 -7
  276. package/dist/cli-bundle/chunks/chunk-ASMRSIDX.js.map +0 -7
  277. package/dist/cli-bundle/chunks/chunk-BPJ5NYSJ.js.map +0 -7
  278. package/dist/cli-bundle/chunks/chunk-DUBC6TI3.js.map +0 -7
  279. package/dist/cli-bundle/chunks/chunk-FL625JJM.js.map +0 -7
  280. package/dist/cli-bundle/chunks/chunk-G4FKP4ID.js.map +0 -1
  281. package/dist/cli-bundle/chunks/chunk-GE44TQMC.js.map +0 -1
  282. package/dist/cli-bundle/chunks/chunk-HI27UADG.js.map +0 -1
  283. package/dist/cli-bundle/chunks/chunk-KMXVZ2P7.js.map +0 -1
  284. package/dist/cli-bundle/chunks/chunk-MFLLULHU.js.map +0 -1
  285. package/dist/cli-bundle/chunks/chunk-ML27MHNM.js.map +0 -1
  286. package/dist/cli-bundle/chunks/chunk-NTOOEVJ4.js.map +0 -1
  287. package/dist/cli-bundle/chunks/chunk-PJPZTE7P.js.map +0 -7
  288. package/dist/cli-bundle/chunks/chunk-RDJXIAJB.js.map +0 -7
  289. package/dist/cli-bundle/chunks/chunk-RLHQ3G4M.js.map +0 -7
  290. package/dist/cli-bundle/chunks/chunk-TR2C6V5T.js.map +0 -7
  291. package/dist/cli-bundle/chunks/chunk-TTCJCKUJ.js.map +0 -7
  292. package/dist/cli-bundle/chunks/chunk-TU5P744I.js.map +0 -7
  293. package/dist/cli-bundle/chunks/chunk-UCRYCT5M.js.map +0 -1
  294. package/dist/cli-bundle/chunks/chunk-UVFJSKTF.js.map +0 -1
  295. package/dist/cli-bundle/chunks/chunk-XN5BEN2B.js.map +0 -1
  296. package/dist/cli-bundle/chunks/chunk-ZMOPZFVT.js.map +0 -1
  297. package/dist/cli-bundle/chunks/close-E3RLZSP2.js +0 -12
  298. package/dist/cli-bundle/chunks/close-many-X4YKS3RO.js +0 -22
  299. package/dist/cli-bundle/chunks/comments-ZNOD5PTV.js +0 -13
  300. package/dist/cli-bundle/chunks/copy-F7BUFY4J.js +0 -9
  301. package/dist/cli-bundle/chunks/create-AMBMYP6F.js +0 -25
  302. package/dist/cli-bundle/chunks/delete-6KQHZYIP.js +0 -10
  303. package/dist/cli-bundle/chunks/docs-WCVYY6I7.js +0 -14
  304. package/dist/cli-bundle/chunks/focus-N2QGNS5D.js +0 -10
  305. package/dist/cli-bundle/chunks/history-compact-GWQ4UOEI.js +0 -21
  306. package/dist/cli-bundle/chunks/history-redact-4GJOLXCM.js +0 -17
  307. package/dist/cli-bundle/chunks/history-repair-HVCVCGUF.js +0 -19
  308. package/dist/cli-bundle/chunks/learnings-YYY3U2Y7.js +0 -13
  309. package/dist/cli-bundle/chunks/notes-BGG7VL72.js +0 -13
  310. package/dist/cli-bundle/chunks/plan-MK2QY3GA.js +0 -24
  311. package/dist/cli-bundle/chunks/register-list-query-EEF33SUJ.js.map +0 -1
  312. package/dist/cli-bundle/chunks/register-list-query-S4FBWIWN.js.map +0 -7
  313. package/dist/cli-bundle/chunks/register-operations-HDE4FVW4.js.map +0 -1
  314. package/dist/cli-bundle/chunks/register-operations-QDU43FCG.js.map +0 -7
  315. package/dist/cli-bundle/chunks/register-setup-EGMTAXDC.js.map +0 -1
  316. package/dist/cli-bundle/chunks/register-setup-PNIO3L2P.js.map +0 -7
  317. package/dist/cli-bundle/chunks/restore-EX4UUZL6.js +0 -15
  318. package/dist/cli-bundle/chunks/update-SDIRJGSY.js +0 -21
  319. package/dist/cli-bundle/chunks/update-many-34AIU6W7.js +0 -31
  320. package/dist/cli-bundle/chunks/update-many-JUPCNOKV.js +0 -35
  321. /package/dist/cli-bundle/chunks/{append-CDPAYYSB.js.map → append-G7NGOQVU.js.map} +0 -0
  322. /package/dist/cli-bundle/chunks/{append-RSPHC423.js.map → append-SIECQAPH.js.map} +0 -0
  323. /package/dist/cli-bundle/chunks/{chunk-CGDUIPJL.js.map → chunk-22PW73KV.js.map} +0 -0
  324. /package/dist/cli-bundle/chunks/{chunk-GO2X6ZRB.js.map → chunk-35U3AVRY.js.map} +0 -0
  325. /package/dist/cli-bundle/chunks/{chunk-4I7KS5ES.js.map → chunk-3JFQRPOI.js.map} +0 -0
  326. /package/dist/cli-bundle/chunks/{chunk-NRMDT4OV.js.map → chunk-3THCOPYI.js.map} +0 -0
  327. /package/dist/cli-bundle/chunks/{chunk-D6J5673C.js.map → chunk-4BINCIRM.js.map} +0 -0
  328. /package/dist/cli-bundle/chunks/{chunk-D63PEJTB.js.map → chunk-4P2GYOM5.js.map} +0 -0
  329. /package/dist/cli-bundle/chunks/{chunk-LHDHS4Z6.js.map → chunk-4QE5HOJY.js.map} +0 -0
  330. /package/dist/cli-bundle/chunks/{chunk-5VAZHYVQ.js.map → chunk-56J3MPGE.js.map} +0 -0
  331. /package/dist/cli-bundle/chunks/{chunk-IINCZYM3.js.map → chunk-62ECRG6J.js.map} +0 -0
  332. /package/dist/cli-bundle/chunks/{chunk-EYPIUFWJ.js.map → chunk-62KPBB2W.js.map} +0 -0
  333. /package/dist/cli-bundle/chunks/{chunk-3FUXM574.js.map → chunk-6MK6M35B.js.map} +0 -0
  334. /package/dist/cli-bundle/chunks/{chunk-GQOKFX2G.js.map → chunk-6WIP52LQ.js.map} +0 -0
  335. /package/dist/cli-bundle/chunks/{chunk-GLMJLBLR.js.map → chunk-75NAGPEL.js.map} +0 -0
  336. /package/dist/cli-bundle/chunks/{chunk-6TD5QGIB.js.map → chunk-77CWXIAC.js.map} +0 -0
  337. /package/dist/cli-bundle/chunks/{chunk-PAWPLIWW.js.map → chunk-7THLDY3D.js.map} +0 -0
  338. /package/dist/cli-bundle/chunks/{chunk-QJZM5WO5.js.map → chunk-7TRCAREE.js.map} +0 -0
  339. /package/dist/cli-bundle/chunks/{chunk-EEJKHF7M.js.map → chunk-7TRVVYPI.js.map} +0 -0
  340. /package/dist/cli-bundle/chunks/{chunk-7QKSLAHB.js.map → chunk-AIWGQK6K.js.map} +0 -0
  341. /package/dist/cli-bundle/chunks/{chunk-P2WE5KCU.js.map → chunk-AKCHJXJ4.js.map} +0 -0
  342. /package/dist/cli-bundle/chunks/{chunk-KFL3XHMA.js.map → chunk-AYPXY3HF.js.map} +0 -0
  343. /package/dist/cli-bundle/chunks/{chunk-RL24NAUX.js.map → chunk-B7FCPO65.js.map} +0 -0
  344. /package/dist/cli-bundle/chunks/{chunk-4OCWJ2AP.js.map → chunk-BC7QBM2A.js.map} +0 -0
  345. /package/dist/cli-bundle/chunks/{chunk-LD2NBQ5T.js.map → chunk-BST7GFIX.js.map} +0 -0
  346. /package/dist/cli-bundle/chunks/{chunk-FJR2S7S4.js.map → chunk-CYBW4HK7.js.map} +0 -0
  347. /package/dist/cli-bundle/chunks/{chunk-7UCBLJDF.js.map → chunk-DDF7UMVV.js.map} +0 -0
  348. /package/dist/cli-bundle/chunks/{chunk-YQEKE4FO.js.map → chunk-DLHFJZ2S.js.map} +0 -0
  349. /package/dist/cli-bundle/chunks/{chunk-PCBZ2VJD.js.map → chunk-DMD2TENU.js.map} +0 -0
  350. /package/dist/cli-bundle/chunks/{chunk-SCJPFQQT.js.map → chunk-DN67YDFH.js.map} +0 -0
  351. /package/dist/cli-bundle/chunks/{chunk-7TBUV7XS.js.map → chunk-DNHILSD7.js.map} +0 -0
  352. /package/dist/cli-bundle/chunks/{chunk-FFB3WITE.js.map → chunk-DT6NDP53.js.map} +0 -0
  353. /package/dist/cli-bundle/chunks/{chunk-3V5C7PUH.js.map → chunk-DYUAQVDK.js.map} +0 -0
  354. /package/dist/cli-bundle/chunks/{chunk-MCH6IKK7.js.map → chunk-E2RJZQNW.js.map} +0 -0
  355. /package/dist/cli-bundle/chunks/{chunk-6ZKDMEVT.js.map → chunk-ECXJ7OHI.js.map} +0 -0
  356. /package/dist/cli-bundle/chunks/{chunk-LG4N6YOK.js.map → chunk-ESXG6VFX.js.map} +0 -0
  357. /package/dist/cli-bundle/chunks/{chunk-GSQVQINP.js.map → chunk-FBD2WUNS.js.map} +0 -0
  358. /package/dist/cli-bundle/chunks/{chunk-YSRXFGNV.js.map → chunk-FSD7W7Y2.js.map} +0 -0
  359. /package/dist/cli-bundle/chunks/{chunk-JYVPLGOW.js.map → chunk-FWL5XVYI.js.map} +0 -0
  360. /package/dist/cli-bundle/chunks/{chunk-SIQGG335.js.map → chunk-GMNCW27N.js.map} +0 -0
  361. /package/dist/cli-bundle/chunks/{chunk-3SHDAKMF.js.map → chunk-GPPWUJMR.js.map} +0 -0
  362. /package/dist/cli-bundle/chunks/{chunk-W2VFNVSJ.js.map → chunk-H3HKQXQJ.js.map} +0 -0
  363. /package/dist/cli-bundle/chunks/{chunk-UIHDZS6X.js.map → chunk-HFQ7QQZL.js.map} +0 -0
  364. /package/dist/cli-bundle/chunks/{chunk-Z6RLSNUX.js.map → chunk-HLUB7G6J.js.map} +0 -0
  365. /package/dist/cli-bundle/chunks/{chunk-U72GF3I2.js.map → chunk-INAZHXOI.js.map} +0 -0
  366. /package/dist/cli-bundle/chunks/{chunk-INOWVPUD.js.map → chunk-J3ELHLOJ.js.map} +0 -0
  367. /package/dist/cli-bundle/chunks/{chunk-UH6VFRV6.js.map → chunk-J3Z2JMDV.js.map} +0 -0
  368. /package/dist/cli-bundle/chunks/{chunk-MYHFZNBO.js.map → chunk-JFOBTM4D.js.map} +0 -0
  369. /package/dist/cli-bundle/chunks/{chunk-J6AD3GWC.js.map → chunk-JNELC5UO.js.map} +0 -0
  370. /package/dist/cli-bundle/chunks/{chunk-YUCKM3MD.js.map → chunk-JQ5NB6O2.js.map} +0 -0
  371. /package/dist/cli-bundle/chunks/{chunk-3UXIMY62.js.map → chunk-KFC6X4PI.js.map} +0 -0
  372. /package/dist/cli-bundle/chunks/{chunk-C3YU3TXX.js.map → chunk-L2SWAZ3S.js.map} +0 -0
  373. /package/dist/cli-bundle/chunks/{chunk-QLEH6FTQ.js.map → chunk-LVVZLEW5.js.map} +0 -0
  374. /package/dist/cli-bundle/chunks/{chunk-RFHLRMLQ.js.map → chunk-M66PC7JI.js.map} +0 -0
  375. /package/dist/cli-bundle/chunks/{chunk-UEATYUZW.js.map → chunk-M7JYEBPT.js.map} +0 -0
  376. /package/dist/cli-bundle/chunks/{chunk-Z2JQH2MG.js.map → chunk-MQ632QRB.js.map} +0 -0
  377. /package/dist/cli-bundle/chunks/{chunk-IYRG5AEC.js.map → chunk-N7N3PUUP.js.map} +0 -0
  378. /package/dist/cli-bundle/chunks/{chunk-3YJDIJIE.js.map → chunk-NPJLTZQZ.js.map} +0 -0
  379. /package/dist/cli-bundle/chunks/{chunk-BFNFTHWQ.js.map → chunk-O67XP4FD.js.map} +0 -0
  380. /package/dist/cli-bundle/chunks/{chunk-FOJEBRDD.js.map → chunk-P7PDLLCE.js.map} +0 -0
  381. /package/dist/cli-bundle/chunks/{chunk-SN5X5GTU.js.map → chunk-PEACKWHL.js.map} +0 -0
  382. /package/dist/cli-bundle/chunks/{chunk-HZZ3AC27.js.map → chunk-PFRGQZG2.js.map} +0 -0
  383. /package/dist/cli-bundle/chunks/{chunk-Q3CFSOQZ.js.map → chunk-PMU2OJ3N.js.map} +0 -0
  384. /package/dist/cli-bundle/chunks/{chunk-5STY7NVM.js.map → chunk-PUMTJMMF.js.map} +0 -0
  385. /package/dist/cli-bundle/chunks/{chunk-K52C6YPA.js.map → chunk-QTJCMK2S.js.map} +0 -0
  386. /package/dist/cli-bundle/chunks/{chunk-6FU5BVRB.js.map → chunk-RAE2SLNO.js.map} +0 -0
  387. /package/dist/cli-bundle/chunks/{chunk-YR5R4FMQ.js.map → chunk-RYA7QE7B.js.map} +0 -0
  388. /package/dist/cli-bundle/chunks/{chunk-UFNFHCAC.js.map → chunk-SWQMU4AD.js.map} +0 -0
  389. /package/dist/cli-bundle/chunks/{chunk-WVEMZZCR.js.map → chunk-TEKAGPZV.js.map} +0 -0
  390. /package/dist/cli-bundle/chunks/{chunk-JH5XDDYS.js.map → chunk-TM5E2IED.js.map} +0 -0
  391. /package/dist/cli-bundle/chunks/{chunk-C6XSTACC.js.map → chunk-TTRL5GE6.js.map} +0 -0
  392. /package/dist/cli-bundle/chunks/{chunk-AEOFBBWO.js.map → chunk-UA2VI62P.js.map} +0 -0
  393. /package/dist/cli-bundle/chunks/{chunk-6RR4XM5H.js.map → chunk-UYK26VRP.js.map} +0 -0
  394. /package/dist/cli-bundle/chunks/{chunk-CXH7EMSB.js.map → chunk-VBDQTL3Z.js.map} +0 -0
  395. /package/dist/cli-bundle/chunks/{chunk-NGBWEYNY.js.map → chunk-W2FXYQ6D.js.map} +0 -0
  396. /package/dist/cli-bundle/chunks/{chunk-UURYLDDC.js.map → chunk-WZ7EPGUX.js.map} +0 -0
  397. /package/dist/cli-bundle/chunks/{chunk-QYZMZD4L.js.map → chunk-XVCB574W.js.map} +0 -0
  398. /package/dist/cli-bundle/chunks/{chunk-F5DDGY6R.js.map → chunk-XWS3Z57Q.js.map} +0 -0
  399. /package/dist/cli-bundle/chunks/{chunk-EP2CKDS7.js.map → chunk-XXJB4GLJ.js.map} +0 -0
  400. /package/dist/cli-bundle/chunks/{chunk-6WCXSC5V.js.map → chunk-ZGDJA6WI.js.map} +0 -0
  401. /package/dist/cli-bundle/chunks/{chunk-TKWTJGD6.js.map → chunk-ZIU35KME.js.map} +0 -0
  402. /package/dist/cli-bundle/chunks/{chunk-YUMNZS3X.js.map → chunk-ZQ2KEWE7.js.map} +0 -0
  403. /package/dist/cli-bundle/chunks/{close-E3RLZSP2.js.map → close-2NVUCJXV.js.map} +0 -0
  404. /package/dist/cli-bundle/chunks/{close-K6BFI3OX.js.map → close-BZPS37KL.js.map} +0 -0
  405. /package/dist/cli-bundle/chunks/{close-many-6NBL3PM4.js.map → close-many-KKNCGLVR.js.map} +0 -0
  406. /package/dist/cli-bundle/chunks/{close-many-X4YKS3RO.js.map → close-many-S5WKLWVO.js.map} +0 -0
  407. /package/dist/cli-bundle/chunks/{comments-PLFK5ZKK.js.map → comments-PV5XG342.js.map} +0 -0
  408. /package/dist/cli-bundle/chunks/{comments-ZNOD5PTV.js.map → comments-XAM2ADHO.js.map} +0 -0
  409. /package/dist/cli-bundle/chunks/{copy-F7BUFY4J.js.map → copy-OJ2YNJ7S.js.map} +0 -0
  410. /package/dist/cli-bundle/chunks/{copy-VH3L4MN2.js.map → copy-OZDYDQUG.js.map} +0 -0
  411. /package/dist/cli-bundle/chunks/{create-AMBMYP6F.js.map → create-5O3QK3PX.js.map} +0 -0
  412. /package/dist/cli-bundle/chunks/{create-TRIBYORN.js.map → create-WGFKEJAK.js.map} +0 -0
  413. /package/dist/cli-bundle/chunks/{delete-ZNXUNCZR.js.map → delete-NTYXFL7A.js.map} +0 -0
  414. /package/dist/cli-bundle/chunks/{delete-6KQHZYIP.js.map → delete-V7FPW6JL.js.map} +0 -0
  415. /package/dist/cli-bundle/chunks/{deps-CVDY7FFK.js.map → deps-7WVENNH3.js.map} +0 -0
  416. /package/dist/cli-bundle/chunks/{deps-SZXQHV73.js.map → deps-Z6RD6RWW.js.map} +0 -0
  417. /package/dist/cli-bundle/chunks/{docs-DR74ITCD.js.map → docs-2NIRGHAN.js.map} +0 -0
  418. /package/dist/cli-bundle/chunks/{docs-WCVYY6I7.js.map → docs-SOY2CMH3.js.map} +0 -0
  419. /package/dist/cli-bundle/chunks/{files-QEFQ2M3H.js.map → files-4OH2I663.js.map} +0 -0
  420. /package/dist/cli-bundle/chunks/{files-H5YCA74Z.js.map → files-5KNAFW67.js.map} +0 -0
  421. /package/dist/cli-bundle/chunks/{focus-55TRYSNA.js.map → focus-CLNZWWKW.js.map} +0 -0
  422. /package/dist/cli-bundle/chunks/{focus-N2QGNS5D.js.map → focus-JUKXZN3J.js.map} +0 -0
  423. /package/dist/cli-bundle/chunks/{history-compact-JJZ4EFL3.js.map → history-compact-R3T3XPD4.js.map} +0 -0
  424. /package/dist/cli-bundle/chunks/{history-compact-GWQ4UOEI.js.map → history-compact-WKAKPLFQ.js.map} +0 -0
  425. /package/dist/cli-bundle/chunks/{history-redact-TPPUT3A5.js.map → history-redact-CLJDCBNF.js.map} +0 -0
  426. /package/dist/cli-bundle/chunks/{history-redact-4GJOLXCM.js.map → history-redact-Y67UDKD3.js.map} +0 -0
  427. /package/dist/cli-bundle/chunks/{history-repair-HVCVCGUF.js.map → history-repair-2WLXWQAM.js.map} +0 -0
  428. /package/dist/cli-bundle/chunks/{history-repair-J7PIZ6ZP.js.map → history-repair-LNA7V2VI.js.map} +0 -0
  429. /package/dist/cli-bundle/chunks/{learnings-KB6BT4NR.js.map → learnings-2L72KBOE.js.map} +0 -0
  430. /package/dist/cli-bundle/chunks/{learnings-YYY3U2Y7.js.map → learnings-PNK7WUWO.js.map} +0 -0
  431. /package/dist/cli-bundle/chunks/{notes-ZTHXVOKM.js.map → notes-USDIABZV.js.map} +0 -0
  432. /package/dist/cli-bundle/chunks/{notes-BGG7VL72.js.map → notes-X4SWEJSB.js.map} +0 -0
  433. /package/dist/cli-bundle/chunks/{plan-MK2QY3GA.js.map → plan-JU454RMZ.js.map} +0 -0
  434. /package/dist/cli-bundle/chunks/{plan-CJPKFRBK.js.map → plan-U4RWU56Z.js.map} +0 -0
  435. /package/dist/cli-bundle/chunks/{profile-AQNHXOYA.js.map → profile-COBKZJUQ.js.map} +0 -0
  436. /package/dist/cli-bundle/chunks/{profile-HTBFINKQ.js.map → profile-RKIRCXH7.js.map} +0 -0
  437. /package/dist/cli-bundle/chunks/{register-mutation-QFLRBCI7.js.map → register-mutation-JGXTDEIZ.js.map} +0 -0
  438. /package/dist/cli-bundle/chunks/{register-mutation-L5Q7AUDN.js.map → register-mutation-XVO4GGZI.js.map} +0 -0
  439. /package/dist/cli-bundle/chunks/{restore-EX4UUZL6.js.map → restore-54HR2EYD.js.map} +0 -0
  440. /package/dist/cli-bundle/chunks/{restore-BTBEZ5CK.js.map → restore-BINCHJIY.js.map} +0 -0
  441. /package/dist/cli-bundle/chunks/{schema-DGSTYYQB.js.map → schema-2JZNEQSG.js.map} +0 -0
  442. /package/dist/cli-bundle/chunks/{schema-HAIBEE24.js.map → schema-VV3K5WZI.js.map} +0 -0
  443. /package/dist/cli-bundle/chunks/{update-MP4XLU56.js.map → update-DK3GAY5D.js.map} +0 -0
  444. /package/dist/cli-bundle/chunks/{update-SDIRJGSY.js.map → update-OIMRKTX6.js.map} +0 -0
  445. /package/dist/cli-bundle/chunks/{update-many-34AIU6W7.js.map → update-many-5KI6MW76.js.map} +0 -0
  446. /package/dist/cli-bundle/chunks/{update-many-JUPCNOKV.js.map → update-many-IOLDHIZT.js.map} +0 -0
@@ -34,12 +34,19 @@ export interface InitRegisteredTypePresetSummary {
34
34
  export type InitAgentGuidanceResult = InitAgentGuidanceSummary & {
35
35
  next_steps: string[];
36
36
  };
37
+ /** Describes how init resolved the tracker and optional workspace target. */
38
+ export interface InitTargetResolution {
39
+ mode: "workspace-discovery" | "tracker-path" | "workspace-path";
40
+ tracker_root: string;
41
+ workspace_root?: string;
42
+ }
37
43
  /**
38
44
  * Documents the init result payload exchanged by command, SDK, and package integrations.
39
45
  */
40
46
  export interface InitResult {
41
47
  ok: boolean;
42
48
  path: string;
49
+ target: InitTargetResolution;
43
50
  settings: PmSettings;
44
51
  created_dirs: string[];
45
52
  warnings: string[];
@@ -61,6 +68,7 @@ export interface InitCommandOptions {
61
68
  agentGuidance?: string;
62
69
  typePreset?: string;
63
70
  force?: boolean;
71
+ workspace?: string;
64
72
  }
65
73
  /**
66
74
  * Concise projection of an InitResult for the default (toon) renderer. It keeps
@@ -73,6 +81,7 @@ export interface InitCommandOptions {
73
81
  export interface InitConciseResult {
74
82
  ok: boolean;
75
83
  path: string;
84
+ target: InitTargetResolution;
76
85
  id_prefix: string;
77
86
  governance_preset: GovernancePreset;
78
87
  telemetry: {
@@ -106,6 +115,7 @@ export declare const _testOnly: {
106
115
  runInitWizard: typeof runInitWizard;
107
116
  setInitReadlineFactoryForTests: typeof setInitReadlineFactoryForTests;
108
117
  summarizeInstalledPackages: typeof summarizeInstalledPackages;
118
+ buildInitNextSteps: typeof buildInitNextSteps;
109
119
  registerInitTypePreset: typeof registerInitTypePreset;
110
120
  assertExplicitTrackerPathIsNotWorkspaceRoot: typeof assertExplicitTrackerPathIsNotWorkspaceRoot;
111
121
  isLikelyWorkspaceRoot: typeof isLikelyWorkspaceRoot;
@@ -117,10 +127,10 @@ declare function normalizeInitGovernancePreset(rawValue: string | undefined): Bu
117
127
  declare function normalizeInitTypePreset(rawValue: string | undefined): InitTypePresetName | undefined;
118
128
  declare function normalizeOptionalInitAuthor(rawValue: string | undefined): string | undefined;
119
129
  declare function isPathLikeInitTarget(rawValue: string | undefined): boolean;
120
- declare function resolveInitInvocation(cwd: string, global: GlobalOptions, prefixArg: string | undefined): {
130
+ declare function resolveInitInvocation(cwd: string, global: GlobalOptions, prefixArg: string | undefined, workspaceArg?: string): {
121
131
  pmRoot: string;
122
132
  prefixArg: string | undefined;
123
- positional_target?: string;
133
+ target: InitTargetResolution;
124
134
  };
125
135
  declare function normalizeInitAgentGuidanceMode(rawValue: string | undefined): InitAgentGuidanceMode;
126
136
  declare function parseYesNoChoice(answer: string, currentDefault: boolean): boolean;
@@ -128,12 +138,18 @@ declare function applyGovernancePreset(settings: PmSettings, preset: BuiltinGove
128
138
  declare function summarizeInstalledPackages(result: ExtensionCommandResult): InitInstalledPackagesSummary;
129
139
  declare function registerInitTypePreset(pmRoot: string, settings: PmSettings, preset: InitTypePresetName): Promise<InitRegisteredTypePresetSummary>;
130
140
  declare function isLikelyWorkspaceRoot(candidate: string): Promise<boolean>;
131
- declare function assertExplicitTrackerPathIsNotWorkspaceRoot(pmRoot: string, global: GlobalOptions, force: boolean): Promise<void>;
141
+ declare function assertExplicitTrackerPathIsNotWorkspaceRoot(pmRoot: string, explicitTrackerTarget: boolean, force: boolean): Promise<void>;
132
142
  declare function runInitWizard(initialPrefix: string, telemetryDefault: boolean): Promise<{
133
143
  prefix: string;
134
144
  preset: BuiltinGovernancePreset;
135
145
  telemetry_enabled: boolean;
136
146
  }>;
147
+ declare function buildInitNextSteps(params: {
148
+ installBundledPackages: boolean;
149
+ registeredTypePreset: InitRegisteredTypePresetSummary | undefined;
150
+ agentGuidanceNextSteps: string[];
151
+ target: InitTargetResolution;
152
+ }): string[];
137
153
  /**
138
154
  * Implements run init for the public runtime surface of this module.
139
155
  */
@@ -4,7 +4,7 @@
4
4
  * Implements the pm init command surface and its agent-facing runtime behavior.
5
5
  */
6
6
 
7
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="df631c25-0bdb-52e7-aec4-a83f25fdfa91")}catch(e){}}();
7
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="b6aecd92-d6ca-5ef1-9c46-edc4c7fdd332")}catch(e){}}();
8
8
  import fs from "node:fs/promises";
9
9
  import path from "node:path";
10
10
  import readline from "node:readline/promises";
@@ -20,6 +20,7 @@ import { EXIT_CODE, GOVERNANCE_PRESET_DEFAULTS, PM_REQUIRED_SUBDIRS, SETTINGS_DE
20
20
  import { PmCliError } from "../../core/shared/errors.js";
21
21
  import { resolvePmRoot } from "../../core/store/paths.js";
22
22
  import { readSettings, writeSettings } from "../../core/store/settings.js";
23
+ import { renderPmCommand } from "../argv-utils.js";
23
24
  import { runExtension } from "./extension.js";
24
25
  import { INIT_AGENT_GUIDANCE_MODE_VALUES, runInitAgentGuidance, } from "./init-agent-guidance.js";
25
26
  /**
@@ -29,6 +30,7 @@ export function summarizeInitResult(result) {
29
30
  return {
30
31
  ok: result.ok,
31
32
  path: result.path,
33
+ target: result.target,
32
34
  id_prefix: result.settings.id_prefix,
33
35
  governance_preset: result.governance_preset,
34
36
  telemetry: {
@@ -59,6 +61,7 @@ export const _testOnly = {
59
61
  runInitWizard,
60
62
  setInitReadlineFactoryForTests,
61
63
  summarizeInstalledPackages,
64
+ buildInitNextSteps,
62
65
  registerInitTypePreset,
63
66
  assertExplicitTrackerPathIsNotWorkspaceRoot,
64
67
  isLikelyWorkspaceRoot,
@@ -124,18 +127,38 @@ function isPathLikeInitTarget(rawValue) {
124
127
  }
125
128
  return path.isAbsolute(trimmed) || trimmed.startsWith(".") || trimmed.includes("/") || trimmed.includes("\\");
126
129
  }
127
- function resolveInitInvocation(cwd, global, prefixArg) {
130
+ function resolveInitInvocation(cwd, global, prefixArg, workspaceArg) {
131
+ const normalizedWorkspace = workspaceArg?.trim();
132
+ if (workspaceArg !== undefined && normalizedWorkspace?.length === 0) {
133
+ throw new PmCliError("--workspace must not be empty", EXIT_CODE.USAGE);
134
+ }
135
+ if (normalizedWorkspace !== undefined) {
136
+ if (global.path !== undefined || isPathLikeInitTarget(prefixArg)) {
137
+ throw new PmCliError("--workspace cannot be combined with --pm-path/--path or a path-like positional target.", EXIT_CODE.USAGE);
138
+ }
139
+ const workspaceRoot = path.resolve(cwd, normalizedWorkspace);
140
+ const pmRoot = path.join(workspaceRoot, ".agents", "pm");
141
+ return {
142
+ pmRoot,
143
+ prefixArg,
144
+ target: { mode: "workspace-path", tracker_root: pmRoot, workspace_root: workspaceRoot },
145
+ };
146
+ }
128
147
  if (global.path === undefined && isPathLikeInitTarget(prefixArg)) {
129
148
  const positionalTarget = path.resolve(cwd, prefixArg.trim());
130
149
  return {
131
150
  pmRoot: positionalTarget,
132
151
  prefixArg: undefined,
133
- positional_target: positionalTarget,
152
+ target: { mode: "tracker-path", tracker_root: positionalTarget },
134
153
  };
135
154
  }
155
+ const pmRoot = resolvePmRoot(cwd, global.path);
136
156
  return {
137
- pmRoot: resolvePmRoot(cwd, global.path),
157
+ pmRoot,
138
158
  prefixArg,
159
+ target: global.path === undefined
160
+ ? { mode: "workspace-discovery", tracker_root: pmRoot, workspace_root: cwd }
161
+ : { mode: "tracker-path", tracker_root: pmRoot },
139
162
  };
140
163
  }
141
164
  function normalizeInitAgentGuidanceMode(rawValue) {
@@ -224,8 +247,8 @@ async function isLikelyWorkspaceRoot(candidate) {
224
247
  }
225
248
  return false;
226
249
  }
227
- async function assertExplicitTrackerPathIsNotWorkspaceRoot(pmRoot, global, force) {
228
- if (global.path === undefined || force) {
250
+ async function assertExplicitTrackerPathIsNotWorkspaceRoot(pmRoot, explicitTrackerTarget, force) {
251
+ if (!explicitTrackerTarget || force) {
229
252
  return;
230
253
  }
231
254
  if (await pathExists(path.join(pmRoot, "settings.json"))) {
@@ -238,7 +261,7 @@ async function assertExplicitTrackerPathIsNotWorkspaceRoot(pmRoot, global, force
238
261
  throw new PmCliError(`Refusing to initialize tracker files directly in workspace root "${pmRoot}".`, EXIT_CODE.USAGE, {
239
262
  code: "workspace_root_pm_path",
240
263
  type: "urn:pm-cli:error:workspace_root_pm_path",
241
- why: "--pm-path/--path points at the tracker storage directory itself, not the repository workspace. Point it at .agents/pm or pass --force if you intentionally want root-level tracker files.",
264
+ why: "Path-like init targets and --pm-path/--path point at the tracker storage directory itself, not the repository workspace. Point at .agents/pm, use --workspace, or pass --force if you intentionally want root-level tracker files.",
242
265
  examples: [
243
266
  `pm --pm-path ${nestedTracker} init --yes`,
244
267
  "pm init --yes",
@@ -503,38 +526,46 @@ async function ensureInitTypeDirectories(params) {
503
526
  params.createdDirs.push(...scaffold.createdDirs);
504
527
  params.warnings.push(...scaffold.warnings);
505
528
  }
506
- async function maybeInstallInitBundledPackages(installBundledPackages, global, warnings) {
529
+ async function maybeInstallInitBundledPackages(installBundledPackages, global, pmRoot, warnings) {
507
530
  if (!installBundledPackages) {
508
531
  return undefined;
509
532
  }
510
- const packageInstallResult = await runExtension("all", { install: true, project: true }, global);
533
+ const packageInstallResult = await runExtension("all", { install: true, project: true }, { ...global, path: pmRoot });
511
534
  warnings.push(...packageInstallResult.warnings);
512
535
  const installedPackages = summarizeInstalledPackages(packageInstallResult);
513
- if (!installedPackages.installed_all || installedPackages.packages.some((entry) => !entry.ok)) {
514
- throw new PmCliError("pm init --with-packages did not install all bundled packages successfully.", EXIT_CODE.GENERIC_FAILURE);
536
+ const failedAliases = installedPackages.packages.filter((entry) => !entry.ok).map((entry) => entry.alias);
537
+ if (!installedPackages.installed_all || failedAliases.length > 0) {
538
+ throw new PmCliError(`pm init --with-packages did not install all bundled packages successfully${failedAliases.length > 0 ? `: ${failedAliases.join(", ")}` : "."}`, EXIT_CODE.GENERIC_FAILURE);
515
539
  }
516
540
  return installedPackages;
517
541
  }
518
542
  function buildInitNextSteps(params) {
543
+ const pmCommand = (args) => renderPmCommand([
544
+ ...(params.target.mode === "workspace-discovery" ? [] : ["--pm-path", params.target.tracker_root]),
545
+ ...args,
546
+ ]);
519
547
  const nextSteps = [
520
- 'Create your first item: pm create --type Task --title "<title>"',
521
- 'List active items: pm list',
522
- 'Get agent-friendly project context: pm context',
548
+ `Create your first item: ${pmCommand(["create", "--type", "Task", "--title", "<title>"])}`,
549
+ `List active items: ${pmCommand(["list"])}`,
550
+ `Get agent-friendly project context: ${pmCommand(["context"])}`,
523
551
  ];
524
552
  if (!params.installBundledPackages) {
525
- nextSteps.push("Add optional packages for richer workflows: pm install calendar --project, pm install templates --project, pm install guide-shell --project");
526
- nextSteps.push("Or install everything bundled: pm init --with-packages (idempotent on re-run)");
553
+ nextSteps.push(`Add optional packages for richer workflows: ${pmCommand(["install", "calendar", "--project"])}, ${pmCommand(["install", "templates", "--project"])}, ${pmCommand(["install", "guide-shell", "--project"])}`);
554
+ nextSteps.push(`Or install everything bundled: ${pmCommand(["init", "--with-packages"])} (idempotent on re-run)`);
527
555
  }
528
556
  else {
529
- nextSteps.push("Explore newly-available commands: pm cal, pm templates, pm guide");
557
+ nextSteps.push(`Explore newly-available commands: ${pmCommand(["cal"])}, ${pmCommand(["templates"])}, ${pmCommand(["guide"])}`);
530
558
  }
531
559
  if (params.registeredTypePreset) {
532
- nextSteps.push(`Inspect registered preset types: pm schema list, pm schema show ${params.registeredTypePreset.registered[0] ?? params.registeredTypePreset.updated[0]}`);
560
+ nextSteps.push(`Inspect registered preset types: ${pmCommand(["schema", "list"])}, ${pmCommand(["schema", "show", params.registeredTypePreset.registered[0] ?? params.registeredTypePreset.updated[0]])}`);
533
561
  }
534
562
  nextSteps.push("Set PM_AUTHOR=<your-agent-id> so mutations attribute to the right caller.");
535
563
  for (const guidanceNextStep of params.agentGuidanceNextSteps) {
536
- if (!nextSteps.includes(guidanceNextStep)) {
537
- nextSteps.push(guidanceNextStep);
564
+ const scopedGuidance = params.target.mode === "workspace-discovery"
565
+ ? guidanceNextStep
566
+ : guidanceNextStep.replace(/\bpm (?=[a-z])/g, () => `${pmCommand([])} `);
567
+ if (!nextSteps.includes(scopedGuidance)) {
568
+ nextSteps.push(scopedGuidance);
538
569
  }
539
570
  }
540
571
  return nextSteps;
@@ -544,10 +575,10 @@ function buildInitNextSteps(params) {
544
575
  */
545
576
  export async function runInit(prefixArg, global, options = {}) {
546
577
  const cwd = process.cwd();
547
- const invocation = resolveInitInvocation(cwd, global, prefixArg);
578
+ const invocation = resolveInitInvocation(cwd, global, prefixArg, options.workspace);
548
579
  const pmRoot = invocation.pmRoot;
549
580
  prefixArg = invocation.prefixArg;
550
- await assertExplicitTrackerPathIsNotWorkspaceRoot(pmRoot, global, options.force === true);
581
+ await assertExplicitTrackerPathIsNotWorkspaceRoot(pmRoot, invocation.target.mode === "tracker-path", options.force === true);
551
582
  const createdDirs = [];
552
583
  const warnings = [];
553
584
  const baseDirs = await ensureInitDirectories(pmRoot, PM_REQUIRED_SUBDIRS);
@@ -587,15 +618,17 @@ export async function runInit(prefixArg, global, options = {}) {
587
618
  settings = await readSettings(pmRoot);
588
619
  }
589
620
  await ensureInitTypeDirectories({ pmRoot, settings, createdDirs, warnings });
590
- const installedPackages = await maybeInstallInitBundledPackages(normalizedOptions.installBundledPackages, global, warnings);
621
+ const installedPackages = await maybeInstallInitBundledPackages(normalizedOptions.installBundledPackages, global, pmRoot, warnings);
591
622
  const nextSteps = buildInitNextSteps({
592
623
  installBundledPackages: normalizedOptions.installBundledPackages,
593
624
  registeredTypePreset,
594
625
  agentGuidanceNextSteps: agentGuidance.next_steps,
626
+ target: invocation.target,
595
627
  });
596
628
  return {
597
629
  ok: true,
598
630
  path: pmRoot,
631
+ target: invocation.target,
599
632
  settings,
600
633
  created_dirs: createdDirs,
601
634
  warnings,
@@ -608,4 +641,4 @@ export async function runInit(prefixArg, global, options = {}) {
608
641
  };
609
642
  }
610
643
  //# sourceMappingURL=init.js.map
611
- //# debugId=df631c25-0bdb-52e7-aec4-a83f25fdfa91
644
+ //# debugId=b6aecd92-d6ca-5ef1-9c46-edc4c7fdd332
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sources":["cli/commands/init.ts"],"sourceRoot":"/","sourcesContent":["/**\n * @module cli/commands/init\n *\n * Implements the pm init command surface and its agent-facing runtime behavior.\n */\nimport fs from \"node:fs/promises\";\nimport path from \"node:path\";\nimport readline from \"node:readline/promises\";\nimport { stdin as input, stdout as output } from \"node:process\";\nimport { getActiveExtensionRegistrations, runActiveOnWriteHooks } from \"../../core/extensions/index.js\";\nimport { pathExists, readFileIfExists, writeFileAtomic } from \"../../core/fs/fs-utils.js\";\nimport { normalizePrefix } from \"../../core/item/id.js\";\nimport { resolveItemTypeRegistry } from \"../../core/item/type-registry.js\";\nimport {\n DEFAULT_RUNTIME_SCHEMA_FILE_PATHS,\n ensureRuntimeSchemaFileScaffold,\n filePathForSchemaSection,\n normalizeRuntimeSchemaSettings,\n} from \"../../core/schema/runtime-schema.js\";\nimport {\n parseItemTypesFile,\n serializeItemTypesFile,\n upsertItemType,\n} from \"../../core/schema/item-types-file.js\";\nimport {\n normalizeTypePresetName,\n resolveTypePresetDefinitions,\n TYPE_PRESET_NAMES,\n type TypePresetName,\n} from \"../../core/schema/type-presets.js\";\nimport { EXIT_CODE, GOVERNANCE_PRESET_DEFAULTS, PM_REQUIRED_SUBDIRS, SETTINGS_DEFAULTS } from \"../../core/shared/constants.js\";\nimport type { GlobalOptions } from \"../../core/shared/command-types.js\";\nimport { PmCliError } from \"../../core/shared/errors.js\";\nimport { resolvePmRoot } from \"../../core/store/paths.js\";\nimport { readSettings, writeSettings } from \"../../core/store/settings.js\";\nimport type { GovernancePreset, PmSettings } from \"../../types/index.js\";\nimport { runExtension, type ExtensionCommandResult } from \"./extension.js\";\nimport {\n INIT_AGENT_GUIDANCE_MODE_VALUES,\n runInitAgentGuidance,\n type InitAgentGuidanceMode,\n type InitAgentGuidanceSummary,\n} from \"./init-agent-guidance.js\";\n\n/**\n * Documents the init installed packages summary payload exchanged by command, SDK, and package integrations.\n */\nexport interface InitInstalledPackagesSummary {\n installed_all: boolean;\n installed_count: number;\n packages: Array<{\n alias: string;\n ok: boolean;\n }>;\n}\n\n/**\n * Restricts init type preset name values accepted by command, SDK, and storage contracts.\n */\nexport type InitTypePresetName = TypePresetName;\n\n/**\n * Documents the init registered type preset summary payload exchanged by command, SDK, and package integrations.\n */\nexport interface InitRegisteredTypePresetSummary {\n name: InitTypePresetName;\n registered: string[];\n updated: string[];\n file: string;\n}\n\n/**\n * Documents the init agent-guidance summary plus generated next-step hints returned by init.\n */\nexport type InitAgentGuidanceResult = InitAgentGuidanceSummary & { next_steps: string[] };\n\n/**\n * Documents the init result payload exchanged by command, SDK, and package integrations.\n */\nexport interface InitResult {\n ok: boolean;\n path: string;\n settings: PmSettings;\n created_dirs: string[];\n warnings: string[];\n governance_preset: GovernancePreset;\n wizard_used: boolean;\n registered_type_preset?: InitRegisteredTypePresetSummary;\n installed_packages?: InitInstalledPackagesSummary;\n next_steps: string[];\n agent_guidance: InitAgentGuidanceResult;\n}\n\n/**\n * Documents the init command options payload exchanged by command, SDK, and package integrations.\n */\nexport interface InitCommandOptions {\n preset?: string;\n defaults?: boolean;\n author?: string;\n withPackages?: boolean;\n agentGuidance?: string;\n typePreset?: string;\n force?: boolean;\n}\n\n/**\n * Concise projection of an InitResult for the default (toon) renderer. It keeps\n * every piece of information that only init can surface — the resolved path, id\n * prefix, governance preset, telemetry capture level, created-directory count,\n * the full warnings list (including `already_exists:` markers), agent-guidance\n * summary, and next steps — but replaces the verbose full settings tree (~190\n * lines) with a compact `settings` summary. Use --verbose for the full tree.\n */\nexport interface InitConciseResult {\n ok: boolean;\n path: string;\n id_prefix: string;\n governance_preset: GovernancePreset;\n telemetry: {\n enabled: boolean;\n capture_level: string;\n };\n output_format: string;\n created_dirs_count: number;\n created_dirs: string[];\n warnings: string[];\n wizard_used: boolean;\n registered_type_preset?: InitRegisteredTypePresetSummary;\n installed_packages?: InitInstalledPackagesSummary;\n next_steps: string[];\n agent_guidance: InitAgentGuidanceResult;\n hint: string;\n}\n\n/**\n * Implements summarize init result for the public runtime surface of this module.\n */\nexport function summarizeInitResult(result: InitResult): InitConciseResult {\n return {\n ok: result.ok,\n path: result.path,\n id_prefix: result.settings.id_prefix,\n governance_preset: result.governance_preset,\n telemetry: {\n enabled: result.settings.telemetry.enabled,\n capture_level: result.settings.telemetry.capture_level,\n },\n output_format: result.settings.output.default_format,\n created_dirs_count: result.created_dirs.length,\n created_dirs: result.created_dirs,\n warnings: result.warnings,\n wizard_used: result.wizard_used,\n ...(result.registered_type_preset ? { registered_type_preset: result.registered_type_preset } : {}),\n ...(result.installed_packages ? { installed_packages: result.installed_packages } : {}),\n next_steps: result.next_steps,\n agent_guidance: result.agent_guidance,\n hint: \"Re-run with --verbose for the full settings tree.\",\n };\n}\n\nexport const _testOnly = {\n normalizeInitGovernancePreset,\n normalizeInitTypePreset,\n normalizeOptionalInitAuthor,\n normalizeInitAgentGuidanceMode,\n isPathLikeInitTarget,\n resolveInitInvocation,\n parseYesNoChoice,\n applyGovernancePreset,\n runInitWizard,\n setInitReadlineFactoryForTests,\n summarizeInstalledPackages,\n registerInitTypePreset,\n assertExplicitTrackerPathIsNotWorkspaceRoot,\n isLikelyWorkspaceRoot,\n};\n\ntype InitReadlineInterface = ReturnType<typeof readline.createInterface>;\nlet createInitReadlineInterface = (): InitReadlineInterface => readline.createInterface({ input, output });\n\ninterface InitNormalizedOptions {\n presetFromOption: BuiltinGovernancePreset | undefined;\n useDefaults: boolean;\n authorFromOption: string | undefined;\n installBundledPackages: boolean;\n agentGuidanceMode: InitAgentGuidanceMode;\n typePreset: InitTypePresetName | undefined;\n}\n\ninterface InitSettingsResolution {\n settings: PmSettings;\n normalizedPrefix: string;\n chosenPreset: BuiltinGovernancePreset | undefined;\n wizardUsed: boolean;\n}\n\nfunction setInitReadlineFactoryForTests(factory: (() => InitReadlineInterface) | undefined): void {\n createInitReadlineInterface = factory ?? (() => readline.createInterface({ input, output }));\n}\n\nfunction cloneDefaults(): PmSettings {\n return structuredClone(SETTINGS_DEFAULTS);\n}\n\ntype BuiltinGovernancePreset = Exclude<GovernancePreset, \"custom\">;\nconst BUILTIN_GOVERNANCE_PRESETS: BuiltinGovernancePreset[] = [\"minimal\", \"default\", \"strict\"];\nfunction normalizeInitGovernancePreset(rawValue: string | undefined): BuiltinGovernancePreset | undefined {\n if (rawValue === undefined) {\n return undefined;\n }\n const normalized = rawValue.trim().toLowerCase().replaceAll(\"-\", \"_\");\n if (normalized.length === 0) {\n throw new PmCliError(\"--preset must not be empty\", EXIT_CODE.USAGE);\n }\n if (normalized === \"minimal\" || normalized === \"default\" || normalized === \"strict\") {\n return normalized;\n }\n if (normalized === \"lite\" || normalized === \"minimum\") {\n return \"minimal\";\n }\n throw new PmCliError(\n `Invalid --preset value \"${rawValue}\". Allowed: ${BUILTIN_GOVERNANCE_PRESETS.join(\", \")}`,\n EXIT_CODE.USAGE,\n );\n}\n\nfunction normalizeInitTypePreset(rawValue: string | undefined): InitTypePresetName | undefined {\n if (rawValue === undefined) {\n return undefined;\n }\n if (rawValue.trim().length === 0) {\n throw new PmCliError(\"--type-preset must not be empty\", EXIT_CODE.USAGE);\n }\n try {\n // Non-undefined input never returns undefined; the shared normalizer throws\n // a plain Error for empty/unknown values, which we re-map to init's --type-preset\n // PmCliError wording for a consistent CLI surface.\n return normalizeTypePresetName(rawValue) as InitTypePresetName;\n } catch {\n throw new PmCliError(\n `Invalid --type-preset value \"${rawValue}\". Allowed: ${TYPE_PRESET_NAMES.join(\", \")}`,\n EXIT_CODE.USAGE,\n );\n }\n}\n\nfunction normalizeOptionalInitAuthor(rawValue: string | undefined): string | undefined {\n if (rawValue === undefined) {\n return undefined;\n }\n const normalized = rawValue.trim();\n if (normalized.length === 0) {\n throw new PmCliError(\"--author must not be empty\", EXIT_CODE.USAGE);\n }\n return normalized;\n}\n\nfunction isPathLikeInitTarget(rawValue: string | undefined): boolean {\n if (rawValue === undefined) {\n return false;\n }\n const trimmed = rawValue.trim();\n if (trimmed.length === 0) {\n return false;\n }\n return path.isAbsolute(trimmed) || trimmed.startsWith(\".\") || trimmed.includes(\"/\") || trimmed.includes(\"\\\\\");\n}\n\nfunction resolveInitInvocation(\n cwd: string,\n global: GlobalOptions,\n prefixArg: string | undefined,\n): { pmRoot: string; prefixArg: string | undefined; positional_target?: string } {\n if (global.path === undefined && isPathLikeInitTarget(prefixArg)) {\n const positionalTarget = path.resolve(cwd, prefixArg!.trim());\n return {\n pmRoot: positionalTarget,\n prefixArg: undefined,\n positional_target: positionalTarget,\n };\n }\n return {\n pmRoot: resolvePmRoot(cwd, global.path),\n prefixArg,\n };\n}\n\nfunction normalizeInitAgentGuidanceMode(rawValue: string | undefined): InitAgentGuidanceMode {\n if (rawValue === undefined) {\n return \"ask\";\n }\n const normalized = rawValue.trim().toLowerCase().replaceAll(\"-\", \"_\");\n if (normalized.length === 0) {\n throw new PmCliError(\"--agent-guidance must not be empty\", EXIT_CODE.USAGE);\n }\n if (normalized === \"ask\" || normalized === \"add\" || normalized === \"skip\" || normalized === \"status\") {\n return normalized;\n }\n throw new PmCliError(\n `Invalid --agent-guidance value \"${rawValue}\". Allowed: ${INIT_AGENT_GUIDANCE_MODE_VALUES.join(\", \")}`,\n EXIT_CODE.USAGE,\n );\n}\n\nfunction parseYesNoChoice(answer: string, currentDefault: boolean): boolean {\n const normalized = answer.trim().toLowerCase();\n if (normalized.length === 0) {\n return currentDefault;\n }\n if (normalized === \"y\" || normalized === \"yes\") {\n return true;\n }\n if (normalized === \"n\" || normalized === \"no\") {\n return false;\n }\n return currentDefault;\n}\n\nfunction applyGovernancePreset(settings: PmSettings, preset: BuiltinGovernancePreset): void {\n const knobs = GOVERNANCE_PRESET_DEFAULTS[preset];\n settings.governance = {\n preset,\n ...knobs,\n };\n settings.validation.parent_reference = knobs.parent_reference;\n settings.validation.metadata_profile = knobs.metadata_profile;\n}\n\nfunction isInstalledPackageEntry(value: unknown): value is { alias?: unknown; ok?: unknown } {\n return typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n\nfunction summarizeInstalledPackages(result: ExtensionCommandResult): InitInstalledPackagesSummary {\n const details = result.details as {\n installed_all?: unknown;\n installed_count?: unknown;\n packages?: Array<{\n alias?: unknown;\n ok?: unknown;\n }>;\n };\n return {\n installed_all: details.installed_all === true,\n installed_count: typeof details.installed_count === \"number\" ? details.installed_count : 0,\n packages: Array.isArray(details.packages)\n ? details.packages.filter(isInstalledPackageEntry).map((entry) => ({\n alias: typeof entry.alias === \"string\" ? entry.alias : \"\",\n ok: entry.ok === true,\n }))\n : [],\n };\n}\n\nasync function registerInitTypePreset(\n pmRoot: string,\n settings: PmSettings,\n preset: InitTypePresetName,\n): Promise<InitRegisteredTypePresetSummary> {\n const schema = normalizeRuntimeSchemaSettings(settings.schema);\n const typesPath = filePathForSchemaSection(pmRoot, schema.files.types, DEFAULT_RUNTIME_SCHEMA_FILE_PATHS.types);\n const parsed = parseItemTypesFile(await readFileIfExists(typesPath));\n let nextFile = parsed;\n const registered: string[] = [];\n const updated: string[] = [];\n for (const normalized of resolveTypePresetDefinitions(preset)) {\n const upsert = upsertItemType(nextFile, normalized);\n nextFile = upsert.file;\n (upsert.replaced ? updated : registered).push(upsert.definition.name);\n }\n await writeFileAtomic(typesPath, serializeItemTypesFile(nextFile));\n return {\n name: preset,\n registered,\n updated,\n file: typesPath,\n };\n}\n\nasync function isLikelyWorkspaceRoot(candidate: string): Promise<boolean> {\n const indicators = [\n \".git\",\n \"package.json\",\n \"pnpm-workspace.yaml\",\n \"AGENTS.md\",\n path.join(\".agents\", \"pm\"),\n ];\n for (const indicator of indicators) {\n if (await pathExists(path.join(candidate, indicator))) {\n return true;\n }\n }\n return false;\n}\n\nasync function assertExplicitTrackerPathIsNotWorkspaceRoot(pmRoot: string, global: GlobalOptions, force: boolean): Promise<void> {\n if (global.path === undefined || force) {\n return;\n }\n if (await pathExists(path.join(pmRoot, \"settings.json\"))) {\n return;\n }\n if (!(await isLikelyWorkspaceRoot(pmRoot))) {\n return;\n }\n const nestedTracker = path.join(pmRoot, \".agents\", \"pm\");\n throw new PmCliError(\n `Refusing to initialize tracker files directly in workspace root \"${pmRoot}\".`,\n EXIT_CODE.USAGE,\n {\n code: \"workspace_root_pm_path\",\n type: \"urn:pm-cli:error:workspace_root_pm_path\",\n why: \"--pm-path/--path points at the tracker storage directory itself, not the repository workspace. Point it at .agents/pm or pass --force if you intentionally want root-level tracker files.\",\n examples: [\n `pm --pm-path ${nestedTracker} init --yes`,\n \"pm init --yes\",\n `pm --pm-path ${pmRoot} init --yes --force`,\n ],\n nextSteps: [\n \"Use --pm-path <repo>/.agents/pm for repository-local tracker storage.\",\n \"Use PM_PATH only for sandboxed tests or explicit tracker roots.\",\n \"Pass --force only when root-level tracker files are intentional.\",\n ],\n recovery: {\n next_best_command: `pm --pm-path ${nestedTracker} init --yes`,\n },\n },\n );\n}\n\nasync function ensureInitDirectories(pmRoot: string, subdirs: readonly string[]): Promise<{\n createdDirs: string[];\n warnings: string[];\n}> {\n const createdDirs: string[] = [];\n const warnings: string[] = [];\n for (const subdir of subdirs) {\n const target = subdir ? path.join(pmRoot, subdir) : pmRoot;\n const existed = await pathExists(target);\n await fs.mkdir(target, { recursive: true });\n if (existed) {\n warnings.push(`already_exists:${target}`);\n } else {\n createdDirs.push(target);\n }\n warnings.push(\n ...(await runActiveOnWriteHooks({\n path: target,\n scope: \"project\",\n op: \"init:ensure_dir\",\n })),\n );\n }\n return { createdDirs, warnings };\n}\n\nasync function runInitWizard(initialPrefix: string, telemetryDefault: boolean): Promise<{\n prefix: string;\n preset: BuiltinGovernancePreset;\n telemetry_enabled: boolean;\n}> {\n const rl = createInitReadlineInterface();\n try {\n output.write(\"pm init setup wizard (agent-optimized)\\n\");\n output.write(\"This walkthrough is non-destructive and each choice can be changed later with pm config.\\n\\n\");\n\n output.write(\"1/3 Item ID prefix\\n\");\n output.write(\"Prefix is prepended to generated IDs (for example pm-a1b2).\\n\");\n const prefixAnswer = await rl.question(`Item ID prefix [${initialPrefix}]: `);\n const resolvedPrefix = prefixAnswer.trim().length > 0 ? normalizePrefix(prefixAnswer) : initialPrefix;\n\n output.write(\"\\n2/3 Governance preset\\n\");\n output.write(\"minimal: no ownership blocking, progressive create defaults, close validation off.\\n\");\n output.write(\"default: ownership conflict warnings, progressive create defaults, close validation warn.\\n\");\n output.write(\"strict: ownership blocking, strict create defaults, close validation strict.\\n\");\n const presetAnswer = await rl.question(\"Governance preset [minimal/default/strict] (default: minimal): \");\n const presetChoice = presetAnswer.trim().length > 0 ? presetAnswer.trim() : \"minimal\";\n // The wizard is forgiving: a typo'd/unknown preset defaults to minimal with a\n // notice instead of throwing and aborting an in-progress interactive setup.\n // normalizeInitGovernancePreset returns a concrete preset for valid input and\n // throws (never returns undefined) for invalid non-empty input, so the result is\n // always a BuiltinGovernancePreset on the success path.\n let resolvedPreset: BuiltinGovernancePreset = \"minimal\";\n try {\n resolvedPreset = normalizeInitGovernancePreset(presetChoice) as BuiltinGovernancePreset;\n } catch {\n output.write(`Unrecognized governance preset \"${presetChoice}\"; using minimal.\\n`);\n }\n\n output.write(\"\\n3/3 Project telemetry\\n\");\n output.write(\"Telemetry helps improve reliability and can be disabled anytime via pm config.\\n\");\n const telemetryLabel = telemetryDefault ? \"Y/n\" : \"y/N\";\n const telemetryAnswer = await rl.question(`Enable telemetry for this project? [${telemetryLabel}] `);\n const telemetryEnabled = parseYesNoChoice(telemetryAnswer, telemetryDefault);\n\n output.write(\"\\n\");\n return {\n prefix: resolvedPrefix,\n preset: resolvedPreset,\n telemetry_enabled: telemetryEnabled,\n };\n } finally {\n rl.close();\n }\n}\n\nfunction normalizeInitCommandOptions(options: InitCommandOptions): InitNormalizedOptions {\n return {\n presetFromOption: normalizeInitGovernancePreset(options.preset),\n useDefaults: options.defaults === true,\n authorFromOption: normalizeOptionalInitAuthor(options.author),\n installBundledPackages: options.withPackages === true,\n agentGuidanceMode: normalizeInitAgentGuidanceMode(options.agentGuidance),\n typePreset: normalizeInitTypePreset(options.typePreset),\n };\n}\n\nfunction collectExistingSettingsPendingChanges(params: {\n settings: PmSettings;\n normalizedPrefix: string;\n prefixArg: string | undefined;\n presetFromOption: BuiltinGovernancePreset | undefined;\n authorFromOption: string | undefined;\n}): string[] {\n const pendingChanges: string[] = [];\n if (params.prefixArg !== undefined && params.settings.id_prefix !== params.normalizedPrefix) {\n pendingChanges.push(\"id_prefix\");\n }\n if (params.presetFromOption !== undefined && params.settings.governance.preset !== params.presetFromOption) {\n pendingChanges.push(\"governance_preset\");\n }\n if (params.authorFromOption !== undefined && params.settings.author_default !== params.authorFromOption) {\n pendingChanges.push(\"author_default\");\n }\n return pendingChanges;\n}\n\nfunction assertExistingSettingsUpdateAllowed(settingsPath: string, pendingChanges: string[], force: boolean): void {\n if (pendingChanges.length === 0 || force) {\n return;\n }\n throw new PmCliError(\n `Refusing to update existing tracker settings at ${settingsPath} without --force.`,\n EXIT_CODE.USAGE,\n {\n code: \"init_existing_settings_requires_force\",\n type: \"urn:pm-cli:error:init_existing_settings_requires_force\",\n required: `--force for ${pendingChanges.join(\", \")}`,\n why: \"pm init is safe to rerun, but changing id prefix, governance preset, or default author on an existing tracker can corrupt long-lived project context when an agent meant to initialize a sandbox path.\",\n examples: [\n \"pm init --yes\",\n \"pm init ./sandbox-pm --yes\",\n \"pm init acme --yes --force\",\n ],\n nextSteps: [\n \"If you meant to initialize a sandbox tracker, pass a path-like positional such as ./sandbox-pm or /tmp/pm-test.\",\n \"If you intentionally want to rewrite this existing tracker's init-managed settings, rerun with --force.\",\n ],\n },\n );\n}\n\nfunction applyExistingSettingsUpdates(params: {\n settings: PmSettings;\n normalizedPrefix: string;\n prefixArg: string | undefined;\n presetFromOption: BuiltinGovernancePreset | undefined;\n authorFromOption: string | undefined;\n warnings: string[];\n}): boolean {\n let changed = false;\n if (params.prefixArg !== undefined && params.settings.id_prefix !== params.normalizedPrefix) {\n params.settings.id_prefix = params.normalizedPrefix;\n params.warnings.push(`updated:id_prefix:${params.normalizedPrefix}`);\n changed = true;\n }\n if (params.presetFromOption !== undefined && params.settings.governance.preset !== params.presetFromOption) {\n applyGovernancePreset(params.settings, params.presetFromOption);\n params.warnings.push(`updated:governance_preset:${params.presetFromOption}`);\n changed = true;\n }\n if (params.authorFromOption !== undefined && params.settings.author_default !== params.authorFromOption) {\n params.settings.author_default = params.authorFromOption;\n params.warnings.push(`updated:author_default:${params.authorFromOption}`);\n changed = true;\n }\n return changed;\n}\n\nasync function loadExistingInitSettings(params: {\n pmRoot: string;\n settingsPath: string;\n normalizedPrefix: string;\n prefixArg: string | undefined;\n options: InitCommandOptions;\n normalizedOptions: InitNormalizedOptions;\n warnings: string[];\n}): Promise<InitSettingsResolution> {\n const settings = await readSettings(params.pmRoot);\n params.warnings.push(`already_exists:${params.settingsPath}`);\n const pendingChanges = collectExistingSettingsPendingChanges({\n settings,\n normalizedPrefix: params.normalizedPrefix,\n prefixArg: params.prefixArg,\n presetFromOption: params.normalizedOptions.presetFromOption,\n authorFromOption: params.normalizedOptions.authorFromOption,\n });\n assertExistingSettingsUpdateAllowed(params.settingsPath, pendingChanges, params.options.force === true);\n if (\n applyExistingSettingsUpdates({\n settings,\n normalizedPrefix: params.normalizedPrefix,\n prefixArg: params.prefixArg,\n presetFromOption: params.normalizedOptions.presetFromOption,\n authorFromOption: params.normalizedOptions.authorFromOption,\n warnings: params.warnings,\n })\n ) {\n await writeSettings(params.pmRoot, settings);\n }\n return {\n settings,\n normalizedPrefix: params.normalizedPrefix,\n chosenPreset: params.normalizedOptions.presetFromOption,\n wizardUsed: false,\n };\n}\n\nasync function createNewInitSettings(params: {\n pmRoot: string;\n normalizedPrefix: string;\n normalizedOptions: InitNormalizedOptions;\n}): Promise<InitSettingsResolution> {\n let normalizedPrefix = params.normalizedPrefix;\n let chosenPreset = params.normalizedOptions.presetFromOption;\n let chosenTelemetryEnabled: boolean | undefined;\n let wizardUsed = false;\n if (\n params.normalizedOptions.presetFromOption === undefined &&\n !params.normalizedOptions.useDefaults &&\n process.stdin.isTTY === true &&\n process.stdout.isTTY === true\n ) {\n const wizardChoices = await runInitWizard(normalizedPrefix, SETTINGS_DEFAULTS.telemetry.enabled);\n normalizedPrefix = wizardChoices.prefix;\n chosenPreset = wizardChoices.preset;\n chosenTelemetryEnabled = wizardChoices.telemetry_enabled;\n wizardUsed = true;\n }\n const effectivePreset = chosenPreset ?? \"minimal\";\n const settings = cloneDefaults();\n settings.id_prefix = normalizedPrefix;\n applyGovernancePreset(settings, effectivePreset);\n if (params.normalizedOptions.authorFromOption !== undefined) {\n settings.author_default = params.normalizedOptions.authorFromOption;\n }\n if (chosenTelemetryEnabled !== undefined) {\n settings.telemetry.enabled = chosenTelemetryEnabled;\n settings.telemetry.first_run_prompt_completed = true;\n }\n await writeSettings(params.pmRoot, settings);\n return {\n settings,\n normalizedPrefix,\n chosenPreset,\n wizardUsed,\n };\n}\n\nasync function resolveInitSettings(params: {\n pmRoot: string;\n settingsPath: string;\n settingsExists: boolean;\n normalizedPrefix: string;\n prefixArg: string | undefined;\n options: InitCommandOptions;\n normalizedOptions: InitNormalizedOptions;\n warnings: string[];\n}): Promise<InitSettingsResolution> {\n if (params.settingsExists) {\n return await loadExistingInitSettings(params);\n }\n return await createNewInitSettings({\n pmRoot: params.pmRoot,\n normalizedPrefix: params.normalizedPrefix,\n normalizedOptions: params.normalizedOptions,\n });\n}\n\nasync function applyInitAgentGuidance(params: {\n pmRoot: string;\n cwd: string;\n agentGuidanceMode: InitAgentGuidanceMode;\n settings: PmSettings;\n warnings: string[];\n}): Promise<InitAgentGuidanceResult> {\n const agentGuidanceResult = await runInitAgentGuidance({\n pm_root: params.pmRoot,\n cwd: params.cwd,\n mode: params.agentGuidanceMode,\n interactive: process.stdin.isTTY === true && process.stdout.isTTY === true,\n settings: params.settings,\n });\n params.warnings.push(...agentGuidanceResult.warnings);\n if (agentGuidanceResult.settings_changed) {\n await writeSettings(params.pmRoot, params.settings);\n }\n return {\n ...agentGuidanceResult.summary,\n next_steps: agentGuidanceResult.next_steps,\n };\n}\n\nasync function ensureInitRuntimeSchemaFiles(\n pmRoot: string,\n settings: PmSettings,\n): Promise<{\n createdDirs: string[];\n warnings: string[];\n}> {\n const createdDirs: string[] = [];\n const warnings: string[] = [];\n const runtimeSchemaScaffold = await ensureRuntimeSchemaFileScaffold(pmRoot, settings.schema);\n for (const createdPath of runtimeSchemaScaffold.created_paths) {\n createdDirs.push(createdPath);\n warnings.push(\n ...(await runActiveOnWriteHooks({\n path: createdPath,\n scope: \"project\",\n op: \"init:runtime_schema_file\",\n })),\n );\n }\n return { createdDirs, warnings };\n}\n\nasync function maybeRegisterInitTypePreset(params: {\n pmRoot: string;\n settings: PmSettings;\n typePreset: InitTypePresetName | undefined;\n warnings: string[];\n}): Promise<InitRegisteredTypePresetSummary | undefined> {\n if (params.typePreset === undefined) {\n return undefined;\n }\n const registeredTypePreset = await registerInitTypePreset(params.pmRoot, params.settings, params.typePreset);\n params.warnings.push(`registered_type_preset:${params.typePreset}`);\n params.warnings.push(\n ...(await runActiveOnWriteHooks({\n path: registeredTypePreset.file,\n scope: \"project\",\n op: \"init:type_preset\",\n })),\n );\n return registeredTypePreset;\n}\n\nasync function ensureInitTypeDirectories(params: {\n pmRoot: string;\n settings: PmSettings;\n createdDirs: string[];\n warnings: string[];\n}): Promise<void> {\n const typeRegistry = resolveItemTypeRegistry(params.settings, getActiveExtensionRegistrations());\n const customTypeFolders = typeRegistry.folders.filter((folder) => !(PM_REQUIRED_SUBDIRS as readonly string[]).includes(folder));\n const scaffold = await ensureInitDirectories(params.pmRoot, customTypeFolders);\n params.createdDirs.push(...scaffold.createdDirs);\n params.warnings.push(...scaffold.warnings);\n}\n\nasync function maybeInstallInitBundledPackages(\n installBundledPackages: boolean,\n global: GlobalOptions,\n warnings: string[],\n): Promise<InitInstalledPackagesSummary | undefined> {\n if (!installBundledPackages) {\n return undefined;\n }\n const packageInstallResult = await runExtension(\"all\", { install: true, project: true }, global);\n warnings.push(...packageInstallResult.warnings);\n const installedPackages = summarizeInstalledPackages(packageInstallResult);\n if (!installedPackages.installed_all || installedPackages.packages.some((entry) => !entry.ok)) {\n throw new PmCliError(\"pm init --with-packages did not install all bundled packages successfully.\", EXIT_CODE.GENERIC_FAILURE);\n }\n return installedPackages;\n}\n\nfunction buildInitNextSteps(params: {\n installBundledPackages: boolean;\n registeredTypePreset: InitRegisteredTypePresetSummary | undefined;\n agentGuidanceNextSteps: string[];\n}): string[] {\n const nextSteps: string[] = [\n 'Create your first item: pm create --type Task --title \"<title>\"',\n 'List active items: pm list',\n 'Get agent-friendly project context: pm context',\n ];\n if (!params.installBundledPackages) {\n nextSteps.push(\n \"Add optional packages for richer workflows: pm install calendar --project, pm install templates --project, pm install guide-shell --project\",\n );\n nextSteps.push(\"Or install everything bundled: pm init --with-packages (idempotent on re-run)\");\n } else {\n nextSteps.push(\"Explore newly-available commands: pm cal, pm templates, pm guide\");\n }\n if (params.registeredTypePreset) {\n nextSteps.push(`Inspect registered preset types: pm schema list, pm schema show ${params.registeredTypePreset.registered[0] ?? params.registeredTypePreset.updated[0]}`);\n }\n nextSteps.push(\"Set PM_AUTHOR=<your-agent-id> so mutations attribute to the right caller.\");\n for (const guidanceNextStep of params.agentGuidanceNextSteps) {\n if (!nextSteps.includes(guidanceNextStep)) {\n nextSteps.push(guidanceNextStep);\n }\n }\n return nextSteps;\n}\n\n/**\n * Implements run init for the public runtime surface of this module.\n */\nexport async function runInit(\n prefixArg: string | undefined,\n global: GlobalOptions,\n options: InitCommandOptions = {},\n): Promise<InitResult> {\n const cwd = process.cwd();\n const invocation = resolveInitInvocation(cwd, global, prefixArg);\n const pmRoot = invocation.pmRoot;\n prefixArg = invocation.prefixArg;\n await assertExplicitTrackerPathIsNotWorkspaceRoot(pmRoot, global, options.force === true);\n const createdDirs: string[] = [];\n const warnings: string[] = [];\n const baseDirs = await ensureInitDirectories(pmRoot, PM_REQUIRED_SUBDIRS);\n createdDirs.push(...baseDirs.createdDirs);\n warnings.push(...baseDirs.warnings);\n\n const settingsPath = path.join(pmRoot, \"settings.json\");\n const settingsExists = await pathExists(settingsPath);\n const normalizedOptions = normalizeInitCommandOptions(options);\n const settingsResolution = await resolveInitSettings({\n pmRoot,\n settingsPath,\n settingsExists,\n normalizedPrefix: normalizePrefix(prefixArg),\n prefixArg,\n options,\n normalizedOptions,\n warnings,\n });\n let { settings } = settingsResolution;\n\n const agentGuidance = await applyInitAgentGuidance({\n pmRoot,\n cwd,\n agentGuidanceMode: normalizedOptions.agentGuidanceMode,\n settings,\n warnings,\n });\n\n const schemaFiles = await ensureInitRuntimeSchemaFiles(pmRoot, settings);\n createdDirs.push(...schemaFiles.createdDirs);\n warnings.push(...schemaFiles.warnings);\n\n const registeredTypePreset = await maybeRegisterInitTypePreset({\n pmRoot,\n settings,\n typePreset: normalizedOptions.typePreset,\n warnings,\n });\n if (registeredTypePreset) {\n settings = await readSettings(pmRoot);\n }\n\n await ensureInitTypeDirectories({ pmRoot, settings, createdDirs, warnings });\n const installedPackages = await maybeInstallInitBundledPackages(normalizedOptions.installBundledPackages, global, warnings);\n\n const nextSteps = buildInitNextSteps({\n installBundledPackages: normalizedOptions.installBundledPackages,\n registeredTypePreset,\n agentGuidanceNextSteps: agentGuidance.next_steps,\n });\n\n return {\n ok: true,\n path: pmRoot,\n settings,\n created_dirs: createdDirs,\n warnings,\n governance_preset: settings.governance.preset,\n wizard_used: settingsResolution.wizardUsed,\n ...(registeredTypePreset ? { registered_type_preset: registeredTypePreset } : {}),\n ...(installedPackages ? { installed_packages: installedPackages } : {}),\n next_steps: nextSteps,\n agent_guidance: agentGuidance,\n };\n}\n"],"names":[],"mappings":"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","debugId":"df631c25-0bdb-52e7-aec4-a83f25fdfa91"}
1
+ {"version":3,"file":"init.js","sources":["cli/commands/init.ts"],"sourceRoot":"/","sourcesContent":["/**\n * @module cli/commands/init\n *\n * Implements the pm init command surface and its agent-facing runtime behavior.\n */\nimport fs from \"node:fs/promises\";\nimport path from \"node:path\";\nimport readline from \"node:readline/promises\";\nimport { stdin as input, stdout as output } from \"node:process\";\nimport { getActiveExtensionRegistrations, runActiveOnWriteHooks } from \"../../core/extensions/index.js\";\nimport { pathExists, readFileIfExists, writeFileAtomic } from \"../../core/fs/fs-utils.js\";\nimport { normalizePrefix } from \"../../core/item/id.js\";\nimport { resolveItemTypeRegistry } from \"../../core/item/type-registry.js\";\nimport {\n DEFAULT_RUNTIME_SCHEMA_FILE_PATHS,\n ensureRuntimeSchemaFileScaffold,\n filePathForSchemaSection,\n normalizeRuntimeSchemaSettings,\n} from \"../../core/schema/runtime-schema.js\";\nimport {\n parseItemTypesFile,\n serializeItemTypesFile,\n upsertItemType,\n} from \"../../core/schema/item-types-file.js\";\nimport {\n normalizeTypePresetName,\n resolveTypePresetDefinitions,\n TYPE_PRESET_NAMES,\n type TypePresetName,\n} from \"../../core/schema/type-presets.js\";\nimport { EXIT_CODE, GOVERNANCE_PRESET_DEFAULTS, PM_REQUIRED_SUBDIRS, SETTINGS_DEFAULTS } from \"../../core/shared/constants.js\";\nimport type { GlobalOptions } from \"../../core/shared/command-types.js\";\nimport { PmCliError } from \"../../core/shared/errors.js\";\nimport { resolvePmRoot } from \"../../core/store/paths.js\";\nimport { readSettings, writeSettings } from \"../../core/store/settings.js\";\nimport type { GovernancePreset, PmSettings } from \"../../types/index.js\";\nimport { renderPmCommand } from \"../argv-utils.js\";\nimport { runExtension, type ExtensionCommandResult } from \"./extension.js\";\nimport {\n INIT_AGENT_GUIDANCE_MODE_VALUES,\n runInitAgentGuidance,\n type InitAgentGuidanceMode,\n type InitAgentGuidanceSummary,\n} from \"./init-agent-guidance.js\";\n\n/**\n * Documents the init installed packages summary payload exchanged by command, SDK, and package integrations.\n */\nexport interface InitInstalledPackagesSummary {\n installed_all: boolean;\n installed_count: number;\n packages: Array<{\n alias: string;\n ok: boolean;\n }>;\n}\n\n/**\n * Restricts init type preset name values accepted by command, SDK, and storage contracts.\n */\nexport type InitTypePresetName = TypePresetName;\n\n/**\n * Documents the init registered type preset summary payload exchanged by command, SDK, and package integrations.\n */\nexport interface InitRegisteredTypePresetSummary {\n name: InitTypePresetName;\n registered: string[];\n updated: string[];\n file: string;\n}\n\n/**\n * Documents the init agent-guidance summary plus generated next-step hints returned by init.\n */\nexport type InitAgentGuidanceResult = InitAgentGuidanceSummary & { next_steps: string[] };\n\n/** Describes how init resolved the tracker and optional workspace target. */\nexport interface InitTargetResolution {\n mode: \"workspace-discovery\" | \"tracker-path\" | \"workspace-path\";\n tracker_root: string;\n workspace_root?: string;\n}\n\n/**\n * Documents the init result payload exchanged by command, SDK, and package integrations.\n */\nexport interface InitResult {\n ok: boolean;\n path: string;\n target: InitTargetResolution;\n settings: PmSettings;\n created_dirs: string[];\n warnings: string[];\n governance_preset: GovernancePreset;\n wizard_used: boolean;\n registered_type_preset?: InitRegisteredTypePresetSummary;\n installed_packages?: InitInstalledPackagesSummary;\n next_steps: string[];\n agent_guidance: InitAgentGuidanceResult;\n}\n\n/**\n * Documents the init command options payload exchanged by command, SDK, and package integrations.\n */\nexport interface InitCommandOptions {\n preset?: string;\n defaults?: boolean;\n author?: string;\n withPackages?: boolean;\n agentGuidance?: string;\n typePreset?: string;\n force?: boolean;\n workspace?: string;\n}\n\n/**\n * Concise projection of an InitResult for the default (toon) renderer. It keeps\n * every piece of information that only init can surface — the resolved path, id\n * prefix, governance preset, telemetry capture level, created-directory count,\n * the full warnings list (including `already_exists:` markers), agent-guidance\n * summary, and next steps — but replaces the verbose full settings tree (~190\n * lines) with a compact `settings` summary. Use --verbose for the full tree.\n */\nexport interface InitConciseResult {\n ok: boolean;\n path: string;\n target: InitTargetResolution;\n id_prefix: string;\n governance_preset: GovernancePreset;\n telemetry: {\n enabled: boolean;\n capture_level: string;\n };\n output_format: string;\n created_dirs_count: number;\n created_dirs: string[];\n warnings: string[];\n wizard_used: boolean;\n registered_type_preset?: InitRegisteredTypePresetSummary;\n installed_packages?: InitInstalledPackagesSummary;\n next_steps: string[];\n agent_guidance: InitAgentGuidanceResult;\n hint: string;\n}\n\n/**\n * Implements summarize init result for the public runtime surface of this module.\n */\nexport function summarizeInitResult(result: InitResult): InitConciseResult {\n return {\n ok: result.ok,\n path: result.path,\n target: result.target,\n id_prefix: result.settings.id_prefix,\n governance_preset: result.governance_preset,\n telemetry: {\n enabled: result.settings.telemetry.enabled,\n capture_level: result.settings.telemetry.capture_level,\n },\n output_format: result.settings.output.default_format,\n created_dirs_count: result.created_dirs.length,\n created_dirs: result.created_dirs,\n warnings: result.warnings,\n wizard_used: result.wizard_used,\n ...(result.registered_type_preset ? { registered_type_preset: result.registered_type_preset } : {}),\n ...(result.installed_packages ? { installed_packages: result.installed_packages } : {}),\n next_steps: result.next_steps,\n agent_guidance: result.agent_guidance,\n hint: \"Re-run with --verbose for the full settings tree.\",\n };\n}\n\nexport const _testOnly = {\n normalizeInitGovernancePreset,\n normalizeInitTypePreset,\n normalizeOptionalInitAuthor,\n normalizeInitAgentGuidanceMode,\n isPathLikeInitTarget,\n resolveInitInvocation,\n parseYesNoChoice,\n applyGovernancePreset,\n runInitWizard,\n setInitReadlineFactoryForTests,\n summarizeInstalledPackages,\n buildInitNextSteps,\n registerInitTypePreset,\n assertExplicitTrackerPathIsNotWorkspaceRoot,\n isLikelyWorkspaceRoot,\n};\n\ntype InitReadlineInterface = ReturnType<typeof readline.createInterface>;\nlet createInitReadlineInterface = (): InitReadlineInterface => readline.createInterface({ input, output });\n\ninterface InitNormalizedOptions {\n presetFromOption: BuiltinGovernancePreset | undefined;\n useDefaults: boolean;\n authorFromOption: string | undefined;\n installBundledPackages: boolean;\n agentGuidanceMode: InitAgentGuidanceMode;\n typePreset: InitTypePresetName | undefined;\n}\n\ninterface InitSettingsResolution {\n settings: PmSettings;\n normalizedPrefix: string;\n chosenPreset: BuiltinGovernancePreset | undefined;\n wizardUsed: boolean;\n}\n\nfunction setInitReadlineFactoryForTests(factory: (() => InitReadlineInterface) | undefined): void {\n createInitReadlineInterface = factory ?? (() => readline.createInterface({ input, output }));\n}\n\nfunction cloneDefaults(): PmSettings {\n return structuredClone(SETTINGS_DEFAULTS);\n}\n\ntype BuiltinGovernancePreset = Exclude<GovernancePreset, \"custom\">;\nconst BUILTIN_GOVERNANCE_PRESETS: BuiltinGovernancePreset[] = [\"minimal\", \"default\", \"strict\"];\nfunction normalizeInitGovernancePreset(rawValue: string | undefined): BuiltinGovernancePreset | undefined {\n if (rawValue === undefined) {\n return undefined;\n }\n const normalized = rawValue.trim().toLowerCase().replaceAll(\"-\", \"_\");\n if (normalized.length === 0) {\n throw new PmCliError(\"--preset must not be empty\", EXIT_CODE.USAGE);\n }\n if (normalized === \"minimal\" || normalized === \"default\" || normalized === \"strict\") {\n return normalized;\n }\n if (normalized === \"lite\" || normalized === \"minimum\") {\n return \"minimal\";\n }\n throw new PmCliError(\n `Invalid --preset value \"${rawValue}\". Allowed: ${BUILTIN_GOVERNANCE_PRESETS.join(\", \")}`,\n EXIT_CODE.USAGE,\n );\n}\n\nfunction normalizeInitTypePreset(rawValue: string | undefined): InitTypePresetName | undefined {\n if (rawValue === undefined) {\n return undefined;\n }\n if (rawValue.trim().length === 0) {\n throw new PmCliError(\"--type-preset must not be empty\", EXIT_CODE.USAGE);\n }\n try {\n // Non-undefined input never returns undefined; the shared normalizer throws\n // a plain Error for empty/unknown values, which we re-map to init's --type-preset\n // PmCliError wording for a consistent CLI surface.\n return normalizeTypePresetName(rawValue) as InitTypePresetName;\n } catch {\n throw new PmCliError(\n `Invalid --type-preset value \"${rawValue}\". Allowed: ${TYPE_PRESET_NAMES.join(\", \")}`,\n EXIT_CODE.USAGE,\n );\n }\n}\n\nfunction normalizeOptionalInitAuthor(rawValue: string | undefined): string | undefined {\n if (rawValue === undefined) {\n return undefined;\n }\n const normalized = rawValue.trim();\n if (normalized.length === 0) {\n throw new PmCliError(\"--author must not be empty\", EXIT_CODE.USAGE);\n }\n return normalized;\n}\n\nfunction isPathLikeInitTarget(rawValue: string | undefined): boolean {\n if (rawValue === undefined) {\n return false;\n }\n const trimmed = rawValue.trim();\n if (trimmed.length === 0) {\n return false;\n }\n return path.isAbsolute(trimmed) || trimmed.startsWith(\".\") || trimmed.includes(\"/\") || trimmed.includes(\"\\\\\");\n}\n\nfunction resolveInitInvocation(\n cwd: string,\n global: GlobalOptions,\n prefixArg: string | undefined,\n workspaceArg?: string,\n): { pmRoot: string; prefixArg: string | undefined; target: InitTargetResolution } {\n const normalizedWorkspace = workspaceArg?.trim();\n if (workspaceArg !== undefined && normalizedWorkspace?.length === 0) {\n throw new PmCliError(\"--workspace must not be empty\", EXIT_CODE.USAGE);\n }\n if (normalizedWorkspace !== undefined) {\n if (global.path !== undefined || isPathLikeInitTarget(prefixArg)) {\n throw new PmCliError(\n \"--workspace cannot be combined with --pm-path/--path or a path-like positional target.\",\n EXIT_CODE.USAGE,\n );\n }\n const workspaceRoot = path.resolve(cwd, normalizedWorkspace);\n const pmRoot = path.join(workspaceRoot, \".agents\", \"pm\");\n return {\n pmRoot,\n prefixArg,\n target: { mode: \"workspace-path\", tracker_root: pmRoot, workspace_root: workspaceRoot },\n };\n }\n if (global.path === undefined && isPathLikeInitTarget(prefixArg)) {\n const positionalTarget = path.resolve(cwd, prefixArg!.trim());\n return {\n pmRoot: positionalTarget,\n prefixArg: undefined,\n target: { mode: \"tracker-path\", tracker_root: positionalTarget },\n };\n }\n const pmRoot = resolvePmRoot(cwd, global.path);\n return {\n pmRoot,\n prefixArg,\n target: global.path === undefined\n ? { mode: \"workspace-discovery\", tracker_root: pmRoot, workspace_root: cwd }\n : { mode: \"tracker-path\", tracker_root: pmRoot },\n };\n}\n\nfunction normalizeInitAgentGuidanceMode(rawValue: string | undefined): InitAgentGuidanceMode {\n if (rawValue === undefined) {\n return \"ask\";\n }\n const normalized = rawValue.trim().toLowerCase().replaceAll(\"-\", \"_\");\n if (normalized.length === 0) {\n throw new PmCliError(\"--agent-guidance must not be empty\", EXIT_CODE.USAGE);\n }\n if (normalized === \"ask\" || normalized === \"add\" || normalized === \"skip\" || normalized === \"status\") {\n return normalized;\n }\n throw new PmCliError(\n `Invalid --agent-guidance value \"${rawValue}\". Allowed: ${INIT_AGENT_GUIDANCE_MODE_VALUES.join(\", \")}`,\n EXIT_CODE.USAGE,\n );\n}\n\nfunction parseYesNoChoice(answer: string, currentDefault: boolean): boolean {\n const normalized = answer.trim().toLowerCase();\n if (normalized.length === 0) {\n return currentDefault;\n }\n if (normalized === \"y\" || normalized === \"yes\") {\n return true;\n }\n if (normalized === \"n\" || normalized === \"no\") {\n return false;\n }\n return currentDefault;\n}\n\nfunction applyGovernancePreset(settings: PmSettings, preset: BuiltinGovernancePreset): void {\n const knobs = GOVERNANCE_PRESET_DEFAULTS[preset];\n settings.governance = {\n preset,\n ...knobs,\n };\n settings.validation.parent_reference = knobs.parent_reference;\n settings.validation.metadata_profile = knobs.metadata_profile;\n}\n\nfunction isInstalledPackageEntry(value: unknown): value is { alias?: unknown; ok?: unknown } {\n return typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n\nfunction summarizeInstalledPackages(result: ExtensionCommandResult): InitInstalledPackagesSummary {\n const details = result.details as {\n installed_all?: unknown;\n installed_count?: unknown;\n packages?: Array<{\n alias?: unknown;\n ok?: unknown;\n }>;\n };\n return {\n installed_all: details.installed_all === true,\n installed_count: typeof details.installed_count === \"number\" ? details.installed_count : 0,\n packages: Array.isArray(details.packages)\n ? details.packages.filter(isInstalledPackageEntry).map((entry) => ({\n alias: typeof entry.alias === \"string\" ? entry.alias : \"\",\n ok: entry.ok === true,\n }))\n : [],\n };\n}\n\nasync function registerInitTypePreset(\n pmRoot: string,\n settings: PmSettings,\n preset: InitTypePresetName,\n): Promise<InitRegisteredTypePresetSummary> {\n const schema = normalizeRuntimeSchemaSettings(settings.schema);\n const typesPath = filePathForSchemaSection(pmRoot, schema.files.types, DEFAULT_RUNTIME_SCHEMA_FILE_PATHS.types);\n const parsed = parseItemTypesFile(await readFileIfExists(typesPath));\n let nextFile = parsed;\n const registered: string[] = [];\n const updated: string[] = [];\n for (const normalized of resolveTypePresetDefinitions(preset)) {\n const upsert = upsertItemType(nextFile, normalized);\n nextFile = upsert.file;\n (upsert.replaced ? updated : registered).push(upsert.definition.name);\n }\n await writeFileAtomic(typesPath, serializeItemTypesFile(nextFile));\n return {\n name: preset,\n registered,\n updated,\n file: typesPath,\n };\n}\n\nasync function isLikelyWorkspaceRoot(candidate: string): Promise<boolean> {\n const indicators = [\n \".git\",\n \"package.json\",\n \"pnpm-workspace.yaml\",\n \"AGENTS.md\",\n path.join(\".agents\", \"pm\"),\n ];\n for (const indicator of indicators) {\n if (await pathExists(path.join(candidate, indicator))) {\n return true;\n }\n }\n return false;\n}\n\nasync function assertExplicitTrackerPathIsNotWorkspaceRoot(pmRoot: string, explicitTrackerTarget: boolean, force: boolean): Promise<void> {\n if (!explicitTrackerTarget || force) {\n return;\n }\n if (await pathExists(path.join(pmRoot, \"settings.json\"))) {\n return;\n }\n if (!(await isLikelyWorkspaceRoot(pmRoot))) {\n return;\n }\n const nestedTracker = path.join(pmRoot, \".agents\", \"pm\");\n throw new PmCliError(\n `Refusing to initialize tracker files directly in workspace root \"${pmRoot}\".`,\n EXIT_CODE.USAGE,\n {\n code: \"workspace_root_pm_path\",\n type: \"urn:pm-cli:error:workspace_root_pm_path\",\n why: \"Path-like init targets and --pm-path/--path point at the tracker storage directory itself, not the repository workspace. Point at .agents/pm, use --workspace, or pass --force if you intentionally want root-level tracker files.\",\n examples: [\n `pm --pm-path ${nestedTracker} init --yes`,\n \"pm init --yes\",\n `pm --pm-path ${pmRoot} init --yes --force`,\n ],\n nextSteps: [\n \"Use --pm-path <repo>/.agents/pm for repository-local tracker storage.\",\n \"Use PM_PATH only for sandboxed tests or explicit tracker roots.\",\n \"Pass --force only when root-level tracker files are intentional.\",\n ],\n recovery: {\n next_best_command: `pm --pm-path ${nestedTracker} init --yes`,\n },\n },\n );\n}\n\nasync function ensureInitDirectories(pmRoot: string, subdirs: readonly string[]): Promise<{\n createdDirs: string[];\n warnings: string[];\n}> {\n const createdDirs: string[] = [];\n const warnings: string[] = [];\n for (const subdir of subdirs) {\n const target = subdir ? path.join(pmRoot, subdir) : pmRoot;\n const existed = await pathExists(target);\n await fs.mkdir(target, { recursive: true });\n if (existed) {\n warnings.push(`already_exists:${target}`);\n } else {\n createdDirs.push(target);\n }\n warnings.push(\n ...(await runActiveOnWriteHooks({\n path: target,\n scope: \"project\",\n op: \"init:ensure_dir\",\n })),\n );\n }\n return { createdDirs, warnings };\n}\n\nasync function runInitWizard(initialPrefix: string, telemetryDefault: boolean): Promise<{\n prefix: string;\n preset: BuiltinGovernancePreset;\n telemetry_enabled: boolean;\n}> {\n const rl = createInitReadlineInterface();\n try {\n output.write(\"pm init setup wizard (agent-optimized)\\n\");\n output.write(\"This walkthrough is non-destructive and each choice can be changed later with pm config.\\n\\n\");\n\n output.write(\"1/3 Item ID prefix\\n\");\n output.write(\"Prefix is prepended to generated IDs (for example pm-a1b2).\\n\");\n const prefixAnswer = await rl.question(`Item ID prefix [${initialPrefix}]: `);\n const resolvedPrefix = prefixAnswer.trim().length > 0 ? normalizePrefix(prefixAnswer) : initialPrefix;\n\n output.write(\"\\n2/3 Governance preset\\n\");\n output.write(\"minimal: no ownership blocking, progressive create defaults, close validation off.\\n\");\n output.write(\"default: ownership conflict warnings, progressive create defaults, close validation warn.\\n\");\n output.write(\"strict: ownership blocking, strict create defaults, close validation strict.\\n\");\n const presetAnswer = await rl.question(\"Governance preset [minimal/default/strict] (default: minimal): \");\n const presetChoice = presetAnswer.trim().length > 0 ? presetAnswer.trim() : \"minimal\";\n // The wizard is forgiving: a typo'd/unknown preset defaults to minimal with a\n // notice instead of throwing and aborting an in-progress interactive setup.\n // normalizeInitGovernancePreset returns a concrete preset for valid input and\n // throws (never returns undefined) for invalid non-empty input, so the result is\n // always a BuiltinGovernancePreset on the success path.\n let resolvedPreset: BuiltinGovernancePreset = \"minimal\";\n try {\n resolvedPreset = normalizeInitGovernancePreset(presetChoice) as BuiltinGovernancePreset;\n } catch {\n output.write(`Unrecognized governance preset \"${presetChoice}\"; using minimal.\\n`);\n }\n\n output.write(\"\\n3/3 Project telemetry\\n\");\n output.write(\"Telemetry helps improve reliability and can be disabled anytime via pm config.\\n\");\n const telemetryLabel = telemetryDefault ? \"Y/n\" : \"y/N\";\n const telemetryAnswer = await rl.question(`Enable telemetry for this project? [${telemetryLabel}] `);\n const telemetryEnabled = parseYesNoChoice(telemetryAnswer, telemetryDefault);\n\n output.write(\"\\n\");\n return {\n prefix: resolvedPrefix,\n preset: resolvedPreset,\n telemetry_enabled: telemetryEnabled,\n };\n } finally {\n rl.close();\n }\n}\n\nfunction normalizeInitCommandOptions(options: InitCommandOptions): InitNormalizedOptions {\n return {\n presetFromOption: normalizeInitGovernancePreset(options.preset),\n useDefaults: options.defaults === true,\n authorFromOption: normalizeOptionalInitAuthor(options.author),\n installBundledPackages: options.withPackages === true,\n agentGuidanceMode: normalizeInitAgentGuidanceMode(options.agentGuidance),\n typePreset: normalizeInitTypePreset(options.typePreset),\n };\n}\n\nfunction collectExistingSettingsPendingChanges(params: {\n settings: PmSettings;\n normalizedPrefix: string;\n prefixArg: string | undefined;\n presetFromOption: BuiltinGovernancePreset | undefined;\n authorFromOption: string | undefined;\n}): string[] {\n const pendingChanges: string[] = [];\n if (params.prefixArg !== undefined && params.settings.id_prefix !== params.normalizedPrefix) {\n pendingChanges.push(\"id_prefix\");\n }\n if (params.presetFromOption !== undefined && params.settings.governance.preset !== params.presetFromOption) {\n pendingChanges.push(\"governance_preset\");\n }\n if (params.authorFromOption !== undefined && params.settings.author_default !== params.authorFromOption) {\n pendingChanges.push(\"author_default\");\n }\n return pendingChanges;\n}\n\nfunction assertExistingSettingsUpdateAllowed(settingsPath: string, pendingChanges: string[], force: boolean): void {\n if (pendingChanges.length === 0 || force) {\n return;\n }\n throw new PmCliError(\n `Refusing to update existing tracker settings at ${settingsPath} without --force.`,\n EXIT_CODE.USAGE,\n {\n code: \"init_existing_settings_requires_force\",\n type: \"urn:pm-cli:error:init_existing_settings_requires_force\",\n required: `--force for ${pendingChanges.join(\", \")}`,\n why: \"pm init is safe to rerun, but changing id prefix, governance preset, or default author on an existing tracker can corrupt long-lived project context when an agent meant to initialize a sandbox path.\",\n examples: [\n \"pm init --yes\",\n \"pm init ./sandbox-pm --yes\",\n \"pm init acme --yes --force\",\n ],\n nextSteps: [\n \"If you meant to initialize a sandbox tracker, pass a path-like positional such as ./sandbox-pm or /tmp/pm-test.\",\n \"If you intentionally want to rewrite this existing tracker's init-managed settings, rerun with --force.\",\n ],\n },\n );\n}\n\nfunction applyExistingSettingsUpdates(params: {\n settings: PmSettings;\n normalizedPrefix: string;\n prefixArg: string | undefined;\n presetFromOption: BuiltinGovernancePreset | undefined;\n authorFromOption: string | undefined;\n warnings: string[];\n}): boolean {\n let changed = false;\n if (params.prefixArg !== undefined && params.settings.id_prefix !== params.normalizedPrefix) {\n params.settings.id_prefix = params.normalizedPrefix;\n params.warnings.push(`updated:id_prefix:${params.normalizedPrefix}`);\n changed = true;\n }\n if (params.presetFromOption !== undefined && params.settings.governance.preset !== params.presetFromOption) {\n applyGovernancePreset(params.settings, params.presetFromOption);\n params.warnings.push(`updated:governance_preset:${params.presetFromOption}`);\n changed = true;\n }\n if (params.authorFromOption !== undefined && params.settings.author_default !== params.authorFromOption) {\n params.settings.author_default = params.authorFromOption;\n params.warnings.push(`updated:author_default:${params.authorFromOption}`);\n changed = true;\n }\n return changed;\n}\n\nasync function loadExistingInitSettings(params: {\n pmRoot: string;\n settingsPath: string;\n normalizedPrefix: string;\n prefixArg: string | undefined;\n options: InitCommandOptions;\n normalizedOptions: InitNormalizedOptions;\n warnings: string[];\n}): Promise<InitSettingsResolution> {\n const settings = await readSettings(params.pmRoot);\n params.warnings.push(`already_exists:${params.settingsPath}`);\n const pendingChanges = collectExistingSettingsPendingChanges({\n settings,\n normalizedPrefix: params.normalizedPrefix,\n prefixArg: params.prefixArg,\n presetFromOption: params.normalizedOptions.presetFromOption,\n authorFromOption: params.normalizedOptions.authorFromOption,\n });\n assertExistingSettingsUpdateAllowed(params.settingsPath, pendingChanges, params.options.force === true);\n if (\n applyExistingSettingsUpdates({\n settings,\n normalizedPrefix: params.normalizedPrefix,\n prefixArg: params.prefixArg,\n presetFromOption: params.normalizedOptions.presetFromOption,\n authorFromOption: params.normalizedOptions.authorFromOption,\n warnings: params.warnings,\n })\n ) {\n await writeSettings(params.pmRoot, settings);\n }\n return {\n settings,\n normalizedPrefix: params.normalizedPrefix,\n chosenPreset: params.normalizedOptions.presetFromOption,\n wizardUsed: false,\n };\n}\n\nasync function createNewInitSettings(params: {\n pmRoot: string;\n normalizedPrefix: string;\n normalizedOptions: InitNormalizedOptions;\n}): Promise<InitSettingsResolution> {\n let normalizedPrefix = params.normalizedPrefix;\n let chosenPreset = params.normalizedOptions.presetFromOption;\n let chosenTelemetryEnabled: boolean | undefined;\n let wizardUsed = false;\n if (\n params.normalizedOptions.presetFromOption === undefined &&\n !params.normalizedOptions.useDefaults &&\n process.stdin.isTTY === true &&\n process.stdout.isTTY === true\n ) {\n const wizardChoices = await runInitWizard(normalizedPrefix, SETTINGS_DEFAULTS.telemetry.enabled);\n normalizedPrefix = wizardChoices.prefix;\n chosenPreset = wizardChoices.preset;\n chosenTelemetryEnabled = wizardChoices.telemetry_enabled;\n wizardUsed = true;\n }\n const effectivePreset = chosenPreset ?? \"minimal\";\n const settings = cloneDefaults();\n settings.id_prefix = normalizedPrefix;\n applyGovernancePreset(settings, effectivePreset);\n if (params.normalizedOptions.authorFromOption !== undefined) {\n settings.author_default = params.normalizedOptions.authorFromOption;\n }\n if (chosenTelemetryEnabled !== undefined) {\n settings.telemetry.enabled = chosenTelemetryEnabled;\n settings.telemetry.first_run_prompt_completed = true;\n }\n await writeSettings(params.pmRoot, settings);\n return {\n settings,\n normalizedPrefix,\n chosenPreset,\n wizardUsed,\n };\n}\n\nasync function resolveInitSettings(params: {\n pmRoot: string;\n settingsPath: string;\n settingsExists: boolean;\n normalizedPrefix: string;\n prefixArg: string | undefined;\n options: InitCommandOptions;\n normalizedOptions: InitNormalizedOptions;\n warnings: string[];\n}): Promise<InitSettingsResolution> {\n if (params.settingsExists) {\n return await loadExistingInitSettings(params);\n }\n return await createNewInitSettings({\n pmRoot: params.pmRoot,\n normalizedPrefix: params.normalizedPrefix,\n normalizedOptions: params.normalizedOptions,\n });\n}\n\nasync function applyInitAgentGuidance(params: {\n pmRoot: string;\n cwd: string;\n agentGuidanceMode: InitAgentGuidanceMode;\n settings: PmSettings;\n warnings: string[];\n}): Promise<InitAgentGuidanceResult> {\n const agentGuidanceResult = await runInitAgentGuidance({\n pm_root: params.pmRoot,\n cwd: params.cwd,\n mode: params.agentGuidanceMode,\n interactive: process.stdin.isTTY === true && process.stdout.isTTY === true,\n settings: params.settings,\n });\n params.warnings.push(...agentGuidanceResult.warnings);\n if (agentGuidanceResult.settings_changed) {\n await writeSettings(params.pmRoot, params.settings);\n }\n return {\n ...agentGuidanceResult.summary,\n next_steps: agentGuidanceResult.next_steps,\n };\n}\n\nasync function ensureInitRuntimeSchemaFiles(\n pmRoot: string,\n settings: PmSettings,\n): Promise<{\n createdDirs: string[];\n warnings: string[];\n}> {\n const createdDirs: string[] = [];\n const warnings: string[] = [];\n const runtimeSchemaScaffold = await ensureRuntimeSchemaFileScaffold(pmRoot, settings.schema);\n for (const createdPath of runtimeSchemaScaffold.created_paths) {\n createdDirs.push(createdPath);\n warnings.push(\n ...(await runActiveOnWriteHooks({\n path: createdPath,\n scope: \"project\",\n op: \"init:runtime_schema_file\",\n })),\n );\n }\n return { createdDirs, warnings };\n}\n\nasync function maybeRegisterInitTypePreset(params: {\n pmRoot: string;\n settings: PmSettings;\n typePreset: InitTypePresetName | undefined;\n warnings: string[];\n}): Promise<InitRegisteredTypePresetSummary | undefined> {\n if (params.typePreset === undefined) {\n return undefined;\n }\n const registeredTypePreset = await registerInitTypePreset(params.pmRoot, params.settings, params.typePreset);\n params.warnings.push(`registered_type_preset:${params.typePreset}`);\n params.warnings.push(\n ...(await runActiveOnWriteHooks({\n path: registeredTypePreset.file,\n scope: \"project\",\n op: \"init:type_preset\",\n })),\n );\n return registeredTypePreset;\n}\n\nasync function ensureInitTypeDirectories(params: {\n pmRoot: string;\n settings: PmSettings;\n createdDirs: string[];\n warnings: string[];\n}): Promise<void> {\n const typeRegistry = resolveItemTypeRegistry(params.settings, getActiveExtensionRegistrations());\n const customTypeFolders = typeRegistry.folders.filter((folder) => !(PM_REQUIRED_SUBDIRS as readonly string[]).includes(folder));\n const scaffold = await ensureInitDirectories(params.pmRoot, customTypeFolders);\n params.createdDirs.push(...scaffold.createdDirs);\n params.warnings.push(...scaffold.warnings);\n}\n\nasync function maybeInstallInitBundledPackages(\n installBundledPackages: boolean,\n global: GlobalOptions,\n pmRoot: string,\n warnings: string[],\n): Promise<InitInstalledPackagesSummary | undefined> {\n if (!installBundledPackages) {\n return undefined;\n }\n const packageInstallResult = await runExtension(\"all\", { install: true, project: true }, { ...global, path: pmRoot });\n warnings.push(...packageInstallResult.warnings);\n const installedPackages = summarizeInstalledPackages(packageInstallResult);\n const failedAliases = installedPackages.packages.filter((entry) => !entry.ok).map((entry) => entry.alias);\n if (!installedPackages.installed_all || failedAliases.length > 0) {\n throw new PmCliError(\n `pm init --with-packages did not install all bundled packages successfully${failedAliases.length > 0 ? `: ${failedAliases.join(\", \")}` : \".\"}`,\n EXIT_CODE.GENERIC_FAILURE,\n );\n }\n return installedPackages;\n}\n\nfunction buildInitNextSteps(params: {\n installBundledPackages: boolean;\n registeredTypePreset: InitRegisteredTypePresetSummary | undefined;\n agentGuidanceNextSteps: string[];\n target: InitTargetResolution;\n}): string[] {\n const pmCommand = (args: string[]): string => renderPmCommand([\n ...(params.target.mode === \"workspace-discovery\" ? [] : [\"--pm-path\", params.target.tracker_root]),\n ...args,\n ]);\n const nextSteps: string[] = [\n `Create your first item: ${pmCommand([\"create\", \"--type\", \"Task\", \"--title\", \"<title>\"])}`,\n `List active items: ${pmCommand([\"list\"])}`,\n `Get agent-friendly project context: ${pmCommand([\"context\"])}`,\n ];\n if (!params.installBundledPackages) {\n nextSteps.push(\n `Add optional packages for richer workflows: ${pmCommand([\"install\", \"calendar\", \"--project\"])}, ${pmCommand([\"install\", \"templates\", \"--project\"])}, ${pmCommand([\"install\", \"guide-shell\", \"--project\"])}`,\n );\n nextSteps.push(`Or install everything bundled: ${pmCommand([\"init\", \"--with-packages\"])} (idempotent on re-run)`);\n } else {\n nextSteps.push(`Explore newly-available commands: ${pmCommand([\"cal\"])}, ${pmCommand([\"templates\"])}, ${pmCommand([\"guide\"])}`);\n }\n if (params.registeredTypePreset) {\n nextSteps.push(\n `Inspect registered preset types: ${pmCommand([\"schema\", \"list\"])}, ${pmCommand([\"schema\", \"show\", params.registeredTypePreset.registered[0] ?? params.registeredTypePreset.updated[0]])}`,\n );\n }\n nextSteps.push(\"Set PM_AUTHOR=<your-agent-id> so mutations attribute to the right caller.\");\n for (const guidanceNextStep of params.agentGuidanceNextSteps) {\n const scopedGuidance = params.target.mode === \"workspace-discovery\"\n ? guidanceNextStep\n : guidanceNextStep.replace(/\\bpm (?=[a-z])/g, () => `${pmCommand([])} `);\n if (!nextSteps.includes(scopedGuidance)) {\n nextSteps.push(scopedGuidance);\n }\n }\n return nextSteps;\n}\n\n/**\n * Implements run init for the public runtime surface of this module.\n */\nexport async function runInit(\n prefixArg: string | undefined,\n global: GlobalOptions,\n options: InitCommandOptions = {},\n): Promise<InitResult> {\n const cwd = process.cwd();\n const invocation = resolveInitInvocation(cwd, global, prefixArg, options.workspace);\n const pmRoot = invocation.pmRoot;\n prefixArg = invocation.prefixArg;\n await assertExplicitTrackerPathIsNotWorkspaceRoot(pmRoot, invocation.target.mode === \"tracker-path\", options.force === true);\n const createdDirs: string[] = [];\n const warnings: string[] = [];\n const baseDirs = await ensureInitDirectories(pmRoot, PM_REQUIRED_SUBDIRS);\n createdDirs.push(...baseDirs.createdDirs);\n warnings.push(...baseDirs.warnings);\n\n const settingsPath = path.join(pmRoot, \"settings.json\");\n const settingsExists = await pathExists(settingsPath);\n const normalizedOptions = normalizeInitCommandOptions(options);\n const settingsResolution = await resolveInitSettings({\n pmRoot,\n settingsPath,\n settingsExists,\n normalizedPrefix: normalizePrefix(prefixArg),\n prefixArg,\n options,\n normalizedOptions,\n warnings,\n });\n let { settings } = settingsResolution;\n\n const agentGuidance = await applyInitAgentGuidance({\n pmRoot,\n cwd,\n agentGuidanceMode: normalizedOptions.agentGuidanceMode,\n settings,\n warnings,\n });\n\n const schemaFiles = await ensureInitRuntimeSchemaFiles(pmRoot, settings);\n createdDirs.push(...schemaFiles.createdDirs);\n warnings.push(...schemaFiles.warnings);\n\n const registeredTypePreset = await maybeRegisterInitTypePreset({\n pmRoot,\n settings,\n typePreset: normalizedOptions.typePreset,\n warnings,\n });\n if (registeredTypePreset) {\n settings = await readSettings(pmRoot);\n }\n\n await ensureInitTypeDirectories({ pmRoot, settings, createdDirs, warnings });\n const installedPackages = await maybeInstallInitBundledPackages(\n normalizedOptions.installBundledPackages,\n global,\n pmRoot,\n warnings,\n );\n\n const nextSteps = buildInitNextSteps({\n installBundledPackages: normalizedOptions.installBundledPackages,\n registeredTypePreset,\n agentGuidanceNextSteps: agentGuidance.next_steps,\n target: invocation.target,\n });\n\n return {\n ok: true,\n path: pmRoot,\n target: invocation.target,\n settings,\n created_dirs: createdDirs,\n warnings,\n governance_preset: settings.governance.preset,\n wizard_used: settingsResolution.wizardUsed,\n ...(registeredTypePreset ? { registered_type_preset: registeredTypePreset } : {}),\n ...(installedPackages ? { installed_packages: installedPackages } : {}),\n next_steps: nextSteps,\n agent_guidance: agentGuidance,\n };\n}\n"],"names":[],"mappings":"AAAA;;;;GAIG;;;AACH,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,KAAK,IAAI,KAAK,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,+BAA+B,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACxG,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC1F,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EACL,iCAAiC,EACjC,+BAA+B,EAC/B,wBAAwB,EACxB,8BAA8B,GAC/B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,cAAc,GACf,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,uBAAuB,EACvB,4BAA4B,EAC5B,iBAAiB,GAElB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAE/H,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAE3E,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,YAAY,EAA+B,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EACL,+BAA+B,EAC/B,oBAAoB,GAGrB,MAAM,0BAA0B,CAAC;AAuGlC;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAkB;IACpD,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS;QACpC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;QAC3C,SAAS,EAAE;YACT,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO;YAC1C,aAAa,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,aAAa;SACvD;QACD,aAAa,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc;QACpD,kBAAkB,EAAE,MAAM,CAAC,YAAY,CAAC,MAAM;QAC9C,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,GAAG,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,sBAAsB,EAAE,MAAM,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnG,GAAG,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,MAAM,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvF,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,IAAI,EAAE,mDAAmD;KAC1D,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,6BAA6B;IAC7B,uBAAuB;IACvB,2BAA2B;IAC3B,8BAA8B;IAC9B,oBAAoB;IACpB,qBAAqB;IACrB,gBAAgB;IAChB,qBAAqB;IACrB,aAAa;IACb,8BAA8B;IAC9B,0BAA0B;IAC1B,kBAAkB;IAClB,sBAAsB;IACtB,2CAA2C;IAC3C,qBAAqB;CACtB,CAAC;AAGF,IAAI,2BAA2B,GAAG,GAA0B,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;AAkB3G,SAAS,8BAA8B,CAAC,OAAkD;IACxF,2BAA2B,GAAG,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;AAC/F,CAAC;AAED,SAAS,aAAa;IACpB,OAAO,eAAe,CAAC,iBAAiB,CAAC,CAAC;AAC5C,CAAC;AAGD,MAAM,0BAA0B,GAA8B,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AAC/F,SAAS,6BAA6B,CAAC,QAA4B;IACjE,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACtE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,UAAU,CAAC,4BAA4B,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QACpF,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,IAAI,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QACtD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,IAAI,UAAU,CAClB,2BAA2B,QAAQ,eAAe,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EACzF,SAAS,CAAC,KAAK,CAChB,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,QAA4B;IAC3D,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,UAAU,CAAC,iCAAiC,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,CAAC;QACH,4EAA4E;QAC5E,kFAAkF;QAClF,mDAAmD;QACnD,OAAO,uBAAuB,CAAC,QAAQ,CAAuB,CAAC;IACjE,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,UAAU,CAClB,gCAAgC,QAAQ,eAAe,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EACrF,SAAS,CAAC,KAAK,CAChB,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,2BAA2B,CAAC,QAA4B;IAC/D,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,UAAU,CAAC,4BAA4B,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,oBAAoB,CAAC,QAA4B;IACxD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;IAChC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAChH,CAAC;AAED,SAAS,qBAAqB,CAC5B,GAAW,EACX,MAAqB,EACrB,SAA6B,EAC7B,YAAqB;IAErB,MAAM,mBAAmB,GAAG,YAAY,EAAE,IAAI,EAAE,CAAC;IACjD,IAAI,YAAY,KAAK,SAAS,IAAI,mBAAmB,EAAE,MAAM,KAAK,CAAC,EAAE,CAAC;QACpE,MAAM,IAAI,UAAU,CAAC,+BAA+B,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;IACzE,CAAC;IACD,IAAI,mBAAmB,KAAK,SAAS,EAAE,CAAC;QACtC,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,oBAAoB,CAAC,SAAS,CAAC,EAAE,CAAC;YACjE,MAAM,IAAI,UAAU,CAClB,wFAAwF,EACxF,SAAS,CAAC,KAAK,CAChB,CAAC;QACJ,CAAC;QACD,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;QAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QACzD,OAAO;YACL,MAAM;YACN,SAAS;YACT,MAAM,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE;SACxF,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,oBAAoB,CAAC,SAAS,CAAC,EAAE,CAAC;QACjE,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,SAAU,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9D,OAAO;YACL,MAAM,EAAE,gBAAgB;YACxB,SAAS,EAAE,SAAS;YACpB,MAAM,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,YAAY,EAAE,gBAAgB,EAAE;SACjE,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAC/C,OAAO;QACL,MAAM;QACN,SAAS;QACT,MAAM,EAAE,MAAM,CAAC,IAAI,KAAK,SAAS;YAC/B,CAAC,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE;YAC5E,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,EAAE;KACnD,CAAC;AACJ,CAAC;AAED,SAAS,8BAA8B,CAAC,QAA4B;IAClE,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACtE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,UAAU,CAAC,oCAAoC,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;IAC9E,CAAC;IACD,IAAI,UAAU,KAAK,KAAK,IAAI,UAAU,KAAK,KAAK,IAAI,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QACrG,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,MAAM,IAAI,UAAU,CAClB,mCAAmC,QAAQ,eAAe,+BAA+B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EACtG,SAAS,CAAC,KAAK,CAChB,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAc,EAAE,cAAuB;IAC/D,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC/C,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,cAAc,CAAC;IACxB,CAAC;IACD,IAAI,UAAU,KAAK,GAAG,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,UAAU,KAAK,GAAG,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QAC9C,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,SAAS,qBAAqB,CAAC,QAAoB,EAAE,MAA+B;IAClF,MAAM,KAAK,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAC;IACjD,QAAQ,CAAC,UAAU,GAAG;QACpB,MAAM;QACN,GAAG,KAAK;KACT,CAAC;IACF,QAAQ,CAAC,UAAU,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC;IAC9D,QAAQ,CAAC,UAAU,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC;AAChE,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAc;IAC7C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,0BAA0B,CAAC,MAA8B;IAChE,MAAM,OAAO,GAAG,MAAM,CAAC,OAOtB,CAAC;IACF,OAAO;QACL,aAAa,EAAE,OAAO,CAAC,aAAa,KAAK,IAAI;QAC7C,eAAe,EAAE,OAAO,OAAO,CAAC,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAC1F,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;YACvC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAC/D,KAAK,EAAE,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;gBACzD,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK,IAAI;aACtB,CAAC,CAAC;YACL,CAAC,CAAC,EAAE;KACP,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,sBAAsB,CACnC,MAAc,EACd,QAAoB,EACpB,MAA0B;IAE1B,MAAM,MAAM,GAAG,8BAA8B,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC/D,MAAM,SAAS,GAAG,wBAAwB,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,iCAAiC,CAAC,KAAK,CAAC,CAAC;IAChH,MAAM,MAAM,GAAG,kBAAkB,CAAC,MAAM,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC;IACrE,IAAI,QAAQ,GAAG,MAAM,CAAC;IACtB,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,UAAU,IAAI,4BAA4B,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9D,MAAM,MAAM,GAAG,cAAc,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACpD,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC;QACvB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACxE,CAAC;IACD,MAAM,eAAe,CAAC,SAAS,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnE,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,UAAU;QACV,OAAO;QACP,IAAI,EAAE,SAAS;KAChB,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,SAAiB;IACpD,MAAM,UAAU,GAAG;QACjB,MAAM;QACN,cAAc;QACd,qBAAqB;QACrB,WAAW;QACX,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC;KAC3B,CAAC;IACF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC;YACtD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,2CAA2C,CAAC,MAAc,EAAE,qBAA8B,EAAE,KAAc;IACvH,IAAI,CAAC,qBAAqB,IAAI,KAAK,EAAE,CAAC;QACpC,OAAO;IACT,CAAC;IACD,IAAI,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC;QACzD,OAAO;IACT,CAAC;IACD,IAAI,CAAC,CAAC,MAAM,qBAAqB,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QAC3C,OAAO;IACT,CAAC;IACD,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IACzD,MAAM,IAAI,UAAU,CAClB,oEAAoE,MAAM,IAAI,EAC9E,SAAS,CAAC,KAAK,EACf;QACE,IAAI,EAAE,wBAAwB;QAC9B,IAAI,EAAE,yCAAyC;QAC/C,GAAG,EAAE,oOAAoO;QACzO,QAAQ,EAAE;YACR,gBAAgB,aAAa,aAAa;YAC1C,eAAe;YACf,gBAAgB,MAAM,qBAAqB;SAC5C;QACD,SAAS,EAAE;YACT,uEAAuE;YACvE,iEAAiE;YACjE,kEAAkE;SACnE;QACD,QAAQ,EAAE;YACR,iBAAiB,EAAE,gBAAgB,aAAa,aAAa;SAC9D;KACF,CACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,MAAc,EAAE,OAA0B;IAI7E,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC3D,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC;QACzC,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5C,IAAI,OAAO,EAAE,CAAC;YACZ,QAAQ,CAAC,IAAI,CAAC,kBAAkB,MAAM,EAAE,CAAC,CAAC;QAC5C,CAAC;aAAM,CAAC;YACN,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3B,CAAC;QACD,QAAQ,CAAC,IAAI,CACX,GAAG,CAAC,MAAM,qBAAqB,CAAC;YAC9B,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,SAAS;YAChB,EAAE,EAAE,iBAAiB;SACtB,CAAC,CAAC,CACJ,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;AACnC,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,aAAqB,EAAE,gBAAyB;IAK3E,MAAM,EAAE,GAAG,2BAA2B,EAAE,CAAC;IACzC,IAAI,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;QACzD,MAAM,CAAC,KAAK,CAAC,8FAA8F,CAAC,CAAC;QAE7G,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QACrC,MAAM,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAC;QAC9E,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,aAAa,KAAK,CAAC,CAAC;QAC9E,MAAM,cAAc,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;QAEtG,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC1C,MAAM,CAAC,KAAK,CAAC,sFAAsF,CAAC,CAAC;QACrG,MAAM,CAAC,KAAK,CAAC,6FAA6F,CAAC,CAAC;QAC5G,MAAM,CAAC,KAAK,CAAC,gFAAgF,CAAC,CAAC;QAC/F,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,iEAAiE,CAAC,CAAC;QAC1G,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACtF,8EAA8E;QAC9E,4EAA4E;QAC5E,8EAA8E;QAC9E,iFAAiF;QACjF,wDAAwD;QACxD,IAAI,cAAc,GAA4B,SAAS,CAAC;QACxD,IAAI,CAAC;YACH,cAAc,GAAG,6BAA6B,CAAC,YAAY,CAA4B,CAAC;QAC1F,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,CAAC,KAAK,CAAC,mCAAmC,YAAY,qBAAqB,CAAC,CAAC;QACrF,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC1C,MAAM,CAAC,KAAK,CAAC,kFAAkF,CAAC,CAAC;QACjG,MAAM,cAAc,GAAG,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;QACxD,MAAM,eAAe,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,uCAAuC,cAAc,IAAI,CAAC,CAAC;QACrG,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC;QAE7E,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO;YACL,MAAM,EAAE,cAAc;YACtB,MAAM,EAAE,cAAc;YACtB,iBAAiB,EAAE,gBAAgB;SACpC,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC;AAED,SAAS,2BAA2B,CAAC,OAA2B;IAC9D,OAAO;QACL,gBAAgB,EAAE,6BAA6B,CAAC,OAAO,CAAC,MAAM,CAAC;QAC/D,WAAW,EAAE,OAAO,CAAC,QAAQ,KAAK,IAAI;QACtC,gBAAgB,EAAE,2BAA2B,CAAC,OAAO,CAAC,MAAM,CAAC;QAC7D,sBAAsB,EAAE,OAAO,CAAC,YAAY,KAAK,IAAI;QACrD,iBAAiB,EAAE,8BAA8B,CAAC,OAAO,CAAC,aAAa,CAAC;QACxE,UAAU,EAAE,uBAAuB,CAAC,OAAO,CAAC,UAAU,CAAC;KACxD,CAAC;AACJ,CAAC;AAED,SAAS,qCAAqC,CAAC,MAM9C;IACC,MAAM,cAAc,GAAa,EAAE,CAAC;IACpC,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,KAAK,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC5F,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACnC,CAAC;IACD,IAAI,MAAM,CAAC,gBAAgB,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,KAAK,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC3G,cAAc,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC3C,CAAC;IACD,IAAI,MAAM,CAAC,gBAAgB,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,CAAC,cAAc,KAAK,MAAM,CAAC,gBAAgB,EAAE,CAAC;QACxG,cAAc,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,SAAS,mCAAmC,CAAC,YAAoB,EAAE,cAAwB,EAAE,KAAc;IACzG,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC;QACzC,OAAO;IACT,CAAC;IACD,MAAM,IAAI,UAAU,CAClB,mDAAmD,YAAY,mBAAmB,EAClF,SAAS,CAAC,KAAK,EACf;QACE,IAAI,EAAE,uCAAuC;QAC7C,IAAI,EAAE,wDAAwD;QAC9D,QAAQ,EAAE,eAAe,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QACpD,GAAG,EAAE,wMAAwM;QAC7M,QAAQ,EAAE;YACR,eAAe;YACf,4BAA4B;YAC5B,4BAA4B;SAC7B;QACD,SAAS,EAAE;YACT,iHAAiH;YACjH,yGAAyG;SAC1G;KACF,CACF,CAAC;AACJ,CAAC;AAED,SAAS,4BAA4B,CAAC,MAOrC;IACC,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,KAAK,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC5F,MAAM,CAAC,QAAQ,CAAC,SAAS,GAAG,MAAM,CAAC,gBAAgB,CAAC;QACpD,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,qBAAqB,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;QACrE,OAAO,GAAG,IAAI,CAAC;IACjB,CAAC;IACD,IAAI,MAAM,CAAC,gBAAgB,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,KAAK,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC3G,qBAAqB,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAChE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,6BAA6B,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;QAC7E,OAAO,GAAG,IAAI,CAAC;IACjB,CAAC;IACD,IAAI,MAAM,CAAC,gBAAgB,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,CAAC,cAAc,KAAK,MAAM,CAAC,gBAAgB,EAAE,CAAC;QACxG,MAAM,CAAC,QAAQ,CAAC,cAAc,GAAG,MAAM,CAAC,gBAAgB,CAAC;QACzD,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,0BAA0B,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;QAC1E,OAAO,GAAG,IAAI,CAAC;IACjB,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,wBAAwB,CAAC,MAQvC;IACC,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACnD,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;IAC9D,MAAM,cAAc,GAAG,qCAAqC,CAAC;QAC3D,QAAQ;QACR,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,gBAAgB,EAAE,MAAM,CAAC,iBAAiB,CAAC,gBAAgB;QAC3D,gBAAgB,EAAE,MAAM,CAAC,iBAAiB,CAAC,gBAAgB;KAC5D,CAAC,CAAC;IACH,mCAAmC,CAAC,MAAM,CAAC,YAAY,EAAE,cAAc,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;IACxG,IACE,4BAA4B,CAAC;QAC3B,QAAQ;QACR,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,gBAAgB,EAAE,MAAM,CAAC,iBAAiB,CAAC,gBAAgB;QAC3D,gBAAgB,EAAE,MAAM,CAAC,iBAAiB,CAAC,gBAAgB;QAC3D,QAAQ,EAAE,MAAM,CAAC,QAAQ;KAC1B,CAAC,EACF,CAAC;QACD,MAAM,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO;QACL,QAAQ;QACR,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,YAAY,EAAE,MAAM,CAAC,iBAAiB,CAAC,gBAAgB;QACvD,UAAU,EAAE,KAAK;KAClB,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,MAIpC;IACC,IAAI,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;IAC/C,IAAI,YAAY,GAAG,MAAM,CAAC,iBAAiB,CAAC,gBAAgB,CAAC;IAC7D,IAAI,sBAA2C,CAAC;IAChD,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IACE,MAAM,CAAC,iBAAiB,CAAC,gBAAgB,KAAK,SAAS;QACvD,CAAC,MAAM,CAAC,iBAAiB,CAAC,WAAW;QACrC,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI;QAC5B,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI,EAC7B,CAAC;QACD,MAAM,aAAa,GAAG,MAAM,aAAa,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACjG,gBAAgB,GAAG,aAAa,CAAC,MAAM,CAAC;QACxC,YAAY,GAAG,aAAa,CAAC,MAAM,CAAC;QACpC,sBAAsB,GAAG,aAAa,CAAC,iBAAiB,CAAC;QACzD,UAAU,GAAG,IAAI,CAAC;IACpB,CAAC;IACD,MAAM,eAAe,GAAG,YAAY,IAAI,SAAS,CAAC;IAClD,MAAM,QAAQ,GAAG,aAAa,EAAE,CAAC;IACjC,QAAQ,CAAC,SAAS,GAAG,gBAAgB,CAAC;IACtC,qBAAqB,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IACjD,IAAI,MAAM,CAAC,iBAAiB,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;QAC5D,QAAQ,CAAC,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC,gBAAgB,CAAC;IACtE,CAAC;IACD,IAAI,sBAAsB,KAAK,SAAS,EAAE,CAAC;QACzC,QAAQ,CAAC,SAAS,CAAC,OAAO,GAAG,sBAAsB,CAAC;QACpD,QAAQ,CAAC,SAAS,CAAC,0BAA0B,GAAG,IAAI,CAAC;IACvD,CAAC;IACD,MAAM,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC7C,OAAO;QACL,QAAQ;QACR,gBAAgB;QAChB,YAAY;QACZ,UAAU;KACX,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,MASlC;IACC,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;QAC1B,OAAO,MAAM,wBAAwB,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,MAAM,qBAAqB,CAAC;QACjC,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;KAC5C,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,MAMrC;IACC,MAAM,mBAAmB,GAAG,MAAM,oBAAoB,CAAC;QACrD,OAAO,EAAE,MAAM,CAAC,MAAM;QACtB,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,IAAI,EAAE,MAAM,CAAC,iBAAiB;QAC9B,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI;QAC1E,QAAQ,EAAE,MAAM,CAAC,QAAQ;KAC1B,CAAC,CAAC;IACH,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACtD,IAAI,mBAAmB,CAAC,gBAAgB,EAAE,CAAC;QACzC,MAAM,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IACtD,CAAC;IACD,OAAO;QACL,GAAG,mBAAmB,CAAC,OAAO;QAC9B,UAAU,EAAE,mBAAmB,CAAC,UAAU;KAC3C,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,4BAA4B,CACzC,MAAc,EACd,QAAoB;IAKpB,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,qBAAqB,GAAG,MAAM,+BAA+B,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC7F,KAAK,MAAM,WAAW,IAAI,qBAAqB,CAAC,aAAa,EAAE,CAAC;QAC9D,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC9B,QAAQ,CAAC,IAAI,CACX,GAAG,CAAC,MAAM,qBAAqB,CAAC;YAC9B,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,SAAS;YAChB,EAAE,EAAE,0BAA0B;SAC/B,CAAC,CAAC,CACJ,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;AACnC,CAAC;AAED,KAAK,UAAU,2BAA2B,CAAC,MAK1C;IACC,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACpC,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,oBAAoB,GAAG,MAAM,sBAAsB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;IAC7G,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,0BAA0B,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;IACpE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAClB,GAAG,CAAC,MAAM,qBAAqB,CAAC;QAC9B,IAAI,EAAE,oBAAoB,CAAC,IAAI;QAC/B,KAAK,EAAE,SAAS;QAChB,EAAE,EAAE,kBAAkB;KACvB,CAAC,CAAC,CACJ,CAAC;IACF,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAED,KAAK,UAAU,yBAAyB,CAAC,MAKxC;IACC,MAAM,YAAY,GAAG,uBAAuB,CAAC,MAAM,CAAC,QAAQ,EAAE,+BAA+B,EAAE,CAAC,CAAC;IACjG,MAAM,iBAAiB,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAE,mBAAyC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAChI,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC/E,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;IACjD,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC7C,CAAC;AAED,KAAK,UAAU,+BAA+B,CAC5C,sBAA+B,EAC/B,MAAqB,EACrB,MAAc,EACd,QAAkB;IAElB,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,oBAAoB,GAAG,MAAM,YAAY,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IACtH,QAAQ,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,iBAAiB,GAAG,0BAA0B,CAAC,oBAAoB,CAAC,CAAC;IAC3E,MAAM,aAAa,GAAG,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC1G,IAAI,CAAC,iBAAiB,CAAC,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjE,MAAM,IAAI,UAAU,CAClB,4EAA4E,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,EAC9I,SAAS,CAAC,eAAe,CAC1B,CAAC;IACJ,CAAC;IACD,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAED,SAAS,kBAAkB,CAAC,MAK3B;IACC,MAAM,SAAS,GAAG,CAAC,IAAc,EAAU,EAAE,CAAC,eAAe,CAAC;QAC5D,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAClG,GAAG,IAAI;KACR,CAAC,CAAC;IACH,MAAM,SAAS,GAAa;QAC1B,2BAA2B,SAAS,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,EAAE;QAC1F,sBAAsB,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE;QAC3C,uCAAuC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE;KAChE,CAAC;IACF,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE,CAAC;QACnC,SAAS,CAAC,IAAI,CACZ,+CAA+C,SAAS,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,SAAS,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC,EAAE,CAC7M,CAAC;QACF,SAAS,CAAC,IAAI,CAAC,kCAAkC,SAAS,CAAC,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,yBAAyB,CAAC,CAAC;IACpH,CAAC;SAAM,CAAC;QACN,SAAS,CAAC,IAAI,CAAC,qCAAqC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IAClI,CAAC;IACD,IAAI,MAAM,CAAC,oBAAoB,EAAE,CAAC;QAChC,SAAS,CAAC,IAAI,CACZ,oCAAoC,SAAS,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAC3L,CAAC;IACJ,CAAC;IACD,SAAS,CAAC,IAAI,CAAC,2EAA2E,CAAC,CAAC;IAC5F,KAAK,MAAM,gBAAgB,IAAI,MAAM,CAAC,sBAAsB,EAAE,CAAC;QAC7D,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,qBAAqB;YACjE,CAAC,CAAC,gBAAgB;YAClB,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,EAAE,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QAC3E,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;YACxC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,SAA6B,EAC7B,MAAqB,EACrB,UAA8B,EAAE;IAEhC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,UAAU,GAAG,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACpF,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IACjC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;IACjC,MAAM,2CAA2C,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK,cAAc,EAAE,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;IAC7H,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAC1E,WAAW,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC1C,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAEpC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACxD,MAAM,cAAc,GAAG,MAAM,UAAU,CAAC,YAAY,CAAC,CAAC;IACtD,MAAM,iBAAiB,GAAG,2BAA2B,CAAC,OAAO,CAAC,CAAC;IAC/D,MAAM,kBAAkB,GAAG,MAAM,mBAAmB,CAAC;QACnD,MAAM;QACN,YAAY;QACZ,cAAc;QACd,gBAAgB,EAAE,eAAe,CAAC,SAAS,CAAC;QAC5C,SAAS;QACT,OAAO;QACP,iBAAiB;QACjB,QAAQ;KACT,CAAC,CAAC;IACH,IAAI,EAAE,QAAQ,EAAE,GAAG,kBAAkB,CAAC;IAEtC,MAAM,aAAa,GAAG,MAAM,sBAAsB,CAAC;QACjD,MAAM;QACN,GAAG;QACH,iBAAiB,EAAE,iBAAiB,CAAC,iBAAiB;QACtD,QAAQ;QACR,QAAQ;KACT,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,MAAM,4BAA4B,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACzE,WAAW,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;IAC7C,QAAQ,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IAEvC,MAAM,oBAAoB,GAAG,MAAM,2BAA2B,CAAC;QAC7D,MAAM;QACN,QAAQ;QACR,UAAU,EAAE,iBAAiB,CAAC,UAAU;QACxC,QAAQ;KACT,CAAC,CAAC;IACH,IAAI,oBAAoB,EAAE,CAAC;QACzB,QAAQ,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,yBAAyB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC7E,MAAM,iBAAiB,GAAG,MAAM,+BAA+B,CAC7D,iBAAiB,CAAC,sBAAsB,EACxC,MAAM,EACN,MAAM,EACN,QAAQ,CACT,CAAC;IAEF,MAAM,SAAS,GAAG,kBAAkB,CAAC;QACnC,sBAAsB,EAAE,iBAAiB,CAAC,sBAAsB;QAChE,oBAAoB;QACpB,sBAAsB,EAAE,aAAa,CAAC,UAAU;QAChD,MAAM,EAAE,UAAU,CAAC,MAAM;KAC1B,CAAC,CAAC;IAEH,OAAO;QACL,EAAE,EAAE,IAAI;QACR,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,UAAU,CAAC,MAAM;QACzB,QAAQ;QACR,YAAY,EAAE,WAAW;QACzB,QAAQ;QACR,iBAAiB,EAAE,QAAQ,CAAC,UAAU,CAAC,MAAM;QAC7C,WAAW,EAAE,kBAAkB,CAAC,UAAU;QAC1C,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjF,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,UAAU,EAAE,SAAS;QACrB,cAAc,EAAE,aAAa;KAC9B,CAAC;AACJ,CAAC","debugId":"b6aecd92-d6ca-5ef1-9c46-edc4c7fdd332"}
@@ -11,6 +11,8 @@ import type { SharedItemFilterOptions } from "./item-filter-options.js";
11
11
  export interface ListOptions extends SharedItemFilterOptions {
12
12
  ids?: string;
13
13
  assigneeFilter?: string;
14
+ today?: boolean;
15
+ recent?: boolean;
14
16
  limit?: string;
15
17
  offset?: string;
16
18
  noTruncate?: boolean;
@@ -135,6 +137,7 @@ declare function buildCompactListFilterSummary(params: {
135
137
  runtimeFieldFilters: Record<string, unknown>;
136
138
  }): Record<string, unknown>;
137
139
  declare function compareDefaultSort(left: ListedItem, right: ListedItem, statusRegistry: RuntimeStatusRegistry): number;
140
+ declare function resolveListUpdatedAfter(options: ListOptions): string | undefined;
138
141
  declare function parseIdsFilter(raw: unknown): Set<string> | undefined;
139
142
  declare function parseOffset(raw: string | undefined): number | undefined;
140
143
  declare function parseFieldSelectors(raw: string | undefined): string[] | undefined;
@@ -177,6 +180,7 @@ export declare const _testOnly: {
177
180
  parseIdsFilter: typeof parseIdsFilter;
178
181
  parseOffset: typeof parseOffset;
179
182
  parseProjectionConfig: typeof parseProjectionConfig;
183
+ resolveListUpdatedAfter: typeof resolveListUpdatedAfter;
180
184
  parseSortField: typeof parseSortField;
181
185
  parseSortOrder: typeof parseSortOrder;
182
186
  orderItemsAsTree: typeof orderItemsAsTree;