@unbrained/pm-cli 2026.6.13 → 2026.6.17

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 (808) hide show
  1. package/CHANGELOG.md +102 -0
  2. package/README.md +1 -1
  3. package/dist/cli/bootstrap-args.d.ts +29 -0
  4. package/dist/cli/bootstrap-args.js +11 -4
  5. package/dist/cli/bootstrap-args.js.map +1 -1
  6. package/dist/cli/commander-usage.d.ts +12 -0
  7. package/dist/cli/commander-usage.js +18 -7
  8. package/dist/cli/commander-usage.js.map +1 -1
  9. package/dist/cli/commands/activity.d.ts +19 -0
  10. package/dist/cli/commands/activity.js +12 -2
  11. package/dist/cli/commands/activity.js.map +1 -1
  12. package/dist/cli/commands/aggregate.d.ts +58 -0
  13. package/dist/cli/commands/aggregate.js +48 -15
  14. package/dist/cli/commands/aggregate.js.map +1 -1
  15. package/dist/cli/commands/annotation-command.d.ts +6 -1
  16. package/dist/cli/commands/annotation-command.js +72 -2
  17. package/dist/cli/commands/annotation-command.js.map +1 -1
  18. package/dist/cli/commands/append.js +4 -3
  19. package/dist/cli/commands/append.js.map +1 -1
  20. package/dist/cli/commands/close-many.d.ts +20 -0
  21. package/dist/cli/commands/close-many.js +14 -23
  22. package/dist/cli/commands/close-many.js.map +1 -1
  23. package/dist/cli/commands/close.js +37 -4
  24. package/dist/cli/commands/close.js.map +1 -1
  25. package/dist/cli/commands/comments-audit.js +3 -2
  26. package/dist/cli/commands/comments-audit.js.map +1 -1
  27. package/dist/cli/commands/comments.d.ts +2 -0
  28. package/dist/cli/commands/comments.js +49 -23
  29. package/dist/cli/commands/comments.js.map +1 -1
  30. package/dist/cli/commands/completion.js +362 -15
  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 +51 -0
  42. package/dist/cli/commands/create.js +137 -18
  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 +4 -1
  88. package/dist/cli/commands/index.js +6 -3
  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 +38 -2
  94. package/dist/cli/commands/init.js +50 -64
  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/lifecycle-transitions.d.ts +23 -0
  99. package/dist/cli/commands/lifecycle-transitions.js +41 -0
  100. package/dist/cli/commands/lifecycle-transitions.js.map +1 -0
  101. package/dist/cli/commands/linked-artifacts.d.ts +5 -0
  102. package/dist/cli/commands/linked-artifacts.js +18 -4
  103. package/dist/cli/commands/linked-artifacts.js.map +1 -1
  104. package/dist/cli/commands/linked-test-parsers.d.ts +5 -0
  105. package/dist/cli/commands/linked-test-parsers.js +5 -2
  106. package/dist/cli/commands/linked-test-parsers.js.map +1 -1
  107. package/dist/cli/commands/list-filter-shared.d.ts +8 -0
  108. package/dist/cli/commands/list-filter-shared.js +70 -0
  109. package/dist/cli/commands/list-filter-shared.js.map +1 -0
  110. package/dist/cli/commands/list.d.ts +116 -0
  111. package/dist/cli/commands/list.js +194 -6
  112. package/dist/cli/commands/list.js.map +1 -1
  113. package/dist/cli/commands/normalize.js +16 -2
  114. package/dist/cli/commands/normalize.js.map +1 -1
  115. package/dist/cli/commands/notes.js +4 -3
  116. package/dist/cli/commands/notes.js.map +1 -1
  117. package/dist/cli/commands/plan.js +3 -2
  118. package/dist/cli/commands/plan.js.map +1 -1
  119. package/dist/cli/commands/recurrence-parsers.d.ts +9 -0
  120. package/dist/cli/commands/recurrence-parsers.js +19 -2
  121. package/dist/cli/commands/recurrence-parsers.js.map +1 -1
  122. package/dist/cli/commands/reindex.d.ts +83 -0
  123. package/dist/cli/commands/reindex.js +45 -10
  124. package/dist/cli/commands/reindex.js.map +1 -1
  125. package/dist/cli/commands/repeatable-metadata-parsers.js +28 -4
  126. package/dist/cli/commands/repeatable-metadata-parsers.js.map +1 -1
  127. package/dist/cli/commands/restore.d.ts +40 -1
  128. package/dist/cli/commands/restore.js +27 -2
  129. package/dist/cli/commands/restore.js.map +1 -1
  130. package/dist/cli/commands/scheduling-shortcuts.d.ts +43 -0
  131. package/dist/cli/commands/scheduling-shortcuts.js +87 -0
  132. package/dist/cli/commands/scheduling-shortcuts.js.map +1 -0
  133. package/dist/cli/commands/schema.d.ts +152 -2
  134. package/dist/cli/commands/schema.js +510 -4
  135. package/dist/cli/commands/schema.js.map +1 -1
  136. package/dist/cli/commands/search.d.ts +289 -1
  137. package/dist/cli/commands/search.js +367 -60
  138. package/dist/cli/commands/search.js.map +1 -1
  139. package/dist/cli/commands/stats.d.ts +38 -0
  140. package/dist/cli/commands/stats.js +38 -10
  141. package/dist/cli/commands/stats.js.map +1 -1
  142. package/dist/cli/commands/telemetry.js +5 -3
  143. package/dist/cli/commands/telemetry.js.map +1 -1
  144. package/dist/cli/commands/templates.d.ts +18 -0
  145. package/dist/cli/commands/templates.js +9 -2
  146. package/dist/cli/commands/templates.js.map +1 -1
  147. package/dist/cli/commands/test-all.d.ts +5 -0
  148. package/dist/cli/commands/test-all.js +9 -3
  149. package/dist/cli/commands/test-all.js.map +1 -1
  150. package/dist/cli/commands/test.d.ts +70 -1
  151. package/dist/cli/commands/test.js +84 -3
  152. package/dist/cli/commands/test.js.map +1 -1
  153. package/dist/cli/commands/update-many.d.ts +34 -1
  154. package/dist/cli/commands/update-many.js +60 -31
  155. package/dist/cli/commands/update-many.js.map +1 -1
  156. package/dist/cli/commands/update.d.ts +71 -0
  157. package/dist/cli/commands/update.js +91 -11
  158. package/dist/cli/commands/update.js.map +1 -1
  159. package/dist/cli/commands/upgrade.d.ts +28 -1
  160. package/dist/cli/commands/upgrade.js +17 -4
  161. package/dist/cli/commands/upgrade.js.map +1 -1
  162. package/dist/cli/commands/validate.d.ts +114 -0
  163. package/dist/cli/commands/validate.js +153 -8
  164. package/dist/cli/commands/validate.js.map +1 -1
  165. package/dist/cli/error-guidance.d.ts +30 -0
  166. package/dist/cli/error-guidance.js +41 -6
  167. package/dist/cli/error-guidance.js.map +1 -1
  168. package/dist/cli/extension-command-options.js +9 -7
  169. package/dist/cli/extension-command-options.js.map +1 -1
  170. package/dist/cli/help-content.d.ts +8 -0
  171. package/dist/cli/help-content.js +54 -6
  172. package/dist/cli/help-content.js.map +1 -1
  173. package/dist/cli/help-json-payload.d.ts +19 -1
  174. package/dist/cli/help-json-payload.js +16 -7
  175. package/dist/cli/help-json-payload.js.map +1 -1
  176. package/dist/cli/main.d.ts +242 -0
  177. package/dist/cli/main.js +241 -45
  178. package/dist/cli/main.js.map +1 -1
  179. package/dist/cli/register-list-query.js +62 -5
  180. package/dist/cli/register-list-query.js.map +1 -1
  181. package/dist/cli/register-mutation.d.ts +16 -0
  182. package/dist/cli/register-mutation.js +376 -100
  183. package/dist/cli/register-mutation.js.map +1 -1
  184. package/dist/cli/register-operations.d.ts +8 -0
  185. package/dist/cli/register-operations.js +134 -11
  186. package/dist/cli/register-operations.js.map +1 -1
  187. package/dist/cli/register-setup.js +9 -6
  188. package/dist/cli/register-setup.js.map +1 -1
  189. package/dist/cli/registration-helpers.d.ts +4 -0
  190. package/dist/cli/registration-helpers.js +124 -38
  191. package/dist/cli/registration-helpers.js.map +1 -1
  192. package/dist/cli-bundle/chunks/activity-PZYSZA26.js +18 -0
  193. package/dist/cli-bundle/chunks/{activity-PPO7QWJF.js → activity-SFM4THAU.js} +13 -11
  194. package/dist/cli-bundle/chunks/{aggregate-IRHJWEKG.js → aggregate-Y5ADDKBM.js} +55 -26
  195. package/dist/cli-bundle/chunks/aggregate-Y5ADDKBM.js.map +1 -0
  196. package/dist/cli-bundle/chunks/{aggregate-XEBW22UQ.js → aggregate-YTAUQLRW.js} +54 -25
  197. package/dist/cli-bundle/chunks/aggregate-YTAUQLRW.js.map +7 -0
  198. package/dist/cli-bundle/chunks/{append-NL67JNJU.js → append-4M7OVV7M.js} +11 -11
  199. package/dist/cli-bundle/chunks/append-4M7OVV7M.js.map +1 -0
  200. package/dist/cli-bundle/chunks/{append-N2AWXKZC.js → append-HSPK4L4V.js} +10 -10
  201. package/dist/cli-bundle/chunks/{append-N2AWXKZC.js.map → append-HSPK4L4V.js.map} +2 -2
  202. package/dist/cli-bundle/chunks/{chunk-IIOIBAQW.js → chunk-26BM6YLO.js} +3 -3
  203. package/dist/cli-bundle/chunks/{chunk-CEGUH2E5.js → chunk-2C6FU3D3.js} +5 -5
  204. package/dist/cli-bundle/chunks/{chunk-CEGUH2E5.js.map → chunk-2C6FU3D3.js.map} +1 -1
  205. package/dist/cli-bundle/chunks/{chunk-SQDKAEKG.js → chunk-2OPYLXDO.js} +117 -37
  206. package/dist/cli-bundle/chunks/chunk-2OPYLXDO.js.map +7 -0
  207. package/dist/cli-bundle/chunks/{chunk-4ZKKZMLH.js → chunk-2S46FKLB.js} +104 -30
  208. package/dist/cli-bundle/chunks/chunk-2S46FKLB.js.map +1 -0
  209. package/dist/cli-bundle/chunks/{chunk-LSSTKL3Y.js → chunk-2TMKMTEI.js} +3 -3
  210. package/dist/cli-bundle/chunks/{chunk-QU3OPNVV.js → chunk-2VH7DFSJ.js} +2 -2
  211. package/dist/cli-bundle/chunks/{chunk-RHYBR6G7.js → chunk-3ENF4NO4.js} +74 -14
  212. package/dist/cli-bundle/chunks/chunk-3ENF4NO4.js.map +1 -0
  213. package/dist/cli-bundle/chunks/chunk-3GR2HTYY.js +404 -0
  214. package/dist/cli-bundle/chunks/chunk-3GR2HTYY.js.map +7 -0
  215. package/dist/cli-bundle/chunks/{chunk-AAUYXSFF.js → chunk-3R3FYCBV.js} +223 -50
  216. package/dist/cli-bundle/chunks/chunk-3R3FYCBV.js.map +7 -0
  217. package/dist/cli-bundle/chunks/{chunk-5HSAHRYA.js → chunk-3UKJX3RP.js} +82 -21
  218. package/dist/cli-bundle/chunks/chunk-3UKJX3RP.js.map +7 -0
  219. package/dist/cli-bundle/chunks/chunk-4RTLBTYS.js +83 -0
  220. package/dist/cli-bundle/chunks/chunk-4RTLBTYS.js.map +1 -0
  221. package/dist/cli-bundle/chunks/{chunk-UCVJP4JL.js → chunk-5FDYWOJT.js} +52 -8
  222. package/dist/cli-bundle/chunks/chunk-5FDYWOJT.js.map +7 -0
  223. package/dist/cli-bundle/chunks/{chunk-LGOXXQUW.js → chunk-5XGWFUW2.js} +2 -2
  224. package/dist/cli-bundle/chunks/{chunk-LYNQ3NGI.js → chunk-6BD77FGL.js} +309 -20
  225. package/dist/cli-bundle/chunks/chunk-6BD77FGL.js.map +1 -0
  226. package/dist/cli-bundle/chunks/chunk-6EFCFPNE.js +35 -0
  227. package/dist/cli-bundle/chunks/chunk-6EFCFPNE.js.map +7 -0
  228. package/dist/cli-bundle/chunks/{chunk-36BCSMKP.js → chunk-6HF6CIY2.js} +26 -11
  229. package/dist/cli-bundle/chunks/chunk-6HF6CIY2.js.map +7 -0
  230. package/dist/cli-bundle/chunks/{chunk-M3SI2REU.js → chunk-6PBPD4MN.js} +322 -19
  231. package/dist/cli-bundle/chunks/chunk-6PBPD4MN.js.map +7 -0
  232. package/dist/cli-bundle/chunks/{chunk-TSXWFN3L.js → chunk-6VFUEGOA.js} +53 -9
  233. package/dist/cli-bundle/chunks/chunk-6VFUEGOA.js.map +1 -0
  234. package/dist/cli-bundle/chunks/{chunk-2J2AH4V5.js → chunk-AAOXSPAE.js} +56 -72
  235. package/dist/cli-bundle/chunks/chunk-AAOXSPAE.js.map +1 -0
  236. package/dist/cli-bundle/chunks/{chunk-Z647PYLD.js → chunk-AJCQ5GT6.js} +4 -4
  237. package/dist/cli-bundle/chunks/chunk-ALTGYHN3.js +61 -0
  238. package/dist/cli-bundle/chunks/chunk-ALTGYHN3.js.map +7 -0
  239. package/dist/cli-bundle/chunks/{chunk-KHGTYCJ6.js → chunk-AOJQL33L.js} +83 -22
  240. package/dist/cli-bundle/chunks/chunk-AOJQL33L.js.map +1 -0
  241. package/dist/cli-bundle/chunks/{chunk-5LMF75Q7.js → chunk-AXLDUGXA.js} +7 -4
  242. package/dist/cli-bundle/chunks/{chunk-5LMF75Q7.js.map → chunk-AXLDUGXA.js.map} +2 -2
  243. package/dist/cli-bundle/chunks/{chunk-DWG4FHPY.js → chunk-BITCVGHT.js} +2 -2
  244. package/dist/cli-bundle/chunks/{chunk-JE5IZXDS.js → chunk-CGQTFWYI.js} +4 -4
  245. package/dist/cli-bundle/chunks/{chunk-LFW5NQUP.js → chunk-CHM2VFVL.js} +407 -290
  246. package/dist/cli-bundle/chunks/chunk-CHM2VFVL.js.map +7 -0
  247. package/dist/cli-bundle/chunks/{chunk-VYZNX4C5.js → chunk-COVLE33A.js} +3 -3
  248. package/dist/cli-bundle/chunks/{chunk-SGMGMCIF.js → chunk-DDNBWH4W.js} +157 -25
  249. package/dist/cli-bundle/chunks/chunk-DDNBWH4W.js.map +1 -0
  250. package/dist/cli-bundle/chunks/{chunk-6ZFTM65G.js → chunk-F5MSD5HE.js} +2 -2
  251. package/dist/cli-bundle/chunks/{chunk-6TBR5AZ2.js → chunk-FAXB6F6R.js} +76 -8
  252. package/dist/cli-bundle/chunks/chunk-FAXB6F6R.js.map +7 -0
  253. package/dist/cli-bundle/chunks/{chunk-L6YQONLM.js → chunk-FPDK5BZQ.js} +18 -19
  254. package/dist/cli-bundle/chunks/chunk-FPDK5BZQ.js.map +1 -0
  255. package/dist/cli-bundle/chunks/{chunk-AGG32LKL.js → chunk-FPY2TOFI.js} +480 -24
  256. package/dist/cli-bundle/chunks/chunk-FPY2TOFI.js.map +1 -0
  257. package/dist/cli-bundle/chunks/{chunk-JWXTOYBI.js → chunk-G2MOUCTU.js} +121 -44
  258. package/dist/cli-bundle/chunks/chunk-G2MOUCTU.js.map +7 -0
  259. package/dist/cli-bundle/chunks/{chunk-3VULHQNS.js → chunk-G57RHEGP.js} +36 -18
  260. package/dist/cli-bundle/chunks/chunk-G57RHEGP.js.map +1 -0
  261. package/dist/cli-bundle/chunks/{chunk-QQG4HEX7.js → chunk-IROHIK2T.js} +37 -63
  262. package/dist/cli-bundle/chunks/chunk-IROHIK2T.js.map +1 -0
  263. package/dist/cli-bundle/chunks/{chunk-GOO4UXBI.js → chunk-JZHL4E3Q.js} +4 -4
  264. package/dist/cli-bundle/chunks/{chunk-XXLMJDUB.js → chunk-KA22USXD.js} +21 -22
  265. package/dist/cli-bundle/chunks/chunk-KA22USXD.js.map +7 -0
  266. package/dist/cli-bundle/chunks/{chunk-WLH7X4RN.js → chunk-KBC4O7SY.js} +56 -72
  267. package/dist/cli-bundle/chunks/chunk-KBC4O7SY.js.map +7 -0
  268. package/dist/cli-bundle/chunks/{chunk-NN6RKGFW.js → chunk-KCAGIH6K.js} +3 -3
  269. package/dist/cli-bundle/chunks/{chunk-BVL5KGVA.js → chunk-KO3VM5GS.js} +27 -12
  270. package/dist/cli-bundle/chunks/chunk-KO3VM5GS.js.map +1 -0
  271. package/dist/cli-bundle/chunks/{chunk-IXVSSHGV.js → chunk-LNH5Q32E.js} +13 -8
  272. package/dist/cli-bundle/chunks/chunk-LNH5Q32E.js.map +7 -0
  273. package/dist/cli-bundle/chunks/{chunk-3FMQMHAG.js → chunk-LORM3M2I.js} +4 -4
  274. package/dist/cli-bundle/chunks/{chunk-3FMQMHAG.js.map → chunk-LORM3M2I.js.map} +1 -1
  275. package/dist/cli-bundle/chunks/{chunk-PNYAAB4S.js → chunk-LWGMDLQ6.js} +8 -3
  276. package/dist/cli-bundle/chunks/chunk-LWGMDLQ6.js.map +1 -0
  277. package/dist/cli-bundle/chunks/{chunk-GFBEXDCQ.js → chunk-M4AVU7VC.js} +19 -8
  278. package/dist/cli-bundle/chunks/{chunk-GFBEXDCQ.js.map → chunk-M4AVU7VC.js.map} +2 -2
  279. package/dist/cli-bundle/chunks/{chunk-3CQPVBK3.js → chunk-MIBX6ZRN.js} +3 -3
  280. package/dist/cli-bundle/chunks/{chunk-AUDDXKNX.js → chunk-MMF2E3FM.js} +77 -9
  281. package/dist/cli-bundle/chunks/chunk-MMF2E3FM.js.map +1 -0
  282. package/dist/cli-bundle/chunks/{chunk-RFR2YQGO.js → chunk-MORZOR7W.js} +21 -8
  283. package/dist/cli-bundle/chunks/chunk-MORZOR7W.js.map +1 -0
  284. package/dist/cli-bundle/chunks/{chunk-4TPFXE2R.js → chunk-MUTUZ2HD.js} +118 -74
  285. package/dist/cli-bundle/chunks/chunk-MUTUZ2HD.js.map +1 -0
  286. package/dist/cli-bundle/chunks/{chunk-HZOX5BYD.js → chunk-OGXEBTX3.js} +35 -17
  287. package/dist/cli-bundle/chunks/chunk-OGXEBTX3.js.map +7 -0
  288. package/dist/cli-bundle/chunks/{chunk-LOAR5TKX.js → chunk-OOIH6J5T.js} +4 -4
  289. package/dist/cli-bundle/chunks/{chunk-LOAR5TKX.js.map → chunk-OOIH6J5T.js.map} +1 -1
  290. package/dist/cli-bundle/chunks/{chunk-VNC2HBL4.js → chunk-OSBJPPX3.js} +20 -9
  291. package/dist/cli-bundle/chunks/chunk-OSBJPPX3.js.map +1 -0
  292. package/dist/cli-bundle/chunks/{chunk-2ANTZBYF.js → chunk-PJS3WDO2.js} +122 -45
  293. package/dist/cli-bundle/chunks/chunk-PJS3WDO2.js.map +1 -0
  294. package/dist/cli-bundle/chunks/{chunk-7SM7VA5I.js → chunk-QGPE2H6Z.js} +19 -8
  295. package/dist/cli-bundle/chunks/chunk-QGPE2H6Z.js.map +7 -0
  296. package/dist/cli-bundle/chunks/chunk-QVTFFLR2.js +58 -0
  297. package/dist/cli-bundle/chunks/chunk-QVTFFLR2.js.map +1 -0
  298. package/dist/cli-bundle/chunks/{chunk-JCTZV7TO.js → chunk-QW2F6ARZ.js} +8 -5
  299. package/dist/cli-bundle/chunks/{chunk-JCTZV7TO.js.map → chunk-QW2F6ARZ.js.map} +1 -1
  300. package/dist/cli-bundle/chunks/{chunk-TOX7YQ7X.js → chunk-QXC3LWB7.js} +223 -50
  301. package/dist/cli-bundle/chunks/chunk-QXC3LWB7.js.map +1 -0
  302. package/dist/cli-bundle/chunks/{chunk-W6KNFAMZ.js → chunk-QXMXRPX5.js} +9 -8
  303. package/dist/cli-bundle/chunks/chunk-QXMXRPX5.js.map +7 -0
  304. package/dist/cli-bundle/chunks/{chunk-O3YCJOVX.js → chunk-R4AKUPKI.js} +3 -3
  305. package/dist/cli-bundle/chunks/{chunk-O3YCJOVX.js.map → chunk-R4AKUPKI.js.map} +1 -1
  306. package/dist/cli-bundle/chunks/chunk-RASR23HV.js +394 -0
  307. package/dist/cli-bundle/chunks/chunk-RASR23HV.js.map +1 -0
  308. package/dist/cli-bundle/chunks/{chunk-JW7D6437.js → chunk-SCDCNGCV.js} +20 -9
  309. package/dist/cli-bundle/chunks/chunk-SCDCNGCV.js.map +1 -0
  310. package/dist/cli-bundle/chunks/{chunk-GRZGHGRG.js → chunk-SCS5PVAA.js} +10 -9
  311. package/dist/cli-bundle/chunks/{chunk-GRZGHGRG.js.map → chunk-SCS5PVAA.js.map} +2 -2
  312. package/dist/cli-bundle/chunks/{chunk-S2CDTRJ6.js → chunk-SJCMTOEU.js} +381 -271
  313. package/dist/cli-bundle/chunks/chunk-SJCMTOEU.js.map +1 -0
  314. package/dist/cli-bundle/chunks/{chunk-XWDZVCBJ.js → chunk-SO2ES46D.js} +11 -10
  315. package/dist/cli-bundle/chunks/{chunk-XWDZVCBJ.js.map → chunk-SO2ES46D.js.map} +1 -1
  316. package/dist/cli-bundle/chunks/{chunk-MACCNKSZ.js → chunk-TBV33CB4.js} +36 -62
  317. package/dist/cli-bundle/chunks/chunk-TBV33CB4.js.map +7 -0
  318. package/dist/cli-bundle/chunks/chunk-TEFEXQWI.js +86 -0
  319. package/dist/cli-bundle/chunks/chunk-TEFEXQWI.js.map +7 -0
  320. package/dist/cli-bundle/chunks/{chunk-HLEGAQXT.js → chunk-TWBDDVIF.js} +20 -7
  321. package/dist/cli-bundle/chunks/chunk-TWBDDVIF.js.map +7 -0
  322. package/dist/cli-bundle/chunks/{chunk-4JHJ7YG2.js → chunk-UGUJ2UOR.js} +118 -74
  323. package/dist/cli-bundle/chunks/chunk-UGUJ2UOR.js.map +7 -0
  324. package/dist/cli-bundle/chunks/{chunk-XOYHMHFF.js → chunk-UN6P3IJ4.js} +3 -3
  325. package/dist/cli-bundle/chunks/{chunk-32XSW44C.js → chunk-V2GYOMEX.js} +10 -9
  326. package/dist/cli-bundle/chunks/chunk-V2GYOMEX.js.map +1 -0
  327. package/dist/cli-bundle/chunks/{chunk-HWHONML5.js → chunk-VF3KQGNY.js} +4 -4
  328. package/dist/cli-bundle/chunks/{chunk-SOHXUA2Q.js → chunk-VHG6LUKR.js} +116 -36
  329. package/dist/cli-bundle/chunks/chunk-VHG6LUKR.js.map +1 -0
  330. package/dist/cli-bundle/chunks/{chunk-7CRFV6JR.js → chunk-VXHMQDXA.js} +483 -27
  331. package/dist/cli-bundle/chunks/chunk-VXHMQDXA.js.map +7 -0
  332. package/dist/cli-bundle/chunks/{chunk-IZHCCG4S.js → chunk-VXRFAE7W.js} +14 -9
  333. package/dist/cli-bundle/chunks/chunk-VXRFAE7W.js.map +1 -0
  334. package/dist/cli-bundle/chunks/{chunk-R4VWYWRN.js → chunk-W3HFLORZ.js} +7 -2
  335. package/dist/cli-bundle/chunks/chunk-W3HFLORZ.js.map +7 -0
  336. package/dist/cli-bundle/chunks/{chunk-4FHLNNW7.js → chunk-WQRL4COW.js} +74 -14
  337. package/dist/cli-bundle/chunks/chunk-WQRL4COW.js.map +7 -0
  338. package/dist/cli-bundle/chunks/chunk-X3W5ESZQ.js +32 -0
  339. package/dist/cli-bundle/chunks/chunk-X3W5ESZQ.js.map +1 -0
  340. package/dist/cli-bundle/chunks/{chunk-MGAQ6KZG.js → chunk-XESAPVZ4.js} +166 -27
  341. package/dist/cli-bundle/chunks/chunk-XESAPVZ4.js.map +7 -0
  342. package/dist/cli-bundle/chunks/{chunk-PEH7SZD2.js → chunk-YLAW3FZN.js} +105 -31
  343. package/dist/cli-bundle/chunks/chunk-YLAW3FZN.js.map +7 -0
  344. package/dist/cli-bundle/chunks/{claim-HE6KEGJW.js → claim-WGAWJCPY.js} +10 -10
  345. package/dist/cli-bundle/chunks/{claim-QJOQBH7J.js → claim-ZI6P4LMU.js} +10 -10
  346. package/dist/cli-bundle/chunks/close-I7PRQ5G7.js +13 -0
  347. package/dist/cli-bundle/chunks/{close-SPUFW5QR.js → close-JMVVSIQE.js} +8 -8
  348. package/dist/cli-bundle/chunks/{close-many-GKAJX54X.js → close-many-IKPJXVOZ.js} +32 -20
  349. package/dist/cli-bundle/chunks/close-many-IKPJXVOZ.js.map +1 -0
  350. package/dist/cli-bundle/chunks/{close-many-GL6NRUU5.js → close-many-TXABDCSJ.js} +31 -19
  351. package/dist/cli-bundle/chunks/close-many-TXABDCSJ.js.map +7 -0
  352. package/dist/cli-bundle/chunks/{comments-5FPT6L7N.js → comments-RLWR2S7W.js} +55 -31
  353. package/dist/cli-bundle/chunks/comments-RLWR2S7W.js.map +1 -0
  354. package/dist/cli-bundle/chunks/{comments-TOLOYWNI.js → comments-YAMXKHUX.js} +54 -30
  355. package/dist/cli-bundle/chunks/comments-YAMXKHUX.js.map +7 -0
  356. package/dist/cli-bundle/chunks/{config-7N6D7YJE.js → config-7ICYC2WU.js} +83 -19
  357. package/dist/cli-bundle/chunks/config-7ICYC2WU.js.map +7 -0
  358. package/dist/cli-bundle/chunks/{config-4MN45TIH.js → config-NGWN3EXC.js} +83 -19
  359. package/dist/cli-bundle/chunks/config-NGWN3EXC.js.map +1 -0
  360. package/dist/cli-bundle/chunks/{context-AQSLE7DZ.js → context-K6QAHN5H.js} +128 -39
  361. package/dist/cli-bundle/chunks/context-K6QAHN5H.js.map +1 -0
  362. package/dist/cli-bundle/chunks/{context-U3PUJMVN.js → context-VGXOOAH2.js} +127 -38
  363. package/dist/cli-bundle/chunks/context-VGXOOAH2.js.map +7 -0
  364. package/dist/cli-bundle/chunks/{contracts-ITSJXO3O.js → contracts-KJGY2AQA.js} +99 -15
  365. package/dist/cli-bundle/chunks/contracts-KJGY2AQA.js.map +1 -0
  366. package/dist/cli-bundle/chunks/{contracts-H7KCQXLY.js → contracts-KMA6OJY7.js} +99 -15
  367. package/dist/cli-bundle/chunks/contracts-KMA6OJY7.js.map +7 -0
  368. package/dist/cli-bundle/chunks/{copy-EB3MUCSW.js → copy-Q2PPU4AY.js} +7 -7
  369. package/dist/cli-bundle/chunks/{copy-C4W522JM.js → copy-SC6UF3PI.js} +7 -7
  370. package/dist/cli-bundle/chunks/{create-4EQNELMY.js → create-76FE7JVF.js} +16 -13
  371. package/dist/cli-bundle/chunks/create-RTRFW6RE.js +30 -0
  372. package/dist/cli-bundle/chunks/{delete-X5QLXIQX.js → delete-T6DJSUJI.js} +7 -7
  373. package/dist/cli-bundle/chunks/{delete-ZLGUYIXU.js → delete-XFUX533E.js} +7 -7
  374. package/dist/cli-bundle/chunks/{deps-GPB3LGWN.js → deps-5GWMMS6D.js} +9 -10
  375. package/dist/cli-bundle/chunks/{deps-GPB3LGWN.js.map → deps-5GWMMS6D.js.map} +2 -2
  376. package/dist/cli-bundle/chunks/{deps-HV2C2L46.js → deps-MCCU633S.js} +10 -11
  377. package/dist/cli-bundle/chunks/deps-MCCU633S.js.map +1 -0
  378. package/dist/cli-bundle/chunks/{docs-SRTLCQOL.js → docs-HE3HCQ4S.js} +9 -9
  379. package/dist/cli-bundle/chunks/{docs-RJQPLROO.js → docs-SXMOABHR.js} +9 -9
  380. package/dist/cli-bundle/chunks/{extension-WKPVPNCC.js → extension-E23K4QRR.js} +7 -5
  381. package/dist/cli-bundle/chunks/{extension-MM3TVWOO.js → extension-PMD3XMLN.js} +7 -5
  382. package/dist/cli-bundle/chunks/{files-OIFN3DQX.js → files-2RSWGPEU.js} +25 -11
  383. package/dist/cli-bundle/chunks/files-2RSWGPEU.js.map +1 -0
  384. package/dist/cli-bundle/chunks/{files-LIFDKNCN.js → files-ZWFJFWBK.js} +24 -10
  385. package/dist/cli-bundle/chunks/files-ZWFJFWBK.js.map +7 -0
  386. package/dist/cli-bundle/chunks/focus-KTTB3P3F.js +106 -0
  387. package/dist/cli-bundle/chunks/focus-KTTB3P3F.js.map +1 -0
  388. package/dist/cli-bundle/chunks/focus-ZMDP4FEL.js +109 -0
  389. package/dist/cli-bundle/chunks/focus-ZMDP4FEL.js.map +7 -0
  390. package/dist/cli-bundle/chunks/{gc-NRFHLVFT.js → gc-BXIAKLAH.js} +3 -3
  391. package/dist/cli-bundle/chunks/{gc-DL6AVOX5.js → gc-C7K6JNUO.js} +3 -3
  392. package/dist/cli-bundle/chunks/{get-SAB7CRBG.js → get-AZQLC4NO.js} +43 -16
  393. package/dist/cli-bundle/chunks/get-AZQLC4NO.js.map +1 -0
  394. package/dist/cli-bundle/chunks/{get-K7UULTQF.js → get-I65HTAWO.js} +42 -15
  395. package/dist/cli-bundle/chunks/get-I65HTAWO.js.map +7 -0
  396. package/dist/cli-bundle/chunks/{health-NUVZYIEV.js → health-3MFFPQVZ.js} +75 -49
  397. package/dist/cli-bundle/chunks/health-3MFFPQVZ.js.map +1 -0
  398. package/dist/cli-bundle/chunks/{health-VJWH3ZFK.js → health-MYZEOCLI.js} +74 -48
  399. package/dist/cli-bundle/chunks/health-MYZEOCLI.js.map +7 -0
  400. package/dist/cli-bundle/chunks/{history-GYFD2DJW.js → history-73Z6OBFZ.js} +10 -10
  401. package/dist/cli-bundle/chunks/history-BIPHVUMF.js +20 -0
  402. package/dist/cli-bundle/chunks/{history-compact-WQZQ6KXM.js → history-compact-24VQ63A3.js} +37 -46
  403. package/dist/cli-bundle/chunks/history-compact-24VQ63A3.js.map +7 -0
  404. package/dist/cli-bundle/chunks/{history-compact-SLL6ESXH.js → history-compact-UIAR2OI4.js} +38 -47
  405. package/dist/cli-bundle/chunks/history-compact-UIAR2OI4.js.map +1 -0
  406. package/dist/cli-bundle/chunks/{history-redact-SDTDR6WM.js → history-redact-7YCXEWJD.js} +13 -11
  407. package/dist/cli-bundle/chunks/history-redact-WZZ6GZ2Z.js +21 -0
  408. package/dist/cli-bundle/chunks/{history-repair-BJCGM6Q3.js → history-repair-4NOFFG2W.js} +44 -49
  409. package/dist/cli-bundle/chunks/history-repair-4NOFFG2W.js.map +1 -0
  410. package/dist/cli-bundle/chunks/{history-repair-UCYS55ZX.js → history-repair-GQN2X4TR.js} +43 -48
  411. package/dist/cli-bundle/chunks/history-repair-GQN2X4TR.js.map +7 -0
  412. package/dist/cli-bundle/chunks/init-K34V4PZR.js +20 -0
  413. package/dist/cli-bundle/chunks/{init-MXV57LKL.js → init-TDEDNVMM.js} +12 -9
  414. package/dist/cli-bundle/chunks/{learnings-QKJOKEAO.js → learnings-TV2CTGJ3.js} +13 -12
  415. package/dist/cli-bundle/chunks/learnings-TV2CTGJ3.js.map +7 -0
  416. package/dist/cli-bundle/chunks/{learnings-L6KTZGOT.js → learnings-U67FTXPB.js} +14 -13
  417. package/dist/cli-bundle/chunks/learnings-U67FTXPB.js.map +1 -0
  418. package/dist/cli-bundle/chunks/list-MSHYOCFU.js +33 -0
  419. package/dist/cli-bundle/chunks/list-VV57WGUD.js +29 -0
  420. package/dist/cli-bundle/chunks/{notes-HMCB7TK6.js → notes-EUANWWKD.js} +13 -12
  421. package/dist/cli-bundle/chunks/notes-EUANWWKD.js.map +7 -0
  422. package/dist/cli-bundle/chunks/{notes-3NLK7WTZ.js → notes-GYVNDAL4.js} +14 -13
  423. package/dist/cli-bundle/chunks/notes-GYVNDAL4.js.map +1 -0
  424. package/dist/cli-bundle/chunks/{plan-NANUWH4T.js → plan-4LF4AV63.js} +15 -14
  425. package/dist/cli-bundle/chunks/plan-4LF4AV63.js.map +7 -0
  426. package/dist/cli-bundle/chunks/{plan-DWBYI5C6.js → plan-W27O6DBS.js} +16 -15
  427. package/dist/cli-bundle/chunks/plan-W27O6DBS.js.map +1 -0
  428. package/dist/cli-bundle/chunks/{register-list-query-SMMMLSWW.js → register-list-query-BXLEHJ7L.js} +32 -23
  429. package/dist/cli-bundle/chunks/register-list-query-BXLEHJ7L.js.map +1 -0
  430. package/dist/cli-bundle/chunks/{register-list-query-PWQ5F2VI.js → register-list-query-C2MS3BVQ.js} +31 -22
  431. package/dist/cli-bundle/chunks/register-list-query-C2MS3BVQ.js.map +7 -0
  432. package/dist/cli-bundle/chunks/{register-mutation-QKFPTIZG.js → register-mutation-6UCOEQ6L.js} +361 -106
  433. package/dist/cli-bundle/chunks/register-mutation-6UCOEQ6L.js.map +7 -0
  434. package/dist/cli-bundle/chunks/{register-mutation-ZYJQ4DVP.js → register-mutation-HE73PREP.js} +355 -107
  435. package/dist/cli-bundle/chunks/register-mutation-HE73PREP.js.map +1 -0
  436. package/dist/cli-bundle/chunks/{register-operations-2FMZ6WEF.js → register-operations-L6C32FDA.js} +111 -39
  437. package/dist/cli-bundle/chunks/register-operations-L6C32FDA.js.map +7 -0
  438. package/dist/cli-bundle/chunks/{register-operations-BAFQURZG.js → register-operations-QQEHEX4P.js} +112 -40
  439. package/dist/cli-bundle/chunks/register-operations-QQEHEX4P.js.map +1 -0
  440. package/dist/cli-bundle/chunks/{register-setup-QN2XV7UL.js → register-setup-A7N4PNT3.js} +18 -21
  441. package/dist/cli-bundle/chunks/register-setup-A7N4PNT3.js.map +1 -0
  442. package/dist/cli-bundle/chunks/{register-setup-DQEIKBIP.js → register-setup-WHG3NBP6.js} +17 -20
  443. package/dist/cli-bundle/chunks/register-setup-WHG3NBP6.js.map +7 -0
  444. package/dist/cli-bundle/chunks/{restore-FJQWXMPY.js → restore-TSWSULYY.js} +13 -11
  445. package/dist/cli-bundle/chunks/restore-XQXICL3V.js +19 -0
  446. package/dist/cli-bundle/chunks/scheduling-shortcuts-NC46K6BD.js +91 -0
  447. package/dist/cli-bundle/chunks/scheduling-shortcuts-NC46K6BD.js.map +7 -0
  448. package/dist/cli-bundle/chunks/scheduling-shortcuts-UGDPQALY.js +88 -0
  449. package/dist/cli-bundle/chunks/scheduling-shortcuts-UGDPQALY.js.map +1 -0
  450. package/dist/cli-bundle/chunks/{schema-ZZ7ZDM2X.js → schema-7U7JUYGK.js} +797 -10
  451. package/dist/cli-bundle/chunks/schema-7U7JUYGK.js.map +1 -0
  452. package/dist/cli-bundle/chunks/{schema-RNVJ55V2.js → schema-TSBYSEMW.js} +810 -9
  453. package/dist/cli-bundle/chunks/schema-TSBYSEMW.js.map +7 -0
  454. package/dist/cli-bundle/chunks/{search-BJ457C2A.js → search-OXLSQKHP.js} +328 -71
  455. package/dist/cli-bundle/chunks/search-OXLSQKHP.js.map +7 -0
  456. package/dist/cli-bundle/chunks/{search-FQDZXX7P.js → search-T3TOFLOQ.js} +328 -71
  457. package/dist/cli-bundle/chunks/search-T3TOFLOQ.js.map +1 -0
  458. package/dist/cli-bundle/chunks/{stats-DUQWCVOS.js → stats-5CLG22YZ.js} +41 -16
  459. package/dist/cli-bundle/chunks/stats-5CLG22YZ.js.map +7 -0
  460. package/dist/cli-bundle/chunks/{stats-CUG3ZHOI.js → stats-XEMUXS42.js} +42 -17
  461. package/dist/cli-bundle/chunks/stats-XEMUXS42.js.map +1 -0
  462. package/dist/cli-bundle/chunks/{telemetry-RK2VX75A.js → telemetry-23OPBBZT.js} +7 -7
  463. package/dist/cli-bundle/chunks/telemetry-23OPBBZT.js.map +1 -0
  464. package/dist/cli-bundle/chunks/{telemetry-33MRGX4Z.js → telemetry-I3D7XZ55.js} +6 -6
  465. package/dist/cli-bundle/chunks/telemetry-I3D7XZ55.js.map +7 -0
  466. package/dist/cli-bundle/chunks/test-AROS3LIV.js +35 -0
  467. package/dist/cli-bundle/chunks/{test-Y3CTFMEC.js → test-CECIMKOA.js} +17 -14
  468. package/dist/cli-bundle/chunks/{test-all-ARSMX33Q.js → test-all-4DEQPIXH.js} +25 -17
  469. package/dist/cli-bundle/chunks/test-all-4DEQPIXH.js.map +1 -0
  470. package/dist/cli-bundle/chunks/{test-all-ANYQ33O2.js → test-all-6RO6X3SM.js} +24 -16
  471. package/dist/cli-bundle/chunks/test-all-6RO6X3SM.js.map +7 -0
  472. package/dist/cli-bundle/chunks/{test-runs-5URSD34O.js → test-runs-AAXVFWKH.js} +62 -65
  473. package/dist/cli-bundle/chunks/test-runs-AAXVFWKH.js.map +1 -0
  474. package/dist/cli-bundle/chunks/{test-runs-XNACGSNQ.js → test-runs-LYBQSYRC.js} +61 -64
  475. package/dist/cli-bundle/chunks/test-runs-LYBQSYRC.js.map +7 -0
  476. package/dist/cli-bundle/chunks/update-MIWEJC76.js +24 -0
  477. package/dist/cli-bundle/chunks/update-P7I5YSRB.js +28 -0
  478. package/dist/cli-bundle/chunks/{update-many-724JCVDE.js → update-many-5B4HLVBK.js} +79 -33
  479. package/dist/cli-bundle/chunks/update-many-5B4HLVBK.js.map +7 -0
  480. package/dist/cli-bundle/chunks/{update-many-6B7PJ33I.js → update-many-G2QOVZSB.js} +80 -34
  481. package/dist/cli-bundle/chunks/update-many-G2QOVZSB.js.map +1 -0
  482. package/dist/cli-bundle/chunks/{upgrade-QHRGDBSA.js → upgrade-GFIDL62L.js} +23 -9
  483. package/dist/cli-bundle/chunks/upgrade-GFIDL62L.js.map +1 -0
  484. package/dist/cli-bundle/chunks/{upgrade-ALBEZAI7.js → upgrade-QUQYL7D3.js} +22 -8
  485. package/dist/cli-bundle/chunks/upgrade-QUQYL7D3.js.map +7 -0
  486. package/dist/cli-bundle/chunks/{validate-UY6DRCG5.js → validate-ADDZBMM3.js} +236 -30
  487. package/dist/cli-bundle/chunks/validate-ADDZBMM3.js.map +7 -0
  488. package/dist/cli-bundle/chunks/{validate-IQRYFXIV.js → validate-MAS3H6ZP.js} +222 -30
  489. package/dist/cli-bundle/chunks/validate-MAS3H6ZP.js.map +1 -0
  490. package/dist/cli-bundle/main.js +312 -139
  491. package/dist/cli-bundle/main.js.map +3 -3
  492. package/dist/cli.d.ts +10 -0
  493. package/dist/cli.js +21 -8
  494. package/dist/cli.js.map +1 -1
  495. package/dist/core/config/nested-settings.js +40 -2
  496. package/dist/core/config/nested-settings.js.map +1 -1
  497. package/dist/core/diagnostics/remediation.js +7 -2
  498. package/dist/core/diagnostics/remediation.js.map +1 -1
  499. package/dist/core/extensions/extension-policy.js +14 -15
  500. package/dist/core/extensions/extension-policy.js.map +1 -1
  501. package/dist/core/extensions/item-fields.js +4 -5
  502. package/dist/core/extensions/item-fields.js.map +1 -1
  503. package/dist/core/extensions/loader.d.ts +75 -1
  504. package/dist/core/extensions/loader.js +56 -32
  505. package/dist/core/extensions/loader.js.map +1 -1
  506. package/dist/core/governance/content-fields.d.ts +84 -0
  507. package/dist/core/governance/content-fields.js +182 -0
  508. package/dist/core/governance/content-fields.js.map +1 -0
  509. package/dist/core/governance/issue-codes.d.ts +51 -0
  510. package/dist/core/governance/issue-codes.js +95 -0
  511. package/dist/core/governance/issue-codes.js.map +1 -0
  512. package/dist/core/governance/metadata-coverage.d.ts +168 -0
  513. package/dist/core/governance/metadata-coverage.js +362 -0
  514. package/dist/core/governance/metadata-coverage.js.map +1 -0
  515. package/dist/core/history/history-rewrite.d.ts +22 -0
  516. package/dist/core/history/history-rewrite.js +38 -2
  517. package/dist/core/history/history-rewrite.js.map +1 -1
  518. package/dist/core/history/history.d.ts +7 -0
  519. package/dist/core/history/history.js +6 -2
  520. package/dist/core/history/history.js.map +1 -1
  521. package/dist/core/io/body-file.d.ts +14 -0
  522. package/dist/core/io/body-file.js +47 -0
  523. package/dist/core/io/body-file.js.map +1 -0
  524. package/dist/core/item/item-format.d.ts +46 -1
  525. package/dist/core/item/item-format.js +51 -60
  526. package/dist/core/item/item-format.js.map +1 -1
  527. package/dist/core/item/parse.d.ts +41 -0
  528. package/dist/core/item/parse.js +69 -16
  529. package/dist/core/item/parse.js.map +1 -1
  530. package/dist/core/item/type-registry.d.ts +1 -0
  531. package/dist/core/item/type-registry.js +8 -10
  532. package/dist/core/item/type-registry.js.map +1 -1
  533. package/dist/core/lock/lock.d.ts +26 -0
  534. package/dist/core/lock/lock.js +10 -2
  535. package/dist/core/lock/lock.js.map +1 -1
  536. package/dist/core/output/output.d.ts +7 -0
  537. package/dist/core/output/output.js +6 -2
  538. package/dist/core/output/output.js.map +1 -1
  539. package/dist/core/schema/fields-file.d.ts +94 -0
  540. package/dist/core/schema/fields-file.js +317 -0
  541. package/dist/core/schema/fields-file.js.map +1 -0
  542. package/dist/core/schema/item-types-file.d.ts +25 -2
  543. package/dist/core/schema/item-types-file.js +78 -6
  544. package/dist/core/schema/item-types-file.js.map +1 -1
  545. package/dist/core/schema/runtime-schema.d.ts +7 -0
  546. package/dist/core/schema/runtime-schema.js +23 -16
  547. package/dist/core/schema/runtime-schema.js.map +1 -1
  548. package/dist/core/schema/type-inference.d.ts +34 -0
  549. package/dist/core/schema/type-inference.js +97 -0
  550. package/dist/core/schema/type-inference.js.map +1 -0
  551. package/dist/core/schema/type-presets.d.ts +30 -0
  552. package/dist/core/schema/type-presets.js +96 -0
  553. package/dist/core/schema/type-presets.js.map +1 -0
  554. package/dist/core/search/cache.d.ts +19 -1
  555. package/dist/core/search/cache.js +11 -3
  556. package/dist/core/search/cache.js.map +1 -1
  557. package/dist/core/search/corpus.d.ts +36 -2
  558. package/dist/core/search/corpus.js +120 -24
  559. package/dist/core/search/corpus.js.map +1 -1
  560. package/dist/core/search/providers.d.ts +19 -0
  561. package/dist/core/search/providers.js +19 -2
  562. package/dist/core/search/providers.js.map +1 -1
  563. package/dist/core/sentry/instrument.d.ts +1 -0
  564. package/dist/core/sentry/instrument.js +6 -2
  565. package/dist/core/sentry/instrument.js.map +1 -1
  566. package/dist/core/session/session-state.d.ts +16 -0
  567. package/dist/core/session/session-state.js +48 -0
  568. package/dist/core/session/session-state.js.map +1 -0
  569. package/dist/core/shared/constants.d.ts +8 -0
  570. package/dist/core/shared/constants.js +11 -2
  571. package/dist/core/shared/constants.js.map +1 -1
  572. package/dist/core/shared/text-normalization.js +4 -3
  573. package/dist/core/shared/text-normalization.js.map +1 -1
  574. package/dist/core/shared/time.d.ts +13 -0
  575. package/dist/core/shared/time.js +19 -7
  576. package/dist/core/shared/time.js.map +1 -1
  577. package/dist/core/store/front-matter-cache.d.ts +13 -0
  578. package/dist/core/store/front-matter-cache.js +21 -11
  579. package/dist/core/store/front-matter-cache.js.map +1 -1
  580. package/dist/core/store/item-store.d.ts +11 -0
  581. package/dist/core/store/item-store.js +12 -3
  582. package/dist/core/store/item-store.js.map +1 -1
  583. package/dist/core/store/settings-validator.d.ts +2 -0
  584. package/dist/core/store/settings-validator.js +25 -2
  585. package/dist/core/store/settings-validator.js.map +1 -1
  586. package/dist/core/store/settings.d.ts +60 -1
  587. package/dist/core/store/settings.js +100 -46
  588. package/dist/core/store/settings.js.map +1 -1
  589. package/dist/core/telemetry/observability.js +10 -8
  590. package/dist/core/telemetry/observability.js.map +1 -1
  591. package/dist/core/telemetry/runtime.d.ts +272 -1
  592. package/dist/core/telemetry/runtime.js +358 -37
  593. package/dist/core/telemetry/runtime.js.map +1 -1
  594. package/dist/core/test/background-runs.d.ts +35 -0
  595. package/dist/core/test/background-runs.js +72 -61
  596. package/dist/core/test/background-runs.js.map +1 -1
  597. package/dist/core/test/run-selectors.js +5 -4
  598. package/dist/core/test/run-selectors.js.map +1 -1
  599. package/dist/core/validate/estimate-defaults.d.ts +39 -0
  600. package/dist/core/validate/estimate-defaults.js +117 -0
  601. package/dist/core/validate/estimate-defaults.js.map +1 -0
  602. package/dist/core/validate/fix-planning.d.ts +21 -3
  603. package/dist/core/validate/fix-planning.js +31 -4
  604. package/dist/core/validate/fix-planning.js.map +1 -1
  605. package/dist/core/validate/missing-link-owners.d.ts +64 -0
  606. package/dist/core/validate/missing-link-owners.js +98 -0
  607. package/dist/core/validate/missing-link-owners.js.map +1 -0
  608. package/dist/mcp/server.d.ts +61 -0
  609. package/dist/mcp/server.js +98 -8
  610. package/dist/mcp/server.js.map +1 -1
  611. package/dist/mcp/tool-definitions.js +64 -10
  612. package/dist/mcp/tool-definitions.js.map +1 -1
  613. package/dist/sdk/cli-contracts/commander-types.js +13 -2
  614. package/dist/sdk/cli-contracts/commander-types.js.map +1 -1
  615. package/dist/sdk/cli-contracts/enum-contracts.d.ts +2 -2
  616. package/dist/sdk/cli-contracts/enum-contracts.js +7 -2
  617. package/dist/sdk/cli-contracts/enum-contracts.js.map +1 -1
  618. package/dist/sdk/cli-contracts/tool-option-contracts.js +110 -2
  619. package/dist/sdk/cli-contracts/tool-option-contracts.js.map +1 -1
  620. package/dist/sdk/cli-contracts/tool-parameter-tables.js +127 -11
  621. package/dist/sdk/cli-contracts/tool-parameter-tables.js.map +1 -1
  622. package/dist/sdk/cli-contracts.d.ts +31 -0
  623. package/dist/sdk/cli-contracts.js +238 -12
  624. package/dist/sdk/cli-contracts.js.map +1 -1
  625. package/dist/types.d.ts +17 -1
  626. package/dist/types.js +3 -3
  627. package/dist/types.js.map +1 -1
  628. package/docs/AGENT_GUIDE.md +15 -3
  629. package/docs/CLAUDE_CODE_PLUGIN.md +2 -2
  630. package/docs/COMMANDS.md +171 -10
  631. package/docs/CONFIGURATION.md +135 -0
  632. package/docs/TESTING.md +6 -4
  633. package/package.json +6 -4
  634. package/packages/pm-calendar/extensions/calendar/runtime.js +6 -0
  635. package/packages/pm-calendar/extensions/calendar/runtime.ts +12 -0
  636. package/packages/pm-todos/extensions/todos/runtime.ts +5 -0
  637. package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
  638. package/plugins/pm-claude/README.md +3 -3
  639. package/plugins/pm-claude/commands/pm-init.md +1 -1
  640. package/plugins/pm-codex/README.md +1 -1
  641. package/scripts/bundle-cli.mjs +46 -37
  642. package/scripts/finalize-build.mjs +20 -9
  643. package/scripts/prepare-build-cache.mjs +27 -16
  644. package/dist/cli-bundle/chunks/activity-XIOTGZMU.js +0 -16
  645. package/dist/cli-bundle/chunks/aggregate-IRHJWEKG.js.map +0 -1
  646. package/dist/cli-bundle/chunks/aggregate-XEBW22UQ.js.map +0 -7
  647. package/dist/cli-bundle/chunks/append-NL67JNJU.js.map +0 -1
  648. package/dist/cli-bundle/chunks/chunk-2ANTZBYF.js.map +0 -1
  649. package/dist/cli-bundle/chunks/chunk-2J2AH4V5.js.map +0 -1
  650. package/dist/cli-bundle/chunks/chunk-32XSW44C.js.map +0 -1
  651. package/dist/cli-bundle/chunks/chunk-36BCSMKP.js.map +0 -7
  652. package/dist/cli-bundle/chunks/chunk-3VULHQNS.js.map +0 -1
  653. package/dist/cli-bundle/chunks/chunk-4FHLNNW7.js.map +0 -7
  654. package/dist/cli-bundle/chunks/chunk-4JHJ7YG2.js.map +0 -7
  655. package/dist/cli-bundle/chunks/chunk-4TPFXE2R.js.map +0 -1
  656. package/dist/cli-bundle/chunks/chunk-4ZKKZMLH.js.map +0 -1
  657. package/dist/cli-bundle/chunks/chunk-5HSAHRYA.js.map +0 -7
  658. package/dist/cli-bundle/chunks/chunk-6TBR5AZ2.js.map +0 -7
  659. package/dist/cli-bundle/chunks/chunk-7CRFV6JR.js.map +0 -7
  660. package/dist/cli-bundle/chunks/chunk-7SM7VA5I.js.map +0 -7
  661. package/dist/cli-bundle/chunks/chunk-AAUYXSFF.js.map +0 -7
  662. package/dist/cli-bundle/chunks/chunk-AGG32LKL.js.map +0 -1
  663. package/dist/cli-bundle/chunks/chunk-AUDDXKNX.js.map +0 -1
  664. package/dist/cli-bundle/chunks/chunk-BVL5KGVA.js.map +0 -1
  665. package/dist/cli-bundle/chunks/chunk-C24PWDFG.js +0 -138
  666. package/dist/cli-bundle/chunks/chunk-C24PWDFG.js.map +0 -7
  667. package/dist/cli-bundle/chunks/chunk-HLEGAQXT.js.map +0 -7
  668. package/dist/cli-bundle/chunks/chunk-HZOX5BYD.js.map +0 -7
  669. package/dist/cli-bundle/chunks/chunk-IXVSSHGV.js.map +0 -7
  670. package/dist/cli-bundle/chunks/chunk-IZHCCG4S.js.map +0 -1
  671. package/dist/cli-bundle/chunks/chunk-JW7D6437.js.map +0 -1
  672. package/dist/cli-bundle/chunks/chunk-JWXTOYBI.js.map +0 -7
  673. package/dist/cli-bundle/chunks/chunk-KHGTYCJ6.js.map +0 -1
  674. package/dist/cli-bundle/chunks/chunk-L6YQONLM.js.map +0 -1
  675. package/dist/cli-bundle/chunks/chunk-LFW5NQUP.js.map +0 -7
  676. package/dist/cli-bundle/chunks/chunk-LYNQ3NGI.js.map +0 -1
  677. package/dist/cli-bundle/chunks/chunk-M3SI2REU.js.map +0 -7
  678. package/dist/cli-bundle/chunks/chunk-MACCNKSZ.js.map +0 -7
  679. package/dist/cli-bundle/chunks/chunk-MGAQ6KZG.js.map +0 -7
  680. package/dist/cli-bundle/chunks/chunk-PEH7SZD2.js.map +0 -7
  681. package/dist/cli-bundle/chunks/chunk-PNYAAB4S.js.map +0 -1
  682. package/dist/cli-bundle/chunks/chunk-QQG4HEX7.js.map +0 -1
  683. package/dist/cli-bundle/chunks/chunk-R4VWYWRN.js.map +0 -7
  684. package/dist/cli-bundle/chunks/chunk-RFR2YQGO.js.map +0 -1
  685. package/dist/cli-bundle/chunks/chunk-RHYBR6G7.js.map +0 -1
  686. package/dist/cli-bundle/chunks/chunk-S2CDTRJ6.js.map +0 -1
  687. package/dist/cli-bundle/chunks/chunk-SGMGMCIF.js.map +0 -1
  688. package/dist/cli-bundle/chunks/chunk-SOHXUA2Q.js.map +0 -1
  689. package/dist/cli-bundle/chunks/chunk-SQDKAEKG.js.map +0 -7
  690. package/dist/cli-bundle/chunks/chunk-TOX7YQ7X.js.map +0 -1
  691. package/dist/cli-bundle/chunks/chunk-TSXWFN3L.js.map +0 -1
  692. package/dist/cli-bundle/chunks/chunk-UCVJP4JL.js.map +0 -7
  693. package/dist/cli-bundle/chunks/chunk-V4KP3TCN.js +0 -128
  694. package/dist/cli-bundle/chunks/chunk-V4KP3TCN.js.map +0 -1
  695. package/dist/cli-bundle/chunks/chunk-VNC2HBL4.js.map +0 -1
  696. package/dist/cli-bundle/chunks/chunk-W6KNFAMZ.js.map +0 -7
  697. package/dist/cli-bundle/chunks/chunk-WLH7X4RN.js.map +0 -7
  698. package/dist/cli-bundle/chunks/chunk-XXLMJDUB.js.map +0 -7
  699. package/dist/cli-bundle/chunks/close-WOG5WTMZ.js +0 -13
  700. package/dist/cli-bundle/chunks/close-many-GKAJX54X.js.map +0 -1
  701. package/dist/cli-bundle/chunks/close-many-GL6NRUU5.js.map +0 -7
  702. package/dist/cli-bundle/chunks/comments-5FPT6L7N.js.map +0 -1
  703. package/dist/cli-bundle/chunks/comments-TOLOYWNI.js.map +0 -7
  704. package/dist/cli-bundle/chunks/config-4MN45TIH.js.map +0 -1
  705. package/dist/cli-bundle/chunks/config-7N6D7YJE.js.map +0 -7
  706. package/dist/cli-bundle/chunks/context-AQSLE7DZ.js.map +0 -1
  707. package/dist/cli-bundle/chunks/context-U3PUJMVN.js.map +0 -7
  708. package/dist/cli-bundle/chunks/contracts-H7KCQXLY.js.map +0 -7
  709. package/dist/cli-bundle/chunks/contracts-ITSJXO3O.js.map +0 -1
  710. package/dist/cli-bundle/chunks/create-NW3K7LVG.js +0 -27
  711. package/dist/cli-bundle/chunks/deps-HV2C2L46.js.map +0 -1
  712. package/dist/cli-bundle/chunks/files-LIFDKNCN.js.map +0 -7
  713. package/dist/cli-bundle/chunks/files-OIFN3DQX.js.map +0 -1
  714. package/dist/cli-bundle/chunks/get-K7UULTQF.js.map +0 -7
  715. package/dist/cli-bundle/chunks/get-SAB7CRBG.js.map +0 -1
  716. package/dist/cli-bundle/chunks/health-NUVZYIEV.js.map +0 -1
  717. package/dist/cli-bundle/chunks/health-VJWH3ZFK.js.map +0 -7
  718. package/dist/cli-bundle/chunks/history-IUVN4NTN.js +0 -20
  719. package/dist/cli-bundle/chunks/history-compact-SLL6ESXH.js.map +0 -1
  720. package/dist/cli-bundle/chunks/history-compact-WQZQ6KXM.js.map +0 -7
  721. package/dist/cli-bundle/chunks/history-redact-75KIIJUJ.js +0 -19
  722. package/dist/cli-bundle/chunks/history-repair-BJCGM6Q3.js.map +0 -1
  723. package/dist/cli-bundle/chunks/history-repair-UCYS55ZX.js.map +0 -7
  724. package/dist/cli-bundle/chunks/init-JJFYRUKG.js +0 -17
  725. package/dist/cli-bundle/chunks/learnings-L6KTZGOT.js.map +0 -1
  726. package/dist/cli-bundle/chunks/learnings-QKJOKEAO.js.map +0 -7
  727. package/dist/cli-bundle/chunks/list-GGVPXEV6.js +0 -23
  728. package/dist/cli-bundle/chunks/list-VOQDQHA4.js +0 -19
  729. package/dist/cli-bundle/chunks/notes-3NLK7WTZ.js.map +0 -1
  730. package/dist/cli-bundle/chunks/notes-HMCB7TK6.js.map +0 -7
  731. package/dist/cli-bundle/chunks/plan-DWBYI5C6.js.map +0 -1
  732. package/dist/cli-bundle/chunks/plan-NANUWH4T.js.map +0 -7
  733. package/dist/cli-bundle/chunks/register-list-query-PWQ5F2VI.js.map +0 -7
  734. package/dist/cli-bundle/chunks/register-list-query-SMMMLSWW.js.map +0 -1
  735. package/dist/cli-bundle/chunks/register-mutation-QKFPTIZG.js.map +0 -7
  736. package/dist/cli-bundle/chunks/register-mutation-ZYJQ4DVP.js.map +0 -1
  737. package/dist/cli-bundle/chunks/register-operations-2FMZ6WEF.js.map +0 -7
  738. package/dist/cli-bundle/chunks/register-operations-BAFQURZG.js.map +0 -1
  739. package/dist/cli-bundle/chunks/register-setup-DQEIKBIP.js.map +0 -7
  740. package/dist/cli-bundle/chunks/register-setup-QN2XV7UL.js.map +0 -1
  741. package/dist/cli-bundle/chunks/restore-DRBNXJJH.js +0 -17
  742. package/dist/cli-bundle/chunks/schema-RNVJ55V2.js.map +0 -7
  743. package/dist/cli-bundle/chunks/schema-ZZ7ZDM2X.js.map +0 -1
  744. package/dist/cli-bundle/chunks/search-BJ457C2A.js.map +0 -7
  745. package/dist/cli-bundle/chunks/search-FQDZXX7P.js.map +0 -1
  746. package/dist/cli-bundle/chunks/stats-CUG3ZHOI.js.map +0 -1
  747. package/dist/cli-bundle/chunks/stats-DUQWCVOS.js.map +0 -7
  748. package/dist/cli-bundle/chunks/telemetry-33MRGX4Z.js.map +0 -7
  749. package/dist/cli-bundle/chunks/telemetry-RK2VX75A.js.map +0 -1
  750. package/dist/cli-bundle/chunks/test-SDMYEQHH.js +0 -32
  751. package/dist/cli-bundle/chunks/test-all-ANYQ33O2.js.map +0 -7
  752. package/dist/cli-bundle/chunks/test-all-ARSMX33Q.js.map +0 -1
  753. package/dist/cli-bundle/chunks/test-runs-5URSD34O.js.map +0 -1
  754. package/dist/cli-bundle/chunks/test-runs-XNACGSNQ.js.map +0 -7
  755. package/dist/cli-bundle/chunks/update-PD46VOXI.js +0 -21
  756. package/dist/cli-bundle/chunks/update-U235A7WP.js +0 -25
  757. package/dist/cli-bundle/chunks/update-many-6B7PJ33I.js.map +0 -1
  758. package/dist/cli-bundle/chunks/update-many-724JCVDE.js.map +0 -7
  759. package/dist/cli-bundle/chunks/upgrade-ALBEZAI7.js.map +0 -7
  760. package/dist/cli-bundle/chunks/upgrade-QHRGDBSA.js.map +0 -1
  761. package/dist/cli-bundle/chunks/validate-IQRYFXIV.js.map +0 -1
  762. package/dist/cli-bundle/chunks/validate-UY6DRCG5.js.map +0 -7
  763. /package/dist/cli-bundle/chunks/{activity-XIOTGZMU.js.map → activity-PZYSZA26.js.map} +0 -0
  764. /package/dist/cli-bundle/chunks/{activity-PPO7QWJF.js.map → activity-SFM4THAU.js.map} +0 -0
  765. /package/dist/cli-bundle/chunks/{chunk-IIOIBAQW.js.map → chunk-26BM6YLO.js.map} +0 -0
  766. /package/dist/cli-bundle/chunks/{chunk-LSSTKL3Y.js.map → chunk-2TMKMTEI.js.map} +0 -0
  767. /package/dist/cli-bundle/chunks/{chunk-QU3OPNVV.js.map → chunk-2VH7DFSJ.js.map} +0 -0
  768. /package/dist/cli-bundle/chunks/{chunk-LGOXXQUW.js.map → chunk-5XGWFUW2.js.map} +0 -0
  769. /package/dist/cli-bundle/chunks/{chunk-Z647PYLD.js.map → chunk-AJCQ5GT6.js.map} +0 -0
  770. /package/dist/cli-bundle/chunks/{chunk-DWG4FHPY.js.map → chunk-BITCVGHT.js.map} +0 -0
  771. /package/dist/cli-bundle/chunks/{chunk-JE5IZXDS.js.map → chunk-CGQTFWYI.js.map} +0 -0
  772. /package/dist/cli-bundle/chunks/{chunk-VYZNX4C5.js.map → chunk-COVLE33A.js.map} +0 -0
  773. /package/dist/cli-bundle/chunks/{chunk-6ZFTM65G.js.map → chunk-F5MSD5HE.js.map} +0 -0
  774. /package/dist/cli-bundle/chunks/{chunk-GOO4UXBI.js.map → chunk-JZHL4E3Q.js.map} +0 -0
  775. /package/dist/cli-bundle/chunks/{chunk-NN6RKGFW.js.map → chunk-KCAGIH6K.js.map} +0 -0
  776. /package/dist/cli-bundle/chunks/{chunk-3CQPVBK3.js.map → chunk-MIBX6ZRN.js.map} +0 -0
  777. /package/dist/cli-bundle/chunks/{chunk-XOYHMHFF.js.map → chunk-UN6P3IJ4.js.map} +0 -0
  778. /package/dist/cli-bundle/chunks/{chunk-HWHONML5.js.map → chunk-VF3KQGNY.js.map} +0 -0
  779. /package/dist/cli-bundle/chunks/{claim-HE6KEGJW.js.map → claim-WGAWJCPY.js.map} +0 -0
  780. /package/dist/cli-bundle/chunks/{claim-QJOQBH7J.js.map → claim-ZI6P4LMU.js.map} +0 -0
  781. /package/dist/cli-bundle/chunks/{close-WOG5WTMZ.js.map → close-I7PRQ5G7.js.map} +0 -0
  782. /package/dist/cli-bundle/chunks/{close-SPUFW5QR.js.map → close-JMVVSIQE.js.map} +0 -0
  783. /package/dist/cli-bundle/chunks/{copy-EB3MUCSW.js.map → copy-Q2PPU4AY.js.map} +0 -0
  784. /package/dist/cli-bundle/chunks/{copy-C4W522JM.js.map → copy-SC6UF3PI.js.map} +0 -0
  785. /package/dist/cli-bundle/chunks/{create-4EQNELMY.js.map → create-76FE7JVF.js.map} +0 -0
  786. /package/dist/cli-bundle/chunks/{create-NW3K7LVG.js.map → create-RTRFW6RE.js.map} +0 -0
  787. /package/dist/cli-bundle/chunks/{delete-X5QLXIQX.js.map → delete-T6DJSUJI.js.map} +0 -0
  788. /package/dist/cli-bundle/chunks/{delete-ZLGUYIXU.js.map → delete-XFUX533E.js.map} +0 -0
  789. /package/dist/cli-bundle/chunks/{docs-SRTLCQOL.js.map → docs-HE3HCQ4S.js.map} +0 -0
  790. /package/dist/cli-bundle/chunks/{docs-RJQPLROO.js.map → docs-SXMOABHR.js.map} +0 -0
  791. /package/dist/cli-bundle/chunks/{extension-WKPVPNCC.js.map → extension-E23K4QRR.js.map} +0 -0
  792. /package/dist/cli-bundle/chunks/{extension-MM3TVWOO.js.map → extension-PMD3XMLN.js.map} +0 -0
  793. /package/dist/cli-bundle/chunks/{gc-NRFHLVFT.js.map → gc-BXIAKLAH.js.map} +0 -0
  794. /package/dist/cli-bundle/chunks/{gc-DL6AVOX5.js.map → gc-C7K6JNUO.js.map} +0 -0
  795. /package/dist/cli-bundle/chunks/{history-GYFD2DJW.js.map → history-73Z6OBFZ.js.map} +0 -0
  796. /package/dist/cli-bundle/chunks/{history-IUVN4NTN.js.map → history-BIPHVUMF.js.map} +0 -0
  797. /package/dist/cli-bundle/chunks/{history-redact-SDTDR6WM.js.map → history-redact-7YCXEWJD.js.map} +0 -0
  798. /package/dist/cli-bundle/chunks/{history-redact-75KIIJUJ.js.map → history-redact-WZZ6GZ2Z.js.map} +0 -0
  799. /package/dist/cli-bundle/chunks/{init-JJFYRUKG.js.map → init-K34V4PZR.js.map} +0 -0
  800. /package/dist/cli-bundle/chunks/{init-MXV57LKL.js.map → init-TDEDNVMM.js.map} +0 -0
  801. /package/dist/cli-bundle/chunks/{list-GGVPXEV6.js.map → list-MSHYOCFU.js.map} +0 -0
  802. /package/dist/cli-bundle/chunks/{list-VOQDQHA4.js.map → list-VV57WGUD.js.map} +0 -0
  803. /package/dist/cli-bundle/chunks/{restore-FJQWXMPY.js.map → restore-TSWSULYY.js.map} +0 -0
  804. /package/dist/cli-bundle/chunks/{restore-DRBNXJJH.js.map → restore-XQXICL3V.js.map} +0 -0
  805. /package/dist/cli-bundle/chunks/{test-SDMYEQHH.js.map → test-AROS3LIV.js.map} +0 -0
  806. /package/dist/cli-bundle/chunks/{test-Y3CTFMEC.js.map → test-CECIMKOA.js.map} +0 -0
  807. /package/dist/cli-bundle/chunks/{update-PD46VOXI.js.map → update-MIWEJC76.js.map} +0 -0
  808. /package/dist/cli-bundle/chunks/{update-U235A7WP.js.map → update-P7I5YSRB.js.map} +0 -0
