@unbrained/pm-cli 2026.6.21 → 2026.6.22

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 (406) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/cli/commands/completion.js +5 -3
  3. package/dist/cli/commands/completion.js.map +1 -1
  4. package/dist/cli/commands/extension/doctor.d.ts +11 -0
  5. package/dist/cli/commands/extension/doctor.js +31 -2
  6. package/dist/cli/commands/extension/doctor.js.map +1 -1
  7. package/dist/cli/commands/extension/scaffold.d.ts +16 -2
  8. package/dist/cli/commands/extension/scaffold.js +481 -48
  9. package/dist/cli/commands/extension/scaffold.js.map +1 -1
  10. package/dist/cli/commands/extension.d.ts +1 -0
  11. package/dist/cli/commands/extension.js +9 -4
  12. package/dist/cli/commands/extension.js.map +1 -1
  13. package/dist/cli/help-content.js +16 -4
  14. package/dist/cli/help-content.js.map +1 -1
  15. package/dist/cli/register-setup.js +6 -2
  16. package/dist/cli/register-setup.js.map +1 -1
  17. package/dist/cli-bundle/chunks/{activity-KW3IRP44.js → activity-DXS2XMQU.js} +11 -11
  18. package/dist/cli-bundle/chunks/activity-NEOI45NX.js +18 -0
  19. package/dist/cli-bundle/chunks/{aggregate-FIGQEIL3.js → aggregate-IHM4KMQ3.js} +10 -10
  20. package/dist/cli-bundle/chunks/{aggregate-3ZKQG5SW.js → aggregate-NMYDVQF7.js} +10 -10
  21. package/dist/cli-bundle/chunks/{append-EWJYJ7CH.js → append-3HY5G7ET.js} +8 -8
  22. package/dist/cli-bundle/chunks/{append-QEOLX3XB.js → append-K54MDQYC.js} +8 -8
  23. package/dist/cli-bundle/chunks/{chunk-CF55WVVS.js → chunk-25XZN3JD.js} +2 -2
  24. package/dist/cli-bundle/chunks/{chunk-WQ7NIVDK.js → chunk-2LEYMXI6.js} +4 -4
  25. package/dist/cli-bundle/chunks/chunk-3GL6LTUL.js +643 -0
  26. package/dist/cli-bundle/chunks/chunk-3GL6LTUL.js.map +1 -0
  27. package/dist/cli-bundle/chunks/{chunk-FRUFKWNK.js → chunk-3VLPDG3J.js} +2 -2
  28. package/dist/cli-bundle/chunks/{chunk-C3AZ5ZML.js → chunk-44O4JIN6.js} +13 -13
  29. package/dist/cli-bundle/chunks/{chunk-J4MYYSOL.js → chunk-47HTJ6BU.js} +5 -5
  30. package/dist/cli-bundle/chunks/{chunk-YCJX76PW.js → chunk-4JXWVHMN.js} +2 -2
  31. package/dist/cli-bundle/chunks/{chunk-37QXHBIB.js → chunk-4SDKF5BG.js} +3 -3
  32. package/dist/cli-bundle/chunks/chunk-4YJA4LGU.js +646 -0
  33. package/dist/cli-bundle/chunks/chunk-4YJA4LGU.js.map +7 -0
  34. package/dist/cli-bundle/chunks/{chunk-NJHMAJ6N.js → chunk-5SESR24H.js} +8 -8
  35. package/dist/cli-bundle/chunks/{chunk-2EIMPCE4.js → chunk-6FQHNHQQ.js} +3 -3
  36. package/dist/cli-bundle/chunks/{chunk-5FIEHKEX.js → chunk-6UPTNMVW.js} +5 -5
  37. package/dist/cli-bundle/chunks/{chunk-FKBDKV7Y.js → chunk-75VEYQJS.js} +3 -3
  38. package/dist/cli-bundle/chunks/{chunk-GMHPNNYG.js → chunk-77VKGH4L.js} +10 -10
  39. package/dist/cli-bundle/chunks/{chunk-5PCI3UBT.js → chunk-7GCCDXXN.js} +55 -266
  40. package/dist/cli-bundle/chunks/chunk-7GCCDXXN.js.map +7 -0
  41. package/dist/cli-bundle/chunks/{chunk-OFYMIDF2.js → chunk-7MALIV5H.js} +9 -9
  42. package/dist/cli-bundle/chunks/{chunk-A4Z7ZOL5.js → chunk-7MPTFYT3.js} +20 -15
  43. package/dist/cli-bundle/chunks/chunk-7MPTFYT3.js.map +1 -0
  44. package/dist/cli-bundle/chunks/{chunk-RLK7P77C.js → chunk-7PBGTIN3.js} +5 -5
  45. package/dist/cli-bundle/chunks/{chunk-6H4LF7AO.js → chunk-A25LOPRG.js} +2 -2
  46. package/dist/cli-bundle/chunks/{chunk-M5XALUSL.js → chunk-A7E4ZXG2.js} +2 -2
  47. package/dist/cli-bundle/chunks/{chunk-7D3SAQXM.js → chunk-AJXYOYJV.js} +2 -2
  48. package/dist/cli-bundle/chunks/{chunk-HCU6WUSY.js → chunk-B2KR24R4.js} +9 -9
  49. package/dist/cli-bundle/chunks/{chunk-2GCDRRIF.js → chunk-C5SWTISA.js} +12 -12
  50. package/dist/cli-bundle/chunks/{chunk-AIS5PGI3.js → chunk-CLLVBO3I.js} +2 -2
  51. package/dist/cli-bundle/chunks/{chunk-QGG32QHW.js → chunk-CR7KFPAQ.js} +3 -3
  52. package/dist/cli-bundle/chunks/{chunk-UV6IYE5U.js → chunk-CWPBGUC7.js} +2 -2
  53. package/dist/cli-bundle/chunks/{chunk-32R4PIC6.js → chunk-D35LTIFR.js} +55 -259
  54. package/dist/cli-bundle/chunks/chunk-D35LTIFR.js.map +1 -0
  55. package/dist/cli-bundle/chunks/{chunk-QQHISQBJ.js → chunk-DBQUQ3AS.js} +3 -3
  56. package/dist/cli-bundle/chunks/{chunk-5QICDWMV.js → chunk-DHBPJ7VG.js} +2 -2
  57. package/dist/cli-bundle/chunks/{chunk-SRYYRVPB.js → chunk-DMT4ODVN.js} +2 -2
  58. package/dist/cli-bundle/chunks/{chunk-PUH4D67U.js → chunk-DU64SZUQ.js} +2 -2
  59. package/dist/cli-bundle/chunks/{chunk-C4N5I7ZW.js → chunk-EVPVCE4R.js} +3 -3
  60. package/dist/cli-bundle/chunks/{chunk-3EWSGA7N.js → chunk-FK6MV5F5.js} +12 -12
  61. package/dist/cli-bundle/chunks/{chunk-NIUEXCFS.js → chunk-GGAXE22C.js} +6 -6
  62. package/dist/cli-bundle/chunks/{chunk-SX75ADBK.js → chunk-GNDHOR64.js} +6 -6
  63. package/dist/cli-bundle/chunks/{chunk-GOZUHWFD.js → chunk-GU7YHKYP.js} +2 -2
  64. package/dist/cli-bundle/chunks/{chunk-NXS7ZKAK.js → chunk-GXBSFKSX.js} +4 -4
  65. package/dist/cli-bundle/chunks/{chunk-NJN7LL7U.js → chunk-H6FNDCDI.js} +5 -5
  66. package/dist/cli-bundle/chunks/{chunk-FWPDUYEY.js → chunk-HYQV75IB.js} +7 -7
  67. package/dist/cli-bundle/chunks/{chunk-F5NZWFSW.js → chunk-I367IDZP.js} +7 -7
  68. package/dist/cli-bundle/chunks/{chunk-52OCIDPG.js → chunk-I6XE47J2.js} +5 -5
  69. package/dist/cli-bundle/chunks/{chunk-HIP7WVTL.js → chunk-J2TSPY5L.js} +4 -4
  70. package/dist/cli-bundle/chunks/{chunk-2PKHRP6G.js → chunk-JLSC5NPC.js} +10 -10
  71. package/dist/cli-bundle/chunks/{chunk-PP2U4NMT.js → chunk-JY25IOEZ.js} +5 -5
  72. package/dist/cli-bundle/chunks/{chunk-Q2J2HJUN.js → chunk-K25UDYJ4.js} +2 -2
  73. package/dist/cli-bundle/chunks/{chunk-SBGXDO7A.js → chunk-KBTREGVO.js} +3 -3
  74. package/dist/cli-bundle/chunks/{chunk-QZTWBFXJ.js → chunk-KK4TQ3ZP.js} +2 -2
  75. package/dist/cli-bundle/chunks/{chunk-434HM6Z5.js → chunk-KL5ELX2X.js} +81 -3
  76. package/dist/cli-bundle/chunks/chunk-KL5ELX2X.js.map +1 -0
  77. package/dist/cli-bundle/chunks/{chunk-NIGXMNNI.js → chunk-KRJJPDUO.js} +2 -2
  78. package/dist/cli-bundle/chunks/{chunk-AZMOLBN3.js → chunk-MD7XKVWI.js} +7 -7
  79. package/dist/cli-bundle/chunks/{chunk-6ZXM2XNF.js → chunk-MNGAQB2E.js} +8 -8
  80. package/dist/cli-bundle/chunks/{chunk-3MDHREEV.js → chunk-NIWY4V4Z.js} +3 -3
  81. package/dist/cli-bundle/chunks/{chunk-TKBHZPKD.js → chunk-NKZOJPXK.js} +3 -3
  82. package/dist/cli-bundle/chunks/{chunk-CZPXY7UW.js → chunk-NVUATMTC.js} +3 -3
  83. package/dist/cli-bundle/chunks/{chunk-LEU5GHRC.js → chunk-P7ZU73BO.js} +3 -3
  84. package/dist/cli-bundle/chunks/{chunk-NSBZ2CKF.js → chunk-PCH2JTEO.js} +2 -2
  85. package/dist/cli-bundle/chunks/{chunk-B473GZWW.js → chunk-PJS2J7Z4.js} +3 -3
  86. package/dist/cli-bundle/chunks/{chunk-5IDI42VV.js → chunk-QQWEROGS.js} +7 -7
  87. package/dist/cli-bundle/chunks/{chunk-6M4RJS4M.js → chunk-RPRFBXND.js} +3 -3
  88. package/dist/cli-bundle/chunks/{chunk-HMOADQVT.js → chunk-RZZMSY4P.js} +88 -3
  89. package/dist/cli-bundle/chunks/chunk-RZZMSY4P.js.map +7 -0
  90. package/dist/cli-bundle/chunks/{chunk-N5ZJACJ6.js → chunk-SFKQAVZA.js} +8 -8
  91. package/dist/cli-bundle/chunks/{chunk-EBH56IXK.js → chunk-THKDPOS5.js} +8 -8
  92. package/dist/cli-bundle/chunks/{chunk-LUWW7L4B.js → chunk-TIKJAXQW.js} +3 -3
  93. package/dist/cli-bundle/chunks/{chunk-OTHIWLMB.js → chunk-TJABI6PR.js} +5 -5
  94. package/dist/cli-bundle/chunks/{chunk-HC4AWIKT.js → chunk-TRUFOER3.js} +19 -14
  95. package/dist/cli-bundle/chunks/{chunk-HC4AWIKT.js.map → chunk-TRUFOER3.js.map} +2 -2
  96. package/dist/cli-bundle/chunks/{chunk-76Z3YSHV.js → chunk-TZQKEBKF.js} +2 -2
  97. package/dist/cli-bundle/chunks/{chunk-PFSRUHDH.js → chunk-UKK2VTTH.js} +9 -9
  98. package/dist/cli-bundle/chunks/{chunk-H7NJZWG2.js → chunk-V4SM4UAL.js} +13 -13
  99. package/dist/cli-bundle/chunks/{chunk-CZUB4XWO.js → chunk-VB54F347.js} +2 -2
  100. package/dist/cli-bundle/chunks/{chunk-O47BPOPC.js → chunk-WBSYW3NT.js} +2 -2
  101. package/dist/cli-bundle/chunks/{chunk-UPE3CDD7.js → chunk-WQDX7DVG.js} +7 -7
  102. package/dist/cli-bundle/chunks/{chunk-NB3PYLQ6.js → chunk-XKNF3VRJ.js} +5 -5
  103. package/dist/cli-bundle/chunks/{chunk-F7K5GWP3.js → chunk-Y335KFHD.js} +9 -9
  104. package/dist/cli-bundle/chunks/{chunk-D7FYS6PG.js → chunk-Y4BZEND6.js} +2 -2
  105. package/dist/cli-bundle/chunks/{chunk-6CJWZAN7.js → chunk-YATDFWYK.js} +7 -7
  106. package/dist/cli-bundle/chunks/{chunk-UEMNL33O.js → chunk-YJICYNAV.js} +8 -8
  107. package/dist/cli-bundle/chunks/{chunk-Z6T4PQI2.js → chunk-YQSWTVZF.js} +4 -4
  108. package/dist/cli-bundle/chunks/{chunk-RVHYI7SL.js → chunk-YRLLL5TY.js} +8 -8
  109. package/dist/cli-bundle/chunks/{claim-RC56YUWG.js → claim-MPXNVBZQ.js} +10 -10
  110. package/dist/cli-bundle/chunks/{claim-THOJ6CMV.js → claim-SKHJDLW6.js} +10 -10
  111. package/dist/cli-bundle/chunks/{close-SG5MNCVQ.js → close-4RKSL5L6.js} +8 -8
  112. package/dist/cli-bundle/chunks/close-Z6AI736U.js +15 -0
  113. package/dist/cli-bundle/chunks/{close-many-DKQLBGLV.js → close-many-AWTPXLHJ.js} +15 -15
  114. package/dist/cli-bundle/chunks/{close-many-3L3AQZBU.js → close-many-SXODYBDP.js} +15 -15
  115. package/dist/cli-bundle/chunks/{comments-SKWMDWCW.js → comments-OOH64LWW.js} +10 -10
  116. package/dist/cli-bundle/chunks/{comments-M7ZOZNBX.js → comments-YYW5P7AG.js} +10 -10
  117. package/dist/cli-bundle/chunks/{config-OZCUABPB.js → config-3445MCQQ.js} +8 -8
  118. package/dist/cli-bundle/chunks/{config-7CK62S7T.js → config-LCDMKRB2.js} +8 -8
  119. package/dist/cli-bundle/chunks/{context-PUG2A7RC.js → context-DZMIBIVP.js} +13 -13
  120. package/dist/cli-bundle/chunks/{context-OEC366TO.js → context-PJCURODY.js} +13 -13
  121. package/dist/cli-bundle/chunks/{contracts-3THOLA7L.js → contracts-7YDFEJB3.js} +4 -4
  122. package/dist/cli-bundle/chunks/{contracts-N65FXEOL.js → contracts-MP2P3HL5.js} +4 -4
  123. package/dist/cli-bundle/chunks/{copy-JPX7VZCH.js → copy-63IQQRRS.js} +7 -7
  124. package/dist/cli-bundle/chunks/{copy-6QLHILAC.js → copy-TASIH2AZ.js} +7 -7
  125. package/dist/cli-bundle/chunks/create-3BV2VA3Q.js +30 -0
  126. package/dist/cli-bundle/chunks/{create-Y54ZVVZH.js → create-TGSB5GV4.js} +14 -14
  127. package/dist/cli-bundle/chunks/{delete-63PCMQAJ.js → delete-ARILQQLB.js} +7 -7
  128. package/dist/cli-bundle/chunks/{delete-GDSMGAGJ.js → delete-ZQKBZYNK.js} +7 -7
  129. package/dist/cli-bundle/chunks/{deps-T4ZF5G54.js → deps-MSHQR2GY.js} +7 -7
  130. package/dist/cli-bundle/chunks/{deps-XYQ73XRH.js → deps-NJFJIMQ5.js} +7 -7
  131. package/dist/cli-bundle/chunks/{docs-C75YIXHC.js → docs-SS4UKYYA.js} +9 -9
  132. package/dist/cli-bundle/chunks/{docs-EHNPDWUL.js → docs-XK2UVUXX.js} +9 -9
  133. package/dist/cli-bundle/chunks/{eval-GTENKE24.js → eval-FVZGX5IZ.js} +12 -12
  134. package/dist/cli-bundle/chunks/{eval-3WKDTRMH.js → eval-JOTG2YHU.js} +12 -12
  135. package/dist/cli-bundle/chunks/{extension-46NWACO3.js → extension-NLMS47I4.js} +6 -5
  136. package/dist/cli-bundle/chunks/{extension-D5FDZ2CO.js → extension-OQPS27B4.js} +6 -5
  137. package/dist/cli-bundle/chunks/{files-X3H7CCBQ.js → files-3EVJQZ2N.js} +9 -9
  138. package/dist/cli-bundle/chunks/{files-DSZBOSSN.js → files-Y2P6LN5A.js} +9 -9
  139. package/dist/cli-bundle/chunks/{focus-5STQXDPU.js → focus-D5ZUPTII.js} +8 -8
  140. package/dist/cli-bundle/chunks/{focus-MDVPOWB5.js → focus-ZPIFTY4R.js} +8 -8
  141. package/dist/cli-bundle/chunks/{gc-ZMST3WQP.js → gc-LXXDY456.js} +3 -3
  142. package/dist/cli-bundle/chunks/{gc-ZC7JHBG7.js → gc-RNOEQHSX.js} +3 -3
  143. package/dist/cli-bundle/chunks/{get-NT7L2HUZ.js → get-Q3SZGQHD.js} +11 -11
  144. package/dist/cli-bundle/chunks/{get-J2IPJRZW.js → get-W23G7MJX.js} +11 -11
  145. package/dist/cli-bundle/chunks/{health-WOYBR3KU.js → health-5LHSX365.js} +14 -13
  146. package/dist/cli-bundle/chunks/{health-WOYBR3KU.js.map → health-5LHSX365.js.map} +1 -1
  147. package/dist/cli-bundle/chunks/{health-IVMA3XQC.js → health-UDDGJLPP.js} +16 -15
  148. package/dist/cli-bundle/chunks/{health-IVMA3XQC.js.map → health-UDDGJLPP.js.map} +1 -1
  149. package/dist/cli-bundle/chunks/{history-RLH2QCRO.js → history-6CZVFIUJ.js} +10 -10
  150. package/dist/cli-bundle/chunks/history-YRQUD4YM.js +20 -0
  151. package/dist/cli-bundle/chunks/{history-compact-ZBEBGJM7.js → history-compact-M35PDQ4G.js} +12 -12
  152. package/dist/cli-bundle/chunks/{history-compact-UXDIFC33.js → history-compact-VWUSQH6Z.js} +12 -12
  153. package/dist/cli-bundle/chunks/history-redact-27OEOZRZ.js +21 -0
  154. package/dist/cli-bundle/chunks/{history-redact-P7I7AWMB.js → history-redact-AJGARHT3.js} +11 -11
  155. package/dist/cli-bundle/chunks/{history-repair-52KINVIK.js → history-repair-5RDMF7K4.js} +12 -12
  156. package/dist/cli-bundle/chunks/{history-repair-RM5ITLU5.js → history-repair-YUAHIPIN.js} +12 -12
  157. package/dist/cli-bundle/chunks/init-DWAKYRXI.js +21 -0
  158. package/dist/cli-bundle/chunks/{init-2BNZOO6F.js → init-HASX3YNJ.js} +11 -10
  159. package/dist/cli-bundle/chunks/{learnings-W6F3FIPL.js → learnings-JNGUIJDK.js} +10 -10
  160. package/dist/cli-bundle/chunks/{learnings-YGYVHWJK.js → learnings-M4KA6MQE.js} +10 -10
  161. package/dist/cli-bundle/chunks/{list-KPAYU5KZ.js → list-5UU2W24O.js} +10 -10
  162. package/dist/cli-bundle/chunks/{list-K6FPV4J4.js → list-6FMKTIH3.js} +10 -10
  163. package/dist/cli-bundle/chunks/{notes-YTD6ZILW.js → notes-MODH5CBT.js} +10 -10
  164. package/dist/cli-bundle/chunks/{notes-PU74EPKV.js → notes-PYCPLA5Y.js} +10 -10
  165. package/dist/cli-bundle/chunks/{plan-GEQYUCBW.js → plan-DXRIRYRU.js} +14 -14
  166. package/dist/cli-bundle/chunks/{plan-FNXHXRCI.js → plan-EHQALWSC.js} +14 -14
  167. package/dist/cli-bundle/chunks/{register-list-query-QI45RMKN.js → register-list-query-QAASVP2J.js} +19 -19
  168. package/dist/cli-bundle/chunks/{register-list-query-PHWYHENI.js → register-list-query-WE54YJMH.js} +19 -19
  169. package/dist/cli-bundle/chunks/{register-mutation-YINRTS7L.js → register-mutation-B6DZJTY2.js} +33 -33
  170. package/dist/cli-bundle/chunks/{register-mutation-X3BUOQEL.js → register-mutation-CPV4C2KR.js} +33 -33
  171. package/dist/cli-bundle/chunks/{register-operations-E5JEASRK.js → register-operations-AT3BVVX2.js} +32 -32
  172. package/dist/cli-bundle/chunks/{register-operations-MIDTRW7S.js → register-operations-RC4C3423.js} +32 -32
  173. package/dist/cli-bundle/chunks/{register-setup-EG2U6CEU.js → register-setup-HXEHMDHE.js} +23 -18
  174. package/dist/cli-bundle/chunks/register-setup-HXEHMDHE.js.map +7 -0
  175. package/dist/cli-bundle/chunks/{register-setup-DYBFLEZX.js → register-setup-JSMJEFCJ.js} +24 -19
  176. package/dist/cli-bundle/chunks/register-setup-JSMJEFCJ.js.map +1 -0
  177. package/dist/cli-bundle/chunks/{restore-XQYSWBV7.js → restore-FNBV4GWE.js} +11 -11
  178. package/dist/cli-bundle/chunks/restore-XY4YE2OV.js +19 -0
  179. package/dist/cli-bundle/chunks/{scheduling-shortcuts-HJMTEXKE.js → scheduling-shortcuts-ECL6GBMZ.js} +14 -14
  180. package/dist/cli-bundle/chunks/{scheduling-shortcuts-NNT5ASZR.js → scheduling-shortcuts-JRIUREEU.js} +14 -14
  181. package/dist/cli-bundle/chunks/{schema-TZXW6XWD.js → schema-74YENAJL.js} +9 -9
  182. package/dist/cli-bundle/chunks/{schema-263RI4WW.js → schema-TCW3I7QR.js} +9 -9
  183. package/dist/cli-bundle/chunks/{search-SFRJOVDG.js → search-7USZ6XZA.js} +12 -12
  184. package/dist/cli-bundle/chunks/{search-LECJYSXE.js → search-GNAUE65M.js} +12 -12
  185. package/dist/cli-bundle/chunks/{stats-VPBGSRQH.js → stats-CVHASAEU.js} +8 -8
  186. package/dist/cli-bundle/chunks/{stats-N7ER2PNK.js → stats-DQMKJMFT.js} +8 -8
  187. package/dist/cli-bundle/chunks/{telemetry-PP3FUNBU.js → telemetry-7P5EUWCS.js} +4 -4
  188. package/dist/cli-bundle/chunks/{telemetry-L6K3BUIQ.js → telemetry-PQTL5YS2.js} +4 -4
  189. package/dist/cli-bundle/chunks/test-COWPCGBE.js +36 -0
  190. package/dist/cli-bundle/chunks/{test-3EGNS3T5.js → test-FDQZQNZ4.js} +16 -15
  191. package/dist/cli-bundle/chunks/{test-all-ZHFAWNC3.js → test-all-PIPPS4S5.js} +18 -17
  192. package/dist/cli-bundle/chunks/{test-all-ZHFAWNC3.js.map → test-all-PIPPS4S5.js.map} +1 -1
  193. package/dist/cli-bundle/chunks/{test-all-NJ5V2QFS.js → test-all-WQIAZVA6.js} +16 -15
  194. package/dist/cli-bundle/chunks/{test-all-NJ5V2QFS.js.map → test-all-WQIAZVA6.js.map} +1 -1
  195. package/dist/cli-bundle/chunks/{test-runs-GN3C6GOI.js → test-runs-JS6DNCCI.js} +5 -5
  196. package/dist/cli-bundle/chunks/{test-runs-AJHR6IQF.js → test-runs-NZD2QGL5.js} +5 -5
  197. package/dist/cli-bundle/chunks/update-7IYQHX4Q.js +24 -0
  198. package/dist/cli-bundle/chunks/update-IJKDRBIX.js +28 -0
  199. package/dist/cli-bundle/chunks/{update-many-RYQ64CFW.js → update-many-6NTZ5J5D.js} +23 -23
  200. package/dist/cli-bundle/chunks/{update-many-N2AN6ZDH.js → update-many-B3TH5TDS.js} +23 -23
  201. package/dist/cli-bundle/chunks/{upgrade-VPCIYAVW.js → upgrade-4C7VE7MS.js} +8 -7
  202. package/dist/cli-bundle/chunks/{upgrade-VPCIYAVW.js.map → upgrade-4C7VE7MS.js.map} +1 -1
  203. package/dist/cli-bundle/chunks/{upgrade-TJXFLZIX.js → upgrade-76IKZ6EZ.js} +6 -5
  204. package/dist/cli-bundle/chunks/{upgrade-TJXFLZIX.js.map → upgrade-76IKZ6EZ.js.map} +1 -1
  205. package/dist/cli-bundle/chunks/{validate-PHKIYGSY.js → validate-AQU7OCL3.js} +21 -20
  206. package/dist/cli-bundle/chunks/{validate-PHKIYGSY.js.map → validate-AQU7OCL3.js.map} +1 -1
  207. package/dist/cli-bundle/chunks/{validate-JMNWEUYF.js → validate-BPM6Z3OT.js} +23 -22
  208. package/dist/cli-bundle/chunks/{validate-JMNWEUYF.js.map → validate-BPM6Z3OT.js.map} +1 -1
  209. package/dist/cli-bundle/main.js +34 -22
  210. package/dist/cli-bundle/main.js.map +2 -2
  211. package/dist/cli.js +3 -3
  212. package/dist/cli.js.map +1 -1
  213. package/dist/core/extensions/capability-usage.d.ts +82 -0
  214. package/dist/core/extensions/capability-usage.js +133 -0
  215. package/dist/core/extensions/capability-usage.js.map +1 -0
  216. package/dist/core/extensions/extension-capability-aliases.d.ts +7 -0
  217. package/dist/core/extensions/extension-capability-aliases.js +12 -2
  218. package/dist/core/extensions/extension-capability-aliases.js.map +1 -1
  219. package/dist/core/extensions/index.d.ts +1 -0
  220. package/dist/core/extensions/index.js +3 -2
  221. package/dist/core/extensions/index.js.map +1 -1
  222. package/dist/sdk/cli-contracts.d.ts +1 -0
  223. package/dist/sdk/cli-contracts.js +18 -13
  224. package/dist/sdk/cli-contracts.js.map +1 -1
  225. package/dist/sdk/index.d.ts +7 -2
  226. package/dist/sdk/index.js +8 -3
  227. package/dist/sdk/index.js.map +1 -1
  228. package/dist/sdk/testing.d.ts +520 -1
  229. package/dist/sdk/testing.js +477 -18
  230. package/dist/sdk/testing.js.map +1 -1
  231. package/docs/EXTENSIONS.md +4 -8
  232. package/docs/SDK.md +257 -0
  233. package/package.json +2 -2
  234. package/dist/cli-bundle/chunks/activity-CIHV64UC.js +0 -18
  235. package/dist/cli-bundle/chunks/chunk-32R4PIC6.js.map +0 -1
  236. package/dist/cli-bundle/chunks/chunk-434HM6Z5.js.map +0 -1
  237. package/dist/cli-bundle/chunks/chunk-5PCI3UBT.js.map +0 -7
  238. package/dist/cli-bundle/chunks/chunk-A4Z7ZOL5.js.map +0 -1
  239. package/dist/cli-bundle/chunks/chunk-HMOADQVT.js.map +0 -7
  240. package/dist/cli-bundle/chunks/close-DNMHGOCX.js +0 -15
  241. package/dist/cli-bundle/chunks/create-NNP6TSFO.js +0 -30
  242. package/dist/cli-bundle/chunks/history-WX3MGFS2.js +0 -20
  243. package/dist/cli-bundle/chunks/history-redact-YQGU3XRA.js +0 -21
  244. package/dist/cli-bundle/chunks/init-SC2P6CHP.js +0 -20
  245. package/dist/cli-bundle/chunks/register-setup-DYBFLEZX.js.map +0 -1
  246. package/dist/cli-bundle/chunks/register-setup-EG2U6CEU.js.map +0 -7
  247. package/dist/cli-bundle/chunks/restore-5KHR2YYQ.js +0 -19
  248. package/dist/cli-bundle/chunks/test-RQCTSWUK.js +0 -35
  249. package/dist/cli-bundle/chunks/update-6YXOGHRT.js +0 -24
  250. package/dist/cli-bundle/chunks/update-V33YUBRP.js +0 -28
  251. /package/dist/cli-bundle/chunks/{activity-KW3IRP44.js.map → activity-DXS2XMQU.js.map} +0 -0
  252. /package/dist/cli-bundle/chunks/{activity-CIHV64UC.js.map → activity-NEOI45NX.js.map} +0 -0
  253. /package/dist/cli-bundle/chunks/{aggregate-FIGQEIL3.js.map → aggregate-IHM4KMQ3.js.map} +0 -0
  254. /package/dist/cli-bundle/chunks/{aggregate-3ZKQG5SW.js.map → aggregate-NMYDVQF7.js.map} +0 -0
  255. /package/dist/cli-bundle/chunks/{append-EWJYJ7CH.js.map → append-3HY5G7ET.js.map} +0 -0
  256. /package/dist/cli-bundle/chunks/{append-QEOLX3XB.js.map → append-K54MDQYC.js.map} +0 -0
  257. /package/dist/cli-bundle/chunks/{chunk-CF55WVVS.js.map → chunk-25XZN3JD.js.map} +0 -0
  258. /package/dist/cli-bundle/chunks/{chunk-WQ7NIVDK.js.map → chunk-2LEYMXI6.js.map} +0 -0
  259. /package/dist/cli-bundle/chunks/{chunk-FRUFKWNK.js.map → chunk-3VLPDG3J.js.map} +0 -0
  260. /package/dist/cli-bundle/chunks/{chunk-C3AZ5ZML.js.map → chunk-44O4JIN6.js.map} +0 -0
  261. /package/dist/cli-bundle/chunks/{chunk-J4MYYSOL.js.map → chunk-47HTJ6BU.js.map} +0 -0
  262. /package/dist/cli-bundle/chunks/{chunk-YCJX76PW.js.map → chunk-4JXWVHMN.js.map} +0 -0
  263. /package/dist/cli-bundle/chunks/{chunk-37QXHBIB.js.map → chunk-4SDKF5BG.js.map} +0 -0
  264. /package/dist/cli-bundle/chunks/{chunk-NJHMAJ6N.js.map → chunk-5SESR24H.js.map} +0 -0
  265. /package/dist/cli-bundle/chunks/{chunk-2EIMPCE4.js.map → chunk-6FQHNHQQ.js.map} +0 -0
  266. /package/dist/cli-bundle/chunks/{chunk-5FIEHKEX.js.map → chunk-6UPTNMVW.js.map} +0 -0
  267. /package/dist/cli-bundle/chunks/{chunk-FKBDKV7Y.js.map → chunk-75VEYQJS.js.map} +0 -0
  268. /package/dist/cli-bundle/chunks/{chunk-GMHPNNYG.js.map → chunk-77VKGH4L.js.map} +0 -0
  269. /package/dist/cli-bundle/chunks/{chunk-OFYMIDF2.js.map → chunk-7MALIV5H.js.map} +0 -0
  270. /package/dist/cli-bundle/chunks/{chunk-RLK7P77C.js.map → chunk-7PBGTIN3.js.map} +0 -0
  271. /package/dist/cli-bundle/chunks/{chunk-6H4LF7AO.js.map → chunk-A25LOPRG.js.map} +0 -0
  272. /package/dist/cli-bundle/chunks/{chunk-M5XALUSL.js.map → chunk-A7E4ZXG2.js.map} +0 -0
  273. /package/dist/cli-bundle/chunks/{chunk-7D3SAQXM.js.map → chunk-AJXYOYJV.js.map} +0 -0
  274. /package/dist/cli-bundle/chunks/{chunk-HCU6WUSY.js.map → chunk-B2KR24R4.js.map} +0 -0
  275. /package/dist/cli-bundle/chunks/{chunk-2GCDRRIF.js.map → chunk-C5SWTISA.js.map} +0 -0
  276. /package/dist/cli-bundle/chunks/{chunk-AIS5PGI3.js.map → chunk-CLLVBO3I.js.map} +0 -0
  277. /package/dist/cli-bundle/chunks/{chunk-QGG32QHW.js.map → chunk-CR7KFPAQ.js.map} +0 -0
  278. /package/dist/cli-bundle/chunks/{chunk-UV6IYE5U.js.map → chunk-CWPBGUC7.js.map} +0 -0
  279. /package/dist/cli-bundle/chunks/{chunk-QQHISQBJ.js.map → chunk-DBQUQ3AS.js.map} +0 -0
  280. /package/dist/cli-bundle/chunks/{chunk-5QICDWMV.js.map → chunk-DHBPJ7VG.js.map} +0 -0
  281. /package/dist/cli-bundle/chunks/{chunk-SRYYRVPB.js.map → chunk-DMT4ODVN.js.map} +0 -0
  282. /package/dist/cli-bundle/chunks/{chunk-PUH4D67U.js.map → chunk-DU64SZUQ.js.map} +0 -0
  283. /package/dist/cli-bundle/chunks/{chunk-C4N5I7ZW.js.map → chunk-EVPVCE4R.js.map} +0 -0
  284. /package/dist/cli-bundle/chunks/{chunk-3EWSGA7N.js.map → chunk-FK6MV5F5.js.map} +0 -0
  285. /package/dist/cli-bundle/chunks/{chunk-NIUEXCFS.js.map → chunk-GGAXE22C.js.map} +0 -0
  286. /package/dist/cli-bundle/chunks/{chunk-SX75ADBK.js.map → chunk-GNDHOR64.js.map} +0 -0
  287. /package/dist/cli-bundle/chunks/{chunk-GOZUHWFD.js.map → chunk-GU7YHKYP.js.map} +0 -0
  288. /package/dist/cli-bundle/chunks/{chunk-NXS7ZKAK.js.map → chunk-GXBSFKSX.js.map} +0 -0
  289. /package/dist/cli-bundle/chunks/{chunk-NJN7LL7U.js.map → chunk-H6FNDCDI.js.map} +0 -0
  290. /package/dist/cli-bundle/chunks/{chunk-FWPDUYEY.js.map → chunk-HYQV75IB.js.map} +0 -0
  291. /package/dist/cli-bundle/chunks/{chunk-F5NZWFSW.js.map → chunk-I367IDZP.js.map} +0 -0
  292. /package/dist/cli-bundle/chunks/{chunk-52OCIDPG.js.map → chunk-I6XE47J2.js.map} +0 -0
  293. /package/dist/cli-bundle/chunks/{chunk-HIP7WVTL.js.map → chunk-J2TSPY5L.js.map} +0 -0
  294. /package/dist/cli-bundle/chunks/{chunk-2PKHRP6G.js.map → chunk-JLSC5NPC.js.map} +0 -0
  295. /package/dist/cli-bundle/chunks/{chunk-PP2U4NMT.js.map → chunk-JY25IOEZ.js.map} +0 -0
  296. /package/dist/cli-bundle/chunks/{chunk-Q2J2HJUN.js.map → chunk-K25UDYJ4.js.map} +0 -0
  297. /package/dist/cli-bundle/chunks/{chunk-SBGXDO7A.js.map → chunk-KBTREGVO.js.map} +0 -0
  298. /package/dist/cli-bundle/chunks/{chunk-QZTWBFXJ.js.map → chunk-KK4TQ3ZP.js.map} +0 -0
  299. /package/dist/cli-bundle/chunks/{chunk-NIGXMNNI.js.map → chunk-KRJJPDUO.js.map} +0 -0
  300. /package/dist/cli-bundle/chunks/{chunk-AZMOLBN3.js.map → chunk-MD7XKVWI.js.map} +0 -0
  301. /package/dist/cli-bundle/chunks/{chunk-6ZXM2XNF.js.map → chunk-MNGAQB2E.js.map} +0 -0
  302. /package/dist/cli-bundle/chunks/{chunk-3MDHREEV.js.map → chunk-NIWY4V4Z.js.map} +0 -0
  303. /package/dist/cli-bundle/chunks/{chunk-TKBHZPKD.js.map → chunk-NKZOJPXK.js.map} +0 -0
  304. /package/dist/cli-bundle/chunks/{chunk-CZPXY7UW.js.map → chunk-NVUATMTC.js.map} +0 -0
  305. /package/dist/cli-bundle/chunks/{chunk-LEU5GHRC.js.map → chunk-P7ZU73BO.js.map} +0 -0
  306. /package/dist/cli-bundle/chunks/{chunk-NSBZ2CKF.js.map → chunk-PCH2JTEO.js.map} +0 -0
  307. /package/dist/cli-bundle/chunks/{chunk-B473GZWW.js.map → chunk-PJS2J7Z4.js.map} +0 -0
  308. /package/dist/cli-bundle/chunks/{chunk-5IDI42VV.js.map → chunk-QQWEROGS.js.map} +0 -0
  309. /package/dist/cli-bundle/chunks/{chunk-6M4RJS4M.js.map → chunk-RPRFBXND.js.map} +0 -0
  310. /package/dist/cli-bundle/chunks/{chunk-N5ZJACJ6.js.map → chunk-SFKQAVZA.js.map} +0 -0
  311. /package/dist/cli-bundle/chunks/{chunk-EBH56IXK.js.map → chunk-THKDPOS5.js.map} +0 -0
  312. /package/dist/cli-bundle/chunks/{chunk-LUWW7L4B.js.map → chunk-TIKJAXQW.js.map} +0 -0
  313. /package/dist/cli-bundle/chunks/{chunk-OTHIWLMB.js.map → chunk-TJABI6PR.js.map} +0 -0
  314. /package/dist/cli-bundle/chunks/{chunk-76Z3YSHV.js.map → chunk-TZQKEBKF.js.map} +0 -0
  315. /package/dist/cli-bundle/chunks/{chunk-PFSRUHDH.js.map → chunk-UKK2VTTH.js.map} +0 -0
  316. /package/dist/cli-bundle/chunks/{chunk-H7NJZWG2.js.map → chunk-V4SM4UAL.js.map} +0 -0
  317. /package/dist/cli-bundle/chunks/{chunk-CZUB4XWO.js.map → chunk-VB54F347.js.map} +0 -0
  318. /package/dist/cli-bundle/chunks/{chunk-O47BPOPC.js.map → chunk-WBSYW3NT.js.map} +0 -0
  319. /package/dist/cli-bundle/chunks/{chunk-UPE3CDD7.js.map → chunk-WQDX7DVG.js.map} +0 -0
  320. /package/dist/cli-bundle/chunks/{chunk-NB3PYLQ6.js.map → chunk-XKNF3VRJ.js.map} +0 -0
  321. /package/dist/cli-bundle/chunks/{chunk-F7K5GWP3.js.map → chunk-Y335KFHD.js.map} +0 -0
  322. /package/dist/cli-bundle/chunks/{chunk-D7FYS6PG.js.map → chunk-Y4BZEND6.js.map} +0 -0
  323. /package/dist/cli-bundle/chunks/{chunk-6CJWZAN7.js.map → chunk-YATDFWYK.js.map} +0 -0
  324. /package/dist/cli-bundle/chunks/{chunk-UEMNL33O.js.map → chunk-YJICYNAV.js.map} +0 -0
  325. /package/dist/cli-bundle/chunks/{chunk-Z6T4PQI2.js.map → chunk-YQSWTVZF.js.map} +0 -0
  326. /package/dist/cli-bundle/chunks/{chunk-RVHYI7SL.js.map → chunk-YRLLL5TY.js.map} +0 -0
  327. /package/dist/cli-bundle/chunks/{claim-RC56YUWG.js.map → claim-MPXNVBZQ.js.map} +0 -0
  328. /package/dist/cli-bundle/chunks/{claim-THOJ6CMV.js.map → claim-SKHJDLW6.js.map} +0 -0
  329. /package/dist/cli-bundle/chunks/{close-SG5MNCVQ.js.map → close-4RKSL5L6.js.map} +0 -0
  330. /package/dist/cli-bundle/chunks/{close-DNMHGOCX.js.map → close-Z6AI736U.js.map} +0 -0
  331. /package/dist/cli-bundle/chunks/{close-many-DKQLBGLV.js.map → close-many-AWTPXLHJ.js.map} +0 -0
  332. /package/dist/cli-bundle/chunks/{close-many-3L3AQZBU.js.map → close-many-SXODYBDP.js.map} +0 -0
  333. /package/dist/cli-bundle/chunks/{comments-SKWMDWCW.js.map → comments-OOH64LWW.js.map} +0 -0
  334. /package/dist/cli-bundle/chunks/{comments-M7ZOZNBX.js.map → comments-YYW5P7AG.js.map} +0 -0
  335. /package/dist/cli-bundle/chunks/{config-OZCUABPB.js.map → config-3445MCQQ.js.map} +0 -0
  336. /package/dist/cli-bundle/chunks/{config-7CK62S7T.js.map → config-LCDMKRB2.js.map} +0 -0
  337. /package/dist/cli-bundle/chunks/{context-PUG2A7RC.js.map → context-DZMIBIVP.js.map} +0 -0
  338. /package/dist/cli-bundle/chunks/{context-OEC366TO.js.map → context-PJCURODY.js.map} +0 -0
  339. /package/dist/cli-bundle/chunks/{contracts-3THOLA7L.js.map → contracts-7YDFEJB3.js.map} +0 -0
  340. /package/dist/cli-bundle/chunks/{contracts-N65FXEOL.js.map → contracts-MP2P3HL5.js.map} +0 -0
  341. /package/dist/cli-bundle/chunks/{copy-JPX7VZCH.js.map → copy-63IQQRRS.js.map} +0 -0
  342. /package/dist/cli-bundle/chunks/{copy-6QLHILAC.js.map → copy-TASIH2AZ.js.map} +0 -0
  343. /package/dist/cli-bundle/chunks/{create-NNP6TSFO.js.map → create-3BV2VA3Q.js.map} +0 -0
  344. /package/dist/cli-bundle/chunks/{create-Y54ZVVZH.js.map → create-TGSB5GV4.js.map} +0 -0
  345. /package/dist/cli-bundle/chunks/{delete-63PCMQAJ.js.map → delete-ARILQQLB.js.map} +0 -0
  346. /package/dist/cli-bundle/chunks/{delete-GDSMGAGJ.js.map → delete-ZQKBZYNK.js.map} +0 -0
  347. /package/dist/cli-bundle/chunks/{deps-T4ZF5G54.js.map → deps-MSHQR2GY.js.map} +0 -0
  348. /package/dist/cli-bundle/chunks/{deps-XYQ73XRH.js.map → deps-NJFJIMQ5.js.map} +0 -0
  349. /package/dist/cli-bundle/chunks/{docs-C75YIXHC.js.map → docs-SS4UKYYA.js.map} +0 -0
  350. /package/dist/cli-bundle/chunks/{docs-EHNPDWUL.js.map → docs-XK2UVUXX.js.map} +0 -0
  351. /package/dist/cli-bundle/chunks/{eval-GTENKE24.js.map → eval-FVZGX5IZ.js.map} +0 -0
  352. /package/dist/cli-bundle/chunks/{eval-3WKDTRMH.js.map → eval-JOTG2YHU.js.map} +0 -0
  353. /package/dist/cli-bundle/chunks/{extension-46NWACO3.js.map → extension-NLMS47I4.js.map} +0 -0
  354. /package/dist/cli-bundle/chunks/{extension-D5FDZ2CO.js.map → extension-OQPS27B4.js.map} +0 -0
  355. /package/dist/cli-bundle/chunks/{files-X3H7CCBQ.js.map → files-3EVJQZ2N.js.map} +0 -0
  356. /package/dist/cli-bundle/chunks/{files-DSZBOSSN.js.map → files-Y2P6LN5A.js.map} +0 -0
  357. /package/dist/cli-bundle/chunks/{focus-5STQXDPU.js.map → focus-D5ZUPTII.js.map} +0 -0
  358. /package/dist/cli-bundle/chunks/{focus-MDVPOWB5.js.map → focus-ZPIFTY4R.js.map} +0 -0
  359. /package/dist/cli-bundle/chunks/{gc-ZMST3WQP.js.map → gc-LXXDY456.js.map} +0 -0
  360. /package/dist/cli-bundle/chunks/{gc-ZC7JHBG7.js.map → gc-RNOEQHSX.js.map} +0 -0
  361. /package/dist/cli-bundle/chunks/{get-NT7L2HUZ.js.map → get-Q3SZGQHD.js.map} +0 -0
  362. /package/dist/cli-bundle/chunks/{get-J2IPJRZW.js.map → get-W23G7MJX.js.map} +0 -0
  363. /package/dist/cli-bundle/chunks/{history-RLH2QCRO.js.map → history-6CZVFIUJ.js.map} +0 -0
  364. /package/dist/cli-bundle/chunks/{history-WX3MGFS2.js.map → history-YRQUD4YM.js.map} +0 -0
  365. /package/dist/cli-bundle/chunks/{history-compact-ZBEBGJM7.js.map → history-compact-M35PDQ4G.js.map} +0 -0
  366. /package/dist/cli-bundle/chunks/{history-compact-UXDIFC33.js.map → history-compact-VWUSQH6Z.js.map} +0 -0
  367. /package/dist/cli-bundle/chunks/{history-redact-YQGU3XRA.js.map → history-redact-27OEOZRZ.js.map} +0 -0
  368. /package/dist/cli-bundle/chunks/{history-redact-P7I7AWMB.js.map → history-redact-AJGARHT3.js.map} +0 -0
  369. /package/dist/cli-bundle/chunks/{history-repair-52KINVIK.js.map → history-repair-5RDMF7K4.js.map} +0 -0
  370. /package/dist/cli-bundle/chunks/{history-repair-RM5ITLU5.js.map → history-repair-YUAHIPIN.js.map} +0 -0
  371. /package/dist/cli-bundle/chunks/{init-SC2P6CHP.js.map → init-DWAKYRXI.js.map} +0 -0
  372. /package/dist/cli-bundle/chunks/{init-2BNZOO6F.js.map → init-HASX3YNJ.js.map} +0 -0
  373. /package/dist/cli-bundle/chunks/{learnings-W6F3FIPL.js.map → learnings-JNGUIJDK.js.map} +0 -0
  374. /package/dist/cli-bundle/chunks/{learnings-YGYVHWJK.js.map → learnings-M4KA6MQE.js.map} +0 -0
  375. /package/dist/cli-bundle/chunks/{list-KPAYU5KZ.js.map → list-5UU2W24O.js.map} +0 -0
  376. /package/dist/cli-bundle/chunks/{list-K6FPV4J4.js.map → list-6FMKTIH3.js.map} +0 -0
  377. /package/dist/cli-bundle/chunks/{notes-YTD6ZILW.js.map → notes-MODH5CBT.js.map} +0 -0
  378. /package/dist/cli-bundle/chunks/{notes-PU74EPKV.js.map → notes-PYCPLA5Y.js.map} +0 -0
  379. /package/dist/cli-bundle/chunks/{plan-GEQYUCBW.js.map → plan-DXRIRYRU.js.map} +0 -0
  380. /package/dist/cli-bundle/chunks/{plan-FNXHXRCI.js.map → plan-EHQALWSC.js.map} +0 -0
  381. /package/dist/cli-bundle/chunks/{register-list-query-QI45RMKN.js.map → register-list-query-QAASVP2J.js.map} +0 -0
  382. /package/dist/cli-bundle/chunks/{register-list-query-PHWYHENI.js.map → register-list-query-WE54YJMH.js.map} +0 -0
  383. /package/dist/cli-bundle/chunks/{register-mutation-YINRTS7L.js.map → register-mutation-B6DZJTY2.js.map} +0 -0
  384. /package/dist/cli-bundle/chunks/{register-mutation-X3BUOQEL.js.map → register-mutation-CPV4C2KR.js.map} +0 -0
  385. /package/dist/cli-bundle/chunks/{register-operations-E5JEASRK.js.map → register-operations-AT3BVVX2.js.map} +0 -0
  386. /package/dist/cli-bundle/chunks/{register-operations-MIDTRW7S.js.map → register-operations-RC4C3423.js.map} +0 -0
  387. /package/dist/cli-bundle/chunks/{restore-XQYSWBV7.js.map → restore-FNBV4GWE.js.map} +0 -0
  388. /package/dist/cli-bundle/chunks/{restore-5KHR2YYQ.js.map → restore-XY4YE2OV.js.map} +0 -0
  389. /package/dist/cli-bundle/chunks/{scheduling-shortcuts-HJMTEXKE.js.map → scheduling-shortcuts-ECL6GBMZ.js.map} +0 -0
  390. /package/dist/cli-bundle/chunks/{scheduling-shortcuts-NNT5ASZR.js.map → scheduling-shortcuts-JRIUREEU.js.map} +0 -0
  391. /package/dist/cli-bundle/chunks/{schema-TZXW6XWD.js.map → schema-74YENAJL.js.map} +0 -0
  392. /package/dist/cli-bundle/chunks/{schema-263RI4WW.js.map → schema-TCW3I7QR.js.map} +0 -0
  393. /package/dist/cli-bundle/chunks/{search-SFRJOVDG.js.map → search-7USZ6XZA.js.map} +0 -0
  394. /package/dist/cli-bundle/chunks/{search-LECJYSXE.js.map → search-GNAUE65M.js.map} +0 -0
  395. /package/dist/cli-bundle/chunks/{stats-VPBGSRQH.js.map → stats-CVHASAEU.js.map} +0 -0
  396. /package/dist/cli-bundle/chunks/{stats-N7ER2PNK.js.map → stats-DQMKJMFT.js.map} +0 -0
  397. /package/dist/cli-bundle/chunks/{telemetry-PP3FUNBU.js.map → telemetry-7P5EUWCS.js.map} +0 -0
  398. /package/dist/cli-bundle/chunks/{telemetry-L6K3BUIQ.js.map → telemetry-PQTL5YS2.js.map} +0 -0
  399. /package/dist/cli-bundle/chunks/{test-RQCTSWUK.js.map → test-COWPCGBE.js.map} +0 -0
  400. /package/dist/cli-bundle/chunks/{test-3EGNS3T5.js.map → test-FDQZQNZ4.js.map} +0 -0
  401. /package/dist/cli-bundle/chunks/{test-runs-GN3C6GOI.js.map → test-runs-JS6DNCCI.js.map} +0 -0
  402. /package/dist/cli-bundle/chunks/{test-runs-AJHR6IQF.js.map → test-runs-NZD2QGL5.js.map} +0 -0
  403. /package/dist/cli-bundle/chunks/{update-6YXOGHRT.js.map → update-7IYQHX4Q.js.map} +0 -0
  404. /package/dist/cli-bundle/chunks/{update-V33YUBRP.js.map → update-IJKDRBIX.js.map} +0 -0
  405. /package/dist/cli-bundle/chunks/{update-many-RYQ64CFW.js.map → update-many-6NTZ5J5D.js.map} +0 -0
  406. /package/dist/cli-bundle/chunks/{update-many-N2AN6ZDH.js.map → update-many-B3TH5TDS.js.map} +0 -0
