@gluecharm-lab/easyspecs-cli 0.0.18 → 0.0.20

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
- // ../../node_modules/commander/lib/error.js
29
+ // node_modules/commander/lib/error.js
30
30
  var require_error = __commonJS({
31
- "../../node_modules/commander/lib/error.js"(exports2) {
31
+ "node_modules/commander/lib/error.js"(exports2) {
32
32
  var CommanderError2 = class extends Error {
33
33
  /**
34
34
  * Constructs the CommanderError class
@@ -61,9 +61,9 @@ var require_error = __commonJS({
61
61
  }
62
62
  });
63
63
 
64
- // ../../node_modules/commander/lib/argument.js
64
+ // node_modules/commander/lib/argument.js
65
65
  var require_argument = __commonJS({
66
- "../../node_modules/commander/lib/argument.js"(exports2) {
66
+ "node_modules/commander/lib/argument.js"(exports2) {
67
67
  var { InvalidArgumentError: InvalidArgumentError2 } = require_error();
68
68
  var Argument2 = class {
69
69
  /**
@@ -188,9 +188,9 @@ var require_argument = __commonJS({
188
188
  }
189
189
  });
190
190
 
191
- // ../../node_modules/commander/lib/help.js
191
+ // node_modules/commander/lib/help.js
192
192
  var require_help = __commonJS({
193
- "../../node_modules/commander/lib/help.js"(exports2) {
193
+ "node_modules/commander/lib/help.js"(exports2) {
194
194
  var { humanReadableArgName } = require_argument();
195
195
  var Help2 = class {
196
196
  constructor() {
@@ -602,9 +602,9 @@ var require_help = __commonJS({
602
602
  }
603
603
  });
604
604
 
605
- // ../../node_modules/commander/lib/option.js
605
+ // node_modules/commander/lib/option.js
606
606
  var require_option = __commonJS({
607
- "../../node_modules/commander/lib/option.js"(exports2) {
607
+ "node_modules/commander/lib/option.js"(exports2) {
608
608
  var { InvalidArgumentError: InvalidArgumentError2 } = require_error();
609
609
  var Option2 = class {
610
610
  /**
@@ -874,9 +874,9 @@ var require_option = __commonJS({
874
874
  }
875
875
  });
876
876
 
877
- // ../../node_modules/commander/lib/suggestSimilar.js
877
+ // node_modules/commander/lib/suggestSimilar.js
878
878
  var require_suggestSimilar = __commonJS({
879
- "../../node_modules/commander/lib/suggestSimilar.js"(exports2) {
879
+ "node_modules/commander/lib/suggestSimilar.js"(exports2) {
880
880
  var maxDistance = 3;
881
881
  function editDistance(a, b) {
882
882
  if (Math.abs(a.length - b.length) > maxDistance)
@@ -954,13 +954,13 @@ var require_suggestSimilar = __commonJS({
954
954
  }
955
955
  });
956
956
 
957
- // ../../node_modules/commander/lib/command.js
957
+ // node_modules/commander/lib/command.js
958
958
  var require_command = __commonJS({
959
- "../../node_modules/commander/lib/command.js"(exports2) {
959
+ "node_modules/commander/lib/command.js"(exports2) {
960
960
  var EventEmitter = require("node:events").EventEmitter;
961
961
  var childProcess = require("node:child_process");
962
962
  var path60 = require("node:path");
963
- var fs61 = require("node:fs");
963
+ var fs60 = require("node:fs");
964
964
  var process2 = require("node:process");
965
965
  var { Argument: Argument2, humanReadableArgName } = require_argument();
966
966
  var { CommanderError: CommanderError2 } = require_error();
@@ -1893,10 +1893,10 @@ Expecting one of '${allowedValues.join("', '")}'`);
1893
1893
  const sourceExt = [".js", ".ts", ".tsx", ".mjs", ".cjs"];
1894
1894
  function findFile(baseDir, baseName) {
1895
1895
  const localBin = path60.resolve(baseDir, baseName);
1896
- if (fs61.existsSync(localBin)) return localBin;
1896
+ if (fs60.existsSync(localBin)) return localBin;
1897
1897
  if (sourceExt.includes(path60.extname(baseName))) return void 0;
1898
1898
  const foundExt = sourceExt.find(
1899
- (ext) => fs61.existsSync(`${localBin}${ext}`)
1899
+ (ext) => fs60.existsSync(`${localBin}${ext}`)
1900
1900
  );
1901
1901
  if (foundExt) return `${localBin}${foundExt}`;
1902
1902
  return void 0;
@@ -1908,7 +1908,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
1908
1908
  if (this._scriptPath) {
1909
1909
  let resolvedScriptPath;
1910
1910
  try {
1911
- resolvedScriptPath = fs61.realpathSync(this._scriptPath);
1911
+ resolvedScriptPath = fs60.realpathSync(this._scriptPath);
1912
1912
  } catch (err) {
1913
1913
  resolvedScriptPath = this._scriptPath;
1914
1914
  }
@@ -2997,9 +2997,9 @@ Expecting one of '${allowedValues.join("', '")}'`);
2997
2997
  }
2998
2998
  });
2999
2999
 
3000
- // ../../node_modules/commander/index.js
3000
+ // node_modules/commander/index.js
3001
3001
  var require_commander = __commonJS({
3002
- "../../node_modules/commander/index.js"(exports2) {
3002
+ "node_modules/commander/index.js"(exports2) {
3003
3003
  var { Argument: Argument2 } = require_argument();
3004
3004
  var { Command: Command2 } = require_command();
3005
3005
  var { CommanderError: CommanderError2, InvalidArgumentError: InvalidArgumentError2 } = require_error();
@@ -3019,9 +3019,9 @@ var require_commander = __commonJS({
3019
3019
  }
3020
3020
  });
3021
3021
 
3022
- // ../../scripts/vscode-stub.cjs
3022
+ // scripts/vscode-stub.cjs
3023
3023
  var require_vscode_stub = __commonJS({
3024
- "../../scripts/vscode-stub.cjs"(exports2, module2) {
3024
+ "scripts/vscode-stub.cjs"(exports2, module2) {
3025
3025
  "use strict";
3026
3026
  module2.exports = {
3027
3027
  workspace: {
@@ -3042,9 +3042,9 @@ var require_vscode_stub = __commonJS({
3042
3042
  }
3043
3043
  });
3044
3044
 
3045
- // ../../node_modules/ajv/dist/compile/codegen/code.js
3045
+ // node_modules/ajv/dist/compile/codegen/code.js
3046
3046
  var require_code = __commonJS({
3047
- "../../node_modules/ajv/dist/compile/codegen/code.js"(exports2) {
3047
+ "node_modules/ajv/dist/compile/codegen/code.js"(exports2) {
3048
3048
  "use strict";
3049
3049
  Object.defineProperty(exports2, "__esModule", { value: true });
3050
3050
  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;
@@ -3196,9 +3196,9 @@ var require_code = __commonJS({
3196
3196
  }
3197
3197
  });
3198
3198
 
3199
- // ../../node_modules/ajv/dist/compile/codegen/scope.js
3199
+ // node_modules/ajv/dist/compile/codegen/scope.js
3200
3200
  var require_scope = __commonJS({
3201
- "../../node_modules/ajv/dist/compile/codegen/scope.js"(exports2) {
3201
+ "node_modules/ajv/dist/compile/codegen/scope.js"(exports2) {
3202
3202
  "use strict";
3203
3203
  Object.defineProperty(exports2, "__esModule", { value: true });
3204
3204
  exports2.ValueScope = exports2.ValueScopeName = exports2.Scope = exports2.varKinds = exports2.UsedValueState = void 0;
@@ -3341,9 +3341,9 @@ var require_scope = __commonJS({
3341
3341
  }
3342
3342
  });
3343
3343
 
3344
- // ../../node_modules/ajv/dist/compile/codegen/index.js
3344
+ // node_modules/ajv/dist/compile/codegen/index.js
3345
3345
  var require_codegen = __commonJS({
3346
- "../../node_modules/ajv/dist/compile/codegen/index.js"(exports2) {
3346
+ "node_modules/ajv/dist/compile/codegen/index.js"(exports2) {
3347
3347
  "use strict";
3348
3348
  Object.defineProperty(exports2, "__esModule", { value: true });
3349
3349
  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;
@@ -4061,9 +4061,9 @@ var require_codegen = __commonJS({
4061
4061
  }
4062
4062
  });
4063
4063
 
4064
- // ../../node_modules/ajv/dist/compile/util.js
4064
+ // node_modules/ajv/dist/compile/util.js
4065
4065
  var require_util = __commonJS({
4066
- "../../node_modules/ajv/dist/compile/util.js"(exports2) {
4066
+ "node_modules/ajv/dist/compile/util.js"(exports2) {
4067
4067
  "use strict";
4068
4068
  Object.defineProperty(exports2, "__esModule", { value: true });
4069
4069
  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;
@@ -4228,9 +4228,9 @@ var require_util = __commonJS({
4228
4228
  }
4229
4229
  });
4230
4230
 
4231
- // ../../node_modules/ajv/dist/compile/names.js
4231
+ // node_modules/ajv/dist/compile/names.js
4232
4232
  var require_names = __commonJS({
4233
- "../../node_modules/ajv/dist/compile/names.js"(exports2) {
4233
+ "node_modules/ajv/dist/compile/names.js"(exports2) {
4234
4234
  "use strict";
4235
4235
  Object.defineProperty(exports2, "__esModule", { value: true });
4236
4236
  var codegen_1 = require_codegen();
@@ -4267,9 +4267,9 @@ var require_names = __commonJS({
4267
4267
  }
4268
4268
  });
4269
4269
 
4270
- // ../../node_modules/ajv/dist/compile/errors.js
4270
+ // node_modules/ajv/dist/compile/errors.js
4271
4271
  var require_errors = __commonJS({
4272
- "../../node_modules/ajv/dist/compile/errors.js"(exports2) {
4272
+ "node_modules/ajv/dist/compile/errors.js"(exports2) {
4273
4273
  "use strict";
4274
4274
  Object.defineProperty(exports2, "__esModule", { value: true });
4275
4275
  exports2.extendErrors = exports2.resetErrorsCount = exports2.reportExtraError = exports2.reportError = exports2.keyword$DataError = exports2.keywordError = void 0;
@@ -4389,9 +4389,9 @@ var require_errors = __commonJS({
4389
4389
  }
4390
4390
  });
4391
4391
 
4392
- // ../../node_modules/ajv/dist/compile/validate/boolSchema.js
4392
+ // node_modules/ajv/dist/compile/validate/boolSchema.js
4393
4393
  var require_boolSchema = __commonJS({
4394
- "../../node_modules/ajv/dist/compile/validate/boolSchema.js"(exports2) {
4394
+ "node_modules/ajv/dist/compile/validate/boolSchema.js"(exports2) {
4395
4395
  "use strict";
4396
4396
  Object.defineProperty(exports2, "__esModule", { value: true });
4397
4397
  exports2.boolOrEmptySchema = exports2.topBoolOrEmptySchema = void 0;
@@ -4440,9 +4440,9 @@ var require_boolSchema = __commonJS({
4440
4440
  }
4441
4441
  });
4442
4442
 
4443
- // ../../node_modules/ajv/dist/compile/rules.js
4443
+ // node_modules/ajv/dist/compile/rules.js
4444
4444
  var require_rules = __commonJS({
4445
- "../../node_modules/ajv/dist/compile/rules.js"(exports2) {
4445
+ "node_modules/ajv/dist/compile/rules.js"(exports2) {
4446
4446
  "use strict";
4447
4447
  Object.defineProperty(exports2, "__esModule", { value: true });
4448
4448
  exports2.getRules = exports2.isJSONType = void 0;
@@ -4471,9 +4471,9 @@ var require_rules = __commonJS({
4471
4471
  }
4472
4472
  });
4473
4473
 
4474
- // ../../node_modules/ajv/dist/compile/validate/applicability.js
4474
+ // node_modules/ajv/dist/compile/validate/applicability.js
4475
4475
  var require_applicability = __commonJS({
4476
- "../../node_modules/ajv/dist/compile/validate/applicability.js"(exports2) {
4476
+ "node_modules/ajv/dist/compile/validate/applicability.js"(exports2) {
4477
4477
  "use strict";
4478
4478
  Object.defineProperty(exports2, "__esModule", { value: true });
4479
4479
  exports2.shouldUseRule = exports2.shouldUseGroup = exports2.schemaHasRulesForType = void 0;
@@ -4494,9 +4494,9 @@ var require_applicability = __commonJS({
4494
4494
  }
4495
4495
  });
4496
4496
 
4497
- // ../../node_modules/ajv/dist/compile/validate/dataType.js
4497
+ // node_modules/ajv/dist/compile/validate/dataType.js
4498
4498
  var require_dataType = __commonJS({
4499
- "../../node_modules/ajv/dist/compile/validate/dataType.js"(exports2) {
4499
+ "node_modules/ajv/dist/compile/validate/dataType.js"(exports2) {
4500
4500
  "use strict";
4501
4501
  Object.defineProperty(exports2, "__esModule", { value: true });
4502
4502
  exports2.reportTypeError = exports2.checkDataTypes = exports2.checkDataType = exports2.coerceAndCheckDataType = exports2.getJSONTypes = exports2.getSchemaTypes = exports2.DataType = void 0;
@@ -4678,9 +4678,9 @@ var require_dataType = __commonJS({
4678
4678
  }
4679
4679
  });
4680
4680
 
4681
- // ../../node_modules/ajv/dist/compile/validate/defaults.js
4681
+ // node_modules/ajv/dist/compile/validate/defaults.js
4682
4682
  var require_defaults = __commonJS({
4683
- "../../node_modules/ajv/dist/compile/validate/defaults.js"(exports2) {
4683
+ "node_modules/ajv/dist/compile/validate/defaults.js"(exports2) {
4684
4684
  "use strict";
4685
4685
  Object.defineProperty(exports2, "__esModule", { value: true });
4686
4686
  exports2.assignDefaults = void 0;
@@ -4715,9 +4715,9 @@ var require_defaults = __commonJS({
4715
4715
  }
4716
4716
  });
4717
4717
 
4718
- // ../../node_modules/ajv/dist/vocabularies/code.js
4718
+ // node_modules/ajv/dist/vocabularies/code.js
4719
4719
  var require_code2 = __commonJS({
4720
- "../../node_modules/ajv/dist/vocabularies/code.js"(exports2) {
4720
+ "node_modules/ajv/dist/vocabularies/code.js"(exports2) {
4721
4721
  "use strict";
4722
4722
  Object.defineProperty(exports2, "__esModule", { value: true });
4723
4723
  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;
@@ -4848,9 +4848,9 @@ var require_code2 = __commonJS({
4848
4848
  }
4849
4849
  });
4850
4850
 
4851
- // ../../node_modules/ajv/dist/compile/validate/keyword.js
4851
+ // node_modules/ajv/dist/compile/validate/keyword.js
4852
4852
  var require_keyword = __commonJS({
4853
- "../../node_modules/ajv/dist/compile/validate/keyword.js"(exports2) {
4853
+ "node_modules/ajv/dist/compile/validate/keyword.js"(exports2) {
4854
4854
  "use strict";
4855
4855
  Object.defineProperty(exports2, "__esModule", { value: true });
4856
4856
  exports2.validateKeywordUsage = exports2.validSchemaType = exports2.funcKeywordCode = exports2.macroKeywordCode = void 0;
@@ -4966,9 +4966,9 @@ var require_keyword = __commonJS({
4966
4966
  }
4967
4967
  });
4968
4968
 
4969
- // ../../node_modules/ajv/dist/compile/validate/subschema.js
4969
+ // node_modules/ajv/dist/compile/validate/subschema.js
4970
4970
  var require_subschema = __commonJS({
4971
- "../../node_modules/ajv/dist/compile/validate/subschema.js"(exports2) {
4971
+ "node_modules/ajv/dist/compile/validate/subschema.js"(exports2) {
4972
4972
  "use strict";
4973
4973
  Object.defineProperty(exports2, "__esModule", { value: true });
4974
4974
  exports2.extendSubschemaMode = exports2.extendSubschemaData = exports2.getSubschema = void 0;
@@ -5049,9 +5049,9 @@ var require_subschema = __commonJS({
5049
5049
  }
5050
5050
  });
5051
5051
 
5052
- // ../../node_modules/fast-deep-equal/index.js
5052
+ // node_modules/fast-deep-equal/index.js
5053
5053
  var require_fast_deep_equal = __commonJS({
5054
- "../../node_modules/fast-deep-equal/index.js"(exports2, module2) {
5054
+ "node_modules/fast-deep-equal/index.js"(exports2, module2) {
5055
5055
  "use strict";
5056
5056
  module2.exports = function equal(a, b) {
5057
5057
  if (a === b) return true;
@@ -5084,9 +5084,9 @@ var require_fast_deep_equal = __commonJS({
5084
5084
  }
5085
5085
  });
5086
5086
 
5087
- // ../../node_modules/json-schema-traverse/index.js
5087
+ // node_modules/json-schema-traverse/index.js
5088
5088
  var require_json_schema_traverse = __commonJS({
5089
- "../../node_modules/json-schema-traverse/index.js"(exports2, module2) {
5089
+ "node_modules/json-schema-traverse/index.js"(exports2, module2) {
5090
5090
  "use strict";
5091
5091
  var traverse = module2.exports = function(schema, opts, cb) {
5092
5092
  if (typeof opts == "function") {
@@ -5172,9 +5172,9 @@ var require_json_schema_traverse = __commonJS({
5172
5172
  }
5173
5173
  });
5174
5174
 
5175
- // ../../node_modules/ajv/dist/compile/resolve.js
5175
+ // node_modules/ajv/dist/compile/resolve.js
5176
5176
  var require_resolve = __commonJS({
5177
- "../../node_modules/ajv/dist/compile/resolve.js"(exports2) {
5177
+ "node_modules/ajv/dist/compile/resolve.js"(exports2) {
5178
5178
  "use strict";
5179
5179
  Object.defineProperty(exports2, "__esModule", { value: true });
5180
5180
  exports2.getSchemaRefs = exports2.resolveUrl = exports2.normalizeId = exports2._getFullPath = exports2.getFullPath = exports2.inlineRef = void 0;
@@ -5328,9 +5328,9 @@ var require_resolve = __commonJS({
5328
5328
  }
5329
5329
  });
5330
5330
 
5331
- // ../../node_modules/ajv/dist/compile/validate/index.js
5331
+ // node_modules/ajv/dist/compile/validate/index.js
5332
5332
  var require_validate = __commonJS({
5333
- "../../node_modules/ajv/dist/compile/validate/index.js"(exports2) {
5333
+ "node_modules/ajv/dist/compile/validate/index.js"(exports2) {
5334
5334
  "use strict";
5335
5335
  Object.defineProperty(exports2, "__esModule", { value: true });
5336
5336
  exports2.getData = exports2.KeywordCxt = exports2.validateFunctionCode = void 0;
@@ -5836,9 +5836,9 @@ var require_validate = __commonJS({
5836
5836
  }
5837
5837
  });
5838
5838
 
5839
- // ../../node_modules/ajv/dist/runtime/validation_error.js
5839
+ // node_modules/ajv/dist/runtime/validation_error.js
5840
5840
  var require_validation_error = __commonJS({
5841
- "../../node_modules/ajv/dist/runtime/validation_error.js"(exports2) {
5841
+ "node_modules/ajv/dist/runtime/validation_error.js"(exports2) {
5842
5842
  "use strict";
5843
5843
  Object.defineProperty(exports2, "__esModule", { value: true });
5844
5844
  var ValidationError = class extends Error {
@@ -5852,9 +5852,9 @@ var require_validation_error = __commonJS({
5852
5852
  }
5853
5853
  });
5854
5854
 
5855
- // ../../node_modules/ajv/dist/compile/ref_error.js
5855
+ // node_modules/ajv/dist/compile/ref_error.js
5856
5856
  var require_ref_error = __commonJS({
5857
- "../../node_modules/ajv/dist/compile/ref_error.js"(exports2) {
5857
+ "node_modules/ajv/dist/compile/ref_error.js"(exports2) {
5858
5858
  "use strict";
5859
5859
  Object.defineProperty(exports2, "__esModule", { value: true });
5860
5860
  var resolve_1 = require_resolve();
@@ -5869,9 +5869,9 @@ var require_ref_error = __commonJS({
5869
5869
  }
5870
5870
  });
5871
5871
 
5872
- // ../../node_modules/ajv/dist/compile/index.js
5872
+ // node_modules/ajv/dist/compile/index.js
5873
5873
  var require_compile = __commonJS({
5874
- "../../node_modules/ajv/dist/compile/index.js"(exports2) {
5874
+ "node_modules/ajv/dist/compile/index.js"(exports2) {
5875
5875
  "use strict";
5876
5876
  Object.defineProperty(exports2, "__esModule", { value: true });
5877
5877
  exports2.resolveSchema = exports2.getCompilingSchema = exports2.resolveRef = exports2.compileSchema = exports2.SchemaEnv = void 0;
@@ -6093,9 +6093,9 @@ var require_compile = __commonJS({
6093
6093
  }
6094
6094
  });
6095
6095
 
6096
- // ../../node_modules/ajv/dist/refs/data.json
6096
+ // node_modules/ajv/dist/refs/data.json
6097
6097
  var require_data = __commonJS({
6098
- "../../node_modules/ajv/dist/refs/data.json"(exports2, module2) {
6098
+ "node_modules/ajv/dist/refs/data.json"(exports2, module2) {
6099
6099
  module2.exports = {
6100
6100
  $id: "https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",
6101
6101
  description: "Meta-schema for $data reference (JSON AnySchema extension proposal)",
@@ -6112,9 +6112,9 @@ var require_data = __commonJS({
6112
6112
  }
6113
6113
  });
6114
6114
 
6115
- // ../../node_modules/fast-uri/lib/utils.js
6115
+ // node_modules/fast-uri/lib/utils.js
6116
6116
  var require_utils = __commonJS({
6117
- "../../node_modules/fast-uri/lib/utils.js"(exports2, module2) {
6117
+ "node_modules/fast-uri/lib/utils.js"(exports2, module2) {
6118
6118
  "use strict";
6119
6119
  var isUUID = RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu);
6120
6120
  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);
@@ -6369,9 +6369,9 @@ var require_utils = __commonJS({
6369
6369
  }
6370
6370
  });
6371
6371
 
6372
- // ../../node_modules/fast-uri/lib/schemes.js
6372
+ // node_modules/fast-uri/lib/schemes.js
6373
6373
  var require_schemes = __commonJS({
6374
- "../../node_modules/fast-uri/lib/schemes.js"(exports2, module2) {
6374
+ "node_modules/fast-uri/lib/schemes.js"(exports2, module2) {
6375
6375
  "use strict";
6376
6376
  var { isUUID } = require_utils();
6377
6377
  var URN_REG = /([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu;
@@ -6579,9 +6579,9 @@ var require_schemes = __commonJS({
6579
6579
  }
6580
6580
  });
6581
6581
 
6582
- // ../../node_modules/fast-uri/index.js
6582
+ // node_modules/fast-uri/index.js
6583
6583
  var require_fast_uri = __commonJS({
6584
- "../../node_modules/fast-uri/index.js"(exports2, module2) {
6584
+ "node_modules/fast-uri/index.js"(exports2, module2) {
6585
6585
  "use strict";
6586
6586
  var { normalizeIPv6, removeDotSegments, recomposeAuthority, normalizeComponentEncoding, isIPv4, nonSimpleDomain } = require_utils();
6587
6587
  var { SCHEMES, getSchemeHandler } = require_schemes();
@@ -6834,9 +6834,9 @@ var require_fast_uri = __commonJS({
6834
6834
  }
6835
6835
  });
6836
6836
 
6837
- // ../../node_modules/ajv/dist/runtime/uri.js
6837
+ // node_modules/ajv/dist/runtime/uri.js
6838
6838
  var require_uri = __commonJS({
6839
- "../../node_modules/ajv/dist/runtime/uri.js"(exports2) {
6839
+ "node_modules/ajv/dist/runtime/uri.js"(exports2) {
6840
6840
  "use strict";
6841
6841
  Object.defineProperty(exports2, "__esModule", { value: true });
6842
6842
  var uri = require_fast_uri();
@@ -6845,9 +6845,9 @@ var require_uri = __commonJS({
6845
6845
  }
6846
6846
  });
6847
6847
 
6848
- // ../../node_modules/ajv/dist/core.js
6848
+ // node_modules/ajv/dist/core.js
6849
6849
  var require_core = __commonJS({
6850
- "../../node_modules/ajv/dist/core.js"(exports2) {
6850
+ "node_modules/ajv/dist/core.js"(exports2) {
6851
6851
  "use strict";
6852
6852
  Object.defineProperty(exports2, "__esModule", { value: true });
6853
6853
  exports2.CodeGen = exports2.Name = exports2.nil = exports2.stringify = exports2.str = exports2._ = exports2.KeywordCxt = void 0;
@@ -7456,9 +7456,9 @@ var require_core = __commonJS({
7456
7456
  }
7457
7457
  });
7458
7458
 
7459
- // ../../node_modules/ajv/dist/vocabularies/core/id.js
7459
+ // node_modules/ajv/dist/vocabularies/core/id.js
7460
7460
  var require_id = __commonJS({
7461
- "../../node_modules/ajv/dist/vocabularies/core/id.js"(exports2) {
7461
+ "node_modules/ajv/dist/vocabularies/core/id.js"(exports2) {
7462
7462
  "use strict";
7463
7463
  Object.defineProperty(exports2, "__esModule", { value: true });
7464
7464
  var def = {
@@ -7471,9 +7471,9 @@ var require_id = __commonJS({
7471
7471
  }
7472
7472
  });
7473
7473
 
7474
- // ../../node_modules/ajv/dist/vocabularies/core/ref.js
7474
+ // node_modules/ajv/dist/vocabularies/core/ref.js
7475
7475
  var require_ref = __commonJS({
7476
- "../../node_modules/ajv/dist/vocabularies/core/ref.js"(exports2) {
7476
+ "node_modules/ajv/dist/vocabularies/core/ref.js"(exports2) {
7477
7477
  "use strict";
7478
7478
  Object.defineProperty(exports2, "__esModule", { value: true });
7479
7479
  exports2.callRef = exports2.getValidate = void 0;
@@ -7593,9 +7593,9 @@ var require_ref = __commonJS({
7593
7593
  }
7594
7594
  });
7595
7595
 
7596
- // ../../node_modules/ajv/dist/vocabularies/core/index.js
7596
+ // node_modules/ajv/dist/vocabularies/core/index.js
7597
7597
  var require_core2 = __commonJS({
7598
- "../../node_modules/ajv/dist/vocabularies/core/index.js"(exports2) {
7598
+ "node_modules/ajv/dist/vocabularies/core/index.js"(exports2) {
7599
7599
  "use strict";
7600
7600
  Object.defineProperty(exports2, "__esModule", { value: true });
7601
7601
  var id_1 = require_id();
@@ -7614,9 +7614,9 @@ var require_core2 = __commonJS({
7614
7614
  }
7615
7615
  });
7616
7616
 
7617
- // ../../node_modules/ajv/dist/vocabularies/validation/limitNumber.js
7617
+ // node_modules/ajv/dist/vocabularies/validation/limitNumber.js
7618
7618
  var require_limitNumber = __commonJS({
7619
- "../../node_modules/ajv/dist/vocabularies/validation/limitNumber.js"(exports2) {
7619
+ "node_modules/ajv/dist/vocabularies/validation/limitNumber.js"(exports2) {
7620
7620
  "use strict";
7621
7621
  Object.defineProperty(exports2, "__esModule", { value: true });
7622
7622
  var codegen_1 = require_codegen();
@@ -7646,9 +7646,9 @@ var require_limitNumber = __commonJS({
7646
7646
  }
7647
7647
  });
7648
7648
 
7649
- // ../../node_modules/ajv/dist/vocabularies/validation/multipleOf.js
7649
+ // node_modules/ajv/dist/vocabularies/validation/multipleOf.js
7650
7650
  var require_multipleOf = __commonJS({
7651
- "../../node_modules/ajv/dist/vocabularies/validation/multipleOf.js"(exports2) {
7651
+ "node_modules/ajv/dist/vocabularies/validation/multipleOf.js"(exports2) {
7652
7652
  "use strict";
7653
7653
  Object.defineProperty(exports2, "__esModule", { value: true });
7654
7654
  var codegen_1 = require_codegen();
@@ -7674,9 +7674,9 @@ var require_multipleOf = __commonJS({
7674
7674
  }
7675
7675
  });
7676
7676
 
7677
- // ../../node_modules/ajv/dist/runtime/ucs2length.js
7677
+ // node_modules/ajv/dist/runtime/ucs2length.js
7678
7678
  var require_ucs2length = __commonJS({
7679
- "../../node_modules/ajv/dist/runtime/ucs2length.js"(exports2) {
7679
+ "node_modules/ajv/dist/runtime/ucs2length.js"(exports2) {
7680
7680
  "use strict";
7681
7681
  Object.defineProperty(exports2, "__esModule", { value: true });
7682
7682
  function ucs2length(str) {
@@ -7700,9 +7700,9 @@ var require_ucs2length = __commonJS({
7700
7700
  }
7701
7701
  });
7702
7702
 
7703
- // ../../node_modules/ajv/dist/vocabularies/validation/limitLength.js
7703
+ // node_modules/ajv/dist/vocabularies/validation/limitLength.js
7704
7704
  var require_limitLength = __commonJS({
7705
- "../../node_modules/ajv/dist/vocabularies/validation/limitLength.js"(exports2) {
7705
+ "node_modules/ajv/dist/vocabularies/validation/limitLength.js"(exports2) {
7706
7706
  "use strict";
7707
7707
  Object.defineProperty(exports2, "__esModule", { value: true });
7708
7708
  var codegen_1 = require_codegen();
@@ -7732,9 +7732,9 @@ var require_limitLength = __commonJS({
7732
7732
  }
7733
7733
  });
7734
7734
 
7735
- // ../../node_modules/ajv/dist/vocabularies/validation/pattern.js
7735
+ // node_modules/ajv/dist/vocabularies/validation/pattern.js
7736
7736
  var require_pattern = __commonJS({
7737
- "../../node_modules/ajv/dist/vocabularies/validation/pattern.js"(exports2) {
7737
+ "node_modules/ajv/dist/vocabularies/validation/pattern.js"(exports2) {
7738
7738
  "use strict";
7739
7739
  Object.defineProperty(exports2, "__esModule", { value: true });
7740
7740
  var code_1 = require_code2();
@@ -7769,9 +7769,9 @@ var require_pattern = __commonJS({
7769
7769
  }
7770
7770
  });
7771
7771
 
7772
- // ../../node_modules/ajv/dist/vocabularies/validation/limitProperties.js
7772
+ // node_modules/ajv/dist/vocabularies/validation/limitProperties.js
7773
7773
  var require_limitProperties = __commonJS({
7774
- "../../node_modules/ajv/dist/vocabularies/validation/limitProperties.js"(exports2) {
7774
+ "node_modules/ajv/dist/vocabularies/validation/limitProperties.js"(exports2) {
7775
7775
  "use strict";
7776
7776
  Object.defineProperty(exports2, "__esModule", { value: true });
7777
7777
  var codegen_1 = require_codegen();
@@ -7798,9 +7798,9 @@ var require_limitProperties = __commonJS({
7798
7798
  }
7799
7799
  });
7800
7800
 
7801
- // ../../node_modules/ajv/dist/vocabularies/validation/required.js
7801
+ // node_modules/ajv/dist/vocabularies/validation/required.js
7802
7802
  var require_required = __commonJS({
7803
- "../../node_modules/ajv/dist/vocabularies/validation/required.js"(exports2) {
7803
+ "node_modules/ajv/dist/vocabularies/validation/required.js"(exports2) {
7804
7804
  "use strict";
7805
7805
  Object.defineProperty(exports2, "__esModule", { value: true });
7806
7806
  var code_1 = require_code2();
@@ -7880,9 +7880,9 @@ var require_required = __commonJS({
7880
7880
  }
7881
7881
  });
7882
7882
 
7883
- // ../../node_modules/ajv/dist/vocabularies/validation/limitItems.js
7883
+ // node_modules/ajv/dist/vocabularies/validation/limitItems.js
7884
7884
  var require_limitItems = __commonJS({
7885
- "../../node_modules/ajv/dist/vocabularies/validation/limitItems.js"(exports2) {
7885
+ "node_modules/ajv/dist/vocabularies/validation/limitItems.js"(exports2) {
7886
7886
  "use strict";
7887
7887
  Object.defineProperty(exports2, "__esModule", { value: true });
7888
7888
  var codegen_1 = require_codegen();
@@ -7909,9 +7909,9 @@ var require_limitItems = __commonJS({
7909
7909
  }
7910
7910
  });
7911
7911
 
7912
- // ../../node_modules/ajv/dist/runtime/equal.js
7912
+ // node_modules/ajv/dist/runtime/equal.js
7913
7913
  var require_equal = __commonJS({
7914
- "../../node_modules/ajv/dist/runtime/equal.js"(exports2) {
7914
+ "node_modules/ajv/dist/runtime/equal.js"(exports2) {
7915
7915
  "use strict";
7916
7916
  Object.defineProperty(exports2, "__esModule", { value: true });
7917
7917
  var equal = require_fast_deep_equal();
@@ -7920,9 +7920,9 @@ var require_equal = __commonJS({
7920
7920
  }
7921
7921
  });
7922
7922
 
7923
- // ../../node_modules/ajv/dist/vocabularies/validation/uniqueItems.js
7923
+ // node_modules/ajv/dist/vocabularies/validation/uniqueItems.js
7924
7924
  var require_uniqueItems = __commonJS({
7925
- "../../node_modules/ajv/dist/vocabularies/validation/uniqueItems.js"(exports2) {
7925
+ "node_modules/ajv/dist/vocabularies/validation/uniqueItems.js"(exports2) {
7926
7926
  "use strict";
7927
7927
  Object.defineProperty(exports2, "__esModule", { value: true });
7928
7928
  var dataType_1 = require_dataType();
@@ -7987,9 +7987,9 @@ var require_uniqueItems = __commonJS({
7987
7987
  }
7988
7988
  });
7989
7989
 
7990
- // ../../node_modules/ajv/dist/vocabularies/validation/const.js
7990
+ // node_modules/ajv/dist/vocabularies/validation/const.js
7991
7991
  var require_const = __commonJS({
7992
- "../../node_modules/ajv/dist/vocabularies/validation/const.js"(exports2) {
7992
+ "node_modules/ajv/dist/vocabularies/validation/const.js"(exports2) {
7993
7993
  "use strict";
7994
7994
  Object.defineProperty(exports2, "__esModule", { value: true });
7995
7995
  var codegen_1 = require_codegen();
@@ -8016,9 +8016,9 @@ var require_const = __commonJS({
8016
8016
  }
8017
8017
  });
8018
8018
 
8019
- // ../../node_modules/ajv/dist/vocabularies/validation/enum.js
8019
+ // node_modules/ajv/dist/vocabularies/validation/enum.js
8020
8020
  var require_enum = __commonJS({
8021
- "../../node_modules/ajv/dist/vocabularies/validation/enum.js"(exports2) {
8021
+ "node_modules/ajv/dist/vocabularies/validation/enum.js"(exports2) {
8022
8022
  "use strict";
8023
8023
  Object.defineProperty(exports2, "__esModule", { value: true });
8024
8024
  var codegen_1 = require_codegen();
@@ -8065,9 +8065,9 @@ var require_enum = __commonJS({
8065
8065
  }
8066
8066
  });
8067
8067
 
8068
- // ../../node_modules/ajv/dist/vocabularies/validation/index.js
8068
+ // node_modules/ajv/dist/vocabularies/validation/index.js
8069
8069
  var require_validation = __commonJS({
8070
- "../../node_modules/ajv/dist/vocabularies/validation/index.js"(exports2) {
8070
+ "node_modules/ajv/dist/vocabularies/validation/index.js"(exports2) {
8071
8071
  "use strict";
8072
8072
  Object.defineProperty(exports2, "__esModule", { value: true });
8073
8073
  var limitNumber_1 = require_limitNumber();
@@ -8103,9 +8103,9 @@ var require_validation = __commonJS({
8103
8103
  }
8104
8104
  });
8105
8105
 
8106
- // ../../node_modules/ajv/dist/vocabularies/applicator/additionalItems.js
8106
+ // node_modules/ajv/dist/vocabularies/applicator/additionalItems.js
8107
8107
  var require_additionalItems = __commonJS({
8108
- "../../node_modules/ajv/dist/vocabularies/applicator/additionalItems.js"(exports2) {
8108
+ "node_modules/ajv/dist/vocabularies/applicator/additionalItems.js"(exports2) {
8109
8109
  "use strict";
8110
8110
  Object.defineProperty(exports2, "__esModule", { value: true });
8111
8111
  exports2.validateAdditionalItems = void 0;
@@ -8156,9 +8156,9 @@ var require_additionalItems = __commonJS({
8156
8156
  }
8157
8157
  });
8158
8158
 
8159
- // ../../node_modules/ajv/dist/vocabularies/applicator/items.js
8159
+ // node_modules/ajv/dist/vocabularies/applicator/items.js
8160
8160
  var require_items = __commonJS({
8161
- "../../node_modules/ajv/dist/vocabularies/applicator/items.js"(exports2) {
8161
+ "node_modules/ajv/dist/vocabularies/applicator/items.js"(exports2) {
8162
8162
  "use strict";
8163
8163
  Object.defineProperty(exports2, "__esModule", { value: true });
8164
8164
  exports2.validateTuple = void 0;
@@ -8213,9 +8213,9 @@ var require_items = __commonJS({
8213
8213
  }
8214
8214
  });
8215
8215
 
8216
- // ../../node_modules/ajv/dist/vocabularies/applicator/prefixItems.js
8216
+ // node_modules/ajv/dist/vocabularies/applicator/prefixItems.js
8217
8217
  var require_prefixItems = __commonJS({
8218
- "../../node_modules/ajv/dist/vocabularies/applicator/prefixItems.js"(exports2) {
8218
+ "node_modules/ajv/dist/vocabularies/applicator/prefixItems.js"(exports2) {
8219
8219
  "use strict";
8220
8220
  Object.defineProperty(exports2, "__esModule", { value: true });
8221
8221
  var items_1 = require_items();
@@ -8230,9 +8230,9 @@ var require_prefixItems = __commonJS({
8230
8230
  }
8231
8231
  });
8232
8232
 
8233
- // ../../node_modules/ajv/dist/vocabularies/applicator/items2020.js
8233
+ // node_modules/ajv/dist/vocabularies/applicator/items2020.js
8234
8234
  var require_items2020 = __commonJS({
8235
- "../../node_modules/ajv/dist/vocabularies/applicator/items2020.js"(exports2) {
8235
+ "node_modules/ajv/dist/vocabularies/applicator/items2020.js"(exports2) {
8236
8236
  "use strict";
8237
8237
  Object.defineProperty(exports2, "__esModule", { value: true });
8238
8238
  var codegen_1 = require_codegen();
@@ -8265,9 +8265,9 @@ var require_items2020 = __commonJS({
8265
8265
  }
8266
8266
  });
8267
8267
 
8268
- // ../../node_modules/ajv/dist/vocabularies/applicator/contains.js
8268
+ // node_modules/ajv/dist/vocabularies/applicator/contains.js
8269
8269
  var require_contains = __commonJS({
8270
- "../../node_modules/ajv/dist/vocabularies/applicator/contains.js"(exports2) {
8270
+ "node_modules/ajv/dist/vocabularies/applicator/contains.js"(exports2) {
8271
8271
  "use strict";
8272
8272
  Object.defineProperty(exports2, "__esModule", { value: true });
8273
8273
  var codegen_1 = require_codegen();
@@ -8359,9 +8359,9 @@ var require_contains = __commonJS({
8359
8359
  }
8360
8360
  });
8361
8361
 
8362
- // ../../node_modules/ajv/dist/vocabularies/applicator/dependencies.js
8362
+ // node_modules/ajv/dist/vocabularies/applicator/dependencies.js
8363
8363
  var require_dependencies = __commonJS({
8364
- "../../node_modules/ajv/dist/vocabularies/applicator/dependencies.js"(exports2) {
8364
+ "node_modules/ajv/dist/vocabularies/applicator/dependencies.js"(exports2) {
8365
8365
  "use strict";
8366
8366
  Object.defineProperty(exports2, "__esModule", { value: true });
8367
8367
  exports2.validateSchemaDeps = exports2.validatePropertyDeps = exports2.error = void 0;
@@ -8453,9 +8453,9 @@ var require_dependencies = __commonJS({
8453
8453
  }
8454
8454
  });
8455
8455
 
8456
- // ../../node_modules/ajv/dist/vocabularies/applicator/propertyNames.js
8456
+ // node_modules/ajv/dist/vocabularies/applicator/propertyNames.js
8457
8457
  var require_propertyNames = __commonJS({
8458
- "../../node_modules/ajv/dist/vocabularies/applicator/propertyNames.js"(exports2) {
8458
+ "node_modules/ajv/dist/vocabularies/applicator/propertyNames.js"(exports2) {
8459
8459
  "use strict";
8460
8460
  Object.defineProperty(exports2, "__esModule", { value: true });
8461
8461
  var codegen_1 = require_codegen();
@@ -8496,9 +8496,9 @@ var require_propertyNames = __commonJS({
8496
8496
  }
8497
8497
  });
8498
8498
 
8499
- // ../../node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js
8499
+ // node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js
8500
8500
  var require_additionalProperties = __commonJS({
8501
- "../../node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js"(exports2) {
8501
+ "node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js"(exports2) {
8502
8502
  "use strict";
8503
8503
  Object.defineProperty(exports2, "__esModule", { value: true });
8504
8504
  var code_1 = require_code2();
@@ -8602,9 +8602,9 @@ var require_additionalProperties = __commonJS({
8602
8602
  }
8603
8603
  });
8604
8604
 
8605
- // ../../node_modules/ajv/dist/vocabularies/applicator/properties.js
8605
+ // node_modules/ajv/dist/vocabularies/applicator/properties.js
8606
8606
  var require_properties = __commonJS({
8607
- "../../node_modules/ajv/dist/vocabularies/applicator/properties.js"(exports2) {
8607
+ "node_modules/ajv/dist/vocabularies/applicator/properties.js"(exports2) {
8608
8608
  "use strict";
8609
8609
  Object.defineProperty(exports2, "__esModule", { value: true });
8610
8610
  var validate_1 = require_validate();
@@ -8660,9 +8660,9 @@ var require_properties = __commonJS({
8660
8660
  }
8661
8661
  });
8662
8662
 
8663
- // ../../node_modules/ajv/dist/vocabularies/applicator/patternProperties.js
8663
+ // node_modules/ajv/dist/vocabularies/applicator/patternProperties.js
8664
8664
  var require_patternProperties = __commonJS({
8665
- "../../node_modules/ajv/dist/vocabularies/applicator/patternProperties.js"(exports2) {
8665
+ "node_modules/ajv/dist/vocabularies/applicator/patternProperties.js"(exports2) {
8666
8666
  "use strict";
8667
8667
  Object.defineProperty(exports2, "__esModule", { value: true });
8668
8668
  var code_1 = require_code2();
@@ -8734,9 +8734,9 @@ var require_patternProperties = __commonJS({
8734
8734
  }
8735
8735
  });
8736
8736
 
8737
- // ../../node_modules/ajv/dist/vocabularies/applicator/not.js
8737
+ // node_modules/ajv/dist/vocabularies/applicator/not.js
8738
8738
  var require_not = __commonJS({
8739
- "../../node_modules/ajv/dist/vocabularies/applicator/not.js"(exports2) {
8739
+ "node_modules/ajv/dist/vocabularies/applicator/not.js"(exports2) {
8740
8740
  "use strict";
8741
8741
  Object.defineProperty(exports2, "__esModule", { value: true });
8742
8742
  var util_1 = require_util();
@@ -8765,9 +8765,9 @@ var require_not = __commonJS({
8765
8765
  }
8766
8766
  });
8767
8767
 
8768
- // ../../node_modules/ajv/dist/vocabularies/applicator/anyOf.js
8768
+ // node_modules/ajv/dist/vocabularies/applicator/anyOf.js
8769
8769
  var require_anyOf = __commonJS({
8770
- "../../node_modules/ajv/dist/vocabularies/applicator/anyOf.js"(exports2) {
8770
+ "node_modules/ajv/dist/vocabularies/applicator/anyOf.js"(exports2) {
8771
8771
  "use strict";
8772
8772
  Object.defineProperty(exports2, "__esModule", { value: true });
8773
8773
  var code_1 = require_code2();
@@ -8782,9 +8782,9 @@ var require_anyOf = __commonJS({
8782
8782
  }
8783
8783
  });
8784
8784
 
8785
- // ../../node_modules/ajv/dist/vocabularies/applicator/oneOf.js
8785
+ // node_modules/ajv/dist/vocabularies/applicator/oneOf.js
8786
8786
  var require_oneOf = __commonJS({
8787
- "../../node_modules/ajv/dist/vocabularies/applicator/oneOf.js"(exports2) {
8787
+ "node_modules/ajv/dist/vocabularies/applicator/oneOf.js"(exports2) {
8788
8788
  "use strict";
8789
8789
  Object.defineProperty(exports2, "__esModule", { value: true });
8790
8790
  var codegen_1 = require_codegen();
@@ -8840,9 +8840,9 @@ var require_oneOf = __commonJS({
8840
8840
  }
8841
8841
  });
8842
8842
 
8843
- // ../../node_modules/ajv/dist/vocabularies/applicator/allOf.js
8843
+ // node_modules/ajv/dist/vocabularies/applicator/allOf.js
8844
8844
  var require_allOf = __commonJS({
8845
- "../../node_modules/ajv/dist/vocabularies/applicator/allOf.js"(exports2) {
8845
+ "node_modules/ajv/dist/vocabularies/applicator/allOf.js"(exports2) {
8846
8846
  "use strict";
8847
8847
  Object.defineProperty(exports2, "__esModule", { value: true });
8848
8848
  var util_1 = require_util();
@@ -8867,9 +8867,9 @@ var require_allOf = __commonJS({
8867
8867
  }
8868
8868
  });
8869
8869
 
8870
- // ../../node_modules/ajv/dist/vocabularies/applicator/if.js
8870
+ // node_modules/ajv/dist/vocabularies/applicator/if.js
8871
8871
  var require_if = __commonJS({
8872
- "../../node_modules/ajv/dist/vocabularies/applicator/if.js"(exports2) {
8872
+ "node_modules/ajv/dist/vocabularies/applicator/if.js"(exports2) {
8873
8873
  "use strict";
8874
8874
  Object.defineProperty(exports2, "__esModule", { value: true });
8875
8875
  var codegen_1 = require_codegen();
@@ -8936,9 +8936,9 @@ var require_if = __commonJS({
8936
8936
  }
8937
8937
  });
8938
8938
 
8939
- // ../../node_modules/ajv/dist/vocabularies/applicator/thenElse.js
8939
+ // node_modules/ajv/dist/vocabularies/applicator/thenElse.js
8940
8940
  var require_thenElse = __commonJS({
8941
- "../../node_modules/ajv/dist/vocabularies/applicator/thenElse.js"(exports2) {
8941
+ "node_modules/ajv/dist/vocabularies/applicator/thenElse.js"(exports2) {
8942
8942
  "use strict";
8943
8943
  Object.defineProperty(exports2, "__esModule", { value: true });
8944
8944
  var util_1 = require_util();
@@ -8954,9 +8954,9 @@ var require_thenElse = __commonJS({
8954
8954
  }
8955
8955
  });
8956
8956
 
8957
- // ../../node_modules/ajv/dist/vocabularies/applicator/index.js
8957
+ // node_modules/ajv/dist/vocabularies/applicator/index.js
8958
8958
  var require_applicator = __commonJS({
8959
- "../../node_modules/ajv/dist/vocabularies/applicator/index.js"(exports2) {
8959
+ "node_modules/ajv/dist/vocabularies/applicator/index.js"(exports2) {
8960
8960
  "use strict";
8961
8961
  Object.defineProperty(exports2, "__esModule", { value: true });
8962
8962
  var additionalItems_1 = require_additionalItems();
@@ -9002,9 +9002,9 @@ var require_applicator = __commonJS({
9002
9002
  }
9003
9003
  });
9004
9004
 
9005
- // ../../node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.js
9005
+ // node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.js
9006
9006
  var require_dynamicAnchor = __commonJS({
9007
- "../../node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.js"(exports2) {
9007
+ "node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.js"(exports2) {
9008
9008
  "use strict";
9009
9009
  Object.defineProperty(exports2, "__esModule", { value: true });
9010
9010
  exports2.dynamicAnchor = void 0;
@@ -9037,9 +9037,9 @@ var require_dynamicAnchor = __commonJS({
9037
9037
  }
9038
9038
  });
9039
9039
 
9040
- // ../../node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.js
9040
+ // node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.js
9041
9041
  var require_dynamicRef = __commonJS({
9042
- "../../node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.js"(exports2) {
9042
+ "node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.js"(exports2) {
9043
9043
  "use strict";
9044
9044
  Object.defineProperty(exports2, "__esModule", { value: true });
9045
9045
  exports2.dynamicRef = void 0;
@@ -9083,9 +9083,9 @@ var require_dynamicRef = __commonJS({
9083
9083
  }
9084
9084
  });
9085
9085
 
9086
- // ../../node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.js
9086
+ // node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.js
9087
9087
  var require_recursiveAnchor = __commonJS({
9088
- "../../node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.js"(exports2) {
9088
+ "node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.js"(exports2) {
9089
9089
  "use strict";
9090
9090
  Object.defineProperty(exports2, "__esModule", { value: true });
9091
9091
  var dynamicAnchor_1 = require_dynamicAnchor();
@@ -9104,9 +9104,9 @@ var require_recursiveAnchor = __commonJS({
9104
9104
  }
9105
9105
  });
9106
9106
 
9107
- // ../../node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.js
9107
+ // node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.js
9108
9108
  var require_recursiveRef = __commonJS({
9109
- "../../node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.js"(exports2) {
9109
+ "node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.js"(exports2) {
9110
9110
  "use strict";
9111
9111
  Object.defineProperty(exports2, "__esModule", { value: true });
9112
9112
  var dynamicRef_1 = require_dynamicRef();
@@ -9119,9 +9119,9 @@ var require_recursiveRef = __commonJS({
9119
9119
  }
9120
9120
  });
9121
9121
 
9122
- // ../../node_modules/ajv/dist/vocabularies/dynamic/index.js
9122
+ // node_modules/ajv/dist/vocabularies/dynamic/index.js
9123
9123
  var require_dynamic = __commonJS({
9124
- "../../node_modules/ajv/dist/vocabularies/dynamic/index.js"(exports2) {
9124
+ "node_modules/ajv/dist/vocabularies/dynamic/index.js"(exports2) {
9125
9125
  "use strict";
9126
9126
  Object.defineProperty(exports2, "__esModule", { value: true });
9127
9127
  var dynamicAnchor_1 = require_dynamicAnchor();
@@ -9133,9 +9133,9 @@ var require_dynamic = __commonJS({
9133
9133
  }
9134
9134
  });
9135
9135
 
9136
- // ../../node_modules/ajv/dist/vocabularies/validation/dependentRequired.js
9136
+ // node_modules/ajv/dist/vocabularies/validation/dependentRequired.js
9137
9137
  var require_dependentRequired = __commonJS({
9138
- "../../node_modules/ajv/dist/vocabularies/validation/dependentRequired.js"(exports2) {
9138
+ "node_modules/ajv/dist/vocabularies/validation/dependentRequired.js"(exports2) {
9139
9139
  "use strict";
9140
9140
  Object.defineProperty(exports2, "__esModule", { value: true });
9141
9141
  var dependencies_1 = require_dependencies();
@@ -9150,9 +9150,9 @@ var require_dependentRequired = __commonJS({
9150
9150
  }
9151
9151
  });
9152
9152
 
9153
- // ../../node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.js
9153
+ // node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.js
9154
9154
  var require_dependentSchemas = __commonJS({
9155
- "../../node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.js"(exports2) {
9155
+ "node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.js"(exports2) {
9156
9156
  "use strict";
9157
9157
  Object.defineProperty(exports2, "__esModule", { value: true });
9158
9158
  var dependencies_1 = require_dependencies();
@@ -9166,9 +9166,9 @@ var require_dependentSchemas = __commonJS({
9166
9166
  }
9167
9167
  });
9168
9168
 
9169
- // ../../node_modules/ajv/dist/vocabularies/validation/limitContains.js
9169
+ // node_modules/ajv/dist/vocabularies/validation/limitContains.js
9170
9170
  var require_limitContains = __commonJS({
9171
- "../../node_modules/ajv/dist/vocabularies/validation/limitContains.js"(exports2) {
9171
+ "node_modules/ajv/dist/vocabularies/validation/limitContains.js"(exports2) {
9172
9172
  "use strict";
9173
9173
  Object.defineProperty(exports2, "__esModule", { value: true });
9174
9174
  var util_1 = require_util();
@@ -9186,9 +9186,9 @@ var require_limitContains = __commonJS({
9186
9186
  }
9187
9187
  });
9188
9188
 
9189
- // ../../node_modules/ajv/dist/vocabularies/next.js
9189
+ // node_modules/ajv/dist/vocabularies/next.js
9190
9190
  var require_next = __commonJS({
9191
- "../../node_modules/ajv/dist/vocabularies/next.js"(exports2) {
9191
+ "node_modules/ajv/dist/vocabularies/next.js"(exports2) {
9192
9192
  "use strict";
9193
9193
  Object.defineProperty(exports2, "__esModule", { value: true });
9194
9194
  var dependentRequired_1 = require_dependentRequired();
@@ -9199,9 +9199,9 @@ var require_next = __commonJS({
9199
9199
  }
9200
9200
  });
9201
9201
 
9202
- // ../../node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.js
9202
+ // node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.js
9203
9203
  var require_unevaluatedProperties = __commonJS({
9204
- "../../node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.js"(exports2) {
9204
+ "node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.js"(exports2) {
9205
9205
  "use strict";
9206
9206
  Object.defineProperty(exports2, "__esModule", { value: true });
9207
9207
  var codegen_1 = require_codegen();
@@ -9265,9 +9265,9 @@ var require_unevaluatedProperties = __commonJS({
9265
9265
  }
9266
9266
  });
9267
9267
 
9268
- // ../../node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.js
9268
+ // node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.js
9269
9269
  var require_unevaluatedItems = __commonJS({
9270
- "../../node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.js"(exports2) {
9270
+ "node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.js"(exports2) {
9271
9271
  "use strict";
9272
9272
  Object.defineProperty(exports2, "__esModule", { value: true });
9273
9273
  var codegen_1 = require_codegen();
@@ -9309,9 +9309,9 @@ var require_unevaluatedItems = __commonJS({
9309
9309
  }
9310
9310
  });
9311
9311
 
9312
- // ../../node_modules/ajv/dist/vocabularies/unevaluated/index.js
9312
+ // node_modules/ajv/dist/vocabularies/unevaluated/index.js
9313
9313
  var require_unevaluated = __commonJS({
9314
- "../../node_modules/ajv/dist/vocabularies/unevaluated/index.js"(exports2) {
9314
+ "node_modules/ajv/dist/vocabularies/unevaluated/index.js"(exports2) {
9315
9315
  "use strict";
9316
9316
  Object.defineProperty(exports2, "__esModule", { value: true });
9317
9317
  var unevaluatedProperties_1 = require_unevaluatedProperties();
@@ -9321,9 +9321,9 @@ var require_unevaluated = __commonJS({
9321
9321
  }
9322
9322
  });
9323
9323
 
9324
- // ../../node_modules/ajv/dist/vocabularies/format/format.js
9324
+ // node_modules/ajv/dist/vocabularies/format/format.js
9325
9325
  var require_format = __commonJS({
9326
- "../../node_modules/ajv/dist/vocabularies/format/format.js"(exports2) {
9326
+ "node_modules/ajv/dist/vocabularies/format/format.js"(exports2) {
9327
9327
  "use strict";
9328
9328
  Object.defineProperty(exports2, "__esModule", { value: true });
9329
9329
  var codegen_1 = require_codegen();
@@ -9411,9 +9411,9 @@ var require_format = __commonJS({
9411
9411
  }
9412
9412
  });
9413
9413
 
9414
- // ../../node_modules/ajv/dist/vocabularies/format/index.js
9414
+ // node_modules/ajv/dist/vocabularies/format/index.js
9415
9415
  var require_format2 = __commonJS({
9416
- "../../node_modules/ajv/dist/vocabularies/format/index.js"(exports2) {
9416
+ "node_modules/ajv/dist/vocabularies/format/index.js"(exports2) {
9417
9417
  "use strict";
9418
9418
  Object.defineProperty(exports2, "__esModule", { value: true });
9419
9419
  var format_1 = require_format();
@@ -9422,9 +9422,9 @@ var require_format2 = __commonJS({
9422
9422
  }
9423
9423
  });
9424
9424
 
9425
- // ../../node_modules/ajv/dist/vocabularies/metadata.js
9425
+ // node_modules/ajv/dist/vocabularies/metadata.js
9426
9426
  var require_metadata = __commonJS({
9427
- "../../node_modules/ajv/dist/vocabularies/metadata.js"(exports2) {
9427
+ "node_modules/ajv/dist/vocabularies/metadata.js"(exports2) {
9428
9428
  "use strict";
9429
9429
  Object.defineProperty(exports2, "__esModule", { value: true });
9430
9430
  exports2.contentVocabulary = exports2.metadataVocabulary = void 0;
@@ -9445,9 +9445,9 @@ var require_metadata = __commonJS({
9445
9445
  }
9446
9446
  });
9447
9447
 
9448
- // ../../node_modules/ajv/dist/vocabularies/draft2020.js
9448
+ // node_modules/ajv/dist/vocabularies/draft2020.js
9449
9449
  var require_draft2020 = __commonJS({
9450
- "../../node_modules/ajv/dist/vocabularies/draft2020.js"(exports2) {
9450
+ "node_modules/ajv/dist/vocabularies/draft2020.js"(exports2) {
9451
9451
  "use strict";
9452
9452
  Object.defineProperty(exports2, "__esModule", { value: true });
9453
9453
  var core_1 = require_core2();
@@ -9473,9 +9473,9 @@ var require_draft2020 = __commonJS({
9473
9473
  }
9474
9474
  });
9475
9475
 
9476
- // ../../node_modules/ajv/dist/vocabularies/discriminator/types.js
9476
+ // node_modules/ajv/dist/vocabularies/discriminator/types.js
9477
9477
  var require_types = __commonJS({
9478
- "../../node_modules/ajv/dist/vocabularies/discriminator/types.js"(exports2) {
9478
+ "node_modules/ajv/dist/vocabularies/discriminator/types.js"(exports2) {
9479
9479
  "use strict";
9480
9480
  Object.defineProperty(exports2, "__esModule", { value: true });
9481
9481
  exports2.DiscrError = void 0;
@@ -9487,9 +9487,9 @@ var require_types = __commonJS({
9487
9487
  }
9488
9488
  });
9489
9489
 
9490
- // ../../node_modules/ajv/dist/vocabularies/discriminator/index.js
9490
+ // node_modules/ajv/dist/vocabularies/discriminator/index.js
9491
9491
  var require_discriminator = __commonJS({
9492
- "../../node_modules/ajv/dist/vocabularies/discriminator/index.js"(exports2) {
9492
+ "node_modules/ajv/dist/vocabularies/discriminator/index.js"(exports2) {
9493
9493
  "use strict";
9494
9494
  Object.defineProperty(exports2, "__esModule", { value: true });
9495
9495
  var codegen_1 = require_codegen();
@@ -9592,9 +9592,9 @@ var require_discriminator = __commonJS({
9592
9592
  }
9593
9593
  });
9594
9594
 
9595
- // ../../node_modules/ajv/dist/refs/json-schema-2020-12/schema.json
9595
+ // node_modules/ajv/dist/refs/json-schema-2020-12/schema.json
9596
9596
  var require_schema = __commonJS({
9597
- "../../node_modules/ajv/dist/refs/json-schema-2020-12/schema.json"(exports2, module2) {
9597
+ "node_modules/ajv/dist/refs/json-schema-2020-12/schema.json"(exports2, module2) {
9598
9598
  module2.exports = {
9599
9599
  $schema: "https://json-schema.org/draft/2020-12/schema",
9600
9600
  $id: "https://json-schema.org/draft/2020-12/schema",
@@ -9652,9 +9652,9 @@ var require_schema = __commonJS({
9652
9652
  }
9653
9653
  });
9654
9654
 
9655
- // ../../node_modules/ajv/dist/refs/json-schema-2020-12/meta/applicator.json
9655
+ // node_modules/ajv/dist/refs/json-schema-2020-12/meta/applicator.json
9656
9656
  var require_applicator2 = __commonJS({
9657
- "../../node_modules/ajv/dist/refs/json-schema-2020-12/meta/applicator.json"(exports2, module2) {
9657
+ "node_modules/ajv/dist/refs/json-schema-2020-12/meta/applicator.json"(exports2, module2) {
9658
9658
  module2.exports = {
9659
9659
  $schema: "https://json-schema.org/draft/2020-12/schema",
9660
9660
  $id: "https://json-schema.org/draft/2020-12/meta/applicator",
@@ -9705,9 +9705,9 @@ var require_applicator2 = __commonJS({
9705
9705
  }
9706
9706
  });
9707
9707
 
9708
- // ../../node_modules/ajv/dist/refs/json-schema-2020-12/meta/unevaluated.json
9708
+ // node_modules/ajv/dist/refs/json-schema-2020-12/meta/unevaluated.json
9709
9709
  var require_unevaluated2 = __commonJS({
9710
- "../../node_modules/ajv/dist/refs/json-schema-2020-12/meta/unevaluated.json"(exports2, module2) {
9710
+ "node_modules/ajv/dist/refs/json-schema-2020-12/meta/unevaluated.json"(exports2, module2) {
9711
9711
  module2.exports = {
9712
9712
  $schema: "https://json-schema.org/draft/2020-12/schema",
9713
9713
  $id: "https://json-schema.org/draft/2020-12/meta/unevaluated",
@@ -9725,9 +9725,9 @@ var require_unevaluated2 = __commonJS({
9725
9725
  }
9726
9726
  });
9727
9727
 
9728
- // ../../node_modules/ajv/dist/refs/json-schema-2020-12/meta/content.json
9728
+ // node_modules/ajv/dist/refs/json-schema-2020-12/meta/content.json
9729
9729
  var require_content = __commonJS({
9730
- "../../node_modules/ajv/dist/refs/json-schema-2020-12/meta/content.json"(exports2, module2) {
9730
+ "node_modules/ajv/dist/refs/json-schema-2020-12/meta/content.json"(exports2, module2) {
9731
9731
  module2.exports = {
9732
9732
  $schema: "https://json-schema.org/draft/2020-12/schema",
9733
9733
  $id: "https://json-schema.org/draft/2020-12/meta/content",
@@ -9746,9 +9746,9 @@ var require_content = __commonJS({
9746
9746
  }
9747
9747
  });
9748
9748
 
9749
- // ../../node_modules/ajv/dist/refs/json-schema-2020-12/meta/core.json
9749
+ // node_modules/ajv/dist/refs/json-schema-2020-12/meta/core.json
9750
9750
  var require_core3 = __commonJS({
9751
- "../../node_modules/ajv/dist/refs/json-schema-2020-12/meta/core.json"(exports2, module2) {
9751
+ "node_modules/ajv/dist/refs/json-schema-2020-12/meta/core.json"(exports2, module2) {
9752
9752
  module2.exports = {
9753
9753
  $schema: "https://json-schema.org/draft/2020-12/schema",
9754
9754
  $id: "https://json-schema.org/draft/2020-12/meta/core",
@@ -9802,9 +9802,9 @@ var require_core3 = __commonJS({
9802
9802
  }
9803
9803
  });
9804
9804
 
9805
- // ../../node_modules/ajv/dist/refs/json-schema-2020-12/meta/format-annotation.json
9805
+ // node_modules/ajv/dist/refs/json-schema-2020-12/meta/format-annotation.json
9806
9806
  var require_format_annotation = __commonJS({
9807
- "../../node_modules/ajv/dist/refs/json-schema-2020-12/meta/format-annotation.json"(exports2, module2) {
9807
+ "node_modules/ajv/dist/refs/json-schema-2020-12/meta/format-annotation.json"(exports2, module2) {
9808
9808
  module2.exports = {
9809
9809
  $schema: "https://json-schema.org/draft/2020-12/schema",
9810
9810
  $id: "https://json-schema.org/draft/2020-12/meta/format-annotation",
@@ -9821,9 +9821,9 @@ var require_format_annotation = __commonJS({
9821
9821
  }
9822
9822
  });
9823
9823
 
9824
- // ../../node_modules/ajv/dist/refs/json-schema-2020-12/meta/meta-data.json
9824
+ // node_modules/ajv/dist/refs/json-schema-2020-12/meta/meta-data.json
9825
9825
  var require_meta_data = __commonJS({
9826
- "../../node_modules/ajv/dist/refs/json-schema-2020-12/meta/meta-data.json"(exports2, module2) {
9826
+ "node_modules/ajv/dist/refs/json-schema-2020-12/meta/meta-data.json"(exports2, module2) {
9827
9827
  module2.exports = {
9828
9828
  $schema: "https://json-schema.org/draft/2020-12/schema",
9829
9829
  $id: "https://json-schema.org/draft/2020-12/meta/meta-data",
@@ -9862,9 +9862,9 @@ var require_meta_data = __commonJS({
9862
9862
  }
9863
9863
  });
9864
9864
 
9865
- // ../../node_modules/ajv/dist/refs/json-schema-2020-12/meta/validation.json
9865
+ // node_modules/ajv/dist/refs/json-schema-2020-12/meta/validation.json
9866
9866
  var require_validation2 = __commonJS({
9867
- "../../node_modules/ajv/dist/refs/json-schema-2020-12/meta/validation.json"(exports2, module2) {
9867
+ "node_modules/ajv/dist/refs/json-schema-2020-12/meta/validation.json"(exports2, module2) {
9868
9868
  module2.exports = {
9869
9869
  $schema: "https://json-schema.org/draft/2020-12/schema",
9870
9870
  $id: "https://json-schema.org/draft/2020-12/meta/validation",
@@ -9957,9 +9957,9 @@ var require_validation2 = __commonJS({
9957
9957
  }
9958
9958
  });
9959
9959
 
9960
- // ../../node_modules/ajv/dist/refs/json-schema-2020-12/index.js
9960
+ // node_modules/ajv/dist/refs/json-schema-2020-12/index.js
9961
9961
  var require_json_schema_2020_12 = __commonJS({
9962
- "../../node_modules/ajv/dist/refs/json-schema-2020-12/index.js"(exports2) {
9962
+ "node_modules/ajv/dist/refs/json-schema-2020-12/index.js"(exports2) {
9963
9963
  "use strict";
9964
9964
  Object.defineProperty(exports2, "__esModule", { value: true });
9965
9965
  var metaSchema = require_schema();
@@ -9992,9 +9992,9 @@ var require_json_schema_2020_12 = __commonJS({
9992
9992
  }
9993
9993
  });
9994
9994
 
9995
- // ../../node_modules/ajv/dist/2020.js
9995
+ // node_modules/ajv/dist/2020.js
9996
9996
  var require__ = __commonJS({
9997
- "../../node_modules/ajv/dist/2020.js"(exports2, module2) {
9997
+ "node_modules/ajv/dist/2020.js"(exports2, module2) {
9998
9998
  "use strict";
9999
9999
  Object.defineProperty(exports2, "__esModule", { value: true });
10000
10000
  exports2.MissingRefError = exports2.ValidationError = exports2.CodeGen = exports2.Name = exports2.nil = exports2.stringify = exports2.str = exports2._ = exports2.KeywordCxt = exports2.Ajv2020 = void 0;
@@ -10069,9 +10069,9 @@ var require__ = __commonJS({
10069
10069
  }
10070
10070
  });
10071
10071
 
10072
- // ../../node_modules/ajv-formats/dist/formats.js
10072
+ // node_modules/ajv-formats/dist/formats.js
10073
10073
  var require_formats = __commonJS({
10074
- "../../node_modules/ajv-formats/dist/formats.js"(exports2) {
10074
+ "node_modules/ajv-formats/dist/formats.js"(exports2) {
10075
10075
  "use strict";
10076
10076
  Object.defineProperty(exports2, "__esModule", { value: true });
10077
10077
  exports2.formatNames = exports2.fastFormats = exports2.fullFormats = void 0;
@@ -10272,9 +10272,9 @@ var require_formats = __commonJS({
10272
10272
  }
10273
10273
  });
10274
10274
 
10275
- // ../../node_modules/ajv/dist/vocabularies/draft7.js
10275
+ // node_modules/ajv/dist/vocabularies/draft7.js
10276
10276
  var require_draft7 = __commonJS({
10277
- "../../node_modules/ajv/dist/vocabularies/draft7.js"(exports2) {
10277
+ "node_modules/ajv/dist/vocabularies/draft7.js"(exports2) {
10278
10278
  "use strict";
10279
10279
  Object.defineProperty(exports2, "__esModule", { value: true });
10280
10280
  var core_1 = require_core2();
@@ -10294,9 +10294,9 @@ var require_draft7 = __commonJS({
10294
10294
  }
10295
10295
  });
10296
10296
 
10297
- // ../../node_modules/ajv/dist/refs/json-schema-draft-07.json
10297
+ // node_modules/ajv/dist/refs/json-schema-draft-07.json
10298
10298
  var require_json_schema_draft_07 = __commonJS({
10299
- "../../node_modules/ajv/dist/refs/json-schema-draft-07.json"(exports2, module2) {
10299
+ "node_modules/ajv/dist/refs/json-schema-draft-07.json"(exports2, module2) {
10300
10300
  module2.exports = {
10301
10301
  $schema: "http://json-schema.org/draft-07/schema#",
10302
10302
  $id: "http://json-schema.org/draft-07/schema#",
@@ -10451,9 +10451,9 @@ var require_json_schema_draft_07 = __commonJS({
10451
10451
  }
10452
10452
  });
10453
10453
 
10454
- // ../../node_modules/ajv/dist/ajv.js
10454
+ // node_modules/ajv/dist/ajv.js
10455
10455
  var require_ajv = __commonJS({
10456
- "../../node_modules/ajv/dist/ajv.js"(exports2, module2) {
10456
+ "node_modules/ajv/dist/ajv.js"(exports2, module2) {
10457
10457
  "use strict";
10458
10458
  Object.defineProperty(exports2, "__esModule", { value: true });
10459
10459
  exports2.MissingRefError = exports2.ValidationError = exports2.CodeGen = exports2.Name = exports2.nil = exports2.stringify = exports2.str = exports2._ = exports2.KeywordCxt = exports2.Ajv = void 0;
@@ -10521,9 +10521,9 @@ var require_ajv = __commonJS({
10521
10521
  }
10522
10522
  });
10523
10523
 
10524
- // ../../node_modules/ajv-formats/dist/limit.js
10524
+ // node_modules/ajv-formats/dist/limit.js
10525
10525
  var require_limit = __commonJS({
10526
- "../../node_modules/ajv-formats/dist/limit.js"(exports2) {
10526
+ "node_modules/ajv-formats/dist/limit.js"(exports2) {
10527
10527
  "use strict";
10528
10528
  Object.defineProperty(exports2, "__esModule", { value: true });
10529
10529
  exports2.formatLimitDefinition = void 0;
@@ -10593,9 +10593,9 @@ var require_limit = __commonJS({
10593
10593
  }
10594
10594
  });
10595
10595
 
10596
- // ../../node_modules/ajv-formats/dist/index.js
10596
+ // node_modules/ajv-formats/dist/index.js
10597
10597
  var require_dist = __commonJS({
10598
- "../../node_modules/ajv-formats/dist/index.js"(exports2, module2) {
10598
+ "node_modules/ajv-formats/dist/index.js"(exports2, module2) {
10599
10599
  "use strict";
10600
10600
  Object.defineProperty(exports2, "__esModule", { value: true });
10601
10601
  var formats_1 = require_formats();
@@ -10622,12 +10622,12 @@ var require_dist = __commonJS({
10622
10622
  throw new Error(`Unknown format "${name}"`);
10623
10623
  return f;
10624
10624
  };
10625
- function addFormats2(ajv2, list, fs61, exportName) {
10625
+ function addFormats2(ajv2, list, fs60, exportName) {
10626
10626
  var _a;
10627
10627
  var _b;
10628
10628
  (_a = (_b = ajv2.opts.code).formats) !== null && _a !== void 0 ? _a : _b.formats = (0, codegen_1._)`require("ajv-formats/dist/formats").${exportName}`;
10629
10629
  for (const f of list)
10630
- ajv2.addFormat(f, fs61[f]);
10630
+ ajv2.addFormat(f, fs60[f]);
10631
10631
  }
10632
10632
  module2.exports = exports2 = formatsPlugin;
10633
10633
  Object.defineProperty(exports2, "__esModule", { value: true });
@@ -10635,11 +10635,11 @@ var require_dist = __commonJS({
10635
10635
  }
10636
10636
  });
10637
10637
 
10638
- // ../../src/cli/main.ts
10639
- var fs60 = __toESM(require("node:fs"));
10638
+ // src/cli/main.ts
10639
+ var fs59 = __toESM(require("node:fs"));
10640
10640
  var path59 = __toESM(require("node:path"));
10641
10641
 
10642
- // ../../src/cli/exitCodes.ts
10642
+ // src/cli/exitCodes.ts
10643
10643
  var ExitCode = {
10644
10644
  ok: 0,
10645
10645
  usage: 2,
@@ -10676,13 +10676,13 @@ function describeExitCode(code) {
10676
10676
  }
10677
10677
  }
10678
10678
 
10679
- // ../../src/cli/jsonReporter.ts
10679
+ // src/cli/jsonReporter.ts
10680
10680
  function printJsonLine(envelope) {
10681
10681
  process.stdout.write(`${JSON.stringify(envelope)}
10682
10682
  `);
10683
10683
  }
10684
10684
 
10685
- // ../../node_modules/commander/esm.mjs
10685
+ // node_modules/commander/esm.mjs
10686
10686
  var import_index = __toESM(require_commander(), 1);
10687
10687
  var {
10688
10688
  program,
@@ -10699,11 +10699,11 @@ var {
10699
10699
  Help
10700
10700
  } = import_index.default;
10701
10701
 
10702
- // ../../src/cli/cliProgram.ts
10702
+ // src/cli/cliProgram.ts
10703
10703
  function createEasyspecsCliProgram() {
10704
10704
  const program2 = new Command();
10705
10705
  program2.name("easyspecs-cli").allowExcessArguments(false).enablePositionalOptions();
10706
- program2.option("--cwd <dir>", "Repository root (default: current directory)").option("--ci", "Non-interactive; fail fast if configuration is missing").option("--json", "Print one JSON summary line on stdout").option("--verbose", "Extra stderr logging").option("--config <path>", "Configuration file path (accepted; currently unused)").option("--api-base-url <url>", "System Manager API origin (overrides config)").option("--session-path <file>", "Session JSON for this run (overrides config)").option("--environment <environment>", "Effective deployment (alias: --env)").option("--env <environment>", "Alias for --environment").option("--promote", "Copy generated context into workspace after synthesis").option("--no-promote", "Disable promotion of generated context into workspace");
10706
+ program2.option("--cwd <dir>", "Repository root (default: current directory)").option("--ci", "Non-interactive; fail fast if configuration is missing").option("--json", "Print one JSON summary line on stdout").option("--verbose", "Extra stderr logging").option("--config <path>", "Configuration file path (accepted; currently unused)").option("--api-base-url <url>", "System Manager API origin (overrides config)").option("--session-path <file>", "Session JSON for this run (overrides config)").option("--environment <environment>", "Effective deployment (alias: --env)").option("--env <environment>", "Alias for --environment").option("--promote", "After run synthesis: force context promotion when config would disable it").option("--no-promote", "After run synthesis or analysis: skip copying .gluecharm/context into repo for this run");
10707
10707
  program2.command("help").description("Show help");
10708
10708
  program2.command("version").description("Print CLI version");
10709
10709
  program2.command("doctor").description("Check readiness and/or inspect configuration").option("--readiness", "Print readiness summary (default)").option("--inspect-config", "Print redacted merged configuration");
@@ -10715,7 +10715,7 @@ function createEasyspecsCliProgram() {
10715
10715
  const runSynthesis = run.command("synthesis").description("Run synthesis pipeline");
10716
10716
  runSynthesis.command("resume-missing").description("Resume remediation pool for missing artefacts").option("--worktree <path>", "Path to an analysis checkout");
10717
10717
  runSynthesis.command("resume-synthesis").description("Resume synthesis pipeline").option("--worktree <path>", "Path to an analysis checkout");
10718
- program2.command("analysis").description("Run full Factory (Generate Context)").option("--synthesis-only", "Only run synthesis (skip factory phases)").option("--upload", "Upload context after generation").option("--force-new-context-analysis", "Force a new analysis even when cloud cache says analyzed");
10718
+ program2.command("analysis").description("Run full Factory (Generate Context)").option("--force-new-context-analysis", "Force a new analysis even when cloud cache says analyzed").addOption(new Option("--synthesis-only", "(deprecated; no effect)").hideHelp()).allowUnknownOption(true);
10719
10719
  const diagnose = program2.command("diagnose").description("Deterministic diagnostics");
10720
10720
  const addRootAndWorktree = (c) => c.option("--root <root>", "workspace|worktree").option("--worktree <path>", "Path to an analysis checkout");
10721
10721
  addRootAndWorktree(diagnose.command("reference-coverage").description("Compute reference coverage"));
@@ -10729,7 +10729,7 @@ function createEasyspecsCliProgram() {
10729
10729
  context.command("drift").description("Compare repo to reference docs; write drift report and update index (worktree + promote)").argument("<referencePath>", "File or directory (spec, SRS, PRD, \u2026)").option("--label <slug>", "Slug for drift-<slug>-<date>.md").option("--index <path>", "Override reference root markdown (relative to repo root)").option("--dry-run", "Validate reference only; skip worktree, agent, and writes")
10730
10730
  );
10731
10731
  const update = program2.command("update").description("Incremental context refresh");
10732
- update.command("context").description("Update context since last baseline (git delta, optional remediation, promote, upload)").option("--upload", "Upload modified context to EasySpecs after success");
10732
+ update.command("context").description("Update context since last baseline (git delta, optional remediation, promote)").allowUnknownOption(true);
10733
10733
  const download = program2.command("download").description("Download resources");
10734
10734
  download.command("context").description("Download context from EasySpecs cloud").option("--force", "Overwrite existing local files").option("--replace-from-cloud", "Remove local files before writing cloud versions");
10735
10735
  const upload = program2.command("upload").description("Upload resources");
@@ -10747,11 +10747,11 @@ function createEasyspecsCliProgram() {
10747
10747
  return program2;
10748
10748
  }
10749
10749
 
10750
- // ../../src/cli/cliContext.ts
10750
+ // src/cli/cliContext.ts
10751
10751
  var fs2 = __toESM(require("node:fs"));
10752
10752
  var path2 = __toESM(require("path"));
10753
10753
 
10754
- // ../../src/repositoryProvenance.ts
10754
+ // src/repositoryProvenance.ts
10755
10755
  var import_node_child_process = require("node:child_process");
10756
10756
  var fs = __toESM(require("node:fs"));
10757
10757
  var path = __toESM(require("node:path"));
@@ -10917,7 +10917,7 @@ function attachRepositoryProvenance(doc, contextDir2, opts) {
10917
10917
  }
10918
10918
  }
10919
10919
 
10920
- // ../../src/apiBaseUrlResolve.ts
10920
+ // src/apiBaseUrlResolve.ts
10921
10921
  var vscode = __toESM(require_vscode_stub());
10922
10922
  var extensionRoot;
10923
10923
  var cachedExtensionDotEnv = null;
@@ -10926,11 +10926,11 @@ function setApiBaseUrlExtensionRoot(extensionFsPath) {
10926
10926
  cachedExtensionDotEnv = null;
10927
10927
  }
10928
10928
 
10929
- // ../../src/easyspecsBuiltInApiUrls.ts
10929
+ // src/easyspecsBuiltInApiUrls.ts
10930
10930
  var PRODUCTION_SYSTEM_MANAGER_URL = "https://api.easyspecs.ai";
10931
10931
  var STAGING_SYSTEM_MANAGER_URL = "https://system-manager-api.staging.gluecharm.info:8092";
10932
10932
 
10933
- // ../../src/easyspecsApiBaseUrlCli.ts
10933
+ // src/easyspecsApiBaseUrlCli.ts
10934
10934
  function stripTrailingSlash(url) {
10935
10935
  return url.replace(/\/$/, "");
10936
10936
  }
@@ -10947,7 +10947,7 @@ function resolveEasyspecsApiBaseUrlForCli(input) {
10947
10947
  return eff === "staging" ? STAGING_SYSTEM_MANAGER_URL : PRODUCTION_SYSTEM_MANAGER_URL;
10948
10948
  }
10949
10949
 
10950
- // ../../src/cli/cliContext.ts
10950
+ // src/cli/cliContext.ts
10951
10951
  function thisDir() {
10952
10952
  return __dirname;
10953
10953
  }
@@ -11012,7 +11012,7 @@ function assertAgentsDirExists(agentsDir) {
11012
11012
  }
11013
11013
  }
11014
11014
 
11015
- // ../../src/config/openCodeProviderEnv.ts
11015
+ // src/config/openCodeProviderEnv.ts
11016
11016
  var path3 = __toESM(require("node:path"));
11017
11017
  var PROVIDER_TO_ENV = {
11018
11018
  anthropic: "ANTHROPIC_API_KEY",
@@ -11043,7 +11043,7 @@ function buildOpenCodeProviderEnvFromConfig(cfg, repoRoot) {
11043
11043
  return out;
11044
11044
  }
11045
11045
 
11046
- // ../../src/srs53SettingsAliases.ts
11046
+ // src/srs53SettingsAliases.ts
11047
11047
  var SRS53_SETTING_ALIASES = [
11048
11048
  { canonical: "easyspecs.factory.debug", legacy: "easyspecs.macro.debug" },
11049
11049
  { canonical: "easyspecs.factory.backoff.initialDelayMs", legacy: "easyspecs.orchestration.initialDelayMs" },
@@ -11161,7 +11161,7 @@ function getEasyspecsMergedConfigValue(es, fullKey) {
11161
11161
  }
11162
11162
  }
11163
11163
 
11164
- // ../../src/cli/cliSettings.ts
11164
+ // src/cli/cliSettings.ts
11165
11165
  var DEFAULT_OPEN_CODE_TEST_ARGV = [
11166
11166
  "run",
11167
11167
  "--agent",
@@ -11226,7 +11226,7 @@ function mergeEasyspecsCliSettings(cfg, overrides = {}) {
11226
11226
  };
11227
11227
  }
11228
11228
 
11229
- // ../../src/cli/cliSettingsDump.ts
11229
+ // src/cli/cliSettingsDump.ts
11230
11230
  function redactMergedCliSettingsForDump(merged) {
11231
11231
  const child = merged.openCodeChildEnv;
11232
11232
  const childRedacted = child && Object.keys(child).length > 0 ? Object.fromEntries(Object.keys(child).map((k) => [k, "(redacted)"])) : {};
@@ -11241,15 +11241,15 @@ function redactMergedCliSettingsForDump(merged) {
11241
11241
  };
11242
11242
  }
11243
11243
 
11244
- // ../../src/config/easyspecsConfigFile.ts
11244
+ // src/config/easyspecsConfigFile.ts
11245
11245
  var fs6 = __toESM(require("node:fs"));
11246
11246
  var path7 = __toESM(require("node:path"));
11247
11247
 
11248
- // ../../src/easySpecsWorkspaceSettingsCore.ts
11248
+ // src/easySpecsWorkspaceSettingsCore.ts
11249
11249
  var fs4 = __toESM(require("node:fs"));
11250
11250
  var path5 = __toESM(require("node:path"));
11251
11251
 
11252
- // ../../src/analysis/easySpecsWorktreeMarker.ts
11252
+ // src/analysis/easySpecsWorktreeMarker.ts
11253
11253
  var fs3 = __toESM(require("fs"));
11254
11254
  var path4 = __toESM(require("path"));
11255
11255
  var EASYSPECS_LOCAL_DIR = ".easyspecs";
@@ -11266,7 +11266,7 @@ function writeAnalysisWorktreeMarker(worktreeRoot, repositoryRoot) {
11266
11266
  `, "utf-8");
11267
11267
  }
11268
11268
 
11269
- // ../../src/easySpecsWorkspaceSettingsCore.ts
11269
+ // src/easySpecsWorkspaceSettingsCore.ts
11270
11270
  var EASYSPECS_WORKSPACE_DIR = EASYSPECS_LOCAL_DIR;
11271
11271
  var EASYSPECS_SETTINGS_JSON = "settings.json";
11272
11272
  var EASYSPECS_SETTINGS_ACE_KEY = "easyspecs.analysis.ace.enabled";
@@ -11315,7 +11315,7 @@ function readAceOfflineLearnAfterSameSessionTraceFromEasySpecsSettingsFile(works
11315
11315
  return typeof v === "boolean" ? v : void 0;
11316
11316
  }
11317
11317
 
11318
- // ../../src/config/easyspecsConfigJson.ts
11318
+ // src/config/easyspecsConfigJson.ts
11319
11319
  var DEFAULT_CONTEXT_ANALYZED_STATUS_TIMEOUT_MS = 15e3;
11320
11320
  function mergeEasyspecsConfigDefaults(defaults, partial) {
11321
11321
  if (!partial) {
@@ -11534,7 +11534,7 @@ function getDefaultEasyspecsConfig() {
11534
11534
  };
11535
11535
  }
11536
11536
 
11537
- // ../../src/config/validateEasyspecsConfigSrs46.ts
11537
+ // src/config/validateEasyspecsConfigSrs46.ts
11538
11538
  var fs5 = __toESM(require("node:fs"));
11539
11539
  var path6 = __toESM(require("node:path"));
11540
11540
  var import__ = __toESM(require__());
@@ -11604,7 +11604,7 @@ function assertEasyspecsConfigValidatesSrs46Schema(merged, filePathForErrors) {
11604
11604
  }
11605
11605
  }
11606
11606
 
11607
- // ../../src/config/easyspecsConfigFile.ts
11607
+ // src/config/easyspecsConfigFile.ts
11608
11608
  var DIRNAME = ".easyspecs";
11609
11609
  var CONFIG_BASENAME = "config.json";
11610
11610
  var LEGACY_CLI_JSON = "cli.json";
@@ -11802,12 +11802,12 @@ function updateEasyspecsConfig(repoRoot, patch, opts) {
11802
11802
  return merged;
11803
11803
  }
11804
11804
 
11805
- // ../../src/pipelines/upload/uploadPipeline.ts
11805
+ // src/pipelines/upload/uploadPipeline.ts
11806
11806
  var fs11 = __toESM(require("node:fs"));
11807
11807
  var path12 = __toESM(require("node:path"));
11808
11808
  var import_node_crypto = require("node:crypto");
11809
11809
 
11810
- // ../../src/auth/authProtocol.ts
11810
+ // src/auth/authProtocol.ts
11811
11811
  function requireToken(value, key) {
11812
11812
  if (!value) {
11813
11813
  const err = { status: 500, message: `Missing ${key} in auth response.` };
@@ -11892,20 +11892,20 @@ function toAuthErrorMessage(error, fallback) {
11892
11892
  return raw;
11893
11893
  }
11894
11894
 
11895
- // ../../src/analysis/contextSrsDiscoveryIdMap.ts
11895
+ // src/analysis/contextSrsDiscoveryIdMap.ts
11896
11896
  var fs10 = __toESM(require("node:fs"));
11897
11897
  var path11 = __toESM(require("node:path"));
11898
11898
 
11899
- // ../../src/analysis/indexApplicationContextMergeUploadIds.ts
11899
+ // src/analysis/indexApplicationContextMergeUploadIds.ts
11900
11900
  var fs9 = __toESM(require("node:fs"));
11901
11901
  var path10 = __toESM(require("node:path"));
11902
11902
 
11903
- // ../../src/indexApplicationContextValidate.ts
11903
+ // src/indexApplicationContextValidate.ts
11904
11904
  var import__2 = __toESM(require__());
11905
11905
  var fs8 = __toESM(require("fs"));
11906
11906
  var path9 = __toESM(require("path"));
11907
11907
 
11908
- // ../../src/shared/repoResourcesRoot.ts
11908
+ // src/shared/repoResourcesRoot.ts
11909
11909
  var fs7 = __toESM(require("node:fs"));
11910
11910
  var path8 = __toESM(require("node:path"));
11911
11911
  var CONTEXT_LIST_MARKER = path8.join("schemas", "context-lists", "zero-reference-classifier-record.schema.json");
@@ -11931,7 +11931,7 @@ function resolveIndexApplicationContextSchemaPath() {
11931
11931
  return path8.join(resolveRepoResourcesRoot(), "schemas", "index-application-context.schema.json");
11932
11932
  }
11933
11933
 
11934
- // ../../src/indexApplicationContextValidate.ts
11934
+ // src/indexApplicationContextValidate.ts
11935
11935
  var validators = /* @__PURE__ */ new Map();
11936
11936
  function getDefaultIndexSchemaPath() {
11937
11937
  return resolveIndexApplicationContextSchemaPath();
@@ -11966,7 +11966,7 @@ function validateIndexApplicationContextJson(doc, schemaPath = getDefaultIndexSc
11966
11966
  return { ok: false, errors: formatAjvErrors2(validate) };
11967
11967
  }
11968
11968
 
11969
- // ../../src/analysis/indexApplicationContextMergeUploadIds.ts
11969
+ // src/analysis/indexApplicationContextMergeUploadIds.ts
11970
11970
  var INDEX_APPLICATION_CONTEXT_BASENAME = "index-application-context.json";
11971
11971
  var SCOPE_KEYS = ["Feature", "Experience", "Service", "DataModel", "TechStack"];
11972
11972
  function toContextRelativePosix(contextDir2, absPath) {
@@ -12070,7 +12070,7 @@ function mergeUploadIdsIntoIndexOnDisk(contextDir2, succeededIds, options) {
12070
12070
  return { ok: true };
12071
12071
  }
12072
12072
 
12073
- // ../../src/analysis/contextSrsDiscoveryIdMap.ts
12073
+ // src/analysis/contextSrsDiscoveryIdMap.ts
12074
12074
  var SCOPE_KEYS2 = ["Feature", "Experience", "Service", "DataModel", "TechStack"];
12075
12075
  function normalizeRel2(p) {
12076
12076
  return p.replace(/\\/g, "/");
@@ -12158,7 +12158,7 @@ function loadSrsDiscoveryIdMapFromContextDir(contextDir2, log) {
12158
12158
  return map;
12159
12159
  }
12160
12160
 
12161
- // ../../src/pipelines/upload/uploadPipeline.ts
12161
+ // src/pipelines/upload/uploadPipeline.ts
12162
12162
  var UPLOAD_TARGET_FILENAME = "easyspecs-upload-target.json";
12163
12163
  var ADAPTIVE_B_INITIAL = 100;
12164
12164
  var ADAPTIVE_B_MIN = 1;
@@ -12783,7 +12783,7 @@ async function runUploadPipeline(opts) {
12783
12783
  return { succeeded, failed, succeededIds };
12784
12784
  }
12785
12785
 
12786
- // ../../src/cli/cloudContextUploadCli.ts
12786
+ // src/cli/cloudContextUploadCli.ts
12787
12787
  function buildUploadPrimaryJsonSrs46(args) {
12788
12788
  const out = {
12789
12789
  ok: args.uploadOk,
@@ -12811,13 +12811,13 @@ async function fetchUploadCloudContextStatusWithR8Policy(args) {
12811
12811
  }
12812
12812
  }
12813
12813
  function shouldSkipAnalysisForCachedCloudContext(args) {
12814
- if (args.synthesisOnly || args.forceNewContextAnalysis) {
12814
+ if (args.forceNewContextAnalysis) {
12815
12815
  return false;
12816
12816
  }
12817
12817
  return args.cloudContextAnalyzed === true;
12818
12818
  }
12819
12819
 
12820
- // ../../src/config/easyspecsConfigRedact.ts
12820
+ // src/config/easyspecsConfigRedact.ts
12821
12821
  function redactEasyspecsConfigRootForDump(cfg) {
12822
12822
  const o = JSON.parse(JSON.stringify(cfg));
12823
12823
  const es = o.easyspecs;
@@ -12838,11 +12838,11 @@ function redactEasyspecsConfigRootForDump(cfg) {
12838
12838
  return o;
12839
12839
  }
12840
12840
 
12841
- // ../../src/cli/cliFileWorkspaceState.ts
12841
+ // src/cli/cliFileWorkspaceState.ts
12842
12842
  var fs12 = __toESM(require("node:fs"));
12843
12843
  var path13 = __toESM(require("node:path"));
12844
12844
 
12845
- // ../../src/srs53PersistedStateMigration.ts
12845
+ // src/srs53PersistedStateMigration.ts
12846
12846
  var SRS53_WORKSTATION_RUN_KEY_LEGACY = "easyspecs.analysis.artefactRun.v1";
12847
12847
  var SRS53_PIPELINE_RUN_KEY_LEGACY = "easyspecs.analysis.pipelineRun.v1";
12848
12848
  var SRS53_REMEDIATION_MISSING_UI_KEY_LEGACY = "easyspecs.analysis.missingRemediationUi.v1";
@@ -12905,7 +12905,7 @@ function applySrs53PersistedStateMigrationInPlace(m) {
12905
12905
  return changed;
12906
12906
  }
12907
12907
 
12908
- // ../../src/cli/cliFileWorkspaceState.ts
12908
+ // src/cli/cliFileWorkspaceState.ts
12909
12909
  function createFileBackedWorkspaceState(repoRoot) {
12910
12910
  const dir = path13.join(repoRoot, ".gluecharm", "logs");
12911
12911
  const file = path13.join(dir, "easyspecs-cli-workspace-state.json");
@@ -12947,11 +12947,11 @@ function createFileBackedWorkspaceState(repoRoot) {
12947
12947
  return { workspaceState };
12948
12948
  }
12949
12949
 
12950
- // ../../src/pipelines/synthesis/synthesisPipeline.ts
12950
+ // src/pipelines/synthesis/synthesisPipeline.ts
12951
12951
  var fs34 = __toESM(require("fs"));
12952
12952
  var path32 = __toESM(require("path"));
12953
12953
 
12954
- // ../../src/analysis/analysisDynamicTestSteps.ts
12954
+ // src/analysis/analysisDynamicTestSteps.ts
12955
12955
  var fs13 = __toESM(require("fs"));
12956
12956
  var path14 = __toESM(require("path"));
12957
12957
  var FE_CODE = /^FE-\d+$/;
@@ -13219,15 +13219,15 @@ function discoverDynamicAnalysisTestSteps(contextDir2) {
13219
13219
  };
13220
13220
  }
13221
13221
 
13222
- // ../../src/analysis/materializeOpenCodeAgents.ts
13222
+ // src/analysis/materializeOpenCodeAgents.ts
13223
13223
  var fs16 = __toESM(require("fs"));
13224
13224
  var path17 = __toESM(require("path"));
13225
13225
 
13226
- // ../../src/analysis/applyAceMaterializedAgents.ts
13226
+ // src/analysis/applyAceMaterializedAgents.ts
13227
13227
  var fs15 = __toESM(require("fs"));
13228
13228
  var path16 = __toESM(require("path"));
13229
13229
 
13230
- // ../../src/analysis/acePaths.ts
13230
+ // src/analysis/acePaths.ts
13231
13231
  var path15 = __toESM(require("path"));
13232
13232
  var ACE_LEARNINGS_DIR = "learnings";
13233
13233
  var ACE_OVERLAYS_SUBDIR = "overlays";
@@ -13278,7 +13278,7 @@ function opencodeAceSchemaPath(worktreeRoot, basename17) {
13278
13278
  return path15.join(worktreeRoot, ".opencode", "schemas", "ace", basename17);
13279
13279
  }
13280
13280
 
13281
- // ../../src/analysis/aceJsonValidate.ts
13281
+ // src/analysis/aceJsonValidate.ts
13282
13282
  var fs14 = __toESM(require("fs"));
13283
13283
  var import__3 = __toESM(require__());
13284
13284
  function stripUtf8Bom2(s) {
@@ -13409,7 +13409,7 @@ function validateAceJsonValue(data, schemaAbsolutePath) {
13409
13409
  return { ok: false, kind: "schema", message: "ACE JSON Schema validation failed", errorsText };
13410
13410
  }
13411
13411
 
13412
- // ../../src/analysis/applyAceMaterializedAgents.ts
13412
+ // src/analysis/applyAceMaterializedAgents.ts
13413
13413
  function splitYamlFrontmatter(raw) {
13414
13414
  if (!raw.startsWith("---\n")) {
13415
13415
  return { frontmatter: "", body: raw };
@@ -13562,7 +13562,7 @@ ${extra}
13562
13562
  }
13563
13563
  }
13564
13564
 
13565
- // ../../src/analysis/materializeOpenCodeAgents.ts
13565
+ // src/analysis/materializeOpenCodeAgents.ts
13566
13566
  function posixFsPath(absPath) {
13567
13567
  return path17.resolve(absPath).split(path17.sep).join("/");
13568
13568
  }
@@ -13690,11 +13690,11 @@ function materializeOpenCodeAgentsWithAce(extensionResourcesAgents, analysisChec
13690
13690
  applyAceToMaterializedAgents(analysisCheckoutRoot, ace);
13691
13691
  }
13692
13692
 
13693
- // ../../src/workstations/aiWorkstation.ts
13693
+ // src/workstations/aiWorkstation.ts
13694
13694
  var fs28 = __toESM(require("fs"));
13695
13695
  var path26 = __toESM(require("path"));
13696
13696
 
13697
- // ../../src/analysis/promptTemplates.ts
13697
+ // src/analysis/promptTemplates.ts
13698
13698
  function fillMarkdownPrompt(p) {
13699
13699
  return [
13700
13700
  `You are OpenCode agent "${p.agentId}" (display name: ${p.agentDisplayName}).`,
@@ -13792,7 +13792,7 @@ function fillListJsonPrompt(p) {
13792
13792
  ].join("\n");
13793
13793
  }
13794
13794
 
13795
- // ../../src/analysis/contextSynthesis.ts
13795
+ // src/analysis/contextSynthesis.ts
13796
13796
  var CONTEXT_SYNTHESIS_TEST_STEP_ORDER = [
13797
13797
  "docsProject",
13798
13798
  "architecture",
@@ -13842,14 +13842,14 @@ function synthesisStepLabel(step, ctx) {
13842
13842
  return m[step];
13843
13843
  }
13844
13844
 
13845
- // ../../src/analysis/aceTracePhase.ts
13845
+ // src/analysis/aceTracePhase.ts
13846
13846
  var fs21 = __toESM(require("fs"));
13847
13847
  var path21 = __toESM(require("path"));
13848
13848
 
13849
- // ../../src/opencodeCli.ts
13849
+ // src/opencodeCli.ts
13850
13850
  var import_child_process = require("child_process");
13851
13851
 
13852
- // ../../src/analysis/openCodeSessionStewardship.ts
13852
+ // src/analysis/openCodeSessionStewardship.ts
13853
13853
  var TITLE_MAX_LEN = 80;
13854
13854
  function isNonEmptyString(v) {
13855
13855
  return typeof v === "string" && v.trim().length > 0;
@@ -13971,7 +13971,7 @@ function logOpenCodeSessionFollowUpStart(diagnosticLog, p) {
13971
13971
  );
13972
13972
  }
13973
13973
 
13974
- // ../../src/opencodeCli.ts
13974
+ // src/opencodeCli.ts
13975
13975
  var USE_SHELL = process.platform === "win32";
13976
13976
  function resolveExecutable(executable) {
13977
13977
  const t = executable?.trim();
@@ -14236,7 +14236,7 @@ ${truncateForDiag(outBody, DIAG_STDOUT_MAX)}`);
14236
14236
  });
14237
14237
  }
14238
14238
 
14239
- // ../../src/analysis/aceTraceNormalize.ts
14239
+ // src/analysis/aceTraceNormalize.ts
14240
14240
  var fs17 = __toESM(require("fs"));
14241
14241
  var ACE_VERSION = "1.0.0-draft";
14242
14242
  var REASONING_PHASES = /* @__PURE__ */ new Set([
@@ -14437,11 +14437,11 @@ function rewriteAceTraceFileWithCanonicalEnvelope(traceAbsolutePath, canonical,
14437
14437
  return true;
14438
14438
  }
14439
14439
 
14440
- // ../../src/analysis/aceOfflineLearn.ts
14440
+ // src/analysis/aceOfflineLearn.ts
14441
14441
  var fs20 = __toESM(require("fs"));
14442
14442
  var path20 = __toESM(require("path"));
14443
14443
 
14444
- // ../../src/analysis/aceCuratorApplier.ts
14444
+ // src/analysis/aceCuratorApplier.ts
14445
14445
  var fs18 = __toESM(require("fs"));
14446
14446
  var path18 = __toESM(require("path"));
14447
14447
  function writeJson(pathAbs, obj) {
@@ -14559,7 +14559,7 @@ function applyAceCuratorDeltaFile(worktreeRoot, deltaAbsolutePath, log) {
14559
14559
  return { ok: true, message: "Applied curator delta" };
14560
14560
  }
14561
14561
 
14562
- // ../../src/analysis/aceOfflineLearnFallbacks.ts
14562
+ // src/analysis/aceOfflineLearnFallbacks.ts
14563
14563
  var fs19 = __toESM(require("fs"));
14564
14564
  var path19 = __toESM(require("path"));
14565
14565
  var ACE_VERSION2 = "1.0.0-draft";
@@ -14591,7 +14591,7 @@ function appendAceConsolidatedSessionRecord(contextDir2, record, diagnosticLog)
14591
14591
  diagnosticLog?.(`[ace] consolidated session record appended \u2014 ${rel}`);
14592
14592
  }
14593
14593
 
14594
- // ../../src/analysis/aceOfflineLearn.ts
14594
+ // src/analysis/aceOfflineLearn.ts
14595
14595
  var ACE_REFLECTOR_AGENT_STEM = "agent-ace-reflector";
14596
14596
  var ACE_CURATOR_AGENT_STEM = "agent-ace-curator";
14597
14597
  function expandArgvTemplate(template, vars) {
@@ -14925,7 +14925,7 @@ async function runAceOfflineLearnFromTrace(traceAbsolutePath, opts) {
14925
14925
  };
14926
14926
  }
14927
14927
 
14928
- // ../../src/analysis/aceTracePhase.ts
14928
+ // src/analysis/aceTracePhase.ts
14929
14929
  var ACE_TRACE_RECORDER_AGENT_STEM = "agent-ace-trace-recorder";
14930
14930
  function expandArgvTemplate2(template, vars) {
14931
14931
  return template.map((part) => {
@@ -15134,7 +15134,7 @@ async function runAceTracePhase(params) {
15134
15134
  return { ok: true, message: "ACE trace OK", traceAbsolutePath: traceAbs };
15135
15135
  }
15136
15136
 
15137
- // ../../src/analysis/coordinationListJsonValidate.ts
15137
+ // src/analysis/coordinationListJsonValidate.ts
15138
15138
  var fs22 = __toESM(require("fs"));
15139
15139
  var import__4 = __toESM(require__());
15140
15140
  function stripUtf8Bom3(s) {
@@ -15351,11 +15351,11 @@ function formatCoordinationJsonRepairAppendix(outputBasename, failure, rawFilePr
15351
15351
  return lines.join("\n");
15352
15352
  }
15353
15353
 
15354
- // ../../src/analysis/coordinationListStableWrite.ts
15354
+ // src/analysis/coordinationListStableWrite.ts
15355
15355
  var fs24 = __toESM(require("fs"));
15356
15356
  var path23 = __toESM(require("path"));
15357
15357
 
15358
- // ../../src/analysis/coordinationListFileLock.ts
15358
+ // src/analysis/coordinationListFileLock.ts
15359
15359
  var fs23 = __toESM(require("fs"));
15360
15360
  var os = __toESM(require("os"));
15361
15361
  var path22 = __toESM(require("path"));
@@ -15456,7 +15456,7 @@ async function withCoordinationListFileLock(listJsonAbsolutePath, options, fn) {
15456
15456
  }
15457
15457
  }
15458
15458
 
15459
- // ../../src/analysis/asyncMutex.ts
15459
+ // src/analysis/asyncMutex.ts
15460
15460
  var AsyncMutex = class {
15461
15461
  chain = Promise.resolve();
15462
15462
  run(fn) {
@@ -15469,7 +15469,7 @@ var AsyncMutex = class {
15469
15469
  }
15470
15470
  };
15471
15471
 
15472
- // ../../src/analysis/coordinationListMutex.ts
15472
+ // src/analysis/coordinationListMutex.ts
15473
15473
  var pathToMutex = /* @__PURE__ */ new Map();
15474
15474
  function getCoordinationListMutex(listJsonAbsolutePath) {
15475
15475
  const key = listJsonAbsolutePath;
@@ -15481,7 +15481,7 @@ function getCoordinationListMutex(listJsonAbsolutePath) {
15481
15481
  return m;
15482
15482
  }
15483
15483
 
15484
- // ../../src/analysis/coordinationListStableWrite.ts
15484
+ // src/analysis/coordinationListStableWrite.ts
15485
15485
  function isRecord5(x) {
15486
15486
  return x !== null && typeof x === "object" && !Array.isArray(x);
15487
15487
  }
@@ -16185,7 +16185,7 @@ function allocateNextListRowCode(input) {
16185
16185
  };
16186
16186
  }
16187
16187
 
16188
- // ../../src/analysis/markdownEvidenceIndexValidate.ts
16188
+ // src/analysis/markdownEvidenceIndexValidate.ts
16189
16189
  var fs25 = __toESM(require("fs"));
16190
16190
  var EVIDENCE_HEADING = "## Evidence index";
16191
16191
  function evidenceIndexMentionsReadmeMd(body) {
@@ -16354,7 +16354,7 @@ function formatMarkdownEvidenceRepairAppendix(outputFileAbsolute, kind = "empty"
16354
16354
  ].join("\n");
16355
16355
  }
16356
16356
 
16357
- // ../../src/analysis/openQuestionResolution.ts
16357
+ // src/analysis/openQuestionResolution.ts
16358
16358
  var fs26 = __toESM(require("fs"));
16359
16359
  var path24 = __toESM(require("path"));
16360
16360
  var OPEN_QUESTION_RESOLUTION_JSON_BASENAME = "open-question-resolution.json";
@@ -16414,7 +16414,7 @@ function deleteOpenQuestionResolutionFile(worktreeRoot) {
16414
16414
  }
16415
16415
  }
16416
16416
 
16417
- // ../../src/analysis/openQuestionsSectionValidate.ts
16417
+ // src/analysis/openQuestionsSectionValidate.ts
16418
16418
  var fs27 = __toESM(require("fs"));
16419
16419
  var path25 = __toESM(require("path"));
16420
16420
  var CANONICAL_NORMALIZED = "open questions";
@@ -16581,7 +16581,7 @@ function formatOpenQuestionsProducerRepairAppendix(outputFileAbsolute, stepLabel
16581
16581
  ].join("\n");
16582
16582
  }
16583
16583
 
16584
- // ../../src/workstations/workstationRepairLoop.ts
16584
+ // src/workstations/workstationRepairLoop.ts
16585
16585
  async function runWorkstationRepairLoop(opts) {
16586
16586
  const validations = [];
16587
16587
  let repairAppendix;
@@ -16667,7 +16667,7 @@ async function runWorkstationRepairLoop(opts) {
16667
16667
  };
16668
16668
  }
16669
16669
 
16670
- // ../../src/workstations/aiWorkstation.ts
16670
+ // src/workstations/aiWorkstation.ts
16671
16671
  var CITATION_EXAMPLE = "`src/example.ts:42` or `src/example.ts:10-25`";
16672
16672
  var SRS50_COORD_LIST_APPEND_HINT = " **SRS-50 \u2014 stable writes:** Append **new** coded rows at the **end** of each array (never insert new codes between existing ones).";
16673
16673
  var SRS50_COORD_LIST_REVIEW_HINT = ' **SRS-50 \u2014 stable writes:** Preserve existing **code** order; append net-new at the end. To **remove** a row, add **revisionLog** with **droppedCodes** (string[]). To change **slug** without changing **code**, add **slugRenames** ([{ "code", "from", "to" }]).';
@@ -18518,13 +18518,13 @@ Expected output: ${outputFileAbsolute}`;
18518
18518
  };
18519
18519
  }
18520
18520
 
18521
- // ../../src/analysis/worktreeManager.ts
18521
+ // src/analysis/worktreeManager.ts
18522
18522
  var import_child_process3 = require("child_process");
18523
18523
  var fs29 = __toESM(require("fs"));
18524
18524
  var os2 = __toESM(require("os"));
18525
18525
  var path27 = __toESM(require("path"));
18526
18526
 
18527
- // ../../src/analysis/gitWorktreeStaleRecovery.ts
18527
+ // src/analysis/gitWorktreeStaleRecovery.ts
18528
18528
  var import_child_process2 = require("child_process");
18529
18529
  function isMissingRegisteredWorktreeError(combinedStderrStdout) {
18530
18530
  return /missing but already registered worktree/i.test(combinedStderrStdout);
@@ -18545,7 +18545,7 @@ function gitWorktreePruneSync(repoRoot) {
18545
18545
  return { ok: true };
18546
18546
  }
18547
18547
 
18548
- // ../../src/analysis/worktreeManager.ts
18548
+ // src/analysis/worktreeManager.ts
18549
18549
  var EASYSPECS_WT_DIR_RE = /^easyspecs-(\d+)$/;
18550
18550
  function maxEasyspecsWorktreeIndex(parentDir) {
18551
18551
  let max = 0;
@@ -18663,7 +18663,7 @@ function createAnalysisWorktree(repoRoot, options) {
18663
18663
  throw new Error("createAnalysisWorktree: retry loop exited without result.");
18664
18664
  }
18665
18665
 
18666
- // ../../src/stores/workstationRunStore.ts
18666
+ // src/stores/workstationRunStore.ts
18667
18667
  var STORAGE_KEY = SRS53_WORKSTATION_RUN_KEY_V2;
18668
18668
  function randomRunId() {
18669
18669
  return `${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 10)}`;
@@ -18736,7 +18736,7 @@ function cloneWorkstationRun(item) {
18736
18736
  return JSON.parse(JSON.stringify(item));
18737
18737
  }
18738
18738
 
18739
- // ../../src/stores/analysisDiscoveriesStore.ts
18739
+ // src/stores/analysisDiscoveriesStore.ts
18740
18740
  var agentsLaunchedCount = 0;
18741
18741
  var syncHandler;
18742
18742
  function noteOpenCodeAgentLaunched() {
@@ -18744,14 +18744,14 @@ function noteOpenCodeAgentLaunched() {
18744
18744
  syncHandler?.(agentsLaunchedCount);
18745
18745
  }
18746
18746
 
18747
- // ../../src/contextIndexAssembler.ts
18747
+ // src/contextIndexAssembler.ts
18748
18748
  var fs30 = __toESM(require("fs"));
18749
18749
  var path28 = __toESM(require("path"));
18750
18750
 
18751
- // ../../src/srsModel.ts
18751
+ // src/srsModel.ts
18752
18752
  var APPLICATION_CONTEXT_KIND = "easyspecs.application-context";
18753
18753
 
18754
- // ../../src/contextIndexAssembler.ts
18754
+ // src/contextIndexAssembler.ts
18755
18755
  var SLUG = /^[a-z0-9]+(?:-[a-z0-9]+)*$/;
18756
18756
  function safeStr(v) {
18757
18757
  return typeof v === "string" ? v.trim() : "";
@@ -19188,7 +19188,7 @@ function writeIndexApplicationContext(contextDir2, title, options) {
19188
19188
  return doc;
19189
19189
  }
19190
19190
 
19191
- // ../../src/pipelines/linkMapping/linkMappingPipeline.ts
19191
+ // src/pipelines/linkMapping/linkMappingPipeline.ts
19192
19192
  var fs31 = __toESM(require("node:fs"));
19193
19193
  var path29 = __toESM(require("node:path"));
19194
19194
  var SLUG2 = /^[a-z0-9]+(?:-[a-z0-9]+)*$/;
@@ -19705,11 +19705,11 @@ ${validation.brokenLinks.join("\n")}`;
19705
19705
  return { ok: true };
19706
19706
  }
19707
19707
 
19708
- // ../../src/analysis/aceAnalysisConfig.ts
19708
+ // src/analysis/aceAnalysisConfig.ts
19709
19709
  var path30 = __toESM(require("node:path"));
19710
19710
  var vscode2 = __toESM(require_vscode_stub());
19711
19711
 
19712
- // ../../src/config/easyspecsAceConfigRead.ts
19712
+ // src/config/easyspecsAceConfigRead.ts
19713
19713
  var fs32 = __toESM(require("node:fs"));
19714
19714
  function readRawConfigJson(repoRoot) {
19715
19715
  const p = easyspecsConfigPath(repoRoot);
@@ -19773,7 +19773,7 @@ function readAceOfflineLearnAfterSameSessionTraceFromEasyspecsConfigFile(repoRoo
19773
19773
  return typeof v === "boolean" ? v : void 0;
19774
19774
  }
19775
19775
 
19776
- // ../../src/analysis/aceAnalysisConfig.ts
19776
+ // src/analysis/aceAnalysisConfig.ts
19777
19777
  var SECTION = "easyspecs";
19778
19778
  var cliWorkspaceRootOverride;
19779
19779
  var cliHeadlessMode = false;
@@ -19853,7 +19853,7 @@ function getAceOfflineLearnAfterSameSessionTrace(analysisCheckoutRoot) {
19853
19853
  return vscode2.workspace.getConfiguration(SECTION).get("analysis.ace.offlineLearnAfterSameSessionTrace") === true;
19854
19854
  }
19855
19855
 
19856
- // ../../src/analysis/repoSurfaceAssessment.ts
19856
+ // src/analysis/repoSurfaceAssessment.ts
19857
19857
  var fs33 = __toESM(require("fs"));
19858
19858
  var path31 = __toESM(require("path"));
19859
19859
  var REPO_SURFACE_SCAN_BASENAME = "repo-surface-scan.json";
@@ -19901,7 +19901,7 @@ function writeEmptyExperiencesListJson(contextDir2) {
19901
19901
  );
19902
19902
  }
19903
19903
 
19904
- // ../../src/pipelines/synthesis/synthesisPipeline.ts
19904
+ // src/pipelines/synthesis/synthesisPipeline.ts
19905
19905
  var FE = /^FE-\d+$/;
19906
19906
  var UC = /^UC-\d+$/;
19907
19907
  var SC = /^SC-\d+$/;
@@ -20800,7 +20800,7 @@ async function runSynthesisPipeline(storageContext, repoRoot, workspaceLabel, ex
20800
20800
  );
20801
20801
  }
20802
20802
 
20803
- // ../../src/workspaceContextPromote.ts
20803
+ // src/workspaceContextPromote.ts
20804
20804
  var fs35 = __toESM(require("fs"));
20805
20805
  var path33 = __toESM(require("path"));
20806
20806
  function promoteContextDirectoryToWorkspaceFs(sourceContextDir, workspaceRootFs) {
@@ -20827,7 +20827,7 @@ function promoteContextDirectoryToWorkspaceFs(sourceContextDir, workspaceRootFs)
20827
20827
  return { filesCopied };
20828
20828
  }
20829
20829
 
20830
- // ../../src/shared/factoryPipelineExitConditions.ts
20830
+ // src/shared/factoryPipelineExitConditions.ts
20831
20831
  var FACTORY_PIPELINE_EXIT_CONDITIONS = {
20832
20832
  create_analysis_worktree: "Git analysis checkout exists under the configured temp parent (SRS-8); ready for agent materialization.",
20833
20833
  materialize_opencode_agents: "Bundled OpenCode agent definitions are copied into the analysis worktree (`.opencode/` tree).",
@@ -20840,7 +20840,7 @@ var FACTORY_PIPELINE_EXIT_CONDITIONS = {
20840
20840
  backend_context_sync: "Context upload finished with no failures (quiet SRS-13 path; or cancel)."
20841
20841
  };
20842
20842
 
20843
- // ../../src/factory/factoryValidationFailures.ts
20843
+ // src/factory/factoryValidationFailures.ts
20844
20844
  function factoryFailureDisplayId(row2) {
20845
20845
  return row2.failureExitId;
20846
20846
  }
@@ -21014,7 +21014,7 @@ function composeFactoryValidationError(orchestratorMessage, failures) {
21014
21014
  return joined.length <= ERROR_JOIN_MAX ? joined : `${joined.slice(0, ERROR_JOIN_MAX - 1)}\u2026`;
21015
21015
  }
21016
21016
 
21017
- // ../../src/factory/generateContextFactory.ts
21017
+ // src/factory/generateContextFactory.ts
21018
21018
  var FACTORY_PIPELINE_KEYS = [
21019
21019
  "create_analysis_worktree",
21020
21020
  "materialize_opencode_agents",
@@ -21119,13 +21119,28 @@ async function runGenerateContextFactory(deps) {
21119
21119
  };
21120
21120
  await Promise.resolve(deps.post(payload));
21121
21121
  };
21122
+ const logFactoryEnd = (r) => {
21123
+ const log = deps.factoryLog;
21124
+ if (!log) {
21125
+ return;
21126
+ }
21127
+ const tag = r.cancelled === true ? "cancelled" : r.ok ? "succeeded" : "failed";
21128
+ const tail = r.message ? ` \u2014 ${r.message}` : "";
21129
+ log(`[factory] Generate Context factory ended (${tag}) \u2014 ${String(r.totalElapsedMs)}ms${tail}`);
21130
+ };
21131
+ const fin = (r) => {
21132
+ logFactoryEnd(r);
21133
+ return r;
21134
+ };
21122
21135
  const fail = async (message) => {
21123
21136
  await post();
21124
21137
  let ff = buildFactoryFailuresFromRows(phases);
21125
21138
  if (ff.length === 0) {
21126
21139
  ff = syntheticUnknownFactoryFailure(message);
21127
21140
  }
21128
- return { ok: false, message, totalElapsedMs: macroEnd(), factoryFailures: ff };
21141
+ const r = { ok: false, message, totalElapsedMs: macroEnd(), factoryFailures: ff };
21142
+ logFactoryEnd(r);
21143
+ return r;
21129
21144
  };
21130
21145
  const pipelineCtx = {
21131
21146
  signal: deps.signal,
@@ -21140,7 +21155,7 @@ async function runGenerateContextFactory(deps) {
21140
21155
  if (isAborted(signal)) {
21141
21156
  setRowTimed("synthesis_convergence", "cancelled", "Stopped.");
21142
21157
  await post();
21143
- return { ok: false, cancelled: true, message: "Factory stopped.", totalElapsedMs: macroEnd() };
21158
+ return fin({ ok: false, cancelled: true, message: "Factory stopped.", totalElapsedMs: macroEnd() });
21144
21159
  }
21145
21160
  let delayMs = config.initialDelayMs;
21146
21161
  let outerIter = 0;
@@ -21149,7 +21164,7 @@ async function runGenerateContextFactory(deps) {
21149
21164
  if (isAborted(signal)) {
21150
21165
  setRowTimed("synthesis_convergence", "cancelled");
21151
21166
  await post();
21152
- return { ok: false, cancelled: true, message: "Factory stopped.", totalElapsedMs: macroEnd() };
21167
+ return fin({ ok: false, cancelled: true, message: "Factory stopped.", totalElapsedMs: macroEnd() });
21153
21168
  }
21154
21169
  if (!resumeSynthesis) {
21155
21170
  setRowTimed("create_analysis_worktree", "running", "Creating git analysis worktree\u2026");
@@ -21166,7 +21181,7 @@ async function runGenerateContextFactory(deps) {
21166
21181
  setRowTimed("materialize_opencode_agents", "cancelled");
21167
21182
  setRowTimed("synthesis_convergence", "cancelled");
21168
21183
  await post();
21169
- return { ok: false, cancelled: true, message: "Factory stopped.", totalElapsedMs: macroEnd() };
21184
+ return fin({ ok: false, cancelled: true, message: "Factory stopped.", totalElapsedMs: macroEnd() });
21170
21185
  }
21171
21186
  setRowTimed("materialize_opencode_agents", "running", "Materializing OpenCode agents\u2026");
21172
21187
  await post();
@@ -21199,7 +21214,7 @@ async function runGenerateContextFactory(deps) {
21199
21214
  if (isAborted(signal)) {
21200
21215
  setRowTimed("synthesis_convergence", "cancelled");
21201
21216
  await post();
21202
- return { ok: false, cancelled: true, message: "Factory stopped.", totalElapsedMs: macroEnd() };
21217
+ return fin({ ok: false, cancelled: true, message: "Factory stopped.", totalElapsedMs: macroEnd() });
21203
21218
  }
21204
21219
  setRowTimed(
21205
21220
  "synthesis_convergence",
@@ -21212,7 +21227,7 @@ async function runGenerateContextFactory(deps) {
21212
21227
  if (syn.cancelled || isAborted(signal)) {
21213
21228
  setRowTimed("synthesis_convergence", "cancelled");
21214
21229
  await post();
21215
- return { ok: false, cancelled: true, message: syn.message ?? "Synthesis cancelled.", totalElapsedMs: macroEnd() };
21230
+ return fin({ ok: false, cancelled: true, message: syn.message ?? "Synthesis cancelled.", totalElapsedMs: macroEnd() });
21216
21231
  }
21217
21232
  if (!syn.ok) {
21218
21233
  setRowTimed("synthesis_convergence", "failed", syn.message ?? "Synthesis failed.");
@@ -21246,7 +21261,7 @@ async function runGenerateContextFactory(deps) {
21246
21261
  } catch {
21247
21262
  setRowTimed("synthesis_convergence", "cancelled");
21248
21263
  await post();
21249
- return { ok: false, cancelled: true, message: "Factory stopped.", totalElapsedMs: macroEnd() };
21264
+ return fin({ ok: false, cancelled: true, message: "Factory stopped.", totalElapsedMs: macroEnd() });
21250
21265
  }
21251
21266
  delayMs = computeNextBackoffDelay(delayMs, config.backoffMultiplier, config.maxDelayMs);
21252
21267
  setRowTimed("synthesis_convergence", "pending", "Next pass: resume parallel pool on same checkout\u2026");
@@ -21256,12 +21271,12 @@ async function runGenerateContextFactory(deps) {
21256
21271
  setRowTimed("synthesis_convergence", "succeeded", "No missing artefacts.");
21257
21272
  await post();
21258
21273
  if (config.synthesisOnly) {
21259
- return { ok: true, message: "Synthesis-only analysis complete.", totalElapsedMs: macroEnd() };
21274
+ return fin({ ok: true, message: "Synthesis-only analysis complete.", totalElapsedMs: macroEnd() });
21260
21275
  }
21261
21276
  if (isAborted(signal)) {
21262
21277
  setRowTimed("reference_coverage", "cancelled");
21263
21278
  await post();
21264
- return { ok: false, cancelled: true, message: "Factory stopped.", totalElapsedMs: macroEnd() };
21279
+ return fin({ ok: false, cancelled: true, message: "Factory stopped.", totalElapsedMs: macroEnd() });
21265
21280
  }
21266
21281
  setRowTimed("reference_coverage", "running");
21267
21282
  bumpPhaseRunCount("reference_coverage");
@@ -21277,7 +21292,7 @@ async function runGenerateContextFactory(deps) {
21277
21292
  if (isAborted(signal)) {
21278
21293
  setRowTimed("zero_reference_remediation_convergence", "cancelled");
21279
21294
  await post();
21280
- return { ok: false, cancelled: true, message: "Factory stopped.", totalElapsedMs: macroEnd() };
21295
+ return fin({ ok: false, cancelled: true, message: "Factory stopped.", totalElapsedMs: macroEnd() });
21281
21296
  }
21282
21297
  let remDelay = config.synthesisRemediationShareBackoff ? delayMs : config.initialDelayMs;
21283
21298
  let remIter = 0;
@@ -21285,7 +21300,7 @@ async function runGenerateContextFactory(deps) {
21285
21300
  if (isAborted(signal)) {
21286
21301
  setRowTimed("zero_reference_remediation_convergence", "cancelled");
21287
21302
  await post();
21288
- return { ok: false, cancelled: true, message: "Factory stopped.", totalElapsedMs: macroEnd() };
21303
+ return fin({ ok: false, cancelled: true, message: "Factory stopped.", totalElapsedMs: macroEnd() });
21289
21304
  }
21290
21305
  setRowTimed("zero_reference_remediation_convergence", "running");
21291
21306
  bumpPhaseRunCount("zero_reference_remediation_convergence");
@@ -21294,7 +21309,7 @@ async function runGenerateContextFactory(deps) {
21294
21309
  if (rem.cancelled || isAborted(signal)) {
21295
21310
  setRowTimed("zero_reference_remediation_convergence", "cancelled");
21296
21311
  await post();
21297
- return { ok: false, cancelled: true, message: rem.message ?? "Remediation cancelled.", totalElapsedMs: macroEnd() };
21312
+ return fin({ ok: false, cancelled: true, message: rem.message ?? "Remediation cancelled.", totalElapsedMs: macroEnd() });
21298
21313
  }
21299
21314
  if (!rem.ok) {
21300
21315
  setRowTimed("zero_reference_remediation_convergence", "failed", rem.message);
@@ -21328,7 +21343,7 @@ async function runGenerateContextFactory(deps) {
21328
21343
  } catch {
21329
21344
  setRowTimed("zero_reference_remediation_convergence", "cancelled");
21330
21345
  await post();
21331
- return { ok: false, cancelled: true, message: "Factory stopped.", totalElapsedMs: macroEnd() };
21346
+ return fin({ ok: false, cancelled: true, message: "Factory stopped.", totalElapsedMs: macroEnd() });
21332
21347
  }
21333
21348
  remDelay = computeNextBackoffDelay(remDelay, config.backoffMultiplier, config.maxDelayMs);
21334
21349
  }
@@ -21337,7 +21352,7 @@ async function runGenerateContextFactory(deps) {
21337
21352
  if (isAborted(signal)) {
21338
21353
  setRowTimed("link_mapping_pipeline", "cancelled");
21339
21354
  await post();
21340
- return { ok: false, cancelled: true, message: "Factory stopped.", totalElapsedMs: macroEnd() };
21355
+ return fin({ ok: false, cancelled: true, message: "Factory stopped.", totalElapsedMs: macroEnd() });
21341
21356
  }
21342
21357
  setRowTimed("link_mapping_pipeline", "running", "Refreshing link navigation after remediation\u2026");
21343
21358
  bumpPhaseRunCount("link_mapping_pipeline");
@@ -21353,7 +21368,7 @@ async function runGenerateContextFactory(deps) {
21353
21368
  if (isAborted(signal)) {
21354
21369
  setRowTimed("reference_coverage", "cancelled");
21355
21370
  await post();
21356
- return { ok: false, cancelled: true, message: "Factory stopped.", totalElapsedMs: macroEnd() };
21371
+ return fin({ ok: false, cancelled: true, message: "Factory stopped.", totalElapsedMs: macroEnd() });
21357
21372
  }
21358
21373
  setRowTimed("reference_coverage", "running", "Refreshing coverage after remediation\u2026");
21359
21374
  bumpPhaseRunCount("reference_coverage");
@@ -21392,7 +21407,7 @@ async function runGenerateContextFactory(deps) {
21392
21407
  if (isAborted(signal)) {
21393
21408
  setRowTimed("reference_coverage_execution_report", "cancelled");
21394
21409
  await post();
21395
- return { ok: false, cancelled: true, message: "Factory stopped.", totalElapsedMs: macroEnd() };
21410
+ return fin({ ok: false, cancelled: true, message: "Factory stopped.", totalElapsedMs: macroEnd() });
21396
21411
  }
21397
21412
  setRowTimed("reference_coverage_execution_report", "running");
21398
21413
  bumpPhaseRunCount("reference_coverage_execution_report");
@@ -21401,7 +21416,7 @@ async function runGenerateContextFactory(deps) {
21401
21416
  if (rep.cancelled || isAborted(signal)) {
21402
21417
  setRowTimed("reference_coverage_execution_report", "cancelled", rep.message);
21403
21418
  await post();
21404
- return { ok: false, cancelled: true, message: rep.message ?? "Factory stopped.", totalElapsedMs: macroEnd() };
21419
+ return fin({ ok: false, cancelled: true, message: rep.message ?? "Factory stopped.", totalElapsedMs: macroEnd() });
21405
21420
  }
21406
21421
  if (!rep.ok) {
21407
21422
  setRowTimed("reference_coverage_execution_report", "failed", rep.message);
@@ -21413,7 +21428,7 @@ async function runGenerateContextFactory(deps) {
21413
21428
  if (isAborted(signal)) {
21414
21429
  setRowTimed("link_mapping_pipeline", "cancelled");
21415
21430
  await post();
21416
- return { ok: false, cancelled: true, message: "Factory stopped.", totalElapsedMs: macroEnd() };
21431
+ return fin({ ok: false, cancelled: true, message: "Factory stopped.", totalElapsedMs: macroEnd() });
21417
21432
  }
21418
21433
  setRowTimed("link_mapping_pipeline", "running");
21419
21434
  bumpPhaseRunCount("link_mapping_pipeline");
@@ -21429,7 +21444,7 @@ async function runGenerateContextFactory(deps) {
21429
21444
  if (isAborted(signal)) {
21430
21445
  setRowTimed("assemble_application_context_index", "cancelled");
21431
21446
  await post();
21432
- return { ok: false, cancelled: true, message: "Factory stopped.", totalElapsedMs: macroEnd() };
21447
+ return fin({ ok: false, cancelled: true, message: "Factory stopped.", totalElapsedMs: macroEnd() });
21433
21448
  }
21434
21449
  setRowTimed("assemble_application_context_index", "running");
21435
21450
  bumpPhaseRunCount("assemble_application_context_index");
@@ -21445,7 +21460,7 @@ async function runGenerateContextFactory(deps) {
21445
21460
  if (isAborted(signal)) {
21446
21461
  setRowTimed("backend_context_sync", "cancelled");
21447
21462
  await post();
21448
- return { ok: false, cancelled: true, message: "Factory stopped.", totalElapsedMs: macroEnd() };
21463
+ return fin({ ok: false, cancelled: true, message: "Factory stopped.", totalElapsedMs: macroEnd() });
21449
21464
  }
21450
21465
  setRowTimed("backend_context_sync", "running");
21451
21466
  bumpPhaseRunCount("backend_context_sync");
@@ -21458,18 +21473,18 @@ async function runGenerateContextFactory(deps) {
21458
21473
  }
21459
21474
  setRowTimed("backend_context_sync", "succeeded", up.message);
21460
21475
  await post();
21461
- return { ok: true, message: "Analysis complete.", totalElapsedMs: macroEnd() };
21476
+ return fin({ ok: true, message: "Analysis complete.", totalElapsedMs: macroEnd() });
21462
21477
  } catch (e) {
21463
21478
  const msg = e instanceof Error ? e.message : String(e);
21464
21479
  return fail(msg);
21465
21480
  }
21466
21481
  }
21467
21482
 
21468
- // ../../src/factory/generateContextFactoryHeadlessHost.ts
21483
+ // src/factory/generateContextFactoryHeadlessHost.ts
21469
21484
  var fs44 = __toESM(require("node:fs"));
21470
21485
  var path43 = __toESM(require("node:path"));
21471
21486
 
21472
- // ../../src/stores/pipelineRunStore.ts
21487
+ // src/stores/pipelineRunStore.ts
21473
21488
  var STORAGE_KEY2 = SRS53_PIPELINE_RUN_KEY_V2;
21474
21489
  function randomRunId2() {
21475
21490
  return `${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 10)}`;
@@ -21528,7 +21543,7 @@ async function finishPipelineRun(context, ok) {
21528
21543
  });
21529
21544
  }
21530
21545
 
21531
- // ../../src/stores/analysisWorkspaceStore.ts
21546
+ // src/stores/analysisWorkspaceStore.ts
21532
21547
  var STORAGE_KEY3 = "easyspecs.analysis.workspaceState.v1";
21533
21548
  function readAnalysisWorkspaceSnapshot(context) {
21534
21549
  const raw = context.workspaceState.get(STORAGE_KEY3);
@@ -21566,11 +21581,11 @@ async function noteAgentsMaterialized(context) {
21566
21581
  });
21567
21582
  }
21568
21583
 
21569
- // ../../src/pipelines/remediation/missingWorkstations.ts
21584
+ // src/pipelines/remediation/missingWorkstations.ts
21570
21585
  var fs37 = __toESM(require("fs"));
21571
21586
  var path35 = __toESM(require("path"));
21572
21587
 
21573
- // ../../src/analysis/analysisDetailMarkdownDiscovery.ts
21588
+ // src/analysis/analysisDetailMarkdownDiscovery.ts
21574
21589
  var fs36 = __toESM(require("fs"));
21575
21590
  var path34 = __toESM(require("path"));
21576
21591
  var SLUG4 = /^[a-z0-9]+(?:-[a-z0-9]+)*$/;
@@ -21848,7 +21863,7 @@ function collectExpectedDetailMarkdownBasenames(contextDir2) {
21848
21863
  return set;
21849
21864
  }
21850
21865
 
21851
- // ../../src/pipelines/remediation/missingWorkstations.ts
21866
+ // src/pipelines/remediation/missingWorkstations.ts
21852
21867
  function fileAndValidationFromKind(kind) {
21853
21868
  if (kind === "valid") {
21854
21869
  return { filePresentYesNo: "yes", validationYesNo: "yes" };
@@ -22189,7 +22204,7 @@ function toMissingWorkstationUiRows(rows, contextDir2, worktreeRoot) {
22189
22204
  });
22190
22205
  }
22191
22206
 
22192
- // ../../src/pipelines/remediation/missingWorkstationsPool.ts
22207
+ // src/pipelines/remediation/missingWorkstationsPool.ts
22193
22208
  var path36 = __toESM(require("path"));
22194
22209
  function reconcileSkippedWorkItemsWithDisk(byId, contextDir2, worktreeRoot) {
22195
22210
  for (const item of byId.values()) {
@@ -22314,12 +22329,12 @@ async function runRemediationPipelineMissingPass(p) {
22314
22329
  return { cancelled: false, skippedWorkItemIds, indexOk, ...indexError ? { indexError } : {} };
22315
22330
  }
22316
22331
 
22317
- // ../../src/pipelines/coverage/coveragePipeline.ts
22332
+ // src/pipelines/coverage/coveragePipeline.ts
22318
22333
  var import_child_process4 = require("child_process");
22319
22334
  var fs39 = __toESM(require("fs"));
22320
22335
  var path38 = __toESM(require("path"));
22321
22336
 
22322
- // ../../src/analysis/coverageReferenceValidationSchemaValidate.ts
22337
+ // src/analysis/coverageReferenceValidationSchemaValidate.ts
22323
22338
  var fs38 = __toESM(require("fs"));
22324
22339
  var path37 = __toESM(require("path"));
22325
22340
  var import__5 = __toESM(require__());
@@ -22387,7 +22402,7 @@ function readAndValidateCoverageReferenceValidationFile(jsonAbsolutePath) {
22387
22402
  return { ok: true, data };
22388
22403
  }
22389
22404
 
22390
- // ../../src/pipelines/coverage/coveragePipeline.ts
22405
+ // src/pipelines/coverage/coveragePipeline.ts
22391
22406
  var COVERAGE_REFERENCE_VALIDATION_BASENAME = "coverage-reference-validation.json";
22392
22407
  var SKIP_CONTEXT_JSON = /* @__PURE__ */ new Set([
22393
22408
  COVERAGE_REFERENCE_VALIDATION_BASENAME,
@@ -22833,12 +22848,12 @@ ${schemaCheck.errors.join("\n")}`,
22833
22848
  return { ok: true, document, outputAbsolutePath: opts.write ? outPath : void 0 };
22834
22849
  }
22835
22850
 
22836
- // ../../src/pipelines/remediation/zeroReferenceWorkstationChain.ts
22851
+ // src/pipelines/remediation/zeroReferenceWorkstationChain.ts
22837
22852
  var crypto = __toESM(require("crypto"));
22838
22853
  var fs41 = __toESM(require("fs"));
22839
22854
  var path40 = __toESM(require("path"));
22840
22855
 
22841
- // ../../src/analysis/zeroReferenceRemediationSchemaValidate.ts
22856
+ // src/analysis/zeroReferenceRemediationSchemaValidate.ts
22842
22857
  var fs40 = __toESM(require("fs"));
22843
22858
  var path39 = __toESM(require("path"));
22844
22859
  var import__6 = __toESM(require__());
@@ -22894,7 +22909,7 @@ function validateZeroReferenceTriageDocumentData(data) {
22894
22909
  return { ok: false, errors: formatAjvErrors6(validateTriageDoc.errors) };
22895
22910
  }
22896
22911
 
22897
- // ../../src/pipelines/remediation/zeroReferenceWorkstationChain.ts
22912
+ // src/pipelines/remediation/zeroReferenceWorkstationChain.ts
22898
22913
  var ZERO_REF_ROUTING_BASENAME = "zero-reference-routing.json";
22899
22914
  var ZERO_REF_TRIAGE_BASENAME = "zero-reference-triage.json";
22900
22915
  var ZERO_REF_CLASSIFY_AGENT_STEM = "agent-classify-unreferenced-file";
@@ -23945,7 +23960,7 @@ async function runRemediationPipelineZeroRefPass(p) {
23945
23960
  return { cancelled, completed, failures };
23946
23961
  }
23947
23962
 
23948
- // ../../src/pipelines/coverage/coverageExecutionReport.ts
23963
+ // src/pipelines/coverage/coverageExecutionReport.ts
23949
23964
  var fs42 = __toESM(require("fs"));
23950
23965
  var path41 = __toESM(require("path"));
23951
23966
  var REFERENCE_COVERAGE_EXECUTION_REPORT_BASENAME = "reference-coverage-execution-report.md";
@@ -24114,7 +24129,7 @@ async function runCoverageExecutionReport(p) {
24114
24129
  return { ok: true, outputAbsolutePath: outAbs };
24115
24130
  }
24116
24131
 
24117
- // ../../src/gluecharm/minimalGluecharmLayout.ts
24132
+ // src/gluecharm/minimalGluecharmLayout.ts
24118
24133
  var fs43 = __toESM(require("node:fs"));
24119
24134
  var path42 = __toESM(require("node:path"));
24120
24135
  var MINIMAL_GLUECHARM_RELATIVE_DIRS = [
@@ -24139,7 +24154,7 @@ function ensureMinimalGluecharmLayoutNode(repoRootAbs) {
24139
24154
  return { ok: true };
24140
24155
  }
24141
24156
 
24142
- // ../../src/factory/factoryPipelineRegistry.ts
24157
+ // src/factory/factoryPipelineRegistry.ts
24143
24158
  function buildFactoryPipelineRegistry(cb) {
24144
24159
  const synthesis = {
24145
24160
  key: "synthesis",
@@ -24240,7 +24255,7 @@ function buildFactoryPipelineRegistry(cb) {
24240
24255
  return { synthesis, coverage, remediation, linkMapping, upload, download };
24241
24256
  }
24242
24257
 
24243
- // ../../src/factory/generateContextFactoryHeadlessHost.ts
24258
+ // src/factory/generateContextFactoryHeadlessHost.ts
24244
24259
  function buildFactoryDepsHeadless(input) {
24245
24260
  const { storageContext, repoRoot, agentsDirFs, buildOpenCodeOptions, log, signal, macroConfig } = input;
24246
24261
  let adHocWorktree;
@@ -24500,6 +24515,7 @@ function buildFactoryDepsHeadless(input) {
24500
24515
  };
24501
24516
  return {
24502
24517
  signal,
24518
+ factoryLog: log,
24503
24519
  config: { ...macroConfig, ...input.synthesisOnly ? { synthesisOnly: true } : {} },
24504
24520
  sleep: (ms) => sleepUntilAborted(ms, signal),
24505
24521
  post: (payload) => {
@@ -24587,7 +24603,7 @@ function buildFactoryDepsHeadless(input) {
24587
24603
  };
24588
24604
  }
24589
24605
 
24590
- // ../../src/cli/failureExitRegistry.ts
24606
+ // src/cli/failureExitRegistry.ts
24591
24607
  var DRIFT_FACTORY = "context_drift";
24592
24608
  function failureExitIdFromParts(exitCode, minor) {
24593
24609
  return `${String(exitCode)}.${String(minor)}`;
@@ -24706,7 +24722,7 @@ function contextDriftFactoryFailureRow(code, error) {
24706
24722
  return base;
24707
24723
  }
24708
24724
 
24709
- // ../../src/cli/factoryValidationStderr.ts
24725
+ // src/cli/factoryValidationStderr.ts
24710
24726
  function readableLabelForAnyFactory(row2) {
24711
24727
  return row2.factory === "context_drift" ? readableLabelForDriftFactoryPhase(row2.phase) : readableLabelForFactoryPhase(row2.phase);
24712
24728
  }
@@ -24736,11 +24752,10 @@ function stderrLinesForFactoryFailures(failures, exitCode) {
24736
24752
  return lines;
24737
24753
  }
24738
24754
 
24739
- // ../../src/factory/updateContext/runUpdateContextFactory.ts
24740
- var fs49 = __toESM(require("node:fs"));
24755
+ // src/factory/updateContext/runUpdateContextFactory.ts
24741
24756
  var path48 = __toESM(require("node:path"));
24742
24757
 
24743
- // ../../src/factory/updateContext/updateContextBaseline.ts
24758
+ // src/factory/updateContext/updateContextBaseline.ts
24744
24759
  var fs45 = __toESM(require("node:fs"));
24745
24760
  var path44 = __toESM(require("node:path"));
24746
24761
  function isValidIso(s) {
@@ -24805,7 +24820,7 @@ function persistUpdateContextLastRunAt(repoRootAbs, isoUtc) {
24805
24820
  });
24806
24821
  }
24807
24822
 
24808
- // ../../src/factory/updateContext/updateContextGitWindow.ts
24823
+ // src/factory/updateContext/updateContextGitWindow.ts
24809
24824
  var import_node_child_process2 = require("node:child_process");
24810
24825
  var fs46 = __toESM(require("node:fs"));
24811
24826
  var path45 = __toESM(require("node:path"));
@@ -24907,7 +24922,7 @@ function filterPathsExistingInWorktree(worktreeRootAbs, pathsPosix) {
24907
24922
  return out;
24908
24923
  }
24909
24924
 
24910
- // ../../src/factory/updateContext/updateContextReport.ts
24925
+ // src/factory/updateContext/updateContextReport.ts
24911
24926
  var fs47 = __toESM(require("node:fs"));
24912
24927
  var path46 = __toESM(require("node:path"));
24913
24928
  var CHANGES_SINCE_DATE_BASENAME = "changes-since-date.md";
@@ -24923,7 +24938,7 @@ function renderChangesSinceDateMarkdown(p) {
24923
24938
  `- **Paths touched (union):** ${String(p.touchedPathsPosix.length)}`,
24924
24939
  `- **Remediation:** ${p.remediationSkipped ? `skipped (${p.remediationSkipReason ?? "n/a"})` : "ran"}`,
24925
24940
  `- **Promote:** ${p.promoteEffective ? "yes" : "no"}`,
24926
- `- **Upload requested:** ${p.uploadRequested ? "yes" : "no"}`,
24941
+ `- **Upload:** run \`easyspecs-cli upload context\` (or \`upload republish\`) after this command if you need cloud sync`,
24927
24942
  `- **Analysis worktree:** \`${p.worktreeRootAbs}\``,
24928
24943
  "",
24929
24944
  "## Commits (oldest \u2192 newest)",
@@ -24959,7 +24974,7 @@ function writeChangesSinceDateReport(contextDirAbs, body) {
24959
24974
  }
24960
24975
  }
24961
24976
 
24962
- // ../../src/factory/updateContext/updateContextSeedCheck.ts
24977
+ // src/factory/updateContext/updateContextSeedCheck.ts
24963
24978
  var fs48 = __toESM(require("node:fs"));
24964
24979
  var path47 = __toESM(require("node:path"));
24965
24980
  var INDEX_BASENAME = "index-application-context.json";
@@ -25006,46 +25021,15 @@ function isWorktreeContextSeeded(contextDirAbs) {
25006
25021
  return distinct.size >= 3;
25007
25022
  }
25008
25023
 
25009
- // ../../src/factory/updateContext/runUpdateContextFactory.ts
25024
+ // src/factory/updateContext/runUpdateContextFactory.ts
25010
25025
  var REMEDIATION_CHUNK_MAX = 40;
25011
25026
  function contextDirUnderRoot(wtRoot) {
25012
25027
  return path48.join(wtRoot, ".gluecharm", "context");
25013
25028
  }
25014
- function listContextPathsWithMtimeSince(contextDirAbs, sinceMs) {
25015
- const out = [];
25016
- const walk = (dir) => {
25017
- let entries;
25018
- try {
25019
- entries = fs49.readdirSync(dir, { withFileTypes: true });
25020
- } catch {
25021
- return;
25022
- }
25023
- for (const e of entries) {
25024
- const full = path48.join(dir, e.name);
25025
- if (e.isDirectory()) {
25026
- if (e.name === ".git") {
25027
- continue;
25028
- }
25029
- walk(full);
25030
- } else if (e.isFile()) {
25031
- try {
25032
- if (fs49.statSync(full).mtimeMs >= sinceMs) {
25033
- out.push(full);
25034
- }
25035
- } catch {
25036
- }
25037
- }
25038
- }
25039
- };
25040
- walk(contextDirAbs);
25041
- out.sort((a, b) => a.localeCompare(b));
25042
- return out;
25043
- }
25044
25029
  async function runUpdateContextFactory(deps) {
25045
- const runStartMs = Date.now();
25046
25030
  const baseMeta = {
25047
25031
  command: "update_context",
25048
- uploadRequested: deps.wantsUpload
25032
+ uploadRequested: false
25049
25033
  };
25050
25034
  const baseline = resolveUpdateContextBaseline(deps.repoRootAbs, deps.repoConfig);
25051
25035
  if (!baseline) {
@@ -25160,7 +25144,6 @@ async function runUpdateContextFactory(deps) {
25160
25144
  commitsInOrder: gitWin.commitsInOrder,
25161
25145
  touchedPathsPosix: gitWin.touchedPathsPosix,
25162
25146
  promoteEffective,
25163
- uploadRequested: deps.wantsUpload,
25164
25147
  remediationSkipped,
25165
25148
  remediationSkipReason,
25166
25149
  worktreeRootAbs: handle.path
@@ -25298,52 +25281,8 @@ async function runUpdateContextFactory(deps) {
25298
25281
  };
25299
25282
  }
25300
25283
  }
25301
- let filesUploaded = 0;
25302
- let uploadSkipped = !deps.wantsUpload;
25303
- if (deps.wantsUpload) {
25304
- if (!deps.runUploadFn) {
25305
- finalizeWt?.();
25306
- return {
25307
- exitOk: false,
25308
- ok: false,
25309
- code: "UPLOAD_FAILED",
25310
- error: "Upload requested but no upload implementation was wired.",
25311
- ...baseMeta
25312
- };
25313
- }
25314
- const cand = listContextPathsWithMtimeSince(ctxDirAbs, runStartMs);
25315
- if (cand.length === 0) {
25316
- deps.log("[update-context] upload \u2014 no context files modified at or after run start (skip).");
25317
- uploadSkipped = true;
25318
- } else {
25319
- uploadSkipped = false;
25320
- const ur = await deps.runUploadFn({ wtContextDir: ctxDirAbs, filePaths: cand });
25321
- if (!ur.ok) {
25322
- finalizeWt?.();
25323
- return {
25324
- exitOk: false,
25325
- ok: false,
25326
- code: "UPLOAD_FAILED",
25327
- error: ur.message ?? "Upload failed.",
25328
- baselineDate: baseline.baselineIsoUtc,
25329
- baselineSource: baseline.source,
25330
- headCommit: gitWin.headCommit,
25331
- rangeStartCommit: gitWin.rangeStartCommit,
25332
- commitsReviewed: gitWin.commitsInOrder.length,
25333
- filesDetected: inventory.length,
25334
- filesRemediated,
25335
- analysisWorktreeRoot: handle.path,
25336
- promoted,
25337
- remediationSkipped,
25338
- ...remediationSkipReason ? { skipReason: remediationSkipReason } : {},
25339
- changesReportRelativePath: ".gluecharm/context/changes-since-date.md",
25340
- uploadSkipped: false,
25341
- ...baseMeta
25342
- };
25343
- }
25344
- filesUploaded = ur.uploadedCount ?? cand.length;
25345
- }
25346
- }
25284
+ const uploadSkipped = true;
25285
+ const filesUploaded = 0;
25347
25286
  let persisted = false;
25348
25287
  try {
25349
25288
  persistUpdateContextLastRunAt(deps.repoRootAbs, (/* @__PURE__ */ new Date()).toISOString());
@@ -25374,12 +25313,12 @@ async function runUpdateContextFactory(deps) {
25374
25313
  };
25375
25314
  }
25376
25315
 
25377
- // ../../src/factory/contextDrift/runContextDriftFactory.ts
25378
- var fs55 = __toESM(require("node:fs"));
25316
+ // src/factory/contextDrift/runContextDriftFactory.ts
25317
+ var fs54 = __toESM(require("node:fs"));
25379
25318
  var path53 = __toESM(require("node:path"));
25380
25319
 
25381
- // ../../src/factory/contextDrift/contextDriftManifest.ts
25382
- var fs50 = __toESM(require("node:fs"));
25320
+ // src/factory/contextDrift/contextDriftManifest.ts
25321
+ var fs49 = __toESM(require("node:fs"));
25383
25322
  var path49 = __toESM(require("node:path"));
25384
25323
  var MAX_REFERENCE_BYTES = 256 * 1024;
25385
25324
  var MAX_EVIDENCE_FILES = 300;
@@ -25388,7 +25327,7 @@ var MAX_EXCERPT = 4e3;
25388
25327
  function readFileLimited(abs, maxBytes) {
25389
25328
  let buf;
25390
25329
  try {
25391
- buf = fs50.readFileSync(abs);
25330
+ buf = fs49.readFileSync(abs);
25392
25331
  } catch {
25393
25332
  return { text: "", truncated: false };
25394
25333
  }
@@ -25401,14 +25340,14 @@ function collectEvidencePaths(repoRoot) {
25401
25340
  const roots = ["src", "test", "tests", "packages", ".gluecharm", "scripts"];
25402
25341
  for (const rel of roots) {
25403
25342
  const abs = path49.join(repoRoot, rel);
25404
- if (!fs50.existsSync(abs)) {
25343
+ if (!fs49.existsSync(abs)) {
25405
25344
  continue;
25406
25345
  }
25407
25346
  walkFiles(abs, repoRoot, out, 0);
25408
25347
  }
25409
25348
  for (const leaf of ["package.json", "tsconfig.json"]) {
25410
25349
  const abs = path49.join(repoRoot, leaf);
25411
- if (fs50.existsSync(abs) && fs50.statSync(abs).isFile()) {
25350
+ if (fs49.existsSync(abs) && fs49.statSync(abs).isFile()) {
25412
25351
  const r = path49.relative(repoRoot, abs).split(path49.sep).join("/");
25413
25352
  out.push(r);
25414
25353
  }
@@ -25426,7 +25365,7 @@ function walkFiles(dir, repoRoot, out, depth) {
25426
25365
  }
25427
25366
  let entries;
25428
25367
  try {
25429
- entries = fs50.readdirSync(dir, { withFileTypes: true });
25368
+ entries = fs49.readdirSync(dir, { withFileTypes: true });
25430
25369
  } catch {
25431
25370
  return;
25432
25371
  }
@@ -25463,7 +25402,7 @@ function buildComparisonManifest(args) {
25463
25402
  const evidenceFiles = [];
25464
25403
  for (const rel of evidencePathsTrimmed) {
25465
25404
  const abs = path49.join(args.worktreeRoot, ...rel.split("/"));
25466
- const st = fs50.existsSync(abs) ? fs50.statSync(abs) : null;
25405
+ const st = fs49.existsSync(abs) ? fs49.statSync(abs) : null;
25467
25406
  const size = st && st.isFile() ? st.size : 0;
25468
25407
  const { text, truncated } = readFileLimited(abs, MAX_EVIDENCE_READ);
25469
25408
  const excerpt = truncated ? `${text.slice(0, MAX_EXCERPT)}
@@ -25484,11 +25423,11 @@ function buildComparisonManifest(args) {
25484
25423
  };
25485
25424
  }
25486
25425
 
25487
- // ../../src/factory/contextDrift/contextDriftAgent.ts
25488
- var fs51 = __toESM(require("node:fs"));
25426
+ // src/factory/contextDrift/contextDriftAgent.ts
25427
+ var fs50 = __toESM(require("node:fs"));
25489
25428
  var path50 = __toESM(require("node:path"));
25490
25429
 
25491
- // ../../src/factory/contextDrift/contextDriftPayload.ts
25430
+ // src/factory/contextDrift/contextDriftPayload.ts
25492
25431
  function isNonEmptyString2(v) {
25493
25432
  return typeof v === "string" && v.trim().length > 0;
25494
25433
  }
@@ -25603,7 +25542,7 @@ function renderDriftMarkdown(args) {
25603
25542
  return lines.join("\n");
25604
25543
  }
25605
25544
 
25606
- // ../../src/factory/contextDrift/contextDriftAgent.ts
25545
+ // src/factory/contextDrift/contextDriftAgent.ts
25607
25546
  var CONTEXT_DRIFT_AGENT_STEM = "agent-context-drift-compare";
25608
25547
  function expandArgvTemplate5(template, vars) {
25609
25548
  return template.map((part) => {
@@ -25632,16 +25571,16 @@ function buildDriftPrompt(args) {
25632
25571
  }
25633
25572
  async function runDriftComparisonOpenCode(args) {
25634
25573
  const runDir = path50.join(args.worktreeRoot, ".opencode", "_run");
25635
- fs51.mkdirSync(runDir, { recursive: true });
25574
+ fs50.mkdirSync(runDir, { recursive: true });
25636
25575
  const manifestPath = path50.join(runDir, "context-drift-manifest.json");
25637
25576
  const outputPath = path50.join(runDir, "context-drift-payload.json");
25638
- fs51.writeFileSync(manifestPath, `${JSON.stringify(args.manifestObject, null, 2)}
25577
+ fs50.writeFileSync(manifestPath, `${JSON.stringify(args.manifestObject, null, 2)}
25639
25578
  `, "utf8");
25640
- if (fs51.existsSync(outputPath)) {
25641
- fs51.unlinkSync(outputPath);
25579
+ if (fs50.existsSync(outputPath)) {
25580
+ fs50.unlinkSync(outputPath);
25642
25581
  }
25643
25582
  const promptPath = path50.join(runDir, `context-drift-${Date.now()}.prompt.txt`);
25644
- fs51.writeFileSync(
25583
+ fs50.writeFileSync(
25645
25584
  promptPath,
25646
25585
  buildDriftPrompt({
25647
25586
  worktreeRoot: args.worktreeRoot,
@@ -25683,7 +25622,7 @@ async function runDriftComparisonOpenCode(args) {
25683
25622
  }
25684
25623
  let raw;
25685
25624
  try {
25686
- const txt = fs51.readFileSync(outputPath, "utf8");
25625
+ const txt = fs50.readFileSync(outputPath, "utf8");
25687
25626
  raw = JSON.parse(txt);
25688
25627
  } catch (e) {
25689
25628
  return {
@@ -25698,9 +25637,9 @@ async function runDriftComparisonOpenCode(args) {
25698
25637
  return { ok: true, payload: parsed.payload };
25699
25638
  }
25700
25639
 
25701
- // ../../src/factory/contextDrift/contextDriftPaths.ts
25640
+ // src/factory/contextDrift/contextDriftPaths.ts
25702
25641
  var crypto2 = __toESM(require("node:crypto"));
25703
- var fs52 = __toESM(require("node:fs"));
25642
+ var fs51 = __toESM(require("node:fs"));
25704
25643
  var path51 = __toESM(require("node:path"));
25705
25644
  var DRIFT_CONTEXT_SUBDIR = path51.join(".gluecharm", "context", "drift");
25706
25645
  function sanitizeSlug(raw) {
@@ -25739,7 +25678,7 @@ function maybeDedupeSlug(slug, referenceRelPosix) {
25739
25678
  function discoverReferenceBundle(worktreeRoot, referenceAbsInWorktree) {
25740
25679
  let st;
25741
25680
  try {
25742
- st = fs52.statSync(referenceAbsInWorktree);
25681
+ st = fs51.statSync(referenceAbsInWorktree);
25743
25682
  } catch {
25744
25683
  return { ok: false, error: `Reference path not found in analysis worktree: ${referenceAbsInWorktree}` };
25745
25684
  }
@@ -25760,7 +25699,7 @@ function discoverReferenceBundle(worktreeRoot, referenceAbsInWorktree) {
25760
25699
  }
25761
25700
  let entries;
25762
25701
  try {
25763
- entries = fs52.readdirSync(dir, { withFileTypes: true });
25702
+ entries = fs51.readdirSync(dir, { withFileTypes: true });
25764
25703
  } catch {
25765
25704
  return;
25766
25705
  }
@@ -25785,7 +25724,7 @@ function discoverReferenceBundle(worktreeRoot, referenceAbsInWorktree) {
25785
25724
  }
25786
25725
  function pickReferenceRootDocument(args) {
25787
25726
  if (args.indexOverrideAbs) {
25788
- if (!fs52.existsSync(args.indexOverrideAbs) || !args.indexOverrideAbs.endsWith(".md")) {
25727
+ if (!fs51.existsSync(args.indexOverrideAbs) || !args.indexOverrideAbs.endsWith(".md")) {
25789
25728
  return { ok: false, error: "--index must point to an existing .md file under the repo." };
25790
25729
  }
25791
25730
  return { ok: true, path: args.indexOverrideAbs };
@@ -25796,7 +25735,7 @@ function pickReferenceRootDocument(args) {
25796
25735
  const dir = args.referenceAbsInWorktree;
25797
25736
  for (const name of ["index.md", "README.md"]) {
25798
25737
  const p = path51.join(dir, name);
25799
- if (fs52.existsSync(p) && fs52.statSync(p).isFile()) {
25738
+ if (fs51.existsSync(p) && fs51.statSync(p).isFile()) {
25800
25739
  return { ok: true, path: p };
25801
25740
  }
25802
25741
  }
@@ -25812,14 +25751,14 @@ function toPosixPath(p) {
25812
25751
  return p.split(path51.sep).join("/");
25813
25752
  }
25814
25753
 
25815
- // ../../src/factory/contextDrift/contextDriftIndex.ts
25816
- var fs53 = __toESM(require("node:fs"));
25754
+ // src/factory/contextDrift/contextDriftIndex.ts
25755
+ var fs52 = __toESM(require("node:fs"));
25817
25756
  var START = "<!-- easyspecs-drift-links:start -->";
25818
25757
  var END = "<!-- easyspecs-drift-links:end -->";
25819
25758
  function patchReferenceIndexWithDriftLink(args) {
25820
25759
  let body;
25821
25760
  try {
25822
- body = fs53.readFileSync(args.referenceRootAbsolute, "utf8");
25761
+ body = fs52.readFileSync(args.referenceRootAbsolute, "utf8");
25823
25762
  } catch (e) {
25824
25763
  return { ok: false, error: e instanceof Error ? e.message : String(e) };
25825
25764
  }
@@ -25840,7 +25779,7 @@ ${block}
25840
25779
  `;
25841
25780
  }
25842
25781
  try {
25843
- fs53.writeFileSync(args.referenceRootAbsolute, next, "utf8");
25782
+ fs52.writeFileSync(args.referenceRootAbsolute, next, "utf8");
25844
25783
  } catch (e) {
25845
25784
  return { ok: false, error: e instanceof Error ? e.message : String(e) };
25846
25785
  }
@@ -25850,17 +25789,17 @@ function escapeRe(s) {
25850
25789
  return s.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
25851
25790
  }
25852
25791
 
25853
- // ../../src/factory/contextDrift/contextDriftPromote.ts
25854
- var fs54 = __toESM(require("node:fs"));
25792
+ // src/factory/contextDrift/contextDriftPromote.ts
25793
+ var fs53 = __toESM(require("node:fs"));
25855
25794
  var path52 = __toESM(require("node:path"));
25856
25795
  function copyWorktreeFileToWorkspace(args) {
25857
25796
  const src = path52.join(args.worktreeRoot, ...args.relativePosix.split("/"));
25858
25797
  const dest = path52.join(args.workspaceRoot, ...args.relativePosix.split("/"));
25859
- fs54.mkdirSync(path52.dirname(dest), { recursive: true });
25860
- fs54.copyFileSync(src, dest);
25798
+ fs53.mkdirSync(path52.dirname(dest), { recursive: true });
25799
+ fs53.copyFileSync(src, dest);
25861
25800
  }
25862
25801
 
25863
- // ../../src/factory/contextDrift/runContextDriftFactory.ts
25802
+ // src/factory/contextDrift/runContextDriftFactory.ts
25864
25803
  async function runContextDriftFactory(deps) {
25865
25804
  const runDate = utcDateString(/* @__PURE__ */ new Date());
25866
25805
  const baseMeta = { command: "context_drift", referencePath: deps.referencePathArg };
@@ -25876,7 +25815,7 @@ async function runContextDriftFactory(deps) {
25876
25815
  };
25877
25816
  }
25878
25817
  const refAbsWorkspace = resolved.abs;
25879
- if (!fs55.existsSync(refAbsWorkspace)) {
25818
+ if (!fs54.existsSync(refAbsWorkspace)) {
25880
25819
  return {
25881
25820
  exitOk: false,
25882
25821
  ok: false,
@@ -25889,7 +25828,7 @@ async function runContextDriftFactory(deps) {
25889
25828
  let indexOverrideAbsWorkspace;
25890
25829
  if (deps.indexOverrideArg?.trim()) {
25891
25830
  const ir = resolveInsideRepo(deps.repoRootAbs, deps.indexOverrideArg.trim());
25892
- if (!ir.ok || !fs55.existsSync(ir.abs)) {
25831
+ if (!ir.ok || !fs54.existsSync(ir.abs)) {
25893
25832
  return {
25894
25833
  exitOk: false,
25895
25834
  ok: false,
@@ -25907,7 +25846,7 @@ async function runContextDriftFactory(deps) {
25907
25846
  ok: true,
25908
25847
  code: "DRY_RUN",
25909
25848
  ...baseMeta,
25910
- referenceRootDocument: toPosixPath(path53.relative(deps.repoRootAbs, refAbsWorkspace)) + (fs55.statSync(refAbsWorkspace).isDirectory() ? "/" : ""),
25849
+ referenceRootDocument: toPosixPath(path53.relative(deps.repoRootAbs, refAbsWorkspace)) + (fs54.statSync(refAbsWorkspace).isDirectory() ? "/" : ""),
25911
25850
  driftReportPath: null,
25912
25851
  analysisWorktreeRoot: "",
25913
25852
  promoted: false,
@@ -25976,7 +25915,7 @@ async function runContextDriftFactory(deps) {
25976
25915
  }
25977
25916
  const indexWt = indexOverrideAbsWorkspace ? path53.join(wt, ...path53.relative(deps.repoRootAbs, indexOverrideAbsWorkspace).split(path53.sep)) : void 0;
25978
25917
  const rootPick = pickReferenceRootDocument({
25979
- referencePathIsFile: fs55.statSync(refAbsWt).isFile(),
25918
+ referencePathIsFile: fs54.statSync(refAbsWt).isFile(),
25980
25919
  referenceAbsInWorktree: refAbsWt,
25981
25920
  bundleFiles: bundle.bundleFiles,
25982
25921
  indexOverrideAbs: indexWt
@@ -26003,7 +25942,7 @@ async function runContextDriftFactory(deps) {
26003
25942
  slug = maybeDedupeSlug(slug, refRel);
26004
25943
  const driftBase = driftFilename(slug, runDate);
26005
25944
  const driftDirWt = path53.join(wt, DRIFT_CONTEXT_SUBDIR);
26006
- fs55.mkdirSync(driftDirWt, { recursive: true });
25945
+ fs54.mkdirSync(driftDirWt, { recursive: true });
26007
25946
  const driftAbsWt = path53.join(driftDirWt, driftBase);
26008
25947
  let payload;
26009
25948
  if (deps.testOnlyFixturePayload) {
@@ -26040,7 +25979,7 @@ async function runContextDriftFactory(deps) {
26040
25979
  manifestTruncation: manifest.truncation
26041
25980
  });
26042
25981
  try {
26043
- fs55.writeFileSync(driftAbsWt, md, "utf8");
25982
+ fs54.writeFileSync(driftAbsWt, md, "utf8");
26044
25983
  } catch (e) {
26045
25984
  finalizeWt?.();
26046
25985
  return {
@@ -26118,8 +26057,8 @@ async function runContextDriftFactory(deps) {
26118
26057
  };
26119
26058
  }
26120
26059
 
26121
- // ../../src/analysis/coordinationDuplicatesDiagnosis.ts
26122
- var fs56 = __toESM(require("fs"));
26060
+ // src/analysis/coordinationDuplicatesDiagnosis.ts
26061
+ var fs55 = __toESM(require("fs"));
26123
26062
  var path54 = __toESM(require("path"));
26124
26063
  var import__7 = __toESM(require__());
26125
26064
  var COORDINATION_DUPLICATES_REPORT_BASENAME = "coordination-duplicates-report.json";
@@ -26156,11 +26095,11 @@ function looksLikeCoordinationDetailMarkdownBasename(basename17) {
26156
26095
  }
26157
26096
  function loadRawFeatureRows(contextDirAbs) {
26158
26097
  const p = path54.join(contextDirAbs, "features-list.json");
26159
- if (!fs56.existsSync(p)) {
26098
+ if (!fs55.existsSync(p)) {
26160
26099
  return [];
26161
26100
  }
26162
26101
  try {
26163
- const raw = stripUtf8Bom6(fs56.readFileSync(p, "utf-8"));
26102
+ const raw = stripUtf8Bom6(fs55.readFileSync(p, "utf-8"));
26164
26103
  const doc = JSON.parse(raw);
26165
26104
  return Array.isArray(doc.features) ? doc.features : [];
26166
26105
  } catch {
@@ -26195,7 +26134,7 @@ function findOrphanCoordinationMarkdown(contextDirAbs) {
26195
26134
  const featureRows = loadRawFeatureRows(contextDirAbs);
26196
26135
  let dirents;
26197
26136
  try {
26198
- dirents = fs56.readdirSync(contextDirAbs, { withFileTypes: true });
26137
+ dirents = fs55.readdirSync(contextDirAbs, { withFileTypes: true });
26199
26138
  } catch {
26200
26139
  return [];
26201
26140
  }
@@ -26449,13 +26388,13 @@ function buildCoordinationDuplicatesReport(input) {
26449
26388
  const duplicateGroups = [];
26450
26389
  for (const entry of COORDINATION_LIST_SCAN_ENTRIES) {
26451
26390
  const filePath = path54.join(input.contextDirAbsolute, entry.basename);
26452
- if (!fs56.existsSync(filePath)) {
26391
+ if (!fs55.existsSync(filePath)) {
26453
26392
  lists.push({ basename: entry.basename, status: "missing" });
26454
26393
  continue;
26455
26394
  }
26456
26395
  let raw;
26457
26396
  try {
26458
- raw = stripUtf8Bom6(fs56.readFileSync(filePath, "utf-8"));
26397
+ raw = stripUtf8Bom6(fs55.readFileSync(filePath, "utf-8"));
26459
26398
  } catch (e) {
26460
26399
  lists.push({
26461
26400
  basename: entry.basename,
@@ -26504,7 +26443,7 @@ function validateReportData(data) {
26504
26443
  if (!validateReportCompiled) {
26505
26444
  const ajv2 = new import__7.default({ allErrors: true, strict: false });
26506
26445
  const schemaPath = path54.join(resolveContextListSchemasDir(), "coordination-duplicates-report.schema.json");
26507
- const schemaRaw = stripUtf8Bom6(fs56.readFileSync(schemaPath, "utf-8"));
26446
+ const schemaRaw = stripUtf8Bom6(fs55.readFileSync(schemaPath, "utf-8"));
26508
26447
  validateReportCompiled = ajv2.compile(JSON.parse(schemaRaw));
26509
26448
  }
26510
26449
  if (validateReportCompiled(data)) {
@@ -26527,15 +26466,15 @@ function runCoordinationDuplicatesDiagnosis(input) {
26527
26466
  `;
26528
26467
  const tmp = `${outPath}.tmp.${process.pid}`;
26529
26468
  try {
26530
- fs56.writeFileSync(tmp, payload, "utf-8");
26469
+ fs55.writeFileSync(tmp, payload, "utf-8");
26531
26470
  } catch (e) {
26532
26471
  return { ok: false, message: e instanceof Error ? e.message : String(e) };
26533
26472
  }
26534
26473
  try {
26535
- fs56.renameSync(tmp, outPath);
26474
+ fs55.renameSync(tmp, outPath);
26536
26475
  } catch (e) {
26537
26476
  try {
26538
- fs56.unlinkSync(tmp);
26477
+ fs55.unlinkSync(tmp);
26539
26478
  } catch {
26540
26479
  }
26541
26480
  return { ok: false, message: e instanceof Error ? e.message : String(e) };
@@ -26568,8 +26507,8 @@ function runCoordinationDuplicatesDiagnosis(input) {
26568
26507
  };
26569
26508
  }
26570
26509
 
26571
- // ../../src/pipelines/download/downloadPipeline.ts
26572
- var fs57 = __toESM(require("node:fs"));
26510
+ // src/pipelines/download/downloadPipeline.ts
26511
+ var fs56 = __toESM(require("node:fs"));
26573
26512
  var path55 = __toESM(require("node:path"));
26574
26513
  var SRS_DISCOVERY_BATCH_GET_CHUNK_SIZE = 200;
26575
26514
  function isRecord7(v) {
@@ -26675,19 +26614,19 @@ function chunkIds(ids, size) {
26675
26614
  return out;
26676
26615
  }
26677
26616
  function clearContextDirectoryForCloudReplace(contextDirAbs) {
26678
- if (!fs57.existsSync(contextDirAbs) || !fs57.statSync(contextDirAbs).isDirectory()) {
26617
+ if (!fs56.existsSync(contextDirAbs) || !fs56.statSync(contextDirAbs).isDirectory()) {
26679
26618
  return { filesRemoved: 0 };
26680
26619
  }
26681
26620
  const preserveAbs = path55.resolve(contextDirAbs, UPLOAD_TARGET_FILENAME);
26682
26621
  const preserveSet = /* @__PURE__ */ new Set();
26683
- if (fs57.existsSync(preserveAbs) && fs57.statSync(preserveAbs).isFile()) {
26622
+ if (fs56.existsSync(preserveAbs) && fs56.statSync(preserveAbs).isFile()) {
26684
26623
  preserveSet.add(preserveAbs);
26685
26624
  }
26686
26625
  let filesRemoved = 0;
26687
26626
  const walkRm = (dir) => {
26688
26627
  let entries;
26689
26628
  try {
26690
- entries = fs57.readdirSync(dir, { withFileTypes: true });
26629
+ entries = fs56.readdirSync(dir, { withFileTypes: true });
26691
26630
  } catch {
26692
26631
  return;
26693
26632
  }
@@ -26696,7 +26635,7 @@ function clearContextDirectoryForCloudReplace(contextDirAbs) {
26696
26635
  if (e.isDirectory()) {
26697
26636
  walkRm(full);
26698
26637
  try {
26699
- fs57.rmdirSync(full);
26638
+ fs56.rmdirSync(full);
26700
26639
  } catch {
26701
26640
  }
26702
26641
  } else if (e.isFile()) {
@@ -26705,7 +26644,7 @@ function clearContextDirectoryForCloudReplace(contextDirAbs) {
26705
26644
  continue;
26706
26645
  }
26707
26646
  try {
26708
- fs57.unlinkSync(abs);
26647
+ fs56.unlinkSync(abs);
26709
26648
  filesRemoved += 1;
26710
26649
  } catch {
26711
26650
  }
@@ -26784,15 +26723,15 @@ async function runDownloadPipeline(opts) {
26784
26723
  failed.push({ id, name, message: "Unsafe or invalid name for local path." });
26785
26724
  continue;
26786
26725
  }
26787
- fs57.mkdirSync(path55.dirname(outAbs), { recursive: true });
26788
- const exists = fs57.existsSync(outAbs);
26726
+ fs56.mkdirSync(path55.dirname(outAbs), { recursive: true });
26727
+ const exists = fs56.existsSync(outAbs);
26789
26728
  if (exists && !opts.force && !opts.replaceFromCloud) {
26790
26729
  skipped += 1;
26791
26730
  log?.(`[pipeline:download] skip existing ${name} (use --force to overwrite).`);
26792
26731
  continue;
26793
26732
  }
26794
26733
  try {
26795
- fs57.writeFileSync(outAbs, bodyText, "utf8");
26734
+ fs56.writeFileSync(outAbs, bodyText, "utf8");
26796
26735
  downloaded += 1;
26797
26736
  succeededIds[outAbs] = id;
26798
26737
  } catch (e) {
@@ -26809,7 +26748,7 @@ async function runDownloadPipeline(opts) {
26809
26748
  return { downloaded, skipped, failed, localFilesRemoved, succeededIds };
26810
26749
  }
26811
26750
 
26812
- // ../../src/auth/authApi.ts
26751
+ // src/auth/authApi.ts
26813
26752
  var API_TIMEOUT_MS = 1e4;
26814
26753
  async function fetchWithTimeout(url, init, fetchImpl) {
26815
26754
  const controller = new AbortController();
@@ -26865,7 +26804,7 @@ function toFetchErrorMessage(e) {
26865
26804
  return { status: 0, message: msg };
26866
26805
  }
26867
26806
 
26868
- // ../../src/auth/gluecharmContentNegotiation.ts
26807
+ // src/auth/gluecharmContentNegotiation.ts
26869
26808
  var GLUECHARM_WS_LEGACY_JSON = "application/vnd.gluecharm.v1.ws-legacy+json";
26870
26809
  function pathWithoutQuery(path60) {
26871
26810
  const q = path60.indexOf("?");
@@ -26884,7 +26823,7 @@ function gluecharmContentHeaders(method) {
26884
26823
  return headers;
26885
26824
  }
26886
26825
 
26887
- // ../../src/auth/authenticatedFetch.ts
26826
+ // src/auth/authenticatedFetch.ts
26888
26827
  async function fetchWithTimeout2(url, init, fetchImpl, timeoutMs, externalSignal) {
26889
26828
  const controller = new AbortController();
26890
26829
  const timeoutId = setTimeout(() => controller.abort(), timeoutMs);
@@ -26962,8 +26901,8 @@ function createAuthenticatedRequestJson(deps) {
26962
26901
  return requestJson;
26963
26902
  }
26964
26903
 
26965
- // ../../src/cli/cliSession.ts
26966
- var fs58 = __toESM(require("node:fs"));
26904
+ // src/cli/cliSession.ts
26905
+ var fs57 = __toESM(require("node:fs"));
26967
26906
  var os3 = __toESM(require("node:os"));
26968
26907
  var path56 = __toESM(require("node:path"));
26969
26908
  function defaultSessionPath() {
@@ -27008,10 +26947,10 @@ function effectiveCliSessionPath() {
27008
26947
  function readCliSession() {
27009
26948
  const p = effectiveCliSessionPath();
27010
26949
  try {
27011
- if (!fs58.existsSync(p)) {
26950
+ if (!fs57.existsSync(p)) {
27012
26951
  return void 0;
27013
26952
  }
27014
- const j = JSON.parse(fs58.readFileSync(p, "utf8"));
26953
+ const j = JSON.parse(fs57.readFileSync(p, "utf8"));
27015
26954
  const apiBaseUrl = typeof j.apiBaseUrl === "string" ? j.apiBaseUrl.trim() : "";
27016
26955
  const accessToken = typeof j.accessToken === "string" ? j.accessToken : "";
27017
26956
  const refreshToken = typeof j.refreshToken === "string" ? j.refreshToken : "";
@@ -27025,20 +26964,20 @@ function readCliSession() {
27025
26964
  }
27026
26965
  function writeCliSession(s) {
27027
26966
  const p = effectiveCliSessionPath();
27028
- fs58.mkdirSync(path56.dirname(p), { recursive: true });
27029
- fs58.writeFileSync(p, `${JSON.stringify(s, null, 2)}
26967
+ fs57.mkdirSync(path56.dirname(p), { recursive: true });
26968
+ fs57.writeFileSync(p, `${JSON.stringify(s, null, 2)}
27030
26969
  `, "utf8");
27031
26970
  }
27032
26971
  function clearCliSession() {
27033
26972
  const p = effectiveCliSessionPath();
27034
26973
  try {
27035
- fs58.unlinkSync(p);
26974
+ fs57.unlinkSync(p);
27036
26975
  } catch {
27037
26976
  }
27038
26977
  }
27039
26978
 
27040
- // ../../src/analysis/acePendingTraces.ts
27041
- var fs59 = __toESM(require("fs"));
26979
+ // src/analysis/acePendingTraces.ts
26980
+ var fs58 = __toESM(require("fs"));
27042
26981
  var path57 = __toESM(require("path"));
27043
26982
  function normalizeAceTraceRelativePath(rel) {
27044
26983
  return rel.split(/[/\\]/).join("/");
@@ -27046,12 +26985,12 @@ function normalizeAceTraceRelativePath(rel) {
27046
26985
  function readCompletedTraceRelativePaths(contextDir2) {
27047
26986
  const set = /* @__PURE__ */ new Set();
27048
26987
  const jsonlPath = aceConsolidatedSessionsJsonlPath(contextDir2);
27049
- if (!fs59.existsSync(jsonlPath)) {
26988
+ if (!fs58.existsSync(jsonlPath)) {
27050
26989
  return set;
27051
26990
  }
27052
26991
  let raw;
27053
26992
  try {
27054
- raw = fs59.readFileSync(jsonlPath, "utf8");
26993
+ raw = fs58.readFileSync(jsonlPath, "utf8");
27055
26994
  } catch {
27056
26995
  return set;
27057
26996
  }
@@ -27082,7 +27021,7 @@ function readCompletedTraceRelativePaths(contextDir2) {
27082
27021
  }
27083
27022
  function listPendingAceTraceFiles(contextDir2, worktreeRoot) {
27084
27023
  const traceSchema = opencodeAceSchemaPath(worktreeRoot, ACE_SCHEMA_TRACE);
27085
- if (!fs59.existsSync(traceSchema)) {
27024
+ if (!fs58.existsSync(traceSchema)) {
27086
27025
  return [];
27087
27026
  }
27088
27027
  const completed = readCompletedTraceRelativePaths(contextDir2);
@@ -27103,7 +27042,7 @@ function listPendingAceTraceFiles(contextDir2, worktreeRoot) {
27103
27042
  return pending.map((x) => x.abs);
27104
27043
  }
27105
27044
 
27106
- // ../../src/analysis/aceAutoLearnPool.ts
27045
+ // src/analysis/aceAutoLearnPool.ts
27107
27046
  var path58 = __toESM(require("path"));
27108
27047
  function clampConcurrency2(n) {
27109
27048
  if (!Number.isFinite(n)) {
@@ -27185,7 +27124,7 @@ async function runAceAutoLearnPool(p) {
27185
27124
  return { cancelled: abortSignal?.aborted === true, completed, failed };
27186
27125
  }
27187
27126
 
27188
- // ../../src/cli/parseTailFlags.ts
27127
+ // src/cli/parseTailFlags.ts
27189
27128
  function parseTailFlags(tail) {
27190
27129
  let rootKind = "workspace";
27191
27130
  let worktree;
@@ -27210,7 +27149,7 @@ function parseTailFlags(tail) {
27210
27149
  return { rootKind, worktree };
27211
27150
  }
27212
27151
 
27213
- // ../../src/cli/parseContextDriftTail.ts
27152
+ // src/cli/parseContextDriftTail.ts
27214
27153
  function parseContextDriftTail(tail) {
27215
27154
  const rest = [];
27216
27155
  let label;
@@ -27253,7 +27192,7 @@ function stripRootWorktreeTokens(tokens) {
27253
27192
  return out;
27254
27193
  }
27255
27194
 
27256
- // ../../src/cli/parseDoctorFlags.ts
27195
+ // src/cli/parseDoctorFlags.ts
27257
27196
  var ALLOWED = /* @__PURE__ */ new Set(["--readiness", "--inspect-config"]);
27258
27197
  function parseDoctorFlags(tail) {
27259
27198
  for (const t of tail) {
@@ -27270,7 +27209,7 @@ function parseDoctorFlags(tail) {
27270
27209
  };
27271
27210
  }
27272
27211
 
27273
- // ../../src/cli/parseAuthLoginTail.ts
27212
+ // src/cli/parseAuthLoginTail.ts
27274
27213
  function extractAuthLoginSessionPathFromTail(tail) {
27275
27214
  const rest = [];
27276
27215
  let sessionPath;
@@ -27327,7 +27266,7 @@ function parseAuthLoginTail(tail) {
27327
27266
  return { ok: true, creds: { email: email.trim(), password } };
27328
27267
  }
27329
27268
 
27330
- // ../../src/cli/cliDiagStyle.ts
27269
+ // src/cli/cliDiagStyle.ts
27331
27270
  var RESET = "\x1B[0m";
27332
27271
  var DIM = "\x1B[2m";
27333
27272
  var BOLD = "\x1B[1m";
@@ -27647,8 +27586,8 @@ function formatCliStderrLine(line, useAnsi) {
27647
27586
  return { leadingBlank, text };
27648
27587
  }
27649
27588
 
27650
- // ../../src/cli/main.ts
27651
- var PKG_VERSION = "0.0.18";
27589
+ // src/cli/main.ts
27590
+ var PKG_VERSION = "0.0.19";
27652
27591
  function isNonEmptyFactoryFailureArray(x) {
27653
27592
  if (!Array.isArray(x) || x.length === 0) {
27654
27593
  return false;
@@ -27780,7 +27719,7 @@ function resolveAnalysisRoot(repoRoot, rootKind, worktreePath) {
27780
27719
  return repoRoot;
27781
27720
  }
27782
27721
  const wt = worktreePath?.trim();
27783
- if (wt && fs60.existsSync(path59.join(wt, ".git"))) {
27722
+ if (wt && fs59.existsSync(path59.join(wt, ".git"))) {
27784
27723
  return path59.resolve(wt);
27785
27724
  }
27786
27725
  throw new Error("worktree mode requires --worktree <path> to an existing analysis checkout.");
@@ -27789,14 +27728,14 @@ function resolveAdHocCheckoutRoot(_repoRoot, storage, worktreeFlag) {
27789
27728
  const w = worktreeFlag?.trim();
27790
27729
  if (w) {
27791
27730
  const abs = path59.resolve(w);
27792
- if (fs60.existsSync(path59.join(abs, ".git"))) {
27731
+ if (fs59.existsSync(path59.join(abs, ".git"))) {
27793
27732
  return abs;
27794
27733
  }
27795
27734
  throw new Error(`Invalid --worktree (not a git checkout): ${abs}`);
27796
27735
  }
27797
27736
  const snap = readAnalysisWorkspaceSnapshot(storage);
27798
27737
  const p = snap?.adHocWorktreePath?.trim();
27799
- if (p && fs60.existsSync(path59.join(p, ".git"))) {
27738
+ if (p && fs59.existsSync(path59.join(p, ".git"))) {
27800
27739
  return p;
27801
27740
  }
27802
27741
  throw new Error("No analysis checkout: run `easyspecs-cli run synthesis` first or pass `--worktree <path>`.");
@@ -28067,7 +28006,7 @@ async function main() {
28067
28006
  process.exit(ExitCode.usage);
28068
28007
  }
28069
28008
  const agentsDir = resolveOpenCodeAgentsDir(repoRoot, repoConfig);
28070
- const agentsOk = fs60.existsSync(agentsDir);
28009
+ const agentsOk = fs59.existsSync(agentsDir);
28071
28010
  const oc = getOpenCodeReadiness({
28072
28011
  executable: merged.openCodeExecutable,
28073
28012
  skipCredentialsCheck: merged.openCodeSkipCredentialsCheck,
@@ -28514,7 +28453,27 @@ async function main() {
28514
28453
  finish(ExitCode.internal, { ok: false, error: "Unexpected context drift result shape." });
28515
28454
  }
28516
28455
  if (pos[0] === "analysis") {
28517
- const synthesisOnly = positionals.includes("--synthesis-only");
28456
+ for (const a of pos.slice(1)) {
28457
+ if (a === "--force-new-context-analysis") {
28458
+ continue;
28459
+ }
28460
+ if (a === "--upload") {
28461
+ finish(ExitCode.usage, {
28462
+ ok: false,
28463
+ error: "Removed flag: analysis --upload. Run `easyspecs-cli upload context` or `easyspecs-cli upload republish` after analysis (after `auth login` and easyspecs.easyspecsProjectId)."
28464
+ });
28465
+ }
28466
+ if (a === "--synthesis-only") {
28467
+ console.error(
28468
+ "[deprecated] Ignoring deprecated flag --synthesis-only (it has no effect). Use `easyspecs-cli run synthesis` for a single synthesis pass, or the VS Code Factory \u201CSynthesis only\u201D control for factory-style convergence."
28469
+ );
28470
+ continue;
28471
+ }
28472
+ finish(ExitCode.usage, {
28473
+ ok: false,
28474
+ error: `unknown analysis flag: ${a} (allowed: --force-new-context-analysis)`
28475
+ });
28476
+ }
28518
28477
  const forceNewContextAnalysis = positionals.includes("--force-new-context-analysis");
28519
28478
  const cloudCached = readEasyspecsMergedSetting(
28520
28479
  repoConfig.easyspecs,
@@ -28523,12 +28482,11 @@ async function main() {
28523
28482
  const cloudCachedAt = readEasyspecsMergedSetting(repoConfig.easyspecs, "easyspecs.factory.cloudContextAnalyzedAt") ?? null;
28524
28483
  if (shouldSkipAnalysisForCachedCloudContext({
28525
28484
  cloudContextAnalyzed: cloudCached,
28526
- synthesisOnly,
28527
28485
  forceNewContextAnalysis
28528
28486
  })) {
28529
28487
  if (!flags.json) {
28530
28488
  console.error(
28531
- `Skipping analysis: easyspecs.factory.cloudContextAnalyzed is true (cached at ${cloudCachedAt ?? "null"}). Re-run with --force-new-context-analysis to run the factory, or use upload context / upload republish without the analysis command.`
28489
+ `Skipping analysis: easyspecs.factory.cloudContextAnalyzed is true (cached at ${cloudCachedAt ?? "null"}). Re-run with --force-new-context-analysis to run the factory, or use upload context / upload republish without running analysis.`
28532
28490
  );
28533
28491
  }
28534
28492
  finish(ExitCode.ok, {
@@ -28540,65 +28498,9 @@ async function main() {
28540
28498
  }
28541
28499
  requireMinimalGluecharmLayoutAt(repoRoot);
28542
28500
  requireOpenCode(merged, flags);
28543
- const wantsUpload = positionals.includes("--upload");
28544
- const uploadSession = wantsUpload ? readCliSession() : void 0;
28545
- if (wantsUpload && !uploadSession) {
28546
- finish(ExitCode.auth, {
28547
- ok: false,
28548
- error: "analysis --upload requires `easyspecs-cli auth login --email \u2026 --password \u2026` or `--ci` with easyspecs.auth.ciLogin in .easyspecs/config.json."
28549
- });
28550
- }
28551
- const skipBackendSync = !wantsUpload;
28552
28501
  const agentsDir = resolveOpenCodeAgentsDir(repoRoot, repoConfig);
28553
28502
  assertAgentsDirExists(agentsDir);
28554
28503
  const storage = createFileBackedWorkspaceState(repoRoot);
28555
- const runBackendSyncImpl = wantsUpload && uploadSession ? async () => {
28556
- const s = uploadSession;
28557
- const snap = readAnalysisWorkspaceSnapshot(storage);
28558
- const wsContextDir = path59.join(repoRoot, ".gluecharm", "context");
28559
- const wtContextDir = snap?.adHocWorktreePath && fs60.existsSync(path59.join(snap.adHocWorktreePath, ".gluecharm", "context")) ? path59.join(snap.adHocWorktreePath, ".gluecharm", "context") : "";
28560
- if (!wtContextDir) {
28561
- return { ok: false, message: "No worktree context to upload." };
28562
- }
28563
- const appId = getEasyspecsProjectIdFromRepoConfig(repoConfig)?.trim();
28564
- if (!appId) {
28565
- return {
28566
- ok: false,
28567
- message: "Missing easyspecs.easyspecsProjectId in .easyspecs/config.json."
28568
- };
28569
- }
28570
- let access = s.accessToken;
28571
- const refresh = s.refreshToken;
28572
- const requestJson = createAuthenticatedRequestJson({
28573
- getApiBaseUrl: () => s.apiBaseUrl,
28574
- getAccessToken: () => access,
28575
- getRefreshToken: () => refresh,
28576
- refreshSession: async () => {
28577
- try {
28578
- const r = await refreshTokenWithApi(s.apiBaseUrl, fetch, refresh);
28579
- access = r.accessToken;
28580
- writeCliSession({ ...s, accessToken: r.accessToken, refreshToken: r.refreshToken });
28581
- return true;
28582
- } catch {
28583
- return false;
28584
- }
28585
- }
28586
- });
28587
- await validateApplicationExists(requestJson, appId);
28588
- const paths = listContextFilesForUpload(wtContextDir);
28589
- const up = await runUploadPipeline({
28590
- requestJson,
28591
- applicationId: appId,
28592
- useBatch: true,
28593
- contextDir: wtContextDir,
28594
- filePaths: paths,
28595
- log: (line) => logErr(flags, line)
28596
- });
28597
- if (up.failed.length > 0) {
28598
- return { ok: false, message: `${String(up.failed.length)} file(s) failed to upload.` };
28599
- }
28600
- return { ok: true, message: `Uploaded ${String(up.succeeded.length)} file(s).` };
28601
- } : void 0;
28602
28504
  const ctrl = new AbortController();
28603
28505
  const deps = buildFactoryDepsHeadless({
28604
28506
  storageContext: storage,
@@ -28610,11 +28512,30 @@ async function main() {
28610
28512
  }),
28611
28513
  log: (line) => logErr(flags, line),
28612
28514
  signal: ctrl.signal,
28613
- synthesisOnly,
28614
- skipBackendSync,
28615
- runBackendSyncImpl
28515
+ skipBackendSync: true
28616
28516
  });
28617
28517
  const res = await runGenerateContextFactory(deps);
28518
+ if (res.ok && res.cancelled !== true && flags.promote !== false) {
28519
+ const snap = readAnalysisWorkspaceSnapshot(storage);
28520
+ const wt = snap?.adHocWorktreePath?.trim();
28521
+ if (wt) {
28522
+ const sourceCtx = path59.join(wt, ".gluecharm", "context");
28523
+ if (fs59.existsSync(sourceCtx)) {
28524
+ const n = promoteContextDirectoryToWorkspaceFs(sourceCtx, repoRoot);
28525
+ logErr(flags, `[pipeline:analysis] promoted ${String(n.filesCopied)} file(s) \u2192 ${repoRoot}`);
28526
+ } else {
28527
+ logErr(flags, `[pipeline:analysis] promote skipped: missing ${sourceCtx}`);
28528
+ }
28529
+ } else {
28530
+ logErr(flags, "[pipeline:analysis] promote skipped: no adHocWorktreePath in workspace snapshot");
28531
+ }
28532
+ } else if (res.ok && res.cancelled !== true && flags.promote === false) {
28533
+ logErr(flags, "[pipeline:analysis] promotion skipped (--no-promote)");
28534
+ }
28535
+ {
28536
+ const outcome = res.cancelled === true ? "cancelled" : res.ok ? "ok" : "failed";
28537
+ logErr(flags, `[pipeline:analysis] easyspecs-cli analysis finished (${outcome}) \u2014 ${(/* @__PURE__ */ new Date()).toISOString()}`);
28538
+ }
28618
28539
  const analysisEnvelope = {
28619
28540
  ok: res.ok,
28620
28541
  cancelled: res.cancelled,
@@ -28631,87 +28552,30 @@ async function main() {
28631
28552
  if (pos[0] === "update" && pos[1] === "context") {
28632
28553
  for (const a of pos.slice(2)) {
28633
28554
  if (a === "--upload") {
28634
- continue;
28555
+ finish(ExitCode.usage, {
28556
+ ok: false,
28557
+ error: "Removed flag: update context --upload. Run `easyspecs-cli upload context` or `upload republish` after update context completes."
28558
+ });
28635
28559
  }
28636
28560
  finish(ExitCode.usage, { ok: false, error: `unknown update context flag: ${a}` });
28637
28561
  }
28638
28562
  requireMinimalGluecharmLayoutAt(repoRoot);
28639
28563
  requireOpenCode(merged, flags);
28640
- const wantsUpload = positionals.includes("--upload");
28641
- const uploadSession = wantsUpload ? readCliSession() : void 0;
28642
- if (wantsUpload && !uploadSession) {
28643
- finish(ExitCode.auth, {
28644
- ok: false,
28645
- error: "update context --upload requires `easyspecs-cli auth login --email \u2026 --password \u2026` or `--ci` with easyspecs.auth.ciLogin in .easyspecs/config.json."
28646
- });
28647
- }
28648
28564
  const agentsDir = resolveOpenCodeAgentsDir(repoRoot, repoConfig);
28649
28565
  assertAgentsDirExists(agentsDir);
28650
28566
  const storage = createFileBackedWorkspaceState(repoRoot);
28651
28567
  const ctrl = new AbortController();
28652
- const uploadBatch = readEasyspecsMergedSetting(repoConfig.easyspecs, "easyspecs.pipelines.upload.useBatch") !== false;
28653
- const runUploadFn = wantsUpload && uploadSession ? async (args) => {
28654
- const s = uploadSession;
28655
- const appId = getEasyspecsProjectIdFromRepoConfig(repoConfig)?.trim();
28656
- if (!appId) {
28657
- return { ok: false, message: "Missing easyspecs.easyspecsProjectId in .easyspecs/config.json." };
28658
- }
28659
- let access = s.accessToken;
28660
- const refresh = s.refreshToken;
28661
- const requestJson = createAuthenticatedRequestJson({
28662
- getApiBaseUrl: () => s.apiBaseUrl,
28663
- getAccessToken: () => access,
28664
- getRefreshToken: () => refresh,
28665
- refreshSession: async () => {
28666
- try {
28667
- const r = await refreshTokenWithApi(s.apiBaseUrl, fetch, refresh);
28668
- access = r.accessToken;
28669
- writeCliSession({ ...s, accessToken: r.accessToken, refreshToken: r.refreshToken });
28670
- return true;
28671
- } catch {
28672
- return false;
28673
- }
28674
- }
28675
- });
28676
- try {
28677
- await validateApplicationExists(requestJson, appId);
28678
- } catch (e) {
28679
- return { ok: false, message: toFetchErrorMessage(e).message };
28680
- }
28681
- const up = await runUploadPipeline({
28682
- requestJson,
28683
- applicationId: appId,
28684
- useBatch: uploadBatch,
28685
- contextDir: args.wtContextDir,
28686
- filePaths: args.filePaths,
28687
- log: (line) => logErr(flags, line)
28688
- });
28689
- if (up.failed.length > 0) {
28690
- return {
28691
- ok: false,
28692
- message: `${String(up.failed.length)} file(s) failed to upload.`,
28693
- uploadedCount: up.succeeded.length
28694
- };
28695
- }
28696
- return {
28697
- ok: true,
28698
- uploadedCount: up.succeeded.length,
28699
- message: `Uploaded ${String(up.succeeded.length)} file(s).`
28700
- };
28701
- } : void 0;
28702
28568
  const ures = await runUpdateContextFactory({
28703
28569
  repoRootAbs: repoRoot,
28704
28570
  repoConfig,
28705
28571
  merged,
28706
28572
  agentsDirFs: agentsDir,
28707
28573
  storage,
28708
- wantsUpload,
28709
28574
  signal: ctrl.signal,
28710
- log: (line) => logErr(flags, line),
28711
- runUploadFn
28575
+ log: (line) => logErr(flags, line)
28712
28576
  });
28713
28577
  const { exitOk, ...payload } = ures;
28714
- const code = exitOk ? ExitCode.ok : ures.code === "MISSING_BASELINE" ? ExitCode.usage : ures.code === "UPLOAD_FAILED" ? ExitCode.upload : ExitCode.validation;
28578
+ const code = exitOk ? ExitCode.ok : ures.code === "MISSING_BASELINE" ? ExitCode.usage : ExitCode.validation;
28715
28579
  finish(code, payload);
28716
28580
  }
28717
28581
  if (pos[0] === "download" && pos[1] === "context") {
@@ -28826,12 +28690,12 @@ async function main() {
28826
28690
  if (pos[1] === "republish") {
28827
28691
  const fromCfg = repoConfig.easyspecs?.upload?.contextDirectory?.trim();
28828
28692
  const resolvedOverride = fromCfg && fromCfg.length > 0 ? path59.isAbsolute(fromCfg) ? path59.normalize(fromCfg) : path59.resolve(repoRoot, fromCfg) : "";
28829
- if (resolvedOverride && fs60.existsSync(path59.join(resolvedOverride, ".."))) {
28693
+ if (resolvedOverride && fs59.existsSync(path59.join(resolvedOverride, ".."))) {
28830
28694
  ctxDir = resolvedOverride;
28831
28695
  } else {
28832
28696
  const storage = createFileBackedWorkspaceState(repoRoot);
28833
28697
  const snap = readAnalysisWorkspaceSnapshot(storage);
28834
- const wt = snap?.adHocWorktreePath && fs60.existsSync(path59.join(snap.adHocWorktreePath, ".gluecharm", "context")) ? path59.join(snap.adHocWorktreePath, ".gluecharm", "context") : "";
28698
+ const wt = snap?.adHocWorktreePath && fs59.existsSync(path59.join(snap.adHocWorktreePath, ".gluecharm", "context")) ? path59.join(snap.adHocWorktreePath, ".gluecharm", "context") : "";
28835
28699
  if (!wt) {
28836
28700
  finish(ExitCode.misconfiguration, {
28837
28701
  ok: false,
@@ -28949,16 +28813,16 @@ async function main() {
28949
28813
  }
28950
28814
  if (pos[0] === "ace" && pos[1] === "clear") {
28951
28815
  const learnings = path59.join(repoRoot, ".gluecharm", "context", "learnings");
28952
- if (!fs60.existsSync(learnings)) {
28816
+ if (!fs59.existsSync(learnings)) {
28953
28817
  finish(ExitCode.ok, { ok: true, message: "nothing to clear" });
28954
28818
  }
28955
- fs60.rmSync(learnings, { recursive: true, force: true });
28819
+ fs59.rmSync(learnings, { recursive: true, force: true });
28956
28820
  finish(ExitCode.ok, { ok: true, message: `cleared ${learnings}` });
28957
28821
  }
28958
28822
  if (pos[0] === "ace" && pos[1] === "learn") {
28959
28823
  requireOpenCode(merged, flags);
28960
28824
  const { worktree } = parseWorktreeFlag(pos.slice(2));
28961
- const root = worktree && fs60.existsSync(path59.join(worktree, ".opencode", "schemas", "ace")) ? worktree : repoRoot;
28825
+ const root = worktree && fs59.existsSync(path59.join(worktree, ".opencode", "schemas", "ace")) ? worktree : repoRoot;
28962
28826
  const contextDir2 = path59.join(root, ".gluecharm", "context");
28963
28827
  const traces = listAceTraceFiles(contextDir2);
28964
28828
  if (traces.length === 0) {
@@ -28983,7 +28847,7 @@ async function main() {
28983
28847
  if (pos[0] === "ace" && pos[1] === "auto-learn") {
28984
28848
  requireOpenCode(merged, flags);
28985
28849
  const { worktree } = parseWorktreeFlag(pos.slice(2));
28986
- const root = worktree && fs60.existsSync(path59.join(worktree, ".git")) ? worktree : repoRoot;
28850
+ const root = worktree && fs59.existsSync(path59.join(worktree, ".git")) ? worktree : repoRoot;
28987
28851
  const contextDir2 = path59.join(root, ".gluecharm", "context");
28988
28852
  const pending = listPendingAceTraceFiles(contextDir2, root);
28989
28853
  if (pending.length === 0) {