@unbrained/pm-cli 2026.7.5 → 2026.7.7

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 (597) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/dist/cli/commands/annotation-command.d.ts +1 -0
  3. package/dist/cli/commands/annotation-command.js +29 -2
  4. package/dist/cli/commands/annotation-command.js.map +1 -1
  5. package/dist/cli/commands/comments.js +3 -4
  6. package/dist/cli/commands/comments.js.map +1 -1
  7. package/dist/cli/commands/extension/bundled-catalog.d.ts +3 -0
  8. package/dist/cli/commands/extension/bundled-catalog.js +38 -28
  9. package/dist/cli/commands/extension/bundled-catalog.js.map +1 -1
  10. package/dist/cli/commands/extension/install-sources.js +81 -18
  11. package/dist/cli/commands/extension/install-sources.js.map +1 -1
  12. package/dist/cli/commands/health.js +9 -5
  13. package/dist/cli/commands/health.js.map +1 -1
  14. package/dist/cli/commands/learnings.js +5 -3
  15. package/dist/cli/commands/learnings.js.map +1 -1
  16. package/dist/cli/commands/notes.js +5 -3
  17. package/dist/cli/commands/notes.js.map +1 -1
  18. package/dist/cli/commands/reindex.js +4 -3
  19. package/dist/cli/commands/reindex.js.map +1 -1
  20. package/dist/cli/commands/search.js +3 -3
  21. package/dist/cli/commands/search.js.map +1 -1
  22. package/dist/cli/commands/test.d.ts +9 -0
  23. package/dist/cli/commands/test.js +144 -105
  24. package/dist/cli/commands/test.js.map +1 -1
  25. package/dist/cli/extension-command-help.js +10 -2
  26. package/dist/cli/extension-command-help.js.map +1 -1
  27. package/dist/cli/register-list-query.d.ts +1 -1
  28. package/dist/cli/register-list-query.js +18 -27
  29. package/dist/cli/register-list-query.js.map +1 -1
  30. package/dist/cli/register-operations.d.ts +0 -8
  31. package/dist/cli/register-operations.js +41 -46
  32. package/dist/cli/register-operations.js.map +1 -1
  33. package/dist/cli/register-setup.js +113 -13
  34. package/dist/cli/register-setup.js.map +1 -1
  35. package/dist/cli/registration-helpers.d.ts +5 -1
  36. package/dist/cli/registration-helpers.js +14 -2
  37. package/dist/cli/registration-helpers.js.map +1 -1
  38. package/dist/cli-bundle/chunks/append-F7WPGIQL.js +11 -0
  39. package/dist/cli-bundle/chunks/{contracts-OJEXMKVW.js → append-PVCTBVJG.js} +8 -9
  40. package/dist/cli-bundle/chunks/{chunk-PPE4YUQM.js → chunk-2APXX4TZ.js} +17 -28
  41. package/dist/cli-bundle/chunks/chunk-2APXX4TZ.js.map +1 -0
  42. package/dist/cli-bundle/chunks/{docs-S6UTOTO5.js → chunk-2LEJGRQ7.js} +3 -12
  43. package/dist/cli-bundle/chunks/{docs-S6UTOTO5.js.map → chunk-2LEJGRQ7.js.map} +1 -1
  44. package/dist/cli-bundle/chunks/{chunk-T3ABIMGW.js → chunk-2TILG6F2.js} +3 -3
  45. package/dist/cli-bundle/chunks/{chunk-S5AYOUT5.js → chunk-3G6UMXT3.js} +6 -8
  46. package/dist/cli-bundle/chunks/{chunk-S5AYOUT5.js.map → chunk-3G6UMXT3.js.map} +1 -1
  47. package/dist/cli-bundle/chunks/{chunk-RCT3YJOK.js → chunk-3TYOW6RR.js} +8 -8
  48. package/dist/cli-bundle/chunks/{chunk-3JZNEQBA.js → chunk-3X542TEY.js} +7 -7
  49. package/dist/cli-bundle/chunks/{history-repair-EVTO6LIH.js → chunk-42LXP4VO.js} +14 -21
  50. package/dist/cli-bundle/chunks/{history-repair-EVTO6LIH.js.map → chunk-42LXP4VO.js.map} +1 -1
  51. package/dist/cli-bundle/chunks/{chunk-5J2XPTAD.js → chunk-43SIHQND.js} +36 -15
  52. package/dist/cli-bundle/chunks/chunk-43SIHQND.js.map +7 -0
  53. package/dist/cli-bundle/chunks/{history-repair-4N6SDVHK.js → chunk-43UQN754.js} +12 -19
  54. package/dist/cli-bundle/chunks/{history-repair-4N6SDVHK.js.map → chunk-43UQN754.js.map} +1 -1
  55. package/dist/cli-bundle/chunks/{chunk-OWTIRHX4.js → chunk-43YSKY75.js} +4 -6
  56. package/dist/cli-bundle/chunks/{chunk-OWTIRHX4.js.map → chunk-43YSKY75.js.map} +1 -1
  57. package/dist/cli-bundle/chunks/{notes-72YXN5JX.js → chunk-4BKDAEDF.js} +6 -13
  58. package/dist/cli-bundle/chunks/{notes-72YXN5JX.js.map → chunk-4BKDAEDF.js.map} +2 -2
  59. package/dist/cli-bundle/chunks/{close-many-AP4MWU36.js → chunk-4IQKDKGE.js} +18 -32
  60. package/dist/cli-bundle/chunks/{close-many-AP4MWU36.js.map → chunk-4IQKDKGE.js.map} +1 -1
  61. package/dist/cli-bundle/chunks/{chunk-ZCJAA3JK.js → chunk-4MZOKTI2.js} +6 -8
  62. package/dist/cli-bundle/chunks/{chunk-ZCJAA3JK.js.map → chunk-4MZOKTI2.js.map} +1 -1
  63. package/dist/cli-bundle/chunks/{chunk-IJ6CO3JV.js → chunk-52NS7JDP.js} +14 -20
  64. package/dist/cli-bundle/chunks/{chunk-IJ6CO3JV.js.map → chunk-52NS7JDP.js.map} +1 -1
  65. package/dist/cli-bundle/chunks/{chunk-T3F4DF23.js → chunk-565WYS5W.js} +12 -16
  66. package/dist/cli-bundle/chunks/{chunk-T3F4DF23.js.map → chunk-565WYS5W.js.map} +1 -1
  67. package/dist/cli-bundle/chunks/{copy-OTJOWFL6.js → chunk-5FIQ4EX3.js} +13 -19
  68. package/dist/cli-bundle/chunks/{copy-OTJOWFL6.js.map → chunk-5FIQ4EX3.js.map} +1 -1
  69. package/dist/cli-bundle/chunks/{config-V57QD47V.js → chunk-6G6O3OPQ.js} +259 -41
  70. package/dist/cli-bundle/chunks/chunk-6G6O3OPQ.js.map +1 -0
  71. package/dist/cli-bundle/chunks/{chunk-K3AGVXSF.js → chunk-6LCJRGPD.js} +9 -13
  72. package/dist/cli-bundle/chunks/{chunk-K3AGVXSF.js.map → chunk-6LCJRGPD.js.map} +1 -1
  73. package/dist/cli-bundle/chunks/{chunk-7MDXZAZS.js → chunk-6UQCNWFV.js} +6 -8
  74. package/dist/cli-bundle/chunks/{chunk-7MDXZAZS.js.map → chunk-6UQCNWFV.js.map} +1 -1
  75. package/dist/cli-bundle/chunks/{chunk-LEKT4K7I.js → chunk-6XTSYPPO.js} +1216 -387
  76. package/dist/cli-bundle/chunks/chunk-6XTSYPPO.js.map +7 -0
  77. package/dist/cli-bundle/chunks/chunk-7ML7JONU.js +5434 -0
  78. package/dist/cli-bundle/chunks/chunk-7ML7JONU.js.map +1 -0
  79. package/dist/cli-bundle/chunks/{chunk-TSPKZRRW.js → chunk-7PNQA24K.js} +30 -36
  80. package/dist/cli-bundle/chunks/{chunk-TSPKZRRW.js.map → chunk-7PNQA24K.js.map} +1 -1
  81. package/dist/cli-bundle/chunks/{chunk-YOF5VPKM.js → chunk-7VQ3JJN5.js} +2 -2
  82. package/dist/cli-bundle/chunks/{chunk-BFVHCAOO.js → chunk-7Y5N34HX.js} +8 -12
  83. package/dist/cli-bundle/chunks/{chunk-BFVHCAOO.js.map → chunk-7Y5N34HX.js.map} +1 -1
  84. package/dist/cli-bundle/chunks/{chunk-P5TFTLWW.js → chunk-AGAVEDIE.js} +7 -7
  85. package/dist/cli-bundle/chunks/{chunk-YFIE7YK6.js → chunk-AJUON7E6.js} +3 -3
  86. package/dist/cli-bundle/chunks/{close-many-OMZIGZB4.js → chunk-ARKHKYYS.js} +16 -30
  87. package/dist/cli-bundle/chunks/{close-many-OMZIGZB4.js.map → chunk-ARKHKYYS.js.map} +1 -1
  88. package/dist/cli-bundle/chunks/{chunk-7EQNAZX2.js → chunk-C5ACVMOI.js} +99 -51
  89. package/dist/cli-bundle/chunks/chunk-C5ACVMOI.js.map +7 -0
  90. package/dist/cli-bundle/chunks/{chunk-PJ3A56YF.js → chunk-CJQM7O7R.js} +16 -20
  91. package/dist/cli-bundle/chunks/{chunk-PJ3A56YF.js.map → chunk-CJQM7O7R.js.map} +1 -1
  92. package/dist/cli-bundle/chunks/{chunk-WISPVC2E.js → chunk-D2DCTFTL.js} +7 -9
  93. package/dist/cli-bundle/chunks/{chunk-WISPVC2E.js.map → chunk-D2DCTFTL.js.map} +1 -1
  94. package/dist/cli-bundle/chunks/{append-CZGUZ45Q.js → chunk-DDDWVPID.js} +7 -11
  95. package/dist/cli-bundle/chunks/{append-CZGUZ45Q.js.map → chunk-DDDWVPID.js.map} +1 -1
  96. package/dist/cli-bundle/chunks/{learnings-2HTPZNGZ.js → chunk-DG6BSXZ7.js} +6 -13
  97. package/dist/cli-bundle/chunks/{learnings-2HTPZNGZ.js.map → chunk-DG6BSXZ7.js.map} +2 -2
  98. package/dist/cli-bundle/chunks/{chunk-7WYXBPYQ.js → chunk-DR2V5OIV.js} +3 -3
  99. package/dist/cli-bundle/chunks/{chunk-YQMMMONE.js → chunk-E3LWJUGF.js} +4 -6
  100. package/dist/cli-bundle/chunks/{chunk-YQMMMONE.js.map → chunk-E3LWJUGF.js.map} +1 -1
  101. package/dist/cli-bundle/chunks/{chunk-D3UCE7RW.js → chunk-E3YQFSFE.js} +6 -10
  102. package/dist/cli-bundle/chunks/{chunk-D3UCE7RW.js.map → chunk-E3YQFSFE.js.map} +1 -1
  103. package/dist/cli-bundle/chunks/{chunk-PDXT6Q55.js → chunk-EDO7VXSO.js} +2 -2
  104. package/dist/cli-bundle/chunks/{chunk-FDBARR33.js → chunk-EIUBK2LT.js} +12 -18
  105. package/dist/cli-bundle/chunks/{chunk-FDBARR33.js.map → chunk-EIUBK2LT.js.map} +1 -1
  106. package/dist/cli-bundle/chunks/{chunk-HBYZDSK5.js → chunk-EMXPI36L.js} +14 -20
  107. package/dist/cli-bundle/chunks/{chunk-HBYZDSK5.js.map → chunk-EMXPI36L.js.map} +1 -1
  108. package/dist/cli-bundle/chunks/{chunk-4OFLJHX6.js → chunk-EOUVR7JN.js} +13 -8
  109. package/dist/cli-bundle/chunks/chunk-EOUVR7JN.js.map +1 -0
  110. package/dist/cli-bundle/chunks/{chunk-FUM6UMY4.js → chunk-EVEPHNXJ.js} +4 -4
  111. package/dist/cli-bundle/chunks/{deps-L2FPIAD3.js → chunk-F6MT7KKE.js} +6 -10
  112. package/dist/cli-bundle/chunks/{deps-L2FPIAD3.js.map → chunk-F6MT7KKE.js.map} +1 -1
  113. package/dist/cli-bundle/chunks/{chunk-FGQKEDE4.js → chunk-F6YC2A6X.js} +7 -11
  114. package/dist/cli-bundle/chunks/{chunk-FGQKEDE4.js.map → chunk-F6YC2A6X.js.map} +1 -1
  115. package/dist/cli-bundle/chunks/chunk-FILL6BB2.js +5514 -0
  116. package/dist/cli-bundle/chunks/chunk-FILL6BB2.js.map +7 -0
  117. package/dist/cli-bundle/chunks/{chunk-RX3HQSYG.js → chunk-FN6SB4HU.js} +2 -2
  118. package/dist/cli-bundle/chunks/chunk-GH73UOSJ.js +5359 -0
  119. package/dist/cli-bundle/chunks/chunk-GH73UOSJ.js.map +1 -0
  120. package/dist/cli-bundle/chunks/{chunk-JLA7EVYV.js → chunk-GLS6VMWI.js} +37 -16
  121. package/dist/cli-bundle/chunks/chunk-GLS6VMWI.js.map +1 -0
  122. package/dist/cli-bundle/chunks/{files-JPU3FNJ7.js → chunk-GPIDUMMN.js} +10 -17
  123. package/dist/cli-bundle/chunks/{files-JPU3FNJ7.js.map → chunk-GPIDUMMN.js.map} +1 -1
  124. package/dist/cli-bundle/chunks/{history-compact-3F6VELO7.js → chunk-GTM5HQL4.js} +15 -21
  125. package/dist/cli-bundle/chunks/{history-compact-3F6VELO7.js.map → chunk-GTM5HQL4.js.map} +1 -1
  126. package/dist/cli-bundle/chunks/{chunk-DLQ4ZTCU.js → chunk-H2SMKL2N.js} +8 -8
  127. package/dist/cli-bundle/chunks/{chunk-S4APD35C.js → chunk-HHEWQXPD.js} +6 -6
  128. package/dist/cli-bundle/chunks/chunk-HHEWQXPD.js.map +7 -0
  129. package/dist/cli-bundle/chunks/{chunk-C3PMDWGX.js → chunk-HX6QXV5P.js} +2 -2
  130. package/dist/cli-bundle/chunks/{copy-LEE6P6EM.js → chunk-I74FMIWA.js} +11 -17
  131. package/dist/cli-bundle/chunks/{copy-LEE6P6EM.js.map → chunk-I74FMIWA.js.map} +1 -1
  132. package/dist/cli-bundle/chunks/chunk-IDIBF4E2.js +804 -0
  133. package/dist/cli-bundle/chunks/chunk-IDIBF4E2.js.map +7 -0
  134. package/dist/cli-bundle/chunks/{comments-SAG5LSKL.js → chunk-II7R6KD4.js} +9 -13
  135. package/dist/cli-bundle/chunks/{comments-SAG5LSKL.js.map → chunk-II7R6KD4.js.map} +1 -1
  136. package/dist/cli-bundle/chunks/chunk-J2VGADNG.js +10320 -0
  137. package/dist/cli-bundle/chunks/chunk-J2VGADNG.js.map +1 -0
  138. package/dist/cli-bundle/chunks/{chunk-Y76TWC45.js → chunk-J7BOLHAV.js} +5 -7
  139. package/dist/cli-bundle/chunks/{chunk-Y76TWC45.js.map → chunk-J7BOLHAV.js.map} +1 -1
  140. package/dist/cli-bundle/chunks/{chunk-QHZO65XW.js → chunk-KTGJ2CBU.js} +4 -6
  141. package/dist/cli-bundle/chunks/{chunk-QHZO65XW.js.map → chunk-KTGJ2CBU.js.map} +1 -1
  142. package/dist/cli-bundle/chunks/{chunk-5VVUKE3U.js → chunk-LCFJ7XAM.js} +32 -2
  143. package/dist/cli-bundle/chunks/{chunk-5VVUKE3U.js.map → chunk-LCFJ7XAM.js.map} +3 -3
  144. package/dist/cli-bundle/chunks/{chunk-YMABYTNG.js → chunk-LZQU6XJG.js} +28 -34
  145. package/dist/cli-bundle/chunks/{chunk-YMABYTNG.js.map → chunk-LZQU6XJG.js.map} +1 -1
  146. package/dist/cli-bundle/chunks/{chunk-3Y4OESPP.js → chunk-M62RO3XK.js} +10 -14
  147. package/dist/cli-bundle/chunks/{chunk-3Y4OESPP.js.map → chunk-M62RO3XK.js.map} +1 -1
  148. package/dist/cli-bundle/chunks/{chunk-YPPVU5GX.js → chunk-MCEUKJKW.js} +9 -11
  149. package/dist/cli-bundle/chunks/{chunk-YPPVU5GX.js.map → chunk-MCEUKJKW.js.map} +1 -1
  150. package/dist/cli-bundle/chunks/{chunk-T5Y3QSNF.js → chunk-MHNMCDWR.js} +1447 -86
  151. package/dist/cli-bundle/chunks/chunk-MHNMCDWR.js.map +1 -0
  152. package/dist/cli-bundle/chunks/{chunk-HJE4JTKQ.js → chunk-MRFWUSVA.js} +4 -6
  153. package/dist/cli-bundle/chunks/{chunk-HJE4JTKQ.js.map → chunk-MRFWUSVA.js.map} +1 -1
  154. package/dist/cli-bundle/chunks/{chunk-P3VRG72Q.js → chunk-N6ZHDLUY.js} +6 -8
  155. package/dist/cli-bundle/chunks/{chunk-P3VRG72Q.js.map → chunk-N6ZHDLUY.js.map} +1 -1
  156. package/dist/cli-bundle/chunks/{delete-HQKGRNRZ.js → chunk-NWWL22C7.js} +8 -12
  157. package/dist/cli-bundle/chunks/{delete-HQKGRNRZ.js.map → chunk-NWWL22C7.js.map} +1 -1
  158. package/dist/cli-bundle/chunks/{chunk-N6DNM2FA.js → chunk-P3MJJW7P.js} +2 -2
  159. package/dist/cli-bundle/chunks/{chunk-5JE6SMYS.js → chunk-PDXJXEZJ.js} +2 -2
  160. package/dist/cli-bundle/chunks/{append-NSQBCXZJ.js → chunk-Q64AYQYW.js} +9 -13
  161. package/dist/cli-bundle/chunks/{append-NSQBCXZJ.js.map → chunk-Q64AYQYW.js.map} +1 -1
  162. package/dist/cli-bundle/chunks/{update-many-SLLAMHT7.js → chunk-QDABF2RB.js} +26 -47
  163. package/dist/cli-bundle/chunks/{update-many-SLLAMHT7.js.map → chunk-QDABF2RB.js.map} +1 -1
  164. package/dist/cli-bundle/chunks/{chunk-NBFCNJ7Q.js → chunk-QFBSP3NI.js} +529 -46
  165. package/dist/cli-bundle/chunks/chunk-QFBSP3NI.js.map +1 -0
  166. package/dist/cli-bundle/chunks/{focus-LFZ6IDBR.js → chunk-RB3KLPAH.js} +11 -16
  167. package/dist/cli-bundle/chunks/{focus-LFZ6IDBR.js.map → chunk-RB3KLPAH.js.map} +1 -1
  168. package/dist/cli-bundle/chunks/{chunk-YSAH5FY5.js → chunk-RY7PTTUB.js} +94 -53
  169. package/dist/cli-bundle/chunks/chunk-RY7PTTUB.js.map +1 -0
  170. package/dist/cli-bundle/chunks/{chunk-WVSGSZ6J.js → chunk-S547WBYG.js} +1477 -86
  171. package/dist/cli-bundle/chunks/chunk-S547WBYG.js.map +7 -0
  172. package/dist/cli-bundle/chunks/{update-many-DC7X3EWM.js → chunk-S5BNGFN5.js} +24 -45
  173. package/dist/cli-bundle/chunks/{update-many-DC7X3EWM.js.map → chunk-S5BNGFN5.js.map} +1 -1
  174. package/dist/cli-bundle/chunks/{focus-WNMYCVYA.js → chunk-S6VC2A2K.js} +9 -14
  175. package/dist/cli-bundle/chunks/{focus-WNMYCVYA.js.map → chunk-S6VC2A2K.js.map} +1 -1
  176. package/dist/cli-bundle/chunks/{learnings-YBIHY3D6.js → chunk-SIM5JDON.js} +7 -14
  177. package/dist/cli-bundle/chunks/{learnings-YBIHY3D6.js.map → chunk-SIM5JDON.js.map} +1 -1
  178. package/dist/cli-bundle/chunks/{chunk-ZD34OFFQ.js → chunk-SY75LYXR.js} +12 -7
  179. package/dist/cli-bundle/chunks/chunk-SY75LYXR.js.map +7 -0
  180. package/dist/cli-bundle/chunks/{chunk-TT42JUMF.js → chunk-TEISGNSH.js} +7 -7
  181. package/dist/cli-bundle/chunks/chunk-TEISGNSH.js.map +1 -0
  182. package/dist/cli-bundle/chunks/{chunk-AAEQMOC6.js → chunk-TEKZOS7M.js} +2 -2
  183. package/dist/cli-bundle/chunks/{chunk-4QQ6PM7M.js → chunk-TGUK6XN6.js} +14 -18
  184. package/dist/cli-bundle/chunks/{chunk-4QQ6PM7M.js.map → chunk-TGUK6XN6.js.map} +1 -1
  185. package/dist/cli-bundle/chunks/{plan-R4NDQ27E.js → chunk-TNC6MZUD.js} +10 -21
  186. package/dist/cli-bundle/chunks/{plan-R4NDQ27E.js.map → chunk-TNC6MZUD.js.map} +1 -1
  187. package/dist/cli-bundle/chunks/chunk-TZLYO4PP.js +10498 -0
  188. package/dist/cli-bundle/chunks/chunk-TZLYO4PP.js.map +7 -0
  189. package/dist/cli-bundle/chunks/{chunk-YD5FML7K.js → chunk-UO7XAZK6.js} +27 -4
  190. package/dist/cli-bundle/chunks/chunk-UO7XAZK6.js.map +1 -0
  191. package/dist/cli-bundle/chunks/{docs-6CRCSVKK.js → chunk-V5ZWKJNY.js} +5 -14
  192. package/dist/cli-bundle/chunks/{docs-6CRCSVKK.js.map → chunk-V5ZWKJNY.js.map} +1 -1
  193. package/dist/cli-bundle/chunks/{notes-NJ7IQJX4.js → chunk-VGO73OCK.js} +7 -14
  194. package/dist/cli-bundle/chunks/{notes-NJ7IQJX4.js.map → chunk-VGO73OCK.js.map} +1 -1
  195. package/dist/cli-bundle/chunks/{chunk-NER3KUUS.js → chunk-VLEA2UTQ.js} +2 -2
  196. package/dist/cli-bundle/chunks/{files-6P57MRKL.js → chunk-W5HXHC7C.js} +8 -15
  197. package/dist/cli-bundle/chunks/{files-6P57MRKL.js.map → chunk-W5HXHC7C.js.map} +1 -1
  198. package/dist/cli-bundle/chunks/{chunk-ZMD35NYG.js → chunk-WCWVEXGA.js} +2 -2
  199. package/dist/cli-bundle/chunks/chunk-X47MKQXU.js +6690 -0
  200. package/dist/cli-bundle/chunks/chunk-X47MKQXU.js.map +7 -0
  201. package/dist/cli-bundle/chunks/{delete-62JQTYT4.js → chunk-XBX5CBRQ.js} +6 -10
  202. package/dist/cli-bundle/chunks/{delete-62JQTYT4.js.map → chunk-XBX5CBRQ.js.map} +1 -1
  203. package/dist/cli-bundle/chunks/{chunk-MTTXDAK4.js → chunk-XC3X7BQR.js} +541 -44
  204. package/dist/cli-bundle/chunks/chunk-XC3X7BQR.js.map +7 -0
  205. package/dist/cli-bundle/chunks/{history-compact-656Y2TN4.js → chunk-XHCVAZGM.js} +17 -23
  206. package/dist/cli-bundle/chunks/{history-compact-656Y2TN4.js.map → chunk-XHCVAZGM.js.map} +1 -1
  207. package/dist/cli-bundle/chunks/{chunk-ZAHXPXVY.js → chunk-XPMXPR7K.js} +7 -9
  208. package/dist/cli-bundle/chunks/{chunk-ZAHXPXVY.js.map → chunk-XPMXPR7K.js.map} +1 -1
  209. package/dist/cli-bundle/chunks/{deps-55FTG6Z5.js → chunk-XS2TMNXR.js} +8 -12
  210. package/dist/cli-bundle/chunks/{deps-55FTG6Z5.js.map → chunk-XS2TMNXR.js.map} +1 -1
  211. package/dist/cli-bundle/chunks/{plan-XWY5T67S.js → chunk-XXIYUTLK.js} +12 -23
  212. package/dist/cli-bundle/chunks/{plan-XWY5T67S.js.map → chunk-XXIYUTLK.js.map} +1 -1
  213. package/dist/cli-bundle/chunks/{chunk-7QH7DHUB.js → chunk-XZWL7VNE.js} +1220 -398
  214. package/dist/cli-bundle/chunks/chunk-XZWL7VNE.js.map +1 -0
  215. package/dist/cli-bundle/chunks/chunk-Y5IKRUEM.js +6624 -0
  216. package/dist/cli-bundle/chunks/chunk-Y5IKRUEM.js.map +1 -0
  217. package/dist/cli-bundle/chunks/{chunk-ABRA3BHY.js → chunk-Y7KYVCZM.js} +12 -18
  218. package/dist/cli-bundle/chunks/{chunk-ABRA3BHY.js.map → chunk-Y7KYVCZM.js.map} +1 -1
  219. package/dist/cli-bundle/chunks/{chunk-UI5BJ6DO.js → chunk-YCVWWIKY.js} +17 -28
  220. package/dist/cli-bundle/chunks/chunk-YCVWWIKY.js.map +7 -0
  221. package/dist/cli-bundle/chunks/chunk-YH5NBDFA.js +780 -0
  222. package/dist/cli-bundle/chunks/chunk-YH5NBDFA.js.map +1 -0
  223. package/dist/cli-bundle/chunks/chunk-YNCFP5AR.js +5509 -0
  224. package/dist/cli-bundle/chunks/chunk-YNCFP5AR.js.map +7 -0
  225. package/dist/cli-bundle/chunks/{comments-MIW5MZOX.js → chunk-YPD7SQ5P.js} +8 -12
  226. package/dist/cli-bundle/chunks/{comments-MIW5MZOX.js.map → chunk-YPD7SQ5P.js.map} +2 -2
  227. package/dist/cli-bundle/chunks/{chunk-T35XLYZF.js → chunk-YPMZMKN7.js} +2 -2
  228. package/dist/cli-bundle/chunks/{chunk-R3ZBLGTC.js → chunk-YTD5GICJ.js} +4 -4
  229. package/dist/cli-bundle/chunks/{config-DJJKZB5R.js → chunk-ZNEG2UDO.js} +264 -39
  230. package/dist/cli-bundle/chunks/{config-DJJKZB5R.js.map → chunk-ZNEG2UDO.js.map} +4 -4
  231. package/dist/cli-bundle/chunks/{chunk-EEY54JMF.js → chunk-ZO7CLOY2.js} +3 -3
  232. package/dist/cli-bundle/chunks/{close-3YRR3XY6.js → close-3YYQ5OG2.js} +5 -9
  233. package/dist/cli-bundle/chunks/close-Z3Q4U7TS.js +12 -0
  234. package/dist/cli-bundle/chunks/close-many-3L2RXH3M.js +22 -0
  235. package/dist/cli-bundle/chunks/close-many-D366FTIG.js +26 -0
  236. package/dist/cli-bundle/chunks/comments-54XDJNFE.js +17 -0
  237. package/dist/cli-bundle/chunks/comments-HGHC2PN6.js +13 -0
  238. package/dist/cli-bundle/chunks/copy-44RT5GDW.js +13 -0
  239. package/dist/cli-bundle/chunks/copy-UGMUGHZA.js +9 -0
  240. package/dist/cli-bundle/chunks/{create-XWWQFQ6S.js → create-4GWJWPXG.js} +9 -14
  241. package/dist/cli-bundle/chunks/create-AZXCUYKP.js +25 -0
  242. package/dist/cli-bundle/chunks/delete-Y6SXIQ4X.js +10 -0
  243. package/dist/cli-bundle/chunks/delete-YQ2VPXNF.js +14 -0
  244. package/dist/cli-bundle/chunks/deps-BU5EBJDU.js +17 -0
  245. package/dist/cli-bundle/chunks/deps-FMANWFRP.js +13 -0
  246. package/dist/cli-bundle/chunks/docs-OQBSJNIA.js +18 -0
  247. package/dist/cli-bundle/chunks/docs-VNPBZXEL.js +14 -0
  248. package/dist/cli-bundle/chunks/files-72HZEBOE.js +18 -0
  249. package/dist/cli-bundle/chunks/{activity-YKAKZTZ4.js → files-HTSB2KJG.js} +13 -13
  250. package/dist/cli-bundle/chunks/focus-FOG4ALC2.js +14 -0
  251. package/dist/cli-bundle/chunks/focus-SUTMKXGX.js +10 -0
  252. package/dist/cli-bundle/chunks/history-compact-M6IFAMBP.js +25 -0
  253. package/dist/cli-bundle/chunks/history-compact-NEXRPP2O.js +21 -0
  254. package/dist/cli-bundle/chunks/{history-redact-54ICFKXM.js → history-redact-NQX3OGZP.js} +7 -11
  255. package/dist/cli-bundle/chunks/history-redact-WQJBZ3PX.js +17 -0
  256. package/dist/cli-bundle/chunks/history-repair-CBHMHAJO.js +19 -0
  257. package/dist/cli-bundle/chunks/history-repair-NHOJG7WO.js +23 -0
  258. package/dist/cli-bundle/chunks/learnings-M64NTSOR.js +13 -0
  259. package/dist/cli-bundle/chunks/learnings-T63JGKKN.js +17 -0
  260. package/dist/cli-bundle/chunks/notes-73WE2UV2.js +13 -0
  261. package/dist/cli-bundle/chunks/notes-U7L6HQQ2.js +17 -0
  262. package/dist/cli-bundle/chunks/plan-OSCNYFGC.js +24 -0
  263. package/dist/cli-bundle/chunks/plan-OSCNYFGC.js.map +7 -0
  264. package/dist/cli-bundle/chunks/plan-TN537L24.js +28 -0
  265. package/dist/cli-bundle/chunks/plan-TN537L24.js.map +1 -0
  266. package/dist/cli-bundle/chunks/profile-MHAMXMHQ.js +37 -0
  267. package/dist/cli-bundle/chunks/profile-MHAMXMHQ.js.map +1 -0
  268. package/dist/cli-bundle/chunks/profile-TIGLAKJ7.js +33 -0
  269. package/dist/cli-bundle/chunks/profile-TIGLAKJ7.js.map +7 -0
  270. package/dist/cli-bundle/chunks/{register-list-query-5H66WFYF.js → register-list-query-OHXD7G5N.js} +41 -33
  271. package/dist/cli-bundle/chunks/register-list-query-OHXD7G5N.js.map +7 -0
  272. package/dist/cli-bundle/chunks/{register-list-query-FB3FNDLZ.js → register-list-query-ZCRABAPN.js} +42 -34
  273. package/dist/cli-bundle/chunks/register-list-query-ZCRABAPN.js.map +1 -0
  274. package/dist/cli-bundle/chunks/{register-mutation-UJO23C7R.js → register-mutation-P3G4XP6Q.js} +36 -41
  275. package/dist/cli-bundle/chunks/{register-mutation-UJO23C7R.js.map → register-mutation-P3G4XP6Q.js.map} +1 -1
  276. package/dist/cli-bundle/chunks/{register-mutation-Z2ETYHKS.js → register-mutation-XX4H56PE.js} +34 -39
  277. package/dist/cli-bundle/chunks/{register-mutation-Z2ETYHKS.js.map → register-mutation-XX4H56PE.js.map} +1 -1
  278. package/dist/cli-bundle/chunks/{register-operations-A3XAM5J7.js → register-operations-V6PIYEDU.js} +80 -52
  279. package/dist/cli-bundle/chunks/register-operations-V6PIYEDU.js.map +1 -0
  280. package/dist/cli-bundle/chunks/{register-operations-SG7HBSUP.js → register-operations-V6VKTG54.js} +79 -51
  281. package/dist/cli-bundle/chunks/register-operations-V6VKTG54.js.map +7 -0
  282. package/dist/cli-bundle/chunks/{register-setup-K6U3NVY5.js → register-setup-6RVAWT6W.js} +129 -31
  283. package/dist/cli-bundle/chunks/register-setup-6RVAWT6W.js.map +7 -0
  284. package/dist/cli-bundle/chunks/{register-setup-I45OGJUV.js → register-setup-6YVUSQYD.js} +130 -32
  285. package/dist/cli-bundle/chunks/register-setup-6YVUSQYD.js.map +1 -0
  286. package/dist/cli-bundle/chunks/{restore-YJ2ET6AT.js → restore-HC3YSWF7.js} +7 -11
  287. package/dist/cli-bundle/chunks/restore-HC3YSWF7.js.map +1 -0
  288. package/dist/cli-bundle/chunks/restore-LFAMMRYZ.js +15 -0
  289. package/dist/cli-bundle/chunks/restore-LFAMMRYZ.js.map +7 -0
  290. package/dist/cli-bundle/chunks/{schema-2PUXCZ25.js → schema-DAGSYO6E.js} +6 -10
  291. package/dist/cli-bundle/chunks/schema-DAGSYO6E.js.map +7 -0
  292. package/dist/cli-bundle/chunks/{schema-Y6DXXK2F.js → schema-UBXJCQAC.js} +6 -10
  293. package/dist/cli-bundle/chunks/schema-UBXJCQAC.js.map +1 -0
  294. package/dist/cli-bundle/chunks/update-CJGG5WMV.js +21 -0
  295. package/dist/cli-bundle/chunks/update-CJGG5WMV.js.map +7 -0
  296. package/dist/cli-bundle/chunks/update-LKD64AFP.js +25 -0
  297. package/dist/cli-bundle/chunks/update-LKD64AFP.js.map +1 -0
  298. package/dist/cli-bundle/chunks/update-many-G4SM7BHC.js +31 -0
  299. package/dist/cli-bundle/chunks/update-many-G4SM7BHC.js.map +7 -0
  300. package/dist/cli-bundle/chunks/update-many-VLIV3D7R.js +35 -0
  301. package/dist/cli-bundle/chunks/update-many-VLIV3D7R.js.map +1 -0
  302. package/dist/cli-bundle/main.js +29 -31
  303. package/dist/cli-bundle/main.js.map +2 -2
  304. package/dist/cli-bundle/sdk-runtime.js +136 -54
  305. package/dist/cli-bundle/sdk-testing.js +7 -8
  306. package/dist/cli-bundle/sdk.js +132 -84
  307. package/dist/cli-bundle/sdk.js.map +2 -2
  308. package/dist/core/history/drift-scan.js +3 -8
  309. package/dist/core/history/drift-scan.js.map +1 -1
  310. package/dist/core/output/mutation-projection.js +11 -5
  311. package/dist/core/output/mutation-projection.js.map +1 -1
  312. package/dist/core/search/cache.js +3 -3
  313. package/dist/core/search/cache.js.map +1 -1
  314. package/dist/core/search/semantic-defaults.d.ts +2 -0
  315. package/dist/core/search/semantic-defaults.js +11 -4
  316. package/dist/core/search/semantic-defaults.js.map +1 -1
  317. package/dist/core/search/vector-stores.d.ts +1 -1
  318. package/dist/core/search/vector-stores.js +33 -7
  319. package/dist/core/search/vector-stores.js.map +1 -1
  320. package/dist/mcp/server.d.ts +22 -50
  321. package/dist/mcp/server.js +62 -916
  322. package/dist/mcp/server.js.map +1 -1
  323. package/dist/sdk/cli-contracts/flag-contracts.js +7 -7
  324. package/dist/sdk/cli-contracts/flag-contracts.js.map +1 -1
  325. package/dist/sdk/cli-contracts/tool-schema.js +9 -7
  326. package/dist/sdk/cli-contracts/tool-schema.js.map +1 -1
  327. package/dist/sdk/index.d.ts +4 -2
  328. package/dist/sdk/index.js +4 -4
  329. package/dist/sdk/index.js.map +1 -1
  330. package/dist/sdk/runtime.d.ts +312 -5
  331. package/dist/sdk/runtime.js +1391 -26
  332. package/dist/sdk/runtime.js.map +1 -1
  333. package/dist/sdk/start-task-status.d.ts +13 -0
  334. package/dist/sdk/start-task-status.js +19 -0
  335. package/dist/sdk/start-task-status.js.map +1 -0
  336. package/dist/sdk/workspace-contracts-cache.d.ts +17 -0
  337. package/dist/sdk/workspace-contracts-cache.js +36 -0
  338. package/dist/sdk/workspace-contracts-cache.js.map +1 -0
  339. package/docs/COMMANDS.md +10 -1
  340. package/docs/RELEASING.md +3 -1
  341. package/docs/SDK.md +81 -0
  342. package/docs/TESTING.md +3 -0
  343. package/docs/examples/sdk-app-embedding/run-embedded-pm.mjs +16 -2
  344. package/docs/examples/sdk-contract-consumer/inspect-contracts.mjs +16 -1
  345. package/package.json +1 -1
  346. package/dist/cli-bundle/chunks/activity-4XQIDNM5.js +0 -18
  347. package/dist/cli-bundle/chunks/aggregate-EQX2RGB7.js +0 -375
  348. package/dist/cli-bundle/chunks/aggregate-EQX2RGB7.js.map +0 -7
  349. package/dist/cli-bundle/chunks/aggregate-PEGZGJXD.js +0 -372
  350. package/dist/cli-bundle/chunks/aggregate-PEGZGJXD.js.map +0 -1
  351. package/dist/cli-bundle/chunks/chunk-37E72CNS.js +0 -217
  352. package/dist/cli-bundle/chunks/chunk-37E72CNS.js.map +0 -1
  353. package/dist/cli-bundle/chunks/chunk-3PL6LEKP.js +0 -1961
  354. package/dist/cli-bundle/chunks/chunk-3PL6LEKP.js.map +0 -1
  355. package/dist/cli-bundle/chunks/chunk-3U3VEWK6.js +0 -1749
  356. package/dist/cli-bundle/chunks/chunk-3U3VEWK6.js.map +0 -7
  357. package/dist/cli-bundle/chunks/chunk-4BU75MF4.js +0 -87
  358. package/dist/cli-bundle/chunks/chunk-4BU75MF4.js.map +0 -7
  359. package/dist/cli-bundle/chunks/chunk-4LRVSBO6.js +0 -822
  360. package/dist/cli-bundle/chunks/chunk-4LRVSBO6.js.map +0 -7
  361. package/dist/cli-bundle/chunks/chunk-4OFLJHX6.js.map +0 -1
  362. package/dist/cli-bundle/chunks/chunk-53BTLLAF.js +0 -2181
  363. package/dist/cli-bundle/chunks/chunk-53BTLLAF.js.map +0 -1
  364. package/dist/cli-bundle/chunks/chunk-57C2RLW5.js +0 -1704
  365. package/dist/cli-bundle/chunks/chunk-57C2RLW5.js.map +0 -1
  366. package/dist/cli-bundle/chunks/chunk-5B3X4Y22.js +0 -2330
  367. package/dist/cli-bundle/chunks/chunk-5B3X4Y22.js.map +0 -7
  368. package/dist/cli-bundle/chunks/chunk-5J2XPTAD.js.map +0 -7
  369. package/dist/cli-bundle/chunks/chunk-5JZ7APJU.js +0 -995
  370. package/dist/cli-bundle/chunks/chunk-5JZ7APJU.js.map +0 -1
  371. package/dist/cli-bundle/chunks/chunk-75U6M5ZD.js +0 -819
  372. package/dist/cli-bundle/chunks/chunk-75U6M5ZD.js.map +0 -1
  373. package/dist/cli-bundle/chunks/chunk-7C2O74AE.js +0 -23
  374. package/dist/cli-bundle/chunks/chunk-7C2O74AE.js.map +0 -7
  375. package/dist/cli-bundle/chunks/chunk-7EQNAZX2.js.map +0 -7
  376. package/dist/cli-bundle/chunks/chunk-7QH7DHUB.js.map +0 -1
  377. package/dist/cli-bundle/chunks/chunk-BVEUCSH2.js +0 -530
  378. package/dist/cli-bundle/chunks/chunk-BVEUCSH2.js.map +0 -7
  379. package/dist/cli-bundle/chunks/chunk-DC3QJQWI.js +0 -275
  380. package/dist/cli-bundle/chunks/chunk-DC3QJQWI.js.map +0 -7
  381. package/dist/cli-bundle/chunks/chunk-DRBV5UC2.js +0 -231
  382. package/dist/cli-bundle/chunks/chunk-DRBV5UC2.js.map +0 -7
  383. package/dist/cli-bundle/chunks/chunk-E2FUG6GD.js +0 -2184
  384. package/dist/cli-bundle/chunks/chunk-E2FUG6GD.js.map +0 -7
  385. package/dist/cli-bundle/chunks/chunk-EZFKWSC7.js +0 -1615
  386. package/dist/cli-bundle/chunks/chunk-EZFKWSC7.js.map +0 -7
  387. package/dist/cli-bundle/chunks/chunk-FJRKQREY.js +0 -228
  388. package/dist/cli-bundle/chunks/chunk-FJRKQREY.js.map +0 -1
  389. package/dist/cli-bundle/chunks/chunk-GIWXVMZ3.js +0 -3237
  390. package/dist/cli-bundle/chunks/chunk-GIWXVMZ3.js.map +0 -7
  391. package/dist/cli-bundle/chunks/chunk-HK72NWAD.js +0 -1570
  392. package/dist/cli-bundle/chunks/chunk-HK72NWAD.js.map +0 -1
  393. package/dist/cli-bundle/chunks/chunk-JFCVQXZX.js +0 -3206
  394. package/dist/cli-bundle/chunks/chunk-JFCVQXZX.js.map +0 -1
  395. package/dist/cli-bundle/chunks/chunk-JINYH2DB.js +0 -371
  396. package/dist/cli-bundle/chunks/chunk-JINYH2DB.js.map +0 -7
  397. package/dist/cli-bundle/chunks/chunk-JLA7EVYV.js.map +0 -1
  398. package/dist/cli-bundle/chunks/chunk-K32L7HZO.js +0 -76
  399. package/dist/cli-bundle/chunks/chunk-K32L7HZO.js.map +0 -1
  400. package/dist/cli-bundle/chunks/chunk-KDZ6K25I.js +0 -79
  401. package/dist/cli-bundle/chunks/chunk-KDZ6K25I.js.map +0 -7
  402. package/dist/cli-bundle/chunks/chunk-KL22PY6L.js +0 -915
  403. package/dist/cli-bundle/chunks/chunk-KL22PY6L.js.map +0 -1
  404. package/dist/cli-bundle/chunks/chunk-KLG4ZULO.js +0 -218
  405. package/dist/cli-bundle/chunks/chunk-KLG4ZULO.js.map +0 -7
  406. package/dist/cli-bundle/chunks/chunk-LEKT4K7I.js.map +0 -7
  407. package/dist/cli-bundle/chunks/chunk-MNZ7DRNC.js +0 -1858
  408. package/dist/cli-bundle/chunks/chunk-MNZ7DRNC.js.map +0 -1
  409. package/dist/cli-bundle/chunks/chunk-MTTXDAK4.js.map +0 -7
  410. package/dist/cli-bundle/chunks/chunk-MZ7VNEVY.js +0 -520
  411. package/dist/cli-bundle/chunks/chunk-MZ7VNEVY.js.map +0 -1
  412. package/dist/cli-bundle/chunks/chunk-N7X4WP6L.js +0 -1041
  413. package/dist/cli-bundle/chunks/chunk-N7X4WP6L.js.map +0 -7
  414. package/dist/cli-bundle/chunks/chunk-NBFCNJ7Q.js.map +0 -1
  415. package/dist/cli-bundle/chunks/chunk-NNHHXJB2.js +0 -20
  416. package/dist/cli-bundle/chunks/chunk-NNHHXJB2.js.map +0 -1
  417. package/dist/cli-bundle/chunks/chunk-OBA2WH65.js +0 -918
  418. package/dist/cli-bundle/chunks/chunk-OBA2WH65.js.map +0 -7
  419. package/dist/cli-bundle/chunks/chunk-OESSOFJ4.js +0 -1985
  420. package/dist/cli-bundle/chunks/chunk-OESSOFJ4.js.map +0 -7
  421. package/dist/cli-bundle/chunks/chunk-OK5NXCZB.js +0 -238
  422. package/dist/cli-bundle/chunks/chunk-OK5NXCZB.js.map +0 -1
  423. package/dist/cli-bundle/chunks/chunk-P5YORJRH.js +0 -1977
  424. package/dist/cli-bundle/chunks/chunk-P5YORJRH.js.map +0 -7
  425. package/dist/cli-bundle/chunks/chunk-PPAJG4GB.js +0 -1031
  426. package/dist/cli-bundle/chunks/chunk-PPAJG4GB.js.map +0 -1
  427. package/dist/cli-bundle/chunks/chunk-PPE4YUQM.js.map +0 -1
  428. package/dist/cli-bundle/chunks/chunk-QZ342C63.js +0 -220
  429. package/dist/cli-bundle/chunks/chunk-QZ342C63.js.map +0 -7
  430. package/dist/cli-bundle/chunks/chunk-R2EMWY7Q.js +0 -368
  431. package/dist/cli-bundle/chunks/chunk-R2EMWY7Q.js.map +0 -1
  432. package/dist/cli-bundle/chunks/chunk-S4APD35C.js.map +0 -7
  433. package/dist/cli-bundle/chunks/chunk-STPSZ2XY.js +0 -1149
  434. package/dist/cli-bundle/chunks/chunk-STPSZ2XY.js.map +0 -1
  435. package/dist/cli-bundle/chunks/chunk-T4MX77AK.js +0 -272
  436. package/dist/cli-bundle/chunks/chunk-T4MX77AK.js.map +0 -1
  437. package/dist/cli-bundle/chunks/chunk-T5Y3QSNF.js.map +0 -1
  438. package/dist/cli-bundle/chunks/chunk-TT42JUMF.js.map +0 -1
  439. package/dist/cli-bundle/chunks/chunk-UHKX7I75.js +0 -165
  440. package/dist/cli-bundle/chunks/chunk-UHKX7I75.js.map +0 -1
  441. package/dist/cli-bundle/chunks/chunk-UI5BJ6DO.js.map +0 -7
  442. package/dist/cli-bundle/chunks/chunk-US3T3W5J.js +0 -1932
  443. package/dist/cli-bundle/chunks/chunk-US3T3W5J.js.map +0 -1
  444. package/dist/cli-bundle/chunks/chunk-UZRDBL6W.js +0 -175
  445. package/dist/cli-bundle/chunks/chunk-UZRDBL6W.js.map +0 -7
  446. package/dist/cli-bundle/chunks/chunk-VY3VQ22F.js +0 -84
  447. package/dist/cli-bundle/chunks/chunk-VY3VQ22F.js.map +0 -1
  448. package/dist/cli-bundle/chunks/chunk-VZIYHZDX.js +0 -1868
  449. package/dist/cli-bundle/chunks/chunk-VZIYHZDX.js.map +0 -7
  450. package/dist/cli-bundle/chunks/chunk-WVSGSZ6J.js.map +0 -7
  451. package/dist/cli-bundle/chunks/chunk-XQCG2JGW.js +0 -1152
  452. package/dist/cli-bundle/chunks/chunk-XQCG2JGW.js.map +0 -7
  453. package/dist/cli-bundle/chunks/chunk-YD5FML7K.js.map +0 -1
  454. package/dist/cli-bundle/chunks/chunk-YSAH5FY5.js.map +0 -1
  455. package/dist/cli-bundle/chunks/chunk-YZIR4R3U.js +0 -1005
  456. package/dist/cli-bundle/chunks/chunk-YZIR4R3U.js.map +0 -7
  457. package/dist/cli-bundle/chunks/chunk-Z2CRRZYF.js +0 -215
  458. package/dist/cli-bundle/chunks/chunk-Z2CRRZYF.js.map +0 -1
  459. package/dist/cli-bundle/chunks/chunk-ZD34OFFQ.js.map +0 -7
  460. package/dist/cli-bundle/chunks/chunk-ZJB3UV5U.js +0 -2306
  461. package/dist/cli-bundle/chunks/chunk-ZJB3UV5U.js.map +0 -1
  462. package/dist/cli-bundle/chunks/chunk-ZVDL32GJ.js +0 -241
  463. package/dist/cli-bundle/chunks/chunk-ZVDL32GJ.js.map +0 -7
  464. package/dist/cli-bundle/chunks/claim-4DROPSIS.js +0 -144
  465. package/dist/cli-bundle/chunks/claim-4DROPSIS.js.map +0 -1
  466. package/dist/cli-bundle/chunks/claim-VX54TV5U.js +0 -147
  467. package/dist/cli-bundle/chunks/claim-VX54TV5U.js.map +0 -7
  468. package/dist/cli-bundle/chunks/close-OB2Y4QP5.js +0 -16
  469. package/dist/cli-bundle/chunks/config-V57QD47V.js.map +0 -1
  470. package/dist/cli-bundle/chunks/context-4OQGIPSO.js +0 -45
  471. package/dist/cli-bundle/chunks/context-WLA6IAWE.js +0 -49
  472. package/dist/cli-bundle/chunks/contracts-HXJLKCRI.js +0 -12
  473. package/dist/cli-bundle/chunks/create-WKOZKPQR.js +0 -30
  474. package/dist/cli-bundle/chunks/eval-N6UHFWVO.js +0 -288
  475. package/dist/cli-bundle/chunks/eval-N6UHFWVO.js.map +0 -7
  476. package/dist/cli-bundle/chunks/eval-PHOTWYHI.js +0 -278
  477. package/dist/cli-bundle/chunks/eval-PHOTWYHI.js.map +0 -1
  478. package/dist/cli-bundle/chunks/extension-NBAH62ML.js +0 -40
  479. package/dist/cli-bundle/chunks/extension-ZF6ZZPOU.js +0 -44
  480. package/dist/cli-bundle/chunks/gc-AETFKZ44.js +0 -398
  481. package/dist/cli-bundle/chunks/gc-AETFKZ44.js.map +0 -7
  482. package/dist/cli-bundle/chunks/gc-RLBP4QVN.js +0 -388
  483. package/dist/cli-bundle/chunks/gc-RLBP4QVN.js.map +0 -1
  484. package/dist/cli-bundle/chunks/get-NH2MPBCI.js +0 -283
  485. package/dist/cli-bundle/chunks/get-NH2MPBCI.js.map +0 -1
  486. package/dist/cli-bundle/chunks/get-P4ZQXCPZ.js +0 -286
  487. package/dist/cli-bundle/chunks/get-P4ZQXCPZ.js.map +0 -7
  488. package/dist/cli-bundle/chunks/health-3GVPMQBL.js +0 -1612
  489. package/dist/cli-bundle/chunks/health-3GVPMQBL.js.map +0 -1
  490. package/dist/cli-bundle/chunks/health-DNTM72GJ.js +0 -1615
  491. package/dist/cli-bundle/chunks/health-DNTM72GJ.js.map +0 -7
  492. package/dist/cli-bundle/chunks/history-RYKLC72X.js +0 -20
  493. package/dist/cli-bundle/chunks/history-SGPYRAFT.js +0 -24
  494. package/dist/cli-bundle/chunks/history-redact-4H3FCKF3.js +0 -21
  495. package/dist/cli-bundle/chunks/init-RPIPQUNV.js +0 -32
  496. package/dist/cli-bundle/chunks/init-SKQAESQS.js +0 -28
  497. package/dist/cli-bundle/chunks/list-64LHZ3HM.js +0 -32
  498. package/dist/cli-bundle/chunks/list-7LXBTEKI.js +0 -36
  499. package/dist/cli-bundle/chunks/next-7ODPAQ4U.js +0 -306
  500. package/dist/cli-bundle/chunks/next-7ODPAQ4U.js.map +0 -7
  501. package/dist/cli-bundle/chunks/next-ODJUM4ZM.js +0 -303
  502. package/dist/cli-bundle/chunks/next-ODJUM4ZM.js.map +0 -1
  503. package/dist/cli-bundle/chunks/profile-XQWEQKS3.js +0 -397
  504. package/dist/cli-bundle/chunks/profile-XQWEQKS3.js.map +0 -1
  505. package/dist/cli-bundle/chunks/profile-YRDHLMRO.js +0 -400
  506. package/dist/cli-bundle/chunks/profile-YRDHLMRO.js.map +0 -7
  507. package/dist/cli-bundle/chunks/register-list-query-5H66WFYF.js.map +0 -7
  508. package/dist/cli-bundle/chunks/register-list-query-FB3FNDLZ.js.map +0 -1
  509. package/dist/cli-bundle/chunks/register-operations-A3XAM5J7.js.map +0 -1
  510. package/dist/cli-bundle/chunks/register-operations-SG7HBSUP.js.map +0 -7
  511. package/dist/cli-bundle/chunks/register-setup-I45OGJUV.js.map +0 -1
  512. package/dist/cli-bundle/chunks/register-setup-K6U3NVY5.js.map +0 -7
  513. package/dist/cli-bundle/chunks/restore-PXOFL6AM.js +0 -19
  514. package/dist/cli-bundle/chunks/scheduling-shortcuts-SSC4MYWQ.js +0 -91
  515. package/dist/cli-bundle/chunks/scheduling-shortcuts-SSC4MYWQ.js.map +0 -7
  516. package/dist/cli-bundle/chunks/scheduling-shortcuts-ULRG7MNP.js +0 -88
  517. package/dist/cli-bundle/chunks/scheduling-shortcuts-ULRG7MNP.js.map +0 -1
  518. package/dist/cli-bundle/chunks/search-3S72CTD6.js +0 -38
  519. package/dist/cli-bundle/chunks/search-WNUNBQXO.js +0 -34
  520. package/dist/cli-bundle/chunks/stats-IJYTRQGV.js +0 -250
  521. package/dist/cli-bundle/chunks/stats-IJYTRQGV.js.map +0 -7
  522. package/dist/cli-bundle/chunks/stats-L2D5Y2O5.js +0 -240
  523. package/dist/cli-bundle/chunks/stats-L2D5Y2O5.js.map +0 -1
  524. package/dist/cli-bundle/chunks/telemetry-L2CVOKVN.js +0 -309
  525. package/dist/cli-bundle/chunks/telemetry-L2CVOKVN.js.map +0 -7
  526. package/dist/cli-bundle/chunks/telemetry-QBYWQA76.js +0 -306
  527. package/dist/cli-bundle/chunks/telemetry-QBYWQA76.js.map +0 -1
  528. package/dist/cli-bundle/chunks/test-DQ2QFJ7W.js +0 -45
  529. package/dist/cli-bundle/chunks/test-W7QBLVJS.js +0 -41
  530. package/dist/cli-bundle/chunks/test-all-636NTRTT.js +0 -434
  531. package/dist/cli-bundle/chunks/test-all-636NTRTT.js.map +0 -1
  532. package/dist/cli-bundle/chunks/test-all-DWYK3RG6.js +0 -437
  533. package/dist/cli-bundle/chunks/test-all-DWYK3RG6.js.map +0 -7
  534. package/dist/cli-bundle/chunks/test-runs-245OINZR.js +0 -28
  535. package/dist/cli-bundle/chunks/test-runs-ZRD4GCTT.js +0 -24
  536. package/dist/cli-bundle/chunks/update-SFLZPJXX.js +0 -30
  537. package/dist/cli-bundle/chunks/update-SJZ6S77U.js +0 -26
  538. package/dist/cli-bundle/chunks/upgrade-HFFXLZJA.js +0 -290
  539. package/dist/cli-bundle/chunks/upgrade-HFFXLZJA.js.map +0 -7
  540. package/dist/cli-bundle/chunks/upgrade-UYQKM7RF.js +0 -287
  541. package/dist/cli-bundle/chunks/upgrade-UYQKM7RF.js.map +0 -1
  542. package/dist/cli-bundle/chunks/validate-PA4FDTOV.js +0 -2143
  543. package/dist/cli-bundle/chunks/validate-PA4FDTOV.js.map +0 -7
  544. package/dist/cli-bundle/chunks/validate-Z7L75YEJ.js +0 -2105
  545. package/dist/cli-bundle/chunks/validate-Z7L75YEJ.js.map +0 -1
  546. /package/dist/cli-bundle/chunks/{activity-4XQIDNM5.js.map → append-F7WPGIQL.js.map} +0 -0
  547. /package/dist/cli-bundle/chunks/{activity-YKAKZTZ4.js.map → append-PVCTBVJG.js.map} +0 -0
  548. /package/dist/cli-bundle/chunks/{chunk-T3ABIMGW.js.map → chunk-2TILG6F2.js.map} +0 -0
  549. /package/dist/cli-bundle/chunks/{chunk-RCT3YJOK.js.map → chunk-3TYOW6RR.js.map} +0 -0
  550. /package/dist/cli-bundle/chunks/{chunk-3JZNEQBA.js.map → chunk-3X542TEY.js.map} +0 -0
  551. /package/dist/cli-bundle/chunks/{chunk-YOF5VPKM.js.map → chunk-7VQ3JJN5.js.map} +0 -0
  552. /package/dist/cli-bundle/chunks/{chunk-P5TFTLWW.js.map → chunk-AGAVEDIE.js.map} +0 -0
  553. /package/dist/cli-bundle/chunks/{chunk-YFIE7YK6.js.map → chunk-AJUON7E6.js.map} +0 -0
  554. /package/dist/cli-bundle/chunks/{chunk-7WYXBPYQ.js.map → chunk-DR2V5OIV.js.map} +0 -0
  555. /package/dist/cli-bundle/chunks/{chunk-PDXT6Q55.js.map → chunk-EDO7VXSO.js.map} +0 -0
  556. /package/dist/cli-bundle/chunks/{chunk-FUM6UMY4.js.map → chunk-EVEPHNXJ.js.map} +0 -0
  557. /package/dist/cli-bundle/chunks/{chunk-RX3HQSYG.js.map → chunk-FN6SB4HU.js.map} +0 -0
  558. /package/dist/cli-bundle/chunks/{chunk-DLQ4ZTCU.js.map → chunk-H2SMKL2N.js.map} +0 -0
  559. /package/dist/cli-bundle/chunks/{chunk-C3PMDWGX.js.map → chunk-HX6QXV5P.js.map} +0 -0
  560. /package/dist/cli-bundle/chunks/{chunk-N6DNM2FA.js.map → chunk-P3MJJW7P.js.map} +0 -0
  561. /package/dist/cli-bundle/chunks/{chunk-5JE6SMYS.js.map → chunk-PDXJXEZJ.js.map} +0 -0
  562. /package/dist/cli-bundle/chunks/{chunk-AAEQMOC6.js.map → chunk-TEKZOS7M.js.map} +0 -0
  563. /package/dist/cli-bundle/chunks/{chunk-NER3KUUS.js.map → chunk-VLEA2UTQ.js.map} +0 -0
  564. /package/dist/cli-bundle/chunks/{chunk-ZMD35NYG.js.map → chunk-WCWVEXGA.js.map} +0 -0
  565. /package/dist/cli-bundle/chunks/{chunk-T35XLYZF.js.map → chunk-YPMZMKN7.js.map} +0 -0
  566. /package/dist/cli-bundle/chunks/{chunk-R3ZBLGTC.js.map → chunk-YTD5GICJ.js.map} +0 -0
  567. /package/dist/cli-bundle/chunks/{chunk-EEY54JMF.js.map → chunk-ZO7CLOY2.js.map} +0 -0
  568. /package/dist/cli-bundle/chunks/{close-3YRR3XY6.js.map → close-3YYQ5OG2.js.map} +0 -0
  569. /package/dist/cli-bundle/chunks/{close-OB2Y4QP5.js.map → close-Z3Q4U7TS.js.map} +0 -0
  570. /package/dist/cli-bundle/chunks/{context-4OQGIPSO.js.map → close-many-3L2RXH3M.js.map} +0 -0
  571. /package/dist/cli-bundle/chunks/{context-WLA6IAWE.js.map → close-many-D366FTIG.js.map} +0 -0
  572. /package/dist/cli-bundle/chunks/{contracts-OJEXMKVW.js.map → comments-54XDJNFE.js.map} +0 -0
  573. /package/dist/cli-bundle/chunks/{contracts-HXJLKCRI.js.map → comments-HGHC2PN6.js.map} +0 -0
  574. /package/dist/cli-bundle/chunks/{create-XWWQFQ6S.js.map → copy-44RT5GDW.js.map} +0 -0
  575. /package/dist/cli-bundle/chunks/{create-WKOZKPQR.js.map → copy-UGMUGHZA.js.map} +0 -0
  576. /package/dist/cli-bundle/chunks/{extension-ZF6ZZPOU.js.map → create-4GWJWPXG.js.map} +0 -0
  577. /package/dist/cli-bundle/chunks/{extension-NBAH62ML.js.map → create-AZXCUYKP.js.map} +0 -0
  578. /package/dist/cli-bundle/chunks/{history-RYKLC72X.js.map → delete-Y6SXIQ4X.js.map} +0 -0
  579. /package/dist/cli-bundle/chunks/{history-SGPYRAFT.js.map → delete-YQ2VPXNF.js.map} +0 -0
  580. /package/dist/cli-bundle/chunks/{history-redact-54ICFKXM.js.map → deps-BU5EBJDU.js.map} +0 -0
  581. /package/dist/cli-bundle/chunks/{history-redact-4H3FCKF3.js.map → deps-FMANWFRP.js.map} +0 -0
  582. /package/dist/cli-bundle/chunks/{init-RPIPQUNV.js.map → docs-OQBSJNIA.js.map} +0 -0
  583. /package/dist/cli-bundle/chunks/{init-SKQAESQS.js.map → docs-VNPBZXEL.js.map} +0 -0
  584. /package/dist/cli-bundle/chunks/{list-64LHZ3HM.js.map → files-72HZEBOE.js.map} +0 -0
  585. /package/dist/cli-bundle/chunks/{list-7LXBTEKI.js.map → files-HTSB2KJG.js.map} +0 -0
  586. /package/dist/cli-bundle/chunks/{restore-YJ2ET6AT.js.map → focus-FOG4ALC2.js.map} +0 -0
  587. /package/dist/cli-bundle/chunks/{restore-PXOFL6AM.js.map → focus-SUTMKXGX.js.map} +0 -0
  588. /package/dist/cli-bundle/chunks/{schema-Y6DXXK2F.js.map → history-compact-M6IFAMBP.js.map} +0 -0
  589. /package/dist/cli-bundle/chunks/{schema-2PUXCZ25.js.map → history-compact-NEXRPP2O.js.map} +0 -0
  590. /package/dist/cli-bundle/chunks/{search-3S72CTD6.js.map → history-redact-NQX3OGZP.js.map} +0 -0
  591. /package/dist/cli-bundle/chunks/{search-WNUNBQXO.js.map → history-redact-WQJBZ3PX.js.map} +0 -0
  592. /package/dist/cli-bundle/chunks/{test-W7QBLVJS.js.map → history-repair-CBHMHAJO.js.map} +0 -0
  593. /package/dist/cli-bundle/chunks/{test-DQ2QFJ7W.js.map → history-repair-NHOJG7WO.js.map} +0 -0
  594. /package/dist/cli-bundle/chunks/{test-runs-ZRD4GCTT.js.map → learnings-M64NTSOR.js.map} +0 -0
  595. /package/dist/cli-bundle/chunks/{test-runs-245OINZR.js.map → learnings-T63JGKKN.js.map} +0 -0
  596. /package/dist/cli-bundle/chunks/{update-SJZ6S77U.js.map → notes-73WE2UV2.js.map} +0 -0
  597. /package/dist/cli-bundle/chunks/{update-SFLZPJXX.js.map → notes-U7L6HQQ2.js.map} +0 -0