package/docs/SDK.md CHANGED
@@ -74,6 +74,20 @@ Command/action contract exports:
74
74
  Testing helper exports (also under `@unbrained/pm-cli/sdk/testing`):
75
75
 
76
76
  - `activateExtensionForTest`
77
+ - `deactivateExtensionForTest`
78
+ - `runRegisteredCommandForTest`
79
+ - `runRegisteredHookForTest`
80
+ - `runRegisteredParserOverrideForTest`
81
+ - `runRegisteredPreflightOverrideForTest`
82
+ - `runRegisteredCommandOverrideForTest`
83
+ - `runRegisteredRendererOverrideForTest`
84
+ - `runRegisteredServiceOverrideForTest`
85
+ - `runRegisteredSearchProviderForTest`
86
+ - `runRegisteredVectorStoreAdapterForTest`
87
+ - `runRegisteredMigrationForTest`
88
+ - `runRegisteredImporterForTest`
89
+ - `runRegisteredExporterForTest`
90
+ - `assertExtensionDeactivated`
77
91
  - `assertPackageManifest`
78
92
  - `assertRegisteredCommandContract`
79
93
  - `assertRegisteredFlags`
@@ -90,6 +104,109 @@ Testing helper exports (also under `@unbrained/pm-cli/sdk/testing`):
90
104
  - `assertRegisteredItemType`
