@unbrained/pm-cli 2026.6.13 → 2026.6.16

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 (770) hide show
  1. package/CHANGELOG.md +84 -0
  2. package/README.md +1 -1
  3. package/dist/cli/bootstrap-args.d.ts +29 -0
  4. package/dist/cli/bootstrap-args.js +11 -4
  5. package/dist/cli/bootstrap-args.js.map +1 -1
  6. package/dist/cli/commander-usage.d.ts +12 -0
  7. package/dist/cli/commander-usage.js +18 -7
  8. package/dist/cli/commander-usage.js.map +1 -1
  9. package/dist/cli/commands/activity.d.ts +19 -0
  10. package/dist/cli/commands/activity.js +12 -2
  11. package/dist/cli/commands/activity.js.map +1 -1
  12. package/dist/cli/commands/aggregate.d.ts +58 -0
  13. package/dist/cli/commands/aggregate.js +48 -15
  14. package/dist/cli/commands/aggregate.js.map +1 -1
  15. package/dist/cli/commands/annotation-command.d.ts +6 -1
  16. package/dist/cli/commands/annotation-command.js +72 -2
  17. package/dist/cli/commands/annotation-command.js.map +1 -1
  18. package/dist/cli/commands/append.js +4 -3
  19. package/dist/cli/commands/append.js.map +1 -1
  20. package/dist/cli/commands/close-many.d.ts +20 -0
  21. package/dist/cli/commands/close-many.js +14 -23
  22. package/dist/cli/commands/close-many.js.map +1 -1
  23. package/dist/cli/commands/close.js +37 -4
  24. package/dist/cli/commands/close.js.map +1 -1
  25. package/dist/cli/commands/comments-audit.js +3 -2
  26. package/dist/cli/commands/comments-audit.js.map +1 -1
  27. package/dist/cli/commands/comments.d.ts +2 -0
  28. package/dist/cli/commands/comments.js +49 -23
  29. package/dist/cli/commands/comments.js.map +1 -1
  30. package/dist/cli/commands/completion.js +269 -8
  31. package/dist/cli/commands/completion.js.map +1 -1
  32. package/dist/cli/commands/config.d.ts +51 -1
  33. package/dist/cli/commands/config.js +50 -12
  34. package/dist/cli/commands/config.js.map +1 -1
  35. package/dist/cli/commands/context.d.ts +79 -1
  36. package/dist/cli/commands/context.js +151 -25
  37. package/dist/cli/commands/context.js.map +1 -1
  38. package/dist/cli/commands/contracts.d.ts +80 -1
  39. package/dist/cli/commands/contracts.js +54 -4
  40. package/dist/cli/commands/contracts.js.map +1 -1
  41. package/dist/cli/commands/create.d.ts +49 -0
  42. package/dist/cli/commands/create.js +105 -7
  43. package/dist/cli/commands/create.js.map +1 -1
  44. package/dist/cli/commands/dedupe-audit.d.ts +33 -0
  45. package/dist/cli/commands/dedupe-audit.js +18 -14
  46. package/dist/cli/commands/dedupe-audit.js.map +1 -1
  47. package/dist/cli/commands/deps.js +7 -4
  48. package/dist/cli/commands/deps.js.map +1 -1
  49. package/dist/cli/commands/event-validation-messages.js +3 -3
  50. package/dist/cli/commands/event-validation-messages.js.map +1 -1
  51. package/dist/cli/commands/extension/bundled-catalog.d.ts +7 -0
  52. package/dist/cli/commands/extension/bundled-catalog.js +19 -15
  53. package/dist/cli/commands/extension/bundled-catalog.js.map +1 -1
  54. package/dist/cli/commands/extension/install-sources.d.ts +41 -1
  55. package/dist/cli/commands/extension/install-sources.js +26 -8
  56. package/dist/cli/commands/extension/install-sources.js.map +1 -1
  57. package/dist/cli/commands/extension/shared.d.ts +5 -0
  58. package/dist/cli/commands/extension/shared.js +9 -3
  59. package/dist/cli/commands/extension/shared.js.map +1 -1
  60. package/dist/cli/commands/extension.d.ts +133 -1
  61. package/dist/cli/commands/extension.js +127 -9
  62. package/dist/cli/commands/extension.js.map +1 -1
  63. package/dist/cli/commands/files.d.ts +30 -1
  64. package/dist/cli/commands/files.js +21 -2
  65. package/dist/cli/commands/files.js.map +1 -1
  66. package/dist/cli/commands/focus.d.ts +11 -0
  67. package/dist/cli/commands/focus.js +86 -0
  68. package/dist/cli/commands/focus.js.map +1 -0
  69. package/dist/cli/commands/get.d.ts +9 -2
  70. package/dist/cli/commands/get.js +34 -6
  71. package/dist/cli/commands/get.js.map +1 -1
  72. package/dist/cli/commands/guide.d.ts +5 -0
  73. package/dist/cli/commands/guide.js +6 -3
  74. package/dist/cli/commands/guide.js.map +1 -1
  75. package/dist/cli/commands/health.d.ts +109 -0
  76. package/dist/cli/commands/health.js +87 -35
  77. package/dist/cli/commands/health.js.map +1 -1
  78. package/dist/cli/commands/history-compact.js +27 -36
  79. package/dist/cli/commands/history-compact.js.map +1 -1
  80. package/dist/cli/commands/history-redact.d.ts +46 -0
  81. package/dist/cli/commands/history-redact.js +99 -67
  82. package/dist/cli/commands/history-redact.js.map +1 -1
  83. package/dist/cli/commands/history-repair.js +34 -37
  84. package/dist/cli/commands/history-repair.js.map +1 -1
  85. package/dist/cli/commands/history.js +6 -2
  86. package/dist/cli/commands/history.js.map +1 -1
  87. package/dist/cli/commands/index.d.ts +1 -0
  88. package/dist/cli/commands/index.js +3 -2
  89. package/dist/cli/commands/index.js.map +1 -1
  90. package/dist/cli/commands/init-agent-guidance.d.ts +54 -0
  91. package/dist/cli/commands/init-agent-guidance.js +31 -4
  92. package/dist/cli/commands/init-agent-guidance.js.map +1 -1
  93. package/dist/cli/commands/init.d.ts +36 -1
  94. package/dist/cli/commands/init.js +38 -5
  95. package/dist/cli/commands/init.js.map +1 -1
  96. package/dist/cli/commands/learnings.js +4 -3
  97. package/dist/cli/commands/learnings.js.map +1 -1
  98. package/dist/cli/commands/linked-test-parsers.d.ts +5 -0
  99. package/dist/cli/commands/linked-test-parsers.js +5 -2
  100. package/dist/cli/commands/linked-test-parsers.js.map +1 -1
  101. package/dist/cli/commands/list-filter-shared.d.ts +8 -0
  102. package/dist/cli/commands/list-filter-shared.js +70 -0
  103. package/dist/cli/commands/list-filter-shared.js.map +1 -0
  104. package/dist/cli/commands/list.d.ts +116 -0
  105. package/dist/cli/commands/list.js +194 -6
  106. package/dist/cli/commands/list.js.map +1 -1
  107. package/dist/cli/commands/normalize.js +16 -2
  108. package/dist/cli/commands/normalize.js.map +1 -1
  109. package/dist/cli/commands/notes.js +4 -3
  110. package/dist/cli/commands/notes.js.map +1 -1
  111. package/dist/cli/commands/plan.js +3 -2
  112. package/dist/cli/commands/plan.js.map +1 -1
  113. package/dist/cli/commands/reindex.d.ts +83 -0
  114. package/dist/cli/commands/reindex.js +45 -10
  115. package/dist/cli/commands/reindex.js.map +1 -1
  116. package/dist/cli/commands/restore.d.ts +40 -1
  117. package/dist/cli/commands/restore.js +27 -2
  118. package/dist/cli/commands/restore.js.map +1 -1
  119. package/dist/cli/commands/schema.d.ts +18 -0
  120. package/dist/cli/commands/schema.js +30 -3
  121. package/dist/cli/commands/schema.js.map +1 -1
  122. package/dist/cli/commands/search.d.ts +289 -1
  123. package/dist/cli/commands/search.js +367 -60
  124. package/dist/cli/commands/search.js.map +1 -1
  125. package/dist/cli/commands/stats.d.ts +38 -0
  126. package/dist/cli/commands/stats.js +38 -10
  127. package/dist/cli/commands/stats.js.map +1 -1
  128. package/dist/cli/commands/telemetry.js +5 -3
  129. package/dist/cli/commands/telemetry.js.map +1 -1
  130. package/dist/cli/commands/templates.d.ts +18 -0
  131. package/dist/cli/commands/templates.js +9 -2
  132. package/dist/cli/commands/templates.js.map +1 -1
  133. package/dist/cli/commands/test-all.d.ts +5 -0
  134. package/dist/cli/commands/test-all.js +9 -3
  135. package/dist/cli/commands/test-all.js.map +1 -1
  136. package/dist/cli/commands/test.d.ts +70 -1
  137. package/dist/cli/commands/test.js +84 -3
  138. package/dist/cli/commands/test.js.map +1 -1
  139. package/dist/cli/commands/update-many.d.ts +34 -1
  140. package/dist/cli/commands/update-many.js +60 -31
  141. package/dist/cli/commands/update-many.js.map +1 -1
  142. package/dist/cli/commands/update.d.ts +71 -0
  143. package/dist/cli/commands/update.js +74 -8
  144. package/dist/cli/commands/update.js.map +1 -1
  145. package/dist/cli/commands/upgrade.d.ts +28 -1
  146. package/dist/cli/commands/upgrade.js +17 -4
  147. package/dist/cli/commands/upgrade.js.map +1 -1
  148. package/dist/cli/commands/validate.d.ts +114 -0
  149. package/dist/cli/commands/validate.js +153 -8
  150. package/dist/cli/commands/validate.js.map +1 -1
  151. package/dist/cli/error-guidance.d.ts +30 -0
  152. package/dist/cli/error-guidance.js +41 -6
  153. package/dist/cli/error-guidance.js.map +1 -1
  154. package/dist/cli/extension-command-options.js +9 -7
  155. package/dist/cli/extension-command-options.js.map +1 -1
  156. package/dist/cli/help-content.d.ts +8 -0
  157. package/dist/cli/help-content.js +30 -6
  158. package/dist/cli/help-content.js.map +1 -1
  159. package/dist/cli/help-json-payload.d.ts +19 -1
  160. package/dist/cli/help-json-payload.js +16 -7
  161. package/dist/cli/help-json-payload.js.map +1 -1
  162. package/dist/cli/main.d.ts +223 -0
  163. package/dist/cli/main.js +203 -45
  164. package/dist/cli/main.js.map +1 -1
  165. package/dist/cli/register-list-query.js +62 -5
  166. package/dist/cli/register-list-query.js.map +1 -1
  167. package/dist/cli/register-mutation.d.ts +16 -0
  168. package/dist/cli/register-mutation.js +210 -40
  169. package/dist/cli/register-mutation.js.map +1 -1
  170. package/dist/cli/register-operations.d.ts +8 -0
  171. package/dist/cli/register-operations.js +33 -11
  172. package/dist/cli/register-operations.js.map +1 -1
  173. package/dist/cli/register-setup.js +9 -6
  174. package/dist/cli/register-setup.js.map +1 -1
  175. package/dist/cli/registration-helpers.d.ts +4 -0
  176. package/dist/cli/registration-helpers.js +124 -38
  177. package/dist/cli/registration-helpers.js.map +1 -1
  178. package/dist/cli-bundle/chunks/activity-5P2KQCTH.js +18 -0
  179. package/dist/cli-bundle/chunks/{activity-PPO7QWJF.js → activity-MJGTX4LO.js} +13 -11
  180. package/dist/cli-bundle/chunks/{aggregate-XEBW22UQ.js → aggregate-MH3GROKB.js} +54 -25
  181. package/dist/cli-bundle/chunks/aggregate-MH3GROKB.js.map +7 -0
  182. package/dist/cli-bundle/chunks/{aggregate-IRHJWEKG.js → aggregate-OUGCDFNC.js} +55 -26
  183. package/dist/cli-bundle/chunks/aggregate-OUGCDFNC.js.map +1 -0
  184. package/dist/cli-bundle/chunks/{append-N2AWXKZC.js → append-2Q4BPUBW.js} +10 -10
  185. package/dist/cli-bundle/chunks/{append-N2AWXKZC.js.map → append-2Q4BPUBW.js.map} +2 -2
  186. package/dist/cli-bundle/chunks/{append-NL67JNJU.js → append-VCRUG2W6.js} +11 -11
  187. package/dist/cli-bundle/chunks/append-VCRUG2W6.js.map +1 -0
  188. package/dist/cli-bundle/chunks/{chunk-GRZGHGRG.js → chunk-2IUJBMKS.js} +10 -9
  189. package/dist/cli-bundle/chunks/{chunk-GRZGHGRG.js.map → chunk-2IUJBMKS.js.map} +2 -2
  190. package/dist/cli-bundle/chunks/{chunk-6ZFTM65G.js → chunk-2JEGCDYT.js} +2 -2
  191. package/dist/cli-bundle/chunks/{chunk-3CQPVBK3.js → chunk-3WAULYOY.js} +3 -3
  192. package/dist/cli-bundle/chunks/{chunk-AGG32LKL.js → chunk-3XOXWOGA.js} +359 -19
  193. package/dist/cli-bundle/chunks/chunk-3XOXWOGA.js.map +1 -0
  194. package/dist/cli-bundle/chunks/{chunk-XXLMJDUB.js → chunk-4KBK4BA3.js} +13 -15
  195. package/dist/cli-bundle/chunks/chunk-4KBK4BA3.js.map +7 -0
  196. package/dist/cli-bundle/chunks/{chunk-UCVJP4JL.js → chunk-4VLB4JH2.js} +51 -8
  197. package/dist/cli-bundle/chunks/chunk-4VLB4JH2.js.map +7 -0
  198. package/dist/cli-bundle/chunks/{chunk-BVL5KGVA.js → chunk-656HPQPO.js} +27 -12
  199. package/dist/cli-bundle/chunks/chunk-656HPQPO.js.map +1 -0
  200. package/dist/cli-bundle/chunks/{chunk-LYNQ3NGI.js → chunk-667XI4UJ.js} +309 -20
  201. package/dist/cli-bundle/chunks/chunk-667XI4UJ.js.map +1 -0
  202. package/dist/cli-bundle/chunks/{chunk-W6KNFAMZ.js → chunk-6BV7ENQL.js} +9 -8
  203. package/dist/cli-bundle/chunks/chunk-6BV7ENQL.js.map +7 -0
  204. package/dist/cli-bundle/chunks/chunk-6EFCFPNE.js +35 -0
  205. package/dist/cli-bundle/chunks/chunk-6EFCFPNE.js.map +7 -0
  206. package/dist/cli-bundle/chunks/{chunk-7SM7VA5I.js → chunk-6NQXMGYU.js} +19 -8
  207. package/dist/cli-bundle/chunks/chunk-6NQXMGYU.js.map +7 -0
  208. package/dist/cli-bundle/chunks/{chunk-AAUYXSFF.js → chunk-764O7EUA.js} +223 -50
  209. package/dist/cli-bundle/chunks/chunk-764O7EUA.js.map +7 -0
  210. package/dist/cli-bundle/chunks/{chunk-VYZNX4C5.js → chunk-7AGIXLNK.js} +3 -3
  211. package/dist/cli-bundle/chunks/chunk-7EILPFMA.js +404 -0
  212. package/dist/cli-bundle/chunks/chunk-7EILPFMA.js.map +7 -0
  213. package/dist/cli-bundle/chunks/{chunk-L6YQONLM.js → chunk-7K2MXFMX.js} +11 -13
  214. package/dist/cli-bundle/chunks/chunk-7K2MXFMX.js.map +1 -0
  215. package/dist/cli-bundle/chunks/{chunk-HZOX5BYD.js → chunk-7L5VOUYP.js} +6 -17
  216. package/dist/cli-bundle/chunks/chunk-7L5VOUYP.js.map +7 -0
  217. package/dist/cli-bundle/chunks/chunk-7ZGKNHUL.js +61 -0
  218. package/dist/cli-bundle/chunks/chunk-7ZGKNHUL.js.map +7 -0
  219. package/dist/cli-bundle/chunks/{chunk-TOX7YQ7X.js → chunk-A576QZDL.js} +223 -50
  220. package/dist/cli-bundle/chunks/chunk-A576QZDL.js.map +1 -0
  221. package/dist/cli-bundle/chunks/{chunk-RFR2YQGO.js → chunk-AERT7KT3.js} +5 -5
  222. package/dist/cli-bundle/chunks/chunk-ASM4DVRW.js +58 -0
  223. package/dist/cli-bundle/chunks/chunk-ASM4DVRW.js.map +1 -0
  224. package/dist/cli-bundle/chunks/{chunk-SQDKAEKG.js → chunk-B5Q7XC4K.js} +117 -37
  225. package/dist/cli-bundle/chunks/chunk-B5Q7XC4K.js.map +7 -0
  226. package/dist/cli-bundle/chunks/{chunk-RHYBR6G7.js → chunk-BJWTFOZM.js} +74 -14
  227. package/dist/cli-bundle/chunks/chunk-BJWTFOZM.js.map +1 -0
  228. package/dist/cli-bundle/chunks/{chunk-4ZKKZMLH.js → chunk-CBMETQ2U.js} +104 -30
  229. package/dist/cli-bundle/chunks/chunk-CBMETQ2U.js.map +1 -0
  230. package/dist/cli-bundle/chunks/{chunk-XOYHMHFF.js → chunk-E6J2PEK6.js} +3 -3
  231. package/dist/cli-bundle/chunks/{chunk-IIOIBAQW.js → chunk-F2GC6L3N.js} +3 -3
  232. package/dist/cli-bundle/chunks/{chunk-3VULHQNS.js → chunk-F7WSO5UX.js} +7 -18
  233. package/dist/cli-bundle/chunks/chunk-F7WSO5UX.js.map +1 -0
  234. package/dist/cli-bundle/chunks/{chunk-JCTZV7TO.js → chunk-FTAZLAR7.js} +8 -5
  235. package/dist/cli-bundle/chunks/{chunk-JCTZV7TO.js.map → chunk-FTAZLAR7.js.map} +1 -1
  236. package/dist/cli-bundle/chunks/{chunk-AUDDXKNX.js → chunk-FXNT5LPX.js} +77 -9
  237. package/dist/cli-bundle/chunks/chunk-FXNT5LPX.js.map +1 -0
  238. package/dist/cli-bundle/chunks/{chunk-IZHCCG4S.js → chunk-G2YVUY7I.js} +14 -9
  239. package/dist/cli-bundle/chunks/chunk-G2YVUY7I.js.map +1 -0
  240. package/dist/cli-bundle/chunks/{chunk-5HSAHRYA.js → chunk-G3CEIXTV.js} +68 -19
  241. package/dist/cli-bundle/chunks/chunk-G3CEIXTV.js.map +7 -0
  242. package/dist/cli-bundle/chunks/{chunk-QQG4HEX7.js → chunk-GAVE4MYM.js} +37 -63
  243. package/dist/cli-bundle/chunks/chunk-GAVE4MYM.js.map +1 -0
  244. package/dist/cli-bundle/chunks/{chunk-3FMQMHAG.js → chunk-GQ4JKNMV.js} +4 -4
  245. package/dist/cli-bundle/chunks/{chunk-3FMQMHAG.js.map → chunk-GQ4JKNMV.js.map} +1 -1
  246. package/dist/cli-bundle/chunks/{chunk-MACCNKSZ.js → chunk-GYMG7AG6.js} +36 -62
  247. package/dist/cli-bundle/chunks/chunk-GYMG7AG6.js.map +7 -0
  248. package/dist/cli-bundle/chunks/{chunk-7CRFV6JR.js → chunk-H6EH6ENJ.js} +362 -22
  249. package/dist/cli-bundle/chunks/chunk-H6EH6ENJ.js.map +7 -0
  250. package/dist/cli-bundle/chunks/{chunk-2J2AH4V5.js → chunk-HDIDUME4.js} +45 -13
  251. package/dist/cli-bundle/chunks/chunk-HDIDUME4.js.map +1 -0
  252. package/dist/cli-bundle/chunks/{chunk-2ANTZBYF.js → chunk-HPELHUTG.js} +122 -45
  253. package/dist/cli-bundle/chunks/chunk-HPELHUTG.js.map +1 -0
  254. package/dist/cli-bundle/chunks/{chunk-VNC2HBL4.js → chunk-II7OGE3V.js} +20 -9
  255. package/dist/cli-bundle/chunks/chunk-II7OGE3V.js.map +1 -0
  256. package/dist/cli-bundle/chunks/{chunk-CEGUH2E5.js → chunk-ILHLIA47.js} +5 -5
  257. package/dist/cli-bundle/chunks/{chunk-CEGUH2E5.js.map → chunk-ILHLIA47.js.map} +1 -1
  258. package/dist/cli-bundle/chunks/{chunk-4TPFXE2R.js → chunk-IMQG4VR3.js} +118 -74
  259. package/dist/cli-bundle/chunks/chunk-IMQG4VR3.js.map +1 -0
  260. package/dist/cli-bundle/chunks/{chunk-MGAQ6KZG.js → chunk-IQVB3YDD.js} +82 -21
  261. package/dist/cli-bundle/chunks/chunk-IQVB3YDD.js.map +7 -0
  262. package/dist/cli-bundle/chunks/{chunk-WLH7X4RN.js → chunk-KQ3LAMDO.js} +45 -13
  263. package/dist/cli-bundle/chunks/chunk-KQ3LAMDO.js.map +7 -0
  264. package/dist/cli-bundle/chunks/{chunk-S2CDTRJ6.js → chunk-KTVETP66.js} +379 -271
  265. package/dist/cli-bundle/chunks/chunk-KTVETP66.js.map +1 -0
  266. package/dist/cli-bundle/chunks/{chunk-36BCSMKP.js → chunk-KZYVTOG5.js} +26 -11
  267. package/dist/cli-bundle/chunks/chunk-KZYVTOG5.js.map +7 -0
  268. package/dist/cli-bundle/chunks/{chunk-XWDZVCBJ.js → chunk-L6FJPOT4.js} +11 -10
  269. package/dist/cli-bundle/chunks/{chunk-XWDZVCBJ.js.map → chunk-L6FJPOT4.js.map} +1 -1
  270. package/dist/cli-bundle/chunks/{chunk-LFW5NQUP.js → chunk-LV5FFQ7M.js} +405 -290
  271. package/dist/cli-bundle/chunks/chunk-LV5FFQ7M.js.map +7 -0
  272. package/dist/cli-bundle/chunks/{chunk-PNYAAB4S.js → chunk-LWGMDLQ6.js} +8 -3
  273. package/dist/cli-bundle/chunks/chunk-LWGMDLQ6.js.map +1 -0
  274. package/dist/cli-bundle/chunks/{chunk-QU3OPNVV.js → chunk-M23HXJL3.js} +2 -2
  275. package/dist/cli-bundle/chunks/{chunk-LSSTKL3Y.js → chunk-MJZUZ2QE.js} +3 -3
  276. package/dist/cli-bundle/chunks/{chunk-LOAR5TKX.js → chunk-NCIBNERT.js} +4 -4
  277. package/dist/cli-bundle/chunks/{chunk-LOAR5TKX.js.map → chunk-NCIBNERT.js.map} +1 -1
  278. package/dist/cli-bundle/chunks/{chunk-6TBR5AZ2.js → chunk-NIQHNDBZ.js} +76 -8
  279. package/dist/cli-bundle/chunks/chunk-NIQHNDBZ.js.map +7 -0
  280. package/dist/cli-bundle/chunks/{chunk-Z647PYLD.js → chunk-O46LTCXQ.js} +4 -4
  281. package/dist/cli-bundle/chunks/{chunk-GFBEXDCQ.js → chunk-OCTQJP42.js} +19 -8
  282. package/dist/cli-bundle/chunks/{chunk-GFBEXDCQ.js.map → chunk-OCTQJP42.js.map} +2 -2
  283. package/dist/cli-bundle/chunks/{chunk-HLEGAQXT.js → chunk-OLTYNVJR.js} +5 -5
  284. package/dist/cli-bundle/chunks/{chunk-IXVSSHGV.js → chunk-OY3P2I6B.js} +13 -8
  285. package/dist/cli-bundle/chunks/chunk-OY3P2I6B.js.map +7 -0
  286. package/dist/cli-bundle/chunks/{chunk-KHGTYCJ6.js → chunk-PZD7WPUC.js} +69 -20
  287. package/dist/cli-bundle/chunks/chunk-PZD7WPUC.js.map +1 -0
  288. package/dist/cli-bundle/chunks/{chunk-4FHLNNW7.js → chunk-Q5RLUCP3.js} +74 -14
  289. package/dist/cli-bundle/chunks/chunk-Q5RLUCP3.js.map +7 -0
  290. package/dist/cli-bundle/chunks/{chunk-SOHXUA2Q.js → chunk-RKKIH2ZQ.js} +116 -36
  291. package/dist/cli-bundle/chunks/chunk-RKKIH2ZQ.js.map +1 -0
  292. package/dist/cli-bundle/chunks/{chunk-O3YCJOVX.js → chunk-SPYPC5CB.js} +3 -3
  293. package/dist/cli-bundle/chunks/{chunk-O3YCJOVX.js.map → chunk-SPYPC5CB.js.map} +1 -1
  294. package/dist/cli-bundle/chunks/{chunk-SGMGMCIF.js → chunk-SY4GKIWT.js} +82 -21
  295. package/dist/cli-bundle/chunks/chunk-SY4GKIWT.js.map +1 -0
  296. package/dist/cli-bundle/chunks/{chunk-5LMF75Q7.js → chunk-SY4PZWIZ.js} +7 -4
  297. package/dist/cli-bundle/chunks/{chunk-5LMF75Q7.js.map → chunk-SY4PZWIZ.js.map} +2 -2
  298. package/dist/cli-bundle/chunks/{chunk-HWHONML5.js → chunk-T5VU7ROQ.js} +4 -4
  299. package/dist/cli-bundle/chunks/{chunk-JWXTOYBI.js → chunk-TIRZIQRP.js} +121 -44
  300. package/dist/cli-bundle/chunks/chunk-TIRZIQRP.js.map +7 -0
  301. package/dist/cli-bundle/chunks/{chunk-PEH7SZD2.js → chunk-TUB3DZAZ.js} +105 -31
  302. package/dist/cli-bundle/chunks/chunk-TUB3DZAZ.js.map +7 -0
  303. package/dist/cli-bundle/chunks/chunk-UAR2VNCK.js +394 -0
  304. package/dist/cli-bundle/chunks/chunk-UAR2VNCK.js.map +1 -0
  305. package/dist/cli-bundle/chunks/{chunk-NN6RKGFW.js → chunk-UBMCSJXX.js} +3 -3
  306. package/dist/cli-bundle/chunks/{chunk-JE5IZXDS.js → chunk-UUKORJSN.js} +4 -4
  307. package/dist/cli-bundle/chunks/{chunk-R4VWYWRN.js → chunk-W3HFLORZ.js} +7 -2
  308. package/dist/cli-bundle/chunks/chunk-W3HFLORZ.js.map +7 -0
  309. package/dist/cli-bundle/chunks/{chunk-LGOXXQUW.js → chunk-WZCQVABQ.js} +2 -2
  310. package/dist/cli-bundle/chunks/chunk-X3W5ESZQ.js +32 -0
  311. package/dist/cli-bundle/chunks/chunk-X3W5ESZQ.js.map +1 -0
  312. package/dist/cli-bundle/chunks/{chunk-M3SI2REU.js → chunk-XLNNCKTN.js} +322 -19
  313. package/dist/cli-bundle/chunks/chunk-XLNNCKTN.js.map +7 -0
  314. package/dist/cli-bundle/chunks/{chunk-4JHJ7YG2.js → chunk-XNOY7TCB.js} +118 -74
  315. package/dist/cli-bundle/chunks/chunk-XNOY7TCB.js.map +7 -0
  316. package/dist/cli-bundle/chunks/{chunk-DWG4FHPY.js → chunk-YGRPBFMA.js} +2 -2
  317. package/dist/cli-bundle/chunks/{chunk-JW7D6437.js → chunk-YXTLI4XP.js} +20 -9
  318. package/dist/cli-bundle/chunks/chunk-YXTLI4XP.js.map +1 -0
  319. package/dist/cli-bundle/chunks/{chunk-TSXWFN3L.js → chunk-Z3MUNQRV.js} +52 -9
  320. package/dist/cli-bundle/chunks/chunk-Z3MUNQRV.js.map +1 -0
  321. package/dist/cli-bundle/chunks/{chunk-GOO4UXBI.js → chunk-ZJRDVYZI.js} +4 -4
  322. package/dist/cli-bundle/chunks/{chunk-32XSW44C.js → chunk-ZONXMSVB.js} +10 -9
  323. package/dist/cli-bundle/chunks/chunk-ZONXMSVB.js.map +1 -0
  324. package/dist/cli-bundle/chunks/{claim-QJOQBH7J.js → claim-4APLUXJW.js} +10 -10
  325. package/dist/cli-bundle/chunks/{claim-HE6KEGJW.js → claim-NEO7AGWH.js} +10 -10
  326. package/dist/cli-bundle/chunks/{close-SPUFW5QR.js → close-3QABBNGU.js} +8 -8
  327. package/dist/cli-bundle/chunks/close-ILMZR3D7.js +13 -0
  328. package/dist/cli-bundle/chunks/{close-many-GKAJX54X.js → close-many-MIZLTYGL.js} +32 -20
  329. package/dist/cli-bundle/chunks/close-many-MIZLTYGL.js.map +1 -0
  330. package/dist/cli-bundle/chunks/{close-many-GL6NRUU5.js → close-many-Q7Y5AHQI.js} +31 -19
  331. package/dist/cli-bundle/chunks/close-many-Q7Y5AHQI.js.map +7 -0
  332. package/dist/cli-bundle/chunks/{comments-5FPT6L7N.js → comments-DAIQPOMU.js} +55 -31
  333. package/dist/cli-bundle/chunks/comments-DAIQPOMU.js.map +1 -0
  334. package/dist/cli-bundle/chunks/{comments-TOLOYWNI.js → comments-IWFSVM4P.js} +54 -30
  335. package/dist/cli-bundle/chunks/comments-IWFSVM4P.js.map +7 -0
  336. package/dist/cli-bundle/chunks/{config-4MN45TIH.js → config-IOJELD6O.js} +45 -19
  337. package/dist/cli-bundle/chunks/config-IOJELD6O.js.map +1 -0
  338. package/dist/cli-bundle/chunks/{config-7N6D7YJE.js → config-PXTMAYV3.js} +44 -18
  339. package/dist/cli-bundle/chunks/config-PXTMAYV3.js.map +7 -0
  340. package/dist/cli-bundle/chunks/{context-AQSLE7DZ.js → context-QHJSCJW4.js} +128 -39
  341. package/dist/cli-bundle/chunks/context-QHJSCJW4.js.map +1 -0
  342. package/dist/cli-bundle/chunks/{context-U3PUJMVN.js → context-XZS2VFKU.js} +127 -38
  343. package/dist/cli-bundle/chunks/context-XZS2VFKU.js.map +7 -0
  344. package/dist/cli-bundle/chunks/{contracts-ITSJXO3O.js → contracts-B7U4OJTV.js} +54 -10
  345. package/dist/cli-bundle/chunks/contracts-B7U4OJTV.js.map +1 -0
  346. package/dist/cli-bundle/chunks/{contracts-H7KCQXLY.js → contracts-NSBVLXQ3.js} +54 -10
  347. package/dist/cli-bundle/chunks/contracts-NSBVLXQ3.js.map +7 -0
  348. package/dist/cli-bundle/chunks/{copy-EB3MUCSW.js → copy-Q64T5FD4.js} +7 -7
  349. package/dist/cli-bundle/chunks/{copy-C4W522JM.js → copy-SG34LCMU.js} +7 -7
  350. package/dist/cli-bundle/chunks/create-F5HZX2S4.js +30 -0
  351. package/dist/cli-bundle/chunks/{create-4EQNELMY.js → create-IPAX2SNL.js} +16 -13
  352. package/dist/cli-bundle/chunks/{delete-ZLGUYIXU.js → delete-TLXR7LJ2.js} +7 -7
  353. package/dist/cli-bundle/chunks/{delete-X5QLXIQX.js → delete-VH3L7DZ6.js} +7 -7
  354. package/dist/cli-bundle/chunks/{deps-GPB3LGWN.js → deps-J3HBBLDB.js} +9 -10
  355. package/dist/cli-bundle/chunks/{deps-GPB3LGWN.js.map → deps-J3HBBLDB.js.map} +2 -2
  356. package/dist/cli-bundle/chunks/{deps-HV2C2L46.js → deps-XV6JJ6IN.js} +10 -11
  357. package/dist/cli-bundle/chunks/deps-XV6JJ6IN.js.map +1 -0
  358. package/dist/cli-bundle/chunks/{docs-SRTLCQOL.js → docs-GWDEB7JH.js} +9 -9
  359. package/dist/cli-bundle/chunks/{docs-RJQPLROO.js → docs-RCLNSKID.js} +9 -9
  360. package/dist/cli-bundle/chunks/{extension-MM3TVWOO.js → extension-5RN65LHT.js} +7 -5
  361. package/dist/cli-bundle/chunks/{extension-WKPVPNCC.js → extension-7KO2NX2A.js} +7 -5
  362. package/dist/cli-bundle/chunks/{files-OIFN3DQX.js → files-3TCQHUHA.js} +25 -11
  363. package/dist/cli-bundle/chunks/files-3TCQHUHA.js.map +1 -0
  364. package/dist/cli-bundle/chunks/{files-LIFDKNCN.js → files-5FDUPSEA.js} +24 -10
  365. package/dist/cli-bundle/chunks/files-5FDUPSEA.js.map +7 -0
  366. package/dist/cli-bundle/chunks/focus-7AQMNRSU.js +109 -0
  367. package/dist/cli-bundle/chunks/focus-7AQMNRSU.js.map +7 -0
  368. package/dist/cli-bundle/chunks/focus-HQXBYPKM.js +106 -0
  369. package/dist/cli-bundle/chunks/focus-HQXBYPKM.js.map +1 -0
  370. package/dist/cli-bundle/chunks/{gc-DL6AVOX5.js → gc-2FGKYRJ4.js} +3 -3
  371. package/dist/cli-bundle/chunks/{gc-NRFHLVFT.js → gc-5B6ABL3Z.js} +3 -3
  372. package/dist/cli-bundle/chunks/{get-SAB7CRBG.js → get-FUMVOJQD.js} +43 -16
  373. package/dist/cli-bundle/chunks/get-FUMVOJQD.js.map +1 -0
  374. package/dist/cli-bundle/chunks/{get-K7UULTQF.js → get-H5BZTW4A.js} +42 -15
  375. package/dist/cli-bundle/chunks/get-H5BZTW4A.js.map +7 -0
  376. package/dist/cli-bundle/chunks/{health-NUVZYIEV.js → health-JSVOR6B4.js} +75 -49
  377. package/dist/cli-bundle/chunks/health-JSVOR6B4.js.map +1 -0
  378. package/dist/cli-bundle/chunks/{health-VJWH3ZFK.js → health-LE2ZQGSM.js} +74 -48
  379. package/dist/cli-bundle/chunks/health-LE2ZQGSM.js.map +7 -0
  380. package/dist/cli-bundle/chunks/{history-GYFD2DJW.js → history-QO4JVJJP.js} +10 -10
  381. package/dist/cli-bundle/chunks/history-SSXGGTVZ.js +20 -0
  382. package/dist/cli-bundle/chunks/{history-compact-WQZQ6KXM.js → history-compact-ID74DOUI.js} +37 -46
  383. package/dist/cli-bundle/chunks/history-compact-ID74DOUI.js.map +7 -0
  384. package/dist/cli-bundle/chunks/{history-compact-SLL6ESXH.js → history-compact-SDFRPZ4V.js} +38 -47
  385. package/dist/cli-bundle/chunks/history-compact-SDFRPZ4V.js.map +1 -0
  386. package/dist/cli-bundle/chunks/history-redact-VBH44Y7F.js +21 -0
  387. package/dist/cli-bundle/chunks/{history-redact-SDTDR6WM.js → history-redact-Z4P5MM3G.js} +13 -11
  388. package/dist/cli-bundle/chunks/{history-repair-UCYS55ZX.js → history-repair-ANHEYWKF.js} +43 -48
  389. package/dist/cli-bundle/chunks/history-repair-ANHEYWKF.js.map +7 -0
  390. package/dist/cli-bundle/chunks/{history-repair-BJCGM6Q3.js → history-repair-CKE7GLZR.js} +44 -49
  391. package/dist/cli-bundle/chunks/history-repair-CKE7GLZR.js.map +1 -0
  392. package/dist/cli-bundle/chunks/init-7FBQO77A.js +19 -0
  393. package/dist/cli-bundle/chunks/{init-MXV57LKL.js → init-K6MSMB37.js} +11 -9
  394. package/dist/cli-bundle/chunks/{learnings-QKJOKEAO.js → learnings-VIS3NOQV.js} +13 -12
  395. package/dist/cli-bundle/chunks/learnings-VIS3NOQV.js.map +7 -0
  396. package/dist/cli-bundle/chunks/{learnings-L6KTZGOT.js → learnings-YYNB64GN.js} +14 -13
  397. package/dist/cli-bundle/chunks/learnings-YYNB64GN.js.map +1 -0
  398. package/dist/cli-bundle/chunks/list-7UE44A2R.js +29 -0
  399. package/dist/cli-bundle/chunks/list-UHMA3N2K.js +33 -0
  400. package/dist/cli-bundle/chunks/{notes-3NLK7WTZ.js → notes-2HRMV67I.js} +14 -13
  401. package/dist/cli-bundle/chunks/notes-2HRMV67I.js.map +1 -0
  402. package/dist/cli-bundle/chunks/{notes-HMCB7TK6.js → notes-IN3UMA7W.js} +13 -12
  403. package/dist/cli-bundle/chunks/notes-IN3UMA7W.js.map +7 -0
  404. package/dist/cli-bundle/chunks/{plan-DWBYI5C6.js → plan-I3SVH7FV.js} +16 -15
  405. package/dist/cli-bundle/chunks/plan-I3SVH7FV.js.map +1 -0
  406. package/dist/cli-bundle/chunks/{plan-NANUWH4T.js → plan-PAWCCAPW.js} +15 -14
  407. package/dist/cli-bundle/chunks/plan-PAWCCAPW.js.map +7 -0
  408. package/dist/cli-bundle/chunks/{register-list-query-PWQ5F2VI.js → register-list-query-N7Z7RTDM.js} +31 -22
  409. package/dist/cli-bundle/chunks/register-list-query-N7Z7RTDM.js.map +7 -0
  410. package/dist/cli-bundle/chunks/{register-list-query-SMMMLSWW.js → register-list-query-OTIK4DVA.js} +32 -23
  411. package/dist/cli-bundle/chunks/register-list-query-OTIK4DVA.js.map +1 -0
  412. package/dist/cli-bundle/chunks/{register-mutation-QKFPTIZG.js → register-mutation-UFZK6Q57.js} +216 -66
  413. package/dist/cli-bundle/chunks/register-mutation-UFZK6Q57.js.map +7 -0
  414. package/dist/cli-bundle/chunks/{register-mutation-ZYJQ4DVP.js → register-mutation-XFORLS6D.js} +210 -67
  415. package/dist/cli-bundle/chunks/register-mutation-XFORLS6D.js.map +1 -0
  416. package/dist/cli-bundle/chunks/{register-operations-2FMZ6WEF.js → register-operations-6ZCLKRBG.js} +53 -39
  417. package/dist/cli-bundle/chunks/register-operations-6ZCLKRBG.js.map +7 -0
  418. package/dist/cli-bundle/chunks/{register-operations-BAFQURZG.js → register-operations-ITE7JTH3.js} +54 -40
  419. package/dist/cli-bundle/chunks/register-operations-ITE7JTH3.js.map +1 -0
  420. package/dist/cli-bundle/chunks/{register-setup-QN2XV7UL.js → register-setup-7RKGE4BQ.js} +18 -21
  421. package/dist/cli-bundle/chunks/register-setup-7RKGE4BQ.js.map +1 -0
  422. package/dist/cli-bundle/chunks/{register-setup-DQEIKBIP.js → register-setup-7UKEFKT6.js} +17 -20
  423. package/dist/cli-bundle/chunks/register-setup-7UKEFKT6.js.map +7 -0
  424. package/dist/cli-bundle/chunks/{restore-FJQWXMPY.js → restore-NNVPBBVJ.js} +13 -11
  425. package/dist/cli-bundle/chunks/restore-XXXLQ2XC.js +19 -0
  426. package/dist/cli-bundle/chunks/{schema-RNVJ55V2.js → schema-3HCLXCFX.js} +27 -9
  427. package/dist/cli-bundle/chunks/schema-3HCLXCFX.js.map +7 -0
  428. package/dist/cli-bundle/chunks/{schema-ZZ7ZDM2X.js → schema-3YKCQ3VO.js} +28 -10
  429. package/dist/cli-bundle/chunks/schema-3YKCQ3VO.js.map +1 -0
  430. package/dist/cli-bundle/chunks/{search-BJ457C2A.js → search-NQ42NC6A.js} +328 -71
  431. package/dist/cli-bundle/chunks/search-NQ42NC6A.js.map +7 -0
  432. package/dist/cli-bundle/chunks/{search-FQDZXX7P.js → search-V7PZ2ICH.js} +328 -71
  433. package/dist/cli-bundle/chunks/search-V7PZ2ICH.js.map +1 -0
  434. package/dist/cli-bundle/chunks/{stats-DUQWCVOS.js → stats-7KD4PJC5.js} +41 -16
  435. package/dist/cli-bundle/chunks/stats-7KD4PJC5.js.map +7 -0
  436. package/dist/cli-bundle/chunks/{stats-CUG3ZHOI.js → stats-GRHO6RFB.js} +42 -17
  437. package/dist/cli-bundle/chunks/stats-GRHO6RFB.js.map +1 -0
  438. package/dist/cli-bundle/chunks/{telemetry-33MRGX4Z.js → telemetry-H5GLXNG5.js} +6 -6
  439. package/dist/cli-bundle/chunks/telemetry-H5GLXNG5.js.map +7 -0
  440. package/dist/cli-bundle/chunks/{telemetry-RK2VX75A.js → telemetry-TRRYZXWT.js} +7 -7
  441. package/dist/cli-bundle/chunks/telemetry-TRRYZXWT.js.map +1 -0
  442. package/dist/cli-bundle/chunks/test-6CZNIIGA.js +34 -0
  443. package/dist/cli-bundle/chunks/{test-Y3CTFMEC.js → test-7GVQ3VMN.js} +16 -14
  444. package/dist/cli-bundle/chunks/{test-all-ANYQ33O2.js → test-all-3LF2OZD2.js} +23 -16
  445. package/dist/cli-bundle/chunks/test-all-3LF2OZD2.js.map +7 -0
  446. package/dist/cli-bundle/chunks/{test-all-ARSMX33Q.js → test-all-ODVADHV6.js} +24 -17
  447. package/dist/cli-bundle/chunks/test-all-ODVADHV6.js.map +1 -0
  448. package/dist/cli-bundle/chunks/{test-runs-5URSD34O.js → test-runs-LYT6ZTNQ.js} +62 -65
  449. package/dist/cli-bundle/chunks/test-runs-LYT6ZTNQ.js.map +1 -0
  450. package/dist/cli-bundle/chunks/{test-runs-XNACGSNQ.js → test-runs-RVP6VWN7.js} +61 -64
  451. package/dist/cli-bundle/chunks/test-runs-RVP6VWN7.js.map +7 -0
  452. package/dist/cli-bundle/chunks/update-MPGM6SBE.js +28 -0
  453. package/dist/cli-bundle/chunks/update-UN75XW3C.js +24 -0
  454. package/dist/cli-bundle/chunks/{update-many-6B7PJ33I.js → update-many-FCU6RKTO.js} +80 -34
  455. package/dist/cli-bundle/chunks/update-many-FCU6RKTO.js.map +1 -0
  456. package/dist/cli-bundle/chunks/{update-many-724JCVDE.js → update-many-XSEQJ24X.js} +79 -33
  457. package/dist/cli-bundle/chunks/update-many-XSEQJ24X.js.map +7 -0
  458. package/dist/cli-bundle/chunks/{upgrade-ALBEZAI7.js → upgrade-A6TL3INC.js} +22 -8
  459. package/dist/cli-bundle/chunks/upgrade-A6TL3INC.js.map +7 -0
  460. package/dist/cli-bundle/chunks/{upgrade-QHRGDBSA.js → upgrade-FOB5LHO5.js} +23 -9
  461. package/dist/cli-bundle/chunks/upgrade-FOB5LHO5.js.map +1 -0
  462. package/dist/cli-bundle/chunks/{validate-IQRYFXIV.js → validate-7BLDG3AT.js} +221 -30
  463. package/dist/cli-bundle/chunks/validate-7BLDG3AT.js.map +1 -0
  464. package/dist/cli-bundle/chunks/{validate-UY6DRCG5.js → validate-EHL3MI2V.js} +235 -30
  465. package/dist/cli-bundle/chunks/validate-EHL3MI2V.js.map +7 -0
  466. package/dist/cli-bundle/main.js +270 -139
  467. package/dist/cli-bundle/main.js.map +3 -3
  468. package/dist/cli.d.ts +10 -0
  469. package/dist/cli.js +21 -8
  470. package/dist/cli.js.map +1 -1
  471. package/dist/core/diagnostics/remediation.js +7 -2
  472. package/dist/core/diagnostics/remediation.js.map +1 -1
  473. package/dist/core/extensions/extension-policy.js +14 -15
  474. package/dist/core/extensions/extension-policy.js.map +1 -1
  475. package/dist/core/extensions/item-fields.js +4 -5
  476. package/dist/core/extensions/item-fields.js.map +1 -1
  477. package/dist/core/extensions/loader.d.ts +75 -1
  478. package/dist/core/extensions/loader.js +56 -32
  479. package/dist/core/extensions/loader.js.map +1 -1
  480. package/dist/core/governance/content-fields.d.ts +84 -0
  481. package/dist/core/governance/content-fields.js +182 -0
  482. package/dist/core/governance/content-fields.js.map +1 -0
  483. package/dist/core/governance/issue-codes.d.ts +51 -0
  484. package/dist/core/governance/issue-codes.js +95 -0
  485. package/dist/core/governance/issue-codes.js.map +1 -0
  486. package/dist/core/governance/metadata-coverage.d.ts +168 -0
  487. package/dist/core/governance/metadata-coverage.js +362 -0
  488. package/dist/core/governance/metadata-coverage.js.map +1 -0
  489. package/dist/core/history/history-rewrite.d.ts +22 -0
  490. package/dist/core/history/history-rewrite.js +38 -2
  491. package/dist/core/history/history-rewrite.js.map +1 -1
  492. package/dist/core/history/history.d.ts +7 -0
  493. package/dist/core/history/history.js +6 -2
  494. package/dist/core/history/history.js.map +1 -1
  495. package/dist/core/io/body-file.d.ts +14 -0
  496. package/dist/core/io/body-file.js +47 -0
  497. package/dist/core/io/body-file.js.map +1 -0
  498. package/dist/core/item/item-format.d.ts +46 -1
  499. package/dist/core/item/item-format.js +51 -60
  500. package/dist/core/item/item-format.js.map +1 -1
  501. package/dist/core/item/parse.d.ts +9 -0
  502. package/dist/core/item/parse.js +10 -16
  503. package/dist/core/item/parse.js.map +1 -1
  504. package/dist/core/item/type-registry.d.ts +1 -0
  505. package/dist/core/item/type-registry.js +8 -10
  506. package/dist/core/item/type-registry.js.map +1 -1
  507. package/dist/core/lock/lock.d.ts +26 -0
  508. package/dist/core/lock/lock.js +10 -2
  509. package/dist/core/lock/lock.js.map +1 -1
  510. package/dist/core/output/output.d.ts +7 -0
  511. package/dist/core/output/output.js +6 -2
  512. package/dist/core/output/output.js.map +1 -1
  513. package/dist/core/schema/item-types-file.d.ts +25 -2
  514. package/dist/core/schema/item-types-file.js +78 -6
  515. package/dist/core/schema/item-types-file.js.map +1 -1
  516. package/dist/core/schema/runtime-schema.d.ts +7 -0
  517. package/dist/core/schema/runtime-schema.js +23 -16
  518. package/dist/core/schema/runtime-schema.js.map +1 -1
  519. package/dist/core/search/cache.d.ts +19 -1
  520. package/dist/core/search/cache.js +11 -3
  521. package/dist/core/search/cache.js.map +1 -1
  522. package/dist/core/search/corpus.d.ts +36 -2
  523. package/dist/core/search/corpus.js +120 -24
  524. package/dist/core/search/corpus.js.map +1 -1
  525. package/dist/core/search/providers.d.ts +19 -0
  526. package/dist/core/search/providers.js +19 -2
  527. package/dist/core/search/providers.js.map +1 -1
  528. package/dist/core/sentry/instrument.d.ts +1 -0
  529. package/dist/core/sentry/instrument.js +6 -2
  530. package/dist/core/sentry/instrument.js.map +1 -1
  531. package/dist/core/session/session-state.d.ts +16 -0
  532. package/dist/core/session/session-state.js +48 -0
  533. package/dist/core/session/session-state.js.map +1 -0
  534. package/dist/core/shared/constants.d.ts +8 -0
  535. package/dist/core/shared/constants.js +11 -2
  536. package/dist/core/shared/constants.js.map +1 -1
  537. package/dist/core/shared/text-normalization.js +4 -3
  538. package/dist/core/shared/text-normalization.js.map +1 -1
  539. package/dist/core/shared/time.d.ts +13 -0
  540. package/dist/core/shared/time.js +19 -7
  541. package/dist/core/shared/time.js.map +1 -1
  542. package/dist/core/store/item-store.d.ts +11 -0
  543. package/dist/core/store/item-store.js +12 -3
  544. package/dist/core/store/item-store.js.map +1 -1
  545. package/dist/core/store/settings-validator.d.ts +2 -0
  546. package/dist/core/store/settings-validator.js +25 -2
  547. package/dist/core/store/settings-validator.js.map +1 -1
  548. package/dist/core/store/settings.d.ts +60 -1
  549. package/dist/core/store/settings.js +100 -46
  550. package/dist/core/store/settings.js.map +1 -1
  551. package/dist/core/telemetry/observability.js +10 -8
  552. package/dist/core/telemetry/observability.js.map +1 -1
  553. package/dist/core/telemetry/runtime.d.ts +272 -1
  554. package/dist/core/telemetry/runtime.js +358 -37
  555. package/dist/core/telemetry/runtime.js.map +1 -1
  556. package/dist/core/test/background-runs.d.ts +35 -0
  557. package/dist/core/test/background-runs.js +72 -61
  558. package/dist/core/test/background-runs.js.map +1 -1
  559. package/dist/core/test/run-selectors.js +5 -4
  560. package/dist/core/test/run-selectors.js.map +1 -1
  561. package/dist/core/validate/estimate-defaults.d.ts +39 -0
  562. package/dist/core/validate/estimate-defaults.js +117 -0
  563. package/dist/core/validate/estimate-defaults.js.map +1 -0
  564. package/dist/core/validate/fix-planning.d.ts +21 -3
  565. package/dist/core/validate/fix-planning.js +31 -4
  566. package/dist/core/validate/fix-planning.js.map +1 -1
  567. package/dist/core/validate/missing-link-owners.d.ts +64 -0
  568. package/dist/core/validate/missing-link-owners.js +98 -0
  569. package/dist/core/validate/missing-link-owners.js.map +1 -0
  570. package/dist/mcp/server.d.ts +61 -0
  571. package/dist/mcp/server.js +50 -7
  572. package/dist/mcp/server.js.map +1 -1
  573. package/dist/mcp/tool-definitions.js +17 -4
  574. package/dist/mcp/tool-definitions.js.map +1 -1
  575. package/dist/sdk/cli-contracts/commander-types.js +13 -2
  576. package/dist/sdk/cli-contracts/commander-types.js.map +1 -1
  577. package/dist/sdk/cli-contracts/enum-contracts.d.ts +2 -2
  578. package/dist/sdk/cli-contracts/enum-contracts.js +4 -2
  579. package/dist/sdk/cli-contracts/enum-contracts.js.map +1 -1
  580. package/dist/sdk/cli-contracts/tool-option-contracts.js +110 -2
  581. package/dist/sdk/cli-contracts/tool-option-contracts.js.map +1 -1
  582. package/dist/sdk/cli-contracts/tool-parameter-tables.js +83 -8
  583. package/dist/sdk/cli-contracts/tool-parameter-tables.js.map +1 -1
  584. package/dist/sdk/cli-contracts.d.ts +28 -0
  585. package/dist/sdk/cli-contracts.js +164 -11
  586. package/dist/sdk/cli-contracts.js.map +1 -1
  587. package/dist/types.d.ts +17 -1
  588. package/dist/types.js +3 -3
  589. package/dist/types.js.map +1 -1
  590. package/docs/AGENT_GUIDE.md +15 -3
  591. package/docs/CLAUDE_CODE_PLUGIN.md +2 -2
  592. package/docs/COMMANDS.md +136 -7
  593. package/docs/CONFIGURATION.md +52 -0
  594. package/docs/TESTING.md +6 -4
  595. package/package.json +6 -4
  596. package/packages/pm-calendar/extensions/calendar/runtime.js +6 -0
  597. package/packages/pm-calendar/extensions/calendar/runtime.ts +12 -0
  598. package/packages/pm-todos/extensions/todos/runtime.ts +5 -0
  599. package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
  600. package/plugins/pm-claude/README.md +3 -3
  601. package/plugins/pm-claude/commands/pm-init.md +1 -1
  602. package/plugins/pm-codex/README.md +1 -1
  603. package/scripts/bundle-cli.mjs +46 -37
  604. package/scripts/finalize-build.mjs +20 -9
  605. package/scripts/prepare-build-cache.mjs +27 -16
  606. package/dist/cli-bundle/chunks/activity-XIOTGZMU.js +0 -16
  607. package/dist/cli-bundle/chunks/aggregate-IRHJWEKG.js.map +0 -1
  608. package/dist/cli-bundle/chunks/aggregate-XEBW22UQ.js.map +0 -7
  609. package/dist/cli-bundle/chunks/append-NL67JNJU.js.map +0 -1
  610. package/dist/cli-bundle/chunks/chunk-2ANTZBYF.js.map +0 -1
  611. package/dist/cli-bundle/chunks/chunk-2J2AH4V5.js.map +0 -1
  612. package/dist/cli-bundle/chunks/chunk-32XSW44C.js.map +0 -1
  613. package/dist/cli-bundle/chunks/chunk-36BCSMKP.js.map +0 -7
  614. package/dist/cli-bundle/chunks/chunk-3VULHQNS.js.map +0 -1
  615. package/dist/cli-bundle/chunks/chunk-4FHLNNW7.js.map +0 -7
  616. package/dist/cli-bundle/chunks/chunk-4JHJ7YG2.js.map +0 -7
  617. package/dist/cli-bundle/chunks/chunk-4TPFXE2R.js.map +0 -1
  618. package/dist/cli-bundle/chunks/chunk-4ZKKZMLH.js.map +0 -1
  619. package/dist/cli-bundle/chunks/chunk-5HSAHRYA.js.map +0 -7
  620. package/dist/cli-bundle/chunks/chunk-6TBR5AZ2.js.map +0 -7
  621. package/dist/cli-bundle/chunks/chunk-7CRFV6JR.js.map +0 -7
  622. package/dist/cli-bundle/chunks/chunk-7SM7VA5I.js.map +0 -7
  623. package/dist/cli-bundle/chunks/chunk-AAUYXSFF.js.map +0 -7
  624. package/dist/cli-bundle/chunks/chunk-AGG32LKL.js.map +0 -1
  625. package/dist/cli-bundle/chunks/chunk-AUDDXKNX.js.map +0 -1
  626. package/dist/cli-bundle/chunks/chunk-BVL5KGVA.js.map +0 -1
  627. package/dist/cli-bundle/chunks/chunk-C24PWDFG.js +0 -138
  628. package/dist/cli-bundle/chunks/chunk-C24PWDFG.js.map +0 -7
  629. package/dist/cli-bundle/chunks/chunk-HZOX5BYD.js.map +0 -7
  630. package/dist/cli-bundle/chunks/chunk-IXVSSHGV.js.map +0 -7
  631. package/dist/cli-bundle/chunks/chunk-IZHCCG4S.js.map +0 -1
  632. package/dist/cli-bundle/chunks/chunk-JW7D6437.js.map +0 -1
  633. package/dist/cli-bundle/chunks/chunk-JWXTOYBI.js.map +0 -7
  634. package/dist/cli-bundle/chunks/chunk-KHGTYCJ6.js.map +0 -1
  635. package/dist/cli-bundle/chunks/chunk-L6YQONLM.js.map +0 -1
  636. package/dist/cli-bundle/chunks/chunk-LFW5NQUP.js.map +0 -7
  637. package/dist/cli-bundle/chunks/chunk-LYNQ3NGI.js.map +0 -1
  638. package/dist/cli-bundle/chunks/chunk-M3SI2REU.js.map +0 -7
  639. package/dist/cli-bundle/chunks/chunk-MACCNKSZ.js.map +0 -7
  640. package/dist/cli-bundle/chunks/chunk-MGAQ6KZG.js.map +0 -7
  641. package/dist/cli-bundle/chunks/chunk-PEH7SZD2.js.map +0 -7
  642. package/dist/cli-bundle/chunks/chunk-PNYAAB4S.js.map +0 -1
  643. package/dist/cli-bundle/chunks/chunk-QQG4HEX7.js.map +0 -1
  644. package/dist/cli-bundle/chunks/chunk-R4VWYWRN.js.map +0 -7
  645. package/dist/cli-bundle/chunks/chunk-RHYBR6G7.js.map +0 -1
  646. package/dist/cli-bundle/chunks/chunk-S2CDTRJ6.js.map +0 -1
  647. package/dist/cli-bundle/chunks/chunk-SGMGMCIF.js.map +0 -1
  648. package/dist/cli-bundle/chunks/chunk-SOHXUA2Q.js.map +0 -1
  649. package/dist/cli-bundle/chunks/chunk-SQDKAEKG.js.map +0 -7
  650. package/dist/cli-bundle/chunks/chunk-TOX7YQ7X.js.map +0 -1
  651. package/dist/cli-bundle/chunks/chunk-TSXWFN3L.js.map +0 -1
  652. package/dist/cli-bundle/chunks/chunk-UCVJP4JL.js.map +0 -7
  653. package/dist/cli-bundle/chunks/chunk-V4KP3TCN.js +0 -128
  654. package/dist/cli-bundle/chunks/chunk-V4KP3TCN.js.map +0 -1
  655. package/dist/cli-bundle/chunks/chunk-VNC2HBL4.js.map +0 -1
  656. package/dist/cli-bundle/chunks/chunk-W6KNFAMZ.js.map +0 -7
  657. package/dist/cli-bundle/chunks/chunk-WLH7X4RN.js.map +0 -7
  658. package/dist/cli-bundle/chunks/chunk-XXLMJDUB.js.map +0 -7
  659. package/dist/cli-bundle/chunks/close-WOG5WTMZ.js +0 -13
  660. package/dist/cli-bundle/chunks/close-many-GKAJX54X.js.map +0 -1
  661. package/dist/cli-bundle/chunks/close-many-GL6NRUU5.js.map +0 -7
  662. package/dist/cli-bundle/chunks/comments-5FPT6L7N.js.map +0 -1
  663. package/dist/cli-bundle/chunks/comments-TOLOYWNI.js.map +0 -7
  664. package/dist/cli-bundle/chunks/config-4MN45TIH.js.map +0 -1
  665. package/dist/cli-bundle/chunks/config-7N6D7YJE.js.map +0 -7
  666. package/dist/cli-bundle/chunks/context-AQSLE7DZ.js.map +0 -1
  667. package/dist/cli-bundle/chunks/context-U3PUJMVN.js.map +0 -7
  668. package/dist/cli-bundle/chunks/contracts-H7KCQXLY.js.map +0 -7
  669. package/dist/cli-bundle/chunks/contracts-ITSJXO3O.js.map +0 -1
  670. package/dist/cli-bundle/chunks/create-NW3K7LVG.js +0 -27
  671. package/dist/cli-bundle/chunks/deps-HV2C2L46.js.map +0 -1
  672. package/dist/cli-bundle/chunks/files-LIFDKNCN.js.map +0 -7
  673. package/dist/cli-bundle/chunks/files-OIFN3DQX.js.map +0 -1
  674. package/dist/cli-bundle/chunks/get-K7UULTQF.js.map +0 -7
  675. package/dist/cli-bundle/chunks/get-SAB7CRBG.js.map +0 -1
  676. package/dist/cli-bundle/chunks/health-NUVZYIEV.js.map +0 -1
  677. package/dist/cli-bundle/chunks/health-VJWH3ZFK.js.map +0 -7
  678. package/dist/cli-bundle/chunks/history-IUVN4NTN.js +0 -20
  679. package/dist/cli-bundle/chunks/history-compact-SLL6ESXH.js.map +0 -1
  680. package/dist/cli-bundle/chunks/history-compact-WQZQ6KXM.js.map +0 -7
  681. package/dist/cli-bundle/chunks/history-redact-75KIIJUJ.js +0 -19
  682. package/dist/cli-bundle/chunks/history-repair-BJCGM6Q3.js.map +0 -1
  683. package/dist/cli-bundle/chunks/history-repair-UCYS55ZX.js.map +0 -7
  684. package/dist/cli-bundle/chunks/init-JJFYRUKG.js +0 -17
  685. package/dist/cli-bundle/chunks/learnings-L6KTZGOT.js.map +0 -1
  686. package/dist/cli-bundle/chunks/learnings-QKJOKEAO.js.map +0 -7
  687. package/dist/cli-bundle/chunks/list-GGVPXEV6.js +0 -23
  688. package/dist/cli-bundle/chunks/list-VOQDQHA4.js +0 -19
  689. package/dist/cli-bundle/chunks/notes-3NLK7WTZ.js.map +0 -1
  690. package/dist/cli-bundle/chunks/notes-HMCB7TK6.js.map +0 -7
  691. package/dist/cli-bundle/chunks/plan-DWBYI5C6.js.map +0 -1
  692. package/dist/cli-bundle/chunks/plan-NANUWH4T.js.map +0 -7
  693. package/dist/cli-bundle/chunks/register-list-query-PWQ5F2VI.js.map +0 -7
  694. package/dist/cli-bundle/chunks/register-list-query-SMMMLSWW.js.map +0 -1
  695. package/dist/cli-bundle/chunks/register-mutation-QKFPTIZG.js.map +0 -7
  696. package/dist/cli-bundle/chunks/register-mutation-ZYJQ4DVP.js.map +0 -1
  697. package/dist/cli-bundle/chunks/register-operations-2FMZ6WEF.js.map +0 -7
  698. package/dist/cli-bundle/chunks/register-operations-BAFQURZG.js.map +0 -1
  699. package/dist/cli-bundle/chunks/register-setup-DQEIKBIP.js.map +0 -7
  700. package/dist/cli-bundle/chunks/register-setup-QN2XV7UL.js.map +0 -1
  701. package/dist/cli-bundle/chunks/restore-DRBNXJJH.js +0 -17
  702. package/dist/cli-bundle/chunks/schema-RNVJ55V2.js.map +0 -7
  703. package/dist/cli-bundle/chunks/schema-ZZ7ZDM2X.js.map +0 -1
  704. package/dist/cli-bundle/chunks/search-BJ457C2A.js.map +0 -7
  705. package/dist/cli-bundle/chunks/search-FQDZXX7P.js.map +0 -1
  706. package/dist/cli-bundle/chunks/stats-CUG3ZHOI.js.map +0 -1
  707. package/dist/cli-bundle/chunks/stats-DUQWCVOS.js.map +0 -7
  708. package/dist/cli-bundle/chunks/telemetry-33MRGX4Z.js.map +0 -7
  709. package/dist/cli-bundle/chunks/telemetry-RK2VX75A.js.map +0 -1
  710. package/dist/cli-bundle/chunks/test-SDMYEQHH.js +0 -32
  711. package/dist/cli-bundle/chunks/test-all-ANYQ33O2.js.map +0 -7
  712. package/dist/cli-bundle/chunks/test-all-ARSMX33Q.js.map +0 -1
  713. package/dist/cli-bundle/chunks/test-runs-5URSD34O.js.map +0 -1
  714. package/dist/cli-bundle/chunks/test-runs-XNACGSNQ.js.map +0 -7
  715. package/dist/cli-bundle/chunks/update-PD46VOXI.js +0 -21
  716. package/dist/cli-bundle/chunks/update-U235A7WP.js +0 -25
  717. package/dist/cli-bundle/chunks/update-many-6B7PJ33I.js.map +0 -1
  718. package/dist/cli-bundle/chunks/update-many-724JCVDE.js.map +0 -7
  719. package/dist/cli-bundle/chunks/upgrade-ALBEZAI7.js.map +0 -7
  720. package/dist/cli-bundle/chunks/upgrade-QHRGDBSA.js.map +0 -1
  721. package/dist/cli-bundle/chunks/validate-IQRYFXIV.js.map +0 -1
  722. package/dist/cli-bundle/chunks/validate-UY6DRCG5.js.map +0 -7
  723. /package/dist/cli-bundle/chunks/{activity-XIOTGZMU.js.map → activity-5P2KQCTH.js.map} +0 -0
  724. /package/dist/cli-bundle/chunks/{activity-PPO7QWJF.js.map → activity-MJGTX4LO.js.map} +0 -0
  725. /package/dist/cli-bundle/chunks/{chunk-6ZFTM65G.js.map → chunk-2JEGCDYT.js.map} +0 -0
  726. /package/dist/cli-bundle/chunks/{chunk-3CQPVBK3.js.map → chunk-3WAULYOY.js.map} +0 -0
  727. /package/dist/cli-bundle/chunks/{chunk-VYZNX4C5.js.map → chunk-7AGIXLNK.js.map} +0 -0
  728. /package/dist/cli-bundle/chunks/{chunk-RFR2YQGO.js.map → chunk-AERT7KT3.js.map} +0 -0
  729. /package/dist/cli-bundle/chunks/{chunk-XOYHMHFF.js.map → chunk-E6J2PEK6.js.map} +0 -0
  730. /package/dist/cli-bundle/chunks/{chunk-IIOIBAQW.js.map → chunk-F2GC6L3N.js.map} +0 -0
  731. /package/dist/cli-bundle/chunks/{chunk-QU3OPNVV.js.map → chunk-M23HXJL3.js.map} +0 -0
  732. /package/dist/cli-bundle/chunks/{chunk-LSSTKL3Y.js.map → chunk-MJZUZ2QE.js.map} +0 -0
  733. /package/dist/cli-bundle/chunks/{chunk-Z647PYLD.js.map → chunk-O46LTCXQ.js.map} +0 -0
  734. /package/dist/cli-bundle/chunks/{chunk-HLEGAQXT.js.map → chunk-OLTYNVJR.js.map} +0 -0
  735. /package/dist/cli-bundle/chunks/{chunk-HWHONML5.js.map → chunk-T5VU7ROQ.js.map} +0 -0
  736. /package/dist/cli-bundle/chunks/{chunk-NN6RKGFW.js.map → chunk-UBMCSJXX.js.map} +0 -0
  737. /package/dist/cli-bundle/chunks/{chunk-JE5IZXDS.js.map → chunk-UUKORJSN.js.map} +0 -0
  738. /package/dist/cli-bundle/chunks/{chunk-LGOXXQUW.js.map → chunk-WZCQVABQ.js.map} +0 -0
  739. /package/dist/cli-bundle/chunks/{chunk-DWG4FHPY.js.map → chunk-YGRPBFMA.js.map} +0 -0
  740. /package/dist/cli-bundle/chunks/{chunk-GOO4UXBI.js.map → chunk-ZJRDVYZI.js.map} +0 -0
  741. /package/dist/cli-bundle/chunks/{claim-QJOQBH7J.js.map → claim-4APLUXJW.js.map} +0 -0
  742. /package/dist/cli-bundle/chunks/{claim-HE6KEGJW.js.map → claim-NEO7AGWH.js.map} +0 -0
  743. /package/dist/cli-bundle/chunks/{close-SPUFW5QR.js.map → close-3QABBNGU.js.map} +0 -0
  744. /package/dist/cli-bundle/chunks/{close-WOG5WTMZ.js.map → close-ILMZR3D7.js.map} +0 -0
  745. /package/dist/cli-bundle/chunks/{copy-EB3MUCSW.js.map → copy-Q64T5FD4.js.map} +0 -0
  746. /package/dist/cli-bundle/chunks/{copy-C4W522JM.js.map → copy-SG34LCMU.js.map} +0 -0
  747. /package/dist/cli-bundle/chunks/{create-NW3K7LVG.js.map → create-F5HZX2S4.js.map} +0 -0
  748. /package/dist/cli-bundle/chunks/{create-4EQNELMY.js.map → create-IPAX2SNL.js.map} +0 -0
  749. /package/dist/cli-bundle/chunks/{delete-ZLGUYIXU.js.map → delete-TLXR7LJ2.js.map} +0 -0
  750. /package/dist/cli-bundle/chunks/{delete-X5QLXIQX.js.map → delete-VH3L7DZ6.js.map} +0 -0
  751. /package/dist/cli-bundle/chunks/{docs-SRTLCQOL.js.map → docs-GWDEB7JH.js.map} +0 -0
  752. /package/dist/cli-bundle/chunks/{docs-RJQPLROO.js.map → docs-RCLNSKID.js.map} +0 -0
  753. /package/dist/cli-bundle/chunks/{extension-MM3TVWOO.js.map → extension-5RN65LHT.js.map} +0 -0
  754. /package/dist/cli-bundle/chunks/{extension-WKPVPNCC.js.map → extension-7KO2NX2A.js.map} +0 -0
  755. /package/dist/cli-bundle/chunks/{gc-DL6AVOX5.js.map → gc-2FGKYRJ4.js.map} +0 -0
  756. /package/dist/cli-bundle/chunks/{gc-NRFHLVFT.js.map → gc-5B6ABL3Z.js.map} +0 -0
  757. /package/dist/cli-bundle/chunks/{history-GYFD2DJW.js.map → history-QO4JVJJP.js.map} +0 -0
  758. /package/dist/cli-bundle/chunks/{history-IUVN4NTN.js.map → history-SSXGGTVZ.js.map} +0 -0
  759. /package/dist/cli-bundle/chunks/{history-redact-75KIIJUJ.js.map → history-redact-VBH44Y7F.js.map} +0 -0
  760. /package/dist/cli-bundle/chunks/{history-redact-SDTDR6WM.js.map → history-redact-Z4P5MM3G.js.map} +0 -0
  761. /package/dist/cli-bundle/chunks/{init-JJFYRUKG.js.map → init-7FBQO77A.js.map} +0 -0
  762. /package/dist/cli-bundle/chunks/{init-MXV57LKL.js.map → init-K6MSMB37.js.map} +0 -0
  763. /package/dist/cli-bundle/chunks/{list-VOQDQHA4.js.map → list-7UE44A2R.js.map} +0 -0
  764. /package/dist/cli-bundle/chunks/{list-GGVPXEV6.js.map → list-UHMA3N2K.js.map} +0 -0
  765. /package/dist/cli-bundle/chunks/{restore-FJQWXMPY.js.map → restore-NNVPBBVJ.js.map} +0 -0
  766. /package/dist/cli-bundle/chunks/{restore-DRBNXJJH.js.map → restore-XXXLQ2XC.js.map} +0 -0
  767. /package/dist/cli-bundle/chunks/{test-SDMYEQHH.js.map → test-6CZNIIGA.js.map} +0 -0
  768. /package/dist/cli-bundle/chunks/{test-Y3CTFMEC.js.map → test-7GVQ3VMN.js.map} +0 -0
  769. /package/dist/cli-bundle/chunks/{update-U235A7WP.js.map → update-MPGM6SBE.js.map} +0 -0
  770. /package/dist/cli-bundle/chunks/{update-PD46VOXI.js.map → update-UN75XW3C.js.map} +0 -0