@@ -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 toImportBoolean,\n toImportConfidence,\n toImportInteger,\n toImportLinkedDocs,\n toImportLinkedFiles,\n toImportLinkedTests,\n toImportLogEntries,\n toImportNormalizedEnum,\n toImportNumberMap,\n toImportPriority,\n toImportStatus,\n toImportStringList,\n toImportStringMap,\n toImportTags,\n toNonEmptyImportString,\n type CommitImportedItemParams,\n type CommitImportedItemResult,\n type ImportLinkedScope,\n type ImportPriorityValue,\n type ToImportLinkedArtifactsOptions,\n type ToImportLinkedTestsOptions,\n type ToImportLogEntriesOptions,\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":"9ed0f12b-4f84-58a2-86c7-aff1a8b86f0a"}
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 createEmptyExtensionCommandRegistry,\n createEmptyExtensionHookRegistry,\n createEmptyExtensionParserRegistry,\n createEmptyExtensionPreflightRegistry,\n createEmptyExtensionRegistrationRegistry,\n createEmptyExtensionRendererRegistry,\n createEmptyExtensionServiceRegistry,\n} from \"../core/extensions/extension-registries.js\";\nimport {\n activateExtensions,\n deactivateExtensions,\n loadExtensions,\n runActiveCommandHandler,\n setActiveExtensionCommands,\n setActiveExtensionHooks,\n setActiveExtensionParsers,\n setActiveExtensionPreflight,\n setActiveExtensionRegistrations,\n setActiveExtensionRenderers,\n setActiveExtensionServices,\n type ExtensionRegistrationRegistry,\n} from \"../core/extensions/index.js\";\nimport { pathExists } from \"../core/fs/fs-utils.js\";\nimport { resolveItemTypeRegistry } from \"../core/item/type-registry.js\";\nimport { projectMutationResult } from \"../core/output/mutation-projection.js\";\nimport { withQuerySummary } from \"../core/output/query-summary.js\";\nimport type { GlobalOptions } from \"../core/shared/command-types.js\";\nimport { PmCliError } from \"../core/shared/errors.js\";\nimport { asRecordClone } from \"../core/shared/primitives.js\";\nimport { createSerialQueue } from \"../core/shared/serial-queue.js\";\nimport { resolveRuntimeStatusRegistry } from \"../core/schema/runtime-schema.js\";\nimport { getSettingsPath, resolvePmRoot } from \"../core/store/paths.js\";\nimport { readSettings } from \"../core/store/settings.js\";\nimport { normalizeListOptions, normalizeUpdateOptions } from \"../cli/registration-helpers.js\";\nimport { UPDATE_COMMANDER_STRING_OPTION_CONTRACTS } from \"./cli-contracts/commander-mutation-options.js\";\nimport type { PmToolAction } from \"./cli-contracts/enum-contracts.js\";\nimport {\n clearWorkspaceContractsCache,\n memoizeWorkspaceExtensionRegistrations,\n} from \"./workspace-contracts-cache.js\";\nexport { clearWorkspaceContractsCache } from \"./workspace-contracts-cache.js\";\nimport {\n type AggregateOptions,\n type AggregateResult,\n assertHistoryRepairTarget,\n runActivity,\n runAggregate,\n runAppend,\n runClaim,\n runClose,\n runCloseMany,\n runComments,\n runConfig,\n runContext,\n runCopy,\n runCreate,\n runDelete,\n runDeps,\n runDocs,\n runExtension,\n runFiles,\n runFilesDiscover,\n runFocus,\n runGc,\n runGet,\n runHealth,\n runHistory,\n runHistoryCompact,\n runHistoryRedact,\n runHistoryRepair,\n runHistoryRepairAll,\n runInit,\n runLearnings,\n runList,\n runNext,\n runNotes,\n runPlan,\n runProfileApply,\n runProfileLint,\n runProfileList,\n runProfileShow,\n runRestore,\n runRelease,\n runSchemaAddField,\n runSchemaAddStatus,\n runSchemaAddType,\n runSchemaApplyPreset,\n runSchemaInferTypes,\n runSchemaList,\n runSchemaListFields,\n runSchemaRemoveField,\n runSchemaRemoveStatus,\n runSchemaRemoveType,\n runSchemaShow,\n runSchemaShowField,\n runSchemaShowStatus,\n runSearch,\n runStats,\n runTelemetry,\n runTest,\n runTestAll,\n runUpdate,\n runUpdateMany,\n runUpgrade,\n runValidate,\n} from \"../cli/commands/index.js\";\nimport type { ContextOptions, ContextResult } from \"../cli/commands/context.js\";\nimport type { GetOptions, GetResult } from \"../cli/commands/get.js\";\nimport type { CloseManyCommandOptions } from \"../cli/commands/close-many.js\";\nimport {\n runContracts,\n type ContractsCommandOptions,\n type ContractsResult,\n} from \"../cli/commands/contracts.js\";\nimport type { ListOptions, ListResult } from \"../cli/commands/list.js\";\nimport type { NextOptions, NextResult } from \"../cli/commands/next.js\";\nimport type { SearchOptions, SearchResult } from \"../cli/commands/search.js\";\nimport type { StatsCommandOptions, StatsResult } from \"../cli/commands/stats.js\";\nimport { resolveStartTaskInProgressStatus } from \"./start-task-status.js\";\nimport type { UpdateManyCommandOptions } from \"../cli/commands/update-many.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 toImportBoolean,\n toImportConfidence,\n toImportInteger,\n toImportLinkedDocs,\n toImportLinkedFiles,\n toImportLinkedTests,\n toImportLogEntries,\n toImportNormalizedEnum,\n toImportNumberMap,\n toImportPriority,\n toImportStatus,\n toImportStringList,\n toImportStringMap,\n toImportTags,\n toNonEmptyImportString,\n type CommitImportedItemParams,\n type CommitImportedItemResult,\n type ImportLinkedScope,\n type ImportPriorityValue,\n type ToImportLinkedArtifactsOptions,\n type ToImportLinkedTestsOptions,\n type ToImportLogEntriesOptions,\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 runAggregate,\n type AggregateOptions,\n type AggregateResult,\n type AggregateRow,\n} from \"../cli/commands/aggregate.js\";\nexport {\n CONTEXT_OUTPUT_VALUES,\n runContext,\n type BlockerEntry,\n type ContextFocusItem,\n type ContextOptions,\n type ContextOutputFormat,\n type ContextResult,\n type HierarchyChild,\n type HierarchyNode,\n type HotFile,\n type ProgressEntry,\n type RecentContextItem,\n type StaleEntry,\n type TestHealthSummary,\n type WorkloadEntry,\n} from \"../cli/commands/context.js\";\nexport {\n runGet,\n type GetOptions,\n type GetResult,\n} from \"../cli/commands/get.js\";\nexport {\n runList,\n type ListCompactResult,\n type ListedItem,\n type ListOptions,\n type ListResult,\n type ListSortField,\n type ListSortOrder,\n type ListVerboseResult,\n} from \"../cli/commands/list.js\";\nexport {\n NEXT_OUTPUT_VALUES,\n runNext,\n type NextActionableItem,\n type NextBlockerRef,\n type NextOptions,\n type NextOutputFormat,\n type NextRecommendation,\n type NextResult,\n} from \"../cli/commands/next.js\";\nexport {\n runSearch,\n type SearchCompactResult,\n type SearchHit,\n type SearchHitHighlight,\n type SearchMatchMode,\n type SearchOptions,\n type SearchResult,\n type SearchResultItem,\n type SearchVerboseResult,\n} from \"../cli/commands/search.js\";\nexport {\n runStats,\n type StatsCommandOptions,\n type StatsResult,\n} from \"../cli/commands/stats.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 {\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 * Names a native pm action or an extension-contributed action accepted by {@link runAction}.\n */\nexport type PmActionName = PmToolAction | (string & {});\n\n/**\n * Plain object option bag forwarded to the same command runners used by MCP.\n */\nexport type PmActionOptions = Record<string, unknown>;\n\n/**\n * Complete high-level action request for {@link runAction}.\n */\nexport type PmActionInput = PmActionOptions & {\n /** Native or extension-contributed action name to dispatch. */\n action: PmActionName;\n /** Command-runner options forwarded after MCP-compatible normalization. */\n options?: PmActionOptions;\n};\n\n/**\n * Per-call arguments accepted by {@link PmClient.run}. The action name is passed\n * as the first parameter, so an `action` property inside the args bag is rejected\n * at compile time.\n */\nexport type PmClientRunArgs = Omit<PmActionInput, \"action\"> & {\n /**\n * Return full `changed_fields` arrays for mutation actions instead of the\n * default compact `changed_field_count` projection.\n */\n fullChangedFields?: boolean;\n /** Return only mutation item ids when supported by the action. */\n idOnly?: boolean;\n action?: never;\n};\n\n/**\n * Command options accepted by PmClient mutation convenience methods.\n */\nexport type PmClientMutationOptions = PmActionOptions & {\n /**\n * Return full `changed_fields` arrays for this mutation instead of the compact\n * SDK default.\n */\n fullChangedFields?: boolean;\n /** Return only mutation item ids when supported by the action. */\n idOnly?: boolean;\n};\n\n/**\n * Stable defaults applied by {@link PmClient} to every action it runs.\n */\nexport interface PmClientOptions {\n /** Tracker root to pass as the SDK equivalent of `--path`. */\n pmRoot?: string;\n /** Working directory used for workspace and extension resolution. */\n cwd?: string;\n /** Default mutation author forwarded to action options when absent. */\n author?: string;\n /** Disable extension loading for every action this client runs. */\n noExtensions?: boolean;\n}\n\ninterface PmClientDefaults {\n path?: string;\n cwd?: string;\n author?: string;\n noExtensions?: boolean;\n}\n\nfunction splitClientMutationOptions(options: PmClientMutationOptions): PmClientRunArgs {\n const { fullChangedFields, idOnly, ...runnerOptions } = options;\n return {\n ...(fullChangedFields === undefined ? {} : { fullChangedFields }),\n ...(idOnly === undefined ? {} : { idOnly }),\n options: runnerOptions,\n };\n}\n\n/**\n * Programmatic pm client for custom tools, CI jobs, bots, and embedded runtimes.\n *\n * Action execution shares the same process-wide extension activation queue used\n * by MCP. Concurrent calls from one process are serialized across extension\n * load, activation, dispatch, cleanup, and deactivate so active registries cannot\n * interleave.\n *\n * Convenience methods accept command options only. Use {@link PmClient.run} for\n * per-call runtime overrides such as `cwd`, `path`, or `noExtensions`.\n */\nexport class PmClient {\n private readonly defaults: PmClientDefaults;\n\n /**\n * Create a client with workspace, author, and extension-loading defaults.\n */\n constructor(options: PmClientOptions = {}) {\n this.defaults = {\n ...(options.pmRoot === undefined ? {} : { path: options.pmRoot }),\n ...(options.cwd === undefined ? {} : { cwd: options.cwd }),\n ...(options.author === undefined ? {} : { author: options.author }),\n ...(options.noExtensions === undefined ? {} : { noExtensions: options.noExtensions }),\n };\n }\n\n /**\n * Run any native or extension-contributed action through the SDK dispatcher.\n */\n run(action: PmActionName, args: PmClientRunArgs = {}): Promise<unknown> {\n return runAction({ ...this.defaults, ...args, action });\n }\n\n private runTyped<Result>(action: PmActionName, args: PmClientRunArgs = {}): Promise<Result> {\n return this.run(action, args) as Promise<Result>;\n }\n\n /**\n * Return the same context snapshot produced by `pm context`.\n */\n context(options: ContextOptions = {}): Promise<ContextResult> {\n return this.runTyped(\"context\", { options });\n }\n\n /**\n * List items with the MCP/agent compact defaults.\n */\n list(options: ListOptions = {}): Promise<ListResult> {\n return this.runTyped(\"list\", { options });\n }\n\n /**\n * Search items with the MCP/agent compact defaults.\n */\n search(query: string, options: SearchOptions = {}): Promise<SearchResult> {\n return this.runTyped(\"search\", { query, options });\n }\n\n /**\n * Read one item by id.\n */\n get(id: string, options: GetOptions = {}): Promise<GetResult> {\n return this.runTyped(\"get\", { id, options });\n }\n\n /**\n * Return the ranked next-work recommendation produced by `pm next`.\n */\n next(options: NextOptions = {}): Promise<NextResult> {\n return this.runTyped(\"next\", { options });\n }\n\n /**\n * Group matching items with the same semantics as `pm aggregate`.\n */\n aggregate(options: AggregateOptions = {}): Promise<AggregateResult> {\n return this.runTyped(\"aggregate\", { options });\n }\n\n /**\n * Return project tracker statistics with the same sections as `pm stats`.\n */\n stats(options: StatsCommandOptions = {}): Promise<StatsResult> {\n return this.runTyped(\"stats\", { options });\n }\n\n /**\n * Create an item using the same mutation path as `pm create`.\n */\n create(options: PmClientMutationOptions = {}): Promise<unknown> {\n return this.run(\"create\", splitClientMutationOptions(options));\n }\n\n /**\n * Update an item using the same mutation path as `pm update`.\n */\n update(id: string, options: PmClientMutationOptions = {}): Promise<unknown> {\n return this.run(\"update\", { id, ...splitClientMutationOptions(options) });\n }\n\n /**\n * Close an item using the same mutation path as `pm close`.\n */\n close(id: string, reason: string, options: PmClientMutationOptions = {}): Promise<unknown> {\n return this.run(\"close\", { id, reason, ...splitClientMutationOptions(options) });\n }\n\n /**\n * Claim an item using the same mutation path as `pm claim`.\n */\n claim(id: string, options: PmClientMutationOptions = {}): Promise<unknown> {\n return this.run(\"claim\", { id, ...splitClientMutationOptions(options) });\n }\n\n /**\n * Release an item's active claim using the same mutation path as `pm release`.\n */\n release(id: string, options: PmClientMutationOptions = {}): Promise<unknown> {\n return this.run(\"release\", { id, ...splitClientMutationOptions(options) });\n }\n\n /**\n * Copy an item using the same mutation path as `pm copy`.\n */\n copy(id: string, options: PmClientMutationOptions = {}): Promise<unknown> {\n return this.run(\"copy\", { id, ...splitClientMutationOptions(options) });\n }\n\n /**\n * Delete an item using the same mutation path as `pm delete`.\n */\n delete(id: string, options: PmClientMutationOptions = {}): Promise<unknown> {\n return this.run(\"delete\", { id, ...splitClientMutationOptions(options) });\n }\n\n /**\n * Restore an item to a history version or timestamp using `pm restore`.\n */\n restore(id: string, target: string, options: PmClientMutationOptions = {}): Promise<unknown> {\n const { fullChangedFields, idOnly, ...runnerOptions } = options;\n return this.run(\"restore\", {\n ...(fullChangedFields === undefined ? {} : { fullChangedFields }),\n ...(idOnly === undefined ? {} : { idOnly }),\n id,\n options: { ...runnerOptions, target },\n });\n }\n\n /**\n * Set, clear, or read workspace focus using the same path as `pm focus`.\n */\n focus(id?: string, options: PmClientMutationOptions = {}): Promise<unknown> {\n return this.run(\"focus\", { ...(id === undefined ? {} : { id }), ...splitClientMutationOptions(options) });\n }\n\n /**\n * Claim an item and transition it to the workspace in-progress status.\n */\n startTask(id: string, options: PmClientMutationOptions = {}): Promise<unknown> {\n return this.run(\"start-task\", { id, ...splitClientMutationOptions(options) });\n }\n\n /**\n * Move an item back to the workspace open status and release the claim.\n */\n pauseTask(id: string, options: PmClientMutationOptions = {}): Promise<unknown> {\n return this.run(\"pause-task\", { id, ...splitClientMutationOptions(options) });\n }\n\n /**\n * Close an item and release its active assignment.\n */\n closeTask(id: string, reason: string, options: PmClientMutationOptions = {}): Promise<unknown> {\n return this.run(\"close-task\", { id, reason, ...splitClientMutationOptions(options) });\n }\n}\n\n/**\n * Return the same context snapshot produced by `pm context` without constructing\n * a reusable client.\n */\nexport function context(options: ContextOptions = {}, clientOptions: PmClientOptions = {}): Promise<ContextResult> {\n return new PmClient(clientOptions).context(options);\n}\n\n/**\n * List items with the MCP/agent compact defaults without constructing a\n * reusable client.\n */\nexport function list(options: ListOptions = {}, clientOptions: PmClientOptions = {}): Promise<ListResult> {\n return new PmClient(clientOptions).list(options);\n}\n\n/**\n * Search items with the MCP/agent compact defaults without constructing a\n * reusable client.\n */\nexport function search(\n query: string,\n options: SearchOptions = {},\n clientOptions: PmClientOptions = {},\n): Promise<SearchResult> {\n return new PmClient(clientOptions).search(query, options);\n}\n\n/**\n * Read one item by id without constructing a reusable client.\n */\nexport function get(id: string, options: GetOptions = {}, clientOptions: PmClientOptions = {}): Promise<GetResult> {\n return new PmClient(clientOptions).get(id, options);\n}\n\n/**\n * Return the ranked next-work recommendation produced by `pm next` without\n * constructing a reusable client.\n */\nexport function next(options: NextOptions = {}, clientOptions: PmClientOptions = {}): Promise<NextResult> {\n return new PmClient(clientOptions).next(options);\n}\n\n/**\n * Group matching items with the same semantics as `pm aggregate` without\n * constructing a reusable client.\n */\nexport function aggregate(\n options: AggregateOptions = {},\n clientOptions: PmClientOptions = {},\n): Promise<AggregateResult> {\n return new PmClient(clientOptions).aggregate(options);\n}\n\n/**\n * Return project tracker statistics with the same sections as `pm stats`\n * without constructing a reusable client.\n */\nexport function stats(\n options: StatsCommandOptions = {},\n clientOptions: PmClientOptions = {},\n): Promise<StatsResult> {\n return new PmClient(clientOptions).stats(options);\n}\n\n/**\n * Create an item without constructing a reusable client.\n */\nexport function create(options: PmClientMutationOptions = {}, clientOptions: PmClientOptions = {}): Promise<unknown> {\n return new PmClient(clientOptions).create(options);\n}\n\n/**\n * Update an item without constructing a reusable client.\n */\nexport function update(\n id: string,\n options: PmClientMutationOptions = {},\n clientOptions: PmClientOptions = {},\n): Promise<unknown> {\n return new PmClient(clientOptions).update(id, options);\n}\n\n/**\n * Close an item without constructing a reusable client.\n */\nexport function close(\n id: string,\n reason: string,\n options: PmClientMutationOptions = {},\n clientOptions: PmClientOptions = {},\n): Promise<unknown> {\n return new PmClient(clientOptions).close(id, reason, options);\n}\n\n/**\n * Claim an item without constructing a reusable client.\n */\nexport function claim(id: string, options: PmClientMutationOptions = {}, clientOptions: PmClientOptions = {}): Promise<unknown> {\n return new PmClient(clientOptions).claim(id, options);\n}\n\n/**\n * Release an item's active claim without constructing a reusable client.\n */\nexport function release(id: string, options: PmClientMutationOptions = {}, clientOptions: PmClientOptions = {}): Promise<unknown> {\n return new PmClient(clientOptions).release(id, options);\n}\n\n/**\n * Copy an item without constructing a reusable client.\n */\nexport function copy(id: string, options: PmClientMutationOptions = {}, clientOptions: PmClientOptions = {}): Promise<unknown> {\n return new PmClient(clientOptions).copy(id, options);\n}\n\n/**\n * Delete an item without constructing a reusable client.\n */\nexport function deleteItem(id: string, options: PmClientMutationOptions = {}, clientOptions: PmClientOptions = {}): Promise<unknown> {\n return new PmClient(clientOptions).delete(id, options);\n}\n\n/**\n * Restore an item without constructing a reusable client.\n */\nexport function restore(\n id: string,\n target: string,\n options: PmClientMutationOptions = {},\n clientOptions: PmClientOptions = {},\n): Promise<unknown> {\n return new PmClient(clientOptions).restore(id, target, options);\n}\n\n/**\n * Set, clear, or read workspace focus without constructing a reusable client.\n */\nexport function focus(id?: string, options: PmClientMutationOptions = {}, clientOptions: PmClientOptions = {}): Promise<unknown> {\n return new PmClient(clientOptions).focus(id, options);\n}\n\n/**\n * Claim an item and transition it to in-progress without constructing a client.\n */\nexport function startTask(id: string, options: PmClientMutationOptions = {}, clientOptions: PmClientOptions = {}): Promise<unknown> {\n return new PmClient(clientOptions).startTask(id, options);\n}\n\n/**\n * Move an item to open and release it without constructing a client.\n */\nexport function pauseTask(id: string, options: PmClientMutationOptions = {}, clientOptions: PmClientOptions = {}): Promise<unknown> {\n return new PmClient(clientOptions).pauseTask(id, options);\n}\n\n/**\n * Close an item and release its active assignment without constructing a client.\n */\nexport function closeTask(\n id: string,\n reason: string,\n options: PmClientMutationOptions = {},\n clientOptions: PmClientOptions = {},\n): Promise<unknown> {\n return new PmClient(clientOptions).closeTask(id, reason, options);\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 */\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\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 return memoizeWorkspaceExtensionRegistrations(cacheKey, () => loadWorkspaceExtensionRegistrations(pmRoot, settings, cwd));\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\nfunction readString(args: Record<string, unknown>, key: string): string | undefined {\n const value = args[key];\n return typeof value === \"string\" && value.trim().length > 0 ? value : undefined;\n}\n\nfunction readScalarString(args: Record<string, unknown>, key: string): string | undefined {\n const value = args[key];\n if (typeof value === \"string\") {\n return value.trim().length > 0 ? value : undefined;\n }\n return typeof value === \"number\" && Number.isFinite(value) ? String(value) : undefined;\n}\n\nfunction readScalarStringAllowBlank(args: Record<string, unknown>, key: string): string | undefined {\n const value = args[key];\n if (typeof value === \"string\") {\n return value;\n }\n return typeof value === \"number\" && Number.isFinite(value) ? String(value) : undefined;\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return value !== null && typeof value === \"object\" && !Array.isArray(value);\n}\n\n/**\n * Read a required non-empty string from an action argument bag.\n */\nexport function readRequiredString(args: Record<string, unknown>, key: string): string {\n const value = readString(args, key);\n if (!value) {\n throw new PmCliError(`Missing required argument: ${key}`, 64);\n }\n return value;\n}\n\nfunction globalOptions(args: Record<string, unknown>): GlobalOptions {\n return {\n json: true,\n quiet: true,\n path: readString(args, \"path\"),\n noExtensions: args.noExtensions === true || args.no_extensions === true,\n noPager: true,\n };\n}\n\nconst ARRAY_TO_CSV_FIELDS = new Set([\"tags\", \"blockedBy\", \"blocked_by\", \"skills\", \"fields\"]);\n\nconst SCALAR_TO_ARRAY_FIELDS = new Set([\n \"comment\",\n \"note\",\n \"learning\",\n \"reminder\",\n \"event\",\n \"dep\",\n \"depRemove\",\n \"dep_remove\",\n \"file\",\n \"doc\",\n \"test\",\n \"unset\",\n \"addGlob\",\n \"add_glob\",\n \"migrate\",\n \"envSet\",\n \"env_set\",\n \"envClear\",\n \"env_clear\",\n]);\n\n// Actions where the linked-resource fields `add` and `remove` are string[] arrays.\n// For other actions (comments/notes/learnings) `add` and `remove` are scalar strings\n// and must NOT be auto-promoted.\nconst ARRAY_ADD_REMOVE_ACTIONS = new Set([\n \"files\",\n \"files-discover\",\n \"docs\",\n \"test\",\n \"test-all\",\n]);\n\nconst LIFECYCLE_AUTHOR_ALIAS_ACTIONS = new Set([\n \"claim\",\n \"release\",\n \"start-task\",\n \"pause-task\",\n \"close-task\",\n]);\n\nfunction normalizeMcpOptionsArrays(\n options: Record<string, unknown>,\n action?: string,\n): Record<string, unknown> {\n const result: Record<string, unknown> = {};\n const promoteAddRemove = action !== undefined && ARRAY_ADD_REMOVE_ACTIONS.has(action);\n for (const [key, value] of Object.entries(options)) {\n if (Array.isArray(value) && ARRAY_TO_CSV_FIELDS.has(key)) {\n result[key] = value.join(\",\");\n continue;\n }\n if (typeof value === \"string\" && SCALAR_TO_ARRAY_FIELDS.has(key)) {\n result[key] = [value];\n continue;\n }\n if (typeof value === \"string\" && promoteAddRemove && (key === \"add\" || key === \"remove\")) {\n result[key] = [value];\n continue;\n }\n result[key] = value;\n }\n return result;\n}\n\nfunction optionsWithAuthor(args: Record<string, unknown>, action?: string): Record<string, unknown> {\n const baseOptions = asRecordClone(args.options);\n const hoistedTopLevel: Record<string, unknown> = {};\n const hoistKey = (key: string): void => {\n if (baseOptions[key] !== undefined || args[key] === undefined) {\n return;\n }\n hoistedTopLevel[key] = args[key];\n };\n if (action === \"list\") {\n hoistKey(\"status\");\n hoistKey(\"type\");\n hoistKey(\"tag\");\n hoistKey(\"priority\");\n hoistKey(\"limit\");\n hoistKey(\"offset\");\n } else if (action === \"search\") {\n hoistKey(\"mode\");\n hoistKey(\"status\");\n hoistKey(\"type\");\n hoistKey(\"tag\");\n hoistKey(\"priority\");\n hoistKey(\"limit\");\n } else if (action === \"create\") {\n hoistKey(\"title\");\n hoistKey(\"type\");\n hoistKey(\"status\");\n hoistKey(\"description\");\n hoistKey(\"body\");\n hoistKey(\"priority\");\n hoistKey(\"tags\");\n hoistKey(\"parent\");\n hoistKey(\"createMode\");\n hoistKey(\"create_mode\");\n hoistKey(\"allowMissingParent\");\n } else if (action === \"close\") {\n hoistKey(\"duplicateOf\");\n } else if (action === \"append\") {\n // pm-7u9j: the narrow pm_append tool declares `body` top-level; runAppend\n // reads it from options, so hoist unless options.body already wins.\n // (pm_schema/pm_config top-level args are consumed directly by runAction's\n // schema/config cases, which read args before options — no hoist needed.)\n hoistKey(\"body\");\n }\n const options = normalizeMcpOptionsArrays({ ...hoistedTopLevel, ...baseOptions }, action);\n const author = readString(args, \"author\");\n const authorFromAssignee =\n action !== undefined && LIFECYCLE_AUTHOR_ALIAS_ACTIONS.has(action) ? readString(args, \"assignee\") ?? readString(options, \"assignee\") : undefined;\n if (author && options.author === undefined) {\n return { ...options, author };\n }\n if (authorFromAssignee && options.author === undefined) {\n return { ...options, author: authorFromAssignee };\n }\n return options;\n}\n\n// GH-170 (pm-pfnx): the narrow pm_files/pm_docs tools spell the CLI --note flag\n// as `addNote` (the shared `note` parameter is the array-typed create/update\n// note seed). Translate it onto the runner's `note` option; an explicit\n// options.note (pm_run callers) wins.\nfunction withAddNoteOption(options: Record<string, unknown>): Record<string, unknown> {\n if (options.addNote === undefined) {\n return options;\n }\n const next: Record<string, unknown> = { ...options };\n if (next.note === undefined && typeof next.addNote === \"string\") {\n next.note = next.addNote;\n }\n delete next.addNote;\n return next;\n}\n\nfunction withFilesDiscoveryOptions(options: Record<string, unknown>): Record<string, unknown> {\n const next: Record<string, unknown> = { ...options };\n if (next.discoveryNote !== undefined && next.note === undefined && typeof next.discoveryNote === \"string\") {\n next.note = next.discoveryNote;\n }\n delete next.discover;\n delete next.discoveryNote;\n return next;\n}\n\nfunction normalizeActionName(value: string): string {\n const chunks: string[] = [];\n let lastWasSeparator = true;\n for (const character of value.trim().toLowerCase()) {\n const isAlphaNumeric = (character >= \"a\" && character <= \"z\") || (character >= \"0\" && character <= \"9\");\n if (isAlphaNumeric) {\n chunks.push(character);\n lastWasSeparator = false;\n continue;\n }\n if (!lastWasSeparator) {\n chunks.push(\"-\");\n lastWasSeparator = true;\n }\n }\n if (chunks.at(-1) === \"-\") {\n chunks.pop();\n }\n return chunks.join(\"\");\n}\n\nfunction normalizeCommandPath(value: string): string {\n return value.trim().toLowerCase().split(/\\s+/).filter(Boolean).join(\" \");\n}\n\nfunction readStringArray(value: unknown): string[] {\n if (!Array.isArray(value)) {\n return [];\n }\n return value.map((entry) => String(entry)).filter((entry) => entry.length > 0);\n}\n\nfunction extensionOptionsFromArgs(args: Record<string, unknown>, options: Record<string, unknown>): Record<string, unknown> {\n const reserved = new Set([\n \"action\",\n \"args\",\n \"author\",\n \"cwd\",\n \"fullChangedFields\",\n \"id\",\n \"options\",\n \"path\",\n \"query\",\n \"reason\",\n \"target\",\n ]);\n const passthrough: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(args)) {\n if (!reserved.has(key)) {\n passthrough[key] = value;\n }\n }\n const normalizedOptions = { ...passthrough, ...options };\n delete normalizedOptions.args;\n return normalizedOptions;\n}\n\n// pm-bl6m / pm-zumn: every native MCP action runs inside an activation cycle that\n// mutates the process-global active extension registries (set globals -> run -> clear\n// globals in a finally). The stdio transport already processes JSON-RPC lines\n// sequentially, but handleRequest is a public entry point (tests, future concurrent\n// transports) — if two requests ever ran concurrently, the newer one would overwrite\n// the globals mid-flight and whichever finished first would clear them out from under\n// the other (its lazily-read hooks/overrides would silently vanish). Serialize the\n// whole activation cycle (load -> activate -> set -> run -> clear -> deactivate) on a\n// dedicated FIFO queue so the critical section can never interleave. Full\n// request-scoped registry plumbing remains possible later if true intra-server\n// concurrency is ever needed.\nconst extensionActivationQueue = createSerialQueue();\n\ntype ExtensionActivationResult = Awaited<ReturnType<typeof activateExtensions>>;\n\n/**\n * The active extension runtime exposed to an action while it executes: the merged\n * registration registry (custom item types, fields, profiles) plus the command handler\n * registry used to dispatch extension-contributed actions. `null` when extensions are\n * disabled, no workspace exists yet, or activation failed (see {@link withActiveExtensions}).\n */\ntype ActiveExtensionRuntime = {\n registrations: ExtensionActivationResult[\"registrations\"];\n commands: ExtensionActivationResult[\"commands\"];\n pmRoot: string;\n};\n\n/**\n * Publishes empty active extension registries so built-in fallback actions cannot\n * observe stale or partially published extension state from a failed activation cycle.\n */\nfunction resetActiveExtensionRegistries(): void {\n setActiveExtensionHooks(createEmptyExtensionHookRegistry());\n setActiveExtensionCommands(createEmptyExtensionCommandRegistry());\n setActiveExtensionParsers(createEmptyExtensionParserRegistry());\n setActiveExtensionPreflight(createEmptyExtensionPreflightRegistry());\n setActiveExtensionServices(createEmptyExtensionServiceRegistry());\n setActiveExtensionRenderers(createEmptyExtensionRendererRegistry());\n setActiveExtensionRegistrations(createEmptyExtensionRegistrationRegistry());\n}\n\n/**\n * Run `run` with workspace extensions loaded, activated, and published to the\n * process-global active registries, then torn down afterwards. pm-zumn: built-in native\n * actions (pm_list/pm_profile/pm_schema/pm_create/...) read\n * `getActiveExtensionRegistrations()` for custom item types, fields, and profiles, so\n * they must activate extensions exactly like the CLI (main.ts activates for every\n * command). Previously only the dynamic-extension dispatch activated, leaving\n * extension-contributed schema and profiles invisible over MCP for every built-in\n * action. Activation is skipped (`run` receives `null`) when extensions are disabled or\n * no workspace exists yet (for example `init`). EVERY action — activating or not — is\n * serialized on {@link extensionActivationQueue} so a built-in action's reads of the\n * process-global active registries can never interleave with another request's\n * activation cycle; per-request isolation therefore holds even if a truly concurrent\n * transport is added later (not just because the stdio transport is sequential today).\n */\nasync function withActiveExtensions<T>(\n global: GlobalOptions,\n explicitCwd: string | undefined,\n resolutionCwd: string,\n run: (active: ActiveExtensionRuntime | null) => Promise<T>,\n): Promise<T> {\n // Run the whole cycle on the queue so registry mutations never interleave. Only an\n // EXPLICIT cwd mutates process.cwd() — pinned inside this serialized slot so the chdir\n // can't be clobbered mid-flight and the built-in handler resolves against it too. A\n // request without an explicit cwd runs in the server's current directory and never\n // touches process.cwd() (important so concurrent direct callers can't corrupt a shared\n // cwd). Either way activation resolves against resolutionCwd, the entry-time snapshot,\n // so it never depends on a deferred process.cwd() read.\n return extensionActivationQueue.enqueue(async () =>\n explicitCwd === undefined\n ? await withActiveExtensionsExclusively(global, resolutionCwd, run)\n : await withCwd(explicitCwd, () => withActiveExtensionsExclusively(global, resolutionCwd, run)),\n );\n}\n\n/**\n * Body of the activation cycle. Must only ever run under {@link extensionActivationQueue}\n * (see {@link withActiveExtensions}): it is the exclusive owner of the process-global\n * active extension registries while it runs. Returns early with `run(null)` — still\n * inside the serialized critical section — when extensions are disabled or no workspace\n * exists yet, so those built-in actions also observe a stable (empty) registry. MCP and\n * PmClient callers reload + reactivate extensions per request, so each call is a fresh\n * cycle with teardown in a finally to release resources opened during activate() (the\n * long-running-server reload contract, pm-k1e4). Load/activate failures are swallowed and\n * `run` is invoked with `null`, mirroring the CLI's resilient snapshot loader\n * (loadRuntimeExtensionSnapshot) so a broken extension can never break a built-in action.\n */\nasync function withActiveExtensionsExclusively<T>(\n global: GlobalOptions,\n cwd: string,\n run: (active: ActiveExtensionRuntime | null) => Promise<T>,\n): Promise<T> {\n if (global.noExtensions) {\n resetActiveExtensionRegistries();\n return run(null);\n }\n const pmRoot = resolvePmRoot(cwd, global.path);\n if (!(await pathExists(getSettingsPath(pmRoot)))) {\n resetActiveExtensionRegistries();\n return run(null);\n }\n let active: ActiveExtensionRuntime | null = null;\n let activated: { loadResult: Awaited<ReturnType<typeof loadExtensions>>; activationResult: ExtensionActivationResult } | undefined;\n try {\n const settings = await readSettings(pmRoot);\n const loadResult = await loadExtensions({ pmRoot, settings, cwd, noExtensions: false });\n const activationResult = await activateExtensions({ ...loadResult, loaded: loadResult.loaded });\n // Record the teardown handle BEFORE publishing the registries so a throw from any\n // setActive* setter still runs deactivateExtensions for resources opened during\n // activate() instead of silently leaking them.\n activated = { loadResult, activationResult };\n setActiveExtensionHooks(activationResult.hooks);\n setActiveExtensionCommands(activationResult.commands);\n setActiveExtensionParsers(activationResult.parsers);\n setActiveExtensionPreflight(activationResult.preflight);\n setActiveExtensionServices(activationResult.services);\n setActiveExtensionRenderers(activationResult.renderers);\n setActiveExtensionRegistrations(activationResult.registrations);\n active = { registrations: activationResult.registrations, commands: activationResult.commands, pmRoot };\n } catch (error) {\n resetActiveExtensionRegistries();\n // CLI parity (loadRuntimeExtensionSnapshot): a load/activate failure must never\n // break a built-in action — fall back to running with no active extensions. Surface\n // the cause on stderr so a broken extension is diagnosable instead of being silently\n // indistinguishable from a workspace that simply has no extensions.\n console.error(\"[pm-sdk] extension activation failed; continuing without active extensions:\", error);\n }\n try {\n return await run(active);\n } finally {\n // Reset the process-global active registries FIRST so a torn-down extension's\n // overrides/hooks cannot leak into a later request in this long-running server\n // (for example a subsequent pm_list/pm_create) even if teardown below misbehaves.\n resetActiveExtensionRegistries();\n // Best-effort teardown of extensions that activated successfully. Skipped when\n // activation never completed (nothing was set up); guarded so an unexpected throw\n // cannot escape the finally.\n if (activated) {\n await deactivateExtensions(activated.loadResult, activated.activationResult).catch(() => undefined);\n }\n }\n}\n\n/**\n * Resolve `action` against the active extension command registrations and dispatch it.\n * Reached by runAction's default case for dynamic (non-built-in) actions after\n * {@link withActiveExtensions} has published the active registries. `active` is `null`\n * when no extensions are active (disabled, no workspace, or activation failed), in\n * which case no extension command can match and the action is reported unsupported.\n */\nasync function dispatchActiveExtensionAction(\n action: string,\n args: Record<string, unknown>,\n options: Record<string, unknown>,\n global: GlobalOptions,\n active: ActiveExtensionRuntime | null,\n): Promise<unknown> {\n if (!active) {\n throw new PmCliError(`Unsupported native pm action: ${action}`, 64);\n }\n const normalizedAction = normalizeActionName(action);\n const definition = active.registrations.commands.find((entry) => normalizeActionName(entry.action) === normalizedAction);\n const command = definition?.command ??\n active.commands.handlers.find((entry) => normalizeActionName(entry.command) === normalizedAction)?.command;\n if (!command) {\n throw new PmCliError(`Unsupported native pm action: ${action}`, 64);\n }\n const handlerResult = await runActiveCommandHandler({\n command: normalizeCommandPath(command),\n args: readStringArray(options.args ?? args.args),\n options: extensionOptionsFromArgs(args, options),\n global,\n pm_root: active.pmRoot,\n });\n if (!handlerResult.handled) {\n const suffix = handlerResult.warnings.length > 0 ? ` (${handlerResult.warnings.join(\", \")})` : \"\";\n throw new PmCliError(`Unsupported native pm action: ${action}${suffix}`, 64);\n }\n return handlerResult.result;\n}\n\nasync function withCwd<T>(cwd: string, run: () => Promise<T>): Promise<T> {\n // Only ever called with an explicit, non-empty cwd (readString filters blanks), from\n // inside the serialized activation queue, so the chdir/restore is exclusive per request\n // and can never be clobbered by a concurrent caller.\n const previous = process.cwd();\n process.chdir(cwd);\n try {\n return await run();\n } finally {\n process.chdir(previous);\n }\n}\n\n/**\n * Mutation tools (create/update/close/append/update-many) return a verbose\n * `changed_fields` array. On the agent path we drop it to a `changed_field_count`\n * by default for token efficiency, restoring the full array only when the caller\n * explicitly passes the MCP-level fullChangedFields=true control. Mutation options\n * are forwarded unchanged so runtime fields named `full` remain valid user data.\n */\nfunction withMutationCompaction(args: Record<string, unknown>, options?: Record<string, unknown> | null): {\n changedFields: \"full\" | \"compact\";\n idOnly: boolean;\n runnerOptions: Record<string, unknown>;\n} {\n return { changedFields: args.fullChangedFields === true ? \"full\" : \"compact\", idOnly: args.idOnly === true, runnerOptions: { ...options } };\n}\n\nfunction mutationListOptions(options: Record<string, unknown>): ListOptions {\n return {\n type: readScalarString(options, \"filterType\"),\n tag: readScalarString(options, \"filterTag\"),\n priority: readScalarString(options, \"filterPriority\"),\n deadlineBefore: readScalarString(options, \"filterDeadlineBefore\"),\n deadlineAfter: readScalarString(options, \"filterDeadlineAfter\"),\n updatedAfter: readScalarString(options, \"filterUpdatedAfter\"),\n updatedBefore: readScalarString(options, \"filterUpdatedBefore\"),\n createdAfter: readScalarString(options, \"filterCreatedAfter\"),\n createdBefore: readScalarString(options, \"filterCreatedBefore\"),\n ids: readScalarStringAllowBlank(options, \"ids\"),\n assignee: readScalarString(options, \"filterAssignee\"),\n assigneeFilter: readScalarString(options, \"filterAssigneeFilter\") ?? readScalarString(options, \"filterAssignee_filter\"),\n parent: readScalarString(options, \"filterParent\"),\n sprint: readScalarString(options, \"filterSprint\"),\n release: readScalarString(options, \"filterRelease\"),\n limit: readScalarString(options, \"limit\"),\n offset: readScalarString(options, \"offset\"),\n };\n}\n\nfunction closeManyOptionsFromFlat(options: Record<string, unknown>): CloseManyCommandOptions {\n return {\n status: readString(options, \"filterStatus\"),\n list: isRecord(options.list) ? normalizeListOptions(options.list) : mutationListOptions(options),\n reason: readString(options, \"reason\"),\n resolution: readString(options, \"resolution\"),\n expectedResult: readString(options, \"expectedResult\") ?? readString(options, \"expected_result\") ?? readString(options, \"expected\"),\n actualResult: readString(options, \"actualResult\") ?? readString(options, \"actual_result\") ?? readString(options, \"actual\"),\n validateClose: readString(options, \"validateClose\") ?? readString(options, \"validate_close\"),\n author: readString(options, \"author\"),\n message: readString(options, \"message\"),\n force: options.force === true ? true : undefined,\n dryRun: options.dryRun === true || options.dry_run === true ? true : undefined,\n rollback: readString(options, \"rollback\"),\n checkpoint: options.checkpoint === false || options.noCheckpoint === true || options.no_checkpoint === true ? false : undefined,\n };\n}\n\nconst UPDATE_MANY_FLAT_CONTROL_KEYS = new Set([\n \"filterStatus\",\n \"filterType\",\n \"filterTag\",\n \"filterPriority\",\n \"filterDeadlineBefore\",\n \"filterDeadlineAfter\",\n \"filterUpdatedAfter\",\n \"filterUpdatedBefore\",\n \"filterCreatedAfter\",\n \"filterCreatedBefore\",\n \"filterAssignee\",\n \"filterAssigneeFilter\",\n \"filterAssignee_filter\",\n \"filterParent\",\n \"filterSprint\",\n \"filterRelease\",\n \"ids\",\n \"list\",\n \"update\",\n \"limit\",\n \"offset\",\n \"dryRun\",\n \"dry_run\",\n \"rollback\",\n \"checkpoint\",\n \"noCheckpoint\",\n \"no_checkpoint\",\n]);\n\nfunction updateManyUpdateOptionsFromFlat(options: Record<string, unknown>): Record<string, unknown> {\n const update: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(options)) {\n if (UPDATE_MANY_FLAT_CONTROL_KEYS.has(key)) {\n continue;\n }\n update[key] = value;\n }\n return normalizeMcpUpdateOptions(update);\n}\n\nfunction normalizeMcpUpdateOptions(options: Record<string, unknown>): Record<string, unknown> {\n const normalizedInput: Record<string, unknown> = normalizeMcpOptionsArrays(options, \"update-many\");\n for (const contract of UPDATE_COMMANDER_STRING_OPTION_CONTRACTS) {\n for (const key of contract.keys) {\n const value = normalizedInput[key];\n if (typeof value === \"number\" && Number.isFinite(value)) {\n normalizedInput[key] = String(value);\n }\n }\n }\n return normalizeUpdateOptions(normalizedInput);\n}\n\nfunction updateManyOptionsFromFlat(options: Record<string, unknown>): UpdateManyCommandOptions {\n if (isRecord(options.list) || isRecord(options.update)) {\n const updateSource = isRecord(options.update) ? options.update : updateManyUpdateOptionsFromFlat(options);\n return {\n status: readScalarString(options, \"filterStatus\"),\n list: isRecord(options.list) ? normalizeListOptions(options.list) : mutationListOptions(options),\n update: normalizeMcpUpdateOptions(updateSource) as never,\n dryRun: options.dryRun === true || options.dry_run === true ? true : undefined,\n rollback: readString(options, \"rollback\"),\n checkpoint: options.checkpoint === false || options.noCheckpoint === true || options.no_checkpoint === true ? false : undefined,\n };\n }\n return {\n status: readScalarString(options, \"filterStatus\"),\n list: mutationListOptions(options),\n update: updateManyUpdateOptionsFromFlat(options) as never,\n dryRun: options.dryRun === true || options.dry_run === true ? true : undefined,\n rollback: readString(options, \"rollback\"),\n checkpoint: options.checkpoint === false || options.noCheckpoint === true || options.no_checkpoint === true ? false : undefined,\n };\n}\n\nconst WORKSPACE_CONTRACTS_CACHE_PRESERVING_ACTIONS = new Set([\n \"activity\",\n \"aggregate\",\n \"context\",\n \"contracts\",\n \"deps\",\n \"files-discover\",\n \"get\",\n \"health\",\n \"history\",\n \"list\",\n \"next\",\n \"search\",\n \"stats\",\n \"telemetry\",\n \"validate\",\n]);\n\ninterface SdkActionAlias {\n action: string;\n options?: Record<string, unknown>;\n}\n\nconst LIST_ACTION_ALIASES: Record<string, SdkActionAlias> = {\n \"list-all\": { action: \"list\", options: { excludeTerminal: false } },\n \"list-draft\": { action: \"list\", options: { status: \"draft\", excludeTerminal: false } },\n \"list-open\": { action: \"list\", options: { status: \"open\", excludeTerminal: false } },\n \"list-in-progress\": { action: \"list\", options: { status: \"in_progress\", excludeTerminal: false } },\n \"list-blocked\": { action: \"list\", options: { status: \"blocked\", excludeTerminal: false } },\n \"list-closed\": { action: \"list\", options: { status: \"closed\", excludeTerminal: false } },\n \"list-canceled\": { action: \"list\", options: { status: \"canceled\", excludeTerminal: false } },\n};\n\nconst EXTENSION_ACTION_ALIASES: Record<string, SdkActionAlias> = {\n \"extension-init\": { action: \"extension\", options: { init: true } },\n \"extension-install\": { action: \"extension\", options: { install: true } },\n \"extension-uninstall\": { action: \"extension\", options: { uninstall: true } },\n \"extension-explore\": { action: \"extension\", options: { explore: true } },\n \"extension-manage\": { action: \"extension\", options: { manage: true } },\n \"extension-describe\": { action: \"extension\", options: { describe: true } },\n \"extension-reload\": { action: \"extension\", options: { reload: true } },\n \"extension-doctor\": { action: \"extension\", options: { doctor: true } },\n \"extension-catalog\": { action: \"extension\", options: { catalog: true } },\n \"extension-adopt\": { action: \"extension\", options: { adopt: true } },\n \"extension-adopt-all\": { action: \"extension\", options: { adoptAll: true } },\n \"extension-activate\": { action: \"extension\", options: { activate: true } },\n \"extension-deactivate\": { action: \"extension\", options: { deactivate: true } },\n};\n\nconst PACKAGE_ACTION_ALIASES: Record<string, SdkActionAlias> = {\n \"package-init\": { action: \"package\", options: { init: true, vocabulary: \"package\" } },\n \"package-install\": { action: \"package\", options: { install: true, vocabulary: \"package\" } },\n \"package-uninstall\": { action: \"package\", options: { uninstall: true, vocabulary: \"package\" } },\n \"package-explore\": { action: \"package\", options: { explore: true, vocabulary: \"package\" } },\n \"package-manage\": { action: \"package\", options: { manage: true, vocabulary: \"package\" } },\n \"package-describe\": { action: \"package\", options: { describe: true, vocabulary: \"package\" } },\n \"package-reload\": { action: \"package\", options: { reload: true, vocabulary: \"package\" } },\n \"package-doctor\": { action: \"package\", options: { doctor: true, vocabulary: \"package\" } },\n \"package-catalog\": { action: \"package\", options: { catalog: true, vocabulary: \"package\" } },\n \"package-adopt\": { action: \"package\", options: { adopt: true, vocabulary: \"package\" } },\n \"package-adopt-all\": { action: \"package\", options: { adoptAll: true, vocabulary: \"package\" } },\n \"package-activate\": { action: \"package\", options: { activate: true, vocabulary: \"package\" } },\n \"package-deactivate\": { action: \"package\", options: { deactivate: true, vocabulary: \"package\" } },\n};\n\nconst SDK_ACTION_ALIASES: Record<string, SdkActionAlias> = {\n ctx: { action: \"context\" },\n ...LIST_ACTION_ALIASES,\n ...EXTENSION_ACTION_ALIASES,\n ...PACKAGE_ACTION_ALIASES,\n};\n\nfunction resolveSdkActionInput(args: PmActionInput): { action: string; args: Record<string, unknown> } {\n const rawAction = readRequiredString(args, \"action\");\n const normalizedAction = normalizeActionName(rawAction);\n const alias = getOwnHandler(SDK_ACTION_ALIASES, normalizedAction);\n const action = alias?.action ?? normalizedAction;\n const resolvedArgs: Record<string, unknown> = { ...args, action };\n if (alias?.options !== undefined) {\n resolvedArgs.options = { ...alias.options, ...asRecordClone(args.options) };\n }\n return { action, args: resolvedArgs };\n}\n\nfunction shouldInvalidateWorkspaceContractsCacheAfterAction(action: string): boolean {\n return !WORKSPACE_CONTRACTS_CACHE_PRESERVING_ACTIONS.has(normalizeActionName(action));\n}\n\n/**\n * Execute one native or extension-contributed pm action in-process.\n */\nexport async function runAction(args: PmActionInput): Promise<unknown> {\n const resolved = resolveSdkActionInput(args);\n const global = globalOptions(resolved.args);\n const invalidateWorkspaceContractsCache = shouldInvalidateWorkspaceContractsCacheAfterAction(resolved.action);\n // pm-zumn: dispatch every action (built-in and dynamic) inside one extension\n // activation cycle so built-in actions see extension-contributed item types, fields,\n // and profiles, consistent with the CLI. Snapshot the effective resolution cwd HERE,\n // at request entry (the explicit args.cwd, else the server's current directory), so the\n // queued cycle resolves against the directory the request arrived in rather than a value\n // process.cwd() might hold by the time the task runs. Only an explicit cwd additionally\n // pins process.cwd() (inside the serialized slot) for the built-in handler.\n const explicitCwd = readString(resolved.args, \"cwd\");\n const resolutionCwd = explicitCwd ?? process.cwd();\n try {\n return await withActiveExtensions(global, explicitCwd, resolutionCwd, (activeExtensions) =>\n dispatchAction(resolved.action, resolved.args, global, activeExtensions),\n );\n } finally {\n if (invalidateWorkspaceContractsCache) {\n clearWorkspaceContractsCache();\n }\n }\n}\n\ninterface McpActionDispatchContext {\n action: string;\n args: Record<string, unknown>;\n options: Record<string, unknown>;\n id: string | undefined;\n force: boolean;\n global: GlobalOptions;\n activeExtensions: ActiveExtensionRuntime | null;\n}\n\ntype McpActionHandler = (ctx: McpActionDispatchContext) => Promise<unknown> | unknown;\n\nfunction getOwnHandler<T>(handlers: Readonly<Record<string, T>>, key: string): T | undefined {\n return Object.prototype.hasOwnProperty.call(handlers, key) ? handlers[key] : undefined;\n}\n\nfunction readMcpTarget(ctx: McpActionDispatchContext): string | undefined {\n return readString(ctx.args, \"target\") ?? readString(ctx.options, \"target\");\n}\n\nfunction requireMcpItemId(ctx: McpActionDispatchContext, source: Record<string, unknown> = ctx.options): string {\n return ctx.id ?? readRequiredString(source, \"id\");\n}\n\nasync function runMcpListAction(ctx: McpActionDispatchContext): Promise<unknown> {\n const listOptions: Record<string, unknown> = { ...ctx.options };\n if (\n listOptions.compact === undefined &&\n listOptions.brief === undefined &&\n listOptions.fields === undefined &&\n listOptions.includeBody === undefined\n ) {\n listOptions.compact = true;\n }\n // pm-rmjy: echo applied filters + projection mode so agents get structured confirmation.\n return withQuerySummary(\n (await runList(\n readString(ctx.args, \"status\") ?? readString(listOptions, \"status\"),\n listOptions as never,\n ctx.global,\n )) as unknown as Record<string, unknown>,\n listOptions,\n );\n}\n\nasync function runMcpSearchAction(ctx: McpActionDispatchContext): Promise<unknown> {\n const searchOptions: Parameters<typeof runSearch>[1] = { ...ctx.options };\n if (searchOptions.compact === undefined && searchOptions.full === undefined && searchOptions.fields === undefined) {\n searchOptions.compact = true;\n }\n return withQuerySummary(\n (await runSearch(readRequiredString(ctx.args, \"query\"), searchOptions, ctx.global)) as unknown as Record<string, unknown>,\n searchOptions as Record<string, unknown>,\n );\n}\n\nasync function runMcpCreateAction(ctx: McpActionDispatchContext): Promise<unknown> {\n const { changedFields, idOnly, runnerOptions } = withMutationCompaction(ctx.args, ctx.options);\n return projectMutationResult(await runCreate(runnerOptions as never, ctx.global), { changedFields, idOnly });\n}\n\nasync function runMcpCopyAction(ctx: McpActionDispatchContext): Promise<unknown> {\n const { changedFields, idOnly, runnerOptions } = withMutationCompaction(ctx.args, ctx.options);\n const copyOptions: Record<string, unknown> = {\n ...runnerOptions,\n ...(runnerOptions.title === undefined && typeof ctx.args.title === \"string\" ? { title: ctx.args.title } : {}),\n ...(runnerOptions.message === undefined && typeof ctx.args.message === \"string\" ? { message: ctx.args.message } : {}),\n };\n return projectMutationResult(await runCopy(requireMcpItemId(ctx, copyOptions), copyOptions as never, ctx.global), {\n changedFields,\n idOnly,\n });\n}\n\nasync function runMcpUpdateAction(ctx: McpActionDispatchContext): Promise<unknown> {\n const { changedFields, idOnly, runnerOptions } = withMutationCompaction(ctx.args, ctx.options);\n return projectMutationResult(await runUpdate(requireMcpItemId(ctx, runnerOptions), runnerOptions as never, ctx.global), {\n changedFields,\n idOnly,\n });\n}\n\nasync function runMcpCloseAction(ctx: McpActionDispatchContext): Promise<unknown> {\n const { changedFields, idOnly, runnerOptions } = withMutationCompaction(ctx.args, ctx.options);\n const closeReason =\n readString(ctx.args, \"reason\") ??\n readString(ctx.args, \"text\") ??\n readString(runnerOptions, \"reason\") ??\n readString(runnerOptions, \"text\");\n return projectMutationResult(\n await runClose(requireMcpItemId(ctx, runnerOptions), closeReason, runnerOptions as never, ctx.global),\n { changedFields, idOnly },\n );\n}\n\nfunction runMcpCommentsAction(ctx: McpActionDispatchContext): Promise<unknown> {\n const commentOptions: Record<string, unknown> = { ...ctx.options };\n const isListing =\n commentOptions.add === undefined &&\n commentOptions.stdin === undefined &&\n commentOptions.file === undefined &&\n commentOptions.edit === undefined &&\n commentOptions.delete === undefined;\n if (isListing) {\n commentOptions.includeMeta = true;\n if (commentOptions.limit === undefined && commentOptions.full !== true) {\n commentOptions.limit = \"20\";\n }\n }\n delete commentOptions.full;\n return runComments(requireMcpItemId(ctx), commentOptions, ctx.global);\n}\n\nfunction runMcpFilesAction(ctx: McpActionDispatchContext): Promise<unknown> {\n const fileId = requireMcpItemId(ctx);\n return ctx.options.discover === true\n ? runFilesDiscover(fileId, withFilesDiscoveryOptions(ctx.options), ctx.global)\n : runFiles(fileId, withAddNoteOption(ctx.options), ctx.global);\n}\n\nfunction runMcpTelemetryAction(ctx: McpActionDispatchContext): Promise<unknown> {\n return runTelemetry(\n {\n subcommand: readString(ctx.args, \"subcommand\") ?? readString(ctx.options, \"subcommand\"),\n limit: resolveMcpTelemetryLimit(ctx.args, ctx.options),\n },\n ctx.global,\n );\n}\n\nfunction resolveMcpTelemetryLimit(args: Record<string, unknown>, options: Record<string, unknown>): number | string | undefined {\n if (typeof args.limit === \"number\" && Number.isFinite(args.limit)) {\n return args.limit;\n }\n if (typeof options.limit === \"number\" && Number.isFinite(options.limit)) {\n return options.limit;\n }\n return readString(args, \"limit\") ?? readString(options, \"limit\");\n}\n\nfunction runMcpHealthAction(ctx: McpActionDispatchContext): Promise<unknown> {\n const healthOptions: Record<string, unknown> = { ...ctx.options };\n if (healthOptions.brief === undefined && healthOptions.summary === undefined && healthOptions.full === undefined) {\n healthOptions.summary = true;\n }\n return runHealth(ctx.global, healthOptions as never);\n}\n\nfunction runMcpConfigAction(ctx: McpActionDispatchContext): Promise<unknown> {\n const configAction =\n readString(ctx.args, \"configAction\") ?? readString(ctx.options, \"configAction\") ?? readString(ctx.options, \"action\");\n if (configAction === undefined) {\n throw new PmCliError(\"Missing required argument: configAction\", 64);\n }\n return runConfig(\n readString(ctx.args, \"scope\") ?? readString(ctx.options, \"scope\") ?? \"project\",\n configAction,\n readString(ctx.args, \"key\") ?? readString(ctx.options, \"key\"),\n ctx.options,\n ctx.global,\n readString(ctx.args, \"value\") ?? readString(ctx.options, \"value\"),\n );\n}\n\nfunction runMcpActivityAction(ctx: McpActionDispatchContext): Promise<unknown> {\n const activityOptions = { ...ctx.options } as Parameters<typeof runActivity>[0] & { full?: unknown };\n if (activityOptions.compact === undefined) {\n activityOptions.compact = activityOptions.full === true ? false : true;\n }\n delete activityOptions.full;\n return runActivity(activityOptions, ctx.global);\n}\n\nfunction runMcpHistoryRepairAction(ctx: McpActionDispatchContext): Promise<unknown> {\n const repairAll = ctx.options.all === true;\n const repairId = ctx.id ?? readString(ctx.options, \"id\");\n assertHistoryRepairTarget(repairId, repairAll);\n return repairAll ? runHistoryRepairAll(ctx.options, ctx.global) : runHistoryRepair(repairId as string, ctx.options, ctx.global);\n}\n\nfunction parseMcpInteger(value: unknown, label: string): number | undefined {\n if (typeof value === \"number\") {\n if (!Number.isInteger(value)) {\n throw new PmCliError(`${label} must be a finite integer.`, 64);\n }\n return value;\n }\n if (typeof value === \"string\" && value.trim().length > 0) {\n const parsed = Number(value);\n if (!Number.isInteger(parsed)) {\n throw new PmCliError(`${label} must be a finite integer.`, 64);\n }\n return parsed;\n }\n return undefined;\n}\n\nfunction parseMcpIntegerPrefix(value: unknown, label: string): number | undefined {\n if (typeof value === \"number\") {\n if (!Number.isFinite(value) || !Number.isInteger(value)) {\n throw new PmCliError(`${label} must be a finite integer.`, 64);\n }\n return value;\n }\n if (typeof value === \"string\" && value.trim().length > 0) {\n const trimmed = value.trim();\n if (!/^[+-]?\\d+(?:st|nd|rd|th)?$/i.test(trimmed)) {\n throw new PmCliError(`${label} must be a finite integer.`, 64);\n }\n const parsed = Number.parseInt(trimmed, 10);\n if (!Number.isInteger(parsed)) {\n throw new PmCliError(`${label} must be a finite integer.`, 64);\n }\n return parsed;\n }\n return undefined;\n}\n\nfunction runMcpPlanAction(ctx: McpActionDispatchContext): Promise<unknown> {\n const subcommand = readString(ctx.args, \"subcommand\") ?? readRequiredString(ctx.options, \"subcommand\");\n const planRecord = ctx.options as Record<string, unknown>;\n return runPlan({\n subcommand: subcommand as never,\n id: typeof ctx.id === \"string\" ? ctx.id : typeof planRecord.id === \"string\" ? (planRecord.id as string) : undefined,\n stepRef: readMcpPlanStepRef(ctx),\n reorderTo: parseMcpIntegerPrefix(planRecord.reorderTo ?? ctx.args.reorderTo, \"plan reorderTo\"),\n options: ctx.options as never,\n global: ctx.global,\n });\n}\n\nfunction readMcpPlanStepRef(ctx: McpActionDispatchContext): string | undefined {\n return typeof ctx.options.stepRef === \"string\"\n ? (ctx.options.stepRef as string)\n : typeof ctx.args.stepRef === \"string\"\n ? (ctx.args.stepRef as string)\n : undefined;\n}\n\ninterface McpSchemaContext {\n ctx: McpActionDispatchContext;\n subcommand: string;\n name: string | undefined;\n author: string | undefined;\n force: boolean;\n aliases: string[] | undefined;\n}\n\nfunction createMcpSchemaContext(ctx: McpActionDispatchContext): McpSchemaContext {\n const subcommand = readString(ctx.args, \"subcommand\") ?? readRequiredString(ctx.options, \"subcommand\");\n const aliasSource = ctx.args.alias ?? ctx.options.alias;\n return {\n ctx,\n subcommand: subcommand.trim().toLowerCase(),\n name: readString(ctx.args, \"name\") ?? readString(ctx.options, \"name\"),\n author: readString(ctx.args, \"author\") ?? readString(ctx.options, \"author\"),\n force: ctx.args.force === true || ctx.options.force === true,\n aliases: aliasSource === undefined ? undefined : readStringArray(aliasSource),\n };\n}\n\nfunction runMcpSchemaReadOrRemoveAction(schema: McpSchemaContext): Promise<unknown> | unknown | null {\n const { ctx, subcommand, name, author, force } = schema;\n const simpleHandlers: Record<string, () => Promise<unknown> | unknown> = {\n list: () => runSchemaList(ctx.global),\n show: () => runSchemaShow(name, ctx.global),\n \"show-status\": () => runSchemaShowStatus(name, ctx.global),\n \"list-fields\": () => runSchemaListFields(ctx.global),\n \"show-field\": () => runSchemaShowField(name, ctx.global),\n \"remove-type\": () => runSchemaRemoveType(name, { author, force }, ctx.global),\n \"remove-field\": () => runSchemaRemoveField(name, { author, force }, ctx.global),\n \"remove-status\": () => runSchemaRemoveStatus(name, { author, force }, ctx.global),\n \"apply-preset\": () =>\n runSchemaApplyPreset(readString(ctx.args, \"typePreset\") ?? readString(ctx.options, \"typePreset\"), { author, force }, ctx.global),\n };\n const handler = getOwnHandler(simpleHandlers, subcommand);\n return handler ? handler() : null;\n}\n\nfunction runMcpSchemaAddFieldAction(schema: McpSchemaContext): Promise<unknown> {\n const { ctx, name, author, force, aliases } = schema;\n const commandsSource = ctx.args.commands ?? ctx.options.commands;\n const requiredTypesSource = ctx.args.requiredTypes ?? ctx.options.requiredTypes;\n return runSchemaAddField(\n name,\n {\n type: readString(ctx.args, \"fieldType\") ?? readString(ctx.options, \"fieldType\"),\n commands: commandsSource === undefined ? undefined : readStringArray(commandsSource),\n description: readString(ctx.args, \"description\") ?? readString(ctx.options, \"description\"),\n cliFlag: readString(ctx.args, \"cliFlag\") ?? readString(ctx.options, \"cliFlag\"),\n alias: aliases,\n required: ctx.args.required === true || ctx.options.required === true,\n requiredOnCreate: ctx.args.requiredOnCreate === true || ctx.options.requiredOnCreate === true,\n allowUnset: !(ctx.args.allowUnset === false || ctx.options.allowUnset === false),\n requiredTypes: requiredTypesSource === undefined ? undefined : readStringArray(requiredTypesSource),\n author,\n force,\n },\n ctx.global,\n );\n}\n\nfunction runMcpSchemaAddStatusAction(schema: McpSchemaContext): Promise<unknown> {\n const { ctx, name, author, force, aliases } = schema;\n const roleSource = ctx.args.role ?? ctx.options.role;\n return runSchemaAddStatus(\n name,\n {\n role: roleSource === undefined ? undefined : readStringArray(roleSource),\n alias: aliases,\n description: readString(ctx.args, \"description\") ?? readString(ctx.options, \"description\"),\n order: parseMcpInteger(ctx.args.order ?? ctx.options.order, \"schema add-status order\"),\n author,\n force,\n },\n ctx.global,\n );\n}\n\nfunction runMcpSchemaAddTypeAction(schema: McpSchemaContext): Promise<unknown> {\n const { ctx, name, author, force, aliases } = schema;\n return runSchemaAddType(\n name,\n {\n description: readString(ctx.args, \"description\") ?? readString(ctx.options, \"description\"),\n defaultStatus:\n readString(ctx.args, \"defaultStatus\") ??\n readString(ctx.args, \"default_status\") ??\n readString(ctx.options, \"defaultStatus\") ??\n readString(ctx.options, \"default_status\"),\n folder: readString(ctx.args, \"folder\") ?? readString(ctx.options, \"folder\"),\n alias: aliases,\n author,\n force,\n },\n ctx.global,\n );\n}\n\nfunction runMcpSchemaAction(ctx: McpActionDispatchContext): Promise<unknown> | unknown {\n const schema = createMcpSchemaContext(ctx);\n const simpleResult = runMcpSchemaReadOrRemoveAction(schema);\n if (simpleResult !== null) {\n return simpleResult;\n }\n if (schema.subcommand === \"add-field\") {\n return runMcpSchemaAddFieldAction(schema);\n }\n if (schema.subcommand === \"add-status\") {\n return runMcpSchemaAddStatusAction(schema);\n }\n if (schema.subcommand === \"add-type\") {\n if (ctx.args.infer === true || ctx.options.infer === true) {\n return runSchemaInferTypes(\n {\n minCount: parseMcpInteger(ctx.args.minCount ?? ctx.options.minCount, \"schema infer minCount\"),\n apply: ctx.args.apply === true || ctx.options.apply === true,\n author: schema.author,\n force: schema.force,\n },\n ctx.global,\n );\n }\n return runMcpSchemaAddTypeAction(schema);\n }\n throw new PmCliError(\n `Unknown pm schema subcommand \"${schema.subcommand}\". Allowed: add-type, remove-type, add-status, remove-status, add-field, remove-field, list-fields, show-field, apply-preset, list, show, show-status`,\n 64,\n );\n}\n\nfunction runMcpProfileAction(ctx: McpActionDispatchContext): Promise<unknown> | unknown {\n const subcommand = readString(ctx.args, \"subcommand\") ?? readRequiredString(ctx.options, \"subcommand\");\n const normalizedSubcommand = subcommand.trim().toLowerCase();\n const profileName = readString(ctx.args, \"name\") ?? readString(ctx.options, \"name\");\n const handlers: Record<string, () => Promise<unknown> | unknown> = {\n list: () => runProfileList(),\n show: () => runProfileShow(profileName),\n lint: () => runProfileLint(profileName),\n apply: () =>\n runProfileApply(\n profileName,\n {\n dryRun: ctx.args.dryRun === true || ctx.options.dryRun === true,\n author: readString(ctx.args, \"author\") ?? readString(ctx.options, \"author\"),\n force: ctx.args.force === true || ctx.options.force === true,\n },\n ctx.global,\n ),\n };\n const handler = getOwnHandler(handlers, normalizedSubcommand);\n if (!handler) {\n throw new PmCliError(`Unknown pm profile subcommand \"${subcommand}\". Allowed: list, show, apply, lint`, 64);\n }\n return handler();\n}\n\nfunction runMcpStatsAction(ctx: McpActionDispatchContext): Promise<unknown> {\n return runStats(ctx.global, {\n storage: ctx.options.storage === true,\n metadataCoverage: ctx.options.metadataCoverage === true,\n fieldUtilization: ctx.options.fieldUtilization === true,\n byAssignee: ctx.options.byAssignee === true,\n byTag: ctx.options.byTag === true,\n byPriority: ctx.options.byPriority === true,\n tagPrefix: typeof ctx.options.tagPrefix === \"string\" ? ctx.options.tagPrefix : undefined,\n });\n}\n\nasync function runMcpAppendAction(ctx: McpActionDispatchContext): Promise<unknown> {\n const { changedFields, runnerOptions } = withMutationCompaction(ctx.args, ctx.options);\n return projectMutationResult(await runAppend(requireMcpItemId(ctx, runnerOptions), runnerOptions as never, ctx.global), {\n changedFields,\n });\n}\n\nasync function runMcpUpdateManyAction(ctx: McpActionDispatchContext): Promise<unknown> {\n const { changedFields, runnerOptions } = withMutationCompaction(ctx.args, ctx.options);\n return projectMutationResult(await runUpdateMany(updateManyOptionsFromFlat(runnerOptions), ctx.global), { changedFields });\n}\n\nasync function runMcpCloseManyAction(ctx: McpActionDispatchContext): Promise<unknown> {\n const { changedFields, runnerOptions } = withMutationCompaction(ctx.args, ctx.options);\n const topLevelReason = readString(ctx.args, \"reason\");\n const closeManyRunnerOptions: Record<string, unknown> =\n topLevelReason !== undefined && runnerOptions.reason === undefined\n ? { ...runnerOptions, reason: topLevelReason }\n : { ...runnerOptions };\n if (ctx.force && closeManyRunnerOptions.force === undefined) {\n closeManyRunnerOptions.force = true;\n }\n return projectMutationResult(await runCloseMany(closeManyOptionsFromFlat(closeManyRunnerOptions), ctx.global), { changedFields });\n}\n\nasync function runMcpRestoreAction(ctx: McpActionDispatchContext): Promise<unknown> {\n const { changedFields, idOnly, runnerOptions } = withMutationCompaction(ctx.args, ctx.options);\n const target = readString(runnerOptions, \"target\") ?? readRequiredString(ctx.args, \"target\");\n return projectMutationResult(await runRestore(requireMcpItemId(ctx, runnerOptions), target, runnerOptions, ctx.global), {\n changedFields,\n idOnly,\n });\n}\n\nfunction withoutLifecycleAssigneeAlias(options: Record<string, unknown>): Record<string, unknown> {\n const updateOptions = { ...options };\n delete updateOptions.assignee;\n return updateOptions;\n}\n\nasync function runMcpStartTaskAction(ctx: McpActionDispatchContext): Promise<unknown> {\n const pmRoot = resolvePmRoot(process.cwd(), ctx.global.path);\n const settings = await readSettings(pmRoot);\n const inProgressStatus = resolveStartTaskInProgressStatus(resolveRuntimeStatusRegistry(settings.schema));\n const id = requireMcpItemId(ctx);\n const claimResult = await runClaim(id, ctx.force, ctx.global, ctx.options);\n const updateResult = await runUpdate(id, { ...withoutLifecycleAssigneeAlias(ctx.options), status: inProgressStatus, force: ctx.force }, ctx.global);\n return { id, action: \"start_task\", claim: claimResult, update: updateResult };\n}\n\nasync function runMcpPauseTaskAction(ctx: McpActionDispatchContext): Promise<unknown> {\n const pmRoot = resolvePmRoot(process.cwd(), ctx.global.path);\n const settings = await readSettings(pmRoot);\n const id = requireMcpItemId(ctx);\n const openStatus = resolveRuntimeStatusRegistry(settings.schema).open_status;\n const updateResult = await runUpdate(id, { ...withoutLifecycleAssigneeAlias(ctx.options), status: openStatus, force: ctx.force }, ctx.global);\n const releaseResult = await runRelease(id, ctx.force, ctx.global, ctx.options);\n return { id, action: \"pause_task\", update: updateResult, release: releaseResult };\n}\n\nasync function runMcpCloseTaskAction(ctx: McpActionDispatchContext): Promise<unknown> {\n const id = requireMcpItemId(ctx);\n const closeReason =\n readString(ctx.args, \"reason\") ??\n readString(ctx.args, \"text\") ??\n readString(ctx.options, \"reason\") ??\n readString(ctx.options, \"text\");\n const closeResult = await runClose(id, closeReason, { ...ctx.options, force: ctx.force }, ctx.global);\n const releaseResult = await runRelease(id, ctx.force, ctx.global, ctx.options);\n return { id, action: \"close_task\", close: closeResult, release: releaseResult };\n}\n\nconst SDK_ACTION_HANDLERS: Record<string, McpActionHandler> = {\n init: (ctx) => runInit(readString(ctx.args, \"prefix\"), ctx.global, ctx.options),\n context: (ctx) => runContext(ctx.options, ctx.global),\n next: (ctx) => runNext(ctx.options, ctx.global),\n list: runMcpListAction,\n get: (ctx) => runGet(requireMcpItemId(ctx), ctx.global, ctx.options),\n search: runMcpSearchAction,\n create: runMcpCreateAction,\n copy: runMcpCopyAction,\n focus: (ctx) => runFocus(ctx.id, { clear: ctx.options.clear === true || ctx.args.clear === true }, ctx.global),\n update: runMcpUpdateAction,\n restore: runMcpRestoreAction,\n claim: (ctx) => runClaim(requireMcpItemId(ctx), ctx.force, ctx.global, ctx.options),\n release: (ctx) => runRelease(requireMcpItemId(ctx), ctx.force, ctx.global, ctx.options),\n \"start-task\": runMcpStartTaskAction,\n \"pause-task\": runMcpPauseTaskAction,\n \"close-task\": runMcpCloseTaskAction,\n close: runMcpCloseAction,\n comments: runMcpCommentsAction,\n notes: (ctx) => runNotes(requireMcpItemId(ctx), ctx.options, ctx.global),\n learnings: (ctx) => runLearnings(requireMcpItemId(ctx), ctx.options, ctx.global),\n files: runMcpFilesAction,\n docs: (ctx) => runDocs(requireMcpItemId(ctx), withAddNoteOption(ctx.options), ctx.global),\n test: (ctx) => runTest(requireMcpItemId(ctx), ctx.options, ctx.global),\n \"test-all\": (ctx) => runTestAll(ctx.options, ctx.global),\n telemetry: runMcpTelemetryAction,\n validate: (ctx) => runValidate(ctx.options, ctx.global),\n health: runMcpHealthAction,\n contracts: (ctx) => runContracts(ctx.options, ctx.global),\n config: runMcpConfigAction,\n activity: runMcpActivityAction,\n aggregate: (ctx) => runAggregate(ctx.options, ctx.global),\n extension: (ctx) => runExtension(readMcpTarget(ctx), ctx.options, ctx.global),\n package: (ctx) => runExtension(readMcpTarget(ctx), ctx.options, ctx.global),\n install: (ctx) => runExtension(readMcpTarget(ctx), { ...ctx.options, install: true }, ctx.global),\n upgrade: (ctx) => runUpgrade(readMcpTarget(ctx), ctx.options, ctx.global),\n delete: (ctx) => runDelete(requireMcpItemId(ctx), ctx.options, ctx.global),\n deps: (ctx) => runDeps(requireMcpItemId(ctx), ctx.options, ctx.global),\n \"files-discover\": (ctx) => runFilesDiscover(requireMcpItemId(ctx), ctx.options, ctx.global),\n history: (ctx) => runHistory(requireMcpItemId(ctx), ctx.options, ctx.global),\n \"history-redact\": (ctx) => runHistoryRedact(requireMcpItemId(ctx), ctx.options, ctx.global),\n \"history-repair\": runMcpHistoryRepairAction,\n \"history-compact\": (ctx) => runHistoryCompact(requireMcpItemId(ctx), ctx.options, ctx.global),\n plan: runMcpPlanAction,\n schema: runMcpSchemaAction,\n profile: runMcpProfileAction,\n stats: runMcpStatsAction,\n append: runMcpAppendAction,\n \"update-many\": runMcpUpdateManyAction,\n \"close-many\": runMcpCloseManyAction,\n gc: (ctx) => runGc(ctx.global, ctx.options),\n};\n\nasync function dispatchAction(\n action: string,\n args: Record<string, unknown>,\n global: GlobalOptions,\n activeExtensions: ActiveExtensionRuntime | null,\n): Promise<unknown> {\n const options = optionsWithAuthor(args, action);\n const ctx: McpActionDispatchContext = {\n action,\n args,\n options,\n id: readString(args, \"id\"),\n force: args.force === true || options.force === true,\n global,\n activeExtensions,\n };\n const handler = getOwnHandler(SDK_ACTION_HANDLERS, action);\n return handler ? handler(ctx) : dispatchActiveExtensionAction(action, args, options, global, activeExtensions);\n}\n\nconst actionRunnerTestHooks = {\n closeManyOptionsFromFlat,\n extensionOptionsFromArgs,\n globalOptions,\n mutationListOptions,\n normalizeActionName,\n normalizeCommandPath,\n normalizeMcpUpdateOptions,\n normalizeMcpOptionsArrays,\n optionsWithAuthor,\n readRequiredString,\n readScalarString,\n readScalarStringAllowBlank,\n readStringArray,\n updateManyOptionsFromFlat,\n withAddNoteOption,\n withFilesDiscoveryOptions,\n withMutationCompaction,\n};\n\ndeclare global {\n var __pmCliActionRunnerTestHooks: typeof actionRunnerTestHooks | undefined;\n}\n\nif (process.env.NODE_ENV === \"test\" || process.env.VITEST !== undefined || process.env.VITEST_WORKER_ID !== undefined) {\n globalThis.__pmCliActionRunnerTestHooks = actionRunnerTestHooks;\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 try {\n return activationResult.registrations;\n } finally {\n try {\n await deactivateExtensions(loadResult, activationResult);\n } catch {\n // Workspace contract reads should stay best-effort even if teardown itself fails.\n }\n }\n}\n\nexport type { ContractsCommandOptions, ContractsResult };\n"],"names":[],"mappings":"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","debugId":"89db1e15-b152-57e2-910d-64ed77eb540b"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @module sdk/start-task-status
3
+ *
4
+ * Resolves lifecycle alias status transitions shared by CLI registration and the SDK runtime.
5
+ */
6
+ import { type RuntimeStatusRegistry } from "../core/schema/runtime-schema.js";
7
+ /**
8
+ * Resolve the status the `start-task` lifecycle alias should move an item to.
9
+ * Resolves `in_progress` strictly through the workspace registry so a custom
10
+ * workflow that omits in_progress falls back to its open status instead of
11
+ * setting a status the workflow does not define.
12
+ */
13
+ export declare function resolveStartTaskInProgressStatus(statusRegistry: RuntimeStatusRegistry): string;
@@ -0,0 +1,19 @@
1
+ /**
2
+ * @module sdk/start-task-status
3
+ *
4
+ * Resolves lifecycle alias status transitions shared by CLI registration and the SDK runtime.
5
+ */
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]="71e8629b-d857-5bd5-862b-c65662265a2f")}catch(e){}}();
8
+ import { normalizeStatusInputWithRegistry, } from "../core/schema/runtime-schema.js";
9
+ /**
10
+ * Resolve the status the `start-task` lifecycle alias should move an item to.
11
+ * Resolves `in_progress` strictly through the workspace registry so a custom
12
+ * workflow that omits in_progress falls back to its open status instead of
13
+ * setting a status the workflow does not define.
14
+ */
15
+ export function resolveStartTaskInProgressStatus(statusRegistry) {
16
+ return normalizeStatusInputWithRegistry("in_progress", statusRegistry) ?? statusRegistry.open_status;
17
+ }
18
+ //# sourceMappingURL=start-task-status.js.map
19
+ //# debugId=71e8629b-d857-5bd5-862b-c65662265a2f
@@ -0,0 +1 @@
1
+ {"version":3,"file":"start-task-status.js","sources":["sdk/start-task-status.ts"],"sourceRoot":"/","sourcesContent":["/**\n * @module sdk/start-task-status\n *\n * Resolves lifecycle alias status transitions shared by CLI registration and the SDK runtime.\n */\nimport {\n normalizeStatusInputWithRegistry,\n type RuntimeStatusRegistry,\n} from \"../core/schema/runtime-schema.js\";\n\n/**\n * Resolve the status the `start-task` lifecycle alias should move an item to.\n * Resolves `in_progress` strictly through the workspace registry so a custom\n * workflow that omits in_progress falls back to its open status instead of\n * setting a status the workflow does not define.\n */\nexport function resolveStartTaskInProgressStatus(statusRegistry: RuntimeStatusRegistry): string {\n return normalizeStatusInputWithRegistry(\"in_progress\", statusRegistry) ?? statusRegistry.open_status;\n}\n"],"names":[],"mappings":"AAAA;;;;GAIG;;;AACH,OAAO,EACL,gCAAgC,GAEjC,MAAM,kCAAkC,CAAC;AAE1C;;;;;GAKG;AACH,MAAM,UAAU,gCAAgC,CAAC,cAAqC;IACpF,OAAO,gCAAgC,CAAC,aAAa,EAAE,cAAc,CAAC,IAAI,cAAc,CAAC,WAAW,CAAC;AACvG,CAAC","debugId":"71e8629b-d857-5bd5-862b-c65662265a2f"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @module sdk/workspace-contracts-cache
3
+ *
4
+ * Maintains the workspace contracts extension-registration memo used by runtime callers.
5
+ */
6
+ import type { ExtensionRegistrationRegistry } from "../core/extensions/index.js";
7
+ /**
8
+ * Drop all memoized workspace extension registrations so the next
9
+ * `getWorkspaceContracts` call re-loads and re-activates extensions from disk.
10
+ * Long-lived hosts should call this after any extension or settings mutation.
11
+ */
12
+ export declare function clearWorkspaceContractsCache(): void;
13
+ /**
14
+ * Memoize one workspace extension-registration load and evict rejected entries
15
+ * so transient activation failures do not poison long-lived embedding hosts.
16
+ */
17
+ export declare function memoizeWorkspaceExtensionRegistrations(cacheKey: string, loadRegistrations: () => Promise<ExtensionRegistrationRegistry | null>): Promise<ExtensionRegistrationRegistry | null>;
@@ -0,0 +1,36 @@
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]="be7bf5e4-3625-5ac2-985e-5a7762373ee4")}catch(e){}}();
3
+ const WORKSPACE_CONTRACTS_CACHE_LIMIT = 50;
4
+ const workspaceExtensionRegistrationsCache = new Map();
5
+ /**
6
+ * Drop all memoized workspace extension registrations so the next
7
+ * `getWorkspaceContracts` call re-loads and re-activates extensions from disk.
8
+ * Long-lived hosts should call this after any extension or settings mutation.
9
+ */
10
+ export function clearWorkspaceContractsCache() {
11
+ workspaceExtensionRegistrationsCache.clear();
12
+ }
13
+ /**
14
+ * Memoize one workspace extension-registration load and evict rejected entries
15
+ * so transient activation failures do not poison long-lived embedding hosts.
16
+ */
17
+ export function memoizeWorkspaceExtensionRegistrations(cacheKey, loadRegistrations) {
18
+ const cached = workspaceExtensionRegistrationsCache.get(cacheKey);
19
+ if (cached !== undefined) {
20
+ return cached;
21
+ }
22
+ if (workspaceExtensionRegistrationsCache.size >= WORKSPACE_CONTRACTS_CACHE_LIMIT) {
23
+ const oldestKey = workspaceExtensionRegistrationsCache.keys().next().value;
24
+ workspaceExtensionRegistrationsCache.delete(oldestKey);
25
+ }
26
+ const registrations = loadRegistrations().catch((error) => {
27
+ if (workspaceExtensionRegistrationsCache.get(cacheKey) === registrations) {
28
+ workspaceExtensionRegistrationsCache.delete(cacheKey);
29
+ }
30
+ throw error;
31
+ });
32
+ workspaceExtensionRegistrationsCache.set(cacheKey, registrations);
33
+ return registrations;
34
+ }
35
+ //# sourceMappingURL=workspace-contracts-cache.js.map
36
+ //# debugId=be7bf5e4-3625-5ac2-985e-5a7762373ee4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-contracts-cache.js","sources":["sdk/workspace-contracts-cache.ts"],"sourceRoot":"/","sourcesContent":["/**\n * @module sdk/workspace-contracts-cache\n *\n * Maintains the workspace contracts extension-registration memo used by runtime callers.\n */\nimport type { ExtensionRegistrationRegistry } from \"../core/extensions/index.js\";\n\nconst WORKSPACE_CONTRACTS_CACHE_LIMIT = 50;\nconst workspaceExtensionRegistrationsCache = new Map<string, Promise<ExtensionRegistrationRegistry | null>>();\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\n/**\n * Memoize one workspace extension-registration load and evict rejected entries\n * so transient activation failures do not poison long-lived embedding hosts.\n */\nexport function memoizeWorkspaceExtensionRegistrations(\n cacheKey: string,\n loadRegistrations: () => Promise<ExtensionRegistrationRegistry | null>,\n): Promise<ExtensionRegistrationRegistry | null> {\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 = loadRegistrations().catch((error: unknown) => {\n if (workspaceExtensionRegistrationsCache.get(cacheKey) === registrations) {\n workspaceExtensionRegistrationsCache.delete(cacheKey);\n }\n throw error;\n });\n workspaceExtensionRegistrationsCache.set(cacheKey, registrations);\n return registrations;\n}\n"],"names":[],"mappings":";;AAOA,MAAM,+BAA+B,GAAG,EAAE,CAAC;AAC3C,MAAM,oCAAoC,GAAG,IAAI,GAAG,EAAyD,CAAC;AAE9G;;;;GAIG;AACH,MAAM,UAAU,4BAA4B;IAC1C,oCAAoC,CAAC,KAAK,EAAE,CAAC;AAC/C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sCAAsC,CACpD,QAAgB,EAChB,iBAAsE;IAEtE,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,iBAAiB,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;QACjE,IAAI,oCAAoC,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,aAAa,EAAE,CAAC;YACzE,oCAAoC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACxD,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC,CAAC,CAAC;IACH,oCAAoC,CAAC,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IAClE,OAAO,aAAa,CAAC;AACvB,CAAC","debugId":"be7bf5e4-3625-5ac2-985e-5a7762373ee4"}
package/docs/COMMANDS.md CHANGED
@@ -462,6 +462,13 @@ pm pause-task <id> # move to open + release claim
462
462
  pm close-task <id> "<reason>" # close + release assignment
