@unbrained/pm-cli 2026.7.14 → 2026.7.15

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 (708) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/CHANGELOG.md +48 -0
  3. package/README.md +14 -11
  4. package/dist/cli/argv-utils.d.ts +1 -4
  5. package/dist/cli/argv-utils.js +3 -13
  6. package/dist/cli/argv-utils.js.map +1 -1
  7. package/dist/cli/bootstrap-args.d.ts +6 -4
  8. package/dist/cli/bootstrap-args.js +51 -16
  9. package/dist/cli/bootstrap-args.js.map +1 -1
  10. package/dist/cli/bundle-integrity.d.ts +49 -0
  11. package/dist/cli/bundle-integrity.js +111 -0
  12. package/dist/cli/bundle-integrity.js.map +1 -0
  13. package/dist/cli/commands/completion.js +7 -2
  14. package/dist/cli/commands/completion.js.map +1 -1
  15. package/dist/cli/commands/config.d.ts +6 -163
  16. package/dist/cli/commands/config.js +4 -1133
  17. package/dist/cli/commands/config.js.map +1 -1
  18. package/dist/cli/commands/context.d.ts +2 -4
  19. package/dist/cli/commands/context.js +10 -85
  20. package/dist/cli/commands/context.js.map +1 -1
  21. package/dist/cli/commands/create.d.ts +1 -0
  22. package/dist/cli/commands/create.js +3 -2
  23. package/dist/cli/commands/create.js.map +1 -1
  24. package/dist/cli/commands/extension/describe.d.ts +2 -91
  25. package/dist/cli/commands/extension/describe.js +4 -142
  26. package/dist/cli/commands/extension/describe.js.map +1 -1
  27. package/dist/cli/commands/extension/scaffold.d.ts +2 -36
  28. package/dist/cli/commands/extension/scaffold.js +4 -2435
  29. package/dist/cli/commands/extension/scaffold.js.map +1 -1
  30. package/dist/cli/commands/extension/shared.d.ts +2 -28
  31. package/dist/cli/commands/extension/shared.js +4 -130
  32. package/dist/cli/commands/extension/shared.js.map +1 -1
  33. package/dist/cli/commands/extension.d.ts +3 -400
  34. package/dist/cli/commands/extension.js +4 -2183
  35. package/dist/cli/commands/extension.js.map +1 -1
  36. package/dist/cli/commands/gc.d.ts +6 -56
  37. package/dist/cli/commands/gc.js +4 -270
  38. package/dist/cli/commands/gc.js.map +1 -1
  39. package/dist/cli/commands/get.d.ts +18 -5
  40. package/dist/cli/commands/get.js +117 -58
  41. package/dist/cli/commands/get.js.map +1 -1
  42. package/dist/cli/commands/health.d.ts +6 -184
  43. package/dist/cli/commands/health.js +4 -1747
  44. package/dist/cli/commands/health.js.map +1 -1
  45. package/dist/cli/commands/history-compact.d.ts +4 -139
  46. package/dist/cli/commands/history-compact.js +5 -510
  47. package/dist/cli/commands/history-compact.js.map +1 -1
  48. package/dist/cli/commands/history-redact.d.ts +8 -120
  49. package/dist/cli/commands/history-redact.js +6 -581
  50. package/dist/cli/commands/history-redact.js.map +1 -1
  51. package/dist/cli/commands/history-repair.d.ts +7 -89
  52. package/dist/cli/commands/history-repair.js +5 -257
  53. package/dist/cli/commands/history-repair.js.map +1 -1
  54. package/dist/cli/commands/history.d.ts +1 -2
  55. package/dist/cli/commands/history.js +6 -48
  56. package/dist/cli/commands/history.js.map +1 -1
  57. package/dist/cli/commands/index.d.ts +1 -0
  58. package/dist/cli/commands/index.js +3 -2
  59. package/dist/cli/commands/index.js.map +1 -1
  60. package/dist/cli/commands/init-agent-guidance.d.ts +6 -113
  61. package/dist/cli/commands/init-agent-guidance.js +4 -431
  62. package/dist/cli/commands/init-agent-guidance.js.map +1 -1
  63. package/dist/cli/commands/init.d.ts +6 -181
  64. package/dist/cli/commands/init.js +4 -690
  65. package/dist/cli/commands/init.js.map +1 -1
  66. package/dist/cli/commands/next.js +3 -3
  67. package/dist/cli/commands/next.js.map +1 -1
  68. package/dist/cli/commands/profile.d.ts +4 -174
  69. package/dist/cli/commands/profile.js +4 -425
  70. package/dist/cli/commands/profile.js.map +1 -1
  71. package/dist/cli/commands/restore.d.ts +4 -19
  72. package/dist/cli/commands/restore.js +9 -158
  73. package/dist/cli/commands/restore.js.map +1 -1
  74. package/dist/cli/commands/schema.d.ts +7 -507
  75. package/dist/cli/commands/schema.js +5 -1254
  76. package/dist/cli/commands/schema.js.map +1 -1
  77. package/dist/cli/commands/test.d.ts +2 -4
  78. package/dist/cli/commands/test.js +7 -97
  79. package/dist/cli/commands/test.js.map +1 -1
  80. package/dist/cli/commands/validate.d.ts +9 -249
  81. package/dist/cli/commands/validate.js +9 -2150
  82. package/dist/cli/commands/validate.js.map +1 -1
  83. package/dist/cli/extension-command-help.js +18 -4
  84. package/dist/cli/extension-command-help.js.map +1 -1
  85. package/dist/cli/extension-command-options.js +3 -3
  86. package/dist/cli/extension-command-options.js.map +1 -1
  87. package/dist/cli/help-content.js +7 -3
  88. package/dist/cli/help-content.js.map +1 -1
  89. package/dist/cli/main.js +20 -30
  90. package/dist/cli/main.js.map +1 -1
  91. package/dist/cli/register-list-query.js +4 -2
  92. package/dist/cli/register-list-query.js.map +1 -1
  93. package/dist/cli/register-mutation.js +11 -3
  94. package/dist/cli/register-mutation.js.map +1 -1
  95. package/dist/cli/register-setup.js +4 -2
  96. package/dist/cli/register-setup.js.map +1 -1
  97. package/dist/cli/registration-helpers.js +3 -2
  98. package/dist/cli/registration-helpers.js.map +1 -1
  99. package/dist/cli-bundle/bundle-manifest.json +782 -0
  100. package/dist/cli-bundle/chunks/{append-PVZJDM6J.js → append-OJQFUQ4T.js} +5 -5
  101. package/dist/cli-bundle/chunks/append-UZVHUO74.js +11 -0
  102. package/dist/cli-bundle/chunks/{chunk-MQZ3PLCF.js → chunk-2IFFUZLC.js} +2 -2
  103. package/dist/cli-bundle/chunks/{chunk-P6MYFH6K.js → chunk-2JKGO6QX.js} +4 -4
  104. package/dist/cli-bundle/chunks/{chunk-X3GYR4P2.js → chunk-2NCIPMQP.js} +2 -2
  105. package/dist/cli-bundle/chunks/{chunk-Q7E6OYZK.js → chunk-2VPAVL7O.js} +2 -2
  106. package/dist/cli-bundle/chunks/{chunk-DRNJPEPQ.js → chunk-2WSE6PO2.js} +4 -4
  107. package/dist/cli-bundle/chunks/{chunk-FDSBDNYE.js → chunk-34L5OT3Y.js} +2 -2
  108. package/dist/cli-bundle/chunks/{chunk-TH7U4KLY.js → chunk-3AUGG2DP.js} +3 -3
  109. package/dist/cli-bundle/chunks/{chunk-NKW36AMT.js → chunk-3CLU2XZO.js} +4 -4
  110. package/dist/cli-bundle/chunks/{chunk-N3CMP4NI.js → chunk-3S5QVM5H.js} +43 -7
  111. package/dist/cli-bundle/chunks/chunk-3S5QVM5H.js.map +1 -0
  112. package/dist/cli-bundle/chunks/chunk-3U7ZR6M4.js +64 -0
  113. package/dist/cli-bundle/chunks/chunk-3U7ZR6M4.js.map +7 -0
  114. package/dist/cli-bundle/chunks/{chunk-ABRCOSDC.js → chunk-3WM75PWC.js} +3 -3
  115. package/dist/cli-bundle/chunks/chunk-4223PVZT.js +121 -0
  116. package/dist/cli-bundle/chunks/chunk-4223PVZT.js.map +7 -0
  117. package/dist/cli-bundle/chunks/{chunk-5URI7TPJ.js → chunk-4XQ3BDV4.js} +281 -164
  118. package/dist/cli-bundle/chunks/chunk-4XQ3BDV4.js.map +7 -0
  119. package/dist/cli-bundle/chunks/{chunk-X6BVXQ52.js → chunk-5JLUII3O.js} +13 -13
  120. package/dist/cli-bundle/chunks/{chunk-MKL4CP2I.js → chunk-5ZSLZLDN.js} +631 -246
  121. package/dist/cli-bundle/chunks/chunk-5ZSLZLDN.js.map +1 -0
  122. package/dist/cli-bundle/chunks/{chunk-Q37E63AM.js → chunk-6CFNAVTF.js} +21 -141
  123. package/dist/cli-bundle/chunks/chunk-6CFNAVTF.js.map +7 -0
  124. package/dist/cli-bundle/chunks/{chunk-3TL7WOEF.js → chunk-6N2VXVTQ.js} +2 -2
  125. package/dist/cli-bundle/chunks/{chunk-ERL2YFJ2.js → chunk-6S3YSUYG.js} +3 -3
  126. package/dist/cli-bundle/chunks/{chunk-ZUKSZVBW.js → chunk-7B67ZL4N.js} +8 -7
  127. package/dist/cli-bundle/chunks/chunk-7B67ZL4N.js.map +7 -0
  128. package/dist/cli-bundle/chunks/{chunk-IA3YFTXT.js → chunk-7PIWCHTW.js} +11 -13
  129. package/dist/cli-bundle/chunks/chunk-7PIWCHTW.js.map +1 -0
  130. package/dist/cli-bundle/chunks/{chunk-BPD26E3P.js → chunk-7Z4LKRS4.js} +291 -81
  131. package/dist/cli-bundle/chunks/chunk-7Z4LKRS4.js.map +1 -0
  132. package/dist/cli-bundle/chunks/{chunk-IFZA4VB5.js → chunk-AHVTB5I5.js} +4 -4
  133. package/dist/cli-bundle/chunks/{chunk-DO5RGJXT.js → chunk-APRVSW2O.js} +3 -3
  134. package/dist/cli-bundle/chunks/{chunk-NAQYVWSQ.js → chunk-B7PE22W6.js} +4 -4
  135. package/dist/cli-bundle/chunks/{chunk-MD6ULIPJ.js → chunk-BCOFWYW4.js} +3 -3
  136. package/dist/cli-bundle/chunks/{chunk-KADLSPIU.js → chunk-BEP7WJA2.js} +4 -4
  137. package/dist/cli-bundle/chunks/chunk-BKVG6XOA.js +1114 -0
  138. package/dist/cli-bundle/chunks/chunk-BKVG6XOA.js.map +7 -0
  139. package/dist/cli-bundle/chunks/{chunk-AFWZRL7M.js → chunk-BSEQUTQP.js} +2 -2
  140. package/dist/cli-bundle/chunks/{chunk-AFWZRL7M.js.map → chunk-BSEQUTQP.js.map} +2 -2
  141. package/dist/cli-bundle/chunks/{chunk-OBDLEQG5.js → chunk-CRVF2JDM.js} +10 -10
  142. package/dist/cli-bundle/chunks/{chunk-FJZDA6MS.js → chunk-DM4H7FP4.js} +3 -3
  143. package/dist/cli-bundle/chunks/chunk-DUT67M43.js +5 -0
  144. package/dist/cli-bundle/chunks/{chunk-44LNIULG.js → chunk-DYH63FX7.js} +4 -4
  145. package/dist/cli-bundle/chunks/{chunk-LWTIRS3Y.js → chunk-E2OJMKML.js} +306 -82
  146. package/dist/cli-bundle/chunks/chunk-E2OJMKML.js.map +7 -0
  147. package/dist/cli-bundle/chunks/{chunk-HAMLIWAF.js → chunk-EAB64KLB.js} +4 -4
  148. package/dist/cli-bundle/chunks/{chunk-CIOZ376P.js → chunk-EACOH7AU.js} +10 -10
  149. package/dist/cli-bundle/chunks/{chunk-HL7V2PHX.js → chunk-EH2OPHBI.js} +10 -10
  150. package/dist/cli-bundle/chunks/{chunk-HL7V2PHX.js.map → chunk-EH2OPHBI.js.map} +1 -1
  151. package/dist/cli-bundle/chunks/{chunk-QK2ZN6UL.js → chunk-EJEXHTY5.js} +2 -2
  152. package/dist/cli-bundle/chunks/{chunk-WQUEHPZB.js → chunk-EYLCSJAI.js} +2 -2
  153. package/dist/cli-bundle/chunks/{chunk-655STMGA.js → chunk-FMBNM2EN.js} +2 -2
  154. package/dist/cli-bundle/chunks/{chunk-RMF3IOYQ.js → chunk-FNSPG7MU.js} +12 -12
  155. package/dist/cli-bundle/chunks/{chunk-5CT5BW6E.js → chunk-GM5QHQU6.js} +46 -40
  156. package/dist/cli-bundle/chunks/chunk-GM5QHQU6.js.map +7 -0
  157. package/dist/cli-bundle/chunks/{chunk-FTQLW4JD.js → chunk-GOSLKLFE.js} +418 -24
  158. package/dist/cli-bundle/chunks/chunk-GOSLKLFE.js.map +1 -0
  159. package/dist/cli-bundle/chunks/{chunk-KB726FMH.js → chunk-H2Z3FYXQ.js} +4 -4
  160. package/dist/cli-bundle/chunks/chunk-H3EIEWGR.js +162 -0
  161. package/dist/cli-bundle/chunks/chunk-H3EIEWGR.js.map +1 -0
  162. package/dist/cli-bundle/chunks/{chunk-2QIQGYPW.js → chunk-H5APFTHZ.js} +53 -10
  163. package/dist/cli-bundle/chunks/chunk-H5APFTHZ.js.map +7 -0
  164. package/dist/cli-bundle/chunks/chunk-HDH3JUGG.js +118 -0
  165. package/dist/cli-bundle/chunks/chunk-HDH3JUGG.js.map +1 -0
  166. package/dist/cli-bundle/chunks/{chunk-ZAYYDNB3.js → chunk-HO4KXD6I.js} +22 -142
  167. package/dist/cli-bundle/chunks/chunk-HO4KXD6I.js.map +1 -0
  168. package/dist/cli-bundle/chunks/{chunk-ILLUE5DI.js → chunk-HYB5AZ63.js} +203 -62
  169. package/dist/cli-bundle/chunks/{chunk-ILLUE5DI.js.map → chunk-HYB5AZ63.js.map} +3 -3
  170. package/dist/cli-bundle/chunks/{chunk-BN62TO2S.js → chunk-IA5FKNII.js} +2 -2
  171. package/dist/cli-bundle/chunks/{chunk-JL7WZ4O2.js → chunk-IG3SWA4A.js} +33 -9
  172. package/dist/cli-bundle/chunks/chunk-IG3SWA4A.js.map +7 -0
  173. package/dist/cli-bundle/chunks/{chunk-W6HZ55JO.js → chunk-IJIICKVW.js} +2 -2
  174. package/dist/cli-bundle/chunks/{chunk-IGED7NH2.js → chunk-ILX33QXL.js} +668 -251
  175. package/dist/cli-bundle/chunks/chunk-ILX33QXL.js.map +7 -0
  176. package/dist/cli-bundle/chunks/{chunk-UGTVWL3E.js → chunk-INU6DKT5.js} +47 -41
  177. package/dist/cli-bundle/chunks/chunk-INU6DKT5.js.map +1 -0
  178. package/dist/cli-bundle/chunks/{chunk-UB2QYSTO.js → chunk-J5AOEGDC.js} +26 -18
  179. package/dist/cli-bundle/chunks/chunk-J5AOEGDC.js.map +1 -0
  180. package/dist/cli-bundle/chunks/{chunk-4DY4KPQI.js → chunk-J6364LFM.js} +1330 -937
  181. package/dist/cli-bundle/chunks/chunk-J6364LFM.js.map +7 -0
  182. package/dist/cli-bundle/chunks/{chunk-DVOLZJ3C.js → chunk-J6EY5V4N.js} +1295 -939
  183. package/dist/cli-bundle/chunks/chunk-J6EY5V4N.js.map +1 -0
  184. package/dist/cli-bundle/chunks/chunk-JFTKLTEF.js +1097 -0
  185. package/dist/cli-bundle/chunks/chunk-JFTKLTEF.js.map +1 -0
  186. package/dist/cli-bundle/chunks/{chunk-M7EWN4TF.js → chunk-JOUQZENX.js} +3 -3
  187. package/dist/cli-bundle/chunks/{chunk-J4NZOP3I.js → chunk-JXQUXVMI.js} +9 -8
  188. package/dist/cli-bundle/chunks/chunk-JXQUXVMI.js.map +1 -0
  189. package/dist/cli-bundle/chunks/{chunk-2FNWQXZ2.js → chunk-JYFOV7FC.js} +4 -4
  190. package/dist/cli-bundle/chunks/{chunk-HLHSQ5CA.js → chunk-K2X6U4UA.js} +4 -4
  191. package/dist/cli-bundle/chunks/{chunk-6OTZMORS.js → chunk-K3WII2ME.js} +27 -27
  192. package/dist/cli-bundle/chunks/chunk-K3WII2ME.js.map +7 -0
  193. package/dist/cli-bundle/chunks/{chunk-M6ASXYCU.js → chunk-KG44YSKD.js} +4 -4
  194. package/dist/cli-bundle/chunks/{chunk-YVKE5ZDM.js → chunk-KPMKHGEA.js} +4 -4
  195. package/dist/cli-bundle/chunks/{chunk-QASRVKUQ.js → chunk-LPYWLWDS.js} +257 -163
  196. package/dist/cli-bundle/chunks/chunk-LPYWLWDS.js.map +1 -0
  197. package/dist/cli-bundle/chunks/{chunk-RGXD5JJR.js → chunk-LSG2U345.js} +19 -12
  198. package/dist/cli-bundle/chunks/chunk-LSG2U345.js.map +7 -0
  199. package/dist/cli-bundle/chunks/chunk-MIQDDLB5.js +5 -0
  200. package/dist/cli-bundle/chunks/{chunk-UJ4HJYWL.js → chunk-NLDFBC6J.js} +2 -2
  201. package/dist/cli-bundle/chunks/{chunk-WRKB56FC.js → chunk-NP22ERDF.js} +3 -3
  202. package/dist/cli-bundle/chunks/{chunk-YQYG2V23.js → chunk-NU3IMIEA.js} +2 -2
  203. package/dist/cli-bundle/chunks/{chunk-3I3LRT2G.js → chunk-NVPZIJVR.js} +2 -2
  204. package/dist/cli-bundle/chunks/{chunk-JAF4TUQ7.js → chunk-ODALILG3.js} +2 -2
  205. package/dist/cli-bundle/chunks/{chunk-CDJYP7OQ.js → chunk-ONG5V5CI.js} +190 -63
  206. package/dist/cli-bundle/chunks/chunk-ONG5V5CI.js.map +1 -0
  207. package/dist/cli-bundle/chunks/{chunk-QZ7LT3XE.js → chunk-ONREO4ST.js} +3 -3
  208. package/dist/cli-bundle/chunks/chunk-OW4JWD5M.js +61 -0
  209. package/dist/cli-bundle/chunks/chunk-OW4JWD5M.js.map +1 -0
  210. package/dist/cli-bundle/chunks/{chunk-3CMRNVTO.js → chunk-P74IZQ7A.js} +12 -12
  211. package/dist/cli-bundle/chunks/chunk-PENXZX3U.js +172 -0
  212. package/dist/cli-bundle/chunks/chunk-PENXZX3U.js.map +7 -0
  213. package/dist/cli-bundle/chunks/{chunk-ZTRBSABY.js → chunk-PGY23YTC.js} +3 -3
  214. package/dist/cli-bundle/chunks/{chunk-H2QBAKLQ.js → chunk-PMOSXADO.js} +3 -3
  215. package/dist/cli-bundle/chunks/chunk-PNTULOGU.js +9 -0
  216. package/dist/cli-bundle/chunks/{chunk-GSEADLRH.js → chunk-Q7A43DS4.js} +2 -2
  217. package/dist/cli-bundle/chunks/{chunk-QSPARJWF.js → chunk-QEHQ2GVG.js} +2 -2
  218. package/dist/cli-bundle/chunks/{chunk-VJTAEIPC.js → chunk-QIPLHNP7.js} +7 -7
  219. package/dist/cli-bundle/chunks/{chunk-GXXC7QSK.js → chunk-QKECXBBG.js} +3 -3
  220. package/dist/cli-bundle/chunks/{chunk-GXXC7QSK.js.map → chunk-QKECXBBG.js.map} +1 -1
  221. package/dist/cli-bundle/chunks/{chunk-K7WNZ7KD.js → chunk-QKJGPFAF.js} +3 -3
  222. package/dist/cli-bundle/chunks/{chunk-F7PSHRNO.js → chunk-QKXHFPYM.js} +27 -10
  223. package/dist/cli-bundle/chunks/chunk-QKXHFPYM.js.map +1 -0
  224. package/dist/cli-bundle/chunks/{chunk-ZNP64HOW.js → chunk-RLCHOOHC.js} +2 -2
  225. package/dist/cli-bundle/chunks/{chunk-IAPHYPRL.js → chunk-RMLWNPH2.js} +2 -2
  226. package/dist/cli-bundle/chunks/{chunk-UVBA6F5A.js → chunk-RRM5JYJC.js} +2 -2
  227. package/dist/cli-bundle/chunks/{chunk-6IIVBC56.js → chunk-S6MQESFR.js} +4 -4
  228. package/dist/cli-bundle/chunks/{chunk-QABYZYLU.js → chunk-SDQLJWBO.js} +4 -4
  229. package/dist/cli-bundle/chunks/{chunk-ANSJHDOZ.js → chunk-SELVXEZK.js} +2 -2
  230. package/dist/cli-bundle/chunks/{chunk-DYEX6NFH.js → chunk-TD3LVC7D.js} +438 -23
  231. package/dist/cli-bundle/chunks/chunk-TD3LVC7D.js.map +7 -0
  232. package/dist/cli-bundle/chunks/{chunk-WD6MSYMP.js → chunk-TKOVBP6C.js} +2 -2
  233. package/dist/cli-bundle/chunks/{chunk-TZ2PSLLT.js → chunk-TQSZFPIS.js} +4 -4
  234. package/dist/cli-bundle/chunks/{chunk-WPAWZW7S.js → chunk-TSMHDIW4.js} +2 -2
  235. package/dist/cli-bundle/chunks/{chunk-TZRTLMWM.js → chunk-UFXU44HV.js} +4 -4
  236. package/dist/cli-bundle/chunks/{chunk-TWLDBKQU.js → chunk-ULTHRDBP.js} +3 -3
  237. package/dist/cli-bundle/chunks/{chunk-OI4S4KCI.js → chunk-UMOPHQSU.js} +9 -9
  238. package/dist/cli-bundle/chunks/{chunk-OI4S4KCI.js.map → chunk-UMOPHQSU.js.map} +2 -2
  239. package/dist/cli-bundle/chunks/{chunk-RA5AIAMP.js → chunk-UOHFKBUV.js} +3 -3
  240. package/dist/cli-bundle/chunks/{chunk-PHKP3AGR.js → chunk-UWQHLMEB.js} +35 -18
  241. package/dist/cli-bundle/chunks/chunk-UWQHLMEB.js.map +7 -0
  242. package/dist/cli-bundle/chunks/{chunk-6TTOHMTB.js → chunk-UXONS674.js} +45 -112
  243. package/dist/cli-bundle/chunks/chunk-UXONS674.js.map +1 -0
  244. package/dist/cli-bundle/chunks/{chunk-4RXTMU57.js → chunk-UY2ACEMF.js} +7 -7
  245. package/dist/cli-bundle/chunks/{chunk-6PKA3SJQ.js → chunk-WQPUU7XD.js} +19 -28
  246. package/dist/cli-bundle/chunks/chunk-WQPUU7XD.js.map +1 -0
  247. package/dist/cli-bundle/chunks/{chunk-7TQMR6LK.js → chunk-WT3ZEOGH.js} +70 -20
  248. package/dist/cli-bundle/chunks/chunk-WT3ZEOGH.js.map +7 -0
  249. package/dist/cli-bundle/chunks/{chunk-FIGXOCEQ.js → chunk-WUJQK4YV.js} +4 -4
  250. package/dist/cli-bundle/chunks/{chunk-T4BRCB6Z.js → chunk-XSJUSQAE.js} +2 -2
  251. package/dist/cli-bundle/chunks/{chunk-6MHSBDGD.js → chunk-XXXF6PAQ.js} +50 -117
  252. package/dist/cli-bundle/chunks/chunk-XXXF6PAQ.js.map +7 -0
  253. package/dist/cli-bundle/chunks/{chunk-UKUIIBDW.js → chunk-YAQEBNY7.js} +4 -4
  254. package/dist/cli-bundle/chunks/{chunk-7QDSYUMF.js → chunk-YAROI3PD.js} +44 -21
  255. package/dist/cli-bundle/chunks/chunk-YAROI3PD.js.map +1 -0
  256. package/dist/cli-bundle/chunks/{chunk-E2WC6S4P.js → chunk-YBLZ2VE7.js} +13 -13
  257. package/dist/cli-bundle/chunks/{chunk-Y72FV7RM.js → chunk-YCQET3OT.js} +2 -2
  258. package/dist/cli-bundle/chunks/chunk-YUSOJDWM.js +9 -0
  259. package/dist/cli-bundle/chunks/chunk-YXSHIAUJ.js +58 -0
  260. package/dist/cli-bundle/chunks/chunk-YXSHIAUJ.js.map +1 -0
  261. package/dist/cli-bundle/chunks/{chunk-FS6UM5WH.js → chunk-ZI6VQWQ7.js} +4 -4
  262. package/dist/cli-bundle/chunks/chunk-ZKRZY773.js +68 -0
  263. package/dist/cli-bundle/chunks/chunk-ZKRZY773.js.map +7 -0
  264. package/dist/cli-bundle/chunks/{close-LZECOMHO.js → close-CWODTPKG.js} +5 -5
  265. package/dist/cli-bundle/chunks/close-W6LI2PKM.js +12 -0
  266. package/dist/cli-bundle/chunks/{close-many-ZHI6A5TN.js → close-many-CQFUY7MR.js} +15 -13
  267. package/dist/cli-bundle/chunks/close-many-DLDDVSH5.js +23 -0
  268. package/dist/cli-bundle/chunks/comments-E3TNTK24.js +13 -0
  269. package/dist/cli-bundle/chunks/{comments-AJWRTFZ5.js → comments-WGLHR7LB.js} +7 -7
  270. package/dist/cli-bundle/chunks/{copy-GMXYKBXT.js → copy-LXVDXH7B.js} +4 -4
  271. package/dist/cli-bundle/chunks/copy-Q5ZJPUKR.js +9 -0
  272. package/dist/cli-bundle/chunks/{create-F53OBTOU.js → create-J5U6ND4K.js} +9 -9
  273. package/dist/cli-bundle/chunks/{create-HU4Q7RJX.js → create-LBVCYMEG.js} +9 -9
  274. package/dist/cli-bundle/chunks/{delete-GSDZLTRC.js → delete-PMJBNY5G.js} +4 -4
  275. package/dist/cli-bundle/chunks/delete-WNHB3LYW.js +10 -0
  276. package/dist/cli-bundle/chunks/{deps-WWB7P2GT.js → deps-JZ7TMVCB.js} +7 -4
  277. package/dist/cli-bundle/chunks/{deps-U57I7EAK.js → deps-OA26IS25.js} +7 -4
  278. package/dist/cli-bundle/chunks/{docs-MQIY2ZQS.js → docs-FEWB2DQB.js} +6 -6
  279. package/dist/cli-bundle/chunks/docs-HA2AIDBB.js +14 -0
  280. package/dist/cli-bundle/chunks/{files-TBZD7V6H.js → files-6YFBJRBG.js} +6 -6
  281. package/dist/cli-bundle/chunks/{files-TTY6N2AV.js → files-EFIWKFTM.js} +6 -6
  282. package/dist/cli-bundle/chunks/{focus-XT6YVFFX.js → focus-4QJR7FOQ.js} +5 -5
  283. package/dist/cli-bundle/chunks/focus-POIW5LTJ.js +10 -0
  284. package/dist/cli-bundle/chunks/{history-compact-KKVUWB4V.js → history-compact-CKRPDTJN.js} +6 -10
  285. package/dist/cli-bundle/chunks/history-compact-FWG2C7FZ.js +16 -0
  286. package/dist/cli-bundle/chunks/history-redact-BB3TGDAE.js +15 -0
  287. package/dist/cli-bundle/chunks/{history-redact-3DVZOILD.js → history-redact-D225BHOZ.js} +5 -6
  288. package/dist/cli-bundle/chunks/history-repair-6GEAM7HE.js +16 -0
  289. package/dist/cli-bundle/chunks/{history-repair-ITDUMK4N.js → history-repair-RQXKQHL4.js} +6 -8
  290. package/dist/cli-bundle/chunks/{learnings-FGO3NSFW.js → learnings-JLNLCOL5.js} +7 -7
  291. package/dist/cli-bundle/chunks/learnings-RSNLSWDC.js +13 -0
  292. package/dist/cli-bundle/chunks/notes-2WDH6DXU.js +13 -0
  293. package/dist/cli-bundle/chunks/{notes-NQ6RXVW6.js → notes-GB47XXQQ.js} +7 -7
  294. package/dist/cli-bundle/chunks/plan-DOVI2VMW.js +24 -0
  295. package/dist/cli-bundle/chunks/{plan-2NNEO46V.js → plan-VDCJ2PCN.js} +10 -10
  296. package/dist/cli-bundle/chunks/{profile-AAQUU6T3.js → profile-FAU7NZML.js} +10 -10
  297. package/dist/cli-bundle/chunks/{profile-U725ATWZ.js → profile-IVXQEL3D.js} +10 -10
  298. package/dist/cli-bundle/chunks/{register-list-query-BUWCYHBT.js → register-list-query-DKA3EH5D.js} +22 -19
  299. package/dist/cli-bundle/chunks/register-list-query-DKA3EH5D.js.map +7 -0
  300. package/dist/cli-bundle/chunks/{register-list-query-KTZ6AGE7.js → register-list-query-UL4UKBBN.js} +23 -20
  301. package/dist/cli-bundle/chunks/register-list-query-UL4UKBBN.js.map +1 -0
  302. package/dist/cli-bundle/chunks/{register-mutation-UELYYOR7.js → register-mutation-ARFHRW55.js} +36 -32
  303. package/dist/cli-bundle/chunks/{register-mutation-UELYYOR7.js.map → register-mutation-ARFHRW55.js.map} +2 -2
  304. package/dist/cli-bundle/chunks/{register-mutation-4FMGJJF7.js → register-mutation-RBBJ52DK.js} +37 -33
  305. package/dist/cli-bundle/chunks/register-mutation-RBBJ52DK.js.map +1 -0
  306. package/dist/cli-bundle/chunks/{register-operations-JVW24J2Y.js → register-operations-ZIBBRSED.js} +41 -39
  307. package/dist/cli-bundle/chunks/{register-operations-JVW24J2Y.js.map → register-operations-ZIBBRSED.js.map} +1 -1
  308. package/dist/cli-bundle/chunks/{register-operations-ISUX6LY5.js → register-operations-ZUJ5JWPE.js} +39 -37
  309. package/dist/cli-bundle/chunks/{register-operations-ISUX6LY5.js.map → register-operations-ZUJ5JWPE.js.map} +1 -1
  310. package/dist/cli-bundle/chunks/{register-setup-5XNGKJ22.js → register-setup-BCVLFEYS.js} +29 -17
  311. package/dist/cli-bundle/chunks/{register-setup-5XNGKJ22.js.map → register-setup-BCVLFEYS.js.map} +2 -2
  312. package/dist/cli-bundle/chunks/{register-setup-ZTNY6S7R.js → register-setup-TDCGWIOS.js} +19 -18
  313. package/dist/cli-bundle/chunks/{register-setup-ZTNY6S7R.js.map → register-setup-TDCGWIOS.js.map} +1 -1
  314. package/dist/cli-bundle/chunks/{restore-B3BAB6X2.js → restore-25DLT2Q2.js} +6 -6
  315. package/dist/cli-bundle/chunks/restore-YPMVUUEX.js +14 -0
  316. package/dist/cli-bundle/chunks/{schema-U7IM2DXV.js → schema-FNU3WE4O.js} +7 -6
  317. package/dist/cli-bundle/chunks/{schema-LZNUYHDB.js → schema-NBCM3RAD.js} +7 -6
  318. package/dist/cli-bundle/chunks/update-WWBYOPXO.js +21 -0
  319. package/dist/cli-bundle/chunks/update-WWBYOPXO.js.map +7 -0
  320. package/dist/cli-bundle/chunks/{update-Q3UCILNR.js → update-XHSIAIXE.js} +12 -12
  321. package/dist/cli-bundle/chunks/update-XHSIAIXE.js.map +1 -0
  322. package/dist/cli-bundle/chunks/update-many-OUGIU5SF.js +32 -0
  323. package/dist/cli-bundle/chunks/update-many-OUGIU5SF.js.map +7 -0
  324. package/dist/cli-bundle/chunks/update-many-TA7NGQBO.js +36 -0
  325. package/dist/cli-bundle/chunks/update-many-TA7NGQBO.js.map +1 -0
  326. package/dist/cli-bundle/main.js +826 -43
  327. package/dist/cli-bundle/main.js.map +4 -4
  328. package/dist/cli-bundle/sdk-runtime.js +70 -57
  329. package/dist/cli-bundle/sdk-testing.js +6 -6
  330. package/dist/cli-bundle/sdk.js +876 -74
  331. package/dist/cli-bundle/sdk.js.map +4 -4
  332. package/dist/cli.js +5 -4
  333. package/dist/cli.js.map +1 -1
  334. package/dist/core/diagnostics/remediation.js +12 -2
  335. package/dist/core/diagnostics/remediation.js.map +1 -1
  336. package/dist/core/history/projection.d.ts +39 -0
  337. package/dist/core/history/projection.js +164 -0
  338. package/dist/core/history/projection.js.map +1 -0
  339. package/dist/core/history/read.d.ts +3 -0
  340. package/dist/core/history/read.js +55 -0
  341. package/dist/core/history/read.js.map +1 -0
  342. package/dist/core/output/output-control.d.ts +18 -0
  343. package/dist/core/output/output-control.js +26 -0
  344. package/dist/core/output/output-control.js.map +1 -0
  345. package/dist/core/output/output.js +20 -8
  346. package/dist/core/output/output.js.map +1 -1
  347. package/dist/core/sentry/helpers.js +10 -2
  348. package/dist/core/sentry/helpers.js.map +1 -1
  349. package/dist/core/shared/command-types.d.ts +2 -0
  350. package/dist/core/shared/command-types.js +2 -2
  351. package/dist/core/shared/command-types.js.map +1 -1
  352. package/dist/core/shared/errors.d.ts +11 -0
  353. package/dist/core/shared/errors.js +2 -2
  354. package/dist/core/shared/errors.js.map +1 -1
  355. package/dist/mcp/server.d.ts +2 -2
  356. package/dist/mcp/tool-definitions.js +5 -5
  357. package/dist/mcp/tool-definitions.js.map +1 -1
  358. package/dist/sdk/author-attribution.d.ts +35 -0
  359. package/dist/sdk/author-attribution.js +118 -0
  360. package/dist/sdk/author-attribution.js.map +1 -0
  361. package/dist/sdk/cli-contracts/command-aliases.d.ts +7 -0
  362. package/dist/sdk/cli-contracts/command-aliases.js +17 -0
  363. package/dist/sdk/cli-contracts/command-aliases.js.map +1 -0
  364. package/dist/sdk/cli-contracts/flag-contracts.js +5 -2
  365. package/dist/sdk/cli-contracts/flag-contracts.js.map +1 -1
  366. package/dist/sdk/cli-contracts/tool-option-contracts.js +6 -2
  367. package/dist/sdk/cli-contracts/tool-option-contracts.js.map +1 -1
  368. package/dist/sdk/cli-contracts/tool-parameter-tables.js +21 -2
  369. package/dist/sdk/cli-contracts/tool-parameter-tables.js.map +1 -1
  370. package/dist/sdk/cli-contracts/tool-schema.js +3 -3
  371. package/dist/sdk/cli-contracts/tool-schema.js.map +1 -1
  372. package/dist/sdk/cli-contracts.d.ts +1 -0
  373. package/dist/sdk/cli-contracts.js +3 -2
  374. package/dist/sdk/cli-contracts.js.map +1 -1
  375. package/dist/sdk/cli-program.d.ts +8 -0
  376. package/dist/sdk/cli-program.js +39 -0
  377. package/dist/sdk/cli-program.js.map +1 -0
  378. package/dist/sdk/command-line.d.ts +11 -0
  379. package/dist/sdk/command-line.js +40 -0
  380. package/dist/sdk/command-line.js.map +1 -0
  381. package/dist/sdk/config.d.ts +163 -0
  382. package/dist/sdk/config.js +1087 -0
  383. package/dist/sdk/config.js.map +1 -0
  384. package/dist/sdk/context-relevance.d.ts +21 -0
  385. package/dist/sdk/context-relevance.js +70 -2
  386. package/dist/sdk/context-relevance.js.map +1 -1
  387. package/dist/sdk/dependencies.d.ts +15 -2
  388. package/dist/sdk/dependencies.js +97 -8
  389. package/dist/sdk/dependencies.js.map +1 -1
  390. package/dist/{cli/commands → sdk}/extension/bundled-catalog.d.ts +1 -1
  391. package/dist/{cli/commands → sdk}/extension/bundled-catalog.js +12 -12
  392. package/dist/sdk/extension/bundled-catalog.js.map +1 -0
  393. package/dist/sdk/extension/concurrency.d.ts +7 -0
  394. package/dist/sdk/extension/concurrency.js +26 -0
  395. package/dist/sdk/extension/concurrency.js.map +1 -0
  396. package/dist/sdk/extension/describe.d.ts +91 -0
  397. package/dist/sdk/extension/describe.js +144 -0
  398. package/dist/sdk/extension/describe.js.map +1 -0
  399. package/dist/{cli/commands → sdk}/extension/doctor.d.ts +3 -3
  400. package/dist/{cli/commands → sdk}/extension/doctor.js +7 -7
  401. package/dist/sdk/extension/doctor.js.map +1 -0
  402. package/dist/sdk/extension/install-runtime.d.ts +26 -0
  403. package/dist/sdk/extension/install-runtime.js +269 -0
  404. package/dist/sdk/extension/install-runtime.js.map +1 -0
  405. package/dist/sdk/extension/install-snapshot.d.ts +23 -0
  406. package/dist/sdk/extension/install-snapshot.js +66 -0
  407. package/dist/sdk/extension/install-snapshot.js.map +1 -0
  408. package/dist/{cli/commands → sdk}/extension/install-sources.d.ts +3 -3
  409. package/dist/{cli/commands → sdk}/extension/install-sources.js +15 -12
  410. package/dist/sdk/extension/install-sources.js.map +1 -0
  411. package/dist/{cli/commands → sdk}/extension/managed-state.js +6 -6
  412. package/dist/sdk/extension/managed-state.js.map +1 -0
  413. package/dist/sdk/extension/scaffold.d.ts +36 -0
  414. package/dist/sdk/extension/scaffold.js +2436 -0
  415. package/dist/sdk/extension/scaffold.js.map +1 -0
  416. package/dist/sdk/extension/shared.d.ts +28 -0
  417. package/dist/sdk/extension/shared.js +140 -0
  418. package/dist/sdk/extension/shared.js.map +1 -0
  419. package/dist/sdk/extension/update-check.d.ts +15 -0
  420. package/dist/sdk/extension/update-check.js +68 -0
  421. package/dist/sdk/extension/update-check.js.map +1 -0
  422. package/dist/sdk/extension.d.ts +367 -0
  423. package/dist/sdk/extension.js +2174 -0
  424. package/dist/sdk/extension.js.map +1 -0
  425. package/dist/sdk/governance/gc.d.ts +56 -0
  426. package/dist/sdk/governance/gc.js +276 -0
  427. package/dist/sdk/governance/gc.js.map +1 -0
  428. package/dist/sdk/governance/health.d.ts +187 -0
  429. package/dist/sdk/governance/health.js +1796 -0
  430. package/dist/sdk/governance/health.js.map +1 -0
  431. package/dist/sdk/governance/validate.d.ts +255 -0
  432. package/dist/sdk/governance/validate.js +2175 -0
  433. package/dist/sdk/governance/validate.js.map +1 -0
  434. package/dist/sdk/history-compact.d.ts +142 -0
  435. package/dist/sdk/history-compact.js +508 -0
  436. package/dist/sdk/history-compact.js.map +1 -0
  437. package/dist/sdk/history-mcp.d.ts +17 -0
  438. package/dist/sdk/history-mcp.js +68 -0
  439. package/dist/sdk/history-mcp.js.map +1 -0
  440. package/dist/sdk/history-read.d.ts +31 -0
  441. package/dist/sdk/history-read.js +58 -0
  442. package/dist/sdk/history-read.js.map +1 -0
  443. package/dist/sdk/history-redact.d.ts +120 -0
  444. package/dist/sdk/history-redact.js +577 -0
  445. package/dist/sdk/history-redact.js.map +1 -0
  446. package/dist/sdk/history-repair.d.ts +89 -0
  447. package/dist/sdk/history-repair.js +263 -0
  448. package/dist/sdk/history-repair.js.map +1 -0
  449. package/dist/sdk/index.d.ts +25 -1
  450. package/dist/sdk/index.js +27 -3
  451. package/dist/sdk/index.js.map +1 -1
  452. package/dist/sdk/init-agent-guidance.d.ts +113 -0
  453. package/dist/sdk/init-agent-guidance.js +437 -0
  454. package/dist/sdk/init-agent-guidance.js.map +1 -0
  455. package/dist/sdk/init.d.ts +186 -0
  456. package/dist/sdk/init.js +733 -0
  457. package/dist/sdk/init.js.map +1 -0
  458. package/dist/sdk/invocation-author.d.ts +2 -0
  459. package/dist/sdk/invocation-author.js +39 -0
  460. package/dist/sdk/invocation-author.js.map +1 -0
  461. package/dist/sdk/item-children.d.ts +45 -0
  462. package/dist/sdk/item-children.js +75 -0
  463. package/dist/sdk/item-children.js.map +1 -0
  464. package/dist/sdk/item-schedule.d.ts +26 -0
  465. package/dist/sdk/item-schedule.js +28 -0
  466. package/dist/sdk/item-schedule.js.map +1 -0
  467. package/dist/sdk/output.d.ts +7 -0
  468. package/dist/sdk/output.js +11 -0
  469. package/dist/sdk/output.js.map +1 -0
  470. package/dist/sdk/pagination.d.ts +4 -1
  471. package/dist/sdk/pagination.js +13 -5
  472. package/dist/sdk/pagination.js.map +1 -1
  473. package/dist/sdk/profile.d.ts +176 -0
  474. package/dist/sdk/profile.js +431 -0
  475. package/dist/sdk/profile.js.map +1 -0
  476. package/dist/sdk/relationship-analytics.d.ts +108 -0
  477. package/dist/sdk/relationship-analytics.js +292 -0
  478. package/dist/sdk/relationship-analytics.js.map +1 -0
  479. package/dist/sdk/relationship-context.d.ts +67 -0
  480. package/dist/sdk/relationship-context.js +207 -0
  481. package/dist/sdk/relationship-context.js.map +1 -0
  482. package/dist/sdk/relationship-history.d.ts +109 -0
  483. package/dist/sdk/relationship-history.js +401 -0
  484. package/dist/sdk/relationship-history.js.map +1 -0
  485. package/dist/sdk/relationships.d.ts +145 -0
  486. package/dist/sdk/relationships.js +551 -0
  487. package/dist/sdk/relationships.js.map +1 -0
  488. package/dist/sdk/runtime-input.d.ts +10 -0
  489. package/dist/sdk/runtime-input.js +60 -0
  490. package/dist/sdk/runtime-input.js.map +1 -0
  491. package/dist/sdk/runtime.d.ts +31 -8
  492. package/dist/sdk/runtime.js +61 -57
  493. package/dist/sdk/runtime.js.map +1 -1
  494. package/dist/sdk/schema.d.ts +507 -0
  495. package/dist/sdk/schema.js +1269 -0
  496. package/dist/sdk/schema.js.map +1 -0
  497. package/dist/{cli/commands → sdk}/templates.d.ts +1 -1
  498. package/dist/{cli/commands → sdk}/templates.js +9 -9
  499. package/dist/sdk/templates.js.map +1 -0
  500. package/dist/{cli/commands → sdk}/test/linked-command-detection.d.ts +10 -2
  501. package/dist/sdk/test/linked-command-detection.js +525 -0
  502. package/dist/sdk/test/linked-command-detection.js.map +1 -0
  503. package/docs/COMMANDS.md +58 -40
  504. package/docs/EXTENSIONS.md +10 -1
  505. package/docs/RELATIONSHIP_GRAPH.md +113 -0
  506. package/docs/RELEASING.md +2 -0
  507. package/docs/SDK.md +156 -9
  508. package/docs/SDK_CUSTOMIZATION_PRIMITIVES.md +79 -0
  509. package/marketplace.json +2 -2
  510. package/package.json +3 -2
  511. package/packages/pm-beads/package.json +1 -1
  512. package/packages/pm-calendar/package.json +1 -1
  513. package/packages/pm-command-kit/package.json +1 -1
  514. package/packages/pm-governance-audit/extensions/governance-audit/runtime-utils.ts +76 -16
  515. package/packages/pm-governance-audit/extensions/governance-audit/sdk.ts +8 -0
  516. package/packages/pm-governance-audit/package.json +1 -1
  517. package/packages/pm-guide-shell/package.json +1 -1
  518. package/packages/pm-kanban/package.json +1 -1
  519. package/packages/pm-lifecycle-hooks/package.json +1 -1
  520. package/packages/pm-linked-test-adapters/package.json +1 -1
  521. package/packages/pm-search-advanced/package.json +1 -1
  522. package/packages/pm-templates/package.json +1 -1
  523. package/packages/pm-todos/package.json +1 -1
  524. package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
  525. package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
  526. package/scripts/bundle-cli.mjs +66 -23
  527. package/dist/cli/commands/extension/bundled-catalog.js.map +0 -1
  528. package/dist/cli/commands/extension/doctor.js.map +0 -1
  529. package/dist/cli/commands/extension/install-sources.js.map +0 -1
  530. package/dist/cli/commands/extension/managed-state.js.map +0 -1
  531. package/dist/cli/commands/templates.js.map +0 -1
  532. package/dist/cli/commands/test/linked-command-detection.js +0 -248
  533. package/dist/cli/commands/test/linked-command-detection.js.map +0 -1
  534. package/dist/cli-bundle/chunks/append-DYQWQK2J.js +0 -11
  535. package/dist/cli-bundle/chunks/chunk-2GA3NK35.js +0 -530
  536. package/dist/cli-bundle/chunks/chunk-2GA3NK35.js.map +0 -1
  537. package/dist/cli-bundle/chunks/chunk-2QIQGYPW.js.map +0 -7
  538. package/dist/cli-bundle/chunks/chunk-4DY4KPQI.js.map +0 -7
  539. package/dist/cli-bundle/chunks/chunk-4WREH7RT.js +0 -554
  540. package/dist/cli-bundle/chunks/chunk-4WREH7RT.js.map +0 -7
  541. package/dist/cli-bundle/chunks/chunk-5CT5BW6E.js.map +0 -7
  542. package/dist/cli-bundle/chunks/chunk-5URI7TPJ.js.map +0 -7
  543. package/dist/cli-bundle/chunks/chunk-6MHSBDGD.js.map +0 -7
  544. package/dist/cli-bundle/chunks/chunk-6OTZMORS.js.map +0 -7
  545. package/dist/cli-bundle/chunks/chunk-6PKA3SJQ.js.map +0 -1
  546. package/dist/cli-bundle/chunks/chunk-6TTOHMTB.js.map +0 -1
  547. package/dist/cli-bundle/chunks/chunk-7QDSYUMF.js.map +0 -1
  548. package/dist/cli-bundle/chunks/chunk-7TQMR6LK.js.map +0 -7
  549. package/dist/cli-bundle/chunks/chunk-B5DZYTT3.js +0 -312
  550. package/dist/cli-bundle/chunks/chunk-B5DZYTT3.js.map +0 -7
  551. package/dist/cli-bundle/chunks/chunk-BPD26E3P.js.map +0 -1
  552. package/dist/cli-bundle/chunks/chunk-CDJYP7OQ.js.map +0 -1
  553. package/dist/cli-bundle/chunks/chunk-DBZVUJTK.js +0 -858
  554. package/dist/cli-bundle/chunks/chunk-DBZVUJTK.js.map +0 -1
  555. package/dist/cli-bundle/chunks/chunk-DVOLZJ3C.js.map +0 -1
  556. package/dist/cli-bundle/chunks/chunk-DYEX6NFH.js.map +0 -7
  557. package/dist/cli-bundle/chunks/chunk-F7PSHRNO.js.map +0 -1
  558. package/dist/cli-bundle/chunks/chunk-FO7GMJKG.js +0 -875
  559. package/dist/cli-bundle/chunks/chunk-FO7GMJKG.js.map +0 -7
  560. package/dist/cli-bundle/chunks/chunk-FTQLW4JD.js.map +0 -1
  561. package/dist/cli-bundle/chunks/chunk-IA3YFTXT.js.map +0 -1
  562. package/dist/cli-bundle/chunks/chunk-IGED7NH2.js.map +0 -7
  563. package/dist/cli-bundle/chunks/chunk-J4NZOP3I.js.map +0 -1
  564. package/dist/cli-bundle/chunks/chunk-JL7WZ4O2.js.map +0 -7
  565. package/dist/cli-bundle/chunks/chunk-L24HCJFC.js +0 -309
  566. package/dist/cli-bundle/chunks/chunk-L24HCJFC.js.map +0 -1
  567. package/dist/cli-bundle/chunks/chunk-LWTIRS3Y.js.map +0 -7
  568. package/dist/cli-bundle/chunks/chunk-MKL4CP2I.js.map +0 -1
  569. package/dist/cli-bundle/chunks/chunk-N3CMP4NI.js.map +0 -1
  570. package/dist/cli-bundle/chunks/chunk-PHKP3AGR.js.map +0 -7
  571. package/dist/cli-bundle/chunks/chunk-Q37E63AM.js.map +0 -7
  572. package/dist/cli-bundle/chunks/chunk-QASRVKUQ.js.map +0 -1
  573. package/dist/cli-bundle/chunks/chunk-RGXD5JJR.js.map +0 -7
  574. package/dist/cli-bundle/chunks/chunk-UB2QYSTO.js.map +0 -1
  575. package/dist/cli-bundle/chunks/chunk-UGTVWL3E.js.map +0 -1
  576. package/dist/cli-bundle/chunks/chunk-ZAYYDNB3.js.map +0 -1
  577. package/dist/cli-bundle/chunks/chunk-ZUKSZVBW.js.map +0 -7
  578. package/dist/cli-bundle/chunks/close-RI4JQQHU.js +0 -12
  579. package/dist/cli-bundle/chunks/close-many-LY2XJ52M.js +0 -21
  580. package/dist/cli-bundle/chunks/comments-35M273DN.js +0 -13
  581. package/dist/cli-bundle/chunks/copy-NPYM7M7U.js +0 -9
  582. package/dist/cli-bundle/chunks/delete-ODRWJWAM.js +0 -10
  583. package/dist/cli-bundle/chunks/docs-G7N4E2JO.js +0 -14
  584. package/dist/cli-bundle/chunks/focus-U5TRVCRS.js +0 -10
  585. package/dist/cli-bundle/chunks/history-compact-M7GHYVFN.js +0 -20
  586. package/dist/cli-bundle/chunks/history-redact-JIHZLHDP.js +0 -16
  587. package/dist/cli-bundle/chunks/history-repair-NAFCHLH7.js +0 -18
  588. package/dist/cli-bundle/chunks/learnings-SONGPSHI.js +0 -13
  589. package/dist/cli-bundle/chunks/notes-BSD53H2W.js +0 -13
  590. package/dist/cli-bundle/chunks/plan-AWLYGBNV.js +0 -24
  591. package/dist/cli-bundle/chunks/register-list-query-BUWCYHBT.js.map +0 -7
  592. package/dist/cli-bundle/chunks/register-list-query-KTZ6AGE7.js.map +0 -1
  593. package/dist/cli-bundle/chunks/register-mutation-4FMGJJF7.js.map +0 -1
  594. package/dist/cli-bundle/chunks/restore-66GLMHIX.js +0 -14
  595. package/dist/cli-bundle/chunks/update-2XGHIVQ2.js +0 -21
  596. package/dist/cli-bundle/chunks/update-many-75K57FS3.js +0 -34
  597. package/dist/cli-bundle/chunks/update-many-U42YA445.js +0 -30
  598. /package/dist/cli-bundle/chunks/{append-PVZJDM6J.js.map → append-OJQFUQ4T.js.map} +0 -0
  599. /package/dist/cli-bundle/chunks/{append-DYQWQK2J.js.map → append-UZVHUO74.js.map} +0 -0
  600. /package/dist/cli-bundle/chunks/{chunk-MQZ3PLCF.js.map → chunk-2IFFUZLC.js.map} +0 -0
  601. /package/dist/cli-bundle/chunks/{chunk-P6MYFH6K.js.map → chunk-2JKGO6QX.js.map} +0 -0
  602. /package/dist/cli-bundle/chunks/{chunk-X3GYR4P2.js.map → chunk-2NCIPMQP.js.map} +0 -0
  603. /package/dist/cli-bundle/chunks/{chunk-Q7E6OYZK.js.map → chunk-2VPAVL7O.js.map} +0 -0
  604. /package/dist/cli-bundle/chunks/{chunk-DRNJPEPQ.js.map → chunk-2WSE6PO2.js.map} +0 -0
  605. /package/dist/cli-bundle/chunks/{chunk-FDSBDNYE.js.map → chunk-34L5OT3Y.js.map} +0 -0
  606. /package/dist/cli-bundle/chunks/{chunk-TH7U4KLY.js.map → chunk-3AUGG2DP.js.map} +0 -0
  607. /package/dist/cli-bundle/chunks/{chunk-NKW36AMT.js.map → chunk-3CLU2XZO.js.map} +0 -0
  608. /package/dist/cli-bundle/chunks/{chunk-ABRCOSDC.js.map → chunk-3WM75PWC.js.map} +0 -0
  609. /package/dist/cli-bundle/chunks/{chunk-X6BVXQ52.js.map → chunk-5JLUII3O.js.map} +0 -0
  610. /package/dist/cli-bundle/chunks/{chunk-3TL7WOEF.js.map → chunk-6N2VXVTQ.js.map} +0 -0
  611. /package/dist/cli-bundle/chunks/{chunk-ERL2YFJ2.js.map → chunk-6S3YSUYG.js.map} +0 -0
  612. /package/dist/cli-bundle/chunks/{chunk-IFZA4VB5.js.map → chunk-AHVTB5I5.js.map} +0 -0
  613. /package/dist/cli-bundle/chunks/{chunk-DO5RGJXT.js.map → chunk-APRVSW2O.js.map} +0 -0
  614. /package/dist/cli-bundle/chunks/{chunk-NAQYVWSQ.js.map → chunk-B7PE22W6.js.map} +0 -0
  615. /package/dist/cli-bundle/chunks/{chunk-MD6ULIPJ.js.map → chunk-BCOFWYW4.js.map} +0 -0
  616. /package/dist/cli-bundle/chunks/{chunk-KADLSPIU.js.map → chunk-BEP7WJA2.js.map} +0 -0
  617. /package/dist/cli-bundle/chunks/{chunk-OBDLEQG5.js.map → chunk-CRVF2JDM.js.map} +0 -0
  618. /package/dist/cli-bundle/chunks/{chunk-FJZDA6MS.js.map → chunk-DM4H7FP4.js.map} +0 -0
  619. /package/dist/cli-bundle/chunks/{close-LZECOMHO.js.map → chunk-DUT67M43.js.map} +0 -0
  620. /package/dist/cli-bundle/chunks/{chunk-44LNIULG.js.map → chunk-DYH63FX7.js.map} +0 -0
  621. /package/dist/cli-bundle/chunks/{chunk-HAMLIWAF.js.map → chunk-EAB64KLB.js.map} +0 -0
  622. /package/dist/cli-bundle/chunks/{chunk-CIOZ376P.js.map → chunk-EACOH7AU.js.map} +0 -0
  623. /package/dist/cli-bundle/chunks/{chunk-QK2ZN6UL.js.map → chunk-EJEXHTY5.js.map} +0 -0
  624. /package/dist/cli-bundle/chunks/{chunk-WQUEHPZB.js.map → chunk-EYLCSJAI.js.map} +0 -0
  625. /package/dist/cli-bundle/chunks/{chunk-655STMGA.js.map → chunk-FMBNM2EN.js.map} +0 -0
  626. /package/dist/cli-bundle/chunks/{chunk-RMF3IOYQ.js.map → chunk-FNSPG7MU.js.map} +0 -0
  627. /package/dist/cli-bundle/chunks/{chunk-KB726FMH.js.map → chunk-H2Z3FYXQ.js.map} +0 -0
  628. /package/dist/cli-bundle/chunks/{chunk-BN62TO2S.js.map → chunk-IA5FKNII.js.map} +0 -0
  629. /package/dist/cli-bundle/chunks/{chunk-W6HZ55JO.js.map → chunk-IJIICKVW.js.map} +0 -0
  630. /package/dist/cli-bundle/chunks/{chunk-M7EWN4TF.js.map → chunk-JOUQZENX.js.map} +0 -0
  631. /package/dist/cli-bundle/chunks/{chunk-2FNWQXZ2.js.map → chunk-JYFOV7FC.js.map} +0 -0
  632. /package/dist/cli-bundle/chunks/{chunk-HLHSQ5CA.js.map → chunk-K2X6U4UA.js.map} +0 -0
  633. /package/dist/cli-bundle/chunks/{chunk-M6ASXYCU.js.map → chunk-KG44YSKD.js.map} +0 -0
  634. /package/dist/cli-bundle/chunks/{chunk-YVKE5ZDM.js.map → chunk-KPMKHGEA.js.map} +0 -0
  635. /package/dist/cli-bundle/chunks/{close-many-ZHI6A5TN.js.map → chunk-MIQDDLB5.js.map} +0 -0
  636. /package/dist/cli-bundle/chunks/{chunk-UJ4HJYWL.js.map → chunk-NLDFBC6J.js.map} +0 -0
  637. /package/dist/cli-bundle/chunks/{chunk-WRKB56FC.js.map → chunk-NP22ERDF.js.map} +0 -0
  638. /package/dist/cli-bundle/chunks/{chunk-YQYG2V23.js.map → chunk-NU3IMIEA.js.map} +0 -0
  639. /package/dist/cli-bundle/chunks/{chunk-3I3LRT2G.js.map → chunk-NVPZIJVR.js.map} +0 -0
  640. /package/dist/cli-bundle/chunks/{chunk-JAF4TUQ7.js.map → chunk-ODALILG3.js.map} +0 -0
  641. /package/dist/cli-bundle/chunks/{chunk-QZ7LT3XE.js.map → chunk-ONREO4ST.js.map} +0 -0
  642. /package/dist/cli-bundle/chunks/{chunk-3CMRNVTO.js.map → chunk-P74IZQ7A.js.map} +0 -0
  643. /package/dist/cli-bundle/chunks/{chunk-ZTRBSABY.js.map → chunk-PGY23YTC.js.map} +0 -0
  644. /package/dist/cli-bundle/chunks/{chunk-H2QBAKLQ.js.map → chunk-PMOSXADO.js.map} +0 -0
  645. /package/dist/cli-bundle/chunks/{close-RI4JQQHU.js.map → chunk-PNTULOGU.js.map} +0 -0
  646. /package/dist/cli-bundle/chunks/{chunk-GSEADLRH.js.map → chunk-Q7A43DS4.js.map} +0 -0
  647. /package/dist/cli-bundle/chunks/{chunk-QSPARJWF.js.map → chunk-QEHQ2GVG.js.map} +0 -0
  648. /package/dist/cli-bundle/chunks/{chunk-VJTAEIPC.js.map → chunk-QIPLHNP7.js.map} +0 -0
  649. /package/dist/cli-bundle/chunks/{chunk-K7WNZ7KD.js.map → chunk-QKJGPFAF.js.map} +0 -0
  650. /package/dist/cli-bundle/chunks/{chunk-ZNP64HOW.js.map → chunk-RLCHOOHC.js.map} +0 -0
  651. /package/dist/cli-bundle/chunks/{chunk-IAPHYPRL.js.map → chunk-RMLWNPH2.js.map} +0 -0
  652. /package/dist/cli-bundle/chunks/{chunk-UVBA6F5A.js.map → chunk-RRM5JYJC.js.map} +0 -0
  653. /package/dist/cli-bundle/chunks/{chunk-6IIVBC56.js.map → chunk-S6MQESFR.js.map} +0 -0
  654. /package/dist/cli-bundle/chunks/{chunk-QABYZYLU.js.map → chunk-SDQLJWBO.js.map} +0 -0
  655. /package/dist/cli-bundle/chunks/{chunk-ANSJHDOZ.js.map → chunk-SELVXEZK.js.map} +0 -0
  656. /package/dist/cli-bundle/chunks/{chunk-WD6MSYMP.js.map → chunk-TKOVBP6C.js.map} +0 -0
  657. /package/dist/cli-bundle/chunks/{chunk-TZ2PSLLT.js.map → chunk-TQSZFPIS.js.map} +0 -0
  658. /package/dist/cli-bundle/chunks/{chunk-WPAWZW7S.js.map → chunk-TSMHDIW4.js.map} +0 -0
  659. /package/dist/cli-bundle/chunks/{chunk-TZRTLMWM.js.map → chunk-UFXU44HV.js.map} +0 -0
  660. /package/dist/cli-bundle/chunks/{chunk-TWLDBKQU.js.map → chunk-ULTHRDBP.js.map} +0 -0
  661. /package/dist/cli-bundle/chunks/{chunk-RA5AIAMP.js.map → chunk-UOHFKBUV.js.map} +0 -0
  662. /package/dist/cli-bundle/chunks/{chunk-4RXTMU57.js.map → chunk-UY2ACEMF.js.map} +0 -0
  663. /package/dist/cli-bundle/chunks/{chunk-FIGXOCEQ.js.map → chunk-WUJQK4YV.js.map} +0 -0
  664. /package/dist/cli-bundle/chunks/{chunk-T4BRCB6Z.js.map → chunk-XSJUSQAE.js.map} +0 -0
  665. /package/dist/cli-bundle/chunks/{chunk-UKUIIBDW.js.map → chunk-YAQEBNY7.js.map} +0 -0
  666. /package/dist/cli-bundle/chunks/{chunk-E2WC6S4P.js.map → chunk-YBLZ2VE7.js.map} +0 -0
  667. /package/dist/cli-bundle/chunks/{chunk-Y72FV7RM.js.map → chunk-YCQET3OT.js.map} +0 -0
  668. /package/dist/cli-bundle/chunks/{close-many-LY2XJ52M.js.map → chunk-YUSOJDWM.js.map} +0 -0
  669. /package/dist/cli-bundle/chunks/{chunk-FS6UM5WH.js.map → chunk-ZI6VQWQ7.js.map} +0 -0
  670. /package/dist/cli-bundle/chunks/{comments-AJWRTFZ5.js.map → close-CWODTPKG.js.map} +0 -0
  671. /package/dist/cli-bundle/chunks/{comments-35M273DN.js.map → close-W6LI2PKM.js.map} +0 -0
  672. /package/dist/cli-bundle/chunks/{copy-GMXYKBXT.js.map → close-many-CQFUY7MR.js.map} +0 -0
  673. /package/dist/cli-bundle/chunks/{copy-NPYM7M7U.js.map → close-many-DLDDVSH5.js.map} +0 -0
  674. /package/dist/cli-bundle/chunks/{create-F53OBTOU.js.map → comments-E3TNTK24.js.map} +0 -0
  675. /package/dist/cli-bundle/chunks/{create-HU4Q7RJX.js.map → comments-WGLHR7LB.js.map} +0 -0
  676. /package/dist/cli-bundle/chunks/{delete-GSDZLTRC.js.map → copy-LXVDXH7B.js.map} +0 -0
  677. /package/dist/cli-bundle/chunks/{delete-ODRWJWAM.js.map → copy-Q5ZJPUKR.js.map} +0 -0
  678. /package/dist/cli-bundle/chunks/{deps-U57I7EAK.js.map → create-J5U6ND4K.js.map} +0 -0
  679. /package/dist/cli-bundle/chunks/{deps-WWB7P2GT.js.map → create-LBVCYMEG.js.map} +0 -0
  680. /package/dist/cli-bundle/chunks/{docs-MQIY2ZQS.js.map → delete-PMJBNY5G.js.map} +0 -0
  681. /package/dist/cli-bundle/chunks/{docs-G7N4E2JO.js.map → delete-WNHB3LYW.js.map} +0 -0
  682. /package/dist/cli-bundle/chunks/{files-TTY6N2AV.js.map → deps-JZ7TMVCB.js.map} +0 -0
  683. /package/dist/cli-bundle/chunks/{files-TBZD7V6H.js.map → deps-OA26IS25.js.map} +0 -0
  684. /package/dist/cli-bundle/chunks/{focus-XT6YVFFX.js.map → docs-FEWB2DQB.js.map} +0 -0
  685. /package/dist/cli-bundle/chunks/{focus-U5TRVCRS.js.map → docs-HA2AIDBB.js.map} +0 -0
  686. /package/dist/cli-bundle/chunks/{history-compact-M7GHYVFN.js.map → files-6YFBJRBG.js.map} +0 -0
  687. /package/dist/cli-bundle/chunks/{history-compact-KKVUWB4V.js.map → files-EFIWKFTM.js.map} +0 -0
  688. /package/dist/cli-bundle/chunks/{history-redact-3DVZOILD.js.map → focus-4QJR7FOQ.js.map} +0 -0
  689. /package/dist/cli-bundle/chunks/{history-redact-JIHZLHDP.js.map → focus-POIW5LTJ.js.map} +0 -0
  690. /package/dist/cli-bundle/chunks/{history-repair-ITDUMK4N.js.map → history-compact-CKRPDTJN.js.map} +0 -0
  691. /package/dist/cli-bundle/chunks/{history-repair-NAFCHLH7.js.map → history-compact-FWG2C7FZ.js.map} +0 -0
  692. /package/dist/cli-bundle/chunks/{learnings-SONGPSHI.js.map → history-redact-BB3TGDAE.js.map} +0 -0
  693. /package/dist/cli-bundle/chunks/{learnings-FGO3NSFW.js.map → history-redact-D225BHOZ.js.map} +0 -0
  694. /package/dist/cli-bundle/chunks/{notes-BSD53H2W.js.map → history-repair-6GEAM7HE.js.map} +0 -0
  695. /package/dist/cli-bundle/chunks/{notes-NQ6RXVW6.js.map → history-repair-RQXKQHL4.js.map} +0 -0
  696. /package/dist/cli-bundle/chunks/{plan-2NNEO46V.js.map → learnings-JLNLCOL5.js.map} +0 -0
  697. /package/dist/cli-bundle/chunks/{plan-AWLYGBNV.js.map → learnings-RSNLSWDC.js.map} +0 -0
  698. /package/dist/cli-bundle/chunks/{profile-U725ATWZ.js.map → notes-2WDH6DXU.js.map} +0 -0
  699. /package/dist/cli-bundle/chunks/{profile-AAQUU6T3.js.map → notes-GB47XXQQ.js.map} +0 -0
  700. /package/dist/cli-bundle/chunks/{restore-66GLMHIX.js.map → plan-DOVI2VMW.js.map} +0 -0
  701. /package/dist/cli-bundle/chunks/{restore-B3BAB6X2.js.map → plan-VDCJ2PCN.js.map} +0 -0
  702. /package/dist/cli-bundle/chunks/{schema-U7IM2DXV.js.map → profile-FAU7NZML.js.map} +0 -0
  703. /package/dist/cli-bundle/chunks/{schema-LZNUYHDB.js.map → profile-IVXQEL3D.js.map} +0 -0
  704. /package/dist/cli-bundle/chunks/{update-Q3UCILNR.js.map → restore-25DLT2Q2.js.map} +0 -0
  705. /package/dist/cli-bundle/chunks/{update-2XGHIVQ2.js.map → restore-YPMVUUEX.js.map} +0 -0
  706. /package/dist/cli-bundle/chunks/{update-many-75K57FS3.js.map → schema-FNU3WE4O.js.map} +0 -0
  707. /package/dist/cli-bundle/chunks/{update-many-U42YA445.js.map → schema-NBCM3RAD.js.map} +0 -0
  708. /package/dist/{cli/commands → sdk}/extension/managed-state.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sources":["cli/commands/config.ts"],"sourceRoot":"/","sourcesContent":["/**\n * @module cli/commands/config\n *\n * Implements the pm config command surface and its agent-facing runtime behavior.\n */\nimport { pathExists } from \"../../core/fs/fs-utils.js\";\nimport {\n resolveConfigPositionalValue,\n type ConfigKey,\n} from \"../../core/config/positional-value.js\";\nimport {\n NESTED_SETTING_DESCRIPTORS,\n parseNestedSettingValue,\n readNestedSettingValue,\n resolveNestedSettingDescriptor,\n writeNestedSettingValue,\n type NestedSettingDescriptor,\n} from \"../../core/config/nested-settings.js\";\nimport { getActiveExtensionRegistrations } from \"../../core/extensions/index.js\";\nimport { normalizeParentReferencePolicy } from \"../../core/item/parent-reference-policy.js\";\nimport { normalizeSprintReleaseFormatPolicy } from \"../../core/item/sprint-release-format.js\";\nimport {\n resolveItemTypeRegistry,\n resolveTypeName,\n} from \"../../core/item/type-registry.js\";\nimport { buildInvalidTypeError } from \"../../core/schema/item-types-file.js\";\nimport { resolveItemTypesFilePath } from \"../../core/schema/runtime-schema.js\";\nimport { EXIT_CODE } from \"../../core/shared/constants.js\";\nimport type { GlobalOptions } from \"../../core/shared/command-types.js\";\nimport { PmCliError } from \"../../core/shared/errors.js\";\nimport { migrateItemFilesToFormat } from \"../../core/store/item-format-migration.js\";\nimport {\n getSettingsPath,\n resolveGlobalPmRoot,\n resolvePmRoot,\n} from \"../../core/store/paths.js\";\nimport {\n readSettingsWithMetadata,\n writeSettings,\n} from \"../../core/store/settings.js\";\nimport type {\n ContextDepth,\n GovernanceCloseValidationDefault,\n GovernanceCreateModeDefault,\n GovernanceOwnershipEnforcement,\n GovernancePreset,\n GovernanceWorkflowEnforcement,\n ItemFormat,\n ParentReferencePolicy,\n PmSettings,\n SprintReleaseFormatPolicy,\n ValidateMetadataProfile,\n ValidateMetadataRequiredField,\n} from \"../../types/index.js\";\nimport { CONTEXT_DEPTH_VALUES } from \"../../types/index.js\";\n\nconst CONFIG_SCOPE_VALUES = [\"project\", \"global\"] as const;\ntype ConfigScope = (typeof CONFIG_SCOPE_VALUES)[number];\n\nconst CONFIG_KEY_VALUES = [\n \"definition-of-done\",\n \"definition_of_done\",\n \"item-format\",\n \"item_format\",\n \"history-missing-stream-policy\",\n \"history_missing_stream_policy\",\n \"sprint-release-format-policy\",\n \"sprint_release_format_policy\",\n \"parent-reference-policy\",\n \"parent_reference_policy\",\n \"metadata-validation-profile\",\n \"metadata_validation_profile\",\n \"metadata-required-fields\",\n \"metadata_required_fields\",\n \"lifecycle-stale-blocker-reason-patterns\",\n \"lifecycle_stale_blocker_reason_patterns\",\n \"lifecycle-closure-like-blocked-reason-patterns\",\n \"lifecycle_closure_like_blocked_reason_patterns\",\n \"lifecycle-closure-like-resolution-patterns\",\n \"lifecycle_closure_like_resolution_patterns\",\n \"lifecycle-closure-like-actual-result-patterns\",\n \"lifecycle_closure_like_actual_result_patterns\",\n \"governance-preset\",\n \"governance_preset\",\n \"governance-ownership-enforcement\",\n \"governance_ownership_enforcement\",\n \"governance-create-mode-default\",\n \"governance_create_mode_default\",\n \"governance-close-validation-default\",\n \"governance_close_validation_default\",\n \"governance-require-close-reason\",\n \"governance_require_close_reason\",\n \"governance-create-default-type\",\n \"governance_create_default_type\",\n \"governance-workflow-enforcement\",\n \"governance_workflow_enforcement\",\n \"governance-parent-reference-policy\",\n \"governance_parent_reference_policy\",\n \"governance-metadata-validation-profile\",\n \"governance_metadata_validation_profile\",\n \"governance-force-required-for-stale-lock\",\n \"governance_force_required_for_stale_lock\",\n \"test-result-tracking\",\n \"test_result_tracking\",\n \"telemetry-tracking\",\n \"telemetry_tracking\",\n \"context\",\n] as const;\ntype ConfigAction = \"get\" | \"set\" | \"list\" | \"export\";\ntype HistoryMissingStreamPolicy = \"auto_create\" | \"strict_error\";\ntype TestResultTrackingPolicy = \"enabled\" | \"disabled\";\ntype TelemetryTrackingPolicy = \"enabled\" | \"disabled\";\ntype GovernanceForceRequiredForStaleLockPolicy = \"enabled\" | \"disabled\";\ntype GovernanceRequireCloseReasonPolicy = \"enabled\" | \"disabled\";\ntype ConfigValue =\n | string\n | string[]\n | ItemFormat\n | HistoryMissingStreamPolicy\n | SprintReleaseFormatPolicy\n | ParentReferencePolicy\n | ValidateMetadataProfile\n | GovernancePreset\n | GovernanceOwnershipEnforcement\n | GovernanceCreateModeDefault\n | GovernanceCloseValidationDefault\n | GovernanceRequireCloseReasonPolicy\n | GovernanceWorkflowEnforcement\n | GovernanceForceRequiredForStaleLockPolicy\n | TestResultTrackingPolicy\n | TelemetryTrackingPolicy\n | ContextConfigValue;\n\ninterface ContextConfigValue {\n default_depth: string;\n activity_limit: number;\n stale_threshold_days: number;\n sections: Record<string, boolean>;\n}\n\ninterface ConfigKeyDescriptor {\n key: ConfigKey;\n aliases: string[];\n value_kind: \"string_array\" | \"enum\" | \"object\";\n set_flags: string[];\n summary: string;\n value: ConfigValue;\n}\n\n/** Documents the config command options payload exchanged by command, SDK, and package integrations. */\nexport interface ConfigCommandOptions {\n /** Value that configures or reports criterion for this contract. */\n criterion?: string[];\n /** Value that configures or reports format for this contract. */\n format?: string;\n /** Value that configures or reports policy for this contract. */\n policy?: string;\n /** Value that configures or reports value for this contract. */\n value?: string;\n /** Value that configures or reports clear criteria for this contract. */\n clearCriteria?: boolean;\n /** Fallback depth used when callers do not provide an override. */\n defaultDepth?: string;\n /** Value that configures or reports activity limit for this contract. */\n activityLimit?: string;\n /** Value that configures or reports stale threshold days for this contract. */\n staleThresholdDays?: string;\n /** Value that configures or reports section hierarchy for this contract. */\n sectionHierarchy?: string;\n /** Value that configures or reports section activity for this contract. */\n sectionActivity?: string;\n /** Value that configures or reports section progress for this contract. */\n sectionProgress?: string;\n /** Value that configures or reports section blockers for this contract. */\n sectionBlockers?: string;\n /** Value that configures or reports section files for this contract. */\n sectionFiles?: string;\n /** Value that configures or reports section workload for this contract. */\n sectionWorkload?: string;\n /** Value that configures or reports section staleness for this contract. */\n sectionStaleness?: string;\n /** Value that configures or reports section tests for this contract. */\n sectionTests?: string;\n}\n\n/** Documents the nested setting result value payload exchanged by command, SDK, and package integrations. */\nexport interface NestedSettingResultValue {\n /** Value that configures or reports key for this contract. */\n key: string;\n /** Filesystem path used for path resolution. */\n path: string;\n /** Value that configures or reports kind for this contract. */\n kind: NestedSettingDescriptor[\"kind\"];\n /** Value that configures or reports value for this contract. */\n value: string | number | boolean | null;\n}\n\n/** Documents the config result payload exchanged by command, SDK, and package integrations. */\nexport interface ConfigResult {\n /** Value that configures or reports scope for this contract. */\n scope: ConfigScope;\n /** Value that configures or reports key for this contract. */\n key?: ConfigKey | string;\n /** Value that configures or reports criteria for this contract. */\n criteria?: string[];\n /** Value that configures or reports format for this contract. */\n format?: ItemFormat;\n /** Value that configures or reports policy for this contract. */\n policy?:\n | HistoryMissingStreamPolicy\n | SprintReleaseFormatPolicy\n | ParentReferencePolicy\n | ValidateMetadataProfile\n | GovernancePreset\n | GovernanceOwnershipEnforcement\n | GovernanceCreateModeDefault\n | GovernanceCloseValidationDefault\n | GovernanceRequireCloseReasonPolicy\n | GovernanceWorkflowEnforcement\n | GovernanceForceRequiredForStaleLockPolicy\n | TestResultTrackingPolicy\n | TelemetryTrackingPolicy\n | string;\n /** Value that configures or reports nested setting for this contract. */\n nested_setting?: NestedSettingResultValue;\n /** Configuration controlling nested behavior. */\n nested_settings?: NestedSettingResultValue[];\n /** Value that configures or reports keys for this contract. */\n keys?: ConfigKeyDescriptor[];\n /** Value that configures or reports values for this contract. */\n values?: Record<ConfigKey, ConfigValue>;\n /** Value that configures or reports count for this contract. */\n count?: number;\n /** Configuration controlling context behavior. */\n context_settings?: ContextConfigValue;\n /** Whether explicit item format applies to this operation. */\n has_explicit_item_format?: boolean;\n /** Value that configures or reports migration for this contract. */\n migration?: {\n target_format: ItemFormat;\n scanned: number;\n migrated: string[];\n removed: string[];\n warnings: string[];\n };\n /** Filesystem path used for settings resolution. */\n settings_path: string;\n /** Value that configures or reports changed for this contract. */\n changed: boolean;\n /** Value that configures or reports warnings for this contract. */\n warnings?: string[];\n}\n\nconst CONFIG_KEY_ALIASES: Record<ConfigKey, string[]> = {\n definition_of_done: [\"definition-of-done\", \"definition_of_done\"],\n item_format: [\"item-format\", \"item_format\"],\n history_missing_stream_policy: [\n \"history-missing-stream-policy\",\n \"history_missing_stream_policy\",\n ],\n sprint_release_format_policy: [\n \"sprint-release-format-policy\",\n \"sprint_release_format_policy\",\n ],\n parent_reference_policy: [\n \"parent-reference-policy\",\n \"parent_reference_policy\",\n ],\n metadata_validation_profile: [\n \"metadata-validation-profile\",\n \"metadata_validation_profile\",\n ],\n metadata_required_fields: [\n \"metadata-required-fields\",\n \"metadata_required_fields\",\n ],\n lifecycle_stale_blocker_reason_patterns: [\n \"lifecycle-stale-blocker-reason-patterns\",\n \"lifecycle_stale_blocker_reason_patterns\",\n ],\n lifecycle_closure_like_blocked_reason_patterns: [\n \"lifecycle-closure-like-blocked-reason-patterns\",\n \"lifecycle_closure_like_blocked_reason_patterns\",\n ],\n lifecycle_closure_like_resolution_patterns: [\n \"lifecycle-closure-like-resolution-patterns\",\n \"lifecycle_closure_like_resolution_patterns\",\n ],\n lifecycle_closure_like_actual_result_patterns: [\n \"lifecycle-closure-like-actual-result-patterns\",\n \"lifecycle_closure_like_actual_result_patterns\",\n ],\n governance_preset: [\"governance-preset\", \"governance_preset\"],\n governance_ownership_enforcement: [\n \"governance-ownership-enforcement\",\n \"governance_ownership_enforcement\",\n ],\n governance_create_mode_default: [\n \"governance-create-mode-default\",\n \"governance_create_mode_default\",\n ],\n governance_close_validation_default: [\n \"governance-close-validation-default\",\n \"governance_close_validation_default\",\n ],\n governance_require_close_reason: [\n \"governance-require-close-reason\",\n \"governance_require_close_reason\",\n ],\n governance_create_default_type: [\n \"governance-create-default-type\",\n \"governance_create_default_type\",\n ],\n governance_workflow_enforcement: [\n \"governance-workflow-enforcement\",\n \"governance_workflow_enforcement\",\n ],\n governance_parent_reference_policy: [\n \"governance-parent-reference-policy\",\n \"governance_parent_reference_policy\",\n ],\n governance_metadata_validation_profile: [\n \"governance-metadata-validation-profile\",\n \"governance_metadata_validation_profile\",\n ],\n governance_force_required_for_stale_lock: [\n \"governance-force-required-for-stale-lock\",\n \"governance_force_required_for_stale_lock\",\n ],\n test_result_tracking: [\"test-result-tracking\", \"test_result_tracking\"],\n telemetry_tracking: [\"telemetry-tracking\", \"telemetry_tracking\"],\n context: [\"context\"],\n};\n\n// Canonical kebab-case forms (first alias entry per key). Used for the invalid-key\n// hint so agents see ~21 keys instead of all ~45 kebab+snake variants; snake_case\n// forms stay fully accepted as input via CONFIG_KEY_VALUES/normalizeKey.\nconst CANONICAL_CONFIG_KEYS: readonly string[] = (\n Object.keys(CONFIG_KEY_ALIASES) as ConfigKey[]\n).map((candidate) => CONFIG_KEY_ALIASES[candidate][0]);\nconst CONFIG_KEY_BY_ALIAS: Readonly<Record<string, ConfigKey>> =\n Object.fromEntries(\n (Object.keys(CONFIG_KEY_ALIASES) as ConfigKey[]).flatMap((key) =>\n CONFIG_KEY_ALIASES[key].map((alias) => [alias, key] as const),\n ),\n ) as Readonly<Record<string, ConfigKey>>;\n\nconst CONFIG_KEY_SUMMARIES: Record<ConfigKey, string> = {\n definition_of_done: \"Definition of Done criteria list.\",\n item_format: \"Default item file format.\",\n history_missing_stream_policy: \"Missing history stream handling policy.\",\n sprint_release_format_policy: \"Sprint/release format validation policy.\",\n parent_reference_policy: \"Parent reference validation policy.\",\n metadata_validation_profile:\n \"Validate metadata profile policy (core|strict|custom).\",\n metadata_required_fields: \"Validate custom metadata required-fields list.\",\n lifecycle_stale_blocker_reason_patterns:\n \"Validate lifecycle stale-blocker reason substring patterns (criteria list).\",\n lifecycle_closure_like_blocked_reason_patterns:\n \"Validate lifecycle closure-like blocked_reason substring patterns (criteria list).\",\n lifecycle_closure_like_resolution_patterns:\n \"Validate lifecycle closure-like resolution substring patterns (criteria list).\",\n lifecycle_closure_like_actual_result_patterns:\n \"Validate lifecycle closure-like actual_result substring patterns (criteria list).\",\n governance_preset:\n \"Governance preset policy (minimal|default|strict|custom).\",\n governance_ownership_enforcement:\n \"Governance ownership enforcement policy (none|warn|strict).\",\n governance_create_mode_default:\n \"Governance default create mode (progressive|strict).\",\n governance_close_validation_default:\n \"Governance default close validation mode (off|warn|strict).\",\n governance_require_close_reason:\n \"Governance close-reason requirement policy (enabled|disabled).\",\n governance_create_default_type:\n \"Governance default item type for `pm create` when --type is omitted.\",\n governance_workflow_enforcement:\n \"Governance per-type transition enforcement mode (off|warn|strict).\",\n governance_parent_reference_policy:\n \"Governance parent reference policy (warn|strict_error).\",\n governance_metadata_validation_profile:\n \"Governance metadata validation profile (core|strict|custom).\",\n governance_force_required_for_stale_lock:\n \"Governance stale-lock force policy (enabled|disabled).\",\n test_result_tracking: \"Item-level linked test result persistence policy.\",\n telemetry_tracking: \"Telemetry usage reporting policy.\",\n context: \"Context command settings (depth, section toggles, limits).\",\n};\n\nconst LIFECYCLE_PATTERN_CONFIG_KEYS = [\n \"lifecycle_stale_blocker_reason_patterns\",\n \"lifecycle_closure_like_blocked_reason_patterns\",\n \"lifecycle_closure_like_resolution_patterns\",\n \"lifecycle_closure_like_actual_result_patterns\",\n] as const satisfies readonly ConfigKey[];\ntype LifecyclePatternConfigKey = (typeof LIFECYCLE_PATTERN_CONFIG_KEYS)[number];\ntype CriteriaConfigKey = \"metadata_required_fields\" | LifecyclePatternConfigKey;\ntype ValidationConfigKey =\n | \"history_missing_stream_policy\"\n | \"sprint_release_format_policy\"\n | \"parent_reference_policy\"\n | \"metadata_validation_profile\";\ntype GovernancePolicyConfigKey =\n | \"governance_ownership_enforcement\"\n | \"governance_create_mode_default\"\n | \"governance_close_validation_default\";\ntype GovernanceValidationConfigKey =\n | \"governance_parent_reference_policy\"\n | \"governance_metadata_validation_profile\"\n | \"governance_workflow_enforcement\";\ntype GovernancePresetOrTypeConfigKey =\n | \"governance_preset\"\n | \"governance_create_default_type\";\n\nconst CRITERIA_CONFIG_KEYS: ReadonlySet<ConfigKey> = new Set<ConfigKey>([\n \"metadata_required_fields\",\n ...LIFECYCLE_PATTERN_CONFIG_KEYS,\n]);\nconst TRACKING_CONFIG_KEYS: ReadonlySet<ConfigKey> = new Set<ConfigKey>([\n \"test_result_tracking\",\n \"telemetry_tracking\",\n]);\nconst GOVERNANCE_BOOLEAN_CONFIG_KEYS: ReadonlySet<ConfigKey> =\n new Set<ConfigKey>([\n \"governance_require_close_reason\",\n \"governance_force_required_for_stale_lock\",\n ]);\nconst GOVERNANCE_POLICY_CONFIG_KEYS: ReadonlySet<ConfigKey> =\n new Set<ConfigKey>([\n \"governance_ownership_enforcement\",\n \"governance_create_mode_default\",\n \"governance_close_validation_default\",\n ]);\nconst GOVERNANCE_VALIDATION_CONFIG_KEYS: ReadonlySet<ConfigKey> =\n new Set<ConfigKey>([\n \"governance_parent_reference_policy\",\n \"governance_metadata_validation_profile\",\n \"governance_workflow_enforcement\",\n ]);\nconst GOVERNANCE_PRESET_OR_TYPE_CONFIG_KEYS: ReadonlySet<ConfigKey> =\n new Set<ConfigKey>([\"governance_preset\", \"governance_create_default_type\"]);\n\nconst isCriteriaValueConfigKey = (key: ConfigKey): key is CriteriaConfigKey =>\n CRITERIA_CONFIG_KEYS.has(key);\nconst isGovernancePolicyConfigKey = (\n key: ConfigKey,\n): key is GovernancePolicyConfigKey => GOVERNANCE_POLICY_CONFIG_KEYS.has(key);\nconst isGovernanceValidationConfigKey = (\n key: ConfigKey,\n): key is GovernanceValidationConfigKey =>\n GOVERNANCE_VALIDATION_CONFIG_KEYS.has(key);\nconst isGovernancePresetOrTypeConfigKey = (\n key: ConfigKey,\n): key is GovernancePresetOrTypeConfigKey =>\n GOVERNANCE_PRESET_OR_TYPE_CONFIG_KEYS.has(key);\n\nfunction isCriteriaConfigKey(key: ConfigKey): boolean {\n return key === \"definition_of_done\" || isCriteriaValueConfigKey(key);\n}\n\nfunction normalizeScope(value: string): ConfigScope {\n if ((CONFIG_SCOPE_VALUES as readonly string[]).includes(value)) {\n return value as ConfigScope;\n }\n throw new PmCliError(\n `Invalid config scope \"${value}\". Allowed: ${CONFIG_SCOPE_VALUES.join(\", \")}`,\n EXIT_CODE.USAGE,\n );\n}\n\nfunction normalizeAction(value: string): ConfigAction {\n if (\n value === \"get\" ||\n value === \"set\" ||\n value === \"list\" ||\n value === \"export\"\n ) {\n return value;\n }\n throw new PmCliError(\n `Invalid config action \"${value}\". Allowed: get, set, list, export`,\n EXIT_CODE.USAGE,\n );\n}\n\nfunction normalizeKey(value: string): ConfigKey {\n const key = CONFIG_KEY_BY_ALIAS[value];\n if (key) {\n return key;\n }\n const nestedKeys = NESTED_SETTING_DESCRIPTORS.map(\n (descriptor) => descriptor.key,\n ).join(\", \");\n throw new PmCliError(\n `Invalid config key \"${value}\". Supported: ${CANONICAL_CONFIG_KEYS.join(\", \")} (underscore variants also accepted). Nested leaf settings: ${nestedKeys}.`,\n EXIT_CODE.USAGE,\n );\n}\n\nfunction normalizeCriteria(\n values: string[] | undefined,\n clearCriteria: boolean | undefined,\n): string[] {\n const normalized = [\n ...new Set(\n (values ?? [])\n .map((value) => value.trim())\n .filter((value) => value.length > 0),\n ),\n ].sort((left, right) => left.localeCompare(right));\n if (clearCriteria) {\n if (normalized.length > 0) {\n throw new PmCliError(\n \"Config set definition-of-done cannot combine --clear-criteria with --criterion values\",\n EXIT_CODE.USAGE,\n );\n }\n return [];\n }\n if (normalized.length === 0) {\n throw new PmCliError(\n \"Config set definition-of-done requires at least one non-empty --criterion value (or --clear-criteria to clear)\",\n EXIT_CODE.USAGE,\n );\n }\n return normalized;\n}\n\nfunction normalizeItemFormat(value: string | undefined): ItemFormat {\n const normalized = value?.trim().toLowerCase();\n if (normalized === \"toon\") {\n return \"toon\";\n }\n if (normalized === \"json_markdown\") {\n throw new PmCliError(\n \"Config set item-format no longer accepts json_markdown. Markdown item files are legacy read/migration input only.\",\n EXIT_CODE.USAGE,\n );\n }\n throw new PmCliError(\n \"Config set item-format requires --format toon\",\n EXIT_CODE.USAGE,\n );\n}\n\nfunction normalizeHistoryMissingStreamPolicy(\n value: string | undefined,\n): HistoryMissingStreamPolicy {\n const normalized = value?.trim().toLowerCase().replaceAll(\"-\", \"_\");\n if (normalized === \"auto_create\" || normalized === \"strict_error\") {\n return normalized;\n }\n throw new PmCliError(\n \"Config set history-missing-stream-policy requires --policy with one of: auto_create, strict_error\",\n EXIT_CODE.USAGE,\n );\n}\n\nfunction normalizeTestResultTrackingPolicy(\n value: string | undefined,\n): TestResultTrackingPolicy {\n const normalized = value?.trim().toLowerCase().replaceAll(\"-\", \"_\");\n if (normalized === \"enabled\" || normalized === \"disabled\") {\n return normalized;\n }\n throw new PmCliError(\n \"Config set test-result-tracking requires --policy with one of: enabled, disabled\",\n EXIT_CODE.USAGE,\n );\n}\n\nfunction normalizeTelemetryTrackingPolicy(\n value: string | undefined,\n): TelemetryTrackingPolicy {\n const normalized = value?.trim().toLowerCase().replaceAll(\"-\", \"_\");\n if (normalized === \"enabled\" || normalized === \"disabled\") {\n return normalized;\n }\n throw new PmCliError(\n \"Config set telemetry-tracking requires --policy with one of: enabled, disabled\",\n EXIT_CODE.USAGE,\n );\n}\n\nfunction normalizeValidateMetadataProfile(\n value: string | undefined,\n): ValidateMetadataProfile {\n const normalized = value?.trim().toLowerCase().replaceAll(\"-\", \"_\");\n if (\n normalized === \"core\" ||\n normalized === \"strict\" ||\n normalized === \"custom\"\n ) {\n return normalized;\n }\n throw new PmCliError(\n \"Config set metadata-validation-profile requires --policy with one of: core, strict, custom\",\n EXIT_CODE.USAGE,\n );\n}\n\nfunction normalizeGovernancePreset(\n value: string | undefined,\n): GovernancePreset {\n const normalized = value?.trim().toLowerCase().replaceAll(\"-\", \"_\");\n if (\n normalized === \"minimal\" ||\n normalized === \"default\" ||\n normalized === \"strict\" ||\n normalized === \"custom\"\n ) {\n return normalized;\n }\n throw new PmCliError(\n \"Config set governance-preset requires --policy with one of: minimal, default, strict, custom\",\n EXIT_CODE.USAGE,\n );\n}\n\nfunction normalizeGovernanceOwnershipEnforcement(\n value: string | undefined,\n): GovernanceOwnershipEnforcement {\n const normalized = value?.trim().toLowerCase().replaceAll(\"-\", \"_\");\n if (\n normalized === \"none\" ||\n normalized === \"warn\" ||\n normalized === \"strict\"\n ) {\n return normalized;\n }\n throw new PmCliError(\n \"Config set governance-ownership-enforcement requires --policy with one of: none, warn, strict\",\n EXIT_CODE.USAGE,\n );\n}\n\nfunction normalizeGovernanceCreateModeDefault(\n value: string | undefined,\n): GovernanceCreateModeDefault {\n const normalized = value?.trim().toLowerCase().replaceAll(\"-\", \"_\");\n if (normalized === \"progressive\" || normalized === \"strict\") {\n return normalized;\n }\n throw new PmCliError(\n \"Config set governance-create-mode-default requires --policy with one of: progressive, strict\",\n EXIT_CODE.USAGE,\n );\n}\n\nfunction normalizeGovernanceCloseValidationDefault(\n value: string | undefined,\n): GovernanceCloseValidationDefault {\n const normalized = value?.trim().toLowerCase().replaceAll(\"-\", \"_\");\n if (\n normalized === \"off\" ||\n normalized === \"warn\" ||\n normalized === \"strict\"\n ) {\n return normalized;\n }\n if (normalized === \"none\" || normalized === \"disabled\") {\n return \"off\";\n }\n throw new PmCliError(\n \"Config set governance-close-validation-default requires --policy with one of: off, warn, strict\",\n EXIT_CODE.USAGE,\n );\n}\n\nfunction normalizeGovernanceWorkflowEnforcement(\n value: unknown,\n): GovernanceWorkflowEnforcement {\n const normalized =\n typeof value === \"string\"\n ? value.trim().toLowerCase().replaceAll(\"-\", \"_\")\n : undefined;\n if (\n normalized === \"off\" ||\n normalized === \"warn\" ||\n normalized === \"strict\"\n ) {\n return normalized;\n }\n if (normalized === \"none\" || normalized === \"disabled\") {\n return \"off\";\n }\n throw new PmCliError(\n \"Config set governance-workflow-enforcement requires one of: off, warn, strict\",\n EXIT_CODE.USAGE,\n );\n}\n\nfunction normalizeGovernanceForceRequiredForStaleLockPolicy(\n value: string | undefined,\n): GovernanceForceRequiredForStaleLockPolicy {\n const normalized = value?.trim().toLowerCase().replaceAll(\"-\", \"_\");\n if (normalized === \"enabled\" || normalized === \"disabled\") {\n return normalized;\n }\n throw new PmCliError(\n \"Config set governance-force-required-for-stale-lock requires --policy with one of: enabled, disabled\",\n EXIT_CODE.USAGE,\n );\n}\n\nfunction normalizeGovernanceRequireCloseReasonPolicy(\n value: string | undefined,\n): GovernanceRequireCloseReasonPolicy {\n const normalized = value?.trim().toLowerCase().replaceAll(\"-\", \"_\");\n if (normalized === \"enabled\" || normalized === \"disabled\") {\n return normalized;\n }\n throw new PmCliError(\n \"Config set governance-require-close-reason requires --policy with one of: enabled, disabled\",\n EXIT_CODE.USAGE,\n );\n}\n\nfunction normalizePolicyForConflict(\n key: ConfigKey | undefined,\n value: string,\n): string {\n switch (key) {\n case \"history_missing_stream_policy\":\n return normalizeHistoryMissingStreamPolicy(value);\n case \"sprint_release_format_policy\":\n return normalizeSprintReleaseFormatPolicy(value);\n case \"parent_reference_policy\":\n case \"governance_parent_reference_policy\":\n return normalizeParentReferencePolicy(value);\n case \"metadata_validation_profile\":\n case \"governance_metadata_validation_profile\":\n return normalizeValidateMetadataProfile(value);\n case \"governance_preset\":\n return normalizeGovernancePreset(value);\n case \"governance_ownership_enforcement\":\n return normalizeGovernanceOwnershipEnforcement(value);\n case \"governance_create_mode_default\":\n return normalizeGovernanceCreateModeDefault(value);\n case \"governance_close_validation_default\":\n return normalizeGovernanceCloseValidationDefault(value);\n case \"governance_require_close_reason\":\n return normalizeGovernanceRequireCloseReasonPolicy(value);\n case \"governance_workflow_enforcement\":\n return normalizeGovernanceWorkflowEnforcement(value);\n case \"governance_force_required_for_stale_lock\":\n return normalizeGovernanceForceRequiredForStaleLockPolicy(value);\n case \"test_result_tracking\":\n return normalizeTestResultTrackingPolicy(value);\n case \"telemetry_tracking\":\n return normalizeTelemetryTrackingPolicy(value);\n default:\n return value.trim().toLowerCase().replaceAll(\"-\", \"_\");\n }\n}\n\nconst METADATA_REQUIRED_FIELD_ALIAS_MAP: Record<\n string,\n ValidateMetadataRequiredField\n> = {\n author: \"author\",\n acceptance_criteria: \"acceptance_criteria\",\n \"acceptance-criteria\": \"acceptance_criteria\",\n estimated_minutes: \"estimated_minutes\",\n \"estimated-minutes\": \"estimated_minutes\",\n estimate: \"estimated_minutes\",\n close_reason: \"close_reason\",\n \"close-reason\": \"close_reason\",\n reviewer: \"reviewer\",\n risk: \"risk\",\n confidence: \"confidence\",\n sprint: \"sprint\",\n release: \"release\",\n};\nconst METADATA_REQUIRED_FIELD_OPTIONS = [\n \"author\",\n \"acceptance_criteria\",\n \"estimated_minutes\",\n \"close_reason\",\n \"reviewer\",\n \"risk\",\n \"confidence\",\n \"sprint\",\n \"release\",\n] as const;\n\nfunction normalizeMetadataRequiredFields(\n values: string[] | undefined,\n clearCriteria: boolean | undefined,\n): ValidateMetadataRequiredField[] {\n const normalized = [\n ...new Set(\n (values ?? [])\n .map((value) => value.trim())\n .filter((value) => value.length > 0),\n ),\n ];\n if (clearCriteria) {\n if (normalized.length > 0) {\n throw new PmCliError(\n \"Config set metadata-required-fields cannot combine --clear-criteria with --criterion values\",\n EXIT_CODE.USAGE,\n );\n }\n return [];\n }\n if (normalized.length === 0) {\n throw new PmCliError(\n \"Config set metadata-required-fields requires at least one --criterion value (or --clear-criteria to clear)\",\n EXIT_CODE.USAGE,\n );\n }\n const lowered = normalized.map((value) =>\n value.toLowerCase().replaceAll(\"-\", \"_\"),\n );\n const unsupported = lowered.filter(\n (value) => METADATA_REQUIRED_FIELD_ALIAS_MAP[value] === undefined,\n );\n if (unsupported.length > 0) {\n throw new PmCliError(\n `Config set metadata-required-fields received unsupported values: ${unsupported.join(\", \")}. ` +\n `Supported values: ${METADATA_REQUIRED_FIELD_OPTIONS.join(\", \")}`,\n EXIT_CODE.USAGE,\n );\n }\n return [\n ...new Set(\n lowered.map(\n (value) =>\n METADATA_REQUIRED_FIELD_ALIAS_MAP[\n value\n ] as ValidateMetadataRequiredField,\n ),\n ),\n ].sort((left, right) => left.localeCompare(right));\n}\n\nfunction normalizeLifecyclePatternCriteria(\n key: ConfigKey,\n values: string[] | undefined,\n clearCriteria: boolean | undefined,\n): string[] {\n const normalized = [\n ...new Set(\n (values ?? [])\n .map((value) => value.trim().toLowerCase())\n .filter((value) => value.length > 0),\n ),\n ].sort((left, right) => left.localeCompare(right));\n if (clearCriteria) {\n if (normalized.length > 0) {\n throw new PmCliError(\n `Config set ${CONFIG_KEY_ALIASES[key][0]} cannot combine --clear-criteria with --criterion values`,\n EXIT_CODE.USAGE,\n );\n }\n return [];\n }\n if (normalized.length === 0) {\n throw new PmCliError(\n `Config set ${CONFIG_KEY_ALIASES[key][0]} requires at least one --criterion value (or --clear-criteria to clear)`,\n EXIT_CODE.USAGE,\n );\n }\n return normalized;\n}\n\nfunction normalizeWarnings(values: string[]): string[] {\n return [...new Set(values)].sort((left, right) => left.localeCompare(right));\n}\n\nfunction normalizeKeyForAction(\n action: ConfigAction,\n value: string | undefined,\n): ConfigKey | undefined {\n if (action === \"list\" || action === \"export\") {\n if (typeof value === \"string\" && value.trim().length > 0) {\n throw new PmCliError(\n `Config action \"${action}\" does not accept <key>`,\n EXIT_CODE.USAGE,\n );\n }\n return undefined;\n }\n if (typeof value !== \"string\" || value.trim().length === 0) {\n throw new PmCliError(\n `Config action \"${action}\" requires <key>`,\n EXIT_CODE.USAGE,\n );\n }\n return normalizeKey(value);\n}\n\n/** Narrows the `ConfigKey | undefined` carried into the get/set branches back to a concrete `ConfigKey`. By the time those branches run, `normalizeKeyForAction` has already thrown on a missing key and nested settings have returned earlier, so the `undefined` case is unreachable at runtime — the throw is a defensive type-narrowing guard only. */\nfunction assertConfigKeyDefined(\n key: ConfigKey | undefined,\n): asserts key is ConfigKey {\n /* c8 ignore next 3 -- defensive: get/set always carry a key (see normalizeKeyForAction). */\n if (!key) {\n throw new PmCliError(\"Config action requires <key>\", EXIT_CODE.USAGE);\n }\n}\n\nconst CONFIG_VALUE_READERS: Readonly<\n Record<ConfigKey, (settings: PmSettings) => ConfigValue>\n> = {\n definition_of_done: (settings) => [...settings.workflow.definition_of_done],\n item_format: (settings) => settings.item_format,\n history_missing_stream_policy: (settings) => settings.history.missing_stream,\n sprint_release_format_policy: (settings) =>\n settings.validation.sprint_release_format,\n parent_reference_policy: (settings) => settings.validation.parent_reference,\n metadata_validation_profile: (settings) =>\n settings.validation.metadata_profile,\n metadata_required_fields: (settings) => [\n ...settings.validation.metadata_required_fields,\n ],\n lifecycle_stale_blocker_reason_patterns: (settings) => [\n ...settings.validation.lifecycle_stale_blocker_reason_patterns,\n ],\n lifecycle_closure_like_blocked_reason_patterns: (settings) => [\n ...settings.validation.lifecycle_closure_like_blocked_reason_patterns,\n ],\n lifecycle_closure_like_resolution_patterns: (settings) => [\n ...settings.validation.lifecycle_closure_like_resolution_patterns,\n ],\n lifecycle_closure_like_actual_result_patterns: (settings) => [\n ...settings.validation.lifecycle_closure_like_actual_result_patterns,\n ],\n governance_preset: (settings) => settings.governance.preset,\n governance_ownership_enforcement: (settings) =>\n settings.governance.ownership_enforcement,\n governance_create_mode_default: (settings) =>\n settings.governance.create_mode_default,\n governance_close_validation_default: (settings) =>\n settings.governance.close_validation_default,\n governance_require_close_reason: (settings) =>\n settings.governance.require_close_reason ? \"enabled\" : \"disabled\",\n governance_create_default_type: (settings) =>\n settings.governance.create_default_type ?? \"\",\n governance_workflow_enforcement: (settings) =>\n settings.governance.workflow_enforcement ?? \"off\",\n governance_parent_reference_policy: (settings) =>\n settings.governance.parent_reference,\n governance_metadata_validation_profile: (settings) =>\n settings.governance.metadata_profile,\n governance_force_required_for_stale_lock: (settings) =>\n settings.governance.force_required_for_stale_lock ? \"enabled\" : \"disabled\",\n test_result_tracking: (settings) =>\n settings.testing.record_results_to_items ? \"enabled\" : \"disabled\",\n telemetry_tracking: (settings) =>\n settings.telemetry.enabled ? \"enabled\" : \"disabled\",\n context: (settings) => ({\n default_depth: settings.context.default_depth,\n activity_limit: settings.context.activity_limit,\n stale_threshold_days: settings.context.stale_threshold_days,\n sections: { ...settings.context.sections },\n }),\n};\n\nfunction readConfigValue(settings: PmSettings, key: ConfigKey): ConfigValue {\n return CONFIG_VALUE_READERS[key](settings);\n}\n\nfunction withWarnings(result: ConfigResult, warnings: string[]): ConfigResult {\n if (warnings.length === 0) {\n return result;\n }\n return {\n ...result,\n warnings,\n };\n}\n\nasync function resolveSettingsTarget(\n scope: ConfigScope,\n global: GlobalOptions,\n): Promise<{ pmRoot: string; settingsPath: string }> {\n const cwd = process.cwd();\n const pmRoot =\n scope === \"project\"\n ? resolvePmRoot(cwd, global.path)\n : resolveGlobalPmRoot(cwd);\n const settingsPath = getSettingsPath(pmRoot);\n if (scope === \"project\" && !(await pathExists(settingsPath))) {\n throw new PmCliError(\n `Tracker is not initialized at ${pmRoot}. Run pm init first.`,\n EXIT_CODE.NOT_FOUND,\n );\n }\n return { pmRoot, settingsPath };\n}\n\nfunction parseSectionToggle(raw: string | undefined): boolean | undefined {\n if (raw === undefined) return undefined;\n const normalized = raw.trim().toLowerCase();\n if (\n normalized === \"true\" ||\n normalized === \"enabled\" ||\n normalized === \"on\" ||\n normalized === \"1\"\n )\n return true;\n if (\n normalized === \"false\" ||\n normalized === \"disabled\" ||\n normalized === \"off\" ||\n normalized === \"0\"\n )\n return false;\n throw new PmCliError(\n `Context section toggle must be true|false|enabled|disabled, got \"${raw}\"`,\n EXIT_CODE.USAGE,\n );\n}\n\nasync function applyContextConfig(\n settings: PmSettings,\n options: ConfigCommandOptions,\n target: { pmRoot: string; settingsPath: string },\n scope: ConfigScope,\n warnings: string[],\n): Promise<ConfigResult> {\n let changed = false;\n const ctx = settings.context;\n\n if (options.defaultDepth !== undefined) {\n const normalized = options.defaultDepth.trim().toLowerCase();\n if (!CONTEXT_DEPTH_VALUES.includes(normalized as ContextDepth)) {\n throw new PmCliError(\n `Context --default-depth must be one of ${CONTEXT_DEPTH_VALUES.join(\"|\")}`,\n EXIT_CODE.USAGE,\n );\n }\n if (ctx.default_depth !== normalized) {\n ctx.default_depth = normalized as ContextDepth;\n changed = true;\n }\n }\n\n if (options.activityLimit !== undefined) {\n const parsed = parseInt(options.activityLimit.trim(), 10);\n if (isNaN(parsed) || parsed <= 0) {\n throw new PmCliError(\n \"Context --activity-limit must be a positive integer\",\n EXIT_CODE.USAGE,\n );\n }\n if (ctx.activity_limit !== parsed) {\n ctx.activity_limit = parsed;\n changed = true;\n }\n }\n\n if (options.staleThresholdDays !== undefined) {\n const parsed = parseInt(options.staleThresholdDays.trim(), 10);\n if (isNaN(parsed) || parsed <= 0) {\n throw new PmCliError(\n \"Context --stale-threshold-days must be a positive integer\",\n EXIT_CODE.USAGE,\n );\n }\n if (ctx.stale_threshold_days !== parsed) {\n ctx.stale_threshold_days = parsed;\n changed = true;\n }\n }\n\n const sectionToggles: [string, string | undefined][] = [\n [\"hierarchy\", options.sectionHierarchy],\n [\"activity\", options.sectionActivity],\n [\"progress\", options.sectionProgress],\n [\"blockers\", options.sectionBlockers],\n [\"files\", options.sectionFiles],\n [\"workload\", options.sectionWorkload],\n [\"staleness\", options.sectionStaleness],\n [\"tests\", options.sectionTests],\n ];\n\n for (const [sectionName, rawValue] of sectionToggles) {\n const toggle = parseSectionToggle(rawValue);\n if (toggle !== undefined) {\n const key = sectionName as keyof typeof ctx.sections;\n if (ctx.sections[key] !== toggle) {\n ctx.sections[key] = toggle;\n changed = true;\n }\n }\n }\n\n if (changed) {\n await writeSettings(target.pmRoot, settings, \"config:set:context\");\n }\n\n return withWarnings(\n {\n scope,\n key: \"context\",\n context_settings: {\n default_depth: ctx.default_depth,\n activity_limit: ctx.activity_limit,\n stale_threshold_days: ctx.stale_threshold_days,\n sections: { ...ctx.sections },\n },\n settings_path: target.settingsPath,\n changed,\n },\n warnings,\n );\n}\n\nfunction applyNestedSettingPositionalValue(\n keyValue: string,\n valueValue: string,\n options: ConfigCommandOptions,\n): ConfigCommandOptions {\n if (options.value !== undefined && options.value !== valueValue) {\n throw new PmCliError(\n `Config set ${keyValue} received both positional value \"${valueValue}\" and --value \"${options.value}\". Pass only one.`,\n EXIT_CODE.USAGE,\n );\n }\n return { ...options, value: valueValue };\n}\n\n/** Route an intuitive `pm config set <key> <value>` positional value onto the typed flag it belongs to (--format/--policy/--criterion), applying enabled/disabled synonyms. Returns the (possibly augmented) options. The typed-flag forms keep working exactly as before: a positional value is only injected when its flag was not already supplied, and a conflicting explicit flag is a clear error. */\nfunction applyPositionalValue(\n action: ConfigAction,\n keyValue: string | undefined,\n normalizedKey: ConfigKey | undefined,\n nestedSetting: NestedSettingDescriptor | undefined,\n valueValue: string | undefined,\n options: ConfigCommandOptions,\n): ConfigCommandOptions {\n if (valueValue === undefined) {\n return options;\n }\n if (action !== \"set\") {\n throw new PmCliError(\n `Config action \"${action}\" does not accept a positional value. Only \"set\" takes <value>.`,\n EXIT_CODE.USAGE,\n );\n }\n if (typeof keyValue !== \"string\" || keyValue.trim().length === 0) {\n throw new PmCliError(\n 'Config action \"set\" requires <key> before a positional <value>.',\n EXIT_CODE.USAGE,\n );\n }\n\n if (nestedSetting) {\n return applyNestedSettingPositionalValue(keyValue, valueValue, options);\n }\n\n assertConfigKeyDefined(normalizedKey);\n const routed = resolveConfigPositionalValue(normalizedKey, valueValue);\n if (!routed.routable) {\n throw new PmCliError(routed.reason, EXIT_CODE.USAGE);\n }\n\n if (routed.flag === \"criterion\") {\n if (options.criterion !== undefined && options.criterion.length > 0) {\n throw new PmCliError(\n `Config set ${keyValue} received both positional value \"${valueValue}\" and --criterion. Pass criteria via --criterion only when supplying more than one value.`,\n EXIT_CODE.USAGE,\n );\n }\n return { ...options, criterion: routed.values };\n }\n\n if (routed.flag === \"format\") {\n /* c8 ignore start -- only `toon` is valid, so normalized explicit/positional formats cannot conflict. */\n if (\n options.format !== undefined &&\n normalizeItemFormat(options.format) !== normalizeItemFormat(routed.value)\n ) {\n throw new PmCliError(\n `Config set ${keyValue} received both positional value \"${valueValue}\" and --format \"${options.format}\". Pass only one.`,\n EXIT_CODE.USAGE,\n );\n }\n /* c8 ignore stop */\n return { ...options, format: routed.value };\n }\n\n // policy flag (--policy)\n if (\n options.policy !== undefined &&\n normalizePolicyForConflict(normalizedKey, options.policy) !==\n normalizePolicyForConflict(normalizedKey, routed.value)\n ) {\n throw new PmCliError(\n `Config set ${keyValue} received both positional value \"${valueValue}\" and --policy \"${options.policy}\". Pass only one.`,\n EXIT_CODE.USAGE,\n );\n }\n return { ...options, policy: routed.value };\n}\n\ninterface ConfigExecutionContext {\n scope: ConfigScope;\n target: { pmRoot: string; settingsPath: string };\n settings: PmSettings;\n metadata: { has_explicit_item_format: boolean };\n warnings: string[];\n}\n\nfunction buildConfigListResult(context: ConfigExecutionContext): ConfigResult {\n const keys = (Object.keys(CONFIG_KEY_ALIASES) as ConfigKey[]).map(\n (candidate) => ({\n key: candidate,\n aliases: CONFIG_KEY_ALIASES[candidate],\n value_kind:\n candidate === \"context\"\n ? (\"object\" as const)\n : isCriteriaConfigKey(candidate)\n ? (\"string_array\" as const)\n : (\"enum\" as const),\n set_flags:\n candidate === \"context\"\n ? [\n \"--default-depth\",\n \"--activity-limit\",\n \"--stale-threshold-days\",\n \"--section-<name>\",\n ]\n : isCriteriaConfigKey(candidate)\n ? [\"--criterion\", \"--clear-criteria\"]\n : candidate === \"item_format\"\n ? [\"--format\"]\n : [\"--policy\"],\n summary: CONFIG_KEY_SUMMARIES[candidate],\n value: readConfigValue(context.settings, candidate),\n }),\n );\n const nestedSettings: NestedSettingResultValue[] =\n NESTED_SETTING_DESCRIPTORS.map((descriptor) => ({\n key: descriptor.key,\n path: descriptor.path,\n kind: descriptor.kind,\n value: readNestedSettingValue(context.settings, descriptor),\n }));\n return withWarnings(\n {\n scope: context.scope,\n keys,\n nested_settings: nestedSettings,\n count: keys.length,\n settings_path: context.target.settingsPath,\n changed: false,\n },\n context.warnings,\n );\n}\n\nfunction buildConfigExportResult(\n context: ConfigExecutionContext,\n): ConfigResult {\n const values = Object.fromEntries(\n (Object.keys(CONFIG_KEY_ALIASES) as ConfigKey[]).map((key) => [\n key,\n readConfigValue(context.settings, key),\n ]),\n ) as Record<ConfigKey, ConfigValue>;\n return withWarnings(\n {\n scope: context.scope,\n values,\n settings_path: context.target.settingsPath,\n changed: false,\n },\n context.warnings,\n );\n}\n\nfunction buildConfigGetResult(\n context: ConfigExecutionContext,\n key: ConfigKey,\n): ConfigResult {\n const value = readConfigValue(context.settings, key);\n const base = {\n scope: context.scope,\n key,\n settings_path: context.target.settingsPath,\n changed: false,\n };\n if (key === \"item_format\") {\n return withWarnings(\n {\n ...base,\n format: context.settings.item_format,\n has_explicit_item_format: context.metadata.has_explicit_item_format,\n },\n context.warnings,\n );\n }\n if (key === \"context\") {\n return withWarnings(\n { ...base, context_settings: value as ContextConfigValue },\n context.warnings,\n );\n }\n if (Array.isArray(value)) {\n return withWarnings({ ...base, criteria: value }, context.warnings);\n }\n return withWarnings(\n { ...base, policy: value as ConfigResult[\"policy\"] },\n context.warnings,\n );\n}\n\nasync function buildNestedSettingResult(\n context: ConfigExecutionContext,\n action: ConfigAction,\n nestedSetting: NestedSettingDescriptor,\n options: ConfigCommandOptions,\n): Promise<ConfigResult> {\n if (action === \"get\") {\n const currentValue = readNestedSettingValue(\n context.settings,\n nestedSetting,\n );\n return withWarnings(\n {\n scope: context.scope,\n key: nestedSetting.key,\n nested_setting: {\n key: nestedSetting.key,\n path: nestedSetting.path,\n kind: nestedSetting.kind,\n value: currentValue,\n },\n settings_path: context.target.settingsPath,\n changed: false,\n },\n context.warnings,\n );\n }\n\n const rawValue = options.value;\n if (typeof rawValue !== \"string\") {\n throw new PmCliError(\n `Config set ${nestedSetting.key} requires a value. Pass it positionally (\\`pm config ${context.scope} set ${nestedSetting.key} <value>\\`) or via --value.`,\n EXIT_CODE.USAGE,\n );\n }\n const parsed = parseNestedSettingValue(nestedSetting, rawValue);\n if (!parsed.ok) {\n throw new PmCliError(parsed.error.message, EXIT_CODE.USAGE);\n }\n const changed = writeNestedSettingValue(\n context.settings as unknown as Record<string, unknown>,\n nestedSetting,\n parsed.parsed.value,\n );\n if (changed) {\n await writeSettings(\n context.target.pmRoot,\n context.settings,\n `config:set:${nestedSetting.path}`,\n );\n }\n return withWarnings(\n {\n scope: context.scope,\n key: nestedSetting.key,\n nested_setting: {\n key: nestedSetting.key,\n path: nestedSetting.path,\n kind: nestedSetting.kind,\n value: parsed.parsed.value,\n },\n settings_path: context.target.settingsPath,\n changed,\n },\n context.warnings,\n );\n}\n\nasync function writeConfigSettingsIfChanged(\n context: ConfigExecutionContext,\n changed: boolean,\n reason: string,\n): Promise<void> {\n if (changed) {\n await writeSettings(context.target.pmRoot, context.settings, reason);\n }\n}\n\nfunction hasGovernanceValidationMirrorChange<\n T extends ParentReferencePolicy | ValidateMetadataProfile,\n>(governanceValue: T, validationValue: T, nextPolicy: T): boolean {\n return governanceValue !== nextPolicy || validationValue !== nextPolicy;\n}\n\nfunction buildPolicyResult(\n context: ConfigExecutionContext,\n key: ConfigKey,\n policy: ConfigResult[\"policy\"],\n changed: boolean,\n): ConfigResult {\n return withWarnings(\n {\n scope: context.scope,\n key,\n policy,\n settings_path: context.target.settingsPath,\n changed,\n },\n context.warnings,\n );\n}\n\nfunction buildCriteriaResult(\n context: ConfigExecutionContext,\n key: ConfigKey,\n criteria: string[],\n changed: boolean,\n): ConfigResult {\n return withWarnings(\n {\n scope: context.scope,\n key,\n criteria,\n settings_path: context.target.settingsPath,\n changed,\n },\n context.warnings,\n );\n}\n\nasync function setItemFormatConfig(\n context: ConfigExecutionContext,\n options: ConfigCommandOptions,\n): Promise<ConfigResult> {\n const nextFormat = normalizeItemFormat(options.format);\n const changed =\n context.settings.item_format !== nextFormat ||\n !context.metadata.has_explicit_item_format;\n let migration: ConfigResult[\"migration\"] = undefined;\n if (changed) {\n const typeRegistry = resolveItemTypeRegistry(\n context.settings,\n getActiveExtensionRegistrations(),\n );\n const migrated = await migrateItemFilesToFormat(\n context.target.pmRoot,\n nextFormat,\n \"config:set:item_format:migrate\",\n typeRegistry.type_to_folder,\n context.settings.schema,\n );\n migration = {\n target_format: migrated.target_format,\n scanned: migrated.scanned,\n migrated: migrated.migrated,\n removed: migrated.removed,\n warnings: migrated.warnings,\n };\n context.settings.item_format = nextFormat;\n await writeSettings(\n context.target.pmRoot,\n context.settings,\n \"config:set:item_format\",\n );\n }\n return withWarnings(\n {\n scope: context.scope,\n key: \"item_format\",\n format: context.settings.item_format,\n has_explicit_item_format: true,\n migration,\n settings_path: context.target.settingsPath,\n changed,\n },\n context.warnings,\n );\n}\n\nasync function setValidationConfig(\n context: ConfigExecutionContext,\n key: ValidationConfigKey,\n options: ConfigCommandOptions,\n): Promise<ConfigResult> {\n if (key === \"history_missing_stream_policy\") {\n const nextPolicy = normalizeHistoryMissingStreamPolicy(options.policy);\n const changed = context.settings.history.missing_stream !== nextPolicy;\n context.settings.history.missing_stream = nextPolicy;\n await writeConfigSettingsIfChanged(\n context,\n changed,\n \"config:set:history_missing_stream_policy\",\n );\n return buildPolicyResult(\n context,\n key,\n context.settings.history.missing_stream,\n changed,\n );\n }\n if (key === \"sprint_release_format_policy\") {\n const nextPolicy = normalizeSprintReleaseFormatPolicy(options.policy);\n const changed =\n context.settings.validation.sprint_release_format !== nextPolicy;\n context.settings.validation.sprint_release_format = nextPolicy;\n await writeConfigSettingsIfChanged(\n context,\n changed,\n \"config:set:sprint_release_format_policy\",\n );\n return buildPolicyResult(\n context,\n key,\n context.settings.validation.sprint_release_format,\n changed,\n );\n }\n if (key === \"parent_reference_policy\") {\n const nextPolicy = normalizeParentReferencePolicy(options.policy);\n const changed =\n context.settings.validation.parent_reference !== nextPolicy ||\n context.settings.governance.preset !== \"custom\" ||\n context.settings.governance.parent_reference !== nextPolicy;\n context.settings.validation.parent_reference = nextPolicy;\n context.settings.governance.preset = \"custom\";\n context.settings.governance.parent_reference = nextPolicy;\n await writeConfigSettingsIfChanged(\n context,\n changed,\n \"config:set:parent_reference_policy\",\n );\n return buildPolicyResult(\n context,\n key,\n context.settings.validation.parent_reference,\n changed,\n );\n }\n const nextPolicy = normalizeValidateMetadataProfile(options.policy);\n const changed =\n context.settings.validation.metadata_profile !== nextPolicy ||\n context.settings.governance.preset !== \"custom\" ||\n context.settings.governance.metadata_profile !== nextPolicy;\n context.settings.validation.metadata_profile = nextPolicy;\n context.settings.governance.preset = \"custom\";\n context.settings.governance.metadata_profile = nextPolicy;\n await writeConfigSettingsIfChanged(\n context,\n changed,\n \"config:set:metadata_validation_profile\",\n );\n return buildPolicyResult(\n context,\n key,\n context.settings.validation.metadata_profile,\n changed,\n );\n}\n\nasync function setCriteriaConfig(\n context: ConfigExecutionContext,\n key: CriteriaConfigKey,\n options: ConfigCommandOptions,\n): Promise<ConfigResult> {\n if (key === \"metadata_required_fields\") {\n const nextCriteria = normalizeMetadataRequiredFields(\n options.criterion,\n options.clearCriteria,\n );\n const changed =\n nextCriteria.length !==\n context.settings.validation.metadata_required_fields.length ||\n nextCriteria.some(\n (value, index) =>\n value !== context.settings.validation.metadata_required_fields[index],\n );\n context.settings.validation.metadata_required_fields = nextCriteria;\n await writeConfigSettingsIfChanged(\n context,\n changed,\n \"config:set:metadata_required_fields\",\n );\n return buildCriteriaResult(\n context,\n key,\n [...context.settings.validation.metadata_required_fields],\n changed,\n );\n }\n\n const lifecycleTargets: Record<LifecyclePatternConfigKey, string[]> = {\n lifecycle_stale_blocker_reason_patterns:\n context.settings.validation.lifecycle_stale_blocker_reason_patterns,\n lifecycle_closure_like_blocked_reason_patterns:\n context.settings.validation\n .lifecycle_closure_like_blocked_reason_patterns,\n lifecycle_closure_like_resolution_patterns:\n context.settings.validation.lifecycle_closure_like_resolution_patterns,\n lifecycle_closure_like_actual_result_patterns:\n context.settings.validation.lifecycle_closure_like_actual_result_patterns,\n };\n const currentCriteria = lifecycleTargets[key];\n\n const nextCriteria = normalizeLifecyclePatternCriteria(\n key,\n options.criterion,\n options.clearCriteria,\n );\n const changed =\n nextCriteria.length !== currentCriteria.length ||\n nextCriteria.some((value, index) => value !== currentCriteria[index]);\n currentCriteria.splice(0, currentCriteria.length, ...nextCriteria);\n await writeConfigSettingsIfChanged(context, changed, `config:set:${key}`);\n return buildCriteriaResult(context, key, [...currentCriteria], changed);\n}\n\nasync function setGovernancePresetOrTypeConfig(\n context: ConfigExecutionContext,\n key: GovernancePresetOrTypeConfigKey,\n options: ConfigCommandOptions,\n): Promise<ConfigResult> {\n if (key === \"governance_preset\") {\n const nextPolicy = normalizeGovernancePreset(options.policy);\n const changed = context.settings.governance.preset !== nextPolicy;\n context.settings.governance.preset = nextPolicy;\n await writeConfigSettingsIfChanged(\n context,\n changed,\n \"config:set:governance_preset\",\n );\n return buildPolicyResult(\n context,\n key,\n context.settings.governance.preset,\n changed,\n );\n }\n\n const policyProvided = typeof options.policy === \"string\";\n const rawType = policyProvided ? options.policy!.trim() : \"\";\n if (policyProvided && rawType.length === 0) {\n const changed =\n context.settings.governance.create_default_type !== undefined;\n delete context.settings.governance.create_default_type;\n await writeConfigSettingsIfChanged(\n context,\n changed,\n \"config:set:governance_create_default_type\",\n );\n return buildPolicyResult(\n context,\n key,\n context.settings.governance.create_default_type ?? \"\",\n changed,\n );\n }\n if (rawType.length === 0) {\n throw new PmCliError(\n 'Config set governance-create-default-type requires an item type value (or an empty value \"\" to clear it)',\n EXIT_CODE.USAGE,\n );\n }\n const typeRegistry = resolveItemTypeRegistry(\n context.settings,\n getActiveExtensionRegistrations(),\n );\n const resolvedType = resolveTypeName(rawType, typeRegistry);\n if (!resolvedType) {\n throw new PmCliError(\n buildInvalidTypeError(\n rawType,\n typeRegistry.types,\n resolveItemTypesFilePath(\n context.target.pmRoot,\n context.settings.schema,\n ),\n ),\n EXIT_CODE.USAGE,\n );\n }\n const changed =\n context.settings.governance.create_default_type !== resolvedType;\n context.settings.governance.create_default_type = resolvedType;\n await writeConfigSettingsIfChanged(\n context,\n changed,\n \"config:set:governance_create_default_type\",\n );\n return buildPolicyResult(\n context,\n key,\n context.settings.governance.create_default_type,\n changed,\n );\n}\n\nasync function setGovernancePolicyConfig(\n context: ConfigExecutionContext,\n key: GovernancePolicyConfigKey,\n options: ConfigCommandOptions,\n): Promise<ConfigResult> {\n if (key === \"governance_ownership_enforcement\") {\n const nextPolicy = normalizeGovernanceOwnershipEnforcement(options.policy);\n const changed =\n context.settings.governance.preset !== \"custom\" ||\n context.settings.governance.ownership_enforcement !== nextPolicy;\n context.settings.governance.preset = \"custom\";\n context.settings.governance.ownership_enforcement = nextPolicy;\n await writeConfigSettingsIfChanged(\n context,\n changed,\n \"config:set:governance_ownership_enforcement\",\n );\n return buildPolicyResult(\n context,\n key,\n context.settings.governance.ownership_enforcement,\n changed,\n );\n }\n if (key === \"governance_create_mode_default\") {\n const nextPolicy = normalizeGovernanceCreateModeDefault(options.policy);\n const changed =\n context.settings.governance.preset !== \"custom\" ||\n context.settings.governance.create_mode_default !== nextPolicy;\n context.settings.governance.preset = \"custom\";\n context.settings.governance.create_mode_default = nextPolicy;\n await writeConfigSettingsIfChanged(\n context,\n changed,\n \"config:set:governance_create_mode_default\",\n );\n return buildPolicyResult(\n context,\n key,\n context.settings.governance.create_mode_default,\n changed,\n );\n }\n const nextPolicy = normalizeGovernanceCloseValidationDefault(options.policy);\n const changed =\n context.settings.governance.preset !== \"custom\" ||\n context.settings.governance.close_validation_default !== nextPolicy;\n context.settings.governance.preset = \"custom\";\n context.settings.governance.close_validation_default = nextPolicy;\n await writeConfigSettingsIfChanged(\n context,\n changed,\n \"config:set:governance_close_validation_default\",\n );\n return buildPolicyResult(\n context,\n key,\n context.settings.governance.close_validation_default,\n changed,\n );\n}\n\nasync function setGovernanceValidationConfig(\n context: ConfigExecutionContext,\n key: GovernanceValidationConfigKey,\n options: ConfigCommandOptions,\n): Promise<ConfigResult> {\n if (key === \"governance_parent_reference_policy\") {\n const nextPolicy = normalizeParentReferencePolicy(options.policy);\n const changed =\n context.settings.governance.preset !== \"custom\" ||\n hasGovernanceValidationMirrorChange(\n context.settings.governance.parent_reference,\n context.settings.validation.parent_reference,\n nextPolicy,\n );\n context.settings.governance.preset = \"custom\";\n context.settings.governance.parent_reference = nextPolicy;\n context.settings.validation.parent_reference = nextPolicy;\n await writeConfigSettingsIfChanged(\n context,\n changed,\n \"config:set:governance_parent_reference_policy\",\n );\n return buildPolicyResult(\n context,\n key,\n context.settings.governance.parent_reference,\n changed,\n );\n }\n if (key === \"governance_metadata_validation_profile\") {\n const nextPolicy = normalizeValidateMetadataProfile(options.policy);\n const changed =\n context.settings.governance.preset !== \"custom\" ||\n hasGovernanceValidationMirrorChange(\n context.settings.governance.metadata_profile,\n context.settings.validation.metadata_profile,\n nextPolicy,\n );\n context.settings.governance.preset = \"custom\";\n context.settings.governance.metadata_profile = nextPolicy;\n context.settings.validation.metadata_profile = nextPolicy;\n await writeConfigSettingsIfChanged(\n context,\n changed,\n \"config:set:governance_metadata_validation_profile\",\n );\n return buildPolicyResult(\n context,\n key,\n context.settings.governance.metadata_profile,\n changed,\n );\n }\n const nextPolicy = normalizeGovernanceWorkflowEnforcement(options.policy);\n const changed =\n (context.settings.governance.workflow_enforcement ?? \"off\") !== nextPolicy;\n context.settings.governance.workflow_enforcement = nextPolicy;\n await writeConfigSettingsIfChanged(\n context,\n changed,\n \"config:set:governance_workflow_enforcement\",\n );\n return buildPolicyResult(\n context,\n key,\n context.settings.governance.workflow_enforcement,\n changed,\n );\n}\n\nasync function setGovernanceBooleanConfig(\n context: ConfigExecutionContext,\n key: ConfigKey,\n options: ConfigCommandOptions,\n): Promise<ConfigResult> {\n if (key === \"governance_require_close_reason\") {\n const nextPolicy = normalizeGovernanceRequireCloseReasonPolicy(\n options.policy,\n );\n const nextEnabled = nextPolicy === \"enabled\";\n const changed =\n context.settings.governance.require_close_reason !== nextEnabled;\n context.settings.governance.require_close_reason = nextEnabled;\n await writeConfigSettingsIfChanged(\n context,\n changed,\n \"config:set:governance_require_close_reason\",\n );\n return buildPolicyResult(\n context,\n key,\n context.settings.governance.require_close_reason ? \"enabled\" : \"disabled\",\n changed,\n );\n }\n const nextPolicy = normalizeGovernanceForceRequiredForStaleLockPolicy(\n options.policy,\n );\n const nextEnabled = nextPolicy === \"enabled\";\n const changed =\n context.settings.governance.preset !== \"custom\" ||\n context.settings.governance.force_required_for_stale_lock !== nextEnabled;\n context.settings.governance.preset = \"custom\";\n context.settings.governance.force_required_for_stale_lock = nextEnabled;\n await writeConfigSettingsIfChanged(\n context,\n changed,\n \"config:set:governance_force_required_for_stale_lock\",\n );\n return buildPolicyResult(\n context,\n key,\n context.settings.governance.force_required_for_stale_lock\n ? \"enabled\"\n : \"disabled\",\n changed,\n );\n}\n\nasync function setTrackingConfig(\n context: ConfigExecutionContext,\n key: ConfigKey,\n options: ConfigCommandOptions,\n): Promise<ConfigResult> {\n if (key === \"test_result_tracking\") {\n const nextPolicy = normalizeTestResultTrackingPolicy(options.policy);\n const nextEnabled = nextPolicy === \"enabled\";\n const changed =\n context.settings.testing.record_results_to_items !== nextEnabled;\n context.settings.testing.record_results_to_items = nextEnabled;\n await writeConfigSettingsIfChanged(\n context,\n changed,\n \"config:set:test_result_tracking\",\n );\n return buildPolicyResult(\n context,\n key,\n context.settings.testing.record_results_to_items ? \"enabled\" : \"disabled\",\n changed,\n );\n }\n const nextPolicy = normalizeTelemetryTrackingPolicy(options.policy);\n const nextEnabled = nextPolicy === \"enabled\";\n const changed =\n context.settings.telemetry.enabled !== nextEnabled ||\n !context.settings.telemetry.first_run_prompt_completed;\n context.settings.telemetry.enabled = nextEnabled;\n context.settings.telemetry.first_run_prompt_completed = true;\n await writeConfigSettingsIfChanged(\n context,\n changed,\n \"config:set:telemetry_tracking\",\n );\n return buildPolicyResult(\n context,\n key,\n context.settings.telemetry.enabled ? \"enabled\" : \"disabled\",\n changed,\n );\n}\n\nasync function setDefinitionOfDoneConfig(\n context: ConfigExecutionContext,\n key: ConfigKey,\n options: ConfigCommandOptions,\n): Promise<ConfigResult> {\n const nextCriteria = normalizeCriteria(\n options.criterion,\n options.clearCriteria,\n );\n const changed =\n nextCriteria.length !==\n context.settings.workflow.definition_of_done.length ||\n nextCriteria.some(\n (value, index) =>\n value !== context.settings.workflow.definition_of_done[index],\n );\n context.settings.workflow.definition_of_done = nextCriteria;\n await writeConfigSettingsIfChanged(\n context,\n changed,\n \"config:set:definition_of_done\",\n );\n return buildCriteriaResult(\n context,\n key,\n [...context.settings.workflow.definition_of_done],\n changed,\n );\n}\n\nasync function setConfigValue(\n context: ConfigExecutionContext,\n key: ConfigKey,\n options: ConfigCommandOptions,\n): Promise<ConfigResult> {\n if (options.clearCriteria === true && !isCriteriaConfigKey(key)) {\n throw new PmCliError(\n \"--clear-criteria is only supported with config set criteria-list keys\",\n EXIT_CODE.USAGE,\n );\n }\n if (key === \"item_format\") {\n return setItemFormatConfig(context, options);\n }\n if (key === \"context\") {\n return applyContextConfig(\n context.settings,\n options,\n context.target,\n context.scope,\n context.warnings,\n );\n }\n if (key === \"definition_of_done\") {\n return setDefinitionOfDoneConfig(context, key, options);\n }\n if (isCriteriaValueConfigKey(key)) {\n return setCriteriaConfig(context, key, options);\n }\n if (TRACKING_CONFIG_KEYS.has(key)) {\n return setTrackingConfig(context, key, options);\n }\n if (GOVERNANCE_BOOLEAN_CONFIG_KEYS.has(key)) {\n return setGovernanceBooleanConfig(context, key, options);\n }\n if (isGovernancePolicyConfigKey(key)) {\n return setGovernancePolicyConfig(context, key, options);\n }\n if (isGovernanceValidationConfigKey(key)) {\n return setGovernanceValidationConfig(context, key, options);\n }\n if (isGovernancePresetOrTypeConfigKey(key)) {\n return setGovernancePresetOrTypeConfig(context, key, options);\n }\n return setValidationConfig(context, key as ValidationConfigKey, options);\n}\n\n/** Implements run config for the public runtime surface of this module. */\nexport async function runConfig(\n scopeValue: string,\n actionValue: string,\n keyValue: string | undefined,\n options: ConfigCommandOptions,\n global: GlobalOptions,\n valueValue?: string,\n): Promise<ConfigResult> {\n const scope = normalizeScope(scopeValue);\n const action = normalizeAction(actionValue);\n const nestedSetting =\n action === \"get\" || action === \"set\"\n ? resolveNestedSettingDescriptor(keyValue)\n : undefined;\n const key = nestedSetting\n ? undefined\n : normalizeKeyForAction(action, keyValue);\n const routedOptions = applyPositionalValue(\n action,\n keyValue,\n key,\n nestedSetting,\n valueValue,\n options,\n );\n const target = await resolveSettingsTarget(scope, global);\n const {\n settings,\n metadata,\n warnings: settingsReadWarnings,\n } = await readSettingsWithMetadata(target.pmRoot);\n const context: ConfigExecutionContext = {\n scope,\n target,\n settings,\n metadata,\n warnings: normalizeWarnings(settingsReadWarnings),\n };\n\n if (nestedSetting) {\n return buildNestedSettingResult(\n context,\n action,\n nestedSetting,\n routedOptions,\n );\n }\n if (action === \"list\") {\n return buildConfigListResult(context);\n }\n if (action === \"export\") {\n return buildConfigExportResult(context);\n }\n\n assertConfigKeyDefined(key);\n return action === \"get\"\n ? buildConfigGetResult(context, key)\n : setConfigValue(context, key, routedOptions);\n}\n\n/** Public contract for test only config command, shared by SDK and presentation-layer consumers. */\nexport const _testOnlyConfigCommand = {\n hasGovernanceValidationMirrorChange,\n applyPositionalValue,\n normalizeAction,\n normalizeCriteria,\n normalizeGovernanceCloseValidationDefault,\n normalizeGovernanceCreateModeDefault,\n normalizeGovernanceForceRequiredForStaleLockPolicy,\n normalizeGovernanceOwnershipEnforcement,\n normalizeGovernancePreset,\n normalizeGovernanceRequireCloseReasonPolicy,\n normalizeGovernanceWorkflowEnforcement,\n normalizeHistoryMissingStreamPolicy,\n normalizeItemFormat,\n normalizeKey,\n normalizeMetadataRequiredFields,\n normalizePolicyForConflict,\n normalizeScope,\n normalizeTelemetryTrackingPolicy,\n normalizeTestResultTrackingPolicy,\n normalizeValidateMetadataProfile,\n normalizeWarnings,\n};\n"],"names":[],"mappings":"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","debugId":"6bbfaf7b-9eb9-56b6-a7a7-4c036bbc52f2"}