@@ -1,30 +1,39 @@
1
+ import {
2
+ TYPE_PRESET_NAMES,
3
+ normalizeTypePresetName,
4
+ resolveTypePresetDefinitions
5
+ } from "./chunk-TEFEXQWI.js";
1
6
  import {
2
7
  assertAliasesAvailable,
8
+ assertTypeFolderAvailable,
3
9
  buildInvalidTypeHint,
4
10
  escapeForDoubleQuotes,
11
+ matchBuiltinTypeName,
5
12
  normalizeAddTypeInput,
6
13
  parseItemTypesFile,
7
14
  removeItemType,
8
15
  serializeItemTypesFile,
9
16
  upsertItemType
10
- } from "./chunk-UCVJP4JL.js";
17
+ } from "./chunk-5FDYWOJT.js";
11
18
  import {
12
19
  acquireLock,
13
20
  listAllFrontMatterLight
14
- } from "./chunk-XXLMJDUB.js";
15
- import "./chunk-LGOXXQUW.js";
16
- import "./chunk-MACCNKSZ.js";
21
+ } from "./chunk-KA22USXD.js";
22
+ import "./chunk-5XGWFUW2.js";
23
+ import "./chunk-TBV33CB4.js";
17
24
  import {
18
25
  resolveItemTypeRegistry
19
- } from "./chunk-W6KNFAMZ.js";
26
+ } from "./chunk-QXMXRPX5.js";
20
27
  import {
21
28
  nowIso
22
- } from "./chunk-IXVSSHGV.js";
29
+ } from "./chunk-LNH5Q32E.js";
23
30
  import {
24
31
  DEFAULT_RUNTIME_SCHEMA_FILE_PATHS,
25
32
  DEFAULT_RUNTIME_STATUS_DEFINITIONS,
26
33
  EXIT_CODE,
27
34
  PmCliError,
35
+ RUNTIME_FIELD_COMMAND_VALUES,
36
+ RUNTIME_FIELD_TYPE_VALUES,
28
37
  RUNTIME_STATUS_ROLE_VALUES,
29
38
  filePathForSchemaSection,
30
39
  getActiveExtensionRegistrations,
@@ -35,10 +44,11 @@ import {
35
44
  readSettings,
36
45
  resolveGovernanceKnobs,
37
46
  resolvePmRoot,
47
+ resolveRuntimeFieldRegistry,
38
48
  resolveRuntimeStatusRegistry,
39
49
  runActiveOnWriteHooks,
40
50
  writeFileAtomic
41
- } from "./chunk-LFW5NQUP.js";
51
+ } from "./chunk-CHM2VFVL.js";
42
52
 