463
463
  ```
464
464
 
465
+ For lifecycle ownership commands, `--assignee <agent>` is accepted as an alias
466
+ for `--author <agent>` on `claim`, `release`, `start-task`, `pause-task`, and
467
+ `close-task`. Use `pm update --assignee <person>` when changing item metadata
468
+ rather than active work ownership.
469
+
470
+ Tracker references: [pm-qfte](../.agents/pm/tasks/pm-qfte.toon), [pm-98cz](../.agents/pm/features/pm-98cz.toon).
471
+
465
472
  After `pm create` of a workable item type, the result includes a non-binding `next_transition` hint (`pm start-task <id>` → `in_progress`) when the workflow defines a distinct in-progress status. This nudges agents to move work through `in_progress` instead of jumping straight from `open` to `closed`. Scheduling/reference types (Event, Meeting, Reminder, Milestone, Decision) never receive the hint. (GH-216)
466
473
 
467
474
  ## Scheduling Shortcuts
@@ -488,7 +495,9 @@ pm release <id>
488
495
  pm release <id> --allow-audit-release --author <you>
489
496
  ```
490
497
 
491
- `claim` is the normal start signal. Use `--force` only when explicitly overriding terminal-state or lock conflicts.
498
+ `claim` is the normal start signal. `--assignee` is an ownership alias for
499
+ `--author` on claim/release flows, not a metadata update. Use `--force` only when
500
+ explicitly overriding terminal-state or lock conflicts.
492
501
 
