@unbrained/pm-cli 2026.6.8 → 2026.6.10

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 (527) hide show
  1. package/CHANGELOG.md +74 -11
  2. package/dist/cli/bootstrap-args.js +4 -2
  3. package/dist/cli/bootstrap-args.js.map +1 -1
  4. package/dist/cli/commands/aggregate.d.ts +7 -0
  5. package/dist/cli/commands/aggregate.js +53 -12
  6. package/dist/cli/commands/aggregate.js.map +1 -1
  7. package/dist/cli/commands/close.d.ts +1 -0
  8. package/dist/cli/commands/close.js +106 -3
  9. package/dist/cli/commands/close.js.map +1 -1
  10. package/dist/cli/commands/completion.js +20 -7
  11. package/dist/cli/commands/completion.js.map +1 -1
  12. package/dist/cli/commands/context.d.ts +9 -0
  13. package/dist/cli/commands/context.js +149 -20
  14. package/dist/cli/commands/context.js.map +1 -1
  15. package/dist/cli/commands/create.d.ts +1 -0
  16. package/dist/cli/commands/create.js +5 -3
  17. package/dist/cli/commands/create.js.map +1 -1
  18. package/dist/cli/commands/extension.js +4 -2
  19. package/dist/cli/commands/extension.js.map +1 -1
  20. package/dist/cli/commands/health.js +44 -6
  21. package/dist/cli/commands/health.js.map +1 -1
  22. package/dist/cli/commands/history.js +6 -5
  23. package/dist/cli/commands/history.js.map +1 -1
  24. package/dist/cli/commands/linked-test-parsers.d.ts +1 -0
  25. package/dist/cli/commands/linked-test-parsers.js +289 -2
  26. package/dist/cli/commands/linked-test-parsers.js.map +1 -1
  27. package/dist/cli/commands/reindex.d.ts +1 -0
  28. package/dist/cli/commands/reindex.js +33 -4
  29. package/dist/cli/commands/reindex.js.map +1 -1
  30. package/dist/cli/commands/test.d.ts +6 -0
  31. package/dist/cli/commands/test.js +46 -5
  32. package/dist/cli/commands/test.js.map +1 -1
  33. package/dist/cli/extension-command-help.d.ts +1 -0
  34. package/dist/cli/extension-command-help.js +42 -2
  35. package/dist/cli/extension-command-help.js.map +1 -1
  36. package/dist/cli/extension-command-options.d.ts +2 -0
  37. package/dist/cli/extension-command-options.js +89 -17
  38. package/dist/cli/extension-command-options.js.map +1 -1
  39. package/dist/cli/main.js +26 -26
  40. package/dist/cli/main.js.map +1 -1
  41. package/dist/cli/register-list-query.js +3 -2
  42. package/dist/cli/register-list-query.js.map +1 -1
  43. package/dist/cli/register-mutation.js +4 -2
  44. package/dist/cli/register-mutation.js.map +1 -1
  45. package/dist/cli/register-operations.js +15 -6
  46. package/dist/cli/register-operations.js.map +1 -1
  47. package/dist/cli/registration-helpers.js +9 -2
  48. package/dist/cli/registration-helpers.js.map +1 -1
  49. package/dist/cli-bundle/chunks/activity-5QLX6DHN.js +16 -0
  50. package/dist/cli-bundle/chunks/{activity-Q7XMIZIH.js → activity-W6TS5F2L.js} +11 -11
  51. package/dist/cli-bundle/chunks/{aggregate-GBSHSXOB.js → aggregate-NNJLKGEK.js} +64 -24
  52. package/dist/cli-bundle/chunks/aggregate-NNJLKGEK.js.map +7 -0
  53. package/dist/cli-bundle/chunks/{aggregate-HKQJZUBG.js → aggregate-UK2WJ4Z3.js} +65 -25
  54. package/dist/cli-bundle/chunks/aggregate-UK2WJ4Z3.js.map +1 -0
  55. package/dist/cli-bundle/chunks/{append-3RFOU7P5.js → append-7BS36Z2L.js} +8 -8
  56. package/dist/cli-bundle/chunks/{append-OM74OJVT.js → append-DHGTLUZW.js} +8 -8
  57. package/dist/cli-bundle/chunks/{chunk-SDLEYY6A.js → chunk-2MKBPWMK.js} +6 -8
  58. package/dist/cli-bundle/chunks/{chunk-SDLEYY6A.js.map → chunk-2MKBPWMK.js.map} +1 -1
  59. package/dist/cli-bundle/chunks/{chunk-Z2HXAFFH.js → chunk-344GDQTH.js} +2 -2
  60. package/dist/cli-bundle/chunks/{chunk-AEMKH5WQ.js → chunk-3VTWCBXL.js} +3 -3
  61. package/dist/cli-bundle/chunks/{chunk-XLSQ3QLT.js → chunk-4CYHWHZU.js} +2 -2
  62. package/dist/cli-bundle/chunks/{chunk-JS47EKLP.js → chunk-4H2NDEGJ.js} +7 -7
  63. package/dist/cli-bundle/chunks/{chunk-QF4OPBAG.js → chunk-5HH6QRH5.js} +9 -9
  64. package/dist/cli-bundle/chunks/{chunk-5NVJA7IW.js → chunk-5OMABP7I.js} +7 -7
  65. package/dist/cli-bundle/chunks/{chunk-YEFOCDIK.js → chunk-6ADVKPVV.js} +7 -7
  66. package/dist/cli-bundle/chunks/{chunk-SM3RMWGO.js → chunk-6KQS23TX.js} +8 -8
  67. package/dist/cli-bundle/chunks/{chunk-ETZZU5QF.js → chunk-6N46IM44.js} +2 -2
  68. package/dist/cli-bundle/chunks/{chunk-EPWT7BEA.js → chunk-6OSG3EMX.js} +157 -12
  69. package/dist/cli-bundle/chunks/chunk-6OSG3EMX.js.map +1 -0
  70. package/dist/cli-bundle/chunks/{chunk-5WO2VKFA.js → chunk-73PSHEMT.js} +8 -8
  71. package/dist/cli-bundle/chunks/{chunk-J4DKAGTM.js → chunk-7DUVDW7C.js} +3 -3
  72. package/dist/cli-bundle/chunks/{chunk-2BYKYPWY.js → chunk-7GYMMDDW.js} +2 -2
  73. package/dist/cli-bundle/chunks/{chunk-QFVASU44.js → chunk-7TW64BS5.js} +2 -2
  74. package/dist/cli-bundle/chunks/{chunk-VXBUXLVD.js → chunk-A6XVYNQJ.js} +13 -6
  75. package/dist/cli-bundle/chunks/chunk-A6XVYNQJ.js.map +7 -0
  76. package/dist/cli-bundle/chunks/{chunk-KP4KIUQT.js → chunk-ANVZCNL5.js} +3 -3
  77. package/dist/cli-bundle/chunks/{chunk-HOA3GMB6.js → chunk-BE5G7HEL.js} +14 -8
  78. package/dist/cli-bundle/chunks/chunk-BE5G7HEL.js.map +1 -0
  79. package/dist/cli-bundle/chunks/{chunk-QWNUDGFQ.js → chunk-CMEHZD6G.js} +163 -11
  80. package/dist/cli-bundle/chunks/chunk-CMEHZD6G.js.map +7 -0
  81. package/dist/cli-bundle/chunks/{chunk-7NQIY7Z6.js → chunk-CTW7QAHM.js} +6 -5
  82. package/dist/cli-bundle/chunks/chunk-CTW7QAHM.js.map +1 -0
  83. package/dist/cli-bundle/chunks/{chunk-UEXNNF3K.js → chunk-D6JZBUZ6.js} +7 -7
  84. package/dist/cli-bundle/chunks/{chunk-F33AQIB4.js → chunk-DEYNERFX.js} +19 -7
  85. package/dist/cli-bundle/chunks/chunk-DEYNERFX.js.map +1 -0
  86. package/dist/cli-bundle/chunks/{chunk-R4XIE7NQ.js → chunk-DMDEC4QP.js} +6 -6
  87. package/dist/cli-bundle/chunks/{chunk-KN4WSESY.js → chunk-DTRIVUTN.js} +5 -5
  88. package/dist/cli-bundle/chunks/{chunk-KS2U7BZ3.js → chunk-EAQLLID6.js} +16 -6
  89. package/dist/cli-bundle/chunks/chunk-EAQLLID6.js.map +1 -0
  90. package/dist/cli-bundle/chunks/{chunk-HP35AVFS.js → chunk-EIS32UA4.js} +2 -2
  91. package/dist/cli-bundle/chunks/chunk-F2PVV7IX.js +528 -0
  92. package/dist/cli-bundle/chunks/chunk-F2PVV7IX.js.map +7 -0
  93. package/dist/cli-bundle/chunks/{chunk-DV27WDA7.js → chunk-GF5XIBUH.js} +70 -9
  94. package/dist/cli-bundle/chunks/chunk-GF5XIBUH.js.map +7 -0
  95. package/dist/cli-bundle/chunks/{chunk-BFJPMUF5.js → chunk-GP6SHEAI.js} +5 -5
  96. package/dist/cli-bundle/chunks/{chunk-URJEZOLB.js → chunk-GRHPU6EM.js} +2 -2
  97. package/dist/cli-bundle/chunks/{chunk-K62SNVVE.js → chunk-I2FM2SMO.js} +2 -2
  98. package/dist/cli-bundle/chunks/{chunk-F33VC5EX.js → chunk-IEQ3N7WP.js} +12 -5
  99. package/dist/cli-bundle/chunks/chunk-IEQ3N7WP.js.map +1 -0
  100. package/dist/cli-bundle/chunks/{chunk-AXBUHLW7.js → chunk-K45NAJV2.js} +9 -9
  101. package/dist/cli-bundle/chunks/{chunk-NLVCMVC7.js → chunk-K7SXBA75.js} +2 -2
  102. package/dist/cli-bundle/chunks/{chunk-OVSSE2JP.js → chunk-KHBRV5JU.js} +14 -12
  103. package/dist/cli-bundle/chunks/chunk-KHBRV5JU.js.map +1 -0
  104. package/dist/cli-bundle/chunks/{chunk-D7WK2PKB.js → chunk-KMMUDSSB.js} +112 -7
  105. package/dist/cli-bundle/chunks/chunk-KMMUDSSB.js.map +1 -0
  106. package/dist/cli-bundle/chunks/{chunk-ALSRBNYB.js → chunk-KRZQGRVL.js} +14 -7
  107. package/dist/cli-bundle/chunks/chunk-KRZQGRVL.js.map +1 -0
  108. package/dist/cli-bundle/chunks/{chunk-PQDH3S54.js → chunk-LUJQJR7G.js} +71 -69
  109. package/dist/cli-bundle/chunks/{chunk-PQDH3S54.js.map → chunk-LUJQJR7G.js.map} +1 -1
  110. package/dist/cli-bundle/chunks/{chunk-NDSMKB2I.js → chunk-LYL32FT6.js} +3 -3
  111. package/dist/cli-bundle/chunks/{chunk-ODN53S6H.js → chunk-MF6KSSMF.js} +11 -14
  112. package/dist/cli-bundle/chunks/chunk-MF6KSSMF.js.map +1 -0
  113. package/dist/cli-bundle/chunks/{chunk-Z55JACL2.js → chunk-O64EYNHF.js} +6 -6
  114. package/dist/cli-bundle/chunks/{chunk-3TXWDGPU.js → chunk-OQGJSCZZ.js} +522 -37
  115. package/dist/cli-bundle/chunks/chunk-OQGJSCZZ.js.map +7 -0
  116. package/dist/cli-bundle/chunks/{chunk-FO2TYSQZ.js → chunk-OROMGSBP.js} +2 -2
  117. package/dist/cli-bundle/chunks/{chunk-3E3MDBTB.js → chunk-OSGWBWLK.js} +76 -74
  118. package/dist/cli-bundle/chunks/{chunk-3E3MDBTB.js.map → chunk-OSGWBWLK.js.map} +3 -3
  119. package/dist/cli-bundle/chunks/{chunk-7WXGR44E.js → chunk-OVNSQHDG.js} +19 -7
  120. package/dist/cli-bundle/chunks/chunk-OVNSQHDG.js.map +7 -0
  121. package/dist/cli-bundle/chunks/{chunk-XZS4MV37.js → chunk-PYULT32I.js} +2 -2
  122. package/dist/cli-bundle/chunks/{chunk-M7UBTVFT.js → chunk-Q6PSD5DZ.js} +3 -3
  123. package/dist/cli-bundle/chunks/{chunk-QQPZYP73.js → chunk-QGIWURY3.js} +12 -12
  124. package/dist/cli-bundle/chunks/{chunk-KCGMABHM.js → chunk-QJ2OIEOC.js} +68 -7
  125. package/dist/cli-bundle/chunks/chunk-QJ2OIEOC.js.map +1 -0
  126. package/dist/cli-bundle/chunks/{chunk-XEKZCBCS.js → chunk-SNASEDXB.js} +3 -3
  127. package/dist/cli-bundle/chunks/{chunk-4WYBLB6J.js → chunk-T6QLB34N.js} +3 -3
  128. package/dist/cli-bundle/chunks/{chunk-NGEEXR2R.js → chunk-TALBUVWF.js} +2 -2
  129. package/dist/cli-bundle/chunks/{chunk-FGRJZVXD.js → chunk-TV6FZGVK.js} +3 -3
  130. package/dist/cli-bundle/chunks/{chunk-MSH23UWO.js → chunk-TXWMLDMG.js} +13 -7
  131. package/dist/cli-bundle/chunks/chunk-TXWMLDMG.js.map +7 -0
  132. package/dist/cli-bundle/chunks/{chunk-TXKENAQP.js → chunk-TZLGCTA5.js} +5 -4
  133. package/dist/cli-bundle/chunks/chunk-TZLGCTA5.js.map +7 -0
  134. package/dist/cli-bundle/chunks/{chunk-4TI3532H.js → chunk-UDWUDUJI.js} +2 -2
  135. package/dist/cli-bundle/chunks/{chunk-N4SQZ7L3.js → chunk-UMWF6ZAS.js} +12 -5
  136. package/dist/cli-bundle/chunks/chunk-UMWF6ZAS.js.map +7 -0
  137. package/dist/cli-bundle/chunks/{chunk-BKQMJXWY.js → chunk-UNH3KSHG.js} +4 -6
  138. package/dist/cli-bundle/chunks/{chunk-BKQMJXWY.js.map → chunk-UNH3KSHG.js.map} +1 -1
  139. package/dist/cli-bundle/chunks/{chunk-CBJXWXI5.js → chunk-UY26RIBR.js} +2 -2
  140. package/dist/cli-bundle/chunks/{chunk-TBLBEOEX.js → chunk-VSS3CSTF.js} +9 -9
  141. package/dist/cli-bundle/chunks/{chunk-2YPVCD7T.js → chunk-WBU257Z4.js} +13 -11
  142. package/dist/cli-bundle/chunks/chunk-WBU257Z4.js.map +7 -0
  143. package/dist/cli-bundle/chunks/{chunk-YJAKN2N2.js → chunk-WNMRICXH.js} +489 -32
  144. package/dist/cli-bundle/chunks/chunk-WNMRICXH.js.map +1 -0
  145. package/dist/cli-bundle/chunks/chunk-WSWOQP3Z.js +518 -0
  146. package/dist/cli-bundle/chunks/chunk-WSWOQP3Z.js.map +1 -0
  147. package/dist/cli-bundle/chunks/{chunk-OTY2YEH5.js → chunk-WWEFBBVF.js} +12 -12
  148. package/dist/cli-bundle/chunks/{chunk-UMMJAJB2.js → chunk-X3IPJU2O.js} +9 -9
  149. package/dist/cli-bundle/chunks/{chunk-KBKJVXUS.js → chunk-X5YC5DZM.js} +111 -6
  150. package/dist/cli-bundle/chunks/chunk-X5YC5DZM.js.map +7 -0
  151. package/dist/cli-bundle/chunks/{chunk-KVXIQDJG.js → chunk-XH6RA5A5.js} +15 -15
  152. package/dist/cli-bundle/chunks/chunk-XH6RA5A5.js.map +1 -0
  153. package/dist/cli-bundle/chunks/{chunk-2HMD3JM2.js → chunk-XRE4CTNP.js} +11 -14
  154. package/dist/cli-bundle/chunks/chunk-XRE4CTNP.js.map +7 -0
  155. package/dist/cli-bundle/chunks/{chunk-RISLL7XH.js → chunk-XSCGU4WT.js} +15 -5
  156. package/dist/cli-bundle/chunks/{chunk-RISLL7XH.js.map → chunk-XSCGU4WT.js.map} +2 -2
  157. package/dist/cli-bundle/chunks/{chunk-L3LYL3ID.js → chunk-ZH7C7ZVX.js} +14 -14
  158. package/dist/cli-bundle/chunks/chunk-ZH7C7ZVX.js.map +7 -0
  159. package/dist/cli-bundle/chunks/{claim-NHBIIBOW.js → claim-3TY5LE54.js} +10 -10
  160. package/dist/cli-bundle/chunks/{claim-RNEBQCOO.js → claim-LM4YY6QQ.js} +10 -10
  161. package/dist/cli-bundle/chunks/{close-ZMXL2WDS.js → close-CSD4LEMT.js} +8 -8
  162. package/dist/cli-bundle/chunks/close-SIQCDOBR.js +13 -0
  163. package/dist/cli-bundle/chunks/{close-many-CDPQGQUB.js → close-many-B5SHDX6W.js} +17 -18
  164. package/dist/cli-bundle/chunks/{close-many-CDPQGQUB.js.map → close-many-B5SHDX6W.js.map} +1 -1
  165. package/dist/cli-bundle/chunks/{close-many-IQV5C2SI.js → close-many-WRXB5KVY.js} +15 -16
  166. package/dist/cli-bundle/chunks/{close-many-IQV5C2SI.js.map → close-many-WRXB5KVY.js.map} +1 -1
  167. package/dist/cli-bundle/chunks/{comments-J5Q4IJPH.js → comments-A5ALOYTG.js} +10 -10
  168. package/dist/cli-bundle/chunks/{comments-EFVBHWPT.js → comments-BDDEK3VW.js} +10 -10
  169. package/dist/cli-bundle/chunks/{config-72253M2O.js → config-W2NHDNQT.js} +8 -8
  170. package/dist/cli-bundle/chunks/{config-VFYA6BMI.js → config-YUYBMJOW.js} +8 -8
  171. package/dist/cli-bundle/chunks/{context-AVLO4IFH.js → context-LRJ74NSU.js} +147 -36
  172. package/dist/cli-bundle/chunks/context-LRJ74NSU.js.map +7 -0
  173. package/dist/cli-bundle/chunks/{context-WMSI2D65.js → context-R2QLOJCK.js} +148 -37
  174. package/dist/cli-bundle/chunks/context-R2QLOJCK.js.map +1 -0
  175. package/dist/cli-bundle/chunks/{contracts-D4BN3VSQ.js → contracts-47X7RYUF.js} +4 -4
  176. package/dist/cli-bundle/chunks/{contracts-RGPOBLPL.js → contracts-HJHR4NCD.js} +4 -4
  177. package/dist/cli-bundle/chunks/{copy-H6TXHK7S.js → copy-B7HFOWFB.js} +7 -7
  178. package/dist/cli-bundle/chunks/{copy-WXE3OOLZ.js → copy-P4UVYZ7M.js} +7 -7
  179. package/dist/cli-bundle/chunks/{create-PUAIJEZ7.js → create-5ERJF64D.js} +13 -13
  180. package/dist/cli-bundle/chunks/create-TXNRPS4K.js +27 -0
  181. package/dist/cli-bundle/chunks/{delete-WBME6WG5.js → delete-LX3LGBCH.js} +7 -7
  182. package/dist/cli-bundle/chunks/{delete-PKR2JHLH.js → delete-S3WVK6LP.js} +7 -7
  183. package/dist/cli-bundle/chunks/{deps-4BQEDV4L.js → deps-GWSNH7OZ.js} +7 -7
  184. package/dist/cli-bundle/chunks/{deps-KWHQRO75.js → deps-YSM4LZQD.js} +7 -7
  185. package/dist/cli-bundle/chunks/{docs-SCNBUGSV.js → docs-7RYFBHQD.js} +9 -9
  186. package/dist/cli-bundle/chunks/{docs-364GT3ZR.js → docs-TG6JMVMY.js} +9 -9
  187. package/dist/cli-bundle/chunks/{extension-KK2UPXJD.js → extension-R3LUKMX7.js} +5 -5
  188. package/dist/cli-bundle/chunks/{extension-CRE7JM47.js → extension-VNMRKIHI.js} +5 -5
  189. package/dist/cli-bundle/chunks/{files-66EHM5ZR.js → files-KAKU57OT.js} +9 -9
  190. package/dist/cli-bundle/chunks/{files-3GESQAWL.js → files-QB3EYPMO.js} +9 -9
  191. package/dist/cli-bundle/chunks/{gc-MOQDND5J.js → gc-B747VM4M.js} +3 -3
  192. package/dist/cli-bundle/chunks/{gc-D5IWOKQH.js → gc-KNUPLPSW.js} +3 -3
  193. package/dist/cli-bundle/chunks/{get-7J2ZCBV5.js → get-GMGLIQ5I.js} +11 -11
  194. package/dist/cli-bundle/chunks/{get-WXSLXV3K.js → get-SBL6NHYQ.js} +11 -11
  195. package/dist/cli-bundle/chunks/{health-B6AEM7BV.js → health-IG43Z4KL.js} +47 -19
  196. package/dist/cli-bundle/chunks/health-IG43Z4KL.js.map +1 -0
  197. package/dist/cli-bundle/chunks/{health-YMZGOMVX.js → health-WWZJ5KJS.js} +46 -18
  198. package/dist/cli-bundle/chunks/health-WWZJ5KJS.js.map +7 -0
  199. package/dist/cli-bundle/chunks/history-6UKSZTRT.js +20 -0
  200. package/dist/cli-bundle/chunks/{history-TJTO5GCR.js → history-XCWRXBXC.js} +10 -10
  201. package/dist/cli-bundle/chunks/{history-compact-CKNN6UKW.js → history-compact-IDH7E7VN.js} +11 -11
  202. package/dist/cli-bundle/chunks/{history-compact-N2Q7IR3T.js → history-compact-KICKUCR7.js} +11 -11
  203. package/dist/cli-bundle/chunks/history-redact-HKYBTK6X.js +19 -0
  204. package/dist/cli-bundle/chunks/{history-redact-JUXUOH54.js → history-redact-JJWH3QWK.js} +11 -11
  205. package/dist/cli-bundle/chunks/{history-repair-TDBBSRVK.js → history-repair-7HWBZKXN.js} +11 -11
  206. package/dist/cli-bundle/chunks/{history-repair-CCCPBNTF.js → history-repair-N5HXKJOI.js} +11 -11
  207. package/dist/cli-bundle/chunks/init-27JLDUO2.js +17 -0
  208. package/dist/cli-bundle/chunks/{init-6ZPKD3YN.js → init-OQA3TWIS.js} +9 -9
  209. package/dist/cli-bundle/chunks/{learnings-WYNTYQ5T.js → learnings-L7VQUSVI.js} +10 -10
  210. package/dist/cli-bundle/chunks/{learnings-U7U2FNIO.js → learnings-Z4GAIZQ5.js} +10 -10
  211. package/dist/cli-bundle/chunks/list-6U3CJVXS.js +19 -0
  212. package/dist/cli-bundle/chunks/{list-JGP7ODML.js → list-W5ROBC5U.js} +10 -11
  213. package/dist/cli-bundle/chunks/{notes-P25YVTEG.js → notes-JJDOEDFK.js} +10 -10
  214. package/dist/cli-bundle/chunks/{notes-QIF6A7XS.js → notes-SDCK7BEN.js} +10 -10
  215. package/dist/cli-bundle/chunks/{plan-RACB5PI6.js → plan-H5HYHMBB.js} +13 -13
  216. package/dist/cli-bundle/chunks/{plan-SSBJFWXA.js → plan-W2B5RYR3.js} +13 -13
  217. package/dist/cli-bundle/chunks/{register-list-query-GQAEIG4K.js → register-list-query-QGRFMDWA.js} +20 -20
  218. package/dist/cli-bundle/chunks/register-list-query-QGRFMDWA.js.map +7 -0
  219. package/dist/cli-bundle/chunks/{register-list-query-5IXDPUZ6.js → register-list-query-V4S23735.js} +21 -21
  220. package/dist/cli-bundle/chunks/register-list-query-V4S23735.js.map +1 -0
  221. package/dist/cli-bundle/chunks/{register-mutation-FAS4YG63.js → register-mutation-I57PLUHA.js} +36 -35
  222. package/dist/cli-bundle/chunks/register-mutation-I57PLUHA.js.map +1 -0
  223. package/dist/cli-bundle/chunks/{register-mutation-YZCUILGO.js → register-mutation-ZPZNJXSA.js} +35 -34
  224. package/dist/cli-bundle/chunks/register-mutation-ZPZNJXSA.js.map +7 -0
  225. package/dist/cli-bundle/chunks/{register-operations-S2BOLUPF.js → register-operations-KAMLXAF5.js} +42 -37
  226. package/dist/cli-bundle/chunks/register-operations-KAMLXAF5.js.map +1 -0
  227. package/dist/cli-bundle/chunks/{register-operations-IBYWNJN5.js → register-operations-YEN4YEZ2.js} +41 -36
  228. package/dist/cli-bundle/chunks/register-operations-YEN4YEZ2.js.map +7 -0
  229. package/dist/cli-bundle/chunks/{register-setup-JRZ4UMWZ.js → register-setup-BZ3TNE3G.js} +15 -15
  230. package/dist/cli-bundle/chunks/{register-setup-ABA2JPWO.js → register-setup-WLFL3OUF.js} +15 -15
  231. package/dist/cli-bundle/chunks/restore-GNI2W5CN.js +17 -0
  232. package/dist/cli-bundle/chunks/{restore-K72ZNPEP.js → restore-RGFSPG4K.js} +11 -11
  233. package/dist/cli-bundle/chunks/{schema-UL4B2JX5.js → schema-CCDU3RLC.js} +8 -8
  234. package/dist/cli-bundle/chunks/{schema-3VKRDBLC.js → schema-KZASL323.js} +8 -8
  235. package/dist/cli-bundle/chunks/{search-632WJ7GO.js → search-7KSOLI2E.js} +10 -11
  236. package/dist/cli-bundle/chunks/{search-632WJ7GO.js.map → search-7KSOLI2E.js.map} +1 -1
  237. package/dist/cli-bundle/chunks/{search-EQDHSE4G.js → search-DTL7CO22.js} +12 -13
  238. package/dist/cli-bundle/chunks/{search-EQDHSE4G.js.map → search-DTL7CO22.js.map} +1 -1
  239. package/dist/cli-bundle/chunks/{stats-WLJ3XBF5.js → stats-IOXQMGI6.js} +7 -7
  240. package/dist/cli-bundle/chunks/{stats-O4UTMJMC.js → stats-QNV7B2CE.js} +7 -7
  241. package/dist/cli-bundle/chunks/{telemetry-EUVHFSQU.js → telemetry-IV5C6JOM.js} +4 -4
  242. package/dist/cli-bundle/chunks/{telemetry-NRVWX25E.js → telemetry-NHR5RFXT.js} +4 -4
  243. package/dist/cli-bundle/chunks/test-4Z37CXW4.js +32 -0
  244. package/dist/cli-bundle/chunks/{test-GXUBQNUC.js → test-PIL2CEEB.js} +14 -14
  245. package/dist/cli-bundle/chunks/{test-all-UTFXC7S2.js → test-all-GRLYHBNP.js} +14 -14
  246. package/dist/cli-bundle/chunks/{test-all-XM6OKI3L.js → test-all-MFN4MYCV.js} +14 -14
  247. package/dist/cli-bundle/chunks/{test-runs-IK6E2HNX.js → test-runs-7LRFWWCA.js} +5 -5
  248. package/dist/cli-bundle/chunks/{test-runs-7FHCPEA3.js → test-runs-7WCSC3TY.js} +5 -5
  249. package/dist/cli-bundle/chunks/update-I4G34LKJ.js +21 -0
  250. package/dist/cli-bundle/chunks/{update-U4B4OMHZ.js → update-VI5DBZ3G.js} +15 -15
  251. package/dist/cli-bundle/chunks/{update-many-5KD33MKY.js → update-many-LOTAYUTN.js} +22 -23
  252. package/dist/cli-bundle/chunks/{update-many-5KD33MKY.js.map → update-many-LOTAYUTN.js.map} +1 -1
  253. package/dist/cli-bundle/chunks/{update-many-N3YTM7K4.js → update-many-UYMTVF42.js} +24 -25
  254. package/dist/cli-bundle/chunks/{update-many-N3YTM7K4.js.map → update-many-UYMTVF42.js.map} +1 -1
  255. package/dist/cli-bundle/chunks/{upgrade-FFXGO43H.js → upgrade-LT2MLLPS.js} +5 -5
  256. package/dist/cli-bundle/chunks/{upgrade-5SRFLUNW.js → upgrade-ZZSC7CLV.js} +5 -5
  257. package/dist/cli-bundle/chunks/{validate-T3LPWSZG.js → validate-3XRORNMP.js} +16 -16
  258. package/dist/cli-bundle/chunks/{validate-CRWXZILW.js → validate-IQIQSKUX.js} +16 -16
  259. package/dist/cli-bundle/main.js +157 -62
  260. package/dist/cli-bundle/main.js.map +2 -2
  261. package/dist/core/diagnostics/remediation.js +12 -2
  262. package/dist/core/diagnostics/remediation.js.map +1 -1
  263. package/dist/core/extensions/extension-policy.d.ts +14 -1
  264. package/dist/core/extensions/extension-policy.js +38 -3
  265. package/dist/core/extensions/extension-policy.js.map +1 -1
  266. package/dist/core/extensions/extension-types.d.ts +99 -2
  267. package/dist/core/extensions/extension-types.js +28 -2
  268. package/dist/core/extensions/extension-types.js.map +1 -1
  269. package/dist/core/extensions/flag-value-types.d.ts +29 -0
  270. package/dist/core/extensions/flag-value-types.js +78 -0
  271. package/dist/core/extensions/flag-value-types.js.map +1 -0
  272. package/dist/core/extensions/item-field-types.d.ts +22 -0
  273. package/dist/core/extensions/item-field-types.js +43 -0
  274. package/dist/core/extensions/item-field-types.js.map +1 -0
  275. package/dist/core/extensions/item-fields.js +4 -11
  276. package/dist/core/extensions/item-fields.js.map +1 -1
  277. package/dist/core/extensions/loader.d.ts +16 -1
  278. package/dist/core/extensions/loader.js +202 -18
  279. package/dist/core/extensions/loader.js.map +1 -1
  280. package/dist/core/history/replay.d.ts +1 -1
  281. package/dist/core/history/replay.js +13 -4
  282. package/dist/core/history/replay.js.map +1 -1
  283. package/dist/core/output/mutation-projection.d.ts +2 -0
  284. package/dist/core/output/mutation-projection.js +9 -2
  285. package/dist/core/output/mutation-projection.js.map +1 -1
  286. package/dist/core/output/output.d.ts +2 -0
  287. package/dist/core/output/output.js +7 -3
  288. package/dist/core/output/output.js.map +1 -1
  289. package/dist/core/packages/manifest.d.ts +1 -1
  290. package/dist/core/packages/manifest.js +12 -2
  291. package/dist/core/packages/manifest.js.map +1 -1
  292. package/dist/core/shared/command-types.d.ts +1 -0
  293. package/dist/core/shared/command-types.js +2 -2
  294. package/dist/core/shared/command-types.js.map +1 -1
  295. package/dist/core/shared/constants.js +7 -4
  296. package/dist/core/shared/constants.js.map +1 -1
  297. package/dist/core/store/item-store.d.ts +1 -1
  298. package/dist/core/store/item-store.js +3 -3
  299. package/dist/core/store/item-store.js.map +1 -1
  300. package/dist/core/store/settings-read-cache.d.ts +15 -0
  301. package/dist/core/store/settings-read-cache.js +72 -0
  302. package/dist/core/store/settings-read-cache.js.map +1 -0
  303. package/dist/core/store/settings-validator.d.ts +4 -1
  304. package/dist/core/store/settings-validator.js +14 -2
  305. package/dist/core/store/settings-validator.js.map +1 -1
  306. package/dist/core/store/settings.js +166 -16
  307. package/dist/core/store/settings.js.map +1 -1
  308. package/dist/core/telemetry/runtime.d.ts +1 -0
  309. package/dist/core/telemetry/runtime.js +3 -3
  310. package/dist/core/telemetry/runtime.js.map +1 -1
  311. package/dist/core/test/run-selectors.d.ts +27 -0
  312. package/dist/core/test/run-selectors.js +110 -0
  313. package/dist/core/test/run-selectors.js.map +1 -0
  314. package/dist/mcp/server.js +105 -40
  315. package/dist/mcp/server.js.map +1 -1
  316. package/dist/sdk/cli-contracts/commander-mutation-options.js +3 -2
  317. package/dist/sdk/cli-contracts/commander-mutation-options.js.map +1 -1
  318. package/dist/sdk/cli-contracts/tool-option-contracts.js +3 -2
  319. package/dist/sdk/cli-contracts/tool-option-contracts.js.map +1 -1
  320. package/dist/sdk/cli-contracts/tool-parameter-tables.js +29 -2
  321. package/dist/sdk/cli-contracts/tool-parameter-tables.js.map +1 -1
  322. package/dist/sdk/cli-contracts.js +37 -5
  323. package/dist/sdk/cli-contracts.js.map +1 -1
  324. package/dist/sdk/index.d.ts +7 -2
  325. package/dist/sdk/index.js +3 -3
  326. package/dist/sdk/index.js.map +1 -1
  327. package/dist/sdk/runtime.d.ts +6 -0
  328. package/dist/sdk/runtime.js +51 -3
  329. package/dist/sdk/runtime.js.map +1 -1
  330. package/dist/sdk/testing.d.ts +55 -1
  331. package/dist/sdk/testing.js +92 -2
  332. package/dist/sdk/testing.js.map +1 -1
  333. package/dist/types.d.ts +4 -1
  334. package/dist/types.js +4 -2
  335. package/dist/types.js.map +1 -1
  336. package/docs/AGENT_GUIDE.md +7 -1
  337. package/docs/ARCHITECTURE.md +7 -0
  338. package/docs/COMMANDS.md +37 -3
  339. package/docs/CONFIGURATION.md +1 -1
  340. package/docs/EXTENSIONS.md +59 -53
  341. package/docs/SDK.md +104 -0
  342. package/docs/TESTING.md +60 -0
  343. package/docs/schemas/extension-manifest.schema.json +120 -0
  344. package/package.json +2 -2
  345. package/packages/pm-beads/extensions/beads/manifest.json +10 -0
  346. package/packages/pm-calendar/extensions/calendar/manifest.json +10 -0
  347. package/packages/pm-command-kit/README.md +72 -0
  348. package/packages/pm-command-kit/extensions/command-kit/index.js +181 -0
  349. package/packages/pm-command-kit/extensions/command-kit/index.ts +176 -0
  350. package/packages/pm-command-kit/extensions/command-kit/manifest.json +22 -0
  351. package/packages/pm-command-kit/package.json +53 -0
  352. package/packages/pm-governance-audit/extensions/governance-audit/manifest.json +10 -0
  353. package/packages/pm-guide-shell/extensions/guide-shell/manifest.json +10 -0
  354. package/packages/pm-lifecycle-hooks/extensions/lifecycle-hooks/manifest.json +10 -0
  355. package/packages/pm-linked-test-adapters/extensions/linked-test-adapters/manifest.json +10 -0
  356. package/packages/pm-search-advanced/extensions/search-advanced/index.js +6 -0
  357. package/packages/pm-search-advanced/extensions/search-advanced/index.ts +6 -0
  358. package/packages/pm-search-advanced/extensions/search-advanced/manifest.json +10 -0
  359. package/packages/pm-search-advanced/extensions/search-advanced/runtime.js +1 -0
  360. package/packages/pm-search-advanced/extensions/search-advanced/runtime.ts +1 -0
  361. package/packages/pm-templates/extensions/templates/manifest.json +10 -0
  362. package/packages/pm-todos/extensions/todos/manifest.json +10 -0
  363. package/dist/cli-bundle/chunks/activity-A3QKFSSF.js +0 -16
  364. package/dist/cli-bundle/chunks/aggregate-GBSHSXOB.js.map +0 -7
  365. package/dist/cli-bundle/chunks/aggregate-HKQJZUBG.js.map +0 -1
  366. package/dist/cli-bundle/chunks/chunk-2HMD3JM2.js.map +0 -7
  367. package/dist/cli-bundle/chunks/chunk-2YPVCD7T.js.map +0 -7
  368. package/dist/cli-bundle/chunks/chunk-3TXWDGPU.js.map +0 -7
  369. package/dist/cli-bundle/chunks/chunk-7NQIY7Z6.js.map +0 -1
  370. package/dist/cli-bundle/chunks/chunk-7WXGR44E.js.map +0 -7
  371. package/dist/cli-bundle/chunks/chunk-ALSRBNYB.js.map +0 -1
  372. package/dist/cli-bundle/chunks/chunk-D7WK2PKB.js.map +0 -1
  373. package/dist/cli-bundle/chunks/chunk-DV27WDA7.js.map +0 -7
  374. package/dist/cli-bundle/chunks/chunk-EAOG77HM.js +0 -56
  375. package/dist/cli-bundle/chunks/chunk-EAOG77HM.js.map +0 -7
  376. package/dist/cli-bundle/chunks/chunk-EPWT7BEA.js.map +0 -1
  377. package/dist/cli-bundle/chunks/chunk-F33AQIB4.js.map +0 -1
  378. package/dist/cli-bundle/chunks/chunk-F33VC5EX.js.map +0 -1
  379. package/dist/cli-bundle/chunks/chunk-HOA3GMB6.js.map +0 -1
  380. package/dist/cli-bundle/chunks/chunk-KBKJVXUS.js.map +0 -7
  381. package/dist/cli-bundle/chunks/chunk-KCGMABHM.js.map +0 -1
  382. package/dist/cli-bundle/chunks/chunk-KS2U7BZ3.js.map +0 -1
  383. package/dist/cli-bundle/chunks/chunk-KVXIQDJG.js.map +0 -1
  384. package/dist/cli-bundle/chunks/chunk-L3LYL3ID.js.map +0 -7
  385. package/dist/cli-bundle/chunks/chunk-MSH23UWO.js.map +0 -7
  386. package/dist/cli-bundle/chunks/chunk-N4SQZ7L3.js.map +0 -7
  387. package/dist/cli-bundle/chunks/chunk-NUKHZZNM.js +0 -252
  388. package/dist/cli-bundle/chunks/chunk-NUKHZZNM.js.map +0 -7
  389. package/dist/cli-bundle/chunks/chunk-ODN53S6H.js.map +0 -1
  390. package/dist/cli-bundle/chunks/chunk-OVSSE2JP.js.map +0 -1
  391. package/dist/cli-bundle/chunks/chunk-QWNUDGFQ.js.map +0 -7
  392. package/dist/cli-bundle/chunks/chunk-TXKENAQP.js.map +0 -7
  393. package/dist/cli-bundle/chunks/chunk-VXBUXLVD.js.map +0 -7
  394. package/dist/cli-bundle/chunks/chunk-XNGMIVQY.js +0 -242
  395. package/dist/cli-bundle/chunks/chunk-XNGMIVQY.js.map +0 -1
  396. package/dist/cli-bundle/chunks/chunk-XSLQSXAH.js +0 -53
  397. package/dist/cli-bundle/chunks/chunk-XSLQSXAH.js.map +0 -1
  398. package/dist/cli-bundle/chunks/chunk-YJAKN2N2.js.map +0 -1
  399. package/dist/cli-bundle/chunks/close-UNTFXVM3.js +0 -13
  400. package/dist/cli-bundle/chunks/context-AVLO4IFH.js.map +0 -7
  401. package/dist/cli-bundle/chunks/context-WMSI2D65.js.map +0 -1
  402. package/dist/cli-bundle/chunks/create-EZWAMUKR.js +0 -27
  403. package/dist/cli-bundle/chunks/health-B6AEM7BV.js.map +0 -1
  404. package/dist/cli-bundle/chunks/health-YMZGOMVX.js.map +0 -7
  405. package/dist/cli-bundle/chunks/history-ZERISU2L.js +0 -20
  406. package/dist/cli-bundle/chunks/history-redact-GODBYT5A.js +0 -19
  407. package/dist/cli-bundle/chunks/init-CBZHXBR3.js +0 -17
  408. package/dist/cli-bundle/chunks/list-7MTPPZHC.js +0 -20
  409. package/dist/cli-bundle/chunks/register-list-query-5IXDPUZ6.js.map +0 -1
  410. package/dist/cli-bundle/chunks/register-list-query-GQAEIG4K.js.map +0 -7
  411. package/dist/cli-bundle/chunks/register-mutation-FAS4YG63.js.map +0 -1
  412. package/dist/cli-bundle/chunks/register-mutation-YZCUILGO.js.map +0 -7
  413. package/dist/cli-bundle/chunks/register-operations-IBYWNJN5.js.map +0 -7
  414. package/dist/cli-bundle/chunks/register-operations-S2BOLUPF.js.map +0 -1
  415. package/dist/cli-bundle/chunks/restore-3JRX27QW.js +0 -17
  416. package/dist/cli-bundle/chunks/test-XN7RJL5Z.js +0 -32
  417. package/dist/cli-bundle/chunks/update-LFBSEW3N.js +0 -21
  418. /package/dist/cli-bundle/chunks/{activity-A3QKFSSF.js.map → activity-5QLX6DHN.js.map} +0 -0
  419. /package/dist/cli-bundle/chunks/{activity-Q7XMIZIH.js.map → activity-W6TS5F2L.js.map} +0 -0
  420. /package/dist/cli-bundle/chunks/{append-3RFOU7P5.js.map → append-7BS36Z2L.js.map} +0 -0
  421. /package/dist/cli-bundle/chunks/{append-OM74OJVT.js.map → append-DHGTLUZW.js.map} +0 -0
  422. /package/dist/cli-bundle/chunks/{chunk-Z2HXAFFH.js.map → chunk-344GDQTH.js.map} +0 -0
  423. /package/dist/cli-bundle/chunks/{chunk-AEMKH5WQ.js.map → chunk-3VTWCBXL.js.map} +0 -0
  424. /package/dist/cli-bundle/chunks/{chunk-XLSQ3QLT.js.map → chunk-4CYHWHZU.js.map} +0 -0
  425. /package/dist/cli-bundle/chunks/{chunk-JS47EKLP.js.map → chunk-4H2NDEGJ.js.map} +0 -0
  426. /package/dist/cli-bundle/chunks/{chunk-QF4OPBAG.js.map → chunk-5HH6QRH5.js.map} +0 -0
  427. /package/dist/cli-bundle/chunks/{chunk-5NVJA7IW.js.map → chunk-5OMABP7I.js.map} +0 -0
  428. /package/dist/cli-bundle/chunks/{chunk-YEFOCDIK.js.map → chunk-6ADVKPVV.js.map} +0 -0
  429. /package/dist/cli-bundle/chunks/{chunk-SM3RMWGO.js.map → chunk-6KQS23TX.js.map} +0 -0
  430. /package/dist/cli-bundle/chunks/{chunk-ETZZU5QF.js.map → chunk-6N46IM44.js.map} +0 -0
  431. /package/dist/cli-bundle/chunks/{chunk-5WO2VKFA.js.map → chunk-73PSHEMT.js.map} +0 -0
  432. /package/dist/cli-bundle/chunks/{chunk-J4DKAGTM.js.map → chunk-7DUVDW7C.js.map} +0 -0
  433. /package/dist/cli-bundle/chunks/{chunk-2BYKYPWY.js.map → chunk-7GYMMDDW.js.map} +0 -0
  434. /package/dist/cli-bundle/chunks/{chunk-QFVASU44.js.map → chunk-7TW64BS5.js.map} +0 -0
  435. /package/dist/cli-bundle/chunks/{chunk-KP4KIUQT.js.map → chunk-ANVZCNL5.js.map} +0 -0
  436. /package/dist/cli-bundle/chunks/{chunk-UEXNNF3K.js.map → chunk-D6JZBUZ6.js.map} +0 -0
  437. /package/dist/cli-bundle/chunks/{chunk-R4XIE7NQ.js.map → chunk-DMDEC4QP.js.map} +0 -0
  438. /package/dist/cli-bundle/chunks/{chunk-KN4WSESY.js.map → chunk-DTRIVUTN.js.map} +0 -0
  439. /package/dist/cli-bundle/chunks/{chunk-HP35AVFS.js.map → chunk-EIS32UA4.js.map} +0 -0
  440. /package/dist/cli-bundle/chunks/{chunk-BFJPMUF5.js.map → chunk-GP6SHEAI.js.map} +0 -0
  441. /package/dist/cli-bundle/chunks/{chunk-URJEZOLB.js.map → chunk-GRHPU6EM.js.map} +0 -0
  442. /package/dist/cli-bundle/chunks/{chunk-K62SNVVE.js.map → chunk-I2FM2SMO.js.map} +0 -0
  443. /package/dist/cli-bundle/chunks/{chunk-AXBUHLW7.js.map → chunk-K45NAJV2.js.map} +0 -0
  444. /package/dist/cli-bundle/chunks/{chunk-NLVCMVC7.js.map → chunk-K7SXBA75.js.map} +0 -0
  445. /package/dist/cli-bundle/chunks/{chunk-NDSMKB2I.js.map → chunk-LYL32FT6.js.map} +0 -0
  446. /package/dist/cli-bundle/chunks/{chunk-Z55JACL2.js.map → chunk-O64EYNHF.js.map} +0 -0
  447. /package/dist/cli-bundle/chunks/{chunk-FO2TYSQZ.js.map → chunk-OROMGSBP.js.map} +0 -0
  448. /package/dist/cli-bundle/chunks/{chunk-XZS4MV37.js.map → chunk-PYULT32I.js.map} +0 -0
  449. /package/dist/cli-bundle/chunks/{chunk-M7UBTVFT.js.map → chunk-Q6PSD5DZ.js.map} +0 -0
  450. /package/dist/cli-bundle/chunks/{chunk-QQPZYP73.js.map → chunk-QGIWURY3.js.map} +0 -0
  451. /package/dist/cli-bundle/chunks/{chunk-XEKZCBCS.js.map → chunk-SNASEDXB.js.map} +0 -0
  452. /package/dist/cli-bundle/chunks/{chunk-4WYBLB6J.js.map → chunk-T6QLB34N.js.map} +0 -0
  453. /package/dist/cli-bundle/chunks/{chunk-NGEEXR2R.js.map → chunk-TALBUVWF.js.map} +0 -0
  454. /package/dist/cli-bundle/chunks/{chunk-FGRJZVXD.js.map → chunk-TV6FZGVK.js.map} +0 -0
  455. /package/dist/cli-bundle/chunks/{chunk-4TI3532H.js.map → chunk-UDWUDUJI.js.map} +0 -0
  456. /package/dist/cli-bundle/chunks/{chunk-CBJXWXI5.js.map → chunk-UY26RIBR.js.map} +0 -0
  457. /package/dist/cli-bundle/chunks/{chunk-TBLBEOEX.js.map → chunk-VSS3CSTF.js.map} +0 -0
  458. /package/dist/cli-bundle/chunks/{chunk-OTY2YEH5.js.map → chunk-WWEFBBVF.js.map} +0 -0
  459. /package/dist/cli-bundle/chunks/{chunk-UMMJAJB2.js.map → chunk-X3IPJU2O.js.map} +0 -0
  460. /package/dist/cli-bundle/chunks/{claim-NHBIIBOW.js.map → claim-3TY5LE54.js.map} +0 -0
  461. /package/dist/cli-bundle/chunks/{claim-RNEBQCOO.js.map → claim-LM4YY6QQ.js.map} +0 -0
  462. /package/dist/cli-bundle/chunks/{close-ZMXL2WDS.js.map → close-CSD4LEMT.js.map} +0 -0
  463. /package/dist/cli-bundle/chunks/{close-UNTFXVM3.js.map → close-SIQCDOBR.js.map} +0 -0
  464. /package/dist/cli-bundle/chunks/{comments-J5Q4IJPH.js.map → comments-A5ALOYTG.js.map} +0 -0
  465. /package/dist/cli-bundle/chunks/{comments-EFVBHWPT.js.map → comments-BDDEK3VW.js.map} +0 -0
  466. /package/dist/cli-bundle/chunks/{config-72253M2O.js.map → config-W2NHDNQT.js.map} +0 -0
  467. /package/dist/cli-bundle/chunks/{config-VFYA6BMI.js.map → config-YUYBMJOW.js.map} +0 -0
  468. /package/dist/cli-bundle/chunks/{contracts-D4BN3VSQ.js.map → contracts-47X7RYUF.js.map} +0 -0
  469. /package/dist/cli-bundle/chunks/{contracts-RGPOBLPL.js.map → contracts-HJHR4NCD.js.map} +0 -0
  470. /package/dist/cli-bundle/chunks/{copy-H6TXHK7S.js.map → copy-B7HFOWFB.js.map} +0 -0
  471. /package/dist/cli-bundle/chunks/{copy-WXE3OOLZ.js.map → copy-P4UVYZ7M.js.map} +0 -0
  472. /package/dist/cli-bundle/chunks/{create-PUAIJEZ7.js.map → create-5ERJF64D.js.map} +0 -0
  473. /package/dist/cli-bundle/chunks/{create-EZWAMUKR.js.map → create-TXNRPS4K.js.map} +0 -0
  474. /package/dist/cli-bundle/chunks/{delete-WBME6WG5.js.map → delete-LX3LGBCH.js.map} +0 -0
  475. /package/dist/cli-bundle/chunks/{delete-PKR2JHLH.js.map → delete-S3WVK6LP.js.map} +0 -0
  476. /package/dist/cli-bundle/chunks/{deps-4BQEDV4L.js.map → deps-GWSNH7OZ.js.map} +0 -0
  477. /package/dist/cli-bundle/chunks/{deps-KWHQRO75.js.map → deps-YSM4LZQD.js.map} +0 -0
  478. /package/dist/cli-bundle/chunks/{docs-SCNBUGSV.js.map → docs-7RYFBHQD.js.map} +0 -0
  479. /package/dist/cli-bundle/chunks/{docs-364GT3ZR.js.map → docs-TG6JMVMY.js.map} +0 -0
  480. /package/dist/cli-bundle/chunks/{extension-KK2UPXJD.js.map → extension-R3LUKMX7.js.map} +0 -0
  481. /package/dist/cli-bundle/chunks/{extension-CRE7JM47.js.map → extension-VNMRKIHI.js.map} +0 -0
  482. /package/dist/cli-bundle/chunks/{files-66EHM5ZR.js.map → files-KAKU57OT.js.map} +0 -0
  483. /package/dist/cli-bundle/chunks/{files-3GESQAWL.js.map → files-QB3EYPMO.js.map} +0 -0
  484. /package/dist/cli-bundle/chunks/{gc-MOQDND5J.js.map → gc-B747VM4M.js.map} +0 -0
  485. /package/dist/cli-bundle/chunks/{gc-D5IWOKQH.js.map → gc-KNUPLPSW.js.map} +0 -0
  486. /package/dist/cli-bundle/chunks/{get-7J2ZCBV5.js.map → get-GMGLIQ5I.js.map} +0 -0
  487. /package/dist/cli-bundle/chunks/{get-WXSLXV3K.js.map → get-SBL6NHYQ.js.map} +0 -0
  488. /package/dist/cli-bundle/chunks/{history-ZERISU2L.js.map → history-6UKSZTRT.js.map} +0 -0
  489. /package/dist/cli-bundle/chunks/{history-TJTO5GCR.js.map → history-XCWRXBXC.js.map} +0 -0
  490. /package/dist/cli-bundle/chunks/{history-compact-CKNN6UKW.js.map → history-compact-IDH7E7VN.js.map} +0 -0
  491. /package/dist/cli-bundle/chunks/{history-compact-N2Q7IR3T.js.map → history-compact-KICKUCR7.js.map} +0 -0
  492. /package/dist/cli-bundle/chunks/{history-redact-GODBYT5A.js.map → history-redact-HKYBTK6X.js.map} +0 -0
  493. /package/dist/cli-bundle/chunks/{history-redact-JUXUOH54.js.map → history-redact-JJWH3QWK.js.map} +0 -0
  494. /package/dist/cli-bundle/chunks/{history-repair-TDBBSRVK.js.map → history-repair-7HWBZKXN.js.map} +0 -0
  495. /package/dist/cli-bundle/chunks/{history-repair-CCCPBNTF.js.map → history-repair-N5HXKJOI.js.map} +0 -0
  496. /package/dist/cli-bundle/chunks/{init-CBZHXBR3.js.map → init-27JLDUO2.js.map} +0 -0
  497. /package/dist/cli-bundle/chunks/{init-6ZPKD3YN.js.map → init-OQA3TWIS.js.map} +0 -0
  498. /package/dist/cli-bundle/chunks/{learnings-WYNTYQ5T.js.map → learnings-L7VQUSVI.js.map} +0 -0
  499. /package/dist/cli-bundle/chunks/{learnings-U7U2FNIO.js.map → learnings-Z4GAIZQ5.js.map} +0 -0
  500. /package/dist/cli-bundle/chunks/{list-7MTPPZHC.js.map → list-6U3CJVXS.js.map} +0 -0
  501. /package/dist/cli-bundle/chunks/{list-JGP7ODML.js.map → list-W5ROBC5U.js.map} +0 -0
  502. /package/dist/cli-bundle/chunks/{notes-P25YVTEG.js.map → notes-JJDOEDFK.js.map} +0 -0
  503. /package/dist/cli-bundle/chunks/{notes-QIF6A7XS.js.map → notes-SDCK7BEN.js.map} +0 -0
  504. /package/dist/cli-bundle/chunks/{plan-RACB5PI6.js.map → plan-H5HYHMBB.js.map} +0 -0
  505. /package/dist/cli-bundle/chunks/{plan-SSBJFWXA.js.map → plan-W2B5RYR3.js.map} +0 -0
  506. /package/dist/cli-bundle/chunks/{register-setup-JRZ4UMWZ.js.map → register-setup-BZ3TNE3G.js.map} +0 -0
  507. /package/dist/cli-bundle/chunks/{register-setup-ABA2JPWO.js.map → register-setup-WLFL3OUF.js.map} +0 -0
  508. /package/dist/cli-bundle/chunks/{restore-3JRX27QW.js.map → restore-GNI2W5CN.js.map} +0 -0
  509. /package/dist/cli-bundle/chunks/{restore-K72ZNPEP.js.map → restore-RGFSPG4K.js.map} +0 -0
  510. /package/dist/cli-bundle/chunks/{schema-UL4B2JX5.js.map → schema-CCDU3RLC.js.map} +0 -0
  511. /package/dist/cli-bundle/chunks/{schema-3VKRDBLC.js.map → schema-KZASL323.js.map} +0 -0
  512. /package/dist/cli-bundle/chunks/{stats-WLJ3XBF5.js.map → stats-IOXQMGI6.js.map} +0 -0
  513. /package/dist/cli-bundle/chunks/{stats-O4UTMJMC.js.map → stats-QNV7B2CE.js.map} +0 -0
  514. /package/dist/cli-bundle/chunks/{telemetry-EUVHFSQU.js.map → telemetry-IV5C6JOM.js.map} +0 -0
  515. /package/dist/cli-bundle/chunks/{telemetry-NRVWX25E.js.map → telemetry-NHR5RFXT.js.map} +0 -0
  516. /package/dist/cli-bundle/chunks/{test-XN7RJL5Z.js.map → test-4Z37CXW4.js.map} +0 -0
  517. /package/dist/cli-bundle/chunks/{test-GXUBQNUC.js.map → test-PIL2CEEB.js.map} +0 -0
  518. /package/dist/cli-bundle/chunks/{test-all-UTFXC7S2.js.map → test-all-GRLYHBNP.js.map} +0 -0
  519. /package/dist/cli-bundle/chunks/{test-all-XM6OKI3L.js.map → test-all-MFN4MYCV.js.map} +0 -0
  520. /package/dist/cli-bundle/chunks/{test-runs-IK6E2HNX.js.map → test-runs-7LRFWWCA.js.map} +0 -0
  521. /package/dist/cli-bundle/chunks/{test-runs-7FHCPEA3.js.map → test-runs-7WCSC3TY.js.map} +0 -0
  522. /package/dist/cli-bundle/chunks/{update-LFBSEW3N.js.map → update-I4G34LKJ.js.map} +0 -0
  523. /package/dist/cli-bundle/chunks/{update-U4B4OMHZ.js.map → update-VI5DBZ3G.js.map} +0 -0
  524. /package/dist/cli-bundle/chunks/{upgrade-FFXGO43H.js.map → upgrade-LT2MLLPS.js.map} +0 -0
  525. /package/dist/cli-bundle/chunks/{upgrade-5SRFLUNW.js.map → upgrade-ZZSC7CLV.js.map} +0 -0
  526. /package/dist/cli-bundle/chunks/{validate-T3LPWSZG.js.map → validate-3XRORNMP.js.map} +0 -0
  527. /package/dist/cli-bundle/chunks/{validate-CRWXZILW.js.map → validate-IQIQSKUX.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sources":["cli/commands/create.ts"],"sourceRoot":"/","sourcesContent":["import { pathExists, removeFileIfExists, writeFileAtomic } from \"../../core/fs/fs-utils.js\";\nimport { appendHistoryEntry, createHistoryEntry } from \"../../core/history/history.js\";\nimport { generateItemId, normalizeItemId } from \"../../core/item/id.js\";\nimport { canonicalDocument, normalizeFrontMatter, serializeItemDocument } from \"../../core/item/item-format.js\";\nimport {\n normalizeParentReferenceValue,\n validateMissingParentReference,\n} from \"../../core/item/parent-reference-policy.js\";\nimport { validateSprintOrReleaseValue } from \"../../core/item/sprint-release-format.js\";\nimport { createStdinTokenResolver, mergeAdditiveTags, parseCsvKv, parseOptionalNumber, parseTags } from \"../../core/item/parse.js\";\nimport { resolvePriority } from \"../../core/item/priority.js\";\nimport { normalizeStatusInput } from \"../../core/item/status.js\";\nimport {\n canonicalizeCommandOptionKey,\n commandOptionFlagLabel,\n resolveItemTypeRegistry,\n resolveCommandOptionPolicyState,\n type ResolvedItemTypeDefinition,\n resolveTypeDefinition,\n resolveTypeName,\n validateTypeOptions,\n} from \"../../core/item/type-registry.js\";\nimport { acquireLock } from \"../../core/lock/lock.js\";\nimport { printError } from \"../../core/output/output.js\";\nimport { buildInvalidTypeError } from \"../../core/schema/item-types-file.js\";\nimport { resolveTypeSynonym } from \"../../core/item/type-synonyms.js\";\nimport { collectRuntimeCreateFieldValues } from \"../../core/schema/runtime-field-values.js\";\nimport {\n type RuntimeFieldRegistry,\n resolveRuntimeFieldRegistry,\n resolveRuntimeStatusRegistry,\n type RuntimeStatusRegistry,\n} from \"../../core/schema/runtime-schema.js\";\nimport { EXIT_CODE, FRONT_MATTER_KEY_ORDER } from \"../../core/shared/constants.js\";\nimport type { GlobalOptions } from \"../../core/shared/command-types.js\";\nimport { PmCliError } from \"../../core/shared/errors.js\";\nimport { nowIso, resolveIsoOrRelative } from \"../../core/shared/time.js\";\nimport {\n getActiveExtensionRegistrations,\n projectAfterCommandItemSnapshot,\n recordAfterCommandAffectedItem,\n runActiveCommandHandler,\n runActiveOnWriteHooks,\n} from \"../../core/extensions/index.js\";\nimport {\n collectRegisteredItemFieldNames,\n applyRegisteredItemFieldDefaultsAndValidation,\n parseRegisteredItemFieldAssignments,\n} from \"../../core/extensions/item-fields.js\";\nimport { locateItem } from \"../../core/store/item-store.js\";\nimport { getHistoryPath, getItemPath, getSettingsPath, resolvePmRoot } from \"../../core/store/paths.js\";\nimport { readSettings } from \"../../core/store/settings.js\";\nimport {\n normalizeRiskInput,\n normalizeSeverityInput,\n parseConfidenceInput,\n parseRegressionInput,\n} from \"./metadata-normalizers.js\";\nimport { assertNoLegacyNoneToken, assertNoLegacyNoneTokens, isLegacyNoneToken } from \"./legacy-none-tokens.js\";\nimport {\n parseLinkedTestAssertionEqualsMap,\n parseLinkedTestAssertionGteMap,\n parseLinkedTestBoolean,\n parseLinkedTestContextMode,\n parseLinkedTestEnvClear,\n parseLinkedTestEnvSet,\n parseLinkedTestMinLines,\n parseLinkedTestRegexList,\n parseLinkedTestStringList,\n} from \"./linked-test-parsers.js\";\nimport { looksLikeStructuredLinkedTestEntry, normalizeStructuredLinkedTestEntry } from \"./linked-test-entry.js\";\nimport { ensureEnumValue } from \"./recurrence-parsers.js\";\nimport {\n parseEventEntries,\n parseReminderEntries,\n parseTypeOptionEntries,\n} from \"./repeatable-metadata-parsers.js\";\nimport type {\n CalendarEvent,\n Comment,\n Dependency,\n ItemDocument,\n ItemMetadata,\n ItemStatus,\n LinkedDoc,\n LinkedFile,\n LinkedTest,\n LogNote,\n Reminder,\n} from \"../../types/index.js\";\nimport {\n DEPENDENCY_KIND_VALUES,\n ISSUE_SEVERITY_VALUES,\n RISK_VALUES,\n SCOPE_VALUES,\n} from \"../../types/index.js\";\n\nexport interface CreateCommandOptions {\n title?: string;\n description?: string;\n type?: string;\n status?: string;\n priority?: string;\n tags?: string;\n addTags?: string[];\n body?: 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 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 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 template?: string;\n createMode?: string;\n schedulePreset?: 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\nexport interface CreateResult {\n item: ItemMetadata;\n changed_fields: string[];\n warnings: string[];\n}\n\ntype CreateMode = \"strict\" | \"progressive\";\nconst CREATE_MODE_VALUES = [\"strict\", \"progressive\"] as const;\ntype ScheduleCreatePreset = \"lightweight\";\nconst SCHEDULE_CREATE_PRESET_VALUES = [\"lightweight\"] as const;\nconst SCHEDULE_CREATE_PRESET_TYPES = new Set([\"Reminder\", \"Meeting\", \"Event\"]);\nconst LOG_SEED_ALLOWED_KEYS = new Set([\"author\", \"created_at\", \"text\"]);\n\ninterface CreateUnsetFieldDefinition {\n optionKey: string;\n frontMatterKey: string;\n}\n\nconst CREATE_UNSET_FIELD_DEFINITIONS: ReadonlyArray<{\n canonical: string;\n aliases: readonly string[];\n optionKey: string;\n frontMatterKey: string;\n}> = [\n { canonical: \"tags\", aliases: [\"tags\"], optionKey: \"tags\", frontMatterKey: \"tags\" },\n { canonical: \"deadline\", aliases: [\"deadline\"], optionKey: \"deadline\", frontMatterKey: \"deadline\" },\n {\n canonical: \"estimate\",\n aliases: [\"estimate\", \"estimated_minutes\", \"estimated-minutes\"],\n optionKey: \"estimatedMinutes\",\n frontMatterKey: \"estimated_minutes\",\n },\n {\n canonical: \"acceptance-criteria\",\n aliases: [\"acceptance_criteria\", \"acceptance-criteria\", \"ac\"],\n optionKey: \"acceptanceCriteria\",\n frontMatterKey: \"acceptance_criteria\",\n },\n {\n canonical: \"definition-of-ready\",\n aliases: [\"definition_of_ready\", \"definition-of-ready\"],\n optionKey: \"definitionOfReady\",\n frontMatterKey: \"definition_of_ready\",\n },\n { canonical: \"order\", aliases: [\"order\", \"rank\"], optionKey: \"order\", frontMatterKey: \"order\" },\n { canonical: \"goal\", aliases: [\"goal\"], optionKey: \"goal\", frontMatterKey: \"goal\" },\n { canonical: \"objective\", aliases: [\"objective\"], optionKey: \"objective\", frontMatterKey: \"objective\" },\n { canonical: \"value\", aliases: [\"value\"], optionKey: \"value\", frontMatterKey: \"value\" },\n { canonical: \"impact\", aliases: [\"impact\"], optionKey: \"impact\", frontMatterKey: \"impact\" },\n { canonical: \"outcome\", aliases: [\"outcome\"], optionKey: \"outcome\", frontMatterKey: \"outcome\" },\n { canonical: \"why-now\", aliases: [\"why_now\", \"why-now\"], optionKey: \"whyNow\", frontMatterKey: \"why_now\" },\n { canonical: \"author\", aliases: [\"author\"], optionKey: \"author\", frontMatterKey: \"author\" },\n { canonical: \"assignee\", aliases: [\"assignee\"], optionKey: \"assignee\", frontMatterKey: \"assignee\" },\n { canonical: \"parent\", aliases: [\"parent\"], optionKey: \"parent\", frontMatterKey: \"parent\" },\n { canonical: \"reviewer\", aliases: [\"reviewer\"], optionKey: \"reviewer\", frontMatterKey: \"reviewer\" },\n { canonical: \"risk\", aliases: [\"risk\"], optionKey: \"risk\", frontMatterKey: \"risk\" },\n { canonical: \"confidence\", aliases: [\"confidence\"], optionKey: \"confidence\", frontMatterKey: \"confidence\" },\n { canonical: \"sprint\", aliases: [\"sprint\"], optionKey: \"sprint\", frontMatterKey: \"sprint\" },\n { canonical: \"release\", aliases: [\"release\"], optionKey: \"release\", frontMatterKey: \"release\" },\n {\n canonical: \"blocked-by\",\n aliases: [\"blocked_by\", \"blocked-by\"],\n optionKey: \"blockedBy\",\n frontMatterKey: \"blocked_by\",\n },\n {\n canonical: \"blocked-reason\",\n aliases: [\"blocked_reason\", \"blocked-reason\"],\n optionKey: \"blockedReason\",\n frontMatterKey: \"blocked_reason\",\n },\n {\n canonical: \"unblock-note\",\n aliases: [\"unblock_note\", \"unblock-note\"],\n optionKey: \"unblockNote\",\n frontMatterKey: \"unblock_note\",\n },\n { canonical: \"reporter\", aliases: [\"reporter\"], optionKey: \"reporter\", frontMatterKey: \"reporter\" },\n { canonical: \"severity\", aliases: [\"severity\"], optionKey: \"severity\", frontMatterKey: \"severity\" },\n {\n canonical: \"environment\",\n aliases: [\"environment\"],\n optionKey: \"environment\",\n frontMatterKey: \"environment\",\n },\n {\n canonical: \"repro-steps\",\n aliases: [\"repro_steps\", \"repro-steps\"],\n optionKey: \"reproSteps\",\n frontMatterKey: \"repro_steps\",\n },\n {\n canonical: \"resolution\",\n aliases: [\"resolution\"],\n optionKey: \"resolution\",\n frontMatterKey: \"resolution\",\n },\n {\n canonical: \"expected-result\",\n aliases: [\"expected_result\", \"expected-result\"],\n optionKey: \"expectedResult\",\n frontMatterKey: \"expected_result\",\n },\n {\n canonical: \"actual-result\",\n aliases: [\"actual_result\", \"actual-result\"],\n optionKey: \"actualResult\",\n frontMatterKey: \"actual_result\",\n },\n {\n canonical: \"affected-version\",\n aliases: [\"affected_version\", \"affected-version\"],\n optionKey: \"affectedVersion\",\n frontMatterKey: \"affected_version\",\n },\n {\n canonical: \"fixed-version\",\n aliases: [\"fixed_version\", \"fixed-version\"],\n optionKey: \"fixedVersion\",\n frontMatterKey: \"fixed_version\",\n },\n { canonical: \"component\", aliases: [\"component\"], optionKey: \"component\", frontMatterKey: \"component\" },\n { canonical: \"regression\", aliases: [\"regression\"], optionKey: \"regression\", frontMatterKey: \"regression\" },\n {\n canonical: \"customer-impact\",\n aliases: [\"customer_impact\", \"customer-impact\"],\n optionKey: \"customerImpact\",\n frontMatterKey: \"customer_impact\",\n },\n];\n\nconst CREATE_UNSET_ALIAS_MAP: Map<string, CreateUnsetFieldDefinition> = (() => {\n const map = new Map<string, CreateUnsetFieldDefinition>();\n for (const definition of CREATE_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 CREATE_OPTION_KEY_TO_UNSET_CANONICAL = new Map<string, string>(\n CREATE_UNSET_FIELD_DEFINITIONS.map((definition) => [definition.optionKey, definition.canonical]),\n);\n\nconst CREATE_UNSET_SUPPORTED_CANONICAL_FIELDS = CREATE_UNSET_FIELD_DEFINITIONS.map((definition) => definition.canonical)\n .sort((left, right) => left.localeCompare(right))\n .join(\", \");\n\nfunction buildInvalidLogSeedKeysMessage(\n optionName: \"--comment\" | \"--note\" | \"--learning\",\n unsupportedKeys: string[],\n): string {\n const sortedUnsupported = [...unsupportedKeys].sort((left, right) => left.localeCompare(right));\n const keyLabel = sortedUnsupported.length === 1 ? \"key\" : \"keys\";\n return (\n `${optionName} supports only author, created_at, and text seed fields. ` +\n `Found unsupported ${keyLabel}: ${sortedUnsupported.join(\", \")}. ` +\n `If text contains comma-separated key:value-like fragments, wrap text in quotes ` +\n '(for example text=\"first,scope:project\"), use markdown-style key/value input, ' +\n `or pass ${optionName} - with piped stdin.`\n );\n}\n\nfunction parseStatusValue(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 * Resolve the create-time status when `--status` is omitted: a config-driven\n * per-type `default_status` (from `pm schema add-type --default-status`) wins,\n * then the workflow open status. An unknown configured value degrades to the\n * open status rather than blocking the create (never-block-the-agent).\n */\nfunction resolveCreateDefaultStatus(\n typeDefinition: ResolvedItemTypeDefinition,\n statusRegistry: RuntimeStatusRegistry,\n): ItemStatus {\n const configured = typeDefinition.default_status;\n if (configured !== undefined) {\n const normalized = normalizeStatusInput(configured, statusRegistry);\n if (normalized) {\n return normalized;\n }\n }\n return statusRegistry.open_status;\n}\n\nfunction parseCreatedAt(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 created_at timestamp \"${value}\"`, EXIT_CODE.USAGE);\n }\n return new Date(parsed).toISOString();\n}\n\ninterface LegacyNoneCollectionNormalizationDefinition {\n optionKey: keyof CreateCommandOptions;\n clearFlagKey: keyof CreateCommandOptions;\n valueFlag: string;\n clearFlag: string;\n}\n\nconst CREATE_LEGACY_NONE_COLLECTION_NORMALIZERS: ReadonlyArray<LegacyNoneCollectionNormalizationDefinition> = [\n { optionKey: \"dep\", clearFlagKey: \"clearDeps\", valueFlag: \"--dep\", clearFlag: \"--clear-deps\" },\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\" },\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 normalizeLegacyNoneCreateOptions(options: CreateCommandOptions): CreateCommandOptions {\n const normalized: CreateCommandOptions = {\n ...options,\n unset: options.unset ? [...options.unset] : undefined,\n };\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\n if (isLegacyNoneToken(normalized.template)) {\n normalized.template = undefined;\n }\n\n const scalarOptionKeys = new Set<string>([...CREATE_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 const canonicalUnset = optionKey === \"rank\" ? \"order\" : (CREATE_OPTION_KEY_TO_UNSET_CANONICAL.get(optionKey) ?? optionKey);\n appendUnsetTarget(canonicalUnset);\n normalized[optionKey] = undefined;\n }\n\n for (const definition of CREATE_LEGACY_NONE_COLLECTION_NORMALIZERS) {\n const entries = normalized[definition.optionKey];\n if (!Array.isArray(entries) || entries.length === 0) {\n continue;\n }\n const hasLegacy = entries.some((entry) => isLegacyNoneToken(entry));\n if (!hasLegacy) {\n continue;\n }\n const concreteEntries = entries.filter((entry) => !isLegacyNoneToken(entry));\n if (concreteEntries.length > 0) {\n throw new PmCliError(\n `Cannot mix legacy clear token \"none\"/\"null\" with concrete ${definition.valueFlag} entries. Use ${definition.clearFlag} to clear or provide explicit entries.`,\n EXIT_CODE.USAGE,\n );\n }\n normalized[definition.optionKey] = undefined;\n normalized[definition.clearFlagKey] = true;\n }\n\n return normalized;\n}\n\nfunction parseOptionalString(value: string | undefined): string | undefined {\n if (value === undefined) return undefined;\n return value;\n}\n\nfunction resolveRuntimeCreateUnsetDefinition(\n token: string,\n runtimeFieldRegistry: RuntimeFieldRegistry | undefined,\n): CreateUnsetFieldDefinition | undefined {\n if (!runtimeFieldRegistry) {\n return undefined;\n }\n for (const definition of runtimeFieldRegistry.definitions) {\n if (definition.allow_unset === false) {\n continue;\n }\n const candidates = new Set<string>([\n definition.key,\n definition.metadata_key,\n definition.cli_flag.replaceAll(\"-\", \"_\"),\n definition.cli_flag,\n ...definition.cli_aliases.map((alias) => alias.replaceAll(\"-\", \"_\")),\n ...definition.cli_aliases,\n ]);\n if (!candidates.has(token)) {\n continue;\n }\n return {\n optionKey: definition.key,\n frontMatterKey: definition.metadata_key,\n };\n }\n return undefined;\n}\n\nfunction parseCreateUnsetTargets(\n raw: string[] | undefined,\n runtimeFieldRegistry?: RuntimeFieldRegistry,\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 definition = CREATE_UNSET_ALIAS_MAP.get(trimmed) ?? resolveRuntimeCreateUnsetDefinition(trimmed, runtimeFieldRegistry);\n if (!definition) {\n throw new PmCliError(\n `Unsupported --unset field \"${entry}\". Supported fields: ${CREATE_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\nfunction parseDependencies(\n raw: string[] | undefined,\n nowValue: string,\n prefix: string,\n): { values: Dependency[] | undefined; explicitEmpty: boolean } {\n if (!raw || raw.length === 0) return { values: undefined, explicitEmpty: false };\n assertNoLegacyNoneTokens(raw, \"--dep\", \"Use --clear-deps to clear dependencies.\");\n const values: Dependency[] = raw.map((entry) => {\n const trimmedEntry = entry.trim();\n const kv = looksLikeStructuredEntry(trimmedEntry, [\"id\", \"kind\", \"type\", \"author\", \"created_at\"])\n ? parseCsvKv(entry, \"--dep\")\n : { id: trimmedEntry, kind: \"related\" };\n const id = parseOptionalString(kv.id);\n const kind = normalizeDependencyKindInput(parseOptionalString(kv.kind ?? kv.type));\n if (!id || !kind) {\n throw new PmCliError(\"--dep requires id and kind, or a bare item id to create a related dependency\", EXIT_CODE.USAGE);\n }\n if (id.trim().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 return {\n id: normalizeItemId(id, prefix),\n kind: ensureEnumValue(kind, DEPENDENCY_KIND_VALUES, \"dependency kind\"),\n created_at: parseCreatedAt(kv.created_at, nowValue),\n author: parseOptionalString(kv.author),\n };\n });\n return { values, explicitEmpty: false };\n}\n\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 alias = DEPENDENCY_KIND_INPUT_ALIASES[raw.toLowerCase()];\n return alias ?? raw;\n}\n\nfunction looksLikeStructuredEntry(raw: string, keys: readonly string[]): boolean {\n if (raw.startsWith(\"```\") || raw.includes(\"\\n\")) {\n return true;\n }\n const keyPattern = keys.map((key) => key.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\")).join(\"|\");\n return new RegExp(`^(?:[-*+]\\\\s+)?(?:${keyPattern})\\\\s*[:=]`, \"i\").test(raw);\n}\n\nexport function parseLogSeed(\n optionName: \"--comment\" | \"--note\" | \"--learning\",\n raw: string[] | undefined,\n nowValue: string,\n fallbackAuthor: string,\n): { values: LogNote[] | Comment[] | undefined; explicitEmpty: boolean } {\n if (!raw || raw.length === 0) return { values: undefined, explicitEmpty: false };\n const clearHint =\n optionName === \"--comment\"\n ? \"Use --clear-comments to clear comments.\"\n : optionName === \"--note\"\n ? \"Use --clear-notes to clear notes.\"\n : \"Use --clear-learnings to clear learnings.\";\n assertNoLegacyNoneTokens(raw, optionName, clearHint);\n const values = raw.map((entry) => {\n const trimmedEntry = entry.trim();\n const buildPlainTextCommentSeed = (): Comment => {\n if (trimmedEntry.length === 0) {\n throw new PmCliError(`${optionName} requires text=<value>`, EXIT_CODE.USAGE);\n }\n return {\n created_at: nowValue,\n author: fallbackAuthor,\n text: trimmedEntry,\n };\n };\n let kv: Record<string, string>;\n try {\n kv = parseCsvKv(entry, optionName);\n } catch (error: unknown) {\n if (optionName === \"--comment\" || optionName === \"--note\" || optionName === \"--learning\") {\n return buildPlainTextCommentSeed();\n }\n throw error;\n }\n const unsupportedKeys = Object.keys(kv).filter((key) => !LOG_SEED_ALLOWED_KEYS.has(key));\n if (unsupportedKeys.length > 0) {\n return {\n created_at: parseCreatedAt(kv.created_at, nowValue),\n author: parseOptionalString(kv.author) ?? fallbackAuthor,\n text: trimmedEntry,\n };\n }\n const text = kv.text ?? \"\";\n if (text === \"\") {\n throw new PmCliError(`${optionName} requires text=<value>`, EXIT_CODE.USAGE);\n }\n return {\n created_at: parseCreatedAt(kv.created_at, nowValue),\n author: parseOptionalString(kv.author) ?? fallbackAuthor,\n text,\n };\n });\n return { values, explicitEmpty: false };\n}\n\nexport function parseFiles(raw: string[] | undefined): { values: LinkedFile[] | undefined; explicitEmpty: boolean } {\n if (!raw || raw.length === 0) return { values: undefined, explicitEmpty: false };\n assertNoLegacyNoneTokens(raw, \"--file\", \"Use --clear-files to clear linked files.\");\n const values = raw.map((entry) => {\n const trimmedEntry = entry.trim();\n const kv = looksLikeStructuredEntry(trimmedEntry, [\"path\", \"scope\", \"note\"])\n ? parseCsvKv(entry, \"--file\")\n : { path: trimmedEntry };\n if (!kv.path) {\n throw new PmCliError(\"--file requires path=<value> or a bare file path\", EXIT_CODE.USAGE);\n }\n return {\n path: kv.path,\n scope: ensureEnumValue(kv.scope ?? \"project\", SCOPE_VALUES, \"file scope\"),\n note: parseOptionalString(kv.note),\n };\n });\n return { values, explicitEmpty: false };\n}\n\nexport function parseTests(raw: string[] | undefined): { values: LinkedTest[] | undefined; explicitEmpty: boolean } {\n if (!raw || raw.length === 0) return { values: undefined, explicitEmpty: false };\n assertNoLegacyNoneTokens(raw, \"--test\", \"Use --clear-tests to clear linked tests.\");\n const values = raw.map((entry) => {\n const trimmedEntry = entry.trim();\n const kv = looksLikeStructuredLinkedTestEntry(trimmedEntry)\n ? normalizeStructuredLinkedTestEntry(parseCsvKv(entry, \"--test\"), \"--test\")\n : { command: trimmedEntry };\n const command = parseOptionalString(kv.command);\n const filePath = parseOptionalString(kv.path);\n if (!command) {\n throw new PmCliError(\"--test requires command=<value> or a bare command (path=<value> is optional metadata)\", EXIT_CODE.USAGE);\n }\n const timeoutSecondsRaw = parseOptionalString(kv.timeout_seconds);\n const timeoutAliasRaw = parseOptionalString(kv.timeout);\n if (timeoutSecondsRaw && timeoutAliasRaw && timeoutSecondsRaw !== timeoutAliasRaw) {\n throw new PmCliError(\"--test timeout and timeout_seconds must match when both are provided\", EXIT_CODE.USAGE);\n }\n const timeoutRaw = timeoutSecondsRaw ?? timeoutAliasRaw;\n return {\n command,\n path: filePath,\n scope: ensureEnumValue(kv.scope ?? \"project\", SCOPE_VALUES, \"test scope\"),\n timeout_seconds: timeoutRaw ? parseOptionalNumber(timeoutRaw, \"timeout_seconds\") : undefined,\n pm_context_mode: parseLinkedTestContextMode(kv.pm_context_mode, \"--test\"),\n env_set: parseLinkedTestEnvSet(kv.env_set, \"--test\"),\n env_clear: parseLinkedTestEnvClear(kv.env_clear, \"--test\"),\n shared_host_safe: parseLinkedTestBoolean(kv.shared_host_safe, \"--test\", \"shared_host_safe\"),\n assert_stdout_contains: parseLinkedTestStringList(kv.assert_stdout_contains),\n assert_stdout_regex: parseLinkedTestRegexList(kv.assert_stdout_regex, \"--test\", \"assert_stdout_regex\"),\n assert_stderr_contains: parseLinkedTestStringList(kv.assert_stderr_contains),\n assert_stderr_regex: parseLinkedTestRegexList(kv.assert_stderr_regex, \"--test\", \"assert_stderr_regex\"),\n assert_stdout_min_lines: parseLinkedTestMinLines(kv.assert_stdout_min_lines, \"--test\"),\n assert_json_field_equals: parseLinkedTestAssertionEqualsMap(kv.assert_json_field_equals, \"--test\"),\n assert_json_field_gte: parseLinkedTestAssertionGteMap(kv.assert_json_field_gte, \"--test\"),\n note: parseOptionalString(kv.note),\n };\n });\n return { values, explicitEmpty: false };\n}\n\nexport function parseDocs(raw: string[] | undefined): { values: LinkedDoc[] | undefined; explicitEmpty: boolean } {\n if (!raw || raw.length === 0) return { values: undefined, explicitEmpty: false };\n assertNoLegacyNoneTokens(raw, \"--doc\", \"Use --clear-docs to clear linked docs.\");\n const values = raw.map((entry) => {\n const trimmedEntry = entry.trim();\n const kv = looksLikeStructuredEntry(trimmedEntry, [\"path\", \"scope\", \"note\"])\n ? parseCsvKv(entry, \"--doc\")\n : { path: trimmedEntry };\n if (!kv.path) {\n throw new PmCliError(\"--doc requires path=<value> or a bare doc path\", EXIT_CODE.USAGE);\n }\n return {\n path: kv.path,\n scope: ensureEnumValue(kv.scope ?? \"project\", SCOPE_VALUES, \"doc scope\"),\n note: parseOptionalString(kv.note),\n };\n });\n return { values, explicitEmpty: false };\n}\n\nfunction parseReminders(raw: string[] | undefined, nowValue: string): { values: Reminder[] | undefined; explicitEmpty: boolean } {\n if (!raw || raw.length === 0) return { values: undefined, explicitEmpty: false };\n assertNoLegacyNoneTokens(raw, \"--reminder\", \"Use --clear-reminders to clear reminders.\");\n return {\n values: parseReminderEntries(raw, new Date(nowValue), { valueMode: \"raw\" }),\n explicitEmpty: false,\n };\n}\n\nfunction parseEvents(raw: string[] | undefined, nowValue: string): { values: CalendarEvent[] | undefined; explicitEmpty: boolean } {\n if (!raw || raw.length === 0) return { values: undefined, explicitEmpty: false };\n assertNoLegacyNoneTokens(raw, \"--event\", \"Use --clear-events to clear linked events.\");\n return {\n values: parseEventEntries(raw, new Date(nowValue), {\n allDayEmptyGuard: \"defined\",\n recurrenceEmptyNumericGuard: \"defined\",\n }),\n explicitEmpty: false,\n };\n}\n\nfunction buildChangedFields(\n frontMatter: ItemMetadata,\n body: string,\n explicitUnsets: string[],\n additionalFrontMatterKeys: readonly string[] = [],\n): string[] {\n const changed = [\n ...FRONT_MATTER_KEY_ORDER.filter((key) => frontMatter[key] !== undefined),\n ...additionalFrontMatterKeys.filter((key) => (frontMatter as unknown as Record<string, unknown>)[key] !== undefined),\n ...(body.length > 0 ? [\"body\"] : []),\n ...explicitUnsets.map((key) => `unset:${key}`),\n ];\n return Array.from(new Set(changed));\n}\n\nfunction buildHistoryMessage(baseMessage: string | undefined, explicitUnsets: string[]): string | undefined {\n const trimmed = baseMessage ?? \"\";\n if (explicitUnsets.length === 0) {\n return trimmed;\n }\n const suffix = `explicit_unset=${explicitUnsets.join(\",\")}`;\n return trimmed ? `${trimmed} | ${suffix}` : suffix;\n}\n\nfunction normalizeCreatePolicyOptionKey(raw: string, typeName: string, sourceLabel: string): string {\n const canonical = canonicalizeCommandOptionKey(\"create\", raw);\n if (!canonical) {\n throw new PmCliError(\n `Unsupported ${sourceLabel} entry \"${raw}\" for type \"${typeName}\"`,\n EXIT_CODE.CONFLICT,\n );\n }\n return canonical;\n}\n\nfunction parseTypeOptions(raw: string[] | undefined): { values: Record<string, string> | undefined; explicitEmpty: boolean } {\n if (!raw || raw.length === 0) {\n return { values: undefined, explicitEmpty: false };\n }\n assertNoLegacyNoneTokens(raw, \"--type-option\", \"Use --clear-type-options to clear existing type options.\");\n return {\n values: parseTypeOptionEntries(raw),\n explicitEmpty: false,\n };\n}\n\nasync function resolveCreateStdinInputs(options: CreateCommandOptions): Promise<CreateCommandOptions> {\n const stdinResolver = createStdinTokenResolver();\n return {\n ...options,\n body: await stdinResolver.resolveValue(options.body, \"--body\"),\n dep: await stdinResolver.resolveList(options.dep, \"--dep\"),\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 resolveCreateMode(createMode: string | undefined, defaultMode: CreateMode): CreateMode {\n if (createMode === undefined) {\n return defaultMode;\n }\n const normalized = createMode.trim().toLowerCase();\n if (normalized.length === 0) {\n return defaultMode;\n }\n if (normalized === \"strict\" || normalized === \"progressive\") {\n return normalized;\n }\n throw new PmCliError(\n `Invalid --create-mode value \"${createMode}\". Allowed: ${CREATE_MODE_VALUES.join(\", \")}`,\n EXIT_CODE.USAGE,\n );\n}\n\nfunction resolveScheduleCreatePreset(raw: string | undefined): ScheduleCreatePreset | undefined {\n if (raw === undefined) {\n return undefined;\n }\n const normalized = raw.trim().toLowerCase();\n if (normalized.length === 0) {\n throw new PmCliError(\"--schedule-preset must not be empty\", EXIT_CODE.USAGE);\n }\n if (normalized === \"lightweight\" || normalized === \"lite\" || normalized === \"schedule-lite\") {\n return \"lightweight\";\n }\n throw new PmCliError(\n `Invalid --schedule-preset value \"${raw}\". Allowed: ${SCHEDULE_CREATE_PRESET_VALUES.join(\", \")}`,\n EXIT_CODE.USAGE,\n );\n}\n\nfunction resolveEffectiveCreateMode(\n createMode: string | undefined,\n schedulePreset: ScheduleCreatePreset | undefined,\n defaultMode: CreateMode,\n): CreateMode {\n const resolvedMode = resolveCreateMode(createMode, defaultMode);\n if (schedulePreset === undefined) {\n return resolvedMode;\n }\n const createModeWasExplicit = typeof createMode === \"string\" && createMode.trim().length > 0;\n if (createModeWasExplicit && resolvedMode === \"strict\") {\n throw new PmCliError(\n \"--schedule-preset lightweight cannot be combined with --create-mode strict. Use --create-mode progressive or omit --create-mode.\",\n EXIT_CODE.USAGE,\n );\n }\n return \"progressive\";\n}\n\nfunction requireCreateOptionByType(\n typeDefinition: ResolvedItemTypeDefinition,\n options: CreateCommandOptions,\n createMode: CreateMode,\n clearOptionKeys: Set<string>,\n): string[] {\n const typeName = typeDefinition.name;\n const scalarValues: Record<string, unknown> = {\n title: options.title,\n description: options.description,\n type: options.type,\n status: options.status,\n priority: options.priority,\n tags: options.tags,\n body: options.body,\n deadline: options.deadline,\n estimatedMinutes: options.estimatedMinutes,\n acceptanceCriteria: options.acceptanceCriteria,\n definitionOfReady: options.definitionOfReady,\n order: options.order ?? options.rank,\n goal: options.goal,\n objective: options.objective,\n value: options.value,\n impact: options.impact,\n outcome: options.outcome,\n whyNow: options.whyNow,\n author: options.author,\n message: options.message,\n assignee: options.assignee,\n parent: options.parent,\n reviewer: options.reviewer,\n risk: options.risk,\n confidence: options.confidence,\n sprint: options.sprint,\n release: options.release,\n blockedBy: options.blockedBy,\n blockedReason: options.blockedReason,\n unblockNote: options.unblockNote,\n reporter: options.reporter,\n severity: options.severity,\n environment: options.environment,\n reproSteps: options.reproSteps,\n resolution: options.resolution,\n expectedResult: options.expectedResult,\n actualResult: options.actualResult,\n affectedVersion: options.affectedVersion,\n fixedVersion: options.fixedVersion,\n component: options.component,\n regression: options.regression,\n customerImpact: options.customerImpact,\n };\n const repeatableValues: Record<string, unknown> = {\n dep: options.dep,\n comment: options.comment,\n note: options.note,\n learning: options.learning,\n file: options.file,\n test: options.test,\n doc: options.doc,\n reminder: options.reminder,\n event: options.event,\n typeOption: options.typeOption,\n field: options.field,\n };\n\n const hasOptionValue = (optionKey: string): boolean => {\n // `--add-tags` mutates the same `tags` field as `--tags`, so it must count\n // toward the `tags` command_option_policy (both the disabled guard and the\n // required check) — otherwise `--add-tags` would bypass a rule disabling\n // tags, or fail to satisfy a rule requiring them even though the created\n // item ends up tagged.\n if (optionKey === \"tags\") {\n return scalarValues.tags !== undefined || (Array.isArray(options.addTags) && options.addTags.length > 0);\n }\n if (optionKey in scalarValues) {\n return scalarValues[optionKey] !== undefined;\n }\n if (optionKey in repeatableValues) {\n const value = repeatableValues[optionKey];\n return Array.isArray(value) && value.length > 0;\n }\n return false;\n };\n const hasOptionMutation = (optionKey: string): boolean => hasOptionValue(optionKey) || clearOptionKeys.has(optionKey);\n\n const baseRequiredOptions = new Set<string>([\"title\", \"type\"]);\n if (createMode === \"strict\") {\n for (const field of typeDefinition.required_create_fields) {\n baseRequiredOptions.add(normalizeCreatePolicyOptionKey(field, typeName, \"required_create_fields\"));\n }\n for (const field of typeDefinition.required_create_repeatables) {\n baseRequiredOptions.add(normalizeCreatePolicyOptionKey(field, typeName, \"required_create_repeatables\"));\n }\n }\n\n const policyState = resolveCommandOptionPolicyState(typeDefinition, \"create\", baseRequiredOptions);\n if (policyState.errors.length > 0) {\n throw new PmCliError(policyState.errors.join(\"; \"), EXIT_CODE.CONFLICT);\n }\n\n for (const option of policyState.disabled) {\n if (hasOptionMutation(option)) {\n throw new PmCliError(\n `Option ${commandOptionFlagLabel(\"create\", option)} is disabled for type \"${typeName}\" by command_option_policies`,\n EXIT_CODE.USAGE,\n );\n }\n }\n\n if (createMode === \"strict\") {\n const strictRequiredClears = policyState.required.filter((required) => clearOptionKeys.has(required));\n if (strictRequiredClears.length > 0) {\n const requiredFlags = [...new Set(strictRequiredClears.map((required) => commandOptionFlagLabel(\"create\", required)))].sort(\n (left, right) => left.localeCompare(right),\n );\n throw new PmCliError(\n `Strict create mode requires concrete values for ${requiredFlags.join(\", \")}; --unset/--clear-* directives cannot satisfy required options`,\n EXIT_CODE.USAGE,\n );\n }\n }\n\n // A configured per-type default_status satisfies a required `status` policy:\n // when --status is omitted, runCreate resolves to that default (or degrades to\n // the workflow open status), so blocking the agent for a \"missing --status\"\n // would contradict the config-driven default. Scoped to status so an explicit\n // status-required policy on a type WITHOUT a default still holds. Only the\n // required check is relaxed; the disabled check above keeps using hasOptionValue.\n const satisfiesRequiredOption = (optionKey: string): boolean => {\n if (optionKey === \"status\" && typeDefinition.default_status !== undefined) {\n return true;\n }\n return hasOptionValue(optionKey);\n };\n const missingRequiredOptions = policyState.required.filter((required) => !satisfiesRequiredOption(required));\n return [...new Set(missingRequiredOptions.map((required) => commandOptionFlagLabel(\"create\", required)))].sort((left, right) =>\n left.localeCompare(right),\n );\n}\n\nconst MISSING_REQUIRED_TYPE_OPTION_PATTERN = /^Missing required type option \"([^\"]+)\" for type \"([^\"]+)\"$/;\n\nfunction collectMissingRequiredTypeOptionKeys(errors: string[], typeName: string): string[] {\n const missingKeys: string[] = [];\n for (const error of errors) {\n const match = error.match(MISSING_REQUIRED_TYPE_OPTION_PATTERN);\n if (!match) {\n continue;\n }\n if (match[2] !== typeName) {\n continue;\n }\n missingKeys.push(match[1]);\n }\n return [...new Set(missingKeys)].sort((left, right) => left.localeCompare(right));\n}\n\nfunction filterNonMissingTypeOptionErrors(errors: string[], typeName: string): string[] {\n return errors.filter((error) => {\n const match = error.match(MISSING_REQUIRED_TYPE_OPTION_PATTERN);\n return !match || match[2] !== typeName;\n });\n}\n\nfunction typeOptionExampleValue(typeDefinition: ResolvedItemTypeDefinition, key: string): string {\n const optionDefinition = typeDefinition.options.find((option) => option.key === key);\n const firstAllowed = optionDefinition?.values[0];\n if (typeof firstAllowed === \"string\" && firstAllowed.trim().length > 0) {\n return firstAllowed;\n }\n return \"<value>\";\n}\n\nfunction createExampleTokensForFlag(flag: string, typeName: string, openStatus: string): string[] {\n switch (flag) {\n case \"--title\":\n return [\"--title\", `\"${typeName} example title\"`];\n case \"--description\":\n return [\"--description\", `\"${typeName} example description\"`];\n case \"--type\":\n return [\"--type\", typeName];\n case \"--status\":\n return [\"--status\", openStatus];\n case \"--priority\":\n return [\"--priority\", \"1\"];\n case \"--message\":\n return [\"--message\", `\"Create ${typeName} item\"`];\n case \"--dep\":\n return [\"--dep\", \"\\\"id=pm-xxxx,kind=related,author=maintainer,created_at=now\\\"\"];\n case \"--comment\":\n return [\"--comment\", \"\\\"author=maintainer,created_at=now,text=Implementation context\\\"\"];\n case \"--note\":\n return [\"--note\", \"\\\"author=maintainer,created_at=now,text=Design note\\\"\"];\n case \"--learning\":\n return [\"--learning\", \"\\\"author=maintainer,created_at=now,text=Durable lesson\\\"\"];\n case \"--file\":\n return [\"--file\", \"\\\"path=src/example.ts,note=implementation file\\\"\"];\n case \"--test\":\n return [\"--test\", \"\\\"command=node scripts/run-tests.mjs test,timeout_seconds=240\\\"\"];\n case \"--doc\":\n return [\"--doc\", \"\\\"path=README.md,note=reference doc\\\"\"];\n default:\n return [flag, \"\\\"<value>\\\"\"];\n }\n}\n\nfunction buildTypeSpecificCreateExample(\n typeDefinition: ResolvedItemTypeDefinition,\n missingCreateFlags: string[],\n missingTypeOptionKeys: string[],\n openStatus: string,\n): string {\n const tokens = [\"pm\", \"create\", \"--title\", `\"${typeDefinition.name} example title\"`, \"--description\", `\"${typeDefinition.name} example description\"`, \"--type\", typeDefinition.name];\n const optionalRecommendationFlags = [\"--status\", \"--priority\", \"--message\"];\n const orderedFlags = [...new Set([...optionalRecommendationFlags, ...missingCreateFlags])];\n const includedFlags = new Set<string>([\"--title\", \"--description\", \"--type\"]);\n for (const flag of orderedFlags) {\n if (includedFlags.has(flag)) {\n continue;\n }\n tokens.push(...createExampleTokensForFlag(flag, typeDefinition.name, openStatus));\n includedFlags.add(flag);\n }\n for (const key of missingTypeOptionKeys) {\n const value = typeOptionExampleValue(typeDefinition, key);\n tokens.push(\"--type-option\", `${key}=${value}`);\n }\n return tokens.join(\" \");\n}\n\nfunction requireStringOption(value: string | undefined, flag: string): string {\n if (value === undefined) {\n if (flag === \"--title\") {\n throw new PmCliError(\n 'Missing required option --title. Why required: every item needs a human-readable title for lookup, search, and reporting. Retry: pass the title as the first positional argument (example: pm create \"Fix login bug\" --type Issue) or with --title.',\n EXIT_CODE.USAGE,\n );\n }\n throw new PmCliError(`Missing required option ${flag}`, EXIT_CODE.USAGE);\n }\n return value;\n}\n\nfunction selectAuthor(explicitAuthor: string | undefined, settingsAuthor: string): string {\n const candidate = parseOptionalString(explicitAuthor) ?? process.env.PM_AUTHOR ?? settingsAuthor;\n const trimmed = candidate.trim();\n return trimmed || \"unknown\";\n}\n\nfunction ensurePriority(rawPriority: string | number): 0 | 1 | 2 | 3 | 4 {\n return resolvePriority(rawPriority);\n}\n\nfunction mergeCreateOptionsWithTemplate(\n templateOptions: Record<string, string | string[]>,\n explicitOptions: CreateCommandOptions,\n): CreateCommandOptions {\n const merged: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(templateOptions)) {\n merged[key] = Array.isArray(value) ? [...value] : value;\n }\n for (const [key, value] of Object.entries(explicitOptions)) {\n if (value !== undefined) {\n merged[key] = Array.isArray(value) ? [...value] : value;\n }\n }\n return merged as CreateCommandOptions;\n}\n\nfunction normalizeExtensionCommandPath(command: string): string {\n return command\n .trim()\n .toLowerCase()\n .split(/\\s+/)\n .filter((part) => part.length > 0)\n .join(\" \");\n}\n\nfunction hasTemplatesShowHandler(): boolean {\n const registrations = getActiveExtensionRegistrations();\n if (!registrations) {\n return false;\n }\n return registrations.commands.some((entry) => {\n return entry.action === \"templates-show\" || normalizeExtensionCommandPath(entry.command) === \"templates show\";\n });\n}\n\nfunction readTemplateOptionsFromRuntimeResult(result: unknown, templateName: string): Record<string, string | string[]> {\n if (typeof result !== \"object\" || result === null || !(\"options\" in result)) {\n throw new PmCliError(\n `Templates package returned invalid payload for template \"${templateName}\". Expected an options object.`,\n EXIT_CODE.GENERIC_FAILURE,\n );\n }\n const options = (result as { options?: unknown }).options;\n if (typeof options !== \"object\" || options === null || Array.isArray(options)) {\n throw new PmCliError(\n `Templates package returned invalid options for template \"${templateName}\".`,\n EXIT_CODE.GENERIC_FAILURE,\n );\n }\n const normalized: Record<string, string | string[]> = {};\n for (const [key, value] of Object.entries(options as Record<string, unknown>)) {\n if (typeof value === \"string\") {\n normalized[key] = value;\n continue;\n }\n if (Array.isArray(value) && value.every((entry) => typeof entry === \"string\")) {\n normalized[key] = [...value];\n continue;\n }\n throw new PmCliError(\n `Templates package returned unsupported option value for \"${key}\" in template \"${templateName}\".`,\n EXIT_CODE.GENERIC_FAILURE,\n );\n }\n return normalized;\n}\n\nasync function loadCreateTemplateOptionsFromRuntime(\n templateName: string,\n global: GlobalOptions,\n pmRoot: string,\n): Promise<Record<string, string | string[]>> {\n if (!hasTemplatesShowHandler()) {\n throw new PmCliError(\n `--template requires the templates package. Install it first (for example: pm install templates --project).`,\n EXIT_CODE.USAGE,\n );\n }\n const handlerResult = await runActiveCommandHandler({\n command: \"templates show\",\n args: [templateName],\n options: {},\n global,\n pm_root: pmRoot,\n });\n if (!handlerResult.handled) {\n const warningSuffix = handlerResult.warnings.length > 0 ? ` (${handlerResult.warnings.join(\", \")})` : \"\";\n throw new PmCliError(\n `Unable to resolve template \"${templateName}\" via templates package. Run \"pm templates show ${templateName}\" for details.${warningSuffix}`,\n EXIT_CODE.USAGE,\n );\n }\n return readTemplateOptionsFromRuntimeResult(handlerResult.result, templateName);\n}\n\nfunction ensureInitHasRun(pmRoot: string): Promise<void> {\n return pathExists(getSettingsPath(pmRoot)).then((exists) => {\n if (!exists) {\n throw new PmCliError(`Tracker is not initialized at ${pmRoot}. Run pm init first.`, EXIT_CODE.NOT_FOUND);\n }\n });\n}\n\nexport async function runCreate(options: CreateCommandOptions, global: GlobalOptions): Promise<CreateResult> {\n let resolvedOptions = normalizeLegacyNoneCreateOptions(await resolveCreateStdinInputs(options));\n const pmRoot = resolvePmRoot(process.cwd(), global.path);\n await ensureInitHasRun(pmRoot);\n\n const settings = await readSettings(pmRoot);\n const statusRegistry = resolveRuntimeStatusRegistry(settings.schema);\n const runtimeFieldRegistry = resolveRuntimeFieldRegistry(settings.schema);\n const typeRegistry = resolveItemTypeRegistry(settings, getActiveExtensionRegistrations());\n if (resolvedOptions.template !== undefined) {\n const templateName = resolvedOptions.template.trim();\n if (templateName.length === 0) {\n throw new PmCliError(\"--template must not be empty. Omit --template to disable template usage.\", EXIT_CODE.USAGE);\n }\n const templateOptions = await loadCreateTemplateOptionsFromRuntime(templateName, global, pmRoot);\n resolvedOptions = normalizeLegacyNoneCreateOptions(mergeCreateOptionsWithTemplate(templateOptions, resolvedOptions));\n }\n if (resolvedOptions.type === undefined) {\n // Default-type fallback is suppressed under explicit --create-mode strict, where the strict\n // required-option contract takes precedence and surfaces the missing_required_option envelope.\n const explicitStrictMode = typeof resolvedOptions.createMode === \"string\"\n && resolvedOptions.createMode.trim().toLowerCase() === \"strict\";\n if (!explicitStrictMode) {\n const defaultType = settings.governance.create_default_type?.trim();\n if (defaultType && defaultType.length > 0 && resolveTypeName(defaultType, typeRegistry)) {\n resolvedOptions.type = defaultType;\n } else if (resolveTypeName(\"Task\", typeRegistry)) {\n resolvedOptions.type = \"Task\";\n }\n }\n }\n if (resolvedOptions.type === undefined) {\n throw new PmCliError(\"Missing required option --type <value>\", EXIT_CODE.USAGE);\n }\n let resolvedTypeName = resolveTypeName(resolvedOptions.type, typeRegistry);\n if (!resolvedTypeName) {\n // Never block on a near-miss type: map a known synonym (e.g. Bug -> Issue,\n // Change -> Chore) to its canonical built-in type when that type exists in the\n // active registry, and tell the agent how to make it a distinct custom type.\n const synonymCanonical = resolveTypeSynonym(resolvedOptions.type);\n const synonymResolved = synonymCanonical ? resolveTypeName(synonymCanonical, typeRegistry) : undefined;\n if (synonymResolved) {\n printError(\n `[pm] note: type '${resolvedOptions.type.trim()}' is not defined; using closest match '${synonymResolved}'. Run 'pm schema add-type \"${resolvedOptions.type.trim()}\"' to track it as a distinct type.`,\n );\n resolvedOptions.type = synonymResolved;\n resolvedTypeName = synonymResolved;\n } else {\n throw new PmCliError(\n buildInvalidTypeError(resolvedOptions.type, typeRegistry.types),\n EXIT_CODE.USAGE,\n );\n }\n }\n const typeDefinition = resolveTypeDefinition(resolvedTypeName, typeRegistry);\n if (!typeDefinition) {\n throw new PmCliError(`Invalid type value \"${resolvedOptions.type}\"`, EXIT_CODE.USAGE);\n }\n const type = typeDefinition.name;\n const schedulePreset = resolveScheduleCreatePreset(resolvedOptions.schedulePreset);\n if (schedulePreset !== undefined && !SCHEDULE_CREATE_PRESET_TYPES.has(type)) {\n throw new PmCliError(\n `--schedule-preset ${schedulePreset} is only supported for Reminder, Meeting, or Event types`,\n EXIT_CODE.USAGE,\n );\n }\n const createMode = resolveEffectiveCreateMode(\n resolvedOptions.createMode,\n schedulePreset,\n settings.governance.create_mode_default,\n );\n const unsetTargets = parseCreateUnsetTargets(resolvedOptions.unset, runtimeFieldRegistry);\n const explicitUnsets = new Set<string>(unsetTargets.frontMatterKeys);\n const clearOptionKeys = new Set<string>(unsetTargets.optionKeys);\n\n const clearCollectionDefinitions: ReadonlyArray<{\n enabled: boolean | undefined;\n optionKey: string;\n clearFlag: string;\n valueFlag: string;\n values: string[] | undefined;\n frontMatterKey: string;\n }> = [\n {\n enabled: resolvedOptions.clearDeps,\n optionKey: \"dep\",\n clearFlag: \"--clear-deps\",\n valueFlag: \"--dep\",\n values: resolvedOptions.dep,\n frontMatterKey: \"dependencies\",\n },\n {\n enabled: resolvedOptions.clearComments,\n optionKey: \"comment\",\n clearFlag: \"--clear-comments\",\n valueFlag: \"--comment\",\n values: resolvedOptions.comment,\n frontMatterKey: \"comments\",\n },\n {\n enabled: resolvedOptions.clearNotes,\n optionKey: \"note\",\n clearFlag: \"--clear-notes\",\n valueFlag: \"--note\",\n values: resolvedOptions.note,\n frontMatterKey: \"notes\",\n },\n {\n enabled: resolvedOptions.clearLearnings,\n optionKey: \"learning\",\n clearFlag: \"--clear-learnings\",\n valueFlag: \"--learning\",\n values: resolvedOptions.learning,\n frontMatterKey: \"learnings\",\n },\n {\n enabled: resolvedOptions.clearFiles,\n optionKey: \"file\",\n clearFlag: \"--clear-files\",\n valueFlag: \"--file\",\n values: resolvedOptions.file,\n frontMatterKey: \"files\",\n },\n {\n enabled: resolvedOptions.clearTests,\n optionKey: \"test\",\n clearFlag: \"--clear-tests\",\n valueFlag: \"--test\",\n values: resolvedOptions.test,\n frontMatterKey: \"tests\",\n },\n {\n enabled: resolvedOptions.clearDocs,\n optionKey: \"doc\",\n clearFlag: \"--clear-docs\",\n valueFlag: \"--doc\",\n values: resolvedOptions.doc,\n frontMatterKey: \"docs\",\n },\n {\n enabled: resolvedOptions.clearReminders,\n optionKey: \"reminder\",\n clearFlag: \"--clear-reminders\",\n valueFlag: \"--reminder\",\n values: resolvedOptions.reminder,\n frontMatterKey: \"reminders\",\n },\n {\n enabled: resolvedOptions.clearEvents,\n optionKey: \"event\",\n clearFlag: \"--clear-events\",\n valueFlag: \"--event\",\n values: resolvedOptions.event,\n frontMatterKey: \"events\",\n },\n {\n enabled: resolvedOptions.clearTypeOptions,\n optionKey: \"typeOption\",\n clearFlag: \"--clear-type-options\",\n valueFlag: \"--type-option\",\n values: resolvedOptions.typeOption,\n frontMatterKey: \"type_options\",\n },\n ];\n for (const definition of clearCollectionDefinitions) {\n if (!definition.enabled) {\n continue;\n }\n if (definition.values && definition.values.length > 0) {\n throw new PmCliError(`Cannot combine ${definition.clearFlag} with ${definition.valueFlag}`, EXIT_CODE.USAGE);\n }\n explicitUnsets.add(definition.frontMatterKey);\n clearOptionKeys.add(definition.optionKey);\n }\n\n const scalarOptionPresence: Record<string, boolean> = {\n tags: resolvedOptions.tags !== undefined,\n deadline: resolvedOptions.deadline !== undefined,\n estimatedMinutes: resolvedOptions.estimatedMinutes !== undefined,\n acceptanceCriteria: resolvedOptions.acceptanceCriteria !== undefined,\n definitionOfReady: resolvedOptions.definitionOfReady !== undefined,\n order: resolvedOptions.order !== undefined || resolvedOptions.rank !== undefined,\n goal: resolvedOptions.goal !== undefined,\n objective: resolvedOptions.objective !== undefined,\n value: resolvedOptions.value !== undefined,\n impact: resolvedOptions.impact !== undefined,\n outcome: resolvedOptions.outcome !== undefined,\n whyNow: resolvedOptions.whyNow !== undefined,\n author: resolvedOptions.author !== undefined,\n assignee: resolvedOptions.assignee !== undefined,\n parent: resolvedOptions.parent !== undefined,\n reviewer: resolvedOptions.reviewer !== undefined,\n risk: resolvedOptions.risk !== undefined,\n confidence: resolvedOptions.confidence !== undefined,\n sprint: resolvedOptions.sprint !== undefined,\n release: resolvedOptions.release !== undefined,\n blockedBy: resolvedOptions.blockedBy !== undefined,\n blockedReason: resolvedOptions.blockedReason !== undefined,\n unblockNote: resolvedOptions.unblockNote !== undefined,\n reporter: resolvedOptions.reporter !== undefined,\n severity: resolvedOptions.severity !== undefined,\n environment: resolvedOptions.environment !== undefined,\n reproSteps: resolvedOptions.reproSteps !== undefined,\n resolution: resolvedOptions.resolution !== undefined,\n expectedResult: resolvedOptions.expectedResult !== undefined,\n actualResult: resolvedOptions.actualResult !== undefined,\n affectedVersion: resolvedOptions.affectedVersion !== undefined,\n fixedVersion: resolvedOptions.fixedVersion !== undefined,\n component: resolvedOptions.component !== undefined,\n regression: resolvedOptions.regression !== undefined,\n customerImpact: resolvedOptions.customerImpact !== undefined,\n };\n for (const [optionKey, hasValue] of Object.entries(scalarOptionPresence)) {\n if (!hasValue || !unsetTargets.optionKeys.has(optionKey)) {\n continue;\n }\n const unsetField = CREATE_OPTION_KEY_TO_UNSET_CANONICAL.get(optionKey) ?? optionKey;\n throw new PmCliError(\n `Cannot combine --unset ${unsetField} with ${commandOptionFlagLabel(\"create\", optionKey)}`,\n EXIT_CODE.USAGE,\n );\n }\n\n const assertNoLegacyScalarToken = (value: string | undefined, optionKey: string): void => {\n const unsetField = CREATE_OPTION_KEY_TO_UNSET_CANONICAL.get(optionKey);\n const hint = unsetField ? `Use --unset ${unsetField} to clear this field.` : undefined;\n assertNoLegacyNoneToken(value, commandOptionFlagLabel(\"create\", optionKey), hint);\n };\n assertNoLegacyScalarToken(resolvedOptions.tags, \"tags\");\n assertNoLegacyScalarToken(resolvedOptions.deadline, \"deadline\");\n assertNoLegacyScalarToken(resolvedOptions.estimatedMinutes, \"estimatedMinutes\");\n assertNoLegacyScalarToken(resolvedOptions.acceptanceCriteria, \"acceptanceCriteria\");\n assertNoLegacyScalarToken(resolvedOptions.definitionOfReady, \"definitionOfReady\");\n assertNoLegacyScalarToken(resolvedOptions.order ?? resolvedOptions.rank, \"order\");\n assertNoLegacyScalarToken(resolvedOptions.goal, \"goal\");\n assertNoLegacyScalarToken(resolvedOptions.objective, \"objective\");\n assertNoLegacyScalarToken(resolvedOptions.value, \"value\");\n assertNoLegacyScalarToken(resolvedOptions.impact, \"impact\");\n assertNoLegacyScalarToken(resolvedOptions.outcome, \"outcome\");\n assertNoLegacyScalarToken(resolvedOptions.whyNow, \"whyNow\");\n assertNoLegacyScalarToken(resolvedOptions.author, \"author\");\n assertNoLegacyScalarToken(resolvedOptions.assignee, \"assignee\");\n assertNoLegacyScalarToken(resolvedOptions.parent, \"parent\");\n assertNoLegacyScalarToken(resolvedOptions.reviewer, \"reviewer\");\n assertNoLegacyScalarToken(resolvedOptions.risk, \"risk\");\n assertNoLegacyScalarToken(resolvedOptions.confidence, \"confidence\");\n assertNoLegacyScalarToken(resolvedOptions.sprint, \"sprint\");\n assertNoLegacyScalarToken(resolvedOptions.release, \"release\");\n assertNoLegacyScalarToken(resolvedOptions.blockedBy, \"blockedBy\");\n assertNoLegacyScalarToken(resolvedOptions.blockedReason, \"blockedReason\");\n assertNoLegacyScalarToken(resolvedOptions.unblockNote, \"unblockNote\");\n assertNoLegacyScalarToken(resolvedOptions.reporter, \"reporter\");\n assertNoLegacyScalarToken(resolvedOptions.severity, \"severity\");\n assertNoLegacyScalarToken(resolvedOptions.environment, \"environment\");\n assertNoLegacyScalarToken(resolvedOptions.reproSteps, \"reproSteps\");\n assertNoLegacyScalarToken(resolvedOptions.resolution, \"resolution\");\n assertNoLegacyScalarToken(resolvedOptions.expectedResult, \"expectedResult\");\n assertNoLegacyScalarToken(resolvedOptions.actualResult, \"actualResult\");\n assertNoLegacyScalarToken(resolvedOptions.affectedVersion, \"affectedVersion\");\n assertNoLegacyScalarToken(resolvedOptions.fixedVersion, \"fixedVersion\");\n assertNoLegacyScalarToken(resolvedOptions.component, \"component\");\n assertNoLegacyScalarToken(resolvedOptions.regression, \"regression\");\n assertNoLegacyScalarToken(resolvedOptions.customerImpact, \"customerImpact\");\n\n const missingRequiredCreateFlags = requireCreateOptionByType(typeDefinition, resolvedOptions, createMode, clearOptionKeys);\n const nowValue = nowIso();\n const author = selectAuthor(resolvedOptions.author, settings.author_default);\n\n const dependencies = parseDependencies(resolvedOptions.dep, nowValue, settings.id_prefix);\n const comments = parseLogSeed(\"--comment\", resolvedOptions.comment, nowValue, author);\n const notes = parseLogSeed(\"--note\", resolvedOptions.note, nowValue, author);\n const learnings = parseLogSeed(\"--learning\", resolvedOptions.learning, nowValue, author);\n const files = parseFiles(resolvedOptions.file);\n const tests = parseTests(resolvedOptions.test);\n const docs = parseDocs(resolvedOptions.doc);\n const reminders = parseReminders(resolvedOptions.reminder, nowValue);\n const events = parseEvents(resolvedOptions.event, nowValue);\n const typeOptions = parseTypeOptions(resolvedOptions.typeOption);\n const validatedTypeOptions = validateTypeOptions(type, typeOptions.values, typeRegistry);\n const extensionRegistrations = getActiveExtensionRegistrations();\n const extensionFieldNames = collectRegisteredItemFieldNames(extensionRegistrations);\n const registeredItemFieldValues = parseRegisteredItemFieldAssignments(resolvedOptions.field, extensionRegistrations);\n for (const fieldKey of Object.keys(registeredItemFieldValues)) {\n if (!unsetTargets.frontMatterKeys.has(fieldKey)) {\n continue;\n }\n throw new PmCliError(`Cannot combine --unset ${fieldKey.replaceAll(\"_\", \"-\")} with --field ${fieldKey}=...`, EXIT_CODE.USAGE);\n }\n const runtimeCreateFieldValues = collectRuntimeCreateFieldValues(\n resolvedOptions as Record<string, unknown>,\n runtimeFieldRegistry,\n type,\n );\n for (const fieldKey of Object.keys(runtimeCreateFieldValues.values ?? {})) {\n if (!unsetTargets.frontMatterKeys.has(fieldKey)) {\n continue;\n }\n throw new PmCliError(`Cannot combine --unset ${fieldKey.replaceAll(\"_\", \"-\")} with its value flag`, EXIT_CODE.USAGE);\n }\n const missingRequiredTypeOptionKeys = collectMissingRequiredTypeOptionKeys(validatedTypeOptions.errors, type);\n const missingRequiredTypeOptionFlags = missingRequiredTypeOptionKeys.map((key) => `--type-option ${key}=<value>`);\n const combinedMissingFlags = [\n ...new Set([\n ...missingRequiredCreateFlags,\n ...missingRequiredTypeOptionFlags,\n ...runtimeCreateFieldValues.missing_required_flags,\n ]),\n ].sort((left, right) => left.localeCompare(right));\n if (combinedMissingFlags.length > 0) {\n const nextValidExample = buildTypeSpecificCreateExample(\n typeDefinition,\n missingRequiredCreateFlags,\n missingRequiredTypeOptionKeys,\n statusRegistry.open_status,\n );\n const nextSteps = [`Run \"pm create --help --type ${type}\" for type-aware required option guidance.`];\n if (combinedMissingFlags.includes(\"--title\")) {\n nextSteps.push('Title can also be passed as the first positional argument (example: pm create \"Your title\" --type ' + type + ').');\n }\n if (createMode === \"strict\") {\n nextSteps.push('For staged onboarding, retry with \"--create-mode progressive\".');\n if (SCHEDULE_CREATE_PRESET_TYPES.has(type)) {\n nextSteps.push('For minimal scheduling inputs, try \"--schedule-preset lightweight\".');\n }\n }\n const errorMessage =\n combinedMissingFlags.length === 1\n ? `Missing required option ${combinedMissingFlags[0]} for type \"${type}\"`\n : `Missing required options ${combinedMissingFlags.join(\", \")} for type \"${type}\"`;\n throw new PmCliError(errorMessage, EXIT_CODE.USAGE, {\n code: \"missing_required_option\",\n required: `Provide all required create options and type options for type \"${type}\" in one invocation.`,\n examples: [nextValidExample],\n nextSteps,\n });\n }\n const nonMissingTypeOptionErrors = filterNonMissingTypeOptionErrors(validatedTypeOptions.errors, type);\n if (nonMissingTypeOptionErrors.length > 0) {\n const nextValidExample = buildTypeSpecificCreateExample(typeDefinition, [], [], statusRegistry.open_status);\n throw new PmCliError(nonMissingTypeOptionErrors.join(\"; \"), EXIT_CODE.USAGE, {\n code: \"invalid_argument_value\",\n required: `Provide valid --type-option key/value pairs for type \"${type}\".`,\n examples: [nextValidExample],\n nextSteps: [`Run \"pm create --help --type ${type}\" to review allowed type-option keys and values.`],\n });\n }\n\n const id = await generateItemId(pmRoot, settings.id_prefix);\n let status =\n resolvedOptions.status !== undefined\n ? parseStatusValue(resolvedOptions.status, statusRegistry)\n : resolveCreateDefaultStatus(typeDefinition, statusRegistry);\n const priority = resolvedOptions.priority !== undefined ? ensurePriority(resolvedOptions.priority) : 2;\n // `--unset tags` clears the field; combining it with `--add-tags` is the same\n // contradiction that `--unset tags --tags ...` already rejects, so reject it\n // here rather than silently letting the additions win over the clear.\n if (\n unsetTargets.frontMatterKeys.has(\"tags\") &&\n Array.isArray(resolvedOptions.addTags) &&\n resolvedOptions.addTags.length > 0\n ) {\n throw new PmCliError(\"Cannot combine --unset tags with --add-tags\", EXIT_CODE.USAGE);\n }\n const baseTags = unsetTargets.frontMatterKeys.has(\"tags\")\n ? []\n : resolvedOptions.tags !== undefined\n ? parseTags(resolvedOptions.tags)\n : [];\n const tags = mergeAdditiveTags(baseTags, resolvedOptions.addTags);\n\n const deadline = unsetTargets.frontMatterKeys.has(\"deadline\")\n ? undefined\n : resolvedOptions.deadline === undefined\n ? undefined\n : resolveIsoOrRelative(resolvedOptions.deadline, new Date(nowValue), \"deadline\");\n const estimatedMinutes = unsetTargets.frontMatterKeys.has(\"estimated_minutes\")\n ? undefined\n : resolvedOptions.estimatedMinutes === undefined\n ? undefined\n : parseOptionalNumber(resolvedOptions.estimatedMinutes, \"estimated-minutes\");\n const acceptanceCriteria = unsetTargets.frontMatterKeys.has(\"acceptance_criteria\")\n ? undefined\n : resolvedOptions.acceptanceCriteria === undefined\n ? undefined\n : resolvedOptions.acceptanceCriteria;\n const definitionOfReady =\n unsetTargets.frontMatterKeys.has(\"definition_of_ready\") || resolvedOptions.definitionOfReady === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.definitionOfReady);\n if (\n resolvedOptions.order !== undefined &&\n resolvedOptions.rank !== undefined &&\n resolvedOptions.order !== resolvedOptions.rank\n ) {\n throw new PmCliError(\"--order and --rank must match when both are provided\", EXIT_CODE.USAGE);\n }\n const orderRaw = resolvedOptions.order ?? resolvedOptions.rank;\n const order =\n unsetTargets.frontMatterKeys.has(\"order\") || orderRaw === undefined ? undefined : parseOptionalNumber(orderRaw, \"order\");\n if (order !== undefined && !Number.isInteger(order)) {\n throw new PmCliError(\"Order must be an integer\", EXIT_CODE.USAGE);\n }\n const goal =\n unsetTargets.frontMatterKeys.has(\"goal\") || resolvedOptions.goal === undefined ? undefined : parseOptionalString(resolvedOptions.goal);\n const objective =\n unsetTargets.frontMatterKeys.has(\"objective\") || resolvedOptions.objective === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.objective);\n const value =\n unsetTargets.frontMatterKeys.has(\"value\") || resolvedOptions.value === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.value);\n const impact =\n unsetTargets.frontMatterKeys.has(\"impact\") || resolvedOptions.impact === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.impact);\n const outcome =\n unsetTargets.frontMatterKeys.has(\"outcome\") || resolvedOptions.outcome === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.outcome);\n const whyNow =\n unsetTargets.frontMatterKeys.has(\"why_now\") || resolvedOptions.whyNow === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.whyNow);\n const assignee =\n unsetTargets.frontMatterKeys.has(\"assignee\") || resolvedOptions.assignee === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.assignee);\n const authorValue = unsetTargets.frontMatterKeys.has(\"author\")\n ? undefined\n : parseOptionalString(resolvedOptions.author) ?? author;\n let parent =\n unsetTargets.frontMatterKeys.has(\"parent\") || resolvedOptions.parent === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.parent);\n const reviewer =\n unsetTargets.frontMatterKeys.has(\"reviewer\") || resolvedOptions.reviewer === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.reviewer);\n const riskRaw =\n unsetTargets.frontMatterKeys.has(\"risk\") || resolvedOptions.risk === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.risk);\n const risk = riskRaw !== undefined ? ensureEnumValue(normalizeRiskInput(riskRaw), RISK_VALUES, \"risk\") : undefined;\n const confidenceRaw =\n unsetTargets.frontMatterKeys.has(\"confidence\") || resolvedOptions.confidence === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.confidence);\n const confidence = confidenceRaw !== undefined ? parseConfidenceInput(confidenceRaw) : undefined;\n const parentReferencePolicy = settings.validation.parent_reference;\n const sprintReleasePolicy = settings.validation.sprint_release_format;\n const validationWarnings: string[] = [];\n // Event-type items with no attached schedule never surface on the calendar; warn (never block).\n if (type.toLowerCase() === \"event\" && (events.values === undefined || events.values.length === 0)) {\n validationWarnings.push(`event_without_schedule:${id}:no_time_set`);\n }\n // Calendar-relevant types (Milestone, Meeting, Reminder, Event) with NO deadline AND no\n // reminders AND no events are invisible on `pm calendar`. Warn (never block) so the agent\n // can attach a schedule via `pm update`.\n const calendarRelevantTypes = new Set([\"milestone\", \"meeting\", \"reminder\", \"event\"]);\n const hasDeadline = deadline !== undefined;\n const hasReminders = reminders.values !== undefined && reminders.values.length > 0;\n const hasEvents = events.values !== undefined && events.values.length > 0;\n if (calendarRelevantTypes.has(type.toLowerCase()) && !hasDeadline && !hasReminders && !hasEvents) {\n validationWarnings.push(`calendar_item_without_schedule:${id}:no_deadline_or_reminder_or_event`);\n }\n if (parent !== undefined) {\n parent = normalizeParentReferenceValue(parent);\n const parentLocated = await locateItem(pmRoot, parent, settings.id_prefix, settings.item_format, typeRegistry.type_to_folder);\n if (!parentLocated) {\n const normalizedParentId = normalizeItemId(parent, settings.id_prefix);\n validationWarnings.push(...validateMissingParentReference(normalizedParentId, parentReferencePolicy).warnings);\n }\n }\n let sprint =\n unsetTargets.frontMatterKeys.has(\"sprint\") || resolvedOptions.sprint === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.sprint);\n if (sprint !== undefined) {\n const sprintValidation = validateSprintOrReleaseValue(\"sprint\", sprint, sprintReleasePolicy);\n sprint = sprintValidation.value;\n validationWarnings.push(...sprintValidation.warnings);\n }\n let release =\n unsetTargets.frontMatterKeys.has(\"release\") || resolvedOptions.release === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.release);\n if (release !== undefined) {\n const releaseValidation = validateSprintOrReleaseValue(\"release\", release, sprintReleasePolicy);\n release = releaseValidation.value;\n validationWarnings.push(...releaseValidation.warnings);\n }\n const blockedBy =\n unsetTargets.frontMatterKeys.has(\"blocked_by\") || resolvedOptions.blockedBy === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.blockedBy);\n let dependencyValues = dependencies.values;\n if (blockedBy !== undefined) {\n const normalizedBlockedBy = normalizeItemId(blockedBy, settings.id_prefix);\n const blockedByLocated = await locateItem(pmRoot, normalizedBlockedBy, settings.id_prefix, settings.item_format, typeRegistry.type_to_folder);\n if (blockedByLocated) {\n const hasBlockedByDependency = (dependencyValues ?? []).some(\n (dependency) => dependency.id === blockedByLocated.id && dependency.kind === \"blocked_by\",\n );\n if (!hasBlockedByDependency) {\n dependencyValues = [\n ...(dependencyValues ?? []),\n {\n id: blockedByLocated.id,\n kind: \"blocked_by\",\n created_at: nowValue,\n author,\n },\n ];\n }\n if (resolvedOptions.status === undefined) {\n status = statusRegistry.blocked_statuses.has(\"blocked\")\n ? \"blocked\"\n : [...statusRegistry.blocked_statuses].sort((left, right) => left.localeCompare(right))[0] ?? statusRegistry.open_status;\n }\n }\n }\n const blockedReason =\n unsetTargets.frontMatterKeys.has(\"blocked_reason\") || resolvedOptions.blockedReason === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.blockedReason);\n const unblockNote =\n unsetTargets.frontMatterKeys.has(\"unblock_note\") || resolvedOptions.unblockNote === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.unblockNote);\n const reporter =\n unsetTargets.frontMatterKeys.has(\"reporter\") || resolvedOptions.reporter === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.reporter);\n const severityRaw =\n unsetTargets.frontMatterKeys.has(\"severity\") || resolvedOptions.severity === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.severity);\n const severity =\n severityRaw !== undefined ? ensureEnumValue(normalizeSeverityInput(severityRaw), ISSUE_SEVERITY_VALUES, \"severity\") : undefined;\n const environment =\n unsetTargets.frontMatterKeys.has(\"environment\") || resolvedOptions.environment === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.environment);\n const reproSteps =\n unsetTargets.frontMatterKeys.has(\"repro_steps\") || resolvedOptions.reproSteps === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.reproSteps);\n const resolution =\n unsetTargets.frontMatterKeys.has(\"resolution\") || resolvedOptions.resolution === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.resolution);\n const expectedResult =\n unsetTargets.frontMatterKeys.has(\"expected_result\") || resolvedOptions.expectedResult === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.expectedResult);\n const actualResult =\n unsetTargets.frontMatterKeys.has(\"actual_result\") || resolvedOptions.actualResult === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.actualResult);\n const affectedVersion =\n unsetTargets.frontMatterKeys.has(\"affected_version\") || resolvedOptions.affectedVersion === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.affectedVersion);\n const fixedVersion =\n unsetTargets.frontMatterKeys.has(\"fixed_version\") || resolvedOptions.fixedVersion === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.fixedVersion);\n const component =\n unsetTargets.frontMatterKeys.has(\"component\") || resolvedOptions.component === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.component);\n const regressionRaw =\n unsetTargets.frontMatterKeys.has(\"regression\") || resolvedOptions.regression === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.regression);\n const regression = regressionRaw !== undefined ? parseRegressionInput(regressionRaw) : undefined;\n const customerImpact =\n unsetTargets.frontMatterKeys.has(\"customer_impact\") || resolvedOptions.customerImpact === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.customerImpact);\n const title = requireStringOption(resolvedOptions.title, \"--title\");\n const description = resolvedOptions.description ?? \"\";\n const body = resolvedOptions.body ?? \"\";\n\n const frontMatter: ItemMetadata = normalizeFrontMatter({\n id,\n title,\n description,\n type,\n type_options: validatedTypeOptions.normalized,\n status,\n priority,\n tags,\n created_at: nowValue,\n updated_at: nowValue,\n deadline,\n assignee,\n author: authorValue,\n estimated_minutes: estimatedMinutes,\n acceptance_criteria: acceptanceCriteria,\n definition_of_ready: definitionOfReady,\n order,\n goal,\n objective,\n value,\n impact,\n outcome,\n why_now: whyNow,\n parent,\n reviewer,\n risk,\n confidence,\n sprint,\n release,\n blocked_by: blockedBy,\n blocked_reason: blockedReason,\n unblock_note: unblockNote,\n reporter,\n severity,\n environment,\n repro_steps: reproSteps,\n resolution,\n expected_result: expectedResult,\n actual_result: actualResult,\n affected_version: affectedVersion,\n fixed_version: fixedVersion,\n component,\n regression,\n customer_impact: customerImpact,\n dependencies: dependencyValues,\n comments: comments.values as Comment[] | undefined,\n notes: notes.values as LogNote[] | undefined,\n learnings: learnings.values as LogNote[] | undefined,\n files: files.values,\n tests: tests.values,\n docs: docs.values,\n reminders: reminders.values,\n events: events.values,\n ...registeredItemFieldValues,\n ...(runtimeCreateFieldValues.values ?? {}),\n });\n try {\n applyRegisteredItemFieldDefaultsAndValidation(\n frontMatter as unknown as Record<string, unknown>,\n extensionRegistrations,\n );\n } catch (error: unknown) {\n throw new PmCliError(error instanceof Error ? error.message : \"Invalid extension item field values\", EXIT_CODE.USAGE);\n }\n\n const afterDocument: ItemDocument = canonicalDocument(\n {\n metadata: frontMatter,\n body,\n },\n { schema: settings.schema, extensionFieldNames },\n );\n const beforeDocument: ItemDocument = {\n metadata: {} as ItemMetadata,\n body: \"\",\n };\n\n const itemPath = getItemPath(pmRoot, type, id, settings.item_format, typeRegistry.type_to_folder);\n const historyPath = getHistoryPath(pmRoot, id);\n const lockRelease = await acquireLock(\n pmRoot,\n id,\n settings.locks.ttl_seconds,\n author,\n false,\n settings.governance.force_required_for_stale_lock,\n );\n const explicitUnsetKeys = [...explicitUnsets].sort((left, right) => left.localeCompare(right));\n const historyMessage = buildHistoryMessage(resolvedOptions.message, explicitUnsetKeys);\n const changedFields = buildChangedFields(frontMatter, body, explicitUnsetKeys, [\n ...Object.keys(registeredItemFieldValues),\n ...Object.keys(runtimeCreateFieldValues.values ?? {}),\n ]);\n let hookWarnings: string[] = [];\n\n try {\n await writeFileAtomic(\n itemPath,\n serializeItemDocument(afterDocument, {\n format: settings.item_format,\n schema: settings.schema,\n extensionFieldNames,\n }),\n );\n try {\n const entry = createHistoryEntry({\n nowIso: nowValue,\n author,\n op: \"create\",\n before: beforeDocument,\n after: afterDocument,\n message: historyMessage,\n });\n await appendHistoryEntry(historyPath, entry);\n } catch (error: unknown) {\n await removeFileIfExists(itemPath);\n throw error;\n }\n hookWarnings = [\n ...(await runActiveOnWriteHooks({\n path: itemPath,\n scope: \"project\",\n op: \"create\",\n item_id: afterDocument.metadata.id,\n item_type: afterDocument.metadata.type,\n before: beforeDocument,\n after: afterDocument,\n changed_fields: changedFields,\n })),\n ...(await runActiveOnWriteHooks({\n path: historyPath,\n scope: \"project\",\n op: \"create:history\",\n item_id: afterDocument.metadata.id,\n item_type: afterDocument.metadata.type,\n before: beforeDocument,\n after: afterDocument,\n changed_fields: changedFields,\n })),\n ];\n recordAfterCommandAffectedItem({\n id: afterDocument.metadata.id,\n op: \"create\",\n item_type: afterDocument.metadata.type,\n status: afterDocument.metadata.status,\n current: projectAfterCommandItemSnapshot(afterDocument.metadata, changedFields),\n changed_fields: changedFields,\n });\n } finally {\n await lockRelease();\n }\n\n const outputItem = structuredClone(frontMatter);\n\n // After the create has committed (so the ID is real and shows up in the suggestion),\n // emit a single non-blocking stderr hint when the new item would be invisible on `pm\n // calendar`. The structured `calendar_item_without_schedule:*` warning above is what\n // automation reads; this stderr line is the human/agent-facing version with a\n // copy-pasteable `pm update` recipe.\n if (calendarRelevantTypes.has(type.toLowerCase()) && !hasDeadline && !hasReminders && !hasEvents) {\n printError(\n `[pm] warning: ${type} '${id}' has no deadline/reminder/event — it will not appear on the calendar. Add one via 'pm update ${id} --deadline <ISO>' or 'pm update ${id} --event \"start=<ISO>,end=<ISO>\"'.`,\n );\n }\n\n return {\n item: outputItem,\n changed_fields: changedFields,\n warnings: [...validationWarnings, ...hookWarnings],\n };\n}\n"],"names":[],"mappings":"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","debugId":"6d06ae5b-933c-54ca-90c4-998090c1fcb3"}
