@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
@@ -260,7 +260,7 @@ var KNOWN_EXTENSION_MANIFEST_FIELDS = Object.freeze([
260
260
  !(function() {
261
261
  try {
262
262
  var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
263
- n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "aaaabb17-ee0f-5c5d-8111-3406542035c3");
263
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "de6d8b9a-3684-54cd-81b1-2b94e87908c9");
264
264
  } catch (e2) {
265
265
  }
266
266
  })();
@@ -302,6 +302,7 @@ var DEFAULT_WORKFLOW_DEFINITION = Object.freeze({
302
302
  });
303
303
  var PM_DIRNAME = ".agents/pm";
304
304
  var SETTINGS_FILENAME = "settings.json";
305
+ var CREATE_DIRECT_CLOSE_REASON_DEFAULT = "Closed at creation via pm create";
305
306
  var PM_CORE_REQUIRED_SUBDIRS = [
306
307
  "",
307
308
  "epics",
@@ -477,7 +478,8 @@ var SETTINGS_DEFAULTS = {
477
478
  lifecycle_closure_like_resolution_patterns: [...DEFAULT_VALIDATE_CLOSURE_LIKE_METADATA_FIELD_PATTERNS.resolution],
478
479
  lifecycle_closure_like_actual_result_patterns: [
479
480
  ...DEFAULT_VALIDATE_CLOSURE_LIKE_METADATA_FIELD_PATTERNS.actual_result
480
- ]
481
+ ],
482
+ estimate_defaults_by_type: {}
481
483
  },
482
484
  governance: {
483
485
  preset: "minimal",
@@ -858,187 +860,6 @@ function asRecordLoose(value) {
858
860
  return value;
859
861
  }
860
862
 
861
- // dist/core/shared/levenshtein.js
862
- !(function() {
863
- try {
864
- var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
865
- n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "6f3e0977-8505-552c-b2ff-862f2a5d5a91");
866
- } catch (e2) {
867
- }
868
- })();
869
- function levenshteinDistanceWithinLimit(left, right, limit) {
870
- if (left === right) {
871
- return 0;
872
- }
873
- if (Math.abs(left.length - right.length) > limit) {
874
- return null;
875
- }
876
- const width = right.length + 1;
877
- const beforePrevious = new Array(width);
878
- const previous = new Array(width);
879
- const current = new Array(width);
880
- for (let column = 0; column < width; column += 1) {
881
- beforePrevious[column] = 0;
882
- previous[column] = column;
883
- }
884
- for (let row = 1; row <= left.length; row += 1) {
885
- current[0] = row;
886
- let rowMin = current[0];
887
- for (let column = 1; column <= right.length; column += 1) {
888
- const cost = left[row - 1] === right[column - 1] ? 0 : 1;
889
- const substitution = previous[column - 1] + cost;
890
- const insertion = current[column - 1] + 1;
891
- const deletion = previous[column] + 1;
892
- let candidate = Math.min(substitution, insertion, deletion);
893
- if (row > 1 && column > 1 && left[row - 1] === right[column - 2] && left[row - 2] === right[column - 1]) {
894
- candidate = Math.min(candidate, beforePrevious[column - 2] + 1);
895
- }
896
- current[column] = candidate;
897
- if (candidate < rowMin) {
898
- rowMin = candidate;
899
- }
900
- }
901
- if (rowMin > limit) {
902
- return null;
903
- }
904
- for (let column = 0; column < width; column += 1) {
905
- beforePrevious[column] = previous[column];
906
- previous[column] = current[column];
907
- }
908
- }
909
- const result = previous[right.length];
910
- return result <= limit ? result : null;
911
- }
912
-
913
- // dist/core/extensions/extension-capability-aliases.js
914
- !(function() {
915
- try {
916
- var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
917
- n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "bdebef92-142e-53b9-a836-480f38d1c3a0");
918
- } catch (e2) {
919
- }
920
- })();
921
- function normalizeNames(values) {
922
- return [...new Set(values.map((value) => value.trim()).filter((value) => value.length > 0))].sort((a, b) => a.localeCompare(b));
923
- }
924
- function isKnownExtensionCapability(value) {
925
- return KNOWN_EXTENSION_CAPABILITIES.includes(value);
926
- }
927
- function collectUnknownExtensionCapabilities(capabilities) {
928
- return capabilities.filter((capability) => !isKnownExtensionCapability(capability));
929
- }
930
- function resolveLegacyExtensionCapabilityAlias(capability) {
931
- const normalized = capability.trim().toLowerCase();
932
- if (normalized.length === 0) {
933
- return null;
934
- }
935
- return EXTENSION_CAPABILITY_LEGACY_ALIASES[normalized] ?? null;
936
- }
937
- function normalizeManifestCapabilities(rawCapabilities) {
938
- const normalizedCapabilities = normalizeNames([...rawCapabilities].map((value) => value.toLowerCase()));
939
- const remappedCapabilities = [];
940
- const legacyAliases = [];
941
- for (const capability of normalizedCapabilities) {
942
- const legacyAliasTarget = resolveLegacyExtensionCapabilityAlias(capability);
943
- if (legacyAliasTarget) {
944
- remappedCapabilities.push(legacyAliasTarget);
945
- legacyAliases.push({
946
- alias: capability,
947
- target: legacyAliasTarget
948
- });
949
- continue;
950
- }
951
- remappedCapabilities.push(capability);
952
- }
953
- const dedupedLegacyAliases = [...new Map(legacyAliases.map((entry) => [`${entry.alias}>${entry.target}`, entry])).values()].sort((left, right) => left.alias.localeCompare(right.alias));
954
- return {
955
- capabilities: normalizeNames(remappedCapabilities),
956
- legacy_aliases: dedupedLegacyAliases
957
- };
958
- }
959
- function suggestKnownExtensionCapability(capability) {
960
- const normalized = capability.trim().toLowerCase();
961
- if (normalized.length === 0) {
962
- return null;
963
- }
964
- const legacyAlias = resolveLegacyExtensionCapabilityAlias(normalized);
965
- if (legacyAlias) {
966
- return legacyAlias;
967
- }
968
- const maxDistance = Math.max(1, Math.floor(normalized.length * 0.34));
969
- let bestMatch = null;
970
- let bestDistance = Number.POSITIVE_INFINITY;
971
- for (const candidate of KNOWN_EXTENSION_CAPABILITIES) {
972
- const distance = levenshteinDistanceWithinLimit(normalized, candidate, maxDistance);
973
- if (distance !== null && distance < bestDistance) {
974
- bestDistance = distance;
975
- bestMatch = candidate;
976
- }
977
- }
978
- return bestMatch;
979
- }
980
- function formatUnknownExtensionCapabilityWarning(layer, name, capability) {
981
- const allowed = KNOWN_EXTENSION_CAPABILITIES.join(",");
982
- const suggested = suggestKnownExtensionCapability(capability) ?? "none";
983
- return `extension_capability_unknown:${layer}:${name}:${capability}:allowed=${allowed}:suggested=${suggested}`;
984
- }
985
- function formatLegacyExtensionCapabilityAliasWarning(layer, name, aliases) {
986
- const aliasesToken = aliases.map((entry) => `${entry.alias}>${entry.target}`).join(",");
987
- return `extension_capability_legacy_alias:${layer}:${name}:aliases=${aliasesToken}`;
988
- }
989
- function parseUnknownExtensionCapabilityWarning(warning) {
990
- const match = /^extension_capability_unknown:(global|project):([^:]+):([^:]+):allowed=([^:]+):suggested=([^:]+)$/.exec(warning.trim());
991
- if (!match) {
992
- return null;
993
- }
994
- const [, layerRaw, name, capability, allowedRaw, suggestedRaw] = match;
995
- const layer = layerRaw;
996
- const allowed_capabilities = allowedRaw.split(",").map((value) => value.trim()).filter((value) => value.length > 0);
997
- const legacyAlias = resolveLegacyExtensionCapabilityAlias(capability);
998
- const suggestedFromWarning = suggestedRaw === "none" ? void 0 : suggestedRaw;
999
- const suggested_capability = suggestedFromWarning ?? legacyAlias ?? void 0;
1000
- const suggestion_source = suggested_capability ? legacyAlias === suggested_capability ? "legacy_alias" : "nearest_match" : void 0;
1001
- return {
1002
- layer,
1003
- name,
1004
- capability,
1005
- allowed_capabilities,
1006
- capability_contract_version: EXTENSION_CAPABILITY_CONTRACT_VERSION,
1007
- suggested_capability,
1008
- suggestion_source,
1009
- legacy_alias_target: legacyAlias ?? void 0
1010
- };
1011
- }
1012
- function parseLegacyExtensionCapabilityAliasWarning(warning) {
1013
- const match = /^extension_capability_legacy_alias:(global|project):([^:]+):aliases=(.+)$/.exec(warning.trim());
1014
- if (!match) {
1015
- return [];
1016
- }
1017
- const [, layerRaw, name, aliasesRaw] = match;
1018
- const layer = layerRaw;
1019
- const allowedCapabilities = [...KNOWN_EXTENSION_CAPABILITIES];
1020
- const parsed = [];
1021
- for (const token of aliasesRaw.split(",")) {
1022
- const [rawAlias, rawTarget] = token.split(">");
1023
- const alias = rawAlias?.trim();
1024
- const target = rawTarget?.trim().toLowerCase();
1025
- if (!alias || !target || !isKnownExtensionCapability(target)) {
1026
- continue;
1027
- }
1028
- parsed.push({
1029
- layer,
1030
- name,
1031
- capability: alias,
1032
- allowed_capabilities: allowedCapabilities,
1033
- capability_contract_version: EXTENSION_CAPABILITY_CONTRACT_VERSION,
1034
- suggested_capability: target,
1035
- suggestion_source: "legacy_alias",
1036
- legacy_alias_target: target
1037
- });
1038
- }
1039
- return parsed;
1040
- }
1041
-
1042
863
  // dist/core/extensions/extension-registries.js
