@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,32 +1,41 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="43fa077e-1a25-5f5b-ba9c-600eef053de0")}catch(e){}}();
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="f1d1bb61-520e-5d3d-8813-8dc1c6a0c38f")}catch(e){}}();
3
+ import {
4
+ TYPE_PRESET_NAMES,
5
+ normalizeTypePresetName,
6
+ resolveTypePresetDefinitions
7
+ } from "./chunk-4RTLBTYS.js";
3
8
  import {
4
9
  assertAliasesAvailable,
10
+ assertTypeFolderAvailable,
5
11
  buildInvalidTypeHint,
6
12
  escapeForDoubleQuotes,
13
+ matchBuiltinTypeName,
7
14
  normalizeAddTypeInput,
8
15
  parseItemTypesFile,
9
16
  removeItemType,
10
17
  serializeItemTypesFile,
11
18
  upsertItemType
12
- } from "./chunk-TSXWFN3L.js";
19
+ } from "./chunk-6VFUEGOA.js";
13
20
  import {
14
21
  acquireLock,
15
22
  listAllFrontMatterLight
16
- } from "./chunk-L6YQONLM.js";
17
- import "./chunk-6ZFTM65G.js";
18
- import "./chunk-QQG4HEX7.js";
23
+ } from "./chunk-FPDK5BZQ.js";
24
+ import "./chunk-F5MSD5HE.js";
25
+ import "./chunk-IROHIK2T.js";
19
26
  import {
20
27
  resolveItemTypeRegistry
21
- } from "./chunk-32XSW44C.js";
28
+ } from "./chunk-V2GYOMEX.js";
22
29
  import {
23
30
  nowIso
24
- } from "./chunk-IZHCCG4S.js";
31
+ } from "./chunk-VXRFAE7W.js";
25
32
  import {
26
33
  DEFAULT_RUNTIME_SCHEMA_FILE_PATHS,
27
34
  DEFAULT_RUNTIME_STATUS_DEFINITIONS,
28
35
  EXIT_CODE,
29
36
  PmCliError,
37
+ RUNTIME_FIELD_COMMAND_VALUES,
38
+ RUNTIME_FIELD_TYPE_VALUES,
30
39
  RUNTIME_STATUS_ROLE_VALUES,
31
40
  filePathForSchemaSection,
32
41
  getActiveExtensionRegistrations,
@@ -37,10 +46,11 @@ import {
37
46
  readSettings,
38
47
  resolveGovernanceKnobs,
39
48
  resolvePmRoot,
49
+ resolveRuntimeFieldRegistry,
40
50
  resolveRuntimeStatusRegistry,
41
51
  runActiveOnWriteHooks,
42
52
  writeFileAtomic
43
- } from "./chunk-S2CDTRJ6.js";
53
+ } from "./chunk-SJCMTOEU.js";
44
54
 
45
55
  // dist/core/schema/status-defs-file.js
46
56
  var RUNTIME_STATUS_ROLE_SET = new Set(RUNTIME_STATUS_ROLE_VALUES);
@@ -217,18 +227,320 @@ function assertStatusTokensAvailable(input, resolvedAliasToId) {
217
227
  }
218
228
  }
219
229
 