1
+ {"version":3,"file":"config.js","sources":["cli/commands/config.ts"],"sourceRoot":"/","sourcesContent":["/**\n * @module cli/commands/config\n *\n * Preserves the CLI compatibility import path for SDK-owned configuration primitives.\n */\nexport * from \"../../sdk/config.js\";\n"],"names":[],"mappings":"AAAA;;;;GAIG;;;AACH,cAAc,qBAAqB,CAAC","debugId":"773ae087-5b66-5181-a575-174868990966"}
@@ -3,7 +3,8 @@ import { type RuntimeStatusRegistry } from "../../core/schema/runtime-schema.js"
3
3
  import type { ContextDepth, ContextSectionName, ContextSettings, ItemMetadata, ItemStatus } from "../../types/index.js";
4
4
  import { type CalendarRow } from "./calendar.js";
5
5
  import { type CompactActivityEntry } from "./activity.js";
6
- import { type ContextRelevanceCandidate, type ContextRelevanceContributions, type ContextRelevanceReport, type ContextRelevanceSignalName } from "../../sdk/context-relevance.js";
6
+ import { type ContextRelevanceContributions, type ContextRelevanceReport, type ContextRelevanceSignalName } from "../../sdk/context-relevance.js";
7
+ export { buildItemContextRelevanceCandidates } from "../../sdk/context-relevance.js";
7
8
  import { type ContextPackingReport } from "../../sdk/context-packing.js";