1043
864
  !(function() {
1044
865
  try {
@@ -1590,6 +1411,58 @@ function isFlagDefaultValueCoercible(value, kind) {
1590
1411
  return typeof value === "string" && ["true", "false", "1", "0"].includes(value.trim().toLowerCase());
1591
1412
  }
1592
1413
 
1414
+ // dist/core/shared/levenshtein.js
1415
+ !(function() {
1416
+ try {
1417
+ var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
1418
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "6f3e0977-8505-552c-b2ff-862f2a5d5a91");
1419
+ } catch (e2) {
1420
+ }
1421
+ })();
1422
+ function levenshteinDistanceWithinLimit(left, right, limit) {
1423
+ if (left === right) {
1424
+ return 0;
1425
+ }
1426
+ if (Math.abs(left.length - right.length) > limit) {
1427
+ return null;
1428
+ }
1429
+ const width = right.length + 1;
1430
+ const beforePrevious = new Array(width);
1431
+ const previous = new Array(width);
1432
+ const current = new Array(width);
1433
+ for (let column = 0; column < width; column += 1) {
1434
+ beforePrevious[column] = 0;
1435
+ previous[column] = column;
1436
+ }
1437
+ for (let row = 1; row <= left.length; row += 1) {
1438
+ current[0] = row;
1439
+ let rowMin = current[0];
1440
+ for (let column = 1; column <= right.length; column += 1) {
1441
+ const cost = left[row - 1] === right[column - 1] ? 0 : 1;
1442
+ const substitution = previous[column - 1] + cost;
1443
+ const insertion = current[column - 1] + 1;
1444
+ const deletion = previous[column] + 1;
1445
+ let candidate = Math.min(substitution, insertion, deletion);
1446
+ if (row > 1 && column > 1 && left[row - 1] === right[column - 2] && left[row - 2] === right[column - 1]) {
1447
+ candidate = Math.min(candidate, beforePrevious[column - 2] + 1);
1448
+ }
1449
+ current[column] = candidate;
1450
+ if (candidate < rowMin) {
1451
+ rowMin = candidate;
1452
+ }
1453
+ }
1454
+ if (rowMin > limit) {
1455
+ return null;
1456
+ }
1457
+ for (let column = 0; column < width; column += 1) {
1458
+ beforePrevious[column] = previous[column];
1459
+ previous[column] = current[column];
1460
+ }
1461
+ }
1462
+ const result = previous[right.length];
1463
+ return result <= limit ? result : null;
1464
+ }
1465
+
1593
1466
  // dist/core/extensions/item-field-types.js
1594
1467
  !(function() {
1595
1468
  try {
@@ -1617,11 +1490,140 @@ function suggestKnownItemFieldType(value) {
1617
1490
  return null;
1618
1491
  }
1619
1492
 
1493
+ // dist/core/extensions/extension-capability-aliases.js
1494
+ !(function() {
1495
+ try {
1496
+ var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
1497
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "bdebef92-142e-53b9-a836-480f38d1c3a0");
1498
+ } catch (e2) {
1499
+ }
1500
+ })();
1501
+ function normalizeNames(values) {
1502
+ return [...new Set(values.map((value) => value.trim()).filter((value) => value.length > 0))].sort((a, b) => a.localeCompare(b));
1503
+ }
1504
+ function isKnownExtensionCapability(value) {
1505
+ return KNOWN_EXTENSION_CAPABILITIES.includes(value);
1506
+ }
1507
+ function collectUnknownExtensionCapabilities(capabilities) {
1508
+ return capabilities.filter((capability) => !isKnownExtensionCapability(capability));
1509
+ }
1510
+ function resolveLegacyExtensionCapabilityAlias(capability) {
1511
+ const normalized = capability.trim().toLowerCase();
1512
+ if (normalized.length === 0) {
1513
+ return null;
1514
+ }
1515
+ return EXTENSION_CAPABILITY_LEGACY_ALIASES[normalized] ?? null;
1516
+ }
1517
+ function normalizeManifestCapabilities(rawCapabilities) {
1518
+ const normalizedCapabilities = normalizeNames([...rawCapabilities].map((value) => value.toLowerCase()));
1519
+ const remappedCapabilities = [];
1520
+ const legacyAliases = [];
1521
+ for (const capability of normalizedCapabilities) {
1522
+ const legacyAliasTarget = resolveLegacyExtensionCapabilityAlias(capability);
1523
+ if (legacyAliasTarget) {
1524
+ remappedCapabilities.push(legacyAliasTarget);
1525
+ legacyAliases.push({
1526
+ alias: capability,
1527
+ target: legacyAliasTarget
1528
+ });
1529
+ continue;
1530
+ }
1531
+ remappedCapabilities.push(capability);
1532
+ }
1533
+ const dedupedLegacyAliases = [...new Map(legacyAliases.map((entry) => [`${entry.alias}>${entry.target}`, entry])).values()].sort((left, right) => left.alias.localeCompare(right.alias));
1534
+ return {
1535
+ capabilities: normalizeNames(remappedCapabilities),
1536
+ legacy_aliases: dedupedLegacyAliases
1537
+ };
1538
+ }
1539
+ function suggestKnownExtensionCapability(capability) {
1540
+ const normalized = capability.trim().toLowerCase();
1541
+ if (normalized.length === 0) {
1542
+ return null;
1543
+ }
1544
+ const legacyAlias = resolveLegacyExtensionCapabilityAlias(normalized);
1545
+ if (legacyAlias) {
1546
+ return legacyAlias;
1547
+ }
1548
+ const maxDistance = Math.max(1, Math.floor(normalized.length * 0.34));
1549
+ let bestMatch = null;
1550
+ let bestDistance = Number.POSITIVE_INFINITY;
1551
+ for (const candidate of KNOWN_EXTENSION_CAPABILITIES) {
1552
+ const distance = levenshteinDistanceWithinLimit(normalized, candidate, maxDistance);
1553
+ if (distance !== null && distance < bestDistance) {
1554
+ bestDistance = distance;
1555
+ bestMatch = candidate;
1556
+ }
1557
+ }
1558
+ return bestMatch;
1559
+ }
1560
+ function formatUnknownExtensionCapabilityWarning(layer, name, capability) {
1561
+ const allowed = KNOWN_EXTENSION_CAPABILITIES.join(",");
1562
+ const suggested = suggestKnownExtensionCapability(capability) ?? "none";
1563
+ return `extension_capability_unknown:${layer}:${name}:${capability}:allowed=${allowed}:suggested=${suggested}`;
1564
+ }
1565
+ function formatLegacyExtensionCapabilityAliasWarning(layer, name, aliases) {
1566
+ const aliasesToken = aliases.map((entry) => `${entry.alias}>${entry.target}`).join(",");
1567
+ return `extension_capability_legacy_alias:${layer}:${name}:aliases=${aliasesToken}`;
1568
+ }
1569
+ function parseUnknownExtensionCapabilityWarning(warning) {
1570
+ const match = /^extension_capability_unknown:(global|project):([^:]+):([^:]+):allowed=([^:]+):suggested=([^:]+)$/.exec(warning.trim());
1571
+ if (!match) {
1572
+ return null;
1573
+ }
1574
+ const [, layerRaw, name, capability, allowedRaw, suggestedRaw] = match;
1575
+ const layer = layerRaw;
1576
+ const allowed_capabilities = allowedRaw.split(",").map((value) => value.trim()).filter((value) => value.length > 0);
1577
+ const legacyAlias = resolveLegacyExtensionCapabilityAlias(capability);
1578
+ const suggestedFromWarning = suggestedRaw === "none" ? void 0 : suggestedRaw;
1579
+ const suggested_capability = suggestedFromWarning ?? legacyAlias ?? void 0;
1580
+ const suggestion_source = suggested_capability ? legacyAlias === suggested_capability ? "legacy_alias" : "nearest_match" : void 0;
1581
+ return {
1582
+ layer,
1583
+ name,
1584
+ capability,
1585
+ allowed_capabilities,
1586
+ capability_contract_version: EXTENSION_CAPABILITY_CONTRACT_VERSION,
1587
+ suggested_capability,
1588
+ suggestion_source,
1589
+ legacy_alias_target: legacyAlias ?? void 0
1590
+ };
1591
+ }
1592
+ function parseLegacyExtensionCapabilityAliasWarning(warning) {
1593
+ const match = /^extension_capability_legacy_alias:(global|project):([^:]+):aliases=(.+)$/.exec(warning.trim());
1594
+ if (!match) {
1595
+ return [];
1596
+ }
1597
+ const [, layerRaw, name, aliasesRaw] = match;
1598
+ const layer = layerRaw;
1599
+ const allowedCapabilities = [...KNOWN_EXTENSION_CAPABILITIES];
1600
+ const parsed = [];
1601
+ for (const token of aliasesRaw.split(",")) {
1602
+ const [rawAlias, rawTarget] = token.split(">");
1603
+ const alias = rawAlias?.trim();
1604
+ const target = rawTarget?.trim().toLowerCase();
1605
+ if (!alias || !target || !isKnownExtensionCapability(target)) {
1606
+ continue;
1607
+ }
1608
+ parsed.push({
1609
+ layer,
1610
+ name,
1611
+ capability: alias,
1612
+ allowed_capabilities: allowedCapabilities,
1613
+ capability_contract_version: EXTENSION_CAPABILITY_CONTRACT_VERSION,
1614
+ suggested_capability: target,
1615
+ suggestion_source: "legacy_alias",
1616
+ legacy_alias_target: target
1617
+ });
1618
+ }
1619
+ return parsed;
1620
+ }
1621
+
1620
1622
  // dist/core/extensions/extension-policy.js
1621
1623
  !(function() {
1622
1624
  try {
1623
1625
  var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
1624
- n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "5f65a8a3-c45a-5178-918a-32153c97cce6");
1626
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "e3368ee4-621b-5707-bd6c-0f267867ef50");
1625
1627
  } catch (e2) {
1626
1628
  }
1627
1629
  })();
@@ -1989,19 +1991,17 @@ function resolvePolicySandboxReason(policy, extension) {
1989
1991
  }
1990
1992
  return null;
1991
1993
  }
1992
- if (profile === "strict") {
1993
- if (hasPermission("process_spawn")) {
1994
- return "sandbox_strict_disallows_process_spawn";
1995
- }
1996
- if (hasPermission("network")) {
1997
- return "sandbox_strict_disallows_network";
1998
- }
1999
- if (hasPermission("fs_write")) {
2000
- return "sandbox_strict_disallows_fs_write";
2001
- }
2002
- if (hasPermission("env_write")) {
2003
- return "sandbox_strict_disallows_env_write";
2004
- }
1994
+ if (hasPermission("process_spawn")) {
1995
+ return "sandbox_strict_disallows_process_spawn";
1996
+ }
1997
+ if (hasPermission("network")) {
1998
+ return "sandbox_strict_disallows_network";
1999
+ }
2000
+ if (hasPermission("fs_write")) {
2001
+ return "sandbox_strict_disallows_fs_write";
2002
+ }
2003
+ if (hasPermission("env_write")) {
2004
+ return "sandbox_strict_disallows_env_write";
2005
2005
  }
2006
2006
  return null;
2007
2007
  }
@@ -2117,7 +2117,7 @@ function evaluateExtensionPolicyForRegistration(policy, extension, surface, meth
2117
2117
  !(function() {
2118
2118
  try {
2119
2119
  var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
2120
- n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "19026387-34f8-5e8e-b936-4fc13489f244");
2120
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "5c5ced45-c38c-562e-a71b-e38fc696239f");
2121
2121
  } catch (e2) {
2122
2122
  }
2123
2123
  })();
