@unbrained/pm-cli 2026.6.20 → 2026.6.21

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 (408) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/cli/commands/extension/scaffold.js +49 -3
  3. package/dist/cli/commands/extension/scaffold.js.map +1 -1
  4. package/dist/cli/commands/extension.js +9 -2
  5. package/dist/cli/commands/extension.js.map +1 -1
  6. package/dist/cli/commands/health.js +15 -3
  7. package/dist/cli/commands/health.js.map +1 -1
  8. package/dist/cli/commands/validate.d.ts +1 -1
  9. package/dist/cli/commands/validate.js +44 -2
  10. package/dist/cli/commands/validate.js.map +1 -1
  11. package/dist/cli-bundle/chunks/activity-CIHV64UC.js +18 -0
  12. package/dist/cli-bundle/chunks/{activity-KEEITOTB.js → activity-KW3IRP44.js} +11 -11
  13. package/dist/cli-bundle/chunks/{aggregate-GB2LJNTZ.js → aggregate-3ZKQG5SW.js} +10 -10
  14. package/dist/cli-bundle/chunks/{aggregate-5BTHOHW2.js → aggregate-FIGQEIL3.js} +10 -10
  15. package/dist/cli-bundle/chunks/{append-BBM4MNVD.js → append-EWJYJ7CH.js} +8 -8
  16. package/dist/cli-bundle/chunks/{append-BFV5UYWS.js → append-QEOLX3XB.js} +8 -8
  17. package/dist/cli-bundle/chunks/{chunk-RICT5QYR.js → chunk-2EIMPCE4.js} +3 -3
  18. package/dist/cli-bundle/chunks/{chunk-ZYG4TR32.js → chunk-2GCDRRIF.js} +12 -12
  19. package/dist/cli-bundle/chunks/{chunk-DYOJJTCG.js → chunk-2PKHRP6G.js} +10 -10
  20. package/dist/cli-bundle/chunks/{chunk-LTUB7ARL.js → chunk-32R4PIC6.js} +52 -7
  21. package/dist/cli-bundle/chunks/chunk-32R4PIC6.js.map +1 -0
  22. package/dist/cli-bundle/chunks/{chunk-HWHZ7EY7.js → chunk-37QXHBIB.js} +3 -3
  23. package/dist/cli-bundle/chunks/{chunk-ACULWT7G.js → chunk-3EWSGA7N.js} +12 -12
  24. package/dist/cli-bundle/chunks/{chunk-II4BRHKM.js → chunk-3MDHREEV.js} +3 -3
  25. package/dist/cli-bundle/chunks/{chunk-AZ75OVK4.js → chunk-434HM6Z5.js} +4 -3
  26. package/dist/cli-bundle/chunks/chunk-434HM6Z5.js.map +1 -0
  27. package/dist/cli-bundle/chunks/{chunk-E4E7UQBT.js → chunk-52OCIDPG.js} +5 -5
  28. package/dist/cli-bundle/chunks/{chunk-FA5O2DEG.js → chunk-5FIEHKEX.js} +5 -5
  29. package/dist/cli-bundle/chunks/{chunk-2QJLN4KM.js → chunk-5IDI42VV.js} +7 -7
  30. package/dist/cli-bundle/chunks/{chunk-H3ZTSYPA.js → chunk-5PCI3UBT.js} +52 -7
  31. package/dist/cli-bundle/chunks/chunk-5PCI3UBT.js.map +7 -0
  32. package/dist/cli-bundle/chunks/{chunk-2LUNPA3U.js → chunk-5QICDWMV.js} +2 -2
  33. package/dist/cli-bundle/chunks/{chunk-EOFROIC5.js → chunk-6CJWZAN7.js} +7 -7
  34. package/dist/cli-bundle/chunks/{chunk-3KVCMB2M.js → chunk-6H4LF7AO.js} +2 -2
  35. package/dist/cli-bundle/chunks/{chunk-6DZO5NN7.js → chunk-6M4RJS4M.js} +3 -3
  36. package/dist/cli-bundle/chunks/{chunk-WFOITX4A.js → chunk-6ZXM2XNF.js} +8 -8
  37. package/dist/cli-bundle/chunks/{chunk-AW4PYYNF.js → chunk-76Z3YSHV.js} +2 -2
  38. package/dist/cli-bundle/chunks/{chunk-ZHCSGIUX.js → chunk-7D3SAQXM.js} +2 -2
  39. package/dist/cli-bundle/chunks/{chunk-MFCFHL27.js → chunk-A4Z7ZOL5.js} +2 -2
  40. package/dist/cli-bundle/chunks/{chunk-F4EYOSNC.js → chunk-AIS5PGI3.js} +2 -2
  41. package/dist/cli-bundle/chunks/{chunk-BYNJWB5F.js → chunk-AZMOLBN3.js} +7 -7
  42. package/dist/cli-bundle/chunks/{chunk-VE3BUO3R.js → chunk-B473GZWW.js} +3 -3
  43. package/dist/cli-bundle/chunks/{chunk-W2ZESOQE.js → chunk-C3AZ5ZML.js} +13 -13
  44. package/dist/cli-bundle/chunks/{chunk-CNPWCUDR.js → chunk-C4N5I7ZW.js} +3 -3
  45. package/dist/cli-bundle/chunks/{chunk-DKWIPIJY.js → chunk-CF55WVVS.js} +2 -2
  46. package/dist/cli-bundle/chunks/{chunk-YBQF4CAW.js → chunk-CZPXY7UW.js} +3 -3
  47. package/dist/cli-bundle/chunks/{chunk-6KARQMC6.js → chunk-CZUB4XWO.js} +2 -2
  48. package/dist/cli-bundle/chunks/{chunk-K2LBDYDC.js → chunk-D7FYS6PG.js} +2 -2
  49. package/dist/cli-bundle/chunks/{chunk-X3CD2VUI.js → chunk-EBH56IXK.js} +8 -8
  50. package/dist/cli-bundle/chunks/{chunk-5XK2RYJR.js → chunk-F5NZWFSW.js} +7 -7
  51. package/dist/cli-bundle/chunks/{chunk-BZWIDTDE.js → chunk-F7K5GWP3.js} +9 -9
  52. package/dist/cli-bundle/chunks/{chunk-4KFL5OYK.js → chunk-FKBDKV7Y.js} +3 -3
  53. package/dist/cli-bundle/chunks/{chunk-XNQ3YH6N.js → chunk-FRUFKWNK.js} +2 -2
  54. package/dist/cli-bundle/chunks/{chunk-ICEWMJYH.js → chunk-FWPDUYEY.js} +7 -7
  55. package/dist/cli-bundle/chunks/{chunk-2ZY5SLNR.js → chunk-GMHPNNYG.js} +10 -10
  56. package/dist/cli-bundle/chunks/{chunk-U3WTMYBX.js → chunk-GOZUHWFD.js} +2 -2
  57. package/dist/cli-bundle/chunks/{chunk-ATRXPXAL.js → chunk-H7NJZWG2.js} +13 -13
  58. package/dist/cli-bundle/chunks/{chunk-VONJSFUW.js → chunk-HC4AWIKT.js} +2 -2
  59. package/dist/cli-bundle/chunks/{chunk-PF5GLFPU.js → chunk-HCU6WUSY.js} +9 -9
  60. package/dist/cli-bundle/chunks/{chunk-NKTUBA2C.js → chunk-HIP7WVTL.js} +4 -4
  61. package/dist/cli-bundle/chunks/{chunk-QWAJPGEI.js → chunk-HMOADQVT.js} +4 -3
  62. package/dist/cli-bundle/chunks/chunk-HMOADQVT.js.map +7 -0
  63. package/dist/cli-bundle/chunks/{chunk-RADIHKJ3.js → chunk-J4MYYSOL.js} +5 -5
  64. package/dist/cli-bundle/chunks/{chunk-IWKD7B33.js → chunk-JINYH2DB.js} +23 -2
  65. package/dist/cli-bundle/chunks/chunk-JINYH2DB.js.map +7 -0
  66. package/dist/cli-bundle/chunks/{chunk-FSOJCFDS.js → chunk-LEU5GHRC.js} +55 -5
  67. package/dist/cli-bundle/chunks/chunk-LEU5GHRC.js.map +1 -0
  68. package/dist/cli-bundle/chunks/{chunk-OVSFW4KD.js → chunk-LUWW7L4B.js} +3 -3
  69. package/dist/cli-bundle/chunks/{chunk-6KSFULO6.js → chunk-M5XALUSL.js} +2 -2
  70. package/dist/cli-bundle/chunks/{chunk-BBSUVIIT.js → chunk-N5ZJACJ6.js} +8 -8
  71. package/dist/cli-bundle/chunks/{chunk-ETJKPURB.js → chunk-NB3PYLQ6.js} +5 -5
  72. package/dist/cli-bundle/chunks/{chunk-7MMXBIRZ.js → chunk-NIGXMNNI.js} +2 -2
  73. package/dist/cli-bundle/chunks/{chunk-XKJDCJEH.js → chunk-NIUEXCFS.js} +6 -6
  74. package/dist/cli-bundle/chunks/{chunk-RNKUCHUQ.js → chunk-NJHMAJ6N.js} +8 -8
  75. package/dist/cli-bundle/chunks/{chunk-AOCYDQLT.js → chunk-NJN7LL7U.js} +5 -5
  76. package/dist/cli-bundle/chunks/{chunk-MTQK5ZSB.js → chunk-NSBZ2CKF.js} +2 -2
  77. package/dist/cli-bundle/chunks/{chunk-26OQTCGH.js → chunk-NXS7ZKAK.js} +4 -4
  78. package/dist/cli-bundle/chunks/{chunk-6LTSLEHD.js → chunk-O47BPOPC.js} +2 -2
  79. package/dist/cli-bundle/chunks/{chunk-6Y7IQ6XN.js → chunk-OFYMIDF2.js} +9 -9
  80. package/dist/cli-bundle/chunks/{chunk-4YMX7XFI.js → chunk-OTHIWLMB.js} +5 -5
  81. package/dist/cli-bundle/chunks/{chunk-QUTJOHGK.js → chunk-PFSRUHDH.js} +9 -9
  82. package/dist/cli-bundle/chunks/{chunk-FXKPUMIR.js → chunk-PP2U4NMT.js} +5 -5
  83. package/dist/cli-bundle/chunks/{chunk-XXGAWTH5.js → chunk-PUH4D67U.js} +2 -2
  84. package/dist/cli-bundle/chunks/{chunk-NCGQ27PK.js → chunk-Q2J2HJUN.js} +2 -2
  85. package/dist/cli-bundle/chunks/{chunk-5MWA46UN.js → chunk-QGG32QHW.js} +61 -4
  86. package/dist/cli-bundle/chunks/chunk-QGG32QHW.js.map +7 -0
  87. package/dist/cli-bundle/chunks/{chunk-J7VSEFWB.js → chunk-QQHISQBJ.js} +3 -3
  88. package/dist/cli-bundle/chunks/{chunk-KCJZREBI.js → chunk-QZTWBFXJ.js} +2 -2
  89. package/dist/cli-bundle/chunks/{chunk-OLEP5TJH.js → chunk-R2EMWY7Q.js} +24 -3
  90. package/dist/cli-bundle/chunks/chunk-R2EMWY7Q.js.map +1 -0
  91. package/dist/cli-bundle/chunks/{chunk-NMQNXH4U.js → chunk-RLK7P77C.js} +5 -5
  92. package/dist/cli-bundle/chunks/{chunk-FBBPCSJM.js → chunk-RVHYI7SL.js} +8 -8
  93. package/dist/cli-bundle/chunks/{chunk-3WAKNI2W.js → chunk-SBGXDO7A.js} +3 -3
  94. package/dist/cli-bundle/chunks/{chunk-6FSPWUBI.js → chunk-SRYYRVPB.js} +2 -2
  95. package/dist/cli-bundle/chunks/{chunk-SL233DQD.js → chunk-SX75ADBK.js} +6 -6
  96. package/dist/cli-bundle/chunks/{chunk-YT4Z2OVB.js → chunk-TKBHZPKD.js} +3 -3
  97. package/dist/cli-bundle/chunks/{chunk-EKMHDL6Z.js → chunk-UEMNL33O.js} +8 -8
  98. package/dist/cli-bundle/chunks/{chunk-4S4INK3B.js → chunk-UPE3CDD7.js} +7 -7
  99. package/dist/cli-bundle/chunks/{chunk-4PW4C3ZB.js → chunk-UV6IYE5U.js} +2 -2
  100. package/dist/cli-bundle/chunks/{chunk-GF44HVZL.js → chunk-WQ7NIVDK.js} +4 -4
  101. package/dist/cli-bundle/chunks/{chunk-B3LROPTV.js → chunk-YCJX76PW.js} +2 -2
  102. package/dist/cli-bundle/chunks/{chunk-WMQBNVZL.js → chunk-Z6T4PQI2.js} +4 -4
  103. package/dist/cli-bundle/chunks/{claim-G57ZJLZ4.js → claim-RC56YUWG.js} +10 -10
  104. package/dist/cli-bundle/chunks/{claim-TRSDQO6L.js → claim-THOJ6CMV.js} +10 -10
  105. package/dist/cli-bundle/chunks/close-DNMHGOCX.js +15 -0
  106. package/dist/cli-bundle/chunks/{close-4QMUQMON.js → close-SG5MNCVQ.js} +8 -8
  107. package/dist/cli-bundle/chunks/{close-many-A7U62CRI.js → close-many-3L3AQZBU.js} +15 -15
  108. package/dist/cli-bundle/chunks/{close-many-3UWKJRQK.js → close-many-DKQLBGLV.js} +15 -15
  109. package/dist/cli-bundle/chunks/{comments-4EM7XR74.js → comments-M7ZOZNBX.js} +10 -10
  110. package/dist/cli-bundle/chunks/{comments-URWDZP2I.js → comments-SKWMDWCW.js} +10 -10
  111. package/dist/cli-bundle/chunks/{config-GRJYZ2O3.js → config-7CK62S7T.js} +8 -8
  112. package/dist/cli-bundle/chunks/{config-PSZ5GWAK.js → config-OZCUABPB.js} +8 -8
  113. package/dist/cli-bundle/chunks/{context-A46YAV2F.js → context-OEC366TO.js} +13 -13
  114. package/dist/cli-bundle/chunks/{context-BCR34RKM.js → context-PUG2A7RC.js} +13 -13
  115. package/dist/cli-bundle/chunks/{contracts-JOPCQNDP.js → contracts-3THOLA7L.js} +4 -4
  116. package/dist/cli-bundle/chunks/{contracts-HPT25X4D.js → contracts-N65FXEOL.js} +4 -4
  117. package/dist/cli-bundle/chunks/{copy-X7V6AEDB.js → copy-6QLHILAC.js} +7 -7
  118. package/dist/cli-bundle/chunks/{copy-KBTIUW7L.js → copy-JPX7VZCH.js} +7 -7
  119. package/dist/cli-bundle/chunks/create-NNP6TSFO.js +30 -0
  120. package/dist/cli-bundle/chunks/{create-ZPZKJDFQ.js → create-Y54ZVVZH.js} +14 -14
  121. package/dist/cli-bundle/chunks/{delete-FGKVPUQZ.js → delete-63PCMQAJ.js} +7 -7
  122. package/dist/cli-bundle/chunks/{delete-2ZI6CJZM.js → delete-GDSMGAGJ.js} +7 -7
  123. package/dist/cli-bundle/chunks/{deps-IUJOBF2H.js → deps-T4ZF5G54.js} +7 -7
  124. package/dist/cli-bundle/chunks/{deps-SJCEFU3C.js → deps-XYQ73XRH.js} +7 -7
  125. package/dist/cli-bundle/chunks/{docs-UWJ75CKR.js → docs-C75YIXHC.js} +9 -9
  126. package/dist/cli-bundle/chunks/{docs-2LXF5SVC.js → docs-EHNPDWUL.js} +9 -9
  127. package/dist/cli-bundle/chunks/{eval-FRIDCTM2.js → eval-3WKDTRMH.js} +12 -12
  128. package/dist/cli-bundle/chunks/{eval-ZTT3F3SL.js → eval-GTENKE24.js} +12 -12
  129. package/dist/cli-bundle/chunks/{extension-VRYTNNSV.js → extension-46NWACO3.js} +5 -5
  130. package/dist/cli-bundle/chunks/{extension-XFQG3BXL.js → extension-D5FDZ2CO.js} +5 -5
  131. package/dist/cli-bundle/chunks/{files-B2RUCA32.js → files-DSZBOSSN.js} +9 -9
  132. package/dist/cli-bundle/chunks/{files-AJOGTTAN.js → files-X3H7CCBQ.js} +9 -9
  133. package/dist/cli-bundle/chunks/{focus-7N36RIMT.js → focus-5STQXDPU.js} +8 -8
  134. package/dist/cli-bundle/chunks/{focus-CFE33IYC.js → focus-MDVPOWB5.js} +8 -8
  135. package/dist/cli-bundle/chunks/{gc-OYJK4YBY.js → gc-ZC7JHBG7.js} +3 -3
  136. package/dist/cli-bundle/chunks/{gc-SBF2FGHK.js → gc-ZMST3WQP.js} +3 -3
  137. package/dist/cli-bundle/chunks/{get-577VLZZ7.js → get-J2IPJRZW.js} +11 -11
  138. package/dist/cli-bundle/chunks/{get-LLFWSPXW.js → get-NT7L2HUZ.js} +11 -11
  139. package/dist/cli-bundle/chunks/{health-C2PUT6JZ.js → health-IVMA3XQC.js} +33 -20
  140. package/dist/cli-bundle/chunks/health-IVMA3XQC.js.map +1 -0
  141. package/dist/cli-bundle/chunks/{health-PBJS7W2T.js → health-WOYBR3KU.js} +32 -19
  142. package/dist/cli-bundle/chunks/health-WOYBR3KU.js.map +7 -0
  143. package/dist/cli-bundle/chunks/{history-4FJK6Y3O.js → history-RLH2QCRO.js} +10 -10
  144. package/dist/cli-bundle/chunks/history-WX3MGFS2.js +20 -0
  145. package/dist/cli-bundle/chunks/{history-compact-HXF3OT7G.js → history-compact-UXDIFC33.js} +12 -12
  146. package/dist/cli-bundle/chunks/{history-compact-AXR6R6GU.js → history-compact-ZBEBGJM7.js} +12 -12
  147. package/dist/cli-bundle/chunks/{history-redact-UMPD4G3K.js → history-redact-P7I7AWMB.js} +11 -11
  148. package/dist/cli-bundle/chunks/history-redact-YQGU3XRA.js +21 -0
  149. package/dist/cli-bundle/chunks/{history-repair-WHOK2ICG.js → history-repair-52KINVIK.js} +12 -12
  150. package/dist/cli-bundle/chunks/{history-repair-X57HE5EA.js → history-repair-RM5ITLU5.js} +12 -12
  151. package/dist/cli-bundle/chunks/{init-N7MIIYCU.js → init-2BNZOO6F.js} +10 -10
  152. package/dist/cli-bundle/chunks/init-SC2P6CHP.js +20 -0
  153. package/dist/cli-bundle/chunks/{learnings-GZRBIEAN.js → learnings-W6F3FIPL.js} +10 -10
  154. package/dist/cli-bundle/chunks/{learnings-FPG7WAVW.js → learnings-YGYVHWJK.js} +10 -10
  155. package/dist/cli-bundle/chunks/{list-MZBCSKLU.js → list-K6FPV4J4.js} +10 -10
  156. package/dist/cli-bundle/chunks/{list-ZDQ2OBSO.js → list-KPAYU5KZ.js} +10 -10
  157. package/dist/cli-bundle/chunks/{notes-WQAP67EC.js → notes-PU74EPKV.js} +10 -10
  158. package/dist/cli-bundle/chunks/{notes-LW53PFLH.js → notes-YTD6ZILW.js} +10 -10
  159. package/dist/cli-bundle/chunks/{plan-AVJ4VJQO.js → plan-FNXHXRCI.js} +14 -14
  160. package/dist/cli-bundle/chunks/{plan-VZKICKIJ.js → plan-GEQYUCBW.js} +14 -14
  161. package/dist/cli-bundle/chunks/{register-list-query-CM4SVAQA.js → register-list-query-PHWYHENI.js} +19 -19
  162. package/dist/cli-bundle/chunks/{register-list-query-7BD6ZHU5.js → register-list-query-QI45RMKN.js} +19 -19
  163. package/dist/cli-bundle/chunks/{register-mutation-PLFHAS4N.js → register-mutation-X3BUOQEL.js} +33 -33
  164. package/dist/cli-bundle/chunks/{register-mutation-ANZIWHUF.js → register-mutation-YINRTS7L.js} +33 -33
  165. package/dist/cli-bundle/chunks/{register-operations-KQPQIFF2.js → register-operations-E5JEASRK.js} +32 -32
  166. package/dist/cli-bundle/chunks/{register-operations-VLGCAWIW.js → register-operations-MIDTRW7S.js} +32 -32
  167. package/dist/cli-bundle/chunks/{register-setup-TMEF6V7O.js → register-setup-DYBFLEZX.js} +15 -15
  168. package/dist/cli-bundle/chunks/{register-setup-KPTZ36D4.js → register-setup-EG2U6CEU.js} +15 -15
  169. package/dist/cli-bundle/chunks/restore-5KHR2YYQ.js +19 -0
  170. package/dist/cli-bundle/chunks/{restore-64JKQV7G.js → restore-XQYSWBV7.js} +11 -11
  171. package/dist/cli-bundle/chunks/{scheduling-shortcuts-X6D6VSZR.js → scheduling-shortcuts-HJMTEXKE.js} +14 -14
  172. package/dist/cli-bundle/chunks/{scheduling-shortcuts-4ION7QAX.js → scheduling-shortcuts-NNT5ASZR.js} +14 -14
  173. package/dist/cli-bundle/chunks/{schema-OA4RSVMI.js → schema-263RI4WW.js} +9 -9
  174. package/dist/cli-bundle/chunks/{schema-TA3NF3RG.js → schema-TZXW6XWD.js} +9 -9
  175. package/dist/cli-bundle/chunks/{search-INCM5I4J.js → search-LECJYSXE.js} +12 -12
  176. package/dist/cli-bundle/chunks/{search-UAIHEQZL.js → search-SFRJOVDG.js} +12 -12
  177. package/dist/cli-bundle/chunks/{stats-WQWTIA5Y.js → stats-N7ER2PNK.js} +8 -8
  178. package/dist/cli-bundle/chunks/{stats-RHEMG4CE.js → stats-VPBGSRQH.js} +8 -8
  179. package/dist/cli-bundle/chunks/{telemetry-G6UKGKJU.js → telemetry-L6K3BUIQ.js} +4 -4
  180. package/dist/cli-bundle/chunks/{telemetry-XA5D2QEO.js → telemetry-PP3FUNBU.js} +4 -4
  181. package/dist/cli-bundle/chunks/{test-ZMQF23P3.js → test-3EGNS3T5.js} +15 -15
  182. package/dist/cli-bundle/chunks/{test-XF7BYLMZ.js → test-RQCTSWUK.js} +15 -15
  183. package/dist/cli-bundle/chunks/{test-all-WUBBJCPU.js → test-all-NJ5V2QFS.js} +15 -15
  184. package/dist/cli-bundle/chunks/{test-all-ZNQBMUOI.js → test-all-ZHFAWNC3.js} +15 -15
  185. package/dist/cli-bundle/chunks/{test-runs-RFA42EEX.js → test-runs-AJHR6IQF.js} +5 -5
  186. package/dist/cli-bundle/chunks/{test-runs-N7LI7HLH.js → test-runs-GN3C6GOI.js} +5 -5
  187. package/dist/cli-bundle/chunks/update-6YXOGHRT.js +24 -0
  188. package/dist/cli-bundle/chunks/update-V33YUBRP.js +28 -0
  189. package/dist/cli-bundle/chunks/{update-many-NMRUQZL2.js → update-many-N2AN6ZDH.js} +23 -23
  190. package/dist/cli-bundle/chunks/{update-many-6XFR7TFG.js → update-many-RYQ64CFW.js} +23 -23
  191. package/dist/cli-bundle/chunks/{upgrade-EJTME2YQ.js → upgrade-TJXFLZIX.js} +5 -5
  192. package/dist/cli-bundle/chunks/{upgrade-QMCSONWR.js → upgrade-VPCIYAVW.js} +5 -5
  193. package/dist/cli-bundle/chunks/{validate-3SUCHXXX.js → validate-JMNWEUYF.js} +62 -24
  194. package/dist/cli-bundle/chunks/validate-JMNWEUYF.js.map +1 -0
  195. package/dist/cli-bundle/chunks/{validate-KIIJY5RC.js → validate-PHKIYGSY.js} +61 -23
  196. package/dist/cli-bundle/chunks/validate-PHKIYGSY.js.map +7 -0
  197. package/dist/cli-bundle/main.js +17 -17
  198. package/dist/core/diagnostics/remediation.js +23 -2
  199. package/dist/core/diagnostics/remediation.js.map +1 -1
  200. package/dist/core/item/item-format-version.d.ts +87 -0
  201. package/dist/core/item/item-format-version.js +85 -0
  202. package/dist/core/item/item-format-version.js.map +1 -0
  203. package/dist/core/item/item-format.js +8 -2
  204. package/dist/core/item/item-format.js.map +1 -1
  205. package/dist/core/shared/constants.js +3 -2
  206. package/dist/core/shared/constants.js.map +1 -1
  207. package/dist/sdk/index.d.ts +2 -2
  208. package/dist/sdk/index.js +3 -3
  209. package/dist/sdk/index.js.map +1 -1
  210. package/dist/sdk/runtime.d.ts +1 -0
  211. package/dist/sdk/runtime.js +3 -2
  212. package/dist/sdk/runtime.js.map +1 -1
  213. package/dist/sdk/testing.d.ts +48 -1
  214. package/dist/sdk/testing.js +98 -2
  215. package/dist/sdk/testing.js.map +1 -1
  216. package/dist/types.d.ts +7 -0
  217. package/dist/types.js +2 -2
  218. package/dist/types.js.map +1 -1
  219. package/docs/ARCHITECTURE.md +2 -0
  220. package/docs/COMMANDS.md +2 -0
  221. package/docs/SDK.md +71 -0
  222. package/package.json +1 -1
  223. package/packages/pm-command-kit/README.md +4 -0
  224. package/packages/pm-todos/extensions/todos/runtime.js +191 -8
  225. package/packages/pm-todos/extensions/todos/runtime.ts +207 -7
  226. package/dist/cli-bundle/chunks/activity-7G7NNNZQ.js +0 -18
  227. package/dist/cli-bundle/chunks/chunk-5MWA46UN.js.map +0 -7
  228. package/dist/cli-bundle/chunks/chunk-AZ75OVK4.js.map +0 -1
  229. package/dist/cli-bundle/chunks/chunk-FSOJCFDS.js.map +0 -1
  230. package/dist/cli-bundle/chunks/chunk-H3ZTSYPA.js.map +0 -7
  231. package/dist/cli-bundle/chunks/chunk-IWKD7B33.js.map +0 -7
  232. package/dist/cli-bundle/chunks/chunk-LTUB7ARL.js.map +0 -1
  233. package/dist/cli-bundle/chunks/chunk-OLEP5TJH.js.map +0 -1
  234. package/dist/cli-bundle/chunks/chunk-QWAJPGEI.js.map +0 -7
  235. package/dist/cli-bundle/chunks/close-NNZZTZ5V.js +0 -15
  236. package/dist/cli-bundle/chunks/create-4KOAQ6ME.js +0 -30
  237. package/dist/cli-bundle/chunks/health-C2PUT6JZ.js.map +0 -1
  238. package/dist/cli-bundle/chunks/health-PBJS7W2T.js.map +0 -7
  239. package/dist/cli-bundle/chunks/history-ZXNWG6H4.js +0 -20
  240. package/dist/cli-bundle/chunks/history-redact-GV633Z4H.js +0 -21
  241. package/dist/cli-bundle/chunks/init-KQWZSNBX.js +0 -20
  242. package/dist/cli-bundle/chunks/restore-GKM26SAW.js +0 -19
  243. package/dist/cli-bundle/chunks/update-CPNOG73P.js +0 -24
  244. package/dist/cli-bundle/chunks/update-T5AYT6ZN.js +0 -28
  245. package/dist/cli-bundle/chunks/validate-3SUCHXXX.js.map +0 -1
  246. package/dist/cli-bundle/chunks/validate-KIIJY5RC.js.map +0 -7
  247. /package/dist/cli-bundle/chunks/{activity-7G7NNNZQ.js.map → activity-CIHV64UC.js.map} +0 -0
  248. /package/dist/cli-bundle/chunks/{activity-KEEITOTB.js.map → activity-KW3IRP44.js.map} +0 -0
  249. /package/dist/cli-bundle/chunks/{aggregate-GB2LJNTZ.js.map → aggregate-3ZKQG5SW.js.map} +0 -0
  250. /package/dist/cli-bundle/chunks/{aggregate-5BTHOHW2.js.map → aggregate-FIGQEIL3.js.map} +0 -0
  251. /package/dist/cli-bundle/chunks/{append-BBM4MNVD.js.map → append-EWJYJ7CH.js.map} +0 -0
  252. /package/dist/cli-bundle/chunks/{append-BFV5UYWS.js.map → append-QEOLX3XB.js.map} +0 -0
  253. /package/dist/cli-bundle/chunks/{chunk-RICT5QYR.js.map → chunk-2EIMPCE4.js.map} +0 -0
  254. /package/dist/cli-bundle/chunks/{chunk-ZYG4TR32.js.map → chunk-2GCDRRIF.js.map} +0 -0
  255. /package/dist/cli-bundle/chunks/{chunk-DYOJJTCG.js.map → chunk-2PKHRP6G.js.map} +0 -0
  256. /package/dist/cli-bundle/chunks/{chunk-HWHZ7EY7.js.map → chunk-37QXHBIB.js.map} +0 -0
  257. /package/dist/cli-bundle/chunks/{chunk-ACULWT7G.js.map → chunk-3EWSGA7N.js.map} +0 -0
  258. /package/dist/cli-bundle/chunks/{chunk-II4BRHKM.js.map → chunk-3MDHREEV.js.map} +0 -0
  259. /package/dist/cli-bundle/chunks/{chunk-E4E7UQBT.js.map → chunk-52OCIDPG.js.map} +0 -0
  260. /package/dist/cli-bundle/chunks/{chunk-FA5O2DEG.js.map → chunk-5FIEHKEX.js.map} +0 -0
  261. /package/dist/cli-bundle/chunks/{chunk-2QJLN4KM.js.map → chunk-5IDI42VV.js.map} +0 -0
  262. /package/dist/cli-bundle/chunks/{chunk-2LUNPA3U.js.map → chunk-5QICDWMV.js.map} +0 -0
  263. /package/dist/cli-bundle/chunks/{chunk-EOFROIC5.js.map → chunk-6CJWZAN7.js.map} +0 -0
  264. /package/dist/cli-bundle/chunks/{chunk-3KVCMB2M.js.map → chunk-6H4LF7AO.js.map} +0 -0
  265. /package/dist/cli-bundle/chunks/{chunk-6DZO5NN7.js.map → chunk-6M4RJS4M.js.map} +0 -0
  266. /package/dist/cli-bundle/chunks/{chunk-WFOITX4A.js.map → chunk-6ZXM2XNF.js.map} +0 -0
  267. /package/dist/cli-bundle/chunks/{chunk-AW4PYYNF.js.map → chunk-76Z3YSHV.js.map} +0 -0
  268. /package/dist/cli-bundle/chunks/{chunk-ZHCSGIUX.js.map → chunk-7D3SAQXM.js.map} +0 -0
  269. /package/dist/cli-bundle/chunks/{chunk-MFCFHL27.js.map → chunk-A4Z7ZOL5.js.map} +0 -0
  270. /package/dist/cli-bundle/chunks/{chunk-F4EYOSNC.js.map → chunk-AIS5PGI3.js.map} +0 -0
  271. /package/dist/cli-bundle/chunks/{chunk-BYNJWB5F.js.map → chunk-AZMOLBN3.js.map} +0 -0
  272. /package/dist/cli-bundle/chunks/{chunk-VE3BUO3R.js.map → chunk-B473GZWW.js.map} +0 -0
  273. /package/dist/cli-bundle/chunks/{chunk-W2ZESOQE.js.map → chunk-C3AZ5ZML.js.map} +0 -0
  274. /package/dist/cli-bundle/chunks/{chunk-CNPWCUDR.js.map → chunk-C4N5I7ZW.js.map} +0 -0
  275. /package/dist/cli-bundle/chunks/{chunk-DKWIPIJY.js.map → chunk-CF55WVVS.js.map} +0 -0
  276. /package/dist/cli-bundle/chunks/{chunk-YBQF4CAW.js.map → chunk-CZPXY7UW.js.map} +0 -0
  277. /package/dist/cli-bundle/chunks/{chunk-6KARQMC6.js.map → chunk-CZUB4XWO.js.map} +0 -0
  278. /package/dist/cli-bundle/chunks/{chunk-K2LBDYDC.js.map → chunk-D7FYS6PG.js.map} +0 -0
  279. /package/dist/cli-bundle/chunks/{chunk-X3CD2VUI.js.map → chunk-EBH56IXK.js.map} +0 -0
  280. /package/dist/cli-bundle/chunks/{chunk-5XK2RYJR.js.map → chunk-F5NZWFSW.js.map} +0 -0
  281. /package/dist/cli-bundle/chunks/{chunk-BZWIDTDE.js.map → chunk-F7K5GWP3.js.map} +0 -0
  282. /package/dist/cli-bundle/chunks/{chunk-4KFL5OYK.js.map → chunk-FKBDKV7Y.js.map} +0 -0
  283. /package/dist/cli-bundle/chunks/{chunk-XNQ3YH6N.js.map → chunk-FRUFKWNK.js.map} +0 -0
  284. /package/dist/cli-bundle/chunks/{chunk-ICEWMJYH.js.map → chunk-FWPDUYEY.js.map} +0 -0
  285. /package/dist/cli-bundle/chunks/{chunk-2ZY5SLNR.js.map → chunk-GMHPNNYG.js.map} +0 -0
  286. /package/dist/cli-bundle/chunks/{chunk-U3WTMYBX.js.map → chunk-GOZUHWFD.js.map} +0 -0
  287. /package/dist/cli-bundle/chunks/{chunk-ATRXPXAL.js.map → chunk-H7NJZWG2.js.map} +0 -0
  288. /package/dist/cli-bundle/chunks/{chunk-VONJSFUW.js.map → chunk-HC4AWIKT.js.map} +0 -0
  289. /package/dist/cli-bundle/chunks/{chunk-PF5GLFPU.js.map → chunk-HCU6WUSY.js.map} +0 -0
  290. /package/dist/cli-bundle/chunks/{chunk-NKTUBA2C.js.map → chunk-HIP7WVTL.js.map} +0 -0
  291. /package/dist/cli-bundle/chunks/{chunk-RADIHKJ3.js.map → chunk-J4MYYSOL.js.map} +0 -0
  292. /package/dist/cli-bundle/chunks/{chunk-OVSFW4KD.js.map → chunk-LUWW7L4B.js.map} +0 -0
  293. /package/dist/cli-bundle/chunks/{chunk-6KSFULO6.js.map → chunk-M5XALUSL.js.map} +0 -0
  294. /package/dist/cli-bundle/chunks/{chunk-BBSUVIIT.js.map → chunk-N5ZJACJ6.js.map} +0 -0
  295. /package/dist/cli-bundle/chunks/{chunk-ETJKPURB.js.map → chunk-NB3PYLQ6.js.map} +0 -0
  296. /package/dist/cli-bundle/chunks/{chunk-7MMXBIRZ.js.map → chunk-NIGXMNNI.js.map} +0 -0
  297. /package/dist/cli-bundle/chunks/{chunk-XKJDCJEH.js.map → chunk-NIUEXCFS.js.map} +0 -0
  298. /package/dist/cli-bundle/chunks/{chunk-RNKUCHUQ.js.map → chunk-NJHMAJ6N.js.map} +0 -0
  299. /package/dist/cli-bundle/chunks/{chunk-AOCYDQLT.js.map → chunk-NJN7LL7U.js.map} +0 -0
  300. /package/dist/cli-bundle/chunks/{chunk-MTQK5ZSB.js.map → chunk-NSBZ2CKF.js.map} +0 -0
  301. /package/dist/cli-bundle/chunks/{chunk-26OQTCGH.js.map → chunk-NXS7ZKAK.js.map} +0 -0
  302. /package/dist/cli-bundle/chunks/{chunk-6LTSLEHD.js.map → chunk-O47BPOPC.js.map} +0 -0
  303. /package/dist/cli-bundle/chunks/{chunk-6Y7IQ6XN.js.map → chunk-OFYMIDF2.js.map} +0 -0
  304. /package/dist/cli-bundle/chunks/{chunk-4YMX7XFI.js.map → chunk-OTHIWLMB.js.map} +0 -0
  305. /package/dist/cli-bundle/chunks/{chunk-QUTJOHGK.js.map → chunk-PFSRUHDH.js.map} +0 -0
  306. /package/dist/cli-bundle/chunks/{chunk-FXKPUMIR.js.map → chunk-PP2U4NMT.js.map} +0 -0
  307. /package/dist/cli-bundle/chunks/{chunk-XXGAWTH5.js.map → chunk-PUH4D67U.js.map} +0 -0
  308. /package/dist/cli-bundle/chunks/{chunk-NCGQ27PK.js.map → chunk-Q2J2HJUN.js.map} +0 -0
  309. /package/dist/cli-bundle/chunks/{chunk-J7VSEFWB.js.map → chunk-QQHISQBJ.js.map} +0 -0
  310. /package/dist/cli-bundle/chunks/{chunk-KCJZREBI.js.map → chunk-QZTWBFXJ.js.map} +0 -0
  311. /package/dist/cli-bundle/chunks/{chunk-NMQNXH4U.js.map → chunk-RLK7P77C.js.map} +0 -0
  312. /package/dist/cli-bundle/chunks/{chunk-FBBPCSJM.js.map → chunk-RVHYI7SL.js.map} +0 -0
  313. /package/dist/cli-bundle/chunks/{chunk-3WAKNI2W.js.map → chunk-SBGXDO7A.js.map} +0 -0
  314. /package/dist/cli-bundle/chunks/{chunk-6FSPWUBI.js.map → chunk-SRYYRVPB.js.map} +0 -0
  315. /package/dist/cli-bundle/chunks/{chunk-SL233DQD.js.map → chunk-SX75ADBK.js.map} +0 -0
  316. /package/dist/cli-bundle/chunks/{chunk-YT4Z2OVB.js.map → chunk-TKBHZPKD.js.map} +0 -0
  317. /package/dist/cli-bundle/chunks/{chunk-EKMHDL6Z.js.map → chunk-UEMNL33O.js.map} +0 -0
  318. /package/dist/cli-bundle/chunks/{chunk-4S4INK3B.js.map → chunk-UPE3CDD7.js.map} +0 -0
  319. /package/dist/cli-bundle/chunks/{chunk-4PW4C3ZB.js.map → chunk-UV6IYE5U.js.map} +0 -0
  320. /package/dist/cli-bundle/chunks/{chunk-GF44HVZL.js.map → chunk-WQ7NIVDK.js.map} +0 -0
  321. /package/dist/cli-bundle/chunks/{chunk-B3LROPTV.js.map → chunk-YCJX76PW.js.map} +0 -0
  322. /package/dist/cli-bundle/chunks/{chunk-WMQBNVZL.js.map → chunk-Z6T4PQI2.js.map} +0 -0
  323. /package/dist/cli-bundle/chunks/{claim-G57ZJLZ4.js.map → claim-RC56YUWG.js.map} +0 -0
  324. /package/dist/cli-bundle/chunks/{claim-TRSDQO6L.js.map → claim-THOJ6CMV.js.map} +0 -0
  325. /package/dist/cli-bundle/chunks/{close-NNZZTZ5V.js.map → close-DNMHGOCX.js.map} +0 -0
  326. /package/dist/cli-bundle/chunks/{close-4QMUQMON.js.map → close-SG5MNCVQ.js.map} +0 -0
  327. /package/dist/cli-bundle/chunks/{close-many-A7U62CRI.js.map → close-many-3L3AQZBU.js.map} +0 -0
  328. /package/dist/cli-bundle/chunks/{close-many-3UWKJRQK.js.map → close-many-DKQLBGLV.js.map} +0 -0
  329. /package/dist/cli-bundle/chunks/{comments-4EM7XR74.js.map → comments-M7ZOZNBX.js.map} +0 -0
  330. /package/dist/cli-bundle/chunks/{comments-URWDZP2I.js.map → comments-SKWMDWCW.js.map} +0 -0
  331. /package/dist/cli-bundle/chunks/{config-GRJYZ2O3.js.map → config-7CK62S7T.js.map} +0 -0
  332. /package/dist/cli-bundle/chunks/{config-PSZ5GWAK.js.map → config-OZCUABPB.js.map} +0 -0
  333. /package/dist/cli-bundle/chunks/{context-A46YAV2F.js.map → context-OEC366TO.js.map} +0 -0
  334. /package/dist/cli-bundle/chunks/{context-BCR34RKM.js.map → context-PUG2A7RC.js.map} +0 -0
  335. /package/dist/cli-bundle/chunks/{contracts-JOPCQNDP.js.map → contracts-3THOLA7L.js.map} +0 -0
  336. /package/dist/cli-bundle/chunks/{contracts-HPT25X4D.js.map → contracts-N65FXEOL.js.map} +0 -0
  337. /package/dist/cli-bundle/chunks/{copy-X7V6AEDB.js.map → copy-6QLHILAC.js.map} +0 -0
  338. /package/dist/cli-bundle/chunks/{copy-KBTIUW7L.js.map → copy-JPX7VZCH.js.map} +0 -0
  339. /package/dist/cli-bundle/chunks/{create-4KOAQ6ME.js.map → create-NNP6TSFO.js.map} +0 -0
  340. /package/dist/cli-bundle/chunks/{create-ZPZKJDFQ.js.map → create-Y54ZVVZH.js.map} +0 -0
  341. /package/dist/cli-bundle/chunks/{delete-FGKVPUQZ.js.map → delete-63PCMQAJ.js.map} +0 -0
  342. /package/dist/cli-bundle/chunks/{delete-2ZI6CJZM.js.map → delete-GDSMGAGJ.js.map} +0 -0
  343. /package/dist/cli-bundle/chunks/{deps-IUJOBF2H.js.map → deps-T4ZF5G54.js.map} +0 -0
  344. /package/dist/cli-bundle/chunks/{deps-SJCEFU3C.js.map → deps-XYQ73XRH.js.map} +0 -0
  345. /package/dist/cli-bundle/chunks/{docs-UWJ75CKR.js.map → docs-C75YIXHC.js.map} +0 -0
  346. /package/dist/cli-bundle/chunks/{docs-2LXF5SVC.js.map → docs-EHNPDWUL.js.map} +0 -0
  347. /package/dist/cli-bundle/chunks/{eval-FRIDCTM2.js.map → eval-3WKDTRMH.js.map} +0 -0
  348. /package/dist/cli-bundle/chunks/{eval-ZTT3F3SL.js.map → eval-GTENKE24.js.map} +0 -0
  349. /package/dist/cli-bundle/chunks/{extension-VRYTNNSV.js.map → extension-46NWACO3.js.map} +0 -0
  350. /package/dist/cli-bundle/chunks/{extension-XFQG3BXL.js.map → extension-D5FDZ2CO.js.map} +0 -0
  351. /package/dist/cli-bundle/chunks/{files-B2RUCA32.js.map → files-DSZBOSSN.js.map} +0 -0
  352. /package/dist/cli-bundle/chunks/{files-AJOGTTAN.js.map → files-X3H7CCBQ.js.map} +0 -0
  353. /package/dist/cli-bundle/chunks/{focus-7N36RIMT.js.map → focus-5STQXDPU.js.map} +0 -0
  354. /package/dist/cli-bundle/chunks/{focus-CFE33IYC.js.map → focus-MDVPOWB5.js.map} +0 -0
  355. /package/dist/cli-bundle/chunks/{gc-OYJK4YBY.js.map → gc-ZC7JHBG7.js.map} +0 -0
  356. /package/dist/cli-bundle/chunks/{gc-SBF2FGHK.js.map → gc-ZMST3WQP.js.map} +0 -0
  357. /package/dist/cli-bundle/chunks/{get-577VLZZ7.js.map → get-J2IPJRZW.js.map} +0 -0
  358. /package/dist/cli-bundle/chunks/{get-LLFWSPXW.js.map → get-NT7L2HUZ.js.map} +0 -0
  359. /package/dist/cli-bundle/chunks/{history-4FJK6Y3O.js.map → history-RLH2QCRO.js.map} +0 -0
  360. /package/dist/cli-bundle/chunks/{history-ZXNWG6H4.js.map → history-WX3MGFS2.js.map} +0 -0
  361. /package/dist/cli-bundle/chunks/{history-compact-HXF3OT7G.js.map → history-compact-UXDIFC33.js.map} +0 -0
  362. /package/dist/cli-bundle/chunks/{history-compact-AXR6R6GU.js.map → history-compact-ZBEBGJM7.js.map} +0 -0
  363. /package/dist/cli-bundle/chunks/{history-redact-UMPD4G3K.js.map → history-redact-P7I7AWMB.js.map} +0 -0
  364. /package/dist/cli-bundle/chunks/{history-redact-GV633Z4H.js.map → history-redact-YQGU3XRA.js.map} +0 -0
  365. /package/dist/cli-bundle/chunks/{history-repair-WHOK2ICG.js.map → history-repair-52KINVIK.js.map} +0 -0
  366. /package/dist/cli-bundle/chunks/{history-repair-X57HE5EA.js.map → history-repair-RM5ITLU5.js.map} +0 -0
  367. /package/dist/cli-bundle/chunks/{init-N7MIIYCU.js.map → init-2BNZOO6F.js.map} +0 -0
  368. /package/dist/cli-bundle/chunks/{init-KQWZSNBX.js.map → init-SC2P6CHP.js.map} +0 -0
  369. /package/dist/cli-bundle/chunks/{learnings-GZRBIEAN.js.map → learnings-W6F3FIPL.js.map} +0 -0
  370. /package/dist/cli-bundle/chunks/{learnings-FPG7WAVW.js.map → learnings-YGYVHWJK.js.map} +0 -0
  371. /package/dist/cli-bundle/chunks/{list-MZBCSKLU.js.map → list-K6FPV4J4.js.map} +0 -0
  372. /package/dist/cli-bundle/chunks/{list-ZDQ2OBSO.js.map → list-KPAYU5KZ.js.map} +0 -0
  373. /package/dist/cli-bundle/chunks/{notes-WQAP67EC.js.map → notes-PU74EPKV.js.map} +0 -0
  374. /package/dist/cli-bundle/chunks/{notes-LW53PFLH.js.map → notes-YTD6ZILW.js.map} +0 -0
  375. /package/dist/cli-bundle/chunks/{plan-AVJ4VJQO.js.map → plan-FNXHXRCI.js.map} +0 -0
  376. /package/dist/cli-bundle/chunks/{plan-VZKICKIJ.js.map → plan-GEQYUCBW.js.map} +0 -0
  377. /package/dist/cli-bundle/chunks/{register-list-query-CM4SVAQA.js.map → register-list-query-PHWYHENI.js.map} +0 -0
  378. /package/dist/cli-bundle/chunks/{register-list-query-7BD6ZHU5.js.map → register-list-query-QI45RMKN.js.map} +0 -0
  379. /package/dist/cli-bundle/chunks/{register-mutation-PLFHAS4N.js.map → register-mutation-X3BUOQEL.js.map} +0 -0
  380. /package/dist/cli-bundle/chunks/{register-mutation-ANZIWHUF.js.map → register-mutation-YINRTS7L.js.map} +0 -0
  381. /package/dist/cli-bundle/chunks/{register-operations-KQPQIFF2.js.map → register-operations-E5JEASRK.js.map} +0 -0
  382. /package/dist/cli-bundle/chunks/{register-operations-VLGCAWIW.js.map → register-operations-MIDTRW7S.js.map} +0 -0
  383. /package/dist/cli-bundle/chunks/{register-setup-TMEF6V7O.js.map → register-setup-DYBFLEZX.js.map} +0 -0
  384. /package/dist/cli-bundle/chunks/{register-setup-KPTZ36D4.js.map → register-setup-EG2U6CEU.js.map} +0 -0
  385. /package/dist/cli-bundle/chunks/{restore-GKM26SAW.js.map → restore-5KHR2YYQ.js.map} +0 -0
  386. /package/dist/cli-bundle/chunks/{restore-64JKQV7G.js.map → restore-XQYSWBV7.js.map} +0 -0
  387. /package/dist/cli-bundle/chunks/{scheduling-shortcuts-X6D6VSZR.js.map → scheduling-shortcuts-HJMTEXKE.js.map} +0 -0
  388. /package/dist/cli-bundle/chunks/{scheduling-shortcuts-4ION7QAX.js.map → scheduling-shortcuts-NNT5ASZR.js.map} +0 -0
  389. /package/dist/cli-bundle/chunks/{schema-OA4RSVMI.js.map → schema-263RI4WW.js.map} +0 -0
  390. /package/dist/cli-bundle/chunks/{schema-TA3NF3RG.js.map → schema-TZXW6XWD.js.map} +0 -0
  391. /package/dist/cli-bundle/chunks/{search-INCM5I4J.js.map → search-LECJYSXE.js.map} +0 -0
  392. /package/dist/cli-bundle/chunks/{search-UAIHEQZL.js.map → search-SFRJOVDG.js.map} +0 -0
  393. /package/dist/cli-bundle/chunks/{stats-WQWTIA5Y.js.map → stats-N7ER2PNK.js.map} +0 -0
  394. /package/dist/cli-bundle/chunks/{stats-RHEMG4CE.js.map → stats-VPBGSRQH.js.map} +0 -0
  395. /package/dist/cli-bundle/chunks/{telemetry-G6UKGKJU.js.map → telemetry-L6K3BUIQ.js.map} +0 -0
  396. /package/dist/cli-bundle/chunks/{telemetry-XA5D2QEO.js.map → telemetry-PP3FUNBU.js.map} +0 -0
  397. /package/dist/cli-bundle/chunks/{test-ZMQF23P3.js.map → test-3EGNS3T5.js.map} +0 -0
  398. /package/dist/cli-bundle/chunks/{test-XF7BYLMZ.js.map → test-RQCTSWUK.js.map} +0 -0
  399. /package/dist/cli-bundle/chunks/{test-all-WUBBJCPU.js.map → test-all-NJ5V2QFS.js.map} +0 -0
  400. /package/dist/cli-bundle/chunks/{test-all-ZNQBMUOI.js.map → test-all-ZHFAWNC3.js.map} +0 -0
  401. /package/dist/cli-bundle/chunks/{test-runs-RFA42EEX.js.map → test-runs-AJHR6IQF.js.map} +0 -0
  402. /package/dist/cli-bundle/chunks/{test-runs-N7LI7HLH.js.map → test-runs-GN3C6GOI.js.map} +0 -0
  403. /package/dist/cli-bundle/chunks/{update-CPNOG73P.js.map → update-6YXOGHRT.js.map} +0 -0
  404. /package/dist/cli-bundle/chunks/{update-T5AYT6ZN.js.map → update-V33YUBRP.js.map} +0 -0
  405. /package/dist/cli-bundle/chunks/{update-many-NMRUQZL2.js.map → update-many-N2AN6ZDH.js.map} +0 -0
  406. /package/dist/cli-bundle/chunks/{update-many-6XFR7TFG.js.map → update-many-RYQ64CFW.js.map} +0 -0
  407. /package/dist/cli-bundle/chunks/{upgrade-EJTME2YQ.js.map → upgrade-TJXFLZIX.js.map} +0 -0
  408. /package/dist/cli-bundle/chunks/{upgrade-QMCSONWR.js.map → upgrade-VPCIYAVW.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sources":["core/shared/constants.ts"],"sourceRoot":"/","sourcesContent":["/**\n * @module core/shared/constants\n *\n * Provides shared primitives and utilities for Constants.\n */\nimport type {\n BuiltinItemType,\n GovernancePreset,\n GovernanceSettings,\n ItemFrontMatter,\n PmSettings,\n RuntimeStatusDefinition,\n RuntimeWorkflowDefinition,\n} from \"../../types/index.js\";\nimport { createDefaultExtensionGovernancePolicy } from \"../extensions/extension-types.js\";\n\n/**\n * Canonical default lifecycle status model and workflow role mapping.\n *\n * Single source of truth: `SETTINGS_DEFAULTS.schema` references these, and\n * `src/core/schema/runtime-schema.ts` re-exports them as\n * `DEFAULT_RUNTIME_STATUS_DEFINITIONS` / `DEFAULT_RUNTIME_WORKFLOW`.\n */\nexport const DEFAULT_STATUS_DEFINITIONS: ReadonlyArray<RuntimeStatusDefinition> = Object.freeze([\n {\n id: \"draft\",\n roles: [\"draft\"],\n },\n {\n id: \"open\",\n roles: [\"active\", \"default_open\"],\n },\n {\n id: \"in_progress\",\n aliases: [\"in-progress\"],\n roles: [\"active\"],\n },\n {\n id: \"blocked\",\n roles: [\"blocked\"],\n },\n {\n id: \"closed\",\n roles: [\"terminal\", \"terminal_done\", \"default_close\"],\n },\n {\n id: \"canceled\",\n aliases: [\"cancelled\"],\n roles: [\"terminal\", \"terminal_canceled\", \"default_cancel\"],\n },\n]);\n\nexport const DEFAULT_WORKFLOW_DEFINITION: RuntimeWorkflowDefinition = Object.freeze({\n draft_status: \"draft\",\n open_status: \"open\",\n in_progress_status: \"in_progress\",\n blocked_status: \"blocked\",\n close_status: \"closed\",\n canceled_status: \"canceled\",\n});\n\nexport const PM_DIRNAME = \".agents/pm\";\nexport const SETTINGS_FILENAME = \"settings.json\";\n\n/**\n * GH-249: placeholder close reason recorded when `pm create --status closed`\n * lands an item directly in the close status under\n * `governance.require_close_reason` and no --message/--resolution text is\n * available. Mirrors `pm update --status closed`'s \"Closed via pm update\"\n * default so all three closure paths record a reason.\n */\nexport const CREATE_DIRECT_CLOSE_REASON_DEFAULT = \"Closed at creation via pm create\";\n\nexport const PM_CORE_REQUIRED_SUBDIRS = [\n \"\",\n \"epics\",\n \"features\",\n \"tasks\",\n \"chores\",\n \"issues\",\n \"schema\",\n \"history\",\n \"search\",\n \"extensions\",\n \"locks\",\n] as const;\n\nexport const PM_OPTIONAL_TYPE_SUBDIRS = [\n \"decisions\",\n \"events\",\n \"reminders\",\n \"milestones\",\n \"meetings\",\n \"plans\",\n] as const;\n\nexport const PM_REQUIRED_SUBDIRS = [...PM_CORE_REQUIRED_SUBDIRS, ...PM_OPTIONAL_TYPE_SUBDIRS] as const;\n\nexport const TYPE_TO_FOLDER: Record<BuiltinItemType, string> = {\n Epic: \"epics\",\n Feature: \"features\",\n Task: \"tasks\",\n Chore: \"chores\",\n Issue: \"issues\",\n Decision: \"decisions\",\n Event: \"events\",\n Reminder: \"reminders\",\n Milestone: \"milestones\",\n Meeting: \"meetings\",\n Plan: \"plans\",\n};\n\nexport const FRONT_MATTER_KEY_ORDER: ReadonlyArray<string> = [\n \"id\",\n \"title\",\n \"description\",\n \"type\",\n \"source_type\",\n \"type_options\",\n \"status\",\n \"priority\",\n \"tags\",\n \"created_at\",\n \"updated_at\",\n \"deadline\",\n \"reminders\",\n \"events\",\n \"closed_at\",\n \"assignee\",\n \"source_owner\",\n \"author\",\n \"estimated_minutes\",\n \"acceptance_criteria\",\n \"design\",\n \"external_ref\",\n \"definition_of_ready\",\n \"order\",\n \"goal\",\n \"objective\",\n \"value\",\n \"impact\",\n \"outcome\",\n \"why_now\",\n \"parent\",\n \"reviewer\",\n \"risk\",\n \"confidence\",\n \"sprint\",\n \"release\",\n \"blocked_by\",\n \"blocked_reason\",\n \"unblock_note\",\n \"reporter\",\n \"severity\",\n \"environment\",\n \"repro_steps\",\n \"resolution\",\n \"expected_result\",\n \"actual_result\",\n \"affected_version\",\n \"fixed_version\",\n \"component\",\n \"regression\",\n \"customer_impact\",\n \"dependencies\",\n \"comments\",\n \"notes\",\n \"learnings\",\n \"files\",\n \"tests\",\n \"test_runs\",\n \"docs\",\n \"close_reason\",\n \"duplicate_of\",\n \"plan_mode\",\n \"plan_scope\",\n \"plan_harness\",\n \"plan_resume_context\",\n \"plan_validation\",\n \"plan_decisions\",\n \"plan_discoveries\",\n \"plan_steps\",\n];\n\ntype BuiltinGovernancePreset = Exclude<GovernancePreset, \"custom\">;\n\nexport const GOVERNANCE_PRESET_DEFAULTS: Record<BuiltinGovernancePreset, Omit<GovernanceSettings, \"preset\">> = {\n minimal: {\n ownership_enforcement: \"none\",\n create_mode_default: \"progressive\",\n close_validation_default: \"off\",\n require_close_reason: true,\n parent_reference: \"strict_error\",\n metadata_profile: \"core\",\n force_required_for_stale_lock: false,\n },\n default: {\n ownership_enforcement: \"warn\",\n create_mode_default: \"progressive\",\n close_validation_default: \"warn\",\n require_close_reason: true,\n parent_reference: \"strict_error\",\n metadata_profile: \"core\",\n force_required_for_stale_lock: true,\n },\n strict: {\n ownership_enforcement: \"strict\",\n create_mode_default: \"strict\",\n close_validation_default: \"strict\",\n require_close_reason: true,\n parent_reference: \"strict_error\",\n metadata_profile: \"strict\",\n force_required_for_stale_lock: true,\n },\n};\n\nexport const DEFAULT_VALIDATE_STALE_BLOCKER_REASON_PATTERNS = [\n \"no active blocker\",\n \"ready for planned execution sequencing\",\n \"work completed\",\n \"work is closed\",\n] as const;\n\nexport const DEFAULT_VALIDATE_CLOSURE_LIKE_METADATA_FIELD_PATTERNS = {\n blocked_reason: [\"no active blocker because work is closed\", \"work is closed\"],\n resolution: [\"closed with implementation evidence\", \"closed with verification evidence\", \"work completed and recorded\", \"work is closed\"],\n actual_result: [\"closed and recorded\", \"work completed\", \"work completed and recorded\"],\n} as const;\n\nfunction cloneOptionalArray<T>(values: readonly T[] | undefined): T[] | undefined {\n return values ? [...values] : undefined;\n}\n\nexport const SETTINGS_DEFAULTS: PmSettings = {\n version: 1,\n id_prefix: \"pm-\",\n author_default: \"\",\n item_format: \"toon\",\n locks: {\n ttl_seconds: 1800,\n },\n checkpoints: {\n retention_days: 14,\n },\n output: {\n default_format: \"toon\",\n },\n history: {\n missing_stream: \"auto_create\",\n compact_policy: {\n enabled: false,\n max_entries: 500,\n trigger: \"health_warn\",\n },\n },\n validation: {\n sprint_release_format: \"warn\",\n parent_reference: \"warn\",\n metadata_profile: \"core\",\n metadata_required_fields: [],\n lifecycle_stale_blocker_reason_patterns: [...DEFAULT_VALIDATE_STALE_BLOCKER_REASON_PATTERNS],\n lifecycle_closure_like_blocked_reason_patterns: [\n ...DEFAULT_VALIDATE_CLOSURE_LIKE_METADATA_FIELD_PATTERNS.blocked_reason,\n ],\n lifecycle_closure_like_resolution_patterns: [...DEFAULT_VALIDATE_CLOSURE_LIKE_METADATA_FIELD_PATTERNS.resolution],\n lifecycle_closure_like_actual_result_patterns: [\n ...DEFAULT_VALIDATE_CLOSURE_LIKE_METADATA_FIELD_PATTERNS.actual_result,\n ],\n estimate_defaults_by_type: {},\n },\n governance: {\n preset: \"minimal\",\n ...GOVERNANCE_PRESET_DEFAULTS.minimal,\n },\n workflow: {\n definition_of_done: [],\n },\n testing: {\n record_results_to_items: false,\n },\n telemetry: {\n enabled: true,\n first_run_prompt_completed: false,\n capture_level: \"redacted\",\n endpoint: \"https://pm-cli.unbrained.dev/v1/events\",\n installation_id: \"\",\n retention_days: 365,\n },\n agent_guidance: {\n prompt_completed: false,\n declined: false,\n declined_at: \"\",\n template_version: 1,\n last_checked_files: [],\n },\n item_types: {\n definitions: [],\n },\n schema: {\n version: 1,\n files: {\n types: \"schema/types.json\",\n statuses: \"schema/statuses.json\",\n fields: \"schema/fields.json\",\n workflows: \"schema/workflows.json\",\n },\n statuses: DEFAULT_STATUS_DEFINITIONS.map((definition) => ({\n ...definition,\n aliases: cloneOptionalArray(definition.aliases),\n roles: cloneOptionalArray(definition.roles),\n })),\n fields: [],\n workflow: { ...DEFAULT_WORKFLOW_DEFINITION },\n unknown_field_policy: \"allow\",\n },\n extensions: {\n enabled: [],\n disabled: [],\n policy: createDefaultExtensionGovernancePolicy(),\n },\n search: {\n score_threshold: 0,\n hybrid_semantic_weight: 0.7,\n max_results: 50,\n embedding_model: \"\",\n embedding_batch_size: 32,\n embedding_timeout_ms: 30_000,\n scanner_max_batch_retries: 3,\n provider: \"\",\n mutation_refresh_policy: \"semantic_configured\",\n query_expansion: {\n enabled: false,\n provider: \"\",\n },\n rerank: {\n enabled: false,\n model: \"\",\n top_k: 20,\n },\n },\n providers: {\n openai: {\n base_url: \"\",\n api_key: \"\",\n model: \"\",\n },\n ollama: {\n base_url: \"\",\n model: \"\",\n },\n },\n context: {\n default_depth: \"brief\",\n activity_limit: 10,\n stale_threshold_days: 7,\n sections: {\n hierarchy: true,\n activity: true,\n progress: true,\n recently_created: true,\n unparented: true,\n blockers: true,\n files: true,\n workload: true,\n staleness: true,\n tests: true,\n },\n },\n vector_store: {\n adapter: \"\",\n collection_name: \"pm_items\",\n qdrant: {\n url: \"\",\n api_key: \"\",\n },\n lancedb: {\n path: \"\",\n },\n },\n};\n\nexport const EMPTY_CANONICAL_DOCUMENT = {\n metadata: {},\n body: \"\",\n};\n\nexport const EXIT_CODE = {\n SUCCESS: 0,\n GENERIC_FAILURE: 1,\n USAGE: 2,\n NOT_FOUND: 3,\n CONFLICT: 4,\n DEPENDENCY_FAILED: 5,\n} as const;\n\n/**\n * Restricts telemetry error category values accepted by command, SDK, and storage contracts.\n */\nexport type TelemetryErrorCategory = \"usage\" | \"validation\" | \"conflict\" | \"runtime\" | \"unknown\";\n\nexport const TELEMETRY_ERROR_CATEGORY_BY_CODE: Readonly<Record<string, TelemetryErrorCategory>> = Object.freeze({\n unknown_command: \"usage\",\n unknown_option: \"usage\",\n missing_required_option: \"usage\",\n missing_required_argument: \"usage\",\n invalid_command_usage: \"usage\",\n linked_test_value_not_quoted: \"usage\",\n invalid_argument_value: \"validation\",\n health_findings: \"validation\",\n validation_findings: \"validation\",\n close_through_update: \"validation\",\n no_update_fields: \"validation\",\n unsupported_update_option: \"validation\",\n tracker_not_initialized: \"validation\",\n item_not_found: \"validation\",\n ownership_conflict: \"conflict\",\n lock_conflict: \"conflict\",\n terminal_state_conflict: \"conflict\",\n dependency_failed: \"runtime\",\n command_failed: \"runtime\",\n unknown_error: \"runtime\",\n});\n\n/**\n * Implements resolve telemetry error category for the public runtime surface of this module.\n */\nexport function resolveTelemetryErrorCategory(errorCode: string | undefined): TelemetryErrorCategory {\n const normalized = (errorCode ?? \"\").trim().toLowerCase();\n if (normalized.length === 0) {\n return \"unknown\";\n }\n const explicit = TELEMETRY_ERROR_CATEGORY_BY_CODE[normalized];\n if (typeof explicit === \"string\") {\n return explicit;\n }\n if (normalized.includes(\"conflict\") || normalized.includes(\"locked\")) {\n return \"conflict\";\n }\n if (normalized.startsWith(\"unknown_\") || normalized.startsWith(\"missing_required_\")) {\n return \"usage\";\n }\n if (normalized.startsWith(\"invalid_\") || normalized.endsWith(\"_not_found\") || normalized.includes(\"validation\")) {\n return \"validation\";\n }\n if (normalized.endsWith(\"_error\") || normalized.endsWith(\"_failed\")) {\n return \"runtime\";\n }\n return \"unknown\";\n}\n"],"names":[],"mappings":"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","debugId":"12e0568f-1d7a-5e3c-8148-168dc2612b09"}