8
9
  /** Supported values accepted by the context output contract. */
9
10
  export declare const CONTEXT_OUTPUT_VALUES: readonly ["markdown", "toon", "json"];
@@ -392,8 +393,6 @@ declare function normalizedParentId(value: unknown): string | null;
392
393
  * `pm next`) recommend work in the exact same sequence as `pm context`.
393
394
  */
394
395
  export declare function compareCriticalItems(left: ItemMetadata, right: ItemMetadata, statusRegistry: RuntimeStatusRegistry): number;
395
- /** Derives the metadata signals currently available on compact item rows. More expensive history/index/semantic signals can be added by an extension scorer without changing the public candidate contract. */
396
- export declare function buildItemContextRelevanceCandidates(items: readonly ItemMetadata[], statusRegistry: RuntimeStatusRegistry, now: string, author: string | undefined, usageAffinity?: Readonly<Record<string, number>>): ContextRelevanceCandidate<ItemMetadata>[];
397
396
  /** Packs a relevance report with monotone identity, summary, and full item projections. */
398
397
  export declare function packRankedContextItems(report: ContextRelevanceReport<ItemMetadata>, tokenBudget: number, requiredIds?: ReadonlySet<string>, profile?: "context" | "next"): ContextPackingReport<ItemMetadata>;
