@unbrained/pm-cli 2026.7.8 → 2026.7.10
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 +30 -0
- package/README.md +1 -0
- package/dist/cli/bootstrap-args.js +6 -3
- package/dist/cli/bootstrap-args.js.map +1 -1
- package/dist/cli/commands/close.js +5 -2
- package/dist/cli/commands/close.js.map +1 -1
- package/dist/cli/commands/completion.js +8 -2
- package/dist/cli/commands/completion.js.map +1 -1
- package/dist/cli/commands/context.d.ts +23 -0
- package/dist/cli/commands/context.js +96 -7
- package/dist/cli/commands/context.js.map +1 -1
- package/dist/cli/commands/contracts.d.ts +11 -0
- package/dist/cli/commands/contracts.js +112 -15
- package/dist/cli/commands/contracts.js.map +1 -1
- package/dist/cli/commands/create.js +4 -2
- package/dist/cli/commands/create.js.map +1 -1
- package/dist/cli/commands/extension.d.ts +1 -1
- package/dist/cli/commands/extension.js +91 -32
- package/dist/cli/commands/extension.js.map +1 -1
- package/dist/cli/commands/init.d.ts +19 -3
- package/dist/cli/commands/init.js +57 -24
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/list.d.ts +4 -0
- package/dist/cli/commands/list.js +32 -3
- package/dist/cli/commands/list.js.map +1 -1
- package/dist/cli/commands/next.d.ts +3 -1
- package/dist/cli/commands/next.js +19 -7
- package/dist/cli/commands/next.js.map +1 -1
- package/dist/cli/commands/update.d.ts +32 -1
- package/dist/cli/commands/update.js +37 -10
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/register-list-query.js +10 -4
- package/dist/cli/register-list-query.js.map +1 -1
- package/dist/cli/register-operations.js +4 -2
- package/dist/cli/register-operations.js.map +1 -1
- package/dist/cli/register-setup.js +11 -2
- package/dist/cli/register-setup.js.map +1 -1
- package/dist/cli/registration-helpers.js +4 -2
- package/dist/cli/registration-helpers.js.map +1 -1
- package/dist/cli-bundle/chunks/append-G7NGOQVU.js +11 -0
- package/dist/cli-bundle/chunks/{append-RSPHC423.js → append-SIECQAPH.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-CGDUIPJL.js → chunk-22PW73KV.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-ML27MHNM.js → chunk-2RW5DWHQ.js} +98 -22
- package/dist/cli-bundle/chunks/chunk-2RW5DWHQ.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-GO2X6ZRB.js → chunk-35U3AVRY.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-4I7KS5ES.js → chunk-3JFQRPOI.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-NRMDT4OV.js → chunk-3THCOPYI.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-D6J5673C.js → chunk-4BINCIRM.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-D63PEJTB.js → chunk-4P2GYOM5.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-LHDHS4Z6.js → chunk-4QE5HOJY.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-5VAZHYVQ.js → chunk-56J3MPGE.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-UCRYCT5M.js → chunk-5BFBDJ4R.js} +38 -16
- package/dist/cli-bundle/chunks/chunk-5BFBDJ4R.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-IINCZYM3.js → chunk-62ECRG6J.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-EYPIUFWJ.js → chunk-62KPBB2W.js} +10 -10
- package/dist/cli-bundle/chunks/{chunk-3FUXM574.js → chunk-6MK6M35B.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-XN5BEN2B.js → chunk-6PBZBIS6.js} +35 -8
- package/dist/cli-bundle/chunks/chunk-6PBZBIS6.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-GQOKFX2G.js → chunk-6WIP52LQ.js} +8 -8
- package/dist/cli-bundle/chunks/{chunk-GLMJLBLR.js → chunk-75NAGPEL.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-6TD5QGIB.js → chunk-77CWXIAC.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-3FRNNVWY.js → chunk-7S2UC7S6.js} +427 -133
- package/dist/cli-bundle/chunks/chunk-7S2UC7S6.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-PAWPLIWW.js → chunk-7THLDY3D.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-QJZM5WO5.js → chunk-7TRCAREE.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-EEJKHF7M.js → chunk-7TRVVYPI.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-PJPZTE7P.js → chunk-A62N3BM3.js} +8 -6
- package/dist/cli-bundle/chunks/chunk-A62N3BM3.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-TU5P744I.js → chunk-A7DJG5EF.js} +55 -6
- package/dist/cli-bundle/chunks/chunk-A7DJG5EF.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-ZMOPZFVT.js → chunk-AD4HJKQZ.js} +49 -7
- package/dist/cli-bundle/chunks/chunk-AD4HJKQZ.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-7QKSLAHB.js → chunk-AIWGQK6K.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-P2WE5KCU.js → chunk-AKCHJXJ4.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-KFL3XHMA.js → chunk-AYPXY3HF.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-RL24NAUX.js → chunk-B7FCPO65.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-4OCWJ2AP.js → chunk-BC7QBM2A.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-LD2NBQ5T.js → chunk-BST7GFIX.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-GE44TQMC.js → chunk-CUBPPDDF.js} +145 -62
- package/dist/cli-bundle/chunks/chunk-CUBPPDDF.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-FJR2S7S4.js → chunk-CYBW4HK7.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-7UCBLJDF.js → chunk-DDF7UMVV.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-YQEKE4FO.js → chunk-DLHFJZ2S.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-PCBZ2VJD.js → chunk-DMD2TENU.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-SCJPFQQT.js → chunk-DN67YDFH.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-7TBUV7XS.js → chunk-DNHILSD7.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-FFB3WITE.js → chunk-DT6NDP53.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-G4FKP4ID.js → chunk-DWGHHSDC.js} +9 -7
- package/dist/cli-bundle/chunks/chunk-DWGHHSDC.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-3V5C7PUH.js → chunk-DYUAQVDK.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-MCH6IKK7.js → chunk-E2RJZQNW.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-6ZKDMEVT.js → chunk-ECXJ7OHI.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-LG4N6YOK.js → chunk-ESXG6VFX.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-TR2C6V5T.js → chunk-EXG6XTJC.js} +101 -25
- package/dist/cli-bundle/chunks/chunk-EXG6XTJC.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-BPJ5NYSJ.js → chunk-F7UA74OZ.js} +54 -7
- package/dist/cli-bundle/chunks/chunk-F7UA74OZ.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-GSQVQINP.js → chunk-FBD2WUNS.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-YSRXFGNV.js → chunk-FSD7W7Y2.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-JYVPLGOW.js → chunk-FWL5XVYI.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-KMXVZ2P7.js → chunk-FYMHD6VX.js} +122 -27
- package/dist/cli-bundle/chunks/chunk-FYMHD6VX.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-SIQGG335.js → chunk-GMNCW27N.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-3SHDAKMF.js → chunk-GPPWUJMR.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-W2VFNVSJ.js → chunk-H3HKQXQJ.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-UIHDZS6X.js → chunk-HFQ7QQZL.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-Z6RLSNUX.js → chunk-HLUB7G6J.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-ASMRSIDX.js → chunk-HWUIK7YL.js} +121 -26
- package/dist/cli-bundle/chunks/chunk-HWUIK7YL.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-U72GF3I2.js → chunk-INAZHXOI.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-INOWVPUD.js → chunk-J3ELHLOJ.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-2BVD4ZD2.js → chunk-J3FDNQWM.js} +4 -3
- package/dist/cli-bundle/chunks/chunk-J3FDNQWM.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-UH6VFRV6.js → chunk-J3Z2JMDV.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-HI27UADG.js → chunk-JDEXIVKQ.js} +372 -20
- package/dist/cli-bundle/chunks/chunk-JDEXIVKQ.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-MYHFZNBO.js → chunk-JFOBTM4D.js} +8 -8
- package/dist/cli-bundle/chunks/{chunk-J6AD3GWC.js → chunk-JNELC5UO.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-YUCKM3MD.js → chunk-JQ5NB6O2.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-3UXIMY62.js → chunk-KFC6X4PI.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-C3YU3TXX.js → chunk-L2SWAZ3S.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-QLEH6FTQ.js → chunk-LVVZLEW5.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-RFHLRMLQ.js → chunk-M66PC7JI.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-UVFJSKTF.js → chunk-M7DWRMNY.js} +10 -7
- package/dist/cli-bundle/chunks/chunk-M7DWRMNY.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-UEATYUZW.js → chunk-M7JYEBPT.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-Z2JQH2MG.js → chunk-MQ632QRB.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-IYRG5AEC.js → chunk-N7N3PUUP.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-3YJDIJIE.js → chunk-NPJLTZQZ.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-TUDAYIO7.js → chunk-NQTIOKHL.js} +12 -10
- package/dist/cli-bundle/chunks/{chunk-TUDAYIO7.js.map → chunk-NQTIOKHL.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-BFNFTHWQ.js → chunk-O67XP4FD.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-XPSGJ4IV.js → chunk-OVYXSZOQ.js} +11 -9
- package/dist/cli-bundle/chunks/{chunk-XPSGJ4IV.js.map → chunk-OVYXSZOQ.js.map} +2 -2
- package/dist/cli-bundle/chunks/{chunk-FOJEBRDD.js → chunk-P7PDLLCE.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-SN5X5GTU.js → chunk-PEACKWHL.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-HZZ3AC27.js → chunk-PFRGQZG2.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-Q3CFSOQZ.js → chunk-PMU2OJ3N.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-5STY7NVM.js → chunk-PUMTJMMF.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-K52C6YPA.js → chunk-QTJCMK2S.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-6FU5BVRB.js → chunk-RAE2SLNO.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-YR5R4FMQ.js → chunk-RYA7QE7B.js} +10 -10
- package/dist/cli-bundle/chunks/{chunk-TTCJCKUJ.js → chunk-SL337EYZ.js} +379 -20
- package/dist/cli-bundle/chunks/chunk-SL337EYZ.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-RDJXIAJB.js → chunk-SMKQFGDI.js} +9 -6
- package/dist/cli-bundle/chunks/chunk-SMKQFGDI.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-UFNFHCAC.js → chunk-SWQMU4AD.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-MFLLULHU.js → chunk-TB2CZJAQ.js} +5 -4
- package/dist/cli-bundle/chunks/chunk-TB2CZJAQ.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-WVEMZZCR.js → chunk-TEKAGPZV.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-JH5XDDYS.js → chunk-TM5E2IED.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-C6XSTACC.js → chunk-TTRL5GE6.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-AEOFBBWO.js → chunk-UA2VI62P.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-6RR4XM5H.js → chunk-UYK26VRP.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-CXH7EMSB.js → chunk-VBDQTL3Z.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-NGBWEYNY.js → chunk-W2FXYQ6D.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-UURYLDDC.js → chunk-WZ7EPGUX.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-2RADY7IB.js → chunk-XES6AVCK.js} +427 -126
- package/dist/cli-bundle/chunks/chunk-XES6AVCK.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-QYZMZD4L.js → chunk-XVCB574W.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-F5DDGY6R.js → chunk-XWS3Z57Q.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-EP2CKDS7.js → chunk-XXJB4GLJ.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-NTOOEVJ4.js → chunk-Y5Q4FEE4.js} +47 -7
- package/dist/cli-bundle/chunks/chunk-Y5Q4FEE4.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-DUBC6TI3.js → chunk-YA4B6P3L.js} +37 -15
- package/dist/cli-bundle/chunks/chunk-YA4B6P3L.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-FL625JJM.js → chunk-Z3R2Z5KW.js} +145 -62
- package/dist/cli-bundle/chunks/chunk-Z3R2Z5KW.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-RLHQ3G4M.js → chunk-Z5MFM54X.js} +34 -7
- package/dist/cli-bundle/chunks/chunk-Z5MFM54X.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-6WCXSC5V.js → chunk-ZGDJA6WI.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-TKWTJGD6.js → chunk-ZIU35KME.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-YUMNZS3X.js → chunk-ZQ2KEWE7.js} +3 -3
- package/dist/cli-bundle/chunks/close-2NVUCJXV.js +12 -0
- package/dist/cli-bundle/chunks/{close-K6BFI3OX.js → close-BZPS37KL.js} +5 -5
- package/dist/cli-bundle/chunks/{close-many-6NBL3PM4.js → close-many-KKNCGLVR.js} +13 -13
- package/dist/cli-bundle/chunks/close-many-S5WKLWVO.js +22 -0
- package/dist/cli-bundle/chunks/{comments-PLFK5ZKK.js → comments-PV5XG342.js} +7 -7
- package/dist/cli-bundle/chunks/comments-XAM2ADHO.js +13 -0
- package/dist/cli-bundle/chunks/copy-OJ2YNJ7S.js +9 -0
- package/dist/cli-bundle/chunks/{copy-VH3L4MN2.js → copy-OZDYDQUG.js} +4 -4
- package/dist/cli-bundle/chunks/create-5O3QK3PX.js +25 -0
- package/dist/cli-bundle/chunks/{create-TRIBYORN.js → create-WGFKEJAK.js} +9 -9
- package/dist/cli-bundle/chunks/{delete-ZNXUNCZR.js → delete-NTYXFL7A.js} +4 -4
- package/dist/cli-bundle/chunks/delete-V7FPW6JL.js +10 -0
- package/dist/cli-bundle/chunks/{deps-CVDY7FFK.js → deps-7WVENNH3.js} +4 -4
- package/dist/cli-bundle/chunks/{deps-SZXQHV73.js → deps-Z6RD6RWW.js} +4 -4
- package/dist/cli-bundle/chunks/{docs-DR74ITCD.js → docs-2NIRGHAN.js} +6 -6
- package/dist/cli-bundle/chunks/docs-SOY2CMH3.js +14 -0
- package/dist/cli-bundle/chunks/{files-QEFQ2M3H.js → files-4OH2I663.js} +6 -6
- package/dist/cli-bundle/chunks/{files-H5YCA74Z.js → files-5KNAFW67.js} +6 -6
- package/dist/cli-bundle/chunks/{focus-55TRYSNA.js → focus-CLNZWWKW.js} +5 -5
- package/dist/cli-bundle/chunks/focus-JUKXZN3J.js +10 -0
- package/dist/cli-bundle/chunks/{history-compact-JJZ4EFL3.js → history-compact-R3T3XPD4.js} +9 -9
- package/dist/cli-bundle/chunks/history-compact-WKAKPLFQ.js +21 -0
- package/dist/cli-bundle/chunks/{history-redact-TPPUT3A5.js → history-redact-CLJDCBNF.js} +7 -7
- package/dist/cli-bundle/chunks/history-redact-Y67UDKD3.js +17 -0
- package/dist/cli-bundle/chunks/history-repair-2WLXWQAM.js +19 -0
- package/dist/cli-bundle/chunks/{history-repair-J7PIZ6ZP.js → history-repair-LNA7V2VI.js} +9 -9
- package/dist/cli-bundle/chunks/{learnings-KB6BT4NR.js → learnings-2L72KBOE.js} +7 -7
- package/dist/cli-bundle/chunks/learnings-PNK7WUWO.js +13 -0
- package/dist/cli-bundle/chunks/{notes-ZTHXVOKM.js → notes-USDIABZV.js} +7 -7
- package/dist/cli-bundle/chunks/notes-X4SWEJSB.js +13 -0
- package/dist/cli-bundle/chunks/plan-JU454RMZ.js +24 -0
- package/dist/cli-bundle/chunks/{plan-CJPKFRBK.js → plan-U4RWU56Z.js} +10 -10
- package/dist/cli-bundle/chunks/{profile-AQNHXOYA.js → profile-COBKZJUQ.js} +9 -9
- package/dist/cli-bundle/chunks/{profile-HTBFINKQ.js → profile-RKIRCXH7.js} +9 -9
- package/dist/cli-bundle/chunks/{register-list-query-EEF33SUJ.js → register-list-query-2VBANNFM.js} +20 -18
- package/dist/cli-bundle/chunks/register-list-query-2VBANNFM.js.map +1 -0
- package/dist/cli-bundle/chunks/{register-list-query-S4FBWIWN.js → register-list-query-4AZEKWZ5.js} +19 -17
- package/dist/cli-bundle/chunks/register-list-query-4AZEKWZ5.js.map +7 -0
- package/dist/cli-bundle/chunks/{register-mutation-QFLRBCI7.js → register-mutation-JGXTDEIZ.js} +29 -29
- package/dist/cli-bundle/chunks/{register-mutation-L5Q7AUDN.js → register-mutation-XVO4GGZI.js} +29 -29
- package/dist/cli-bundle/chunks/{register-operations-HDE4FVW4.js → register-operations-4EEFV5KJ.js} +30 -29
- package/dist/cli-bundle/chunks/register-operations-4EEFV5KJ.js.map +1 -0
- package/dist/cli-bundle/chunks/{register-operations-QDU43FCG.js → register-operations-UV25Z4BN.js} +29 -28
- package/dist/cli-bundle/chunks/register-operations-UV25Z4BN.js.map +7 -0
- package/dist/cli-bundle/chunks/{register-setup-EGMTAXDC.js → register-setup-MMXQQC5J.js} +27 -19
- package/dist/cli-bundle/chunks/register-setup-MMXQQC5J.js.map +1 -0
- package/dist/cli-bundle/chunks/{register-setup-PNIO3L2P.js → register-setup-NQE5MW63.js} +26 -18
- package/dist/cli-bundle/chunks/register-setup-NQE5MW63.js.map +7 -0
- package/dist/cli-bundle/chunks/restore-54HR2EYD.js +15 -0
- package/dist/cli-bundle/chunks/{restore-BTBEZ5CK.js → restore-BINCHJIY.js} +7 -7
- package/dist/cli-bundle/chunks/{schema-DGSTYYQB.js → schema-2JZNEQSG.js} +6 -6
- package/dist/cli-bundle/chunks/{schema-HAIBEE24.js → schema-VV3K5WZI.js} +6 -6
- package/dist/cli-bundle/chunks/{update-MP4XLU56.js → update-DK3GAY5D.js} +12 -12
- package/dist/cli-bundle/chunks/update-OIMRKTX6.js +21 -0
- package/dist/cli-bundle/chunks/update-many-5KI6MW76.js +31 -0
- package/dist/cli-bundle/chunks/update-many-IOLDHIZT.js +35 -0
- package/dist/cli-bundle/main.js +16 -54
- package/dist/cli-bundle/main.js.map +3 -3
- package/dist/cli-bundle/sdk-runtime.js +117 -53
- package/dist/cli-bundle/sdk-testing.js +6 -6
- package/dist/cli-bundle/sdk.js +142 -58
- package/dist/cli-bundle/sdk.js.map +3 -3
- package/dist/core/extensions/extension-types.d.ts +1 -1
- package/dist/core/extensions/extension-types.js +3 -2
- package/dist/core/extensions/extension-types.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/core/store/front-matter-cache.d.ts +8 -0
- package/dist/core/store/front-matter-cache.js +22 -9
- package/dist/core/store/front-matter-cache.js.map +1 -1
- package/dist/sdk/cli-contracts/commander-mutation-options.js +4 -4
- package/dist/sdk/cli-contracts/commander-mutation-options.js.map +1 -1
- package/dist/sdk/cli-contracts/enum-contracts.d.ts +1 -1
- package/dist/sdk/cli-contracts/flag-contracts.js +10 -2
- package/dist/sdk/cli-contracts/flag-contracts.js.map +1 -1
- package/dist/sdk/cli-contracts/tool-option-contracts.js +10 -5
- package/dist/sdk/cli-contracts/tool-option-contracts.js.map +1 -1
- package/dist/sdk/cli-contracts/tool-parameter-tables.js +12 -4
- package/dist/sdk/cli-contracts/tool-parameter-tables.js.map +1 -1
- package/dist/sdk/cli-contracts/tool-schema.d.ts +4 -0
- package/dist/sdk/cli-contracts/tool-schema.js +66 -11
- package/dist/sdk/cli-contracts/tool-schema.js.map +1 -1
- package/dist/sdk/context-relevance.d.ts +166 -0
- package/dist/sdk/context-relevance.js +299 -0
- package/dist/sdk/context-relevance.js.map +1 -0
- package/dist/sdk/index.d.ts +2 -1
- package/dist/sdk/index.js +4 -3
- package/dist/sdk/index.js.map +1 -1
- package/dist/sdk/runtime.d.ts +340 -25
- package/dist/sdk/runtime.js +413 -25
- package/dist/sdk/runtime.js.map +1 -1
- package/docs/AGENT_GUIDE.md +3 -0
- package/docs/COMMANDS.md +17 -2
- package/docs/EXTENSIONS.md +3 -1
- package/docs/SDK.md +115 -0
- package/docs/TESTING.md +40 -1
- package/package.json +4 -2
- package/dist/cli-bundle/chunks/append-CDPAYYSB.js +0 -11
- package/dist/cli-bundle/chunks/chunk-2BVD4ZD2.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-2RADY7IB.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-3FRNNVWY.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-ASMRSIDX.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-BPJ5NYSJ.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-DUBC6TI3.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-FL625JJM.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-G4FKP4ID.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-GE44TQMC.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-HI27UADG.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-KMXVZ2P7.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-MFLLULHU.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-ML27MHNM.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-NTOOEVJ4.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-PJPZTE7P.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-RDJXIAJB.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-RLHQ3G4M.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-TR2C6V5T.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-TTCJCKUJ.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-TU5P744I.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-UCRYCT5M.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-UVFJSKTF.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-XN5BEN2B.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-ZMOPZFVT.js.map +0 -1
- package/dist/cli-bundle/chunks/close-E3RLZSP2.js +0 -12
- package/dist/cli-bundle/chunks/close-many-X4YKS3RO.js +0 -22
- package/dist/cli-bundle/chunks/comments-ZNOD5PTV.js +0 -13
- package/dist/cli-bundle/chunks/copy-F7BUFY4J.js +0 -9
- package/dist/cli-bundle/chunks/create-AMBMYP6F.js +0 -25
- package/dist/cli-bundle/chunks/delete-6KQHZYIP.js +0 -10
- package/dist/cli-bundle/chunks/docs-WCVYY6I7.js +0 -14
- package/dist/cli-bundle/chunks/focus-N2QGNS5D.js +0 -10
- package/dist/cli-bundle/chunks/history-compact-GWQ4UOEI.js +0 -21
- package/dist/cli-bundle/chunks/history-redact-4GJOLXCM.js +0 -17
- package/dist/cli-bundle/chunks/history-repair-HVCVCGUF.js +0 -19
- package/dist/cli-bundle/chunks/learnings-YYY3U2Y7.js +0 -13
- package/dist/cli-bundle/chunks/notes-BGG7VL72.js +0 -13
- package/dist/cli-bundle/chunks/plan-MK2QY3GA.js +0 -24
- package/dist/cli-bundle/chunks/register-list-query-EEF33SUJ.js.map +0 -1
- package/dist/cli-bundle/chunks/register-list-query-S4FBWIWN.js.map +0 -7
- package/dist/cli-bundle/chunks/register-operations-HDE4FVW4.js.map +0 -1
- package/dist/cli-bundle/chunks/register-operations-QDU43FCG.js.map +0 -7
- package/dist/cli-bundle/chunks/register-setup-EGMTAXDC.js.map +0 -1
- package/dist/cli-bundle/chunks/register-setup-PNIO3L2P.js.map +0 -7
- package/dist/cli-bundle/chunks/restore-EX4UUZL6.js +0 -15
- package/dist/cli-bundle/chunks/update-SDIRJGSY.js +0 -21
- package/dist/cli-bundle/chunks/update-many-34AIU6W7.js +0 -31
- package/dist/cli-bundle/chunks/update-many-JUPCNOKV.js +0 -35
- /package/dist/cli-bundle/chunks/{append-CDPAYYSB.js.map → append-G7NGOQVU.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{append-RSPHC423.js.map → append-SIECQAPH.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-CGDUIPJL.js.map → chunk-22PW73KV.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-GO2X6ZRB.js.map → chunk-35U3AVRY.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-4I7KS5ES.js.map → chunk-3JFQRPOI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-NRMDT4OV.js.map → chunk-3THCOPYI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-D6J5673C.js.map → chunk-4BINCIRM.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-D63PEJTB.js.map → chunk-4P2GYOM5.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-LHDHS4Z6.js.map → chunk-4QE5HOJY.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-5VAZHYVQ.js.map → chunk-56J3MPGE.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-IINCZYM3.js.map → chunk-62ECRG6J.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-EYPIUFWJ.js.map → chunk-62KPBB2W.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-3FUXM574.js.map → chunk-6MK6M35B.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-GQOKFX2G.js.map → chunk-6WIP52LQ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-GLMJLBLR.js.map → chunk-75NAGPEL.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-6TD5QGIB.js.map → chunk-77CWXIAC.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-PAWPLIWW.js.map → chunk-7THLDY3D.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-QJZM5WO5.js.map → chunk-7TRCAREE.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-EEJKHF7M.js.map → chunk-7TRVVYPI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-7QKSLAHB.js.map → chunk-AIWGQK6K.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-P2WE5KCU.js.map → chunk-AKCHJXJ4.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-KFL3XHMA.js.map → chunk-AYPXY3HF.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-RL24NAUX.js.map → chunk-B7FCPO65.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-4OCWJ2AP.js.map → chunk-BC7QBM2A.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-LD2NBQ5T.js.map → chunk-BST7GFIX.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-FJR2S7S4.js.map → chunk-CYBW4HK7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-7UCBLJDF.js.map → chunk-DDF7UMVV.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-YQEKE4FO.js.map → chunk-DLHFJZ2S.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-PCBZ2VJD.js.map → chunk-DMD2TENU.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-SCJPFQQT.js.map → chunk-DN67YDFH.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-7TBUV7XS.js.map → chunk-DNHILSD7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-FFB3WITE.js.map → chunk-DT6NDP53.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-3V5C7PUH.js.map → chunk-DYUAQVDK.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-MCH6IKK7.js.map → chunk-E2RJZQNW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-6ZKDMEVT.js.map → chunk-ECXJ7OHI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-LG4N6YOK.js.map → chunk-ESXG6VFX.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-GSQVQINP.js.map → chunk-FBD2WUNS.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-YSRXFGNV.js.map → chunk-FSD7W7Y2.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-JYVPLGOW.js.map → chunk-FWL5XVYI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-SIQGG335.js.map → chunk-GMNCW27N.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-3SHDAKMF.js.map → chunk-GPPWUJMR.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-W2VFNVSJ.js.map → chunk-H3HKQXQJ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-UIHDZS6X.js.map → chunk-HFQ7QQZL.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-Z6RLSNUX.js.map → chunk-HLUB7G6J.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-U72GF3I2.js.map → chunk-INAZHXOI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-INOWVPUD.js.map → chunk-J3ELHLOJ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-UH6VFRV6.js.map → chunk-J3Z2JMDV.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-MYHFZNBO.js.map → chunk-JFOBTM4D.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-J6AD3GWC.js.map → chunk-JNELC5UO.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-YUCKM3MD.js.map → chunk-JQ5NB6O2.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-3UXIMY62.js.map → chunk-KFC6X4PI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-C3YU3TXX.js.map → chunk-L2SWAZ3S.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-QLEH6FTQ.js.map → chunk-LVVZLEW5.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-RFHLRMLQ.js.map → chunk-M66PC7JI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-UEATYUZW.js.map → chunk-M7JYEBPT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-Z2JQH2MG.js.map → chunk-MQ632QRB.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-IYRG5AEC.js.map → chunk-N7N3PUUP.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-3YJDIJIE.js.map → chunk-NPJLTZQZ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-BFNFTHWQ.js.map → chunk-O67XP4FD.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-FOJEBRDD.js.map → chunk-P7PDLLCE.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-SN5X5GTU.js.map → chunk-PEACKWHL.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-HZZ3AC27.js.map → chunk-PFRGQZG2.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-Q3CFSOQZ.js.map → chunk-PMU2OJ3N.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-5STY7NVM.js.map → chunk-PUMTJMMF.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-K52C6YPA.js.map → chunk-QTJCMK2S.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-6FU5BVRB.js.map → chunk-RAE2SLNO.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-YR5R4FMQ.js.map → chunk-RYA7QE7B.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-UFNFHCAC.js.map → chunk-SWQMU4AD.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-WVEMZZCR.js.map → chunk-TEKAGPZV.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-JH5XDDYS.js.map → chunk-TM5E2IED.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-C6XSTACC.js.map → chunk-TTRL5GE6.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-AEOFBBWO.js.map → chunk-UA2VI62P.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-6RR4XM5H.js.map → chunk-UYK26VRP.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-CXH7EMSB.js.map → chunk-VBDQTL3Z.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-NGBWEYNY.js.map → chunk-W2FXYQ6D.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-UURYLDDC.js.map → chunk-WZ7EPGUX.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-QYZMZD4L.js.map → chunk-XVCB574W.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-F5DDGY6R.js.map → chunk-XWS3Z57Q.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-EP2CKDS7.js.map → chunk-XXJB4GLJ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-6WCXSC5V.js.map → chunk-ZGDJA6WI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-TKWTJGD6.js.map → chunk-ZIU35KME.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-YUMNZS3X.js.map → chunk-ZQ2KEWE7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-E3RLZSP2.js.map → close-2NVUCJXV.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-K6BFI3OX.js.map → close-BZPS37KL.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-many-6NBL3PM4.js.map → close-many-KKNCGLVR.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-many-X4YKS3RO.js.map → close-many-S5WKLWVO.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{comments-PLFK5ZKK.js.map → comments-PV5XG342.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{comments-ZNOD5PTV.js.map → comments-XAM2ADHO.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{copy-F7BUFY4J.js.map → copy-OJ2YNJ7S.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{copy-VH3L4MN2.js.map → copy-OZDYDQUG.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{create-AMBMYP6F.js.map → create-5O3QK3PX.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{create-TRIBYORN.js.map → create-WGFKEJAK.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{delete-ZNXUNCZR.js.map → delete-NTYXFL7A.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{delete-6KQHZYIP.js.map → delete-V7FPW6JL.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{deps-CVDY7FFK.js.map → deps-7WVENNH3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{deps-SZXQHV73.js.map → deps-Z6RD6RWW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{docs-DR74ITCD.js.map → docs-2NIRGHAN.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{docs-WCVYY6I7.js.map → docs-SOY2CMH3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{files-QEFQ2M3H.js.map → files-4OH2I663.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{files-H5YCA74Z.js.map → files-5KNAFW67.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{focus-55TRYSNA.js.map → focus-CLNZWWKW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{focus-N2QGNS5D.js.map → focus-JUKXZN3J.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-compact-JJZ4EFL3.js.map → history-compact-R3T3XPD4.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-compact-GWQ4UOEI.js.map → history-compact-WKAKPLFQ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-redact-TPPUT3A5.js.map → history-redact-CLJDCBNF.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-redact-4GJOLXCM.js.map → history-redact-Y67UDKD3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-repair-HVCVCGUF.js.map → history-repair-2WLXWQAM.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-repair-J7PIZ6ZP.js.map → history-repair-LNA7V2VI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{learnings-KB6BT4NR.js.map → learnings-2L72KBOE.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{learnings-YYY3U2Y7.js.map → learnings-PNK7WUWO.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{notes-ZTHXVOKM.js.map → notes-USDIABZV.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{notes-BGG7VL72.js.map → notes-X4SWEJSB.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{plan-MK2QY3GA.js.map → plan-JU454RMZ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{plan-CJPKFRBK.js.map → plan-U4RWU56Z.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{profile-AQNHXOYA.js.map → profile-COBKZJUQ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{profile-HTBFINKQ.js.map → profile-RKIRCXH7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{register-mutation-QFLRBCI7.js.map → register-mutation-JGXTDEIZ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{register-mutation-L5Q7AUDN.js.map → register-mutation-XVO4GGZI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{restore-EX4UUZL6.js.map → restore-54HR2EYD.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{restore-BTBEZ5CK.js.map → restore-BINCHJIY.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{schema-DGSTYYQB.js.map → schema-2JZNEQSG.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{schema-HAIBEE24.js.map → schema-VV3K5WZI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-MP4XLU56.js.map → update-DK3GAY5D.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-SDIRJGSY.js.map → update-OIMRKTX6.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-many-34AIU6W7.js.map → update-many-5KI6MW76.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-many-JUPCNOKV.js.map → update-many-IOLDHIZT.js.map} +0 -0
package/docs/AGENT_GUIDE.md
CHANGED
|
@@ -116,9 +116,12 @@ pm release <item-id>
|
|
|
116
116
|
| Open work only | `pm search "<keywords>" --status open` (drops closed-history noise; did-you-mean on typos) |
|
|
117
117
|
| Scope search like list | `pm search "<keywords>" --type Task --assignee <name> --parent <id>` (full `pm list` filter parity) |
|
|
118
118
|
| Items changed since last window | `pm list-all --updated-after <prev-run-ISO> --brief` (relative `-2h`/`-7d` also work) |
|
|
119
|
+
| Open items changed today | `pm list-open --today --brief` (local-midnight shorthand; mutually exclusive with `--updated-after`) |
|
|
120
|
+
| Items changed recently | `pm list-all --recent --brief` (last seven days; mutually exclusive with `--updated-after`) |
|
|
119
121
|
| Single item | `pm get <id>` |
|
|
120
122
|
| Full machine payload | `pm get <id> --full --json` |
|
|
121
123
|
| Command flags | `pm <command> --help --json` |
|
|
124
|
+
| Command intent map | `pm contracts --summary --json` (one command plus terse intent per row; use before command-scoped contracts) |
|
|
122
125
|
| Low-noise machine contracts | `pm contracts --command <command> --flags-only --json` |
|
|
123
126
|
| Semantic index refresh | `pm reindex --mode semantic --progress` (stale-first by default; add `--full` to force full rebuild; requires the `search-advanced` package) |
|
|
124
127
|
| Timeline | `pm activity --id <id> --limit 20` |
|
package/docs/COMMANDS.md
CHANGED
|
@@ -7,6 +7,7 @@ Tracked implementation updates: [pm-52eh](../.agents/pm/features/pm-52eh.toon),
|
|
|
7
7
|
```bash
|
|
8
8
|
pm <command> --help
|
|
9
9
|
pm <command> --help --json
|
|
10
|
+
pm contracts --summary --json
|
|
10
11
|
pm contracts --command <command> --flags-only --json
|
|
11
12
|
```
|
|
12
13
|
|
|
@@ -15,7 +16,7 @@ pm contracts --command <command> --flags-only --json
|
|
|
15
16
|
- Prefer `pm context`, `pm search`, and narrow list commands before mutation.
|
|
16
17
|
- Prefer TOON for reading and `--json` for strict parsing.
|
|
17
18
|
- Use the [guide topic map](README.md#guide-topic-map) when optional `pm guide` local docs routing is needed.
|
|
18
|
-
- Use `pm contracts` for
|
|
19
|
+
- Use `pm contracts --summary --json` for the cheapest command map, then narrow with command-scoped contracts.
|
|
19
20
|
- Every mutation writes history.
|
|
20
21
|
|
|
21
22
|
Tracked documentation work: [pm-u9d0](../.agents/pm/epics/pm-u9d0.toon).
|
|
@@ -49,6 +50,8 @@ Tracked documentation work: [pm-u9d0](../.agents/pm/epics/pm-u9d0.toon).
|
|
|
49
50
|
```bash
|
|
50
51
|
pm init
|
|
51
52
|
pm init --defaults --with-packages
|
|
53
|
+
pm init --workspace ./new-project --defaults
|
|
54
|
+
pm init ./sandbox-tracker --defaults
|
|
52
55
|
pm init --agent-guidance status
|
|
53
56
|
pm init --agent-guidance add
|
|
54
57
|
pm config project list
|
|
@@ -57,6 +60,7 @@ pm telemetry status
|
|
|
57
60
|
```
|
|
58
61
|
|
|
59
62
|
`pm init` creates `.agents/pm`. `pm health --check-only --summary --json` gives the smallest machine-readable health gate without refreshing optional search artifacts.
|
|
63
|
+
Use `pm init --workspace <dir>` when `<dir>` is a project root; it creates `<dir>/.agents/pm`. A path-like positional remains the advanced tracker-root form and writes tracker files directly at that path. Both explicit target forms return `target.mode`, `target.tracker_root`, and tracker-scoped executable `next_steps` so agents can run the suggestions from any working directory.
|
|
60
64
|
`pm init --agent-guidance ask` is the default behavior: prompt in TTY only when AGENTS/CLAUDE guidance is missing and no decline is recorded.
|
|
61
65
|
Use `--agent-guidance add` to write guidance, `--agent-guidance skip` to persist a decline without writing, and `--agent-guidance status` to inspect guidance state.
|
|
62
66
|
Use `--with-packages` for one-step agent setup when bundled package commands should be active immediately.
|
|
@@ -77,6 +81,7 @@ pm upgrade --cli-only --repair
|
|
|
77
81
|
```
|
|
78
82
|
|
|
79
83
|
`pm install` and `pm package` are the preferred package-first workflow. `pm package` and `pm extension` bare invocations default to `--explore` so agents can list installed packages without remembering an action flag. `pm install '*'`, shell-expanded `pm install *`, and `pm install all` install bundled first-party packages. `pm extension` remains as a compatibility command for direct extension lifecycle operations.
|
|
84
|
+
Install output includes a light `verification` summary with target tracker root, activation state, registered commands/actions/item types, and an `ok|degraded` health verdict. Runtime activation failure sets the command result and process exit status to failure; inspect `activation_diagnostics` and `command_discovery.next_steps` for the exact recovery path.
|
|
80
85
|
When package-owned commands are unavailable, usage guidance includes an install-ready retry (for example `pm install calendar`, `pm install search-advanced`, `pm install governance-audit`, or `pm install guide-shell`).
|
|
81
86
|
|
|
82
87
|
## Triage
|
|
@@ -129,6 +134,10 @@ pm list-all --updated-after 2026-06-04T15:18:32Z --brief
|
|
|
129
134
|
pm list-open --updated-after=-2h --brief
|
|
130
135
|
pm list-all --created-after=-7d --status open
|
|
131
136
|
|
|
137
|
+
# Common list windows avoid date math (`list-open` keeps the view open-only).
|
|
138
|
+
pm list-open --today --brief
|
|
139
|
+
pm list-all --recent --brief
|
|
140
|
+
|
|
132
141
|
# Search scoped to open work only (drops closed-history noise); statuses accept
|
|
133
142
|
# all (no lifecycle restriction), open/closed/canceled aliases, or configured
|
|
134
143
|
# ids, comma-separated, with a did-you-mean hint on typos.
|
|
@@ -141,6 +150,8 @@ pm search "reminder validation" --status all --limit 10
|
|
|
141
150
|
pm search "calendar" --type Task --assignee alice --updated-after=-7d --parent pm-abcd
|
|
142
151
|
```
|
|
143
152
|
|
|
153
|
+
Use only one updated-at window per list call: `--today`, `--recent`, and `--updated-after` are mutually exclusive. `--today` starts at local midnight; `--recent` is the same as `--updated-after=-7d`.
|
|
154
|
+
|
|
144
155
|
`pm get`, `pm history`, and `pm search` also accept command-local `--format json|toon`. `--format json` is equivalent to the global `--json` flag for that command, while `--format toon` keeps the default agent-readable output. Do not combine global `--json` with `--format toon`.
|
|
145
156
|
|
|
146
157
|
`list`/`search` full and fields projections echo full filter metadata. Compact mode emits only active filters (plus runtime schema filters when present) and omits the default projection/sorting/now trailer keys for lower token cost.
|
|
@@ -171,7 +182,7 @@ pm search "auth tag:area:auth status:open" # query "auth" + --tag area:au
|
|
|
171
182
|
pm search "ranking type:Task priority:1" # query "ranking" + --type Task --priority 1
|
|
172
183
|
```
|
|
173
184
|
|
|
174
|
-
Precedence: an **explicit `--flag` always wins** over a conflicting inline token. When both are supplied, the flag value is used and the result carries a `search_inline_filter_ignored:<field>:flag_takes_precedence` warning so the override is observable. On the CLI,
|
|
185
|
+
Precedence: an **explicit `--flag` always wins** over a conflicting inline token. When both are supplied, the flag value is used and the result carries a `search_inline_filter_ignored:<field>:flag_takes_precedence` warning so the override is observable. On the CLI, both unquoted inline tokens (`status:all scene`) and quoted multi-word queries (`"status:all scene"`) stay query input so the search parser can remove inline filters and preserve the remaining keywords. The same parser covers the `pm_search` MCP tool, where the whole query arrives as a single string. A query consisting solely of inline tokens (no keyword terms) is rejected — use `pm list` with the equivalent `--tag`/`--status`/`--type`/`--priority` flags for pure filtering.
|
|
175
186
|
|
|
176
187
|
Pass `--highlight` to emit per-field matched-text snippets on each hit (off by default for token efficiency). Each matched field gets a `{ field, snippet }` entry under `highlights`, with the matching token runs wrapped in `«…»` and a `…` ellipsis where the field text was windowed:
|
|
177
188
|
|
|
@@ -413,6 +424,8 @@ Use `pm close <duplicate-id> --duplicate-of <canonical-id>` to close duplicates.
|
|
|
413
424
|
|
|
414
425
|
`pm close` accepts short aliases for the common flags: `-m` (`--message`), `-r` (`--reason`), and `-d` (`--duplicate-of`). When `governance.require_close_reason` is enabled and no positional/`--reason` text is given, the close reason is derived from the next-best signal in priority order — explicit reason text, then `--duplicate-of` (`Duplicate of <id>`), then `--resolution` — so a single `pm close <id> --resolution "<summary>"` no longer hard-blocks. The resolution is still written to the item's `resolution` field.
|
|
415
426
|
|
|
427
|
+
`pm create --blocked-by <id>` and `pm update --blocked-by <id>` keep the scalar `blocked_by` field as the latest/primary blocker for compatibility. When the value resolves to a real item, the command also appends a `blocked_by` dependency edge so `pm deps` and reverse dependency scans see the full blocker graph. Repeating `pm update --blocked-by` with a different blocker preserves the prior blocker edge and appends the new one; repeating the same blocker is deduplicated. Use `pm update <id> --unset blocked-by` to clear the scalar and all `blocked_by` dependency edges.
|
|
428
|
+
|
|
416
429
|
When closing a blocker, `pm close` scans reverse `blocked_by` edges and auto-unblocks dependent items only when every resolvable blocker is now terminal. Each unblocked item is updated through the normal audited mutation path, gets an `unblock_note`, and the close result reports compact `auto_unblocked:<id>:resolved_blockers=<ids>` warnings. Items with another active blocker remain blocked.
|
|
417
430
|
|
|
418
431
|
Over MCP the mutation tools (`pm_create`/`pm_update`/`pm_close`/`pm_run` append/update-many) are compact by default; pass `fullChangedFields=true` to restore the full `changed_fields` delta, or `idOnly=true` for single-item id/status output.
|
|
@@ -858,12 +871,14 @@ Invariants:
|
|
|
858
871
|
|
|
859
872
|
```bash
|
|
860
873
|
pm contracts --json
|
|
874
|
+
pm contracts --summary --json
|
|
861
875
|
pm contracts --command create --flags-only --json
|
|
862
876
|
pm contracts --action create --schema-only --json
|
|
863
877
|
pm help create --json
|
|
864
878
|
```
|
|
865
879
|
|
|
866
880
|
Agents should use runtime contracts instead of hard-coding flag lists. Contract output includes extension-provided command surfaces when active.
|
|
881
|
+
Use `pm contracts --summary --json` first when bootstrapping in a tight context window; it emits one command and terse intent per row before the agent requests heavier command-specific flags or schemas.
|
|
867
882
|
|
|
868
883
|
## Completion
|
|
869
884
|
|
package/docs/EXTENSIONS.md
CHANGED
|
@@ -40,7 +40,9 @@ pm install kanban --project
|
|
|
40
40
|
|
|
41
41
|
`pm install '*'`, `pm install all`, and shell-expanded `pm install *` are normalized to the same bundled install-all request. First-party package aliases come from each package manifest, with a fallback derived from the `packages/pm-*` directory name.
|
|
42
42
|
|
|
43
|
-
External registry packages are installed by exact package name. If `npm:<name>` returns a registry 404, JSON error output includes `fallback_candidates` and `next_best_command`; unpublished first-party packages fall back to `pm install --project github.com/unbraind/<name>`. Install results include package-owned `command_paths`, `action_paths`,
|
|
43
|
+
External registry packages are installed by exact package name. If `npm:<name>` returns a registry 404, JSON error output includes `fallback_candidates` and `next_best_command`; unpublished first-party packages fall back to `pm install --project github.com/unbraind/<name>`. Install results include package-owned `command_paths`, `action_paths`, `command_discovery`, and a light `verification` block covering the target tracker, activation status, registered commands/actions/item types, and health verdict. Agents should consume those fields instead of guessing from the package name or immediately spending another invocation on doctor. A failed runtime activation returns `ok: false`, `activated: false`, a non-zero CLI exit, and actionable diagnostics; missing SDK resolution adds an explicit dependency recovery step.
|
|
44
|
+
|
|
45
|
+
An explicit `--pm-path` scopes project installs to that tracker root, including extension files, managed state, settings, type-folder scaffolding, and verification output. This is the safe form for temporary package testing from inside another repository checkout.
|
|
44
46
|
|
|
45
47
|
```bash
|
|
46
48
|
npm search "pm-cli pm-package"
|
package/docs/SDK.md
CHANGED
|
@@ -106,6 +106,14 @@ Command/action contract exports:
|
|
|
106
106
|
- `PmClient` / `runAction` (high-level in-process action execution for custom tools, bots, CI, and embedded runtimes)
|
|
107
107
|
- Typed read primitives on `PmClient`: `get`, `list`, `search`, `context`, `next`, `aggregate`, and `stats`
|
|
108
108
|
- Read primitive option/result contracts: `GetOptions` / `GetResult`, `ListOptions` / `ListResult`, `SearchOptions` / `SearchResult`, `ContextOptions` / `ContextResult`, `NextOptions` / `NextResult`, `AggregateOptions` / `AggregateResult`, `StatsCommandOptions` / `StatsResult`
|
|
109
|
+
- Context relevance primitives: `defaultScoreContextCandidates`, `scoreContextCandidates`, `scoreContextCandidatesWithActiveExtensions`, `evaluateContextRanking`, `runContextEvaluationScenario`, `runContextEvaluationCorpus`, and `summarizeContextEvaluationReports`
|
|
110
|
+
- Context relevance contracts: `ContextRelevanceCandidate`, `ContextRelevanceSignals`, `ContextRelevanceScorer`, `ContextRelevanceReport`, `ContextEvaluationReader`, `ContextEvaluationScenario`, `ContextEvaluationScenarioReport`, `ContextEvaluationThresholds`, and `ContextEvaluationCorpusReport`
|
|
111
|
+
- Typed annotation and relationship primitives on `PmClient`: `comments`, `notes`, `learnings`, `files`, `filesDiscover`, `docs`, `deps`, and `append`
|
|
112
|
+
- Annotation and relationship option/result contracts: `CommentsCommandOptions` / `CommentsResult`, `NotesCommandOptions` / `NotesResult`, `LearningsCommandOptions` / `LearningsResult`, `FilesCommandOptions` / `FilesResult`, `FilesDiscoverOptions` / `FilesDiscoverResult`, `DocsCommandOptions` / `DocsResult`, `DepsCommandOptions` / `DepsResult`, `AppendCommandOptions` / `AppendResult`
|
|
113
|
+
- Typed customization primitives on `PmClient`: `init`, `config`, `schema`, `schemaList`, `schemaShow`, `schemaAddType`, `schemaRemoveType`, `schemaAddStatus`, `schemaRemoveStatus`, `schemaAddField`, `schemaRemoveField`, `schemaListFields`, `schemaShowField`, `schemaApplyPreset`, `schemaInferTypes`, `schemaShowStatus`, `profile`, `profileList`, `profileShow`, `profileApply`, and `profileLint`
|
|
114
|
+
- Customization primitive option/result contracts: `InitCommandOptions` / `InitResult`, `ConfigCommandOptions` / `ConfigResult`, `SchemaSubcommand` / `SchemaResult` / `SchemaInspectResult`, `SchemaListResult`, `SchemaShowResult`, `SchemaAddTypeResult`, `SchemaRemoveTypeResult`, `SchemaAddStatusResult`, `SchemaRemoveStatusResult`, `SchemaAddFieldResult`, `SchemaRemoveFieldResult`, `SchemaListFieldsResult`, `SchemaShowFieldResult`, `SchemaApplyPresetResult`, `SchemaAddTypeInferResult`, `SchemaShowStatusResult`, `ProfileSubcommand` / `ProfileResult`, `ProfileListResult`, `ProfileShowResult`, `ProfileApplyResult`, `ProfileLintResult`
|
|
115
|
+
- Typed governance and maintenance primitives on `PmClient`: `validate`, `health`, and `gc`
|
|
116
|
+
- Governance and maintenance option/result contracts: `ValidateCommandOptions` / `ValidateResult`, `RunHealthOptions` / `HealthResult`, `GcCommandOptions` / `GcResult`
|
|
109
117
|
- Typed package and extension lifecycle primitives on `PmClient`: `extension`, `extensionList`, `extensionActivate`, `extensionDeactivate`, `package`, `packageList`, `packageInstall`, `packageUninstall`, `packageDoctor`, `packageManage`, `packageDescribe`, `packageReload`, `packageCatalog`, `packageActivate`, `packageDeactivate`, and `upgrade`
|
|
110
118
|
- Lifecycle primitive option/result contracts: `ExtensionCommandOptions` / `ExtensionCommandResult`, `PackageCommandOptions` / `PackageCommandResult`, `UpgradeCommandOptions` / `UpgradeResult`
|
|
111
119
|
- `PM_CORE_COMMAND_NAMES`
|
|
@@ -450,6 +458,14 @@ const open = await pm.list({ status: "open", limit: "20" });
|
|
|
450
458
|
const recommendation = await pm.next({ readyOnly: true });
|
|
451
459
|
const grouped = await pm.aggregate({ groupBy: "status", count: true });
|
|
452
460
|
const stats = await pm.stats({ metadataCoverage: true });
|
|
461
|
+
await pm.comments(created.item.id, { add: "Investigation context captured." });
|
|
462
|
+
await pm.files(created.item.id, { add: ["src/index.ts"], note: "entrypoint" });
|
|
463
|
+
await pm.docs(created.item.id, { add: ["docs/SDK.md"], note: "authoring reference" });
|
|
464
|
+
const graph = await pm.deps(created.item.id, { format: "graph" });
|
|
465
|
+
const types = await pm.schemaList();
|
|
466
|
+
const profiles = await pm.profileList();
|
|
467
|
+
const validation = await pm.validate({ checkResolution: true });
|
|
468
|
+
const health = await pm.health({ checkOnly: true, summary: true });
|
|
453
469
|
const packages = await pm.packageList({ project: true });
|
|
454
470
|
const doctor = await pm.packageDoctor({ project: true, isolated: true });
|
|
455
471
|
const plannedUpgrade = await pm.upgrade(undefined, { dryRun: true, cliOnly: true });
|
|
@@ -501,6 +517,105 @@ payload shape with vocabulary-appropriate SDK signatures. `UpgradeResult` is the
|
|
|
501
517
|
same structured payload rendered by the CLI, so embedded tools can own their
|
|
502
518
|
presentation layer while sharing pm's package/install/doctor semantics.
|
|
503
519
|
|
|
520
|
+
Annotation and relationship convenience methods turn "project management =
|
|
521
|
+
context management" into a typed SDK surface. Use `pm.comments`, `pm.notes`,
|
|
522
|
+
`pm.learnings`, `pm.files`, `pm.docs`, `pm.deps`, and `pm.append` when an
|
|
523
|
+
embedded agent, package, or custom UI needs to add durable rationale, link
|
|
524
|
+
changed files/docs/tests, or inspect the item graph. `pm.filesDiscover` exposes
|
|
525
|
+
the same file-candidate discovery used by the CLI, so a custom tool can present
|
|
526
|
+
reviewable link suggestions instead of scraping git output itself.
|
|
527
|
+
|
|
528
|
+
Customization convenience methods are the SDK baseline for project-specific pm
|
|
529
|
+
tools. `pm.init` stages a tracker, `pm.config` reads/writes settings,
|
|
530
|
+
`pm.schema*` methods manage types/statuses/fields/presets, and `pm.profile*`
|
|
531
|
+
methods list, inspect, apply, and lint project archetypes. These helpers let a
|
|
532
|
+
package or app construct an opinionated project-management experience while
|
|
533
|
+
staying on the same schema/profile primitives the CLI and MCP use.
|
|
534
|
+
`pm.init` accepts `workspace` to initialize `<workspace>/.agents/pm`; path-target
|
|
535
|
+
calls retain tracker-root semantics. `InitResult.target` exposes the resolved
|
|
536
|
+
mode, tracker root, and optional workspace root, while every explicit-target
|
|
537
|
+
`next_steps` command carries `--pm-path` so embedded tools can display runnable
|
|
538
|
+
recovery without depending on the caller's current directory.
|
|
539
|
+
|
|
540
|
+
Package install results include `details.verification`, a light doctor-equivalent
|
|
541
|
+
projection of activation, registered commands/actions/item types, target tracker
|
|
542
|
+
root, and health verdict. Treat `ok: false` or `verification.status: "degraded"`
|
|
543
|
+
as an install failure even when files were copied successfully; use
|
|
544
|
+
`activation_diagnostics` and `command_discovery.next_steps` for remediation.
|
|
545
|
+
|
|
546
|
+
Governance and maintenance convenience methods expose the operational floor a
|
|
547
|
+
custom PM host should run before it trusts or publishes tracker state.
|
|
548
|
+
`pm.validate` checks resolution/history invariants, `pm.health` performs
|
|
549
|
+
read-only diagnostics, and `pm.gc` runs dry-run or explicit cleanup paths through
|
|
550
|
+
the same bounded maintenance engine as the CLI. Prefer these typed calls over
|
|
551
|
+
shelling out when building CI, editor integrations, or long-running agent
|
|
552
|
+
runtimes.
|
|
553
|
+
|
|
554
|
+
### Context relevance and evaluation
|
|
555
|
+
|
|
556
|
+
Tracked by [pm-4k6b](../.agents/pm/features/pm-4k6b.toon),
|
|
557
|
+
[pm-h3no](../.agents/pm/tasks/pm-h3no.toon), and
|
|
558
|
+
[pm-atfm](../.agents/pm/features/pm-atfm.toon).
|
|
559
|
+
|
|
560
|
+
`pm context` and `pm next` share the public deterministic relevance model.
|
|
561
|
+
Candidate order is the structural baseline; normalized metadata signals add
|
|
562
|
+
explainable weighted contributions. Package authors can call
|
|
563
|
+
`scoreContextCandidates` with a scorer callback, while installed extensions can
|
|
564
|
+
register the governed `context_relevance` service override. A malformed or
|
|
565
|
+
throwing override degrades to the deterministic default and emits an
|
|
566
|
+
`extension_context_relevance_invalid_result` warning instead of breaking the
|
|
567
|
+
read path.
|
|
568
|
+
|
|
569
|
+
Use `--explain-ranking --json` on `pm context` or `pm next` to include the model,
|
|
570
|
+
available signals, baseline rank, final rank, score, and per-signal
|
|
571
|
+
contributions. Explanation data is opt-in so default agent output stays bounded.
|
|
572
|
+
|
|
573
|
+
Custom tools can evaluate the same behavior without shelling out:
|
|
574
|
+
|
|
575
|
+
```ts
|
|
576
|
+
import {
|
|
577
|
+
PmClient,
|
|
578
|
+
runContextEvaluationCorpus,
|
|
579
|
+
type ContextEvaluationScenario,
|
|
580
|
+
type ContextEvaluationThresholds,
|
|
581
|
+
} from "@unbrained/pm-cli/sdk";
|
|
582
|
+
|
|
583
|
+
const pm = new PmClient({
|
|
584
|
+
pmRoot: ".agents/pm",
|
|
585
|
+
author: "context-quality-ci",
|
|
586
|
+
});
|
|
587
|
+
|
|
588
|
+
const scenarios: ContextEvaluationScenario[] = [
|
|
589
|
+
{
|
|
590
|
+
id: "returning-agent",
|
|
591
|
+
surface: "context",
|
|
592
|
+
options: { limit: "5" },
|
|
593
|
+
judgments: { "pm-current": 3, "pm-support": 2 },
|
|
594
|
+
required_ids: ["pm-current"],
|
|
595
|
+
continuity_ids: ["pm-current", "pm-support"],
|
|
596
|
+
token_budget: 1200,
|
|
597
|
+
rationale: "Resume claimed work with its supporting context.",
|
|
598
|
+
},
|
|
599
|
+
];
|
|
600
|
+
|
|
601
|
+
const thresholds: ContextEvaluationThresholds = {
|
|
602
|
+
ndcg: 0.9,
|
|
603
|
+
reciprocal_rank: 0.9,
|
|
604
|
+
required_recall: 1,
|
|
605
|
+
continuity_coverage: 1,
|
|
606
|
+
token_budget_adherence: 1,
|
|
607
|
+
};
|
|
608
|
+
|
|
609
|
+
const report = await runContextEvaluationCorpus(scenarios, pm, thresholds);
|
|
610
|
+
if (!report.passed) throw new Error(report.failures.join(", "));
|
|
611
|
+
```
|
|
612
|
+
|
|
613
|
+
The evaluator calls only the public `context()` / `next()` reader contract. It
|
|
614
|
+
scores nDCG, reciprocal rank, required-item recall, returning-agent continuity,
|
|
615
|
+
and deterministic `ceil(UTF-8 JSON bytes / 4)` token-budget adherence. Reports
|
|
616
|
+
retain attribution only for served items, while token accounting measures the
|
|
617
|
+
normal packet without the opt-in ranking explanation.
|
|
618
|
+
|
|
504
619
|
`PmClient` and `runAction` share the same process-wide extension activation
|
|
505
620
|
queue as MCP. Calls from one process are serialized across extension load,
|
|
506
621
|
activation, dispatch, cleanup, and deactivate so active extension registries stay
|
package/docs/TESTING.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
This page describes safe local tests, linked tests, coverage, and release-readiness checks.
|
|
4
4
|
|
|
5
|
-
Tracked implementation updates: [pm-52eh](../.agents/pm/features/pm-52eh.toon), [pm-mcxr](../.agents/pm/issues/pm-mcxr.toon), [pm-u42x](../.agents/pm/issues/pm-u42x.toon).
|
|
5
|
+
Tracked implementation updates: [pm-52eh](../.agents/pm/features/pm-52eh.toon), [pm-mcxr](../.agents/pm/issues/pm-mcxr.toon), [pm-u42x](../.agents/pm/issues/pm-u42x.toon), [pm-atfm](../.agents/pm/features/pm-atfm.toon), [pm-xmp5](../.agents/pm/tasks/pm-xmp5.toon).
|
|
6
6
|
|
|
7
7
|
## Agent Quick Context
|
|
8
8
|
|
|
@@ -109,6 +109,45 @@ Fixture authoring notes:
|
|
|
109
109
|
|
|
110
110
|
CI currently runs this gate in advisory mode (`continue-on-error: true`), so failures do not block merges by default; treat failing nDCG as a quality signal to investigate, not as a silent ignore.
|
|
111
111
|
|
|
112
|
+
## Context Quality Evaluation
|
|
113
|
+
|
|
114
|
+
The required context relevance gate proves that `pm context` and `pm next`
|
|
115
|
+
assemble the right bounded working set, not only that search returns relevant
|
|
116
|
+
documents.
|
|
117
|
+
|
|
118
|
+
Fixture and baseline sources:
|
|
119
|
+
|
|
120
|
+
- `tests/context-eval/golden-scenarios.json` — reviewable scratch,
|
|
121
|
+
real-shaped, synthetic-scale, and returning-agent continuity judgments.
|
|
122
|
+
- `tests/context-eval/baseline.json` — committed aggregate and per-scenario
|
|
123
|
+
metrics from the accepted structural/scorer behavior.
|
|
124
|
+
|
|
125
|
+
Run the required gate locally:
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
pnpm build
|
|
129
|
+
pnpm quality:context-eval
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
The gate creates isolated temporary trackers through `PmClient`, reads them only
|
|
133
|
+
through the public `context()` / `next()` SDK primitives, and reports nDCG,
|
|
134
|
+
reciprocal rank, required-item recall, continuity coverage, token-budget
|
|
135
|
+
adherence, and served-item signal attribution. It fails when an explicit corpus
|
|
136
|
+
threshold is missed or any aggregate metric regresses below the committed
|
|
137
|
+
baseline.
|
|
138
|
+
|
|
139
|
+
When a deliberate ranking change improves or intentionally redefines the golden
|
|
140
|
+
judgments, review the scenario-level diff first, then refresh the baseline:
|
|
141
|
+
|
|
142
|
+
```bash
|
|
143
|
+
pnpm quality:context-eval -- --update
|
|
144
|
+
pnpm quality:context-eval
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
Do not update the baseline merely to make CI green. Change judgments and
|
|
148
|
+
rationales in the corpus when product intent changes, and commit the corpus,
|
|
149
|
+
baseline, scorer tests, and SDK documentation together.
|
|
150
|
+
|
|
112
151
|
## Linked Tests
|
|
113
152
|
|
|
114
153
|
Add tests to the item that owns the work:
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@unbrained/pm-cli",
|
|
3
|
-
"version": "2026.7.
|
|
3
|
+
"version": "2026.7.10",
|
|
4
4
|
"description": "Git-native project management CLI for humans and agents.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"packageManager": "pnpm@11.10.0",
|
|
@@ -80,7 +80,9 @@
|
|
|
80
80
|
"lint:complexity:baseline": "eslint . --suppress-rule complexity",
|
|
81
81
|
"lint:duplicates": "jscpd --config .jscpd.json",
|
|
82
82
|
"lint:codefactor": "pnpm quality:static",
|
|
83
|
-
"quality:static": "node scripts/release/static-quality-gate.mjs --min-docstring-coverage 92.93 --min-exported-docstring-coverage 84.41 --min-member-docstring-coverage 13.655",
|
|
83
|
+
"quality:static": "pnpm build && node scripts/release/static-quality-gate.mjs --min-docstring-coverage 92.93 --min-exported-docstring-coverage 84.41 --min-member-docstring-coverage 13.655 && node scripts/release/token-budget-gate.mjs",
|
|
84
|
+
"quality:token-budget": "node scripts/release/token-budget-gate.mjs",
|
|
85
|
+
"quality:context-eval": "node scripts/release/context-eval-gate.mjs",
|
|
84
86
|
"quality:docs-skills": "node scripts/release/docs-skills-gate.mjs",
|
|
85
87
|
"quality:docs-links": "node scripts/release/docs-skills-gate.mjs --links-only",
|
|
86
88
|
"contracts:update": "node scripts/contracts-snapshot.mjs --update",
|