@unbrained/pm-cli 2026.6.24 → 2026.6.30

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 (712) hide show
  1. package/CHANGELOG.md +93 -1
  2. package/CONTRIBUTING.md +30 -0
  3. package/README.md +16 -3
  4. package/dist/cli/commander-usage.js +3 -3
  5. package/dist/cli/commander-usage.js.map +1 -1
  6. package/dist/cli/commands/aggregate.js +8 -7
  7. package/dist/cli/commands/aggregate.js.map +1 -1
  8. package/dist/cli/commands/close.d.ts +2 -4
  9. package/dist/cli/commands/close.js +5 -17
  10. package/dist/cli/commands/close.js.map +1 -1
  11. package/dist/cli/commands/completion.js +158 -9
  12. package/dist/cli/commands/completion.js.map +1 -1
  13. package/dist/cli/commands/config.d.ts +1 -1
  14. package/dist/cli/commands/config.js +2 -2
  15. package/dist/cli/commands/config.js.map +1 -1
  16. package/dist/cli/commands/context.d.ts +31 -4
  17. package/dist/cli/commands/context.js +33 -10
  18. package/dist/cli/commands/context.js.map +1 -1
  19. package/dist/cli/commands/contracts.js +48 -8
  20. package/dist/cli/commands/contracts.js.map +1 -1
  21. package/dist/cli/commands/create.d.ts +1 -6
  22. package/dist/cli/commands/create.js +10 -155
  23. package/dist/cli/commands/create.js.map +1 -1
  24. package/dist/cli/commands/extension/describe.d.ts +15 -0
  25. package/dist/cli/commands/extension/describe.js +48 -2
  26. package/dist/cli/commands/extension/describe.js.map +1 -1
  27. package/dist/cli/commands/extension/doctor.js +5 -2
  28. package/dist/cli/commands/extension/doctor.js.map +1 -1
  29. package/dist/cli/commands/extension/install-sources.js +37 -7
  30. package/dist/cli/commands/extension/install-sources.js.map +1 -1
  31. package/dist/cli/commands/extension/scaffold.d.ts +31 -8
  32. package/dist/cli/commands/extension/scaffold.js +1891 -205
  33. package/dist/cli/commands/extension/scaffold.js.map +1 -1
  34. package/dist/cli/commands/extension.d.ts +22 -2
  35. package/dist/cli/commands/extension.js +186 -17
  36. package/dist/cli/commands/extension.js.map +1 -1
  37. package/dist/cli/commands/index.d.ts +3 -1
  38. package/dist/cli/commands/index.js +5 -3
  39. package/dist/cli/commands/index.js.map +1 -1
  40. package/dist/cli/commands/item-filter-options.d.ts +63 -0
  41. package/dist/cli/commands/item-filter-options.js +10 -0
  42. package/dist/cli/commands/item-filter-options.js.map +1 -0
  43. package/dist/cli/commands/legacy-none-tokens.d.ts +14 -0
  44. package/dist/cli/commands/legacy-none-tokens.js +31 -2
  45. package/dist/cli/commands/legacy-none-tokens.js.map +1 -1
  46. package/dist/cli/commands/linked-artifacts.d.ts +7 -0
  47. package/dist/cli/commands/linked-artifacts.js +12 -2
  48. package/dist/cli/commands/linked-artifacts.js.map +1 -1
  49. package/dist/cli/commands/list.d.ts +16 -39
  50. package/dist/cli/commands/list.js +127 -118
  51. package/dist/cli/commands/list.js.map +1 -1
  52. package/dist/cli/commands/next.d.ts +98 -0
  53. package/dist/cli/commands/next.js +304 -0
  54. package/dist/cli/commands/next.js.map +1 -0
  55. package/dist/cli/commands/profile.d.ts +208 -0
  56. package/dist/cli/commands/profile.js +418 -0
  57. package/dist/cli/commands/profile.js.map +1 -0
  58. package/dist/cli/commands/repeatable-metadata-parsers.js +12 -13
  59. package/dist/cli/commands/repeatable-metadata-parsers.js.map +1 -1
  60. package/dist/cli/commands/schema.d.ts +7 -0
  61. package/dist/cli/commands/schema.js +9 -3
  62. package/dist/cli/commands/schema.js.map +1 -1
  63. package/dist/cli/commands/search.d.ts +2 -39
  64. package/dist/cli/commands/search.js +104 -106
  65. package/dist/cli/commands/search.js.map +1 -1
  66. package/dist/cli/commands/shared-unset-fields.d.ts +30 -0
  67. package/dist/cli/commands/shared-unset-fields.js +161 -0
  68. package/dist/cli/commands/shared-unset-fields.js.map +1 -0
  69. package/dist/cli/commands/stats.js +15 -3
  70. package/dist/cli/commands/stats.js.map +1 -1
  71. package/dist/cli/commands/test.js +9 -5
  72. package/dist/cli/commands/test.js.map +1 -1
  73. package/dist/cli/commands/update.d.ts +1 -6
  74. package/dist/cli/commands/update.js +12 -157
  75. package/dist/cli/commands/update.js.map +1 -1
  76. package/dist/cli/commands/validate.js +20 -5
  77. package/dist/cli/commands/validate.js.map +1 -1
  78. package/dist/cli/help-content.js +26 -2
  79. package/dist/cli/help-content.js.map +1 -1
  80. package/dist/cli/help-json-payload.js +3 -3
  81. package/dist/cli/help-json-payload.js.map +1 -1
  82. package/dist/cli/main.js +27 -12
  83. package/dist/cli/main.js.map +1 -1
  84. package/dist/cli/register-list-query.js +42 -3
  85. package/dist/cli/register-list-query.js.map +1 -1
  86. package/dist/cli/register-mutation.js +86 -2
  87. package/dist/cli/register-mutation.js.map +1 -1
  88. package/dist/cli/register-setup.js +67 -6
  89. package/dist/cli/register-setup.js.map +1 -1
  90. package/dist/cli/registration-helpers.d.ts +9 -1
  91. package/dist/cli/registration-helpers.js +34 -3
  92. package/dist/cli/registration-helpers.js.map +1 -1
  93. package/dist/cli-bundle/chunks/activity-EJBMXUBH.js +16 -0
  94. package/dist/cli-bundle/chunks/{activity-N7RVTLBQ.js → activity-MVSEND6D.js} +9 -11
  95. package/dist/cli-bundle/chunks/{aggregate-63NWNIBR.js → aggregate-MOC4TR2G.js} +16 -17
  96. package/dist/cli-bundle/chunks/aggregate-MOC4TR2G.js.map +1 -0
  97. package/dist/cli-bundle/chunks/{aggregate-YHCYX2EV.js → aggregate-XJHLZQ5X.js} +15 -16
  98. package/dist/cli-bundle/chunks/aggregate-XJHLZQ5X.js.map +7 -0
  99. package/dist/cli-bundle/chunks/{append-PUKREFV5.js → append-KDHT4GHI.js} +10 -12
  100. package/dist/cli-bundle/chunks/{append-PUKREFV5.js.map → append-KDHT4GHI.js.map} +1 -1
  101. package/dist/cli-bundle/chunks/{append-VLQQDHMJ.js → append-LEDBAM3K.js} +8 -10
  102. package/dist/cli-bundle/chunks/{append-VLQQDHMJ.js.map → append-LEDBAM3K.js.map} +1 -1
  103. package/dist/cli-bundle/chunks/{chunk-F32L4HR6.js → chunk-3JWQCLR5.js} +3 -3
  104. package/dist/cli-bundle/chunks/{chunk-YV2OSAMS.js → chunk-4TXTVZL3.js} +2 -2
  105. package/dist/cli-bundle/chunks/{chunk-AYPQUFCX.js → chunk-4YIMPANT.js} +3 -3
  106. package/dist/cli-bundle/chunks/{chunk-ALKFCIIB.js → chunk-53ARXF2O.js} +9 -11
  107. package/dist/cli-bundle/chunks/{chunk-ALKFCIIB.js.map → chunk-53ARXF2O.js.map} +1 -1
  108. package/dist/cli-bundle/chunks/chunk-5ABGFWR4.js +116 -0
  109. package/dist/cli-bundle/chunks/chunk-5ABGFWR4.js.map +1 -0
  110. package/dist/cli-bundle/chunks/{chunk-OF7V47P3.js → chunk-5IRVSKPS.js} +2990 -2890
  111. package/dist/cli-bundle/chunks/chunk-5IRVSKPS.js.map +1 -0
  112. package/dist/cli-bundle/chunks/{chunk-XXKV4UWE.js → chunk-5T6WPLRO.js} +233 -190
  113. package/dist/cli-bundle/chunks/chunk-5T6WPLRO.js.map +7 -0
  114. package/dist/cli-bundle/chunks/{chunk-SMXSDY7J.js → chunk-6T5ZIWBS.js} +3011 -2888
  115. package/dist/cli-bundle/chunks/chunk-6T5ZIWBS.js.map +7 -0
  116. package/dist/cli-bundle/chunks/{chunk-RAWA3Y7O.js → chunk-6YRAMXRS.js} +111 -114
  117. package/dist/cli-bundle/chunks/chunk-6YRAMXRS.js.map +1 -0
  118. package/dist/cli-bundle/chunks/{chunk-EOGBMLCE.js → chunk-73PTKMAE.js} +3 -3
  119. package/dist/cli-bundle/chunks/{chunk-GQYJEEFX.js → chunk-74PUWBGN.js} +53 -54
  120. package/dist/cli-bundle/chunks/chunk-74PUWBGN.js.map +1 -0
  121. package/dist/cli-bundle/chunks/{chunk-JV27C7OZ.js → chunk-7L6TXOOC.js} +4 -6
  122. package/dist/cli-bundle/chunks/{chunk-JV27C7OZ.js.map → chunk-7L6TXOOC.js.map} +1 -1
  123. package/dist/cli-bundle/chunks/chunk-7M2HAZEB.js +17 -0
  124. package/dist/cli-bundle/chunks/chunk-7M2HAZEB.js.map +7 -0
  125. package/dist/cli-bundle/chunks/{chunk-2WCYE3IF.js → chunk-7RIJGN4R.js} +2 -2
  126. package/dist/cli-bundle/chunks/{chunk-JKL6HRMV.js → chunk-7WDETKGP.js} +191 -117
  127. package/dist/cli-bundle/chunks/chunk-7WDETKGP.js.map +7 -0
  128. package/dist/cli-bundle/chunks/{chunk-HBAEFWX3.js → chunk-A3UNLXNJ.js} +40 -260
  129. package/dist/cli-bundle/chunks/chunk-A3UNLXNJ.js.map +7 -0
  130. package/dist/cli-bundle/chunks/{chunk-6EBNFQOR.js → chunk-AWN4PPH5.js} +10 -14
  131. package/dist/cli-bundle/chunks/{chunk-6EBNFQOR.js.map → chunk-AWN4PPH5.js.map} +1 -1
  132. package/dist/cli-bundle/chunks/{chunk-CZIFFMZI.js → chunk-BN3CWK6G.js} +2 -2
  133. package/dist/cli-bundle/chunks/{chunk-SUREE24M.js → chunk-BOWQWXLI.js} +12 -24
  134. package/dist/cli-bundle/chunks/chunk-BOWQWXLI.js.map +1 -0
  135. package/dist/cli-bundle/chunks/{chunk-J3NMWFIN.js → chunk-C2KCIZKZ.js} +2 -2
  136. package/dist/cli-bundle/chunks/{chunk-TIM4OD74.js → chunk-CHRNYKNI.js} +2 -2
  137. package/dist/cli-bundle/chunks/{chunk-VSAABFGQ.js → chunk-CY5IJMUM.js} +1136 -419
  138. package/dist/cli-bundle/chunks/chunk-CY5IJMUM.js.map +1 -0
  139. package/dist/cli-bundle/chunks/chunk-CZVISY5A.js +87 -0
  140. package/dist/cli-bundle/chunks/chunk-CZVISY5A.js.map +7 -0
  141. package/dist/cli-bundle/chunks/{chunk-UACWNBL2.js → chunk-D5LYZVGB.js} +7 -9
  142. package/dist/cli-bundle/chunks/{chunk-UACWNBL2.js.map → chunk-D5LYZVGB.js.map} +1 -1
  143. package/dist/cli-bundle/chunks/{chunk-KIEAK7YE.js → chunk-D6USKAMA.js} +2 -2
  144. package/dist/cli-bundle/chunks/{context-5LB7UGKE.js → chunk-DJDXAU74.js} +19 -21
  145. package/dist/cli-bundle/chunks/chunk-DJDXAU74.js.map +7 -0
  146. package/dist/cli-bundle/chunks/{chunk-3BKH2CL3.js → chunk-DLDCPF5X.js} +3 -3
  147. package/dist/cli-bundle/chunks/{chunk-J7I4C5ZB.js → chunk-DORJSBGJ.js} +35 -9
  148. package/dist/cli-bundle/chunks/chunk-DORJSBGJ.js.map +7 -0
  149. package/dist/cli-bundle/chunks/{chunk-DTABLLVE.js → chunk-DRPF274X.js} +5 -7
  150. package/dist/cli-bundle/chunks/{chunk-DTABLLVE.js.map → chunk-DRPF274X.js.map} +2 -2
  151. package/dist/cli-bundle/chunks/{chunk-6EL7SW5C.js → chunk-DU66JUGT.js} +16 -14
  152. package/dist/cli-bundle/chunks/chunk-DU66JUGT.js.map +7 -0
  153. package/dist/cli-bundle/chunks/{chunk-CG3KP6I5.js → chunk-E2Q2ULMR.js} +4 -4
  154. package/dist/cli-bundle/chunks/{chunk-A66VYUOV.js → chunk-EVWYAG46.js} +9 -11
  155. package/dist/cli-bundle/chunks/{chunk-A66VYUOV.js.map → chunk-EVWYAG46.js.map} +1 -1
  156. package/dist/cli-bundle/chunks/{chunk-PEL2NLQE.js → chunk-F6VH3LFC.js} +2 -2
  157. package/dist/cli-bundle/chunks/{chunk-AEACLRVH.js → chunk-F7G53BOA.js} +18 -11
  158. package/dist/cli-bundle/chunks/chunk-F7G53BOA.js.map +7 -0
  159. package/dist/cli-bundle/chunks/{chunk-ABYCA5VX.js → chunk-FBZ5XAAF.js} +9 -11
  160. package/dist/cli-bundle/chunks/{chunk-ABYCA5VX.js.map → chunk-FBZ5XAAF.js.map} +1 -1
  161. package/dist/cli-bundle/chunks/{chunk-5BBEWX6C.js → chunk-FDEVKXC4.js} +2 -2
  162. package/dist/cli-bundle/chunks/{chunk-4XDGYFHL.js → chunk-GF7EAR22.js} +10 -14
  163. package/dist/cli-bundle/chunks/{chunk-4XDGYFHL.js.map → chunk-GF7EAR22.js.map} +1 -1
  164. package/dist/cli-bundle/chunks/{context-55VEOYI3.js → chunk-HIBK6H4S.js} +20 -22
  165. package/dist/cli-bundle/chunks/chunk-HIBK6H4S.js.map +1 -0
  166. package/dist/cli-bundle/chunks/{chunk-QOUOMPHO.js → chunk-HUYYMTGW.js} +2 -2
  167. package/dist/cli-bundle/chunks/chunk-IBMFIKVS.js +14 -0
  168. package/dist/cli-bundle/chunks/chunk-IBMFIKVS.js.map +1 -0
  169. package/dist/cli-bundle/chunks/{chunk-LU36E6GU.js → chunk-IBU2LLWM.js} +8 -12
  170. package/dist/cli-bundle/chunks/{chunk-LU36E6GU.js.map → chunk-IBU2LLWM.js.map} +1 -1
  171. package/dist/cli-bundle/chunks/{chunk-MEXZ5XUM.js → chunk-IDYCAK35.js} +53 -54
  172. package/dist/cli-bundle/chunks/chunk-IDYCAK35.js.map +7 -0
  173. package/dist/cli-bundle/chunks/{chunk-VFJYVXHL.js → chunk-IF4ERU6A.js} +7 -9
  174. package/dist/cli-bundle/chunks/{chunk-VFJYVXHL.js.map → chunk-IF4ERU6A.js.map} +1 -1
  175. package/dist/cli-bundle/chunks/{chunk-KKX4Z2SE.js → chunk-IHXXUIXS.js} +4 -4
  176. package/dist/cli-bundle/chunks/chunk-IZQOJR2B.js +2459 -0
  177. package/dist/cli-bundle/chunks/chunk-IZQOJR2B.js.map +7 -0
  178. package/dist/cli-bundle/chunks/{chunk-F4BNR2IN.js → chunk-JIP67N2K.js} +3 -3
  179. package/dist/cli-bundle/chunks/chunk-JJ4SG243.js +119 -0
  180. package/dist/cli-bundle/chunks/chunk-JJ4SG243.js.map +7 -0
  181. package/dist/cli-bundle/chunks/{chunk-EWRSXOIZ.js → chunk-JTRKME24.js} +11 -13
  182. package/dist/cli-bundle/chunks/{chunk-EWRSXOIZ.js.map → chunk-JTRKME24.js.map} +1 -1
  183. package/dist/cli-bundle/chunks/{chunk-V4UYNSEM.js → chunk-JVQ7UOYC.js} +6 -8
  184. package/dist/cli-bundle/chunks/{chunk-V4UYNSEM.js.map → chunk-JVQ7UOYC.js.map} +1 -1
  185. package/dist/cli-bundle/chunks/{chunk-L7UXKP2I.js → chunk-JZG5ADVE.js} +190 -102
  186. package/dist/cli-bundle/chunks/chunk-JZG5ADVE.js.map +1 -0
  187. package/dist/cli-bundle/chunks/{chunk-N5B6WZC5.js → chunk-K46GQ265.js} +17 -15
  188. package/dist/cli-bundle/chunks/chunk-K46GQ265.js.map +1 -0
  189. package/dist/cli-bundle/chunks/{chunk-KJZOSF7J.js → chunk-KGQ3W65B.js} +100 -35
  190. package/dist/cli-bundle/chunks/chunk-KGQ3W65B.js.map +1 -0
  191. package/dist/cli-bundle/chunks/{chunk-FMWW2JDU.js → chunk-KRASIL6M.js} +2 -2
  192. package/dist/cli-bundle/chunks/{chunk-XVYKWZNL.js → chunk-KTMMTOIP.js} +127 -127
  193. package/dist/cli-bundle/chunks/chunk-KTMMTOIP.js.map +7 -0
  194. package/dist/cli-bundle/chunks/{chunk-HZF5RLKX.js → chunk-KYDYQMNW.js} +5 -7
  195. package/dist/cli-bundle/chunks/{chunk-HZF5RLKX.js.map → chunk-KYDYQMNW.js.map} +1 -1
  196. package/dist/cli-bundle/chunks/{chunk-OHDQNKJB.js → chunk-LBH7UYKY.js} +106 -34
  197. package/dist/cli-bundle/chunks/chunk-LBH7UYKY.js.map +7 -0
  198. package/dist/cli-bundle/chunks/{chunk-I6QMJ2XT.js → chunk-MLHX6DN5.js} +2 -2
  199. package/dist/cli-bundle/chunks/{chunk-HC2S36NB.js → chunk-NIBP3I7A.js} +36 -10
  200. package/dist/cli-bundle/chunks/chunk-NIBP3I7A.js.map +1 -0
  201. package/dist/cli-bundle/chunks/{schema-C6QA367T.js → chunk-NO6Y6FB2.js} +144 -67
  202. package/dist/cli-bundle/chunks/chunk-NO6Y6FB2.js.map +7 -0
  203. package/dist/cli-bundle/chunks/{chunk-5S4ZGDB2.js → chunk-OB3RJV5F.js} +2 -2
  204. package/dist/cli-bundle/chunks/chunk-OKQ22KTH.js +379 -0
  205. package/dist/cli-bundle/chunks/chunk-OKQ22KTH.js.map +1 -0
  206. package/dist/cli-bundle/chunks/{chunk-SKC4UTRP.js → chunk-OUQ5JEFM.js} +3 -3
  207. package/dist/cli-bundle/chunks/{chunk-JPJDP4VU.js → chunk-QE5UFCCO.js} +2 -2
  208. package/dist/cli-bundle/chunks/{chunk-6W3Y65PL.js → chunk-RM6MHL6A.js} +110 -113
  209. package/dist/cli-bundle/chunks/chunk-RM6MHL6A.js.map +7 -0
  210. package/dist/cli-bundle/chunks/{chunk-RRP6D345.js → chunk-RPRW26NG.js} +12 -16
  211. package/dist/cli-bundle/chunks/{chunk-RRP6D345.js.map → chunk-RPRW26NG.js.map} +1 -1
  212. package/dist/cli-bundle/chunks/{chunk-WB5BYQMF.js → chunk-SJZTPVFT.js} +4 -4
  213. package/dist/cli-bundle/chunks/{chunk-EYPINTFR.js → chunk-SNUK7H5J.js} +1164 -440
  214. package/dist/cli-bundle/chunks/chunk-SNUK7H5J.js.map +7 -0
  215. package/dist/cli-bundle/chunks/chunk-T7ZMQI4J.js +2435 -0
  216. package/dist/cli-bundle/chunks/chunk-T7ZMQI4J.js.map +1 -0
  217. package/dist/cli-bundle/chunks/{chunk-GDUMGZK3.js → chunk-TQ6E76BE.js} +11 -13
  218. package/dist/cli-bundle/chunks/{chunk-GDUMGZK3.js.map → chunk-TQ6E76BE.js.map} +1 -1
  219. package/dist/cli-bundle/chunks/{chunk-IAP5KYBQ.js → chunk-UB3V5WUI.js} +225 -189
  220. package/dist/cli-bundle/chunks/chunk-UB3V5WUI.js.map +1 -0
  221. package/dist/cli-bundle/chunks/{chunk-PRVTGX64.js → chunk-UFKNF23C.js} +11 -23
  222. package/dist/cli-bundle/chunks/chunk-UFKNF23C.js.map +7 -0
  223. package/dist/cli-bundle/chunks/{chunk-ZLWRPBOW.js → chunk-V3KLX7U7.js} +3 -3
  224. package/dist/cli-bundle/chunks/{chunk-LNEDHJNQ.js → chunk-VD3LKZFX.js} +41 -254
  225. package/dist/cli-bundle/chunks/chunk-VD3LKZFX.js.map +1 -0
  226. package/dist/cli-bundle/chunks/{chunk-MWMHZOZZ.js → chunk-VMY7MZEM.js} +10 -14
  227. package/dist/cli-bundle/chunks/{chunk-MWMHZOZZ.js.map → chunk-VMY7MZEM.js.map} +1 -1
  228. package/dist/cli-bundle/chunks/chunk-VZDBVEZR.js +382 -0
  229. package/dist/cli-bundle/chunks/chunk-VZDBVEZR.js.map +7 -0
  230. package/dist/cli-bundle/chunks/{chunk-M6TUBOGW.js → chunk-WFJZDUM7.js} +19 -12
  231. package/dist/cli-bundle/chunks/chunk-WFJZDUM7.js.map +1 -0
  232. package/dist/cli-bundle/chunks/{schema-QO5I4FBL.js → chunk-WTRUDJ3R.js} +136 -66
  233. package/dist/cli-bundle/chunks/chunk-WTRUDJ3R.js.map +1 -0
  234. package/dist/cli-bundle/chunks/{chunk-TSI32UEL.js → chunk-YEDFE4DC.js} +6 -8
  235. package/dist/cli-bundle/chunks/{chunk-TSI32UEL.js.map → chunk-YEDFE4DC.js.map} +1 -1
  236. package/dist/cli-bundle/chunks/chunk-YJIEJRZB.js +84 -0
  237. package/dist/cli-bundle/chunks/chunk-YJIEJRZB.js.map +1 -0
  238. package/dist/cli-bundle/chunks/{chunk-ALQKV6U7.js → chunk-Z55WX4IQ.js} +12 -16
  239. package/dist/cli-bundle/chunks/{chunk-ALQKV6U7.js.map → chunk-Z55WX4IQ.js.map} +1 -1
  240. package/dist/cli-bundle/chunks/{chunk-OQ2E64FH.js → chunk-Z5BM2FKQ.js} +4 -4
  241. package/dist/cli-bundle/chunks/{chunk-IXAZI443.js → chunk-ZEATCVAC.js} +2 -2
  242. package/dist/cli-bundle/chunks/{chunk-C4C3EJCJ.js → chunk-ZFIEEDTJ.js} +3 -3
  243. package/dist/cli-bundle/chunks/{chunk-BFFO3AIB.js → chunk-ZIE6WXJ2.js} +128 -128
  244. package/dist/cli-bundle/chunks/chunk-ZIE6WXJ2.js.map +1 -0
  245. package/dist/cli-bundle/chunks/{claim-FZZZCAY6.js → claim-6NINZYB3.js} +10 -12
  246. package/dist/cli-bundle/chunks/{claim-FZZZCAY6.js.map → claim-6NINZYB3.js.map} +1 -1
  247. package/dist/cli-bundle/chunks/{claim-XK5QBZE3.js → claim-HMCLSLUE.js} +8 -10
  248. package/dist/cli-bundle/chunks/{claim-XK5QBZE3.js.map → claim-HMCLSLUE.js.map} +1 -1
  249. package/dist/cli-bundle/chunks/close-37KEHLYM.js +14 -0
  250. package/dist/cli-bundle/chunks/{close-QHMVWM7M.js → close-OP3LK7Z2.js} +7 -8
  251. package/dist/cli-bundle/chunks/{close-many-OIXJE2JZ.js → close-many-BFMP6HHK.js} +15 -17
  252. package/dist/cli-bundle/chunks/{close-many-OIXJE2JZ.js.map → close-many-BFMP6HHK.js.map} +1 -1
  253. package/dist/cli-bundle/chunks/{close-many-SUU5BS2C.js → close-many-CXJBOWWY.js} +17 -19
  254. package/dist/cli-bundle/chunks/{close-many-SUU5BS2C.js.map → close-many-CXJBOWWY.js.map} +1 -1
  255. package/dist/cli-bundle/chunks/{comments-RH3IBIRH.js → comments-ETHABIY6.js} +9 -11
  256. package/dist/cli-bundle/chunks/{comments-RH3IBIRH.js.map → comments-ETHABIY6.js.map} +1 -1
  257. package/dist/cli-bundle/chunks/{comments-5YM62D75.js → comments-MU2WMBUY.js} +11 -13
  258. package/dist/cli-bundle/chunks/{comments-5YM62D75.js.map → comments-MU2WMBUY.js.map} +1 -1
  259. package/dist/cli-bundle/chunks/{config-NCNNWF6R.js → config-FIXJZEQK.js} +18 -387
  260. package/dist/cli-bundle/chunks/config-FIXJZEQK.js.map +7 -0
  261. package/dist/cli-bundle/chunks/{config-SW3U7XP2.js → config-X3ZVCUUG.js} +18 -380
  262. package/dist/cli-bundle/chunks/config-X3ZVCUUG.js.map +1 -0
  263. package/dist/cli-bundle/chunks/context-7ZEZV3BV.js +42 -0
  264. package/dist/cli-bundle/chunks/context-XDI4DKKT.js +46 -0
  265. package/dist/cli-bundle/chunks/{contracts-JXFGBOYT.js → contracts-KP4QAGVW.js} +72 -15
  266. package/dist/cli-bundle/chunks/contracts-KP4QAGVW.js.map +1 -0
  267. package/dist/cli-bundle/chunks/{contracts-SY6PDFIK.js → contracts-SMOAN5NF.js} +72 -15
  268. package/dist/cli-bundle/chunks/contracts-SMOAN5NF.js.map +7 -0
  269. package/dist/cli-bundle/chunks/{copy-N3GE6FYS.js → copy-CWM6SBY6.js} +7 -11
  270. package/dist/cli-bundle/chunks/{copy-N3GE6FYS.js.map → copy-CWM6SBY6.js.map} +1 -1
  271. package/dist/cli-bundle/chunks/{copy-IEDBJOOX.js → copy-JJ3KOQW2.js} +9 -13
  272. package/dist/cli-bundle/chunks/{copy-IEDBJOOX.js.map → copy-JJ3KOQW2.js.map} +1 -1
  273. package/dist/cli-bundle/chunks/create-DFMNBKBS.js +28 -0
  274. package/dist/cli-bundle/chunks/{create-O4VONGPG.js → create-J5Q2ELZT.js} +12 -14
  275. package/dist/cli-bundle/chunks/{delete-724EQ6OS.js → delete-2GZLQEUQ.js} +7 -9
  276. package/dist/cli-bundle/chunks/{delete-724EQ6OS.js.map → delete-2GZLQEUQ.js.map} +1 -1
  277. package/dist/cli-bundle/chunks/{delete-LPEIF7RU.js → delete-OOQS4KVD.js} +5 -7
  278. package/dist/cli-bundle/chunks/{delete-LPEIF7RU.js.map → delete-OOQS4KVD.js.map} +1 -1
  279. package/dist/cli-bundle/chunks/{deps-T3Y6Y7RT.js → deps-IF4IGL4R.js} +6 -9
  280. package/dist/cli-bundle/chunks/{deps-T3Y6Y7RT.js.map → deps-IF4IGL4R.js.map} +1 -1
  281. package/dist/cli-bundle/chunks/{deps-RSBU4SIU.js → deps-ZVGGCRR6.js} +8 -11
  282. package/dist/cli-bundle/chunks/{deps-RSBU4SIU.js.map → deps-ZVGGCRR6.js.map} +1 -1
  283. package/dist/cli-bundle/chunks/{docs-IFS7HZPP.js → docs-2TIFR62T.js} +8 -9
  284. package/dist/cli-bundle/chunks/{docs-IFS7HZPP.js.map → docs-2TIFR62T.js.map} +1 -1
  285. package/dist/cli-bundle/chunks/{docs-75ZLCO3G.js → docs-NFTBCQQC.js} +10 -11
  286. package/dist/cli-bundle/chunks/{docs-75ZLCO3G.js.map → docs-NFTBCQQC.js.map} +1 -1
  287. package/dist/cli-bundle/chunks/{eval-L2KD7W3M.js → eval-2F6EH4XN.js} +12 -14
  288. package/dist/cli-bundle/chunks/{eval-L2KD7W3M.js.map → eval-2F6EH4XN.js.map} +1 -1
  289. package/dist/cli-bundle/chunks/{eval-QGR7JCQO.js → eval-PFKXQR3B.js} +10 -12
  290. package/dist/cli-bundle/chunks/{eval-QGR7JCQO.js.map → eval-PFKXQR3B.js.map} +1 -1
  291. package/dist/cli-bundle/chunks/{extension-3JYWJ5K2.js → extension-3LRYX7SW.js} +11 -7
  292. package/dist/cli-bundle/chunks/{extension-YQF4CPIR.js → extension-GMVOIP4O.js} +11 -7
  293. package/dist/cli-bundle/chunks/{files-5BQWDRDT.js → files-DF3HO6XK.js} +11 -13
  294. package/dist/cli-bundle/chunks/{files-5BQWDRDT.js.map → files-DF3HO6XK.js.map} +1 -1
  295. package/dist/cli-bundle/chunks/{files-EPEJMJHQ.js → files-T5ODMETM.js} +9 -11
  296. package/dist/cli-bundle/chunks/{files-EPEJMJHQ.js.map → files-T5ODMETM.js.map} +1 -1
  297. package/dist/cli-bundle/chunks/{focus-RWGKD76E.js → focus-DLXKK4AH.js} +10 -14
  298. package/dist/cli-bundle/chunks/{focus-RWGKD76E.js.map → focus-DLXKK4AH.js.map} +1 -1
  299. package/dist/cli-bundle/chunks/{focus-DQVJAPOE.js → focus-MY5ARIEK.js} +8 -12
  300. package/dist/cli-bundle/chunks/{focus-DQVJAPOE.js.map → focus-MY5ARIEK.js.map} +1 -1
  301. package/dist/cli-bundle/chunks/{gc-BEJMQT64.js → gc-FULIVYR4.js} +3 -3
  302. package/dist/cli-bundle/chunks/{gc-JEFQDJPA.js → gc-MDGRR2SU.js} +3 -3
  303. package/dist/cli-bundle/chunks/{get-LQG6PEVG.js → get-AWK324RS.js} +10 -13
  304. package/dist/cli-bundle/chunks/{get-LQG6PEVG.js.map → get-AWK324RS.js.map} +1 -1
  305. package/dist/cli-bundle/chunks/{get-WVN75H42.js → get-VYPIICPC.js} +12 -15
  306. package/dist/cli-bundle/chunks/{get-WVN75H42.js.map → get-VYPIICPC.js.map} +1 -1
  307. package/dist/cli-bundle/chunks/{health-P67NZ6TT.js → health-FBCVZGSX.js} +16 -17
  308. package/dist/cli-bundle/chunks/{health-P67NZ6TT.js.map → health-FBCVZGSX.js.map} +1 -1
  309. package/dist/cli-bundle/chunks/{health-JJJOY7DJ.js → health-Q66C43GN.js} +18 -19
  310. package/dist/cli-bundle/chunks/{health-JJJOY7DJ.js.map → health-Q66C43GN.js.map} +1 -1
  311. package/dist/cli-bundle/chunks/history-5XUSLAJA.js +18 -0
  312. package/dist/cli-bundle/chunks/{history-RUKPKNY7.js → history-X4OSES6K.js} +8 -10
  313. package/dist/cli-bundle/chunks/{history-compact-ZAOWR7GD.js → history-compact-2GHT32UX.js} +13 -16
  314. package/dist/cli-bundle/chunks/{history-compact-ZAOWR7GD.js.map → history-compact-2GHT32UX.js.map} +1 -1
  315. package/dist/cli-bundle/chunks/{history-compact-NQ7VPRVT.js → history-compact-WLCQEKXS.js} +11 -14
  316. package/dist/cli-bundle/chunks/{history-compact-NQ7VPRVT.js.map → history-compact-WLCQEKXS.js.map} +1 -1
  317. package/dist/cli-bundle/chunks/{history-redact-YY4XYVEP.js → history-redact-45YW65BK.js} +9 -11
  318. package/dist/cli-bundle/chunks/history-redact-BVHWDXPR.js +19 -0
  319. package/dist/cli-bundle/chunks/{history-repair-YSQH6SY6.js → history-repair-FY75IC26.js} +13 -16
  320. package/dist/cli-bundle/chunks/{history-repair-YSQH6SY6.js.map → history-repair-FY75IC26.js.map} +1 -1
  321. package/dist/cli-bundle/chunks/{history-repair-EHL4ODQY.js → history-repair-GABSDSVD.js} +11 -14
  322. package/dist/cli-bundle/chunks/{history-repair-EHL4ODQY.js.map → history-repair-GABSDSVD.js.map} +1 -1
  323. package/dist/cli-bundle/chunks/{init-HBFGYS66.js → init-KO7CGIRQ.js} +11 -11
  324. package/dist/cli-bundle/chunks/init-TRYJELH4.js +21 -0
  325. package/dist/cli-bundle/chunks/{learnings-KFQO7GEZ.js → learnings-3F7YLI45.js} +9 -11
  326. package/dist/cli-bundle/chunks/{learnings-KFQO7GEZ.js.map → learnings-3F7YLI45.js.map} +1 -1
  327. package/dist/cli-bundle/chunks/{learnings-J555ZFPD.js → learnings-LHZT5BHW.js} +11 -13
  328. package/dist/cli-bundle/chunks/{learnings-J555ZFPD.js.map → learnings-LHZT5BHW.js.map} +1 -1
  329. package/dist/cli-bundle/chunks/{list-C7R33MD5.js → list-ROT7JF62.js} +10 -10
  330. package/dist/cli-bundle/chunks/{list-DSN6UNFB.js → list-Y6AU5BJS.js} +10 -10
  331. package/dist/cli-bundle/chunks/next-66BJB4N2.js +277 -0
  332. package/dist/cli-bundle/chunks/next-66BJB4N2.js.map +7 -0
  333. package/dist/cli-bundle/chunks/next-N5MWJTBY.js +274 -0
  334. package/dist/cli-bundle/chunks/next-N5MWJTBY.js.map +1 -0
  335. package/dist/cli-bundle/chunks/{notes-VYJFN2A3.js → notes-EVJZ3VAB.js} +11 -13
  336. package/dist/cli-bundle/chunks/{notes-VYJFN2A3.js.map → notes-EVJZ3VAB.js.map} +1 -1
  337. package/dist/cli-bundle/chunks/{notes-V4VNIQL4.js → notes-FW6YFLND.js} +9 -11
  338. package/dist/cli-bundle/chunks/{notes-V4VNIQL4.js.map → notes-FW6YFLND.js.map} +1 -1
  339. package/dist/cli-bundle/chunks/{plan-RBHQ5PO7.js → plan-DQ7G4EDC.js} +15 -18
  340. package/dist/cli-bundle/chunks/{plan-RBHQ5PO7.js.map → plan-DQ7G4EDC.js.map} +1 -1
  341. package/dist/cli-bundle/chunks/{plan-DHRSVSHR.js → plan-ZHKZ7JVF.js} +17 -20
  342. package/dist/cli-bundle/chunks/{plan-DHRSVSHR.js.map → plan-ZHKZ7JVF.js.map} +1 -1
  343. package/dist/cli-bundle/chunks/profile-CHAW6SEA.js +1197 -0
  344. package/dist/cli-bundle/chunks/profile-CHAW6SEA.js.map +1 -0
  345. package/dist/cli-bundle/chunks/profile-UPZGCDOG.js +1235 -0
  346. package/dist/cli-bundle/chunks/profile-UPZGCDOG.js.map +7 -0
  347. package/dist/cli-bundle/chunks/{register-list-query-CCMHGZTF.js → register-list-query-KY6Z6WV7.js} +44 -20
  348. package/dist/cli-bundle/chunks/register-list-query-KY6Z6WV7.js.map +7 -0
  349. package/dist/cli-bundle/chunks/{register-list-query-OM3E2KMY.js → register-list-query-Y2VRHPCL.js} +45 -21
  350. package/dist/cli-bundle/chunks/register-list-query-Y2VRHPCL.js.map +1 -0
  351. package/dist/cli-bundle/chunks/{register-mutation-UXTTWL6N.js → register-mutation-N6AYSKPM.js} +103 -37
  352. package/dist/cli-bundle/chunks/register-mutation-N6AYSKPM.js.map +7 -0
  353. package/dist/cli-bundle/chunks/{register-mutation-N3CDEGZU.js → register-mutation-PCARIGZS.js} +104 -38
  354. package/dist/cli-bundle/chunks/register-mutation-PCARIGZS.js.map +1 -0
  355. package/dist/cli-bundle/chunks/{register-operations-R2FLOCRI.js → register-operations-L6CYTOIH.js} +30 -32
  356. package/dist/cli-bundle/chunks/{register-operations-R2FLOCRI.js.map → register-operations-L6CYTOIH.js.map} +1 -1
  357. package/dist/cli-bundle/chunks/{register-operations-UDIFMQKD.js → register-operations-YAT6FUUB.js} +32 -34
  358. package/dist/cli-bundle/chunks/{register-operations-UDIFMQKD.js.map → register-operations-YAT6FUUB.js.map} +1 -1
  359. package/dist/cli-bundle/chunks/{register-setup-TWHKICM2.js → register-setup-MPANILQF.js} +67 -24
  360. package/dist/cli-bundle/chunks/register-setup-MPANILQF.js.map +7 -0
  361. package/dist/cli-bundle/chunks/{register-setup-G5LTSFYK.js → register-setup-N7UGXYJC.js} +68 -25
  362. package/dist/cli-bundle/chunks/register-setup-N7UGXYJC.js.map +1 -0
  363. package/dist/cli-bundle/chunks/{restore-LL2WLEDG.js → restore-DKMCLPI5.js} +9 -11
  364. package/dist/cli-bundle/chunks/restore-IRAKSWIW.js +17 -0
  365. package/dist/cli-bundle/chunks/{scheduling-shortcuts-M4H2ZI64.js → scheduling-shortcuts-3F4QUEDH.js} +14 -16
  366. package/dist/cli-bundle/chunks/{scheduling-shortcuts-M4H2ZI64.js.map → scheduling-shortcuts-3F4QUEDH.js.map} +1 -1
  367. package/dist/cli-bundle/chunks/{scheduling-shortcuts-255GI3BU.js → scheduling-shortcuts-BNZLQK36.js} +12 -14
  368. package/dist/cli-bundle/chunks/{scheduling-shortcuts-255GI3BU.js.map → scheduling-shortcuts-BNZLQK36.js.map} +1 -1
  369. package/dist/cli-bundle/chunks/schema-OLT6LVKH.js +75 -0
  370. package/dist/cli-bundle/chunks/schema-XJXKJQF5.js +71 -0
  371. package/dist/cli-bundle/chunks/{search-2EI6EAXH.js → search-CX5UMV4H.js} +10 -12
  372. package/dist/cli-bundle/chunks/{search-QBFBLQRO.js → search-KP6H7COV.js} +10 -12
  373. package/dist/cli-bundle/chunks/{stats-TCW2SZQG.js → stats-7XW4OEMK.js} +20 -12
  374. package/dist/cli-bundle/chunks/stats-7XW4OEMK.js.map +7 -0
  375. package/dist/cli-bundle/chunks/{stats-TKC6CAKB.js → stats-QZUG6MX5.js} +21 -13
  376. package/dist/cli-bundle/chunks/stats-QZUG6MX5.js.map +1 -0
  377. package/dist/cli-bundle/chunks/{telemetry-LQ6FRTUT.js → telemetry-DIFPXCAT.js} +4 -4
  378. package/dist/cli-bundle/chunks/{telemetry-BT2VSWU2.js → telemetry-WTYFUPRL.js} +4 -4
  379. package/dist/cli-bundle/chunks/{test-NV2DRPUS.js → test-HU2BS7EY.js} +14 -16
  380. package/dist/cli-bundle/chunks/test-HU2BS7EY.js.map +1 -0
  381. package/dist/cli-bundle/chunks/test-QNDXZQCW.js +34 -0
  382. package/dist/cli-bundle/chunks/test-QNDXZQCW.js.map +7 -0
  383. package/dist/cli-bundle/chunks/{test-all-REW67LXT.js → test-all-PZTBLLQ6.js} +17 -20
  384. package/dist/cli-bundle/chunks/{test-all-REW67LXT.js.map → test-all-PZTBLLQ6.js.map} +1 -1
  385. package/dist/cli-bundle/chunks/{test-all-DZ76VTPQ.js → test-all-XLPI4USF.js} +19 -22
  386. package/dist/cli-bundle/chunks/{test-all-DZ76VTPQ.js.map → test-all-XLPI4USF.js.map} +1 -1
  387. package/dist/cli-bundle/chunks/{test-runs-FQ5WNQLP.js → test-runs-CA6K32RD.js} +6 -7
  388. package/dist/cli-bundle/chunks/test-runs-CA6K32RD.js.map +1 -0
  389. package/dist/cli-bundle/chunks/{test-runs-PX73DMMI.js → test-runs-LANLLPVO.js} +5 -6
  390. package/dist/cli-bundle/chunks/test-runs-LANLLPVO.js.map +7 -0
  391. package/dist/cli-bundle/chunks/update-DJKWLBWJ.js +28 -0
  392. package/dist/cli-bundle/chunks/update-DJKWLBWJ.js.map +1 -0
  393. package/dist/cli-bundle/chunks/update-UXDLTEOZ.js +24 -0
  394. package/dist/cli-bundle/chunks/update-UXDLTEOZ.js.map +7 -0
  395. package/dist/cli-bundle/chunks/{update-many-2ILP6E4Y.js → update-many-LU3SCNK5.js} +32 -33
  396. package/dist/cli-bundle/chunks/{update-many-2ILP6E4Y.js.map → update-many-LU3SCNK5.js.map} +1 -1
  397. package/dist/cli-bundle/chunks/{update-many-Q5ZEI64S.js → update-many-VW5DGF3S.js} +34 -35
  398. package/dist/cli-bundle/chunks/{update-many-Q5ZEI64S.js.map → update-many-VW5DGF3S.js.map} +1 -1
  399. package/dist/cli-bundle/chunks/{upgrade-FOZKQTQF.js → upgrade-77FRUAXN.js} +12 -8
  400. package/dist/cli-bundle/chunks/{upgrade-FOZKQTQF.js.map → upgrade-77FRUAXN.js.map} +1 -1
  401. package/dist/cli-bundle/chunks/{upgrade-DHL74PQH.js → upgrade-ICXY244R.js} +10 -6
  402. package/dist/cli-bundle/chunks/{upgrade-DHL74PQH.js.map → upgrade-ICXY244R.js.map} +1 -1
  403. package/dist/cli-bundle/chunks/{validate-HYZNIB6W.js → validate-2G566PKQ.js} +37 -28
  404. package/dist/cli-bundle/chunks/validate-2G566PKQ.js.map +7 -0
  405. package/dist/cli-bundle/chunks/{validate-54SYJ7QW.js → validate-BDPVXHHH.js} +38 -29
  406. package/dist/cli-bundle/chunks/validate-BDPVXHHH.js.map +1 -0
  407. package/dist/cli-bundle/main.js +56 -38
  408. package/dist/cli-bundle/main.js.map +2 -2
  409. package/dist/core/config/positional-value.d.ts +2 -0
  410. package/dist/core/config/positional-value.js +2 -2
  411. package/dist/core/config/positional-value.js.map +1 -1
  412. package/dist/core/extensions/activation-summary-markdown.d.ts +71 -0
  413. package/dist/core/extensions/activation-summary-markdown.js +140 -0
  414. package/dist/core/extensions/activation-summary-markdown.js.map +1 -0
  415. package/dist/core/extensions/activation-summary.d.ts +2 -0
  416. package/dist/core/extensions/activation-summary.js +3 -2
  417. package/dist/core/extensions/activation-summary.js.map +1 -1
  418. package/dist/core/extensions/capability-usage.d.ts +1 -1
  419. package/dist/core/extensions/capability-usage.js +4 -3
  420. package/dist/core/extensions/capability-usage.js.map +1 -1
  421. package/dist/core/extensions/extension-registries.js +3 -2
  422. package/dist/core/extensions/extension-registries.js.map +1 -1
  423. package/dist/core/extensions/extension-types.d.ts +21 -1
  424. package/dist/core/extensions/extension-types.js +3 -2
  425. package/dist/core/extensions/extension-types.js.map +1 -1
  426. package/dist/core/extensions/loader.js +131 -2
  427. package/dist/core/extensions/loader.js.map +1 -1
  428. package/dist/core/fs/fs-utils.js +27 -2
  429. package/dist/core/fs/fs-utils.js.map +1 -1
  430. package/dist/core/item/actionability.d.ts +57 -0
  431. package/dist/core/item/actionability.js +178 -0
  432. package/dist/core/item/actionability.js.map +1 -0
  433. package/dist/core/item/type-registry.js +18 -45
  434. package/dist/core/item/type-registry.js.map +1 -1
  435. package/dist/core/profile/profile-describe.d.ts +64 -0
  436. package/dist/core/profile/profile-describe.js +83 -0
  437. package/dist/core/profile/profile-describe.js.map +1 -0
  438. package/dist/core/profile/profile-lint.d.ts +53 -0
  439. package/dist/core/profile/profile-lint.js +422 -0
  440. package/dist/core/profile/profile-lint.js.map +1 -0
  441. package/dist/core/profile/profile-plan.d.ts +145 -0
  442. package/dist/core/profile/profile-plan.js +0 -0
  443. package/dist/core/profile/profile-plan.js.map +1 -0
  444. package/dist/core/profile/profile-presets.d.ts +218 -0
  445. package/dist/core/profile/profile-presets.js +325 -0
  446. package/dist/core/profile/profile-presets.js.map +1 -0
  447. package/dist/core/schema/fields-file.js +25 -25
  448. package/dist/core/schema/fields-file.js.map +1 -1
  449. package/dist/core/schema/item-types-file.js +3 -3
  450. package/dist/core/schema/item-types-file.js.map +1 -1
  451. package/dist/core/schema/runtime-schema.js +4 -4
  452. package/dist/core/schema/runtime-schema.js.map +1 -1
  453. package/dist/core/schema/status-defs-file.js +3 -3
  454. package/dist/core/schema/status-defs-file.js.map +1 -1
  455. package/dist/core/shared/serialization.js +83 -62
  456. package/dist/core/shared/serialization.js.map +1 -1
  457. package/dist/core/store/item-store.d.ts +1 -0
  458. package/dist/core/store/item-store.js +16 -8
  459. package/dist/core/store/item-store.js.map +1 -1
  460. package/dist/core/store/paths.js +4 -32
  461. package/dist/core/store/paths.js.map +1 -1
  462. package/dist/core/store/settings.js +14 -14
  463. package/dist/core/store/settings.js.map +1 -1
  464. package/dist/core/telemetry/observability.js +50 -54
  465. package/dist/core/telemetry/observability.js.map +1 -1
  466. package/dist/core/telemetry/runtime.js +11 -2
  467. package/dist/core/telemetry/runtime.js.map +1 -1
  468. package/dist/core/test/background-runs.js +3 -2
  469. package/dist/core/test/background-runs.js.map +1 -1
  470. package/dist/core/validate/linked-artifact-reference.d.ts +24 -0
  471. package/dist/core/validate/linked-artifact-reference.js +41 -0
  472. package/dist/core/validate/linked-artifact-reference.js.map +1 -0
  473. package/dist/mcp/server.js +183 -83
  474. package/dist/mcp/server.js.map +1 -1
  475. package/dist/mcp/tool-definitions.js +33 -2
  476. package/dist/mcp/tool-definitions.js.map +1 -1
  477. package/dist/sdk/cli-contracts/commander-types.d.ts +1 -0
  478. package/dist/sdk/cli-contracts/commander-types.js +15 -2
  479. package/dist/sdk/cli-contracts/commander-types.js.map +1 -1
  480. package/dist/sdk/cli-contracts/enum-contracts.d.ts +3 -3
  481. package/dist/sdk/cli-contracts/enum-contracts.js +6 -2
  482. package/dist/sdk/cli-contracts/enum-contracts.js.map +1 -1
  483. package/dist/sdk/cli-contracts/flag-contracts.d.ts +149 -0
  484. package/dist/sdk/cli-contracts/flag-contracts.js +1583 -0
  485. package/dist/sdk/cli-contracts/flag-contracts.js.map +1 -0
  486. package/dist/sdk/cli-contracts/string-lists.d.ts +14 -0
  487. package/dist/sdk/cli-contracts/string-lists.js +20 -0
  488. package/dist/sdk/cli-contracts/string-lists.js.map +1 -0
  489. package/dist/sdk/cli-contracts/tool-option-contracts.d.ts +1 -1
  490. package/dist/sdk/cli-contracts/tool-option-contracts.js +51 -109
  491. package/dist/sdk/cli-contracts/tool-option-contracts.js.map +1 -1
  492. package/dist/sdk/cli-contracts/tool-parameter-tables.d.ts +17 -0
  493. package/dist/sdk/cli-contracts/tool-parameter-tables.js +54 -5
  494. package/dist/sdk/cli-contracts/tool-parameter-tables.js.map +1 -1
  495. package/dist/sdk/cli-contracts/tool-schema.d.ts +74 -0
  496. package/dist/sdk/cli-contracts/tool-schema.js +840 -0
  497. package/dist/sdk/cli-contracts/tool-schema.js.map +1 -0
  498. package/dist/sdk/cli-contracts.d.ts +13 -193
  499. package/dist/sdk/cli-contracts.js +5 -2277
  500. package/dist/sdk/cli-contracts.js.map +1 -1
  501. package/dist/sdk/compose.d.ts +7 -4
  502. package/dist/sdk/compose.js +64 -14
  503. package/dist/sdk/compose.js.map +1 -1
  504. package/dist/sdk/define.d.ts +14 -0
  505. package/dist/sdk/define.js +17 -2
  506. package/dist/sdk/define.js.map +1 -1
  507. package/dist/sdk/index.d.ts +14 -3
  508. package/dist/sdk/index.js +14 -3
  509. package/dist/sdk/index.js.map +1 -1
  510. package/dist/sdk/testing.d.ts +82 -2
  511. package/dist/sdk/testing.js +74 -3
  512. package/dist/sdk/testing.js.map +1 -1
  513. package/docs/AGENT_GUIDE.md +2 -0
  514. package/docs/CLAUDE_CODE_PLUGIN.md +2 -2
  515. package/docs/COMMANDS.md +37 -0
  516. package/docs/EXTENSIONS.md +12 -13
  517. package/docs/RELEASING.md +6 -1
  518. package/docs/SDK.md +184 -17
  519. package/docs/TESTING.md +12 -0
  520. package/docs/examples/policy-restricted-extension/README.md +6 -0
  521. package/docs/examples/policy-restricted-extension/index.ts +40 -0
  522. package/docs/examples/policy-restricted-extension/manifest.json +2 -2
  523. package/docs/examples/starter-extension/README.md +14 -2
  524. package/docs/examples/starter-extension/{index.js → index.ts} +51 -6
  525. package/docs/examples/starter-extension/manifest.json +2 -2
  526. package/package.json +20 -7
  527. package/packages/pm-beads/extensions/beads/index.ts +3 -3
  528. package/packages/pm-beads/extensions/beads/manifest.json +2 -2
  529. package/packages/pm-beads/extensions/beads/runtime-loader.ts +19 -7
  530. package/packages/pm-beads/extensions/beads/runtime.ts +155 -37
  531. package/packages/pm-calendar/extensions/calendar/index.ts +3 -3
  532. package/packages/pm-calendar/extensions/calendar/manifest.json +2 -2
  533. package/packages/pm-calendar/extensions/calendar/runtime.ts +2 -2
  534. package/packages/pm-command-kit/extensions/command-kit/index.ts +1 -1
  535. package/packages/pm-command-kit/extensions/command-kit/manifest.json +2 -2
  536. package/packages/pm-governance-audit/extensions/governance-audit/index.ts +2 -2
  537. package/packages/pm-governance-audit/extensions/governance-audit/manifest.json +2 -2
  538. package/packages/pm-governance-audit/extensions/governance-audit/runtime.ts +1 -1
  539. package/packages/pm-guide-shell/extensions/guide-shell/index.ts +2 -2
  540. package/packages/pm-guide-shell/extensions/guide-shell/manifest.json +2 -2
  541. package/packages/pm-guide-shell/extensions/guide-shell/runtime.ts +1 -1
  542. package/packages/pm-kanban/README.md +97 -0
  543. package/packages/pm-kanban/extensions/kanban/index.ts +191 -0
  544. package/packages/pm-kanban/extensions/kanban/manifest.json +19 -0
  545. package/packages/pm-kanban/package.json +57 -0
  546. package/packages/pm-lifecycle-hooks/extensions/lifecycle-hooks/index.ts +1 -1
  547. package/packages/pm-lifecycle-hooks/extensions/lifecycle-hooks/manifest.json +2 -2
  548. package/packages/pm-linked-test-adapters/extensions/linked-test-adapters/index.ts +2 -2
  549. package/packages/pm-linked-test-adapters/extensions/linked-test-adapters/manifest.json +2 -2
  550. package/packages/pm-linked-test-adapters/extensions/linked-test-adapters/runtime.ts +1 -1
  551. package/packages/pm-search-advanced/extensions/search-advanced/index.ts +2 -2
  552. package/packages/pm-search-advanced/extensions/search-advanced/manifest.json +2 -2
  553. package/packages/pm-search-advanced/extensions/search-advanced/runtime.ts +1 -1
  554. package/packages/pm-templates/extensions/templates/index.ts +2 -2
  555. package/packages/pm-templates/extensions/templates/manifest.json +2 -2
  556. package/packages/pm-templates/extensions/templates/runtime.ts +1 -1
  557. package/packages/pm-todos/extensions/todos/index.ts +3 -3
  558. package/packages/pm-todos/extensions/todos/manifest.json +2 -2
  559. package/packages/pm-todos/extensions/todos/runtime-loader.ts +19 -7
  560. package/packages/pm-todos/extensions/todos/runtime.ts +177 -43
  561. package/plugins/pm-claude/scripts/pm-mcp-server.mjs +2 -2
  562. package/plugins/pm-codex/scripts/pm-mcp-server.mjs +2 -2
  563. package/scripts/bundle-cli.mjs +1 -1
  564. package/dist/cli-bundle/chunks/activity-54TXGJ2T.js +0 -18
  565. package/dist/cli-bundle/chunks/aggregate-63NWNIBR.js.map +0 -1
  566. package/dist/cli-bundle/chunks/aggregate-YHCYX2EV.js.map +0 -7
  567. package/dist/cli-bundle/chunks/chunk-6EL7SW5C.js.map +0 -7
  568. package/dist/cli-bundle/chunks/chunk-6W3Y65PL.js.map +0 -7
  569. package/dist/cli-bundle/chunks/chunk-AEACLRVH.js.map +0 -7
  570. package/dist/cli-bundle/chunks/chunk-B74BP6IS.js +0 -78
  571. package/dist/cli-bundle/chunks/chunk-B74BP6IS.js.map +0 -7
  572. package/dist/cli-bundle/chunks/chunk-BFFO3AIB.js.map +0 -1
  573. package/dist/cli-bundle/chunks/chunk-EYPINTFR.js.map +0 -7
  574. package/dist/cli-bundle/chunks/chunk-FBLT6WGK.js +0 -75
  575. package/dist/cli-bundle/chunks/chunk-FBLT6WGK.js.map +0 -1
  576. package/dist/cli-bundle/chunks/chunk-GQYJEEFX.js.map +0 -1
  577. package/dist/cli-bundle/chunks/chunk-HBAEFWX3.js.map +0 -7
  578. package/dist/cli-bundle/chunks/chunk-HC2S36NB.js.map +0 -1
  579. package/dist/cli-bundle/chunks/chunk-IAP5KYBQ.js.map +0 -1
  580. package/dist/cli-bundle/chunks/chunk-INPHFO33.js +0 -764
  581. package/dist/cli-bundle/chunks/chunk-INPHFO33.js.map +0 -7
  582. package/dist/cli-bundle/chunks/chunk-IOT6WRL5.js +0 -86
  583. package/dist/cli-bundle/chunks/chunk-IOT6WRL5.js.map +0 -7
  584. package/dist/cli-bundle/chunks/chunk-J7I4C5ZB.js.map +0 -7
  585. package/dist/cli-bundle/chunks/chunk-JKL6HRMV.js.map +0 -7
  586. package/dist/cli-bundle/chunks/chunk-KJZOSF7J.js.map +0 -1
  587. package/dist/cli-bundle/chunks/chunk-L7UXKP2I.js.map +0 -1
  588. package/dist/cli-bundle/chunks/chunk-LNEDHJNQ.js.map +0 -1
  589. package/dist/cli-bundle/chunks/chunk-M6TUBOGW.js.map +0 -1
  590. package/dist/cli-bundle/chunks/chunk-MEXZ5XUM.js.map +0 -7
  591. package/dist/cli-bundle/chunks/chunk-N5B6WZC5.js.map +0 -1
  592. package/dist/cli-bundle/chunks/chunk-NJ73ALW2.js +0 -761
  593. package/dist/cli-bundle/chunks/chunk-NJ73ALW2.js.map +0 -1
  594. package/dist/cli-bundle/chunks/chunk-NVXGVEFD.js +0 -83
  595. package/dist/cli-bundle/chunks/chunk-NVXGVEFD.js.map +0 -1
  596. package/dist/cli-bundle/chunks/chunk-OF7V47P3.js.map +0 -1
  597. package/dist/cli-bundle/chunks/chunk-OHDQNKJB.js.map +0 -7
  598. package/dist/cli-bundle/chunks/chunk-PRVTGX64.js.map +0 -7
  599. package/dist/cli-bundle/chunks/chunk-RAWA3Y7O.js.map +0 -1
  600. package/dist/cli-bundle/chunks/chunk-SMXSDY7J.js.map +0 -7
  601. package/dist/cli-bundle/chunks/chunk-SUREE24M.js.map +0 -1
  602. package/dist/cli-bundle/chunks/chunk-TKPP4GOO.js +0 -654
  603. package/dist/cli-bundle/chunks/chunk-TKPP4GOO.js.map +0 -1
  604. package/dist/cli-bundle/chunks/chunk-VSAABFGQ.js.map +0 -1
  605. package/dist/cli-bundle/chunks/chunk-XVYKWZNL.js.map +0 -7
  606. package/dist/cli-bundle/chunks/chunk-XXKV4UWE.js.map +0 -7
  607. package/dist/cli-bundle/chunks/chunk-ZV7IQ23N.js +0 -657
  608. package/dist/cli-bundle/chunks/chunk-ZV7IQ23N.js.map +0 -7
  609. package/dist/cli-bundle/chunks/close-JEBZXONN.js +0 -15
  610. package/dist/cli-bundle/chunks/config-NCNNWF6R.js.map +0 -7
  611. package/dist/cli-bundle/chunks/config-SW3U7XP2.js.map +0 -1
  612. package/dist/cli-bundle/chunks/context-55VEOYI3.js.map +0 -1
  613. package/dist/cli-bundle/chunks/context-5LB7UGKE.js.map +0 -7
  614. package/dist/cli-bundle/chunks/contracts-JXFGBOYT.js.map +0 -1
  615. package/dist/cli-bundle/chunks/contracts-SY6PDFIK.js.map +0 -7
  616. package/dist/cli-bundle/chunks/create-CLSCHGJJ.js +0 -30
  617. package/dist/cli-bundle/chunks/history-ALTM2RRP.js +0 -20
  618. package/dist/cli-bundle/chunks/history-redact-5YGLWUDH.js +0 -21
  619. package/dist/cli-bundle/chunks/init-C4CRHW22.js +0 -21
  620. package/dist/cli-bundle/chunks/register-list-query-CCMHGZTF.js.map +0 -7
  621. package/dist/cli-bundle/chunks/register-list-query-OM3E2KMY.js.map +0 -1
  622. package/dist/cli-bundle/chunks/register-mutation-N3CDEGZU.js.map +0 -1
  623. package/dist/cli-bundle/chunks/register-mutation-UXTTWL6N.js.map +0 -7
  624. package/dist/cli-bundle/chunks/register-setup-G5LTSFYK.js.map +0 -1
  625. package/dist/cli-bundle/chunks/register-setup-TWHKICM2.js.map +0 -7
  626. package/dist/cli-bundle/chunks/restore-LQHXBAY5.js +0 -19
  627. package/dist/cli-bundle/chunks/schema-C6QA367T.js.map +0 -7
  628. package/dist/cli-bundle/chunks/schema-QO5I4FBL.js.map +0 -1
  629. package/dist/cli-bundle/chunks/stats-TCW2SZQG.js.map +0 -7
  630. package/dist/cli-bundle/chunks/stats-TKC6CAKB.js.map +0 -1
  631. package/dist/cli-bundle/chunks/test-WA6RZGM2.js +0 -36
  632. package/dist/cli-bundle/chunks/test-runs-FQ5WNQLP.js.map +0 -1
  633. package/dist/cli-bundle/chunks/test-runs-PX73DMMI.js.map +0 -7
  634. package/dist/cli-bundle/chunks/update-BSKMQOYH.js +0 -28
  635. package/dist/cli-bundle/chunks/update-FIGYNQ2I.js +0 -24
  636. package/dist/cli-bundle/chunks/validate-54SYJ7QW.js.map +0 -1
  637. package/dist/cli-bundle/chunks/validate-HYZNIB6W.js.map +0 -7
  638. package/docs/examples/policy-restricted-extension/index.js +0 -21
  639. package/packages/pm-beads/extensions/beads/index.js +0 -64
  640. package/packages/pm-beads/extensions/beads/runtime-loader.js +0 -86
  641. package/packages/pm-beads/extensions/beads/runtime.js +0 -482
  642. package/packages/pm-calendar/extensions/calendar/index.js +0 -150
  643. package/packages/pm-calendar/extensions/calendar/runtime.js +0 -126
  644. package/packages/pm-command-kit/extensions/command-kit/index.js +0 -181
  645. package/packages/pm-governance-audit/extensions/governance-audit/index.js +0 -177
  646. package/packages/pm-governance-audit/extensions/governance-audit/runtime.js +0 -153
  647. package/packages/pm-guide-shell/extensions/guide-shell/index.js +0 -98
  648. package/packages/pm-guide-shell/extensions/guide-shell/runtime.js +0 -294
  649. package/packages/pm-lifecycle-hooks/extensions/lifecycle-hooks/index.js +0 -18
  650. package/packages/pm-linked-test-adapters/extensions/linked-test-adapters/index.js +0 -124
  651. package/packages/pm-linked-test-adapters/extensions/linked-test-adapters/runtime.js +0 -110
  652. package/packages/pm-search-advanced/extensions/search-advanced/index.js +0 -258
  653. package/packages/pm-search-advanced/extensions/search-advanced/runtime.js +0 -361
  654. package/packages/pm-templates/extensions/templates/index.js +0 -132
  655. package/packages/pm-templates/extensions/templates/runtime.js +0 -35
  656. package/packages/pm-todos/extensions/todos/index.js +0 -81
  657. package/packages/pm-todos/extensions/todos/runtime-loader.js +0 -86
  658. package/packages/pm-todos/extensions/todos/runtime.js +0 -545
  659. /package/dist/cli-bundle/chunks/{activity-54TXGJ2T.js.map → activity-EJBMXUBH.js.map} +0 -0
  660. /package/dist/cli-bundle/chunks/{activity-N7RVTLBQ.js.map → activity-MVSEND6D.js.map} +0 -0
  661. /package/dist/cli-bundle/chunks/{chunk-F32L4HR6.js.map → chunk-3JWQCLR5.js.map} +0 -0
  662. /package/dist/cli-bundle/chunks/{chunk-YV2OSAMS.js.map → chunk-4TXTVZL3.js.map} +0 -0
  663. /package/dist/cli-bundle/chunks/{chunk-AYPQUFCX.js.map → chunk-4YIMPANT.js.map} +0 -0
  664. /package/dist/cli-bundle/chunks/{chunk-EOGBMLCE.js.map → chunk-73PTKMAE.js.map} +0 -0
  665. /package/dist/cli-bundle/chunks/{chunk-2WCYE3IF.js.map → chunk-7RIJGN4R.js.map} +0 -0
  666. /package/dist/cli-bundle/chunks/{chunk-CZIFFMZI.js.map → chunk-BN3CWK6G.js.map} +0 -0
  667. /package/dist/cli-bundle/chunks/{chunk-J3NMWFIN.js.map → chunk-C2KCIZKZ.js.map} +0 -0
  668. /package/dist/cli-bundle/chunks/{chunk-TIM4OD74.js.map → chunk-CHRNYKNI.js.map} +0 -0
  669. /package/dist/cli-bundle/chunks/{chunk-KIEAK7YE.js.map → chunk-D6USKAMA.js.map} +0 -0
  670. /package/dist/cli-bundle/chunks/{chunk-3BKH2CL3.js.map → chunk-DLDCPF5X.js.map} +0 -0
  671. /package/dist/cli-bundle/chunks/{chunk-CG3KP6I5.js.map → chunk-E2Q2ULMR.js.map} +0 -0
  672. /package/dist/cli-bundle/chunks/{chunk-PEL2NLQE.js.map → chunk-F6VH3LFC.js.map} +0 -0
  673. /package/dist/cli-bundle/chunks/{chunk-5BBEWX6C.js.map → chunk-FDEVKXC4.js.map} +0 -0
  674. /package/dist/cli-bundle/chunks/{chunk-QOUOMPHO.js.map → chunk-HUYYMTGW.js.map} +0 -0
  675. /package/dist/cli-bundle/chunks/{chunk-KKX4Z2SE.js.map → chunk-IHXXUIXS.js.map} +0 -0
  676. /package/dist/cli-bundle/chunks/{chunk-F4BNR2IN.js.map → chunk-JIP67N2K.js.map} +0 -0
  677. /package/dist/cli-bundle/chunks/{chunk-FMWW2JDU.js.map → chunk-KRASIL6M.js.map} +0 -0
  678. /package/dist/cli-bundle/chunks/{chunk-I6QMJ2XT.js.map → chunk-MLHX6DN5.js.map} +0 -0
  679. /package/dist/cli-bundle/chunks/{chunk-5S4ZGDB2.js.map → chunk-OB3RJV5F.js.map} +0 -0
  680. /package/dist/cli-bundle/chunks/{chunk-SKC4UTRP.js.map → chunk-OUQ5JEFM.js.map} +0 -0
  681. /package/dist/cli-bundle/chunks/{chunk-JPJDP4VU.js.map → chunk-QE5UFCCO.js.map} +0 -0
  682. /package/dist/cli-bundle/chunks/{chunk-WB5BYQMF.js.map → chunk-SJZTPVFT.js.map} +0 -0
  683. /package/dist/cli-bundle/chunks/{chunk-ZLWRPBOW.js.map → chunk-V3KLX7U7.js.map} +0 -0
  684. /package/dist/cli-bundle/chunks/{chunk-OQ2E64FH.js.map → chunk-Z5BM2FKQ.js.map} +0 -0
  685. /package/dist/cli-bundle/chunks/{chunk-IXAZI443.js.map → chunk-ZEATCVAC.js.map} +0 -0
  686. /package/dist/cli-bundle/chunks/{chunk-C4C3EJCJ.js.map → chunk-ZFIEEDTJ.js.map} +0 -0
  687. /package/dist/cli-bundle/chunks/{close-JEBZXONN.js.map → close-37KEHLYM.js.map} +0 -0
  688. /package/dist/cli-bundle/chunks/{close-QHMVWM7M.js.map → close-OP3LK7Z2.js.map} +0 -0
  689. /package/dist/cli-bundle/chunks/{create-CLSCHGJJ.js.map → context-7ZEZV3BV.js.map} +0 -0
  690. /package/dist/cli-bundle/chunks/{create-O4VONGPG.js.map → context-XDI4DKKT.js.map} +0 -0
  691. /package/dist/cli-bundle/chunks/{extension-YQF4CPIR.js.map → create-DFMNBKBS.js.map} +0 -0
  692. /package/dist/cli-bundle/chunks/{extension-3JYWJ5K2.js.map → create-J5Q2ELZT.js.map} +0 -0
  693. /package/dist/cli-bundle/chunks/{history-RUKPKNY7.js.map → extension-3LRYX7SW.js.map} +0 -0
  694. /package/dist/cli-bundle/chunks/{history-ALTM2RRP.js.map → extension-GMVOIP4O.js.map} +0 -0
  695. /package/dist/cli-bundle/chunks/{gc-BEJMQT64.js.map → gc-FULIVYR4.js.map} +0 -0
  696. /package/dist/cli-bundle/chunks/{gc-JEFQDJPA.js.map → gc-MDGRR2SU.js.map} +0 -0
  697. /package/dist/cli-bundle/chunks/{history-redact-5YGLWUDH.js.map → history-5XUSLAJA.js.map} +0 -0
  698. /package/dist/cli-bundle/chunks/{history-redact-YY4XYVEP.js.map → history-X4OSES6K.js.map} +0 -0
  699. /package/dist/cli-bundle/chunks/{init-HBFGYS66.js.map → history-redact-45YW65BK.js.map} +0 -0
  700. /package/dist/cli-bundle/chunks/{init-C4CRHW22.js.map → history-redact-BVHWDXPR.js.map} +0 -0
  701. /package/dist/cli-bundle/chunks/{list-C7R33MD5.js.map → init-KO7CGIRQ.js.map} +0 -0
  702. /package/dist/cli-bundle/chunks/{list-DSN6UNFB.js.map → init-TRYJELH4.js.map} +0 -0
  703. /package/dist/cli-bundle/chunks/{restore-LL2WLEDG.js.map → list-ROT7JF62.js.map} +0 -0
  704. /package/dist/cli-bundle/chunks/{restore-LQHXBAY5.js.map → list-Y6AU5BJS.js.map} +0 -0
  705. /package/dist/cli-bundle/chunks/{search-2EI6EAXH.js.map → restore-DKMCLPI5.js.map} +0 -0
  706. /package/dist/cli-bundle/chunks/{search-QBFBLQRO.js.map → restore-IRAKSWIW.js.map} +0 -0
  707. /package/dist/cli-bundle/chunks/{test-NV2DRPUS.js.map → schema-OLT6LVKH.js.map} +0 -0
  708. /package/dist/cli-bundle/chunks/{test-WA6RZGM2.js.map → schema-XJXKJQF5.js.map} +0 -0
  709. /package/dist/cli-bundle/chunks/{update-BSKMQOYH.js.map → search-CX5UMV4H.js.map} +0 -0
  710. /package/dist/cli-bundle/chunks/{update-FIGYNQ2I.js.map → search-KP6H7COV.js.map} +0 -0
  711. /package/dist/cli-bundle/chunks/{telemetry-LQ6FRTUT.js.map → telemetry-DIFPXCAT.js.map} +0 -0
  712. /package/dist/cli-bundle/chunks/{telemetry-BT2VSWU2.js.map → telemetry-WTYFUPRL.js.map} +0 -0
