@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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.js","sources":["cli/commands/contracts.ts"],"sourceRoot":"/","sourcesContent":["/**\n * @module cli/commands/contracts\n *\n * Implements the pm contracts command surface and its agent-facing runtime behavior.\n */\nimport { EXIT_CODE, SETTINGS_DEFAULTS } from \"../../core/shared/constants.js\";\nimport type { GlobalOptions } from \"../../core/shared/command-types.js\";\nimport { PmCliError } from \"../../core/shared/errors.js\";\nimport {\n activateExtensions,\n getActiveExtensionRegistrations,\n loadExtensions,\n} from \"../../core/extensions/index.js\";\nimport type {\n ExtensionRegistrationRegistry,\n RegisteredExtensionCommandDefinition,\n RegisteredExtensionFlagDefinitions,\n} from \"../../core/extensions/index.js\";\nimport { pathExists } from \"../../core/fs/fs-utils.js\";\nimport {\n commandOptionFlagLabel,\n resolveCommandOptionPolicyState,\n resolveItemTypeRegistry,\n} from \"../../core/item/type-registry.js\";\nimport {\n resolveRuntimeFieldRegistry,\n resolveRuntimeStatusRegistry,\n type RuntimeFieldRegistry,\n} from \"../../core/schema/runtime-schema.js\";\nimport { getSettingsPath, resolvePmRoot } from \"../../core/store/paths.js\";\nimport { readSettings } from \"../../core/store/settings.js\";\nimport { buildMcpToolContracts, type McpToolContract } from \"../../mcp/tool-definitions.js\";\nimport {\n ACTIVITY_COMMANDER_STRING_OPTION_CONTRACTS,\n ACTIVITY_FLAG_CONTRACTS,\n AGGREGATE_FLAG_CONTRACTS,\n APPEND_FLAG_CONTRACTS,\n CALENDAR_COMMANDER_STRING_OPTION_CONTRACTS,\n CALENDAR_FLAG_CONTRACTS,\n CLAIM_FLAG_CONTRACTS,\n CLOSE_TASK_FLAG_CONTRACTS,\n COMMENTS_FLAG_CONTRACTS,\n COMMENTS_AUDIT_FLAG_CONTRACTS,\n CLOSE_FLAG_CONTRACTS,\n CLOSE_MANY_FLAG_CONTRACTS,\n COMPLETION_FLAG_CONTRACTS,\n CONFIG_FLAG_CONTRACTS,\n CONTRACTS_FLAG_CONTRACTS,\n CONTEXT_COMMANDER_STRING_OPTION_CONTRACTS,\n CONTEXT_FLAG_CONTRACTS,\n CREATE_COMMANDER_REPEATABLE_OPTION_CONTRACTS,\n CREATE_COMMANDER_STRING_OPTION_CONTRACTS,\n CREATE_FLAG_CONTRACTS,\n DELETE_FLAG_CONTRACTS,\n DEPS_FLAG_CONTRACTS,\n DEDUPE_AUDIT_FLAG_CONTRACTS,\n DEDUPE_MERGE_FLAG_CONTRACTS,\n DOCS_FLAG_CONTRACTS,\n EXTENSION_ACTIVATE_FLAG_CONTRACTS,\n EXTENSION_ADOPT_ALL_FLAG_CONTRACTS,\n EXTENSION_ADOPT_FLAG_CONTRACTS,\n EXTENSION_CATALOG_FLAG_CONTRACTS,\n EXTENSION_DEACTIVATE_FLAG_CONTRACTS,\n EXTENSION_DESCRIBE_FLAG_CONTRACTS,\n EXTENSION_DOCTOR_FLAG_CONTRACTS,\n EXTENSION_EXPLORE_FLAG_CONTRACTS,\n EXTENSION_FLAG_CONTRACTS,\n EXTENSION_INIT_FLAG_CONTRACTS,\n EXTENSION_INSTALL_FLAG_CONTRACTS,\n EXTENSION_MANAGE_FLAG_CONTRACTS,\n EXTENSION_RELOAD_FLAG_CONTRACTS,\n EXTENSION_UNINSTALL_FLAG_CONTRACTS,\n FILES_FLAG_CONTRACTS,\n GC_FLAG_CONTRACTS,\n GET_FLAG_CONTRACTS,\n GUIDE_FLAG_CONTRACTS,\n GLOBAL_FLAG_CONTRACTS,\n HEALTH_FLAG_CONTRACTS,\n HISTORY_FLAG_CONTRACTS,\n HISTORY_COMPACT_FLAG_CONTRACTS,\n HISTORY_REDACT_FLAG_CONTRACTS,\n HISTORY_REPAIR_FLAG_CONTRACTS,\n INSTALL_FLAG_CONTRACTS,\n INIT_FLAG_CONTRACTS,\n LEARNINGS_FLAG_CONTRACTS,\n LIST_COMMANDER_STRING_OPTION_CONTRACTS,\n LIST_FILTER_FLAG_CONTRACTS,\n NORMALIZE_FLAG_CONTRACTS,\n NOTES_FLAG_CONTRACTS,\n PACKAGE_FLAG_CONTRACTS,\n PACKAGE_INIT_FLAG_CONTRACTS,\n PM_EXTENSION_CAPABILITY_CONTRACTS,\n PM_EXTENSION_POLICY_MODE_CONTRACTS,\n PM_EXTENSION_POLICY_SURFACE_CONTRACTS,\n PM_EXTENSION_SANDBOX_PROFILE_CONTRACTS,\n PM_EXTENSION_SERVICE_NAME_CONTRACTS,\n PM_EXTENSION_TRUST_MODE_CONTRACTS,\n PLAN_FLAG_CONTRACTS,\n PM_CORE_COMMAND_NAMES,\n PM_TOOL_ACTIONS,\n PM_TOOL_PARAMETERS_SCHEMA,\n REINDEX_FLAG_CONTRACTS,\n RELEASE_FLAG_CONTRACTS,\n RESTORE_FLAG_CONTRACTS,\n SCHEMA_FLAG_CONTRACTS,\n PROFILE_FLAG_CONTRACTS,\n SEARCH_COMMANDER_STRING_OPTION_CONTRACTS,\n EVAL_FLAG_CONTRACTS,\n NEXT_FLAG_CONTRACTS,\n SEARCH_FLAG_CONTRACTS,\n STATS_FLAG_CONTRACTS,\n START_TASK_FLAG_CONTRACTS,\n PAUSE_TASK_FLAG_CONTRACTS,\n TELEMETRY_FLAG_CONTRACTS,\n TEST_ALL_FLAG_CONTRACTS,\n TEST_FLAG_CONTRACTS,\n TEST_RUNS_FLAG_CONTRACTS,\n UPDATE_COMMANDER_REPEATABLE_OPTION_CONTRACTS,\n UPDATE_COMMANDER_STRING_OPTION_CONTRACTS,\n UPDATE_FLAG_CONTRACTS,\n UPDATE_MANY_FLAG_CONTRACTS,\n UPGRADE_FLAG_CONTRACTS,\n VALIDATE_FLAG_CONTRACTS,\n compactFlagAliasContracts,\n withFlagAliasMetadata,\n type CliFlagContract,\n type CommanderOptionAliasContract,\n} from \"../../sdk/cli-contracts.js\";\n\n/**\n * Documents the contracts command options payload exchanged by command, SDK, and package integrations.\n */\nexport interface ContractsCommandOptions {\n action?: string;\n command?: string;\n schemaOnly?: boolean;\n flagsOnly?: boolean;\n availabilityOnly?: boolean;\n runtimeOnly?: boolean;\n full?: boolean;\n}\n\ninterface CommandFlagSurface {\n command: string;\n flags: CliFlagContract[];\n provider?: \"core\" | \"extension\" | \"mixed\";\n extension_sources?: Array<{\n layer: \"global\" | \"project\";\n name: string;\n }>;\n}\n\ninterface CommandAliasSurface {\n canonical: string;\n aliases: string[];\n}\n\n/**\n * Documents the contracts result payload exchanged by command, SDK, and package integrations.\n */\nexport interface ContractsResult {\n schema_version: string | null;\n schema_id: string | null;\n selected: {\n action: string | null;\n command: string | null;\n schema_only: boolean;\n flags_only: boolean;\n availability_only: boolean;\n runtime_only: boolean;\n command_scoped: boolean;\n };\n actions?: string[];\n action_availability?: ContractsActionAvailability[];\n commands: string[];\n schema?: Record<string, unknown>;\n schema_omitted_reason?: string;\n command_flags_omitted_reason?: string;\n commander_aliases_omitted_reason?: string;\n command_flags?: CommandFlagSurface[];\n command_aliases?: CommandAliasSurface[];\n commander_aliases?: Record<string, CommanderOptionAliasContract[]>;\n extension_commands?: ExtensionCommandContract[];\n runtime_schema?: {\n statuses: string[];\n open_status: string;\n close_status: string;\n canceled_status: string;\n types: string[];\n fields_by_command: Record<string, string[]>;\n };\n extension_contracts?: {\n capabilities: string[];\n services: string[];\n policy_modes: string[];\n policy_surfaces: string[];\n trust_modes: string[];\n sandbox_profiles: string[];\n manifest_versions: number[];\n compatibility: {\n current: string;\n previous: string[];\n breaking_strategy: string;\n };\n };\n // pm-4os2: static MCP tool surface (tool names, required fields, inputSchema\n // shapes) so the contract golden file catches unintended MCP schema drift.\n // Emitted with --full only — the snapshot script runs `pm contracts --full`.\n mcp_tools?: McpToolContract[];\n}\n\ntype PmToolAction = (typeof PM_TOOL_ACTIONS)[number];\n\n/**\n * Documents the contracts action availability payload exchanged by command, SDK, and package integrations.\n */\nexport interface ContractsActionAvailability {\n action: string;\n invocable: boolean;\n available: boolean;\n requires_extension: boolean;\n provider: \"core\" | \"extension\";\n disabled_reason: string | null;\n command_path: string | null;\n cli_exposed: boolean;\n policy_state?: {\n mode: string;\n trust_mode: string;\n default_sandbox_profile: string;\n };\n}\n\ninterface RuntimeExtensionActionProbe {\n handlers: Set<string>;\n disabledReason: string | null;\n commandDefinitions: RegisteredExtensionCommandDefinition[];\n flagRegistrations: RegisteredExtensionFlagDefinitions[];\n registrations: ExtensionRegistrationRegistry | null;\n policyState: {\n mode: string;\n trust_mode: string;\n default_sandbox_profile: string;\n };\n}\n\ninterface ExtensionCommandContract {\n command: string;\n action: string;\n source: {\n layer: \"global\" | \"project\";\n name: string;\n } | null;\n description: string | null;\n intent: string | null;\n arguments: Array<{\n name: string;\n required: boolean;\n variadic: boolean;\n description: string | null;\n }>;\n flags: CliFlagContract[];\n examples: string[];\n failure_hints: string[];\n}\n\nconst LIST_COMMAND_NAMES = new Set([\n \"list\",\n \"list-all\",\n \"list-draft\",\n \"list-open\",\n \"list-in-progress\",\n \"list-blocked\",\n \"list-closed\",\n \"list-canceled\",\n]);\n\nconst PACKAGE_OWNED_ACTIONS = new Set<string>([\n \"calendar\",\n \"dedupe-audit\",\n \"dedupe-merge\",\n \"guide\",\n \"reindex\",\n \"normalize\",\n \"comments-audit\",\n \"completion\",\n \"test-runs-list\",\n \"test-runs-status\",\n \"test-runs-logs\",\n \"test-runs-stop\",\n \"test-runs-resume\",\n \"templates-list\",\n \"templates-save\",\n \"templates-show\",\n]);\n\nconst PACKAGE_OWNED_COMMANDS = new Set<string>([\n \"cal\",\n \"calendar\",\n \"comments-audit\",\n \"completion\",\n \"completion-statuses\",\n \"completion-tags\",\n \"completion-types\",\n \"dedupe-audit\",\n \"dedupe-merge\",\n \"guide\",\n \"normalize\",\n \"reindex\",\n \"templates\",\n \"templates list\",\n \"templates save\",\n \"templates show\",\n \"test-runs\",\n \"test-runs list\",\n \"test-runs status\",\n \"test-runs logs\",\n \"test-runs stop\",\n \"test-runs resume\",\n]);\n\nconst PACKAGE_OWNED_COMMAND_INSTALL_HINTS = new Map<string, string>([\n [\"cal\", \"calendar\"],\n [\"calendar\", \"calendar\"],\n [\"comments-audit\", \"governance-audit\"],\n [\"completion\", \"guide-shell\"],\n [\"completion-statuses\", \"guide-shell\"],\n [\"completion-tags\", \"guide-shell\"],\n [\"completion-types\", \"guide-shell\"],\n [\"dedupe-audit\", \"governance-audit\"],\n [\"dedupe-merge\", \"governance-audit\"],\n [\"guide\", \"guide-shell\"],\n [\"normalize\", \"governance-audit\"],\n [\"reindex\", \"search-advanced\"],\n [\"templates\", \"templates\"],\n [\"templates list\", \"templates\"],\n [\"templates save\", \"templates\"],\n [\"templates show\", \"templates\"],\n [\"test-runs\", \"linked-test-adapters\"],\n [\"test-runs list\", \"linked-test-adapters\"],\n [\"test-runs status\", \"linked-test-adapters\"],\n [\"test-runs logs\", \"linked-test-adapters\"],\n [\"test-runs stop\", \"linked-test-adapters\"],\n [\"test-runs resume\", \"linked-test-adapters\"],\n]);\n\nconst PACKAGE_OWNED_ACTION_COMMAND_PATHS = new Map<string, string>([\n [\"calendar\", \"calendar|cal\"],\n [\"dedupe-audit\", \"dedupe-audit\"],\n [\"dedupe-merge\", \"dedupe-merge\"],\n [\"guide\", \"guide\"],\n [\"reindex\", \"reindex\"],\n [\"normalize\", \"normalize\"],\n [\"comments-audit\", \"comments-audit\"],\n [\"completion\", \"completion\"],\n [\"test-runs-list\", \"test-runs|test-runs list\"],\n [\"test-runs-status\", \"test-runs status\"],\n [\"test-runs-logs\", \"test-runs logs\"],\n [\"test-runs-stop\", \"test-runs stop\"],\n [\"test-runs-resume\", \"test-runs resume\"],\n [\"templates-list\", \"templates|templates list\"],\n [\"templates-save\", \"templates save\"],\n [\"templates-show\", \"templates show\"],\n]);\n\nconst PACKAGE_OWNED_COMMAND_ACTIONS = new Map(\n [...PACKAGE_OWNED_ACTION_COMMAND_PATHS.entries()].flatMap(([action, commandPaths]) =>\n splitCommandPathAliases(commandPaths).map((commandPath) => [commandPath, action] as const),\n ),\n);\n\nconst CANONICAL_COMMAND_ALIASES: CommandAliasSurface[] = [\n {\n canonical: \"context\",\n aliases: [\"ctx\"],\n },\n {\n canonical: \"package\",\n aliases: [\"extension\", \"packages\", \"install\"],\n },\n];\n\nconst COMMAND_ALIAS_TO_CANONICAL = new Map(\n CANONICAL_COMMAND_ALIASES.flatMap((entry) =>\n entry.aliases.map((alias) => [alias, entry.canonical] as const),\n ),\n);\n\nconst COMMAND_NAMESPACE_DISPLAY_LIMIT = 10;\nconst COMMAND_NAMESPACE_FALLBACK_LIMIT = 20;\n\n// Lifecycle subcommand flag contracts for `pm extension`. Only `init` differs\n// between extension and package: `pm package init` / `pm packages init`\n// additionally accept the package-only `--declarative` flag, so the package\n// variant swaps in PACKAGE_INIT_FLAG_CONTRACTS while every other subcommand is\n// shared verbatim.\nconst EXTENSION_LIFECYCLE_FLAG_CONTRACTS: Array<readonly [string, CliFlagContract[]]> = [\n [\"init\", EXTENSION_INIT_FLAG_CONTRACTS],\n [\"install\", EXTENSION_INSTALL_FLAG_CONTRACTS],\n [\"uninstall\", EXTENSION_UNINSTALL_FLAG_CONTRACTS],\n [\"explore\", EXTENSION_EXPLORE_FLAG_CONTRACTS],\n [\"manage\", EXTENSION_MANAGE_FLAG_CONTRACTS],\n [\"describe\", EXTENSION_DESCRIBE_FLAG_CONTRACTS],\n [\"reload\", EXTENSION_RELOAD_FLAG_CONTRACTS],\n [\"doctor\", EXTENSION_DOCTOR_FLAG_CONTRACTS],\n [\"catalog\", EXTENSION_CATALOG_FLAG_CONTRACTS],\n [\"adopt\", EXTENSION_ADOPT_FLAG_CONTRACTS],\n [\"adopt-all\", EXTENSION_ADOPT_ALL_FLAG_CONTRACTS],\n [\"activate\", EXTENSION_ACTIVATE_FLAG_CONTRACTS],\n [\"deactivate\", EXTENSION_DEACTIVATE_FLAG_CONTRACTS],\n];\n\nconst PACKAGE_LIFECYCLE_FLAG_CONTRACTS: Array<readonly [string, CliFlagContract[]]> =\n EXTENSION_LIFECYCLE_FLAG_CONTRACTS.map(([subcommand, flags]) =>\n subcommand === \"init\" ? ([subcommand, PACKAGE_INIT_FLAG_CONTRACTS] as const) : ([subcommand, flags] as const),\n );\n\nconst CORE_COMMAND_FLAG_CONTRACT_ENTRIES: Array<readonly [string, CliFlagContract[]]> = [\n ...EXTENSION_LIFECYCLE_FLAG_CONTRACTS.map(([subcommand, flags]) => [`extension ${subcommand}`, flags] as const),\n ...PACKAGE_LIFECYCLE_FLAG_CONTRACTS.flatMap(([subcommand, flags]) => [\n [`package ${subcommand}`, flags] as const,\n [`packages ${subcommand}`, flags] as const,\n ]),\n [\"init\", INIT_FLAG_CONTRACTS],\n [\"config\", CONFIG_FLAG_CONTRACTS],\n [\"extension\", EXTENSION_FLAG_CONTRACTS],\n [\"package\", PACKAGE_FLAG_CONTRACTS],\n [\"packages\", PACKAGE_FLAG_CONTRACTS],\n [\"install\", INSTALL_FLAG_CONTRACTS],\n [\"create\", CREATE_FLAG_CONTRACTS],\n [\"update\", UPDATE_FLAG_CONTRACTS],\n [\"update-many\", UPDATE_MANY_FLAG_CONTRACTS],\n [\"upgrade\", UPGRADE_FLAG_CONTRACTS],\n [\"normalize\", NORMALIZE_FLAG_CONTRACTS],\n [\"calendar\", CALENDAR_FLAG_CONTRACTS],\n [\"cal\", CALENDAR_FLAG_CONTRACTS],\n [\"context\", CONTEXT_FLAG_CONTRACTS],\n [\"ctx\", CONTEXT_FLAG_CONTRACTS],\n [\"get\", GET_FLAG_CONTRACTS],\n [\"search\", SEARCH_FLAG_CONTRACTS],\n [\"eval\", EVAL_FLAG_CONTRACTS],\n [\"next\", NEXT_FLAG_CONTRACTS],\n [\"aggregate\", AGGREGATE_FLAG_CONTRACTS],\n [\"dedupe-audit\", DEDUPE_AUDIT_FLAG_CONTRACTS],\n [\"dedupe-merge\", DEDUPE_MERGE_FLAG_CONTRACTS],\n [\"deps\", DEPS_FLAG_CONTRACTS],\n [\"guide\", GUIDE_FLAG_CONTRACTS],\n [\"reindex\", REINDEX_FLAG_CONTRACTS],\n [\"history\", HISTORY_FLAG_CONTRACTS],\n [\"history-compact\", HISTORY_COMPACT_FLAG_CONTRACTS],\n [\"history-redact\", HISTORY_REDACT_FLAG_CONTRACTS],\n [\"history-repair\", HISTORY_REPAIR_FLAG_CONTRACTS],\n [\"schema\", SCHEMA_FLAG_CONTRACTS],\n [\"profile\", PROFILE_FLAG_CONTRACTS],\n [\"plan\", PLAN_FLAG_CONTRACTS],\n [\"restore\", RESTORE_FLAG_CONTRACTS],\n [\"delete\", DELETE_FLAG_CONTRACTS],\n [\"close\", CLOSE_FLAG_CONTRACTS],\n [\"close-many\", CLOSE_MANY_FLAG_CONTRACTS],\n [\"append\", APPEND_FLAG_CONTRACTS],\n [\"claim\", CLAIM_FLAG_CONTRACTS],\n [\"release\", RELEASE_FLAG_CONTRACTS],\n [\"start-task\", START_TASK_FLAG_CONTRACTS],\n [\"pause-task\", PAUSE_TASK_FLAG_CONTRACTS],\n [\"close-task\", CLOSE_TASK_FLAG_CONTRACTS],\n [\"comments\", COMMENTS_FLAG_CONTRACTS],\n [\"notes\", NOTES_FLAG_CONTRACTS],\n [\"learnings\", LEARNINGS_FLAG_CONTRACTS],\n [\"files\", FILES_FLAG_CONTRACTS],\n [\"docs\", DOCS_FLAG_CONTRACTS],\n [\"test\", TEST_FLAG_CONTRACTS],\n [\"test-all\", TEST_ALL_FLAG_CONTRACTS],\n [\"telemetry\", TELEMETRY_FLAG_CONTRACTS],\n [\"test-runs\", TEST_RUNS_FLAG_CONTRACTS],\n [\"gc\", GC_FLAG_CONTRACTS],\n [\"stats\", STATS_FLAG_CONTRACTS],\n [\"validate\", VALIDATE_FLAG_CONTRACTS],\n [\"comments-audit\", COMMENTS_AUDIT_FLAG_CONTRACTS],\n [\"health\", HEALTH_FLAG_CONTRACTS],\n [\"contracts\", CONTRACTS_FLAG_CONTRACTS],\n [\"completion\", COMPLETION_FLAG_CONTRACTS],\n [\"activity\", ACTIVITY_FLAG_CONTRACTS],\n ...[...LIST_COMMAND_NAMES].map((command) => [command, LIST_FILTER_FLAG_CONTRACTS] as const),\n];\n\nconst CORE_COMMAND_FLAG_CONTRACTS_BY_COMMAND = new Map(CORE_COMMAND_FLAG_CONTRACT_ENTRIES);\n\n/* c8 ignore start -- extension contract shaping utilities are exercised by dedicated extension/runtime integration suites. */\nfunction packageOwnedActionForCommand(command: string): string {\n const exactAction = PACKAGE_OWNED_COMMAND_ACTIONS.get(command);\n if (exactAction) {\n return exactAction;\n }\n if (command.startsWith(\"test-runs \")) {\n return `test-runs-${command.slice(\"test-runs \".length)}`;\n }\n if (command.startsWith(\"templates \")) {\n return `templates-${command.slice(\"templates \".length)}`;\n }\n return command;\n}\n\nfunction resolveActionCommandPath(action: PmToolAction): string | null {\n if (\n PM_CORE_COMMAND_NAMES.includes(\n action as (typeof PM_CORE_COMMAND_NAMES)[number],\n )\n ) {\n return normalizeCommandPath(action);\n }\n if (action.startsWith(\"extension-\")) {\n return normalizeCommandPath(\n `extension ${action.slice(\"extension-\".length)}`,\n );\n }\n if (action.startsWith(\"package-\")) {\n return normalizeCommandPath(`package ${action.slice(\"package-\".length)}`);\n }\n if (action.startsWith(\"test-runs-\")) {\n return normalizeCommandPath(\n `test-runs ${action.slice(\"test-runs-\".length)}`,\n );\n }\n if (action.startsWith(\"templates-\")) {\n return normalizeCommandPath(\n `templates ${action.slice(\"templates-\".length)}`,\n );\n }\n if (PACKAGE_OWNED_ACTIONS.has(action)) {\n return PACKAGE_OWNED_ACTION_COMMAND_PATHS.get(action) ?? normalizeCommandPath(action);\n }\n return null;\n}\n\nfunction actionDescriptorMatchesSelectedCommand(\n descriptor: ActionContractDescriptor,\n selectedCommand: string,\n): boolean {\n if (descriptor.command_path === null) {\n return false;\n }\n return splitCommandPathAliases(descriptor.command_path).some((commandPath) => {\n if (commandPath === selectedCommand) {\n return true;\n }\n return commandPath.startsWith(`${selectedCommand} `);\n });\n}\n\nfunction splitCommandPathAliases(commandPath: string): string[] {\n return commandPath\n .split(\"|\")\n .map((entry) => normalizeCommandPath(entry))\n .filter((entry) => entry.length > 0);\n}\n\nfunction resolveScopedCommandsFromActionDescriptors(\n descriptors: ActionContractDescriptor[],\n commandCatalog: string[],\n): string[] {\n const commandSet = new Set(commandCatalog);\n const scoped = new Set<string>();\n for (const descriptor of descriptors) {\n if (!descriptor.command_path) {\n continue;\n }\n for (const commandPath of splitCommandPathAliases(descriptor.command_path)) {\n const tokens = commandPath.split(\" \").filter((entry) => entry.length > 0);\n if (tokens.length === 0) {\n continue;\n }\n for (let end = tokens.length; end > 0; end -= 1) {\n const candidate = tokens.slice(0, end).join(\" \");\n if (!commandSet.has(candidate)) {\n continue;\n }\n scoped.add(candidate);\n break;\n }\n }\n }\n return [...scoped].sort((left, right) => left.localeCompare(right));\n}\n\nfunction normalizeToken(value: string | undefined): string | undefined {\n if (typeof value !== \"string\") {\n return undefined;\n }\n const trimmed = value.trim().toLowerCase();\n return trimmed.length > 0 ? trimmed : undefined;\n}\n\nfunction extractActionBranches(\n schema: Record<string, unknown>,\n): Record<string, unknown>[] {\n const oneOf = schema.oneOf;\n if (!Array.isArray(oneOf)) {\n return [];\n }\n return oneOf.filter(\n (entry): entry is Record<string, unknown> =>\n typeof entry === \"object\" && entry !== null,\n );\n}\n\nfunction filterSchemaByAction(\n schema: Record<string, unknown>,\n action: string | undefined,\n): Record<string, unknown> {\n if (!action) {\n return { ...schema };\n }\n const branches = extractActionBranches(schema);\n const filtered = branches.filter((entry) => {\n const properties = entry.properties;\n if (typeof properties !== \"object\" || properties === null) {\n return false;\n }\n const actionProperty = (properties as Record<string, unknown>).action;\n if (typeof actionProperty !== \"object\" || actionProperty === null) {\n return false;\n }\n return (actionProperty as { const?: unknown }).const === action;\n });\n return {\n ...schema,\n oneOf: filtered,\n };\n}\n\nfunction filterSchemaByActions(\n schema: Record<string, unknown>,\n actions: ReadonlySet<string>,\n): Record<string, unknown> {\n const branches = extractActionBranches(schema);\n const filtered = branches.filter((entry) => {\n const properties = entry.properties;\n if (typeof properties !== \"object\" || properties === null) {\n return false;\n }\n const actionProperty = (properties as Record<string, unknown>).action;\n if (typeof actionProperty !== \"object\" || actionProperty === null) {\n return false;\n }\n const actionConst = (actionProperty as { const?: unknown }).const;\n return typeof actionConst === \"string\" && actions.has(actionConst);\n });\n return {\n ...schema,\n oneOf: filtered,\n };\n}\n\nfunction normalizeCommandPath(value: string): string {\n return value\n .trim()\n .toLowerCase()\n .split(/\\s+/)\n .filter((entry) => entry.length > 0)\n .join(\" \");\n}\n\nfunction normalizeActionNameFromCommand(commandPath: string): string {\n return commandPath.replace(/\\s+/g, \"-\");\n}\n\nfunction toOptionalTrimmedString(value: unknown): string | null {\n if (typeof value !== \"string\") {\n return null;\n }\n const trimmed = value.trim();\n return trimmed.length > 0 ? trimmed : null;\n}\n\nfunction normalizeStringList(values: string[] | undefined): string[] {\n if (!Array.isArray(values)) {\n return [];\n }\n const normalized: string[] = [];\n const seen = new Set<string>();\n for (const value of values) {\n const trimmed = toOptionalTrimmedString(value);\n if (!trimmed || seen.has(trimmed)) {\n continue;\n }\n seen.add(trimmed);\n normalized.push(trimmed);\n }\n return normalized;\n}\n\nfunction assignExtensionFlagBoolean(\n contract: CliFlagContract,\n key: \"required\" | \"repeatable\" | \"list\",\n enabled: boolean,\n): void {\n if (enabled) {\n contract[key] = true;\n }\n}\n\nfunction toExtensionFlagContract(\n definition: Record<string, unknown>,\n): CliFlagContract | null {\n const longName = toOptionalTrimmedString(definition.long);\n const shortName = toOptionalTrimmedString(definition.short);\n const normalizedLong =\n longName && longName.startsWith(\"--\") && longName.length > 2\n ? longName\n : null;\n const normalizedShort =\n shortName && shortName.startsWith(\"-\") && !shortName.startsWith(\"--\")\n ? shortName\n : null;\n const flag = normalizedLong ?? normalizedShort;\n if (!flag) {\n return null;\n }\n const contract: CliFlagContract = { flag };\n if (normalizedShort && normalizedLong) {\n contract.short = normalizedShort;\n }\n assignExtensionFlagBoolean(contract, \"required\", definition.required === true);\n assignExtensionFlagBoolean(contract, \"repeatable\", definition.repeatable === true);\n assignExtensionFlagBoolean(contract, \"list\", definition.list === true);\n const description = toOptionalTrimmedString(definition.description);\n if (description) {\n contract.description = description;\n }\n const valueName = toOptionalTrimmedString(definition.value_name);\n if (valueName) {\n contract.value_name = valueName;\n }\n const rawValueType = [\n toOptionalTrimmedString(definition.value_type),\n toOptionalTrimmedString(definition.type),\n valueName ? \"string\" : null,\n ].find((candidate): candidate is \"string\" | \"number\" | \"boolean\" =>\n candidate === \"string\" || candidate === \"number\" || candidate === \"boolean\",\n );\n if (rawValueType) {\n contract.value_type = rawValueType;\n }\n return contract;\n}\n\nfunction collectExtensionFlagContractsByCommand(\n registrations: RegisteredExtensionFlagDefinitions[],\n): Map<\n string,\n {\n flags: CliFlagContract[];\n sources: Array<{ layer: \"global\" | \"project\"; name: string }>;\n }\n> {\n const grouped = new Map<\n string,\n {\n flags: CliFlagContract[];\n sources: Array<{ layer: \"global\" | \"project\"; name: string }>;\n dedupe: Set<string>;\n sourceDedupe: Set<string>;\n }\n >();\n for (const registration of registrations) {\n const commandPath = normalizeCommandPath(registration.target_command);\n if (commandPath.length === 0) {\n continue;\n }\n const bucket = grouped.get(commandPath) ?? {\n flags: [],\n sources: [],\n dedupe: new Set<string>(),\n sourceDedupe: new Set<string>(),\n };\n const sourceKey = `${registration.layer}:${registration.name}`;\n if (!bucket.sourceDedupe.has(sourceKey)) {\n bucket.sourceDedupe.add(sourceKey);\n bucket.sources.push({\n layer: registration.layer,\n name: registration.name,\n });\n }\n for (const definition of registration.flags) {\n const contract = toExtensionFlagContract(definition);\n if (!contract) {\n continue;\n }\n const key = `${contract.flag}|${contract.short ?? \"\"}`;\n if (bucket.dedupe.has(key)) {\n continue;\n }\n bucket.dedupe.add(key);\n bucket.flags.push(contract);\n }\n grouped.set(commandPath, bucket);\n }\n const normalized = new Map<\n string,\n {\n flags: CliFlagContract[];\n sources: Array<{ layer: \"global\" | \"project\"; name: string }>;\n }\n >();\n for (const [commandPath, bucket] of grouped.entries()) {\n normalized.set(commandPath, {\n flags: bucket.flags,\n sources: bucket.sources.sort((left, right) => {\n const layerOrder = left.layer.localeCompare(right.layer);\n if (layerOrder !== 0) {\n return layerOrder;\n }\n return (left.name ?? \"\").localeCompare(right.name ?? \"\");\n }),\n });\n }\n return normalized;\n}\n\nfunction collectExtensionCommandContracts(\n runtimeProbe: RuntimeExtensionActionProbe,\n): ExtensionCommandContract[] {\n const flagsByCommand = collectExtensionFlagContractsByCommand(\n runtimeProbe.flagRegistrations,\n );\n const definitionsByCommand = new Map<string, ExtensionCommandContract>();\n for (const definition of runtimeProbe.commandDefinitions) {\n const command = normalizeCommandPath(definition.command);\n if (command.length === 0) {\n continue;\n }\n const action =\n toOptionalTrimmedString(definition.action) ??\n normalizeActionNameFromCommand(command);\n const args = Array.isArray(definition.arguments)\n ? definition.arguments\n .map((argument) => {\n const name = toOptionalTrimmedString(argument.name);\n if (!name) {\n return null;\n }\n return {\n name,\n required: argument.required === true,\n variadic: argument.variadic === true,\n description: toOptionalTrimmedString(argument.description),\n };\n })\n .filter(\n (\n argument,\n ): argument is {\n name: string;\n required: boolean;\n variadic: boolean;\n description: string | null;\n } => argument !== null,\n )\n : [];\n definitionsByCommand.set(command, {\n command,\n action,\n source: {\n layer: definition.layer,\n name: definition.name,\n },\n description: toOptionalTrimmedString(definition.description),\n intent: toOptionalTrimmedString(definition.intent),\n arguments: args,\n flags: flagsByCommand.get(command)?.flags ?? [],\n examples: normalizeStringList(definition.examples),\n failure_hints: normalizeStringList(definition.failure_hints),\n });\n }\n\n const extensionCommands = new Set<string>();\n for (const command of runtimeProbe.handlers) {\n extensionCommands.add(normalizeCommandPath(command));\n }\n for (const command of definitionsByCommand.keys()) {\n extensionCommands.add(command);\n }\n for (const command of flagsByCommand.keys()) {\n extensionCommands.add(command);\n }\n\n const contracts: ExtensionCommandContract[] = [];\n for (const command of [...extensionCommands].sort((left, right) =>\n left.localeCompare(right),\n )) {\n const definition = definitionsByCommand.get(command);\n if (definition) {\n contracts.push({\n ...definition,\n flags:\n definition.flags.length > 0\n ? definition.flags\n : (flagsByCommand.get(command)?.flags ?? []),\n });\n continue;\n }\n contracts.push({\n command,\n action: normalizeActionNameFromCommand(command),\n source: null,\n description: null,\n intent: null,\n arguments: [],\n flags: flagsByCommand.get(command)?.flags ?? [],\n examples: [],\n failure_hints: [],\n });\n }\n return contracts;\n}\n\nfunction extensionSchemaPropertyNameFromFlag(\n flag: CliFlagContract,\n): string | null {\n const normalized = flag.flag.replace(/^-+/, \"\").trim();\n if (normalized.length === 0) {\n return null;\n }\n const camelCased = normalized.replace(\n /-([a-z0-9])/g,\n (_match, char: string) => char.toUpperCase(),\n );\n const cleaned = camelCased.replace(/[^a-zA-Z0-9]/g, \"\");\n return cleaned.length > 0 ? cleaned : null;\n}\n\nfunction buildExtensionArgumentSchema(\n argument: ExtensionCommandContract[\"arguments\"][number],\n action: string,\n): Record<string, unknown> {\n if (argument.variadic) {\n return {\n type: \"array\",\n items: { type: \"string\" },\n description:\n argument.description ??\n `Variadic argument '${argument.name}' for extension action '${action}'.`,\n };\n }\n return {\n type: \"string\",\n description:\n argument.description ??\n `Argument '${argument.name}' for extension action '${action}'.`,\n };\n}\n\nfunction buildExtensionFlagSchema(flag: CliFlagContract, action: string): Record<string, unknown> {\n const valueType = flag.value_type ?? \"boolean\";\n const schemaType = valueType === \"boolean\" ? \"boolean\" : valueType === \"number\" ? [\"number\", \"string\"] : \"string\";\n const acceptsMultipleValues = flag.repeatable === true || flag.list === true;\n return {\n type: acceptsMultipleValues ? \"array\" : schemaType,\n ...(acceptsMultipleValues ? { items: { type: schemaType } } : {}),\n description: flag.description ?? `Extension option '${flag.flag}' for action '${action}'.`,\n };\n}\n\nfunction buildExtensionActionSchemaBranch(\n contract: ExtensionCommandContract,\n): Record<string, unknown> {\n const commands = contract.command\n .split(\"|\")\n .map((command) => command.trim())\n .filter((command) => command.length > 0);\n const properties: Record<string, unknown> = {\n action: {\n type: \"string\",\n const: contract.action,\n description:\n contract.intent ??\n contract.description ??\n `Invoke extension command '${contract.command}'.`,\n },\n };\n const required: string[] = [\"action\"];\n for (const argument of contract.arguments) {\n properties[argument.name] = buildExtensionArgumentSchema(argument, contract.action);\n if (argument.required) {\n required.push(argument.name);\n }\n }\n for (const flag of contract.flags) {\n const propertyName = extensionSchemaPropertyNameFromFlag(flag);\n if (!propertyName || properties[propertyName] !== undefined) {\n continue;\n }\n properties[propertyName] = buildExtensionFlagSchema(flag, contract.action);\n if (flag.required === true) {\n required.push(propertyName);\n }\n }\n\n return {\n type: \"object\",\n properties,\n required,\n additionalProperties: true,\n \"x-extension-source\": contract.source,\n \"x-extension-command\": commands[0] ?? contract.command,\n \"x-extension-commands\": commands,\n };\n}\n\nfunction mergeExtensionFlagContract(existing: CliFlagContract, incoming: CliFlagContract): void {\n existing.description ??= incoming.description;\n existing.value_name ??= incoming.value_name;\n existing.value_type ??= incoming.value_type;\n if (incoming.required === true) {\n existing.required = true;\n }\n if (incoming.repeatable === true) {\n existing.repeatable = true;\n }\n}\n\nfunction mergeExtensionContractsByAction(\n contracts: ExtensionCommandContract[],\n): ExtensionCommandContract[] {\n const byAction = new Map<string, ExtensionCommandContract>();\n for (const contract of contracts) {\n const existing = byAction.get(contract.action);\n if (!existing) {\n byAction.set(contract.action, {\n ...contract,\n flags: [...contract.flags],\n examples: [...contract.examples],\n failure_hints: [...contract.failure_hints],\n });\n continue;\n }\n existing.command = [...new Set([existing.command, contract.command])]\n .sort((left, right) => left.localeCompare(right))\n .join(\"|\");\n existing.arguments = existing.arguments.length >= contract.arguments.length ? existing.arguments : contract.arguments;\n const flagKeys = new Set(existing.flags.map((flag) => `${flag.flag}|${flag.short ?? \"\"}`));\n for (const flag of contract.flags) {\n const key = `${flag.flag}|${flag.short ?? \"\"}`;\n if (!flagKeys.has(key)) {\n flagKeys.add(key);\n existing.flags.push(flag);\n } else {\n const existingFlag = existing.flags.find((candidate) => `${candidate.flag}|${candidate.short ?? \"\"}` === key);\n if (existingFlag) {\n mergeExtensionFlagContract(existingFlag, flag);\n }\n }\n }\n existing.examples = [...new Set([...existing.examples, ...contract.examples])];\n existing.failure_hints = [...new Set([...existing.failure_hints, ...contract.failure_hints])];\n }\n return [...byAction.values()].sort((left, right) => left.action.localeCompare(right.action));\n}\n/* c8 ignore stop */\n\nasync function resolveRuntimeExtensionActionProbe(\n global: GlobalOptions,\n): Promise<RuntimeExtensionActionProbe> {\n const defaultPolicyState = {\n mode: SETTINGS_DEFAULTS.extensions.policy.mode,\n trust_mode: SETTINGS_DEFAULTS.extensions.policy.trust_mode,\n default_sandbox_profile:\n SETTINGS_DEFAULTS.extensions.policy.default_sandbox_profile,\n };\n if (global.noExtensions) {\n return {\n handlers: new Set<string>(),\n disabledReason: \"extensions_disabled\",\n commandDefinitions: [],\n flagRegistrations: [],\n registrations: null,\n policyState: defaultPolicyState,\n };\n }\n\n const pmRoot = resolvePmRoot(process.cwd(), global.path);\n if (!(await pathExists(getSettingsPath(pmRoot)))) {\n return {\n handlers: new Set<string>(),\n disabledReason: null,\n commandDefinitions: [],\n flagRegistrations: [],\n registrations: null,\n policyState: defaultPolicyState,\n };\n }\n\n try {\n const settings = await readSettings(pmRoot);\n const loadResult = await loadExtensions({\n pmRoot,\n settings,\n cwd: process.cwd(),\n noExtensions: false,\n });\n const activationResult = await activateExtensions({\n ...loadResult,\n loaded: loadResult.loaded,\n });\n const handlers = new Set<string>(\n activationResult.commands.handlers.map((entry) =>\n normalizeCommandPath(entry.command),\n ),\n );\n return {\n handlers,\n disabledReason: null,\n commandDefinitions: activationResult.registrations.commands,\n flagRegistrations: activationResult.registrations.flags,\n registrations: activationResult.registrations,\n policyState: {\n mode: loadResult.policy.mode,\n trust_mode: loadResult.policy.trust_mode,\n default_sandbox_profile: loadResult.policy.default_sandbox_profile,\n },\n };\n } catch {\n return {\n handlers: new Set<string>(),\n disabledReason: \"extension_runtime_probe_failed\",\n commandDefinitions: [],\n flagRegistrations: [],\n registrations: null,\n policyState: defaultPolicyState,\n };\n }\n}\n\ninterface ActionContractDescriptor {\n action: string;\n provider: \"core\" | \"extension\";\n requires_extension: boolean;\n command_path: string | null;\n}\n\nfunction collectActionContractDescriptors(\n extensionContracts: ExtensionCommandContract[],\n options: { includePackageOwnedActions?: boolean } = {},\n): ActionContractDescriptor[] {\n /* c8 ignore start -- package-owned action descriptor permutations are covered in package-install integration suites. */\n const descriptors = new Map<string, ActionContractDescriptor>();\n for (const action of PM_TOOL_ACTIONS) {\n const packageOwned = PACKAGE_OWNED_ACTIONS.has(action);\n if (packageOwned && !options.includePackageOwnedActions) {\n continue;\n }\n const commandPath = resolveActionCommandPath(action as PmToolAction);\n descriptors.set(action, {\n action,\n provider: packageOwned ? \"extension\" : \"core\",\n requires_extension: packageOwned,\n command_path: commandPath,\n });\n }\n if (options.includePackageOwnedActions) {\n for (const action of PACKAGE_OWNED_ACTIONS) {\n if (descriptors.has(action)) {\n continue;\n }\n descriptors.set(action, {\n action,\n provider: \"extension\",\n requires_extension: true,\n command_path: resolveActionCommandPath(action as PmToolAction),\n });\n }\n }\n for (const contract of extensionContracts) {\n if (descriptors.has(contract.action)) {\n continue;\n }\n descriptors.set(contract.action, {\n action: contract.action,\n provider: \"extension\",\n requires_extension: true,\n command_path: normalizeCommandPath(contract.command),\n });\n }\n return [...descriptors.values()].sort((left, right) =>\n (left.action ?? \"\").localeCompare(right.action ?? \"\"),\n );\n /* c8 ignore stop */\n}\n\nfunction resolveActionAvailability(\n descriptor: ActionContractDescriptor,\n runtimeProbe: RuntimeExtensionActionProbe,\n): ContractsActionAvailability {\n /* c8 ignore start -- runtime extension availability branches are exercised in extension policy integration tests. */\n if (descriptor.provider === \"core\" && !descriptor.requires_extension) {\n return {\n action: descriptor.action,\n invocable: true,\n available: true,\n requires_extension: false,\n provider: \"core\",\n disabled_reason: null,\n command_path: descriptor.command_path,\n cli_exposed: descriptor.command_path !== null,\n };\n }\n\n const commandPaths = descriptor.command_path\n ? splitCommandPathAliases(descriptor.command_path)\n : [];\n const extensionCommandAvailable = commandPaths.some((commandPath) =>\n runtimeProbe.handlers.has(commandPath),\n );\n const optionalPackageHint = commandPaths\n .map((commandPath) => PACKAGE_OWNED_COMMAND_INSTALL_HINTS.get(commandPath))\n .find((hint): hint is string => typeof hint === \"string\");\n const invocable =\n runtimeProbe.disabledReason === null && extensionCommandAvailable;\n return {\n action: descriptor.action,\n invocable,\n available: invocable,\n requires_extension: true,\n provider: \"extension\",\n disabled_reason: invocable\n ? null\n : (runtimeProbe.disabledReason ?? (optionalPackageHint ? `optional_package_not_installed:${optionalPackageHint}` : \"extension_command_not_registered\")),\n command_path: descriptor.command_path,\n cli_exposed: extensionCommandAvailable,\n policy_state: {\n mode: runtimeProbe.policyState.mode,\n trust_mode: runtimeProbe.policyState.trust_mode,\n default_sandbox_profile: runtimeProbe.policyState.default_sandbox_profile,\n },\n };\n /* c8 ignore stop */\n}\n\nfunction resolveCoreCommandFlags(command: string): CliFlagContract[] {\n return CORE_COMMAND_FLAG_CONTRACTS_BY_COMMAND.get(command) ?? GLOBAL_FLAG_CONTRACTS;\n}\n\nfunction isCoreCommandPath(command: string): boolean {\n if (PACKAGE_OWNED_COMMANDS.has(command)) {\n return false;\n }\n return CORE_COMMAND_FLAG_CONTRACTS_BY_COMMAND.has(command);\n}\n\nfunction normalizeCommandForRuntimeFieldFlags(command: string): string {\n if (LIST_COMMAND_NAMES.has(command)) {\n return \"list\";\n }\n if (command === \"cal\") {\n return \"calendar\";\n }\n if (command === \"ctx\") {\n return \"context\";\n }\n if (command === \"update-many\") {\n return \"update_many\";\n }\n return command;\n}\n\nfunction toRuntimeLongFlagToken(token: string): string | null {\n const trimmed = token.trim();\n if (!trimmed) {\n return null;\n }\n if (trimmed.startsWith(\"--\")) {\n return trimmed;\n }\n if (trimmed.startsWith(\"-\")) {\n return null;\n }\n return `--${trimmed}`;\n}\n\nfunction toRuntimeShortFlagToken(token: string): string | null {\n const trimmed = token.trim();\n if (!trimmed) {\n return null;\n }\n if (trimmed.startsWith(\"--\")) {\n return null;\n }\n if (trimmed.startsWith(\"-\")) {\n return trimmed;\n }\n return null;\n}\n\nfunction buildRuntimeFieldFlagContracts(\n fieldRegistry: RuntimeFieldRegistry,\n): Map<string, CliFlagContract[]> {\n /* c8 ignore start -- runtime-field alias collision branches are validated in schema/runtime flag integration tests. */\n const buckets = new Map<\n string,\n { flags: CliFlagContract[]; seen: Set<string> }\n >();\n for (const definition of fieldRegistry.definitions) {\n const primaryFlag = toRuntimeLongFlagToken(definition.cli_flag);\n if (!primaryFlag) {\n continue;\n }\n const shortAlias = definition.cli_aliases\n .map((alias) => toRuntimeShortFlagToken(alias))\n .find((alias) => alias !== null);\n const longAliases = definition.cli_aliases\n .map((alias) => toRuntimeLongFlagToken(alias))\n .filter(\n (alias): alias is string => alias !== null && alias !== primaryFlag,\n );\n for (const command of definition.commands) {\n const bucket = buckets.get(command) ?? {\n flags: [],\n seen: new Set<string>(),\n };\n const primaryContract: CliFlagContract = shortAlias\n ? { flag: primaryFlag, short: shortAlias }\n : { flag: primaryFlag };\n const primaryKey = `${primaryContract.flag}|${primaryContract.short ?? \"\"}`;\n if (!bucket.seen.has(primaryKey)) {\n bucket.seen.add(primaryKey);\n bucket.flags.push(primaryContract);\n }\n for (const alias of longAliases) {\n const key = `${alias}|`;\n if (bucket.seen.has(key)) {\n continue;\n }\n bucket.seen.add(key);\n bucket.flags.push({ flag: alias });\n }\n buckets.set(command, bucket);\n }\n }\n const result = new Map<string, CliFlagContract[]>();\n for (const [command, bucket] of buckets.entries()) {\n result.set(command, compactFlagAliasContracts(bucket.flags));\n }\n return result;\n /* c8 ignore stop */\n}\n\nfunction mergeFlagContracts(\n primary: CliFlagContract[],\n secondary: CliFlagContract[],\n): CliFlagContract[] {\n /* c8 ignore start -- flag merge dedupe permutations are covered via command-surface integration fixtures. */\n const merged: CliFlagContract[] = [];\n const seen = new Set<string>();\n for (const contract of [...primary, ...secondary]) {\n const key = `${contract.flag}|${contract.short ?? \"\"}`;\n if (seen.has(key)) {\n continue;\n }\n seen.add(key);\n merged.push(contract);\n }\n return compactFlagAliasContracts(merged);\n /* c8 ignore stop */\n}\n\nfunction buildCommandFlagSurface(\n commands: string[],\n extensionFlagMap: ReturnType<typeof collectExtensionFlagContractsByCommand>,\n runtimeFieldFlagMap: Map<string, CliFlagContract[]>,\n): CommandFlagSurface[] {\n return commands\n .map((command) => {\n const isCoreCommand = isCoreCommandPath(command);\n const coreFlags = isCoreCommand ? resolveCoreCommandFlags(command) : [];\n const runtimeFlags =\n runtimeFieldFlagMap.get(\n normalizeCommandForRuntimeFieldFlags(command),\n ) ?? [];\n const extensionFlags = extensionFlagMap.get(command);\n const coreWithRuntime = mergeFlagContracts(coreFlags, runtimeFlags);\n const flags = mergeFlagContracts(\n coreWithRuntime,\n extensionFlags?.flags ?? [],\n );\n const provider: CommandFlagSurface[\"provider\"] =\n coreFlags.length > 0 && (extensionFlags?.flags.length ?? 0) > 0\n ? \"mixed\"\n : isCoreCommand\n ? \"core\"\n : \"extension\";\n return {\n command,\n flags,\n provider,\n extension_sources: extensionFlags?.sources,\n };\n })\n .sort((left, right) => left.command.localeCompare(right.command));\n}\n\nfunction compactCommandAliasSurface(commands: string[]): string[] {\n const commandSet = new Set(commands);\n const result: string[] = [];\n for (const command of commands) {\n const canonical = COMMAND_ALIAS_TO_CANONICAL.get(command);\n if (canonical && commandSet.has(canonical)) {\n continue;\n }\n result.push(command);\n }\n return result;\n}\n\nfunction buildCommandAliasSurface(commands: string[]): CommandAliasSurface[] {\n const commandSet = new Set(commands);\n return CANONICAL_COMMAND_ALIASES.map((entry) => ({\n canonical: entry.canonical,\n aliases: entry.aliases.filter((alias) => commandSet.has(alias)),\n })).filter(\n (entry) => commandSet.has(entry.canonical) && entry.aliases.length > 0,\n );\n}\n\nfunction buildCommanderAliasSurface(): Record<\n string,\n CommanderOptionAliasContract[]\n> {\n return {\n create_string_options: CREATE_COMMANDER_STRING_OPTION_CONTRACTS,\n create_repeatable_options: CREATE_COMMANDER_REPEATABLE_OPTION_CONTRACTS,\n update_string_options: UPDATE_COMMANDER_STRING_OPTION_CONTRACTS,\n update_repeatable_options: UPDATE_COMMANDER_REPEATABLE_OPTION_CONTRACTS,\n list_string_options: LIST_COMMANDER_STRING_OPTION_CONTRACTS,\n search_string_options: SEARCH_COMMANDER_STRING_OPTION_CONTRACTS,\n calendar_string_options: CALENDAR_COMMANDER_STRING_OPTION_CONTRACTS,\n context_string_options: CONTEXT_COMMANDER_STRING_OPTION_CONTRACTS,\n activity_string_options: ACTIVITY_COMMANDER_STRING_OPTION_CONTRACTS,\n };\n}\n\nfunction resolveCreateRequiredOptionContract(\n typeDefinition: ReturnType<typeof resolveItemTypeRegistry>[\"by_type\"][string],\n createMode: \"strict\" | \"progressive\",\n): {\n required_option_keys: string[];\n required_flags: string[];\n required_type_options: string[];\n policy_errors: string[];\n} {\n /* c8 ignore start -- create-option policy shaping is validated by dedicated create command contract fixtures. */\n const baseRequiredOptions = new Set<string>([\"title\", \"type\"]);\n if (createMode === \"strict\") {\n for (const field of typeDefinition.required_create_fields) {\n baseRequiredOptions.add(field);\n }\n for (const field of typeDefinition.required_create_repeatables) {\n baseRequiredOptions.add(field);\n }\n }\n const policyState = resolveCommandOptionPolicyState(\n typeDefinition,\n \"create\",\n baseRequiredOptions,\n );\n const requiredOptionKeys = [...new Set(policyState.required)].sort(\n (left, right) => left.localeCompare(right),\n );\n const requiredFlags = [\n ...new Set(\n requiredOptionKeys.map((option) =>\n commandOptionFlagLabel(\"create\", option),\n ),\n ),\n ].sort((left, right) => left.localeCompare(right));\n const requiredTypeOptions = [\n ...new Set(\n typeDefinition.options\n .filter((option) => option.required === true)\n .map((option) => option.key),\n ),\n ].sort((left, right) => left.localeCompare(right));\n return {\n required_option_keys: requiredOptionKeys,\n required_flags: requiredFlags,\n required_type_options: requiredTypeOptions,\n policy_errors: [...new Set(policyState.errors)].sort((left, right) =>\n left.localeCompare(right),\n ),\n };\n /* c8 ignore stop */\n}\n\nfunction buildCreateRequiredOptionContracts(\n typeRegistry: ReturnType<typeof resolveItemTypeRegistry>,\n): Record<string, unknown> {\n const byTypeStrict: Record<string, unknown> = {};\n const byTypeProgressive: Record<string, unknown> = {};\n for (const typeName of [...typeRegistry.types].sort((left, right) =>\n left.localeCompare(right),\n )) {\n const typeDefinition = typeRegistry.by_type[typeName];\n byTypeStrict[typeName] = resolveCreateRequiredOptionContract(\n typeDefinition,\n \"strict\",\n );\n byTypeProgressive[typeName] = resolveCreateRequiredOptionContract(\n typeDefinition,\n \"progressive\",\n );\n }\n return {\n default_create_mode: \"strict\",\n by_create_mode: {\n strict: {\n by_type: byTypeStrict,\n },\n progressive: {\n by_type: byTypeProgressive,\n },\n },\n };\n}\n\nfunction attachCreateRequiredOptionContracts(\n schema: Record<string, unknown>,\n metadata: Record<string, unknown>,\n): Record<string, unknown> {\n const branches = extractActionBranches(schema);\n if (branches.length === 0) {\n return schema;\n }\n let touched = false;\n const enrichedBranches = branches.map((branch) => {\n const properties = branch.properties;\n if (typeof properties !== \"object\" || properties === null) {\n return branch;\n }\n const actionProperty = (properties as Record<string, unknown>).action;\n if (typeof actionProperty !== \"object\" || actionProperty === null) {\n return branch;\n }\n if ((actionProperty as { const?: unknown }).const !== \"create\") {\n return branch;\n }\n touched = true;\n return {\n ...branch,\n \"x-create-required-options\": metadata,\n };\n });\n if (!touched) {\n return schema;\n }\n return {\n ...schema,\n oneOf: enrichedBranches,\n };\n}\n\ninterface ContractsSelection {\n selectedAction: string | undefined;\n selectedCommand: string | undefined;\n schemaOnly: boolean;\n flagsOnly: boolean;\n availabilityOnly: boolean;\n runtimeOnly: boolean;\n fullOutput: boolean;\n omitUnfilteredSchema: boolean;\n omitUnfilteredCommandFlags: boolean;\n omitUnfilteredCommanderAliases: boolean;\n}\n\ninterface ContractsRuntimeContext {\n settings: Awaited<ReturnType<typeof readSettings>>;\n runtimeProbe: RuntimeExtensionActionProbe;\n typeRegistry: ReturnType<typeof resolveItemTypeRegistry>;\n statusRegistry: ReturnType<typeof resolveRuntimeStatusRegistry>;\n runtimeFieldRegistry: RuntimeFieldRegistry;\n runtimeFieldFlagMap: Map<string, CliFlagContract[]>;\n createRequiredOptionContracts: Record<string, unknown>;\n extensionContracts: ExtensionCommandContract[];\n mergedExtensionContracts: ExtensionCommandContract[];\n extensionFlagMap: ReturnType<typeof collectExtensionFlagContractsByCommand>;\n}\n\ninterface ContractsActionContext {\n actionDescriptors: ActionContractDescriptor[];\n commandCatalog: string[];\n commandScopedDescriptors: ActionContractDescriptor[];\n scopedActionDescriptors: ActionContractDescriptor[];\n selectedPackageOwnedAction: string | undefined;\n actionAvailability: ContractsActionAvailability[];\n actions: string[];\n}\n\ninterface ContractsSchemaContext {\n mergedSchema: Record<string, unknown>;\n filteredSchema: Record<string, unknown>;\n}\n\nfunction resolveContractsSelection(options: ContractsCommandOptions): ContractsSelection {\n const schemaOnly = options.schemaOnly === true;\n const flagsOnly = options.flagsOnly === true;\n const availabilityOnly = options.availabilityOnly === true;\n const runtimeOnly = options.runtimeOnly === true;\n const fullOutput = options.full === true;\n const selectedAction = normalizeToken(options.action);\n const selectedCommand = normalizeToken(options.command);\n const unfilteredDefaultBriefMode =\n !fullOutput && !schemaOnly && !flagsOnly && !availabilityOnly && !selectedAction && !selectedCommand;\n return {\n selectedAction,\n selectedCommand,\n schemaOnly,\n flagsOnly,\n availabilityOnly,\n runtimeOnly,\n fullOutput,\n omitUnfilteredSchema: unfilteredDefaultBriefMode,\n omitUnfilteredCommandFlags: unfilteredDefaultBriefMode,\n omitUnfilteredCommanderAliases: unfilteredDefaultBriefMode,\n };\n}\n\nfunction assertSingleContractsProjection(selection: ContractsSelection): void {\n const projectionFlagsEnabled = [\n selection.schemaOnly,\n selection.flagsOnly,\n selection.availabilityOnly,\n ].filter((value) => value).length;\n if (projectionFlagsEnabled > 1) {\n throw new PmCliError(\n \"Choose only one projection flag: --schema-only, --flags-only, or --availability-only.\",\n EXIT_CODE.USAGE,\n );\n }\n}\n\nasync function readContractsSettings(pmRoot: string): Promise<Awaited<ReturnType<typeof readSettings>>> {\n try {\n return await readSettings(pmRoot);\n } catch {\n return structuredClone(SETTINGS_DEFAULTS);\n }\n}\n\nasync function resolveContractsRuntimeContext(\n global: GlobalOptions,\n pmRoot: string,\n): Promise<ContractsRuntimeContext> {\n const settings = await readContractsSettings(pmRoot);\n const runtimeProbe = await resolveRuntimeExtensionActionProbe(global);\n const typeRegistry = resolveItemTypeRegistry(\n settings,\n runtimeProbe.registrations ?? getActiveExtensionRegistrations(),\n );\n const runtimeFieldRegistry = resolveRuntimeFieldRegistry(settings.schema);\n const extensionContracts = collectExtensionCommandContracts(runtimeProbe);\n return {\n settings,\n runtimeProbe,\n typeRegistry,\n statusRegistry: resolveRuntimeStatusRegistry(settings.schema),\n runtimeFieldRegistry,\n runtimeFieldFlagMap: buildRuntimeFieldFlagContracts(runtimeFieldRegistry),\n createRequiredOptionContracts: buildCreateRequiredOptionContracts(typeRegistry),\n extensionContracts,\n mergedExtensionContracts: mergeExtensionContractsByAction(extensionContracts),\n extensionFlagMap: collectExtensionFlagContractsByCommand(runtimeProbe.flagRegistrations),\n };\n}\n\nfunction shouldIncludePackageOwnedActions(selection: ContractsSelection): boolean {\n return (\n selection.availabilityOnly &&\n ((selection.selectedAction !== undefined && PACKAGE_OWNED_ACTIONS.has(selection.selectedAction)) ||\n (selection.selectedCommand !== undefined && PACKAGE_OWNED_COMMANDS.has(selection.selectedCommand)))\n );\n}\n\nfunction collectContractsActionDescriptors(\n selection: ContractsSelection,\n mergedExtensionContracts: ExtensionCommandContract[],\n): ActionContractDescriptor[] {\n const actionDescriptors = collectActionContractDescriptors(mergedExtensionContracts, {\n includePackageOwnedActions: shouldIncludePackageOwnedActions(selection),\n });\n if (\n shouldIncludePackageOwnedActions(selection) &&\n selection.selectedCommand !== undefined &&\n PACKAGE_OWNED_COMMANDS.has(selection.selectedCommand) &&\n !actionDescriptors.some((entry) => entry.command_path === selection.selectedCommand)\n ) {\n actionDescriptors.push({\n action: packageOwnedActionForCommand(selection.selectedCommand),\n provider: \"extension\",\n requires_extension: true,\n command_path: selection.selectedCommand,\n });\n }\n return actionDescriptors;\n}\n\nfunction assertKnownContractsAction(selection: ContractsSelection, actionDescriptors: ActionContractDescriptor[]): void {\n const actionNames = new Set(actionDescriptors.map((entry) => entry.action));\n if (selection.selectedAction && !actionNames.has(selection.selectedAction)) {\n throw new PmCliError(`Unknown action: \"${selection.selectedAction}\".`, EXIT_CODE.USAGE);\n }\n}\n\nfunction buildContractsCommandCatalog(\n actionDescriptors: ActionContractDescriptor[],\n mergedExtensionContracts: ExtensionCommandContract[],\n): string[] {\n return [\n ...new Set([\n ...PM_CORE_COMMAND_NAMES.filter((entry) => !PACKAGE_OWNED_COMMANDS.has(entry)),\n ...[...CORE_COMMAND_FLAG_CONTRACTS_BY_COMMAND.keys()].filter((entry) => !PACKAGE_OWNED_COMMANDS.has(entry)),\n /* c8 ignore next -- action descriptors always include concrete command paths in command-scoped test fixtures. */\n ...actionDescriptors.flatMap((entry) => entry.command_path ? splitCommandPathAliases(entry.command_path) : []),\n ...mergedExtensionContracts.flatMap((entry) => entry.command.split(\"|\")),\n ]),\n ]\n .map((entry) => normalizeCommandPath(entry))\n .filter((entry) => entry.length > 0)\n .sort((left, right) => left.localeCompare(right));\n}\n\nfunction buildCommandNamespaceError(command: string, namespaceChildren: string[]): PmCliError {\n const displayedNamespaceChildren = namespaceChildren.slice(0, COMMAND_NAMESPACE_DISPLAY_LIMIT);\n const hiddenNamespaceChildCount = namespaceChildren.length - displayedNamespaceChildren.length;\n const displayedChildCommandList = hiddenNamespaceChildCount > 0\n ? `${displayedNamespaceChildren.join(\", \")}, and ${hiddenNamespaceChildCount} more`\n : displayedNamespaceChildren.join(\", \");\n const fallbackCandidates = namespaceChildren.slice(0, COMMAND_NAMESPACE_FALLBACK_LIMIT);\n const childCommandExamples = namespaceChildren\n .slice(0, 5)\n .map((childCommand) => `pm contracts --command \"${childCommand}\" --flags-only --json`);\n const suggestedChildCommand = namespaceChildren[0];\n return new PmCliError(\n `Command \"${command}\" is a command namespace. Choose a concrete child command: ${displayedChildCommandList}.`,\n EXIT_CODE.USAGE,\n {\n code: \"command_namespace\",\n required: \"Use a concrete child command path listed under this namespace.\",\n why:\n \"Command groups expose help at the namespace root, but command flag contracts belong to executable child commands.\",\n examples: childCommandExamples,\n nextSteps: [`Retry with a child command, for example: ${childCommandExamples[0]}`],\n recovery: {\n suggested_retry: `pm contracts --command \"${suggestedChildCommand}\" --flags-only --json`,\n fallback_candidates: fallbackCandidates.map((childCommand) => ({\n source: \"command_namespace\",\n command: `pm contracts --command \"${childCommand}\" --flags-only --json`,\n reason: `Child command under ${command}`,\n })),\n },\n },\n );\n}\n\nfunction buildPackageOwnedCommandError(command: string, packageHint: string): PmCliError {\n return new PmCliError(\n `Unknown command: \"${command}\". Command \"${command}\" is provided by the optional \"${packageHint}\" package. Run \"pm install ${packageHint} --project\" and retry.`,\n EXIT_CODE.USAGE,\n {\n code: \"unknown_command\",\n required: `Install the optional \"${packageHint}\" package, or choose a command from pm contracts --flags-only --json.`,\n why: \"Command contracts include core commands plus commands registered by active packages and extensions.\",\n examples: [`pm install ${packageHint} --project`, `pm contracts --command ${command} --flags-only --json`],\n nextSteps: [`Install the optional package first: pm install ${packageHint} --project`],\n recovery: {\n suggested_retry: `pm install ${packageHint} --project`,\n },\n },\n );\n}\n\nfunction buildUnknownCommandError(command: string): PmCliError {\n return new PmCliError(\n `Unknown command: \"${command}\".`,\n EXIT_CODE.USAGE,\n {\n code: \"unknown_command\",\n required: \"Use a command path listed by pm contracts --flags-only --json.\",\n why: \"Command contracts are generated from the active core, package, and extension command registry.\",\n examples: [\"pm contracts --flags-only --json\", \"pm --help\"],\n nextSteps: [\"Verify spelling and active packages/extensions, then rerun with a known command path.\"],\n recovery: {\n suggested_retry: \"pm contracts --flags-only --json\",\n },\n },\n );\n}\n\nfunction assertKnownContractsCommand(selection: ContractsSelection, commandCatalog: string[]): void {\n if (!selection.selectedCommand) {\n return;\n }\n const commandNames = new Set(commandCatalog);\n if (commandNames.has(selection.selectedCommand)) {\n return;\n }\n const namespaceChildren = commandCatalog.filter((command) => command.startsWith(`${selection.selectedCommand} `));\n if (namespaceChildren.length > 0) {\n throw buildCommandNamespaceError(selection.selectedCommand, namespaceChildren);\n }\n const packageHint = PACKAGE_OWNED_COMMAND_INSTALL_HINTS.get(selection.selectedCommand);\n if (packageHint) {\n throw buildPackageOwnedCommandError(selection.selectedCommand, packageHint);\n }\n throw buildUnknownCommandError(selection.selectedCommand);\n}\n\nfunction resolveContractsActionContext(\n selection: ContractsSelection,\n runtime: ContractsRuntimeContext,\n): ContractsActionContext {\n const actionDescriptors = collectContractsActionDescriptors(selection, runtime.mergedExtensionContracts);\n assertKnownContractsAction(selection, actionDescriptors);\n const commandCatalog = buildContractsCommandCatalog(actionDescriptors, runtime.mergedExtensionContracts);\n assertKnownContractsCommand(selection, commandCatalog);\n const selectedPackageOwnedAction = selection.selectedCommand\n ? PACKAGE_OWNED_COMMAND_ACTIONS.get(selection.selectedCommand)\n : undefined;\n const commandScopedDescriptors = selection.selectedCommand\n ? actionDescriptors.filter((descriptor) =>\n selectedPackageOwnedAction\n ? descriptor.action === selectedPackageOwnedAction\n : actionDescriptorMatchesSelectedCommand(descriptor, selection.selectedCommand as string),\n )\n : actionDescriptors;\n if (\n selection.selectedCommand &&\n selection.selectedAction &&\n !commandScopedDescriptors.some((descriptor) => descriptor.action === selection.selectedAction)\n ) {\n throw new PmCliError(\n `Action \"${selection.selectedAction}\" is not mapped to command \"${selection.selectedCommand}\" in contracts output.`,\n EXIT_CODE.USAGE,\n );\n }\n const scopedActionDescriptors = selection.selectedAction\n ? commandScopedDescriptors.filter((descriptor) => descriptor.action === selection.selectedAction)\n : commandScopedDescriptors;\n const allActionAvailability = [\n ...new Map(\n scopedActionDescriptors\n .map((descriptor) => resolveActionAvailability(descriptor, runtime.runtimeProbe))\n .map((entry) => [\n /* c8 ignore next -- keyed dedupe by action|path is covered by runtime policy integration tests. */\n selectedPackageOwnedAction ? entry.action : `${entry.action}|${entry.command_path ?? \"\"}`,\n entry,\n ] as const),\n ).values(),\n ];\n const actionAvailability =\n selection.runtimeOnly && !selection.selectedAction && !selection.availabilityOnly\n ? allActionAvailability.filter((entry) => entry.invocable)\n : allActionAvailability;\n return {\n actionDescriptors,\n commandCatalog,\n commandScopedDescriptors,\n scopedActionDescriptors,\n selectedPackageOwnedAction,\n actionAvailability,\n actions: [...new Set(actionAvailability.map((entry) => entry.action))],\n };\n}\n\nfunction buildSchemaActionSet(schema: Record<string, unknown>): Set<string> {\n return new Set(\n extractActionBranches(schema)\n .map((entry) => {\n const properties = entry.properties;\n /* c8 ignore start -- PM_TOOL_PARAMETERS_SCHEMA action branches always carry a properties object; the property-less fallback is validated in schema-level contract tests. */\n if (typeof properties !== \"object\" || properties === null) {\n return null;\n }\n /* c8 ignore stop */\n const actionProperty = (properties as Record<string, unknown>).action;\n /* c8 ignore start -- PM_TOOL_PARAMETERS_SCHEMA action branches always carry an action object; the missing-action fallback is validated in schema-level contract tests. */\n if (typeof actionProperty !== \"object\" || actionProperty === null) {\n return null;\n }\n /* c8 ignore stop */\n const actionConst = (actionProperty as { const?: unknown }).const;\n /* c8 ignore start -- the action.const is always a string in PM_TOOL_PARAMETERS_SCHEMA; the non-string fallback is validated in schema-level contract tests. */\n return typeof actionConst === \"string\" ? actionConst : null;\n /* c8 ignore stop */\n })\n .filter((entry): entry is string => entry !== null),\n );\n}\n\nfunction buildMergedContractsSchema(mergedExtensionContracts: ExtensionCommandContract[]): Record<string, unknown> {\n const schema = PM_TOOL_PARAMETERS_SCHEMA as Record<string, unknown>;\n const schemaBranches = extractActionBranches(schema);\n const schemaActionSet = buildSchemaActionSet(schema);\n const extensionBranches = mergedExtensionContracts\n .filter((contract) => !schemaActionSet.has(contract.action))\n .map((contract) => buildExtensionActionSchemaBranch(contract));\n return extensionBranches.length > 0\n ? {\n ...schema,\n oneOf: [...schemaBranches, ...extensionBranches],\n }\n : schema;\n}\n\nfunction filterContractsSchema(\n selection: ContractsSelection,\n actionContext: ContractsActionContext,\n mergedSchema: Record<string, unknown>,\n): Record<string, unknown> {\n const descriptorActionSet = new Set(actionContext.actionDescriptors.map((descriptor) => descriptor.action));\n const filteredSchema = selection.selectedAction\n ? filterSchemaByAction(mergedSchema, selection.selectedAction)\n : selection.selectedCommand\n ? filterSchemaByActions(\n mergedSchema,\n new Set(actionContext.scopedActionDescriptors.map((descriptor) => descriptor.action)),\n )\n : filterSchemaByActions(mergedSchema, descriptorActionSet);\n return selection.runtimeOnly && !selection.selectedAction\n ? filterSchemaByActions(filteredSchema, new Set(actionContext.actions))\n : filteredSchema;\n}\n\nfunction resolveContractsSchemaContext(\n selection: ContractsSelection,\n runtime: ContractsRuntimeContext,\n actionContext: ContractsActionContext,\n): ContractsSchemaContext {\n const mergedSchema = buildMergedContractsSchema(runtime.mergedExtensionContracts);\n const includeSchemaSurface = !selection.flagsOnly && !selection.availabilityOnly;\n const filteredSchema = includeSchemaSurface\n ? attachCreateRequiredOptionContracts(\n filterContractsSchema(selection, actionContext, mergedSchema),\n runtime.createRequiredOptionContracts,\n )\n : filterContractsSchema(selection, actionContext, mergedSchema);\n return { mergedSchema, filteredSchema };\n}\n\nfunction resolveContractsCommands(selection: ContractsSelection, actionContext: ContractsActionContext): string[] {\n if (selection.selectedCommand !== undefined) {\n return [selection.selectedCommand];\n }\n if (selection.selectedAction) {\n return resolveScopedCommandsFromActionDescriptors(\n actionContext.scopedActionDescriptors,\n actionContext.commandCatalog,\n );\n }\n return actionContext.commandCatalog;\n}\n\nfunction resolveOutputCommands(selection: ContractsSelection, commands: string[]): string[] {\n return selection.flagsOnly && selection.selectedCommand === undefined && selection.selectedAction === undefined\n ? compactCommandAliasSurface(commands)\n : commands;\n}\n\nfunction resolveExtensionCommandContracts(\n selection: ContractsSelection,\n runtime: ContractsRuntimeContext,\n outputCommands: string[],\n): ExtensionCommandContract[] {\n if (selection.selectedCommand) {\n return runtime.extensionContracts.filter((entry) =>\n splitCommandPathAliases(entry.command).includes(selection.selectedCommand as string),\n );\n }\n if (selection.selectedAction) {\n const outputCommandSet = new Set(outputCommands);\n return runtime.extensionContracts.filter((entry) =>\n splitCommandPathAliases(entry.command).some((command) => outputCommandSet.has(command)),\n );\n }\n return runtime.extensionContracts;\n}\n\nfunction createContractsResult(\n selection: ContractsSelection,\n schemaContext: ContractsSchemaContext,\n actionContext: ContractsActionContext,\n outputCommands: string[],\n): ContractsResult {\n return {\n schema_version:\n /* c8 ignore next -- schema version/id fallbacks are exercised by schema snapshot tests. */\n typeof schemaContext.mergedSchema[\"x-schema-version\"] === \"string\"\n ? (schemaContext.mergedSchema[\"x-schema-version\"] as string)\n : null,\n schema_id:\n /* c8 ignore next -- schema version/id fallbacks are exercised by schema snapshot tests. */\n typeof schemaContext.mergedSchema.$id === \"string\"\n ? (schemaContext.mergedSchema.$id as string)\n : null,\n selected: {\n action: selection.selectedAction ?? null,\n command: selection.selectedCommand ?? null,\n schema_only: selection.schemaOnly,\n flags_only: selection.flagsOnly,\n availability_only: selection.availabilityOnly,\n runtime_only: selection.runtimeOnly,\n command_scoped: selection.selectedCommand !== undefined,\n },\n commands: outputCommands,\n ...(!selection.flagsOnly\n ? {\n actions: actionContext.actions,\n action_availability: actionContext.actionAvailability,\n }\n : {}),\n };\n}\n\nfunction attachRuntimeContractsResult(result: ContractsResult, runtime: ContractsRuntimeContext): void {\n result.runtime_schema = {\n statuses: runtime.statusRegistry.definitions.map((definition) => definition.id),\n open_status: runtime.statusRegistry.open_status,\n close_status: runtime.statusRegistry.close_status,\n canceled_status: runtime.statusRegistry.canceled_status,\n types: [...runtime.typeRegistry.types],\n fields_by_command: Object.fromEntries(\n [...runtime.runtimeFieldRegistry.command_to_fields.entries()].map(([command, definitions]) => [\n command,\n [...new Set(definitions.map((definition) => `--${definition.cli_flag}`))].sort((left, right) =>\n left.localeCompare(right),\n ),\n ]),\n ),\n };\n result.extension_contracts = {\n capabilities: [...PM_EXTENSION_CAPABILITY_CONTRACTS],\n services: [...PM_EXTENSION_SERVICE_NAME_CONTRACTS],\n policy_modes: [...PM_EXTENSION_POLICY_MODE_CONTRACTS],\n policy_surfaces: [...PM_EXTENSION_POLICY_SURFACE_CONTRACTS],\n trust_modes: [...PM_EXTENSION_TRUST_MODE_CONTRACTS],\n sandbox_profiles: [...PM_EXTENSION_SANDBOX_PROFILE_CONTRACTS],\n manifest_versions: [1, 2],\n compatibility: {\n current: \"v2\",\n previous: [\"v1\"],\n breaking_strategy: \"versioned_breaking\",\n },\n };\n}\n\nfunction attachSchemaContractsResult(\n result: ContractsResult,\n selection: ContractsSelection,\n schemaContext: ContractsSchemaContext,\n extensionCommandContracts: ExtensionCommandContract[],\n): void {\n if (selection.flagsOnly || selection.availabilityOnly) {\n return;\n }\n if (!selection.omitUnfilteredSchema) {\n result.schema = schemaContext.filteredSchema;\n result.extension_commands = extensionCommandContracts;\n return;\n }\n result.schema_omitted_reason = \"unfiltered_default_brief\";\n result.extension_commands = extensionCommandContracts;\n}\n\nfunction attachFlagContractsResult(\n result: ContractsResult,\n selection: ContractsSelection,\n runtime: ContractsRuntimeContext,\n outputCommands: string[],\n commandAliases: CommandAliasSurface[],\n): void {\n if (selection.schemaOnly || selection.availabilityOnly) {\n return;\n }\n if (!selection.omitUnfilteredCommandFlags) {\n result.command_flags = buildCommandFlagSurface(\n outputCommands,\n runtime.extensionFlagMap,\n runtime.runtimeFieldFlagMap,\n );\n } else {\n result.command_flags_omitted_reason = \"unfiltered_default_brief\";\n }\n if (commandAliases.length > 0) {\n result.command_aliases = commandAliases;\n }\n}\n\nfunction attachCommanderAliasContractsResult(result: ContractsResult, selection: ContractsSelection): void {\n if (selection.schemaOnly || selection.flagsOnly || selection.availabilityOnly) {\n return;\n }\n if (!selection.omitUnfilteredCommanderAliases) {\n result.commander_aliases = buildCommanderAliasSurface();\n return;\n }\n result.commander_aliases_omitted_reason = \"unfiltered_default_brief\";\n}\n\n/**\n * Implements run contracts for the public runtime surface of this module.\n */\nexport async function runContracts(\n options: ContractsCommandOptions,\n global: GlobalOptions,\n): Promise<ContractsResult> {\n const selection = resolveContractsSelection(options);\n assertSingleContractsProjection(selection);\n const pmRoot = resolvePmRoot(process.cwd(), global.path);\n const runtime = await resolveContractsRuntimeContext(global, pmRoot);\n const actionContext = resolveContractsActionContext(selection, runtime);\n const schemaContext = resolveContractsSchemaContext(selection, runtime, actionContext);\n const commands = resolveContractsCommands(selection, actionContext);\n const outputCommands = resolveOutputCommands(selection, commands);\n const commandAliases = buildCommandAliasSurface(commands);\n const extensionCommandContracts = resolveExtensionCommandContracts(selection, runtime, outputCommands);\n const result = createContractsResult(selection, schemaContext, actionContext, outputCommands);\n\n if (!(selection.flagsOnly && !selection.fullOutput)) {\n attachRuntimeContractsResult(result, runtime);\n }\n attachSchemaContractsResult(result, selection, schemaContext, extensionCommandContracts);\n attachFlagContractsResult(result, selection, runtime, outputCommands, commandAliases);\n attachCommanderAliasContractsResult(result, selection);\n\n // pm-4os2: snapshot the static MCP tool surface in the full projection so\n // `pnpm contracts:check` (CI static gate) fails on unintended inputSchema\n // drift in src/mcp/tool-definitions.ts.\n if (selection.fullOutput && !selection.schemaOnly && !selection.flagsOnly && !selection.availabilityOnly) {\n result.mcp_tools = buildMcpToolContracts();\n }\n\n return result;\n}\n\nexport const _testOnlyContractsCommand = {\n actionDescriptorMatchesSelectedCommand,\n attachCreateRequiredOptionContracts,\n buildExtensionActionSchemaBranch,\n buildRuntimeFieldFlagContracts,\n collectActionContractDescriptors,\n collectExtensionCommandContracts,\n collectExtensionFlagContractsByCommand,\n extractActionBranches,\n extensionSchemaPropertyNameFromFlag,\n filterSchemaByAction,\n filterSchemaByActions,\n isCoreCommandPath,\n mergeExtensionContractsByAction,\n normalizeActionNameFromCommand,\n normalizeCommandForRuntimeFieldFlags,\n normalizeCommandPath,\n packageOwnedActionForCommand,\n resolveActionCommandPath,\n resolveActionAvailability,\n resolveCoreCommandFlags,\n resolveScopedCommandsFromActionDescriptors,\n splitCommandPathAliases,\n toRuntimeLongFlagToken,\n toRuntimeShortFlagToken,\n};\n"],"names":[],"mappings":"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","debugId":"24d15738-45bd-5dd2-95e1-699f9c6061bd"}
|
|
1
|
+
{"version":3,"file":"contracts.js","sources":["cli/commands/contracts.ts"],"sourceRoot":"/","sourcesContent":["/**\n * @module cli/commands/contracts\n *\n * Implements the pm contracts command surface and its agent-facing runtime behavior.\n */\nimport { EXIT_CODE, SETTINGS_DEFAULTS } from \"../../core/shared/constants.js\";\nimport type { GlobalOptions } from \"../../core/shared/command-types.js\";\nimport { PmCliError } from \"../../core/shared/errors.js\";\nimport {\n activateExtensions,\n getActiveExtensionRegistrations,\n loadExtensions,\n} from \"../../core/extensions/index.js\";\nimport type {\n ExtensionRegistrationRegistry,\n RegisteredExtensionCommandDefinition,\n RegisteredExtensionFlagDefinitions,\n} from \"../../core/extensions/index.js\";\nimport { pathExists } from \"../../core/fs/fs-utils.js\";\nimport {\n commandOptionFlagLabel,\n resolveCommandOptionPolicyState,\n resolveItemTypeRegistry,\n} from \"../../core/item/type-registry.js\";\nimport {\n resolveRuntimeFieldRegistry,\n resolveRuntimeStatusRegistry,\n type RuntimeFieldRegistry,\n} from \"../../core/schema/runtime-schema.js\";\nimport { getSettingsPath, resolvePmRoot } from \"../../core/store/paths.js\";\nimport { readSettings } from \"../../core/store/settings.js\";\nimport { buildMcpToolContracts, type McpToolContract } from \"../../mcp/tool-definitions.js\";\nimport {\n ACTIVITY_COMMANDER_STRING_OPTION_CONTRACTS,\n ACTIVITY_FLAG_CONTRACTS,\n AGGREGATE_FLAG_CONTRACTS,\n APPEND_FLAG_CONTRACTS,\n CALENDAR_COMMANDER_STRING_OPTION_CONTRACTS,\n CALENDAR_FLAG_CONTRACTS,\n CLAIM_FLAG_CONTRACTS,\n CLOSE_TASK_FLAG_CONTRACTS,\n COMMENTS_FLAG_CONTRACTS,\n COMMENTS_AUDIT_FLAG_CONTRACTS,\n CLOSE_FLAG_CONTRACTS,\n CLOSE_MANY_FLAG_CONTRACTS,\n COMPLETION_FLAG_CONTRACTS,\n CONFIG_FLAG_CONTRACTS,\n CONTRACTS_FLAG_CONTRACTS,\n CONTEXT_COMMANDER_STRING_OPTION_CONTRACTS,\n CONTEXT_FLAG_CONTRACTS,\n CREATE_COMMANDER_REPEATABLE_OPTION_CONTRACTS,\n CREATE_COMMANDER_STRING_OPTION_CONTRACTS,\n CREATE_FLAG_CONTRACTS,\n DELETE_FLAG_CONTRACTS,\n DEPS_FLAG_CONTRACTS,\n DEDUPE_AUDIT_FLAG_CONTRACTS,\n DEDUPE_MERGE_FLAG_CONTRACTS,\n DOCS_FLAG_CONTRACTS,\n EXTENSION_ACTIVATE_FLAG_CONTRACTS,\n EXTENSION_ADOPT_ALL_FLAG_CONTRACTS,\n EXTENSION_ADOPT_FLAG_CONTRACTS,\n EXTENSION_CATALOG_FLAG_CONTRACTS,\n EXTENSION_DEACTIVATE_FLAG_CONTRACTS,\n EXTENSION_DESCRIBE_FLAG_CONTRACTS,\n EXTENSION_DOCTOR_FLAG_CONTRACTS,\n EXTENSION_EXPLORE_FLAG_CONTRACTS,\n EXTENSION_FLAG_CONTRACTS,\n EXTENSION_INIT_FLAG_CONTRACTS,\n EXTENSION_INSTALL_FLAG_CONTRACTS,\n EXTENSION_MANAGE_FLAG_CONTRACTS,\n EXTENSION_RELOAD_FLAG_CONTRACTS,\n EXTENSION_UNINSTALL_FLAG_CONTRACTS,\n FILES_FLAG_CONTRACTS,\n GC_FLAG_CONTRACTS,\n GET_FLAG_CONTRACTS,\n GUIDE_FLAG_CONTRACTS,\n GLOBAL_FLAG_CONTRACTS,\n HEALTH_FLAG_CONTRACTS,\n HISTORY_FLAG_CONTRACTS,\n HISTORY_COMPACT_FLAG_CONTRACTS,\n HISTORY_REDACT_FLAG_CONTRACTS,\n HISTORY_REPAIR_FLAG_CONTRACTS,\n INSTALL_FLAG_CONTRACTS,\n INIT_FLAG_CONTRACTS,\n LEARNINGS_FLAG_CONTRACTS,\n LIST_COMMANDER_STRING_OPTION_CONTRACTS,\n LIST_FILTER_FLAG_CONTRACTS,\n NORMALIZE_FLAG_CONTRACTS,\n NOTES_FLAG_CONTRACTS,\n PACKAGE_FLAG_CONTRACTS,\n PACKAGE_INIT_FLAG_CONTRACTS,\n PM_EXTENSION_CAPABILITY_CONTRACTS,\n PM_EXTENSION_POLICY_MODE_CONTRACTS,\n PM_EXTENSION_POLICY_SURFACE_CONTRACTS,\n PM_EXTENSION_SANDBOX_PROFILE_CONTRACTS,\n PM_EXTENSION_SERVICE_NAME_CONTRACTS,\n PM_EXTENSION_TRUST_MODE_CONTRACTS,\n PLAN_FLAG_CONTRACTS,\n PM_CORE_COMMAND_NAMES,\n PM_TOOL_ACTIONS,\n PM_TOOL_PARAMETERS_SCHEMA,\n REINDEX_FLAG_CONTRACTS,\n RELEASE_FLAG_CONTRACTS,\n RESTORE_FLAG_CONTRACTS,\n SCHEMA_FLAG_CONTRACTS,\n PROFILE_FLAG_CONTRACTS,\n SEARCH_COMMANDER_STRING_OPTION_CONTRACTS,\n EVAL_FLAG_CONTRACTS,\n NEXT_FLAG_CONTRACTS,\n SEARCH_FLAG_CONTRACTS,\n STATS_FLAG_CONTRACTS,\n START_TASK_FLAG_CONTRACTS,\n PAUSE_TASK_FLAG_CONTRACTS,\n TELEMETRY_FLAG_CONTRACTS,\n TEST_ALL_FLAG_CONTRACTS,\n TEST_FLAG_CONTRACTS,\n TEST_RUNS_FLAG_CONTRACTS,\n UPDATE_COMMANDER_REPEATABLE_OPTION_CONTRACTS,\n UPDATE_COMMANDER_STRING_OPTION_CONTRACTS,\n UPDATE_FLAG_CONTRACTS,\n UPDATE_MANY_FLAG_CONTRACTS,\n UPGRADE_FLAG_CONTRACTS,\n VALIDATE_FLAG_CONTRACTS,\n compactFlagAliasContracts,\n withFlagAliasMetadata,\n type CliFlagContract,\n type CommanderOptionAliasContract,\n} from \"../../sdk/cli-contracts.js\";\n\n/**\n * Documents the contracts command options payload exchanged by command, SDK, and package integrations.\n */\nexport interface ContractsCommandOptions {\n action?: string;\n command?: string;\n summary?: boolean;\n schemaOnly?: boolean;\n flagsOnly?: boolean;\n availabilityOnly?: boolean;\n runtimeOnly?: boolean;\n full?: boolean;\n}\n\ninterface CommandFlagSurface {\n command: string;\n flags: CliFlagContract[];\n provider?: \"core\" | \"extension\" | \"mixed\";\n extension_sources?: Array<{\n layer: \"global\" | \"project\";\n name: string;\n }>;\n}\n\ninterface CommandAliasSurface {\n canonical: string;\n aliases: string[];\n}\n\n/**\n * Documents the contracts result payload exchanged by command, SDK, and package integrations.\n */\nexport interface ContractsResult {\n schema_version: string | null;\n schema_id: string | null;\n selected: {\n action: string | null;\n command: string | null;\n summary: boolean;\n schema_only: boolean;\n flags_only: boolean;\n availability_only: boolean;\n runtime_only: boolean;\n command_scoped: boolean;\n };\n actions?: string[];\n action_availability?: ContractsActionAvailability[];\n commands: string[];\n schema?: Record<string, unknown>;\n schema_omitted_reason?: string;\n command_flags_omitted_reason?: string;\n commander_aliases_omitted_reason?: string;\n command_flags?: CommandFlagSurface[];\n command_aliases?: CommandAliasSurface[];\n commander_aliases?: Record<string, CommanderOptionAliasContract[]>;\n extension_commands?: ExtensionCommandContract[];\n command_summaries?: CommandSummarySurface[];\n runtime_schema?: {\n statuses: string[];\n open_status: string;\n close_status: string;\n canceled_status: string;\n types: string[];\n fields_by_command: Record<string, string[]>;\n };\n extension_contracts?: {\n capabilities: string[];\n services: string[];\n policy_modes: string[];\n policy_surfaces: string[];\n trust_modes: string[];\n sandbox_profiles: string[];\n manifest_versions: number[];\n compatibility: {\n current: string;\n previous: string[];\n breaking_strategy: string;\n };\n };\n // pm-4os2: static MCP tool surface (tool names, required fields, inputSchema\n // shapes) so the contract golden file catches unintended MCP schema drift.\n // Emitted with --full only — the snapshot script runs `pm contracts --full`.\n mcp_tools?: McpToolContract[];\n}\n\ntype PmToolAction = (typeof PM_TOOL_ACTIONS)[number];\n\n/**\n * Documents the contracts action availability payload exchanged by command, SDK, and package integrations.\n */\nexport interface ContractsActionAvailability {\n action: string;\n invocable: boolean;\n available: boolean;\n requires_extension: boolean;\n provider: \"core\" | \"extension\";\n disabled_reason: string | null;\n command_path: string | null;\n cli_exposed: boolean;\n policy_state?: {\n mode: string;\n trust_mode: string;\n default_sandbox_profile: string;\n };\n}\n\ninterface RuntimeExtensionActionProbe {\n handlers: Set<string>;\n disabledReason: string | null;\n commandDefinitions: RegisteredExtensionCommandDefinition[];\n flagRegistrations: RegisteredExtensionFlagDefinitions[];\n registrations: ExtensionRegistrationRegistry | null;\n policyState: {\n mode: string;\n trust_mode: string;\n default_sandbox_profile: string;\n };\n}\n\ninterface ExtensionCommandContract {\n command: string;\n action: string;\n source: {\n layer: \"global\" | \"project\";\n name: string;\n } | null;\n description: string | null;\n intent: string | null;\n arguments: Array<{\n name: string;\n required: boolean;\n variadic: boolean;\n description: string | null;\n }>;\n flags: CliFlagContract[];\n examples: string[];\n failure_hints: string[];\n}\n\ninterface CommandSummarySurface {\n command: string;\n intent: string;\n}\n\nconst LIST_COMMAND_NAMES = new Set([\n \"list\",\n \"list-all\",\n \"list-draft\",\n \"list-open\",\n \"list-in-progress\",\n \"list-blocked\",\n \"list-closed\",\n \"list-canceled\",\n]);\n\nconst PACKAGE_OWNED_ACTIONS = new Set<string>([\n \"calendar\",\n \"dedupe-audit\",\n \"dedupe-merge\",\n \"guide\",\n \"reindex\",\n \"normalize\",\n \"comments-audit\",\n \"completion\",\n \"test-runs-list\",\n \"test-runs-status\",\n \"test-runs-logs\",\n \"test-runs-stop\",\n \"test-runs-resume\",\n \"templates-list\",\n \"templates-save\",\n \"templates-show\",\n]);\n\nconst PACKAGE_OWNED_COMMANDS = new Set<string>([\n \"cal\",\n \"calendar\",\n \"comments-audit\",\n \"completion\",\n \"completion-statuses\",\n \"completion-tags\",\n \"completion-types\",\n \"dedupe-audit\",\n \"dedupe-merge\",\n \"guide\",\n \"normalize\",\n \"reindex\",\n \"templates\",\n \"templates list\",\n \"templates save\",\n \"templates show\",\n \"test-runs\",\n \"test-runs list\",\n \"test-runs status\",\n \"test-runs logs\",\n \"test-runs stop\",\n \"test-runs resume\",\n]);\n\nconst PACKAGE_OWNED_COMMAND_INSTALL_HINTS = new Map<string, string>([\n [\"cal\", \"calendar\"],\n [\"calendar\", \"calendar\"],\n [\"comments-audit\", \"governance-audit\"],\n [\"completion\", \"guide-shell\"],\n [\"completion-statuses\", \"guide-shell\"],\n [\"completion-tags\", \"guide-shell\"],\n [\"completion-types\", \"guide-shell\"],\n [\"dedupe-audit\", \"governance-audit\"],\n [\"dedupe-merge\", \"governance-audit\"],\n [\"guide\", \"guide-shell\"],\n [\"normalize\", \"governance-audit\"],\n [\"reindex\", \"search-advanced\"],\n [\"templates\", \"templates\"],\n [\"templates list\", \"templates\"],\n [\"templates save\", \"templates\"],\n [\"templates show\", \"templates\"],\n [\"test-runs\", \"linked-test-adapters\"],\n [\"test-runs list\", \"linked-test-adapters\"],\n [\"test-runs status\", \"linked-test-adapters\"],\n [\"test-runs logs\", \"linked-test-adapters\"],\n [\"test-runs stop\", \"linked-test-adapters\"],\n [\"test-runs resume\", \"linked-test-adapters\"],\n]);\n\nconst PACKAGE_OWNED_ACTION_COMMAND_PATHS = new Map<string, string>([\n [\"calendar\", \"calendar|cal\"],\n [\"dedupe-audit\", \"dedupe-audit\"],\n [\"dedupe-merge\", \"dedupe-merge\"],\n [\"guide\", \"guide\"],\n [\"reindex\", \"reindex\"],\n [\"normalize\", \"normalize\"],\n [\"comments-audit\", \"comments-audit\"],\n [\"completion\", \"completion\"],\n [\"test-runs-list\", \"test-runs|test-runs list\"],\n [\"test-runs-status\", \"test-runs status\"],\n [\"test-runs-logs\", \"test-runs logs\"],\n [\"test-runs-stop\", \"test-runs stop\"],\n [\"test-runs-resume\", \"test-runs resume\"],\n [\"templates-list\", \"templates|templates list\"],\n [\"templates-save\", \"templates save\"],\n [\"templates-show\", \"templates show\"],\n]);\n\nconst PACKAGE_OWNED_COMMAND_ACTIONS = new Map(\n [...PACKAGE_OWNED_ACTION_COMMAND_PATHS.entries()].flatMap(([action, commandPaths]) =>\n splitCommandPathAliases(commandPaths).map((commandPath) => [commandPath, action] as const),\n ),\n);\n\nconst CANONICAL_COMMAND_ALIASES: CommandAliasSurface[] = [\n {\n canonical: \"context\",\n aliases: [\"ctx\"],\n },\n {\n canonical: \"package\",\n aliases: [\"extension\", \"packages\", \"install\"],\n },\n];\n\nconst COMMAND_ALIAS_TO_CANONICAL = new Map(\n CANONICAL_COMMAND_ALIASES.flatMap((entry) =>\n entry.aliases.map((alias) => [alias, entry.canonical] as const),\n ),\n);\n\nconst COMMAND_NAMESPACE_DISPLAY_LIMIT = 10;\nconst COMMAND_NAMESPACE_FALLBACK_LIMIT = 20;\n\nconst COMMAND_INTENTS = new Map<string, string>([\n [\"activity\", \"Read activity.\"],\n [\"aggregate\", \"Group counts.\"],\n [\"append\", \"Append body.\"],\n [\"claim\", \"Claim work.\"],\n [\"close\", \"Close work.\"],\n [\"comments\", \"Manage comments.\"],\n [\"completion\", \"Generate shell completions.\"],\n [\"config\", \"Manage settings.\"],\n [\"context\", \"Build context.\"],\n [\"contracts\", \"Inspect contracts.\"],\n [\"copy\", \"Copy work.\"],\n [\"create\", \"Create work.\"],\n [\"delete\", \"Delete work.\"],\n [\"deps\", \"Manage deps.\"],\n [\"docs\", \"Link docs.\"],\n [\"files\", \"Link files.\"],\n [\"focus\", \"Manage focus.\"],\n [\"gc\", \"Clean caches.\"],\n [\"get\", \"Read item.\"],\n [\"guide\", \"Show user guides.\"],\n [\"health\", \"Check health.\"],\n [\"help\", \"Show help.\"],\n [\"history\", \"Inspect history.\"],\n [\"init\", \"Initialize workspace.\"],\n [\"install\", \"Install packages.\"],\n [\"learnings\", \"Manage learnings.\"],\n [\"list\", \"List work.\"],\n [\"next\", \"Pick next work.\"],\n [\"notes\", \"Manage notes.\"],\n [\"ops\", \"Run operations.\"],\n [\"package\", \"Manage packages.\"],\n [\"plan\", \"Manage plans.\"],\n [\"profile\", \"Manage profiles.\"],\n [\"reindex\", \"Refresh search index.\"],\n [\"release\", \"Release claim.\"],\n [\"restore\", \"Restore history.\"],\n [\"schema\", \"Customize schema.\"],\n [\"search\", \"Search work.\"],\n [\"stats\", \"Show stats.\"],\n [\"telemetry\", \"Manage telemetry.\"],\n [\"test\", \"Run linked tests.\"],\n [\"update\", \"Update work.\"],\n [\"upgrade\", \"Upgrade packages.\"],\n [\"validate\", \"Validate data.\"],\n]);\n\n// Lifecycle subcommand flag contracts for `pm extension`. Only `init` differs\n// between extension and package: `pm package init` / `pm packages init`\n// additionally accept the package-only `--declarative` flag, so the package\n// variant swaps in PACKAGE_INIT_FLAG_CONTRACTS while every other subcommand is\n// shared verbatim.\nconst EXTENSION_LIFECYCLE_FLAG_CONTRACTS: Array<readonly [string, CliFlagContract[]]> = [\n [\"init\", EXTENSION_INIT_FLAG_CONTRACTS],\n [\"install\", EXTENSION_INSTALL_FLAG_CONTRACTS],\n [\"uninstall\", EXTENSION_UNINSTALL_FLAG_CONTRACTS],\n [\"explore\", EXTENSION_EXPLORE_FLAG_CONTRACTS],\n [\"manage\", EXTENSION_MANAGE_FLAG_CONTRACTS],\n [\"describe\", EXTENSION_DESCRIBE_FLAG_CONTRACTS],\n [\"reload\", EXTENSION_RELOAD_FLAG_CONTRACTS],\n [\"doctor\", EXTENSION_DOCTOR_FLAG_CONTRACTS],\n [\"catalog\", EXTENSION_CATALOG_FLAG_CONTRACTS],\n [\"adopt\", EXTENSION_ADOPT_FLAG_CONTRACTS],\n [\"adopt-all\", EXTENSION_ADOPT_ALL_FLAG_CONTRACTS],\n [\"activate\", EXTENSION_ACTIVATE_FLAG_CONTRACTS],\n [\"deactivate\", EXTENSION_DEACTIVATE_FLAG_CONTRACTS],\n];\n\nconst PACKAGE_LIFECYCLE_FLAG_CONTRACTS: Array<readonly [string, CliFlagContract[]]> =\n EXTENSION_LIFECYCLE_FLAG_CONTRACTS.map(([subcommand, flags]) =>\n subcommand === \"init\" ? ([subcommand, PACKAGE_INIT_FLAG_CONTRACTS] as const) : ([subcommand, flags] as const),\n );\n\nconst CORE_COMMAND_FLAG_CONTRACT_ENTRIES: Array<readonly [string, CliFlagContract[]]> = [\n ...EXTENSION_LIFECYCLE_FLAG_CONTRACTS.map(([subcommand, flags]) => [`extension ${subcommand}`, flags] as const),\n ...PACKAGE_LIFECYCLE_FLAG_CONTRACTS.flatMap(([subcommand, flags]) => [\n [`package ${subcommand}`, flags] as const,\n [`packages ${subcommand}`, flags] as const,\n ]),\n [\"init\", INIT_FLAG_CONTRACTS],\n [\"config\", CONFIG_FLAG_CONTRACTS],\n [\"extension\", EXTENSION_FLAG_CONTRACTS],\n [\"package\", PACKAGE_FLAG_CONTRACTS],\n [\"packages\", PACKAGE_FLAG_CONTRACTS],\n [\"install\", INSTALL_FLAG_CONTRACTS],\n [\"create\", CREATE_FLAG_CONTRACTS],\n [\"update\", UPDATE_FLAG_CONTRACTS],\n [\"update-many\", UPDATE_MANY_FLAG_CONTRACTS],\n [\"upgrade\", UPGRADE_FLAG_CONTRACTS],\n [\"normalize\", NORMALIZE_FLAG_CONTRACTS],\n [\"calendar\", CALENDAR_FLAG_CONTRACTS],\n [\"cal\", CALENDAR_FLAG_CONTRACTS],\n [\"context\", CONTEXT_FLAG_CONTRACTS],\n [\"ctx\", CONTEXT_FLAG_CONTRACTS],\n [\"get\", GET_FLAG_CONTRACTS],\n [\"search\", SEARCH_FLAG_CONTRACTS],\n [\"eval\", EVAL_FLAG_CONTRACTS],\n [\"next\", NEXT_FLAG_CONTRACTS],\n [\"aggregate\", AGGREGATE_FLAG_CONTRACTS],\n [\"dedupe-audit\", DEDUPE_AUDIT_FLAG_CONTRACTS],\n [\"dedupe-merge\", DEDUPE_MERGE_FLAG_CONTRACTS],\n [\"deps\", DEPS_FLAG_CONTRACTS],\n [\"guide\", GUIDE_FLAG_CONTRACTS],\n [\"reindex\", REINDEX_FLAG_CONTRACTS],\n [\"history\", HISTORY_FLAG_CONTRACTS],\n [\"history-compact\", HISTORY_COMPACT_FLAG_CONTRACTS],\n [\"history-redact\", HISTORY_REDACT_FLAG_CONTRACTS],\n [\"history-repair\", HISTORY_REPAIR_FLAG_CONTRACTS],\n [\"schema\", SCHEMA_FLAG_CONTRACTS],\n [\"profile\", PROFILE_FLAG_CONTRACTS],\n [\"plan\", PLAN_FLAG_CONTRACTS],\n [\"restore\", RESTORE_FLAG_CONTRACTS],\n [\"delete\", DELETE_FLAG_CONTRACTS],\n [\"close\", CLOSE_FLAG_CONTRACTS],\n [\"close-many\", CLOSE_MANY_FLAG_CONTRACTS],\n [\"append\", APPEND_FLAG_CONTRACTS],\n [\"claim\", CLAIM_FLAG_CONTRACTS],\n [\"release\", RELEASE_FLAG_CONTRACTS],\n [\"start-task\", START_TASK_FLAG_CONTRACTS],\n [\"pause-task\", PAUSE_TASK_FLAG_CONTRACTS],\n [\"close-task\", CLOSE_TASK_FLAG_CONTRACTS],\n [\"comments\", COMMENTS_FLAG_CONTRACTS],\n [\"notes\", NOTES_FLAG_CONTRACTS],\n [\"learnings\", LEARNINGS_FLAG_CONTRACTS],\n [\"files\", FILES_FLAG_CONTRACTS],\n [\"docs\", DOCS_FLAG_CONTRACTS],\n [\"test\", TEST_FLAG_CONTRACTS],\n [\"test-all\", TEST_ALL_FLAG_CONTRACTS],\n [\"telemetry\", TELEMETRY_FLAG_CONTRACTS],\n [\"test-runs\", TEST_RUNS_FLAG_CONTRACTS],\n [\"gc\", GC_FLAG_CONTRACTS],\n [\"stats\", STATS_FLAG_CONTRACTS],\n [\"validate\", VALIDATE_FLAG_CONTRACTS],\n [\"comments-audit\", COMMENTS_AUDIT_FLAG_CONTRACTS],\n [\"health\", HEALTH_FLAG_CONTRACTS],\n [\"contracts\", CONTRACTS_FLAG_CONTRACTS],\n [\"completion\", COMPLETION_FLAG_CONTRACTS],\n [\"activity\", ACTIVITY_FLAG_CONTRACTS],\n ...[...LIST_COMMAND_NAMES].map((command) => [command, LIST_FILTER_FLAG_CONTRACTS] as const),\n];\n\nconst CORE_COMMAND_FLAG_CONTRACTS_BY_COMMAND = new Map(CORE_COMMAND_FLAG_CONTRACT_ENTRIES);\n\n/* c8 ignore start -- extension contract shaping utilities are exercised by dedicated extension/runtime integration suites. */\nfunction packageOwnedActionForCommand(command: string): string {\n const exactAction = PACKAGE_OWNED_COMMAND_ACTIONS.get(command);\n if (exactAction) {\n return exactAction;\n }\n if (command.startsWith(\"test-runs \")) {\n return `test-runs-${command.slice(\"test-runs \".length)}`;\n }\n if (command.startsWith(\"templates \")) {\n return `templates-${command.slice(\"templates \".length)}`;\n }\n return command;\n}\n\nfunction resolveActionCommandPath(action: PmToolAction): string | null {\n if (\n PM_CORE_COMMAND_NAMES.includes(\n action as (typeof PM_CORE_COMMAND_NAMES)[number],\n )\n ) {\n return normalizeCommandPath(action);\n }\n if (action.startsWith(\"extension-\")) {\n return normalizeCommandPath(\n `extension ${action.slice(\"extension-\".length)}`,\n );\n }\n if (action.startsWith(\"package-\")) {\n return normalizeCommandPath(`package ${action.slice(\"package-\".length)}`);\n }\n if (action.startsWith(\"test-runs-\")) {\n return normalizeCommandPath(\n `test-runs ${action.slice(\"test-runs-\".length)}`,\n );\n }\n if (action.startsWith(\"templates-\")) {\n return normalizeCommandPath(\n `templates ${action.slice(\"templates-\".length)}`,\n );\n }\n if (PACKAGE_OWNED_ACTIONS.has(action)) {\n return PACKAGE_OWNED_ACTION_COMMAND_PATHS.get(action) ?? normalizeCommandPath(action);\n }\n return null;\n}\n\nfunction actionDescriptorMatchesSelectedCommand(\n descriptor: ActionContractDescriptor,\n selectedCommand: string,\n): boolean {\n if (descriptor.command_path === null) {\n return false;\n }\n return splitCommandPathAliases(descriptor.command_path).some((commandPath) => {\n if (commandPath === selectedCommand) {\n return true;\n }\n return commandPath.startsWith(`${selectedCommand} `);\n });\n}\n\nfunction splitCommandPathAliases(commandPath: string): string[] {\n return commandPath\n .split(\"|\")\n .map((entry) => normalizeCommandPath(entry))\n .filter((entry) => entry.length > 0);\n}\n\nfunction resolveScopedCommandsFromActionDescriptors(\n descriptors: ActionContractDescriptor[],\n commandCatalog: string[],\n): string[] {\n const commandSet = new Set(commandCatalog);\n const scoped = new Set<string>();\n for (const descriptor of descriptors) {\n if (!descriptor.command_path) {\n continue;\n }\n for (const commandPath of splitCommandPathAliases(descriptor.command_path)) {\n const tokens = commandPath.split(\" \").filter((entry) => entry.length > 0);\n if (tokens.length === 0) {\n continue;\n }\n for (let end = tokens.length; end > 0; end -= 1) {\n const candidate = tokens.slice(0, end).join(\" \");\n if (!commandSet.has(candidate)) {\n continue;\n }\n scoped.add(candidate);\n break;\n }\n }\n }\n return [...scoped].sort((left, right) => left.localeCompare(right));\n}\n\nfunction normalizeToken(value: string | undefined): string | undefined {\n if (typeof value !== \"string\") {\n return undefined;\n }\n const trimmed = value.trim().toLowerCase();\n return trimmed.length > 0 ? trimmed : undefined;\n}\n\nfunction extractActionBranches(\n schema: Record<string, unknown>,\n): Record<string, unknown>[] {\n const oneOf = schema.oneOf;\n if (!Array.isArray(oneOf)) {\n return [];\n }\n return oneOf.filter(\n (entry): entry is Record<string, unknown> =>\n typeof entry === \"object\" && entry !== null,\n );\n}\n\nfunction filterSchemaByAction(\n schema: Record<string, unknown>,\n action: string | undefined,\n): Record<string, unknown> {\n if (!action) {\n return { ...schema };\n }\n const branches = extractActionBranches(schema);\n const filtered = branches.filter((entry) => {\n const properties = entry.properties;\n if (typeof properties !== \"object\" || properties === null) {\n return false;\n }\n const actionProperty = (properties as Record<string, unknown>).action;\n if (typeof actionProperty !== \"object\" || actionProperty === null) {\n return false;\n }\n return (actionProperty as { const?: unknown }).const === action;\n });\n return {\n ...schema,\n oneOf: filtered,\n };\n}\n\nfunction filterSchemaByActions(\n schema: Record<string, unknown>,\n actions: ReadonlySet<string>,\n): Record<string, unknown> {\n const branches = extractActionBranches(schema);\n const filtered = branches.filter((entry) => {\n const properties = entry.properties;\n if (typeof properties !== \"object\" || properties === null) {\n return false;\n }\n const actionProperty = (properties as Record<string, unknown>).action;\n if (typeof actionProperty !== \"object\" || actionProperty === null) {\n return false;\n }\n const actionConst = (actionProperty as { const?: unknown }).const;\n return typeof actionConst === \"string\" && actions.has(actionConst);\n });\n return {\n ...schema,\n oneOf: filtered,\n };\n}\n\nfunction normalizeCommandPath(value: string): string {\n return value\n .trim()\n .toLowerCase()\n .split(/\\s+/)\n .filter((entry) => entry.length > 0)\n .join(\" \");\n}\n\nfunction normalizeActionNameFromCommand(commandPath: string): string {\n return commandPath.replace(/\\s+/g, \"-\");\n}\n\nfunction toOptionalTrimmedString(value: unknown): string | null {\n if (typeof value !== \"string\") {\n return null;\n }\n const trimmed = value.trim();\n return trimmed.length > 0 ? trimmed : null;\n}\n\nfunction normalizeStringList(values: string[] | undefined): string[] {\n if (!Array.isArray(values)) {\n return [];\n }\n const normalized: string[] = [];\n const seen = new Set<string>();\n for (const value of values) {\n const trimmed = toOptionalTrimmedString(value);\n if (!trimmed || seen.has(trimmed)) {\n continue;\n }\n seen.add(trimmed);\n normalized.push(trimmed);\n }\n return normalized;\n}\n\nfunction assignExtensionFlagBoolean(\n contract: CliFlagContract,\n key: \"required\" | \"repeatable\" | \"list\",\n enabled: boolean,\n): void {\n if (enabled) {\n contract[key] = true;\n }\n}\n\nfunction normalizeExtensionFlagName(\n value: unknown,\n kind: \"long\" | \"short\",\n): string | null {\n if (value == null) {\n return null;\n }\n if (typeof value !== \"string\") {\n throw new TypeError(\"Expected string for extension flag name.\");\n }\n const trimmed = value.trim();\n if (trimmed.length === 0) {\n return null;\n }\n if (kind === \"long\") {\n return trimmed.startsWith(\"--\") && trimmed.length > 2 ? trimmed : null;\n }\n return trimmed.startsWith(\"-\") && !trimmed.startsWith(\"--\") && trimmed.length > 1 ? trimmed : null;\n}\n\nfunction toExtensionFlagContract(\n definition: Record<string, unknown>,\n): CliFlagContract | null {\n const normalizedLong = normalizeExtensionFlagName(definition.long, \"long\");\n const normalizedShort = normalizeExtensionFlagName(definition.short, \"short\");\n const flag = normalizedLong ?? normalizedShort;\n if (!flag) {\n return null;\n }\n const contract: CliFlagContract = { flag };\n if (normalizedShort && normalizedLong) {\n contract.short = normalizedShort;\n }\n assignExtensionFlagBoolean(contract, \"required\", definition.required === true);\n assignExtensionFlagBoolean(contract, \"repeatable\", definition.repeatable === true);\n assignExtensionFlagBoolean(contract, \"list\", definition.list === true);\n const description = toOptionalTrimmedString(definition.description);\n if (description) {\n contract.description = description;\n }\n const valueName = toOptionalTrimmedString(definition.value_name);\n if (valueName) {\n contract.value_name = valueName;\n }\n const rawValueType = [\n toOptionalTrimmedString(definition.value_type),\n toOptionalTrimmedString(definition.type),\n valueName ? \"string\" : null,\n ].find((candidate): candidate is \"string\" | \"number\" | \"boolean\" =>\n candidate === \"string\" || candidate === \"number\" || candidate === \"boolean\",\n );\n if (rawValueType) {\n contract.value_type = rawValueType;\n }\n return contract;\n}\n\nfunction collectExtensionFlagContractsByCommand(\n registrations: RegisteredExtensionFlagDefinitions[],\n): Map<\n string,\n {\n flags: CliFlagContract[];\n sources: Array<{ layer: \"global\" | \"project\"; name: string }>;\n }\n> {\n const grouped = new Map<\n string,\n {\n flags: CliFlagContract[];\n sources: Array<{ layer: \"global\" | \"project\"; name: string }>;\n dedupe: Set<string>;\n sourceDedupe: Set<string>;\n }\n >();\n for (const registration of registrations) {\n const commandPath = normalizeCommandPath(registration.target_command);\n if (commandPath.length === 0) {\n continue;\n }\n const bucket = grouped.get(commandPath) ?? {\n flags: [],\n sources: [],\n dedupe: new Set<string>(),\n sourceDedupe: new Set<string>(),\n };\n const sourceKey = `${registration.layer}:${registration.name}`;\n if (!bucket.sourceDedupe.has(sourceKey)) {\n bucket.sourceDedupe.add(sourceKey);\n bucket.sources.push({\n layer: registration.layer,\n name: registration.name,\n });\n }\n for (const definition of registration.flags) {\n const contract = toExtensionFlagContract(definition);\n if (!contract) {\n continue;\n }\n const key = `${contract.flag}|${contract.short ?? \"\"}`;\n if (bucket.dedupe.has(key)) {\n continue;\n }\n bucket.dedupe.add(key);\n bucket.flags.push(contract);\n }\n grouped.set(commandPath, bucket);\n }\n const normalized = new Map<\n string,\n {\n flags: CliFlagContract[];\n sources: Array<{ layer: \"global\" | \"project\"; name: string }>;\n }\n >();\n for (const [commandPath, bucket] of grouped.entries()) {\n normalized.set(commandPath, {\n flags: bucket.flags,\n sources: bucket.sources.sort((left, right) => {\n const layerOrder = left.layer.localeCompare(right.layer);\n if (layerOrder !== 0) {\n return layerOrder;\n }\n return (left.name ?? \"\").localeCompare(right.name ?? \"\");\n }),\n });\n }\n return normalized;\n}\n\nfunction collectExtensionCommandContracts(\n runtimeProbe: RuntimeExtensionActionProbe,\n): ExtensionCommandContract[] {\n const flagsByCommand = collectExtensionFlagContractsByCommand(\n runtimeProbe.flagRegistrations,\n );\n const definitionsByCommand = new Map<string, ExtensionCommandContract>();\n for (const definition of runtimeProbe.commandDefinitions) {\n const command = normalizeCommandPath(definition.command);\n if (command.length === 0) {\n continue;\n }\n const action =\n toOptionalTrimmedString(definition.action) ??\n normalizeActionNameFromCommand(command);\n const args = Array.isArray(definition.arguments)\n ? definition.arguments\n .map((argument) => {\n const name = toOptionalTrimmedString(argument.name);\n if (!name) {\n return null;\n }\n return {\n name,\n required: argument.required === true,\n variadic: argument.variadic === true,\n description: toOptionalTrimmedString(argument.description),\n };\n })\n .filter(\n (\n argument,\n ): argument is {\n name: string;\n required: boolean;\n variadic: boolean;\n description: string | null;\n } => argument !== null,\n )\n : [];\n definitionsByCommand.set(command, {\n command,\n action,\n source: {\n layer: definition.layer,\n name: definition.name,\n },\n description: toOptionalTrimmedString(definition.description),\n intent: toOptionalTrimmedString(definition.intent),\n arguments: args,\n flags: flagsByCommand.get(command)?.flags ?? [],\n examples: normalizeStringList(definition.examples),\n failure_hints: normalizeStringList(definition.failure_hints),\n });\n }\n\n const extensionCommands = new Set<string>();\n for (const command of runtimeProbe.handlers) {\n extensionCommands.add(normalizeCommandPath(command));\n }\n for (const command of definitionsByCommand.keys()) {\n extensionCommands.add(command);\n }\n for (const command of flagsByCommand.keys()) {\n extensionCommands.add(command);\n }\n\n const contracts: ExtensionCommandContract[] = [];\n for (const command of [...extensionCommands].sort((left, right) =>\n left.localeCompare(right),\n )) {\n const definition = definitionsByCommand.get(command);\n if (definition) {\n contracts.push({\n ...definition,\n flags:\n definition.flags.length > 0\n ? definition.flags\n : (flagsByCommand.get(command)?.flags ?? []),\n });\n continue;\n }\n contracts.push({\n command,\n action: normalizeActionNameFromCommand(command),\n source: null,\n description: null,\n intent: null,\n arguments: [],\n flags: flagsByCommand.get(command)?.flags ?? [],\n examples: [],\n failure_hints: [],\n });\n }\n return contracts;\n}\n\nfunction extensionSchemaPropertyNameFromFlag(\n flag: CliFlagContract,\n): string | null {\n const normalized = flag.flag.replace(/^-+/, \"\").trim();\n if (normalized.length === 0) {\n return null;\n }\n const camelCased = normalized.replace(\n /-([a-z0-9])/g,\n (_match, char: string) => char.toUpperCase(),\n );\n const cleaned = camelCased.replace(/[^a-zA-Z0-9]/g, \"\");\n return cleaned.length > 0 ? cleaned : null;\n}\n\nfunction buildExtensionArgumentSchema(\n argument: ExtensionCommandContract[\"arguments\"][number],\n action: string,\n): Record<string, unknown> {\n if (argument.variadic) {\n return {\n type: \"array\",\n items: { type: \"string\" },\n description:\n argument.description ??\n `Variadic argument '${argument.name}' for extension action '${action}'.`,\n };\n }\n return {\n type: \"string\",\n description:\n argument.description ??\n `Argument '${argument.name}' for extension action '${action}'.`,\n };\n}\n\nfunction buildExtensionFlagSchema(flag: CliFlagContract, action: string): Record<string, unknown> {\n const valueType = flag.value_type ?? \"boolean\";\n const schemaType = valueType === \"boolean\" ? \"boolean\" : valueType === \"number\" ? [\"number\", \"string\"] : \"string\";\n const acceptsMultipleValues = flag.repeatable === true || flag.list === true;\n return {\n type: acceptsMultipleValues ? \"array\" : schemaType,\n ...(acceptsMultipleValues ? { items: { type: schemaType } } : {}),\n description: flag.description ?? `Extension option '${flag.flag}' for action '${action}'.`,\n };\n}\n\nfunction buildExtensionActionSchemaBranch(\n contract: ExtensionCommandContract,\n): Record<string, unknown> {\n const commands = contract.command\n .split(\"|\")\n .map((command) => command.trim())\n .filter((command) => command.length > 0);\n const properties: Record<string, unknown> = {\n action: {\n type: \"string\",\n const: contract.action,\n description:\n contract.intent ??\n contract.description ??\n `Invoke extension command '${contract.command}'.`,\n },\n };\n const required: string[] = [\"action\"];\n for (const argument of contract.arguments) {\n properties[argument.name] = buildExtensionArgumentSchema(argument, contract.action);\n if (argument.required) {\n required.push(argument.name);\n }\n }\n for (const flag of contract.flags) {\n const propertyName = extensionSchemaPropertyNameFromFlag(flag);\n if (!propertyName || properties[propertyName] !== undefined) {\n continue;\n }\n properties[propertyName] = buildExtensionFlagSchema(flag, contract.action);\n if (flag.required === true) {\n required.push(propertyName);\n }\n }\n\n return {\n type: \"object\",\n properties,\n required,\n additionalProperties: true,\n \"x-extension-source\": contract.source,\n \"x-extension-command\": commands[0] ?? contract.command,\n \"x-extension-commands\": commands,\n };\n}\n\nfunction mergeExtensionFlagContract(existing: CliFlagContract, incoming: CliFlagContract): void {\n existing.description ??= incoming.description;\n existing.value_name ??= incoming.value_name;\n existing.value_type ??= incoming.value_type;\n if (incoming.required === true) {\n existing.required = true;\n }\n if (incoming.repeatable === true) {\n existing.repeatable = true;\n }\n}\n\nfunction mergeExtensionContractsByAction(\n contracts: ExtensionCommandContract[],\n): ExtensionCommandContract[] {\n const byAction = new Map<string, ExtensionCommandContract>();\n for (const contract of contracts) {\n const existing = byAction.get(contract.action);\n if (!existing) {\n byAction.set(contract.action, {\n ...contract,\n flags: [...contract.flags],\n examples: [...contract.examples],\n failure_hints: [...contract.failure_hints],\n });\n continue;\n }\n existing.command = [...new Set([existing.command, contract.command])]\n .sort((left, right) => left.localeCompare(right))\n .join(\"|\");\n existing.arguments = existing.arguments.length >= contract.arguments.length ? existing.arguments : contract.arguments;\n const flagKeys = new Set(existing.flags.map((flag) => `${flag.flag}|${flag.short ?? \"\"}`));\n for (const flag of contract.flags) {\n const key = `${flag.flag}|${flag.short ?? \"\"}`;\n if (!flagKeys.has(key)) {\n flagKeys.add(key);\n existing.flags.push(flag);\n } else {\n const existingFlag = existing.flags.find((candidate) => `${candidate.flag}|${candidate.short ?? \"\"}` === key);\n if (existingFlag) {\n mergeExtensionFlagContract(existingFlag, flag);\n }\n }\n }\n existing.examples = [...new Set([...existing.examples, ...contract.examples])];\n existing.failure_hints = [...new Set([...existing.failure_hints, ...contract.failure_hints])];\n }\n return [...byAction.values()].sort((left, right) => left.action.localeCompare(right.action));\n}\n/* c8 ignore stop */\n\nasync function resolveRuntimeExtensionActionProbe(\n global: GlobalOptions,\n): Promise<RuntimeExtensionActionProbe> {\n const defaultPolicyState = {\n mode: SETTINGS_DEFAULTS.extensions.policy.mode,\n trust_mode: SETTINGS_DEFAULTS.extensions.policy.trust_mode,\n default_sandbox_profile:\n SETTINGS_DEFAULTS.extensions.policy.default_sandbox_profile,\n };\n if (global.noExtensions) {\n return {\n handlers: new Set<string>(),\n disabledReason: \"extensions_disabled\",\n commandDefinitions: [],\n flagRegistrations: [],\n registrations: null,\n policyState: defaultPolicyState,\n };\n }\n\n const pmRoot = resolvePmRoot(process.cwd(), global.path);\n if (!(await pathExists(getSettingsPath(pmRoot)))) {\n return {\n handlers: new Set<string>(),\n disabledReason: null,\n commandDefinitions: [],\n flagRegistrations: [],\n registrations: null,\n policyState: defaultPolicyState,\n };\n }\n\n try {\n const settings = await readSettings(pmRoot);\n const loadResult = await loadExtensions({\n pmRoot,\n settings,\n cwd: process.cwd(),\n noExtensions: false,\n });\n const activationResult = await activateExtensions({\n ...loadResult,\n loaded: loadResult.loaded,\n });\n const handlers = new Set<string>(\n activationResult.commands.handlers.map((entry) =>\n normalizeCommandPath(entry.command),\n ),\n );\n return {\n handlers,\n disabledReason: null,\n commandDefinitions: activationResult.registrations.commands,\n flagRegistrations: activationResult.registrations.flags,\n registrations: activationResult.registrations,\n policyState: {\n mode: loadResult.policy.mode,\n trust_mode: loadResult.policy.trust_mode,\n default_sandbox_profile: loadResult.policy.default_sandbox_profile,\n },\n };\n } catch {\n return {\n handlers: new Set<string>(),\n disabledReason: \"extension_runtime_probe_failed\",\n commandDefinitions: [],\n flagRegistrations: [],\n registrations: null,\n policyState: defaultPolicyState,\n };\n }\n}\n\ninterface ActionContractDescriptor {\n action: string;\n provider: \"core\" | \"extension\";\n requires_extension: boolean;\n command_path: string | null;\n}\n\nfunction collectActionContractDescriptors(\n extensionContracts: ExtensionCommandContract[],\n options: { includePackageOwnedActions?: boolean } = {},\n): ActionContractDescriptor[] {\n /* c8 ignore start -- package-owned action descriptor permutations are covered in package-install integration suites. */\n const descriptors = new Map<string, ActionContractDescriptor>();\n for (const action of PM_TOOL_ACTIONS) {\n const packageOwned = PACKAGE_OWNED_ACTIONS.has(action);\n if (packageOwned && !options.includePackageOwnedActions) {\n continue;\n }\n const commandPath = resolveActionCommandPath(action as PmToolAction);\n descriptors.set(action, {\n action,\n provider: packageOwned ? \"extension\" : \"core\",\n requires_extension: packageOwned,\n command_path: commandPath,\n });\n }\n if (options.includePackageOwnedActions) {\n for (const action of PACKAGE_OWNED_ACTIONS) {\n if (descriptors.has(action)) {\n continue;\n }\n descriptors.set(action, {\n action,\n provider: \"extension\",\n requires_extension: true,\n command_path: resolveActionCommandPath(action as PmToolAction),\n });\n }\n }\n for (const contract of extensionContracts) {\n if (descriptors.has(contract.action)) {\n continue;\n }\n descriptors.set(contract.action, {\n action: contract.action,\n provider: \"extension\",\n requires_extension: true,\n command_path: normalizeCommandPath(contract.command),\n });\n }\n return [...descriptors.values()].sort((left, right) =>\n (left.action ?? \"\").localeCompare(right.action ?? \"\"),\n );\n /* c8 ignore stop */\n}\n\nfunction resolveActionAvailability(\n descriptor: ActionContractDescriptor,\n runtimeProbe: RuntimeExtensionActionProbe,\n): ContractsActionAvailability {\n /* c8 ignore start -- runtime extension availability branches are exercised in extension policy integration tests. */\n if (descriptor.provider === \"core\" && !descriptor.requires_extension) {\n return {\n action: descriptor.action,\n invocable: true,\n available: true,\n requires_extension: false,\n provider: \"core\",\n disabled_reason: null,\n command_path: descriptor.command_path,\n cli_exposed: descriptor.command_path !== null,\n };\n }\n\n const commandPaths = descriptor.command_path\n ? splitCommandPathAliases(descriptor.command_path)\n : [];\n const extensionCommandAvailable = commandPaths.some((commandPath) =>\n runtimeProbe.handlers.has(commandPath),\n );\n const optionalPackageHint = commandPaths\n .map((commandPath) => PACKAGE_OWNED_COMMAND_INSTALL_HINTS.get(commandPath))\n .find((hint): hint is string => typeof hint === \"string\");\n const invocable =\n runtimeProbe.disabledReason === null && extensionCommandAvailable;\n return {\n action: descriptor.action,\n invocable,\n available: invocable,\n requires_extension: true,\n provider: \"extension\",\n disabled_reason: invocable\n ? null\n : (runtimeProbe.disabledReason ?? (optionalPackageHint ? `optional_package_not_installed:${optionalPackageHint}` : \"extension_command_not_registered\")),\n command_path: descriptor.command_path,\n cli_exposed: extensionCommandAvailable,\n policy_state: {\n mode: runtimeProbe.policyState.mode,\n trust_mode: runtimeProbe.policyState.trust_mode,\n default_sandbox_profile: runtimeProbe.policyState.default_sandbox_profile,\n },\n };\n /* c8 ignore stop */\n}\n\nfunction resolveCoreCommandFlags(command: string): CliFlagContract[] {\n return CORE_COMMAND_FLAG_CONTRACTS_BY_COMMAND.get(command) ?? GLOBAL_FLAG_CONTRACTS;\n}\n\nfunction isCoreCommandPath(command: string): boolean {\n if (PACKAGE_OWNED_COMMANDS.has(command)) {\n return false;\n }\n return CORE_COMMAND_FLAG_CONTRACTS_BY_COMMAND.has(command);\n}\n\nfunction normalizeCommandForRuntimeFieldFlags(command: string): string {\n if (LIST_COMMAND_NAMES.has(command)) {\n return \"list\";\n }\n if (command === \"cal\") {\n return \"calendar\";\n }\n if (command === \"ctx\") {\n return \"context\";\n }\n if (command === \"update-many\") {\n return \"update_many\";\n }\n return command;\n}\n\nfunction toRuntimeLongFlagToken(token: string): string | null {\n const trimmed = token.trim();\n if (!trimmed) {\n return null;\n }\n if (trimmed.startsWith(\"--\")) {\n return trimmed;\n }\n if (trimmed.startsWith(\"-\")) {\n return null;\n }\n return `--${trimmed}`;\n}\n\nfunction toRuntimeShortFlagToken(token: string): string | null {\n const trimmed = token.trim();\n if (!trimmed) {\n return null;\n }\n if (trimmed.startsWith(\"--\")) {\n return null;\n }\n if (trimmed.startsWith(\"-\")) {\n return trimmed;\n }\n return null;\n}\n\nfunction buildRuntimeFieldFlagContracts(\n fieldRegistry: RuntimeFieldRegistry,\n): Map<string, CliFlagContract[]> {\n /* c8 ignore start -- runtime-field alias collision branches are validated in schema/runtime flag integration tests. */\n const buckets = new Map<\n string,\n { flags: CliFlagContract[]; seen: Set<string> }\n >();\n for (const definition of fieldRegistry.definitions) {\n const primaryFlag = toRuntimeLongFlagToken(definition.cli_flag);\n if (!primaryFlag) {\n continue;\n }\n const shortAlias = definition.cli_aliases\n .map((alias) => toRuntimeShortFlagToken(alias))\n .find((alias) => alias !== null);\n const longAliases = definition.cli_aliases\n .map((alias) => toRuntimeLongFlagToken(alias))\n .filter(\n (alias): alias is string => alias !== null && alias !== primaryFlag,\n );\n for (const command of definition.commands) {\n const bucket = buckets.get(command) ?? {\n flags: [],\n seen: new Set<string>(),\n };\n const primaryContract: CliFlagContract = shortAlias\n ? { flag: primaryFlag, short: shortAlias }\n : { flag: primaryFlag };\n const primaryKey = `${primaryContract.flag}|${primaryContract.short ?? \"\"}`;\n if (!bucket.seen.has(primaryKey)) {\n bucket.seen.add(primaryKey);\n bucket.flags.push(primaryContract);\n }\n for (const alias of longAliases) {\n const key = `${alias}|`;\n if (bucket.seen.has(key)) {\n continue;\n }\n bucket.seen.add(key);\n bucket.flags.push({ flag: alias });\n }\n buckets.set(command, bucket);\n }\n }\n const result = new Map<string, CliFlagContract[]>();\n for (const [command, bucket] of buckets.entries()) {\n result.set(command, compactFlagAliasContracts(bucket.flags));\n }\n return result;\n /* c8 ignore stop */\n}\n\nfunction mergeFlagContracts(\n primary: CliFlagContract[],\n secondary: CliFlagContract[],\n): CliFlagContract[] {\n /* c8 ignore start -- flag merge dedupe permutations are covered via command-surface integration fixtures. */\n const merged: CliFlagContract[] = [];\n const seen = new Set<string>();\n for (const contract of [...primary, ...secondary]) {\n const key = `${contract.flag}|${contract.short ?? \"\"}`;\n if (seen.has(key)) {\n continue;\n }\n seen.add(key);\n merged.push(contract);\n }\n return compactFlagAliasContracts(merged);\n /* c8 ignore stop */\n}\n\nfunction buildCommandFlagSurface(\n commands: string[],\n extensionFlagMap: ReturnType<typeof collectExtensionFlagContractsByCommand>,\n runtimeFieldFlagMap: Map<string, CliFlagContract[]>,\n): CommandFlagSurface[] {\n return commands\n .map((command) => {\n const isCoreCommand = isCoreCommandPath(command);\n const coreFlags = isCoreCommand ? resolveCoreCommandFlags(command) : [];\n const runtimeFlags =\n runtimeFieldFlagMap.get(\n normalizeCommandForRuntimeFieldFlags(command),\n ) ?? [];\n const extensionFlags = extensionFlagMap.get(command);\n const coreWithRuntime = mergeFlagContracts(coreFlags, runtimeFlags);\n const flags = mergeFlagContracts(\n coreWithRuntime,\n extensionFlags?.flags ?? [],\n );\n const provider: CommandFlagSurface[\"provider\"] =\n coreFlags.length > 0 && (extensionFlags?.flags.length ?? 0) > 0\n ? \"mixed\"\n : isCoreCommand\n ? \"core\"\n : \"extension\";\n return {\n command,\n flags,\n provider,\n extension_sources: extensionFlags?.sources,\n };\n })\n .sort((left, right) => left.command.localeCompare(right.command));\n}\n\nfunction compactCommandAliasSurface(commands: string[]): string[] {\n const commandSet = new Set(commands);\n const result: string[] = [];\n for (const command of commands) {\n const canonical = COMMAND_ALIAS_TO_CANONICAL.get(command);\n if (canonical && commandSet.has(canonical)) {\n continue;\n }\n result.push(command);\n }\n return result;\n}\n\nfunction buildCommandAliasSurface(commands: string[]): CommandAliasSurface[] {\n const commandSet = new Set(commands);\n return CANONICAL_COMMAND_ALIASES.map((entry) => ({\n canonical: entry.canonical,\n aliases: entry.aliases.filter((alias) => commandSet.has(alias)),\n })).filter(\n (entry) => commandSet.has(entry.canonical) && entry.aliases.length > 0,\n );\n}\n\nfunction buildCommanderAliasSurface(): Record<\n string,\n CommanderOptionAliasContract[]\n> {\n return {\n create_string_options: CREATE_COMMANDER_STRING_OPTION_CONTRACTS,\n create_repeatable_options: CREATE_COMMANDER_REPEATABLE_OPTION_CONTRACTS,\n update_string_options: UPDATE_COMMANDER_STRING_OPTION_CONTRACTS,\n update_repeatable_options: UPDATE_COMMANDER_REPEATABLE_OPTION_CONTRACTS,\n list_string_options: LIST_COMMANDER_STRING_OPTION_CONTRACTS,\n search_string_options: SEARCH_COMMANDER_STRING_OPTION_CONTRACTS,\n calendar_string_options: CALENDAR_COMMANDER_STRING_OPTION_CONTRACTS,\n context_string_options: CONTEXT_COMMANDER_STRING_OPTION_CONTRACTS,\n activity_string_options: ACTIVITY_COMMANDER_STRING_OPTION_CONTRACTS,\n };\n}\n\nfunction resolveCreateRequiredOptionContract(\n typeDefinition: ReturnType<typeof resolveItemTypeRegistry>[\"by_type\"][string],\n createMode: \"strict\" | \"progressive\",\n): {\n required_option_keys: string[];\n required_flags: string[];\n required_type_options: string[];\n policy_errors: string[];\n} {\n /* c8 ignore start -- create-option policy shaping is validated by dedicated create command contract fixtures. */\n const baseRequiredOptions = new Set<string>([\"title\", \"type\"]);\n if (createMode === \"strict\") {\n for (const field of typeDefinition.required_create_fields) {\n baseRequiredOptions.add(field);\n }\n for (const field of typeDefinition.required_create_repeatables) {\n baseRequiredOptions.add(field);\n }\n }\n const policyState = resolveCommandOptionPolicyState(\n typeDefinition,\n \"create\",\n baseRequiredOptions,\n );\n const requiredOptionKeys = [...new Set(policyState.required)].sort(\n (left, right) => left.localeCompare(right),\n );\n const requiredFlags = [\n ...new Set(\n requiredOptionKeys.map((option) =>\n commandOptionFlagLabel(\"create\", option),\n ),\n ),\n ].sort((left, right) => left.localeCompare(right));\n const requiredTypeOptions = [\n ...new Set(\n typeDefinition.options\n .filter((option) => option.required === true)\n .map((option) => option.key),\n ),\n ].sort((left, right) => left.localeCompare(right));\n return {\n required_option_keys: requiredOptionKeys,\n required_flags: requiredFlags,\n required_type_options: requiredTypeOptions,\n policy_errors: [...new Set(policyState.errors)].sort((left, right) =>\n left.localeCompare(right),\n ),\n };\n /* c8 ignore stop */\n}\n\nfunction buildCreateRequiredOptionContracts(\n typeRegistry: ReturnType<typeof resolveItemTypeRegistry>,\n): Record<string, unknown> {\n const byTypeStrict: Record<string, unknown> = {};\n const byTypeProgressive: Record<string, unknown> = {};\n for (const typeName of [...typeRegistry.types].sort((left, right) =>\n left.localeCompare(right),\n )) {\n const typeDefinition = typeRegistry.by_type[typeName];\n byTypeStrict[typeName] = resolveCreateRequiredOptionContract(\n typeDefinition,\n \"strict\",\n );\n byTypeProgressive[typeName] = resolveCreateRequiredOptionContract(\n typeDefinition,\n \"progressive\",\n );\n }\n return {\n default_create_mode: \"strict\",\n by_create_mode: {\n strict: {\n by_type: byTypeStrict,\n },\n progressive: {\n by_type: byTypeProgressive,\n },\n },\n };\n}\n\nfunction attachCreateRequiredOptionContracts(\n schema: Record<string, unknown>,\n metadata: Record<string, unknown>,\n): Record<string, unknown> {\n const branches = extractActionBranches(schema);\n if (branches.length === 0) {\n return schema;\n }\n let touched = false;\n const enrichedBranches = branches.map((branch) => {\n const properties = branch.properties;\n if (typeof properties !== \"object\" || properties === null) {\n return branch;\n }\n const actionProperty = (properties as Record<string, unknown>).action;\n if (typeof actionProperty !== \"object\" || actionProperty === null) {\n return branch;\n }\n if ((actionProperty as { const?: unknown }).const !== \"create\") {\n return branch;\n }\n touched = true;\n return {\n ...branch,\n \"x-create-required-options\": metadata,\n };\n });\n if (!touched) {\n return schema;\n }\n return {\n ...schema,\n oneOf: enrichedBranches,\n };\n}\n\ninterface ContractsSelection {\n selectedAction: string | undefined;\n selectedCommand: string | undefined;\n summary: boolean;\n schemaOnly: boolean;\n flagsOnly: boolean;\n availabilityOnly: boolean;\n runtimeOnly: boolean;\n fullOutput: boolean;\n omitUnfilteredSchema: boolean;\n omitUnfilteredCommandFlags: boolean;\n omitUnfilteredCommanderAliases: boolean;\n}\n\ninterface ContractsRuntimeContext {\n settings: Awaited<ReturnType<typeof readSettings>>;\n runtimeProbe: RuntimeExtensionActionProbe;\n typeRegistry: ReturnType<typeof resolveItemTypeRegistry>;\n statusRegistry: ReturnType<typeof resolveRuntimeStatusRegistry>;\n runtimeFieldRegistry: RuntimeFieldRegistry;\n runtimeFieldFlagMap: Map<string, CliFlagContract[]>;\n createRequiredOptionContracts: Record<string, unknown>;\n extensionContracts: ExtensionCommandContract[];\n mergedExtensionContracts: ExtensionCommandContract[];\n extensionFlagMap: ReturnType<typeof collectExtensionFlagContractsByCommand>;\n}\n\ninterface ContractsActionContext {\n actionDescriptors: ActionContractDescriptor[];\n commandCatalog: string[];\n commandScopedDescriptors: ActionContractDescriptor[];\n scopedActionDescriptors: ActionContractDescriptor[];\n selectedPackageOwnedAction: string | undefined;\n actionAvailability: ContractsActionAvailability[];\n actions: string[];\n}\n\ninterface ContractsSchemaContext {\n mergedSchema: Record<string, unknown>;\n filteredSchema: Record<string, unknown>;\n}\n\nfunction resolveContractsSelection(options: ContractsCommandOptions): ContractsSelection {\n const summary = options.summary === true;\n const schemaOnly = options.schemaOnly === true;\n const flagsOnly = options.flagsOnly === true;\n const availabilityOnly = options.availabilityOnly === true;\n const runtimeOnly = options.runtimeOnly === true;\n const fullOutput = options.full === true;\n const selectedAction = normalizeToken(options.action);\n const selectedCommand = normalizeToken(options.command);\n const unfilteredDefaultBriefMode =\n !summary && !fullOutput && !schemaOnly && !flagsOnly && !availabilityOnly && !selectedAction && !selectedCommand;\n return {\n selectedAction,\n selectedCommand,\n summary,\n schemaOnly,\n flagsOnly,\n availabilityOnly,\n runtimeOnly,\n fullOutput,\n omitUnfilteredSchema: unfilteredDefaultBriefMode,\n omitUnfilteredCommandFlags: unfilteredDefaultBriefMode,\n omitUnfilteredCommanderAliases: unfilteredDefaultBriefMode,\n };\n}\n\nfunction assertSingleContractsProjection(selection: ContractsSelection): void {\n const projectionFlagsEnabled = [\n selection.summary,\n selection.schemaOnly,\n selection.flagsOnly,\n selection.availabilityOnly,\n ].filter((value) => value).length;\n if (projectionFlagsEnabled > 1) {\n throw new PmCliError(\n \"Choose only one projection flag: --summary, --schema-only, --flags-only, or --availability-only.\",\n EXIT_CODE.USAGE,\n );\n }\n}\n\nasync function readContractsSettings(pmRoot: string): Promise<Awaited<ReturnType<typeof readSettings>>> {\n try {\n return await readSettings(pmRoot);\n } catch {\n return structuredClone(SETTINGS_DEFAULTS);\n }\n}\n\nasync function resolveContractsRuntimeContext(\n global: GlobalOptions,\n pmRoot: string,\n): Promise<ContractsRuntimeContext> {\n const settings = await readContractsSettings(pmRoot);\n const runtimeProbe = await resolveRuntimeExtensionActionProbe(global);\n const typeRegistry = resolveItemTypeRegistry(\n settings,\n runtimeProbe.registrations ?? getActiveExtensionRegistrations(),\n );\n const runtimeFieldRegistry = resolveRuntimeFieldRegistry(settings.schema);\n const extensionContracts = collectExtensionCommandContracts(runtimeProbe);\n return {\n settings,\n runtimeProbe,\n typeRegistry,\n statusRegistry: resolveRuntimeStatusRegistry(settings.schema),\n runtimeFieldRegistry,\n runtimeFieldFlagMap: buildRuntimeFieldFlagContracts(runtimeFieldRegistry),\n createRequiredOptionContracts: buildCreateRequiredOptionContracts(typeRegistry),\n extensionContracts,\n mergedExtensionContracts: mergeExtensionContractsByAction(extensionContracts),\n extensionFlagMap: collectExtensionFlagContractsByCommand(runtimeProbe.flagRegistrations),\n };\n}\n\nfunction shouldIncludePackageOwnedActions(selection: ContractsSelection): boolean {\n return (\n selection.availabilityOnly &&\n ((selection.selectedAction !== undefined && PACKAGE_OWNED_ACTIONS.has(selection.selectedAction)) ||\n (selection.selectedCommand !== undefined && PACKAGE_OWNED_COMMANDS.has(selection.selectedCommand)))\n );\n}\n\nfunction collectContractsActionDescriptors(\n selection: ContractsSelection,\n mergedExtensionContracts: ExtensionCommandContract[],\n): ActionContractDescriptor[] {\n const actionDescriptors = collectActionContractDescriptors(mergedExtensionContracts, {\n includePackageOwnedActions: shouldIncludePackageOwnedActions(selection),\n });\n if (\n shouldIncludePackageOwnedActions(selection) &&\n selection.selectedCommand !== undefined &&\n PACKAGE_OWNED_COMMANDS.has(selection.selectedCommand) &&\n !actionDescriptors.some((entry) => entry.command_path === selection.selectedCommand)\n ) {\n actionDescriptors.push({\n action: packageOwnedActionForCommand(selection.selectedCommand),\n provider: \"extension\",\n requires_extension: true,\n command_path: selection.selectedCommand,\n });\n }\n return actionDescriptors;\n}\n\nfunction assertKnownContractsAction(selection: ContractsSelection, actionDescriptors: ActionContractDescriptor[]): void {\n const actionNames = new Set(actionDescriptors.map((entry) => entry.action));\n if (selection.selectedAction && !actionNames.has(selection.selectedAction)) {\n throw new PmCliError(`Unknown action: \"${selection.selectedAction}\".`, EXIT_CODE.USAGE);\n }\n}\n\nfunction buildContractsCommandCatalog(\n actionDescriptors: ActionContractDescriptor[],\n mergedExtensionContracts: ExtensionCommandContract[],\n): string[] {\n return [\n ...new Set([\n ...PM_CORE_COMMAND_NAMES.filter((entry) => !PACKAGE_OWNED_COMMANDS.has(entry)),\n ...[...CORE_COMMAND_FLAG_CONTRACTS_BY_COMMAND.keys()].filter((entry) => !PACKAGE_OWNED_COMMANDS.has(entry)),\n /* c8 ignore next -- action descriptors always include concrete command paths in command-scoped test fixtures. */\n ...actionDescriptors.flatMap((entry) => entry.command_path ? splitCommandPathAliases(entry.command_path) : []),\n ...mergedExtensionContracts.flatMap((entry) => entry.command.split(\"|\")),\n ]),\n ]\n .map((entry) => normalizeCommandPath(entry))\n .filter((entry) => entry.length > 0)\n .sort((left, right) => left.localeCompare(right));\n}\n\nfunction buildCommandNamespaceError(command: string, namespaceChildren: string[]): PmCliError {\n const displayedNamespaceChildren = namespaceChildren.slice(0, COMMAND_NAMESPACE_DISPLAY_LIMIT);\n const hiddenNamespaceChildCount = namespaceChildren.length - displayedNamespaceChildren.length;\n const displayedChildCommandList = hiddenNamespaceChildCount > 0\n ? `${displayedNamespaceChildren.join(\", \")}, and ${hiddenNamespaceChildCount} more`\n : displayedNamespaceChildren.join(\", \");\n const fallbackCandidates = namespaceChildren.slice(0, COMMAND_NAMESPACE_FALLBACK_LIMIT);\n const childCommandExamples = namespaceChildren\n .slice(0, 5)\n .map((childCommand) => `pm contracts --command \"${childCommand}\" --flags-only --json`);\n const suggestedChildCommand = namespaceChildren[0];\n return new PmCliError(\n `Command \"${command}\" is a command namespace. Choose a concrete child command: ${displayedChildCommandList}.`,\n EXIT_CODE.USAGE,\n {\n code: \"command_namespace\",\n required: \"Use a concrete child command path listed under this namespace.\",\n why:\n \"Command groups expose help at the namespace root, but command flag contracts belong to executable child commands.\",\n examples: childCommandExamples,\n nextSteps: [`Retry with a child command, for example: ${childCommandExamples[0]}`],\n recovery: {\n suggested_retry: `pm contracts --command \"${suggestedChildCommand}\" --flags-only --json`,\n fallback_candidates: fallbackCandidates.map((childCommand) => ({\n source: \"command_namespace\",\n command: `pm contracts --command \"${childCommand}\" --flags-only --json`,\n reason: `Child command under ${command}`,\n })),\n },\n },\n );\n}\n\nfunction buildPackageOwnedCommandError(command: string, packageHint: string): PmCliError {\n return new PmCliError(\n `Unknown command: \"${command}\". Command \"${command}\" is provided by the optional \"${packageHint}\" package. Run \"pm install ${packageHint} --project\" and retry.`,\n EXIT_CODE.USAGE,\n {\n code: \"unknown_command\",\n required: `Install the optional \"${packageHint}\" package, or choose a command from pm contracts --flags-only --json.`,\n why: \"Command contracts include core commands plus commands registered by active packages and extensions.\",\n examples: [`pm install ${packageHint} --project`, `pm contracts --command ${command} --flags-only --json`],\n nextSteps: [`Install the optional package first: pm install ${packageHint} --project`],\n recovery: {\n suggested_retry: `pm install ${packageHint} --project`,\n },\n },\n );\n}\n\nfunction buildUnknownCommandError(command: string): PmCliError {\n return new PmCliError(\n `Unknown command: \"${command}\".`,\n EXIT_CODE.USAGE,\n {\n code: \"unknown_command\",\n required: \"Use a command path listed by pm contracts --flags-only --json.\",\n why: \"Command contracts are generated from the active core, package, and extension command registry.\",\n examples: [\"pm contracts --flags-only --json\", \"pm --help\"],\n nextSteps: [\"Verify spelling and active packages/extensions, then rerun with a known command path.\"],\n recovery: {\n suggested_retry: \"pm contracts --flags-only --json\",\n },\n },\n );\n}\n\nfunction assertKnownContractsCommand(selection: ContractsSelection, commandCatalog: string[]): void {\n if (!selection.selectedCommand) {\n return;\n }\n const commandNames = new Set(commandCatalog);\n if (commandNames.has(selection.selectedCommand)) {\n return;\n }\n const namespaceChildren = commandCatalog.filter((command) => command.startsWith(`${selection.selectedCommand} `));\n if (namespaceChildren.length > 0) {\n throw buildCommandNamespaceError(selection.selectedCommand, namespaceChildren);\n }\n const packageHint = PACKAGE_OWNED_COMMAND_INSTALL_HINTS.get(selection.selectedCommand);\n if (packageHint) {\n throw buildPackageOwnedCommandError(selection.selectedCommand, packageHint);\n }\n throw buildUnknownCommandError(selection.selectedCommand);\n}\n\nfunction resolveContractsActionContext(\n selection: ContractsSelection,\n runtime: ContractsRuntimeContext,\n): ContractsActionContext {\n const actionDescriptors = collectContractsActionDescriptors(selection, runtime.mergedExtensionContracts);\n assertKnownContractsAction(selection, actionDescriptors);\n const commandCatalog = buildContractsCommandCatalog(actionDescriptors, runtime.mergedExtensionContracts);\n assertKnownContractsCommand(selection, commandCatalog);\n const selectedPackageOwnedAction = selection.selectedCommand\n ? PACKAGE_OWNED_COMMAND_ACTIONS.get(selection.selectedCommand)\n : undefined;\n const commandScopedDescriptors = selection.selectedCommand\n ? actionDescriptors.filter((descriptor) =>\n selectedPackageOwnedAction\n ? descriptor.action === selectedPackageOwnedAction\n : actionDescriptorMatchesSelectedCommand(descriptor, selection.selectedCommand as string),\n )\n : actionDescriptors;\n if (\n selection.selectedCommand &&\n selection.selectedAction &&\n !commandScopedDescriptors.some((descriptor) => descriptor.action === selection.selectedAction)\n ) {\n throw new PmCliError(\n `Action \"${selection.selectedAction}\" is not mapped to command \"${selection.selectedCommand}\" in contracts output.`,\n EXIT_CODE.USAGE,\n );\n }\n const scopedActionDescriptors = selection.selectedAction\n ? commandScopedDescriptors.filter((descriptor) => descriptor.action === selection.selectedAction)\n : commandScopedDescriptors;\n const allActionAvailability = [\n ...new Map(\n scopedActionDescriptors\n .map((descriptor) => resolveActionAvailability(descriptor, runtime.runtimeProbe))\n .map((entry) => [\n /* c8 ignore next -- keyed dedupe by action|path is covered by runtime policy integration tests. */\n selectedPackageOwnedAction ? entry.action : `${entry.action}|${entry.command_path ?? \"\"}`,\n entry,\n ] as const),\n ).values(),\n ];\n const actionAvailability =\n selection.runtimeOnly && !selection.selectedAction && !selection.availabilityOnly\n ? allActionAvailability.filter((entry) => entry.invocable)\n : allActionAvailability;\n return {\n actionDescriptors,\n commandCatalog,\n commandScopedDescriptors,\n scopedActionDescriptors,\n selectedPackageOwnedAction,\n actionAvailability,\n actions: [...new Set(actionAvailability.map((entry) => entry.action))],\n };\n}\n\nfunction buildSchemaActionSet(schema: Record<string, unknown>): Set<string> {\n return new Set(\n extractActionBranches(schema)\n .map((entry) => {\n const properties = entry.properties;\n /* c8 ignore start -- PM_TOOL_PARAMETERS_SCHEMA action branches always carry a properties object; the property-less fallback is validated in schema-level contract tests. */\n if (typeof properties !== \"object\" || properties === null) {\n return null;\n }\n /* c8 ignore stop */\n const actionProperty = (properties as Record<string, unknown>).action;\n /* c8 ignore start -- PM_TOOL_PARAMETERS_SCHEMA action branches always carry an action object; the missing-action fallback is validated in schema-level contract tests. */\n if (typeof actionProperty !== \"object\" || actionProperty === null) {\n return null;\n }\n /* c8 ignore stop */\n const actionConst = (actionProperty as { const?: unknown }).const;\n /* c8 ignore start -- the action.const is always a string in PM_TOOL_PARAMETERS_SCHEMA; the non-string fallback is validated in schema-level contract tests. */\n return typeof actionConst === \"string\" ? actionConst : null;\n /* c8 ignore stop */\n })\n .filter((entry): entry is string => entry !== null),\n );\n}\n\nfunction buildMergedContractsSchema(mergedExtensionContracts: ExtensionCommandContract[]): Record<string, unknown> {\n const schema = PM_TOOL_PARAMETERS_SCHEMA as Record<string, unknown>;\n const schemaBranches = extractActionBranches(schema);\n const schemaActionSet = buildSchemaActionSet(schema);\n const extensionBranches = mergedExtensionContracts\n .filter((contract) => !schemaActionSet.has(contract.action))\n .map((contract) => buildExtensionActionSchemaBranch(contract));\n return extensionBranches.length > 0\n ? {\n ...schema,\n oneOf: [...schemaBranches, ...extensionBranches],\n }\n : schema;\n}\n\nfunction filterContractsSchema(\n selection: ContractsSelection,\n actionContext: ContractsActionContext,\n mergedSchema: Record<string, unknown>,\n): Record<string, unknown> {\n const descriptorActionSet = new Set(actionContext.actionDescriptors.map((descriptor) => descriptor.action));\n const filteredSchema = selection.selectedAction\n ? filterSchemaByAction(mergedSchema, selection.selectedAction)\n : selection.selectedCommand\n ? filterSchemaByActions(\n mergedSchema,\n new Set(actionContext.scopedActionDescriptors.map((descriptor) => descriptor.action)),\n )\n : filterSchemaByActions(mergedSchema, descriptorActionSet);\n return selection.runtimeOnly && !selection.selectedAction\n ? filterSchemaByActions(filteredSchema, new Set(actionContext.actions))\n : filteredSchema;\n}\n\nfunction resolveContractsSchemaContext(\n selection: ContractsSelection,\n runtime: ContractsRuntimeContext,\n actionContext: ContractsActionContext,\n): ContractsSchemaContext {\n const mergedSchema = buildMergedContractsSchema(runtime.mergedExtensionContracts);\n const includeSchemaSurface = !selection.flagsOnly && !selection.availabilityOnly;\n const filteredSchema = includeSchemaSurface\n ? attachCreateRequiredOptionContracts(\n filterContractsSchema(selection, actionContext, mergedSchema),\n runtime.createRequiredOptionContracts,\n )\n : filterContractsSchema(selection, actionContext, mergedSchema);\n return { mergedSchema, filteredSchema };\n}\n\nfunction resolveContractsCommands(selection: ContractsSelection, actionContext: ContractsActionContext): string[] {\n if (selection.selectedCommand !== undefined) {\n return [selection.selectedCommand];\n }\n if (selection.selectedAction) {\n return resolveScopedCommandsFromActionDescriptors(\n actionContext.scopedActionDescriptors,\n actionContext.commandCatalog,\n );\n }\n return actionContext.commandCatalog;\n}\n\nfunction resolveOutputCommands(selection: ContractsSelection, commands: string[]): string[] {\n return selection.flagsOnly && selection.selectedCommand === undefined && selection.selectedAction === undefined\n ? compactCommandAliasSurface(commands)\n : commands;\n}\n\nfunction summarizeCommandIntent(command: string): string {\n const rootCommand = command.split(\" \")[0];\n return COMMAND_INTENTS.get(command) ??\n COMMAND_INTENTS.get(rootCommand) ??\n \"Inspect flags.\";\n}\n\nfunction canonicalSummaryCommand(command: string): string {\n const rootCommand = command.split(\" \")[0];\n if (rootCommand.startsWith(\"list-\")) {\n return \"list\";\n }\n if (rootCommand.startsWith(\"history-\")) {\n return \"history\";\n }\n if (rootCommand === \"ctx\") {\n return \"context\";\n }\n if (rootCommand === \"packages\") {\n return \"package\";\n }\n return COMMAND_ALIAS_TO_CANONICAL.get(rootCommand) ?? rootCommand;\n}\n\nfunction buildCommandSummarySurface(commands: readonly string[]): CommandSummarySurface[] {\n const rootCommands = [...new Set(commands.map((command) => canonicalSummaryCommand(command)))]\n .filter((command) => command.length > 0)\n .sort((left, right) => left.localeCompare(right));\n return rootCommands.map((command) => ({\n command,\n intent: summarizeCommandIntent(command),\n }));\n}\n\nfunction resolveExtensionCommandContracts(\n selection: ContractsSelection,\n runtime: ContractsRuntimeContext,\n outputCommands: string[],\n): ExtensionCommandContract[] {\n if (selection.selectedCommand) {\n return runtime.extensionContracts.filter((entry) =>\n splitCommandPathAliases(entry.command).includes(selection.selectedCommand as string),\n );\n }\n if (selection.selectedAction) {\n const outputCommandSet = new Set(outputCommands);\n return runtime.extensionContracts.filter((entry) =>\n splitCommandPathAliases(entry.command).some((command) => outputCommandSet.has(command)),\n );\n }\n return runtime.extensionContracts;\n}\n\nfunction createContractsResult(\n selection: ContractsSelection,\n schemaContext: ContractsSchemaContext,\n actionContext: ContractsActionContext,\n outputCommands: string[],\n): ContractsResult {\n return {\n schema_version:\n /* c8 ignore next -- schema version/id fallbacks are exercised by schema snapshot tests. */\n typeof schemaContext.mergedSchema[\"x-schema-version\"] === \"string\"\n ? (schemaContext.mergedSchema[\"x-schema-version\"] as string)\n : null,\n schema_id:\n /* c8 ignore next -- schema version/id fallbacks are exercised by schema snapshot tests. */\n typeof schemaContext.mergedSchema.$id === \"string\"\n ? (schemaContext.mergedSchema.$id as string)\n : null,\n selected: {\n action: selection.selectedAction ?? null,\n command: selection.selectedCommand ?? null,\n summary: selection.summary,\n schema_only: selection.schemaOnly,\n flags_only: selection.flagsOnly,\n availability_only: selection.availabilityOnly,\n runtime_only: selection.runtimeOnly,\n command_scoped: selection.selectedCommand !== undefined,\n },\n commands: selection.summary ? [] : outputCommands,\n ...(!selection.summary && !selection.flagsOnly\n ? {\n actions: actionContext.actions,\n action_availability: actionContext.actionAvailability,\n }\n : {}),\n };\n}\n\nfunction attachRuntimeContractsResult(result: ContractsResult, runtime: ContractsRuntimeContext): void {\n result.runtime_schema = {\n statuses: runtime.statusRegistry.definitions.map((definition) => definition.id),\n open_status: runtime.statusRegistry.open_status,\n close_status: runtime.statusRegistry.close_status,\n canceled_status: runtime.statusRegistry.canceled_status,\n types: [...runtime.typeRegistry.types],\n fields_by_command: Object.fromEntries(\n [...runtime.runtimeFieldRegistry.command_to_fields.entries()].map(([command, definitions]) => [\n command,\n [...new Set(definitions.map((definition) => `--${definition.cli_flag}`))].sort((left, right) =>\n left.localeCompare(right),\n ),\n ]),\n ),\n };\n result.extension_contracts = {\n capabilities: [...PM_EXTENSION_CAPABILITY_CONTRACTS],\n services: [...PM_EXTENSION_SERVICE_NAME_CONTRACTS],\n policy_modes: [...PM_EXTENSION_POLICY_MODE_CONTRACTS],\n policy_surfaces: [...PM_EXTENSION_POLICY_SURFACE_CONTRACTS],\n trust_modes: [...PM_EXTENSION_TRUST_MODE_CONTRACTS],\n sandbox_profiles: [...PM_EXTENSION_SANDBOX_PROFILE_CONTRACTS],\n manifest_versions: [1, 2],\n compatibility: {\n current: \"v2\",\n previous: [\"v1\"],\n breaking_strategy: \"versioned_breaking\",\n },\n };\n}\n\nfunction attachSchemaContractsResult(\n result: ContractsResult,\n selection: ContractsSelection,\n schemaContext: ContractsSchemaContext,\n extensionCommandContracts: ExtensionCommandContract[],\n): void {\n if (selection.flagsOnly || selection.availabilityOnly) {\n return;\n }\n if (!selection.omitUnfilteredSchema) {\n result.schema = schemaContext.filteredSchema;\n result.extension_commands = extensionCommandContracts;\n return;\n }\n result.schema_omitted_reason = \"unfiltered_default_brief\";\n result.extension_commands = extensionCommandContracts;\n}\n\nfunction attachFlagContractsResult(\n result: ContractsResult,\n selection: ContractsSelection,\n runtime: ContractsRuntimeContext,\n outputCommands: string[],\n commandAliases: CommandAliasSurface[],\n): void {\n if (selection.schemaOnly || selection.availabilityOnly) {\n return;\n }\n if (!selection.omitUnfilteredCommandFlags) {\n result.command_flags = buildCommandFlagSurface(\n outputCommands,\n runtime.extensionFlagMap,\n runtime.runtimeFieldFlagMap,\n );\n } else {\n result.command_flags_omitted_reason = \"unfiltered_default_brief\";\n }\n if (commandAliases.length > 0) {\n result.command_aliases = commandAliases;\n }\n}\n\nfunction attachCommanderAliasContractsResult(result: ContractsResult, selection: ContractsSelection): void {\n if (selection.schemaOnly || selection.flagsOnly || selection.availabilityOnly) {\n return;\n }\n if (!selection.omitUnfilteredCommanderAliases) {\n result.commander_aliases = buildCommanderAliasSurface();\n return;\n }\n result.commander_aliases_omitted_reason = \"unfiltered_default_brief\";\n}\n\n/**\n * Implements run contracts for the public runtime surface of this module.\n */\nexport async function runContracts(\n options: ContractsCommandOptions,\n global: GlobalOptions,\n): Promise<ContractsResult> {\n const selection = resolveContractsSelection(options);\n assertSingleContractsProjection(selection);\n const pmRoot = resolvePmRoot(process.cwd(), global.path);\n const runtime = await resolveContractsRuntimeContext(global, pmRoot);\n const actionContext = resolveContractsActionContext(selection, runtime);\n const schemaContext = resolveContractsSchemaContext(selection, runtime, actionContext);\n const commands = resolveContractsCommands(selection, actionContext);\n const outputCommands = resolveOutputCommands(selection, commands);\n const result = createContractsResult(selection, schemaContext, actionContext, outputCommands);\n\n if (selection.summary) {\n result.command_summaries = buildCommandSummarySurface(outputCommands);\n return result;\n }\n const commandAliases = buildCommandAliasSurface(commands);\n const extensionCommandContracts = resolveExtensionCommandContracts(selection, runtime, outputCommands);\n if (!(selection.flagsOnly && !selection.fullOutput)) {\n attachRuntimeContractsResult(result, runtime);\n }\n attachSchemaContractsResult(result, selection, schemaContext, extensionCommandContracts);\n attachFlagContractsResult(result, selection, runtime, outputCommands, commandAliases);\n attachCommanderAliasContractsResult(result, selection);\n\n // pm-4os2: snapshot the static MCP tool surface in the full projection so\n // `pnpm contracts:check` (CI static gate) fails on unintended inputSchema\n // drift in src/mcp/tool-definitions.ts.\n if (selection.fullOutput && !selection.schemaOnly && !selection.flagsOnly && !selection.availabilityOnly) {\n result.mcp_tools = buildMcpToolContracts();\n }\n\n return result;\n}\n\nexport const _testOnlyContractsCommand = {\n actionDescriptorMatchesSelectedCommand,\n attachCreateRequiredOptionContracts,\n buildExtensionActionSchemaBranch,\n buildCommandSummarySurface,\n buildRuntimeFieldFlagContracts,\n collectActionContractDescriptors,\n collectExtensionCommandContracts,\n collectExtensionFlagContractsByCommand,\n extractActionBranches,\n extensionSchemaPropertyNameFromFlag,\n filterSchemaByAction,\n filterSchemaByActions,\n isCoreCommandPath,\n mergeExtensionContractsByAction,\n normalizeExtensionFlagName,\n normalizeActionNameFromCommand,\n normalizeCommandForRuntimeFieldFlags,\n normalizeCommandPath,\n packageOwnedActionForCommand,\n resolveActionCommandPath,\n resolveActionAvailability,\n resolveCoreCommandFlags,\n resolveScopedCommandsFromActionDescriptors,\n splitCommandPathAliases,\n toRuntimeLongFlagToken,\n toRuntimeShortFlagToken,\n};\n"],"names":[],"mappings":"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","debugId":"1b0d78ea-6245-5c11-9a0a-2740289b0b1a"}
|