399
398
  /** Projects the SDK packer report onto the stable low-token command envelope. */
@@ -467,4 +466,3 @@ declare function buildTestHealth(activeItems: ItemMetadata[]): TestHealthSummary
467
466
  export declare function renderContextMarkdown(result: ContextResult): string;
468
467
  /** Implements run context for the public runtime surface of this module. */
469
468
  export declare function runContext(options: ContextOptions, global: GlobalOptions): Promise<ContextResult>;
470
- export {};
@@ -4,7 +4,7 @@
4
4
  * Implements the pm context command surface and its agent-facing runtime behavior.
5
5
  */
6
6
 
7
- !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]="7563a6df-9229-5af9-9849-85a058c01a46")}catch(e){}}();
7
+ !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]="36bded4c-6a70-5b72-bd69-49bdc0cf1332")}catch(e){}}();
8
8
  import { SETTINGS_DEFAULTS, EXIT_CODE } from "../../core/shared/constants.js";
9
9
  import { PmCliError } from "../../core/shared/errors.js";
10
10
  import { compareTimestampStrings, nowIso } from "../../core/shared/time.js";
@@ -17,7 +17,8 @@ import { parseIntegerLimit } from "../shared-parsers.js";
17
17
  import { runCalendar, } from "./calendar.js";
