@unbrained/pm-cli 2026.6.6 → 2026.6.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +37 -0
- package/README.md +5 -1
- package/dist/cli/commander-usage.js +74 -4
- package/dist/cli/commander-usage.js.map +1 -1
- package/dist/cli/commands/aggregate.d.ts +8 -0
- package/dist/cli/commands/aggregate.js +84 -7
- package/dist/cli/commands/aggregate.js.map +1 -1
- package/dist/cli/commands/calendar.js +10 -3
- package/dist/cli/commands/calendar.js.map +1 -1
- package/dist/cli/commands/close-many.js +13 -10
- package/dist/cli/commands/close-many.js.map +1 -1
- package/dist/cli/commands/close.d.ts +1 -1
- package/dist/cli/commands/close.js +20 -10
- package/dist/cli/commands/close.js.map +1 -1
- package/dist/cli/commands/completion.js +68 -13
- package/dist/cli/commands/completion.js.map +1 -1
- package/dist/cli/commands/config.d.ts +5 -4
- package/dist/cli/commands/config.js +50 -2
- package/dist/cli/commands/config.js.map +1 -1
- package/dist/cli/commands/contracts.js +4 -3
- package/dist/cli/commands/contracts.js.map +1 -1
- package/dist/cli/commands/copy.d.ts +14 -0
- package/dist/cli/commands/copy.js +153 -0
- package/dist/cli/commands/copy.js.map +1 -0
- package/dist/cli/commands/extension/doctor.js +62 -2
- package/dist/cli/commands/extension/doctor.js.map +1 -1
- package/dist/cli/commands/extension/install-sources.d.ts +8 -0
- package/dist/cli/commands/extension/install-sources.js +82 -2
- package/dist/cli/commands/extension/install-sources.js.map +1 -1
- package/dist/cli/commands/extension.d.ts +29 -0
- package/dist/cli/commands/extension.js +61 -2
- package/dist/cli/commands/extension.js.map +1 -1
- package/dist/cli/commands/get.d.ts +9 -0
- package/dist/cli/commands/get.js +23 -2
- package/dist/cli/commands/get.js.map +1 -1
- package/dist/cli/commands/history-compact.d.ts +39 -0
- package/dist/cli/commands/history-compact.js +262 -0
- package/dist/cli/commands/history-compact.js.map +1 -0
- package/dist/cli/commands/index.d.ts +2 -0
- package/dist/cli/commands/index.js +4 -2
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/list.d.ts +2 -0
- package/dist/cli/commands/list.js +87 -9
- package/dist/cli/commands/list.js.map +1 -1
- package/dist/cli/commands/reindex.js +8 -4
- package/dist/cli/commands/reindex.js.map +1 -1
- package/dist/cli/commands/search.d.ts +1 -0
- package/dist/cli/commands/search.js +232 -35
- package/dist/cli/commands/search.js.map +1 -1
- package/dist/cli/error-guidance.js +26 -2
- package/dist/cli/error-guidance.js.map +1 -1
- package/dist/cli/extension-command-help.d.ts +1 -0
- package/dist/cli/extension-command-help.js +3 -2
- package/dist/cli/extension-command-help.js.map +1 -1
- package/dist/cli/help-content.js +10 -2
- package/dist/cli/help-content.js.map +1 -1
- package/dist/cli/main.d.ts +3 -0
- package/dist/cli/main.js +13 -21
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/register-list-query.js +19 -4
- package/dist/cli/register-list-query.js.map +1 -1
- package/dist/cli/register-mutation.js +52 -17
- package/dist/cli/register-mutation.js.map +1 -1
- package/dist/cli/register-operations.js +31 -7
- package/dist/cli/register-operations.js.map +1 -1
- package/dist/cli/register-setup.js +5 -5
- package/dist/cli/register-setup.js.map +1 -1
- package/dist/cli/registration-helpers.js +21 -3
- package/dist/cli/registration-helpers.js.map +1 -1
- package/dist/cli-bundle/chunks/activity-5UROHJ3D.js +16 -0
- package/dist/cli-bundle/chunks/{activity-JM6DTDND.js → activity-YVB3QRTE.js} +11 -11
- package/dist/cli-bundle/chunks/{aggregate-VNAHUNNF.js → aggregate-LH66F75F.js} +87 -17
- package/dist/cli-bundle/chunks/aggregate-LH66F75F.js.map +7 -0
- package/dist/cli-bundle/chunks/{aggregate-GI7WSZPH.js → aggregate-OHSWFQJM.js} +88 -18
- package/dist/cli-bundle/chunks/aggregate-OHSWFQJM.js.map +1 -0
- package/dist/cli-bundle/chunks/{append-WMKRXKCE.js → append-2PPYFAG5.js} +8 -8
- package/dist/cli-bundle/chunks/{append-7H5N64R2.js → append-AUGT5W6J.js} +8 -8
- package/dist/cli-bundle/chunks/{chunk-6P6GGMOG.js → chunk-2IF7WLB7.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-T3LC5LKB.js → chunk-2IXCHCLM.js} +5 -6
- package/dist/cli-bundle/chunks/chunk-2IXCHCLM.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-KAG77BY3.js → chunk-2OJHLWBZ.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-GXSUPCBV.js → chunk-3A2CMEM7.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-UM2GBHS4.js → chunk-3EOBJOF4.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-Q7SPNHLW.js → chunk-42LOFGJS.js} +91 -16
- package/dist/cli-bundle/chunks/chunk-42LOFGJS.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-PRJCELV4.js → chunk-4CHEG6UK.js} +8 -8
- package/dist/cli-bundle/chunks/{chunk-4LL6TK5B.js → chunk-4GHZR3BA.js} +56 -28
- package/dist/cli-bundle/chunks/chunk-4GHZR3BA.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-OZ7NSQHL.js → chunk-5AXMRKN5.js} +8 -8
- package/dist/cli-bundle/chunks/{chunk-GCOQW437.js → chunk-6J4K6JLA.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-2RSPZI5H.js → chunk-6RZXO5M2.js} +8 -8
- package/dist/cli-bundle/chunks/{chunk-KJ33AOCY.js → chunk-AVJD6VTA.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-TCD3R2PF.js → chunk-B2KZGPM2.js} +39 -8
- package/dist/cli-bundle/chunks/chunk-B2KZGPM2.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-I6BNFU5X.js → chunk-B5RF3IP7.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-RZN6VURO.js → chunk-C5W2UH56.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-3LB74A67.js → chunk-CKLBZHS7.js} +6 -6
- package/dist/cli-bundle/chunks/{chunk-KWU6HG75.js → chunk-CLD3XNCH.js} +91 -10
- package/dist/cli-bundle/chunks/chunk-CLD3XNCH.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-QO7EBBOM.js → chunk-FHHBD7PN.js} +38 -7
- package/dist/cli-bundle/chunks/chunk-FHHBD7PN.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-3VAM3NNM.js → chunk-FY6Z3FYY.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-RWPSOIEE.js → chunk-GNIUOLZ2.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-MITFDD35.js → chunk-GPXQBR3H.js} +12 -12
- package/dist/cli-bundle/chunks/{chunk-2VBQ6ZXS.js → chunk-GUZBNB3G.js} +27 -5
- package/dist/cli-bundle/chunks/chunk-GUZBNB3G.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-I2HSTRJF.js → chunk-H7EO3QA3.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-77GFDHGF.js → chunk-HLC3KTLP.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-OVQCEJPG.js → chunk-HMMMWBK2.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-KJE2FOS4.js → chunk-HRMHZ4RV.js} +26 -4
- package/dist/cli-bundle/chunks/chunk-HRMHZ4RV.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-XLTD2HN3.js → chunk-HV5SSZXF.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-GU2ZJ2VV.js → chunk-IMCJBN2Q.js} +23 -14
- package/dist/cli-bundle/chunks/chunk-IMCJBN2Q.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-2HVRUSQA.js → chunk-KNGVP5WJ.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-ECCMVXGM.js → chunk-KR6R465K.js} +304 -215
- package/dist/cli-bundle/chunks/chunk-KR6R465K.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-3BWOVLTH.js → chunk-LI65XLJR.js} +8 -8
- package/dist/cli-bundle/chunks/{chunk-NUZ5HKR4.js → chunk-LIN2BPJ7.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-LMTOY5HE.js +112 -0
- package/dist/cli-bundle/chunks/chunk-LMTOY5HE.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-N7ACFE26.js → chunk-LQHBENVW.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-23YFZ3IG.js → chunk-LXO6V66E.js} +14 -14
- package/dist/cli-bundle/chunks/{chunk-PDDFYW4X.js → chunk-M2PW7EZU.js} +26 -7
- package/dist/cli-bundle/chunks/chunk-M2PW7EZU.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-PIU6RSL3.js → chunk-MOYM2C3J.js} +9 -9
- package/dist/cli-bundle/chunks/{chunk-PROOHX4K.js → chunk-MWRS7Z4P.js} +94 -13
- package/dist/cli-bundle/chunks/chunk-MWRS7Z4P.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-FRAUKRU2.js → chunk-NHR2QXXZ.js} +24 -15
- package/dist/cli-bundle/chunks/chunk-NHR2QXXZ.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-IJGCZSIQ.js → chunk-NQL32HQ5.js} +12 -12
- package/dist/cli-bundle/chunks/{chunk-52MAOQ6J.js → chunk-O7HSSFCC.js} +65 -16
- package/dist/cli-bundle/chunks/chunk-O7HSSFCC.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-6ER6DXH5.js → chunk-OKSKJKHX.js} +9 -9
- package/dist/cli-bundle/chunks/{chunk-IOR7LGF4.js → chunk-QQL5QSTZ.js} +88 -7
- package/dist/cli-bundle/chunks/chunk-QQL5QSTZ.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-2VVCGBNV.js → chunk-R3V3YCMH.js} +9 -9
- package/dist/cli-bundle/chunks/{chunk-UBOPJT3S.js → chunk-RVPTZKBC.js} +9 -9
- package/dist/cli-bundle/chunks/{chunk-WKY2IBOQ.js → chunk-SFFVGNHC.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-WSMOSYRD.js → chunk-SQPKRA54.js} +14 -14
- package/dist/cli-bundle/chunks/chunk-THDEID2Z.js +115 -0
- package/dist/cli-bundle/chunks/chunk-THDEID2Z.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-W7XABV4H.js → chunk-TINUJMWN.js} +92 -17
- package/dist/cli-bundle/chunks/chunk-TINUJMWN.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-YL2DJGYS.js → chunk-TNPBPNII.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-XTGLRY2Y.js → chunk-TP4DDY27.js} +6 -6
- package/dist/cli-bundle/chunks/{chunk-AY43SBIN.js → chunk-TYJJOTUA.js} +6 -6
- package/dist/cli-bundle/chunks/{chunk-LCM63IXU.js → chunk-UAQOQ7IE.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-BQHUILZS.js → chunk-UEWA73ZZ.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-PO3GSVFV.js → chunk-UIIQC5YO.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-U5SXYXSY.js → chunk-UJUT6AHZ.js} +241 -35
- package/dist/cli-bundle/chunks/chunk-UJUT6AHZ.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-HZGUAH22.js → chunk-UT6WFXW2.js} +6 -7
- package/dist/cli-bundle/chunks/chunk-UT6WFXW2.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-LB3RUL2N.js → chunk-UYQ7HXH4.js} +10 -6
- package/dist/cli-bundle/chunks/chunk-UYQ7HXH4.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-R6UFP2GE.js → chunk-V6EYFTRL.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-3FI4SEFT.js → chunk-WAA7UI6M.js} +58 -30
- package/dist/cli-bundle/chunks/chunk-WAA7UI6M.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-AO442XLN.js → chunk-WCQZBDDH.js} +10 -6
- package/dist/cli-bundle/chunks/{chunk-AO442XLN.js.map → chunk-WCQZBDDH.js.map} +2 -2
- package/dist/cli-bundle/chunks/{chunk-SKJWX3QB.js → chunk-WR5567FH.js} +87 -6
- package/dist/cli-bundle/chunks/chunk-WR5567FH.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-XSJCLN2R.js → chunk-WYEXLDDY.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-5SFCOO6B.js → chunk-X4IZKYHP.js} +234 -28
- package/dist/cli-bundle/chunks/chunk-X4IZKYHP.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-E5FJNAZA.js → chunk-X7UHMKPE.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-WOPXVEZP.js → chunk-XS3O2TFJ.js} +27 -8
- package/dist/cli-bundle/chunks/chunk-XS3O2TFJ.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-TPH5XEVD.js → chunk-XYNT7UFP.js} +303 -207
- package/dist/cli-bundle/chunks/chunk-XYNT7UFP.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-GGYWB3Y2.js → chunk-YBZW2QQ7.js} +6 -6
- package/dist/cli-bundle/chunks/{chunk-ME2YH6FN.js → chunk-YO3THIJF.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-5FDATVEZ.js → chunk-YPH4ESA2.js} +66 -17
- package/dist/cli-bundle/chunks/chunk-YPH4ESA2.js.map +1 -0
- package/dist/cli-bundle/chunks/{claim-X2P4IB7J.js → claim-BJ4QMPJC.js} +10 -10
- package/dist/cli-bundle/chunks/{claim-4DBF6RVG.js → claim-KW743OSW.js} +10 -10
- package/dist/cli-bundle/chunks/close-P4ZBKODL.js +13 -0
- package/dist/cli-bundle/chunks/{close-PTYFA45H.js → close-SYHSRZDC.js} +8 -8
- package/dist/cli-bundle/chunks/{close-many-7CGIDPTJ.js → close-many-DBLEYFOY.js} +29 -26
- package/dist/cli-bundle/chunks/close-many-DBLEYFOY.js.map +7 -0
- package/dist/cli-bundle/chunks/{close-many-ERFO6LHR.js → close-many-LAC5VR4G.js} +30 -27
- package/dist/cli-bundle/chunks/close-many-LAC5VR4G.js.map +1 -0
- package/dist/cli-bundle/chunks/{comments-QKBYCWKD.js → comments-JEO6HHVM.js} +10 -10
- package/dist/cli-bundle/chunks/{comments-OONGABK5.js → comments-YT2PQ5DD.js} +10 -10
- package/dist/cli-bundle/chunks/{config-6FXCQKIF.js → config-RZRVS3ZV.js} +127 -11
- package/dist/cli-bundle/chunks/config-RZRVS3ZV.js.map +1 -0
- package/dist/cli-bundle/chunks/{config-U4RZ4CQB.js → config-YJSAAADD.js} +128 -12
- package/dist/cli-bundle/chunks/config-YJSAAADD.js.map +7 -0
- package/dist/cli-bundle/chunks/{context-FYYJGFWS.js → context-LGYEEKAW.js} +14 -14
- package/dist/cli-bundle/chunks/{context-FYYJGFWS.js.map → context-LGYEEKAW.js.map} +2 -2
- package/dist/cli-bundle/chunks/{context-YMJ3Z2HQ.js → context-ZUH5IOOI.js} +15 -15
- package/dist/cli-bundle/chunks/context-ZUH5IOOI.js.map +1 -0
- package/dist/cli-bundle/chunks/{contracts-RFSPGVVJ.js → contracts-YXJ6NXKH.js} +7 -5
- package/dist/cli-bundle/chunks/contracts-YXJ6NXKH.js.map +7 -0
- package/dist/cli-bundle/chunks/{contracts-QDB6OMLQ.js → contracts-ZIBXROPE.js} +8 -6
- package/dist/cli-bundle/chunks/contracts-ZIBXROPE.js.map +1 -0
- package/dist/cli-bundle/chunks/copy-BZALX5MQ.js +182 -0
- package/dist/cli-bundle/chunks/copy-BZALX5MQ.js.map +1 -0
- package/dist/cli-bundle/chunks/copy-YPWEIAPD.js +185 -0
- package/dist/cli-bundle/chunks/copy-YPWEIAPD.js.map +7 -0
- package/dist/cli-bundle/chunks/create-4DS2QWQC.js +27 -0
- package/dist/cli-bundle/chunks/{create-I5L4EYYZ.js → create-CF7EVRX7.js} +13 -13
- package/dist/cli-bundle/chunks/{delete-7HPGI4GZ.js → delete-KR4VBWVE.js} +7 -7
- package/dist/cli-bundle/chunks/{delete-VXUPH5RS.js → delete-XLZRTRKR.js} +7 -7
- package/dist/cli-bundle/chunks/{deps-JSRRWC3Z.js → deps-2YTXD3VM.js} +7 -7
- package/dist/cli-bundle/chunks/{deps-SCZIFK2Z.js → deps-GZMFMTGS.js} +7 -7
- package/dist/cli-bundle/chunks/{docs-GJK6K4VP.js → docs-SLROFEQ4.js} +9 -9
- package/dist/cli-bundle/chunks/{docs-WW4N3MBM.js → docs-ZHISRR2D.js} +9 -9
- package/dist/cli-bundle/chunks/{extension-J7IBMFTD.js → extension-3C7OOI4F.js} +8 -6
- package/dist/cli-bundle/chunks/{extension-VDY2U33M.js → extension-XYCUXICD.js} +8 -6
- package/dist/cli-bundle/chunks/{files-ISZJGILQ.js → files-FUWF2FYJ.js} +9 -9
- package/dist/cli-bundle/chunks/{files-WKOD326U.js → files-J4I5IU4O.js} +9 -9
- package/dist/cli-bundle/chunks/{gc-JDVJ6OQ2.js → gc-34NXSNSN.js} +3 -3
- package/dist/cli-bundle/chunks/{gc-ULPVWMTN.js → gc-SPIIZX3A.js} +3 -3
- package/dist/cli-bundle/chunks/{get-RV37HT3G.js → get-SZKNRHMA.js} +34 -12
- package/dist/cli-bundle/chunks/get-SZKNRHMA.js.map +1 -0
- package/dist/cli-bundle/chunks/{get-WXU6WI5P.js → get-VITKYP6S.js} +33 -11
- package/dist/cli-bundle/chunks/get-VITKYP6S.js.map +7 -0
- package/dist/cli-bundle/chunks/{health-6L6EH4WR.js → health-4SNTA2TF.js} +12 -11
- package/dist/cli-bundle/chunks/{health-6L6EH4WR.js.map → health-4SNTA2TF.js.map} +1 -1
- package/dist/cli-bundle/chunks/{health-LOI2HHKB.js → health-7G3EPM57.js} +14 -13
- package/dist/cli-bundle/chunks/{health-LOI2HHKB.js.map → health-7G3EPM57.js.map} +1 -1
- package/dist/cli-bundle/chunks/{history-PKN67D5O.js → history-SDAWYZR3.js} +10 -10
- package/dist/cli-bundle/chunks/history-YDUEILKP.js +20 -0
- package/dist/cli-bundle/chunks/history-compact-DMW536VH.js +287 -0
- package/dist/cli-bundle/chunks/history-compact-DMW536VH.js.map +1 -0
- package/dist/cli-bundle/chunks/history-compact-POTZGG7K.js +290 -0
- package/dist/cli-bundle/chunks/history-compact-POTZGG7K.js.map +7 -0
- package/dist/cli-bundle/chunks/{history-redact-V4FOJGS7.js → history-redact-EPJ7GENL.js} +11 -11
- package/dist/cli-bundle/chunks/history-redact-KASLLPE7.js +19 -0
- package/dist/cli-bundle/chunks/{history-repair-SDMHR7JT.js → history-repair-IJ7LLBET.js} +11 -11
- package/dist/cli-bundle/chunks/{history-repair-HIBCBIKK.js → history-repair-YNESJRT6.js} +11 -11
- package/dist/cli-bundle/chunks/init-IGSS4GNH.js +17 -0
- package/dist/cli-bundle/chunks/{init-P56QYWJF.js → init-YHVBTEET.js} +9 -8
- package/dist/cli-bundle/chunks/{learnings-GDFRG5J7.js → learnings-4YBMIVCZ.js} +10 -10
- package/dist/cli-bundle/chunks/{learnings-MIXSESLK.js → learnings-T4PF24YN.js} +10 -10
- package/dist/cli-bundle/chunks/{list-FGOWQMSM.js → list-3KEVBOYW.js} +10 -10
- package/dist/cli-bundle/chunks/list-E44O2K64.js +20 -0
- package/dist/cli-bundle/chunks/{notes-4XVSH2AZ.js → notes-FLUCNJSH.js} +10 -10
- package/dist/cli-bundle/chunks/{notes-5UK3GEH2.js → notes-GJKALVZM.js} +10 -10
- package/dist/cli-bundle/chunks/{plan-SLMODHWX.js → plan-T5MMZLI3.js} +13 -13
- package/dist/cli-bundle/chunks/{plan-DUMBV3QB.js → plan-YYMIL3HV.js} +13 -13
- package/dist/cli-bundle/chunks/{register-list-query-POCFZ5JW.js → register-list-query-I65EZ3HB.js} +29 -25
- package/dist/cli-bundle/chunks/register-list-query-I65EZ3HB.js.map +1 -0
- package/dist/cli-bundle/chunks/{register-list-query-WST76HSQ.js → register-list-query-OECMHO4G.js} +28 -24
- package/dist/cli-bundle/chunks/register-list-query-OECMHO4G.js.map +7 -0
- package/dist/cli-bundle/chunks/{register-mutation-N5GSUZJV.js → register-mutation-2FLXORLR.js} +65 -47
- package/dist/cli-bundle/chunks/register-mutation-2FLXORLR.js.map +1 -0
- package/dist/cli-bundle/chunks/{register-mutation-OA675SOU.js → register-mutation-5GPDEKHR.js} +64 -46
- package/dist/cli-bundle/chunks/register-mutation-5GPDEKHR.js.map +7 -0
- package/dist/cli-bundle/chunks/{register-operations-GNHBE5I3.js → register-operations-BNGAUMGK.js} +58 -35
- package/dist/cli-bundle/chunks/register-operations-BNGAUMGK.js.map +1 -0
- package/dist/cli-bundle/chunks/{register-operations-N3PMHXH5.js → register-operations-GQKT35H5.js} +57 -34
- package/dist/cli-bundle/chunks/register-operations-GQKT35H5.js.map +7 -0
- package/dist/cli-bundle/chunks/{register-setup-JIMPKJKV.js → register-setup-DNDCGZ4O.js} +18 -18
- package/dist/cli-bundle/chunks/{register-setup-JIMPKJKV.js.map → register-setup-DNDCGZ4O.js.map} +1 -1
- package/dist/cli-bundle/chunks/{register-setup-ZHJI2DI3.js → register-setup-EJY44FPH.js} +17 -17
- package/dist/cli-bundle/chunks/{register-setup-ZHJI2DI3.js.map → register-setup-EJY44FPH.js.map} +2 -2
- package/dist/cli-bundle/chunks/{restore-PBL6T5TW.js → restore-DDJGVZIN.js} +11 -11
- package/dist/cli-bundle/chunks/restore-SJSASGZP.js +17 -0
- package/dist/cli-bundle/chunks/{schema-2NOO6NGB.js → schema-B7NQ6XVP.js} +8 -8
- package/dist/cli-bundle/chunks/{schema-EBI4NLUO.js → schema-HEGYH6CE.js} +8 -8
- package/dist/cli-bundle/chunks/{search-JPUQTVCY.js → search-DVVQ4UO2.js} +421 -42
- package/dist/cli-bundle/chunks/search-DVVQ4UO2.js.map +1 -0
- package/dist/cli-bundle/chunks/{search-OA6JX27A.js → search-JNEZJV7H.js} +427 -41
- package/dist/cli-bundle/chunks/search-JNEZJV7H.js.map +7 -0
- package/dist/cli-bundle/chunks/{stats-CV54BAWY.js → stats-7JDIJRDH.js} +7 -7
- package/dist/cli-bundle/chunks/{stats-XYB6KTFG.js → stats-SYTJRR4Z.js} +7 -7
- package/dist/cli-bundle/chunks/{telemetry-LMJ7PFUO.js → telemetry-4HHWD5Y7.js} +4 -4
- package/dist/cli-bundle/chunks/{telemetry-NCMEPJNR.js → telemetry-EGWP7ZUX.js} +4 -4
- package/dist/cli-bundle/chunks/{test-WBROAJIE.js → test-IIELLSZX.js} +14 -13
- package/dist/cli-bundle/chunks/test-ML5RLWXE.js +32 -0
- package/dist/cli-bundle/chunks/{test-all-NTOZ7C3M.js → test-all-7DNCMML7.js} +14 -13
- package/dist/cli-bundle/chunks/{test-all-NTOZ7C3M.js.map → test-all-7DNCMML7.js.map} +1 -1
- package/dist/cli-bundle/chunks/{test-all-N6NSRDTV.js → test-all-IHTUJRRC.js} +16 -15
- package/dist/cli-bundle/chunks/{test-all-N6NSRDTV.js.map → test-all-IHTUJRRC.js.map} +1 -1
- package/dist/cli-bundle/chunks/{test-runs-V6A7LPWZ.js → test-runs-5FEMBV3A.js} +5 -5
- package/dist/cli-bundle/chunks/{test-runs-WMVTQU3Y.js → test-runs-RNKZ37PS.js} +5 -5
- package/dist/cli-bundle/chunks/update-6C67X4KS.js +21 -0
- package/dist/cli-bundle/chunks/update-VF26YPT3.js +25 -0
- package/dist/cli-bundle/chunks/{update-many-KGGEYABR.js → update-many-BSZZZYXY.js} +22 -22
- package/dist/cli-bundle/chunks/{update-many-EM6OXYGO.js → update-many-BWKJJEBF.js} +22 -22
- package/dist/cli-bundle/chunks/{upgrade-LXPOQKFV.js → upgrade-RSE5PC44.js} +7 -6
- package/dist/cli-bundle/chunks/{upgrade-LXPOQKFV.js.map → upgrade-RSE5PC44.js.map} +1 -1
- package/dist/cli-bundle/chunks/{upgrade-BLI7XBAJ.js → upgrade-YWI5DJFA.js} +5 -4
- package/dist/cli-bundle/chunks/{upgrade-BLI7XBAJ.js.map → upgrade-YWI5DJFA.js.map} +1 -1
- package/dist/cli-bundle/chunks/{validate-AGOAUOVW.js → validate-NK3WKB7C.js} +18 -17
- package/dist/cli-bundle/chunks/{validate-AGOAUOVW.js.map → validate-NK3WKB7C.js.map} +1 -1
- package/dist/cli-bundle/chunks/{validate-L5J6A7YO.js → validate-UCEOB7S6.js} +20 -19
- package/dist/cli-bundle/chunks/{validate-L5J6A7YO.js.map → validate-UCEOB7S6.js.map} +1 -1
- package/dist/cli-bundle/main.js +127 -43
- package/dist/cli-bundle/main.js.map +3 -3
- package/dist/core/config/nested-settings.d.ts +8 -6
- package/dist/core/config/nested-settings.js +71 -5
- package/dist/core/config/nested-settings.js.map +1 -1
- package/dist/core/config/positional-value.js +4 -2
- package/dist/core/config/positional-value.js.map +1 -1
- package/dist/core/extensions/extension-types.d.ts +36 -0
- package/dist/core/extensions/extension-types.js +2 -2
- package/dist/core/extensions/extension-types.js.map +1 -1
- package/dist/core/extensions/loader.js +46 -5
- package/dist/core/extensions/loader.js.map +1 -1
- package/dist/core/history/drift-scan.d.ts +3 -4
- package/dist/core/history/drift-scan.js +71 -18
- package/dist/core/history/drift-scan.js.map +1 -1
- package/dist/core/item/id.js +4 -5
- package/dist/core/item/id.js.map +1 -1
- package/dist/core/item/item-format.js +7 -3
- package/dist/core/item/item-format.js.map +1 -1
- package/dist/core/item/toon-decode.d.ts +7 -0
- package/dist/core/item/toon-decode.js +11 -2
- package/dist/core/item/toon-decode.js.map +1 -1
- package/dist/core/item/type-registry.js +25 -7
- package/dist/core/item/type-registry.js.map +1 -1
- package/dist/core/search/cache.js +5 -3
- package/dist/core/search/cache.js.map +1 -1
- package/dist/core/search/corpus.d.ts +6 -0
- package/dist/core/search/corpus.js +22 -9
- package/dist/core/search/corpus.js.map +1 -1
- package/dist/core/search/embedding-batches.js +10 -7
- package/dist/core/search/embedding-batches.js.map +1 -1
- package/dist/core/search/relevance.d.ts +29 -0
- package/dist/core/search/relevance.js +226 -0
- package/dist/core/search/relevance.js.map +1 -0
- package/dist/core/search/vector-stores.d.ts +3 -0
- package/dist/core/search/vector-stores.js +23 -10
- package/dist/core/search/vector-stores.js.map +1 -1
- package/dist/core/shared/constants.js +15 -2
- package/dist/core/shared/constants.js.map +1 -1
- package/dist/core/shared/errors.d.ts +6 -0
- package/dist/core/shared/errors.js +2 -2
- package/dist/core/shared/errors.js.map +1 -1
- package/dist/core/shared/primitives.d.ts +8 -0
- package/dist/core/shared/primitives.js +29 -2
- package/dist/core/shared/primitives.js.map +1 -1
- package/dist/core/shared/time.js +42 -6
- package/dist/core/shared/time.js.map +1 -1
- package/dist/core/store/paths.js +25 -7
- package/dist/core/store/paths.js.map +1 -1
- package/dist/core/store/settings-validator.d.ts +11 -0
- package/dist/core/store/settings-validator.js +14 -2
- package/dist/core/store/settings-validator.js.map +1 -1
- package/dist/core/store/settings.js +109 -12
- package/dist/core/store/settings.js.map +1 -1
- package/dist/core/telemetry/runtime.js +85 -4
- package/dist/core/telemetry/runtime.js.map +1 -1
- package/dist/mcp/server.js +36 -9
- package/dist/mcp/server.js.map +1 -1
- package/dist/sdk/cli-contracts/commander-types.d.ts +1 -0
- package/dist/sdk/cli-contracts/commander-types.js +13 -2
- package/dist/sdk/cli-contracts/commander-types.js.map +1 -1
- package/dist/sdk/cli-contracts/enum-contracts.d.ts +2 -2
- package/dist/sdk/cli-contracts/enum-contracts.js +6 -2
- package/dist/sdk/cli-contracts/enum-contracts.js.map +1 -1
- package/dist/sdk/cli-contracts/tool-option-contracts.js +7 -2
- package/dist/sdk/cli-contracts/tool-option-contracts.js.map +1 -1
- package/dist/sdk/cli-contracts/tool-parameter-tables.js +31 -2
- package/dist/sdk/cli-contracts/tool-parameter-tables.js.map +1 -1
- package/dist/sdk/cli-contracts.d.ts +3 -1
- package/dist/sdk/cli-contracts.js +36 -6
- package/dist/sdk/cli-contracts.js.map +1 -1
- package/dist/sdk/index.d.ts +2 -2
- package/dist/sdk/index.js +3 -3
- package/dist/sdk/index.js.map +1 -1
- package/dist/sdk/testing.d.ts +51 -1
- package/dist/sdk/testing.js +93 -2
- package/dist/sdk/testing.js.map +1 -1
- package/dist/types.d.ts +14 -0
- package/dist/types.js +2 -2
- package/dist/types.js.map +1 -1
- package/docs/CLAUDE_CODE_PLUGIN.md +2 -2
- package/docs/CODEX_PLUGIN.md +1 -1
- package/docs/COMMANDS.md +9 -2
- package/docs/CONFIGURATION.md +22 -1
- package/docs/EXTENSIONS.md +22 -9
- package/docs/QUICKSTART.md +1 -1
- package/docs/SDK.md +66 -0
- package/docs/TESTING.md +14 -0
- package/package.json +2 -1
- package/packages/pm-governance-audit/README.md +14 -0
- package/packages/pm-governance-audit/extensions/governance-audit/index.js +39 -1
- package/packages/pm-governance-audit/extensions/governance-audit/index.ts +40 -2
- package/packages/pm-governance-audit/extensions/governance-audit/manifest.json +1 -1
- package/packages/pm-governance-audit/package.json +4 -2
- package/packages/pm-lifecycle-hooks/README.md +21 -0
- package/packages/pm-search-advanced/README.md +38 -0
- package/packages/pm-search-advanced/extensions/search-advanced/index.js +17 -0
- package/packages/pm-search-advanced/extensions/search-advanced/index.ts +17 -0
- package/packages/pm-search-advanced/extensions/search-advanced/runtime.js +216 -1
- package/packages/pm-search-advanced/extensions/search-advanced/runtime.ts +271 -2
- package/plugins/pm-claude/README.md +4 -4
- package/plugins/pm-codex/README.md +1 -1
- package/dist/cli-bundle/chunks/activity-CVXTCHYY.js +0 -16
- package/dist/cli-bundle/chunks/aggregate-GI7WSZPH.js.map +0 -1
- package/dist/cli-bundle/chunks/aggregate-VNAHUNNF.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-2VBQ6ZXS.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-3FI4SEFT.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-4LL6TK5B.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-52MAOQ6J.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-5FDATVEZ.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-5SFCOO6B.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-ECCMVXGM.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-FRAUKRU2.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-GU2ZJ2VV.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-HZGUAH22.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-IOR7LGF4.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-KJE2FOS4.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-KWU6HG75.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-LB3RUL2N.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-PDDFYW4X.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-PROOHX4K.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-Q7SPNHLW.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-QO7EBBOM.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-SKJWX3QB.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-T3LC5LKB.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-TCD3R2PF.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-TPH5XEVD.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-U5SXYXSY.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-W7XABV4H.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-WOPXVEZP.js.map +0 -1
- package/dist/cli-bundle/chunks/close-3HDWDA3L.js +0 -13
- package/dist/cli-bundle/chunks/close-many-7CGIDPTJ.js.map +0 -7
- package/dist/cli-bundle/chunks/close-many-ERFO6LHR.js.map +0 -1
- package/dist/cli-bundle/chunks/config-6FXCQKIF.js.map +0 -1
- package/dist/cli-bundle/chunks/config-U4RZ4CQB.js.map +0 -7
- package/dist/cli-bundle/chunks/context-YMJ3Z2HQ.js.map +0 -1
- package/dist/cli-bundle/chunks/contracts-QDB6OMLQ.js.map +0 -1
- package/dist/cli-bundle/chunks/contracts-RFSPGVVJ.js.map +0 -7
- package/dist/cli-bundle/chunks/create-JTZNCTQC.js +0 -27
- package/dist/cli-bundle/chunks/get-RV37HT3G.js.map +0 -1
- package/dist/cli-bundle/chunks/get-WXU6WI5P.js.map +0 -7
- package/dist/cli-bundle/chunks/history-2BA3T5AE.js +0 -20
- package/dist/cli-bundle/chunks/history-redact-JBZNXHGR.js +0 -19
- package/dist/cli-bundle/chunks/init-HIVSNX3O.js +0 -16
- package/dist/cli-bundle/chunks/list-MUSQNMTD.js +0 -20
- package/dist/cli-bundle/chunks/register-list-query-POCFZ5JW.js.map +0 -1
- package/dist/cli-bundle/chunks/register-list-query-WST76HSQ.js.map +0 -7
- package/dist/cli-bundle/chunks/register-mutation-N5GSUZJV.js.map +0 -1
- package/dist/cli-bundle/chunks/register-mutation-OA675SOU.js.map +0 -7
- package/dist/cli-bundle/chunks/register-operations-GNHBE5I3.js.map +0 -1
- package/dist/cli-bundle/chunks/register-operations-N3PMHXH5.js.map +0 -7
- package/dist/cli-bundle/chunks/restore-D4RGNX33.js +0 -17
- package/dist/cli-bundle/chunks/search-JPUQTVCY.js.map +0 -1
- package/dist/cli-bundle/chunks/search-OA6JX27A.js.map +0 -7
- package/dist/cli-bundle/chunks/test-MXX3E5JL.js +0 -31
- package/dist/cli-bundle/chunks/update-OSV3NAQB.js +0 -25
- package/dist/cli-bundle/chunks/update-YRXSUGYQ.js +0 -21
- /package/dist/cli-bundle/chunks/{activity-CVXTCHYY.js.map → activity-5UROHJ3D.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{activity-JM6DTDND.js.map → activity-YVB3QRTE.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{append-WMKRXKCE.js.map → append-2PPYFAG5.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{append-7H5N64R2.js.map → append-AUGT5W6J.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-6P6GGMOG.js.map → chunk-2IF7WLB7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-KAG77BY3.js.map → chunk-2OJHLWBZ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-GXSUPCBV.js.map → chunk-3A2CMEM7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-UM2GBHS4.js.map → chunk-3EOBJOF4.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-PRJCELV4.js.map → chunk-4CHEG6UK.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-OZ7NSQHL.js.map → chunk-5AXMRKN5.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-GCOQW437.js.map → chunk-6J4K6JLA.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-2RSPZI5H.js.map → chunk-6RZXO5M2.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-KJ33AOCY.js.map → chunk-AVJD6VTA.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-I6BNFU5X.js.map → chunk-B5RF3IP7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-RZN6VURO.js.map → chunk-C5W2UH56.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-3LB74A67.js.map → chunk-CKLBZHS7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-3VAM3NNM.js.map → chunk-FY6Z3FYY.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-RWPSOIEE.js.map → chunk-GNIUOLZ2.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-MITFDD35.js.map → chunk-GPXQBR3H.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-I2HSTRJF.js.map → chunk-H7EO3QA3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-77GFDHGF.js.map → chunk-HLC3KTLP.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-OVQCEJPG.js.map → chunk-HMMMWBK2.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-XLTD2HN3.js.map → chunk-HV5SSZXF.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-2HVRUSQA.js.map → chunk-KNGVP5WJ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-3BWOVLTH.js.map → chunk-LI65XLJR.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-NUZ5HKR4.js.map → chunk-LIN2BPJ7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-N7ACFE26.js.map → chunk-LQHBENVW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-23YFZ3IG.js.map → chunk-LXO6V66E.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-PIU6RSL3.js.map → chunk-MOYM2C3J.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-IJGCZSIQ.js.map → chunk-NQL32HQ5.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-6ER6DXH5.js.map → chunk-OKSKJKHX.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-2VVCGBNV.js.map → chunk-R3V3YCMH.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-UBOPJT3S.js.map → chunk-RVPTZKBC.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-WKY2IBOQ.js.map → chunk-SFFVGNHC.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-WSMOSYRD.js.map → chunk-SQPKRA54.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-YL2DJGYS.js.map → chunk-TNPBPNII.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-XTGLRY2Y.js.map → chunk-TP4DDY27.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-AY43SBIN.js.map → chunk-TYJJOTUA.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-LCM63IXU.js.map → chunk-UAQOQ7IE.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-BQHUILZS.js.map → chunk-UEWA73ZZ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-PO3GSVFV.js.map → chunk-UIIQC5YO.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-R6UFP2GE.js.map → chunk-V6EYFTRL.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-XSJCLN2R.js.map → chunk-WYEXLDDY.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-E5FJNAZA.js.map → chunk-X7UHMKPE.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-GGYWB3Y2.js.map → chunk-YBZW2QQ7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-ME2YH6FN.js.map → chunk-YO3THIJF.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{claim-X2P4IB7J.js.map → claim-BJ4QMPJC.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{claim-4DBF6RVG.js.map → claim-KW743OSW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-3HDWDA3L.js.map → close-P4ZBKODL.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-PTYFA45H.js.map → close-SYHSRZDC.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{comments-QKBYCWKD.js.map → comments-JEO6HHVM.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{comments-OONGABK5.js.map → comments-YT2PQ5DD.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{create-JTZNCTQC.js.map → create-4DS2QWQC.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{create-I5L4EYYZ.js.map → create-CF7EVRX7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{delete-7HPGI4GZ.js.map → delete-KR4VBWVE.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{delete-VXUPH5RS.js.map → delete-XLZRTRKR.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{deps-JSRRWC3Z.js.map → deps-2YTXD3VM.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{deps-SCZIFK2Z.js.map → deps-GZMFMTGS.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{docs-GJK6K4VP.js.map → docs-SLROFEQ4.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{docs-WW4N3MBM.js.map → docs-ZHISRR2D.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{extension-J7IBMFTD.js.map → extension-3C7OOI4F.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{extension-VDY2U33M.js.map → extension-XYCUXICD.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{files-ISZJGILQ.js.map → files-FUWF2FYJ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{files-WKOD326U.js.map → files-J4I5IU4O.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{gc-JDVJ6OQ2.js.map → gc-34NXSNSN.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{gc-ULPVWMTN.js.map → gc-SPIIZX3A.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-PKN67D5O.js.map → history-SDAWYZR3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-2BA3T5AE.js.map → history-YDUEILKP.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-redact-V4FOJGS7.js.map → history-redact-EPJ7GENL.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-redact-JBZNXHGR.js.map → history-redact-KASLLPE7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-repair-SDMHR7JT.js.map → history-repair-IJ7LLBET.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-repair-HIBCBIKK.js.map → history-repair-YNESJRT6.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{init-HIVSNX3O.js.map → init-IGSS4GNH.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{init-P56QYWJF.js.map → init-YHVBTEET.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{learnings-GDFRG5J7.js.map → learnings-4YBMIVCZ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{learnings-MIXSESLK.js.map → learnings-T4PF24YN.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{list-FGOWQMSM.js.map → list-3KEVBOYW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{list-MUSQNMTD.js.map → list-E44O2K64.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{notes-4XVSH2AZ.js.map → notes-FLUCNJSH.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{notes-5UK3GEH2.js.map → notes-GJKALVZM.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{plan-SLMODHWX.js.map → plan-T5MMZLI3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{plan-DUMBV3QB.js.map → plan-YYMIL3HV.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{restore-PBL6T5TW.js.map → restore-DDJGVZIN.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{restore-D4RGNX33.js.map → restore-SJSASGZP.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{schema-2NOO6NGB.js.map → schema-B7NQ6XVP.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{schema-EBI4NLUO.js.map → schema-HEGYH6CE.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{stats-CV54BAWY.js.map → stats-7JDIJRDH.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{stats-XYB6KTFG.js.map → stats-SYTJRR4Z.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{telemetry-LMJ7PFUO.js.map → telemetry-4HHWD5Y7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{telemetry-NCMEPJNR.js.map → telemetry-EGWP7ZUX.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{test-WBROAJIE.js.map → test-IIELLSZX.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{test-MXX3E5JL.js.map → test-ML5RLWXE.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{test-runs-V6A7LPWZ.js.map → test-runs-5FEMBV3A.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{test-runs-WMVTQU3Y.js.map → test-runs-RNKZ37PS.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-YRXSUGYQ.js.map → update-6C67X4KS.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-OSV3NAQB.js.map → update-VF26YPT3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-many-KGGEYABR.js.map → update-many-BSZZZYXY.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-many-EM6OXYGO.js.map → update-many-BWKJJEBF.js.map} +0 -0
|
@@ -20,11 +20,20 @@ export interface GetResult {
|
|
|
20
20
|
docs: LinkedDoc[];
|
|
21
21
|
};
|
|
22
22
|
claim_state?: ClaimStateContext;
|
|
23
|
+
tree?: {
|
|
24
|
+
root_id: string;
|
|
25
|
+
root_title: string | null;
|
|
26
|
+
depth_limit: number | null;
|
|
27
|
+
count: number;
|
|
28
|
+
items: Record<string, unknown>[];
|
|
29
|
+
};
|
|
23
30
|
}
|
|
24
31
|
export interface GetOptions {
|
|
25
32
|
depth?: string;
|
|
26
33
|
fields?: string;
|
|
27
34
|
full?: boolean;
|
|
35
|
+
tree?: boolean;
|
|
36
|
+
treeDepth?: string;
|
|
28
37
|
}
|
|
29
38
|
export declare function runGet(id: string, global: GlobalOptions, options?: GetOptions): Promise<GetResult>;
|
|
30
39
|
export {};
|
package/dist/cli/commands/get.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
2
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="a8eb7675-53ef-5cf4-a41e-4eb9f5b44a5c")}catch(e){}}();
|
|
3
3
|
import { pathExists } from "../../core/fs/fs-utils.js";
|
|
4
4
|
import { getActiveExtensionRegistrations } from "../../core/extensions/index.js";
|
|
5
5
|
import { toItemRecord } from "../../core/item/item-record.js";
|
|
@@ -10,6 +10,7 @@ import { PmCliError } from "../../core/shared/errors.js";
|
|
|
10
10
|
import { buildItemNotFoundError, locateItem, readLocatedItem } from "../../core/store/item-store.js";
|
|
11
11
|
import { getHistoryPath, getSettingsPath, resolvePmRoot } from "../../core/store/paths.js";
|
|
12
12
|
import { readSettings } from "../../core/store/settings.js";
|
|
13
|
+
import { parseIntegerLimit } from "../shared-parsers.js";
|
|
13
14
|
import { readHistoryEntries } from "./history.js";
|
|
14
15
|
const GET_DEPTH_VALUES = ["brief", "standard", "deep"];
|
|
15
16
|
function toClaimHistoryContext(entry) {
|
|
@@ -115,7 +116,11 @@ export async function runGet(id, global, options = {}) {
|
|
|
115
116
|
if (options.full && (options.fields !== undefined || options.depth !== undefined)) {
|
|
116
117
|
throw new PmCliError("Get projection options are mutually exclusive; remove the extra projection flag and retry.", EXIT_CODE.USAGE);
|
|
117
118
|
}
|
|
119
|
+
if (options.tree !== true && options.treeDepth !== undefined) {
|
|
120
|
+
throw new PmCliError("Get --tree-depth requires --tree", EXIT_CODE.USAGE);
|
|
121
|
+
}
|
|
118
122
|
const depth = options.full ? "deep" : parseGetDepth(options.depth);
|
|
123
|
+
const treeDepth = options.tree === true ? parseIntegerLimit(options.treeDepth, "--tree-depth") : undefined;
|
|
119
124
|
const fields = parseGetFields(options.fields);
|
|
120
125
|
const pmRoot = resolvePmRoot(process.cwd(), global.path);
|
|
121
126
|
if (!(await pathExists(getSettingsPath(pmRoot)))) {
|
|
@@ -173,7 +178,23 @@ export async function runGet(id, global, options = {}) {
|
|
|
173
178
|
if (claimState) {
|
|
174
179
|
result.claim_state = claimState;
|
|
175
180
|
}
|
|
181
|
+
if (options.tree === true) {
|
|
182
|
+
const { runList } = await import("./list.js");
|
|
183
|
+
const subtree = await runList(undefined, {
|
|
184
|
+
parent: located.id,
|
|
185
|
+
tree: true,
|
|
186
|
+
treeDepth: treeDepth === undefined ? undefined : String(treeDepth),
|
|
187
|
+
full: true,
|
|
188
|
+
}, global);
|
|
189
|
+
result.tree = {
|
|
190
|
+
root_id: located.id,
|
|
191
|
+
root_title: loaded.document.metadata.title,
|
|
192
|
+
depth_limit: treeDepth ?? null,
|
|
193
|
+
count: subtree.count,
|
|
194
|
+
items: subtree.items.map((entry) => toItemRecord(entry)),
|
|
195
|
+
};
|
|
196
|
+
}
|
|
176
197
|
return result;
|
|
177
198
|
}
|
|
178
199
|
//# sourceMappingURL=get.js.map
|
|
179
|
-
//# debugId=
|
|
200
|
+
//# debugId=a8eb7675-53ef-5cf4-a41e-4eb9f5b44a5c
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get.js","sources":["cli/commands/get.ts"],"sourceRoot":"/","sourcesContent":["import { pathExists } from \"../../core/fs/fs-utils.js\";\nimport { getActiveExtensionRegistrations } from \"../../core/extensions/index.js\";\nimport { toItemRecord } from \"../../core/item/item-record.js\";\nimport { resolveItemTypeRegistry } from \"../../core/item/type-registry.js\";\nimport { resolveRuntimeFieldRegistry } from \"../../core/schema/runtime-schema.js\";\nimport { EXIT_CODE, FRONT_MATTER_KEY_ORDER } from \"../../core/shared/constants.js\";\nimport type { GlobalOptions } from \"../../core/shared/command-types.js\";\nimport { PmCliError } from \"../../core/shared/errors.js\";\nimport { buildItemNotFoundError, locateItem, readLocatedItem } from \"../../core/store/item-store.js\";\nimport { getHistoryPath, getSettingsPath, resolvePmRoot } from \"../../core/store/paths.js\";\nimport { readSettings } from \"../../core/store/settings.js\";\nimport type { ItemFrontMatter, LinkedDoc, LinkedFile, LinkedTest } from \"../../types/index.js\";\nimport { readHistoryEntries } from \"./history.js\";\n\ninterface ClaimHistoryContext {\n ts: string;\n author: string;\n message: string | null;\n}\n\ninterface ClaimHistoryEntry {\n op: string;\n ts: string;\n author: string;\n message?: string;\n}\n\ninterface ClaimStateContext {\n claimed: boolean;\n assignee: string | null;\n last_claim: ClaimHistoryContext | null;\n last_release: ClaimHistoryContext | null;\n}\n\nexport interface GetResult {\n item: Partial<ItemFrontMatter>;\n body?: string;\n linked?: {\n files: LinkedFile[];\n tests: LinkedTest[];\n docs: LinkedDoc[];\n };\n claim_state?: ClaimStateContext;\n}\n\nconst GET_DEPTH_VALUES = [\"brief\", \"standard\", \"deep\"] as const;\n\ntype GetDepth = (typeof GET_DEPTH_VALUES)[number];\n\nexport interface GetOptions {\n depth?: string;\n fields?: string;\n full?: boolean;\n}\n\nfunction toClaimHistoryContext(\n entry: ClaimHistoryEntry,\n): ClaimHistoryContext {\n return {\n ts: entry.ts,\n author: entry.author,\n message: entry.message ?? null,\n };\n}\n\nfunction resolveClaimStateContext(\n assigneeValue: string | undefined,\n history: ClaimHistoryEntry[],\n): ClaimStateContext {\n const assignee = assigneeValue?.trim();\n const normalizedAssignee = assignee && assignee.length > 0 ? assignee : null;\n const lastClaim = [...history].reverse().find((entry) => entry.op === \"claim\");\n const lastRelease = [...history].reverse().find((entry) => entry.op === \"release\");\n return {\n claimed: normalizedAssignee !== null,\n assignee: normalizedAssignee,\n last_claim: lastClaim ? toClaimHistoryContext(lastClaim) : null,\n last_release: lastRelease ? toClaimHistoryContext(lastRelease) : null,\n };\n}\n\nfunction parseGetDepth(raw: string | undefined): GetDepth {\n if (raw === undefined || raw.trim().length === 0) {\n return \"standard\";\n }\n const normalized = raw.trim().toLowerCase();\n if (normalized === \"full\") {\n return \"deep\";\n }\n if (GET_DEPTH_VALUES.includes(normalized as GetDepth)) {\n return normalized as GetDepth;\n }\n throw new PmCliError(\"Get --depth must be one of brief|standard|deep|full\", EXIT_CODE.USAGE);\n}\n\nfunction projectItemForDepth(item: ItemFrontMatter, depth: GetDepth): Partial<ItemFrontMatter> {\n if (depth === \"deep\") {\n return item;\n }\n const {\n comments: _comments,\n notes: _notes,\n learnings: _learnings,\n files: _files,\n tests: _tests,\n docs: _docs,\n reminders: _reminders,\n events: _events,\n ...projected\n } = item;\n return projected;\n}\n\nfunction parseGetFields(raw: string | undefined): string[] | null {\n if (raw === undefined) {\n return null;\n }\n const fields = raw\n .split(\",\")\n .map((entry) => entry.trim())\n .filter((entry) => entry.length > 0);\n if (fields.length === 0) {\n throw new PmCliError(\"Get --fields requires a comma-separated list of field names\", EXIT_CODE.USAGE);\n }\n return fields;\n}\n\nfunction normalizeGetField(field: string): string {\n return field.startsWith(\"item.\") ? field.slice(\"item.\".length) : field;\n}\n\nfunction validateGetFields(fields: string[] | null, runtimeMetadataKeys: Iterable<string>): void {\n if (fields === null) {\n return;\n }\n const itemFields = new Set([...FRONT_MATTER_KEY_ORDER, ...runtimeMetadataKeys]);\n const allowedRootFields = new Set([\"body\", \"linked\", \"claim_state\"]);\n const allowedLinkedFields = new Set([\"linked.files\", \"linked.tests\", \"linked.docs\"]);\n const allowedClaimStateFields = new Set([\"claim_state.claimed\", \"claim_state.assignee\", \"claim_state.last_claim\", \"claim_state.last_release\"]);\n const unknown = fields.filter((field) => {\n const normalized = normalizeGetField(field);\n return (\n !itemFields.has(normalized) &&\n !allowedRootFields.has(normalized) &&\n !allowedLinkedFields.has(normalized) &&\n !allowedClaimStateFields.has(normalized)\n );\n });\n if (unknown.length > 0) {\n throw new PmCliError(`Unknown get --fields value(s): ${unknown.join(\", \")}`, EXIT_CODE.USAGE, {\n code: \"unknown_field_projection\",\n examples: [\n \"pm get <id> --fields id,title,status,type,updated_at\",\n \"pm get <id> --fields id,title,claim_state\",\n \"pm get <id> --fields id,title,body,linked.files\",\n ],\n });\n }\n}\n\nfunction projectItemForFields(item: ItemFrontMatter, fields: string[]): Partial<ItemFrontMatter> {\n const source = toItemRecord(item);\n const projected: Record<string, unknown> = {};\n for (const field of fields) {\n const normalized = field.startsWith(\"item.\") ? field.slice(\"item.\".length) : field;\n if (normalized === \"body\" || normalized === \"linked\" || normalized.startsWith(\"linked.\")) {\n continue;\n }\n projected[normalized] = source[normalized];\n }\n return projected as Partial<ItemFrontMatter>;\n}\n\nfunction fieldsInclude(fields: string[] | null, name: string): boolean {\n return fields?.some((field) => field === name || field === `item.${name}`) ?? false;\n}\n\nfunction fieldsIncludeRoot(fields: string[], name: string): boolean {\n return fields.some((field) => field === name || field.startsWith(`${name}.`));\n}\n\nexport async function runGet(id: string, global: GlobalOptions, options: GetOptions = {}): Promise<GetResult> {\n if (options.full && (options.fields !== undefined || options.depth !== undefined)) {\n throw new PmCliError(\"Get projection options are mutually exclusive; remove the extra projection flag and retry.\", EXIT_CODE.USAGE);\n }\n const depth = options.full ? \"deep\" : parseGetDepth(options.depth);\n const fields = parseGetFields(options.fields);\n const pmRoot = resolvePmRoot(process.cwd(), global.path);\n if (!(await pathExists(getSettingsPath(pmRoot)))) {\n throw new PmCliError(`Tracker is not initialized at ${pmRoot}. Run pm init first.`, EXIT_CODE.NOT_FOUND);\n }\n const settings = await readSettings(pmRoot);\n const typeRegistry = resolveItemTypeRegistry(settings, getActiveExtensionRegistrations());\n const located = await locateItem(pmRoot, id, settings.id_prefix, settings.item_format, typeRegistry.type_to_folder);\n if (!located) {\n throw await buildItemNotFoundError(pmRoot, id, settings.id_prefix, typeRegistry.type_to_folder);\n }\n const loaded = await readLocatedItem(located, { schema: settings.schema });\n const runtimeMetadataKeys: string[] = [];\n for (const field of resolveRuntimeFieldRegistry(settings.schema).definitions) {\n runtimeMetadataKeys.push(field.metadata_key);\n }\n validateGetFields(fields, runtimeMetadataKeys);\n const files = loaded.document.metadata.files ?? [];\n const tests = loaded.document.metadata.tests ?? [];\n const docs = loaded.document.metadata.docs ?? [];\n const fieldProjection = fields !== null;\n const includeBody = !fieldProjection ? depth !== \"brief\" : fieldsInclude(fields, \"body\");\n const includeLinked = !fieldProjection ? depth !== \"brief\" : fieldsInclude(fields, \"linked\");\n const includeLinkedFiles = includeLinked || fieldsInclude(fields, \"linked.files\");\n const includeLinkedTests = includeLinked || fieldsInclude(fields, \"linked.tests\");\n const includeLinkedDocs = includeLinked || fieldsInclude(fields, \"linked.docs\");\n const includeClaimState = !fieldProjection ? depth !== \"brief\" : fieldsIncludeRoot(fields, \"claim_state\");\n let claimState: ClaimStateContext | undefined;\n if (includeClaimState) {\n const historyPath = getHistoryPath(pmRoot, located.id);\n let history: ClaimHistoryEntry[] = [];\n try {\n history = await readHistoryEntries(historyPath, located.id);\n } catch {\n history = [];\n }\n claimState = resolveClaimStateContext(loaded.document.metadata.assignee, history);\n }\n const result: GetResult = {\n item: fieldProjection\n ? projectItemForFields(loaded.document.metadata, fields)\n : projectItemForDepth(loaded.document.metadata, depth),\n };\n if (includeBody) {\n result.body = loaded.document.body;\n }\n if (includeLinked || includeLinkedFiles || includeLinkedTests || includeLinkedDocs) {\n result.linked = {\n files: includeLinkedFiles ? files : [],\n tests: includeLinkedTests ? tests : [],\n docs: includeLinkedDocs ? docs : [],\n };\n }\n if (claimState) {\n result.claim_state = claimState;\n }\n return result;\n}\n"],"names":[],"mappings":";;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,+BAA+B,EAAE,MAAM,gCAAgC,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAClF,OAAO,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAEnF,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACrG,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC3F,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAiClD,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAU,CAAC;AAUhE,SAAS,qBAAqB,CAC5B,KAAwB;IAExB,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI;KAC/B,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAC/B,aAAiC,EACjC,OAA4B;IAE5B,MAAM,QAAQ,GAAG,aAAa,EAAE,IAAI,EAAE,CAAC;IACvC,MAAM,kBAAkB,GAAG,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7E,MAAM,SAAS,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;IAC/E,MAAM,WAAW,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;IACnF,OAAO;QACL,OAAO,EAAE,kBAAkB,KAAK,IAAI;QACpC,QAAQ,EAAE,kBAAkB;QAC5B,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI;QAC/D,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI;KACtE,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,GAAuB;IAC5C,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjD,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC5C,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QAC1B,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,gBAAgB,CAAC,QAAQ,CAAC,UAAsB,CAAC,EAAE,CAAC;QACtD,OAAO,UAAsB,CAAC;IAChC,CAAC;IACD,MAAM,IAAI,UAAU,CAAC,qDAAqD,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;AAC/F,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAqB,EAAE,KAAe;IACjE,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,EACJ,QAAQ,EAAE,SAAS,EACnB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,UAAU,EACrB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,KAAK,EACX,SAAS,EAAE,UAAU,EACrB,MAAM,EAAE,OAAO,EACf,GAAG,SAAS,EACb,GAAG,IAAI,CAAC;IACT,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,cAAc,CAAC,GAAuB;IAC7C,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,MAAM,GAAG,GAAG;SACf,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;SAC5B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACvC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,UAAU,CAAC,6DAA6D,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;IACvG,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa;IACtC,OAAO,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACzE,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAuB,EAAE,mBAAqC;IACvF,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO;IACT,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,sBAAsB,EAAE,GAAG,mBAAmB,CAAC,CAAC,CAAC;IAChF,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;IACrE,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,cAAc,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC,CAAC;IACrF,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC,CAAC,qBAAqB,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,0BAA0B,CAAC,CAAC,CAAC;IAC/I,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QACtC,MAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC5C,OAAO,CACL,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC;YAC3B,CAAC,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC;YAClC,CAAC,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC;YACpC,CAAC,uBAAuB,CAAC,GAAG,CAAC,UAAU,CAAC,CACzC,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,UAAU,CAAC,kCAAkC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,KAAK,EAAE;YAC5F,IAAI,EAAE,0BAA0B;YAChC,QAAQ,EAAE;gBACR,sDAAsD;gBACtD,2CAA2C;gBAC3C,iDAAiD;aAClD;SACF,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAqB,EAAE,MAAgB;IACnE,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,SAAS,GAA4B,EAAE,CAAC;IAC9C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACnF,IAAI,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,QAAQ,IAAI,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACzF,SAAS;QACX,CAAC;QACD,SAAS,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,SAAqC,CAAC;AAC/C,CAAC;AAED,SAAS,aAAa,CAAC,MAAuB,EAAE,IAAY;IAC1D,OAAO,MAAM,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,QAAQ,IAAI,EAAE,CAAC,IAAI,KAAK,CAAC;AACtF,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAgB,EAAE,IAAY;IACvD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC;AAChF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,EAAU,EAAE,MAAqB,EAAE,UAAsB,EAAE;IACtF,IAAI,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,EAAE,CAAC;QAClF,MAAM,IAAI,UAAU,CAAC,4FAA4F,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;IACtI,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACnE,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACzD,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,UAAU,CAAC,iCAAiC,MAAM,sBAAsB,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC3G,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,YAAY,GAAG,uBAAuB,CAAC,QAAQ,EAAE,+BAA+B,EAAE,CAAC,CAAC;IAC1F,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC;IACpH,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,MAAM,sBAAsB,CAAC,MAAM,EAAE,EAAE,EAAE,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC;IAClG,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3E,MAAM,mBAAmB,GAAa,EAAE,CAAC;IACzC,KAAK,MAAM,KAAK,IAAI,2BAA2B,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QAC7E,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAC/C,CAAC;IACD,iBAAiB,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC;IACnD,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC;IACnD,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;IACjD,MAAM,eAAe,GAAG,MAAM,KAAK,IAAI,CAAC;IACxC,MAAM,WAAW,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzF,MAAM,aAAa,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC7F,MAAM,kBAAkB,GAAG,aAAa,IAAI,aAAa,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAClF,MAAM,kBAAkB,GAAG,aAAa,IAAI,aAAa,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAClF,MAAM,iBAAiB,GAAG,aAAa,IAAI,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAChF,MAAM,iBAAiB,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC1G,IAAI,UAAyC,CAAC;IAC9C,IAAI,iBAAiB,EAAE,CAAC;QACtB,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QACvD,IAAI,OAAO,GAAwB,EAAE,CAAC;QACtC,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,kBAAkB,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QAC9D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,GAAG,EAAE,CAAC;QACf,CAAC;QACD,UAAU,GAAG,wBAAwB,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACpF,CAAC;IACD,MAAM,MAAM,GAAc;QACxB,IAAI,EAAE,eAAe;YACnB,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;YACxD,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC;KACzD,CAAC;IACF,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;IACrC,CAAC;IACD,IAAI,aAAa,IAAI,kBAAkB,IAAI,kBAAkB,IAAI,iBAAiB,EAAE,CAAC;QACnF,MAAM,CAAC,MAAM,GAAG;YACd,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YACtC,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YACtC,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;SACpC,CAAC;IACJ,CAAC;IACD,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,CAAC,WAAW,GAAG,UAAU,CAAC;IAClC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC","debugId":"808844af-e84f-5fd7-97c3-e4c81ff86193"}
|
|
1
|
+
{"version":3,"file":"get.js","sources":["cli/commands/get.ts"],"sourceRoot":"/","sourcesContent":["import { pathExists } from \"../../core/fs/fs-utils.js\";\nimport { getActiveExtensionRegistrations } from \"../../core/extensions/index.js\";\nimport { toItemRecord } from \"../../core/item/item-record.js\";\nimport { resolveItemTypeRegistry } from \"../../core/item/type-registry.js\";\nimport { resolveRuntimeFieldRegistry } from \"../../core/schema/runtime-schema.js\";\nimport { EXIT_CODE, FRONT_MATTER_KEY_ORDER } from \"../../core/shared/constants.js\";\nimport type { GlobalOptions } from \"../../core/shared/command-types.js\";\nimport { PmCliError } from \"../../core/shared/errors.js\";\nimport { buildItemNotFoundError, locateItem, readLocatedItem } from \"../../core/store/item-store.js\";\nimport { getHistoryPath, getSettingsPath, resolvePmRoot } from \"../../core/store/paths.js\";\nimport { readSettings } from \"../../core/store/settings.js\";\nimport { parseIntegerLimit } from \"../shared-parsers.js\";\nimport type { ItemFrontMatter, LinkedDoc, LinkedFile, LinkedTest } from \"../../types/index.js\";\nimport { readHistoryEntries } from \"./history.js\";\n\ninterface ClaimHistoryContext {\n ts: string;\n author: string;\n message: string | null;\n}\n\ninterface ClaimHistoryEntry {\n op: string;\n ts: string;\n author: string;\n message?: string;\n}\n\ninterface ClaimStateContext {\n claimed: boolean;\n assignee: string | null;\n last_claim: ClaimHistoryContext | null;\n last_release: ClaimHistoryContext | null;\n}\n\nexport interface GetResult {\n item: Partial<ItemFrontMatter>;\n body?: string;\n linked?: {\n files: LinkedFile[];\n tests: LinkedTest[];\n docs: LinkedDoc[];\n };\n claim_state?: ClaimStateContext;\n tree?: {\n root_id: string;\n root_title: string | null;\n depth_limit: number | null;\n count: number;\n items: Record<string, unknown>[];\n };\n}\n\nconst GET_DEPTH_VALUES = [\"brief\", \"standard\", \"deep\"] as const;\n\ntype GetDepth = (typeof GET_DEPTH_VALUES)[number];\n\nexport interface GetOptions {\n depth?: string;\n fields?: string;\n full?: boolean;\n tree?: boolean;\n treeDepth?: string;\n}\n\nfunction toClaimHistoryContext(\n entry: ClaimHistoryEntry,\n): ClaimHistoryContext {\n return {\n ts: entry.ts,\n author: entry.author,\n message: entry.message ?? null,\n };\n}\n\nfunction resolveClaimStateContext(\n assigneeValue: string | undefined,\n history: ClaimHistoryEntry[],\n): ClaimStateContext {\n const assignee = assigneeValue?.trim();\n const normalizedAssignee = assignee && assignee.length > 0 ? assignee : null;\n const lastClaim = [...history].reverse().find((entry) => entry.op === \"claim\");\n const lastRelease = [...history].reverse().find((entry) => entry.op === \"release\");\n return {\n claimed: normalizedAssignee !== null,\n assignee: normalizedAssignee,\n last_claim: lastClaim ? toClaimHistoryContext(lastClaim) : null,\n last_release: lastRelease ? toClaimHistoryContext(lastRelease) : null,\n };\n}\n\nfunction parseGetDepth(raw: string | undefined): GetDepth {\n if (raw === undefined || raw.trim().length === 0) {\n return \"standard\";\n }\n const normalized = raw.trim().toLowerCase();\n if (normalized === \"full\") {\n return \"deep\";\n }\n if (GET_DEPTH_VALUES.includes(normalized as GetDepth)) {\n return normalized as GetDepth;\n }\n throw new PmCliError(\"Get --depth must be one of brief|standard|deep|full\", EXIT_CODE.USAGE);\n}\n\nfunction projectItemForDepth(item: ItemFrontMatter, depth: GetDepth): Partial<ItemFrontMatter> {\n if (depth === \"deep\") {\n return item;\n }\n const {\n comments: _comments,\n notes: _notes,\n learnings: _learnings,\n files: _files,\n tests: _tests,\n docs: _docs,\n reminders: _reminders,\n events: _events,\n ...projected\n } = item;\n return projected;\n}\n\nfunction parseGetFields(raw: string | undefined): string[] | null {\n if (raw === undefined) {\n return null;\n }\n const fields = raw\n .split(\",\")\n .map((entry) => entry.trim())\n .filter((entry) => entry.length > 0);\n if (fields.length === 0) {\n throw new PmCliError(\"Get --fields requires a comma-separated list of field names\", EXIT_CODE.USAGE);\n }\n return fields;\n}\n\nfunction normalizeGetField(field: string): string {\n return field.startsWith(\"item.\") ? field.slice(\"item.\".length) : field;\n}\n\nfunction validateGetFields(fields: string[] | null, runtimeMetadataKeys: Iterable<string>): void {\n if (fields === null) {\n return;\n }\n const itemFields = new Set([...FRONT_MATTER_KEY_ORDER, ...runtimeMetadataKeys]);\n const allowedRootFields = new Set([\"body\", \"linked\", \"claim_state\"]);\n const allowedLinkedFields = new Set([\"linked.files\", \"linked.tests\", \"linked.docs\"]);\n const allowedClaimStateFields = new Set([\"claim_state.claimed\", \"claim_state.assignee\", \"claim_state.last_claim\", \"claim_state.last_release\"]);\n const unknown = fields.filter((field) => {\n const normalized = normalizeGetField(field);\n return (\n !itemFields.has(normalized) &&\n !allowedRootFields.has(normalized) &&\n !allowedLinkedFields.has(normalized) &&\n !allowedClaimStateFields.has(normalized)\n );\n });\n if (unknown.length > 0) {\n throw new PmCliError(`Unknown get --fields value(s): ${unknown.join(\", \")}`, EXIT_CODE.USAGE, {\n code: \"unknown_field_projection\",\n examples: [\n \"pm get <id> --fields id,title,status,type,updated_at\",\n \"pm get <id> --fields id,title,claim_state\",\n \"pm get <id> --fields id,title,body,linked.files\",\n ],\n });\n }\n}\n\nfunction projectItemForFields(item: ItemFrontMatter, fields: string[]): Partial<ItemFrontMatter> {\n const source = toItemRecord(item);\n const projected: Record<string, unknown> = {};\n for (const field of fields) {\n const normalized = field.startsWith(\"item.\") ? field.slice(\"item.\".length) : field;\n if (normalized === \"body\" || normalized === \"linked\" || normalized.startsWith(\"linked.\")) {\n continue;\n }\n projected[normalized] = source[normalized];\n }\n return projected as Partial<ItemFrontMatter>;\n}\n\nfunction fieldsInclude(fields: string[] | null, name: string): boolean {\n return fields?.some((field) => field === name || field === `item.${name}`) ?? false;\n}\n\nfunction fieldsIncludeRoot(fields: string[], name: string): boolean {\n return fields.some((field) => field === name || field.startsWith(`${name}.`));\n}\n\nexport async function runGet(id: string, global: GlobalOptions, options: GetOptions = {}): Promise<GetResult> {\n if (options.full && (options.fields !== undefined || options.depth !== undefined)) {\n throw new PmCliError(\"Get projection options are mutually exclusive; remove the extra projection flag and retry.\", EXIT_CODE.USAGE);\n }\n if (options.tree !== true && options.treeDepth !== undefined) {\n throw new PmCliError(\"Get --tree-depth requires --tree\", EXIT_CODE.USAGE);\n }\n const depth = options.full ? \"deep\" : parseGetDepth(options.depth);\n const treeDepth = options.tree === true ? parseIntegerLimit(options.treeDepth, \"--tree-depth\") : undefined;\n const fields = parseGetFields(options.fields);\n const pmRoot = resolvePmRoot(process.cwd(), global.path);\n if (!(await pathExists(getSettingsPath(pmRoot)))) {\n throw new PmCliError(`Tracker is not initialized at ${pmRoot}. Run pm init first.`, EXIT_CODE.NOT_FOUND);\n }\n const settings = await readSettings(pmRoot);\n const typeRegistry = resolveItemTypeRegistry(settings, getActiveExtensionRegistrations());\n const located = await locateItem(pmRoot, id, settings.id_prefix, settings.item_format, typeRegistry.type_to_folder);\n if (!located) {\n throw await buildItemNotFoundError(pmRoot, id, settings.id_prefix, typeRegistry.type_to_folder);\n }\n const loaded = await readLocatedItem(located, { schema: settings.schema });\n const runtimeMetadataKeys: string[] = [];\n for (const field of resolveRuntimeFieldRegistry(settings.schema).definitions) {\n runtimeMetadataKeys.push(field.metadata_key);\n }\n validateGetFields(fields, runtimeMetadataKeys);\n const files = loaded.document.metadata.files ?? [];\n const tests = loaded.document.metadata.tests ?? [];\n const docs = loaded.document.metadata.docs ?? [];\n const fieldProjection = fields !== null;\n const includeBody = !fieldProjection ? depth !== \"brief\" : fieldsInclude(fields, \"body\");\n const includeLinked = !fieldProjection ? depth !== \"brief\" : fieldsInclude(fields, \"linked\");\n const includeLinkedFiles = includeLinked || fieldsInclude(fields, \"linked.files\");\n const includeLinkedTests = includeLinked || fieldsInclude(fields, \"linked.tests\");\n const includeLinkedDocs = includeLinked || fieldsInclude(fields, \"linked.docs\");\n const includeClaimState = !fieldProjection ? depth !== \"brief\" : fieldsIncludeRoot(fields, \"claim_state\");\n let claimState: ClaimStateContext | undefined;\n if (includeClaimState) {\n const historyPath = getHistoryPath(pmRoot, located.id);\n let history: ClaimHistoryEntry[] = [];\n try {\n history = await readHistoryEntries(historyPath, located.id);\n } catch {\n history = [];\n }\n claimState = resolveClaimStateContext(loaded.document.metadata.assignee, history);\n }\n const result: GetResult = {\n item: fieldProjection\n ? projectItemForFields(loaded.document.metadata, fields)\n : projectItemForDepth(loaded.document.metadata, depth),\n };\n if (includeBody) {\n result.body = loaded.document.body;\n }\n if (includeLinked || includeLinkedFiles || includeLinkedTests || includeLinkedDocs) {\n result.linked = {\n files: includeLinkedFiles ? files : [],\n tests: includeLinkedTests ? tests : [],\n docs: includeLinkedDocs ? docs : [],\n };\n }\n if (claimState) {\n result.claim_state = claimState;\n }\n if (options.tree === true) {\n const { runList } = await import(\"./list.js\");\n const subtree = await runList(\n undefined,\n {\n parent: located.id,\n tree: true,\n treeDepth: treeDepth === undefined ? undefined : String(treeDepth),\n full: true,\n },\n global,\n );\n result.tree = {\n root_id: located.id,\n root_title: loaded.document.metadata.title,\n depth_limit: treeDepth ?? null,\n count: subtree.count,\n items: subtree.items.map((entry) => toItemRecord(entry)),\n };\n }\n return result;\n}\n"],"names":[],"mappings":";;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,+BAA+B,EAAE,MAAM,gCAAgC,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAClF,OAAO,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAEnF,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACrG,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC3F,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAwClD,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAU,CAAC;AAYhE,SAAS,qBAAqB,CAC5B,KAAwB;IAExB,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI;KAC/B,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAC/B,aAAiC,EACjC,OAA4B;IAE5B,MAAM,QAAQ,GAAG,aAAa,EAAE,IAAI,EAAE,CAAC;IACvC,MAAM,kBAAkB,GAAG,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7E,MAAM,SAAS,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;IAC/E,MAAM,WAAW,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;IACnF,OAAO;QACL,OAAO,EAAE,kBAAkB,KAAK,IAAI;QACpC,QAAQ,EAAE,kBAAkB;QAC5B,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI;QAC/D,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI;KACtE,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,GAAuB;IAC5C,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjD,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC5C,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QAC1B,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,gBAAgB,CAAC,QAAQ,CAAC,UAAsB,CAAC,EAAE,CAAC;QACtD,OAAO,UAAsB,CAAC;IAChC,CAAC;IACD,MAAM,IAAI,UAAU,CAAC,qDAAqD,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;AAC/F,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAqB,EAAE,KAAe;IACjE,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,EACJ,QAAQ,EAAE,SAAS,EACnB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,UAAU,EACrB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,KAAK,EACX,SAAS,EAAE,UAAU,EACrB,MAAM,EAAE,OAAO,EACf,GAAG,SAAS,EACb,GAAG,IAAI,CAAC;IACT,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,cAAc,CAAC,GAAuB;IAC7C,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,MAAM,GAAG,GAAG;SACf,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;SAC5B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACvC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,UAAU,CAAC,6DAA6D,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;IACvG,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa;IACtC,OAAO,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACzE,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAuB,EAAE,mBAAqC;IACvF,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO;IACT,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,sBAAsB,EAAE,GAAG,mBAAmB,CAAC,CAAC,CAAC;IAChF,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;IACrE,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,cAAc,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC,CAAC;IACrF,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC,CAAC,qBAAqB,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,0BAA0B,CAAC,CAAC,CAAC;IAC/I,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QACtC,MAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC5C,OAAO,CACL,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC;YAC3B,CAAC,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC;YAClC,CAAC,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC;YACpC,CAAC,uBAAuB,CAAC,GAAG,CAAC,UAAU,CAAC,CACzC,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,UAAU,CAAC,kCAAkC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,KAAK,EAAE;YAC5F,IAAI,EAAE,0BAA0B;YAChC,QAAQ,EAAE;gBACR,sDAAsD;gBACtD,2CAA2C;gBAC3C,iDAAiD;aAClD;SACF,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAqB,EAAE,MAAgB;IACnE,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,SAAS,GAA4B,EAAE,CAAC;IAC9C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACnF,IAAI,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,QAAQ,IAAI,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACzF,SAAS;QACX,CAAC;QACD,SAAS,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,SAAqC,CAAC;AAC/C,CAAC;AAED,SAAS,aAAa,CAAC,MAAuB,EAAE,IAAY;IAC1D,OAAO,MAAM,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,QAAQ,IAAI,EAAE,CAAC,IAAI,KAAK,CAAC;AACtF,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAgB,EAAE,IAAY;IACvD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC;AAChF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,EAAU,EAAE,MAAqB,EAAE,UAAsB,EAAE;IACtF,IAAI,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,EAAE,CAAC;QAClF,MAAM,IAAI,UAAU,CAAC,4FAA4F,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;IACtI,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAC7D,MAAM,IAAI,UAAU,CAAC,kCAAkC,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;IAC5E,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACnE,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3G,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACzD,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,UAAU,CAAC,iCAAiC,MAAM,sBAAsB,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC3G,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,YAAY,GAAG,uBAAuB,CAAC,QAAQ,EAAE,+BAA+B,EAAE,CAAC,CAAC;IAC1F,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC;IACpH,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,MAAM,sBAAsB,CAAC,MAAM,EAAE,EAAE,EAAE,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC;IAClG,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3E,MAAM,mBAAmB,GAAa,EAAE,CAAC;IACzC,KAAK,MAAM,KAAK,IAAI,2BAA2B,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QAC7E,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAC/C,CAAC;IACD,iBAAiB,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC;IACnD,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC;IACnD,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;IACjD,MAAM,eAAe,GAAG,MAAM,KAAK,IAAI,CAAC;IACxC,MAAM,WAAW,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzF,MAAM,aAAa,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC7F,MAAM,kBAAkB,GAAG,aAAa,IAAI,aAAa,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAClF,MAAM,kBAAkB,GAAG,aAAa,IAAI,aAAa,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAClF,MAAM,iBAAiB,GAAG,aAAa,IAAI,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAChF,MAAM,iBAAiB,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC1G,IAAI,UAAyC,CAAC;IAC9C,IAAI,iBAAiB,EAAE,CAAC;QACtB,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QACvD,IAAI,OAAO,GAAwB,EAAE,CAAC;QACtC,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,kBAAkB,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QAC9D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,GAAG,EAAE,CAAC;QACf,CAAC;QACD,UAAU,GAAG,wBAAwB,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACpF,CAAC;IACD,MAAM,MAAM,GAAc;QACxB,IAAI,EAAE,eAAe;YACnB,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;YACxD,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC;KACzD,CAAC;IACF,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;IACrC,CAAC;IACD,IAAI,aAAa,IAAI,kBAAkB,IAAI,kBAAkB,IAAI,iBAAiB,EAAE,CAAC;QACnF,MAAM,CAAC,MAAM,GAAG;YACd,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YACtC,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YACtC,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;SACpC,CAAC;IACJ,CAAC;IACD,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,CAAC,WAAW,GAAG,UAAU,CAAC;IAClC,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QAC1B,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,MAAM,OAAO,CAC3B,SAAS,EACT;YACE,MAAM,EAAE,OAAO,CAAC,EAAE;YAClB,IAAI,EAAE,IAAI;YACV,SAAS,EAAE,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;YAClE,IAAI,EAAE,IAAI;SACX,EACD,MAAM,CACP,CAAC;QACF,MAAM,CAAC,IAAI,GAAG;YACZ,OAAO,EAAE,OAAO,CAAC,EAAE;YACnB,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK;YAC1C,WAAW,EAAE,SAAS,IAAI,IAAI;YAC9B,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;SACzD,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC","debugId":"a8eb7675-53ef-5cf4-a41e-4eb9f5b44a5c"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { GlobalOptions } from "../../core/shared/command-types.js";
|
|
2
|
+
export interface HistoryCompactCommandOptions {
|
|
3
|
+
before?: string;
|
|
4
|
+
dryRun?: boolean;
|
|
5
|
+
author?: string;
|
|
6
|
+
message?: string;
|
|
7
|
+
force?: boolean;
|
|
8
|
+
}
|
|
9
|
+
type HistoryCompactBoundaryKind = "default" | "version" | "timestamp";
|
|
10
|
+
export interface HistoryCompactResult {
|
|
11
|
+
id: string;
|
|
12
|
+
dry_run: boolean;
|
|
13
|
+
changed: boolean;
|
|
14
|
+
compact_boundary: {
|
|
15
|
+
kind: HistoryCompactBoundaryKind;
|
|
16
|
+
before: string | null;
|
|
17
|
+
entries_compacted: number;
|
|
18
|
+
entries_retained: number;
|
|
19
|
+
first_retained_entry: number | null;
|
|
20
|
+
};
|
|
21
|
+
history: {
|
|
22
|
+
path: string;
|
|
23
|
+
entries_scanned: number;
|
|
24
|
+
entries_after: number;
|
|
25
|
+
baseline_entry_added: boolean;
|
|
26
|
+
audit_entry_added: boolean;
|
|
27
|
+
verify_ok: boolean;
|
|
28
|
+
verify_errors: string[];
|
|
29
|
+
};
|
|
30
|
+
item: {
|
|
31
|
+
exists: boolean;
|
|
32
|
+
path: string | null;
|
|
33
|
+
matched_chain_before: boolean | null;
|
|
34
|
+
};
|
|
35
|
+
warnings: string[];
|
|
36
|
+
generated_at: string;
|
|
37
|
+
}
|
|
38
|
+
export declare function runHistoryCompact(id: string, options: HistoryCompactCommandOptions, global: GlobalOptions): Promise<HistoryCompactResult>;
|
|
39
|
+
export {};
|
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
|
|
2
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="a55058bd-5e0f-51f5-991c-573cdb9112bb")}catch(e){}}();
|
|
3
|
+
import fs from "node:fs/promises";
|
|
4
|
+
import { createHistoryEntry } from "../../core/history/history.js";
|
|
5
|
+
import { checkHistoryRewriteOwnership, verifyHistoryRewriteNoDrift, } from "../../core/history/history-rewrite.js";
|
|
6
|
+
import { cloneEmptyReplayDocument, historyEntriesToRaw, replayHash, replayToItemDocument, toReplayDocument, tryApplyReplayPatch, verifyHistoryChain, } from "../../core/history/replay.js";
|
|
7
|
+
import { resolveItemTypeRegistry } from "../../core/item/type-registry.js";
|
|
8
|
+
import { acquireLock } from "../../core/lock/lock.js";
|
|
9
|
+
import { pathExists, readFileIfExists, writeFileAtomic } from "../../core/fs/fs-utils.js";
|
|
10
|
+
import { EXIT_CODE } from "../../core/shared/constants.js";
|
|
11
|
+
import { PmCliError } from "../../core/shared/errors.js";
|
|
12
|
+
import { nowIso } from "../../core/shared/time.js";
|
|
13
|
+
import { getActiveExtensionRegistrations, runActiveOnWriteHooks } from "../../core/extensions/index.js";
|
|
14
|
+
import { readLocatedItem } from "../../core/store/item-store.js";
|
|
15
|
+
import { getSettingsPath, resolvePmRoot } from "../../core/store/paths.js";
|
|
16
|
+
import { readSettings } from "../../core/store/settings.js";
|
|
17
|
+
import { resolveAuthor } from "../../core/shared/author.js";
|
|
18
|
+
import { readHistoryEntries } from "./history.js";
|
|
19
|
+
import { resolveHistorySubject } from "./history-redact.js";
|
|
20
|
+
function parseBeforeBoundary(before, entries) {
|
|
21
|
+
if (before === undefined) {
|
|
22
|
+
return {
|
|
23
|
+
kind: "default",
|
|
24
|
+
raw: null,
|
|
25
|
+
compactCount: entries.length,
|
|
26
|
+
retainedCount: 0,
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
const raw = before.trim();
|
|
30
|
+
if (raw.length === 0) {
|
|
31
|
+
throw new PmCliError("history-compact --before requires a non-empty value.", EXIT_CODE.USAGE);
|
|
32
|
+
}
|
|
33
|
+
if (/^\d+$/.test(raw)) {
|
|
34
|
+
const version = Number.parseInt(raw, 10);
|
|
35
|
+
if (!Number.isSafeInteger(version) || version < 1 || version > entries.length + 1) {
|
|
36
|
+
throw new PmCliError(`history-compact --before version must be between 1 and ${entries.length + 1}.`, EXIT_CODE.USAGE);
|
|
37
|
+
}
|
|
38
|
+
const compactCount = Math.max(0, Math.min(entries.length, version - 1));
|
|
39
|
+
return {
|
|
40
|
+
kind: "version",
|
|
41
|
+
raw,
|
|
42
|
+
compactCount,
|
|
43
|
+
retainedCount: entries.length - compactCount,
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
const beforeTs = Date.parse(raw);
|
|
47
|
+
if (!Number.isFinite(beforeTs)) {
|
|
48
|
+
throw new PmCliError(`Invalid history-compact --before value "${before}". Use a version number or ISO timestamp.`, EXIT_CODE.USAGE);
|
|
49
|
+
}
|
|
50
|
+
let compactCount = 0;
|
|
51
|
+
for (const [index, entry] of entries.entries()) {
|
|
52
|
+
const entryTs = Date.parse(entry.ts);
|
|
53
|
+
if (!Number.isFinite(entryTs)) {
|
|
54
|
+
throw new PmCliError(`History for this item contains invalid timestamp at entry ${index + 1}.`, EXIT_CODE.GENERIC_FAILURE);
|
|
55
|
+
}
|
|
56
|
+
if (entryTs >= beforeTs) {
|
|
57
|
+
break;
|
|
58
|
+
}
|
|
59
|
+
compactCount += 1;
|
|
60
|
+
}
|
|
61
|
+
return {
|
|
62
|
+
kind: "timestamp",
|
|
63
|
+
raw,
|
|
64
|
+
compactCount,
|
|
65
|
+
retainedCount: entries.length - compactCount,
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
function applyHistoryPatch(current, entry, entryNumber) {
|
|
69
|
+
const result = tryApplyReplayPatch(current, entry.patch);
|
|
70
|
+
if (!result.ok) {
|
|
71
|
+
throw new PmCliError(`history-compact failed to apply patch at entry ${entryNumber} (op=${entry.op}): ${result.error instanceof Error ? result.error.message : String(result.error)}`, EXIT_CODE.GENERIC_FAILURE);
|
|
72
|
+
}
|
|
73
|
+
return result.document;
|
|
74
|
+
}
|
|
75
|
+
function replayHistoryAndResolveCheckpoint(entries, compactCount) {
|
|
76
|
+
let replay = cloneEmptyReplayDocument();
|
|
77
|
+
let checkpoint = cloneEmptyReplayDocument();
|
|
78
|
+
for (let index = 0; index < entries.length; index += 1) {
|
|
79
|
+
const entry = entries[index];
|
|
80
|
+
if (replayHash(replay) !== entry.before_hash) {
|
|
81
|
+
throw new PmCliError(`history-compact detected before-hash drift at entry ${index + 1}; run pm history-repair first.`, EXIT_CODE.CONFLICT);
|
|
82
|
+
}
|
|
83
|
+
replay = applyHistoryPatch(replay, entry, index + 1);
|
|
84
|
+
if (replayHash(replay) !== entry.after_hash) {
|
|
85
|
+
throw new PmCliError(`history-compact detected after-hash drift at entry ${index + 1}; run pm history-repair first.`, EXIT_CODE.CONFLICT);
|
|
86
|
+
}
|
|
87
|
+
if (index + 1 === compactCount) {
|
|
88
|
+
checkpoint = structuredClone(replay);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
return {
|
|
92
|
+
checkpoint,
|
|
93
|
+
finalReplay: replay,
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
function reanchorRetainedEntries(retainedEntries, seed, retainedEntryOffset) {
|
|
97
|
+
let replay = structuredClone(seed);
|
|
98
|
+
const rewritten = [];
|
|
99
|
+
for (const [index, entry] of retainedEntries.entries()) {
|
|
100
|
+
const beforeHash = replayHash(replay);
|
|
101
|
+
replay = applyHistoryPatch(replay, entry, retainedEntryOffset + index + 1);
|
|
102
|
+
rewritten.push({
|
|
103
|
+
...entry,
|
|
104
|
+
before_hash: beforeHash,
|
|
105
|
+
after_hash: replayHash(replay),
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
return {
|
|
109
|
+
entries: rewritten,
|
|
110
|
+
finalReplay: replay,
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
export async function runHistoryCompact(id, options, global) {
|
|
114
|
+
const pmRoot = resolvePmRoot(process.cwd(), global.path);
|
|
115
|
+
if (!(await pathExists(getSettingsPath(pmRoot)))) {
|
|
116
|
+
throw new PmCliError(`Tracker is not initialized at ${pmRoot}. Run pm init first.`, EXIT_CODE.NOT_FOUND);
|
|
117
|
+
}
|
|
118
|
+
const settings = await readSettings(pmRoot);
|
|
119
|
+
const typeRegistry = resolveItemTypeRegistry(settings, getActiveExtensionRegistrations());
|
|
120
|
+
const subject = await resolveHistorySubject(pmRoot, id, settings, typeRegistry.type_to_folder);
|
|
121
|
+
const historyPath = subject.historyPath;
|
|
122
|
+
const historyRawBeforeLock = await readFileIfExists(historyPath);
|
|
123
|
+
if (historyRawBeforeLock === null) {
|
|
124
|
+
throw new PmCliError(`No history stream exists for ${subject.id}.`, EXIT_CODE.NOT_FOUND);
|
|
125
|
+
}
|
|
126
|
+
const historyEntries = await readHistoryEntries(historyPath, subject.id);
|
|
127
|
+
if (historyEntries.length === 0) {
|
|
128
|
+
throw new PmCliError(`No history entries exist for ${subject.id}; nothing to compact.`, EXIT_CODE.USAGE);
|
|
129
|
+
}
|
|
130
|
+
const chainVerification = verifyHistoryChain(historyEntries);
|
|
131
|
+
if (!chainVerification.ok) {
|
|
132
|
+
throw new PmCliError(`history-compact requires a valid history chain (${chainVerification.errors.join(", ")}). Run pm history-repair ${subject.id} first.`, EXIT_CODE.CONFLICT);
|
|
133
|
+
}
|
|
134
|
+
const boundary = parseBeforeBoundary(options.before, historyEntries);
|
|
135
|
+
const changed = boundary.compactCount > 0;
|
|
136
|
+
const dryRun = Boolean(options.dryRun);
|
|
137
|
+
const author = resolveAuthor(options.author, settings.author_default);
|
|
138
|
+
const warnings = [];
|
|
139
|
+
if (!changed) {
|
|
140
|
+
warnings.push("history_compact_noop_before_boundary");
|
|
141
|
+
}
|
|
142
|
+
const loadedItem = subject.located ? await readLocatedItem(subject.located, { schema: settings.schema }) : null;
|
|
143
|
+
const currentItemRawBeforeLock = loadedItem?.raw ?? null;
|
|
144
|
+
const matchedChainBefore = loadedItem === null
|
|
145
|
+
? null
|
|
146
|
+
: replayHash(toReplayDocument(loadedItem.document)) === historyEntries[historyEntries.length - 1]?.after_hash;
|
|
147
|
+
if (matchedChainBefore === false) {
|
|
148
|
+
warnings.push("history_compact_item_chain_mismatch");
|
|
149
|
+
}
|
|
150
|
+
let rewrittenEntries = historyEntries;
|
|
151
|
+
let baselineEntryAdded = false;
|
|
152
|
+
let auditEntryAdded = false;
|
|
153
|
+
if (changed) {
|
|
154
|
+
const { checkpoint, finalReplay } = replayHistoryAndResolveCheckpoint(historyEntries, boundary.compactCount);
|
|
155
|
+
const retained = historyEntries.slice(boundary.compactCount);
|
|
156
|
+
const reanchored = reanchorRetainedEntries(retained, checkpoint, boundary.compactCount);
|
|
157
|
+
const baselineEntry = createHistoryEntry({
|
|
158
|
+
nowIso: nowIso(),
|
|
159
|
+
author,
|
|
160
|
+
op: "history_compact_baseline",
|
|
161
|
+
before: replayToItemDocument(cloneEmptyReplayDocument()),
|
|
162
|
+
after: replayToItemDocument(checkpoint),
|
|
163
|
+
message: boundary.raw === null
|
|
164
|
+
? `history-compact baseline snapshot after compacting ${boundary.compactCount} entr${boundary.compactCount === 1 ? "y" : "ies"}.`
|
|
165
|
+
: `history-compact baseline snapshot before ${boundary.raw}.`,
|
|
166
|
+
});
|
|
167
|
+
rewrittenEntries = [baselineEntry, ...reanchored.entries];
|
|
168
|
+
baselineEntryAdded = true;
|
|
169
|
+
const compactMessage = typeof options.message === "string" && options.message.trim().length > 0
|
|
170
|
+
? options.message
|
|
171
|
+
: boundary.raw === null
|
|
172
|
+
? `history-compact compacted full stream (${boundary.compactCount} entr${boundary.compactCount === 1 ? "y" : "ies"}).`
|
|
173
|
+
: `history-compact compacted ${boundary.compactCount} entr${boundary.compactCount === 1 ? "y" : "ies"} before ${boundary.raw}.`;
|
|
174
|
+
if (!dryRun) {
|
|
175
|
+
rewrittenEntries.push(createHistoryEntry({
|
|
176
|
+
nowIso: nowIso(),
|
|
177
|
+
author,
|
|
178
|
+
op: "history_compact",
|
|
179
|
+
before: replayToItemDocument(finalReplay),
|
|
180
|
+
after: replayToItemDocument(finalReplay),
|
|
181
|
+
message: compactMessage,
|
|
182
|
+
}));
|
|
183
|
+
auditEntryAdded = true;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
const rewrittenVerify = verifyHistoryChain(rewrittenEntries);
|
|
187
|
+
if (!rewrittenVerify.ok) {
|
|
188
|
+
throw new PmCliError(`history-compact produced an invalid rewritten chain (${rewrittenVerify.errors.join(", ")}).`, EXIT_CODE.GENERIC_FAILURE);
|
|
189
|
+
}
|
|
190
|
+
if (changed && !dryRun) {
|
|
191
|
+
warnings.push(...checkHistoryRewriteOwnership({
|
|
192
|
+
itemDocument: loadedItem?.document ?? null,
|
|
193
|
+
subjectId: subject.id,
|
|
194
|
+
author,
|
|
195
|
+
force: options.force,
|
|
196
|
+
settings,
|
|
197
|
+
}));
|
|
198
|
+
const releaseLock = await acquireLock(pmRoot, subject.id, settings.locks.ttl_seconds, author, Boolean(options.force), settings.governance.force_required_for_stale_lock);
|
|
199
|
+
try {
|
|
200
|
+
const { historyRawUnderLock } = await verifyHistoryRewriteNoDrift({
|
|
201
|
+
pmRoot,
|
|
202
|
+
subject,
|
|
203
|
+
settings,
|
|
204
|
+
typeRegistry,
|
|
205
|
+
historyRawBeforeLock,
|
|
206
|
+
currentItemRawBeforeLock,
|
|
207
|
+
operation: "history-compact",
|
|
208
|
+
});
|
|
209
|
+
try {
|
|
210
|
+
await writeFileAtomic(historyPath, historyEntriesToRaw(rewrittenEntries));
|
|
211
|
+
}
|
|
212
|
+
catch (error) {
|
|
213
|
+
if (historyRawUnderLock === null) {
|
|
214
|
+
await fs.rm(historyPath, { force: true });
|
|
215
|
+
}
|
|
216
|
+
else {
|
|
217
|
+
await writeFileAtomic(historyPath, historyRawUnderLock);
|
|
218
|
+
}
|
|
219
|
+
throw error;
|
|
220
|
+
}
|
|
221
|
+
warnings.push(...(await runActiveOnWriteHooks({
|
|
222
|
+
path: historyPath,
|
|
223
|
+
scope: "project",
|
|
224
|
+
op: "history_compact:history",
|
|
225
|
+
})));
|
|
226
|
+
}
|
|
227
|
+
finally {
|
|
228
|
+
await releaseLock();
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
const firstRetainedEntry = boundary.retainedCount > 0 ? boundary.compactCount + 1 : null;
|
|
232
|
+
return {
|
|
233
|
+
id: subject.id,
|
|
234
|
+
dry_run: dryRun,
|
|
235
|
+
changed,
|
|
236
|
+
compact_boundary: {
|
|
237
|
+
kind: boundary.kind,
|
|
238
|
+
before: boundary.raw,
|
|
239
|
+
entries_compacted: boundary.compactCount,
|
|
240
|
+
entries_retained: boundary.retainedCount,
|
|
241
|
+
first_retained_entry: firstRetainedEntry,
|
|
242
|
+
},
|
|
243
|
+
history: {
|
|
244
|
+
path: historyPath,
|
|
245
|
+
entries_scanned: historyEntries.length,
|
|
246
|
+
entries_after: rewrittenEntries.length,
|
|
247
|
+
baseline_entry_added: baselineEntryAdded,
|
|
248
|
+
audit_entry_added: auditEntryAdded,
|
|
249
|
+
verify_ok: rewrittenVerify.ok,
|
|
250
|
+
verify_errors: rewrittenVerify.errors,
|
|
251
|
+
},
|
|
252
|
+
item: {
|
|
253
|
+
exists: subject.located !== null,
|
|
254
|
+
path: subject.located?.itemPath ?? null,
|
|
255
|
+
matched_chain_before: matchedChainBefore,
|
|
256
|
+
},
|
|
257
|
+
warnings: [...new Set(warnings)].sort((left, right) => left.localeCompare(right)),
|
|
258
|
+
generated_at: nowIso(),
|
|
259
|
+
};
|
|
260
|
+
}
|
|
261
|
+
//# sourceMappingURL=history-compact.js.map
|
|
262
|
+
//# debugId=a55058bd-5e0f-51f5-991c-573cdb9112bb
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"history-compact.js","sources":["cli/commands/history-compact.ts"],"sourceRoot":"/","sourcesContent":["import fs from \"node:fs/promises\";\nimport { createHistoryEntry } from \"../../core/history/history.js\";\nimport {\n checkHistoryRewriteOwnership,\n verifyHistoryRewriteNoDrift,\n} from \"../../core/history/history-rewrite.js\";\nimport {\n cloneEmptyReplayDocument,\n historyEntriesToRaw,\n replayHash,\n replayToItemDocument,\n toReplayDocument,\n tryApplyReplayPatch,\n verifyHistoryChain,\n type ReplayDocument,\n} from \"../../core/history/replay.js\";\nimport { resolveItemTypeRegistry } from \"../../core/item/type-registry.js\";\nimport { acquireLock } from \"../../core/lock/lock.js\";\nimport { pathExists, readFileIfExists, writeFileAtomic } from \"../../core/fs/fs-utils.js\";\nimport { EXIT_CODE } from \"../../core/shared/constants.js\";\nimport type { GlobalOptions } from \"../../core/shared/command-types.js\";\nimport { PmCliError } from \"../../core/shared/errors.js\";\nimport { nowIso } from \"../../core/shared/time.js\";\nimport { getActiveExtensionRegistrations, runActiveOnWriteHooks } from \"../../core/extensions/index.js\";\nimport { readLocatedItem } from \"../../core/store/item-store.js\";\nimport { getSettingsPath, resolvePmRoot } from \"../../core/store/paths.js\";\nimport { readSettings } from \"../../core/store/settings.js\";\nimport { resolveAuthor } from \"../../core/shared/author.js\";\nimport type { HistoryEntry } from \"../../types/index.js\";\nimport { readHistoryEntries } from \"./history.js\";\nimport { resolveHistorySubject } from \"./history-redact.js\";\n\nexport interface HistoryCompactCommandOptions {\n before?: string;\n dryRun?: boolean;\n author?: string;\n message?: string;\n force?: boolean;\n}\n\ntype HistoryCompactBoundaryKind = \"default\" | \"version\" | \"timestamp\";\n\ninterface HistoryCompactBoundary {\n kind: HistoryCompactBoundaryKind;\n raw: string | null;\n compactCount: number;\n retainedCount: number;\n}\n\nexport interface HistoryCompactResult {\n id: string;\n dry_run: boolean;\n changed: boolean;\n compact_boundary: {\n kind: HistoryCompactBoundaryKind;\n before: string | null;\n entries_compacted: number;\n entries_retained: number;\n first_retained_entry: number | null;\n };\n history: {\n path: string;\n entries_scanned: number;\n entries_after: number;\n baseline_entry_added: boolean;\n audit_entry_added: boolean;\n verify_ok: boolean;\n verify_errors: string[];\n };\n item: {\n exists: boolean;\n path: string | null;\n matched_chain_before: boolean | null;\n };\n warnings: string[];\n generated_at: string;\n}\n\nfunction parseBeforeBoundary(before: string | undefined, entries: HistoryEntry[]): HistoryCompactBoundary {\n if (before === undefined) {\n return {\n kind: \"default\",\n raw: null,\n compactCount: entries.length,\n retainedCount: 0,\n };\n }\n\n const raw = before.trim();\n if (raw.length === 0) {\n throw new PmCliError(\"history-compact --before requires a non-empty value.\", EXIT_CODE.USAGE);\n }\n\n if (/^\\d+$/.test(raw)) {\n const version = Number.parseInt(raw, 10);\n if (!Number.isSafeInteger(version) || version < 1 || version > entries.length + 1) {\n throw new PmCliError(\n `history-compact --before version must be between 1 and ${entries.length + 1}.`,\n EXIT_CODE.USAGE,\n );\n }\n const compactCount = Math.max(0, Math.min(entries.length, version - 1));\n return {\n kind: \"version\",\n raw,\n compactCount,\n retainedCount: entries.length - compactCount,\n };\n }\n\n const beforeTs = Date.parse(raw);\n if (!Number.isFinite(beforeTs)) {\n throw new PmCliError(\n `Invalid history-compact --before value \"${before}\". Use a version number or ISO timestamp.`,\n EXIT_CODE.USAGE,\n );\n }\n\n let compactCount = 0;\n for (const [index, entry] of entries.entries()) {\n const entryTs = Date.parse(entry.ts);\n if (!Number.isFinite(entryTs)) {\n throw new PmCliError(\n `History for this item contains invalid timestamp at entry ${index + 1}.`,\n EXIT_CODE.GENERIC_FAILURE,\n );\n }\n if (entryTs >= beforeTs) {\n break;\n }\n compactCount += 1;\n }\n\n return {\n kind: \"timestamp\",\n raw,\n compactCount,\n retainedCount: entries.length - compactCount,\n };\n}\n\nfunction applyHistoryPatch(current: ReplayDocument, entry: HistoryEntry, entryNumber: number): ReplayDocument {\n const result = tryApplyReplayPatch(current, entry.patch);\n if (!result.ok) {\n throw new PmCliError(\n `history-compact failed to apply patch at entry ${entryNumber} (op=${entry.op}): ${\n result.error instanceof Error ? result.error.message : String(result.error)\n }`,\n EXIT_CODE.GENERIC_FAILURE,\n );\n }\n return result.document;\n}\n\nfunction replayHistoryAndResolveCheckpoint(\n entries: HistoryEntry[],\n compactCount: number,\n): {\n checkpoint: ReplayDocument;\n finalReplay: ReplayDocument;\n} {\n let replay = cloneEmptyReplayDocument();\n let checkpoint = cloneEmptyReplayDocument();\n for (let index = 0; index < entries.length; index += 1) {\n const entry = entries[index];\n if (replayHash(replay) !== entry.before_hash) {\n throw new PmCliError(\n `history-compact detected before-hash drift at entry ${index + 1}; run pm history-repair first.`,\n EXIT_CODE.CONFLICT,\n );\n }\n replay = applyHistoryPatch(replay, entry, index + 1);\n if (replayHash(replay) !== entry.after_hash) {\n throw new PmCliError(\n `history-compact detected after-hash drift at entry ${index + 1}; run pm history-repair first.`,\n EXIT_CODE.CONFLICT,\n );\n }\n if (index + 1 === compactCount) {\n checkpoint = structuredClone(replay);\n }\n }\n return {\n checkpoint,\n finalReplay: replay,\n };\n}\n\nfunction reanchorRetainedEntries(\n retainedEntries: HistoryEntry[],\n seed: ReplayDocument,\n retainedEntryOffset: number,\n): {\n entries: HistoryEntry[];\n finalReplay: ReplayDocument;\n} {\n let replay = structuredClone(seed);\n const rewritten: HistoryEntry[] = [];\n for (const [index, entry] of retainedEntries.entries()) {\n const beforeHash = replayHash(replay);\n replay = applyHistoryPatch(replay, entry, retainedEntryOffset + index + 1);\n rewritten.push({\n ...entry,\n before_hash: beforeHash,\n after_hash: replayHash(replay),\n });\n }\n return {\n entries: rewritten,\n finalReplay: replay,\n };\n}\n\nexport async function runHistoryCompact(\n id: string,\n options: HistoryCompactCommandOptions,\n global: GlobalOptions,\n): Promise<HistoryCompactResult> {\n const pmRoot = resolvePmRoot(process.cwd(), global.path);\n if (!(await pathExists(getSettingsPath(pmRoot)))) {\n throw new PmCliError(`Tracker is not initialized at ${pmRoot}. Run pm init first.`, EXIT_CODE.NOT_FOUND);\n }\n\n const settings = await readSettings(pmRoot);\n const typeRegistry = resolveItemTypeRegistry(settings, getActiveExtensionRegistrations());\n const subject = await resolveHistorySubject(pmRoot, id, settings, typeRegistry.type_to_folder);\n const historyPath = subject.historyPath;\n const historyRawBeforeLock = await readFileIfExists(historyPath);\n if (historyRawBeforeLock === null) {\n throw new PmCliError(`No history stream exists for ${subject.id}.`, EXIT_CODE.NOT_FOUND);\n }\n const historyEntries = await readHistoryEntries(historyPath, subject.id);\n if (historyEntries.length === 0) {\n throw new PmCliError(`No history entries exist for ${subject.id}; nothing to compact.`, EXIT_CODE.USAGE);\n }\n\n const chainVerification = verifyHistoryChain(historyEntries);\n if (!chainVerification.ok) {\n throw new PmCliError(\n `history-compact requires a valid history chain (${chainVerification.errors.join(\", \")}). Run pm history-repair ${subject.id} first.`,\n EXIT_CODE.CONFLICT,\n );\n }\n\n const boundary = parseBeforeBoundary(options.before, historyEntries);\n const changed = boundary.compactCount > 0;\n const dryRun = Boolean(options.dryRun);\n const author = resolveAuthor(options.author, settings.author_default);\n const warnings: string[] = [];\n if (!changed) {\n warnings.push(\"history_compact_noop_before_boundary\");\n }\n\n const loadedItem = subject.located ? await readLocatedItem(subject.located, { schema: settings.schema }) : null;\n const currentItemRawBeforeLock = loadedItem?.raw ?? null;\n const matchedChainBefore =\n loadedItem === null\n ? null\n : replayHash(toReplayDocument(loadedItem.document)) === historyEntries[historyEntries.length - 1]?.after_hash;\n if (matchedChainBefore === false) {\n warnings.push(\"history_compact_item_chain_mismatch\");\n }\n\n let rewrittenEntries: HistoryEntry[] = historyEntries;\n let baselineEntryAdded = false;\n let auditEntryAdded = false;\n\n if (changed) {\n const { checkpoint, finalReplay } = replayHistoryAndResolveCheckpoint(historyEntries, boundary.compactCount);\n const retained = historyEntries.slice(boundary.compactCount);\n const reanchored = reanchorRetainedEntries(retained, checkpoint, boundary.compactCount);\n const baselineEntry = createHistoryEntry({\n nowIso: nowIso(),\n author,\n op: \"history_compact_baseline\",\n before: replayToItemDocument(cloneEmptyReplayDocument()),\n after: replayToItemDocument(checkpoint),\n message:\n boundary.raw === null\n ? `history-compact baseline snapshot after compacting ${boundary.compactCount} entr${\n boundary.compactCount === 1 ? \"y\" : \"ies\"\n }.`\n : `history-compact baseline snapshot before ${boundary.raw}.`,\n });\n rewrittenEntries = [baselineEntry, ...reanchored.entries];\n baselineEntryAdded = true;\n const compactMessage =\n typeof options.message === \"string\" && options.message.trim().length > 0\n ? options.message\n : boundary.raw === null\n ? `history-compact compacted full stream (${boundary.compactCount} entr${\n boundary.compactCount === 1 ? \"y\" : \"ies\"\n }).`\n : `history-compact compacted ${boundary.compactCount} entr${\n boundary.compactCount === 1 ? \"y\" : \"ies\"\n } before ${boundary.raw}.`;\n if (!dryRun) {\n rewrittenEntries.push(\n createHistoryEntry({\n nowIso: nowIso(),\n author,\n op: \"history_compact\",\n before: replayToItemDocument(finalReplay),\n after: replayToItemDocument(finalReplay),\n message: compactMessage,\n }),\n );\n auditEntryAdded = true;\n }\n }\n\n const rewrittenVerify = verifyHistoryChain(rewrittenEntries);\n if (!rewrittenVerify.ok) {\n throw new PmCliError(\n `history-compact produced an invalid rewritten chain (${rewrittenVerify.errors.join(\", \")}).`,\n EXIT_CODE.GENERIC_FAILURE,\n );\n }\n\n if (changed && !dryRun) {\n warnings.push(\n ...checkHistoryRewriteOwnership({\n itemDocument: loadedItem?.document ?? null,\n subjectId: subject.id,\n author,\n force: options.force,\n settings,\n }),\n );\n const releaseLock = await acquireLock(\n pmRoot,\n subject.id,\n settings.locks.ttl_seconds,\n author,\n Boolean(options.force),\n settings.governance.force_required_for_stale_lock,\n );\n try {\n const { historyRawUnderLock } = await verifyHistoryRewriteNoDrift({\n pmRoot,\n subject,\n settings,\n typeRegistry,\n historyRawBeforeLock,\n currentItemRawBeforeLock,\n operation: \"history-compact\",\n });\n try {\n await writeFileAtomic(historyPath, historyEntriesToRaw(rewrittenEntries));\n } catch (error) {\n if (historyRawUnderLock === null) {\n await fs.rm(historyPath, { force: true });\n } else {\n await writeFileAtomic(historyPath, historyRawUnderLock);\n }\n throw error;\n }\n warnings.push(\n ...(await runActiveOnWriteHooks({\n path: historyPath,\n scope: \"project\",\n op: \"history_compact:history\",\n })),\n );\n } finally {\n await releaseLock();\n }\n }\n\n const firstRetainedEntry = boundary.retainedCount > 0 ? boundary.compactCount + 1 : null;\n return {\n id: subject.id,\n dry_run: dryRun,\n changed,\n compact_boundary: {\n kind: boundary.kind,\n before: boundary.raw,\n entries_compacted: boundary.compactCount,\n entries_retained: boundary.retainedCount,\n first_retained_entry: firstRetainedEntry,\n },\n history: {\n path: historyPath,\n entries_scanned: historyEntries.length,\n entries_after: rewrittenEntries.length,\n baseline_entry_added: baselineEntryAdded,\n audit_entry_added: auditEntryAdded,\n verify_ok: rewrittenVerify.ok,\n verify_errors: rewrittenVerify.errors,\n },\n item: {\n exists: subject.located !== null,\n path: subject.located?.itemPath ?? null,\n matched_chain_before: matchedChainBefore,\n },\n warnings: [...new Set(warnings)].sort((left, right) => left.localeCompare(right)),\n generated_at: nowIso(),\n };\n}\n"],"names":[],"mappings":"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","debugId":"a55058bd-5e0f-51f5-991c-573cdb9112bb"}
|
|
@@ -9,6 +9,7 @@ export { runConfig, type ConfigCommandOptions, type ConfigResult } from "./confi
|
|
|
9
9
|
export { runContracts, type ContractsCommandOptions, type ContractsResult } from "./contracts.js";
|
|
10
10
|
export { CONTEXT_OUTPUT_VALUES, renderContextMarkdown, resolveContextOutputFormat, runContext, type ContextOptions, type ContextOutputFormat, type ContextResult, } from "./context.js";
|
|
11
11
|
export { runCreate, type CreateCommandOptions } from "./create.js";
|
|
12
|
+
export { runCopy, type CopyOptions, type CopyResult } from "./copy.js";
|
|
12
13
|
export { runDelete, type DeleteCommandOptions, type DeleteResult } from "./delete.js";
|
|
13
14
|
export { runDeps, DEPS_FORMAT_VALUES, type DepsCommandOptions, type DepsFormat, type DepsResult } from "./deps.js";
|
|
14
15
|
export { runDocs } from "./docs.js";
|
|
@@ -18,6 +19,7 @@ export { runGc } from "./gc.js";
|
|
|
18
19
|
export { runGet } from "./get.js";
|
|
19
20
|
export { runHealth } from "./health.js";
|
|
20
21
|
export { runHistory } from "./history.js";
|
|
22
|
+
export { runHistoryCompact, type HistoryCompactCommandOptions, type HistoryCompactResult } from "./history-compact.js";
|
|
21
23
|
export { runHistoryRedact, type HistoryRedactCommandOptions, type HistoryRedactResult } from "./history-redact.js";
|
|
22
24
|
export { runHistoryRepair, type HistoryRepairCommandOptions, type HistoryRepairResult } from "./history-repair.js";
|
|
23
25
|
export { runInit, summarizeInitResult, type InitConciseResult } from "./init.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
2
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="9562d4f5-92d5-5b27-ad67-6bf0613d93b5")}catch(e){}}();
|
|
3
3
|
export { runAppend } from "./append.js";
|
|
4
4
|
export { runAggregate } from "./aggregate.js";
|
|
5
5
|
export { runActivity } from "./activity.js";
|
|
@@ -11,6 +11,7 @@ export { runConfig } from "./config.js";
|
|
|
11
11
|
export { runContracts } from "./contracts.js";
|
|
12
12
|
export { CONTEXT_OUTPUT_VALUES, renderContextMarkdown, resolveContextOutputFormat, runContext, } from "./context.js";
|
|
13
13
|
export { runCreate } from "./create.js";
|
|
14
|
+
export { runCopy } from "./copy.js";
|
|
14
15
|
export { runDelete } from "./delete.js";
|
|
15
16
|
export { runDeps, DEPS_FORMAT_VALUES } from "./deps.js";
|
|
16
17
|
export { runDocs } from "./docs.js";
|
|
@@ -20,6 +21,7 @@ export { runGc } from "./gc.js";
|
|
|
20
21
|
export { runGet } from "./get.js";
|
|
21
22
|
export { runHealth } from "./health.js";
|
|
22
23
|
export { runHistory } from "./history.js";
|
|
24
|
+
export { runHistoryCompact } from "./history-compact.js";
|
|
23
25
|
export { runHistoryRedact } from "./history-redact.js";
|
|
24
26
|
export { runHistoryRepair } from "./history-repair.js";
|
|
25
27
|
export { runInit, summarizeInitResult } from "./init.js";
|
|
@@ -40,4 +42,4 @@ export { runUpdateMany } from "./update-many.js";
|
|
|
40
42
|
export { runUpgrade } from "./upgrade.js";
|
|
41
43
|
export { runValidate } from "./validate.js";
|
|
42
44
|
//# sourceMappingURL=index.js.map
|
|
43
|
-
//# debugId=
|
|
45
|
+
//# debugId=9562d4f5-92d5-5b27-ad67-6bf0613d93b5
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["cli/commands/index.ts"],"sourceRoot":"/","sourcesContent":["export { runAppend } from \"./append.js\";\nexport { runAggregate, type AggregateOptions, type AggregateResult } from \"./aggregate.js\";\nexport { runActivity } from \"./activity.js\";\nexport { runClaim, runRelease } from \"./claim.js\";\nexport { runClose, type CloseCommandOptions, type CloseResult } from \"./close.js\";\nexport { runCloseMany, type CloseManyCommandOptions, type CloseManyResult } from \"./close-many.js\";\nexport { runComments } from \"./comments.js\";\nexport { runConfig, type ConfigCommandOptions, type ConfigResult } from \"./config.js\";\nexport { runContracts, type ContractsCommandOptions, type ContractsResult } from \"./contracts.js\";\nexport {\n CONTEXT_OUTPUT_VALUES,\n renderContextMarkdown,\n resolveContextOutputFormat,\n runContext,\n type ContextOptions,\n type ContextOutputFormat,\n type ContextResult,\n} from \"./context.js\";\nexport { runCreate, type CreateCommandOptions } from \"./create.js\";\nexport { runDelete, type DeleteCommandOptions, type DeleteResult } from \"./delete.js\";\nexport { runDeps, DEPS_FORMAT_VALUES, type DepsCommandOptions, type DepsFormat, type DepsResult } from \"./deps.js\";\nexport { runDocs } from \"./docs.js\";\nexport { runExtension, type ExtensionCommandOptions, type ExtensionCommandResult } from \"./extension.js\";\nexport { runFiles, runFilesDiscover } from \"./files.js\";\nexport { runGc } from \"./gc.js\";\nexport { runGet } from \"./get.js\";\nexport { runHealth } from \"./health.js\";\nexport { runHistory } from \"./history.js\";\nexport { runHistoryRedact, type HistoryRedactCommandOptions, type HistoryRedactResult } from \"./history-redact.js\";\nexport { runHistoryRepair, type HistoryRepairCommandOptions, type HistoryRepairResult } from \"./history-repair.js\";\nexport { runInit, summarizeInitResult, type InitConciseResult } from \"./init.js\";\nexport { runLearnings } from \"./learnings.js\";\nexport { runList, type ListOptions } from \"./list.js\";\nexport { runNotes } from \"./notes.js\";\nexport {\n runPlan,\n PLAN_SUBCOMMANDS,\n PLAN_SHOW_DEPTH_VALUES,\n type PlanCommandOptions,\n type PlanCommandResult,\n type PlanDispatchInput,\n type PlanResultPlan,\n type PlanStepSummary,\n type PlanShowDepth,\n type PlanSubcommand,\n} from \"./plan.js\";\nexport {\n runSchemaAddType,\n runSchemaRemoveType,\n runSchemaAddStatus,\n runSchemaRemoveStatus,\n runSchemaList,\n runSchemaShow,\n formatSchemaAddTypeHuman,\n formatSchemaRemoveTypeHuman,\n formatSchemaAddStatusHuman,\n formatSchemaRemoveStatusHuman,\n formatSchemaListHuman,\n formatSchemaShowHuman,\n SCHEMA_SUBCOMMANDS,\n type SchemaSubcommand,\n type SchemaAddTypeCommandOptions,\n type SchemaAddTypeResult,\n type SchemaRemoveTypeCommandOptions,\n type SchemaRemoveTypeResult,\n type SchemaAddStatusCommandOptions,\n type SchemaAddStatusResult,\n type SchemaRemoveStatusCommandOptions,\n type SchemaRemoveStatusResult,\n type SchemaListResult,\n type SchemaShowResult,\n} from \"./schema.js\";\nexport { runSearch } from \"./search.js\";\nexport { runRestore } from \"./restore.js\";\nexport { runStats } from \"./stats.js\";\nexport { runTelemetry, TELEMETRY_SUBCOMMANDS, type TelemetryCommandOptions, type TelemetrySubcommand } from \"./telemetry.js\";\nexport { runTest } from \"./test.js\";\nexport { runTestAll } from \"./test-all.js\";\nexport {\n runStartBackgroundRun,\n runTestRunsList,\n runTestRunsLogs,\n runTestRunsResume,\n runTestRunsStatus,\n runTestRunsStop,\n runTestRunsWorker,\n} from \"./test-runs.js\";\nexport { runUpdate } from \"./update.js\";\nexport { runUpdateMany, type UpdateManyCommandOptions, type UpdateManyResult } from \"./update-many.js\";\nexport { runUpgrade, type UpgradeCommandOptions, type UpgradeResult } from \"./upgrade.js\";\nexport { runValidate, type ValidateCheck, type ValidateCommandOptions, type ValidateResult } from \"./validate.js\";\n"],"names":[],"mappings":";;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,YAAY,EAA+C,MAAM,gBAAgB,CAAC;AAC3F,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,QAAQ,EAA8C,MAAM,YAAY,CAAC;AAClF,OAAO,EAAE,YAAY,EAAsD,MAAM,iBAAiB,CAAC;AACnG,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAgD,MAAM,aAAa,CAAC;AACtF,OAAO,EAAE,YAAY,EAAsD,MAAM,gBAAgB,CAAC;AAClG,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,0BAA0B,EAC1B,UAAU,GAIX,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,SAAS,EAA6B,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,SAAS,EAAgD,MAAM,aAAa,CAAC;AACtF,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAA6D,MAAM,WAAW,CAAC;AACnH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAA6D,MAAM,gBAAgB,CAAC;AACzG,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAA8D,MAAM,qBAAqB,CAAC;AACnH,OAAO,EAAE,gBAAgB,EAA8D,MAAM,qBAAqB,CAAC;AACnH,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAA0B,MAAM,WAAW,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAoB,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EACL,OAAO,EACP,gBAAgB,EAChB,sBAAsB,GAQvB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,aAAa,EACb,aAAa,EACb,wBAAwB,EACxB,2BAA2B,EAC3B,0BAA0B,EAC1B,6BAA6B,EAC7B,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,GAYnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAA0D,MAAM,gBAAgB,CAAC;AAC7H,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,aAAa,EAAwD,MAAM,kBAAkB,CAAC;AACvG,OAAO,EAAE,UAAU,EAAkD,MAAM,cAAc,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAwE,MAAM,eAAe,CAAC","debugId":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["cli/commands/index.ts"],"sourceRoot":"/","sourcesContent":["export { runAppend } from \"./append.js\";\nexport { runAggregate, type AggregateOptions, type AggregateResult } from \"./aggregate.js\";\nexport { runActivity } from \"./activity.js\";\nexport { runClaim, runRelease } from \"./claim.js\";\nexport { runClose, type CloseCommandOptions, type CloseResult } from \"./close.js\";\nexport { runCloseMany, type CloseManyCommandOptions, type CloseManyResult } from \"./close-many.js\";\nexport { runComments } from \"./comments.js\";\nexport { runConfig, type ConfigCommandOptions, type ConfigResult } from \"./config.js\";\nexport { runContracts, type ContractsCommandOptions, type ContractsResult } from \"./contracts.js\";\nexport {\n CONTEXT_OUTPUT_VALUES,\n renderContextMarkdown,\n resolveContextOutputFormat,\n runContext,\n type ContextOptions,\n type ContextOutputFormat,\n type ContextResult,\n} from \"./context.js\";\nexport { runCreate, type CreateCommandOptions } from \"./create.js\";\nexport { runCopy, type CopyOptions, type CopyResult } from \"./copy.js\";\nexport { runDelete, type DeleteCommandOptions, type DeleteResult } from \"./delete.js\";\nexport { runDeps, DEPS_FORMAT_VALUES, type DepsCommandOptions, type DepsFormat, type DepsResult } from \"./deps.js\";\nexport { runDocs } from \"./docs.js\";\nexport { runExtension, type ExtensionCommandOptions, type ExtensionCommandResult } from \"./extension.js\";\nexport { runFiles, runFilesDiscover } from \"./files.js\";\nexport { runGc } from \"./gc.js\";\nexport { runGet } from \"./get.js\";\nexport { runHealth } from \"./health.js\";\nexport { runHistory } from \"./history.js\";\nexport { runHistoryCompact, type HistoryCompactCommandOptions, type HistoryCompactResult } from \"./history-compact.js\";\nexport { runHistoryRedact, type HistoryRedactCommandOptions, type HistoryRedactResult } from \"./history-redact.js\";\nexport { runHistoryRepair, type HistoryRepairCommandOptions, type HistoryRepairResult } from \"./history-repair.js\";\nexport { runInit, summarizeInitResult, type InitConciseResult } from \"./init.js\";\nexport { runLearnings } from \"./learnings.js\";\nexport { runList, type ListOptions } from \"./list.js\";\nexport { runNotes } from \"./notes.js\";\nexport {\n runPlan,\n PLAN_SUBCOMMANDS,\n PLAN_SHOW_DEPTH_VALUES,\n type PlanCommandOptions,\n type PlanCommandResult,\n type PlanDispatchInput,\n type PlanResultPlan,\n type PlanStepSummary,\n type PlanShowDepth,\n type PlanSubcommand,\n} from \"./plan.js\";\nexport {\n runSchemaAddType,\n runSchemaRemoveType,\n runSchemaAddStatus,\n runSchemaRemoveStatus,\n runSchemaList,\n runSchemaShow,\n formatSchemaAddTypeHuman,\n formatSchemaRemoveTypeHuman,\n formatSchemaAddStatusHuman,\n formatSchemaRemoveStatusHuman,\n formatSchemaListHuman,\n formatSchemaShowHuman,\n SCHEMA_SUBCOMMANDS,\n type SchemaSubcommand,\n type SchemaAddTypeCommandOptions,\n type SchemaAddTypeResult,\n type SchemaRemoveTypeCommandOptions,\n type SchemaRemoveTypeResult,\n type SchemaAddStatusCommandOptions,\n type SchemaAddStatusResult,\n type SchemaRemoveStatusCommandOptions,\n type SchemaRemoveStatusResult,\n type SchemaListResult,\n type SchemaShowResult,\n} from \"./schema.js\";\nexport { runSearch } from \"./search.js\";\nexport { runRestore } from \"./restore.js\";\nexport { runStats } from \"./stats.js\";\nexport { runTelemetry, TELEMETRY_SUBCOMMANDS, type TelemetryCommandOptions, type TelemetrySubcommand } from \"./telemetry.js\";\nexport { runTest } from \"./test.js\";\nexport { runTestAll } from \"./test-all.js\";\nexport {\n runStartBackgroundRun,\n runTestRunsList,\n runTestRunsLogs,\n runTestRunsResume,\n runTestRunsStatus,\n runTestRunsStop,\n runTestRunsWorker,\n} from \"./test-runs.js\";\nexport { runUpdate } from \"./update.js\";\nexport { runUpdateMany, type UpdateManyCommandOptions, type UpdateManyResult } from \"./update-many.js\";\nexport { runUpgrade, type UpgradeCommandOptions, type UpgradeResult } from \"./upgrade.js\";\nexport { runValidate, type ValidateCheck, type ValidateCommandOptions, type ValidateResult } from \"./validate.js\";\n"],"names":[],"mappings":"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","debugId":"9562d4f5-92d5-5b27-ad67-6bf0613d93b5"}
|