@@ -5,10 +5,11 @@ import crypto from "node:crypto";
5
5
  !(function() {
6
6
  try {
7
7
  var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
8
- n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "4ddafbee-315f-5aa0-b08f-d4d7a82cfe8d");
8
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "4ba3885b-85fc-5941-bf52-6c70b2bb5c2a");
9
9
  } catch (e2) {
10
10
  }
11
11
  })();
12
+ var WINDOWS_RENAME_RETRY_DELAYS_MS = [10, 25, 50, 100];
12
13
  async function ensureDir(dirPath) {
13
14
  await fs.mkdir(dirPath, { recursive: true });
14
15
  }
@@ -38,6 +39,26 @@ async function writeFileAtomic(targetPath, contents) {
38
39
  try {
39
40
  await fs.rename(tempPath, targetPath);
40
41
  } catch (error) {
42
+ if (process.platform === "win32" && (isErrno(error, "EPERM") || isErrno(error, "EBUSY"))) {
43
+ let lastError = error;
44
+ for (const delayMs of WINDOWS_RENAME_RETRY_DELAYS_MS) {
45
+ await new Promise((resolve) => setTimeout(resolve, delayMs));
46
+ try {
47
+ await fs.rename(tempPath, targetPath);
48
+ return;
49
+ } catch (retryError) {
50
+ lastError = retryError;
51
+ if (!isErrno(retryError, "EPERM") && !isErrno(retryError, "EBUSY")) {
52
+ break;
53
+ }
54
+ }
55
+ }
56
+ try {
57
+ await fs.unlink(tempPath);
58
+ } catch {
59
+ }
60
+ throw lastError;
61
+ }
41
62
  if (isErrno(error, "EXDEV")) {
42
63
  try {
43
64
  await fs.copyFile(tempPath, targetPath);
@@ -156,7 +177,7 @@ function resolvePmCliVersion(metaUrl, fallbackRelativeSegments = []) {
156
177
  !(function() {
157
178
  try {
158
179
  var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
159
- n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "a8e01f7b-34b8-58a6-b894-3fcb8bad7d73");
180
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "add4a412-10a4-5c04-b3a2-998cc74fdd38");
160
181
  } catch (e2) {
161
182
  }
162
183
  })();
@@ -197,6 +218,7 @@ var KNOWN_EXTENSION_POLICY_SURFACES = [
197
218
  "schema.itemfields",
198
219
  "schema.itemtypes",
199
220
  "schema.migrations",
221
+ "schema.profiles",
200
222
  "parser.override",
201
223
  "preflight.override",
202
224
  "services.override",
@@ -641,6 +663,824 @@ function resolveTelemetryErrorCategory(errorCode) {
641
663
  return "unknown";
642
664
  }
643
665
 
666
+ // dist/types.js
667
+ !(function() {
668
+ try {
669
+ var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
670
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "46812059-b93e-5599-a222-4ac0de6f4911");
671
+ } catch (e2) {
672
+ }
673
+ })();
674
+ var BUILTIN_ITEM_TYPE_VALUES = [
675
+ "Epic",
676
+ "Feature",
677
+ "Task",
678
+ "Chore",
679
+ "Issue",
680
+ "Decision",
681
+ "Event",
682
+ "Reminder",
683
+ "Milestone",
684
+ "Meeting",
685
+ "Plan"
686
+ ];
687
+ var ITEM_TYPE_VALUES = BUILTIN_ITEM_TYPE_VALUES;
688
+ var STATUS_VALUES = [
689
+ "draft",
690
+ "open",
691
+ "in_progress",
692
+ "blocked",
693
+ "closed",
694
+ "canceled"
695
+ ];
696
+ var RUNTIME_STATUS_ROLE_VALUES = [
697
+ "draft",
698
+ "active",
699
+ "blocked",
700
+ "terminal",
701
+ "terminal_done",
702
+ "terminal_canceled",
703
+ "default_open",
704
+ "default_close",
705
+ "default_cancel"
706
+ ];
707
+ var RUNTIME_FIELD_TYPE_VALUES = ["string", "number", "boolean", "string_array"];
708
+ var RUNTIME_FIELD_COMMAND_VALUES = ["create", "update", "update_many", "list", "search", "calendar", "context"];
709
+ var RUNTIME_UNKNOWN_FIELD_POLICY_VALUES = ["allow", "warn", "reject"];
710
+ var DEPENDENCY_KIND_VALUES = [
711
+ "blocks",
712
+ "parent",
713
+ "child",
714
+ "parent_child",
715
+ "child_of",
716
+ "related",
717
+ "related_to",
718
+ "discovered_from",
719
+ "blocked_by",
720
+ "incident_from",
721
+ "epic",
722
+ "supersedes",
723
+ "task"
724
+ ];
725
+ var SCOPE_VALUES = ["project", "global"];
726
+ var RISK_VALUES = ["low", "medium", "high", "critical"];
727
+ var ISSUE_SEVERITY_VALUES = ["low", "medium", "high", "critical"];
728
+ var CONFIDENCE_TEXT_VALUES = ["low", "medium", "high"];
729
+ var GOVERNANCE_PRESET_VALUES = ["minimal", "default", "strict", "custom"];
730
+ var RECURRENCE_FREQUENCY_VALUES = ["daily", "weekly", "monthly", "yearly"];
731
+ var RECURRENCE_WEEKDAY_VALUES = ["mon", "tue", "wed", "thu", "fri", "sat", "sun"];
732
+ function weekdayOrderIndex(value) {
733
+ return RECURRENCE_WEEKDAY_VALUES.indexOf(value);
734
+ }
735
+ var PLAN_MODE_VALUES = [
736
+ "draft",
737
+ "research",
738
+ "review",
739
+ "approved",
740
+ "executing",
741
+ "paused",
742
+ "completed",
743
+ "superseded"
744
+ ];
745
+ var PLAN_STEP_STATUS_VALUES = [
746
+ "pending",
747
+ "in_progress",
748
+ "completed",
749
+ "blocked",
750
+ "skipped",
751
+ "superseded"
752
+ ];
753
+ var PLAN_HARNESS_VALUES = ["codex", "claude-code", "cursor", "generic"];
754
+ var PLAN_STEP_LINK_KIND_VALUES = [
755
+ "related",
756
+ "blocks",
757
+ "blocked_by",
758
+ "depends_on",
759
+ "discovered_from",
760
+ "implements",
761
+ "verifies",
762
+ "supersedes"
763
+ ];
764
+ var CONTEXT_DEPTH_VALUES = ["brief", "standard", "deep", "full"];
765
+ var CONTEXT_SECTION_VALUES = [
766
+ "hierarchy",
767
+ "activity",
768
+ "progress",
769
+ "recently_created",
770
+ "unparented",
771
+ "blockers",
772
+ "files",
773
+ "workload",
774
+ "staleness",
775
+ "tests"
776
+ ];
777
+
778
+ // dist/types/index.js
779
+ !(function() {
780
+ try {
781
+ var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
782
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "c57bc662-d60a-54b1-b2da-a7d9d7fde67a");
783
+ } catch (e2) {
784
+ }
785
+ })();
786
+
787
+ // dist/core/item/item-type-definition.js
788
+ !(function() {
789
+ try {
790
+ var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
791
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "257435ee-2ef3-5736-a403-57d6265cf280");
792
+ } catch (e2) {
793
+ }
794
+ })();
795
+ function normalizeItemTypeStringList(values) {
796
+ return [...new Set((values ?? []).map((value) => value.trim()).filter((value) => value.length > 0))].sort((left, right) => left.localeCompare(right));
797
+ }
798
+ function normalizeItemTypeOption(option) {
799
+ const key = option.key.trim();
800
+ if (key.length === 0) {
801
+ return null;
802
+ }
803
+ const aliases = normalizeItemTypeStringList(option.aliases);
804
+ const description = option.description?.trim();
805
+ return {
806
+ key,
807
+ values: normalizeItemTypeStringList(option.values),
808
+ required: option.required === true ? true : void 0,
809
+ aliases: aliases.length > 0 ? aliases : void 0,
810
+ description: description && description.length > 0 ? description : void 0
811
+ };
812
+ }
813
+ var keepPolicyCommand = (command) => command;
814
+ var strictPolicyCommand = (command) => {
815
+ const normalized = command.trim().toLowerCase();
816
+ return normalized === "create" || normalized === "update" ? normalized : null;
817
+ };
818
+ function normalizeItemTypeCommandOptionPolicy(policy, resolvePolicyCommand) {
819
+ const command = resolvePolicyCommand(policy.command);
820
+ if (command === null) {
821
+ return null;
822
+ }
823
+ const option = policy.option.trim();
824
+ if (option.length === 0) {
825
+ return null;
826
+ }
827
+ return {
828
+ command,
829
+ option,
830
+ required: policy.required,
831
+ visible: policy.visible,
832
+ enabled: policy.enabled
833
+ };
834
+ }
835
+ function normalizeItemTypeCommandOptionPolicies(policies, resolvePolicyCommand) {
836
+ const dedupedByKey = /* @__PURE__ */ new Map();
837
+ for (const policy of policies ?? []) {
838
+ const normalized = normalizeItemTypeCommandOptionPolicy(policy, resolvePolicyCommand);
839
+ if (!normalized) {
840
+ continue;
841
+ }
842
+ dedupedByKey.set(`${normalized.command}:${normalized.option.toLowerCase()}`, normalized);
843
+ }
844
+ return [...dedupedByKey.values()].sort((left, right) => left.command === right.command ? left.option.localeCompare(right.option) : left.command.localeCompare(right.command));
845
+ }
846
+ function normalizeItemTypeDefinition(definition, options = {}) {
847
+ const resolvePolicyCommand = options.resolvePolicyCommand ?? keepPolicyCommand;
848
+ const name = definition.name.trim();
849
+ if (name.length === 0) {
850
+ return null;
851
+ }
852
+ const hasRequiredCreateFields = definition.required_create_fields !== void 0;
853
+ const hasRequiredCreateRepeatables = definition.required_create_repeatables !== void 0;
854
+ const hasOptions = definition.options !== void 0;
855
+ const hasCommandOptionPolicies = definition.command_option_policies !== void 0;
856
+ const folder = definition.folder?.trim();
857
+ const description = definition.description?.trim();
858
+ const defaultStatus = definition.default_status?.trim();
859
+ const aliases = normalizeItemTypeStringList(definition.aliases);
860
+ const normalizedOptions = (definition.options ?? []).map((option) => normalizeItemTypeOption(option)).filter((option) => option !== null).sort((left, right) => left.key.localeCompare(right.key));
861
+ const commandOptionPolicies = normalizeItemTypeCommandOptionPolicies(definition.command_option_policies, resolvePolicyCommand);
862
+ return {
863
+ name,
864
+ description: description && description.length > 0 ? description : void 0,
865
+ default_status: defaultStatus && defaultStatus.length > 0 ? defaultStatus : void 0,
866
+ folder: folder && folder.length > 0 ? folder : void 0,
867
+ aliases: aliases.length > 0 ? aliases : void 0,
868
+ required_create_fields: hasRequiredCreateFields ? normalizeItemTypeStringList(definition.required_create_fields) : void 0,
869
+ required_create_repeatables: hasRequiredCreateRepeatables ? normalizeItemTypeStringList(definition.required_create_repeatables) : void 0,
870
+ options: hasOptions ? normalizedOptions : void 0,
871
+ command_option_policies: hasCommandOptionPolicies ? commandOptionPolicies : void 0
872
+ };
873
+ }
874
+
875
+ // dist/core/item/type-registry.js
876
+ !(function() {
877
+ try {
878
+ var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
879
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "aca609de-d881-5f34-804f-ed3daa6aab2a");
880
+ } catch (e2) {
881
+ }
882
+ })();
883
+ var DEFAULT_REQUIRED_CREATE_FIELDS = [
884
+ "title",
885
+ "description",
886
+ "status",
887
+ "priority",
888
+ "tags",
889
+ "body",
890
+ "deadline",
891
+ "estimatedMinutes",
892
+ "acceptanceCriteria",
893
+ "author",
894
+ "message",
895
+ "assignee"
896
+ ];
897
+ var DEFAULT_REQUIRED_CREATE_REPEATABLES = ["dep", "comment", "note", "learning", "file", "test", "doc"];
898
+ var COMMON_MUTATION_COMMAND_OPTION_KEYS = [
899
+ "deadline",
900
+ "estimatedMinutes",
901
+ "acceptanceCriteria",
902
+ "definitionOfReady",
903
+ "order",
904
+ "goal",
905
+ "objective",
906
+ "value",
907
+ "impact",
908
+ "outcome",
909
+ "whyNow",
910
+ "assignee",
911
+ "parent",
912
+ "reviewer",
913
+ "risk",
914
+ "confidence",
915
+ "sprint",
916
+ "release",
917
+ "blockedBy",
918
+ "blockedReason",
919
+ "unblockNote",
920
+ "reporter",
921
+ "severity",
922
+ "environment",
923
+ "reproSteps",
924
+ "resolution",
925
+ "expectedResult",
926
+ "actualResult",
927
+ "affectedVersion",
928
+ "fixedVersion",
929
+ "component",
930
+ "regression",
931
+ "customerImpact"
932
+ ];
933
+ var CREATE_COMMAND_OPTION_KEYS = [
934
+ "title",
935
+ "description",
936
+ "type",
937
+ "status",
938
+ "priority",
939
+ "tags",
940
+ "body",
941
+ ...COMMON_MUTATION_COMMAND_OPTION_KEYS,
942
+ "author",
943
+ "message",
944
+ "dep",
945
+ "comment",
946
+ "note",
947
+ "learning",
948
+ "file",
949
+ "test",
950
+ "doc",
951
+ "reminder",
952
+ "event",
953
+ "typeOption",
954
+ "field"
955
+ ];
956
+ var UPDATE_COMMAND_OPTION_KEYS = [
957
+ "title",
958
+ "description",
959
+ "body",
960
+ "status",
961
+ "closeReason",
962
+ "priority",
963
+ "type",
964
+ "tags",
965
+ ...COMMON_MUTATION_COMMAND_OPTION_KEYS,
966
+ "author",
967
+ "message",
968
+ "comment",
969
+ "note",
970
+ "learning",
971
+ "file",
972
+ "test",
973
+ "doc",
974
+ "reminder",
975
+ "event",
976
+ "typeOption",
977
+ "field",
978
+ "allowAuditUpdate",
979
+ "force"
980
+ ];
981
+ var SHARED_COMMAND_OPTION_ALIASES = {
982
+ "close-reason": "closeReason",
983
+ close_reason: "closeReason",
984
+ "estimated-minutes": "estimatedMinutes",
985
+ estimated_minutes: "estimatedMinutes",
986
+ estimate: "estimatedMinutes",
987
+ "acceptance-criteria": "acceptanceCriteria",
988
+ acceptance_criteria: "acceptanceCriteria",
989
+ ac: "acceptanceCriteria",
990
+ "definition-of-ready": "definitionOfReady",
991
+ definition_of_ready: "definitionOfReady",
992
+ rank: "order",
993
+ "why-now": "whyNow",
994
+ why_now: "whyNow",
995
+ "blocked-by": "blockedBy",
996
+ blocked_by: "blockedBy",
997
+ "blocked-reason": "blockedReason",
998
+ blocked_reason: "blockedReason",
999
+ "unblock-note": "unblockNote",
1000
+ unblock_note: "unblockNote",
1001
+ "repro-steps": "reproSteps",
1002
+ repro_steps: "reproSteps",
1003
+ "expected-result": "expectedResult",
1004
+ expected_result: "expectedResult",
1005
+ "actual-result": "actualResult",
1006
+ actual_result: "actualResult",
1007
+ "affected-version": "affectedVersion",
1008
+ affected_version: "affectedVersion",
1009
+ "fixed-version": "fixedVersion",
1010
+ fixed_version: "fixedVersion",
1011
+ "customer-impact": "customerImpact",
1012
+ customer_impact: "customerImpact",
1013
+ "type-option": "typeOption",
1014
+ type_option: "typeOption",
1015
+ type_options: "typeOption"
1016
+ };
1017
+ var CREATE_COMMAND_OPTION_ALIASES = {
1018
+ ...SHARED_COMMAND_OPTION_ALIASES
1019
+ };
1020
+ var UPDATE_COMMAND_OPTION_ALIASES = {
1021
+ ...SHARED_COMMAND_OPTION_ALIASES,
1022
+ "allow-audit-update": "allowAuditUpdate",
1023
+ allow_audit_update: "allowAuditUpdate"
1024
+ };
1025
+ var CREATE_COMMAND_OPTION_FLAG_LABELS = {
1026
+ title: "--title",
1027
+ description: "--description",
1028
+ type: "--type",
1029
+ status: "--status",
1030
+ priority: "--priority",
1031
+ tags: "--tags",
1032
+ body: "--body",
1033
+ deadline: "--deadline",
1034
+ estimatedMinutes: "--estimate/--estimated-minutes",
1035
+ acceptanceCriteria: "--acceptance-criteria/--ac",
1036
+ definitionOfReady: "--definition-of-ready",
1037
+ order: "--order/--rank",
1038
+ goal: "--goal",
1039
+ objective: "--objective",
1040
+ value: "--value",
1041
+ impact: "--impact",
1042
+ outcome: "--outcome",
1043
+ whyNow: "--why-now",
1044
+ author: "--author",
1045
+ message: "--message",
1046
+ assignee: "--assignee",
1047
+ parent: "--parent",
1048
+ reviewer: "--reviewer",
1049
+ risk: "--risk",
1050
+ confidence: "--confidence",
1051
+ sprint: "--sprint",
1052
+ release: "--release",
1053
+ blockedBy: "--blocked-by",
1054
+ blockedReason: "--blocked-reason",
1055
+ unblockNote: "--unblock-note",
1056
+ reporter: "--reporter",
1057
+ severity: "--severity",
1058
+ environment: "--environment",
1059
+ reproSteps: "--repro-steps",
1060
+ resolution: "--resolution",
1061
+ expectedResult: "--expected-result",
1062
+ actualResult: "--actual-result",
1063
+ affectedVersion: "--affected-version",
1064
+ fixedVersion: "--fixed-version",
1065
+ component: "--component",
1066
+ regression: "--regression",
1067
+ customerImpact: "--customer-impact",
1068
+ dep: "--dep",
1069
+ comment: "--comment",
1070
+ note: "--note",
1071
+ learning: "--learning",
1072
+ file: "--file",
1073
+ test: "--test",
1074
+ doc: "--doc",
1075
+ reminder: "--reminder",
1076
+ event: "--event",
1077
+ typeOption: "--type-option"
1078
+ };
1079
+ var UPDATE_COMMAND_OPTION_FLAG_LABELS = {
1080
+ title: "--title",
1081
+ description: "--description",
1082
+ body: "--body",
1083
+ status: "--status",
1084
+ closeReason: "--close-reason",
1085
+ priority: "--priority",
1086
+ type: "--type",
1087
+ tags: "--tags",
1088
+ deadline: "--deadline",
1089
+ estimatedMinutes: "--estimate/--estimated-minutes",
1090
+ acceptanceCriteria: "--acceptance-criteria/--ac",
1091
+ definitionOfReady: "--definition-of-ready",
1092
+ order: "--order/--rank",
1093
+ goal: "--goal",
1094
+ objective: "--objective",
1095
+ value: "--value",
1096
+ impact: "--impact",
1097
+ outcome: "--outcome",
1098
+ whyNow: "--why-now",
1099
+ assignee: "--assignee",
1100
+ parent: "--parent",
1101
+ reviewer: "--reviewer",
1102
+ risk: "--risk",
1103
+ confidence: "--confidence",
1104
+ sprint: "--sprint",
1105
+ release: "--release",
1106
+ blockedBy: "--blocked-by",
1107
+ blockedReason: "--blocked-reason",
1108
+ unblockNote: "--unblock-note",
1109
+ reporter: "--reporter",
1110
+ severity: "--severity",
1111
+ environment: "--environment",
1112
+ reproSteps: "--repro-steps",
1113
+ resolution: "--resolution",
1114
+ expectedResult: "--expected-result",
1115
+ actualResult: "--actual-result",
1116
+ affectedVersion: "--affected-version",
1117
+ fixedVersion: "--fixed-version",
1118
+ component: "--component",
1119
+ regression: "--regression",
1120
+ customerImpact: "--customer-impact",
1121
+ comment: "--comment",
1122
+ note: "--note",
1123
+ learning: "--learning",
1124
+ file: "--file",
1125
+ test: "--test",
1126
+ doc: "--doc",
1127
+ reminder: "--reminder",
1128
+ event: "--event",
1129
+ typeOption: "--type-option",
1130
+ allowAuditUpdate: "--allow-audit-update",
1131
+ author: "--author",
1132
+ message: "--message",
1133
+ force: "--force"
1134
+ };
1135
+ function normalizeCommandOptionToken(value) {
1136
+ return value.trim().replace(/^--+/, "").toLowerCase();
1137
+ }
1138
+ function commandOptionKeys(command) {
1139
+ return command === "create" ? CREATE_COMMAND_OPTION_KEYS : UPDATE_COMMAND_OPTION_KEYS;
1140
+ }
1141
+ function commandOptionAliases(command) {
1142
+ return command === "create" ? CREATE_COMMAND_OPTION_ALIASES : UPDATE_COMMAND_OPTION_ALIASES;
1143
+ }
1144
+ function canonicalizeCommandOptionKey(command, rawOption) {
1145
+ const normalizedToken = normalizeCommandOptionToken(rawOption);
1146
+ if (normalizedToken.length === 0) {
1147
+ return void 0;
1148
+ }
1149
+ const aliased = commandOptionAliases(command)[normalizedToken];
1150
+ if (aliased) {
1151
+ return aliased;
1152
+ }
1153
+ return commandOptionKeys(command).find((candidate) => candidate.toLowerCase() === normalizedToken);
1154
+ }
1155
+ function commandOptionFlagLabel(command, optionKey) {
1156
+ const labels = command === "create" ? CREATE_COMMAND_OPTION_FLAG_LABELS : UPDATE_COMMAND_OPTION_FLAG_LABELS;
1157
+ return labels[optionKey] ?? `--${optionKey.replace(/([A-Z])/g, "-$1").toLowerCase()}`;
1158
+ }
1159
+ function toDefaultFolder(name) {
1160
+ const normalized = toSlugToken(name);
1161
+ if (normalized.length === 0) {
1162
+ return "items";
1163
+ }
1164
+ return normalized.endsWith("s") ? normalized : `${normalized}s`;
1165
+ }
1166
+ function toSlugToken(value) {
1167
+ const trimmed = value.trim().toLowerCase();
1168
+ let slug = "";
1169
+ let pendingDash = false;
1170
+ for (const character of trimmed) {
1171
+ const code = character.charCodeAt(0);
1172
+ const isAlpha = code >= 97 && code <= 122;
1173
+ const isDigit = code >= 48 && code <= 57;
1174
+ if (isAlpha || isDigit) {
1175
+ if (pendingDash && slug.length > 0) {
1176
+ slug += "-";
1177
+ }
1178
+ slug += character;
1179
+ pendingDash = false;
1180
+ continue;
1181
+ }
1182
+ if (slug.length > 0) {
1183
+ pendingDash = true;
1184
+ }
1185
+ }
1186
+ return slug;
1187
+ }
1188
+ function normalizeTypeDefinition(definition) {
1189
+ return normalizeItemTypeDefinition(definition, { resolvePolicyCommand: strictPolicyCommand });
1190
+ }
1191
+ function coerceTypeDefinitionFromUnknown(raw) {
1192
+ if (typeof raw !== "object" || raw === null || Array.isArray(raw)) {
1193
+ return null;
1194
+ }
1195
+ const record = raw;
1196
+ const name = typeof record.name === "string" ? record.name : "";
1197
+ if (name.trim().length === 0) {
1198
+ return null;
1199
+ }
1200
+ const folder = typeof record.folder === "string" ? record.folder : void 0;
1201
+ const description = typeof record.description === "string" ? record.description : void 0;
1202
+ const defaultStatus = typeof record.default_status === "string" ? record.default_status : void 0;
1203
+ const aliases = Array.isArray(record.aliases) ? record.aliases.filter((value) => typeof value === "string") : void 0;
1204
+ const requiredCreateFields = Array.isArray(record.required_create_fields) ? record.required_create_fields.filter((value) => typeof value === "string") : void 0;
1205
+ const requiredCreateRepeatables = Array.isArray(record.required_create_repeatables) ? record.required_create_repeatables.filter((value) => typeof value === "string") : void 0;
1206
+ let options;
1207
+ if (Array.isArray(record.options)) {
1208
+ options = [];
1209
+ for (const entry of record.options) {
1210
+ if (typeof entry !== "object" || entry === null || Array.isArray(entry)) {
1211
+ continue;
1212
+ }
1213
+ const optionRecord = entry;
1214
+ if (typeof optionRecord.key !== "string") {
1215
+ continue;
1216
+ }
1217
+ options.push({
1218
+ key: optionRecord.key,
1219
+ values: Array.isArray(optionRecord.values) ? optionRecord.values.filter((value) => typeof value === "string") : [],
1220
+ required: optionRecord.required === void 0 ? void 0 : Boolean(optionRecord.required),
1221
+ aliases: Array.isArray(optionRecord.aliases) ? optionRecord.aliases.filter((value) => typeof value === "string") : void 0,
1222
+ description: typeof optionRecord.description === "string" ? optionRecord.description : void 0
1223
+ });
1224
+ }
1225
+ }
1226
+ let commandOptionPolicies;
1227
+ if (Array.isArray(record.command_option_policies)) {
1228
+ commandOptionPolicies = [];
1229
+ for (const entry of record.command_option_policies) {
1230
+ if (typeof entry !== "object" || entry === null || Array.isArray(entry)) {
1231
+ continue;
1232
+ }
1233
+ const policyRecord = entry;
1234
+ if (typeof policyRecord.command !== "string" || typeof policyRecord.option !== "string") {
1235
+ continue;
1236
+ }
1237
+ const normalizedCommand = policyRecord.command.trim().toLowerCase();
1238
+ if (normalizedCommand !== "create" && normalizedCommand !== "update") {
1239
+ continue;
1240
+ }
1241
+ commandOptionPolicies.push({
1242
+ command: normalizedCommand,
1243
+ option: policyRecord.option,
1244
+ required: policyRecord.required === void 0 ? void 0 : Boolean(policyRecord.required),
1245
+ visible: policyRecord.visible === void 0 ? void 0 : Boolean(policyRecord.visible),
1246
+ enabled: policyRecord.enabled === void 0 ? void 0 : Boolean(policyRecord.enabled)
1247
+ });
1248
+ }
1249
+ }
1250
+ return {
1251
+ name,
1252
+ description,
1253
+ default_status: defaultStatus,
1254
+ folder,
1255
+ aliases,
1256
+ required_create_fields: requiredCreateFields,
1257
+ required_create_repeatables: requiredCreateRepeatables,
1258
+ options,
1259
+ command_option_policies: commandOptionPolicies
1260
+ };
1261
+ }
1262
+ function applyTypeDefinitions(source, target) {
1263
+ for (const rawDefinition of source) {
1264
+ const normalizedDefinition = normalizeTypeDefinition(rawDefinition);
1265
+ if (!normalizedDefinition) {
1266
+ continue;
1267
+ }
1268
+ const lowerName = normalizedDefinition.name.toLowerCase();
1269
+ const existing = target.get(lowerName);
1270
+ const keepName = existing?.name ?? normalizedDefinition.name;
1271
+ const folder = normalizedDefinition.folder ?? existing?.folder ?? toDefaultFolder(keepName);
1272
+ const aliases = normalizeItemTypeStringList([
1273
+ ...existing?.aliases ?? [],
1274
+ ...normalizedDefinition.aliases ?? []
1275
+ ]);
1276
+ const requiredCreateFields = normalizedDefinition.required_create_fields ? normalizeItemTypeStringList(normalizedDefinition.required_create_fields) : existing?.required_create_fields ?? [];
1277
+ const requiredCreateRepeatables = normalizedDefinition.required_create_repeatables ? normalizeItemTypeStringList(normalizedDefinition.required_create_repeatables) : existing?.required_create_repeatables ?? [];
1278
+ const options = normalizedDefinition.options ? normalizedDefinition.options : existing?.options ? [...existing.options] : [];
1279
+ const commandOptionPolicies = normalizedDefinition.command_option_policies ? normalizedDefinition.command_option_policies : existing?.command_option_policies ? [...existing.command_option_policies] : [];
1280
+ const defaultStatus = normalizedDefinition.default_status ?? existing?.default_status;
1281
+ const description = normalizedDefinition.description ?? existing?.description;
1282
+ target.set(lowerName, {
1283
+ name: keepName,
1284
+ ...description ? { description } : {},
1285
+ ...defaultStatus ? { default_status: defaultStatus } : {},
1286
+ folder,
1287
+ aliases,
1288
+ required_create_fields: requiredCreateFields,
1289
+ required_create_repeatables: requiredCreateRepeatables,
1290
+ options,
1291
+ command_option_policies: commandOptionPolicies
1292
+ });
1293
+ }
1294
+ }
1295
+ function collectExtensionTypeDefinitions(registrations) {
1296
+ if (!registrations) {
1297
+ return [];
1298
+ }
1299
+ const definitions = [];
1300
+ for (const registration of registrations.item_types ?? []) {
1301
+ const typeDefinitionsRaw = registration.types;
1302
+ if (!Array.isArray(typeDefinitionsRaw)) {
1303
+ continue;
1304
+ }
1305
+ for (const rawDefinition of typeDefinitionsRaw) {
1306
+ const normalized = coerceTypeDefinitionFromUnknown(rawDefinition);
1307
+ if (normalized) {
1308
+ definitions.push(normalized);
1309
+ }
1310
+ }
1311
+ }
1312
+ return definitions;
1313
+ }
1314
+ function resolveItemTypeRegistry(settings, extensionRegistrations = null) {
1315
+ const byLowerName = /* @__PURE__ */ new Map();
1316
+ for (const builtin of ITEM_TYPE_VALUES) {
1317
+ byLowerName.set(builtin.toLowerCase(), {
1318
+ name: builtin,
1319
+ folder: TYPE_TO_FOLDER[builtin],
1320
+ aliases: [],
1321
+ required_create_fields: [...DEFAULT_REQUIRED_CREATE_FIELDS],
1322
+ required_create_repeatables: [...DEFAULT_REQUIRED_CREATE_REPEATABLES],
1323
+ options: [],
1324
+ command_option_policies: []
1325
+ });
1326
+ }
1327
+ applyTypeDefinitions(settings.item_types?.definitions ?? [], byLowerName);
1328
+ applyTypeDefinitions(collectExtensionTypeDefinitions(extensionRegistrations), byLowerName);
1329
+ const definitions = [...byLowerName.values()].sort((left, right) => left.name.localeCompare(right.name));
1330
+ const byType = {};
1331
+ const aliasToType = {};
1332
+ const typeToFolder = {};
1333
+ for (const definition of definitions) {
1334
+ byType[definition.name] = definition;
1335
+ typeToFolder[definition.name] = definition.folder;
1336
+ aliasToType[definition.name.toLowerCase()] = definition.name;
1337
+ for (const alias of definition.aliases) {
1338
+ aliasToType[alias.toLowerCase()] = definition.name;
1339
+ }
1340
+ }
1341
+ const folders = [...new Set(definitions.map((definition) => definition.folder))].sort((left, right) => left.localeCompare(right));
1342
+ return {
1343
+ types: definitions.map((definition) => definition.name),
1344
+ folders,
1345
+ type_to_folder: typeToFolder,
1346
+ by_type: byType,
1347
+ alias_to_type: aliasToType
1348
+ };
1349
+ }
1350
+ function resolveTypeName(rawType, registry) {
1351
+ if (rawType === void 0) {
1352
+ return void 0;
1353
+ }
1354
+ return registry.alias_to_type[rawType.trim().toLowerCase()];
1355
+ }
1356
+ function resolveTypeDefinition(typeName, registry) {
1357
+ const resolvedName = resolveTypeName(typeName, registry);
1358
+ if (!resolvedName) {
1359
+ return void 0;
1360
+ }
1361
+ return registry.by_type[resolvedName];
1362
+ }
1363
+ function resolveCommandOptionPolicyState(typeDefinition, command, baseRequiredOptions) {
1364
+ const errors = [];
1365
+ const required = /* @__PURE__ */ new Set();
1366
+ const hidden = /* @__PURE__ */ new Set();
1367
+ const disabled = /* @__PURE__ */ new Set();
1368
+ for (const rawBase of baseRequiredOptions) {
1369
+ const canonical = canonicalizeCommandOptionKey(command, rawBase);
1370
+ if (!canonical) {
1371
+ errors.push(`Unsupported base required option "${rawBase}" for command "${command}" on type "${typeDefinition.name}"`);
1372
+ continue;
1373
+ }
1374
+ required.add(canonical);
1375
+ }
1376
+ for (const policy of typeDefinition.command_option_policies) {
1377
+ if (policy.command !== command) {
1378
+ continue;
1379
+ }
1380
+ const canonical = canonicalizeCommandOptionKey(command, policy.option);
1381
+ if (!canonical) {
1382
+ errors.push(`Unsupported command_option_policies option "${policy.option}" for command "${command}" on type "${typeDefinition.name}"`);
1383
+ continue;
1384
+ }
1385
+ if (policy.required !== void 0) {
1386
+ if (policy.required) {
1387
+ required.add(canonical);
1388
+ } else {
1389
+ required.delete(canonical);
1390
+ }
1391
+ }
1392
+ if (policy.visible !== void 0) {
1393
+ if (policy.visible) {
1394
+ hidden.delete(canonical);
1395
+ } else {
1396
+ hidden.add(canonical);
1397
+ }
1398
+ }
1399
+ if (policy.enabled !== void 0) {
1400
+ if (policy.enabled) {
1401
+ disabled.delete(canonical);
1402
+ } else {
1403
+ disabled.add(canonical);
1404
+ }
1405
+ }
1406
+ }
1407
+ for (const option of required) {
1408
+ if (disabled.has(option)) {
1409
+ errors.push(`Option "${option}" cannot be both required and disabled for command "${command}" on type "${typeDefinition.name}"`);
1410
+ }
1411
+ }
1412
+ return {
1413
+ required: [...required],
1414
+ hidden: [...hidden].sort((left, right) => left.localeCompare(right)),
1415
+ disabled: [...disabled].sort((left, right) => left.localeCompare(right)),
1416
+ errors
1417
+ };
1418
+ }
1419
+ function validateTypeOptions(typeName, rawTypeOptions, registry) {
1420
+ const typeDefinition = resolveTypeDefinition(typeName, registry);
1421
+ if (!typeDefinition) {
1422
+ return {
1423
+ normalized: void 0,
1424
+ errors: [`Unknown type "${typeName}"`]
1425
+ };
1426
+ }
1427
+ const errors = [];
1428
+ const optionByAlias = /* @__PURE__ */ new Map();
1429
+ for (const option of typeDefinition.options) {
1430
+ optionByAlias.set(option.key.toLowerCase(), option);
1431
+ for (const alias of option.aliases ?? []) {
1432
+ optionByAlias.set(alias.toLowerCase(), option);
1433
+ }
1434
+ }
1435
+ const normalized = {};
1436
+ for (const [rawKey, rawValue] of Object.entries(rawTypeOptions ?? {})) {
1437
+ const trimmedKey = rawKey.trim();
1438
+ const trimmedValue = rawValue.trim();
1439
+ if (trimmedKey.length === 0) {
1440
+ errors.push("type option keys must not be empty");
1441
+ continue;
1442
+ }
1443
+ if (trimmedValue.length === 0) {
1444
+ errors.push(`type option "${trimmedKey}" must not be empty`);
1445
+ continue;
1446
+ }
1447
+ const optionDefinition = optionByAlias.get(trimmedKey.toLowerCase());
1448
+ if (!optionDefinition) {
1449
+ const allowed = typeDefinition.options.map((option) => option.key).join(", ");
1450
+ errors.push(typeDefinition.options.length > 0 ? `Unknown type option "${trimmedKey}" for type "${typeDefinition.name}". Allowed: ${allowed}` : `Type "${typeDefinition.name}" does not define any configurable type options`);
1451
+ continue;
1452
+ }
1453
+ const allowedValues = optionDefinition.values;
1454
+ let resolvedValue = trimmedValue;
1455
+ if (allowedValues.length > 0) {
1456
+ const valueLookup = new Map(allowedValues.map((value) => [value.toLowerCase(), value]));
1457
+ const canonical = valueLookup.get(trimmedValue.toLowerCase());
1458
+ if (!canonical) {
1459
+ errors.push(`Invalid value "${trimmedValue}" for type option "${optionDefinition.key}". Allowed: ${allowedValues.join(", ")}`);
1460
+ continue;
1461
+ }
1462
+ resolvedValue = canonical;
1463
+ }
1464
+ normalized[optionDefinition.key] = resolvedValue;
1465
+ }
1466
+ for (const option of typeDefinition.options) {
1467
+ if (option.required && !(option.key in normalized)) {
1468
+ errors.push(`Missing required type option "${option.key}" for type "${typeDefinition.name}"`);
1469
+ }
1470
+ }
1471
+ const sortedKeys = Object.keys(normalized).sort((left, right) => left.localeCompare(right));
1472
+ if (sortedKeys.length === 0) {
1473
+ return {
1474
+ normalized: void 0,
1475
+ errors
1476
+ };
1477
+ }
1478
+ return {
1479
+ normalized: Object.fromEntries(sortedKeys.map((key) => [key, normalized[key]])),
1480
+ errors
1481
+ };
1482
+ }
1483
+
644
1484
  // dist/core/store/paths.js
