@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
@@ -1,6 +1,6 @@
1
1
  // dist/core/fs/fs-utils.js
2
2
 
3
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="33ba971e-6a5f-5697-90d4-40aeaab11e03")}catch(e){}}();
3
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="62f87b11-f1bc-5f90-bc91-0e81dfdebb55")}catch(e){}}();
4
4
  import * as fs from "node:fs/promises";
5
5
  import path from "node:path";
6
6
  import crypto from "node:crypto";
@@ -269,6 +269,7 @@ var DEFAULT_WORKFLOW_DEFINITION = Object.freeze({
269
269
  });
270
270
  var PM_DIRNAME = ".agents/pm";
271
271
  var SETTINGS_FILENAME = "settings.json";
272
+ var CREATE_DIRECT_CLOSE_REASON_DEFAULT = "Closed at creation via pm create";
272
273
  var PM_CORE_REQUIRED_SUBDIRS = [
273
274
  "",
274
275
  "epics",
@@ -444,7 +445,8 @@ var SETTINGS_DEFAULTS = {
444
445
  lifecycle_closure_like_resolution_patterns: [...DEFAULT_VALIDATE_CLOSURE_LIKE_METADATA_FIELD_PATTERNS.resolution],
445
446
  lifecycle_closure_like_actual_result_patterns: [
446
447
  ...DEFAULT_VALIDATE_CLOSURE_LIKE_METADATA_FIELD_PATTERNS.actual_result
447
- ]
448
+ ],
449
+ estimate_defaults_by_type: {}
448
450
  },