1
+ {"version":3,"file":"constants.js","sources":["core/shared/constants.ts"],"sourceRoot":"/","sourcesContent":["/**\n * @module core/shared/constants\n *\n * Provides shared primitives and utilities for Constants.\n */\nimport type {\n BuiltinItemType,\n GovernancePreset,\n GovernanceSettings,\n ItemFrontMatter,\n PmSettings,\n RuntimeStatusDefinition,\n RuntimeWorkflowDefinition,\n} from \"../../types/index.js\";\nimport { createDefaultExtensionGovernancePolicy } from \"../extensions/extension-types.js\";\n\n/**\n * Canonical default lifecycle status model and workflow role mapping.\n *\n * Single source of truth: `SETTINGS_DEFAULTS.schema` references these, and\n * `src/core/schema/runtime-schema.ts` re-exports them as\n * `DEFAULT_RUNTIME_STATUS_DEFINITIONS` / `DEFAULT_RUNTIME_WORKFLOW`.\n */\nexport const DEFAULT_STATUS_DEFINITIONS: ReadonlyArray<RuntimeStatusDefinition> = Object.freeze([\n {\n id: \"draft\",\n roles: [\"draft\"],\n },\n {\n id: \"open\",\n roles: [\"active\", \"default_open\"],\n },\n {\n id: \"in_progress\",\n aliases: [\"in-progress\"],\n roles: [\"active\"],\n },\n {\n id: \"blocked\",\n roles: [\"blocked\"],\n },\n {\n id: \"closed\",\n roles: [\"terminal\", \"terminal_done\", \"default_close\"],\n },\n {\n id: \"canceled\",\n aliases: [\"cancelled\"],\n roles: [\"terminal\", \"terminal_canceled\", \"default_cancel\"],\n },\n]);\n\nexport const DEFAULT_WORKFLOW_DEFINITION: RuntimeWorkflowDefinition = Object.freeze({\n draft_status: \"draft\",\n open_status: \"open\",\n in_progress_status: \"in_progress\",\n blocked_status: \"blocked\",\n close_status: \"closed\",\n canceled_status: \"canceled\",\n});\n\nexport const PM_DIRNAME = \".agents/pm\";\nexport const SETTINGS_FILENAME = \"settings.json\";\n\n/**\n * GH-249: placeholder close reason recorded when `pm create --status closed`\n * lands an item directly in the close status under\n * `governance.require_close_reason` and no --message/--resolution text is\n * available. Mirrors `pm update --status closed`'s \"Closed via pm update\"\n * default so all three closure paths record a reason.\n */\nexport const CREATE_DIRECT_CLOSE_REASON_DEFAULT = \"Closed at creation via pm create\";\n\nexport const PM_CORE_REQUIRED_SUBDIRS = [\n \"\",\n \"epics\",\n \"features\",\n \"tasks\",\n \"chores\",\n \"issues\",\n \"schema\",\n \"history\",\n \"search\",\n \"extensions\",\n \"locks\",\n] as const;\n\nexport const PM_OPTIONAL_TYPE_SUBDIRS = [\n \"decisions\",\n \"events\",\n \"reminders\",\n \"milestones\",\n \"meetings\",\n \"plans\",\n] as const;\n\nexport const PM_REQUIRED_SUBDIRS = [...PM_CORE_REQUIRED_SUBDIRS, ...PM_OPTIONAL_TYPE_SUBDIRS] as const;\n\nexport const TYPE_TO_FOLDER: Record<BuiltinItemType, string> = {\n Epic: \"epics\",\n Feature: \"features\",\n Task: \"tasks\",\n Chore: \"chores\",\n Issue: \"issues\",\n Decision: \"decisions\",\n Event: \"events\",\n Reminder: \"reminders\",\n Milestone: \"milestones\",\n Meeting: \"meetings\",\n Plan: \"plans\",\n};\n\nexport const FRONT_MATTER_KEY_ORDER: ReadonlyArray<string> = [\n \"id\",\n \"title\",\n \"description\",\n \"type\",\n \"pm_format_version\",\n \"source_type\",\n \"type_options\",\n \"status\",\n \"priority\",\n \"tags\",\n \"created_at\",\n \"updated_at\",\n \"deadline\",\n \"reminders\",\n \"events\",\n \"closed_at\",\n \"assignee\",\n \"source_owner\",\n \"author\",\n \"estimated_minutes\",\n \"acceptance_criteria\",\n \"design\",\n \"external_ref\",\n \"definition_of_ready\",\n \"order\",\n \"goal\",\n \"objective\",\n \"value\",\n \"impact\",\n \"outcome\",\n \"why_now\",\n \"parent\",\n \"reviewer\",\n \"risk\",\n \"confidence\",\n \"sprint\",\n \"release\",\n \"blocked_by\",\n \"blocked_reason\",\n \"unblock_note\",\n \"reporter\",\n \"severity\",\n \"environment\",\n \"repro_steps\",\n \"resolution\",\n \"expected_result\",\n \"actual_result\",\n \"affected_version\",\n \"fixed_version\",\n \"component\",\n \"regression\",\n \"customer_impact\",\n \"dependencies\",\n \"comments\",\n \"notes\",\n \"learnings\",\n \"files\",\n \"tests\",\n \"test_runs\",\n \"docs\",\n \"close_reason\",\n \"duplicate_of\",\n \"plan_mode\",\n \"plan_scope\",\n \"plan_harness\",\n \"plan_resume_context\",\n \"plan_validation\",\n \"plan_decisions\",\n \"plan_discoveries\",\n \"plan_steps\",\n];\n\ntype BuiltinGovernancePreset = Exclude<GovernancePreset, \"custom\">;\n\nexport const GOVERNANCE_PRESET_DEFAULTS: Record<BuiltinGovernancePreset, Omit<GovernanceSettings, \"preset\">> = {\n minimal: {\n ownership_enforcement: \"none\",\n create_mode_default: \"progressive\",\n close_validation_default: \"off\",\n require_close_reason: true,\n parent_reference: \"strict_error\",\n metadata_profile: \"core\",\n force_required_for_stale_lock: false,\n },\n default: {\n ownership_enforcement: \"warn\",\n create_mode_default: \"progressive\",\n close_validation_default: \"warn\",\n require_close_reason: true,\n parent_reference: \"strict_error\",\n metadata_profile: \"core\",\n force_required_for_stale_lock: true,\n },\n strict: {\n ownership_enforcement: \"strict\",\n create_mode_default: \"strict\",\n close_validation_default: \"strict\",\n require_close_reason: true,\n parent_reference: \"strict_error\",\n metadata_profile: \"strict\",\n force_required_for_stale_lock: true,\n },\n};\n\nexport const DEFAULT_VALIDATE_STALE_BLOCKER_REASON_PATTERNS = [\n \"no active blocker\",\n \"ready for planned execution sequencing\",\n \"work completed\",\n \"work is closed\",\n] as const;\n\nexport const DEFAULT_VALIDATE_CLOSURE_LIKE_METADATA_FIELD_PATTERNS = {\n blocked_reason: [\"no active blocker because work is closed\", \"work is closed\"],\n resolution: [\"closed with implementation evidence\", \"closed with verification evidence\", \"work completed and recorded\", \"work is closed\"],\n actual_result: [\"closed and recorded\", \"work completed\", \"work completed and recorded\"],\n} as const;\n\nfunction cloneOptionalArray<T>(values: readonly T[] | undefined): T[] | undefined {\n return values ? [...values] : undefined;\n}\n\nexport const SETTINGS_DEFAULTS: PmSettings = {\n version: 1,\n id_prefix: \"pm-\",\n author_default: \"\",\n item_format: \"toon\",\n locks: {\n ttl_seconds: 1800,\n },\n checkpoints: {\n retention_days: 14,\n },\n output: {\n default_format: \"toon\",\n },\n history: {\n missing_stream: \"auto_create\",\n compact_policy: {\n enabled: false,\n max_entries: 500,\n trigger: \"health_warn\",\n },\n },\n validation: {\n sprint_release_format: \"warn\",\n parent_reference: \"warn\",\n metadata_profile: \"core\",\n metadata_required_fields: [],\n lifecycle_stale_blocker_reason_patterns: [...DEFAULT_VALIDATE_STALE_BLOCKER_REASON_PATTERNS],\n lifecycle_closure_like_blocked_reason_patterns: [\n ...DEFAULT_VALIDATE_CLOSURE_LIKE_METADATA_FIELD_PATTERNS.blocked_reason,\n ],\n lifecycle_closure_like_resolution_patterns: [...DEFAULT_VALIDATE_CLOSURE_LIKE_METADATA_FIELD_PATTERNS.resolution],\n lifecycle_closure_like_actual_result_patterns: [\n ...DEFAULT_VALIDATE_CLOSURE_LIKE_METADATA_FIELD_PATTERNS.actual_result,\n ],\n estimate_defaults_by_type: {},\n },\n governance: {\n preset: \"minimal\",\n ...GOVERNANCE_PRESET_DEFAULTS.minimal,\n },\n workflow: {\n definition_of_done: [],\n },\n testing: {\n record_results_to_items: false,\n },\n telemetry: {\n enabled: true,\n first_run_prompt_completed: false,\n capture_level: \"redacted\",\n endpoint: \"https://pm-cli.unbrained.dev/v1/events\",\n installation_id: \"\",\n retention_days: 365,\n },\n agent_guidance: {\n prompt_completed: false,\n declined: false,\n declined_at: \"\",\n template_version: 1,\n last_checked_files: [],\n },\n item_types: {\n definitions: [],\n },\n schema: {\n version: 1,\n files: {\n types: \"schema/types.json\",\n statuses: \"schema/statuses.json\",\n fields: \"schema/fields.json\",\n workflows: \"schema/workflows.json\",\n },\n statuses: DEFAULT_STATUS_DEFINITIONS.map((definition) => ({\n ...definition,\n aliases: cloneOptionalArray(definition.aliases),\n roles: cloneOptionalArray(definition.roles),\n })),\n fields: [],\n workflow: { ...DEFAULT_WORKFLOW_DEFINITION },\n unknown_field_policy: \"allow\",\n },\n extensions: {\n enabled: [],\n disabled: [],\n policy: createDefaultExtensionGovernancePolicy(),\n },\n search: {\n score_threshold: 0,\n hybrid_semantic_weight: 0.7,\n max_results: 50,\n embedding_model: \"\",\n embedding_batch_size: 32,\n embedding_timeout_ms: 30_000,\n scanner_max_batch_retries: 3,\n provider: \"\",\n mutation_refresh_policy: \"semantic_configured\",\n query_expansion: {\n enabled: false,\n provider: \"\",\n },\n rerank: {\n enabled: false,\n model: \"\",\n top_k: 20,\n },\n },\n providers: {\n openai: {\n base_url: \"\",\n api_key: \"\",\n model: \"\",\n },\n ollama: {\n base_url: \"\",\n model: \"\",\n },\n },\n context: {\n default_depth: \"brief\",\n activity_limit: 10,\n stale_threshold_days: 7,\n sections: {\n hierarchy: true,\n activity: true,\n progress: true,\n recently_created: true,\n unparented: true,\n blockers: true,\n files: true,\n workload: true,\n staleness: true,\n tests: true,\n },\n },\n vector_store: {\n adapter: \"\",\n collection_name: \"pm_items\",\n qdrant: {\n url: \"\",\n api_key: \"\",\n },\n lancedb: {\n path: \"\",\n },\n },\n};\n\nexport const EMPTY_CANONICAL_DOCUMENT = {\n metadata: {},\n body: \"\",\n};\n\nexport const EXIT_CODE = {\n SUCCESS: 0,\n GENERIC_FAILURE: 1,\n USAGE: 2,\n NOT_FOUND: 3,\n CONFLICT: 4,\n DEPENDENCY_FAILED: 5,\n} as const;\n\n/**\n * Restricts telemetry error category values accepted by command, SDK, and storage contracts.\n */\nexport type TelemetryErrorCategory = \"usage\" | \"validation\" | \"conflict\" | \"runtime\" | \"unknown\";\n\nexport const TELEMETRY_ERROR_CATEGORY_BY_CODE: Readonly<Record<string, TelemetryErrorCategory>> = Object.freeze({\n unknown_command: \"usage\",\n unknown_option: \"usage\",\n missing_required_option: \"usage\",\n missing_required_argument: \"usage\",\n invalid_command_usage: \"usage\",\n linked_test_value_not_quoted: \"usage\",\n invalid_argument_value: \"validation\",\n health_findings: \"validation\",\n validation_findings: \"validation\",\n close_through_update: \"validation\",\n no_update_fields: \"validation\",\n unsupported_update_option: \"validation\",\n tracker_not_initialized: \"validation\",\n item_not_found: \"validation\",\n ownership_conflict: \"conflict\",\n lock_conflict: \"conflict\",\n terminal_state_conflict: \"conflict\",\n dependency_failed: \"runtime\",\n command_failed: \"runtime\",\n unknown_error: \"runtime\",\n});\n\n/**\n * Implements resolve telemetry error category for the public runtime surface of this module.\n */\nexport function resolveTelemetryErrorCategory(errorCode: string | undefined): TelemetryErrorCategory {\n const normalized = (errorCode ?? \"\").trim().toLowerCase();\n if (normalized.length === 0) {\n return \"unknown\";\n }\n const explicit = TELEMETRY_ERROR_CATEGORY_BY_CODE[normalized];\n if (typeof explicit === \"string\") {\n return explicit;\n }\n if (normalized.includes(\"conflict\") || normalized.includes(\"locked\")) {\n return \"conflict\";\n }\n if (normalized.startsWith(\"unknown_\") || normalized.startsWith(\"missing_required_\")) {\n return \"usage\";\n }\n if (normalized.startsWith(\"invalid_\") || normalized.endsWith(\"_not_found\") || normalized.includes(\"validation\")) {\n return \"validation\";\n }\n if (normalized.endsWith(\"_error\") || normalized.endsWith(\"_failed\")) {\n return \"runtime\";\n }\n return \"unknown\";\n}\n"],"names":[],"mappings":"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","debugId":"a6013abb-eda6-5fdb-a9c3-2216599fb9b7"}
@@ -7,7 +7,7 @@ import { EXTENSION_CAPABILITY_CONTRACT, EXTENSION_CAPABILITY_CONTRACT_VERSION, E
7
7
  export { PM_PACKAGE_CONVENTIONAL_RESOURCE_ROOTS, PM_PACKAGE_RESOURCE_KINDS, collectPackageExtensionDirectories, readPmPackageManifest, type PmPackageCatalogLinkMap, type PmPackageCatalogMediaMap, type PmPackageCatalogMetadata, type PmPackageManifest, type PmPackageResourceKind, type PmPackageResourceMap, } from "../core/packages/manifest.js";
8
8
  export * from "./cli-contracts.js";
9
9
  export * from "./runtime.js";
10
- export { assertPackageManifest, assertRegisteredCommandContract, assertRegisteredCommandOverride, assertRegisteredExporter, assertRegisteredHook, assertRegisteredImporter, assertRegisteredItemField, assertRegisteredItemType, assertRegisteredParserOverride, assertRegisteredPreflightOverride, assertRegisteredRendererOverride, assertRegisteredSearchProvider, assertRegisteredVectorStoreAdapter, activateExtensionForTest, type ActivateExtensionForTestOptions, type PackageManifestExpectation, type PackageManifestResourceExpectation, type RegisteredCommandContractAssertion, type RegisteredCommandContractExpectation, type RegisteredCommandOverrideExpectation, type RegisteredExporterExpectation, type RegisteredHookExpectation, type RegisteredHookKind, type RegisteredImporterExpectation, type RegisteredItemFieldAssertion, type RegisteredItemFieldExpectation, type RegisteredItemTypeAssertion, type RegisteredItemTypeExpectation, type RegisteredParserOverrideExpectation, type RegisteredPreflightOverrideExpectation, type RegisteredRendererOverrideExpectation, type RegisteredSearchProviderExpectation, type RegisteredVectorStoreAdapterExpectation, } from "./testing.js";
10
+ export { assertPackageManifest, assertRegisteredCommandContract, assertRegisteredCommandOverride, assertRegisteredExporter, assertRegisteredFlags, assertRegisteredHook, assertRegisteredImporter, assertRegisteredItemField, assertRegisteredItemType, assertRegisteredMigration, assertRegisteredParserOverride, assertRegisteredPreflightOverride, assertRegisteredRendererOverride, assertRegisteredSearchProvider, assertRegisteredServiceOverride, assertRegisteredVectorStoreAdapter, activateExtensionForTest, type ActivateExtensionForTestOptions, type PackageManifestExpectation, type PackageManifestResourceExpectation, type RegisteredCommandContractAssertion, type RegisteredCommandContractExpectation, type RegisteredCommandOverrideExpectation, type RegisteredExporterExpectation, type RegisteredFlagsExpectation, type RegisteredHookExpectation, type RegisteredHookKind, type RegisteredImporterExpectation, type RegisteredItemFieldAssertion, type RegisteredItemFieldExpectation, type RegisteredItemTypeAssertion, type RegisteredItemTypeExpectation, type RegisteredMigrationExpectation, type RegisteredParserOverrideExpectation, type RegisteredPreflightOverrideExpectation, type RegisteredRendererOverrideExpectation, type RegisteredSearchProviderExpectation, type RegisteredServiceOverrideExpectation, type RegisteredVectorStoreAdapterExpectation, } from "./testing.js";
11
11
  /**
12
12
  * Canonical extension capability names accepted by pm.
13
13
  *
@@ -71,6 +71,6 @@ export interface ExtensionModule {
71
71
  * `export default defineExtension({ activate(api) { ... } })`
72
72
  */
73
73
  export declare function defineExtension<TModule extends ExtensionModule>(module: TModule): TModule;
74
- export type { AfterCommandAffectedItem, AfterCommandHook, AfterCommandHookContext, BeforeCommandHook, BeforeCommandHookContext, CommandDefinition, ExtensionCommandArgumentDefinition, CommandHandler, CommandHandlerContext, CommandOverride, CommandOverrideContext, ExtensionServiceName, Exporter, ExtensionActivationResult, ExtensionApi, ExtensionCommandRegistry, ExtensionDeactivationFailure, ExtensionDeactivationOptions, ExtensionDeactivationResult, ExtensionDiagnostic, ExtensionDiscoveryResult, ExtensionHookRegistry, ExtensionSelfIdentity, ExtensionLoadResult, ExtensionManifest, ExtensionManifestEngines, ExtensionGovernancePolicy, ExtensionPolicyOverride, ExtensionProvenanceMetadata, ExtensionRuntimePermissionDeclaration, ExtensionSearchMode, ExtensionParserRegistry, ExtensionPreflightRegistry, ExtensionRegistrationRegistry, ExtensionRendererRegistry, ExtensionServiceRegistry, FlagValueType, FlagDefinition, ImportExportContext, ImportExportRegistrationOptions, Importer, OnIndexHook, OnIndexHookContext, OnReadHook, OnReadHookContext, OnWriteHook, OnWriteHookContext, OutputRendererFormat, ParserOverride, ParserOverrideContext, ParserOverrideDelta, PreflightOverride, PreflightOverrideContext, PreflightOverrideDelta, PreflightRuntimeDecision, RegisteredExtensionExporter, RegisteredExtensionHook, RegisteredExtensionImporter, RegisteredExtensionSearchProvider, RegisteredExtensionVectorStoreAdapter, RendererOverride, RendererOverrideContext, SchemaFieldDefinition, SchemaItemTypeCommandOptionPolicyDefinition, SchemaItemTypeOptionDefinition, SchemaItemTypeDefinition, SchemaMigrationDefinition, SchemaMigrationRunContext, SchemaMigrationRunner, SearchProviderEmbedBatchContext, SearchProviderEmbedContext, SearchProviderDefinition, SearchProviderHit, SearchProviderQueryContext, SearchProviderQueryResult, ServiceOverride, ServiceOverrideContext, VectorStoreAdapterDefinition, VectorStoreDeleteContext, VectorStoreQueryContext, VectorStoreQueryHit, VectorStoreUpsertContext, VectorStoreUpsertPoint, } from "../core/extensions/loader.js";
74
+ export type { AfterCommandAffectedItem, AfterCommandHook, AfterCommandHookContext, BeforeCommandHook, BeforeCommandHookContext, CommandDefinition, ExtensionCommandArgumentDefinition, CommandHandler, CommandHandlerContext, CommandOverride, CommandOverrideContext, ExtensionServiceName, Exporter, ExtensionActivationResult, ExtensionApi, ExtensionCommandRegistry, ExtensionDeactivationFailure, ExtensionDeactivationOptions, ExtensionDeactivationResult, ExtensionDiagnostic, ExtensionDiscoveryResult, ExtensionHookRegistry, ExtensionSelfIdentity, ExtensionLoadResult, ExtensionManifest, ExtensionManifestEngines, ExtensionGovernancePolicy, ExtensionPolicyOverride, ExtensionProvenanceMetadata, ExtensionRuntimePermissionDeclaration, ExtensionSearchMode, ExtensionParserRegistry, ExtensionPreflightRegistry, ExtensionRegistrationRegistry, ExtensionRendererRegistry, ExtensionServiceRegistry, FlagValueType, FlagDefinition, ImportExportContext, ImportExportRegistrationOptions, Importer, OnIndexHook, OnIndexHookContext, OnReadHook, OnReadHookContext, OnWriteHook, OnWriteHookContext, OutputRendererFormat, ParserOverride, ParserOverrideContext, ParserOverrideDelta, PreflightOverride, PreflightOverrideContext, PreflightOverrideDelta, PreflightRuntimeDecision, RegisteredExtensionExporter, RegisteredExtensionFlagDefinitions, RegisteredExtensionHook, RegisteredExtensionImporter, RegisteredExtensionSchemaMigrationDefinition, RegisteredExtensionSearchProvider, RegisteredExtensionServiceOverride, RegisteredExtensionVectorStoreAdapter, RendererOverride, RendererOverrideContext, SchemaFieldDefinition, SchemaItemTypeCommandOptionPolicyDefinition, SchemaItemTypeOptionDefinition, SchemaItemTypeDefinition, SchemaMigrationDefinition, SchemaMigrationRunContext, SchemaMigrationRunner, SearchProviderEmbedBatchContext, SearchProviderEmbedContext, SearchProviderDefinition, SearchProviderHit, SearchProviderQueryContext, SearchProviderQueryResult, ServiceOverride, ServiceOverrideContext, VectorStoreAdapterDefinition, VectorStoreDeleteContext, VectorStoreQueryContext, VectorStoreQueryHit, VectorStoreUpsertContext, VectorStoreUpsertPoint, } from "../core/extensions/loader.js";
75
75
  export type { GlobalOptions } from "../core/shared/command-types.js";
76
76
  export type { ItemDocument, ItemFrontMatter, ItemStatus, ItemType, PmSettings } from "../types/index.js";
package/dist/sdk/index.js CHANGED
@@ -4,12 +4,12 @@
4
4
  * Defines public SDK APIs and package-author helpers for Index.
5
5
  */
6
6
 
7
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="3bd42aa8-2fe3-5bba-9133-cdbe3f2f616f")}catch(e){}}();
7
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="bda46ae3-f75a-5f52-a1b7-89e972775e50")}catch(e){}}();
8
8
  import { EXTENSION_CAPABILITY_CONTRACT, EXTENSION_CAPABILITY_CONTRACT_VERSION, EXTENSION_CAPABILITY_LEGACY_ALIASES, KNOWN_EXTENSION_CAPABILITIES, KNOWN_EXTENSION_POLICY_MODES, KNOWN_EXTENSION_POLICY_SURFACES, KNOWN_EXTENSION_SANDBOX_PROFILES, KNOWN_EXTENSION_TRUST_MODES, } from "../core/extensions/loader.js";
