@unbrained/pm-cli 2026.7.3 → 2026.7.5

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 (663) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/CONTRIBUTING.md +36 -7
  3. package/README.md +1 -9
  4. package/dist/cli/commands/calendar.d.ts +3 -2
  5. package/dist/cli/commands/calendar.js +5 -5
  6. package/dist/cli/commands/calendar.js.map +1 -1
  7. package/dist/cli/commands/claim.js +17 -3
  8. package/dist/cli/commands/claim.js.map +1 -1
  9. package/dist/cli/commands/close.js +34 -16
  10. package/dist/cli/commands/close.js.map +1 -1
  11. package/dist/cli/commands/completion.js +231 -345
  12. package/dist/cli/commands/completion.js.map +1 -1
  13. package/dist/cli/commands/copy.js +3 -3
  14. package/dist/cli/commands/copy.js.map +1 -1
  15. package/dist/cli/commands/create.d.ts +9 -59
  16. package/dist/cli/commands/create.js +162 -132
  17. package/dist/cli/commands/create.js.map +1 -1
  18. package/dist/cli/commands/extension/bundled-catalog.d.ts +6 -0
  19. package/dist/cli/commands/extension/bundled-catalog.js +15 -2
  20. package/dist/cli/commands/extension/bundled-catalog.js.map +1 -1
  21. package/dist/cli/commands/extension/describe.d.ts +6 -3
  22. package/dist/cli/commands/extension/describe.js +21 -9
  23. package/dist/cli/commands/extension/describe.js.map +1 -1
  24. package/dist/cli/commands/extension/doctor.d.ts +0 -4
  25. package/dist/cli/commands/extension/doctor.js +3 -3
  26. package/dist/cli/commands/extension/doctor.js.map +1 -1
  27. package/dist/cli/commands/extension/scaffold.js +59 -133
  28. package/dist/cli/commands/extension/scaffold.js.map +1 -1
  29. package/dist/cli/commands/extension/shared.d.ts +2 -7
  30. package/dist/cli/commands/extension/shared.js +4 -10
  31. package/dist/cli/commands/extension/shared.js.map +1 -1
  32. package/dist/cli/commands/extension.js +33 -8
  33. package/dist/cli/commands/extension.js.map +1 -1
  34. package/dist/cli/commands/files.js +3 -3
  35. package/dist/cli/commands/files.js.map +1 -1
  36. package/dist/cli/commands/history-compact.js +9 -18
  37. package/dist/cli/commands/history-compact.js.map +1 -1
  38. package/dist/cli/commands/history-repair.js +9 -19
  39. package/dist/cli/commands/history-repair.js.map +1 -1
  40. package/dist/cli/commands/init-agent-guidance.js +133 -97
  41. package/dist/cli/commands/init-agent-guidance.js.map +1 -1
  42. package/dist/cli/commands/init.js +3 -3
  43. package/dist/cli/commands/init.js.map +1 -1
  44. package/dist/cli/commands/item-filter-options.d.ts +2 -0
  45. package/dist/cli/commands/item-filter-options.js +2 -2
  46. package/dist/cli/commands/item-filter-options.js.map +1 -1
  47. package/dist/cli/commands/mutation-command-options.d.ts +78 -0
  48. package/dist/cli/commands/mutation-command-options.js +10 -0
  49. package/dist/cli/commands/mutation-command-options.js.map +1 -0
  50. package/dist/cli/commands/profile.js +3 -3
  51. package/dist/cli/commands/profile.js.map +1 -1
  52. package/dist/cli/commands/reindex.js +4 -4
  53. package/dist/cli/commands/reindex.js.map +1 -1
  54. package/dist/cli/commands/restore.js +3 -3
  55. package/dist/cli/commands/restore.js.map +1 -1
  56. package/dist/cli/commands/schema.js +10 -10
  57. package/dist/cli/commands/schema.js.map +1 -1
  58. package/dist/cli/commands/shared-unset-fields.d.ts +19 -0
  59. package/dist/cli/commands/shared-unset-fields.js +31 -2
  60. package/dist/cli/commands/shared-unset-fields.js.map +1 -1
  61. package/dist/cli/commands/update.d.ts +2 -59
  62. package/dist/cli/commands/update.js +29 -98
  63. package/dist/cli/commands/update.js.map +1 -1
  64. package/dist/cli/commands/validate.js +4 -4
  65. package/dist/cli/commands/validate.js.map +1 -1
  66. package/dist/cli/error-guidance.js +107 -7
  67. package/dist/cli/error-guidance.js.map +1 -1
  68. package/dist/cli/main.d.ts +6 -2
  69. package/dist/cli/main.js +33 -12
  70. package/dist/cli/main.js.map +1 -1
  71. package/dist/cli/register-list-query.js +4 -2
  72. package/dist/cli/register-list-query.js.map +1 -1
  73. package/dist/cli/registration-helpers.js +12 -6
  74. package/dist/cli/registration-helpers.js.map +1 -1
  75. package/dist/cli-bundle/chunks/activity-4XQIDNM5.js +18 -0
  76. package/dist/cli-bundle/chunks/{activity-5YWLSPGE.js → activity-YKAKZTZ4.js} +11 -9
  77. package/dist/cli-bundle/chunks/{aggregate-2V2M3JZU.js → aggregate-EQX2RGB7.js} +16 -13
  78. package/dist/cli-bundle/chunks/{aggregate-2V2M3JZU.js.map → aggregate-EQX2RGB7.js.map} +1 -1
  79. package/dist/cli-bundle/chunks/{aggregate-EK7DXML7.js → aggregate-PEGZGJXD.js} +18 -15
  80. package/dist/cli-bundle/chunks/{aggregate-EK7DXML7.js.map → aggregate-PEGZGJXD.js.map} +1 -1
  81. package/dist/cli-bundle/chunks/{append-EZESUVJT.js → append-CZGUZ45Q.js} +11 -8
  82. package/dist/cli-bundle/chunks/{append-EZESUVJT.js.map → append-CZGUZ45Q.js.map} +1 -1
  83. package/dist/cli-bundle/chunks/{append-JFG4WQMG.js → append-NSQBCXZJ.js} +13 -10
  84. package/dist/cli-bundle/chunks/{append-JFG4WQMG.js.map → append-NSQBCXZJ.js.map} +1 -1
  85. package/dist/cli-bundle/chunks/chunk-3JZNEQBA.js +1413 -0
  86. package/dist/cli-bundle/chunks/chunk-3JZNEQBA.js.map +1 -0
  87. package/dist/cli-bundle/chunks/{chunk-NOIEVOK5.js → chunk-3PL6LEKP.js} +16 -14
  88. package/dist/cli-bundle/chunks/{chunk-NOIEVOK5.js.map → chunk-3PL6LEKP.js.map} +1 -1
  89. package/dist/cli-bundle/chunks/{chunk-6KRFL33E.js → chunk-3U3VEWK6.js} +277 -119
  90. package/dist/cli-bundle/chunks/chunk-3U3VEWK6.js.map +7 -0
  91. package/dist/cli-bundle/chunks/{chunk-Z5F6XZXE.js → chunk-3Y4OESPP.js} +14 -12
  92. package/dist/cli-bundle/chunks/{chunk-Z5F6XZXE.js.map → chunk-3Y4OESPP.js.map} +1 -1
  93. package/dist/cli-bundle/chunks/{chunk-HB4FAT3O.js → chunk-4LRVSBO6.js} +21 -15
  94. package/dist/cli-bundle/chunks/chunk-4LRVSBO6.js.map +7 -0
  95. package/dist/cli-bundle/chunks/{chunk-T3P7PMZP.js → chunk-4OFLJHX6.js} +7 -5
  96. package/dist/cli-bundle/chunks/{chunk-T3P7PMZP.js.map → chunk-4OFLJHX6.js.map} +1 -1
  97. package/dist/cli-bundle/chunks/{chunk-JPATY4SE.js → chunk-4QQ6PM7M.js} +45 -557
  98. package/dist/cli-bundle/chunks/chunk-4QQ6PM7M.js.map +7 -0
  99. package/dist/cli-bundle/chunks/{chunk-6CDCWKSX.js → chunk-53BTLLAF.js} +68 -331
  100. package/dist/cli-bundle/chunks/chunk-53BTLLAF.js.map +1 -0
  101. package/dist/cli-bundle/chunks/{chunk-4WB6S4YX.js → chunk-57C2RLW5.js} +277 -112
  102. package/dist/cli-bundle/chunks/chunk-57C2RLW5.js.map +1 -0
  103. package/dist/cli-bundle/chunks/{chunk-PULUSQAV.js → chunk-5B3X4Y22.js} +52 -63
  104. package/dist/cli-bundle/chunks/{chunk-PULUSQAV.js.map → chunk-5B3X4Y22.js.map} +3 -3
  105. package/dist/cli-bundle/chunks/{chunk-7LYO6S5A.js → chunk-5J2XPTAD.js} +10 -8
  106. package/dist/cli-bundle/chunks/{chunk-7LYO6S5A.js.map → chunk-5J2XPTAD.js.map} +1 -1
  107. package/dist/cli-bundle/chunks/{chunk-QCDTQCMW.js → chunk-5JE6SMYS.js} +2 -2
  108. package/dist/cli-bundle/chunks/{chunk-MHRS5FUX.js → chunk-5JZ7APJU.js} +153 -108
  109. package/dist/cli-bundle/chunks/chunk-5JZ7APJU.js.map +1 -0
  110. package/dist/cli-bundle/chunks/{chunk-KHVGM5CS.js → chunk-5VVUKE3U.js} +544 -2368
  111. package/dist/cli-bundle/chunks/chunk-5VVUKE3U.js.map +7 -0
  112. package/dist/cli-bundle/chunks/{chunk-RJH5VQHW.js → chunk-75U6M5ZD.js} +22 -16
  113. package/dist/cli-bundle/chunks/chunk-75U6M5ZD.js.map +1 -0
  114. package/dist/cli-bundle/chunks/chunk-7C2O74AE.js +23 -0
  115. package/dist/cli-bundle/chunks/chunk-7C2O74AE.js.map +7 -0
  116. package/dist/cli-bundle/chunks/{chunk-ZFTKYWIF.js → chunk-7EQNAZX2.js} +14 -12
  117. package/dist/cli-bundle/chunks/{chunk-ZFTKYWIF.js.map → chunk-7EQNAZX2.js.map} +1 -1
  118. package/dist/cli-bundle/chunks/{chunk-Z4DGFQDH.js → chunk-7LQKVMPA.js} +14 -4
  119. package/dist/cli-bundle/chunks/chunk-7LQKVMPA.js.map +1 -0
  120. package/dist/cli-bundle/chunks/{chunk-ERG65A2L.js → chunk-7MDXZAZS.js} +29 -7
  121. package/dist/cli-bundle/chunks/chunk-7MDXZAZS.js.map +1 -0
  122. package/dist/cli-bundle/chunks/{chunk-OGLGI22K.js → chunk-7QH7DHUB.js} +74 -8
  123. package/dist/cli-bundle/chunks/chunk-7QH7DHUB.js.map +1 -0
  124. package/dist/cli-bundle/chunks/{chunk-JBZ2NTKX.js → chunk-7WYXBPYQ.js} +7 -5
  125. package/dist/cli-bundle/chunks/{chunk-JBZ2NTKX.js.map → chunk-7WYXBPYQ.js.map} +1 -1
  126. package/dist/cli-bundle/chunks/chunk-AAEQMOC6.js +150 -0
  127. package/dist/cli-bundle/chunks/chunk-AAEQMOC6.js.map +1 -0
  128. package/dist/cli-bundle/chunks/{chunk-K5DT2YKM.js → chunk-ABRA3BHY.js} +18 -16
  129. package/dist/cli-bundle/chunks/{chunk-K5DT2YKM.js.map → chunk-ABRA3BHY.js.map} +2 -2
  130. package/dist/cli-bundle/chunks/chunk-B5KXLBSJ.js +47 -0
  131. package/dist/cli-bundle/chunks/chunk-B5KXLBSJ.js.map +7 -0
  132. package/dist/cli-bundle/chunks/{chunk-7CLLC75T.js → chunk-BFVHCAOO.js} +9 -7
  133. package/dist/cli-bundle/chunks/{chunk-7CLLC75T.js.map → chunk-BFVHCAOO.js.map} +1 -1
  134. package/dist/cli-bundle/chunks/{chunk-MDHWWBNZ.js → chunk-BVEUCSH2.js} +6 -4
  135. package/dist/cli-bundle/chunks/{chunk-MDHWWBNZ.js.map → chunk-BVEUCSH2.js.map} +1 -1
  136. package/dist/cli-bundle/chunks/chunk-C3PMDWGX.js +160 -0
  137. package/dist/cli-bundle/chunks/chunk-C3PMDWGX.js.map +7 -0
  138. package/dist/cli-bundle/chunks/{chunk-T4XBKJ3F.js → chunk-D3UCE7RW.js} +7 -5
  139. package/dist/cli-bundle/chunks/{chunk-T4XBKJ3F.js.map → chunk-D3UCE7RW.js.map} +1 -1
  140. package/dist/cli-bundle/chunks/chunk-DC3QJQWI.js +275 -0
  141. package/dist/cli-bundle/chunks/chunk-DC3QJQWI.js.map +7 -0
  142. package/dist/cli-bundle/chunks/chunk-DLQ4ZTCU.js +634 -0
  143. package/dist/cli-bundle/chunks/chunk-DLQ4ZTCU.js.map +7 -0
  144. package/dist/cli-bundle/chunks/{chunk-AJHYQCBJ.js → chunk-DRBV5UC2.js} +8 -23
  145. package/dist/cli-bundle/chunks/chunk-DRBV5UC2.js.map +7 -0
  146. package/dist/cli-bundle/chunks/{chunk-NZ7QIUP5.js → chunk-E2FUG6GD.js} +67 -351
  147. package/dist/cli-bundle/chunks/chunk-E2FUG6GD.js.map +7 -0
  148. package/dist/cli-bundle/chunks/{chunk-4PFVUUYV.js → chunk-EEY54JMF.js} +5 -3
  149. package/dist/cli-bundle/chunks/{chunk-4PFVUUYV.js.map → chunk-EEY54JMF.js.map} +1 -1
  150. package/dist/cli-bundle/chunks/{chunk-3W2HJKJX.js → chunk-EZFKWSC7.js} +94 -16
  151. package/dist/cli-bundle/chunks/{chunk-3W2HJKJX.js.map → chunk-EZFKWSC7.js.map} +4 -4
  152. package/dist/cli-bundle/chunks/{chunk-F6WNBITZ.js → chunk-FDBARR33.js} +40 -19
  153. package/dist/cli-bundle/chunks/{chunk-F6WNBITZ.js.map → chunk-FDBARR33.js.map} +3 -3
  154. package/dist/cli-bundle/chunks/{chunk-WRYERRZX.js → chunk-FGQKEDE4.js} +36 -12
  155. package/dist/cli-bundle/chunks/chunk-FGQKEDE4.js.map +7 -0
  156. package/dist/cli-bundle/chunks/{chunk-CXR3CMBQ.js → chunk-FJRKQREY.js} +10 -18
  157. package/dist/cli-bundle/chunks/chunk-FJRKQREY.js.map +1 -0
  158. package/dist/cli-bundle/chunks/{chunk-QNNQAAZ5.js → chunk-FUM6UMY4.js} +10 -11
  159. package/dist/cli-bundle/chunks/{chunk-QNNQAAZ5.js.map → chunk-FUM6UMY4.js.map} +1 -1
  160. package/dist/cli-bundle/chunks/{chunk-TQ6AX5SQ.js → chunk-GIWXVMZ3.js} +140 -334
  161. package/dist/cli-bundle/chunks/chunk-GIWXVMZ3.js.map +7 -0
  162. package/dist/cli-bundle/chunks/{chunk-FZJM2TXF.js → chunk-HBYZDSK5.js} +19 -17
  163. package/dist/cli-bundle/chunks/{chunk-FZJM2TXF.js.map → chunk-HBYZDSK5.js.map} +1 -1
  164. package/dist/cli-bundle/chunks/{chunk-5IZUBZBR.js → chunk-HJE4JTKQ.js} +6 -4
  165. package/dist/cli-bundle/chunks/{chunk-5IZUBZBR.js.map → chunk-HJE4JTKQ.js.map} +1 -1
  166. package/dist/cli-bundle/chunks/{chunk-YSDFIY7N.js → chunk-HK72NWAD.js} +89 -18
  167. package/dist/cli-bundle/chunks/chunk-HK72NWAD.js.map +1 -0
  168. package/dist/cli-bundle/chunks/{chunk-LBE5QFMZ.js → chunk-IJ6CO3JV.js} +41 -20
  169. package/dist/cli-bundle/chunks/{chunk-LBE5QFMZ.js.map → chunk-IJ6CO3JV.js.map} +1 -1
  170. package/dist/cli-bundle/chunks/{chunk-YF746GTH.js → chunk-JFCVQXZX.js} +139 -326
  171. package/dist/cli-bundle/chunks/chunk-JFCVQXZX.js.map +1 -0
  172. package/dist/cli-bundle/chunks/{chunk-A3OQ7TFW.js → chunk-JLA7EVYV.js} +12 -10
  173. package/dist/cli-bundle/chunks/{chunk-A3OQ7TFW.js.map → chunk-JLA7EVYV.js.map} +1 -1
  174. package/dist/cli-bundle/chunks/chunk-K32L7HZO.js +76 -0
  175. package/dist/cli-bundle/chunks/chunk-K32L7HZO.js.map +1 -0
  176. package/dist/cli-bundle/chunks/{chunk-32IUNTG4.js → chunk-K3AGVXSF.js} +37 -13
  177. package/dist/cli-bundle/chunks/chunk-K3AGVXSF.js.map +1 -0
  178. package/dist/cli-bundle/chunks/chunk-KDZ6K25I.js +79 -0
  179. package/dist/cli-bundle/chunks/chunk-KDZ6K25I.js.map +7 -0
  180. package/dist/cli-bundle/chunks/chunk-KGHH652T.js +44 -0
  181. package/dist/cli-bundle/chunks/chunk-KGHH652T.js.map +1 -0
  182. package/dist/cli-bundle/chunks/chunk-KL22PY6L.js +915 -0
  183. package/dist/cli-bundle/chunks/chunk-KL22PY6L.js.map +1 -0
  184. package/dist/cli-bundle/chunks/{chunk-BI4R7HI2.js → chunk-KLG4ZULO.js} +12 -10
  185. package/dist/cli-bundle/chunks/{chunk-BI4R7HI2.js.map → chunk-KLG4ZULO.js.map} +1 -1
  186. package/dist/cli-bundle/chunks/{chunk-XRYSCRZR.js → chunk-LEKT4K7I.js} +74 -8
  187. package/dist/cli-bundle/chunks/chunk-LEKT4K7I.js.map +7 -0
  188. package/dist/cli-bundle/chunks/{contracts-X74F2GSM.js → chunk-MNZ7DRNC.js} +13 -10
  189. package/dist/cli-bundle/chunks/{contracts-X74F2GSM.js.map → chunk-MNZ7DRNC.js.map} +1 -1
  190. package/dist/cli-bundle/chunks/{chunk-4EXFFP7T.js → chunk-MTTXDAK4.js} +206 -147
  191. package/dist/cli-bundle/chunks/chunk-MTTXDAK4.js.map +7 -0
  192. package/dist/cli-bundle/chunks/{chunk-KEZOIPCR.js → chunk-MZ7VNEVY.js} +8 -6
  193. package/dist/cli-bundle/chunks/{chunk-KEZOIPCR.js.map → chunk-MZ7VNEVY.js.map} +1 -1
  194. package/dist/cli-bundle/chunks/{chunk-5JIWFWOZ.js → chunk-N6DNM2FA.js} +2 -2
  195. package/dist/cli-bundle/chunks/{test-runs-QIR5MJPL.js → chunk-N7X4WP6L.js} +11 -8
  196. package/dist/cli-bundle/chunks/{test-runs-QIR5MJPL.js.map → chunk-N7X4WP6L.js.map} +1 -1
  197. package/dist/cli-bundle/chunks/{chunk-U3S2B7TA.js → chunk-NBFCNJ7Q.js} +206 -147
  198. package/dist/cli-bundle/chunks/chunk-NBFCNJ7Q.js.map +1 -0
  199. package/dist/cli-bundle/chunks/{chunk-GVJE5T7Q.js → chunk-NER3KUUS.js} +2 -2
  200. package/dist/cli-bundle/chunks/chunk-NNHHXJB2.js +20 -0
  201. package/dist/cli-bundle/chunks/chunk-NNHHXJB2.js.map +1 -0
  202. package/dist/cli-bundle/chunks/chunk-OBA2WH65.js +918 -0
  203. package/dist/cli-bundle/chunks/chunk-OBA2WH65.js.map +7 -0
  204. package/dist/cli-bundle/chunks/{chunk-YPWUSH72.js → chunk-OESSOFJ4.js} +14 -12
  205. package/dist/cli-bundle/chunks/{chunk-YPWUSH72.js.map → chunk-OESSOFJ4.js.map} +1 -1
  206. package/dist/cli-bundle/chunks/chunk-OK5NXCZB.js +238 -0
  207. package/dist/cli-bundle/chunks/chunk-OK5NXCZB.js.map +1 -0
  208. package/dist/cli-bundle/chunks/{chunk-FUFFPIYA.js → chunk-OWTIRHX4.js} +28 -6
  209. package/dist/cli-bundle/chunks/chunk-OWTIRHX4.js.map +7 -0
  210. package/dist/cli-bundle/chunks/{chunk-Z7RPDF2Y.js → chunk-P3VRG72Q.js} +10 -8
  211. package/dist/cli-bundle/chunks/{chunk-Z7RPDF2Y.js.map → chunk-P3VRG72Q.js.map} +1 -1
  212. package/dist/cli-bundle/chunks/chunk-P5TFTLWW.js +1423 -0
  213. package/dist/cli-bundle/chunks/chunk-P5TFTLWW.js.map +7 -0
  214. package/dist/cli-bundle/chunks/chunk-P5YORJRH.js +1977 -0
  215. package/dist/cli-bundle/chunks/chunk-P5YORJRH.js.map +7 -0
  216. package/dist/cli-bundle/chunks/{chunk-MEZZZBYX.js → chunk-PDXT6Q55.js} +2 -2
  217. package/dist/cli-bundle/chunks/{chunk-EJ2OCBHF.js → chunk-PJ3A56YF.js} +46 -537
  218. package/dist/cli-bundle/chunks/chunk-PJ3A56YF.js.map +1 -0
  219. package/dist/cli-bundle/chunks/{test-runs-MG5VIGSK.js → chunk-PPAJG4GB.js} +13 -10
  220. package/dist/cli-bundle/chunks/{test-runs-MG5VIGSK.js.map → chunk-PPAJG4GB.js.map} +1 -1
  221. package/dist/cli-bundle/chunks/{chunk-572FKBRL.js → chunk-PPE4YUQM.js} +1725 -1663
  222. package/dist/cli-bundle/chunks/chunk-PPE4YUQM.js.map +1 -0
  223. package/dist/cli-bundle/chunks/{chunk-ER4ME5U2.js → chunk-QHZO65XW.js} +8 -6
  224. package/dist/cli-bundle/chunks/{chunk-ER4ME5U2.js.map → chunk-QHZO65XW.js.map} +1 -1
  225. package/dist/cli-bundle/chunks/{chunk-T6AXEBOP.js → chunk-R3ZBLGTC.js} +9 -10
  226. package/dist/cli-bundle/chunks/{chunk-T6AXEBOP.js.map → chunk-R3ZBLGTC.js.map} +2 -2
  227. package/dist/cli-bundle/chunks/chunk-RCT3YJOK.js +624 -0
  228. package/dist/cli-bundle/chunks/chunk-RCT3YJOK.js.map +1 -0
  229. package/dist/cli-bundle/chunks/{chunk-YVKZ3ANP.js → chunk-RX3HQSYG.js} +2 -2
  230. package/dist/cli-bundle/chunks/{chunk-LOWVNZBZ.js → chunk-S4APD35C.js} +4 -4
  231. package/dist/cli-bundle/chunks/{chunk-FH2H3CBD.js → chunk-S5AYOUT5.js} +8 -6
  232. package/dist/cli-bundle/chunks/{chunk-FH2H3CBD.js.map → chunk-S5AYOUT5.js.map} +1 -1
  233. package/dist/cli-bundle/chunks/{chunk-SYE6WMV6.js → chunk-STPSZ2XY.js} +19 -744
  234. package/dist/cli-bundle/chunks/chunk-STPSZ2XY.js.map +1 -0
  235. package/dist/cli-bundle/chunks/{chunk-6NYJGMTY.js → chunk-T35XLYZF.js} +2 -2
  236. package/dist/cli-bundle/chunks/{chunk-P5L7Z2O6.js → chunk-T3ABIMGW.js} +5 -3
  237. package/dist/cli-bundle/chunks/{chunk-P5L7Z2O6.js.map → chunk-T3ABIMGW.js.map} +1 -1
  238. package/dist/cli-bundle/chunks/{chunk-SU2E4AWU.js → chunk-T3F4DF23.js} +16 -14
  239. package/dist/cli-bundle/chunks/{chunk-SU2E4AWU.js.map → chunk-T3F4DF23.js.map} +1 -1
  240. package/dist/cli-bundle/chunks/chunk-T4MX77AK.js +272 -0
  241. package/dist/cli-bundle/chunks/chunk-T4MX77AK.js.map +1 -0
  242. package/dist/cli-bundle/chunks/chunk-T5Y3QSNF.js +5354 -0
  243. package/dist/cli-bundle/chunks/chunk-T5Y3QSNF.js.map +1 -0
  244. package/dist/cli-bundle/chunks/{chunk-ECU6MMTQ.js → chunk-TSPKZRRW.js} +50 -116
  245. package/dist/cli-bundle/chunks/chunk-TSPKZRRW.js.map +1 -0
  246. package/dist/cli-bundle/chunks/{chunk-BE2SR6QL.js → chunk-TT42JUMF.js} +4 -4
  247. package/dist/cli-bundle/chunks/chunk-UHKX7I75.js +165 -0
  248. package/dist/cli-bundle/chunks/chunk-UHKX7I75.js.map +1 -0
  249. package/dist/cli-bundle/chunks/{chunk-RAHINBVP.js → chunk-UI5BJ6DO.js} +1339 -1277
  250. package/dist/cli-bundle/chunks/chunk-UI5BJ6DO.js.map +7 -0
  251. package/dist/cli-bundle/chunks/chunk-US3T3W5J.js +1932 -0
  252. package/dist/cli-bundle/chunks/chunk-US3T3W5J.js.map +1 -0
  253. package/dist/cli-bundle/chunks/chunk-UZRDBL6W.js +175 -0
  254. package/dist/cli-bundle/chunks/chunk-UZRDBL6W.js.map +7 -0
  255. package/dist/cli-bundle/chunks/{chunk-B4O5S7I3.js → chunk-VUHVWI4C.js} +13 -3
  256. package/dist/cli-bundle/chunks/chunk-VUHVWI4C.js.map +7 -0
  257. package/dist/cli-bundle/chunks/{contracts-L6ODXNUM.js → chunk-VZIYHZDX.js} +11 -8
  258. package/dist/cli-bundle/chunks/{contracts-L6ODXNUM.js.map → chunk-VZIYHZDX.js.map} +1 -1
  259. package/dist/cli-bundle/chunks/{chunk-U5TR4N7J.js → chunk-WISPVC2E.js} +9 -7
  260. package/dist/cli-bundle/chunks/{chunk-U5TR4N7J.js.map → chunk-WISPVC2E.js.map} +1 -1
  261. package/dist/cli-bundle/chunks/chunk-WVSGSZ6J.js +5434 -0
  262. package/dist/cli-bundle/chunks/chunk-WVSGSZ6J.js.map +7 -0
  263. package/dist/cli-bundle/chunks/{chunk-HQAF23Q2.js → chunk-XQCG2JGW.js} +17 -749
  264. package/dist/cli-bundle/chunks/chunk-XQCG2JGW.js.map +7 -0
  265. package/dist/cli-bundle/chunks/chunk-Y76TWC45.js +550 -0
  266. package/dist/cli-bundle/chunks/chunk-Y76TWC45.js.map +7 -0
  267. package/dist/cli-bundle/chunks/{chunk-L4SLHV6G.js → chunk-YD5FML7K.js} +464 -2239
  268. package/dist/cli-bundle/chunks/chunk-YD5FML7K.js.map +1 -0
  269. package/dist/cli-bundle/chunks/{chunk-YSGTMDWC.js → chunk-YFIE7YK6.js} +7 -5
  270. package/dist/cli-bundle/chunks/{chunk-YSGTMDWC.js.map → chunk-YFIE7YK6.js.map} +1 -1
  271. package/dist/cli-bundle/chunks/{chunk-WYOIIFSE.js → chunk-YMABYTNG.js} +49 -115
  272. package/dist/cli-bundle/chunks/chunk-YMABYTNG.js.map +7 -0
  273. package/dist/cli-bundle/chunks/{chunk-SU3TB4NS.js → chunk-YOF5VPKM.js} +2 -2
  274. package/dist/cli-bundle/chunks/{chunk-WJA3PXW7.js → chunk-YPPVU5GX.js} +11 -9
  275. package/dist/cli-bundle/chunks/{chunk-WJA3PXW7.js.map → chunk-YPPVU5GX.js.map} +1 -1
  276. package/dist/cli-bundle/chunks/{chunk-GUYNUXQT.js → chunk-YQMMMONE.js} +6 -4
  277. package/dist/cli-bundle/chunks/{chunk-GUYNUXQT.js.map → chunk-YQMMMONE.js.map} +1 -1
  278. package/dist/cli-bundle/chunks/{chunk-AIKU3IIL.js → chunk-YSAH5FY5.js} +16 -14
  279. package/dist/cli-bundle/chunks/{chunk-AIKU3IIL.js.map → chunk-YSAH5FY5.js.map} +1 -1
  280. package/dist/cli-bundle/chunks/{chunk-KS6ATO47.js → chunk-YZIR4R3U.js} +153 -108
  281. package/dist/cli-bundle/chunks/chunk-YZIR4R3U.js.map +7 -0
  282. package/dist/cli-bundle/chunks/{chunk-LCWQP6NM.js → chunk-Z2CRRZYF.js} +14 -12
  283. package/dist/cli-bundle/chunks/{chunk-LCWQP6NM.js.map → chunk-Z2CRRZYF.js.map} +1 -1
  284. package/dist/cli-bundle/chunks/chunk-ZAHXPXVY.js +533 -0
  285. package/dist/cli-bundle/chunks/chunk-ZAHXPXVY.js.map +1 -0
  286. package/dist/cli-bundle/chunks/{chunk-UMNQZS4H.js → chunk-ZCJAA3JK.js} +8 -6
  287. package/dist/cli-bundle/chunks/{chunk-UMNQZS4H.js.map → chunk-ZCJAA3JK.js.map} +1 -1
  288. package/dist/cli-bundle/chunks/{chunk-EQURFOMH.js → chunk-ZD34OFFQ.js} +5 -3
  289. package/dist/cli-bundle/chunks/{chunk-EQURFOMH.js.map → chunk-ZD34OFFQ.js.map} +1 -1
  290. package/dist/cli-bundle/chunks/{chunk-67LARBDL.js → chunk-ZJB3UV5U.js} +54 -58
  291. package/dist/cli-bundle/chunks/chunk-ZJB3UV5U.js.map +1 -0
  292. package/dist/cli-bundle/chunks/{chunk-5E7N4T2Z.js → chunk-ZMD35NYG.js} +2 -2
  293. package/dist/cli-bundle/chunks/chunk-ZVDL32GJ.js +241 -0
  294. package/dist/cli-bundle/chunks/chunk-ZVDL32GJ.js.map +7 -0
  295. package/dist/cli-bundle/chunks/{claim-5GU7OE67.js → claim-4DROPSIS.js} +30 -13
  296. package/dist/cli-bundle/chunks/claim-4DROPSIS.js.map +1 -0
  297. package/dist/cli-bundle/chunks/{claim-2BGBGSVI.js → claim-VX54TV5U.js} +29 -12
  298. package/dist/cli-bundle/chunks/claim-VX54TV5U.js.map +7 -0
  299. package/dist/cli-bundle/chunks/{close-AFVKPR57.js → close-3YRR3XY6.js} +9 -7
  300. package/dist/cli-bundle/chunks/close-OB2Y4QP5.js +16 -0
  301. package/dist/cli-bundle/chunks/{close-many-JKUJMHLG.js → close-many-AP4MWU36.js} +21 -18
  302. package/dist/cli-bundle/chunks/{close-many-JKUJMHLG.js.map → close-many-AP4MWU36.js.map} +1 -1
  303. package/dist/cli-bundle/chunks/{close-many-7KLOSYLP.js → close-many-OMZIGZB4.js} +19 -16
  304. package/dist/cli-bundle/chunks/{close-many-7KLOSYLP.js.map → close-many-OMZIGZB4.js.map} +1 -1
  305. package/dist/cli-bundle/chunks/{comments-DNWHEBOS.js → comments-MIW5MZOX.js} +12 -9
  306. package/dist/cli-bundle/chunks/{comments-DNWHEBOS.js.map → comments-MIW5MZOX.js.map} +1 -1
  307. package/dist/cli-bundle/chunks/{comments-RW23R3VE.js → comments-SAG5LSKL.js} +14 -11
  308. package/dist/cli-bundle/chunks/{comments-RW23R3VE.js.map → comments-SAG5LSKL.js.map} +1 -1
  309. package/dist/cli-bundle/chunks/{config-AUM5WBYA.js → config-DJJKZB5R.js} +20 -17
  310. package/dist/cli-bundle/chunks/{config-AUM5WBYA.js.map → config-DJJKZB5R.js.map} +1 -1
  311. package/dist/cli-bundle/chunks/{config-OZWSA2NP.js → config-V57QD47V.js} +22 -19
  312. package/dist/cli-bundle/chunks/{config-OZWSA2NP.js.map → config-V57QD47V.js.map} +1 -1
  313. package/dist/cli-bundle/chunks/{context-PKCEHQY3.js → context-4OQGIPSO.js} +15 -12
  314. package/dist/cli-bundle/chunks/{context-OYXRGY7S.js → context-WLA6IAWE.js} +15 -12
  315. package/dist/cli-bundle/chunks/contracts-HXJLKCRI.js +12 -0
  316. package/dist/cli-bundle/chunks/contracts-OJEXMKVW.js +16 -0
  317. package/dist/cli-bundle/chunks/{copy-I4NCLBR4.js → copy-LEE6P6EM.js} +17 -14
  318. package/dist/cli-bundle/chunks/{copy-I4NCLBR4.js.map → copy-LEE6P6EM.js.map} +2 -2
  319. package/dist/cli-bundle/chunks/{copy-6XOR3HKN.js → copy-OTJOWFL6.js} +18 -15
  320. package/dist/cli-bundle/chunks/{copy-6XOR3HKN.js.map → copy-OTJOWFL6.js.map} +1 -1
  321. package/dist/cli-bundle/chunks/create-WKOZKPQR.js +30 -0
  322. package/dist/cli-bundle/chunks/{create-PM45M6PE.js → create-XWWQFQ6S.js} +14 -12
  323. package/dist/cli-bundle/chunks/{delete-7YXHYG67.js → delete-62JQTYT4.js} +10 -7
  324. package/dist/cli-bundle/chunks/{delete-7YXHYG67.js.map → delete-62JQTYT4.js.map} +1 -1
  325. package/dist/cli-bundle/chunks/{delete-LPISP43T.js → delete-HQKGRNRZ.js} +12 -9
  326. package/dist/cli-bundle/chunks/{delete-LPISP43T.js.map → delete-HQKGRNRZ.js.map} +1 -1
  327. package/dist/cli-bundle/chunks/{deps-WATKQDE3.js → deps-55FTG6Z5.js} +12 -9
  328. package/dist/cli-bundle/chunks/{deps-WATKQDE3.js.map → deps-55FTG6Z5.js.map} +1 -1
  329. package/dist/cli-bundle/chunks/{deps-N2T26FME.js → deps-L2FPIAD3.js} +10 -7
  330. package/dist/cli-bundle/chunks/{deps-N2T26FME.js.map → deps-L2FPIAD3.js.map} +1 -1
  331. package/dist/cli-bundle/chunks/{docs-6LQ3GLM7.js → docs-6CRCSVKK.js} +11 -9
  332. package/dist/cli-bundle/chunks/{docs-6LQ3GLM7.js.map → docs-6CRCSVKK.js.map} +1 -1
  333. package/dist/cli-bundle/chunks/{docs-Z3X6JZLT.js → docs-S6UTOTO5.js} +9 -7
  334. package/dist/cli-bundle/chunks/{docs-Z3X6JZLT.js.map → docs-S6UTOTO5.js.map} +1 -1
  335. package/dist/cli-bundle/chunks/{eval-6DCLG52D.js → eval-N6UHFWVO.js} +15 -11
  336. package/dist/cli-bundle/chunks/{eval-6DCLG52D.js.map → eval-N6UHFWVO.js.map} +1 -1
  337. package/dist/cli-bundle/chunks/{eval-Y3ZCUTHK.js → eval-PHOTWYHI.js} +17 -13
  338. package/dist/cli-bundle/chunks/{eval-Y3ZCUTHK.js.map → eval-PHOTWYHI.js.map} +1 -1
  339. package/dist/cli-bundle/chunks/{extension-BNINIMT7.js → extension-NBAH62ML.js} +17 -11
  340. package/dist/cli-bundle/chunks/{extension-QWE4YYK5.js → extension-ZF6ZZPOU.js} +17 -11
  341. package/dist/cli-bundle/chunks/{files-FUYPSOFJ.js → files-6P57MRKL.js} +14 -11
  342. package/dist/cli-bundle/chunks/files-6P57MRKL.js.map +7 -0
  343. package/dist/cli-bundle/chunks/{files-6SGKHS6O.js → files-JPU3FNJ7.js} +15 -12
  344. package/dist/cli-bundle/chunks/files-JPU3FNJ7.js.map +1 -0
  345. package/dist/cli-bundle/chunks/{focus-2Q3K76G2.js → focus-LFZ6IDBR.js} +15 -11
  346. package/dist/cli-bundle/chunks/{focus-2Q3K76G2.js.map → focus-LFZ6IDBR.js.map} +1 -1
  347. package/dist/cli-bundle/chunks/{focus-ATLBWXXD.js → focus-WNMYCVYA.js} +13 -9
  348. package/dist/cli-bundle/chunks/{focus-ATLBWXXD.js.map → focus-WNMYCVYA.js.map} +1 -1
  349. package/dist/cli-bundle/chunks/{gc-RUYEMNRF.js → gc-AETFKZ44.js} +10 -7
  350. package/dist/cli-bundle/chunks/{gc-RUYEMNRF.js.map → gc-AETFKZ44.js.map} +1 -1
  351. package/dist/cli-bundle/chunks/{gc-TDWSDR66.js → gc-RLBP4QVN.js} +12 -9
  352. package/dist/cli-bundle/chunks/{gc-TDWSDR66.js.map → gc-RLBP4QVN.js.map} +1 -1
  353. package/dist/cli-bundle/chunks/{get-LY6M2JIM.js → get-NH2MPBCI.js} +18 -15
  354. package/dist/cli-bundle/chunks/{get-LY6M2JIM.js.map → get-NH2MPBCI.js.map} +1 -1
  355. package/dist/cli-bundle/chunks/{get-2WGLX74N.js → get-P4ZQXCPZ.js} +16 -13
  356. package/dist/cli-bundle/chunks/{get-2WGLX74N.js.map → get-P4ZQXCPZ.js.map} +1 -1
  357. package/dist/cli-bundle/chunks/{health-4RKHYS3T.js → health-3GVPMQBL.js} +36 -29
  358. package/dist/cli-bundle/chunks/{health-4RKHYS3T.js.map → health-3GVPMQBL.js.map} +1 -1
  359. package/dist/cli-bundle/chunks/{health-TMFVNYRA.js → health-DNTM72GJ.js} +34 -27
  360. package/dist/cli-bundle/chunks/{health-TMFVNYRA.js.map → health-DNTM72GJ.js.map} +1 -1
  361. package/dist/cli-bundle/chunks/history-RYKLC72X.js +20 -0
  362. package/dist/cli-bundle/chunks/{history-SGRRS72R.js → history-SGPYRAFT.js} +10 -8
  363. package/dist/cli-bundle/chunks/{history-compact-LOED43R3.js → history-compact-3F6VELO7.js} +26 -30
  364. package/dist/cli-bundle/chunks/history-compact-3F6VELO7.js.map +7 -0
  365. package/dist/cli-bundle/chunks/{history-compact-V5DNAQHH.js → history-compact-656Y2TN4.js} +27 -31
  366. package/dist/cli-bundle/chunks/history-compact-656Y2TN4.js.map +1 -0
  367. package/dist/cli-bundle/chunks/history-redact-4H3FCKF3.js +21 -0
  368. package/dist/cli-bundle/chunks/{history-redact-IRL7WJ3E.js → history-redact-54ICFKXM.js} +11 -9
  369. package/dist/cli-bundle/chunks/{history-repair-PGYQJMGD.js → history-repair-4N6SDVHK.js} +25 -30
  370. package/dist/cli-bundle/chunks/history-repair-4N6SDVHK.js.map +7 -0
  371. package/dist/cli-bundle/chunks/{history-repair-4WVBVHFR.js → history-repair-EVTO6LIH.js} +26 -31
  372. package/dist/cli-bundle/chunks/history-repair-EVTO6LIH.js.map +1 -0
  373. package/dist/cli-bundle/chunks/init-RPIPQUNV.js +32 -0
  374. package/dist/cli-bundle/chunks/init-SKQAESQS.js +28 -0
  375. package/dist/cli-bundle/chunks/{learnings-4FJY7WIW.js → learnings-2HTPZNGZ.js} +10 -8
  376. package/dist/cli-bundle/chunks/{learnings-4FJY7WIW.js.map → learnings-2HTPZNGZ.js.map} +1 -1
  377. package/dist/cli-bundle/chunks/{learnings-4BHWFFUV.js → learnings-YBIHY3D6.js} +12 -10
  378. package/dist/cli-bundle/chunks/{learnings-4BHWFFUV.js.map → learnings-YBIHY3D6.js.map} +1 -1
  379. package/dist/cli-bundle/chunks/{list-472TIOVK.js → list-64LHZ3HM.js} +10 -8
  380. package/dist/cli-bundle/chunks/{list-D7BF5CL2.js → list-7LXBTEKI.js} +10 -8
  381. package/dist/cli-bundle/chunks/{next-SFQZVX2B.js → next-7ODPAQ4U.js} +22 -18
  382. package/dist/cli-bundle/chunks/{next-SFQZVX2B.js.map → next-7ODPAQ4U.js.map} +1 -1
  383. package/dist/cli-bundle/chunks/{next-D5STGWI2.js → next-ODJUM4ZM.js} +24 -20
  384. package/dist/cli-bundle/chunks/{next-D5STGWI2.js.map → next-ODJUM4ZM.js.map} +1 -1
  385. package/dist/cli-bundle/chunks/{notes-6KNOSLIT.js → notes-72YXN5JX.js} +10 -8
  386. package/dist/cli-bundle/chunks/{notes-6KNOSLIT.js.map → notes-72YXN5JX.js.map} +1 -1
  387. package/dist/cli-bundle/chunks/{notes-W4UEICGF.js → notes-NJ7IQJX4.js} +12 -10
  388. package/dist/cli-bundle/chunks/{notes-W4UEICGF.js.map → notes-NJ7IQJX4.js.map} +1 -1
  389. package/dist/cli-bundle/chunks/{plan-MJQW5XK3.js → plan-R4NDQ27E.js} +18 -15
  390. package/dist/cli-bundle/chunks/{plan-MJQW5XK3.js.map → plan-R4NDQ27E.js.map} +1 -1
  391. package/dist/cli-bundle/chunks/{plan-JO6V7BXO.js → plan-XWY5T67S.js} +20 -17
  392. package/dist/cli-bundle/chunks/{plan-JO6V7BXO.js.map → plan-XWY5T67S.js.map} +1 -1
  393. package/dist/cli-bundle/chunks/profile-XQWEQKS3.js +397 -0
  394. package/dist/cli-bundle/chunks/profile-XQWEQKS3.js.map +1 -0
  395. package/dist/cli-bundle/chunks/profile-YRDHLMRO.js +400 -0
  396. package/dist/cli-bundle/chunks/profile-YRDHLMRO.js.map +7 -0
  397. package/dist/cli-bundle/chunks/{register-list-query-ELBHCCFI.js → register-list-query-5H66WFYF.js} +24 -21
  398. package/dist/cli-bundle/chunks/register-list-query-5H66WFYF.js.map +7 -0
  399. package/dist/cli-bundle/chunks/{register-list-query-GAPQ6DM3.js → register-list-query-FB3FNDLZ.js} +25 -22
  400. package/dist/cli-bundle/chunks/{register-list-query-ELBHCCFI.js.map → register-list-query-FB3FNDLZ.js.map} +1 -7
  401. package/dist/cli-bundle/chunks/{register-mutation-SJWMVIJ2.js → register-mutation-UJO23C7R.js} +42 -39
  402. package/dist/cli-bundle/chunks/{register-mutation-SJWMVIJ2.js.map → register-mutation-UJO23C7R.js.map} +1 -1
  403. package/dist/cli-bundle/chunks/{register-mutation-ROFE2YPC.js → register-mutation-Z2ETYHKS.js} +40 -37
  404. package/dist/cli-bundle/chunks/{register-mutation-ROFE2YPC.js.map → register-mutation-Z2ETYHKS.js.map} +1 -1
  405. package/dist/cli-bundle/chunks/{register-operations-MEKU3AKC.js → register-operations-A3XAM5J7.js} +39 -36
  406. package/dist/cli-bundle/chunks/{register-operations-MEKU3AKC.js.map → register-operations-A3XAM5J7.js.map} +1 -1
  407. package/dist/cli-bundle/chunks/{register-operations-IADFVH53.js → register-operations-SG7HBSUP.js} +37 -34
  408. package/dist/cli-bundle/chunks/{register-operations-IADFVH53.js.map → register-operations-SG7HBSUP.js.map} +1 -1
  409. package/dist/cli-bundle/chunks/{register-setup-AJWUSSQX.js → register-setup-I45OGJUV.js} +25 -19
  410. package/dist/cli-bundle/chunks/{register-setup-AJWUSSQX.js.map → register-setup-I45OGJUV.js.map} +1 -1
  411. package/dist/cli-bundle/chunks/{register-setup-3QJY43CY.js → register-setup-K6U3NVY5.js} +23 -17
  412. package/dist/cli-bundle/chunks/{register-setup-3QJY43CY.js.map → register-setup-K6U3NVY5.js.map} +1 -1
  413. package/dist/cli-bundle/chunks/restore-PXOFL6AM.js +19 -0
  414. package/dist/cli-bundle/chunks/{restore-44IHMMZZ.js → restore-YJ2ET6AT.js} +11 -9
  415. package/dist/cli-bundle/chunks/{scheduling-shortcuts-TSBK4AY5.js → scheduling-shortcuts-SSC4MYWQ.js} +14 -12
  416. package/dist/cli-bundle/chunks/{scheduling-shortcuts-TSBK4AY5.js.map → scheduling-shortcuts-SSC4MYWQ.js.map} +1 -1
  417. package/dist/cli-bundle/chunks/{scheduling-shortcuts-OLHNLAZY.js → scheduling-shortcuts-ULRG7MNP.js} +16 -14
  418. package/dist/cli-bundle/chunks/{scheduling-shortcuts-OLHNLAZY.js.map → scheduling-shortcuts-ULRG7MNP.js.map} +1 -1
  419. package/dist/cli-bundle/chunks/{schema-VBCELP5G.js → schema-2PUXCZ25.js} +10 -7
  420. package/dist/cli-bundle/chunks/{schema-IB2NZZWD.js → schema-Y6DXXK2F.js} +10 -7
  421. package/dist/cli-bundle/chunks/{search-7UBETML4.js → search-3S72CTD6.js} +13 -10
  422. package/dist/cli-bundle/chunks/{search-R227JOL6.js → search-WNUNBQXO.js} +13 -10
  423. package/dist/cli-bundle/chunks/{stats-FAG7COEH.js → stats-IJYTRQGV.js} +13 -10
  424. package/dist/cli-bundle/chunks/{stats-FAG7COEH.js.map → stats-IJYTRQGV.js.map} +1 -1
  425. package/dist/cli-bundle/chunks/{stats-MCK7PLYS.js → stats-L2D5Y2O5.js} +15 -12
  426. package/dist/cli-bundle/chunks/{stats-MCK7PLYS.js.map → stats-L2D5Y2O5.js.map} +1 -1
  427. package/dist/cli-bundle/chunks/{telemetry-DRPDZMAO.js → telemetry-L2CVOKVN.js} +11 -8
  428. package/dist/cli-bundle/chunks/{telemetry-DRPDZMAO.js.map → telemetry-L2CVOKVN.js.map} +1 -1
  429. package/dist/cli-bundle/chunks/{telemetry-GVVUQSJQ.js → telemetry-QBYWQA76.js} +13 -10
  430. package/dist/cli-bundle/chunks/{telemetry-GVVUQSJQ.js.map → telemetry-QBYWQA76.js.map} +1 -1
  431. package/dist/cli-bundle/chunks/{test-QY44WAMR.js → test-DQ2QFJ7W.js} +21 -15
  432. package/dist/cli-bundle/chunks/test-W7QBLVJS.js +41 -0
  433. package/dist/cli-bundle/chunks/{test-all-USPJHXFR.js → test-all-636NTRTT.js} +26 -19
  434. package/dist/cli-bundle/chunks/{test-all-USPJHXFR.js.map → test-all-636NTRTT.js.map} +1 -1
  435. package/dist/cli-bundle/chunks/{test-all-QD6QAEG7.js → test-all-DWYK3RG6.js} +24 -17
  436. package/dist/cli-bundle/chunks/{test-all-QD6QAEG7.js.map → test-all-DWYK3RG6.js.map} +1 -1
  437. package/dist/cli-bundle/chunks/test-runs-245OINZR.js +28 -0
  438. package/dist/cli-bundle/chunks/test-runs-245OINZR.js.map +1 -0
  439. package/dist/cli-bundle/chunks/test-runs-ZRD4GCTT.js +24 -0
  440. package/dist/cli-bundle/chunks/test-runs-ZRD4GCTT.js.map +7 -0
  441. package/dist/cli-bundle/chunks/update-SFLZPJXX.js +30 -0
  442. package/dist/cli-bundle/chunks/update-SFLZPJXX.js.map +1 -0
  443. package/dist/cli-bundle/chunks/update-SJZ6S77U.js +26 -0
  444. package/dist/cli-bundle/chunks/update-SJZ6S77U.js.map +7 -0
  445. package/dist/cli-bundle/chunks/{update-many-RATAARHU.js → update-many-DC7X3EWM.js} +32 -29
  446. package/dist/cli-bundle/chunks/{update-many-RATAARHU.js.map → update-many-DC7X3EWM.js.map} +1 -1
  447. package/dist/cli-bundle/chunks/{update-many-BEMTDA2X.js → update-many-SLLAMHT7.js} +34 -31
  448. package/dist/cli-bundle/chunks/{update-many-BEMTDA2X.js.map → update-many-SLLAMHT7.js.map} +1 -1
  449. package/dist/cli-bundle/chunks/{upgrade-VU46BLJZ.js → upgrade-HFFXLZJA.js} +19 -12
  450. package/dist/cli-bundle/chunks/{upgrade-VU46BLJZ.js.map → upgrade-HFFXLZJA.js.map} +1 -1
  451. package/dist/cli-bundle/chunks/{upgrade-NWMR3VQL.js → upgrade-UYQKM7RF.js} +21 -14
  452. package/dist/cli-bundle/chunks/{upgrade-NWMR3VQL.js.map → upgrade-UYQKM7RF.js.map} +1 -1
  453. package/dist/cli-bundle/chunks/{validate-NRY6MFXN.js → validate-PA4FDTOV.js} +35 -28
  454. package/dist/cli-bundle/chunks/validate-PA4FDTOV.js.map +7 -0
  455. package/dist/cli-bundle/chunks/{validate-GAJ6FUSI.js → validate-Z7L75YEJ.js} +35 -28
  456. package/dist/cli-bundle/chunks/validate-Z7L75YEJ.js.map +1 -0
  457. package/dist/cli-bundle/main.js +173 -57
  458. package/dist/cli-bundle/main.js.map +2 -2
  459. package/dist/cli-bundle/sdk-runtime.js +247 -0
  460. package/dist/cli-bundle/sdk-runtime.js.map +7 -0
  461. package/dist/cli-bundle/sdk-testing.js +101 -0
  462. package/dist/cli-bundle/sdk-testing.js.map +7 -0
  463. package/dist/cli-bundle/sdk.js +787 -0
  464. package/dist/cli-bundle/sdk.js.map +7 -0
  465. package/dist/core/config/nested-settings.d.ts +4 -3
  466. package/dist/core/config/nested-settings.js +17 -6
  467. package/dist/core/config/nested-settings.js.map +1 -1
  468. package/dist/core/extensions/activation-summary.d.ts +6 -0
  469. package/dist/core/extensions/activation-summary.js +10 -4
  470. package/dist/core/extensions/activation-summary.js.map +1 -1
  471. package/dist/core/extensions/capability-usage.d.ts +6 -0
  472. package/dist/core/extensions/capability-usage.js +10 -4
  473. package/dist/core/extensions/capability-usage.js.map +1 -1
  474. package/dist/core/extensions/extension-types.d.ts +6 -2
  475. package/dist/core/extensions/extension-types.js +2 -2
  476. package/dist/core/extensions/extension-types.js.map +1 -1
  477. package/dist/core/extensions/loader.d.ts +3 -0
  478. package/dist/core/extensions/loader.js +11 -19
  479. package/dist/core/extensions/loader.js.map +1 -1
  480. package/dist/core/history/history-rewrite.d.ts +10 -0
  481. package/dist/core/history/history-rewrite.js +28 -4
  482. package/dist/core/history/history-rewrite.js.map +1 -1
  483. package/dist/core/item/parent-reference-policy.d.ts +9 -1
  484. package/dist/core/item/parent-reference-policy.js +28 -4
  485. package/dist/core/item/parent-reference-policy.js.map +1 -1
  486. package/dist/core/item/type-registry.d.ts +1 -0
  487. package/dist/core/item/type-registry.js +153 -177
  488. package/dist/core/item/type-registry.js.map +1 -1
  489. package/dist/core/lock/lock.d.ts +28 -1
  490. package/dist/core/lock/lock.js +254 -20
  491. package/dist/core/lock/lock.js.map +1 -1
  492. package/dist/core/search/background-refresh.js +7 -19
  493. package/dist/core/search/background-refresh.js.map +1 -1
  494. package/dist/core/search/http-client.d.ts +0 -1
  495. package/dist/core/search/http-client.js +3 -3
  496. package/dist/core/search/http-client.js.map +1 -1
  497. package/dist/core/shared/constants.js +3 -2
  498. package/dist/core/shared/constants.js.map +1 -1
  499. package/dist/core/shared/errors.d.ts +1 -0
  500. package/dist/core/shared/errors.js +2 -2
  501. package/dist/core/shared/errors.js.map +1 -1
  502. package/dist/core/shared/primitives.d.ts +12 -0
  503. package/dist/core/shared/primitives.js +29 -2
  504. package/dist/core/shared/primitives.js.map +1 -1
  505. package/dist/core/store/item-store.js +3 -3
  506. package/dist/core/store/item-store.js.map +1 -1
  507. package/dist/core/store/settings-validator.d.ts +1 -0
  508. package/dist/core/store/settings-validator.js +6 -3
  509. package/dist/core/store/settings-validator.js.map +1 -1
  510. package/dist/core/store/settings.js +3 -3
  511. package/dist/core/store/settings.js.map +1 -1
  512. package/dist/core/validate/fix-planning.d.ts +0 -2
  513. package/dist/core/validate/fix-planning.js +3 -3
  514. package/dist/core/validate/fix-planning.js.map +1 -1
  515. package/dist/sdk/cli-contracts/commander-mutation-options.js +3 -2
  516. package/dist/sdk/cli-contracts/commander-mutation-options.js.map +1 -1
  517. package/dist/sdk/cli-contracts/flag-contracts.js +5 -2
  518. package/dist/sdk/cli-contracts/flag-contracts.js.map +1 -1
  519. package/dist/sdk/cli-contracts/tool-option-contracts.js +4 -2
  520. package/dist/sdk/cli-contracts/tool-option-contracts.js.map +1 -1
  521. package/dist/sdk/cli-contracts/tool-schema.js +55 -94
  522. package/dist/sdk/cli-contracts/tool-schema.js.map +1 -1
  523. package/dist/sdk/errors.d.ts +21 -2
  524. package/dist/sdk/errors.js +8 -2
  525. package/dist/sdk/errors.js.map +1 -1
  526. package/dist/sdk/package-import-adapters.d.ts +90 -2
  527. package/dist/sdk/package-import-adapters.js +275 -3
  528. package/dist/sdk/package-import-adapters.js.map +1 -1
  529. package/dist/sdk/runtime.d.ts +1 -1
  530. package/dist/sdk/runtime.js +3 -3
  531. package/dist/sdk/runtime.js.map +1 -1
  532. package/dist/sdk/testing.js +41 -19
  533. package/dist/sdk/testing.js.map +1 -1
  534. package/dist/types.d.ts +6 -0
  535. package/dist/types.js +2 -2
  536. package/dist/types.js.map +1 -1
  537. package/docs/ARCHITECTURE.md +27 -0
  538. package/docs/CONFIGURATION.md +3 -0
  539. package/docs/README.md +1 -0
  540. package/docs/SDK_PRIMITIVE_INVENTORY.md +55 -0
  541. package/docs/TESTING.md +5 -1
  542. package/docs/examples/ci/github-actions-pm-extension-gate.yml +5 -5
  543. package/docs/examples/ci/gitlab-ci-pm-extension-gate.yml +1 -1
  544. package/docs/examples/ci/jenkins-pm-extension-gate.Jenkinsfile +1 -1
  545. package/package.json +14 -26
  546. package/packages/pm-beads/extensions/beads/package.json +3 -0
  547. package/packages/pm-beads/extensions/beads/runtime-loader.ts +50 -41
  548. package/packages/pm-beads/extensions/beads/runtime.ts +106 -223
  549. package/packages/pm-calendar/extensions/calendar/package.json +3 -0
  550. package/packages/pm-calendar/extensions/calendar/runtime.ts +21 -18
  551. package/packages/pm-command-kit/extensions/command-kit/package.json +3 -0
  552. package/packages/pm-governance-audit/extensions/governance-audit/package.json +3 -0
  553. package/packages/pm-guide-shell/extensions/guide-shell/package.json +3 -0
  554. package/packages/pm-guide-shell/extensions/guide-shell/runtime.ts +9 -11
  555. package/packages/pm-kanban/extensions/kanban/package.json +3 -0
  556. package/packages/pm-lifecycle-hooks/extensions/lifecycle-hooks/package.json +3 -0
  557. package/packages/pm-search-advanced/extensions/search-advanced/package.json +3 -0
  558. package/packages/pm-templates/extensions/templates/package.json +3 -0
  559. package/packages/pm-todos/extensions/todos/package.json +3 -0
  560. package/packages/pm-todos/extensions/todos/runtime-loader.ts +62 -72
  561. package/packages/pm-todos/extensions/todos/runtime.ts +61 -257
  562. package/plugins/pm-claude/scripts/pm-mcp-server.mjs +73 -31
  563. package/plugins/pm-codex/scripts/pm-mcp-server.mjs +80 -34
  564. package/scripts/bundle-cli.mjs +12 -2
  565. package/scripts/install.ps1 +7 -7
  566. package/dist/cli-bundle/chunks/activity-BIML7K2D.js +0 -16
  567. package/dist/cli-bundle/chunks/chunk-32IUNTG4.js.map +0 -1
  568. package/dist/cli-bundle/chunks/chunk-4EXFFP7T.js.map +0 -7
  569. package/dist/cli-bundle/chunks/chunk-4WB6S4YX.js.map +0 -1
  570. package/dist/cli-bundle/chunks/chunk-572FKBRL.js.map +0 -1
  571. package/dist/cli-bundle/chunks/chunk-67LARBDL.js.map +0 -1
  572. package/dist/cli-bundle/chunks/chunk-6CDCWKSX.js.map +0 -1
  573. package/dist/cli-bundle/chunks/chunk-6KRFL33E.js.map +0 -7
  574. package/dist/cli-bundle/chunks/chunk-AJHYQCBJ.js.map +0 -7
  575. package/dist/cli-bundle/chunks/chunk-B4O5S7I3.js.map +0 -7
  576. package/dist/cli-bundle/chunks/chunk-CXR3CMBQ.js.map +0 -1
  577. package/dist/cli-bundle/chunks/chunk-ECU6MMTQ.js.map +0 -1
  578. package/dist/cli-bundle/chunks/chunk-EJ2OCBHF.js.map +0 -1
  579. package/dist/cli-bundle/chunks/chunk-ERG65A2L.js.map +0 -1
  580. package/dist/cli-bundle/chunks/chunk-FUFFPIYA.js.map +0 -7
  581. package/dist/cli-bundle/chunks/chunk-HB4FAT3O.js.map +0 -7
  582. package/dist/cli-bundle/chunks/chunk-HQAF23Q2.js.map +0 -7
  583. package/dist/cli-bundle/chunks/chunk-JPATY4SE.js.map +0 -7
  584. package/dist/cli-bundle/chunks/chunk-KHVGM5CS.js.map +0 -7
  585. package/dist/cli-bundle/chunks/chunk-KS6ATO47.js.map +0 -7
  586. package/dist/cli-bundle/chunks/chunk-L4SLHV6G.js.map +0 -1
  587. package/dist/cli-bundle/chunks/chunk-MHRS5FUX.js.map +0 -1
  588. package/dist/cli-bundle/chunks/chunk-NZ7QIUP5.js.map +0 -7
  589. package/dist/cli-bundle/chunks/chunk-OGLGI22K.js.map +0 -1
  590. package/dist/cli-bundle/chunks/chunk-RAHINBVP.js.map +0 -7
  591. package/dist/cli-bundle/chunks/chunk-RJH5VQHW.js.map +0 -1
  592. package/dist/cli-bundle/chunks/chunk-SYE6WMV6.js.map +0 -1
  593. package/dist/cli-bundle/chunks/chunk-TQ6AX5SQ.js.map +0 -7
  594. package/dist/cli-bundle/chunks/chunk-U3S2B7TA.js.map +0 -1
  595. package/dist/cli-bundle/chunks/chunk-WRYERRZX.js.map +0 -7
  596. package/dist/cli-bundle/chunks/chunk-WYOIIFSE.js.map +0 -7
  597. package/dist/cli-bundle/chunks/chunk-XRYSCRZR.js.map +0 -7
  598. package/dist/cli-bundle/chunks/chunk-YF746GTH.js.map +0 -1
  599. package/dist/cli-bundle/chunks/chunk-YSDFIY7N.js.map +0 -1
  600. package/dist/cli-bundle/chunks/chunk-Z4DGFQDH.js.map +0 -1
  601. package/dist/cli-bundle/chunks/claim-2BGBGSVI.js.map +0 -7
  602. package/dist/cli-bundle/chunks/claim-5GU7OE67.js.map +0 -1
  603. package/dist/cli-bundle/chunks/close-6YODBUIV.js +0 -14
  604. package/dist/cli-bundle/chunks/create-Z7YCH3BE.js +0 -28
  605. package/dist/cli-bundle/chunks/files-6SGKHS6O.js.map +0 -1
  606. package/dist/cli-bundle/chunks/files-FUYPSOFJ.js.map +0 -7
  607. package/dist/cli-bundle/chunks/history-CGNQJXFE.js +0 -18
  608. package/dist/cli-bundle/chunks/history-compact-LOED43R3.js.map +0 -7
  609. package/dist/cli-bundle/chunks/history-compact-V5DNAQHH.js.map +0 -1
  610. package/dist/cli-bundle/chunks/history-redact-N3JK7VBW.js +0 -19
  611. package/dist/cli-bundle/chunks/history-repair-4WVBVHFR.js.map +0 -1
  612. package/dist/cli-bundle/chunks/history-repair-PGYQJMGD.js.map +0 -7
  613. package/dist/cli-bundle/chunks/init-4GESW7RM.js +0 -26
  614. package/dist/cli-bundle/chunks/init-XIDPABA4.js +0 -22
  615. package/dist/cli-bundle/chunks/profile-3TOTMUR4.js +0 -1243
  616. package/dist/cli-bundle/chunks/profile-3TOTMUR4.js.map +0 -7
  617. package/dist/cli-bundle/chunks/profile-WIQY2KCV.js +0 -1205
  618. package/dist/cli-bundle/chunks/profile-WIQY2KCV.js.map +0 -1
  619. package/dist/cli-bundle/chunks/register-list-query-GAPQ6DM3.js.map +0 -1
  620. package/dist/cli-bundle/chunks/restore-EXHU34EU.js +0 -17
  621. package/dist/cli-bundle/chunks/test-SY76DZTO.js +0 -35
  622. package/dist/cli-bundle/chunks/update-A7EICML6.js +0 -24
  623. package/dist/cli-bundle/chunks/update-IKJZWLQC.js +0 -28
  624. package/dist/cli-bundle/chunks/validate-GAJ6FUSI.js.map +0 -1
  625. package/dist/cli-bundle/chunks/validate-NRY6MFXN.js.map +0 -7
  626. /package/dist/cli-bundle/chunks/{activity-BIML7K2D.js.map → activity-4XQIDNM5.js.map} +0 -0
  627. /package/dist/cli-bundle/chunks/{activity-5YWLSPGE.js.map → activity-YKAKZTZ4.js.map} +0 -0
  628. /package/dist/cli-bundle/chunks/{chunk-QCDTQCMW.js.map → chunk-5JE6SMYS.js.map} +0 -0
  629. /package/dist/cli-bundle/chunks/{chunk-5JIWFWOZ.js.map → chunk-N6DNM2FA.js.map} +0 -0
  630. /package/dist/cli-bundle/chunks/{chunk-GVJE5T7Q.js.map → chunk-NER3KUUS.js.map} +0 -0
  631. /package/dist/cli-bundle/chunks/{chunk-MEZZZBYX.js.map → chunk-PDXT6Q55.js.map} +0 -0
  632. /package/dist/cli-bundle/chunks/{chunk-YVKZ3ANP.js.map → chunk-RX3HQSYG.js.map} +0 -0
  633. /package/dist/cli-bundle/chunks/{chunk-LOWVNZBZ.js.map → chunk-S4APD35C.js.map} +0 -0
  634. /package/dist/cli-bundle/chunks/{chunk-6NYJGMTY.js.map → chunk-T35XLYZF.js.map} +0 -0
  635. /package/dist/cli-bundle/chunks/{chunk-BE2SR6QL.js.map → chunk-TT42JUMF.js.map} +0 -0
  636. /package/dist/cli-bundle/chunks/{chunk-SU3TB4NS.js.map → chunk-YOF5VPKM.js.map} +0 -0
  637. /package/dist/cli-bundle/chunks/{chunk-5E7N4T2Z.js.map → chunk-ZMD35NYG.js.map} +0 -0
  638. /package/dist/cli-bundle/chunks/{close-AFVKPR57.js.map → close-3YRR3XY6.js.map} +0 -0
  639. /package/dist/cli-bundle/chunks/{close-6YODBUIV.js.map → close-OB2Y4QP5.js.map} +0 -0
  640. /package/dist/cli-bundle/chunks/{context-PKCEHQY3.js.map → context-4OQGIPSO.js.map} +0 -0
  641. /package/dist/cli-bundle/chunks/{context-OYXRGY7S.js.map → context-WLA6IAWE.js.map} +0 -0
  642. /package/dist/cli-bundle/chunks/{create-Z7YCH3BE.js.map → contracts-HXJLKCRI.js.map} +0 -0
  643. /package/dist/cli-bundle/chunks/{create-PM45M6PE.js.map → contracts-OJEXMKVW.js.map} +0 -0
  644. /package/dist/cli-bundle/chunks/{extension-BNINIMT7.js.map → create-WKOZKPQR.js.map} +0 -0
  645. /package/dist/cli-bundle/chunks/{extension-QWE4YYK5.js.map → create-XWWQFQ6S.js.map} +0 -0
  646. /package/dist/cli-bundle/chunks/{history-CGNQJXFE.js.map → extension-NBAH62ML.js.map} +0 -0
  647. /package/dist/cli-bundle/chunks/{history-SGRRS72R.js.map → extension-ZF6ZZPOU.js.map} +0 -0
  648. /package/dist/cli-bundle/chunks/{history-redact-N3JK7VBW.js.map → history-RYKLC72X.js.map} +0 -0
  649. /package/dist/cli-bundle/chunks/{history-redact-IRL7WJ3E.js.map → history-SGPYRAFT.js.map} +0 -0
  650. /package/dist/cli-bundle/chunks/{init-XIDPABA4.js.map → history-redact-4H3FCKF3.js.map} +0 -0
  651. /package/dist/cli-bundle/chunks/{init-4GESW7RM.js.map → history-redact-54ICFKXM.js.map} +0 -0
  652. /package/dist/cli-bundle/chunks/{list-D7BF5CL2.js.map → init-RPIPQUNV.js.map} +0 -0
  653. /package/dist/cli-bundle/chunks/{list-472TIOVK.js.map → init-SKQAESQS.js.map} +0 -0
  654. /package/dist/cli-bundle/chunks/{restore-EXHU34EU.js.map → list-64LHZ3HM.js.map} +0 -0
  655. /package/dist/cli-bundle/chunks/{restore-44IHMMZZ.js.map → list-7LXBTEKI.js.map} +0 -0
  656. /package/dist/cli-bundle/chunks/{schema-VBCELP5G.js.map → restore-PXOFL6AM.js.map} +0 -0
  657. /package/dist/cli-bundle/chunks/{schema-IB2NZZWD.js.map → restore-YJ2ET6AT.js.map} +0 -0
  658. /package/dist/cli-bundle/chunks/{search-R227JOL6.js.map → schema-2PUXCZ25.js.map} +0 -0
  659. /package/dist/cli-bundle/chunks/{search-7UBETML4.js.map → schema-Y6DXXK2F.js.map} +0 -0
  660. /package/dist/cli-bundle/chunks/{test-QY44WAMR.js.map → search-3S72CTD6.js.map} +0 -0
  661. /package/dist/cli-bundle/chunks/{test-SY76DZTO.js.map → search-WNUNBQXO.js.map} +0 -0
  662. /package/dist/cli-bundle/chunks/{update-IKJZWLQC.js.map → test-DQ2QFJ7W.js.map} +0 -0
  663. /package/dist/cli-bundle/chunks/{update-A7EICML6.js.map → test-W7QBLVJS.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sources":["cli/commands/update.ts"],"sourceRoot":"/","sourcesContent":["/**\n * @module cli/commands/update\n *\n * Implements the pm update command surface and its agent-facing runtime behavior.\n */\nimport { pathExists } from \"../../core/fs/fs-utils.js\";\nimport {\n canonicalizeCommandOptionKey,\n commandOptionFlagLabel,\n resolveItemTypeRegistry,\n resolveCommandOptionPolicyState,\n resolveTypeDefinition,\n resolveTypeName,\n validateTypeOptions,\n} from \"../../core/item/type-registry.js\";\nimport { normalizeItemId } from \"../../core/item/id.js\";\nimport { toItemRecord } from \"../../core/item/item-record.js\";\nimport { buildInvalidTypeError } from \"../../core/schema/item-types-file.js\";\nimport {\n normalizeParentReferenceValue,\n validateMissingParentReference,\n} from \"../../core/item/parent-reference-policy.js\";\nimport { validateSprintOrReleaseValue } from \"../../core/item/sprint-release-format.js\";\nimport {\n applyTagRemovals,\n assertNoUnknownCsvKeys,\n createStdinTokenResolver,\n looksLikeGenericKeyValueEntry,\n mergeAdditiveTags,\n parseCsvKv,\n parseOptionalNumber,\n parseTags,\n} from \"../../core/item/parse.js\";\nimport { resolvePriority } from \"../../core/item/priority.js\";\nimport { normalizeStatusInput } from \"../../core/item/status.js\";\nimport { collectRuntimeUpdateFieldValues } from \"../../core/schema/runtime-field-values.js\";\nimport {\n resolveItemTypesFilePath,\n resolveRuntimeFieldRegistry,\n resolveRuntimeStatusRegistry,\n type RuntimeFieldRegistry,\n type RuntimeStatusRegistry,\n} from \"../../core/schema/runtime-schema.js\";\nimport {\n describeAllowedTransitions,\n evaluateTransition,\n resolveTypeWorkflows,\n type NormalizedTypeWorkflow,\n} from \"../../core/schema/type-workflows.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 { stableValueEquals } from \"../../core/shared/serialization.js\";\nimport { resolveIsoOrRelative } from \"../../core/shared/time.js\";\nimport { getActiveExtensionRegistrations } from \"../../core/extensions/index.js\";\nimport {\n collectRegisteredItemFieldNames,\n applyRegisteredItemFieldDefaultsAndValidation,\n parseRegisteredItemFieldAssignments,\n} from \"../../core/extensions/item-fields.js\";\nimport { buildItemNotFoundError, locateItem, mutateItem, readLocatedItem } from \"../../core/store/item-store.js\";\nimport { getSettingsPath, resolvePmRoot } from \"../../core/store/paths.js\";\nimport { readSettings } from \"../../core/store/settings.js\";\nimport { runClose } from \"./close.js\";\nimport {\n normalizeRiskInput,\n normalizeSeverityInput,\n parseConfidenceInput,\n parseRegressionInput,\n} from \"./metadata-normalizers.js\";\nimport {\n applyLegacyNoneCollectionNormalizers,\n assertNoLegacyNoneToken,\n assertNoLegacyNoneTokens,\n isLegacyNoneToken,\n type LegacyNoneCollectionNormalizer,\n} from \"./legacy-none-tokens.js\";\nimport { ensureEnumValue as ensureEnum } from \"./recurrence-parsers.js\";\nimport {\n parseEventEntries,\n parseReminderEntries,\n parseTypeOptionEntries,\n} from \"./repeatable-metadata-parsers.js\";\nimport type {\n Comment,\n Dependency,\n GovernanceWorkflowEnforcement,\n ItemFormat,\n ItemDocument,\n ItemFrontMatter,\n ItemStatus,\n LinkedDoc,\n LinkedFile,\n LinkedTest,\n LogNote,\n} from \"../../types/index.js\";\nimport {\n DEPENDENCY_KIND_VALUES,\n ISSUE_SEVERITY_VALUES,\n RISK_VALUES,\n} from \"../../types/index.js\";\nimport { parseDocs, parseFiles, parseLogSeed, parseTests } from \"./create.js\";\nimport {\n COMMON_UNSET_FIELD_DEFINITIONS_AFTER_CLOSE_REASON_BEFORE_AUTHOR,\n COMMON_UNSET_FIELD_DEFINITIONS_AFTER_AUTHOR,\n COMMON_UNSET_FIELD_DEFINITIONS_BEFORE_CLOSE_REASON,\n resolveRuntimeUnsetFieldDefinition,\n type CommandUnsetFieldDefinition,\n} from \"./shared-unset-fields.js\";\n\n/**\n * Documents the update command options payload exchanged by command, SDK, and package integrations.\n */\nexport interface UpdateCommandOptions {\n title?: string;\n description?: string;\n body?: string;\n status?: string;\n closeReason?: string;\n priority?: string;\n type?: string;\n tags?: string;\n addTags?: string[];\n removeTags?: string[];\n deadline?: string;\n estimatedMinutes?: string;\n acceptanceCriteria?: string;\n definitionOfReady?: string;\n order?: string;\n rank?: string;\n goal?: string;\n objective?: string;\n value?: string;\n impact?: string;\n outcome?: string;\n whyNow?: string;\n author?: string;\n message?: string;\n force?: boolean;\n allowAuditUpdate?: boolean;\n allowAuditDepUpdate?: boolean;\n assignee?: string;\n parent?: string;\n reviewer?: string;\n risk?: string;\n confidence?: string;\n sprint?: string;\n release?: string;\n blockedBy?: string;\n blockedReason?: string;\n unblockNote?: string;\n reporter?: string;\n severity?: string;\n environment?: string;\n reproSteps?: string;\n resolution?: string;\n expectedResult?: string;\n actualResult?: string;\n affectedVersion?: string;\n fixedVersion?: string;\n component?: string;\n regression?: string;\n customerImpact?: string;\n dep?: string[];\n depRemove?: string[];\n replaceDeps?: boolean;\n replaceTests?: boolean;\n runtimeFieldCommands?: Array<\"update\" | \"update_many\">;\n comment?: string[];\n note?: string[];\n learning?: string[];\n file?: string[];\n test?: string[];\n doc?: string[];\n reminder?: string[];\n event?: string[];\n typeOption?: string[];\n field?: string[];\n unset?: string[];\n clearDeps?: boolean;\n clearComments?: boolean;\n clearNotes?: boolean;\n clearLearnings?: boolean;\n clearFiles?: boolean;\n clearTests?: boolean;\n clearDocs?: boolean;\n clearReminders?: boolean;\n clearEvents?: boolean;\n clearTypeOptions?: boolean;\n [key: string]: unknown;\n}\n\n/**\n * Documents the update result payload exchanged by command, SDK, and package integrations.\n */\nexport interface UpdateResult {\n item: Record<string, unknown>;\n changed_fields: string[];\n warnings: string[];\n audit_update?: boolean;\n}\n\ninterface UpdateUnsetFieldDefinition {\n optionKey: string;\n frontMatterKey: string;\n}\n\nconst UPDATE_UNSET_FIELD_DEFINITIONS: readonly CommandUnsetFieldDefinition[] = [\n ...COMMON_UNSET_FIELD_DEFINITIONS_BEFORE_CLOSE_REASON,\n { canonical: \"close-reason\", aliases: [\"close_reason\", \"close-reason\"], optionKey: \"closeReason\", frontMatterKey: \"close_reason\" },\n ...COMMON_UNSET_FIELD_DEFINITIONS_AFTER_CLOSE_REASON_BEFORE_AUTHOR,\n ...COMMON_UNSET_FIELD_DEFINITIONS_AFTER_AUTHOR,\n];\n\nconst UPDATE_UNSET_ALIAS_MAP: Map<string, UpdateUnsetFieldDefinition> = (() => {\n const map = new Map<string, UpdateUnsetFieldDefinition>();\n for (const definition of UPDATE_UNSET_FIELD_DEFINITIONS) {\n for (const alias of definition.aliases) {\n map.set(alias, {\n optionKey: definition.optionKey,\n frontMatterKey: definition.frontMatterKey,\n });\n }\n }\n return map;\n})();\n\nconst UPDATE_OPTION_KEY_TO_UNSET_CANONICAL = new Map<string, string>(\n UPDATE_UNSET_FIELD_DEFINITIONS.map((definition) => [definition.optionKey, definition.canonical]),\n);\n\nconst UPDATE_UNSET_SUPPORTED_CANONICAL_FIELDS = UPDATE_UNSET_FIELD_DEFINITIONS.map((definition) => definition.canonical)\n .sort((left, right) => left.localeCompare(right))\n .join(\", \");\n\nconst AUDIT_UPDATE_DISALLOWED_UNSET_FRONT_MATTER_KEYS = new Set<string>([\n \"close_reason\",\n \"assignee\",\n \"parent\",\n \"blocked_by\",\n \"blocked_reason\",\n \"unblock_note\",\n \"dependencies\",\n \"comments\",\n \"notes\",\n \"learnings\",\n \"files\",\n \"tests\",\n \"docs\",\n \"reminders\",\n \"events\",\n]);\n\nfunction toAuthor(candidate: string | undefined, defaultAuthor: string): string {\n const resolved = candidate ?? process.env.PM_AUTHOR ?? defaultAuthor;\n const trimmed = resolved.trim();\n return trimmed || \"unknown\";\n}\n\nconst UPDATE_LEGACY_NONE_COLLECTION_NORMALIZERS: ReadonlyArray<LegacyNoneCollectionNormalizer<UpdateCommandOptions>> = [\n { optionKey: \"dep\", clearFlagKey: \"clearDeps\", valueFlag: \"--dep\", clearFlag: \"--clear-deps\", disableFlagKey: \"replaceDeps\" },\n { optionKey: \"comment\", clearFlagKey: \"clearComments\", valueFlag: \"--comment\", clearFlag: \"--clear-comments\" },\n { optionKey: \"note\", clearFlagKey: \"clearNotes\", valueFlag: \"--note\", clearFlag: \"--clear-notes\" },\n { optionKey: \"learning\", clearFlagKey: \"clearLearnings\", valueFlag: \"--learning\", clearFlag: \"--clear-learnings\" },\n { optionKey: \"file\", clearFlagKey: \"clearFiles\", valueFlag: \"--file\", clearFlag: \"--clear-files\" },\n { optionKey: \"test\", clearFlagKey: \"clearTests\", valueFlag: \"--test\", clearFlag: \"--clear-tests\", disableFlagKey: \"replaceTests\" },\n { optionKey: \"doc\", clearFlagKey: \"clearDocs\", valueFlag: \"--doc\", clearFlag: \"--clear-docs\" },\n { optionKey: \"reminder\", clearFlagKey: \"clearReminders\", valueFlag: \"--reminder\", clearFlag: \"--clear-reminders\" },\n { optionKey: \"event\", clearFlagKey: \"clearEvents\", valueFlag: \"--event\", clearFlag: \"--clear-events\" },\n { optionKey: \"typeOption\", clearFlagKey: \"clearTypeOptions\", valueFlag: \"--type-option\", clearFlag: \"--clear-type-options\" },\n];\n\nfunction normalizeLegacyNoneUpdateOptions(options: UpdateCommandOptions): UpdateCommandOptions {\n const normalized: UpdateCommandOptions = {\n ...options,\n unset: options.unset ? [...options.unset] : undefined,\n };\n /* c8 ignore start -- unset dedupe helper branch permutations are covered by legacy option compatibility suites. */\n const appendUnsetTarget = (value: string): void => {\n const current = normalized.unset ? [...normalized.unset] : [];\n if (!current.includes(value)) {\n current.push(value);\n }\n normalized.unset = current;\n };\n /* c8 ignore stop */\n\n const scalarOptionKeys = new Set<string>([...UPDATE_OPTION_KEY_TO_UNSET_CANONICAL.keys(), \"rank\"]);\n for (const optionKey of scalarOptionKeys) {\n const candidate = normalized[optionKey];\n if (typeof candidate !== \"string\" || !isLegacyNoneToken(candidate)) {\n continue;\n }\n /* c8 ignore start -- rank alias canonicalization is exercised in legacy-option compatibility tests. */\n const canonicalUnset = optionKey === \"rank\" ? \"order\" : (UPDATE_OPTION_KEY_TO_UNSET_CANONICAL.get(optionKey) ?? optionKey);\n appendUnsetTarget(canonicalUnset);\n normalized[optionKey] = undefined;\n /* c8 ignore stop */\n }\n\n return applyLegacyNoneCollectionNormalizers(normalized, UPDATE_LEGACY_NONE_COLLECTION_NORMALIZERS);\n}\n\nfunction parseUpdateUnsetTargets(\n raw: string[] | undefined,\n runtimeFieldRegistry?: RuntimeFieldRegistry,\n extensionFieldNames: readonly string[] = [],\n): { frontMatterKeys: Set<string>; optionKeys: Set<string> } {\n const frontMatterKeys = new Set<string>();\n const optionKeys = new Set<string>();\n if (!raw || raw.length === 0) {\n return { frontMatterKeys, optionKeys };\n }\n\n for (const entry of raw) {\n const trimmed = entry.trim().toLowerCase();\n if (!trimmed) {\n throw new PmCliError(\"--unset values must not be empty\", EXIT_CODE.USAGE);\n }\n if (isLegacyNoneToken(trimmed)) {\n throw new PmCliError(\n '--unset no longer accepts \"none\" or \"null\". Specify concrete field names such as --unset deadline',\n EXIT_CODE.USAGE,\n );\n }\n const extensionFieldName = extensionFieldNames.find((fieldName) => {\n const normalizedFieldName = fieldName.toLowerCase();\n return (\n normalizedFieldName === trimmed ||\n normalizedFieldName.replaceAll(\"_\", \"-\") === trimmed ||\n normalizedFieldName.replaceAll(\"-\", \"_\") === trimmed\n );\n });\n const definition = UPDATE_UNSET_ALIAS_MAP.get(trimmed) ??\n resolveRuntimeUnsetFieldDefinition(trimmed, \"update\", runtimeFieldRegistry) ??\n (extensionFieldName ? { optionKey: \"field\", frontMatterKey: extensionFieldName } : undefined);\n if (!definition) {\n throw new PmCliError(\n `Unsupported --unset field \"${entry}\". Supported fields: ${UPDATE_UNSET_SUPPORTED_CANONICAL_FIELDS}`,\n EXIT_CODE.USAGE,\n );\n }\n frontMatterKeys.add(definition.frontMatterKey);\n optionKeys.add(definition.optionKey);\n }\n\n return { frontMatterKeys, optionKeys };\n}\n\n// Restricted append-style flags have dedicated commands with their own\n// audit/override semantics; map each one to its exact replacement invocation so\n// audit-scope errors tell the agent how to retry instead of dead-ending. The\n// evidence append flags are allowed by --allow-audit-update, but still used by\n// narrower scopes such as --allow-audit-dep-update.\nconst AUDIT_RESTRICTED_FLAG_REPLACEMENTS: ReadonlyMap<string, (id: string) => string> = new Map([\n [\"--comment\", (id: string) => `pm comments ${id} --add \"<text>\" --allow-audit-comment`],\n [\"--file\", (id: string) => `pm files ${id} --add \"path=<path>,scope=<scope>,note=<note>\" --force`],\n [\"--doc\", (id: string) => `pm docs ${id} --add \"path=<path>,scope=<scope>,note=<note>\" --force`],\n]);\n\nfunction buildAuditScopeRestrictedOptionsError(params: {\n id: string;\n code: string;\n message: string;\n required: string;\n why: string;\n disallowedFlags: string[];\n}): PmCliError {\n // Only surface replacement commands for restricted flags the caller actually\n // passed, so the guidance is an exact retry path.\n const replacementCommands = params.disallowedFlags\n .flatMap((flag) => {\n const replacement = AUDIT_RESTRICTED_FLAG_REPLACEMENTS.get(flag);\n return replacement ? [replacement(params.id)] : [];\n });\n const replacementSteps = params.disallowedFlags\n .flatMap((flag) => {\n const replacement = AUDIT_RESTRICTED_FLAG_REPLACEMENTS.get(flag);\n return replacement ? [`Replace ${flag} with: ${replacement(params.id)}`] : [];\n });\n return new PmCliError(params.message, EXIT_CODE.USAGE, {\n code: params.code,\n required: params.required,\n why: params.why,\n ...(replacementCommands.length > 0 ? { examples: replacementCommands } : {}),\n nextSteps: [\n `Re-run without: ${params.disallowedFlags.join(\", \")}`,\n ...replacementSteps,\n ],\n });\n}\n\nfunction enforceAllowAuditUpdateScope(id: string, options: UpdateCommandOptions, clearFrontMatterKeys: Set<string>): void {\n const allowAuditUpdate = options.allowAuditUpdate === true;\n const allowAuditDepUpdate = options.allowAuditDepUpdate === true;\n if (!allowAuditUpdate && !allowAuditDepUpdate) {\n return;\n }\n if (allowAuditUpdate && allowAuditDepUpdate) {\n throw new PmCliError(\n \"Choose either --allow-audit-update or --allow-audit-dep-update; these override modes are mutually exclusive.\",\n EXIT_CODE.USAGE,\n );\n }\n const pushIf = (condition: boolean, flag: string, list: string[]): void => {\n if (condition) {\n list.push(flag);\n }\n };\n if (allowAuditDepUpdate) {\n const disallowedFlags: string[] = [];\n pushIf(options.title !== undefined, \"--title\", disallowedFlags);\n pushIf(options.description !== undefined, \"--description\", disallowedFlags);\n pushIf(options.body !== undefined, \"--body\", disallowedFlags);\n pushIf(options.status !== undefined, \"--status\", disallowedFlags);\n pushIf(options.closeReason !== undefined, \"--close-reason\", disallowedFlags);\n pushIf(options.priority !== undefined, \"--priority\", disallowedFlags);\n pushIf(options.type !== undefined, \"--type\", disallowedFlags);\n pushIf(options.tags !== undefined, \"--tags\", disallowedFlags);\n pushIf(Array.isArray(options.addTags) && options.addTags.length > 0, \"--add-tags\", disallowedFlags);\n pushIf(Array.isArray(options.removeTags) && options.removeTags.length > 0, \"--remove-tags\", disallowedFlags);\n pushIf(options.deadline !== undefined, \"--deadline\", disallowedFlags);\n pushIf(options.estimatedMinutes !== undefined, \"--estimate\", disallowedFlags);\n pushIf(options.acceptanceCriteria !== undefined, \"--acceptance-criteria\", disallowedFlags);\n pushIf(options.definitionOfReady !== undefined, \"--definition-of-ready\", disallowedFlags);\n pushIf(options.order !== undefined || options.rank !== undefined, \"--order/--rank\", disallowedFlags);\n pushIf(options.goal !== undefined, \"--goal\", disallowedFlags);\n pushIf(options.objective !== undefined, \"--objective\", disallowedFlags);\n pushIf(options.value !== undefined, \"--value\", disallowedFlags);\n pushIf(options.impact !== undefined, \"--impact\", disallowedFlags);\n pushIf(options.outcome !== undefined, \"--outcome\", disallowedFlags);\n pushIf(options.whyNow !== undefined, \"--why-now\", disallowedFlags);\n pushIf(options.assignee !== undefined, \"--assignee\", disallowedFlags);\n pushIf(options.parent !== undefined, \"--parent\", disallowedFlags);\n pushIf(options.reviewer !== undefined, \"--reviewer\", disallowedFlags);\n pushIf(options.risk !== undefined, \"--risk\", disallowedFlags);\n pushIf(options.confidence !== undefined, \"--confidence\", disallowedFlags);\n pushIf(options.sprint !== undefined, \"--sprint\", disallowedFlags);\n pushIf(options.release !== undefined, \"--release\", disallowedFlags);\n pushIf(options.blockedBy !== undefined, \"--blocked-by\", disallowedFlags);\n pushIf(options.blockedReason !== undefined, \"--blocked-reason\", disallowedFlags);\n pushIf(options.unblockNote !== undefined, \"--unblock-note\", disallowedFlags);\n pushIf(options.reporter !== undefined, \"--reporter\", disallowedFlags);\n pushIf(options.severity !== undefined, \"--severity\", disallowedFlags);\n pushIf(options.environment !== undefined, \"--environment\", disallowedFlags);\n pushIf(options.reproSteps !== undefined, \"--repro-steps\", disallowedFlags);\n pushIf(options.resolution !== undefined, \"--resolution\", disallowedFlags);\n pushIf(options.expectedResult !== undefined, \"--expected-result\", disallowedFlags);\n pushIf(options.actualResult !== undefined, \"--actual-result\", disallowedFlags);\n pushIf(options.affectedVersion !== undefined, \"--affected-version\", disallowedFlags);\n pushIf(options.fixedVersion !== undefined, \"--fixed-version\", disallowedFlags);\n pushIf(options.component !== undefined, \"--component\", disallowedFlags);\n pushIf(options.regression !== undefined, \"--regression\", disallowedFlags);\n pushIf(options.customerImpact !== undefined, \"--customer-impact\", disallowedFlags);\n pushIf(options.depRemove !== undefined, \"--dep-remove\", disallowedFlags);\n pushIf(options.replaceDeps === true, \"--replace-deps\", disallowedFlags);\n pushIf(options.replaceTests === true, \"--replace-tests\", disallowedFlags);\n pushIf(options.comment !== undefined, \"--comment\", disallowedFlags);\n pushIf(options.note !== undefined, \"--note\", disallowedFlags);\n pushIf(options.learning !== undefined, \"--learning\", disallowedFlags);\n pushIf(options.file !== undefined, \"--file\", disallowedFlags);\n pushIf(options.test !== undefined, \"--test\", disallowedFlags);\n pushIf(options.doc !== undefined, \"--doc\", disallowedFlags);\n pushIf(options.reminder !== undefined, \"--reminder\", disallowedFlags);\n pushIf(options.event !== undefined, \"--event\", disallowedFlags);\n pushIf(options.typeOption !== undefined, \"--type-option\", disallowedFlags);\n pushIf(options.clearDeps === true, \"--clear-deps\", disallowedFlags);\n pushIf(options.clearComments === true, \"--clear-comments\", disallowedFlags);\n pushIf(options.clearNotes === true, \"--clear-notes\", disallowedFlags);\n pushIf(options.clearLearnings === true, \"--clear-learnings\", disallowedFlags);\n pushIf(options.clearFiles === true, \"--clear-files\", disallowedFlags);\n pushIf(options.clearTests === true, \"--clear-tests\", disallowedFlags);\n pushIf(options.clearDocs === true, \"--clear-docs\", disallowedFlags);\n pushIf(options.clearReminders === true, \"--clear-reminders\", disallowedFlags);\n pushIf(options.clearEvents === true, \"--clear-events\", disallowedFlags);\n pushIf(options.clearTypeOptions === true, \"--clear-type-options\", disallowedFlags);\n pushIf(options.force === true, \"--force\", disallowedFlags);\n pushIf(clearFrontMatterKeys.size > 0, \"--unset\", disallowedFlags);\n if (options.dep === undefined || options.dep.length === 0) {\n throw new PmCliError(\"--allow-audit-dep-update requires at least one --dep value\", EXIT_CODE.USAGE);\n }\n if (disallowedFlags.length > 0) {\n throw buildAuditScopeRestrictedOptionsError({\n id,\n code: \"audit_dep_update_restricted_options\",\n message: `--allow-audit-dep-update supports append-only dependency additions via --dep. Remove restricted options: ${disallowedFlags.join(\", \")}`,\n required: \"Pass only --dep additions (plus --message/--author) when using --allow-audit-dep-update.\",\n why: \"--allow-audit-dep-update is a narrow non-owner override scoped to append-only dependency additions; every other mutation keeps its normal ownership rules.\",\n disallowedFlags,\n });\n }\n return;\n }\n\n const disallowedFlags: string[] = [];\n pushIf(options.status !== undefined, \"--status\", disallowedFlags);\n pushIf(options.closeReason !== undefined, \"--close-reason\", disallowedFlags);\n pushIf(options.assignee !== undefined, \"--assignee\", disallowedFlags);\n pushIf(options.parent !== undefined, \"--parent\", disallowedFlags);\n pushIf(options.blockedBy !== undefined, \"--blocked-by\", disallowedFlags);\n pushIf(options.blockedReason !== undefined, \"--blocked-reason\", disallowedFlags);\n pushIf(options.unblockNote !== undefined, \"--unblock-note\", disallowedFlags);\n pushIf(options.dep !== undefined, \"--dep\", disallowedFlags);\n pushIf(options.depRemove !== undefined, \"--dep-remove\", disallowedFlags);\n pushIf(options.replaceDeps === true, \"--replace-deps\", disallowedFlags);\n pushIf(options.replaceTests === true, \"--replace-tests\", disallowedFlags);\n pushIf(options.note !== undefined, \"--note\", disallowedFlags);\n pushIf(options.learning !== undefined, \"--learning\", disallowedFlags);\n pushIf(options.test !== undefined, \"--test\", disallowedFlags);\n pushIf(options.reminder !== undefined, \"--reminder\", disallowedFlags);\n pushIf(options.event !== undefined, \"--event\", disallowedFlags);\n pushIf(options.clearDeps === true, \"--clear-deps\", disallowedFlags);\n pushIf(options.clearComments === true, \"--clear-comments\", disallowedFlags);\n pushIf(options.clearNotes === true, \"--clear-notes\", disallowedFlags);\n pushIf(options.clearLearnings === true, \"--clear-learnings\", disallowedFlags);\n pushIf(options.clearFiles === true, \"--clear-files\", disallowedFlags);\n pushIf(options.clearTests === true, \"--clear-tests\", disallowedFlags);\n pushIf(options.clearDocs === true, \"--clear-docs\", disallowedFlags);\n pushIf(options.clearReminders === true, \"--clear-reminders\", disallowedFlags);\n pushIf(options.clearEvents === true, \"--clear-events\", disallowedFlags);\n\n /* c8 ignore start -- audit unset ordering fallback is validated by audit-governance integration coverage. */\n const disallowedUnset = [...clearFrontMatterKeys]\n .filter((field) => AUDIT_UPDATE_DISALLOWED_UNSET_FRONT_MATTER_KEYS.has(field))\n .sort((left, right) => left.localeCompare(right))\n .map((field) => `--unset ${field.replaceAll(\"_\", \"-\")}`);\n /* c8 ignore stop */\n disallowedFlags.push(...disallowedUnset);\n\n if (disallowedFlags.length > 0) {\n throw buildAuditScopeRestrictedOptionsError({\n id,\n code: \"audit_update_restricted_options\",\n message: `--allow-audit-update only supports non-lifecycle metadata fields and evidence appends. Remove restricted options: ${disallowedFlags.join(\", \")}`,\n required: \"Limit --allow-audit-update to non-lifecycle metadata fields plus append-only --comment/--file/--doc evidence; route restricted appends and lifecycle changes through their dedicated commands.\",\n why: \"--allow-audit-update is a non-owner override scoped to metadata audits and append-only evidence; lifecycle, ownership, dependency mutations, restricted append fields, and clear/replace operations keep their normal ownership rules.\",\n disallowedFlags,\n });\n }\n}\n\n/* c8 ignore start -- lifecycle/dependency edge branches are exercised by dedicated update workflow integration tests. */\nfunction parseStatus(value: string, statusRegistry: RuntimeStatusRegistry): ItemStatus {\n const normalized = normalizeStatusInput(value, statusRegistry);\n if (!normalized) {\n const allowedStatuses = statusRegistry.definitions.map((definition) => definition.id);\n throw new PmCliError(`Invalid --status value \"${value}\". Allowed: ${allowedStatuses.join(\", \")}`, EXIT_CODE.USAGE);\n }\n return normalized;\n}\n\n/**\n * Enforce per-type allowed-transition rules (governance.workflow_enforcement).\n * `off` (default) or an unrestricted type is a no-op. `strict` throws on a\n * disallowed transition; `warn` returns a warning string surfaced on the\n * update result. The target status is the raw `--status` value (resolved\n * case-insensitively through the registry inside evaluateTransition).\n */\nfunction enforceTypeWorkflowTransition(params: {\n enforcement: GovernanceWorkflowEnforcement;\n typeWorkflows: NormalizedTypeWorkflow[];\n statusRegistry: RuntimeStatusRegistry;\n typeName: string;\n fromStatus: string;\n toStatus: string;\n}): string | undefined {\n if (params.enforcement === \"off\" || params.typeWorkflows.length === 0) {\n return undefined;\n }\n const result = evaluateTransition({\n typeName: params.typeName,\n fromStatus: params.fromStatus,\n toStatus: params.toStatus,\n typeWorkflows: params.typeWorkflows,\n statusRegistry: params.statusRegistry,\n });\n if (!result.hasRule || result.allowed) {\n return undefined;\n }\n const normalizedFrom = normalizeStatusInput(params.fromStatus, params.statusRegistry) ?? params.fromStatus;\n const normalizedTo = normalizeStatusInput(params.toStatus, params.statusRegistry) ?? params.toStatus;\n const message =\n `Disallowed transition for type \"${params.typeName}\": ${normalizedFrom} -> ${normalizedTo}. ` +\n `Allowed transitions: ${describeAllowedTransitions(result.allowedTransitions)}.`;\n if (params.enforcement === \"strict\") {\n throw new PmCliError(message, EXIT_CODE.USAGE);\n }\n return `workflow_transition_not_allowed: ${message}`;\n}\n\ninterface ParsedDependencyUpdates {\n additions: Dependency[];\n}\n\ninterface DependencyRemovalSelector {\n id: string;\n kind?: (typeof DEPENDENCY_KIND_VALUES)[number];\n source_kind?: string;\n}\n\nfunction parseDependencyCreatedAt(value: string | undefined, currentIso: string): string {\n if (!value || value.trim() === \"\" || value.trim().toLowerCase() === \"now\") {\n return currentIso;\n }\n const parsed = Date.parse(value);\n if (!Number.isFinite(parsed)) {\n throw new PmCliError(`Invalid dependency created_at timestamp \"${value}\"`, EXIT_CODE.USAGE);\n }\n return new Date(parsed).toISOString();\n}\n\nfunction parseOptionalDependencyString(value: string | undefined): string | undefined {\n if (value === undefined) return undefined;\n const trimmed = value.trim();\n return trimmed.length > 0 ? trimmed : undefined;\n}\n\n/** Allowed CSV/markdown keys for the update `--dep` addition seed (GH-258). */\nconst DEP_ADDITION_KEYS = [\"id\", \"kind\", \"type\", \"author\", \"created_at\", \"source_kind\"] as const;\n/** Allowed CSV/markdown keys for the `--dep-remove` selector (GH-258). */\nconst DEP_REMOVE_KEYS = [\"id\", \"kind\", \"type\", \"source_kind\"] as const;\n\nfunction looksLikeStructuredDependencyEntry(raw: string): boolean {\n if (raw.startsWith(\"```\") || raw.includes(\"\\n\")) {\n return true;\n }\n if (/^(?:[-*+]\\s+)?(?:id|kind|type|author|created_at|source_kind)\\s*[:=]/i.test(raw)) {\n return true;\n }\n // A first-key typo (e.g. `bogus=v,id=pm-2`) must still be parsed so the unknown\n // key is rejected rather than swallowed as a bare item id (GH-258).\n return looksLikeGenericKeyValueEntry(raw);\n}\n\n// pm-fl0c #4 (2026-05-28): `pm plan` accepts `depends_on` as a link kind\n// (`PLAN_STEP_LINK_KIND_VALUES`) but `pm update --dep kind=depends_on` rejected\n// it because `DEPENDENCY_KIND_VALUES` only lists `blocked_by`. The two terms\n// are semantically identical from this side (\"X depends on Y\" === \"X blocked\n// by Y\"), so we normalize input here rather than expanding the persisted enum\n// — the stored kind stays canonical (`blocked_by`) and downstream consumers\n// (closing logic, dependency graphs, blockers views) keep working unchanged.\nconst DEPENDENCY_KIND_INPUT_ALIASES: Readonly<Record<string, string>> = {\n \"blocked-by\": \"blocked_by\",\n depends_on: \"blocked_by\",\n \"depends-on\": \"blocked_by\",\n};\n\nfunction normalizeDependencyKindInput(raw: string | undefined): string | undefined {\n if (typeof raw !== \"string\") {\n return raw;\n }\n const trimmed = raw.trim();\n const alias = DEPENDENCY_KIND_INPUT_ALIASES[trimmed.toLowerCase()];\n return alias ?? trimmed;\n}\n\nfunction parseDependencyAdditions(raw: string[] | undefined, prefix: string, nowIso: string): ParsedDependencyUpdates {\n if (!raw) {\n return { additions: [] };\n }\n assertNoLegacyNoneTokens(raw, \"--dep\", \"Use --clear-deps to clear dependencies.\");\n const additions: Dependency[] = raw.map((entry) => {\n const trimmedEntry = entry.trim();\n const isStructured = looksLikeStructuredDependencyEntry(trimmedEntry);\n const kv = isStructured ? parseCsvKv(entry, \"--dep\") : { id: trimmedEntry, kind: \"related\" };\n if (isStructured) {\n assertNoUnknownCsvKeys(kv, \"--dep\", DEP_ADDITION_KEYS);\n }\n const id = kv.id?.trim();\n const kind = normalizeDependencyKindInput((kv.kind ?? kv.type)?.trim());\n if (!id || !kind) {\n throw new PmCliError(\"--dep requires id and kind, or a bare item id to add a related dependency\", EXIT_CODE.USAGE);\n }\n if (id.toLowerCase() === \"undefined\") {\n throw new PmCliError(\n `--dep id must not use placeholder token \"${id}\". Use --clear-deps to clear dependencies.`,\n EXIT_CODE.USAGE,\n );\n }\n const sourceKind = parseOptionalDependencyString(kv.source_kind);\n return {\n id: normalizeItemId(id, prefix),\n kind: ensureEnum(kind, DEPENDENCY_KIND_VALUES, \"dependency kind\"),\n created_at: parseDependencyCreatedAt(kv.created_at, nowIso),\n author: parseOptionalDependencyString(kv.author),\n source_kind: sourceKind,\n };\n });\n return { additions };\n}\n\nfunction parseDependencyRemovals(raw: string[] | undefined, prefix: string): DependencyRemovalSelector[] {\n if (!raw) {\n return [];\n }\n assertNoLegacyNoneTokens(raw, \"--dep-remove\");\n return raw.map((entry) => {\n const trimmed = entry.trim();\n if (!trimmed) {\n throw new PmCliError(\"--dep-remove requires id or key/value selectors\", EXIT_CODE.USAGE);\n }\n if (trimmed.includes(\"=\") || /^(?:[-*+]\\s+)?(?:id|kind|type|source_kind)\\s*[:=]/i.test(trimmed) || trimmed.startsWith(\"```\")) {\n const kv = parseCsvKv(trimmed, \"--dep-remove\");\n assertNoUnknownCsvKeys(kv, \"--dep-remove\", DEP_REMOVE_KEYS);\n const idRaw = kv.id?.trim();\n if (!idRaw) {\n throw new PmCliError(\"--dep-remove key/value form requires id=<value>\", EXIT_CODE.USAGE);\n }\n if (idRaw.toLowerCase() === \"undefined\") {\n throw new PmCliError(`--dep-remove id must not use placeholder token \"${idRaw}\"`, EXIT_CODE.USAGE);\n }\n const kindRaw = normalizeDependencyKindInput(parseOptionalDependencyString(kv.kind ?? kv.type));\n const sourceKind = parseOptionalDependencyString(kv.source_kind);\n return {\n id: normalizeItemId(idRaw, prefix),\n kind: kindRaw ? ensureEnum(kindRaw, DEPENDENCY_KIND_VALUES, \"dependency kind\") : undefined,\n source_kind: sourceKind,\n };\n }\n if (trimmed.toLowerCase() === \"undefined\") {\n throw new PmCliError(`--dep-remove id must not use placeholder token \"${trimmed}\"`, EXIT_CODE.USAGE);\n }\n return {\n id: normalizeItemId(trimmed, prefix),\n };\n });\n}\n\nfunction dependencyKey(value: Pick<Dependency, \"id\" | \"kind\" | \"source_kind\">): string {\n return `${value.id}::${value.kind}::${value.source_kind ?? \"\"}`;\n}\n\n// pm-kyd6: `--blocked-by` writes the `blocked_by` scalar, but the dependency\n// graph (`pm deps`) is built only from the `dependencies` array. Mirror the\n// behaviour create.ts already has so the metadata and the graph agree: a\n// resolvable blocker also gets a `blocked_by` dependency edge, clearing the\n// scalar removes that edge, and re-pointing it replaces the prior edge.\nfunction reconcileBlockedByDependency(\n current: Dependency[] | undefined,\n nextBlockedById: string | undefined,\n nowIsoValue: string,\n author: string,\n): { dependencies: Dependency[] | undefined; changed: boolean } {\n let next = [...(current ?? [])];\n let changed = false;\n const filtered = next.filter((dep) => dep.kind !== \"blocked_by\" || dep.id === nextBlockedById);\n if (filtered.length !== next.length) {\n next = filtered;\n changed = true;\n }\n if (nextBlockedById && !next.some((dep) => dep.kind === \"blocked_by\" && dep.id === nextBlockedById)) {\n next.push({ id: nextBlockedById, kind: \"blocked_by\", created_at: nowIsoValue, author });\n changed = true;\n }\n if (!changed) {\n return { dependencies: current, changed: false };\n }\n return { dependencies: next.length > 0 ? next : undefined, changed: true };\n}\n\n// pm-kyd6: resolve the --blocked-by target before the synchronous mutate\n// callback so a real blocker can also become a `blocked_by` dependency edge.\n// `id` is set when the target resolves; `unresolved` carries the raw value when\n// --blocked-by points at an item that does not exist (the scalar is still set,\n// mirroring create.ts and the never-block missing-parent behaviour, but the\n// caller surfaces a warning so the metadata/graph mismatch is visible).\nasync function resolveBlockedByDependencyTarget(\n blockedByOption: string | undefined,\n blockedByCleared: boolean,\n pmRoot: string,\n idPrefix: string,\n itemFormat: ItemFormat,\n typeToFolder: Record<string, string>,\n): Promise<{ id?: string; unresolved?: string }> {\n if (blockedByOption === undefined || blockedByCleared) {\n return {};\n }\n const blockedByValue = blockedByOption.trim();\n if (blockedByValue.length === 0) {\n return {};\n }\n const located = await locateItem(pmRoot, normalizeItemId(blockedByValue, idPrefix), idPrefix, itemFormat, typeToFolder);\n return located ? { id: located.id } : { unresolved: blockedByValue };\n}\n\n// pm-kyd6: apply the reconciled blocked_by dependency edge to the item metadata\n// and record the `dependencies` change. Kept out of the mutate callback so the\n// large runUpdate function stays under the static-quality complexity budget.\nfunction applyBlockedByDependencyEdge(\n metadata: ItemFrontMatter,\n resolvedBlockedById: string | undefined,\n nowIsoValue: string,\n author: string,\n changedFields: string[],\n): void {\n const reconciled = reconcileBlockedByDependency(\n metadata.dependencies,\n resolvedBlockedById,\n nowIsoValue,\n author,\n );\n if (!reconciled.changed) {\n return;\n }\n if (reconciled.dependencies === undefined) {\n delete metadata.dependencies;\n } else {\n metadata.dependencies = reconciled.dependencies;\n }\n if (!changedFields.includes(\"dependencies\")) {\n changedFields.push(\"dependencies\");\n }\n}\n\nfunction fileKey(value: Pick<LinkedFile, \"path\" | \"scope\">): string {\n return `${value.path}::${value.scope}`;\n}\n\nfunction docKey(value: Pick<LinkedDoc, \"path\" | \"scope\">): string {\n return `${value.path}::${value.scope}`;\n}\n\nfunction testKey(value: Pick<LinkedTest, \"command\" | \"path\" | \"scope\" | \"pm_context_mode\">): string {\n return `${value.command}::${value.path ?? \"\"}::${value.scope}::${value.pm_context_mode ?? \"\"}`;\n}\n\nfunction matchesDependencySelector(value: Dependency, selector: DependencyRemovalSelector): boolean {\n if (value.id !== selector.id) {\n return false;\n }\n if (selector.kind && value.kind !== selector.kind) {\n return false;\n }\n if (selector.source_kind !== undefined && (value.source_kind ?? undefined) !== selector.source_kind) {\n return false;\n }\n return true;\n}\n\nfunction ensurePriority(raw: string | number): 0 | 1 | 2 | 3 | 4 {\n return resolvePriority(raw);\n}\n\nfunction normalizeUpdatePolicyOptionKey(raw: string, typeName: string): string {\n const canonical = canonicalizeCommandOptionKey(\"update\", raw);\n if (!canonical) {\n throw new PmCliError(\n `Unsupported command_option_policies option \"${raw}\" for update command on type \"${typeName}\"`,\n EXIT_CODE.CONFLICT,\n );\n }\n return canonical;\n}\n\nfunction collectProvidedUpdatePolicyOptions(\n options: UpdateCommandOptions,\n runtimeFieldRegistry: RuntimeFieldRegistry,\n extensionFieldNames: readonly string[],\n): Set<string> {\n const provided = new Set<string>();\n const mark = (optionKey: string, isProvided: boolean): void => {\n if (isProvided) {\n provided.add(optionKey);\n }\n };\n mark(\"title\", options.title !== undefined);\n mark(\"description\", options.description !== undefined);\n mark(\"body\", options.body !== undefined);\n mark(\"status\", options.status !== undefined);\n mark(\"closeReason\", options.closeReason !== undefined);\n mark(\"priority\", options.priority !== undefined);\n mark(\"type\", options.type !== undefined);\n // `--add-tags` / `--remove-tags` mutate the same `tags` field as `--tags`, so\n // they count toward the `tags` command_option_policy (disabled + required).\n mark(\n \"tags\",\n options.tags !== undefined ||\n (Array.isArray(options.addTags) && options.addTags.length > 0) ||\n (Array.isArray(options.removeTags) && options.removeTags.length > 0),\n );\n mark(\"deadline\", options.deadline !== undefined);\n mark(\"estimatedMinutes\", options.estimatedMinutes !== undefined);\n mark(\"acceptanceCriteria\", options.acceptanceCriteria !== undefined);\n mark(\"definitionOfReady\", options.definitionOfReady !== undefined);\n mark(\"order\", options.order !== undefined || options.rank !== undefined);\n mark(\"goal\", options.goal !== undefined);\n mark(\"objective\", options.objective !== undefined);\n mark(\"value\", options.value !== undefined);\n mark(\"impact\", options.impact !== undefined);\n mark(\"outcome\", options.outcome !== undefined);\n mark(\"whyNow\", options.whyNow !== undefined);\n mark(\"author\", options.author !== undefined);\n mark(\"message\", options.message !== undefined);\n mark(\"assignee\", options.assignee !== undefined);\n mark(\"parent\", options.parent !== undefined);\n mark(\"reviewer\", options.reviewer !== undefined);\n mark(\"risk\", options.risk !== undefined);\n mark(\"confidence\", options.confidence !== undefined);\n mark(\"sprint\", options.sprint !== undefined);\n mark(\"release\", options.release !== undefined);\n mark(\"blockedBy\", options.blockedBy !== undefined);\n mark(\"blockedReason\", options.blockedReason !== undefined);\n mark(\"unblockNote\", options.unblockNote !== undefined);\n mark(\"reporter\", options.reporter !== undefined);\n mark(\"severity\", options.severity !== undefined);\n mark(\"environment\", options.environment !== undefined);\n mark(\"reproSteps\", options.reproSteps !== undefined);\n mark(\"resolution\", options.resolution !== undefined);\n mark(\"expectedResult\", options.expectedResult !== undefined);\n mark(\"actualResult\", options.actualResult !== undefined);\n mark(\"affectedVersion\", options.affectedVersion !== undefined);\n mark(\"fixedVersion\", options.fixedVersion !== undefined);\n mark(\"component\", options.component !== undefined);\n mark(\"regression\", options.regression !== undefined);\n mark(\"customerImpact\", options.customerImpact !== undefined);\n mark(\"dep\", options.dep !== undefined);\n mark(\"depRemove\", options.depRemove !== undefined);\n mark(\"dep\", options.replaceDeps === true);\n mark(\"comment\", options.comment !== undefined);\n mark(\"note\", options.note !== undefined);\n mark(\"learning\", options.learning !== undefined);\n mark(\"file\", options.file !== undefined);\n mark(\"test\", options.test !== undefined);\n mark(\"test\", options.replaceTests === true);\n mark(\"doc\", options.doc !== undefined);\n mark(\"reminder\", options.reminder !== undefined);\n mark(\"event\", options.event !== undefined);\n mark(\"typeOption\", options.typeOption !== undefined);\n mark(\"field\", options.field !== undefined);\n mark(\"force\", options.force === true);\n mark(\"allowAuditUpdate\", options.allowAuditUpdate === true);\n mark(\"dep\", options.clearDeps === true);\n mark(\"comment\", options.clearComments === true);\n mark(\"note\", options.clearNotes === true);\n mark(\"learning\", options.clearLearnings === true);\n mark(\"file\", options.clearFiles === true);\n mark(\"test\", options.clearTests === true);\n mark(\"doc\", options.clearDocs === true);\n mark(\"reminder\", options.clearReminders === true);\n mark(\"event\", options.clearEvents === true);\n mark(\"typeOption\", options.clearTypeOptions === true);\n if (options.unset && options.unset.length > 0) {\n const unsetTargets = parseUpdateUnsetTargets(options.unset, runtimeFieldRegistry, extensionFieldNames);\n for (const optionKey of unsetTargets.optionKeys) {\n mark(optionKey, true);\n }\n }\n return provided;\n}\n\nfunction enforceUpdateOptionsByType(\n typeName: string,\n options: UpdateCommandOptions,\n typeRegistry: ReturnType<typeof resolveItemTypeRegistry>,\n runtimeFieldRegistry: RuntimeFieldRegistry,\n extensionFieldNames: readonly string[],\n): void {\n const typeDefinition = resolveTypeDefinition(typeName, typeRegistry);\n if (!typeDefinition) {\n throw new PmCliError(`Invalid type value \"${typeName}\"`, EXIT_CODE.USAGE);\n }\n const policyState = resolveCommandOptionPolicyState(typeDefinition, \"update\", []);\n if (policyState.errors.length > 0) {\n throw new PmCliError(policyState.errors.join(\"; \"), EXIT_CODE.CONFLICT);\n }\n\n const provided = collectProvidedUpdatePolicyOptions(options, runtimeFieldRegistry, extensionFieldNames);\n for (const disabled of policyState.disabled) {\n if (provided.has(normalizeUpdatePolicyOptionKey(disabled, typeName))) {\n throw new PmCliError(\n `Option ${commandOptionFlagLabel(\"update\", disabled)} is disabled for type \"${typeName}\" by command_option_policies`,\n EXIT_CODE.USAGE,\n );\n }\n }\n\n for (const required of policyState.required) {\n if (!provided.has(normalizeUpdatePolicyOptionKey(required, typeName))) {\n throw new PmCliError(\n `Missing required option ${commandOptionFlagLabel(\"update\", required)} for type \"${typeName}\"`,\n EXIT_CODE.USAGE,\n );\n }\n }\n}\n\ninterface UpdateScalarMutationContext {\n metadataRecord: Record<string, unknown>;\n clearFrontMatterKeys: ReadonlySet<string>;\n changedFields: string[];\n nowValue: Date;\n}\n\ninterface UpdateScalarMutationDefinition {\n optionKey: keyof UpdateCommandOptions;\n metadataKey: string;\n transform?: (value: string, context: UpdateScalarMutationContext) => unknown;\n}\n\ninterface UpdateClearCollectionDefinition {\n enabled: boolean | undefined;\n optionKey: string;\n clearFlag: string;\n valueFlag: string;\n values: string[] | undefined;\n frontMatterKey: string;\n}\n\ninterface UpdateMutationContext {\n options: UpdateCommandOptions;\n settings: Awaited<ReturnType<typeof readSettings>>;\n typeRegistry: ReturnType<typeof resolveItemTypeRegistry>;\n statusRegistry: RuntimeStatusRegistry;\n runtimeFieldRegistry: RuntimeFieldRegistry;\n extensionRegistrations: ReturnType<typeof getActiveExtensionRegistrations>;\n extensionFieldNames: readonly string[];\n clearFrontMatterKeys: ReadonlySet<string>;\n dependencyUpdates: ParsedDependencyUpdates;\n dependencyRemovals: DependencyRemovalSelector[];\n commentUpdates: ReturnType<typeof parseLogSeed>;\n noteUpdates: ReturnType<typeof parseLogSeed>;\n learningUpdates: ReturnType<typeof parseLogSeed>;\n fileUpdates: ReturnType<typeof parseFiles>;\n testUpdates: ReturnType<typeof parseTests>;\n docUpdates: ReturnType<typeof parseDocs>;\n resolvedParentValue: string | undefined;\n resolvedBlockedByDependencyId: string | undefined;\n runtimeFieldUpdates: Record<string, unknown>;\n nowValue: Date;\n nowIso: string;\n author: string;\n pmRoot: string;\n}\n\ninterface CloseRouteContext {\n options: UpdateCommandOptions;\n fieldFlags: Record<string, boolean>;\n statusRegistry: RuntimeStatusRegistry;\n workflowTransitionWarnings: readonly string[];\n global: GlobalOptions;\n id: string;\n}\n\nconst UPDATE_LEGACY_SCALAR_OPTION_KEYS: readonly (keyof UpdateCommandOptions)[] = [\n \"tags\",\n \"closeReason\",\n \"deadline\",\n \"estimatedMinutes\",\n \"acceptanceCriteria\",\n \"definitionOfReady\",\n \"goal\",\n \"objective\",\n \"value\",\n \"impact\",\n \"outcome\",\n \"whyNow\",\n \"assignee\",\n \"parent\",\n \"reviewer\",\n \"risk\",\n \"confidence\",\n \"sprint\",\n \"release\",\n \"blockedBy\",\n \"blockedReason\",\n \"unblockNote\",\n \"reporter\",\n \"severity\",\n \"environment\",\n \"reproSteps\",\n \"resolution\",\n \"expectedResult\",\n \"actualResult\",\n \"affectedVersion\",\n \"fixedVersion\",\n \"component\",\n \"regression\",\n \"customerImpact\",\n];\n\nconst UPDATE_SIMPLE_FIELD_FLAG_KEYS: readonly (keyof UpdateCommandOptions)[] = [\n \"title\",\n \"description\",\n \"body\",\n \"status\",\n \"closeReason\",\n \"priority\",\n \"type\",\n \"deadline\",\n \"estimatedMinutes\",\n \"acceptanceCriteria\",\n \"definitionOfReady\",\n \"goal\",\n \"objective\",\n \"value\",\n \"impact\",\n \"outcome\",\n \"whyNow\",\n \"assignee\",\n \"parent\",\n \"reviewer\",\n \"risk\",\n \"confidence\",\n \"sprint\",\n \"release\",\n \"blockedBy\",\n \"blockedReason\",\n \"unblockNote\",\n \"reporter\",\n \"severity\",\n \"environment\",\n \"reproSteps\",\n \"resolution\",\n \"expectedResult\",\n \"actualResult\",\n \"affectedVersion\",\n \"fixedVersion\",\n \"component\",\n \"regression\",\n \"customerImpact\",\n \"dep\",\n \"depRemove\",\n \"comment\",\n \"note\",\n \"learning\",\n \"file\",\n \"test\",\n \"doc\",\n \"reminder\",\n \"event\",\n \"typeOption\",\n \"field\",\n];\n\nconst UPDATE_POST_TAG_SCALAR_MUTATIONS: ReadonlyArray<UpdateScalarMutationDefinition> = [\n {\n optionKey: \"deadline\",\n metadataKey: \"deadline\",\n transform: (value, context) => resolveIsoOrRelative(value, context.nowValue, \"deadline\"),\n },\n {\n optionKey: \"estimatedMinutes\",\n metadataKey: \"estimated_minutes\",\n transform: (value) => parseOptionalNumber(value, \"estimated-minutes\"),\n },\n { optionKey: \"acceptanceCriteria\", metadataKey: \"acceptance_criteria\", transform: (value) => value },\n { optionKey: \"definitionOfReady\", metadataKey: \"definition_of_ready\" },\n { optionKey: \"goal\", metadataKey: \"goal\" },\n { optionKey: \"objective\", metadataKey: \"objective\" },\n { optionKey: \"value\", metadataKey: \"value\" },\n { optionKey: \"impact\", metadataKey: \"impact\" },\n { optionKey: \"outcome\", metadataKey: \"outcome\" },\n { optionKey: \"whyNow\", metadataKey: \"why_now\" },\n];\n\nconst UPDATE_STAKEHOLDER_SCALAR_MUTATIONS: ReadonlyArray<UpdateScalarMutationDefinition> = [\n { optionKey: \"reviewer\", metadataKey: \"reviewer\" },\n { optionKey: \"risk\", metadataKey: \"risk\", transform: (value) => ensureEnum(normalizeRiskInput(value), RISK_VALUES, \"risk\") },\n { optionKey: \"confidence\", metadataKey: \"confidence\", transform: (value) => parseConfidenceInput(value) },\n];\n\nconst UPDATE_ISSUE_SCALAR_MUTATIONS: ReadonlyArray<UpdateScalarMutationDefinition> = [\n { optionKey: \"blockedReason\", metadataKey: \"blocked_reason\" },\n { optionKey: \"unblockNote\", metadataKey: \"unblock_note\" },\n { optionKey: \"reporter\", metadataKey: \"reporter\" },\n {\n optionKey: \"severity\",\n metadataKey: \"severity\",\n transform: (value) => ensureEnum(normalizeSeverityInput(value), ISSUE_SEVERITY_VALUES, \"severity\"),\n },\n { optionKey: \"environment\", metadataKey: \"environment\" },\n { optionKey: \"reproSteps\", metadataKey: \"repro_steps\" },\n { optionKey: \"resolution\", metadataKey: \"resolution\" },\n { optionKey: \"expectedResult\", metadataKey: \"expected_result\" },\n { optionKey: \"actualResult\", metadataKey: \"actual_result\" },\n { optionKey: \"affectedVersion\", metadataKey: \"affected_version\" },\n { optionKey: \"fixedVersion\", metadataKey: \"fixed_version\" },\n { optionKey: \"component\", metadataKey: \"component\" },\n { optionKey: \"regression\", metadataKey: \"regression\", transform: (value) => parseRegressionInput(value) },\n { optionKey: \"customerImpact\", metadataKey: \"customer_impact\" },\n];\n\nfunction applyUpdateScalarMutations(\n definitions: ReadonlyArray<UpdateScalarMutationDefinition>,\n options: UpdateCommandOptions,\n context: UpdateScalarMutationContext,\n): void {\n for (const definition of definitions) {\n const optionValue = options[definition.optionKey];\n const shouldClear = context.clearFrontMatterKeys.has(definition.metadataKey);\n if (optionValue === undefined && !shouldClear) {\n continue;\n }\n if (shouldClear) {\n delete context.metadataRecord[definition.metadataKey];\n context.changedFields.push(definition.metadataKey);\n continue;\n }\n if (typeof optionValue !== \"string\") {\n throw new PmCliError(\n `${commandOptionFlagLabel(\"update\", String(definition.optionKey))} must be a string value`,\n EXIT_CODE.USAGE,\n );\n }\n context.metadataRecord[definition.metadataKey] = definition.transform\n ? definition.transform(optionValue, context)\n : optionValue.trim();\n context.changedFields.push(definition.metadataKey);\n }\n}\n\nasync function resolveStdinUpdateOptions(options: UpdateCommandOptions): Promise<UpdateCommandOptions> {\n const stdinResolver = createStdinTokenResolver();\n return normalizeLegacyNoneUpdateOptions({\n ...options,\n body: await stdinResolver.resolveValue(options.body, \"--body\"),\n dep: await stdinResolver.resolveList(options.dep, \"--dep\"),\n depRemove: await stdinResolver.resolveList(options.depRemove, \"--dep-remove\"),\n comment: await stdinResolver.resolveList(options.comment, \"--comment\"),\n note: await stdinResolver.resolveList(options.note, \"--note\"),\n learning: await stdinResolver.resolveList(options.learning, \"--learning\"),\n file: await stdinResolver.resolveList(options.file, \"--file\"),\n test: await stdinResolver.resolveList(options.test, \"--test\"),\n doc: await stdinResolver.resolveList(options.doc, \"--doc\"),\n reminder: await stdinResolver.resolveList(options.reminder, \"--reminder\"),\n event: await stdinResolver.resolveList(options.event, \"--event\"),\n typeOption: await stdinResolver.resolveList(options.typeOption, \"--type-option\"),\n field: await stdinResolver.resolveList(options.field, \"--field\"),\n });\n}\n\nfunction buildClearCollectionDefinitions(options: UpdateCommandOptions): readonly UpdateClearCollectionDefinition[] {\n return [\n {\n enabled: options.clearDeps || options.replaceDeps,\n optionKey: \"dep\",\n clearFlag: \"--clear-deps\",\n valueFlag: \"--dep\",\n values: options.dep,\n frontMatterKey: \"dependencies\",\n },\n {\n enabled: options.clearComments,\n optionKey: \"comment\",\n clearFlag: \"--clear-comments\",\n valueFlag: \"--comment\",\n values: options.comment,\n frontMatterKey: \"comments\",\n },\n {\n enabled: options.clearNotes,\n optionKey: \"note\",\n clearFlag: \"--clear-notes\",\n valueFlag: \"--note\",\n values: options.note,\n frontMatterKey: \"notes\",\n },\n {\n enabled: options.clearLearnings,\n optionKey: \"learning\",\n clearFlag: \"--clear-learnings\",\n valueFlag: \"--learning\",\n values: options.learning,\n frontMatterKey: \"learnings\",\n },\n {\n enabled: options.clearFiles,\n optionKey: \"file\",\n clearFlag: \"--clear-files\",\n valueFlag: \"--file\",\n values: options.file,\n frontMatterKey: \"files\",\n },\n {\n enabled: options.clearTests || options.replaceTests,\n optionKey: \"test\",\n clearFlag: \"--clear-tests\",\n valueFlag: \"--test\",\n values: options.test,\n frontMatterKey: \"tests\",\n },\n {\n enabled: options.clearDocs,\n optionKey: \"doc\",\n clearFlag: \"--clear-docs\",\n valueFlag: \"--doc\",\n values: options.doc,\n frontMatterKey: \"docs\",\n },\n {\n enabled: options.clearReminders,\n optionKey: \"reminder\",\n clearFlag: \"--clear-reminders\",\n valueFlag: \"--reminder\",\n values: options.reminder,\n frontMatterKey: \"reminders\",\n },\n {\n enabled: options.clearEvents,\n optionKey: \"event\",\n clearFlag: \"--clear-events\",\n valueFlag: \"--event\",\n values: options.event,\n frontMatterKey: \"events\",\n },\n {\n enabled: options.clearTypeOptions,\n optionKey: \"typeOption\",\n clearFlag: \"--clear-type-options\",\n valueFlag: \"--type-option\",\n values: options.typeOption,\n frontMatterKey: \"type_options\",\n },\n ];\n}\n\nfunction validateReplaceOptions(options: UpdateCommandOptions): void {\n if (options.replaceDeps === true && (options.dep === undefined || options.dep.length === 0)) {\n throw new PmCliError(\"--replace-deps requires at least one --dep entry\", EXIT_CODE.USAGE);\n }\n if (options.replaceDeps === true && options.depRemove !== undefined && options.depRemove.length > 0) {\n throw new PmCliError(\"--replace-deps cannot be combined with --dep-remove\", EXIT_CODE.USAGE);\n }\n if (options.replaceTests === true && (options.test === undefined || options.test.length === 0)) {\n throw new PmCliError(\"--replace-tests requires at least one --test entry\", EXIT_CODE.USAGE);\n }\n if (options.replaceTests === true && options.clearTests === true) {\n throw new PmCliError(\"--replace-tests cannot be combined with --clear-tests\", EXIT_CODE.USAGE);\n }\n}\n\nfunction applyClearCollectionDefinitions(params: {\n definitions: readonly UpdateClearCollectionDefinition[];\n options: UpdateCommandOptions;\n clearOptionKeys: Set<string>;\n clearFrontMatterKeys: Set<string>;\n}): void {\n for (const definition of params.definitions) {\n if (!definition.enabled) {\n continue;\n }\n const isReplacement =\n (definition.optionKey === \"dep\" && params.options.replaceDeps === true) ||\n (definition.optionKey === \"test\" && params.options.replaceTests === true);\n if (definition.values && definition.values.length > 0 && !isReplacement) {\n throw new PmCliError(`Cannot combine ${definition.clearFlag} with ${definition.valueFlag}`, EXIT_CODE.USAGE);\n }\n params.clearOptionKeys.add(definition.optionKey);\n params.clearFrontMatterKeys.add(definition.frontMatterKey);\n }\n}\n\nfunction buildScalarOptionPresence(options: UpdateCommandOptions): Record<string, boolean> {\n const presence: Record<string, boolean> = {};\n for (const key of UPDATE_LEGACY_SCALAR_OPTION_KEYS) {\n presence[String(key)] = options[key] !== undefined;\n }\n presence.order = options.order !== undefined || options.rank !== undefined;\n return presence;\n}\n\nfunction rejectUnsetScalarConflicts(options: UpdateCommandOptions, unsetTargets: { optionKeys: Set<string>; frontMatterKeys: Set<string> }): void {\n const scalarOptionPresence = buildScalarOptionPresence(options);\n for (const [optionKey, hasValue] of Object.entries(scalarOptionPresence)) {\n if (!hasValue || !unsetTargets.optionKeys.has(optionKey)) {\n continue;\n }\n const unsetField = UPDATE_OPTION_KEY_TO_UNSET_CANONICAL.get(optionKey) ?? optionKey;\n throw new PmCliError(\n `Cannot combine --unset ${unsetField} with ${commandOptionFlagLabel(\"update\", optionKey)}`,\n EXIT_CODE.USAGE,\n );\n }\n if (!unsetTargets.frontMatterKeys.has(\"tags\")) {\n return;\n }\n if (Array.isArray(options.addTags) && options.addTags.length > 0) {\n throw new PmCliError(\"Cannot combine --unset tags with --add-tags\", EXIT_CODE.USAGE);\n }\n if (Array.isArray(options.removeTags) && options.removeTags.length > 0) {\n throw new PmCliError(\"Cannot combine --unset tags with --remove-tags\", EXIT_CODE.USAGE);\n }\n}\n\nfunction rejectLegacyScalarTokens(options: UpdateCommandOptions): void {\n const assertNoLegacyScalarToken = (value: string | undefined, optionKey: string): void => {\n const unsetField = UPDATE_OPTION_KEY_TO_UNSET_CANONICAL.get(optionKey);\n const hint = unsetField ? `Use --unset ${unsetField} to clear this field.` : undefined;\n assertNoLegacyNoneToken(value, commandOptionFlagLabel(\"update\", optionKey), hint);\n };\n for (const key of UPDATE_LEGACY_SCALAR_OPTION_KEYS) {\n assertNoLegacyScalarToken(options[key] as string | undefined, String(key));\n }\n assertNoLegacyScalarToken(options.order ?? options.rank, \"order\");\n assertNoLegacyNoneTokens(options.reminder, \"--reminder\", \"Use --clear-reminders to clear reminders.\");\n assertNoLegacyNoneTokens(options.event, \"--event\", \"Use --clear-events to clear linked events.\");\n}\n\nfunction buildUpdateFieldFlags(options: UpdateCommandOptions, runtimeFieldUpdates: Record<string, unknown>): Record<string, boolean> {\n const flags: Record<string, boolean> = {};\n for (const key of UPDATE_SIMPLE_FIELD_FLAG_KEYS) {\n flags[String(key)] = options[key] !== undefined;\n }\n flags.tags = options.tags !== undefined;\n flags.addTags = Array.isArray(options.addTags) && options.addTags.length > 0;\n flags.removeTags = Array.isArray(options.removeTags) && options.removeTags.length > 0;\n flags.order = options.order !== undefined;\n flags.rank = options.rank !== undefined;\n flags.replaceDeps = options.replaceDeps === true;\n flags.replaceTests = options.replaceTests === true;\n flags.unset = options.unset !== undefined && options.unset.length > 0;\n flags.clearDeps = options.clearDeps === true;\n flags.clearComments = options.clearComments === true;\n flags.clearNotes = options.clearNotes === true;\n flags.clearLearnings = options.clearLearnings === true;\n flags.clearFiles = options.clearFiles === true;\n flags.clearTests = options.clearTests === true;\n flags.clearDocs = options.clearDocs === true;\n flags.clearReminders = options.clearReminders === true;\n flags.clearEvents = options.clearEvents === true;\n flags.clearTypeOptions = options.clearTypeOptions === true;\n flags.runtimeFields = Object.keys(runtimeFieldUpdates).length > 0;\n return flags;\n}\n\nasync function buildNoopUpdateResult(params: {\n pmRoot: string;\n id: string;\n settings: Awaited<ReturnType<typeof readSettings>>;\n typeRegistry: ReturnType<typeof resolveItemTypeRegistry>;\n}): Promise<UpdateResult> {\n const located = await locateItem(\n params.pmRoot,\n params.id,\n params.settings.id_prefix,\n params.settings.item_format,\n params.typeRegistry.type_to_folder,\n );\n if (!located) {\n throw await buildItemNotFoundError(params.pmRoot, params.id, params.settings.id_prefix, params.typeRegistry.type_to_folder);\n }\n const { document } = await readLocatedItem(located, { schema: params.settings.schema });\n return {\n item: toItemRecord(document.metadata),\n changed_fields: [],\n warnings: [\"noop_no_update_fields\"],\n };\n}\n\nasync function assertUpdateTrackerInitialized(pmRoot: string): Promise<void> {\n if (!(await pathExists(getSettingsPath(pmRoot)))) {\n throw new PmCliError(`Tracker is not initialized at ${pmRoot}. Run pm init first.`, EXIT_CODE.NOT_FOUND);\n }\n}\n\nfunction assertMatchingOrderRank(options: UpdateCommandOptions): void {\n if (options.order !== undefined && options.rank !== undefined && options.order !== options.rank) {\n throw new PmCliError(\"--order and --rank must match when both are provided\", EXIT_CODE.USAGE);\n }\n}\n\nasync function resolveParentReferenceForUpdate(params: {\n options: UpdateCommandOptions;\n unsetTargets: { frontMatterKeys: Set<string> };\n pmRoot: string;\n settings: Awaited<ReturnType<typeof readSettings>>;\n typeRegistry: ReturnType<typeof resolveItemTypeRegistry>;\n parentReferencePolicy: Awaited<ReturnType<typeof readSettings>>[\"validation\"][\"parent_reference\"];\n}): Promise<{ resolvedParentValue: string | undefined; warnings: string[] }> {\n if (params.options.parent === undefined || params.unsetTargets.frontMatterKeys.has(\"parent\")) {\n return { resolvedParentValue: undefined, warnings: [] };\n }\n const resolvedParentValue = normalizeParentReferenceValue(params.options.parent);\n const parentLocated = await locateItem(\n params.pmRoot,\n resolvedParentValue,\n params.settings.id_prefix,\n params.settings.item_format,\n params.typeRegistry.type_to_folder,\n );\n if (parentLocated) {\n return { resolvedParentValue, warnings: [] };\n }\n const normalizedParentId = normalizeItemId(resolvedParentValue, params.settings.id_prefix);\n return {\n resolvedParentValue,\n warnings: validateMissingParentReference(normalizedParentId, params.parentReferencePolicy).warnings,\n };\n}\n\nfunction blockedByResolutionWarnings(resolution: { unresolved?: string }): string[] {\n return resolution.unresolved === undefined ? [] : [`blocked_by_unresolved:${resolution.unresolved}`];\n}\n\nasync function collectWorkflowTransitionWarnings(params: {\n options: UpdateCommandOptions;\n fieldFlags: Record<string, boolean>;\n workflowEnforcement: GovernanceWorkflowEnforcement;\n typeWorkflows: NormalizedTypeWorkflow[];\n statusRegistry: RuntimeStatusRegistry;\n typeRegistry: ReturnType<typeof resolveItemTypeRegistry>;\n pmRoot: string;\n id: string;\n settings: Awaited<ReturnType<typeof readSettings>>;\n}): Promise<string[]> {\n if (params.workflowEnforcement === \"off\" || params.typeWorkflows.length === 0 || !params.fieldFlags.status || params.options.status === undefined) {\n return [];\n }\n const located = await locateItem(\n params.pmRoot,\n params.id,\n params.settings.id_prefix,\n params.settings.item_format,\n params.typeRegistry.type_to_folder,\n );\n if (!located) {\n throw await buildItemNotFoundError(params.pmRoot, params.id, params.settings.id_prefix, params.typeRegistry.type_to_folder);\n }\n const { document } = await readLocatedItem(located, { schema: params.settings.schema });\n const effectiveType =\n params.options.type !== undefined\n ? (resolveTypeName(params.options.type, params.typeRegistry) ?? params.options.type)\n : (document.metadata?.type ?? \"\");\n const warning = enforceTypeWorkflowTransition({\n enforcement: params.workflowEnforcement,\n typeWorkflows: params.typeWorkflows,\n statusRegistry: params.statusRegistry,\n typeName: effectiveType,\n fromStatus: document.metadata?.status ?? \"\",\n toStatus: params.options.status,\n });\n return warning ? [warning] : [];\n}\n\nasync function routeCloseStatusUpdate(context: CloseRouteContext): Promise<UpdateResult | undefined> {\n if (!context.fieldFlags.status) {\n return undefined;\n }\n const targetStatus = normalizeStatusInput(context.options.status as ItemStatus, context.statusRegistry);\n if (targetStatus !== context.statusRegistry.close_status) {\n return undefined;\n }\n\n const otherFieldKeys = Object.entries(context.fieldFlags)\n .filter(([key, value]) => value && key !== \"status\" && key !== \"closeReason\")\n .map(([key]) => key);\n const routeWarnings: string[] = [];\n let preChangedFields: string[] = [];\n if (otherFieldKeys.length > 0) {\n const preUpdate = await runUpdate(\n context.id,\n { ...context.options, status: undefined, closeReason: undefined, message: undefined },\n context.global,\n );\n preChangedFields = preUpdate.changed_fields;\n routeWarnings.push(...preUpdate.warnings);\n }\n\n const explicitReason = typeof context.options.closeReason === \"string\" ? context.options.closeReason.trim() : \"\";\n const fallbackMessage = typeof context.options.message === \"string\" ? context.options.message.trim() : \"\";\n const closeReason = explicitReason || fallbackMessage || \"Closed via pm update\";\n const closeResult = await runClose(\n context.id,\n closeReason,\n {\n author: context.options.author,\n message: context.options.message,\n force: context.options.force,\n },\n context.global,\n );\n\n const warnings = [\n ...context.workflowTransitionWarnings,\n ...routeWarnings,\n ...closeResult.warnings,\n \"auto_routed_from_update_to_close\",\n ];\n if (explicitReason.length === 0 && fallbackMessage.length === 0) {\n warnings.push(\"close_reason_defaulted\");\n }\n return {\n item: closeResult.item,\n changed_fields: [...preChangedFields, ...closeResult.changed_fields],\n warnings,\n };\n}\n\nfunction applySimpleItemMutations(\n document: ItemDocument,\n options: UpdateCommandOptions,\n statusRegistry: RuntimeStatusRegistry,\n changedFields: string[],\n): string {\n if (options.title !== undefined) {\n document.metadata.title = options.title;\n changedFields.push(\"title\");\n }\n if (options.description !== undefined) {\n document.metadata.description = options.description;\n changedFields.push(\"description\");\n }\n if (options.body !== undefined) {\n document.body = options.body;\n changedFields.push(\"body\");\n }\n return normalizeStatusInput(document.metadata.status, statusRegistry) ?? document.metadata.status;\n}\n\nfunction applyStatusAndCloseReasonMutations(\n document: ItemDocument,\n context: UpdateMutationContext,\n previousStatusNormalized: string,\n changedFields: string[],\n): void {\n if (context.options.status !== undefined) {\n const status = parseStatus(context.options.status, context.statusRegistry);\n document.metadata.status = status;\n changedFields.push(\"status\");\n }\n if (context.options.closeReason !== undefined || context.clearFrontMatterKeys.has(\"close_reason\")) {\n if (context.clearFrontMatterKeys.has(\"close_reason\")) {\n delete document.metadata.close_reason;\n } else {\n const closeReason = context.options.closeReason?.trim() ?? \"\";\n if (closeReason.length === 0) {\n throw new PmCliError(\"--close-reason must not be empty\", EXIT_CODE.USAGE);\n }\n document.metadata.close_reason = closeReason;\n }\n changedFields.push(\"close_reason\");\n return;\n }\n if (\n context.options.status !== undefined &&\n previousStatusNormalized === context.statusRegistry.close_status &&\n document.metadata.status !== context.statusRegistry.canceled_status &&\n document.metadata.close_reason !== undefined\n ) {\n delete document.metadata.close_reason;\n changedFields.push(\"close_reason\");\n }\n}\n\nfunction applyPriorityTypeAndOptions(\n document: ItemDocument,\n context: UpdateMutationContext,\n changedFields: string[],\n): string {\n let activeTypeName = resolveTypeName(document.metadata.type, context.typeRegistry) ?? document.metadata.type;\n if (context.options.priority !== undefined) {\n document.metadata.priority = ensurePriority(context.options.priority);\n changedFields.push(\"priority\");\n }\n if (context.options.type !== undefined) {\n const resolvedTypeName = resolveTypeName(context.options.type, context.typeRegistry);\n if (!resolvedTypeName) {\n throw new PmCliError(\n buildInvalidTypeError(context.options.type, context.typeRegistry.types, resolveItemTypesFilePath(context.pmRoot, context.settings.schema)),\n EXIT_CODE.USAGE,\n );\n }\n document.metadata.type = resolvedTypeName;\n activeTypeName = resolvedTypeName;\n changedFields.push(\"type\");\n }\n enforceUpdateOptionsByType(\n activeTypeName,\n context.options,\n context.typeRegistry,\n context.runtimeFieldRegistry,\n context.extensionFieldNames,\n );\n applyTypeOptionMutation(document, context, activeTypeName, changedFields);\n return activeTypeName;\n}\n\nfunction applyTypeOptionMutation(\n document: ItemDocument,\n context: UpdateMutationContext,\n activeTypeName: string,\n changedFields: string[],\n): void {\n if (context.options.typeOption !== undefined || context.clearFrontMatterKeys.has(\"type_options\")) {\n if (context.clearFrontMatterKeys.has(\"type_options\")) {\n delete document.metadata.type_options;\n } else {\n const parsedTypeOptions = parseTypeOptionEntries(context.options.typeOption ?? []);\n const validation = validateTypeOptions(activeTypeName, parsedTypeOptions, context.typeRegistry);\n if (validation.errors.length > 0) {\n throw new PmCliError(validation.errors.join(\"; \"), EXIT_CODE.USAGE);\n }\n document.metadata.type_options = validation.normalized;\n }\n changedFields.push(\"type_options\");\n return;\n }\n if (context.options.type === undefined || document.metadata.type_options === undefined) {\n return;\n }\n const validation = validateTypeOptions(activeTypeName, document.metadata.type_options, context.typeRegistry);\n if (validation.errors.length > 0) {\n throw new PmCliError(\n `Current type options are incompatible with type \"${activeTypeName}\". ${validation.errors.join(\"; \")}. Use --clear-type-options to clear them.`,\n EXIT_CODE.USAGE,\n );\n }\n document.metadata.type_options = validation.normalized;\n}\n\nfunction applyDependencyMutations(document: ItemDocument, context: UpdateMutationContext, changedFields: string[]): void {\n if (\n context.options.dep === undefined &&\n context.options.depRemove === undefined &&\n !context.clearFrontMatterKeys.has(\"dependencies\")\n ) {\n return;\n }\n let nextDependencies = context.clearFrontMatterKeys.has(\"dependencies\") ? [] : [...(document.metadata.dependencies ?? [])];\n if (context.dependencyUpdates.additions.length > 0) {\n const seen = new Set(nextDependencies.map((entry) => dependencyKey(entry)));\n for (const addition of context.dependencyUpdates.additions) {\n const key = dependencyKey(addition);\n if (!seen.has(key)) {\n nextDependencies.push(addition);\n seen.add(key);\n }\n }\n }\n if (context.dependencyRemovals.length > 0) {\n nextDependencies = nextDependencies.filter(\n (entry) => !context.dependencyRemovals.some((selector) => matchesDependencySelector(entry, selector)),\n );\n }\n if (nextDependencies.length === 0) {\n delete document.metadata.dependencies;\n } else {\n document.metadata.dependencies = nextDependencies;\n }\n changedFields.push(\"dependencies\");\n}\n\nfunction applyLogCollectionMutations(document: ItemDocument, context: UpdateMutationContext, changedFields: string[]): void {\n applyLogCollectionMutation(document, \"comments\", context.options.comment, context.commentUpdates.values as Comment[] | undefined, context.clearFrontMatterKeys, changedFields);\n applyLogCollectionMutation(document, \"notes\", context.options.note, context.noteUpdates.values as LogNote[] | undefined, context.clearFrontMatterKeys, changedFields);\n applyLogCollectionMutation(document, \"learnings\", context.options.learning, context.learningUpdates.values as LogNote[] | undefined, context.clearFrontMatterKeys, changedFields);\n}\n\nfunction applyLogCollectionMutation(\n document: ItemDocument,\n key: \"comments\" | \"notes\" | \"learnings\",\n optionValue: string[] | undefined,\n values: Comment[] | LogNote[] | undefined,\n clearFrontMatterKeys: ReadonlySet<string>,\n changedFields: string[],\n): void {\n if (optionValue === undefined && !clearFrontMatterKeys.has(key)) {\n return;\n }\n if (clearFrontMatterKeys.has(key) || !values || values.length === 0) {\n delete document.metadata[key];\n } else {\n document.metadata[key] = [...(document.metadata[key] ?? []), ...values] as never;\n }\n changedFields.push(key);\n}\n\nfunction applyEvidenceCollectionMutations(document: ItemDocument, context: UpdateMutationContext, changedFields: string[]): void {\n applyUniqueLinkedCollectionMutation(document, \"files\", context.options.file, context.fileUpdates.values, fileKey, context.clearFrontMatterKeys, changedFields);\n applyTestCollectionMutation(document, context, changedFields);\n applyUniqueLinkedCollectionMutation(document, \"docs\", context.options.doc, context.docUpdates.values, docKey, context.clearFrontMatterKeys, changedFields);\n}\n\nfunction applyUniqueLinkedCollectionMutation<T extends LinkedFile | LinkedDoc>(\n document: ItemDocument,\n key: \"files\" | \"docs\",\n optionValue: string[] | undefined,\n values: T[] | undefined,\n keyOf: (value: T) => string,\n clearFrontMatterKeys: ReadonlySet<string>,\n changedFields: string[],\n): void {\n if (optionValue === undefined && !clearFrontMatterKeys.has(key)) {\n return;\n }\n if (clearFrontMatterKeys.has(key) || !values || values.length === 0) {\n delete document.metadata[key];\n } else {\n const next = [...((document.metadata[key] as T[] | undefined) ?? [])];\n const seen = new Set(next.map((entry) => keyOf(entry)));\n for (const entry of values) {\n const keyValue = keyOf(entry);\n if (!seen.has(keyValue)) {\n next.push(entry);\n seen.add(keyValue);\n }\n }\n document.metadata[key] = next as never;\n }\n changedFields.push(key);\n}\n\nfunction applyTestCollectionMutation(document: ItemDocument, context: UpdateMutationContext, changedFields: string[]): void {\n if (context.options.test === undefined && !context.clearFrontMatterKeys.has(\"tests\")) {\n return;\n }\n if (context.clearFrontMatterKeys.has(\"tests\") && context.options.replaceTests === true) {\n document.metadata.tests = dedupeLinkedTests(context.testUpdates.values) ?? [];\n } else if (context.clearFrontMatterKeys.has(\"tests\") || !context.testUpdates.values || context.testUpdates.values.length === 0) {\n delete document.metadata.tests;\n } else {\n document.metadata.tests = dedupeLinkedTests([...(document.metadata.tests ?? []), ...context.testUpdates.values]);\n }\n if (document.metadata.tests !== undefined && document.metadata.tests.length === 0) {\n delete document.metadata.tests;\n }\n changedFields.push(\"tests\");\n}\n\nfunction dedupeLinkedTests(values: LinkedTest[] | undefined): LinkedTest[] | undefined {\n if (!values || values.length === 0) {\n return undefined;\n }\n const next: LinkedTest[] = [];\n const seen = new Set<string>();\n for (const entry of values) {\n const key = testKey(entry);\n if (!seen.has(key)) {\n next.push(entry);\n seen.add(key);\n }\n }\n return next;\n}\n\nfunction applyTagsAndPlanningMutations(\n document: ItemDocument,\n context: UpdateMutationContext,\n scalarMutationContext: UpdateScalarMutationContext,\n): void {\n const addTagsValues = context.options.addTags;\n const removeTagsValues = context.options.removeTags;\n const hasAdditiveTagMutation =\n (Array.isArray(addTagsValues) && addTagsValues.length > 0) ||\n (Array.isArray(removeTagsValues) && removeTagsValues.length > 0);\n if (context.options.tags !== undefined || context.clearFrontMatterKeys.has(\"tags\") || hasAdditiveTagMutation) {\n const baseTags = context.clearFrontMatterKeys.has(\"tags\")\n ? []\n : context.options.tags !== undefined\n ? parseTags(context.options.tags)\n : Array.isArray(document.metadata.tags)\n ? [...(document.metadata.tags as string[])]\n : [];\n document.metadata.tags = applyTagRemovals(mergeAdditiveTags(baseTags, addTagsValues), removeTagsValues);\n scalarMutationContext.changedFields.push(\"tags\");\n }\n applyUpdateScalarMutations(UPDATE_POST_TAG_SCALAR_MUTATIONS, context.options, scalarMutationContext);\n applyOrderMutation(document, context, scalarMutationContext.changedFields);\n}\n\nfunction applyOrderMutation(document: ItemDocument, context: UpdateMutationContext, changedFields: string[]): void {\n const orderRaw = context.options.order ?? context.options.rank;\n if (orderRaw === undefined && !context.clearFrontMatterKeys.has(\"order\")) {\n return;\n }\n if (context.clearFrontMatterKeys.has(\"order\")) {\n delete document.metadata.order;\n } else {\n const parsedOrder = parseOptionalNumber(orderRaw ?? \"\", \"order\");\n if (!Number.isInteger(parsedOrder)) {\n throw new PmCliError(\"Order must be an integer\", EXIT_CODE.USAGE);\n }\n document.metadata.order = parsedOrder;\n }\n changedFields.push(\"order\");\n}\n\nfunction applyOwnershipAndIssueMutations(\n document: ItemDocument,\n context: UpdateMutationContext,\n scalarMutationContext: UpdateScalarMutationContext,\n warnings: string[],\n): void {\n applyAssigneeMutation(document, context, scalarMutationContext.changedFields);\n applyParentMutation(document, context, scalarMutationContext.changedFields);\n applyUpdateScalarMutations(UPDATE_STAKEHOLDER_SCALAR_MUTATIONS, context.options, scalarMutationContext);\n applySprintReleaseMutation(document, context, \"sprint\", warnings, scalarMutationContext.changedFields);\n applySprintReleaseMutation(document, context, \"release\", warnings, scalarMutationContext.changedFields);\n applyBlockedByMutation(document, context, scalarMutationContext.changedFields);\n applyUpdateScalarMutations(UPDATE_ISSUE_SCALAR_MUTATIONS, context.options, scalarMutationContext);\n}\n\nfunction applyAssigneeMutation(document: ItemDocument, context: UpdateMutationContext, changedFields: string[]): void {\n if (context.options.assignee === undefined && !context.clearFrontMatterKeys.has(\"assignee\")) {\n return;\n }\n if (context.clearFrontMatterKeys.has(\"assignee\")) {\n delete document.metadata.assignee;\n } else {\n const assignee = context.options.assignee?.trim() ?? \"\";\n if (assignee === \"\") {\n throw new PmCliError(\"--assignee must not be empty. Use --unset assignee to clear it.\", EXIT_CODE.USAGE);\n }\n document.metadata.assignee = assignee;\n }\n changedFields.push(\"assignee\");\n}\n\nfunction applyParentMutation(document: ItemDocument, context: UpdateMutationContext, changedFields: string[]): void {\n if (context.options.parent === undefined && !context.clearFrontMatterKeys.has(\"parent\")) {\n return;\n }\n if (context.clearFrontMatterKeys.has(\"parent\")) {\n delete document.metadata.parent;\n } else {\n document.metadata.parent = context.resolvedParentValue ?? \"\";\n }\n changedFields.push(\"parent\");\n}\n\nfunction applySprintReleaseMutation(\n document: ItemDocument,\n context: UpdateMutationContext,\n key: \"sprint\" | \"release\",\n warnings: string[],\n changedFields: string[],\n): void {\n if (context.options[key] === undefined && !context.clearFrontMatterKeys.has(key)) {\n return;\n }\n if (context.clearFrontMatterKeys.has(key)) {\n delete document.metadata[key];\n } else {\n const validation = validateSprintOrReleaseValue(key, context.options[key] ?? \"\", context.settings.validation.sprint_release_format);\n document.metadata[key] = validation.value;\n warnings.push(...validation.warnings);\n }\n changedFields.push(key);\n}\n\nfunction applyBlockedByMutation(document: ItemDocument, context: UpdateMutationContext, changedFields: string[]): void {\n if (context.options.blockedBy === undefined && !context.clearFrontMatterKeys.has(\"blocked_by\")) {\n return;\n }\n if (context.clearFrontMatterKeys.has(\"blocked_by\")) {\n delete document.metadata.blocked_by;\n } else {\n document.metadata.blocked_by = context.options.blockedBy?.trim() ?? \"\";\n }\n changedFields.push(\"blocked_by\");\n applyBlockedByDependencyEdge(\n document.metadata,\n context.resolvedBlockedByDependencyId,\n context.nowIso,\n context.author,\n changedFields,\n );\n}\n\nfunction applyScheduleMutations(document: ItemDocument, context: UpdateMutationContext, changedFields: string[]): void {\n if (context.options.reminder !== undefined || context.clearFrontMatterKeys.has(\"reminders\")) {\n if (context.clearFrontMatterKeys.has(\"reminders\")) {\n delete document.metadata.reminders;\n } else {\n document.metadata.reminders = parseReminderEntries(context.options.reminder ?? [], context.nowValue, { valueMode: \"trimmed\" });\n }\n changedFields.push(\"reminders\");\n }\n if (context.options.event !== undefined || context.clearFrontMatterKeys.has(\"events\")) {\n if (context.clearFrontMatterKeys.has(\"events\")) {\n delete document.metadata.events;\n } else {\n document.metadata.events = parseEventEntries(context.options.event ?? [], context.nowValue, {\n allDayEmptyGuard: \"truthy\",\n recurrenceEmptyNumericGuard: \"truthy\",\n });\n }\n changedFields.push(\"events\");\n }\n}\n\nfunction applyRuntimeAndRegisteredFieldMutations(\n metadataRecord: Record<string, unknown>,\n context: UpdateMutationContext,\n changedFields: string[],\n): void {\n clearDynamicFields(metadataRecord, context.runtimeFieldRegistry.definitions.map((definition) => definition.metadata_key), context.clearFrontMatterKeys, changedFields);\n clearDynamicFields(metadataRecord, context.extensionFieldNames, context.clearFrontMatterKeys, changedFields);\n for (const [fieldKey, fieldValue] of Object.entries(context.runtimeFieldUpdates)) {\n if (context.clearFrontMatterKeys.has(fieldKey)) {\n const fieldFlag = fieldKey.replaceAll(\"_\", \"-\");\n const definition = context.runtimeFieldRegistry.definitions.find((candidate) => candidate.metadata_key === fieldKey);\n const updateFlag = definition?.cli_flag ?? fieldFlag;\n throw new PmCliError(\n `Cannot combine --unset ${fieldFlag} with --${updateFlag}`,\n EXIT_CODE.USAGE,\n );\n }\n if (stableValueEquals(metadataRecord[fieldKey], fieldValue)) {\n continue;\n }\n metadataRecord[fieldKey] = fieldValue;\n changedFields.push(fieldKey);\n }\n\n const registeredItemFieldUpdates = parseRegisteredItemFieldAssignments(context.options.field, context.extensionRegistrations);\n for (const fieldKey of Object.keys(registeredItemFieldUpdates)) {\n if (context.clearFrontMatterKeys.has(fieldKey)) {\n throw new PmCliError(\n `Cannot combine --unset ${fieldKey.replaceAll(\"_\", \"-\")} with --field ${fieldKey}=...`,\n EXIT_CODE.USAGE,\n );\n }\n }\n for (const [fieldKey, fieldValue] of Object.entries(registeredItemFieldUpdates)) {\n if (!stableValueEquals(metadataRecord[fieldKey], fieldValue)) {\n metadataRecord[fieldKey] = fieldValue;\n changedFields.push(fieldKey);\n }\n }\n}\n\nfunction clearDynamicFields(\n metadataRecord: Record<string, unknown>,\n fieldKeys: readonly string[],\n clearFrontMatterKeys: ReadonlySet<string>,\n changedFields: string[],\n): void {\n for (const fieldKey of fieldKeys) {\n if (!clearFrontMatterKeys.has(fieldKey) || metadataRecord[fieldKey] === undefined) {\n continue;\n }\n delete metadataRecord[fieldKey];\n changedFields.push(fieldKey);\n }\n}\n\nfunction mutateUpdateDocument(document: ItemDocument, context: UpdateMutationContext): { changedFields: string[]; warnings: string[] } {\n const changedFields: string[] = [];\n const warnings: string[] = [];\n const previousStatusNormalized = applySimpleItemMutations(document, context.options, context.statusRegistry, changedFields);\n const metadataRecord = toItemRecord(document.metadata);\n const scalarMutationContext: UpdateScalarMutationContext = {\n metadataRecord,\n clearFrontMatterKeys: context.clearFrontMatterKeys,\n changedFields,\n nowValue: context.nowValue,\n };\n\n applyStatusAndCloseReasonMutations(document, context, previousStatusNormalized, changedFields);\n applyPriorityTypeAndOptions(document, context, changedFields);\n applyDependencyMutations(document, context, changedFields);\n applyLogCollectionMutations(document, context, changedFields);\n applyEvidenceCollectionMutations(document, context, changedFields);\n applyTagsAndPlanningMutations(document, context, scalarMutationContext);\n applyOwnershipAndIssueMutations(document, context, scalarMutationContext, warnings);\n if (\n normalizeStatusInput(document.metadata.status, context.statusRegistry) === context.statusRegistry.canceled_status &&\n document.metadata.assignee !== undefined\n ) {\n delete document.metadata.assignee;\n if (!changedFields.includes(\"assignee\")) {\n changedFields.push(\"assignee\");\n }\n }\n applyScheduleMutations(document, context, changedFields);\n applyRuntimeAndRegisteredFieldMutations(metadataRecord, context, changedFields);\n try {\n applyRegisteredItemFieldDefaultsAndValidation(\n metadataRecord,\n context.extensionRegistrations,\n { skipDefaultFields: context.clearFrontMatterKeys },\n );\n } catch (error: unknown) {\n throw new PmCliError(error instanceof Error ? error.message : \"Invalid extension item field values\", EXIT_CODE.USAGE);\n }\n return { changedFields, warnings };\n}\n\n/**\n * Implements run update for the public runtime surface of this module.\n */\nexport async function runUpdate(id: string, options: UpdateCommandOptions, global: GlobalOptions): Promise<UpdateResult> {\n options = await resolveStdinUpdateOptions(options);\n const pmRoot = resolvePmRoot(process.cwd(), global.path);\n await assertUpdateTrackerInitialized(pmRoot);\n const settings = await readSettings(pmRoot);\n const statusRegistry = resolveRuntimeStatusRegistry(settings.schema);\n const runtimeFieldRegistry = resolveRuntimeFieldRegistry(settings.schema);\n const extensionRegistrations = getActiveExtensionRegistrations();\n const extensionFieldNames = collectRegisteredItemFieldNames(extensionRegistrations);\n const typeRegistry = resolveItemTypeRegistry(settings, extensionRegistrations);\n // Per-type allowed-transition enforcement is read RAW (not preset-derived) so\n // existing projects are unaffected when unset; defaults to \"off\".\n const workflowEnforcement: GovernanceWorkflowEnforcement = settings.governance.workflow_enforcement ?? \"off\";\n const typeWorkflows = workflowEnforcement === \"off\" ? [] : resolveTypeWorkflows(settings.schema);\n const parentReferencePolicy = settings.validation.parent_reference;\n const unsetTargets = parseUpdateUnsetTargets(options.unset, runtimeFieldRegistry, extensionFieldNames);\n const clearOptionKeys = new Set<string>(unsetTargets.optionKeys);\n const clearFrontMatterKeys = new Set<string>(unsetTargets.frontMatterKeys);\n\n validateReplaceOptions(options);\n applyClearCollectionDefinitions({\n definitions: buildClearCollectionDefinitions(options),\n options,\n clearOptionKeys,\n clearFrontMatterKeys,\n });\n enforceAllowAuditUpdateScope(id, options, clearFrontMatterKeys);\n\n rejectUnsetScalarConflicts(options, unsetTargets);\n rejectLegacyScalarTokens(options);\n\n const author = toAuthor(options.author, settings.author_default);\n const nowValue = new Date();\n const nowIso = nowValue.toISOString();\n const dependencyUpdates = parseDependencyAdditions(options.dep, settings.id_prefix, nowIso);\n const dependencyRemovals = parseDependencyRemovals(options.depRemove, settings.id_prefix);\n const parsedCommentUpdates = parseLogSeed(\"--comment\", options.comment, nowIso, author);\n const commentUpdates = options.allowAuditUpdate === true && parsedCommentUpdates.values\n ? {\n ...parsedCommentUpdates,\n values: parsedCommentUpdates.values.map((entry) => ({ ...entry, author })),\n }\n : parsedCommentUpdates;\n const noteUpdates = parseLogSeed(\"--note\", options.note, nowIso, author);\n const learningUpdates = parseLogSeed(\"--learning\", options.learning, nowIso, author);\n const fileUpdates = parseFiles(options.file);\n const testUpdates = parseTests(options.test);\n const docUpdates = parseDocs(options.doc);\n const workflowTransitionWarnings: string[] = [];\n const parentReference = await resolveParentReferenceForUpdate({\n options,\n unsetTargets,\n pmRoot,\n settings,\n typeRegistry,\n parentReferencePolicy,\n });\n\n // pm-kyd6: resolve the --blocked-by target up front (async) so the sync\n // mutate callback can mirror create.ts and add a `blocked_by` dependency edge.\n const blockedByResolution = await resolveBlockedByDependencyTarget(\n options.blockedBy,\n clearFrontMatterKeys.has(\"blocked_by\"),\n pmRoot,\n settings.id_prefix,\n settings.item_format,\n typeRegistry.type_to_folder,\n );\n const resolvedBlockedByDependencyId = blockedByResolution.id;\n const parentReferenceWarnings = [...parentReference.warnings, ...blockedByResolutionWarnings(blockedByResolution)];\n\n const runtimeFieldUpdates = collectRuntimeUpdateFieldValues(\n options as Record<string, unknown>,\n runtimeFieldRegistry,\n options.runtimeFieldCommands,\n );\n const fieldFlags = buildUpdateFieldFlags(options, runtimeFieldUpdates);\n const changedFlags = Object.values(fieldFlags).some(Boolean);\n\n if (!changedFlags) {\n return buildNoopUpdateResult({ pmRoot, id, settings, typeRegistry });\n }\n\n workflowTransitionWarnings.push(...await collectWorkflowTransitionWarnings({\n options,\n fieldFlags,\n workflowEnforcement,\n typeWorkflows,\n statusRegistry,\n typeRegistry,\n pmRoot,\n id,\n settings,\n }));\n const routedClose = await routeCloseStatusUpdate({\n options,\n fieldFlags,\n statusRegistry,\n workflowTransitionWarnings,\n global,\n id,\n });\n if (routedClose) {\n return routedClose;\n }\n assertMatchingOrderRank(options);\n\n const result = await mutateItem({\n pmRoot,\n settings,\n typeToFolder: typeRegistry.type_to_folder,\n id,\n op: options.allowAuditUpdate === true || options.allowAuditDepUpdate === true ? \"update_audit\" : \"update\",\n author,\n message: options.message,\n force: options.force,\n bypassAssigneeConflict: options.allowAuditUpdate === true || options.allowAuditDepUpdate === true,\n extensionFieldNames,\n mutate(document) {\n return mutateUpdateDocument(document, {\n options,\n settings,\n typeRegistry,\n statusRegistry,\n runtimeFieldRegistry,\n extensionRegistrations,\n extensionFieldNames,\n clearFrontMatterKeys,\n dependencyUpdates,\n dependencyRemovals,\n commentUpdates,\n noteUpdates,\n learningUpdates,\n fileUpdates,\n testUpdates,\n docUpdates,\n resolvedParentValue: parentReference.resolvedParentValue,\n resolvedBlockedByDependencyId,\n runtimeFieldUpdates,\n nowValue,\n nowIso,\n author,\n pmRoot,\n });\n },\n });\n\n return {\n item: toItemRecord(result.item),\n changed_fields: result.changedFields,\n warnings: [...workflowTransitionWarnings, ...parentReferenceWarnings, ...result.warnings],\n ...(options.allowAuditUpdate === true || options.allowAuditDepUpdate === true ? { audit_update: true } : {}),\n };\n}\n\n/* c8 ignore stop */\nexport const _testOnlyUpdateCommand = {\n collectProvidedUpdatePolicyOptions,\n buildAuditScopeRestrictedOptionsError,\n enforceAllowAuditUpdateScope,\n enforceTypeWorkflowTransition,\n matchesDependencySelector,\n normalizeLegacyNoneUpdateOptions,\n normalizeUpdatePolicyOptionKey,\n parseDependencyAdditions,\n parseDependencyRemovals,\n parseUpdateUnsetTargets,\n reconcileBlockedByDependency,\n resolveRuntimeUnsetDefinition: (token: string, registry: RuntimeFieldRegistry | undefined) =>\n resolveRuntimeUnsetFieldDefinition(token, \"update\", registry),\n};\n"],"names":[],"mappings":"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","debugId":"6156dbbd-29ea-58f5-ba6e-c9ae989e23e3"}