493
502
  ## Logs
494
503
 
package/docs/RELEASING.md CHANGED
@@ -51,13 +51,15 @@ Policy:
51
51
 
52
52
  - release only when commits exist after the latest release tag
53
53
  - ignore `.agents/pm`-only tracker commits for publish eligibility so post-release evidence and closure updates do not create a package release by themselves
54
- - release at most once per UTC day; the GitHub Actions Auto Release workflow must not be used for same-day follow-up publishes
54
+ - release at most once per UTC day after a successful publish; if the scheduled run failed before publishing, a non-`github-actions[bot]` closure of the exact bot-created `Auto Release blocked` issue on the same UTC day triggers one production retry attempt so a changed tree still gets a daily release
55
55
  - release preparation must pass all quality and compatibility gates before commit+tag push
56
56
  - `CHANGELOG.md` is generated by the latest npm `pm-changelog` package (`pm install npm:pm-changelog --project`, then `pm changelog generate --mode replace --all-release-tags`) from closed tracker items across git release tag windows and checked in CI; do not edit it by hand
57
57
  - protected-branch pushes require `RELEASE_PAT`; Auto Release fails fast before the expensive release gates when `push=true`, `dry_run=false`, and that secret is not configured
58
58
  - release reliability gating requires `SENTRY_PERSONAL_ADMIN_TOKEN` for issue-threshold checks; Auto Release fails before creating the version commit/tag when the token is missing and `push=true`, while sourcemap upload remains optional through `SENTRY_AUTH_TOKEN`
