@unbrained/pm-cli 2026.6.8 → 2026.6.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 (527) hide show
  1. package/CHANGELOG.md +74 -11
  2. package/dist/cli/bootstrap-args.js +4 -2
  3. package/dist/cli/bootstrap-args.js.map +1 -1
  4. package/dist/cli/commands/aggregate.d.ts +7 -0
  5. package/dist/cli/commands/aggregate.js +53 -12
  6. package/dist/cli/commands/aggregate.js.map +1 -1
  7. package/dist/cli/commands/close.d.ts +1 -0
  8. package/dist/cli/commands/close.js +106 -3
  9. package/dist/cli/commands/close.js.map +1 -1
  10. package/dist/cli/commands/completion.js +20 -7
  11. package/dist/cli/commands/completion.js.map +1 -1
  12. package/dist/cli/commands/context.d.ts +9 -0
  13. package/dist/cli/commands/context.js +149 -20
  14. package/dist/cli/commands/context.js.map +1 -1
  15. package/dist/cli/commands/create.d.ts +1 -0
  16. package/dist/cli/commands/create.js +5 -3
  17. package/dist/cli/commands/create.js.map +1 -1
  18. package/dist/cli/commands/extension.js +4 -2
  19. package/dist/cli/commands/extension.js.map +1 -1
  20. package/dist/cli/commands/health.js +44 -6
  21. package/dist/cli/commands/health.js.map +1 -1
  22. package/dist/cli/commands/history.js +6 -5
  23. package/dist/cli/commands/history.js.map +1 -1
  24. package/dist/cli/commands/linked-test-parsers.d.ts +1 -0
  25. package/dist/cli/commands/linked-test-parsers.js +289 -2
  26. package/dist/cli/commands/linked-test-parsers.js.map +1 -1
  27. package/dist/cli/commands/reindex.d.ts +1 -0
  28. package/dist/cli/commands/reindex.js +33 -4
  29. package/dist/cli/commands/reindex.js.map +1 -1
  30. package/dist/cli/commands/test.d.ts +6 -0
  31. package/dist/cli/commands/test.js +46 -5
  32. package/dist/cli/commands/test.js.map +1 -1
  33. package/dist/cli/extension-command-help.d.ts +1 -0
  34. package/dist/cli/extension-command-help.js +42 -2
  35. package/dist/cli/extension-command-help.js.map +1 -1
  36. package/dist/cli/extension-command-options.d.ts +2 -0
  37. package/dist/cli/extension-command-options.js +89 -17
  38. package/dist/cli/extension-command-options.js.map +1 -1
  39. package/dist/cli/main.js +26 -26
  40. package/dist/cli/main.js.map +1 -1
  41. package/dist/cli/register-list-query.js +3 -2
  42. package/dist/cli/register-list-query.js.map +1 -1
  43. package/dist/cli/register-mutation.js +4 -2
  44. package/dist/cli/register-mutation.js.map +1 -1
  45. package/dist/cli/register-operations.js +15 -6
  46. package/dist/cli/register-operations.js.map +1 -1
  47. package/dist/cli/registration-helpers.js +9 -2
  48. package/dist/cli/registration-helpers.js.map +1 -1
  49. package/dist/cli-bundle/chunks/activity-5QLX6DHN.js +16 -0
  50. package/dist/cli-bundle/chunks/{activity-Q7XMIZIH.js → activity-W6TS5F2L.js} +11 -11
  51. package/dist/cli-bundle/chunks/{aggregate-GBSHSXOB.js → aggregate-NNJLKGEK.js} +64 -24
  52. package/dist/cli-bundle/chunks/aggregate-NNJLKGEK.js.map +7 -0
  53. package/dist/cli-bundle/chunks/{aggregate-HKQJZUBG.js → aggregate-UK2WJ4Z3.js} +65 -25
  54. package/dist/cli-bundle/chunks/aggregate-UK2WJ4Z3.js.map +1 -0
  55. package/dist/cli-bundle/chunks/{append-3RFOU7P5.js → append-7BS36Z2L.js} +8 -8
  56. package/dist/cli-bundle/chunks/{append-OM74OJVT.js → append-DHGTLUZW.js} +8 -8
  57. package/dist/cli-bundle/chunks/{chunk-SDLEYY6A.js → chunk-2MKBPWMK.js} +6 -8
  58. package/dist/cli-bundle/chunks/{chunk-SDLEYY6A.js.map → chunk-2MKBPWMK.js.map} +1 -1
  59. package/dist/cli-bundle/chunks/{chunk-Z2HXAFFH.js → chunk-344GDQTH.js} +2 -2
  60. package/dist/cli-bundle/chunks/{chunk-AEMKH5WQ.js → chunk-3VTWCBXL.js} +3 -3
  61. package/dist/cli-bundle/chunks/{chunk-XLSQ3QLT.js → chunk-4CYHWHZU.js} +2 -2
  62. package/dist/cli-bundle/chunks/{chunk-JS47EKLP.js → chunk-4H2NDEGJ.js} +7 -7
  63. package/dist/cli-bundle/chunks/{chunk-QF4OPBAG.js → chunk-5HH6QRH5.js} +9 -9
  64. package/dist/cli-bundle/chunks/{chunk-5NVJA7IW.js → chunk-5OMABP7I.js} +7 -7
  65. package/dist/cli-bundle/chunks/{chunk-YEFOCDIK.js → chunk-6ADVKPVV.js} +7 -7
  66. package/dist/cli-bundle/chunks/{chunk-SM3RMWGO.js → chunk-6KQS23TX.js} +8 -8
  67. package/dist/cli-bundle/chunks/{chunk-ETZZU5QF.js → chunk-6N46IM44.js} +2 -2
  68. package/dist/cli-bundle/chunks/{chunk-EPWT7BEA.js → chunk-6OSG3EMX.js} +157 -12
  69. package/dist/cli-bundle/chunks/chunk-6OSG3EMX.js.map +1 -0
  70. package/dist/cli-bundle/chunks/{chunk-5WO2VKFA.js → chunk-73PSHEMT.js} +8 -8
  71. package/dist/cli-bundle/chunks/{chunk-J4DKAGTM.js → chunk-7DUVDW7C.js} +3 -3
  72. package/dist/cli-bundle/chunks/{chunk-2BYKYPWY.js → chunk-7GYMMDDW.js} +2 -2
  73. package/dist/cli-bundle/chunks/{chunk-QFVASU44.js → chunk-7TW64BS5.js} +2 -2
  74. package/dist/cli-bundle/chunks/{chunk-VXBUXLVD.js → chunk-A6XVYNQJ.js} +13 -6
  75. package/dist/cli-bundle/chunks/chunk-A6XVYNQJ.js.map +7 -0
  76. package/dist/cli-bundle/chunks/{chunk-KP4KIUQT.js → chunk-ANVZCNL5.js} +3 -3
  77. package/dist/cli-bundle/chunks/{chunk-HOA3GMB6.js → chunk-BE5G7HEL.js} +14 -8
  78. package/dist/cli-bundle/chunks/chunk-BE5G7HEL.js.map +1 -0
  79. package/dist/cli-bundle/chunks/{chunk-QWNUDGFQ.js → chunk-CMEHZD6G.js} +163 -11
  80. package/dist/cli-bundle/chunks/chunk-CMEHZD6G.js.map +7 -0
  81. package/dist/cli-bundle/chunks/{chunk-7NQIY7Z6.js → chunk-CTW7QAHM.js} +6 -5
  82. package/dist/cli-bundle/chunks/chunk-CTW7QAHM.js.map +1 -0
  83. package/dist/cli-bundle/chunks/{chunk-UEXNNF3K.js → chunk-D6JZBUZ6.js} +7 -7
  84. package/dist/cli-bundle/chunks/{chunk-F33AQIB4.js → chunk-DEYNERFX.js} +19 -7
  85. package/dist/cli-bundle/chunks/chunk-DEYNERFX.js.map +1 -0
  86. package/dist/cli-bundle/chunks/{chunk-R4XIE7NQ.js → chunk-DMDEC4QP.js} +6 -6
  87. package/dist/cli-bundle/chunks/{chunk-KN4WSESY.js → chunk-DTRIVUTN.js} +5 -5
  88. package/dist/cli-bundle/chunks/{chunk-KS2U7BZ3.js → chunk-EAQLLID6.js} +16 -6
  89. package/dist/cli-bundle/chunks/chunk-EAQLLID6.js.map +1 -0
  90. package/dist/cli-bundle/chunks/{chunk-HP35AVFS.js → chunk-EIS32UA4.js} +2 -2
  91. package/dist/cli-bundle/chunks/chunk-F2PVV7IX.js +528 -0
  92. package/dist/cli-bundle/chunks/chunk-F2PVV7IX.js.map +7 -0
  93. package/dist/cli-bundle/chunks/{chunk-DV27WDA7.js → chunk-GF5XIBUH.js} +70 -9
  94. package/dist/cli-bundle/chunks/chunk-GF5XIBUH.js.map +7 -0
  95. package/dist/cli-bundle/chunks/{chunk-BFJPMUF5.js → chunk-GP6SHEAI.js} +5 -5
  96. package/dist/cli-bundle/chunks/{chunk-URJEZOLB.js → chunk-GRHPU6EM.js} +2 -2
  97. package/dist/cli-bundle/chunks/{chunk-K62SNVVE.js → chunk-I2FM2SMO.js} +2 -2
  98. package/dist/cli-bundle/chunks/{chunk-F33VC5EX.js → chunk-IEQ3N7WP.js} +12 -5
  99. package/dist/cli-bundle/chunks/chunk-IEQ3N7WP.js.map +1 -0
  100. package/dist/cli-bundle/chunks/{chunk-AXBUHLW7.js → chunk-K45NAJV2.js} +9 -9
  101. package/dist/cli-bundle/chunks/{chunk-NLVCMVC7.js → chunk-K7SXBA75.js} +2 -2
  102. package/dist/cli-bundle/chunks/{chunk-OVSSE2JP.js → chunk-KHBRV5JU.js} +14 -12
  103. package/dist/cli-bundle/chunks/chunk-KHBRV5JU.js.map +1 -0
  104. package/dist/cli-bundle/chunks/{chunk-D7WK2PKB.js → chunk-KMMUDSSB.js} +112 -7
  105. package/dist/cli-bundle/chunks/chunk-KMMUDSSB.js.map +1 -0
  106. package/dist/cli-bundle/chunks/{chunk-ALSRBNYB.js → chunk-KRZQGRVL.js} +14 -7
  107. package/dist/cli-bundle/chunks/chunk-KRZQGRVL.js.map +1 -0
  108. package/dist/cli-bundle/chunks/{chunk-PQDH3S54.js → chunk-LUJQJR7G.js} +71 -69
  109. package/dist/cli-bundle/chunks/{chunk-PQDH3S54.js.map → chunk-LUJQJR7G.js.map} +1 -1
  110. package/dist/cli-bundle/chunks/{chunk-NDSMKB2I.js → chunk-LYL32FT6.js} +3 -3
  111. package/dist/cli-bundle/chunks/{chunk-ODN53S6H.js → chunk-MF6KSSMF.js} +11 -14
  112. package/dist/cli-bundle/chunks/chunk-MF6KSSMF.js.map +1 -0
  113. package/dist/cli-bundle/chunks/{chunk-Z55JACL2.js → chunk-O64EYNHF.js} +6 -6
  114. package/dist/cli-bundle/chunks/{chunk-3TXWDGPU.js → chunk-OQGJSCZZ.js} +522 -37
  115. package/dist/cli-bundle/chunks/chunk-OQGJSCZZ.js.map +7 -0
  116. package/dist/cli-bundle/chunks/{chunk-FO2TYSQZ.js → chunk-OROMGSBP.js} +2 -2
  117. package/dist/cli-bundle/chunks/{chunk-3E3MDBTB.js → chunk-OSGWBWLK.js} +76 -74
  118. package/dist/cli-bundle/chunks/{chunk-3E3MDBTB.js.map → chunk-OSGWBWLK.js.map} +3 -3
  119. package/dist/cli-bundle/chunks/{chunk-7WXGR44E.js → chunk-OVNSQHDG.js} +19 -7
  120. package/dist/cli-bundle/chunks/chunk-OVNSQHDG.js.map +7 -0
  121. package/dist/cli-bundle/chunks/{chunk-XZS4MV37.js → chunk-PYULT32I.js} +2 -2
  122. package/dist/cli-bundle/chunks/{chunk-M7UBTVFT.js → chunk-Q6PSD5DZ.js} +3 -3
  123. package/dist/cli-bundle/chunks/{chunk-QQPZYP73.js → chunk-QGIWURY3.js} +12 -12
  124. package/dist/cli-bundle/chunks/{chunk-KCGMABHM.js → chunk-QJ2OIEOC.js} +68 -7
  125. package/dist/cli-bundle/chunks/chunk-QJ2OIEOC.js.map +1 -0
  126. package/dist/cli-bundle/chunks/{chunk-XEKZCBCS.js → chunk-SNASEDXB.js} +3 -3
  127. package/dist/cli-bundle/chunks/{chunk-4WYBLB6J.js → chunk-T6QLB34N.js} +3 -3
  128. package/dist/cli-bundle/chunks/{chunk-NGEEXR2R.js → chunk-TALBUVWF.js} +2 -2
  129. package/dist/cli-bundle/chunks/{chunk-FGRJZVXD.js → chunk-TV6FZGVK.js} +3 -3
  130. package/dist/cli-bundle/chunks/{chunk-MSH23UWO.js → chunk-TXWMLDMG.js} +13 -7
  131. package/dist/cli-bundle/chunks/chunk-TXWMLDMG.js.map +7 -0
  132. package/dist/cli-bundle/chunks/{chunk-TXKENAQP.js → chunk-TZLGCTA5.js} +5 -4
  133. package/dist/cli-bundle/chunks/chunk-TZLGCTA5.js.map +7 -0
  134. package/dist/cli-bundle/chunks/{chunk-4TI3532H.js → chunk-UDWUDUJI.js} +2 -2
  135. package/dist/cli-bundle/chunks/{chunk-N4SQZ7L3.js → chunk-UMWF6ZAS.js} +12 -5
  136. package/dist/cli-bundle/chunks/chunk-UMWF6ZAS.js.map +7 -0
  137. package/dist/cli-bundle/chunks/{chunk-BKQMJXWY.js → chunk-UNH3KSHG.js} +4 -6
  138. package/dist/cli-bundle/chunks/{chunk-BKQMJXWY.js.map → chunk-UNH3KSHG.js.map} +1 -1
  139. package/dist/cli-bundle/chunks/{chunk-CBJXWXI5.js → chunk-UY26RIBR.js} +2 -2
  140. package/dist/cli-bundle/chunks/{chunk-TBLBEOEX.js → chunk-VSS3CSTF.js} +9 -9
  141. package/dist/cli-bundle/chunks/{chunk-2YPVCD7T.js → chunk-WBU257Z4.js} +13 -11
  142. package/dist/cli-bundle/chunks/chunk-WBU257Z4.js.map +7 -0
  143. package/dist/cli-bundle/chunks/{chunk-YJAKN2N2.js → chunk-WNMRICXH.js} +489 -32
  144. package/dist/cli-bundle/chunks/chunk-WNMRICXH.js.map +1 -0
  145. package/dist/cli-bundle/chunks/chunk-WSWOQP3Z.js +518 -0
  146. package/dist/cli-bundle/chunks/chunk-WSWOQP3Z.js.map +1 -0
  147. package/dist/cli-bundle/chunks/{chunk-OTY2YEH5.js → chunk-WWEFBBVF.js} +12 -12
  148. package/dist/cli-bundle/chunks/{chunk-UMMJAJB2.js → chunk-X3IPJU2O.js} +9 -9
  149. package/dist/cli-bundle/chunks/{chunk-KBKJVXUS.js → chunk-X5YC5DZM.js} +111 -6
  150. package/dist/cli-bundle/chunks/chunk-X5YC5DZM.js.map +7 -0
  151. package/dist/cli-bundle/chunks/{chunk-KVXIQDJG.js → chunk-XH6RA5A5.js} +15 -15
  152. package/dist/cli-bundle/chunks/chunk-XH6RA5A5.js.map +1 -0
  153. package/dist/cli-bundle/chunks/{chunk-2HMD3JM2.js → chunk-XRE4CTNP.js} +11 -14
  154. package/dist/cli-bundle/chunks/chunk-XRE4CTNP.js.map +7 -0
  155. package/dist/cli-bundle/chunks/{chunk-RISLL7XH.js → chunk-XSCGU4WT.js} +15 -5
  156. package/dist/cli-bundle/chunks/{chunk-RISLL7XH.js.map → chunk-XSCGU4WT.js.map} +2 -2
  157. package/dist/cli-bundle/chunks/{chunk-L3LYL3ID.js → chunk-ZH7C7ZVX.js} +14 -14
  158. package/dist/cli-bundle/chunks/chunk-ZH7C7ZVX.js.map +7 -0
  159. package/dist/cli-bundle/chunks/{claim-NHBIIBOW.js → claim-3TY5LE54.js} +10 -10
  160. package/dist/cli-bundle/chunks/{claim-RNEBQCOO.js → claim-LM4YY6QQ.js} +10 -10
  161. package/dist/cli-bundle/chunks/{close-ZMXL2WDS.js → close-CSD4LEMT.js} +8 -8
  162. package/dist/cli-bundle/chunks/close-SIQCDOBR.js +13 -0
  163. package/dist/cli-bundle/chunks/{close-many-CDPQGQUB.js → close-many-B5SHDX6W.js} +17 -18
  164. package/dist/cli-bundle/chunks/{close-many-CDPQGQUB.js.map → close-many-B5SHDX6W.js.map} +1 -1
  165. package/dist/cli-bundle/chunks/{close-many-IQV5C2SI.js → close-many-WRXB5KVY.js} +15 -16
  166. package/dist/cli-bundle/chunks/{close-many-IQV5C2SI.js.map → close-many-WRXB5KVY.js.map} +1 -1
  167. package/dist/cli-bundle/chunks/{comments-J5Q4IJPH.js → comments-A5ALOYTG.js} +10 -10
  168. package/dist/cli-bundle/chunks/{comments-EFVBHWPT.js → comments-BDDEK3VW.js} +10 -10
  169. package/dist/cli-bundle/chunks/{config-72253M2O.js → config-W2NHDNQT.js} +8 -8
  170. package/dist/cli-bundle/chunks/{config-VFYA6BMI.js → config-YUYBMJOW.js} +8 -8
  171. package/dist/cli-bundle/chunks/{context-AVLO4IFH.js → context-LRJ74NSU.js} +147 -36
  172. package/dist/cli-bundle/chunks/context-LRJ74NSU.js.map +7 -0
  173. package/dist/cli-bundle/chunks/{context-WMSI2D65.js → context-R2QLOJCK.js} +148 -37
  174. package/dist/cli-bundle/chunks/context-R2QLOJCK.js.map +1 -0
  175. package/dist/cli-bundle/chunks/{contracts-D4BN3VSQ.js → contracts-47X7RYUF.js} +4 -4
  176. package/dist/cli-bundle/chunks/{contracts-RGPOBLPL.js → contracts-HJHR4NCD.js} +4 -4
  177. package/dist/cli-bundle/chunks/{copy-H6TXHK7S.js → copy-B7HFOWFB.js} +7 -7
  178. package/dist/cli-bundle/chunks/{copy-WXE3OOLZ.js → copy-P4UVYZ7M.js} +7 -7
  179. package/dist/cli-bundle/chunks/{create-PUAIJEZ7.js → create-5ERJF64D.js} +13 -13
  180. package/dist/cli-bundle/chunks/create-TXNRPS4K.js +27 -0
  181. package/dist/cli-bundle/chunks/{delete-WBME6WG5.js → delete-LX3LGBCH.js} +7 -7
  182. package/dist/cli-bundle/chunks/{delete-PKR2JHLH.js → delete-S3WVK6LP.js} +7 -7
  183. package/dist/cli-bundle/chunks/{deps-4BQEDV4L.js → deps-GWSNH7OZ.js} +7 -7
  184. package/dist/cli-bundle/chunks/{deps-KWHQRO75.js → deps-YSM4LZQD.js} +7 -7
  185. package/dist/cli-bundle/chunks/{docs-SCNBUGSV.js → docs-7RYFBHQD.js} +9 -9
  186. package/dist/cli-bundle/chunks/{docs-364GT3ZR.js → docs-TG6JMVMY.js} +9 -9
  187. package/dist/cli-bundle/chunks/{extension-KK2UPXJD.js → extension-R3LUKMX7.js} +5 -5
  188. package/dist/cli-bundle/chunks/{extension-CRE7JM47.js → extension-VNMRKIHI.js} +5 -5
  189. package/dist/cli-bundle/chunks/{files-66EHM5ZR.js → files-KAKU57OT.js} +9 -9
  190. package/dist/cli-bundle/chunks/{files-3GESQAWL.js → files-QB3EYPMO.js} +9 -9
  191. package/dist/cli-bundle/chunks/{gc-MOQDND5J.js → gc-B747VM4M.js} +3 -3
  192. package/dist/cli-bundle/chunks/{gc-D5IWOKQH.js → gc-KNUPLPSW.js} +3 -3
  193. package/dist/cli-bundle/chunks/{get-7J2ZCBV5.js → get-GMGLIQ5I.js} +11 -11
  194. package/dist/cli-bundle/chunks/{get-WXSLXV3K.js → get-SBL6NHYQ.js} +11 -11
  195. package/dist/cli-bundle/chunks/{health-B6AEM7BV.js → health-IG43Z4KL.js} +47 -19
  196. package/dist/cli-bundle/chunks/health-IG43Z4KL.js.map +1 -0
  197. package/dist/cli-bundle/chunks/{health-YMZGOMVX.js → health-WWZJ5KJS.js} +46 -18
  198. package/dist/cli-bundle/chunks/health-WWZJ5KJS.js.map +7 -0
  199. package/dist/cli-bundle/chunks/history-6UKSZTRT.js +20 -0
  200. package/dist/cli-bundle/chunks/{history-TJTO5GCR.js → history-XCWRXBXC.js} +10 -10
  201. package/dist/cli-bundle/chunks/{history-compact-CKNN6UKW.js → history-compact-IDH7E7VN.js} +11 -11
  202. package/dist/cli-bundle/chunks/{history-compact-N2Q7IR3T.js → history-compact-KICKUCR7.js} +11 -11
  203. package/dist/cli-bundle/chunks/history-redact-HKYBTK6X.js +19 -0
  204. package/dist/cli-bundle/chunks/{history-redact-JUXUOH54.js → history-redact-JJWH3QWK.js} +11 -11
  205. package/dist/cli-bundle/chunks/{history-repair-TDBBSRVK.js → history-repair-7HWBZKXN.js} +11 -11
  206. package/dist/cli-bundle/chunks/{history-repair-CCCPBNTF.js → history-repair-N5HXKJOI.js} +11 -11
  207. package/dist/cli-bundle/chunks/init-27JLDUO2.js +17 -0
  208. package/dist/cli-bundle/chunks/{init-6ZPKD3YN.js → init-OQA3TWIS.js} +9 -9
  209. package/dist/cli-bundle/chunks/{learnings-WYNTYQ5T.js → learnings-L7VQUSVI.js} +10 -10
  210. package/dist/cli-bundle/chunks/{learnings-U7U2FNIO.js → learnings-Z4GAIZQ5.js} +10 -10
  211. package/dist/cli-bundle/chunks/list-6U3CJVXS.js +19 -0
  212. package/dist/cli-bundle/chunks/{list-JGP7ODML.js → list-W5ROBC5U.js} +10 -11
  213. package/dist/cli-bundle/chunks/{notes-P25YVTEG.js → notes-JJDOEDFK.js} +10 -10
  214. package/dist/cli-bundle/chunks/{notes-QIF6A7XS.js → notes-SDCK7BEN.js} +10 -10
  215. package/dist/cli-bundle/chunks/{plan-RACB5PI6.js → plan-H5HYHMBB.js} +13 -13
  216. package/dist/cli-bundle/chunks/{plan-SSBJFWXA.js → plan-W2B5RYR3.js} +13 -13
  217. package/dist/cli-bundle/chunks/{register-list-query-GQAEIG4K.js → register-list-query-QGRFMDWA.js} +20 -20
  218. package/dist/cli-bundle/chunks/register-list-query-QGRFMDWA.js.map +7 -0
  219. package/dist/cli-bundle/chunks/{register-list-query-5IXDPUZ6.js → register-list-query-V4S23735.js} +21 -21
  220. package/dist/cli-bundle/chunks/register-list-query-V4S23735.js.map +1 -0
  221. package/dist/cli-bundle/chunks/{register-mutation-FAS4YG63.js → register-mutation-I57PLUHA.js} +36 -35
  222. package/dist/cli-bundle/chunks/register-mutation-I57PLUHA.js.map +1 -0
  223. package/dist/cli-bundle/chunks/{register-mutation-YZCUILGO.js → register-mutation-ZPZNJXSA.js} +35 -34
  224. package/dist/cli-bundle/chunks/register-mutation-ZPZNJXSA.js.map +7 -0
  225. package/dist/cli-bundle/chunks/{register-operations-S2BOLUPF.js → register-operations-KAMLXAF5.js} +42 -37
  226. package/dist/cli-bundle/chunks/register-operations-KAMLXAF5.js.map +1 -0
  227. package/dist/cli-bundle/chunks/{register-operations-IBYWNJN5.js → register-operations-YEN4YEZ2.js} +41 -36
  228. package/dist/cli-bundle/chunks/register-operations-YEN4YEZ2.js.map +7 -0
  229. package/dist/cli-bundle/chunks/{register-setup-JRZ4UMWZ.js → register-setup-BZ3TNE3G.js} +15 -15
  230. package/dist/cli-bundle/chunks/{register-setup-ABA2JPWO.js → register-setup-WLFL3OUF.js} +15 -15
  231. package/dist/cli-bundle/chunks/restore-GNI2W5CN.js +17 -0
  232. package/dist/cli-bundle/chunks/{restore-K72ZNPEP.js → restore-RGFSPG4K.js} +11 -11
  233. package/dist/cli-bundle/chunks/{schema-UL4B2JX5.js → schema-CCDU3RLC.js} +8 -8
  234. package/dist/cli-bundle/chunks/{schema-3VKRDBLC.js → schema-KZASL323.js} +8 -8
  235. package/dist/cli-bundle/chunks/{search-632WJ7GO.js → search-7KSOLI2E.js} +10 -11
  236. package/dist/cli-bundle/chunks/{search-632WJ7GO.js.map → search-7KSOLI2E.js.map} +1 -1
  237. package/dist/cli-bundle/chunks/{search-EQDHSE4G.js → search-DTL7CO22.js} +12 -13
  238. package/dist/cli-bundle/chunks/{search-EQDHSE4G.js.map → search-DTL7CO22.js.map} +1 -1
  239. package/dist/cli-bundle/chunks/{stats-WLJ3XBF5.js → stats-IOXQMGI6.js} +7 -7
  240. package/dist/cli-bundle/chunks/{stats-O4UTMJMC.js → stats-QNV7B2CE.js} +7 -7
  241. package/dist/cli-bundle/chunks/{telemetry-EUVHFSQU.js → telemetry-IV5C6JOM.js} +4 -4
  242. package/dist/cli-bundle/chunks/{telemetry-NRVWX25E.js → telemetry-NHR5RFXT.js} +4 -4
  243. package/dist/cli-bundle/chunks/test-4Z37CXW4.js +32 -0
  244. package/dist/cli-bundle/chunks/{test-GXUBQNUC.js → test-PIL2CEEB.js} +14 -14
  245. package/dist/cli-bundle/chunks/{test-all-UTFXC7S2.js → test-all-GRLYHBNP.js} +14 -14
  246. package/dist/cli-bundle/chunks/{test-all-XM6OKI3L.js → test-all-MFN4MYCV.js} +14 -14
  247. package/dist/cli-bundle/chunks/{test-runs-IK6E2HNX.js → test-runs-7LRFWWCA.js} +5 -5
  248. package/dist/cli-bundle/chunks/{test-runs-7FHCPEA3.js → test-runs-7WCSC3TY.js} +5 -5
  249. package/dist/cli-bundle/chunks/update-I4G34LKJ.js +21 -0
  250. package/dist/cli-bundle/chunks/{update-U4B4OMHZ.js → update-VI5DBZ3G.js} +15 -15
  251. package/dist/cli-bundle/chunks/{update-many-5KD33MKY.js → update-many-LOTAYUTN.js} +22 -23
  252. package/dist/cli-bundle/chunks/{update-many-5KD33MKY.js.map → update-many-LOTAYUTN.js.map} +1 -1
  253. package/dist/cli-bundle/chunks/{update-many-N3YTM7K4.js → update-many-UYMTVF42.js} +24 -25
  254. package/dist/cli-bundle/chunks/{update-many-N3YTM7K4.js.map → update-many-UYMTVF42.js.map} +1 -1
  255. package/dist/cli-bundle/chunks/{upgrade-FFXGO43H.js → upgrade-LT2MLLPS.js} +5 -5
  256. package/dist/cli-bundle/chunks/{upgrade-5SRFLUNW.js → upgrade-ZZSC7CLV.js} +5 -5
  257. package/dist/cli-bundle/chunks/{validate-T3LPWSZG.js → validate-3XRORNMP.js} +16 -16
  258. package/dist/cli-bundle/chunks/{validate-CRWXZILW.js → validate-IQIQSKUX.js} +16 -16
  259. package/dist/cli-bundle/main.js +157 -62
  260. package/dist/cli-bundle/main.js.map +2 -2
  261. package/dist/core/diagnostics/remediation.js +12 -2
  262. package/dist/core/diagnostics/remediation.js.map +1 -1
  263. package/dist/core/extensions/extension-policy.d.ts +14 -1
  264. package/dist/core/extensions/extension-policy.js +38 -3
  265. package/dist/core/extensions/extension-policy.js.map +1 -1
  266. package/dist/core/extensions/extension-types.d.ts +99 -2
  267. package/dist/core/extensions/extension-types.js +28 -2
  268. package/dist/core/extensions/extension-types.js.map +1 -1
  269. package/dist/core/extensions/flag-value-types.d.ts +29 -0
  270. package/dist/core/extensions/flag-value-types.js +78 -0
  271. package/dist/core/extensions/flag-value-types.js.map +1 -0
  272. package/dist/core/extensions/item-field-types.d.ts +22 -0
  273. package/dist/core/extensions/item-field-types.js +43 -0
  274. package/dist/core/extensions/item-field-types.js.map +1 -0
  275. package/dist/core/extensions/item-fields.js +4 -11
  276. package/dist/core/extensions/item-fields.js.map +1 -1
  277. package/dist/core/extensions/loader.d.ts +16 -1
  278. package/dist/core/extensions/loader.js +202 -18
  279. package/dist/core/extensions/loader.js.map +1 -1
  280. package/dist/core/history/replay.d.ts +1 -1
  281. package/dist/core/history/replay.js +13 -4
  282. package/dist/core/history/replay.js.map +1 -1
  283. package/dist/core/output/mutation-projection.d.ts +2 -0
  284. package/dist/core/output/mutation-projection.js +9 -2
  285. package/dist/core/output/mutation-projection.js.map +1 -1
  286. package/dist/core/output/output.d.ts +2 -0
  287. package/dist/core/output/output.js +7 -3
  288. package/dist/core/output/output.js.map +1 -1
  289. package/dist/core/packages/manifest.d.ts +1 -1
  290. package/dist/core/packages/manifest.js +12 -2
  291. package/dist/core/packages/manifest.js.map +1 -1
  292. package/dist/core/shared/command-types.d.ts +1 -0
  293. package/dist/core/shared/command-types.js +2 -2
  294. package/dist/core/shared/command-types.js.map +1 -1
  295. package/dist/core/shared/constants.js +7 -4
  296. package/dist/core/shared/constants.js.map +1 -1
  297. package/dist/core/store/item-store.d.ts +1 -1
  298. package/dist/core/store/item-store.js +3 -3
  299. package/dist/core/store/item-store.js.map +1 -1
  300. package/dist/core/store/settings-read-cache.d.ts +15 -0
  301. package/dist/core/store/settings-read-cache.js +72 -0
  302. package/dist/core/store/settings-read-cache.js.map +1 -0
  303. package/dist/core/store/settings-validator.d.ts +4 -1
  304. package/dist/core/store/settings-validator.js +14 -2
  305. package/dist/core/store/settings-validator.js.map +1 -1
  306. package/dist/core/store/settings.js +166 -16
  307. package/dist/core/store/settings.js.map +1 -1
  308. package/dist/core/telemetry/runtime.d.ts +1 -0
  309. package/dist/core/telemetry/runtime.js +3 -3
  310. package/dist/core/telemetry/runtime.js.map +1 -1
  311. package/dist/core/test/run-selectors.d.ts +27 -0
  312. package/dist/core/test/run-selectors.js +110 -0
  313. package/dist/core/test/run-selectors.js.map +1 -0
  314. package/dist/mcp/server.js +105 -40
  315. package/dist/mcp/server.js.map +1 -1
  316. package/dist/sdk/cli-contracts/commander-mutation-options.js +3 -2
  317. package/dist/sdk/cli-contracts/commander-mutation-options.js.map +1 -1
  318. package/dist/sdk/cli-contracts/tool-option-contracts.js +3 -2
  319. package/dist/sdk/cli-contracts/tool-option-contracts.js.map +1 -1
  320. package/dist/sdk/cli-contracts/tool-parameter-tables.js +29 -2
  321. package/dist/sdk/cli-contracts/tool-parameter-tables.js.map +1 -1
  322. package/dist/sdk/cli-contracts.js +37 -5
  323. package/dist/sdk/cli-contracts.js.map +1 -1
  324. package/dist/sdk/index.d.ts +7 -2
  325. package/dist/sdk/index.js +3 -3
  326. package/dist/sdk/index.js.map +1 -1
  327. package/dist/sdk/runtime.d.ts +6 -0
  328. package/dist/sdk/runtime.js +51 -3
  329. package/dist/sdk/runtime.js.map +1 -1
  330. package/dist/sdk/testing.d.ts +55 -1
  331. package/dist/sdk/testing.js +92 -2
  332. package/dist/sdk/testing.js.map +1 -1
  333. package/dist/types.d.ts +4 -1
  334. package/dist/types.js +4 -2
  335. package/dist/types.js.map +1 -1
  336. package/docs/AGENT_GUIDE.md +7 -1
  337. package/docs/ARCHITECTURE.md +7 -0
  338. package/docs/COMMANDS.md +37 -3
  339. package/docs/CONFIGURATION.md +1 -1
  340. package/docs/EXTENSIONS.md +59 -53
  341. package/docs/SDK.md +104 -0
  342. package/docs/TESTING.md +60 -0
  343. package/docs/schemas/extension-manifest.schema.json +120 -0
  344. package/package.json +2 -2
  345. package/packages/pm-beads/extensions/beads/manifest.json +10 -0
  346. package/packages/pm-calendar/extensions/calendar/manifest.json +10 -0
  347. package/packages/pm-command-kit/README.md +72 -0
  348. package/packages/pm-command-kit/extensions/command-kit/index.js +181 -0
  349. package/packages/pm-command-kit/extensions/command-kit/index.ts +176 -0
  350. package/packages/pm-command-kit/extensions/command-kit/manifest.json +22 -0
  351. package/packages/pm-command-kit/package.json +53 -0
  352. package/packages/pm-governance-audit/extensions/governance-audit/manifest.json +10 -0
  353. package/packages/pm-guide-shell/extensions/guide-shell/manifest.json +10 -0
  354. package/packages/pm-lifecycle-hooks/extensions/lifecycle-hooks/manifest.json +10 -0
  355. package/packages/pm-linked-test-adapters/extensions/linked-test-adapters/manifest.json +10 -0
  356. package/packages/pm-search-advanced/extensions/search-advanced/index.js +6 -0
  357. package/packages/pm-search-advanced/extensions/search-advanced/index.ts +6 -0
  358. package/packages/pm-search-advanced/extensions/search-advanced/manifest.json +10 -0
  359. package/packages/pm-search-advanced/extensions/search-advanced/runtime.js +1 -0
  360. package/packages/pm-search-advanced/extensions/search-advanced/runtime.ts +1 -0
  361. package/packages/pm-templates/extensions/templates/manifest.json +10 -0
  362. package/packages/pm-todos/extensions/todos/manifest.json +10 -0
  363. package/dist/cli-bundle/chunks/activity-A3QKFSSF.js +0 -16
  364. package/dist/cli-bundle/chunks/aggregate-GBSHSXOB.js.map +0 -7
  365. package/dist/cli-bundle/chunks/aggregate-HKQJZUBG.js.map +0 -1
  366. package/dist/cli-bundle/chunks/chunk-2HMD3JM2.js.map +0 -7
  367. package/dist/cli-bundle/chunks/chunk-2YPVCD7T.js.map +0 -7
  368. package/dist/cli-bundle/chunks/chunk-3TXWDGPU.js.map +0 -7
  369. package/dist/cli-bundle/chunks/chunk-7NQIY7Z6.js.map +0 -1
  370. package/dist/cli-bundle/chunks/chunk-7WXGR44E.js.map +0 -7
  371. package/dist/cli-bundle/chunks/chunk-ALSRBNYB.js.map +0 -1
  372. package/dist/cli-bundle/chunks/chunk-D7WK2PKB.js.map +0 -1
  373. package/dist/cli-bundle/chunks/chunk-DV27WDA7.js.map +0 -7
  374. package/dist/cli-bundle/chunks/chunk-EAOG77HM.js +0 -56
  375. package/dist/cli-bundle/chunks/chunk-EAOG77HM.js.map +0 -7
  376. package/dist/cli-bundle/chunks/chunk-EPWT7BEA.js.map +0 -1
  377. package/dist/cli-bundle/chunks/chunk-F33AQIB4.js.map +0 -1
  378. package/dist/cli-bundle/chunks/chunk-F33VC5EX.js.map +0 -1
  379. package/dist/cli-bundle/chunks/chunk-HOA3GMB6.js.map +0 -1
  380. package/dist/cli-bundle/chunks/chunk-KBKJVXUS.js.map +0 -7
  381. package/dist/cli-bundle/chunks/chunk-KCGMABHM.js.map +0 -1
  382. package/dist/cli-bundle/chunks/chunk-KS2U7BZ3.js.map +0 -1
  383. package/dist/cli-bundle/chunks/chunk-KVXIQDJG.js.map +0 -1
  384. package/dist/cli-bundle/chunks/chunk-L3LYL3ID.js.map +0 -7
  385. package/dist/cli-bundle/chunks/chunk-MSH23UWO.js.map +0 -7
  386. package/dist/cli-bundle/chunks/chunk-N4SQZ7L3.js.map +0 -7
  387. package/dist/cli-bundle/chunks/chunk-NUKHZZNM.js +0 -252
  388. package/dist/cli-bundle/chunks/chunk-NUKHZZNM.js.map +0 -7
  389. package/dist/cli-bundle/chunks/chunk-ODN53S6H.js.map +0 -1
  390. package/dist/cli-bundle/chunks/chunk-OVSSE2JP.js.map +0 -1
  391. package/dist/cli-bundle/chunks/chunk-QWNUDGFQ.js.map +0 -7
  392. package/dist/cli-bundle/chunks/chunk-TXKENAQP.js.map +0 -7
  393. package/dist/cli-bundle/chunks/chunk-VXBUXLVD.js.map +0 -7
  394. package/dist/cli-bundle/chunks/chunk-XNGMIVQY.js +0 -242
  395. package/dist/cli-bundle/chunks/chunk-XNGMIVQY.js.map +0 -1
  396. package/dist/cli-bundle/chunks/chunk-XSLQSXAH.js +0 -53
  397. package/dist/cli-bundle/chunks/chunk-XSLQSXAH.js.map +0 -1
  398. package/dist/cli-bundle/chunks/chunk-YJAKN2N2.js.map +0 -1
  399. package/dist/cli-bundle/chunks/close-UNTFXVM3.js +0 -13
  400. package/dist/cli-bundle/chunks/context-AVLO4IFH.js.map +0 -7
  401. package/dist/cli-bundle/chunks/context-WMSI2D65.js.map +0 -1
  402. package/dist/cli-bundle/chunks/create-EZWAMUKR.js +0 -27
  403. package/dist/cli-bundle/chunks/health-B6AEM7BV.js.map +0 -1
  404. package/dist/cli-bundle/chunks/health-YMZGOMVX.js.map +0 -7
  405. package/dist/cli-bundle/chunks/history-ZERISU2L.js +0 -20
  406. package/dist/cli-bundle/chunks/history-redact-GODBYT5A.js +0 -19
  407. package/dist/cli-bundle/chunks/init-CBZHXBR3.js +0 -17
  408. package/dist/cli-bundle/chunks/list-7MTPPZHC.js +0 -20
  409. package/dist/cli-bundle/chunks/register-list-query-5IXDPUZ6.js.map +0 -1
  410. package/dist/cli-bundle/chunks/register-list-query-GQAEIG4K.js.map +0 -7
  411. package/dist/cli-bundle/chunks/register-mutation-FAS4YG63.js.map +0 -1
  412. package/dist/cli-bundle/chunks/register-mutation-YZCUILGO.js.map +0 -7
  413. package/dist/cli-bundle/chunks/register-operations-IBYWNJN5.js.map +0 -7
  414. package/dist/cli-bundle/chunks/register-operations-S2BOLUPF.js.map +0 -1
  415. package/dist/cli-bundle/chunks/restore-3JRX27QW.js +0 -17
  416. package/dist/cli-bundle/chunks/test-XN7RJL5Z.js +0 -32
  417. package/dist/cli-bundle/chunks/update-LFBSEW3N.js +0 -21
  418. /package/dist/cli-bundle/chunks/{activity-A3QKFSSF.js.map → activity-5QLX6DHN.js.map} +0 -0
  419. /package/dist/cli-bundle/chunks/{activity-Q7XMIZIH.js.map → activity-W6TS5F2L.js.map} +0 -0
  420. /package/dist/cli-bundle/chunks/{append-3RFOU7P5.js.map → append-7BS36Z2L.js.map} +0 -0
  421. /package/dist/cli-bundle/chunks/{append-OM74OJVT.js.map → append-DHGTLUZW.js.map} +0 -0
  422. /package/dist/cli-bundle/chunks/{chunk-Z2HXAFFH.js.map → chunk-344GDQTH.js.map} +0 -0
  423. /package/dist/cli-bundle/chunks/{chunk-AEMKH5WQ.js.map → chunk-3VTWCBXL.js.map} +0 -0
  424. /package/dist/cli-bundle/chunks/{chunk-XLSQ3QLT.js.map → chunk-4CYHWHZU.js.map} +0 -0
  425. /package/dist/cli-bundle/chunks/{chunk-JS47EKLP.js.map → chunk-4H2NDEGJ.js.map} +0 -0
  426. /package/dist/cli-bundle/chunks/{chunk-QF4OPBAG.js.map → chunk-5HH6QRH5.js.map} +0 -0
  427. /package/dist/cli-bundle/chunks/{chunk-5NVJA7IW.js.map → chunk-5OMABP7I.js.map} +0 -0
  428. /package/dist/cli-bundle/chunks/{chunk-YEFOCDIK.js.map → chunk-6ADVKPVV.js.map} +0 -0
  429. /package/dist/cli-bundle/chunks/{chunk-SM3RMWGO.js.map → chunk-6KQS23TX.js.map} +0 -0
  430. /package/dist/cli-bundle/chunks/{chunk-ETZZU5QF.js.map → chunk-6N46IM44.js.map} +0 -0
  431. /package/dist/cli-bundle/chunks/{chunk-5WO2VKFA.js.map → chunk-73PSHEMT.js.map} +0 -0
  432. /package/dist/cli-bundle/chunks/{chunk-J4DKAGTM.js.map → chunk-7DUVDW7C.js.map} +0 -0
  433. /package/dist/cli-bundle/chunks/{chunk-2BYKYPWY.js.map → chunk-7GYMMDDW.js.map} +0 -0
  434. /package/dist/cli-bundle/chunks/{chunk-QFVASU44.js.map → chunk-7TW64BS5.js.map} +0 -0
  435. /package/dist/cli-bundle/chunks/{chunk-KP4KIUQT.js.map → chunk-ANVZCNL5.js.map} +0 -0
  436. /package/dist/cli-bundle/chunks/{chunk-UEXNNF3K.js.map → chunk-D6JZBUZ6.js.map} +0 -0
  437. /package/dist/cli-bundle/chunks/{chunk-R4XIE7NQ.js.map → chunk-DMDEC4QP.js.map} +0 -0
  438. /package/dist/cli-bundle/chunks/{chunk-KN4WSESY.js.map → chunk-DTRIVUTN.js.map} +0 -0
  439. /package/dist/cli-bundle/chunks/{chunk-HP35AVFS.js.map → chunk-EIS32UA4.js.map} +0 -0
  440. /package/dist/cli-bundle/chunks/{chunk-BFJPMUF5.js.map → chunk-GP6SHEAI.js.map} +0 -0
  441. /package/dist/cli-bundle/chunks/{chunk-URJEZOLB.js.map → chunk-GRHPU6EM.js.map} +0 -0
  442. /package/dist/cli-bundle/chunks/{chunk-K62SNVVE.js.map → chunk-I2FM2SMO.js.map} +0 -0
  443. /package/dist/cli-bundle/chunks/{chunk-AXBUHLW7.js.map → chunk-K45NAJV2.js.map} +0 -0
  444. /package/dist/cli-bundle/chunks/{chunk-NLVCMVC7.js.map → chunk-K7SXBA75.js.map} +0 -0
  445. /package/dist/cli-bundle/chunks/{chunk-NDSMKB2I.js.map → chunk-LYL32FT6.js.map} +0 -0
  446. /package/dist/cli-bundle/chunks/{chunk-Z55JACL2.js.map → chunk-O64EYNHF.js.map} +0 -0
  447. /package/dist/cli-bundle/chunks/{chunk-FO2TYSQZ.js.map → chunk-OROMGSBP.js.map} +0 -0
  448. /package/dist/cli-bundle/chunks/{chunk-XZS4MV37.js.map → chunk-PYULT32I.js.map} +0 -0
  449. /package/dist/cli-bundle/chunks/{chunk-M7UBTVFT.js.map → chunk-Q6PSD5DZ.js.map} +0 -0
  450. /package/dist/cli-bundle/chunks/{chunk-QQPZYP73.js.map → chunk-QGIWURY3.js.map} +0 -0
  451. /package/dist/cli-bundle/chunks/{chunk-XEKZCBCS.js.map → chunk-SNASEDXB.js.map} +0 -0
  452. /package/dist/cli-bundle/chunks/{chunk-4WYBLB6J.js.map → chunk-T6QLB34N.js.map} +0 -0
  453. /package/dist/cli-bundle/chunks/{chunk-NGEEXR2R.js.map → chunk-TALBUVWF.js.map} +0 -0
  454. /package/dist/cli-bundle/chunks/{chunk-FGRJZVXD.js.map → chunk-TV6FZGVK.js.map} +0 -0
  455. /package/dist/cli-bundle/chunks/{chunk-4TI3532H.js.map → chunk-UDWUDUJI.js.map} +0 -0
  456. /package/dist/cli-bundle/chunks/{chunk-CBJXWXI5.js.map → chunk-UY26RIBR.js.map} +0 -0
  457. /package/dist/cli-bundle/chunks/{chunk-TBLBEOEX.js.map → chunk-VSS3CSTF.js.map} +0 -0
  458. /package/dist/cli-bundle/chunks/{chunk-OTY2YEH5.js.map → chunk-WWEFBBVF.js.map} +0 -0
  459. /package/dist/cli-bundle/chunks/{chunk-UMMJAJB2.js.map → chunk-X3IPJU2O.js.map} +0 -0
  460. /package/dist/cli-bundle/chunks/{claim-NHBIIBOW.js.map → claim-3TY5LE54.js.map} +0 -0
  461. /package/dist/cli-bundle/chunks/{claim-RNEBQCOO.js.map → claim-LM4YY6QQ.js.map} +0 -0
  462. /package/dist/cli-bundle/chunks/{close-ZMXL2WDS.js.map → close-CSD4LEMT.js.map} +0 -0
  463. /package/dist/cli-bundle/chunks/{close-UNTFXVM3.js.map → close-SIQCDOBR.js.map} +0 -0
  464. /package/dist/cli-bundle/chunks/{comments-J5Q4IJPH.js.map → comments-A5ALOYTG.js.map} +0 -0
  465. /package/dist/cli-bundle/chunks/{comments-EFVBHWPT.js.map → comments-BDDEK3VW.js.map} +0 -0
  466. /package/dist/cli-bundle/chunks/{config-72253M2O.js.map → config-W2NHDNQT.js.map} +0 -0
  467. /package/dist/cli-bundle/chunks/{config-VFYA6BMI.js.map → config-YUYBMJOW.js.map} +0 -0
  468. /package/dist/cli-bundle/chunks/{contracts-D4BN3VSQ.js.map → contracts-47X7RYUF.js.map} +0 -0
  469. /package/dist/cli-bundle/chunks/{contracts-RGPOBLPL.js.map → contracts-HJHR4NCD.js.map} +0 -0
  470. /package/dist/cli-bundle/chunks/{copy-H6TXHK7S.js.map → copy-B7HFOWFB.js.map} +0 -0
  471. /package/dist/cli-bundle/chunks/{copy-WXE3OOLZ.js.map → copy-P4UVYZ7M.js.map} +0 -0
  472. /package/dist/cli-bundle/chunks/{create-PUAIJEZ7.js.map → create-5ERJF64D.js.map} +0 -0
  473. /package/dist/cli-bundle/chunks/{create-EZWAMUKR.js.map → create-TXNRPS4K.js.map} +0 -0
  474. /package/dist/cli-bundle/chunks/{delete-WBME6WG5.js.map → delete-LX3LGBCH.js.map} +0 -0
  475. /package/dist/cli-bundle/chunks/{delete-PKR2JHLH.js.map → delete-S3WVK6LP.js.map} +0 -0
  476. /package/dist/cli-bundle/chunks/{deps-4BQEDV4L.js.map → deps-GWSNH7OZ.js.map} +0 -0
  477. /package/dist/cli-bundle/chunks/{deps-KWHQRO75.js.map → deps-YSM4LZQD.js.map} +0 -0
  478. /package/dist/cli-bundle/chunks/{docs-SCNBUGSV.js.map → docs-7RYFBHQD.js.map} +0 -0
  479. /package/dist/cli-bundle/chunks/{docs-364GT3ZR.js.map → docs-TG6JMVMY.js.map} +0 -0
  480. /package/dist/cli-bundle/chunks/{extension-KK2UPXJD.js.map → extension-R3LUKMX7.js.map} +0 -0
  481. /package/dist/cli-bundle/chunks/{extension-CRE7JM47.js.map → extension-VNMRKIHI.js.map} +0 -0
  482. /package/dist/cli-bundle/chunks/{files-66EHM5ZR.js.map → files-KAKU57OT.js.map} +0 -0
  483. /package/dist/cli-bundle/chunks/{files-3GESQAWL.js.map → files-QB3EYPMO.js.map} +0 -0
  484. /package/dist/cli-bundle/chunks/{gc-MOQDND5J.js.map → gc-B747VM4M.js.map} +0 -0
  485. /package/dist/cli-bundle/chunks/{gc-D5IWOKQH.js.map → gc-KNUPLPSW.js.map} +0 -0
  486. /package/dist/cli-bundle/chunks/{get-7J2ZCBV5.js.map → get-GMGLIQ5I.js.map} +0 -0
  487. /package/dist/cli-bundle/chunks/{get-WXSLXV3K.js.map → get-SBL6NHYQ.js.map} +0 -0
  488. /package/dist/cli-bundle/chunks/{history-ZERISU2L.js.map → history-6UKSZTRT.js.map} +0 -0
  489. /package/dist/cli-bundle/chunks/{history-TJTO5GCR.js.map → history-XCWRXBXC.js.map} +0 -0
  490. /package/dist/cli-bundle/chunks/{history-compact-CKNN6UKW.js.map → history-compact-IDH7E7VN.js.map} +0 -0
  491. /package/dist/cli-bundle/chunks/{history-compact-N2Q7IR3T.js.map → history-compact-KICKUCR7.js.map} +0 -0
  492. /package/dist/cli-bundle/chunks/{history-redact-GODBYT5A.js.map → history-redact-HKYBTK6X.js.map} +0 -0
  493. /package/dist/cli-bundle/chunks/{history-redact-JUXUOH54.js.map → history-redact-JJWH3QWK.js.map} +0 -0
  494. /package/dist/cli-bundle/chunks/{history-repair-TDBBSRVK.js.map → history-repair-7HWBZKXN.js.map} +0 -0
  495. /package/dist/cli-bundle/chunks/{history-repair-CCCPBNTF.js.map → history-repair-N5HXKJOI.js.map} +0 -0
  496. /package/dist/cli-bundle/chunks/{init-CBZHXBR3.js.map → init-27JLDUO2.js.map} +0 -0
  497. /package/dist/cli-bundle/chunks/{init-6ZPKD3YN.js.map → init-OQA3TWIS.js.map} +0 -0
  498. /package/dist/cli-bundle/chunks/{learnings-WYNTYQ5T.js.map → learnings-L7VQUSVI.js.map} +0 -0
  499. /package/dist/cli-bundle/chunks/{learnings-U7U2FNIO.js.map → learnings-Z4GAIZQ5.js.map} +0 -0
  500. /package/dist/cli-bundle/chunks/{list-7MTPPZHC.js.map → list-6U3CJVXS.js.map} +0 -0
  501. /package/dist/cli-bundle/chunks/{list-JGP7ODML.js.map → list-W5ROBC5U.js.map} +0 -0
  502. /package/dist/cli-bundle/chunks/{notes-P25YVTEG.js.map → notes-JJDOEDFK.js.map} +0 -0
  503. /package/dist/cli-bundle/chunks/{notes-QIF6A7XS.js.map → notes-SDCK7BEN.js.map} +0 -0
  504. /package/dist/cli-bundle/chunks/{plan-RACB5PI6.js.map → plan-H5HYHMBB.js.map} +0 -0
  505. /package/dist/cli-bundle/chunks/{plan-SSBJFWXA.js.map → plan-W2B5RYR3.js.map} +0 -0
  506. /package/dist/cli-bundle/chunks/{register-setup-JRZ4UMWZ.js.map → register-setup-BZ3TNE3G.js.map} +0 -0
  507. /package/dist/cli-bundle/chunks/{register-setup-ABA2JPWO.js.map → register-setup-WLFL3OUF.js.map} +0 -0
  508. /package/dist/cli-bundle/chunks/{restore-3JRX27QW.js.map → restore-GNI2W5CN.js.map} +0 -0
  509. /package/dist/cli-bundle/chunks/{restore-K72ZNPEP.js.map → restore-RGFSPG4K.js.map} +0 -0
  510. /package/dist/cli-bundle/chunks/{schema-UL4B2JX5.js.map → schema-CCDU3RLC.js.map} +0 -0
  511. /package/dist/cli-bundle/chunks/{schema-3VKRDBLC.js.map → schema-KZASL323.js.map} +0 -0
  512. /package/dist/cli-bundle/chunks/{stats-WLJ3XBF5.js.map → stats-IOXQMGI6.js.map} +0 -0
  513. /package/dist/cli-bundle/chunks/{stats-O4UTMJMC.js.map → stats-QNV7B2CE.js.map} +0 -0
  514. /package/dist/cli-bundle/chunks/{telemetry-EUVHFSQU.js.map → telemetry-IV5C6JOM.js.map} +0 -0
  515. /package/dist/cli-bundle/chunks/{telemetry-NRVWX25E.js.map → telemetry-NHR5RFXT.js.map} +0 -0
  516. /package/dist/cli-bundle/chunks/{test-XN7RJL5Z.js.map → test-4Z37CXW4.js.map} +0 -0
  517. /package/dist/cli-bundle/chunks/{test-GXUBQNUC.js.map → test-PIL2CEEB.js.map} +0 -0
  518. /package/dist/cli-bundle/chunks/{test-all-UTFXC7S2.js.map → test-all-GRLYHBNP.js.map} +0 -0
  519. /package/dist/cli-bundle/chunks/{test-all-XM6OKI3L.js.map → test-all-MFN4MYCV.js.map} +0 -0
  520. /package/dist/cli-bundle/chunks/{test-runs-IK6E2HNX.js.map → test-runs-7LRFWWCA.js.map} +0 -0
  521. /package/dist/cli-bundle/chunks/{test-runs-7FHCPEA3.js.map → test-runs-7WCSC3TY.js.map} +0 -0
  522. /package/dist/cli-bundle/chunks/{update-LFBSEW3N.js.map → update-I4G34LKJ.js.map} +0 -0
  523. /package/dist/cli-bundle/chunks/{update-U4B4OMHZ.js.map → update-VI5DBZ3G.js.map} +0 -0
  524. /package/dist/cli-bundle/chunks/{upgrade-FFXGO43H.js.map → upgrade-LT2MLLPS.js.map} +0 -0
  525. /package/dist/cli-bundle/chunks/{upgrade-5SRFLUNW.js.map → upgrade-ZZSC7CLV.js.map} +0 -0
  526. /package/dist/cli-bundle/chunks/{validate-T3LPWSZG.js.map → validate-3XRORNMP.js.map} +0 -0
  527. /package/dist/cli-bundle/chunks/{validate-CRWXZILW.js.map → validate-IQIQSKUX.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"registration-helpers.js","sources":["cli/registration-helpers.ts"],"sourceRoot":"/","sourcesContent":["import type { Command } from \"commander\";\nimport { pathExists } from \"../core/fs/fs-utils.js\";\nimport { normalizeStatusInput } from \"../core/item/status.js\";\nimport { refreshSearchArtifactsForMutation } from \"../core/search/cache.js\";\nimport { shouldRunSearchRefreshInForeground } from \"../core/search/background-refresh.js\";\nimport { EXIT_CODE } from \"../core/shared/constants.js\";\nimport { PmCliError } from \"../core/shared/errors.js\";\nimport { printError, printResult, writeStdout } from \"../core/output/output.js\";\nimport { getSettingsPath, resolvePmRoot } from \"../core/store/paths.js\";\nimport { readSettings } from \"../core/store/settings.js\";\nimport {\n setActiveCommandResult,\n} from \"../core/extensions/index.js\";\nimport type { GlobalOptions } from \"../core/shared/command-types.js\";\nimport type { ItemStatus } from \"../types/index.js\";\nimport {\n ACTIVITY_COMMANDER_STRING_OPTION_CONTRACTS,\n CONTEXT_COMMANDER_STRING_OPTION_CONTRACTS,\n CREATE_COMMANDER_REPEATABLE_OPTION_CONTRACTS,\n CREATE_COMMANDER_STRING_OPTION_CONTRACTS,\n LIST_COMMANDER_STRING_OPTION_CONTRACTS,\n SEARCH_COMMANDER_STRING_OPTION_CONTRACTS,\n UPDATE_COMMANDER_REPEATABLE_OPTION_CONTRACTS,\n UPDATE_COMMANDER_STRING_OPTION_CONTRACTS,\n readFirstValueFromCommanderOptions,\n readFirstStringFromCommanderOptions,\n readStringArrayFromCommanderOptions,\n} from \"../sdk/cli-contracts.js\";\nimport type {\n ContextOptions,\n CreateCommandOptions,\n AggregateOptions,\n ListOptions,\n} from \"./commands/index.js\";\nimport type { runList, runActivity } from \"./commands/index.js\";\n\nexport {\n printError,\n printResult,\n writeStdout,\n};\n\nconst RESOLVED_GLOBAL_OPTIONS = Symbol(\"pm.resolvedGlobalOptions\");\n\ntype CommandWithResolvedGlobals = Command & {\n [RESOLVED_GLOBAL_OPTIONS]?: GlobalOptions;\n};\n\ninterface CommandOptionsReader {\n optsWithGlobals?: () => Record<string, unknown>;\n opts?: () => Record<string, unknown>;\n}\n\nfunction commandOptionsReader(command: unknown): CommandOptionsReader {\n return typeof command === \"object\" && command !== null ? command as CommandOptionsReader : {};\n}\n\nexport function setResolvedGlobalOptions(command: Command, globalOptions: GlobalOptions): void {\n (command as CommandWithResolvedGlobals)[RESOLVED_GLOBAL_OPTIONS] = { ...globalOptions };\n}\n\nexport function clearResolvedGlobalOptions(command: Command): void {\n delete (command as CommandWithResolvedGlobals)[RESOLVED_GLOBAL_OPTIONS];\n}\n\nexport function getGlobalOptions(command: Command): GlobalOptions {\n const resolved = (command as CommandWithResolvedGlobals)[RESOLVED_GLOBAL_OPTIONS];\n if (resolved) {\n return { ...resolved };\n }\n const reader = commandOptionsReader(command);\n const opts = typeof reader.optsWithGlobals === \"function\"\n ? reader.optsWithGlobals()\n : typeof reader.opts === \"function\"\n ? reader.opts()\n : {};\n return {\n json: opts.json === true ? true : undefined,\n quiet: Boolean(opts.quiet),\n noChangedFields: opts.changedFields === false,\n path: typeof opts.pmPath === \"string\"\n ? opts.pmPath\n : typeof opts.path === \"string\"\n ? opts.path\n : undefined,\n noExtensions: opts.extensions === false,\n noPager: Boolean(opts.noPager),\n profile: Boolean(opts.profile),\n };\n}\n\nexport function getCommandPath(command: Command): string {\n const parts: string[] = [];\n let current: Command | null = command;\n while (current?.parent) {\n parts.unshift(current.name());\n current = current.parent;\n }\n return parts.join(\" \");\n}\n\nexport async function applyDefaultOutputFormat(globalOptions: GlobalOptions): Promise<GlobalOptions> {\n if (globalOptions.json === true) {\n return globalOptions;\n }\n const pmRoot = resolvePmRoot(process.cwd(), globalOptions.path);\n if (!(await pathExists(getSettingsPath(pmRoot)))) {\n return globalOptions;\n }\n const settings = await readSettings(pmRoot);\n return {\n ...globalOptions,\n defaultOutputFormat: settings.output.default_format,\n };\n}\n\nexport function collect(value: string, previous: string[] | undefined): string[] {\n const next = previous ?? [];\n next.push(value);\n return next;\n}\n\nfunction pushOptionalValueFlag(args: string[], flag: string, value: unknown): void {\n if (typeof value !== \"string\") {\n return;\n }\n const trimmed = value.trim();\n if (trimmed.length === 0) {\n return;\n }\n args.push(flag, trimmed);\n}\n\nfunction pushOptionalBooleanFlag(args: string[], flag: string, value: unknown): void {\n if (value === true) {\n args.push(flag);\n }\n}\n\nfunction pushRepeatableValueFlag(args: string[], flag: string, values: unknown): void {\n if (!Array.isArray(values)) {\n return;\n }\n for (const value of values) {\n if (typeof value !== \"string\") {\n continue;\n }\n const trimmed = value.trim();\n if (trimmed.length === 0) {\n continue;\n }\n args.push(flag, trimmed);\n }\n}\n\nexport function buildBackgroundTestCommandArgs(id: string, options: Record<string, unknown>): string[] {\n const args: string[] = [\"test\", id, \"--run\", \"--json\", \"--progress\"];\n pushRepeatableValueFlag(args, \"--add\", options.add);\n pushRepeatableValueFlag(args, \"--remove\", options.remove);\n pushOptionalValueFlag(args, \"--timeout\", options.timeout);\n pushRepeatableValueFlag(args, \"--env-set\", options.envSet);\n pushRepeatableValueFlag(args, \"--env-clear\", options.envClear);\n pushOptionalBooleanFlag(args, \"--shared-host-safe\", options.sharedHostSafe);\n pushOptionalValueFlag(args, \"--pm-context\", options.pmContext);\n pushOptionalBooleanFlag(args, \"--override-linked-pm-context\", options.overrideLinkedPmContext);\n pushOptionalBooleanFlag(args, \"--fail-on-context-mismatch\", options.failOnContextMismatch);\n pushOptionalBooleanFlag(args, \"--fail-on-skipped\", options.failOnSkipped);\n pushOptionalBooleanFlag(args, \"--fail-on-empty-test-run\", options.failOnEmptyTestRun);\n pushOptionalBooleanFlag(args, \"--require-assertions-for-pm\", options.requireAssertionsForPm);\n pushOptionalBooleanFlag(args, \"--check-context\", options.checkContext);\n pushOptionalBooleanFlag(args, \"--auto-pm-context\", options.autoPmContext);\n pushOptionalValueFlag(args, \"--author\", options.author);\n pushOptionalValueFlag(args, \"--message\", options.message);\n pushOptionalBooleanFlag(args, \"--force\", options.force);\n return args;\n}\n\nexport function buildBackgroundTestAllCommandArgs(options: Record<string, unknown>): string[] {\n const args: string[] = [\"test-all\", \"--json\", \"--progress\"];\n pushOptionalValueFlag(args, \"--status\", options.status);\n pushOptionalValueFlag(args, \"--limit\", options.limit);\n pushOptionalValueFlag(args, \"--offset\", options.offset);\n pushOptionalValueFlag(args, \"--timeout\", options.timeout);\n pushRepeatableValueFlag(args, \"--env-set\", options.envSet);\n pushRepeatableValueFlag(args, \"--env-clear\", options.envClear);\n pushOptionalBooleanFlag(args, \"--shared-host-safe\", options.sharedHostSafe);\n pushOptionalValueFlag(args, \"--pm-context\", options.pmContext);\n pushOptionalBooleanFlag(args, \"--override-linked-pm-context\", options.overrideLinkedPmContext);\n pushOptionalBooleanFlag(args, \"--fail-on-context-mismatch\", options.failOnContextMismatch);\n pushOptionalBooleanFlag(args, \"--fail-on-skipped\", options.failOnSkipped);\n pushOptionalBooleanFlag(args, \"--fail-on-empty-test-run\", options.failOnEmptyTestRun);\n pushOptionalBooleanFlag(args, \"--require-assertions-for-pm\", options.requireAssertionsForPm);\n pushOptionalBooleanFlag(args, \"--check-context\", options.checkContext);\n pushOptionalBooleanFlag(args, \"--auto-pm-context\", options.autoPmContext);\n return args;\n}\n\nexport function formatHookWarnings(warnings: string[]): string {\n return warnings.join(\",\");\n}\n\nexport function normalizeCreateOptions(\n commandOptions: Record<string, unknown>,\n options: { requireType?: boolean } = {},\n): CreateCommandOptions {\n const readCreateString = (target: string): string | undefined =>\n readFirstStringFromCommanderOptions(\n commandOptions,\n CREATE_COMMANDER_STRING_OPTION_CONTRACTS.find((entry) => entry.target === target) ?? {\n target,\n keys: [target],\n },\n );\n const readCreateList = (target: string): string[] | undefined =>\n readStringArrayFromCommanderOptions(\n commandOptions,\n CREATE_COMMANDER_REPEATABLE_OPTION_CONTRACTS.find((entry) => entry.target === target) ?? {\n target,\n keys: [target],\n },\n );\n\n const type = readCreateString(\"type\");\n if (options.requireType !== false && type === undefined) {\n throw new PmCliError(\n \"Missing required option --type <value>. Why required: create resolves runtime schema fields/workflow from item type. Retry: add --type <built-in or configured custom type> (example: --type Task).\",\n EXIT_CODE.USAGE,\n );\n }\n\n const normalized: Record<string, unknown> = {\n title: readCreateString(\"title\"),\n description: readCreateString(\"description\"),\n type,\n template: readCreateString(\"template\"),\n createMode: readCreateString(\"createMode\"),\n schedulePreset: readCreateString(\"schedulePreset\"),\n status: readCreateString(\"status\"),\n priority: readCreateString(\"priority\"),\n tags: readCreateString(\"tags\"),\n addTags: readCreateList(\"addTags\"),\n body: readCreateString(\"body\"),\n deadline: readCreateString(\"deadline\"),\n estimatedMinutes: readCreateString(\"estimatedMinutes\"),\n acceptanceCriteria: readCreateString(\"acceptanceCriteria\"),\n definitionOfReady: readCreateString(\"definitionOfReady\"),\n order: readCreateString(\"order\"),\n rank: readCreateString(\"rank\"),\n goal: readCreateString(\"goal\"),\n objective: readCreateString(\"objective\"),\n value: readCreateString(\"value\"),\n impact: readCreateString(\"impact\"),\n outcome: readCreateString(\"outcome\"),\n whyNow: readCreateString(\"whyNow\"),\n author: readCreateString(\"author\"),\n message: readCreateString(\"message\"),\n assignee: readCreateString(\"assignee\"),\n parent: readCreateString(\"parent\"),\n reviewer: readCreateString(\"reviewer\"),\n risk: readCreateString(\"risk\"),\n confidence: readCreateString(\"confidence\"),\n sprint: readCreateString(\"sprint\"),\n release: readCreateString(\"release\"),\n blockedBy: readCreateString(\"blockedBy\"),\n blockedReason: readCreateString(\"blockedReason\"),\n unblockNote: readCreateString(\"unblockNote\"),\n reporter: readCreateString(\"reporter\"),\n severity: readCreateString(\"severity\"),\n environment: readCreateString(\"environment\"),\n reproSteps: readCreateString(\"reproSteps\"),\n resolution: readCreateString(\"resolution\"),\n expectedResult: readCreateString(\"expectedResult\"),\n actualResult: readCreateString(\"actualResult\"),\n affectedVersion: readCreateString(\"affectedVersion\"),\n fixedVersion: readCreateString(\"fixedVersion\"),\n component: readCreateString(\"component\"),\n regression: readCreateString(\"regression\"),\n customerImpact: readCreateString(\"customerImpact\"),\n dep: readCreateList(\"dep\"),\n comment: readCreateList(\"comment\"),\n note: readCreateList(\"note\"),\n learning: readCreateList(\"learning\"),\n file: readCreateList(\"file\"),\n test: readCreateList(\"test\"),\n doc: readCreateList(\"doc\"),\n reminder: readCreateList(\"reminder\"),\n event: readCreateList(\"event\"),\n typeOption: readCreateList(\"typeOption\"),\n field: readCreateList(\"field\"),\n unset: readCreateList(\"unset\"),\n clearDeps: commandOptions.clearDeps === true ? true : undefined,\n clearComments: commandOptions.clearComments === true ? true : undefined,\n clearNotes: commandOptions.clearNotes === true ? true : undefined,\n clearLearnings: commandOptions.clearLearnings === true ? true : undefined,\n clearFiles: commandOptions.clearFiles === true ? true : undefined,\n clearTests: commandOptions.clearTests === true ? true : undefined,\n clearDocs: commandOptions.clearDocs === true ? true : undefined,\n clearReminders: commandOptions.clearReminders === true ? true : undefined,\n clearEvents: commandOptions.clearEvents === true ? true : undefined,\n clearTypeOptions: commandOptions.clearTypeOptions === true ? true : undefined,\n };\n for (const [key, value] of Object.entries(commandOptions)) {\n if (Object.hasOwn(normalized, key)) {\n continue;\n }\n normalized[key] = value;\n }\n return normalized as CreateCommandOptions;\n}\n\nexport function normalizeUpdateOptions(commandOptions: Record<string, unknown>): Record<string, unknown> {\n const readUpdateString = (target: string): string | undefined =>\n readFirstStringFromCommanderOptions(\n commandOptions,\n UPDATE_COMMANDER_STRING_OPTION_CONTRACTS.find((entry) => entry.target === target) ?? {\n target,\n keys: [target],\n },\n );\n const readUpdateList = (target: string): string[] | undefined =>\n readStringArrayFromCommanderOptions(\n commandOptions,\n UPDATE_COMMANDER_REPEATABLE_OPTION_CONTRACTS.find((entry) => entry.target === target) ?? {\n target,\n keys: [target],\n },\n );\n\n const normalized: Record<string, unknown> = {\n title: readUpdateString(\"title\"),\n description: readUpdateString(\"description\"),\n body: readUpdateString(\"body\"),\n status: readUpdateString(\"status\"),\n closeReason: readUpdateString(\"closeReason\"),\n priority: readUpdateString(\"priority\"),\n type: readUpdateString(\"type\"),\n tags: readUpdateString(\"tags\"),\n addTags: readUpdateList(\"addTags\"),\n removeTags: readUpdateList(\"removeTags\"),\n deadline: readUpdateString(\"deadline\"),\n estimatedMinutes: readUpdateString(\"estimatedMinutes\"),\n acceptanceCriteria: readUpdateString(\"acceptanceCriteria\"),\n definitionOfReady: readUpdateString(\"definitionOfReady\"),\n order: readUpdateString(\"order\"),\n rank: readUpdateString(\"rank\"),\n goal: readUpdateString(\"goal\"),\n objective: readUpdateString(\"objective\"),\n value: readUpdateString(\"value\"),\n impact: readUpdateString(\"impact\"),\n outcome: readUpdateString(\"outcome\"),\n whyNow: readUpdateString(\"whyNow\"),\n author: readUpdateString(\"author\"),\n message: readUpdateString(\"message\"),\n force: Boolean(commandOptions.force),\n allowAuditUpdate:\n commandOptions.allowAuditUpdate === true || commandOptions.allow_audit_update === true ? true : undefined,\n allowAuditDepUpdate:\n commandOptions.allowAuditDepUpdate === true || commandOptions.allow_audit_dep_update === true ? true : undefined,\n assignee: readUpdateString(\"assignee\"),\n parent: readUpdateString(\"parent\"),\n reviewer: readUpdateString(\"reviewer\"),\n risk: readUpdateString(\"risk\"),\n confidence: readUpdateString(\"confidence\"),\n sprint: readUpdateString(\"sprint\"),\n release: readUpdateString(\"release\"),\n blockedBy: readUpdateString(\"blockedBy\"),\n blockedReason: readUpdateString(\"blockedReason\"),\n unblockNote: readUpdateString(\"unblockNote\"),\n reporter: readUpdateString(\"reporter\"),\n severity: readUpdateString(\"severity\"),\n environment: readUpdateString(\"environment\"),\n reproSteps: readUpdateString(\"reproSteps\"),\n resolution: readUpdateString(\"resolution\"),\n expectedResult: readUpdateString(\"expectedResult\"),\n actualResult: readUpdateString(\"actualResult\"),\n affectedVersion: readUpdateString(\"affectedVersion\"),\n fixedVersion: readUpdateString(\"fixedVersion\"),\n component: readUpdateString(\"component\"),\n regression: readUpdateString(\"regression\"),\n customerImpact: readUpdateString(\"customerImpact\"),\n dep: readUpdateList(\"dep\"),\n depRemove: readUpdateList(\"depRemove\"),\n replaceDeps: commandOptions.replaceDeps === true ? true : undefined,\n replaceTests: commandOptions.replaceTests === true ? true : undefined,\n comment: readUpdateList(\"comment\"),\n note: readUpdateList(\"note\"),\n learning: readUpdateList(\"learning\"),\n file: readUpdateList(\"file\"),\n test: readUpdateList(\"test\"),\n doc: readUpdateList(\"doc\"),\n reminder: readUpdateList(\"reminder\"),\n event: readUpdateList(\"event\"),\n typeOption: readUpdateList(\"typeOption\"),\n field: readUpdateList(\"field\"),\n unset: readUpdateList(\"unset\"),\n clearDeps: commandOptions.clearDeps === true ? true : undefined,\n clearComments: commandOptions.clearComments === true ? true : undefined,\n clearNotes: commandOptions.clearNotes === true ? true : undefined,\n clearLearnings: commandOptions.clearLearnings === true ? true : undefined,\n clearFiles: commandOptions.clearFiles === true ? true : undefined,\n clearTests: commandOptions.clearTests === true ? true : undefined,\n clearDocs: commandOptions.clearDocs === true ? true : undefined,\n clearReminders: commandOptions.clearReminders === true ? true : undefined,\n clearEvents: commandOptions.clearEvents === true ? true : undefined,\n clearTypeOptions: commandOptions.clearTypeOptions === true ? true : undefined,\n };\n for (const [key, value] of Object.entries(commandOptions)) {\n if (Object.hasOwn(normalized, key)) {\n continue;\n }\n normalized[key] = value;\n }\n return normalized;\n}\n\nconst UPDATE_MANY_CONTROL_OPTION_KEYS = new Set<string>([\n \"filterStatus\",\n \"filterType\",\n \"filterTag\",\n \"filterPriority\",\n \"filterDeadlineBefore\",\n \"filterDeadlineAfter\",\n \"filterUpdatedAfter\",\n \"filterUpdatedBefore\",\n \"filterCreatedAfter\",\n \"filterCreatedBefore\",\n \"filterAssignee\",\n \"filterAssigneeFilter\",\n \"filterAssignee_filter\",\n \"filterParent\",\n \"filterSprint\",\n \"filterRelease\",\n \"ids\",\n \"limit\",\n \"offset\",\n \"dryRun\",\n \"rollback\",\n \"checkpoint\",\n]);\n\nexport function extractUpdateManyMutationOptionSource(commandOptions: Record<string, unknown>): Record<string, unknown> {\n const mutationOptions: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(commandOptions)) {\n if (UPDATE_MANY_CONTROL_OPTION_KEYS.has(key)) {\n continue;\n }\n mutationOptions[key] = value;\n }\n return mutationOptions;\n}\n\nfunction readListOptionString(options: Record<string, unknown>, target: string): string | undefined {\n const contract = LIST_COMMANDER_STRING_OPTION_CONTRACTS.find((entry) => entry.target === target) ?? {\n target,\n keys: [target],\n };\n const stringValue = readFirstStringFromCommanderOptions(options, contract);\n if (stringValue !== undefined) {\n return stringValue;\n }\n for (const key of contract.keys) {\n const value = options[key];\n if (target === \"ids\" && typeof value === \"string\") {\n return value;\n }\n if (typeof value === \"number\" && Number.isFinite(value)) {\n return String(value);\n }\n }\n return undefined;\n}\n\nexport function normalizeListOptions(options: Record<string, unknown>): ListOptions {\n const normalized: Record<string, unknown> = {\n status: readListOptionString(options, \"status\"),\n type: readListOptionString(options, \"type\"),\n tag: readListOptionString(options, \"tag\"),\n priority: readListOptionString(options, \"priority\"),\n deadlineBefore: readListOptionString(options, \"deadlineBefore\"),\n deadlineAfter: readListOptionString(options, \"deadlineAfter\"),\n updatedAfter: readListOptionString(options, \"updatedAfter\"),\n updatedBefore: readListOptionString(options, \"updatedBefore\"),\n createdAfter: readListOptionString(options, \"createdAfter\"),\n createdBefore: readListOptionString(options, \"createdBefore\"),\n ids: readListOptionString(options, \"ids\"),\n assignee: readListOptionString(options, \"assignee\"),\n assigneeFilter: readListOptionString(options, \"assigneeFilter\"),\n parent: readListOptionString(options, \"parent\"),\n sprint: readListOptionString(options, \"sprint\"),\n release: readListOptionString(options, \"release\"),\n limit: readListOptionString(options, \"limit\"),\n offset: readListOptionString(options, \"offset\"),\n includeBody: options.includeBody === true ? true : undefined,\n compact: options.compact === true ? true : undefined,\n brief: options.brief === true ? true : undefined,\n full: options.full === true ? true : undefined,\n fields: readListOptionString(options, \"fields\"),\n sort: readListOptionString(options, \"sort\"),\n order: readListOptionString(options, \"order\"),\n tree: options.tree === true ? true : undefined,\n treeDepth: readListOptionString(options, \"treeDepth\"),\n };\n for (const [key, value] of Object.entries(options)) {\n if (Object.hasOwn(normalized, key)) {\n continue;\n }\n normalized[key] = value;\n }\n return normalized as ListOptions;\n}\n\nexport function normalizeAggregateOptions(options: Record<string, unknown>): AggregateOptions {\n return {\n groupBy: typeof options.groupBy === \"string\" ? options.groupBy : undefined,\n count: options.count === true ? true : undefined,\n sum: typeof options.sum === \"string\" ? options.sum : undefined,\n avg: typeof options.avg === \"string\" ? options.avg : undefined,\n includeUnparented: options.includeUnparented === true || options.include_unparented === true,\n status: typeof options.status === \"string\" ? options.status : undefined,\n type: readListOptionString(options, \"type\"),\n tag: readListOptionString(options, \"tag\"),\n priority: readListOptionString(options, \"priority\"),\n deadlineBefore: readListOptionString(options, \"deadlineBefore\"),\n deadlineAfter: readListOptionString(options, \"deadlineAfter\"),\n assignee: readListOptionString(options, \"assignee\"),\n assigneeFilter: readListOptionString(options, \"assigneeFilter\"),\n parent: readListOptionString(options, \"parent\"),\n sprint: readListOptionString(options, \"sprint\"),\n release: readListOptionString(options, \"release\"),\n };\n}\n\ntype ListCommandResult = Awaited<ReturnType<typeof runList>>;\n\nexport function printListJsonStream(commandName: string, result: ListCommandResult, globalOptions: GlobalOptions): void {\n setActiveCommandResult(result);\n if (globalOptions.quiet) {\n return;\n }\n const warnings = Array.isArray(result.warnings) ? result.warnings : [];\n const metaPayload: Record<string, unknown> = {\n type: \"meta\",\n command: commandName,\n count: result.count,\n now: result.now,\n filters: result.filters,\n };\n if (warnings.length > 0) {\n metaPayload.warnings = warnings;\n }\n if (!writeStdout(`${JSON.stringify(metaPayload)}\\n`)) {\n return;\n }\n for (const item of result.items) {\n if (!writeStdout(`${JSON.stringify({ type: \"item\", command: commandName, item })}\\n`)) {\n return;\n }\n }\n writeStdout(`${JSON.stringify({ type: \"end\", command: commandName, count: result.count })}\\n`);\n}\n\ntype ActivityCommandResult = Awaited<ReturnType<typeof runActivity>>;\n\nexport function printActivityJsonStream(\n result: ActivityCommandResult,\n options: {\n id?: string;\n op?: string;\n author?: string;\n from?: string;\n to?: string;\n limit?: string;\n },\n globalOptions: GlobalOptions,\n): void {\n setActiveCommandResult(result);\n if (globalOptions.quiet) {\n return;\n }\n const metaPayload = {\n type: \"meta\",\n command: \"activity\",\n count: result.count,\n filters: {\n id: options.id ?? null,\n op: options.op ?? null,\n author: options.author ?? null,\n from: options.from ?? null,\n to: options.to ?? null,\n limit: options.limit ?? null,\n },\n };\n if (!writeStdout(`${JSON.stringify(metaPayload)}\\n`)) {\n return;\n }\n const entries = result.compact && result.compact_activity ? result.compact_activity : result.activity;\n for (const entry of entries) {\n if (!writeStdout(`${JSON.stringify({ type: \"entry\", command: \"activity\", entry })}\\n`)) {\n return;\n }\n }\n writeStdout(`${JSON.stringify({ type: \"end\", command: \"activity\", count: result.count })}\\n`);\n}\n\nexport function normalizeSearchOptions(options: Record<string, unknown>): Record<string, unknown> {\n const readSearchString = (target: string): string | undefined =>\n readFirstStringFromCommanderOptions(\n options,\n SEARCH_COMMANDER_STRING_OPTION_CONTRACTS.find((entry) => entry.target === target) ?? {\n target,\n keys: [target],\n },\n );\n const readSearchStringOrNumber = (target: string): string | number | undefined => {\n const candidate = readFirstValueFromCommanderOptions(\n options,\n SEARCH_COMMANDER_STRING_OPTION_CONTRACTS.find((entry) => entry.target === target) ?? {\n target,\n keys: [target],\n },\n );\n if (typeof candidate === \"string\") {\n return candidate;\n }\n if (typeof candidate === \"number\" && Number.isFinite(candidate)) {\n return candidate;\n }\n return undefined;\n };\n const fields = readSearchString(\"fields\");\n const compactRequested = options.compact === true;\n const fullRequested = options.full === true;\n const defaultCompact = !compactRequested && !fullRequested && fields === undefined;\n const mode = options.semantic === true ? \"semantic\"\n : options.hybrid === true ? \"hybrid\"\n : readSearchString(\"mode\");\n const normalized: Record<string, unknown> = {\n mode,\n semanticWeight: readSearchStringOrNumber(\"semanticWeight\"),\n includeLinked: options.includeLinked === true ? true : undefined,\n titleExact: options.titleExact === true ? true : undefined,\n phraseExact: options.phraseExact === true ? true : undefined,\n status: readSearchString(\"status\"),\n type: readSearchString(\"type\"),\n tag: readSearchString(\"tag\"),\n priority: readSearchString(\"priority\"),\n deadlineBefore: readSearchString(\"deadlineBefore\"),\n deadlineAfter: readSearchString(\"deadlineAfter\"),\n limit: readSearchString(\"limit\"),\n fields,\n compact: compactRequested || defaultCompact ? true : undefined,\n full: fullRequested ? true : undefined,\n };\n for (const [key, value] of Object.entries(options)) {\n if (Object.hasOwn(normalized, key)) {\n continue;\n }\n normalized[key] = value;\n }\n return normalized;\n}\n\nexport function normalizeSearchKeywordsInput(keywords: string[]): string {\n const query = keywords\n .map((entry) => entry.trim())\n .filter((entry) => entry.length > 0)\n .join(\" \");\n if (query.length === 0) {\n throw new PmCliError(\"Search query must not be empty\", EXIT_CODE.USAGE);\n }\n return query;\n}\n\n\nexport function normalizeActivityOptions(options: Record<string, unknown>): {\n id?: string;\n op?: string;\n author?: string;\n from?: string;\n to?: string;\n limit?: string;\n compact?: boolean;\n} {\n const readActivityString = (target: string): string | undefined =>\n readFirstStringFromCommanderOptions(\n options,\n ACTIVITY_COMMANDER_STRING_OPTION_CONTRACTS.find((entry) => entry.target === target) ?? {\n target,\n keys: [target],\n },\n );\n return {\n id: readActivityString(\"id\"),\n op: readActivityString(\"op\"),\n author: readActivityString(\"author\"),\n from: readActivityString(\"from\"),\n to: readActivityString(\"to\"),\n limit: readActivityString(\"limit\"),\n compact: options.full === true ? false : options.compact === false ? false : true,\n };\n}\n\nexport function resolveActivityStreamMode(raw: unknown): boolean {\n if (raw === true) {\n return true;\n }\n if (raw === false || raw === undefined || raw === null) {\n return false;\n }\n if (typeof raw === \"string\") {\n const normalized = raw.trim().toLowerCase();\n if (\n normalized.length === 0 ||\n normalized === \"rows\" ||\n normalized === \"ndjson\" ||\n normalized === \"jsonl\" ||\n normalized === \"true\" ||\n normalized === \"1\" ||\n normalized === \"yes\" ||\n normalized === \"on\"\n ) {\n return true;\n }\n if (normalized === \"false\" || normalized === \"off\" || normalized === \"none\" || normalized === \"0\") {\n return false;\n }\n }\n throw new PmCliError(\"Activity --stream accepts rows|ndjson|jsonl (or no value)\", EXIT_CODE.USAGE);\n}\n\nexport function normalizeContextOptions(options: Record<string, unknown>): ContextOptions {\n const readContextString = (target: string): string | undefined =>\n readFirstStringFromCommanderOptions(\n options,\n CONTEXT_COMMANDER_STRING_OPTION_CONTRACTS.find((entry) => entry.target === target) ?? {\n target,\n keys: [target],\n },\n );\n const sectionRaw = options.section;\n const section: string[] | undefined = Array.isArray(sectionRaw)\n ? (sectionRaw as string[]).filter((v) => typeof v === \"string\" && v.trim().length > 0)\n : typeof sectionRaw === \"string\" && sectionRaw.trim().length > 0\n ? [sectionRaw]\n : undefined;\n const normalized: Record<string, unknown> = {\n date: readContextString(\"date\"),\n from: readContextString(\"from\"),\n to: readContextString(\"to\"),\n past: options.past === true ? true : undefined,\n type: readContextString(\"type\"),\n tag: readContextString(\"tag\"),\n priority: readContextString(\"priority\"),\n assignee: readContextString(\"assignee\"),\n assigneeFilter: readContextString(\"assigneeFilter\"),\n sprint: readContextString(\"sprint\"),\n release: readContextString(\"release\"),\n limit: readContextString(\"limit\"),\n format: readContextString(\"format\"),\n depth: readContextString(\"depth\"),\n section: section && section.length > 0 ? section : undefined,\n activityLimit: readContextString(\"activityLimit\"),\n staleThreshold: readContextString(\"staleThreshold\"),\n };\n for (const [key, value] of Object.entries(options)) {\n if (Object.hasOwn(normalized, key)) {\n continue;\n }\n normalized[key] = value;\n }\n return normalized as ContextOptions;\n}\n\nfunction collectMutationItemIds(result: unknown): string[] {\n if (!result || typeof result !== \"object\") {\n return [];\n }\n const record = result as Record<string, unknown>;\n const ids = new Set<string>();\n const pushId = (value: unknown): void => {\n if (typeof value !== \"string\") {\n return;\n }\n const normalized = value.trim();\n if (normalized.length === 0) {\n return;\n }\n ids.add(normalized);\n };\n\n pushId(record.id);\n\n const item = record.item;\n if (item && typeof item === \"object\") {\n pushId((item as { id?: unknown }).id);\n }\n\n const explicitIds = record.ids;\n if (Array.isArray(explicitIds)) {\n for (const candidate of explicitIds) {\n pushId(candidate);\n }\n }\n\n const items = record.items;\n if (Array.isArray(items)) {\n for (const candidate of items) {\n if (!candidate || typeof candidate !== \"object\") {\n continue;\n }\n pushId((candidate as { id?: unknown }).id);\n }\n }\n\n return [...ids].sort((left, right) => left.localeCompare(right));\n}\n\nexport async function invalidateSearchCachesForMutation(globalOptions: GlobalOptions, result?: unknown): Promise<void> {\n const pmRoot = resolvePmRoot(process.cwd(), globalOptions.path);\n const refreshResult = await refreshSearchArtifactsForMutation(pmRoot, collectMutationItemIds(result), {\n background: !shouldRunSearchRefreshInForeground(),\n });\n if (globalOptions.profile && refreshResult.warnings.length > 0) {\n printError(`profile:search_refresh_warnings=${formatHookWarnings(refreshResult.warnings)}`);\n }\n}\n"],"names":[],"mappings":"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","debugId":"07d4dd96-94e5-5e35-a0b3-72be5db56164"}
