@unbrained/pm-cli 2026.6.24 → 2026.6.30
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 +93 -1
- package/CONTRIBUTING.md +30 -0
- package/README.md +16 -3
- package/dist/cli/commander-usage.js +3 -3
- package/dist/cli/commander-usage.js.map +1 -1
- package/dist/cli/commands/aggregate.js +8 -7
- package/dist/cli/commands/aggregate.js.map +1 -1
- package/dist/cli/commands/close.d.ts +2 -4
- package/dist/cli/commands/close.js +5 -17
- package/dist/cli/commands/close.js.map +1 -1
- package/dist/cli/commands/completion.js +158 -9
- package/dist/cli/commands/completion.js.map +1 -1
- package/dist/cli/commands/config.d.ts +1 -1
- package/dist/cli/commands/config.js +2 -2
- package/dist/cli/commands/config.js.map +1 -1
- package/dist/cli/commands/context.d.ts +31 -4
- package/dist/cli/commands/context.js +33 -10
- package/dist/cli/commands/context.js.map +1 -1
- package/dist/cli/commands/contracts.js +48 -8
- package/dist/cli/commands/contracts.js.map +1 -1
- package/dist/cli/commands/create.d.ts +1 -6
- package/dist/cli/commands/create.js +10 -155
- package/dist/cli/commands/create.js.map +1 -1
- package/dist/cli/commands/extension/describe.d.ts +15 -0
- package/dist/cli/commands/extension/describe.js +48 -2
- package/dist/cli/commands/extension/describe.js.map +1 -1
- package/dist/cli/commands/extension/doctor.js +5 -2
- package/dist/cli/commands/extension/doctor.js.map +1 -1
- package/dist/cli/commands/extension/install-sources.js +37 -7
- package/dist/cli/commands/extension/install-sources.js.map +1 -1
- package/dist/cli/commands/extension/scaffold.d.ts +31 -8
- package/dist/cli/commands/extension/scaffold.js +1891 -205
- package/dist/cli/commands/extension/scaffold.js.map +1 -1
- package/dist/cli/commands/extension.d.ts +22 -2
- package/dist/cli/commands/extension.js +186 -17
- package/dist/cli/commands/extension.js.map +1 -1
- package/dist/cli/commands/index.d.ts +3 -1
- package/dist/cli/commands/index.js +5 -3
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/item-filter-options.d.ts +63 -0
- package/dist/cli/commands/item-filter-options.js +10 -0
- package/dist/cli/commands/item-filter-options.js.map +1 -0
- package/dist/cli/commands/legacy-none-tokens.d.ts +14 -0
- package/dist/cli/commands/legacy-none-tokens.js +31 -2
- package/dist/cli/commands/legacy-none-tokens.js.map +1 -1
- package/dist/cli/commands/linked-artifacts.d.ts +7 -0
- package/dist/cli/commands/linked-artifacts.js +12 -2
- package/dist/cli/commands/linked-artifacts.js.map +1 -1
- package/dist/cli/commands/list.d.ts +16 -39
- package/dist/cli/commands/list.js +127 -118
- package/dist/cli/commands/list.js.map +1 -1
- package/dist/cli/commands/next.d.ts +98 -0
- package/dist/cli/commands/next.js +304 -0
- package/dist/cli/commands/next.js.map +1 -0
- package/dist/cli/commands/profile.d.ts +208 -0
- package/dist/cli/commands/profile.js +418 -0
- package/dist/cli/commands/profile.js.map +1 -0
- package/dist/cli/commands/repeatable-metadata-parsers.js +12 -13
- package/dist/cli/commands/repeatable-metadata-parsers.js.map +1 -1
- package/dist/cli/commands/schema.d.ts +7 -0
- package/dist/cli/commands/schema.js +9 -3
- package/dist/cli/commands/schema.js.map +1 -1
- package/dist/cli/commands/search.d.ts +2 -39
- package/dist/cli/commands/search.js +104 -106
- package/dist/cli/commands/search.js.map +1 -1
- package/dist/cli/commands/shared-unset-fields.d.ts +30 -0
- package/dist/cli/commands/shared-unset-fields.js +161 -0
- package/dist/cli/commands/shared-unset-fields.js.map +1 -0
- package/dist/cli/commands/stats.js +15 -3
- package/dist/cli/commands/stats.js.map +1 -1
- package/dist/cli/commands/test.js +9 -5
- package/dist/cli/commands/test.js.map +1 -1
- package/dist/cli/commands/update.d.ts +1 -6
- package/dist/cli/commands/update.js +12 -157
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/commands/validate.js +20 -5
- package/dist/cli/commands/validate.js.map +1 -1
- package/dist/cli/help-content.js +26 -2
- package/dist/cli/help-content.js.map +1 -1
- package/dist/cli/help-json-payload.js +3 -3
- package/dist/cli/help-json-payload.js.map +1 -1
- package/dist/cli/main.js +27 -12
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/register-list-query.js +42 -3
- package/dist/cli/register-list-query.js.map +1 -1
- package/dist/cli/register-mutation.js +86 -2
- package/dist/cli/register-mutation.js.map +1 -1
- package/dist/cli/register-setup.js +67 -6
- package/dist/cli/register-setup.js.map +1 -1
- package/dist/cli/registration-helpers.d.ts +9 -1
- package/dist/cli/registration-helpers.js +34 -3
- package/dist/cli/registration-helpers.js.map +1 -1
- package/dist/cli-bundle/chunks/activity-EJBMXUBH.js +16 -0
- package/dist/cli-bundle/chunks/{activity-N7RVTLBQ.js → activity-MVSEND6D.js} +9 -11
- package/dist/cli-bundle/chunks/{aggregate-63NWNIBR.js → aggregate-MOC4TR2G.js} +16 -17
- package/dist/cli-bundle/chunks/aggregate-MOC4TR2G.js.map +1 -0
- package/dist/cli-bundle/chunks/{aggregate-YHCYX2EV.js → aggregate-XJHLZQ5X.js} +15 -16
- package/dist/cli-bundle/chunks/aggregate-XJHLZQ5X.js.map +7 -0
- package/dist/cli-bundle/chunks/{append-PUKREFV5.js → append-KDHT4GHI.js} +10 -12
- package/dist/cli-bundle/chunks/{append-PUKREFV5.js.map → append-KDHT4GHI.js.map} +1 -1
- package/dist/cli-bundle/chunks/{append-VLQQDHMJ.js → append-LEDBAM3K.js} +8 -10
- package/dist/cli-bundle/chunks/{append-VLQQDHMJ.js.map → append-LEDBAM3K.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-F32L4HR6.js → chunk-3JWQCLR5.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-YV2OSAMS.js → chunk-4TXTVZL3.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-AYPQUFCX.js → chunk-4YIMPANT.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-ALKFCIIB.js → chunk-53ARXF2O.js} +9 -11
- package/dist/cli-bundle/chunks/{chunk-ALKFCIIB.js.map → chunk-53ARXF2O.js.map} +1 -1
- package/dist/cli-bundle/chunks/chunk-5ABGFWR4.js +116 -0
- package/dist/cli-bundle/chunks/chunk-5ABGFWR4.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-OF7V47P3.js → chunk-5IRVSKPS.js} +2990 -2890
- package/dist/cli-bundle/chunks/chunk-5IRVSKPS.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-XXKV4UWE.js → chunk-5T6WPLRO.js} +233 -190
- package/dist/cli-bundle/chunks/chunk-5T6WPLRO.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-SMXSDY7J.js → chunk-6T5ZIWBS.js} +3011 -2888
- package/dist/cli-bundle/chunks/chunk-6T5ZIWBS.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-RAWA3Y7O.js → chunk-6YRAMXRS.js} +111 -114
- package/dist/cli-bundle/chunks/chunk-6YRAMXRS.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-EOGBMLCE.js → chunk-73PTKMAE.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-GQYJEEFX.js → chunk-74PUWBGN.js} +53 -54
- package/dist/cli-bundle/chunks/chunk-74PUWBGN.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-JV27C7OZ.js → chunk-7L6TXOOC.js} +4 -6
- package/dist/cli-bundle/chunks/{chunk-JV27C7OZ.js.map → chunk-7L6TXOOC.js.map} +1 -1
- package/dist/cli-bundle/chunks/chunk-7M2HAZEB.js +17 -0
- package/dist/cli-bundle/chunks/chunk-7M2HAZEB.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-2WCYE3IF.js → chunk-7RIJGN4R.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-JKL6HRMV.js → chunk-7WDETKGP.js} +191 -117
- package/dist/cli-bundle/chunks/chunk-7WDETKGP.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-HBAEFWX3.js → chunk-A3UNLXNJ.js} +40 -260
- package/dist/cli-bundle/chunks/chunk-A3UNLXNJ.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-6EBNFQOR.js → chunk-AWN4PPH5.js} +10 -14
- package/dist/cli-bundle/chunks/{chunk-6EBNFQOR.js.map → chunk-AWN4PPH5.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-CZIFFMZI.js → chunk-BN3CWK6G.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-SUREE24M.js → chunk-BOWQWXLI.js} +12 -24
- package/dist/cli-bundle/chunks/chunk-BOWQWXLI.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-J3NMWFIN.js → chunk-C2KCIZKZ.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-TIM4OD74.js → chunk-CHRNYKNI.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-VSAABFGQ.js → chunk-CY5IJMUM.js} +1136 -419
- package/dist/cli-bundle/chunks/chunk-CY5IJMUM.js.map +1 -0
- package/dist/cli-bundle/chunks/chunk-CZVISY5A.js +87 -0
- package/dist/cli-bundle/chunks/chunk-CZVISY5A.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-UACWNBL2.js → chunk-D5LYZVGB.js} +7 -9
- package/dist/cli-bundle/chunks/{chunk-UACWNBL2.js.map → chunk-D5LYZVGB.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-KIEAK7YE.js → chunk-D6USKAMA.js} +2 -2
- package/dist/cli-bundle/chunks/{context-5LB7UGKE.js → chunk-DJDXAU74.js} +19 -21
- package/dist/cli-bundle/chunks/chunk-DJDXAU74.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-3BKH2CL3.js → chunk-DLDCPF5X.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-J7I4C5ZB.js → chunk-DORJSBGJ.js} +35 -9
- package/dist/cli-bundle/chunks/chunk-DORJSBGJ.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-DTABLLVE.js → chunk-DRPF274X.js} +5 -7
- package/dist/cli-bundle/chunks/{chunk-DTABLLVE.js.map → chunk-DRPF274X.js.map} +2 -2
- package/dist/cli-bundle/chunks/{chunk-6EL7SW5C.js → chunk-DU66JUGT.js} +16 -14
- package/dist/cli-bundle/chunks/chunk-DU66JUGT.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-CG3KP6I5.js → chunk-E2Q2ULMR.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-A66VYUOV.js → chunk-EVWYAG46.js} +9 -11
- package/dist/cli-bundle/chunks/{chunk-A66VYUOV.js.map → chunk-EVWYAG46.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-PEL2NLQE.js → chunk-F6VH3LFC.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-AEACLRVH.js → chunk-F7G53BOA.js} +18 -11
- package/dist/cli-bundle/chunks/chunk-F7G53BOA.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-ABYCA5VX.js → chunk-FBZ5XAAF.js} +9 -11
- package/dist/cli-bundle/chunks/{chunk-ABYCA5VX.js.map → chunk-FBZ5XAAF.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-5BBEWX6C.js → chunk-FDEVKXC4.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-4XDGYFHL.js → chunk-GF7EAR22.js} +10 -14
- package/dist/cli-bundle/chunks/{chunk-4XDGYFHL.js.map → chunk-GF7EAR22.js.map} +1 -1
- package/dist/cli-bundle/chunks/{context-55VEOYI3.js → chunk-HIBK6H4S.js} +20 -22
- package/dist/cli-bundle/chunks/chunk-HIBK6H4S.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-QOUOMPHO.js → chunk-HUYYMTGW.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-IBMFIKVS.js +14 -0
- package/dist/cli-bundle/chunks/chunk-IBMFIKVS.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-LU36E6GU.js → chunk-IBU2LLWM.js} +8 -12
- package/dist/cli-bundle/chunks/{chunk-LU36E6GU.js.map → chunk-IBU2LLWM.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-MEXZ5XUM.js → chunk-IDYCAK35.js} +53 -54
- package/dist/cli-bundle/chunks/chunk-IDYCAK35.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-VFJYVXHL.js → chunk-IF4ERU6A.js} +7 -9
- package/dist/cli-bundle/chunks/{chunk-VFJYVXHL.js.map → chunk-IF4ERU6A.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-KKX4Z2SE.js → chunk-IHXXUIXS.js} +4 -4
- package/dist/cli-bundle/chunks/chunk-IZQOJR2B.js +2459 -0
- package/dist/cli-bundle/chunks/chunk-IZQOJR2B.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-F4BNR2IN.js → chunk-JIP67N2K.js} +3 -3
- package/dist/cli-bundle/chunks/chunk-JJ4SG243.js +119 -0
- package/dist/cli-bundle/chunks/chunk-JJ4SG243.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-EWRSXOIZ.js → chunk-JTRKME24.js} +11 -13
- package/dist/cli-bundle/chunks/{chunk-EWRSXOIZ.js.map → chunk-JTRKME24.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-V4UYNSEM.js → chunk-JVQ7UOYC.js} +6 -8
- package/dist/cli-bundle/chunks/{chunk-V4UYNSEM.js.map → chunk-JVQ7UOYC.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-L7UXKP2I.js → chunk-JZG5ADVE.js} +190 -102
- package/dist/cli-bundle/chunks/chunk-JZG5ADVE.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-N5B6WZC5.js → chunk-K46GQ265.js} +17 -15
- package/dist/cli-bundle/chunks/chunk-K46GQ265.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-KJZOSF7J.js → chunk-KGQ3W65B.js} +100 -35
- package/dist/cli-bundle/chunks/chunk-KGQ3W65B.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-FMWW2JDU.js → chunk-KRASIL6M.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-XVYKWZNL.js → chunk-KTMMTOIP.js} +127 -127
- package/dist/cli-bundle/chunks/chunk-KTMMTOIP.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-HZF5RLKX.js → chunk-KYDYQMNW.js} +5 -7
- package/dist/cli-bundle/chunks/{chunk-HZF5RLKX.js.map → chunk-KYDYQMNW.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-OHDQNKJB.js → chunk-LBH7UYKY.js} +106 -34
- package/dist/cli-bundle/chunks/chunk-LBH7UYKY.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-I6QMJ2XT.js → chunk-MLHX6DN5.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-HC2S36NB.js → chunk-NIBP3I7A.js} +36 -10
- package/dist/cli-bundle/chunks/chunk-NIBP3I7A.js.map +1 -0
- package/dist/cli-bundle/chunks/{schema-C6QA367T.js → chunk-NO6Y6FB2.js} +144 -67
- package/dist/cli-bundle/chunks/chunk-NO6Y6FB2.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-5S4ZGDB2.js → chunk-OB3RJV5F.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-OKQ22KTH.js +379 -0
- package/dist/cli-bundle/chunks/chunk-OKQ22KTH.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-SKC4UTRP.js → chunk-OUQ5JEFM.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-JPJDP4VU.js → chunk-QE5UFCCO.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-6W3Y65PL.js → chunk-RM6MHL6A.js} +110 -113
- package/dist/cli-bundle/chunks/chunk-RM6MHL6A.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-RRP6D345.js → chunk-RPRW26NG.js} +12 -16
- package/dist/cli-bundle/chunks/{chunk-RRP6D345.js.map → chunk-RPRW26NG.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-WB5BYQMF.js → chunk-SJZTPVFT.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-EYPINTFR.js → chunk-SNUK7H5J.js} +1164 -440
- package/dist/cli-bundle/chunks/chunk-SNUK7H5J.js.map +7 -0
- package/dist/cli-bundle/chunks/chunk-T7ZMQI4J.js +2435 -0
- package/dist/cli-bundle/chunks/chunk-T7ZMQI4J.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-GDUMGZK3.js → chunk-TQ6E76BE.js} +11 -13
- package/dist/cli-bundle/chunks/{chunk-GDUMGZK3.js.map → chunk-TQ6E76BE.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-IAP5KYBQ.js → chunk-UB3V5WUI.js} +225 -189
- package/dist/cli-bundle/chunks/chunk-UB3V5WUI.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-PRVTGX64.js → chunk-UFKNF23C.js} +11 -23
- package/dist/cli-bundle/chunks/chunk-UFKNF23C.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-ZLWRPBOW.js → chunk-V3KLX7U7.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-LNEDHJNQ.js → chunk-VD3LKZFX.js} +41 -254
- package/dist/cli-bundle/chunks/chunk-VD3LKZFX.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-MWMHZOZZ.js → chunk-VMY7MZEM.js} +10 -14
- package/dist/cli-bundle/chunks/{chunk-MWMHZOZZ.js.map → chunk-VMY7MZEM.js.map} +1 -1
- package/dist/cli-bundle/chunks/chunk-VZDBVEZR.js +382 -0
- package/dist/cli-bundle/chunks/chunk-VZDBVEZR.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-M6TUBOGW.js → chunk-WFJZDUM7.js} +19 -12
- package/dist/cli-bundle/chunks/chunk-WFJZDUM7.js.map +1 -0
- package/dist/cli-bundle/chunks/{schema-QO5I4FBL.js → chunk-WTRUDJ3R.js} +136 -66
- package/dist/cli-bundle/chunks/chunk-WTRUDJ3R.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-TSI32UEL.js → chunk-YEDFE4DC.js} +6 -8
- package/dist/cli-bundle/chunks/{chunk-TSI32UEL.js.map → chunk-YEDFE4DC.js.map} +1 -1
- package/dist/cli-bundle/chunks/chunk-YJIEJRZB.js +84 -0
- package/dist/cli-bundle/chunks/chunk-YJIEJRZB.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-ALQKV6U7.js → chunk-Z55WX4IQ.js} +12 -16
- package/dist/cli-bundle/chunks/{chunk-ALQKV6U7.js.map → chunk-Z55WX4IQ.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-OQ2E64FH.js → chunk-Z5BM2FKQ.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-IXAZI443.js → chunk-ZEATCVAC.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-C4C3EJCJ.js → chunk-ZFIEEDTJ.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-BFFO3AIB.js → chunk-ZIE6WXJ2.js} +128 -128
- package/dist/cli-bundle/chunks/chunk-ZIE6WXJ2.js.map +1 -0
- package/dist/cli-bundle/chunks/{claim-FZZZCAY6.js → claim-6NINZYB3.js} +10 -12
- package/dist/cli-bundle/chunks/{claim-FZZZCAY6.js.map → claim-6NINZYB3.js.map} +1 -1
- package/dist/cli-bundle/chunks/{claim-XK5QBZE3.js → claim-HMCLSLUE.js} +8 -10
- package/dist/cli-bundle/chunks/{claim-XK5QBZE3.js.map → claim-HMCLSLUE.js.map} +1 -1
- package/dist/cli-bundle/chunks/close-37KEHLYM.js +14 -0
- package/dist/cli-bundle/chunks/{close-QHMVWM7M.js → close-OP3LK7Z2.js} +7 -8
- package/dist/cli-bundle/chunks/{close-many-OIXJE2JZ.js → close-many-BFMP6HHK.js} +15 -17
- package/dist/cli-bundle/chunks/{close-many-OIXJE2JZ.js.map → close-many-BFMP6HHK.js.map} +1 -1
- package/dist/cli-bundle/chunks/{close-many-SUU5BS2C.js → close-many-CXJBOWWY.js} +17 -19
- package/dist/cli-bundle/chunks/{close-many-SUU5BS2C.js.map → close-many-CXJBOWWY.js.map} +1 -1
- package/dist/cli-bundle/chunks/{comments-RH3IBIRH.js → comments-ETHABIY6.js} +9 -11
- package/dist/cli-bundle/chunks/{comments-RH3IBIRH.js.map → comments-ETHABIY6.js.map} +1 -1
- package/dist/cli-bundle/chunks/{comments-5YM62D75.js → comments-MU2WMBUY.js} +11 -13
- package/dist/cli-bundle/chunks/{comments-5YM62D75.js.map → comments-MU2WMBUY.js.map} +1 -1
- package/dist/cli-bundle/chunks/{config-NCNNWF6R.js → config-FIXJZEQK.js} +18 -387
- package/dist/cli-bundle/chunks/config-FIXJZEQK.js.map +7 -0
- package/dist/cli-bundle/chunks/{config-SW3U7XP2.js → config-X3ZVCUUG.js} +18 -380
- package/dist/cli-bundle/chunks/config-X3ZVCUUG.js.map +1 -0
- package/dist/cli-bundle/chunks/context-7ZEZV3BV.js +42 -0
- package/dist/cli-bundle/chunks/context-XDI4DKKT.js +46 -0
- package/dist/cli-bundle/chunks/{contracts-JXFGBOYT.js → contracts-KP4QAGVW.js} +72 -15
- package/dist/cli-bundle/chunks/contracts-KP4QAGVW.js.map +1 -0
- package/dist/cli-bundle/chunks/{contracts-SY6PDFIK.js → contracts-SMOAN5NF.js} +72 -15
- package/dist/cli-bundle/chunks/contracts-SMOAN5NF.js.map +7 -0
- package/dist/cli-bundle/chunks/{copy-N3GE6FYS.js → copy-CWM6SBY6.js} +7 -11
- package/dist/cli-bundle/chunks/{copy-N3GE6FYS.js.map → copy-CWM6SBY6.js.map} +1 -1
- package/dist/cli-bundle/chunks/{copy-IEDBJOOX.js → copy-JJ3KOQW2.js} +9 -13
- package/dist/cli-bundle/chunks/{copy-IEDBJOOX.js.map → copy-JJ3KOQW2.js.map} +1 -1
- package/dist/cli-bundle/chunks/create-DFMNBKBS.js +28 -0
- package/dist/cli-bundle/chunks/{create-O4VONGPG.js → create-J5Q2ELZT.js} +12 -14
- package/dist/cli-bundle/chunks/{delete-724EQ6OS.js → delete-2GZLQEUQ.js} +7 -9
- package/dist/cli-bundle/chunks/{delete-724EQ6OS.js.map → delete-2GZLQEUQ.js.map} +1 -1
- package/dist/cli-bundle/chunks/{delete-LPEIF7RU.js → delete-OOQS4KVD.js} +5 -7
- package/dist/cli-bundle/chunks/{delete-LPEIF7RU.js.map → delete-OOQS4KVD.js.map} +1 -1
- package/dist/cli-bundle/chunks/{deps-T3Y6Y7RT.js → deps-IF4IGL4R.js} +6 -9
- package/dist/cli-bundle/chunks/{deps-T3Y6Y7RT.js.map → deps-IF4IGL4R.js.map} +1 -1
- package/dist/cli-bundle/chunks/{deps-RSBU4SIU.js → deps-ZVGGCRR6.js} +8 -11
- package/dist/cli-bundle/chunks/{deps-RSBU4SIU.js.map → deps-ZVGGCRR6.js.map} +1 -1
- package/dist/cli-bundle/chunks/{docs-IFS7HZPP.js → docs-2TIFR62T.js} +8 -9
- package/dist/cli-bundle/chunks/{docs-IFS7HZPP.js.map → docs-2TIFR62T.js.map} +1 -1
- package/dist/cli-bundle/chunks/{docs-75ZLCO3G.js → docs-NFTBCQQC.js} +10 -11
- package/dist/cli-bundle/chunks/{docs-75ZLCO3G.js.map → docs-NFTBCQQC.js.map} +1 -1
- package/dist/cli-bundle/chunks/{eval-L2KD7W3M.js → eval-2F6EH4XN.js} +12 -14
- package/dist/cli-bundle/chunks/{eval-L2KD7W3M.js.map → eval-2F6EH4XN.js.map} +1 -1
- package/dist/cli-bundle/chunks/{eval-QGR7JCQO.js → eval-PFKXQR3B.js} +10 -12
- package/dist/cli-bundle/chunks/{eval-QGR7JCQO.js.map → eval-PFKXQR3B.js.map} +1 -1
- package/dist/cli-bundle/chunks/{extension-3JYWJ5K2.js → extension-3LRYX7SW.js} +11 -7
- package/dist/cli-bundle/chunks/{extension-YQF4CPIR.js → extension-GMVOIP4O.js} +11 -7
- package/dist/cli-bundle/chunks/{files-5BQWDRDT.js → files-DF3HO6XK.js} +11 -13
- package/dist/cli-bundle/chunks/{files-5BQWDRDT.js.map → files-DF3HO6XK.js.map} +1 -1
- package/dist/cli-bundle/chunks/{files-EPEJMJHQ.js → files-T5ODMETM.js} +9 -11
- package/dist/cli-bundle/chunks/{files-EPEJMJHQ.js.map → files-T5ODMETM.js.map} +1 -1
- package/dist/cli-bundle/chunks/{focus-RWGKD76E.js → focus-DLXKK4AH.js} +10 -14
- package/dist/cli-bundle/chunks/{focus-RWGKD76E.js.map → focus-DLXKK4AH.js.map} +1 -1
- package/dist/cli-bundle/chunks/{focus-DQVJAPOE.js → focus-MY5ARIEK.js} +8 -12
- package/dist/cli-bundle/chunks/{focus-DQVJAPOE.js.map → focus-MY5ARIEK.js.map} +1 -1
- package/dist/cli-bundle/chunks/{gc-BEJMQT64.js → gc-FULIVYR4.js} +3 -3
- package/dist/cli-bundle/chunks/{gc-JEFQDJPA.js → gc-MDGRR2SU.js} +3 -3
- package/dist/cli-bundle/chunks/{get-LQG6PEVG.js → get-AWK324RS.js} +10 -13
- package/dist/cli-bundle/chunks/{get-LQG6PEVG.js.map → get-AWK324RS.js.map} +1 -1
- package/dist/cli-bundle/chunks/{get-WVN75H42.js → get-VYPIICPC.js} +12 -15
- package/dist/cli-bundle/chunks/{get-WVN75H42.js.map → get-VYPIICPC.js.map} +1 -1
- package/dist/cli-bundle/chunks/{health-P67NZ6TT.js → health-FBCVZGSX.js} +16 -17
- package/dist/cli-bundle/chunks/{health-P67NZ6TT.js.map → health-FBCVZGSX.js.map} +1 -1
- package/dist/cli-bundle/chunks/{health-JJJOY7DJ.js → health-Q66C43GN.js} +18 -19
- package/dist/cli-bundle/chunks/{health-JJJOY7DJ.js.map → health-Q66C43GN.js.map} +1 -1
- package/dist/cli-bundle/chunks/history-5XUSLAJA.js +18 -0
- package/dist/cli-bundle/chunks/{history-RUKPKNY7.js → history-X4OSES6K.js} +8 -10
- package/dist/cli-bundle/chunks/{history-compact-ZAOWR7GD.js → history-compact-2GHT32UX.js} +13 -16
- package/dist/cli-bundle/chunks/{history-compact-ZAOWR7GD.js.map → history-compact-2GHT32UX.js.map} +1 -1
- package/dist/cli-bundle/chunks/{history-compact-NQ7VPRVT.js → history-compact-WLCQEKXS.js} +11 -14
- package/dist/cli-bundle/chunks/{history-compact-NQ7VPRVT.js.map → history-compact-WLCQEKXS.js.map} +1 -1
- package/dist/cli-bundle/chunks/{history-redact-YY4XYVEP.js → history-redact-45YW65BK.js} +9 -11
- package/dist/cli-bundle/chunks/history-redact-BVHWDXPR.js +19 -0
- package/dist/cli-bundle/chunks/{history-repair-YSQH6SY6.js → history-repair-FY75IC26.js} +13 -16
- package/dist/cli-bundle/chunks/{history-repair-YSQH6SY6.js.map → history-repair-FY75IC26.js.map} +1 -1
- package/dist/cli-bundle/chunks/{history-repair-EHL4ODQY.js → history-repair-GABSDSVD.js} +11 -14
- package/dist/cli-bundle/chunks/{history-repair-EHL4ODQY.js.map → history-repair-GABSDSVD.js.map} +1 -1
- package/dist/cli-bundle/chunks/{init-HBFGYS66.js → init-KO7CGIRQ.js} +11 -11
- package/dist/cli-bundle/chunks/init-TRYJELH4.js +21 -0
- package/dist/cli-bundle/chunks/{learnings-KFQO7GEZ.js → learnings-3F7YLI45.js} +9 -11
- package/dist/cli-bundle/chunks/{learnings-KFQO7GEZ.js.map → learnings-3F7YLI45.js.map} +1 -1
- package/dist/cli-bundle/chunks/{learnings-J555ZFPD.js → learnings-LHZT5BHW.js} +11 -13
- package/dist/cli-bundle/chunks/{learnings-J555ZFPD.js.map → learnings-LHZT5BHW.js.map} +1 -1
- package/dist/cli-bundle/chunks/{list-C7R33MD5.js → list-ROT7JF62.js} +10 -10
- package/dist/cli-bundle/chunks/{list-DSN6UNFB.js → list-Y6AU5BJS.js} +10 -10
- package/dist/cli-bundle/chunks/next-66BJB4N2.js +277 -0
- package/dist/cli-bundle/chunks/next-66BJB4N2.js.map +7 -0
- package/dist/cli-bundle/chunks/next-N5MWJTBY.js +274 -0
- package/dist/cli-bundle/chunks/next-N5MWJTBY.js.map +1 -0
- package/dist/cli-bundle/chunks/{notes-VYJFN2A3.js → notes-EVJZ3VAB.js} +11 -13
- package/dist/cli-bundle/chunks/{notes-VYJFN2A3.js.map → notes-EVJZ3VAB.js.map} +1 -1
- package/dist/cli-bundle/chunks/{notes-V4VNIQL4.js → notes-FW6YFLND.js} +9 -11
- package/dist/cli-bundle/chunks/{notes-V4VNIQL4.js.map → notes-FW6YFLND.js.map} +1 -1
- package/dist/cli-bundle/chunks/{plan-RBHQ5PO7.js → plan-DQ7G4EDC.js} +15 -18
- package/dist/cli-bundle/chunks/{plan-RBHQ5PO7.js.map → plan-DQ7G4EDC.js.map} +1 -1
- package/dist/cli-bundle/chunks/{plan-DHRSVSHR.js → plan-ZHKZ7JVF.js} +17 -20
- package/dist/cli-bundle/chunks/{plan-DHRSVSHR.js.map → plan-ZHKZ7JVF.js.map} +1 -1
- package/dist/cli-bundle/chunks/profile-CHAW6SEA.js +1197 -0
- package/dist/cli-bundle/chunks/profile-CHAW6SEA.js.map +1 -0
- package/dist/cli-bundle/chunks/profile-UPZGCDOG.js +1235 -0
- package/dist/cli-bundle/chunks/profile-UPZGCDOG.js.map +7 -0
- package/dist/cli-bundle/chunks/{register-list-query-CCMHGZTF.js → register-list-query-KY6Z6WV7.js} +44 -20
- package/dist/cli-bundle/chunks/register-list-query-KY6Z6WV7.js.map +7 -0
- package/dist/cli-bundle/chunks/{register-list-query-OM3E2KMY.js → register-list-query-Y2VRHPCL.js} +45 -21
- package/dist/cli-bundle/chunks/register-list-query-Y2VRHPCL.js.map +1 -0
- package/dist/cli-bundle/chunks/{register-mutation-UXTTWL6N.js → register-mutation-N6AYSKPM.js} +103 -37
- package/dist/cli-bundle/chunks/register-mutation-N6AYSKPM.js.map +7 -0
- package/dist/cli-bundle/chunks/{register-mutation-N3CDEGZU.js → register-mutation-PCARIGZS.js} +104 -38
- package/dist/cli-bundle/chunks/register-mutation-PCARIGZS.js.map +1 -0
- package/dist/cli-bundle/chunks/{register-operations-R2FLOCRI.js → register-operations-L6CYTOIH.js} +30 -32
- package/dist/cli-bundle/chunks/{register-operations-R2FLOCRI.js.map → register-operations-L6CYTOIH.js.map} +1 -1
- package/dist/cli-bundle/chunks/{register-operations-UDIFMQKD.js → register-operations-YAT6FUUB.js} +32 -34
- package/dist/cli-bundle/chunks/{register-operations-UDIFMQKD.js.map → register-operations-YAT6FUUB.js.map} +1 -1
- package/dist/cli-bundle/chunks/{register-setup-TWHKICM2.js → register-setup-MPANILQF.js} +67 -24
- package/dist/cli-bundle/chunks/register-setup-MPANILQF.js.map +7 -0
- package/dist/cli-bundle/chunks/{register-setup-G5LTSFYK.js → register-setup-N7UGXYJC.js} +68 -25
- package/dist/cli-bundle/chunks/register-setup-N7UGXYJC.js.map +1 -0
- package/dist/cli-bundle/chunks/{restore-LL2WLEDG.js → restore-DKMCLPI5.js} +9 -11
- package/dist/cli-bundle/chunks/restore-IRAKSWIW.js +17 -0
- package/dist/cli-bundle/chunks/{scheduling-shortcuts-M4H2ZI64.js → scheduling-shortcuts-3F4QUEDH.js} +14 -16
- package/dist/cli-bundle/chunks/{scheduling-shortcuts-M4H2ZI64.js.map → scheduling-shortcuts-3F4QUEDH.js.map} +1 -1
- package/dist/cli-bundle/chunks/{scheduling-shortcuts-255GI3BU.js → scheduling-shortcuts-BNZLQK36.js} +12 -14
- package/dist/cli-bundle/chunks/{scheduling-shortcuts-255GI3BU.js.map → scheduling-shortcuts-BNZLQK36.js.map} +1 -1
- package/dist/cli-bundle/chunks/schema-OLT6LVKH.js +75 -0
- package/dist/cli-bundle/chunks/schema-XJXKJQF5.js +71 -0
- package/dist/cli-bundle/chunks/{search-2EI6EAXH.js → search-CX5UMV4H.js} +10 -12
- package/dist/cli-bundle/chunks/{search-QBFBLQRO.js → search-KP6H7COV.js} +10 -12
- package/dist/cli-bundle/chunks/{stats-TCW2SZQG.js → stats-7XW4OEMK.js} +20 -12
- package/dist/cli-bundle/chunks/stats-7XW4OEMK.js.map +7 -0
- package/dist/cli-bundle/chunks/{stats-TKC6CAKB.js → stats-QZUG6MX5.js} +21 -13
- package/dist/cli-bundle/chunks/stats-QZUG6MX5.js.map +1 -0
- package/dist/cli-bundle/chunks/{telemetry-LQ6FRTUT.js → telemetry-DIFPXCAT.js} +4 -4
- package/dist/cli-bundle/chunks/{telemetry-BT2VSWU2.js → telemetry-WTYFUPRL.js} +4 -4
- package/dist/cli-bundle/chunks/{test-NV2DRPUS.js → test-HU2BS7EY.js} +14 -16
- package/dist/cli-bundle/chunks/test-HU2BS7EY.js.map +1 -0
- package/dist/cli-bundle/chunks/test-QNDXZQCW.js +34 -0
- package/dist/cli-bundle/chunks/test-QNDXZQCW.js.map +7 -0
- package/dist/cli-bundle/chunks/{test-all-REW67LXT.js → test-all-PZTBLLQ6.js} +17 -20
- package/dist/cli-bundle/chunks/{test-all-REW67LXT.js.map → test-all-PZTBLLQ6.js.map} +1 -1
- package/dist/cli-bundle/chunks/{test-all-DZ76VTPQ.js → test-all-XLPI4USF.js} +19 -22
- package/dist/cli-bundle/chunks/{test-all-DZ76VTPQ.js.map → test-all-XLPI4USF.js.map} +1 -1
- package/dist/cli-bundle/chunks/{test-runs-FQ5WNQLP.js → test-runs-CA6K32RD.js} +6 -7
- package/dist/cli-bundle/chunks/test-runs-CA6K32RD.js.map +1 -0
- package/dist/cli-bundle/chunks/{test-runs-PX73DMMI.js → test-runs-LANLLPVO.js} +5 -6
- package/dist/cli-bundle/chunks/test-runs-LANLLPVO.js.map +7 -0
- package/dist/cli-bundle/chunks/update-DJKWLBWJ.js +28 -0
- package/dist/cli-bundle/chunks/update-DJKWLBWJ.js.map +1 -0
- package/dist/cli-bundle/chunks/update-UXDLTEOZ.js +24 -0
- package/dist/cli-bundle/chunks/update-UXDLTEOZ.js.map +7 -0
- package/dist/cli-bundle/chunks/{update-many-2ILP6E4Y.js → update-many-LU3SCNK5.js} +32 -33
- package/dist/cli-bundle/chunks/{update-many-2ILP6E4Y.js.map → update-many-LU3SCNK5.js.map} +1 -1
- package/dist/cli-bundle/chunks/{update-many-Q5ZEI64S.js → update-many-VW5DGF3S.js} +34 -35
- package/dist/cli-bundle/chunks/{update-many-Q5ZEI64S.js.map → update-many-VW5DGF3S.js.map} +1 -1
- package/dist/cli-bundle/chunks/{upgrade-FOZKQTQF.js → upgrade-77FRUAXN.js} +12 -8
- package/dist/cli-bundle/chunks/{upgrade-FOZKQTQF.js.map → upgrade-77FRUAXN.js.map} +1 -1
- package/dist/cli-bundle/chunks/{upgrade-DHL74PQH.js → upgrade-ICXY244R.js} +10 -6
- package/dist/cli-bundle/chunks/{upgrade-DHL74PQH.js.map → upgrade-ICXY244R.js.map} +1 -1
- package/dist/cli-bundle/chunks/{validate-HYZNIB6W.js → validate-2G566PKQ.js} +37 -28
- package/dist/cli-bundle/chunks/validate-2G566PKQ.js.map +7 -0
- package/dist/cli-bundle/chunks/{validate-54SYJ7QW.js → validate-BDPVXHHH.js} +38 -29
- package/dist/cli-bundle/chunks/validate-BDPVXHHH.js.map +1 -0
- package/dist/cli-bundle/main.js +56 -38
- package/dist/cli-bundle/main.js.map +2 -2
- package/dist/core/config/positional-value.d.ts +2 -0
- package/dist/core/config/positional-value.js +2 -2
- package/dist/core/config/positional-value.js.map +1 -1
- package/dist/core/extensions/activation-summary-markdown.d.ts +71 -0
- package/dist/core/extensions/activation-summary-markdown.js +140 -0
- package/dist/core/extensions/activation-summary-markdown.js.map +1 -0
- package/dist/core/extensions/activation-summary.d.ts +2 -0
- package/dist/core/extensions/activation-summary.js +3 -2
- package/dist/core/extensions/activation-summary.js.map +1 -1
- package/dist/core/extensions/capability-usage.d.ts +1 -1
- package/dist/core/extensions/capability-usage.js +4 -3
- package/dist/core/extensions/capability-usage.js.map +1 -1
- package/dist/core/extensions/extension-registries.js +3 -2
- package/dist/core/extensions/extension-registries.js.map +1 -1
- package/dist/core/extensions/extension-types.d.ts +21 -1
- package/dist/core/extensions/extension-types.js +3 -2
- package/dist/core/extensions/extension-types.js.map +1 -1
- package/dist/core/extensions/loader.js +131 -2
- package/dist/core/extensions/loader.js.map +1 -1
- package/dist/core/fs/fs-utils.js +27 -2
- package/dist/core/fs/fs-utils.js.map +1 -1
- package/dist/core/item/actionability.d.ts +57 -0
- package/dist/core/item/actionability.js +178 -0
- package/dist/core/item/actionability.js.map +1 -0
- package/dist/core/item/type-registry.js +18 -45
- package/dist/core/item/type-registry.js.map +1 -1
- package/dist/core/profile/profile-describe.d.ts +64 -0
- package/dist/core/profile/profile-describe.js +83 -0
- package/dist/core/profile/profile-describe.js.map +1 -0
- package/dist/core/profile/profile-lint.d.ts +53 -0
- package/dist/core/profile/profile-lint.js +422 -0
- package/dist/core/profile/profile-lint.js.map +1 -0
- package/dist/core/profile/profile-plan.d.ts +145 -0
- package/dist/core/profile/profile-plan.js +0 -0
- package/dist/core/profile/profile-plan.js.map +1 -0
- package/dist/core/profile/profile-presets.d.ts +218 -0
- package/dist/core/profile/profile-presets.js +325 -0
- package/dist/core/profile/profile-presets.js.map +1 -0
- package/dist/core/schema/fields-file.js +25 -25
- package/dist/core/schema/fields-file.js.map +1 -1
- package/dist/core/schema/item-types-file.js +3 -3
- package/dist/core/schema/item-types-file.js.map +1 -1
- package/dist/core/schema/runtime-schema.js +4 -4
- package/dist/core/schema/runtime-schema.js.map +1 -1
- package/dist/core/schema/status-defs-file.js +3 -3
- package/dist/core/schema/status-defs-file.js.map +1 -1
- package/dist/core/shared/serialization.js +83 -62
- package/dist/core/shared/serialization.js.map +1 -1
- package/dist/core/store/item-store.d.ts +1 -0
- package/dist/core/store/item-store.js +16 -8
- package/dist/core/store/item-store.js.map +1 -1
- package/dist/core/store/paths.js +4 -32
- package/dist/core/store/paths.js.map +1 -1
- package/dist/core/store/settings.js +14 -14
- package/dist/core/store/settings.js.map +1 -1
- package/dist/core/telemetry/observability.js +50 -54
- package/dist/core/telemetry/observability.js.map +1 -1
- package/dist/core/telemetry/runtime.js +11 -2
- package/dist/core/telemetry/runtime.js.map +1 -1
- package/dist/core/test/background-runs.js +3 -2
- package/dist/core/test/background-runs.js.map +1 -1
- package/dist/core/validate/linked-artifact-reference.d.ts +24 -0
- package/dist/core/validate/linked-artifact-reference.js +41 -0
- package/dist/core/validate/linked-artifact-reference.js.map +1 -0
- package/dist/mcp/server.js +183 -83
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tool-definitions.js +33 -2
- package/dist/mcp/tool-definitions.js.map +1 -1
- package/dist/sdk/cli-contracts/commander-types.d.ts +1 -0
- package/dist/sdk/cli-contracts/commander-types.js +15 -2
- package/dist/sdk/cli-contracts/commander-types.js.map +1 -1
- package/dist/sdk/cli-contracts/enum-contracts.d.ts +3 -3
- package/dist/sdk/cli-contracts/enum-contracts.js +6 -2
- package/dist/sdk/cli-contracts/enum-contracts.js.map +1 -1
- package/dist/sdk/cli-contracts/flag-contracts.d.ts +149 -0
- package/dist/sdk/cli-contracts/flag-contracts.js +1583 -0
- package/dist/sdk/cli-contracts/flag-contracts.js.map +1 -0
- package/dist/sdk/cli-contracts/string-lists.d.ts +14 -0
- package/dist/sdk/cli-contracts/string-lists.js +20 -0
- package/dist/sdk/cli-contracts/string-lists.js.map +1 -0
- package/dist/sdk/cli-contracts/tool-option-contracts.d.ts +1 -1
- package/dist/sdk/cli-contracts/tool-option-contracts.js +51 -109
- package/dist/sdk/cli-contracts/tool-option-contracts.js.map +1 -1
- package/dist/sdk/cli-contracts/tool-parameter-tables.d.ts +17 -0
- package/dist/sdk/cli-contracts/tool-parameter-tables.js +54 -5
- package/dist/sdk/cli-contracts/tool-parameter-tables.js.map +1 -1
- package/dist/sdk/cli-contracts/tool-schema.d.ts +74 -0
- package/dist/sdk/cli-contracts/tool-schema.js +840 -0
- package/dist/sdk/cli-contracts/tool-schema.js.map +1 -0
- package/dist/sdk/cli-contracts.d.ts +13 -193
- package/dist/sdk/cli-contracts.js +5 -2277
- package/dist/sdk/cli-contracts.js.map +1 -1
- package/dist/sdk/compose.d.ts +7 -4
- package/dist/sdk/compose.js +64 -14
- package/dist/sdk/compose.js.map +1 -1
- package/dist/sdk/define.d.ts +14 -0
- package/dist/sdk/define.js +17 -2
- package/dist/sdk/define.js.map +1 -1
- package/dist/sdk/index.d.ts +14 -3
- package/dist/sdk/index.js +14 -3
- package/dist/sdk/index.js.map +1 -1
- package/dist/sdk/testing.d.ts +82 -2
- package/dist/sdk/testing.js +74 -3
- package/dist/sdk/testing.js.map +1 -1
- package/docs/AGENT_GUIDE.md +2 -0
- package/docs/CLAUDE_CODE_PLUGIN.md +2 -2
- package/docs/COMMANDS.md +37 -0
- package/docs/EXTENSIONS.md +12 -13
- package/docs/RELEASING.md +6 -1
- package/docs/SDK.md +184 -17
- package/docs/TESTING.md +12 -0
- package/docs/examples/policy-restricted-extension/README.md +6 -0
- package/docs/examples/policy-restricted-extension/index.ts +40 -0
- package/docs/examples/policy-restricted-extension/manifest.json +2 -2
- package/docs/examples/starter-extension/README.md +14 -2
- package/docs/examples/starter-extension/{index.js → index.ts} +51 -6
- package/docs/examples/starter-extension/manifest.json +2 -2
- package/package.json +20 -7
- package/packages/pm-beads/extensions/beads/index.ts +3 -3
- package/packages/pm-beads/extensions/beads/manifest.json +2 -2
- package/packages/pm-beads/extensions/beads/runtime-loader.ts +19 -7
- package/packages/pm-beads/extensions/beads/runtime.ts +155 -37
- package/packages/pm-calendar/extensions/calendar/index.ts +3 -3
- package/packages/pm-calendar/extensions/calendar/manifest.json +2 -2
- package/packages/pm-calendar/extensions/calendar/runtime.ts +2 -2
- package/packages/pm-command-kit/extensions/command-kit/index.ts +1 -1
- package/packages/pm-command-kit/extensions/command-kit/manifest.json +2 -2
- package/packages/pm-governance-audit/extensions/governance-audit/index.ts +2 -2
- package/packages/pm-governance-audit/extensions/governance-audit/manifest.json +2 -2
- package/packages/pm-governance-audit/extensions/governance-audit/runtime.ts +1 -1
- package/packages/pm-guide-shell/extensions/guide-shell/index.ts +2 -2
- package/packages/pm-guide-shell/extensions/guide-shell/manifest.json +2 -2
- package/packages/pm-guide-shell/extensions/guide-shell/runtime.ts +1 -1
- package/packages/pm-kanban/README.md +97 -0
- package/packages/pm-kanban/extensions/kanban/index.ts +191 -0
- package/packages/pm-kanban/extensions/kanban/manifest.json +19 -0
- package/packages/pm-kanban/package.json +57 -0
- package/packages/pm-lifecycle-hooks/extensions/lifecycle-hooks/index.ts +1 -1
- package/packages/pm-lifecycle-hooks/extensions/lifecycle-hooks/manifest.json +2 -2
- package/packages/pm-linked-test-adapters/extensions/linked-test-adapters/index.ts +2 -2
- package/packages/pm-linked-test-adapters/extensions/linked-test-adapters/manifest.json +2 -2
- package/packages/pm-linked-test-adapters/extensions/linked-test-adapters/runtime.ts +1 -1
- package/packages/pm-search-advanced/extensions/search-advanced/index.ts +2 -2
- package/packages/pm-search-advanced/extensions/search-advanced/manifest.json +2 -2
- package/packages/pm-search-advanced/extensions/search-advanced/runtime.ts +1 -1
- package/packages/pm-templates/extensions/templates/index.ts +2 -2
- package/packages/pm-templates/extensions/templates/manifest.json +2 -2
- package/packages/pm-templates/extensions/templates/runtime.ts +1 -1
- package/packages/pm-todos/extensions/todos/index.ts +3 -3
- package/packages/pm-todos/extensions/todos/manifest.json +2 -2
- package/packages/pm-todos/extensions/todos/runtime-loader.ts +19 -7
- package/packages/pm-todos/extensions/todos/runtime.ts +177 -43
- package/plugins/pm-claude/scripts/pm-mcp-server.mjs +2 -2
- package/plugins/pm-codex/scripts/pm-mcp-server.mjs +2 -2
- package/scripts/bundle-cli.mjs +1 -1
- package/dist/cli-bundle/chunks/activity-54TXGJ2T.js +0 -18
- package/dist/cli-bundle/chunks/aggregate-63NWNIBR.js.map +0 -1
- package/dist/cli-bundle/chunks/aggregate-YHCYX2EV.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-6EL7SW5C.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-6W3Y65PL.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-AEACLRVH.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-B74BP6IS.js +0 -78
- package/dist/cli-bundle/chunks/chunk-B74BP6IS.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-BFFO3AIB.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-EYPINTFR.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-FBLT6WGK.js +0 -75
- package/dist/cli-bundle/chunks/chunk-FBLT6WGK.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-GQYJEEFX.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-HBAEFWX3.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-HC2S36NB.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-IAP5KYBQ.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-INPHFO33.js +0 -764
- package/dist/cli-bundle/chunks/chunk-INPHFO33.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-IOT6WRL5.js +0 -86
- package/dist/cli-bundle/chunks/chunk-IOT6WRL5.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-J7I4C5ZB.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-JKL6HRMV.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-KJZOSF7J.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-L7UXKP2I.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-LNEDHJNQ.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-M6TUBOGW.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-MEXZ5XUM.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-N5B6WZC5.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-NJ73ALW2.js +0 -761
- package/dist/cli-bundle/chunks/chunk-NJ73ALW2.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-NVXGVEFD.js +0 -83
- package/dist/cli-bundle/chunks/chunk-NVXGVEFD.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-OF7V47P3.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-OHDQNKJB.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-PRVTGX64.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-RAWA3Y7O.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-SMXSDY7J.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-SUREE24M.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-TKPP4GOO.js +0 -654
- package/dist/cli-bundle/chunks/chunk-TKPP4GOO.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-VSAABFGQ.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-XVYKWZNL.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-XXKV4UWE.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-ZV7IQ23N.js +0 -657
- package/dist/cli-bundle/chunks/chunk-ZV7IQ23N.js.map +0 -7
- package/dist/cli-bundle/chunks/close-JEBZXONN.js +0 -15
- package/dist/cli-bundle/chunks/config-NCNNWF6R.js.map +0 -7
- package/dist/cli-bundle/chunks/config-SW3U7XP2.js.map +0 -1
- package/dist/cli-bundle/chunks/context-55VEOYI3.js.map +0 -1
- package/dist/cli-bundle/chunks/context-5LB7UGKE.js.map +0 -7
- package/dist/cli-bundle/chunks/contracts-JXFGBOYT.js.map +0 -1
- package/dist/cli-bundle/chunks/contracts-SY6PDFIK.js.map +0 -7
- package/dist/cli-bundle/chunks/create-CLSCHGJJ.js +0 -30
- package/dist/cli-bundle/chunks/history-ALTM2RRP.js +0 -20
- package/dist/cli-bundle/chunks/history-redact-5YGLWUDH.js +0 -21
- package/dist/cli-bundle/chunks/init-C4CRHW22.js +0 -21
- package/dist/cli-bundle/chunks/register-list-query-CCMHGZTF.js.map +0 -7
- package/dist/cli-bundle/chunks/register-list-query-OM3E2KMY.js.map +0 -1
- package/dist/cli-bundle/chunks/register-mutation-N3CDEGZU.js.map +0 -1
- package/dist/cli-bundle/chunks/register-mutation-UXTTWL6N.js.map +0 -7
- package/dist/cli-bundle/chunks/register-setup-G5LTSFYK.js.map +0 -1
- package/dist/cli-bundle/chunks/register-setup-TWHKICM2.js.map +0 -7
- package/dist/cli-bundle/chunks/restore-LQHXBAY5.js +0 -19
- package/dist/cli-bundle/chunks/schema-C6QA367T.js.map +0 -7
- package/dist/cli-bundle/chunks/schema-QO5I4FBL.js.map +0 -1
- package/dist/cli-bundle/chunks/stats-TCW2SZQG.js.map +0 -7
- package/dist/cli-bundle/chunks/stats-TKC6CAKB.js.map +0 -1
- package/dist/cli-bundle/chunks/test-WA6RZGM2.js +0 -36
- package/dist/cli-bundle/chunks/test-runs-FQ5WNQLP.js.map +0 -1
- package/dist/cli-bundle/chunks/test-runs-PX73DMMI.js.map +0 -7
- package/dist/cli-bundle/chunks/update-BSKMQOYH.js +0 -28
- package/dist/cli-bundle/chunks/update-FIGYNQ2I.js +0 -24
- package/dist/cli-bundle/chunks/validate-54SYJ7QW.js.map +0 -1
- package/dist/cli-bundle/chunks/validate-HYZNIB6W.js.map +0 -7
- package/docs/examples/policy-restricted-extension/index.js +0 -21
- package/packages/pm-beads/extensions/beads/index.js +0 -64
- package/packages/pm-beads/extensions/beads/runtime-loader.js +0 -86
- package/packages/pm-beads/extensions/beads/runtime.js +0 -482
- package/packages/pm-calendar/extensions/calendar/index.js +0 -150
- package/packages/pm-calendar/extensions/calendar/runtime.js +0 -126
- package/packages/pm-command-kit/extensions/command-kit/index.js +0 -181
- package/packages/pm-governance-audit/extensions/governance-audit/index.js +0 -177
- package/packages/pm-governance-audit/extensions/governance-audit/runtime.js +0 -153
- package/packages/pm-guide-shell/extensions/guide-shell/index.js +0 -98
- package/packages/pm-guide-shell/extensions/guide-shell/runtime.js +0 -294
- package/packages/pm-lifecycle-hooks/extensions/lifecycle-hooks/index.js +0 -18
- package/packages/pm-linked-test-adapters/extensions/linked-test-adapters/index.js +0 -124
- package/packages/pm-linked-test-adapters/extensions/linked-test-adapters/runtime.js +0 -110
- package/packages/pm-search-advanced/extensions/search-advanced/index.js +0 -258
- package/packages/pm-search-advanced/extensions/search-advanced/runtime.js +0 -361
- package/packages/pm-templates/extensions/templates/index.js +0 -132
- package/packages/pm-templates/extensions/templates/runtime.js +0 -35
- package/packages/pm-todos/extensions/todos/index.js +0 -81
- package/packages/pm-todos/extensions/todos/runtime-loader.js +0 -86
- package/packages/pm-todos/extensions/todos/runtime.js +0 -545
- /package/dist/cli-bundle/chunks/{activity-54TXGJ2T.js.map → activity-EJBMXUBH.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{activity-N7RVTLBQ.js.map → activity-MVSEND6D.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-F32L4HR6.js.map → chunk-3JWQCLR5.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-YV2OSAMS.js.map → chunk-4TXTVZL3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-AYPQUFCX.js.map → chunk-4YIMPANT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-EOGBMLCE.js.map → chunk-73PTKMAE.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-2WCYE3IF.js.map → chunk-7RIJGN4R.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-CZIFFMZI.js.map → chunk-BN3CWK6G.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-J3NMWFIN.js.map → chunk-C2KCIZKZ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-TIM4OD74.js.map → chunk-CHRNYKNI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-KIEAK7YE.js.map → chunk-D6USKAMA.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-3BKH2CL3.js.map → chunk-DLDCPF5X.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-CG3KP6I5.js.map → chunk-E2Q2ULMR.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-PEL2NLQE.js.map → chunk-F6VH3LFC.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-5BBEWX6C.js.map → chunk-FDEVKXC4.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-QOUOMPHO.js.map → chunk-HUYYMTGW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-KKX4Z2SE.js.map → chunk-IHXXUIXS.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-F4BNR2IN.js.map → chunk-JIP67N2K.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-FMWW2JDU.js.map → chunk-KRASIL6M.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-I6QMJ2XT.js.map → chunk-MLHX6DN5.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-5S4ZGDB2.js.map → chunk-OB3RJV5F.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-SKC4UTRP.js.map → chunk-OUQ5JEFM.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-JPJDP4VU.js.map → chunk-QE5UFCCO.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-WB5BYQMF.js.map → chunk-SJZTPVFT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-ZLWRPBOW.js.map → chunk-V3KLX7U7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-OQ2E64FH.js.map → chunk-Z5BM2FKQ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-IXAZI443.js.map → chunk-ZEATCVAC.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-C4C3EJCJ.js.map → chunk-ZFIEEDTJ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-JEBZXONN.js.map → close-37KEHLYM.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-QHMVWM7M.js.map → close-OP3LK7Z2.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{create-CLSCHGJJ.js.map → context-7ZEZV3BV.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{create-O4VONGPG.js.map → context-XDI4DKKT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{extension-YQF4CPIR.js.map → create-DFMNBKBS.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{extension-3JYWJ5K2.js.map → create-J5Q2ELZT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-RUKPKNY7.js.map → extension-3LRYX7SW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-ALTM2RRP.js.map → extension-GMVOIP4O.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{gc-BEJMQT64.js.map → gc-FULIVYR4.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{gc-JEFQDJPA.js.map → gc-MDGRR2SU.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-redact-5YGLWUDH.js.map → history-5XUSLAJA.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-redact-YY4XYVEP.js.map → history-X4OSES6K.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{init-HBFGYS66.js.map → history-redact-45YW65BK.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{init-C4CRHW22.js.map → history-redact-BVHWDXPR.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{list-C7R33MD5.js.map → init-KO7CGIRQ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{list-DSN6UNFB.js.map → init-TRYJELH4.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{restore-LL2WLEDG.js.map → list-ROT7JF62.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{restore-LQHXBAY5.js.map → list-Y6AU5BJS.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{search-2EI6EAXH.js.map → restore-DKMCLPI5.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{search-QBFBLQRO.js.map → restore-IRAKSWIW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{test-NV2DRPUS.js.map → schema-OLT6LVKH.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{test-WA6RZGM2.js.map → schema-XJXKJQF5.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-BSKMQOYH.js.map → search-CX5UMV4H.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-FIGYNQ2I.js.map → search-KP6H7COV.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{telemetry-LQ6FRTUT.js.map → telemetry-DIFPXCAT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{telemetry-BT2VSWU2.js.map → telemetry-WTYFUPRL.js.map} +0 -0
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
// dist/core/fs/fs-utils.js
|
|
2
2
|
|
|
3
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
3
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="b452df4b-661b-5f08-9d20-dff37c4bfb2f")}catch(e){}}();
|
|
4
4
|
import * as fs from "node:fs/promises";
|
|
5
5
|
import path from "node:path";
|
|
6
6
|
import crypto from "node:crypto";
|
|
7
|
+
var WINDOWS_RENAME_RETRY_DELAYS_MS = [10, 25, 50, 100];
|
|
7
8
|
async function ensureDir(dirPath) {
|
|
8
9
|
await fs.mkdir(dirPath, { recursive: true });
|
|
9
10
|
}
|
|
@@ -33,6 +34,26 @@ async function writeFileAtomic(targetPath, contents) {
|
|
|
33
34
|
try {
|
|
34
35
|
await fs.rename(tempPath, targetPath);
|
|
35
36
|
} catch (error) {
|
|
37
|
+
if (process.platform === "win32" && (isErrno(error, "EPERM") || isErrno(error, "EBUSY"))) {
|
|
38
|
+
let lastError = error;
|
|
39
|
+
for (const delayMs of WINDOWS_RENAME_RETRY_DELAYS_MS) {
|
|
40
|
+
await new Promise((resolve) => setTimeout(resolve, delayMs));
|
|
41
|
+
try {
|
|
42
|
+
await fs.rename(tempPath, targetPath);
|
|
43
|
+
return;
|
|
44
|
+
} catch (retryError) {
|
|
45
|
+
lastError = retryError;
|
|
46
|
+
if (!isErrno(retryError, "EPERM") && !isErrno(retryError, "EBUSY")) {
|
|
47
|
+
break;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
try {
|
|
52
|
+
await fs.unlink(tempPath);
|
|
53
|
+
} catch {
|
|
54
|
+
}
|
|
55
|
+
throw lastError;
|
|
56
|
+
}
|
|
36
57
|
if (isErrno(error, "EXDEV")) {
|
|
37
58
|
try {
|
|
38
59
|
await fs.copyFile(tempPath, targetPath);
|
|
@@ -171,6 +192,7 @@ var KNOWN_EXTENSION_POLICY_SURFACES = [
|
|
|
171
192
|
"schema.itemfields",
|
|
172
193
|
"schema.itemtypes",
|
|
173
194
|
"schema.migrations",
|
|
195
|
+
"schema.profiles",
|
|
174
196
|
"parser.override",
|
|
175
197
|
"preflight.override",
|
|
176
198
|
"services.override",
|
|
@@ -608,6 +630,794 @@ function resolveTelemetryErrorCategory(errorCode) {
|
|
|
608
630
|
return "unknown";
|
|
609
631
|
}
|
|
610
632
|
|
|
633
|
+
// dist/types.js
|
|
634
|
+
var BUILTIN_ITEM_TYPE_VALUES = [
|
|
635
|
+
"Epic",
|
|
636
|
+
"Feature",
|
|
637
|
+
"Task",
|
|
638
|
+
"Chore",
|
|
639
|
+
"Issue",
|
|
640
|
+
"Decision",
|
|
641
|
+
"Event",
|
|
642
|
+
"Reminder",
|
|
643
|
+
"Milestone",
|
|
644
|
+
"Meeting",
|
|
645
|
+
"Plan"
|
|
646
|
+
];
|
|
647
|
+
var ITEM_TYPE_VALUES = BUILTIN_ITEM_TYPE_VALUES;
|
|
648
|
+
var STATUS_VALUES = [
|
|
649
|
+
"draft",
|
|
650
|
+
"open",
|
|
651
|
+
"in_progress",
|
|
652
|
+
"blocked",
|
|
653
|
+
"closed",
|
|
654
|
+
"canceled"
|
|
655
|
+
];
|
|
656
|
+
var RUNTIME_STATUS_ROLE_VALUES = [
|
|
657
|
+
"draft",
|
|
658
|
+
"active",
|
|
659
|
+
"blocked",
|
|
660
|
+
"terminal",
|
|
661
|
+
"terminal_done",
|
|
662
|
+
"terminal_canceled",
|
|
663
|
+
"default_open",
|
|
664
|
+
"default_close",
|
|
665
|
+
"default_cancel"
|
|
666
|
+
];
|
|
667
|
+
var RUNTIME_FIELD_TYPE_VALUES = ["string", "number", "boolean", "string_array"];
|
|
668
|
+
var RUNTIME_FIELD_COMMAND_VALUES = ["create", "update", "update_many", "list", "search", "calendar", "context"];
|
|
669
|
+
var RUNTIME_UNKNOWN_FIELD_POLICY_VALUES = ["allow", "warn", "reject"];
|
|
670
|
+
var DEPENDENCY_KIND_VALUES = [
|
|
671
|
+
"blocks",
|
|
672
|
+
"parent",
|
|
673
|
+
"child",
|
|
674
|
+
"parent_child",
|
|
675
|
+
"child_of",
|
|
676
|
+
"related",
|
|
677
|
+
"related_to",
|
|
678
|
+
"discovered_from",
|
|
679
|
+
"blocked_by",
|
|
680
|
+
"incident_from",
|
|
681
|
+
"epic",
|
|
682
|
+
"supersedes",
|
|
683
|
+
"task"
|
|
684
|
+
];
|
|
685
|
+
var SCOPE_VALUES = ["project", "global"];
|
|
686
|
+
var RISK_VALUES = ["low", "medium", "high", "critical"];
|
|
687
|
+
var ISSUE_SEVERITY_VALUES = ["low", "medium", "high", "critical"];
|
|
688
|
+
var CONFIDENCE_TEXT_VALUES = ["low", "medium", "high"];
|
|
689
|
+
var GOVERNANCE_PRESET_VALUES = ["minimal", "default", "strict", "custom"];
|
|
690
|
+
var RECURRENCE_FREQUENCY_VALUES = ["daily", "weekly", "monthly", "yearly"];
|
|
691
|
+
var RECURRENCE_WEEKDAY_VALUES = ["mon", "tue", "wed", "thu", "fri", "sat", "sun"];
|
|
692
|
+
function weekdayOrderIndex(value) {
|
|
693
|
+
return RECURRENCE_WEEKDAY_VALUES.indexOf(value);
|
|
694
|
+
}
|
|
695
|
+
var PLAN_MODE_VALUES = [
|
|
696
|
+
"draft",
|
|
697
|
+
"research",
|
|
698
|
+
"review",
|
|
699
|
+
"approved",
|
|
700
|
+
"executing",
|
|
701
|
+
"paused",
|
|
702
|
+
"completed",
|
|
703
|
+
"superseded"
|
|
704
|
+
];
|
|
705
|
+
var PLAN_STEP_STATUS_VALUES = [
|
|
706
|
+
"pending",
|
|
707
|
+
"in_progress",
|
|
708
|
+
"completed",
|
|
709
|
+
"blocked",
|
|
710
|
+
"skipped",
|
|
711
|
+
"superseded"
|
|
712
|
+
];
|
|
713
|
+
var PLAN_HARNESS_VALUES = ["codex", "claude-code", "cursor", "generic"];
|
|
714
|
+
var PLAN_STEP_LINK_KIND_VALUES = [
|
|
715
|
+
"related",
|
|
716
|
+
"blocks",
|
|
717
|
+
"blocked_by",
|
|
718
|
+
"depends_on",
|
|
719
|
+
"discovered_from",
|
|
720
|
+
"implements",
|
|
721
|
+
"verifies",
|
|
722
|
+
"supersedes"
|
|
723
|
+
];
|
|
724
|
+
var CONTEXT_DEPTH_VALUES = ["brief", "standard", "deep", "full"];
|
|
725
|
+
var CONTEXT_SECTION_VALUES = [
|
|
726
|
+
"hierarchy",
|
|
727
|
+
"activity",
|
|
728
|
+
"progress",
|
|
729
|
+
"recently_created",
|
|
730
|
+
"unparented",
|
|
731
|
+
"blockers",
|
|
732
|
+
"files",
|
|
733
|
+
"workload",
|
|
734
|
+
"staleness",
|
|
735
|
+
"tests"
|
|
736
|
+
];
|
|
737
|
+
|
|
738
|
+
// dist/core/item/item-type-definition.js
|
|
739
|
+
function normalizeItemTypeStringList(values) {
|
|
740
|
+
return [...new Set((values ?? []).map((value) => value.trim()).filter((value) => value.length > 0))].sort((left, right) => left.localeCompare(right));
|
|
741
|
+
}
|
|
742
|
+
function normalizeItemTypeOption(option) {
|
|
743
|
+
const key = option.key.trim();
|
|
744
|
+
if (key.length === 0) {
|
|
745
|
+
return null;
|
|
746
|
+
}
|
|
747
|
+
const aliases = normalizeItemTypeStringList(option.aliases);
|
|
748
|
+
const description = option.description?.trim();
|
|
749
|
+
return {
|
|
750
|
+
key,
|
|
751
|
+
values: normalizeItemTypeStringList(option.values),
|
|
752
|
+
required: option.required === true ? true : void 0,
|
|
753
|
+
aliases: aliases.length > 0 ? aliases : void 0,
|
|
754
|
+
description: description && description.length > 0 ? description : void 0
|
|
755
|
+
};
|
|
756
|
+
}
|
|
757
|
+
var keepPolicyCommand = (command) => command;
|
|
758
|
+
var strictPolicyCommand = (command) => {
|
|
759
|
+
const normalized = command.trim().toLowerCase();
|
|
760
|
+
return normalized === "create" || normalized === "update" ? normalized : null;
|
|
761
|
+
};
|
|
762
|
+
function normalizeItemTypeCommandOptionPolicy(policy, resolvePolicyCommand) {
|
|
763
|
+
const command = resolvePolicyCommand(policy.command);
|
|
764
|
+
if (command === null) {
|
|
765
|
+
return null;
|
|
766
|
+
}
|
|
767
|
+
const option = policy.option.trim();
|
|
768
|
+
if (option.length === 0) {
|
|
769
|
+
return null;
|
|
770
|
+
}
|
|
771
|
+
return {
|
|
772
|
+
command,
|
|
773
|
+
option,
|
|
774
|
+
required: policy.required,
|
|
775
|
+
visible: policy.visible,
|
|
776
|
+
enabled: policy.enabled
|
|
777
|
+
};
|
|
778
|
+
}
|
|
779
|
+
function normalizeItemTypeCommandOptionPolicies(policies, resolvePolicyCommand) {
|
|
780
|
+
const dedupedByKey = /* @__PURE__ */ new Map();
|
|
781
|
+
for (const policy of policies ?? []) {
|
|
782
|
+
const normalized = normalizeItemTypeCommandOptionPolicy(policy, resolvePolicyCommand);
|
|
783
|
+
if (!normalized) {
|
|
784
|
+
continue;
|
|
785
|
+
}
|
|
786
|
+
dedupedByKey.set(`${normalized.command}:${normalized.option.toLowerCase()}`, normalized);
|
|
787
|
+
}
|
|
788
|
+
return [...dedupedByKey.values()].sort((left, right) => left.command === right.command ? left.option.localeCompare(right.option) : left.command.localeCompare(right.command));
|
|
789
|
+
}
|
|
790
|
+
function normalizeItemTypeDefinition(definition, options = {}) {
|
|
791
|
+
const resolvePolicyCommand = options.resolvePolicyCommand ?? keepPolicyCommand;
|
|
792
|
+
const name = definition.name.trim();
|
|
793
|
+
if (name.length === 0) {
|
|
794
|
+
return null;
|
|
795
|
+
}
|
|
796
|
+
const hasRequiredCreateFields = definition.required_create_fields !== void 0;
|
|
797
|
+
const hasRequiredCreateRepeatables = definition.required_create_repeatables !== void 0;
|
|
798
|
+
const hasOptions = definition.options !== void 0;
|
|
799
|
+
const hasCommandOptionPolicies = definition.command_option_policies !== void 0;
|
|
800
|
+
const folder = definition.folder?.trim();
|
|
801
|
+
const description = definition.description?.trim();
|
|
802
|
+
const defaultStatus = definition.default_status?.trim();
|
|
803
|
+
const aliases = normalizeItemTypeStringList(definition.aliases);
|
|
804
|
+
const normalizedOptions = (definition.options ?? []).map((option) => normalizeItemTypeOption(option)).filter((option) => option !== null).sort((left, right) => left.key.localeCompare(right.key));
|
|
805
|
+
const commandOptionPolicies = normalizeItemTypeCommandOptionPolicies(definition.command_option_policies, resolvePolicyCommand);
|
|
806
|
+
return {
|
|
807
|
+
name,
|
|
808
|
+
description: description && description.length > 0 ? description : void 0,
|
|
809
|
+
default_status: defaultStatus && defaultStatus.length > 0 ? defaultStatus : void 0,
|
|
810
|
+
folder: folder && folder.length > 0 ? folder : void 0,
|
|
811
|
+
aliases: aliases.length > 0 ? aliases : void 0,
|
|
812
|
+
required_create_fields: hasRequiredCreateFields ? normalizeItemTypeStringList(definition.required_create_fields) : void 0,
|
|
813
|
+
required_create_repeatables: hasRequiredCreateRepeatables ? normalizeItemTypeStringList(definition.required_create_repeatables) : void 0,
|
|
814
|
+
options: hasOptions ? normalizedOptions : void 0,
|
|
815
|
+
command_option_policies: hasCommandOptionPolicies ? commandOptionPolicies : void 0
|
|
816
|
+
};
|
|
817
|
+
}
|
|
818
|
+
|
|
819
|
+
// dist/core/item/type-registry.js
|
|
820
|
+
var DEFAULT_REQUIRED_CREATE_FIELDS = [
|
|
821
|
+
"title",
|
|
822
|
+
"description",
|
|
823
|
+
"status",
|
|
824
|
+
"priority",
|
|
825
|
+
"tags",
|
|
826
|
+
"body",
|
|
827
|
+
"deadline",
|
|
828
|
+
"estimatedMinutes",
|
|
829
|
+
"acceptanceCriteria",
|
|
830
|
+
"author",
|
|
831
|
+
"message",
|
|
832
|
+
"assignee"
|
|
833
|
+
];
|
|
834
|
+
var DEFAULT_REQUIRED_CREATE_REPEATABLES = ["dep", "comment", "note", "learning", "file", "test", "doc"];
|
|
835
|
+
var COMMON_MUTATION_COMMAND_OPTION_KEYS = [
|
|
836
|
+
"deadline",
|
|
837
|
+
"estimatedMinutes",
|
|
838
|
+
"acceptanceCriteria",
|
|
839
|
+
"definitionOfReady",
|
|
840
|
+
"order",
|
|
841
|
+
"goal",
|
|
842
|
+
"objective",
|
|
843
|
+
"value",
|
|
844
|
+
"impact",
|
|
845
|
+
"outcome",
|
|
846
|
+
"whyNow",
|
|
847
|
+
"assignee",
|
|
848
|
+
"parent",
|
|
849
|
+
"reviewer",
|
|
850
|
+
"risk",
|
|
851
|
+
"confidence",
|
|
852
|
+
"sprint",
|
|
853
|
+
"release",
|
|
854
|
+
"blockedBy",
|
|
855
|
+
"blockedReason",
|
|
856
|
+
"unblockNote",
|
|
857
|
+
"reporter",
|
|
858
|
+
"severity",
|
|
859
|
+
"environment",
|
|
860
|
+
"reproSteps",
|
|
861
|
+
"resolution",
|
|
862
|
+
"expectedResult",
|
|
863
|
+
"actualResult",
|
|
864
|
+
"affectedVersion",
|
|
865
|
+
"fixedVersion",
|
|
866
|
+
"component",
|
|
867
|
+
"regression",
|
|
868
|
+
"customerImpact"
|
|
869
|
+
];
|
|
870
|
+
var CREATE_COMMAND_OPTION_KEYS = [
|
|
871
|
+
"title",
|
|
872
|
+
"description",
|
|
873
|
+
"type",
|
|
874
|
+
"status",
|
|
875
|
+
"priority",
|
|
876
|
+
"tags",
|
|
877
|
+
"body",
|
|
878
|
+
...COMMON_MUTATION_COMMAND_OPTION_KEYS,
|
|
879
|
+
"author",
|
|
880
|
+
"message",
|
|
881
|
+
"dep",
|
|
882
|
+
"comment",
|
|
883
|
+
"note",
|
|
884
|
+
"learning",
|
|
885
|
+
"file",
|
|
886
|
+
"test",
|
|
887
|
+
"doc",
|
|
888
|
+
"reminder",
|
|
889
|
+
"event",
|
|
890
|
+
"typeOption",
|
|
891
|
+
"field"
|
|
892
|
+
];
|
|
893
|
+
var UPDATE_COMMAND_OPTION_KEYS = [
|
|
894
|
+
"title",
|
|
895
|
+
"description",
|
|
896
|
+
"body",
|
|
897
|
+
"status",
|
|
898
|
+
"closeReason",
|
|
899
|
+
"priority",
|
|
900
|
+
"type",
|
|
901
|
+
"tags",
|
|
902
|
+
...COMMON_MUTATION_COMMAND_OPTION_KEYS,
|
|
903
|
+
"author",
|
|
904
|
+
"message",
|
|
905
|
+
"comment",
|
|
906
|
+
"note",
|
|
907
|
+
"learning",
|
|
908
|
+
"file",
|
|
909
|
+
"test",
|
|
910
|
+
"doc",
|
|
911
|
+
"reminder",
|
|
912
|
+
"event",
|
|
913
|
+
"typeOption",
|
|
914
|
+
"field",
|
|
915
|
+
"allowAuditUpdate",
|
|
916
|
+
"force"
|
|
917
|
+
];
|
|
918
|
+
var SHARED_COMMAND_OPTION_ALIASES = {
|
|
919
|
+
"close-reason": "closeReason",
|
|
920
|
+
close_reason: "closeReason",
|
|
921
|
+
"estimated-minutes": "estimatedMinutes",
|
|
922
|
+
estimated_minutes: "estimatedMinutes",
|
|
923
|
+
estimate: "estimatedMinutes",
|
|
924
|
+
"acceptance-criteria": "acceptanceCriteria",
|
|
925
|
+
acceptance_criteria: "acceptanceCriteria",
|
|
926
|
+
ac: "acceptanceCriteria",
|
|
927
|
+
"definition-of-ready": "definitionOfReady",
|
|
928
|
+
definition_of_ready: "definitionOfReady",
|
|
929
|
+
rank: "order",
|
|
930
|
+
"why-now": "whyNow",
|
|
931
|
+
why_now: "whyNow",
|
|
932
|
+
"blocked-by": "blockedBy",
|
|
933
|
+
blocked_by: "blockedBy",
|
|
934
|
+
"blocked-reason": "blockedReason",
|
|
935
|
+
blocked_reason: "blockedReason",
|
|
936
|
+
"unblock-note": "unblockNote",
|
|
937
|
+
unblock_note: "unblockNote",
|
|
938
|
+
"repro-steps": "reproSteps",
|
|
939
|
+
repro_steps: "reproSteps",
|
|
940
|
+
"expected-result": "expectedResult",
|
|
941
|
+
expected_result: "expectedResult",
|
|
942
|
+
"actual-result": "actualResult",
|
|
943
|
+
actual_result: "actualResult",
|
|
944
|
+
"affected-version": "affectedVersion",
|
|
945
|
+
affected_version: "affectedVersion",
|
|
946
|
+
"fixed-version": "fixedVersion",
|
|
947
|
+
fixed_version: "fixedVersion",
|
|
948
|
+
"customer-impact": "customerImpact",
|
|
949
|
+
customer_impact: "customerImpact",
|
|
950
|
+
"type-option": "typeOption",
|
|
951
|
+
type_option: "typeOption",
|
|
952
|
+
type_options: "typeOption"
|
|
953
|
+
};
|
|
954
|
+
var CREATE_COMMAND_OPTION_ALIASES = {
|
|
955
|
+
...SHARED_COMMAND_OPTION_ALIASES
|
|
956
|
+
};
|
|
957
|
+
var UPDATE_COMMAND_OPTION_ALIASES = {
|
|
958
|
+
...SHARED_COMMAND_OPTION_ALIASES,
|
|
959
|
+
"allow-audit-update": "allowAuditUpdate",
|
|
960
|
+
allow_audit_update: "allowAuditUpdate"
|
|
961
|
+
};
|
|
962
|
+
var CREATE_COMMAND_OPTION_FLAG_LABELS = {
|
|
963
|
+
title: "--title",
|
|
964
|
+
description: "--description",
|
|
965
|
+
type: "--type",
|
|
966
|
+
status: "--status",
|
|
967
|
+
priority: "--priority",
|
|
968
|
+
tags: "--tags",
|
|
969
|
+
body: "--body",
|
|
970
|
+
deadline: "--deadline",
|
|
971
|
+
estimatedMinutes: "--estimate/--estimated-minutes",
|
|
972
|
+
acceptanceCriteria: "--acceptance-criteria/--ac",
|
|
973
|
+
definitionOfReady: "--definition-of-ready",
|
|
974
|
+
order: "--order/--rank",
|
|
975
|
+
goal: "--goal",
|
|
976
|
+
objective: "--objective",
|
|
977
|
+
value: "--value",
|
|
978
|
+
impact: "--impact",
|
|
979
|
+
outcome: "--outcome",
|
|
980
|
+
whyNow: "--why-now",
|
|
981
|
+
author: "--author",
|
|
982
|
+
message: "--message",
|
|
983
|
+
assignee: "--assignee",
|
|
984
|
+
parent: "--parent",
|
|
985
|
+
reviewer: "--reviewer",
|
|
986
|
+
risk: "--risk",
|
|
987
|
+
confidence: "--confidence",
|
|
988
|
+
sprint: "--sprint",
|
|
989
|
+
release: "--release",
|
|
990
|
+
blockedBy: "--blocked-by",
|
|
991
|
+
blockedReason: "--blocked-reason",
|
|
992
|
+
unblockNote: "--unblock-note",
|
|
993
|
+
reporter: "--reporter",
|
|
994
|
+
severity: "--severity",
|
|
995
|
+
environment: "--environment",
|
|
996
|
+
reproSteps: "--repro-steps",
|
|
997
|
+
resolution: "--resolution",
|
|
998
|
+
expectedResult: "--expected-result",
|
|
999
|
+
actualResult: "--actual-result",
|
|
1000
|
+
affectedVersion: "--affected-version",
|
|
1001
|
+
fixedVersion: "--fixed-version",
|
|
1002
|
+
component: "--component",
|
|
1003
|
+
regression: "--regression",
|
|
1004
|
+
customerImpact: "--customer-impact",
|
|
1005
|
+
dep: "--dep",
|
|
1006
|
+
comment: "--comment",
|
|
1007
|
+
note: "--note",
|
|
1008
|
+
learning: "--learning",
|
|
1009
|
+
file: "--file",
|
|
1010
|
+
test: "--test",
|
|
1011
|
+
doc: "--doc",
|
|
1012
|
+
reminder: "--reminder",
|
|
1013
|
+
event: "--event",
|
|
1014
|
+
typeOption: "--type-option"
|
|
1015
|
+
};
|
|
1016
|
+
var UPDATE_COMMAND_OPTION_FLAG_LABELS = {
|
|
1017
|
+
title: "--title",
|
|
1018
|
+
description: "--description",
|
|
1019
|
+
body: "--body",
|
|
1020
|
+
status: "--status",
|
|
1021
|
+
closeReason: "--close-reason",
|
|
1022
|
+
priority: "--priority",
|
|
1023
|
+
type: "--type",
|
|
1024
|
+
tags: "--tags",
|
|
1025
|
+
deadline: "--deadline",
|
|
1026
|
+
estimatedMinutes: "--estimate/--estimated-minutes",
|
|
1027
|
+
acceptanceCriteria: "--acceptance-criteria/--ac",
|
|
1028
|
+
definitionOfReady: "--definition-of-ready",
|
|
1029
|
+
order: "--order/--rank",
|
|
1030
|
+
goal: "--goal",
|
|
1031
|
+
objective: "--objective",
|
|
1032
|
+
value: "--value",
|
|
1033
|
+
impact: "--impact",
|
|
1034
|
+
outcome: "--outcome",
|
|
1035
|
+
whyNow: "--why-now",
|
|
1036
|
+
assignee: "--assignee",
|
|
1037
|
+
parent: "--parent",
|
|
1038
|
+
reviewer: "--reviewer",
|
|
1039
|
+
risk: "--risk",
|
|
1040
|
+
confidence: "--confidence",
|
|
1041
|
+
sprint: "--sprint",
|
|
1042
|
+
release: "--release",
|
|
1043
|
+
blockedBy: "--blocked-by",
|
|
1044
|
+
blockedReason: "--blocked-reason",
|
|
1045
|
+
unblockNote: "--unblock-note",
|
|
1046
|
+
reporter: "--reporter",
|
|
1047
|
+
severity: "--severity",
|
|
1048
|
+
environment: "--environment",
|
|
1049
|
+
reproSteps: "--repro-steps",
|
|
1050
|
+
resolution: "--resolution",
|
|
1051
|
+
expectedResult: "--expected-result",
|
|
1052
|
+
actualResult: "--actual-result",
|
|
1053
|
+
affectedVersion: "--affected-version",
|
|
1054
|
+
fixedVersion: "--fixed-version",
|
|
1055
|
+
component: "--component",
|
|
1056
|
+
regression: "--regression",
|
|
1057
|
+
customerImpact: "--customer-impact",
|
|
1058
|
+
comment: "--comment",
|
|
1059
|
+
note: "--note",
|
|
1060
|
+
learning: "--learning",
|
|
1061
|
+
file: "--file",
|
|
1062
|
+
test: "--test",
|
|
1063
|
+
doc: "--doc",
|
|
1064
|
+
reminder: "--reminder",
|
|
1065
|
+
event: "--event",
|
|
1066
|
+
typeOption: "--type-option",
|
|
1067
|
+
allowAuditUpdate: "--allow-audit-update",
|
|
1068
|
+
author: "--author",
|
|
1069
|
+
message: "--message",
|
|
1070
|
+
force: "--force"
|
|
1071
|
+
};
|
|
1072
|
+
function normalizeCommandOptionToken(value) {
|
|
1073
|
+
return value.trim().replace(/^--+/, "").toLowerCase();
|
|
1074
|
+
}
|
|
1075
|
+
function commandOptionKeys(command) {
|
|
1076
|
+
return command === "create" ? CREATE_COMMAND_OPTION_KEYS : UPDATE_COMMAND_OPTION_KEYS;
|
|
1077
|
+
}
|
|
1078
|
+
function commandOptionAliases(command) {
|
|
1079
|
+
return command === "create" ? CREATE_COMMAND_OPTION_ALIASES : UPDATE_COMMAND_OPTION_ALIASES;
|
|
1080
|
+
}
|
|
1081
|
+
function canonicalizeCommandOptionKey(command, rawOption) {
|
|
1082
|
+
const normalizedToken = normalizeCommandOptionToken(rawOption);
|
|
1083
|
+
if (normalizedToken.length === 0) {
|
|
1084
|
+
return void 0;
|
|
1085
|
+
}
|
|
1086
|
+
const aliased = commandOptionAliases(command)[normalizedToken];
|
|
1087
|
+
if (aliased) {
|
|
1088
|
+
return aliased;
|
|
1089
|
+
}
|
|
1090
|
+
return commandOptionKeys(command).find((candidate) => candidate.toLowerCase() === normalizedToken);
|
|
1091
|
+
}
|
|
1092
|
+
function commandOptionFlagLabel(command, optionKey) {
|
|
1093
|
+
const labels = command === "create" ? CREATE_COMMAND_OPTION_FLAG_LABELS : UPDATE_COMMAND_OPTION_FLAG_LABELS;
|
|
1094
|
+
return labels[optionKey] ?? `--${optionKey.replace(/([A-Z])/g, "-$1").toLowerCase()}`;
|
|
1095
|
+
}
|
|
1096
|
+
function toDefaultFolder(name) {
|
|
1097
|
+
const normalized = toSlugToken(name);
|
|
1098
|
+
if (normalized.length === 0) {
|
|
1099
|
+
return "items";
|
|
1100
|
+
}
|
|
1101
|
+
return normalized.endsWith("s") ? normalized : `${normalized}s`;
|
|
1102
|
+
}
|
|
1103
|
+
function toSlugToken(value) {
|
|
1104
|
+
const trimmed = value.trim().toLowerCase();
|
|
1105
|
+
let slug = "";
|
|
1106
|
+
let pendingDash = false;
|
|
1107
|
+
for (const character of trimmed) {
|
|
1108
|
+
const code = character.charCodeAt(0);
|
|
1109
|
+
const isAlpha = code >= 97 && code <= 122;
|
|
1110
|
+
const isDigit = code >= 48 && code <= 57;
|
|
1111
|
+
if (isAlpha || isDigit) {
|
|
1112
|
+
if (pendingDash && slug.length > 0) {
|
|
1113
|
+
slug += "-";
|
|
1114
|
+
}
|
|
1115
|
+
slug += character;
|
|
1116
|
+
pendingDash = false;
|
|
1117
|
+
continue;
|
|
1118
|
+
}
|
|
1119
|
+
if (slug.length > 0) {
|
|
1120
|
+
pendingDash = true;
|
|
1121
|
+
}
|
|
1122
|
+
}
|
|
1123
|
+
return slug;
|
|
1124
|
+
}
|
|
1125
|
+
function normalizeTypeDefinition(definition) {
|
|
1126
|
+
return normalizeItemTypeDefinition(definition, { resolvePolicyCommand: strictPolicyCommand });
|
|
1127
|
+
}
|
|
1128
|
+
function coerceTypeDefinitionFromUnknown(raw) {
|
|
1129
|
+
if (typeof raw !== "object" || raw === null || Array.isArray(raw)) {
|
|
1130
|
+
return null;
|
|
1131
|
+
}
|
|
1132
|
+
const record = raw;
|
|
1133
|
+
const name = typeof record.name === "string" ? record.name : "";
|
|
1134
|
+
if (name.trim().length === 0) {
|
|
1135
|
+
return null;
|
|
1136
|
+
}
|
|
1137
|
+
const folder = typeof record.folder === "string" ? record.folder : void 0;
|
|
1138
|
+
const description = typeof record.description === "string" ? record.description : void 0;
|
|
1139
|
+
const defaultStatus = typeof record.default_status === "string" ? record.default_status : void 0;
|
|
1140
|
+
const aliases = Array.isArray(record.aliases) ? record.aliases.filter((value) => typeof value === "string") : void 0;
|
|
1141
|
+
const requiredCreateFields = Array.isArray(record.required_create_fields) ? record.required_create_fields.filter((value) => typeof value === "string") : void 0;
|
|
1142
|
+
const requiredCreateRepeatables = Array.isArray(record.required_create_repeatables) ? record.required_create_repeatables.filter((value) => typeof value === "string") : void 0;
|
|
1143
|
+
let options;
|
|
1144
|
+
if (Array.isArray(record.options)) {
|
|
1145
|
+
options = [];
|
|
1146
|
+
for (const entry of record.options) {
|
|
1147
|
+
if (typeof entry !== "object" || entry === null || Array.isArray(entry)) {
|
|
1148
|
+
continue;
|
|
1149
|
+
}
|
|
1150
|
+
const optionRecord = entry;
|
|
1151
|
+
if (typeof optionRecord.key !== "string") {
|
|
1152
|
+
continue;
|
|
1153
|
+
}
|
|
1154
|
+
options.push({
|
|
1155
|
+
key: optionRecord.key,
|
|
1156
|
+
values: Array.isArray(optionRecord.values) ? optionRecord.values.filter((value) => typeof value === "string") : [],
|
|
1157
|
+
required: optionRecord.required === void 0 ? void 0 : Boolean(optionRecord.required),
|
|
1158
|
+
aliases: Array.isArray(optionRecord.aliases) ? optionRecord.aliases.filter((value) => typeof value === "string") : void 0,
|
|
1159
|
+
description: typeof optionRecord.description === "string" ? optionRecord.description : void 0
|
|
1160
|
+
});
|
|
1161
|
+
}
|
|
1162
|
+
}
|
|
1163
|
+
let commandOptionPolicies;
|
|
1164
|
+
if (Array.isArray(record.command_option_policies)) {
|
|
1165
|
+
commandOptionPolicies = [];
|
|
1166
|
+
for (const entry of record.command_option_policies) {
|
|
1167
|
+
if (typeof entry !== "object" || entry === null || Array.isArray(entry)) {
|
|
1168
|
+
continue;
|
|
1169
|
+
}
|
|
1170
|
+
const policyRecord = entry;
|
|
1171
|
+
if (typeof policyRecord.command !== "string" || typeof policyRecord.option !== "string") {
|
|
1172
|
+
continue;
|
|
1173
|
+
}
|
|
1174
|
+
const normalizedCommand = policyRecord.command.trim().toLowerCase();
|
|
1175
|
+
if (normalizedCommand !== "create" && normalizedCommand !== "update") {
|
|
1176
|
+
continue;
|
|
1177
|
+
}
|
|
1178
|
+
commandOptionPolicies.push({
|
|
1179
|
+
command: normalizedCommand,
|
|
1180
|
+
option: policyRecord.option,
|
|
1181
|
+
required: policyRecord.required === void 0 ? void 0 : Boolean(policyRecord.required),
|
|
1182
|
+
visible: policyRecord.visible === void 0 ? void 0 : Boolean(policyRecord.visible),
|
|
1183
|
+
enabled: policyRecord.enabled === void 0 ? void 0 : Boolean(policyRecord.enabled)
|
|
1184
|
+
});
|
|
1185
|
+
}
|
|
1186
|
+
}
|
|
1187
|
+
return {
|
|
1188
|
+
name,
|
|
1189
|
+
description,
|
|
1190
|
+
default_status: defaultStatus,
|
|
1191
|
+
folder,
|
|
1192
|
+
aliases,
|
|
1193
|
+
required_create_fields: requiredCreateFields,
|
|
1194
|
+
required_create_repeatables: requiredCreateRepeatables,
|
|
1195
|
+
options,
|
|
1196
|
+
command_option_policies: commandOptionPolicies
|
|
1197
|
+
};
|
|
1198
|
+
}
|
|
1199
|
+
function applyTypeDefinitions(source, target) {
|
|
1200
|
+
for (const rawDefinition of source) {
|
|
1201
|
+
const normalizedDefinition = normalizeTypeDefinition(rawDefinition);
|
|
1202
|
+
if (!normalizedDefinition) {
|
|
1203
|
+
continue;
|
|
1204
|
+
}
|
|
1205
|
+
const lowerName = normalizedDefinition.name.toLowerCase();
|
|
1206
|
+
const existing = target.get(lowerName);
|
|
1207
|
+
const keepName = existing?.name ?? normalizedDefinition.name;
|
|
1208
|
+
const folder = normalizedDefinition.folder ?? existing?.folder ?? toDefaultFolder(keepName);
|
|
1209
|
+
const aliases = normalizeItemTypeStringList([
|
|
1210
|
+
...existing?.aliases ?? [],
|
|
1211
|
+
...normalizedDefinition.aliases ?? []
|
|
1212
|
+
]);
|
|
1213
|
+
const requiredCreateFields = normalizedDefinition.required_create_fields ? normalizeItemTypeStringList(normalizedDefinition.required_create_fields) : existing?.required_create_fields ?? [];
|
|
1214
|
+
const requiredCreateRepeatables = normalizedDefinition.required_create_repeatables ? normalizeItemTypeStringList(normalizedDefinition.required_create_repeatables) : existing?.required_create_repeatables ?? [];
|
|
1215
|
+
const options = normalizedDefinition.options ? normalizedDefinition.options : existing?.options ? [...existing.options] : [];
|
|
1216
|
+
const commandOptionPolicies = normalizedDefinition.command_option_policies ? normalizedDefinition.command_option_policies : existing?.command_option_policies ? [...existing.command_option_policies] : [];
|
|
1217
|
+
const defaultStatus = normalizedDefinition.default_status ?? existing?.default_status;
|
|
1218
|
+
const description = normalizedDefinition.description ?? existing?.description;
|
|
1219
|
+
target.set(lowerName, {
|
|
1220
|
+
name: keepName,
|
|
1221
|
+
...description ? { description } : {},
|
|
1222
|
+
...defaultStatus ? { default_status: defaultStatus } : {},
|
|
1223
|
+
folder,
|
|
1224
|
+
aliases,
|
|
1225
|
+
required_create_fields: requiredCreateFields,
|
|
1226
|
+
required_create_repeatables: requiredCreateRepeatables,
|
|
1227
|
+
options,
|
|
1228
|
+
command_option_policies: commandOptionPolicies
|
|
1229
|
+
});
|
|
1230
|
+
}
|
|
1231
|
+
}
|
|
1232
|
+
function collectExtensionTypeDefinitions(registrations) {
|
|
1233
|
+
if (!registrations) {
|
|
1234
|
+
return [];
|
|
1235
|
+
}
|
|
1236
|
+
const definitions = [];
|
|
1237
|
+
for (const registration of registrations.item_types ?? []) {
|
|
1238
|
+
const typeDefinitionsRaw = registration.types;
|
|
1239
|
+
if (!Array.isArray(typeDefinitionsRaw)) {
|
|
1240
|
+
continue;
|
|
1241
|
+
}
|
|
1242
|
+
for (const rawDefinition of typeDefinitionsRaw) {
|
|
1243
|
+
const normalized = coerceTypeDefinitionFromUnknown(rawDefinition);
|
|
1244
|
+
if (normalized) {
|
|
1245
|
+
definitions.push(normalized);
|
|
1246
|
+
}
|
|
1247
|
+
}
|
|
1248
|
+
}
|
|
1249
|
+
return definitions;
|
|
1250
|
+
}
|
|
1251
|
+
function resolveItemTypeRegistry(settings, extensionRegistrations = null) {
|
|
1252
|
+
const byLowerName = /* @__PURE__ */ new Map();
|
|
1253
|
+
for (const builtin of ITEM_TYPE_VALUES) {
|
|
1254
|
+
byLowerName.set(builtin.toLowerCase(), {
|
|
1255
|
+
name: builtin,
|
|
1256
|
+
folder: TYPE_TO_FOLDER[builtin],
|
|
1257
|
+
aliases: [],
|
|
1258
|
+
required_create_fields: [...DEFAULT_REQUIRED_CREATE_FIELDS],
|
|
1259
|
+
required_create_repeatables: [...DEFAULT_REQUIRED_CREATE_REPEATABLES],
|
|
1260
|
+
options: [],
|
|
1261
|
+
command_option_policies: []
|
|
1262
|
+
});
|
|
1263
|
+
}
|
|
1264
|
+
applyTypeDefinitions(settings.item_types?.definitions ?? [], byLowerName);
|
|
1265
|
+
applyTypeDefinitions(collectExtensionTypeDefinitions(extensionRegistrations), byLowerName);
|
|
1266
|
+
const definitions = [...byLowerName.values()].sort((left, right) => left.name.localeCompare(right.name));
|
|
1267
|
+
const byType = {};
|
|
1268
|
+
const aliasToType = {};
|
|
1269
|
+
const typeToFolder = {};
|
|
1270
|
+
for (const definition of definitions) {
|
|
1271
|
+
byType[definition.name] = definition;
|
|
1272
|
+
typeToFolder[definition.name] = definition.folder;
|
|
1273
|
+
aliasToType[definition.name.toLowerCase()] = definition.name;
|
|
1274
|
+
for (const alias of definition.aliases) {
|
|
1275
|
+
aliasToType[alias.toLowerCase()] = definition.name;
|
|
1276
|
+
}
|
|
1277
|
+
}
|
|
1278
|
+
const folders = [...new Set(definitions.map((definition) => definition.folder))].sort((left, right) => left.localeCompare(right));
|
|
1279
|
+
return {
|
|
1280
|
+
types: definitions.map((definition) => definition.name),
|
|
1281
|
+
folders,
|
|
1282
|
+
type_to_folder: typeToFolder,
|
|
1283
|
+
by_type: byType,
|
|
1284
|
+
alias_to_type: aliasToType
|
|
1285
|
+
};
|
|
1286
|
+
}
|
|
1287
|
+
function resolveTypeName(rawType, registry) {
|
|
1288
|
+
if (rawType === void 0) {
|
|
1289
|
+
return void 0;
|
|
1290
|
+
}
|
|
1291
|
+
return registry.alias_to_type[rawType.trim().toLowerCase()];
|
|
1292
|
+
}
|
|
1293
|
+
function resolveTypeDefinition(typeName, registry) {
|
|
1294
|
+
const resolvedName = resolveTypeName(typeName, registry);
|
|
1295
|
+
if (!resolvedName) {
|
|
1296
|
+
return void 0;
|
|
1297
|
+
}
|
|
1298
|
+
return registry.by_type[resolvedName];
|
|
1299
|
+
}
|
|
1300
|
+
function resolveCommandOptionPolicyState(typeDefinition, command, baseRequiredOptions) {
|
|
1301
|
+
const errors = [];
|
|
1302
|
+
const required = /* @__PURE__ */ new Set();
|
|
1303
|
+
const hidden = /* @__PURE__ */ new Set();
|
|
1304
|
+
const disabled = /* @__PURE__ */ new Set();
|
|
1305
|
+
for (const rawBase of baseRequiredOptions) {
|
|
1306
|
+
const canonical = canonicalizeCommandOptionKey(command, rawBase);
|
|
1307
|
+
if (!canonical) {
|
|
1308
|
+
errors.push(`Unsupported base required option "${rawBase}" for command "${command}" on type "${typeDefinition.name}"`);
|
|
1309
|
+
continue;
|
|
1310
|
+
}
|
|
1311
|
+
required.add(canonical);
|
|
1312
|
+
}
|
|
1313
|
+
for (const policy of typeDefinition.command_option_policies) {
|
|
1314
|
+
if (policy.command !== command) {
|
|
1315
|
+
continue;
|
|
1316
|
+
}
|
|
1317
|
+
const canonical = canonicalizeCommandOptionKey(command, policy.option);
|
|
1318
|
+
if (!canonical) {
|
|
1319
|
+
errors.push(`Unsupported command_option_policies option "${policy.option}" for command "${command}" on type "${typeDefinition.name}"`);
|
|
1320
|
+
continue;
|
|
1321
|
+
}
|
|
1322
|
+
if (policy.required !== void 0) {
|
|
1323
|
+
if (policy.required) {
|
|
1324
|
+
required.add(canonical);
|
|
1325
|
+
} else {
|
|
1326
|
+
required.delete(canonical);
|
|
1327
|
+
}
|
|
1328
|
+
}
|
|
1329
|
+
if (policy.visible !== void 0) {
|
|
1330
|
+
if (policy.visible) {
|
|
1331
|
+
hidden.delete(canonical);
|
|
1332
|
+
} else {
|
|
1333
|
+
hidden.add(canonical);
|
|
1334
|
+
}
|
|
1335
|
+
}
|
|
1336
|
+
if (policy.enabled !== void 0) {
|
|
1337
|
+
if (policy.enabled) {
|
|
1338
|
+
disabled.delete(canonical);
|
|
1339
|
+
} else {
|
|
1340
|
+
disabled.add(canonical);
|
|
1341
|
+
}
|
|
1342
|
+
}
|
|
1343
|
+
}
|
|
1344
|
+
for (const option of required) {
|
|
1345
|
+
if (disabled.has(option)) {
|
|
1346
|
+
errors.push(`Option "${option}" cannot be both required and disabled for command "${command}" on type "${typeDefinition.name}"`);
|
|
1347
|
+
}
|
|
1348
|
+
}
|
|
1349
|
+
return {
|
|
1350
|
+
required: [...required],
|
|
1351
|
+
hidden: [...hidden].sort((left, right) => left.localeCompare(right)),
|
|
1352
|
+
disabled: [...disabled].sort((left, right) => left.localeCompare(right)),
|
|
1353
|
+
errors
|
|
1354
|
+
};
|
|
1355
|
+
}
|
|
1356
|
+
function validateTypeOptions(typeName, rawTypeOptions, registry) {
|
|
1357
|
+
const typeDefinition = resolveTypeDefinition(typeName, registry);
|
|
1358
|
+
if (!typeDefinition) {
|
|
1359
|
+
return {
|
|
1360
|
+
normalized: void 0,
|
|
1361
|
+
errors: [`Unknown type "${typeName}"`]
|
|
1362
|
+
};
|
|
1363
|
+
}
|
|
1364
|
+
const errors = [];
|
|
1365
|
+
const optionByAlias = /* @__PURE__ */ new Map();
|
|
1366
|
+
for (const option of typeDefinition.options) {
|
|
1367
|
+
optionByAlias.set(option.key.toLowerCase(), option);
|
|
1368
|
+
for (const alias of option.aliases ?? []) {
|
|
1369
|
+
optionByAlias.set(alias.toLowerCase(), option);
|
|
1370
|
+
}
|
|
1371
|
+
}
|
|
1372
|
+
const normalized = {};
|
|
1373
|
+
for (const [rawKey, rawValue] of Object.entries(rawTypeOptions ?? {})) {
|
|
1374
|
+
const trimmedKey = rawKey.trim();
|
|
1375
|
+
const trimmedValue = rawValue.trim();
|
|
1376
|
+
if (trimmedKey.length === 0) {
|
|
1377
|
+
errors.push("type option keys must not be empty");
|
|
1378
|
+
continue;
|
|
1379
|
+
}
|
|
1380
|
+
if (trimmedValue.length === 0) {
|
|
1381
|
+
errors.push(`type option "${trimmedKey}" must not be empty`);
|
|
1382
|
+
continue;
|
|
1383
|
+
}
|
|
1384
|
+
const optionDefinition = optionByAlias.get(trimmedKey.toLowerCase());
|
|
1385
|
+
if (!optionDefinition) {
|
|
1386
|
+
const allowed = typeDefinition.options.map((option) => option.key).join(", ");
|
|
1387
|
+
errors.push(typeDefinition.options.length > 0 ? `Unknown type option "${trimmedKey}" for type "${typeDefinition.name}". Allowed: ${allowed}` : `Type "${typeDefinition.name}" does not define any configurable type options`);
|
|
1388
|
+
continue;
|
|
1389
|
+
}
|
|
1390
|
+
const allowedValues = optionDefinition.values;
|
|
1391
|
+
let resolvedValue = trimmedValue;
|
|
1392
|
+
if (allowedValues.length > 0) {
|
|
1393
|
+
const valueLookup = new Map(allowedValues.map((value) => [value.toLowerCase(), value]));
|
|
1394
|
+
const canonical = valueLookup.get(trimmedValue.toLowerCase());
|
|
1395
|
+
if (!canonical) {
|
|
1396
|
+
errors.push(`Invalid value "${trimmedValue}" for type option "${optionDefinition.key}". Allowed: ${allowedValues.join(", ")}`);
|
|
1397
|
+
continue;
|
|
1398
|
+
}
|
|
1399
|
+
resolvedValue = canonical;
|
|
1400
|
+
}
|
|
1401
|
+
normalized[optionDefinition.key] = resolvedValue;
|
|
1402
|
+
}
|
|
1403
|
+
for (const option of typeDefinition.options) {
|
|
1404
|
+
if (option.required && !(option.key in normalized)) {
|
|
1405
|
+
errors.push(`Missing required type option "${option.key}" for type "${typeDefinition.name}"`);
|
|
1406
|
+
}
|
|
1407
|
+
}
|
|
1408
|
+
const sortedKeys = Object.keys(normalized).sort((left, right) => left.localeCompare(right));
|
|
1409
|
+
if (sortedKeys.length === 0) {
|
|
1410
|
+
return {
|
|
1411
|
+
normalized: void 0,
|
|
1412
|
+
errors
|
|
1413
|
+
};
|
|
1414
|
+
}
|
|
1415
|
+
return {
|
|
1416
|
+
normalized: Object.fromEntries(sortedKeys.map((key) => [key, normalized[key]])),
|
|
1417
|
+
errors
|
|
1418
|
+
};
|
|
1419
|
+
}
|
|
1420
|
+
|
|
611
1421
|
// dist/core/store/paths.js
|
|
612
1422
|
import { statSync } from "node:fs";
|
|
613
1423
|
import os from "node:os";
|
|
@@ -649,60 +1459,31 @@ function resolvePmRoot(cwd, cliPath) {
|
|
|
649
1459
|
const explicitPath = cliPath?.trim() || envPath?.trim();
|
|
650
1460
|
if (explicitPath) {
|
|
651
1461
|
const resolved = path4.resolve(cwd, explicitPath);
|
|
652
|
-
if (!pathExists2(getSettingsPath(resolved))) {
|
|
653
|
-
const nestedRoot = path4.join(resolved, PM_DIRNAME);
|
|
654
|
-
if (pathExists2(getSettingsPath(nestedRoot))) {
|
|
655
|
-
return nestedRoot;
|
|
656
|
-
}
|
|
657
|
-
}
|
|
658
|
-
return resolved;
|
|
659
|
-
}
|
|
660
|
-
const discoveredRoot = discoverPmRootFromAncestors(cwd);
|
|
661
|
-
if (discoveredRoot) {
|
|
662
|
-
return discoveredRoot;
|
|
663
|
-
}
|
|
664
|
-
const selected = PM_DIRNAME;
|
|
665
|
-
return path4.resolve(cwd, selected);
|
|
666
|
-
}
|
|
667
|
-
function resolveGlobalPmRoot(cwd) {
|
|
668
|
-
const envPath = process.env.PM_GLOBAL_PATH?.trim();
|
|
669
|
-
const selected = envPath && envPath.length > 0 ? envPath : path4.join(os.homedir(), ".pm-cli");
|
|
670
|
-
return path4.resolve(cwd, selected);
|
|
671
|
-
}
|
|
672
|
-
function getSettingsPath(pmRoot) {
|
|
673
|
-
return path4.join(pmRoot, SETTINGS_FILENAME);
|
|
674
|
-
}
|
|
675
|
-
function deriveDefaultTypeFolder(type) {
|
|
676
|
-
const normalized = toSlugToken(type);
|
|
677
|
-
if (normalized.length === 0) {
|
|
678
|
-
return "items";
|
|
679
|
-
}
|
|
680
|
-
return normalized.endsWith("s") ? normalized : `${normalized}s`;
|
|
681
|
-
}
|
|
682
|
-
function toSlugToken(value) {
|
|
683
|
-
const trimmed = value.trim().toLowerCase();
|
|
684
|
-
let slug = "";
|
|
685
|
-
let pendingDash = false;
|
|
686
|
-
for (const character of trimmed) {
|
|
687
|
-
const code = character.charCodeAt(0);
|
|
688
|
-
const isAlpha = code >= 97 && code <= 122;
|
|
689
|
-
const isDigit = code >= 48 && code <= 57;
|
|
690
|
-
if (isAlpha || isDigit) {
|
|
691
|
-
if (pendingDash && slug.length > 0) {
|
|
692
|
-
slug += "-";
|
|
1462
|
+
if (!pathExists2(getSettingsPath(resolved))) {
|
|
1463
|
+
const nestedRoot = path4.join(resolved, PM_DIRNAME);
|
|
1464
|
+
if (pathExists2(getSettingsPath(nestedRoot))) {
|
|
1465
|
+
return nestedRoot;
|
|
693
1466
|
}
|
|
694
|
-
slug += character;
|
|
695
|
-
pendingDash = false;
|
|
696
|
-
continue;
|
|
697
|
-
}
|
|
698
|
-
if (slug.length > 0) {
|
|
699
|
-
pendingDash = true;
|
|
700
1467
|
}
|
|
1468
|
+
return resolved;
|
|
701
1469
|
}
|
|
702
|
-
|
|
1470
|
+
const discoveredRoot = discoverPmRootFromAncestors(cwd);
|
|
1471
|
+
if (discoveredRoot) {
|
|
1472
|
+
return discoveredRoot;
|
|
1473
|
+
}
|
|
1474
|
+
const selected = PM_DIRNAME;
|
|
1475
|
+
return path4.resolve(cwd, selected);
|
|
1476
|
+
}
|
|
1477
|
+
function resolveGlobalPmRoot(cwd) {
|
|
1478
|
+
const envPath = process.env.PM_GLOBAL_PATH?.trim();
|
|
1479
|
+
const selected = envPath && envPath.length > 0 ? envPath : path4.join(os.homedir(), ".pm-cli");
|
|
1480
|
+
return path4.resolve(cwd, selected);
|
|
1481
|
+
}
|
|
1482
|
+
function getSettingsPath(pmRoot) {
|
|
1483
|
+
return path4.join(pmRoot, SETTINGS_FILENAME);
|
|
703
1484
|
}
|
|
704
1485
|
function getTypeDirPath(pmRoot, type, typeToFolder = TYPE_TO_FOLDER) {
|
|
705
|
-
const folder = typeToFolder[type] ??
|
|
1486
|
+
const folder = typeToFolder[type] ?? toDefaultFolder(type);
|
|
706
1487
|
return path4.join(pmRoot, folder);
|
|
707
1488
|
}
|
|
708
1489
|
function getItemPath(pmRoot, type, id, itemFormat = "toon", typeToFolder = TYPE_TO_FOLDER) {
|
|
@@ -806,6 +1587,51 @@ function asRecordLoose(value) {
|
|
|
806
1587
|
return value;
|
|
807
1588
|
}
|
|
808
1589
|
|
|
1590
|
+
// dist/core/shared/levenshtein.js
|
|
1591
|
+
function levenshteinDistanceWithinLimit(left, right, limit) {
|
|
1592
|
+
if (left === right) {
|
|
1593
|
+
return 0;
|
|
1594
|
+
}
|
|
1595
|
+
if (Math.abs(left.length - right.length) > limit) {
|
|
1596
|
+
return null;
|
|
1597
|
+
}
|
|
1598
|
+
const width = right.length + 1;
|
|
1599
|
+
const beforePrevious = new Array(width);
|
|
1600
|
+
const previous = new Array(width);
|
|
1601
|
+
const current = new Array(width);
|
|
1602
|
+
for (let column = 0; column < width; column += 1) {
|
|
1603
|
+
beforePrevious[column] = 0;
|
|
1604
|
+
previous[column] = column;
|
|
1605
|
+
}
|
|
1606
|
+
for (let row = 1; row <= left.length; row += 1) {
|
|
1607
|
+
current[0] = row;
|
|
1608
|
+
let rowMin = current[0];
|
|
1609
|
+
for (let column = 1; column <= right.length; column += 1) {
|
|
1610
|
+
const cost = left[row - 1] === right[column - 1] ? 0 : 1;
|
|
1611
|
+
const substitution = previous[column - 1] + cost;
|
|
1612
|
+
const insertion = current[column - 1] + 1;
|
|
1613
|
+
const deletion = previous[column] + 1;
|
|
1614
|
+
let candidate = Math.min(substitution, insertion, deletion);
|
|
1615
|
+
if (row > 1 && column > 1 && left[row - 1] === right[column - 2] && left[row - 2] === right[column - 1]) {
|
|
1616
|
+
candidate = Math.min(candidate, beforePrevious[column - 2] + 1);
|
|
1617
|
+
}
|
|
1618
|
+
current[column] = candidate;
|
|
1619
|
+
if (candidate < rowMin) {
|
|
1620
|
+
rowMin = candidate;
|
|
1621
|
+
}
|
|
1622
|
+
}
|
|
1623
|
+
if (rowMin > limit) {
|
|
1624
|
+
return null;
|
|
1625
|
+
}
|
|
1626
|
+
for (let column = 0; column < width; column += 1) {
|
|
1627
|
+
beforePrevious[column] = previous[column];
|
|
1628
|
+
previous[column] = current[column];
|
|
1629
|
+
}
|
|
1630
|
+
}
|
|
1631
|
+
const result = previous[right.length];
|
|
1632
|
+
return result <= limit ? result : null;
|
|
1633
|
+
}
|
|
1634
|
+
|
|
809
1635
|
// dist/core/extensions/extension-registries.js
|
|
810
1636
|
function createEmptyExtensionHookRegistry() {
|
|
811
1637
|
return {
|
|
@@ -849,6 +1675,7 @@ function createEmptyExtensionRegistrationRegistry() {
|
|
|
849
1675
|
item_fields: [],
|
|
850
1676
|
item_types: [],
|
|
851
1677
|
migrations: [],
|
|
1678
|
+
profiles: [],
|
|
852
1679
|
importers: [],
|
|
853
1680
|
exporters: [],
|
|
854
1681
|
search_providers: [],
|
|
@@ -1329,51 +2156,6 @@ function isFlagDefaultValueCoercible(value, kind) {
|
|
|
1329
2156
|
return typeof value === "string" && ["true", "false", "1", "0"].includes(value.trim().toLowerCase());
|
|
1330
2157
|
}
|
|
1331
2158
|
|
|
1332
|
-
// dist/core/shared/levenshtein.js
|
|
1333
|
-
function levenshteinDistanceWithinLimit(left, right, limit) {
|
|
1334
|
-
if (left === right) {
|
|
1335
|
-
return 0;
|
|
1336
|
-
}
|
|
1337
|
-
if (Math.abs(left.length - right.length) > limit) {
|
|
1338
|
-
return null;
|
|
1339
|
-
}
|
|
1340
|
-
const width = right.length + 1;
|
|
1341
|
-
const beforePrevious = new Array(width);
|
|
1342
|
-
const previous = new Array(width);
|
|
1343
|
-
const current = new Array(width);
|
|
1344
|
-
for (let column = 0; column < width; column += 1) {
|
|
1345
|
-
beforePrevious[column] = 0;
|
|
1346
|
-
previous[column] = column;
|
|
1347
|
-
}
|
|
1348
|
-
for (let row = 1; row <= left.length; row += 1) {
|
|
1349
|
-
current[0] = row;
|
|
1350
|
-
let rowMin = current[0];
|
|
1351
|
-
for (let column = 1; column <= right.length; column += 1) {
|
|
1352
|
-
const cost = left[row - 1] === right[column - 1] ? 0 : 1;
|
|
1353
|
-
const substitution = previous[column - 1] + cost;
|
|
1354
|
-
const insertion = current[column - 1] + 1;
|
|
1355
|
-
const deletion = previous[column] + 1;
|
|
1356
|
-
let candidate = Math.min(substitution, insertion, deletion);
|
|
1357
|
-
if (row > 1 && column > 1 && left[row - 1] === right[column - 2] && left[row - 2] === right[column - 1]) {
|
|
1358
|
-
candidate = Math.min(candidate, beforePrevious[column - 2] + 1);
|
|
1359
|
-
}
|
|
1360
|
-
current[column] = candidate;
|
|
1361
|
-
if (candidate < rowMin) {
|
|
1362
|
-
rowMin = candidate;
|
|
1363
|
-
}
|
|
1364
|
-
}
|
|
1365
|
-
if (rowMin > limit) {
|
|
1366
|
-
return null;
|
|
1367
|
-
}
|
|
1368
|
-
for (let column = 0; column < width; column += 1) {
|
|
1369
|
-
beforePrevious[column] = previous[column];
|
|
1370
|
-
previous[column] = current[column];
|
|
1371
|
-
}
|
|
1372
|
-
}
|
|
1373
|
-
const result = previous[right.length];
|
|
1374
|
-
return result <= limit ? result : null;
|
|
1375
|
-
}
|
|
1376
|
-
|
|
1377
2159
|
// dist/core/extensions/item-field-types.js
|
|
1378
2160
|
var KNOWN_ITEM_FIELD_TYPES = ["string", "number", "boolean", "array", "object"];
|
|
1379
2161
|
function normalizeItemFieldType(value) {
|
|
@@ -3078,6 +3860,86 @@ function validateMigrationDefinition(definition) {
|
|
|
3078
3860
|
throw new TypeError("registerMigration definition.run must be a function when provided");
|
|
3079
3861
|
}
|
|
3080
3862
|
}
|
|
3863
|
+
var PROJECT_PROFILE_DIMENSIONS = [
|
|
3864
|
+
"types",
|
|
3865
|
+
"statuses",
|
|
3866
|
+
"fields",
|
|
3867
|
+
"workflows",
|
|
3868
|
+
"config",
|
|
3869
|
+
"templates",
|
|
3870
|
+
"packages"
|
|
3871
|
+
];
|
|
3872
|
+
function validateProjectProfileEntryShape(dimension, index, entry) {
|
|
3873
|
+
const at = `registerProfile profile.${dimension}[${index}]`;
|
|
3874
|
+
if (dimension === "types") {
|
|
3875
|
+
if (entry.name !== void 0 && typeof entry.name !== "string") {
|
|
3876
|
+
throw new TypeError(`${at}.name must be a string when provided`);
|
|
3877
|
+
}
|
|
3878
|
+
return;
|
|
3879
|
+
}
|
|
3880
|
+
if (dimension === "workflows") {
|
|
3881
|
+
if (typeof entry.type !== "string") {
|
|
3882
|
+
throw new TypeError(`${at}.type must be a string`);
|
|
3883
|
+
}
|
|
3884
|
+
if (!Array.isArray(entry.allowed_transitions)) {
|
|
3885
|
+
throw new TypeError(`${at}.allowed_transitions must be an array`);
|
|
3886
|
+
}
|
|
3887
|
+
for (const [pairIndex, pair] of entry.allowed_transitions.entries()) {
|
|
3888
|
+
if (!Array.isArray(pair)) {
|
|
3889
|
+
throw new TypeError(`${at}.allowed_transitions[${pairIndex}] must be a [from, to] array`);
|
|
3890
|
+
}
|
|
3891
|
+
}
|
|
3892
|
+
return;
|
|
3893
|
+
}
|
|
3894
|
+
if (dimension === "templates") {
|
|
3895
|
+
if (typeof entry.name !== "string") {
|
|
3896
|
+
throw new TypeError(`${at}.name must be a string`);
|
|
3897
|
+
}
|
|
3898
|
+
if (typeof entry.options !== "object" || entry.options === null || Array.isArray(entry.options)) {
|
|
3899
|
+
throw new TypeError(`${at}.options must be an object`);
|
|
3900
|
+
}
|
|
3901
|
+
return;
|
|
3902
|
+
}
|
|
3903
|
+
if (dimension === "packages") {
|
|
3904
|
+
if (typeof entry.spec !== "string") {
|
|
3905
|
+
throw new TypeError(`${at}.spec must be a string`);
|
|
3906
|
+
}
|
|
3907
|
+
}
|
|
3908
|
+
}
|
|
3909
|
+
function validateProjectProfileDefinition(profile) {
|
|
3910
|
+
const record = asRegistrationRecord("registerProfile profile", profile);
|
|
3911
|
+
assertNonEmptyString("registerProfile profile.name", record.name);
|
|
3912
|
+
assertNonEmptyString("registerProfile profile.title", record.title);
|
|
3913
|
+
if (record.summary !== void 0 && typeof record.summary !== "string") {
|
|
3914
|
+
throw new TypeError("registerProfile profile.summary must be a string when provided");
|
|
3915
|
+
}
|
|
3916
|
+
for (const dimension of PROJECT_PROFILE_DIMENSIONS) {
|
|
3917
|
+
const value = record[dimension];
|
|
3918
|
+
if (value === void 0) {
|
|
3919
|
+
continue;
|
|
3920
|
+
}
|
|
3921
|
+
if (!Array.isArray(value)) {
|
|
3922
|
+
throw new TypeError(`registerProfile profile.${dimension} must be an array when provided`);
|
|
3923
|
+
}
|
|
3924
|
+
for (const [index, entry] of value.entries()) {
|
|
3925
|
+
if (typeof entry !== "object" || entry === null || Array.isArray(entry)) {
|
|
3926
|
+
throw new TypeError(`registerProfile profile.${dimension}[${index}] must be an object`);
|
|
3927
|
+
}
|
|
3928
|
+
validateProjectProfileEntryShape(dimension, index, entry);
|
|
3929
|
+
}
|
|
3930
|
+
}
|
|
3931
|
+
}
|
|
3932
|
+
function applyProjectProfileDefaults(profile) {
|
|
3933
|
+
if (profile.summary === void 0) {
|
|
3934
|
+
profile.summary = "";
|
|
3935
|
+
}
|
|
3936
|
+
for (const dimension of PROJECT_PROFILE_DIMENSIONS) {
|
|
3937
|
+
if (profile[dimension] === void 0) {
|
|
3938
|
+
profile[dimension] = [];
|
|
3939
|
+
}
|
|
3940
|
+
}
|
|
3941
|
+
return profile;
|
|
3942
|
+
}
|
|
3081
3943
|
function attachRuntimeDefinition(entry, runtimeDefinition) {
|
|
3082
3944
|
Object.defineProperty(entry, "runtime_definition", {
|
|
3083
3945
|
value: runtimeDefinition,
|
|
@@ -3379,6 +4241,19 @@ function createExtensionApi(extension, hooks, commands, parsers, preflight, serv
|
|
|
3379
4241
|
definition: normalizeRegistrationRecord("registerMigration definition", definition)
|
|
3380
4242
|
}, runtimeDefinition));
|
|
3381
4243
|
};
|
|
4244
|
+
const registerProfile = (profile) => {
|
|
4245
|
+
assertExtensionCapability(extension, "schema", "registerProfile");
|
|
4246
|
+
if (!allowRegistration("schema.profiles", "registerProfile", "schema")) {
|
|
4247
|
+
return;
|
|
4248
|
+
}
|
|
4249
|
+
const snapshot = cloneRuntimeRegistrationValue(profile);
|
|
4250
|
+
validateProjectProfileDefinition(snapshot);
|
|
4251
|
+
registrations.profiles.push({
|
|
4252
|
+
layer: extension.layer,
|
|
4253
|
+
name: extension.name,
|
|
4254
|
+
profile: applyProjectProfileDefaults(snapshot)
|
|
4255
|
+
});
|
|
4256
|
+
};
|
|
3382
4257
|
const applyImportExportCommandMetadata = (method, commandPath, options) => {
|
|
3383
4258
|
if (options === void 0) {
|
|
3384
4259
|
return;
|
|
@@ -3577,6 +4452,7 @@ function createExtensionApi(extension, hooks, commands, parsers, preflight, serv
|
|
|
3577
4452
|
registerItemFields,
|
|
3578
4453
|
registerItemTypes,
|
|
3579
4454
|
registerMigration,
|
|
4455
|
+
registerProfile,
|
|
3580
4456
|
registerRenderer,
|
|
3581
4457
|
registerImporter,
|
|
3582
4458
|
registerExporter,
|
|
@@ -3602,6 +4478,7 @@ function getRegistrationCounts(registrations) {
|
|
|
3602
4478
|
item_fields: itemFieldCount,
|
|
3603
4479
|
item_types: itemTypeCount,
|
|
3604
4480
|
migrations: registrations.migrations.length,
|
|
4481
|
+
profiles: registrations.profiles.length,
|
|
3605
4482
|
importers: registrations.importers.length,
|
|
3606
4483
|
exporters: registrations.exporters.length,
|
|
3607
4484
|
search_providers: registrations.search_providers.length,
|
|
@@ -3827,6 +4704,7 @@ function attributeCapabilityUsage(activation) {
|
|
|
3827
4704
|
record(registrations.item_fields, "schema");
|
|
3828
4705
|
record(registrations.item_types, "schema");
|
|
3829
4706
|
record(registrations.migrations, "schema");
|
|
4707
|
+
record(registrations.profiles, "schema");
|
|
3830
4708
|
record(registrations.importers, "importers");
|
|
3831
4709
|
record(registrations.exporters, "importers");
|
|
3832
4710
|
record(registrations.search_providers, "search");
|
|
@@ -4069,154 +4947,49 @@ function runActiveRendererOverride(format, result) {
|
|
|
4069
4947
|
overridden: false,
|
|
4070
4948
|
rendered: null,
|
|
4071
4949
|
warnings: []
|
|
4072
|
-
};
|
|
4073
|
-
}
|
|
4074
|
-
return runRendererOverride(activeExtensionRenderers, {
|
|
4075
|
-
format,
|
|
4076
|
-
command: activeCommandContext?.command,
|
|
4077
|
-
args: activeCommandContext ? [...activeCommandContext.args] : [],
|
|
4078
|
-
options: activeCommandContext?.options ? { ...activeCommandContext.options } : {},
|
|
4079
|
-
global: activeCommandContext?.global ? { ...activeCommandContext.global } : void 0,
|
|
4080
|
-
pm_root: activeCommandContext?.pm_root,
|
|
4081
|
-
result
|
|
4082
|
-
});
|
|
4083
|
-
}
|
|
4084
|
-
function buildServiceContext(service, payload) {
|
|
4085
|
-
return {
|
|
4086
|
-
service,
|
|
4087
|
-
command: activeCommandContext?.command,
|
|
4088
|
-
args: activeCommandContext ? [...activeCommandContext.args] : [],
|
|
4089
|
-
options: activeCommandContext?.options ? { ...activeCommandContext.options } : {},
|
|
4090
|
-
global: activeCommandContext?.global ? { ...activeCommandContext.global } : void 0,
|
|
4091
|
-
pm_root: activeCommandContext?.pm_root,
|
|
4092
|
-
payload
|
|
4093
|
-
};
|
|
4094
|
-
}
|
|
4095
|
-
async function runActiveServiceOverride(service, payload) {
|
|
4096
|
-
if (!activeExtensionServices) {
|
|
4097
|
-
return {
|
|
4098
|
-
handled: false,
|
|
4099
|
-
result: payload,
|
|
4100
|
-
warnings: []
|
|
4101
|
-
};
|
|
4102
|
-
}
|
|
4103
|
-
return runServiceOverride(activeExtensionServices, buildServiceContext(service, payload));
|
|
4104
|
-
}
|
|
4105
|
-
function runActiveServiceOverrideSync(service, payload) {
|
|
4106
|
-
if (!activeExtensionServices) {
|
|
4107
|
-
return {
|
|
4108
|
-
handled: false,
|
|
4109
|
-
result: payload,
|
|
4110
|
-
warnings: []
|
|
4111
|
-
};
|
|
4112
|
-
}
|
|
4113
|
-
return runServiceOverrideSync(activeExtensionServices, buildServiceContext(service, payload));
|
|
4114
|
-
}
|
|
4115
|
-
|
|
4116
|
-
// dist/types.js
|
|
4117
|
-
var BUILTIN_ITEM_TYPE_VALUES = [
|
|
4118
|
-
"Epic",
|
|
4119
|
-
"Feature",
|
|
4120
|
-
"Task",
|
|
4121
|
-
"Chore",
|
|
4122
|
-
"Issue",
|
|
4123
|
-
"Decision",
|
|
4124
|
-
"Event",
|
|
4125
|
-
"Reminder",
|
|
4126
|
-
"Milestone",
|
|
4127
|
-
"Meeting",
|
|
4128
|
-
"Plan"
|
|
4129
|
-
];
|
|
4130
|
-
var ITEM_TYPE_VALUES = BUILTIN_ITEM_TYPE_VALUES;
|
|
4131
|
-
var STATUS_VALUES = [
|
|
4132
|
-
"draft",
|
|
4133
|
-
"open",
|
|
4134
|
-
"in_progress",
|
|
4135
|
-
"blocked",
|
|
4136
|
-
"closed",
|
|
4137
|
-
"canceled"
|
|
4138
|
-
];
|
|
4139
|
-
var RUNTIME_STATUS_ROLE_VALUES = [
|
|
4140
|
-
"draft",
|
|
4141
|
-
"active",
|
|
4142
|
-
"blocked",
|
|
4143
|
-
"terminal",
|
|
4144
|
-
"terminal_done",
|
|
4145
|
-
"terminal_canceled",
|
|
4146
|
-
"default_open",
|
|
4147
|
-
"default_close",
|
|
4148
|
-
"default_cancel"
|
|
4149
|
-
];
|
|
4150
|
-
var RUNTIME_FIELD_TYPE_VALUES = ["string", "number", "boolean", "string_array"];
|
|
4151
|
-
var RUNTIME_FIELD_COMMAND_VALUES = ["create", "update", "update_many", "list", "search", "calendar", "context"];
|
|
4152
|
-
var RUNTIME_UNKNOWN_FIELD_POLICY_VALUES = ["allow", "warn", "reject"];
|
|
4153
|
-
var DEPENDENCY_KIND_VALUES = [
|
|
4154
|
-
"blocks",
|
|
4155
|
-
"parent",
|
|
4156
|
-
"child",
|
|
4157
|
-
"parent_child",
|
|
4158
|
-
"child_of",
|
|
4159
|
-
"related",
|
|
4160
|
-
"related_to",
|
|
4161
|
-
"discovered_from",
|
|
4162
|
-
"blocked_by",
|
|
4163
|
-
"incident_from",
|
|
4164
|
-
"epic",
|
|
4165
|
-
"supersedes",
|
|
4166
|
-
"task"
|
|
4167
|
-
];
|
|
4168
|
-
var SCOPE_VALUES = ["project", "global"];
|
|
4169
|
-
var RISK_VALUES = ["low", "medium", "high", "critical"];
|
|
4170
|
-
var ISSUE_SEVERITY_VALUES = ["low", "medium", "high", "critical"];
|
|
4171
|
-
var CONFIDENCE_TEXT_VALUES = ["low", "medium", "high"];
|
|
4172
|
-
var GOVERNANCE_PRESET_VALUES = ["minimal", "default", "strict", "custom"];
|
|
4173
|
-
var RECURRENCE_FREQUENCY_VALUES = ["daily", "weekly", "monthly", "yearly"];
|
|
4174
|
-
var RECURRENCE_WEEKDAY_VALUES = ["mon", "tue", "wed", "thu", "fri", "sat", "sun"];
|
|
4175
|
-
function weekdayOrderIndex(value) {
|
|
4176
|
-
return RECURRENCE_WEEKDAY_VALUES.indexOf(value);
|
|
4950
|
+
};
|
|
4951
|
+
}
|
|
4952
|
+
return runRendererOverride(activeExtensionRenderers, {
|
|
4953
|
+
format,
|
|
4954
|
+
command: activeCommandContext?.command,
|
|
4955
|
+
args: activeCommandContext ? [...activeCommandContext.args] : [],
|
|
4956
|
+
options: activeCommandContext?.options ? { ...activeCommandContext.options } : {},
|
|
4957
|
+
global: activeCommandContext?.global ? { ...activeCommandContext.global } : void 0,
|
|
4958
|
+
pm_root: activeCommandContext?.pm_root,
|
|
4959
|
+
result
|
|
4960
|
+
});
|
|
4961
|
+
}
|
|
4962
|
+
function buildServiceContext(service, payload) {
|
|
4963
|
+
return {
|
|
4964
|
+
service,
|
|
4965
|
+
command: activeCommandContext?.command,
|
|
4966
|
+
args: activeCommandContext ? [...activeCommandContext.args] : [],
|
|
4967
|
+
options: activeCommandContext?.options ? { ...activeCommandContext.options } : {},
|
|
4968
|
+
global: activeCommandContext?.global ? { ...activeCommandContext.global } : void 0,
|
|
4969
|
+
pm_root: activeCommandContext?.pm_root,
|
|
4970
|
+
payload
|
|
4971
|
+
};
|
|
4972
|
+
}
|
|
4973
|
+
async function runActiveServiceOverride(service, payload) {
|
|
4974
|
+
if (!activeExtensionServices) {
|
|
4975
|
+
return {
|
|
4976
|
+
handled: false,
|
|
4977
|
+
result: payload,
|
|
4978
|
+
warnings: []
|
|
4979
|
+
};
|
|
4980
|
+
}
|
|
4981
|
+
return runServiceOverride(activeExtensionServices, buildServiceContext(service, payload));
|
|
4982
|
+
}
|
|
4983
|
+
function runActiveServiceOverrideSync(service, payload) {
|
|
4984
|
+
if (!activeExtensionServices) {
|
|
4985
|
+
return {
|
|
4986
|
+
handled: false,
|
|
4987
|
+
result: payload,
|
|
4988
|
+
warnings: []
|
|
4989
|
+
};
|
|
4990
|
+
}
|
|
4991
|
+
return runServiceOverrideSync(activeExtensionServices, buildServiceContext(service, payload));
|
|
4177
4992
|
}
|
|
4178
|
-
var PLAN_MODE_VALUES = [
|
|
4179
|
-
"draft",
|
|
4180
|
-
"research",
|
|
4181
|
-
"review",
|
|
4182
|
-
"approved",
|
|
4183
|
-
"executing",
|
|
4184
|
-
"paused",
|
|
4185
|
-
"completed",
|
|
4186
|
-
"superseded"
|
|
4187
|
-
];
|
|
4188
|
-
var PLAN_STEP_STATUS_VALUES = [
|
|
4189
|
-
"pending",
|
|
4190
|
-
"in_progress",
|
|
4191
|
-
"completed",
|
|
4192
|
-
"blocked",
|
|
4193
|
-
"skipped",
|
|
4194
|
-
"superseded"
|
|
4195
|
-
];
|
|
4196
|
-
var PLAN_HARNESS_VALUES = ["codex", "claude-code", "cursor", "generic"];
|
|
4197
|
-
var PLAN_STEP_LINK_KIND_VALUES = [
|
|
4198
|
-
"related",
|
|
4199
|
-
"blocks",
|
|
4200
|
-
"blocked_by",
|
|
4201
|
-
"depends_on",
|
|
4202
|
-
"discovered_from",
|
|
4203
|
-
"implements",
|
|
4204
|
-
"verifies",
|
|
4205
|
-
"supersedes"
|
|
4206
|
-
];
|
|
4207
|
-
var CONTEXT_DEPTH_VALUES = ["brief", "standard", "deep", "full"];
|
|
4208
|
-
var CONTEXT_SECTION_VALUES = [
|
|
4209
|
-
"hierarchy",
|
|
4210
|
-
"activity",
|
|
4211
|
-
"progress",
|
|
4212
|
-
"recently_created",
|
|
4213
|
-
"unparented",
|
|
4214
|
-
"blockers",
|
|
4215
|
-
"files",
|
|
4216
|
-
"workload",
|
|
4217
|
-
"staleness",
|
|
4218
|
-
"tests"
|
|
4219
|
-
];
|
|
4220
4993
|
|
|
4221
4994
|
// dist/core/schema/runtime-schema.js
|
|
4222
4995
|
import path6 from "node:path";
|
|
@@ -4375,7 +5148,7 @@ function normalizeRuntimeFieldDefinition(definition) {
|
|
|
4375
5148
|
function normalizeRuntimeSchemaSettings(schema) {
|
|
4376
5149
|
const files = {
|
|
4377
5150
|
...DEFAULT_RUNTIME_SCHEMA_FILE_PATHS,
|
|
4378
|
-
...schema?.files
|
|
5151
|
+
...schema?.files
|
|
4379
5152
|
};
|
|
4380
5153
|
const statusesSource = schema?.statuses && schema.statuses.length > 0 ? schema.statuses : DEFAULT_RUNTIME_STATUS_DEFINITIONS;
|
|
4381
5154
|
const normalizedStatuses = (() => {
|
|
@@ -4640,7 +5413,7 @@ async function loadRuntimeSchemaFromOptionalFiles(pmRoot, schema) {
|
|
|
4640
5413
|
fields: [...normalizedSchema.fields, ...loadedFields ?? []],
|
|
4641
5414
|
workflow: {
|
|
4642
5415
|
...normalizedSchema.workflow,
|
|
4643
|
-
...loadedWorkflow
|
|
5416
|
+
...loadedWorkflow
|
|
4644
5417
|
},
|
|
4645
5418
|
type_workflows: [...normalizedSchema.type_workflows ?? [], ...loadedTypeWorkflows ?? []]
|
|
4646
5419
|
});
|
|
@@ -4838,74 +5611,73 @@ function sortObjectKeys(value) {
|
|
|
4838
5611
|
function stableStringify(value) {
|
|
4839
5612
|
return JSON.stringify(sortObjectKeys(value));
|
|
4840
5613
|
}
|
|
4841
|
-
function
|
|
4842
|
-
|
|
4843
|
-
|
|
5614
|
+
function hasUnmatchedEquivalent(leftValue, rightValues, matchedIndexes, equals) {
|
|
5615
|
+
for (let index = 0; index < rightValues.length; index += 1) {
|
|
5616
|
+
if (matchedIndexes.has(index)) {
|
|
5617
|
+
continue;
|
|
5618
|
+
}
|
|
5619
|
+
if (equals(leftValue, rightValues[index])) {
|
|
5620
|
+
matchedIndexes.add(index);
|
|
5621
|
+
return true;
|
|
5622
|
+
}
|
|
4844
5623
|
}
|
|
4845
|
-
|
|
4846
|
-
|
|
5624
|
+
return false;
|
|
5625
|
+
}
|
|
5626
|
+
function compareRegExpValues(left, right) {
|
|
5627
|
+
if (!(left instanceof RegExp || right instanceof RegExp)) {
|
|
5628
|
+
return void 0;
|
|
5629
|
+
}
|
|
5630
|
+
return left instanceof RegExp && right instanceof RegExp && left.toString() === right.toString();
|
|
5631
|
+
}
|
|
5632
|
+
function compareDateValues(left, right) {
|
|
5633
|
+
if (!(left instanceof Date || right instanceof Date)) {
|
|
5634
|
+
return void 0;
|
|
4847
5635
|
}
|
|
4848
|
-
|
|
4849
|
-
|
|
5636
|
+
return left instanceof Date && right instanceof Date && left.getTime() === right.getTime();
|
|
5637
|
+
}
|
|
5638
|
+
function compareSetValues(left, right) {
|
|
5639
|
+
if (!(left instanceof Set || right instanceof Set)) {
|
|
5640
|
+
return void 0;
|
|
4850
5641
|
}
|
|
4851
|
-
if (left instanceof
|
|
4852
|
-
return
|
|
5642
|
+
if (!(left instanceof Set && right instanceof Set) || left.size !== right.size) {
|
|
5643
|
+
return false;
|
|
4853
5644
|
}
|
|
4854
|
-
|
|
4855
|
-
|
|
5645
|
+
const rightValues = [...right];
|
|
5646
|
+
const matched = /* @__PURE__ */ new Set();
|
|
5647
|
+
for (const leftValue of left) {
|
|
5648
|
+
if (!hasUnmatchedEquivalent(leftValue, rightValues, matched, stableValueEquals)) {
|
|
4856
5649
|
return false;
|
|
4857
5650
|
}
|
|
4858
|
-
const rightValues = [...right];
|
|
4859
|
-
const matched = /* @__PURE__ */ new Set();
|
|
4860
|
-
for (const leftValue of left) {
|
|
4861
|
-
let found = false;
|
|
4862
|
-
for (let index = 0; index < rightValues.length; index += 1) {
|
|
4863
|
-
if (matched.has(index)) {
|
|
4864
|
-
continue;
|
|
4865
|
-
}
|
|
4866
|
-
if (stableValueEquals(leftValue, rightValues[index])) {
|
|
4867
|
-
matched.add(index);
|
|
4868
|
-
found = true;
|
|
4869
|
-
break;
|
|
4870
|
-
}
|
|
4871
|
-
}
|
|
4872
|
-
if (!found) {
|
|
4873
|
-
return false;
|
|
4874
|
-
}
|
|
4875
|
-
}
|
|
4876
|
-
return true;
|
|
4877
5651
|
}
|
|
4878
|
-
|
|
4879
|
-
|
|
4880
|
-
|
|
4881
|
-
|
|
4882
|
-
|
|
4883
|
-
|
|
4884
|
-
|
|
4885
|
-
|
|
4886
|
-
for (let index = 0; index < rightEntries.length; index += 1) {
|
|
4887
|
-
if (matched.has(index)) {
|
|
4888
|
-
continue;
|
|
4889
|
-
}
|
|
4890
|
-
const [rightKey, rightValue] = rightEntries[index];
|
|
4891
|
-
if (stableValueEquals(leftKey, rightKey) && stableValueEquals(leftValue, rightValue)) {
|
|
4892
|
-
matched.add(index);
|
|
4893
|
-
found = true;
|
|
4894
|
-
break;
|
|
4895
|
-
}
|
|
4896
|
-
}
|
|
4897
|
-
if (!found) {
|
|
4898
|
-
return false;
|
|
4899
|
-
}
|
|
4900
|
-
}
|
|
4901
|
-
return true;
|
|
5652
|
+
return true;
|
|
5653
|
+
}
|
|
5654
|
+
function compareMapValues(left, right) {
|
|
5655
|
+
if (!(left instanceof Map || right instanceof Map)) {
|
|
5656
|
+
return void 0;
|
|
5657
|
+
}
|
|
5658
|
+
if (!(left instanceof Map && right instanceof Map) || left.size !== right.size) {
|
|
5659
|
+
return false;
|
|
4902
5660
|
}
|
|
4903
|
-
|
|
4904
|
-
|
|
5661
|
+
const rightEntries = [...right.entries()];
|
|
5662
|
+
const matched = /* @__PURE__ */ new Set();
|
|
5663
|
+
for (const [leftKey, leftValue] of left.entries()) {
|
|
5664
|
+
const leftEntry = [leftKey, leftValue];
|
|
5665
|
+
if (!hasUnmatchedEquivalent(leftEntry, rightEntries, matched, ([candidateKey, candidateValue], [rightKey, rightValue]) => stableValueEquals(candidateKey, rightKey) && stableValueEquals(candidateValue, rightValue))) {
|
|
4905
5666
|
return false;
|
|
4906
5667
|
}
|
|
4907
|
-
return left.every((value, index) => stableValueEquals(value, right[index]));
|
|
4908
5668
|
}
|
|
5669
|
+
return true;
|
|
5670
|
+
}
|
|
5671
|
+
function compareArrayValues(left, right) {
|
|
5672
|
+
if (!(Array.isArray(left) || Array.isArray(right))) {
|
|
5673
|
+
return void 0;
|
|
5674
|
+
}
|
|
5675
|
+
if (!Array.isArray(left) || !Array.isArray(right) || left.length !== right.length) {
|
|
5676
|
+
return false;
|
|
5677
|
+
}
|
|
5678
|
+
return left.every((value, index) => stableValueEquals(value, right[index]));
|
|
5679
|
+
}
|
|
5680
|
+
function comparePlainObjectValues(left, right) {
|
|
4909
5681
|
const leftKeys = Object.keys(left).sort((a, b) => a.localeCompare(b));
|
|
4910
5682
|
const rightKeys = Object.keys(right).sort((a, b) => a.localeCompare(b));
|
|
4911
5683
|
if (leftKeys.length !== rightKeys.length) {
|
|
@@ -4922,6 +5694,28 @@ function stableValueEquals(left, right) {
|
|
|
4922
5694
|
}
|
|
4923
5695
|
return true;
|
|
4924
5696
|
}
|
|
5697
|
+
var SPECIALIZED_STABLE_VALUE_COMPARISONS = [
|
|
5698
|
+
compareRegExpValues,
|
|
5699
|
+
compareDateValues,
|
|
5700
|
+
compareSetValues,
|
|
5701
|
+
compareMapValues,
|
|
5702
|
+
compareArrayValues
|
|
5703
|
+
];
|
|
5704
|
+
function stableValueEquals(left, right) {
|
|
5705
|
+
if (Object.is(left, right)) {
|
|
5706
|
+
return true;
|
|
5707
|
+
}
|
|
5708
|
+
if (left === null || right === null || typeof left !== "object" || typeof right !== "object") {
|
|
5709
|
+
return false;
|
|
5710
|
+
}
|
|
5711
|
+
for (const compare of SPECIALIZED_STABLE_VALUE_COMPARISONS) {
|
|
5712
|
+
const result = compare(left, right);
|
|
5713
|
+
if (result !== void 0) {
|
|
5714
|
+
return result;
|
|
5715
|
+
}
|
|
5716
|
+
}
|
|
5717
|
+
return comparePlainObjectValues(left, right);
|
|
5718
|
+
}
|
|
4925
5719
|
function sha256Hex(value) {
|
|
4926
5720
|
return crypto2.createHash("sha256").update(value, "utf8").digest("hex");
|
|
4927
5721
|
}
|
|
@@ -5274,87 +6068,6 @@ function validateSettings(raw) {
|
|
|
5274
6068
|
return { success: true, data: result.value };
|
|
5275
6069
|
}
|
|
5276
6070
|
|
|
5277
|
-
// dist/core/item/item-type-definition.js
|
|
5278
|
-
function normalizeItemTypeStringList(values) {
|
|
5279
|
-
return [...new Set((values ?? []).map((value) => value.trim()).filter((value) => value.length > 0))].sort((left, right) => left.localeCompare(right));
|
|
5280
|
-
}
|
|
5281
|
-
function normalizeItemTypeOption(option) {
|
|
5282
|
-
const key = option.key.trim();
|
|
5283
|
-
if (key.length === 0) {
|
|
5284
|
-
return null;
|
|
5285
|
-
}
|
|
5286
|
-
const aliases = normalizeItemTypeStringList(option.aliases);
|
|
5287
|
-
const description = option.description?.trim();
|
|
5288
|
-
return {
|
|
5289
|
-
key,
|
|
5290
|
-
values: normalizeItemTypeStringList(option.values),
|
|
5291
|
-
required: option.required === true ? true : void 0,
|
|
5292
|
-
aliases: aliases.length > 0 ? aliases : void 0,
|
|
5293
|
-
description: description && description.length > 0 ? description : void 0
|
|
5294
|
-
};
|
|
5295
|
-
}
|
|
5296
|
-
var keepPolicyCommand = (command) => command;
|
|
5297
|
-
var strictPolicyCommand = (command) => {
|
|
5298
|
-
const normalized = command.trim().toLowerCase();
|
|
5299
|
-
return normalized === "create" || normalized === "update" ? normalized : null;
|
|
5300
|
-
};
|
|
5301
|
-
function normalizeItemTypeCommandOptionPolicy(policy, resolvePolicyCommand) {
|
|
5302
|
-
const command = resolvePolicyCommand(policy.command);
|
|
5303
|
-
if (command === null) {
|
|
5304
|
-
return null;
|
|
5305
|
-
}
|
|
5306
|
-
const option = policy.option.trim();
|
|
5307
|
-
if (option.length === 0) {
|
|
5308
|
-
return null;
|
|
5309
|
-
}
|
|
5310
|
-
return {
|
|
5311
|
-
command,
|
|
5312
|
-
option,
|
|
5313
|
-
required: policy.required,
|
|
5314
|
-
visible: policy.visible,
|
|
5315
|
-
enabled: policy.enabled
|
|
5316
|
-
};
|
|
5317
|
-
}
|
|
5318
|
-
function normalizeItemTypeCommandOptionPolicies(policies, resolvePolicyCommand) {
|
|
5319
|
-
const dedupedByKey = /* @__PURE__ */ new Map();
|
|
5320
|
-
for (const policy of policies ?? []) {
|
|
5321
|
-
const normalized = normalizeItemTypeCommandOptionPolicy(policy, resolvePolicyCommand);
|
|
5322
|
-
if (!normalized) {
|
|
5323
|
-
continue;
|
|
5324
|
-
}
|
|
5325
|
-
dedupedByKey.set(`${normalized.command}:${normalized.option.toLowerCase()}`, normalized);
|
|
5326
|
-
}
|
|
5327
|
-
return [...dedupedByKey.values()].sort((left, right) => left.command === right.command ? left.option.localeCompare(right.option) : left.command.localeCompare(right.command));
|
|
5328
|
-
}
|
|
5329
|
-
function normalizeItemTypeDefinition(definition, options = {}) {
|
|
5330
|
-
const resolvePolicyCommand = options.resolvePolicyCommand ?? keepPolicyCommand;
|
|
5331
|
-
const name = definition.name.trim();
|
|
5332
|
-
if (name.length === 0) {
|
|
5333
|
-
return null;
|
|
5334
|
-
}
|
|
5335
|
-
const hasRequiredCreateFields = definition.required_create_fields !== void 0;
|
|
5336
|
-
const hasRequiredCreateRepeatables = definition.required_create_repeatables !== void 0;
|
|
5337
|
-
const hasOptions = definition.options !== void 0;
|
|
5338
|
-
const hasCommandOptionPolicies = definition.command_option_policies !== void 0;
|
|
5339
|
-
const folder = definition.folder?.trim();
|
|
5340
|
-
const description = definition.description?.trim();
|
|
5341
|
-
const defaultStatus = definition.default_status?.trim();
|
|
5342
|
-
const aliases = normalizeItemTypeStringList(definition.aliases);
|
|
5343
|
-
const normalizedOptions = (definition.options ?? []).map((option) => normalizeItemTypeOption(option)).filter((option) => option !== null).sort((left, right) => left.key.localeCompare(right.key));
|
|
5344
|
-
const commandOptionPolicies = normalizeItemTypeCommandOptionPolicies(definition.command_option_policies, resolvePolicyCommand);
|
|
5345
|
-
return {
|
|
5346
|
-
name,
|
|
5347
|
-
description: description && description.length > 0 ? description : void 0,
|
|
5348
|
-
default_status: defaultStatus && defaultStatus.length > 0 ? defaultStatus : void 0,
|
|
5349
|
-
folder: folder && folder.length > 0 ? folder : void 0,
|
|
5350
|
-
aliases: aliases.length > 0 ? aliases : void 0,
|
|
5351
|
-
required_create_fields: hasRequiredCreateFields ? normalizeItemTypeStringList(definition.required_create_fields) : void 0,
|
|
5352
|
-
required_create_repeatables: hasRequiredCreateRepeatables ? normalizeItemTypeStringList(definition.required_create_repeatables) : void 0,
|
|
5353
|
-
options: hasOptions ? normalizedOptions : void 0,
|
|
5354
|
-
command_option_policies: hasCommandOptionPolicies ? commandOptionPolicies : void 0
|
|
5355
|
-
};
|
|
5356
|
-
}
|
|
5357
|
-
|
|
5358
6071
|
// dist/core/validate/estimate-defaults.js
|
|
5359
6072
|
var DEFAULT_ESTIMATE_MINUTES_BY_TYPE = {
|
|
5360
6073
|
Epic: 2880,
|
|
@@ -5957,19 +6670,19 @@ function mergeSettings(settings) {
|
|
|
5957
6670
|
...settings,
|
|
5958
6671
|
item_format: settings.item_format === "json_markdown" ? "toon" : settings.item_format ?? defaults.item_format,
|
|
5959
6672
|
locks: { ...defaults.locks, ...settings.locks },
|
|
5960
|
-
checkpoints: { ...defaults.checkpoints, ...settings.checkpoints
|
|
6673
|
+
checkpoints: { ...defaults.checkpoints, ...settings.checkpoints },
|
|
5961
6674
|
output: { ...defaults.output, ...settings.output },
|
|
5962
6675
|
history: {
|
|
5963
6676
|
...defaults.history,
|
|
5964
|
-
...settings.history
|
|
6677
|
+
...settings.history,
|
|
5965
6678
|
compact_policy: {
|
|
5966
6679
|
...defaults.history.compact_policy,
|
|
5967
|
-
...settings.history?.compact_policy
|
|
6680
|
+
...settings.history?.compact_policy
|
|
5968
6681
|
}
|
|
5969
6682
|
},
|
|
5970
6683
|
validation: {
|
|
5971
6684
|
...defaults.validation,
|
|
5972
|
-
...settings.validation
|
|
6685
|
+
...settings.validation,
|
|
5973
6686
|
parent_reference: governance.parent_reference,
|
|
5974
6687
|
metadata_profile: governance.metadata_profile,
|
|
5975
6688
|
metadata_required_fields: normalizeValidationMetadataRequiredFields(settings.validation?.metadata_required_fields),
|
|
@@ -6005,7 +6718,7 @@ function mergeSettings(settings) {
|
|
|
6005
6718
|
stale_threshold_days: settings.context?.stale_threshold_days ?? defaults.context.stale_threshold_days,
|
|
6006
6719
|
sections: {
|
|
6007
6720
|
...defaults.context.sections,
|
|
6008
|
-
...settings.context?.sections
|
|
6721
|
+
...settings.context?.sections
|
|
6009
6722
|
}
|
|
6010
6723
|
},
|
|
6011
6724
|
extensions: {
|
|
@@ -6019,13 +6732,13 @@ function mergeSettings(settings) {
|
|
|
6019
6732
|
mutation_refresh_policy: normalizeSearchMutationRefreshPolicy(settings.search?.mutation_refresh_policy),
|
|
6020
6733
|
query_expansion: {
|
|
6021
6734
|
...defaults.search.query_expansion,
|
|
6022
|
-
...settings.search?.query_expansion
|
|
6735
|
+
...settings.search?.query_expansion,
|
|
6023
6736
|
enabled: normalizeSearchQueryExpansionEnabled(settings.search?.query_expansion?.enabled),
|
|
6024
6737
|
provider: normalizeSearchQueryExpansionProvider(settings.search?.query_expansion?.provider)
|
|
6025
6738
|
},
|
|
6026
6739
|
rerank: {
|
|
6027
6740
|
...defaults.search.rerank,
|
|
6028
|
-
...settings.search?.rerank
|
|
6741
|
+
...settings.search?.rerank,
|
|
6029
6742
|
enabled: normalizeSearchRerankEnabled(settings.search?.rerank?.enabled),
|
|
6030
6743
|
model: normalizeSearchRerankModel(settings.search?.rerank?.model),
|
|
6031
6744
|
top_k: normalizeSearchRerankTopK(settings.search?.rerank?.top_k)
|
|
@@ -6097,13 +6810,13 @@ function serializeSettings(settings, options = {}) {
|
|
|
6097
6810
|
mutation_refresh_policy: normalizeSearchMutationRefreshPolicy(baseSettings.search?.mutation_refresh_policy),
|
|
6098
6811
|
query_expansion: {
|
|
6099
6812
|
...SETTINGS_DEFAULTS.search.query_expansion,
|
|
6100
|
-
...baseSettings.search?.query_expansion
|
|
6813
|
+
...baseSettings.search?.query_expansion,
|
|
6101
6814
|
enabled: normalizeSearchQueryExpansionEnabled(baseSettings.search?.query_expansion?.enabled),
|
|
6102
6815
|
provider: normalizeSearchQueryExpansionProvider(baseSettings.search?.query_expansion?.provider)
|
|
6103
6816
|
},
|
|
6104
6817
|
rerank: {
|
|
6105
6818
|
...SETTINGS_DEFAULTS.search.rerank,
|
|
6106
|
-
...baseSettings.search?.rerank
|
|
6819
|
+
...baseSettings.search?.rerank,
|
|
6107
6820
|
enabled: normalizeSearchRerankEnabled(baseSettings.search?.rerank?.enabled),
|
|
6108
6821
|
model: normalizeSearchRerankModel(baseSettings.search?.rerank?.model),
|
|
6109
6822
|
top_k: normalizeSearchRerankTopK(baseSettings.search?.rerank?.top_k)
|
|
@@ -6115,7 +6828,7 @@ function serializeSettings(settings, options = {}) {
|
|
|
6115
6828
|
stale_threshold_days: baseSettings.context?.stale_threshold_days ?? SETTINGS_DEFAULTS.context.stale_threshold_days,
|
|
6116
6829
|
sections: {
|
|
6117
6830
|
...SETTINGS_DEFAULTS.context.sections,
|
|
6118
|
-
...baseSettings.context?.sections
|
|
6831
|
+
...baseSettings.context?.sections
|
|
6119
6832
|
}
|
|
6120
6833
|
},
|
|
6121
6834
|
extensions: {
|
|
@@ -6127,8 +6840,8 @@ function serializeSettings(settings, options = {}) {
|
|
|
6127
6840
|
...baseSettings.vector_store,
|
|
6128
6841
|
adapter: baseSettings.vector_store?.adapter ?? SETTINGS_DEFAULTS.vector_store.adapter,
|
|
6129
6842
|
collection_name: normalizeVectorStoreCollectionName(baseSettings.vector_store?.collection_name),
|
|
6130
|
-
qdrant: { ...baseSettings.vector_store?.qdrant
|
|
6131
|
-
lancedb: { ...baseSettings.vector_store?.lancedb
|
|
6843
|
+
qdrant: { ...baseSettings.vector_store?.qdrant },
|
|
6844
|
+
lancedb: { ...baseSettings.vector_store?.lancedb }
|
|
6132
6845
|
}
|
|
6133
6846
|
};
|
|
6134
6847
|
const ordered = orderObject({
|
|
@@ -6429,6 +7142,33 @@ export {
|
|
|
6429
7142
|
EMPTY_CANONICAL_DOCUMENT,
|
|
6430
7143
|
EXIT_CODE,
|
|
6431
7144
|
resolveTelemetryErrorCategory,
|
|
7145
|
+
BUILTIN_ITEM_TYPE_VALUES,
|
|
7146
|
+
STATUS_VALUES,
|
|
7147
|
+
RUNTIME_STATUS_ROLE_VALUES,
|
|
7148
|
+
RUNTIME_FIELD_TYPE_VALUES,
|
|
7149
|
+
RUNTIME_FIELD_COMMAND_VALUES,
|
|
7150
|
+
DEPENDENCY_KIND_VALUES,
|
|
7151
|
+
SCOPE_VALUES,
|
|
7152
|
+
RISK_VALUES,
|
|
7153
|
+
ISSUE_SEVERITY_VALUES,
|
|
7154
|
+
CONFIDENCE_TEXT_VALUES,
|
|
7155
|
+
RECURRENCE_FREQUENCY_VALUES,
|
|
7156
|
+
RECURRENCE_WEEKDAY_VALUES,
|
|
7157
|
+
weekdayOrderIndex,
|
|
7158
|
+
PLAN_MODE_VALUES,
|
|
7159
|
+
PLAN_STEP_STATUS_VALUES,
|
|
7160
|
+
PLAN_HARNESS_VALUES,
|
|
7161
|
+
PLAN_STEP_LINK_KIND_VALUES,
|
|
7162
|
+
CONTEXT_DEPTH_VALUES,
|
|
7163
|
+
CONTEXT_SECTION_VALUES,
|
|
7164
|
+
canonicalizeCommandOptionKey,
|
|
7165
|
+
commandOptionFlagLabel,
|
|
7166
|
+
toDefaultFolder,
|
|
7167
|
+
resolveItemTypeRegistry,
|
|
7168
|
+
resolveTypeName,
|
|
7169
|
+
resolveTypeDefinition,
|
|
7170
|
+
resolveCommandOptionPolicyState,
|
|
7171
|
+
validateTypeOptions,
|
|
6432
7172
|
ITEM_FILE_EXTENSIONS,
|
|
6433
7173
|
resolvePmRoot,
|
|
6434
7174
|
resolveGlobalPmRoot,
|
|
@@ -6498,29 +7238,6 @@ export {
|
|
|
6498
7238
|
runActiveRendererOverride,
|
|
6499
7239
|
runActiveServiceOverride,
|
|
6500
7240
|
runActiveServiceOverrideSync,
|
|
6501
|
-
BUILTIN_ITEM_TYPE_VALUES,
|
|
6502
|
-
ITEM_TYPE_VALUES,
|
|
6503
|
-
STATUS_VALUES,
|
|
6504
|
-
RUNTIME_STATUS_ROLE_VALUES,
|
|
6505
|
-
RUNTIME_FIELD_TYPE_VALUES,
|
|
6506
|
-
RUNTIME_FIELD_COMMAND_VALUES,
|
|
6507
|
-
DEPENDENCY_KIND_VALUES,
|
|
6508
|
-
SCOPE_VALUES,
|
|
6509
|
-
RISK_VALUES,
|
|
6510
|
-
ISSUE_SEVERITY_VALUES,
|
|
6511
|
-
CONFIDENCE_TEXT_VALUES,
|
|
6512
|
-
RECURRENCE_FREQUENCY_VALUES,
|
|
6513
|
-
RECURRENCE_WEEKDAY_VALUES,
|
|
6514
|
-
weekdayOrderIndex,
|
|
6515
|
-
PLAN_MODE_VALUES,
|
|
6516
|
-
PLAN_STEP_STATUS_VALUES,
|
|
6517
|
-
PLAN_HARNESS_VALUES,
|
|
6518
|
-
PLAN_STEP_LINK_KIND_VALUES,
|
|
6519
|
-
CONTEXT_DEPTH_VALUES,
|
|
6520
|
-
CONTEXT_SECTION_VALUES,
|
|
6521
|
-
normalizeItemTypeStringList,
|
|
6522
|
-
strictPolicyCommand,
|
|
6523
|
-
normalizeItemTypeDefinition,
|
|
6524
7241
|
DEFAULT_RUNTIME_SCHEMA_FILE_PATHS,
|
|
6525
7242
|
DEFAULT_RUNTIME_STATUS_DEFINITIONS,
|
|
6526
7243
|
normalizeRuntimeSchemaSettings,
|
|
@@ -6543,6 +7260,6 @@ export {
|
|
|
6543
7260
|
readSettings,
|
|
6544
7261
|
writeSettings
|
|
6545
7262
|
};
|
|
6546
|
-
//# sourceMappingURL=chunk-
|
|
7263
|
+
//# sourceMappingURL=chunk-CY5IJMUM.js.map
|
|
6547
7264
|
|
|
6548
|
-
//# debugId=
|
|
7265
|
+
//# debugId=b452df4b-661b-5f08-9d20-dff37c4bfb2f
|