9
9
  export { PM_PACKAGE_CONVENTIONAL_RESOURCE_ROOTS, PM_PACKAGE_RESOURCE_KINDS, collectPackageExtensionDirectories, readPmPackageManifest, } from "../core/packages/manifest.js";
10
10
  export * from "./cli-contracts.js";
11
11
  export * from "./runtime.js";
12
- export { assertPackageManifest, assertRegisteredCommandContract, assertRegisteredCommandOverride, assertRegisteredExporter, assertRegisteredHook, assertRegisteredImporter, assertRegisteredItemField, assertRegisteredItemType, assertRegisteredParserOverride, assertRegisteredPreflightOverride, assertRegisteredRendererOverride, assertRegisteredSearchProvider, assertRegisteredVectorStoreAdapter, activateExtensionForTest, } from "./testing.js";
12
+ export { assertPackageManifest, assertRegisteredCommandContract, assertRegisteredCommandOverride, assertRegisteredExporter, assertRegisteredFlags, assertRegisteredHook, assertRegisteredImporter, assertRegisteredItemField, assertRegisteredItemType, assertRegisteredMigration, assertRegisteredParserOverride, assertRegisteredPreflightOverride, assertRegisteredRendererOverride, assertRegisteredSearchProvider, assertRegisteredServiceOverride, assertRegisteredVectorStoreAdapter, activateExtensionForTest, } from "./testing.js";
13
13
  /**
14
14
  * Canonical extension capability names accepted by pm.
15
15
  *
@@ -38,4 +38,4 @@ export function defineExtension(module) {
38
38
  return module;
39
39
  }
40
40
  //# sourceMappingURL=index.js.map
41
- //# debugId=3bd42aa8-2fe3-5bba-9133-cdbe3f2f616f
41
+ //# debugId=bda46ae3-f75a-5f52-a1b7-89e972775e50
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["sdk/index.ts"],"sourceRoot":"/","sourcesContent":["/**\n * @module sdk/index\n *\n * Defines public SDK APIs and package-author helpers for Index.\n */\nimport {\n EXTENSION_CAPABILITY_CONTRACT,\n EXTENSION_CAPABILITY_CONTRACT_VERSION,\n EXTENSION_CAPABILITY_LEGACY_ALIASES,\n KNOWN_EXTENSION_CAPABILITIES,\n KNOWN_EXTENSION_POLICY_MODES,\n KNOWN_EXTENSION_POLICY_SURFACES,\n KNOWN_EXTENSION_SANDBOX_PROFILES,\n KNOWN_EXTENSION_TRUST_MODES,\n type ExtensionApi,\n type ExtensionManifest,\n} from \"../core/extensions/loader.js\";\nexport {\n PM_PACKAGE_CONVENTIONAL_RESOURCE_ROOTS,\n PM_PACKAGE_RESOURCE_KINDS,\n collectPackageExtensionDirectories,\n readPmPackageManifest,\n type PmPackageCatalogLinkMap,\n type PmPackageCatalogMediaMap,\n type PmPackageCatalogMetadata,\n type PmPackageManifest,\n type PmPackageResourceKind,\n type PmPackageResourceMap,\n} from \"../core/packages/manifest.js\";\nexport * from \"./cli-contracts.js\";\nexport * from \"./runtime.js\";\nexport {\n assertPackageManifest,\n assertRegisteredCommandContract,\n assertRegisteredCommandOverride,\n assertRegisteredExporter,\n assertRegisteredHook,\n assertRegisteredImporter,\n assertRegisteredItemField,\n assertRegisteredItemType,\n assertRegisteredParserOverride,\n assertRegisteredPreflightOverride,\n assertRegisteredRendererOverride,\n assertRegisteredSearchProvider,\n assertRegisteredVectorStoreAdapter,\n activateExtensionForTest,\n type ActivateExtensionForTestOptions,\n type PackageManifestExpectation,\n type PackageManifestResourceExpectation,\n type RegisteredCommandContractAssertion,\n type RegisteredCommandContractExpectation,\n type RegisteredCommandOverrideExpectation,\n type RegisteredExporterExpectation,\n type RegisteredHookExpectation,\n type RegisteredHookKind,\n type RegisteredImporterExpectation,\n type RegisteredItemFieldAssertion,\n type RegisteredItemFieldExpectation,\n type RegisteredItemTypeAssertion,\n type RegisteredItemTypeExpectation,\n type RegisteredParserOverrideExpectation,\n type RegisteredPreflightOverrideExpectation,\n type RegisteredRendererOverrideExpectation,\n type RegisteredSearchProviderExpectation,\n type RegisteredVectorStoreAdapterExpectation,\n} from \"./testing.js\";\n\n/**\n * Canonical extension capability names accepted by pm.\n *\n * Extension manifests should declare one or more of these values in\n * `capabilities`.\n */\nexport const EXTENSION_CAPABILITIES = KNOWN_EXTENSION_CAPABILITIES;\n/**\n * Restricts extension capability values accepted by command, SDK, and storage contracts.\n */\nexport type ExtensionCapability = (typeof EXTENSION_CAPABILITIES)[number];\n\n/**\n * Canonical extension governance policy modes and registration surfaces.\n */\nexport const EXTENSION_POLICY_MODES = KNOWN_EXTENSION_POLICY_MODES;\nexport const EXTENSION_POLICY_SURFACES = KNOWN_EXTENSION_POLICY_SURFACES;\nexport const EXTENSION_TRUST_MODES = KNOWN_EXTENSION_TRUST_MODES;\nexport const EXTENSION_SANDBOX_PROFILES = KNOWN_EXTENSION_SANDBOX_PROFILES;\n/**\n * Restricts extension policy mode values accepted by command, SDK, and storage contracts.\n */\nexport type ExtensionPolicyMode = (typeof EXTENSION_POLICY_MODES)[number];\n/**\n * Restricts extension policy surface values accepted by command, SDK, and storage contracts.\n */\nexport type ExtensionPolicySurface = (typeof EXTENSION_POLICY_SURFACES)[number];\n/**\n * Restricts extension trust mode values accepted by command, SDK, and storage contracts.\n */\nexport type ExtensionTrustMode = (typeof EXTENSION_TRUST_MODES)[number];\n/**\n * Restricts extension sandbox profile values accepted by command, SDK, and storage contracts.\n */\nexport type ExtensionSandboxProfile = (typeof EXTENSION_SANDBOX_PROFILES)[number];\n\n/**\n * Versioned capability contract metadata emitted by runtime diagnostics.\n */\nexport { EXTENSION_CAPABILITY_CONTRACT, EXTENSION_CAPABILITY_CONTRACT_VERSION, EXTENSION_CAPABILITY_LEGACY_ALIASES };\n\n/**\n * Documents the extension module payload exchanged by command, SDK, and package integrations.\n */\nexport interface ExtensionModule {\n /**\n * Optional in-module metadata mirror.\n *\n * The authoritative manifest remains on-disk `manifest.json`; this field is\n * useful when authors want colocated metadata for tooling/tests.\n */\n manifest?: ExtensionManifest;\n activate(api: ExtensionApi): void | Promise<void>;\n /**\n * Optional teardown lifecycle hook (VS Code-style `deactivate`). Invoked by\n * the host on shutdown/reload to release resources opened during `activate`.\n */\n deactivate?(): void | Promise<void>;\n}\n\n/**\n * Typed identity helper for extension module exports.\n *\n * Use as:\n * `export default defineExtension({ activate(api) { ... } })`\n */\nexport function defineExtension<TModule extends ExtensionModule>(module: TModule): TModule {\n return module;\n}\n\nexport type {\n AfterCommandAffectedItem,\n AfterCommandHook,\n AfterCommandHookContext,\n BeforeCommandHook,\n BeforeCommandHookContext,\n CommandDefinition,\n ExtensionCommandArgumentDefinition,\n CommandHandler,\n CommandHandlerContext,\n CommandOverride,\n CommandOverrideContext,\n ExtensionServiceName,\n Exporter,\n ExtensionActivationResult,\n ExtensionApi,\n ExtensionCommandRegistry,\n ExtensionDeactivationFailure,\n ExtensionDeactivationOptions,\n ExtensionDeactivationResult,\n ExtensionDiagnostic,\n ExtensionDiscoveryResult,\n ExtensionHookRegistry,\n ExtensionSelfIdentity,\n ExtensionLoadResult,\n ExtensionManifest,\n ExtensionManifestEngines,\n ExtensionGovernancePolicy,\n ExtensionPolicyOverride,\n ExtensionProvenanceMetadata,\n ExtensionRuntimePermissionDeclaration,\n ExtensionSearchMode,\n ExtensionParserRegistry,\n ExtensionPreflightRegistry,\n ExtensionRegistrationRegistry,\n ExtensionRendererRegistry,\n ExtensionServiceRegistry,\n FlagValueType,\n FlagDefinition,\n ImportExportContext,\n ImportExportRegistrationOptions,\n Importer,\n OnIndexHook,\n OnIndexHookContext,\n OnReadHook,\n OnReadHookContext,\n OnWriteHook,\n OnWriteHookContext,\n OutputRendererFormat,\n ParserOverride,\n ParserOverrideContext,\n ParserOverrideDelta,\n PreflightOverride,\n PreflightOverrideContext,\n PreflightOverrideDelta,\n PreflightRuntimeDecision,\n RegisteredExtensionExporter,\n RegisteredExtensionHook,\n RegisteredExtensionImporter,\n RegisteredExtensionSearchProvider,\n RegisteredExtensionVectorStoreAdapter,\n RendererOverride,\n RendererOverrideContext,\n SchemaFieldDefinition,\n SchemaItemTypeCommandOptionPolicyDefinition,\n SchemaItemTypeOptionDefinition,\n SchemaItemTypeDefinition,\n SchemaMigrationDefinition,\n SchemaMigrationRunContext,\n SchemaMigrationRunner,\n SearchProviderEmbedBatchContext,\n SearchProviderEmbedContext,\n SearchProviderDefinition,\n SearchProviderHit,\n SearchProviderQueryContext,\n SearchProviderQueryResult,\n ServiceOverride,\n ServiceOverrideContext,\n VectorStoreAdapterDefinition,\n VectorStoreDeleteContext,\n VectorStoreQueryContext,\n VectorStoreQueryHit,\n VectorStoreUpsertContext,\n VectorStoreUpsertPoint,\n} from \"../core/extensions/loader.js\";\n\nexport type { GlobalOptions } from \"../core/shared/command-types.js\";\nexport type { ItemDocument, ItemFrontMatter, ItemStatus, ItemType, PmSettings } from \"../types/index.js\";\n"],"names":[],"mappings":"AAAA;;;;GAIG;;;AACH,OAAO,EACL,6BAA6B,EAC7B,qCAAqC,EACrC,mCAAmC,EACnC,4BAA4B,EAC5B,4BAA4B,EAC5B,+BAA+B,EAC/B,gCAAgC,EAChC,2BAA2B,GAG5B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,sCAAsC,EACtC,yBAAyB,EACzB,kCAAkC,EAClC,qBAAqB,GAOtB,MAAM,8BAA8B,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,OAAO,EACL,qBAAqB,EACrB,+BAA+B,EAC/B,+BAA+B,EAC/B,wBAAwB,EACxB,oBAAoB,EACpB,wBAAwB,EACxB,yBAAyB,EACzB,wBAAwB,EACxB,8BAA8B,EAC9B,iCAAiC,EACjC,gCAAgC,EAChC,8BAA8B,EAC9B,kCAAkC,EAClC,wBAAwB,GAoBzB,MAAM,cAAc,CAAC;AAEtB;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,4BAA4B,CAAC;AAMnE;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,4BAA4B,CAAC;AACnE,MAAM,CAAC,MAAM,yBAAyB,GAAG,+BAA+B,CAAC;AACzE,MAAM,CAAC,MAAM,qBAAqB,GAAG,2BAA2B,CAAC;AACjE,MAAM,CAAC,MAAM,0BAA0B,GAAG,gCAAgC,CAAC;AAkB3E;;GAEG;AACH,OAAO,EAAE,6BAA6B,EAAE,qCAAqC,EAAE,mCAAmC,EAAE,CAAC;AAqBrH;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAkC,MAAe;IAC9E,OAAO,MAAM,CAAC;AAChB,CAAC","debugId":"3bd42aa8-2fe3-5bba-9133-cdbe3f2f616f"}
1
+ {"version":3,"file":"index.js","sources":["sdk/index.ts"],"sourceRoot":"/","sourcesContent":["/**\n * @module sdk/index\n *\n * Defines public SDK APIs and package-author helpers for Index.\n */\nimport {\n EXTENSION_CAPABILITY_CONTRACT,\n EXTENSION_CAPABILITY_CONTRACT_VERSION,\n EXTENSION_CAPABILITY_LEGACY_ALIASES,\n KNOWN_EXTENSION_CAPABILITIES,\n KNOWN_EXTENSION_POLICY_MODES,\n KNOWN_EXTENSION_POLICY_SURFACES,\n KNOWN_EXTENSION_SANDBOX_PROFILES,\n KNOWN_EXTENSION_TRUST_MODES,\n type ExtensionApi,\n type ExtensionManifest,\n} from \"../core/extensions/loader.js\";\nexport {\n PM_PACKAGE_CONVENTIONAL_RESOURCE_ROOTS,\n PM_PACKAGE_RESOURCE_KINDS,\n collectPackageExtensionDirectories,\n readPmPackageManifest,\n type PmPackageCatalogLinkMap,\n type PmPackageCatalogMediaMap,\n type PmPackageCatalogMetadata,\n type PmPackageManifest,\n type PmPackageResourceKind,\n type PmPackageResourceMap,\n} from \"../core/packages/manifest.js\";\nexport * from \"./cli-contracts.js\";\nexport * from \"./runtime.js\";\nexport {\n assertPackageManifest,\n assertRegisteredCommandContract,\n assertRegisteredCommandOverride,\n assertRegisteredExporter,\n assertRegisteredFlags,\n assertRegisteredHook,\n assertRegisteredImporter,\n assertRegisteredItemField,\n assertRegisteredItemType,\n assertRegisteredMigration,\n assertRegisteredParserOverride,\n assertRegisteredPreflightOverride,\n assertRegisteredRendererOverride,\n assertRegisteredSearchProvider,\n assertRegisteredServiceOverride,\n assertRegisteredVectorStoreAdapter,\n activateExtensionForTest,\n type ActivateExtensionForTestOptions,\n type PackageManifestExpectation,\n type PackageManifestResourceExpectation,\n type RegisteredCommandContractAssertion,\n type RegisteredCommandContractExpectation,\n type RegisteredCommandOverrideExpectation,\n type RegisteredExporterExpectation,\n type RegisteredFlagsExpectation,\n type RegisteredHookExpectation,\n type RegisteredHookKind,\n type RegisteredImporterExpectation,\n type RegisteredItemFieldAssertion,\n type RegisteredItemFieldExpectation,\n type RegisteredItemTypeAssertion,\n type RegisteredItemTypeExpectation,\n type RegisteredMigrationExpectation,\n type RegisteredParserOverrideExpectation,\n type RegisteredPreflightOverrideExpectation,\n type RegisteredRendererOverrideExpectation,\n type RegisteredSearchProviderExpectation,\n type RegisteredServiceOverrideExpectation,\n type RegisteredVectorStoreAdapterExpectation,\n} from \"./testing.js\";\n\n/**\n * Canonical extension capability names accepted by pm.\n *\n * Extension manifests should declare one or more of these values in\n * `capabilities`.\n */\nexport const EXTENSION_CAPABILITIES = KNOWN_EXTENSION_CAPABILITIES;\n/**\n * Restricts extension capability values accepted by command, SDK, and storage contracts.\n */\nexport type ExtensionCapability = (typeof EXTENSION_CAPABILITIES)[number];\n\n/**\n * Canonical extension governance policy modes and registration surfaces.\n */\nexport const EXTENSION_POLICY_MODES = KNOWN_EXTENSION_POLICY_MODES;\nexport const EXTENSION_POLICY_SURFACES = KNOWN_EXTENSION_POLICY_SURFACES;\nexport const EXTENSION_TRUST_MODES = KNOWN_EXTENSION_TRUST_MODES;\nexport const EXTENSION_SANDBOX_PROFILES = KNOWN_EXTENSION_SANDBOX_PROFILES;\n/**\n * Restricts extension policy mode values accepted by command, SDK, and storage contracts.\n */\nexport type ExtensionPolicyMode = (typeof EXTENSION_POLICY_MODES)[number];\n/**\n * Restricts extension policy surface values accepted by command, SDK, and storage contracts.\n */\nexport type ExtensionPolicySurface = (typeof EXTENSION_POLICY_SURFACES)[number];\n/**\n * Restricts extension trust mode values accepted by command, SDK, and storage contracts.\n */\nexport type ExtensionTrustMode = (typeof EXTENSION_TRUST_MODES)[number];\n/**\n * Restricts extension sandbox profile values accepted by command, SDK, and storage contracts.\n */\nexport type ExtensionSandboxProfile = (typeof EXTENSION_SANDBOX_PROFILES)[number];\n\n/**\n * Versioned capability contract metadata emitted by runtime diagnostics.\n */\nexport { EXTENSION_CAPABILITY_CONTRACT, EXTENSION_CAPABILITY_CONTRACT_VERSION, EXTENSION_CAPABILITY_LEGACY_ALIASES };\n\n/**\n * Documents the extension module payload exchanged by command, SDK, and package integrations.\n */\nexport interface ExtensionModule {\n /**\n * Optional in-module metadata mirror.\n *\n * The authoritative manifest remains on-disk `manifest.json`; this field is\n * useful when authors want colocated metadata for tooling/tests.\n */\n manifest?: ExtensionManifest;\n activate(api: ExtensionApi): void | Promise<void>;\n /**\n * Optional teardown lifecycle hook (VS Code-style `deactivate`). Invoked by\n * the host on shutdown/reload to release resources opened during `activate`.\n */\n deactivate?(): void | Promise<void>;\n}\n\n/**\n * Typed identity helper for extension module exports.\n *\n * Use as:\n * `export default defineExtension({ activate(api) { ... } })`\n */\nexport function defineExtension<TModule extends ExtensionModule>(module: TModule): TModule {\n return module;\n}\n\nexport type {\n AfterCommandAffectedItem,\n AfterCommandHook,\n AfterCommandHookContext,\n BeforeCommandHook,\n BeforeCommandHookContext,\n CommandDefinition,\n ExtensionCommandArgumentDefinition,\n CommandHandler,\n CommandHandlerContext,\n CommandOverride,\n CommandOverrideContext,\n ExtensionServiceName,\n Exporter,\n ExtensionActivationResult,\n ExtensionApi,\n ExtensionCommandRegistry,\n ExtensionDeactivationFailure,\n ExtensionDeactivationOptions,\n ExtensionDeactivationResult,\n ExtensionDiagnostic,\n ExtensionDiscoveryResult,\n ExtensionHookRegistry,\n ExtensionSelfIdentity,\n ExtensionLoadResult,\n ExtensionManifest,\n ExtensionManifestEngines,\n ExtensionGovernancePolicy,\n ExtensionPolicyOverride,\n ExtensionProvenanceMetadata,\n ExtensionRuntimePermissionDeclaration,\n ExtensionSearchMode,\n ExtensionParserRegistry,\n ExtensionPreflightRegistry,\n ExtensionRegistrationRegistry,\n ExtensionRendererRegistry,\n ExtensionServiceRegistry,\n FlagValueType,\n FlagDefinition,\n ImportExportContext,\n ImportExportRegistrationOptions,\n Importer,\n OnIndexHook,\n OnIndexHookContext,\n OnReadHook,\n OnReadHookContext,\n OnWriteHook,\n OnWriteHookContext,\n OutputRendererFormat,\n ParserOverride,\n ParserOverrideContext,\n ParserOverrideDelta,\n PreflightOverride,\n PreflightOverrideContext,\n PreflightOverrideDelta,\n PreflightRuntimeDecision,\n RegisteredExtensionExporter,\n RegisteredExtensionFlagDefinitions,\n RegisteredExtensionHook,\n RegisteredExtensionImporter,\n RegisteredExtensionSchemaMigrationDefinition,\n RegisteredExtensionSearchProvider,\n RegisteredExtensionServiceOverride,\n RegisteredExtensionVectorStoreAdapter,\n RendererOverride,\n RendererOverrideContext,\n SchemaFieldDefinition,\n SchemaItemTypeCommandOptionPolicyDefinition,\n SchemaItemTypeOptionDefinition,\n SchemaItemTypeDefinition,\n SchemaMigrationDefinition,\n SchemaMigrationRunContext,\n SchemaMigrationRunner,\n SearchProviderEmbedBatchContext,\n SearchProviderEmbedContext,\n SearchProviderDefinition,\n SearchProviderHit,\n SearchProviderQueryContext,\n SearchProviderQueryResult,\n ServiceOverride,\n ServiceOverrideContext,\n VectorStoreAdapterDefinition,\n VectorStoreDeleteContext,\n VectorStoreQueryContext,\n VectorStoreQueryHit,\n VectorStoreUpsertContext,\n VectorStoreUpsertPoint,\n} from \"../core/extensions/loader.js\";\n\nexport type { GlobalOptions } from \"../core/shared/command-types.js\";\nexport type { ItemDocument, ItemFrontMatter, ItemStatus, ItemType, PmSettings } from \"../types/index.js\";\n"],"names":[],"mappings":"AAAA;;;;GAIG;;;AACH,OAAO,EACL,6BAA6B,EAC7B,qCAAqC,EACrC,mCAAmC,EACnC,4BAA4B,EAC5B,4BAA4B,EAC5B,+BAA+B,EAC/B,gCAAgC,EAChC,2BAA2B,GAG5B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,sCAAsC,EACtC,yBAAyB,EACzB,kCAAkC,EAClC,qBAAqB,GAOtB,MAAM,8BAA8B,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,OAAO,EACL,qBAAqB,EACrB,+BAA+B,EAC/B,+BAA+B,EAC/B,wBAAwB,EACxB,qBAAqB,EACrB,oBAAoB,EACpB,wBAAwB,EACxB,yBAAyB,EACzB,wBAAwB,EACxB,yBAAyB,EACzB,8BAA8B,EAC9B,iCAAiC,EACjC,gCAAgC,EAChC,8BAA8B,EAC9B,+BAA+B,EAC/B,kCAAkC,EAClC,wBAAwB,GAuBzB,MAAM,cAAc,CAAC;AAEtB;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,4BAA4B,CAAC;AAMnE;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,4BAA4B,CAAC;AACnE,MAAM,CAAC,MAAM,yBAAyB,GAAG,+BAA+B,CAAC;AACzE,MAAM,CAAC,MAAM,qBAAqB,GAAG,2BAA2B,CAAC;AACjE,MAAM,CAAC,MAAM,0BAA0B,GAAG,gCAAgC,CAAC;AAkB3E;;GAEG;AACH,OAAO,EAAE,6BAA6B,EAAE,qCAAqC,EAAE,mCAAmC,EAAE,CAAC;AAqBrH;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAkC,MAAe;IAC9E,OAAO,MAAM,CAAC;AAChB,CAAC","debugId":"bda46ae3-f75a-5f52-a1b7-89e972775e50"}
@@ -8,6 +8,7 @@ export { readBooleanOption, readCsvListOption, readStringOption } from "./packag
8
8
  export { PM_CLI_EXPECTED_ERROR_NAME, createPmCliExpectedError, isPmCliExpectedError, type CreatePmCliExpectedErrorOptions, type PmCliExpectedError, } from "./errors.js";