645
1485
  import { statSync } from "node:fs";
646
1486
  import os from "node:os";
@@ -648,7 +1488,7 @@ import path4 from "node:path";
648
1488
  !(function() {
649
1489
  try {
650
1490
  var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
651
- n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "7e5cc2a5-f199-5629-b251-a0e9df176341");
1491
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "d46f24c7-aad0-58e5-b27e-ce9388964d8a");
652
1492
  } catch (e2) {
653
1493
  }
654
1494
  })();
@@ -691,58 +1531,29 @@ function resolvePmRoot(cwd, cliPath) {
691
1531
  const resolved = path4.resolve(cwd, explicitPath);
692
1532
  if (!pathExists2(getSettingsPath(resolved))) {
693
1533
  const nestedRoot = path4.join(resolved, PM_DIRNAME);
694
- if (pathExists2(getSettingsPath(nestedRoot))) {
695
- return nestedRoot;
696
- }
697
- }
698
- return resolved;
699
- }
700
- const discoveredRoot = discoverPmRootFromAncestors(cwd);
701
- if (discoveredRoot) {
702
- return discoveredRoot;
703
- }
704
- const selected = PM_DIRNAME;
705
- return path4.resolve(cwd, selected);
706
- }
707
- function resolveGlobalPmRoot(cwd) {
708
- const envPath = process.env.PM_GLOBAL_PATH?.trim();
709
- const selected = envPath && envPath.length > 0 ? envPath : path4.join(os.homedir(), ".pm-cli");
710
- return path4.resolve(cwd, selected);
711
- }
712
- function getSettingsPath(pmRoot) {
713
- return path4.join(pmRoot, SETTINGS_FILENAME);
714
- }
715
- function deriveDefaultTypeFolder(type) {
716
- const normalized = toSlugToken(type);
717
- if (normalized.length === 0) {
718
- return "items";
719
- }
720
- return normalized.endsWith("s") ? normalized : `${normalized}s`;
721
- }
722
- function toSlugToken(value) {
723
- const trimmed = value.trim().toLowerCase();
724
- let slug = "";
725
- let pendingDash = false;
726
- for (const character of trimmed) {
727
- const code = character.charCodeAt(0);
728
- const isAlpha = code >= 97 && code <= 122;
729
- const isDigit = code >= 48 && code <= 57;
730
- if (isAlpha || isDigit) {
731
- if (pendingDash && slug.length > 0) {
732
- slug += "-";
733
- }
734
- slug += character;
735
- pendingDash = false;
736
- continue;
737
- }
738
- if (slug.length > 0) {
739
- pendingDash = true;
1534
+ if (pathExists2(getSettingsPath(nestedRoot))) {
1535
+ return nestedRoot;
1536
+ }
740
1537
  }
1538
+ return resolved;
741
1539
  }
742
- return slug;
1540
+ const discoveredRoot = discoverPmRootFromAncestors(cwd);
1541
+ if (discoveredRoot) {
1542
+ return discoveredRoot;
1543
+ }
1544
+ const selected = PM_DIRNAME;
1545
+ return path4.resolve(cwd, selected);
1546
+ }
1547
+ function resolveGlobalPmRoot(cwd) {
1548
+ const envPath = process.env.PM_GLOBAL_PATH?.trim();
1549
+ const selected = envPath && envPath.length > 0 ? envPath : path4.join(os.homedir(), ".pm-cli");
1550
+ return path4.resolve(cwd, selected);
1551
+ }
1552
+ function getSettingsPath(pmRoot) {
1553
+ return path4.join(pmRoot, SETTINGS_FILENAME);
743
1554
  }