1
+ {"version":3,"file":"registration-helpers.js","sources":["cli/registration-helpers.ts"],"sourceRoot":"/","sourcesContent":["import type { Command } from \"commander\";\nimport { pathExists } from \"../core/fs/fs-utils.js\";\nimport { normalizeStatusInput } from \"../core/item/status.js\";\nimport { refreshSearchArtifactsForMutation } from \"../core/search/cache.js\";\nimport { shouldRunSearchRefreshInForeground } from \"../core/search/background-refresh.js\";\nimport { EXIT_CODE } from \"../core/shared/constants.js\";\nimport { PmCliError } from \"../core/shared/errors.js\";\nimport { printError, printResult, writeStdout } from \"../core/output/output.js\";\nimport { getSettingsPath, resolvePmRoot } from \"../core/store/paths.js\";\nimport { readSettings } from \"../core/store/settings.js\";\nimport {\n setActiveCommandResult,\n} from \"../core/extensions/index.js\";\nimport type { GlobalOptions } from \"../core/shared/command-types.js\";\nimport type { ItemStatus } from \"../types/index.js\";\nimport {\n ACTIVITY_COMMANDER_STRING_OPTION_CONTRACTS,\n CONTEXT_COMMANDER_STRING_OPTION_CONTRACTS,\n CREATE_COMMANDER_REPEATABLE_OPTION_CONTRACTS,\n CREATE_COMMANDER_STRING_OPTION_CONTRACTS,\n LIST_COMMANDER_STRING_OPTION_CONTRACTS,\n SEARCH_COMMANDER_STRING_OPTION_CONTRACTS,\n UPDATE_COMMANDER_REPEATABLE_OPTION_CONTRACTS,\n UPDATE_COMMANDER_STRING_OPTION_CONTRACTS,\n readFirstValueFromCommanderOptions,\n readFirstStringFromCommanderOptions,\n readStringArrayFromCommanderOptions,\n} from \"../sdk/cli-contracts.js\";\nimport type {\n ContextOptions,\n CreateCommandOptions,\n AggregateOptions,\n ListOptions,\n} from \"./commands/index.js\";\nimport type { runList, runActivity } from \"./commands/index.js\";\n\nexport {\n printError,\n printResult,\n writeStdout,\n};\n\nconst RESOLVED_GLOBAL_OPTIONS = Symbol(\"pm.resolvedGlobalOptions\");\n\ntype CommandWithResolvedGlobals = Command & {\n [RESOLVED_GLOBAL_OPTIONS]?: GlobalOptions;\n};\n\ninterface CommandOptionsReader {\n optsWithGlobals?: () => Record<string, unknown>;\n opts?: () => Record<string, unknown>;\n}\n\nfunction commandOptionsReader(command: unknown): CommandOptionsReader {\n return typeof command === \"object\" && command !== null ? command as CommandOptionsReader : {};\n}\n\nexport function setResolvedGlobalOptions(command: Command, globalOptions: GlobalOptions): void {\n (command as CommandWithResolvedGlobals)[RESOLVED_GLOBAL_OPTIONS] = { ...globalOptions };\n}\n\nexport function clearResolvedGlobalOptions(command: Command): void {\n delete (command as CommandWithResolvedGlobals)[RESOLVED_GLOBAL_OPTIONS];\n}\n\nexport function getGlobalOptions(command: Command): GlobalOptions {\n const resolved = (command as CommandWithResolvedGlobals)[RESOLVED_GLOBAL_OPTIONS];\n if (resolved) {\n return { ...resolved };\n }\n const reader = commandOptionsReader(command);\n const opts = typeof reader.optsWithGlobals === \"function\"\n ? reader.optsWithGlobals()\n : typeof reader.opts === \"function\"\n ? reader.opts()\n : {};\n return {\n json: opts.json === true ? true : undefined,\n quiet: Boolean(opts.quiet),\n noChangedFields: opts.changedFields === false,\n idOnly: opts.idOnly === true,\n path: typeof opts.pmPath === \"string\"\n ? opts.pmPath\n : typeof opts.path === \"string\"\n ? opts.path\n : undefined,\n noExtensions: opts.extensions === false,\n noPager: Boolean(opts.noPager),\n profile: Boolean(opts.profile),\n };\n}\n\nexport function getCommandPath(command: Command): string {\n const parts: string[] = [];\n let current: Command | null = command;\n while (current?.parent) {\n parts.unshift(current.name());\n current = current.parent;\n }\n return parts.join(\" \");\n}\n\nexport async function applyDefaultOutputFormat(globalOptions: GlobalOptions): Promise<GlobalOptions> {\n if (globalOptions.json === true) {\n return globalOptions;\n }\n const pmRoot = resolvePmRoot(process.cwd(), globalOptions.path);\n if (!(await pathExists(getSettingsPath(pmRoot)))) {\n return globalOptions;\n }\n const settings = await readSettings(pmRoot);\n return {\n ...globalOptions,\n defaultOutputFormat: settings.output.default_format,\n };\n}\n\nexport function collect(value: string, previous: string[] | undefined): string[] {\n const next = previous ?? [];\n next.push(value);\n return next;\n}\n\nfunction pushOptionalValueFlag(args: string[], flag: string, value: unknown): void {\n if (typeof value !== \"string\") {\n return;\n }\n const trimmed = value.trim();\n if (trimmed.length === 0) {\n return;\n }\n args.push(flag, trimmed);\n}\n\nfunction pushOptionalBooleanFlag(args: string[], flag: string, value: unknown): void {\n if (value === true) {\n args.push(flag);\n }\n}\n\nfunction pushRepeatableValueFlag(args: string[], flag: string, values: unknown): void {\n if (!Array.isArray(values)) {\n return;\n }\n for (const value of values) {\n if (typeof value !== \"string\") {\n continue;\n }\n const trimmed = value.trim();\n if (trimmed.length === 0) {\n continue;\n }\n args.push(flag, trimmed);\n }\n}\n\nexport function buildBackgroundTestCommandArgs(id: string, options: Record<string, unknown>): string[] {\n const args: string[] = [\"test\", id, \"--run\", \"--json\", \"--progress\"];\n pushRepeatableValueFlag(args, \"--add\", options.add);\n pushRepeatableValueFlag(args, \"--add-json\", options.addJson);\n pushRepeatableValueFlag(args, \"--remove\", options.remove);\n pushOptionalValueFlag(args, \"--match\", options.match);\n pushOptionalValueFlag(args, \"--only-index\", options.onlyIndex);\n pushOptionalBooleanFlag(args, \"--only-last\", options.onlyLast);\n pushOptionalValueFlag(args, \"--timeout\", options.timeout);\n pushRepeatableValueFlag(args, \"--env-set\", options.envSet);\n pushRepeatableValueFlag(args, \"--env-clear\", options.envClear);\n pushOptionalBooleanFlag(args, \"--shared-host-safe\", options.sharedHostSafe);\n pushOptionalValueFlag(args, \"--pm-context\", options.pmContext);\n pushOptionalBooleanFlag(args, \"--override-linked-pm-context\", options.overrideLinkedPmContext);\n pushOptionalBooleanFlag(args, \"--fail-on-context-mismatch\", options.failOnContextMismatch);\n pushOptionalBooleanFlag(args, \"--fail-on-skipped\", options.failOnSkipped);\n pushOptionalBooleanFlag(args, \"--fail-on-empty-test-run\", options.failOnEmptyTestRun);\n pushOptionalBooleanFlag(args, \"--require-assertions-for-pm\", options.requireAssertionsForPm);\n pushOptionalBooleanFlag(args, \"--check-context\", options.checkContext);\n pushOptionalBooleanFlag(args, \"--auto-pm-context\", options.autoPmContext);\n pushOptionalValueFlag(args, \"--author\", options.author);\n pushOptionalValueFlag(args, \"--message\", options.message);\n pushOptionalBooleanFlag(args, \"--force\", options.force);\n return args;\n}\n\nexport function buildBackgroundTestAllCommandArgs(options: Record<string, unknown>): string[] {\n const args: string[] = [\"test-all\", \"--json\", \"--progress\"];\n pushOptionalValueFlag(args, \"--status\", options.status);\n pushOptionalValueFlag(args, \"--limit\", options.limit);\n pushOptionalValueFlag(args, \"--offset\", options.offset);\n pushOptionalValueFlag(args, \"--timeout\", options.timeout);\n pushRepeatableValueFlag(args, \"--env-set\", options.envSet);\n pushRepeatableValueFlag(args, \"--env-clear\", options.envClear);\n pushOptionalBooleanFlag(args, \"--shared-host-safe\", options.sharedHostSafe);\n pushOptionalValueFlag(args, \"--pm-context\", options.pmContext);\n pushOptionalBooleanFlag(args, \"--override-linked-pm-context\", options.overrideLinkedPmContext);\n pushOptionalBooleanFlag(args, \"--fail-on-context-mismatch\", options.failOnContextMismatch);\n pushOptionalBooleanFlag(args, \"--fail-on-skipped\", options.failOnSkipped);\n pushOptionalBooleanFlag(args, \"--fail-on-empty-test-run\", options.failOnEmptyTestRun);\n pushOptionalBooleanFlag(args, \"--require-assertions-for-pm\", options.requireAssertionsForPm);\n pushOptionalBooleanFlag(args, \"--check-context\", options.checkContext);\n pushOptionalBooleanFlag(args, \"--auto-pm-context\", options.autoPmContext);\n return args;\n}\n\nexport function formatHookWarnings(warnings: string[]): string {\n return warnings.join(\",\");\n}\n\nexport function normalizeCreateOptions(\n commandOptions: Record<string, unknown>,\n options: { requireType?: boolean } = {},\n): CreateCommandOptions {\n const readCreateString = (target: string): string | undefined =>\n readFirstStringFromCommanderOptions(\n commandOptions,\n CREATE_COMMANDER_STRING_OPTION_CONTRACTS.find((entry) => entry.target === target) ?? {\n target,\n keys: [target],\n },\n );\n const readCreateList = (target: string): string[] | undefined =>\n readStringArrayFromCommanderOptions(\n commandOptions,\n CREATE_COMMANDER_REPEATABLE_OPTION_CONTRACTS.find((entry) => entry.target === target) ?? {\n target,\n keys: [target],\n },\n );\n\n const type = readCreateString(\"type\");\n if (options.requireType !== false && type === undefined) {\n throw new PmCliError(\n \"Missing required option --type <value>. Why required: create resolves runtime schema fields/workflow from item type. Retry: add --type <built-in or configured custom type> (example: --type Task).\",\n EXIT_CODE.USAGE,\n );\n }\n\n const normalized: Record<string, unknown> = {\n title: readCreateString(\"title\"),\n description: readCreateString(\"description\"),\n type,\n template: readCreateString(\"template\"),\n createMode: readCreateString(\"createMode\"),\n schedulePreset: readCreateString(\"schedulePreset\"),\n status: readCreateString(\"status\"),\n priority: readCreateString(\"priority\"),\n tags: readCreateString(\"tags\"),\n addTags: readCreateList(\"addTags\"),\n body: readCreateString(\"body\"),\n deadline: readCreateString(\"deadline\"),\n estimatedMinutes: readCreateString(\"estimatedMinutes\"),\n acceptanceCriteria: readCreateString(\"acceptanceCriteria\"),\n definitionOfReady: readCreateString(\"definitionOfReady\"),\n order: readCreateString(\"order\"),\n rank: readCreateString(\"rank\"),\n goal: readCreateString(\"goal\"),\n objective: readCreateString(\"objective\"),\n value: readCreateString(\"value\"),\n impact: readCreateString(\"impact\"),\n outcome: readCreateString(\"outcome\"),\n whyNow: readCreateString(\"whyNow\"),\n author: readCreateString(\"author\"),\n message: readCreateString(\"message\"),\n assignee: readCreateString(\"assignee\"),\n parent: readCreateString(\"parent\"),\n allowMissingParent: commandOptions.allowMissingParent === true,\n reviewer: readCreateString(\"reviewer\"),\n risk: readCreateString(\"risk\"),\n confidence: readCreateString(\"confidence\"),\n sprint: readCreateString(\"sprint\"),\n release: readCreateString(\"release\"),\n blockedBy: readCreateString(\"blockedBy\"),\n blockedReason: readCreateString(\"blockedReason\"),\n unblockNote: readCreateString(\"unblockNote\"),\n reporter: readCreateString(\"reporter\"),\n severity: readCreateString(\"severity\"),\n environment: readCreateString(\"environment\"),\n reproSteps: readCreateString(\"reproSteps\"),\n resolution: readCreateString(\"resolution\"),\n expectedResult: readCreateString(\"expectedResult\"),\n actualResult: readCreateString(\"actualResult\"),\n affectedVersion: readCreateString(\"affectedVersion\"),\n fixedVersion: readCreateString(\"fixedVersion\"),\n component: readCreateString(\"component\"),\n regression: readCreateString(\"regression\"),\n customerImpact: readCreateString(\"customerImpact\"),\n dep: readCreateList(\"dep\"),\n comment: readCreateList(\"comment\"),\n note: readCreateList(\"note\"),\n learning: readCreateList(\"learning\"),\n file: readCreateList(\"file\"),\n test: readCreateList(\"test\"),\n doc: readCreateList(\"doc\"),\n reminder: readCreateList(\"reminder\"),\n event: readCreateList(\"event\"),\n typeOption: readCreateList(\"typeOption\"),\n field: readCreateList(\"field\"),\n unset: readCreateList(\"unset\"),\n clearDeps: commandOptions.clearDeps === true ? true : undefined,\n clearComments: commandOptions.clearComments === true ? true : undefined,\n clearNotes: commandOptions.clearNotes === true ? true : undefined,\n clearLearnings: commandOptions.clearLearnings === true ? true : undefined,\n clearFiles: commandOptions.clearFiles === true ? true : undefined,\n clearTests: commandOptions.clearTests === true ? true : undefined,\n clearDocs: commandOptions.clearDocs === true ? true : undefined,\n clearReminders: commandOptions.clearReminders === true ? true : undefined,\n clearEvents: commandOptions.clearEvents === true ? true : undefined,\n clearTypeOptions: commandOptions.clearTypeOptions === true ? true : undefined,\n };\n for (const [key, value] of Object.entries(commandOptions)) {\n if (Object.hasOwn(normalized, key)) {\n continue;\n }\n normalized[key] = value;\n }\n return normalized as CreateCommandOptions;\n}\n\nexport function normalizeUpdateOptions(commandOptions: Record<string, unknown>): Record<string, unknown> {\n const readUpdateString = (target: string): string | undefined =>\n readFirstStringFromCommanderOptions(\n commandOptions,\n UPDATE_COMMANDER_STRING_OPTION_CONTRACTS.find((entry) => entry.target === target) ?? {\n target,\n keys: [target],\n },\n );\n const readUpdateList = (target: string): string[] | undefined =>\n readStringArrayFromCommanderOptions(\n commandOptions,\n UPDATE_COMMANDER_REPEATABLE_OPTION_CONTRACTS.find((entry) => entry.target === target) ?? {\n target,\n keys: [target],\n },\n );\n\n const normalized: Record<string, unknown> = {\n title: readUpdateString(\"title\"),\n description: readUpdateString(\"description\"),\n body: readUpdateString(\"body\"),\n status: readUpdateString(\"status\"),\n closeReason: readUpdateString(\"closeReason\"),\n priority: readUpdateString(\"priority\"),\n type: readUpdateString(\"type\"),\n tags: readUpdateString(\"tags\"),\n addTags: readUpdateList(\"addTags\"),\n removeTags: readUpdateList(\"removeTags\"),\n deadline: readUpdateString(\"deadline\"),\n estimatedMinutes: readUpdateString(\"estimatedMinutes\"),\n acceptanceCriteria: readUpdateString(\"acceptanceCriteria\"),\n definitionOfReady: readUpdateString(\"definitionOfReady\"),\n order: readUpdateString(\"order\"),\n rank: readUpdateString(\"rank\"),\n goal: readUpdateString(\"goal\"),\n objective: readUpdateString(\"objective\"),\n value: readUpdateString(\"value\"),\n impact: readUpdateString(\"impact\"),\n outcome: readUpdateString(\"outcome\"),\n whyNow: readUpdateString(\"whyNow\"),\n author: readUpdateString(\"author\"),\n message: readUpdateString(\"message\"),\n force: Boolean(commandOptions.force),\n allowAuditUpdate:\n commandOptions.allowAuditUpdate === true || commandOptions.allow_audit_update === true ? true : undefined,\n allowAuditDepUpdate:\n commandOptions.allowAuditDepUpdate === true || commandOptions.allow_audit_dep_update === true ? true : undefined,\n assignee: readUpdateString(\"assignee\"),\n parent: readUpdateString(\"parent\"),\n reviewer: readUpdateString(\"reviewer\"),\n risk: readUpdateString(\"risk\"),\n confidence: readUpdateString(\"confidence\"),\n sprint: readUpdateString(\"sprint\"),\n release: readUpdateString(\"release\"),\n blockedBy: readUpdateString(\"blockedBy\"),\n blockedReason: readUpdateString(\"blockedReason\"),\n unblockNote: readUpdateString(\"unblockNote\"),\n reporter: readUpdateString(\"reporter\"),\n severity: readUpdateString(\"severity\"),\n environment: readUpdateString(\"environment\"),\n reproSteps: readUpdateString(\"reproSteps\"),\n resolution: readUpdateString(\"resolution\"),\n expectedResult: readUpdateString(\"expectedResult\"),\n actualResult: readUpdateString(\"actualResult\"),\n affectedVersion: readUpdateString(\"affectedVersion\"),\n fixedVersion: readUpdateString(\"fixedVersion\"),\n component: readUpdateString(\"component\"),\n regression: readUpdateString(\"regression\"),\n customerImpact: readUpdateString(\"customerImpact\"),\n dep: readUpdateList(\"dep\"),\n depRemove: readUpdateList(\"depRemove\"),\n replaceDeps: commandOptions.replaceDeps === true ? true : undefined,\n replaceTests: commandOptions.replaceTests === true ? true : undefined,\n comment: readUpdateList(\"comment\"),\n note: readUpdateList(\"note\"),\n learning: readUpdateList(\"learning\"),\n file: readUpdateList(\"file\"),\n test: readUpdateList(\"test\"),\n doc: readUpdateList(\"doc\"),\n reminder: readUpdateList(\"reminder\"),\n event: readUpdateList(\"event\"),\n typeOption: readUpdateList(\"typeOption\"),\n field: readUpdateList(\"field\"),\n unset: readUpdateList(\"unset\"),\n clearDeps: commandOptions.clearDeps === true ? true : undefined,\n clearComments: commandOptions.clearComments === true ? true : undefined,\n clearNotes: commandOptions.clearNotes === true ? true : undefined,\n clearLearnings: commandOptions.clearLearnings === true ? true : undefined,\n clearFiles: commandOptions.clearFiles === true ? true : undefined,\n clearTests: commandOptions.clearTests === true ? true : undefined,\n clearDocs: commandOptions.clearDocs === true ? true : undefined,\n clearReminders: commandOptions.clearReminders === true ? true : undefined,\n clearEvents: commandOptions.clearEvents === true ? true : undefined,\n clearTypeOptions: commandOptions.clearTypeOptions === true ? true : undefined,\n };\n for (const [key, value] of Object.entries(commandOptions)) {\n if (Object.hasOwn(normalized, key)) {\n continue;\n }\n normalized[key] = value;\n }\n return normalized;\n}\n\nconst UPDATE_MANY_CONTROL_OPTION_KEYS = new Set<string>([\n \"filterStatus\",\n \"filterType\",\n \"filterTag\",\n \"filterPriority\",\n \"filterDeadlineBefore\",\n \"filterDeadlineAfter\",\n \"filterUpdatedAfter\",\n \"filterUpdatedBefore\",\n \"filterCreatedAfter\",\n \"filterCreatedBefore\",\n \"filterAssignee\",\n \"filterAssigneeFilter\",\n \"filterAssignee_filter\",\n \"filterParent\",\n \"filterSprint\",\n \"filterRelease\",\n \"ids\",\n \"limit\",\n \"offset\",\n \"dryRun\",\n \"rollback\",\n \"checkpoint\",\n]);\n\nexport function extractUpdateManyMutationOptionSource(commandOptions: Record<string, unknown>): Record<string, unknown> {\n const mutationOptions: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(commandOptions)) {\n if (UPDATE_MANY_CONTROL_OPTION_KEYS.has(key)) {\n continue;\n }\n mutationOptions[key] = value;\n }\n return mutationOptions;\n}\n\nfunction readListOptionString(options: Record<string, unknown>, target: string): string | undefined {\n const contract = LIST_COMMANDER_STRING_OPTION_CONTRACTS.find((entry) => entry.target === target) ?? {\n target,\n keys: [target],\n };\n const stringValue = readFirstStringFromCommanderOptions(options, contract);\n if (stringValue !== undefined) {\n return stringValue;\n }\n for (const key of contract.keys) {\n const value = options[key];\n if (target === \"ids\" && typeof value === \"string\") {\n return value;\n }\n if (typeof value === \"number\" && Number.isFinite(value)) {\n return String(value);\n }\n }\n return undefined;\n}\n\nexport function normalizeListOptions(options: Record<string, unknown>): ListOptions {\n const normalized: Record<string, unknown> = {\n status: readListOptionString(options, \"status\"),\n type: readListOptionString(options, \"type\"),\n tag: readListOptionString(options, \"tag\"),\n priority: readListOptionString(options, \"priority\"),\n deadlineBefore: readListOptionString(options, \"deadlineBefore\"),\n deadlineAfter: readListOptionString(options, \"deadlineAfter\"),\n updatedAfter: readListOptionString(options, \"updatedAfter\"),\n updatedBefore: readListOptionString(options, \"updatedBefore\"),\n createdAfter: readListOptionString(options, \"createdAfter\"),\n createdBefore: readListOptionString(options, \"createdBefore\"),\n ids: readListOptionString(options, \"ids\"),\n assignee: readListOptionString(options, \"assignee\"),\n assigneeFilter: readListOptionString(options, \"assigneeFilter\"),\n parent: readListOptionString(options, \"parent\"),\n sprint: readListOptionString(options, \"sprint\"),\n release: readListOptionString(options, \"release\"),\n limit: readListOptionString(options, \"limit\"),\n offset: readListOptionString(options, \"offset\"),\n includeBody: options.includeBody === true ? true : undefined,\n compact: options.compact === true ? true : undefined,\n brief: options.brief === true ? true : undefined,\n full: options.full === true ? true : undefined,\n fields: readListOptionString(options, \"fields\"),\n sort: readListOptionString(options, \"sort\"),\n order: readListOptionString(options, \"order\"),\n tree: options.tree === true ? true : undefined,\n treeDepth: readListOptionString(options, \"treeDepth\"),\n };\n for (const [key, value] of Object.entries(options)) {\n if (Object.hasOwn(normalized, key)) {\n continue;\n }\n normalized[key] = value;\n }\n return normalized as ListOptions;\n}\n\nexport function normalizeAggregateOptions(options: Record<string, unknown>): AggregateOptions {\n return {\n groupBy: typeof options.groupBy === \"string\" ? options.groupBy : undefined,\n count: options.count === true ? true : undefined,\n completion: options.completion === true ? true : undefined,\n sum: typeof options.sum === \"string\" ? options.sum : undefined,\n avg: typeof options.avg === \"string\" ? options.avg : undefined,\n includeUnparented: options.includeUnparented === true || options.include_unparented === true,\n status: typeof options.status === \"string\" ? options.status : undefined,\n type: readListOptionString(options, \"type\"),\n tag: readListOptionString(options, \"tag\"),\n priority: readListOptionString(options, \"priority\"),\n deadlineBefore: readListOptionString(options, \"deadlineBefore\"),\n deadlineAfter: readListOptionString(options, \"deadlineAfter\"),\n assignee: readListOptionString(options, \"assignee\"),\n assigneeFilter: readListOptionString(options, \"assigneeFilter\"),\n parent: readListOptionString(options, \"parent\"),\n sprint: readListOptionString(options, \"sprint\"),\n release: readListOptionString(options, \"release\"),\n };\n}\n\ntype ListCommandResult = Awaited<ReturnType<typeof runList>>;\n\nexport function printListJsonStream(commandName: string, result: ListCommandResult, globalOptions: GlobalOptions): void {\n setActiveCommandResult(result);\n if (globalOptions.quiet) {\n return;\n }\n const warnings = Array.isArray(result.warnings) ? result.warnings : [];\n const metaPayload: Record<string, unknown> = {\n type: \"meta\",\n command: commandName,\n count: result.count,\n now: result.now,\n filters: result.filters,\n };\n if (warnings.length > 0) {\n metaPayload.warnings = warnings;\n }\n if (!writeStdout(`${JSON.stringify(metaPayload)}\\n`)) {\n return;\n }\n for (const item of result.items) {\n if (!writeStdout(`${JSON.stringify({ type: \"item\", command: commandName, item })}\\n`)) {\n return;\n }\n }\n writeStdout(`${JSON.stringify({ type: \"end\", command: commandName, count: result.count })}\\n`);\n}\n\ntype ActivityCommandResult = Awaited<ReturnType<typeof runActivity>>;\n\nexport function printActivityJsonStream(\n result: ActivityCommandResult,\n options: {\n id?: string;\n op?: string;\n author?: string;\n from?: string;\n to?: string;\n limit?: string;\n },\n globalOptions: GlobalOptions,\n): void {\n setActiveCommandResult(result);\n if (globalOptions.quiet) {\n return;\n }\n const metaPayload = {\n type: \"meta\",\n command: \"activity\",\n count: result.count,\n filters: {\n id: options.id ?? null,\n op: options.op ?? null,\n author: options.author ?? null,\n from: options.from ?? null,\n to: options.to ?? null,\n limit: options.limit ?? null,\n },\n };\n if (!writeStdout(`${JSON.stringify(metaPayload)}\\n`)) {\n return;\n }\n const entries = result.compact && result.compact_activity ? result.compact_activity : result.activity;\n for (const entry of entries) {\n if (!writeStdout(`${JSON.stringify({ type: \"entry\", command: \"activity\", entry })}\\n`)) {\n return;\n }\n }\n writeStdout(`${JSON.stringify({ type: \"end\", command: \"activity\", count: result.count })}\\n`);\n}\n\nexport function normalizeSearchOptions(options: Record<string, unknown>): Record<string, unknown> {\n const readSearchString = (target: string): string | undefined =>\n readFirstStringFromCommanderOptions(\n options,\n SEARCH_COMMANDER_STRING_OPTION_CONTRACTS.find((entry) => entry.target === target) ?? {\n target,\n keys: [target],\n },\n );\n const readSearchStringOrNumber = (target: string): string | number | undefined => {\n const candidate = readFirstValueFromCommanderOptions(\n options,\n SEARCH_COMMANDER_STRING_OPTION_CONTRACTS.find((entry) => entry.target === target) ?? {\n target,\n keys: [target],\n },\n );\n if (typeof candidate === \"string\") {\n return candidate;\n }\n if (typeof candidate === \"number\" && Number.isFinite(candidate)) {\n return candidate;\n }\n return undefined;\n };\n const fields = readSearchString(\"fields\");\n const compactRequested = options.compact === true;\n const fullRequested = options.full === true;\n const defaultCompact = !compactRequested && !fullRequested && fields === undefined;\n const mode = options.semantic === true ? \"semantic\"\n : options.hybrid === true ? \"hybrid\"\n : readSearchString(\"mode\");\n const normalized: Record<string, unknown> = {\n mode,\n semanticWeight: readSearchStringOrNumber(\"semanticWeight\"),\n includeLinked: options.includeLinked === true ? true : undefined,\n titleExact: options.titleExact === true ? true : undefined,\n phraseExact: options.phraseExact === true ? true : undefined,\n status: readSearchString(\"status\"),\n type: readSearchString(\"type\"),\n tag: readSearchString(\"tag\"),\n priority: readSearchString(\"priority\"),\n deadlineBefore: readSearchString(\"deadlineBefore\"),\n deadlineAfter: readSearchString(\"deadlineAfter\"),\n limit: readSearchString(\"limit\"),\n fields,\n compact: compactRequested || defaultCompact ? true : undefined,\n full: fullRequested ? true : undefined,\n };\n for (const [key, value] of Object.entries(options)) {\n if (Object.hasOwn(normalized, key)) {\n continue;\n }\n normalized[key] = value;\n }\n return normalized;\n}\n\nexport function normalizeSearchKeywordsInput(keywords: string[]): string {\n const query = keywords\n .map((entry) => entry.trim())\n .filter((entry) => entry.length > 0)\n .join(\" \");\n if (query.length === 0) {\n throw new PmCliError(\"Search query must not be empty\", EXIT_CODE.USAGE);\n }\n return query;\n}\n\n\nexport function normalizeActivityOptions(options: Record<string, unknown>): {\n id?: string;\n op?: string;\n author?: string;\n from?: string;\n to?: string;\n limit?: string;\n compact?: boolean;\n} {\n const readActivityString = (target: string): string | undefined =>\n readFirstStringFromCommanderOptions(\n options,\n ACTIVITY_COMMANDER_STRING_OPTION_CONTRACTS.find((entry) => entry.target === target) ?? {\n target,\n keys: [target],\n },\n );\n return {\n id: readActivityString(\"id\"),\n op: readActivityString(\"op\"),\n author: readActivityString(\"author\"),\n from: readActivityString(\"from\"),\n to: readActivityString(\"to\"),\n limit: readActivityString(\"limit\"),\n compact: options.full === true ? false : options.compact === false ? false : true,\n };\n}\n\nexport function resolveActivityStreamMode(raw: unknown): boolean {\n if (raw === true) {\n return true;\n }\n if (raw === false || raw === undefined || raw === null) {\n return false;\n }\n if (typeof raw === \"string\") {\n const normalized = raw.trim().toLowerCase();\n if (\n normalized.length === 0 ||\n normalized === \"rows\" ||\n normalized === \"ndjson\" ||\n normalized === \"jsonl\" ||\n normalized === \"true\" ||\n normalized === \"1\" ||\n normalized === \"yes\" ||\n normalized === \"on\"\n ) {\n return true;\n }\n if (normalized === \"false\" || normalized === \"off\" || normalized === \"none\" || normalized === \"0\") {\n return false;\n }\n }\n throw new PmCliError(\"Activity --stream accepts rows|ndjson|jsonl (or no value)\", EXIT_CODE.USAGE);\n}\n\nexport function normalizeContextOptions(options: Record<string, unknown>): ContextOptions {\n const readContextString = (target: string): string | undefined =>\n readFirstStringFromCommanderOptions(\n options,\n CONTEXT_COMMANDER_STRING_OPTION_CONTRACTS.find((entry) => entry.target === target) ?? {\n target,\n keys: [target],\n },\n );\n const sectionRaw = options.section;\n const section: string[] | undefined = Array.isArray(sectionRaw)\n ? (sectionRaw as string[]).filter((v) => typeof v === \"string\" && v.trim().length > 0)\n : typeof sectionRaw === \"string\" && sectionRaw.trim().length > 0\n ? [sectionRaw]\n : undefined;\n const normalized: Record<string, unknown> = {\n date: readContextString(\"date\"),\n from: readContextString(\"from\"),\n to: readContextString(\"to\"),\n past: options.past === true ? true : undefined,\n type: readContextString(\"type\"),\n tag: readContextString(\"tag\"),\n priority: readContextString(\"priority\"),\n assignee: readContextString(\"assignee\"),\n assigneeFilter: readContextString(\"assigneeFilter\"),\n sprint: readContextString(\"sprint\"),\n release: readContextString(\"release\"),\n limit: readContextString(\"limit\"),\n format: readContextString(\"format\"),\n depth: readContextString(\"depth\"),\n section: section && section.length > 0 ? section : undefined,\n activityLimit: readContextString(\"activityLimit\"),\n staleThreshold: readContextString(\"staleThreshold\"),\n };\n for (const [key, value] of Object.entries(options)) {\n if (Object.hasOwn(normalized, key)) {\n continue;\n }\n normalized[key] = value;\n }\n return normalized as ContextOptions;\n}\n\nfunction collectMutationItemIds(result: unknown): string[] {\n if (!result || typeof result !== \"object\") {\n return [];\n }\n const record = result as Record<string, unknown>;\n const ids = new Set<string>();\n const pushId = (value: unknown): void => {\n if (typeof value !== \"string\") {\n return;\n }\n const normalized = value.trim();\n if (normalized.length === 0) {\n return;\n }\n ids.add(normalized);\n };\n\n pushId(record.id);\n\n const item = record.item;\n if (item && typeof item === \"object\") {\n pushId((item as { id?: unknown }).id);\n }\n\n const explicitIds = record.ids;\n if (Array.isArray(explicitIds)) {\n for (const candidate of explicitIds) {\n pushId(candidate);\n }\n }\n\n const items = record.items;\n if (Array.isArray(items)) {\n for (const candidate of items) {\n if (!candidate || typeof candidate !== \"object\") {\n continue;\n }\n pushId((candidate as { id?: unknown }).id);\n }\n }\n\n return [...ids].sort((left, right) => left.localeCompare(right));\n}\n\nexport async function invalidateSearchCachesForMutation(globalOptions: GlobalOptions, result?: unknown): Promise<void> {\n const pmRoot = resolvePmRoot(process.cwd(), globalOptions.path);\n const refreshResult = await refreshSearchArtifactsForMutation(pmRoot, collectMutationItemIds(result), {\n background: !shouldRunSearchRefreshInForeground(),\n });\n if (globalOptions.profile && refreshResult.warnings.length > 0) {\n printError(`profile:search_refresh_warnings=${formatHookWarnings(refreshResult.warnings)}`);\n }\n}\n"],"names":[],"mappings":"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","debugId":"3208cc81-672c-52e2-a566-d45f8689bd2c"}
@@ -0,0 +1,16 @@
1
+ import {
2
+ runActivity
3
+ } from "./chunk-D6JZBUZ6.js";
4
+ import "./chunk-WBU257Z4.js";
5
+ import "./chunk-TXWMLDMG.js";
6
+ import "./chunk-TV6FZGVK.js";
7
+ import "./chunk-XRE4CTNP.js";
8
+ import "./chunk-I2FM2SMO.js";
9
+ import "./chunk-Q6PSD5DZ.js";
10
+ import "./chunk-7GYMMDDW.js";
11
+ import "./chunk-7TW64BS5.js";
12
+ import "./chunk-OQGJSCZZ.js";
13
+ export {
14
+ runActivity
15
+ };
16
+ //# sourceMappingURL=activity-5QLX6DHN.js.map
@@ -2,19 +2,19 @@
2
2
  !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]="45eac7fa-f181-5cca-93b7-cfb58909dbb3")}catch(e){}}();