18
18
  import { runList } from "./list.js";
19
19
  import { runActivity } from "./activity.js";
20
- import { scoreContextCandidatesWithActiveExtensions, } from "../../sdk/context-relevance.js";
20
+ import { scoreContextCandidatesWithActiveExtensions, buildItemContextRelevanceCandidates, } from "../../sdk/context-relevance.js";
21
+ export { buildItemContextRelevanceCandidates } from "../../sdk/context-relevance.js";
21
22
  import { createQueryFingerprint, encodeQueryCursor, resolveQueryCursorStart, } from "../../sdk/pagination.js";
22
23
  import { packContextCandidates, } from "../../sdk/context-packing.js";
23
24
  import { readContextUsageAffinity, recordContextUsageServing, } from "../../sdk/context-usage.js";
@@ -393,87 +394,6 @@ export function compareCriticalItems(left, right, statusRegistry) {
393
394
  const byId = left.id.localeCompare(right.id);
394
395
  return byUpdated !== 0 ? byUpdated : byId;
395
396
  }
396
- function normalizedPressure(value, maximum) {
397
- const parsed = typeof value === "number"
398
- ? value
399
- : typeof value === "string"
400
- ? Number.parseFloat(value)
401
- : Number.NaN;
402
- if (!Number.isFinite(parsed))
403
- return 0;
404
- return 1 - Math.min(Math.max(parsed, 0), maximum) / maximum;
405
- }
406
- function resolveDeadlinePressure(deadline, nowMs) {
407
- const deadlineMs = typeof deadline === "string"
408
- ? Date.parse(deadline)
409
- : deadline instanceof Date
410
- ? deadline.getTime()
411
- : typeof deadline === "number"
412
- ? deadline
413
- : Number.NaN;
414
- if (!Number.isFinite(deadlineMs) || !Number.isFinite(nowMs))
415
- return 0;
416
- const deadlineDays = (deadlineMs - nowMs) / (24 * 60 * 60 * 1000);
417
- return deadlineDays <= 0 ? 1 : 1 / (1 + deadlineDays / 30);
418
- }
419
- function resolveRiskPressure(risk) {
420
- const normalized = typeof risk === "string" ? risk.trim().toLowerCase() : undefined;
421
- if (normalized === "critical" || normalized === "high")
422
- return 1;
423
- if (normalized === "medium")
424
- return 0.5;
425
- return normalized === "low" ? 0.1 : 0;
426
- }
427
- function buildItemContextRelevanceCandidate(item, params) {
428
- const assignedToAuthor = params.normalizedAuthor !== undefined &&
429
- typeof item.assignee === "string" &&
430
- item.assignee.trim().toLowerCase() === params.normalizedAuthor;
431
- const claimFocus = isInProgressStatus(item.status, params.statusRegistry)
432
- ? 1
433
- : assignedToAuthor
434
- ? 0.75
435
- : 0;
436
- const riskPressure = resolveRiskPressure(item.risk);
437
- const knowledgeEntries = (item.comments?.length ?? 0) +
438
- (item.notes?.length ?? 0) +
439
- (item.learnings?.length ?? 0);
440
- return {
441
- id: item.id,
442
- item,
443
- signals: {
444
- recency: params.itemCount === 1
445
- ? 1
446
- : 1 -
447
- params.recencyRank.get(item.id) /
448
- params.recencyDenominator,
449
- graph_proximity: item.parent ? 0.3 : 0,
450
- claim_focus: claimFocus,
451
- priority_pressure: normalizedPressure(item.priority, 4),
452
- risk_pressure: riskPressure,
453
- deadline_pressure: resolveDeadlinePressure(item.deadline, params.nowMs),
454
- knowledge_density: Math.min(knowledgeEntries / 5, 1),
455
- author_affinity: assignedToAuthor ? 1 : 0,
456
- usage_affinity: params.usageAffinity?.[item.id],
457
- },
458
- };
459
- }
460
- /** Derives the metadata signals currently available on compact item rows. More expensive history/index/semantic signals can be added by an extension scorer without changing the public candidate contract. */
461
- export function buildItemContextRelevanceCandidates(items, statusRegistry, now, author, usageAffinity) {
462
- const recencyOrder = [...items].sort((left, right) => compareTimestampStrings(sortableTimestamp(right.updated_at), sortableTimestamp(left.updated_at)) || left.id.localeCompare(right.id));
463
- const recencyRank = new Map(recencyOrder.map((item, index) => [item.id, index]));
464
- const recencyDenominator = Math.max(items.length - 1, 1);
465
- const normalizedAuthor = author?.trim().toLowerCase();
466
- const nowMs = Date.parse(now);
467
- return items.map((item) => buildItemContextRelevanceCandidate(item, {
468
- statusRegistry,
469
- nowMs,
470
- normalizedAuthor,
471
- recencyRank,
472
- recencyDenominator,
473
- itemCount: items.length,
474
- usageAffinity,
475
- }));
476
- }
477
397
  function estimateJsonTokens(value) {
478
398
  return Math.max(1, Math.ceil(Buffer.byteLength(JSON.stringify(value), "utf8") / 4));
479
399
  }
