@gluecharm-lab/easyspecs-cli 0.0.9 → 0.0.11

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/main.cjs CHANGED
@@ -26,9 +26,9 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
26
26
  mod
27
27
  ));
28
28
 
29
- // scripts/vscode-stub.cjs
29
+ // ../../scripts/vscode-stub.cjs
30
30
  var require_vscode_stub = __commonJS({
31
- "scripts/vscode-stub.cjs"(exports2, module2) {
31
+ "../../scripts/vscode-stub.cjs"(exports2, module2) {
32
32
  "use strict";
33
33
  module2.exports = {
34
34
  workspace: {
@@ -49,9 +49,9 @@ var require_vscode_stub = __commonJS({
49
49
  }
50
50
  });
51
51
 
52
- // node_modules/ajv/dist/compile/codegen/code.js
52
+ // ../../node_modules/ajv/dist/compile/codegen/code.js
53
53
  var require_code = __commonJS({
54
- "node_modules/ajv/dist/compile/codegen/code.js"(exports2) {
54
+ "../../node_modules/ajv/dist/compile/codegen/code.js"(exports2) {
55
55
  "use strict";
56
56
  Object.defineProperty(exports2, "__esModule", { value: true });
57
57
  exports2.regexpCode = exports2.getEsmExportName = exports2.getProperty = exports2.safeStringify = exports2.stringify = exports2.strConcat = exports2.addCodeArg = exports2.str = exports2._ = exports2.nil = exports2._Code = exports2.Name = exports2.IDENTIFIER = exports2._CodeOrName = void 0;
@@ -203,9 +203,9 @@ var require_code = __commonJS({
203
203
  }
204
204
  });
205
205
 
206
- // node_modules/ajv/dist/compile/codegen/scope.js
206
+ // ../../node_modules/ajv/dist/compile/codegen/scope.js
207
207
  var require_scope = __commonJS({
208
- "node_modules/ajv/dist/compile/codegen/scope.js"(exports2) {
208
+ "../../node_modules/ajv/dist/compile/codegen/scope.js"(exports2) {
209
209
  "use strict";
210
210
  Object.defineProperty(exports2, "__esModule", { value: true });
211
211
  exports2.ValueScope = exports2.ValueScopeName = exports2.Scope = exports2.varKinds = exports2.UsedValueState = void 0;
@@ -348,9 +348,9 @@ var require_scope = __commonJS({
348
348
  }
349
349
  });
350
350
 
351
- // node_modules/ajv/dist/compile/codegen/index.js
351
+ // ../../node_modules/ajv/dist/compile/codegen/index.js
352
352
  var require_codegen = __commonJS({
353
- "node_modules/ajv/dist/compile/codegen/index.js"(exports2) {
353
+ "../../node_modules/ajv/dist/compile/codegen/index.js"(exports2) {
354
354
  "use strict";
355
355
  Object.defineProperty(exports2, "__esModule", { value: true });
356
356
  exports2.or = exports2.and = exports2.not = exports2.CodeGen = exports2.operators = exports2.varKinds = exports2.ValueScopeName = exports2.ValueScope = exports2.Scope = exports2.Name = exports2.regexpCode = exports2.stringify = exports2.getProperty = exports2.nil = exports2.strConcat = exports2.str = exports2._ = void 0;
@@ -1068,9 +1068,9 @@ var require_codegen = __commonJS({
1068
1068
  }
1069
1069
  });
1070
1070
 
1071
- // node_modules/ajv/dist/compile/util.js
1071
+ // ../../node_modules/ajv/dist/compile/util.js
1072
1072
  var require_util = __commonJS({
1073
- "node_modules/ajv/dist/compile/util.js"(exports2) {
1073
+ "../../node_modules/ajv/dist/compile/util.js"(exports2) {
1074
1074
  "use strict";
1075
1075
  Object.defineProperty(exports2, "__esModule", { value: true });
1076
1076
  exports2.checkStrictMode = exports2.getErrorPath = exports2.Type = exports2.useFunc = exports2.setEvaluated = exports2.evaluatedPropsToName = exports2.mergeEvaluated = exports2.eachItem = exports2.unescapeJsonPointer = exports2.escapeJsonPointer = exports2.escapeFragment = exports2.unescapeFragment = exports2.schemaRefOrVal = exports2.schemaHasRulesButRef = exports2.schemaHasRules = exports2.checkUnknownRules = exports2.alwaysValidSchema = exports2.toHash = void 0;
@@ -1235,9 +1235,9 @@ var require_util = __commonJS({
1235
1235
  }
1236
1236
  });
1237
1237
 
1238
- // node_modules/ajv/dist/compile/names.js
1238
+ // ../../node_modules/ajv/dist/compile/names.js
1239
1239
  var require_names = __commonJS({
1240
- "node_modules/ajv/dist/compile/names.js"(exports2) {
1240
+ "../../node_modules/ajv/dist/compile/names.js"(exports2) {
1241
1241
  "use strict";
1242
1242
  Object.defineProperty(exports2, "__esModule", { value: true });
1243
1243
  var codegen_1 = require_codegen();
@@ -1274,9 +1274,9 @@ var require_names = __commonJS({
1274
1274
  }
1275
1275
  });
1276
1276
 
1277
- // node_modules/ajv/dist/compile/errors.js
1277
+ // ../../node_modules/ajv/dist/compile/errors.js
1278
1278
  var require_errors = __commonJS({
1279
- "node_modules/ajv/dist/compile/errors.js"(exports2) {
1279
+ "../../node_modules/ajv/dist/compile/errors.js"(exports2) {
1280
1280
  "use strict";
1281
1281
  Object.defineProperty(exports2, "__esModule", { value: true });
1282
1282
  exports2.extendErrors = exports2.resetErrorsCount = exports2.reportExtraError = exports2.reportError = exports2.keyword$DataError = exports2.keywordError = void 0;
@@ -1396,9 +1396,9 @@ var require_errors = __commonJS({
1396
1396
  }
1397
1397
  });
1398
1398
 
1399
- // node_modules/ajv/dist/compile/validate/boolSchema.js
1399
+ // ../../node_modules/ajv/dist/compile/validate/boolSchema.js
1400
1400
  var require_boolSchema = __commonJS({
1401
- "node_modules/ajv/dist/compile/validate/boolSchema.js"(exports2) {
1401
+ "../../node_modules/ajv/dist/compile/validate/boolSchema.js"(exports2) {
1402
1402
  "use strict";
1403
1403
  Object.defineProperty(exports2, "__esModule", { value: true });
1404
1404
  exports2.boolOrEmptySchema = exports2.topBoolOrEmptySchema = void 0;
@@ -1447,9 +1447,9 @@ var require_boolSchema = __commonJS({
1447
1447
  }
1448
1448
  });
1449
1449
 
1450
- // node_modules/ajv/dist/compile/rules.js
1450
+ // ../../node_modules/ajv/dist/compile/rules.js
1451
1451
  var require_rules = __commonJS({
1452
- "node_modules/ajv/dist/compile/rules.js"(exports2) {
1452
+ "../../node_modules/ajv/dist/compile/rules.js"(exports2) {
1453
1453
  "use strict";
1454
1454
  Object.defineProperty(exports2, "__esModule", { value: true });
1455
1455
  exports2.getRules = exports2.isJSONType = void 0;
@@ -1478,9 +1478,9 @@ var require_rules = __commonJS({
1478
1478
  }
1479
1479
  });
1480
1480
 
1481
- // node_modules/ajv/dist/compile/validate/applicability.js
1481
+ // ../../node_modules/ajv/dist/compile/validate/applicability.js
1482
1482
  var require_applicability = __commonJS({
1483
- "node_modules/ajv/dist/compile/validate/applicability.js"(exports2) {
1483
+ "../../node_modules/ajv/dist/compile/validate/applicability.js"(exports2) {
1484
1484
  "use strict";
1485
1485
  Object.defineProperty(exports2, "__esModule", { value: true });
1486
1486
  exports2.shouldUseRule = exports2.shouldUseGroup = exports2.schemaHasRulesForType = void 0;
@@ -1501,9 +1501,9 @@ var require_applicability = __commonJS({
1501
1501
  }
1502
1502
  });
1503
1503
 
1504
- // node_modules/ajv/dist/compile/validate/dataType.js
1504
+ // ../../node_modules/ajv/dist/compile/validate/dataType.js
1505
1505
  var require_dataType = __commonJS({
1506
- "node_modules/ajv/dist/compile/validate/dataType.js"(exports2) {
1506
+ "../../node_modules/ajv/dist/compile/validate/dataType.js"(exports2) {
1507
1507
  "use strict";
1508
1508
  Object.defineProperty(exports2, "__esModule", { value: true });
1509
1509
  exports2.reportTypeError = exports2.checkDataTypes = exports2.checkDataType = exports2.coerceAndCheckDataType = exports2.getJSONTypes = exports2.getSchemaTypes = exports2.DataType = void 0;
@@ -1685,9 +1685,9 @@ var require_dataType = __commonJS({
1685
1685
  }
1686
1686
  });
1687
1687
 
1688
- // node_modules/ajv/dist/compile/validate/defaults.js
1688
+ // ../../node_modules/ajv/dist/compile/validate/defaults.js
1689
1689
  var require_defaults = __commonJS({
1690
- "node_modules/ajv/dist/compile/validate/defaults.js"(exports2) {
1690
+ "../../node_modules/ajv/dist/compile/validate/defaults.js"(exports2) {
1691
1691
  "use strict";
1692
1692
  Object.defineProperty(exports2, "__esModule", { value: true });
1693
1693
  exports2.assignDefaults = void 0;
@@ -1722,9 +1722,9 @@ var require_defaults = __commonJS({
1722
1722
  }
1723
1723
  });
1724
1724
 
1725
- // node_modules/ajv/dist/vocabularies/code.js
1725
+ // ../../node_modules/ajv/dist/vocabularies/code.js
1726
1726
  var require_code2 = __commonJS({
1727
- "node_modules/ajv/dist/vocabularies/code.js"(exports2) {
1727
+ "../../node_modules/ajv/dist/vocabularies/code.js"(exports2) {
1728
1728
  "use strict";
1729
1729
  Object.defineProperty(exports2, "__esModule", { value: true });
1730
1730
  exports2.validateUnion = exports2.validateArray = exports2.usePattern = exports2.callValidateCode = exports2.schemaProperties = exports2.allSchemaProperties = exports2.noPropertyInData = exports2.propertyInData = exports2.isOwnProperty = exports2.hasPropFunc = exports2.reportMissingProp = exports2.checkMissingProp = exports2.checkReportMissingProp = void 0;
@@ -1855,9 +1855,9 @@ var require_code2 = __commonJS({
1855
1855
  }
1856
1856
  });
1857
1857
 
1858
- // node_modules/ajv/dist/compile/validate/keyword.js
1858
+ // ../../node_modules/ajv/dist/compile/validate/keyword.js
1859
1859
  var require_keyword = __commonJS({
1860
- "node_modules/ajv/dist/compile/validate/keyword.js"(exports2) {
1860
+ "../../node_modules/ajv/dist/compile/validate/keyword.js"(exports2) {
1861
1861
  "use strict";
1862
1862
  Object.defineProperty(exports2, "__esModule", { value: true });
1863
1863
  exports2.validateKeywordUsage = exports2.validSchemaType = exports2.funcKeywordCode = exports2.macroKeywordCode = void 0;
@@ -1973,9 +1973,9 @@ var require_keyword = __commonJS({
1973
1973
  }
1974
1974
  });
1975
1975
 
1976
- // node_modules/ajv/dist/compile/validate/subschema.js
1976
+ // ../../node_modules/ajv/dist/compile/validate/subschema.js
1977
1977
  var require_subschema = __commonJS({
1978
- "node_modules/ajv/dist/compile/validate/subschema.js"(exports2) {
1978
+ "../../node_modules/ajv/dist/compile/validate/subschema.js"(exports2) {
1979
1979
  "use strict";
1980
1980
  Object.defineProperty(exports2, "__esModule", { value: true });
1981
1981
  exports2.extendSubschemaMode = exports2.extendSubschemaData = exports2.getSubschema = void 0;
@@ -2056,9 +2056,9 @@ var require_subschema = __commonJS({
2056
2056
  }
2057
2057
  });
2058
2058
 
2059
- // node_modules/fast-deep-equal/index.js
2059
+ // ../../node_modules/fast-deep-equal/index.js
2060
2060
  var require_fast_deep_equal = __commonJS({
2061
- "node_modules/fast-deep-equal/index.js"(exports2, module2) {
2061
+ "../../node_modules/fast-deep-equal/index.js"(exports2, module2) {
2062
2062
  "use strict";
2063
2063
  module2.exports = function equal(a, b) {
2064
2064
  if (a === b) return true;
@@ -2091,9 +2091,9 @@ var require_fast_deep_equal = __commonJS({
2091
2091
  }
2092
2092
  });
2093
2093
 
2094
- // node_modules/json-schema-traverse/index.js
2094
+ // ../../node_modules/json-schema-traverse/index.js
2095
2095
  var require_json_schema_traverse = __commonJS({
2096
- "node_modules/json-schema-traverse/index.js"(exports2, module2) {
2096
+ "../../node_modules/json-schema-traverse/index.js"(exports2, module2) {
2097
2097
  "use strict";
2098
2098
  var traverse = module2.exports = function(schema, opts, cb) {
2099
2099
  if (typeof opts == "function") {
@@ -2179,9 +2179,9 @@ var require_json_schema_traverse = __commonJS({
2179
2179
  }
2180
2180
  });
2181
2181
 
2182
- // node_modules/ajv/dist/compile/resolve.js
2182
+ // ../../node_modules/ajv/dist/compile/resolve.js
2183
2183
  var require_resolve = __commonJS({
2184
- "node_modules/ajv/dist/compile/resolve.js"(exports2) {
2184
+ "../../node_modules/ajv/dist/compile/resolve.js"(exports2) {
2185
2185
  "use strict";
2186
2186
  Object.defineProperty(exports2, "__esModule", { value: true });
2187
2187
  exports2.getSchemaRefs = exports2.resolveUrl = exports2.normalizeId = exports2._getFullPath = exports2.getFullPath = exports2.inlineRef = void 0;
@@ -2251,8 +2251,8 @@ var require_resolve = __commonJS({
2251
2251
  }
2252
2252
  return count;
2253
2253
  }
2254
- function getFullPath(resolver, id = "", normalize4) {
2255
- if (normalize4 !== false)
2254
+ function getFullPath(resolver, id = "", normalize5) {
2255
+ if (normalize5 !== false)
2256
2256
  id = normalizeId(id);
2257
2257
  const p = resolver.parse(id);
2258
2258
  return _getFullPath(resolver, p);
@@ -2335,9 +2335,9 @@ var require_resolve = __commonJS({
2335
2335
  }
2336
2336
  });
2337
2337
 
2338
- // node_modules/ajv/dist/compile/validate/index.js
2338
+ // ../../node_modules/ajv/dist/compile/validate/index.js
2339
2339
  var require_validate = __commonJS({
2340
- "node_modules/ajv/dist/compile/validate/index.js"(exports2) {
2340
+ "../../node_modules/ajv/dist/compile/validate/index.js"(exports2) {
2341
2341
  "use strict";
2342
2342
  Object.defineProperty(exports2, "__esModule", { value: true });
2343
2343
  exports2.getData = exports2.KeywordCxt = exports2.validateFunctionCode = void 0;
@@ -2843,9 +2843,9 @@ var require_validate = __commonJS({
2843
2843
  }
2844
2844
  });
2845
2845
 
2846
- // node_modules/ajv/dist/runtime/validation_error.js
2846
+ // ../../node_modules/ajv/dist/runtime/validation_error.js
2847
2847
  var require_validation_error = __commonJS({
2848
- "node_modules/ajv/dist/runtime/validation_error.js"(exports2) {
2848
+ "../../node_modules/ajv/dist/runtime/validation_error.js"(exports2) {
2849
2849
  "use strict";
2850
2850
  Object.defineProperty(exports2, "__esModule", { value: true });
2851
2851
  var ValidationError = class extends Error {
@@ -2859,9 +2859,9 @@ var require_validation_error = __commonJS({
2859
2859
  }
2860
2860
  });
2861
2861
 
2862
- // node_modules/ajv/dist/compile/ref_error.js
2862
+ // ../../node_modules/ajv/dist/compile/ref_error.js
2863
2863
  var require_ref_error = __commonJS({
2864
- "node_modules/ajv/dist/compile/ref_error.js"(exports2) {
2864
+ "../../node_modules/ajv/dist/compile/ref_error.js"(exports2) {
2865
2865
  "use strict";
2866
2866
  Object.defineProperty(exports2, "__esModule", { value: true });
2867
2867
  var resolve_1 = require_resolve();
@@ -2876,9 +2876,9 @@ var require_ref_error = __commonJS({
2876
2876
  }
2877
2877
  });
2878
2878
 
2879
- // node_modules/ajv/dist/compile/index.js
2879
+ // ../../node_modules/ajv/dist/compile/index.js
2880
2880
  var require_compile = __commonJS({
2881
- "node_modules/ajv/dist/compile/index.js"(exports2) {
2881
+ "../../node_modules/ajv/dist/compile/index.js"(exports2) {
2882
2882
  "use strict";
2883
2883
  Object.defineProperty(exports2, "__esModule", { value: true });
2884
2884
  exports2.resolveSchema = exports2.getCompilingSchema = exports2.resolveRef = exports2.compileSchema = exports2.SchemaEnv = void 0;
@@ -3100,9 +3100,9 @@ var require_compile = __commonJS({
3100
3100
  }
3101
3101
  });
3102
3102
 
3103
- // node_modules/ajv/dist/refs/data.json
3103
+ // ../../node_modules/ajv/dist/refs/data.json
3104
3104
  var require_data = __commonJS({
3105
- "node_modules/ajv/dist/refs/data.json"(exports2, module2) {
3105
+ "../../node_modules/ajv/dist/refs/data.json"(exports2, module2) {
3106
3106
  module2.exports = {
3107
3107
  $id: "https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",
3108
3108
  description: "Meta-schema for $data reference (JSON AnySchema extension proposal)",
@@ -3119,9 +3119,9 @@ var require_data = __commonJS({
3119
3119
  }
3120
3120
  });
3121
3121
 
3122
- // node_modules/fast-uri/lib/utils.js
3122
+ // ../../node_modules/fast-uri/lib/utils.js
3123
3123
  var require_utils = __commonJS({
3124
- "node_modules/fast-uri/lib/utils.js"(exports2, module2) {
3124
+ "../../node_modules/fast-uri/lib/utils.js"(exports2, module2) {
3125
3125
  "use strict";
3126
3126
  var isUUID = RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu);
3127
3127
  var isIPv4 = RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u);
@@ -3376,9 +3376,9 @@ var require_utils = __commonJS({
3376
3376
  }
3377
3377
  });
3378
3378
 
3379
- // node_modules/fast-uri/lib/schemes.js
3379
+ // ../../node_modules/fast-uri/lib/schemes.js
3380
3380
  var require_schemes = __commonJS({
3381
- "node_modules/fast-uri/lib/schemes.js"(exports2, module2) {
3381
+ "../../node_modules/fast-uri/lib/schemes.js"(exports2, module2) {
3382
3382
  "use strict";
3383
3383
  var { isUUID } = require_utils();
3384
3384
  var URN_REG = /([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu;
@@ -3586,13 +3586,13 @@ var require_schemes = __commonJS({
3586
3586
  }
3587
3587
  });
3588
3588
 
3589
- // node_modules/fast-uri/index.js
3589
+ // ../../node_modules/fast-uri/index.js
3590
3590
  var require_fast_uri = __commonJS({
3591
- "node_modules/fast-uri/index.js"(exports2, module2) {
3591
+ "../../node_modules/fast-uri/index.js"(exports2, module2) {
3592
3592
  "use strict";
3593
3593
  var { normalizeIPv6, removeDotSegments, recomposeAuthority, normalizeComponentEncoding, isIPv4, nonSimpleDomain } = require_utils();
3594
3594
  var { SCHEMES, getSchemeHandler } = require_schemes();
3595
- function normalize4(uri, options) {
3595
+ function normalize5(uri, options) {
3596
3596
  if (typeof uri === "string") {
3597
3597
  uri = /** @type {T} */
3598
3598
  serialize(parse(uri, options), options);
@@ -3828,7 +3828,7 @@ var require_fast_uri = __commonJS({
3828
3828
  }
3829
3829
  var fastUri = {
3830
3830
  SCHEMES,
3831
- normalize: normalize4,
3831
+ normalize: normalize5,
3832
3832
  resolve: resolve15,
3833
3833
  resolveComponent,
3834
3834
  equal,
@@ -3841,9 +3841,9 @@ var require_fast_uri = __commonJS({
3841
3841
  }
3842
3842
  });
3843
3843
 
3844
- // node_modules/ajv/dist/runtime/uri.js
3844
+ // ../../node_modules/ajv/dist/runtime/uri.js
3845
3845
  var require_uri = __commonJS({
3846
- "node_modules/ajv/dist/runtime/uri.js"(exports2) {
3846
+ "../../node_modules/ajv/dist/runtime/uri.js"(exports2) {
3847
3847
  "use strict";
3848
3848
  Object.defineProperty(exports2, "__esModule", { value: true });
3849
3849
  var uri = require_fast_uri();
@@ -3852,9 +3852,9 @@ var require_uri = __commonJS({
3852
3852
  }
3853
3853
  });
3854
3854
 
3855
- // node_modules/ajv/dist/core.js
3855
+ // ../../node_modules/ajv/dist/core.js
3856
3856
  var require_core = __commonJS({
3857
- "node_modules/ajv/dist/core.js"(exports2) {
3857
+ "../../node_modules/ajv/dist/core.js"(exports2) {
3858
3858
  "use strict";
3859
3859
  Object.defineProperty(exports2, "__esModule", { value: true });
3860
3860
  exports2.CodeGen = exports2.Name = exports2.nil = exports2.stringify = exports2.str = exports2._ = exports2.KeywordCxt = void 0;
@@ -4463,9 +4463,9 @@ var require_core = __commonJS({
4463
4463
  }
4464
4464
  });
4465
4465
 
4466
- // node_modules/ajv/dist/vocabularies/core/id.js
4466
+ // ../../node_modules/ajv/dist/vocabularies/core/id.js
4467
4467
  var require_id = __commonJS({
4468
- "node_modules/ajv/dist/vocabularies/core/id.js"(exports2) {
4468
+ "../../node_modules/ajv/dist/vocabularies/core/id.js"(exports2) {
4469
4469
  "use strict";
4470
4470
  Object.defineProperty(exports2, "__esModule", { value: true });
4471
4471
  var def = {
@@ -4478,9 +4478,9 @@ var require_id = __commonJS({
4478
4478
  }
4479
4479
  });
4480
4480
 
4481
- // node_modules/ajv/dist/vocabularies/core/ref.js
4481
+ // ../../node_modules/ajv/dist/vocabularies/core/ref.js
4482
4482
  var require_ref = __commonJS({
4483
- "node_modules/ajv/dist/vocabularies/core/ref.js"(exports2) {
4483
+ "../../node_modules/ajv/dist/vocabularies/core/ref.js"(exports2) {
4484
4484
  "use strict";
4485
4485
  Object.defineProperty(exports2, "__esModule", { value: true });
4486
4486
  exports2.callRef = exports2.getValidate = void 0;
@@ -4600,9 +4600,9 @@ var require_ref = __commonJS({
4600
4600
  }
4601
4601
  });
4602
4602
 
4603
- // node_modules/ajv/dist/vocabularies/core/index.js
4603
+ // ../../node_modules/ajv/dist/vocabularies/core/index.js
4604
4604
  var require_core2 = __commonJS({
4605
- "node_modules/ajv/dist/vocabularies/core/index.js"(exports2) {
4605
+ "../../node_modules/ajv/dist/vocabularies/core/index.js"(exports2) {
4606
4606
  "use strict";
4607
4607
  Object.defineProperty(exports2, "__esModule", { value: true });
4608
4608
  var id_1 = require_id();
@@ -4621,9 +4621,9 @@ var require_core2 = __commonJS({
4621
4621
  }
4622
4622
  });
4623
4623
 
4624
- // node_modules/ajv/dist/vocabularies/validation/limitNumber.js
4624
+ // ../../node_modules/ajv/dist/vocabularies/validation/limitNumber.js
4625
4625
  var require_limitNumber = __commonJS({
4626
- "node_modules/ajv/dist/vocabularies/validation/limitNumber.js"(exports2) {
4626
+ "../../node_modules/ajv/dist/vocabularies/validation/limitNumber.js"(exports2) {
4627
4627
  "use strict";
4628
4628
  Object.defineProperty(exports2, "__esModule", { value: true });
4629
4629
  var codegen_1 = require_codegen();
@@ -4653,9 +4653,9 @@ var require_limitNumber = __commonJS({
4653
4653
  }
4654
4654
  });
4655
4655
 
4656
- // node_modules/ajv/dist/vocabularies/validation/multipleOf.js
4656
+ // ../../node_modules/ajv/dist/vocabularies/validation/multipleOf.js
4657
4657
  var require_multipleOf = __commonJS({
4658
- "node_modules/ajv/dist/vocabularies/validation/multipleOf.js"(exports2) {
4658
+ "../../node_modules/ajv/dist/vocabularies/validation/multipleOf.js"(exports2) {
4659
4659
  "use strict";
4660
4660
  Object.defineProperty(exports2, "__esModule", { value: true });
4661
4661
  var codegen_1 = require_codegen();
@@ -4681,9 +4681,9 @@ var require_multipleOf = __commonJS({
4681
4681
  }
4682
4682
  });
4683
4683
 
4684
- // node_modules/ajv/dist/runtime/ucs2length.js
4684
+ // ../../node_modules/ajv/dist/runtime/ucs2length.js
4685
4685
  var require_ucs2length = __commonJS({
4686
- "node_modules/ajv/dist/runtime/ucs2length.js"(exports2) {
4686
+ "../../node_modules/ajv/dist/runtime/ucs2length.js"(exports2) {
4687
4687
  "use strict";
4688
4688
  Object.defineProperty(exports2, "__esModule", { value: true });
4689
4689
  function ucs2length(str) {
@@ -4707,9 +4707,9 @@ var require_ucs2length = __commonJS({
4707
4707
  }
4708
4708
  });
4709
4709
 
4710
- // node_modules/ajv/dist/vocabularies/validation/limitLength.js
4710
+ // ../../node_modules/ajv/dist/vocabularies/validation/limitLength.js
4711
4711
  var require_limitLength = __commonJS({
4712
- "node_modules/ajv/dist/vocabularies/validation/limitLength.js"(exports2) {
4712
+ "../../node_modules/ajv/dist/vocabularies/validation/limitLength.js"(exports2) {
4713
4713
  "use strict";
4714
4714
  Object.defineProperty(exports2, "__esModule", { value: true });
4715
4715
  var codegen_1 = require_codegen();
@@ -4739,9 +4739,9 @@ var require_limitLength = __commonJS({
4739
4739
  }
4740
4740
  });
4741
4741
 
4742
- // node_modules/ajv/dist/vocabularies/validation/pattern.js
4742
+ // ../../node_modules/ajv/dist/vocabularies/validation/pattern.js
4743
4743
  var require_pattern = __commonJS({
4744
- "node_modules/ajv/dist/vocabularies/validation/pattern.js"(exports2) {
4744
+ "../../node_modules/ajv/dist/vocabularies/validation/pattern.js"(exports2) {
4745
4745
  "use strict";
4746
4746
  Object.defineProperty(exports2, "__esModule", { value: true });
4747
4747
  var code_1 = require_code2();
@@ -4776,9 +4776,9 @@ var require_pattern = __commonJS({
4776
4776
  }
4777
4777
  });
4778
4778
 
4779
- // node_modules/ajv/dist/vocabularies/validation/limitProperties.js
4779
+ // ../../node_modules/ajv/dist/vocabularies/validation/limitProperties.js
4780
4780
  var require_limitProperties = __commonJS({
4781
- "node_modules/ajv/dist/vocabularies/validation/limitProperties.js"(exports2) {
4781
+ "../../node_modules/ajv/dist/vocabularies/validation/limitProperties.js"(exports2) {
4782
4782
  "use strict";
4783
4783
  Object.defineProperty(exports2, "__esModule", { value: true });
4784
4784
  var codegen_1 = require_codegen();
@@ -4805,9 +4805,9 @@ var require_limitProperties = __commonJS({
4805
4805
  }
4806
4806
  });
4807
4807
 
4808
- // node_modules/ajv/dist/vocabularies/validation/required.js
4808
+ // ../../node_modules/ajv/dist/vocabularies/validation/required.js
4809
4809
  var require_required = __commonJS({
4810
- "node_modules/ajv/dist/vocabularies/validation/required.js"(exports2) {
4810
+ "../../node_modules/ajv/dist/vocabularies/validation/required.js"(exports2) {
4811
4811
  "use strict";
4812
4812
  Object.defineProperty(exports2, "__esModule", { value: true });
4813
4813
  var code_1 = require_code2();
@@ -4887,9 +4887,9 @@ var require_required = __commonJS({
4887
4887
  }
4888
4888
  });
4889
4889
 
4890
- // node_modules/ajv/dist/vocabularies/validation/limitItems.js
4890
+ // ../../node_modules/ajv/dist/vocabularies/validation/limitItems.js
4891
4891
  var require_limitItems = __commonJS({
4892
- "node_modules/ajv/dist/vocabularies/validation/limitItems.js"(exports2) {
4892
+ "../../node_modules/ajv/dist/vocabularies/validation/limitItems.js"(exports2) {
4893
4893
  "use strict";
4894
4894
  Object.defineProperty(exports2, "__esModule", { value: true });
4895
4895
  var codegen_1 = require_codegen();
@@ -4916,9 +4916,9 @@ var require_limitItems = __commonJS({
4916
4916
  }
4917
4917
  });
4918
4918
 
4919
- // node_modules/ajv/dist/runtime/equal.js
4919
+ // ../../node_modules/ajv/dist/runtime/equal.js
4920
4920
  var require_equal = __commonJS({
4921
- "node_modules/ajv/dist/runtime/equal.js"(exports2) {
4921
+ "../../node_modules/ajv/dist/runtime/equal.js"(exports2) {
4922
4922
  "use strict";
4923
4923
  Object.defineProperty(exports2, "__esModule", { value: true });
4924
4924
  var equal = require_fast_deep_equal();
@@ -4927,9 +4927,9 @@ var require_equal = __commonJS({
4927
4927
  }
4928
4928
  });
4929
4929
 
4930
- // node_modules/ajv/dist/vocabularies/validation/uniqueItems.js
4930
+ // ../../node_modules/ajv/dist/vocabularies/validation/uniqueItems.js
4931
4931
  var require_uniqueItems = __commonJS({
4932
- "node_modules/ajv/dist/vocabularies/validation/uniqueItems.js"(exports2) {
4932
+ "../../node_modules/ajv/dist/vocabularies/validation/uniqueItems.js"(exports2) {
4933
4933
  "use strict";
4934
4934
  Object.defineProperty(exports2, "__esModule", { value: true });
4935
4935
  var dataType_1 = require_dataType();
@@ -4994,9 +4994,9 @@ var require_uniqueItems = __commonJS({
4994
4994
  }
4995
4995
  });
4996
4996
 
4997
- // node_modules/ajv/dist/vocabularies/validation/const.js
4997
+ // ../../node_modules/ajv/dist/vocabularies/validation/const.js
4998
4998
  var require_const = __commonJS({
4999
- "node_modules/ajv/dist/vocabularies/validation/const.js"(exports2) {
4999
+ "../../node_modules/ajv/dist/vocabularies/validation/const.js"(exports2) {
5000
5000
  "use strict";
5001
5001
  Object.defineProperty(exports2, "__esModule", { value: true });
5002
5002
  var codegen_1 = require_codegen();
@@ -5023,9 +5023,9 @@ var require_const = __commonJS({
5023
5023
  }
5024
5024
  });
5025
5025
 
5026
- // node_modules/ajv/dist/vocabularies/validation/enum.js
5026
+ // ../../node_modules/ajv/dist/vocabularies/validation/enum.js
5027
5027
  var require_enum = __commonJS({
5028
- "node_modules/ajv/dist/vocabularies/validation/enum.js"(exports2) {
5028
+ "../../node_modules/ajv/dist/vocabularies/validation/enum.js"(exports2) {
5029
5029
  "use strict";
5030
5030
  Object.defineProperty(exports2, "__esModule", { value: true });
5031
5031
  var codegen_1 = require_codegen();
@@ -5072,9 +5072,9 @@ var require_enum = __commonJS({
5072
5072
  }
5073
5073
  });
5074
5074
 
5075
- // node_modules/ajv/dist/vocabularies/validation/index.js
5075
+ // ../../node_modules/ajv/dist/vocabularies/validation/index.js
5076
5076
  var require_validation = __commonJS({
5077
- "node_modules/ajv/dist/vocabularies/validation/index.js"(exports2) {
5077
+ "../../node_modules/ajv/dist/vocabularies/validation/index.js"(exports2) {
5078
5078
  "use strict";
5079
5079
  Object.defineProperty(exports2, "__esModule", { value: true });
5080
5080
  var limitNumber_1 = require_limitNumber();
@@ -5110,9 +5110,9 @@ var require_validation = __commonJS({
5110
5110
  }
5111
5111
  });
5112
5112
 
5113
- // node_modules/ajv/dist/vocabularies/applicator/additionalItems.js
5113
+ // ../../node_modules/ajv/dist/vocabularies/applicator/additionalItems.js
5114
5114
  var require_additionalItems = __commonJS({
5115
- "node_modules/ajv/dist/vocabularies/applicator/additionalItems.js"(exports2) {
5115
+ "../../node_modules/ajv/dist/vocabularies/applicator/additionalItems.js"(exports2) {
5116
5116
  "use strict";
5117
5117
  Object.defineProperty(exports2, "__esModule", { value: true });
5118
5118
  exports2.validateAdditionalItems = void 0;
@@ -5163,9 +5163,9 @@ var require_additionalItems = __commonJS({
5163
5163
  }
5164
5164
  });
5165
5165
 
5166
- // node_modules/ajv/dist/vocabularies/applicator/items.js
5166
+ // ../../node_modules/ajv/dist/vocabularies/applicator/items.js
5167
5167
  var require_items = __commonJS({
5168
- "node_modules/ajv/dist/vocabularies/applicator/items.js"(exports2) {
5168
+ "../../node_modules/ajv/dist/vocabularies/applicator/items.js"(exports2) {
5169
5169
  "use strict";
5170
5170
  Object.defineProperty(exports2, "__esModule", { value: true });
5171
5171
  exports2.validateTuple = void 0;
@@ -5220,9 +5220,9 @@ var require_items = __commonJS({
5220
5220
  }
5221
5221
  });
5222
5222
 
5223
- // node_modules/ajv/dist/vocabularies/applicator/prefixItems.js
5223
+ // ../../node_modules/ajv/dist/vocabularies/applicator/prefixItems.js
5224
5224
  var require_prefixItems = __commonJS({
5225
- "node_modules/ajv/dist/vocabularies/applicator/prefixItems.js"(exports2) {
5225
+ "../../node_modules/ajv/dist/vocabularies/applicator/prefixItems.js"(exports2) {
5226
5226
  "use strict";
5227
5227
  Object.defineProperty(exports2, "__esModule", { value: true });
5228
5228
  var items_1 = require_items();
@@ -5237,9 +5237,9 @@ var require_prefixItems = __commonJS({
5237
5237
  }
5238
5238
  });
5239
5239
 
5240
- // node_modules/ajv/dist/vocabularies/applicator/items2020.js
5240
+ // ../../node_modules/ajv/dist/vocabularies/applicator/items2020.js
5241
5241
  var require_items2020 = __commonJS({
5242
- "node_modules/ajv/dist/vocabularies/applicator/items2020.js"(exports2) {
5242
+ "../../node_modules/ajv/dist/vocabularies/applicator/items2020.js"(exports2) {
5243
5243
  "use strict";
5244
5244
  Object.defineProperty(exports2, "__esModule", { value: true });
5245
5245
  var codegen_1 = require_codegen();
@@ -5272,9 +5272,9 @@ var require_items2020 = __commonJS({
5272
5272
  }
5273
5273
  });
5274
5274
 
5275
- // node_modules/ajv/dist/vocabularies/applicator/contains.js
5275
+ // ../../node_modules/ajv/dist/vocabularies/applicator/contains.js
5276
5276
  var require_contains = __commonJS({
5277
- "node_modules/ajv/dist/vocabularies/applicator/contains.js"(exports2) {
5277
+ "../../node_modules/ajv/dist/vocabularies/applicator/contains.js"(exports2) {
5278
5278
  "use strict";
5279
5279
  Object.defineProperty(exports2, "__esModule", { value: true });
5280
5280
  var codegen_1 = require_codegen();
@@ -5366,9 +5366,9 @@ var require_contains = __commonJS({
5366
5366
  }
5367
5367
  });
5368
5368
 
5369
- // node_modules/ajv/dist/vocabularies/applicator/dependencies.js
5369
+ // ../../node_modules/ajv/dist/vocabularies/applicator/dependencies.js
5370
5370
  var require_dependencies = __commonJS({
5371
- "node_modules/ajv/dist/vocabularies/applicator/dependencies.js"(exports2) {
5371
+ "../../node_modules/ajv/dist/vocabularies/applicator/dependencies.js"(exports2) {
5372
5372
  "use strict";
5373
5373
  Object.defineProperty(exports2, "__esModule", { value: true });
5374
5374
  exports2.validateSchemaDeps = exports2.validatePropertyDeps = exports2.error = void 0;
@@ -5460,9 +5460,9 @@ var require_dependencies = __commonJS({
5460
5460
  }
5461
5461
  });
5462
5462
 
5463
- // node_modules/ajv/dist/vocabularies/applicator/propertyNames.js
5463
+ // ../../node_modules/ajv/dist/vocabularies/applicator/propertyNames.js
5464
5464
  var require_propertyNames = __commonJS({
5465
- "node_modules/ajv/dist/vocabularies/applicator/propertyNames.js"(exports2) {
5465
+ "../../node_modules/ajv/dist/vocabularies/applicator/propertyNames.js"(exports2) {
5466
5466
  "use strict";
5467
5467
  Object.defineProperty(exports2, "__esModule", { value: true });
5468
5468
  var codegen_1 = require_codegen();
@@ -5503,9 +5503,9 @@ var require_propertyNames = __commonJS({
5503
5503
  }
5504
5504
  });
5505
5505
 
5506
- // node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js
5506
+ // ../../node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js
5507
5507
  var require_additionalProperties = __commonJS({
5508
- "node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js"(exports2) {
5508
+ "../../node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js"(exports2) {
5509
5509
  "use strict";
5510
5510
  Object.defineProperty(exports2, "__esModule", { value: true });
5511
5511
  var code_1 = require_code2();
@@ -5609,9 +5609,9 @@ var require_additionalProperties = __commonJS({
5609
5609
  }
5610
5610
  });
5611
5611
 
5612
- // node_modules/ajv/dist/vocabularies/applicator/properties.js
5612
+ // ../../node_modules/ajv/dist/vocabularies/applicator/properties.js
5613
5613
  var require_properties = __commonJS({
5614
- "node_modules/ajv/dist/vocabularies/applicator/properties.js"(exports2) {
5614
+ "../../node_modules/ajv/dist/vocabularies/applicator/properties.js"(exports2) {
5615
5615
  "use strict";
5616
5616
  Object.defineProperty(exports2, "__esModule", { value: true });
5617
5617
  var validate_1 = require_validate();
@@ -5667,9 +5667,9 @@ var require_properties = __commonJS({
5667
5667
  }
5668
5668
  });
5669
5669
 
5670
- // node_modules/ajv/dist/vocabularies/applicator/patternProperties.js
5670
+ // ../../node_modules/ajv/dist/vocabularies/applicator/patternProperties.js
5671
5671
  var require_patternProperties = __commonJS({
5672
- "node_modules/ajv/dist/vocabularies/applicator/patternProperties.js"(exports2) {
5672
+ "../../node_modules/ajv/dist/vocabularies/applicator/patternProperties.js"(exports2) {
5673
5673
  "use strict";
5674
5674
  Object.defineProperty(exports2, "__esModule", { value: true });
5675
5675
  var code_1 = require_code2();
@@ -5741,9 +5741,9 @@ var require_patternProperties = __commonJS({
5741
5741
  }
5742
5742
  });
5743
5743
 
5744
- // node_modules/ajv/dist/vocabularies/applicator/not.js
5744
+ // ../../node_modules/ajv/dist/vocabularies/applicator/not.js
5745
5745
  var require_not = __commonJS({
5746
- "node_modules/ajv/dist/vocabularies/applicator/not.js"(exports2) {
5746
+ "../../node_modules/ajv/dist/vocabularies/applicator/not.js"(exports2) {
5747
5747
  "use strict";
5748
5748
  Object.defineProperty(exports2, "__esModule", { value: true });
5749
5749
  var util_1 = require_util();
@@ -5772,9 +5772,9 @@ var require_not = __commonJS({
5772
5772
  }
5773
5773
  });
5774
5774
 
5775
- // node_modules/ajv/dist/vocabularies/applicator/anyOf.js
5775
+ // ../../node_modules/ajv/dist/vocabularies/applicator/anyOf.js
5776
5776
  var require_anyOf = __commonJS({
5777
- "node_modules/ajv/dist/vocabularies/applicator/anyOf.js"(exports2) {
5777
+ "../../node_modules/ajv/dist/vocabularies/applicator/anyOf.js"(exports2) {
5778
5778
  "use strict";
5779
5779
  Object.defineProperty(exports2, "__esModule", { value: true });
5780
5780
  var code_1 = require_code2();
@@ -5789,9 +5789,9 @@ var require_anyOf = __commonJS({
5789
5789
  }
5790
5790
  });
5791
5791
 
5792
- // node_modules/ajv/dist/vocabularies/applicator/oneOf.js
5792
+ // ../../node_modules/ajv/dist/vocabularies/applicator/oneOf.js
5793
5793
  var require_oneOf = __commonJS({
5794
- "node_modules/ajv/dist/vocabularies/applicator/oneOf.js"(exports2) {
5794
+ "../../node_modules/ajv/dist/vocabularies/applicator/oneOf.js"(exports2) {
5795
5795
  "use strict";
5796
5796
  Object.defineProperty(exports2, "__esModule", { value: true });
5797
5797
  var codegen_1 = require_codegen();
@@ -5847,9 +5847,9 @@ var require_oneOf = __commonJS({
5847
5847
  }
5848
5848
  });
5849
5849
 
5850
- // node_modules/ajv/dist/vocabularies/applicator/allOf.js
5850
+ // ../../node_modules/ajv/dist/vocabularies/applicator/allOf.js
5851
5851
  var require_allOf = __commonJS({
5852
- "node_modules/ajv/dist/vocabularies/applicator/allOf.js"(exports2) {
5852
+ "../../node_modules/ajv/dist/vocabularies/applicator/allOf.js"(exports2) {
5853
5853
  "use strict";
5854
5854
  Object.defineProperty(exports2, "__esModule", { value: true });
5855
5855
  var util_1 = require_util();
@@ -5874,9 +5874,9 @@ var require_allOf = __commonJS({
5874
5874
  }
5875
5875
  });
5876
5876
 
5877
- // node_modules/ajv/dist/vocabularies/applicator/if.js
5877
+ // ../../node_modules/ajv/dist/vocabularies/applicator/if.js
5878
5878
  var require_if = __commonJS({
5879
- "node_modules/ajv/dist/vocabularies/applicator/if.js"(exports2) {
5879
+ "../../node_modules/ajv/dist/vocabularies/applicator/if.js"(exports2) {
5880
5880
  "use strict";
5881
5881
  Object.defineProperty(exports2, "__esModule", { value: true });
5882
5882
  var codegen_1 = require_codegen();
@@ -5943,9 +5943,9 @@ var require_if = __commonJS({
5943
5943
  }
5944
5944
  });
5945
5945
 
5946
- // node_modules/ajv/dist/vocabularies/applicator/thenElse.js
5946
+ // ../../node_modules/ajv/dist/vocabularies/applicator/thenElse.js
5947
5947
  var require_thenElse = __commonJS({
5948
- "node_modules/ajv/dist/vocabularies/applicator/thenElse.js"(exports2) {
5948
+ "../../node_modules/ajv/dist/vocabularies/applicator/thenElse.js"(exports2) {
5949
5949
  "use strict";
5950
5950
  Object.defineProperty(exports2, "__esModule", { value: true });
5951
5951
  var util_1 = require_util();
@@ -5961,9 +5961,9 @@ var require_thenElse = __commonJS({
5961
5961
  }
5962
5962
  });
5963
5963
 
5964
- // node_modules/ajv/dist/vocabularies/applicator/index.js
5964
+ // ../../node_modules/ajv/dist/vocabularies/applicator/index.js
5965
5965
  var require_applicator = __commonJS({
5966
- "node_modules/ajv/dist/vocabularies/applicator/index.js"(exports2) {
5966
+ "../../node_modules/ajv/dist/vocabularies/applicator/index.js"(exports2) {
5967
5967
  "use strict";
5968
5968
  Object.defineProperty(exports2, "__esModule", { value: true });
5969
5969
  var additionalItems_1 = require_additionalItems();
@@ -6009,9 +6009,9 @@ var require_applicator = __commonJS({
6009
6009
  }
6010
6010
  });
6011
6011
 
6012
- // node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.js
6012
+ // ../../node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.js
6013
6013
  var require_dynamicAnchor = __commonJS({
6014
- "node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.js"(exports2) {
6014
+ "../../node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.js"(exports2) {
6015
6015
  "use strict";
6016
6016
  Object.defineProperty(exports2, "__esModule", { value: true });
6017
6017
  exports2.dynamicAnchor = void 0;
@@ -6044,9 +6044,9 @@ var require_dynamicAnchor = __commonJS({
6044
6044
  }
6045
6045
  });
6046
6046
 
6047
- // node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.js
6047
+ // ../../node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.js
6048
6048
  var require_dynamicRef = __commonJS({
6049
- "node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.js"(exports2) {
6049
+ "../../node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.js"(exports2) {
6050
6050
  "use strict";
6051
6051
  Object.defineProperty(exports2, "__esModule", { value: true });
6052
6052
  exports2.dynamicRef = void 0;
@@ -6090,9 +6090,9 @@ var require_dynamicRef = __commonJS({
6090
6090
  }
6091
6091
  });
6092
6092
 
6093
- // node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.js
6093
+ // ../../node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.js
6094
6094
  var require_recursiveAnchor = __commonJS({
6095
- "node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.js"(exports2) {
6095
+ "../../node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.js"(exports2) {
6096
6096
  "use strict";
6097
6097
  Object.defineProperty(exports2, "__esModule", { value: true });
6098
6098
  var dynamicAnchor_1 = require_dynamicAnchor();
@@ -6111,9 +6111,9 @@ var require_recursiveAnchor = __commonJS({
6111
6111
  }
6112
6112
  });
6113
6113
 
6114
- // node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.js
6114
+ // ../../node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.js
6115
6115
  var require_recursiveRef = __commonJS({
6116
- "node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.js"(exports2) {
6116
+ "../../node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.js"(exports2) {
6117
6117
  "use strict";
6118
6118
  Object.defineProperty(exports2, "__esModule", { value: true });
6119
6119
  var dynamicRef_1 = require_dynamicRef();
@@ -6126,9 +6126,9 @@ var require_recursiveRef = __commonJS({
6126
6126
  }
6127
6127
  });
6128
6128
 
6129
- // node_modules/ajv/dist/vocabularies/dynamic/index.js
6129
+ // ../../node_modules/ajv/dist/vocabularies/dynamic/index.js
6130
6130
  var require_dynamic = __commonJS({
6131
- "node_modules/ajv/dist/vocabularies/dynamic/index.js"(exports2) {
6131
+ "../../node_modules/ajv/dist/vocabularies/dynamic/index.js"(exports2) {
6132
6132
  "use strict";
6133
6133
  Object.defineProperty(exports2, "__esModule", { value: true });
6134
6134
  var dynamicAnchor_1 = require_dynamicAnchor();
@@ -6140,9 +6140,9 @@ var require_dynamic = __commonJS({
6140
6140
  }
6141
6141
  });
6142
6142
 
6143
- // node_modules/ajv/dist/vocabularies/validation/dependentRequired.js
6143
+ // ../../node_modules/ajv/dist/vocabularies/validation/dependentRequired.js
6144
6144
  var require_dependentRequired = __commonJS({
6145
- "node_modules/ajv/dist/vocabularies/validation/dependentRequired.js"(exports2) {
6145
+ "../../node_modules/ajv/dist/vocabularies/validation/dependentRequired.js"(exports2) {
6146
6146
  "use strict";
6147
6147
  Object.defineProperty(exports2, "__esModule", { value: true });
6148
6148
  var dependencies_1 = require_dependencies();
@@ -6157,9 +6157,9 @@ var require_dependentRequired = __commonJS({
6157
6157
  }
6158
6158
  });
6159
6159
 
6160
- // node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.js
6160
+ // ../../node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.js
6161
6161
  var require_dependentSchemas = __commonJS({
6162
- "node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.js"(exports2) {
6162
+ "../../node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.js"(exports2) {
6163
6163
  "use strict";
6164
6164
  Object.defineProperty(exports2, "__esModule", { value: true });
6165
6165
  var dependencies_1 = require_dependencies();
@@ -6173,9 +6173,9 @@ var require_dependentSchemas = __commonJS({
6173
6173
  }
6174
6174
  });
6175
6175
 
6176
- // node_modules/ajv/dist/vocabularies/validation/limitContains.js
6176
+ // ../../node_modules/ajv/dist/vocabularies/validation/limitContains.js
6177
6177
  var require_limitContains = __commonJS({
6178
- "node_modules/ajv/dist/vocabularies/validation/limitContains.js"(exports2) {
6178
+ "../../node_modules/ajv/dist/vocabularies/validation/limitContains.js"(exports2) {
6179
6179
  "use strict";
6180
6180
  Object.defineProperty(exports2, "__esModule", { value: true });
6181
6181
  var util_1 = require_util();
@@ -6193,9 +6193,9 @@ var require_limitContains = __commonJS({
6193
6193
  }
6194
6194
  });
6195
6195
 
6196
- // node_modules/ajv/dist/vocabularies/next.js
6196
+ // ../../node_modules/ajv/dist/vocabularies/next.js
6197
6197
  var require_next = __commonJS({
6198
- "node_modules/ajv/dist/vocabularies/next.js"(exports2) {
6198
+ "../../node_modules/ajv/dist/vocabularies/next.js"(exports2) {
6199
6199
  "use strict";
6200
6200
  Object.defineProperty(exports2, "__esModule", { value: true });
6201
6201
  var dependentRequired_1 = require_dependentRequired();
@@ -6206,9 +6206,9 @@ var require_next = __commonJS({
6206
6206
  }
6207
6207
  });
6208
6208
 
6209
- // node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.js
6209
+ // ../../node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.js
6210
6210
  var require_unevaluatedProperties = __commonJS({
6211
- "node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.js"(exports2) {
6211
+ "../../node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.js"(exports2) {
6212
6212
  "use strict";
6213
6213
  Object.defineProperty(exports2, "__esModule", { value: true });
6214
6214
  var codegen_1 = require_codegen();
@@ -6272,9 +6272,9 @@ var require_unevaluatedProperties = __commonJS({
6272
6272
  }
6273
6273
  });
6274
6274
 
6275
- // node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.js
6275
+ // ../../node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.js
6276
6276
  var require_unevaluatedItems = __commonJS({
6277
- "node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.js"(exports2) {
6277
+ "../../node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.js"(exports2) {
6278
6278
  "use strict";
6279
6279
  Object.defineProperty(exports2, "__esModule", { value: true });
6280
6280
  var codegen_1 = require_codegen();
@@ -6316,9 +6316,9 @@ var require_unevaluatedItems = __commonJS({
6316
6316
  }
6317
6317
  });
6318
6318
 
6319
- // node_modules/ajv/dist/vocabularies/unevaluated/index.js
6319
+ // ../../node_modules/ajv/dist/vocabularies/unevaluated/index.js
6320
6320
  var require_unevaluated = __commonJS({
6321
- "node_modules/ajv/dist/vocabularies/unevaluated/index.js"(exports2) {
6321
+ "../../node_modules/ajv/dist/vocabularies/unevaluated/index.js"(exports2) {
6322
6322
  "use strict";
6323
6323
  Object.defineProperty(exports2, "__esModule", { value: true });
6324
6324
  var unevaluatedProperties_1 = require_unevaluatedProperties();
@@ -6328,9 +6328,9 @@ var require_unevaluated = __commonJS({
6328
6328
  }
6329
6329
  });
6330
6330
 
6331
- // node_modules/ajv/dist/vocabularies/format/format.js
6331
+ // ../../node_modules/ajv/dist/vocabularies/format/format.js
6332
6332
  var require_format = __commonJS({
6333
- "node_modules/ajv/dist/vocabularies/format/format.js"(exports2) {
6333
+ "../../node_modules/ajv/dist/vocabularies/format/format.js"(exports2) {
6334
6334
  "use strict";
6335
6335
  Object.defineProperty(exports2, "__esModule", { value: true });
6336
6336
  var codegen_1 = require_codegen();
@@ -6418,9 +6418,9 @@ var require_format = __commonJS({
6418
6418
  }
6419
6419
  });
6420
6420
 
6421
- // node_modules/ajv/dist/vocabularies/format/index.js
6421
+ // ../../node_modules/ajv/dist/vocabularies/format/index.js
6422
6422
  var require_format2 = __commonJS({
6423
- "node_modules/ajv/dist/vocabularies/format/index.js"(exports2) {
6423
+ "../../node_modules/ajv/dist/vocabularies/format/index.js"(exports2) {
6424
6424
  "use strict";
6425
6425
  Object.defineProperty(exports2, "__esModule", { value: true });
6426
6426
  var format_1 = require_format();
@@ -6429,9 +6429,9 @@ var require_format2 = __commonJS({
6429
6429
  }
6430
6430
  });
6431
6431
 
6432
- // node_modules/ajv/dist/vocabularies/metadata.js
6432
+ // ../../node_modules/ajv/dist/vocabularies/metadata.js
6433
6433
  var require_metadata = __commonJS({
6434
- "node_modules/ajv/dist/vocabularies/metadata.js"(exports2) {
6434
+ "../../node_modules/ajv/dist/vocabularies/metadata.js"(exports2) {
6435
6435
  "use strict";
6436
6436
  Object.defineProperty(exports2, "__esModule", { value: true });
6437
6437
  exports2.contentVocabulary = exports2.metadataVocabulary = void 0;
@@ -6452,9 +6452,9 @@ var require_metadata = __commonJS({
6452
6452
  }
6453
6453
  });
6454
6454
 
6455
- // node_modules/ajv/dist/vocabularies/draft2020.js
6455
+ // ../../node_modules/ajv/dist/vocabularies/draft2020.js
6456
6456
  var require_draft2020 = __commonJS({
6457
- "node_modules/ajv/dist/vocabularies/draft2020.js"(exports2) {
6457
+ "../../node_modules/ajv/dist/vocabularies/draft2020.js"(exports2) {
6458
6458
  "use strict";
6459
6459
  Object.defineProperty(exports2, "__esModule", { value: true });
6460
6460
  var core_1 = require_core2();
@@ -6480,9 +6480,9 @@ var require_draft2020 = __commonJS({
6480
6480
  }
6481
6481
  });
6482
6482
 
6483
- // node_modules/ajv/dist/vocabularies/discriminator/types.js
6483
+ // ../../node_modules/ajv/dist/vocabularies/discriminator/types.js
6484
6484
  var require_types = __commonJS({
6485
- "node_modules/ajv/dist/vocabularies/discriminator/types.js"(exports2) {
6485
+ "../../node_modules/ajv/dist/vocabularies/discriminator/types.js"(exports2) {
6486
6486
  "use strict";
6487
6487
  Object.defineProperty(exports2, "__esModule", { value: true });
6488
6488
  exports2.DiscrError = void 0;
@@ -6494,9 +6494,9 @@ var require_types = __commonJS({
6494
6494
  }
6495
6495
  });
6496
6496
 
6497
- // node_modules/ajv/dist/vocabularies/discriminator/index.js
6497
+ // ../../node_modules/ajv/dist/vocabularies/discriminator/index.js
6498
6498
  var require_discriminator = __commonJS({
6499
- "node_modules/ajv/dist/vocabularies/discriminator/index.js"(exports2) {
6499
+ "../../node_modules/ajv/dist/vocabularies/discriminator/index.js"(exports2) {
6500
6500
  "use strict";
6501
6501
  Object.defineProperty(exports2, "__esModule", { value: true });
6502
6502
  var codegen_1 = require_codegen();
@@ -6599,9 +6599,9 @@ var require_discriminator = __commonJS({
6599
6599
  }
6600
6600
  });
6601
6601
 
6602
- // node_modules/ajv/dist/refs/json-schema-2020-12/schema.json
6602
+ // ../../node_modules/ajv/dist/refs/json-schema-2020-12/schema.json
6603
6603
  var require_schema = __commonJS({
6604
- "node_modules/ajv/dist/refs/json-schema-2020-12/schema.json"(exports2, module2) {
6604
+ "../../node_modules/ajv/dist/refs/json-schema-2020-12/schema.json"(exports2, module2) {
6605
6605
  module2.exports = {
6606
6606
  $schema: "https://json-schema.org/draft/2020-12/schema",
6607
6607
  $id: "https://json-schema.org/draft/2020-12/schema",
@@ -6659,9 +6659,9 @@ var require_schema = __commonJS({
6659
6659
  }
6660
6660
  });
6661
6661
 
6662
- // node_modules/ajv/dist/refs/json-schema-2020-12/meta/applicator.json
6662
+ // ../../node_modules/ajv/dist/refs/json-schema-2020-12/meta/applicator.json
6663
6663
  var require_applicator2 = __commonJS({
6664
- "node_modules/ajv/dist/refs/json-schema-2020-12/meta/applicator.json"(exports2, module2) {
6664
+ "../../node_modules/ajv/dist/refs/json-schema-2020-12/meta/applicator.json"(exports2, module2) {
6665
6665
  module2.exports = {
6666
6666
  $schema: "https://json-schema.org/draft/2020-12/schema",
6667
6667
  $id: "https://json-schema.org/draft/2020-12/meta/applicator",
@@ -6712,9 +6712,9 @@ var require_applicator2 = __commonJS({
6712
6712
  }
6713
6713
  });
6714
6714
 
6715
- // node_modules/ajv/dist/refs/json-schema-2020-12/meta/unevaluated.json
6715
+ // ../../node_modules/ajv/dist/refs/json-schema-2020-12/meta/unevaluated.json
6716
6716
  var require_unevaluated2 = __commonJS({
6717
- "node_modules/ajv/dist/refs/json-schema-2020-12/meta/unevaluated.json"(exports2, module2) {
6717
+ "../../node_modules/ajv/dist/refs/json-schema-2020-12/meta/unevaluated.json"(exports2, module2) {
6718
6718
  module2.exports = {
6719
6719
  $schema: "https://json-schema.org/draft/2020-12/schema",
6720
6720
  $id: "https://json-schema.org/draft/2020-12/meta/unevaluated",
@@ -6732,9 +6732,9 @@ var require_unevaluated2 = __commonJS({
6732
6732
  }
6733
6733
  });
6734
6734
 
6735
- // node_modules/ajv/dist/refs/json-schema-2020-12/meta/content.json
6735
+ // ../../node_modules/ajv/dist/refs/json-schema-2020-12/meta/content.json
6736
6736
  var require_content = __commonJS({
6737
- "node_modules/ajv/dist/refs/json-schema-2020-12/meta/content.json"(exports2, module2) {
6737
+ "../../node_modules/ajv/dist/refs/json-schema-2020-12/meta/content.json"(exports2, module2) {
6738
6738
  module2.exports = {
6739
6739
  $schema: "https://json-schema.org/draft/2020-12/schema",
6740
6740
  $id: "https://json-schema.org/draft/2020-12/meta/content",
@@ -6753,9 +6753,9 @@ var require_content = __commonJS({
6753
6753
  }
6754
6754
  });
6755
6755
 
6756
- // node_modules/ajv/dist/refs/json-schema-2020-12/meta/core.json
6756
+ // ../../node_modules/ajv/dist/refs/json-schema-2020-12/meta/core.json
6757
6757
  var require_core3 = __commonJS({
6758
- "node_modules/ajv/dist/refs/json-schema-2020-12/meta/core.json"(exports2, module2) {
6758
+ "../../node_modules/ajv/dist/refs/json-schema-2020-12/meta/core.json"(exports2, module2) {
6759
6759
  module2.exports = {
6760
6760
  $schema: "https://json-schema.org/draft/2020-12/schema",
6761
6761
  $id: "https://json-schema.org/draft/2020-12/meta/core",
@@ -6809,9 +6809,9 @@ var require_core3 = __commonJS({
6809
6809
  }
6810
6810
  });
6811
6811
 
6812
- // node_modules/ajv/dist/refs/json-schema-2020-12/meta/format-annotation.json
6812
+ // ../../node_modules/ajv/dist/refs/json-schema-2020-12/meta/format-annotation.json
6813
6813
  var require_format_annotation = __commonJS({
6814
- "node_modules/ajv/dist/refs/json-schema-2020-12/meta/format-annotation.json"(exports2, module2) {
6814
+ "../../node_modules/ajv/dist/refs/json-schema-2020-12/meta/format-annotation.json"(exports2, module2) {
6815
6815
  module2.exports = {
6816
6816
  $schema: "https://json-schema.org/draft/2020-12/schema",
6817
6817
  $id: "https://json-schema.org/draft/2020-12/meta/format-annotation",
@@ -6828,9 +6828,9 @@ var require_format_annotation = __commonJS({
6828
6828
  }
6829
6829
  });
6830
6830
 
6831
- // node_modules/ajv/dist/refs/json-schema-2020-12/meta/meta-data.json
6831
+ // ../../node_modules/ajv/dist/refs/json-schema-2020-12/meta/meta-data.json
6832
6832
  var require_meta_data = __commonJS({
6833
- "node_modules/ajv/dist/refs/json-schema-2020-12/meta/meta-data.json"(exports2, module2) {
6833
+ "../../node_modules/ajv/dist/refs/json-schema-2020-12/meta/meta-data.json"(exports2, module2) {
6834
6834
  module2.exports = {
6835
6835
  $schema: "https://json-schema.org/draft/2020-12/schema",
6836
6836
  $id: "https://json-schema.org/draft/2020-12/meta/meta-data",
@@ -6869,9 +6869,9 @@ var require_meta_data = __commonJS({
6869
6869
  }
6870
6870
  });
6871
6871
 
6872
- // node_modules/ajv/dist/refs/json-schema-2020-12/meta/validation.json
6872
+ // ../../node_modules/ajv/dist/refs/json-schema-2020-12/meta/validation.json
6873
6873
  var require_validation2 = __commonJS({
6874
- "node_modules/ajv/dist/refs/json-schema-2020-12/meta/validation.json"(exports2, module2) {
6874
+ "../../node_modules/ajv/dist/refs/json-schema-2020-12/meta/validation.json"(exports2, module2) {
6875
6875
  module2.exports = {
6876
6876
  $schema: "https://json-schema.org/draft/2020-12/schema",
6877
6877
  $id: "https://json-schema.org/draft/2020-12/meta/validation",
@@ -6964,9 +6964,9 @@ var require_validation2 = __commonJS({
6964
6964
  }
6965
6965
  });
6966
6966
 
6967
- // node_modules/ajv/dist/refs/json-schema-2020-12/index.js
6967
+ // ../../node_modules/ajv/dist/refs/json-schema-2020-12/index.js
6968
6968
  var require_json_schema_2020_12 = __commonJS({
6969
- "node_modules/ajv/dist/refs/json-schema-2020-12/index.js"(exports2) {
6969
+ "../../node_modules/ajv/dist/refs/json-schema-2020-12/index.js"(exports2) {
6970
6970
  "use strict";
6971
6971
  Object.defineProperty(exports2, "__esModule", { value: true });
6972
6972
  var metaSchema = require_schema();
@@ -6999,9 +6999,9 @@ var require_json_schema_2020_12 = __commonJS({
6999
6999
  }
7000
7000
  });
7001
7001
 
7002
- // node_modules/ajv/dist/2020.js
7002
+ // ../../node_modules/ajv/dist/2020.js
7003
7003
  var require__ = __commonJS({
7004
- "node_modules/ajv/dist/2020.js"(exports2, module2) {
7004
+ "../../node_modules/ajv/dist/2020.js"(exports2, module2) {
7005
7005
  "use strict";
7006
7006
  Object.defineProperty(exports2, "__esModule", { value: true });
7007
7007
  exports2.MissingRefError = exports2.ValidationError = exports2.CodeGen = exports2.Name = exports2.nil = exports2.stringify = exports2.str = exports2._ = exports2.KeywordCxt = exports2.Ajv2020 = void 0;
@@ -7076,11 +7076,11 @@ var require__ = __commonJS({
7076
7076
  }
7077
7077
  });
7078
7078
 
7079
- // src/cli/main.ts
7079
+ // ../../src/cli/main.ts
7080
7080
  var fs43 = __toESM(require("node:fs"));
7081
7081
  var path43 = __toESM(require("node:path"));
7082
7082
 
7083
- // src/cli/argv.ts
7083
+ // ../../src/cli/argv.ts
7084
7084
  function isGlobalFlag(s) {
7085
7085
  return s === "--cwd" || s === "--ci" || s === "--json" || s === "--verbose" || s === "--config" || s === "--api-base-url" || s === "--session-path" || s === "--environment" || s === "--env" || s === "--promote" || s === "--no-promote" || s === "--help" || s === "-h" || s === "--version" || s === "-V";
7086
7086
  }
@@ -7167,7 +7167,7 @@ function parseArgv(argv) {
7167
7167
  return { flags, positionals };
7168
7168
  }
7169
7169
 
7170
- // src/cli/exitCodes.ts
7170
+ // ../../src/cli/exitCodes.ts
7171
7171
  var ExitCode = {
7172
7172
  ok: 0,
7173
7173
  usage: 2,
@@ -7180,17 +7180,17 @@ var ExitCode = {
7180
7180
  internal: 99
7181
7181
  };
7182
7182
 
7183
- // src/cli/jsonReporter.ts
7183
+ // ../../src/cli/jsonReporter.ts
7184
7184
  function printJsonLine(envelope) {
7185
7185
  process.stdout.write(`${JSON.stringify(envelope)}
7186
7186
  `);
7187
7187
  }
7188
7188
 
7189
- // src/cli/cliContext.ts
7189
+ // ../../src/cli/cliContext.ts
7190
7190
  var fs2 = __toESM(require("node:fs"));
7191
7191
  var path2 = __toESM(require("path"));
7192
7192
 
7193
- // src/repositoryProvenance.ts
7193
+ // ../../src/repositoryProvenance.ts
7194
7194
  var import_node_child_process = require("node:child_process");
7195
7195
  var fs = __toESM(require("node:fs"));
7196
7196
  var path = __toESM(require("node:path"));
@@ -7356,7 +7356,7 @@ function attachRepositoryProvenance(doc, contextDir2, opts) {
7356
7356
  }
7357
7357
  }
7358
7358
 
7359
- // src/apiBaseUrlResolve.ts
7359
+ // ../../src/apiBaseUrlResolve.ts
7360
7360
  var vscode = __toESM(require_vscode_stub());
7361
7361
  var extensionRoot;
7362
7362
  var cachedExtensionDotEnv = null;
@@ -7365,11 +7365,11 @@ function setApiBaseUrlExtensionRoot(extensionFsPath) {
7365
7365
  cachedExtensionDotEnv = null;
7366
7366
  }
7367
7367
 
7368
- // src/easyspecsBuiltInApiUrls.ts
7368
+ // ../../src/easyspecsBuiltInApiUrls.ts
7369
7369
  var PRODUCTION_SYSTEM_MANAGER_URL = "https://api.easyspecs.ai";
7370
7370
  var STAGING_SYSTEM_MANAGER_URL = "https://system-manager-api.staging.gluecharm.info:8092";
7371
7371
 
7372
- // src/easyspecsApiBaseUrlCli.ts
7372
+ // ../../src/easyspecsApiBaseUrlCli.ts
7373
7373
  function stripTrailingSlash(url) {
7374
7374
  return url.replace(/\/$/, "");
7375
7375
  }
@@ -7386,7 +7386,7 @@ function resolveEasyspecsApiBaseUrlForCli(input) {
7386
7386
  return eff === "staging" ? STAGING_SYSTEM_MANAGER_URL : PRODUCTION_SYSTEM_MANAGER_URL;
7387
7387
  }
7388
7388
 
7389
- // src/cli/cliContext.ts
7389
+ // ../../src/cli/cliContext.ts
7390
7390
  function thisDir() {
7391
7391
  return __dirname;
7392
7392
  }
@@ -7395,30 +7395,35 @@ function resolveRepoRoot(flags) {
7395
7395
  const git = findGitRepoRoot(abs);
7396
7396
  return git ?? abs;
7397
7397
  }
7398
- function resolveExtensionRoot() {
7399
- const env = process.env.EASYSPECS_EXTENSION_ROOT?.trim();
7400
- if (env) {
7401
- return path2.resolve(env);
7398
+ function resolveExtensionRootForCli(repoRoot, config) {
7399
+ const raw = config.easyspecs?.cli?.bundledResourcesRoot?.trim();
7400
+ if (raw) {
7401
+ const resourcesAbs = path2.isAbsolute(raw) ? path2.normalize(raw) : path2.resolve(repoRoot, raw);
7402
+ return path2.resolve(resourcesAbs, "..");
7402
7403
  }
7404
+ return resolveExtensionRootHeuristic();
7405
+ }
7406
+ function resolveExtensionRootHeuristic() {
7403
7407
  const here = thisDir();
7404
7408
  if (here.includes(`${path2.sep}packages${path2.sep}cli${path2.sep}dist`)) {
7405
7409
  return path2.resolve(here, "..", "..", "..");
7406
7410
  }
7407
7411
  return path2.resolve(here, "..", "..");
7408
7412
  }
7409
- function resolveOpenCodeAgentsDir() {
7410
- const resEnv = process.env.EASYSPECS_CLI_RESOURCES?.trim();
7411
- if (resEnv) {
7412
- return path2.join(path2.resolve(resEnv), "opencode-agents");
7413
+ function resolveOpenCodeAgentsDir(repoRoot, config) {
7414
+ const raw = config.easyspecs?.cli?.bundledResourcesRoot?.trim();
7415
+ if (raw) {
7416
+ const resourcesAbs = path2.isAbsolute(raw) ? path2.normalize(raw) : path2.resolve(repoRoot, raw);
7417
+ return path2.join(resourcesAbs, "opencode-agents");
7413
7418
  }
7414
7419
  const here = thisDir();
7415
7420
  if (here.includes(`${path2.sep}packages${path2.sep}cli${path2.sep}dist`)) {
7416
7421
  return path2.join(here, "..", "resources", "opencode-agents");
7417
7422
  }
7418
- return path2.join(resolveExtensionRoot(), "resources", "opencode-agents");
7423
+ return path2.join(resolveExtensionRootHeuristic(), "resources", "opencode-agents");
7419
7424
  }
7420
7425
  function initApiBaseUrlForCli(repoRoot, flags, config) {
7421
- const extensionRoot2 = resolveExtensionRoot();
7426
+ const extensionRoot2 = resolveExtensionRootForCli(repoRoot, config);
7422
7427
  setApiBaseUrlExtensionRoot(extensionRoot2);
7423
7428
  return resolveEasyspecsApiBaseUrlForCli({
7424
7429
  flagApiBaseUrl: flags.apiBaseUrl,
@@ -7429,12 +7434,12 @@ function initApiBaseUrlForCli(repoRoot, flags, config) {
7429
7434
  function assertAgentsDirExists(agentsDir) {
7430
7435
  if (!fs2.existsSync(agentsDir)) {
7431
7436
  throw new Error(
7432
- `OpenCode agents directory missing: ${agentsDir}. Set EASYSPECS_EXTENSION_ROOT or EASYSPECS_CLI_RESOURCES, or run \`npm run build:cli\` to copy resources.`
7437
+ `OpenCode agents directory missing: ${agentsDir}. Set easyspecs.cli.bundledResourcesRoot in .easyspecs/config.json to your EasySpecs resources directory (folder containing opencode-agents/), or run "npm run build:cli" so packages/cli ships resources.`
7433
7438
  );
7434
7439
  }
7435
7440
  }
7436
7441
 
7437
- // src/config/openCodeProviderEnv.ts
7442
+ // ../../src/config/openCodeProviderEnv.ts
7438
7443
  var path3 = __toESM(require("node:path"));
7439
7444
  var PROVIDER_TO_ENV = {
7440
7445
  anthropic: "ANTHROPIC_API_KEY",
@@ -7465,7 +7470,7 @@ function buildOpenCodeProviderEnvFromConfig(cfg, repoRoot) {
7465
7470
  return out;
7466
7471
  }
7467
7472
 
7468
- // src/cli/cliSettings.ts
7473
+ // ../../src/cli/cliSettings.ts
7469
7474
  var DEFAULT_OPEN_CODE_TEST_ARGV = [
7470
7475
  "run",
7471
7476
  "--agent",
@@ -7501,7 +7506,8 @@ function mergeEasyspecsCliSettings(cfg, overrides = {}) {
7501
7506
  maxDelayMs: orch.maxDelayMs ?? 48e4,
7502
7507
  maxOuterIterationsPerPhase: maxOuter,
7503
7508
  maxMacroPingPongCycles: orch.maxMacroPingPongCycles ?? 5,
7504
- synthesisRemediationShareBackoff: orch.synthesisRemediationShareBackoff !== false
7509
+ synthesisRemediationShareBackoff: orch.synthesisRemediationShareBackoff !== false,
7510
+ debugPhases: es.macro?.debug === true
7505
7511
  };
7506
7512
  const openCodeChildEnv = buildOpenCodeProviderEnvFromConfig(cfg, overrides.repoRoot);
7507
7513
  const projectConfigOverlay = cfg.easyspecs?.openCodeRuntime?.projectConfigOverlay;
@@ -7527,7 +7533,7 @@ function mergeEasyspecsCliSettings(cfg, overrides = {}) {
7527
7533
  };
7528
7534
  }
7529
7535
 
7530
- // src/cli/cliSettingsDump.ts
7536
+ // ../../src/cli/cliSettingsDump.ts
7531
7537
  function redactMergedCliSettingsForDump(merged) {
7532
7538
  const child = merged.openCodeChildEnv;
7533
7539
  const childRedacted = child && Object.keys(child).length > 0 ? Object.fromEntries(Object.keys(child).map((k) => [k, "(redacted)"])) : {};
@@ -7542,15 +7548,15 @@ function redactMergedCliSettingsForDump(merged) {
7542
7548
  };
7543
7549
  }
7544
7550
 
7545
- // src/config/easyspecsConfigFile.ts
7551
+ // ../../src/config/easyspecsConfigFile.ts
7546
7552
  var fs5 = __toESM(require("node:fs"));
7547
7553
  var path6 = __toESM(require("node:path"));
7548
7554
 
7549
- // src/easySpecsWorkspaceSettingsCore.ts
7555
+ // ../../src/easySpecsWorkspaceSettingsCore.ts
7550
7556
  var fs4 = __toESM(require("node:fs"));
7551
7557
  var path5 = __toESM(require("node:path"));
7552
7558
 
7553
- // src/analysis/easySpecsWorktreeMarker.ts
7559
+ // ../../src/analysis/easySpecsWorktreeMarker.ts
7554
7560
  var fs3 = __toESM(require("fs"));
7555
7561
  var path4 = __toESM(require("path"));
7556
7562
  var EASYSPECS_LOCAL_DIR = ".easyspecs";
@@ -7567,7 +7573,7 @@ function writeAnalysisWorktreeMarker(worktreeRoot, repositoryRoot) {
7567
7573
  `, "utf-8");
7568
7574
  }
7569
7575
 
7570
- // src/easySpecsWorkspaceSettingsCore.ts
7576
+ // ../../src/easySpecsWorkspaceSettingsCore.ts
7571
7577
  var EASYSPECS_WORKSPACE_DIR = EASYSPECS_LOCAL_DIR;
7572
7578
  var EASYSPECS_SETTINGS_JSON = "settings.json";
7573
7579
  var EASYSPECS_SETTINGS_ACE_KEY = "easyspecs.analysis.ace.enabled";
@@ -7616,7 +7622,7 @@ function readAceOfflineLearnAfterSameSessionTraceFromEasySpecsSettingsFile(works
7616
7622
  return typeof v === "boolean" ? v : void 0;
7617
7623
  }
7618
7624
 
7619
- // src/config/easyspecsConfigJson.ts
7625
+ // ../../src/config/easyspecsConfigJson.ts
7620
7626
  function mergeEasyspecsConfigDefaults(defaults, partial) {
7621
7627
  if (!partial) {
7622
7628
  return defaults;
@@ -7640,13 +7646,43 @@ function mergeEasyspecsConfigDefaults(defaults, partial) {
7640
7646
  esIn.analysis
7641
7647
  ),
7642
7648
  orchestration: { ...defEs.orchestration, ...esIn.orchestration },
7643
- openCodeRuntime: mergeOpenCodeRuntime(defEs.openCodeRuntime, esIn.openCodeRuntime)
7649
+ openCodeRuntime: mergeOpenCodeRuntime(defEs.openCodeRuntime, esIn.openCodeRuntime),
7650
+ diagnose: mergeDiagnoseBlock(defEs.diagnose, esIn.diagnose),
7651
+ upload: { ...defEs.upload, ...esIn.upload },
7652
+ macro: { ...defEs.macro, ...esIn.macro },
7653
+ cli: { ...defEs.cli, ...esIn.cli },
7654
+ auth: mergeAuthBlock(defEs.auth, esIn.auth)
7644
7655
  };
7645
7656
  return {
7646
7657
  schemaVersion: partial.schemaVersion ?? defaults.schemaVersion,
7647
7658
  easyspecs: mergedEs
7648
7659
  };
7649
7660
  }
7661
+ function mergeDiagnoseBlock(base, over) {
7662
+ if (!over) {
7663
+ return { ...base };
7664
+ }
7665
+ const zBase = base.zeroReference ?? { maxPercentNonReferenced: null };
7666
+ const zOver = over.zeroReference;
7667
+ const cBase = base.coordinationDuplicates ?? { strict: true };
7668
+ const cOver = over.coordinationDuplicates;
7669
+ return {
7670
+ zeroReference: {
7671
+ maxPercentNonReferenced: zOver?.maxPercentNonReferenced !== void 0 ? zOver.maxPercentNonReferenced : zBase.maxPercentNonReferenced ?? null
7672
+ },
7673
+ coordinationDuplicates: {
7674
+ strict: cOver?.strict !== void 0 ? cOver.strict : cBase.strict !== false
7675
+ }
7676
+ };
7677
+ }
7678
+ function mergeAuthBlock(base, over) {
7679
+ if (!over) {
7680
+ return { ...base };
7681
+ }
7682
+ return {
7683
+ ciLogin: { ...base.ciLogin, ...over.ciLogin }
7684
+ };
7685
+ }
7650
7686
  function mergeAnalysisBlock(base, over) {
7651
7687
  if (!over || Object.keys(over).length === 0) {
7652
7688
  return { ...base };
@@ -7707,7 +7743,7 @@ function getDefaultEasyspecsConfig() {
7707
7743
  projectConfigOverlay: {}
7708
7744
  };
7709
7745
  return {
7710
- schemaVersion: 1,
7746
+ schemaVersion: 2,
7711
7747
  easyspecs: {
7712
7748
  deploymentEnvironment: "production",
7713
7749
  apiBaseUrl: PRODUCTION_SYSTEM_MANAGER_URL,
@@ -7722,12 +7758,20 @@ function getDefaultEasyspecsConfig() {
7722
7758
  promoteContextToWorkspace: true
7723
7759
  },
7724
7760
  orchestration: {},
7725
- openCodeRuntime
7761
+ openCodeRuntime,
7762
+ diagnose: {
7763
+ zeroReference: { maxPercentNonReferenced: null },
7764
+ coordinationDuplicates: { strict: true }
7765
+ },
7766
+ upload: { contextDirectory: "" },
7767
+ macro: { debug: false },
7768
+ cli: { bundledResourcesRoot: "" },
7769
+ auth: { ciLogin: {} }
7726
7770
  }
7727
7771
  };
7728
7772
  }
7729
7773
 
7730
- // src/config/easyspecsConfigFile.ts
7774
+ // ../../src/config/easyspecsConfigFile.ts
7731
7775
  var DIRNAME = ".easyspecs";
7732
7776
  var CONFIG_BASENAME = "config.json";
7733
7777
  var LEGACY_CLI_JSON = "cli.json";
@@ -7897,7 +7941,7 @@ function updateEasyspecsConfig(repoRoot, patch, opts) {
7897
7941
  return merged;
7898
7942
  }
7899
7943
 
7900
- // src/config/easyspecsConfigRedact.ts
7944
+ // ../../src/config/easyspecsConfigRedact.ts
7901
7945
  function redactEasyspecsConfigRootForDump(cfg) {
7902
7946
  const o = JSON.parse(JSON.stringify(cfg));
7903
7947
  const es = o.easyspecs;
@@ -7910,10 +7954,15 @@ function redactEasyspecsConfigRootForDump(cfg) {
7910
7954
  }
7911
7955
  }
7912
7956
  }
7957
+ const authCi = es?.auth;
7958
+ const ciLogin = authCi?.ciLogin;
7959
+ if (ciLogin && typeof ciLogin === "object" && "password" in ciLogin) {
7960
+ ciLogin.password = "(redacted)";
7961
+ }
7913
7962
  return o;
7914
7963
  }
7915
7964
 
7916
- // src/cli/cliFileWorkspaceState.ts
7965
+ // ../../src/cli/cliFileWorkspaceState.ts
7917
7966
  var fs6 = __toESM(require("node:fs"));
7918
7967
  var path7 = __toESM(require("node:path"));
7919
7968
  function createFileBackedWorkspaceState(repoRoot) {
@@ -7953,11 +8002,11 @@ function createFileBackedWorkspaceState(repoRoot) {
7953
8002
  return { workspaceState };
7954
8003
  }
7955
8004
 
7956
- // src/analysis/contextArtefactPipeline.ts
8005
+ // ../../src/analysis/contextArtefactPipeline.ts
7957
8006
  var fs27 = __toESM(require("fs"));
7958
8007
  var path25 = __toESM(require("path"));
7959
8008
 
7960
- // src/analysis/analysisDynamicTestSteps.ts
8009
+ // ../../src/analysis/analysisDynamicTestSteps.ts
7961
8010
  var fs7 = __toESM(require("fs"));
7962
8011
  var path8 = __toESM(require("path"));
7963
8012
  var FE_CODE = /^FE-\d+$/;
@@ -8225,15 +8274,15 @@ function discoverDynamicAnalysisTestSteps(contextDir2) {
8225
8274
  };
8226
8275
  }
8227
8276
 
8228
- // src/analysis/materializeOpenCodeAgents.ts
8277
+ // ../../src/analysis/materializeOpenCodeAgents.ts
8229
8278
  var fs10 = __toESM(require("fs"));
8230
8279
  var path11 = __toESM(require("path"));
8231
8280
 
8232
- // src/analysis/applyAceMaterializedAgents.ts
8281
+ // ../../src/analysis/applyAceMaterializedAgents.ts
8233
8282
  var fs9 = __toESM(require("fs"));
8234
8283
  var path10 = __toESM(require("path"));
8235
8284
 
8236
- // src/analysis/acePaths.ts
8285
+ // ../../src/analysis/acePaths.ts
8237
8286
  var path9 = __toESM(require("path"));
8238
8287
  var ACE_LEARNINGS_DIR = "learnings";
8239
8288
  var ACE_OVERLAYS_SUBDIR = "overlays";
@@ -8284,7 +8333,7 @@ function opencodeAceSchemaPath(worktreeRoot, basename12) {
8284
8333
  return path9.join(worktreeRoot, ".opencode", "schemas", "ace", basename12);
8285
8334
  }
8286
8335
 
8287
- // src/analysis/aceJsonValidate.ts
8336
+ // ../../src/analysis/aceJsonValidate.ts
8288
8337
  var fs8 = __toESM(require("fs"));
8289
8338
  var import__ = __toESM(require__());
8290
8339
  function stripUtf8Bom2(s) {
@@ -8415,7 +8464,7 @@ function validateAceJsonValue(data, schemaAbsolutePath) {
8415
8464
  return { ok: false, kind: "schema", message: "ACE JSON Schema validation failed", errorsText };
8416
8465
  }
8417
8466
 
8418
- // src/analysis/applyAceMaterializedAgents.ts
8467
+ // ../../src/analysis/applyAceMaterializedAgents.ts
8419
8468
  function splitYamlFrontmatter(raw) {
8420
8469
  if (!raw.startsWith("---\n")) {
8421
8470
  return { frontmatter: "", body: raw };
@@ -8568,7 +8617,7 @@ ${extra}
8568
8617
  }
8569
8618
  }
8570
8619
 
8571
- // src/analysis/materializeOpenCodeAgents.ts
8620
+ // ../../src/analysis/materializeOpenCodeAgents.ts
8572
8621
  function posixFsPath(absPath) {
8573
8622
  return path11.resolve(absPath).split(path11.sep).join("/");
8574
8623
  }
@@ -8696,11 +8745,11 @@ function materializeOpenCodeAgentsWithAce(extensionResourcesAgents, analysisChec
8696
8745
  applyAceToMaterializedAgents(analysisCheckoutRoot, ace);
8697
8746
  }
8698
8747
 
8699
- // src/analysis/openCodeTestAgent.ts
8748
+ // ../../src/analysis/openCodeTestAgent.ts
8700
8749
  var fs20 = __toESM(require("fs"));
8701
8750
  var path18 = __toESM(require("path"));
8702
8751
 
8703
- // src/analysis/promptTemplates.ts
8752
+ // ../../src/analysis/promptTemplates.ts
8704
8753
  function fillMarkdownPrompt(p) {
8705
8754
  return [
8706
8755
  `You are OpenCode agent "${p.agentId}" (display name: ${p.agentDisplayName}).`,
@@ -8798,7 +8847,7 @@ function fillListJsonPrompt(p) {
8798
8847
  ].join("\n");
8799
8848
  }
8800
8849
 
8801
- // src/analysis/contextSynthesis.ts
8850
+ // ../../src/analysis/contextSynthesis.ts
8802
8851
  var CONTEXT_SYNTHESIS_TEST_STEP_ORDER = [
8803
8852
  "docsProject",
8804
8853
  "architecture",
@@ -8848,14 +8897,14 @@ function synthesisStepLabel(step, ctx) {
8848
8897
  return m[step];
8849
8898
  }
8850
8899
 
8851
- // src/analysis/aceTracePhase.ts
8900
+ // ../../src/analysis/aceTracePhase.ts
8852
8901
  var fs15 = __toESM(require("fs"));
8853
8902
  var path15 = __toESM(require("path"));
8854
8903
 
8855
- // src/opencodeCli.ts
8904
+ // ../../src/opencodeCli.ts
8856
8905
  var import_child_process = require("child_process");
8857
8906
 
8858
- // src/analysis/openCodeSessionStewardship.ts
8907
+ // ../../src/analysis/openCodeSessionStewardship.ts
8859
8908
  var TITLE_MAX_LEN = 80;
8860
8909
  function isNonEmptyString(v) {
8861
8910
  return typeof v === "string" && v.trim().length > 0;
@@ -8977,7 +9026,7 @@ function logOpenCodeSessionFollowUpStart(diagnosticLog, p) {
8977
9026
  );
8978
9027
  }
8979
9028
 
8980
- // src/opencodeCli.ts
9029
+ // ../../src/opencodeCli.ts
8981
9030
  var USE_SHELL = process.platform === "win32";
8982
9031
  function resolveExecutable(executable) {
8983
9032
  const t = executable?.trim();
@@ -9241,7 +9290,7 @@ ${truncateForDiag(outBody, DIAG_STDOUT_MAX)}`);
9241
9290
  });
9242
9291
  }
9243
9292
 
9244
- // src/analysis/aceTraceNormalize.ts
9293
+ // ../../src/analysis/aceTraceNormalize.ts
9245
9294
  var fs11 = __toESM(require("fs"));
9246
9295
  var ACE_VERSION = "1.0.0-draft";
9247
9296
  var REASONING_PHASES = /* @__PURE__ */ new Set([
@@ -9442,11 +9491,11 @@ function rewriteAceTraceFileWithCanonicalEnvelope(traceAbsolutePath, canonical,
9442
9491
  return true;
9443
9492
  }
9444
9493
 
9445
- // src/analysis/aceOfflineLearn.ts
9494
+ // ../../src/analysis/aceOfflineLearn.ts
9446
9495
  var fs14 = __toESM(require("fs"));
9447
9496
  var path14 = __toESM(require("path"));
9448
9497
 
9449
- // src/analysis/aceCuratorApplier.ts
9498
+ // ../../src/analysis/aceCuratorApplier.ts
9450
9499
  var fs12 = __toESM(require("fs"));
9451
9500
  var path12 = __toESM(require("path"));
9452
9501
  function writeJson(pathAbs, obj) {
@@ -9564,7 +9613,7 @@ function applyAceCuratorDeltaFile(worktreeRoot, deltaAbsolutePath, log) {
9564
9613
  return { ok: true, message: "Applied curator delta" };
9565
9614
  }
9566
9615
 
9567
- // src/analysis/aceOfflineLearnFallbacks.ts
9616
+ // ../../src/analysis/aceOfflineLearnFallbacks.ts
9568
9617
  var fs13 = __toESM(require("fs"));
9569
9618
  var path13 = __toESM(require("path"));
9570
9619
  var ACE_VERSION2 = "1.0.0-draft";
@@ -9596,7 +9645,7 @@ function appendAceConsolidatedSessionRecord(contextDir2, record, diagnosticLog)
9596
9645
  diagnosticLog?.(`[ace] consolidated session record appended \u2014 ${rel}`);
9597
9646
  }
9598
9647
 
9599
- // src/analysis/aceOfflineLearn.ts
9648
+ // ../../src/analysis/aceOfflineLearn.ts
9600
9649
  var ACE_REFLECTOR_AGENT_STEM = "agent-ace-reflector";
9601
9650
  var ACE_CURATOR_AGENT_STEM = "agent-ace-curator";
9602
9651
  function expandArgvTemplate(template, vars) {
@@ -9928,7 +9977,7 @@ async function runAceOfflineLearnFromTrace(traceAbsolutePath, opts) {
9928
9977
  };
9929
9978
  }
9930
9979
 
9931
- // src/analysis/aceTracePhase.ts
9980
+ // ../../src/analysis/aceTracePhase.ts
9932
9981
  var ACE_TRACE_RECORDER_AGENT_STEM = "agent-ace-trace-recorder";
9933
9982
  function expandArgvTemplate2(template, vars) {
9934
9983
  return template.map((part) => {
@@ -10136,7 +10185,7 @@ async function runAceTracePhase(params) {
10136
10185
  return { ok: true, message: "ACE trace OK", traceAbsolutePath: traceAbs };
10137
10186
  }
10138
10187
 
10139
- // src/analysis/coordinationListJsonValidate.ts
10188
+ // ../../src/analysis/coordinationListJsonValidate.ts
10140
10189
  var fs16 = __toESM(require("fs"));
10141
10190
  var import__2 = __toESM(require__());
10142
10191
  function stripUtf8Bom3(s) {
@@ -10353,7 +10402,7 @@ function formatCoordinationJsonRepairAppendix(outputBasename, failure, rawFilePr
10353
10402
  return lines.join("\n");
10354
10403
  }
10355
10404
 
10356
- // src/analysis/markdownEvidenceIndexValidate.ts
10405
+ // ../../src/analysis/markdownEvidenceIndexValidate.ts
10357
10406
  var fs17 = __toESM(require("fs"));
10358
10407
  var EVIDENCE_HEADING = "## Evidence index";
10359
10408
  function evidenceIndexMentionsReadmeMd(body) {
@@ -10522,7 +10571,7 @@ function formatMarkdownEvidenceRepairAppendix(outputFileAbsolute, kind = "empty"
10522
10571
  ].join("\n");
10523
10572
  }
10524
10573
 
10525
- // src/analysis/openQuestionResolution.ts
10574
+ // ../../src/analysis/openQuestionResolution.ts
10526
10575
  var fs18 = __toESM(require("fs"));
10527
10576
  var path16 = __toESM(require("path"));
10528
10577
  var OPEN_QUESTION_RESOLUTION_JSON_BASENAME = "open-question-resolution.json";
@@ -10582,7 +10631,7 @@ function deleteOpenQuestionResolutionFile(worktreeRoot) {
10582
10631
  }
10583
10632
  }
10584
10633
 
10585
- // src/analysis/openQuestionsSectionValidate.ts
10634
+ // ../../src/analysis/openQuestionsSectionValidate.ts
10586
10635
  var fs19 = __toESM(require("fs"));
10587
10636
  var path17 = __toESM(require("path"));
10588
10637
  var CANONICAL_NORMALIZED = "open questions";
@@ -10749,7 +10798,7 @@ function formatOpenQuestionsProducerRepairAppendix(outputFileAbsolute, stepLabel
10749
10798
  ].join("\n");
10750
10799
  }
10751
10800
 
10752
- // src/analysis/openCodeTestAgent.ts
10801
+ // ../../src/analysis/openCodeTestAgent.ts
10753
10802
  var CITATION_EXAMPLE = "`src/example.ts:42` or `src/example.ts:10-25`";
10754
10803
  function contextDir(worktreeRoot) {
10755
10804
  return path18.join(worktreeRoot, ".gluecharm", "context");
@@ -12478,7 +12527,7 @@ Expected output: ${outputFileAbsolute}`;
12478
12527
  };
12479
12528
  }
12480
12529
 
12481
- // src/analysis/worktreeManager.ts
12530
+ // ../../src/analysis/worktreeManager.ts
12482
12531
  var import_child_process2 = require("child_process");
12483
12532
  var fs21 = __toESM(require("fs"));
12484
12533
  var os = __toESM(require("os"));
@@ -12586,7 +12635,7 @@ function createAnalysisWorktree(repoRoot) {
12586
12635
  };
12587
12636
  }
12588
12637
 
12589
- // src/stores/analysisArtefactRunStore.ts
12638
+ // ../../src/stores/analysisArtefactRunStore.ts
12590
12639
  var STORAGE_KEY = "easyspecs.analysis.artefactRun.v1";
12591
12640
  function randomRunId() {
12592
12641
  return `${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 10)}`;
@@ -12659,7 +12708,7 @@ function cloneArtefactWorkItem(item) {
12659
12708
  return JSON.parse(JSON.stringify(item));
12660
12709
  }
12661
12710
 
12662
- // src/stores/analysisDiscoveriesStore.ts
12711
+ // ../../src/stores/analysisDiscoveriesStore.ts
12663
12712
  var agentsLaunchedCount = 0;
12664
12713
  var syncHandler;
12665
12714
  function noteOpenCodeAgentLaunched() {
@@ -12667,19 +12716,19 @@ function noteOpenCodeAgentLaunched() {
12667
12716
  syncHandler?.(agentsLaunchedCount);
12668
12717
  }
12669
12718
 
12670
- // src/contextIndexAssembler.ts
12719
+ // ../../src/contextIndexAssembler.ts
12671
12720
  var fs24 = __toESM(require("fs"));
12672
12721
  var path22 = __toESM(require("path"));
12673
12722
 
12674
- // src/srsModel.ts
12723
+ // ../../src/srsModel.ts
12675
12724
  var APPLICATION_CONTEXT_KIND = "easyspecs.application-context";
12676
12725
 
12677
- // src/indexApplicationContextValidate.ts
12726
+ // ../../src/indexApplicationContextValidate.ts
12678
12727
  var import__3 = __toESM(require__());
12679
12728
  var fs23 = __toESM(require("fs"));
12680
12729
  var path21 = __toESM(require("path"));
12681
12730
 
12682
- // src/shared/repoResourcesRoot.ts
12731
+ // ../../src/shared/repoResourcesRoot.ts
12683
12732
  var fs22 = __toESM(require("node:fs"));
12684
12733
  var path20 = __toESM(require("node:path"));
12685
12734
  var CONTEXT_LIST_MARKER = path20.join("schemas", "context-lists", "zero-reference-classifier-record.schema.json");
@@ -12687,13 +12736,6 @@ function hasMarker(resourcesRoot) {
12687
12736
  return fs22.existsSync(path20.join(resourcesRoot, CONTEXT_LIST_MARKER));
12688
12737
  }
12689
12738
  function resolveRepoResourcesRoot() {
12690
- const env = process.env.EASYSPECS_EXTENSION_ROOT?.trim();
12691
- if (env) {
12692
- const r = path20.join(path20.resolve(env), "resources");
12693
- if (hasMarker(r)) {
12694
- return r;
12695
- }
12696
- }
12697
12739
  const candidates = [path20.join(__dirname, "..", "resources"), path20.join(__dirname, "..", "..", "resources")];
12698
12740
  for (const c of candidates) {
12699
12741
  const abs = path20.resolve(c);
@@ -12702,7 +12744,7 @@ function resolveRepoResourcesRoot() {
12702
12744
  }
12703
12745
  }
12704
12746
  throw new Error(
12705
- `Could not find EasySpecs bundled resources (e.g. ${CONTEXT_LIST_MARKER}). Set EASYSPECS_EXTENSION_ROOT to your easyspecs.ai-vsc-extension repo root, or reinstall @gluecharm-lab/easyspecs-cli after \`npm run build:cli\` so packages/cli/resources contains the full resources tree.`
12747
+ `Could not find EasySpecs bundled resources (e.g. ${CONTEXT_LIST_MARKER}). Set easyspecs.cli.bundledResourcesRoot in .easyspecs/config.json to your resources directory, or reinstall @gluecharm-lab/easyspecs-cli after \`npm run build:cli\` so packages/cli/resources contains the full resources tree.`
12706
12748
  );
12707
12749
  }
12708
12750
  function resolveContextListSchemasDir() {
@@ -12712,7 +12754,7 @@ function resolveIndexApplicationContextSchemaPath() {
12712
12754
  return path20.join(resolveRepoResourcesRoot(), "schemas", "index-application-context.schema.json");
12713
12755
  }
12714
12756
 
12715
- // src/indexApplicationContextValidate.ts
12757
+ // ../../src/indexApplicationContextValidate.ts
12716
12758
  var validators = /* @__PURE__ */ new Map();
12717
12759
  function getDefaultIndexSchemaPath() {
12718
12760
  return resolveIndexApplicationContextSchemaPath();
@@ -12747,7 +12789,7 @@ function validateIndexApplicationContextJson(doc, schemaPath = getDefaultIndexSc
12747
12789
  return { ok: false, errors: formatAjvErrors3(validate) };
12748
12790
  }
12749
12791
 
12750
- // src/contextIndexAssembler.ts
12792
+ // ../../src/contextIndexAssembler.ts
12751
12793
  var SLUG = /^[a-z0-9]+(?:-[a-z0-9]+)*$/;
12752
12794
  function safeStr(v) {
12753
12795
  return typeof v === "string" ? v.trim() : "";
@@ -13184,11 +13226,11 @@ function writeIndexApplicationContext(contextDir2, title, options) {
13184
13226
  return doc;
13185
13227
  }
13186
13228
 
13187
- // src/analysis/aceAnalysisConfig.ts
13229
+ // ../../src/analysis/aceAnalysisConfig.ts
13188
13230
  var path23 = __toESM(require("node:path"));
13189
13231
  var vscode2 = __toESM(require_vscode_stub());
13190
13232
 
13191
- // src/config/easyspecsAceConfigRead.ts
13233
+ // ../../src/config/easyspecsAceConfigRead.ts
13192
13234
  var fs25 = __toESM(require("node:fs"));
13193
13235
  function readRawConfigJson(repoRoot) {
13194
13236
  const p = easyspecsConfigPath(repoRoot);
@@ -13252,7 +13294,7 @@ function readAceOfflineLearnAfterSameSessionTraceFromEasyspecsConfigFile(repoRoo
13252
13294
  return typeof v === "boolean" ? v : void 0;
13253
13295
  }
13254
13296
 
13255
- // src/analysis/aceAnalysisConfig.ts
13297
+ // ../../src/analysis/aceAnalysisConfig.ts
13256
13298
  var SECTION = "easyspecs";
13257
13299
  var cliWorkspaceRootOverride;
13258
13300
  var cliHeadlessMode = false;
@@ -13332,7 +13374,7 @@ function getAceOfflineLearnAfterSameSessionTrace(analysisCheckoutRoot) {
13332
13374
  return vscode2.workspace.getConfiguration(SECTION).get("analysis.ace.offlineLearnAfterSameSessionTrace") === true;
13333
13375
  }
13334
13376
 
13335
- // src/analysis/repoSurfaceAssessment.ts
13377
+ // ../../src/analysis/repoSurfaceAssessment.ts
13336
13378
  var fs26 = __toESM(require("fs"));
13337
13379
  var path24 = __toESM(require("path"));
13338
13380
  var REPO_SURFACE_SCAN_BASENAME = "repo-surface-scan.json";
@@ -13380,7 +13422,7 @@ function writeEmptyExperiencesListJson(contextDir2) {
13380
13422
  );
13381
13423
  }
13382
13424
 
13383
- // src/analysis/contextArtefactPipeline.ts
13425
+ // ../../src/analysis/contextArtefactPipeline.ts
13384
13426
  var FE = /^FE-\d+$/;
13385
13427
  var UC = /^UC-\d+$/;
13386
13428
  var SC = /^SC-\d+$/;
@@ -14273,7 +14315,7 @@ async function runContextArtefactPipelineAsync(storageContext, repoRoot, workspa
14273
14315
  );
14274
14316
  }
14275
14317
 
14276
- // src/workspaceContextPromote.ts
14318
+ // ../../src/workspaceContextPromote.ts
14277
14319
  var fs28 = __toESM(require("fs"));
14278
14320
  var path26 = __toESM(require("path"));
14279
14321
  function promoteContextDirectoryToWorkspaceFs(sourceContextDir, workspaceRootFs) {
@@ -14300,7 +14342,7 @@ function promoteContextDirectoryToWorkspaceFs(sourceContextDir, workspaceRootFs)
14300
14342
  return { filesCopied };
14301
14343
  }
14302
14344
 
14303
- // src/shared/macroPhaseExitConditions.ts
14345
+ // ../../src/shared/macroPhaseExitConditions.ts
14304
14346
  var MACRO_PHASE_EXIT_CONDITIONS = {
14305
14347
  create_analysis_worktree: "Git analysis checkout exists under the configured temp parent (SRS-8); ready for agent materialization.",
14306
14348
  materialize_opencode_agents: "Bundled OpenCode agent definitions are copied into the analysis worktree (`.opencode/` tree).",
@@ -14312,7 +14354,7 @@ var MACRO_PHASE_EXIT_CONDITIONS = {
14312
14354
  backend_context_sync: "Context upload finished with no failures (quiet SRS-13 path; or cancel)."
14313
14355
  };
14314
14356
 
14315
- // src/analysis/macroAnalysisOrchestrator.ts
14357
+ // ../../src/analysis/macroAnalysisOrchestrator.ts
14316
14358
  var MACRO_PHASE_KEYS = [
14317
14359
  "create_analysis_worktree",
14318
14360
  "materialize_opencode_agents",
@@ -14716,11 +14758,11 @@ async function runMacroAnalysisOrchestration(deps) {
14716
14758
  }
14717
14759
  }
14718
14760
 
14719
- // src/analysis/macroHeadlessHost.ts
14761
+ // ../../src/analysis/macroHeadlessHost.ts
14720
14762
  var fs39 = __toESM(require("node:fs"));
14721
14763
  var path38 = __toESM(require("node:path"));
14722
14764
 
14723
- // src/stores/analysisPipelineStore.ts
14765
+ // ../../src/stores/analysisPipelineStore.ts
14724
14766
  var STORAGE_KEY2 = "easyspecs.analysis.pipelineRun.v1";
14725
14767
  function randomRunId2() {
14726
14768
  return `${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 10)}`;
@@ -14779,7 +14821,7 @@ async function finishPipelineRun(context, ok) {
14779
14821
  });
14780
14822
  }
14781
14823
 
14782
- // src/stores/analysisWorkspaceStore.ts
14824
+ // ../../src/stores/analysisWorkspaceStore.ts
14783
14825
  var STORAGE_KEY3 = "easyspecs.analysis.workspaceState.v1";
14784
14826
  function readAnalysisWorkspaceSnapshot(context) {
14785
14827
  const raw = context.workspaceState.get(STORAGE_KEY3);
@@ -14817,11 +14859,11 @@ async function noteAgentsMaterialized(context) {
14817
14859
  });
14818
14860
  }
14819
14861
 
14820
- // src/analysis/missingArtefacts.ts
14862
+ // ../../src/analysis/missingArtefacts.ts
14821
14863
  var fs30 = __toESM(require("fs"));
14822
14864
  var path28 = __toESM(require("path"));
14823
14865
 
14824
- // src/analysis/analysisDetailMarkdownDiscovery.ts
14866
+ // ../../src/analysis/analysisDetailMarkdownDiscovery.ts
14825
14867
  var fs29 = __toESM(require("fs"));
14826
14868
  var path27 = __toESM(require("path"));
14827
14869
  var SLUG3 = /^[a-z0-9]+(?:-[a-z0-9]+)*$/;
@@ -15099,7 +15141,7 @@ function collectExpectedDetailMarkdownBasenames(contextDir2) {
15099
15141
  return set;
15100
15142
  }
15101
15143
 
15102
- // src/analysis/missingArtefacts.ts
15144
+ // ../../src/analysis/missingArtefacts.ts
15103
15145
  function fileAndValidationFromKind(kind) {
15104
15146
  if (kind === "valid") {
15105
15147
  return { filePresentYesNo: "yes", validationYesNo: "yes" };
@@ -15440,7 +15482,7 @@ function toMissingArtefactUiRows(rows, contextDir2, worktreeRoot) {
15440
15482
  });
15441
15483
  }
15442
15484
 
15443
- // src/analysis/remediationArtefactPool.ts
15485
+ // ../../src/analysis/remediationArtefactPool.ts
15444
15486
  var path29 = __toESM(require("path"));
15445
15487
  function reconcileSkippedWorkItemsWithDisk(byId, contextDir2, worktreeRoot) {
15446
15488
  for (const item of byId.values()) {
@@ -15558,12 +15600,12 @@ async function runMissingArtefactsRemediationPool(p) {
15558
15600
  return { cancelled: false, skippedWorkItemIds, indexOk, ...indexError ? { indexError } : {} };
15559
15601
  }
15560
15602
 
15561
- // src/analysis/coverageReferenceValidation.ts
15603
+ // ../../src/analysis/coverageReferenceValidation.ts
15562
15604
  var import_child_process3 = require("child_process");
15563
15605
  var fs32 = __toESM(require("fs"));
15564
15606
  var path31 = __toESM(require("path"));
15565
15607
 
15566
- // src/analysis/coverageReferenceValidationSchemaValidate.ts
15608
+ // ../../src/analysis/coverageReferenceValidationSchemaValidate.ts
15567
15609
  var fs31 = __toESM(require("fs"));
15568
15610
  var path30 = __toESM(require("path"));
15569
15611
  var import__4 = __toESM(require__());
@@ -15634,7 +15676,7 @@ function readAndValidateCoverageReferenceValidationFile(jsonAbsolutePath) {
15634
15676
  return { ok: true, data };
15635
15677
  }
15636
15678
 
15637
- // src/analysis/coverageReferenceValidation.ts
15679
+ // ../../src/analysis/coverageReferenceValidation.ts
15638
15680
  var COVERAGE_REFERENCE_VALIDATION_BASENAME = "coverage-reference-validation.json";
15639
15681
  var SKIP_CONTEXT_JSON = /* @__PURE__ */ new Set([
15640
15682
  COVERAGE_REFERENCE_VALIDATION_BASENAME,
@@ -16080,12 +16122,12 @@ ${schemaCheck.errors.join("\n")}`,
16080
16122
  return { ok: true, document, outputAbsolutePath: opts.write ? outPath : void 0 };
16081
16123
  }
16082
16124
 
16083
- // src/analysis/zeroReferenceRemediation.ts
16125
+ // ../../src/analysis/zeroReferenceRemediation.ts
16084
16126
  var crypto = __toESM(require("crypto"));
16085
16127
  var fs34 = __toESM(require("fs"));
16086
16128
  var path33 = __toESM(require("path"));
16087
16129
 
16088
- // src/analysis/zeroReferenceRemediationSchemaValidate.ts
16130
+ // ../../src/analysis/zeroReferenceRemediationSchemaValidate.ts
16089
16131
  var fs33 = __toESM(require("fs"));
16090
16132
  var path32 = __toESM(require("path"));
16091
16133
  var import__5 = __toESM(require__());
@@ -16141,7 +16183,7 @@ function validateZeroReferenceTriageDocumentData(data) {
16141
16183
  return { ok: false, errors: formatAjvErrors5(validateTriageDoc.errors) };
16142
16184
  }
16143
16185
 
16144
- // src/analysis/zeroReferenceRemediation.ts
16186
+ // ../../src/analysis/zeroReferenceRemediation.ts
16145
16187
  var ZERO_REF_ROUTING_BASENAME = "zero-reference-routing.json";
16146
16188
  var ZERO_REF_TRIAGE_BASENAME = "zero-reference-triage.json";
16147
16189
  var ZERO_REF_CLASSIFY_AGENT_STEM = "agent-classify-unreferenced-file";
@@ -17199,7 +17241,7 @@ async function runZeroReferenceRemediationPool(p) {
17199
17241
  return { cancelled, completed, failures };
17200
17242
  }
17201
17243
 
17202
- // src/analysis/referenceCoverageExecutionReport.ts
17244
+ // ../../src/analysis/referenceCoverageExecutionReport.ts
17203
17245
  var fs35 = __toESM(require("fs"));
17204
17246
  var path34 = __toESM(require("path"));
17205
17247
  var REFERENCE_COVERAGE_EXECUTION_REPORT_BASENAME = "reference-coverage-execution-report.md";
@@ -17368,12 +17410,12 @@ async function runReferenceCoverageExecutionReport(p) {
17368
17410
  return { ok: true, outputAbsolutePath: outAbs };
17369
17411
  }
17370
17412
 
17371
- // src/analysis/contextSrsDiscoveryUpload.ts
17413
+ // ../../src/analysis/contextSrsDiscoveryUpload.ts
17372
17414
  var fs38 = __toESM(require("node:fs"));
17373
17415
  var path37 = __toESM(require("node:path"));
17374
17416
  var import_node_crypto = require("node:crypto");
17375
17417
 
17376
- // src/auth/authProtocol.ts
17418
+ // ../../src/auth/authProtocol.ts
17377
17419
  function requireToken(value, key) {
17378
17420
  if (!value) {
17379
17421
  const err = { status: 500, message: `Missing ${key} in auth response.` };
@@ -17458,11 +17500,11 @@ function toAuthErrorMessage(error, fallback) {
17458
17500
  return raw;
17459
17501
  }
17460
17502
 
17461
- // src/analysis/contextSrsDiscoveryIdMap.ts
17503
+ // ../../src/analysis/contextSrsDiscoveryIdMap.ts
17462
17504
  var fs37 = __toESM(require("node:fs"));
17463
17505
  var path36 = __toESM(require("node:path"));
17464
17506
 
17465
- // src/analysis/indexApplicationContextMergeUploadIds.ts
17507
+ // ../../src/analysis/indexApplicationContextMergeUploadIds.ts
17466
17508
  var fs36 = __toESM(require("node:fs"));
17467
17509
  var path35 = __toESM(require("node:path"));
17468
17510
  var INDEX_APPLICATION_CONTEXT_BASENAME = "index-application-context.json";
@@ -17568,7 +17610,7 @@ function mergeUploadIdsIntoIndexOnDisk(contextDir2, succeededIds, options) {
17568
17610
  return { ok: true };
17569
17611
  }
17570
17612
 
17571
- // src/analysis/contextSrsDiscoveryIdMap.ts
17613
+ // ../../src/analysis/contextSrsDiscoveryIdMap.ts
17572
17614
  var SCOPE_KEYS2 = ["Feature", "Experience", "Service", "DataModel", "TechStack"];
17573
17615
  function normalizeRel3(p) {
17574
17616
  return p.replace(/\\/g, "/");
@@ -17656,7 +17698,7 @@ function loadSrsDiscoveryIdMapFromContextDir(contextDir2, log) {
17656
17698
  return map;
17657
17699
  }
17658
17700
 
17659
- // src/analysis/contextSrsDiscoveryUpload.ts
17701
+ // ../../src/analysis/contextSrsDiscoveryUpload.ts
17660
17702
  var ADAPTIVE_B_INITIAL = 100;
17661
17703
  var ADAPTIVE_B_MIN = 1;
17662
17704
  var ADAPTIVE_B_MAX = 500;
@@ -18220,7 +18262,7 @@ async function runContextSrsDiscoveryUpload(opts) {
18220
18262
  return { succeeded, failed, succeededIds };
18221
18263
  }
18222
18264
 
18223
- // src/analysis/macroHeadlessHost.ts
18265
+ // ../../src/analysis/macroHeadlessHost.ts
18224
18266
  function buildMacroOrchestrationDepsHeadless(input) {
18225
18267
  const { storageContext, repoRoot, agentsDirFs, buildOpenCodeOptions, log, signal, macroConfig } = input;
18226
18268
  let adHocWorktree;
@@ -18232,7 +18274,7 @@ function buildMacroOrchestrationDepsHeadless(input) {
18232
18274
  config: { ...macroConfig, ...input.synthesisOnly ? { synthesisOnly: true } : {} },
18233
18275
  sleep: (ms) => macroSleep(ms, signal),
18234
18276
  post: (payload) => {
18235
- if (process.env.EASYSPECS_CLI_MACRO_DEBUG === "1") {
18277
+ if (macroConfig.debugPhases === true) {
18236
18278
  log(`[macro] phases=${payload.phases.map((p) => `${p.key}:${p.status}`).join(",")} elapsed=${String(payload.totalElapsedMs)}ms`);
18237
18279
  }
18238
18280
  },
@@ -18531,7 +18573,7 @@ function buildMacroOrchestrationDepsHeadless(input) {
18531
18573
  };
18532
18574
  }
18533
18575
 
18534
- // src/analysis/coordinationDuplicatesDiagnosis.ts
18576
+ // ../../src/analysis/coordinationDuplicatesDiagnosis.ts
18535
18577
  var fs40 = __toESM(require("fs"));
18536
18578
  var path39 = __toESM(require("path"));
18537
18579
  var import__6 = __toESM(require__());
@@ -18981,7 +19023,7 @@ function runCoordinationDuplicatesDiagnosis(input) {
18981
19023
  };
18982
19024
  }
18983
19025
 
18984
- // src/auth/authApi.ts
19026
+ // ../../src/auth/authApi.ts
18985
19027
  var API_TIMEOUT_MS = 1e4;
18986
19028
  async function fetchWithTimeout(url, init, fetchImpl) {
18987
19029
  const controller = new AbortController();
@@ -19037,7 +19079,7 @@ function toFetchErrorMessage(e) {
19037
19079
  return { status: 0, message: msg };
19038
19080
  }
19039
19081
 
19040
- // src/auth/gluecharmContentNegotiation.ts
19082
+ // ../../src/auth/gluecharmContentNegotiation.ts
19041
19083
  var GLUECHARM_WS_LEGACY_JSON = "application/vnd.gluecharm.v1.ws-legacy+json";
19042
19084
  function pathWithoutQuery(path44) {
19043
19085
  const q = path44.indexOf("?");
@@ -19056,7 +19098,7 @@ function gluecharmContentHeaders(method) {
19056
19098
  return headers;
19057
19099
  }
19058
19100
 
19059
- // src/auth/authenticatedFetch.ts
19101
+ // ../../src/auth/authenticatedFetch.ts
19060
19102
  async function fetchWithTimeout2(url, init, fetchImpl, timeoutMs, externalSignal) {
19061
19103
  const controller = new AbortController();
19062
19104
  const timeoutId = setTimeout(() => controller.abort(), timeoutMs);
@@ -19134,7 +19176,7 @@ function createAuthenticatedRequestJson(deps) {
19134
19176
  return requestJson;
19135
19177
  }
19136
19178
 
19137
- // src/cli/cliSession.ts
19179
+ // ../../src/cli/cliSession.ts
19138
19180
  var fs41 = __toESM(require("node:fs"));
19139
19181
  var os2 = __toESM(require("node:os"));
19140
19182
  var path40 = __toESM(require("node:path"));
@@ -19209,7 +19251,7 @@ function clearCliSession() {
19209
19251
  }
19210
19252
  }
19211
19253
 
19212
- // src/analysis/acePendingTraces.ts
19254
+ // ../../src/analysis/acePendingTraces.ts
19213
19255
  var fs42 = __toESM(require("fs"));
19214
19256
  var path41 = __toESM(require("path"));
19215
19257
  function normalizeAceTraceRelativePath(rel) {
@@ -19275,7 +19317,7 @@ function listPendingAceTraceFiles(contextDir2, worktreeRoot) {
19275
19317
  return pending.map((x) => x.abs);
19276
19318
  }
19277
19319
 
19278
- // src/analysis/aceAutoLearnPool.ts
19320
+ // ../../src/analysis/aceAutoLearnPool.ts
19279
19321
  var path42 = __toESM(require("path"));
19280
19322
  function clampConcurrency2(n) {
19281
19323
  if (!Number.isFinite(n)) {
@@ -19357,7 +19399,7 @@ async function runAceAutoLearnPool(p) {
19357
19399
  return { cancelled: abortSignal?.aborted === true, completed, failed };
19358
19400
  }
19359
19401
 
19360
- // src/cli/parseTailFlags.ts
19402
+ // ../../src/cli/parseTailFlags.ts
19361
19403
  function parseTailFlags(tail) {
19362
19404
  let rootKind = "workspace";
19363
19405
  let worktree;
@@ -19382,7 +19424,7 @@ function parseTailFlags(tail) {
19382
19424
  return { rootKind, worktree };
19383
19425
  }
19384
19426
 
19385
- // src/cli/parseDoctorFlags.ts
19427
+ // ../../src/cli/parseDoctorFlags.ts
19386
19428
  var ALLOWED = /* @__PURE__ */ new Set(["--readiness", "--inspect-config"]);
19387
19429
  function parseDoctorFlags(tail) {
19388
19430
  for (const t of tail) {
@@ -19399,7 +19441,7 @@ function parseDoctorFlags(tail) {
19399
19441
  };
19400
19442
  }
19401
19443
 
19402
- // src/cli/parseAuthLoginTail.ts
19444
+ // ../../src/cli/parseAuthLoginTail.ts
19403
19445
  function extractAuthLoginSessionPathFromTail(tail) {
19404
19446
  const rest = [];
19405
19447
  let sessionPath;
@@ -19448,16 +19490,16 @@ function parseAuthLoginTail(tail) {
19448
19490
  return { ok: false, error: `Unexpected argument: ${a}` };
19449
19491
  }
19450
19492
  if (!email?.trim()) {
19451
- return { ok: false, error: "Missing --email (or use --ci with EASYSPECS_EMAIL / EASYSPECS_PASSWORD)" };
19493
+ return { ok: false, error: "Missing --email (or use --ci with easyspecs.auth.ciLogin in .easyspecs/config.json)" };
19452
19494
  }
19453
19495
  if (password === void 0) {
19454
- return { ok: false, error: "Missing --password (or use --ci with EASYSPECS_EMAIL / EASYSPECS_PASSWORD)" };
19496
+ return { ok: false, error: "Missing --password (or use --ci with easyspecs.auth.ciLogin in .easyspecs/config.json)" };
19455
19497
  }
19456
19498
  return { ok: true, creds: { email: email.trim(), password } };
19457
19499
  }
19458
19500
 
19459
- // src/cli/main.ts
19460
- var PKG_VERSION = "0.0.9";
19501
+ // ../../src/cli/main.ts
19502
+ var PKG_VERSION = "0.0.11";
19461
19503
  function logErr(flags, ...a) {
19462
19504
  if (!flags.json) {
19463
19505
  console.error(...a);
@@ -19564,9 +19606,9 @@ function requireOpenCode(merged, flags) {
19564
19606
  }
19565
19607
  return readiness;
19566
19608
  }
19567
- async function runResumeRemediationPool(storage, repoRoot, analysisRoot, merged, flags) {
19609
+ async function runResumeRemediationPool(storage, repoRoot, analysisRoot, merged, flags, repoConfig) {
19568
19610
  requireOpenCode(merged, flags);
19569
- const agentsDir = resolveOpenCodeAgentsDir();
19611
+ const agentsDir = resolveOpenCodeAgentsDir(repoRoot, repoConfig);
19570
19612
  assertAgentsDirExists(agentsDir);
19571
19613
  const ctxDir = path43.join(analysisRoot, ".gluecharm", "context");
19572
19614
  const snap = readArtefactRunSnapshot(storage);
@@ -19775,7 +19817,7 @@ async function main() {
19775
19817
  logErr(flags, "Usage: easyspecs-cli doctor [--readiness] [--inspect-config]");
19776
19818
  process.exit(ExitCode.usage);
19777
19819
  }
19778
- const agentsDir = resolveOpenCodeAgentsDir();
19820
+ const agentsDir = resolveOpenCodeAgentsDir(repoRoot, repoConfig);
19779
19821
  const agentsOk = fs43.existsSync(agentsDir);
19780
19822
  const oc = getOpenCodeReadiness({
19781
19823
  executable: merged.openCodeExecutable,
@@ -19840,17 +19882,18 @@ async function main() {
19840
19882
  process.exit(ExitCode.usage);
19841
19883
  }
19842
19884
  const parsedCli = parseAuthLoginTail(tailForCreds);
19843
- const envEmail = process.env.EASYSPECS_EMAIL?.trim();
19844
- const envPassword = process.env.EASYSPECS_PASSWORD?.trim();
19845
- const useLegacyCiEnv = !parsedCli.ok && (flags.ci || tailFull.includes("--ci")) && Boolean(envEmail) && Boolean(envPassword);
19885
+ const ciLogin = repoConfig.easyspecs?.auth?.ciLogin;
19886
+ const cfgEmail = ciLogin?.email?.trim();
19887
+ const cfgPassword = ciLogin?.password;
19888
+ const useCiConfig = !parsedCli.ok && (flags.ci || tailFull.includes("--ci")) && Boolean(cfgEmail) && typeof cfgPassword === "string" && cfgPassword.length > 0;
19846
19889
  let email;
19847
19890
  let password;
19848
19891
  if (parsedCli.ok) {
19849
19892
  email = parsedCli.creds.email;
19850
19893
  password = parsedCli.creds.password;
19851
- } else if (useLegacyCiEnv) {
19852
- email = envEmail;
19853
- password = envPassword;
19894
+ } else if (useCiConfig) {
19895
+ email = cfgEmail;
19896
+ password = cfgPassword;
19854
19897
  } else {
19855
19898
  logErr(flags, parsedCli.error);
19856
19899
  logErr(
@@ -19859,7 +19902,7 @@ async function main() {
19859
19902
  );
19860
19903
  logErr(
19861
19904
  flags,
19862
- "Legacy: easyspecs-cli --ci auth login (requires EASYSPECS_EMAIL and EASYSPECS_PASSWORD)"
19905
+ "Non-interactive (--ci): set easyspecs.auth.ciLogin.email and easyspecs.auth.ciLogin.password in .easyspecs/config.json"
19863
19906
  );
19864
19907
  process.exit(ExitCode.usage);
19865
19908
  }
@@ -19912,7 +19955,7 @@ async function main() {
19912
19955
  const storage = createFileBackedWorkspaceState(repoRoot);
19913
19956
  const { worktree } = parseWorktreeFlag(pos.slice(3));
19914
19957
  const analysisRoot = resolveAdHocCheckoutRoot(repoRoot, storage, worktree);
19915
- const poolRes = await runResumeRemediationPool(storage, repoRoot, analysisRoot, merged, flags);
19958
+ const poolRes = await runResumeRemediationPool(storage, repoRoot, analysisRoot, merged, flags, repoConfig);
19916
19959
  if (poolRes.cancelled) {
19917
19960
  finish(ExitCode.cancelled, { ok: false, error: "Remediation cancelled.", analysisWorktreePath: analysisRoot });
19918
19961
  }
@@ -19929,7 +19972,7 @@ async function main() {
19929
19972
  const storage = createFileBackedWorkspaceState(repoRoot);
19930
19973
  const { worktree } = parseWorktreeFlag(pos.slice(3));
19931
19974
  const analysisRoot = resolveAdHocCheckoutRoot(repoRoot, storage, worktree);
19932
- const poolRes = await runResumeRemediationPool(storage, repoRoot, analysisRoot, merged, flags);
19975
+ const poolRes = await runResumeRemediationPool(storage, repoRoot, analysisRoot, merged, flags, repoConfig);
19933
19976
  if (poolRes.cancelled) {
19934
19977
  finish(ExitCode.cancelled, { ok: false, error: "Remediation cancelled.", analysisWorktreePath: analysisRoot });
19935
19978
  }
@@ -19944,7 +19987,7 @@ async function main() {
19944
19987
  }
19945
19988
  if (pos[0] === "run" && pos[1] === "synthesis" && pos.length === 2) {
19946
19989
  requireOpenCode(merged, flags);
19947
- const agentsDir = resolveOpenCodeAgentsDir();
19990
+ const agentsDir = resolveOpenCodeAgentsDir(repoRoot, repoConfig);
19948
19991
  assertAgentsDirExists(agentsDir);
19949
19992
  const storage = createFileBackedWorkspaceState(repoRoot);
19950
19993
  const result = await runContextArtefactPipelineAsync(
@@ -20012,8 +20055,8 @@ async function main() {
20012
20055
  });
20013
20056
  if (res.ok) {
20014
20057
  const d = res.document;
20015
- const maxPct = Number(process.env.EASYSPECS_MAX_PERCENT_NON_REFERENCED ?? "");
20016
- if (Number.isFinite(maxPct) && d.metrics.percentNonReferenced > maxPct) {
20058
+ const maxPct = repoConfig.easyspecs?.diagnose?.zeroReference?.maxPercentNonReferenced;
20059
+ if (maxPct !== null && maxPct !== void 0 && Number.isFinite(maxPct) && d.metrics.percentNonReferenced > maxPct) {
20017
20060
  finish(ExitCode.validation, {
20018
20061
  ok: false,
20019
20062
  error: `percentNonReferenced ${String(d.metrics.percentNonReferenced)} > ${String(maxPct)}`
@@ -20032,7 +20075,7 @@ async function main() {
20032
20075
  sourceRoot: rootKind === "worktree" ? "worktree" : "workspace"
20033
20076
  });
20034
20077
  if (res.ok) {
20035
- const strict = process.env.EASYSPECS_DUPLICATES_STRICT !== "0";
20078
+ const strict = repoConfig.easyspecs?.diagnose?.coordinationDuplicates?.strict !== false;
20036
20079
  const bad = strict && ((res.groupCount ?? 0) > 0 || (res.orphanMarkdownCount ?? 0) > 0);
20037
20080
  finish(bad ? ExitCode.validation : ExitCode.ok, {
20038
20081
  ok: !bad,
@@ -20076,7 +20119,7 @@ async function main() {
20076
20119
  "[SRS-30] zero-reference remediation runs OpenCode agents per file; expect cost and runtime similar to the extension macro phase."
20077
20120
  );
20078
20121
  requireOpenCode(merged, flags);
20079
- const agentsDir = resolveOpenCodeAgentsDir();
20122
+ const agentsDir = resolveOpenCodeAgentsDir(repoRoot, repoConfig);
20080
20123
  assertAgentsDirExists(agentsDir);
20081
20124
  const storage = createFileBackedWorkspaceState(repoRoot);
20082
20125
  const { worktree: wtAce } = parseWorktreeFlag(pos.slice(2));
@@ -20126,11 +20169,11 @@ async function main() {
20126
20169
  if (wantsUpload && !uploadSession) {
20127
20170
  finish(ExitCode.auth, {
20128
20171
  ok: false,
20129
- error: "analysis --upload requires `easyspecs-cli auth login --email \u2026 --password \u2026` (or legacy `--ci` + EASYSPECS_EMAIL/PASSWORD)."
20172
+ error: "analysis --upload requires `easyspecs-cli auth login --email \u2026 --password \u2026` or `--ci` with easyspecs.auth.ciLogin in .easyspecs/config.json."
20130
20173
  });
20131
20174
  }
20132
20175
  const skipBackendSync = !wantsUpload;
20133
- const agentsDir = resolveOpenCodeAgentsDir();
20176
+ const agentsDir = resolveOpenCodeAgentsDir(repoRoot, repoConfig);
20134
20177
  assertAgentsDirExists(agentsDir);
20135
20178
  const storage = createFileBackedWorkspaceState(repoRoot);
20136
20179
  const runBackendSyncImpl = wantsUpload && uploadSession ? async () => {
@@ -20208,15 +20251,16 @@ async function main() {
20208
20251
  if (sessRaw === void 0) {
20209
20252
  finish(ExitCode.auth, {
20210
20253
  ok: false,
20211
- error: "auth login first (`auth login --email \u2026 --password \u2026`, or legacy `--ci` + env)"
20254
+ error: "auth login first (`easyspecs-cli auth login --email \u2026 --password \u2026`, or `--ci` with easyspecs.auth.ciLogin in .easyspecs/config.json)"
20212
20255
  });
20213
20256
  }
20214
20257
  const sess = sessRaw;
20215
20258
  let ctxDir = path43.join(repoRoot, ".gluecharm", "context");
20216
20259
  if (pos[1] === "republish") {
20217
- const fromEnv = process.env.EASYSPECS_UPLOAD_CONTEXT_DIR?.trim();
20218
- if (fromEnv && fs43.existsSync(path43.join(fromEnv, ".."))) {
20219
- ctxDir = path43.resolve(fromEnv);
20260
+ const fromCfg = repoConfig.easyspecs?.upload?.contextDirectory?.trim();
20261
+ const resolvedOverride = fromCfg && fromCfg.length > 0 ? path43.isAbsolute(fromCfg) ? path43.normalize(fromCfg) : path43.resolve(repoRoot, fromCfg) : "";
20262
+ if (resolvedOverride && fs43.existsSync(path43.join(resolvedOverride, ".."))) {
20263
+ ctxDir = resolvedOverride;
20220
20264
  } else {
20221
20265
  const storage = createFileBackedWorkspaceState(repoRoot);
20222
20266
  const snap = readAnalysisWorkspaceSnapshot(storage);
@@ -20224,7 +20268,7 @@ async function main() {
20224
20268
  if (!wt) {
20225
20269
  finish(ExitCode.misconfiguration, {
20226
20270
  ok: false,
20227
- error: "upload republish requires an analysis worktree with .gluecharm/context (`easyspecs-cli run synthesis` first), or set EASYSPECS_UPLOAD_CONTEXT_DIR."
20271
+ error: "upload republish requires an analysis worktree with .gluecharm/context (`easyspecs-cli run synthesis` first), or set easyspecs.upload.contextDirectory in .easyspecs/config.json."
20228
20272
  });
20229
20273
  }
20230
20274
  ctxDir = wt;