230
+ // dist/core/schema/fields-file.js
231
+ var RUNTIME_FIELD_TYPE_SET = new Set(RUNTIME_FIELD_TYPE_VALUES);
232
+ var RUNTIME_FIELD_COMMAND_SET = new Set(RUNTIME_FIELD_COMMAND_VALUES);
233
+ var BUILTIN_FIELD_KEYS = /* @__PURE__ */ new Set([
234
+ "id",
235
+ "title",
236
+ "type",
237
+ "status",
238
+ "priority",
239
+ "tags",
240
+ "assignee",
241
+ "parent",
242
+ "description",
243
+ "body",
244
+ "created_at",
245
+ "updated_at",
246
+ "closed_at",
247
+ "author",
248
+ "deadline",
249
+ "estimate",
250
+ "sprint",
251
+ "release",
252
+ "risk",
253
+ "confidence",
254
+ "reviewer",
255
+ "resolution",
256
+ "expected",
257
+ "actual"
258
+ ]);
259
+ var DEFAULT_FIELD_COMMANDS = ["create", "update"];
260
+ function normalizeFieldKey(value) {
261
+ return typeof value === "string" ? value.trim().toLowerCase().replaceAll(/[\s-]+/g, "_") : "";
262
+ }
263
+ function normalizeCliToken(value) {
264
+ if (typeof value !== "string") {
265
+ return "";
266
+ }
267
+ const collapsed = value.trim().toLowerCase().replaceAll(/[\s_]+/g, "-");
268
+ return collapsed.startsWith("--") ? collapsed.slice(2) : collapsed;
269
+ }
270
+ function keyToDefaultCliFlag(key) {
271
+ return key.replaceAll("_", "-");
272
+ }
273
+ function dedupeCliTokens(values, exclude) {
274
+ const seen = /* @__PURE__ */ new Set();
275
+ for (const value of values) {
276
+ const token = normalizeCliToken(value);
277
+ if (token.length > 0 && token !== exclude) {
278
+ seen.add(token);
279
+ }
280
+ }
281
+ return [...seen].sort((left, right) => left.localeCompare(right));
282
+ }
283
+ function dedupeStringList(values) {
284
+ const seen = /* @__PURE__ */ new Set();
285
+ for (const value of values ?? []) {
286
+ const trimmed = value.trim();
287
+ if (trimmed.length > 0) {
288
+ seen.add(trimmed);
289
+ }
290
+ }
291
+ return [...seen].sort((left, right) => left.localeCompare(right));
292
+ }
293
+ function normalizeAddFieldInput(raw) {
294
+ const key = normalizeFieldKey(raw.key);
295
+ if (key.length === 0) {
296
+ throw new Error("Field key must not be empty.");
297
+ }
298
+ if (BUILTIN_FIELD_KEYS.has(key)) {
299
+ throw new Error(`Cannot define custom field "${key}": it shadows a built-in field. Built-in fields are reserved.`);
300
+ }
301
+ const typeCandidate = typeof raw.type === "string" && raw.type.trim().length > 0 ? raw.type.trim().toLowerCase() : "string";
302
+ if (!RUNTIME_FIELD_TYPE_SET.has(typeCandidate)) {
303
+ throw new Error(`Invalid field type "${raw.type}". Allowed: ${RUNTIME_FIELD_TYPE_VALUES.join(", ")}.`);
304
+ }
305
+ const type = typeCandidate;
306
+ let commands;
307
+ if (raw.commands === void 0) {
308
+ commands = [...DEFAULT_FIELD_COMMANDS];
309
+ } else {
310
+ const seen = /* @__PURE__ */ new Set();
311
+ const normalized = [];
312
+ for (const rawCommand of raw.commands) {
313
+ const command = rawCommand.trim().toLowerCase();
314
+ if (command.length === 0) {
315
+ continue;
316
+ }
317
+ if (!RUNTIME_FIELD_COMMAND_SET.has(command)) {
318
+ throw new Error(`Invalid field command "${rawCommand}". Allowed: ${RUNTIME_FIELD_COMMAND_VALUES.join(", ")}.`);
319
+ }
320
+ if (!seen.has(command)) {
321
+ seen.add(command);
322
+ normalized.push(command);
323
+ }
324
+ }
325
+ commands = normalized.length > 0 ? normalized : [...DEFAULT_FIELD_COMMANDS];
326
+ }
327
+ const cliFlagToken = normalizeCliToken(raw.cliFlag);
328
+ const cliFlag = cliFlagToken.length > 0 && cliFlagToken !== keyToDefaultCliFlag(key) ? cliFlagToken : void 0;
329
+ const effectiveFlag = cliFlag ?? keyToDefaultCliFlag(key);
330
+ const cliAliases = dedupeCliTokens(raw.aliases ?? [], effectiveFlag);
331
+ const description = raw.description?.trim();
332
+ return {
333
+ key,
334
+ type,
335
+ commands,
336
+ description: description && description.length > 0 ? description : void 0,
337
+ cliFlag,
338
+ cliAliases,
339
+ required: raw.required === true,
340
+ requiredOnCreate: raw.requiredOnCreate === true,
341
+ // allow_unset defaults to true (omitted) and is only persisted when an
342
+ // operator explicitly disables it with --no-allow-unset (allowUnset === false).
343
+ allowUnset: raw.allowUnset !== false,
344
+ requiredTypes: dedupeStringList(raw.requiredTypes)
345
+ };
346
+ }
347
+ function selectFieldsArray(parsed) {
348
+ if (Array.isArray(parsed)) {
349
+ return parsed;
350
+ }
351
+ if (typeof parsed !== "object" || parsed === null) {
352
+ return void 0;
353
+ }
354
+ const record = parsed;
355
+ if (Array.isArray(record.fields)) {
356
+ return record.fields;
357
+ }
358
+ if (Array.isArray(record.definitions)) {
359
+ return record.definitions;
360
+ }
361
+ return void 0;
362
+ }
363
+ function extractFieldDefinitions(parsed) {
364
+ const candidate = selectFieldsArray(parsed);
365
+ if (!candidate) {
366
+ return [];
367
+ }
368
+ const definitions = [];
369
+ for (const entry of candidate) {
370
+ if (typeof entry !== "object" || entry === null || Array.isArray(entry)) {
371
+ continue;
372
+ }
373
+ const record = entry;
374
+ if (typeof record.key !== "string" || record.key.trim().length === 0) {
375
+ continue;
376
+ }
377
+ definitions.push(record);
378
+ }
379
+ return definitions;
380
+ }
381
+ function parseFieldsFile(raw) {
382
+ if (raw === null || raw === void 0 || raw.trim().length === 0) {
383
+ return { fields: [] };
384
+ }
385
+ let parsed;
386
+ try {
387
+ parsed = JSON.parse(raw);
388
+ } catch {
389
+ throw new Error("schema/fields.json contains invalid JSON.");
390
+ }
391
+ return { fields: extractFieldDefinitions(parsed) };
392
+ }
393
+ function serializeFieldsFile(file) {
394
+ return `${JSON.stringify({ fields: file.fields }, null, 2)}
395
+ `;
396
+ }
397
+ function upsertField(file, input) {
398
+ const existing = file.fields.find((definition) => normalizeFieldKey(definition.key) === input.key);
399
+ const replaced = existing !== void 0;
400
+ const fields = file.fields.filter((definition) => normalizeFieldKey(definition.key) !== input.key);
401
+ const next = {
402
+ ...existing ?? {},
403
+ key: input.key,
404
+ type: input.type,
405
+ commands: [...input.commands]
406
+ };
407
+ applyOptionalString(next, "description", input.description);
408
+ applyOptionalString(next, "cli_flag", input.cliFlag);
409
+ if (input.cliAliases.length > 0) {
410
+ next.cli_aliases = [...input.cliAliases];
411
+ } else {
412
+ delete next.cli_aliases;
413
+ }
414
+ applyBooleanFlag(next, "required", input.required);
415
+ applyBooleanFlag(next, "required_on_create", input.requiredOnCreate);
416
+ if (input.allowUnset === false) {
417
+ next.allow_unset = false;
418
+ } else {
419
+ delete next.allow_unset;
420
+ }
421
+ if (input.requiredTypes.length > 0) {
422
+ next.required_types = [...input.requiredTypes];
423
+ } else {
424
+ delete next.required_types;
425
+ }
426
+ fields.push(next);
427
+ fields.sort((left, right) => normalizeFieldKey(left.key).localeCompare(normalizeFieldKey(right.key)));
428
+ return {
429
+ file: { fields },
430
+ definition: next,
431
+ replaced
432
+ };
433
+ }
434
+ function removeField(file, key) {
435
+ const normalizedKey = normalizeFieldKey(key);
436
+ if (normalizedKey.length === 0) {
437
+ throw new Error("Field key must not be empty.");
438
+ }
439
+ const removed = [];
440
+ const fields = file.fields.filter((definition) => {
441
+ if (normalizeFieldKey(definition.key) === normalizedKey) {
442
+ removed.push(definition);
443
+ return false;
444
+ }
445
+ return true;
446
+ });
447
+ if (removed.length === 0) {
448
+ return { file: { fields }, removed: false };
449
+ }
450
+ return { file: { fields }, removed: true, definition: removed[0] };
451
+ }
452
+ function applyOptionalString(definition, key, value) {
453
+ const record = definition;
454
+ if (value !== void 0 && value.length > 0) {
455
+ record[key] = value;
456
+ } else {
457
+ delete record[key];
458
+ }
459
+ }
460
+ function applyBooleanFlag(definition, key, value) {
461
+ const record = definition;
462
+ if (value) {
463
+ record[key] = true;
464
+ } else {
465
+ delete record[key];
466
+ }
467
+ }
468
+
469
+ // dist/core/schema/type-inference.js
470
+ var PREFIX_PATTERN = /^([A-Za-z][A-Za-z0-9_-]*?)\s*[-:]\s+\S/;
471
+ function extractTitlePrefix(title) {
472
+ const match = PREFIX_PATTERN.exec(title.trim());
473
+ if (!match) {
474
+ return void 0;
475
+ }
476
+ const token = match[1];
477
+ if (token.length < 2) {
478
+ return void 0;
479
+ }
480
+ if (/^[A-Za-z]\d+$/.test(token)) {
481
+ return void 0;
482
+ }
483
+ return token.toLowerCase();
484
+ }
485
+ function prefixToTypeName(prefix) {
486
+ return prefix.split(/[-_]+/).filter((segment) => segment.length > 0).map((segment) => `${segment.slice(0, 1).toUpperCase()}${segment.slice(1).toLowerCase()}`).join("");
487
+ }
488
+ function inferTypesFromTitles(titles, options = {}) {
489
+ const minCount = typeof options.minCount === "number" && options.minCount > 0 ? Math.trunc(options.minCount) : 10;
490
+ const maxExamples = typeof options.maxExamples === "number" && options.maxExamples > 0 ? Math.trunc(options.maxExamples) : 3;
491
+ const byPrefix = /* @__PURE__ */ new Map();
492
+ for (const rawTitle of titles) {
493
+ const title = typeof rawTitle === "string" ? rawTitle.trim() : "";
494
+ if (title.length === 0) {
495
+ continue;
496
+ }
497
+ const prefix = extractTitlePrefix(title);
498
+ if (prefix === void 0) {
499
+ continue;
500
+ }
501
+ const bucket = byPrefix.get(prefix) ?? { count: 0, examples: [] };
502
+ bucket.count += 1;
503
+ if (bucket.examples.length < maxExamples) {
504
+ bucket.examples.push(title);
505
+ }
506
+ byPrefix.set(prefix, bucket);
507
+ }
508
+ const candidates = [];
509
+ for (const [prefix, bucket] of byPrefix.entries()) {
510
+ if (bucket.count < minCount) {
511
+ continue;
512
+ }
513
+ const name = prefixToTypeName(prefix);
514
+ candidates.push({
515
+ name,
516
+ prefix,
517
+ count: bucket.count,
518
+ examples: bucket.examples,
519
+ shadows_builtin: matchBuiltinTypeName(name) !== void 0
520
+ });
521
+ }
522
+ candidates.sort((left, right) => right.count - left.count || left.name.localeCompare(right.name));
523
+ return candidates;
524
+ }
525
+
220
526
  // dist/cli/commands/schema.js
