@unbrained/pm-cli 2026.6.12 → 2026.6.16
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 +103 -0
- package/README.md +2 -2
- package/dist/cli/bootstrap-args.d.ts +29 -0
- package/dist/cli/bootstrap-args.js +11 -4
- package/dist/cli/bootstrap-args.js.map +1 -1
- package/dist/cli/commander-usage.d.ts +12 -0
- package/dist/cli/commander-usage.js +18 -7
- package/dist/cli/commander-usage.js.map +1 -1
- package/dist/cli/commands/activity.d.ts +19 -0
- package/dist/cli/commands/activity.js +12 -2
- package/dist/cli/commands/activity.js.map +1 -1
- package/dist/cli/commands/aggregate.d.ts +58 -0
- package/dist/cli/commands/aggregate.js +48 -15
- package/dist/cli/commands/aggregate.js.map +1 -1
- package/dist/cli/commands/annotation-command.d.ts +6 -1
- package/dist/cli/commands/annotation-command.js +72 -2
- package/dist/cli/commands/annotation-command.js.map +1 -1
- package/dist/cli/commands/append.js +4 -3
- package/dist/cli/commands/append.js.map +1 -1
- package/dist/cli/commands/close-many.d.ts +20 -0
- package/dist/cli/commands/close-many.js +14 -23
- package/dist/cli/commands/close-many.js.map +1 -1
- package/dist/cli/commands/close.js +37 -4
- package/dist/cli/commands/close.js.map +1 -1
- package/dist/cli/commands/comments-audit.js +3 -2
- package/dist/cli/commands/comments-audit.js.map +1 -1
- package/dist/cli/commands/comments.d.ts +2 -0
- package/dist/cli/commands/comments.js +49 -23
- package/dist/cli/commands/comments.js.map +1 -1
- package/dist/cli/commands/completion.js +269 -8
- package/dist/cli/commands/completion.js.map +1 -1
- package/dist/cli/commands/config.d.ts +51 -1
- package/dist/cli/commands/config.js +50 -12
- package/dist/cli/commands/config.js.map +1 -1
- package/dist/cli/commands/context.d.ts +79 -1
- package/dist/cli/commands/context.js +151 -25
- package/dist/cli/commands/context.js.map +1 -1
- package/dist/cli/commands/contracts.d.ts +80 -1
- package/dist/cli/commands/contracts.js +54 -4
- package/dist/cli/commands/contracts.js.map +1 -1
- package/dist/cli/commands/create.d.ts +49 -0
- package/dist/cli/commands/create.js +112 -7
- package/dist/cli/commands/create.js.map +1 -1
- package/dist/cli/commands/dedupe-audit.d.ts +33 -0
- package/dist/cli/commands/dedupe-audit.js +18 -14
- package/dist/cli/commands/dedupe-audit.js.map +1 -1
- package/dist/cli/commands/deps.js +7 -4
- package/dist/cli/commands/deps.js.map +1 -1
- package/dist/cli/commands/event-validation-messages.js +3 -3
- package/dist/cli/commands/event-validation-messages.js.map +1 -1
- package/dist/cli/commands/extension/bundled-catalog.d.ts +7 -0
- package/dist/cli/commands/extension/bundled-catalog.js +19 -15
- package/dist/cli/commands/extension/bundled-catalog.js.map +1 -1
- package/dist/cli/commands/extension/install-sources.d.ts +41 -1
- package/dist/cli/commands/extension/install-sources.js +26 -8
- package/dist/cli/commands/extension/install-sources.js.map +1 -1
- package/dist/cli/commands/extension/shared.d.ts +5 -0
- package/dist/cli/commands/extension/shared.js +9 -3
- package/dist/cli/commands/extension/shared.js.map +1 -1
- package/dist/cli/commands/extension.d.ts +133 -1
- package/dist/cli/commands/extension.js +127 -9
- package/dist/cli/commands/extension.js.map +1 -1
- package/dist/cli/commands/files.d.ts +30 -1
- package/dist/cli/commands/files.js +21 -2
- package/dist/cli/commands/files.js.map +1 -1
- package/dist/cli/commands/focus.d.ts +11 -0
- package/dist/cli/commands/focus.js +86 -0
- package/dist/cli/commands/focus.js.map +1 -0
- package/dist/cli/commands/get.d.ts +9 -2
- package/dist/cli/commands/get.js +34 -6
- package/dist/cli/commands/get.js.map +1 -1
- package/dist/cli/commands/guide.d.ts +5 -0
- package/dist/cli/commands/guide.js +6 -3
- package/dist/cli/commands/guide.js.map +1 -1
- package/dist/cli/commands/health.d.ts +109 -0
- package/dist/cli/commands/health.js +87 -35
- package/dist/cli/commands/health.js.map +1 -1
- package/dist/cli/commands/history-compact.js +27 -36
- package/dist/cli/commands/history-compact.js.map +1 -1
- package/dist/cli/commands/history-redact.d.ts +46 -0
- package/dist/cli/commands/history-redact.js +99 -67
- package/dist/cli/commands/history-redact.js.map +1 -1
- package/dist/cli/commands/history-repair.js +34 -37
- package/dist/cli/commands/history-repair.js.map +1 -1
- package/dist/cli/commands/history.js +6 -2
- package/dist/cli/commands/history.js.map +1 -1
- package/dist/cli/commands/index.d.ts +1 -0
- package/dist/cli/commands/index.js +3 -2
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/init-agent-guidance.d.ts +54 -0
- package/dist/cli/commands/init-agent-guidance.js +31 -4
- package/dist/cli/commands/init-agent-guidance.js.map +1 -1
- package/dist/cli/commands/init.d.ts +36 -1
- package/dist/cli/commands/init.js +38 -5
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/learnings.js +4 -3
- package/dist/cli/commands/learnings.js.map +1 -1
- package/dist/cli/commands/linked-test-parsers.d.ts +5 -0
- package/dist/cli/commands/linked-test-parsers.js +5 -2
- package/dist/cli/commands/linked-test-parsers.js.map +1 -1
- package/dist/cli/commands/list-filter-shared.d.ts +8 -0
- package/dist/cli/commands/list-filter-shared.js +70 -0
- package/dist/cli/commands/list-filter-shared.js.map +1 -0
- package/dist/cli/commands/list.d.ts +116 -0
- package/dist/cli/commands/list.js +194 -6
- package/dist/cli/commands/list.js.map +1 -1
- package/dist/cli/commands/normalize.js +16 -2
- package/dist/cli/commands/normalize.js.map +1 -1
- package/dist/cli/commands/notes.js +4 -3
- package/dist/cli/commands/notes.js.map +1 -1
- package/dist/cli/commands/plan.js +3 -2
- package/dist/cli/commands/plan.js.map +1 -1
- package/dist/cli/commands/reindex.d.ts +83 -0
- package/dist/cli/commands/reindex.js +45 -10
- package/dist/cli/commands/reindex.js.map +1 -1
- package/dist/cli/commands/restore.d.ts +40 -1
- package/dist/cli/commands/restore.js +27 -2
- package/dist/cli/commands/restore.js.map +1 -1
- package/dist/cli/commands/schema.d.ts +18 -0
- package/dist/cli/commands/schema.js +30 -3
- package/dist/cli/commands/schema.js.map +1 -1
- package/dist/cli/commands/search.d.ts +289 -1
- package/dist/cli/commands/search.js +367 -60
- package/dist/cli/commands/search.js.map +1 -1
- package/dist/cli/commands/stats.d.ts +38 -0
- package/dist/cli/commands/stats.js +38 -10
- package/dist/cli/commands/stats.js.map +1 -1
- package/dist/cli/commands/telemetry.js +5 -3
- package/dist/cli/commands/telemetry.js.map +1 -1
- package/dist/cli/commands/templates.d.ts +18 -0
- package/dist/cli/commands/templates.js +9 -2
- package/dist/cli/commands/templates.js.map +1 -1
- package/dist/cli/commands/test-all.d.ts +5 -0
- package/dist/cli/commands/test-all.js +9 -3
- package/dist/cli/commands/test-all.js.map +1 -1
- package/dist/cli/commands/test.d.ts +70 -1
- package/dist/cli/commands/test.js +84 -3
- package/dist/cli/commands/test.js.map +1 -1
- package/dist/cli/commands/update-many.d.ts +34 -1
- package/dist/cli/commands/update-many.js +60 -31
- package/dist/cli/commands/update-many.js.map +1 -1
- package/dist/cli/commands/update.d.ts +71 -0
- package/dist/cli/commands/update.js +74 -8
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/commands/upgrade.d.ts +28 -1
- package/dist/cli/commands/upgrade.js +17 -4
- package/dist/cli/commands/upgrade.js.map +1 -1
- package/dist/cli/commands/validate.d.ts +114 -0
- package/dist/cli/commands/validate.js +154 -9
- package/dist/cli/commands/validate.js.map +1 -1
- package/dist/cli/error-guidance.d.ts +30 -0
- package/dist/cli/error-guidance.js +68 -6
- package/dist/cli/error-guidance.js.map +1 -1
- package/dist/cli/extension-command-options.js +9 -7
- package/dist/cli/extension-command-options.js.map +1 -1
- package/dist/cli/help-content.d.ts +8 -0
- package/dist/cli/help-content.js +30 -6
- package/dist/cli/help-content.js.map +1 -1
- package/dist/cli/help-json-payload.d.ts +19 -1
- package/dist/cli/help-json-payload.js +16 -7
- package/dist/cli/help-json-payload.js.map +1 -1
- package/dist/cli/main.d.ts +223 -0
- package/dist/cli/main.js +214 -46
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/register-list-query.js +62 -5
- package/dist/cli/register-list-query.js.map +1 -1
- package/dist/cli/register-mutation.d.ts +16 -0
- package/dist/cli/register-mutation.js +210 -40
- package/dist/cli/register-mutation.js.map +1 -1
- package/dist/cli/register-operations.d.ts +8 -0
- package/dist/cli/register-operations.js +33 -11
- package/dist/cli/register-operations.js.map +1 -1
- package/dist/cli/register-setup.js +9 -6
- package/dist/cli/register-setup.js.map +1 -1
- package/dist/cli/registration-helpers.d.ts +4 -0
- package/dist/cli/registration-helpers.js +124 -38
- package/dist/cli/registration-helpers.js.map +1 -1
- package/dist/cli-bundle/chunks/activity-5P2KQCTH.js +18 -0
- package/dist/cli-bundle/chunks/{activity-XADJOG6G.js → activity-MJGTX4LO.js} +13 -11
- package/dist/cli-bundle/chunks/{aggregate-OD36DJU5.js → aggregate-MH3GROKB.js} +54 -25
- package/dist/cli-bundle/chunks/aggregate-MH3GROKB.js.map +7 -0
- package/dist/cli-bundle/chunks/{aggregate-6OTS3AOO.js → aggregate-OUGCDFNC.js} +55 -26
- package/dist/cli-bundle/chunks/aggregate-OUGCDFNC.js.map +1 -0
- package/dist/cli-bundle/chunks/{append-JYWO4P7W.js → append-2Q4BPUBW.js} +10 -10
- package/dist/cli-bundle/chunks/{append-JYWO4P7W.js.map → append-2Q4BPUBW.js.map} +2 -2
- package/dist/cli-bundle/chunks/{append-KG55G7S3.js → append-VCRUG2W6.js} +11 -11
- package/dist/cli-bundle/chunks/append-VCRUG2W6.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-IGVJRZ6H.js → chunk-2IUJBMKS.js} +10 -9
- package/dist/cli-bundle/chunks/{chunk-IGVJRZ6H.js.map → chunk-2IUJBMKS.js.map} +2 -2
- package/dist/cli-bundle/chunks/{chunk-ATEES5SX.js → chunk-2JEGCDYT.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-XUC4C4PT.js → chunk-3WAULYOY.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-UIG4TW2H.js → chunk-3XOXWOGA.js} +359 -19
- package/dist/cli-bundle/chunks/chunk-3XOXWOGA.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-3KLPFWZ4.js → chunk-4KBK4BA3.js} +16 -34
- package/dist/cli-bundle/chunks/chunk-4KBK4BA3.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-OLKBSY4N.js → chunk-4VLB4JH2.js} +51 -8
- package/dist/cli-bundle/chunks/chunk-4VLB4JH2.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-ZMW77VWV.js → chunk-656HPQPO.js} +27 -12
- package/dist/cli-bundle/chunks/chunk-656HPQPO.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-CW6E4NAT.js → chunk-667XI4UJ.js} +309 -20
- package/dist/cli-bundle/chunks/chunk-667XI4UJ.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-5SCT2JCT.js → chunk-6BV7ENQL.js} +9 -8
- package/dist/cli-bundle/chunks/chunk-6BV7ENQL.js.map +7 -0
- package/dist/cli-bundle/chunks/chunk-6EFCFPNE.js +35 -0
- package/dist/cli-bundle/chunks/chunk-6EFCFPNE.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-VFUZV5EB.js → chunk-6NQXMGYU.js} +19 -8
- package/dist/cli-bundle/chunks/chunk-6NQXMGYU.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-GKIZW7SM.js → chunk-764O7EUA.js} +223 -50
- package/dist/cli-bundle/chunks/chunk-764O7EUA.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-QJMGRZO2.js → chunk-7AGIXLNK.js} +3 -3
- package/dist/cli-bundle/chunks/chunk-7EILPFMA.js +404 -0
- package/dist/cli-bundle/chunks/chunk-7EILPFMA.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-HI7STVF2.js → chunk-7K2MXFMX.js} +14 -32
- package/dist/cli-bundle/chunks/chunk-7K2MXFMX.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-TNAP7EJX.js → chunk-7L5VOUYP.js} +6 -17
- package/dist/cli-bundle/chunks/chunk-7L5VOUYP.js.map +7 -0
- package/dist/cli-bundle/chunks/chunk-7ZGKNHUL.js +61 -0
- package/dist/cli-bundle/chunks/chunk-7ZGKNHUL.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-7IYFN5R7.js → chunk-A576QZDL.js} +223 -50
- package/dist/cli-bundle/chunks/chunk-A576QZDL.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-KBPQHXWG.js → chunk-AERT7KT3.js} +5 -5
- package/dist/cli-bundle/chunks/chunk-ASM4DVRW.js +58 -0
- package/dist/cli-bundle/chunks/chunk-ASM4DVRW.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-KWAXVAXX.js → chunk-B5Q7XC4K.js} +117 -37
- package/dist/cli-bundle/chunks/chunk-B5Q7XC4K.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-EWFY7SLA.js → chunk-BJWTFOZM.js} +74 -14
- package/dist/cli-bundle/chunks/chunk-BJWTFOZM.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-XJDGS74Y.js → chunk-CBMETQ2U.js} +105 -31
- package/dist/cli-bundle/chunks/chunk-CBMETQ2U.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-ESANVZF4.js → chunk-E6J2PEK6.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-VSRZRLG3.js → chunk-F2GC6L3N.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-I7NYDZDV.js → chunk-F7WSO5UX.js} +7 -18
- package/dist/cli-bundle/chunks/chunk-F7WSO5UX.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-VAOUX6TK.js → chunk-FTAZLAR7.js} +8 -5
- package/dist/cli-bundle/chunks/{chunk-VAOUX6TK.js.map → chunk-FTAZLAR7.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-OASDW5UI.js → chunk-FXNT5LPX.js} +77 -9
- package/dist/cli-bundle/chunks/chunk-FXNT5LPX.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-WUNFKP7M.js → chunk-G2YVUY7I.js} +14 -9
- package/dist/cli-bundle/chunks/chunk-G2YVUY7I.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-L5EPZQIC.js → chunk-G3CEIXTV.js} +68 -19
- package/dist/cli-bundle/chunks/chunk-G3CEIXTV.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-UUWGCWBU.js → chunk-GAVE4MYM.js} +37 -63
- package/dist/cli-bundle/chunks/chunk-GAVE4MYM.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-SXKNJPQ7.js → chunk-GQ4JKNMV.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-SXKNJPQ7.js.map → chunk-GQ4JKNMV.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-73ZPG2I3.js → chunk-GYMG7AG6.js} +36 -62
- package/dist/cli-bundle/chunks/chunk-GYMG7AG6.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-35P4GT6E.js → chunk-H6EH6ENJ.js} +362 -22
- package/dist/cli-bundle/chunks/chunk-H6EH6ENJ.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-F75JSIOZ.js → chunk-HDIDUME4.js} +45 -13
- package/dist/cli-bundle/chunks/chunk-HDIDUME4.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-XWMF3POR.js → chunk-HPELHUTG.js} +122 -45
- package/dist/cli-bundle/chunks/chunk-HPELHUTG.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-QKW5D45B.js → chunk-II7OGE3V.js} +20 -9
- package/dist/cli-bundle/chunks/chunk-II7OGE3V.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-4HFU4UO2.js → chunk-ILHLIA47.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-4HFU4UO2.js.map → chunk-ILHLIA47.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-P5BJOMBB.js → chunk-IMQG4VR3.js} +118 -74
- package/dist/cli-bundle/chunks/chunk-IMQG4VR3.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-AX4GEVQC.js → chunk-IQVB3YDD.js} +88 -22
- package/dist/cli-bundle/chunks/chunk-IQVB3YDD.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-I53JBTJW.js → chunk-KQ3LAMDO.js} +45 -13
- package/dist/cli-bundle/chunks/chunk-KQ3LAMDO.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-A6LXQFO7.js → chunk-KTVETP66.js} +334 -253
- package/dist/cli-bundle/chunks/chunk-KTVETP66.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-DY6C42S6.js → chunk-KZYVTOG5.js} +26 -11
- package/dist/cli-bundle/chunks/chunk-KZYVTOG5.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-HGLC63AU.js → chunk-L6FJPOT4.js} +11 -10
- package/dist/cli-bundle/chunks/{chunk-HGLC63AU.js.map → chunk-L6FJPOT4.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-FY4SPXSC.js → chunk-LV5FFQ7M.js} +354 -266
- package/dist/cli-bundle/chunks/chunk-LV5FFQ7M.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-PNYAAB4S.js → chunk-LWGMDLQ6.js} +8 -3
- package/dist/cli-bundle/chunks/chunk-LWGMDLQ6.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-XTKJSVWH.js → chunk-M23HXJL3.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-S26FESD4.js → chunk-MJZUZ2QE.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-I2IJY2NL.js → chunk-NCIBNERT.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-I2IJY2NL.js.map → chunk-NCIBNERT.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-TK5VZFHY.js → chunk-NIQHNDBZ.js} +76 -8
- package/dist/cli-bundle/chunks/chunk-NIQHNDBZ.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-C6SAP27O.js → chunk-O46LTCXQ.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-YW6Q3RYZ.js → chunk-OCTQJP42.js} +19 -8
- package/dist/cli-bundle/chunks/{chunk-YW6Q3RYZ.js.map → chunk-OCTQJP42.js.map} +2 -2
- package/dist/cli-bundle/chunks/{chunk-WPDMBIX6.js → chunk-OLTYNVJR.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-IUKD4W6Z.js → chunk-OY3P2I6B.js} +13 -8
- package/dist/cli-bundle/chunks/chunk-OY3P2I6B.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-SO55HRA5.js → chunk-PZD7WPUC.js} +69 -20
- package/dist/cli-bundle/chunks/chunk-PZD7WPUC.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-HHHJ2GI3.js → chunk-Q5RLUCP3.js} +74 -14
- package/dist/cli-bundle/chunks/chunk-Q5RLUCP3.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-S2ZLDYGS.js → chunk-RKKIH2ZQ.js} +116 -36
- package/dist/cli-bundle/chunks/chunk-RKKIH2ZQ.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-GWZSYR6X.js → chunk-SPYPC5CB.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-GWZSYR6X.js.map → chunk-SPYPC5CB.js.map} +1 -1
- package/dist/cli-bundle/chunks/{chunk-7AMK6DOW.js → chunk-SY4GKIWT.js} +88 -22
- package/dist/cli-bundle/chunks/chunk-SY4GKIWT.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-ZLMIWZUG.js → chunk-SY4PZWIZ.js} +7 -4
- package/dist/cli-bundle/chunks/{chunk-ZLMIWZUG.js.map → chunk-SY4PZWIZ.js.map} +2 -2
- package/dist/cli-bundle/chunks/{chunk-R2OUQVBK.js → chunk-T5VU7ROQ.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-37CYVF73.js → chunk-TIRZIQRP.js} +121 -44
- package/dist/cli-bundle/chunks/chunk-TIRZIQRP.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-7UGSRQCL.js → chunk-TUB3DZAZ.js} +107 -33
- package/dist/cli-bundle/chunks/chunk-TUB3DZAZ.js.map +7 -0
- package/dist/cli-bundle/chunks/chunk-UAR2VNCK.js +394 -0
- package/dist/cli-bundle/chunks/chunk-UAR2VNCK.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-P5U5EOMA.js → chunk-UBMCSJXX.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-ZYNJNPYD.js → chunk-UUKORJSN.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-R4VWYWRN.js → chunk-W3HFLORZ.js} +7 -2
- package/dist/cli-bundle/chunks/chunk-W3HFLORZ.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-VPEAS7PS.js → chunk-WZCQVABQ.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-X3W5ESZQ.js +32 -0
- package/dist/cli-bundle/chunks/chunk-X3W5ESZQ.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-4YFAGDRH.js → chunk-XLNNCKTN.js} +322 -19
- package/dist/cli-bundle/chunks/chunk-XLNNCKTN.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-RXAP6JL5.js → chunk-XNOY7TCB.js} +118 -74
- package/dist/cli-bundle/chunks/chunk-XNOY7TCB.js.map +7 -0
- package/dist/cli-bundle/chunks/{chunk-Y3YKK7CY.js → chunk-YGRPBFMA.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-QNJSITCX.js → chunk-YXTLI4XP.js} +20 -9
- package/dist/cli-bundle/chunks/chunk-YXTLI4XP.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-FDH2X65L.js → chunk-Z3MUNQRV.js} +52 -9
- package/dist/cli-bundle/chunks/chunk-Z3MUNQRV.js.map +1 -0
- package/dist/cli-bundle/chunks/{chunk-XMBI6TNW.js → chunk-ZJRDVYZI.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-CCX4RSYZ.js → chunk-ZONXMSVB.js} +10 -9
- package/dist/cli-bundle/chunks/chunk-ZONXMSVB.js.map +1 -0
- package/dist/cli-bundle/chunks/{claim-2RDYMCTP.js → claim-4APLUXJW.js} +10 -10
- package/dist/cli-bundle/chunks/{claim-MJ7DZFC3.js → claim-NEO7AGWH.js} +10 -10
- package/dist/cli-bundle/chunks/{close-XLEKIQSW.js → close-3QABBNGU.js} +8 -8
- package/dist/cli-bundle/chunks/close-ILMZR3D7.js +13 -0
- package/dist/cli-bundle/chunks/{close-many-AOD4HSAZ.js → close-many-MIZLTYGL.js} +32 -20
- package/dist/cli-bundle/chunks/close-many-MIZLTYGL.js.map +1 -0
- package/dist/cli-bundle/chunks/{close-many-XKAQY5CQ.js → close-many-Q7Y5AHQI.js} +31 -19
- package/dist/cli-bundle/chunks/close-many-Q7Y5AHQI.js.map +7 -0
- package/dist/cli-bundle/chunks/{comments-RN5TG4ZN.js → comments-DAIQPOMU.js} +55 -31
- package/dist/cli-bundle/chunks/comments-DAIQPOMU.js.map +1 -0
- package/dist/cli-bundle/chunks/{comments-B4RWWDJT.js → comments-IWFSVM4P.js} +54 -30
- package/dist/cli-bundle/chunks/comments-IWFSVM4P.js.map +7 -0
- package/dist/cli-bundle/chunks/{config-3JXJ3XZ7.js → config-IOJELD6O.js} +45 -19
- package/dist/cli-bundle/chunks/config-IOJELD6O.js.map +1 -0
- package/dist/cli-bundle/chunks/{config-FZ4UDC4B.js → config-PXTMAYV3.js} +44 -18
- package/dist/cli-bundle/chunks/config-PXTMAYV3.js.map +7 -0
- package/dist/cli-bundle/chunks/{context-QBPO3BFM.js → context-QHJSCJW4.js} +128 -39
- package/dist/cli-bundle/chunks/context-QHJSCJW4.js.map +1 -0
- package/dist/cli-bundle/chunks/{context-L36PIN35.js → context-XZS2VFKU.js} +127 -38
- package/dist/cli-bundle/chunks/context-XZS2VFKU.js.map +7 -0
- package/dist/cli-bundle/chunks/{contracts-2G66IGIA.js → contracts-B7U4OJTV.js} +54 -10
- package/dist/cli-bundle/chunks/contracts-B7U4OJTV.js.map +1 -0
- package/dist/cli-bundle/chunks/{contracts-PJCHYSO5.js → contracts-NSBVLXQ3.js} +54 -10
- package/dist/cli-bundle/chunks/contracts-NSBVLXQ3.js.map +7 -0
- package/dist/cli-bundle/chunks/{copy-FWIVTLBO.js → copy-Q64T5FD4.js} +7 -7
- package/dist/cli-bundle/chunks/{copy-ALU5WMHA.js → copy-SG34LCMU.js} +7 -7
- package/dist/cli-bundle/chunks/create-F5HZX2S4.js +30 -0
- package/dist/cli-bundle/chunks/{create-5433DP3G.js → create-IPAX2SNL.js} +16 -13
- package/dist/cli-bundle/chunks/{delete-Y2SGJBGY.js → delete-TLXR7LJ2.js} +7 -7
- package/dist/cli-bundle/chunks/{delete-IYTIYAJS.js → delete-VH3L7DZ6.js} +7 -7
- package/dist/cli-bundle/chunks/{deps-CZ4PTVXU.js → deps-J3HBBLDB.js} +9 -10
- package/dist/cli-bundle/chunks/{deps-CZ4PTVXU.js.map → deps-J3HBBLDB.js.map} +2 -2
- package/dist/cli-bundle/chunks/{deps-6TSPOSGU.js → deps-XV6JJ6IN.js} +10 -11
- package/dist/cli-bundle/chunks/deps-XV6JJ6IN.js.map +1 -0
- package/dist/cli-bundle/chunks/{docs-MXLGZUIT.js → docs-GWDEB7JH.js} +9 -9
- package/dist/cli-bundle/chunks/{docs-I3BAF5WH.js → docs-RCLNSKID.js} +9 -9
- package/dist/cli-bundle/chunks/{extension-Q34OEWO5.js → extension-5RN65LHT.js} +7 -5
- package/dist/cli-bundle/chunks/{extension-WH2FOIOZ.js → extension-7KO2NX2A.js} +7 -5
- package/dist/cli-bundle/chunks/{files-GUXUM2MB.js → files-3TCQHUHA.js} +25 -11
- package/dist/cli-bundle/chunks/files-3TCQHUHA.js.map +1 -0
- package/dist/cli-bundle/chunks/{files-FYP3MDPX.js → files-5FDUPSEA.js} +24 -10
- package/dist/cli-bundle/chunks/files-5FDUPSEA.js.map +7 -0
- package/dist/cli-bundle/chunks/focus-7AQMNRSU.js +109 -0
- package/dist/cli-bundle/chunks/focus-7AQMNRSU.js.map +7 -0
- package/dist/cli-bundle/chunks/focus-HQXBYPKM.js +106 -0
- package/dist/cli-bundle/chunks/focus-HQXBYPKM.js.map +1 -0
- package/dist/cli-bundle/chunks/{gc-KGQG66SA.js → gc-2FGKYRJ4.js} +3 -3
- package/dist/cli-bundle/chunks/{gc-FENB2ESG.js → gc-5B6ABL3Z.js} +3 -3
- package/dist/cli-bundle/chunks/{get-PCHS7RA6.js → get-FUMVOJQD.js} +43 -16
- package/dist/cli-bundle/chunks/get-FUMVOJQD.js.map +1 -0
- package/dist/cli-bundle/chunks/{get-QARTE6BL.js → get-H5BZTW4A.js} +42 -15
- package/dist/cli-bundle/chunks/get-H5BZTW4A.js.map +7 -0
- package/dist/cli-bundle/chunks/{health-E4D7KGHD.js → health-JSVOR6B4.js} +75 -49
- package/dist/cli-bundle/chunks/health-JSVOR6B4.js.map +1 -0
- package/dist/cli-bundle/chunks/{health-7MTXAVR2.js → health-LE2ZQGSM.js} +74 -48
- package/dist/cli-bundle/chunks/health-LE2ZQGSM.js.map +7 -0
- package/dist/cli-bundle/chunks/{history-7WUAEWHW.js → history-QO4JVJJP.js} +10 -10
- package/dist/cli-bundle/chunks/history-SSXGGTVZ.js +20 -0
- package/dist/cli-bundle/chunks/{history-compact-LW27IPFK.js → history-compact-ID74DOUI.js} +37 -46
- package/dist/cli-bundle/chunks/history-compact-ID74DOUI.js.map +7 -0
- package/dist/cli-bundle/chunks/{history-compact-3EJ3L2O7.js → history-compact-SDFRPZ4V.js} +38 -47
- package/dist/cli-bundle/chunks/history-compact-SDFRPZ4V.js.map +1 -0
- package/dist/cli-bundle/chunks/history-redact-VBH44Y7F.js +21 -0
- package/dist/cli-bundle/chunks/{history-redact-G72A4EJ4.js → history-redact-Z4P5MM3G.js} +13 -11
- package/dist/cli-bundle/chunks/{history-repair-OSQOKJ3E.js → history-repair-ANHEYWKF.js} +43 -48
- package/dist/cli-bundle/chunks/history-repair-ANHEYWKF.js.map +7 -0
- package/dist/cli-bundle/chunks/{history-repair-SBK7P34V.js → history-repair-CKE7GLZR.js} +44 -49
- package/dist/cli-bundle/chunks/history-repair-CKE7GLZR.js.map +1 -0
- package/dist/cli-bundle/chunks/init-7FBQO77A.js +19 -0
- package/dist/cli-bundle/chunks/{init-S5WEGUJY.js → init-K6MSMB37.js} +11 -9
- package/dist/cli-bundle/chunks/{learnings-XK3P4ZDR.js → learnings-VIS3NOQV.js} +13 -12
- package/dist/cli-bundle/chunks/learnings-VIS3NOQV.js.map +7 -0
- package/dist/cli-bundle/chunks/{learnings-HQXSSKZ5.js → learnings-YYNB64GN.js} +14 -13
- package/dist/cli-bundle/chunks/learnings-YYNB64GN.js.map +1 -0
- package/dist/cli-bundle/chunks/list-7UE44A2R.js +29 -0
- package/dist/cli-bundle/chunks/list-UHMA3N2K.js +33 -0
- package/dist/cli-bundle/chunks/{notes-5T6P7C5V.js → notes-2HRMV67I.js} +14 -13
- package/dist/cli-bundle/chunks/notes-2HRMV67I.js.map +1 -0
- package/dist/cli-bundle/chunks/{notes-U5FZCSBT.js → notes-IN3UMA7W.js} +13 -12
- package/dist/cli-bundle/chunks/notes-IN3UMA7W.js.map +7 -0
- package/dist/cli-bundle/chunks/{plan-2YTQYWGM.js → plan-I3SVH7FV.js} +16 -15
- package/dist/cli-bundle/chunks/plan-I3SVH7FV.js.map +1 -0
- package/dist/cli-bundle/chunks/{plan-7IVSICR6.js → plan-PAWCCAPW.js} +15 -14
- package/dist/cli-bundle/chunks/plan-PAWCCAPW.js.map +7 -0
- package/dist/cli-bundle/chunks/{register-list-query-4UPMHONX.js → register-list-query-N7Z7RTDM.js} +31 -22
- package/dist/cli-bundle/chunks/register-list-query-N7Z7RTDM.js.map +7 -0
- package/dist/cli-bundle/chunks/{register-list-query-7VOW2C3W.js → register-list-query-OTIK4DVA.js} +32 -23
- package/dist/cli-bundle/chunks/register-list-query-OTIK4DVA.js.map +1 -0
- package/dist/cli-bundle/chunks/{register-mutation-FARSGYRD.js → register-mutation-UFZK6Q57.js} +216 -66
- package/dist/cli-bundle/chunks/register-mutation-UFZK6Q57.js.map +7 -0
- package/dist/cli-bundle/chunks/{register-mutation-LJDNVREU.js → register-mutation-XFORLS6D.js} +210 -67
- package/dist/cli-bundle/chunks/register-mutation-XFORLS6D.js.map +1 -0
- package/dist/cli-bundle/chunks/{register-operations-HCJKDUA6.js → register-operations-6ZCLKRBG.js} +53 -39
- package/dist/cli-bundle/chunks/register-operations-6ZCLKRBG.js.map +7 -0
- package/dist/cli-bundle/chunks/{register-operations-FFTYAL42.js → register-operations-ITE7JTH3.js} +54 -40
- package/dist/cli-bundle/chunks/register-operations-ITE7JTH3.js.map +1 -0
- package/dist/cli-bundle/chunks/{register-setup-6AVIUOCC.js → register-setup-7RKGE4BQ.js} +18 -21
- package/dist/cli-bundle/chunks/register-setup-7RKGE4BQ.js.map +1 -0
- package/dist/cli-bundle/chunks/{register-setup-KVNLO5OJ.js → register-setup-7UKEFKT6.js} +17 -20
- package/dist/cli-bundle/chunks/register-setup-7UKEFKT6.js.map +7 -0
- package/dist/cli-bundle/chunks/{restore-M6AFHMV4.js → restore-NNVPBBVJ.js} +13 -11
- package/dist/cli-bundle/chunks/restore-XXXLQ2XC.js +19 -0
- package/dist/cli-bundle/chunks/{schema-AINZ2IMM.js → schema-3HCLXCFX.js} +27 -9
- package/dist/cli-bundle/chunks/schema-3HCLXCFX.js.map +7 -0
- package/dist/cli-bundle/chunks/{schema-76HDZJCC.js → schema-3YKCQ3VO.js} +28 -10
- package/dist/cli-bundle/chunks/schema-3YKCQ3VO.js.map +1 -0
- package/dist/cli-bundle/chunks/{search-JMLFQEPJ.js → search-NQ42NC6A.js} +328 -71
- package/dist/cli-bundle/chunks/search-NQ42NC6A.js.map +7 -0
- package/dist/cli-bundle/chunks/{search-NL3TSCYB.js → search-V7PZ2ICH.js} +328 -71
- package/dist/cli-bundle/chunks/search-V7PZ2ICH.js.map +1 -0
- package/dist/cli-bundle/chunks/{stats-BKXCBIGT.js → stats-7KD4PJC5.js} +41 -16
- package/dist/cli-bundle/chunks/stats-7KD4PJC5.js.map +7 -0
- package/dist/cli-bundle/chunks/{stats-UBD56TGK.js → stats-GRHO6RFB.js} +42 -17
- package/dist/cli-bundle/chunks/stats-GRHO6RFB.js.map +1 -0
- package/dist/cli-bundle/chunks/{telemetry-ZJXK3H7X.js → telemetry-H5GLXNG5.js} +6 -6
- package/dist/cli-bundle/chunks/telemetry-H5GLXNG5.js.map +7 -0
- package/dist/cli-bundle/chunks/{telemetry-N454RHG5.js → telemetry-TRRYZXWT.js} +7 -7
- package/dist/cli-bundle/chunks/telemetry-TRRYZXWT.js.map +1 -0
- package/dist/cli-bundle/chunks/test-6CZNIIGA.js +34 -0
- package/dist/cli-bundle/chunks/{test-BQAKIXAT.js → test-7GVQ3VMN.js} +16 -14
- package/dist/cli-bundle/chunks/{test-all-7LV3I6S5.js → test-all-3LF2OZD2.js} +23 -16
- package/dist/cli-bundle/chunks/test-all-3LF2OZD2.js.map +7 -0
- package/dist/cli-bundle/chunks/{test-all-TDYCCBA4.js → test-all-ODVADHV6.js} +24 -17
- package/dist/cli-bundle/chunks/test-all-ODVADHV6.js.map +1 -0
- package/dist/cli-bundle/chunks/{test-runs-E64M6XS3.js → test-runs-LYT6ZTNQ.js} +62 -65
- package/dist/cli-bundle/chunks/test-runs-LYT6ZTNQ.js.map +1 -0
- package/dist/cli-bundle/chunks/{test-runs-LXZLULCI.js → test-runs-RVP6VWN7.js} +61 -64
- package/dist/cli-bundle/chunks/test-runs-RVP6VWN7.js.map +7 -0
- package/dist/cli-bundle/chunks/update-MPGM6SBE.js +28 -0
- package/dist/cli-bundle/chunks/update-UN75XW3C.js +24 -0
- package/dist/cli-bundle/chunks/{update-many-F4IKDWZB.js → update-many-FCU6RKTO.js} +80 -34
- package/dist/cli-bundle/chunks/update-many-FCU6RKTO.js.map +1 -0
- package/dist/cli-bundle/chunks/{update-many-NTWZ5YT3.js → update-many-XSEQJ24X.js} +79 -33
- package/dist/cli-bundle/chunks/update-many-XSEQJ24X.js.map +7 -0
- package/dist/cli-bundle/chunks/{upgrade-37F7JKES.js → upgrade-A6TL3INC.js} +22 -8
- package/dist/cli-bundle/chunks/upgrade-A6TL3INC.js.map +7 -0
- package/dist/cli-bundle/chunks/{upgrade-L32JA4TZ.js → upgrade-FOB5LHO5.js} +23 -9
- package/dist/cli-bundle/chunks/upgrade-FOB5LHO5.js.map +1 -0
- package/dist/cli-bundle/chunks/{validate-46KCRHL7.js → validate-7BLDG3AT.js} +222 -31
- package/dist/cli-bundle/chunks/validate-7BLDG3AT.js.map +1 -0
- package/dist/cli-bundle/chunks/{validate-CRFMPTYD.js → validate-EHL3MI2V.js} +236 -31
- package/dist/cli-bundle/chunks/validate-EHL3MI2V.js.map +7 -0
- package/dist/cli-bundle/main.js +305 -140
- package/dist/cli-bundle/main.js.map +3 -3
- package/dist/cli.d.ts +10 -0
- package/dist/cli.js +21 -8
- package/dist/cli.js.map +1 -1
- package/dist/core/diagnostics/remediation.js +7 -2
- package/dist/core/diagnostics/remediation.js.map +1 -1
- package/dist/core/extensions/extension-capability-aliases.js +7 -33
- package/dist/core/extensions/extension-capability-aliases.js.map +1 -1
- package/dist/core/extensions/extension-policy.js +14 -15
- package/dist/core/extensions/extension-policy.js.map +1 -1
- package/dist/core/extensions/item-fields.js +4 -5
- package/dist/core/extensions/item-fields.js.map +1 -1
- package/dist/core/extensions/loader.d.ts +75 -1
- package/dist/core/extensions/loader.js +56 -32
- package/dist/core/extensions/loader.js.map +1 -1
- package/dist/core/governance/content-fields.d.ts +84 -0
- package/dist/core/governance/content-fields.js +182 -0
- package/dist/core/governance/content-fields.js.map +1 -0
- package/dist/core/governance/issue-codes.d.ts +51 -0
- package/dist/core/governance/issue-codes.js +95 -0
- package/dist/core/governance/issue-codes.js.map +1 -0
- package/dist/core/governance/metadata-coverage.d.ts +168 -0
- package/dist/core/governance/metadata-coverage.js +362 -0
- package/dist/core/governance/metadata-coverage.js.map +1 -0
- package/dist/core/history/history-rewrite.d.ts +22 -0
- package/dist/core/history/history-rewrite.js +38 -2
- package/dist/core/history/history-rewrite.js.map +1 -1
- package/dist/core/history/history.d.ts +7 -0
- package/dist/core/history/history.js +6 -2
- package/dist/core/history/history.js.map +1 -1
- package/dist/core/io/body-file.d.ts +14 -0
- package/dist/core/io/body-file.js +47 -0
- package/dist/core/io/body-file.js.map +1 -0
- package/dist/core/item/item-format.d.ts +46 -1
- package/dist/core/item/item-format.js +51 -60
- package/dist/core/item/item-format.js.map +1 -1
- package/dist/core/item/parse.d.ts +9 -0
- package/dist/core/item/parse.js +10 -16
- package/dist/core/item/parse.js.map +1 -1
- package/dist/core/item/type-registry.d.ts +1 -0
- package/dist/core/item/type-registry.js +8 -10
- package/dist/core/item/type-registry.js.map +1 -1
- package/dist/core/lock/lock.d.ts +26 -0
- package/dist/core/lock/lock.js +10 -2
- package/dist/core/lock/lock.js.map +1 -1
- package/dist/core/output/output.d.ts +7 -0
- package/dist/core/output/output.js +6 -2
- package/dist/core/output/output.js.map +1 -1
- package/dist/core/schema/item-types-file.d.ts +25 -2
- package/dist/core/schema/item-types-file.js +78 -6
- package/dist/core/schema/item-types-file.js.map +1 -1
- package/dist/core/schema/runtime-schema.d.ts +7 -0
- package/dist/core/schema/runtime-schema.js +23 -16
- package/dist/core/schema/runtime-schema.js.map +1 -1
- package/dist/core/search/background-refresh.js +3 -3
- package/dist/core/search/background-refresh.js.map +1 -1
- package/dist/core/search/cache.d.ts +19 -1
- package/dist/core/search/cache.js +11 -3
- package/dist/core/search/cache.js.map +1 -1
- package/dist/core/search/corpus.d.ts +36 -2
- package/dist/core/search/corpus.js +120 -24
- package/dist/core/search/corpus.js.map +1 -1
- package/dist/core/search/providers.d.ts +19 -0
- package/dist/core/search/providers.js +19 -2
- package/dist/core/search/providers.js.map +1 -1
- package/dist/core/sentry/instrument.d.ts +1 -0
- package/dist/core/sentry/instrument.js +6 -2
- package/dist/core/sentry/instrument.js.map +1 -1
- package/dist/core/session/session-state.d.ts +16 -0
- package/dist/core/session/session-state.js +48 -0
- package/dist/core/session/session-state.js.map +1 -0
- package/dist/core/shared/constants.d.ts +8 -0
- package/dist/core/shared/constants.js +11 -2
- package/dist/core/shared/constants.js.map +1 -1
- package/dist/core/shared/errors.d.ts +3 -0
- package/dist/core/shared/errors.js +2 -2
- package/dist/core/shared/errors.js.map +1 -1
- package/dist/core/shared/text-normalization.js +4 -3
- package/dist/core/shared/text-normalization.js.map +1 -1
- package/dist/core/shared/time.d.ts +13 -0
- package/dist/core/shared/time.js +19 -7
- package/dist/core/shared/time.js.map +1 -1
- package/dist/core/store/item-store.d.ts +11 -0
- package/dist/core/store/item-store.js +16 -23
- package/dist/core/store/item-store.js.map +1 -1
- package/dist/core/store/settings-validator.d.ts +2 -0
- package/dist/core/store/settings-validator.js +25 -2
- package/dist/core/store/settings-validator.js.map +1 -1
- package/dist/core/store/settings.d.ts +60 -1
- package/dist/core/store/settings.js +100 -46
- package/dist/core/store/settings.js.map +1 -1
- package/dist/core/telemetry/observability.js +10 -8
- package/dist/core/telemetry/observability.js.map +1 -1
- package/dist/core/telemetry/runtime.d.ts +272 -1
- package/dist/core/telemetry/runtime.js +358 -37
- package/dist/core/telemetry/runtime.js.map +1 -1
- package/dist/core/test/background-runs.d.ts +35 -0
- package/dist/core/test/background-runs.js +72 -61
- package/dist/core/test/background-runs.js.map +1 -1
- package/dist/core/test/run-selectors.js +5 -4
- package/dist/core/test/run-selectors.js.map +1 -1
- package/dist/core/validate/estimate-defaults.d.ts +39 -0
- package/dist/core/validate/estimate-defaults.js +117 -0
- package/dist/core/validate/estimate-defaults.js.map +1 -0
- package/dist/core/validate/fix-planning.d.ts +21 -3
- package/dist/core/validate/fix-planning.js +31 -4
- package/dist/core/validate/fix-planning.js.map +1 -1
- package/dist/core/validate/missing-link-owners.d.ts +64 -0
- package/dist/core/validate/missing-link-owners.js +98 -0
- package/dist/core/validate/missing-link-owners.js.map +1 -0
- package/dist/mcp/server.d.ts +62 -0
- package/dist/mcp/server.js +71 -8
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tool-definitions.js +17 -4
- package/dist/mcp/tool-definitions.js.map +1 -1
- package/dist/sdk/cli-contracts/commander-types.js +13 -2
- package/dist/sdk/cli-contracts/commander-types.js.map +1 -1
- package/dist/sdk/cli-contracts/enum-contracts.d.ts +2 -2
- package/dist/sdk/cli-contracts/enum-contracts.js +4 -2
- package/dist/sdk/cli-contracts/enum-contracts.js.map +1 -1
- package/dist/sdk/cli-contracts/tool-option-contracts.js +110 -2
- package/dist/sdk/cli-contracts/tool-option-contracts.js.map +1 -1
- package/dist/sdk/cli-contracts/tool-parameter-tables.js +83 -8
- package/dist/sdk/cli-contracts/tool-parameter-tables.js.map +1 -1
- package/dist/sdk/cli-contracts.d.ts +28 -0
- package/dist/sdk/cli-contracts.js +164 -11
- package/dist/sdk/cli-contracts.js.map +1 -1
- package/dist/types.d.ts +17 -1
- package/dist/types.js +3 -3
- package/dist/types.js.map +1 -1
- package/docs/AGENT_GUIDE.md +15 -3
- package/docs/CLAUDE_CODE_PLUGIN.md +2 -2
- package/docs/COMMANDS.md +136 -7
- package/docs/CONFIGURATION.md +52 -0
- package/docs/TESTING.md +6 -4
- package/package.json +6 -4
- package/packages/pm-calendar/extensions/calendar/runtime.js +6 -0
- package/packages/pm-calendar/extensions/calendar/runtime.ts +12 -0
- package/packages/pm-todos/extensions/todos/runtime.ts +5 -0
- package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
- package/plugins/pm-claude/README.md +6 -14
- package/plugins/pm-claude/commands/pm-init.md +1 -1
- package/plugins/pm-codex/README.md +1 -1
- package/scripts/bundle-cli.mjs +46 -37
- package/scripts/finalize-build.mjs +20 -9
- package/scripts/prepare-build-cache.mjs +27 -16
- package/dist/cli-bundle/chunks/activity-XZIUPGZH.js +0 -16
- package/dist/cli-bundle/chunks/aggregate-6OTS3AOO.js.map +0 -1
- package/dist/cli-bundle/chunks/aggregate-OD36DJU5.js.map +0 -7
- package/dist/cli-bundle/chunks/append-KG55G7S3.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-35P4GT6E.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-37CYVF73.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-3KLPFWZ4.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-4JCSYR6F.js +0 -138
- package/dist/cli-bundle/chunks/chunk-4JCSYR6F.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-4YFAGDRH.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-5SCT2JCT.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-73ZPG2I3.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-7AMK6DOW.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-7IYFN5R7.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-7UGSRQCL.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-A6LXQFO7.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-AVGHVVF7.js +0 -128
- package/dist/cli-bundle/chunks/chunk-AVGHVVF7.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-AX4GEVQC.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-CCX4RSYZ.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-CW6E4NAT.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-DY6C42S6.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-EWFY7SLA.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-F75JSIOZ.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-FDH2X65L.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-FY4SPXSC.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-GKIZW7SM.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-HHHJ2GI3.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-HI7STVF2.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-I53JBTJW.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-I7NYDZDV.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-IUKD4W6Z.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-KWAXVAXX.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-L5EPZQIC.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-OASDW5UI.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-OLKBSY4N.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-P5BJOMBB.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-PNYAAB4S.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-QKW5D45B.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-QNJSITCX.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-R4VWYWRN.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-RXAP6JL5.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-S2ZLDYGS.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-SO55HRA5.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-TK5VZFHY.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-TNAP7EJX.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-UIG4TW2H.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-UUWGCWBU.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-VFUZV5EB.js.map +0 -7
- package/dist/cli-bundle/chunks/chunk-WUNFKP7M.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-XJDGS74Y.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-XWMF3POR.js.map +0 -1
- package/dist/cli-bundle/chunks/chunk-ZMW77VWV.js.map +0 -1
- package/dist/cli-bundle/chunks/close-4FMAPEMY.js +0 -13
- package/dist/cli-bundle/chunks/close-many-AOD4HSAZ.js.map +0 -1
- package/dist/cli-bundle/chunks/close-many-XKAQY5CQ.js.map +0 -7
- package/dist/cli-bundle/chunks/comments-B4RWWDJT.js.map +0 -7
- package/dist/cli-bundle/chunks/comments-RN5TG4ZN.js.map +0 -1
- package/dist/cli-bundle/chunks/config-3JXJ3XZ7.js.map +0 -1
- package/dist/cli-bundle/chunks/config-FZ4UDC4B.js.map +0 -7
- package/dist/cli-bundle/chunks/context-L36PIN35.js.map +0 -7
- package/dist/cli-bundle/chunks/context-QBPO3BFM.js.map +0 -1
- package/dist/cli-bundle/chunks/contracts-2G66IGIA.js.map +0 -1
- package/dist/cli-bundle/chunks/contracts-PJCHYSO5.js.map +0 -7
- package/dist/cli-bundle/chunks/create-VWLWS34Z.js +0 -27
- package/dist/cli-bundle/chunks/deps-6TSPOSGU.js.map +0 -1
- package/dist/cli-bundle/chunks/files-FYP3MDPX.js.map +0 -7
- package/dist/cli-bundle/chunks/files-GUXUM2MB.js.map +0 -1
- package/dist/cli-bundle/chunks/get-PCHS7RA6.js.map +0 -1
- package/dist/cli-bundle/chunks/get-QARTE6BL.js.map +0 -7
- package/dist/cli-bundle/chunks/health-7MTXAVR2.js.map +0 -7
- package/dist/cli-bundle/chunks/health-E4D7KGHD.js.map +0 -1
- package/dist/cli-bundle/chunks/history-L2FQFRTU.js +0 -20
- package/dist/cli-bundle/chunks/history-compact-3EJ3L2O7.js.map +0 -1
- package/dist/cli-bundle/chunks/history-compact-LW27IPFK.js.map +0 -7
- package/dist/cli-bundle/chunks/history-redact-QWQCX5DZ.js +0 -19
- package/dist/cli-bundle/chunks/history-repair-OSQOKJ3E.js.map +0 -7
- package/dist/cli-bundle/chunks/history-repair-SBK7P34V.js.map +0 -1
- package/dist/cli-bundle/chunks/init-4BKRHGWW.js +0 -17
- package/dist/cli-bundle/chunks/learnings-HQXSSKZ5.js.map +0 -1
- package/dist/cli-bundle/chunks/learnings-XK3P4ZDR.js.map +0 -7
- package/dist/cli-bundle/chunks/list-6CL3XFT6.js +0 -23
- package/dist/cli-bundle/chunks/list-BYNN4ZEO.js +0 -19
- package/dist/cli-bundle/chunks/notes-5T6P7C5V.js.map +0 -1
- package/dist/cli-bundle/chunks/notes-U5FZCSBT.js.map +0 -7
- package/dist/cli-bundle/chunks/plan-2YTQYWGM.js.map +0 -1
- package/dist/cli-bundle/chunks/plan-7IVSICR6.js.map +0 -7
- package/dist/cli-bundle/chunks/register-list-query-4UPMHONX.js.map +0 -7
- package/dist/cli-bundle/chunks/register-list-query-7VOW2C3W.js.map +0 -1
- package/dist/cli-bundle/chunks/register-mutation-FARSGYRD.js.map +0 -7
- package/dist/cli-bundle/chunks/register-mutation-LJDNVREU.js.map +0 -1
- package/dist/cli-bundle/chunks/register-operations-FFTYAL42.js.map +0 -1
- package/dist/cli-bundle/chunks/register-operations-HCJKDUA6.js.map +0 -7
- package/dist/cli-bundle/chunks/register-setup-6AVIUOCC.js.map +0 -1
- package/dist/cli-bundle/chunks/register-setup-KVNLO5OJ.js.map +0 -7
- package/dist/cli-bundle/chunks/restore-CHIOQAQL.js +0 -17
- package/dist/cli-bundle/chunks/schema-76HDZJCC.js.map +0 -1
- package/dist/cli-bundle/chunks/schema-AINZ2IMM.js.map +0 -7
- package/dist/cli-bundle/chunks/search-JMLFQEPJ.js.map +0 -7
- package/dist/cli-bundle/chunks/search-NL3TSCYB.js.map +0 -1
- package/dist/cli-bundle/chunks/stats-BKXCBIGT.js.map +0 -7
- package/dist/cli-bundle/chunks/stats-UBD56TGK.js.map +0 -1
- package/dist/cli-bundle/chunks/telemetry-N454RHG5.js.map +0 -1
- package/dist/cli-bundle/chunks/telemetry-ZJXK3H7X.js.map +0 -7
- package/dist/cli-bundle/chunks/test-O74JFUH5.js +0 -32
- package/dist/cli-bundle/chunks/test-all-7LV3I6S5.js.map +0 -7
- package/dist/cli-bundle/chunks/test-all-TDYCCBA4.js.map +0 -1
- package/dist/cli-bundle/chunks/test-runs-E64M6XS3.js.map +0 -1
- package/dist/cli-bundle/chunks/test-runs-LXZLULCI.js.map +0 -7
- package/dist/cli-bundle/chunks/update-36JM7YZT.js +0 -21
- package/dist/cli-bundle/chunks/update-I246PCLO.js +0 -25
- package/dist/cli-bundle/chunks/update-many-F4IKDWZB.js.map +0 -1
- package/dist/cli-bundle/chunks/update-many-NTWZ5YT3.js.map +0 -7
- package/dist/cli-bundle/chunks/upgrade-37F7JKES.js.map +0 -7
- package/dist/cli-bundle/chunks/upgrade-L32JA4TZ.js.map +0 -1
- package/dist/cli-bundle/chunks/validate-46KCRHL7.js.map +0 -1
- package/dist/cli-bundle/chunks/validate-CRFMPTYD.js.map +0 -7
- /package/dist/cli-bundle/chunks/{activity-XZIUPGZH.js.map → activity-5P2KQCTH.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{activity-XADJOG6G.js.map → activity-MJGTX4LO.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-ATEES5SX.js.map → chunk-2JEGCDYT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-XUC4C4PT.js.map → chunk-3WAULYOY.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-QJMGRZO2.js.map → chunk-7AGIXLNK.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-KBPQHXWG.js.map → chunk-AERT7KT3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-ESANVZF4.js.map → chunk-E6J2PEK6.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-VSRZRLG3.js.map → chunk-F2GC6L3N.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-XTKJSVWH.js.map → chunk-M23HXJL3.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-S26FESD4.js.map → chunk-MJZUZ2QE.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-C6SAP27O.js.map → chunk-O46LTCXQ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-WPDMBIX6.js.map → chunk-OLTYNVJR.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-R2OUQVBK.js.map → chunk-T5VU7ROQ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-P5U5EOMA.js.map → chunk-UBMCSJXX.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-ZYNJNPYD.js.map → chunk-UUKORJSN.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-VPEAS7PS.js.map → chunk-WZCQVABQ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-Y3YKK7CY.js.map → chunk-YGRPBFMA.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{chunk-XMBI6TNW.js.map → chunk-ZJRDVYZI.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{claim-2RDYMCTP.js.map → claim-4APLUXJW.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{claim-MJ7DZFC3.js.map → claim-NEO7AGWH.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-XLEKIQSW.js.map → close-3QABBNGU.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{close-4FMAPEMY.js.map → close-ILMZR3D7.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{copy-FWIVTLBO.js.map → copy-Q64T5FD4.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{copy-ALU5WMHA.js.map → copy-SG34LCMU.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{create-VWLWS34Z.js.map → create-F5HZX2S4.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{create-5433DP3G.js.map → create-IPAX2SNL.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{delete-Y2SGJBGY.js.map → delete-TLXR7LJ2.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{delete-IYTIYAJS.js.map → delete-VH3L7DZ6.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{docs-MXLGZUIT.js.map → docs-GWDEB7JH.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{docs-I3BAF5WH.js.map → docs-RCLNSKID.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{extension-Q34OEWO5.js.map → extension-5RN65LHT.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{extension-WH2FOIOZ.js.map → extension-7KO2NX2A.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{gc-KGQG66SA.js.map → gc-2FGKYRJ4.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{gc-FENB2ESG.js.map → gc-5B6ABL3Z.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-7WUAEWHW.js.map → history-QO4JVJJP.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-L2FQFRTU.js.map → history-SSXGGTVZ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-redact-QWQCX5DZ.js.map → history-redact-VBH44Y7F.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{history-redact-G72A4EJ4.js.map → history-redact-Z4P5MM3G.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{init-4BKRHGWW.js.map → init-7FBQO77A.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{init-S5WEGUJY.js.map → init-K6MSMB37.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{list-BYNN4ZEO.js.map → list-7UE44A2R.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{list-6CL3XFT6.js.map → list-UHMA3N2K.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{restore-M6AFHMV4.js.map → restore-NNVPBBVJ.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{restore-CHIOQAQL.js.map → restore-XXXLQ2XC.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{test-O74JFUH5.js.map → test-6CZNIIGA.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{test-BQAKIXAT.js.map → test-7GVQ3VMN.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-I246PCLO.js.map → update-MPGM6SBE.js.map} +0 -0
- /package/dist/cli-bundle/chunks/{update-36JM7YZT.js.map → update-UN75XW3C.js.map} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
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]="62f87b11-f1bc-5f90-bc91-0e81dfdebb55")}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";
|
|
@@ -269,6 +269,7 @@ var DEFAULT_WORKFLOW_DEFINITION = Object.freeze({
|
|
|
269
269
|
});
|
|
270
270
|
var PM_DIRNAME = ".agents/pm";
|
|
271
271
|
var SETTINGS_FILENAME = "settings.json";
|
|
272
|
+
var CREATE_DIRECT_CLOSE_REASON_DEFAULT = "Closed at creation via pm create";
|
|
272
273
|
var PM_CORE_REQUIRED_SUBDIRS = [
|
|
273
274
|
"",
|
|
274
275
|
"epics",
|
|
@@ -444,7 +445,8 @@ var SETTINGS_DEFAULTS = {
|
|
|
444
445
|
lifecycle_closure_like_resolution_patterns: [...DEFAULT_VALIDATE_CLOSURE_LIKE_METADATA_FIELD_PATTERNS.resolution],
|
|
445
446
|
lifecycle_closure_like_actual_result_patterns: [
|
|
446
447
|
...DEFAULT_VALIDATE_CLOSURE_LIKE_METADATA_FIELD_PATTERNS.actual_result
|
|
447
|
-
]
|
|
448
|
+
],
|
|
449
|
+
estimate_defaults_by_type: {}
|
|
448
450
|
},
|
|
449
451
|
governance: {
|
|
450
452
|
preset: "minimal",
|
|
@@ -811,155 +813,6 @@ function asRecordLoose(value) {
|
|
|
811
813
|
return value;
|
|
812
814
|
}
|
|
813
815
|
|
|
814
|
-
// dist/core/extensions/extension-capability-aliases.js
|
|
815
|
-
function normalizeNames(values) {
|
|
816
|
-
return [...new Set(values.map((value) => value.trim()).filter((value) => value.length > 0))].sort((a, b) => a.localeCompare(b));
|
|
817
|
-
}
|
|
818
|
-
function isKnownExtensionCapability(value) {
|
|
819
|
-
return KNOWN_EXTENSION_CAPABILITIES.includes(value);
|
|
820
|
-
}
|
|
821
|
-
function collectUnknownExtensionCapabilities(capabilities) {
|
|
822
|
-
return capabilities.filter((capability) => !isKnownExtensionCapability(capability));
|
|
823
|
-
}
|
|
824
|
-
function resolveLegacyExtensionCapabilityAlias(capability) {
|
|
825
|
-
const normalized = capability.trim().toLowerCase();
|
|
826
|
-
if (normalized.length === 0) {
|
|
827
|
-
return null;
|
|
828
|
-
}
|
|
829
|
-
return EXTENSION_CAPABILITY_LEGACY_ALIASES[normalized] ?? null;
|
|
830
|
-
}
|
|
831
|
-
function normalizeManifestCapabilities(rawCapabilities) {
|
|
832
|
-
const normalizedCapabilities = normalizeNames([...rawCapabilities].map((value) => value.toLowerCase()));
|
|
833
|
-
const remappedCapabilities = [];
|
|
834
|
-
const legacyAliases = [];
|
|
835
|
-
for (const capability of normalizedCapabilities) {
|
|
836
|
-
const legacyAliasTarget = resolveLegacyExtensionCapabilityAlias(capability);
|
|
837
|
-
if (legacyAliasTarget) {
|
|
838
|
-
remappedCapabilities.push(legacyAliasTarget);
|
|
839
|
-
legacyAliases.push({
|
|
840
|
-
alias: capability,
|
|
841
|
-
target: legacyAliasTarget
|
|
842
|
-
});
|
|
843
|
-
continue;
|
|
844
|
-
}
|
|
845
|
-
remappedCapabilities.push(capability);
|
|
846
|
-
}
|
|
847
|
-
const dedupedLegacyAliases = [...new Map(legacyAliases.map((entry) => [`${entry.alias}>${entry.target}`, entry])).values()].sort((left, right) => left.alias.localeCompare(right.alias));
|
|
848
|
-
return {
|
|
849
|
-
capabilities: normalizeNames(remappedCapabilities),
|
|
850
|
-
legacy_aliases: dedupedLegacyAliases
|
|
851
|
-
};
|
|
852
|
-
}
|
|
853
|
-
function levenshteinDistance(left, right) {
|
|
854
|
-
if (left === right) {
|
|
855
|
-
return 0;
|
|
856
|
-
}
|
|
857
|
-
if (left.length === 0) {
|
|
858
|
-
return right.length;
|
|
859
|
-
}
|
|
860
|
-
if (right.length === 0) {
|
|
861
|
-
return left.length;
|
|
862
|
-
}
|
|
863
|
-
const previous = new Array(right.length + 1);
|
|
864
|
-
const current = new Array(right.length + 1);
|
|
865
|
-
for (let j = 0; j <= right.length; j += 1) {
|
|
866
|
-
previous[j] = j;
|
|
867
|
-
}
|
|
868
|
-
for (let i = 1; i <= left.length; i += 1) {
|
|
869
|
-
current[0] = i;
|
|
870
|
-
for (let j = 1; j <= right.length; j += 1) {
|
|
871
|
-
const substitutionCost = left[i - 1] === right[j - 1] ? 0 : 1;
|
|
872
|
-
current[j] = Math.min(previous[j] + 1, current[j - 1] + 1, previous[j - 1] + substitutionCost);
|
|
873
|
-
}
|
|
874
|
-
for (let j = 0; j <= right.length; j += 1) {
|
|
875
|
-
previous[j] = current[j];
|
|
876
|
-
}
|
|
877
|
-
}
|
|
878
|
-
return previous[right.length] ?? left.length;
|
|
879
|
-
}
|
|
880
|
-
function suggestKnownExtensionCapability(capability) {
|
|
881
|
-
const normalized = capability.trim().toLowerCase();
|
|
882
|
-
if (normalized.length === 0) {
|
|
883
|
-
return null;
|
|
884
|
-
}
|
|
885
|
-
const legacyAlias = resolveLegacyExtensionCapabilityAlias(normalized);
|
|
886
|
-
if (legacyAlias) {
|
|
887
|
-
return legacyAlias;
|
|
888
|
-
}
|
|
889
|
-
let bestMatch = null;
|
|
890
|
-
let bestDistance = Number.POSITIVE_INFINITY;
|
|
891
|
-
for (const candidate of KNOWN_EXTENSION_CAPABILITIES) {
|
|
892
|
-
const distance = levenshteinDistance(normalized, candidate);
|
|
893
|
-
if (distance < bestDistance) {
|
|
894
|
-
bestDistance = distance;
|
|
895
|
-
bestMatch = candidate;
|
|
896
|
-
}
|
|
897
|
-
}
|
|
898
|
-
const maxDistance = Math.max(1, Math.floor(normalized.length * 0.34));
|
|
899
|
-
return bestMatch !== null && bestDistance <= maxDistance ? bestMatch : null;
|
|
900
|
-
}
|
|
901
|
-
function formatUnknownExtensionCapabilityWarning(layer, name, capability) {
|
|
902
|
-
const allowed = KNOWN_EXTENSION_CAPABILITIES.join(",");
|
|
903
|
-
const suggested = suggestKnownExtensionCapability(capability) ?? "none";
|
|
904
|
-
return `extension_capability_unknown:${layer}:${name}:${capability}:allowed=${allowed}:suggested=${suggested}`;
|
|
905
|
-
}
|
|
906
|
-
function formatLegacyExtensionCapabilityAliasWarning(layer, name, aliases) {
|
|
907
|
-
const aliasesToken = aliases.map((entry) => `${entry.alias}>${entry.target}`).join(",");
|
|
908
|
-
return `extension_capability_legacy_alias:${layer}:${name}:aliases=${aliasesToken}`;
|
|
909
|
-
}
|
|
910
|
-
function parseUnknownExtensionCapabilityWarning(warning) {
|
|
911
|
-
const match = /^extension_capability_unknown:(global|project):([^:]+):([^:]+):allowed=([^:]+):suggested=([^:]+)$/.exec(warning.trim());
|
|
912
|
-
if (!match) {
|
|
913
|
-
return null;
|
|
914
|
-
}
|
|
915
|
-
const [, layerRaw, name, capability, allowedRaw, suggestedRaw] = match;
|
|
916
|
-
const layer = layerRaw;
|
|
917
|
-
const allowed_capabilities = allowedRaw.split(",").map((value) => value.trim()).filter((value) => value.length > 0);
|
|
918
|
-
const legacyAlias = resolveLegacyExtensionCapabilityAlias(capability);
|
|
919
|
-
const suggestedFromWarning = suggestedRaw === "none" ? void 0 : suggestedRaw;
|
|
920
|
-
const suggested_capability = suggestedFromWarning ?? legacyAlias ?? void 0;
|
|
921
|
-
const suggestion_source = suggested_capability ? legacyAlias === suggested_capability ? "legacy_alias" : "nearest_match" : void 0;
|
|
922
|
-
return {
|
|
923
|
-
layer,
|
|
924
|
-
name,
|
|
925
|
-
capability,
|
|
926
|
-
allowed_capabilities,
|
|
927
|
-
capability_contract_version: EXTENSION_CAPABILITY_CONTRACT_VERSION,
|
|
928
|
-
suggested_capability,
|
|
929
|
-
suggestion_source,
|
|
930
|
-
legacy_alias_target: legacyAlias ?? void 0
|
|
931
|
-
};
|
|
932
|
-
}
|
|
933
|
-
function parseLegacyExtensionCapabilityAliasWarning(warning) {
|
|
934
|
-
const match = /^extension_capability_legacy_alias:(global|project):([^:]+):aliases=(.+)$/.exec(warning.trim());
|
|
935
|
-
if (!match) {
|
|
936
|
-
return [];
|
|
937
|
-
}
|
|
938
|
-
const [, layerRaw, name, aliasesRaw] = match;
|
|
939
|
-
const layer = layerRaw;
|
|
940
|
-
const allowedCapabilities = [...KNOWN_EXTENSION_CAPABILITIES];
|
|
941
|
-
const parsed = [];
|
|
942
|
-
for (const token of aliasesRaw.split(",")) {
|
|
943
|
-
const [rawAlias, rawTarget] = token.split(">");
|
|
944
|
-
const alias = rawAlias?.trim();
|
|
945
|
-
const target = rawTarget?.trim().toLowerCase();
|
|
946
|
-
if (!alias || !target || !isKnownExtensionCapability(target)) {
|
|
947
|
-
continue;
|
|
948
|
-
}
|
|
949
|
-
parsed.push({
|
|
950
|
-
layer,
|
|
951
|
-
name,
|
|
952
|
-
capability: alias,
|
|
953
|
-
allowed_capabilities: allowedCapabilities,
|
|
954
|
-
capability_contract_version: EXTENSION_CAPABILITY_CONTRACT_VERSION,
|
|
955
|
-
suggested_capability: target,
|
|
956
|
-
suggestion_source: "legacy_alias",
|
|
957
|
-
legacy_alias_target: target
|
|
958
|
-
});
|
|
959
|
-
}
|
|
960
|
-
return parsed;
|
|
961
|
-
}
|
|
962
|
-
|
|
963
816
|
// dist/core/extensions/extension-registries.js
|
|
964
817
|
function createEmptyExtensionHookRegistry() {
|
|
965
818
|
return {
|
|
@@ -1548,6 +1401,128 @@ function suggestKnownItemFieldType(value) {
|
|
|
1548
1401
|
return null;
|
|
1549
1402
|
}
|
|
1550
1403
|
|
|
1404
|
+
// dist/core/extensions/extension-capability-aliases.js
|
|
1405
|
+
function normalizeNames(values) {
|
|
1406
|
+
return [...new Set(values.map((value) => value.trim()).filter((value) => value.length > 0))].sort((a, b) => a.localeCompare(b));
|
|
1407
|
+
}
|
|
1408
|
+
function isKnownExtensionCapability(value) {
|
|
1409
|
+
return KNOWN_EXTENSION_CAPABILITIES.includes(value);
|
|
1410
|
+
}
|
|
1411
|
+
function collectUnknownExtensionCapabilities(capabilities) {
|
|
1412
|
+
return capabilities.filter((capability) => !isKnownExtensionCapability(capability));
|
|
1413
|
+
}
|
|
1414
|
+
function resolveLegacyExtensionCapabilityAlias(capability) {
|
|
1415
|
+
const normalized = capability.trim().toLowerCase();
|
|
1416
|
+
if (normalized.length === 0) {
|
|
1417
|
+
return null;
|
|
1418
|
+
}
|
|
1419
|
+
return EXTENSION_CAPABILITY_LEGACY_ALIASES[normalized] ?? null;
|
|
1420
|
+
}
|
|
1421
|
+
function normalizeManifestCapabilities(rawCapabilities) {
|
|
1422
|
+
const normalizedCapabilities = normalizeNames([...rawCapabilities].map((value) => value.toLowerCase()));
|
|
1423
|
+
const remappedCapabilities = [];
|
|
1424
|
+
const legacyAliases = [];
|
|
1425
|
+
for (const capability of normalizedCapabilities) {
|
|
1426
|
+
const legacyAliasTarget = resolveLegacyExtensionCapabilityAlias(capability);
|
|
1427
|
+
if (legacyAliasTarget) {
|
|
1428
|
+
remappedCapabilities.push(legacyAliasTarget);
|
|
1429
|
+
legacyAliases.push({
|
|
1430
|
+
alias: capability,
|
|
1431
|
+
target: legacyAliasTarget
|
|
1432
|
+
});
|
|
1433
|
+
continue;
|
|
1434
|
+
}
|
|
1435
|
+
remappedCapabilities.push(capability);
|
|
1436
|
+
}
|
|
1437
|
+
const dedupedLegacyAliases = [...new Map(legacyAliases.map((entry) => [`${entry.alias}>${entry.target}`, entry])).values()].sort((left, right) => left.alias.localeCompare(right.alias));
|
|
1438
|
+
return {
|
|
1439
|
+
capabilities: normalizeNames(remappedCapabilities),
|
|
1440
|
+
legacy_aliases: dedupedLegacyAliases
|
|
1441
|
+
};
|
|
1442
|
+
}
|
|
1443
|
+
function suggestKnownExtensionCapability(capability) {
|
|
1444
|
+
const normalized = capability.trim().toLowerCase();
|
|
1445
|
+
if (normalized.length === 0) {
|
|
1446
|
+
return null;
|
|
1447
|
+
}
|
|
1448
|
+
const legacyAlias = resolveLegacyExtensionCapabilityAlias(normalized);
|
|
1449
|
+
if (legacyAlias) {
|
|
1450
|
+
return legacyAlias;
|
|
1451
|
+
}
|
|
1452
|
+
const maxDistance = Math.max(1, Math.floor(normalized.length * 0.34));
|
|
1453
|
+
let bestMatch = null;
|
|
1454
|
+
let bestDistance = Number.POSITIVE_INFINITY;
|
|
1455
|
+
for (const candidate of KNOWN_EXTENSION_CAPABILITIES) {
|
|
1456
|
+
const distance = levenshteinDistanceWithinLimit(normalized, candidate, maxDistance);
|
|
1457
|
+
if (distance !== null && distance < bestDistance) {
|
|
1458
|
+
bestDistance = distance;
|
|
1459
|
+
bestMatch = candidate;
|
|
1460
|
+
}
|
|
1461
|
+
}
|
|
1462
|
+
return bestMatch;
|
|
1463
|
+
}
|
|
1464
|
+
function formatUnknownExtensionCapabilityWarning(layer, name, capability) {
|
|
1465
|
+
const allowed = KNOWN_EXTENSION_CAPABILITIES.join(",");
|
|
1466
|
+
const suggested = suggestKnownExtensionCapability(capability) ?? "none";
|
|
1467
|
+
return `extension_capability_unknown:${layer}:${name}:${capability}:allowed=${allowed}:suggested=${suggested}`;
|
|
1468
|
+
}
|
|
1469
|
+
function formatLegacyExtensionCapabilityAliasWarning(layer, name, aliases) {
|
|
1470
|
+
const aliasesToken = aliases.map((entry) => `${entry.alias}>${entry.target}`).join(",");
|
|
1471
|
+
return `extension_capability_legacy_alias:${layer}:${name}:aliases=${aliasesToken}`;
|
|
1472
|
+
}
|
|
1473
|
+
function parseUnknownExtensionCapabilityWarning(warning) {
|
|
1474
|
+
const match = /^extension_capability_unknown:(global|project):([^:]+):([^:]+):allowed=([^:]+):suggested=([^:]+)$/.exec(warning.trim());
|
|
1475
|
+
if (!match) {
|
|
1476
|
+
return null;
|
|
1477
|
+
}
|
|
1478
|
+
const [, layerRaw, name, capability, allowedRaw, suggestedRaw] = match;
|
|
1479
|
+
const layer = layerRaw;
|
|
1480
|
+
const allowed_capabilities = allowedRaw.split(",").map((value) => value.trim()).filter((value) => value.length > 0);
|
|
1481
|
+
const legacyAlias = resolveLegacyExtensionCapabilityAlias(capability);
|
|
1482
|
+
const suggestedFromWarning = suggestedRaw === "none" ? void 0 : suggestedRaw;
|
|
1483
|
+
const suggested_capability = suggestedFromWarning ?? legacyAlias ?? void 0;
|
|
1484
|
+
const suggestion_source = suggested_capability ? legacyAlias === suggested_capability ? "legacy_alias" : "nearest_match" : void 0;
|
|
1485
|
+
return {
|
|
1486
|
+
layer,
|
|
1487
|
+
name,
|
|
1488
|
+
capability,
|
|
1489
|
+
allowed_capabilities,
|
|
1490
|
+
capability_contract_version: EXTENSION_CAPABILITY_CONTRACT_VERSION,
|
|
1491
|
+
suggested_capability,
|
|
1492
|
+
suggestion_source,
|
|
1493
|
+
legacy_alias_target: legacyAlias ?? void 0
|
|
1494
|
+
};
|
|
1495
|
+
}
|
|
1496
|
+
function parseLegacyExtensionCapabilityAliasWarning(warning) {
|
|
1497
|
+
const match = /^extension_capability_legacy_alias:(global|project):([^:]+):aliases=(.+)$/.exec(warning.trim());
|
|
1498
|
+
if (!match) {
|
|
1499
|
+
return [];
|
|
1500
|
+
}
|
|
1501
|
+
const [, layerRaw, name, aliasesRaw] = match;
|
|
1502
|
+
const layer = layerRaw;
|
|
1503
|
+
const allowedCapabilities = [...KNOWN_EXTENSION_CAPABILITIES];
|
|
1504
|
+
const parsed = [];
|
|
1505
|
+
for (const token of aliasesRaw.split(",")) {
|
|
1506
|
+
const [rawAlias, rawTarget] = token.split(">");
|
|
1507
|
+
const alias = rawAlias?.trim();
|
|
1508
|
+
const target = rawTarget?.trim().toLowerCase();
|
|
1509
|
+
if (!alias || !target || !isKnownExtensionCapability(target)) {
|
|
1510
|
+
continue;
|
|
1511
|
+
}
|
|
1512
|
+
parsed.push({
|
|
1513
|
+
layer,
|
|
1514
|
+
name,
|
|
1515
|
+
capability: alias,
|
|
1516
|
+
allowed_capabilities: allowedCapabilities,
|
|
1517
|
+
capability_contract_version: EXTENSION_CAPABILITY_CONTRACT_VERSION,
|
|
1518
|
+
suggested_capability: target,
|
|
1519
|
+
suggestion_source: "legacy_alias",
|
|
1520
|
+
legacy_alias_target: target
|
|
1521
|
+
});
|
|
1522
|
+
}
|
|
1523
|
+
return parsed;
|
|
1524
|
+
}
|
|
1525
|
+
|
|
1551
1526
|
// dist/core/extensions/extension-policy.js
|
|
1552
1527
|
function normalizePolicyName(value) {
|
|
1553
1528
|
if (typeof value !== "string") {
|
|
@@ -1913,19 +1888,17 @@ function resolvePolicySandboxReason(policy, extension) {
|
|
|
1913
1888
|
}
|
|
1914
1889
|
return null;
|
|
1915
1890
|
}
|
|
1916
|
-
if (
|
|
1917
|
-
|
|
1918
|
-
|
|
1919
|
-
|
|
1920
|
-
|
|
1921
|
-
|
|
1922
|
-
|
|
1923
|
-
|
|
1924
|
-
|
|
1925
|
-
|
|
1926
|
-
|
|
1927
|
-
return "sandbox_strict_disallows_env_write";
|
|
1928
|
-
}
|
|
1891
|
+
if (hasPermission("process_spawn")) {
|
|
1892
|
+
return "sandbox_strict_disallows_process_spawn";
|
|
1893
|
+
}
|
|
1894
|
+
if (hasPermission("network")) {
|
|
1895
|
+
return "sandbox_strict_disallows_network";
|
|
1896
|
+
}
|
|
1897
|
+
if (hasPermission("fs_write")) {
|
|
1898
|
+
return "sandbox_strict_disallows_fs_write";
|
|
1899
|
+
}
|
|
1900
|
+
if (hasPermission("env_write")) {
|
|
1901
|
+
return "sandbox_strict_disallows_env_write";
|
|
1929
1902
|
}
|
|
1930
1903
|
return null;
|
|
1931
1904
|
}
|
|
@@ -2284,7 +2257,7 @@ function summarizeCandidate(candidate) {
|
|
|
2284
2257
|
permissions: candidate.manifest.permissions,
|
|
2285
2258
|
capabilities: [...candidate.manifest.capabilities],
|
|
2286
2259
|
activation: candidate.manifest.activation ? {
|
|
2287
|
-
commands: [...candidate.manifest.activation.commands
|
|
2260
|
+
commands: [...candidate.manifest.activation.commands]
|
|
2288
2261
|
} : void 0
|
|
2289
2262
|
};
|
|
2290
2263
|
if (candidate.source_package) {
|
|
@@ -2535,7 +2508,7 @@ function formatUnknownError(error) {
|
|
|
2535
2508
|
}
|
|
2536
2509
|
function parseComparableVersion(value) {
|
|
2537
2510
|
const normalized = value.trim().replace(/^>=\s*/, "").replace(/^v/i, "");
|
|
2538
|
-
const release = normalized.split(/[+-]/, 1)[0]
|
|
2511
|
+
const release = normalized.split(/[+-]/, 1)[0];
|
|
2539
2512
|
if (!/^\d+(?:[.-]\d+)*$/.test(release)) {
|
|
2540
2513
|
return null;
|
|
2541
2514
|
}
|
|
@@ -2952,25 +2925,16 @@ function normalizeCommandDefinitionArguments(value) {
|
|
|
2952
2925
|
definition.variadic = true;
|
|
2953
2926
|
}
|
|
2954
2927
|
if (typeof record.description === "string") {
|
|
2955
|
-
|
|
2956
|
-
if (trimmedDescription.length > 0) {
|
|
2957
|
-
definition.description = trimmedDescription;
|
|
2958
|
-
}
|
|
2928
|
+
definition.description = record.description.trim();
|
|
2959
2929
|
}
|
|
2960
2930
|
normalized.push(definition);
|
|
2961
2931
|
}
|
|
2962
|
-
|
|
2963
|
-
|
|
2964
|
-
|
|
2965
|
-
|
|
2966
|
-
|
|
2967
|
-
|
|
2968
|
-
if (variadicCount > 1) {
|
|
2969
|
-
throw new TypeError("registerCommand definition.arguments supports at most one variadic argument");
|
|
2970
|
-
}
|
|
2971
|
-
if (index !== normalized.length - 1) {
|
|
2972
|
-
throw new TypeError("registerCommand definition.arguments variadic argument must be the final argument");
|
|
2973
|
-
}
|
|
2932
|
+
const variadicIndexes = normalized.map((argument, index) => argument.variadic ? index : -1).filter((index) => index >= 0);
|
|
2933
|
+
if (variadicIndexes.length > 1) {
|
|
2934
|
+
throw new TypeError("registerCommand definition.arguments supports at most one variadic argument");
|
|
2935
|
+
}
|
|
2936
|
+
if (variadicIndexes.length === 1 && variadicIndexes[0] !== normalized.length - 1) {
|
|
2937
|
+
throw new TypeError("registerCommand definition.arguments variadic argument must be the final argument");
|
|
2974
2938
|
}
|
|
2975
2939
|
return normalized;
|
|
2976
2940
|
}
|
|
@@ -3124,7 +3088,7 @@ function assertExtensionCapability(extension, capability, method) {
|
|
|
3124
3088
|
capability,
|
|
3125
3089
|
missing_capability: capability,
|
|
3126
3090
|
expected_schema: `"capabilities": [..., "${capability}"]`,
|
|
3127
|
-
received: extension.capabilities
|
|
3091
|
+
received: extension.capabilities,
|
|
3128
3092
|
hint: `Add "${capability}" to ${extension.name} manifest capabilities, or remove the ${method} registration call.`
|
|
3129
3093
|
});
|
|
3130
3094
|
}
|
|
@@ -3255,7 +3219,7 @@ function createExtensionApi(extension, hooks, commands, parsers, preflight, serv
|
|
|
3255
3219
|
}
|
|
3256
3220
|
registrations.commands.push(registration);
|
|
3257
3221
|
} catch (error) {
|
|
3258
|
-
const reason = error
|
|
3222
|
+
const reason = formatUnknownError(error);
|
|
3259
3223
|
const trace = registerCommandTrace("definition", normalizedCommand, "{ name: string; run: (context) => unknown; action?: string; arguments?: object[]; flags?: object[]; }", commandOrDefinition, "Use schema-style metadata (action/arguments/flags/examples/intent) with valid values.");
|
|
3260
3224
|
throw createRegistrationValidationError(`registerCommand definition metadata invalid (command="${normalizedCommand}", registration_index=${trace.registration_index}): ${reason}`, trace);
|
|
3261
3225
|
}
|
|
@@ -3630,7 +3594,7 @@ function collectCommandCollisionWarnings(commands) {
|
|
|
3630
3594
|
grouped.set(entry.command, bucket);
|
|
3631
3595
|
}
|
|
3632
3596
|
for (const command of [...grouped.keys()].sort((left, right) => left.localeCompare(right))) {
|
|
3633
|
-
const bucket = grouped.get(command)
|
|
3597
|
+
const bucket = grouped.get(command);
|
|
3634
3598
|
if (bucket.length <= 1) {
|
|
3635
3599
|
continue;
|
|
3636
3600
|
}
|
|
@@ -3643,7 +3607,8 @@ function collectCommandCollisionWarnings(commands) {
|
|
|
3643
3607
|
collectByCommand(commands.handlers, "extension_command_handler_collision");
|
|
3644
3608
|
collectByCommand(commands.overrides, "extension_command_override_collision");
|
|
3645
3609
|
const handlerCommands = new Set(commands.handlers.map((entry) => entry.command));
|
|
3646
|
-
const overlapCommands = [...new Set(commands.overrides.map((entry) => entry.command))].filter((command) => handlerCommands.has(command))
|
|
3610
|
+
const overlapCommands = [...new Set(commands.overrides.map((entry) => entry.command))].filter((command) => handlerCommands.has(command));
|
|
3611
|
+
overlapCommands.sort((left, right) => left.localeCompare(right));
|
|
3647
3612
|
for (const command of overlapCommands) {
|
|
3648
3613
|
const handlers = commands.handlers.filter((entry) => entry.command === command);
|
|
3649
3614
|
const overrides = commands.overrides.filter((entry) => entry.command === command);
|
|
@@ -3664,7 +3629,7 @@ function collectRendererCollisionWarnings(renderers) {
|
|
|
3664
3629
|
}
|
|
3665
3630
|
const warnings = [];
|
|
3666
3631
|
for (const format of [...grouped.keys()].sort((left, right) => left.localeCompare(right))) {
|
|
3667
|
-
const bucket = grouped.get(format)
|
|
3632
|
+
const bucket = grouped.get(format);
|
|
3668
3633
|
if (bucket.length <= 1) {
|
|
3669
3634
|
continue;
|
|
3670
3635
|
}
|
|
@@ -3684,7 +3649,7 @@ function collectParserCollisionWarnings(parsers) {
|
|
|
3684
3649
|
grouped.set(entry.command, bucket);
|
|
3685
3650
|
}
|
|
3686
3651
|
for (const command of [...grouped.keys()].sort((left, right) => left.localeCompare(right))) {
|
|
3687
|
-
const bucket = grouped.get(command)
|
|
3652
|
+
const bucket = grouped.get(command);
|
|
3688
3653
|
if (bucket.length <= 1) {
|
|
3689
3654
|
continue;
|
|
3690
3655
|
}
|
|
@@ -3714,7 +3679,7 @@ function collectServiceCollisionWarnings(services) {
|
|
|
3714
3679
|
grouped.set(entry.service, bucket);
|
|
3715
3680
|
}
|
|
3716
3681
|
for (const service of [...grouped.keys()].sort((left, right) => left.localeCompare(right))) {
|
|
3717
|
-
const bucket = grouped.get(service)
|
|
3682
|
+
const bucket = grouped.get(service);
|
|
3718
3683
|
if (bucket.length <= 1) {
|
|
3719
3684
|
continue;
|
|
3720
3685
|
}
|
|
@@ -4125,7 +4090,7 @@ var PLAN_STEP_LINK_KIND_VALUES = [
|
|
|
4125
4090
|
"verifies",
|
|
4126
4091
|
"supersedes"
|
|
4127
4092
|
];
|
|
4128
|
-
var CONTEXT_DEPTH_VALUES = ["brief", "standard", "deep"];
|
|
4093
|
+
var CONTEXT_DEPTH_VALUES = ["brief", "standard", "deep", "full"];
|
|
4129
4094
|
var CONTEXT_SECTION_VALUES = [
|
|
4130
4095
|
"hierarchy",
|
|
4131
4096
|
"activity",
|
|
@@ -4472,6 +4437,9 @@ function filePathForSchemaSection(pmRoot, configuredPath, fallbackPath) {
|
|
|
4472
4437
|
}
|
|
4473
4438
|
return path6.join(pmRoot, normalized);
|
|
4474
4439
|
}
|
|
4440
|
+
function resolveItemTypesFilePath(pmRoot, schema) {
|
|
4441
|
+
return filePathForSchemaSection(pmRoot, schema.files.types, DEFAULT_RUNTIME_SCHEMA_FILE_PATHS.types);
|
|
4442
|
+
}
|
|
4475
4443
|
async function ensureRuntimeSchemaFileScaffold(pmRoot, schema) {
|
|
4476
4444
|
const normalizedSchema = normalizeRuntimeSchemaSettings(schema);
|
|
4477
4445
|
const specs = [
|
|
@@ -4574,11 +4542,8 @@ function preferredStatusForRole(definitions, role, fallbackValues) {
|
|
|
4574
4542
|
if (withRole.length > 0) {
|
|
4575
4543
|
return withRole[0].id;
|
|
4576
4544
|
}
|
|
4577
|
-
|
|
4578
|
-
|
|
4579
|
-
if (!normalized) {
|
|
4580
|
-
continue;
|
|
4581
|
-
}
|
|
4545
|
+
const normalizedFallbacks = fallbackValues.map((value) => normalizeStatusId(value)).filter((value) => typeof value === "string");
|
|
4546
|
+
for (const normalized of normalizedFallbacks) {
|
|
4582
4547
|
if (definitions.some((definition) => definition.id === normalized)) {
|
|
4583
4548
|
return normalized;
|
|
4584
4549
|
}
|
|
@@ -4629,7 +4594,7 @@ function resolveRuntimeStatusRegistry(schema) {
|
|
|
4629
4594
|
}
|
|
4630
4595
|
}
|
|
4631
4596
|
const workflow = normalizedSchema.workflow;
|
|
4632
|
-
const openStatus = normalizeStatusId(workflow.open_status) ?? preferredStatusForRole(definitions, "default_open", ["open", "in_progress", STATUS_VALUES[0]
|
|
4597
|
+
const openStatus = normalizeStatusId(workflow.open_status) ?? preferredStatusForRole(definitions, "default_open", ["open", "in_progress", STATUS_VALUES[0]]);
|
|
4633
4598
|
const closeStatus = normalizeStatusId(workflow.close_status) ?? preferredStatusForRole(definitions, "default_close", ["closed", "done", "complete"]);
|
|
4634
4599
|
const canceledStatus = normalizeStatusId(workflow.canceled_status) ?? preferredStatusForRole(definitions, "default_cancel", ["canceled", "cancelled"]);
|
|
4635
4600
|
return {
|
|
@@ -4642,9 +4607,9 @@ function resolveRuntimeStatusRegistry(schema) {
|
|
|
4642
4607
|
active_statuses: activeStatuses,
|
|
4643
4608
|
blocked_statuses: blockedStatuses,
|
|
4644
4609
|
draft_statuses: draftStatuses,
|
|
4645
|
-
open_status: openStatus
|
|
4646
|
-
close_status: closeStatus
|
|
4647
|
-
canceled_status: canceledStatus
|
|
4610
|
+
open_status: openStatus,
|
|
4611
|
+
close_status: closeStatus,
|
|
4612
|
+
canceled_status: canceledStatus
|
|
4648
4613
|
};
|
|
4649
4614
|
}
|
|
4650
4615
|
function normalizeStatusInputWithRegistry(value, registry) {
|
|
@@ -4657,11 +4622,8 @@ function normalizeStatusInputWithRegistry(value, registry) {
|
|
|
4657
4622
|
function resolveRuntimeFieldRegistry(schema) {
|
|
4658
4623
|
const normalizedSchema = normalizeRuntimeSchemaSettings(schema);
|
|
4659
4624
|
const dedupedByKey = /* @__PURE__ */ new Map();
|
|
4660
|
-
|
|
4661
|
-
|
|
4662
|
-
if (!normalized) {
|
|
4663
|
-
continue;
|
|
4664
|
-
}
|
|
4625
|
+
const normalizedFields = normalizedSchema.fields.map((definition) => normalizeRuntimeFieldDefinition(definition)).filter((definition) => definition !== null);
|
|
4626
|
+
for (const normalized of normalizedFields) {
|
|
4665
4627
|
dedupedByKey.set(normalized.key, normalized);
|
|
4666
4628
|
}
|
|
4667
4629
|
const definitions = [...dedupedByKey.values()].sort((left, right) => left.key.localeCompare(right.key));
|
|
@@ -4907,6 +4869,22 @@ function vArray(item) {
|
|
|
4907
4869
|
function vOptional(inner) {
|
|
4908
4870
|
return (input) => input === void 0 ? { ok: true, value: void 0 } : inner(input);
|
|
4909
4871
|
}
|
|
4872
|
+
function vRecordOf(valueCheck) {
|
|
4873
|
+
return (input) => {
|
|
4874
|
+
if (typeof input !== "object" || input === null || Array.isArray(input)) {
|
|
4875
|
+
return FAIL;
|
|
4876
|
+
}
|
|
4877
|
+
const value = {};
|
|
4878
|
+
for (const [key, raw] of Object.entries(input)) {
|
|
4879
|
+
const result = valueCheck(raw);
|
|
4880
|
+
if (!result.ok) {
|
|
4881
|
+
return FAIL;
|
|
4882
|
+
}
|
|
4883
|
+
value[key] = result.value;
|
|
4884
|
+
}
|
|
4885
|
+
return { ok: true, value };
|
|
4886
|
+
};
|
|
4887
|
+
}
|
|
4910
4888
|
function vObject(shape) {
|
|
4911
4889
|
return (input) => {
|
|
4912
4890
|
if (typeof input !== "object" || input === null || Array.isArray(input)) {
|
|
@@ -5081,7 +5059,8 @@ var settingsCheck = vObject({
|
|
|
5081
5059
|
lifecycle_stale_blocker_reason_patterns: vOptional(vArray(vString)),
|
|
5082
5060
|
lifecycle_closure_like_blocked_reason_patterns: vOptional(vArray(vString)),
|
|
5083
5061
|
lifecycle_closure_like_resolution_patterns: vOptional(vArray(vString)),
|
|
5084
|
-
lifecycle_closure_like_actual_result_patterns: vOptional(vArray(vString))
|
|
5062
|
+
lifecycle_closure_like_actual_result_patterns: vOptional(vArray(vString)),
|
|
5063
|
+
estimate_defaults_by_type: vOptional(vRecordOf(vNumber({ int: true, positive: true })))
|
|
5085
5064
|
})),
|
|
5086
5065
|
governance: governanceSettings,
|
|
5087
5066
|
workflow: vOptional(vObject({ definition_of_done: vArray(vString) })),
|
|
@@ -5135,6 +5114,7 @@ var settingsCheck = vObject({
|
|
|
5135
5114
|
embedding_timeout_ms: vOptional(vNumber({ int: true })),
|
|
5136
5115
|
scanner_max_batch_retries: vNumber({ int: true }),
|
|
5137
5116
|
provider: vOptional(vString),
|
|
5117
|
+
corpus_fields: vOptional(vArray(vString)),
|
|
5138
5118
|
mutation_refresh_policy: vOptional(vLiteral("cache_only", "semantic_configured", "semantic_auto")),
|
|
5139
5119
|
query_expansion: vOptional(vObject({
|
|
5140
5120
|
enabled: vOptional(vBoolean),
|
|
@@ -5246,6 +5226,73 @@ function normalizeItemTypeDefinition(definition, options = {}) {
|
|
|
5246
5226
|
};
|
|
5247
5227
|
}
|
|
5248
5228
|
|
|
5229
|
+
// dist/core/validate/estimate-defaults.js
|
|
5230
|
+
var DEFAULT_ESTIMATE_MINUTES_BY_TYPE = {
|
|
5231
|
+
Epic: 2880,
|
|
5232
|
+
Feature: 480,
|
|
5233
|
+
Story: 480,
|
|
5234
|
+
Milestone: 2880,
|
|
5235
|
+
Task: 120,
|
|
5236
|
+
Issue: 60,
|
|
5237
|
+
Bug: 60,
|
|
5238
|
+
Chore: 30,
|
|
5239
|
+
Decision: 15,
|
|
5240
|
+
Plan: 120
|
|
5241
|
+
};
|
|
5242
|
+
var FALLBACK_ESTIMATE_MINUTES = 120;
|
|
5243
|
+
function isHonoredMinutes(value) {
|
|
5244
|
+
return typeof value === "number" && Number.isFinite(value) && value > 0;
|
|
5245
|
+
}
|
|
5246
|
+
function toLowercasedLookup(source) {
|
|
5247
|
+
const lookup = /* @__PURE__ */ new Map();
|
|
5248
|
+
for (const [key, value] of Object.entries(source)) {
|
|
5249
|
+
lookup.set(key.toLowerCase(), value);
|
|
5250
|
+
}
|
|
5251
|
+
return lookup;
|
|
5252
|
+
}
|
|
5253
|
+
var BUILTIN_LOWERCASED_LOOKUP = toLowercasedLookup(DEFAULT_ESTIMATE_MINUTES_BY_TYPE);
|
|
5254
|
+
var OVERRIDE_LOOKUP_CACHE = /* @__PURE__ */ new WeakMap();
|
|
5255
|
+
function lowercasedOverrideLookup(overrides) {
|
|
5256
|
+
const cached = OVERRIDE_LOOKUP_CACHE.get(overrides);
|
|
5257
|
+
if (cached) {
|
|
5258
|
+
return cached;
|
|
5259
|
+
}
|
|
5260
|
+
const lookup = toLowercasedLookup(overrides);
|
|
5261
|
+
OVERRIDE_LOOKUP_CACHE.set(overrides, lookup);
|
|
5262
|
+
return lookup;
|
|
5263
|
+
}
|
|
5264
|
+
function resolveEstimateDefaultMinutes(type, overrides) {
|
|
5265
|
+
const key = (type ?? "").trim().toLowerCase();
|
|
5266
|
+
if (key.length === 0) {
|
|
5267
|
+
return FALLBACK_ESTIMATE_MINUTES;
|
|
5268
|
+
}
|
|
5269
|
+
if (overrides) {
|
|
5270
|
+
const overrideValue = lowercasedOverrideLookup(overrides).get(key);
|
|
5271
|
+
if (isHonoredMinutes(overrideValue)) {
|
|
5272
|
+
return Math.floor(overrideValue);
|
|
5273
|
+
}
|
|
5274
|
+
}
|
|
5275
|
+
const builtinValue = BUILTIN_LOWERCASED_LOOKUP.get(key);
|
|
5276
|
+
if (isHonoredMinutes(builtinValue)) {
|
|
5277
|
+
return Math.floor(builtinValue);
|
|
5278
|
+
}
|
|
5279
|
+
return FALLBACK_ESTIMATE_MINUTES;
|
|
5280
|
+
}
|
|
5281
|
+
function normalizeEstimateDefaultOverrides(raw) {
|
|
5282
|
+
const normalized = {};
|
|
5283
|
+
if (raw === null || typeof raw !== "object" || Array.isArray(raw)) {
|
|
5284
|
+
return normalized;
|
|
5285
|
+
}
|
|
5286
|
+
for (const [rawKey, rawValue] of Object.entries(raw)) {
|
|
5287
|
+
const key = rawKey.trim();
|
|
5288
|
+
if (key.length === 0 || !isHonoredMinutes(rawValue)) {
|
|
5289
|
+
continue;
|
|
5290
|
+
}
|
|
5291
|
+
normalized[key] = Math.floor(rawValue);
|
|
5292
|
+
}
|
|
5293
|
+
return normalized;
|
|
5294
|
+
}
|
|
5295
|
+
|
|
5249
5296
|
// dist/core/store/settings-read-cache.js
|
|
5250
5297
|
import { stat } from "node:fs/promises";
|
|
5251
5298
|
var settingsReadCacheByRoot = /* @__PURE__ */ new Map();
|
|
@@ -5754,6 +5801,15 @@ function normalizeValidationMetadataRequiredFields(values) {
|
|
|
5754
5801
|
function normalizeValidationPatternList(values) {
|
|
5755
5802
|
return [...new Set((values ?? []).map((value) => value.trim().toLowerCase()).filter((value) => value.length > 0))].sort((left, right) => left.localeCompare(right));
|
|
5756
5803
|
}
|
|
5804
|
+
function valueOrDefault(value, fallback) {
|
|
5805
|
+
return value === void 0 ? fallback : value;
|
|
5806
|
+
}
|
|
5807
|
+
function recordOrEmpty(value) {
|
|
5808
|
+
return typeof value === "object" && value !== null && !Array.isArray(value) ? value : {};
|
|
5809
|
+
}
|
|
5810
|
+
function arrayOrEmpty(value) {
|
|
5811
|
+
return Array.isArray(value) ? value : [];
|
|
5812
|
+
}
|
|
5757
5813
|
function normalizeItemTypeDefinitions(definitions) {
|
|
5758
5814
|
const normalized = (definitions ?? []).map((definition) => normalizeItemTypeDefinition(definition)).filter((definition) => definition !== null);
|
|
5759
5815
|
const dedupedByName = /* @__PURE__ */ new Map();
|
|
@@ -5783,7 +5839,8 @@ function mergeSettings(settings) {
|
|
|
5783
5839
|
lifecycle_stale_blocker_reason_patterns: normalizeValidationPatternList(settings.validation?.lifecycle_stale_blocker_reason_patterns ?? defaults.validation.lifecycle_stale_blocker_reason_patterns),
|
|
5784
5840
|
lifecycle_closure_like_blocked_reason_patterns: normalizeValidationPatternList(settings.validation?.lifecycle_closure_like_blocked_reason_patterns ?? defaults.validation.lifecycle_closure_like_blocked_reason_patterns),
|
|
5785
5841
|
lifecycle_closure_like_resolution_patterns: normalizeValidationPatternList(settings.validation?.lifecycle_closure_like_resolution_patterns ?? defaults.validation.lifecycle_closure_like_resolution_patterns),
|
|
5786
|
-
lifecycle_closure_like_actual_result_patterns: normalizeValidationPatternList(settings.validation?.lifecycle_closure_like_actual_result_patterns ?? defaults.validation.lifecycle_closure_like_actual_result_patterns)
|
|
5842
|
+
lifecycle_closure_like_actual_result_patterns: normalizeValidationPatternList(settings.validation?.lifecycle_closure_like_actual_result_patterns ?? defaults.validation.lifecycle_closure_like_actual_result_patterns),
|
|
5843
|
+
estimate_defaults_by_type: normalizeEstimateDefaultOverrides(settings.validation?.estimate_defaults_by_type)
|
|
5787
5844
|
},
|
|
5788
5845
|
governance,
|
|
5789
5846
|
workflow: {
|
|
@@ -5850,24 +5907,43 @@ function mergeSettings(settings) {
|
|
|
5850
5907
|
};
|
|
5851
5908
|
}
|
|
5852
5909
|
function serializeSettings(settings, options = {}) {
|
|
5853
|
-
const
|
|
5854
|
-
const normalizedSchema = normalizeRuntimeSchemaSettings(settings.schema);
|
|
5855
|
-
const persistedFileBackedSections = resolvePersistedFileBackedSchemaSections(settings, options.persist_source);
|
|
5856
|
-
const normalizedSettings = {
|
|
5910
|
+
const baseSettings = {
|
|
5857
5911
|
...settings,
|
|
5912
|
+
locks: valueOrDefault(settings.locks, SETTINGS_DEFAULTS.locks),
|
|
5913
|
+
output: valueOrDefault(settings.output, SETTINGS_DEFAULTS.output),
|
|
5914
|
+
history: valueOrDefault(settings.history, SETTINGS_DEFAULTS.history),
|
|
5915
|
+
validation: valueOrDefault(settings.validation, SETTINGS_DEFAULTS.validation),
|
|
5916
|
+
workflow: valueOrDefault(settings.workflow, SETTINGS_DEFAULTS.workflow),
|
|
5917
|
+
testing: valueOrDefault(settings.testing, SETTINGS_DEFAULTS.testing),
|
|
5918
|
+
telemetry: valueOrDefault(settings.telemetry, SETTINGS_DEFAULTS.telemetry),
|
|
5919
|
+
agent_guidance: valueOrDefault(settings.agent_guidance, SETTINGS_DEFAULTS.agent_guidance),
|
|
5920
|
+
item_types: valueOrDefault(settings.item_types, SETTINGS_DEFAULTS.item_types),
|
|
5921
|
+
schema: valueOrDefault(settings.schema, SETTINGS_DEFAULTS.schema),
|
|
5922
|
+
context: valueOrDefault(settings.context, SETTINGS_DEFAULTS.context),
|
|
5923
|
+
extensions: valueOrDefault(settings.extensions, SETTINGS_DEFAULTS.extensions),
|
|
5924
|
+
search: valueOrDefault(settings.search, SETTINGS_DEFAULTS.search),
|
|
5925
|
+
providers: valueOrDefault(settings.providers, SETTINGS_DEFAULTS.providers),
|
|
5926
|
+
vector_store: valueOrDefault(settings.vector_store, SETTINGS_DEFAULTS.vector_store)
|
|
5927
|
+
};
|
|
5928
|
+
const governance = resolveGovernanceKnobs(baseSettings);
|
|
5929
|
+
const normalizedSchema = normalizeRuntimeSchemaSettings(baseSettings.schema);
|
|
5930
|
+
const persistedFileBackedSections = resolvePersistedFileBackedSchemaSections(baseSettings, options.persist_source);
|
|
5931
|
+
const normalizedSettings = {
|
|
5932
|
+
...baseSettings,
|
|
5858
5933
|
item_format: "toon",
|
|
5859
5934
|
validation: {
|
|
5860
|
-
...
|
|
5935
|
+
...baseSettings.validation,
|
|
5861
5936
|
parent_reference: governance.parent_reference,
|
|
5862
5937
|
metadata_profile: governance.metadata_profile,
|
|
5863
|
-
metadata_required_fields: normalizeValidationMetadataRequiredFields(
|
|
5864
|
-
lifecycle_stale_blocker_reason_patterns: normalizeValidationPatternList(
|
|
5865
|
-
lifecycle_closure_like_blocked_reason_patterns: normalizeValidationPatternList(
|
|
5866
|
-
lifecycle_closure_like_resolution_patterns: normalizeValidationPatternList(
|
|
5867
|
-
lifecycle_closure_like_actual_result_patterns: normalizeValidationPatternList(
|
|
5938
|
+
metadata_required_fields: normalizeValidationMetadataRequiredFields(baseSettings.validation?.metadata_required_fields),
|
|
5939
|
+
lifecycle_stale_blocker_reason_patterns: normalizeValidationPatternList(baseSettings.validation?.lifecycle_stale_blocker_reason_patterns ?? SETTINGS_DEFAULTS.validation.lifecycle_stale_blocker_reason_patterns),
|
|
5940
|
+
lifecycle_closure_like_blocked_reason_patterns: normalizeValidationPatternList(baseSettings.validation?.lifecycle_closure_like_blocked_reason_patterns ?? SETTINGS_DEFAULTS.validation.lifecycle_closure_like_blocked_reason_patterns),
|
|
5941
|
+
lifecycle_closure_like_resolution_patterns: normalizeValidationPatternList(baseSettings.validation?.lifecycle_closure_like_resolution_patterns ?? SETTINGS_DEFAULTS.validation.lifecycle_closure_like_resolution_patterns),
|
|
5942
|
+
lifecycle_closure_like_actual_result_patterns: normalizeValidationPatternList(baseSettings.validation?.lifecycle_closure_like_actual_result_patterns ?? SETTINGS_DEFAULTS.validation.lifecycle_closure_like_actual_result_patterns),
|
|
5943
|
+
estimate_defaults_by_type: normalizeEstimateDefaultOverrides(baseSettings.validation?.estimate_defaults_by_type)
|
|
5868
5944
|
},
|
|
5869
5945
|
governance,
|
|
5870
|
-
agent_guidance: normalizeAgentGuidanceSettings(
|
|
5946
|
+
agent_guidance: normalizeAgentGuidanceSettings(baseSettings.agent_guidance),
|
|
5871
5947
|
item_types: {
|
|
5872
5948
|
definitions: persistedFileBackedSections.item_type_definitions
|
|
5873
5949
|
},
|
|
@@ -5879,42 +5955,42 @@ function serializeSettings(settings, options = {}) {
|
|
|
5879
5955
|
},
|
|
5880
5956
|
search: {
|
|
5881
5957
|
...SETTINGS_DEFAULTS.search,
|
|
5882
|
-
...
|
|
5883
|
-
mutation_refresh_policy: normalizeSearchMutationRefreshPolicy(
|
|
5958
|
+
...baseSettings.search,
|
|
5959
|
+
mutation_refresh_policy: normalizeSearchMutationRefreshPolicy(baseSettings.search?.mutation_refresh_policy),
|
|
5884
5960
|
query_expansion: {
|
|
5885
5961
|
...SETTINGS_DEFAULTS.search.query_expansion,
|
|
5886
|
-
...
|
|
5887
|
-
enabled: normalizeSearchQueryExpansionEnabled(
|
|
5888
|
-
provider: normalizeSearchQueryExpansionProvider(
|
|
5962
|
+
...baseSettings.search?.query_expansion ?? {},
|
|
5963
|
+
enabled: normalizeSearchQueryExpansionEnabled(baseSettings.search?.query_expansion?.enabled),
|
|
5964
|
+
provider: normalizeSearchQueryExpansionProvider(baseSettings.search?.query_expansion?.provider)
|
|
5889
5965
|
},
|
|
5890
5966
|
rerank: {
|
|
5891
5967
|
...SETTINGS_DEFAULTS.search.rerank,
|
|
5892
|
-
...
|
|
5893
|
-
enabled: normalizeSearchRerankEnabled(
|
|
5894
|
-
model: normalizeSearchRerankModel(
|
|
5895
|
-
top_k: normalizeSearchRerankTopK(
|
|
5968
|
+
...baseSettings.search?.rerank ?? {},
|
|
5969
|
+
enabled: normalizeSearchRerankEnabled(baseSettings.search?.rerank?.enabled),
|
|
5970
|
+
model: normalizeSearchRerankModel(baseSettings.search?.rerank?.model),
|
|
5971
|
+
top_k: normalizeSearchRerankTopK(baseSettings.search?.rerank?.top_k)
|
|
5896
5972
|
}
|
|
5897
5973
|
},
|
|
5898
5974
|
context: {
|
|
5899
|
-
default_depth:
|
|
5900
|
-
activity_limit:
|
|
5901
|
-
stale_threshold_days:
|
|
5975
|
+
default_depth: baseSettings.context?.default_depth ?? SETTINGS_DEFAULTS.context.default_depth,
|
|
5976
|
+
activity_limit: baseSettings.context?.activity_limit ?? SETTINGS_DEFAULTS.context.activity_limit,
|
|
5977
|
+
stale_threshold_days: baseSettings.context?.stale_threshold_days ?? SETTINGS_DEFAULTS.context.stale_threshold_days,
|
|
5902
5978
|
sections: {
|
|
5903
5979
|
...SETTINGS_DEFAULTS.context.sections,
|
|
5904
|
-
...
|
|
5980
|
+
...baseSettings.context?.sections ?? {}
|
|
5905
5981
|
}
|
|
5906
5982
|
},
|
|
5907
5983
|
extensions: {
|
|
5908
|
-
enabled: normalizeStringList2(
|
|
5909
|
-
disabled: normalizeStringList2(
|
|
5910
|
-
policy: normalizeExtensionPolicySettings(
|
|
5984
|
+
enabled: normalizeStringList2(baseSettings.extensions?.enabled),
|
|
5985
|
+
disabled: normalizeStringList2(baseSettings.extensions?.disabled),
|
|
5986
|
+
policy: normalizeExtensionPolicySettings(baseSettings.extensions?.policy)
|
|
5911
5987
|
},
|
|
5912
5988
|
vector_store: {
|
|
5913
|
-
...
|
|
5914
|
-
adapter:
|
|
5915
|
-
collection_name: normalizeVectorStoreCollectionName(
|
|
5916
|
-
qdrant: { ...
|
|
5917
|
-
lancedb: { ...
|
|
5989
|
+
...baseSettings.vector_store,
|
|
5990
|
+
adapter: baseSettings.vector_store?.adapter ?? SETTINGS_DEFAULTS.vector_store.adapter,
|
|
5991
|
+
collection_name: normalizeVectorStoreCollectionName(baseSettings.vector_store?.collection_name),
|
|
5992
|
+
qdrant: { ...baseSettings.vector_store?.qdrant ?? {} },
|
|
5993
|
+
lancedb: { ...baseSettings.vector_store?.lancedb ?? {} }
|
|
5918
5994
|
}
|
|
5919
5995
|
};
|
|
5920
5996
|
const ordered = orderObject({
|
|
@@ -5953,7 +6029,8 @@ function serializeSettings(settings, options = {}) {
|
|
|
5953
6029
|
"lifecycle_stale_blocker_reason_patterns",
|
|
5954
6030
|
"lifecycle_closure_like_blocked_reason_patterns",
|
|
5955
6031
|
"lifecycle_closure_like_resolution_patterns",
|
|
5956
|
-
"lifecycle_closure_like_actual_result_patterns"
|
|
6032
|
+
"lifecycle_closure_like_actual_result_patterns",
|
|
6033
|
+
"estimate_defaults_by_type"
|
|
5957
6034
|
]);
|
|
5958
6035
|
ordered.governance = orderObject(ordered.governance, [
|
|
5959
6036
|
"preset",
|
|
@@ -5994,17 +6071,17 @@ function serializeSettings(settings, options = {}) {
|
|
|
5994
6071
|
"type_workflows",
|
|
5995
6072
|
"unknown_field_policy"
|
|
5996
6073
|
]);
|
|
5997
|
-
ordered.schema.files = orderObject(ordered.schema.files
|
|
5998
|
-
ordered.schema.workflow = orderObject(ordered.schema.workflow
|
|
6074
|
+
ordered.schema.files = orderObject(recordOrEmpty(ordered.schema.files), ["types", "statuses", "fields", "workflows"]);
|
|
6075
|
+
ordered.schema.workflow = orderObject(recordOrEmpty(ordered.schema.workflow), ["draft_status", "open_status", "in_progress_status", "blocked_status", "close_status", "canceled_status"]);
|
|
5999
6076
|
ordered.context = orderObject(ordered.context, [
|
|
6000
6077
|
"default_depth",
|
|
6001
6078
|
"activity_limit",
|
|
6002
6079
|
"stale_threshold_days",
|
|
6003
6080
|
"sections"
|
|
6004
6081
|
]);
|
|
6005
|
-
ordered.context.sections = orderObject(ordered.context.sections
|
|
6082
|
+
ordered.context.sections = orderObject(recordOrEmpty(ordered.context.sections), ["hierarchy", "activity", "progress", "blockers", "files", "workload", "staleness", "tests"]);
|
|
6006
6083
|
ordered.extensions = orderObject(ordered.extensions, ["enabled", "disabled", "policy"]);
|
|
6007
|
-
ordered.extensions.policy = orderObject(ordered.extensions.policy
|
|
6084
|
+
ordered.extensions.policy = orderObject(recordOrEmpty(ordered.extensions.policy), [
|
|
6008
6085
|
"mode",
|
|
6009
6086
|
"trust_mode",
|
|
6010
6087
|
"pm_max_version_exceeded_mode",
|
|
@@ -6025,7 +6102,7 @@ function serializeSettings(settings, options = {}) {
|
|
|
6025
6102
|
"blocked_services",
|
|
6026
6103
|
"extension_overrides"
|
|
6027
6104
|
]);
|
|
6028
|
-
ordered.extensions.policy.extension_overrides = (ordered.extensions.policy.extension_overrides
|
|
6105
|
+
ordered.extensions.policy.extension_overrides = arrayOrEmpty(ordered.extensions.policy.extension_overrides).map((entry) => orderObject(recordOrEmpty(entry), [
|
|
6029
6106
|
"name",
|
|
6030
6107
|
"disabled",
|
|
6031
6108
|
"require_trusted",
|
|
@@ -6056,19 +6133,19 @@ function serializeSettings(settings, options = {}) {
|
|
|
6056
6133
|
"query_expansion",
|
|
6057
6134
|
"rerank"
|
|
6058
6135
|
]);
|
|
6059
|
-
ordered.search.query_expansion = orderObject(ordered.search.query_expansion
|
|
6060
|
-
ordered.search.rerank = orderObject(ordered.search.rerank
|
|
6136
|
+
ordered.search.query_expansion = orderObject(recordOrEmpty(ordered.search.query_expansion), ["enabled", "provider"]);
|
|
6137
|
+
ordered.search.rerank = orderObject(recordOrEmpty(ordered.search.rerank), ["enabled", "model", "top_k"]);
|
|
6061
6138
|
ordered.providers = orderObject(ordered.providers, ["openai", "ollama"]);
|
|
6062
|
-
ordered.providers.openai = orderObject(ordered.providers.openai
|
|
6063
|
-
ordered.providers.ollama = orderObject(ordered.providers.ollama
|
|
6139
|
+
ordered.providers.openai = orderObject(recordOrEmpty(ordered.providers.openai), ["base_url", "api_key", "model"]);
|
|
6140
|
+
ordered.providers.ollama = orderObject(recordOrEmpty(ordered.providers.ollama), ["base_url", "model"]);
|
|
6064
6141
|
ordered.vector_store = orderObject(ordered.vector_store, [
|
|
6065
6142
|
"adapter",
|
|
6066
6143
|
"collection_name",
|
|
6067
6144
|
"qdrant",
|
|
6068
6145
|
"lancedb"
|
|
6069
6146
|
]);
|
|
6070
|
-
ordered.vector_store.qdrant = orderObject(ordered.vector_store.qdrant
|
|
6071
|
-
ordered.vector_store.lancedb = orderObject(ordered.vector_store.lancedb
|
|
6147
|
+
ordered.vector_store.qdrant = orderObject(recordOrEmpty(ordered.vector_store.qdrant), ["url", "api_key"]);
|
|
6148
|
+
ordered.vector_store.lancedb = orderObject(recordOrEmpty(ordered.vector_store.lancedb), ["path"]);
|
|
6072
6149
|
return `${JSON.stringify(ordered, null, 2)}
|
|
6073
6150
|
`;
|
|
6074
6151
|
}
|
|
@@ -6125,7 +6202,7 @@ async function readSettingsWithMetadata(pmRoot) {
|
|
|
6125
6202
|
item_types: {
|
|
6126
6203
|
definitions: normalizeItemTypeDefinitions([
|
|
6127
6204
|
...mergedSettings.item_types.definitions,
|
|
6128
|
-
...loadedSchemaSections.type_definitions_from_file
|
|
6205
|
+
...arrayOrEmpty(loadedSchemaSections.type_definitions_from_file)
|
|
6129
6206
|
])
|
|
6130
6207
|
},
|
|
6131
6208
|
schema: loadedSchemaSections.schema
|
|
@@ -6199,6 +6276,7 @@ export {
|
|
|
6199
6276
|
KNOWN_EXTENSION_POLICY_SURFACES,
|
|
6200
6277
|
KNOWN_EXTENSION_SERVICE_NAMES,
|
|
6201
6278
|
PM_DIRNAME,
|
|
6279
|
+
CREATE_DIRECT_CLOSE_REASON_DEFAULT,
|
|
6202
6280
|
PM_CORE_REQUIRED_SUBDIRS,
|
|
6203
6281
|
PM_OPTIONAL_TYPE_SUBDIRS,
|
|
6204
6282
|
PM_REQUIRED_SUBDIRS,
|
|
@@ -6219,6 +6297,7 @@ export {
|
|
|
6219
6297
|
getItemFormatFromPath,
|
|
6220
6298
|
getHistoryPath,
|
|
6221
6299
|
getLockPath,
|
|
6300
|
+
getRuntimePath,
|
|
6222
6301
|
getTestRunsPath,
|
|
6223
6302
|
getTestRunsRecordsPath,
|
|
6224
6303
|
getTestRunRecordPath,
|
|
@@ -6301,6 +6380,7 @@ export {
|
|
|
6301
6380
|
DEFAULT_RUNTIME_STATUS_DEFINITIONS,
|
|
6302
6381
|
normalizeRuntimeSchemaSettings,
|
|
6303
6382
|
filePathForSchemaSection,
|
|
6383
|
+
resolveItemTypesFilePath,
|
|
6304
6384
|
ensureRuntimeSchemaFileScaffold,
|
|
6305
6385
|
resolveRuntimeStatusRegistry,
|
|
6306
6386
|
normalizeStatusInputWithRegistry,
|
|
@@ -6312,11 +6392,12 @@ export {
|
|
|
6312
6392
|
stableValueEquals,
|
|
6313
6393
|
sha256Hex,
|
|
6314
6394
|
orderObject,
|
|
6395
|
+
resolveEstimateDefaultMinutes,
|
|
6315
6396
|
resolveGovernanceKnobs,
|
|
6316
6397
|
readSettingsWithMetadata,
|
|
6317
6398
|
readSettings,
|
|
6318
6399
|
writeSettings
|
|
6319
6400
|
};
|
|
6320
|
-
//# sourceMappingURL=chunk-
|
|
6401
|
+
//# sourceMappingURL=chunk-KTVETP66.js.map
|
|
6321
6402
|
|
|
6322
|
-
//# debugId=
|
|
6403
|
+
//# debugId=62f87b11-f1bc-5f90-bc91-0e81dfdebb55
|