@@ -10,15 +10,15 @@ import {
10
10
  readFirstStringFromCommanderOptions,
11
11
  readFirstValueFromCommanderOptions,
12
12
  readStringArrayFromCommanderOptions
13
- } from "./chunk-7CRFV6JR.js";
13
+ } from "./chunk-H6EH6ENJ.js";
14
14
  import {
15
15
  refreshSearchArtifactsForMutation,
16
16
  shouldRunSearchRefreshInForeground
17
- } from "./chunk-PEH7SZD2.js";
17
+ } from "./chunk-TUB3DZAZ.js";
18
18
  import {
19
19
  printError,
20
20
  writeStdout
21
- } from "./chunk-O3YCJOVX.js";
21
+ } from "./chunk-SPYPC5CB.js";
22
22
  import {
23
23
  EXIT_CODE,
24
24
  PmCliError,
@@ -27,13 +27,13 @@ import {
27
27
  readSettings,
28
28
  resolvePmRoot,
29
29
  setActiveCommandResult
30
- } from "./chunk-LFW5NQUP.js";
30
+ } from "./chunk-LV5FFQ7M.js";
31
31
 
32
32
  // dist/cli/registration-helpers.js
33
33
  !(function() {
34
34
  try {
35
35
  var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
36
- n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "3208cc81-672c-52e2-a566-d45f8689bd2c");
36
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "99d2e904-506d-5654-b616-3fac626dbe18");
37
37
  } catch (e2) {
38
38
  }