9
9
  export { commitImportedItem, emptyImportedDocument, ensureTrackerInitialized, selectImportAuthor, toEstimatedMinutesValue, toImportPriority, toImportStatus, toImportTags, toNonEmptyImportString, type CommitImportedItemParams, type CommitImportedItemResult, } from "./package-import-adapters.js";
10
10
  export { canonicalDocument, normalizeFrontMatter, serializeItemDocument, splitFrontMatter, } from "../core/item/item-format.js";
11
+ export { BASELINE_ITEM_FORMAT_VERSION, CURRENT_ITEM_FORMAT_VERSION, classifyItemFormatVersion, effectiveItemFormatVersion, normalizeItemFormatVersion, scanItemFormatVersions, type ItemFormatVersionScanEntry, type ItemFormatVersionScanResult, type ItemFormatVersionStatus, } from "../core/item/item-format-version.js";
11
12
  export { parseTags } from "../core/item/parse.js";
12
13
  export { normalizeStatusInput } from "../core/item/status.js";
13
14
  export { resolveItemTypeRegistry } from "../core/item/type-registry.js";
@@ -4,7 +4,7 @@
4
4
  * Defines public SDK APIs and package-author helpers for Runtime.
5
5
  */
6
6
 
7
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="326765a5-3205-5c3b-8697-e8f526168917")}catch(e){}}();
7
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="71dfb59e-b26e-5bac-b1ad-498489f858ec")}catch(e){}}();
8
8
  import path from "node:path";