91
105
  - `assertRegisteredServiceOverride`
92
106
  - `assertRegisteredMigration`
107
+ - `assertExtensionCapabilityUsage`
108
+
109
+ `assertExtensionCapabilityUsage(activation, { declared })` is the least-privilege
110
+ counterpart of the per-surface `assertRegistered*` helpers: pass the same
111
+ capabilities as your `manifest.capabilities` and it fails the test when the
112
+ manifest grants a capability the extension never registers against. Use
113
+ `allowUnused` for capabilities a runtime registers only behind a config flag.
114
+
115
+ `deactivateExtensionForTest(module, options)` is the teardown counterpart to
116
+ `activateExtensionForTest`: it runs pm's real `deactivateExtensions` engine
117
+ (including the bounded per-hook timeout and best-effort failure capture) over the
118
+ module and returns the `ExtensionDeactivationResult`, so a package can prove its
119
+ `deactivate` releases the resources `activate` opened. `assertExtensionDeactivated(result)`
120
+ asserts the single-extension happy path (one extension deactivated, none failed)
121
+ by default; pass `{ deactivated, failed }` to assert other counts. Forward the
122
+ `activation` result and `deactivateTimeoutMs` to mirror real host teardown.
123
+
124
+ `runRegisteredCommandForTest(activation.commands, { command, args, options, global, pmRoot })`
125
+ is the "invoke" verb that completes the package-author testing loop —
126
+ `activateExtensionForTest` → `assertRegisteredCommandContract` → **run** →
127
+ `deactivateExtensionForTest`. It dispatches a registered command handler through
128
+ pm's real engine and returns the `CommandHandlerResult`, so a test can assert
129
+ *behavior* (`result.result`) rather than only that the command is wired. The
130
+ `CommandHandlerContext` is built with agent-safe global defaults
131
+ (`{ json: true, quiet: true, noPager: true }`) that callers may override. A clean
132
+ run yields `{ handled: true, result, warnings: [] }`; a handler that throws a
133
+ non-exit error yields `{ handled: false, warnings: [code], errorMessage }` so the
134
+ failure can be asserted, while one that throws an error carrying a numeric
135
+ `exitCode` propagates the throw. An unregistered command throws a descriptive
136
+ error listing the available handler command paths. Because
137
+ `registerImporter`/`registerExporter` register handlers under `"<name> import"` /
138
+ `"<name> export"`, the same helper exercises importer and exporter handlers too.
139
+
140
+ The remaining runtime surfaces an extension can register have matching invoke
141
+ helpers, so the "invoke" verb covers the whole command pipeline — not just
142
+ command handlers:
143
+
144
+ - `runRegisteredHookForTest(activation.hooks, { kind, context })` fires every
145
+ registered lifecycle hook of a `kind` (`before_command` | `after_command` |
146
+ `on_read` | `on_write` | `on_index`) through pm's real hook runner and returns
147
+ the warnings array (`[]` = clean; a thrown hook contributes one
148
+ `extension_hook_failed:*` warning while the others still run). The `context` is
149
+ type-safe per `kind`.
150
+ - `runRegisteredParserOverrideForTest(activation.parsers, context)` returns the
151
+ rewritten `ParserOverrideResult` (args/options/global the override produces
152
+ before dispatch).
153
+ - `runRegisteredPreflightOverrideForTest(activation.preflight, context)` returns
154
+ the `PreflightOverrideResult` (the migration/format gate decision).
155
+ - `runRegisteredCommandOverrideForTest(activation.commands, context)` returns the
156
+ `CommandOverrideResult` (the transformed command result payload).
157
+ - `runRegisteredRendererOverrideForTest(activation.renderers, context)` returns
158
+ the `RendererOverrideResult` (the custom string rendered for an output format).
159
+ - `runRegisteredServiceOverrideForTest(activation.services, context)` returns the
160
+ `ServiceOverrideResult` (how the override handles an internal service payload).
161
+
162
+ Each override helper guards that a matching override is registered for the target
163
+ (command / format / service), so a typo surfaces as a descriptive error rather
164
+ than a silent `overridden: false` / `handled: false`.
165
+
166
+ The *executable registration* surfaces — search providers, vector store
167
+ adapters, schema migrations, importers, and exporters — also have invoke helpers,
168
+ so every executable register\* method has both an `assertRegistered*` and a
169
+ `runRegistered*ForTest` counterpart. Each exercises the real registered behavior,
170
+ not a re-implementation, but along two execution paths that mirror how the host
171
+ runs them. Providers, adapters, and migrations are resolved through the same
172
+ runtime resolver the host uses and invoked via their `runtime_definition` (the
173
+ clone that preserves live functions). Importers and exporters have no standalone
174
+ `runtime_definition` — `registerImporter`/`registerExporter` wrap their handler
175
+ into a command path, so their helpers resolve by name and dispatch through the
176
+ command runner instead, returning a `CommandHandlerResult`:
177
+
178
+ - `runRegisteredSearchProviderForTest(activation.registrations, { provider, operation, context })`
179
+ resolves a registered provider by name (case-insensitive, last registration
180
+ wins) and invokes one `operation` — `query`, `embed`, `embedBatch`,
181
+ `queryExpansion`, or `rerank` — returning that operation's result. The
182
+ `context` and return type are inferred from `operation`, and the camelCase /
183
+ snake_case spellings the host accepts (`embedBatch`/`embed_batch`,
184
+ `queryExpansion`/`query_expansion`) both resolve.
185
+ - `runRegisteredVectorStoreAdapterForTest(activation.registrations, { adapter, operation, context })`
186
+ resolves a registered adapter by name and invokes `query` (returns
187
+ `VectorStoreQueryHit[]`), `upsert`, or `delete`.
188
+ - `runRegisteredMigrationForTest(activation.registrations, { migration, extensionName?, pmRoot? })`
189
+ resolves a registered migration by id and invokes its `run` with a context
190
+ mirroring the host's (`command: "migration"`, the registering extension's
191
+ layer/name, the supplied `pmRoot`, and the migration's normalized status),
192
+ returning whatever `run` returns. Unlike the host — which skips applied
193
+ migrations and folds a throw into a warning — it always invokes `run` and lets a
194
+ throw propagate, so both success and failure are assertable.
195
+ - `runRegisteredImporterForTest(activation, { importer, extensionName?, args?, options?, global?, pmRoot? })`
196
+ and `runRegisteredExporterForTest(activation, { exporter, ... })` resolve a
197
+ registered importer/exporter by name, derive the `"<name> import"` /
198
+ `"<name> export"` command path internally — so authors never hand-build it — and
199
+ validate that the name is genuinely a registered importer/exporter before
200
+ dispatching. They take the whole `activation` because resolution spans two
201
+ sub-registries (`registrations` proves it exists, `commands` holds the wrapped
202
+ handler), and they return the command runner's `CommandHandlerResult` verbatim,
203
+ so `handled`/`warnings`/`errorMessage` semantics and `exitCode` propagation match
204
+ invoking the importer/exporter as a command.
205
+
206
+ Each surface helper guards that the named provider / adapter / migration /
207
+ importer / exporter is registered (and, for providers and adapters, implements the
208
+ requested operation), so a typo surfaces as a descriptive error rather than a
209
+ silent no-op. All invoke helpers are `async`, so a test always `await`s them.
93
210
 