@@ -2367,7 +2367,7 @@ function summarizeCandidate(candidate) {
2367
2367
  permissions: candidate.manifest.permissions,
2368
2368
  capabilities: [...candidate.manifest.capabilities],
2369
2369
  activation: candidate.manifest.activation ? {
2370
- commands: [...candidate.manifest.activation.commands ?? []]
2370
+ commands: [...candidate.manifest.activation.commands]
2371
2371
  } : void 0
2372
2372
  };
2373
2373
  if (candidate.source_package) {
@@ -2618,7 +2618,7 @@ function formatUnknownError(error) {
2618
2618
  }
2619
2619
  function parseComparableVersion(value) {
2620
2620
  const normalized = value.trim().replace(/^>=\s*/, "").replace(/^v/i, "");
2621
- const release = normalized.split(/[+-]/, 1)[0] ?? "";
2621
+ const release = normalized.split(/[+-]/, 1)[0];
2622
2622
  if (!/^\d+(?:[.-]\d+)*$/.test(release)) {
2623
2623
  return null;
2624
2624
  }
@@ -3035,25 +3035,16 @@ function normalizeCommandDefinitionArguments(value) {
3035
3035
  definition.variadic = true;
3036
3036
  }
3037
3037
  if (typeof record.description === "string") {
3038
- const trimmedDescription = record.description.trim();
3039
- if (trimmedDescription.length > 0) {
3040
- definition.description = trimmedDescription;
3041
- }
3038
+ definition.description = record.description.trim();
3042
3039
  }
3043
3040
  normalized.push(definition);
3044
3041
  }
3045
- let variadicCount = 0;
3046
- for (const [index, argument] of normalized.entries()) {
3047
- if (!argument.variadic) {
3048
- continue;
3049
- }
3050
- variadicCount += 1;
3051
- if (variadicCount > 1) {
3052
- throw new TypeError("registerCommand definition.arguments supports at most one variadic argument");
3053
- }
3054
- if (index !== normalized.length - 1) {
3055
- throw new TypeError("registerCommand definition.arguments variadic argument must be the final argument");
3056
- }
3042
+ const variadicIndexes = normalized.map((argument, index) => argument.variadic ? index : -1).filter((index) => index >= 0);
3043
+ if (variadicIndexes.length > 1) {
3044
+ throw new TypeError("registerCommand definition.arguments supports at most one variadic argument");
3045
+ }
3046
+ if (variadicIndexes.length === 1 && variadicIndexes[0] !== normalized.length - 1) {
3047
+ throw new TypeError("registerCommand definition.arguments variadic argument must be the final argument");
3057
3048
  }
3058
3049
  return normalized;
3059
3050
  }
@@ -3207,7 +3198,7 @@ function assertExtensionCapability(extension, capability, method) {
3207
3198
  capability,
3208
3199
  missing_capability: capability,
3209
3200
  expected_schema: `"capabilities": [..., "${capability}"]`,
3210
- received: extension.capabilities ?? [],
3201
+ received: extension.capabilities,
3211
3202
  hint: `Add "${capability}" to ${extension.name} manifest capabilities, or remove the ${method} registration call.`
3212
3203
  });