744
1555
  function getTypeDirPath(pmRoot, type, typeToFolder = TYPE_TO_FOLDER) {
745
- const folder = typeToFolder[type] ?? deriveDefaultTypeFolder(type);
1556
+ const folder = typeToFolder[type] ?? toDefaultFolder(type);
746
1557
  return path4.join(pmRoot, folder);
747
1558
  }
748
1559
  function getItemPath(pmRoot, type, id, itemFormat = "toon", typeToFolder = TYPE_TO_FOLDER) {
@@ -853,11 +1664,63 @@ function asRecordLoose(value) {
853
1664
  return value;
854
1665
  }
855
1666
 
1667
+ // dist/core/shared/levenshtein.js
1668
+ !(function() {
1669
+ try {
1670
+ var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
1671
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "99ae52e7-bf5e-51ab-a222-d6ffb82027ff");
1672
+ } catch (e2) {
1673
+ }
1674
+ })();
1675
+ function levenshteinDistanceWithinLimit(left, right, limit) {
1676
+ if (left === right) {
1677
+ return 0;
1678
+ }
1679
+ if (Math.abs(left.length - right.length) > limit) {
1680
+ return null;
1681
+ }
1682
+ const width = right.length + 1;
1683
+ const beforePrevious = new Array(width);
1684
+ const previous = new Array(width);
1685
+ const current = new Array(width);
1686
+ for (let column = 0; column < width; column += 1) {
1687
+ beforePrevious[column] = 0;
1688
+ previous[column] = column;
1689
+ }
1690
+ for (let row = 1; row <= left.length; row += 1) {
1691
+ current[0] = row;
1692
+ let rowMin = current[0];
1693
+ for (let column = 1; column <= right.length; column += 1) {
1694
+ const cost = left[row - 1] === right[column - 1] ? 0 : 1;
1695
+ const substitution = previous[column - 1] + cost;
1696
+ const insertion = current[column - 1] + 1;
1697
+ const deletion = previous[column] + 1;
1698
+ let candidate = Math.min(substitution, insertion, deletion);
1699
+ if (row > 1 && column > 1 && left[row - 1] === right[column - 2] && left[row - 2] === right[column - 1]) {
1700
+ candidate = Math.min(candidate, beforePrevious[column - 2] + 1);
1701
+ }
1702
+ current[column] = candidate;
1703
+ if (candidate < rowMin) {
1704
+ rowMin = candidate;
1705
+ }
1706
+ }
1707
+ if (rowMin > limit) {
1708
+ return null;
1709
+ }
1710
+ for (let column = 0; column < width; column += 1) {
1711
+ beforePrevious[column] = previous[column];
1712
+ previous[column] = current[column];
1713
+ }
1714
+ }
1715
+ const result = previous[right.length];
1716
+ return result <= limit ? result : null;
1717
+ }
1718
+
856
1719
  // dist/core/extensions/extension-registries.js