94
211
  Commander option contract exports:
95
212
 
@@ -116,6 +233,13 @@ Extension runtime contract exports:
116
233
  - `PM_EXTENSION_TRUST_MODE_CONTRACTS`
117
234
  - `PM_EXTENSION_SANDBOX_PROFILE_CONTRACTS`
118
235
 
236
+ Least-privilege capability reconciliation exports (map declared capabilities to
237
+ the registration surfaces a package actually exercises at activation):
238
+
239
+ - `EXTENSION_CAPABILITY_REGISTRATION_SURFACES`
240
+ - `collectUsedExtensionCapabilities`
241
+ - `reconcileExtensionCapabilityUsage`
242
+
119
243
  Common types:
120
244
 
121
245
  - `ExtensionApi`
@@ -282,6 +406,16 @@ Manifest:
282
406
  "version": "0.1.0",
283
407
  "entry": "./index.js",
284
408
  "pm_min_version": "2026.5.31",
409
+ "trusted": true,
410
+ "sandbox_profile": "strict",
411
+ "permissions": {
412
+ "fs_read": false,
413
+ "fs_write": false,
414
+ "network": false,
415
+ "env_read": false,
416
+ "env_write": false,
417
+ "process_spawn": false
418
+ },
285
419
  "capabilities": ["commands"]