9
9
  import { activateExtensions, loadExtensions, } from "../core/extensions/index.js";
10
10
  import { resolveItemTypeRegistry } from "../core/item/type-registry.js";
@@ -19,6 +19,7 @@ export { readBooleanOption, readCsvListOption, readStringOption } from "./packag
19
19
  export { PM_CLI_EXPECTED_ERROR_NAME, createPmCliExpectedError, isPmCliExpectedError, } from "./errors.js";
20
20
  export { commitImportedItem, emptyImportedDocument, ensureTrackerInitialized, selectImportAuthor, toEstimatedMinutesValue, toImportPriority, toImportStatus, toImportTags, toNonEmptyImportString, } from "./package-import-adapters.js";
21
21
  export { canonicalDocument, normalizeFrontMatter, serializeItemDocument, splitFrontMatter, } from "../core/item/item-format.js";
22
+ export { BASELINE_ITEM_FORMAT_VERSION, CURRENT_ITEM_FORMAT_VERSION, classifyItemFormatVersion, effectiveItemFormatVersion, normalizeItemFormatVersion, scanItemFormatVersions, } from "../core/item/item-format-version.js";
22
23
  export { parseTags } from "../core/item/parse.js";
23
24
  export { normalizeStatusInput } from "../core/item/status.js";