1
+ {"version":3,"file":"create.js","sources":["cli/commands/create.ts"],"sourceRoot":"/","sourcesContent":["import { pathExists, removeFileIfExists, writeFileAtomic } from \"../../core/fs/fs-utils.js\";\nimport { appendHistoryEntry, createHistoryEntry } from \"../../core/history/history.js\";\nimport { generateItemId, normalizeItemId } from \"../../core/item/id.js\";\nimport { canonicalDocument, normalizeFrontMatter, serializeItemDocument } from \"../../core/item/item-format.js\";\nimport {\n normalizeParentReferenceValue,\n validateMissingParentReference,\n} from \"../../core/item/parent-reference-policy.js\";\nimport { validateSprintOrReleaseValue } from \"../../core/item/sprint-release-format.js\";\nimport { createStdinTokenResolver, mergeAdditiveTags, parseCsvKv, parseOptionalNumber, parseTags } from \"../../core/item/parse.js\";\nimport { resolvePriority } from \"../../core/item/priority.js\";\nimport { normalizeStatusInput } from \"../../core/item/status.js\";\nimport {\n canonicalizeCommandOptionKey,\n commandOptionFlagLabel,\n resolveItemTypeRegistry,\n resolveCommandOptionPolicyState,\n type ResolvedItemTypeDefinition,\n resolveTypeDefinition,\n resolveTypeName,\n validateTypeOptions,\n} from \"../../core/item/type-registry.js\";\nimport { acquireLock } from \"../../core/lock/lock.js\";\nimport { printError } from \"../../core/output/output.js\";\nimport { buildInvalidTypeError } from \"../../core/schema/item-types-file.js\";\nimport { resolveTypeSynonym } from \"../../core/item/type-synonyms.js\";\nimport { collectRuntimeCreateFieldValues } from \"../../core/schema/runtime-field-values.js\";\nimport {\n type RuntimeFieldRegistry,\n resolveRuntimeFieldRegistry,\n resolveRuntimeStatusRegistry,\n type RuntimeStatusRegistry,\n} from \"../../core/schema/runtime-schema.js\";\nimport { EXIT_CODE, FRONT_MATTER_KEY_ORDER } from \"../../core/shared/constants.js\";\nimport type { GlobalOptions } from \"../../core/shared/command-types.js\";\nimport { PmCliError } from \"../../core/shared/errors.js\";\nimport { nowIso, resolveIsoOrRelative } from \"../../core/shared/time.js\";\nimport {\n getActiveExtensionRegistrations,\n projectAfterCommandItemSnapshot,\n recordAfterCommandAffectedItem,\n runActiveCommandHandler,\n runActiveOnWriteHooks,\n} from \"../../core/extensions/index.js\";\nimport {\n collectRegisteredItemFieldNames,\n applyRegisteredItemFieldDefaultsAndValidation,\n parseRegisteredItemFieldAssignments,\n} from \"../../core/extensions/item-fields.js\";\nimport { locateItem } from \"../../core/store/item-store.js\";\nimport { getHistoryPath, getItemPath, getSettingsPath, resolvePmRoot } from \"../../core/store/paths.js\";\nimport { readSettings } from \"../../core/store/settings.js\";\nimport {\n normalizeRiskInput,\n normalizeSeverityInput,\n parseConfidenceInput,\n parseRegressionInput,\n} from \"./metadata-normalizers.js\";\nimport { assertNoLegacyNoneToken, assertNoLegacyNoneTokens, isLegacyNoneToken } from \"./legacy-none-tokens.js\";\nimport {\n parseLinkedTestAssertionEqualsMap,\n parseLinkedTestAssertionGteMap,\n parseLinkedTestBoolean,\n parseLinkedTestContextMode,\n parseLinkedTestEnvClear,\n parseLinkedTestEnvSet,\n parseLinkedTestMinLines,\n parseLinkedTestRegexList,\n parseLinkedTestStringList,\n} from \"./linked-test-parsers.js\";\nimport { looksLikeStructuredLinkedTestEntry, normalizeStructuredLinkedTestEntry } from \"./linked-test-entry.js\";\nimport { ensureEnumValue } from \"./recurrence-parsers.js\";\nimport {\n parseEventEntries,\n parseReminderEntries,\n parseTypeOptionEntries,\n} from \"./repeatable-metadata-parsers.js\";\nimport type {\n CalendarEvent,\n Comment,\n Dependency,\n ItemDocument,\n ItemMetadata,\n ItemStatus,\n LinkedDoc,\n LinkedFile,\n LinkedTest,\n LogNote,\n Reminder,\n} from \"../../types/index.js\";\nimport {\n DEPENDENCY_KIND_VALUES,\n ISSUE_SEVERITY_VALUES,\n RISK_VALUES,\n SCOPE_VALUES,\n} from \"../../types/index.js\";\n\nexport interface CreateCommandOptions {\n title?: string;\n description?: string;\n type?: string;\n status?: string;\n priority?: string;\n tags?: string;\n addTags?: string[];\n body?: 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 assignee?: string;\n parent?: string;\n allowMissingParent?: boolean;\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 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 template?: string;\n createMode?: string;\n schedulePreset?: 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\nexport interface CreateResult {\n item: ItemMetadata;\n changed_fields: string[];\n warnings: string[];\n}\n\ntype CreateMode = \"strict\" | \"progressive\";\nconst CREATE_MODE_VALUES = [\"strict\", \"progressive\"] as const;\ntype ScheduleCreatePreset = \"lightweight\";\nconst SCHEDULE_CREATE_PRESET_VALUES = [\"lightweight\"] as const;\nconst SCHEDULE_CREATE_PRESET_TYPES = new Set([\"Reminder\", \"Meeting\", \"Event\"]);\nconst LOG_SEED_ALLOWED_KEYS = new Set([\"author\", \"created_at\", \"text\"]);\n\ninterface CreateUnsetFieldDefinition {\n optionKey: string;\n frontMatterKey: string;\n}\n\nconst CREATE_UNSET_FIELD_DEFINITIONS: ReadonlyArray<{\n canonical: string;\n aliases: readonly string[];\n optionKey: string;\n frontMatterKey: string;\n}> = [\n { canonical: \"tags\", aliases: [\"tags\"], optionKey: \"tags\", frontMatterKey: \"tags\" },\n { canonical: \"deadline\", aliases: [\"deadline\"], optionKey: \"deadline\", frontMatterKey: \"deadline\" },\n {\n canonical: \"estimate\",\n aliases: [\"estimate\", \"estimated_minutes\", \"estimated-minutes\"],\n optionKey: \"estimatedMinutes\",\n frontMatterKey: \"estimated_minutes\",\n },\n {\n canonical: \"acceptance-criteria\",\n aliases: [\"acceptance_criteria\", \"acceptance-criteria\", \"ac\"],\n optionKey: \"acceptanceCriteria\",\n frontMatterKey: \"acceptance_criteria\",\n },\n {\n canonical: \"definition-of-ready\",\n aliases: [\"definition_of_ready\", \"definition-of-ready\"],\n optionKey: \"definitionOfReady\",\n frontMatterKey: \"definition_of_ready\",\n },\n { canonical: \"order\", aliases: [\"order\", \"rank\"], optionKey: \"order\", frontMatterKey: \"order\" },\n { canonical: \"goal\", aliases: [\"goal\"], optionKey: \"goal\", frontMatterKey: \"goal\" },\n { canonical: \"objective\", aliases: [\"objective\"], optionKey: \"objective\", frontMatterKey: \"objective\" },\n { canonical: \"value\", aliases: [\"value\"], optionKey: \"value\", frontMatterKey: \"value\" },\n { canonical: \"impact\", aliases: [\"impact\"], optionKey: \"impact\", frontMatterKey: \"impact\" },\n { canonical: \"outcome\", aliases: [\"outcome\"], optionKey: \"outcome\", frontMatterKey: \"outcome\" },\n { canonical: \"why-now\", aliases: [\"why_now\", \"why-now\"], optionKey: \"whyNow\", frontMatterKey: \"why_now\" },\n { canonical: \"author\", aliases: [\"author\"], optionKey: \"author\", frontMatterKey: \"author\" },\n { canonical: \"assignee\", aliases: [\"assignee\"], optionKey: \"assignee\", frontMatterKey: \"assignee\" },\n { canonical: \"parent\", aliases: [\"parent\"], optionKey: \"parent\", frontMatterKey: \"parent\" },\n { canonical: \"reviewer\", aliases: [\"reviewer\"], optionKey: \"reviewer\", frontMatterKey: \"reviewer\" },\n { canonical: \"risk\", aliases: [\"risk\"], optionKey: \"risk\", frontMatterKey: \"risk\" },\n { canonical: \"confidence\", aliases: [\"confidence\"], optionKey: \"confidence\", frontMatterKey: \"confidence\" },\n { canonical: \"sprint\", aliases: [\"sprint\"], optionKey: \"sprint\", frontMatterKey: \"sprint\" },\n { canonical: \"release\", aliases: [\"release\"], optionKey: \"release\", frontMatterKey: \"release\" },\n {\n canonical: \"blocked-by\",\n aliases: [\"blocked_by\", \"blocked-by\"],\n optionKey: \"blockedBy\",\n frontMatterKey: \"blocked_by\",\n },\n {\n canonical: \"blocked-reason\",\n aliases: [\"blocked_reason\", \"blocked-reason\"],\n optionKey: \"blockedReason\",\n frontMatterKey: \"blocked_reason\",\n },\n {\n canonical: \"unblock-note\",\n aliases: [\"unblock_note\", \"unblock-note\"],\n optionKey: \"unblockNote\",\n frontMatterKey: \"unblock_note\",\n },\n { canonical: \"reporter\", aliases: [\"reporter\"], optionKey: \"reporter\", frontMatterKey: \"reporter\" },\n { canonical: \"severity\", aliases: [\"severity\"], optionKey: \"severity\", frontMatterKey: \"severity\" },\n {\n canonical: \"environment\",\n aliases: [\"environment\"],\n optionKey: \"environment\",\n frontMatterKey: \"environment\",\n },\n {\n canonical: \"repro-steps\",\n aliases: [\"repro_steps\", \"repro-steps\"],\n optionKey: \"reproSteps\",\n frontMatterKey: \"repro_steps\",\n },\n {\n canonical: \"resolution\",\n aliases: [\"resolution\"],\n optionKey: \"resolution\",\n frontMatterKey: \"resolution\",\n },\n {\n canonical: \"expected-result\",\n aliases: [\"expected_result\", \"expected-result\"],\n optionKey: \"expectedResult\",\n frontMatterKey: \"expected_result\",\n },\n {\n canonical: \"actual-result\",\n aliases: [\"actual_result\", \"actual-result\"],\n optionKey: \"actualResult\",\n frontMatterKey: \"actual_result\",\n },\n {\n canonical: \"affected-version\",\n aliases: [\"affected_version\", \"affected-version\"],\n optionKey: \"affectedVersion\",\n frontMatterKey: \"affected_version\",\n },\n {\n canonical: \"fixed-version\",\n aliases: [\"fixed_version\", \"fixed-version\"],\n optionKey: \"fixedVersion\",\n frontMatterKey: \"fixed_version\",\n },\n { canonical: \"component\", aliases: [\"component\"], optionKey: \"component\", frontMatterKey: \"component\" },\n { canonical: \"regression\", aliases: [\"regression\"], optionKey: \"regression\", frontMatterKey: \"regression\" },\n {\n canonical: \"customer-impact\",\n aliases: [\"customer_impact\", \"customer-impact\"],\n optionKey: \"customerImpact\",\n frontMatterKey: \"customer_impact\",\n },\n];\n\nconst CREATE_UNSET_ALIAS_MAP: Map<string, CreateUnsetFieldDefinition> = (() => {\n const map = new Map<string, CreateUnsetFieldDefinition>();\n for (const definition of CREATE_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 CREATE_OPTION_KEY_TO_UNSET_CANONICAL = new Map<string, string>(\n CREATE_UNSET_FIELD_DEFINITIONS.map((definition) => [definition.optionKey, definition.canonical]),\n);\n\nconst CREATE_UNSET_SUPPORTED_CANONICAL_FIELDS = CREATE_UNSET_FIELD_DEFINITIONS.map((definition) => definition.canonical)\n .sort((left, right) => left.localeCompare(right))\n .join(\", \");\n\nfunction buildInvalidLogSeedKeysMessage(\n optionName: \"--comment\" | \"--note\" | \"--learning\",\n unsupportedKeys: string[],\n): string {\n const sortedUnsupported = [...unsupportedKeys].sort((left, right) => left.localeCompare(right));\n const keyLabel = sortedUnsupported.length === 1 ? \"key\" : \"keys\";\n return (\n `${optionName} supports only author, created_at, and text seed fields. ` +\n `Found unsupported ${keyLabel}: ${sortedUnsupported.join(\", \")}. ` +\n `If text contains comma-separated key:value-like fragments, wrap text in quotes ` +\n '(for example text=\"first,scope:project\"), use markdown-style key/value input, ' +\n `or pass ${optionName} - with piped stdin.`\n );\n}\n\nfunction parseStatusValue(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 * Resolve the create-time status when `--status` is omitted: a config-driven\n * per-type `default_status` (from `pm schema add-type --default-status`) wins,\n * then the workflow open status. An unknown configured value degrades to the\n * open status rather than blocking the create (never-block-the-agent).\n */\nfunction resolveCreateDefaultStatus(\n typeDefinition: ResolvedItemTypeDefinition,\n statusRegistry: RuntimeStatusRegistry,\n): ItemStatus {\n const configured = typeDefinition.default_status;\n if (configured !== undefined) {\n const normalized = normalizeStatusInput(configured, statusRegistry);\n if (normalized) {\n return normalized;\n }\n }\n return statusRegistry.open_status;\n}\n\nfunction parseCreatedAt(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 created_at timestamp \"${value}\"`, EXIT_CODE.USAGE);\n }\n return new Date(parsed).toISOString();\n}\n\ninterface LegacyNoneCollectionNormalizationDefinition {\n optionKey: keyof CreateCommandOptions;\n clearFlagKey: keyof CreateCommandOptions;\n valueFlag: string;\n clearFlag: string;\n}\n\nconst CREATE_LEGACY_NONE_COLLECTION_NORMALIZERS: ReadonlyArray<LegacyNoneCollectionNormalizationDefinition> = [\n { optionKey: \"dep\", clearFlagKey: \"clearDeps\", valueFlag: \"--dep\", clearFlag: \"--clear-deps\" },\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\" },\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 normalizeLegacyNoneCreateOptions(options: CreateCommandOptions): CreateCommandOptions {\n const normalized: CreateCommandOptions = {\n ...options,\n unset: options.unset ? [...options.unset] : undefined,\n };\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\n if (isLegacyNoneToken(normalized.template)) {\n normalized.template = undefined;\n }\n\n const scalarOptionKeys = new Set<string>([...CREATE_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 const canonicalUnset = optionKey === \"rank\" ? \"order\" : (CREATE_OPTION_KEY_TO_UNSET_CANONICAL.get(optionKey) ?? optionKey);\n appendUnsetTarget(canonicalUnset);\n normalized[optionKey] = undefined;\n }\n\n for (const definition of CREATE_LEGACY_NONE_COLLECTION_NORMALIZERS) {\n const entries = normalized[definition.optionKey];\n if (!Array.isArray(entries) || entries.length === 0) {\n continue;\n }\n const hasLegacy = entries.some((entry) => isLegacyNoneToken(entry));\n if (!hasLegacy) {\n continue;\n }\n const concreteEntries = entries.filter((entry) => !isLegacyNoneToken(entry));\n if (concreteEntries.length > 0) {\n throw new PmCliError(\n `Cannot mix legacy clear token \"none\"/\"null\" with concrete ${definition.valueFlag} entries. Use ${definition.clearFlag} to clear or provide explicit entries.`,\n EXIT_CODE.USAGE,\n );\n }\n normalized[definition.optionKey] = undefined;\n normalized[definition.clearFlagKey] = true;\n }\n\n return normalized;\n}\n\nfunction parseOptionalString(value: string | undefined): string | undefined {\n if (value === undefined) return undefined;\n return value;\n}\n\nfunction resolveRuntimeCreateUnsetDefinition(\n token: string,\n runtimeFieldRegistry: RuntimeFieldRegistry | undefined,\n): CreateUnsetFieldDefinition | undefined {\n if (!runtimeFieldRegistry) {\n return undefined;\n }\n for (const definition of runtimeFieldRegistry.definitions) {\n if (definition.allow_unset === false) {\n continue;\n }\n const candidates = new Set<string>([\n definition.key,\n definition.metadata_key,\n definition.cli_flag.replaceAll(\"-\", \"_\"),\n definition.cli_flag,\n ...definition.cli_aliases.map((alias) => alias.replaceAll(\"-\", \"_\")),\n ...definition.cli_aliases,\n ]);\n if (!candidates.has(token)) {\n continue;\n }\n return {\n optionKey: definition.key,\n frontMatterKey: definition.metadata_key,\n };\n }\n return undefined;\n}\n\nfunction parseCreateUnsetTargets(\n raw: string[] | undefined,\n runtimeFieldRegistry?: RuntimeFieldRegistry,\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 definition = CREATE_UNSET_ALIAS_MAP.get(trimmed) ?? resolveRuntimeCreateUnsetDefinition(trimmed, runtimeFieldRegistry);\n if (!definition) {\n throw new PmCliError(\n `Unsupported --unset field \"${entry}\". Supported fields: ${CREATE_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\nfunction parseDependencies(\n raw: string[] | undefined,\n nowValue: string,\n prefix: string,\n): { values: Dependency[] | undefined; explicitEmpty: boolean } {\n if (!raw || raw.length === 0) return { values: undefined, explicitEmpty: false };\n assertNoLegacyNoneTokens(raw, \"--dep\", \"Use --clear-deps to clear dependencies.\");\n const values: Dependency[] = raw.map((entry) => {\n const trimmedEntry = entry.trim();\n const kv = looksLikeStructuredEntry(trimmedEntry, [\"id\", \"kind\", \"type\", \"author\", \"created_at\"])\n ? parseCsvKv(entry, \"--dep\")\n : { id: trimmedEntry, kind: \"related\" };\n const id = parseOptionalString(kv.id);\n const kind = normalizeDependencyKindInput(parseOptionalString(kv.kind ?? kv.type));\n if (!id || !kind) {\n throw new PmCliError(\"--dep requires id and kind, or a bare item id to create a related dependency\", EXIT_CODE.USAGE);\n }\n if (id.trim().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 return {\n id: normalizeItemId(id, prefix),\n kind: ensureEnumValue(kind, DEPENDENCY_KIND_VALUES, \"dependency kind\"),\n created_at: parseCreatedAt(kv.created_at, nowValue),\n author: parseOptionalString(kv.author),\n };\n });\n return { values, explicitEmpty: false };\n}\n\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 alias = DEPENDENCY_KIND_INPUT_ALIASES[raw.toLowerCase()];\n return alias ?? raw;\n}\n\nfunction looksLikeStructuredEntry(raw: string, keys: readonly string[]): boolean {\n if (raw.startsWith(\"```\") || raw.includes(\"\\n\")) {\n return true;\n }\n const keyPattern = keys.map((key) => key.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\")).join(\"|\");\n return new RegExp(`^(?:[-*+]\\\\s+)?(?:${keyPattern})\\\\s*[:=]`, \"i\").test(raw);\n}\n\nexport function parseLogSeed(\n optionName: \"--comment\" | \"--note\" | \"--learning\",\n raw: string[] | undefined,\n nowValue: string,\n fallbackAuthor: string,\n): { values: LogNote[] | Comment[] | undefined; explicitEmpty: boolean } {\n if (!raw || raw.length === 0) return { values: undefined, explicitEmpty: false };\n const clearHint =\n optionName === \"--comment\"\n ? \"Use --clear-comments to clear comments.\"\n : optionName === \"--note\"\n ? \"Use --clear-notes to clear notes.\"\n : \"Use --clear-learnings to clear learnings.\";\n assertNoLegacyNoneTokens(raw, optionName, clearHint);\n const values = raw.map((entry) => {\n const trimmedEntry = entry.trim();\n const buildPlainTextCommentSeed = (): Comment => {\n if (trimmedEntry.length === 0) {\n throw new PmCliError(`${optionName} requires text=<value>`, EXIT_CODE.USAGE);\n }\n return {\n created_at: nowValue,\n author: fallbackAuthor,\n text: trimmedEntry,\n };\n };\n let kv: Record<string, string>;\n try {\n kv = parseCsvKv(entry, optionName);\n } catch (error: unknown) {\n if (optionName === \"--comment\" || optionName === \"--note\" || optionName === \"--learning\") {\n return buildPlainTextCommentSeed();\n }\n throw error;\n }\n const unsupportedKeys = Object.keys(kv).filter((key) => !LOG_SEED_ALLOWED_KEYS.has(key));\n if (unsupportedKeys.length > 0) {\n return {\n created_at: parseCreatedAt(kv.created_at, nowValue),\n author: parseOptionalString(kv.author) ?? fallbackAuthor,\n text: trimmedEntry,\n };\n }\n const text = kv.text ?? \"\";\n if (text === \"\") {\n throw new PmCliError(`${optionName} requires text=<value>`, EXIT_CODE.USAGE);\n }\n return {\n created_at: parseCreatedAt(kv.created_at, nowValue),\n author: parseOptionalString(kv.author) ?? fallbackAuthor,\n text,\n };\n });\n return { values, explicitEmpty: false };\n}\n\nexport function parseFiles(raw: string[] | undefined): { values: LinkedFile[] | undefined; explicitEmpty: boolean } {\n if (!raw || raw.length === 0) return { values: undefined, explicitEmpty: false };\n assertNoLegacyNoneTokens(raw, \"--file\", \"Use --clear-files to clear linked files.\");\n const values = raw.map((entry) => {\n const trimmedEntry = entry.trim();\n const kv = looksLikeStructuredEntry(trimmedEntry, [\"path\", \"scope\", \"note\"])\n ? parseCsvKv(entry, \"--file\")\n : { path: trimmedEntry };\n if (!kv.path) {\n throw new PmCliError(\"--file requires path=<value> or a bare file path\", EXIT_CODE.USAGE);\n }\n return {\n path: kv.path,\n scope: ensureEnumValue(kv.scope ?? \"project\", SCOPE_VALUES, \"file scope\"),\n note: parseOptionalString(kv.note),\n };\n });\n return { values, explicitEmpty: false };\n}\n\nexport function parseTests(raw: string[] | undefined): { values: LinkedTest[] | undefined; explicitEmpty: boolean } {\n if (!raw || raw.length === 0) return { values: undefined, explicitEmpty: false };\n assertNoLegacyNoneTokens(raw, \"--test\", \"Use --clear-tests to clear linked tests.\");\n const values = raw.map((entry) => {\n const trimmedEntry = entry.trim();\n const kv = looksLikeStructuredLinkedTestEntry(trimmedEntry)\n ? normalizeStructuredLinkedTestEntry(parseCsvKv(entry, \"--test\"), \"--test\")\n : { command: trimmedEntry };\n const command = parseOptionalString(kv.command);\n const filePath = parseOptionalString(kv.path);\n if (!command) {\n throw new PmCliError(\"--test requires command=<value> or a bare command (path=<value> is optional metadata)\", EXIT_CODE.USAGE);\n }\n const timeoutSecondsRaw = parseOptionalString(kv.timeout_seconds);\n const timeoutAliasRaw = parseOptionalString(kv.timeout);\n if (timeoutSecondsRaw && timeoutAliasRaw && timeoutSecondsRaw !== timeoutAliasRaw) {\n throw new PmCliError(\"--test timeout and timeout_seconds must match when both are provided\", EXIT_CODE.USAGE);\n }\n const timeoutRaw = timeoutSecondsRaw ?? timeoutAliasRaw;\n return {\n command,\n path: filePath,\n scope: ensureEnumValue(kv.scope ?? \"project\", SCOPE_VALUES, \"test scope\"),\n timeout_seconds: timeoutRaw ? parseOptionalNumber(timeoutRaw, \"timeout_seconds\") : undefined,\n pm_context_mode: parseLinkedTestContextMode(kv.pm_context_mode, \"--test\"),\n env_set: parseLinkedTestEnvSet(kv.env_set, \"--test\"),\n env_clear: parseLinkedTestEnvClear(kv.env_clear, \"--test\"),\n shared_host_safe: parseLinkedTestBoolean(kv.shared_host_safe, \"--test\", \"shared_host_safe\"),\n assert_stdout_contains: parseLinkedTestStringList(kv.assert_stdout_contains),\n assert_stdout_regex: parseLinkedTestRegexList(kv.assert_stdout_regex, \"--test\", \"assert_stdout_regex\"),\n assert_stderr_contains: parseLinkedTestStringList(kv.assert_stderr_contains),\n assert_stderr_regex: parseLinkedTestRegexList(kv.assert_stderr_regex, \"--test\", \"assert_stderr_regex\"),\n assert_stdout_min_lines: parseLinkedTestMinLines(kv.assert_stdout_min_lines, \"--test\"),\n assert_json_field_equals: parseLinkedTestAssertionEqualsMap(kv.assert_json_field_equals, \"--test\"),\n assert_json_field_gte: parseLinkedTestAssertionGteMap(kv.assert_json_field_gte, \"--test\"),\n note: parseOptionalString(kv.note),\n };\n });\n return { values, explicitEmpty: false };\n}\n\nexport function parseDocs(raw: string[] | undefined): { values: LinkedDoc[] | undefined; explicitEmpty: boolean } {\n if (!raw || raw.length === 0) return { values: undefined, explicitEmpty: false };\n assertNoLegacyNoneTokens(raw, \"--doc\", \"Use --clear-docs to clear linked docs.\");\n const values = raw.map((entry) => {\n const trimmedEntry = entry.trim();\n const kv = looksLikeStructuredEntry(trimmedEntry, [\"path\", \"scope\", \"note\"])\n ? parseCsvKv(entry, \"--doc\")\n : { path: trimmedEntry };\n if (!kv.path) {\n throw new PmCliError(\"--doc requires path=<value> or a bare doc path\", EXIT_CODE.USAGE);\n }\n return {\n path: kv.path,\n scope: ensureEnumValue(kv.scope ?? \"project\", SCOPE_VALUES, \"doc scope\"),\n note: parseOptionalString(kv.note),\n };\n });\n return { values, explicitEmpty: false };\n}\n\nfunction parseReminders(raw: string[] | undefined, nowValue: string): { values: Reminder[] | undefined; explicitEmpty: boolean } {\n if (!raw || raw.length === 0) return { values: undefined, explicitEmpty: false };\n assertNoLegacyNoneTokens(raw, \"--reminder\", \"Use --clear-reminders to clear reminders.\");\n return {\n values: parseReminderEntries(raw, new Date(nowValue), { valueMode: \"raw\" }),\n explicitEmpty: false,\n };\n}\n\nfunction parseEvents(raw: string[] | undefined, nowValue: string): { values: CalendarEvent[] | undefined; explicitEmpty: boolean } {\n if (!raw || raw.length === 0) return { values: undefined, explicitEmpty: false };\n assertNoLegacyNoneTokens(raw, \"--event\", \"Use --clear-events to clear linked events.\");\n return {\n values: parseEventEntries(raw, new Date(nowValue), {\n allDayEmptyGuard: \"defined\",\n recurrenceEmptyNumericGuard: \"defined\",\n }),\n explicitEmpty: false,\n };\n}\n\nfunction buildChangedFields(\n frontMatter: ItemMetadata,\n body: string,\n explicitUnsets: string[],\n additionalFrontMatterKeys: readonly string[] = [],\n): string[] {\n const changed = [\n ...FRONT_MATTER_KEY_ORDER.filter((key) => frontMatter[key] !== undefined),\n ...additionalFrontMatterKeys.filter((key) => (frontMatter as unknown as Record<string, unknown>)[key] !== undefined),\n ...(body.length > 0 ? [\"body\"] : []),\n ...explicitUnsets.map((key) => `unset:${key}`),\n ];\n return Array.from(new Set(changed));\n}\n\nfunction buildHistoryMessage(baseMessage: string | undefined, explicitUnsets: string[]): string | undefined {\n const trimmed = baseMessage ?? \"\";\n if (explicitUnsets.length === 0) {\n return trimmed;\n }\n const suffix = `explicit_unset=${explicitUnsets.join(\",\")}`;\n return trimmed ? `${trimmed} | ${suffix}` : suffix;\n}\n\nfunction normalizeCreatePolicyOptionKey(raw: string, typeName: string, sourceLabel: string): string {\n const canonical = canonicalizeCommandOptionKey(\"create\", raw);\n if (!canonical) {\n throw new PmCliError(\n `Unsupported ${sourceLabel} entry \"${raw}\" for type \"${typeName}\"`,\n EXIT_CODE.CONFLICT,\n );\n }\n return canonical;\n}\n\nfunction parseTypeOptions(raw: string[] | undefined): { values: Record<string, string> | undefined; explicitEmpty: boolean } {\n if (!raw || raw.length === 0) {\n return { values: undefined, explicitEmpty: false };\n }\n assertNoLegacyNoneTokens(raw, \"--type-option\", \"Use --clear-type-options to clear existing type options.\");\n return {\n values: parseTypeOptionEntries(raw),\n explicitEmpty: false,\n };\n}\n\nasync function resolveCreateStdinInputs(options: CreateCommandOptions): Promise<CreateCommandOptions> {\n const stdinResolver = createStdinTokenResolver();\n return {\n ...options,\n body: await stdinResolver.resolveValue(options.body, \"--body\"),\n dep: await stdinResolver.resolveList(options.dep, \"--dep\"),\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 resolveCreateMode(createMode: string | undefined, defaultMode: CreateMode): CreateMode {\n if (createMode === undefined) {\n return defaultMode;\n }\n const normalized = createMode.trim().toLowerCase();\n if (normalized.length === 0) {\n return defaultMode;\n }\n if (normalized === \"strict\" || normalized === \"progressive\") {\n return normalized;\n }\n throw new PmCliError(\n `Invalid --create-mode value \"${createMode}\". Allowed: ${CREATE_MODE_VALUES.join(\", \")}`,\n EXIT_CODE.USAGE,\n );\n}\n\nfunction resolveScheduleCreatePreset(raw: string | undefined): ScheduleCreatePreset | undefined {\n if (raw === undefined) {\n return undefined;\n }\n const normalized = raw.trim().toLowerCase();\n if (normalized.length === 0) {\n throw new PmCliError(\"--schedule-preset must not be empty\", EXIT_CODE.USAGE);\n }\n if (normalized === \"lightweight\" || normalized === \"lite\" || normalized === \"schedule-lite\") {\n return \"lightweight\";\n }\n throw new PmCliError(\n `Invalid --schedule-preset value \"${raw}\". Allowed: ${SCHEDULE_CREATE_PRESET_VALUES.join(\", \")}`,\n EXIT_CODE.USAGE,\n );\n}\n\nfunction resolveEffectiveCreateMode(\n createMode: string | undefined,\n schedulePreset: ScheduleCreatePreset | undefined,\n defaultMode: CreateMode,\n): CreateMode {\n const resolvedMode = resolveCreateMode(createMode, defaultMode);\n if (schedulePreset === undefined) {\n return resolvedMode;\n }\n const createModeWasExplicit = typeof createMode === \"string\" && createMode.trim().length > 0;\n if (createModeWasExplicit && resolvedMode === \"strict\") {\n throw new PmCliError(\n \"--schedule-preset lightweight cannot be combined with --create-mode strict. Use --create-mode progressive or omit --create-mode.\",\n EXIT_CODE.USAGE,\n );\n }\n return \"progressive\";\n}\n\nfunction requireCreateOptionByType(\n typeDefinition: ResolvedItemTypeDefinition,\n options: CreateCommandOptions,\n createMode: CreateMode,\n clearOptionKeys: Set<string>,\n): string[] {\n const typeName = typeDefinition.name;\n const scalarValues: Record<string, unknown> = {\n title: options.title,\n description: options.description,\n type: options.type,\n status: options.status,\n priority: options.priority,\n tags: options.tags,\n body: options.body,\n deadline: options.deadline,\n estimatedMinutes: options.estimatedMinutes,\n acceptanceCriteria: options.acceptanceCriteria,\n definitionOfReady: options.definitionOfReady,\n order: options.order ?? options.rank,\n goal: options.goal,\n objective: options.objective,\n value: options.value,\n impact: options.impact,\n outcome: options.outcome,\n whyNow: options.whyNow,\n author: options.author,\n message: options.message,\n assignee: options.assignee,\n parent: options.parent,\n reviewer: options.reviewer,\n risk: options.risk,\n confidence: options.confidence,\n sprint: options.sprint,\n release: options.release,\n blockedBy: options.blockedBy,\n blockedReason: options.blockedReason,\n unblockNote: options.unblockNote,\n reporter: options.reporter,\n severity: options.severity,\n environment: options.environment,\n reproSteps: options.reproSteps,\n resolution: options.resolution,\n expectedResult: options.expectedResult,\n actualResult: options.actualResult,\n affectedVersion: options.affectedVersion,\n fixedVersion: options.fixedVersion,\n component: options.component,\n regression: options.regression,\n customerImpact: options.customerImpact,\n };\n const repeatableValues: Record<string, unknown> = {\n dep: options.dep,\n comment: options.comment,\n note: options.note,\n learning: options.learning,\n file: options.file,\n test: options.test,\n doc: options.doc,\n reminder: options.reminder,\n event: options.event,\n typeOption: options.typeOption,\n field: options.field,\n };\n\n const hasOptionValue = (optionKey: string): boolean => {\n // `--add-tags` mutates the same `tags` field as `--tags`, so it must count\n // toward the `tags` command_option_policy (both the disabled guard and the\n // required check) — otherwise `--add-tags` would bypass a rule disabling\n // tags, or fail to satisfy a rule requiring them even though the created\n // item ends up tagged.\n if (optionKey === \"tags\") {\n return scalarValues.tags !== undefined || (Array.isArray(options.addTags) && options.addTags.length > 0);\n }\n if (optionKey in scalarValues) {\n return scalarValues[optionKey] !== undefined;\n }\n if (optionKey in repeatableValues) {\n const value = repeatableValues[optionKey];\n return Array.isArray(value) && value.length > 0;\n }\n return false;\n };\n const hasOptionMutation = (optionKey: string): boolean => hasOptionValue(optionKey) || clearOptionKeys.has(optionKey);\n\n const baseRequiredOptions = new Set<string>([\"title\", \"type\"]);\n if (createMode === \"strict\") {\n for (const field of typeDefinition.required_create_fields) {\n baseRequiredOptions.add(normalizeCreatePolicyOptionKey(field, typeName, \"required_create_fields\"));\n }\n for (const field of typeDefinition.required_create_repeatables) {\n baseRequiredOptions.add(normalizeCreatePolicyOptionKey(field, typeName, \"required_create_repeatables\"));\n }\n }\n\n const policyState = resolveCommandOptionPolicyState(typeDefinition, \"create\", baseRequiredOptions);\n if (policyState.errors.length > 0) {\n throw new PmCliError(policyState.errors.join(\"; \"), EXIT_CODE.CONFLICT);\n }\n\n for (const option of policyState.disabled) {\n if (hasOptionMutation(option)) {\n throw new PmCliError(\n `Option ${commandOptionFlagLabel(\"create\", option)} is disabled for type \"${typeName}\" by command_option_policies`,\n EXIT_CODE.USAGE,\n );\n }\n }\n\n if (createMode === \"strict\") {\n const strictRequiredClears = policyState.required.filter((required) => clearOptionKeys.has(required));\n if (strictRequiredClears.length > 0) {\n const requiredFlags = [...new Set(strictRequiredClears.map((required) => commandOptionFlagLabel(\"create\", required)))].sort(\n (left, right) => left.localeCompare(right),\n );\n throw new PmCliError(\n `Strict create mode requires concrete values for ${requiredFlags.join(\", \")}; --unset/--clear-* directives cannot satisfy required options`,\n EXIT_CODE.USAGE,\n );\n }\n }\n\n // A configured per-type default_status satisfies a required `status` policy:\n // when --status is omitted, runCreate resolves to that default (or degrades to\n // the workflow open status), so blocking the agent for a \"missing --status\"\n // would contradict the config-driven default. Scoped to status so an explicit\n // status-required policy on a type WITHOUT a default still holds. Only the\n // required check is relaxed; the disabled check above keeps using hasOptionValue.\n const satisfiesRequiredOption = (optionKey: string): boolean => {\n if (optionKey === \"status\" && typeDefinition.default_status !== undefined) {\n return true;\n }\n return hasOptionValue(optionKey);\n };\n const missingRequiredOptions = policyState.required.filter((required) => !satisfiesRequiredOption(required));\n return [...new Set(missingRequiredOptions.map((required) => commandOptionFlagLabel(\"create\", required)))].sort((left, right) =>\n left.localeCompare(right),\n );\n}\n\nconst MISSING_REQUIRED_TYPE_OPTION_PATTERN = /^Missing required type option \"([^\"]+)\" for type \"([^\"]+)\"$/;\n\nfunction collectMissingRequiredTypeOptionKeys(errors: string[], typeName: string): string[] {\n const missingKeys: string[] = [];\n for (const error of errors) {\n const match = error.match(MISSING_REQUIRED_TYPE_OPTION_PATTERN);\n if (!match) {\n continue;\n }\n if (match[2] !== typeName) {\n continue;\n }\n missingKeys.push(match[1]);\n }\n return [...new Set(missingKeys)].sort((left, right) => left.localeCompare(right));\n}\n\nfunction filterNonMissingTypeOptionErrors(errors: string[], typeName: string): string[] {\n return errors.filter((error) => {\n const match = error.match(MISSING_REQUIRED_TYPE_OPTION_PATTERN);\n return !match || match[2] !== typeName;\n });\n}\n\nfunction typeOptionExampleValue(typeDefinition: ResolvedItemTypeDefinition, key: string): string {\n const optionDefinition = typeDefinition.options.find((option) => option.key === key);\n const firstAllowed = optionDefinition?.values[0];\n if (typeof firstAllowed === \"string\" && firstAllowed.trim().length > 0) {\n return firstAllowed;\n }\n return \"<value>\";\n}\n\nfunction createExampleTokensForFlag(flag: string, typeName: string, openStatus: string): string[] {\n switch (flag) {\n case \"--title\":\n return [\"--title\", `\"${typeName} example title\"`];\n case \"--description\":\n return [\"--description\", `\"${typeName} example description\"`];\n case \"--type\":\n return [\"--type\", typeName];\n case \"--status\":\n return [\"--status\", openStatus];\n case \"--priority\":\n return [\"--priority\", \"1\"];\n case \"--message\":\n return [\"--message\", `\"Create ${typeName} item\"`];\n case \"--dep\":\n return [\"--dep\", \"\\\"id=pm-xxxx,kind=related,author=maintainer,created_at=now\\\"\"];\n case \"--comment\":\n return [\"--comment\", \"\\\"author=maintainer,created_at=now,text=Implementation context\\\"\"];\n case \"--note\":\n return [\"--note\", \"\\\"author=maintainer,created_at=now,text=Design note\\\"\"];\n case \"--learning\":\n return [\"--learning\", \"\\\"author=maintainer,created_at=now,text=Durable lesson\\\"\"];\n case \"--file\":\n return [\"--file\", \"\\\"path=src/example.ts,note=implementation file\\\"\"];\n case \"--test\":\n return [\"--test\", \"\\\"command=node scripts/run-tests.mjs test,timeout_seconds=240\\\"\"];\n case \"--doc\":\n return [\"--doc\", \"\\\"path=README.md,note=reference doc\\\"\"];\n default:\n return [flag, \"\\\"<value>\\\"\"];\n }\n}\n\nfunction buildTypeSpecificCreateExample(\n typeDefinition: ResolvedItemTypeDefinition,\n missingCreateFlags: string[],\n missingTypeOptionKeys: string[],\n openStatus: string,\n): string {\n const tokens = [\"pm\", \"create\", \"--title\", `\"${typeDefinition.name} example title\"`, \"--description\", `\"${typeDefinition.name} example description\"`, \"--type\", typeDefinition.name];\n const optionalRecommendationFlags = [\"--status\", \"--priority\", \"--message\"];\n const orderedFlags = [...new Set([...optionalRecommendationFlags, ...missingCreateFlags])];\n const includedFlags = new Set<string>([\"--title\", \"--description\", \"--type\"]);\n for (const flag of orderedFlags) {\n if (includedFlags.has(flag)) {\n continue;\n }\n tokens.push(...createExampleTokensForFlag(flag, typeDefinition.name, openStatus));\n includedFlags.add(flag);\n }\n for (const key of missingTypeOptionKeys) {\n const value = typeOptionExampleValue(typeDefinition, key);\n tokens.push(\"--type-option\", `${key}=${value}`);\n }\n return tokens.join(\" \");\n}\n\nfunction requireStringOption(value: string | undefined, flag: string): string {\n if (value === undefined) {\n if (flag === \"--title\") {\n throw new PmCliError(\n 'Missing required option --title. Why required: every item needs a human-readable title for lookup, search, and reporting. Retry: pass the title as the first positional argument (example: pm create \"Fix login bug\" --type Issue) or with --title.',\n EXIT_CODE.USAGE,\n );\n }\n throw new PmCliError(`Missing required option ${flag}`, EXIT_CODE.USAGE);\n }\n return value;\n}\n\nfunction selectAuthor(explicitAuthor: string | undefined, settingsAuthor: string): string {\n const candidate = parseOptionalString(explicitAuthor) ?? process.env.PM_AUTHOR ?? settingsAuthor;\n const trimmed = candidate.trim();\n return trimmed || \"unknown\";\n}\n\nfunction ensurePriority(rawPriority: string | number): 0 | 1 | 2 | 3 | 4 {\n return resolvePriority(rawPriority);\n}\n\nfunction mergeCreateOptionsWithTemplate(\n templateOptions: Record<string, string | string[]>,\n explicitOptions: CreateCommandOptions,\n): CreateCommandOptions {\n const merged: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(templateOptions)) {\n merged[key] = Array.isArray(value) ? [...value] : value;\n }\n for (const [key, value] of Object.entries(explicitOptions)) {\n if (value !== undefined) {\n merged[key] = Array.isArray(value) ? [...value] : value;\n }\n }\n return merged as CreateCommandOptions;\n}\n\nfunction normalizeExtensionCommandPath(command: string): string {\n return command\n .trim()\n .toLowerCase()\n .split(/\\s+/)\n .filter((part) => part.length > 0)\n .join(\" \");\n}\n\nfunction hasTemplatesShowHandler(): boolean {\n const registrations = getActiveExtensionRegistrations();\n if (!registrations) {\n return false;\n }\n return registrations.commands.some((entry) => {\n return entry.action === \"templates-show\" || normalizeExtensionCommandPath(entry.command) === \"templates show\";\n });\n}\n\nfunction readTemplateOptionsFromRuntimeResult(result: unknown, templateName: string): Record<string, string | string[]> {\n if (typeof result !== \"object\" || result === null || !(\"options\" in result)) {\n throw new PmCliError(\n `Templates package returned invalid payload for template \"${templateName}\". Expected an options object.`,\n EXIT_CODE.GENERIC_FAILURE,\n );\n }\n const options = (result as { options?: unknown }).options;\n if (typeof options !== \"object\" || options === null || Array.isArray(options)) {\n throw new PmCliError(\n `Templates package returned invalid options for template \"${templateName}\".`,\n EXIT_CODE.GENERIC_FAILURE,\n );\n }\n const normalized: Record<string, string | string[]> = {};\n for (const [key, value] of Object.entries(options as Record<string, unknown>)) {\n if (typeof value === \"string\") {\n normalized[key] = value;\n continue;\n }\n if (Array.isArray(value) && value.every((entry) => typeof entry === \"string\")) {\n normalized[key] = [...value];\n continue;\n }\n throw new PmCliError(\n `Templates package returned unsupported option value for \"${key}\" in template \"${templateName}\".`,\n EXIT_CODE.GENERIC_FAILURE,\n );\n }\n return normalized;\n}\n\nasync function loadCreateTemplateOptionsFromRuntime(\n templateName: string,\n global: GlobalOptions,\n pmRoot: string,\n): Promise<Record<string, string | string[]>> {\n if (!hasTemplatesShowHandler()) {\n throw new PmCliError(\n `--template requires the templates package. Install it first (for example: pm install templates --project).`,\n EXIT_CODE.USAGE,\n );\n }\n const handlerResult = await runActiveCommandHandler({\n command: \"templates show\",\n args: [templateName],\n options: {},\n global,\n pm_root: pmRoot,\n });\n if (!handlerResult.handled) {\n const warningSuffix = handlerResult.warnings.length > 0 ? ` (${handlerResult.warnings.join(\", \")})` : \"\";\n throw new PmCliError(\n `Unable to resolve template \"${templateName}\" via templates package. Run \"pm templates show ${templateName}\" for details.${warningSuffix}`,\n EXIT_CODE.USAGE,\n );\n }\n return readTemplateOptionsFromRuntimeResult(handlerResult.result, templateName);\n}\n\nfunction ensureInitHasRun(pmRoot: string): Promise<void> {\n return pathExists(getSettingsPath(pmRoot)).then((exists) => {\n if (!exists) {\n throw new PmCliError(`Tracker is not initialized at ${pmRoot}. Run pm init first.`, EXIT_CODE.NOT_FOUND);\n }\n });\n}\n\nexport async function runCreate(options: CreateCommandOptions, global: GlobalOptions): Promise<CreateResult> {\n let resolvedOptions = normalizeLegacyNoneCreateOptions(await resolveCreateStdinInputs(options));\n const pmRoot = resolvePmRoot(process.cwd(), global.path);\n await ensureInitHasRun(pmRoot);\n\n const settings = await readSettings(pmRoot);\n const statusRegistry = resolveRuntimeStatusRegistry(settings.schema);\n const runtimeFieldRegistry = resolveRuntimeFieldRegistry(settings.schema);\n const typeRegistry = resolveItemTypeRegistry(settings, getActiveExtensionRegistrations());\n if (resolvedOptions.template !== undefined) {\n const templateName = resolvedOptions.template.trim();\n if (templateName.length === 0) {\n throw new PmCliError(\"--template must not be empty. Omit --template to disable template usage.\", EXIT_CODE.USAGE);\n }\n const templateOptions = await loadCreateTemplateOptionsFromRuntime(templateName, global, pmRoot);\n resolvedOptions = normalizeLegacyNoneCreateOptions(mergeCreateOptionsWithTemplate(templateOptions, resolvedOptions));\n }\n if (resolvedOptions.type === undefined) {\n // Default-type fallback is suppressed under explicit --create-mode strict, where the strict\n // required-option contract takes precedence and surfaces the missing_required_option envelope.\n const explicitStrictMode = typeof resolvedOptions.createMode === \"string\"\n && resolvedOptions.createMode.trim().toLowerCase() === \"strict\";\n if (!explicitStrictMode) {\n const defaultType = settings.governance.create_default_type?.trim();\n if (defaultType && defaultType.length > 0 && resolveTypeName(defaultType, typeRegistry)) {\n resolvedOptions.type = defaultType;\n } else if (resolveTypeName(\"Task\", typeRegistry)) {\n resolvedOptions.type = \"Task\";\n }\n }\n }\n if (resolvedOptions.type === undefined) {\n throw new PmCliError(\"Missing required option --type <value>\", EXIT_CODE.USAGE);\n }\n let resolvedTypeName = resolveTypeName(resolvedOptions.type, typeRegistry);\n if (!resolvedTypeName) {\n // Never block on a near-miss type: map a known synonym (e.g. Bug -> Issue,\n // Change -> Chore) to its canonical built-in type when that type exists in the\n // active registry, and tell the agent how to make it a distinct custom type.\n const synonymCanonical = resolveTypeSynonym(resolvedOptions.type);\n const synonymResolved = synonymCanonical ? resolveTypeName(synonymCanonical, typeRegistry) : undefined;\n if (synonymResolved) {\n printError(\n `[pm] note: type '${resolvedOptions.type.trim()}' is not defined; using closest match '${synonymResolved}'. Run 'pm schema add-type \"${resolvedOptions.type.trim()}\"' to track it as a distinct type.`,\n );\n resolvedOptions.type = synonymResolved;\n resolvedTypeName = synonymResolved;\n } else {\n throw new PmCliError(\n buildInvalidTypeError(resolvedOptions.type, typeRegistry.types),\n EXIT_CODE.USAGE,\n );\n }\n }\n const typeDefinition = resolveTypeDefinition(resolvedTypeName, typeRegistry);\n if (!typeDefinition) {\n throw new PmCliError(`Invalid type value \"${resolvedOptions.type}\"`, EXIT_CODE.USAGE);\n }\n const type = typeDefinition.name;\n const schedulePreset = resolveScheduleCreatePreset(resolvedOptions.schedulePreset);\n if (schedulePreset !== undefined && !SCHEDULE_CREATE_PRESET_TYPES.has(type)) {\n throw new PmCliError(\n `--schedule-preset ${schedulePreset} is only supported for Reminder, Meeting, or Event types`,\n EXIT_CODE.USAGE,\n );\n }\n const createMode = resolveEffectiveCreateMode(\n resolvedOptions.createMode,\n schedulePreset,\n settings.governance.create_mode_default,\n );\n const unsetTargets = parseCreateUnsetTargets(resolvedOptions.unset, runtimeFieldRegistry);\n const explicitUnsets = new Set<string>(unsetTargets.frontMatterKeys);\n const clearOptionKeys = new Set<string>(unsetTargets.optionKeys);\n\n const clearCollectionDefinitions: ReadonlyArray<{\n enabled: boolean | undefined;\n optionKey: string;\n clearFlag: string;\n valueFlag: string;\n values: string[] | undefined;\n frontMatterKey: string;\n }> = [\n {\n enabled: resolvedOptions.clearDeps,\n optionKey: \"dep\",\n clearFlag: \"--clear-deps\",\n valueFlag: \"--dep\",\n values: resolvedOptions.dep,\n frontMatterKey: \"dependencies\",\n },\n {\n enabled: resolvedOptions.clearComments,\n optionKey: \"comment\",\n clearFlag: \"--clear-comments\",\n valueFlag: \"--comment\",\n values: resolvedOptions.comment,\n frontMatterKey: \"comments\",\n },\n {\n enabled: resolvedOptions.clearNotes,\n optionKey: \"note\",\n clearFlag: \"--clear-notes\",\n valueFlag: \"--note\",\n values: resolvedOptions.note,\n frontMatterKey: \"notes\",\n },\n {\n enabled: resolvedOptions.clearLearnings,\n optionKey: \"learning\",\n clearFlag: \"--clear-learnings\",\n valueFlag: \"--learning\",\n values: resolvedOptions.learning,\n frontMatterKey: \"learnings\",\n },\n {\n enabled: resolvedOptions.clearFiles,\n optionKey: \"file\",\n clearFlag: \"--clear-files\",\n valueFlag: \"--file\",\n values: resolvedOptions.file,\n frontMatterKey: \"files\",\n },\n {\n enabled: resolvedOptions.clearTests,\n optionKey: \"test\",\n clearFlag: \"--clear-tests\",\n valueFlag: \"--test\",\n values: resolvedOptions.test,\n frontMatterKey: \"tests\",\n },\n {\n enabled: resolvedOptions.clearDocs,\n optionKey: \"doc\",\n clearFlag: \"--clear-docs\",\n valueFlag: \"--doc\",\n values: resolvedOptions.doc,\n frontMatterKey: \"docs\",\n },\n {\n enabled: resolvedOptions.clearReminders,\n optionKey: \"reminder\",\n clearFlag: \"--clear-reminders\",\n valueFlag: \"--reminder\",\n values: resolvedOptions.reminder,\n frontMatterKey: \"reminders\",\n },\n {\n enabled: resolvedOptions.clearEvents,\n optionKey: \"event\",\n clearFlag: \"--clear-events\",\n valueFlag: \"--event\",\n values: resolvedOptions.event,\n frontMatterKey: \"events\",\n },\n {\n enabled: resolvedOptions.clearTypeOptions,\n optionKey: \"typeOption\",\n clearFlag: \"--clear-type-options\",\n valueFlag: \"--type-option\",\n values: resolvedOptions.typeOption,\n frontMatterKey: \"type_options\",\n },\n ];\n for (const definition of clearCollectionDefinitions) {\n if (!definition.enabled) {\n continue;\n }\n if (definition.values && definition.values.length > 0) {\n throw new PmCliError(`Cannot combine ${definition.clearFlag} with ${definition.valueFlag}`, EXIT_CODE.USAGE);\n }\n explicitUnsets.add(definition.frontMatterKey);\n clearOptionKeys.add(definition.optionKey);\n }\n\n const scalarOptionPresence: Record<string, boolean> = {\n tags: resolvedOptions.tags !== undefined,\n deadline: resolvedOptions.deadline !== undefined,\n estimatedMinutes: resolvedOptions.estimatedMinutes !== undefined,\n acceptanceCriteria: resolvedOptions.acceptanceCriteria !== undefined,\n definitionOfReady: resolvedOptions.definitionOfReady !== undefined,\n order: resolvedOptions.order !== undefined || resolvedOptions.rank !== undefined,\n goal: resolvedOptions.goal !== undefined,\n objective: resolvedOptions.objective !== undefined,\n value: resolvedOptions.value !== undefined,\n impact: resolvedOptions.impact !== undefined,\n outcome: resolvedOptions.outcome !== undefined,\n whyNow: resolvedOptions.whyNow !== undefined,\n author: resolvedOptions.author !== undefined,\n assignee: resolvedOptions.assignee !== undefined,\n parent: resolvedOptions.parent !== undefined,\n reviewer: resolvedOptions.reviewer !== undefined,\n risk: resolvedOptions.risk !== undefined,\n confidence: resolvedOptions.confidence !== undefined,\n sprint: resolvedOptions.sprint !== undefined,\n release: resolvedOptions.release !== undefined,\n blockedBy: resolvedOptions.blockedBy !== undefined,\n blockedReason: resolvedOptions.blockedReason !== undefined,\n unblockNote: resolvedOptions.unblockNote !== undefined,\n reporter: resolvedOptions.reporter !== undefined,\n severity: resolvedOptions.severity !== undefined,\n environment: resolvedOptions.environment !== undefined,\n reproSteps: resolvedOptions.reproSteps !== undefined,\n resolution: resolvedOptions.resolution !== undefined,\n expectedResult: resolvedOptions.expectedResult !== undefined,\n actualResult: resolvedOptions.actualResult !== undefined,\n affectedVersion: resolvedOptions.affectedVersion !== undefined,\n fixedVersion: resolvedOptions.fixedVersion !== undefined,\n component: resolvedOptions.component !== undefined,\n regression: resolvedOptions.regression !== undefined,\n customerImpact: resolvedOptions.customerImpact !== undefined,\n };\n for (const [optionKey, hasValue] of Object.entries(scalarOptionPresence)) {\n if (!hasValue || !unsetTargets.optionKeys.has(optionKey)) {\n continue;\n }\n const unsetField = CREATE_OPTION_KEY_TO_UNSET_CANONICAL.get(optionKey) ?? optionKey;\n throw new PmCliError(\n `Cannot combine --unset ${unsetField} with ${commandOptionFlagLabel(\"create\", optionKey)}`,\n EXIT_CODE.USAGE,\n );\n }\n\n const assertNoLegacyScalarToken = (value: string | undefined, optionKey: string): void => {\n const unsetField = CREATE_OPTION_KEY_TO_UNSET_CANONICAL.get(optionKey);\n const hint = unsetField ? `Use --unset ${unsetField} to clear this field.` : undefined;\n assertNoLegacyNoneToken(value, commandOptionFlagLabel(\"create\", optionKey), hint);\n };\n assertNoLegacyScalarToken(resolvedOptions.tags, \"tags\");\n assertNoLegacyScalarToken(resolvedOptions.deadline, \"deadline\");\n assertNoLegacyScalarToken(resolvedOptions.estimatedMinutes, \"estimatedMinutes\");\n assertNoLegacyScalarToken(resolvedOptions.acceptanceCriteria, \"acceptanceCriteria\");\n assertNoLegacyScalarToken(resolvedOptions.definitionOfReady, \"definitionOfReady\");\n assertNoLegacyScalarToken(resolvedOptions.order ?? resolvedOptions.rank, \"order\");\n assertNoLegacyScalarToken(resolvedOptions.goal, \"goal\");\n assertNoLegacyScalarToken(resolvedOptions.objective, \"objective\");\n assertNoLegacyScalarToken(resolvedOptions.value, \"value\");\n assertNoLegacyScalarToken(resolvedOptions.impact, \"impact\");\n assertNoLegacyScalarToken(resolvedOptions.outcome, \"outcome\");\n assertNoLegacyScalarToken(resolvedOptions.whyNow, \"whyNow\");\n assertNoLegacyScalarToken(resolvedOptions.author, \"author\");\n assertNoLegacyScalarToken(resolvedOptions.assignee, \"assignee\");\n assertNoLegacyScalarToken(resolvedOptions.parent, \"parent\");\n assertNoLegacyScalarToken(resolvedOptions.reviewer, \"reviewer\");\n assertNoLegacyScalarToken(resolvedOptions.risk, \"risk\");\n assertNoLegacyScalarToken(resolvedOptions.confidence, \"confidence\");\n assertNoLegacyScalarToken(resolvedOptions.sprint, \"sprint\");\n assertNoLegacyScalarToken(resolvedOptions.release, \"release\");\n assertNoLegacyScalarToken(resolvedOptions.blockedBy, \"blockedBy\");\n assertNoLegacyScalarToken(resolvedOptions.blockedReason, \"blockedReason\");\n assertNoLegacyScalarToken(resolvedOptions.unblockNote, \"unblockNote\");\n assertNoLegacyScalarToken(resolvedOptions.reporter, \"reporter\");\n assertNoLegacyScalarToken(resolvedOptions.severity, \"severity\");\n assertNoLegacyScalarToken(resolvedOptions.environment, \"environment\");\n assertNoLegacyScalarToken(resolvedOptions.reproSteps, \"reproSteps\");\n assertNoLegacyScalarToken(resolvedOptions.resolution, \"resolution\");\n assertNoLegacyScalarToken(resolvedOptions.expectedResult, \"expectedResult\");\n assertNoLegacyScalarToken(resolvedOptions.actualResult, \"actualResult\");\n assertNoLegacyScalarToken(resolvedOptions.affectedVersion, \"affectedVersion\");\n assertNoLegacyScalarToken(resolvedOptions.fixedVersion, \"fixedVersion\");\n assertNoLegacyScalarToken(resolvedOptions.component, \"component\");\n assertNoLegacyScalarToken(resolvedOptions.regression, \"regression\");\n assertNoLegacyScalarToken(resolvedOptions.customerImpact, \"customerImpact\");\n\n const missingRequiredCreateFlags = requireCreateOptionByType(typeDefinition, resolvedOptions, createMode, clearOptionKeys);\n const nowValue = nowIso();\n const author = selectAuthor(resolvedOptions.author, settings.author_default);\n\n const dependencies = parseDependencies(resolvedOptions.dep, nowValue, settings.id_prefix);\n const comments = parseLogSeed(\"--comment\", resolvedOptions.comment, nowValue, author);\n const notes = parseLogSeed(\"--note\", resolvedOptions.note, nowValue, author);\n const learnings = parseLogSeed(\"--learning\", resolvedOptions.learning, nowValue, author);\n const files = parseFiles(resolvedOptions.file);\n const tests = parseTests(resolvedOptions.test);\n const docs = parseDocs(resolvedOptions.doc);\n const reminders = parseReminders(resolvedOptions.reminder, nowValue);\n const events = parseEvents(resolvedOptions.event, nowValue);\n const typeOptions = parseTypeOptions(resolvedOptions.typeOption);\n const validatedTypeOptions = validateTypeOptions(type, typeOptions.values, typeRegistry);\n const extensionRegistrations = getActiveExtensionRegistrations();\n const extensionFieldNames = collectRegisteredItemFieldNames(extensionRegistrations);\n const registeredItemFieldValues = parseRegisteredItemFieldAssignments(resolvedOptions.field, extensionRegistrations);\n for (const fieldKey of Object.keys(registeredItemFieldValues)) {\n if (!unsetTargets.frontMatterKeys.has(fieldKey)) {\n continue;\n }\n throw new PmCliError(`Cannot combine --unset ${fieldKey.replaceAll(\"_\", \"-\")} with --field ${fieldKey}=...`, EXIT_CODE.USAGE);\n }\n const runtimeCreateFieldValues = collectRuntimeCreateFieldValues(\n resolvedOptions as Record<string, unknown>,\n runtimeFieldRegistry,\n type,\n );\n for (const fieldKey of Object.keys(runtimeCreateFieldValues.values ?? {})) {\n if (!unsetTargets.frontMatterKeys.has(fieldKey)) {\n continue;\n }\n throw new PmCliError(`Cannot combine --unset ${fieldKey.replaceAll(\"_\", \"-\")} with its value flag`, EXIT_CODE.USAGE);\n }\n const missingRequiredTypeOptionKeys = collectMissingRequiredTypeOptionKeys(validatedTypeOptions.errors, type);\n const missingRequiredTypeOptionFlags = missingRequiredTypeOptionKeys.map((key) => `--type-option ${key}=<value>`);\n const combinedMissingFlags = [\n ...new Set([\n ...missingRequiredCreateFlags,\n ...missingRequiredTypeOptionFlags,\n ...runtimeCreateFieldValues.missing_required_flags,\n ]),\n ].sort((left, right) => left.localeCompare(right));\n if (combinedMissingFlags.length > 0) {\n const nextValidExample = buildTypeSpecificCreateExample(\n typeDefinition,\n missingRequiredCreateFlags,\n missingRequiredTypeOptionKeys,\n statusRegistry.open_status,\n );\n const nextSteps = [`Run \"pm create --help --type ${type}\" for type-aware required option guidance.`];\n if (combinedMissingFlags.includes(\"--title\")) {\n nextSteps.push('Title can also be passed as the first positional argument (example: pm create \"Your title\" --type ' + type + ').');\n }\n if (createMode === \"strict\") {\n nextSteps.push('For staged onboarding, retry with \"--create-mode progressive\".');\n if (SCHEDULE_CREATE_PRESET_TYPES.has(type)) {\n nextSteps.push('For minimal scheduling inputs, try \"--schedule-preset lightweight\".');\n }\n }\n const errorMessage =\n combinedMissingFlags.length === 1\n ? `Missing required option ${combinedMissingFlags[0]} for type \"${type}\"`\n : `Missing required options ${combinedMissingFlags.join(\", \")} for type \"${type}\"`;\n throw new PmCliError(errorMessage, EXIT_CODE.USAGE, {\n code: \"missing_required_option\",\n required: `Provide all required create options and type options for type \"${type}\" in one invocation.`,\n examples: [nextValidExample],\n nextSteps,\n });\n }\n const nonMissingTypeOptionErrors = filterNonMissingTypeOptionErrors(validatedTypeOptions.errors, type);\n if (nonMissingTypeOptionErrors.length > 0) {\n const nextValidExample = buildTypeSpecificCreateExample(typeDefinition, [], [], statusRegistry.open_status);\n throw new PmCliError(nonMissingTypeOptionErrors.join(\"; \"), EXIT_CODE.USAGE, {\n code: \"invalid_argument_value\",\n required: `Provide valid --type-option key/value pairs for type \"${type}\".`,\n examples: [nextValidExample],\n nextSteps: [`Run \"pm create --help --type ${type}\" to review allowed type-option keys and values.`],\n });\n }\n\n const id = await generateItemId(pmRoot, settings.id_prefix);\n let status =\n resolvedOptions.status !== undefined\n ? parseStatusValue(resolvedOptions.status, statusRegistry)\n : resolveCreateDefaultStatus(typeDefinition, statusRegistry);\n const priority = resolvedOptions.priority !== undefined ? ensurePriority(resolvedOptions.priority) : 2;\n // `--unset tags` clears the field; combining it with `--add-tags` is the same\n // contradiction that `--unset tags --tags ...` already rejects, so reject it\n // here rather than silently letting the additions win over the clear.\n if (\n unsetTargets.frontMatterKeys.has(\"tags\") &&\n Array.isArray(resolvedOptions.addTags) &&\n resolvedOptions.addTags.length > 0\n ) {\n throw new PmCliError(\"Cannot combine --unset tags with --add-tags\", EXIT_CODE.USAGE);\n }\n const baseTags = unsetTargets.frontMatterKeys.has(\"tags\")\n ? []\n : resolvedOptions.tags !== undefined\n ? parseTags(resolvedOptions.tags)\n : [];\n const tags = mergeAdditiveTags(baseTags, resolvedOptions.addTags);\n\n const deadline = unsetTargets.frontMatterKeys.has(\"deadline\")\n ? undefined\n : resolvedOptions.deadline === undefined\n ? undefined\n : resolveIsoOrRelative(resolvedOptions.deadline, new Date(nowValue), \"deadline\");\n const estimatedMinutes = unsetTargets.frontMatterKeys.has(\"estimated_minutes\")\n ? undefined\n : resolvedOptions.estimatedMinutes === undefined\n ? undefined\n : parseOptionalNumber(resolvedOptions.estimatedMinutes, \"estimated-minutes\");\n const acceptanceCriteria = unsetTargets.frontMatterKeys.has(\"acceptance_criteria\")\n ? undefined\n : resolvedOptions.acceptanceCriteria === undefined\n ? undefined\n : resolvedOptions.acceptanceCriteria;\n const definitionOfReady =\n unsetTargets.frontMatterKeys.has(\"definition_of_ready\") || resolvedOptions.definitionOfReady === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.definitionOfReady);\n if (\n resolvedOptions.order !== undefined &&\n resolvedOptions.rank !== undefined &&\n resolvedOptions.order !== resolvedOptions.rank\n ) {\n throw new PmCliError(\"--order and --rank must match when both are provided\", EXIT_CODE.USAGE);\n }\n const orderRaw = resolvedOptions.order ?? resolvedOptions.rank;\n const order =\n unsetTargets.frontMatterKeys.has(\"order\") || orderRaw === undefined ? undefined : parseOptionalNumber(orderRaw, \"order\");\n if (order !== undefined && !Number.isInteger(order)) {\n throw new PmCliError(\"Order must be an integer\", EXIT_CODE.USAGE);\n }\n const goal =\n unsetTargets.frontMatterKeys.has(\"goal\") || resolvedOptions.goal === undefined ? undefined : parseOptionalString(resolvedOptions.goal);\n const objective =\n unsetTargets.frontMatterKeys.has(\"objective\") || resolvedOptions.objective === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.objective);\n const value =\n unsetTargets.frontMatterKeys.has(\"value\") || resolvedOptions.value === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.value);\n const impact =\n unsetTargets.frontMatterKeys.has(\"impact\") || resolvedOptions.impact === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.impact);\n const outcome =\n unsetTargets.frontMatterKeys.has(\"outcome\") || resolvedOptions.outcome === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.outcome);\n const whyNow =\n unsetTargets.frontMatterKeys.has(\"why_now\") || resolvedOptions.whyNow === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.whyNow);\n const assignee =\n unsetTargets.frontMatterKeys.has(\"assignee\") || resolvedOptions.assignee === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.assignee);\n const authorValue = unsetTargets.frontMatterKeys.has(\"author\")\n ? undefined\n : parseOptionalString(resolvedOptions.author) ?? author;\n let parent =\n unsetTargets.frontMatterKeys.has(\"parent\") || resolvedOptions.parent === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.parent);\n const reviewer =\n unsetTargets.frontMatterKeys.has(\"reviewer\") || resolvedOptions.reviewer === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.reviewer);\n const riskRaw =\n unsetTargets.frontMatterKeys.has(\"risk\") || resolvedOptions.risk === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.risk);\n const risk = riskRaw !== undefined ? ensureEnumValue(normalizeRiskInput(riskRaw), RISK_VALUES, \"risk\") : undefined;\n const confidenceRaw =\n unsetTargets.frontMatterKeys.has(\"confidence\") || resolvedOptions.confidence === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.confidence);\n const confidence = confidenceRaw !== undefined ? parseConfidenceInput(confidenceRaw) : undefined;\n const parentReferencePolicy =\n resolvedOptions.allowMissingParent === true && settings.validation.parent_reference === \"strict_error\"\n ? \"warn\"\n : settings.validation.parent_reference;\n const sprintReleasePolicy = settings.validation.sprint_release_format;\n const validationWarnings: string[] = [];\n // Event-type items with no attached schedule never surface on the calendar; warn (never block).\n if (type.toLowerCase() === \"event\" && (events.values === undefined || events.values.length === 0)) {\n validationWarnings.push(`event_without_schedule:${id}:no_time_set`);\n }\n // Calendar-relevant types (Milestone, Meeting, Reminder, Event) with NO deadline AND no\n // reminders AND no events are invisible on `pm calendar`. Warn (never block) so the agent\n // can attach a schedule via `pm update`.\n const calendarRelevantTypes = new Set([\"milestone\", \"meeting\", \"reminder\", \"event\"]);\n const hasDeadline = deadline !== undefined;\n const hasReminders = reminders.values !== undefined && reminders.values.length > 0;\n const hasEvents = events.values !== undefined && events.values.length > 0;\n if (calendarRelevantTypes.has(type.toLowerCase()) && !hasDeadline && !hasReminders && !hasEvents) {\n validationWarnings.push(`calendar_item_without_schedule:${id}:no_deadline_or_reminder_or_event`);\n }\n if (parent !== undefined) {\n parent = normalizeParentReferenceValue(parent);\n const parentLocated = await locateItem(pmRoot, parent, settings.id_prefix, settings.item_format, typeRegistry.type_to_folder);\n if (!parentLocated) {\n const normalizedParentId = normalizeItemId(parent, settings.id_prefix);\n validationWarnings.push(...validateMissingParentReference(normalizedParentId, parentReferencePolicy).warnings);\n }\n }\n let sprint =\n unsetTargets.frontMatterKeys.has(\"sprint\") || resolvedOptions.sprint === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.sprint);\n if (sprint !== undefined) {\n const sprintValidation = validateSprintOrReleaseValue(\"sprint\", sprint, sprintReleasePolicy);\n sprint = sprintValidation.value;\n validationWarnings.push(...sprintValidation.warnings);\n }\n let release =\n unsetTargets.frontMatterKeys.has(\"release\") || resolvedOptions.release === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.release);\n if (release !== undefined) {\n const releaseValidation = validateSprintOrReleaseValue(\"release\", release, sprintReleasePolicy);\n release = releaseValidation.value;\n validationWarnings.push(...releaseValidation.warnings);\n }\n const blockedBy =\n unsetTargets.frontMatterKeys.has(\"blocked_by\") || resolvedOptions.blockedBy === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.blockedBy);\n let dependencyValues = dependencies.values;\n if (blockedBy !== undefined) {\n const normalizedBlockedBy = normalizeItemId(blockedBy, settings.id_prefix);\n const blockedByLocated = await locateItem(pmRoot, normalizedBlockedBy, settings.id_prefix, settings.item_format, typeRegistry.type_to_folder);\n if (blockedByLocated) {\n const hasBlockedByDependency = (dependencyValues ?? []).some(\n (dependency) => dependency.id === blockedByLocated.id && dependency.kind === \"blocked_by\",\n );\n if (!hasBlockedByDependency) {\n dependencyValues = [\n ...(dependencyValues ?? []),\n {\n id: blockedByLocated.id,\n kind: \"blocked_by\",\n created_at: nowValue,\n author,\n },\n ];\n }\n if (resolvedOptions.status === undefined) {\n status = statusRegistry.blocked_statuses.has(\"blocked\")\n ? \"blocked\"\n : [...statusRegistry.blocked_statuses].sort((left, right) => left.localeCompare(right))[0] ?? statusRegistry.open_status;\n }\n }\n }\n const blockedReason =\n unsetTargets.frontMatterKeys.has(\"blocked_reason\") || resolvedOptions.blockedReason === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.blockedReason);\n const unblockNote =\n unsetTargets.frontMatterKeys.has(\"unblock_note\") || resolvedOptions.unblockNote === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.unblockNote);\n const reporter =\n unsetTargets.frontMatterKeys.has(\"reporter\") || resolvedOptions.reporter === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.reporter);\n const severityRaw =\n unsetTargets.frontMatterKeys.has(\"severity\") || resolvedOptions.severity === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.severity);\n const severity =\n severityRaw !== undefined ? ensureEnumValue(normalizeSeverityInput(severityRaw), ISSUE_SEVERITY_VALUES, \"severity\") : undefined;\n const environment =\n unsetTargets.frontMatterKeys.has(\"environment\") || resolvedOptions.environment === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.environment);\n const reproSteps =\n unsetTargets.frontMatterKeys.has(\"repro_steps\") || resolvedOptions.reproSteps === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.reproSteps);\n const resolution =\n unsetTargets.frontMatterKeys.has(\"resolution\") || resolvedOptions.resolution === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.resolution);\n const expectedResult =\n unsetTargets.frontMatterKeys.has(\"expected_result\") || resolvedOptions.expectedResult === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.expectedResult);\n const actualResult =\n unsetTargets.frontMatterKeys.has(\"actual_result\") || resolvedOptions.actualResult === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.actualResult);\n const affectedVersion =\n unsetTargets.frontMatterKeys.has(\"affected_version\") || resolvedOptions.affectedVersion === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.affectedVersion);\n const fixedVersion =\n unsetTargets.frontMatterKeys.has(\"fixed_version\") || resolvedOptions.fixedVersion === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.fixedVersion);\n const component =\n unsetTargets.frontMatterKeys.has(\"component\") || resolvedOptions.component === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.component);\n const regressionRaw =\n unsetTargets.frontMatterKeys.has(\"regression\") || resolvedOptions.regression === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.regression);\n const regression = regressionRaw !== undefined ? parseRegressionInput(regressionRaw) : undefined;\n const customerImpact =\n unsetTargets.frontMatterKeys.has(\"customer_impact\") || resolvedOptions.customerImpact === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.customerImpact);\n const title = requireStringOption(resolvedOptions.title, \"--title\");\n const description = resolvedOptions.description ?? \"\";\n const body = resolvedOptions.body ?? \"\";\n\n const frontMatter: ItemMetadata = normalizeFrontMatter({\n id,\n title,\n description,\n type,\n type_options: validatedTypeOptions.normalized,\n status,\n priority,\n tags,\n created_at: nowValue,\n updated_at: nowValue,\n deadline,\n assignee,\n author: authorValue,\n estimated_minutes: estimatedMinutes,\n acceptance_criteria: acceptanceCriteria,\n definition_of_ready: definitionOfReady,\n order,\n goal,\n objective,\n value,\n impact,\n outcome,\n why_now: whyNow,\n parent,\n reviewer,\n risk,\n confidence,\n sprint,\n release,\n blocked_by: blockedBy,\n blocked_reason: blockedReason,\n unblock_note: unblockNote,\n reporter,\n severity,\n environment,\n repro_steps: reproSteps,\n resolution,\n expected_result: expectedResult,\n actual_result: actualResult,\n affected_version: affectedVersion,\n fixed_version: fixedVersion,\n component,\n regression,\n customer_impact: customerImpact,\n dependencies: dependencyValues,\n comments: comments.values as Comment[] | undefined,\n notes: notes.values as LogNote[] | undefined,\n learnings: learnings.values as LogNote[] | undefined,\n files: files.values,\n tests: tests.values,\n docs: docs.values,\n reminders: reminders.values,\n events: events.values,\n ...registeredItemFieldValues,\n ...(runtimeCreateFieldValues.values ?? {}),\n });\n try {\n applyRegisteredItemFieldDefaultsAndValidation(\n frontMatter as unknown as Record<string, unknown>,\n extensionRegistrations,\n );\n } catch (error: unknown) {\n throw new PmCliError(error instanceof Error ? error.message : \"Invalid extension item field values\", EXIT_CODE.USAGE);\n }\n\n const afterDocument: ItemDocument = canonicalDocument(\n {\n metadata: frontMatter,\n body,\n },\n { schema: settings.schema, extensionFieldNames },\n );\n const beforeDocument: ItemDocument = {\n metadata: {} as ItemMetadata,\n body: \"\",\n };\n\n const itemPath = getItemPath(pmRoot, type, id, settings.item_format, typeRegistry.type_to_folder);\n const historyPath = getHistoryPath(pmRoot, id);\n const lockRelease = await acquireLock(\n pmRoot,\n id,\n settings.locks.ttl_seconds,\n author,\n false,\n settings.governance.force_required_for_stale_lock,\n );\n const explicitUnsetKeys = [...explicitUnsets].sort((left, right) => left.localeCompare(right));\n const historyMessage = buildHistoryMessage(resolvedOptions.message, explicitUnsetKeys);\n const changedFields = buildChangedFields(frontMatter, body, explicitUnsetKeys, [\n ...Object.keys(registeredItemFieldValues),\n ...Object.keys(runtimeCreateFieldValues.values ?? {}),\n ]);\n let hookWarnings: string[] = [];\n\n try {\n await writeFileAtomic(\n itemPath,\n serializeItemDocument(afterDocument, {\n format: settings.item_format,\n schema: settings.schema,\n extensionFieldNames,\n }),\n );\n try {\n const entry = createHistoryEntry({\n nowIso: nowValue,\n author,\n op: \"create\",\n before: beforeDocument,\n after: afterDocument,\n message: historyMessage,\n });\n await appendHistoryEntry(historyPath, entry);\n } catch (error: unknown) {\n await removeFileIfExists(itemPath);\n throw error;\n }\n hookWarnings = [\n ...(await runActiveOnWriteHooks({\n path: itemPath,\n scope: \"project\",\n op: \"create\",\n item_id: afterDocument.metadata.id,\n item_type: afterDocument.metadata.type,\n before: beforeDocument,\n after: afterDocument,\n changed_fields: changedFields,\n })),\n ...(await runActiveOnWriteHooks({\n path: historyPath,\n scope: \"project\",\n op: \"create:history\",\n item_id: afterDocument.metadata.id,\n item_type: afterDocument.metadata.type,\n before: beforeDocument,\n after: afterDocument,\n changed_fields: changedFields,\n })),\n ];\n recordAfterCommandAffectedItem({\n id: afterDocument.metadata.id,\n op: \"create\",\n item_type: afterDocument.metadata.type,\n status: afterDocument.metadata.status,\n current: projectAfterCommandItemSnapshot(afterDocument.metadata, changedFields),\n changed_fields: changedFields,\n });\n } finally {\n await lockRelease();\n }\n\n const outputItem = structuredClone(frontMatter);\n\n // After the create has committed (so the ID is real and shows up in the suggestion),\n // emit a single non-blocking stderr hint when the new item would be invisible on `pm\n // calendar`. The structured `calendar_item_without_schedule:*` warning above is what\n // automation reads; this stderr line is the human/agent-facing version with a\n // copy-pasteable `pm update` recipe.\n if (calendarRelevantTypes.has(type.toLowerCase()) && !hasDeadline && !hasReminders && !hasEvents) {\n printError(\n `[pm] warning: ${type} '${id}' has no deadline/reminder/event — it will not appear on the calendar. Add one via 'pm update ${id} --deadline <ISO>' or 'pm update ${id} --event \"start=<ISO>,end=<ISO>\"'.`,\n );\n }\n\n return {\n item: outputItem,\n changed_fields: changedFields,\n warnings: [...validationWarnings, ...hookWarnings],\n };\n}\n"],"names":[],"mappings":"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","debugId":"206be509-c3f1-5b38-936f-ae7c92c429fa"}