857
1720
  !(function() {
858
1721
  try {
859
1722
  var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
860
- n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "2520e0b0-3e9e-5f16-93a0-c0e45fc8bb8f");
1723
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "dcfdfd88-3d2a-57c9-9873-d8d7d9cf339d");
861
1724
  } catch (e2) {
862
1725
  }
863
1726
  })();
@@ -903,6 +1766,7 @@ function createEmptyExtensionRegistrationRegistry() {
903
1766
  item_fields: [],
904
1767
  item_types: [],
905
1768
  migrations: [],
1769
+ profiles: [],
906
1770
  importers: [],
907
1771
  exporters: [],
908
1772
  search_providers: [],
@@ -1404,58 +2268,6 @@ function isFlagDefaultValueCoercible(value, kind) {
1404
2268
  return typeof value === "string" && ["true", "false", "1", "0"].includes(value.trim().toLowerCase());
1405
2269
  }
1406
2270
 
1407
- // dist/core/shared/levenshtein.js
1408
- !(function() {
1409
- try {
1410
- var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
1411
- n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "99ae52e7-bf5e-51ab-a222-d6ffb82027ff");
1412
- } catch (e2) {
1413
- }
1414
- })();
1415
- function levenshteinDistanceWithinLimit(left, right, limit) {
1416
- if (left === right) {
1417
- return 0;
1418
- }
1419
- if (Math.abs(left.length - right.length) > limit) {
1420
- return null;
1421
- }
1422
- const width = right.length + 1;
1423
- const beforePrevious = new Array(width);
1424
- const previous = new Array(width);
1425
- const current = new Array(width);
1426
- for (let column = 0; column < width; column += 1) {
1427
- beforePrevious[column] = 0;
1428
- previous[column] = column;
1429
- }
1430
- for (let row = 1; row <= left.length; row += 1) {
1431
- current[0] = row;
1432
- let rowMin = current[0];
1433
- for (let column = 1; column <= right.length; column += 1) {
1434
- const cost = left[row - 1] === right[column - 1] ? 0 : 1;
1435
- const substitution = previous[column - 1] + cost;
1436
- const insertion = current[column - 1] + 1;
1437
- const deletion = previous[column] + 1;
1438
- let candidate = Math.min(substitution, insertion, deletion);
1439
- if (row > 1 && column > 1 && left[row - 1] === right[column - 2] && left[row - 2] === right[column - 1]) {
1440
- candidate = Math.min(candidate, beforePrevious[column - 2] + 1);
1441
- }
1442
- current[column] = candidate;
1443
- if (candidate < rowMin) {
1444
- rowMin = candidate;
1445
- }
1446
- }
1447
- if (rowMin > limit) {
1448
- return null;
1449
- }
1450
- for (let column = 0; column < width; column += 1) {
1451
- beforePrevious[column] = previous[column];
1452
- previous[column] = current[column];
1453
- }
1454
- }
1455
- const result = previous[right.length];
1456
- return result <= limit ? result : null;
1457
- }
1458
-
1459
2271
  // dist/core/extensions/item-field-types.js