286
420
  }
287
421
  ```
@@ -300,11 +434,27 @@ Manifest typing also accepts optional `engines` metadata:
300
434
  ```
301
435
 
302
436
  Use `pm_min_version` for the loader gate. Keep `engines` as package-manager and tooling metadata.
437
+ For pure command packages, keep `trusted: true`, `sandbox_profile: "strict"`, and all six permissions set to `false`; relax only the permission keys the package actually needs and verify the result with `pm package doctor --project --detail deep --trace`.
303
438
 
304
439
  For a complete commands-capability package that combines `registerCommand`,
305
440
  `registerFlags`, and `registerParser`, see the first-party
306
441
  [pm-command-kit exemplar](../packages/pm-command-kit/README.md).
307
442
 
443
+ For a generated starter, use `pm package init ./my-package`. Pass
444
+ `--capability hooks` to scaffold a command plus an `afterCommand` lifecycle
445
+ reactor and a runnable `node:test` file that exercises
446
+ `activateExtensionForTest`, `assertRegisteredHook`, `runRegisteredHookForTest`,
447
+ and `deactivateExtensionForTest`. Pass `--capability search` to scaffold a
448
+ command plus a deterministic search provider/vector-store adapter pair and a
449
+ runnable `node:test` file that exercises `assertRegisteredSearchProvider`,
450
+ `assertRegisteredVectorStoreAdapter`, `runRegisteredSearchProviderForTest`, and
451
+ `runRegisteredVectorStoreAdapterForTest`. Pass `--capability importers` to
452
+ scaffold paired import/export commands with example flag metadata and a runnable
453
+ `node:test` file that exercises `assertRegisteredImporter`,
454
+ `assertRegisteredExporter`, `runRegisteredImporterForTest`, and
455
+ `runRegisteredExporterForTest`; the generated manifest declares both `importers`
456
+ and `schema` because extension flag metadata is schema-governed.
457
+
308
458
  ## Self-Identity and Lifecycle