3
3
  import {
4
4
  runActivity
5
- } from "./chunk-JS47EKLP.js";
6
- import "./chunk-OVSSE2JP.js";
7
- import "./chunk-HOA3GMB6.js";
8
- import "./chunk-NDSMKB2I.js";
9
- import "./chunk-ODN53S6H.js";
10
- import "./chunk-4TI3532H.js";
11
- import "./chunk-XEKZCBCS.js";
12
- import "./chunk-Z2HXAFFH.js";
13
- import "./chunk-XZS4MV37.js";
14
- import "./chunk-YJAKN2N2.js";
5
+ } from "./chunk-4H2NDEGJ.js";
6
+ import "./chunk-KHBRV5JU.js";
7
+ import "./chunk-BE5G7HEL.js";
8
+ import "./chunk-LYL32FT6.js";
9
+ import "./chunk-MF6KSSMF.js";
10
+ import "./chunk-UDWUDUJI.js";
11
+ import "./chunk-SNASEDXB.js";
12
+ import "./chunk-344GDQTH.js";
13
+ import "./chunk-PYULT32I.js";
14
+ import "./chunk-WNMRICXH.js";
15
15
  export {
16
16
  runActivity
17
17
  };
18
- //# sourceMappingURL=activity-Q7XMIZIH.js.map
18
+ //# sourceMappingURL=activity-W6TS5F2L.js.map
19
19
 