24
25
  export { resolveItemTypeRegistry } from "../core/item/type-registry.js";
@@ -134,4 +135,4 @@ async function loadWorkspaceExtensionRegistrations(pmRoot, settings, cwd) {
134
135
  return activationResult.registrations;
135
136
  }
136
137
  //# sourceMappingURL=runtime.js.map
137
- //# debugId=326765a5-3205-5c3b-8697-e8f526168917
138
+ //# debugId=71dfb59e-b26e-5bac-b1ad-498489f858ec
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sources":["sdk/runtime.ts"],"sourceRoot":"/","sourcesContent":["/**\n * @module sdk/runtime\n *\n * Defines public SDK APIs and package-author helpers for Runtime.\n */\nimport path from \"node:path\";\nimport {\n activateExtensions,\n loadExtensions,\n type ExtensionRegistrationRegistry,\n} from \"../core/extensions/index.js\";\nimport type { GlobalOptions } from \"../core/shared/command-types.js\";\nimport { resolveItemTypeRegistry } from \"../core/item/type-registry.js\";\nimport { resolveRuntimeStatusRegistry } from \"../core/schema/runtime-schema.js\";\nimport { readSettings } from \"../core/store/settings.js\";\nimport {\n runContracts,\n type ContractsCommandOptions,\n type ContractsResult,\n} from \"../cli/commands/contracts.js\";\n\nexport {\n getActiveExtensionRegistrations,\n runActiveOnReadHooks,\n runActiveOnWriteHooks,\n} from \"../core/extensions/index.js\";\nexport { pathExists, readFileIfExists, removeFileIfExists, writeFileAtomic } from \"../core/fs/fs-utils.js\";\nexport { appendHistoryEntry, createHistoryEntry } from \"../core/history/history.js\";\nexport { generateItemId, normalizeItemId, normalizeRawItemId } from \"../core/item/id.js\";\nexport { readBooleanOption, readCsvListOption, readStringOption } from \"./package-runtime-options.js\";\nexport {\n PM_CLI_EXPECTED_ERROR_NAME,\n createPmCliExpectedError,\n isPmCliExpectedError,\n type CreatePmCliExpectedErrorOptions,\n type PmCliExpectedError,\n} from \"./errors.js\";\nexport {\n commitImportedItem,\n emptyImportedDocument,\n ensureTrackerInitialized,\n selectImportAuthor,\n toEstimatedMinutesValue,\n toImportPriority,\n toImportStatus,\n toImportTags,\n toNonEmptyImportString,\n type CommitImportedItemParams,\n type CommitImportedItemResult,\n} from \"./package-import-adapters.js\";\nexport {\n canonicalDocument,\n normalizeFrontMatter,\n serializeItemDocument,\n splitFrontMatter,\n} from \"../core/item/item-format.js\";\nexport { parseTags } from \"../core/item/parse.js\";\nexport { normalizeStatusInput } from \"../core/item/status.js\";\nexport { resolveItemTypeRegistry } from \"../core/item/type-registry.js\";\nexport { acquireLock } from \"../core/lock/lock.js\";\nexport { resolveRuntimeFieldRegistry, resolveRuntimeStatusRegistry } from \"../core/schema/runtime-schema.js\";\nexport { EXIT_CODE } from \"../core/shared/constants.js\";\nexport { PmCliError } from \"../core/shared/errors.js\";\nexport { isTimestampLiteral, nowIso } from \"../core/shared/time.js\";\nexport { listAllFrontMatter, locateItem, readLocatedItem } from \"../core/store/item-store.js\";\nexport { getHistoryPath, getItemPath, getSettingsPath, resolvePmRoot } from \"../core/store/paths.js\";\nexport { readSettings } from \"../core/store/settings.js\";\nexport {\n renderCalendarMarkdown,\n renderCalendarToon,\n resolveCalendarOutputFormat,\n runCalendar,\n type CalendarOptions,\n type CalendarResult,\n} from \"../cli/commands/calendar.js\";\nexport {\n renderGuideMarkdown,\n resolveGuideOutputFormat,\n runGuide,\n type GuideDepth,\n type GuideOptions,\n type GuideOutputFormat,\n type GuideResult,\n} from \"../cli/commands/guide.js\";\nexport { runCompletion, type CompletionResult, type CompletionShell } from \"../cli/commands/completion.js\";\nexport {\n runCommentsAudit,\n type CommentsAuditEntry,\n type CommentsAuditHistoryRow,\n type CommentsAuditOptions,\n type CommentsAuditResult,\n type CommentsAuditSummary,\n type CommentsAuditTypeSummary,\n} from \"../cli/commands/comments-audit.js\";\nexport {\n runDedupeAudit,\n type DedupeAuditCandidate,\n type DedupeAuditCluster,\n type DedupeAuditOptions,\n type DedupeAuditResult,\n} from \"../cli/commands/dedupe-audit.js\";\nexport {\n runDedupeMerge,\n type DedupeMergeChildReparent,\n type DedupeMergeCloseAction,\n type DedupeMergeDuplicateOutcome,\n type DedupeMergeOptions,\n type DedupeMergeResult,\n} from \"../cli/commands/dedupe-merge.js\";\nexport { runNormalize, type NormalizeCommandOptions, type NormalizeResult } from \"../cli/commands/normalize.js\";\nexport { runReindex, type ReindexOptions, type ReindexResult } from \"../cli/commands/reindex.js\";\nexport { runSearch, type SearchOptions, type SearchResult } from \"../cli/commands/search.js\";\nexport {\n loadCreateTemplateOptions,\n runTemplatesList,\n runTemplatesSave,\n runTemplatesShow,\n type CreateTemplateOptions,\n type TemplatesListResult,\n type TemplatesSaveResult,\n type TemplatesShowResult,\n} from \"../cli/commands/templates.js\";\nexport {\n runTestRunsList,\n runTestRunsLogs,\n runTestRunsResume,\n runTestRunsStatus,\n runTestRunsStop,\n type TestRunsListCommandOptions,\n type TestRunsLogsCommandOptions,\n type TestRunsResumeCommandOptions,\n type TestRunsStopCommandOptions,\n} from \"../cli/commands/test-runs.js\";\nexport {\n CONFIDENCE_TEXT_VALUES,\n DEPENDENCY_KIND_VALUES,\n BUILTIN_ITEM_TYPE_VALUES,\n ISSUE_SEVERITY_VALUES,\n ITEM_TYPE_VALUES,\n RISK_VALUES,\n STATUS_VALUES,\n} from \"../types/index.js\";\nexport type { GlobalOptions } from \"../core/shared/command-types.js\";\nexport type {\n Dependency,\n ItemDocument,\n ItemMetadata,\n ItemStatus,\n ItemType,\n LinkedDoc,\n LinkedFile,\n LinkedTest,\n LogNote,\n PmSettings,\n} from \"../types/index.js\";\n\n/**\n * Documents the get contracts options payload exchanged by command, SDK, and package integrations.\n */\nexport interface GetContractsOptions extends ContractsCommandOptions {\n pmRoot?: string;\n cwd?: string;\n noExtensions?: boolean;\n quiet?: boolean;\n profile?: boolean;\n}\n\n/**\n * Documents the workspace contracts options payload exchanged by command, SDK, and package integrations.\n */\nexport interface WorkspaceContractsOptions {\n extensionRegistrations?: ExtensionRegistrationRegistry | null;\n noExtensions?: boolean;\n cwd?: string;\n}\n\n/**\n * Documents the workspace contracts payload exchanged by command, SDK, and package integrations.\n */\nexport interface WorkspaceContracts {\n types: string[];\n statuses: string[];\n openStatus: string;\n closeStatus: string;\n canceledStatus: string;\n}\n\n/**\n * Process-lifetime memo of activated extension registrations, keyed by resolved\n * pm root + cwd + extension settings. `getWorkspaceContracts` is frequently\n * called by importers and package runtimes that cannot thread a registry\n * through; without the memo each call re-discovers, re-imports, and re-activates\n * every extension.\n *\n * Invalidation story: entries are size-bounded and otherwise live until cleared.\n * One-shot CLI processes are trivially correct. Long-lived hosts (e.g. the MCP\n * server) must either pass `options.extensionRegistrations` (which bypasses the\n * memo) or call {@link clearWorkspaceContractsCache} after installing/removing/\n * toggling extensions or editing settings. Settings themselves are re-read on\n * every call — only the extension load+activate step is memoized.\n */\nconst WORKSPACE_CONTRACTS_CACHE_LIMIT = 50;\nconst workspaceExtensionRegistrationsCache = new Map<string, Promise<ExtensionRegistrationRegistry | null>>();\n\nfunction buildWorkspaceExtensionRegistrationsCacheKey(\n pmRoot: string,\n settings: Awaited<ReturnType<typeof readSettings>>,\n cwd?: string,\n): string {\n return JSON.stringify([\n path.resolve(pmRoot),\n path.resolve(cwd ?? process.cwd()),\n settings.extensions.enabled,\n settings.extensions.disabled,\n settings.extensions.policy,\n ]);\n}\n\n/**\n * Drop all memoized workspace extension registrations so the next\n * `getWorkspaceContracts` call re-loads and re-activates extensions from disk.\n * Long-lived hosts should call this after any extension or settings mutation.\n */\nexport function clearWorkspaceContractsCache(): void {\n workspaceExtensionRegistrationsCache.clear();\n}\n\nasync function resolveWorkspaceExtensionRegistrations(\n pmRoot: string,\n settings: Awaited<ReturnType<typeof readSettings>>,\n cwd?: string,\n): Promise<ExtensionRegistrationRegistry | null> {\n const cacheKey = buildWorkspaceExtensionRegistrationsCacheKey(pmRoot, settings, cwd);\n const cached = workspaceExtensionRegistrationsCache.get(cacheKey);\n if (cached !== undefined) {\n return cached;\n }\n if (workspaceExtensionRegistrationsCache.size >= WORKSPACE_CONTRACTS_CACHE_LIMIT) {\n const oldestKey = workspaceExtensionRegistrationsCache.keys().next().value!;\n workspaceExtensionRegistrationsCache.delete(oldestKey);\n }\n const registrations = loadWorkspaceExtensionRegistrations(pmRoot, settings, cwd);\n workspaceExtensionRegistrationsCache.set(cacheKey, registrations);\n return registrations;\n}\n\n/**\n * Implements get workspace contracts for the public runtime surface of this module.\n */\nexport async function getWorkspaceContracts(\n pmRoot: string,\n options: WorkspaceContractsOptions = {},\n): Promise<WorkspaceContracts> {\n const settings = await readSettings(pmRoot);\n const extensionRegistrations =\n options.extensionRegistrations ??\n (options.noExtensions === true ? null : await resolveWorkspaceExtensionRegistrations(pmRoot, settings, options.cwd));\n const typeRegistry = resolveItemTypeRegistry(settings, extensionRegistrations);\n const statusRegistry = resolveRuntimeStatusRegistry(settings.schema);\n\n return {\n types: [...typeRegistry.types],\n statuses: statusRegistry.definitions.map((definition) => definition.id),\n openStatus: statusRegistry.open_status,\n closeStatus: statusRegistry.close_status,\n canceledStatus: statusRegistry.canceled_status,\n };\n}\n\n/**\n * Implements get contracts for the public runtime surface of this module.\n */\nexport async function getContracts(\n pmRootOrOptions?: string | GetContractsOptions,\n options: GetContractsOptions = {},\n): Promise<ContractsResult> {\n const resolvedOptions =\n typeof pmRootOrOptions === \"string\"\n ? { ...options, pmRoot: pmRootOrOptions }\n : (pmRootOrOptions ?? options);\n const global: GlobalOptions = {\n json: true,\n quiet: resolvedOptions.quiet ?? true,\n noExtensions: resolvedOptions.noExtensions ?? false,\n noPager: true,\n profile: resolvedOptions.profile ?? false,\n path: resolvedOptions.pmRoot,\n };\n\n return runContracts(resolvedOptions, global);\n}\n\nasync function loadWorkspaceExtensionRegistrations(\n pmRoot: string,\n settings: Awaited<ReturnType<typeof readSettings>>,\n cwd?: string,\n): Promise<ExtensionRegistrationRegistry | null> {\n const loadResult = await loadExtensions({\n pmRoot,\n settings,\n cwd: cwd ?? process.cwd(),\n noExtensions: false,\n });\n const activationResult = await activateExtensions(loadResult);\n return activationResult.registrations;\n}\n\nexport type { ContractsCommandOptions, ContractsResult };\n"],"names":[],"mappings":"AAAA;;;;GAIG;;;AACH,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EACL,kBAAkB,EAClB,cAAc,GAEf,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EACL,YAAY,GAGb,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,+BAA+B,EAC/B,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC3G,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACzF,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACtG,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,oBAAoB,GAGrB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,wBAAwB,EACxB,kBAAkB,EAClB,uBAAuB,EACvB,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,sBAAsB,GAGvB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,2BAA2B,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AAC7G,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9F,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACrG,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,2BAA2B,EAC3B,WAAW,GAGZ,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,QAAQ,GAKT,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,aAAa,EAA+C,MAAM,+BAA+B,CAAC;AAC3G,OAAO,EACL,gBAAgB,GAOjB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,cAAc,GAKf,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,cAAc,GAMf,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,YAAY,EAAsD,MAAM,8BAA8B,CAAC;AAChH,OAAO,EAAE,UAAU,EAA2C,MAAM,4BAA4B,CAAC;AACjG,OAAO,EAAE,SAAS,EAAyC,MAAM,2BAA2B,CAAC;AAC7F,OAAO,EACL,yBAAyB,EACzB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,GAKjB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,GAKhB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,wBAAwB,EACxB,qBAAqB,EACrB,gBAAgB,EAChB,WAAW,EACX,aAAa,GACd,MAAM,mBAAmB,CAAC;AA8C3B;;;;;;;;;;;;;GAaG;AACH,MAAM,+BAA+B,GAAG,EAAE,CAAC;AAC3C,MAAM,oCAAoC,GAAG,IAAI,GAAG,EAAyD,CAAC;AAE9G,SAAS,4CAA4C,CACnD,MAAc,EACd,QAAkD,EAClD,GAAY;IAEZ,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QACpB,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAClC,QAAQ,CAAC,UAAU,CAAC,OAAO;QAC3B,QAAQ,CAAC,UAAU,CAAC,QAAQ;QAC5B,QAAQ,CAAC,UAAU,CAAC,MAAM;KAC3B,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,4BAA4B;IAC1C,oCAAoC,CAAC,KAAK,EAAE,CAAC;AAC/C,CAAC;AAED,KAAK,UAAU,sCAAsC,CACnD,MAAc,EACd,QAAkD,EAClD,GAAY;IAEZ,MAAM,QAAQ,GAAG,4CAA4C,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IACrF,MAAM,MAAM,GAAG,oCAAoC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClE,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,oCAAoC,CAAC,IAAI,IAAI,+BAA+B,EAAE,CAAC;QACjF,MAAM,SAAS,GAAG,oCAAoC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAM,CAAC;QAC5E,oCAAoC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACzD,CAAC;IACD,MAAM,aAAa,GAAG,mCAAmC,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IACjF,oCAAoC,CAAC,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IAClE,OAAO,aAAa,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,MAAc,EACd,UAAqC,EAAE;IAEvC,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,sBAAsB,GAC1B,OAAO,CAAC,sBAAsB;QAC9B,CAAC,OAAO,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,sCAAsC,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IACvH,MAAM,YAAY,GAAG,uBAAuB,CAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAC;IAC/E,MAAM,cAAc,GAAG,4BAA4B,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAErE,OAAO;QACL,KAAK,EAAE,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC;QAC9B,QAAQ,EAAE,cAAc,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;QACvE,UAAU,EAAE,cAAc,CAAC,WAAW;QACtC,WAAW,EAAE,cAAc,CAAC,YAAY;QACxC,cAAc,EAAE,cAAc,CAAC,eAAe;KAC/C,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,eAA8C,EAC9C,UAA+B,EAAE;IAEjC,MAAM,eAAe,GACnB,OAAO,eAAe,KAAK,QAAQ;QACjC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE;QACzC,CAAC,CAAC,CAAC,eAAe,IAAI,OAAO,CAAC,CAAC;IACnC,MAAM,MAAM,GAAkB;QAC5B,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,eAAe,CAAC,KAAK,IAAI,IAAI;QACpC,YAAY,EAAE,eAAe,CAAC,YAAY,IAAI,KAAK;QACnD,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,eAAe,CAAC,OAAO,IAAI,KAAK;QACzC,IAAI,EAAE,eAAe,CAAC,MAAM;KAC7B,CAAC;IAEF,OAAO,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;AAC/C,CAAC;AAED,KAAK,UAAU,mCAAmC,CAChD,MAAc,EACd,QAAkD,EAClD,GAAY;IAEZ,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC;QACtC,MAAM;QACN,QAAQ;QACR,GAAG,EAAE,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE;QACzB,YAAY,EAAE,KAAK;KACpB,CAAC,CAAC;IACH,MAAM,gBAAgB,GAAG,MAAM,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAC9D,OAAO,gBAAgB,CAAC,aAAa,CAAC;AACxC,CAAC","debugId":"326765a5-3205-5c3b-8697-e8f526168917"}
1
+ {"version":3,"file":"runtime.js","sources":["sdk/runtime.ts"],"sourceRoot":"/","sourcesContent":["/**\n * @module sdk/runtime\n *\n * Defines public SDK APIs and package-author helpers for Runtime.\n */\nimport path from \"node:path\";\nimport {\n activateExtensions,\n loadExtensions,\n type ExtensionRegistrationRegistry,\n} from \"../core/extensions/index.js\";\nimport type { GlobalOptions } from \"../core/shared/command-types.js\";\nimport { resolveItemTypeRegistry } from \"../core/item/type-registry.js\";\nimport { resolveRuntimeStatusRegistry } from \"../core/schema/runtime-schema.js\";\nimport { readSettings } from \"../core/store/settings.js\";\nimport {\n runContracts,\n type ContractsCommandOptions,\n type ContractsResult,\n} from \"../cli/commands/contracts.js\";\n\nexport {\n getActiveExtensionRegistrations,\n runActiveOnReadHooks,\n runActiveOnWriteHooks,\n} from \"../core/extensions/index.js\";\nexport { pathExists, readFileIfExists, removeFileIfExists, writeFileAtomic } from \"../core/fs/fs-utils.js\";\nexport { appendHistoryEntry, createHistoryEntry } from \"../core/history/history.js\";\nexport { generateItemId, normalizeItemId, normalizeRawItemId } from \"../core/item/id.js\";\nexport { readBooleanOption, readCsvListOption, readStringOption } from \"./package-runtime-options.js\";\nexport {\n PM_CLI_EXPECTED_ERROR_NAME,\n createPmCliExpectedError,\n isPmCliExpectedError,\n type CreatePmCliExpectedErrorOptions,\n type PmCliExpectedError,\n} from \"./errors.js\";\nexport {\n commitImportedItem,\n emptyImportedDocument,\n ensureTrackerInitialized,\n selectImportAuthor,\n toEstimatedMinutesValue,\n toImportPriority,\n toImportStatus,\n toImportTags,\n toNonEmptyImportString,\n type CommitImportedItemParams,\n type CommitImportedItemResult,\n} from \"./package-import-adapters.js\";\nexport {\n canonicalDocument,\n normalizeFrontMatter,\n serializeItemDocument,\n splitFrontMatter,\n} from \"../core/item/item-format.js\";\nexport {\n BASELINE_ITEM_FORMAT_VERSION,\n CURRENT_ITEM_FORMAT_VERSION,\n classifyItemFormatVersion,\n effectiveItemFormatVersion,\n normalizeItemFormatVersion,\n scanItemFormatVersions,\n type ItemFormatVersionScanEntry,\n type ItemFormatVersionScanResult,\n type ItemFormatVersionStatus,\n} from \"../core/item/item-format-version.js\";\nexport { parseTags } from \"../core/item/parse.js\";\nexport { normalizeStatusInput } from \"../core/item/status.js\";\nexport { resolveItemTypeRegistry } from \"../core/item/type-registry.js\";\nexport { acquireLock } from \"../core/lock/lock.js\";\nexport { resolveRuntimeFieldRegistry, resolveRuntimeStatusRegistry } from \"../core/schema/runtime-schema.js\";\nexport { EXIT_CODE } from \"../core/shared/constants.js\";\nexport { PmCliError } from \"../core/shared/errors.js\";\nexport { isTimestampLiteral, nowIso } from \"../core/shared/time.js\";\nexport { listAllFrontMatter, locateItem, readLocatedItem } from \"../core/store/item-store.js\";\nexport { getHistoryPath, getItemPath, getSettingsPath, resolvePmRoot } from \"../core/store/paths.js\";\nexport { readSettings } from \"../core/store/settings.js\";\nexport {\n renderCalendarMarkdown,\n renderCalendarToon,\n resolveCalendarOutputFormat,\n runCalendar,\n type CalendarOptions,\n type CalendarResult,\n} from \"../cli/commands/calendar.js\";\nexport {\n renderGuideMarkdown,\n resolveGuideOutputFormat,\n runGuide,\n type GuideDepth,\n type GuideOptions,\n type GuideOutputFormat,\n type GuideResult,\n} from \"../cli/commands/guide.js\";\nexport { runCompletion, type CompletionResult, type CompletionShell } from \"../cli/commands/completion.js\";\nexport {\n runCommentsAudit,\n type CommentsAuditEntry,\n type CommentsAuditHistoryRow,\n type CommentsAuditOptions,\n type CommentsAuditResult,\n type CommentsAuditSummary,\n type CommentsAuditTypeSummary,\n} from \"../cli/commands/comments-audit.js\";\nexport {\n runDedupeAudit,\n type DedupeAuditCandidate,\n type DedupeAuditCluster,\n type DedupeAuditOptions,\n type DedupeAuditResult,\n} from \"../cli/commands/dedupe-audit.js\";\nexport {\n runDedupeMerge,\n type DedupeMergeChildReparent,\n type DedupeMergeCloseAction,\n type DedupeMergeDuplicateOutcome,\n type DedupeMergeOptions,\n type DedupeMergeResult,\n} from \"../cli/commands/dedupe-merge.js\";\nexport { runNormalize, type NormalizeCommandOptions, type NormalizeResult } from \"../cli/commands/normalize.js\";\nexport { runReindex, type ReindexOptions, type ReindexResult } from \"../cli/commands/reindex.js\";\nexport { runSearch, type SearchOptions, type SearchResult } from \"../cli/commands/search.js\";\nexport {\n loadCreateTemplateOptions,\n runTemplatesList,\n runTemplatesSave,\n runTemplatesShow,\n type CreateTemplateOptions,\n type TemplatesListResult,\n type TemplatesSaveResult,\n type TemplatesShowResult,\n} from \"../cli/commands/templates.js\";\nexport {\n runTestRunsList,\n runTestRunsLogs,\n runTestRunsResume,\n runTestRunsStatus,\n runTestRunsStop,\n type TestRunsListCommandOptions,\n type TestRunsLogsCommandOptions,\n type TestRunsResumeCommandOptions,\n type TestRunsStopCommandOptions,\n} from \"../cli/commands/test-runs.js\";\nexport {\n CONFIDENCE_TEXT_VALUES,\n DEPENDENCY_KIND_VALUES,\n BUILTIN_ITEM_TYPE_VALUES,\n ISSUE_SEVERITY_VALUES,\n ITEM_TYPE_VALUES,\n RISK_VALUES,\n STATUS_VALUES,\n} from \"../types/index.js\";\nexport type { GlobalOptions } from \"../core/shared/command-types.js\";\nexport type {\n Dependency,\n ItemDocument,\n ItemMetadata,\n ItemStatus,\n ItemType,\n LinkedDoc,\n LinkedFile,\n LinkedTest,\n LogNote,\n PmSettings,\n} from \"../types/index.js\";\n\n/**\n * Documents the get contracts options payload exchanged by command, SDK, and package integrations.\n */\nexport interface GetContractsOptions extends ContractsCommandOptions {\n pmRoot?: string;\n cwd?: string;\n noExtensions?: boolean;\n quiet?: boolean;\n profile?: boolean;\n}\n\n/**\n * Documents the workspace contracts options payload exchanged by command, SDK, and package integrations.\n */\nexport interface WorkspaceContractsOptions {\n extensionRegistrations?: ExtensionRegistrationRegistry | null;\n noExtensions?: boolean;\n cwd?: string;\n}\n\n/**\n * Documents the workspace contracts payload exchanged by command, SDK, and package integrations.\n */\nexport interface WorkspaceContracts {\n types: string[];\n statuses: string[];\n openStatus: string;\n closeStatus: string;\n canceledStatus: string;\n}\n\n/**\n * Process-lifetime memo of activated extension registrations, keyed by resolved\n * pm root + cwd + extension settings. `getWorkspaceContracts` is frequently\n * called by importers and package runtimes that cannot thread a registry\n * through; without the memo each call re-discovers, re-imports, and re-activates\n * every extension.\n *\n * Invalidation story: entries are size-bounded and otherwise live until cleared.\n * One-shot CLI processes are trivially correct. Long-lived hosts (e.g. the MCP\n * server) must either pass `options.extensionRegistrations` (which bypasses the\n * memo) or call {@link clearWorkspaceContractsCache} after installing/removing/\n * toggling extensions or editing settings. Settings themselves are re-read on\n * every call — only the extension load+activate step is memoized.\n */\nconst WORKSPACE_CONTRACTS_CACHE_LIMIT = 50;\nconst workspaceExtensionRegistrationsCache = new Map<string, Promise<ExtensionRegistrationRegistry | null>>();\n\nfunction buildWorkspaceExtensionRegistrationsCacheKey(\n pmRoot: string,\n settings: Awaited<ReturnType<typeof readSettings>>,\n cwd?: string,\n): string {\n return JSON.stringify([\n path.resolve(pmRoot),\n path.resolve(cwd ?? process.cwd()),\n settings.extensions.enabled,\n settings.extensions.disabled,\n settings.extensions.policy,\n ]);\n}\n\n/**\n * Drop all memoized workspace extension registrations so the next\n * `getWorkspaceContracts` call re-loads and re-activates extensions from disk.\n * Long-lived hosts should call this after any extension or settings mutation.\n */\nexport function clearWorkspaceContractsCache(): void {\n workspaceExtensionRegistrationsCache.clear();\n}\n\nasync function resolveWorkspaceExtensionRegistrations(\n pmRoot: string,\n settings: Awaited<ReturnType<typeof readSettings>>,\n cwd?: string,\n): Promise<ExtensionRegistrationRegistry | null> {\n const cacheKey = buildWorkspaceExtensionRegistrationsCacheKey(pmRoot, settings, cwd);\n const cached = workspaceExtensionRegistrationsCache.get(cacheKey);\n if (cached !== undefined) {\n return cached;\n }\n if (workspaceExtensionRegistrationsCache.size >= WORKSPACE_CONTRACTS_CACHE_LIMIT) {\n const oldestKey = workspaceExtensionRegistrationsCache.keys().next().value!;\n workspaceExtensionRegistrationsCache.delete(oldestKey);\n }\n const registrations = loadWorkspaceExtensionRegistrations(pmRoot, settings, cwd);\n workspaceExtensionRegistrationsCache.set(cacheKey, registrations);\n return registrations;\n}\n\n/**\n * Implements get workspace contracts for the public runtime surface of this module.\n */\nexport async function getWorkspaceContracts(\n pmRoot: string,\n options: WorkspaceContractsOptions = {},\n): Promise<WorkspaceContracts> {\n const settings = await readSettings(pmRoot);\n const extensionRegistrations =\n options.extensionRegistrations ??\n (options.noExtensions === true ? null : await resolveWorkspaceExtensionRegistrations(pmRoot, settings, options.cwd));\n const typeRegistry = resolveItemTypeRegistry(settings, extensionRegistrations);\n const statusRegistry = resolveRuntimeStatusRegistry(settings.schema);\n\n return {\n types: [...typeRegistry.types],\n statuses: statusRegistry.definitions.map((definition) => definition.id),\n openStatus: statusRegistry.open_status,\n closeStatus: statusRegistry.close_status,\n canceledStatus: statusRegistry.canceled_status,\n };\n}\n\n/**\n * Implements get contracts for the public runtime surface of this module.\n */\nexport async function getContracts(\n pmRootOrOptions?: string | GetContractsOptions,\n options: GetContractsOptions = {},\n): Promise<ContractsResult> {\n const resolvedOptions =\n typeof pmRootOrOptions === \"string\"\n ? { ...options, pmRoot: pmRootOrOptions }\n : (pmRootOrOptions ?? options);\n const global: GlobalOptions = {\n json: true,\n quiet: resolvedOptions.quiet ?? true,\n noExtensions: resolvedOptions.noExtensions ?? false,\n noPager: true,\n profile: resolvedOptions.profile ?? false,\n path: resolvedOptions.pmRoot,\n };\n\n return runContracts(resolvedOptions, global);\n}\n\nasync function loadWorkspaceExtensionRegistrations(\n pmRoot: string,\n settings: Awaited<ReturnType<typeof readSettings>>,\n cwd?: string,\n): Promise<ExtensionRegistrationRegistry | null> {\n const loadResult = await loadExtensions({\n pmRoot,\n settings,\n cwd: cwd ?? process.cwd(),\n noExtensions: false,\n });\n const activationResult = await activateExtensions(loadResult);\n return activationResult.registrations;\n}\n\nexport type { ContractsCommandOptions, ContractsResult };\n"],"names":[],"mappings":"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","debugId":"71dfb59e-b26e-5bac-b1ad-498489f858ec"}
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Defines public SDK APIs and package-author helpers for Testing.
5
5
  */