43
53
  // dist/core/schema/status-defs-file.js
44
54
  !(function() {
@@ -222,11 +232,321 @@ function assertStatusTokensAvailable(input, resolvedAliasToId) {
222
232
  }
223
233
  }
224
234
 
235
+ // dist/core/schema/fields-file.js
236
+ !(function() {
237
+ try {
238
+ var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
239
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "01bca6b9-49d3-5785-9d18-8399a0aac293");
240
+ } catch (e2) {
241
+ }
242
+ })();
243
+ var RUNTIME_FIELD_TYPE_SET = new Set(RUNTIME_FIELD_TYPE_VALUES);
244
+ var RUNTIME_FIELD_COMMAND_SET = new Set(RUNTIME_FIELD_COMMAND_VALUES);
245
+ var BUILTIN_FIELD_KEYS = /* @__PURE__ */ new Set([
246
+ "id",
247
+ "title",
248
+ "type",
249
+ "status",
250
+ "priority",
251
+ "tags",
252
+ "assignee",
253
+ "parent",
254
+ "description",
255
+ "body",
256
+ "created_at",
257
+ "updated_at",
258
+ "closed_at",
259
+ "author",
260
+ "deadline",
261
+ "estimate",
262
+ "sprint",
263
+ "release",
264
+ "risk",
265
+ "confidence",
266
+ "reviewer",
267
+ "resolution",
268
+ "expected",
269
+ "actual"
270
+ ]);
271
+ var DEFAULT_FIELD_COMMANDS = ["create", "update"];
272
+ function normalizeFieldKey(value) {
273
+ return typeof value === "string" ? value.trim().toLowerCase().replaceAll(/[\s-]+/g, "_") : "";
274
+ }
275
+ function normalizeCliToken(value) {
276
+ if (typeof value !== "string") {
277
+ return "";
278
+ }
279
+ const collapsed = value.trim().toLowerCase().replaceAll(/[\s_]+/g, "-");
280
+ return collapsed.startsWith("--") ? collapsed.slice(2) : collapsed;
281
+ }
282
+ function keyToDefaultCliFlag(key) {
283
+ return key.replaceAll("_", "-");
284
+ }
285
+ function dedupeCliTokens(values, exclude) {
286
+ const seen = /* @__PURE__ */ new Set();
287
+ for (const value of values) {
288
+ const token = normalizeCliToken(value);
289
+ if (token.length > 0 && token !== exclude) {
290
+ seen.add(token);
291
+ }
292
+ }
293
+ return [...seen].sort((left, right) => left.localeCompare(right));
294
+ }
295
+ function dedupeStringList(values) {
296
+ const seen = /* @__PURE__ */ new Set();
297
+ for (const value of values ?? []) {
298
+ const trimmed = value.trim();
299
+ if (trimmed.length > 0) {
300
+ seen.add(trimmed);
301
+ }
302
+ }
303
+ return [...seen].sort((left, right) => left.localeCompare(right));
304
+ }
305
+ function normalizeAddFieldInput(raw) {
306
+ const key = normalizeFieldKey(raw.key);
307
+ if (key.length === 0) {
308
+ throw new Error("Field key must not be empty.");
309
+ }
310
+ if (BUILTIN_FIELD_KEYS.has(key)) {
311
+ throw new Error(`Cannot define custom field "${key}": it shadows a built-in field. Built-in fields are reserved.`);
312
+ }
313
+ const typeCandidate = typeof raw.type === "string" && raw.type.trim().length > 0 ? raw.type.trim().toLowerCase() : "string";
314
+ if (!RUNTIME_FIELD_TYPE_SET.has(typeCandidate)) {
315
+ throw new Error(`Invalid field type "${raw.type}". Allowed: ${RUNTIME_FIELD_TYPE_VALUES.join(", ")}.`);
316
+ }
317
+ const type = typeCandidate;
318
+ let commands;
319
+ if (raw.commands === void 0) {
320
+ commands = [...DEFAULT_FIELD_COMMANDS];
321
+ } else {
322
+ const seen = /* @__PURE__ */ new Set();
323
+ const normalized = [];
324
+ for (const rawCommand of raw.commands) {
325
+ const command = rawCommand.trim().toLowerCase();
326
+ if (command.length === 0) {
327
+ continue;
328
+ }
329
+ if (!RUNTIME_FIELD_COMMAND_SET.has(command)) {
330
+ throw new Error(`Invalid field command "${rawCommand}". Allowed: ${RUNTIME_FIELD_COMMAND_VALUES.join(", ")}.`);
331
+ }
332
+ if (!seen.has(command)) {
333
+ seen.add(command);
334
+ normalized.push(command);
335
+ }
336
+ }
337
+ commands = normalized.length > 0 ? normalized : [...DEFAULT_FIELD_COMMANDS];
338
+ }
339
+ const cliFlagToken = normalizeCliToken(raw.cliFlag);
340
+ const cliFlag = cliFlagToken.length > 0 && cliFlagToken !== keyToDefaultCliFlag(key) ? cliFlagToken : void 0;
341
+ const effectiveFlag = cliFlag ?? keyToDefaultCliFlag(key);
342
+ const cliAliases = dedupeCliTokens(raw.aliases ?? [], effectiveFlag);
343
+ const description = raw.description?.trim();
344
+ return {
345
+ key,
346
+ type,
347
+ commands,
348
+ description: description && description.length > 0 ? description : void 0,
349
+ cliFlag,
350
+ cliAliases,
351
+ required: raw.required === true,
352
+ requiredOnCreate: raw.requiredOnCreate === true,
353
+ // allow_unset defaults to true (omitted) and is only persisted when an
354
+ // operator explicitly disables it with --no-allow-unset (allowUnset === false).
355
+ allowUnset: raw.allowUnset !== false,
356
+ requiredTypes: dedupeStringList(raw.requiredTypes)
357
+ };
358
+ }
359
+ function selectFieldsArray(parsed) {
360
+ if (Array.isArray(parsed)) {
361
+ return parsed;
362
+ }
363
+ if (typeof parsed !== "object" || parsed === null) {
364
+ return void 0;
365
+ }
366
+ const record = parsed;
367
+ if (Array.isArray(record.fields)) {
368
+ return record.fields;
369
+ }
370
+ if (Array.isArray(record.definitions)) {
371
+ return record.definitions;
372
+ }
373
+ return void 0;
374
+ }
375
+ function extractFieldDefinitions(parsed) {
376
+ const candidate = selectFieldsArray(parsed);
377
+ if (!candidate) {
378
+ return [];
379
+ }
380
+ const definitions = [];
381
+ for (const entry of candidate) {
382
+ if (typeof entry !== "object" || entry === null || Array.isArray(entry)) {
383
+ continue;
384
+ }
385
+ const record = entry;
386
+ if (typeof record.key !== "string" || record.key.trim().length === 0) {
387
+ continue;
388
+ }
389
+ definitions.push(record);
390
+ }
391
+ return definitions;
392
+ }
393
+ function parseFieldsFile(raw) {
394
+ if (raw === null || raw === void 0 || raw.trim().length === 0) {
395
+ return { fields: [] };
396
+ }
397
+ let parsed;
398
+ try {
399
+ parsed = JSON.parse(raw);
400
+ } catch {
401
+ throw new Error("schema/fields.json contains invalid JSON.");
402
+ }
403
+ return { fields: extractFieldDefinitions(parsed) };
404
+ }
405
+ function serializeFieldsFile(file) {
406
+ return `${JSON.stringify({ fields: file.fields }, null, 2)}
407
+ `;
408
+ }
409
+ function upsertField(file, input) {
410
+ const existing = file.fields.find((definition) => normalizeFieldKey(definition.key) === input.key);
411
+ const replaced = existing !== void 0;
412
+ const fields = file.fields.filter((definition) => normalizeFieldKey(definition.key) !== input.key);
413
+ const next = {
414
+ ...existing ?? {},
415
+ key: input.key,
416
+ type: input.type,
417
+ commands: [...input.commands]
418
+ };
419
+ applyOptionalString(next, "description", input.description);
420
+ applyOptionalString(next, "cli_flag", input.cliFlag);
421
+ if (input.cliAliases.length > 0) {
422
+ next.cli_aliases = [...input.cliAliases];
423
+ } else {
424
+ delete next.cli_aliases;
425
+ }
426
+ applyBooleanFlag(next, "required", input.required);
427
+ applyBooleanFlag(next, "required_on_create", input.requiredOnCreate);
428
+ if (input.allowUnset === false) {
429
+ next.allow_unset = false;
430
+ } else {
431
+ delete next.allow_unset;
432
+ }
433
+ if (input.requiredTypes.length > 0) {
434
+ next.required_types = [...input.requiredTypes];
435
+ } else {
436
+ delete next.required_types;
437
+ }
438
+ fields.push(next);
439
+ fields.sort((left, right) => normalizeFieldKey(left.key).localeCompare(normalizeFieldKey(right.key)));
440
+ return {
441
+ file: { fields },
442
+ definition: next,
443
+ replaced
444
+ };
445
+ }
446
+ function removeField(file, key) {
447
+ const normalizedKey = normalizeFieldKey(key);
448
+ if (normalizedKey.length === 0) {
449
+ throw new Error("Field key must not be empty.");
450
+ }
451
+ const removed = [];
452
+ const fields = file.fields.filter((definition) => {
453
+ if (normalizeFieldKey(definition.key) === normalizedKey) {
454
+ removed.push(definition);
455
+ return false;
456
+ }
457
+ return true;
458
+ });
459
+ if (removed.length === 0) {
460
+ return { file: { fields }, removed: false };
461
+ }
462
+ return { file: { fields }, removed: true, definition: removed[0] };
463
+ }
464
+ function applyOptionalString(definition, key, value) {
465
+ const record = definition;
466
+ if (value !== void 0 && value.length > 0) {
467
+ record[key] = value;
468
+ } else {
469
+ delete record[key];
470
+ }
471
+ }
472
+ function applyBooleanFlag(definition, key, value) {
473
+ const record = definition;
474
+ if (value) {
475
+ record[key] = true;
476
+ } else {
477
+ delete record[key];
478
+ }
479
+ }
480
+
481
+ // dist/core/schema/type-inference.js
482
+ !(function() {
483
+ try {
484
+ var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
485
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "7ded2b63-46ff-5a7e-a47f-5a4488da1cae");
486
+ } catch (e2) {
487
+ }
488
+ })();
489
+ var PREFIX_PATTERN = /^([A-Za-z][A-Za-z0-9_-]*?)\s*[-:]\s+\S/;
490
+ function extractTitlePrefix(title) {
491
+ const match = PREFIX_PATTERN.exec(title.trim());
492
+ if (!match) {
493
+ return void 0;
494
+ }
495
+ const token = match[1];
496
+ if (token.length < 2) {
497
+ return void 0;
498
+ }
499
+ if (/^[A-Za-z]\d+$/.test(token)) {
500
+ return void 0;
501
+ }
502
+ return token.toLowerCase();
503
+ }
504
+ function prefixToTypeName(prefix) {
505
+ return prefix.split(/[-_]+/).filter((segment) => segment.length > 0).map((segment) => `${segment.slice(0, 1).toUpperCase()}${segment.slice(1).toLowerCase()}`).join("");
506
+ }
507
+ function inferTypesFromTitles(titles, options = {}) {
508
+ const minCount = typeof options.minCount === "number" && options.minCount > 0 ? Math.trunc(options.minCount) : 10;
509
+ const maxExamples = typeof options.maxExamples === "number" && options.maxExamples > 0 ? Math.trunc(options.maxExamples) : 3;
510
+ const byPrefix = /* @__PURE__ */ new Map();
511
+ for (const rawTitle of titles) {
512
+ const title = typeof rawTitle === "string" ? rawTitle.trim() : "";
513
+ if (title.length === 0) {
514
+ continue;
515
+ }
516
+ const prefix = extractTitlePrefix(title);
517
+ if (prefix === void 0) {
518
+ continue;
519
+ }
520
+ const bucket = byPrefix.get(prefix) ?? { count: 0, examples: [] };
521
+ bucket.count += 1;
522
+ if (bucket.examples.length < maxExamples) {
523
+ bucket.examples.push(title);
524
+ }
525
+ byPrefix.set(prefix, bucket);
526
+ }
527
+ const candidates = [];
528
+ for (const [prefix, bucket] of byPrefix.entries()) {
529
+ if (bucket.count < minCount) {
530
+ continue;
531
+ }
532
+ const name = prefixToTypeName(prefix);
533
+ candidates.push({
534
+ name,
535
+ prefix,
536
+ count: bucket.count,
537
+ examples: bucket.examples,
538
+ shadows_builtin: matchBuiltinTypeName(name) !== void 0
539
+ });
540
+ }
541
+ candidates.sort((left, right) => right.count - left.count || left.name.localeCompare(right.name));
542
+ return candidates;
543
+ }
544
+
225
545
  // dist/cli/commands/schema.js