20
20
  //# debugId=45eac7fa-f181-5cca-93b7-cfb58909dbb3
@@ -3,32 +3,31 @@ import {
3
3
  } from "./chunk-3HUE7XOF.js";
4
4
  import {
5
5
  runList
6
- } from "./chunk-5WO2VKFA.js";
7
- import "./chunk-BKQMJXWY.js";
8
- import "./chunk-FGRJZVXD.js";
9
- import "./chunk-EAOG77HM.js";
10
- import "./chunk-2HMD3JM2.js";
11
- import "./chunk-K62SNVVE.js";
6
+ } from "./chunk-73PSHEMT.js";
7
+ import "./chunk-UNH3KSHG.js";
8
+ import "./chunk-TV6FZGVK.js";
9
+ import "./chunk-XRE4CTNP.js";
10
+ import "./chunk-I2FM2SMO.js";
12
11
  import {
13
12
  normalizeStatusInput
14
- } from "./chunk-M7UBTVFT.js";
15
- import "./chunk-2BYKYPWY.js";
13
+ } from "./chunk-Q6PSD5DZ.js";
14
+ import "./chunk-7GYMMDDW.js";
16
15
  import {
17
16
  nowIso
18
- } from "./chunk-QFVASU44.js";
17
+ } from "./chunk-7TW64BS5.js";
19
18
  import {
20
19
  EXIT_CODE,
21
20
  PmCliError,
22
21
  readSettings,
23
22
  resolvePmRoot,
24
23
  resolveRuntimeStatusRegistry
25
- } from "./chunk-3TXWDGPU.js";
24
+ } from "./chunk-OQGJSCZZ.js";
26
25
 