1460
2272
  !(function() {
1461
2273
  try {
@@ -2208,7 +3020,7 @@ function evaluateExtensionPolicyForRegistration(policy, extension, surface, meth
2208
3020
  !(function() {
2209
3021
  try {
2210
3022
  var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
2211
- n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "7c5d988c-8be5-5308-90c9-b1245d50fbab");
3023
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "a323e13b-37e3-5ec6-bc21-1ab78e0b30b9");
2212
3024
  } catch (e2) {
2213
3025
  }
2214
3026
  })();
@@ -3195,6 +4007,86 @@ function validateMigrationDefinition(definition) {
3195
4007
  throw new TypeError("registerMigration definition.run must be a function when provided");
3196
4008
  }
3197
4009
  }
4010
+ var PROJECT_PROFILE_DIMENSIONS = [
4011
+ "types",
4012
+ "statuses",
4013
+ "fields",
4014
+ "workflows",
4015
+ "config",
4016
+ "templates",
4017
+ "packages"
4018
+ ];
4019
+ function validateProjectProfileEntryShape(dimension, index, entry) {
4020
+ const at = `registerProfile profile.${dimension}[${index}]`;
4021
+ if (dimension === "types") {
4022
+ if (entry.name !== void 0 && typeof entry.name !== "string") {
4023
+ throw new TypeError(`${at}.name must be a string when provided`);
4024
+ }
4025
+ return;
4026
+ }
4027
+ if (dimension === "workflows") {
4028
+ if (typeof entry.type !== "string") {
4029
+ throw new TypeError(`${at}.type must be a string`);
4030
+ }
4031
+ if (!Array.isArray(entry.allowed_transitions)) {
4032
+ throw new TypeError(`${at}.allowed_transitions must be an array`);
4033
+ }
4034
+ for (const [pairIndex, pair] of entry.allowed_transitions.entries()) {
4035
+ if (!Array.isArray(pair)) {
4036
+ throw new TypeError(`${at}.allowed_transitions[${pairIndex}] must be a [from, to] array`);
4037
+ }
4038
+ }
4039
+ return;
4040
+ }
4041
+ if (dimension === "templates") {
4042
+ if (typeof entry.name !== "string") {
4043
+ throw new TypeError(`${at}.name must be a string`);
4044
+ }
4045
+ if (typeof entry.options !== "object" || entry.options === null || Array.isArray(entry.options)) {
4046
+ throw new TypeError(`${at}.options must be an object`);
4047
+ }
4048
+ return;
4049
+ }
4050
+ if (dimension === "packages") {
4051
+ if (typeof entry.spec !== "string") {
4052
+ throw new TypeError(`${at}.spec must be a string`);
4053
+ }
4054
+ }
4055
+ }
4056
+ function validateProjectProfileDefinition(profile) {
4057
+ const record = asRegistrationRecord("registerProfile profile", profile);
4058
+ assertNonEmptyString("registerProfile profile.name", record.name);
4059
+ assertNonEmptyString("registerProfile profile.title", record.title);
4060
+ if (record.summary !== void 0 && typeof record.summary !== "string") {
4061
+ throw new TypeError("registerProfile profile.summary must be a string when provided");
4062
+ }
4063
+ for (const dimension of PROJECT_PROFILE_DIMENSIONS) {
4064
+ const value = record[dimension];
4065
+ if (value === void 0) {
4066
+ continue;
4067
+ }
4068
+ if (!Array.isArray(value)) {
4069
+ throw new TypeError(`registerProfile profile.${dimension} must be an array when provided`);
4070
+ }
4071
+ for (const [index, entry] of value.entries()) {
4072
+ if (typeof entry !== "object" || entry === null || Array.isArray(entry)) {
4073
+ throw new TypeError(`registerProfile profile.${dimension}[${index}] must be an object`);
4074
+ }
4075
+ validateProjectProfileEntryShape(dimension, index, entry);
4076
+ }
4077
+ }
4078
+ }
4079
+ function applyProjectProfileDefaults(profile) {
4080
+ if (profile.summary === void 0) {
4081
+ profile.summary = "";
4082
+ }
4083
+ for (const dimension of PROJECT_PROFILE_DIMENSIONS) {
4084
+ if (profile[dimension] === void 0) {
4085
+ profile[dimension] = [];
4086
+ }
4087
+ }
4088
+ return profile;
4089
+ }
3198
4090
  function attachRuntimeDefinition(entry, runtimeDefinition) {
3199
4091
  Object.defineProperty(entry, "runtime_definition", {
3200
4092
  value: runtimeDefinition,
@@ -3496,6 +4388,19 @@ function createExtensionApi(extension, hooks, commands, parsers, preflight, serv
3496
4388
  definition: normalizeRegistrationRecord("registerMigration definition", definition)
3497
4389
  }, runtimeDefinition));
3498
4390
  };
4391
+ const registerProfile = (profile) => {
4392
+ assertExtensionCapability(extension, "schema", "registerProfile");
4393
+ if (!allowRegistration("schema.profiles", "registerProfile", "schema")) {
4394
+ return;
4395
+ }
4396
+ const snapshot = cloneRuntimeRegistrationValue(profile);
4397
+ validateProjectProfileDefinition(snapshot);
4398
+ registrations.profiles.push({
4399
+ layer: extension.layer,
4400
+ name: extension.name,
4401
+ profile: applyProjectProfileDefaults(snapshot)
4402
+ });
4403
+ };
3499
4404
  const applyImportExportCommandMetadata = (method, commandPath, options) => {
3500
4405
  if (options === void 0) {
3501
4406
  return;
@@ -3694,6 +4599,7 @@ function createExtensionApi(extension, hooks, commands, parsers, preflight, serv
3694
4599
  registerItemFields,
3695
4600
  registerItemTypes,
3696
4601
  registerMigration,
4602
+ registerProfile,
3697
4603
  registerRenderer,
3698
4604
  registerImporter,
3699
4605
  registerExporter,
@@ -3719,6 +4625,7 @@ function getRegistrationCounts(registrations) {
3719
4625
  item_fields: itemFieldCount,
3720
4626
  item_types: itemTypeCount,
3721
4627
  migrations: registrations.migrations.length,
4628
+ profiles: registrations.profiles.length,
3722
4629
  importers: registrations.importers.length,
3723
4630
  exporters: registrations.exporters.length,
3724
4631
  search_providers: registrations.search_providers.length,
@@ -3903,7 +4810,7 @@ async function activateExtensions(loadResult) {
3903
4810
  !(function() {
3904
4811
  try {
3905
4812
  var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
3906
- n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "f6134b79-a7d0-57d9-b25a-8e3e7b4af416");
4813
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "7cc05bac-f673-59a1-9d51-64361cf5a939");
3907
4814
  } catch (e2) {
3908
4815
  }
3909
4816
  })();
@@ -3951,6 +4858,7 @@ function attributeCapabilityUsage(activation) {
3951
4858
  record(registrations.item_fields, "schema");
3952
4859
  record(registrations.item_types, "schema");
3953
4860
  record(registrations.migrations, "schema");
4861
+ record(registrations.profiles, "schema");
3954
4862
  record(registrations.importers, "importers");
3955
4863
  record(registrations.exporters, "importers");
3956
4864
  record(registrations.search_providers, "search");
@@ -4214,163 +5122,42 @@ function runActiveRendererOverride(format, result) {
4214
5122
  }
4215
5123
  function buildServiceContext(service, payload) {
4216
5124
  return {
4217
- service,
4218
- command: activeCommandContext?.command,
4219
- args: activeCommandContext ? [...activeCommandContext.args] : [],
4220
- options: activeCommandContext?.options ? { ...activeCommandContext.options } : {},
4221
- global: activeCommandContext?.global ? { ...activeCommandContext.global } : void 0,
4222
- pm_root: activeCommandContext?.pm_root,
4223
- payload
4224
- };
4225
- }
4226
- async function runActiveServiceOverride(service, payload) {
4227
- if (!activeExtensionServices) {
4228
- return {
4229
- handled: false,
4230
- result: payload,
4231
- warnings: []
4232
- };
4233
- }
4234
- return runServiceOverride(activeExtensionServices, buildServiceContext(service, payload));
4235
- }
4236
- function runActiveServiceOverrideSync(service, payload) {
4237
- if (!activeExtensionServices) {
4238
- return {
4239
- handled: false,
4240
- result: payload,
4241
- warnings: []
4242
- };
4243
- }
4244
- return runServiceOverrideSync(activeExtensionServices, buildServiceContext(service, payload));
4245
- }
4246
-
4247
- // dist/types.js
4248
- !(function() {
4249
- try {
4250
- var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
4251
- n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "46812059-b93e-5599-a222-4ac0de6f4911");
4252
- } catch (e2) {
4253
- }
4254
- })();
4255
- var BUILTIN_ITEM_TYPE_VALUES = [
4256
- "Epic",
4257
- "Feature",
4258
- "Task",
4259
- "Chore",
4260
- "Issue",
4261
- "Decision",
4262
- "Event",
4263
- "Reminder",
4264
- "Milestone",
4265
- "Meeting",
4266
- "Plan"
4267
- ];
4268
- var ITEM_TYPE_VALUES = BUILTIN_ITEM_TYPE_VALUES;
4269
- var STATUS_VALUES = [
4270
- "draft",
4271
- "open",
4272
- "in_progress",
4273
- "blocked",
4274
- "closed",
4275
- "canceled"
4276
- ];
4277
- var RUNTIME_STATUS_ROLE_VALUES = [
4278
- "draft",
4279
- "active",
4280
- "blocked",
4281
- "terminal",
4282
- "terminal_done",
4283
- "terminal_canceled",
4284
- "default_open",
4285
- "default_close",
4286
- "default_cancel"
4287
- ];
4288
- var RUNTIME_FIELD_TYPE_VALUES = ["string", "number", "boolean", "string_array"];
4289
- var RUNTIME_FIELD_COMMAND_VALUES = ["create", "update", "update_many", "list", "search", "calendar", "context"];
4290
- var RUNTIME_UNKNOWN_FIELD_POLICY_VALUES = ["allow", "warn", "reject"];
4291
- var DEPENDENCY_KIND_VALUES = [
4292
- "blocks",
4293
- "parent",
4294
- "child",
4295
- "parent_child",
4296
- "child_of",
4297
- "related",
4298
- "related_to",
4299
- "discovered_from",
4300
- "blocked_by",
4301
- "incident_from",
4302
- "epic",
4303
- "supersedes",
4304
- "task"
4305
- ];
4306
- var SCOPE_VALUES = ["project", "global"];
4307
- var RISK_VALUES = ["low", "medium", "high", "critical"];
4308
- var ISSUE_SEVERITY_VALUES = ["low", "medium", "high", "critical"];
4309
- var CONFIDENCE_TEXT_VALUES = ["low", "medium", "high"];
4310
- var GOVERNANCE_PRESET_VALUES = ["minimal", "default", "strict", "custom"];
4311
- var RECURRENCE_FREQUENCY_VALUES = ["daily", "weekly", "monthly", "yearly"];
4312
- var RECURRENCE_WEEKDAY_VALUES = ["mon", "tue", "wed", "thu", "fri", "sat", "sun"];
4313
- function weekdayOrderIndex(value) {
4314
- return RECURRENCE_WEEKDAY_VALUES.indexOf(value);
5125
+ service,
5126
+ command: activeCommandContext?.command,
5127
+ args: activeCommandContext ? [...activeCommandContext.args] : [],
5128
+ options: activeCommandContext?.options ? { ...activeCommandContext.options } : {},
5129
+ global: activeCommandContext?.global ? { ...activeCommandContext.global } : void 0,
5130
+ pm_root: activeCommandContext?.pm_root,
5131
+ payload
5132
+ };
4315
5133
  }
4316
- var PLAN_MODE_VALUES = [
4317
- "draft",
4318
- "research",
4319
- "review",
4320
- "approved",
4321
- "executing",
4322
- "paused",
4323
- "completed",
4324
- "superseded"
4325
- ];
4326
- var PLAN_STEP_STATUS_VALUES = [
4327
- "pending",
4328
- "in_progress",
4329
- "completed",
4330
- "blocked",
4331
- "skipped",
4332
- "superseded"
4333
- ];
4334
- var PLAN_HARNESS_VALUES = ["codex", "claude-code", "cursor", "generic"];
4335
- var PLAN_STEP_LINK_KIND_VALUES = [
4336
- "related",
4337
- "blocks",
4338
- "blocked_by",
4339
- "depends_on",
4340
- "discovered_from",
4341
- "implements",
4342
- "verifies",
4343
- "supersedes"
4344
- ];
4345
- var CONTEXT_DEPTH_VALUES = ["brief", "standard", "deep", "full"];
4346
- var CONTEXT_SECTION_VALUES = [
4347
- "hierarchy",
4348
- "activity",
4349
- "progress",
4350
- "recently_created",
4351
- "unparented",
4352
- "blockers",
4353
- "files",
4354
- "workload",
4355
- "staleness",
4356
- "tests"
4357
- ];
4358
-
4359
- // dist/types/index.js
4360
- !(function() {
4361
- try {
4362
- var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
4363
- n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "c57bc662-d60a-54b1-b2da-a7d9d7fde67a");
4364
- } catch (e2) {
5134
+ async function runActiveServiceOverride(service, payload) {
5135
+ if (!activeExtensionServices) {
5136
+ return {
5137
+ handled: false,
5138
+ result: payload,
5139
+ warnings: []
5140
+ };
4365
5141
  }
4366
- })();
5142
+ return runServiceOverride(activeExtensionServices, buildServiceContext(service, payload));
5143
+ }
5144
+ function runActiveServiceOverrideSync(service, payload) {
5145
+ if (!activeExtensionServices) {
5146
+ return {
5147
+ handled: false,
5148
+ result: payload,
5149
+ warnings: []
5150
+ };
5151
+ }
5152
+ return runServiceOverrideSync(activeExtensionServices, buildServiceContext(service, payload));
5153
+ }
4367
5154
 
4368
5155
  // dist/core/schema/runtime-schema.js
4369
5156
  import path6 from "node:path";
4370
5157
  !(function() {
4371
5158
  try {
4372
5159
  var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
4373
- n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "c2d4d36f-68de-588d-82d7-a9265fc434ba");
5160
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "d3baeeb6-0912-515f-95c1-735d3849fed4");
4374
5161
  } catch (e2) {
4375
5162
  }
4376
5163
  })();
@@ -4529,7 +5316,7 @@ function normalizeRuntimeFieldDefinition(definition) {
4529
5316
  function normalizeRuntimeSchemaSettings(schema) {
4530
5317
  const files = {
4531
5318
  ...DEFAULT_RUNTIME_SCHEMA_FILE_PATHS,
4532
- ...schema?.files ?? {}
5319
+ ...schema?.files
4533
5320
  };
4534
5321
  const statusesSource = schema?.statuses && schema.statuses.length > 0 ? schema.statuses : DEFAULT_RUNTIME_STATUS_DEFINITIONS;
4535
5322
  const normalizedStatuses = (() => {
@@ -4794,7 +5581,7 @@ async function loadRuntimeSchemaFromOptionalFiles(pmRoot, schema) {
4794
5581
  fields: [...normalizedSchema.fields, ...loadedFields ?? []],
4795
5582
  workflow: {
4796
5583
  ...normalizedSchema.workflow,
4797
- ...loadedWorkflow ?? {}
5584
+ ...loadedWorkflow
4798
5585
  },
4799
5586
  type_workflows: [...normalizedSchema.type_workflows ?? [], ...loadedTypeWorkflows ?? []]
4800
5587
  });
@@ -4956,7 +5743,7 @@ import crypto2 from "node:crypto";
4956
5743
  !(function() {
4957
5744
  try {
4958
5745
  var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
4959
- n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "99f2fe3b-ac31-5e50-a687-cc8517987abe");
5746
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "bb00ffab-139c-512c-ac1f-2535f77a1f86");
4960
5747
  } catch (e2) {
4961
5748
  }
4962
5749
  })();
@@ -5006,74 +5793,73 @@ function sortObjectKeys(value) {
5006
5793
  function stableStringify(value) {
5007
5794
  return JSON.stringify(sortObjectKeys(value));
5008
5795
  }
5009
- function stableValueEquals(left, right) {
5010
- if (Object.is(left, right)) {
5011
- return true;
5796
+ function hasUnmatchedEquivalent(leftValue, rightValues, matchedIndexes, equals) {
5797
+ for (let index = 0; index < rightValues.length; index += 1) {
5798
+ if (matchedIndexes.has(index)) {
5799
+ continue;
5800
+ }
5801
+ if (equals(leftValue, rightValues[index])) {
5802
+ matchedIndexes.add(index);
5803
+ return true;
5804
+ }
5012
5805
  }
5013
- if (left === null || right === null || typeof left !== "object" || typeof right !== "object") {
5014
- return false;
5806
+ return false;
5807
+ }
5808
+ function compareRegExpValues(left, right) {
5809
+ if (!(left instanceof RegExp || right instanceof RegExp)) {
5810
+ return void 0;
5015
5811
  }
5016
- if (left instanceof RegExp || right instanceof RegExp) {
5017
- return left instanceof RegExp && right instanceof RegExp && left.toString() === right.toString();
5812
+ return left instanceof RegExp && right instanceof RegExp && left.toString() === right.toString();
5813
+ }
5814
+ function compareDateValues(left, right) {
5815
+ if (!(left instanceof Date || right instanceof Date)) {
5816
+ return void 0;
5018
5817
  }
5019
- if (left instanceof Date || right instanceof Date) {
5020
- return left instanceof Date && right instanceof Date && left.getTime() === right.getTime();
5818
+ return left instanceof Date && right instanceof Date && left.getTime() === right.getTime();
5819
+ }
5820
+ function compareSetValues(left, right) {
5821
+ if (!(left instanceof Set || right instanceof Set)) {
5822
+ return void 0;
5021
5823
  }
5022
- if (left instanceof Set || right instanceof Set) {
5023
- if (!(left instanceof Set && right instanceof Set) || left.size !== right.size) {
5024
- return false;
5025
- }
5026
- const rightValues = [...right];
5027
- const matched = /* @__PURE__ */ new Set();
5028
- for (const leftValue of left) {
5029
- let found = false;
5030
- for (let index = 0; index < rightValues.length; index += 1) {
5031
- if (matched.has(index)) {
5032
- continue;
5033
- }
5034
- if (stableValueEquals(leftValue, rightValues[index])) {
5035
- matched.add(index);
5036
- found = true;
5037
- break;
5038
- }
5039
- }
5040
- if (!found) {
5041
- return false;
5042
- }
5043
- }
5044
- return true;
5824
+ if (!(left instanceof Set && right instanceof Set) || left.size !== right.size) {
5825
+ return false;
5045
5826
  }
5046
- if (left instanceof Map || right instanceof Map) {
5047
- if (!(left instanceof Map && right instanceof Map) || left.size !== right.size) {
5827
+ const rightValues = [...right];
5828
+ const matched = /* @__PURE__ */ new Set();
5829
+ for (const leftValue of left) {
5830
+ if (!hasUnmatchedEquivalent(leftValue, rightValues, matched, stableValueEquals)) {
5048
5831
  return false;
5049
5832
  }
5050
- const rightEntries = [...right.entries()];
5051
- const matched = /* @__PURE__ */ new Set();
5052
- for (const [leftKey, leftValue] of left.entries()) {
5053
- let found = false;
5054
- for (let index = 0; index < rightEntries.length; index += 1) {
5055
- if (matched.has(index)) {
5056
- continue;
5057
- }
5058
- const [rightKey, rightValue] = rightEntries[index];
5059
- if (stableValueEquals(leftKey, rightKey) && stableValueEquals(leftValue, rightValue)) {
5060
- matched.add(index);
5061
- found = true;
5062
- break;
5063
- }
5064
- }
5065
- if (!found) {
5066
- return false;
5067
- }
5068
- }
5069
- return true;
5070
5833
  }
5071
- if (Array.isArray(left) || Array.isArray(right)) {
5072
- if (!Array.isArray(left) || !Array.isArray(right) || left.length !== right.length) {
5834
+ return true;
5835
+ }
5836
+ function compareMapValues(left, right) {
5837
+ if (!(left instanceof Map || right instanceof Map)) {
5838
+ return void 0;
5839
+ }
5840
+ if (!(left instanceof Map && right instanceof Map) || left.size !== right.size) {
5841
+ return false;
5842
+ }
5843
+ const rightEntries = [...right.entries()];
5844
+ const matched = /* @__PURE__ */ new Set();
5845
+ for (const [leftKey, leftValue] of left.entries()) {
5846
+ const leftEntry = [leftKey, leftValue];
5847
+ if (!hasUnmatchedEquivalent(leftEntry, rightEntries, matched, ([candidateKey, candidateValue], [rightKey, rightValue]) => stableValueEquals(candidateKey, rightKey) && stableValueEquals(candidateValue, rightValue))) {
5073
5848
  return false;
5074
5849
  }
5075
- return left.every((value, index) => stableValueEquals(value, right[index]));
5076
5850
  }
5851
+ return true;
5852
+ }
5853
+ function compareArrayValues(left, right) {
5854
+ if (!(Array.isArray(left) || Array.isArray(right))) {
5855
+ return void 0;
5856
+ }
5857
+ if (!Array.isArray(left) || !Array.isArray(right) || left.length !== right.length) {
5858
+ return false;
5859
+ }
5860
+ return left.every((value, index) => stableValueEquals(value, right[index]));
5861
+ }
5862
+ function comparePlainObjectValues(left, right) {
5077
5863
  const leftKeys = Object.keys(left).sort((a, b) => a.localeCompare(b));
5078
5864
  const rightKeys = Object.keys(right).sort((a, b) => a.localeCompare(b));
5079
5865
  if (leftKeys.length !== rightKeys.length) {
@@ -5090,6 +5876,28 @@ function stableValueEquals(left, right) {
5090
5876
  }
5091
5877
  return true;
5092
5878
  }
5879
+ var SPECIALIZED_STABLE_VALUE_COMPARISONS = [
5880
+ compareRegExpValues,
5881
+ compareDateValues,
5882
+ compareSetValues,
5883
+ compareMapValues,
5884
+ compareArrayValues
5885
+ ];
5886
+ function stableValueEquals(left, right) {
5887
+ if (Object.is(left, right)) {
5888
+ return true;
5889
+ }
5890
+ if (left === null || right === null || typeof left !== "object" || typeof right !== "object") {
5891
+ return false;
5892
+ }
5893
+ for (const compare of SPECIALIZED_STABLE_VALUE_COMPARISONS) {
5894
+ const result = compare(left, right);
5895
+ if (result !== void 0) {
5896
+ return result;
5897
+ }
5898
+ }
5899
+ return comparePlainObjectValues(left, right);
5900
+ }
5093
5901
  function sha256Hex(value) {
5094
5902
  return crypto2.createHash("sha256").update(value, "utf8").digest("hex");
5095
5903
  }
@@ -5449,94 +6257,6 @@ function validateSettings(raw) {
5449
6257
  return { success: true, data: result.value };
5450
6258
  }
5451
6259
 
5452
- // dist/core/item/item-type-definition.js
5453
- !(function() {
5454
- try {
5455
- var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
5456
- n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "257435ee-2ef3-5736-a403-57d6265cf280");
5457
- } catch (e2) {
5458
- }
5459
- })();
5460
- function normalizeItemTypeStringList(values) {
5461
- return [...new Set((values ?? []).map((value) => value.trim()).filter((value) => value.length > 0))].sort((left, right) => left.localeCompare(right));
5462
- }
5463
- function normalizeItemTypeOption(option) {
5464
- const key = option.key.trim();
5465
- if (key.length === 0) {
5466
- return null;
5467
- }
5468
- const aliases = normalizeItemTypeStringList(option.aliases);
5469
- const description = option.description?.trim();
5470
- return {
5471
- key,
5472
- values: normalizeItemTypeStringList(option.values),
5473
- required: option.required === true ? true : void 0,
5474
- aliases: aliases.length > 0 ? aliases : void 0,
5475
- description: description && description.length > 0 ? description : void 0
5476
- };
5477
- }
5478
- var keepPolicyCommand = (command) => command;
5479
- var strictPolicyCommand = (command) => {
5480
- const normalized = command.trim().toLowerCase();
5481
- return normalized === "create" || normalized === "update" ? normalized : null;
5482
- };
5483
- function normalizeItemTypeCommandOptionPolicy(policy, resolvePolicyCommand) {
5484
- const command = resolvePolicyCommand(policy.command);
5485
- if (command === null) {
5486
- return null;
5487
- }
5488
- const option = policy.option.trim();
5489
- if (option.length === 0) {
5490
- return null;
5491
- }
5492
- return {
5493
- command,
5494
- option,
5495
- required: policy.required,
5496
- visible: policy.visible,
5497
- enabled: policy.enabled
5498
- };
5499
- }
5500
- function normalizeItemTypeCommandOptionPolicies(policies, resolvePolicyCommand) {
5501
- const dedupedByKey = /* @__PURE__ */ new Map();
5502
- for (const policy of policies ?? []) {
5503
- const normalized = normalizeItemTypeCommandOptionPolicy(policy, resolvePolicyCommand);
5504
- if (!normalized) {
5505
- continue;
5506
- }
5507
- dedupedByKey.set(`${normalized.command}:${normalized.option.toLowerCase()}`, normalized);
5508
- }
5509
- return [...dedupedByKey.values()].sort((left, right) => left.command === right.command ? left.option.localeCompare(right.option) : left.command.localeCompare(right.command));
5510
- }
5511
- function normalizeItemTypeDefinition(definition, options = {}) {
5512
- const resolvePolicyCommand = options.resolvePolicyCommand ?? keepPolicyCommand;
5513
- const name = definition.name.trim();
5514
- if (name.length === 0) {
5515
- return null;
5516
- }
5517
- const hasRequiredCreateFields = definition.required_create_fields !== void 0;
5518
- const hasRequiredCreateRepeatables = definition.required_create_repeatables !== void 0;
5519
- const hasOptions = definition.options !== void 0;
5520
- const hasCommandOptionPolicies = definition.command_option_policies !== void 0;
5521
- const folder = definition.folder?.trim();
5522
- const description = definition.description?.trim();
5523
- const defaultStatus = definition.default_status?.trim();
5524
- const aliases = normalizeItemTypeStringList(definition.aliases);
5525
- const normalizedOptions = (definition.options ?? []).map((option) => normalizeItemTypeOption(option)).filter((option) => option !== null).sort((left, right) => left.key.localeCompare(right.key));
5526
- const commandOptionPolicies = normalizeItemTypeCommandOptionPolicies(definition.command_option_policies, resolvePolicyCommand);
5527
- return {
5528
- name,
5529
- description: description && description.length > 0 ? description : void 0,
5530
- default_status: defaultStatus && defaultStatus.length > 0 ? defaultStatus : void 0,
5531
- folder: folder && folder.length > 0 ? folder : void 0,
5532
- aliases: aliases.length > 0 ? aliases : void 0,
5533
- required_create_fields: hasRequiredCreateFields ? normalizeItemTypeStringList(definition.required_create_fields) : void 0,
5534
- required_create_repeatables: hasRequiredCreateRepeatables ? normalizeItemTypeStringList(definition.required_create_repeatables) : void 0,
5535
- options: hasOptions ? normalizedOptions : void 0,
5536
- command_option_policies: hasCommandOptionPolicies ? commandOptionPolicies : void 0
5537
- };
5538
- }
5539
-
5540
6260
  // dist/core/validate/estimate-defaults.js
5541
6261
  !(function() {
5542
6262
  try {
@@ -5687,7 +6407,7 @@ function clearSettingsReadCache(pmRoot) {
5687
6407
  !(function() {
5688
6408
  try {
5689
6409
  var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
5690
- n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "45ec3f18-8048-5e45-acc9-7544f0bffbde");
6410
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "76965ca9-e890-5aa2-a7ca-22f8d179dd5c");
5691
6411
  } catch (e2) {
5692
6412
  }
5693
6413
  })();
@@ -6160,19 +6880,19 @@ function mergeSettings(settings) {
6160
6880
  ...settings,
6161
6881
  item_format: settings.item_format === "json_markdown" ? "toon" : settings.item_format ?? defaults.item_format,
6162
6882
  locks: { ...defaults.locks, ...settings.locks },
6163
- checkpoints: { ...defaults.checkpoints, ...settings.checkpoints ?? {} },
6883
+ checkpoints: { ...defaults.checkpoints, ...settings.checkpoints },
6164
6884
  output: { ...defaults.output, ...settings.output },
6165
6885
  history: {
6166
6886
  ...defaults.history,
6167
- ...settings.history ?? {},
6887
+ ...settings.history,
6168
6888
  compact_policy: {
6169
6889
  ...defaults.history.compact_policy,
6170
- ...settings.history?.compact_policy ?? {}
6890
+ ...settings.history?.compact_policy
6171
6891
  }
6172
6892
  },
6173
6893
  validation: {
6174
6894
  ...defaults.validation,
6175
- ...settings.validation ?? {},
6895
+ ...settings.validation,
6176
6896
  parent_reference: governance.parent_reference,
6177
6897
  metadata_profile: governance.metadata_profile,
6178
6898
  metadata_required_fields: normalizeValidationMetadataRequiredFields(settings.validation?.metadata_required_fields),
@@ -6208,7 +6928,7 @@ function mergeSettings(settings) {
6208
6928
  stale_threshold_days: settings.context?.stale_threshold_days ?? defaults.context.stale_threshold_days,
6209
6929
  sections: {
6210
6930
  ...defaults.context.sections,
6211
- ...settings.context?.sections ?? {}
6931
+ ...settings.context?.sections
6212
6932
  }
6213
6933
  },
6214
6934
  extensions: {
@@ -6222,13 +6942,13 @@ function mergeSettings(settings) {
6222
6942
  mutation_refresh_policy: normalizeSearchMutationRefreshPolicy(settings.search?.mutation_refresh_policy),
6223
6943
  query_expansion: {
6224
6944
  ...defaults.search.query_expansion,
6225
- ...settings.search?.query_expansion ?? {},
6945
+ ...settings.search?.query_expansion,
6226
6946
  enabled: normalizeSearchQueryExpansionEnabled(settings.search?.query_expansion?.enabled),
6227
6947
  provider: normalizeSearchQueryExpansionProvider(settings.search?.query_expansion?.provider)
6228
6948
  },
6229
6949
  rerank: {
6230
6950
  ...defaults.search.rerank,
6231
- ...settings.search?.rerank ?? {},
6951
+ ...settings.search?.rerank,
6232
6952
  enabled: normalizeSearchRerankEnabled(settings.search?.rerank?.enabled),
6233
6953
  model: normalizeSearchRerankModel(settings.search?.rerank?.model),
6234
6954
  top_k: normalizeSearchRerankTopK(settings.search?.rerank?.top_k)
@@ -6300,13 +7020,13 @@ function serializeSettings(settings, options = {}) {
6300
7020
  mutation_refresh_policy: normalizeSearchMutationRefreshPolicy(baseSettings.search?.mutation_refresh_policy),
6301
7021
  query_expansion: {
6302
7022
  ...SETTINGS_DEFAULTS.search.query_expansion,
6303
- ...baseSettings.search?.query_expansion ?? {},
7023
+ ...baseSettings.search?.query_expansion,
6304
7024
  enabled: normalizeSearchQueryExpansionEnabled(baseSettings.search?.query_expansion?.enabled),
6305
7025
  provider: normalizeSearchQueryExpansionProvider(baseSettings.search?.query_expansion?.provider)
6306
7026
  },
6307
7027
  rerank: {
6308
7028
  ...SETTINGS_DEFAULTS.search.rerank,
6309
- ...baseSettings.search?.rerank ?? {},
7029
+ ...baseSettings.search?.rerank,
6310
7030
  enabled: normalizeSearchRerankEnabled(baseSettings.search?.rerank?.enabled),
6311
7031
  model: normalizeSearchRerankModel(baseSettings.search?.rerank?.model),
6312
7032
  top_k: normalizeSearchRerankTopK(baseSettings.search?.rerank?.top_k)
@@ -6318,7 +7038,7 @@ function serializeSettings(settings, options = {}) {
6318
7038
  stale_threshold_days: baseSettings.context?.stale_threshold_days ?? SETTINGS_DEFAULTS.context.stale_threshold_days,
6319
7039
  sections: {
6320
7040
  ...SETTINGS_DEFAULTS.context.sections,
6321
- ...baseSettings.context?.sections ?? {}
7041
+ ...baseSettings.context?.sections
6322
7042
  }
6323
7043
  },
6324
7044
  extensions: {
@@ -6330,8 +7050,8 @@ function serializeSettings(settings, options = {}) {
6330
7050
  ...baseSettings.vector_store,
6331
7051
  adapter: baseSettings.vector_store?.adapter ?? SETTINGS_DEFAULTS.vector_store.adapter,
6332
7052
  collection_name: normalizeVectorStoreCollectionName(baseSettings.vector_store?.collection_name),
6333
- qdrant: { ...baseSettings.vector_store?.qdrant ?? {} },
6334
- lancedb: { ...baseSettings.vector_store?.lancedb ?? {} }
7053
+ qdrant: { ...baseSettings.vector_store?.qdrant },
7054
+ lancedb: { ...baseSettings.vector_store?.lancedb }
6335
7055
  }
6336
7056
  };
6337
7057
  const ordered = orderObject({
@@ -6632,6 +7352,33 @@ export {
6632
7352
  EMPTY_CANONICAL_DOCUMENT,
6633
7353
  EXIT_CODE,
6634
7354
  resolveTelemetryErrorCategory,
7355
+ BUILTIN_ITEM_TYPE_VALUES,
7356
+ STATUS_VALUES,
7357
+ RUNTIME_STATUS_ROLE_VALUES,
7358
+ RUNTIME_FIELD_TYPE_VALUES,
7359
+ RUNTIME_FIELD_COMMAND_VALUES,
7360
+ DEPENDENCY_KIND_VALUES,
7361
+ SCOPE_VALUES,
7362
+ RISK_VALUES,
7363
+ ISSUE_SEVERITY_VALUES,
7364
+ CONFIDENCE_TEXT_VALUES,
7365
+ RECURRENCE_FREQUENCY_VALUES,
7366
+ RECURRENCE_WEEKDAY_VALUES,
7367
+ weekdayOrderIndex,
7368
+ PLAN_MODE_VALUES,
7369
+ PLAN_STEP_STATUS_VALUES,
7370
+ PLAN_HARNESS_VALUES,
7371
+ PLAN_STEP_LINK_KIND_VALUES,
7372
+ CONTEXT_DEPTH_VALUES,
7373
+ CONTEXT_SECTION_VALUES,
7374
+ canonicalizeCommandOptionKey,
7375
+ commandOptionFlagLabel,
7376
+ toDefaultFolder,
7377
+ resolveItemTypeRegistry,
7378
+ resolveTypeName,
7379
+ resolveTypeDefinition,
7380
+ resolveCommandOptionPolicyState,
7381
+ validateTypeOptions,
6635
7382
  ITEM_FILE_EXTENSIONS,
6636
7383
  resolvePmRoot,
6637
7384
  resolveGlobalPmRoot,
@@ -6701,29 +7448,6 @@ export {
6701
7448
  runActiveRendererOverride,
6702
7449
  runActiveServiceOverride,
6703
7450
  runActiveServiceOverrideSync,
6704
- BUILTIN_ITEM_TYPE_VALUES,
6705
- ITEM_TYPE_VALUES,
6706
- STATUS_VALUES,
6707
- RUNTIME_STATUS_ROLE_VALUES,
6708
- RUNTIME_FIELD_TYPE_VALUES,
6709
- RUNTIME_FIELD_COMMAND_VALUES,
6710
- DEPENDENCY_KIND_VALUES,
6711
- SCOPE_VALUES,
6712
- RISK_VALUES,
6713
- ISSUE_SEVERITY_VALUES,
6714
- CONFIDENCE_TEXT_VALUES,
6715
- RECURRENCE_FREQUENCY_VALUES,
6716
- RECURRENCE_WEEKDAY_VALUES,
6717
- weekdayOrderIndex,
6718
- PLAN_MODE_VALUES,
6719
- PLAN_STEP_STATUS_VALUES,
6720
- PLAN_HARNESS_VALUES,
6721
- PLAN_STEP_LINK_KIND_VALUES,
6722
- CONTEXT_DEPTH_VALUES,
6723
- CONTEXT_SECTION_VALUES,
6724
- normalizeItemTypeStringList,
6725
- strictPolicyCommand,
6726
- normalizeItemTypeDefinition,
6727
7451
  DEFAULT_RUNTIME_SCHEMA_FILE_PATHS,
6728
7452
  DEFAULT_RUNTIME_STATUS_DEFINITIONS,
6729
7453
  normalizeRuntimeSchemaSettings,
@@ -6746,4 +7470,4 @@ export {
6746
7470
  readSettings,
6747
7471
  writeSettings
6748
7472
  };
6749
- //# sourceMappingURL=chunk-EYPINTFR.js.map
7473
+ //# sourceMappingURL=chunk-SNUK7H5J.js.map