@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/README.md +8 -8
- package/commands.md +116 -103
- package/dist/main.cjs +512 -648
- package/dist/main.cjs.map +3 -3
- package/package.json +1 -1
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
|
-
//
|
|
29
|
+
// node_modules/commander/lib/error.js
|
|
30
30
|
var require_error = __commonJS({
|
|
31
|
-
"
|
|
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
|
-
//
|
|
64
|
+
// node_modules/commander/lib/argument.js
|
|
65
65
|
var require_argument = __commonJS({
|
|
66
|
-
"
|
|
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
|
-
//
|
|
191
|
+
// node_modules/commander/lib/help.js
|
|
192
192
|
var require_help = __commonJS({
|
|
193
|
-
"
|
|
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
|
-
//
|
|
605
|
+
// node_modules/commander/lib/option.js
|
|
606
606
|
var require_option = __commonJS({
|
|
607
|
-
"
|
|
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
|
-
//
|
|
877
|
+
// node_modules/commander/lib/suggestSimilar.js
|
|
878
878
|
var require_suggestSimilar = __commonJS({
|
|
879
|
-
"
|
|
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
|
-
//
|
|
957
|
+
// node_modules/commander/lib/command.js
|
|
958
958
|
var require_command = __commonJS({
|
|
959
|
-
"
|
|
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
|
|
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 (
|
|
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) =>
|
|
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 =
|
|
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
|
-
//
|
|
3000
|
+
// node_modules/commander/index.js
|
|
3001
3001
|
var require_commander = __commonJS({
|
|
3002
|
-
"
|
|
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
|
-
//
|
|
3022
|
+
// scripts/vscode-stub.cjs
|
|
3023
3023
|
var require_vscode_stub = __commonJS({
|
|
3024
|
-
"
|
|
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
|
-
//
|
|
3045
|
+
// node_modules/ajv/dist/compile/codegen/code.js
|
|
3046
3046
|
var require_code = __commonJS({
|
|
3047
|
-
"
|
|
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
|
-
//
|
|
3199
|
+
// node_modules/ajv/dist/compile/codegen/scope.js
|
|
3200
3200
|
var require_scope = __commonJS({
|
|
3201
|
-
"
|
|
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
|
-
//
|
|
3344
|
+
// node_modules/ajv/dist/compile/codegen/index.js
|
|
3345
3345
|
var require_codegen = __commonJS({
|
|
3346
|
-
"
|
|
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
|
-
//
|
|
4064
|
+
// node_modules/ajv/dist/compile/util.js
|
|
4065
4065
|
var require_util = __commonJS({
|
|
4066
|
-
"
|
|
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
|
-
//
|
|
4231
|
+
// node_modules/ajv/dist/compile/names.js
|
|
4232
4232
|
var require_names = __commonJS({
|
|
4233
|
-
"
|
|
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
|
-
//
|
|
4270
|
+
// node_modules/ajv/dist/compile/errors.js
|
|
4271
4271
|
var require_errors = __commonJS({
|
|
4272
|
-
"
|
|
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
|
-
//
|
|
4392
|
+
// node_modules/ajv/dist/compile/validate/boolSchema.js
|
|
4393
4393
|
var require_boolSchema = __commonJS({
|
|
4394
|
-
"
|
|
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
|
-
//
|
|
4443
|
+
// node_modules/ajv/dist/compile/rules.js
|
|
4444
4444
|
var require_rules = __commonJS({
|
|
4445
|
-
"
|
|
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
|
-
//
|
|
4474
|
+
// node_modules/ajv/dist/compile/validate/applicability.js
|
|
4475
4475
|
var require_applicability = __commonJS({
|
|
4476
|
-
"
|
|
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
|
-
//
|
|
4497
|
+
// node_modules/ajv/dist/compile/validate/dataType.js
|
|
4498
4498
|
var require_dataType = __commonJS({
|
|
4499
|
-
"
|
|
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
|
-
//
|
|
4681
|
+
// node_modules/ajv/dist/compile/validate/defaults.js
|
|
4682
4682
|
var require_defaults = __commonJS({
|
|
4683
|
-
"
|
|
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
|
-
//
|
|
4718
|
+
// node_modules/ajv/dist/vocabularies/code.js
|
|
4719
4719
|
var require_code2 = __commonJS({
|
|
4720
|
-
"
|
|
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
|
-
//
|
|
4851
|
+
// node_modules/ajv/dist/compile/validate/keyword.js
|
|
4852
4852
|
var require_keyword = __commonJS({
|
|
4853
|
-
"
|
|
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
|
-
//
|
|
4969
|
+
// node_modules/ajv/dist/compile/validate/subschema.js
|
|
4970
4970
|
var require_subschema = __commonJS({
|
|
4971
|
-
"
|
|
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
|
-
//
|
|
5052
|
+
// node_modules/fast-deep-equal/index.js
|
|
5053
5053
|
var require_fast_deep_equal = __commonJS({
|
|
5054
|
-
"
|
|
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
|
-
//
|
|
5087
|
+
// node_modules/json-schema-traverse/index.js
|
|
5088
5088
|
var require_json_schema_traverse = __commonJS({
|
|
5089
|
-
"
|
|
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
|
-
//
|
|
5175
|
+
// node_modules/ajv/dist/compile/resolve.js
|
|
5176
5176
|
var require_resolve = __commonJS({
|
|
5177
|
-
"
|
|
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
|
-
//
|
|
5331
|
+
// node_modules/ajv/dist/compile/validate/index.js
|
|
5332
5332
|
var require_validate = __commonJS({
|
|
5333
|
-
"
|
|
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
|
-
//
|
|
5839
|
+
// node_modules/ajv/dist/runtime/validation_error.js
|
|
5840
5840
|
var require_validation_error = __commonJS({
|
|
5841
|
-
"
|
|
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
|
-
//
|
|
5855
|
+
// node_modules/ajv/dist/compile/ref_error.js
|
|
5856
5856
|
var require_ref_error = __commonJS({
|
|
5857
|
-
"
|
|
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
|
-
//
|
|
5872
|
+
// node_modules/ajv/dist/compile/index.js
|
|
5873
5873
|
var require_compile = __commonJS({
|
|
5874
|
-
"
|
|
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
|
-
//
|
|
6096
|
+
// node_modules/ajv/dist/refs/data.json
|
|
6097
6097
|
var require_data = __commonJS({
|
|
6098
|
-
"
|
|
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
|
-
//
|
|
6115
|
+
// node_modules/fast-uri/lib/utils.js
|
|
6116
6116
|
var require_utils = __commonJS({
|
|
6117
|
-
"
|
|
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
|
-
//
|
|
6372
|
+
// node_modules/fast-uri/lib/schemes.js
|
|
6373
6373
|
var require_schemes = __commonJS({
|
|
6374
|
-
"
|
|
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
|
-
//
|
|
6582
|
+
// node_modules/fast-uri/index.js
|
|
6583
6583
|
var require_fast_uri = __commonJS({
|
|
6584
|
-
"
|
|
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
|
-
//
|
|
6837
|
+
// node_modules/ajv/dist/runtime/uri.js
|
|
6838
6838
|
var require_uri = __commonJS({
|
|
6839
|
-
"
|
|
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
|
-
//
|
|
6848
|
+
// node_modules/ajv/dist/core.js
|
|
6849
6849
|
var require_core = __commonJS({
|
|
6850
|
-
"
|
|
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
|
-
//
|
|
7459
|
+
// node_modules/ajv/dist/vocabularies/core/id.js
|
|
7460
7460
|
var require_id = __commonJS({
|
|
7461
|
-
"
|
|
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
|
-
//
|
|
7474
|
+
// node_modules/ajv/dist/vocabularies/core/ref.js
|
|
7475
7475
|
var require_ref = __commonJS({
|
|
7476
|
-
"
|
|
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
|
-
//
|
|
7596
|
+
// node_modules/ajv/dist/vocabularies/core/index.js
|
|
7597
7597
|
var require_core2 = __commonJS({
|
|
7598
|
-
"
|
|
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
|
-
//
|
|
7617
|
+
// node_modules/ajv/dist/vocabularies/validation/limitNumber.js
|
|
7618
7618
|
var require_limitNumber = __commonJS({
|
|
7619
|
-
"
|
|
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
|
-
//
|
|
7649
|
+
// node_modules/ajv/dist/vocabularies/validation/multipleOf.js
|
|
7650
7650
|
var require_multipleOf = __commonJS({
|
|
7651
|
-
"
|
|
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
|
-
//
|
|
7677
|
+
// node_modules/ajv/dist/runtime/ucs2length.js
|
|
7678
7678
|
var require_ucs2length = __commonJS({
|
|
7679
|
-
"
|
|
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
|
-
//
|
|
7703
|
+
// node_modules/ajv/dist/vocabularies/validation/limitLength.js
|
|
7704
7704
|
var require_limitLength = __commonJS({
|
|
7705
|
-
"
|
|
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
|
-
//
|
|
7735
|
+
// node_modules/ajv/dist/vocabularies/validation/pattern.js
|
|
7736
7736
|
var require_pattern = __commonJS({
|
|
7737
|
-
"
|
|
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
|
-
//
|
|
7772
|
+
// node_modules/ajv/dist/vocabularies/validation/limitProperties.js
|
|
7773
7773
|
var require_limitProperties = __commonJS({
|
|
7774
|
-
"
|
|
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
|
-
//
|
|
7801
|
+
// node_modules/ajv/dist/vocabularies/validation/required.js
|
|
7802
7802
|
var require_required = __commonJS({
|
|
7803
|
-
"
|
|
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
|
-
//
|
|
7883
|
+
// node_modules/ajv/dist/vocabularies/validation/limitItems.js
|
|
7884
7884
|
var require_limitItems = __commonJS({
|
|
7885
|
-
"
|
|
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
|
-
//
|
|
7912
|
+
// node_modules/ajv/dist/runtime/equal.js
|
|
7913
7913
|
var require_equal = __commonJS({
|
|
7914
|
-
"
|
|
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
|
-
//
|
|
7923
|
+
// node_modules/ajv/dist/vocabularies/validation/uniqueItems.js
|
|
7924
7924
|
var require_uniqueItems = __commonJS({
|
|
7925
|
-
"
|
|
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
|
-
//
|
|
7990
|
+
// node_modules/ajv/dist/vocabularies/validation/const.js
|
|
7991
7991
|
var require_const = __commonJS({
|
|
7992
|
-
"
|
|
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
|
-
//
|
|
8019
|
+
// node_modules/ajv/dist/vocabularies/validation/enum.js
|
|
8020
8020
|
var require_enum = __commonJS({
|
|
8021
|
-
"
|
|
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
|
-
//
|
|
8068
|
+
// node_modules/ajv/dist/vocabularies/validation/index.js
|
|
8069
8069
|
var require_validation = __commonJS({
|
|
8070
|
-
"
|
|
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
|
-
//
|
|
8106
|
+
// node_modules/ajv/dist/vocabularies/applicator/additionalItems.js
|
|
8107
8107
|
var require_additionalItems = __commonJS({
|
|
8108
|
-
"
|
|
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
|
-
//
|
|
8159
|
+
// node_modules/ajv/dist/vocabularies/applicator/items.js
|
|
8160
8160
|
var require_items = __commonJS({
|
|
8161
|
-
"
|
|
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
|
-
//
|
|
8216
|
+
// node_modules/ajv/dist/vocabularies/applicator/prefixItems.js
|
|
8217
8217
|
var require_prefixItems = __commonJS({
|
|
8218
|
-
"
|
|
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
|
-
//
|
|
8233
|
+
// node_modules/ajv/dist/vocabularies/applicator/items2020.js
|
|
8234
8234
|
var require_items2020 = __commonJS({
|
|
8235
|
-
"
|
|
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
|
-
//
|
|
8268
|
+
// node_modules/ajv/dist/vocabularies/applicator/contains.js
|
|
8269
8269
|
var require_contains = __commonJS({
|
|
8270
|
-
"
|
|
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
|
-
//
|
|
8362
|
+
// node_modules/ajv/dist/vocabularies/applicator/dependencies.js
|
|
8363
8363
|
var require_dependencies = __commonJS({
|
|
8364
|
-
"
|
|
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
|
-
//
|
|
8456
|
+
// node_modules/ajv/dist/vocabularies/applicator/propertyNames.js
|
|
8457
8457
|
var require_propertyNames = __commonJS({
|
|
8458
|
-
"
|
|
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
|
-
//
|
|
8499
|
+
// node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js
|
|
8500
8500
|
var require_additionalProperties = __commonJS({
|
|
8501
|
-
"
|
|
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
|
-
//
|
|
8605
|
+
// node_modules/ajv/dist/vocabularies/applicator/properties.js
|
|
8606
8606
|
var require_properties = __commonJS({
|
|
8607
|
-
"
|
|
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
|
-
//
|
|
8663
|
+
// node_modules/ajv/dist/vocabularies/applicator/patternProperties.js
|
|
8664
8664
|
var require_patternProperties = __commonJS({
|
|
8665
|
-
"
|
|
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
|
-
//
|
|
8737
|
+
// node_modules/ajv/dist/vocabularies/applicator/not.js
|
|
8738
8738
|
var require_not = __commonJS({
|
|
8739
|
-
"
|
|
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
|
-
//
|
|
8768
|
+
// node_modules/ajv/dist/vocabularies/applicator/anyOf.js
|
|
8769
8769
|
var require_anyOf = __commonJS({
|
|
8770
|
-
"
|
|
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
|
-
//
|
|
8785
|
+
// node_modules/ajv/dist/vocabularies/applicator/oneOf.js
|
|
8786
8786
|
var require_oneOf = __commonJS({
|
|
8787
|
-
"
|
|
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
|
-
//
|
|
8843
|
+
// node_modules/ajv/dist/vocabularies/applicator/allOf.js
|
|
8844
8844
|
var require_allOf = __commonJS({
|
|
8845
|
-
"
|
|
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
|
-
//
|
|
8870
|
+
// node_modules/ajv/dist/vocabularies/applicator/if.js
|
|
8871
8871
|
var require_if = __commonJS({
|
|
8872
|
-
"
|
|
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
|
-
//
|
|
8939
|
+
// node_modules/ajv/dist/vocabularies/applicator/thenElse.js
|
|
8940
8940
|
var require_thenElse = __commonJS({
|
|
8941
|
-
"
|
|
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
|
-
//
|
|
8957
|
+
// node_modules/ajv/dist/vocabularies/applicator/index.js
|
|
8958
8958
|
var require_applicator = __commonJS({
|
|
8959
|
-
"
|
|
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
|
-
//
|
|
9005
|
+
// node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.js
|
|
9006
9006
|
var require_dynamicAnchor = __commonJS({
|
|
9007
|
-
"
|
|
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
|
-
//
|
|
9040
|
+
// node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.js
|
|
9041
9041
|
var require_dynamicRef = __commonJS({
|
|
9042
|
-
"
|
|
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
|
-
//
|
|
9086
|
+
// node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.js
|
|
9087
9087
|
var require_recursiveAnchor = __commonJS({
|
|
9088
|
-
"
|
|
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
|
-
//
|
|
9107
|
+
// node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.js
|
|
9108
9108
|
var require_recursiveRef = __commonJS({
|
|
9109
|
-
"
|
|
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
|
-
//
|
|
9122
|
+
// node_modules/ajv/dist/vocabularies/dynamic/index.js
|
|
9123
9123
|
var require_dynamic = __commonJS({
|
|
9124
|
-
"
|
|
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
|
-
//
|
|
9136
|
+
// node_modules/ajv/dist/vocabularies/validation/dependentRequired.js
|
|
9137
9137
|
var require_dependentRequired = __commonJS({
|
|
9138
|
-
"
|
|
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
|
-
//
|
|
9153
|
+
// node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.js
|
|
9154
9154
|
var require_dependentSchemas = __commonJS({
|
|
9155
|
-
"
|
|
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
|
-
//
|
|
9169
|
+
// node_modules/ajv/dist/vocabularies/validation/limitContains.js
|
|
9170
9170
|
var require_limitContains = __commonJS({
|
|
9171
|
-
"
|
|
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
|
-
//
|
|
9189
|
+
// node_modules/ajv/dist/vocabularies/next.js
|
|
9190
9190
|
var require_next = __commonJS({
|
|
9191
|
-
"
|
|
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
|
-
//
|
|
9202
|
+
// node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.js
|
|
9203
9203
|
var require_unevaluatedProperties = __commonJS({
|
|
9204
|
-
"
|
|
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
|
-
//
|
|
9268
|
+
// node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.js
|
|
9269
9269
|
var require_unevaluatedItems = __commonJS({
|
|
9270
|
-
"
|
|
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
|
-
//
|
|
9312
|
+
// node_modules/ajv/dist/vocabularies/unevaluated/index.js
|
|
9313
9313
|
var require_unevaluated = __commonJS({
|
|
9314
|
-
"
|
|
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
|
-
//
|
|
9324
|
+
// node_modules/ajv/dist/vocabularies/format/format.js
|
|
9325
9325
|
var require_format = __commonJS({
|
|
9326
|
-
"
|
|
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
|
-
//
|
|
9414
|
+
// node_modules/ajv/dist/vocabularies/format/index.js
|
|
9415
9415
|
var require_format2 = __commonJS({
|
|
9416
|
-
"
|
|
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
|
-
//
|
|
9425
|
+
// node_modules/ajv/dist/vocabularies/metadata.js
|
|
9426
9426
|
var require_metadata = __commonJS({
|
|
9427
|
-
"
|
|
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
|
-
//
|
|
9448
|
+
// node_modules/ajv/dist/vocabularies/draft2020.js
|
|
9449
9449
|
var require_draft2020 = __commonJS({
|
|
9450
|
-
"
|
|
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
|
-
//
|
|
9476
|
+
// node_modules/ajv/dist/vocabularies/discriminator/types.js
|
|
9477
9477
|
var require_types = __commonJS({
|
|
9478
|
-
"
|
|
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
|
-
//
|
|
9490
|
+
// node_modules/ajv/dist/vocabularies/discriminator/index.js
|
|
9491
9491
|
var require_discriminator = __commonJS({
|
|
9492
|
-
"
|
|
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
|
-
//
|
|
9595
|
+
// node_modules/ajv/dist/refs/json-schema-2020-12/schema.json
|
|
9596
9596
|
var require_schema = __commonJS({
|
|
9597
|
-
"
|
|
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
|
-
//
|
|
9655
|
+
// node_modules/ajv/dist/refs/json-schema-2020-12/meta/applicator.json
|
|
9656
9656
|
var require_applicator2 = __commonJS({
|
|
9657
|
-
"
|
|
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
|
-
//
|
|
9708
|
+
// node_modules/ajv/dist/refs/json-schema-2020-12/meta/unevaluated.json
|
|
9709
9709
|
var require_unevaluated2 = __commonJS({
|
|
9710
|
-
"
|
|
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
|
-
//
|
|
9728
|
+
// node_modules/ajv/dist/refs/json-schema-2020-12/meta/content.json
|
|
9729
9729
|
var require_content = __commonJS({
|
|
9730
|
-
"
|
|
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
|
-
//
|
|
9749
|
+
// node_modules/ajv/dist/refs/json-schema-2020-12/meta/core.json
|
|
9750
9750
|
var require_core3 = __commonJS({
|
|
9751
|
-
"
|
|
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
|
-
//
|
|
9805
|
+
// node_modules/ajv/dist/refs/json-schema-2020-12/meta/format-annotation.json
|
|
9806
9806
|
var require_format_annotation = __commonJS({
|
|
9807
|
-
"
|
|
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
|
-
//
|
|
9824
|
+
// node_modules/ajv/dist/refs/json-schema-2020-12/meta/meta-data.json
|
|
9825
9825
|
var require_meta_data = __commonJS({
|
|
9826
|
-
"
|
|
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
|
-
//
|
|
9865
|
+
// node_modules/ajv/dist/refs/json-schema-2020-12/meta/validation.json
|
|
9866
9866
|
var require_validation2 = __commonJS({
|
|
9867
|
-
"
|
|
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
|
-
//
|
|
9960
|
+
// node_modules/ajv/dist/refs/json-schema-2020-12/index.js
|
|
9961
9961
|
var require_json_schema_2020_12 = __commonJS({
|
|
9962
|
-
"
|
|
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
|
-
//
|
|
9995
|
+
// node_modules/ajv/dist/2020.js
|
|
9996
9996
|
var require__ = __commonJS({
|
|
9997
|
-
"
|
|
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
|
-
//
|
|
10072
|
+
// node_modules/ajv-formats/dist/formats.js
|
|
10073
10073
|
var require_formats = __commonJS({
|
|
10074
|
-
"
|
|
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
|
-
//
|
|
10275
|
+
// node_modules/ajv/dist/vocabularies/draft7.js
|
|
10276
10276
|
var require_draft7 = __commonJS({
|
|
10277
|
-
"
|
|
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
|
-
//
|
|
10297
|
+
// node_modules/ajv/dist/refs/json-schema-draft-07.json
|
|
10298
10298
|
var require_json_schema_draft_07 = __commonJS({
|
|
10299
|
-
"
|
|
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
|
-
//
|
|
10454
|
+
// node_modules/ajv/dist/ajv.js
|
|
10455
10455
|
var require_ajv = __commonJS({
|
|
10456
|
-
"
|
|
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
|
-
//
|
|
10524
|
+
// node_modules/ajv-formats/dist/limit.js
|
|
10525
10525
|
var require_limit = __commonJS({
|
|
10526
|
-
"
|
|
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
|
-
//
|
|
10596
|
+
// node_modules/ajv-formats/dist/index.js
|
|
10597
10597
|
var require_dist = __commonJS({
|
|
10598
|
-
"
|
|
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,
|
|
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,
|
|
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
|
-
//
|
|
10639
|
-
var
|
|
10638
|
+
// src/cli/main.ts
|
|
10639
|
+
var fs59 = __toESM(require("node:fs"));
|
|
10640
10640
|
var path59 = __toESM(require("node:path"));
|
|
10641
10641
|
|
|
10642
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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", "
|
|
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("--
|
|
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
|
|
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
|
-
//
|
|
10750
|
+
// src/cli/cliContext.ts
|
|
10751
10751
|
var fs2 = __toESM(require("node:fs"));
|
|
10752
10752
|
var path2 = __toESM(require("path"));
|
|
10753
10753
|
|
|
10754
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
11244
|
+
// src/config/easyspecsConfigFile.ts
|
|
11245
11245
|
var fs6 = __toESM(require("node:fs"));
|
|
11246
11246
|
var path7 = __toESM(require("node:path"));
|
|
11247
11247
|
|
|
11248
|
-
//
|
|
11248
|
+
// src/easySpecsWorkspaceSettingsCore.ts
|
|
11249
11249
|
var fs4 = __toESM(require("node:fs"));
|
|
11250
11250
|
var path5 = __toESM(require("node:path"));
|
|
11251
11251
|
|
|
11252
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
11895
|
+
// src/analysis/contextSrsDiscoveryIdMap.ts
|
|
11896
11896
|
var fs10 = __toESM(require("node:fs"));
|
|
11897
11897
|
var path11 = __toESM(require("node:path"));
|
|
11898
11898
|
|
|
11899
|
-
//
|
|
11899
|
+
// src/analysis/indexApplicationContextMergeUploadIds.ts
|
|
11900
11900
|
var fs9 = __toESM(require("node:fs"));
|
|
11901
11901
|
var path10 = __toESM(require("node:path"));
|
|
11902
11902
|
|
|
11903
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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.
|
|
12814
|
+
if (args.forceNewContextAnalysis) {
|
|
12815
12815
|
return false;
|
|
12816
12816
|
}
|
|
12817
12817
|
return args.cloudContextAnalyzed === true;
|
|
12818
12818
|
}
|
|
12819
12819
|
|
|
12820
|
-
//
|
|
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
|
-
//
|
|
12841
|
+
// src/cli/cliFileWorkspaceState.ts
|
|
12842
12842
|
var fs12 = __toESM(require("node:fs"));
|
|
12843
12843
|
var path13 = __toESM(require("node:path"));
|
|
12844
12844
|
|
|
12845
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
12950
|
+
// src/pipelines/synthesis/synthesisPipeline.ts
|
|
12951
12951
|
var fs34 = __toESM(require("fs"));
|
|
12952
12952
|
var path32 = __toESM(require("path"));
|
|
12953
12953
|
|
|
12954
|
-
//
|
|
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
|
-
//
|
|
13222
|
+
// src/analysis/materializeOpenCodeAgents.ts
|
|
13223
13223
|
var fs16 = __toESM(require("fs"));
|
|
13224
13224
|
var path17 = __toESM(require("path"));
|
|
13225
13225
|
|
|
13226
|
-
//
|
|
13226
|
+
// src/analysis/applyAceMaterializedAgents.ts
|
|
13227
13227
|
var fs15 = __toESM(require("fs"));
|
|
13228
13228
|
var path16 = __toESM(require("path"));
|
|
13229
13229
|
|
|
13230
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
13693
|
+
// src/workstations/aiWorkstation.ts
|
|
13694
13694
|
var fs28 = __toESM(require("fs"));
|
|
13695
13695
|
var path26 = __toESM(require("path"));
|
|
13696
13696
|
|
|
13697
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
13845
|
+
// src/analysis/aceTracePhase.ts
|
|
13846
13846
|
var fs21 = __toESM(require("fs"));
|
|
13847
13847
|
var path21 = __toESM(require("path"));
|
|
13848
13848
|
|
|
13849
|
-
//
|
|
13849
|
+
// src/opencodeCli.ts
|
|
13850
13850
|
var import_child_process = require("child_process");
|
|
13851
13851
|
|
|
13852
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
14440
|
+
// src/analysis/aceOfflineLearn.ts
|
|
14441
14441
|
var fs20 = __toESM(require("fs"));
|
|
14442
14442
|
var path20 = __toESM(require("path"));
|
|
14443
14443
|
|
|
14444
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
15354
|
+
// src/analysis/coordinationListStableWrite.ts
|
|
15355
15355
|
var fs24 = __toESM(require("fs"));
|
|
15356
15356
|
var path23 = __toESM(require("path"));
|
|
15357
15357
|
|
|
15358
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
18747
|
+
// src/contextIndexAssembler.ts
|
|
18748
18748
|
var fs30 = __toESM(require("fs"));
|
|
18749
18749
|
var path28 = __toESM(require("path"));
|
|
18750
18750
|
|
|
18751
|
-
//
|
|
18751
|
+
// src/srsModel.ts
|
|
18752
18752
|
var APPLICATION_CONTEXT_KIND = "easyspecs.application-context";
|
|
18753
18753
|
|
|
18754
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
19708
|
+
// src/analysis/aceAnalysisConfig.ts
|
|
19709
19709
|
var path30 = __toESM(require("node:path"));
|
|
19710
19710
|
var vscode2 = __toESM(require_vscode_stub());
|
|
19711
19711
|
|
|
19712
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
|
|
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
|
-
//
|
|
21483
|
+
// src/factory/generateContextFactoryHeadlessHost.ts
|
|
21469
21484
|
var fs44 = __toESM(require("node:fs"));
|
|
21470
21485
|
var path43 = __toESM(require("node:path"));
|
|
21471
21486
|
|
|
21472
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
21584
|
+
// src/pipelines/remediation/missingWorkstations.ts
|
|
21570
21585
|
var fs37 = __toESM(require("fs"));
|
|
21571
21586
|
var path35 = __toESM(require("path"));
|
|
21572
21587
|
|
|
21573
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
24740
|
-
var fs49 = __toESM(require("node:fs"));
|
|
24755
|
+
// src/factory/updateContext/runUpdateContextFactory.ts
|
|
24741
24756
|
var path48 = __toESM(require("node:path"));
|
|
24742
24757
|
|
|
24743
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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:
|
|
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
|
-
|
|
25302
|
-
|
|
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
|
-
//
|
|
25378
|
-
var
|
|
25316
|
+
// src/factory/contextDrift/runContextDriftFactory.ts
|
|
25317
|
+
var fs54 = __toESM(require("node:fs"));
|
|
25379
25318
|
var path53 = __toESM(require("node:path"));
|
|
25380
25319
|
|
|
25381
|
-
//
|
|
25382
|
-
var
|
|
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 =
|
|
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 (!
|
|
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 (
|
|
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 =
|
|
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 =
|
|
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
|
-
//
|
|
25488
|
-
var
|
|
25426
|
+
// src/factory/contextDrift/contextDriftAgent.ts
|
|
25427
|
+
var fs50 = __toESM(require("node:fs"));
|
|
25489
25428
|
var path50 = __toESM(require("node:path"));
|
|
25490
25429
|
|
|
25491
|
-
//
|
|
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
|
-
//
|
|
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
|
-
|
|
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
|
-
|
|
25577
|
+
fs50.writeFileSync(manifestPath, `${JSON.stringify(args.manifestObject, null, 2)}
|
|
25639
25578
|
`, "utf8");
|
|
25640
|
-
if (
|
|
25641
|
-
|
|
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
|
-
|
|
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 =
|
|
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
|
-
//
|
|
25640
|
+
// src/factory/contextDrift/contextDriftPaths.ts
|
|
25702
25641
|
var crypto2 = __toESM(require("node:crypto"));
|
|
25703
|
-
var
|
|
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 =
|
|
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 =
|
|
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 (!
|
|
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 (
|
|
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
|
-
//
|
|
25816
|
-
var
|
|
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 =
|
|
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
|
-
|
|
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
|
-
//
|
|
25854
|
-
var
|
|
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
|
-
|
|
25860
|
-
|
|
25798
|
+
fs53.mkdirSync(path52.dirname(dest), { recursive: true });
|
|
25799
|
+
fs53.copyFileSync(src, dest);
|
|
25861
25800
|
}
|
|
25862
25801
|
|
|
25863
|
-
//
|
|
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 (!
|
|
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 || !
|
|
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)) + (
|
|
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:
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
//
|
|
26122
|
-
var
|
|
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 (!
|
|
26098
|
+
if (!fs55.existsSync(p)) {
|
|
26160
26099
|
return [];
|
|
26161
26100
|
}
|
|
26162
26101
|
try {
|
|
26163
|
-
const raw = stripUtf8Bom6(
|
|
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 =
|
|
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 (!
|
|
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(
|
|
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(
|
|
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
|
-
|
|
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
|
-
|
|
26474
|
+
fs55.renameSync(tmp, outPath);
|
|
26536
26475
|
} catch (e) {
|
|
26537
26476
|
try {
|
|
26538
|
-
|
|
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
|
-
//
|
|
26572
|
-
var
|
|
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 (!
|
|
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 (
|
|
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 =
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
26788
|
-
const exists =
|
|
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
|
-
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
26966
|
-
var
|
|
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 (!
|
|
26950
|
+
if (!fs57.existsSync(p)) {
|
|
27012
26951
|
return void 0;
|
|
27013
26952
|
}
|
|
27014
|
-
const j = JSON.parse(
|
|
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
|
-
|
|
27029
|
-
|
|
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
|
-
|
|
26974
|
+
fs57.unlinkSync(p);
|
|
27036
26975
|
} catch {
|
|
27037
26976
|
}
|
|
27038
26977
|
}
|
|
27039
26978
|
|
|
27040
|
-
//
|
|
27041
|
-
var
|
|
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 (!
|
|
26988
|
+
if (!fs58.existsSync(jsonlPath)) {
|
|
27050
26989
|
return set;
|
|
27051
26990
|
}
|
|
27052
26991
|
let raw;
|
|
27053
26992
|
try {
|
|
27054
|
-
raw =
|
|
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 (!
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
27651
|
-
var PKG_VERSION = "0.0.
|
|
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 &&
|
|
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 (
|
|
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 &&
|
|
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 =
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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 :
|
|
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 &&
|
|
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 &&
|
|
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 (!
|
|
28816
|
+
if (!fs59.existsSync(learnings)) {
|
|
28953
28817
|
finish(ExitCode.ok, { ok: true, message: "nothing to clear" });
|
|
28954
28818
|
}
|
|
28955
|
-
|
|
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 &&
|
|
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 &&
|
|
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) {
|