449
451
  governance: {
450
452
  preset: "minimal",
@@ -811,173 +813,6 @@ function asRecordLoose(value) {
811
813
  return value;
812
814
  }
813
815
 
814
- // dist/core/shared/levenshtein.js
815
- function levenshteinDistanceWithinLimit(left, right, limit) {
816
- if (left === right) {
817
- return 0;
818
- }
819
- if (Math.abs(left.length - right.length) > limit) {
820
- return null;
821
- }
822
- const width = right.length + 1;
823
- const beforePrevious = new Array(width);
824
- const previous = new Array(width);
825
- const current = new Array(width);
826
- for (let column = 0; column < width; column += 1) {
827
- beforePrevious[column] = 0;
828
- previous[column] = column;
829
- }
830
- for (let row = 1; row <= left.length; row += 1) {
831
- current[0] = row;
832
- let rowMin = current[0];
833
- for (let column = 1; column <= right.length; column += 1) {
834
- const cost = left[row - 1] === right[column - 1] ? 0 : 1;
835
- const substitution = previous[column - 1] + cost;
836
- const insertion = current[column - 1] + 1;
837
- const deletion = previous[column] + 1;
838
- let candidate = Math.min(substitution, insertion, deletion);
839
- if (row > 1 && column > 1 && left[row - 1] === right[column - 2] && left[row - 2] === right[column - 1]) {
840
- candidate = Math.min(candidate, beforePrevious[column - 2] + 1);
841
- }
842
- current[column] = candidate;
843
- if (candidate < rowMin) {
844
- rowMin = candidate;
845
- }
846
- }
847
- if (rowMin > limit) {
848
- return null;
849
- }
850
- for (let column = 0; column < width; column += 1) {
851
- beforePrevious[column] = previous[column];
852
- previous[column] = current[column];
853
- }
854
- }
855
- const result = previous[right.length];
856
- return result <= limit ? result : null;
857
- }
858
-
859
- // dist/core/extensions/extension-capability-aliases.js
860
- function normalizeNames(values) {
861
- return [...new Set(values.map((value) => value.trim()).filter((value) => value.length > 0))].sort((a, b) => a.localeCompare(b));
862
- }
863
- function isKnownExtensionCapability(value) {
864
- return KNOWN_EXTENSION_CAPABILITIES.includes(value);
865
- }
866
- function collectUnknownExtensionCapabilities(capabilities) {
867
- return capabilities.filter((capability) => !isKnownExtensionCapability(capability));
868
- }
869
- function resolveLegacyExtensionCapabilityAlias(capability) {
870
- const normalized = capability.trim().toLowerCase();
871
- if (normalized.length === 0) {
872
- return null;
873
- }
874
- return EXTENSION_CAPABILITY_LEGACY_ALIASES[normalized] ?? null;
875
- }
876
- function normalizeManifestCapabilities(rawCapabilities) {
877
- const normalizedCapabilities = normalizeNames([...rawCapabilities].map((value) => value.toLowerCase()));
878
- const remappedCapabilities = [];
879
- const legacyAliases = [];
880
- for (const capability of normalizedCapabilities) {
881
- const legacyAliasTarget = resolveLegacyExtensionCapabilityAlias(capability);
882
- if (legacyAliasTarget) {
883
- remappedCapabilities.push(legacyAliasTarget);
884
- legacyAliases.push({
885
- alias: capability,
886
- target: legacyAliasTarget
887
- });
888
- continue;
889
- }
890
- remappedCapabilities.push(capability);
891
- }
892
- const dedupedLegacyAliases = [...new Map(legacyAliases.map((entry) => [`${entry.alias}>${entry.target}`, entry])).values()].sort((left, right) => left.alias.localeCompare(right.alias));
893
- return {
894
- capabilities: normalizeNames(remappedCapabilities),
895
- legacy_aliases: dedupedLegacyAliases
896
- };
897
- }
898
- function suggestKnownExtensionCapability(capability) {
899
- const normalized = capability.trim().toLowerCase();
900
- if (normalized.length === 0) {
901
- return null;
902
- }
903
- const legacyAlias = resolveLegacyExtensionCapabilityAlias(normalized);
904
- if (legacyAlias) {
905
- return legacyAlias;
906
- }
907
- const maxDistance = Math.max(1, Math.floor(normalized.length * 0.34));
908
- let bestMatch = null;
909
- let bestDistance = Number.POSITIVE_INFINITY;
910
- for (const candidate of KNOWN_EXTENSION_CAPABILITIES) {
911
- const distance = levenshteinDistanceWithinLimit(normalized, candidate, maxDistance);
912
- if (distance !== null && distance < bestDistance) {
913
- bestDistance = distance;
914
- bestMatch = candidate;
915
- }
916
- }
917
- return bestMatch;
918
- }
919
- function formatUnknownExtensionCapabilityWarning(layer, name, capability) {
920
- const allowed = KNOWN_EXTENSION_CAPABILITIES.join(",");
921
- const suggested = suggestKnownExtensionCapability(capability) ?? "none";
922
- return `extension_capability_unknown:${layer}:${name}:${capability}:allowed=${allowed}:suggested=${suggested}`;
923
- }
924
- function formatLegacyExtensionCapabilityAliasWarning(layer, name, aliases) {
925
- const aliasesToken = aliases.map((entry) => `${entry.alias}>${entry.target}`).join(",");
926
- return `extension_capability_legacy_alias:${layer}:${name}:aliases=${aliasesToken}`;
927
- }
928
- function parseUnknownExtensionCapabilityWarning(warning) {
929
- const match = /^extension_capability_unknown:(global|project):([^:]+):([^:]+):allowed=([^:]+):suggested=([^:]+)$/.exec(warning.trim());
930
- if (!match) {
931
- return null;
932
- }
933
- const [, layerRaw, name, capability, allowedRaw, suggestedRaw] = match;
934
- const layer = layerRaw;
935
- const allowed_capabilities = allowedRaw.split(",").map((value) => value.trim()).filter((value) => value.length > 0);
936
- const legacyAlias = resolveLegacyExtensionCapabilityAlias(capability);
937
- const suggestedFromWarning = suggestedRaw === "none" ? void 0 : suggestedRaw;
938
- const suggested_capability = suggestedFromWarning ?? legacyAlias ?? void 0;
939
- const suggestion_source = suggested_capability ? legacyAlias === suggested_capability ? "legacy_alias" : "nearest_match" : void 0;
940
- return {
941
- layer,
942
- name,
943
- capability,
944
- allowed_capabilities,
945
- capability_contract_version: EXTENSION_CAPABILITY_CONTRACT_VERSION,
946
- suggested_capability,
947
- suggestion_source,
948
- legacy_alias_target: legacyAlias ?? void 0
949
- };
950
- }
951
- function parseLegacyExtensionCapabilityAliasWarning(warning) {
952
- const match = /^extension_capability_legacy_alias:(global|project):([^:]+):aliases=(.+)$/.exec(warning.trim());
953
- if (!match) {
954
- return [];
955
- }
956
- const [, layerRaw, name, aliasesRaw] = match;
957
- const layer = layerRaw;
958
- const allowedCapabilities = [...KNOWN_EXTENSION_CAPABILITIES];
959
- const parsed = [];
960
- for (const token of aliasesRaw.split(",")) {
961
- const [rawAlias, rawTarget] = token.split(">");
962
- const alias = rawAlias?.trim();
963
- const target = rawTarget?.trim().toLowerCase();
964
- if (!alias || !target || !isKnownExtensionCapability(target)) {
965
- continue;
966
- }
967
- parsed.push({
968
- layer,
969
- name,
970
- capability: alias,
971
- allowed_capabilities: allowedCapabilities,
972
- capability_contract_version: EXTENSION_CAPABILITY_CONTRACT_VERSION,
973
- suggested_capability: target,
974
- suggestion_source: "legacy_alias",
975
- legacy_alias_target: target
976
- });
977
- }
978
- return parsed;
979
- }
980
-
981
816
  // dist/core/extensions/extension-registries.js
982
817
  function createEmptyExtensionHookRegistry() {
983
818
  return {
@@ -1501,6 +1336,51 @@ function isFlagDefaultValueCoercible(value, kind) {
1501
1336
  return typeof value === "string" && ["true", "false", "1", "0"].includes(value.trim().toLowerCase());
1502
1337
  }
1503
1338
 
1339
+ // dist/core/shared/levenshtein.js
1340
+ function levenshteinDistanceWithinLimit(left, right, limit) {
1341
+ if (left === right) {
1342
+ return 0;
1343
+ }
1344
+ if (Math.abs(left.length - right.length) > limit) {
1345
+ return null;
1346
+ }
1347
+ const width = right.length + 1;
1348
+ const beforePrevious = new Array(width);
1349
+ const previous = new Array(width);
1350
+ const current = new Array(width);
1351
+ for (let column = 0; column < width; column += 1) {
1352
+ beforePrevious[column] = 0;
1353
+ previous[column] = column;
1354
+ }
1355
+ for (let row = 1; row <= left.length; row += 1) {
1356
+ current[0] = row;
1357
+ let rowMin = current[0];
1358
+ for (let column = 1; column <= right.length; column += 1) {
1359
+ const cost = left[row - 1] === right[column - 1] ? 0 : 1;
1360
+ const substitution = previous[column - 1] + cost;
1361
+ const insertion = current[column - 1] + 1;
1362
+ const deletion = previous[column] + 1;
1363
+ let candidate = Math.min(substitution, insertion, deletion);
1364
+ if (row > 1 && column > 1 && left[row - 1] === right[column - 2] && left[row - 2] === right[column - 1]) {
1365
+ candidate = Math.min(candidate, beforePrevious[column - 2] + 1);
1366
+ }
1367
+ current[column] = candidate;
1368
+ if (candidate < rowMin) {
1369
+ rowMin = candidate;
1370
+ }
1371
+ }
1372
+ if (rowMin > limit) {
1373
+ return null;
1374
+ }
1375
+ for (let column = 0; column < width; column += 1) {
1376
+ beforePrevious[column] = previous[column];
1377
+ previous[column] = current[column];
1378
+ }
1379
+ }
1380
+ const result = previous[right.length];
1381
+ return result <= limit ? result : null;
1382
+ }
1383
+
1504
1384
  // dist/core/extensions/item-field-types.js
1505
1385
  var KNOWN_ITEM_FIELD_TYPES = ["string", "number", "boolean", "array", "object"];
1506
1386
  function normalizeItemFieldType(value) {
@@ -1521,6 +1401,128 @@ function suggestKnownItemFieldType(value) {
1521
1401
  return null;
1522
1402
  }
1523
1403
 
1404
+ // dist/core/extensions/extension-capability-aliases.js
1405
+ function normalizeNames(values) {
1406
+ return [...new Set(values.map((value) => value.trim()).filter((value) => value.length > 0))].sort((a, b) => a.localeCompare(b));
1407
+ }
1408
+ function isKnownExtensionCapability(value) {
1409
+ return KNOWN_EXTENSION_CAPABILITIES.includes(value);
1410
+ }
1411
+ function collectUnknownExtensionCapabilities(capabilities) {
1412
+ return capabilities.filter((capability) => !isKnownExtensionCapability(capability));
1413
+ }
1414
+ function resolveLegacyExtensionCapabilityAlias(capability) {
1415
+ const normalized = capability.trim().toLowerCase();
1416
+ if (normalized.length === 0) {
1417
+ return null;
1418
+ }
1419
+ return EXTENSION_CAPABILITY_LEGACY_ALIASES[normalized] ?? null;
1420
+ }
1421
+ function normalizeManifestCapabilities(rawCapabilities) {
1422
+ const normalizedCapabilities = normalizeNames([...rawCapabilities].map((value) => value.toLowerCase()));
1423
+ const remappedCapabilities = [];
1424
+ const legacyAliases = [];
1425
+ for (const capability of normalizedCapabilities) {
1426
+ const legacyAliasTarget = resolveLegacyExtensionCapabilityAlias(capability);
1427
+ if (legacyAliasTarget) {
1428
+ remappedCapabilities.push(legacyAliasTarget);
1429
+ legacyAliases.push({
1430
+ alias: capability,
1431
+ target: legacyAliasTarget
1432
+ });
1433
+ continue;
1434
+ }
1435
+ remappedCapabilities.push(capability);
1436
+ }
1437
+ const dedupedLegacyAliases = [...new Map(legacyAliases.map((entry) => [`${entry.alias}>${entry.target}`, entry])).values()].sort((left, right) => left.alias.localeCompare(right.alias));
1438
+ return {
1439
+ capabilities: normalizeNames(remappedCapabilities),
1440
+ legacy_aliases: dedupedLegacyAliases
1441
+ };
1442
+ }
1443
+ function suggestKnownExtensionCapability(capability) {
1444
+ const normalized = capability.trim().toLowerCase();
1445
+ if (normalized.length === 0) {
1446
+ return null;
1447
+ }
1448
+ const legacyAlias = resolveLegacyExtensionCapabilityAlias(normalized);
1449
+ if (legacyAlias) {
1450
+ return legacyAlias;
1451
+ }
1452
+ const maxDistance = Math.max(1, Math.floor(normalized.length * 0.34));
1453
+ let bestMatch = null;
1454
+ let bestDistance = Number.POSITIVE_INFINITY;
1455
+ for (const candidate of KNOWN_EXTENSION_CAPABILITIES) {
1456
+ const distance = levenshteinDistanceWithinLimit(normalized, candidate, maxDistance);
1457
+ if (distance !== null && distance < bestDistance) {
1458
+ bestDistance = distance;
1459
+ bestMatch = candidate;
1460
+ }
1461
+ }
1462
+ return bestMatch;
1463
+ }
1464
+ function formatUnknownExtensionCapabilityWarning(layer, name, capability) {
1465
+ const allowed = KNOWN_EXTENSION_CAPABILITIES.join(",");
1466
+ const suggested = suggestKnownExtensionCapability(capability) ?? "none";
1467
+ return `extension_capability_unknown:${layer}:${name}:${capability}:allowed=${allowed}:suggested=${suggested}`;
1468
+ }
1469
+ function formatLegacyExtensionCapabilityAliasWarning(layer, name, aliases) {
1470
+ const aliasesToken = aliases.map((entry) => `${entry.alias}>${entry.target}`).join(",");
1471
+ return `extension_capability_legacy_alias:${layer}:${name}:aliases=${aliasesToken}`;
1472
+ }
1473
+ function parseUnknownExtensionCapabilityWarning(warning) {
1474
+ const match = /^extension_capability_unknown:(global|project):([^:]+):([^:]+):allowed=([^:]+):suggested=([^:]+)$/.exec(warning.trim());
1475
+ if (!match) {
1476
+ return null;
1477
+ }
1478
+ const [, layerRaw, name, capability, allowedRaw, suggestedRaw] = match;
1479
+ const layer = layerRaw;
1480
+ const allowed_capabilities = allowedRaw.split(",").map((value) => value.trim()).filter((value) => value.length > 0);
1481
+ const legacyAlias = resolveLegacyExtensionCapabilityAlias(capability);
1482
+ const suggestedFromWarning = suggestedRaw === "none" ? void 0 : suggestedRaw;
1483
+ const suggested_capability = suggestedFromWarning ?? legacyAlias ?? void 0;
1484
+ const suggestion_source = suggested_capability ? legacyAlias === suggested_capability ? "legacy_alias" : "nearest_match" : void 0;
1485
+ return {
1486
+ layer,
1487
+ name,
1488
+ capability,
1489
+ allowed_capabilities,
1490
+ capability_contract_version: EXTENSION_CAPABILITY_CONTRACT_VERSION,
1491
+ suggested_capability,
1492
+ suggestion_source,
1493
+ legacy_alias_target: legacyAlias ?? void 0
1494
+ };
1495
+ }
1496
+ function parseLegacyExtensionCapabilityAliasWarning(warning) {
1497
+ const match = /^extension_capability_legacy_alias:(global|project):([^:]+):aliases=(.+)$/.exec(warning.trim());
1498
+ if (!match) {
1499
+ return [];
1500
+ }
1501
+ const [, layerRaw, name, aliasesRaw] = match;
1502
+ const layer = layerRaw;
1503
+ const allowedCapabilities = [...KNOWN_EXTENSION_CAPABILITIES];
1504
+ const parsed = [];
1505
+ for (const token of aliasesRaw.split(",")) {
1506
+ const [rawAlias, rawTarget] = token.split(">");
1507
+ const alias = rawAlias?.trim();
1508
+ const target = rawTarget?.trim().toLowerCase();
1509
+ if (!alias || !target || !isKnownExtensionCapability(target)) {
1510
+ continue;
1511
+ }
1512
+ parsed.push({
1513
+ layer,
1514
+ name,
1515
+ capability: alias,
1516
+ allowed_capabilities: allowedCapabilities,
1517
+ capability_contract_version: EXTENSION_CAPABILITY_CONTRACT_VERSION,
1518
+ suggested_capability: target,
1519
+ suggestion_source: "legacy_alias",
1520
+ legacy_alias_target: target
1521
+ });
1522
+ }
1523
+ return parsed;
1524
+ }
1525
+
1524
1526
  // dist/core/extensions/extension-policy.js
1525
1527
  function normalizePolicyName(value) {
1526
1528
  if (typeof value !== "string") {
@@ -1886,19 +1888,17 @@ function resolvePolicySandboxReason(policy, extension) {
1886
1888
  }
1887
1889
  return null;
1888
1890
  }
1889
- if (profile === "strict") {
1890
- if (hasPermission("process_spawn")) {
1891
- return "sandbox_strict_disallows_process_spawn";
1892
- }
1893
- if (hasPermission("network")) {
1894
- return "sandbox_strict_disallows_network";
1895
- }
1896
- if (hasPermission("fs_write")) {
1897
- return "sandbox_strict_disallows_fs_write";
1898
- }
1899
- if (hasPermission("env_write")) {
1900
- return "sandbox_strict_disallows_env_write";
1901
- }
1891
+ if (hasPermission("process_spawn")) {
1892
+ return "sandbox_strict_disallows_process_spawn";
1893
+ }
1894
+ if (hasPermission("network")) {
1895
+ return "sandbox_strict_disallows_network";
1896
+ }
1897
+ if (hasPermission("fs_write")) {
1898
+ return "sandbox_strict_disallows_fs_write";
1899
+ }
1900
+ if (hasPermission("env_write")) {
1901
+ return "sandbox_strict_disallows_env_write";
1902
1902
  }
1903
1903
  return null;
1904
1904
  }
@@ -2257,7 +2257,7 @@ function summarizeCandidate(candidate) {
2257
2257
  permissions: candidate.manifest.permissions,
2258
2258
  capabilities: [...candidate.manifest.capabilities],
2259
2259
  activation: candidate.manifest.activation ? {
2260
- commands: [...candidate.manifest.activation.commands ?? []]
2260
+ commands: [...candidate.manifest.activation.commands]
2261
2261
  } : void 0
2262
2262
  };
2263
2263
  if (candidate.source_package) {
@@ -2508,7 +2508,7 @@ function formatUnknownError(error) {
2508
2508
  }
2509
2509
  function parseComparableVersion(value) {
2510
2510
  const normalized = value.trim().replace(/^>=\s*/, "").replace(/^v/i, "");
2511
- const release = normalized.split(/[+-]/, 1)[0] ?? "";
2511
+ const release = normalized.split(/[+-]/, 1)[0];
2512
2512
  if (!/^\d+(?:[.-]\d+)*$/.test(release)) {
2513
2513
  return null;
2514
2514
  }
@@ -2925,25 +2925,16 @@ function normalizeCommandDefinitionArguments(value) {
2925
2925
  definition.variadic = true;
2926
2926
  }
2927
2927
  if (typeof record.description === "string") {
2928
- const trimmedDescription = record.description.trim();
2929
- if (trimmedDescription.length > 0) {
2930
- definition.description = trimmedDescription;
2931
- }
2928
+ definition.description = record.description.trim();
2932
2929
  }
2933
2930
  normalized.push(definition);
2934
2931
  }
2935
- let variadicCount = 0;
2936
- for (const [index, argument] of normalized.entries()) {
2937
- if (!argument.variadic) {
2938
- continue;
2939
- }
2940
- variadicCount += 1;
2941
- if (variadicCount > 1) {
2942
- throw new TypeError("registerCommand definition.arguments supports at most one variadic argument");
2943
- }
2944
- if (index !== normalized.length - 1) {
2945
- throw new TypeError("registerCommand definition.arguments variadic argument must be the final argument");
2946
- }
2932
+ const variadicIndexes = normalized.map((argument, index) => argument.variadic ? index : -1).filter((index) => index >= 0);
2933
+ if (variadicIndexes.length > 1) {
2934
+ throw new TypeError("registerCommand definition.arguments supports at most one variadic argument");
2935
+ }
2936
+ if (variadicIndexes.length === 1 && variadicIndexes[0] !== normalized.length - 1) {
2937
+ throw new TypeError("registerCommand definition.arguments variadic argument must be the final argument");
2947
2938
  }
2948
2939
  return normalized;
2949
2940
  }
@@ -3097,7 +3088,7 @@ function assertExtensionCapability(extension, capability, method) {
3097
3088
  capability,
3098
3089
  missing_capability: capability,
3099
3090
  expected_schema: `"capabilities": [..., "${capability}"]`,
3100
- received: extension.capabilities ?? [],
3091
+ received: extension.capabilities,
3101
3092
  hint: `Add "${capability}" to ${extension.name} manifest capabilities, or remove the ${method} registration call.`
3102
3093
  });
3103
3094
  }
@@ -3228,7 +3219,7 @@ function createExtensionApi(extension, hooks, commands, parsers, preflight, serv
3228
3219
  }
3229
3220
  registrations.commands.push(registration);
3230
3221
  } catch (error) {
3231
- const reason = error instanceof Error ? error.message : "registerCommand definition validation failed";
3222
+ const reason = formatUnknownError(error);
3232
3223
  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.");
3233
3224
  throw createRegistrationValidationError(`registerCommand definition metadata invalid (command="${normalizedCommand}", registration_index=${trace.registration_index}): ${reason}`, trace);
3234
3225
  }
@@ -3603,7 +3594,7 @@ function collectCommandCollisionWarnings(commands) {
3603
3594
  grouped.set(entry.command, bucket);
3604
3595
  }
3605
3596
  for (const command of [...grouped.keys()].sort((left, right) => left.localeCompare(right))) {
3606
- const bucket = grouped.get(command) ?? [];
3597
+ const bucket = grouped.get(command);
3607
3598
  if (bucket.length <= 1) {
3608
3599
  continue;
3609
3600
  }
@@ -3616,7 +3607,8 @@ function collectCommandCollisionWarnings(commands) {
3616
3607
  collectByCommand(commands.handlers, "extension_command_handler_collision");
3617
3608
  collectByCommand(commands.overrides, "extension_command_override_collision");
3618
3609
  const handlerCommands = new Set(commands.handlers.map((entry) => entry.command));
3619
- const overlapCommands = [...new Set(commands.overrides.map((entry) => entry.command))].filter((command) => handlerCommands.has(command)).sort((left, right) => left.localeCompare(right));
3610
+ const overlapCommands = [...new Set(commands.overrides.map((entry) => entry.command))].filter((command) => handlerCommands.has(command));
3611
+ overlapCommands.sort((left, right) => left.localeCompare(right));
3620
3612
  for (const command of overlapCommands) {
3621
3613
  const handlers = commands.handlers.filter((entry) => entry.command === command);
3622
3614
  const overrides = commands.overrides.filter((entry) => entry.command === command);
@@ -3637,7 +3629,7 @@ function collectRendererCollisionWarnings(renderers) {
3637
3629
  }
3638
3630
  const warnings = [];
3639
3631
  for (const format of [...grouped.keys()].sort((left, right) => left.localeCompare(right))) {
3640
- const bucket = grouped.get(format) ?? [];
3632
+ const bucket = grouped.get(format);
3641
3633
  if (bucket.length <= 1) {
3642
3634
  continue;
3643
3635
  }
@@ -3657,7 +3649,7 @@ function collectParserCollisionWarnings(parsers) {
3657
3649
  grouped.set(entry.command, bucket);
3658
3650
  }
3659
3651
  for (const command of [...grouped.keys()].sort((left, right) => left.localeCompare(right))) {
3660
- const bucket = grouped.get(command) ?? [];
3652
+ const bucket = grouped.get(command);
3661
3653
  if (bucket.length <= 1) {
3662
3654
  continue;
3663
3655
  }
@@ -3687,7 +3679,7 @@ function collectServiceCollisionWarnings(services) {
3687
3679
  grouped.set(entry.service, bucket);
3688
3680
  }
3689
3681
  for (const service of [...grouped.keys()].sort((left, right) => left.localeCompare(right))) {
3690
- const bucket = grouped.get(service) ?? [];
3682
+ const bucket = grouped.get(service);
3691
3683
  if (bucket.length <= 1) {
3692
3684
  continue;
3693
3685
  }
@@ -4098,7 +4090,7 @@ var PLAN_STEP_LINK_KIND_VALUES = [
4098
4090
  "verifies",
4099
4091
  "supersedes"
4100
4092
  ];
4101
- var CONTEXT_DEPTH_VALUES = ["brief", "standard", "deep"];
4093
+ var CONTEXT_DEPTH_VALUES = ["brief", "standard", "deep", "full"];
4102
4094
  var CONTEXT_SECTION_VALUES = [
4103
4095
  "hierarchy",
4104
4096
  "activity",
@@ -4445,6 +4437,9 @@ function filePathForSchemaSection(pmRoot, configuredPath, fallbackPath) {
4445
4437
  }
4446
4438
  return path6.join(pmRoot, normalized);
4447
4439
  }
4440
+ function resolveItemTypesFilePath(pmRoot, schema) {
4441
+ return filePathForSchemaSection(pmRoot, schema.files.types, DEFAULT_RUNTIME_SCHEMA_FILE_PATHS.types);
4442
+ }
4448
4443
  async function ensureRuntimeSchemaFileScaffold(pmRoot, schema) {
4449
4444
  const normalizedSchema = normalizeRuntimeSchemaSettings(schema);
4450
4445
  const specs = [
@@ -4547,11 +4542,8 @@ function preferredStatusForRole(definitions, role, fallbackValues) {
4547
4542
  if (withRole.length > 0) {
4548
4543
  return withRole[0].id;
4549
4544
  }
4550
- for (const value of fallbackValues) {
4551
- const normalized = normalizeStatusId(value);
4552
- if (!normalized) {
4553
- continue;
4554
- }
4545
+ const normalizedFallbacks = fallbackValues.map((value) => normalizeStatusId(value)).filter((value) => typeof value === "string");
4546
+ for (const normalized of normalizedFallbacks) {
4555
4547
  if (definitions.some((definition) => definition.id === normalized)) {
4556
4548
  return normalized;
4557
4549
  }
@@ -4602,7 +4594,7 @@ function resolveRuntimeStatusRegistry(schema) {
4602
4594
  }
4603
4595
  }
4604
4596
  const workflow = normalizedSchema.workflow;
4605
- const openStatus = normalizeStatusId(workflow.open_status) ?? preferredStatusForRole(definitions, "default_open", ["open", "in_progress", STATUS_VALUES[0] ?? "open"]);
4597
+ const openStatus = normalizeStatusId(workflow.open_status) ?? preferredStatusForRole(definitions, "default_open", ["open", "in_progress", STATUS_VALUES[0]]);
4606
4598
  const closeStatus = normalizeStatusId(workflow.close_status) ?? preferredStatusForRole(definitions, "default_close", ["closed", "done", "complete"]);
4607
4599
  const canceledStatus = normalizeStatusId(workflow.canceled_status) ?? preferredStatusForRole(definitions, "default_cancel", ["canceled", "cancelled"]);
4608
4600
  return {
@@ -4615,9 +4607,9 @@ function resolveRuntimeStatusRegistry(schema) {
4615
4607
  active_statuses: activeStatuses,
4616
4608
  blocked_statuses: blockedStatuses,
4617
4609
  draft_statuses: draftStatuses,
4618
- open_status: openStatus ?? definitions[0]?.id ?? "open",
4619
- close_status: closeStatus ?? definitions[0]?.id ?? "closed",
4620
- canceled_status: canceledStatus ?? definitions[0]?.id ?? "canceled"
4610
+ open_status: openStatus,
4611
+ close_status: closeStatus,
4612
+ canceled_status: canceledStatus
4621
4613
  };
4622
4614
  }
4623
4615
  function normalizeStatusInputWithRegistry(value, registry) {
@@ -4630,11 +4622,8 @@ function normalizeStatusInputWithRegistry(value, registry) {
4630
4622
  function resolveRuntimeFieldRegistry(schema) {
4631
4623
  const normalizedSchema = normalizeRuntimeSchemaSettings(schema);
4632
4624
  const dedupedByKey = /* @__PURE__ */ new Map();
4633
- for (const definition of normalizedSchema.fields) {
4634
- const normalized = normalizeRuntimeFieldDefinition(definition);
4635
- if (!normalized) {
4636
- continue;
4637
- }
4625
+ const normalizedFields = normalizedSchema.fields.map((definition) => normalizeRuntimeFieldDefinition(definition)).filter((definition) => definition !== null);
4626
+ for (const normalized of normalizedFields) {
4638
4627
  dedupedByKey.set(normalized.key, normalized);
4639
4628
  }
4640
4629
  const definitions = [...dedupedByKey.values()].sort((left, right) => left.key.localeCompare(right.key));
@@ -4880,6 +4869,22 @@ function vArray(item) {
4880
4869
  function vOptional(inner) {
4881
4870
  return (input) => input === void 0 ? { ok: true, value: void 0 } : inner(input);
4882
4871
  }
4872
+ function vRecordOf(valueCheck) {
4873
+ return (input) => {
4874
+ if (typeof input !== "object" || input === null || Array.isArray(input)) {
4875
+ return FAIL;
4876
+ }
4877
+ const value = {};
4878
+ for (const [key, raw] of Object.entries(input)) {
4879
+ const result = valueCheck(raw);
4880
+ if (!result.ok) {
4881
+ return FAIL;
4882
+ }
4883
+ value[key] = result.value;
4884
+ }
4885
+ return { ok: true, value };
4886
+ };
4887
+ }
4883
4888
  function vObject(shape) {
4884
4889
  return (input) => {
4885
4890
  if (typeof input !== "object" || input === null || Array.isArray(input)) {
@@ -5054,7 +5059,8 @@ var settingsCheck = vObject({
5054
5059
  lifecycle_stale_blocker_reason_patterns: vOptional(vArray(vString)),
5055
5060
  lifecycle_closure_like_blocked_reason_patterns: vOptional(vArray(vString)),
5056
5061
  lifecycle_closure_like_resolution_patterns: vOptional(vArray(vString)),
5057
- lifecycle_closure_like_actual_result_patterns: vOptional(vArray(vString))
5062
+ lifecycle_closure_like_actual_result_patterns: vOptional(vArray(vString)),
5063
+ estimate_defaults_by_type: vOptional(vRecordOf(vNumber({ int: true, positive: true })))
5058
5064
  })),
5059
5065
  governance: governanceSettings,
5060
5066
  workflow: vOptional(vObject({ definition_of_done: vArray(vString) })),
@@ -5108,6 +5114,7 @@ var settingsCheck = vObject({
5108
5114
  embedding_timeout_ms: vOptional(vNumber({ int: true })),
5109
5115
  scanner_max_batch_retries: vNumber({ int: true }),
5110
5116
  provider: vOptional(vString),
5117
+ corpus_fields: vOptional(vArray(vString)),
5111
5118
  mutation_refresh_policy: vOptional(vLiteral("cache_only", "semantic_configured", "semantic_auto")),
5112
5119
  query_expansion: vOptional(vObject({
5113
5120
  enabled: vOptional(vBoolean),
@@ -5219,6 +5226,73 @@ function normalizeItemTypeDefinition(definition, options = {}) {
5219
5226
  };
5220
5227
  }
5221
5228
 
5229
+ // dist/core/validate/estimate-defaults.js
5230
+ var DEFAULT_ESTIMATE_MINUTES_BY_TYPE = {
5231
+ Epic: 2880,
5232
+ Feature: 480,
5233
+ Story: 480,
5234
+ Milestone: 2880,
5235
+ Task: 120,
5236
+ Issue: 60,
5237
+ Bug: 60,
5238
+ Chore: 30,
5239
+ Decision: 15,
5240
+ Plan: 120
5241
+ };
5242
+ var FALLBACK_ESTIMATE_MINUTES = 120;
5243
+ function isHonoredMinutes(value) {
5244
+ return typeof value === "number" && Number.isFinite(value) && value > 0;
5245
+ }
5246
+ function toLowercasedLookup(source) {
5247
+ const lookup = /* @__PURE__ */ new Map();
5248
+ for (const [key, value] of Object.entries(source)) {
5249
+ lookup.set(key.toLowerCase(), value);
5250
+ }
5251
+ return lookup;
5252
+ }
5253
+ var BUILTIN_LOWERCASED_LOOKUP = toLowercasedLookup(DEFAULT_ESTIMATE_MINUTES_BY_TYPE);
5254
+ var OVERRIDE_LOOKUP_CACHE = /* @__PURE__ */ new WeakMap();
5255
+ function lowercasedOverrideLookup(overrides) {
5256
+ const cached = OVERRIDE_LOOKUP_CACHE.get(overrides);
5257
+ if (cached) {
5258
+ return cached;
5259
+ }
5260
+ const lookup = toLowercasedLookup(overrides);
5261
+ OVERRIDE_LOOKUP_CACHE.set(overrides, lookup);
5262
+ return lookup;
5263
+ }
5264
+ function resolveEstimateDefaultMinutes(type, overrides) {
5265
+ const key = (type ?? "").trim().toLowerCase();
5266
+ if (key.length === 0) {
5267
+ return FALLBACK_ESTIMATE_MINUTES;
5268
+ }
5269
+ if (overrides) {
5270
+ const overrideValue = lowercasedOverrideLookup(overrides).get(key);
5271
+ if (isHonoredMinutes(overrideValue)) {
5272
+ return Math.floor(overrideValue);
5273
+ }
5274
+ }
5275
+ const builtinValue = BUILTIN_LOWERCASED_LOOKUP.get(key);
5276
+ if (isHonoredMinutes(builtinValue)) {
5277
+ return Math.floor(builtinValue);
5278
+ }
5279
+ return FALLBACK_ESTIMATE_MINUTES;
5280
+ }
5281
+ function normalizeEstimateDefaultOverrides(raw) {
5282
+ const normalized = {};
5283
+ if (raw === null || typeof raw !== "object" || Array.isArray(raw)) {
5284
+ return normalized;
5285
+ }
5286
+ for (const [rawKey, rawValue] of Object.entries(raw)) {
5287
+ const key = rawKey.trim();
5288
+ if (key.length === 0 || !isHonoredMinutes(rawValue)) {
5289
+ continue;
5290
+ }
5291
+ normalized[key] = Math.floor(rawValue);
5292
+ }
5293
+ return normalized;
5294
+ }
5295
+
5222
5296
  // dist/core/store/settings-read-cache.js
5223
5297
  import { stat } from "node:fs/promises";
5224
5298
  var settingsReadCacheByRoot = /* @__PURE__ */ new Map();
@@ -5727,6 +5801,15 @@ function normalizeValidationMetadataRequiredFields(values) {
5727
5801
  function normalizeValidationPatternList(values) {
5728
5802
  return [...new Set((values ?? []).map((value) => value.trim().toLowerCase()).filter((value) => value.length > 0))].sort((left, right) => left.localeCompare(right));
5729
5803
  }
5804
+ function valueOrDefault(value, fallback) {
5805
+ return value === void 0 ? fallback : value;
5806
+ }
5807
+ function recordOrEmpty(value) {
5808
+ return typeof value === "object" && value !== null && !Array.isArray(value) ? value : {};
5809
+ }
5810
+ function arrayOrEmpty(value) {
5811
+ return Array.isArray(value) ? value : [];
5812
+ }
5730
5813
  function normalizeItemTypeDefinitions(definitions) {
5731
5814
  const normalized = (definitions ?? []).map((definition) => normalizeItemTypeDefinition(definition)).filter((definition) => definition !== null);
5732
5815
  const dedupedByName = /* @__PURE__ */ new Map();
@@ -5756,7 +5839,8 @@ function mergeSettings(settings) {
5756
5839
  lifecycle_stale_blocker_reason_patterns: normalizeValidationPatternList(settings.validation?.lifecycle_stale_blocker_reason_patterns ?? defaults.validation.lifecycle_stale_blocker_reason_patterns),
5757
5840
  lifecycle_closure_like_blocked_reason_patterns: normalizeValidationPatternList(settings.validation?.lifecycle_closure_like_blocked_reason_patterns ?? defaults.validation.lifecycle_closure_like_blocked_reason_patterns),
5758
5841
  lifecycle_closure_like_resolution_patterns: normalizeValidationPatternList(settings.validation?.lifecycle_closure_like_resolution_patterns ?? defaults.validation.lifecycle_closure_like_resolution_patterns),
5759
- lifecycle_closure_like_actual_result_patterns: normalizeValidationPatternList(settings.validation?.lifecycle_closure_like_actual_result_patterns ?? defaults.validation.lifecycle_closure_like_actual_result_patterns)
5842
+ lifecycle_closure_like_actual_result_patterns: normalizeValidationPatternList(settings.validation?.lifecycle_closure_like_actual_result_patterns ?? defaults.validation.lifecycle_closure_like_actual_result_patterns),
5843
+ estimate_defaults_by_type: normalizeEstimateDefaultOverrides(settings.validation?.estimate_defaults_by_type)
5760
5844
  },
5761
5845
  governance,
5762
5846
  workflow: {
@@ -5823,24 +5907,43 @@ function mergeSettings(settings) {
5823
5907
  };
5824
5908
  }
5825
5909
  function serializeSettings(settings, options = {}) {
5826
- const governance = resolveGovernanceKnobs(settings);
5827
- const normalizedSchema = normalizeRuntimeSchemaSettings(settings.schema);
5828
- const persistedFileBackedSections = resolvePersistedFileBackedSchemaSections(settings, options.persist_source);
5829
- const normalizedSettings = {
5910
+ const baseSettings = {
5830
5911
  ...settings,
5912
+ locks: valueOrDefault(settings.locks, SETTINGS_DEFAULTS.locks),
5913
+ output: valueOrDefault(settings.output, SETTINGS_DEFAULTS.output),
5914
+ history: valueOrDefault(settings.history, SETTINGS_DEFAULTS.history),
5915
+ validation: valueOrDefault(settings.validation, SETTINGS_DEFAULTS.validation),
5916
+ workflow: valueOrDefault(settings.workflow, SETTINGS_DEFAULTS.workflow),
5917
+ testing: valueOrDefault(settings.testing, SETTINGS_DEFAULTS.testing),
5918
+ telemetry: valueOrDefault(settings.telemetry, SETTINGS_DEFAULTS.telemetry),
5919
+ agent_guidance: valueOrDefault(settings.agent_guidance, SETTINGS_DEFAULTS.agent_guidance),
5920
+ item_types: valueOrDefault(settings.item_types, SETTINGS_DEFAULTS.item_types),
5921
+ schema: valueOrDefault(settings.schema, SETTINGS_DEFAULTS.schema),
5922
+ context: valueOrDefault(settings.context, SETTINGS_DEFAULTS.context),
5923
+ extensions: valueOrDefault(settings.extensions, SETTINGS_DEFAULTS.extensions),
5924
+ search: valueOrDefault(settings.search, SETTINGS_DEFAULTS.search),
5925
+ providers: valueOrDefault(settings.providers, SETTINGS_DEFAULTS.providers),
5926
+ vector_store: valueOrDefault(settings.vector_store, SETTINGS_DEFAULTS.vector_store)
5927
+ };
5928
+ const governance = resolveGovernanceKnobs(baseSettings);
5929
+ const normalizedSchema = normalizeRuntimeSchemaSettings(baseSettings.schema);
5930
+ const persistedFileBackedSections = resolvePersistedFileBackedSchemaSections(baseSettings, options.persist_source);
5931
+ const normalizedSettings = {
5932
+ ...baseSettings,
5831
5933
  item_format: "toon",
5832
5934
  validation: {
5833
- ...settings.validation,
5935
+ ...baseSettings.validation,
5834
5936
  parent_reference: governance.parent_reference,
5835
5937
  metadata_profile: governance.metadata_profile,
5836
- metadata_required_fields: normalizeValidationMetadataRequiredFields(settings.validation?.metadata_required_fields),
5837
- lifecycle_stale_blocker_reason_patterns: normalizeValidationPatternList(settings.validation?.lifecycle_stale_blocker_reason_patterns ?? SETTINGS_DEFAULTS.validation.lifecycle_stale_blocker_reason_patterns),
5838
- lifecycle_closure_like_blocked_reason_patterns: normalizeValidationPatternList(settings.validation?.lifecycle_closure_like_blocked_reason_patterns ?? SETTINGS_DEFAULTS.validation.lifecycle_closure_like_blocked_reason_patterns),
5839
- lifecycle_closure_like_resolution_patterns: normalizeValidationPatternList(settings.validation?.lifecycle_closure_like_resolution_patterns ?? SETTINGS_DEFAULTS.validation.lifecycle_closure_like_resolution_patterns),
5840
- lifecycle_closure_like_actual_result_patterns: normalizeValidationPatternList(settings.validation?.lifecycle_closure_like_actual_result_patterns ?? SETTINGS_DEFAULTS.validation.lifecycle_closure_like_actual_result_patterns)
5938
+ metadata_required_fields: normalizeValidationMetadataRequiredFields(baseSettings.validation?.metadata_required_fields),
5939
+ lifecycle_stale_blocker_reason_patterns: normalizeValidationPatternList(baseSettings.validation?.lifecycle_stale_blocker_reason_patterns ?? SETTINGS_DEFAULTS.validation.lifecycle_stale_blocker_reason_patterns),
5940
+ lifecycle_closure_like_blocked_reason_patterns: normalizeValidationPatternList(baseSettings.validation?.lifecycle_closure_like_blocked_reason_patterns ?? SETTINGS_DEFAULTS.validation.lifecycle_closure_like_blocked_reason_patterns),
5941
+ lifecycle_closure_like_resolution_patterns: normalizeValidationPatternList(baseSettings.validation?.lifecycle_closure_like_resolution_patterns ?? SETTINGS_DEFAULTS.validation.lifecycle_closure_like_resolution_patterns),
5942
+ lifecycle_closure_like_actual_result_patterns: normalizeValidationPatternList(baseSettings.validation?.lifecycle_closure_like_actual_result_patterns ?? SETTINGS_DEFAULTS.validation.lifecycle_closure_like_actual_result_patterns),
5943
+ estimate_defaults_by_type: normalizeEstimateDefaultOverrides(baseSettings.validation?.estimate_defaults_by_type)
5841
5944
  },
5842
5945
  governance,
5843
- agent_guidance: normalizeAgentGuidanceSettings(settings.agent_guidance),
5946
+ agent_guidance: normalizeAgentGuidanceSettings(baseSettings.agent_guidance),
5844
5947
  item_types: {
5845
5948
  definitions: persistedFileBackedSections.item_type_definitions
5846
5949
  },
@@ -5852,42 +5955,42 @@ function serializeSettings(settings, options = {}) {
5852
5955
  },
5853
5956
  search: {
5854
5957
  ...SETTINGS_DEFAULTS.search,
5855
- ...settings.search,
5856
- mutation_refresh_policy: normalizeSearchMutationRefreshPolicy(settings.search?.mutation_refresh_policy),
5958
+ ...baseSettings.search,
5959
+ mutation_refresh_policy: normalizeSearchMutationRefreshPolicy(baseSettings.search?.mutation_refresh_policy),
5857
5960
  query_expansion: {
5858
5961
  ...SETTINGS_DEFAULTS.search.query_expansion,
5859
- ...settings.search?.query_expansion ?? {},
5860
- enabled: normalizeSearchQueryExpansionEnabled(settings.search?.query_expansion?.enabled),
5861
- provider: normalizeSearchQueryExpansionProvider(settings.search?.query_expansion?.provider)
5962
+ ...baseSettings.search?.query_expansion ?? {},
5963
+ enabled: normalizeSearchQueryExpansionEnabled(baseSettings.search?.query_expansion?.enabled),
5964
+ provider: normalizeSearchQueryExpansionProvider(baseSettings.search?.query_expansion?.provider)
5862
5965
  },
5863
5966
  rerank: {
5864
5967
  ...SETTINGS_DEFAULTS.search.rerank,
5865
- ...settings.search?.rerank ?? {},
5866
- enabled: normalizeSearchRerankEnabled(settings.search?.rerank?.enabled),
5867
- model: normalizeSearchRerankModel(settings.search?.rerank?.model),
5868
- top_k: normalizeSearchRerankTopK(settings.search?.rerank?.top_k)
5968
+ ...baseSettings.search?.rerank ?? {},
5969
+ enabled: normalizeSearchRerankEnabled(baseSettings.search?.rerank?.enabled),
5970
+ model: normalizeSearchRerankModel(baseSettings.search?.rerank?.model),
5971
+ top_k: normalizeSearchRerankTopK(baseSettings.search?.rerank?.top_k)
5869
5972
  }
5870
5973
  },
5871
5974
  context: {
5872
- default_depth: settings.context?.default_depth ?? SETTINGS_DEFAULTS.context.default_depth,
5873
- activity_limit: settings.context?.activity_limit ?? SETTINGS_DEFAULTS.context.activity_limit,
5874
- stale_threshold_days: settings.context?.stale_threshold_days ?? SETTINGS_DEFAULTS.context.stale_threshold_days,
5975
+ default_depth: baseSettings.context?.default_depth ?? SETTINGS_DEFAULTS.context.default_depth,
5976
+ activity_limit: baseSettings.context?.activity_limit ?? SETTINGS_DEFAULTS.context.activity_limit,
5977
+ stale_threshold_days: baseSettings.context?.stale_threshold_days ?? SETTINGS_DEFAULTS.context.stale_threshold_days,
5875
5978
  sections: {
5876
5979
  ...SETTINGS_DEFAULTS.context.sections,
5877
- ...settings.context?.sections ?? {}
5980
+ ...baseSettings.context?.sections ?? {}
5878
5981
  }
5879
5982
  },
5880
5983
  extensions: {
5881
- enabled: normalizeStringList2(settings.extensions?.enabled),
5882
- disabled: normalizeStringList2(settings.extensions?.disabled),
5883
- policy: normalizeExtensionPolicySettings(settings.extensions?.policy)
5984
+ enabled: normalizeStringList2(baseSettings.extensions?.enabled),
5985
+ disabled: normalizeStringList2(baseSettings.extensions?.disabled),
5986
+ policy: normalizeExtensionPolicySettings(baseSettings.extensions?.policy)
5884
5987
  },
5885
5988
  vector_store: {
5886
- ...settings.vector_store ?? {},
5887
- adapter: settings.vector_store?.adapter ?? SETTINGS_DEFAULTS.vector_store.adapter,
5888
- collection_name: normalizeVectorStoreCollectionName(settings.vector_store?.collection_name),
5889
- qdrant: { ...settings.vector_store?.qdrant ?? {} },
5890
- lancedb: { ...settings.vector_store?.lancedb ?? {} }
5989
+ ...baseSettings.vector_store,
5990
+ adapter: baseSettings.vector_store?.adapter ?? SETTINGS_DEFAULTS.vector_store.adapter,
5991
+ collection_name: normalizeVectorStoreCollectionName(baseSettings.vector_store?.collection_name),
5992
+ qdrant: { ...baseSettings.vector_store?.qdrant ?? {} },
5993
+ lancedb: { ...baseSettings.vector_store?.lancedb ?? {} }
5891
5994
  }
5892
5995
  };
5893
5996
  const ordered = orderObject({
@@ -5926,7 +6029,8 @@ function serializeSettings(settings, options = {}) {
5926
6029
  "lifecycle_stale_blocker_reason_patterns",
5927
6030
  "lifecycle_closure_like_blocked_reason_patterns",
5928
6031
  "lifecycle_closure_like_resolution_patterns",
5929
- "lifecycle_closure_like_actual_result_patterns"
6032
+ "lifecycle_closure_like_actual_result_patterns",
6033
+ "estimate_defaults_by_type"
5930
6034
  ]);
5931
6035
  ordered.governance = orderObject(ordered.governance, [
5932
6036
  "preset",
@@ -5967,17 +6071,17 @@ function serializeSettings(settings, options = {}) {
5967
6071
  "type_workflows",
5968
6072
  "unknown_field_policy"
5969
6073
  ]);
5970
- ordered.schema.files = orderObject(ordered.schema.files ?? {}, ["types", "statuses", "fields", "workflows"]);
5971
- ordered.schema.workflow = orderObject(ordered.schema.workflow ?? {}, ["draft_status", "open_status", "in_progress_status", "blocked_status", "close_status", "canceled_status"]);
6074
+ ordered.schema.files = orderObject(recordOrEmpty(ordered.schema.files), ["types", "statuses", "fields", "workflows"]);
6075
+ ordered.schema.workflow = orderObject(recordOrEmpty(ordered.schema.workflow), ["draft_status", "open_status", "in_progress_status", "blocked_status", "close_status", "canceled_status"]);
5972
6076
  ordered.context = orderObject(ordered.context, [
5973
6077
  "default_depth",
5974
6078
  "activity_limit",
5975
6079
  "stale_threshold_days",
5976
6080
  "sections"
5977
6081
  ]);
5978
- ordered.context.sections = orderObject(ordered.context.sections ?? {}, ["hierarchy", "activity", "progress", "blockers", "files", "workload", "staleness", "tests"]);
6082
+ ordered.context.sections = orderObject(recordOrEmpty(ordered.context.sections), ["hierarchy", "activity", "progress", "blockers", "files", "workload", "staleness", "tests"]);
5979
6083
  ordered.extensions = orderObject(ordered.extensions, ["enabled", "disabled", "policy"]);
5980
- ordered.extensions.policy = orderObject(ordered.extensions.policy ?? {}, [
6084
+ ordered.extensions.policy = orderObject(recordOrEmpty(ordered.extensions.policy), [
5981
6085
  "mode",
5982
6086
  "trust_mode",
5983
6087
  "pm_max_version_exceeded_mode",
@@ -5998,7 +6102,7 @@ function serializeSettings(settings, options = {}) {
5998
6102
  "blocked_services",
5999
6103
  "extension_overrides"
6000
6104
  ]);
6001
- ordered.extensions.policy.extension_overrides = (ordered.extensions.policy.extension_overrides ?? []).map((entry) => orderObject(entry ?? {}, [
6105
+ ordered.extensions.policy.extension_overrides = arrayOrEmpty(ordered.extensions.policy.extension_overrides).map((entry) => orderObject(recordOrEmpty(entry), [
6002
6106
  "name",
6003
6107
  "disabled",
6004
6108
  "require_trusted",
@@ -6029,19 +6133,19 @@ function serializeSettings(settings, options = {}) {
6029
6133
  "query_expansion",
6030
6134
  "rerank"
6031
6135
  ]);
6032
- ordered.search.query_expansion = orderObject(ordered.search.query_expansion ?? {}, ["enabled", "provider"]);
6033
- ordered.search.rerank = orderObject(ordered.search.rerank ?? {}, ["enabled", "model", "top_k"]);
6136
+ ordered.search.query_expansion = orderObject(recordOrEmpty(ordered.search.query_expansion), ["enabled", "provider"]);
6137
+ ordered.search.rerank = orderObject(recordOrEmpty(ordered.search.rerank), ["enabled", "model", "top_k"]);
6034
6138
  ordered.providers = orderObject(ordered.providers, ["openai", "ollama"]);
6035
- ordered.providers.openai = orderObject(ordered.providers.openai ?? {}, ["base_url", "api_key", "model"]);
6036
- ordered.providers.ollama = orderObject(ordered.providers.ollama ?? {}, ["base_url", "model"]);
6139
+ ordered.providers.openai = orderObject(recordOrEmpty(ordered.providers.openai), ["base_url", "api_key", "model"]);
6140
+ ordered.providers.ollama = orderObject(recordOrEmpty(ordered.providers.ollama), ["base_url", "model"]);
6037
6141
  ordered.vector_store = orderObject(ordered.vector_store, [
6038
6142
  "adapter",
6039
6143
  "collection_name",
6040
6144
  "qdrant",
6041
6145
  "lancedb"
6042
6146
  ]);
6043
- ordered.vector_store.qdrant = orderObject(ordered.vector_store.qdrant ?? {}, ["url", "api_key"]);
6044
- ordered.vector_store.lancedb = orderObject(ordered.vector_store.lancedb ?? {}, ["path"]);
6147
+ ordered.vector_store.qdrant = orderObject(recordOrEmpty(ordered.vector_store.qdrant), ["url", "api_key"]);
6148
+ ordered.vector_store.lancedb = orderObject(recordOrEmpty(ordered.vector_store.lancedb), ["path"]);
6045
6149
  return `${JSON.stringify(ordered, null, 2)}
6046
6150
  `;
6047
6151
  }
@@ -6098,7 +6202,7 @@ async function readSettingsWithMetadata(pmRoot) {
6098
6202
  item_types: {
6099
6203
  definitions: normalizeItemTypeDefinitions([
6100
6204
  ...mergedSettings.item_types.definitions,
6101
- ...loadedSchemaSections.type_definitions_from_file ?? []
6205
+ ...arrayOrEmpty(loadedSchemaSections.type_definitions_from_file)
6102
6206
  ])
6103
6207
  },
6104
6208
  schema: loadedSchemaSections.schema
@@ -6172,6 +6276,7 @@ export {
6172
6276
  KNOWN_EXTENSION_POLICY_SURFACES,
6173
6277
  KNOWN_EXTENSION_SERVICE_NAMES,
6174
6278
  PM_DIRNAME,
6279
+ CREATE_DIRECT_CLOSE_REASON_DEFAULT,
6175
6280
  PM_CORE_REQUIRED_SUBDIRS,
6176
6281
  PM_OPTIONAL_TYPE_SUBDIRS,
6177
6282
  PM_REQUIRED_SUBDIRS,
@@ -6192,6 +6297,7 @@ export {
6192
6297
  getItemFormatFromPath,
6193
6298
  getHistoryPath,
6194
6299
  getLockPath,
6300
+ getRuntimePath,
6195
6301
  getTestRunsPath,
6196
6302
  getTestRunsRecordsPath,
6197
6303
  getTestRunRecordPath,
@@ -6274,6 +6380,7 @@ export {
6274
6380
  DEFAULT_RUNTIME_STATUS_DEFINITIONS,
6275
6381
  normalizeRuntimeSchemaSettings,
6276
6382
  filePathForSchemaSection,
6383
+ resolveItemTypesFilePath,
6277
6384
  ensureRuntimeSchemaFileScaffold,
6278
6385
  resolveRuntimeStatusRegistry,
6279
6386
  normalizeStatusInputWithRegistry,
@@ -6285,11 +6392,12 @@ export {
6285
6392
  stableValueEquals,
6286
6393
  sha256Hex,
6287
6394
  orderObject,
6395
+ resolveEstimateDefaultMinutes,
6288
6396
  resolveGovernanceKnobs,
6289
6397
  readSettingsWithMetadata,
6290
6398
  readSettings,
6291
6399
  writeSettings
6292
6400
  };
6293
- //# sourceMappingURL=chunk-S2CDTRJ6.js.map
6401
+ //# sourceMappingURL=chunk-KTVETP66.js.map
6294
6402
 
6295
- //# debugId=33ba971e-6a5f-5697-90d4-40aeaab11e03
6403
+ //# debugId=62f87b11-f1bc-5f90-bc91-0e81dfdebb55