226
546
  !(function() {
227
547
  try {
228
548
  var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
229
- n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "9d4a7b53-9dc6-5322-bda5-cbf96ef11df1");
549
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "09f8790c-5e80-5dab-92c7-b3cf333fcb58");
230
550
  } catch (e2) {
231
551
  }
232
552
  })();
@@ -235,12 +555,18 @@ var SCHEMA_SUBCOMMANDS = [
235
555
  "remove-type",
236
556
  "add-status",
237
557
  "remove-status",
558
+ "add-field",
559
+ "remove-field",
560
+ "list-fields",
561
+ "show-field",
562
+ "apply-preset",
238
563
  "list",
239
564
  "show",
240
565
  "show-status"
241
566
  ];
242
567
  var SCHEMA_TYPES_LOCK_ID = "schema-types";
243
568
  var SCHEMA_STATUSES_LOCK_ID = "schema-statuses";
569
+ var SCHEMA_FIELDS_LOCK_ID = "schema-fields";
244
570
  function toAuthor(candidate, defaultAuthor) {
245
571
  const resolved = candidate ?? process.env.PM_AUTHOR ?? defaultAuthor;
246
572
  const trimmed = resolved.trim();
@@ -281,10 +607,22 @@ async function runSchemaAddType(name, options, global2) {
281
607
  }
282
608
  try {
283
609
  assertAliasesAvailable(normalized, parsed);
610
+ const reservedFolders = /* @__PURE__ */ new Map();
611
+ const resolvedRegistry = resolveItemTypeRegistry(settings, getActiveExtensionRegistrations());
612
+ for (const [typeName, folder] of Object.entries(resolvedRegistry.type_to_folder)) {
613
+ const folderKey = folder.trim().toLowerCase();
614
+ if (folderKey.length > 0 && !reservedFolders.has(folderKey)) {
615
+ reservedFolders.set(folderKey, typeName);
616
+ }
617
+ }
618
+ assertTypeFolderAvailable(normalized, parsed, reservedFolders);
284
619
  } catch (error) {
285
620
  throw new PmCliError(error instanceof Error ? error.message : String(error), EXIT_CODE.USAGE);
286
621
  }
287
622
  upsert = upsertItemType(parsed, normalized);
623
+ if (upsert.replaced && upsert.previousName !== void 0 && upsert.previousName !== upsert.definition.name) {
624
+ warnings.push(`type_recased:${upsert.previousName}->${upsert.definition.name}`);
625
+ }
288
626
  await writeFileAtomic(typesPath, serializeItemTypesFile(upsert.file));
289
627
  warnings.push(...await runActiveOnWriteHooks({
290
628
  path: typesPath,
@@ -397,6 +735,26 @@ async function runSchemaRemoveType(name, options, global2) {
397
735
  function statusesPathFor(pmRoot, schema) {
398
736
  return filePathForSchemaSection(pmRoot, schema.files.statuses, DEFAULT_RUNTIME_SCHEMA_FILE_PATHS.statuses);
399
737
  }
738
+ function fieldsPathFor(pmRoot, schema) {
739
+ return filePathForSchemaSection(pmRoot, schema.files.fields, DEFAULT_RUNTIME_SCHEMA_FILE_PATHS.fields);
740
+ }
741
+ function typesPathFor(pmRoot, schema) {
742
+ return filePathForSchemaSection(pmRoot, schema.files.types, DEFAULT_RUNTIME_SCHEMA_FILE_PATHS.types);
743
+ }
744
+ function toSchemaFieldSummary(field) {
745
+ return {
746
+ key: field.key,
747
+ type: field.type,
748
+ commands: [...field.commands],
749
+ cli_flag: `--${field.cli_flag}`,
750
+ cli_aliases: field.cli_aliases.map((alias) => `--${alias}`),
751
+ ...field.description ? { description: field.description } : {},
752
+ required: field.required,
753
+ required_on_create: field.required_on_create,
754
+ allow_unset: field.allow_unset,
755
+ required_types: [...field.required_types]
756
+ };
757
+ }
400
758
  async function runSchemaAddStatus(id, options, global2) {
401
759
  const pmRoot = resolvePmRoot(process.cwd(), global2.path);
402
760
  await ensureInitialized(pmRoot);
@@ -632,6 +990,7 @@ async function loadSchemaInspectionContext(global2) {
632
990
  const extensionProvenance = collectExtensionTypeProvenance();
633
991
  const customNames = new Set((settings.item_types?.definitions ?? []).map((definition) => definition.name.trim().toLowerCase()).filter((name) => name.length > 0 && !extensionProvenance.has(name)));
634
992
  return {
993
+ pmRoot,
635
994
  typesPath,
636
995
  statusesPath,
637
996
  byType: registry.by_type,
@@ -657,6 +1016,7 @@ async function runSchemaList(global2) {
657
1016
  }
658
1017
  }
659
1018
  const statusSummaries = buildSchemaStatusSummaries(context.schema);
1019
+ const fieldSummaries = resolveRuntimeFieldRegistry(context.schema).definitions.map(toSchemaFieldSummary);
660
1020
  return {
661
1021
  action: "list",
662
1022
  builtin,
@@ -677,6 +1037,12 @@ async function runSchemaList(global2) {
677
1037
  total: statusSummaries.builtin.length + statusSummaries.custom.length
678
1038
  }
679
1039
  },
1040
+ fields: {
1041
+ custom: fieldSummaries,
1042
+ counts: {
1043
+ total: fieldSummaries.length
1044
+ }
1045
+ },
680
1046
  file: {
681
1047
  path: context.typesPath
682
1048
  },
@@ -723,6 +1089,331 @@ async function runSchemaShowStatus(id, global2) {
723
1089
  generated_at: nowIso()
724
1090
  };
725
1091
  }
1092
+ async function runSchemaAddField(key, options, global2) {
1093
+ const pmRoot = resolvePmRoot(process.cwd(), global2.path);
1094
+ await ensureInitialized(pmRoot);
1095
+ let normalized;
1096
+ try {
1097
+ normalized = normalizeAddFieldInput({
1098
+ key,
1099
+ type: options.type,
1100
+ commands: options.commands,
1101
+ description: options.description,
1102
+ cliFlag: options.cliFlag,
1103
+ aliases: options.alias,
1104
+ required: options.required,
1105
+ requiredOnCreate: options.requiredOnCreate,
1106
+ allowUnset: options.allowUnset,
1107
+ requiredTypes: options.requiredTypes
1108
+ });
1109
+ } catch (error) {
1110
+ throw new PmCliError(error instanceof Error ? error.message : String(error), EXIT_CODE.USAGE);
1111
+ }
1112
+ const settings = await readSettings(pmRoot);
1113
+ const schema = normalizeRuntimeSchemaSettings(settings.schema);
1114
+ const fieldsPath = fieldsPathFor(pmRoot, schema);
1115
+ const warnings = [];
1116
+ const author = toAuthor(options.author, settings.author_default);
1117
+ const governance = resolveGovernanceKnobs(settings);
1118
+ const releaseLock = await acquireLock(pmRoot, SCHEMA_FIELDS_LOCK_ID, settings.locks.ttl_seconds, author, Boolean(options.force), governance.force_required_for_stale_lock);
1119
+ let upsert;
1120
+ try {
1121
+ const previousRaw = await readFileIfExists(fieldsPath);
1122
+ let parsed;
1123
+ try {
1124
+ parsed = parseFieldsFile(previousRaw);
1125
+ } catch (error) {
1126
+ throw new PmCliError(error instanceof Error ? error.message : String(error), EXIT_CODE.GENERIC_FAILURE);
1127
+ }
1128
+ upsert = upsertField(parsed, normalized);
1129
+ await writeFileAtomic(fieldsPath, serializeFieldsFile(upsert.file));
1130
+ warnings.push(...await runActiveOnWriteHooks({
1131
+ path: fieldsPath,
1132
+ scope: "project",
1133
+ op: "schema:add-field"
1134
+ }));
1135
+ } finally {
1136
+ await releaseLock();
1137
+ }
1138
+ return {
1139
+ action: "add-field",
1140
+ registered: true,
1141
+ replaced: upsert.replaced,
1142
+ field: upsert.definition,
1143
+ file: {
1144
+ path: fieldsPath,
1145
+ fields: upsert.file.fields.length
1146
+ },
1147
+ warnings: [...new Set(warnings)].sort((left, right) => left.localeCompare(right)),
1148
+ generated_at: nowIso()
1149
+ };
1150
+ }
1151
+ async function countItemsUsingField(pmRoot, settings, schema, metadataKey) {
1152
+ const registry = resolveItemTypeRegistry(settings, getActiveExtensionRegistrations());
1153
+ const items = await listAllFrontMatterLight(pmRoot, settings.item_format, registry.type_to_folder, [], schema);
1154
+ return items.filter((item) => {
1155
+ const value = item[metadataKey];
1156
+ if (value === void 0 || value === null) {
1157
+ return false;
1158
+ }
1159
+ if (Array.isArray(value)) {
1160
+ return value.length > 0;
1161
+ }
1162
+ if (typeof value === "string") {
1163
+ return value.trim().length > 0;
1164
+ }
1165
+ return true;
1166
+ }).length;
1167
+ }
1168
+ async function runSchemaRemoveField(key, options, global2) {
1169
+ const pmRoot = resolvePmRoot(process.cwd(), global2.path);
1170
+ await ensureInitialized(pmRoot);
1171
+ const settings = await readSettings(pmRoot);
1172
+ const schema = normalizeRuntimeSchemaSettings(settings.schema);
1173
+ const fieldsPath = fieldsPathFor(pmRoot, schema);
1174
+ const warnings = [];
1175
+ const author = toAuthor(options.author, settings.author_default);
1176
+ const governance = resolveGovernanceKnobs(settings);
1177
+ const releaseLock = await acquireLock(pmRoot, SCHEMA_FIELDS_LOCK_ID, settings.locks.ttl_seconds, author, Boolean(options.force), governance.force_required_for_stale_lock);
1178
+ let removal;
1179
+ try {
1180
+ const previousRaw = await readFileIfExists(fieldsPath);
1181
+ let parsed;
1182
+ try {
1183
+ parsed = parseFieldsFile(previousRaw);
1184
+ } catch (error) {
1185
+ throw new PmCliError(error instanceof Error ? error.message : String(error), EXIT_CODE.GENERIC_FAILURE);
1186
+ }
1187
+ try {
1188
+ removal = removeField(parsed, key);
1189
+ } catch (error) {
1190
+ throw new PmCliError(error instanceof Error ? error.message : String(error), EXIT_CODE.USAGE);
1191
+ }
1192
+ if (removal.removed) {
1193
+ const removedKey = normalizeFieldKey(removal.definition?.key ?? key);
1194
+ const metadataKey = normalizeFieldKey(removal.definition?.metadata_key ?? removal.definition?.front_matter_key ?? removedKey);
1195
+ if (metadataKey.length > 0) {
1196
+ const usingField = await countItemsUsingField(pmRoot, settings, schema, metadataKey);
1197
+ if (usingField > 0) {
1198
+ warnings.push(`items_using_field:${usingField}`);
1199
+ }
1200
+ }
1201
+ await writeFileAtomic(fieldsPath, serializeFieldsFile(removal.file));
1202
+ warnings.push(...await runActiveOnWriteHooks({
1203
+ path: fieldsPath,
1204
+ scope: "project",
1205
+ op: "schema:remove-field"
1206
+ }));
1207
+ }
1208
+ } finally {
1209
+ await releaseLock();
1210
+ }
1211
+ return {
1212
+ action: "remove-field",
1213
+ removed: removal.removed,
1214
+ ...removal.definition ? { field: removal.definition } : {},
1215
+ file: {
1216
+ path: fieldsPath,
1217
+ fields: removal.file.fields.length
1218
+ },
1219
+ warnings: [...new Set(warnings)].sort((left, right) => left.localeCompare(right)),
1220
+ generated_at: nowIso()
1221
+ };
1222
+ }
1223
+ async function runSchemaListFields(global2) {
1224
+ const context = await loadSchemaInspectionContext(global2);
1225
+ const fields = resolveRuntimeFieldRegistry(context.schema).definitions.map(toSchemaFieldSummary);
1226
+ return {
1227
+ action: "list-fields",
1228
+ fields,
1229
+ counts: {
1230
+ total: fields.length
1231
+ },
1232
+ file: {
1233
+ path: fieldsPathFor(context.pmRoot, context.schema)
1234
+ },
1235
+ generated_at: nowIso()
1236
+ };
1237
+ }
1238
+ async function runSchemaShowField(key, global2) {
1239
+ const fieldKey = normalizeFieldKey(key);
1240
+ if (fieldKey.length === 0) {
1241
+ throw new PmCliError("Field key must not be empty.", EXIT_CODE.USAGE);
1242
+ }
1243
+ const context = await loadSchemaInspectionContext(global2);
1244
+ const match = resolveRuntimeFieldRegistry(context.schema).by_key.get(fieldKey);
1245
+ if (!match) {
1246
+ throw new PmCliError(`Unknown custom field "${key}". Run pm schema list-fields to inspect registered fields, or pm schema add-field "${escapeForDoubleQuotes(key ?? "")}" to register it.`, EXIT_CODE.NOT_FOUND, { code: "unknown_field" });
1247
+ }
1248
+ return {
1249
+ action: "show-field",
1250
+ field: toSchemaFieldSummary(match),
1251
+ file: {
1252
+ path: fieldsPathFor(context.pmRoot, context.schema)
1253
+ },
1254
+ generated_at: nowIso()
1255
+ };
1256
+ }
1257
+ async function runSchemaApplyPreset(preset, options, global2) {
1258
+ const pmRoot = resolvePmRoot(process.cwd(), global2.path);
1259
+ await ensureInitialized(pmRoot);
1260
+ let presetName;
1261
+ try {
1262
+ const normalized = normalizeTypePresetName(preset);
1263
+ if (normalized === void 0) {
1264
+ throw new Error(`Type preset name is required. Allowed: ${TYPE_PRESET_NAMES.join(", ")}.`);
1265
+ }
1266
+ presetName = normalized;
1267
+ } catch (error) {
1268
+ throw new PmCliError(error instanceof Error ? error.message : String(error), EXIT_CODE.USAGE);
1269
+ }
1270
+ const settings = await readSettings(pmRoot);
1271
+ const schema = normalizeRuntimeSchemaSettings(settings.schema);
1272
+ const typesPath = typesPathFor(pmRoot, schema);
1273
+ const warnings = [];
1274
+ const author = toAuthor(options.author, settings.author_default);
1275
+ const governance = resolveGovernanceKnobs(settings);
1276
+ const registered = [];
1277
+ const replaced = [];
1278
+ let definitionsCount = 0;
1279
+ const releaseLock = await acquireLock(pmRoot, SCHEMA_TYPES_LOCK_ID, settings.locks.ttl_seconds, author, Boolean(options.force), governance.force_required_for_stale_lock);
1280
+ try {
1281
+ const previousRaw = await readFileIfExists(typesPath);
1282
+ let parsed;
1283
+ try {
1284
+ parsed = parseItemTypesFile(previousRaw);
1285
+ } catch (error) {
1286
+ throw new PmCliError(error instanceof Error ? error.message : String(error), EXIT_CODE.GENERIC_FAILURE);
1287
+ }
1288
+ let nextFile = parsed;
1289
+ for (const normalized of resolveTypePresetDefinitions(presetName)) {
1290
+ const upsert = upsertItemType(nextFile, normalized);
1291
+ nextFile = upsert.file;
1292
+ (upsert.replaced ? replaced : registered).push(upsert.definition.name);
1293
+ }
1294
+ definitionsCount = nextFile.definitions.length;
1295
+ await writeFileAtomic(typesPath, serializeItemTypesFile(nextFile));
1296
+ warnings.push(...await runActiveOnWriteHooks({
1297
+ path: typesPath,
1298
+ scope: "project",
1299
+ op: "schema:apply-preset"
1300
+ }));
1301
+ } finally {
1302
+ await releaseLock();
1303
+ }
1304
+ return {
1305
+ action: "apply-preset",
1306
+ preset: presetName,
1307
+ registered,
1308
+ replaced,
1309
+ file: {
1310
+ path: typesPath,
1311
+ definitions: definitionsCount
1312
+ },
1313
+ warnings: [...new Set(warnings)].sort((left, right) => left.localeCompare(right)),
1314
+ generated_at: nowIso()
1315
+ };
1316
+ }
1317
+ async function runSchemaInferTypes(options, global2) {
1318
+ const pmRoot = resolvePmRoot(process.cwd(), global2.path);
1319
+ await ensureInitialized(pmRoot);
1320
+ const settings = await readSettings(pmRoot);
1321
+ const schema = normalizeRuntimeSchemaSettings(settings.schema);
1322
+ const typesPath = typesPathFor(pmRoot, schema);
1323
+ let minCount = 10;
1324
+ if (options.minCount !== void 0) {
1325
+ if (!Number.isInteger(options.minCount) || options.minCount < 1) {
1326
+ throw new PmCliError("--min-count must be a positive integer (>= 1).", EXIT_CODE.USAGE);
1327
+ }
1328
+ minCount = options.minCount;
1329
+ }
1330
+ const registry = resolveItemTypeRegistry(settings, getActiveExtensionRegistrations());
1331
+ const items = await listAllFrontMatterLight(pmRoot, settings.item_format, registry.type_to_folder, [], schema);
1332
+ const titles = items.map((item) => typeof item.title === "string" ? item.title : "");
1333
+ const candidates = inferTypesFromTitles(titles, { minCount });
1334
+ const warnings = [];
1335
+ const registered = [];
1336
+ const replaced = [];
1337
+ const skipped = [];
1338
+ let definitionsCount;
1339
+ if (!options.apply) {
1340
+ let parsed;
1341
+ try {
1342
+ parsed = parseItemTypesFile(await readFileIfExists(typesPath));
1343
+ } catch (error) {
1344
+ throw new PmCliError(error instanceof Error ? error.message : String(error), EXIT_CODE.GENERIC_FAILURE);
1345
+ }
1346
+ definitionsCount = parsed.definitions.length;
1347
+ return {
1348
+ action: "infer-types",
1349
+ applied: false,
1350
+ min_count: minCount,
1351
+ candidates,
1352
+ registered,
1353
+ replaced,
1354
+ skipped,
1355
+ file: {
1356
+ path: typesPath,
1357
+ definitions: definitionsCount
1358
+ },
1359
+ warnings,
1360
+ generated_at: nowIso()
1361
+ };
1362
+ }
1363
+ const author = toAuthor(options.author, settings.author_default);
1364
+ const governance = resolveGovernanceKnobs(settings);
1365
+ const releaseLock = await acquireLock(pmRoot, SCHEMA_TYPES_LOCK_ID, settings.locks.ttl_seconds, author, Boolean(options.force), governance.force_required_for_stale_lock);
1366
+ try {
1367
+ const previousRaw = await readFileIfExists(typesPath);
1368
+ let parsed;
1369
+ try {
1370
+ parsed = parseItemTypesFile(previousRaw);
1371
+ } catch (error) {
1372
+ throw new PmCliError(error instanceof Error ? error.message : String(error), EXIT_CODE.GENERIC_FAILURE);
1373
+ }
1374
+ let nextFile = parsed;
1375
+ for (const candidate of candidates) {
1376
+ if (candidate.shadows_builtin) {
1377
+ skipped.push({ name: candidate.name, reason: "shadows_builtin" });
1378
+ continue;
1379
+ }
1380
+ let normalized;
1381
+ try {
1382
+ normalized = normalizeAddTypeInput({ name: candidate.name });
1383
+ } catch {
1384
+ skipped.push({ name: candidate.name, reason: "invalid_type_token" });
1385
+ continue;
1386
+ }
1387
+ const upsert = upsertItemType(nextFile, normalized);
1388
+ nextFile = upsert.file;
1389
+ (upsert.replaced ? replaced : registered).push(upsert.definition.name);
1390
+ }
1391
+ definitionsCount = nextFile.definitions.length;
1392
+ await writeFileAtomic(typesPath, serializeItemTypesFile(nextFile));
1393
+ warnings.push(...await runActiveOnWriteHooks({
1394
+ path: typesPath,
1395
+ scope: "project",
1396
+ op: "schema:infer-types"
1397
+ }));
1398
+ } finally {
1399
+ await releaseLock();
1400
+ }
1401
+ return {
1402
+ action: "infer-types",
1403
+ applied: true,
1404
+ min_count: minCount,
1405
+ candidates,
1406
+ registered,
1407
+ replaced,
1408
+ skipped,
1409
+ file: {
1410
+ path: typesPath,
1411
+ definitions: definitionsCount
1412
+ },
1413
+ warnings: [...new Set(warnings)].sort((left, right) => left.localeCompare(right)),
1414
+ generated_at: nowIso()
1415
+ };
1416
+ }
726
1417
  function formatSchemaAddTypeHuman(result) {
727
1418
  const verb = result.replaced ? "Updated" : "Registered";
728
1419
  const aliasSuffix = result.type.aliases && result.type.aliases.length > 0 ? ` (aliases: ${result.type.aliases.join(", ")})` : "";
@@ -772,8 +1463,13 @@ function formatSchemaListHuman(result) {
772
1463
  }
773
1464
  lines.push(`${label}: ${entries.map((entry) => entry.id).join(", ")}`);
774
1465
  }
1466
+ lines.push(`custom fields: ${result.fields.counts.total} total`);
1467
+ if (result.fields.custom.length > 0) {
1468
+ lines.push(`fields: ${result.fields.custom.map((field) => `${field.key} (${field.type}, ${field.cli_flag})`).join(", ")}`);
1469
+ }
775
1470
  lines.push(`Inspect one: pm schema show <Type>`);
776
1471
  lines.push(`Inspect one status: pm schema show-status <status>`);
1472
+ lines.push(`Inspect one field: pm schema show-field <key>`);
777
1473
  return lines.join("\n");
778
1474
  }
779
1475
  function formatSchemaShowHuman(result) {
@@ -815,22 +1511,127 @@ function formatSchemaShowStatusHuman(result) {
815
1511
  }
816
1512
  return parts.join("\n");
817
1513
  }
1514
+ function formatFieldSummaryLine(field) {
1515
+ const flags = [];
1516
+ if (field.required) {
1517
+ flags.push("required");
1518
+ }
1519
+ if (field.required_on_create) {
1520
+ flags.push("required_on_create");
1521
+ }
1522
+ if (!field.allow_unset) {
1523
+ flags.push("no_unset");
1524
+ }
1525
+ const flagSuffix = flags.length > 0 ? ` [${flags.join(", ")}]` : "";
1526
+ return `${field.key} (${field.type}) ${field.cli_flag} commands=${field.commands.join("/")}${flagSuffix}`;
1527
+ }
1528
+ function formatSchemaAddFieldHuman(result) {
1529
+ const verb = result.replaced ? "Updated" : "Registered";
1530
+ return `${verb} custom field "${result.field.key}" in ${result.file.path}. Use it: pm create "<title>" --${(result.field.cli_flag ?? result.field.key).replaceAll("_", "-")} <value>`;
1531
+ }
1532
+ function formatSchemaRemoveFieldHuman(result) {
1533
+ if (!result.removed) {
1534
+ return `No custom field matched; nothing removed from ${result.file.path}.`;
1535
+ }
1536
+ const key = result.field?.key ?? "(unknown)";
1537
+ return `Removed custom field "${key}" from ${result.file.path}.`;
1538
+ }
1539
+ function formatSchemaListFieldsHuman(result) {
1540
+ const lines = [`Custom fields: ${result.counts.total} total`];
1541
+ for (const field of result.fields) {
1542
+ lines.push(` ${formatFieldSummaryLine(field)}`);
1543
+ }
1544
+ lines.push(`Inspect one: pm schema show-field <key>`);
1545
+ return lines.join("\n");
1546
+ }
1547
+ function formatSchemaShowFieldHuman(result) {
1548
+ const field = result.field;
1549
+ const parts = [
1550
+ `field: ${field.key}`,
1551
+ `type: ${field.type}`,
1552
+ `cli_flag: ${field.cli_flag}`,
1553
+ `commands: ${field.commands.join(", ")}`
1554
+ ];
1555
+ if (field.cli_aliases.length > 0) {
1556
+ parts.push(`cli_aliases: ${field.cli_aliases.join(", ")}`);
1557
+ }
1558
+ if (field.description) {
1559
+ parts.push(`description: ${field.description}`);
1560
+ }
1561
+ if (field.required) {
1562
+ parts.push(`required: true`);
1563
+ }
1564
+ if (field.required_on_create) {
1565
+ parts.push(`required_on_create: true`);
1566
+ }
1567
+ if (!field.allow_unset) {
1568
+ parts.push(`allow_unset: false`);
1569
+ }
1570
+ if (field.required_types.length > 0) {
1571
+ parts.push(`required_types: ${field.required_types.join(", ")}`);
1572
+ }
1573
+ return parts.join("\n");
1574
+ }
1575
+ function formatSchemaApplyPresetHuman(result) {
1576
+ const registered = result.registered.length > 0 ? `registered: ${result.registered.join(", ")}` : "";
1577
+ const replaced = result.replaced.length > 0 ? `updated: ${result.replaced.join(", ")}` : "";
1578
+ const detail = [registered, replaced].filter((part) => part.length > 0).join("; ");
1579
+ return `Applied "${result.preset}" type preset to ${result.file.path}${detail.length > 0 ? ` (${detail})` : ""}.`;
1580
+ }
1581
+ function formatSchemaInferTypesHuman(result) {
1582
+ if (result.candidates.length === 0) {
1583
+ return `No title-prefix conventions found with at least ${result.min_count} items. Lower the threshold with --min-count <n>.`;
1584
+ }
1585
+ const lines = result.applied ? [`Inferred and registered custom types from title prefixes (min-count ${result.min_count}):`] : [`Inferred custom type candidates from title prefixes (min-count ${result.min_count}, dry-run):`];
1586
+ for (const candidate of result.candidates) {
1587
+ const note = candidate.shadows_builtin ? " [shadows built-in, skipped]" : "";
1588
+ lines.push(` ${candidate.name} <- "${candidate.prefix}" (${candidate.count} items)${note}`);
1589
+ }
1590
+ if (!result.applied) {
1591
+ lines.push(`Re-run with --apply to register the non-shadowing candidates.`);
1592
+ } else {
1593
+ if (result.registered.length > 0) {
1594
+ lines.push(`registered: ${result.registered.join(", ")}`);
1595
+ }
1596
+ if (result.replaced.length > 0) {
1597
+ lines.push(`updated: ${result.replaced.join(", ")}`);
1598
+ }
1599
+ }
1600
+ return lines.join("\n");
1601
+ }
1602
+ var _testOnlySchemaCommand = {
1603
+ toAuthor,
1604
+ workflowSlotsReferencing
1605
+ };
818
1606
  export {
819
1607
  SCHEMA_SUBCOMMANDS,
1608
+ _testOnlySchemaCommand,
820
1609
  buildInvalidTypeHint,
1610
+ formatSchemaAddFieldHuman,
821
1611
  formatSchemaAddStatusHuman,
822
1612
  formatSchemaAddTypeHuman,
1613
+ formatSchemaApplyPresetHuman,
1614
+ formatSchemaInferTypesHuman,
1615
+ formatSchemaListFieldsHuman,
823
1616
  formatSchemaListHuman,
1617
+ formatSchemaRemoveFieldHuman,
824
1618
  formatSchemaRemoveStatusHuman,
825
1619
  formatSchemaRemoveTypeHuman,
1620
+ formatSchemaShowFieldHuman,
826
1621
  formatSchemaShowHuman,
827
1622
  formatSchemaShowStatusHuman,
1623
+ runSchemaAddField,
828
1624
  runSchemaAddStatus,
829
1625
  runSchemaAddType,
1626
+ runSchemaApplyPreset,
1627
+ runSchemaInferTypes,
830
1628
  runSchemaList,
1629
+ runSchemaListFields,
1630
+ runSchemaRemoveField,
831
1631
  runSchemaRemoveStatus,
832
1632
  runSchemaRemoveType,
833
1633
  runSchemaShow,
1634
+ runSchemaShowField,
834
1635
  runSchemaShowStatus
835
1636
  };
836
- //# sourceMappingURL=schema-RNVJ55V2.js.map
1637
+ //# sourceMappingURL=schema-TSBYSEMW.js.map