39
39
  })();
@@ -41,6 +41,10 @@ var RESOLVED_GLOBAL_OPTIONS = /* @__PURE__ */ Symbol("pm.resolvedGlobalOptions")
41
41
  function commandOptionsReader(command) {
42
42
  return typeof command === "object" && command !== null ? command : {};
43
43
  }
44
+ function resolveCommanderContract(contracts, target) {
45
+ const contract = contracts.find((entry) => entry.target === target);
46
+ return contract ?? { target, keys: [target] };
47
+ }
44
48
  function setResolvedGlobalOptions(command, globalOptions) {
45
49
  command[RESOLVED_GLOBAL_OPTIONS] = { ...globalOptions };
46
50
  }
@@ -171,14 +175,8 @@ function formatHookWarnings(warnings) {
171
175
  return warnings.join(",");
172
176
  }
173
177
  function normalizeCreateOptions(commandOptions, options = {}) {
174
- const readCreateString = (target) => readFirstStringFromCommanderOptions(commandOptions, CREATE_COMMANDER_STRING_OPTION_CONTRACTS.find((entry) => entry.target === target) ?? {
175
- target,
176
- keys: [target]
177
- });
178
- const readCreateList = (target) => readStringArrayFromCommanderOptions(commandOptions, CREATE_COMMANDER_REPEATABLE_OPTION_CONTRACTS.find((entry) => entry.target === target) ?? {
179
- target,
180
- keys: [target]
181
- });
178
+ const readCreateString = (target) => readFirstStringFromCommanderOptions(commandOptions, resolveCommanderContract(CREATE_COMMANDER_STRING_OPTION_CONTRACTS, target));
179
+ const readCreateList = (target) => readStringArrayFromCommanderOptions(commandOptions, resolveCommanderContract(CREATE_COMMANDER_REPEATABLE_OPTION_CONTRACTS, target));
182
180
  const type = readCreateString("type");
183
181
  if (options.requireType !== false && type === void 0) {
184
182
  throw new PmCliError("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).", EXIT_CODE.USAGE);
@@ -264,14 +262,8 @@ function normalizeCreateOptions(commandOptions, options = {}) {
264
262
  return normalized;
265
263
  }
266
264
  function normalizeUpdateOptions(commandOptions) {
267
- const readUpdateString = (target) => readFirstStringFromCommanderOptions(commandOptions, UPDATE_COMMANDER_STRING_OPTION_CONTRACTS.find((entry) => entry.target === target) ?? {
268
- target,
269
- keys: [target]
270
- });
271
- const readUpdateList = (target) => readStringArrayFromCommanderOptions(commandOptions, UPDATE_COMMANDER_REPEATABLE_OPTION_CONTRACTS.find((entry) => entry.target === target) ?? {
272
- target,
273
- keys: [target]
274
- });
265
+ const readUpdateString = (target) => readFirstStringFromCommanderOptions(commandOptions, resolveCommanderContract(UPDATE_COMMANDER_STRING_OPTION_CONTRACTS, target));
266
+ const readUpdateList = (target) => readStringArrayFromCommanderOptions(commandOptions, resolveCommanderContract(UPDATE_COMMANDER_REPEATABLE_OPTION_CONTRACTS, target));
275
267
  const normalized = {
276
268
  title: readUpdateString("title"),
277
269
  description: readUpdateString("description"),
@@ -373,6 +365,34 @@ var UPDATE_MANY_CONTROL_OPTION_KEYS = /* @__PURE__ */ new Set([
373
365
  "filterParent",
374
366
  "filterSprint",
375
367
  "filterRelease",
368
+ "filterAcMissing",
369
+ "filterEstimatesMissing",
370
+ "filterEstimateMissing",
371
+ "filterResolutionMissing",
372
+ "filterMetadataMissing",
373
+ "filterReviewerMissing",
374
+ "filterRiskMissing",
375
+ "filterConfidenceMissing",
376
+ "filterSprintMissing",
377
+ "filterReleaseMissing",
378
+ "filterHasNotes",
379
+ "filterNoNotes",
380
+ "filterHasLearnings",
381
+ "filterNoLearnings",
382
+ "filterHasFiles",
383
+ "filterNoFiles",
384
+ "filterHasDocs",
385
+ "filterNoDocs",
386
+ "filterHasTests",
387
+ "filterNoTests",
388
+ "filterHasComments",
389
+ "filterNoComments",
390
+ "filterHasDeps",
391
+ "filterNoDeps",
392
+ "filterHasBody",
393
+ "filterEmptyBody",
394
+ "filterHasLinkedCommand",
395
+ "filterNoLinkedCommand",
376
396
  "ids",
377
397
  "limit",
378
398
  "offset",
@@ -391,10 +411,7 @@ function extractUpdateManyMutationOptionSource(commandOptions) {
391
411
  return mutationOptions;
392
412
  }
393
413
  function readListOptionString(options, target) {
394
- const contract = LIST_COMMANDER_STRING_OPTION_CONTRACTS.find((entry) => entry.target === target) ?? {
395
- target,
396
- keys: [target]
397
- };
414
+ const contract = resolveCommanderContract(LIST_COMMANDER_STRING_OPTION_CONTRACTS, target);
398
415
  const stringValue = readFirstStringFromCommanderOptions(options, contract);
399
416
  if (stringValue !== void 0) {
400
417
  return stringValue;
@@ -430,6 +447,8 @@ function normalizeListOptions(options) {
430
447
  release: readListOptionString(options, "release"),
431
448
  limit: readListOptionString(options, "limit"),
432
449
  offset: readListOptionString(options, "offset"),
450
+ // Commander stores --no-truncate as truncate=false; --all is the positive alias.
451
+ noTruncate: options.truncate === false || options.all === true ? true : void 0,
433
452
  includeBody: options.includeBody === true ? true : void 0,
434
453
  compact: options.compact === true ? true : void 0,
435
454
  brief: options.brief === true ? true : void 0,
@@ -438,7 +457,38 @@ function normalizeListOptions(options) {
438
457
  sort: readListOptionString(options, "sort"),
439
458
  order: readListOptionString(options, "order"),
440
459
  tree: options.tree === true ? true : void 0,
441
- treeDepth: readListOptionString(options, "treeDepth")
460
+ treeDepth: readListOptionString(options, "treeDepth"),
461
+ filterAcMissing: options.filterAcMissing === true ? true : void 0,
462
+ filterEstimatesMissing: options.filterEstimatesMissing === true || options.filterEstimateMissing === true ? true : void 0,
463
+ filterResolutionMissing: options.filterResolutionMissing === true ? true : void 0,
464
+ filterMetadataMissing: options.filterMetadataMissing === true ? true : void 0,
465
+ // Governance-missing selection filters (GH-236).
466
+ filterReviewerMissing: options.filterReviewerMissing === true ? true : void 0,
467
+ filterRiskMissing: options.filterRiskMissing === true ? true : void 0,
468
+ filterConfidenceMissing: options.filterConfidenceMissing === true ? true : void 0,
469
+ filterSprintMissing: options.filterSprintMissing === true ? true : void 0,
470
+ filterReleaseMissing: options.filterReleaseMissing === true ? true : void 0,
471
+ // Content-field presence/absence selection filters (GH-242). Presence flags
472
+ // are plain booleans; absence uses commander negation (`--no-notes` stores
473
+ // notes=false) except --empty-body which is its own dest.
474
+ hasNotes: options.hasNotes === true ? true : void 0,
475
+ hasLearnings: options.hasLearnings === true ? true : void 0,
476
+ hasFiles: options.hasFiles === true ? true : void 0,
477
+ hasDocs: options.hasDocs === true ? true : void 0,
478
+ hasTests: options.hasTests === true ? true : void 0,
479
+ hasComments: options.hasComments === true ? true : void 0,
480
+ hasDeps: options.hasDeps === true ? true : void 0,
481
+ hasBody: options.hasBody === true ? true : void 0,
482
+ hasLinkedCommand: options.hasLinkedCommand === true ? true : void 0,
483
+ noNotes: options.notes === false ? true : void 0,
484
+ noLearnings: options.learnings === false ? true : void 0,
485
+ noFiles: options.files === false ? true : void 0,
486
+ noDocs: options.docs === false ? true : void 0,
487
+ noTests: options.tests === false ? true : void 0,
488
+ noComments: options.comments === false ? true : void 0,
489
+ noDeps: options.deps === false ? true : void 0,
490
+ emptyBody: options.emptyBody === true ? true : void 0,
491
+ noLinkedCommand: options.linkedCommand === false ? true : void 0
442
492
  };
443
493
  for (const [key, value] of Object.entries(options)) {
444
494
  if (Object.hasOwn(normalized, key)) {
@@ -531,15 +581,9 @@ function printActivityJsonStream(result, options, globalOptions) {
531
581
  `);
532
582
  }
533
583
  function normalizeSearchOptions(options) {
534
- const readSearchString = (target) => readFirstStringFromCommanderOptions(options, SEARCH_COMMANDER_STRING_OPTION_CONTRACTS.find((entry) => entry.target === target) ?? {
535
- target,
536
- keys: [target]
537
- });
584
+ const readSearchString = (target) => readFirstStringFromCommanderOptions(options, resolveCommanderContract(SEARCH_COMMANDER_STRING_OPTION_CONTRACTS, target));
538
585
  const readSearchStringOrNumber = (target) => {
539
- const candidate = readFirstValueFromCommanderOptions(options, SEARCH_COMMANDER_STRING_OPTION_CONTRACTS.find((entry) => entry.target === target) ?? {
540
- target,
541
- keys: [target]
542
- });
586
+ const candidate = readFirstValueFromCommanderOptions(options, resolveCommanderContract(SEARCH_COMMANDER_STRING_OPTION_CONTRACTS, target));
543
587
  if (typeof candidate === "string") {
544
588
  return candidate;
545
589
  }
@@ -555,6 +599,9 @@ function normalizeSearchOptions(options) {
555
599
  const mode = options.semantic === true ? "semantic" : options.hybrid === true ? "hybrid" : readSearchString("mode");
556
600
  const normalized = {
557
601
  mode,
602
+ matchMode: readSearchString("matchMode"),
603
+ minScore: readSearchStringOrNumber("minScore"),
604
+ count: options.count === true ? true : void 0,
558
605
  semanticWeight: readSearchStringOrNumber("semanticWeight"),
559
606
  includeLinked: options.includeLinked === true ? true : void 0,
560
607
  titleExact: options.titleExact === true ? true : void 0,
@@ -565,10 +612,45 @@ function normalizeSearchOptions(options) {
565
612
  priority: readSearchString("priority"),
566
613
  deadlineBefore: readSearchString("deadlineBefore"),
567
614
  deadlineAfter: readSearchString("deadlineAfter"),
615
+ updatedAfter: readSearchString("updatedAfter"),
616
+ updatedBefore: readSearchString("updatedBefore"),
617
+ createdAfter: readSearchString("createdAfter"),
618
+ createdBefore: readSearchString("createdBefore"),
619
+ assignee: readSearchString("assignee"),
620
+ sprint: readSearchString("sprint"),
621
+ release: readSearchString("release"),
622
+ parent: readSearchString("parent"),
568
623
  limit: readSearchString("limit"),
569
624
  fields,
570
625
  compact: compactRequested || defaultCompact ? true : void 0,
571
- full: fullRequested ? true : void 0
626
+ full: fullRequested ? true : void 0,
627
+ // Governance-missing selection filters (GH-236).
628
+ filterReviewerMissing: options.filterReviewerMissing === true ? true : void 0,
629
+ filterRiskMissing: options.filterRiskMissing === true ? true : void 0,
630
+ filterConfidenceMissing: options.filterConfidenceMissing === true ? true : void 0,
631
+ filterSprintMissing: options.filterSprintMissing === true ? true : void 0,
632
+ filterReleaseMissing: options.filterReleaseMissing === true ? true : void 0,
633
+ // Content-field presence/absence selection filters (GH-242). Mirror
634
+ // normalizeListOptions: presence flags are booleans; absence uses commander
635
+ // negation (notes=false) except --empty-body which is its own dest.
636
+ hasNotes: options.hasNotes === true ? true : void 0,
637
+ hasLearnings: options.hasLearnings === true ? true : void 0,
638
+ hasFiles: options.hasFiles === true ? true : void 0,
639
+ hasDocs: options.hasDocs === true ? true : void 0,
640
+ hasTests: options.hasTests === true ? true : void 0,
641
+ hasComments: options.hasComments === true ? true : void 0,
642
+ hasDeps: options.hasDeps === true ? true : void 0,
643
+ hasBody: options.hasBody === true ? true : void 0,
644
+ hasLinkedCommand: options.hasLinkedCommand === true ? true : void 0,
645
+ noNotes: options.notes === false ? true : void 0,
646
+ noLearnings: options.learnings === false ? true : void 0,
647
+ noFiles: options.files === false ? true : void 0,
648
+ noDocs: options.docs === false ? true : void 0,
649
+ noTests: options.tests === false ? true : void 0,
650
+ noComments: options.comments === false ? true : void 0,
651
+ noDeps: options.deps === false ? true : void 0,
652
+ emptyBody: options.emptyBody === true ? true : void 0,
653
+ noLinkedCommand: options.linkedCommand === false ? true : void 0
572
654
  };
573
655
  for (const [key, value] of Object.entries(options)) {
574
656
  if (Object.hasOwn(normalized, key)) {
@@ -586,10 +668,7 @@ function normalizeSearchKeywordsInput(keywords) {
586
668
  return query;
587
669
  }
588
670
  function normalizeActivityOptions(options) {
589
- const readActivityString = (target) => readFirstStringFromCommanderOptions(options, ACTIVITY_COMMANDER_STRING_OPTION_CONTRACTS.find((entry) => entry.target === target) ?? {
590
- target,
591
- keys: [target]
592
- });
671
+ const readActivityString = (target) => readFirstStringFromCommanderOptions(options, resolveCommanderContract(ACTIVITY_COMMANDER_STRING_OPTION_CONTRACTS, target));
593
672
  return {
594
673
  id: readActivityString("id"),
595
674
  op: readActivityString("op"),
@@ -619,10 +698,7 @@ function resolveActivityStreamMode(raw) {
619
698
  throw new PmCliError("Activity --stream accepts rows|ndjson|jsonl (or no value)", EXIT_CODE.USAGE);
620
699
  }
621
700
  function normalizeContextOptions(options) {
622
- const readContextString = (target) => readFirstStringFromCommanderOptions(options, CONTEXT_COMMANDER_STRING_OPTION_CONTRACTS.find((entry) => entry.target === target) ?? {
623
- target,
624
- keys: [target]
625
- });
701
+ const readContextString = (target) => readFirstStringFromCommanderOptions(options, resolveCommanderContract(CONTEXT_COMMANDER_STRING_OPTION_CONTRACTS, target));
626
702
  const sectionRaw = options.section;
627
703
  const section = Array.isArray(sectionRaw) ? sectionRaw.filter((v) => typeof v === "string" && v.trim().length > 0) : typeof sectionRaw === "string" && sectionRaw.trim().length > 0 ? [sectionRaw] : void 0;
628
704
  const normalized = {
@@ -637,6 +713,7 @@ function normalizeContextOptions(options) {
637
713
  assigneeFilter: readContextString("assigneeFilter"),
638
714
  sprint: readContextString("sprint"),
639
715
  release: readContextString("release"),
716
+ parent: readContextString("parent"),
640
717
  limit: readContextString("limit"),
641
718
  format: readContextString("format"),
642
719
  depth: readContextString("depth"),
@@ -724,4 +801,4 @@ export {
724
801
  normalizeContextOptions,
725
802
  invalidateSearchCachesForMutation
726
803
  };
727
- //# sourceMappingURL=chunk-JWXTOYBI.js.map
804
+ //# sourceMappingURL=chunk-TIRZIQRP.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../../../cli/registration-helpers.ts"],
4
+ "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 { CommanderOptionAliasContract } 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\n// Resolves the alias contract for a normalize target, falling back to a\n// single-key contract if the target is somehow absent from the contract table.\nfunction resolveCommanderContract(\n contracts: CommanderOptionAliasContract[],\n target: string,\n): CommanderOptionAliasContract {\n const contract = contracts.find((entry) => entry.target === target);\n /* c8 ignore start -- every normalize target is present in its contract table (verified by contract drift tests); the fallback is a defensive guard against future drift */\n return contract ?? { target, keys: [target] };\n /* c8 ignore stop */\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 resolveCommanderContract(CREATE_COMMANDER_STRING_OPTION_CONTRACTS, target),\n );\n const readCreateList = (target: string): string[] | undefined =>\n readStringArrayFromCommanderOptions(\n commandOptions,\n resolveCommanderContract(CREATE_COMMANDER_REPEATABLE_OPTION_CONTRACTS, target),\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 resolveCommanderContract(UPDATE_COMMANDER_STRING_OPTION_CONTRACTS, target),\n );\n const readUpdateList = (target: string): string[] | undefined =>\n readStringArrayFromCommanderOptions(\n commandOptions,\n resolveCommanderContract(UPDATE_COMMANDER_REPEATABLE_OPTION_CONTRACTS, target),\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 \"filterAcMissing\",\n \"filterEstimatesMissing\",\n \"filterEstimateMissing\",\n \"filterResolutionMissing\",\n \"filterMetadataMissing\",\n \"filterReviewerMissing\",\n \"filterRiskMissing\",\n \"filterConfidenceMissing\",\n \"filterSprintMissing\",\n \"filterReleaseMissing\",\n \"filterHasNotes\",\n \"filterNoNotes\",\n \"filterHasLearnings\",\n \"filterNoLearnings\",\n \"filterHasFiles\",\n \"filterNoFiles\",\n \"filterHasDocs\",\n \"filterNoDocs\",\n \"filterHasTests\",\n \"filterNoTests\",\n \"filterHasComments\",\n \"filterNoComments\",\n \"filterHasDeps\",\n \"filterNoDeps\",\n \"filterHasBody\",\n \"filterEmptyBody\",\n \"filterHasLinkedCommand\",\n \"filterNoLinkedCommand\",\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 = resolveCommanderContract(LIST_COMMANDER_STRING_OPTION_CONTRACTS, target);\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 /* c8 ignore start -- unreachable: readFirstStringFromCommanderOptions already returns above for any string value under contract.keys, so a string here cannot occur */\n if (target === \"ids\" && typeof value === \"string\") {\n return value;\n }\n /* c8 ignore stop */\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 // Commander stores --no-truncate as truncate=false; --all is the positive alias.\n noTruncate: options.truncate === false || options.all === true ? true : undefined,\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 filterAcMissing: options.filterAcMissing === true ? true : undefined,\n filterEstimatesMissing:\n options.filterEstimatesMissing === true || options.filterEstimateMissing === true ? true : undefined,\n filterResolutionMissing: options.filterResolutionMissing === true ? true : undefined,\n filterMetadataMissing: options.filterMetadataMissing === true ? true : undefined,\n // Governance-missing selection filters (GH-236).\n filterReviewerMissing: options.filterReviewerMissing === true ? true : undefined,\n filterRiskMissing: options.filterRiskMissing === true ? true : undefined,\n filterConfidenceMissing: options.filterConfidenceMissing === true ? true : undefined,\n filterSprintMissing: options.filterSprintMissing === true ? true : undefined,\n filterReleaseMissing: options.filterReleaseMissing === true ? true : undefined,\n // Content-field presence/absence selection filters (GH-242). Presence flags\n // are plain booleans; absence uses commander negation (`--no-notes` stores\n // notes=false) except --empty-body which is its own dest.\n hasNotes: options.hasNotes === true ? true : undefined,\n hasLearnings: options.hasLearnings === true ? true : undefined,\n hasFiles: options.hasFiles === true ? true : undefined,\n hasDocs: options.hasDocs === true ? true : undefined,\n hasTests: options.hasTests === true ? true : undefined,\n hasComments: options.hasComments === true ? true : undefined,\n hasDeps: options.hasDeps === true ? true : undefined,\n hasBody: options.hasBody === true ? true : undefined,\n hasLinkedCommand: options.hasLinkedCommand === true ? true : undefined,\n noNotes: options.notes === false ? true : undefined,\n noLearnings: options.learnings === false ? true : undefined,\n noFiles: options.files === false ? true : undefined,\n noDocs: options.docs === false ? true : undefined,\n noTests: options.tests === false ? true : undefined,\n noComments: options.comments === false ? true : undefined,\n noDeps: options.deps === false ? true : undefined,\n emptyBody: options.emptyBody === true ? true : undefined,\n noLinkedCommand: options.linkedCommand === false ? 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 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 resolveCommanderContract(SEARCH_COMMANDER_STRING_OPTION_CONTRACTS, target),\n );\n const readSearchStringOrNumber = (target: string): string | number | undefined => {\n const candidate = readFirstValueFromCommanderOptions(\n options,\n resolveCommanderContract(SEARCH_COMMANDER_STRING_OPTION_CONTRACTS, target),\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 matchMode: readSearchString(\"matchMode\"),\n minScore: readSearchStringOrNumber(\"minScore\"),\n count: options.count === true ? true : undefined,\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 updatedAfter: readSearchString(\"updatedAfter\"),\n updatedBefore: readSearchString(\"updatedBefore\"),\n createdAfter: readSearchString(\"createdAfter\"),\n createdBefore: readSearchString(\"createdBefore\"),\n assignee: readSearchString(\"assignee\"),\n sprint: readSearchString(\"sprint\"),\n release: readSearchString(\"release\"),\n parent: readSearchString(\"parent\"),\n limit: readSearchString(\"limit\"),\n fields,\n compact: compactRequested || defaultCompact ? true : undefined,\n full: fullRequested ? true : undefined,\n // Governance-missing selection filters (GH-236).\n filterReviewerMissing: options.filterReviewerMissing === true ? true : undefined,\n filterRiskMissing: options.filterRiskMissing === true ? true : undefined,\n filterConfidenceMissing: options.filterConfidenceMissing === true ? true : undefined,\n filterSprintMissing: options.filterSprintMissing === true ? true : undefined,\n filterReleaseMissing: options.filterReleaseMissing === true ? true : undefined,\n // Content-field presence/absence selection filters (GH-242). Mirror\n // normalizeListOptions: presence flags are booleans; absence uses commander\n // negation (notes=false) except --empty-body which is its own dest.\n hasNotes: options.hasNotes === true ? true : undefined,\n hasLearnings: options.hasLearnings === true ? true : undefined,\n hasFiles: options.hasFiles === true ? true : undefined,\n hasDocs: options.hasDocs === true ? true : undefined,\n hasTests: options.hasTests === true ? true : undefined,\n hasComments: options.hasComments === true ? true : undefined,\n hasDeps: options.hasDeps === true ? true : undefined,\n hasBody: options.hasBody === true ? true : undefined,\n hasLinkedCommand: options.hasLinkedCommand === true ? true : undefined,\n noNotes: options.notes === false ? true : undefined,\n noLearnings: options.learnings === false ? true : undefined,\n noFiles: options.files === false ? true : undefined,\n noDocs: options.docs === false ? true : undefined,\n noTests: options.tests === false ? true : undefined,\n noComments: options.comments === false ? true : undefined,\n noDeps: options.deps === false ? true : undefined,\n emptyBody: options.emptyBody === true ? true : undefined,\n noLinkedCommand: options.linkedCommand === false ? 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 resolveCommanderContract(ACTIVITY_COMMANDER_STRING_OPTION_CONTRACTS, target),\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 resolveCommanderContract(CONTEXT_COMMANDER_STRING_OPTION_CONTRACTS, target),\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 parent: readContextString(\"parent\"),\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\nexport const _testOnly = {\n collectMutationItemIds,\n};\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  locateItem,
3
3
  readLocatedItem
4
- } from "./chunk-XXLMJDUB.js";
4
+ } from "./chunk-4KBK4BA3.js";
5
5
  import {
6
6
  resolveItemTypeRegistry
7
- } from "./chunk-W6KNFAMZ.js";
7
+ } from "./chunk-6BV7ENQL.js";
8
8
  import {
9
9
  nowIso
10
- } from "./chunk-IXVSSHGV.js";
10
+ } from "./chunk-OY3P2I6B.js";
11
11
  import {
12
12
  coercePositiveInteger,
13
13
  getActiveExtensionRegistrations,
@@ -22,7 +22,7 @@ import {
22
22
  toNonEmptyString,
23
23
  trimTrailingSlashes,
24
24
  writeFileAtomic
25
- } from "./chunk-LFW5NQUP.js";
25
+ } from "./chunk-LV5FFQ7M.js";
26
26
 
27
27
  // dist/core/search/http-client.js
28
28
  !(function() {
@@ -95,10 +95,18 @@ async function executeSearchJsonRequest(options) {
95
95
  !(function() {
96
96
  try {
97
97
  var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
98
- n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "fdb3ffd3-61f6-55db-a926-a3fce76e815c");
98
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "9f950fed-f820-56f3-b7eb-3fa943f0d9c9");
99
99
  } catch (e2) {
100
100
  }
101
101
  })();
102
+ function resolveProviderConfigSource(activeName, configured) {
103
+ const active = toNonEmptyString(activeName);
104
+ if (!active) {
105
+ return "unconfigured";
106
+ }
107
+ const configuredValue = toNonEmptyString(configured);
108
+ return configuredValue && configuredValue.toLowerCase() === active.toLowerCase() ? "configured" : "auto-detected";
109
+ }
102
110
  function normalizeOpenAiEmbeddingsEndpoint(baseUrl) {
103
111
  const normalizedBaseUrl = trimTrailingSlashes(baseUrl);
104
112
  const normalizedLower = normalizedBaseUrl.toLowerCase();
@@ -304,10 +312,47 @@ async function executeEmbeddingRequest(provider, input, options = {}) {
304
312
  !(function() {
305
313
  try {
306
314
  var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
307
- n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "b06becd9-0d3b-5afb-94d7-86fbc9b9f82f");
315
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "18276e08-26d0-5af6-8b20-d1cf86ad8ff4");
308
316
  } catch (e2) {
309
317
  }
310
318
  })();
319
+ var DEFAULT_SEARCH_CORPUS_FIELDS = [
320
+ "title",
321
+ "description",
322
+ "tags",
323
+ "status",
324
+ "type",
325
+ "priority",
326
+ "assignee",
327
+ "parent",
328
+ "goal",
329
+ "value",
330
+ "why_now",
331
+ "risk",
332
+ "confidence",
333
+ "estimated_minutes",
334
+ "acceptance_criteria",
335
+ "resolution",
336
+ "expected_result",
337
+ "actual_result",
338
+ "body",
339
+ "comments",
340
+ "notes",
341
+ "learnings",
342
+ "reminders",
343
+ "events",
344
+ "dependencies",
345
+ "plan"
346
+ ];
347
+ function resolveSearchCorpusFields(settings) {
348
+ const configured = settings?.search?.corpus_fields;
349
+ if (!Array.isArray(configured)) {
350
+ return [...DEFAULT_SEARCH_CORPUS_FIELDS];
351
+ }
352
+ const knownFields = new Set(DEFAULT_SEARCH_CORPUS_FIELDS);
353
+ const selected = Array.from(new Set(configured.filter((entry) => typeof entry === "string").map((entry) => entry.trim()).filter((entry) => entry.length > 0 && knownFields.has(entry))));
354
+ return selected.length > 0 ? selected : [...DEFAULT_SEARCH_CORPUS_FIELDS];
355
+ }
311
356
  var DEFAULT_SEMANTIC_CORPUS_INPUT_MAX_CHARACTERS = 8e3;
312
357
  var OLLAMA_SEMANTIC_CORPUS_INPUT_MAX_CHARACTERS = 3200;
313
358
  var SEMANTIC_CORPUS_TRUNCATION_SUFFIX = "...[semantic corpus truncated]";
@@ -396,27 +441,53 @@ function buildPlanCorpus(item) {
396
441
  validation
397
442
  };
398
443
  }
399
- function buildSearchCorpus(document) {
400
- const item = document.metadata;
401
- const plan = buildPlanCorpus(item);
402
- const corpus = {
403
- title: item.title,
404
- description: item.description,
405
- tags: item.tags,
406
- status: item.status,
407
- body: document.body,
408
- comments: (item.comments ?? []).map((entry) => entry.text),
409
- notes: (item.notes ?? []).map((entry) => entry.text),
410
- learnings: (item.learnings ?? []).map((entry) => entry.text),
411
- reminders: buildReminderCorpus(item),
412
- events: buildEventCorpus(item),
413
- dependencies: (item.dependencies ?? []).map((entry) => ({
414
- id: entry.id,
415
- kind: entry.kind
416
- }))
417
- };
418
- if (plan) {
419
- corpus.plan = plan;
444
+ function isNonEmptyString(value) {
445
+ return typeof value === "string" && value.trim().length > 0;
446
+ }
447
+ var CORPUS_FIELD_BUILDERS = {
448
+ title: (document) => document.metadata.title,
449
+ description: (document) => document.metadata.description,
450
+ tags: (document) => document.metadata.tags,
451
+ status: (document) => document.metadata.status,
452
+ type: (document) => document.metadata.type,
453
+ priority: (document) => typeof document.metadata.priority === "number" ? document.metadata.priority : void 0,
454
+ assignee: (document) => isNonEmptyString(document.metadata.assignee) ? document.metadata.assignee : void 0,
455
+ parent: (document) => isNonEmptyString(document.metadata.parent) ? document.metadata.parent : void 0,
456
+ goal: (document) => isNonEmptyString(document.metadata.goal) ? document.metadata.goal : void 0,
457
+ value: (document) => isNonEmptyString(document.metadata.value) ? document.metadata.value : void 0,
458
+ why_now: (document) => isNonEmptyString(document.metadata.why_now) ? document.metadata.why_now : void 0,
459
+ risk: (document) => isNonEmptyString(document.metadata.risk) ? document.metadata.risk : void 0,
460
+ confidence: (document) => document.metadata.confidence !== void 0 && document.metadata.confidence !== null ? document.metadata.confidence : void 0,
461
+ estimated_minutes: (document) => typeof document.metadata.estimated_minutes === "number" ? document.metadata.estimated_minutes : void 0,
462
+ acceptance_criteria: (document) => isNonEmptyString(document.metadata.acceptance_criteria) ? document.metadata.acceptance_criteria : void 0,
463
+ resolution: (document) => isNonEmptyString(document.metadata.resolution) ? document.metadata.resolution : void 0,
464
+ expected_result: (document) => isNonEmptyString(document.metadata.expected_result) ? document.metadata.expected_result : void 0,
465
+ actual_result: (document) => isNonEmptyString(document.metadata.actual_result) ? document.metadata.actual_result : void 0,
466
+ body: (document) => document.body,
467
+ comments: (document) => (document.metadata.comments ?? []).map((entry) => entry.text),
468
+ notes: (document) => (document.metadata.notes ?? []).map((entry) => entry.text),
469
+ learnings: (document) => (document.metadata.learnings ?? []).map((entry) => entry.text),
470
+ reminders: (document) => buildReminderCorpus(document.metadata),
471
+ events: (document) => buildEventCorpus(document.metadata),
472
+ dependencies: (document) => (document.metadata.dependencies ?? []).map((entry) => ({
473
+ id: entry.id,
474
+ kind: entry.kind
475
+ })),
476
+ plan: (document) => buildPlanCorpus(document.metadata)
477
+ };
478
+ function buildSearchCorpus(document, options = {}) {
479
+ const fields = options.fields ?? DEFAULT_SEARCH_CORPUS_FIELDS;
480
+ const corpus = {};
481
+ for (const field of fields) {
482
+ const builder = CORPUS_FIELD_BUILDERS[field];
483
+ if (!builder) {
484
+ continue;
485
+ }
486
+ const value = builder(document);
487
+ if (value === void 0) {
488
+ continue;
489
+ }
490
+ corpus[field] = value;
420
491
  }
421
492
  return corpus;
422
493
  }
@@ -441,7 +512,7 @@ function resolveSemanticCorpusCharacterLimit(providerName, configuredMaxCharacte
441
512
  };
442
513
  }
443
514
  function buildSemanticCorpusInput(document, options = {}) {
444
- const serialized = JSON.stringify(buildSearchCorpus(document));
515
+ const serialized = JSON.stringify(buildSearchCorpus(document, { fields: options.fields }));
445
516
  const maxCharacters = resolveSemanticCorpusCharacterLimit(options.providerName, options.maxCharacters).maxCharacters;
446
517
  if (serialized.length <= maxCharacters) {
447
518
  return serialized;
@@ -1504,7 +1575,7 @@ async function scheduleBackgroundSemanticRefresh(pmRoot, itemIds) {
1504
1575
  !(function() {
1505
1576
  try {
1506
1577
  var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
1507
- n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "639e41e7-594f-5eec-bef8-80e83500c08a");
1578
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "af4b1555-9b9d-54a6-b53f-9a3c811d93e4");
1508
1579
  } catch (e2) {
1509
1580
  }
1510
1581
  })();
@@ -1688,9 +1759,11 @@ async function collectSemanticRefreshWorkload(pmRoot, idPrefix, preferredFormat,
1688
1759
  }
1689
1760
  async function embedLocatedSemanticVectors(settings, provider, documents) {
1690
1761
  const corpusCharacterLimit = resolveSemanticCorpusCharacterLimit(provider.name, settings.search.embedding_corpus_max_characters).maxCharacters;
1762
+ const corpusFields = resolveSearchCorpusFields(settings);
1691
1763
  const corpusInputs = documents.map((entry) => buildSemanticCorpusInput(entry.document, {
1692
1764
  providerName: provider.name,
1693
- maxCharacters: corpusCharacterLimit
1765
+ maxCharacters: corpusCharacterLimit,
1766
+ fields: corpusFields
1694
1767
  }));
1695
1768
  const embeddingResult = await executeEmbeddingBatchesWithRetry(provider, settings, corpusInputs);
1696
1769
  return {
@@ -1899,6 +1972,7 @@ async function refreshSearchArtifactsForMutation(pmRoot, itemIds, options = {})
1899
1972
  }
1900
1973
 
1901
1974
  export {
1975
+ resolveProviderConfigSource,
1902
1976
  resolveEmbeddingProviders,
1903
1977
  executeEmbeddingRequest,
1904
1978
  buildReminderCorpus,
@@ -1914,4 +1988,4 @@ export {
1914
1988
  refreshSemanticEmbeddingsForMutatedItems,
1915
1989
  refreshSearchArtifactsForMutation
1916
1990
  };
1917
- //# sourceMappingURL=chunk-PEH7SZD2.js.map
1991
+ //# sourceMappingURL=chunk-TUB3DZAZ.js.map