@unbrained/pm-cli 2026.7.7 → 2026.7.9
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 +25 -0
- package/README.md +1 -0
- package/dist/cli/commands/close.js +5 -2
- package/dist/cli/commands/close.js.map +1 -1
- package/dist/cli/commands/completion.js +16 -2
- package/dist/cli/commands/completion.js.map +1 -1
- package/dist/cli/commands/context.d.ts +1 -0
- package/dist/cli/commands/context.js +4 -4
- package/dist/cli/commands/context.js.map +1 -1
- package/dist/cli/commands/contracts.d.ts +11 -0
- package/dist/cli/commands/contracts.js +112 -15
- package/dist/cli/commands/contracts.js.map +1 -1
- package/dist/cli/commands/create.js +4 -2
- package/dist/cli/commands/create.js.map +1 -1
- package/dist/cli/commands/extension.d.ts +23 -19
- package/dist/cli/commands/extension.js +167 -57
- package/dist/cli/commands/extension.js.map +1 -1
- package/dist/cli/commands/list.d.ts +4 -0
- package/dist/cli/commands/list.js +32 -3
- package/dist/cli/commands/list.js.map +1 -1
- package/dist/cli/commands/search.js +3 -3
- package/dist/cli/commands/search.js.map +1 -1
- package/dist/cli/commands/update.d.ts +32 -1
- package/dist/cli/commands/update.js +19 -2
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/help-content.js +28 -2
- package/dist/cli/help-content.js.map +1 -1
- package/dist/cli/register-list-query.js +5 -2
- package/dist/cli/register-list-query.js.map +1 -1
- package/dist/cli/register-operations.js +4 -2
- package/dist/cli/register-operations.js.map +1 -1
- package/dist/cli/register-setup.js +8 -2
- package/dist/cli/register-setup.js.map +1 -1
- package/dist/cli/registration-helpers.js +4 -2
- package/dist/cli/registration-helpers.js.map +1 -1
- package/dist/cli-bundle/chunks/append-CDPAYYSB.js +11 -0
- package/dist/cli-bundle/chunks/{append-PVCTBVJG.js → append-RSPHC423.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-6G6O3OPQ.js → chunk-26MFLA7K.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-LCFJ7XAM.js → chunk-2BVD4ZD2.js} +267 -232
- package/dist/cli-bundle/chunks/chunk-2BVD4ZD2.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-7ML7JONU.js → chunk-2FKIIQMJ.js} +14 -14
- package/dist/cli-bundle/chunks/chunk-2FKIIQMJ.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-H2SMKL2N.js → chunk-3FUXM574.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-DR2V5OIV.js → chunk-3SHDAKMF.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-MRFWUSVA.js → chunk-3UXIMY62.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-WCWVEXGA.js → chunk-3V5C7PUH.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-43YSKY75.js → chunk-3YJDIJIE.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-HX6QXV5P.js → chunk-4I7KS5ES.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-XHCVAZGM.js → chunk-4OCWJ2AP.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-C5ACVMOI.js → chunk-5RJ4LFD3.js} +34 -7
- package/dist/cli-bundle/chunks/chunk-5RJ4LFD3.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-3TYOW6RR.js → chunk-5STY7NVM.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-7VQ3JJN5.js → chunk-5VAZHYVQ.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-4IQKDKGE.js → chunk-5ZMZF53A.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-6LCJRGPD.js → chunk-63PZJCKO.js} +10 -7
- package/dist/cli-bundle/chunks/chunk-63PZJCKO.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-MCEUKJKW.js → chunk-6FU5BVRB.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-AJUON7E6.js → chunk-6RR4XM5H.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-TEISGNSH.js → chunk-6TD5QGIB.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-565WYS5W.js → chunk-6WCXSC5V.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-NWWL22C7.js → chunk-6ZKDMEVT.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-VLEA2UTQ.js → chunk-7QKSLAHB.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-S6VC2A2K.js → chunk-7TBUV7XS.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-YPMZMKN7.js → chunk-7UCBLJDF.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-4MZOKTI2.js → chunk-AEOFBBWO.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-QFBSP3NI.js → chunk-ASSVI7FP.js} +12 -10
- package/dist/cli-bundle/chunks/{chunk-QFBSP3NI.js.map → chunk-ASSVI7FP.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-ZO7CLOY2.js → chunk-BFNFTHWQ.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-YNCFP5AR.js → chunk-BPJ5NYSJ.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-J2VGADNG.js → chunk-BPYVKTZE.js} +122 -27
- package/dist/cli-bundle/chunks/chunk-BPYVKTZE.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-P3MJJW7P.js → chunk-C3YU3TXX.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-SY75LYXR.js → chunk-C6XSTACC.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-S547WBYG.js → chunk-CEX2DQXZ.js} +600 -96
- package/dist/cli-bundle/chunks/chunk-CEX2DQXZ.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-2TILG6F2.js → chunk-CGDUIPJL.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-LZQU6XJG.js → chunk-CHSXGTWF.js} +23 -9
- package/dist/cli-bundle/chunks/{chunk-LZQU6XJG.js.map → chunk-CHSXGTWF.js.map} +2 -2
- package/dist/cli-bundle/chunks/{chunk-J7BOLHAV.js → chunk-CXH7EMSB.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-W5HXHC7C.js → chunk-D6J5673C.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-XZWL7VNE.js → chunk-DBV5A7FT.js} +9 -7
- package/dist/cli-bundle/chunks/chunk-DBV5A7FT.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-ARKHKYYS.js → chunk-DQLP22K2.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-YPD7SQ5P.js → chunk-EEJKHF7M.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-EDO7VXSO.js → chunk-EP2CKDS7.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-SIM5JDON.js → chunk-F5DDGY6R.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-I74FMIWA.js → chunk-FFB3WITE.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-43UQN754.js → chunk-FJR2S7S4.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-CJQM7O7R.js → chunk-FOJEBRDD.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-E3YQFSFE.js → chunk-GLMJLBLR.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-KTGJ2CBU.js → chunk-GO2X6ZRB.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-DDDWVPID.js → chunk-GSQVQINP.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-EVEPHNXJ.js → chunk-GZ365M6E.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-VGO73OCK.js → chunk-HZZ3AC27.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-7Y5N34HX.js → chunk-IINCZYM3.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-GLS6VMWI.js → chunk-INOWVPUD.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-PDXJXEZJ.js → chunk-J6AD3GWC.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-52NS7JDP.js → chunk-JH5XDDYS.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-GPIDUMMN.js → chunk-JYVPLGOW.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-XC3X7BQR.js → chunk-K2OKKYSO.js} +11 -9
- package/dist/cli-bundle/chunks/{chunk-XC3X7BQR.js.map → chunk-K2OKKYSO.js.map} +2 -2
- package/dist/cli-bundle/chunks/{chunk-YCVWWIKY.js → chunk-K4NMHZR3.js} +111 -24
- package/dist/cli-bundle/chunks/chunk-K4NMHZR3.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-EIUBK2LT.js → chunk-K52C6YPA.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-IDIBF4E2.js → chunk-KAJNWMBE.js} +8 -8
- package/dist/cli-bundle/chunks/{chunk-2LEJGRQ7.js → chunk-KFL3XHMA.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-XS2TMNXR.js → chunk-LD2NBQ5T.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-II7R6KD4.js → chunk-LG4N6YOK.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-M62RO3XK.js → chunk-LHDHS4Z6.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-YTD5GICJ.js → chunk-MBLHA6LR.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-F6MT7KKE.js → chunk-MCH6IKK7.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-7PNQA24K.js → chunk-MCZK7LY6.js} +24 -10
- package/dist/cli-bundle/chunks/{chunk-7PNQA24K.js.map → chunk-MCZK7LY6.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-UO7XAZK6.js → chunk-MFLLULHU.js} +267 -232
- package/dist/cli-bundle/chunks/chunk-MFLLULHU.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-FILL6BB2.js → chunk-N4S7BV43.js} +14 -14
- package/dist/cli-bundle/chunks/chunk-N4S7BV43.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-2APXX4TZ.js → chunk-NBJCIAVV.js} +108 -21
- package/dist/cli-bundle/chunks/chunk-NBJCIAVV.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-Y7KYVCZM.js → chunk-NGBWEYNY.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-RB3KLPAH.js → chunk-NRMDT4OV.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-TZLYO4PP.js → chunk-NRYZ4QLH.js} +121 -26
- package/dist/cli-bundle/chunks/chunk-NRYZ4QLH.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-F6YC2A6X.js → chunk-NSPSJWGL.js} +9 -6
- package/dist/cli-bundle/chunks/chunk-NSPSJWGL.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-GH73UOSJ.js → chunk-NTOOEVJ4.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-6XTSYPPO.js → chunk-ONADVBMD.js} +8 -6
- package/dist/cli-bundle/chunks/chunk-ONADVBMD.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-Y5IKRUEM.js → chunk-P5SUMCU5.js} +167 -65
- package/dist/cli-bundle/chunks/chunk-P5SUMCU5.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-EMXPI36L.js → chunk-PAWPLIWW.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-AGAVEDIE.js → chunk-PCBZ2VJD.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-MHNMCDWR.js → chunk-PPY3GXFK.js} +600 -96
- package/dist/cli-bundle/chunks/chunk-PPY3GXFK.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-3X542TEY.js → chunk-Q3CFSOQZ.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-4BKDAEDF.js → chunk-QJZM5WO5.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-HHEWQXPD.js → chunk-QLEH6FTQ.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-D2DCTFTL.js → chunk-QYZMZD4L.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-6UQCNWFV.js → chunk-RFHLRMLQ.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-Q64AYQYW.js → chunk-RL24NAUX.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-QDABF2RB.js → chunk-S7J3GEHL.js} +10 -10
- package/dist/cli-bundle/chunks/{chunk-5FIQ4EX3.js → chunk-SCJPFQQT.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-42LXP4VO.js → chunk-SIQGG335.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-RY7PTTUB.js → chunk-TI7QSUFK.js} +35 -8
- package/dist/cli-bundle/chunks/chunk-TI7QSUFK.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-43SIHQND.js → chunk-TKWTJGD6.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-EOUVR7JN.js → chunk-U72GF3I2.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-FN6SB4HU.js → chunk-UEATYUZW.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-V5ZWKJNY.js → chunk-UFNFHCAC.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-XBX5CBRQ.js → chunk-UH6VFRV6.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-GTM5HQL4.js → chunk-UIHDZS6X.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-TGUK6XN6.js → chunk-UURYLDDC.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-S5BNGFN5.js → chunk-VCGHRLJU.js} +10 -10
- package/dist/cli-bundle/chunks/{chunk-3G6UMXT3.js → chunk-W2VFNVSJ.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-ZNEG2UDO.js → chunk-WDNPNW22.js} +7 -7
- package/dist/cli-bundle/chunks/{chunk-DG6BSXZ7.js → chunk-WVEMZZCR.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-TNC6MZUD.js → chunk-XXN2B2MJ.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-YH5NBDFA.js → chunk-Y2736PT5.js} +8 -8
- package/dist/cli-bundle/chunks/{chunk-X47MKQXU.js → chunk-YHKXNGLA.js} +166 -64
- package/dist/cli-bundle/chunks/chunk-YHKXNGLA.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-XXIYUTLK.js → chunk-YPE5MFPJ.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-XPMXPR7K.js → chunk-YSRXFGNV.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-N6ZHDLUY.js → chunk-YUMNZS3X.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-TEKZOS7M.js → chunk-Z2JQH2MG.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-E3LWJUGF.js → chunk-Z6RLSNUX.js} +3 -3
- package/dist/cli-bundle/chunks/close-5WY6QO5F.js +12 -0
- package/dist/cli-bundle/chunks/{close-3YYQ5OG2.js → close-TKTFRL7N.js} +5 -5
- package/dist/cli-bundle/chunks/{close-many-D366FTIG.js → close-many-HEPL66EG.js} +13 -13
- package/dist/cli-bundle/chunks/close-many-U2KLQ3NL.js +22 -0
- package/dist/cli-bundle/chunks/{comments-54XDJNFE.js → comments-PLFK5ZKK.js} +7 -7
- package/dist/cli-bundle/chunks/comments-ZNOD5PTV.js +13 -0
- package/dist/cli-bundle/chunks/copy-F7BUFY4J.js +9 -0
- package/dist/cli-bundle/chunks/{copy-44RT5GDW.js → copy-VH3L4MN2.js} +4 -4
- package/dist/cli-bundle/chunks/create-KCQM6UYM.js +25 -0
- package/dist/cli-bundle/chunks/{create-4GWJWPXG.js → create-LD4SEUD6.js} +9 -9
- package/dist/cli-bundle/chunks/delete-6KQHZYIP.js +10 -0
- package/dist/cli-bundle/chunks/{delete-YQ2VPXNF.js → delete-ZNXUNCZR.js} +4 -4
- package/dist/cli-bundle/chunks/{deps-FMANWFRP.js → deps-CVDY7FFK.js} +4 -4
- package/dist/cli-bundle/chunks/{deps-BU5EBJDU.js → deps-SZXQHV73.js} +4 -4
- package/dist/cli-bundle/chunks/{docs-OQBSJNIA.js → docs-DR74ITCD.js} +6 -6
- package/dist/cli-bundle/chunks/docs-WCVYY6I7.js +14 -0
- package/dist/cli-bundle/chunks/{files-72HZEBOE.js → files-H5YCA74Z.js} +6 -6
- package/dist/cli-bundle/chunks/{files-HTSB2KJG.js → files-QEFQ2M3H.js} +6 -6
- package/dist/cli-bundle/chunks/{focus-FOG4ALC2.js → focus-55TRYSNA.js} +5 -5
- package/dist/cli-bundle/chunks/focus-N2QGNS5D.js +10 -0
- package/dist/cli-bundle/chunks/history-compact-GWQ4UOEI.js +21 -0
- package/dist/cli-bundle/chunks/{history-compact-M6IFAMBP.js → history-compact-JJZ4EFL3.js} +9 -9
- package/dist/cli-bundle/chunks/history-redact-4GJOLXCM.js +17 -0
- package/dist/cli-bundle/chunks/{history-redact-NQX3OGZP.js → history-redact-TPPUT3A5.js} +7 -7
- package/dist/cli-bundle/chunks/history-repair-HVCVCGUF.js +19 -0
- package/dist/cli-bundle/chunks/{history-repair-NHOJG7WO.js → history-repair-J7PIZ6ZP.js} +9 -9
- package/dist/cli-bundle/chunks/{learnings-T63JGKKN.js → learnings-KB6BT4NR.js} +7 -7
- package/dist/cli-bundle/chunks/learnings-YYY3U2Y7.js +13 -0
- package/dist/cli-bundle/chunks/notes-BGG7VL72.js +13 -0
- package/dist/cli-bundle/chunks/{notes-U7L6HQQ2.js → notes-ZTHXVOKM.js} +7 -7
- package/dist/cli-bundle/chunks/plan-B42KBMX7.js +24 -0
- package/dist/cli-bundle/chunks/{plan-TN537L24.js → plan-LUR7C24X.js} +10 -10
- package/dist/cli-bundle/chunks/{profile-TIGLAKJ7.js → profile-5F75MO5O.js} +9 -9
- package/dist/cli-bundle/chunks/{profile-MHAMXMHQ.js → profile-JRDMDGT5.js} +9 -9
- package/dist/cli-bundle/chunks/{register-list-query-ZCRABAPN.js → register-list-query-GZYRZLQZ.js} +17 -16
- package/dist/cli-bundle/chunks/register-list-query-GZYRZLQZ.js.map +1 -0
- package/dist/cli-bundle/chunks/{register-list-query-OHXD7G5N.js → register-list-query-W2W7RQJJ.js} +16 -15
- package/dist/cli-bundle/chunks/register-list-query-W2W7RQJJ.js.map +7 -0
- package/dist/cli-bundle/chunks/{register-mutation-XX4H56PE.js → register-mutation-5UDT3WL3.js} +29 -29
- package/dist/cli-bundle/chunks/{register-mutation-P3G4XP6Q.js → register-mutation-7DMOYDPC.js} +29 -29
- package/dist/cli-bundle/chunks/{register-operations-V6VKTG54.js → register-operations-NW43IUPE.js} +29 -28
- package/dist/cli-bundle/chunks/register-operations-NW43IUPE.js.map +7 -0
- package/dist/cli-bundle/chunks/{register-operations-V6PIYEDU.js → register-operations-Y4E32W4D.js} +30 -29
- package/dist/cli-bundle/chunks/register-operations-Y4E32W4D.js.map +1 -0
- package/dist/cli-bundle/chunks/{register-setup-6YVUSQYD.js → register-setup-3GVJ7XPE.js} +21 -19
- package/dist/cli-bundle/chunks/register-setup-3GVJ7XPE.js.map +1 -0
- package/dist/cli-bundle/chunks/{register-setup-6RVAWT6W.js → register-setup-MPTTS52V.js} +20 -18
- package/dist/cli-bundle/chunks/register-setup-MPTTS52V.js.map +7 -0
- package/dist/cli-bundle/chunks/{restore-HC3YSWF7.js → restore-BTBEZ5CK.js} +7 -7
- package/dist/cli-bundle/chunks/restore-EX4UUZL6.js +15 -0
- package/dist/cli-bundle/chunks/{schema-DAGSYO6E.js → schema-DGSTYYQB.js} +6 -6
- package/dist/cli-bundle/chunks/{schema-UBXJCQAC.js → schema-HAIBEE24.js} +6 -6
- package/dist/cli-bundle/chunks/update-76CRUMC7.js +21 -0
- package/dist/cli-bundle/chunks/{update-LKD64AFP.js → update-ZMYVXM77.js} +12 -12
- package/dist/cli-bundle/chunks/update-many-QYQRGNPU.js +31 -0
- package/dist/cli-bundle/chunks/update-many-U4CEQWI4.js +35 -0
- package/dist/cli-bundle/main.js +39 -13
- package/dist/cli-bundle/main.js.map +2 -2
- package/dist/cli-bundle/sdk-runtime.js +149 -53
- package/dist/cli-bundle/sdk-testing.js +6 -6
- package/dist/cli-bundle/sdk.js +153 -57
- package/dist/cli-bundle/sdk.js.map +3 -3
- package/dist/core/extensions/extension-types.d.ts +1 -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 +268 -231
- package/dist/core/extensions/loader.js.map +1 -1
- package/dist/sdk/cli-contracts/commander-types.js +3 -3
- package/dist/sdk/cli-contracts/commander-types.js.map +1 -1
- package/dist/sdk/cli-contracts/flag-contracts.js +10 -3
- package/dist/sdk/cli-contracts/flag-contracts.js.map +1 -1
- package/dist/sdk/cli-contracts/tool-option-contracts.js +10 -5
- package/dist/sdk/cli-contracts/tool-option-contracts.js.map +1 -1
- package/dist/sdk/cli-contracts/tool-parameter-tables.js +20 -4
- package/dist/sdk/cli-contracts/tool-parameter-tables.js.map +1 -1
- package/dist/sdk/cli-contracts/tool-schema.d.ts +4 -0
- package/dist/sdk/cli-contracts/tool-schema.js +71 -12
- package/dist/sdk/cli-contracts/tool-schema.js.map +1 -1
- package/dist/sdk/index.d.ts +1 -1
- package/dist/sdk/index.js +3 -3
- package/dist/sdk/index.js.map +1 -1
- package/dist/sdk/runtime.d.ts +471 -25
- package/dist/sdk/runtime.js +611 -25
- package/dist/sdk/runtime.js.map +1 -1
- package/docs/AGENT_GUIDE.md +3 -0
- package/docs/COMMANDS.md +10 -1
- package/docs/EXTENSIONS.md +7 -20
- package/docs/RELEASING.md +6 -0
- package/docs/SDK.md +67 -0
- package/package.json +2 -1
- package/dist/cli-bundle/chunks/append-F7WPGIQL.js +0 -11
- package/dist/cli-bundle/chunks/chunk-2APXX4TZ.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-6LCJRGPD.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-6XTSYPPO.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-7ML7JONU.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-C5ACVMOI.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-F6YC2A6X.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-FILL6BB2.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-J2VGADNG.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-LCFJ7XAM.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-MHNMCDWR.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-RY7PTTUB.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-S547WBYG.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-TZLYO4PP.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-UO7XAZK6.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-X47MKQXU.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-XZWL7VNE.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-Y5IKRUEM.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-YCVWWIKY.js.map +0 -7
- package/dist/cli-bundle/chunks/close-Z3Q4U7TS.js +0 -12
- package/dist/cli-bundle/chunks/close-many-3L2RXH3M.js +0 -22
- package/dist/cli-bundle/chunks/comments-HGHC2PN6.js +0 -13
- package/dist/cli-bundle/chunks/copy-UGMUGHZA.js +0 -9
- package/dist/cli-bundle/chunks/create-AZXCUYKP.js +0 -25
- package/dist/cli-bundle/chunks/delete-Y6SXIQ4X.js +0 -10
- package/dist/cli-bundle/chunks/docs-VNPBZXEL.js +0 -14
- package/dist/cli-bundle/chunks/focus-SUTMKXGX.js +0 -10
- package/dist/cli-bundle/chunks/history-compact-NEXRPP2O.js +0 -21
- package/dist/cli-bundle/chunks/history-redact-WQJBZ3PX.js +0 -17
- package/dist/cli-bundle/chunks/history-repair-CBHMHAJO.js +0 -19
- package/dist/cli-bundle/chunks/learnings-M64NTSOR.js +0 -13
- package/dist/cli-bundle/chunks/notes-73WE2UV2.js +0 -13
- package/dist/cli-bundle/chunks/plan-OSCNYFGC.js +0 -24
- package/dist/cli-bundle/chunks/register-list-query-OHXD7G5N.js.map +0 -7
- package/dist/cli-bundle/chunks/register-list-query-ZCRABAPN.js.map +0 -1
- package/dist/cli-bundle/chunks/register-operations-V6PIYEDU.js.map +0 -1
- package/dist/cli-bundle/chunks/register-operations-V6VKTG54.js.map +0 -7
- package/dist/cli-bundle/chunks/register-setup-6RVAWT6W.js.map +0 -7
- package/dist/cli-bundle/chunks/register-setup-6YVUSQYD.js.map +0 -1
- package/dist/cli-bundle/chunks/restore-LFAMMRYZ.js +0 -15
- package/dist/cli-bundle/chunks/update-CJGG5WMV.js +0 -21
- package/dist/cli-bundle/chunks/update-many-G4SM7BHC.js +0 -31
- package/dist/cli-bundle/chunks/update-many-VLIV3D7R.js +0 -35
- /package/dist/cli-bundle/chunks/{append-F7WPGIQL.js.map → append-CDPAYYSB.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{append-PVCTBVJG.js.map → append-RSPHC423.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-6G6O3OPQ.js.map → chunk-26MFLA7K.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-H2SMKL2N.js.map → chunk-3FUXM574.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-DR2V5OIV.js.map → chunk-3SHDAKMF.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-MRFWUSVA.js.map → chunk-3UXIMY62.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-WCWVEXGA.js.map → chunk-3V5C7PUH.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-43YSKY75.js.map → chunk-3YJDIJIE.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-HX6QXV5P.js.map → chunk-4I7KS5ES.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-XHCVAZGM.js.map → chunk-4OCWJ2AP.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-3TYOW6RR.js.map → chunk-5STY7NVM.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-7VQ3JJN5.js.map → chunk-5VAZHYVQ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-4IQKDKGE.js.map → chunk-5ZMZF53A.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-MCEUKJKW.js.map → chunk-6FU5BVRB.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-AJUON7E6.js.map → chunk-6RR4XM5H.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-TEISGNSH.js.map → chunk-6TD5QGIB.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-565WYS5W.js.map → chunk-6WCXSC5V.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-NWWL22C7.js.map → chunk-6ZKDMEVT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-VLEA2UTQ.js.map → chunk-7QKSLAHB.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-S6VC2A2K.js.map → chunk-7TBUV7XS.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-YPMZMKN7.js.map → chunk-7UCBLJDF.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-4MZOKTI2.js.map → chunk-AEOFBBWO.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-ZO7CLOY2.js.map → chunk-BFNFTHWQ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-YNCFP5AR.js.map → chunk-BPJ5NYSJ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-P3MJJW7P.js.map → chunk-C3YU3TXX.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-SY75LYXR.js.map → chunk-C6XSTACC.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-2TILG6F2.js.map → chunk-CGDUIPJL.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-J7BOLHAV.js.map → chunk-CXH7EMSB.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-W5HXHC7C.js.map → chunk-D6J5673C.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-ARKHKYYS.js.map → chunk-DQLP22K2.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-YPD7SQ5P.js.map → chunk-EEJKHF7M.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-EDO7VXSO.js.map → chunk-EP2CKDS7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-SIM5JDON.js.map → chunk-F5DDGY6R.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-I74FMIWA.js.map → chunk-FFB3WITE.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-43UQN754.js.map → chunk-FJR2S7S4.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-CJQM7O7R.js.map → chunk-FOJEBRDD.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-E3YQFSFE.js.map → chunk-GLMJLBLR.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-KTGJ2CBU.js.map → chunk-GO2X6ZRB.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-DDDWVPID.js.map → chunk-GSQVQINP.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-EVEPHNXJ.js.map → chunk-GZ365M6E.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-VGO73OCK.js.map → chunk-HZZ3AC27.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-7Y5N34HX.js.map → chunk-IINCZYM3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-GLS6VMWI.js.map → chunk-INOWVPUD.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-PDXJXEZJ.js.map → chunk-J6AD3GWC.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-52NS7JDP.js.map → chunk-JH5XDDYS.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-GPIDUMMN.js.map → chunk-JYVPLGOW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-EIUBK2LT.js.map → chunk-K52C6YPA.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-IDIBF4E2.js.map → chunk-KAJNWMBE.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-2LEJGRQ7.js.map → chunk-KFL3XHMA.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-XS2TMNXR.js.map → chunk-LD2NBQ5T.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-II7R6KD4.js.map → chunk-LG4N6YOK.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-M62RO3XK.js.map → chunk-LHDHS4Z6.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-YTD5GICJ.js.map → chunk-MBLHA6LR.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-F6MT7KKE.js.map → chunk-MCH6IKK7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-Y7KYVCZM.js.map → chunk-NGBWEYNY.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-RB3KLPAH.js.map → chunk-NRMDT4OV.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-GH73UOSJ.js.map → chunk-NTOOEVJ4.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-EMXPI36L.js.map → chunk-PAWPLIWW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-AGAVEDIE.js.map → chunk-PCBZ2VJD.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-3X542TEY.js.map → chunk-Q3CFSOQZ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-4BKDAEDF.js.map → chunk-QJZM5WO5.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-HHEWQXPD.js.map → chunk-QLEH6FTQ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-D2DCTFTL.js.map → chunk-QYZMZD4L.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-6UQCNWFV.js.map → chunk-RFHLRMLQ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-Q64AYQYW.js.map → chunk-RL24NAUX.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-QDABF2RB.js.map → chunk-S7J3GEHL.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-5FIQ4EX3.js.map → chunk-SCJPFQQT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-42LXP4VO.js.map → chunk-SIQGG335.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-43SIHQND.js.map → chunk-TKWTJGD6.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-EOUVR7JN.js.map → chunk-U72GF3I2.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-FN6SB4HU.js.map → chunk-UEATYUZW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-V5ZWKJNY.js.map → chunk-UFNFHCAC.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-XBX5CBRQ.js.map → chunk-UH6VFRV6.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-GTM5HQL4.js.map → chunk-UIHDZS6X.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-TGUK6XN6.js.map → chunk-UURYLDDC.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-S5BNGFN5.js.map → chunk-VCGHRLJU.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-3G6UMXT3.js.map → chunk-W2VFNVSJ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-ZNEG2UDO.js.map → chunk-WDNPNW22.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-DG6BSXZ7.js.map → chunk-WVEMZZCR.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-TNC6MZUD.js.map → chunk-XXN2B2MJ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-YH5NBDFA.js.map → chunk-Y2736PT5.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-XXIYUTLK.js.map → chunk-YPE5MFPJ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-XPMXPR7K.js.map → chunk-YSRXFGNV.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-N6ZHDLUY.js.map → chunk-YUMNZS3X.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-TEKZOS7M.js.map → chunk-Z2JQH2MG.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-E3LWJUGF.js.map → chunk-Z6RLSNUX.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-Z3Q4U7TS.js.map → close-5WY6QO5F.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-3YYQ5OG2.js.map → close-TKTFRL7N.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-many-D366FTIG.js.map → close-many-HEPL66EG.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-many-3L2RXH3M.js.map → close-many-U2KLQ3NL.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{comments-54XDJNFE.js.map → comments-PLFK5ZKK.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{comments-HGHC2PN6.js.map → comments-ZNOD5PTV.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{copy-UGMUGHZA.js.map → copy-F7BUFY4J.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{copy-44RT5GDW.js.map → copy-VH3L4MN2.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{create-AZXCUYKP.js.map → create-KCQM6UYM.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{create-4GWJWPXG.js.map → create-LD4SEUD6.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{delete-Y6SXIQ4X.js.map → delete-6KQHZYIP.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{delete-YQ2VPXNF.js.map → delete-ZNXUNCZR.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{deps-FMANWFRP.js.map → deps-CVDY7FFK.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{deps-BU5EBJDU.js.map → deps-SZXQHV73.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{docs-OQBSJNIA.js.map → docs-DR74ITCD.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{docs-VNPBZXEL.js.map → docs-WCVYY6I7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{files-72HZEBOE.js.map → files-H5YCA74Z.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{files-HTSB2KJG.js.map → files-QEFQ2M3H.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{focus-FOG4ALC2.js.map → focus-55TRYSNA.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{focus-SUTMKXGX.js.map → focus-N2QGNS5D.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-compact-NEXRPP2O.js.map → history-compact-GWQ4UOEI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-compact-M6IFAMBP.js.map → history-compact-JJZ4EFL3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-redact-WQJBZ3PX.js.map → history-redact-4GJOLXCM.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-redact-NQX3OGZP.js.map → history-redact-TPPUT3A5.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-repair-CBHMHAJO.js.map → history-repair-HVCVCGUF.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-repair-NHOJG7WO.js.map → history-repair-J7PIZ6ZP.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{learnings-T63JGKKN.js.map → learnings-KB6BT4NR.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{learnings-M64NTSOR.js.map → learnings-YYY3U2Y7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{notes-73WE2UV2.js.map → notes-BGG7VL72.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{notes-U7L6HQQ2.js.map → notes-ZTHXVOKM.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{plan-OSCNYFGC.js.map → plan-B42KBMX7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{plan-TN537L24.js.map → plan-LUR7C24X.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{profile-TIGLAKJ7.js.map → profile-5F75MO5O.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{profile-MHAMXMHQ.js.map → profile-JRDMDGT5.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{register-mutation-XX4H56PE.js.map → register-mutation-5UDT3WL3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{register-mutation-P3G4XP6Q.js.map → register-mutation-7DMOYDPC.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{restore-HC3YSWF7.js.map → restore-BTBEZ5CK.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{restore-LFAMMRYZ.js.map → restore-EX4UUZL6.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{schema-DAGSYO6E.js.map → schema-DGSTYYQB.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{schema-UBXJCQAC.js.map → schema-HAIBEE24.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-CJGG5WMV.js.map → update-76CRUMC7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-LKD64AFP.js.map → update-ZMYVXM77.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-many-G4SM7BHC.js.map → update-many-QYQRGNPU.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-many-VLIV3D7R.js.map → update-many-U4CEQWI4.js.map} +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
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]="6d1ae971-b01b-54ec-9164-36e28343725b")}catch(e){}}();
|
|
3
3
|
import {
|
|
4
4
|
collectBlockedByIds
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-C3YU3TXX.js";
|
|
6
6
|
import {
|
|
7
7
|
PmCliError,
|
|
8
8
|
buildItemNotFoundError,
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
readLocatedItem,
|
|
14
14
|
readSettings,
|
|
15
15
|
toItemRecord
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-NTOOEVJ4.js";
|
|
17
17
|
import {
|
|
18
18
|
EXIT_CODE,
|
|
19
19
|
getSettingsPath,
|
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
resolveItemTypeRegistry,
|
|
22
22
|
resolvePmRoot,
|
|
23
23
|
resolveRuntimeStatusRegistry
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-MFLLULHU.js";
|
|
25
25
|
|
|
26
26
|
// dist/cli/commands/close.js
|
|
27
27
|
function toAuthor(candidate, defaultAuthor) {
|
|
@@ -352,8 +352,10 @@ function mutateCloseMetadata(metadata, context) {
|
|
|
352
352
|
const duplicateFallbackFields = applyDuplicateCloseMetadata(metadata, context.duplicateOf);
|
|
353
353
|
const mutationWarnings = collectCloseValidationWarnings(metadata, context.validateCloseMode, context.activeChildIds);
|
|
354
354
|
metadata.status = context.statusRegistry.close_status;
|
|
355
|
+
metadata.closed_at = context.closedAt;
|
|
355
356
|
const changedFields = [
|
|
356
357
|
"status",
|
|
358
|
+
"closed_at",
|
|
357
359
|
...applyCloseReason(metadata, context.closeReason),
|
|
358
360
|
...inlineChangedFields
|
|
359
361
|
];
|
|
@@ -417,7 +419,8 @@ async function runClose(id, closeReasonText, options, global) {
|
|
|
417
419
|
duplicateOf,
|
|
418
420
|
validateCloseMode,
|
|
419
421
|
activeChildIds,
|
|
420
|
-
closeReason
|
|
422
|
+
closeReason,
|
|
423
|
+
closedAt: (/* @__PURE__ */ new Date()).toISOString()
|
|
421
424
|
});
|
|
422
425
|
}
|
|
423
426
|
});
|
|
@@ -435,6 +438,6 @@ export {
|
|
|
435
438
|
_testOnlyCloseCommand,
|
|
436
439
|
runClose
|
|
437
440
|
};
|
|
438
|
-
//# sourceMappingURL=chunk-
|
|
441
|
+
//# sourceMappingURL=chunk-63PZJCKO.js.map
|
|
439
442
|
|
|
440
|
-
//# debugId=
|
|
443
|
+
//# debugId=6d1ae971-b01b-54ec-9164-36e28343725b
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../../../cli/commands/close.ts"],"sourcesContent":["/**\n * @module cli/commands/close\n *\n * Implements the pm close command surface and its agent-facing runtime behavior.\n */\nimport { pathExists } from \"../../core/fs/fs-utils.js\";\nimport { collectBlockedByIds } from \"../../core/item/actionability.js\";\nimport { toItemRecord } from \"../../core/item/item-record.js\";\nimport { isTerminalStatus } from \"../../core/item/status.js\";\nimport { resolveItemTypeRegistry } from \"../../core/item/type-registry.js\";\nimport { resolveRuntimeStatusRegistry, type RuntimeStatusRegistry } from \"../../core/schema/runtime-schema.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 {\n buildItemNotFoundError,\n listAllFrontMatterLight,\n locateItem,\n mutateItem,\n readLocatedItem,\n} from \"../../core/store/item-store.js\";\nimport { getSettingsPath, resolvePmRoot } from \"../../core/store/paths.js\";\nimport { readSettings } from \"../../core/store/settings.js\";\nimport type { ItemFrontMatter } from \"../../types/index.js\";\n\n/**\n * Documents the close command options payload exchanged by command, SDK, and package integrations.\n */\nexport interface CloseCommandOptions {\n author?: string;\n message?: string;\n validateClose?: string;\n force?: boolean;\n // pm-fl0c #11 (2026-05-28): allow setting the three closure validation\n // fields inline on `pm close` so agents do not have to issue a prior\n // `pm update` just to satisfy --validate-close warn|strict. These map 1:1\n // to ItemFrontMatter.{resolution,expected_result,actual_result}.\n resolution?: string;\n expectedResult?: string;\n actualResult?: string;\n duplicateOf?: string;\n}\n\n/**\n * Documents the close result payload exchanged by command, SDK, and package integrations.\n */\nexport interface CloseResult {\n item: Record<string, unknown>;\n changed_fields: string[];\n warnings: string[];\n}\n\ninterface AutoUnblockCandidate {\n id: string;\n blocker_ids: string[];\n}\n\ntype CloseInlineFieldKey = \"resolution\" | \"expected_result\" | \"actual_result\";\n\ninterface CloseMutationContext {\n statusRegistry: RuntimeStatusRegistry;\n force: boolean | undefined;\n options: CloseCommandOptions;\n duplicateOf: string | undefined;\n validateCloseMode: ValidateCloseMode;\n activeChildIds: string[];\n closeReason: string | undefined;\n closedAt: string;\n}\n\nfunction toAuthor(candidate: string | undefined, defaultAuthor: string): string {\n const resolved = candidate ?? process.env.PM_AUTHOR ?? defaultAuthor;\n const trimmed = resolved.trim();\n return trimmed || \"unknown\";\n}\n\nfunction normalizeCloseReason(reasonText: string | undefined, required: boolean): string | undefined {\n const reason = (reasonText ?? \"\").trim();\n if (reason.length > 0) {\n return reason;\n }\n if (required) {\n throw new PmCliError(\n \"Close reason text is required because governance.require_close_reason is enabled\",\n EXIT_CODE.USAGE,\n {\n code: \"close_reason_required\",\n required: \"Provide a one-line closing summary as the positional text, --reason, or --message.\",\n why: \"governance.require_close_reason is enabled, so every close must record why the item is done.\",\n examples: [\n 'pm close <id> \"Done: <what changed and why>\"',\n 'pm close <id> --reason \"<closing summary>\"',\n 'pm close <id> -m \"<closing summary>\"',\n \"pm close <id> --duplicate-of <canonical-id>\",\n ],\n nextSteps: [\n \"Re-run the close with a closing summary.\",\n 'When closing as a duplicate, --duplicate-of <id> auto-fills the close reason as \"Duplicate of <id>\".',\n \"To stop requiring reasons, run: pm config set governance-require-close-reason --policy disabled\",\n ],\n },\n );\n }\n return undefined;\n}\n\ntype ValidateCloseMode = \"off\" | \"warn\" | \"strict\";\n\ninterface CloseReasonFallbackInput {\n closeReasonText: string | undefined;\n duplicateOf: string | undefined;\n resolution: string | undefined;\n message: string | undefined;\n requireCloseReason: boolean;\n}\n\nfunction resolveEffectiveCloseReasonText(input: CloseReasonFallbackInput): string | undefined {\n if ((input.closeReasonText ?? \"\").trim().length > 0) {\n return input.closeReasonText;\n }\n if (input.duplicateOf !== undefined) {\n return `Duplicate of ${input.duplicateOf}`;\n }\n const trimmedResolution = typeof input.resolution === \"string\" ? input.resolution.trim() : \"\";\n if (trimmedResolution.length > 0) {\n return trimmedResolution;\n }\n const trimmedMessage = typeof input.message === \"string\" ? input.message.trim() : \"\";\n if (input.requireCloseReason && trimmedMessage.length > 0) {\n return trimmedMessage;\n }\n return input.closeReasonText;\n}\n\nconst CLOSE_VALIDATION_FIELDS: Array<{ key: keyof Pick<ItemFrontMatter, \"resolution\" | \"expected_result\" | \"actual_result\">; label: string }> = [\n { key: \"resolution\", label: \"resolution\" },\n { key: \"expected_result\", label: \"expected_result\" },\n { key: \"actual_result\", label: \"actual_result\" },\n];\n\nfunction parseValidateCloseMode(raw: string | undefined): ValidateCloseMode | undefined {\n if (raw === undefined) {\n return undefined;\n }\n const normalized = raw.trim().toLowerCase();\n if (normalized.length === 0 || normalized === \"warn\") {\n return \"warn\";\n }\n if (normalized === \"off\" || normalized === \"none\" || normalized === \"disabled\") {\n return \"off\";\n }\n if (normalized === \"strict\") {\n return \"strict\";\n }\n throw new PmCliError(`Invalid --validate-close mode \"${raw}\" (expected \"off\", \"warn\", or \"strict\")`, EXIT_CODE.USAGE);\n}\n\nfunction findMissingCloseValidationFields(frontMatter: ItemFrontMatter): string[] {\n const missing: string[] = [];\n for (const field of CLOSE_VALIDATION_FIELDS) {\n const rawValue = frontMatter[field.key];\n if (typeof rawValue !== \"string\" || rawValue.trim().length === 0) {\n missing.push(field.label);\n }\n }\n return missing;\n}\n\nasync function duplicateChainReferencesClosingItem(\n loadItemById: (id: string) => Promise<ItemFrontMatter | null>,\n initialDuplicateOf: unknown,\n closingId: string,\n): Promise<boolean> {\n const visited = new Set<string>();\n let current = initialDuplicateOf;\n while (typeof current === \"string\" && current.trim().length > 0) {\n const currentId = current.trim();\n if (currentId === closingId) {\n return true;\n }\n if (visited.has(currentId)) {\n return false;\n }\n visited.add(currentId);\n current = (await loadItemById(currentId))?.duplicate_of;\n }\n return false;\n}\n\nfunction shouldApplyDuplicateFallback(value: unknown): boolean {\n return typeof value !== \"string\" || value.trim().length === 0;\n}\n\nasync function assertDuplicateTargetExists(\n pmRoot: string,\n settings: Awaited<ReturnType<typeof readSettings>>,\n duplicateOf: string | undefined,\n closingId: string,\n): Promise<string | undefined> {\n const rawTarget = duplicateOf?.trim();\n if (!rawTarget) {\n return undefined;\n }\n if (rawTarget === closingId) {\n throw new PmCliError(\"An item cannot be closed as a duplicate of itself.\", EXIT_CODE.USAGE, {\n code: \"duplicate_target_self\",\n why: \"--duplicate-of must identify the canonical item that should remain open or already represent the work.\",\n });\n }\n const typeRegistry = resolveItemTypeRegistry(settings);\n const itemCache = new Map<string, ItemFrontMatter | null>();\n const loadItemById = async (id: string): Promise<ItemFrontMatter | null> => {\n if (itemCache.has(id)) {\n return itemCache.get(id) ?? null;\n }\n const located = await locateItem(pmRoot, id, settings.id_prefix, settings.item_format, typeRegistry.type_to_folder);\n if (!located) {\n itemCache.set(id, null);\n return null;\n }\n const { document } = await readLocatedItem(located, { schema: settings.schema });\n itemCache.set(id, document.metadata);\n return document.metadata;\n };\n const target = await loadItemById(rawTarget);\n if (!target) {\n throw new PmCliError(`Duplicate target \"${rawTarget}\" was not found. Create or locate the canonical item first.`, EXIT_CODE.USAGE, {\n code: \"duplicate_target_missing\",\n why: \"Duplicate closure should point at a real canonical pm item so future dedupe and changelog tooling can trace the relationship.\",\n examples: [`pm close ${closingId} \"Duplicate of ${rawTarget}\" --duplicate-of ${rawTarget}`],\n nextSteps: [\"Run pm search/list to find the canonical item, then retry with --duplicate-of <id>.\"],\n });\n }\n if (await duplicateChainReferencesClosingItem(loadItemById, target.duplicate_of, closingId)) {\n throw new PmCliError(`Circular duplicate reference detected. Target \"${rawTarget}\" points back to \"${closingId}\".`, EXIT_CODE.USAGE, {\n code: \"duplicate_target_circular\",\n why: \"Circular duplicate relationships create loops for dedupe and status propagation tooling.\",\n nextSteps: [\"Choose the existing canonical item, or clear the target duplicate_of metadata before closing this item as a duplicate.\"],\n });\n }\n if (typeof target.duplicate_of === \"string\" && target.duplicate_of.trim().length > 0) {\n throw new PmCliError(`Duplicate target \"${rawTarget}\" is already marked as a duplicate of \"${target.duplicate_of.trim()}\".`, EXIT_CODE.USAGE, {\n code: \"duplicate_target_is_duplicate\",\n why: \"Duplicate closure should point directly at the canonical item, not another duplicate.\",\n examples: [`pm close ${closingId} \"Duplicate of ${target.duplicate_of.trim()}\" --duplicate-of ${target.duplicate_of.trim()}`],\n nextSteps: [\"Use the canonical item referenced by duplicate_of as the --duplicate-of target.\"],\n });\n }\n return target.id;\n}\n\nasync function findActiveChildIds(\n pmRoot: string,\n settings: Awaited<ReturnType<typeof readSettings>>,\n parentId: string,\n statusRegistry: RuntimeStatusRegistry,\n): Promise<string[]> {\n const typeRegistry = resolveItemTypeRegistry(settings);\n const items = await listAllFrontMatterLight(\n pmRoot,\n settings.item_format,\n typeRegistry.type_to_folder,\n undefined,\n settings.schema,\n );\n return items\n .filter((item) => item.parent === parentId && !isTerminalStatus(item.status, statusRegistry))\n .map((item) => item.id)\n .sort((left, right) => left.localeCompare(right));\n}\n\nasync function findAutoUnblockCandidates(\n pmRoot: string,\n settings: Awaited<ReturnType<typeof readSettings>>,\n closedId: string,\n statusRegistry: RuntimeStatusRegistry,\n): Promise<AutoUnblockCandidate[]> {\n const typeRegistry = resolveItemTypeRegistry(settings);\n const items = await listAllFrontMatterLight(\n pmRoot,\n settings.item_format,\n typeRegistry.type_to_folder,\n undefined,\n settings.schema,\n );\n const itemsById = new Map(items.map((item) => [item.id, item]));\n const blockedStatuses = statusRegistry.blocked_statuses;\n return items\n .filter((item) => blockedStatuses.has(item.status))\n .map((item) => ({ item, blockerIds: collectBlockedByIds(item) }))\n .filter(({ blockerIds }) => blockerIds.includes(closedId))\n .filter(({ blockerIds }) =>\n blockerIds.every((blockerId) => {\n const blocker = itemsById.get(blockerId);\n return blocker !== undefined && isTerminalStatus(blocker.status, statusRegistry);\n }),\n )\n .map(({ item, blockerIds }) => ({ id: item.id, blocker_ids: blockerIds }))\n .sort((left, right) => left.id.localeCompare(right.id));\n}\n\nasync function autoUnblockResolvedDependents(\n pmRoot: string,\n settings: Awaited<ReturnType<typeof readSettings>>,\n closedId: string,\n author: string,\n statusRegistry: RuntimeStatusRegistry,\n): Promise<string[]> {\n const candidates = await findAutoUnblockCandidates(pmRoot, settings, closedId, statusRegistry);\n const warnings: string[] = [];\n for (const candidate of candidates) {\n try {\n const unblocked = await mutateItem({\n pmRoot,\n settings,\n id: candidate.id,\n op: \"update\",\n author,\n message: `Auto-unblocked after blocker ${closedId} closed`,\n mutate(document) {\n /* c8 ignore start -- normal auto-unblock candidates carry dependency metadata; fallback preserves hand-edited scalar-only blockers. */\n const dependencies = document.metadata.dependencies ?? [];\n /* c8 ignore stop */\n const remainingDependencies = dependencies.filter((dependency) => {\n const dependencyId = dependency.id.trim();\n return dependency.kind !== \"blocked_by\" || !candidate.blocker_ids.includes(dependencyId);\n });\n document.metadata.status = statusRegistry.open_status;\n delete document.metadata.blocked_by;\n delete document.metadata.blocked_reason;\n document.metadata.unblock_note = `Auto-unblocked after blocker ${closedId} closed; all blockers resolved (${candidate.blocker_ids.join(\", \")}).`;\n if (remainingDependencies.length > 0) {\n document.metadata.dependencies = remainingDependencies;\n } else {\n delete document.metadata.dependencies;\n }\n const changedFields = [\"status\", \"blocked_by\", \"blocked_reason\", \"unblock_note\"];\n if (remainingDependencies.length !== dependencies.length) {\n changedFields.push(\"dependencies\");\n }\n return {\n changedFields,\n };\n },\n });\n warnings.push(`auto_unblocked:${unblocked.item.id}:resolved_blockers=${candidate.blocker_ids.join(\",\")}`);\n /* c8 ignore start -- defensive fan-out failure path; normal lock/claim state is auditable and still unblocks. */\n } catch (error) {\n const reason = error instanceof Error ? error.message.replace(/\\s+/g, \" \").trim() : \"unknown\";\n warnings.push(`auto_unblock_failed:${candidate.id}:${reason}`);\n }\n /* c8 ignore stop */\n }\n return warnings;\n}\n\nfunction applyInlineCloseFields(metadata: ItemFrontMatter, options: CloseCommandOptions): CloseInlineFieldKey[] {\n const changedFields: CloseInlineFieldKey[] = [];\n const inlineCloseFields: Array<{ option: string | undefined; key: CloseInlineFieldKey }> = [\n { option: options.resolution, key: \"resolution\" },\n { option: options.expectedResult, key: \"expected_result\" },\n { option: options.actualResult, key: \"actual_result\" },\n ];\n for (const { option, key } of inlineCloseFields) {\n if (typeof option !== \"string\") {\n continue;\n }\n const trimmed = option.trim();\n if (trimmed.length === 0) {\n continue;\n }\n metadata[key] = trimmed;\n changedFields.push(key);\n }\n return changedFields;\n}\n\nfunction applyDuplicateCloseMetadata(metadata: ItemFrontMatter, duplicateOf: string | undefined): CloseInlineFieldKey[] {\n if (duplicateOf === undefined) {\n return [];\n }\n metadata.duplicate_of = duplicateOf;\n const duplicateFallbackFields: CloseInlineFieldKey[] = [];\n const fallbackValues: Array<{ key: CloseInlineFieldKey; value: string }> = [\n { key: \"resolution\", value: `Duplicate of ${duplicateOf}` },\n { key: \"expected_result\", value: `Canonical item ${duplicateOf} tracks the work.` },\n { key: \"actual_result\", value: `Closed as duplicate of ${duplicateOf}.` },\n ];\n for (const { key, value } of fallbackValues) {\n if (shouldApplyDuplicateFallback(metadata[key])) {\n metadata[key] = value;\n duplicateFallbackFields.push(key);\n }\n }\n return duplicateFallbackFields;\n}\n\nfunction collectCloseValidationWarnings(\n metadata: ItemFrontMatter,\n validateCloseMode: ValidateCloseMode,\n activeChildIds: string[],\n): string[] {\n const warnings: string[] = [];\n if (validateCloseMode !== \"off\") {\n const missingFields = findMissingCloseValidationFields(metadata);\n if (missingFields.length > 0) {\n if (validateCloseMode === \"strict\") {\n throw new PmCliError(\n `Cannot close item ${metadata.id}: missing ${missingFields.join(\", \")}. Populate fields or use --validate-close warn.`,\n EXIT_CODE.USAGE,\n );\n }\n warnings.push(`close_validation_missing_fields:${metadata.id}:${missingFields.join(\",\")}`);\n }\n if (activeChildIds.length > 0) {\n if (validateCloseMode === \"strict\") {\n throw new PmCliError(\n `Cannot close item ${metadata.id}: active child items remain open (${activeChildIds.join(\", \")}). Close, cancel, or re-parent them first, or use --validate-close warn.`,\n EXIT_CODE.USAGE,\n );\n }\n warnings.push(`close_validation_active_children:${metadata.id}:${activeChildIds.join(\",\")}`);\n }\n return warnings;\n }\n if (activeChildIds.length > 0) {\n warnings.push(`closed_with_active_children:${metadata.id}:${activeChildIds.join(\",\")}`);\n }\n return warnings;\n}\n\nfunction applyCloseReason(metadata: ItemFrontMatter, closeReason: string | undefined): string[] {\n if (closeReason !== undefined) {\n metadata.close_reason = closeReason;\n return [\"close_reason\"];\n }\n if (metadata.close_reason !== undefined) {\n delete metadata.close_reason;\n return [\"close_reason\"];\n }\n return [];\n}\n\nfunction clearCloseAssignee(metadata: ItemFrontMatter): string[] {\n if (metadata.assignee === undefined) {\n return [];\n }\n delete metadata.assignee;\n return [\"assignee\"];\n}\n\nfunction clearClosedBlockerSignals(metadata: ItemFrontMatter): { changedFields: string[]; warnings: string[] } {\n const previousBlockedBy = typeof metadata.blocked_by === \"string\" ? metadata.blocked_by.trim() : \"\";\n const existingDeps = metadata.dependencies ?? [];\n const blockedByEdge = existingDeps.find((dep) => dep.kind === \"blocked_by\");\n const hadBlockedReason = metadata.blocked_reason !== undefined;\n if (previousBlockedBy.length === 0 && blockedByEdge === undefined && !hadBlockedReason) {\n return { changedFields: [], warnings: [] };\n }\n const changedFields: string[] = [];\n if (previousBlockedBy.length > 0) {\n delete metadata.blocked_by;\n changedFields.push(\"blocked_by\");\n }\n if (hadBlockedReason) {\n delete metadata.blocked_reason;\n changedFields.push(\"blocked_reason\");\n }\n if (blockedByEdge !== undefined) {\n const remainingDeps = existingDeps.filter((dep) => dep.kind !== \"blocked_by\");\n if (remainingDeps.length > 0) {\n metadata.dependencies = remainingDeps;\n } else {\n delete metadata.dependencies;\n }\n changedFields.push(\"dependencies\");\n }\n // A stale reason-only close has no blocker identity; omit the blocker-clear warning instead of inventing one.\n const reportedBlocker = previousBlockedBy || blockedByEdge?.id;\n return {\n changedFields,\n warnings: reportedBlocker ? [`closed_cleared_blocked_by:${metadata.id}:${reportedBlocker}`] : [],\n };\n}\n\nfunction mutateCloseMetadata(metadata: ItemFrontMatter, context: CloseMutationContext): { changedFields: string[]; warnings?: string[] } {\n if (isTerminalStatus(metadata.status, context.statusRegistry) && !context.force) {\n throw new PmCliError(`Item ${metadata.id} is already terminal; use --force to close again.`, EXIT_CODE.CONFLICT);\n }\n const inlineChangedFields = applyInlineCloseFields(metadata, context.options);\n const duplicateFallbackFields = applyDuplicateCloseMetadata(metadata, context.duplicateOf);\n const mutationWarnings = collectCloseValidationWarnings(metadata, context.validateCloseMode, context.activeChildIds);\n metadata.status = context.statusRegistry.close_status;\n metadata.closed_at = context.closedAt;\n const changedFields = [\n \"status\",\n \"closed_at\",\n ...applyCloseReason(metadata, context.closeReason),\n ...inlineChangedFields,\n ];\n if (context.duplicateOf !== undefined) {\n changedFields.push(\"duplicate_of\");\n for (const key of duplicateFallbackFields) {\n /* v8 ignore start -- duplicate fallback keys are already pre-deduped by applyDuplicateCloseMetadata in covered close paths */\n if (!changedFields.includes(key)) {\n changedFields.push(key);\n }\n /* v8 ignore stop */\n }\n }\n changedFields.push(...clearCloseAssignee(metadata));\n const blockerCleanup = clearClosedBlockerSignals(metadata);\n changedFields.push(...blockerCleanup.changedFields);\n mutationWarnings.push(...blockerCleanup.warnings);\n return {\n changedFields,\n ...(mutationWarnings.length > 0 ? { warnings: mutationWarnings } : {}),\n };\n}\n\nexport const _testOnlyCloseCommand = {\n blockedByIds: collectBlockedByIds,\n};\n\n/**\n * Implements run close for the public runtime surface of this module.\n */\nexport async function runClose(\n id: string,\n closeReasonText: string | undefined,\n options: CloseCommandOptions,\n global: GlobalOptions,\n): Promise<CloseResult> {\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 statusRegistry = resolveRuntimeStatusRegistry(settings.schema);\n const author = toAuthor(options.author, settings.author_default);\n // GH-250: verify the target item EXISTS before the governance close-reason\n // gate fires. Otherwise closing a typo'd id with no reason reports\n // \"Close reason text is required\" and hides the real cause (bad id) until a\n // reason is supplied. Existence is the more fundamental precondition, so it\n // is validated first regardless of whether a reason was provided.\n const typeToFolder = resolveItemTypeRegistry(settings).type_to_folder;\n const located = await locateItem(pmRoot, id, settings.id_prefix, settings.item_format, typeToFolder);\n if (!located) {\n throw await buildItemNotFoundError(pmRoot, id, settings.id_prefix, typeToFolder);\n }\n // GH-204: resolve the duplicate target BEFORE reason validation so\n // `pm close <id> --duplicate-of <canonical>` succeeds under\n // governance.require_close_reason without a manual reason — when no\n // positional/--reason text is provided the reason defaults to\n // \"Duplicate of <id>\" (mirroring the auto-filled closure metadata).\n // Explicit reason text still wins.\n const duplicateOf = await assertDuplicateTargetExists(pmRoot, settings, options.duplicateOf, id);\n // pm-7x8d / pm-9hry / GH-204: when no explicit positional/--reason text is given, derive\n // the close reason from the next-best closure signal instead of hard-blocking\n // under governance.require_close_reason. Precedence: explicit reason text >\n // --duplicate-of (\"Duplicate of <id>\") > --resolution summary > --message.\n // Resolution still writes metadata.resolution below; message still writes the\n // history entry through mutateItem. Reusing either as the close reason just lets\n // a single agent-authored close command succeed when it already supplied a\n // closure summary through another structured option.\n const effectiveCloseReasonText = resolveEffectiveCloseReasonText({\n closeReasonText,\n duplicateOf,\n resolution: options.resolution,\n message: options.message,\n requireCloseReason: settings.governance.require_close_reason,\n });\n const closeReason = normalizeCloseReason(effectiveCloseReasonText, settings.governance.require_close_reason);\n const validateCloseMode = parseValidateCloseMode(options.validateClose) ?? settings.governance.close_validation_default;\n // C3 (pm-fu5d): scan for active children even under minimal governance so\n // closing a parent is never silently orphaning — off mode emits an\n // informational note instead of the warn/strict validation warning.\n const activeChildIds = await findActiveChildIds(pmRoot, settings, id, statusRegistry);\n\n const result = await mutateItem({\n pmRoot,\n settings,\n id,\n op: \"close\",\n author,\n message: options.message,\n force: options.force,\n mutate(document) {\n return mutateCloseMetadata(document.metadata, {\n statusRegistry,\n force: options.force,\n options,\n duplicateOf,\n validateCloseMode,\n activeChildIds,\n closeReason,\n closedAt: new Date().toISOString(),\n });\n },\n });\n\n return {\n item: toItemRecord(result.item),\n changed_fields: result.changedFields,\n warnings: [\n ...result.warnings,\n ...(await autoUnblockResolvedDependents(pmRoot, settings, located.id, author, statusRegistry)),\n ],\n };\n}\n"],"names":[],"mappings":"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","debugId":"6d1ae971-b01b-54ec-9164-36e28343725b"}
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
createStdinTokenResolver,
|
|
12
12
|
looksLikeGenericKeyValueEntry,
|
|
13
13
|
parseCsvKv
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-3SHDAKMF.js";
|
|
15
15
|
import {
|
|
16
16
|
splitCommaList
|
|
17
17
|
} from "./chunk-P4SESZGT.js";
|
|
@@ -23,7 +23,7 @@ import {
|
|
|
23
23
|
mutateItem,
|
|
24
24
|
readLocatedItem,
|
|
25
25
|
readSettings
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-NTOOEVJ4.js";
|
|
27
27
|
import {
|
|
28
28
|
EXIT_CODE,
|
|
29
29
|
SCOPE_VALUES,
|
|
@@ -31,7 +31,7 @@ import {
|
|
|
31
31
|
pathExists,
|
|
32
32
|
resolveItemTypeRegistry,
|
|
33
33
|
resolvePmRoot
|
|
34
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-MFLLULHU.js";
|
|
35
35
|
|
|
36
36
|
// dist/cli/commands/linked-artifacts.js
|
|
37
37
|
import fs from "node:fs/promises";
|
|
@@ -391,6 +391,6 @@ export {
|
|
|
391
391
|
runLinkedArtifacts,
|
|
392
392
|
renameArtifactsResultKey
|
|
393
393
|
};
|
|
394
|
-
//# sourceMappingURL=chunk-
|
|
394
|
+
//# sourceMappingURL=chunk-6FU5BVRB.js.map
|
|
395
395
|
|
|
396
396
|
//# debugId=e455daa2-7c3a-5a87-ad9a-570e05956efd
|
|
@@ -2,11 +2,11 @@
|
|
|
2
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]="0ee33f6a-b2be-592b-b3f1-0bbaa84323d1")}catch(e){}}();
|
|
3
3
|
import {
|
|
4
4
|
PmCliError
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-NTOOEVJ4.js";
|
|
6
6
|
import {
|
|
7
7
|
EXIT_CODE,
|
|
8
8
|
resolveTypeName
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-MFLLULHU.js";
|
|
10
10
|
|
|
11
11
|
// dist/cli/shared-parsers.js
|
|
12
12
|
function parseLimit(raw, label = "--limit") {
|
|
@@ -52,6 +52,6 @@ export {
|
|
|
52
52
|
parsePriority,
|
|
53
53
|
parseType
|
|
54
54
|
};
|
|
55
|
-
//# sourceMappingURL=chunk-
|
|
55
|
+
//# sourceMappingURL=chunk-6RR4XM5H.js.map
|
|
56
56
|
|
|
57
57
|
//# debugId=0ee33f6a-b2be-592b-b3f1-0bbaa84323d1
|
|
@@ -2,14 +2,14 @@
|
|
|
2
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]="32a6140e-ee85-503d-8fa8-24a81dba5aa7")}catch(e){}}();
|
|
3
3
|
import {
|
|
4
4
|
verifyHistoryChain
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-IINCZYM3.js";
|
|
6
6
|
import {
|
|
7
7
|
hashDocument
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-NTOOEVJ4.js";
|
|
9
9
|
import {
|
|
10
10
|
getHistoryPath,
|
|
11
11
|
writeFileAtomic
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-MFLLULHU.js";
|
|
13
13
|
|
|
14
14
|
// dist/core/history/drift-scan.js
|
|
15
15
|
import fs from "node:fs/promises";
|
|
@@ -202,6 +202,6 @@ async function scanHistoryDrift(pmRoot, items, options = {}) {
|
|
|
202
202
|
export {
|
|
203
203
|
scanHistoryDrift
|
|
204
204
|
};
|
|
205
|
-
//# sourceMappingURL=chunk-
|
|
205
|
+
//# sourceMappingURL=chunk-6TD5QGIB.js.map
|
|
206
206
|
|
|
207
207
|
//# debugId=32a6140e-ee85-503d-8fa8-24a81dba5aa7
|
|
@@ -5,10 +5,10 @@ import {
|
|
|
5
5
|
normalizeReplayPatchOps,
|
|
6
6
|
tryApplyReplayPatch,
|
|
7
7
|
verifyHistoryChain
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-IINCZYM3.js";
|
|
9
9
|
import {
|
|
10
10
|
parseLimit
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-6RR4XM5H.js";
|
|
12
12
|
import {
|
|
13
13
|
PmCliError,
|
|
14
14
|
enforceHistoryStreamPolicyForItem,
|
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
readLocatedItem,
|
|
22
22
|
readSettings,
|
|
23
23
|
runActiveOnReadHooks
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-NTOOEVJ4.js";
|
|
25
25
|
import {
|
|
26
26
|
EXIT_CODE,
|
|
27
27
|
getHistoryPath,
|
|
@@ -30,7 +30,7 @@ import {
|
|
|
30
30
|
readFileIfExists,
|
|
31
31
|
resolveItemTypeRegistry,
|
|
32
32
|
resolvePmRoot
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-MFLLULHU.js";
|
|
34
34
|
|
|
35
35
|
// dist/core/history/history-diff.js
|
|
36
36
|
function decodeJsonPointerSegment(segment) {
|
|
@@ -258,6 +258,6 @@ export {
|
|
|
258
258
|
readHistoryEntries,
|
|
259
259
|
runHistory
|
|
260
260
|
};
|
|
261
|
-
//# sourceMappingURL=chunk-
|
|
261
|
+
//# sourceMappingURL=chunk-6WCXSC5V.js.map
|
|
262
262
|
|
|
263
263
|
//# debugId=f014e953-a40b-5dbe-9ce5-75463eb41eb7
|
|
@@ -8,13 +8,13 @@ import {
|
|
|
8
8
|
deleteItem,
|
|
9
9
|
readSettings,
|
|
10
10
|
toItemRecord
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-NTOOEVJ4.js";
|
|
12
12
|
import {
|
|
13
13
|
EXIT_CODE,
|
|
14
14
|
getSettingsPath,
|
|
15
15
|
pathExists,
|
|
16
16
|
resolvePmRoot
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-MFLLULHU.js";
|
|
18
18
|
|
|
19
19
|
// dist/cli/commands/delete.js
|
|
20
20
|
import path from "node:path";
|
|
@@ -47,6 +47,6 @@ async function runDelete(id, options, global) {
|
|
|
47
47
|
export {
|
|
48
48
|
runDelete
|
|
49
49
|
};
|
|
50
|
-
//# sourceMappingURL=chunk-
|
|
50
|
+
//# sourceMappingURL=chunk-6ZKDMEVT.js.map
|
|
51
51
|
|
|
52
52
|
//# debugId=89f470ce-8607-5fa5-8d82-74fd0d3bf325
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import {
|
|
4
4
|
BUILTIN_ITEM_TYPE_VALUES,
|
|
5
5
|
toDefaultFolder
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-MFLLULHU.js";
|
|
7
7
|
|
|
8
8
|
// dist/core/schema/item-types-file.js
|
|
9
9
|
var BUILTIN_NAME_LOOKUP = new Map(BUILTIN_ITEM_TYPE_VALUES.map((name) => [name.toLowerCase(), name]));
|
|
@@ -255,6 +255,6 @@ export {
|
|
|
255
255
|
buildInvalidTypeHint,
|
|
256
256
|
buildInvalidTypeError
|
|
257
257
|
};
|
|
258
|
-
//# sourceMappingURL=chunk-
|
|
258
|
+
//# sourceMappingURL=chunk-7QKSLAHB.js.map
|
|
259
259
|
|
|
260
260
|
//# debugId=1b7c28c0-5af8-526d-a895-fe83ffb2841e
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
clearFocusedItem,
|
|
3
3
|
getFocusedItem,
|
|
4
4
|
setFocusedItem
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-3V5C7PUH.js";
|
|
6
6
|
import {
|
|
7
7
|
PmCliError,
|
|
8
8
|
buildItemNotFoundError,
|
|
@@ -11,14 +11,14 @@ import {
|
|
|
11
11
|
normalizeItemId,
|
|
12
12
|
readLocatedItem,
|
|
13
13
|
readSettings
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-BPJ5NYSJ.js";
|
|
15
15
|
import {
|
|
16
16
|
EXIT_CODE,
|
|
17
17
|
getSettingsPath,
|
|
18
18
|
pathExists,
|
|
19
19
|
resolveItemTypeRegistry,
|
|
20
20
|
resolvePmRoot
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-2BVD4ZD2.js";
|
|
22
22
|
|
|
23
23
|
// dist/cli/commands/focus.js
|
|
24
24
|
!(function() {
|
|
@@ -101,4 +101,4 @@ function nonEmptyTitleOrNull(title) {
|
|
|
101
101
|
export {
|
|
102
102
|
runFocus
|
|
103
103
|
};
|
|
104
|
-
//# sourceMappingURL=chunk-
|
|
104
|
+
//# sourceMappingURL=chunk-7TBUV7XS.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
BUILTIN_ITEM_TYPE_VALUES,
|
|
3
3
|
toDefaultFolder
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-2BVD4ZD2.js";
|
|
5
5
|
|
|
6
6
|
// dist/core/schema/item-types-file.js
|
|
7
7
|
!(function() {
|
|
@@ -260,4 +260,4 @@ export {
|
|
|
260
260
|
buildInvalidTypeHint,
|
|
261
261
|
buildInvalidTypeError
|
|
262
262
|
};
|
|
263
|
-
//# sourceMappingURL=chunk-
|
|
263
|
+
//# sourceMappingURL=chunk-7UCBLJDF.js.map
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
parseItemDocument,
|
|
5
5
|
runActiveOnWriteHooks,
|
|
6
6
|
serializeItemDocument
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-NTOOEVJ4.js";
|
|
8
8
|
import {
|
|
9
9
|
TYPE_TO_FOLDER,
|
|
10
10
|
getItemFormatFromPath,
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
readFileIfExists,
|
|
13
13
|
removeFileIfExists,
|
|
14
14
|
writeFileAtomic
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-MFLLULHU.js";
|
|
16
16
|
|
|
17
17
|
// dist/core/store/item-format-migration.js
|
|
18
18
|
import fs from "node:fs/promises";
|
|
@@ -114,6 +114,6 @@ async function migrateItemFilesToFormat(pmRoot, targetFormat, op = "item_format:
|
|
|
114
114
|
export {
|
|
115
115
|
migrateItemFilesToFormat
|
|
116
116
|
};
|
|
117
|
-
//# sourceMappingURL=chunk-
|
|
117
|
+
//# sourceMappingURL=chunk-AEOFBBWO.js.map
|
|
118
118
|
|
|
119
119
|
//# debugId=cc3f7b67-0ee9-5ac6-b79b-74b3d34cb9e2
|
|
@@ -1,8 +1,8 @@
|
|
|
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]="f57d2940-529b-5291-a4b6-d86b5fcf41c5")}catch(e){}}();
|
|
3
3
|
import {
|
|
4
4
|
getFocusedItem
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-EP2CKDS7.js";
|
|
6
6
|
import {
|
|
7
7
|
assertNoUnknownCsvKeys,
|
|
8
8
|
createStdinTokenResolver,
|
|
@@ -11,23 +11,23 @@ import {
|
|
|
11
11
|
parseCsvKv,
|
|
12
12
|
parseOptionalNumber,
|
|
13
13
|
parseTags
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-3SHDAKMF.js";
|
|
15
15
|
import {
|
|
16
16
|
assertParentReferenceIsNotSelf,
|
|
17
17
|
isPlaceholderReferenceToken,
|
|
18
18
|
normalizeParentReferenceValue,
|
|
19
19
|
validateMissingParentReference,
|
|
20
20
|
validateSprintOrReleaseValue
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-RFHLRMLQ.js";
|
|
22
22
|
import {
|
|
23
23
|
buildInvalidTypeError
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-7QKSLAHB.js";
|
|
25
25
|
import {
|
|
26
26
|
splitCommaList
|
|
27
27
|
} from "./chunk-P4SESZGT.js";
|
|
28
28
|
import {
|
|
29
29
|
printError
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-U72GF3I2.js";
|
|
31
31
|
import {
|
|
32
32
|
PmCliError,
|
|
33
33
|
acquireLock,
|
|
@@ -52,7 +52,7 @@ import {
|
|
|
52
52
|
runActiveCommandHandler,
|
|
53
53
|
runActiveOnWriteHooks,
|
|
54
54
|
serializeItemDocument
|
|
55
|
-
} from "./chunk-
|
|
55
|
+
} from "./chunk-NTOOEVJ4.js";
|
|
56
56
|
import {
|
|
57
57
|
CONFIDENCE_TEXT_VALUES,
|
|
58
58
|
CREATE_DIRECT_CLOSE_REASON_DEFAULT,
|
|
@@ -83,7 +83,7 @@ import {
|
|
|
83
83
|
validateTypeOptions,
|
|
84
84
|
weekdayOrderIndex,
|
|
85
85
|
writeFileAtomic
|
|
86
|
-
} from "./chunk-
|
|
86
|
+
} from "./chunk-MFLLULHU.js";
|
|
87
87
|
|
|
88
88
|
// dist/core/item/priority.js
|
|
89
89
|
var PRIORITY_NAME_TO_VALUE = {
|
|
@@ -2441,6 +2441,7 @@ async function runCreate(options, global) {
|
|
|
2441
2441
|
const body = resolvedOptions.body ?? "";
|
|
2442
2442
|
const closeReasonResolution = resolveCreateCloseReason(status, statusRegistry, settings, resolvedOptions, resolution);
|
|
2443
2443
|
const closeReason = closeReasonResolution.closeReason;
|
|
2444
|
+
const closedAt = status === statusRegistry.close_status ? nowValue : void 0;
|
|
2444
2445
|
validationWarnings.push(...closeReasonResolution.warnings);
|
|
2445
2446
|
const frontMatter = normalizeFrontMatter({
|
|
2446
2447
|
id,
|
|
@@ -2449,6 +2450,7 @@ async function runCreate(options, global) {
|
|
|
2449
2450
|
type,
|
|
2450
2451
|
type_options: validatedTypeOptions.normalized,
|
|
2451
2452
|
status,
|
|
2453
|
+
closed_at: closedAt,
|
|
2452
2454
|
close_reason: closeReason,
|
|
2453
2455
|
priority,
|
|
2454
2456
|
tags,
|
|
@@ -2610,6 +2612,6 @@ export {
|
|
|
2610
2612
|
runCreate,
|
|
2611
2613
|
_testOnlyCreateCommand
|
|
2612
2614
|
};
|
|
2613
|
-
//# sourceMappingURL=chunk-
|
|
2615
|
+
//# sourceMappingURL=chunk-ASSVI7FP.js.map
|
|
2614
2616
|
|
|
2615
|
-
//# debugId=
|
|
2617
|
+
//# debugId=f57d2940-529b-5291-a4b6-d86b5fcf41c5
|