6
- import type { ExtensionActivationResult, ExtensionCapability, ExtensionCommandRegistry, ExtensionGovernancePolicy, ExtensionHookRegistry, ExtensionLayer, ExtensionParserRegistry, ExtensionPreflightRegistry, ExtensionRegistrationRegistry, ExtensionRendererRegistry, FlagDefinition, OutputRendererFormat, RegisteredExtensionCommandDefinition, RegisteredExtensionCommandOverride, RegisteredExtensionExporter, RegisteredExtensionImporter, RegisteredExtensionParserOverride, RegisteredExtensionPreflightOverride, RegisteredExtensionRendererOverride, RegisteredExtensionSchemaFieldDefinitions, RegisteredExtensionSchemaItemTypeDefinitions, RegisteredExtensionSearchProvider, RegisteredExtensionVectorStoreAdapter, SchemaFieldDefinition, SchemaItemTypeDefinition } from "../core/extensions/loader.js";
6
+ import type { ExtensionActivationResult, ExtensionCapability, ExtensionCommandRegistry, ExtensionGovernancePolicy, ExtensionHookRegistry, ExtensionLayer, ExtensionParserRegistry, ExtensionPreflightRegistry, ExtensionRegistrationRegistry, ExtensionRendererRegistry, ExtensionServiceName, ExtensionServiceRegistry, FlagDefinition, OutputRendererFormat, RegisteredExtensionCommandDefinition, RegisteredExtensionCommandOverride, RegisteredExtensionExporter, RegisteredExtensionFlagDefinitions, RegisteredExtensionImporter, RegisteredExtensionParserOverride, RegisteredExtensionPreflightOverride, RegisteredExtensionRendererOverride, RegisteredExtensionSchemaFieldDefinitions, RegisteredExtensionSchemaItemTypeDefinitions, RegisteredExtensionSchemaMigrationDefinition, RegisteredExtensionSearchProvider, RegisteredExtensionServiceOverride, RegisteredExtensionVectorStoreAdapter, SchemaFieldDefinition, SchemaItemTypeDefinition } from "../core/extensions/loader.js";
7
7
  import type { PmPackageManifest, PmPackageResourceKind } from "../core/packages/manifest.js";