1
+ {"version":3,"file":"update.js","sources":["cli/commands/update.ts"],"sourceRoot":"/","sourcesContent":["/**\n * @module cli/commands/update\n *\n * Implements the pm update command surface and its agent-facing runtime behavior.\n */\nimport { pathExists } from \"../../core/fs/fs-utils.js\";\nimport {\n COMMON_MUTATION_COMMAND_OPTION_KEYS,\n canonicalizeCommandOptionKey,\n commandOptionFlagLabel,\n resolveItemTypeRegistry,\n resolveCommandOptionPolicyState,\n resolveTypeDefinition,\n resolveTypeName,\n validateTypeOptions,\n} from \"../../core/item/type-registry.js\";\nimport { normalizeItemId } from \"../../core/item/id.js\";\nimport { toItemRecord } from \"../../core/item/item-record.js\";\nimport { buildInvalidTypeError } from \"../../core/schema/item-types-file.js\";\nimport {\n assertParentReferenceIsNotSelf,\n normalizeParentReferenceValue,\n validateMissingParentReference,\n} from \"../../core/item/parent-reference-policy.js\";\nimport { validateSprintOrReleaseValue } from \"../../core/item/sprint-release-format.js\";\nimport {\n applyTagRemovals,\n assertNoUnknownCsvKeys,\n createStdinTokenResolver,\n looksLikeGenericKeyValueEntry,\n mergeAdditiveTags,\n parseCsvKv,\n parseOptionalNumber,\n parseTags,\n} from \"../../core/item/parse.js\";\nimport { resolvePriority } from \"../../core/item/priority.js\";\nimport { normalizeStatusInput } from \"../../core/item/status.js\";\nimport { collectRuntimeUpdateFieldValues } from \"../../core/schema/runtime-field-values.js\";\nimport {\n resolveItemTypesFilePath,\n resolveRuntimeFieldRegistry,\n resolveRuntimeStatusRegistry,\n type RuntimeFieldRegistry,\n type RuntimeStatusRegistry,\n} from \"../../core/schema/runtime-schema.js\";\nimport {\n describeAllowedTransitions,\n evaluateTransition,\n resolveTypeWorkflows,\n type NormalizedTypeWorkflow,\n} from \"../../core/schema/type-workflows.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 { stableValueEquals } from \"../../core/shared/serialization.js\";\nimport { resolveIsoOrRelative } from \"../../core/shared/time.js\";\nimport { getActiveExtensionRegistrations } from \"../../core/extensions/index.js\";\nimport {\n collectRegisteredItemFieldNames,\n applyRegisteredItemFieldDefaultsAndValidation,\n parseRegisteredItemFieldAssignments,\n} from \"../../core/extensions/item-fields.js\";\nimport { buildItemNotFoundError, locateItem, mutateItem, readLocatedItem } from \"../../core/store/item-store.js\";\nimport { getSettingsPath, resolvePmRoot } from \"../../core/store/paths.js\";\nimport { readSettings } from \"../../core/store/settings.js\";\nimport { runClose } from \"./close.js\";\nimport {\n normalizeRiskInput,\n normalizeSeverityInput,\n parseConfidenceInput,\n parseRegressionInput,\n} from \"./metadata-normalizers.js\";\nimport {\n applyLegacyNoneCollectionNormalizers,\n assertNoLegacyNoneToken,\n assertNoLegacyNoneTokens,\n isLegacyNoneToken,\n type LegacyNoneCollectionNormalizer,\n} from \"./legacy-none-tokens.js\";\nimport { ensureEnumValue as ensureEnum } from \"./recurrence-parsers.js\";\nimport {\n parseEventEntries,\n parseReminderEntries,\n parseTypeOptionEntries,\n} from \"./repeatable-metadata-parsers.js\";\nimport type {\n Comment,\n Dependency,\n GovernanceWorkflowEnforcement,\n ItemFormat,\n ItemDocument,\n ItemFrontMatter,\n ItemStatus,\n LinkedDoc,\n LinkedFile,\n LinkedTest,\n LogNote,\n} from \"../../types/index.js\";\nimport {\n DEPENDENCY_KIND_VALUES,\n ISSUE_SEVERITY_VALUES,\n RISK_VALUES,\n} from \"../../types/index.js\";\nimport { parseDocs, parseFiles, parseLogSeed, parseTests } from \"./create.js\";\nimport {\n COMMON_UNSET_FIELD_DEFINITIONS_AFTER_CLOSE_REASON_BEFORE_AUTHOR,\n COMMON_UNSET_FIELD_DEFINITIONS_AFTER_AUTHOR,\n COMMON_UNSET_FIELD_DEFINITIONS_BEFORE_CLOSE_REASON,\n parseCommandUnsetTargets,\n resolveRuntimeUnsetFieldDefinition,\n type CommandUnsetFieldDefinition,\n} from \"./shared-unset-fields.js\";\nimport type {\n MutationMetadataCommandOptions,\n SharedLinkedResourceClearOptions,\n SharedLinkedResourceOptions,\n} from \"./mutation-command-options.js\";\n\n/**\n * Documents the update command options payload exchanged by command, SDK, and package integrations.\n */\nexport interface UpdateCommandOptions\n extends MutationMetadataCommandOptions,\n SharedLinkedResourceOptions,\n SharedLinkedResourceClearOptions {\n title?: string;\n description?: string;\n body?: string;\n status?: string;\n closeReason?: string;\n priority?: string;\n type?: string;\n tags?: string;\n addTags?: string[];\n removeTags?: string[];\n force?: boolean;\n allowAuditUpdate?: boolean;\n allowAuditDepUpdate?: boolean;\n depRemove?: string[];\n replaceDeps?: boolean;\n replaceTests?: boolean;\n runtimeFieldCommands?: Array<\"update\" | \"update_many\">;\n [key: string]: unknown;\n}\n\n/**\n * Documents the update result payload exchanged by command, SDK, and package integrations.\n */\nexport interface UpdateResult {\n item: Record<string, unknown>;\n changed_fields: string[];\n warnings: string[];\n audit_update?: boolean;\n}\n\ninterface UpdateUnsetFieldDefinition {\n optionKey: string;\n frontMatterKey: string;\n}\n\nconst UPDATE_UNSET_FIELD_DEFINITIONS: readonly CommandUnsetFieldDefinition[] = [\n ...COMMON_UNSET_FIELD_DEFINITIONS_BEFORE_CLOSE_REASON,\n { canonical: \"close-reason\", aliases: [\"close_reason\", \"close-reason\"], optionKey: \"closeReason\", frontMatterKey: \"close_reason\" },\n ...COMMON_UNSET_FIELD_DEFINITIONS_AFTER_CLOSE_REASON_BEFORE_AUTHOR,\n ...COMMON_UNSET_FIELD_DEFINITIONS_AFTER_AUTHOR,\n];\n\nconst UPDATE_UNSET_ALIAS_MAP: Map<string, UpdateUnsetFieldDefinition> = (() => {\n const map = new Map<string, UpdateUnsetFieldDefinition>();\n for (const definition of UPDATE_UNSET_FIELD_DEFINITIONS) {\n for (const alias of definition.aliases) {\n map.set(alias, {\n optionKey: definition.optionKey,\n frontMatterKey: definition.frontMatterKey,\n });\n }\n }\n return map;\n})();\n\nconst UPDATE_OPTION_KEY_TO_UNSET_CANONICAL = new Map<string, string>(\n UPDATE_UNSET_FIELD_DEFINITIONS.map((definition) => [definition.optionKey, definition.canonical]),\n);\n\nconst UPDATE_UNSET_SUPPORTED_CANONICAL_FIELDS = UPDATE_UNSET_FIELD_DEFINITIONS.map((definition) => definition.canonical)\n .sort((left, right) => left.localeCompare(right))\n .join(\", \");\n\nconst AUDIT_UPDATE_DISALLOWED_UNSET_FRONT_MATTER_KEYS = new Set<string>([\n \"close_reason\",\n \"assignee\",\n \"parent\",\n \"blocked_by\",\n \"blocked_reason\",\n \"unblock_note\",\n \"dependencies\",\n \"comments\",\n \"notes\",\n \"learnings\",\n \"files\",\n \"tests\",\n \"docs\",\n \"reminders\",\n \"events\",\n]);\n\nfunction toAuthor(candidate: string | undefined, defaultAuthor: string): string {\n const resolved = candidate ?? process.env.PM_AUTHOR ?? defaultAuthor;\n const trimmed = resolved.trim();\n return trimmed || \"unknown\";\n}\n\nconst UPDATE_LEGACY_NONE_COLLECTION_NORMALIZERS: ReadonlyArray<LegacyNoneCollectionNormalizer<UpdateCommandOptions>> = [\n { optionKey: \"dep\", clearFlagKey: \"clearDeps\", valueFlag: \"--dep\", clearFlag: \"--clear-deps\", disableFlagKey: \"replaceDeps\" },\n { optionKey: \"comment\", clearFlagKey: \"clearComments\", valueFlag: \"--comment\", clearFlag: \"--clear-comments\" },\n { optionKey: \"note\", clearFlagKey: \"clearNotes\", valueFlag: \"--note\", clearFlag: \"--clear-notes\" },\n { optionKey: \"learning\", clearFlagKey: \"clearLearnings\", valueFlag: \"--learning\", clearFlag: \"--clear-learnings\" },\n { optionKey: \"file\", clearFlagKey: \"clearFiles\", valueFlag: \"--file\", clearFlag: \"--clear-files\" },\n { optionKey: \"test\", clearFlagKey: \"clearTests\", valueFlag: \"--test\", clearFlag: \"--clear-tests\", disableFlagKey: \"replaceTests\" },\n { optionKey: \"doc\", clearFlagKey: \"clearDocs\", valueFlag: \"--doc\", clearFlag: \"--clear-docs\" },\n { optionKey: \"reminder\", clearFlagKey: \"clearReminders\", valueFlag: \"--reminder\", clearFlag: \"--clear-reminders\" },\n { optionKey: \"event\", clearFlagKey: \"clearEvents\", valueFlag: \"--event\", clearFlag: \"--clear-events\" },\n { optionKey: \"typeOption\", clearFlagKey: \"clearTypeOptions\", valueFlag: \"--type-option\", clearFlag: \"--clear-type-options\" },\n];\n\nfunction normalizeLegacyNoneUpdateOptions(options: UpdateCommandOptions): UpdateCommandOptions {\n const normalized: UpdateCommandOptions = {\n ...options,\n unset: options.unset ? [...options.unset] : undefined,\n };\n /* c8 ignore start -- unset dedupe helper branch permutations are covered by legacy option compatibility suites. */\n const appendUnsetTarget = (value: string): void => {\n const current = normalized.unset ? [...normalized.unset] : [];\n if (!current.includes(value)) {\n current.push(value);\n }\n normalized.unset = current;\n };\n /* c8 ignore stop */\n\n const scalarOptionKeys = new Set<string>([...UPDATE_OPTION_KEY_TO_UNSET_CANONICAL.keys(), \"rank\"]);\n for (const optionKey of scalarOptionKeys) {\n const candidate = normalized[optionKey];\n if (typeof candidate !== \"string\" || !isLegacyNoneToken(candidate)) {\n continue;\n }\n /* c8 ignore start -- rank alias canonicalization is exercised in legacy-option compatibility tests. */\n const canonicalUnset = optionKey === \"rank\" ? \"order\" : (UPDATE_OPTION_KEY_TO_UNSET_CANONICAL.get(optionKey) ?? optionKey);\n appendUnsetTarget(canonicalUnset);\n normalized[optionKey] = undefined;\n /* c8 ignore stop */\n }\n\n return applyLegacyNoneCollectionNormalizers(normalized, UPDATE_LEGACY_NONE_COLLECTION_NORMALIZERS);\n}\n\nfunction parseUpdateUnsetTargets(\n raw: string[] | undefined,\n runtimeFieldRegistry?: RuntimeFieldRegistry,\n extensionFieldNames: readonly string[] = [],\n): { frontMatterKeys: Set<string>; optionKeys: Set<string> } {\n return parseCommandUnsetTargets({\n raw,\n supportedFields: UPDATE_UNSET_SUPPORTED_CANONICAL_FIELDS,\n resolveDefinition: (trimmed) => {\n const extensionFieldName = extensionFieldNames.find((fieldName) => {\n const normalizedFieldName = fieldName.toLowerCase();\n return (\n normalizedFieldName === trimmed ||\n normalizedFieldName.replaceAll(\"_\", \"-\") === trimmed ||\n normalizedFieldName.replaceAll(\"-\", \"_\") === trimmed\n );\n });\n const definition = UPDATE_UNSET_ALIAS_MAP.get(trimmed) ??\n resolveRuntimeUnsetFieldDefinition(trimmed, \"update\", runtimeFieldRegistry) ??\n (extensionFieldName ? { optionKey: \"field\", frontMatterKey: extensionFieldName } : undefined);\n return definition;\n },\n });\n}\n\n// Restricted append-style flags have dedicated commands with their own\n// audit/override semantics; map each one to its exact replacement invocation so\n// audit-scope errors tell the agent how to retry instead of dead-ending. The\n// evidence append flags are allowed by --allow-audit-update, but still used by\n// narrower scopes such as --allow-audit-dep-update.\nconst AUDIT_RESTRICTED_FLAG_REPLACEMENTS: ReadonlyMap<string, (id: string) => string> = new Map([\n [\"--comment\", (id: string) => `pm comments ${id} --add \"<text>\" --allow-audit-comment`],\n [\"--file\", (id: string) => `pm files ${id} --add \"path=<path>,scope=<scope>,note=<note>\" --force`],\n [\"--doc\", (id: string) => `pm docs ${id} --add \"path=<path>,scope=<scope>,note=<note>\" --force`],\n]);\n\nfunction buildAuditScopeRestrictedOptionsError(params: {\n id: string;\n code: string;\n message: string;\n required: string;\n why: string;\n disallowedFlags: string[];\n}): PmCliError {\n // Only surface replacement commands for restricted flags the caller actually\n // passed, so the guidance is an exact retry path.\n const replacementCommands = params.disallowedFlags\n .flatMap((flag) => {\n const replacement = AUDIT_RESTRICTED_FLAG_REPLACEMENTS.get(flag);\n return replacement ? [replacement(params.id)] : [];\n });\n const replacementSteps = params.disallowedFlags\n .flatMap((flag) => {\n const replacement = AUDIT_RESTRICTED_FLAG_REPLACEMENTS.get(flag);\n return replacement ? [`Replace ${flag} with: ${replacement(params.id)}`] : [];\n });\n return new PmCliError(params.message, EXIT_CODE.USAGE, {\n code: params.code,\n required: params.required,\n why: params.why,\n ...(replacementCommands.length > 0 ? { examples: replacementCommands } : {}),\n nextSteps: [\n `Re-run without: ${params.disallowedFlags.join(\", \")}`,\n ...replacementSteps,\n ],\n });\n}\n\nfunction enforceAllowAuditUpdateScope(id: string, options: UpdateCommandOptions, clearFrontMatterKeys: Set<string>): void {\n const allowAuditUpdate = options.allowAuditUpdate === true;\n const allowAuditDepUpdate = options.allowAuditDepUpdate === true;\n if (!allowAuditUpdate && !allowAuditDepUpdate) {\n return;\n }\n if (allowAuditUpdate && allowAuditDepUpdate) {\n throw new PmCliError(\n \"Choose either --allow-audit-update or --allow-audit-dep-update; these override modes are mutually exclusive.\",\n EXIT_CODE.USAGE,\n );\n }\n const pushIf = (condition: boolean, flag: string, list: string[]): void => {\n if (condition) {\n list.push(flag);\n }\n };\n if (allowAuditDepUpdate) {\n const disallowedFlags: string[] = [];\n pushIf(options.title !== undefined, \"--title\", disallowedFlags);\n pushIf(options.description !== undefined, \"--description\", disallowedFlags);\n pushIf(options.body !== undefined, \"--body\", disallowedFlags);\n pushIf(options.status !== undefined, \"--status\", disallowedFlags);\n pushIf(options.closeReason !== undefined, \"--close-reason\", disallowedFlags);\n pushIf(options.priority !== undefined, \"--priority\", disallowedFlags);\n pushIf(options.type !== undefined, \"--type\", disallowedFlags);\n pushIf(options.tags !== undefined, \"--tags\", disallowedFlags);\n pushIf(Array.isArray(options.addTags) && options.addTags.length > 0, \"--add-tags\", disallowedFlags);\n pushIf(Array.isArray(options.removeTags) && options.removeTags.length > 0, \"--remove-tags\", disallowedFlags);\n pushIf(options.deadline !== undefined, \"--deadline\", disallowedFlags);\n pushIf(options.estimatedMinutes !== undefined, \"--estimate\", disallowedFlags);\n pushIf(options.acceptanceCriteria !== undefined, \"--acceptance-criteria\", disallowedFlags);\n pushIf(options.definitionOfReady !== undefined, \"--definition-of-ready\", disallowedFlags);\n pushIf(options.order !== undefined || options.rank !== undefined, \"--order/--rank\", disallowedFlags);\n pushIf(options.goal !== undefined, \"--goal\", disallowedFlags);\n pushIf(options.objective !== undefined, \"--objective\", disallowedFlags);\n pushIf(options.value !== undefined, \"--value\", disallowedFlags);\n pushIf(options.impact !== undefined, \"--impact\", disallowedFlags);\n pushIf(options.outcome !== undefined, \"--outcome\", disallowedFlags);\n pushIf(options.whyNow !== undefined, \"--why-now\", disallowedFlags);\n pushIf(options.assignee !== undefined, \"--assignee\", disallowedFlags);\n pushIf(options.parent !== undefined, \"--parent\", disallowedFlags);\n pushIf(options.reviewer !== undefined, \"--reviewer\", disallowedFlags);\n pushIf(options.risk !== undefined, \"--risk\", disallowedFlags);\n pushIf(options.confidence !== undefined, \"--confidence\", disallowedFlags);\n pushIf(options.sprint !== undefined, \"--sprint\", disallowedFlags);\n pushIf(options.release !== undefined, \"--release\", disallowedFlags);\n pushIf(options.blockedBy !== undefined, \"--blocked-by\", disallowedFlags);\n pushIf(options.blockedReason !== undefined, \"--blocked-reason\", disallowedFlags);\n pushIf(options.unblockNote !== undefined, \"--unblock-note\", disallowedFlags);\n pushIf(options.reporter !== undefined, \"--reporter\", disallowedFlags);\n pushIf(options.severity !== undefined, \"--severity\", disallowedFlags);\n pushIf(options.environment !== undefined, \"--environment\", disallowedFlags);\n pushIf(options.reproSteps !== undefined, \"--repro-steps\", disallowedFlags);\n pushIf(options.resolution !== undefined, \"--resolution\", disallowedFlags);\n pushIf(options.expectedResult !== undefined, \"--expected-result\", disallowedFlags);\n pushIf(options.actualResult !== undefined, \"--actual-result\", disallowedFlags);\n pushIf(options.affectedVersion !== undefined, \"--affected-version\", disallowedFlags);\n pushIf(options.fixedVersion !== undefined, \"--fixed-version\", disallowedFlags);\n pushIf(options.component !== undefined, \"--component\", disallowedFlags);\n pushIf(options.regression !== undefined, \"--regression\", disallowedFlags);\n pushIf(options.customerImpact !== undefined, \"--customer-impact\", disallowedFlags);\n pushIf(options.depRemove !== undefined, \"--dep-remove\", disallowedFlags);\n pushIf(options.replaceDeps === true, \"--replace-deps\", disallowedFlags);\n pushIf(options.replaceTests === true, \"--replace-tests\", disallowedFlags);\n pushIf(options.comment !== undefined, \"--comment\", disallowedFlags);\n pushIf(options.note !== undefined, \"--note\", disallowedFlags);\n pushIf(options.learning !== undefined, \"--learning\", disallowedFlags);\n pushIf(options.file !== undefined, \"--file\", disallowedFlags);\n pushIf(options.test !== undefined, \"--test\", disallowedFlags);\n pushIf(options.doc !== undefined, \"--doc\", disallowedFlags);\n pushIf(options.reminder !== undefined, \"--reminder\", disallowedFlags);\n pushIf(options.event !== undefined, \"--event\", disallowedFlags);\n pushIf(options.typeOption !== undefined, \"--type-option\", disallowedFlags);\n pushIf(options.clearDeps === true, \"--clear-deps\", disallowedFlags);\n pushIf(options.clearComments === true, \"--clear-comments\", disallowedFlags);\n pushIf(options.clearNotes === true, \"--clear-notes\", disallowedFlags);\n pushIf(options.clearLearnings === true, \"--clear-learnings\", disallowedFlags);\n pushIf(options.clearFiles === true, \"--clear-files\", disallowedFlags);\n pushIf(options.clearTests === true, \"--clear-tests\", disallowedFlags);\n pushIf(options.clearDocs === true, \"--clear-docs\", disallowedFlags);\n pushIf(options.clearReminders === true, \"--clear-reminders\", disallowedFlags);\n pushIf(options.clearEvents === true, \"--clear-events\", disallowedFlags);\n pushIf(options.clearTypeOptions === true, \"--clear-type-options\", disallowedFlags);\n pushIf(options.force === true, \"--force\", disallowedFlags);\n pushIf(clearFrontMatterKeys.size > 0, \"--unset\", disallowedFlags);\n if (options.dep === undefined || options.dep.length === 0) {\n throw new PmCliError(\"--allow-audit-dep-update requires at least one --dep value\", EXIT_CODE.USAGE);\n }\n if (disallowedFlags.length > 0) {\n throw buildAuditScopeRestrictedOptionsError({\n id,\n code: \"audit_dep_update_restricted_options\",\n message: `--allow-audit-dep-update supports append-only dependency additions via --dep. Remove restricted options: ${disallowedFlags.join(\", \")}`,\n required: \"Pass only --dep additions (plus --message/--author) when using --allow-audit-dep-update.\",\n why: \"--allow-audit-dep-update is a narrow non-owner override scoped to append-only dependency additions; every other mutation keeps its normal ownership rules.\",\n disallowedFlags,\n });\n }\n return;\n }\n\n const disallowedFlags: string[] = [];\n pushIf(options.status !== undefined, \"--status\", disallowedFlags);\n pushIf(options.closeReason !== undefined, \"--close-reason\", disallowedFlags);\n pushIf(options.assignee !== undefined, \"--assignee\", disallowedFlags);\n pushIf(options.parent !== undefined, \"--parent\", disallowedFlags);\n pushIf(options.blockedBy !== undefined, \"--blocked-by\", disallowedFlags);\n pushIf(options.blockedReason !== undefined, \"--blocked-reason\", disallowedFlags);\n pushIf(options.unblockNote !== undefined, \"--unblock-note\", disallowedFlags);\n pushIf(options.dep !== undefined, \"--dep\", disallowedFlags);\n pushIf(options.depRemove !== undefined, \"--dep-remove\", disallowedFlags);\n pushIf(options.replaceDeps === true, \"--replace-deps\", disallowedFlags);\n pushIf(options.replaceTests === true, \"--replace-tests\", disallowedFlags);\n pushIf(options.note !== undefined, \"--note\", disallowedFlags);\n pushIf(options.learning !== undefined, \"--learning\", disallowedFlags);\n pushIf(options.test !== undefined, \"--test\", disallowedFlags);\n pushIf(options.reminder !== undefined, \"--reminder\", disallowedFlags);\n pushIf(options.event !== undefined, \"--event\", disallowedFlags);\n pushIf(options.clearDeps === true, \"--clear-deps\", disallowedFlags);\n pushIf(options.clearComments === true, \"--clear-comments\", disallowedFlags);\n pushIf(options.clearNotes === true, \"--clear-notes\", disallowedFlags);\n pushIf(options.clearLearnings === true, \"--clear-learnings\", disallowedFlags);\n pushIf(options.clearFiles === true, \"--clear-files\", disallowedFlags);\n pushIf(options.clearTests === true, \"--clear-tests\", disallowedFlags);\n pushIf(options.clearDocs === true, \"--clear-docs\", disallowedFlags);\n pushIf(options.clearReminders === true, \"--clear-reminders\", disallowedFlags);\n pushIf(options.clearEvents === true, \"--clear-events\", disallowedFlags);\n\n /* c8 ignore start -- audit unset ordering fallback is validated by audit-governance integration coverage. */\n const disallowedUnset = [...clearFrontMatterKeys]\n .filter((field) => AUDIT_UPDATE_DISALLOWED_UNSET_FRONT_MATTER_KEYS.has(field))\n .sort((left, right) => left.localeCompare(right))\n .map((field) => `--unset ${field.replaceAll(\"_\", \"-\")}`);\n /* c8 ignore stop */\n disallowedFlags.push(...disallowedUnset);\n\n if (disallowedFlags.length > 0) {\n throw buildAuditScopeRestrictedOptionsError({\n id,\n code: \"audit_update_restricted_options\",\n message: `--allow-audit-update only supports non-lifecycle metadata fields and evidence appends. Remove restricted options: ${disallowedFlags.join(\", \")}`,\n required: \"Limit --allow-audit-update to non-lifecycle metadata fields plus append-only --comment/--file/--doc evidence; route restricted appends and lifecycle changes through their dedicated commands.\",\n why: \"--allow-audit-update is a non-owner override scoped to metadata audits and append-only evidence; lifecycle, ownership, dependency mutations, restricted append fields, and clear/replace operations keep their normal ownership rules.\",\n disallowedFlags,\n });\n }\n}\n\n/* c8 ignore start -- lifecycle/dependency edge branches are exercised by dedicated update workflow integration tests. */\nfunction parseStatus(value: string, statusRegistry: RuntimeStatusRegistry): ItemStatus {\n const normalized = normalizeStatusInput(value, statusRegistry);\n if (!normalized) {\n const allowedStatuses = statusRegistry.definitions.map((definition) => definition.id);\n throw new PmCliError(`Invalid --status value \"${value}\". Allowed: ${allowedStatuses.join(\", \")}`, EXIT_CODE.USAGE);\n }\n return normalized;\n}\n\n/**\n * Enforce per-type allowed-transition rules (governance.workflow_enforcement).\n * `off` (default) or an unrestricted type is a no-op. `strict` throws on a\n * disallowed transition; `warn` returns a warning string surfaced on the\n * update result. The target status is the raw `--status` value (resolved\n * case-insensitively through the registry inside evaluateTransition).\n */\nfunction enforceTypeWorkflowTransition(params: {\n enforcement: GovernanceWorkflowEnforcement;\n typeWorkflows: NormalizedTypeWorkflow[];\n statusRegistry: RuntimeStatusRegistry;\n typeName: string;\n fromStatus: string;\n toStatus: string;\n}): string | undefined {\n if (params.enforcement === \"off\" || params.typeWorkflows.length === 0) {\n return undefined;\n }\n const result = evaluateTransition({\n typeName: params.typeName,\n fromStatus: params.fromStatus,\n toStatus: params.toStatus,\n typeWorkflows: params.typeWorkflows,\n statusRegistry: params.statusRegistry,\n });\n if (!result.hasRule || result.allowed) {\n return undefined;\n }\n const normalizedFrom = normalizeStatusInput(params.fromStatus, params.statusRegistry) ?? params.fromStatus;\n const normalizedTo = normalizeStatusInput(params.toStatus, params.statusRegistry) ?? params.toStatus;\n const message =\n `Disallowed transition for type \"${params.typeName}\": ${normalizedFrom} -> ${normalizedTo}. ` +\n `Allowed transitions: ${describeAllowedTransitions(result.allowedTransitions)}.`;\n if (params.enforcement === \"strict\") {\n throw new PmCliError(message, EXIT_CODE.USAGE);\n }\n return `workflow_transition_not_allowed: ${message}`;\n}\n\ninterface ParsedDependencyUpdates {\n additions: Dependency[];\n}\n\ninterface DependencyRemovalSelector {\n id: string;\n kind?: (typeof DEPENDENCY_KIND_VALUES)[number];\n source_kind?: string;\n}\n\nfunction parseDependencyCreatedAt(value: string | undefined, currentIso: string): string {\n if (!value || value.trim() === \"\" || value.trim().toLowerCase() === \"now\") {\n return currentIso;\n }\n const parsed = Date.parse(value);\n if (!Number.isFinite(parsed)) {\n throw new PmCliError(`Invalid dependency created_at timestamp \"${value}\"`, EXIT_CODE.USAGE);\n }\n return new Date(parsed).toISOString();\n}\n\nfunction parseOptionalDependencyString(value: string | undefined): string | undefined {\n if (value === undefined) return undefined;\n const trimmed = value.trim();\n return trimmed.length > 0 ? trimmed : undefined;\n}\n\n/** Allowed CSV/markdown keys for the update `--dep` addition seed (GH-258). */\nconst DEP_ADDITION_KEYS = [\"id\", \"kind\", \"type\", \"author\", \"created_at\", \"source_kind\"] as const;\n/** Allowed CSV/markdown keys for the `--dep-remove` selector (GH-258). */\nconst DEP_REMOVE_KEYS = [\"id\", \"kind\", \"type\", \"source_kind\"] as const;\n\nfunction looksLikeStructuredDependencyEntry(raw: string): boolean {\n if (raw.startsWith(\"```\") || raw.includes(\"\\n\")) {\n return true;\n }\n if (/^(?:[-*+]\\s+)?(?:id|kind|type|author|created_at|source_kind)\\s*[:=]/i.test(raw)) {\n return true;\n }\n // A first-key typo (e.g. `bogus=v,id=pm-2`) must still be parsed so the unknown\n // key is rejected rather than swallowed as a bare item id (GH-258).\n return looksLikeGenericKeyValueEntry(raw);\n}\n\n// pm-fl0c #4 (2026-05-28): `pm plan` accepts `depends_on` as a link kind\n// (`PLAN_STEP_LINK_KIND_VALUES`) but `pm update --dep kind=depends_on` rejected\n// it because `DEPENDENCY_KIND_VALUES` only lists `blocked_by`. The two terms\n// are semantically identical from this side (\"X depends on Y\" === \"X blocked\n// by Y\"), so we normalize input here rather than expanding the persisted enum\n// — the stored kind stays canonical (`blocked_by`) and downstream consumers\n// (closing logic, dependency graphs, blockers views) keep working unchanged.\nconst DEPENDENCY_KIND_INPUT_ALIASES: Readonly<Record<string, string>> = {\n \"blocked-by\": \"blocked_by\",\n depends_on: \"blocked_by\",\n \"depends-on\": \"blocked_by\",\n};\n\nfunction normalizeDependencyKindInput(raw: string | undefined): string | undefined {\n if (typeof raw !== \"string\") {\n return raw;\n }\n const trimmed = raw.trim();\n const alias = DEPENDENCY_KIND_INPUT_ALIASES[trimmed.toLowerCase()];\n return alias ?? trimmed;\n}\n\nfunction parseDependencyAdditions(raw: string[] | undefined, prefix: string, nowIso: string): ParsedDependencyUpdates {\n if (!raw) {\n return { additions: [] };\n }\n assertNoLegacyNoneTokens(raw, \"--dep\", \"Use --clear-deps to clear dependencies.\");\n const additions: Dependency[] = raw.map((entry) => {\n const trimmedEntry = entry.trim();\n const isStructured = looksLikeStructuredDependencyEntry(trimmedEntry);\n const kv = isStructured ? parseCsvKv(entry, \"--dep\") : { id: trimmedEntry, kind: \"related\" };\n if (isStructured) {\n assertNoUnknownCsvKeys(kv, \"--dep\", DEP_ADDITION_KEYS);\n }\n const id = kv.id?.trim();\n const kind = normalizeDependencyKindInput((kv.kind ?? kv.type)?.trim());\n if (!id || !kind) {\n throw new PmCliError(\"--dep requires id and kind, or a bare item id to add a related dependency\", EXIT_CODE.USAGE);\n }\n if (id.toLowerCase() === \"undefined\") {\n throw new PmCliError(\n `--dep id must not use placeholder token \"${id}\". Use --clear-deps to clear dependencies.`,\n EXIT_CODE.USAGE,\n );\n }\n const sourceKind = parseOptionalDependencyString(kv.source_kind);\n return {\n id: normalizeItemId(id, prefix),\n kind: ensureEnum(kind, DEPENDENCY_KIND_VALUES, \"dependency kind\"),\n created_at: parseDependencyCreatedAt(kv.created_at, nowIso),\n author: parseOptionalDependencyString(kv.author),\n source_kind: sourceKind,\n };\n });\n return { additions };\n}\n\nfunction parseDependencyRemovals(raw: string[] | undefined, prefix: string): DependencyRemovalSelector[] {\n if (!raw) {\n return [];\n }\n assertNoLegacyNoneTokens(raw, \"--dep-remove\");\n return raw.map((entry) => {\n const trimmed = entry.trim();\n if (!trimmed) {\n throw new PmCliError(\"--dep-remove requires id or key/value selectors\", EXIT_CODE.USAGE);\n }\n if (trimmed.includes(\"=\") || /^(?:[-*+]\\s+)?(?:id|kind|type|source_kind)\\s*[:=]/i.test(trimmed) || trimmed.startsWith(\"```\")) {\n const kv = parseCsvKv(trimmed, \"--dep-remove\");\n assertNoUnknownCsvKeys(kv, \"--dep-remove\", DEP_REMOVE_KEYS);\n const idRaw = kv.id?.trim();\n if (!idRaw) {\n throw new PmCliError(\"--dep-remove key/value form requires id=<value>\", EXIT_CODE.USAGE);\n }\n if (idRaw.toLowerCase() === \"undefined\") {\n throw new PmCliError(`--dep-remove id must not use placeholder token \"${idRaw}\"`, EXIT_CODE.USAGE);\n }\n const kindRaw = normalizeDependencyKindInput(parseOptionalDependencyString(kv.kind ?? kv.type));\n const sourceKind = parseOptionalDependencyString(kv.source_kind);\n return {\n id: normalizeItemId(idRaw, prefix),\n kind: kindRaw ? ensureEnum(kindRaw, DEPENDENCY_KIND_VALUES, \"dependency kind\") : undefined,\n source_kind: sourceKind,\n };\n }\n if (trimmed.toLowerCase() === \"undefined\") {\n throw new PmCliError(`--dep-remove id must not use placeholder token \"${trimmed}\"`, EXIT_CODE.USAGE);\n }\n return {\n id: normalizeItemId(trimmed, prefix),\n };\n });\n}\n\nfunction dependencyKey(value: Pick<Dependency, \"id\" | \"kind\" | \"source_kind\">): string {\n return `${value.id}::${value.kind}::${value.source_kind ?? \"\"}`;\n}\n\n// pm-kyd6: `--blocked-by` writes the `blocked_by` scalar, but the dependency\n// graph (`pm deps`) is built only from the `dependencies` array. Mirror the\n// behaviour create.ts already has so the metadata and the graph agree: a\n// resolvable blocker also gets a `blocked_by` dependency edge, clearing the\n// scalar removes that edge, and re-pointing it replaces the prior edge.\nfunction reconcileBlockedByDependency(\n current: Dependency[] | undefined,\n nextBlockedById: string | undefined,\n nowIsoValue: string,\n author: string,\n): { dependencies: Dependency[] | undefined; changed: boolean } {\n let next = [...(current ?? [])];\n let changed = false;\n const filtered = next.filter((dep) => dep.kind !== \"blocked_by\" || dep.id === nextBlockedById);\n if (filtered.length !== next.length) {\n next = filtered;\n changed = true;\n }\n if (nextBlockedById && !next.some((dep) => dep.kind === \"blocked_by\" && dep.id === nextBlockedById)) {\n next.push({ id: nextBlockedById, kind: \"blocked_by\", created_at: nowIsoValue, author });\n changed = true;\n }\n if (!changed) {\n return { dependencies: current, changed: false };\n }\n return { dependencies: next.length > 0 ? next : undefined, changed: true };\n}\n\n// pm-kyd6: resolve the --blocked-by target before the synchronous mutate\n// callback so a real blocker can also become a `blocked_by` dependency edge.\n// `id` is set when the target resolves; `unresolved` carries the raw value when\n// --blocked-by points at an item that does not exist (the scalar is still set,\n// mirroring create.ts and the never-block missing-parent behaviour, but the\n// caller surfaces a warning so the metadata/graph mismatch is visible).\nasync function resolveBlockedByDependencyTarget(\n blockedByOption: string | undefined,\n blockedByCleared: boolean,\n pmRoot: string,\n idPrefix: string,\n itemFormat: ItemFormat,\n typeToFolder: Record<string, string>,\n): Promise<{ id?: string; unresolved?: string }> {\n if (blockedByOption === undefined || blockedByCleared) {\n return {};\n }\n const blockedByValue = blockedByOption.trim();\n if (blockedByValue.length === 0) {\n return {};\n }\n const located = await locateItem(pmRoot, normalizeItemId(blockedByValue, idPrefix), idPrefix, itemFormat, typeToFolder);\n return located ? { id: located.id } : { unresolved: blockedByValue };\n}\n\n// pm-kyd6: apply the reconciled blocked_by dependency edge to the item metadata\n// and record the `dependencies` change. Kept out of the mutate callback so the\n// large runUpdate function stays under the static-quality complexity budget.\nfunction applyBlockedByDependencyEdge(\n metadata: ItemFrontMatter,\n resolvedBlockedById: string | undefined,\n nowIsoValue: string,\n author: string,\n changedFields: string[],\n): void {\n const reconciled = reconcileBlockedByDependency(\n metadata.dependencies,\n resolvedBlockedById,\n nowIsoValue,\n author,\n );\n if (!reconciled.changed) {\n return;\n }\n if (reconciled.dependencies === undefined) {\n delete metadata.dependencies;\n } else {\n metadata.dependencies = reconciled.dependencies;\n }\n if (!changedFields.includes(\"dependencies\")) {\n changedFields.push(\"dependencies\");\n }\n}\n\nfunction fileKey(value: Pick<LinkedFile, \"path\" | \"scope\">): string {\n return `${value.path}::${value.scope}`;\n}\n\nfunction docKey(value: Pick<LinkedDoc, \"path\" | \"scope\">): string {\n return `${value.path}::${value.scope}`;\n}\n\nfunction testKey(value: Pick<LinkedTest, \"command\" | \"path\" | \"scope\" | \"pm_context_mode\">): string {\n return `${value.command}::${value.path ?? \"\"}::${value.scope}::${value.pm_context_mode ?? \"\"}`;\n}\n\nfunction matchesDependencySelector(value: Dependency, selector: DependencyRemovalSelector): boolean {\n if (value.id !== selector.id) {\n return false;\n }\n if (selector.kind && value.kind !== selector.kind) {\n return false;\n }\n if (selector.source_kind !== undefined && (value.source_kind ?? undefined) !== selector.source_kind) {\n return false;\n }\n return true;\n}\n\nfunction ensurePriority(raw: string | number): 0 | 1 | 2 | 3 | 4 {\n return resolvePriority(raw);\n}\n\nfunction normalizeUpdatePolicyOptionKey(raw: string, typeName: string): string {\n const canonical = canonicalizeCommandOptionKey(\"update\", raw);\n if (!canonical) {\n throw new PmCliError(\n `Unsupported command_option_policies option \"${raw}\" for update command on type \"${typeName}\"`,\n EXIT_CODE.CONFLICT,\n );\n }\n return canonical;\n}\n\nfunction collectProvidedUpdatePolicyOptions(\n options: UpdateCommandOptions,\n runtimeFieldRegistry: RuntimeFieldRegistry,\n extensionFieldNames: readonly string[],\n): Set<string> {\n const provided = new Set<string>();\n const mark = (optionKey: string, isProvided: boolean): void => {\n if (isProvided) {\n provided.add(optionKey);\n }\n };\n mark(\"title\", options.title !== undefined);\n mark(\"description\", options.description !== undefined);\n mark(\"body\", options.body !== undefined);\n mark(\"status\", options.status !== undefined);\n mark(\"closeReason\", options.closeReason !== undefined);\n mark(\"priority\", options.priority !== undefined);\n mark(\"type\", options.type !== undefined);\n // `--add-tags` / `--remove-tags` mutate the same `tags` field as `--tags`, so\n // they count toward the `tags` command_option_policy (disabled + required).\n mark(\n \"tags\",\n options.tags !== undefined ||\n (Array.isArray(options.addTags) && options.addTags.length > 0) ||\n (Array.isArray(options.removeTags) && options.removeTags.length > 0),\n );\n mark(\"deadline\", options.deadline !== undefined);\n mark(\"estimatedMinutes\", options.estimatedMinutes !== undefined);\n mark(\"acceptanceCriteria\", options.acceptanceCriteria !== undefined);\n mark(\"definitionOfReady\", options.definitionOfReady !== undefined);\n mark(\"order\", options.order !== undefined || options.rank !== undefined);\n mark(\"goal\", options.goal !== undefined);\n mark(\"objective\", options.objective !== undefined);\n mark(\"value\", options.value !== undefined);\n mark(\"impact\", options.impact !== undefined);\n mark(\"outcome\", options.outcome !== undefined);\n mark(\"whyNow\", options.whyNow !== undefined);\n mark(\"author\", options.author !== undefined);\n mark(\"message\", options.message !== undefined);\n mark(\"assignee\", options.assignee !== undefined);\n mark(\"parent\", options.parent !== undefined);\n mark(\"reviewer\", options.reviewer !== undefined);\n mark(\"risk\", options.risk !== undefined);\n mark(\"confidence\", options.confidence !== undefined);\n mark(\"sprint\", options.sprint !== undefined);\n mark(\"release\", options.release !== undefined);\n mark(\"blockedBy\", options.blockedBy !== undefined);\n mark(\"blockedReason\", options.blockedReason !== undefined);\n mark(\"unblockNote\", options.unblockNote !== undefined);\n mark(\"reporter\", options.reporter !== undefined);\n mark(\"severity\", options.severity !== undefined);\n mark(\"environment\", options.environment !== undefined);\n mark(\"reproSteps\", options.reproSteps !== undefined);\n mark(\"resolution\", options.resolution !== undefined);\n mark(\"expectedResult\", options.expectedResult !== undefined);\n mark(\"actualResult\", options.actualResult !== undefined);\n mark(\"affectedVersion\", options.affectedVersion !== undefined);\n mark(\"fixedVersion\", options.fixedVersion !== undefined);\n mark(\"component\", options.component !== undefined);\n mark(\"regression\", options.regression !== undefined);\n mark(\"customerImpact\", options.customerImpact !== undefined);\n mark(\"dep\", options.dep !== undefined);\n mark(\"depRemove\", options.depRemove !== undefined);\n mark(\"dep\", options.replaceDeps === true);\n mark(\"comment\", options.comment !== undefined);\n mark(\"note\", options.note !== undefined);\n mark(\"learning\", options.learning !== undefined);\n mark(\"file\", options.file !== undefined);\n mark(\"test\", options.test !== undefined);\n mark(\"test\", options.replaceTests === true);\n mark(\"doc\", options.doc !== undefined);\n mark(\"reminder\", options.reminder !== undefined);\n mark(\"event\", options.event !== undefined);\n mark(\"typeOption\", options.typeOption !== undefined);\n mark(\"field\", options.field !== undefined);\n mark(\"force\", options.force === true);\n mark(\"allowAuditUpdate\", options.allowAuditUpdate === true);\n mark(\"dep\", options.clearDeps === true);\n mark(\"comment\", options.clearComments === true);\n mark(\"note\", options.clearNotes === true);\n mark(\"learning\", options.clearLearnings === true);\n mark(\"file\", options.clearFiles === true);\n mark(\"test\", options.clearTests === true);\n mark(\"doc\", options.clearDocs === true);\n mark(\"reminder\", options.clearReminders === true);\n mark(\"event\", options.clearEvents === true);\n mark(\"typeOption\", options.clearTypeOptions === true);\n if (options.unset && options.unset.length > 0) {\n const unsetTargets = parseUpdateUnsetTargets(options.unset, runtimeFieldRegistry, extensionFieldNames);\n for (const optionKey of unsetTargets.optionKeys) {\n mark(optionKey, true);\n }\n }\n return provided;\n}\n\nfunction enforceUpdateOptionsByType(\n typeName: string,\n options: UpdateCommandOptions,\n typeRegistry: ReturnType<typeof resolveItemTypeRegistry>,\n runtimeFieldRegistry: RuntimeFieldRegistry,\n extensionFieldNames: readonly string[],\n): void {\n const typeDefinition = resolveTypeDefinition(typeName, typeRegistry);\n if (!typeDefinition) {\n throw new PmCliError(`Invalid type value \"${typeName}\"`, EXIT_CODE.USAGE);\n }\n const policyState = resolveCommandOptionPolicyState(typeDefinition, \"update\", []);\n if (policyState.errors.length > 0) {\n throw new PmCliError(policyState.errors.join(\"; \"), EXIT_CODE.CONFLICT);\n }\n\n const provided = collectProvidedUpdatePolicyOptions(options, runtimeFieldRegistry, extensionFieldNames);\n for (const disabled of policyState.disabled) {\n if (provided.has(normalizeUpdatePolicyOptionKey(disabled, typeName))) {\n throw new PmCliError(\n `Option ${commandOptionFlagLabel(\"update\", disabled)} is disabled for type \"${typeName}\" by command_option_policies`,\n EXIT_CODE.USAGE,\n );\n }\n }\n\n for (const required of policyState.required) {\n if (!provided.has(normalizeUpdatePolicyOptionKey(required, typeName))) {\n throw new PmCliError(\n `Missing required option ${commandOptionFlagLabel(\"update\", required)} for type \"${typeName}\"`,\n EXIT_CODE.USAGE,\n );\n }\n }\n}\n\ninterface UpdateScalarMutationContext {\n metadataRecord: Record<string, unknown>;\n clearFrontMatterKeys: ReadonlySet<string>;\n changedFields: string[];\n nowValue: Date;\n}\n\ninterface UpdateScalarMutationDefinition {\n optionKey: keyof UpdateCommandOptions;\n metadataKey: string;\n transform?: (value: string, context: UpdateScalarMutationContext) => unknown;\n}\n\ninterface UpdateClearCollectionDefinition {\n enabled: boolean | undefined;\n optionKey: string;\n clearFlag: string;\n valueFlag: string;\n values: string[] | undefined;\n frontMatterKey: string;\n}\n\ninterface UpdateMutationContext {\n options: UpdateCommandOptions;\n settings: Awaited<ReturnType<typeof readSettings>>;\n typeRegistry: ReturnType<typeof resolveItemTypeRegistry>;\n statusRegistry: RuntimeStatusRegistry;\n runtimeFieldRegistry: RuntimeFieldRegistry;\n extensionRegistrations: ReturnType<typeof getActiveExtensionRegistrations>;\n extensionFieldNames: readonly string[];\n clearFrontMatterKeys: ReadonlySet<string>;\n dependencyUpdates: ParsedDependencyUpdates;\n dependencyRemovals: DependencyRemovalSelector[];\n commentUpdates: ReturnType<typeof parseLogSeed>;\n noteUpdates: ReturnType<typeof parseLogSeed>;\n learningUpdates: ReturnType<typeof parseLogSeed>;\n fileUpdates: ReturnType<typeof parseFiles>;\n testUpdates: ReturnType<typeof parseTests>;\n docUpdates: ReturnType<typeof parseDocs>;\n resolvedParentValue: string | undefined;\n resolvedBlockedByDependencyId: string | undefined;\n runtimeFieldUpdates: Record<string, unknown>;\n nowValue: Date;\n nowIso: string;\n author: string;\n pmRoot: string;\n}\n\ninterface CloseRouteContext {\n options: UpdateCommandOptions;\n fieldFlags: Record<string, boolean>;\n statusRegistry: RuntimeStatusRegistry;\n workflowTransitionWarnings: readonly string[];\n global: GlobalOptions;\n id: string;\n}\n\n// `rank` is a legacy alias for `order`; keep it out of the scalar loop if the\n// shared mutation key list ever grows to include that alias.\nconst UPDATE_LEGACY_COMMON_SCALAR_OPTION_EXCLUSIONS = new Set<string>([\"order\", \"rank\"]);\nconst UPDATE_LEGACY_COMMON_SCALAR_OPTION_KEYS = COMMON_MUTATION_COMMAND_OPTION_KEYS.filter(\n (key) => !UPDATE_LEGACY_COMMON_SCALAR_OPTION_EXCLUSIONS.has(key),\n) as readonly (keyof UpdateCommandOptions)[];\n\nconst UPDATE_LEGACY_SCALAR_OPTION_KEYS: readonly (keyof UpdateCommandOptions)[] = [\n \"tags\",\n \"closeReason\",\n ...UPDATE_LEGACY_COMMON_SCALAR_OPTION_KEYS,\n];\n\nconst UPDATE_SIMPLE_FIELD_FLAG_KEYS: readonly (keyof UpdateCommandOptions)[] = [\n \"title\",\n \"description\",\n \"body\",\n \"status\",\n \"closeReason\",\n \"priority\",\n \"type\",\n ...COMMON_MUTATION_COMMAND_OPTION_KEYS,\n \"dep\",\n \"depRemove\",\n \"comment\",\n \"note\",\n \"learning\",\n \"file\",\n \"test\",\n \"doc\",\n \"reminder\",\n \"event\",\n \"typeOption\",\n \"field\",\n];\n\nconst UPDATE_POST_TAG_SCALAR_MUTATIONS: ReadonlyArray<UpdateScalarMutationDefinition> = [\n {\n optionKey: \"deadline\",\n metadataKey: \"deadline\",\n transform: (value, context) => resolveIsoOrRelative(value, context.nowValue, \"deadline\"),\n },\n {\n optionKey: \"estimatedMinutes\",\n metadataKey: \"estimated_minutes\",\n transform: (value) => parseOptionalNumber(value, \"estimated-minutes\"),\n },\n { optionKey: \"acceptanceCriteria\", metadataKey: \"acceptance_criteria\", transform: (value) => value },\n { optionKey: \"definitionOfReady\", metadataKey: \"definition_of_ready\" },\n { optionKey: \"goal\", metadataKey: \"goal\" },\n { optionKey: \"objective\", metadataKey: \"objective\" },\n { optionKey: \"value\", metadataKey: \"value\" },\n { optionKey: \"impact\", metadataKey: \"impact\" },\n { optionKey: \"outcome\", metadataKey: \"outcome\" },\n { optionKey: \"whyNow\", metadataKey: \"why_now\" },\n];\n\nconst UPDATE_STAKEHOLDER_SCALAR_MUTATIONS: ReadonlyArray<UpdateScalarMutationDefinition> = [\n { optionKey: \"reviewer\", metadataKey: \"reviewer\" },\n { optionKey: \"risk\", metadataKey: \"risk\", transform: (value) => ensureEnum(normalizeRiskInput(value), RISK_VALUES, \"risk\") },\n { optionKey: \"confidence\", metadataKey: \"confidence\", transform: (value) => parseConfidenceInput(value) },\n];\n\nconst UPDATE_ISSUE_SCALAR_MUTATIONS: ReadonlyArray<UpdateScalarMutationDefinition> = [\n { optionKey: \"blockedReason\", metadataKey: \"blocked_reason\" },\n { optionKey: \"unblockNote\", metadataKey: \"unblock_note\" },\n { optionKey: \"reporter\", metadataKey: \"reporter\" },\n {\n optionKey: \"severity\",\n metadataKey: \"severity\",\n transform: (value) => ensureEnum(normalizeSeverityInput(value), ISSUE_SEVERITY_VALUES, \"severity\"),\n },\n { optionKey: \"environment\", metadataKey: \"environment\" },\n { optionKey: \"reproSteps\", metadataKey: \"repro_steps\" },\n { optionKey: \"resolution\", metadataKey: \"resolution\" },\n { optionKey: \"expectedResult\", metadataKey: \"expected_result\" },\n { optionKey: \"actualResult\", metadataKey: \"actual_result\" },\n { optionKey: \"affectedVersion\", metadataKey: \"affected_version\" },\n { optionKey: \"fixedVersion\", metadataKey: \"fixed_version\" },\n { optionKey: \"component\", metadataKey: \"component\" },\n { optionKey: \"regression\", metadataKey: \"regression\", transform: (value) => parseRegressionInput(value) },\n { optionKey: \"customerImpact\", metadataKey: \"customer_impact\" },\n];\n\nfunction applyUpdateScalarMutations(\n definitions: ReadonlyArray<UpdateScalarMutationDefinition>,\n options: UpdateCommandOptions,\n context: UpdateScalarMutationContext,\n): void {\n for (const definition of definitions) {\n const optionValue = options[definition.optionKey];\n const shouldClear = context.clearFrontMatterKeys.has(definition.metadataKey);\n if (optionValue === undefined && !shouldClear) {\n continue;\n }\n if (shouldClear) {\n delete context.metadataRecord[definition.metadataKey];\n context.changedFields.push(definition.metadataKey);\n continue;\n }\n if (typeof optionValue !== \"string\") {\n throw new PmCliError(\n `${commandOptionFlagLabel(\"update\", String(definition.optionKey))} must be a string value`,\n EXIT_CODE.USAGE,\n );\n }\n context.metadataRecord[definition.metadataKey] = definition.transform\n ? definition.transform(optionValue, context)\n : optionValue.trim();\n context.changedFields.push(definition.metadataKey);\n }\n}\n\nasync function resolveStdinUpdateOptions(options: UpdateCommandOptions): Promise<UpdateCommandOptions> {\n const stdinResolver = createStdinTokenResolver();\n return normalizeLegacyNoneUpdateOptions({\n ...options,\n body: await stdinResolver.resolveValue(options.body, \"--body\"),\n dep: await stdinResolver.resolveList(options.dep, \"--dep\"),\n depRemove: await stdinResolver.resolveList(options.depRemove, \"--dep-remove\"),\n comment: await stdinResolver.resolveList(options.comment, \"--comment\"),\n note: await stdinResolver.resolveList(options.note, \"--note\"),\n learning: await stdinResolver.resolveList(options.learning, \"--learning\"),\n file: await stdinResolver.resolveList(options.file, \"--file\"),\n test: await stdinResolver.resolveList(options.test, \"--test\"),\n doc: await stdinResolver.resolveList(options.doc, \"--doc\"),\n reminder: await stdinResolver.resolveList(options.reminder, \"--reminder\"),\n event: await stdinResolver.resolveList(options.event, \"--event\"),\n typeOption: await stdinResolver.resolveList(options.typeOption, \"--type-option\"),\n field: await stdinResolver.resolveList(options.field, \"--field\"),\n });\n}\n\nfunction buildClearCollectionDefinitions(options: UpdateCommandOptions): readonly UpdateClearCollectionDefinition[] {\n return [\n {\n enabled: options.clearDeps || options.replaceDeps,\n optionKey: \"dep\",\n clearFlag: \"--clear-deps\",\n valueFlag: \"--dep\",\n values: options.dep,\n frontMatterKey: \"dependencies\",\n },\n {\n enabled: options.clearComments,\n optionKey: \"comment\",\n clearFlag: \"--clear-comments\",\n valueFlag: \"--comment\",\n values: options.comment,\n frontMatterKey: \"comments\",\n },\n {\n enabled: options.clearNotes,\n optionKey: \"note\",\n clearFlag: \"--clear-notes\",\n valueFlag: \"--note\",\n values: options.note,\n frontMatterKey: \"notes\",\n },\n {\n enabled: options.clearLearnings,\n optionKey: \"learning\",\n clearFlag: \"--clear-learnings\",\n valueFlag: \"--learning\",\n values: options.learning,\n frontMatterKey: \"learnings\",\n },\n {\n enabled: options.clearFiles,\n optionKey: \"file\",\n clearFlag: \"--clear-files\",\n valueFlag: \"--file\",\n values: options.file,\n frontMatterKey: \"files\",\n },\n {\n enabled: options.clearTests || options.replaceTests,\n optionKey: \"test\",\n clearFlag: \"--clear-tests\",\n valueFlag: \"--test\",\n values: options.test,\n frontMatterKey: \"tests\",\n },\n {\n enabled: options.clearDocs,\n optionKey: \"doc\",\n clearFlag: \"--clear-docs\",\n valueFlag: \"--doc\",\n values: options.doc,\n frontMatterKey: \"docs\",\n },\n {\n enabled: options.clearReminders,\n optionKey: \"reminder\",\n clearFlag: \"--clear-reminders\",\n valueFlag: \"--reminder\",\n values: options.reminder,\n frontMatterKey: \"reminders\",\n },\n {\n enabled: options.clearEvents,\n optionKey: \"event\",\n clearFlag: \"--clear-events\",\n valueFlag: \"--event\",\n values: options.event,\n frontMatterKey: \"events\",\n },\n {\n enabled: options.clearTypeOptions,\n optionKey: \"typeOption\",\n clearFlag: \"--clear-type-options\",\n valueFlag: \"--type-option\",\n values: options.typeOption,\n frontMatterKey: \"type_options\",\n },\n ];\n}\n\nfunction validateReplaceOptions(options: UpdateCommandOptions): void {\n if (options.replaceDeps === true && (options.dep === undefined || options.dep.length === 0)) {\n throw new PmCliError(\"--replace-deps requires at least one --dep entry\", EXIT_CODE.USAGE);\n }\n if (options.replaceDeps === true && options.depRemove !== undefined && options.depRemove.length > 0) {\n throw new PmCliError(\"--replace-deps cannot be combined with --dep-remove\", EXIT_CODE.USAGE);\n }\n if (options.replaceTests === true && (options.test === undefined || options.test.length === 0)) {\n throw new PmCliError(\"--replace-tests requires at least one --test entry\", EXIT_CODE.USAGE);\n }\n if (options.replaceTests === true && options.clearTests === true) {\n throw new PmCliError(\"--replace-tests cannot be combined with --clear-tests\", EXIT_CODE.USAGE);\n }\n}\n\nfunction applyClearCollectionDefinitions(params: {\n definitions: readonly UpdateClearCollectionDefinition[];\n options: UpdateCommandOptions;\n clearOptionKeys: Set<string>;\n clearFrontMatterKeys: Set<string>;\n}): void {\n for (const definition of params.definitions) {\n if (!definition.enabled) {\n continue;\n }\n const isReplacement =\n (definition.optionKey === \"dep\" && params.options.replaceDeps === true) ||\n (definition.optionKey === \"test\" && params.options.replaceTests === true);\n if (definition.values && definition.values.length > 0 && !isReplacement) {\n throw new PmCliError(`Cannot combine ${definition.clearFlag} with ${definition.valueFlag}`, EXIT_CODE.USAGE);\n }\n params.clearOptionKeys.add(definition.optionKey);\n params.clearFrontMatterKeys.add(definition.frontMatterKey);\n }\n}\n\nfunction buildScalarOptionPresence(options: UpdateCommandOptions): Record<string, boolean> {\n const presence: Record<string, boolean> = {};\n for (const key of UPDATE_LEGACY_SCALAR_OPTION_KEYS) {\n presence[String(key)] = options[key] !== undefined;\n }\n presence.order = options.order !== undefined || options.rank !== undefined;\n return presence;\n}\n\nfunction rejectUnsetScalarConflicts(options: UpdateCommandOptions, unsetTargets: { optionKeys: Set<string>; frontMatterKeys: Set<string> }): void {\n const scalarOptionPresence = buildScalarOptionPresence(options);\n for (const [optionKey, hasValue] of Object.entries(scalarOptionPresence)) {\n if (!hasValue || !unsetTargets.optionKeys.has(optionKey)) {\n continue;\n }\n const unsetField = UPDATE_OPTION_KEY_TO_UNSET_CANONICAL.get(optionKey) ?? optionKey;\n throw new PmCliError(\n `Cannot combine --unset ${unsetField} with ${commandOptionFlagLabel(\"update\", optionKey)}`,\n EXIT_CODE.USAGE,\n );\n }\n if (!unsetTargets.frontMatterKeys.has(\"tags\")) {\n return;\n }\n if (Array.isArray(options.addTags) && options.addTags.length > 0) {\n throw new PmCliError(\"Cannot combine --unset tags with --add-tags\", EXIT_CODE.USAGE);\n }\n if (Array.isArray(options.removeTags) && options.removeTags.length > 0) {\n throw new PmCliError(\"Cannot combine --unset tags with --remove-tags\", EXIT_CODE.USAGE);\n }\n}\n\nfunction rejectLegacyScalarTokens(options: UpdateCommandOptions): void {\n const assertNoLegacyScalarToken = (value: string | undefined, optionKey: string): void => {\n const unsetField = UPDATE_OPTION_KEY_TO_UNSET_CANONICAL.get(optionKey);\n const hint = unsetField ? `Use --unset ${unsetField} to clear this field.` : undefined;\n assertNoLegacyNoneToken(value, commandOptionFlagLabel(\"update\", optionKey), hint);\n };\n for (const key of UPDATE_LEGACY_SCALAR_OPTION_KEYS) {\n assertNoLegacyScalarToken(options[key] as string | undefined, String(key));\n }\n assertNoLegacyScalarToken(options.order ?? options.rank, \"order\");\n assertNoLegacyNoneTokens(options.reminder, \"--reminder\", \"Use --clear-reminders to clear reminders.\");\n assertNoLegacyNoneTokens(options.event, \"--event\", \"Use --clear-events to clear linked events.\");\n}\n\nfunction buildUpdateFieldFlags(options: UpdateCommandOptions, runtimeFieldUpdates: Record<string, unknown>): Record<string, boolean> {\n const flags: Record<string, boolean> = {};\n for (const key of UPDATE_SIMPLE_FIELD_FLAG_KEYS) {\n flags[String(key)] = options[key] !== undefined;\n }\n flags.tags = options.tags !== undefined;\n flags.addTags = Array.isArray(options.addTags) && options.addTags.length > 0;\n flags.removeTags = Array.isArray(options.removeTags) && options.removeTags.length > 0;\n flags.order = options.order !== undefined;\n flags.rank = options.rank !== undefined;\n flags.replaceDeps = options.replaceDeps === true;\n flags.replaceTests = options.replaceTests === true;\n flags.unset = options.unset !== undefined && options.unset.length > 0;\n flags.clearDeps = options.clearDeps === true;\n flags.clearComments = options.clearComments === true;\n flags.clearNotes = options.clearNotes === true;\n flags.clearLearnings = options.clearLearnings === true;\n flags.clearFiles = options.clearFiles === true;\n flags.clearTests = options.clearTests === true;\n flags.clearDocs = options.clearDocs === true;\n flags.clearReminders = options.clearReminders === true;\n flags.clearEvents = options.clearEvents === true;\n flags.clearTypeOptions = options.clearTypeOptions === true;\n flags.runtimeFields = Object.keys(runtimeFieldUpdates).length > 0;\n return flags;\n}\n\nasync function buildNoopUpdateResult(params: {\n pmRoot: string;\n id: string;\n settings: Awaited<ReturnType<typeof readSettings>>;\n typeRegistry: ReturnType<typeof resolveItemTypeRegistry>;\n}): Promise<UpdateResult> {\n const located = await locateItem(\n params.pmRoot,\n params.id,\n params.settings.id_prefix,\n params.settings.item_format,\n params.typeRegistry.type_to_folder,\n );\n if (!located) {\n throw await buildItemNotFoundError(params.pmRoot, params.id, params.settings.id_prefix, params.typeRegistry.type_to_folder);\n }\n const { document } = await readLocatedItem(located, { schema: params.settings.schema });\n return {\n item: toItemRecord(document.metadata),\n changed_fields: [],\n warnings: [\"noop_no_update_fields\"],\n };\n}\n\nasync function assertUpdateTrackerInitialized(pmRoot: string): Promise<void> {\n if (!(await pathExists(getSettingsPath(pmRoot)))) {\n throw new PmCliError(`Tracker is not initialized at ${pmRoot}. Run pm init first.`, EXIT_CODE.NOT_FOUND);\n }\n}\n\nfunction assertMatchingOrderRank(options: UpdateCommandOptions): void {\n if (options.order !== undefined && options.rank !== undefined && options.order !== options.rank) {\n throw new PmCliError(\"--order and --rank must match when both are provided\", EXIT_CODE.USAGE);\n }\n}\n\nasync function resolveParentReferenceForUpdate(params: {\n id: string;\n options: UpdateCommandOptions;\n unsetTargets: { frontMatterKeys: Set<string> };\n pmRoot: string;\n settings: Awaited<ReturnType<typeof readSettings>>;\n typeRegistry: ReturnType<typeof resolveItemTypeRegistry>;\n parentReferencePolicy: Awaited<ReturnType<typeof readSettings>>[\"validation\"][\"parent_reference\"];\n}): Promise<{ resolvedParentValue: string | undefined; warnings: string[] }> {\n if (params.options.parent === undefined || params.unsetTargets.frontMatterKeys.has(\"parent\")) {\n return { resolvedParentValue: undefined, warnings: [] };\n }\n const resolvedParentValue = normalizeParentReferenceValue(params.options.parent);\n assertParentReferenceIsNotSelf(params.id, resolvedParentValue, params.settings.id_prefix);\n const parentLocated = await locateItem(\n params.pmRoot,\n resolvedParentValue,\n params.settings.id_prefix,\n params.settings.item_format,\n params.typeRegistry.type_to_folder,\n );\n if (parentLocated) {\n return { resolvedParentValue, warnings: [] };\n }\n const normalizedParentId = normalizeItemId(resolvedParentValue, params.settings.id_prefix);\n return {\n resolvedParentValue,\n warnings: validateMissingParentReference(normalizedParentId, params.parentReferencePolicy).warnings,\n };\n}\n\nfunction blockedByResolutionWarnings(resolution: { unresolved?: string }): string[] {\n return resolution.unresolved === undefined ? [] : [`blocked_by_unresolved:${resolution.unresolved}`];\n}\n\nasync function collectWorkflowTransitionWarnings(params: {\n options: UpdateCommandOptions;\n fieldFlags: Record<string, boolean>;\n workflowEnforcement: GovernanceWorkflowEnforcement;\n typeWorkflows: NormalizedTypeWorkflow[];\n statusRegistry: RuntimeStatusRegistry;\n typeRegistry: ReturnType<typeof resolveItemTypeRegistry>;\n pmRoot: string;\n id: string;\n settings: Awaited<ReturnType<typeof readSettings>>;\n}): Promise<string[]> {\n if (params.workflowEnforcement === \"off\" || params.typeWorkflows.length === 0 || !params.fieldFlags.status || params.options.status === undefined) {\n return [];\n }\n const located = await locateItem(\n params.pmRoot,\n params.id,\n params.settings.id_prefix,\n params.settings.item_format,\n params.typeRegistry.type_to_folder,\n );\n if (!located) {\n throw await buildItemNotFoundError(params.pmRoot, params.id, params.settings.id_prefix, params.typeRegistry.type_to_folder);\n }\n const { document } = await readLocatedItem(located, { schema: params.settings.schema });\n const effectiveType =\n params.options.type !== undefined\n ? (resolveTypeName(params.options.type, params.typeRegistry) ?? params.options.type)\n : (document.metadata?.type ?? \"\");\n const warning = enforceTypeWorkflowTransition({\n enforcement: params.workflowEnforcement,\n typeWorkflows: params.typeWorkflows,\n statusRegistry: params.statusRegistry,\n typeName: effectiveType,\n fromStatus: document.metadata?.status ?? \"\",\n toStatus: params.options.status,\n });\n return warning ? [warning] : [];\n}\n\nasync function routeCloseStatusUpdate(context: CloseRouteContext): Promise<UpdateResult | undefined> {\n if (!context.fieldFlags.status) {\n return undefined;\n }\n const targetStatus = normalizeStatusInput(context.options.status as ItemStatus, context.statusRegistry);\n if (targetStatus !== context.statusRegistry.close_status) {\n return undefined;\n }\n\n const otherFieldKeys = Object.entries(context.fieldFlags)\n .filter(([key, value]) => value && key !== \"status\" && key !== \"closeReason\")\n .map(([key]) => key);\n const routeWarnings: string[] = [];\n let preChangedFields: string[] = [];\n if (otherFieldKeys.length > 0) {\n const preUpdate = await runUpdate(\n context.id,\n { ...context.options, status: undefined, closeReason: undefined, message: undefined },\n context.global,\n );\n preChangedFields = preUpdate.changed_fields;\n routeWarnings.push(...preUpdate.warnings);\n }\n\n const explicitReason = typeof context.options.closeReason === \"string\" ? context.options.closeReason.trim() : \"\";\n const fallbackMessage = typeof context.options.message === \"string\" ? context.options.message.trim() : \"\";\n const closeReason = explicitReason || fallbackMessage || \"Closed via pm update\";\n const closeResult = await runClose(\n context.id,\n closeReason,\n {\n author: context.options.author,\n message: context.options.message,\n force: context.options.force,\n },\n context.global,\n );\n\n const warnings = [\n ...context.workflowTransitionWarnings,\n ...routeWarnings,\n ...closeResult.warnings,\n \"auto_routed_from_update_to_close\",\n ];\n if (explicitReason.length === 0 && fallbackMessage.length === 0) {\n warnings.push(\"close_reason_defaulted\");\n }\n return {\n item: closeResult.item,\n changed_fields: [...preChangedFields, ...closeResult.changed_fields],\n warnings,\n };\n}\n\nfunction applySimpleItemMutations(\n document: ItemDocument,\n options: UpdateCommandOptions,\n statusRegistry: RuntimeStatusRegistry,\n changedFields: string[],\n): string {\n if (options.title !== undefined) {\n document.metadata.title = options.title;\n changedFields.push(\"title\");\n }\n if (options.description !== undefined) {\n document.metadata.description = options.description;\n changedFields.push(\"description\");\n }\n if (options.body !== undefined) {\n document.body = options.body;\n changedFields.push(\"body\");\n }\n return normalizeStatusInput(document.metadata.status, statusRegistry) ?? document.metadata.status;\n}\n\nfunction applyStatusAndCloseReasonMutations(\n document: ItemDocument,\n context: UpdateMutationContext,\n previousStatusNormalized: string,\n changedFields: string[],\n): void {\n if (context.options.status !== undefined) {\n const status = parseStatus(context.options.status, context.statusRegistry);\n document.metadata.status = status;\n changedFields.push(\"status\");\n }\n if (context.options.closeReason !== undefined || context.clearFrontMatterKeys.has(\"close_reason\")) {\n if (context.clearFrontMatterKeys.has(\"close_reason\")) {\n delete document.metadata.close_reason;\n } else {\n const closeReason = context.options.closeReason?.trim() ?? \"\";\n if (closeReason.length === 0) {\n throw new PmCliError(\"--close-reason must not be empty\", EXIT_CODE.USAGE);\n }\n document.metadata.close_reason = closeReason;\n }\n changedFields.push(\"close_reason\");\n return;\n }\n if (\n context.options.status !== undefined &&\n previousStatusNormalized === context.statusRegistry.close_status &&\n document.metadata.status !== context.statusRegistry.canceled_status &&\n document.metadata.close_reason !== undefined\n ) {\n delete document.metadata.close_reason;\n changedFields.push(\"close_reason\");\n }\n}\n\nfunction applyPriorityTypeAndOptions(\n document: ItemDocument,\n context: UpdateMutationContext,\n changedFields: string[],\n): string {\n let activeTypeName = resolveTypeName(document.metadata.type, context.typeRegistry) ?? document.metadata.type;\n if (context.options.priority !== undefined) {\n document.metadata.priority = ensurePriority(context.options.priority);\n changedFields.push(\"priority\");\n }\n if (context.options.type !== undefined) {\n const resolvedTypeName = resolveTypeName(context.options.type, context.typeRegistry);\n if (!resolvedTypeName) {\n throw new PmCliError(\n buildInvalidTypeError(context.options.type, context.typeRegistry.types, resolveItemTypesFilePath(context.pmRoot, context.settings.schema)),\n EXIT_CODE.USAGE,\n );\n }\n document.metadata.type = resolvedTypeName;\n activeTypeName = resolvedTypeName;\n changedFields.push(\"type\");\n }\n enforceUpdateOptionsByType(\n activeTypeName,\n context.options,\n context.typeRegistry,\n context.runtimeFieldRegistry,\n context.extensionFieldNames,\n );\n applyTypeOptionMutation(document, context, activeTypeName, changedFields);\n return activeTypeName;\n}\n\nfunction applyTypeOptionMutation(\n document: ItemDocument,\n context: UpdateMutationContext,\n activeTypeName: string,\n changedFields: string[],\n): void {\n if (context.options.typeOption !== undefined || context.clearFrontMatterKeys.has(\"type_options\")) {\n if (context.clearFrontMatterKeys.has(\"type_options\")) {\n delete document.metadata.type_options;\n } else {\n const parsedTypeOptions = parseTypeOptionEntries(context.options.typeOption ?? []);\n const validation = validateTypeOptions(activeTypeName, parsedTypeOptions, context.typeRegistry);\n if (validation.errors.length > 0) {\n throw new PmCliError(validation.errors.join(\"; \"), EXIT_CODE.USAGE);\n }\n document.metadata.type_options = validation.normalized;\n }\n changedFields.push(\"type_options\");\n return;\n }\n if (context.options.type === undefined || document.metadata.type_options === undefined) {\n return;\n }\n const validation = validateTypeOptions(activeTypeName, document.metadata.type_options, context.typeRegistry);\n if (validation.errors.length > 0) {\n throw new PmCliError(\n `Current type options are incompatible with type \"${activeTypeName}\". ${validation.errors.join(\"; \")}. Use --clear-type-options to clear them.`,\n EXIT_CODE.USAGE,\n );\n }\n document.metadata.type_options = validation.normalized;\n}\n\nfunction applyDependencyMutations(document: ItemDocument, context: UpdateMutationContext, changedFields: string[]): void {\n if (\n context.options.dep === undefined &&\n context.options.depRemove === undefined &&\n !context.clearFrontMatterKeys.has(\"dependencies\")\n ) {\n return;\n }\n let nextDependencies = context.clearFrontMatterKeys.has(\"dependencies\") ? [] : [...(document.metadata.dependencies ?? [])];\n if (context.dependencyUpdates.additions.length > 0) {\n const seen = new Set(nextDependencies.map((entry) => dependencyKey(entry)));\n for (const addition of context.dependencyUpdates.additions) {\n const key = dependencyKey(addition);\n if (!seen.has(key)) {\n nextDependencies.push(addition);\n seen.add(key);\n }\n }\n }\n if (context.dependencyRemovals.length > 0) {\n nextDependencies = nextDependencies.filter(\n (entry) => !context.dependencyRemovals.some((selector) => matchesDependencySelector(entry, selector)),\n );\n }\n if (nextDependencies.length === 0) {\n delete document.metadata.dependencies;\n } else {\n document.metadata.dependencies = nextDependencies;\n }\n changedFields.push(\"dependencies\");\n}\n\nfunction applyLogCollectionMutations(document: ItemDocument, context: UpdateMutationContext, changedFields: string[]): void {\n applyLogCollectionMutation(document, \"comments\", context.options.comment, context.commentUpdates.values as Comment[] | undefined, context.clearFrontMatterKeys, changedFields);\n applyLogCollectionMutation(document, \"notes\", context.options.note, context.noteUpdates.values as LogNote[] | undefined, context.clearFrontMatterKeys, changedFields);\n applyLogCollectionMutation(document, \"learnings\", context.options.learning, context.learningUpdates.values as LogNote[] | undefined, context.clearFrontMatterKeys, changedFields);\n}\n\nfunction applyLogCollectionMutation(\n document: ItemDocument,\n key: \"comments\" | \"notes\" | \"learnings\",\n optionValue: string[] | undefined,\n values: Comment[] | LogNote[] | undefined,\n clearFrontMatterKeys: ReadonlySet<string>,\n changedFields: string[],\n): void {\n if (optionValue === undefined && !clearFrontMatterKeys.has(key)) {\n return;\n }\n if (clearFrontMatterKeys.has(key) || !values || values.length === 0) {\n delete document.metadata[key];\n } else {\n document.metadata[key] = [...(document.metadata[key] ?? []), ...values] as never;\n }\n changedFields.push(key);\n}\n\nfunction applyEvidenceCollectionMutations(document: ItemDocument, context: UpdateMutationContext, changedFields: string[]): void {\n applyUniqueLinkedCollectionMutation(document, \"files\", context.options.file, context.fileUpdates.values, fileKey, context.clearFrontMatterKeys, changedFields);\n applyTestCollectionMutation(document, context, changedFields);\n applyUniqueLinkedCollectionMutation(document, \"docs\", context.options.doc, context.docUpdates.values, docKey, context.clearFrontMatterKeys, changedFields);\n}\n\nfunction applyUniqueLinkedCollectionMutation<T extends LinkedFile | LinkedDoc>(\n document: ItemDocument,\n key: \"files\" | \"docs\",\n optionValue: string[] | undefined,\n values: T[] | undefined,\n keyOf: (value: T) => string,\n clearFrontMatterKeys: ReadonlySet<string>,\n changedFields: string[],\n): void {\n if (optionValue === undefined && !clearFrontMatterKeys.has(key)) {\n return;\n }\n if (clearFrontMatterKeys.has(key) || !values || values.length === 0) {\n delete document.metadata[key];\n } else {\n const next = [...((document.metadata[key] as T[] | undefined) ?? [])];\n const seen = new Set(next.map((entry) => keyOf(entry)));\n for (const entry of values) {\n const keyValue = keyOf(entry);\n if (!seen.has(keyValue)) {\n next.push(entry);\n seen.add(keyValue);\n }\n }\n document.metadata[key] = next as never;\n }\n changedFields.push(key);\n}\n\nfunction applyTestCollectionMutation(document: ItemDocument, context: UpdateMutationContext, changedFields: string[]): void {\n if (context.options.test === undefined && !context.clearFrontMatterKeys.has(\"tests\")) {\n return;\n }\n if (context.clearFrontMatterKeys.has(\"tests\") && context.options.replaceTests === true) {\n document.metadata.tests = dedupeLinkedTests(context.testUpdates.values) ?? [];\n } else if (context.clearFrontMatterKeys.has(\"tests\") || !context.testUpdates.values || context.testUpdates.values.length === 0) {\n delete document.metadata.tests;\n } else {\n document.metadata.tests = dedupeLinkedTests([...(document.metadata.tests ?? []), ...context.testUpdates.values]);\n }\n if (document.metadata.tests !== undefined && document.metadata.tests.length === 0) {\n delete document.metadata.tests;\n }\n changedFields.push(\"tests\");\n}\n\nfunction dedupeLinkedTests(values: LinkedTest[] | undefined): LinkedTest[] | undefined {\n if (!values || values.length === 0) {\n return undefined;\n }\n const next: LinkedTest[] = [];\n const seen = new Set<string>();\n for (const entry of values) {\n const key = testKey(entry);\n if (!seen.has(key)) {\n next.push(entry);\n seen.add(key);\n }\n }\n return next;\n}\n\nfunction applyTagsAndPlanningMutations(\n document: ItemDocument,\n context: UpdateMutationContext,\n scalarMutationContext: UpdateScalarMutationContext,\n): void {\n const addTagsValues = context.options.addTags;\n const removeTagsValues = context.options.removeTags;\n const hasAdditiveTagMutation =\n (Array.isArray(addTagsValues) && addTagsValues.length > 0) ||\n (Array.isArray(removeTagsValues) && removeTagsValues.length > 0);\n if (context.options.tags !== undefined || context.clearFrontMatterKeys.has(\"tags\") || hasAdditiveTagMutation) {\n const baseTags = context.clearFrontMatterKeys.has(\"tags\")\n ? []\n : context.options.tags !== undefined\n ? parseTags(context.options.tags)\n : Array.isArray(document.metadata.tags)\n ? [...(document.metadata.tags as string[])]\n : [];\n document.metadata.tags = applyTagRemovals(mergeAdditiveTags(baseTags, addTagsValues), removeTagsValues);\n scalarMutationContext.changedFields.push(\"tags\");\n }\n applyUpdateScalarMutations(UPDATE_POST_TAG_SCALAR_MUTATIONS, context.options, scalarMutationContext);\n applyOrderMutation(document, context, scalarMutationContext.changedFields);\n}\n\nfunction applyOrderMutation(document: ItemDocument, context: UpdateMutationContext, changedFields: string[]): void {\n const orderRaw = context.options.order ?? context.options.rank;\n if (orderRaw === undefined && !context.clearFrontMatterKeys.has(\"order\")) {\n return;\n }\n if (context.clearFrontMatterKeys.has(\"order\")) {\n delete document.metadata.order;\n } else {\n const parsedOrder = parseOptionalNumber(orderRaw ?? \"\", \"order\");\n if (!Number.isInteger(parsedOrder)) {\n throw new PmCliError(\"Order must be an integer\", EXIT_CODE.USAGE);\n }\n document.metadata.order = parsedOrder;\n }\n changedFields.push(\"order\");\n}\n\nfunction applyOwnershipAndIssueMutations(\n document: ItemDocument,\n context: UpdateMutationContext,\n scalarMutationContext: UpdateScalarMutationContext,\n warnings: string[],\n): void {\n applyAssigneeMutation(document, context, scalarMutationContext.changedFields);\n applyParentMutation(document, context, scalarMutationContext.changedFields);\n applyUpdateScalarMutations(UPDATE_STAKEHOLDER_SCALAR_MUTATIONS, context.options, scalarMutationContext);\n applySprintReleaseMutation(document, context, \"sprint\", warnings, scalarMutationContext.changedFields);\n applySprintReleaseMutation(document, context, \"release\", warnings, scalarMutationContext.changedFields);\n applyBlockedByMutation(document, context, scalarMutationContext.changedFields);\n applyUpdateScalarMutations(UPDATE_ISSUE_SCALAR_MUTATIONS, context.options, scalarMutationContext);\n}\n\nfunction applyAssigneeMutation(document: ItemDocument, context: UpdateMutationContext, changedFields: string[]): void {\n if (context.options.assignee === undefined && !context.clearFrontMatterKeys.has(\"assignee\")) {\n return;\n }\n if (context.clearFrontMatterKeys.has(\"assignee\")) {\n delete document.metadata.assignee;\n } else {\n const assignee = context.options.assignee?.trim() ?? \"\";\n if (assignee === \"\") {\n throw new PmCliError(\"--assignee must not be empty. Use --unset assignee to clear it.\", EXIT_CODE.USAGE);\n }\n document.metadata.assignee = assignee;\n }\n changedFields.push(\"assignee\");\n}\n\nfunction applyParentMutation(document: ItemDocument, context: UpdateMutationContext, changedFields: string[]): void {\n if (context.options.parent === undefined && !context.clearFrontMatterKeys.has(\"parent\")) {\n return;\n }\n if (context.clearFrontMatterKeys.has(\"parent\")) {\n delete document.metadata.parent;\n } else {\n document.metadata.parent = context.resolvedParentValue ?? \"\";\n }\n changedFields.push(\"parent\");\n}\n\nfunction applySprintReleaseMutation(\n document: ItemDocument,\n context: UpdateMutationContext,\n key: \"sprint\" | \"release\",\n warnings: string[],\n changedFields: string[],\n): void {\n if (context.options[key] === undefined && !context.clearFrontMatterKeys.has(key)) {\n return;\n }\n if (context.clearFrontMatterKeys.has(key)) {\n delete document.metadata[key];\n } else {\n const validation = validateSprintOrReleaseValue(key, context.options[key] ?? \"\", context.settings.validation.sprint_release_format);\n document.metadata[key] = validation.value;\n warnings.push(...validation.warnings);\n }\n changedFields.push(key);\n}\n\nfunction applyBlockedByMutation(document: ItemDocument, context: UpdateMutationContext, changedFields: string[]): void {\n if (context.options.blockedBy === undefined && !context.clearFrontMatterKeys.has(\"blocked_by\")) {\n return;\n }\n if (context.clearFrontMatterKeys.has(\"blocked_by\")) {\n delete document.metadata.blocked_by;\n } else {\n document.metadata.blocked_by = context.options.blockedBy?.trim() ?? \"\";\n }\n changedFields.push(\"blocked_by\");\n applyBlockedByDependencyEdge(\n document.metadata,\n context.resolvedBlockedByDependencyId,\n context.nowIso,\n context.author,\n changedFields,\n );\n}\n\nfunction applyScheduleMutations(document: ItemDocument, context: UpdateMutationContext, changedFields: string[]): void {\n if (context.options.reminder !== undefined || context.clearFrontMatterKeys.has(\"reminders\")) {\n if (context.clearFrontMatterKeys.has(\"reminders\")) {\n delete document.metadata.reminders;\n } else {\n document.metadata.reminders = parseReminderEntries(context.options.reminder ?? [], context.nowValue, { valueMode: \"trimmed\" });\n }\n changedFields.push(\"reminders\");\n }\n if (context.options.event !== undefined || context.clearFrontMatterKeys.has(\"events\")) {\n if (context.clearFrontMatterKeys.has(\"events\")) {\n delete document.metadata.events;\n } else {\n document.metadata.events = parseEventEntries(context.options.event ?? [], context.nowValue, {\n allDayEmptyGuard: \"truthy\",\n recurrenceEmptyNumericGuard: \"truthy\",\n });\n }\n changedFields.push(\"events\");\n }\n}\n\nfunction applyRuntimeAndRegisteredFieldMutations(\n metadataRecord: Record<string, unknown>,\n context: UpdateMutationContext,\n changedFields: string[],\n): void {\n clearDynamicFields(metadataRecord, context.runtimeFieldRegistry.definitions.map((definition) => definition.metadata_key), context.clearFrontMatterKeys, changedFields);\n clearDynamicFields(metadataRecord, context.extensionFieldNames, context.clearFrontMatterKeys, changedFields);\n for (const [fieldKey, fieldValue] of Object.entries(context.runtimeFieldUpdates)) {\n if (context.clearFrontMatterKeys.has(fieldKey)) {\n const fieldFlag = fieldKey.replaceAll(\"_\", \"-\");\n const definition = context.runtimeFieldRegistry.definitions.find((candidate) => candidate.metadata_key === fieldKey);\n const updateFlag = definition?.cli_flag ?? fieldFlag;\n throw new PmCliError(\n `Cannot combine --unset ${fieldFlag} with --${updateFlag}`,\n EXIT_CODE.USAGE,\n );\n }\n if (stableValueEquals(metadataRecord[fieldKey], fieldValue)) {\n continue;\n }\n metadataRecord[fieldKey] = fieldValue;\n changedFields.push(fieldKey);\n }\n\n const registeredItemFieldUpdates = parseRegisteredItemFieldAssignments(context.options.field, context.extensionRegistrations);\n for (const fieldKey of Object.keys(registeredItemFieldUpdates)) {\n if (context.clearFrontMatterKeys.has(fieldKey)) {\n throw new PmCliError(\n `Cannot combine --unset ${fieldKey.replaceAll(\"_\", \"-\")} with --field ${fieldKey}=...`,\n EXIT_CODE.USAGE,\n );\n }\n }\n for (const [fieldKey, fieldValue] of Object.entries(registeredItemFieldUpdates)) {\n if (!stableValueEquals(metadataRecord[fieldKey], fieldValue)) {\n metadataRecord[fieldKey] = fieldValue;\n changedFields.push(fieldKey);\n }\n }\n}\n\nfunction clearDynamicFields(\n metadataRecord: Record<string, unknown>,\n fieldKeys: readonly string[],\n clearFrontMatterKeys: ReadonlySet<string>,\n changedFields: string[],\n): void {\n for (const fieldKey of fieldKeys) {\n if (!clearFrontMatterKeys.has(fieldKey) || metadataRecord[fieldKey] === undefined) {\n continue;\n }\n delete metadataRecord[fieldKey];\n changedFields.push(fieldKey);\n }\n}\n\nfunction mutateUpdateDocument(document: ItemDocument, context: UpdateMutationContext): { changedFields: string[]; warnings: string[] } {\n const changedFields: string[] = [];\n const warnings: string[] = [];\n const previousStatusNormalized = applySimpleItemMutations(document, context.options, context.statusRegistry, changedFields);\n const metadataRecord = toItemRecord(document.metadata);\n const scalarMutationContext: UpdateScalarMutationContext = {\n metadataRecord,\n clearFrontMatterKeys: context.clearFrontMatterKeys,\n changedFields,\n nowValue: context.nowValue,\n };\n\n applyStatusAndCloseReasonMutations(document, context, previousStatusNormalized, changedFields);\n applyPriorityTypeAndOptions(document, context, changedFields);\n applyDependencyMutations(document, context, changedFields);\n applyLogCollectionMutations(document, context, changedFields);\n applyEvidenceCollectionMutations(document, context, changedFields);\n applyTagsAndPlanningMutations(document, context, scalarMutationContext);\n applyOwnershipAndIssueMutations(document, context, scalarMutationContext, warnings);\n if (\n normalizeStatusInput(document.metadata.status, context.statusRegistry) === context.statusRegistry.canceled_status &&\n document.metadata.assignee !== undefined\n ) {\n delete document.metadata.assignee;\n if (!changedFields.includes(\"assignee\")) {\n changedFields.push(\"assignee\");\n }\n }\n applyScheduleMutations(document, context, changedFields);\n applyRuntimeAndRegisteredFieldMutations(metadataRecord, context, changedFields);\n try {\n applyRegisteredItemFieldDefaultsAndValidation(\n metadataRecord,\n context.extensionRegistrations,\n { skipDefaultFields: context.clearFrontMatterKeys },\n );\n } catch (error: unknown) {\n throw new PmCliError(error instanceof Error ? error.message : \"Invalid extension item field values\", EXIT_CODE.USAGE);\n }\n return { changedFields, warnings };\n}\n\n/**\n * Implements run update for the public runtime surface of this module.\n */\nexport async function runUpdate(id: string, options: UpdateCommandOptions, global: GlobalOptions): Promise<UpdateResult> {\n options = await resolveStdinUpdateOptions(options);\n const pmRoot = resolvePmRoot(process.cwd(), global.path);\n await assertUpdateTrackerInitialized(pmRoot);\n const settings = await readSettings(pmRoot);\n const statusRegistry = resolveRuntimeStatusRegistry(settings.schema);\n const runtimeFieldRegistry = resolveRuntimeFieldRegistry(settings.schema);\n const extensionRegistrations = getActiveExtensionRegistrations();\n const extensionFieldNames = collectRegisteredItemFieldNames(extensionRegistrations);\n const typeRegistry = resolveItemTypeRegistry(settings, extensionRegistrations);\n // Per-type allowed-transition enforcement is read RAW (not preset-derived) so\n // existing projects are unaffected when unset; defaults to \"off\".\n const workflowEnforcement: GovernanceWorkflowEnforcement = settings.governance.workflow_enforcement ?? \"off\";\n const typeWorkflows = workflowEnforcement === \"off\" ? [] : resolveTypeWorkflows(settings.schema);\n const parentReferencePolicy = settings.validation.parent_reference;\n const unsetTargets = parseUpdateUnsetTargets(options.unset, runtimeFieldRegistry, extensionFieldNames);\n const clearOptionKeys = new Set<string>(unsetTargets.optionKeys);\n const clearFrontMatterKeys = new Set<string>(unsetTargets.frontMatterKeys);\n\n validateReplaceOptions(options);\n applyClearCollectionDefinitions({\n definitions: buildClearCollectionDefinitions(options),\n options,\n clearOptionKeys,\n clearFrontMatterKeys,\n });\n enforceAllowAuditUpdateScope(id, options, clearFrontMatterKeys);\n\n rejectUnsetScalarConflicts(options, unsetTargets);\n rejectLegacyScalarTokens(options);\n\n const author = toAuthor(options.author, settings.author_default);\n const nowValue = new Date();\n const nowIso = nowValue.toISOString();\n const dependencyUpdates = parseDependencyAdditions(options.dep, settings.id_prefix, nowIso);\n const dependencyRemovals = parseDependencyRemovals(options.depRemove, settings.id_prefix);\n const parsedCommentUpdates = parseLogSeed(\"--comment\", options.comment, nowIso, author);\n const commentUpdates = options.allowAuditUpdate === true && parsedCommentUpdates.values\n ? {\n ...parsedCommentUpdates,\n values: parsedCommentUpdates.values.map((entry) => ({ ...entry, author })),\n }\n : parsedCommentUpdates;\n const noteUpdates = parseLogSeed(\"--note\", options.note, nowIso, author);\n const learningUpdates = parseLogSeed(\"--learning\", options.learning, nowIso, author);\n const fileUpdates = parseFiles(options.file);\n const testUpdates = parseTests(options.test);\n const docUpdates = parseDocs(options.doc);\n const workflowTransitionWarnings: string[] = [];\n const parentReference = await resolveParentReferenceForUpdate({\n id,\n options,\n unsetTargets,\n pmRoot,\n settings,\n typeRegistry,\n parentReferencePolicy,\n });\n\n // pm-kyd6: resolve the --blocked-by target up front (async) so the sync\n // mutate callback can mirror create.ts and add a `blocked_by` dependency edge.\n const blockedByResolution = await resolveBlockedByDependencyTarget(\n options.blockedBy,\n clearFrontMatterKeys.has(\"blocked_by\"),\n pmRoot,\n settings.id_prefix,\n settings.item_format,\n typeRegistry.type_to_folder,\n );\n const resolvedBlockedByDependencyId = blockedByResolution.id;\n const parentReferenceWarnings = [...parentReference.warnings, ...blockedByResolutionWarnings(blockedByResolution)];\n\n const runtimeFieldUpdates = collectRuntimeUpdateFieldValues(\n options as Record<string, unknown>,\n runtimeFieldRegistry,\n options.runtimeFieldCommands,\n );\n const fieldFlags = buildUpdateFieldFlags(options, runtimeFieldUpdates);\n const changedFlags = Object.values(fieldFlags).some(Boolean);\n\n if (!changedFlags) {\n return buildNoopUpdateResult({ pmRoot, id, settings, typeRegistry });\n }\n\n workflowTransitionWarnings.push(...await collectWorkflowTransitionWarnings({\n options,\n fieldFlags,\n workflowEnforcement,\n typeWorkflows,\n statusRegistry,\n typeRegistry,\n pmRoot,\n id,\n settings,\n }));\n const routedClose = await routeCloseStatusUpdate({\n options,\n fieldFlags,\n statusRegistry,\n workflowTransitionWarnings,\n global,\n id,\n });\n if (routedClose) {\n return routedClose;\n }\n assertMatchingOrderRank(options);\n\n const result = await mutateItem({\n pmRoot,\n settings,\n typeToFolder: typeRegistry.type_to_folder,\n id,\n op: options.allowAuditUpdate === true || options.allowAuditDepUpdate === true ? \"update_audit\" : \"update\",\n author,\n message: options.message,\n force: options.force,\n bypassAssigneeConflict: options.allowAuditUpdate === true || options.allowAuditDepUpdate === true,\n extensionFieldNames,\n mutate(document) {\n return mutateUpdateDocument(document, {\n options,\n settings,\n typeRegistry,\n statusRegistry,\n runtimeFieldRegistry,\n extensionRegistrations,\n extensionFieldNames,\n clearFrontMatterKeys,\n dependencyUpdates,\n dependencyRemovals,\n commentUpdates,\n noteUpdates,\n learningUpdates,\n fileUpdates,\n testUpdates,\n docUpdates,\n resolvedParentValue: parentReference.resolvedParentValue,\n resolvedBlockedByDependencyId,\n runtimeFieldUpdates,\n nowValue,\n nowIso,\n author,\n pmRoot,\n });\n },\n });\n\n return {\n item: toItemRecord(result.item),\n changed_fields: result.changedFields,\n warnings: [...workflowTransitionWarnings, ...parentReferenceWarnings, ...result.warnings],\n ...(options.allowAuditUpdate === true || options.allowAuditDepUpdate === true ? { audit_update: true } : {}),\n };\n}\n\n/* c8 ignore stop */\nexport const _testOnlyUpdateCommand = {\n collectProvidedUpdatePolicyOptions,\n buildAuditScopeRestrictedOptionsError,\n enforceAllowAuditUpdateScope,\n enforceTypeWorkflowTransition,\n matchesDependencySelector,\n normalizeLegacyNoneUpdateOptions,\n normalizeUpdatePolicyOptionKey,\n parseDependencyAdditions,\n parseDependencyRemovals,\n parseUpdateUnsetTargets,\n reconcileBlockedByDependency,\n resolveRuntimeUnsetDefinition: (token: string, registry: RuntimeFieldRegistry | undefined) =>\n resolveRuntimeUnsetFieldDefinition(token, \"update\", registry),\n};\n"],"names":[],"mappings":"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","debugId":"74de80a0-4291-5c52-b619-620900850237"}