@@ -1243,7 +1163,12 @@ async function resolveContextFocusGroups(listedItemMetadata, allItems, statusReg
1243
1163
  author,
1244
1164
  enabled: process.env.PM_CONTEXT_USAGE_DISABLED !== "1",
1245
1165
  });
1246
- const ranking = await scoreContextCandidatesWithActiveExtensions("context", buildItemContextRelevanceCandidates(structural, statusRegistry, now, author, usage.affinity));
1166
+ const ranking = await scoreContextCandidatesWithActiveExtensions("context", buildItemContextRelevanceCandidates(structural, {
1167
+ statusRegistry,
1168
+ now,
1169
+ author,
1170
+ usageAffinity: usage.affinity,
1171
+ }));
1247
1172
  const ranked = ranking.ranked.map((entry) => entry.item);
1248
1173
  const activeStatuses = statusRegistry.active_statuses;
1249
1174
  const rankedActiveItems = ranked.filter((item) => activeStatuses.has(normalizeStatusForRegistry(item.status, statusRegistry)));
@@ -1544,4 +1469,4 @@ export async function runContext(options, global) {
1544
1469
  return result;
1545
1470
  }
1546
1471
  //# sourceMappingURL=context.js.map
1547
- //# debugId=7563a6df-9229-5af9-9849-85a058c01a46
1472
+ //# debugId=36bded4c-6a70-5b72-bd69-49bdc0cf1332