309
459
 
310
460
  `activate(api)` receives a read-only `api.extension` describing the extension it
@@ -457,6 +607,80 @@ guardrails, but it does not discover files or install packages. Use it for unit
457
607
  tests of extension registration shape; keep `pm package doctor` and runtime
458
608
  contracts in integration tests.
459
609
 
610
+ Invoke a registered command handler to assert its behavior (not just that it was
611
+ registered). `runRegisteredCommandForTest` dispatches through pm's real engine and
612
+ returns the `CommandHandlerResult`:
613
+
614
+ ```ts
615
+ import { runRegisteredCommandForTest } from "@unbrained/pm-cli/sdk/testing";
616
+
617
+ const invocation = await runRegisteredCommandForTest(activation.commands, {
618
+ command: "hello",
619
+ options: { name: "ada" },
620
+ });
621
+
622
+ // invocation.handled === true; invocation.result is the handler's return value.
623
+ ```
624
+
625
+ Importers and exporters get dedicated name-based helpers so tests never hand-build
626
+ the `"<name> import"` / `"<name> export"` command path. Pass the whole `activation`
627
+ and the registration name:
628
+
629
+ ```ts
630
+ import { runRegisteredImporterForTest, runRegisteredExporterForTest } from "@unbrained/pm-cli/sdk/testing";
631
+
632
+ const imported = await runRegisteredImporterForTest(activation, {
633
+ importer: "csv",
634
+ options: { rows: 3 },
635
+ });
636
+ const exported = await runRegisteredExporterForTest(activation, { exporter: "csv" });
637
+
638
+ // Both return a CommandHandlerResult: imported.result is the importer's return value.
639
+ ```
640
+
641
+ Fire a registered lifecycle hook to assert its behavior (the `context` is
642
+ type-safe per `kind`). A clean run returns `[]`; a hook that throws contributes a
643
+ single `extension_hook_failed:*` warning while the others still run:
644
+
645
+ ```ts
646
+ import { runRegisteredHookForTest } from "@unbrained/pm-cli/sdk/testing";
647
+
648
+ const warnings = await runRegisteredHookForTest(activation.hooks, {
649
+ kind: "after_command",
650
+ context: { command: "close", args: ["pm-1a2b"], pm_root: "", ok: true },
651
+ });
652
+ // warnings === [] when every after_command hook ran cleanly.
653
+ ```
654
+
655
+ The override surfaces have parallel invoke helpers that delegate to pm's real
656
+ runners and return the override result verbatim, after guarding that a matching
657
+ override is registered for the target (command / format / service):
658
+
659
+ ```ts
660
+ import {
661
+ runRegisteredParserOverrideForTest,
662
+ runRegisteredCommandOverrideForTest,
663
+ runRegisteredRendererOverrideForTest,
664
+ runRegisteredServiceOverrideForTest,
665
+ runRegisteredPreflightOverrideForTest,
666
+ } from "@unbrained/pm-cli/sdk/testing";
667
+
668
+ const parsed = await runRegisteredParserOverrideForTest(activation.parsers, {
669
+ command: "deploy",
670
+ args: ["staging"],
671
+ options: {},
672
+ global: {},
673
+ pm_root: "",
674
+ });
675
+ // parsed.overridden === true; parsed.context holds the rewritten args/options.
676
+
677
+ const rendered = await runRegisteredRendererOverrideForTest(activation.renderers, {
678
+ format: "toon",
679
+ result: { id: "pm-1a2b" },
680
+ });
681
+ // rendered.rendered is the custom string the override produced.
682
+ ```
683
+
460
684
  Assert a command registration contract:
461
685
 
462
686
  ```ts
@@ -585,6 +809,39 @@ Together these complete the SDK assertion surface: every extension `register*`
585
809
  method now has a matching `assertRegistered*` helper, so packages can prove any
586
810
  registration without importing private registry internals.
587
811
 
812
+ The three executable registration surfaces add `runRegistered*ForTest` invoke
813
+ helpers on top of those assertions, so a package can exercise the real behavior of
814
+ a custom provider, adapter, or migration:
815
+
816
+ ```ts
817
+ import {
818
+ runRegisteredSearchProviderForTest,
819
+ runRegisteredVectorStoreAdapterForTest,
820
+ runRegisteredMigrationForTest,
821
+ } from "@unbrained/pm-cli/sdk/testing";
822
+
823
+ // Invoke a registered provider's semantic query (or embed / embedBatch /
824
+ // queryExpansion / rerank); the result type follows `operation`.
825
+ const hits = await runRegisteredSearchProviderForTest(activation.registrations, {
826
+ provider: "semantic-local",
827
+ operation: "query",
828
+ context: { query: "calendar", mode: "semantic", tokens: ["calendar"], options: {}, settings, documents },
829
+ });
830
+
831
+ // Invoke a registered adapter's upsert / query / delete.
832
+ await runRegisteredVectorStoreAdapterForTest(activation.registrations, {
833
+ adapter: "pinecone",
834
+ operation: "upsert",
835
+ context: { points: [{ id: "pm-1", vector }], settings },
836
+ });
837
+
838
+ // Invoke a registered migration's run with a host-shaped context.
839
+ await runRegisteredMigrationForTest(activation.registrations, {
840
+ migration: "backfill-severity",
841
+ pmRoot,
842
+ });
843
+ ```
844
+
588
845
  The bundled `pm-lifecycle-hooks` package is the first-party hooks exemplar. It
589
846
  declares only the `hooks` capability and registers a default-inert `afterCommand`
590
847
  hook, so package authors can copy a lifecycle pattern that does not write files,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unbrained/pm-cli",
3
- "version": "2026.6.21",
3
+ "version": "2026.6.22",
4
4
  "description": "Git-native project management CLI for humans and agents.",
5
5
  "type": "module",
6
6
  "author": "unbrained",
@@ -133,7 +133,7 @@
133
133
  },
134
134
  "devDependencies": {
135
135
  "@sentry/cli": "^3.5.1",
136
- "@types/node": "^25.9.3",
136
+ "@types/node": "^20.0.0",
137
137
  "@vitest/coverage-v8": "^4.1.9",
138
138
  "esbuild": "0.28.1",
139
139
  "tsx": "^4.22.4",
@@ -1,18 +0,0 @@
1
- import {
2
- _testOnly,
3
- runActivity
4
- } from "./chunk-5IDI42VV.js";
5
- import "./chunk-RVHYI7SL.js";
6
- import "./chunk-HIP7WVTL.js";
7
- import "./chunk-B473GZWW.js";
8
- import "./chunk-SX75ADBK.js";
9
- import "./chunk-7D3SAQXM.js";
10
- import "./chunk-QGG32QHW.js";
11
- import "./chunk-FRUFKWNK.js";
12
- import "./chunk-YCJX76PW.js";
13
- import "./chunk-HMOADQVT.js";
14
- export {
15
- _testOnly,
16
- runActivity
17
- };
18
- //# sourceMappingURL=activity-CIHV64UC.js.map