8
8
  /**
9
9
  * Documents the activate extension for test options payload exchanged by command, SDK, and package integrations.
@@ -31,6 +31,14 @@ export interface RegisteredCommandContractAssertion {
31
31
  command: RegisteredExtensionCommandDefinition;
32
32
  flags: FlagDefinition[];
33
33
  }
34
+ /**
35
+ * Documents the registered flags expectation payload exchanged by command, SDK, and package integrations.
36
+ */
37
+ export interface RegisteredFlagsExpectation {
38
+ targetCommand: string;
39
+ extensionName?: string;
40
+ flags?: string[];
41
+ }
34
42
  /**
35
43
  * Public hook lifecycle kinds an extension can register through `api.hooks.*`.
36
44
  */
@@ -128,6 +136,21 @@ export interface RegisteredRendererOverrideExpectation {
128
136
  format: OutputRendererFormat;
129
137
  extensionName?: string;
130
138
  }
139
+ /**
140
+ * Documents the registered service override expectation payload exchanged by command, SDK, and package integrations.
141
+ */
142
+ export interface RegisteredServiceOverrideExpectation {
143
+ service: ExtensionServiceName;
144
+ extensionName?: string;
145
+ }
146
+ /**
147
+ * Documents the registered migration expectation payload exchanged by command, SDK, and package integrations.
148
+ */
149
+ export interface RegisteredMigrationExpectation {
150
+ migration: string;
151
+ extensionName?: string;
152
+ mandatory?: boolean;
153
+ }
131
154
  /**
132
155
  * Restricts package manifest resource expectation values accepted by command, SDK, and storage contracts.
133
156
  */
@@ -157,6 +180,11 @@ export declare function assertPackageManifest(manifest: PmPackageManifest, expec
157
180
  * contract with the expected public metadata.
158
181
  */
159
182
  export declare function assertRegisteredCommandContract(registrations: ExtensionRegistrationRegistry, expectation: RegisteredCommandContractExpectation): RegisteredCommandContractAssertion;
183
+ /**
184
+ * Assert that an activated extension registration registry contains flags
185
+ * injected into an existing command through `api.registerFlags(...)`.
186
+ */
187
+ export declare function assertRegisteredFlags(registrations: ExtensionRegistrationRegistry, expectation: RegisteredFlagsExpectation): RegisteredExtensionFlagDefinitions;
160
188
  /**
161
189
  * Assert that an activated extension hook registry contains a hook of the
162
190
  * expected lifecycle kind (optionally scoped to a specific extension).
@@ -237,4 +265,23 @@ export declare function assertRegisteredPreflightOverride(preflight: ExtensionPr
237
265
  * Renderer overrides are surfaced via `ExtensionActivationResult.renderers`.
238
266
  */
239
267
  export declare function assertRegisteredRendererOverride(renderers: ExtensionRendererRegistry, expectation: RegisteredRendererOverrideExpectation): RegisteredExtensionRendererOverride;
268
+ /**
269
+ * Assert that an activated extension service registry contains a service override
270
+ * registered via `api.registerService(service, override)` for the expected
271
+ * service name (optionally scoped to a specific extension).
272
+ *
273
+ * Service overrides are surfaced via `ExtensionActivationResult.services`, not the
274
+ * command registration registry, so this helper accepts an
275
+ * `ExtensionServiceRegistry`.
276
+ */
277
+ export declare function assertRegisteredServiceOverride(services: ExtensionServiceRegistry, expectation: RegisteredServiceOverrideExpectation): RegisteredExtensionServiceOverride;
278
+ /**
279
+ * Assert that an activated extension registration registry contains a schema
280
+ * migration registered via `api.registerMigration(definition)` with the expected
281
+ * id (optionally scoped to a specific extension and asserting the `mandatory`
282
+ * governance flag, where an unset flag is treated as non-mandatory).
283
+ *
284
+ * Migrations are surfaced via `ExtensionActivationResult.registrations.migrations`.
285
+ */
286
+ export declare function assertRegisteredMigration(registrations: ExtensionRegistrationRegistry, expectation: RegisteredMigrationExpectation): RegisteredExtensionSchemaMigrationDefinition;
240
287
  export {};
@@ -1,5 +1,5 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="a3dceb9a-70c2-54cb-ba96-71727c3dfe10")}catch(e){}}();
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="cdb9b0c1-6fbc-5b77-bcd0-c4630a719641")}catch(e){}}();
3
3
  import { activateExtensions } from "../core/extensions/loader.js";
4
4
  import { createDefaultExtensionGovernancePolicy } from "../core/extensions/extension-types.js";
5
5
  const HOOK_KIND_TO_REGISTRY_FIELD = {
@@ -184,6 +184,41 @@ export function assertRegisteredCommandContract(registrations, expectation) {
184
184
  }
185
185
  return { command, flags };
186
186
  }
187
+ /**
188
+ * Assert that an activated extension registration registry contains flags
189
+ * injected into an existing command through `api.registerFlags(...)`.
190
+ */
191
+ export function assertRegisteredFlags(registrations, expectation) {
192
+ const expectedCommand = normalizeSdkCommandName(expectation.targetCommand);
193
+ if (expectedCommand.length === 0) {
194
+ throw new Error("Expected target command name must be a non-empty string");
195
+ }
196
+ const candidates = registrations.flags.filter((entry) => entry.target_command === expectedCommand);
197
+ let registration;
198
+ if (expectation.extensionName) {
199
+ registration = candidates.find((entry) => entry.name === expectation.extensionName);
200
+ }
201
+ else if (candidates.length === 1) {
202
+ registration = candidates[0];
203
+ }
204
+ else if (candidates.length > 1) {
205
+ const availableExtensions = sortedUnique(candidates.map((entry) => entry.name));
206
+ throw new Error(`Expected flags for target command "${expectedCommand}" matched multiple extensions: ${formatAvailable(availableExtensions)}. Specify extensionName to choose one registration.`);
207
+ }
208
+ if (!registration) {
209
+ const available = sortedUnique(registrations.flags.map((entry) => entry.target_command));
210
+ const availableExtensions = sortedUnique(candidates.map((entry) => entry.name));
211
+ throw new Error(`Expected flags for target command "${expectedCommand}"${extensionNameSuffix(expectation.extensionName)} to be registered. Available flag target commands: ${formatAvailable(available)}; matching extensions: ${formatAvailable(availableExtensions)}`);
212
+ }
213
+ if (expectation.flags !== undefined) {
214
+ const actualFlagLabels = collectFlagLabels(registration.flags);
215
+ const missingFlags = expectation.flags.filter((flag) => !actualFlagLabels.has(flag));
216
+ if (missingFlags.length > 0) {
217
+ throw new Error(`Expected flags for target command "${expectedCommand}" to include ${formatAvailable(expectation.flags)}; missing ${formatAvailable(missingFlags)}; available ${formatAvailable([...actualFlagLabels].sort((left, right) => left.localeCompare(right)))}`);
218
+ }
219
+ }
220
+ return registration;
221
+ }
187
222
  /**
188
223
  * Assert that an activated extension hook registry contains a hook of the
189
224
  * expected lifecycle kind (optionally scoped to a specific extension).
@@ -416,5 +451,66 @@ export function assertRegisteredRendererOverride(renderers, expectation) {
416
451
  }
417
452
  return override;
418
453
  }
454
+ /**
455
+ * Assert that an activated extension service registry contains a service override
456
+ * registered via `api.registerService(service, override)` for the expected
457
+ * service name (optionally scoped to a specific extension).
458
+ *
459
+ * Service overrides are surfaced via `ExtensionActivationResult.services`, not the
460
+ * command registration registry, so this helper accepts an
461
+ * `ExtensionServiceRegistry`.
462
+ */
463
+ export function assertRegisteredServiceOverride(services, expectation) {
464
+ const expectedService = normalizeSdkIdentifier(expectation.service);
465
+ if (expectedService.length === 0) {
466
+ throw new Error("Expected service name must be a non-empty string");
467
+ }
468
+ const candidates = services.overrides.filter((entry) => normalizeSdkIdentifier(entry.service) === expectedService);
469
+ const override = expectation.extensionName
470
+ ? candidates.find((entry) => entry.name === expectation.extensionName)
471
+ : candidates[0];
472
+ if (!override) {
473
+ const available = sortedUnique(services.overrides.map((entry) => entry.service));
474
+ throw new Error(`Expected service override "${expectedService}"${extensionNameSuffix(expectation.extensionName)} to be registered. Available service overrides: ${formatAvailable(available)}`);
475
+ }
476
+ return override;
477
+ }
478
+ /**
479
+ * Assert that an activated extension registration registry contains a schema
480
+ * migration registered via `api.registerMigration(definition)` with the expected
481
+ * id (optionally scoped to a specific extension and asserting the `mandatory`
482
+ * governance flag, where an unset flag is treated as non-mandatory).
483
+ *
484
+ * Migrations are surfaced via `ExtensionActivationResult.registrations.migrations`.
485
+ */
486
+ export function assertRegisteredMigration(registrations, expectation) {
487
+ const expectedMigration = normalizeSdkIdentifier(expectation.migration);
488
+ if (expectedMigration.length === 0) {
489
+ throw new Error("Expected migration id must be a non-empty string");
490
+ }
491
+ const candidates = registrations.migrations.filter((entry) => (expectation.extensionName === undefined || entry.name === expectation.extensionName) &&
492
+ typeof entry.definition.id === "string" &&
493
+ normalizeSdkIdentifier(entry.definition.id) === expectedMigration);
494
+ const match = candidates.find((entry) => expectation.mandatory === undefined || (entry.definition.mandatory ?? false) === expectation.mandatory);
495
+ if (match) {
496
+ return match;
497
+ }
498
+ // The id (and any extension scope) matched but the `mandatory` flag did not:
499
+ // report the mismatch directly rather than the misleading "not registered"
500
+ // listing. Reaching here with a candidate implies `expectation.mandatory` was
501
+ // set, since an unset flag matches any candidate above.
502
+ const idMatch = candidates[0];
503
+ if (idMatch !== undefined) {
504
+ throw new Error(`Expected migration "${expectedMigration}"${extensionNameSuffix(expectation.extensionName)} to have ` +
505
+ `mandatory=${expectation.mandatory}, but it is mandatory=${idMatch.definition.mandatory ?? false}.`);
506
+ }
507
+ const available = sortedUnique(registrations.migrations.map((entry) => {
508
+ const id = typeof entry.definition.id === "string" && entry.definition.id.trim().length > 0
509
+ ? entry.definition.id.trim()
510
+ : "(unnamed)";
511
+ return `${id}:${entry.definition.mandatory === true}`;
512
+ }));
513
+ throw new Error(`Expected migration "${expectedMigration}"${extensionNameSuffix(expectation.extensionName)} to be registered. Available migrations: ${formatAvailable(available)}`);
514
+ }
419
515
  //# sourceMappingURL=testing.js.map
420
- //# debugId=a3dceb9a-70c2-54cb-ba96-71727c3dfe10
516
+ //# debugId=cdb9b0c1-6fbc-5b77-bcd0-c4630a719641