@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.
- package/CHANGELOG.md +22 -0
- package/dist/cli/commands/completion.js +5 -3
- package/dist/cli/commands/completion.js.map +1 -1
- package/dist/cli/commands/extension/doctor.d.ts +11 -0
- package/dist/cli/commands/extension/doctor.js +31 -2
- package/dist/cli/commands/extension/doctor.js.map +1 -1
- package/dist/cli/commands/extension/scaffold.d.ts +16 -2
- package/dist/cli/commands/extension/scaffold.js +481 -48
- package/dist/cli/commands/extension/scaffold.js.map +1 -1
- package/dist/cli/commands/extension.d.ts +1 -0
- package/dist/cli/commands/extension.js +9 -4
- package/dist/cli/commands/extension.js.map +1 -1
- package/dist/cli/help-content.js +16 -4
- package/dist/cli/help-content.js.map +1 -1
- package/dist/cli/register-setup.js +6 -2
- package/dist/cli/register-setup.js.map +1 -1
- package/dist/cli-bundle/chunks/{activity-KW3IRP44.js → activity-DXS2XMQU.js} +11 -11
- package/dist/cli-bundle/chunks/activity-NEOI45NX.js +18 -0
- package/dist/cli-bundle/chunks/{aggregate-FIGQEIL3.js → aggregate-IHM4KMQ3.js} +10 -10
- package/dist/cli-bundle/chunks/{aggregate-3ZKQG5SW.js → aggregate-NMYDVQF7.js} +10 -10
- package/dist/cli-bundle/chunks/{append-EWJYJ7CH.js → append-3HY5G7ET.js} +8 -8
- package/dist/cli-bundle/chunks/{append-QEOLX3XB.js → append-K54MDQYC.js} +8 -8
- package/dist/cli-bundle/chunks/{chunk-CF55WVVS.js → chunk-25XZN3JD.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-WQ7NIVDK.js → chunk-2LEYMXI6.js} +4 -4
- package/dist/cli-bundle/chunks/chunk-3GL6LTUL.js +643 -0
- package/dist/cli-bundle/chunks/chunk-3GL6LTUL.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-FRUFKWNK.js → chunk-3VLPDG3J.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-C3AZ5ZML.js → chunk-44O4JIN6.js} +13 -13
- package/dist/cli-bundle/chunks/{chunk-J4MYYSOL.js → chunk-47HTJ6BU.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-YCJX76PW.js → chunk-4JXWVHMN.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-37QXHBIB.js → chunk-4SDKF5BG.js} +3 -3
- package/dist/cli-bundle/chunks/chunk-4YJA4LGU.js +646 -0
- package/dist/cli-bundle/chunks/chunk-4YJA4LGU.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-NJHMAJ6N.js → chunk-5SESR24H.js} +8 -8
- package/dist/cli-bundle/chunks/{chunk-2EIMPCE4.js → chunk-6FQHNHQQ.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-5FIEHKEX.js → chunk-6UPTNMVW.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-FKBDKV7Y.js → chunk-75VEYQJS.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-GMHPNNYG.js → chunk-77VKGH4L.js} +10 -10
- package/dist/cli-bundle/chunks/{chunk-5PCI3UBT.js → chunk-7GCCDXXN.js} +55 -266
- package/dist/cli-bundle/chunks/chunk-7GCCDXXN.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-OFYMIDF2.js → chunk-7MALIV5H.js} +9 -9
- package/dist/cli-bundle/chunks/{chunk-A4Z7ZOL5.js → chunk-7MPTFYT3.js} +20 -15
- package/dist/cli-bundle/chunks/chunk-7MPTFYT3.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-RLK7P77C.js → chunk-7PBGTIN3.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-6H4LF7AO.js → chunk-A25LOPRG.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-M5XALUSL.js → chunk-A7E4ZXG2.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-7D3SAQXM.js → chunk-AJXYOYJV.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-HCU6WUSY.js → chunk-B2KR24R4.js} +9 -9
- package/dist/cli-bundle/chunks/{chunk-2GCDRRIF.js → chunk-C5SWTISA.js} +12 -12
- package/dist/cli-bundle/chunks/{chunk-AIS5PGI3.js → chunk-CLLVBO3I.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-QGG32QHW.js → chunk-CR7KFPAQ.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-UV6IYE5U.js → chunk-CWPBGUC7.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-32R4PIC6.js → chunk-D35LTIFR.js} +55 -259
- package/dist/cli-bundle/chunks/chunk-D35LTIFR.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-QQHISQBJ.js → chunk-DBQUQ3AS.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-5QICDWMV.js → chunk-DHBPJ7VG.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-SRYYRVPB.js → chunk-DMT4ODVN.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-PUH4D67U.js → chunk-DU64SZUQ.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-C4N5I7ZW.js → chunk-EVPVCE4R.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-3EWSGA7N.js → chunk-FK6MV5F5.js} +12 -12
- package/dist/cli-bundle/chunks/{chunk-NIUEXCFS.js → chunk-GGAXE22C.js} +6 -6
- package/dist/cli-bundle/chunks/{chunk-SX75ADBK.js → chunk-GNDHOR64.js} +6 -6
- package/dist/cli-bundle/chunks/{chunk-GOZUHWFD.js → chunk-GU7YHKYP.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-NXS7ZKAK.js → chunk-GXBSFKSX.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-NJN7LL7U.js → chunk-H6FNDCDI.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-FWPDUYEY.js → chunk-HYQV75IB.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-F5NZWFSW.js → chunk-I367IDZP.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-52OCIDPG.js → chunk-I6XE47J2.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-HIP7WVTL.js → chunk-J2TSPY5L.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-2PKHRP6G.js → chunk-JLSC5NPC.js} +10 -10
- package/dist/cli-bundle/chunks/{chunk-PP2U4NMT.js → chunk-JY25IOEZ.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-Q2J2HJUN.js → chunk-K25UDYJ4.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-SBGXDO7A.js → chunk-KBTREGVO.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-QZTWBFXJ.js → chunk-KK4TQ3ZP.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-434HM6Z5.js → chunk-KL5ELX2X.js} +81 -3
- package/dist/cli-bundle/chunks/chunk-KL5ELX2X.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-NIGXMNNI.js → chunk-KRJJPDUO.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-AZMOLBN3.js → chunk-MD7XKVWI.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-6ZXM2XNF.js → chunk-MNGAQB2E.js} +8 -8
- package/dist/cli-bundle/chunks/{chunk-3MDHREEV.js → chunk-NIWY4V4Z.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-TKBHZPKD.js → chunk-NKZOJPXK.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-CZPXY7UW.js → chunk-NVUATMTC.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-LEU5GHRC.js → chunk-P7ZU73BO.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-NSBZ2CKF.js → chunk-PCH2JTEO.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-B473GZWW.js → chunk-PJS2J7Z4.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-5IDI42VV.js → chunk-QQWEROGS.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-6M4RJS4M.js → chunk-RPRFBXND.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-HMOADQVT.js → chunk-RZZMSY4P.js} +88 -3
- package/dist/cli-bundle/chunks/chunk-RZZMSY4P.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-N5ZJACJ6.js → chunk-SFKQAVZA.js} +8 -8
- package/dist/cli-bundle/chunks/{chunk-EBH56IXK.js → chunk-THKDPOS5.js} +8 -8
- package/dist/cli-bundle/chunks/{chunk-LUWW7L4B.js → chunk-TIKJAXQW.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-OTHIWLMB.js → chunk-TJABI6PR.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-HC4AWIKT.js → chunk-TRUFOER3.js} +19 -14
- package/dist/cli-bundle/chunks/{chunk-HC4AWIKT.js.map → chunk-TRUFOER3.js.map} +2 -2
- package/dist/cli-bundle/chunks/{chunk-76Z3YSHV.js → chunk-TZQKEBKF.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-PFSRUHDH.js → chunk-UKK2VTTH.js} +9 -9
- package/dist/cli-bundle/chunks/{chunk-H7NJZWG2.js → chunk-V4SM4UAL.js} +13 -13
- package/dist/cli-bundle/chunks/{chunk-CZUB4XWO.js → chunk-VB54F347.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-O47BPOPC.js → chunk-WBSYW3NT.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-UPE3CDD7.js → chunk-WQDX7DVG.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-NB3PYLQ6.js → chunk-XKNF3VRJ.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-F7K5GWP3.js → chunk-Y335KFHD.js} +9 -9
- package/dist/cli-bundle/chunks/{chunk-D7FYS6PG.js → chunk-Y4BZEND6.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-6CJWZAN7.js → chunk-YATDFWYK.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-UEMNL33O.js → chunk-YJICYNAV.js} +8 -8
- package/dist/cli-bundle/chunks/{chunk-Z6T4PQI2.js → chunk-YQSWTVZF.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-RVHYI7SL.js → chunk-YRLLL5TY.js} +8 -8
- package/dist/cli-bundle/chunks/{claim-RC56YUWG.js → claim-MPXNVBZQ.js} +10 -10
- package/dist/cli-bundle/chunks/{claim-THOJ6CMV.js → claim-SKHJDLW6.js} +10 -10
- package/dist/cli-bundle/chunks/{close-SG5MNCVQ.js → close-4RKSL5L6.js} +8 -8
- package/dist/cli-bundle/chunks/close-Z6AI736U.js +15 -0
- package/dist/cli-bundle/chunks/{close-many-DKQLBGLV.js → close-many-AWTPXLHJ.js} +15 -15
- package/dist/cli-bundle/chunks/{close-many-3L3AQZBU.js → close-many-SXODYBDP.js} +15 -15
- package/dist/cli-bundle/chunks/{comments-SKWMDWCW.js → comments-OOH64LWW.js} +10 -10
- package/dist/cli-bundle/chunks/{comments-M7ZOZNBX.js → comments-YYW5P7AG.js} +10 -10
- package/dist/cli-bundle/chunks/{config-OZCUABPB.js → config-3445MCQQ.js} +8 -8
- package/dist/cli-bundle/chunks/{config-7CK62S7T.js → config-LCDMKRB2.js} +8 -8
- package/dist/cli-bundle/chunks/{context-PUG2A7RC.js → context-DZMIBIVP.js} +13 -13
- package/dist/cli-bundle/chunks/{context-OEC366TO.js → context-PJCURODY.js} +13 -13
- package/dist/cli-bundle/chunks/{contracts-3THOLA7L.js → contracts-7YDFEJB3.js} +4 -4
- package/dist/cli-bundle/chunks/{contracts-N65FXEOL.js → contracts-MP2P3HL5.js} +4 -4
- package/dist/cli-bundle/chunks/{copy-JPX7VZCH.js → copy-63IQQRRS.js} +7 -7
- package/dist/cli-bundle/chunks/{copy-6QLHILAC.js → copy-TASIH2AZ.js} +7 -7
- package/dist/cli-bundle/chunks/create-3BV2VA3Q.js +30 -0
- package/dist/cli-bundle/chunks/{create-Y54ZVVZH.js → create-TGSB5GV4.js} +14 -14
- package/dist/cli-bundle/chunks/{delete-63PCMQAJ.js → delete-ARILQQLB.js} +7 -7
- package/dist/cli-bundle/chunks/{delete-GDSMGAGJ.js → delete-ZQKBZYNK.js} +7 -7
- package/dist/cli-bundle/chunks/{deps-T4ZF5G54.js → deps-MSHQR2GY.js} +7 -7
- package/dist/cli-bundle/chunks/{deps-XYQ73XRH.js → deps-NJFJIMQ5.js} +7 -7
- package/dist/cli-bundle/chunks/{docs-C75YIXHC.js → docs-SS4UKYYA.js} +9 -9
- package/dist/cli-bundle/chunks/{docs-EHNPDWUL.js → docs-XK2UVUXX.js} +9 -9
- package/dist/cli-bundle/chunks/{eval-GTENKE24.js → eval-FVZGX5IZ.js} +12 -12
- package/dist/cli-bundle/chunks/{eval-3WKDTRMH.js → eval-JOTG2YHU.js} +12 -12
- package/dist/cli-bundle/chunks/{extension-46NWACO3.js → extension-NLMS47I4.js} +6 -5
- package/dist/cli-bundle/chunks/{extension-D5FDZ2CO.js → extension-OQPS27B4.js} +6 -5
- package/dist/cli-bundle/chunks/{files-X3H7CCBQ.js → files-3EVJQZ2N.js} +9 -9
- package/dist/cli-bundle/chunks/{files-DSZBOSSN.js → files-Y2P6LN5A.js} +9 -9
- package/dist/cli-bundle/chunks/{focus-5STQXDPU.js → focus-D5ZUPTII.js} +8 -8
- package/dist/cli-bundle/chunks/{focus-MDVPOWB5.js → focus-ZPIFTY4R.js} +8 -8
- package/dist/cli-bundle/chunks/{gc-ZMST3WQP.js → gc-LXXDY456.js} +3 -3
- package/dist/cli-bundle/chunks/{gc-ZC7JHBG7.js → gc-RNOEQHSX.js} +3 -3
- package/dist/cli-bundle/chunks/{get-NT7L2HUZ.js → get-Q3SZGQHD.js} +11 -11
- package/dist/cli-bundle/chunks/{get-J2IPJRZW.js → get-W23G7MJX.js} +11 -11
- package/dist/cli-bundle/chunks/{health-WOYBR3KU.js → health-5LHSX365.js} +14 -13
- package/dist/cli-bundle/chunks/{health-WOYBR3KU.js.map → health-5LHSX365.js.map} +1 -1
- package/dist/cli-bundle/chunks/{health-IVMA3XQC.js → health-UDDGJLPP.js} +16 -15
- package/dist/cli-bundle/chunks/{health-IVMA3XQC.js.map → health-UDDGJLPP.js.map} +1 -1
- package/dist/cli-bundle/chunks/{history-RLH2QCRO.js → history-6CZVFIUJ.js} +10 -10
- package/dist/cli-bundle/chunks/history-YRQUD4YM.js +20 -0
- package/dist/cli-bundle/chunks/{history-compact-ZBEBGJM7.js → history-compact-M35PDQ4G.js} +12 -12
- package/dist/cli-bundle/chunks/{history-compact-UXDIFC33.js → history-compact-VWUSQH6Z.js} +12 -12
- package/dist/cli-bundle/chunks/history-redact-27OEOZRZ.js +21 -0
- package/dist/cli-bundle/chunks/{history-redact-P7I7AWMB.js → history-redact-AJGARHT3.js} +11 -11
- package/dist/cli-bundle/chunks/{history-repair-52KINVIK.js → history-repair-5RDMF7K4.js} +12 -12
- package/dist/cli-bundle/chunks/{history-repair-RM5ITLU5.js → history-repair-YUAHIPIN.js} +12 -12
- package/dist/cli-bundle/chunks/init-DWAKYRXI.js +21 -0
- package/dist/cli-bundle/chunks/{init-2BNZOO6F.js → init-HASX3YNJ.js} +11 -10
- package/dist/cli-bundle/chunks/{learnings-W6F3FIPL.js → learnings-JNGUIJDK.js} +10 -10
- package/dist/cli-bundle/chunks/{learnings-YGYVHWJK.js → learnings-M4KA6MQE.js} +10 -10
- package/dist/cli-bundle/chunks/{list-KPAYU5KZ.js → list-5UU2W24O.js} +10 -10
- package/dist/cli-bundle/chunks/{list-K6FPV4J4.js → list-6FMKTIH3.js} +10 -10
- package/dist/cli-bundle/chunks/{notes-YTD6ZILW.js → notes-MODH5CBT.js} +10 -10
- package/dist/cli-bundle/chunks/{notes-PU74EPKV.js → notes-PYCPLA5Y.js} +10 -10
- package/dist/cli-bundle/chunks/{plan-GEQYUCBW.js → plan-DXRIRYRU.js} +14 -14
- package/dist/cli-bundle/chunks/{plan-FNXHXRCI.js → plan-EHQALWSC.js} +14 -14
- package/dist/cli-bundle/chunks/{register-list-query-QI45RMKN.js → register-list-query-QAASVP2J.js} +19 -19
- package/dist/cli-bundle/chunks/{register-list-query-PHWYHENI.js → register-list-query-WE54YJMH.js} +19 -19
- package/dist/cli-bundle/chunks/{register-mutation-YINRTS7L.js → register-mutation-B6DZJTY2.js} +33 -33
- package/dist/cli-bundle/chunks/{register-mutation-X3BUOQEL.js → register-mutation-CPV4C2KR.js} +33 -33
- package/dist/cli-bundle/chunks/{register-operations-E5JEASRK.js → register-operations-AT3BVVX2.js} +32 -32
- package/dist/cli-bundle/chunks/{register-operations-MIDTRW7S.js → register-operations-RC4C3423.js} +32 -32
- package/dist/cli-bundle/chunks/{register-setup-EG2U6CEU.js → register-setup-HXEHMDHE.js} +23 -18
- package/dist/cli-bundle/chunks/register-setup-HXEHMDHE.js.map +7 -0
- package/dist/cli-bundle/chunks/{register-setup-DYBFLEZX.js → register-setup-JSMJEFCJ.js} +24 -19
- package/dist/cli-bundle/chunks/register-setup-JSMJEFCJ.js.map +1 -0
- package/dist/cli-bundle/chunks/{restore-XQYSWBV7.js → restore-FNBV4GWE.js} +11 -11
- package/dist/cli-bundle/chunks/restore-XY4YE2OV.js +19 -0
- package/dist/cli-bundle/chunks/{scheduling-shortcuts-HJMTEXKE.js → scheduling-shortcuts-ECL6GBMZ.js} +14 -14
- package/dist/cli-bundle/chunks/{scheduling-shortcuts-NNT5ASZR.js → scheduling-shortcuts-JRIUREEU.js} +14 -14
- package/dist/cli-bundle/chunks/{schema-TZXW6XWD.js → schema-74YENAJL.js} +9 -9
- package/dist/cli-bundle/chunks/{schema-263RI4WW.js → schema-TCW3I7QR.js} +9 -9
- package/dist/cli-bundle/chunks/{search-SFRJOVDG.js → search-7USZ6XZA.js} +12 -12
- package/dist/cli-bundle/chunks/{search-LECJYSXE.js → search-GNAUE65M.js} +12 -12
- package/dist/cli-bundle/chunks/{stats-VPBGSRQH.js → stats-CVHASAEU.js} +8 -8
- package/dist/cli-bundle/chunks/{stats-N7ER2PNK.js → stats-DQMKJMFT.js} +8 -8
- package/dist/cli-bundle/chunks/{telemetry-PP3FUNBU.js → telemetry-7P5EUWCS.js} +4 -4
- package/dist/cli-bundle/chunks/{telemetry-L6K3BUIQ.js → telemetry-PQTL5YS2.js} +4 -4
- package/dist/cli-bundle/chunks/test-COWPCGBE.js +36 -0
- package/dist/cli-bundle/chunks/{test-3EGNS3T5.js → test-FDQZQNZ4.js} +16 -15
- package/dist/cli-bundle/chunks/{test-all-ZHFAWNC3.js → test-all-PIPPS4S5.js} +18 -17
- package/dist/cli-bundle/chunks/{test-all-ZHFAWNC3.js.map → test-all-PIPPS4S5.js.map} +1 -1
- package/dist/cli-bundle/chunks/{test-all-NJ5V2QFS.js → test-all-WQIAZVA6.js} +16 -15
- package/dist/cli-bundle/chunks/{test-all-NJ5V2QFS.js.map → test-all-WQIAZVA6.js.map} +1 -1
- package/dist/cli-bundle/chunks/{test-runs-GN3C6GOI.js → test-runs-JS6DNCCI.js} +5 -5
- package/dist/cli-bundle/chunks/{test-runs-AJHR6IQF.js → test-runs-NZD2QGL5.js} +5 -5
- package/dist/cli-bundle/chunks/update-7IYQHX4Q.js +24 -0
- package/dist/cli-bundle/chunks/update-IJKDRBIX.js +28 -0
- package/dist/cli-bundle/chunks/{update-many-RYQ64CFW.js → update-many-6NTZ5J5D.js} +23 -23
- package/dist/cli-bundle/chunks/{update-many-N2AN6ZDH.js → update-many-B3TH5TDS.js} +23 -23
- package/dist/cli-bundle/chunks/{upgrade-VPCIYAVW.js → upgrade-4C7VE7MS.js} +8 -7
- package/dist/cli-bundle/chunks/{upgrade-VPCIYAVW.js.map → upgrade-4C7VE7MS.js.map} +1 -1
- package/dist/cli-bundle/chunks/{upgrade-TJXFLZIX.js → upgrade-76IKZ6EZ.js} +6 -5
- package/dist/cli-bundle/chunks/{upgrade-TJXFLZIX.js.map → upgrade-76IKZ6EZ.js.map} +1 -1
- package/dist/cli-bundle/chunks/{validate-PHKIYGSY.js → validate-AQU7OCL3.js} +21 -20
- package/dist/cli-bundle/chunks/{validate-PHKIYGSY.js.map → validate-AQU7OCL3.js.map} +1 -1
- package/dist/cli-bundle/chunks/{validate-JMNWEUYF.js → validate-BPM6Z3OT.js} +23 -22
- package/dist/cli-bundle/chunks/{validate-JMNWEUYF.js.map → validate-BPM6Z3OT.js.map} +1 -1
- package/dist/cli-bundle/main.js +34 -22
- package/dist/cli-bundle/main.js.map +2 -2
- package/dist/cli.js +3 -3
- package/dist/cli.js.map +1 -1
- package/dist/core/extensions/capability-usage.d.ts +82 -0
- package/dist/core/extensions/capability-usage.js +133 -0
- package/dist/core/extensions/capability-usage.js.map +1 -0
- package/dist/core/extensions/extension-capability-aliases.d.ts +7 -0
- package/dist/core/extensions/extension-capability-aliases.js +12 -2
- package/dist/core/extensions/extension-capability-aliases.js.map +1 -1
- package/dist/core/extensions/index.d.ts +1 -0
- package/dist/core/extensions/index.js +3 -2
- package/dist/core/extensions/index.js.map +1 -1
- package/dist/sdk/cli-contracts.d.ts +1 -0
- package/dist/sdk/cli-contracts.js +18 -13
- package/dist/sdk/cli-contracts.js.map +1 -1
- package/dist/sdk/index.d.ts +7 -2
- package/dist/sdk/index.js +8 -3
- package/dist/sdk/index.js.map +1 -1
- package/dist/sdk/testing.d.ts +520 -1
- package/dist/sdk/testing.js +477 -18
- package/dist/sdk/testing.js.map +1 -1
- package/docs/EXTENSIONS.md +4 -8
- package/docs/SDK.md +257 -0
- package/package.json +2 -2
- package/dist/cli-bundle/chunks/activity-CIHV64UC.js +0 -18
- package/dist/cli-bundle/chunks/chunk-32R4PIC6.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-434HM6Z5.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-5PCI3UBT.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-A4Z7ZOL5.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-HMOADQVT.js.map +0 -7
- package/dist/cli-bundle/chunks/close-DNMHGOCX.js +0 -15
- package/dist/cli-bundle/chunks/create-NNP6TSFO.js +0 -30
- package/dist/cli-bundle/chunks/history-WX3MGFS2.js +0 -20
- package/dist/cli-bundle/chunks/history-redact-YQGU3XRA.js +0 -21
- package/dist/cli-bundle/chunks/init-SC2P6CHP.js +0 -20
- package/dist/cli-bundle/chunks/register-setup-DYBFLEZX.js.map +0 -1
- package/dist/cli-bundle/chunks/register-setup-EG2U6CEU.js.map +0 -7
- package/dist/cli-bundle/chunks/restore-5KHR2YYQ.js +0 -19
- package/dist/cli-bundle/chunks/test-RQCTSWUK.js +0 -35
- package/dist/cli-bundle/chunks/update-6YXOGHRT.js +0 -24
- package/dist/cli-bundle/chunks/update-V33YUBRP.js +0 -28
- /package/dist/cli-bundle/chunks/{activity-KW3IRP44.js.map → activity-DXS2XMQU.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{activity-CIHV64UC.js.map → activity-NEOI45NX.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{aggregate-FIGQEIL3.js.map → aggregate-IHM4KMQ3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{aggregate-3ZKQG5SW.js.map → aggregate-NMYDVQF7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{append-EWJYJ7CH.js.map → append-3HY5G7ET.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{append-QEOLX3XB.js.map → append-K54MDQYC.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-CF55WVVS.js.map → chunk-25XZN3JD.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-WQ7NIVDK.js.map → chunk-2LEYMXI6.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-FRUFKWNK.js.map → chunk-3VLPDG3J.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-C3AZ5ZML.js.map → chunk-44O4JIN6.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-J4MYYSOL.js.map → chunk-47HTJ6BU.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-YCJX76PW.js.map → chunk-4JXWVHMN.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-37QXHBIB.js.map → chunk-4SDKF5BG.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-NJHMAJ6N.js.map → chunk-5SESR24H.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-2EIMPCE4.js.map → chunk-6FQHNHQQ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-5FIEHKEX.js.map → chunk-6UPTNMVW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-FKBDKV7Y.js.map → chunk-75VEYQJS.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-GMHPNNYG.js.map → chunk-77VKGH4L.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-OFYMIDF2.js.map → chunk-7MALIV5H.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-RLK7P77C.js.map → chunk-7PBGTIN3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-6H4LF7AO.js.map → chunk-A25LOPRG.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-M5XALUSL.js.map → chunk-A7E4ZXG2.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-7D3SAQXM.js.map → chunk-AJXYOYJV.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-HCU6WUSY.js.map → chunk-B2KR24R4.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-2GCDRRIF.js.map → chunk-C5SWTISA.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-AIS5PGI3.js.map → chunk-CLLVBO3I.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-QGG32QHW.js.map → chunk-CR7KFPAQ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-UV6IYE5U.js.map → chunk-CWPBGUC7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-QQHISQBJ.js.map → chunk-DBQUQ3AS.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-5QICDWMV.js.map → chunk-DHBPJ7VG.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-SRYYRVPB.js.map → chunk-DMT4ODVN.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-PUH4D67U.js.map → chunk-DU64SZUQ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-C4N5I7ZW.js.map → chunk-EVPVCE4R.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-3EWSGA7N.js.map → chunk-FK6MV5F5.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-NIUEXCFS.js.map → chunk-GGAXE22C.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-SX75ADBK.js.map → chunk-GNDHOR64.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-GOZUHWFD.js.map → chunk-GU7YHKYP.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-NXS7ZKAK.js.map → chunk-GXBSFKSX.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-NJN7LL7U.js.map → chunk-H6FNDCDI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-FWPDUYEY.js.map → chunk-HYQV75IB.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-F5NZWFSW.js.map → chunk-I367IDZP.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-52OCIDPG.js.map → chunk-I6XE47J2.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-HIP7WVTL.js.map → chunk-J2TSPY5L.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-2PKHRP6G.js.map → chunk-JLSC5NPC.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-PP2U4NMT.js.map → chunk-JY25IOEZ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-Q2J2HJUN.js.map → chunk-K25UDYJ4.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-SBGXDO7A.js.map → chunk-KBTREGVO.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-QZTWBFXJ.js.map → chunk-KK4TQ3ZP.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-NIGXMNNI.js.map → chunk-KRJJPDUO.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-AZMOLBN3.js.map → chunk-MD7XKVWI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-6ZXM2XNF.js.map → chunk-MNGAQB2E.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-3MDHREEV.js.map → chunk-NIWY4V4Z.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-TKBHZPKD.js.map → chunk-NKZOJPXK.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-CZPXY7UW.js.map → chunk-NVUATMTC.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-LEU5GHRC.js.map → chunk-P7ZU73BO.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-NSBZ2CKF.js.map → chunk-PCH2JTEO.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-B473GZWW.js.map → chunk-PJS2J7Z4.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-5IDI42VV.js.map → chunk-QQWEROGS.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-6M4RJS4M.js.map → chunk-RPRFBXND.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-N5ZJACJ6.js.map → chunk-SFKQAVZA.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-EBH56IXK.js.map → chunk-THKDPOS5.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-LUWW7L4B.js.map → chunk-TIKJAXQW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-OTHIWLMB.js.map → chunk-TJABI6PR.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-76Z3YSHV.js.map → chunk-TZQKEBKF.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-PFSRUHDH.js.map → chunk-UKK2VTTH.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-H7NJZWG2.js.map → chunk-V4SM4UAL.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-CZUB4XWO.js.map → chunk-VB54F347.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-O47BPOPC.js.map → chunk-WBSYW3NT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-UPE3CDD7.js.map → chunk-WQDX7DVG.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-NB3PYLQ6.js.map → chunk-XKNF3VRJ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-F7K5GWP3.js.map → chunk-Y335KFHD.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-D7FYS6PG.js.map → chunk-Y4BZEND6.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-6CJWZAN7.js.map → chunk-YATDFWYK.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-UEMNL33O.js.map → chunk-YJICYNAV.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-Z6T4PQI2.js.map → chunk-YQSWTVZF.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-RVHYI7SL.js.map → chunk-YRLLL5TY.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{claim-RC56YUWG.js.map → claim-MPXNVBZQ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{claim-THOJ6CMV.js.map → claim-SKHJDLW6.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-SG5MNCVQ.js.map → close-4RKSL5L6.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-DNMHGOCX.js.map → close-Z6AI736U.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-many-DKQLBGLV.js.map → close-many-AWTPXLHJ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-many-3L3AQZBU.js.map → close-many-SXODYBDP.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{comments-SKWMDWCW.js.map → comments-OOH64LWW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{comments-M7ZOZNBX.js.map → comments-YYW5P7AG.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{config-OZCUABPB.js.map → config-3445MCQQ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{config-7CK62S7T.js.map → config-LCDMKRB2.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{context-PUG2A7RC.js.map → context-DZMIBIVP.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{context-OEC366TO.js.map → context-PJCURODY.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{contracts-3THOLA7L.js.map → contracts-7YDFEJB3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{contracts-N65FXEOL.js.map → contracts-MP2P3HL5.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{copy-JPX7VZCH.js.map → copy-63IQQRRS.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{copy-6QLHILAC.js.map → copy-TASIH2AZ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{create-NNP6TSFO.js.map → create-3BV2VA3Q.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{create-Y54ZVVZH.js.map → create-TGSB5GV4.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{delete-63PCMQAJ.js.map → delete-ARILQQLB.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{delete-GDSMGAGJ.js.map → delete-ZQKBZYNK.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{deps-T4ZF5G54.js.map → deps-MSHQR2GY.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{deps-XYQ73XRH.js.map → deps-NJFJIMQ5.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{docs-C75YIXHC.js.map → docs-SS4UKYYA.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{docs-EHNPDWUL.js.map → docs-XK2UVUXX.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{eval-GTENKE24.js.map → eval-FVZGX5IZ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{eval-3WKDTRMH.js.map → eval-JOTG2YHU.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{extension-46NWACO3.js.map → extension-NLMS47I4.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{extension-D5FDZ2CO.js.map → extension-OQPS27B4.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{files-X3H7CCBQ.js.map → files-3EVJQZ2N.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{files-DSZBOSSN.js.map → files-Y2P6LN5A.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{focus-5STQXDPU.js.map → focus-D5ZUPTII.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{focus-MDVPOWB5.js.map → focus-ZPIFTY4R.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{gc-ZMST3WQP.js.map → gc-LXXDY456.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{gc-ZC7JHBG7.js.map → gc-RNOEQHSX.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{get-NT7L2HUZ.js.map → get-Q3SZGQHD.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{get-J2IPJRZW.js.map → get-W23G7MJX.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-RLH2QCRO.js.map → history-6CZVFIUJ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-WX3MGFS2.js.map → history-YRQUD4YM.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-compact-ZBEBGJM7.js.map → history-compact-M35PDQ4G.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-compact-UXDIFC33.js.map → history-compact-VWUSQH6Z.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-redact-YQGU3XRA.js.map → history-redact-27OEOZRZ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-redact-P7I7AWMB.js.map → history-redact-AJGARHT3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-repair-52KINVIK.js.map → history-repair-5RDMF7K4.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-repair-RM5ITLU5.js.map → history-repair-YUAHIPIN.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{init-SC2P6CHP.js.map → init-DWAKYRXI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{init-2BNZOO6F.js.map → init-HASX3YNJ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{learnings-W6F3FIPL.js.map → learnings-JNGUIJDK.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{learnings-YGYVHWJK.js.map → learnings-M4KA6MQE.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{list-KPAYU5KZ.js.map → list-5UU2W24O.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{list-K6FPV4J4.js.map → list-6FMKTIH3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{notes-YTD6ZILW.js.map → notes-MODH5CBT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{notes-PU74EPKV.js.map → notes-PYCPLA5Y.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{plan-GEQYUCBW.js.map → plan-DXRIRYRU.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{plan-FNXHXRCI.js.map → plan-EHQALWSC.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{register-list-query-QI45RMKN.js.map → register-list-query-QAASVP2J.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{register-list-query-PHWYHENI.js.map → register-list-query-WE54YJMH.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{register-mutation-YINRTS7L.js.map → register-mutation-B6DZJTY2.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{register-mutation-X3BUOQEL.js.map → register-mutation-CPV4C2KR.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{register-operations-E5JEASRK.js.map → register-operations-AT3BVVX2.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{register-operations-MIDTRW7S.js.map → register-operations-RC4C3423.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{restore-XQYSWBV7.js.map → restore-FNBV4GWE.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{restore-5KHR2YYQ.js.map → restore-XY4YE2OV.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{scheduling-shortcuts-HJMTEXKE.js.map → scheduling-shortcuts-ECL6GBMZ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{scheduling-shortcuts-NNT5ASZR.js.map → scheduling-shortcuts-JRIUREEU.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{schema-TZXW6XWD.js.map → schema-74YENAJL.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{schema-263RI4WW.js.map → schema-TCW3I7QR.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{search-SFRJOVDG.js.map → search-7USZ6XZA.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{search-LECJYSXE.js.map → search-GNAUE65M.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{stats-VPBGSRQH.js.map → stats-CVHASAEU.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{stats-N7ER2PNK.js.map → stats-DQMKJMFT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{telemetry-PP3FUNBU.js.map → telemetry-7P5EUWCS.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{telemetry-L6K3BUIQ.js.map → telemetry-PQTL5YS2.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{test-RQCTSWUK.js.map → test-COWPCGBE.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{test-3EGNS3T5.js.map → test-FDQZQNZ4.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{test-runs-GN3C6GOI.js.map → test-runs-JS6DNCCI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{test-runs-AJHR6IQF.js.map → test-runs-NZD2QGL5.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-6YXOGHRT.js.map → update-7IYQHX4Q.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-V33YUBRP.js.map → update-IJKDRBIX.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-many-RYQ64CFW.js.map → update-many-6NTZ5J5D.js.map} +0 -0
- /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.
|
|
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": "^
|
|
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
|