3213
3204
  }
@@ -3338,7 +3329,7 @@ function createExtensionApi(extension, hooks, commands, parsers, preflight, serv
3338
3329
  }
3339
3330
  registrations.commands.push(registration);
3340
3331
  } catch (error) {
3341
- const reason = error instanceof Error ? error.message : "registerCommand definition validation failed";
3332
+ const reason = formatUnknownError(error);
3342
3333
  const trace = registerCommandTrace("definition", normalizedCommand, "{ name: string; run: (context) => unknown; action?: string; arguments?: object[]; flags?: object[]; }", commandOrDefinition, "Use schema-style metadata (action/arguments/flags/examples/intent) with valid values.");
3343
3334
  throw createRegistrationValidationError(`registerCommand definition metadata invalid (command="${normalizedCommand}", registration_index=${trace.registration_index}): ${reason}`, trace);
3344
3335
  }
@@ -3713,7 +3704,7 @@ function collectCommandCollisionWarnings(commands) {
3713
3704
  grouped.set(entry.command, bucket);
3714
3705
  }
3715
3706
  for (const command of [...grouped.keys()].sort((left, right) => left.localeCompare(right))) {
3716
- const bucket = grouped.get(command) ?? [];
3707
+ const bucket = grouped.get(command);
3717
3708
  if (bucket.length <= 1) {
3718
3709
  continue;
3719
3710
  }
@@ -3726,7 +3717,8 @@ function collectCommandCollisionWarnings(commands) {
3726
3717
  collectByCommand(commands.handlers, "extension_command_handler_collision");
3727
3718
  collectByCommand(commands.overrides, "extension_command_override_collision");
3728
3719
  const handlerCommands = new Set(commands.handlers.map((entry) => entry.command));
3729
- const overlapCommands = [...new Set(commands.overrides.map((entry) => entry.command))].filter((command) => handlerCommands.has(command)).sort((left, right) => left.localeCompare(right));
3720
+ const overlapCommands = [...new Set(commands.overrides.map((entry) => entry.command))].filter((command) => handlerCommands.has(command));
3721
+ overlapCommands.sort((left, right) => left.localeCompare(right));
3730
3722
  for (const command of overlapCommands) {
3731
3723
  const handlers = commands.handlers.filter((entry) => entry.command === command);
3732
3724
  const overrides = commands.overrides.filter((entry) => entry.command === command);
@@ -3747,7 +3739,7 @@ function collectRendererCollisionWarnings(renderers) {
3747
3739
  }
3748
3740
  const warnings = [];
3749
3741
  for (const format of [...grouped.keys()].sort((left, right) => left.localeCompare(right))) {
3750
- const bucket = grouped.get(format) ?? [];
3742
+ const bucket = grouped.get(format);
3751
3743
  if (bucket.length <= 1) {
3752
3744
  continue;
3753
3745
  }
@@ -3767,7 +3759,7 @@ function collectParserCollisionWarnings(parsers) {
3767
3759
  grouped.set(entry.command, bucket);
3768
3760
  }
3769
3761
  for (const command of [...grouped.keys()].sort((left, right) => left.localeCompare(right))) {
3770
- const bucket = grouped.get(command) ?? [];
3762
+ const bucket = grouped.get(command);
3771
3763
  if (bucket.length <= 1) {
3772
3764
  continue;
3773
3765
  }
@@ -3797,7 +3789,7 @@ function collectServiceCollisionWarnings(services) {
3797
3789
  grouped.set(entry.service, bucket);
3798
3790
  }
3799
3791
  for (const service of [...grouped.keys()].sort((left, right) => left.localeCompare(right))) {
3800
- const bucket = grouped.get(service) ?? [];
3792
+ const bucket = grouped.get(service);
3801
3793
  if (bucket.length <= 1) {
3802
3794
  continue;
3803
3795
  }
@@ -4128,7 +4120,7 @@ function runActiveServiceOverrideSync(service, payload) {
4128
4120
  !(function() {
4129
4121
  try {
4130
4122
  var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
4131
- n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "a6694379-22e4-5b33-9691-cca9ad16865c");
4123
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "4c4af6d4-82fa-51ea-b101-486993b485f1");
4132
4124
  } catch (e2) {
4133
4125
  }
4134
4126
  })();
@@ -4222,7 +4214,7 @@ var PLAN_STEP_LINK_KIND_VALUES = [
4222
4214
  "verifies",
4223
4215
  "supersedes"
4224
4216
  ];
4225
- var CONTEXT_DEPTH_VALUES = ["brief", "standard", "deep"];
4217
+ var CONTEXT_DEPTH_VALUES = ["brief", "standard", "deep", "full"];
4226
4218
  var CONTEXT_SECTION_VALUES = [
4227
4219
  "hierarchy",
4228
4220
  "activity",
@@ -4250,7 +4242,7 @@ import path6 from "node:path";
4250
4242
  !(function() {
4251
4243
  try {
4252
4244
  var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
4253
- n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "221fcd13-8553-5c32-a2d8-2845d0f71047");
4245
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "b2eb7998-c31b-5482-a06a-702127583881");
4254
4246
  } catch (e2) {
4255
4247
  }
4256
4248
  })();
@@ -4585,6 +4577,9 @@ function filePathForSchemaSection(pmRoot, configuredPath, fallbackPath) {
4585
4577
  }
4586
4578
  return path6.join(pmRoot, normalized);
4587
4579
  }
4580
+ function resolveItemTypesFilePath(pmRoot, schema) {
4581
+ return filePathForSchemaSection(pmRoot, schema.files.types, DEFAULT_RUNTIME_SCHEMA_FILE_PATHS.types);
4582
+ }
4588
4583
  async function ensureRuntimeSchemaFileScaffold(pmRoot, schema) {
4589
4584
  const normalizedSchema = normalizeRuntimeSchemaSettings(schema);
4590
4585
  const specs = [
@@ -4687,11 +4682,8 @@ function preferredStatusForRole(definitions, role, fallbackValues) {
4687
4682
  if (withRole.length > 0) {
4688
4683
  return withRole[0].id;
4689
4684
  }
4690
- for (const value of fallbackValues) {
4691
- const normalized = normalizeStatusId(value);
4692
- if (!normalized) {
4693
- continue;
4694
- }
4685
+ const normalizedFallbacks = fallbackValues.map((value) => normalizeStatusId(value)).filter((value) => typeof value === "string");
4686
+ for (const normalized of normalizedFallbacks) {
4695
4687
  if (definitions.some((definition) => definition.id === normalized)) {
4696
4688
  return normalized;
4697
4689
  }
@@ -4742,7 +4734,7 @@ function resolveRuntimeStatusRegistry(schema) {
4742
4734
  }
4743
4735
  }
4744
4736
  const workflow = normalizedSchema.workflow;
4745
- const openStatus = normalizeStatusId(workflow.open_status) ?? preferredStatusForRole(definitions, "default_open", ["open", "in_progress", STATUS_VALUES[0] ?? "open"]);
4737
+ const openStatus = normalizeStatusId(workflow.open_status) ?? preferredStatusForRole(definitions, "default_open", ["open", "in_progress", STATUS_VALUES[0]]);
4746
4738
  const closeStatus = normalizeStatusId(workflow.close_status) ?? preferredStatusForRole(definitions, "default_close", ["closed", "done", "complete"]);
4747
4739
  const canceledStatus = normalizeStatusId(workflow.canceled_status) ?? preferredStatusForRole(definitions, "default_cancel", ["canceled", "cancelled"]);
4748
4740
  return {
@@ -4755,9 +4747,9 @@ function resolveRuntimeStatusRegistry(schema) {
4755
4747
  active_statuses: activeStatuses,
4756
4748
  blocked_statuses: blockedStatuses,
4757
4749
  draft_statuses: draftStatuses,
4758
- open_status: openStatus ?? definitions[0]?.id ?? "open",
4759
- close_status: closeStatus ?? definitions[0]?.id ?? "closed",
4760
- canceled_status: canceledStatus ?? definitions[0]?.id ?? "canceled"
4750
+ open_status: openStatus,
4751
+ close_status: closeStatus,
4752
+ canceled_status: canceledStatus
4761
4753
  };
4762
4754
  }
4763
4755
  function normalizeStatusInputWithRegistry(value, registry) {
@@ -4770,11 +4762,8 @@ function normalizeStatusInputWithRegistry(value, registry) {
4770
4762
  function resolveRuntimeFieldRegistry(schema) {
4771
4763
  const normalizedSchema = normalizeRuntimeSchemaSettings(schema);
4772
4764
  const dedupedByKey = /* @__PURE__ */ new Map();
4773
- for (const definition of normalizedSchema.fields) {
4774
- const normalized = normalizeRuntimeFieldDefinition(definition);
4775
- if (!normalized) {
4776
- continue;
4777
- }
4765
+ const normalizedFields = normalizedSchema.fields.map((definition) => normalizeRuntimeFieldDefinition(definition)).filter((definition) => definition !== null);
4766
+ for (const normalized of normalizedFields) {
4778
4767
  dedupedByKey.set(normalized.key, normalized);
4779
4768
  }
4780
4769
  const definitions = [...dedupedByKey.values()].sort((left, right) => left.key.localeCompare(right.key));
@@ -4998,7 +4987,7 @@ function orderObject(value, keyOrder) {
4998
4987
  !(function() {
4999
4988
  try {
5000
4989
  var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
5001
- n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "145fe5b4-69da-571d-9982-6ad77c6291b7");
4990
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "92ab115e-aba4-5010-8543-15a20372510a");
5002
4991
  } catch (e2) {
5003
4992
  }
5004
4993
  })();
@@ -5041,6 +5030,22 @@ function vArray(item) {
5041
5030
  function vOptional(inner) {
5042
5031
  return (input) => input === void 0 ? { ok: true, value: void 0 } : inner(input);
5043
5032
  }
5033
+ function vRecordOf(valueCheck) {
5034
+ return (input) => {
5035
+ if (typeof input !== "object" || input === null || Array.isArray(input)) {
5036
+ return FAIL;
5037
+ }
5038
+ const value = {};
5039
+ for (const [key, raw] of Object.entries(input)) {
5040
+ const result = valueCheck(raw);
5041
+ if (!result.ok) {
5042
+ return FAIL;
5043
+ }
5044
+ value[key] = result.value;
5045
+ }
5046
+ return { ok: true, value };
5047
+ };
5048
+ }
5044
5049
  function vObject(shape) {
5045
5050
  return (input) => {
5046
5051
  if (typeof input !== "object" || input === null || Array.isArray(input)) {
@@ -5215,7 +5220,8 @@ var settingsCheck = vObject({
5215
5220
  lifecycle_stale_blocker_reason_patterns: vOptional(vArray(vString)),
5216
5221
  lifecycle_closure_like_blocked_reason_patterns: vOptional(vArray(vString)),
5217
5222
  lifecycle_closure_like_resolution_patterns: vOptional(vArray(vString)),
5218
- lifecycle_closure_like_actual_result_patterns: vOptional(vArray(vString))
5223
+ lifecycle_closure_like_actual_result_patterns: vOptional(vArray(vString)),
5224
+ estimate_defaults_by_type: vOptional(vRecordOf(vNumber({ int: true, positive: true })))
5219
5225
  })),
5220
5226
  governance: governanceSettings,
5221
5227
  workflow: vOptional(vObject({ definition_of_done: vArray(vString) })),
@@ -5269,6 +5275,7 @@ var settingsCheck = vObject({
5269
5275
  embedding_timeout_ms: vOptional(vNumber({ int: true })),
5270
5276
  scanner_max_batch_retries: vNumber({ int: true }),
5271
5277
  provider: vOptional(vString),
5278
+ corpus_fields: vOptional(vArray(vString)),
5272
5279
  mutation_refresh_policy: vOptional(vLiteral("cache_only", "semantic_configured", "semantic_auto")),
5273
5280
  query_expansion: vOptional(vObject({
5274
5281
  enabled: vOptional(vBoolean),
@@ -5387,6 +5394,80 @@ function normalizeItemTypeDefinition(definition, options = {}) {
5387
5394
  };
5388
5395
  }
5389
5396
 
5397
+ // dist/core/validate/estimate-defaults.js
5398
+ !(function() {
5399
+ try {
5400
+ var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
5401
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "33f2ca4e-022c-5fc2-9938-a3fb389c1b93");
5402
+ } catch (e2) {
5403
+ }
5404
+ })();
5405
+ var DEFAULT_ESTIMATE_MINUTES_BY_TYPE = {
5406
+ Epic: 2880,
5407
+ Feature: 480,
5408
+ Story: 480,
5409
+ Milestone: 2880,
5410
+ Task: 120,
5411
+ Issue: 60,
5412
+ Bug: 60,
5413
+ Chore: 30,
5414
+ Decision: 15,
5415
+ Plan: 120
5416
+ };
5417
+ var FALLBACK_ESTIMATE_MINUTES = 120;
5418
+ function isHonoredMinutes(value) {
5419
+ return typeof value === "number" && Number.isFinite(value) && value > 0;
5420
+ }
5421
+ function toLowercasedLookup(source) {
5422
+ const lookup = /* @__PURE__ */ new Map();
5423
+ for (const [key, value] of Object.entries(source)) {
5424
+ lookup.set(key.toLowerCase(), value);
5425
+ }
5426
+ return lookup;
5427
+ }
5428
+ var BUILTIN_LOWERCASED_LOOKUP = toLowercasedLookup(DEFAULT_ESTIMATE_MINUTES_BY_TYPE);
5429
+ var OVERRIDE_LOOKUP_CACHE = /* @__PURE__ */ new WeakMap();
5430
+ function lowercasedOverrideLookup(overrides) {
5431
+ const cached = OVERRIDE_LOOKUP_CACHE.get(overrides);
5432
+ if (cached) {
5433
+ return cached;
5434
+ }
5435
+ const lookup = toLowercasedLookup(overrides);
5436
+ OVERRIDE_LOOKUP_CACHE.set(overrides, lookup);
5437
+ return lookup;
5438
+ }
5439
+ function resolveEstimateDefaultMinutes(type, overrides) {
5440
+ const key = (type ?? "").trim().toLowerCase();
5441
+ if (key.length === 0) {
5442
+ return FALLBACK_ESTIMATE_MINUTES;
5443
+ }
5444
+ if (overrides) {
5445
+ const overrideValue = lowercasedOverrideLookup(overrides).get(key);
5446
+ if (isHonoredMinutes(overrideValue)) {
5447
+ return Math.floor(overrideValue);
5448
+ }
5449
+ }
5450
+ const builtinValue = BUILTIN_LOWERCASED_LOOKUP.get(key);
5451
+ if (isHonoredMinutes(builtinValue)) {
5452
+ return Math.floor(builtinValue);
5453
+ }
5454
+ return FALLBACK_ESTIMATE_MINUTES;
5455
+ }
5456
+ function normalizeEstimateDefaultOverrides(raw) {
5457
+ const normalized = {};
5458
+ if (raw === null || typeof raw !== "object" || Array.isArray(raw)) {
5459
+ return normalized;
5460
+ }
5461
+ for (const [rawKey, rawValue] of Object.entries(raw)) {
5462
+ const key = rawKey.trim();
5463
+ if (key.length === 0 || !isHonoredMinutes(rawValue)) {
5464
+ continue;
5465
+ }
5466
+ normalized[key] = Math.floor(rawValue);
5467
+ }
5468
+ return normalized;
5469
+ }
5470
+
5390
5471
  // dist/core/store/settings-read-cache.js
5391
5472
  import { stat } from "node:fs/promises";
5392
5473
  !(function() {
@@ -5463,7 +5544,7 @@ function clearSettingsReadCache(pmRoot) {
5463
5544
  !(function() {
5464
5545
  try {
5465
5546
  var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
5466
- n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "759b1285-3075-5bd2-a0d7-9eab54fc1093");
5547
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "ad562c88-0172-5c5c-8288-40d66376c88d");
5467
5548
  } catch (e2) {
5468
5549
  }
5469
5550
  })();
@@ -5909,6 +5990,15 @@ function normalizeValidationMetadataRequiredFields(values) {
5909
5990
  function normalizeValidationPatternList(values) {
5910
5991
  return [...new Set((values ?? []).map((value) => value.trim().toLowerCase()).filter((value) => value.length > 0))].sort((left, right) => left.localeCompare(right));
5911
5992
  }
5993
+ function valueOrDefault(value, fallback) {
5994
+ return value === void 0 ? fallback : value;
5995
+ }
5996
+ function recordOrEmpty(value) {
5997
+ return typeof value === "object" && value !== null && !Array.isArray(value) ? value : {};
5998
+ }
5999
+ function arrayOrEmpty(value) {
6000
+ return Array.isArray(value) ? value : [];
6001
+ }
5912
6002
  function normalizeItemTypeDefinitions(definitions) {
5913
6003
  const normalized = (definitions ?? []).map((definition) => normalizeItemTypeDefinition(definition)).filter((definition) => definition !== null);
5914
6004
  const dedupedByName = /* @__PURE__ */ new Map();
@@ -5938,7 +6028,8 @@ function mergeSettings(settings) {
5938
6028
  lifecycle_stale_blocker_reason_patterns: normalizeValidationPatternList(settings.validation?.lifecycle_stale_blocker_reason_patterns ?? defaults.validation.lifecycle_stale_blocker_reason_patterns),
5939
6029
  lifecycle_closure_like_blocked_reason_patterns: normalizeValidationPatternList(settings.validation?.lifecycle_closure_like_blocked_reason_patterns ?? defaults.validation.lifecycle_closure_like_blocked_reason_patterns),
5940
6030
  lifecycle_closure_like_resolution_patterns: normalizeValidationPatternList(settings.validation?.lifecycle_closure_like_resolution_patterns ?? defaults.validation.lifecycle_closure_like_resolution_patterns),
5941
- lifecycle_closure_like_actual_result_patterns: normalizeValidationPatternList(settings.validation?.lifecycle_closure_like_actual_result_patterns ?? defaults.validation.lifecycle_closure_like_actual_result_patterns)
6031
+ lifecycle_closure_like_actual_result_patterns: normalizeValidationPatternList(settings.validation?.lifecycle_closure_like_actual_result_patterns ?? defaults.validation.lifecycle_closure_like_actual_result_patterns),
6032
+ estimate_defaults_by_type: normalizeEstimateDefaultOverrides(settings.validation?.estimate_defaults_by_type)
5942
6033
  },
5943
6034
  governance,
5944
6035
  workflow: {
@@ -6005,24 +6096,43 @@ function mergeSettings(settings) {
6005
6096
  };
6006
6097
  }
6007
6098
  function serializeSettings(settings, options = {}) {
6008
- const governance = resolveGovernanceKnobs(settings);
6009
- const normalizedSchema = normalizeRuntimeSchemaSettings(settings.schema);
6010
- const persistedFileBackedSections = resolvePersistedFileBackedSchemaSections(settings, options.persist_source);
6011
- const normalizedSettings = {
6099
+ const baseSettings = {
6012
6100
  ...settings,
6101
+ locks: valueOrDefault(settings.locks, SETTINGS_DEFAULTS.locks),
6102
+ output: valueOrDefault(settings.output, SETTINGS_DEFAULTS.output),
6103
+ history: valueOrDefault(settings.history, SETTINGS_DEFAULTS.history),
6104
+ validation: valueOrDefault(settings.validation, SETTINGS_DEFAULTS.validation),
6105
+ workflow: valueOrDefault(settings.workflow, SETTINGS_DEFAULTS.workflow),
6106
+ testing: valueOrDefault(settings.testing, SETTINGS_DEFAULTS.testing),
6107
+ telemetry: valueOrDefault(settings.telemetry, SETTINGS_DEFAULTS.telemetry),
6108
+ agent_guidance: valueOrDefault(settings.agent_guidance, SETTINGS_DEFAULTS.agent_guidance),
6109
+ item_types: valueOrDefault(settings.item_types, SETTINGS_DEFAULTS.item_types),
6110
+ schema: valueOrDefault(settings.schema, SETTINGS_DEFAULTS.schema),
6111
+ context: valueOrDefault(settings.context, SETTINGS_DEFAULTS.context),
6112
+ extensions: valueOrDefault(settings.extensions, SETTINGS_DEFAULTS.extensions),
6113
+ search: valueOrDefault(settings.search, SETTINGS_DEFAULTS.search),
6114
+ providers: valueOrDefault(settings.providers, SETTINGS_DEFAULTS.providers),
6115
+ vector_store: valueOrDefault(settings.vector_store, SETTINGS_DEFAULTS.vector_store)
6116
+ };
6117
+ const governance = resolveGovernanceKnobs(baseSettings);
6118
+ const normalizedSchema = normalizeRuntimeSchemaSettings(baseSettings.schema);
6119
+ const persistedFileBackedSections = resolvePersistedFileBackedSchemaSections(baseSettings, options.persist_source);
6120
+ const normalizedSettings = {
6121
+ ...baseSettings,
6013
6122
  item_format: "toon",
6014
6123
  validation: {
6015
- ...settings.validation,
6124
+ ...baseSettings.validation,
6016
6125
  parent_reference: governance.parent_reference,
6017
6126
  metadata_profile: governance.metadata_profile,
6018
- metadata_required_fields: normalizeValidationMetadataRequiredFields(settings.validation?.metadata_required_fields),
6019
- lifecycle_stale_blocker_reason_patterns: normalizeValidationPatternList(settings.validation?.lifecycle_stale_blocker_reason_patterns ?? SETTINGS_DEFAULTS.validation.lifecycle_stale_blocker_reason_patterns),
6020
- lifecycle_closure_like_blocked_reason_patterns: normalizeValidationPatternList(settings.validation?.lifecycle_closure_like_blocked_reason_patterns ?? SETTINGS_DEFAULTS.validation.lifecycle_closure_like_blocked_reason_patterns),
6021
- lifecycle_closure_like_resolution_patterns: normalizeValidationPatternList(settings.validation?.lifecycle_closure_like_resolution_patterns ?? SETTINGS_DEFAULTS.validation.lifecycle_closure_like_resolution_patterns),
6022
- lifecycle_closure_like_actual_result_patterns: normalizeValidationPatternList(settings.validation?.lifecycle_closure_like_actual_result_patterns ?? SETTINGS_DEFAULTS.validation.lifecycle_closure_like_actual_result_patterns)
6127
+ metadata_required_fields: normalizeValidationMetadataRequiredFields(baseSettings.validation?.metadata_required_fields),
6128
+ lifecycle_stale_blocker_reason_patterns: normalizeValidationPatternList(baseSettings.validation?.lifecycle_stale_blocker_reason_patterns ?? SETTINGS_DEFAULTS.validation.lifecycle_stale_blocker_reason_patterns),
6129
+ lifecycle_closure_like_blocked_reason_patterns: normalizeValidationPatternList(baseSettings.validation?.lifecycle_closure_like_blocked_reason_patterns ?? SETTINGS_DEFAULTS.validation.lifecycle_closure_like_blocked_reason_patterns),
6130
+ lifecycle_closure_like_resolution_patterns: normalizeValidationPatternList(baseSettings.validation?.lifecycle_closure_like_resolution_patterns ?? SETTINGS_DEFAULTS.validation.lifecycle_closure_like_resolution_patterns),
6131
+ lifecycle_closure_like_actual_result_patterns: normalizeValidationPatternList(baseSettings.validation?.lifecycle_closure_like_actual_result_patterns ?? SETTINGS_DEFAULTS.validation.lifecycle_closure_like_actual_result_patterns),
6132
+ estimate_defaults_by_type: normalizeEstimateDefaultOverrides(baseSettings.validation?.estimate_defaults_by_type)
6023
6133
  },
6024
6134
  governance,
6025
- agent_guidance: normalizeAgentGuidanceSettings(settings.agent_guidance),
6135
+ agent_guidance: normalizeAgentGuidanceSettings(baseSettings.agent_guidance),
6026
6136
  item_types: {
6027
6137
  definitions: persistedFileBackedSections.item_type_definitions
6028
6138
  },
@@ -6034,42 +6144,42 @@ function serializeSettings(settings, options = {}) {
6034
6144
  },
6035
6145
  search: {
6036
6146
  ...SETTINGS_DEFAULTS.search,
6037
- ...settings.search,
6038
- mutation_refresh_policy: normalizeSearchMutationRefreshPolicy(settings.search?.mutation_refresh_policy),
6147
+ ...baseSettings.search,
6148
+ mutation_refresh_policy: normalizeSearchMutationRefreshPolicy(baseSettings.search?.mutation_refresh_policy),
6039
6149
  query_expansion: {
6040
6150
  ...SETTINGS_DEFAULTS.search.query_expansion,
6041
- ...settings.search?.query_expansion ?? {},
6042
- enabled: normalizeSearchQueryExpansionEnabled(settings.search?.query_expansion?.enabled),
6043
- provider: normalizeSearchQueryExpansionProvider(settings.search?.query_expansion?.provider)
6151
+ ...baseSettings.search?.query_expansion ?? {},
6152
+ enabled: normalizeSearchQueryExpansionEnabled(baseSettings.search?.query_expansion?.enabled),
6153
+ provider: normalizeSearchQueryExpansionProvider(baseSettings.search?.query_expansion?.provider)
6044
6154
  },
6045
6155
  rerank: {
6046
6156
  ...SETTINGS_DEFAULTS.search.rerank,
6047
- ...settings.search?.rerank ?? {},
6048
- enabled: normalizeSearchRerankEnabled(settings.search?.rerank?.enabled),
6049
- model: normalizeSearchRerankModel(settings.search?.rerank?.model),
6050
- top_k: normalizeSearchRerankTopK(settings.search?.rerank?.top_k)
6157
+ ...baseSettings.search?.rerank ?? {},
6158
+ enabled: normalizeSearchRerankEnabled(baseSettings.search?.rerank?.enabled),
6159
+ model: normalizeSearchRerankModel(baseSettings.search?.rerank?.model),
6160
+ top_k: normalizeSearchRerankTopK(baseSettings.search?.rerank?.top_k)
6051
6161
  }
6052
6162
  },
6053
6163
  context: {
6054
- default_depth: settings.context?.default_depth ?? SETTINGS_DEFAULTS.context.default_depth,
6055
- activity_limit: settings.context?.activity_limit ?? SETTINGS_DEFAULTS.context.activity_limit,
6056
- stale_threshold_days: settings.context?.stale_threshold_days ?? SETTINGS_DEFAULTS.context.stale_threshold_days,
6164
+ default_depth: baseSettings.context?.default_depth ?? SETTINGS_DEFAULTS.context.default_depth,
6165
+ activity_limit: baseSettings.context?.activity_limit ?? SETTINGS_DEFAULTS.context.activity_limit,
6166
+ stale_threshold_days: baseSettings.context?.stale_threshold_days ?? SETTINGS_DEFAULTS.context.stale_threshold_days,
6057
6167
  sections: {
6058
6168
  ...SETTINGS_DEFAULTS.context.sections,
6059
- ...settings.context?.sections ?? {}
6169
+ ...baseSettings.context?.sections ?? {}
6060
6170
  }
6061
6171
  },
6062
6172
  extensions: {
6063
- enabled: normalizeStringList2(settings.extensions?.enabled),
6064
- disabled: normalizeStringList2(settings.extensions?.disabled),
6065
- policy: normalizeExtensionPolicySettings(settings.extensions?.policy)
6173
+ enabled: normalizeStringList2(baseSettings.extensions?.enabled),
6174
+ disabled: normalizeStringList2(baseSettings.extensions?.disabled),
6175
+ policy: normalizeExtensionPolicySettings(baseSettings.extensions?.policy)
6066
6176
  },
6067
6177
  vector_store: {
6068
- ...settings.vector_store ?? {},
6069
- adapter: settings.vector_store?.adapter ?? SETTINGS_DEFAULTS.vector_store.adapter,
6070
- collection_name: normalizeVectorStoreCollectionName(settings.vector_store?.collection_name),
6071
- qdrant: { ...settings.vector_store?.qdrant ?? {} },
6072
- lancedb: { ...settings.vector_store?.lancedb ?? {} }
6178
+ ...baseSettings.vector_store,
6179
+ adapter: baseSettings.vector_store?.adapter ?? SETTINGS_DEFAULTS.vector_store.adapter,
6180
+ collection_name: normalizeVectorStoreCollectionName(baseSettings.vector_store?.collection_name),
6181
+ qdrant: { ...baseSettings.vector_store?.qdrant ?? {} },
6182
+ lancedb: { ...baseSettings.vector_store?.lancedb ?? {} }
6073
6183
  }
6074
6184
  };
6075
6185
  const ordered = orderObject({
@@ -6108,7 +6218,8 @@ function serializeSettings(settings, options = {}) {
6108
6218
  "lifecycle_stale_blocker_reason_patterns",
6109
6219
  "lifecycle_closure_like_blocked_reason_patterns",
6110
6220
  "lifecycle_closure_like_resolution_patterns",
6111
- "lifecycle_closure_like_actual_result_patterns"
6221
+ "lifecycle_closure_like_actual_result_patterns",
6222
+ "estimate_defaults_by_type"
6112
6223
  ]);
6113
6224
  ordered.governance = orderObject(ordered.governance, [
6114
6225
  "preset",
@@ -6149,17 +6260,17 @@ function serializeSettings(settings, options = {}) {
6149
6260
  "type_workflows",
6150
6261
  "unknown_field_policy"
6151
6262
  ]);
6152
- ordered.schema.files = orderObject(ordered.schema.files ?? {}, ["types", "statuses", "fields", "workflows"]);
6153
- ordered.schema.workflow = orderObject(ordered.schema.workflow ?? {}, ["draft_status", "open_status", "in_progress_status", "blocked_status", "close_status", "canceled_status"]);
6263
+ ordered.schema.files = orderObject(recordOrEmpty(ordered.schema.files), ["types", "statuses", "fields", "workflows"]);
6264
+ ordered.schema.workflow = orderObject(recordOrEmpty(ordered.schema.workflow), ["draft_status", "open_status", "in_progress_status", "blocked_status", "close_status", "canceled_status"]);
6154
6265
  ordered.context = orderObject(ordered.context, [
6155
6266
  "default_depth",
6156
6267
  "activity_limit",
6157
6268
  "stale_threshold_days",
6158
6269
  "sections"
6159
6270
  ]);
6160
- ordered.context.sections = orderObject(ordered.context.sections ?? {}, ["hierarchy", "activity", "progress", "blockers", "files", "workload", "staleness", "tests"]);
6271
+ ordered.context.sections = orderObject(recordOrEmpty(ordered.context.sections), ["hierarchy", "activity", "progress", "blockers", "files", "workload", "staleness", "tests"]);
6161
6272
  ordered.extensions = orderObject(ordered.extensions, ["enabled", "disabled", "policy"]);
6162
- ordered.extensions.policy = orderObject(ordered.extensions.policy ?? {}, [
6273
+ ordered.extensions.policy = orderObject(recordOrEmpty(ordered.extensions.policy), [
6163
6274
  "mode",
6164
6275
  "trust_mode",
6165
6276
  "pm_max_version_exceeded_mode",
@@ -6180,7 +6291,7 @@ function serializeSettings(settings, options = {}) {
6180
6291
  "blocked_services",
6181
6292
  "extension_overrides"
6182
6293
  ]);
6183
- ordered.extensions.policy.extension_overrides = (ordered.extensions.policy.extension_overrides ?? []).map((entry) => orderObject(entry ?? {}, [
6294
+ ordered.extensions.policy.extension_overrides = arrayOrEmpty(ordered.extensions.policy.extension_overrides).map((entry) => orderObject(recordOrEmpty(entry), [
6184
6295
  "name",
6185
6296
  "disabled",
6186
6297
  "require_trusted",
@@ -6211,19 +6322,19 @@ function serializeSettings(settings, options = {}) {
6211
6322
  "query_expansion",
6212
6323
  "rerank"
6213
6324
  ]);
6214
- ordered.search.query_expansion = orderObject(ordered.search.query_expansion ?? {}, ["enabled", "provider"]);
6215
- ordered.search.rerank = orderObject(ordered.search.rerank ?? {}, ["enabled", "model", "top_k"]);
6325
+ ordered.search.query_expansion = orderObject(recordOrEmpty(ordered.search.query_expansion), ["enabled", "provider"]);
6326
+ ordered.search.rerank = orderObject(recordOrEmpty(ordered.search.rerank), ["enabled", "model", "top_k"]);
6216
6327
  ordered.providers = orderObject(ordered.providers, ["openai", "ollama"]);
6217
- ordered.providers.openai = orderObject(ordered.providers.openai ?? {}, ["base_url", "api_key", "model"]);
6218
- ordered.providers.ollama = orderObject(ordered.providers.ollama ?? {}, ["base_url", "model"]);
6328
+ ordered.providers.openai = orderObject(recordOrEmpty(ordered.providers.openai), ["base_url", "api_key", "model"]);
6329
+ ordered.providers.ollama = orderObject(recordOrEmpty(ordered.providers.ollama), ["base_url", "model"]);
6219
6330
  ordered.vector_store = orderObject(ordered.vector_store, [
6220
6331
  "adapter",
6221
6332
  "collection_name",
6222
6333
  "qdrant",
6223
6334
  "lancedb"
6224
6335
  ]);
6225
- ordered.vector_store.qdrant = orderObject(ordered.vector_store.qdrant ?? {}, ["url", "api_key"]);
6226
- ordered.vector_store.lancedb = orderObject(ordered.vector_store.lancedb ?? {}, ["path"]);
6336
+ ordered.vector_store.qdrant = orderObject(recordOrEmpty(ordered.vector_store.qdrant), ["url", "api_key"]);
6337
+ ordered.vector_store.lancedb = orderObject(recordOrEmpty(ordered.vector_store.lancedb), ["path"]);
6227
6338
  return `${JSON.stringify(ordered, null, 2)}
6228
6339
  `;
6229
6340
  }
@@ -6280,7 +6391,7 @@ async function readSettingsWithMetadata(pmRoot) {
6280
6391
  item_types: {
6281
6392
  definitions: normalizeItemTypeDefinitions([
6282
6393
  ...mergedSettings.item_types.definitions,
6283
- ...loadedSchemaSections.type_definitions_from_file ?? []
6394
+ ...arrayOrEmpty(loadedSchemaSections.type_definitions_from_file)
6284
6395
  ])
6285
6396
  },
6286
6397
  schema: loadedSchemaSections.schema
@@ -6354,6 +6465,7 @@ export {
6354
6465
  KNOWN_EXTENSION_POLICY_SURFACES,
6355
6466
  KNOWN_EXTENSION_SERVICE_NAMES,
6356
6467
  PM_DIRNAME,
6468
+ CREATE_DIRECT_CLOSE_REASON_DEFAULT,
6357
6469
  PM_CORE_REQUIRED_SUBDIRS,
6358
6470
  PM_OPTIONAL_TYPE_SUBDIRS,
6359
6471
  PM_REQUIRED_SUBDIRS,
@@ -6374,6 +6486,7 @@ export {
6374
6486
  getItemFormatFromPath,
6375
6487
  getHistoryPath,
6376
6488
  getLockPath,
6489
+ getRuntimePath,
6377
6490
  getTestRunsPath,
6378
6491
  getTestRunsRecordsPath,
6379
6492
  getTestRunRecordPath,
@@ -6456,6 +6569,7 @@ export {
6456
6569
  DEFAULT_RUNTIME_STATUS_DEFINITIONS,
6457
6570
  normalizeRuntimeSchemaSettings,
6458
6571
  filePathForSchemaSection,
6572
+ resolveItemTypesFilePath,
6459
6573
  ensureRuntimeSchemaFileScaffold,
6460
6574
  resolveRuntimeStatusRegistry,
6461
6575
  normalizeStatusInputWithRegistry,
@@ -6467,9 +6581,10 @@ export {
6467
6581
  stableValueEquals,
6468
6582
  sha256Hex,
6469
6583
  orderObject,
6584
+ resolveEstimateDefaultMinutes,
6470
6585
  resolveGovernanceKnobs,
6471
6586
  readSettingsWithMetadata,
6472
6587
  readSettings,
6473
6588
  writeSettings
6474
6589
  };
6475
- //# sourceMappingURL=chunk-LFW5NQUP.js.map
6590
+ //# sourceMappingURL=chunk-LV5FFQ7M.js.map