59
59
  - after creating and pushing a new tag, auto-release waits for the tag-push `.github/workflows/release.yml` run to finish instead of dispatching a second publish workflow
60
60
  - scheduled failure issues include the preflight state (`push`, `dry_run`, `release_pat_configured`, and `sentry_personal_admin_token_configured`) plus a detected cause so agents can distinguish missing release secrets from Sentry gate failures without scanning the full workflow log first
61
+ - when scheduled failures continue across multiple UTC days, auto-release supersedes a stale open blocker with a fresh current-day blocker so same-day retry detection follows the latest scheduled failure
62
+ - closing the exact bot-created `Auto Release blocked: scheduled run failed` issue as a maintainer or agent retries Auto Release once for that same-day closure on the production path (`push=true`, `dry_run=false`), records a same-day retry marker before running the release pipeline, comments with the published tag when the retry publishes, comments with a skip reason when the retry succeeds without publishing a new tag or is safely refused before release mutation, and reopens the same issue if the retry actually fails; a second close of the reopened issue on the same UTC day is refused before release mutation and reported as `retry_already_attempted` so the production retry cannot loop, and workflow cleanup closures by `github-actions[bot]` are ignored so a successful scheduled cleanup cannot retrigger release
61
63
  - after a scheduled run publishes a tag and the downstream release workflow succeeds, auto-release closes any open `Auto Release blocked` issue so the GitHub tracker reflects current release health
62
64
 
63
65
  Pipeline entrypoint: