@unbrained/pm-cli 2026.6.12 → 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 (777) hide show
  1. package/CHANGELOG.md +103 -0
  2. package/README.md +2 -2
  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 +112 -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 +154 -9
  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 +68 -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 +214 -46
  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-XADJOG6G.js → activity-MJGTX4LO.js} +13 -11
  180. package/dist/cli-bundle/chunks/{aggregate-OD36DJU5.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-6OTS3AOO.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-JYWO4P7W.js → append-2Q4BPUBW.js} +10 -10
  185. package/dist/cli-bundle/chunks/{append-JYWO4P7W.js.map → append-2Q4BPUBW.js.map} +2 -2
  186. package/dist/cli-bundle/chunks/{append-KG55G7S3.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-IGVJRZ6H.js → chunk-2IUJBMKS.js} +10 -9
  189. package/dist/cli-bundle/chunks/{chunk-IGVJRZ6H.js.map → chunk-2IUJBMKS.js.map} +2 -2
  190. package/dist/cli-bundle/chunks/{chunk-ATEES5SX.js → chunk-2JEGCDYT.js} +2 -2
  191. package/dist/cli-bundle/chunks/{chunk-XUC4C4PT.js → chunk-3WAULYOY.js} +3 -3
  192. package/dist/cli-bundle/chunks/{chunk-UIG4TW2H.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-3KLPFWZ4.js → chunk-4KBK4BA3.js} +16 -34
  195. package/dist/cli-bundle/chunks/chunk-4KBK4BA3.js.map +7 -0
  196. package/dist/cli-bundle/chunks/{chunk-OLKBSY4N.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-ZMW77VWV.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-CW6E4NAT.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-5SCT2JCT.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-VFUZV5EB.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-GKIZW7SM.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-QJMGRZO2.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-HI7STVF2.js → chunk-7K2MXFMX.js} +14 -32
  214. package/dist/cli-bundle/chunks/chunk-7K2MXFMX.js.map +1 -0
  215. package/dist/cli-bundle/chunks/{chunk-TNAP7EJX.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-7IYFN5R7.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-KBPQHXWG.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-KWAXVAXX.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-EWFY7SLA.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-XJDGS74Y.js → chunk-CBMETQ2U.js} +105 -31
  229. package/dist/cli-bundle/chunks/chunk-CBMETQ2U.js.map +1 -0
  230. package/dist/cli-bundle/chunks/{chunk-ESANVZF4.js → chunk-E6J2PEK6.js} +3 -3
  231. package/dist/cli-bundle/chunks/{chunk-VSRZRLG3.js → chunk-F2GC6L3N.js} +3 -3
  232. package/dist/cli-bundle/chunks/{chunk-I7NYDZDV.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-VAOUX6TK.js → chunk-FTAZLAR7.js} +8 -5
  235. package/dist/cli-bundle/chunks/{chunk-VAOUX6TK.js.map → chunk-FTAZLAR7.js.map} +1 -1
  236. package/dist/cli-bundle/chunks/{chunk-OASDW5UI.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-WUNFKP7M.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-L5EPZQIC.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-UUWGCWBU.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-SXKNJPQ7.js → chunk-GQ4JKNMV.js} +4 -4
  245. package/dist/cli-bundle/chunks/{chunk-SXKNJPQ7.js.map → chunk-GQ4JKNMV.js.map} +1 -1
  246. package/dist/cli-bundle/chunks/{chunk-73ZPG2I3.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-35P4GT6E.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-F75JSIOZ.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-XWMF3POR.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-QKW5D45B.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-4HFU4UO2.js → chunk-ILHLIA47.js} +5 -5
  257. package/dist/cli-bundle/chunks/{chunk-4HFU4UO2.js.map → chunk-ILHLIA47.js.map} +1 -1
  258. package/dist/cli-bundle/chunks/{chunk-P5BJOMBB.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-AX4GEVQC.js → chunk-IQVB3YDD.js} +88 -22
  261. package/dist/cli-bundle/chunks/chunk-IQVB3YDD.js.map +7 -0
  262. package/dist/cli-bundle/chunks/{chunk-I53JBTJW.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-A6LXQFO7.js → chunk-KTVETP66.js} +334 -253
  265. package/dist/cli-bundle/chunks/chunk-KTVETP66.js.map +1 -0
  266. package/dist/cli-bundle/chunks/{chunk-DY6C42S6.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-HGLC63AU.js → chunk-L6FJPOT4.js} +11 -10
  269. package/dist/cli-bundle/chunks/{chunk-HGLC63AU.js.map → chunk-L6FJPOT4.js.map} +1 -1
  270. package/dist/cli-bundle/chunks/{chunk-FY4SPXSC.js → chunk-LV5FFQ7M.js} +354 -266
  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-XTKJSVWH.js → chunk-M23HXJL3.js} +2 -2
  275. package/dist/cli-bundle/chunks/{chunk-S26FESD4.js → chunk-MJZUZ2QE.js} +3 -3
  276. package/dist/cli-bundle/chunks/{chunk-I2IJY2NL.js → chunk-NCIBNERT.js} +4 -4
  277. package/dist/cli-bundle/chunks/{chunk-I2IJY2NL.js.map → chunk-NCIBNERT.js.map} +1 -1
  278. package/dist/cli-bundle/chunks/{chunk-TK5VZFHY.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-C6SAP27O.js → chunk-O46LTCXQ.js} +4 -4
  281. package/dist/cli-bundle/chunks/{chunk-YW6Q3RYZ.js → chunk-OCTQJP42.js} +19 -8
  282. package/dist/cli-bundle/chunks/{chunk-YW6Q3RYZ.js.map → chunk-OCTQJP42.js.map} +2 -2
  283. package/dist/cli-bundle/chunks/{chunk-WPDMBIX6.js → chunk-OLTYNVJR.js} +5 -5
  284. package/dist/cli-bundle/chunks/{chunk-IUKD4W6Z.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-SO55HRA5.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-HHHJ2GI3.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-S2ZLDYGS.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-GWZSYR6X.js → chunk-SPYPC5CB.js} +3 -3
  293. package/dist/cli-bundle/chunks/{chunk-GWZSYR6X.js.map → chunk-SPYPC5CB.js.map} +1 -1
  294. package/dist/cli-bundle/chunks/{chunk-7AMK6DOW.js → chunk-SY4GKIWT.js} +88 -22
  295. package/dist/cli-bundle/chunks/chunk-SY4GKIWT.js.map +1 -0
  296. package/dist/cli-bundle/chunks/{chunk-ZLMIWZUG.js → chunk-SY4PZWIZ.js} +7 -4
  297. package/dist/cli-bundle/chunks/{chunk-ZLMIWZUG.js.map → chunk-SY4PZWIZ.js.map} +2 -2
  298. package/dist/cli-bundle/chunks/{chunk-R2OUQVBK.js → chunk-T5VU7ROQ.js} +4 -4
  299. package/dist/cli-bundle/chunks/{chunk-37CYVF73.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-7UGSRQCL.js → chunk-TUB3DZAZ.js} +107 -33
  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-P5U5EOMA.js → chunk-UBMCSJXX.js} +3 -3
  306. package/dist/cli-bundle/chunks/{chunk-ZYNJNPYD.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-VPEAS7PS.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-4YFAGDRH.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-RXAP6JL5.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-Y3YKK7CY.js → chunk-YGRPBFMA.js} +2 -2
  317. package/dist/cli-bundle/chunks/{chunk-QNJSITCX.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-FDH2X65L.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-XMBI6TNW.js → chunk-ZJRDVYZI.js} +4 -4
  322. package/dist/cli-bundle/chunks/{chunk-CCX4RSYZ.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-2RDYMCTP.js → claim-4APLUXJW.js} +10 -10
  325. package/dist/cli-bundle/chunks/{claim-MJ7DZFC3.js → claim-NEO7AGWH.js} +10 -10
  326. package/dist/cli-bundle/chunks/{close-XLEKIQSW.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-AOD4HSAZ.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-XKAQY5CQ.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-RN5TG4ZN.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-B4RWWDJT.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-3JXJ3XZ7.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-FZ4UDC4B.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-QBPO3BFM.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-L36PIN35.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-2G66IGIA.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-PJCHYSO5.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-FWIVTLBO.js → copy-Q64T5FD4.js} +7 -7
  349. package/dist/cli-bundle/chunks/{copy-ALU5WMHA.js → copy-SG34LCMU.js} +7 -7
  350. package/dist/cli-bundle/chunks/create-F5HZX2S4.js +30 -0
  351. package/dist/cli-bundle/chunks/{create-5433DP3G.js → create-IPAX2SNL.js} +16 -13
  352. package/dist/cli-bundle/chunks/{delete-Y2SGJBGY.js → delete-TLXR7LJ2.js} +7 -7
  353. package/dist/cli-bundle/chunks/{delete-IYTIYAJS.js → delete-VH3L7DZ6.js} +7 -7
  354. package/dist/cli-bundle/chunks/{deps-CZ4PTVXU.js → deps-J3HBBLDB.js} +9 -10
  355. package/dist/cli-bundle/chunks/{deps-CZ4PTVXU.js.map → deps-J3HBBLDB.js.map} +2 -2
  356. package/dist/cli-bundle/chunks/{deps-6TSPOSGU.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-MXLGZUIT.js → docs-GWDEB7JH.js} +9 -9
  359. package/dist/cli-bundle/chunks/{docs-I3BAF5WH.js → docs-RCLNSKID.js} +9 -9
  360. package/dist/cli-bundle/chunks/{extension-Q34OEWO5.js → extension-5RN65LHT.js} +7 -5
  361. package/dist/cli-bundle/chunks/{extension-WH2FOIOZ.js → extension-7KO2NX2A.js} +7 -5
  362. package/dist/cli-bundle/chunks/{files-GUXUM2MB.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-FYP3MDPX.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-KGQG66SA.js → gc-2FGKYRJ4.js} +3 -3
  371. package/dist/cli-bundle/chunks/{gc-FENB2ESG.js → gc-5B6ABL3Z.js} +3 -3
  372. package/dist/cli-bundle/chunks/{get-PCHS7RA6.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-QARTE6BL.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-E4D7KGHD.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-7MTXAVR2.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-7WUAEWHW.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-LW27IPFK.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-3EJ3L2O7.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-G72A4EJ4.js → history-redact-Z4P5MM3G.js} +13 -11
  388. package/dist/cli-bundle/chunks/{history-repair-OSQOKJ3E.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-SBK7P34V.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-S5WEGUJY.js → init-K6MSMB37.js} +11 -9
  394. package/dist/cli-bundle/chunks/{learnings-XK3P4ZDR.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-HQXSSKZ5.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-5T6P7C5V.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-U5FZCSBT.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-2YTQYWGM.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-7IVSICR6.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-4UPMHONX.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-7VOW2C3W.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-FARSGYRD.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-LJDNVREU.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-HCJKDUA6.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-FFTYAL42.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-6AVIUOCC.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-KVNLO5OJ.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-M6AFHMV4.js → restore-NNVPBBVJ.js} +13 -11
  425. package/dist/cli-bundle/chunks/restore-XXXLQ2XC.js +19 -0
  426. package/dist/cli-bundle/chunks/{schema-AINZ2IMM.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-76HDZJCC.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-JMLFQEPJ.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-NL3TSCYB.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-BKXCBIGT.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-UBD56TGK.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-ZJXK3H7X.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-N454RHG5.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-BQAKIXAT.js → test-7GVQ3VMN.js} +16 -14
  444. package/dist/cli-bundle/chunks/{test-all-7LV3I6S5.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-TDYCCBA4.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-E64M6XS3.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-LXZLULCI.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-F4IKDWZB.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-NTWZ5YT3.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-37F7JKES.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-L32JA4TZ.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-46KCRHL7.js → validate-7BLDG3AT.js} +222 -31
  463. package/dist/cli-bundle/chunks/validate-7BLDG3AT.js.map +1 -0
  464. package/dist/cli-bundle/chunks/{validate-CRFMPTYD.js → validate-EHL3MI2V.js} +236 -31
  465. package/dist/cli-bundle/chunks/validate-EHL3MI2V.js.map +7 -0
  466. package/dist/cli-bundle/main.js +305 -140
  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-capability-aliases.js +7 -33
  474. package/dist/core/extensions/extension-capability-aliases.js.map +1 -1
  475. package/dist/core/extensions/extension-policy.js +14 -15
  476. package/dist/core/extensions/extension-policy.js.map +1 -1
  477. package/dist/core/extensions/item-fields.js +4 -5
  478. package/dist/core/extensions/item-fields.js.map +1 -1
  479. package/dist/core/extensions/loader.d.ts +75 -1
  480. package/dist/core/extensions/loader.js +56 -32
  481. package/dist/core/extensions/loader.js.map +1 -1
  482. package/dist/core/governance/content-fields.d.ts +84 -0
  483. package/dist/core/governance/content-fields.js +182 -0
  484. package/dist/core/governance/content-fields.js.map +1 -0
  485. package/dist/core/governance/issue-codes.d.ts +51 -0
  486. package/dist/core/governance/issue-codes.js +95 -0
  487. package/dist/core/governance/issue-codes.js.map +1 -0
  488. package/dist/core/governance/metadata-coverage.d.ts +168 -0
  489. package/dist/core/governance/metadata-coverage.js +362 -0
  490. package/dist/core/governance/metadata-coverage.js.map +1 -0
  491. package/dist/core/history/history-rewrite.d.ts +22 -0
  492. package/dist/core/history/history-rewrite.js +38 -2
  493. package/dist/core/history/history-rewrite.js.map +1 -1
  494. package/dist/core/history/history.d.ts +7 -0
  495. package/dist/core/history/history.js +6 -2
  496. package/dist/core/history/history.js.map +1 -1
  497. package/dist/core/io/body-file.d.ts +14 -0
  498. package/dist/core/io/body-file.js +47 -0
  499. package/dist/core/io/body-file.js.map +1 -0
  500. package/dist/core/item/item-format.d.ts +46 -1
  501. package/dist/core/item/item-format.js +51 -60
  502. package/dist/core/item/item-format.js.map +1 -1
  503. package/dist/core/item/parse.d.ts +9 -0
  504. package/dist/core/item/parse.js +10 -16
  505. package/dist/core/item/parse.js.map +1 -1
  506. package/dist/core/item/type-registry.d.ts +1 -0
  507. package/dist/core/item/type-registry.js +8 -10
  508. package/dist/core/item/type-registry.js.map +1 -1
  509. package/dist/core/lock/lock.d.ts +26 -0
  510. package/dist/core/lock/lock.js +10 -2
  511. package/dist/core/lock/lock.js.map +1 -1
  512. package/dist/core/output/output.d.ts +7 -0
  513. package/dist/core/output/output.js +6 -2
  514. package/dist/core/output/output.js.map +1 -1
  515. package/dist/core/schema/item-types-file.d.ts +25 -2
  516. package/dist/core/schema/item-types-file.js +78 -6
  517. package/dist/core/schema/item-types-file.js.map +1 -1
  518. package/dist/core/schema/runtime-schema.d.ts +7 -0
  519. package/dist/core/schema/runtime-schema.js +23 -16
  520. package/dist/core/schema/runtime-schema.js.map +1 -1
  521. package/dist/core/search/background-refresh.js +3 -3
  522. package/dist/core/search/background-refresh.js.map +1 -1
  523. package/dist/core/search/cache.d.ts +19 -1
  524. package/dist/core/search/cache.js +11 -3
  525. package/dist/core/search/cache.js.map +1 -1
  526. package/dist/core/search/corpus.d.ts +36 -2
  527. package/dist/core/search/corpus.js +120 -24
  528. package/dist/core/search/corpus.js.map +1 -1
  529. package/dist/core/search/providers.d.ts +19 -0
  530. package/dist/core/search/providers.js +19 -2
  531. package/dist/core/search/providers.js.map +1 -1
  532. package/dist/core/sentry/instrument.d.ts +1 -0
  533. package/dist/core/sentry/instrument.js +6 -2
  534. package/dist/core/sentry/instrument.js.map +1 -1
  535. package/dist/core/session/session-state.d.ts +16 -0
  536. package/dist/core/session/session-state.js +48 -0
  537. package/dist/core/session/session-state.js.map +1 -0
  538. package/dist/core/shared/constants.d.ts +8 -0
  539. package/dist/core/shared/constants.js +11 -2
  540. package/dist/core/shared/constants.js.map +1 -1
  541. package/dist/core/shared/errors.d.ts +3 -0
  542. package/dist/core/shared/errors.js +2 -2
  543. package/dist/core/shared/errors.js.map +1 -1
  544. package/dist/core/shared/text-normalization.js +4 -3
  545. package/dist/core/shared/text-normalization.js.map +1 -1
  546. package/dist/core/shared/time.d.ts +13 -0
  547. package/dist/core/shared/time.js +19 -7
  548. package/dist/core/shared/time.js.map +1 -1
  549. package/dist/core/store/item-store.d.ts +11 -0
  550. package/dist/core/store/item-store.js +16 -23
  551. package/dist/core/store/item-store.js.map +1 -1
  552. package/dist/core/store/settings-validator.d.ts +2 -0
  553. package/dist/core/store/settings-validator.js +25 -2
  554. package/dist/core/store/settings-validator.js.map +1 -1
  555. package/dist/core/store/settings.d.ts +60 -1
  556. package/dist/core/store/settings.js +100 -46
  557. package/dist/core/store/settings.js.map +1 -1
  558. package/dist/core/telemetry/observability.js +10 -8
  559. package/dist/core/telemetry/observability.js.map +1 -1
  560. package/dist/core/telemetry/runtime.d.ts +272 -1
  561. package/dist/core/telemetry/runtime.js +358 -37
  562. package/dist/core/telemetry/runtime.js.map +1 -1
  563. package/dist/core/test/background-runs.d.ts +35 -0
  564. package/dist/core/test/background-runs.js +72 -61
  565. package/dist/core/test/background-runs.js.map +1 -1
  566. package/dist/core/test/run-selectors.js +5 -4
  567. package/dist/core/test/run-selectors.js.map +1 -1
  568. package/dist/core/validate/estimate-defaults.d.ts +39 -0
  569. package/dist/core/validate/estimate-defaults.js +117 -0
  570. package/dist/core/validate/estimate-defaults.js.map +1 -0
  571. package/dist/core/validate/fix-planning.d.ts +21 -3
  572. package/dist/core/validate/fix-planning.js +31 -4
  573. package/dist/core/validate/fix-planning.js.map +1 -1
  574. package/dist/core/validate/missing-link-owners.d.ts +64 -0
  575. package/dist/core/validate/missing-link-owners.js +98 -0
  576. package/dist/core/validate/missing-link-owners.js.map +1 -0
  577. package/dist/mcp/server.d.ts +62 -0
  578. package/dist/mcp/server.js +71 -8
  579. package/dist/mcp/server.js.map +1 -1
  580. package/dist/mcp/tool-definitions.js +17 -4
  581. package/dist/mcp/tool-definitions.js.map +1 -1
  582. package/dist/sdk/cli-contracts/commander-types.js +13 -2
  583. package/dist/sdk/cli-contracts/commander-types.js.map +1 -1
  584. package/dist/sdk/cli-contracts/enum-contracts.d.ts +2 -2
  585. package/dist/sdk/cli-contracts/enum-contracts.js +4 -2
  586. package/dist/sdk/cli-contracts/enum-contracts.js.map +1 -1
  587. package/dist/sdk/cli-contracts/tool-option-contracts.js +110 -2
  588. package/dist/sdk/cli-contracts/tool-option-contracts.js.map +1 -1
  589. package/dist/sdk/cli-contracts/tool-parameter-tables.js +83 -8
  590. package/dist/sdk/cli-contracts/tool-parameter-tables.js.map +1 -1
  591. package/dist/sdk/cli-contracts.d.ts +28 -0
  592. package/dist/sdk/cli-contracts.js +164 -11
  593. package/dist/sdk/cli-contracts.js.map +1 -1
  594. package/dist/types.d.ts +17 -1
  595. package/dist/types.js +3 -3
  596. package/dist/types.js.map +1 -1
  597. package/docs/AGENT_GUIDE.md +15 -3
  598. package/docs/CLAUDE_CODE_PLUGIN.md +2 -2
  599. package/docs/COMMANDS.md +136 -7
  600. package/docs/CONFIGURATION.md +52 -0
  601. package/docs/TESTING.md +6 -4
  602. package/package.json +6 -4
  603. package/packages/pm-calendar/extensions/calendar/runtime.js +6 -0
  604. package/packages/pm-calendar/extensions/calendar/runtime.ts +12 -0
  605. package/packages/pm-todos/extensions/todos/runtime.ts +5 -0
  606. package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
  607. package/plugins/pm-claude/README.md +6 -14
  608. package/plugins/pm-claude/commands/pm-init.md +1 -1
  609. package/plugins/pm-codex/README.md +1 -1
  610. package/scripts/bundle-cli.mjs +46 -37
  611. package/scripts/finalize-build.mjs +20 -9
  612. package/scripts/prepare-build-cache.mjs +27 -16
  613. package/dist/cli-bundle/chunks/activity-XZIUPGZH.js +0 -16
  614. package/dist/cli-bundle/chunks/aggregate-6OTS3AOO.js.map +0 -1
  615. package/dist/cli-bundle/chunks/aggregate-OD36DJU5.js.map +0 -7
  616. package/dist/cli-bundle/chunks/append-KG55G7S3.js.map +0 -1
  617. package/dist/cli-bundle/chunks/chunk-35P4GT6E.js.map +0 -7
  618. package/dist/cli-bundle/chunks/chunk-37CYVF73.js.map +0 -7
  619. package/dist/cli-bundle/chunks/chunk-3KLPFWZ4.js.map +0 -7
  620. package/dist/cli-bundle/chunks/chunk-4JCSYR6F.js +0 -138
  621. package/dist/cli-bundle/chunks/chunk-4JCSYR6F.js.map +0 -7
  622. package/dist/cli-bundle/chunks/chunk-4YFAGDRH.js.map +0 -7
  623. package/dist/cli-bundle/chunks/chunk-5SCT2JCT.js.map +0 -7
  624. package/dist/cli-bundle/chunks/chunk-73ZPG2I3.js.map +0 -7
  625. package/dist/cli-bundle/chunks/chunk-7AMK6DOW.js.map +0 -1
  626. package/dist/cli-bundle/chunks/chunk-7IYFN5R7.js.map +0 -1
  627. package/dist/cli-bundle/chunks/chunk-7UGSRQCL.js.map +0 -7
  628. package/dist/cli-bundle/chunks/chunk-A6LXQFO7.js.map +0 -1
  629. package/dist/cli-bundle/chunks/chunk-AVGHVVF7.js +0 -128
  630. package/dist/cli-bundle/chunks/chunk-AVGHVVF7.js.map +0 -1
  631. package/dist/cli-bundle/chunks/chunk-AX4GEVQC.js.map +0 -7
  632. package/dist/cli-bundle/chunks/chunk-CCX4RSYZ.js.map +0 -1
  633. package/dist/cli-bundle/chunks/chunk-CW6E4NAT.js.map +0 -1
  634. package/dist/cli-bundle/chunks/chunk-DY6C42S6.js.map +0 -7
  635. package/dist/cli-bundle/chunks/chunk-EWFY7SLA.js.map +0 -1
  636. package/dist/cli-bundle/chunks/chunk-F75JSIOZ.js.map +0 -1
  637. package/dist/cli-bundle/chunks/chunk-FDH2X65L.js.map +0 -1
  638. package/dist/cli-bundle/chunks/chunk-FY4SPXSC.js.map +0 -7
  639. package/dist/cli-bundle/chunks/chunk-GKIZW7SM.js.map +0 -7
  640. package/dist/cli-bundle/chunks/chunk-HHHJ2GI3.js.map +0 -7
  641. package/dist/cli-bundle/chunks/chunk-HI7STVF2.js.map +0 -1
  642. package/dist/cli-bundle/chunks/chunk-I53JBTJW.js.map +0 -7
  643. package/dist/cli-bundle/chunks/chunk-I7NYDZDV.js.map +0 -1
  644. package/dist/cli-bundle/chunks/chunk-IUKD4W6Z.js.map +0 -7
  645. package/dist/cli-bundle/chunks/chunk-KWAXVAXX.js.map +0 -7
  646. package/dist/cli-bundle/chunks/chunk-L5EPZQIC.js.map +0 -7
  647. package/dist/cli-bundle/chunks/chunk-OASDW5UI.js.map +0 -1
  648. package/dist/cli-bundle/chunks/chunk-OLKBSY4N.js.map +0 -7
  649. package/dist/cli-bundle/chunks/chunk-P5BJOMBB.js.map +0 -1
  650. package/dist/cli-bundle/chunks/chunk-PNYAAB4S.js.map +0 -1
  651. package/dist/cli-bundle/chunks/chunk-QKW5D45B.js.map +0 -1
  652. package/dist/cli-bundle/chunks/chunk-QNJSITCX.js.map +0 -1
  653. package/dist/cli-bundle/chunks/chunk-R4VWYWRN.js.map +0 -7
  654. package/dist/cli-bundle/chunks/chunk-RXAP6JL5.js.map +0 -7
  655. package/dist/cli-bundle/chunks/chunk-S2ZLDYGS.js.map +0 -1
  656. package/dist/cli-bundle/chunks/chunk-SO55HRA5.js.map +0 -1
  657. package/dist/cli-bundle/chunks/chunk-TK5VZFHY.js.map +0 -7
  658. package/dist/cli-bundle/chunks/chunk-TNAP7EJX.js.map +0 -7
  659. package/dist/cli-bundle/chunks/chunk-UIG4TW2H.js.map +0 -1
  660. package/dist/cli-bundle/chunks/chunk-UUWGCWBU.js.map +0 -1
  661. package/dist/cli-bundle/chunks/chunk-VFUZV5EB.js.map +0 -7
  662. package/dist/cli-bundle/chunks/chunk-WUNFKP7M.js.map +0 -1
  663. package/dist/cli-bundle/chunks/chunk-XJDGS74Y.js.map +0 -1
  664. package/dist/cli-bundle/chunks/chunk-XWMF3POR.js.map +0 -1
  665. package/dist/cli-bundle/chunks/chunk-ZMW77VWV.js.map +0 -1
  666. package/dist/cli-bundle/chunks/close-4FMAPEMY.js +0 -13
  667. package/dist/cli-bundle/chunks/close-many-AOD4HSAZ.js.map +0 -1
  668. package/dist/cli-bundle/chunks/close-many-XKAQY5CQ.js.map +0 -7
  669. package/dist/cli-bundle/chunks/comments-B4RWWDJT.js.map +0 -7
  670. package/dist/cli-bundle/chunks/comments-RN5TG4ZN.js.map +0 -1
  671. package/dist/cli-bundle/chunks/config-3JXJ3XZ7.js.map +0 -1
  672. package/dist/cli-bundle/chunks/config-FZ4UDC4B.js.map +0 -7
  673. package/dist/cli-bundle/chunks/context-L36PIN35.js.map +0 -7
  674. package/dist/cli-bundle/chunks/context-QBPO3BFM.js.map +0 -1
  675. package/dist/cli-bundle/chunks/contracts-2G66IGIA.js.map +0 -1
  676. package/dist/cli-bundle/chunks/contracts-PJCHYSO5.js.map +0 -7
  677. package/dist/cli-bundle/chunks/create-VWLWS34Z.js +0 -27
  678. package/dist/cli-bundle/chunks/deps-6TSPOSGU.js.map +0 -1
  679. package/dist/cli-bundle/chunks/files-FYP3MDPX.js.map +0 -7
  680. package/dist/cli-bundle/chunks/files-GUXUM2MB.js.map +0 -1
  681. package/dist/cli-bundle/chunks/get-PCHS7RA6.js.map +0 -1
  682. package/dist/cli-bundle/chunks/get-QARTE6BL.js.map +0 -7
  683. package/dist/cli-bundle/chunks/health-7MTXAVR2.js.map +0 -7
  684. package/dist/cli-bundle/chunks/health-E4D7KGHD.js.map +0 -1
  685. package/dist/cli-bundle/chunks/history-L2FQFRTU.js +0 -20
  686. package/dist/cli-bundle/chunks/history-compact-3EJ3L2O7.js.map +0 -1
  687. package/dist/cli-bundle/chunks/history-compact-LW27IPFK.js.map +0 -7
  688. package/dist/cli-bundle/chunks/history-redact-QWQCX5DZ.js +0 -19
  689. package/dist/cli-bundle/chunks/history-repair-OSQOKJ3E.js.map +0 -7
  690. package/dist/cli-bundle/chunks/history-repair-SBK7P34V.js.map +0 -1
  691. package/dist/cli-bundle/chunks/init-4BKRHGWW.js +0 -17
  692. package/dist/cli-bundle/chunks/learnings-HQXSSKZ5.js.map +0 -1
  693. package/dist/cli-bundle/chunks/learnings-XK3P4ZDR.js.map +0 -7
  694. package/dist/cli-bundle/chunks/list-6CL3XFT6.js +0 -23
  695. package/dist/cli-bundle/chunks/list-BYNN4ZEO.js +0 -19
  696. package/dist/cli-bundle/chunks/notes-5T6P7C5V.js.map +0 -1
  697. package/dist/cli-bundle/chunks/notes-U5FZCSBT.js.map +0 -7
  698. package/dist/cli-bundle/chunks/plan-2YTQYWGM.js.map +0 -1
  699. package/dist/cli-bundle/chunks/plan-7IVSICR6.js.map +0 -7
  700. package/dist/cli-bundle/chunks/register-list-query-4UPMHONX.js.map +0 -7
  701. package/dist/cli-bundle/chunks/register-list-query-7VOW2C3W.js.map +0 -1
  702. package/dist/cli-bundle/chunks/register-mutation-FARSGYRD.js.map +0 -7
  703. package/dist/cli-bundle/chunks/register-mutation-LJDNVREU.js.map +0 -1
  704. package/dist/cli-bundle/chunks/register-operations-FFTYAL42.js.map +0 -1
  705. package/dist/cli-bundle/chunks/register-operations-HCJKDUA6.js.map +0 -7
  706. package/dist/cli-bundle/chunks/register-setup-6AVIUOCC.js.map +0 -1
  707. package/dist/cli-bundle/chunks/register-setup-KVNLO5OJ.js.map +0 -7
  708. package/dist/cli-bundle/chunks/restore-CHIOQAQL.js +0 -17
  709. package/dist/cli-bundle/chunks/schema-76HDZJCC.js.map +0 -1
  710. package/dist/cli-bundle/chunks/schema-AINZ2IMM.js.map +0 -7
  711. package/dist/cli-bundle/chunks/search-JMLFQEPJ.js.map +0 -7
  712. package/dist/cli-bundle/chunks/search-NL3TSCYB.js.map +0 -1
  713. package/dist/cli-bundle/chunks/stats-BKXCBIGT.js.map +0 -7
  714. package/dist/cli-bundle/chunks/stats-UBD56TGK.js.map +0 -1
  715. package/dist/cli-bundle/chunks/telemetry-N454RHG5.js.map +0 -1
  716. package/dist/cli-bundle/chunks/telemetry-ZJXK3H7X.js.map +0 -7
  717. package/dist/cli-bundle/chunks/test-O74JFUH5.js +0 -32
  718. package/dist/cli-bundle/chunks/test-all-7LV3I6S5.js.map +0 -7
  719. package/dist/cli-bundle/chunks/test-all-TDYCCBA4.js.map +0 -1
  720. package/dist/cli-bundle/chunks/test-runs-E64M6XS3.js.map +0 -1
  721. package/dist/cli-bundle/chunks/test-runs-LXZLULCI.js.map +0 -7
  722. package/dist/cli-bundle/chunks/update-36JM7YZT.js +0 -21
  723. package/dist/cli-bundle/chunks/update-I246PCLO.js +0 -25
  724. package/dist/cli-bundle/chunks/update-many-F4IKDWZB.js.map +0 -1
  725. package/dist/cli-bundle/chunks/update-many-NTWZ5YT3.js.map +0 -7
  726. package/dist/cli-bundle/chunks/upgrade-37F7JKES.js.map +0 -7
  727. package/dist/cli-bundle/chunks/upgrade-L32JA4TZ.js.map +0 -1
  728. package/dist/cli-bundle/chunks/validate-46KCRHL7.js.map +0 -1
  729. package/dist/cli-bundle/chunks/validate-CRFMPTYD.js.map +0 -7
  730. /package/dist/cli-bundle/chunks/{activity-XZIUPGZH.js.map → activity-5P2KQCTH.js.map} +0 -0
  731. /package/dist/cli-bundle/chunks/{activity-XADJOG6G.js.map → activity-MJGTX4LO.js.map} +0 -0
  732. /package/dist/cli-bundle/chunks/{chunk-ATEES5SX.js.map → chunk-2JEGCDYT.js.map} +0 -0
  733. /package/dist/cli-bundle/chunks/{chunk-XUC4C4PT.js.map → chunk-3WAULYOY.js.map} +0 -0
  734. /package/dist/cli-bundle/chunks/{chunk-QJMGRZO2.js.map → chunk-7AGIXLNK.js.map} +0 -0
  735. /package/dist/cli-bundle/chunks/{chunk-KBPQHXWG.js.map → chunk-AERT7KT3.js.map} +0 -0
  736. /package/dist/cli-bundle/chunks/{chunk-ESANVZF4.js.map → chunk-E6J2PEK6.js.map} +0 -0
  737. /package/dist/cli-bundle/chunks/{chunk-VSRZRLG3.js.map → chunk-F2GC6L3N.js.map} +0 -0
  738. /package/dist/cli-bundle/chunks/{chunk-XTKJSVWH.js.map → chunk-M23HXJL3.js.map} +0 -0
  739. /package/dist/cli-bundle/chunks/{chunk-S26FESD4.js.map → chunk-MJZUZ2QE.js.map} +0 -0
  740. /package/dist/cli-bundle/chunks/{chunk-C6SAP27O.js.map → chunk-O46LTCXQ.js.map} +0 -0
  741. /package/dist/cli-bundle/chunks/{chunk-WPDMBIX6.js.map → chunk-OLTYNVJR.js.map} +0 -0
  742. /package/dist/cli-bundle/chunks/{chunk-R2OUQVBK.js.map → chunk-T5VU7ROQ.js.map} +0 -0
  743. /package/dist/cli-bundle/chunks/{chunk-P5U5EOMA.js.map → chunk-UBMCSJXX.js.map} +0 -0
  744. /package/dist/cli-bundle/chunks/{chunk-ZYNJNPYD.js.map → chunk-UUKORJSN.js.map} +0 -0
  745. /package/dist/cli-bundle/chunks/{chunk-VPEAS7PS.js.map → chunk-WZCQVABQ.js.map} +0 -0
  746. /package/dist/cli-bundle/chunks/{chunk-Y3YKK7CY.js.map → chunk-YGRPBFMA.js.map} +0 -0
  747. /package/dist/cli-bundle/chunks/{chunk-XMBI6TNW.js.map → chunk-ZJRDVYZI.js.map} +0 -0
  748. /package/dist/cli-bundle/chunks/{claim-2RDYMCTP.js.map → claim-4APLUXJW.js.map} +0 -0
  749. /package/dist/cli-bundle/chunks/{claim-MJ7DZFC3.js.map → claim-NEO7AGWH.js.map} +0 -0
  750. /package/dist/cli-bundle/chunks/{close-XLEKIQSW.js.map → close-3QABBNGU.js.map} +0 -0
  751. /package/dist/cli-bundle/chunks/{close-4FMAPEMY.js.map → close-ILMZR3D7.js.map} +0 -0
  752. /package/dist/cli-bundle/chunks/{copy-FWIVTLBO.js.map → copy-Q64T5FD4.js.map} +0 -0
  753. /package/dist/cli-bundle/chunks/{copy-ALU5WMHA.js.map → copy-SG34LCMU.js.map} +0 -0
  754. /package/dist/cli-bundle/chunks/{create-VWLWS34Z.js.map → create-F5HZX2S4.js.map} +0 -0
  755. /package/dist/cli-bundle/chunks/{create-5433DP3G.js.map → create-IPAX2SNL.js.map} +0 -0
  756. /package/dist/cli-bundle/chunks/{delete-Y2SGJBGY.js.map → delete-TLXR7LJ2.js.map} +0 -0
  757. /package/dist/cli-bundle/chunks/{delete-IYTIYAJS.js.map → delete-VH3L7DZ6.js.map} +0 -0
  758. /package/dist/cli-bundle/chunks/{docs-MXLGZUIT.js.map → docs-GWDEB7JH.js.map} +0 -0
  759. /package/dist/cli-bundle/chunks/{docs-I3BAF5WH.js.map → docs-RCLNSKID.js.map} +0 -0
  760. /package/dist/cli-bundle/chunks/{extension-Q34OEWO5.js.map → extension-5RN65LHT.js.map} +0 -0
  761. /package/dist/cli-bundle/chunks/{extension-WH2FOIOZ.js.map → extension-7KO2NX2A.js.map} +0 -0
  762. /package/dist/cli-bundle/chunks/{gc-KGQG66SA.js.map → gc-2FGKYRJ4.js.map} +0 -0
  763. /package/dist/cli-bundle/chunks/{gc-FENB2ESG.js.map → gc-5B6ABL3Z.js.map} +0 -0
  764. /package/dist/cli-bundle/chunks/{history-7WUAEWHW.js.map → history-QO4JVJJP.js.map} +0 -0
  765. /package/dist/cli-bundle/chunks/{history-L2FQFRTU.js.map → history-SSXGGTVZ.js.map} +0 -0
  766. /package/dist/cli-bundle/chunks/{history-redact-QWQCX5DZ.js.map → history-redact-VBH44Y7F.js.map} +0 -0
  767. /package/dist/cli-bundle/chunks/{history-redact-G72A4EJ4.js.map → history-redact-Z4P5MM3G.js.map} +0 -0
  768. /package/dist/cli-bundle/chunks/{init-4BKRHGWW.js.map → init-7FBQO77A.js.map} +0 -0
  769. /package/dist/cli-bundle/chunks/{init-S5WEGUJY.js.map → init-K6MSMB37.js.map} +0 -0
  770. /package/dist/cli-bundle/chunks/{list-BYNN4ZEO.js.map → list-7UE44A2R.js.map} +0 -0
  771. /package/dist/cli-bundle/chunks/{list-6CL3XFT6.js.map → list-UHMA3N2K.js.map} +0 -0
  772. /package/dist/cli-bundle/chunks/{restore-M6AFHMV4.js.map → restore-NNVPBBVJ.js.map} +0 -0
  773. /package/dist/cli-bundle/chunks/{restore-CHIOQAQL.js.map → restore-XXXLQ2XC.js.map} +0 -0
  774. /package/dist/cli-bundle/chunks/{test-O74JFUH5.js.map → test-6CZNIIGA.js.map} +0 -0
  775. /package/dist/cli-bundle/chunks/{test-BQAKIXAT.js.map → test-7GVQ3VMN.js.map} +0 -0
  776. /package/dist/cli-bundle/chunks/{update-I246PCLO.js.map → update-MPGM6SBE.js.map} +0 -0
  777. /package/dist/cli-bundle/chunks/{update-36JM7YZT.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]="3d81dd28-0239-582e-84cb-25d9dea99250")}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,155 +813,6 @@ function asRecordLoose(value) {
811
813
  return value;
812
814
  }
813
815
 
814
- // dist/core/extensions/extension-capability-aliases.js
815
- function normalizeNames(values) {
816
- return [...new Set(values.map((value) => value.trim()).filter((value) => value.length > 0))].sort((a, b) => a.localeCompare(b));
817
- }
818
- function isKnownExtensionCapability(value) {
819
- return KNOWN_EXTENSION_CAPABILITIES.includes(value);
820
- }
821
- function collectUnknownExtensionCapabilities(capabilities) {
822
- return capabilities.filter((capability) => !isKnownExtensionCapability(capability));
823
- }
824
- function resolveLegacyExtensionCapabilityAlias(capability) {
825
- const normalized = capability.trim().toLowerCase();
826
- if (normalized.length === 0) {
827
- return null;
828
- }
829
- return EXTENSION_CAPABILITY_LEGACY_ALIASES[normalized] ?? null;
830
- }
831
- function normalizeManifestCapabilities(rawCapabilities) {
832
- const normalizedCapabilities = normalizeNames([...rawCapabilities].map((value) => value.toLowerCase()));
833
- const remappedCapabilities = [];
834
- const legacyAliases = [];
835
- for (const capability of normalizedCapabilities) {
836
- const legacyAliasTarget = resolveLegacyExtensionCapabilityAlias(capability);
837
- if (legacyAliasTarget) {
838
- remappedCapabilities.push(legacyAliasTarget);
839
- legacyAliases.push({
840
- alias: capability,
841
- target: legacyAliasTarget
842
- });
843
- continue;
844
- }
845
- remappedCapabilities.push(capability);
846
- }
847
- const dedupedLegacyAliases = [...new Map(legacyAliases.map((entry) => [`${entry.alias}>${entry.target}`, entry])).values()].sort((left, right) => left.alias.localeCompare(right.alias));
848
- return {
849
- capabilities: normalizeNames(remappedCapabilities),
850
- legacy_aliases: dedupedLegacyAliases
851
- };
852
- }
853
- function levenshteinDistance(left, right) {
854
- if (left === right) {
855
- return 0;
856
- }
857
- if (left.length === 0) {
858
- return right.length;
859
- }
860
- if (right.length === 0) {
861
- return left.length;
862
- }
863
- const previous = new Array(right.length + 1);
864
- const current = new Array(right.length + 1);
865
- for (let j = 0; j <= right.length; j += 1) {
866
- previous[j] = j;
867
- }
868
- for (let i = 1; i <= left.length; i += 1) {
869
- current[0] = i;
870
- for (let j = 1; j <= right.length; j += 1) {
871
- const substitutionCost = left[i - 1] === right[j - 1] ? 0 : 1;
872
- current[j] = Math.min(previous[j] + 1, current[j - 1] + 1, previous[j - 1] + substitutionCost);
873
- }
874
- for (let j = 0; j <= right.length; j += 1) {
875
- previous[j] = current[j];
876
- }
877
- }
878
- return previous[right.length] ?? left.length;
879
- }
880
- function suggestKnownExtensionCapability(capability) {
881
- const normalized = capability.trim().toLowerCase();
882
- if (normalized.length === 0) {
883
- return null;
884
- }
885
- const legacyAlias = resolveLegacyExtensionCapabilityAlias(normalized);
886
- if (legacyAlias) {
887
- return legacyAlias;
888
- }
889
- let bestMatch = null;
890
- let bestDistance = Number.POSITIVE_INFINITY;
891
- for (const candidate of KNOWN_EXTENSION_CAPABILITIES) {
892
- const distance = levenshteinDistance(normalized, candidate);
893
- if (distance < bestDistance) {
894
- bestDistance = distance;
895
- bestMatch = candidate;
896
- }
897
- }
898
- const maxDistance = Math.max(1, Math.floor(normalized.length * 0.34));
899
- return bestMatch !== null && bestDistance <= maxDistance ? bestMatch : null;
900
- }
901
- function formatUnknownExtensionCapabilityWarning(layer, name, capability) {
902
- const allowed = KNOWN_EXTENSION_CAPABILITIES.join(",");
903
- const suggested = suggestKnownExtensionCapability(capability) ?? "none";
904
- return `extension_capability_unknown:${layer}:${name}:${capability}:allowed=${allowed}:suggested=${suggested}`;
905
- }
906
- function formatLegacyExtensionCapabilityAliasWarning(layer, name, aliases) {
907
- const aliasesToken = aliases.map((entry) => `${entry.alias}>${entry.target}`).join(",");
908
- return `extension_capability_legacy_alias:${layer}:${name}:aliases=${aliasesToken}`;
909
- }
910
- function parseUnknownExtensionCapabilityWarning(warning) {
911
- const match = /^extension_capability_unknown:(global|project):([^:]+):([^:]+):allowed=([^:]+):suggested=([^:]+)$/.exec(warning.trim());
912
- if (!match) {
913
- return null;
914
- }
915
- const [, layerRaw, name, capability, allowedRaw, suggestedRaw] = match;
916
- const layer = layerRaw;
917
- const allowed_capabilities = allowedRaw.split(",").map((value) => value.trim()).filter((value) => value.length > 0);
918
- const legacyAlias = resolveLegacyExtensionCapabilityAlias(capability);
919
- const suggestedFromWarning = suggestedRaw === "none" ? void 0 : suggestedRaw;
920
- const suggested_capability = suggestedFromWarning ?? legacyAlias ?? void 0;
921
- const suggestion_source = suggested_capability ? legacyAlias === suggested_capability ? "legacy_alias" : "nearest_match" : void 0;
922
- return {
923
- layer,
924
- name,
925
- capability,
926
- allowed_capabilities,
927
- capability_contract_version: EXTENSION_CAPABILITY_CONTRACT_VERSION,
928
- suggested_capability,
929
- suggestion_source,
930
- legacy_alias_target: legacyAlias ?? void 0
931
- };
932
- }
933
- function parseLegacyExtensionCapabilityAliasWarning(warning) {
934
- const match = /^extension_capability_legacy_alias:(global|project):([^:]+):aliases=(.+)$/.exec(warning.trim());
935
- if (!match) {
936
- return [];
937
- }
938
- const [, layerRaw, name, aliasesRaw] = match;
939
- const layer = layerRaw;
940
- const allowedCapabilities = [...KNOWN_EXTENSION_CAPABILITIES];
941
- const parsed = [];
942
- for (const token of aliasesRaw.split(",")) {
943
- const [rawAlias, rawTarget] = token.split(">");
944
- const alias = rawAlias?.trim();
945
- const target = rawTarget?.trim().toLowerCase();
946
- if (!alias || !target || !isKnownExtensionCapability(target)) {
947
- continue;
948
- }
949
- parsed.push({
950
- layer,
951
- name,
952
- capability: alias,
953
- allowed_capabilities: allowedCapabilities,
954
- capability_contract_version: EXTENSION_CAPABILITY_CONTRACT_VERSION,
955
- suggested_capability: target,
956
- suggestion_source: "legacy_alias",
957
- legacy_alias_target: target
958
- });
959
- }
960
- return parsed;
961
- }
962
-
963
816
  // dist/core/extensions/extension-registries.js
964
817
  function createEmptyExtensionHookRegistry() {
965
818
  return {
@@ -1548,6 +1401,128 @@ function suggestKnownItemFieldType(value) {
1548
1401
  return null;
1549
1402
  }
1550
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
+
1551
1526
  // dist/core/extensions/extension-policy.js
1552
1527
  function normalizePolicyName(value) {
1553
1528
  if (typeof value !== "string") {
@@ -1913,19 +1888,17 @@ function resolvePolicySandboxReason(policy, extension) {
1913
1888
  }
1914
1889
  return null;
1915
1890
  }
1916
- if (profile === "strict") {
1917
- if (hasPermission("process_spawn")) {
1918
- return "sandbox_strict_disallows_process_spawn";
1919
- }
1920
- if (hasPermission("network")) {
1921
- return "sandbox_strict_disallows_network";
1922
- }
1923
- if (hasPermission("fs_write")) {
1924
- return "sandbox_strict_disallows_fs_write";
1925
- }
1926
- if (hasPermission("env_write")) {
1927
- return "sandbox_strict_disallows_env_write";
1928
- }
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";
1929
1902
  }
1930
1903
  return null;
1931
1904
  }
@@ -2284,7 +2257,7 @@ function summarizeCandidate(candidate) {
2284
2257
  permissions: candidate.manifest.permissions,
2285
2258
  capabilities: [...candidate.manifest.capabilities],
2286
2259
  activation: candidate.manifest.activation ? {
2287
- commands: [...candidate.manifest.activation.commands ?? []]
2260
+ commands: [...candidate.manifest.activation.commands]
2288
2261
  } : void 0
2289
2262
  };
2290
2263
  if (candidate.source_package) {
@@ -2535,7 +2508,7 @@ function formatUnknownError(error) {
2535
2508
  }
2536
2509
  function parseComparableVersion(value) {
2537
2510
  const normalized = value.trim().replace(/^>=\s*/, "").replace(/^v/i, "");
2538
- const release = normalized.split(/[+-]/, 1)[0] ?? "";
2511
+ const release = normalized.split(/[+-]/, 1)[0];
2539
2512
  if (!/^\d+(?:[.-]\d+)*$/.test(release)) {
2540
2513
  return null;
2541
2514
  }
@@ -2952,25 +2925,16 @@ function normalizeCommandDefinitionArguments(value) {
2952
2925
  definition.variadic = true;
2953
2926
  }
2954
2927
  if (typeof record.description === "string") {
2955
- const trimmedDescription = record.description.trim();
2956
- if (trimmedDescription.length > 0) {
2957
- definition.description = trimmedDescription;
2958
- }
2928
+ definition.description = record.description.trim();
2959
2929
  }
2960
2930
  normalized.push(definition);
2961
2931
  }
2962
- let variadicCount = 0;
2963
- for (const [index, argument] of normalized.entries()) {
2964
- if (!argument.variadic) {
2965
- continue;
2966
- }
2967
- variadicCount += 1;
2968
- if (variadicCount > 1) {
2969
- throw new TypeError("registerCommand definition.arguments supports at most one variadic argument");
2970
- }
2971
- if (index !== normalized.length - 1) {
2972
- throw new TypeError("registerCommand definition.arguments variadic argument must be the final argument");
2973
- }
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");
2974
2938
  }
2975
2939
  return normalized;
2976
2940
  }
@@ -3124,7 +3088,7 @@ function assertExtensionCapability(extension, capability, method) {
3124
3088
  capability,
3125
3089
  missing_capability: capability,
3126
3090
  expected_schema: `"capabilities": [..., "${capability}"]`,
3127
- received: extension.capabilities ?? [],
3091
+ received: extension.capabilities,
3128
3092
  hint: `Add "${capability}" to ${extension.name} manifest capabilities, or remove the ${method} registration call.`
3129
3093
  });
3130
3094
  }
@@ -3255,7 +3219,7 @@ function createExtensionApi(extension, hooks, commands, parsers, preflight, serv
3255
3219
  }
3256
3220
  registrations.commands.push(registration);
3257
3221
  } catch (error) {
3258
- const reason = error instanceof Error ? error.message : "registerCommand definition validation failed";
3222
+ const reason = formatUnknownError(error);
3259
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.");
3260
3224
  throw createRegistrationValidationError(`registerCommand definition metadata invalid (command="${normalizedCommand}", registration_index=${trace.registration_index}): ${reason}`, trace);
3261
3225
  }
@@ -3630,7 +3594,7 @@ function collectCommandCollisionWarnings(commands) {
3630
3594
  grouped.set(entry.command, bucket);
3631
3595
  }
3632
3596
  for (const command of [...grouped.keys()].sort((left, right) => left.localeCompare(right))) {
3633
- const bucket = grouped.get(command) ?? [];
3597
+ const bucket = grouped.get(command);
3634
3598
  if (bucket.length <= 1) {
3635
3599
  continue;
3636
3600
  }
@@ -3643,7 +3607,8 @@ function collectCommandCollisionWarnings(commands) {
3643
3607
  collectByCommand(commands.handlers, "extension_command_handler_collision");
3644
3608
  collectByCommand(commands.overrides, "extension_command_override_collision");
3645
3609
  const handlerCommands = new Set(commands.handlers.map((entry) => entry.command));
3646
- 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));
3647
3612
  for (const command of overlapCommands) {
3648
3613
  const handlers = commands.handlers.filter((entry) => entry.command === command);
3649
3614
  const overrides = commands.overrides.filter((entry) => entry.command === command);
@@ -3664,7 +3629,7 @@ function collectRendererCollisionWarnings(renderers) {
3664
3629
  }
3665
3630
  const warnings = [];
3666
3631
  for (const format of [...grouped.keys()].sort((left, right) => left.localeCompare(right))) {
3667
- const bucket = grouped.get(format) ?? [];
3632
+ const bucket = grouped.get(format);
3668
3633
  if (bucket.length <= 1) {
3669
3634
  continue;
3670
3635
  }
@@ -3684,7 +3649,7 @@ function collectParserCollisionWarnings(parsers) {
3684
3649
  grouped.set(entry.command, bucket);
3685
3650
  }
3686
3651
  for (const command of [...grouped.keys()].sort((left, right) => left.localeCompare(right))) {
3687
- const bucket = grouped.get(command) ?? [];
3652
+ const bucket = grouped.get(command);
3688
3653
  if (bucket.length <= 1) {
3689
3654
  continue;
3690
3655
  }
@@ -3714,7 +3679,7 @@ function collectServiceCollisionWarnings(services) {
3714
3679
  grouped.set(entry.service, bucket);
3715
3680
  }
3716
3681
  for (const service of [...grouped.keys()].sort((left, right) => left.localeCompare(right))) {
3717
- const bucket = grouped.get(service) ?? [];
3682
+ const bucket = grouped.get(service);
3718
3683
  if (bucket.length <= 1) {
3719
3684
  continue;
3720
3685
  }
@@ -4125,7 +4090,7 @@ var PLAN_STEP_LINK_KIND_VALUES = [
4125
4090
  "verifies",
4126
4091
  "supersedes"
4127
4092
  ];
4128
- var CONTEXT_DEPTH_VALUES = ["brief", "standard", "deep"];
4093
+ var CONTEXT_DEPTH_VALUES = ["brief", "standard", "deep", "full"];
4129
4094
  var CONTEXT_SECTION_VALUES = [
4130
4095
  "hierarchy",
4131
4096
  "activity",
@@ -4472,6 +4437,9 @@ function filePathForSchemaSection(pmRoot, configuredPath, fallbackPath) {
4472
4437
  }
4473
4438
  return path6.join(pmRoot, normalized);
4474
4439
  }
4440
+ function resolveItemTypesFilePath(pmRoot, schema) {
4441
+ return filePathForSchemaSection(pmRoot, schema.files.types, DEFAULT_RUNTIME_SCHEMA_FILE_PATHS.types);
4442
+ }
4475
4443
  async function ensureRuntimeSchemaFileScaffold(pmRoot, schema) {
4476
4444
  const normalizedSchema = normalizeRuntimeSchemaSettings(schema);
4477
4445
  const specs = [
@@ -4574,11 +4542,8 @@ function preferredStatusForRole(definitions, role, fallbackValues) {
4574
4542
  if (withRole.length > 0) {
4575
4543
  return withRole[0].id;
4576
4544
  }
4577
- for (const value of fallbackValues) {
4578
- const normalized = normalizeStatusId(value);
4579
- if (!normalized) {
4580
- continue;
4581
- }
4545
+ const normalizedFallbacks = fallbackValues.map((value) => normalizeStatusId(value)).filter((value) => typeof value === "string");
4546
+ for (const normalized of normalizedFallbacks) {
4582
4547
  if (definitions.some((definition) => definition.id === normalized)) {
4583
4548
  return normalized;
4584
4549
  }
@@ -4629,7 +4594,7 @@ function resolveRuntimeStatusRegistry(schema) {
4629
4594
  }
4630
4595
  }
4631
4596
  const workflow = normalizedSchema.workflow;
4632
- 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]]);
4633
4598
  const closeStatus = normalizeStatusId(workflow.close_status) ?? preferredStatusForRole(definitions, "default_close", ["closed", "done", "complete"]);
4634
4599
  const canceledStatus = normalizeStatusId(workflow.canceled_status) ?? preferredStatusForRole(definitions, "default_cancel", ["canceled", "cancelled"]);
4635
4600
  return {
@@ -4642,9 +4607,9 @@ function resolveRuntimeStatusRegistry(schema) {
4642
4607
  active_statuses: activeStatuses,
4643
4608
  blocked_statuses: blockedStatuses,
4644
4609
  draft_statuses: draftStatuses,
4645
- open_status: openStatus ?? definitions[0]?.id ?? "open",
4646
- close_status: closeStatus ?? definitions[0]?.id ?? "closed",
4647
- canceled_status: canceledStatus ?? definitions[0]?.id ?? "canceled"
4610
+ open_status: openStatus,
4611
+ close_status: closeStatus,
4612
+ canceled_status: canceledStatus
4648
4613
  };
4649
4614
  }
4650
4615
  function normalizeStatusInputWithRegistry(value, registry) {
@@ -4657,11 +4622,8 @@ function normalizeStatusInputWithRegistry(value, registry) {
4657
4622
  function resolveRuntimeFieldRegistry(schema) {
4658
4623
  const normalizedSchema = normalizeRuntimeSchemaSettings(schema);
4659
4624
  const dedupedByKey = /* @__PURE__ */ new Map();
4660
- for (const definition of normalizedSchema.fields) {
4661
- const normalized = normalizeRuntimeFieldDefinition(definition);
4662
- if (!normalized) {
4663
- continue;
4664
- }
4625
+ const normalizedFields = normalizedSchema.fields.map((definition) => normalizeRuntimeFieldDefinition(definition)).filter((definition) => definition !== null);
4626
+ for (const normalized of normalizedFields) {
4665
4627
  dedupedByKey.set(normalized.key, normalized);
4666
4628
  }
4667
4629
  const definitions = [...dedupedByKey.values()].sort((left, right) => left.key.localeCompare(right.key));
@@ -4907,6 +4869,22 @@ function vArray(item) {
4907
4869
  function vOptional(inner) {
4908
4870
  return (input) => input === void 0 ? { ok: true, value: void 0 } : inner(input);
4909
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
+ }
4910
4888
  function vObject(shape) {
4911
4889
  return (input) => {
4912
4890
  if (typeof input !== "object" || input === null || Array.isArray(input)) {
@@ -5081,7 +5059,8 @@ var settingsCheck = vObject({
5081
5059
  lifecycle_stale_blocker_reason_patterns: vOptional(vArray(vString)),
5082
5060
  lifecycle_closure_like_blocked_reason_patterns: vOptional(vArray(vString)),
5083
5061
  lifecycle_closure_like_resolution_patterns: vOptional(vArray(vString)),
5084
- 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 })))
5085
5064
  })),
5086
5065
  governance: governanceSettings,
5087
5066
  workflow: vOptional(vObject({ definition_of_done: vArray(vString) })),
@@ -5135,6 +5114,7 @@ var settingsCheck = vObject({
5135
5114
  embedding_timeout_ms: vOptional(vNumber({ int: true })),
5136
5115
  scanner_max_batch_retries: vNumber({ int: true }),
5137
5116
  provider: vOptional(vString),
5117
+ corpus_fields: vOptional(vArray(vString)),
5138
5118
  mutation_refresh_policy: vOptional(vLiteral("cache_only", "semantic_configured", "semantic_auto")),
5139
5119
  query_expansion: vOptional(vObject({
5140
5120
  enabled: vOptional(vBoolean),
@@ -5246,6 +5226,73 @@ function normalizeItemTypeDefinition(definition, options = {}) {
5246
5226
  };
5247
5227
  }
5248
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
+
5249
5296
  // dist/core/store/settings-read-cache.js
5250
5297
  import { stat } from "node:fs/promises";
5251
5298
  var settingsReadCacheByRoot = /* @__PURE__ */ new Map();
@@ -5754,6 +5801,15 @@ function normalizeValidationMetadataRequiredFields(values) {
5754
5801
  function normalizeValidationPatternList(values) {
5755
5802
  return [...new Set((values ?? []).map((value) => value.trim().toLowerCase()).filter((value) => value.length > 0))].sort((left, right) => left.localeCompare(right));
5756
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
+ }
5757
5813
  function normalizeItemTypeDefinitions(definitions) {
5758
5814
  const normalized = (definitions ?? []).map((definition) => normalizeItemTypeDefinition(definition)).filter((definition) => definition !== null);
5759
5815
  const dedupedByName = /* @__PURE__ */ new Map();
@@ -5783,7 +5839,8 @@ function mergeSettings(settings) {
5783
5839
  lifecycle_stale_blocker_reason_patterns: normalizeValidationPatternList(settings.validation?.lifecycle_stale_blocker_reason_patterns ?? defaults.validation.lifecycle_stale_blocker_reason_patterns),
5784
5840
  lifecycle_closure_like_blocked_reason_patterns: normalizeValidationPatternList(settings.validation?.lifecycle_closure_like_blocked_reason_patterns ?? defaults.validation.lifecycle_closure_like_blocked_reason_patterns),
5785
5841
  lifecycle_closure_like_resolution_patterns: normalizeValidationPatternList(settings.validation?.lifecycle_closure_like_resolution_patterns ?? defaults.validation.lifecycle_closure_like_resolution_patterns),
5786
- 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)
5787
5844
  },
5788
5845
  governance,
5789
5846
  workflow: {
@@ -5850,24 +5907,43 @@ function mergeSettings(settings) {
5850
5907
  };
5851
5908
  }
5852
5909
  function serializeSettings(settings, options = {}) {
5853
- const governance = resolveGovernanceKnobs(settings);
5854
- const normalizedSchema = normalizeRuntimeSchemaSettings(settings.schema);
5855
- const persistedFileBackedSections = resolvePersistedFileBackedSchemaSections(settings, options.persist_source);
5856
- const normalizedSettings = {
5910
+ const baseSettings = {
5857
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,
5858
5933
  item_format: "toon",
5859
5934
  validation: {
5860
- ...settings.validation,
5935
+ ...baseSettings.validation,
5861
5936
  parent_reference: governance.parent_reference,
5862
5937
  metadata_profile: governance.metadata_profile,
5863
- metadata_required_fields: normalizeValidationMetadataRequiredFields(settings.validation?.metadata_required_fields),
5864
- lifecycle_stale_blocker_reason_patterns: normalizeValidationPatternList(settings.validation?.lifecycle_stale_blocker_reason_patterns ?? SETTINGS_DEFAULTS.validation.lifecycle_stale_blocker_reason_patterns),
5865
- lifecycle_closure_like_blocked_reason_patterns: normalizeValidationPatternList(settings.validation?.lifecycle_closure_like_blocked_reason_patterns ?? SETTINGS_DEFAULTS.validation.lifecycle_closure_like_blocked_reason_patterns),
5866
- lifecycle_closure_like_resolution_patterns: normalizeValidationPatternList(settings.validation?.lifecycle_closure_like_resolution_patterns ?? SETTINGS_DEFAULTS.validation.lifecycle_closure_like_resolution_patterns),
5867
- 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)
5868
5944
  },
5869
5945
  governance,
5870
- agent_guidance: normalizeAgentGuidanceSettings(settings.agent_guidance),
5946
+ agent_guidance: normalizeAgentGuidanceSettings(baseSettings.agent_guidance),
5871
5947
  item_types: {
5872
5948
  definitions: persistedFileBackedSections.item_type_definitions
5873
5949
  },
@@ -5879,42 +5955,42 @@ function serializeSettings(settings, options = {}) {
5879
5955
  },
5880
5956
  search: {
5881
5957
  ...SETTINGS_DEFAULTS.search,
5882
- ...settings.search,
5883
- mutation_refresh_policy: normalizeSearchMutationRefreshPolicy(settings.search?.mutation_refresh_policy),
5958
+ ...baseSettings.search,
5959
+ mutation_refresh_policy: normalizeSearchMutationRefreshPolicy(baseSettings.search?.mutation_refresh_policy),
5884
5960
  query_expansion: {
5885
5961
  ...SETTINGS_DEFAULTS.search.query_expansion,
5886
- ...settings.search?.query_expansion ?? {},
5887
- enabled: normalizeSearchQueryExpansionEnabled(settings.search?.query_expansion?.enabled),
5888
- 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)
5889
5965
  },
5890
5966
  rerank: {
5891
5967
  ...SETTINGS_DEFAULTS.search.rerank,
5892
- ...settings.search?.rerank ?? {},
5893
- enabled: normalizeSearchRerankEnabled(settings.search?.rerank?.enabled),
5894
- model: normalizeSearchRerankModel(settings.search?.rerank?.model),
5895
- 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)
5896
5972
  }
5897
5973
  },
5898
5974
  context: {
5899
- default_depth: settings.context?.default_depth ?? SETTINGS_DEFAULTS.context.default_depth,
5900
- activity_limit: settings.context?.activity_limit ?? SETTINGS_DEFAULTS.context.activity_limit,
5901
- 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,
5902
5978
  sections: {
5903
5979
  ...SETTINGS_DEFAULTS.context.sections,
5904
- ...settings.context?.sections ?? {}
5980
+ ...baseSettings.context?.sections ?? {}
5905
5981
  }
5906
5982
  },
5907
5983
  extensions: {
5908
- enabled: normalizeStringList2(settings.extensions?.enabled),
5909
- disabled: normalizeStringList2(settings.extensions?.disabled),
5910
- policy: normalizeExtensionPolicySettings(settings.extensions?.policy)
5984
+ enabled: normalizeStringList2(baseSettings.extensions?.enabled),
5985
+ disabled: normalizeStringList2(baseSettings.extensions?.disabled),
5986
+ policy: normalizeExtensionPolicySettings(baseSettings.extensions?.policy)
5911
5987
  },
5912
5988
  vector_store: {
5913
- ...settings.vector_store ?? {},
5914
- adapter: settings.vector_store?.adapter ?? SETTINGS_DEFAULTS.vector_store.adapter,
5915
- collection_name: normalizeVectorStoreCollectionName(settings.vector_store?.collection_name),
5916
- qdrant: { ...settings.vector_store?.qdrant ?? {} },
5917
- 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 ?? {} }
5918
5994
  }
5919
5995
  };
5920
5996
  const ordered = orderObject({
@@ -5953,7 +6029,8 @@ function serializeSettings(settings, options = {}) {
5953
6029
  "lifecycle_stale_blocker_reason_patterns",
5954
6030
  "lifecycle_closure_like_blocked_reason_patterns",
5955
6031
  "lifecycle_closure_like_resolution_patterns",
5956
- "lifecycle_closure_like_actual_result_patterns"
6032
+ "lifecycle_closure_like_actual_result_patterns",
6033
+ "estimate_defaults_by_type"
5957
6034
  ]);
5958
6035
  ordered.governance = orderObject(ordered.governance, [
5959
6036
  "preset",
@@ -5994,17 +6071,17 @@ function serializeSettings(settings, options = {}) {
5994
6071
  "type_workflows",
5995
6072
  "unknown_field_policy"
5996
6073
  ]);
5997
- ordered.schema.files = orderObject(ordered.schema.files ?? {}, ["types", "statuses", "fields", "workflows"]);
5998
- 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"]);
5999
6076
  ordered.context = orderObject(ordered.context, [
6000
6077
  "default_depth",
6001
6078
  "activity_limit",
6002
6079
  "stale_threshold_days",
6003
6080
  "sections"
6004
6081
  ]);
6005
- 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"]);
6006
6083
  ordered.extensions = orderObject(ordered.extensions, ["enabled", "disabled", "policy"]);
6007
- ordered.extensions.policy = orderObject(ordered.extensions.policy ?? {}, [
6084
+ ordered.extensions.policy = orderObject(recordOrEmpty(ordered.extensions.policy), [
6008
6085
  "mode",
6009
6086
  "trust_mode",
6010
6087
  "pm_max_version_exceeded_mode",
@@ -6025,7 +6102,7 @@ function serializeSettings(settings, options = {}) {
6025
6102
  "blocked_services",
6026
6103
  "extension_overrides"
6027
6104
  ]);
6028
- 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), [
6029
6106
  "name",
6030
6107
  "disabled",
6031
6108
  "require_trusted",
@@ -6056,19 +6133,19 @@ function serializeSettings(settings, options = {}) {
6056
6133
  "query_expansion",
6057
6134
  "rerank"
6058
6135
  ]);
6059
- ordered.search.query_expansion = orderObject(ordered.search.query_expansion ?? {}, ["enabled", "provider"]);
6060
- 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"]);
6061
6138
  ordered.providers = orderObject(ordered.providers, ["openai", "ollama"]);
6062
- ordered.providers.openai = orderObject(ordered.providers.openai ?? {}, ["base_url", "api_key", "model"]);
6063
- 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"]);
6064
6141
  ordered.vector_store = orderObject(ordered.vector_store, [
6065
6142
  "adapter",
6066
6143
  "collection_name",
6067
6144
  "qdrant",
6068
6145
  "lancedb"
6069
6146
  ]);
6070
- ordered.vector_store.qdrant = orderObject(ordered.vector_store.qdrant ?? {}, ["url", "api_key"]);
6071
- 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"]);
6072
6149
  return `${JSON.stringify(ordered, null, 2)}
6073
6150
  `;
6074
6151
  }
@@ -6125,7 +6202,7 @@ async function readSettingsWithMetadata(pmRoot) {
6125
6202
  item_types: {
6126
6203
  definitions: normalizeItemTypeDefinitions([
6127
6204
  ...mergedSettings.item_types.definitions,
6128
- ...loadedSchemaSections.type_definitions_from_file ?? []
6205
+ ...arrayOrEmpty(loadedSchemaSections.type_definitions_from_file)
6129
6206
  ])
6130
6207
  },
6131
6208
  schema: loadedSchemaSections.schema
@@ -6199,6 +6276,7 @@ export {
6199
6276
  KNOWN_EXTENSION_POLICY_SURFACES,
6200
6277
  KNOWN_EXTENSION_SERVICE_NAMES,
6201
6278
  PM_DIRNAME,
6279
+ CREATE_DIRECT_CLOSE_REASON_DEFAULT,
6202
6280
  PM_CORE_REQUIRED_SUBDIRS,
6203
6281
  PM_OPTIONAL_TYPE_SUBDIRS,
6204
6282
  PM_REQUIRED_SUBDIRS,
@@ -6219,6 +6297,7 @@ export {
6219
6297
  getItemFormatFromPath,
6220
6298
  getHistoryPath,
6221
6299
  getLockPath,
6300
+ getRuntimePath,
6222
6301
  getTestRunsPath,
6223
6302
  getTestRunsRecordsPath,
6224
6303
  getTestRunRecordPath,
@@ -6301,6 +6380,7 @@ export {
6301
6380
  DEFAULT_RUNTIME_STATUS_DEFINITIONS,
6302
6381
  normalizeRuntimeSchemaSettings,
6303
6382
  filePathForSchemaSection,
6383
+ resolveItemTypesFilePath,
6304
6384
  ensureRuntimeSchemaFileScaffold,
6305
6385
  resolveRuntimeStatusRegistry,
6306
6386
  normalizeStatusInputWithRegistry,
@@ -6312,11 +6392,12 @@ export {
6312
6392
  stableValueEquals,
6313
6393
  sha256Hex,
6314
6394
  orderObject,
6395
+ resolveEstimateDefaultMinutes,
6315
6396
  resolveGovernanceKnobs,
6316
6397
  readSettingsWithMetadata,
6317
6398
  readSettings,
6318
6399
  writeSettings
6319
6400
  };
6320
- //# sourceMappingURL=chunk-A6LXQFO7.js.map
6401
+ //# sourceMappingURL=chunk-KTVETP66.js.map
6321
6402
 
6322
- //# debugId=3d81dd28-0239-582e-84cb-25d9dea99250
6403
+ //# debugId=62f87b11-f1bc-5f90-bc91-0e81dfdebb55