27
26
  // dist/cli/commands/aggregate.js
28
27
  !(function() {
29
28
  try {
30
29
  var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
31
- n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "5718f2e5-0007-5359-81bd-71998b031aa5");
30
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "527ae92a-84d3-5ca0-98b0-198315116706");
32
31
  } catch (e2) {
33
32
  }
34
33
  })();
@@ -161,6 +160,28 @@ function readNumericAggregateValue(item, field) {
161
160
  }
162
161
  return null;
163
162
  }
163
+ function completionPct(closed, total) {
164
+ if (total <= 0) {
165
+ return 0;
166
+ }
167
+ return Math.round(closed / total * 1e4) / 100;
168
+ }
169
+ function updateCompletionCounts(accumulator, status, statusRegistry) {
170
+ const normalizedStatus = normalizeStatusInput(String(status), statusRegistry) ?? status;
171
+ if (normalizedStatus === statusRegistry.open_status) {
172
+ accumulator.open_count += 1;
173
+ return;
174
+ }
175
+ if (normalizedStatus === "in_progress" || statusRegistry.active_statuses.has(normalizedStatus) && normalizedStatus !== statusRegistry.open_status) {
176
+ accumulator.in_progress_count += 1;
177
+ return;
178
+ }
179
+ if (statusRegistry.terminal_done_statuses.has(normalizedStatus) || normalizedStatus === statusRegistry.close_status) {
180
+ accumulator.closed_count += 1;
181
+ return;
182
+ }
183
+ accumulator.other_count += 1;
184
+ }
164
185
  async function runAggregate(options, global2) {
165
186
  if (options.count === false) {
166
187
  throw new PmCliError("Aggregate grouped counts are always enabled; omit count=false.", EXIT_CODE.USAGE);
@@ -171,6 +192,7 @@ async function runAggregate(options, global2) {
171
192
  const groupBy = parseGroupBy(options.groupBy);
172
193
  const status = parseStatus(options.status, statusRegistry);
173
194
  const numericAggregation = parseNumericAggregation(options);
195
+ const includeCompletion = options.completion === true;
174
196
  const includeUnparented = options.includeUnparented === true;
175
197
  const listed = await runList(status, {
176
198
  type: options.type,
@@ -202,6 +224,9 @@ async function runAggregate(options, global2) {
202
224
  const numericValue = numericAggregation === null ? null : readNumericAggregateValue(item, numericAggregation.field);
203
225
  if (existing) {
204
226
  existing.row.count += 1;
227
+ if (includeCompletion) {
228
+ updateCompletionCounts(existing, item.status, statusRegistry);
229
+ }
205
230
  if (numericAggregation !== null) {
206
231
  if (numericValue === null) {
207
232
  existing.null_count += 1;
@@ -211,31 +236,45 @@ async function runAggregate(options, global2) {
211
236
  }
212
237
  }
213
238
  } else {
214
- grouped.set(key, {
239
+ const accumulator = {
215
240
  row: {
216
241
  group,
217
242
  count: 1
218
243
  },
219
244
  numeric_count: numericValue === null ? 0 : 1,
220
245
  numeric_sum: numericValue ?? 0,
221
- null_count: numericValue === null ? 1 : 0
222
- });
246
+ null_count: numericValue === null ? 1 : 0,
247
+ open_count: 0,
248
+ in_progress_count: 0,
249
+ closed_count: 0,
250
+ other_count: 0
251
+ };
252
+ if (includeCompletion) {
253
+ updateCompletionCounts(accumulator, item.status, statusRegistry);
254
+ }
255
+ grouped.set(key, accumulator);
223
256
  }
224
257
  groupedItemCount += 1;
225
258
  }
226
259
  const groups = [...grouped.values()].map((entry) => {
227
- if (numericAggregation === null) {
228
- return entry.row;
229
- }
230
260
  const withNumeric = {
231
- ...entry.row,
232
- null_count: entry.null_count
261
+ ...entry.row
233
262
  };
234
- if (numericAggregation.sum) {
235
- withNumeric.sum = entry.numeric_sum;
263
+ if (includeCompletion) {
264
+ withNumeric.open = entry.open_count;
265
+ withNumeric.in_progress = entry.in_progress_count;
266
+ withNumeric.closed = entry.closed_count;
267
+ withNumeric.other = entry.other_count;
268
+ withNumeric.completion_pct = completionPct(entry.closed_count, entry.row.count);
236
269
  }
237
- if (numericAggregation.avg) {
238
- withNumeric.avg = entry.numeric_count === 0 ? null : entry.numeric_sum / entry.numeric_count;
270
+ if (numericAggregation !== null) {
271
+ withNumeric.null_count = entry.null_count;
272
+ if (numericAggregation.sum) {
273
+ withNumeric.sum = entry.numeric_sum;
274
+ }
275
+ if (numericAggregation.avg) {
276
+ withNumeric.avg = entry.numeric_count === 0 ? null : entry.numeric_sum / entry.numeric_count;
277
+ }
239
278
  }
240
279
  return withNumeric;
241
280
  }).sort((left, right) => compareAggregateRows(left, right, groupBy));
@@ -251,6 +290,7 @@ async function runAggregate(options, global2) {
251
290
  filters: {
252
291
  group_by: groupBy,
253
292
  count: true,
293
+ completion: includeCompletion,
254
294
  include_unparented: includeUnparented,
255
295
  status: status ?? null,
256
296
  type: options.type ?? null,
@@ -276,4 +316,4 @@ async function runAggregate(options, global2) {
276
316
  export {
277
317
  runAggregate
278
318
  };
279
- //# sourceMappingURL=aggregate-GBSHSXOB.js.map
319
+ //# sourceMappingURL=aggregate-NNJLKGEK.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../../../cli/commands/aggregate.ts"],
4
+ "sourcesContent": ["import { EXIT_CODE } from \"../../core/shared/constants.js\";\nimport type { GlobalOptions } from \"../../core/shared/command-types.js\";\nimport { PmCliError } from \"../../core/shared/errors.js\";\nimport { splitCommaList } from \"../../core/shared/split-comma-list.js\";\nimport { nowIso } from \"../../core/shared/time.js\";\nimport { normalizeStatusInput } from \"../../core/item/status.js\";\nimport { resolveRuntimeStatusRegistry, type RuntimeStatusRegistry } from \"../../core/schema/runtime-schema.js\";\nimport { resolvePmRoot } from \"../../core/store/paths.js\";\nimport { readSettings } from \"../../core/store/settings.js\";\nimport { type ItemStatus } from \"../../types/index.js\";\nimport { runList } from \"./list.js\";\n\ntype AggregateGroupField = \"parent\" | \"type\" | \"priority\" | \"status\" | \"assignee\" | \"tags\" | \"sprint\" | \"release\";\ntype AggregateGroupValue = string | number | null;\ntype AggregateGroupRecord = Partial<Record<AggregateGroupField, AggregateGroupValue>>;\ntype AggregateListedItem = {\n type: string;\n status: ItemStatus;\n priority: number;\n parent?: string;\n assignee?: string;\n tags: string[];\n sprint?: string;\n release?: string;\n};\n\nconst AGGREGATE_GROUP_FIELDS: AggregateGroupField[] = [\n \"parent\",\n \"type\",\n \"priority\",\n \"status\",\n \"assignee\",\n \"tags\",\n \"sprint\",\n \"release\",\n];\n\nexport interface AggregateOptions {\n groupBy?: string;\n count?: boolean;\n completion?: boolean;\n sum?: string;\n avg?: string;\n includeUnparented?: boolean;\n status?: string;\n type?: string;\n tag?: string;\n priority?: string;\n deadlineBefore?: string;\n deadlineAfter?: string;\n assignee?: string;\n assigneeFilter?: string;\n parent?: string;\n sprint?: string;\n release?: string;\n}\n\nexport interface AggregateRow {\n group: AggregateGroupRecord;\n count: number;\n open?: number;\n in_progress?: number;\n closed?: number;\n other?: number;\n completion_pct?: number;\n null_count?: number;\n sum?: number | null;\n avg?: number | null;\n}\n\nexport interface AggregateResult {\n groups: AggregateRow[];\n count: number;\n totals: {\n items_considered: number;\n items_grouped: number;\n items_skipped_unparented: number;\n };\n filters: {\n group_by: AggregateGroupField[];\n count: boolean;\n completion: boolean;\n sum?: string | null;\n avg?: string | null;\n numeric_field?: string | null;\n include_unparented: boolean;\n status: ItemStatus | null;\n type: string | null;\n tag: string | null;\n priority: string | null;\n deadline_before: string | null;\n deadline_after: string | null;\n assignee: string | null;\n assignee_filter: string | null;\n parent: string | null;\n sprint: string | null;\n release: string | null;\n };\n now: string;\n warnings?: string[];\n}\n\nfunction parseStatus(raw: string | undefined, statusRegistry: RuntimeStatusRegistry): ItemStatus | undefined {\n if (raw === undefined) {\n return undefined;\n }\n const normalized = normalizeStatusInput(raw, statusRegistry);\n if (!normalized) {\n throw new PmCliError(\n `Status filter must be one of ${statusRegistry.definitions.map((definition) => definition.id).join(\"|\")}`,\n EXIT_CODE.USAGE,\n );\n }\n return normalized;\n}\n\ninterface NumericAggregation {\n field: string;\n sum: boolean;\n avg: boolean;\n}\n\nfunction parseNumericAggregation(options: AggregateOptions): NumericAggregation | null {\n const sumField = options.sum?.trim();\n const avgField = options.avg?.trim();\n const normalizedSum = sumField && sumField.length > 0 ? sumField : undefined;\n const normalizedAvg = avgField && avgField.length > 0 ? avgField : undefined;\n if (!normalizedSum && !normalizedAvg) {\n return null;\n }\n if (normalizedSum && normalizedAvg && normalizedSum !== normalizedAvg) {\n throw new PmCliError(\"Aggregate --sum and --avg must target the same numeric field\", EXIT_CODE.USAGE);\n }\n return {\n field: normalizedSum ?? normalizedAvg ?? \"\",\n sum: normalizedSum !== undefined,\n avg: normalizedAvg !== undefined,\n };\n}\n\nfunction parseGroupBy(raw: string | undefined): AggregateGroupField[] {\n const value = raw?.trim() ?? \"status\";\n if (value.length === 0) {\n throw new PmCliError(\"--group-by requires at least one field name\", EXIT_CODE.USAGE);\n }\n const requested = splitCommaList(value);\n if (requested.length === 0) {\n throw new PmCliError(\"--group-by requires a comma-separated list of fields\", EXIT_CODE.USAGE);\n }\n for (const field of requested) {\n if (!AGGREGATE_GROUP_FIELDS.includes(field as AggregateGroupField)) {\n throw new PmCliError(\n `Aggregate group fields must be one of ${AGGREGATE_GROUP_FIELDS.join(\"|\")}; received \"${field}\"`,\n EXIT_CODE.USAGE,\n );\n }\n }\n return requested as AggregateGroupField[];\n}\n\nfunction normalizeTagGroupValue(tags: string[]): string | null {\n const normalized = [...new Set(tags.map((tag) => tag.trim().toLowerCase()).filter((tag) => tag.length > 0))].sort((left, right) =>\n left.localeCompare(right),\n );\n if (normalized.length === 0) {\n return null;\n }\n return normalized.join(\",\");\n}\n\nfunction resolveGroupValue(field: AggregateGroupField, item: AggregateListedItem): AggregateGroupValue {\n switch (field) {\n case \"parent\":\n return item.parent ?? null;\n case \"type\":\n return item.type;\n case \"priority\":\n return item.priority;\n case \"status\":\n return item.status;\n case \"assignee\":\n return item.assignee ?? null;\n case \"tags\":\n return normalizeTagGroupValue(item.tags);\n case \"sprint\":\n return item.sprint ?? null;\n case \"release\":\n return item.release ?? null;\n default:\n return null;\n }\n}\n\nfunction compareNullableGroupValue(left: AggregateGroupValue | undefined, right: AggregateGroupValue | undefined): number {\n const leftValue = left ?? null;\n const rightValue = right ?? null;\n if (leftValue === rightValue) {\n return 0;\n }\n if (leftValue === null) {\n return 1;\n }\n if (rightValue === null) {\n return -1;\n }\n if (typeof leftValue === \"number\" && typeof rightValue === \"number\") {\n return leftValue - rightValue;\n }\n return String(leftValue).localeCompare(String(rightValue));\n}\n\nfunction buildGroupKey(groupBy: AggregateGroupField[], group: AggregateGroupRecord): string {\n return groupBy.map((field) => `${field}:${JSON.stringify(group[field] ?? null)}`).join(\"|\");\n}\n\nfunction compareAggregateRows(\n left: AggregateRow,\n right: AggregateRow,\n groupBy: AggregateGroupField[],\n): number {\n for (const field of groupBy) {\n const byField = compareNullableGroupValue(left.group[field], right.group[field]);\n if (byField !== 0) {\n return byField;\n }\n }\n return 0;\n}\n\nfunction readNumericAggregateValue(item: AggregateListedItem, field: string): number | null {\n const source = item as unknown as Record<string, unknown>;\n const raw = source[field];\n if (typeof raw === \"number\" && Number.isFinite(raw)) {\n return raw;\n }\n if (typeof raw === \"string\") {\n const trimmed = raw.trim();\n if (trimmed.length === 0) {\n return null;\n }\n const parsed = Number(trimmed);\n if (Number.isFinite(parsed)) {\n return parsed;\n }\n }\n return null;\n}\n\ninterface AggregateAccumulator {\n row: AggregateRow;\n numeric_count: number;\n numeric_sum: number;\n null_count: number;\n open_count: number;\n in_progress_count: number;\n closed_count: number;\n other_count: number;\n}\n\nfunction completionPct(closed: number, total: number): number {\n if (total <= 0) {\n return 0;\n }\n return Math.round((closed / total) * 10000) / 100;\n}\n\nfunction updateCompletionCounts(accumulator: AggregateAccumulator, status: ItemStatus, statusRegistry: RuntimeStatusRegistry): void {\n const normalizedStatus = normalizeStatusInput(String(status), statusRegistry) ?? status;\n if (normalizedStatus === statusRegistry.open_status) {\n accumulator.open_count += 1;\n return;\n }\n if (normalizedStatus === \"in_progress\" || (statusRegistry.active_statuses.has(normalizedStatus) && normalizedStatus !== statusRegistry.open_status)) {\n accumulator.in_progress_count += 1;\n return;\n }\n if (statusRegistry.terminal_done_statuses.has(normalizedStatus) || normalizedStatus === statusRegistry.close_status) {\n accumulator.closed_count += 1;\n return;\n }\n accumulator.other_count += 1;\n}\n\nexport async function runAggregate(options: AggregateOptions, global: GlobalOptions): Promise<AggregateResult> {\n if (options.count === false) {\n throw new PmCliError(\"Aggregate grouped counts are always enabled; omit count=false.\", EXIT_CODE.USAGE);\n }\n\n const pmRoot = resolvePmRoot(process.cwd(), global.path);\n const settings = await readSettings(pmRoot);\n const statusRegistry = resolveRuntimeStatusRegistry(settings.schema);\n const groupBy = parseGroupBy(options.groupBy);\n const status = parseStatus(options.status, statusRegistry);\n const numericAggregation = parseNumericAggregation(options);\n const includeCompletion = options.completion === true;\n const includeUnparented = options.includeUnparented === true;\n\n const listed = await runList(\n status,\n {\n type: options.type,\n tag: options.tag,\n priority: options.priority,\n deadlineBefore: options.deadlineBefore,\n deadlineAfter: options.deadlineAfter,\n assignee: options.assignee,\n assigneeFilter: options.assigneeFilter,\n parent: options.parent,\n sprint: options.sprint,\n release: options.release,\n },\n global,\n );\n\n const grouped = new Map<string, AggregateAccumulator>();\n let skippedUnparented = 0;\n let groupedItemCount = 0;\n\n for (const listedItem of listed.items) {\n const item = listedItem as AggregateListedItem;\n const group: AggregateGroupRecord = {};\n for (const field of groupBy) {\n group[field] = resolveGroupValue(field, item);\n }\n if (groupBy.includes(\"parent\") && group.parent === null && !includeUnparented) {\n skippedUnparented += 1;\n continue;\n }\n const key = buildGroupKey(groupBy, group);\n const existing = grouped.get(key);\n const numericValue =\n numericAggregation === null\n ? null\n : readNumericAggregateValue(item, numericAggregation.field);\n if (existing) {\n existing.row.count += 1;\n if (includeCompletion) {\n updateCompletionCounts(existing, item.status, statusRegistry);\n }\n if (numericAggregation !== null) {\n if (numericValue === null) {\n existing.null_count += 1;\n } else {\n existing.numeric_count += 1;\n existing.numeric_sum += numericValue;\n }\n }\n } else {\n const accumulator: AggregateAccumulator = {\n row: {\n group,\n count: 1,\n },\n numeric_count: numericValue === null ? 0 : 1,\n numeric_sum: numericValue ?? 0,\n null_count: numericValue === null ? 1 : 0,\n open_count: 0,\n in_progress_count: 0,\n closed_count: 0,\n other_count: 0,\n };\n if (includeCompletion) {\n updateCompletionCounts(accumulator, item.status, statusRegistry);\n }\n grouped.set(key, accumulator);\n }\n groupedItemCount += 1;\n }\n\n const groups = [...grouped.values()]\n .map((entry) => {\n const withNumeric: AggregateRow = {\n ...entry.row,\n };\n if (includeCompletion) {\n withNumeric.open = entry.open_count;\n withNumeric.in_progress = entry.in_progress_count;\n withNumeric.closed = entry.closed_count;\n withNumeric.other = entry.other_count;\n withNumeric.completion_pct = completionPct(entry.closed_count, entry.row.count);\n }\n if (numericAggregation !== null) {\n withNumeric.null_count = entry.null_count;\n if (numericAggregation.sum) {\n withNumeric.sum = entry.numeric_sum;\n }\n if (numericAggregation.avg) {\n withNumeric.avg = entry.numeric_count === 0 ? null : entry.numeric_sum / entry.numeric_count;\n }\n }\n return withNumeric;\n })\n .sort((left, right) => compareAggregateRows(left, right, groupBy));\n const warnings = listed.warnings && listed.warnings.length > 0 ? listed.warnings : undefined;\n\n return {\n groups,\n count: groups.length,\n totals: {\n items_considered: listed.items.length,\n items_grouped: groupedItemCount,\n items_skipped_unparented: skippedUnparented,\n },\n filters: {\n group_by: groupBy,\n count: true,\n completion: includeCompletion,\n include_unparented: includeUnparented,\n status: status ?? null,\n type: options.type ?? null,\n tag: options.tag ?? null,\n priority: options.priority ?? null,\n deadline_before: options.deadlineBefore ?? null,\n deadline_after: options.deadlineAfter ?? null,\n assignee: options.assignee ?? null,\n assignee_filter: options.assigneeFilter ?? null,\n parent: options.parent ?? null,\n sprint: options.sprint ?? null,\n release: options.release ?? null,\n ...(numericAggregation !== null\n ? {\n sum: options.sum ?? null,\n avg: options.avg ?? null,\n numeric_field: numericAggregation.field,\n }\n : {}),\n },\n now: nowIso(),\n ...(warnings ? { warnings } : {}),\n };\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BA,IAAM,yBAAgD;EACpD;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAoEF,SAAS,YAAY,KAAyB,gBAAqC;AACjF,MAAI,QAAQ,QAAW;AACrB,WAAO;EACT;AACA,QAAM,aAAa,qBAAqB,KAAK,cAAc;AAC3D,MAAI,CAAC,YAAY;AACf,UAAM,IAAI,WACR,gCAAgC,eAAe,YAAY,IAAI,CAAC,eAAe,WAAW,EAAE,EAAE,KAAK,GAAG,CAAC,IACvG,UAAU,KAAK;EAEnB;AACA,SAAO;AACT;AAQA,SAAS,wBAAwB,SAAyB;AACxD,QAAM,WAAW,QAAQ,KAAK,KAAI;AAClC,QAAM,WAAW,QAAQ,KAAK,KAAI;AAClC,QAAM,gBAAgB,YAAY,SAAS,SAAS,IAAI,WAAW;AACnE,QAAM,gBAAgB,YAAY,SAAS,SAAS,IAAI,WAAW;AACnE,MAAI,CAAC,iBAAiB,CAAC,eAAe;AACpC,WAAO;EACT;AACA,MAAI,iBAAiB,iBAAiB,kBAAkB,eAAe;AACrE,UAAM,IAAI,WAAW,gEAAgE,UAAU,KAAK;EACtG;AACA,SAAO;IACL,OAAO,iBAAiB,iBAAiB;IACzC,KAAK,kBAAkB;IACvB,KAAK,kBAAkB;;AAE3B;AAEA,SAAS,aAAa,KAAuB;AAC3C,QAAM,QAAQ,KAAK,KAAI,KAAM;AAC7B,MAAI,MAAM,WAAW,GAAG;AACtB,UAAM,IAAI,WAAW,+CAA+C,UAAU,KAAK;EACrF;AACA,QAAM,YAAY,eAAe,KAAK;AACtC,MAAI,UAAU,WAAW,GAAG;AAC1B,UAAM,IAAI,WAAW,wDAAwD,UAAU,KAAK;EAC9F;AACA,aAAW,SAAS,WAAW;AAC7B,QAAI,CAAC,uBAAuB,SAAS,KAA4B,GAAG;AAClE,YAAM,IAAI,WACR,yCAAyC,uBAAuB,KAAK,GAAG,CAAC,eAAe,KAAK,KAC7F,UAAU,KAAK;IAEnB;EACF;AACA,SAAO;AACT;AAEA,SAAS,uBAAuB,MAAc;AAC5C,QAAM,aAAa,CAAC,GAAG,IAAI,IAAI,KAAK,IAAI,CAAC,QAAQ,IAAI,KAAI,EAAG,YAAW,CAAE,EAAE,OAAO,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,UACvH,KAAK,cAAc,KAAK,CAAC;AAE3B,MAAI,WAAW,WAAW,GAAG;AAC3B,WAAO;EACT;AACA,SAAO,WAAW,KAAK,GAAG;AAC5B;AAEA,SAAS,kBAAkB,OAA4B,MAAyB;AAC9E,UAAQ,OAAO;IACb,KAAK;AACH,aAAO,KAAK,UAAU;IACxB,KAAK;AACH,aAAO,KAAK;IACd,KAAK;AACH,aAAO,KAAK;IACd,KAAK;AACH,aAAO,KAAK;IACd,KAAK;AACH,aAAO,KAAK,YAAY;IAC1B,KAAK;AACH,aAAO,uBAAuB,KAAK,IAAI;IACzC,KAAK;AACH,aAAO,KAAK,UAAU;IACxB,KAAK;AACH,aAAO,KAAK,WAAW;IACzB;AACE,aAAO;EACX;AACF;AAEA,SAAS,0BAA0B,MAAuC,OAAsC;AAC9G,QAAM,YAAY,QAAQ;AAC1B,QAAM,aAAa,SAAS;AAC5B,MAAI,cAAc,YAAY;AAC5B,WAAO;EACT;AACA,MAAI,cAAc,MAAM;AACtB,WAAO;EACT;AACA,MAAI,eAAe,MAAM;AACvB,WAAO;EACT;AACA,MAAI,OAAO,cAAc,YAAY,OAAO,eAAe,UAAU;AACnE,WAAO,YAAY;EACrB;AACA,SAAO,OAAO,SAAS,EAAE,cAAc,OAAO,UAAU,CAAC;AAC3D;AAEA,SAAS,cAAc,SAAgC,OAA2B;AAChF,SAAO,QAAQ,IAAI,CAAC,UAAU,GAAG,KAAK,IAAI,KAAK,UAAU,MAAM,KAAK,KAAK,IAAI,CAAC,EAAE,EAAE,KAAK,GAAG;AAC5F;AAEA,SAAS,qBACP,MACA,OACA,SAA8B;AAE9B,aAAW,SAAS,SAAS;AAC3B,UAAM,UAAU,0BAA0B,KAAK,MAAM,KAAK,GAAG,MAAM,MAAM,KAAK,CAAC;AAC/E,QAAI,YAAY,GAAG;AACjB,aAAO;IACT;EACF;AACA,SAAO;AACT;AAEA,SAAS,0BAA0B,MAA2B,OAAa;AACzE,QAAM,SAAS;AACf,QAAM,MAAM,OAAO,KAAK;AACxB,MAAI,OAAO,QAAQ,YAAY,OAAO,SAAS,GAAG,GAAG;AACnD,WAAO;EACT;AACA,MAAI,OAAO,QAAQ,UAAU;AAC3B,UAAM,UAAU,IAAI,KAAI;AACxB,QAAI,QAAQ,WAAW,GAAG;AACxB,aAAO;IACT;AACA,UAAM,SAAS,OAAO,OAAO;AAC7B,QAAI,OAAO,SAAS,MAAM,GAAG;AAC3B,aAAO;IACT;EACF;AACA,SAAO;AACT;AAaA,SAAS,cAAc,QAAgB,OAAa;AAClD,MAAI,SAAS,GAAG;AACd,WAAO;EACT;AACA,SAAO,KAAK,MAAO,SAAS,QAAS,GAAK,IAAI;AAChD;AAEA,SAAS,uBAAuB,aAAmC,QAAoB,gBAAqC;AAC1H,QAAM,mBAAmB,qBAAqB,OAAO,MAAM,GAAG,cAAc,KAAK;AACjF,MAAI,qBAAqB,eAAe,aAAa;AACnD,gBAAY,cAAc;AAC1B;EACF;AACA,MAAI,qBAAqB,iBAAkB,eAAe,gBAAgB,IAAI,gBAAgB,KAAK,qBAAqB,eAAe,aAAc;AACnJ,gBAAY,qBAAqB;AACjC;EACF;AACA,MAAI,eAAe,uBAAuB,IAAI,gBAAgB,KAAK,qBAAqB,eAAe,cAAc;AACnH,gBAAY,gBAAgB;AAC5B;EACF;AACA,cAAY,eAAe;AAC7B;AAEA,eAAsB,aAAa,SAA2BA,SAAqB;AACjF,MAAI,QAAQ,UAAU,OAAO;AAC3B,UAAM,IAAI,WAAW,kEAAkE,UAAU,KAAK;EACxG;AAEA,QAAM,SAAS,cAAc,QAAQ,IAAG,GAAIA,QAAO,IAAI;AACvD,QAAM,WAAW,MAAM,aAAa,MAAM;AAC1C,QAAM,iBAAiB,6BAA6B,SAAS,MAAM;AACnE,QAAM,UAAU,aAAa,QAAQ,OAAO;AAC5C,QAAM,SAAS,YAAY,QAAQ,QAAQ,cAAc;AACzD,QAAM,qBAAqB,wBAAwB,OAAO;AAC1D,QAAM,oBAAoB,QAAQ,eAAe;AACjD,QAAM,oBAAoB,QAAQ,sBAAsB;AAExD,QAAM,SAAS,MAAM,QACnB,QACA;IACE,MAAM,QAAQ;IACd,KAAK,QAAQ;IACb,UAAU,QAAQ;IAClB,gBAAgB,QAAQ;IACxB,eAAe,QAAQ;IACvB,UAAU,QAAQ;IAClB,gBAAgB,QAAQ;IACxB,QAAQ,QAAQ;IAChB,QAAQ,QAAQ;IAChB,SAAS,QAAQ;KAEnBA,OAAM;AAGR,QAAM,UAAU,oBAAI,IAAG;AACvB,MAAI,oBAAoB;AACxB,MAAI,mBAAmB;AAEvB,aAAW,cAAc,OAAO,OAAO;AACrC,UAAM,OAAO;AACb,UAAM,QAA8B,CAAA;AACpC,eAAW,SAAS,SAAS;AAC3B,YAAM,KAAK,IAAI,kBAAkB,OAAO,IAAI;IAC9C;AACA,QAAI,QAAQ,SAAS,QAAQ,KAAK,MAAM,WAAW,QAAQ,CAAC,mBAAmB;AAC7E,2BAAqB;AACrB;IACF;AACA,UAAM,MAAM,cAAc,SAAS,KAAK;AACxC,UAAM,WAAW,QAAQ,IAAI,GAAG;AAChC,UAAM,eACJ,uBAAuB,OACnB,OACA,0BAA0B,MAAM,mBAAmB,KAAK;AAC9D,QAAI,UAAU;AACZ,eAAS,IAAI,SAAS;AACtB,UAAI,mBAAmB;AACrB,+BAAuB,UAAU,KAAK,QAAQ,cAAc;MAC9D;AACA,UAAI,uBAAuB,MAAM;AAC/B,YAAI,iBAAiB,MAAM;AACzB,mBAAS,cAAc;QACzB,OAAO;AACL,mBAAS,iBAAiB;AAC1B,mBAAS,eAAe;QAC1B;MACF;IACF,OAAO;AACL,YAAM,cAAoC;QACxC,KAAK;UACH;UACA,OAAO;;QAET,eAAe,iBAAiB,OAAO,IAAI;QAC3C,aAAa,gBAAgB;QAC7B,YAAY,iBAAiB,OAAO,IAAI;QACxC,YAAY;QACZ,mBAAmB;QACnB,cAAc;QACd,aAAa;;AAEf,UAAI,mBAAmB;AACrB,+BAAuB,aAAa,KAAK,QAAQ,cAAc;MACjE;AACA,cAAQ,IAAI,KAAK,WAAW;IAC9B;AACA,wBAAoB;EACtB;AAEA,QAAM,SAAS,CAAC,GAAG,QAAQ,OAAM,CAAE,EAChC,IAAI,CAAC,UAAS;AACb,UAAM,cAA4B;MAChC,GAAG,MAAM;;AAEX,QAAI,mBAAmB;AACrB,kBAAY,OAAO,MAAM;AACzB,kBAAY,cAAc,MAAM;AAChC,kBAAY,SAAS,MAAM;AAC3B,kBAAY,QAAQ,MAAM;AAC1B,kBAAY,iBAAiB,cAAc,MAAM,cAAc,MAAM,IAAI,KAAK;IAChF;AACA,QAAI,uBAAuB,MAAM;AAC/B,kBAAY,aAAa,MAAM;AAC/B,UAAI,mBAAmB,KAAK;AAC1B,oBAAY,MAAM,MAAM;MAC1B;AACA,UAAI,mBAAmB,KAAK;AAC1B,oBAAY,MAAM,MAAM,kBAAkB,IAAI,OAAO,MAAM,cAAc,MAAM;MACjF;IACF;AACA,WAAO;EACT,CAAC,EACA,KAAK,CAAC,MAAM,UAAU,qBAAqB,MAAM,OAAO,OAAO,CAAC;AACnE,QAAM,WAAW,OAAO,YAAY,OAAO,SAAS,SAAS,IAAI,OAAO,WAAW;AAEnF,SAAO;IACL;IACA,OAAO,OAAO;IACd,QAAQ;MACN,kBAAkB,OAAO,MAAM;MAC/B,eAAe;MACf,0BAA0B;;IAE5B,SAAS;MACP,UAAU;MACV,OAAO;MACP,YAAY;MACZ,oBAAoB;MACpB,QAAQ,UAAU;MAClB,MAAM,QAAQ,QAAQ;MACtB,KAAK,QAAQ,OAAO;MACpB,UAAU,QAAQ,YAAY;MAC9B,iBAAiB,QAAQ,kBAAkB;MAC3C,gBAAgB,QAAQ,iBAAiB;MACzC,UAAU,QAAQ,YAAY;MAC9B,iBAAiB,QAAQ,kBAAkB;MAC3C,QAAQ,QAAQ,UAAU;MAC1B,QAAQ,QAAQ,UAAU;MAC1B,SAAS,QAAQ,WAAW;MAC5B,GAAI,uBAAuB,OACvB;QACE,KAAK,QAAQ,OAAO;QACpB,KAAK,QAAQ,OAAO;QACpB,eAAe,mBAAmB;UAEpC,CAAA;;IAEN,KAAK,OAAM;IACX,GAAI,WAAW,EAAE,SAAQ,IAAK,CAAA;;AAElC;",
6
+ "names": ["global"]
7
+ }