universal-plugin 0.14.0 → 0.15.0

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/dist/cli.mjs CHANGED
@@ -19,7 +19,7 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
19
19
  var __getOwnPropNames = Object.getOwnPropertyNames;
20
20
  var __getProtoOf = Object.getPrototypeOf;
21
21
  var __hasOwnProp = Object.prototype.hasOwnProperty;
22
- var __commonJSMin = (cb, mod) => () => (mod || (cb((mod = { exports: {} }).exports, mod), cb = null), mod.exports);
22
+ var __commonJSMin$1 = (cb, mod) => () => (mod || (cb((mod = { exports: {} }).exports, mod), cb = null), mod.exports);
23
23
  var __copyProps = (to, from, except, desc) => {
24
24
  if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
25
25
  key = keys[i];
@@ -34,7 +34,6 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
34
34
  value: mod,
35
35
  enumerable: true
36
36
  }) : target, mod));
37
- var __require = /* #__PURE__ */ (() => createRequire(import.meta.url))();
38
37
  //#endregion
39
38
  //#region ../../node_modules/.pnpm/commander@15.0.0/node_modules/commander/lib/error.js
40
39
  /**
@@ -3160,7 +3159,7 @@ function cleanCommand() {
3160
3159
  }
3161
3160
  //#endregion
3162
3161
  //#region ../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/internal/constants.js
3163
- var require_constants = /* @__PURE__ */ __commonJSMin(((exports, module) => {
3162
+ var require_constants = /* @__PURE__ */ __commonJSMin$1(((exports, module) => {
3164
3163
  module.exports = {
3165
3164
  MAX_LENGTH: 256,
3166
3165
  MAX_SAFE_COMPONENT_LENGTH: 16,
@@ -3183,12 +3182,12 @@ var require_constants = /* @__PURE__ */ __commonJSMin(((exports, module) => {
3183
3182
  }));
3184
3183
  //#endregion
3185
3184
  //#region ../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/internal/debug.js
3186
- var require_debug = /* @__PURE__ */ __commonJSMin(((exports, module) => {
3185
+ var require_debug = /* @__PURE__ */ __commonJSMin$1(((exports, module) => {
3187
3186
  module.exports = typeof process === "object" && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG) ? (...args) => console.error("SEMVER", ...args) : () => {};
3188
3187
  }));
3189
3188
  //#endregion
3190
3189
  //#region ../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/internal/re.js
3191
- var require_re = /* @__PURE__ */ __commonJSMin(((exports, module) => {
3190
+ var require_re = /* @__PURE__ */ __commonJSMin$1(((exports, module) => {
3192
3191
  const { MAX_SAFE_COMPONENT_LENGTH, MAX_SAFE_BUILD_LENGTH, MAX_LENGTH } = require_constants();
3193
3192
  const debug = require_debug();
3194
3193
  exports = module.exports = {};
@@ -3267,7 +3266,7 @@ var require_re = /* @__PURE__ */ __commonJSMin(((exports, module) => {
3267
3266
  }));
3268
3267
  //#endregion
3269
3268
  //#region ../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/internal/parse-options.js
3270
- var require_parse_options = /* @__PURE__ */ __commonJSMin(((exports, module) => {
3269
+ var require_parse_options = /* @__PURE__ */ __commonJSMin$1(((exports, module) => {
3271
3270
  const looseOption = Object.freeze({ loose: true });
3272
3271
  const emptyOpts = Object.freeze({});
3273
3272
  const parseOptions = (options) => {
@@ -3279,7 +3278,7 @@ var require_parse_options = /* @__PURE__ */ __commonJSMin(((exports, module) =>
3279
3278
  }));
3280
3279
  //#endregion
3281
3280
  //#region ../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/internal/identifiers.js
3282
- var require_identifiers = /* @__PURE__ */ __commonJSMin(((exports, module) => {
3281
+ var require_identifiers = /* @__PURE__ */ __commonJSMin$1(((exports, module) => {
3283
3282
  const numeric = /^[0-9]+$/;
3284
3283
  const compareIdentifiers = (a, b) => {
3285
3284
  if (typeof a === "number" && typeof b === "number") return a === b ? 0 : a < b ? -1 : 1;
@@ -3299,7 +3298,7 @@ var require_identifiers = /* @__PURE__ */ __commonJSMin(((exports, module) => {
3299
3298
  }));
3300
3299
  //#endregion
3301
3300
  //#region ../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/classes/semver.js
3302
- var require_semver$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
3301
+ var require_semver$1 = /* @__PURE__ */ __commonJSMin$1(((exports, module) => {
3303
3302
  const debug = require_debug();
3304
3303
  const { MAX_LENGTH, MAX_SAFE_INTEGER } = require_constants();
3305
3304
  const { safeRe: re, t } = require_re();
@@ -3478,7 +3477,7 @@ var require_semver$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
3478
3477
  }));
3479
3478
  //#endregion
3480
3479
  //#region ../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/functions/parse.js
3481
- var require_parse = /* @__PURE__ */ __commonJSMin(((exports, module) => {
3480
+ var require_parse = /* @__PURE__ */ __commonJSMin$1(((exports, module) => {
3482
3481
  const SemVer = require_semver$1();
3483
3482
  const parse = (version, options, throwErrors = false) => {
3484
3483
  if (version instanceof SemVer) return version;
@@ -3493,7 +3492,7 @@ var require_parse = /* @__PURE__ */ __commonJSMin(((exports, module) => {
3493
3492
  }));
3494
3493
  //#endregion
3495
3494
  //#region ../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/functions/valid.js
3496
- var require_valid$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
3495
+ var require_valid$1 = /* @__PURE__ */ __commonJSMin$1(((exports, module) => {
3497
3496
  const parse = require_parse();
3498
3497
  const valid = (version, options) => {
3499
3498
  const v = parse(version, options);
@@ -3503,7 +3502,7 @@ var require_valid$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
3503
3502
  }));
3504
3503
  //#endregion
3505
3504
  //#region ../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/functions/clean.js
3506
- var require_clean = /* @__PURE__ */ __commonJSMin(((exports, module) => {
3505
+ var require_clean = /* @__PURE__ */ __commonJSMin$1(((exports, module) => {
3507
3506
  const parse = require_parse();
3508
3507
  const clean = (version, options) => {
3509
3508
  const s = parse(version.trim().replace(/^[=v]+/, ""), options);
@@ -3513,7 +3512,7 @@ var require_clean = /* @__PURE__ */ __commonJSMin(((exports, module) => {
3513
3512
  }));
3514
3513
  //#endregion
3515
3514
  //#region ../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/functions/inc.js
3516
- var require_inc = /* @__PURE__ */ __commonJSMin(((exports, module) => {
3515
+ var require_inc = /* @__PURE__ */ __commonJSMin$1(((exports, module) => {
3517
3516
  const SemVer = require_semver$1();
3518
3517
  const inc = (version, release, options, identifier, identifierBase) => {
3519
3518
  if (typeof options === "string") {
@@ -3531,7 +3530,7 @@ var require_inc = /* @__PURE__ */ __commonJSMin(((exports, module) => {
3531
3530
  }));
3532
3531
  //#endregion
3533
3532
  //#region ../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/functions/diff.js
3534
- var require_diff = /* @__PURE__ */ __commonJSMin(((exports, module) => {
3533
+ var require_diff = /* @__PURE__ */ __commonJSMin$1(((exports, module) => {
3535
3534
  const parse = require_parse();
3536
3535
  const diff = (version1, version2) => {
3537
3536
  const v1 = parse(version1, null, true);
@@ -3559,28 +3558,28 @@ var require_diff = /* @__PURE__ */ __commonJSMin(((exports, module) => {
3559
3558
  }));
3560
3559
  //#endregion
3561
3560
  //#region ../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/functions/major.js
3562
- var require_major = /* @__PURE__ */ __commonJSMin(((exports, module) => {
3561
+ var require_major = /* @__PURE__ */ __commonJSMin$1(((exports, module) => {
3563
3562
  const SemVer = require_semver$1();
3564
3563
  const major = (a, loose) => new SemVer(a, loose).major;
3565
3564
  module.exports = major;
3566
3565
  }));
3567
3566
  //#endregion
3568
3567
  //#region ../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/functions/minor.js
3569
- var require_minor = /* @__PURE__ */ __commonJSMin(((exports, module) => {
3568
+ var require_minor = /* @__PURE__ */ __commonJSMin$1(((exports, module) => {
3570
3569
  const SemVer = require_semver$1();
3571
3570
  const minor = (a, loose) => new SemVer(a, loose).minor;
3572
3571
  module.exports = minor;
3573
3572
  }));
3574
3573
  //#endregion
3575
3574
  //#region ../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/functions/patch.js
3576
- var require_patch = /* @__PURE__ */ __commonJSMin(((exports, module) => {
3575
+ var require_patch = /* @__PURE__ */ __commonJSMin$1(((exports, module) => {
3577
3576
  const SemVer = require_semver$1();
3578
3577
  const patch = (a, loose) => new SemVer(a, loose).patch;
3579
3578
  module.exports = patch;
3580
3579
  }));
3581
3580
  //#endregion
3582
3581
  //#region ../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/functions/prerelease.js
3583
- var require_prerelease = /* @__PURE__ */ __commonJSMin(((exports, module) => {
3582
+ var require_prerelease = /* @__PURE__ */ __commonJSMin$1(((exports, module) => {
3584
3583
  const parse = require_parse();
3585
3584
  const prerelease = (version, options) => {
3586
3585
  const parsed = parse(version, options);
@@ -3590,28 +3589,28 @@ var require_prerelease = /* @__PURE__ */ __commonJSMin(((exports, module) => {
3590
3589
  }));
3591
3590
  //#endregion
3592
3591
  //#region ../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/functions/compare.js
3593
- var require_compare = /* @__PURE__ */ __commonJSMin(((exports, module) => {
3592
+ var require_compare = /* @__PURE__ */ __commonJSMin$1(((exports, module) => {
3594
3593
  const SemVer = require_semver$1();
3595
3594
  const compare = (a, b, loose) => new SemVer(a, loose).compare(new SemVer(b, loose));
3596
3595
  module.exports = compare;
3597
3596
  }));
3598
3597
  //#endregion
3599
3598
  //#region ../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/functions/rcompare.js
3600
- var require_rcompare = /* @__PURE__ */ __commonJSMin(((exports, module) => {
3599
+ var require_rcompare = /* @__PURE__ */ __commonJSMin$1(((exports, module) => {
3601
3600
  const compare = require_compare();
3602
3601
  const rcompare = (a, b, loose) => compare(b, a, loose);
3603
3602
  module.exports = rcompare;
3604
3603
  }));
3605
3604
  //#endregion
3606
3605
  //#region ../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/functions/compare-loose.js
3607
- var require_compare_loose = /* @__PURE__ */ __commonJSMin(((exports, module) => {
3606
+ var require_compare_loose = /* @__PURE__ */ __commonJSMin$1(((exports, module) => {
3608
3607
  const compare = require_compare();
3609
3608
  const compareLoose = (a, b) => compare(a, b, true);
3610
3609
  module.exports = compareLoose;
3611
3610
  }));
3612
3611
  //#endregion
3613
3612
  //#region ../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/functions/compare-build.js
3614
- var require_compare_build = /* @__PURE__ */ __commonJSMin(((exports, module) => {
3613
+ var require_compare_build = /* @__PURE__ */ __commonJSMin$1(((exports, module) => {
3615
3614
  const SemVer = require_semver$1();
3616
3615
  const compareBuild = (a, b, loose) => {
3617
3616
  const versionA = new SemVer(a, loose);
@@ -3622,63 +3621,63 @@ var require_compare_build = /* @__PURE__ */ __commonJSMin(((exports, module) =>
3622
3621
  }));
3623
3622
  //#endregion
3624
3623
  //#region ../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/functions/sort.js
3625
- var require_sort = /* @__PURE__ */ __commonJSMin(((exports, module) => {
3624
+ var require_sort = /* @__PURE__ */ __commonJSMin$1(((exports, module) => {
3626
3625
  const compareBuild = require_compare_build();
3627
3626
  const sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose));
3628
3627
  module.exports = sort;
3629
3628
  }));
3630
3629
  //#endregion
3631
3630
  //#region ../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/functions/rsort.js
3632
- var require_rsort = /* @__PURE__ */ __commonJSMin(((exports, module) => {
3631
+ var require_rsort = /* @__PURE__ */ __commonJSMin$1(((exports, module) => {
3633
3632
  const compareBuild = require_compare_build();
3634
3633
  const rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose));
3635
3634
  module.exports = rsort;
3636
3635
  }));
3637
3636
  //#endregion
3638
3637
  //#region ../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/functions/gt.js
3639
- var require_gt = /* @__PURE__ */ __commonJSMin(((exports, module) => {
3638
+ var require_gt = /* @__PURE__ */ __commonJSMin$1(((exports, module) => {
3640
3639
  const compare = require_compare();
3641
3640
  const gt = (a, b, loose) => compare(a, b, loose) > 0;
3642
3641
  module.exports = gt;
3643
3642
  }));
3644
3643
  //#endregion
3645
3644
  //#region ../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/functions/lt.js
3646
- var require_lt = /* @__PURE__ */ __commonJSMin(((exports, module) => {
3645
+ var require_lt = /* @__PURE__ */ __commonJSMin$1(((exports, module) => {
3647
3646
  const compare = require_compare();
3648
3647
  const lt = (a, b, loose) => compare(a, b, loose) < 0;
3649
3648
  module.exports = lt;
3650
3649
  }));
3651
3650
  //#endregion
3652
3651
  //#region ../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/functions/eq.js
3653
- var require_eq = /* @__PURE__ */ __commonJSMin(((exports, module) => {
3652
+ var require_eq = /* @__PURE__ */ __commonJSMin$1(((exports, module) => {
3654
3653
  const compare = require_compare();
3655
3654
  const eq = (a, b, loose) => compare(a, b, loose) === 0;
3656
3655
  module.exports = eq;
3657
3656
  }));
3658
3657
  //#endregion
3659
3658
  //#region ../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/functions/neq.js
3660
- var require_neq = /* @__PURE__ */ __commonJSMin(((exports, module) => {
3659
+ var require_neq = /* @__PURE__ */ __commonJSMin$1(((exports, module) => {
3661
3660
  const compare = require_compare();
3662
3661
  const neq = (a, b, loose) => compare(a, b, loose) !== 0;
3663
3662
  module.exports = neq;
3664
3663
  }));
3665
3664
  //#endregion
3666
3665
  //#region ../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/functions/gte.js
3667
- var require_gte = /* @__PURE__ */ __commonJSMin(((exports, module) => {
3666
+ var require_gte = /* @__PURE__ */ __commonJSMin$1(((exports, module) => {
3668
3667
  const compare = require_compare();
3669
3668
  const gte = (a, b, loose) => compare(a, b, loose) >= 0;
3670
3669
  module.exports = gte;
3671
3670
  }));
3672
3671
  //#endregion
3673
3672
  //#region ../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/functions/lte.js
3674
- var require_lte = /* @__PURE__ */ __commonJSMin(((exports, module) => {
3673
+ var require_lte = /* @__PURE__ */ __commonJSMin$1(((exports, module) => {
3675
3674
  const compare = require_compare();
3676
3675
  const lte = (a, b, loose) => compare(a, b, loose) <= 0;
3677
3676
  module.exports = lte;
3678
3677
  }));
3679
3678
  //#endregion
3680
3679
  //#region ../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/functions/cmp.js
3681
- var require_cmp = /* @__PURE__ */ __commonJSMin(((exports, module) => {
3680
+ var require_cmp = /* @__PURE__ */ __commonJSMin$1(((exports, module) => {
3682
3681
  const eq = require_eq();
3683
3682
  const neq = require_neq();
3684
3683
  const gt = require_gt();
@@ -3710,7 +3709,7 @@ var require_cmp = /* @__PURE__ */ __commonJSMin(((exports, module) => {
3710
3709
  }));
3711
3710
  //#endregion
3712
3711
  //#region ../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/functions/coerce.js
3713
- var require_coerce = /* @__PURE__ */ __commonJSMin(((exports, module) => {
3712
+ var require_coerce = /* @__PURE__ */ __commonJSMin$1(((exports, module) => {
3714
3713
  const SemVer = require_semver$1();
3715
3714
  const parse = require_parse();
3716
3715
  const { safeRe: re, t } = require_re();
@@ -3742,7 +3741,7 @@ var require_coerce = /* @__PURE__ */ __commonJSMin(((exports, module) => {
3742
3741
  }));
3743
3742
  //#endregion
3744
3743
  //#region ../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/functions/truncate.js
3745
- var require_truncate = /* @__PURE__ */ __commonJSMin(((exports, module) => {
3744
+ var require_truncate = /* @__PURE__ */ __commonJSMin$1(((exports, module) => {
3746
3745
  const parse = require_parse();
3747
3746
  const constants = require_constants();
3748
3747
  const SemVer = require_semver$1();
@@ -3774,7 +3773,7 @@ var require_truncate = /* @__PURE__ */ __commonJSMin(((exports, module) => {
3774
3773
  }));
3775
3774
  //#endregion
3776
3775
  //#region ../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/internal/lrucache.js
3777
- var require_lrucache = /* @__PURE__ */ __commonJSMin(((exports, module) => {
3776
+ var require_lrucache = /* @__PURE__ */ __commonJSMin$1(((exports, module) => {
3778
3777
  var LRUCache = class {
3779
3778
  constructor() {
3780
3779
  this.max = 1e3;
@@ -3807,7 +3806,7 @@ var require_lrucache = /* @__PURE__ */ __commonJSMin(((exports, module) => {
3807
3806
  }));
3808
3807
  //#endregion
3809
3808
  //#region ../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/classes/range.js
3810
- var require_range = /* @__PURE__ */ __commonJSMin(((exports, module) => {
3809
+ var require_range = /* @__PURE__ */ __commonJSMin$1(((exports, module) => {
3811
3810
  const SPACE_CHARACTERS = /\s+/g;
3812
3811
  module.exports = class Range {
3813
3812
  constructor(range, options) {
@@ -4087,7 +4086,7 @@ var require_range = /* @__PURE__ */ __commonJSMin(((exports, module) => {
4087
4086
  }));
4088
4087
  //#endregion
4089
4088
  //#region ../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/classes/comparator.js
4090
- var require_comparator = /* @__PURE__ */ __commonJSMin(((exports, module) => {
4089
+ var require_comparator = /* @__PURE__ */ __commonJSMin$1(((exports, module) => {
4091
4090
  const ANY = Symbol("SemVer ANY");
4092
4091
  module.exports = class Comparator {
4093
4092
  static get ANY() {
@@ -4159,7 +4158,7 @@ var require_comparator = /* @__PURE__ */ __commonJSMin(((exports, module) => {
4159
4158
  }));
4160
4159
  //#endregion
4161
4160
  //#region ../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/functions/satisfies.js
4162
- var require_satisfies = /* @__PURE__ */ __commonJSMin(((exports, module) => {
4161
+ var require_satisfies = /* @__PURE__ */ __commonJSMin$1(((exports, module) => {
4163
4162
  const Range = require_range();
4164
4163
  const satisfies = (version, range, options) => {
4165
4164
  try {
@@ -4173,14 +4172,14 @@ var require_satisfies = /* @__PURE__ */ __commonJSMin(((exports, module) => {
4173
4172
  }));
4174
4173
  //#endregion
4175
4174
  //#region ../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/ranges/to-comparators.js
4176
- var require_to_comparators = /* @__PURE__ */ __commonJSMin(((exports, module) => {
4175
+ var require_to_comparators = /* @__PURE__ */ __commonJSMin$1(((exports, module) => {
4177
4176
  const Range = require_range();
4178
4177
  const toComparators = (range, options) => new Range(range, options).set.map((comp) => comp.map((c) => c.value).join(" ").trim().split(" "));
4179
4178
  module.exports = toComparators;
4180
4179
  }));
4181
4180
  //#endregion
4182
4181
  //#region ../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/ranges/max-satisfying.js
4183
- var require_max_satisfying = /* @__PURE__ */ __commonJSMin(((exports, module) => {
4182
+ var require_max_satisfying = /* @__PURE__ */ __commonJSMin$1(((exports, module) => {
4184
4183
  const SemVer = require_semver$1();
4185
4184
  const Range = require_range();
4186
4185
  const maxSatisfying = (versions, range, options) => {
@@ -4206,7 +4205,7 @@ var require_max_satisfying = /* @__PURE__ */ __commonJSMin(((exports, module) =>
4206
4205
  }));
4207
4206
  //#endregion
4208
4207
  //#region ../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/ranges/min-satisfying.js
4209
- var require_min_satisfying = /* @__PURE__ */ __commonJSMin(((exports, module) => {
4208
+ var require_min_satisfying = /* @__PURE__ */ __commonJSMin$1(((exports, module) => {
4210
4209
  const SemVer = require_semver$1();
4211
4210
  const Range = require_range();
4212
4211
  const minSatisfying = (versions, range, options) => {
@@ -4232,7 +4231,7 @@ var require_min_satisfying = /* @__PURE__ */ __commonJSMin(((exports, module) =>
4232
4231
  }));
4233
4232
  //#endregion
4234
4233
  //#region ../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/ranges/min-version.js
4235
- var require_min_version = /* @__PURE__ */ __commonJSMin(((exports, module) => {
4234
+ var require_min_version = /* @__PURE__ */ __commonJSMin$1(((exports, module) => {
4236
4235
  const SemVer = require_semver$1();
4237
4236
  const Range = require_range();
4238
4237
  const gt = require_gt();
@@ -4272,7 +4271,7 @@ var require_min_version = /* @__PURE__ */ __commonJSMin(((exports, module) => {
4272
4271
  }));
4273
4272
  //#endregion
4274
4273
  //#region ../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/ranges/valid.js
4275
- var require_valid = /* @__PURE__ */ __commonJSMin(((exports, module) => {
4274
+ var require_valid = /* @__PURE__ */ __commonJSMin$1(((exports, module) => {
4276
4275
  const Range = require_range();
4277
4276
  const validRange = (range, options) => {
4278
4277
  try {
@@ -4285,7 +4284,7 @@ var require_valid = /* @__PURE__ */ __commonJSMin(((exports, module) => {
4285
4284
  }));
4286
4285
  //#endregion
4287
4286
  //#region ../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/ranges/outside.js
4288
- var require_outside = /* @__PURE__ */ __commonJSMin(((exports, module) => {
4287
+ var require_outside = /* @__PURE__ */ __commonJSMin$1(((exports, module) => {
4289
4288
  const SemVer = require_semver$1();
4290
4289
  const Comparator = require_comparator();
4291
4290
  const { ANY } = Comparator;
@@ -4338,21 +4337,21 @@ var require_outside = /* @__PURE__ */ __commonJSMin(((exports, module) => {
4338
4337
  }));
4339
4338
  //#endregion
4340
4339
  //#region ../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/ranges/gtr.js
4341
- var require_gtr = /* @__PURE__ */ __commonJSMin(((exports, module) => {
4340
+ var require_gtr = /* @__PURE__ */ __commonJSMin$1(((exports, module) => {
4342
4341
  const outside = require_outside();
4343
4342
  const gtr = (version, range, options) => outside(version, range, ">", options);
4344
4343
  module.exports = gtr;
4345
4344
  }));
4346
4345
  //#endregion
4347
4346
  //#region ../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/ranges/ltr.js
4348
- var require_ltr = /* @__PURE__ */ __commonJSMin(((exports, module) => {
4347
+ var require_ltr = /* @__PURE__ */ __commonJSMin$1(((exports, module) => {
4349
4348
  const outside = require_outside();
4350
4349
  const ltr = (version, range, options) => outside(version, range, "<", options);
4351
4350
  module.exports = ltr;
4352
4351
  }));
4353
4352
  //#endregion
4354
4353
  //#region ../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/ranges/intersects.js
4355
- var require_intersects = /* @__PURE__ */ __commonJSMin(((exports, module) => {
4354
+ var require_intersects = /* @__PURE__ */ __commonJSMin$1(((exports, module) => {
4356
4355
  const Range = require_range();
4357
4356
  const intersects = (r1, r2, options) => {
4358
4357
  r1 = new Range(r1, options);
@@ -4363,7 +4362,7 @@ var require_intersects = /* @__PURE__ */ __commonJSMin(((exports, module) => {
4363
4362
  }));
4364
4363
  //#endregion
4365
4364
  //#region ../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/ranges/simplify.js
4366
- var require_simplify = /* @__PURE__ */ __commonJSMin(((exports, module) => {
4365
+ var require_simplify = /* @__PURE__ */ __commonJSMin$1(((exports, module) => {
4367
4366
  const satisfies = require_satisfies();
4368
4367
  const compare = require_compare();
4369
4368
  module.exports = (versions, range, options) => {
@@ -4393,7 +4392,7 @@ var require_simplify = /* @__PURE__ */ __commonJSMin(((exports, module) => {
4393
4392
  }));
4394
4393
  //#endregion
4395
4394
  //#region ../../node_modules/.pnpm/semver@7.8.1/node_modules/semver/ranges/subset.js
4396
- var require_subset = /* @__PURE__ */ __commonJSMin(((exports, module) => {
4395
+ var require_subset = /* @__PURE__ */ __commonJSMin$1(((exports, module) => {
4397
4396
  const Range = require_range();
4398
4397
  const Comparator = require_comparator();
4399
4398
  const { ANY } = Comparator;
@@ -4492,7 +4491,7 @@ var require_subset = /* @__PURE__ */ __commonJSMin(((exports, module) => {
4492
4491
  }));
4493
4492
  //#endregion
4494
4493
  //#region src/dependencies/dependencies.ts
4495
- var import_semver = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exports, module) => {
4494
+ var import_semver = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin$1(((exports, module) => {
4496
4495
  const internalRe = require_re();
4497
4496
  const constants = require_constants();
4498
4497
  const SemVer = require_semver$1();
@@ -6921,6 +6920,82 @@ function addEntry(config, key, entry) {
6921
6920
  };
6922
6921
  }
6923
6922
  //#endregion
6923
+ //#region src/compile/invisible.ts
6924
+ /** Invisible characters in compiled output (issue #190).
6925
+ *
6926
+ * A bundler prints a dependency's `'\u{FEFF}'` as the raw character, so a committed script holds
6927
+ * code points a reader cannot see — the ones skill checks reject because they can hide
6928
+ * instructions. Inside a string, template or regular-expression literal the character can be
6929
+ * written as an escape with the same meaning; anywhere else it can only be reported. */
6930
+ /** Controls, format characters (zero-width, bidirectional, BOM, soft hyphen, tags), line and paragraph
6931
+ * separators, and default-ignorable code points such as variation selectors. Tab, line feed and
6932
+ * carriage return are ordinary whitespace. */
6933
+ const INVISIBLE = /[\p{Cc}\p{Cf}\p{Zl}\p{Zp}\p{Default_Ignorable_Code_Point}]/u;
6934
+ function isInvisible(char) {
6935
+ return char !== " " && char !== "\n" && char !== "\r" && INVISIBLE.test(char);
6936
+ }
6937
+ /** `\uXXXX` per UTF-16 code unit — valid in strings, templates and regular expressions, with or
6938
+ * without the `u` flag (a surrogate pair of escapes reads as one code point under `u`). */
6939
+ function escapeChar(char) {
6940
+ let out = "";
6941
+ for (let i = 0; i < char.length; i++) out += `\\u${char.charCodeAt(i).toString(16).toUpperCase().padStart(4, "0")}`;
6942
+ return out;
6943
+ }
6944
+ /** Rewrites every invisible character inside `spans` as an escape that keeps the literal's value. */
6945
+ function escapeInvisible(code, spans) {
6946
+ const sorted = [...spans].sort((a, b) => a.start - b.start);
6947
+ let out = "";
6948
+ let copied = 0;
6949
+ for (const span of sorted) {
6950
+ if (span.start < copied) continue;
6951
+ out += code.slice(copied, span.start);
6952
+ out += escapeSpan(code.slice(span.start, span.end), span.kind);
6953
+ copied = span.end;
6954
+ }
6955
+ return out + code.slice(copied);
6956
+ }
6957
+ function escapeSpan(text, kind) {
6958
+ let out = "";
6959
+ let i = 0;
6960
+ while (i < text.length) {
6961
+ const char = String.fromCodePoint(text.codePointAt(i));
6962
+ if (char !== "\\") {
6963
+ out += isInvisible(char) ? escapeChar(char) : char;
6964
+ i += char.length;
6965
+ continue;
6966
+ }
6967
+ const next = i + 1 < text.length ? String.fromCodePoint(text.codePointAt(i + 1)) : "";
6968
+ i += 1 + next.length;
6969
+ if (!isInvisible(next)) out += `\\${next}`;
6970
+ else if (kind !== "regex" && (next === "\u2028" || next === "\u2029")) continue;
6971
+ else out += escapeChar(next);
6972
+ }
6973
+ return out;
6974
+ }
6975
+ /** Every invisible character left in `code`, 1-based line and column, for the build to warn about. */
6976
+ function findInvisible(code) {
6977
+ const found = [];
6978
+ let line = 1;
6979
+ let column = 1;
6980
+ for (const char of code) {
6981
+ if (char === "\n") {
6982
+ line++;
6983
+ column = 1;
6984
+ continue;
6985
+ }
6986
+ if (isInvisible(char)) found.push({
6987
+ line,
6988
+ column,
6989
+ codePoint: char.codePointAt(0)
6990
+ });
6991
+ column++;
6992
+ }
6993
+ return found;
6994
+ }
6995
+ function formatCodePoint(codePoint) {
6996
+ return `U+${codePoint.toString(16).toUpperCase().padStart(4, "0")}`;
6997
+ }
6998
+ //#endregion
6924
6999
  //#region src/compile/scripts.ts
6925
7000
  /** The global the header assigns the script data to. Framework-neutral: a script's own code, or the
6926
7001
  * library it inlines, reads it; universal-plugin depends on neither. */
@@ -6971,18 +7046,23 @@ function parseEntry(output, value) {
6971
7046
  source: value
6972
7047
  };
6973
7048
  if (value === null || typeof value !== "object" || Array.isArray(value)) return `scripts "${output}" must map to a source path or { source, command }`;
6974
- const { source, command } = value;
7049
+ const { source, command, alias, keepNames } = value;
6975
7050
  if (typeof source !== "string" || source.length === 0) return `scripts "${output}" has no source`;
6976
7051
  if (command !== void 0 && (typeof command !== "string" || command.trim().length === 0)) return `scripts "${output}" has a command that is not a command path`;
6977
- return command === void 0 ? {
6978
- output: normalized,
6979
- source
6980
- } : {
7052
+ if (alias !== void 0 && !isStringMap(alias)) return `scripts "${output}" has an alias that is not a map from import specifier to replacement`;
7053
+ if (keepNames !== void 0 && typeof keepNames !== "boolean") return `scripts "${output}" has a keepNames that is not true or false`;
7054
+ return {
6981
7055
  output: normalized,
6982
7056
  source,
6983
- command: command.trim().split(/\s+/).join(" ")
7057
+ ...command === void 0 ? {} : { command: command.trim().split(/\s+/).join(" ") },
7058
+ ...alias === void 0 ? {} : { alias },
7059
+ ...keepNames === void 0 ? {} : { keepNames }
6984
7060
  };
6985
7061
  }
7062
+ function isStringMap(value) {
7063
+ if (value === null || typeof value !== "object" || Array.isArray(value)) return false;
7064
+ return Object.entries(value).every(([k, v]) => k.length > 0 && typeof v === "string" && v.length > 0);
7065
+ }
6986
7066
  /** A `/`-separated path relative to the plugin root, without `./`; `null` when it is absolute or
6987
7067
  * climbs out of the root. */
6988
7068
  function normalizeRelative(p) {
@@ -7102,7 +7182,7 @@ async function compileScripts(root, opts, compiler) {
7102
7182
  entry: entry.output,
7103
7183
  commands
7104
7184
  };
7105
- content = composeScript(await compiler.compile(sourcePath, root), entry, data);
7185
+ content = composeScript(await compiler.compile(sourcePath, root, bundleOptions(entry)), entry, data);
7106
7186
  } catch (err) {
7107
7187
  warnings.push(`Failed to compile ${entry.source} → ${entry.output}: ${err instanceof Error ? err.message : String(err)}`);
7108
7188
  rows.push({
@@ -7115,6 +7195,8 @@ async function compileScripts(root, opts, compiler) {
7115
7195
  const bytes = Buffer.byteLength(content);
7116
7196
  const overBudget = sizeWarning(entry.output, bytes, bin);
7117
7197
  if (overBudget !== null) warnings.push(overBudget);
7198
+ const hidden = findInvisible(content);
7199
+ if (hidden.length > 0) warnings.push(invisibleWarning(entry.output, hidden));
7118
7200
  const comparison = compareScript(fs$1.existsSync(outputPath) ? fs$1.readFileSync(outputPath, "utf8") : null, content);
7119
7201
  if (opts.dryRun || comparison === "unchanged") {
7120
7202
  rows.push({
@@ -7142,6 +7224,19 @@ async function compileScripts(root, opts, compiler) {
7142
7224
  summary: summarize(rows)
7143
7225
  };
7144
7226
  }
7227
+ /** The bundle options the entry sets, and none it does not. */
7228
+ function bundleOptions({ alias, keepNames }) {
7229
+ return {
7230
+ ...alias === void 0 ? {} : { alias },
7231
+ ...keepNames === void 0 ? {} : { keepNames }
7232
+ };
7233
+ }
7234
+ /** The compiler escapes invisible characters inside literals; one left elsewhere (a comment, an
7235
+ * identifier, a tagged template) is named so the author can find it before a skill check does. */
7236
+ function invisibleWarning(output, hidden) {
7237
+ const [first] = hidden;
7238
+ return `${`${output}:${first?.line}:${first?.column} ${formatCodePoint(first?.codePoint ?? 0)}`}${hidden.length > 1 ? ` and ${hidden.length - 1} more` : ""}: invisible character in the compiled script that the build could not escape — skill checks reject it; write it as an escape in a string literal in the source`;
7239
+ }
7145
7240
  /** The `package.json` at `packagePath` (`.agents/universal-plugin.json`), which names the package and
7146
7241
  * bin a script falls back to; `null` when the plugin ships to no package. Its version is never read. */
7147
7242
  function readPackageJson(root) {
@@ -7161,43 +7256,213 @@ function summarize(rows) {
7161
7256
  };
7162
7257
  }
7163
7258
  //#endregion
7259
+ //#region src/compile/main-guard.ts
7260
+ /** A script's main guard runs its CLI only when the script is the process's main module. Once a
7261
+ * compile inlines one script into another, every inlined module shares the output file's
7262
+ * `import.meta.url`, so every inlined guard would pass and every inlined CLI would run (issue #192).
7263
+ * The compile keeps the entry's guard and turns the others to `false`.
7264
+ *
7265
+ * Recognized forms:
7266
+ * - `import.meta.main`
7267
+ * - `import.meta.url === pathToFileURL(…).href`, either side, `==` or `===`
7268
+ * - `fileURLToPath(import.meta.url) === …` or `… === fileURLToPath(import.meta.url)` where `…` is
7269
+ * `process.argv[1]` or a call around it, such as `realpathSync(process.argv[1])` */
7270
+ const ARGS = String.raw`\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\)`;
7271
+ const META_URL = String.raw`import\.meta\.url`;
7272
+ const EQ = String.raw`\s*===?\s*`;
7273
+ const TO_FILE_URL = String.raw`(?:\w+\.)?pathToFileURL${ARGS}\.href`;
7274
+ const FROM_META_URL = String.raw`(?:\w+\.)?fileURLToPath\(\s*${META_URL}\s*\)`;
7275
+ const ARGV = String.raw`process\.argv\[1\]`;
7276
+ const CALL = String.raw`[\w.]+\(\s*`;
7277
+ const ARGV1 = String.raw`(?:${CALL}${CALL}${ARGV}\s*\)\s*\)|${CALL}${ARGV}\s*\)|${ARGV})`;
7278
+ const GUARDS = new RegExp([
7279
+ `${META_URL}${EQ}${TO_FILE_URL}`,
7280
+ `${TO_FILE_URL}${EQ}${META_URL}`,
7281
+ `${FROM_META_URL}${EQ}${ARGV1}`,
7282
+ `${ARGV1}${EQ}${FROM_META_URL}`,
7283
+ String.raw`import\.meta\.main\b`
7284
+ ].join("|"), "g");
7285
+ /** The code with every recognized main guard replaced by `false`, or `undefined` when it has none. */
7286
+ function neutralizeMainGuards(code) {
7287
+ const out = code.replace(GUARDS, "false");
7288
+ return out === code ? void 0 : out;
7289
+ }
7290
+ //#endregion
7291
+ //#region src/compile/tsconfig-diagnosis.ts
7292
+ const failedTsconfig = /Failed to load tsconfig '([^']+)'/;
7293
+ /** The `extends` specifier rolldown could not load, or undefined when the error is not a tsconfig
7294
+ * failure. */
7295
+ function failedExtends(error) {
7296
+ return failedTsconfig.exec(error instanceof Error ? error.message : String(error))?.[1];
7297
+ }
7298
+ function readTsconfig(file) {
7299
+ try {
7300
+ const text = fs$1.readFileSync(file, "utf8").replace(/("(?:[^"\\]|\\.)*")|\/\/[^\n]*|\/\*[\s\S]*?\*\//g, (_m, str) => str ?? "").replace(/,(\s*[}\]])/g, "$1");
7301
+ return JSON.parse(text);
7302
+ } catch {
7303
+ return;
7304
+ }
7305
+ }
7306
+ function referenceFile(from, ref) {
7307
+ const target = path$1.resolve(path$1.dirname(from), ref);
7308
+ return target.endsWith(".json") ? target : path$1.join(target, "tsconfig.json");
7309
+ }
7310
+ function localExtends(from, spec) {
7311
+ for (const candidate of [spec, `${spec}.json`]) {
7312
+ const file = path$1.resolve(path$1.dirname(from), candidate);
7313
+ if (fs$1.existsSync(file) && fs$1.statSync(file).isFile()) return file;
7314
+ }
7315
+ }
7316
+ /** Finds the tsconfig file that declares `spec` in `extends`, walking the tsconfig the entry falls
7317
+ * under: its `extends` chain and its project `references`. */
7318
+ function findExtendsOwner(entry, spec) {
7319
+ let dir = path$1.dirname(entry);
7320
+ let start;
7321
+ for (;;) {
7322
+ const candidate = path$1.join(dir, "tsconfig.json");
7323
+ if (fs$1.existsSync(candidate)) {
7324
+ start = candidate;
7325
+ break;
7326
+ }
7327
+ const parent = path$1.dirname(dir);
7328
+ if (parent === dir) return void 0;
7329
+ dir = parent;
7330
+ }
7331
+ const seen = /* @__PURE__ */ new Set();
7332
+ const visit = (file) => {
7333
+ if (seen.has(file)) return void 0;
7334
+ seen.add(file);
7335
+ const config = readTsconfig(file);
7336
+ if (!config) return void 0;
7337
+ const extended = [config.extends ?? []].flat();
7338
+ if (extended.includes(spec)) return file;
7339
+ for (const e of extended) {
7340
+ const next = e.startsWith(".") ? localExtends(file, e) : void 0;
7341
+ const found = next && visit(next);
7342
+ if (found) return found;
7343
+ }
7344
+ for (const ref of config.references ?? []) {
7345
+ const found = visit(referenceFile(file, ref.path));
7346
+ if (found) return found;
7347
+ }
7348
+ };
7349
+ return visit(start);
7350
+ }
7351
+ /** Explains a tsconfig failure: names the file and the `extends` path, and the usual fix. */
7352
+ function explainTsconfigFailure(entry, root, spec) {
7353
+ const owner = findExtendsOwner(entry, spec);
7354
+ return `${owner ? `${path$1.relative(root, owner) || path$1.basename(owner)} extends` : "a tsconfig extends"} "${spec}", which rolldown could not load.${spec.endsWith(".json") ? "" : " Add the `.json` extension to it: rolldown, unlike tsc, does not resolve an `extends` without one."}`;
7355
+ }
7356
+ //#endregion
7164
7357
  //#region src/compile/rolldown.ts
7358
+ /** Keeps only the entry's main guard, so an entry that imports another script runs one CLI. */
7359
+ function onlyEntryMain() {
7360
+ return {
7361
+ name: "universal-plugin:only-entry-main",
7362
+ transform(code, id) {
7363
+ if (this.getModuleInfo(id)?.isEntry) return null;
7364
+ const out = neutralizeMainGuards(code);
7365
+ return out === void 0 ? null : { code: out };
7366
+ }
7367
+ };
7368
+ }
7165
7369
  /** Compiles an entry with rolldown, the engine under tsdown. Node built-ins stay imports; everything
7166
7370
  * else is inlined, so the file runs from a skill folder with no `node_modules` beside it.
7167
7371
  *
7168
7372
  * An entry that inlines only its own source keeps readable output — in effect its types are
7169
7373
  * stripped. One that inlines a dependency is minified, because that is the code the size budget is
7170
- * for. rolldown is loaded only when a plugin declares a script. */
7171
- const rolldownCompiler = { async compile(sourcePath, root) {
7374
+ * for. rolldown is loaded only when a plugin declares a script.
7375
+ *
7376
+ * An entry's `alias` becomes `resolve.alias`, with a relative target resolved from the plugin root;
7377
+ * its `keepNames` is passed to both outputs, so minifying keeps the names too. */
7378
+ const rolldownCompiler = { async compile(sourcePath, root, options = {}) {
7172
7379
  const { rolldown } = await import("rolldown");
7173
7380
  const unresolved = [];
7381
+ const alias = resolveAlias(options, root);
7382
+ const output = {
7383
+ format: "esm",
7384
+ codeSplitting: false,
7385
+ keepNames: options.keepNames ?? false
7386
+ };
7174
7387
  const bundle = await rolldown({
7175
7388
  input: sourcePath,
7176
7389
  cwd: root,
7177
7390
  platform: "node",
7391
+ plugins: [onlyEntryMain()],
7392
+ ...alias === void 0 ? {} : { resolve: { alias } },
7178
7393
  onLog(_level, log) {
7179
7394
  if (log.code === "UNRESOLVED_IMPORT") unresolved.push(log.message);
7180
7395
  }
7181
7396
  });
7182
7397
  try {
7183
7398
  if (unresolved.length > 0) throw new Error(unresolved.join("\n"));
7184
- const [chunk, ...rest] = (await bundle.generate({
7185
- format: "esm",
7186
- codeSplitting: false
7187
- })).output;
7399
+ const [chunk, ...rest] = (await bundle.generate(output)).output;
7188
7400
  if (chunk?.type !== "chunk" || rest.some((o) => o.type === "chunk")) throw new Error("compiles to more than one file");
7189
- const external = [...chunk.imports, ...chunk.dynamicImports].filter((id) => !isBuiltin(id));
7401
+ const external = [...chunk.imports, ...chunk.dynamicImports].filter((id) => !isBuiltin(id) && id !== chunk.fileName);
7190
7402
  if (external.length > 0) throw new Error(`imports ${external.join(", ")}, which could not be inlined — install it where the plugin root resolves it`);
7191
- if (!chunk.moduleIds.some((id) => id.split(path$1.sep).includes("node_modules"))) return chunk.code;
7192
- return (await bundle.generate({
7193
- format: "esm",
7194
- codeSplitting: false,
7403
+ if (!chunk.moduleIds.some((id) => id.split(path$1.sep).includes("node_modules"))) return await escapeLiterals(chunk.code);
7404
+ return await escapeLiterals((await bundle.generate({
7405
+ ...output,
7195
7406
  minify: true
7196
- })).output[0].code;
7407
+ })).output[0].code);
7408
+ } catch (error) {
7409
+ const spec = failedExtends(error);
7410
+ throw spec ? new Error(explainTsconfigFailure(sourcePath, root, spec), { cause: error }) : error;
7197
7411
  } finally {
7198
7412
  await bundle.close();
7199
7413
  }
7200
7414
  } };
7415
+ /** The entry's alias with each relative target (`./`, `../`) made absolute from the plugin root, so it
7416
+ * does not depend on where rolldown resolves from; `undefined` when the entry sets none. */
7417
+ function resolveAlias({ alias }, root) {
7418
+ if (alias === void 0 || Object.keys(alias).length === 0) return void 0;
7419
+ return Object.fromEntries(Object.entries(alias).map(([from, to]) => [from, /^\.\.?\//.test(to) ? path$1.resolve(root, to) : to]));
7420
+ }
7421
+ /** rolldown prints a dependency's escaped invisible characters raw (issue #190); this writes them back
7422
+ * as escapes inside every string, untagged template and regular-expression literal. */
7423
+ async function escapeLiterals(code) {
7424
+ if (![...code].some(isInvisible)) return code;
7425
+ const { parseAst } = await import("rolldown/parseAst");
7426
+ const spans = [];
7427
+ collectSpans(parseAst(code), spans);
7428
+ return escapeInvisible(code, spans);
7429
+ }
7430
+ function isNode(value) {
7431
+ return typeof value === "object" && value !== null && typeof value.type === "string";
7432
+ }
7433
+ function collectSpans(node, spans) {
7434
+ if (node.type === "Literal") {
7435
+ if (typeof node["value"] === "string") spans.push({
7436
+ start: node.start,
7437
+ end: node.end,
7438
+ kind: "string"
7439
+ });
7440
+ else if (node["regex"] !== void 0) spans.push({
7441
+ start: node.start,
7442
+ end: node.end,
7443
+ kind: "regex"
7444
+ });
7445
+ return;
7446
+ }
7447
+ if (node.type === "TaggedTemplateExpression") {
7448
+ visit(node["tag"], spans);
7449
+ for (const expression of node["quasi"]["expressions"]) collectSpans(expression, spans);
7450
+ return;
7451
+ }
7452
+ if (node.type === "TemplateElement") {
7453
+ spans.push({
7454
+ start: node.start,
7455
+ end: node.end,
7456
+ kind: "template"
7457
+ });
7458
+ return;
7459
+ }
7460
+ for (const [key, value] of Object.entries(node)) if (key !== "parent") visit(value, spans);
7461
+ }
7462
+ function visit(value, spans) {
7463
+ if (Array.isArray(value)) for (const item of value) visit(item, spans);
7464
+ else if (isNode(value)) collectSpans(value, spans);
7465
+ }
7201
7466
  //#endregion
7202
7467
  //#region ../../node_modules/.pnpm/@toon-format+toon@4.1.1/node_modules/@toon-format/toon/dist/index.mjs
7203
7468
  const NULL_LITERAL = "null";
@@ -7785,16 +8050,17 @@ function nextStep$1(result, cwd) {
7785
8050
  }
7786
8051
  function buildCommand() {
7787
8052
  const cmd = new Command("build").description("Generate vendor manifests from plugin.json");
7788
- cmd.option("--vendor <id>", "Build only the named vendor").option("--dry-run", "Print what would be written without writing").option("--verbose", "Print field-by-field transformation decisions").option("--clean", "Delete generated manifests before building").option("--strict-dependencies", "Fail when a refreshed catalog cannot resolve a declared dependency").option("--format <format>", "Output format: json or toon (default: toon)").addOption(new Option("--json").hideHelp()).addOption(ROOT_OPTION).addHelpText("after", "\nExample:\n $ universal-plugin plugin build --vendor claude-code\n").action(async (opts) => {
8053
+ cmd.option("--vendor <id>", "Build only the named vendor").option("--dry-run", "Print what would be written without writing").option("--check", "Write nothing; exit 1 when a compiled script is missing, stale, or on another version").option("--verbose", "Print field-by-field transformation decisions").option("--clean", "Delete generated manifests before building").option("--strict-dependencies", "Fail when a refreshed catalog cannot resolve a declared dependency").option("--format <format>", "Output format: json or toon (default: toon)").addOption(new Option("--json").hideHelp()).addOption(ROOT_OPTION).addHelpText("after", "\nExample:\n $ universal-plugin plugin build --vendor claude-code\n").action(async (opts) => {
7789
8054
  try {
7790
8055
  const root = resolveRoot(opts.root);
8056
+ const dryRun = opts.dryRun || opts.check;
7791
8057
  const result = buildPlugin(root, {
7792
8058
  vendor: opts.vendor,
7793
- dryRun: opts.dryRun,
8059
+ dryRun,
7794
8060
  verbose: opts.verbose,
7795
8061
  clean: opts.clean
7796
8062
  });
7797
- const scripts = await compileScripts(root, { dryRun: opts.dryRun }, rolldownCompiler);
8063
+ const scripts = await compileScripts(root, { dryRun }, rolldownCompiler);
7798
8064
  for (const warning of [...result.warnings, ...scripts.warnings]) process.stderr.write(`warn: ${warning}\n`);
7799
8065
  const { built, skipped, failed, canonical } = result.summary;
7800
8066
  const jsonResult = {
@@ -7829,6 +8095,11 @@ function buildCommand() {
7829
8095
  });
7830
8096
  process.stderr.write(nextStep$1(result, process.cwd()));
7831
8097
  if (failed > 0 || scripts.summary.failed > 0) process.exitCode = 1;
8098
+ if (opts.check && scripts.summary.behind > 0) {
8099
+ const behind = scripts.rows.filter((r) => r.status === "missing" || r.status === "stale" || r.status === "version").map((r) => `${r.path} (${r.status})`);
8100
+ process.stderr.write(`error: ${behind.length} compiled ${behind.length === 1 ? "script is" : "scripts are"} behind: ${behind.join(", ")} — run "universal-plugin plugin build" and commit the result (--check)\n`);
8101
+ process.exitCode = 1;
8102
+ }
7832
8103
  if (opts.strictDependencies && result.dependencyIssues.length > 0) {
7833
8104
  process.stderr.write(`error: ${result.dependencyIssues.length} declared ${result.dependencyIssues.length === 1 ? "dependency" : "dependencies"} cannot be resolved through the refreshed catalogs (--strict-dependencies)\n`);
7834
8105
  process.exitCode = 1;
@@ -8982,127 +9253,392 @@ function initCommand$1(deps = { fs: realInitFs }) {
8982
9253
  return cmd;
8983
9254
  }
8984
9255
  //#endregion
8985
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/nodes/identity.js
8986
- var require_identity = /* @__PURE__ */ __commonJSMin(((exports) => {
8987
- const ALIAS = Symbol.for("yaml.alias");
8988
- const DOC = Symbol.for("yaml.document");
8989
- const MAP = Symbol.for("yaml.map");
8990
- const PAIR = Symbol.for("yaml.pair");
8991
- const SCALAR = Symbol.for("yaml.scalar");
8992
- const SEQ = Symbol.for("yaml.seq");
8993
- const NODE_TYPE = Symbol.for("yaml.node.type");
8994
- const isAlias = (node) => !!node && typeof node === "object" && node[NODE_TYPE] === ALIAS;
8995
- const isDocument = (node) => !!node && typeof node === "object" && node[NODE_TYPE] === DOC;
8996
- const isMap = (node) => !!node && typeof node === "object" && node[NODE_TYPE] === MAP;
8997
- const isPair = (node) => !!node && typeof node === "object" && node[NODE_TYPE] === PAIR;
8998
- const isScalar = (node) => !!node && typeof node === "object" && node[NODE_TYPE] === SCALAR;
8999
- const isSeq = (node) => !!node && typeof node === "object" && node[NODE_TYPE] === SEQ;
9000
- function isCollection(node) {
9001
- if (node && typeof node === "object") switch (node[NODE_TYPE]) {
9002
- case MAP:
9003
- case SEQ: return true;
9004
- }
9005
- return false;
9006
- }
9007
- function isNode(node) {
9008
- if (node && typeof node === "object") switch (node[NODE_TYPE]) {
9009
- case ALIAS:
9010
- case MAP:
9011
- case SCALAR:
9012
- case SEQ: return true;
9013
- }
9014
- return false;
9015
- }
9016
- const hasAnchor = (node) => (isScalar(node) || isCollection(node)) && !!node.anchor;
9017
- exports.ALIAS = ALIAS;
9018
- exports.DOC = DOC;
9019
- exports.MAP = MAP;
9020
- exports.NODE_TYPE = NODE_TYPE;
9021
- exports.PAIR = PAIR;
9022
- exports.SCALAR = SCALAR;
9023
- exports.SEQ = SEQ;
9024
- exports.hasAnchor = hasAnchor;
9025
- exports.isAlias = isAlias;
9026
- exports.isCollection = isCollection;
9027
- exports.isDocument = isDocument;
9028
- exports.isMap = isMap;
9029
- exports.isNode = isNode;
9030
- exports.isPair = isPair;
9031
- exports.isScalar = isScalar;
9032
- exports.isSeq = isSeq;
9033
- }));
9034
- //#endregion
9035
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/visit.js
9036
- var require_visit = /* @__PURE__ */ __commonJSMin(((exports) => {
9037
- var identity = require_identity();
9038
- const BREAK = Symbol("break visit");
9039
- const SKIP = Symbol("skip children");
9040
- const REMOVE = Symbol("remove node");
9041
- /**
9042
- * Apply a visitor to an AST node or document.
9043
- *
9044
- * Walks through the tree (depth-first) starting from `node`, calling a
9045
- * `visitor` function with three arguments:
9046
- * - `key`: For sequence values and map `Pair`, the node's index in the
9047
- * collection. Within a `Pair`, `'key'` or `'value'`, correspondingly.
9048
- * `null` for the root node.
9049
- * - `node`: The current node.
9050
- * - `path`: The ancestry of the current node.
9051
- *
9052
- * The return value of the visitor may be used to control the traversal:
9053
- * - `undefined` (default): Do nothing and continue
9054
- * - `visit.SKIP`: Do not visit the children of this node, continue with next
9055
- * sibling
9056
- * - `visit.BREAK`: Terminate traversal completely
9057
- * - `visit.REMOVE`: Remove the current node, then continue with the next one
9058
- * - `Node`: Replace the current node, then continue by visiting it
9059
- * - `number`: While iterating the items of a sequence or map, set the index
9060
- * of the next step. This is useful especially if the index of the current
9061
- * node has changed.
9062
- *
9063
- * If `visitor` is a single function, it will be called with all values
9064
- * encountered in the tree, including e.g. `null` values. Alternatively,
9065
- * separate visitor functions may be defined for each `Map`, `Pair`, `Seq`,
9066
- * `Alias` and `Scalar` node. To define the same visitor function for more than
9067
- * one node type, use the `Collection` (map and seq), `Value` (map, seq & scalar)
9068
- * and `Node` (alias, map, seq & scalar) targets. Of all these, only the most
9069
- * specific defined one will be used for each node.
9070
- */
9071
- function visit(node, visitor) {
9072
- const visitor_ = initVisitor(visitor);
9073
- if (identity.isDocument(node)) {
9074
- if (visit_(null, node.contents, visitor_, Object.freeze([node])) === REMOVE) node.contents = null;
9075
- } else visit_(null, node, visitor_, Object.freeze([]));
9256
+ //#region ../../node_modules/.pnpm/@cyberuni+agent-harness@0.7.0/node_modules/@cyberuni/agent-harness/dist/reference-where-CIcUR8xX.js
9257
+ var __commonJSMin = (cb, mod) => () => (mod || (cb((mod = { exports: {} }).exports, mod), cb = null), mod.exports);
9258
+ var __require = /* #__PURE__ */ (() => createRequire(import.meta.url))();
9259
+ function resolveHarnessEnvironment(environment = {}) {
9260
+ return {
9261
+ env: environment.env ?? process.env,
9262
+ homedir: environment.homedir ?? homedir(),
9263
+ cwd: environment.cwd ?? process.cwd(),
9264
+ platform: environment.platform ?? process.platform
9265
+ };
9266
+ }
9267
+ /**
9268
+ * Where a harness keeps plugins at the user level. Paths are computed, not checked: a location may
9269
+ * not exist until the first plugin is installed.
9270
+ */
9271
+ function pluginStorage(harness, environment = {}) {
9272
+ return storages[harness](resolveHarnessEnvironment(environment));
9273
+ }
9274
+ /** `$XDG_CONFIG_HOME`, else `~/.config`, as the `xdg-basedir` package resolves it. */
9275
+ const xdgConfig = ({ env, homedir }) => env.XDG_CONFIG_HOME || join(homedir, ".config");
9276
+ /** The agent plugin folder of the stable VS Code build, per OS (E-VSC-P3). */
9277
+ function vscodeAgentPlugins({ env, homedir, platform }) {
9278
+ if (platform === "win32") {
9279
+ const configDir = win32.join(env.APPDATA || win32.join(homedir, "AppData", "Roaming"), "Code");
9280
+ return {
9281
+ configDir,
9282
+ path: win32.join(configDir, "agentPlugins")
9283
+ };
9076
9284
  }
9077
- /** Terminate visit traversal completely */
9078
- visit.BREAK = BREAK;
9079
- /** Do not visit the children of the current node */
9080
- visit.SKIP = SKIP;
9081
- /** Remove the current node */
9082
- visit.REMOVE = REMOVE;
9083
- function visit_(key, node, visitor, path) {
9084
- const ctrl = callVisitor(key, node, visitor, path);
9085
- if (identity.isNode(ctrl) || identity.isPair(ctrl)) {
9086
- replaceNode(key, path, ctrl);
9087
- return visit_(key, ctrl, visitor, path);
9088
- }
9089
- if (typeof ctrl !== "symbol") {
9090
- if (identity.isCollection(node)) {
9091
- path = Object.freeze(path.concat(node));
9092
- for (let i = 0; i < node.items.length; ++i) {
9093
- const ci = visit_(i, node.items[i], visitor, path);
9094
- if (typeof ci === "number") i = ci - 1;
9095
- else if (ci === BREAK) return BREAK;
9096
- else if (ci === REMOVE) {
9097
- node.items.splice(i, 1);
9098
- i -= 1;
9099
- }
9285
+ const configDir = platform === "darwin" ? join(homedir, "Library", "Application Support", "Code") : join(homedir, ".config", "Code");
9286
+ return {
9287
+ configDir,
9288
+ path: join(configDir, "agentPlugins")
9289
+ };
9290
+ }
9291
+ const storages = {
9292
+ "claude-code": ({ env, homedir }) => {
9293
+ const configDir = env.CLAUDE_CONFIG_DIR || join(homedir, ".claude");
9294
+ const plugins = join(configDir, "plugins");
9295
+ return {
9296
+ harness: "claude-code",
9297
+ configDir,
9298
+ locations: [
9299
+ {
9300
+ kind: "plugin-cache",
9301
+ path: join(plugins, "cache"),
9302
+ description: "Installed plugins as <marketplace>/<plugin>/<version>/",
9303
+ research: "E-CC-P1"
9304
+ },
9305
+ {
9306
+ kind: "marketplaces",
9307
+ path: join(plugins, "marketplaces"),
9308
+ description: "Marketplace checkouts",
9309
+ research: "E-CC-P1"
9310
+ },
9311
+ {
9312
+ kind: "install-record",
9313
+ path: join(plugins, "installed_plugins.json"),
9314
+ description: "Installs keyed by plugin@marketplace, each with scope, installPath, and version",
9315
+ research: "E-CC-P2"
9316
+ },
9317
+ {
9318
+ kind: "enabled-record",
9319
+ path: join(configDir, "settings.json"),
9320
+ description: "User settings; enabledPlugins maps plugin@marketplace to a boolean",
9321
+ research: "E-CC-P3"
9100
9322
  }
9101
- } else if (identity.isPair(node)) {
9102
- path = Object.freeze(path.concat(node));
9103
- const ck = visit_("key", node.key, visitor, path);
9104
- if (ck === BREAK) return BREAK;
9105
- else if (ck === REMOVE) node.key = null;
9323
+ ]
9324
+ };
9325
+ },
9326
+ cursor: ({ homedir }) => {
9327
+ const configDir = join(homedir, ".cursor");
9328
+ return {
9329
+ harness: "cursor",
9330
+ configDir,
9331
+ locations: [{
9332
+ kind: "local-plugins",
9333
+ path: join(configDir, "plugins", "local"),
9334
+ description: "Plugins under development, one folder each",
9335
+ research: "E-CUR-P2"
9336
+ }, {
9337
+ kind: "marketplaces",
9338
+ path: join(configDir, "plugins", "marketplaces"),
9339
+ description: "Marketplace checkouts",
9340
+ research: "E-CUR-P3"
9341
+ }]
9342
+ };
9343
+ },
9344
+ codex: ({ env, homedir }) => {
9345
+ const configDir = env.CODEX_HOME || join(homedir, ".codex");
9346
+ return {
9347
+ harness: "codex",
9348
+ configDir,
9349
+ locations: [{
9350
+ kind: "plugin-cache",
9351
+ path: join(configDir, "plugins", "cache"),
9352
+ description: "Installed plugins as <marketplace>/<plugin>/<version>/",
9353
+ research: "E-CODEX-P3"
9354
+ }, {
9355
+ kind: "enabled-record",
9356
+ path: join(configDir, "config.toml"),
9357
+ description: "User config; [plugins.\"<plugin>@<marketplace>\"] tables carry enabled = <bool>",
9358
+ research: "E-CODEX-P2"
9359
+ }]
9360
+ };
9361
+ },
9362
+ "copilot-cli": ({ env, homedir }) => {
9363
+ const configDir = env.COPILOT_HOME || join(homedir, ".copilot");
9364
+ return {
9365
+ harness: "copilot-cli",
9366
+ configDir,
9367
+ locations: [
9368
+ {
9369
+ kind: "installed-plugins",
9370
+ path: join(configDir, "installed-plugins"),
9371
+ description: "Installed plugins as <marketplace>/<plugin>/, or _direct/<source-id>/ for direct installs",
9372
+ research: "E-COPILOT-P9"
9373
+ },
9374
+ {
9375
+ kind: "install-record",
9376
+ path: join(configDir, "config.json"),
9377
+ description: "Application state, including installedPlugins",
9378
+ research: "E-COPILOT-P9"
9379
+ },
9380
+ {
9381
+ kind: "enabled-record",
9382
+ path: join(configDir, "settings.json"),
9383
+ description: "User settings (JSON with comments); enabledPlugins maps plugin specs to a boolean",
9384
+ research: "E-COPILOT-P4"
9385
+ }
9386
+ ]
9387
+ };
9388
+ },
9389
+ opencode: (environment) => {
9390
+ const configDir = join(xdgConfig(environment), "opencode");
9391
+ return {
9392
+ harness: "opencode",
9393
+ configDir,
9394
+ locations: [{
9395
+ kind: "local-plugins",
9396
+ path: join(configDir, "plugins"),
9397
+ description: "JS/TS plugin modules loaded at startup; npm plugins are named in the plugin config array",
9398
+ research: "E-OC-P2"
9399
+ }]
9400
+ };
9401
+ },
9402
+ kilo: (environment) => {
9403
+ const configDir = join(xdgConfig(environment), "kilo");
9404
+ return {
9405
+ harness: "kilo",
9406
+ configDir,
9407
+ locations: [{
9408
+ kind: "local-plugins",
9409
+ path: join(configDir, "plugin"),
9410
+ description: "JS/TS plugin modules loaded at startup; npm plugins are named in the plugin config array",
9411
+ research: "E-KILO-P2"
9412
+ }]
9413
+ };
9414
+ },
9415
+ "gemini-cli": ({ env, homedir }) => {
9416
+ const configDir = join(env.GEMINI_CLI_HOME || homedir, ".gemini");
9417
+ const extensions = join(configDir, "extensions");
9418
+ return {
9419
+ harness: "gemini-cli",
9420
+ configDir,
9421
+ locations: [{
9422
+ kind: "installed-plugins",
9423
+ path: extensions,
9424
+ description: "Installed extensions, one folder each with a gemini-extension.json manifest",
9425
+ research: "E-GEM-P1"
9426
+ }, {
9427
+ kind: "enabled-record",
9428
+ path: join(extensions, "extension-enablement.json"),
9429
+ description: "Per-extension path-glob overrides that enable or disable it by folder, not a boolean",
9430
+ research: "E-GEM-P3"
9431
+ }]
9432
+ };
9433
+ },
9434
+ "qwen-code": ({ env, homedir }) => {
9435
+ const configDir = env.QWEN_HOME || join(homedir, ".qwen");
9436
+ const extensions = join(configDir, "extensions");
9437
+ return {
9438
+ harness: "qwen-code",
9439
+ configDir,
9440
+ locations: [{
9441
+ kind: "installed-plugins",
9442
+ path: extensions,
9443
+ description: "Installed extensions, one folder each with a qwen-extension.json manifest",
9444
+ research: "E-QWEN-P1"
9445
+ }, {
9446
+ kind: "enabled-record",
9447
+ path: join(extensions, "extension-enablement.json"),
9448
+ description: "Extension enable/disable state, inherited from Gemini CLI's format",
9449
+ research: "E-QWEN-P2"
9450
+ }]
9451
+ };
9452
+ },
9453
+ "vscode-copilot": (environment) => {
9454
+ const { configDir, path } = vscodeAgentPlugins(environment);
9455
+ return {
9456
+ harness: "vscode-copilot",
9457
+ configDir,
9458
+ locations: [{
9459
+ kind: "installed-plugins",
9460
+ path,
9461
+ description: "Installed agent plugins as <host>/<org>/<repo>/",
9462
+ research: "E-VSC-P3"
9463
+ }]
9464
+ };
9465
+ },
9466
+ cline: ({ homedir }) => {
9467
+ const configDir = join(homedir, ".cline");
9468
+ return {
9469
+ harness: "cline",
9470
+ configDir,
9471
+ locations: [{
9472
+ kind: "installed-plugins",
9473
+ path: join(configDir, "plugins", "_installed"),
9474
+ description: "Installed plugins, grouped by source: npm, git, remote, or local",
9475
+ research: "E-CLINE-P3"
9476
+ }]
9477
+ };
9478
+ },
9479
+ crush: ({ env, homedir }) => {
9480
+ return {
9481
+ harness: "crush",
9482
+ configDir: env.CRUSH_GLOBAL_CONFIG || join(env.XDG_CONFIG_HOME || join(homedir, ".config"), "crush"),
9483
+ locations: []
9484
+ };
9485
+ },
9486
+ openhands: ({ env, homedir }) => {
9487
+ const configDir = env.OH_PERSISTENCE_DIR || env.OPENHANDS_PERSISTENCE_DIR || join(homedir, ".openhands");
9488
+ const installed = join(configDir, "plugins", "installed");
9489
+ return {
9490
+ harness: "openhands",
9491
+ configDir,
9492
+ locations: [{
9493
+ kind: "installed-plugins",
9494
+ path: installed,
9495
+ description: "Installed plugins, one folder each",
9496
+ research: "E-OH-P3"
9497
+ }, {
9498
+ kind: "enabled-record",
9499
+ path: join(installed, ".installed.json"),
9500
+ description: "Install metadata keyed by plugin name, each with enabled: <bool>",
9501
+ research: "E-OH-P4"
9502
+ }]
9503
+ };
9504
+ },
9505
+ augment: ({ homedir }) => {
9506
+ const configDir = join(homedir, ".augment");
9507
+ return {
9508
+ harness: "augment",
9509
+ configDir,
9510
+ locations: [{
9511
+ kind: "marketplaces",
9512
+ path: join(configDir, "plugins", "marketplaces"),
9513
+ description: "Marketplace checkouts",
9514
+ research: "E-AUG-P2"
9515
+ }, {
9516
+ kind: "enabled-record",
9517
+ path: join(configDir, "settings.json"),
9518
+ description: "User settings; enabledPlugins maps plugin@marketplace to a boolean",
9519
+ research: "E-AUG-P4"
9520
+ }]
9521
+ };
9522
+ }
9523
+ };
9524
+ var require_identity = /* @__PURE__ */ __commonJSMin(((exports) => {
9525
+ const ALIAS = Symbol.for("yaml.alias");
9526
+ const DOC = Symbol.for("yaml.document");
9527
+ const MAP = Symbol.for("yaml.map");
9528
+ const PAIR = Symbol.for("yaml.pair");
9529
+ const SCALAR = Symbol.for("yaml.scalar");
9530
+ const SEQ = Symbol.for("yaml.seq");
9531
+ const NODE_TYPE = Symbol.for("yaml.node.type");
9532
+ const isAlias = (node) => !!node && typeof node === "object" && node[NODE_TYPE] === ALIAS;
9533
+ const isDocument = (node) => !!node && typeof node === "object" && node[NODE_TYPE] === DOC;
9534
+ const isMap = (node) => !!node && typeof node === "object" && node[NODE_TYPE] === MAP;
9535
+ const isPair = (node) => !!node && typeof node === "object" && node[NODE_TYPE] === PAIR;
9536
+ const isScalar = (node) => !!node && typeof node === "object" && node[NODE_TYPE] === SCALAR;
9537
+ const isSeq = (node) => !!node && typeof node === "object" && node[NODE_TYPE] === SEQ;
9538
+ function isCollection(node) {
9539
+ if (node && typeof node === "object") switch (node[NODE_TYPE]) {
9540
+ case MAP:
9541
+ case SEQ: return true;
9542
+ }
9543
+ return false;
9544
+ }
9545
+ function isNode(node) {
9546
+ if (node && typeof node === "object") switch (node[NODE_TYPE]) {
9547
+ case ALIAS:
9548
+ case MAP:
9549
+ case SCALAR:
9550
+ case SEQ: return true;
9551
+ }
9552
+ return false;
9553
+ }
9554
+ const hasAnchor = (node) => (isScalar(node) || isCollection(node)) && !!node.anchor;
9555
+ exports.ALIAS = ALIAS;
9556
+ exports.DOC = DOC;
9557
+ exports.MAP = MAP;
9558
+ exports.NODE_TYPE = NODE_TYPE;
9559
+ exports.PAIR = PAIR;
9560
+ exports.SCALAR = SCALAR;
9561
+ exports.SEQ = SEQ;
9562
+ exports.hasAnchor = hasAnchor;
9563
+ exports.isAlias = isAlias;
9564
+ exports.isCollection = isCollection;
9565
+ exports.isDocument = isDocument;
9566
+ exports.isMap = isMap;
9567
+ exports.isNode = isNode;
9568
+ exports.isPair = isPair;
9569
+ exports.isScalar = isScalar;
9570
+ exports.isSeq = isSeq;
9571
+ }));
9572
+ var require_visit = /* @__PURE__ */ __commonJSMin(((exports) => {
9573
+ var identity = require_identity();
9574
+ const BREAK = Symbol("break visit");
9575
+ const SKIP = Symbol("skip children");
9576
+ const REMOVE = Symbol("remove node");
9577
+ /**
9578
+ * Apply a visitor to an AST node or document.
9579
+ *
9580
+ * Walks through the tree (depth-first) starting from `node`, calling a
9581
+ * `visitor` function with three arguments:
9582
+ * - `key`: For sequence values and map `Pair`, the node's index in the
9583
+ * collection. Within a `Pair`, `'key'` or `'value'`, correspondingly.
9584
+ * `null` for the root node.
9585
+ * - `node`: The current node.
9586
+ * - `path`: The ancestry of the current node.
9587
+ *
9588
+ * The return value of the visitor may be used to control the traversal:
9589
+ * - `undefined` (default): Do nothing and continue
9590
+ * - `visit.SKIP`: Do not visit the children of this node, continue with next
9591
+ * sibling
9592
+ * - `visit.BREAK`: Terminate traversal completely
9593
+ * - `visit.REMOVE`: Remove the current node, then continue with the next one
9594
+ * - `Node`: Replace the current node, then continue by visiting it
9595
+ * - `number`: While iterating the items of a sequence or map, set the index
9596
+ * of the next step. This is useful especially if the index of the current
9597
+ * node has changed.
9598
+ *
9599
+ * If `visitor` is a single function, it will be called with all values
9600
+ * encountered in the tree, including e.g. `null` values. Alternatively,
9601
+ * separate visitor functions may be defined for each `Map`, `Pair`, `Seq`,
9602
+ * `Alias` and `Scalar` node. To define the same visitor function for more than
9603
+ * one node type, use the `Collection` (map and seq), `Value` (map, seq & scalar)
9604
+ * and `Node` (alias, map, seq & scalar) targets. Of all these, only the most
9605
+ * specific defined one will be used for each node.
9606
+ */
9607
+ function visit(node, visitor) {
9608
+ const visitor_ = initVisitor(visitor);
9609
+ if (identity.isDocument(node)) {
9610
+ if (visit_(null, node.contents, visitor_, Object.freeze([node])) === REMOVE) node.contents = null;
9611
+ } else visit_(null, node, visitor_, Object.freeze([]));
9612
+ }
9613
+ /** Terminate visit traversal completely */
9614
+ visit.BREAK = BREAK;
9615
+ /** Do not visit the children of the current node */
9616
+ visit.SKIP = SKIP;
9617
+ /** Remove the current node */
9618
+ visit.REMOVE = REMOVE;
9619
+ function visit_(key, node, visitor, path) {
9620
+ const ctrl = callVisitor(key, node, visitor, path);
9621
+ if (identity.isNode(ctrl) || identity.isPair(ctrl)) {
9622
+ replaceNode(key, path, ctrl);
9623
+ return visit_(key, ctrl, visitor, path);
9624
+ }
9625
+ if (typeof ctrl !== "symbol") {
9626
+ if (identity.isCollection(node)) {
9627
+ path = Object.freeze(path.concat(node));
9628
+ for (let i = 0; i < node.items.length; ++i) {
9629
+ const ci = visit_(i, node.items[i], visitor, path);
9630
+ if (typeof ci === "number") i = ci - 1;
9631
+ else if (ci === BREAK) return BREAK;
9632
+ else if (ci === REMOVE) {
9633
+ node.items.splice(i, 1);
9634
+ i -= 1;
9635
+ }
9636
+ }
9637
+ } else if (identity.isPair(node)) {
9638
+ path = Object.freeze(path.concat(node));
9639
+ const ck = visit_("key", node.key, visitor, path);
9640
+ if (ck === BREAK) return BREAK;
9641
+ else if (ck === REMOVE) node.key = null;
9106
9642
  const cv = visit_("value", node.value, visitor, path);
9107
9643
  if (cv === BREAK) return BREAK;
9108
9644
  else if (cv === REMOVE) node.value = null;
@@ -9222,8 +9758,6 @@ var require_visit = /* @__PURE__ */ __commonJSMin(((exports) => {
9222
9758
  exports.visit = visit;
9223
9759
  exports.visitAsync = visitAsync;
9224
9760
  }));
9225
- //#endregion
9226
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/doc/directives.js
9227
9761
  var require_directives = /* @__PURE__ */ __commonJSMin(((exports) => {
9228
9762
  var identity = require_identity();
9229
9763
  var visit = require_visit();
@@ -9386,8 +9920,6 @@ var require_directives = /* @__PURE__ */ __commonJSMin(((exports) => {
9386
9920
  Directives.defaultTags = { "!!": "tag:yaml.org,2002:" };
9387
9921
  exports.Directives = Directives;
9388
9922
  }));
9389
- //#endregion
9390
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/doc/anchors.js
9391
9923
  var require_anchors = /* @__PURE__ */ __commonJSMin(((exports) => {
9392
9924
  var identity = require_identity();
9393
9925
  var visit = require_visit();
@@ -9453,8 +9985,6 @@ var require_anchors = /* @__PURE__ */ __commonJSMin(((exports) => {
9453
9985
  exports.createNodeAnchors = createNodeAnchors;
9454
9986
  exports.findNewAnchor = findNewAnchor;
9455
9987
  }));
9456
- //#endregion
9457
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/doc/applyReviver.js
9458
9988
  var require_applyReviver = /* @__PURE__ */ __commonJSMin(((exports) => {
9459
9989
  /**
9460
9990
  * Applies the JSON.parse reviver algorithm as defined in the ECMA-262 spec,
@@ -9495,8 +10025,6 @@ var require_applyReviver = /* @__PURE__ */ __commonJSMin(((exports) => {
9495
10025
  }
9496
10026
  exports.applyReviver = applyReviver;
9497
10027
  }));
9498
- //#endregion
9499
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/nodes/toJS.js
9500
10028
  var require_toJS = /* @__PURE__ */ __commonJSMin(((exports) => {
9501
10029
  var identity = require_identity();
9502
10030
  /**
@@ -9532,8 +10060,6 @@ var require_toJS = /* @__PURE__ */ __commonJSMin(((exports) => {
9532
10060
  }
9533
10061
  exports.toJS = toJS;
9534
10062
  }));
9535
- //#endregion
9536
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/nodes/Node.js
9537
10063
  var require_Node = /* @__PURE__ */ __commonJSMin(((exports) => {
9538
10064
  var applyReviver = require_applyReviver();
9539
10065
  var identity = require_identity();
@@ -9566,8 +10092,6 @@ var require_Node = /* @__PURE__ */ __commonJSMin(((exports) => {
9566
10092
  };
9567
10093
  exports.NodeBase = NodeBase;
9568
10094
  }));
9569
- //#endregion
9570
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/nodes/Alias.js
9571
10095
  var require_Alias = /* @__PURE__ */ __commonJSMin(((exports) => {
9572
10096
  var anchors = require_anchors();
9573
10097
  var visit = require_visit();
@@ -9602,29 +10126,31 @@ var require_Alias = /* @__PURE__ */ __commonJSMin(((exports) => {
9602
10126
  if (node === this) break;
9603
10127
  if (node.anchor === this.source) found = node;
9604
10128
  }
10129
+ if (found && ctx) {
10130
+ const { anchors, doc, maxAliasCount } = ctx;
10131
+ let data = anchors.get(found);
10132
+ if (!data) {
10133
+ toJS.toJS(found, null, ctx);
10134
+ data = anchors.get(found);
10135
+ }
10136
+ /* istanbul ignore if */
10137
+ if (data?.res === void 0) throw new ReferenceError("This should not happen: Alias anchor was not resolved?");
10138
+ if (maxAliasCount >= 0) {
10139
+ data.count += 1;
10140
+ if (data.aliasCount === 0) data.aliasCount = getAliasCount(doc, found, anchors);
10141
+ if (data.count * data.aliasCount > maxAliasCount) throw new ReferenceError("Excessive alias count indicates a resource exhaustion attack");
10142
+ }
10143
+ }
9605
10144
  return found;
9606
10145
  }
9607
10146
  toJSON(_arg, ctx) {
9608
10147
  if (!ctx) return { source: this.source };
9609
- const { anchors, doc, maxAliasCount } = ctx;
9610
- const source = this.resolve(doc, ctx);
10148
+ const source = this.resolve(ctx.doc, ctx);
9611
10149
  if (!source) {
9612
10150
  const msg = `Unresolved alias (the anchor must be set before the alias): ${this.source}`;
9613
10151
  throw new ReferenceError(msg);
9614
10152
  }
9615
- let data = anchors.get(source);
9616
- if (!data) {
9617
- toJS.toJS(source, null, ctx);
9618
- data = anchors.get(source);
9619
- }
9620
- /* istanbul ignore if */
9621
- if (data?.res === void 0) throw new ReferenceError("This should not happen: Alias anchor was not resolved?");
9622
- if (maxAliasCount >= 0) {
9623
- data.count += 1;
9624
- if (data.aliasCount === 0) data.aliasCount = getAliasCount(doc, source, anchors);
9625
- if (data.count * data.aliasCount > maxAliasCount) throw new ReferenceError("Excessive alias count indicates a resource exhaustion attack");
9626
- }
9627
- return data.res;
10153
+ return ctx.anchors.get(source).res;
9628
10154
  }
9629
10155
  toString(ctx, _onComment, _onChompKeep) {
9630
10156
  const src = `*${this.source}`;
@@ -9660,8 +10186,6 @@ var require_Alias = /* @__PURE__ */ __commonJSMin(((exports) => {
9660
10186
  }
9661
10187
  exports.Alias = Alias;
9662
10188
  }));
9663
- //#endregion
9664
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/nodes/Scalar.js
9665
10189
  var require_Scalar = /* @__PURE__ */ __commonJSMin(((exports) => {
9666
10190
  var identity = require_identity();
9667
10191
  var Node = require_Node();
@@ -9687,8 +10211,6 @@ var require_Scalar = /* @__PURE__ */ __commonJSMin(((exports) => {
9687
10211
  exports.Scalar = Scalar;
9688
10212
  exports.isScalarValue = isScalarValue;
9689
10213
  }));
9690
- //#endregion
9691
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/doc/createNode.js
9692
10214
  var require_createNode = /* @__PURE__ */ __commonJSMin(((exports) => {
9693
10215
  var Alias = require_Alias();
9694
10216
  var identity = require_identity();
@@ -9750,8 +10272,6 @@ var require_createNode = /* @__PURE__ */ __commonJSMin(((exports) => {
9750
10272
  }
9751
10273
  exports.createNode = createNode;
9752
10274
  }));
9753
- //#endregion
9754
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/nodes/Collection.js
9755
10275
  var require_Collection = /* @__PURE__ */ __commonJSMin(((exports) => {
9756
10276
  var createNode = require_createNode();
9757
10277
  var identity = require_identity();
@@ -9871,8 +10391,6 @@ var require_Collection = /* @__PURE__ */ __commonJSMin(((exports) => {
9871
10391
  exports.collectionFromPath = collectionFromPath;
9872
10392
  exports.isEmptyPath = isEmptyPath;
9873
10393
  }));
9874
- //#endregion
9875
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/stringify/stringifyComment.js
9876
10394
  var require_stringifyComment = /* @__PURE__ */ __commonJSMin(((exports) => {
9877
10395
  /**
9878
10396
  * Stringifies a comment.
@@ -9891,8 +10409,6 @@ var require_stringifyComment = /* @__PURE__ */ __commonJSMin(((exports) => {
9891
10409
  exports.lineComment = lineComment;
9892
10410
  exports.stringifyComment = stringifyComment;
9893
10411
  }));
9894
- //#endregion
9895
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/stringify/foldFlowLines.js
9896
10412
  var require_foldFlowLines = /* @__PURE__ */ __commonJSMin(((exports) => {
9897
10413
  const FOLD_FLOW = "flow";
9898
10414
  const FOLD_BLOCK = "block";
@@ -10011,8 +10527,6 @@ var require_foldFlowLines = /* @__PURE__ */ __commonJSMin(((exports) => {
10011
10527
  exports.FOLD_QUOTED = FOLD_QUOTED;
10012
10528
  exports.foldFlowLines = foldFlowLines;
10013
10529
  }));
10014
- //#endregion
10015
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/stringify/stringifyString.js
10016
10530
  var require_stringifyString = /* @__PURE__ */ __commonJSMin(((exports) => {
10017
10531
  var Scalar = require_Scalar();
10018
10532
  var foldFlowLines = require_foldFlowLines();
@@ -10235,8 +10749,6 @@ var require_stringifyString = /* @__PURE__ */ __commonJSMin(((exports) => {
10235
10749
  }
10236
10750
  exports.stringifyString = stringifyString;
10237
10751
  }));
10238
- //#endregion
10239
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/stringify/stringify.js
10240
10752
  var require_stringify = /* @__PURE__ */ __commonJSMin(((exports) => {
10241
10753
  var anchors = require_anchors();
10242
10754
  var identity = require_identity();
@@ -10343,8 +10855,6 @@ var require_stringify = /* @__PURE__ */ __commonJSMin(((exports) => {
10343
10855
  exports.createStringifyContext = createStringifyContext;
10344
10856
  exports.stringify = stringify;
10345
10857
  }));
10346
- //#endregion
10347
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/stringify/stringifyPair.js
10348
10858
  var require_stringifyPair = /* @__PURE__ */ __commonJSMin(((exports) => {
10349
10859
  var identity = require_identity();
10350
10860
  var Scalar = require_Scalar();
@@ -10440,8 +10950,6 @@ var require_stringifyPair = /* @__PURE__ */ __commonJSMin(((exports) => {
10440
10950
  }
10441
10951
  exports.stringifyPair = stringifyPair;
10442
10952
  }));
10443
- //#endregion
10444
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/log.js
10445
10953
  var require_log = /* @__PURE__ */ __commonJSMin(((exports) => {
10446
10954
  var node_process$2 = __require("process");
10447
10955
  function debug(logLevel, ...messages) {
@@ -10456,8 +10964,6 @@ var require_log = /* @__PURE__ */ __commonJSMin(((exports) => {
10456
10964
  exports.debug = debug;
10457
10965
  exports.warn = warn;
10458
10966
  }));
10459
- //#endregion
10460
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/schema/yaml-1.1/merge.js
10461
10967
  var require_merge = /* @__PURE__ */ __commonJSMin(((exports) => {
10462
10968
  var identity = require_identity();
10463
10969
  var Scalar = require_Scalar();
@@ -10499,8 +11005,6 @@ var require_merge = /* @__PURE__ */ __commonJSMin(((exports) => {
10499
11005
  exports.isMergeKey = isMergeKey;
10500
11006
  exports.merge = merge;
10501
11007
  }));
10502
- //#endregion
10503
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/nodes/addPairToJSMap.js
10504
11008
  var require_addPairToJSMap = /* @__PURE__ */ __commonJSMin(((exports) => {
10505
11009
  var log = require_log();
10506
11010
  var merge = require_merge();
@@ -10550,8 +11054,6 @@ var require_addPairToJSMap = /* @__PURE__ */ __commonJSMin(((exports) => {
10550
11054
  }
10551
11055
  exports.addPairToJSMap = addPairToJSMap;
10552
11056
  }));
10553
- //#endregion
10554
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/nodes/Pair.js
10555
11057
  var require_Pair = /* @__PURE__ */ __commonJSMin(((exports) => {
10556
11058
  var createNode = require_createNode();
10557
11059
  var stringifyPair = require_stringifyPair();
@@ -10583,8 +11085,6 @@ var require_Pair = /* @__PURE__ */ __commonJSMin(((exports) => {
10583
11085
  exports.Pair = Pair;
10584
11086
  exports.createPair = createPair;
10585
11087
  }));
10586
- //#endregion
10587
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/stringify/stringifyCollection.js
10588
11088
  var require_stringifyCollection = /* @__PURE__ */ __commonJSMin(((exports) => {
10589
11089
  var identity = require_identity();
10590
11090
  var stringify = require_stringify();
@@ -10701,8 +11201,6 @@ var require_stringifyCollection = /* @__PURE__ */ __commonJSMin(((exports) => {
10701
11201
  }
10702
11202
  exports.stringifyCollection = stringifyCollection;
10703
11203
  }));
10704
- //#endregion
10705
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/nodes/YAMLMap.js
10706
11204
  var require_YAMLMap = /* @__PURE__ */ __commonJSMin(((exports) => {
10707
11205
  var stringifyCollection = require_stringifyCollection();
10708
11206
  var addPairToJSMap = require_addPairToJSMap();
@@ -10810,8 +11308,6 @@ var require_YAMLMap = /* @__PURE__ */ __commonJSMin(((exports) => {
10810
11308
  exports.YAMLMap = YAMLMap;
10811
11309
  exports.findPair = findPair;
10812
11310
  }));
10813
- //#endregion
10814
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/schema/common/map.js
10815
11311
  var require_map = /* @__PURE__ */ __commonJSMin(((exports) => {
10816
11312
  var identity = require_identity();
10817
11313
  var YAMLMap = require_YAMLMap();
@@ -10827,8 +11323,6 @@ var require_map = /* @__PURE__ */ __commonJSMin(((exports) => {
10827
11323
  createNode: (schema, obj, ctx) => YAMLMap.YAMLMap.from(schema, obj, ctx)
10828
11324
  };
10829
11325
  }));
10830
- //#endregion
10831
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/nodes/YAMLSeq.js
10832
11326
  var require_YAMLSeq = /* @__PURE__ */ __commonJSMin(((exports) => {
10833
11327
  var createNode = require_createNode();
10834
11328
  var stringifyCollection = require_stringifyCollection();
@@ -10933,8 +11427,6 @@ var require_YAMLSeq = /* @__PURE__ */ __commonJSMin(((exports) => {
10933
11427
  }
10934
11428
  exports.YAMLSeq = YAMLSeq;
10935
11429
  }));
10936
- //#endregion
10937
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/schema/common/seq.js
10938
11430
  var require_seq = /* @__PURE__ */ __commonJSMin(((exports) => {
10939
11431
  var identity = require_identity();
10940
11432
  var YAMLSeq = require_YAMLSeq();
@@ -10950,8 +11442,6 @@ var require_seq = /* @__PURE__ */ __commonJSMin(((exports) => {
10950
11442
  createNode: (schema, obj, ctx) => YAMLSeq.YAMLSeq.from(schema, obj, ctx)
10951
11443
  };
10952
11444
  }));
10953
- //#endregion
10954
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/schema/common/string.js
10955
11445
  var require_string = /* @__PURE__ */ __commonJSMin(((exports) => {
10956
11446
  var stringifyString = require_stringifyString();
10957
11447
  exports.string = {
@@ -10965,8 +11455,6 @@ var require_string = /* @__PURE__ */ __commonJSMin(((exports) => {
10965
11455
  }
10966
11456
  };
10967
11457
  }));
10968
- //#endregion
10969
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/schema/common/null.js
10970
11458
  var require_null = /* @__PURE__ */ __commonJSMin(((exports) => {
10971
11459
  var Scalar = require_Scalar();
10972
11460
  const nullTag = {
@@ -10980,8 +11468,6 @@ var require_null = /* @__PURE__ */ __commonJSMin(((exports) => {
10980
11468
  };
10981
11469
  exports.nullTag = nullTag;
10982
11470
  }));
10983
- //#endregion
10984
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/schema/core/bool.js
10985
11471
  var require_bool$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
10986
11472
  var Scalar = require_Scalar();
10987
11473
  const boolTag = {
@@ -10999,8 +11485,6 @@ var require_bool$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
10999
11485
  };
11000
11486
  exports.boolTag = boolTag;
11001
11487
  }));
11002
- //#endregion
11003
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/stringify/stringifyNumber.js
11004
11488
  var require_stringifyNumber = /* @__PURE__ */ __commonJSMin(((exports) => {
11005
11489
  function stringifyNumber({ format, minFractionDigits, tag, value }) {
11006
11490
  if (typeof value === "bigint") return String(value);
@@ -11020,8 +11504,6 @@ var require_stringifyNumber = /* @__PURE__ */ __commonJSMin(((exports) => {
11020
11504
  }
11021
11505
  exports.stringifyNumber = stringifyNumber;
11022
11506
  }));
11023
- //#endregion
11024
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/schema/core/float.js
11025
11507
  var require_float$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
11026
11508
  var Scalar = require_Scalar();
11027
11509
  var stringifyNumber = require_stringifyNumber();
@@ -11061,8 +11543,6 @@ var require_float$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
11061
11543
  exports.floatExp = floatExp;
11062
11544
  exports.floatNaN = floatNaN;
11063
11545
  }));
11064
- //#endregion
11065
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/schema/core/int.js
11066
11546
  var require_int$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
11067
11547
  var stringifyNumber = require_stringifyNumber();
11068
11548
  const intIdentify = (value) => typeof value === "bigint" || Number.isInteger(value);
@@ -11102,8 +11582,6 @@ var require_int$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
11102
11582
  exports.intHex = intHex;
11103
11583
  exports.intOct = intOct;
11104
11584
  }));
11105
- //#endregion
11106
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/schema/core/schema.js
11107
11585
  var require_schema$2 = /* @__PURE__ */ __commonJSMin(((exports) => {
11108
11586
  var map = require_map();
11109
11587
  var _null = require_null();
@@ -11126,8 +11604,6 @@ var require_schema$2 = /* @__PURE__ */ __commonJSMin(((exports) => {
11126
11604
  float.float
11127
11605
  ];
11128
11606
  }));
11129
- //#endregion
11130
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/schema/json/schema.js
11131
11607
  var require_schema$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
11132
11608
  var Scalar = require_Scalar();
11133
11609
  var map = require_map();
@@ -11188,8 +11664,6 @@ var require_schema$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
11188
11664
  }
11189
11665
  });
11190
11666
  }));
11191
- //#endregion
11192
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/schema/yaml-1.1/binary.js
11193
11667
  var require_binary = /* @__PURE__ */ __commonJSMin(((exports) => {
11194
11668
  var node_buffer = __require("buffer");
11195
11669
  var Scalar = require_Scalar();
@@ -11244,8 +11718,6 @@ var require_binary = /* @__PURE__ */ __commonJSMin(((exports) => {
11244
11718
  }
11245
11719
  };
11246
11720
  }));
11247
- //#endregion
11248
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/schema/yaml-1.1/pairs.js
11249
11721
  var require_pairs = /* @__PURE__ */ __commonJSMin(((exports) => {
11250
11722
  var identity = require_identity();
11251
11723
  var Pair = require_Pair();
@@ -11305,8 +11777,6 @@ var require_pairs = /* @__PURE__ */ __commonJSMin(((exports) => {
11305
11777
  exports.pairs = pairs;
11306
11778
  exports.resolvePairs = resolvePairs;
11307
11779
  }));
11308
- //#endregion
11309
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/schema/yaml-1.1/omap.js
11310
11780
  var require_omap = /* @__PURE__ */ __commonJSMin(((exports) => {
11311
11781
  var identity = require_identity();
11312
11782
  var toJS = require_toJS();
@@ -11370,8 +11840,6 @@ var require_omap = /* @__PURE__ */ __commonJSMin(((exports) => {
11370
11840
  exports.YAMLOMap = YAMLOMap;
11371
11841
  exports.omap = omap;
11372
11842
  }));
11373
- //#endregion
11374
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/schema/yaml-1.1/bool.js
11375
11843
  var require_bool = /* @__PURE__ */ __commonJSMin(((exports) => {
11376
11844
  var Scalar = require_Scalar();
11377
11845
  function boolStringify({ value, source }, ctx) {
@@ -11397,8 +11865,6 @@ var require_bool = /* @__PURE__ */ __commonJSMin(((exports) => {
11397
11865
  exports.falseTag = falseTag;
11398
11866
  exports.trueTag = trueTag;
11399
11867
  }));
11400
- //#endregion
11401
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/schema/yaml-1.1/float.js
11402
11868
  var require_float = /* @__PURE__ */ __commonJSMin(((exports) => {
11403
11869
  var Scalar = require_Scalar();
11404
11870
  var stringifyNumber = require_stringifyNumber();
@@ -11441,8 +11907,6 @@ var require_float = /* @__PURE__ */ __commonJSMin(((exports) => {
11441
11907
  exports.floatExp = floatExp;
11442
11908
  exports.floatNaN = floatNaN;
11443
11909
  }));
11444
- //#endregion
11445
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/schema/yaml-1.1/int.js
11446
11910
  var require_int = /* @__PURE__ */ __commonJSMin(((exports) => {
11447
11911
  var stringifyNumber = require_stringifyNumber();
11448
11912
  const intIdentify = (value) => typeof value === "bigint" || Number.isInteger(value);
@@ -11514,8 +11978,6 @@ var require_int = /* @__PURE__ */ __commonJSMin(((exports) => {
11514
11978
  exports.intHex = intHex;
11515
11979
  exports.intOct = intOct;
11516
11980
  }));
11517
- //#endregion
11518
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/schema/yaml-1.1/set.js
11519
11981
  var require_set = /* @__PURE__ */ __commonJSMin(((exports) => {
11520
11982
  var identity = require_identity();
11521
11983
  var Pair = require_Pair();
@@ -11583,8 +12045,6 @@ var require_set = /* @__PURE__ */ __commonJSMin(((exports) => {
11583
12045
  exports.YAMLSet = YAMLSet;
11584
12046
  exports.set = set;
11585
12047
  }));
11586
- //#endregion
11587
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js
11588
12048
  var require_timestamp = /* @__PURE__ */ __commonJSMin(((exports) => {
11589
12049
  var stringifyNumber = require_stringifyNumber();
11590
12050
  /** Internal types handle bigint as number, because TS can't figure it out. */
@@ -11666,8 +12126,6 @@ var require_timestamp = /* @__PURE__ */ __commonJSMin(((exports) => {
11666
12126
  exports.intTime = intTime;
11667
12127
  exports.timestamp = timestamp;
11668
12128
  }));
11669
- //#endregion
11670
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/schema/yaml-1.1/schema.js
11671
12129
  var require_schema = /* @__PURE__ */ __commonJSMin(((exports) => {
11672
12130
  var map = require_map();
11673
12131
  var _null = require_null();
@@ -11706,8 +12164,6 @@ var require_schema = /* @__PURE__ */ __commonJSMin(((exports) => {
11706
12164
  timestamp.timestamp
11707
12165
  ];
11708
12166
  }));
11709
- //#endregion
11710
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/schema/tags.js
11711
12167
  var require_tags = /* @__PURE__ */ __commonJSMin(((exports) => {
11712
12168
  var map = require_map();
11713
12169
  var _null = require_null();
@@ -11792,8 +12248,6 @@ var require_tags = /* @__PURE__ */ __commonJSMin(((exports) => {
11792
12248
  exports.coreKnownTags = coreKnownTags;
11793
12249
  exports.getTags = getTags;
11794
12250
  }));
11795
- //#endregion
11796
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/schema/Schema.js
11797
12251
  var require_Schema = /* @__PURE__ */ __commonJSMin(((exports) => {
11798
12252
  var identity = require_identity();
11799
12253
  var map = require_map();
@@ -11820,8 +12274,6 @@ var require_Schema = /* @__PURE__ */ __commonJSMin(((exports) => {
11820
12274
  }
11821
12275
  };
11822
12276
  }));
11823
- //#endregion
11824
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/stringify/stringifyDocument.js
11825
12277
  var require_stringifyDocument = /* @__PURE__ */ __commonJSMin(((exports) => {
11826
12278
  var identity = require_identity();
11827
12279
  var stringify = require_stringify();
@@ -11882,8 +12334,6 @@ var require_stringifyDocument = /* @__PURE__ */ __commonJSMin(((exports) => {
11882
12334
  }
11883
12335
  exports.stringifyDocument = stringifyDocument;
11884
12336
  }));
11885
- //#endregion
11886
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/doc/Document.js
11887
12337
  var require_Document = /* @__PURE__ */ __commonJSMin(((exports) => {
11888
12338
  var Alias = require_Alias();
11889
12339
  var Collection = require_Collection();
@@ -12163,8 +12613,6 @@ var require_Document = /* @__PURE__ */ __commonJSMin(((exports) => {
12163
12613
  }
12164
12614
  exports.Document = Document;
12165
12615
  }));
12166
- //#endregion
12167
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/errors.js
12168
12616
  var require_errors = /* @__PURE__ */ __commonJSMin(((exports) => {
12169
12617
  var YAMLError = class extends Error {
12170
12618
  constructor(name, pos, code, message) {
@@ -12216,8 +12664,6 @@ var require_errors = /* @__PURE__ */ __commonJSMin(((exports) => {
12216
12664
  exports.YAMLWarning = YAMLWarning;
12217
12665
  exports.prettifyError = prettifyError;
12218
12666
  }));
12219
- //#endregion
12220
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/compose/resolve-props.js
12221
12667
  var require_resolve_props = /* @__PURE__ */ __commonJSMin(((exports) => {
12222
12668
  function resolveProps(tokens, { flow, indicator, next, offset, onError, parentIndent, startOnNewline }) {
12223
12669
  let spaceBefore = false;
@@ -12323,8 +12769,6 @@ var require_resolve_props = /* @__PURE__ */ __commonJSMin(((exports) => {
12323
12769
  }
12324
12770
  exports.resolveProps = resolveProps;
12325
12771
  }));
12326
- //#endregion
12327
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/compose/util-contains-newline.js
12328
12772
  var require_util_contains_newline = /* @__PURE__ */ __commonJSMin(((exports) => {
12329
12773
  function containsNewline(key) {
12330
12774
  if (!key) return null;
@@ -12352,8 +12796,6 @@ var require_util_contains_newline = /* @__PURE__ */ __commonJSMin(((exports) =>
12352
12796
  }
12353
12797
  exports.containsNewline = containsNewline;
12354
12798
  }));
12355
- //#endregion
12356
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/compose/util-flow-indent-check.js
12357
12799
  var require_util_flow_indent_check = /* @__PURE__ */ __commonJSMin(((exports) => {
12358
12800
  var utilContainsNewline = require_util_contains_newline();
12359
12801
  function flowIndentCheck(indent, fc, onError) {
@@ -12364,8 +12806,6 @@ var require_util_flow_indent_check = /* @__PURE__ */ __commonJSMin(((exports) =>
12364
12806
  }
12365
12807
  exports.flowIndentCheck = flowIndentCheck;
12366
12808
  }));
12367
- //#endregion
12368
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/compose/util-map-includes.js
12369
12809
  var require_util_map_includes = /* @__PURE__ */ __commonJSMin(((exports) => {
12370
12810
  var identity = require_identity();
12371
12811
  function mapIncludes(ctx, items, search) {
@@ -12376,8 +12816,6 @@ var require_util_map_includes = /* @__PURE__ */ __commonJSMin(((exports) => {
12376
12816
  }
12377
12817
  exports.mapIncludes = mapIncludes;
12378
12818
  }));
12379
- //#endregion
12380
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/compose/resolve-block-map.js
12381
12819
  var require_resolve_block_map = /* @__PURE__ */ __commonJSMin(((exports) => {
12382
12820
  var Pair = require_Pair();
12383
12821
  var YAMLMap = require_YAMLMap();
@@ -12464,8 +12902,6 @@ var require_resolve_block_map = /* @__PURE__ */ __commonJSMin(((exports) => {
12464
12902
  }
12465
12903
  exports.resolveBlockMap = resolveBlockMap;
12466
12904
  }));
12467
- //#endregion
12468
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/compose/resolve-block-seq.js
12469
12905
  var require_resolve_block_seq = /* @__PURE__ */ __commonJSMin(((exports) => {
12470
12906
  var YAMLSeq = require_YAMLSeq();
12471
12907
  var resolveProps = require_resolve_props();
@@ -12509,8 +12945,6 @@ var require_resolve_block_seq = /* @__PURE__ */ __commonJSMin(((exports) => {
12509
12945
  }
12510
12946
  exports.resolveBlockSeq = resolveBlockSeq;
12511
12947
  }));
12512
- //#endregion
12513
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/compose/resolve-end.js
12514
12948
  var require_resolve_end = /* @__PURE__ */ __commonJSMin(((exports) => {
12515
12949
  function resolveEnd(end, offset, reqSpace, onError) {
12516
12950
  let comment = "";
@@ -12547,8 +12981,6 @@ var require_resolve_end = /* @__PURE__ */ __commonJSMin(((exports) => {
12547
12981
  }
12548
12982
  exports.resolveEnd = resolveEnd;
12549
12983
  }));
12550
- //#endregion
12551
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/compose/resolve-flow-collection.js
12552
12984
  var require_resolve_flow_collection = /* @__PURE__ */ __commonJSMin(((exports) => {
12553
12985
  var identity = require_identity();
12554
12986
  var Pair = require_Pair();
@@ -12710,8 +13142,6 @@ var require_resolve_flow_collection = /* @__PURE__ */ __commonJSMin(((exports) =
12710
13142
  }
12711
13143
  exports.resolveFlowCollection = resolveFlowCollection;
12712
13144
  }));
12713
- //#endregion
12714
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/compose/compose-collection.js
12715
13145
  var require_compose_collection = /* @__PURE__ */ __commonJSMin(((exports) => {
12716
13146
  var identity = require_identity();
12717
13147
  var Scalar = require_Scalar();
@@ -12762,8 +13192,6 @@ var require_compose_collection = /* @__PURE__ */ __commonJSMin(((exports) => {
12762
13192
  }
12763
13193
  exports.composeCollection = composeCollection;
12764
13194
  }));
12765
- //#endregion
12766
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/compose/resolve-block-scalar.js
12767
13195
  var require_resolve_block_scalar = /* @__PURE__ */ __commonJSMin(((exports) => {
12768
13196
  var Scalar = require_Scalar();
12769
13197
  function resolveBlockScalar(ctx, scalar, onError) {
@@ -12939,8 +13367,6 @@ var require_resolve_block_scalar = /* @__PURE__ */ __commonJSMin(((exports) => {
12939
13367
  }
12940
13368
  exports.resolveBlockScalar = resolveBlockScalar;
12941
13369
  }));
12942
- //#endregion
12943
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/compose/resolve-flow-scalar.js
12944
13370
  var require_resolve_flow_scalar = /* @__PURE__ */ __commonJSMin(((exports) => {
12945
13371
  var Scalar = require_Scalar();
12946
13372
  var resolveEnd = require_resolve_end();
@@ -13010,40 +13436,41 @@ var require_resolve_flow_scalar = /* @__PURE__ */ __commonJSMin(((exports) => {
13010
13436
  case "`": badChar = `reserved character ${source[0]}`;
13011
13437
  }
13012
13438
  if (badChar) onError(0, "BAD_SCALAR_START", `Plain value cannot start with ${badChar}`);
13013
- return foldLines(source);
13439
+ return unfoldLines(source);
13014
13440
  }
13015
13441
  function singleQuotedValue(source, onError) {
13016
13442
  if (source[source.length - 1] !== "'" || source.length === 1) onError(source.length, "MISSING_CHAR", "Missing closing 'quote");
13017
- return foldLines(source.slice(1, -1)).replace(/''/g, "'");
13443
+ return unfoldLines(source.slice(1, -1)).replace(/''/g, "'");
13018
13444
  }
13019
- function foldLines(source) {
13445
+ function unfoldLines(source) {
13446
+ const line = /(.*?)\r?\n/sy;
13447
+ let match = line.exec(source);
13448
+ if (!match) return source;
13020
13449
  /**
13021
- * The negative lookbehind here and in the `re` RegExp is to
13450
+ * The negative lookbehinds in these RegExps are to
13022
13451
  * prevent causing a polynomial search time in certain cases.
13023
13452
  *
13024
- * The try-catch is for Safari, which doesn't support this yet:
13453
+ * The try-catch is for Safari < 16.4 and other old browsers:
13025
13454
  * https://caniuse.com/js-regexp-lookbehind
13026
13455
  */
13027
- let first, line;
13456
+ let trimEnd, trimBoth;
13028
13457
  try {
13029
- first = /* @__PURE__ */ new RegExp("(.*?)(?<![ ])[ ]*\r?\n", "sy");
13030
- line = /* @__PURE__ */ new RegExp("[ ]*(.*?)(?:(?<![ ])[ ]*)?\r?\n", "sy");
13458
+ trimEnd = /* @__PURE__ */ new RegExp("(?<![ ])[ ]+$");
13459
+ trimBoth = /* @__PURE__ */ new RegExp("^[ ]+|(?<![ ])[ ]+$", "g");
13031
13460
  } catch {
13032
- first = /(.*?)[ \t]*\r?\n/sy;
13033
- line = /[ \t]*(.*?)[ \t]*\r?\n/sy;
13461
+ trimEnd = /[ \t]+$/;
13462
+ trimBoth = /^[ \t]+|[ \t]+$/g;
13034
13463
  }
13035
- let match = first.exec(source);
13036
- if (!match) return source;
13037
- let res = match[1];
13464
+ let res = match[1].replace(trimEnd, "");
13038
13465
  let sep = " ";
13039
- let pos = first.lastIndex;
13040
- line.lastIndex = pos;
13466
+ let pos = line.lastIndex;
13041
13467
  while (match = line.exec(source)) {
13042
- if (match[1] === "") {
13468
+ const lm = match[1].replace(trimBoth, "");
13469
+ if (lm === "") {
13043
13470
  if (sep === "\n") res += sep;
13044
13471
  else sep = "\n";
13045
13472
  } else {
13046
- res += sep + match[1];
13473
+ res += sep + lm;
13047
13474
  sep = " ";
13048
13475
  }
13049
13476
  pos = line.lastIndex;
@@ -13143,8 +13570,6 @@ var require_resolve_flow_scalar = /* @__PURE__ */ __commonJSMin(((exports) => {
13143
13570
  }
13144
13571
  exports.resolveFlowScalar = resolveFlowScalar;
13145
13572
  }));
13146
- //#endregion
13147
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/compose/compose-scalar.js
13148
13573
  var require_compose_scalar = /* @__PURE__ */ __commonJSMin(((exports) => {
13149
13574
  var identity = require_identity();
13150
13575
  var Scalar = require_Scalar();
@@ -13204,8 +13629,6 @@ var require_compose_scalar = /* @__PURE__ */ __commonJSMin(((exports) => {
13204
13629
  }
13205
13630
  exports.composeScalar = composeScalar;
13206
13631
  }));
13207
- //#endregion
13208
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/compose/util-empty-scalar-position.js
13209
13632
  var require_util_empty_scalar_position = /* @__PURE__ */ __commonJSMin(((exports) => {
13210
13633
  function emptyScalarPosition(offset, before, pos) {
13211
13634
  if (before) {
@@ -13231,8 +13654,6 @@ var require_util_empty_scalar_position = /* @__PURE__ */ __commonJSMin(((exports
13231
13654
  }
13232
13655
  exports.emptyScalarPosition = emptyScalarPosition;
13233
13656
  }));
13234
- //#endregion
13235
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/compose/compose-node.js
13236
13657
  var require_compose_node = /* @__PURE__ */ __commonJSMin(((exports) => {
13237
13658
  var Alias = require_Alias();
13238
13659
  var identity = require_identity();
@@ -13322,8 +13743,6 @@ var require_compose_node = /* @__PURE__ */ __commonJSMin(((exports) => {
13322
13743
  exports.composeEmptyNode = composeEmptyNode;
13323
13744
  exports.composeNode = composeNode;
13324
13745
  }));
13325
- //#endregion
13326
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/compose/compose-doc.js
13327
13746
  var require_compose_doc = /* @__PURE__ */ __commonJSMin(((exports) => {
13328
13747
  var Document = require_Document();
13329
13748
  var composeNode = require_compose_node();
@@ -13364,8 +13783,6 @@ var require_compose_doc = /* @__PURE__ */ __commonJSMin(((exports) => {
13364
13783
  }
13365
13784
  exports.composeDoc = composeDoc;
13366
13785
  }));
13367
- //#endregion
13368
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/compose/composer.js
13369
13786
  var require_composer = /* @__PURE__ */ __commonJSMin(((exports) => {
13370
13787
  var node_process$1 = __require("process");
13371
13788
  var directives = require_directives();
@@ -13562,8 +13979,6 @@ var require_composer = /* @__PURE__ */ __commonJSMin(((exports) => {
13562
13979
  };
13563
13980
  exports.Composer = Composer;
13564
13981
  }));
13565
- //#endregion
13566
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/parse/cst-scalar.js
13567
13982
  var require_cst_scalar = /* @__PURE__ */ __commonJSMin(((exports) => {
13568
13983
  var resolveBlockScalar = require_resolve_block_scalar();
13569
13984
  var resolveFlowScalar = require_resolve_flow_scalar();
@@ -13829,8 +14244,6 @@ var require_cst_scalar = /* @__PURE__ */ __commonJSMin(((exports) => {
13829
14244
  exports.resolveAsScalar = resolveAsScalar;
13830
14245
  exports.setScalarValue = setScalarValue;
13831
14246
  }));
13832
- //#endregion
13833
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/parse/cst-stringify.js
13834
14247
  var require_cst_stringify = /* @__PURE__ */ __commonJSMin(((exports) => {
13835
14248
  /**
13836
14249
  * Stringify a CST document, token, or collection item
@@ -13880,8 +14293,6 @@ var require_cst_stringify = /* @__PURE__ */ __commonJSMin(((exports) => {
13880
14293
  }
13881
14294
  exports.stringify = stringify;
13882
14295
  }));
13883
- //#endregion
13884
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/parse/cst-visit.js
13885
14296
  var require_cst_visit = /* @__PURE__ */ __commonJSMin(((exports) => {
13886
14297
  const BREAK = Symbol("break visit");
13887
14298
  const SKIP = Symbol("skip children");
@@ -13971,8 +14382,6 @@ var require_cst_visit = /* @__PURE__ */ __commonJSMin(((exports) => {
13971
14382
  }
13972
14383
  exports.visit = visit;
13973
14384
  }));
13974
- //#endregion
13975
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/parse/cst.js
13976
14385
  var require_cst = /* @__PURE__ */ __commonJSMin(((exports) => {
13977
14386
  var cstScalar = require_cst_scalar();
13978
14387
  var cstStringify = require_cst_stringify();
@@ -14050,8 +14459,6 @@ var require_cst = /* @__PURE__ */ __commonJSMin(((exports) => {
14050
14459
  exports.prettyToken = prettyToken;
14051
14460
  exports.tokenType = tokenType;
14052
14461
  }));
14053
- //#endregion
14054
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/parse/lexer.js
14055
14462
  var require_lexer = /* @__PURE__ */ __commonJSMin(((exports) => {
14056
14463
  var cst = require_cst();
14057
14464
  function isEmpty(ch) {
@@ -14583,8 +14990,6 @@ var require_lexer = /* @__PURE__ */ __commonJSMin(((exports) => {
14583
14990
  };
14584
14991
  exports.Lexer = Lexer;
14585
14992
  }));
14586
- //#endregion
14587
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/parse/line-counter.js
14588
14993
  var require_line_counter = /* @__PURE__ */ __commonJSMin(((exports) => {
14589
14994
  /**
14590
14995
  * Tracks newlines during parsing in order to provide an efficient API for
@@ -14630,8 +15035,6 @@ var require_line_counter = /* @__PURE__ */ __commonJSMin(((exports) => {
14630
15035
  };
14631
15036
  exports.LineCounter = LineCounter;
14632
15037
  }));
14633
- //#endregion
14634
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/parse/parser.js
14635
15038
  var require_parser = /* @__PURE__ */ __commonJSMin(((exports) => {
14636
15039
  var node_process = __require("process");
14637
15040
  var cst = require_cst();
@@ -15278,626 +15681,359 @@ var require_parser = /* @__PURE__ */ __commonJSMin(((exports) => {
15278
15681
  it.start.push(this.sourceToken);
15279
15682
  }
15280
15683
  return;
15281
- case "anchor":
15282
- case "tag":
15283
- if (it.value || this.indent <= seq.indent) break;
15284
- it.start.push(this.sourceToken);
15285
- return;
15286
- case "seq-item-ind":
15287
- if (this.indent !== seq.indent) break;
15288
- if (it.value || includesToken(it.start, "seq-item-ind")) seq.items.push({ start: [this.sourceToken] });
15289
- else it.start.push(this.sourceToken);
15290
- return;
15291
- }
15292
- if (this.indent > seq.indent) {
15293
- const bv = this.startBlockValue(seq);
15294
- if (bv) {
15295
- this.stack.push(bv);
15296
- return;
15297
- }
15298
- }
15299
- yield* this.pop();
15300
- yield* this.step();
15301
- }
15302
- *flowCollection(fc) {
15303
- const it = fc.items[fc.items.length - 1];
15304
- if (this.type === "flow-error-end") {
15305
- let top;
15306
- do {
15307
- yield* this.pop();
15308
- top = this.peek(1);
15309
- } while (top?.type === "flow-collection");
15310
- } else if (fc.end.length === 0) {
15311
- switch (this.type) {
15312
- case "comma":
15313
- case "explicit-key-ind":
15314
- if (!it || it.sep) fc.items.push({ start: [this.sourceToken] });
15315
- else it.start.push(this.sourceToken);
15316
- return;
15317
- case "map-value-ind":
15318
- if (!it || it.value) fc.items.push({
15319
- start: [],
15320
- key: null,
15321
- sep: [this.sourceToken]
15322
- });
15323
- else if (it.sep) it.sep.push(this.sourceToken);
15324
- else Object.assign(it, {
15325
- key: null,
15326
- sep: [this.sourceToken]
15327
- });
15328
- return;
15329
- case "space":
15330
- case "comment":
15331
- case "newline":
15332
- case "anchor":
15333
- case "tag":
15334
- if (!it || it.value) fc.items.push({ start: [this.sourceToken] });
15335
- else if (it.sep) it.sep.push(this.sourceToken);
15336
- else it.start.push(this.sourceToken);
15337
- return;
15338
- case "alias":
15339
- case "scalar":
15340
- case "single-quoted-scalar":
15341
- case "double-quoted-scalar": {
15342
- const fs = this.flowScalar(this.type);
15343
- if (!it || it.value) fc.items.push({
15344
- start: [],
15345
- key: fs,
15346
- sep: []
15347
- });
15348
- else if (it.sep) this.stack.push(fs);
15349
- else Object.assign(it, {
15350
- key: fs,
15351
- sep: []
15352
- });
15353
- return;
15354
- }
15355
- case "flow-map-end":
15356
- case "flow-seq-end":
15357
- fc.end.push(this.sourceToken);
15358
- return;
15359
- }
15360
- const bv = this.startBlockValue(fc);
15361
- /* istanbul ignore else should not happen */
15362
- if (bv) this.stack.push(bv);
15363
- else {
15364
- yield* this.pop();
15365
- yield* this.step();
15366
- }
15367
- } else {
15368
- const parent = this.peek(2);
15369
- if (parent.type === "block-map" && (this.type === "map-value-ind" && parent.indent === fc.indent || this.type === "newline" && !parent.items[parent.items.length - 1].sep)) {
15370
- yield* this.pop();
15371
- yield* this.step();
15372
- } else if (this.type === "map-value-ind" && parent.type !== "flow-collection") {
15373
- const start = getFirstKeyStartProps(getPrevProps(parent));
15374
- fixFlowSeqItems(fc);
15375
- const sep = fc.end.splice(1, fc.end.length);
15376
- sep.push(this.sourceToken);
15377
- const map = {
15378
- type: "block-map",
15379
- offset: fc.offset,
15380
- indent: fc.indent,
15381
- items: [{
15382
- start,
15383
- key: fc,
15384
- sep
15385
- }]
15386
- };
15387
- this.onKeyLine = true;
15388
- this.stack[this.stack.length - 1] = map;
15389
- } else yield* this.lineEnd(fc);
15390
- }
15391
- }
15392
- flowScalar(type) {
15393
- if (this.onNewLine) {
15394
- let nl = this.source.indexOf("\n") + 1;
15395
- while (nl !== 0) {
15396
- this.onNewLine(this.offset + nl);
15397
- nl = this.source.indexOf("\n", nl) + 1;
15398
- }
15399
- }
15400
- return {
15401
- type,
15402
- offset: this.offset,
15403
- indent: this.indent,
15404
- source: this.source
15405
- };
15406
- }
15407
- startBlockValue(parent) {
15408
- switch (this.type) {
15409
- case "alias":
15410
- case "scalar":
15411
- case "single-quoted-scalar":
15412
- case "double-quoted-scalar": return this.flowScalar(this.type);
15413
- case "block-scalar-header": return {
15414
- type: "block-scalar",
15415
- offset: this.offset,
15416
- indent: this.indent,
15417
- props: [this.sourceToken],
15418
- source: ""
15419
- };
15420
- case "flow-map-start":
15421
- case "flow-seq-start": return {
15422
- type: "flow-collection",
15423
- offset: this.offset,
15424
- indent: this.indent,
15425
- start: this.sourceToken,
15426
- items: [],
15427
- end: []
15428
- };
15429
- case "seq-item-ind": return {
15430
- type: "block-seq",
15431
- offset: this.offset,
15432
- indent: this.indent,
15433
- items: [{ start: [this.sourceToken] }]
15434
- };
15435
- case "explicit-key-ind": {
15436
- this.onKeyLine = true;
15437
- const start = getFirstKeyStartProps(getPrevProps(parent));
15438
- start.push(this.sourceToken);
15439
- return {
15440
- type: "block-map",
15441
- offset: this.offset,
15442
- indent: this.indent,
15443
- items: [{
15444
- start,
15445
- explicitKey: true
15446
- }]
15447
- };
15448
- }
15449
- case "map-value-ind": {
15450
- this.onKeyLine = true;
15451
- const start = getFirstKeyStartProps(getPrevProps(parent));
15452
- return {
15453
- type: "block-map",
15454
- offset: this.offset,
15455
- indent: this.indent,
15456
- items: [{
15457
- start,
15458
- key: null,
15459
- sep: [this.sourceToken]
15460
- }]
15461
- };
15462
- }
15684
+ case "anchor":
15685
+ case "tag":
15686
+ if (it.value || this.indent <= seq.indent) break;
15687
+ it.start.push(this.sourceToken);
15688
+ return;
15689
+ case "seq-item-ind":
15690
+ if (this.indent !== seq.indent) break;
15691
+ if (it.value || includesToken(it.start, "seq-item-ind")) seq.items.push({ start: [this.sourceToken] });
15692
+ else it.start.push(this.sourceToken);
15693
+ return;
15463
15694
  }
15464
- return null;
15465
- }
15466
- atIndentedComment(start, indent) {
15467
- if (this.type !== "comment") return false;
15468
- if (this.indent <= indent) return false;
15469
- return start.every((st) => st.type === "newline" || st.type === "space");
15470
- }
15471
- *documentEnd(docEnd) {
15472
- if (this.type !== "doc-mode") {
15473
- if (docEnd.end) docEnd.end.push(this.sourceToken);
15474
- else docEnd.end = [this.sourceToken];
15475
- if (this.type === "newline") yield* this.pop();
15695
+ if (this.indent > seq.indent) {
15696
+ const bv = this.startBlockValue(seq);
15697
+ if (bv) {
15698
+ this.stack.push(bv);
15699
+ return;
15700
+ }
15476
15701
  }
15702
+ yield* this.pop();
15703
+ yield* this.step();
15477
15704
  }
15478
- *lineEnd(token) {
15479
- switch (this.type) {
15480
- case "comma":
15481
- case "doc-start":
15482
- case "doc-end":
15483
- case "flow-seq-end":
15484
- case "flow-map-end":
15485
- case "map-value-ind":
15705
+ *flowCollection(fc) {
15706
+ const it = fc.items[fc.items.length - 1];
15707
+ if (this.type === "flow-error-end") {
15708
+ let top;
15709
+ do {
15486
15710
  yield* this.pop();
15487
- yield* this.step();
15488
- break;
15489
- case "newline": this.onKeyLine = false;
15490
- default:
15491
- if (token.end) token.end.push(this.sourceToken);
15492
- else token.end = [this.sourceToken];
15493
- if (this.type === "newline") yield* this.pop();
15494
- }
15495
- }
15496
- };
15497
- exports.Parser = Parser;
15498
- }));
15499
- //#endregion
15500
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/public-api.js
15501
- var require_public_api = /* @__PURE__ */ __commonJSMin(((exports) => {
15502
- var composer = require_composer();
15503
- var Document = require_Document();
15504
- var errors = require_errors();
15505
- var log = require_log();
15506
- var identity = require_identity();
15507
- var lineCounter = require_line_counter();
15508
- var parser = require_parser();
15509
- function parseOptions(options) {
15510
- const prettyErrors = options.prettyErrors !== false;
15511
- return {
15512
- lineCounter: options.lineCounter || prettyErrors && new lineCounter.LineCounter() || null,
15513
- prettyErrors
15514
- };
15515
- }
15516
- /**
15517
- * Parse the input as a stream of YAML documents.
15518
- *
15519
- * Documents should be separated from each other by `...` or `---` marker lines.
15520
- *
15521
- * @returns If an empty `docs` array is returned, it will be of type
15522
- * EmptyStream and contain additional stream information. In
15523
- * TypeScript, you should use `'empty' in docs` as a type guard for it.
15524
- */
15525
- function parseAllDocuments(source, options = {}) {
15526
- const { lineCounter, prettyErrors } = parseOptions(options);
15527
- const parser$1 = new parser.Parser(lineCounter?.addNewLine);
15528
- const composer$1 = new composer.Composer(options);
15529
- const docs = Array.from(composer$1.compose(parser$1.parse(source)));
15530
- if (prettyErrors && lineCounter) for (const doc of docs) {
15531
- doc.errors.forEach(errors.prettifyError(source, lineCounter));
15532
- doc.warnings.forEach(errors.prettifyError(source, lineCounter));
15533
- }
15534
- if (docs.length > 0) return docs;
15535
- return Object.assign([], { empty: true }, composer$1.streamInfo());
15536
- }
15537
- /** Parse an input string into a single YAML.Document */
15538
- function parseDocument(source, options = {}) {
15539
- const { lineCounter, prettyErrors } = parseOptions(options);
15540
- const parser$1 = new parser.Parser(lineCounter?.addNewLine);
15541
- const composer$1 = new composer.Composer(options);
15542
- let doc = null;
15543
- for (const _doc of composer$1.compose(parser$1.parse(source), true, source.length)) if (!doc) doc = _doc;
15544
- else if (doc.options.logLevel !== "silent") {
15545
- doc.errors.push(new errors.YAMLParseError(_doc.range.slice(0, 2), "MULTIPLE_DOCS", "Source contains multiple documents; please use YAML.parseAllDocuments()"));
15546
- break;
15547
- }
15548
- if (prettyErrors && lineCounter) {
15549
- doc.errors.forEach(errors.prettifyError(source, lineCounter));
15550
- doc.warnings.forEach(errors.prettifyError(source, lineCounter));
15551
- }
15552
- return doc;
15553
- }
15554
- function parse(src, reviver, options) {
15555
- let _reviver = void 0;
15556
- if (typeof reviver === "function") _reviver = reviver;
15557
- else if (options === void 0 && reviver && typeof reviver === "object") options = reviver;
15558
- const doc = parseDocument(src, options);
15559
- if (!doc) return null;
15560
- doc.warnings.forEach((warning) => log.warn(doc.options.logLevel, warning));
15561
- if (doc.errors.length > 0) {
15562
- if (doc.options.logLevel !== "silent") throw doc.errors[0];
15563
- else doc.errors = [];
15564
- }
15565
- return doc.toJS(Object.assign({ reviver: _reviver }, options));
15566
- }
15567
- function stringify(value, replacer, options) {
15568
- let _replacer = null;
15569
- if (typeof replacer === "function" || Array.isArray(replacer)) _replacer = replacer;
15570
- else if (options === void 0 && replacer) options = replacer;
15571
- if (typeof options === "string") options = options.length;
15572
- if (typeof options === "number") {
15573
- const indent = Math.round(options);
15574
- options = indent < 1 ? void 0 : indent > 8 ? { indent: 8 } : { indent };
15575
- }
15576
- if (value === void 0) {
15577
- const { keepUndefined } = options ?? replacer ?? {};
15578
- if (!keepUndefined) return void 0;
15579
- }
15580
- if (identity.isDocument(value) && !_replacer) return value.toString(options);
15581
- return new Document.Document(value, _replacer, options).toString(options);
15582
- }
15583
- exports.parse = parse;
15584
- exports.parseAllDocuments = parseAllDocuments;
15585
- exports.parseDocument = parseDocument;
15586
- exports.stringify = stringify;
15587
- }));
15588
- (/* @__PURE__ */ __commonJSMin(((exports) => {
15589
- var composer = require_composer();
15590
- var Document = require_Document();
15591
- var Schema = require_Schema();
15592
- var errors = require_errors();
15593
- var Alias = require_Alias();
15594
- var identity = require_identity();
15595
- var Pair = require_Pair();
15596
- var Scalar = require_Scalar();
15597
- var YAMLMap = require_YAMLMap();
15598
- var YAMLSeq = require_YAMLSeq();
15599
- require_cst();
15600
- var lexer = require_lexer();
15601
- var lineCounter = require_line_counter();
15602
- var parser = require_parser();
15603
- var publicApi = require_public_api();
15604
- var visit = require_visit();
15605
- exports.Composer = composer.Composer;
15606
- exports.Document = Document.Document;
15607
- exports.Schema = Schema.Schema;
15608
- exports.YAMLError = errors.YAMLError;
15609
- exports.YAMLParseError = errors.YAMLParseError;
15610
- exports.YAMLWarning = errors.YAMLWarning;
15611
- exports.Alias = Alias.Alias;
15612
- exports.isAlias = identity.isAlias;
15613
- exports.isCollection = identity.isCollection;
15614
- exports.isDocument = identity.isDocument;
15615
- exports.isMap = identity.isMap;
15616
- exports.isNode = identity.isNode;
15617
- exports.isPair = identity.isPair;
15618
- exports.isScalar = identity.isScalar;
15619
- exports.isSeq = identity.isSeq;
15620
- exports.Pair = Pair.Pair;
15621
- exports.Scalar = Scalar.Scalar;
15622
- exports.YAMLMap = YAMLMap.YAMLMap;
15623
- exports.YAMLSeq = YAMLSeq.YAMLSeq;
15624
- exports.Lexer = lexer.Lexer;
15625
- exports.LineCounter = lineCounter.LineCounter;
15626
- exports.Parser = parser.Parser;
15627
- exports.parse = publicApi.parse;
15628
- exports.parseAllDocuments = publicApi.parseAllDocuments;
15629
- exports.parseDocument = publicApi.parseDocument;
15630
- exports.stringify = publicApi.stringify;
15631
- exports.visit = visit.visit;
15632
- exports.visitAsync = visit.visitAsync;
15633
- })))();
15634
- function resolveHarnessEnvironment(environment = {}) {
15635
- return {
15636
- env: environment.env ?? process.env,
15637
- homedir: environment.homedir ?? homedir(),
15638
- cwd: environment.cwd ?? process.cwd(),
15639
- platform: environment.platform ?? process.platform
15640
- };
15641
- }
15642
- /**
15643
- * Where a harness keeps plugins at the user level. Paths are computed, not checked: a location may
15644
- * not exist until the first plugin is installed.
15645
- */
15646
- function pluginStorage(harness, environment = {}) {
15647
- return storages[harness](resolveHarnessEnvironment(environment));
15648
- }
15649
- /** `$XDG_CONFIG_HOME`, else `~/.config`, as the `xdg-basedir` package resolves it. */
15650
- const xdgConfig = ({ env, homedir }) => env.XDG_CONFIG_HOME || join(homedir, ".config");
15651
- /** The agent plugin folder of the stable VS Code build, per OS (E-VSC-P3). */
15652
- function vscodeAgentPlugins({ env, homedir, platform }) {
15653
- if (platform === "win32") {
15654
- const configDir = win32.join(env.APPDATA || win32.join(homedir, "AppData", "Roaming"), "Code");
15655
- return {
15656
- configDir,
15657
- path: win32.join(configDir, "agentPlugins")
15658
- };
15659
- }
15660
- const configDir = platform === "darwin" ? join(homedir, "Library", "Application Support", "Code") : join(homedir, ".config", "Code");
15661
- return {
15662
- configDir,
15663
- path: join(configDir, "agentPlugins")
15664
- };
15665
- }
15666
- const storages = {
15667
- "claude-code": ({ env, homedir }) => {
15668
- const configDir = env.CLAUDE_CONFIG_DIR || join(homedir, ".claude");
15669
- const plugins = join(configDir, "plugins");
15670
- return {
15671
- harness: "claude-code",
15672
- configDir,
15673
- locations: [
15674
- {
15675
- kind: "plugin-cache",
15676
- path: join(plugins, "cache"),
15677
- description: "Installed plugins as <marketplace>/<plugin>/<version>/",
15678
- research: "E-CC-P1"
15679
- },
15680
- {
15681
- kind: "marketplaces",
15682
- path: join(plugins, "marketplaces"),
15683
- description: "Marketplace checkouts",
15684
- research: "E-CC-P1"
15685
- },
15686
- {
15687
- kind: "install-record",
15688
- path: join(plugins, "installed_plugins.json"),
15689
- description: "Installs keyed by plugin@marketplace, each with scope, installPath, and version",
15690
- research: "E-CC-P2"
15691
- },
15692
- {
15693
- kind: "enabled-record",
15694
- path: join(configDir, "settings.json"),
15695
- description: "User settings; enabledPlugins maps plugin@marketplace to a boolean",
15696
- research: "E-CC-P3"
15711
+ top = this.peek(1);
15712
+ } while (top?.type === "flow-collection");
15713
+ } else if (fc.end.length === 0) {
15714
+ switch (this.type) {
15715
+ case "comma":
15716
+ case "explicit-key-ind":
15717
+ if (!it || it.sep) fc.items.push({ start: [this.sourceToken] });
15718
+ else it.start.push(this.sourceToken);
15719
+ return;
15720
+ case "map-value-ind":
15721
+ if (!it || it.value) fc.items.push({
15722
+ start: [],
15723
+ key: null,
15724
+ sep: [this.sourceToken]
15725
+ });
15726
+ else if (it.sep) it.sep.push(this.sourceToken);
15727
+ else Object.assign(it, {
15728
+ key: null,
15729
+ sep: [this.sourceToken]
15730
+ });
15731
+ return;
15732
+ case "space":
15733
+ case "comment":
15734
+ case "newline":
15735
+ case "anchor":
15736
+ case "tag":
15737
+ if (!it || it.value) fc.items.push({ start: [this.sourceToken] });
15738
+ else if (it.sep) it.sep.push(this.sourceToken);
15739
+ else it.start.push(this.sourceToken);
15740
+ return;
15741
+ case "alias":
15742
+ case "scalar":
15743
+ case "single-quoted-scalar":
15744
+ case "double-quoted-scalar": {
15745
+ const fs = this.flowScalar(this.type);
15746
+ if (!it || it.value) fc.items.push({
15747
+ start: [],
15748
+ key: fs,
15749
+ sep: []
15750
+ });
15751
+ else if (it.sep) this.stack.push(fs);
15752
+ else Object.assign(it, {
15753
+ key: fs,
15754
+ sep: []
15755
+ });
15756
+ return;
15757
+ }
15758
+ case "flow-map-end":
15759
+ case "flow-seq-end":
15760
+ fc.end.push(this.sourceToken);
15761
+ return;
15697
15762
  }
15698
- ]
15699
- };
15700
- },
15701
- cursor: ({ homedir }) => {
15702
- const configDir = join(homedir, ".cursor");
15703
- return {
15704
- harness: "cursor",
15705
- configDir,
15706
- locations: [{
15707
- kind: "local-plugins",
15708
- path: join(configDir, "plugins", "local"),
15709
- description: "Plugins under development, one folder each",
15710
- research: "E-CUR-P2"
15711
- }, {
15712
- kind: "marketplaces",
15713
- path: join(configDir, "plugins", "marketplaces"),
15714
- description: "Marketplace checkouts",
15715
- research: "E-CUR-P3"
15716
- }]
15717
- };
15718
- },
15719
- codex: ({ env, homedir }) => {
15720
- const configDir = env.CODEX_HOME || join(homedir, ".codex");
15721
- return {
15722
- harness: "codex",
15723
- configDir,
15724
- locations: [{
15725
- kind: "plugin-cache",
15726
- path: join(configDir, "plugins", "cache"),
15727
- description: "Installed plugins as <marketplace>/<plugin>/<version>/",
15728
- research: "E-CODEX-P3"
15729
- }, {
15730
- kind: "enabled-record",
15731
- path: join(configDir, "config.toml"),
15732
- description: "User config; [plugins.\"<plugin>@<marketplace>\"] tables carry enabled = <bool>",
15733
- research: "E-CODEX-P2"
15734
- }]
15735
- };
15736
- },
15737
- "copilot-cli": ({ env, homedir }) => {
15738
- const configDir = env.COPILOT_HOME || join(homedir, ".copilot");
15739
- return {
15740
- harness: "copilot-cli",
15741
- configDir,
15742
- locations: [
15743
- {
15744
- kind: "installed-plugins",
15745
- path: join(configDir, "installed-plugins"),
15746
- description: "Installed plugins as <marketplace>/<plugin>/, or _direct/<source-id>/ for direct installs",
15747
- research: "E-COPILOT-P9"
15748
- },
15749
- {
15750
- kind: "install-record",
15751
- path: join(configDir, "config.json"),
15752
- description: "Application state, including installedPlugins",
15753
- research: "E-COPILOT-P9"
15754
- },
15755
- {
15756
- kind: "enabled-record",
15757
- path: join(configDir, "settings.json"),
15758
- description: "User settings (JSON with comments); enabledPlugins maps plugin specs to a boolean",
15759
- research: "E-COPILOT-P4"
15763
+ const bv = this.startBlockValue(fc);
15764
+ /* istanbul ignore else should not happen */
15765
+ if (bv) this.stack.push(bv);
15766
+ else {
15767
+ yield* this.pop();
15768
+ yield* this.step();
15760
15769
  }
15761
- ]
15762
- };
15763
- },
15764
- opencode: (environment) => {
15765
- const configDir = join(xdgConfig(environment), "opencode");
15766
- return {
15767
- harness: "opencode",
15768
- configDir,
15769
- locations: [{
15770
- kind: "local-plugins",
15771
- path: join(configDir, "plugins"),
15772
- description: "JS/TS plugin modules loaded at startup; npm plugins are named in the plugin config array",
15773
- research: "E-OC-P2"
15774
- }]
15775
- };
15776
- },
15777
- kilo: (environment) => {
15778
- const configDir = join(xdgConfig(environment), "kilo");
15779
- return {
15780
- harness: "kilo",
15781
- configDir,
15782
- locations: [{
15783
- kind: "local-plugins",
15784
- path: join(configDir, "plugin"),
15785
- description: "JS/TS plugin modules loaded at startup; npm plugins are named in the plugin config array",
15786
- research: "E-KILO-P2"
15787
- }]
15788
- };
15789
- },
15790
- "gemini-cli": ({ env, homedir }) => {
15791
- const configDir = join(env.GEMINI_CLI_HOME || homedir, ".gemini");
15792
- const extensions = join(configDir, "extensions");
15793
- return {
15794
- harness: "gemini-cli",
15795
- configDir,
15796
- locations: [{
15797
- kind: "installed-plugins",
15798
- path: extensions,
15799
- description: "Installed extensions, one folder each with a gemini-extension.json manifest",
15800
- research: "E-GEM-P1"
15801
- }, {
15802
- kind: "enabled-record",
15803
- path: join(extensions, "extension-enablement.json"),
15804
- description: "Per-extension path-glob overrides that enable or disable it by folder, not a boolean",
15805
- research: "E-GEM-P3"
15806
- }]
15807
- };
15808
- },
15809
- "qwen-code": ({ env, homedir }) => {
15810
- const configDir = env.QWEN_HOME || join(homedir, ".qwen");
15811
- const extensions = join(configDir, "extensions");
15812
- return {
15813
- harness: "qwen-code",
15814
- configDir,
15815
- locations: [{
15816
- kind: "installed-plugins",
15817
- path: extensions,
15818
- description: "Installed extensions, one folder each with a qwen-extension.json manifest",
15819
- research: "E-QWEN-P1"
15820
- }, {
15821
- kind: "enabled-record",
15822
- path: join(extensions, "extension-enablement.json"),
15823
- description: "Extension enable/disable state, inherited from Gemini CLI's format",
15824
- research: "E-QWEN-P2"
15825
- }]
15826
- };
15827
- },
15828
- "vscode-copilot": (environment) => {
15829
- const { configDir, path } = vscodeAgentPlugins(environment);
15830
- return {
15831
- harness: "vscode-copilot",
15832
- configDir,
15833
- locations: [{
15834
- kind: "installed-plugins",
15835
- path,
15836
- description: "Installed agent plugins as <host>/<org>/<repo>/",
15837
- research: "E-VSC-P3"
15838
- }]
15839
- };
15840
- },
15841
- cline: ({ homedir }) => {
15842
- const configDir = join(homedir, ".cline");
15843
- return {
15844
- harness: "cline",
15845
- configDir,
15846
- locations: [{
15847
- kind: "installed-plugins",
15848
- path: join(configDir, "plugins", "_installed"),
15849
- description: "Installed plugins, grouped by source: npm, git, remote, or local",
15850
- research: "E-CLINE-P3"
15851
- }]
15852
- };
15853
- },
15854
- crush: ({ env, homedir }) => {
15855
- return {
15856
- harness: "crush",
15857
- configDir: env.CRUSH_GLOBAL_CONFIG || join(env.XDG_CONFIG_HOME || join(homedir, ".config"), "crush"),
15858
- locations: []
15859
- };
15860
- },
15861
- openhands: ({ env, homedir }) => {
15862
- const configDir = env.OH_PERSISTENCE_DIR || env.OPENHANDS_PERSISTENCE_DIR || join(homedir, ".openhands");
15863
- const installed = join(configDir, "plugins", "installed");
15864
- return {
15865
- harness: "openhands",
15866
- configDir,
15867
- locations: [{
15868
- kind: "installed-plugins",
15869
- path: installed,
15870
- description: "Installed plugins, one folder each",
15871
- research: "E-OH-P3"
15872
- }, {
15873
- kind: "enabled-record",
15874
- path: join(installed, ".installed.json"),
15875
- description: "Install metadata keyed by plugin name, each with enabled: <bool>",
15876
- research: "E-OH-P4"
15877
- }]
15878
- };
15879
- },
15880
- augment: ({ homedir }) => {
15881
- const configDir = join(homedir, ".augment");
15770
+ } else {
15771
+ const parent = this.peek(2);
15772
+ if (parent.type === "block-map" && (this.type === "map-value-ind" && parent.indent === fc.indent || this.type === "newline" && !parent.items[parent.items.length - 1].sep)) {
15773
+ yield* this.pop();
15774
+ yield* this.step();
15775
+ } else if (this.type === "map-value-ind" && parent.type !== "flow-collection") {
15776
+ const start = getFirstKeyStartProps(getPrevProps(parent));
15777
+ fixFlowSeqItems(fc);
15778
+ const sep = fc.end.splice(1, fc.end.length);
15779
+ sep.push(this.sourceToken);
15780
+ const map = {
15781
+ type: "block-map",
15782
+ offset: fc.offset,
15783
+ indent: fc.indent,
15784
+ items: [{
15785
+ start,
15786
+ key: fc,
15787
+ sep
15788
+ }]
15789
+ };
15790
+ this.onKeyLine = true;
15791
+ this.stack[this.stack.length - 1] = map;
15792
+ } else yield* this.lineEnd(fc);
15793
+ }
15794
+ }
15795
+ flowScalar(type) {
15796
+ if (this.onNewLine) {
15797
+ let nl = this.source.indexOf("\n") + 1;
15798
+ while (nl !== 0) {
15799
+ this.onNewLine(this.offset + nl);
15800
+ nl = this.source.indexOf("\n", nl) + 1;
15801
+ }
15802
+ }
15803
+ return {
15804
+ type,
15805
+ offset: this.offset,
15806
+ indent: this.indent,
15807
+ source: this.source
15808
+ };
15809
+ }
15810
+ startBlockValue(parent) {
15811
+ switch (this.type) {
15812
+ case "alias":
15813
+ case "scalar":
15814
+ case "single-quoted-scalar":
15815
+ case "double-quoted-scalar": return this.flowScalar(this.type);
15816
+ case "block-scalar-header": return {
15817
+ type: "block-scalar",
15818
+ offset: this.offset,
15819
+ indent: this.indent,
15820
+ props: [this.sourceToken],
15821
+ source: ""
15822
+ };
15823
+ case "flow-map-start":
15824
+ case "flow-seq-start": return {
15825
+ type: "flow-collection",
15826
+ offset: this.offset,
15827
+ indent: this.indent,
15828
+ start: this.sourceToken,
15829
+ items: [],
15830
+ end: []
15831
+ };
15832
+ case "seq-item-ind": return {
15833
+ type: "block-seq",
15834
+ offset: this.offset,
15835
+ indent: this.indent,
15836
+ items: [{ start: [this.sourceToken] }]
15837
+ };
15838
+ case "explicit-key-ind": {
15839
+ this.onKeyLine = true;
15840
+ const start = getFirstKeyStartProps(getPrevProps(parent));
15841
+ start.push(this.sourceToken);
15842
+ return {
15843
+ type: "block-map",
15844
+ offset: this.offset,
15845
+ indent: this.indent,
15846
+ items: [{
15847
+ start,
15848
+ explicitKey: true
15849
+ }]
15850
+ };
15851
+ }
15852
+ case "map-value-ind": {
15853
+ this.onKeyLine = true;
15854
+ const start = getFirstKeyStartProps(getPrevProps(parent));
15855
+ return {
15856
+ type: "block-map",
15857
+ offset: this.offset,
15858
+ indent: this.indent,
15859
+ items: [{
15860
+ start,
15861
+ key: null,
15862
+ sep: [this.sourceToken]
15863
+ }]
15864
+ };
15865
+ }
15866
+ }
15867
+ return null;
15868
+ }
15869
+ atIndentedComment(start, indent) {
15870
+ if (this.type !== "comment") return false;
15871
+ if (this.indent <= indent) return false;
15872
+ return start.every((st) => st.type === "newline" || st.type === "space");
15873
+ }
15874
+ *documentEnd(docEnd) {
15875
+ if (this.type !== "doc-mode") {
15876
+ if (docEnd.end) docEnd.end.push(this.sourceToken);
15877
+ else docEnd.end = [this.sourceToken];
15878
+ if (this.type === "newline") yield* this.pop();
15879
+ }
15880
+ }
15881
+ *lineEnd(token) {
15882
+ switch (this.type) {
15883
+ case "comma":
15884
+ case "doc-start":
15885
+ case "doc-end":
15886
+ case "flow-seq-end":
15887
+ case "flow-map-end":
15888
+ case "map-value-ind":
15889
+ yield* this.pop();
15890
+ yield* this.step();
15891
+ break;
15892
+ case "newline": this.onKeyLine = false;
15893
+ default:
15894
+ if (token.end) token.end.push(this.sourceToken);
15895
+ else token.end = [this.sourceToken];
15896
+ if (this.type === "newline") yield* this.pop();
15897
+ }
15898
+ }
15899
+ };
15900
+ exports.Parser = Parser;
15901
+ }));
15902
+ var require_public_api = /* @__PURE__ */ __commonJSMin(((exports) => {
15903
+ var composer = require_composer();
15904
+ var Document = require_Document();
15905
+ var errors = require_errors();
15906
+ var log = require_log();
15907
+ var identity = require_identity();
15908
+ var lineCounter = require_line_counter();
15909
+ var parser = require_parser();
15910
+ function parseOptions(options) {
15911
+ const prettyErrors = options.prettyErrors !== false;
15882
15912
  return {
15883
- harness: "augment",
15884
- configDir,
15885
- locations: [{
15886
- kind: "marketplaces",
15887
- path: join(configDir, "plugins", "marketplaces"),
15888
- description: "Marketplace checkouts",
15889
- research: "E-AUG-P2"
15890
- }, {
15891
- kind: "enabled-record",
15892
- path: join(configDir, "settings.json"),
15893
- description: "User settings; enabledPlugins maps plugin@marketplace to a boolean",
15894
- research: "E-AUG-P4"
15895
- }]
15913
+ lineCounter: options.lineCounter || prettyErrors && new lineCounter.LineCounter() || null,
15914
+ prettyErrors
15896
15915
  };
15897
15916
  }
15898
- };
15917
+ /**
15918
+ * Parse the input as a stream of YAML documents.
15919
+ *
15920
+ * Documents should be separated from each other by `...` or `---` marker lines.
15921
+ *
15922
+ * @returns If an empty `docs` array is returned, it will be of type
15923
+ * EmptyStream and contain additional stream information. In
15924
+ * TypeScript, you should use `'empty' in docs` as a type guard for it.
15925
+ */
15926
+ function parseAllDocuments(source, options = {}) {
15927
+ const { lineCounter, prettyErrors } = parseOptions(options);
15928
+ const parser$1 = new parser.Parser(lineCounter?.addNewLine);
15929
+ const composer$1 = new composer.Composer(options);
15930
+ const docs = Array.from(composer$1.compose(parser$1.parse(source)));
15931
+ if (prettyErrors && lineCounter) for (const doc of docs) {
15932
+ doc.errors.forEach(errors.prettifyError(source, lineCounter));
15933
+ doc.warnings.forEach(errors.prettifyError(source, lineCounter));
15934
+ }
15935
+ if (docs.length > 0) return docs;
15936
+ return Object.assign([], { empty: true }, composer$1.streamInfo());
15937
+ }
15938
+ /** Parse an input string into a single YAML.Document */
15939
+ function parseDocument(source, options = {}) {
15940
+ const { lineCounter, prettyErrors } = parseOptions(options);
15941
+ const parser$1 = new parser.Parser(lineCounter?.addNewLine);
15942
+ const composer$1 = new composer.Composer(options);
15943
+ let doc = null;
15944
+ for (const _doc of composer$1.compose(parser$1.parse(source), true, source.length)) if (!doc) doc = _doc;
15945
+ else if (doc.options.logLevel !== "silent") {
15946
+ doc.errors.push(new errors.YAMLParseError(_doc.range.slice(0, 2), "MULTIPLE_DOCS", "Source contains multiple documents; please use YAML.parseAllDocuments()"));
15947
+ break;
15948
+ }
15949
+ if (prettyErrors && lineCounter) {
15950
+ doc.errors.forEach(errors.prettifyError(source, lineCounter));
15951
+ doc.warnings.forEach(errors.prettifyError(source, lineCounter));
15952
+ }
15953
+ return doc;
15954
+ }
15955
+ function parse(src, reviver, options) {
15956
+ let _reviver = void 0;
15957
+ if (typeof reviver === "function") _reviver = reviver;
15958
+ else if (options === void 0 && reviver && typeof reviver === "object") options = reviver;
15959
+ const doc = parseDocument(src, options);
15960
+ if (!doc) return null;
15961
+ doc.warnings.forEach((warning) => log.warn(doc.options.logLevel, warning));
15962
+ if (doc.errors.length > 0) {
15963
+ if (doc.options.logLevel !== "silent") throw doc.errors[0];
15964
+ else doc.errors = [];
15965
+ }
15966
+ return doc.toJS(Object.assign({ reviver: _reviver }, options));
15967
+ }
15968
+ function stringify(value, replacer, options) {
15969
+ let _replacer = null;
15970
+ if (typeof replacer === "function" || Array.isArray(replacer)) _replacer = replacer;
15971
+ else if (options === void 0 && replacer) options = replacer;
15972
+ if (typeof options === "string") options = options.length;
15973
+ if (typeof options === "number") {
15974
+ const indent = Math.round(options);
15975
+ options = indent < 1 ? void 0 : indent > 8 ? { indent: 8 } : { indent };
15976
+ }
15977
+ if (value === void 0) {
15978
+ const { keepUndefined } = options ?? replacer ?? {};
15979
+ if (!keepUndefined) return void 0;
15980
+ }
15981
+ if (identity.isDocument(value) && !_replacer) return value.toString(options);
15982
+ return new Document.Document(value, _replacer, options).toString(options);
15983
+ }
15984
+ exports.parse = parse;
15985
+ exports.parseAllDocuments = parseAllDocuments;
15986
+ exports.parseDocument = parseDocument;
15987
+ exports.stringify = stringify;
15988
+ }));
15989
+ (/* @__PURE__ */ __commonJSMin(((exports) => {
15990
+ var composer = require_composer();
15991
+ var Document = require_Document();
15992
+ var Schema = require_Schema();
15993
+ var errors = require_errors();
15994
+ var Alias = require_Alias();
15995
+ var identity = require_identity();
15996
+ var Pair = require_Pair();
15997
+ var Scalar = require_Scalar();
15998
+ var YAMLMap = require_YAMLMap();
15999
+ var YAMLSeq = require_YAMLSeq();
16000
+ require_cst();
16001
+ var lexer = require_lexer();
16002
+ var lineCounter = require_line_counter();
16003
+ var parser = require_parser();
16004
+ var publicApi = require_public_api();
16005
+ var visit = require_visit();
16006
+ exports.Composer = composer.Composer;
16007
+ exports.Document = Document.Document;
16008
+ exports.Schema = Schema.Schema;
16009
+ exports.YAMLError = errors.YAMLError;
16010
+ exports.YAMLParseError = errors.YAMLParseError;
16011
+ exports.YAMLWarning = errors.YAMLWarning;
16012
+ exports.Alias = Alias.Alias;
16013
+ exports.isAlias = identity.isAlias;
16014
+ exports.isCollection = identity.isCollection;
16015
+ exports.isDocument = identity.isDocument;
16016
+ exports.isMap = identity.isMap;
16017
+ exports.isNode = identity.isNode;
16018
+ exports.isPair = identity.isPair;
16019
+ exports.isScalar = identity.isScalar;
16020
+ exports.isSeq = identity.isSeq;
16021
+ exports.Pair = Pair.Pair;
16022
+ exports.Scalar = Scalar.Scalar;
16023
+ exports.YAMLMap = YAMLMap.YAMLMap;
16024
+ exports.YAMLSeq = YAMLSeq.YAMLSeq;
16025
+ exports.Lexer = lexer.Lexer;
16026
+ exports.LineCounter = lineCounter.LineCounter;
16027
+ exports.Parser = parser.Parser;
16028
+ exports.parse = publicApi.parse;
16029
+ exports.parseAllDocuments = publicApi.parseAllDocuments;
16030
+ exports.parseDocument = publicApi.parseDocument;
16031
+ exports.stringify = publicApi.stringify;
16032
+ exports.visit = visit.visit;
16033
+ exports.visitAsync = visit.visitAsync;
16034
+ })))();
15899
16035
  //#endregion
15900
- //#region ../../node_modules/.pnpm/@cyberuni+agent-harness@0.6.0_typescript@6.0.3/node_modules/@cyberuni/agent-harness/dist/index.js
16036
+ //#region ../../node_modules/.pnpm/@cyberuni+agent-harness@0.7.0/node_modules/@cyberuni/agent-harness/dist/index.js
15901
16037
  const harnessIds = [
15902
16038
  "claude-code",
15903
16039
  "cursor",