221
527
  var SCHEMA_SUBCOMMANDS = [
222
528
  "add-type",
223
529
  "remove-type",
224
530
  "add-status",
225
531
  "remove-status",
532
+ "add-field",
533
+ "remove-field",
534
+ "list-fields",
535
+ "show-field",
536
+ "apply-preset",
226
537
  "list",
227
538
  "show",
228
539
  "show-status"
229
540
  ];
230
541
  var SCHEMA_TYPES_LOCK_ID = "schema-types";
231
542
  var SCHEMA_STATUSES_LOCK_ID = "schema-statuses";
543
+ var SCHEMA_FIELDS_LOCK_ID = "schema-fields";
232
544
  function toAuthor(candidate, defaultAuthor) {
233
545
  const resolved = candidate ?? process.env.PM_AUTHOR ?? defaultAuthor;
234
546
  const trimmed = resolved.trim();
@@ -269,10 +581,22 @@ async function runSchemaAddType(name, options, global) {
269
581
  }
270
582
  try {
271
583
  assertAliasesAvailable(normalized, parsed);
584
+ const reservedFolders = /* @__PURE__ */ new Map();
585
+ const resolvedRegistry = resolveItemTypeRegistry(settings, getActiveExtensionRegistrations());
586
+ for (const [typeName, folder] of Object.entries(resolvedRegistry.type_to_folder)) {
587
+ const folderKey = folder.trim().toLowerCase();
588
+ if (folderKey.length > 0 && !reservedFolders.has(folderKey)) {
589
+ reservedFolders.set(folderKey, typeName);
590
+ }
591
+ }
592
+ assertTypeFolderAvailable(normalized, parsed, reservedFolders);
272
593
  } catch (error) {
273
594
  throw new PmCliError(error instanceof Error ? error.message : String(error), EXIT_CODE.USAGE);
274
595
  }
275
596
  upsert = upsertItemType(parsed, normalized);
597
+ if (upsert.replaced && upsert.previousName !== void 0 && upsert.previousName !== upsert.definition.name) {
598
+ warnings.push(`type_recased:${upsert.previousName}->${upsert.definition.name}`);
599
+ }
276
600
  await writeFileAtomic(typesPath, serializeItemTypesFile(upsert.file));
277
601
  warnings.push(...await runActiveOnWriteHooks({
278
602
  path: typesPath,
@@ -385,6 +709,26 @@ async function runSchemaRemoveType(name, options, global) {
385
709
  function statusesPathFor(pmRoot, schema) {
386
710
  return filePathForSchemaSection(pmRoot, schema.files.statuses, DEFAULT_RUNTIME_SCHEMA_FILE_PATHS.statuses);
387
711
  }
712
+ function fieldsPathFor(pmRoot, schema) {
713
+ return filePathForSchemaSection(pmRoot, schema.files.fields, DEFAULT_RUNTIME_SCHEMA_FILE_PATHS.fields);
714
+ }
715
+ function typesPathFor(pmRoot, schema) {
716
+ return filePathForSchemaSection(pmRoot, schema.files.types, DEFAULT_RUNTIME_SCHEMA_FILE_PATHS.types);
717
+ }
718
+ function toSchemaFieldSummary(field) {
719
+ return {
720
+ key: field.key,
721
+ type: field.type,
722
+ commands: [...field.commands],
723
+ cli_flag: `--${field.cli_flag}`,
724
+ cli_aliases: field.cli_aliases.map((alias) => `--${alias}`),
725
+ ...field.description ? { description: field.description } : {},
726
+ required: field.required,
727
+ required_on_create: field.required_on_create,
728
+ allow_unset: field.allow_unset,
729
+ required_types: [...field.required_types]
730
+ };
731
+ }
388
732
  async function runSchemaAddStatus(id, options, global) {
389
733
  const pmRoot = resolvePmRoot(process.cwd(), global.path);
390
734
  await ensureInitialized(pmRoot);
@@ -620,6 +964,7 @@ async function loadSchemaInspectionContext(global) {
620
964
  const extensionProvenance = collectExtensionTypeProvenance();
621
965
  const customNames = new Set((settings.item_types?.definitions ?? []).map((definition) => definition.name.trim().toLowerCase()).filter((name) => name.length > 0 && !extensionProvenance.has(name)));
622
966
  return {
967
+ pmRoot,
623
968
  typesPath,
624
969
  statusesPath,
625
970
  byType: registry.by_type,
@@ -645,6 +990,7 @@ async function runSchemaList(global) {
645
990
  }
646
991
  }
647
992
  const statusSummaries = buildSchemaStatusSummaries(context.schema);
993
+ const fieldSummaries = resolveRuntimeFieldRegistry(context.schema).definitions.map(toSchemaFieldSummary);
648
994
  return {
649
995
  action: "list",
650
996
  builtin,
@@ -665,6 +1011,12 @@ async function runSchemaList(global) {
665
1011
  total: statusSummaries.builtin.length + statusSummaries.custom.length
666
1012
  }
667
1013
  },
1014
+ fields: {
1015
+ custom: fieldSummaries,
1016
+ counts: {
1017
+ total: fieldSummaries.length
1018
+ }
1019
+ },
668
1020
  file: {
669
1021
  path: context.typesPath
670
1022
  },
@@ -711,6 +1063,331 @@ async function runSchemaShowStatus(id, global) {
711
1063
  generated_at: nowIso()
712
1064
  };
713
1065
  }
1066
+ async function runSchemaAddField(key, options, global) {
1067
+ const pmRoot = resolvePmRoot(process.cwd(), global.path);
1068
+ await ensureInitialized(pmRoot);
1069
+ let normalized;
1070
+ try {
1071
+ normalized = normalizeAddFieldInput({
1072
+ key,
1073
+ type: options.type,
1074
+ commands: options.commands,
1075
+ description: options.description,
1076
+ cliFlag: options.cliFlag,
1077
+ aliases: options.alias,
1078
+ required: options.required,
1079
+ requiredOnCreate: options.requiredOnCreate,
1080
+ allowUnset: options.allowUnset,
1081
+ requiredTypes: options.requiredTypes
1082
+ });
1083
+ } catch (error) {
1084
+ throw new PmCliError(error instanceof Error ? error.message : String(error), EXIT_CODE.USAGE);
1085
+ }
1086
+ const settings = await readSettings(pmRoot);
1087
+ const schema = normalizeRuntimeSchemaSettings(settings.schema);
1088
+ const fieldsPath = fieldsPathFor(pmRoot, schema);
1089
+ const warnings = [];
1090
+ const author = toAuthor(options.author, settings.author_default);
1091
+ const governance = resolveGovernanceKnobs(settings);
1092
+ const releaseLock = await acquireLock(pmRoot, SCHEMA_FIELDS_LOCK_ID, settings.locks.ttl_seconds, author, Boolean(options.force), governance.force_required_for_stale_lock);
1093
+ let upsert;
1094
+ try {
1095
+ const previousRaw = await readFileIfExists(fieldsPath);
1096
+ let parsed;
1097
+ try {
1098
+ parsed = parseFieldsFile(previousRaw);
1099
+ } catch (error) {
1100
+ throw new PmCliError(error instanceof Error ? error.message : String(error), EXIT_CODE.GENERIC_FAILURE);
1101
+ }
1102
+ upsert = upsertField(parsed, normalized);
1103
+ await writeFileAtomic(fieldsPath, serializeFieldsFile(upsert.file));
1104
+ warnings.push(...await runActiveOnWriteHooks({
1105
+ path: fieldsPath,
1106
+ scope: "project",
1107
+ op: "schema:add-field"
1108
+ }));
1109
+ } finally {
1110
+ await releaseLock();
1111
+ }
1112
+ return {
1113
+ action: "add-field",
1114
+ registered: true,
1115
+ replaced: upsert.replaced,
1116
+ field: upsert.definition,
1117
+ file: {
1118
+ path: fieldsPath,
1119
+ fields: upsert.file.fields.length
1120
+ },
1121
+ warnings: [...new Set(warnings)].sort((left, right) => left.localeCompare(right)),
1122
+ generated_at: nowIso()
1123
+ };
1124
+ }
1125
+ async function countItemsUsingField(pmRoot, settings, schema, metadataKey) {
1126
+ const registry = resolveItemTypeRegistry(settings, getActiveExtensionRegistrations());
1127
+ const items = await listAllFrontMatterLight(pmRoot, settings.item_format, registry.type_to_folder, [], schema);
1128
+ return items.filter((item) => {
1129
+ const value = item[metadataKey];
1130
+ if (value === void 0 || value === null) {
1131
+ return false;
1132
+ }
1133
+ if (Array.isArray(value)) {
1134
+ return value.length > 0;
1135
+ }
1136
+ if (typeof value === "string") {
1137
+ return value.trim().length > 0;
1138
+ }
1139
+ return true;
1140
+ }).length;
1141
+ }
1142
+ async function runSchemaRemoveField(key, options, global) {
1143
+ const pmRoot = resolvePmRoot(process.cwd(), global.path);
1144
+ await ensureInitialized(pmRoot);
1145
+ const settings = await readSettings(pmRoot);
1146
+ const schema = normalizeRuntimeSchemaSettings(settings.schema);
1147
+ const fieldsPath = fieldsPathFor(pmRoot, schema);
1148
+ const warnings = [];
1149
+ const author = toAuthor(options.author, settings.author_default);
1150
+ const governance = resolveGovernanceKnobs(settings);
1151
+ const releaseLock = await acquireLock(pmRoot, SCHEMA_FIELDS_LOCK_ID, settings.locks.ttl_seconds, author, Boolean(options.force), governance.force_required_for_stale_lock);
1152
+ let removal;
1153
+ try {
1154
+ const previousRaw = await readFileIfExists(fieldsPath);
1155
+ let parsed;
1156
+ try {
1157
+ parsed = parseFieldsFile(previousRaw);
1158
+ } catch (error) {
1159
+ throw new PmCliError(error instanceof Error ? error.message : String(error), EXIT_CODE.GENERIC_FAILURE);
1160
+ }
1161
+ try {
1162
+ removal = removeField(parsed, key);
1163
+ } catch (error) {
1164
+ throw new PmCliError(error instanceof Error ? error.message : String(error), EXIT_CODE.USAGE);
1165
+ }
1166
+ if (removal.removed) {
1167
+ const removedKey = normalizeFieldKey(removal.definition?.key ?? key);
1168
+ const metadataKey = normalizeFieldKey(removal.definition?.metadata_key ?? removal.definition?.front_matter_key ?? removedKey);
1169
+ if (metadataKey.length > 0) {
1170
+ const usingField = await countItemsUsingField(pmRoot, settings, schema, metadataKey);
1171
+ if (usingField > 0) {
1172
+ warnings.push(`items_using_field:${usingField}`);
1173
+ }
1174
+ }
1175
+ await writeFileAtomic(fieldsPath, serializeFieldsFile(removal.file));
1176
+ warnings.push(...await runActiveOnWriteHooks({
1177
+ path: fieldsPath,
1178
+ scope: "project",
1179
+ op: "schema:remove-field"
1180
+ }));
1181
+ }
1182
+ } finally {
1183
+ await releaseLock();
1184
+ }
1185
+ return {
1186
+ action: "remove-field",
1187
+ removed: removal.removed,
1188
+ ...removal.definition ? { field: removal.definition } : {},
1189
+ file: {
1190
+ path: fieldsPath,
1191
+ fields: removal.file.fields.length
1192
+ },
1193
+ warnings: [...new Set(warnings)].sort((left, right) => left.localeCompare(right)),
1194
+ generated_at: nowIso()
1195
+ };
1196
+ }
1197
+ async function runSchemaListFields(global) {
1198
+ const context = await loadSchemaInspectionContext(global);
1199
+ const fields = resolveRuntimeFieldRegistry(context.schema).definitions.map(toSchemaFieldSummary);
1200
+ return {
1201
+ action: "list-fields",
1202
+ fields,
1203
+ counts: {
1204
+ total: fields.length
1205
+ },
1206
+ file: {
1207
+ path: fieldsPathFor(context.pmRoot, context.schema)
1208
+ },
1209
+ generated_at: nowIso()
1210
+ };
1211
+ }
1212
+ async function runSchemaShowField(key, global) {
1213
+ const fieldKey = normalizeFieldKey(key);
1214
+ if (fieldKey.length === 0) {
1215
+ throw new PmCliError("Field key must not be empty.", EXIT_CODE.USAGE);
1216
+ }
1217
+ const context = await loadSchemaInspectionContext(global);
1218
+ const match = resolveRuntimeFieldRegistry(context.schema).by_key.get(fieldKey);
1219
+ if (!match) {
1220
+ 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" });
1221
+ }
1222
+ return {
1223
+ action: "show-field",
1224
+ field: toSchemaFieldSummary(match),
1225
+ file: {
1226
+ path: fieldsPathFor(context.pmRoot, context.schema)
1227
+ },
1228
+ generated_at: nowIso()
1229
+ };
1230
+ }
1231
+ async function runSchemaApplyPreset(preset, options, global) {
1232
+ const pmRoot = resolvePmRoot(process.cwd(), global.path);
1233
+ await ensureInitialized(pmRoot);
1234
+ let presetName;
1235
+ try {
1236
+ const normalized = normalizeTypePresetName(preset);
1237
+ if (normalized === void 0) {
1238
+ throw new Error(`Type preset name is required. Allowed: ${TYPE_PRESET_NAMES.join(", ")}.`);
1239
+ }
1240
+ presetName = normalized;
1241
+ } catch (error) {
1242
+ throw new PmCliError(error instanceof Error ? error.message : String(error), EXIT_CODE.USAGE);
1243
+ }
1244
+ const settings = await readSettings(pmRoot);
1245
+ const schema = normalizeRuntimeSchemaSettings(settings.schema);
1246
+ const typesPath = typesPathFor(pmRoot, schema);
1247
+ const warnings = [];
1248
+ const author = toAuthor(options.author, settings.author_default);
1249
+ const governance = resolveGovernanceKnobs(settings);
1250
+ const registered = [];
1251
+ const replaced = [];
1252
+ let definitionsCount = 0;
1253
+ const releaseLock = await acquireLock(pmRoot, SCHEMA_TYPES_LOCK_ID, settings.locks.ttl_seconds, author, Boolean(options.force), governance.force_required_for_stale_lock);
1254
+ try {
1255
+ const previousRaw = await readFileIfExists(typesPath);
1256
+ let parsed;
1257
+ try {
1258
+ parsed = parseItemTypesFile(previousRaw);
1259
+ } catch (error) {
1260
+ throw new PmCliError(error instanceof Error ? error.message : String(error), EXIT_CODE.GENERIC_FAILURE);
1261
+ }
1262
+ let nextFile = parsed;
1263
+ for (const normalized of resolveTypePresetDefinitions(presetName)) {
1264
+ const upsert = upsertItemType(nextFile, normalized);
1265
+ nextFile = upsert.file;
1266
+ (upsert.replaced ? replaced : registered).push(upsert.definition.name);
1267
+ }
1268
+ definitionsCount = nextFile.definitions.length;
1269
+ await writeFileAtomic(typesPath, serializeItemTypesFile(nextFile));
1270
+ warnings.push(...await runActiveOnWriteHooks({
1271
+ path: typesPath,
1272
+ scope: "project",
1273
+ op: "schema:apply-preset"
1274
+ }));
1275
+ } finally {
1276
+ await releaseLock();
1277
+ }
1278
+ return {
1279
+ action: "apply-preset",
1280
+ preset: presetName,
1281
+ registered,
1282
+ replaced,
1283
+ file: {
1284
+ path: typesPath,
1285
+ definitions: definitionsCount
1286
+ },
1287
+ warnings: [...new Set(warnings)].sort((left, right) => left.localeCompare(right)),
1288
+ generated_at: nowIso()
1289
+ };
1290
+ }
1291
+ async function runSchemaInferTypes(options, global) {
1292
+ const pmRoot = resolvePmRoot(process.cwd(), global.path);
1293
+ await ensureInitialized(pmRoot);
1294
+ const settings = await readSettings(pmRoot);
1295
+ const schema = normalizeRuntimeSchemaSettings(settings.schema);
1296
+ const typesPath = typesPathFor(pmRoot, schema);
1297
+ let minCount = 10;
1298
+ if (options.minCount !== void 0) {
1299
+ if (!Number.isInteger(options.minCount) || options.minCount < 1) {
1300
+ throw new PmCliError("--min-count must be a positive integer (>= 1).", EXIT_CODE.USAGE);
1301
+ }
1302
+ minCount = options.minCount;
1303
+ }
1304
+ const registry = resolveItemTypeRegistry(settings, getActiveExtensionRegistrations());
1305
+ const items = await listAllFrontMatterLight(pmRoot, settings.item_format, registry.type_to_folder, [], schema);
1306
+ const titles = items.map((item) => typeof item.title === "string" ? item.title : "");
1307
+ const candidates = inferTypesFromTitles(titles, { minCount });
1308
+ const warnings = [];
1309
+ const registered = [];
1310
+ const replaced = [];
1311
+ const skipped = [];
1312
+ let definitionsCount;
1313
+ if (!options.apply) {
1314
+ let parsed;
1315
+ try {
1316
+ parsed = parseItemTypesFile(await readFileIfExists(typesPath));
1317
+ } catch (error) {
1318
+ throw new PmCliError(error instanceof Error ? error.message : String(error), EXIT_CODE.GENERIC_FAILURE);
1319
+ }
1320
+ definitionsCount = parsed.definitions.length;
1321
+ return {
1322
+ action: "infer-types",
1323
+ applied: false,
1324
+ min_count: minCount,
1325
+ candidates,
1326
+ registered,
1327
+ replaced,
1328
+ skipped,
1329
+ file: {
1330
+ path: typesPath,
1331
+ definitions: definitionsCount
1332
+ },
1333
+ warnings,
1334
+ generated_at: nowIso()
1335
+ };
1336
+ }
1337
+ const author = toAuthor(options.author, settings.author_default);
1338
+ const governance = resolveGovernanceKnobs(settings);
1339
+ const releaseLock = await acquireLock(pmRoot, SCHEMA_TYPES_LOCK_ID, settings.locks.ttl_seconds, author, Boolean(options.force), governance.force_required_for_stale_lock);
1340
+ try {
1341
+ const previousRaw = await readFileIfExists(typesPath);
1342
+ let parsed;
1343
+ try {
1344
+ parsed = parseItemTypesFile(previousRaw);
1345
+ } catch (error) {
1346
+ throw new PmCliError(error instanceof Error ? error.message : String(error), EXIT_CODE.GENERIC_FAILURE);
1347
+ }
1348
+ let nextFile = parsed;
1349
+ for (const candidate of candidates) {
1350
+ if (candidate.shadows_builtin) {
1351
+ skipped.push({ name: candidate.name, reason: "shadows_builtin" });
1352
+ continue;
1353
+ }
1354
+ let normalized;
1355
+ try {
1356
+ normalized = normalizeAddTypeInput({ name: candidate.name });
1357
+ } catch {
1358
+ skipped.push({ name: candidate.name, reason: "invalid_type_token" });
1359
+ continue;
1360
+ }
1361
+ const upsert = upsertItemType(nextFile, normalized);
1362
+ nextFile = upsert.file;
1363
+ (upsert.replaced ? replaced : registered).push(upsert.definition.name);
1364
+ }
1365
+ definitionsCount = nextFile.definitions.length;
1366
+ await writeFileAtomic(typesPath, serializeItemTypesFile(nextFile));
1367
+ warnings.push(...await runActiveOnWriteHooks({
1368
+ path: typesPath,
1369
+ scope: "project",
1370
+ op: "schema:infer-types"
1371
+ }));
1372
+ } finally {
1373
+ await releaseLock();
1374
+ }
1375
+ return {
1376
+ action: "infer-types",
1377
+ applied: true,
1378
+ min_count: minCount,
1379
+ candidates,
1380
+ registered,
1381
+ replaced,
1382
+ skipped,
1383
+ file: {
1384
+ path: typesPath,
1385
+ definitions: definitionsCount
1386
+ },
1387
+ warnings: [...new Set(warnings)].sort((left, right) => left.localeCompare(right)),
1388
+ generated_at: nowIso()
1389
+ };
1390
+ }
714
1391
  function formatSchemaAddTypeHuman(result) {
715
1392
  const verb = result.replaced ? "Updated" : "Registered";
716
1393
  const aliasSuffix = result.type.aliases && result.type.aliases.length > 0 ? ` (aliases: ${result.type.aliases.join(", ")})` : "";
@@ -760,8 +1437,13 @@ function formatSchemaListHuman(result) {
760
1437
  }
761
1438
  lines.push(`${label}: ${entries.map((entry) => entry.id).join(", ")}`);
762
1439
  }
1440
+ lines.push(`custom fields: ${result.fields.counts.total} total`);
1441
+ if (result.fields.custom.length > 0) {
1442
+ lines.push(`fields: ${result.fields.custom.map((field) => `${field.key} (${field.type}, ${field.cli_flag})`).join(", ")}`);
1443
+ }
763
1444
  lines.push(`Inspect one: pm schema show <Type>`);
764
1445
  lines.push(`Inspect one status: pm schema show-status <status>`);
1446
+ lines.push(`Inspect one field: pm schema show-field <key>`);
765
1447
  return lines.join("\n");
766
1448
  }
767
1449
  function formatSchemaShowHuman(result) {
@@ -803,24 +1485,129 @@ function formatSchemaShowStatusHuman(result) {
803
1485
  }
804
1486
  return parts.join("\n");
805
1487
  }
1488
+ function formatFieldSummaryLine(field) {
1489
+ const flags = [];
1490
+ if (field.required) {
1491
+ flags.push("required");
1492
+ }
1493
+ if (field.required_on_create) {
1494
+ flags.push("required_on_create");
1495
+ }
1496
+ if (!field.allow_unset) {
1497
+ flags.push("no_unset");
1498
+ }
1499
+ const flagSuffix = flags.length > 0 ? ` [${flags.join(", ")}]` : "";
1500
+ return `${field.key} (${field.type}) ${field.cli_flag} commands=${field.commands.join("/")}${flagSuffix}`;
1501
+ }
1502
+ function formatSchemaAddFieldHuman(result) {
1503
+ const verb = result.replaced ? "Updated" : "Registered";
1504
+ 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>`;
1505
+ }
1506
+ function formatSchemaRemoveFieldHuman(result) {
1507
+ if (!result.removed) {
1508
+ return `No custom field matched; nothing removed from ${result.file.path}.`;
1509
+ }
1510
+ const key = result.field?.key ?? "(unknown)";
1511
+ return `Removed custom field "${key}" from ${result.file.path}.`;
1512
+ }
1513
+ function formatSchemaListFieldsHuman(result) {
1514
+ const lines = [`Custom fields: ${result.counts.total} total`];
1515
+ for (const field of result.fields) {
1516
+ lines.push(` ${formatFieldSummaryLine(field)}`);
1517
+ }
1518
+ lines.push(`Inspect one: pm schema show-field <key>`);
1519
+ return lines.join("\n");
1520
+ }
1521
+ function formatSchemaShowFieldHuman(result) {
1522
+ const field = result.field;
1523
+ const parts = [
1524
+ `field: ${field.key}`,
1525
+ `type: ${field.type}`,
1526
+ `cli_flag: ${field.cli_flag}`,
1527
+ `commands: ${field.commands.join(", ")}`
1528
+ ];
1529
+ if (field.cli_aliases.length > 0) {
1530
+ parts.push(`cli_aliases: ${field.cli_aliases.join(", ")}`);
1531
+ }
1532
+ if (field.description) {
1533
+ parts.push(`description: ${field.description}`);
1534
+ }
1535
+ if (field.required) {
1536
+ parts.push(`required: true`);
1537
+ }
1538
+ if (field.required_on_create) {
1539
+ parts.push(`required_on_create: true`);
1540
+ }
1541
+ if (!field.allow_unset) {
1542
+ parts.push(`allow_unset: false`);
1543
+ }
1544
+ if (field.required_types.length > 0) {
1545
+ parts.push(`required_types: ${field.required_types.join(", ")}`);
1546
+ }
1547
+ return parts.join("\n");
1548
+ }
1549
+ function formatSchemaApplyPresetHuman(result) {
1550
+ const registered = result.registered.length > 0 ? `registered: ${result.registered.join(", ")}` : "";
1551
+ const replaced = result.replaced.length > 0 ? `updated: ${result.replaced.join(", ")}` : "";
1552
+ const detail = [registered, replaced].filter((part) => part.length > 0).join("; ");
1553
+ return `Applied "${result.preset}" type preset to ${result.file.path}${detail.length > 0 ? ` (${detail})` : ""}.`;
1554
+ }
1555
+ function formatSchemaInferTypesHuman(result) {
1556
+ if (result.candidates.length === 0) {
1557
+ return `No title-prefix conventions found with at least ${result.min_count} items. Lower the threshold with --min-count <n>.`;
1558
+ }
1559
+ 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):`];
1560
+ for (const candidate of result.candidates) {
1561
+ const note = candidate.shadows_builtin ? " [shadows built-in, skipped]" : "";
1562
+ lines.push(` ${candidate.name} <- "${candidate.prefix}" (${candidate.count} items)${note}`);
1563
+ }
1564
+ if (!result.applied) {
1565
+ lines.push(`Re-run with --apply to register the non-shadowing candidates.`);
1566
+ } else {
1567
+ if (result.registered.length > 0) {
1568
+ lines.push(`registered: ${result.registered.join(", ")}`);
1569
+ }
1570
+ if (result.replaced.length > 0) {
1571
+ lines.push(`updated: ${result.replaced.join(", ")}`);
1572
+ }
1573
+ }
1574
+ return lines.join("\n");
1575
+ }
1576
+ var _testOnlySchemaCommand = {
1577
+ toAuthor,
1578
+ workflowSlotsReferencing
1579
+ };
806
1580
  export {
807
1581
  SCHEMA_SUBCOMMANDS,
1582
+ _testOnlySchemaCommand,
808
1583
  buildInvalidTypeHint,
1584
+ formatSchemaAddFieldHuman,
809
1585
  formatSchemaAddStatusHuman,
810
1586
  formatSchemaAddTypeHuman,
1587
+ formatSchemaApplyPresetHuman,
1588
+ formatSchemaInferTypesHuman,
1589
+ formatSchemaListFieldsHuman,
811
1590
  formatSchemaListHuman,
1591
+ formatSchemaRemoveFieldHuman,
812
1592
  formatSchemaRemoveStatusHuman,
813
1593
  formatSchemaRemoveTypeHuman,
1594
+ formatSchemaShowFieldHuman,
814
1595
  formatSchemaShowHuman,
815
1596
  formatSchemaShowStatusHuman,
1597
+ runSchemaAddField,
816
1598
  runSchemaAddStatus,
817
1599
  runSchemaAddType,
1600
+ runSchemaApplyPreset,
1601
+ runSchemaInferTypes,
818
1602
  runSchemaList,
1603
+ runSchemaListFields,
1604
+ runSchemaRemoveField,
819
1605
  runSchemaRemoveStatus,
820
1606
  runSchemaRemoveType,
821
1607
  runSchemaShow,
1608
+ runSchemaShowField,
822
1609
  runSchemaShowStatus
823
1610
  };
824
- //# sourceMappingURL=schema-ZZ7ZDM2X.js.map
1611
+ //# sourceMappingURL=schema-7U7JUYGK.js.map
825
1612
 
826
- //# debugId=43fa077e-1a25-5f5b-ba9c-600eef053de0
1613
+ //# debugId=f1d1bb61-520e-5d3d-8813-8dc1c6a0c38f