@decaf-ts/core 0.28.1 → 0.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -7
- package/dist/core.cjs +1 -1
- package/dist/core.cjs.map +1 -1
- package/dist/core.js +1 -1
- package/dist/core.js.map +1 -1
- package/lib/cjs/index.cjs +3 -3
- package/lib/cjs/migrations/MigrationService.cjs +32 -4
- package/lib/cjs/migrations/MigrationService.cjs.map +1 -1
- package/lib/cjs/migrations/SemverMigrationVersioning.cjs +15 -0
- package/lib/cjs/migrations/SemverMigrationVersioning.cjs.map +1 -1
- package/lib/cjs/migrations/StandardMigrationVersioning.cjs +11 -0
- package/lib/cjs/migrations/StandardMigrationVersioning.cjs.map +1 -1
- package/lib/cjs/tasks/TaskContext.cjs +3 -0
- package/lib/cjs/tasks/TaskContext.cjs.map +1 -1
- package/lib/cjs/tasks/TaskEngine.cjs +148 -69
- package/lib/cjs/tasks/TaskEngine.cjs.map +1 -1
- package/lib/cjs/tasks/builder.cjs +4 -0
- package/lib/cjs/tasks/builder.cjs.map +1 -1
- package/lib/cjs/tasks/constants.cjs +1 -0
- package/lib/cjs/tasks/constants.cjs.map +1 -1
- package/lib/cjs/tasks/models/TaskStepSpecModel.cjs +6 -0
- package/lib/cjs/tasks/models/TaskStepSpecModel.cjs.map +1 -1
- package/lib/esm/index.js +3 -3
- package/lib/esm/migrations/MigrationService.js +32 -4
- package/lib/esm/migrations/MigrationService.js.map +1 -1
- package/lib/esm/migrations/SemverMigrationVersioning.js +15 -0
- package/lib/esm/migrations/SemverMigrationVersioning.js.map +1 -1
- package/lib/esm/migrations/StandardMigrationVersioning.js +11 -0
- package/lib/esm/migrations/StandardMigrationVersioning.js.map +1 -1
- package/lib/esm/tasks/TaskContext.js +3 -0
- package/lib/esm/tasks/TaskContext.js.map +1 -1
- package/lib/esm/tasks/TaskEngine.js +148 -69
- package/lib/esm/tasks/TaskEngine.js.map +1 -1
- package/lib/esm/tasks/builder.js +4 -0
- package/lib/esm/tasks/builder.js.map +1 -1
- package/lib/esm/tasks/constants.js +1 -0
- package/lib/esm/tasks/constants.js.map +1 -1
- package/lib/esm/tasks/models/TaskStepSpecModel.js +6 -0
- package/lib/esm/tasks/models/TaskStepSpecModel.js.map +1 -1
- package/lib/types/index.d.cts +3 -3
- package/lib/types/index.d.mts +3 -3
- package/lib/types/migrations/MigrationService.d.cts +13 -0
- package/lib/types/migrations/MigrationService.d.mts +13 -0
- package/lib/types/migrations/MigrationVersioning.d.cts +9 -0
- package/lib/types/migrations/MigrationVersioning.d.mts +9 -0
- package/lib/types/migrations/SemverMigrationVersioning.d.cts +10 -0
- package/lib/types/migrations/SemverMigrationVersioning.d.mts +10 -0
- package/lib/types/migrations/StandardMigrationVersioning.d.cts +1 -0
- package/lib/types/migrations/StandardMigrationVersioning.d.mts +1 -0
- package/lib/types/tasks/TaskContext.d.cts +2 -0
- package/lib/types/tasks/TaskContext.d.mts +2 -0
- package/lib/types/tasks/TaskEngine.d.cts +5 -0
- package/lib/types/tasks/TaskEngine.d.mts +5 -0
- package/lib/types/tasks/builder.d.cts +1 -0
- package/lib/types/tasks/builder.d.mts +1 -0
- package/lib/types/tasks/models/TaskStepSpecModel.d.cts +1 -0
- package/lib/types/tasks/models/TaskStepSpecModel.d.mts +1 -0
- package/lib/types/tasks/types.d.cts +4 -0
- package/lib/types/tasks/types.d.mts +4 -0
- package/package.json +1 -1
package/lib/cjs/index.cjs
CHANGED
|
@@ -50,21 +50,21 @@ __exportStar(require("./persistence/index.cjs"), exports);
|
|
|
50
50
|
* @const VERSION
|
|
51
51
|
* @memberOf module:core
|
|
52
52
|
*/
|
|
53
|
-
exports.VERSION = "0.
|
|
53
|
+
exports.VERSION = "0.29.0";
|
|
54
54
|
/**
|
|
55
55
|
* @description Represents the current commit hash of the module build.
|
|
56
56
|
* @summary Stores the current git commit hash for the package. The build replaces
|
|
57
57
|
* the placeholder with the actual commit hash at publish time.
|
|
58
58
|
* @const COMMIT
|
|
59
59
|
*/
|
|
60
|
-
exports.COMMIT = "
|
|
60
|
+
exports.COMMIT = "53430c1";
|
|
61
61
|
/**
|
|
62
62
|
* @description Represents the full version string of the module.
|
|
63
63
|
* @summary Stores the semver version and commit hash for the package.
|
|
64
64
|
* The build replaces the placeholder with the actual `<version>-<commit>` value at publish time.
|
|
65
65
|
* @const FULL_VERSION
|
|
66
66
|
*/
|
|
67
|
-
exports.FULL_VERSION = "0.
|
|
67
|
+
exports.FULL_VERSION = "0.29.0-53430c1";
|
|
68
68
|
/**
|
|
69
69
|
* @description Stores the current package version
|
|
70
70
|
* @summary A constant representing the version of the core package
|
|
@@ -154,14 +154,40 @@ class MigrationService extends services_js_1.ClientBasedService {
|
|
|
154
154
|
return p1.length - p2.length;
|
|
155
155
|
return 0;
|
|
156
156
|
}
|
|
157
|
+
/**
|
|
158
|
+
* Compare two migrations by their base version. The base version is the
|
|
159
|
+
* portion of the version string stripped of prerelease and build identifiers.
|
|
160
|
+
* If both migrations share the same base, the method returns `0` and the
|
|
161
|
+
* caller falls back to precedence comparison. When the versioning scheme
|
|
162
|
+
* cannot split a version, the full version is used as its own base.
|
|
163
|
+
*
|
|
164
|
+
* @param migration1 The first migration to compare.
|
|
165
|
+
* @param migration2 The second migration to compare.
|
|
166
|
+
* @returns Negative if `migration1` precedes `migration2`, positive if after,
|
|
167
|
+
* or `0` when bases are equal.
|
|
168
|
+
*/
|
|
169
|
+
compareByBaseVersion(migration1, migration2) {
|
|
170
|
+
const base1 = this.versioning.base?.(migration1.version) ?? migration1.version;
|
|
171
|
+
const base2 = this.versioning.base?.(migration2.version) ?? migration2.version;
|
|
172
|
+
if (base1 === base2)
|
|
173
|
+
return 0;
|
|
174
|
+
return this.versioning.compare(migration1.version, migration2.version);
|
|
175
|
+
}
|
|
157
176
|
sort(migrations) {
|
|
158
177
|
const sorted = [...migrations].sort((migration1, migration2) => {
|
|
159
|
-
const
|
|
160
|
-
if (
|
|
161
|
-
return
|
|
178
|
+
const baseDelta = this.compareByBaseVersion(migration1, migration2);
|
|
179
|
+
if (baseDelta !== 0)
|
|
180
|
+
return baseDelta;
|
|
162
181
|
const precedenceDelta = this.compareByPrecedence(migration1, migration2);
|
|
163
182
|
if (precedenceDelta !== 0)
|
|
164
183
|
return precedenceDelta;
|
|
184
|
+
// same base version: the versioning's own fine-grained compare stays
|
|
185
|
+
// as the deterministic fallback for undeclared pairs (e.g. consecutive
|
|
186
|
+
// prerelease ids or the legacy lexical strategy); the guard below
|
|
187
|
+
// rejects same-base same-flavour pairs that no resolvable precedence.
|
|
188
|
+
const semverDelta = this.versioning.compare(migration1.version, migration2.version);
|
|
189
|
+
if (semverDelta !== 0)
|
|
190
|
+
return semverDelta;
|
|
165
191
|
const flavourDelta = migration1.flavour.localeCompare(migration2.flavour);
|
|
166
192
|
if (flavourDelta !== 0)
|
|
167
193
|
return flavourDelta;
|
|
@@ -172,10 +198,12 @@ class MigrationService extends services_js_1.ClientBasedService {
|
|
|
172
198
|
const right = sorted[i + 1];
|
|
173
199
|
if (!left || !right)
|
|
174
200
|
continue;
|
|
175
|
-
if (left.
|
|
201
|
+
if (left.flavour !== right.flavour)
|
|
176
202
|
continue;
|
|
177
203
|
if (this.compareByPrecedence(left, right) !== 0)
|
|
178
204
|
continue;
|
|
205
|
+
if (this.compareByBaseVersion(left, right) !== 0)
|
|
206
|
+
continue;
|
|
179
207
|
throw new db_decorators_1.InternalError(`Unable to deterministically sort flavour migrations for version ${left.version} and flavour ${left.flavour}: ${left.reference} vs ${right.reference}`);
|
|
180
208
|
}
|
|
181
209
|
return sorted;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrations/MigrationService.cjs","sourceRoot":"","sources":["migrations/MigrationService.js"],"names":[],"mappings":";;;AAAA,iDAAwD;AACxD,2DAAwE;AACxE,4DAAsD;AACtD,gEAAgE;AAChE,0DAA4D;AAC5D,+CAA0C;AAC1C,qDAAgE;AAChE,2DAAwD;AACxD,uEAAiE;AACjE,iEAA2D;AAC3D,qFAA+E;AAC/E,0DAAqD;AACrD,MAAa,gBAAiB,SAAQ,gCAAkB;IACpD;QACI,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,UAAU,GAAG,IAAI,4DAA2B,EAAE,CAAC;QACpD,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;QACnC,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC;QACvC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IAC3B,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,QAAQ,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,IAAI;QACpD,MAAM,gBAAgB,GAAG,CAAC,gBAAgB,CAAC,gBAAgB;YACvD,IAAI,gBAAgB,EAAE,CAAC,CAAC;QAC5B,OAAO,gBAAgB,CAAC,eAAe,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IACpE,CAAC;IACD,KAAK,CAAC,eAAe,CAAC,QAAQ,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,IAAI;QAC7C,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1E,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,QAAQ,IAAI,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QACxF,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3F,MAAM,gBAAgB,GAAG,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC;QACjD,MAAM,uBAAuB,GAAG,gBAAgB,EAAE,OAAO,EAAE,KAAK,IAAI,gBAAgB,EAAE,OAAO,EAAE,OAAO,CAAC;QACvG,IAAI,uBAAuB;YACvB,gBAAgB,CAAC,GAAG,CAAC,uBAAuB,CAAC,EAAE,CAAC;YAChD,MAAM,IAAI,6BAAa,CAAC,6BAA6B,uBAAuB,+CAA+C,CAAC,CAAC;QACjI,CAAC;QACD,MAAM,gBAAgB,GAAG,IAAI,CAAC;QAC9B,gBAAgB,CAAC,UAAU;YACvB,GAAG,CAAC,UAAU,IAAI,IAAI,4DAA2B,EAAE,CAAC;QACxD,gBAAgB,CAAC,iBAAiB,GAAG,GAAG,CAAC,UAAU,EAAE,MAAM;YACvD,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC;YACzB,CAAC,CAAC,SAAS,CAAC;QAChB,gBAAgB,CAAC,eAAe,GAAG,EAAE,CAAC;QACtC,gBAAgB,CAAC,mBAAmB,GAAG;YACnC,GAAG,qCAAsB;YACzB,aAAa,EAAE,GAAG,CAAC,SAAS;YAC5B,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ;YACxB,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,UAAU,EAAE,GAAG,CAAC,UAAU;SAC7B,CAAC;QACF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;YAC5B,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAChF,MAAM,eAAe,GAAG;gBACpB,GAAG,qCAAsB;gBACzB,kBAAkB,EAAE,KAAK;gBACzB,aAAa,EAAE,GAAG,CAAC,SAAS;gBAC5B,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ;gBACxB,wBAAwB,EAAE,GAAG,CAAC,wBAAwB;oBAClD,CAAC,CAAC,GAAG,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC1C,mBAAmB,EAAE,QAAQ,CAAC,mBAAmB;gBACjD,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;gBAC7C,WAAW,EAAE,GAAG,CAAC,WAAW;gBAC5B,UAAU,EAAE,GAAG,CAAC,UAAU;gBAC1B,UAAU,EAAE,GAAG,CAAC,UAAU;aAC7B,CAAC;YACF,IAAI,GAAG,CAAC,QAAQ;gBACZ,MAAM,gBAAgB,CAAC,yBAAyB,CAAC,eAAe,EAAE,GAAG,IAAI,CAAC,CAAC;;gBAE3E,MAAM,gBAAgB,CAAC,yBAAyB,CAAC,eAAe,EAAE,GAAG,IAAI,CAAC,CAAC;QACnF,CAAC;QACD,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IACD,KAAK,CAAC,UAAU,CAAC,GAAG,IAAI;QACpB,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,8BAAe,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1G,IAAI,CAAC;YACD,6DAA6D;YAC7D,MAAM,WAAW,GAAG,qBAAO,CAAC,GAAG,CAAC,8BAAe,CAAC,WAAW,CAAC,CAAC;YAC7D,6DAA6D;QACjE,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACP,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,qBAAqB,CAAC;gBAC/B,GAAG,CAAC,IAAI,CAAC,4GAA4G,CAAC,CAAC;QAC/H,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,qCAAsB,EAAE,qCAAsB,CAAC,CAAC;QACtG,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,IAAI,IAAI,4DAA2B,EAAE,CAAC;QACtE,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC,UAAU,EAAE,MAAM;YAC3C,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC;YACzB,CAAC,CAAC,SAAS,CAAC;QAChB,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,qBAAqB,CAAC;QAC7C,OAAO;YACH,MAAM,EAAE,GAAG;YACX,MAAM,EAAE,CAAC,GAAG,CAAC,kBAAkB;gBAC3B,CAAC,CAAC,oBAAO,CAAC,GAAG,CAAC,GAAG,CAAC,kBAAkB,CAAC;gBACrC,CAAC,CAAC,SAAS,CAAC;SACnB,CAAC;IACN,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,IAAI;QAC3B,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,GAAG,CAAC,OAAO,CAAC,IAAA,eAAK,EAAC,kCAAkC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACtE,CAAC;IACD,gBAAgB,CAAC,GAAG,EAAE,cAAc;QAChC,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAC1D,CAAC;IACD,uBAAuB,CAAC,SAAS;QAC7B,MAAM,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC;QACxC,IAAI,CAAC,UAAU;YACX,OAAO,EAAE,CAAC;QACd,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QACnE,OAAO,IAAI;aACN,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACf,IAAI,CAAC,KAAK;gBACN,OAAO,SAAS,CAAC;YACrB,IAAI,OAAO,KAAK,KAAK,QAAQ;gBACzB,OAAO,SAAS,CAAC;YACrB,IAAI,OAAO,KAAK,KAAK,UAAU;gBAC3B,OAAO,KAAK,CAAC,IAAI,CAAC;YACtB,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;gBACnC,OAAO,KAAK,CAAC,SAAS,CAAC;YAC3B,IAAI,KAAK,CAAC,WAAW,EAAE,IAAI;gBACvB,OAAO,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC;YAClC,OAAO,SAAS,CAAC;QACrB,CAAC,CAAC;aACG,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IACD,mBAAmB,CAAC,SAAS,EAAE,MAAM;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;QACvD,IAAI,CAAC,MAAM,CAAC,MAAM;YACd,OAAO,KAAK,CAAC;QACjB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC;YACrC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;IAC9D,CAAC;IACD,cAAc,CAAC,SAAS;QACpB,OAAO,OAAO,SAAS,CAAC,UAAU,KAAK,QAAQ;YAC3C,CAAC,CAAC,SAAS,CAAC,UAAU;YACtB,CAAC,CAAC,SAAS,CAAC;IACpB,CAAC;IACD,mBAAmB,CAAC,UAAU,EAAE,UAAU;QACtC,MAAM,EAAE,GAAG,UAAU,CAAC,SAAS,CAAC;QAChC,MAAM,EAAE,GAAG,UAAU,CAAC,SAAS,CAAC;QAChC,MAAM,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QAChE,MAAM,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QAChE,IAAI,cAAc,IAAI,CAAC,cAAc;YACjC,OAAO,CAAC,CAAC;QACb,IAAI,cAAc,IAAI,CAAC,cAAc;YACjC,OAAO,CAAC,CAAC,CAAC;QACd,MAAM,EAAE,GAAG,IAAI,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC;QAC5C,MAAM,EAAE,GAAG,IAAI,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC;QAC5C,IAAI,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM;YACvB,OAAO,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;QACjC,OAAO,CAAC,CAAC;IACb,CAAC;IACD,IAAI,CAAC,UAAU;QACX,MAAM,MAAM,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,EAAE;YAC3D,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;YACpF,IAAI,WAAW,KAAK,CAAC;gBACjB,OAAO,WAAW,CAAC;YACvB,MAAM,eAAe,GAAG,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YACzE,IAAI,eAAe,KAAK,CAAC;gBACrB,OAAO,eAAe,CAAC;YAC3B,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAC1E,IAAI,YAAY,KAAK,CAAC;gBAClB,OAAO,YAAY,CAAC;YACxB,OAAO,UAAU,CAAC,SAAS,CAAC,aAAa,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;QACH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACvB,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5B,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK;gBACf,SAAS;YACb,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO;gBAChE,SAAS;YACb,IAAI,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC;gBAC3C,SAAS;YACb,MAAM,IAAI,6BAAa,CAAC,mEAAmE,IAAI,CAAC,OAAO,gBAAgB,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,SAAS,OAAO,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;QACpL,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,gBAAgB,CAAC,SAAS;QACtB,MAAM,IAAI,GAAG,qBAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,8BAAe,CAAC,SAAS,CAAC,CAAC;QAC5E,MAAM,OAAO,GAAG,IAAI,EAAE,OAAO;YACzB,SAAS,CAAC,OAAO;YACjB,2BAAc,CAAC;QACnB,MAAM,SAAS,GAAG,IAAI,EAAE,SAAS,IAAI,SAAS,CAAC,SAAS,CAAC;QACzD,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QACtD,OAAO;YACH,SAAS;YACT,OAAO;YACP,SAAS;YACT,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,cAAc,CAAC;SAC5D,CAAC;IACN,CAAC;IACD,sBAAsB,CAAC,SAAS,EAAE,aAAa,EAAE,cAAc,GAAG,IAAI;QAClE,IAAI,CAAC,aAAa;YACd,OAAO,IAAI,CAAC;QAChB,IAAI,SAAS,CAAC,OAAO,KAAK,aAAa;YACnC,OAAO,IAAI,CAAC;QAChB,OAAO,cAAc,IAAI,SAAS,CAAC,OAAO,KAAK,2BAAc,CAAC;IAClE,CAAC;IACD,iBAAiB,CAAC,aAAa,EAAE,cAAc,GAAG,IAAI;QAClD,MAAM,MAAM,GAAG,qBAAQ,CAAC,UAAU,EAAE,CAAC;QACrC,MAAM,UAAU,GAAG,EAAE,CAAC;QACtB,KAAK,MAAM,CAAC,SAAS,EAAE,cAAc,CAAC,IAAI,MAAM,EAAE,CAAC;YAC/C,IAAI,SAAS,CAAC;YACd,IAAI,CAAC;gBACD,SAAS,GAAG,IAAI,cAAc,EAAE,CAAC;YACrC,CAAC;YACD,OAAO,CAAC,EAAE,CAAC;gBACP,MAAM,IAAI,6BAAa,CAAC,8BAA8B,SAAS,KAAK,CAAC,EAAE,CAAC,CAAC;YAC7E,CAAC;YACD,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;YAClD,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,QAAQ,EAAE,aAAa,EAAE,cAAc,CAAC;gBACrE,SAAS;YACb,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9B,CAAC;QACD,OAAO,UAAU,CAAC;IACtB,CAAC;IACD,kBAAkB,CAAC,OAAO;QACtB,MAAM,WAAW,GAAG,OAAO,EAAE,WAAW;YACpC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,WAAW,CAAC;YAC5C,CAAC,CAAC,SAAS,CAAC;QAChB,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS;YAChC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC;YAC1C,CAAC,CAAC,SAAS,CAAC;QAChB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;QACtG,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE;YACnC,IAAI,IAAI,CAAC,iBAAiB;gBACtB,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC;gBAChD,OAAO,KAAK,CAAC;YACjB,IAAI,WAAW,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,WAAW,CAAC;gBAClE,OAAO,KAAK,CAAC;YACjB,IAAI,SAAS,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC;gBAC/D,OAAO,KAAK,CAAC;YACjB,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC;IACP,CAAC;IACD,KAAK,CAAC,gBAAgB,CAAC,SAAS,EAAE,GAAG,IAAI;QACrC,MAAM,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC;QAC9B,IAAI,OAAO,CAAC;QACZ,IAAI,EAAE,CAAC;QACP,IAAI,CAAC;YACD,OAAO,GAAG,oBAAO,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACzC,IAAI,CAAC,OAAO;gBACR,MAAM,IAAI,6BAAa,CAAC,8BAA8B,CAAC,CAAC,SAAS,gEAAgE,CAAC,CAAC;YACvI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;QACxB,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACP,MAAM,IAAI,6BAAa,CAAC,qCAAqC,CAAC,CAAC,SAAS,KAAK,CAAC,EAAE,CAAC,CAAC;QACtF,CAAC;QACD,IAAI,CAAC;YACD,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACP,MAAM,IAAI,0BAAc,CAAC,kCAAkC,CAAC,CAAC,SAAS,KAAK,CAAC,EAAE,CAAC,CAAC;QACpF,CAAC;QACD,IAAI,CAAC;YACD,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;QAC1C,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACP,MAAM,IAAI,0BAAc,CAAC,qBAAqB,CAAC,CAAC,SAAS,KAAK,CAAC,EAAE,CAAC,CAAC;QACvE,CAAC;QACD,IAAI,CAAC;YACD,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;QACvC,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACP,MAAM,IAAI,0BAAc,CAAC,gCAAgC,CAAC,CAAC,SAAS,KAAK,CAAC,EAAE,CAAC,CAAC;QAClF,CAAC;IACL,CAAC;IACD,yBAAyB,CAAC,IAAI,EAAE,GAAG,IAAI;QACnC,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;QAC3B,MAAM,OAAO,GAAG,IAAI,8CAAoB,EAAE,CAAC;QAC3C,IAAI,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;YACvB,MAAM,KAAK,GAAG;gBACV,SAAS,EAAE,SAAS,CAAC,SAAS;gBAC9B,IAAI,EAAE,QAAQ;aACjB,CAAC;YACF,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IACD,0BAA0B,CAAC,IAAI,EAAE,GAAG,IAAI;QACpC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;QAC5B,KAAK,MAAM,SAAS,IAAI,IAAI,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACvD,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACxB,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,CAAC,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5D,OAAO;YACP,IAAI,EAAE,IAAI,CAAC,yBAAyB,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC;SAC5D,CAAC,CAAC,CAAC;IACR,CAAC;IACD,mBAAmB,CAAC,aAAa,EAAE,WAAW,EAAE,GAAG,IAAI;QACnD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;QACxB,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,KAAK,CAAC;QACvC,MAAM,cAAc,GAAG,QAAQ;YAC3B,CAAC,CAAC,CAAC,GAAG,CAAC,wBAAwB,IAAI,IAAI,CAAC;YACxC,CAAC,CAAC,IAAI,CAAC;QACX,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC;YACjC,SAAS,EAAE,aAAa,IAAI,GAAG,CAAC,aAAa;YAC7C,WAAW;YACX,aAAa,EAAE,GAAG,CAAC,kBAAkB;YACrC,cAAc;SACjB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;IACzD,CAAC;IACD,oBAAoB,CAAC,aAAa,EAAE,WAAW,EAAE,GAAG,IAAI;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;QACxB,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,KAAK,CAAC;QACvC,MAAM,cAAc,GAAG,QAAQ;YAC3B,CAAC,CAAC,CAAC,GAAG,CAAC,wBAAwB,IAAI,IAAI,CAAC;YACxC,CAAC,CAAC,IAAI,CAAC;QACX,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC;YACjC,SAAS,EAAE,aAAa,IAAI,GAAG,CAAC,aAAa;YAC7C,WAAW;YACX,aAAa,EAAE,GAAG,CAAC,kBAAkB;YACrC,cAAc;SACjB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,0BAA0B,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;IAC1D,CAAC;IACD,2BAA2B,CAAC,OAAO,EAAE,IAAI;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG,IAAI,EAAE,OAAO,EAAE,EAAE,IAAI,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC;QACzD,MAAM,MAAM,GAAG,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YACtB,OAAO,EAAE,CAAC;QACd,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC;IAC/D,CAAC;IACD,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,IAAI;QAC9B,KAAK,EAAE,CAAC;QACR,KAAK,OAAO,CAAC;QACb,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ;YACpB,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;;YAE1D,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;QAC9D,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,KAAK,CAAC,eAAe,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,IAAI;QACtC,KAAK,EAAE,CAAC;QACR,KAAK,OAAO,CAAC;QACb,OAAO,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;IAChE,CAAC;IACD,KAAK,CAAC,yBAAyB,CAAC,GAAG,EAAE,GAAG,IAAI;QACxC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,8BAAe,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC9G,MAAM,aAAa,GAAG,GAAG,CAAC,kBAAkB,CAAC;QAC7C,MAAM,cAAc,GAAG,GAAG,CAAC,QAAQ;YAC/B,CAAC,CAAC,CAAC,GAAG,CAAC,wBAAwB,IAAI,IAAI,CAAC;YACxC,CAAC,CAAC,IAAI,CAAC;QACX,MAAM,aAAa,GAAG,aAAa;YAC/B,CAAC,CAAC,oBAAO,CAAC,GAAG,CAAC,aAAa,CAAC;YAC5B,CAAC,CAAC,SAAS,CAAC;QAChB,IAAI,cAAc,CAAC;QACnB,IAAI,GAAG,CAAC,mBAAmB,EAAE,CAAC;YAC1B,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,mBAAmB,CAAC,aAAa,EAAE,GAAG,OAAO,CAAC,CAAC;YAC3E,IAAI,SAAS;gBACT,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAC1D,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC;YACjC,WAAW,EAAE,cAAc;YAC3B,SAAS,EAAE,GAAG,CAAC,aAAa;YAC5B,aAAa;YACb,cAAc;SACjB,CAAC,CAAC;QACH,GAAG,CAAC,KAAK,CAAC,sCAAsC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QAClG,KAAK,MAAM,SAAS,IAAI,IAAI,EAAE,CAAC;YAC3B,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,GAAG,OAAO,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,GAAG,CAAC,iBAAiB,EAAE,CAAC;YACxB,MAAM,YAAY,GAAG,GAAG,CAAC,aAAa;gBAClC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,OAAO;gBAC9B,cAAc;gBACd,SAAS,CAAC;YACd,IAAI,YAAY;gBACZ,MAAM,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,CAAC;QACpG,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,KAAK,CAAC,eAAe,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,IAAI;QACtC,KAAK,EAAE,CAAC;QACR,KAAK,OAAO,CAAC;QACb,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;IAChE,CAAC;IACD,KAAK,CAAC,yBAAyB,CAAC,GAAG,EAAE,GAAG,IAAI;QACxC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,8BAAe,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACnH,MAAM,aAAa,GAAG,GAAG,CAAC,kBAAkB,CAAC;QAC7C,MAAM,cAAc,GAAG,GAAG,CAAC,wBAAwB,IAAI,IAAI,CAAC;QAC5D,MAAM,aAAa,GAAG,aAAa;YAC/B,CAAC,CAAC,oBAAO,CAAC,GAAG,CAAC,aAAa,CAAC;YAC5B,CAAC,CAAC,SAAS,CAAC;QAChB,IAAI,cAAc,CAAC;QACnB,IAAI,GAAG,CAAC,mBAAmB,EAAE,CAAC;YAC1B,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,mBAAmB,CAAC,aAAa,EAAE,GAAG,OAAO,CAAC,CAAC;YAC3E,IAAI,SAAS;gBACT,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAC1D,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC;YACjC,WAAW,EAAE,cAAc;YAC3B,SAAS,EAAE,GAAG,CAAC,aAAa;YAC5B,aAAa;YACb,cAAc;SACjB,CAAC,CAAC;QACH,GAAG,CAAC,KAAK,CAAC,sCAAsC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QAClG,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,MAAM,KAAK,GAAG,IAAI,CAAC,0BAA0B,CAAC,IAAI,EAAE,GAAG,OAAO,CAAC,CAAC;YAChE,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;gBAClB,IAAI,eAAe,CAAC;gBACpB,KAAK,MAAM,WAAW,IAAI,KAAK,EAAE,CAAC;oBAC9B,IAAI,eAAe,EAAE,CAAC;wBAClB,WAAW,CAAC,IAAI,CAAC,YAAY,GAAG;4BAC5B,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;4BACxC,eAAe;yBAClB,CAAC;oBACN,CAAC;oBACD,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,CAAC;oBAChF,eAAe,GAAG,OAAO,CAAC,EAAE,CAAC;oBAC7B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;wBACtB,EAAE,EAAE,OAAO,CAAC,EAAE;wBACd,OAAO,EAAE,WAAW,CAAC,OAAO;wBAC5B,OAAO,EAAE,aAAa;wBACtB,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;qBAC3C,CAAC,CAAC;oBACH,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC;wBACf,GAAG,CAAC,IAAI,CAAC,oDAAoD,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;oBACxF,CAAC;oBACD,GAAG,CAAC,WAAW,CAAC,8BAAe,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC3D,CAAC;YACL,CAAC;iBACI,CAAC;gBACF,KAAK,MAAM,SAAS,IAAI,IAAI,EAAE,CAAC;oBAC3B,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,GAAG,OAAO,CAAC,CAAC;gBACvD,CAAC;gBACD,IAAI,GAAG,CAAC,iBAAiB,EAAE,CAAC;oBACxB,MAAM,YAAY,GAAG,GAAG,CAAC,aAAa;wBAClC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,OAAO;wBAC9B,cAAc;wBACd,SAAS,CAAC;oBACd,IAAI,YAAY;wBACZ,MAAM,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,CAAC;gBACpG,CAAC;YACL,CAAC;QACL,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI;QACxB,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,8BAAe,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/F,MAAM,GAAG,GAAG,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,MAAM,CAAC;QACpD,IAAI,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,GAAG,CAAC,QAAQ;YACjC,OAAO;QACX,MAAM,eAAe,GAAG,OAAO,OAAO,KAAK,QAAQ;YAC/C,CAAC,CAAC,CAAC,OAAO,CAAC;YACX,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;gBACpB,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,SAAS,CAAC;QACpB,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9D,MAAM,UAAU,GAAG,IAAI,CAAC,2BAA2B,CAAC,8BAAe,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACxF,MAAM,GAAG,GAAG,eAAe,EAAE,MAAM;YAC/B,CAAC,CAAC,eAAe;YACjB,CAAC,CAAC,SAAS,CAAC,MAAM;gBACd,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,UAAU,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,MAAM;YACX,OAAO;QACX,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QACpF,MAAM,aAAa,GAAG,GAAG,CAAC,kBAAkB;YACxC,CAAC,CAAC,oBAAO,CAAC,GAAG,CAAC,GAAG,CAAC,kBAAkB,CAAC;YACrC,CAAC,CAAC,SAAS,CAAC;QAChB,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;YACnB,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,CAAC;YAChE,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;YACrB,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACtC,MAAM,iBAAiB,GAAG,MAAM,EAAE,iBAAiB,IAAI,GAAG,CAAC,iBAAiB,CAAC;YAC7E,IAAI,iBAAiB,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;gBACvC,MAAM,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,IAAI,aAAa,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC;YAClH,CAAC;QACL,CAAC;IACL,CAAC;IACD,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI;QACxB,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,8BAAe,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/F,MAAM,GAAG,GAAG,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,MAAM,CAAC;QACpD,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;YACpC,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,CAAC;YAC7D,OAAO;QACX,CAAC;QACD,MAAM,eAAe,GAAG,OAAO,OAAO,KAAK,QAAQ;YAC/C,CAAC,CAAC,CAAC,OAAO,CAAC;YACX,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;gBACpB,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,SAAS,CAAC;QACpB,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9D,MAAM,UAAU,GAAG,IAAI,CAAC,2BAA2B,CAAC,8BAAe,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACxF,MAAM,GAAG,GAAG,eAAe,EAAE,MAAM;YAC/B,CAAC,CAAC,eAAe;YACjB,CAAC,CAAC,SAAS,CAAC,MAAM;gBACd,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,UAAU,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;YACd,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,CAAC;YAC7D,OAAO;QACX,CAAC;QACD,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC;QAC9C,MAAM,UAAU,GAAG,OAAO,QAAQ,EAAE,QAAQ,KAAK,UAAU;YACvD,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;YAC7C,CAAC,CAAC,QAAQ,CAAC;QACf,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;YACnB,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,CAAC;YAC5D,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YAC1B,IAAI,CAAC,CAAC,yBAAU,CAAC,MAAM,EAAE,yBAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;gBAC/D,SAAS;YACb,MAAM,OAAO,GAAG,IAAI,wBAAS,CAAC;gBAC1B,GAAG,IAAI;gBACP,MAAM,EAAE,yBAAU,CAAC,OAAO;gBAC1B,KAAK,EAAE,SAAS;gBAChB,SAAS,EAAE,SAAS;gBACpB,WAAW,EAAE,SAAS;gBACtB,UAAU,EAAE,SAAS;gBACrB,WAAW,EAAE,SAAS;aACzB,CAAC,CAAC;YACH,MAAM,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC;QACjD,CAAC;QACD,OAAO;IACX,CAAC;IACD,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,IAAI;QACzB,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,GAAG,CAAC,OAAO,CAAC,IAAA,eAAK,EAAC,8BAA8B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC/D,KAAK,EAAE,CAAC;QACR,KAAK,OAAO,CAAC;IACjB,CAAC;CACJ;AArgBD,4CAqgBC;AACD,MAAM,OAAO,GAAG,qBAAQ,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,8BAAe,CAAC,SAAS,CAAC,EAAE,2BAAc,CAAC;IACvF,EAAE,CAAC;AACP,qBAAQ,CAAC,GAAG,CAAC,8BAAe,CAAC,SAAS,EAAE,2BAAc,EAAE;IACpD,GAAG,OAAO;IACV,gBAAgB;CACnB,CAAC,CAAC;AACH,4CAA4C"}
|
|
1
|
+
{"version":3,"file":"migrations/MigrationService.cjs","sourceRoot":"","sources":["migrations/MigrationService.js"],"names":[],"mappings":"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"}
|
|
@@ -69,6 +69,21 @@ class SemverMigrationVersioning {
|
|
|
69
69
|
compare(a, b) {
|
|
70
70
|
return semver.compare(a, b);
|
|
71
71
|
}
|
|
72
|
+
/**
|
|
73
|
+
* Returns the core version (major.minor.patch) of a semver-compliant version.
|
|
74
|
+
* This base is used to rank declared precedence before comparing prerelease
|
|
75
|
+
* identifiers. Versions that are not parsable as semver return `undefined`,
|
|
76
|
+
* causing callers to fall back to identity semantics.
|
|
77
|
+
*
|
|
78
|
+
* @param version The full semver version string.
|
|
79
|
+
* @returns The core version without prerelease/build metadata, or `undefined`.
|
|
80
|
+
*/
|
|
81
|
+
base(version) {
|
|
82
|
+
const valid = semver.valid(version);
|
|
83
|
+
if (!valid)
|
|
84
|
+
return undefined;
|
|
85
|
+
return valid.split(/[-+]/)[0];
|
|
86
|
+
}
|
|
72
87
|
gt(a, b) {
|
|
73
88
|
return semver.gt(a, b);
|
|
74
89
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrations/SemverMigrationVersioning.cjs","sourceRoot":"","sources":["migrations/SemverMigrationVersioning.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAiC;AACjC,MAAa,yBAAyB;IAClC,MAAM,CAAC,GAAG;QACN,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,KAAK;YACL,OAAO,KAAK,CAAC;QACjB,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC;IACvC,CAAC;IACD,IAAI,CAAC,GAAG;QACJ,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,WAAW,CAAC;aAChC,WAAW,EAAE;aACb,OAAO,CAAC,cAAc,EAAE,GAAG,CAAC;aAC5B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAC7B,OAAO,SAAS,QAAQ,IAAI,WAAW,EAAE,CAAC;IAC9C,CAAC;IACD,aAAa,CAAC,KAAK;QACf,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IACD,SAAS,CAAC,SAAS,EAAE,cAAc;QAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;QAChD,MAAM,WAAW,GAAG,cAAc;YAC9B,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;YAC7B,CAAC,CAAC,SAAS,CAAC;QAChB,IAAI,WAAW,EAAE,CAAC;YACd,MAAM,YAAY,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC;gBAC3D,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAC5C,IAAI,CAAC,UAAU,IAAI,YAAY,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;gBAC5D,OAAO,WAAW,CAAC;YACvB,CAAC;QACL,CAAC;QACD,OAAO,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,cAAc,IAAI,WAAW,CAAC,CAAC;IAC/E,CAAC;IACD,OAAO,CAAC,CAAC,EAAE,CAAC;QACR,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChC,CAAC;IACD,EAAE,CAAC,CAAC,EAAE,CAAC;QACH,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3B,CAAC;IACD,GAAG,CAAC,CAAC,EAAE,CAAC;QACJ,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,CAAC;CACJ;
|
|
1
|
+
{"version":3,"file":"migrations/SemverMigrationVersioning.cjs","sourceRoot":"","sources":["migrations/SemverMigrationVersioning.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAiC;AACjC,MAAa,yBAAyB;IAClC,MAAM,CAAC,GAAG;QACN,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,KAAK;YACL,OAAO,KAAK,CAAC;QACjB,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC;IACvC,CAAC;IACD,IAAI,CAAC,GAAG;QACJ,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,WAAW,CAAC;aAChC,WAAW,EAAE;aACb,OAAO,CAAC,cAAc,EAAE,GAAG,CAAC;aAC5B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAC7B,OAAO,SAAS,QAAQ,IAAI,WAAW,EAAE,CAAC;IAC9C,CAAC;IACD,aAAa,CAAC,KAAK;QACf,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IACD,SAAS,CAAC,SAAS,EAAE,cAAc;QAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;QAChD,MAAM,WAAW,GAAG,cAAc;YAC9B,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;YAC7B,CAAC,CAAC,SAAS,CAAC;QAChB,IAAI,WAAW,EAAE,CAAC;YACd,MAAM,YAAY,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC;gBAC3D,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAC5C,IAAI,CAAC,UAAU,IAAI,YAAY,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;gBAC5D,OAAO,WAAW,CAAC;YACvB,CAAC;QACL,CAAC;QACD,OAAO,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,cAAc,IAAI,WAAW,CAAC,CAAC;IAC/E,CAAC;IACD,OAAO,CAAC,CAAC,EAAE,CAAC;QACR,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChC,CAAC;IACD;;;;;;;;OAQG;IACH,IAAI,CAAC,OAAO;QACR,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK;YACN,OAAO,SAAS,CAAC;QACrB,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;IACD,EAAE,CAAC,CAAC,EAAE,CAAC;QACH,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3B,CAAC;IACD,GAAG,CAAC,CAAC,EAAE,CAAC;QACJ,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,CAAC;CACJ;AAvDD,8DAuDC;AACD,qDAAqD"}
|
|
@@ -20,6 +20,17 @@ class StandardMigrationVersioning {
|
|
|
20
20
|
compare(a, b) {
|
|
21
21
|
return a.localeCompare(b);
|
|
22
22
|
}
|
|
23
|
+
base(version) {
|
|
24
|
+
/**
|
|
25
|
+
* Returns the base version for the legacy strategy, which does not split
|
|
26
|
+
* prerelease identifiers. The full version string is treated as its own
|
|
27
|
+
* base, so identical versions are considered equal.
|
|
28
|
+
*
|
|
29
|
+
* @param version The version string.
|
|
30
|
+
* @returns The same version string as the base.
|
|
31
|
+
*/
|
|
32
|
+
return version;
|
|
33
|
+
}
|
|
23
34
|
gt(a, b) {
|
|
24
35
|
return this.compare(a, b) > 0;
|
|
25
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrations/StandardMigrationVersioning.cjs","sourceRoot":"","sources":["migrations/StandardMigrationVersioning.js"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,MAAa,2BAA2B;IACpC,aAAa,CAAC,KAAK;QACf,OAAO,CAAC,CAAC,KAAK,CAAC;IACnB,CAAC;IACD,SAAS,CAAC,SAAS,EAAE,cAAc;QAC/B,IAAI,cAAc;YACd,SAAS;YACT,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,SAAS,KAAK,cAAc,CAAC,EAAE,CAAC;YACvE,OAAO,cAAc,CAAC;QAC1B,CAAC;QACD,OAAO,SAAS,IAAI,cAAc,IAAI,WAAW,CAAC;IACtD,CAAC;IACD,OAAO,CAAC,CAAC,EAAE,CAAC;QACR,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IACD,EAAE,CAAC,CAAC,EAAE,CAAC;QACH,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IACD,GAAG,CAAC,CAAC,EAAE,CAAC;QACJ,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;CACJ;
|
|
1
|
+
{"version":3,"file":"migrations/StandardMigrationVersioning.cjs","sourceRoot":"","sources":["migrations/StandardMigrationVersioning.js"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,MAAa,2BAA2B;IACpC,aAAa,CAAC,KAAK;QACf,OAAO,CAAC,CAAC,KAAK,CAAC;IACnB,CAAC;IACD,SAAS,CAAC,SAAS,EAAE,cAAc;QAC/B,IAAI,cAAc;YACd,SAAS;YACT,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,SAAS,KAAK,cAAc,CAAC,EAAE,CAAC;YACvE,OAAO,cAAc,CAAC;QAC1B,CAAC;QACD,OAAO,SAAS,IAAI,cAAc,IAAI,WAAW,CAAC;IACtD,CAAC;IACD,OAAO,CAAC,CAAC,EAAE,CAAC;QACR,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,CAAC,OAAO;QACR;;;;;;;WAOG;QACH,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,EAAE,CAAC,CAAC,EAAE,CAAC;QACH,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IACD,GAAG,CAAC,CAAC,EAAE,CAAC;QACJ,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;CACJ;AAhCD,kEAgCC;AACD,uDAAuD"}
|
|
@@ -37,6 +37,9 @@ class TaskContext extends Context_js_1.Context {
|
|
|
37
37
|
get heartbeat() {
|
|
38
38
|
return this.get("heartbeat");
|
|
39
39
|
}
|
|
40
|
+
get stepWriteLock() {
|
|
41
|
+
return this.get("stepWriteLock");
|
|
42
|
+
}
|
|
40
43
|
cacheResult(taskId, payload) {
|
|
41
44
|
const cache = (this.cache.has("resultCache") && this.cache.get("resultCache")) ||
|
|
42
45
|
{};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tasks/TaskContext.cjs","sourceRoot":"","sources":["tasks/TaskContext.js"],"names":[],"mappings":";;;AAAA,4DAAsD;AACtD,kEAA4D;AAC5D,iDAA4C;AAC5C,yCAA4C;AAC5C,uEAAiE;AACjE,wEAAkE;AAClE,2DAAwD;AACxD,MAAa,WAAY,SAAQ,oBAAO;IACpC,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,MAAM;QACN,OAAO,KAAK,CAAC,MAAM,CAAC;IACxB,CAAC;IACD,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,CAAC,IAAI;QACR,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACjC,CAAC;IACD,IAAI,IAAI;QACJ,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC5B,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IACD,KAAK;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;IAC/B,CAAC;IACD,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC/B,CAAC;IACD,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAChC,CAAC;IACD,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACjC,CAAC;IACD,WAAW,CAAC,MAAM,EAAE,OAAO;QACvB,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAC1E,EAAE,CAAC;QACP,KAAK,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC;IACD,WAAW,CAAC,MAAM,EAAE,OAAO;QACvB,MAAM,IAAI,8CAAoB,CAAC;YAC3B,MAAM;YACN,GAAG,OAAO;SACb,CAAC,CAAC;IACP,CAAC;IACD,MAAM,CAAC,MAAM,EAAE,OAAO;QAClB,IAAI,CAAC,WAAW,CAAC,yBAAU,CAAC,QAAQ,EAAE;YAClC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC;SAC3C,CAAC,CAAC;IACP,CAAC;IACD,KAAK,CAAC,MAAM;QACR,IAAI,CAAC,WAAW,CAAC,yBAAU,CAAC,aAAa,EAAE;YACvC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;SAClC,CAAC,CAAC;IACP,CAAC;IACD,UAAU,CAAC,IAAI,EAAE,MAAM;QACnB,MAAM,WAAW,GAAG,IAAI,YAAY,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAC/D,IAAI,CAAC,WAAW,CAAC,yBAAU,CAAC,SAAS,EAAE;YACnC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;YAC/B,WAAW;SACd,CAAC,CAAC;IACP,CAAC;IACD,WAAW,CAAC,KAAK,EAAE,OAAO;QACtB,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO;YAClB,OAAO,SAAS,CAAC;QACrB,IAAI,KAAK,YAAY,kCAAc;YAC/B,OAAO,KAAK,CAAC;QACjB,IAAI,KAAK,YAAY,KAAK;YACtB,OAAO,IAAA,yBAAc,EAAC,KAAK,CAAC,CAAC;QACjC,OAAO,IAAI,kCAAc,CAAC;YACtB,OAAO,EAAE,MAAM,CAAC,KAAK,IAAI,6BAA6B,CAAC;YACvD,OAAO;SACV,CAAC,CAAC;IACP,CAAC;IACD,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACnC,CAAC;IACD,aAAa,CAAC,GAAG,KAAK;QAClB,MAAM,UAAU,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,YAAY,wCAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,wCAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;QACvH,OAAO;YACH,YAAY,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;gBACxB,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,CAAC;gBAChE,IAAI,CAAC,SAAS,EAAE,CAAC;oBACb,MAAM,IAAI,6BAAa,CAAC,sFAAsF,CAAC,CAAC;gBACpH,CAAC;gBACD,MAAM,SAAS,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;YACrC,CAAC;YACD,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;gBACjB,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,6BAA6B,CAAC,CAAC;gBACrE,IAAI,CAAC,SAAS,EAAE,CAAC;oBACb,MAAM,IAAI,6BAAa,CAAC,+EAA+E,CAAC,CAAC;gBAC7G,CAAC;gBACD,MAAM,SAAS,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;YACrC,CAAC;SACJ,CAAC;IACN,CAAC;IACD,YAAY,GAAG;QACX,KAAK,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;CACJ;
|
|
1
|
+
{"version":3,"file":"tasks/TaskContext.cjs","sourceRoot":"","sources":["tasks/TaskContext.js"],"names":[],"mappings":";;;AAAA,4DAAsD;AACtD,kEAA4D;AAC5D,iDAA4C;AAC5C,yCAA4C;AAC5C,uEAAiE;AACjE,wEAAkE;AAClE,2DAAwD;AACxD,MAAa,WAAY,SAAQ,oBAAO;IACpC,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,MAAM;QACN,OAAO,KAAK,CAAC,MAAM,CAAC;IACxB,CAAC;IACD,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,CAAC,IAAI;QACR,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACjC,CAAC;IACD,IAAI,IAAI;QACJ,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC5B,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IACD,KAAK;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;IAC/B,CAAC;IACD,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC/B,CAAC;IACD,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAChC,CAAC;IACD,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACjC,CAAC;IACD,IAAI,aAAa;QACb,OAAO,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACrC,CAAC;IACD,WAAW,CAAC,MAAM,EAAE,OAAO;QACvB,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAC1E,EAAE,CAAC;QACP,KAAK,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC;IACD,WAAW,CAAC,MAAM,EAAE,OAAO;QACvB,MAAM,IAAI,8CAAoB,CAAC;YAC3B,MAAM;YACN,GAAG,OAAO;SACb,CAAC,CAAC;IACP,CAAC;IACD,MAAM,CAAC,MAAM,EAAE,OAAO;QAClB,IAAI,CAAC,WAAW,CAAC,yBAAU,CAAC,QAAQ,EAAE;YAClC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC;SAC3C,CAAC,CAAC;IACP,CAAC;IACD,KAAK,CAAC,MAAM;QACR,IAAI,CAAC,WAAW,CAAC,yBAAU,CAAC,aAAa,EAAE;YACvC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;SAClC,CAAC,CAAC;IACP,CAAC;IACD,UAAU,CAAC,IAAI,EAAE,MAAM;QACnB,MAAM,WAAW,GAAG,IAAI,YAAY,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAC/D,IAAI,CAAC,WAAW,CAAC,yBAAU,CAAC,SAAS,EAAE;YACnC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;YAC/B,WAAW;SACd,CAAC,CAAC;IACP,CAAC;IACD,WAAW,CAAC,KAAK,EAAE,OAAO;QACtB,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO;YAClB,OAAO,SAAS,CAAC;QACrB,IAAI,KAAK,YAAY,kCAAc;YAC/B,OAAO,KAAK,CAAC;QACjB,IAAI,KAAK,YAAY,KAAK;YACtB,OAAO,IAAA,yBAAc,EAAC,KAAK,CAAC,CAAC;QACjC,OAAO,IAAI,kCAAc,CAAC;YACtB,OAAO,EAAE,MAAM,CAAC,KAAK,IAAI,6BAA6B,CAAC;YACvD,OAAO;SACV,CAAC,CAAC;IACP,CAAC;IACD,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACnC,CAAC;IACD,aAAa,CAAC,GAAG,KAAK;QAClB,MAAM,UAAU,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,YAAY,wCAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,wCAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;QACvH,OAAO;YACH,YAAY,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;gBACxB,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,CAAC;gBAChE,IAAI,CAAC,SAAS,EAAE,CAAC;oBACb,MAAM,IAAI,6BAAa,CAAC,sFAAsF,CAAC,CAAC;gBACpH,CAAC;gBACD,MAAM,SAAS,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;YACrC,CAAC;YACD,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;gBACjB,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,6BAA6B,CAAC,CAAC;gBACrE,IAAI,CAAC,SAAS,EAAE,CAAC;oBACb,MAAM,IAAI,6BAAa,CAAC,+EAA+E,CAAC,CAAC;gBAC7G,CAAC;gBACD,MAAM,SAAS,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;YACrC,CAAC;SACJ,CAAC;IACN,CAAC;IACD,YAAY,GAAG;QACX,KAAK,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;CACJ;AAlGD,kCAkGC;AACD,uCAAuC"}
|
|
@@ -440,6 +440,42 @@ class TaskEngine extends ContextualLoggedClass_js_1.AbsContextual {
|
|
|
440
440
|
: undefined;
|
|
441
441
|
return !(await this.hasLockConflict(task, stepIndex, ctx));
|
|
442
442
|
}
|
|
443
|
+
getCompositeStepConcurrencyLimit() {
|
|
444
|
+
const limit = this.config.maxConcurrentCompositeSteps ?? -1;
|
|
445
|
+
if (limit === 0)
|
|
446
|
+
return 1;
|
|
447
|
+
if (limit < 0)
|
|
448
|
+
return Number.POSITIVE_INFINITY;
|
|
449
|
+
return Math.max(1, limit);
|
|
450
|
+
}
|
|
451
|
+
isConcurrentCompositeStep(step) {
|
|
452
|
+
return Boolean(step.allowConcurrent && step.lock);
|
|
453
|
+
}
|
|
454
|
+
createCompositeStepContext(context, stepIndex) {
|
|
455
|
+
return TaskEngine.createTaskContext(context, { step: stepIndex });
|
|
456
|
+
}
|
|
457
|
+
async withStepWriteLock(ctx, fn) {
|
|
458
|
+
const lock = ctx.stepWriteLock;
|
|
459
|
+
await lock.acquire();
|
|
460
|
+
try {
|
|
461
|
+
return await fn();
|
|
462
|
+
}
|
|
463
|
+
finally {
|
|
464
|
+
lock.release();
|
|
465
|
+
}
|
|
466
|
+
}
|
|
467
|
+
recalculateCompositeCurrentStep(steps, results) {
|
|
468
|
+
let next = 0;
|
|
469
|
+
while (next < steps.length) {
|
|
470
|
+
const result = results[next];
|
|
471
|
+
if (!result)
|
|
472
|
+
break;
|
|
473
|
+
if (result.status === constants_js_1.TaskStatus.FAILED && !steps[next]?.canFail)
|
|
474
|
+
break;
|
|
475
|
+
next += 1;
|
|
476
|
+
}
|
|
477
|
+
return next;
|
|
478
|
+
}
|
|
443
479
|
// -------------------------
|
|
444
480
|
// Execution
|
|
445
481
|
// -------------------------
|
|
@@ -450,6 +486,7 @@ class TaskEngine extends ContextualLoggedClass_js_1.AbsContextual {
|
|
|
450
486
|
let logPipeQueue = Promise.resolve();
|
|
451
487
|
const taskCtx = new TaskContext_js_1.TaskContext(ctx).accumulate({
|
|
452
488
|
taskId: task.id,
|
|
489
|
+
stepWriteLock: new transactional_decorators_1.Lock(),
|
|
453
490
|
logger: new logging_js_1.TaskLogger(log, this.config.streamBufferSize, this.config.maxLoggingBuffer),
|
|
454
491
|
attempt: task.attempt,
|
|
455
492
|
resultCache: { "task.attempt": task.attempt },
|
|
@@ -671,47 +708,30 @@ class TaskEngine extends ContextualLoggedClass_js_1.AbsContextual {
|
|
|
671
708
|
let steps = this.normalizeSteps(task.steps);
|
|
672
709
|
let idx = task.currentStep ?? 0;
|
|
673
710
|
const results = this.normalizeStepResults(task.stepResults);
|
|
711
|
+
const maxConcurrentSteps = this.getCompositeStepConcurrencyLimit();
|
|
712
|
+
const canBatchConcurrentSteps = maxConcurrentSteps > 1;
|
|
674
713
|
const cacheResult = (key, value) => {
|
|
675
714
|
context.cacheResult(key, value);
|
|
676
715
|
if (ctx instanceof TaskContext_js_1.TaskContext && ctx !== context) {
|
|
677
716
|
ctx.cacheResult(key, value);
|
|
678
717
|
}
|
|
679
718
|
};
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
const
|
|
684
|
-
if (
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
context.setStep(idx);
|
|
693
|
-
const step = steps[idx];
|
|
694
|
-
const handler = this.registry.get(step.classification);
|
|
695
|
-
if (!handler)
|
|
696
|
-
throw new Error(`No task handler registered for composite step: ${step.classification}`);
|
|
697
|
-
const dependencies = this.normalizeDependencies(step.dependsOn);
|
|
698
|
-
const dependenciesSatisfied = await this.areDependenciesSatisfied(dependencies, context);
|
|
699
|
-
if (!dependenciesSatisfied) {
|
|
700
|
-
context.reschedule(new Date(Date.now() + this.config.pollMsIdle), `Waiting dependencies for step ${idx} (${step.classification})`);
|
|
701
|
-
}
|
|
702
|
-
const lockConflict = await this.hasLockConflict(task, idx, context);
|
|
703
|
-
if (lockConflict) {
|
|
704
|
-
context.reschedule(new Date(Date.now() + this.config.pollMsIdle), `Waiting lock for step ${idx} (${step.classification})`);
|
|
719
|
+
const refreshFromTask = () => {
|
|
720
|
+
steps = this.normalizeSteps(task.steps);
|
|
721
|
+
for (let i = 0; i < results.length; i += 1) {
|
|
722
|
+
const existing = results[i];
|
|
723
|
+
if (existing?.status === constants_js_1.TaskStatus.SUCCEEDED) {
|
|
724
|
+
const prevStep = steps[i];
|
|
725
|
+
if (!prevStep)
|
|
726
|
+
continue;
|
|
727
|
+
const cacheKey = `${task.id}:step:${i}`;
|
|
728
|
+
cacheResult(prevStep.classification, existing.output);
|
|
729
|
+
cacheResult(cacheKey, existing.output);
|
|
730
|
+
}
|
|
705
731
|
}
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
await context.progress({
|
|
710
|
-
currentStep: idx,
|
|
711
|
-
totalSteps: steps.length,
|
|
712
|
-
});
|
|
713
|
-
const stepIndex = idx;
|
|
714
|
-
context.cache.put("scheduleCompositeSteps", async (newSteps, ctx) => {
|
|
732
|
+
};
|
|
733
|
+
const scheduleCompositeSteps = (stepIndex, taskStepContext) => {
|
|
734
|
+
taskStepContext.cache.put("scheduleCompositeSteps", async (newSteps, ctx) => {
|
|
715
735
|
const log = ctx.logger.for("scheduleSteps.afterCurrent");
|
|
716
736
|
const normalizedNewSteps = this.normalizeSteps(newSteps);
|
|
717
737
|
if (!normalizedNewSteps.length)
|
|
@@ -722,7 +742,7 @@ class TaskEngine extends ContextualLoggedClass_js_1.AbsContextual {
|
|
|
722
742
|
task.steps = currentSteps;
|
|
723
743
|
const persisted = await this.tasks.update(task, context);
|
|
724
744
|
Object.assign(task, persisted);
|
|
725
|
-
|
|
745
|
+
refreshFromTask();
|
|
726
746
|
log.verbose(`Inserted ${normalizedNewSteps.length} steps at index ${insertionIndex}`);
|
|
727
747
|
const updateEvent = await this.persistEvent(context, task.id, constants_js_1.TaskEventType.UPDATE, {
|
|
728
748
|
status: "update",
|
|
@@ -735,7 +755,7 @@ class TaskEngine extends ContextualLoggedClass_js_1.AbsContextual {
|
|
|
735
755
|
});
|
|
736
756
|
this.bus.emit(updateEvent, context);
|
|
737
757
|
});
|
|
738
|
-
|
|
758
|
+
taskStepContext.cache.put("scheduleCompositeStepsAtEnd", async (newSteps, ctx) => {
|
|
739
759
|
const log = ctx.logger.for("scheduleSteps.atEnd");
|
|
740
760
|
const normalizedNewSteps = this.normalizeSteps(newSteps);
|
|
741
761
|
if (!normalizedNewSteps.length)
|
|
@@ -746,7 +766,7 @@ class TaskEngine extends ContextualLoggedClass_js_1.AbsContextual {
|
|
|
746
766
|
task.steps = currentSteps;
|
|
747
767
|
const persisted = await this.tasks.update(task, context);
|
|
748
768
|
Object.assign(task, persisted);
|
|
749
|
-
|
|
769
|
+
refreshFromTask();
|
|
750
770
|
log.verbose(`Appended ${normalizedNewSteps.length} steps at tail (index ${insertionIndex})`);
|
|
751
771
|
const updateEvent = await this.persistEvent(context, task.id, constants_js_1.TaskEventType.UPDATE, {
|
|
752
772
|
status: "update",
|
|
@@ -759,18 +779,44 @@ class TaskEngine extends ContextualLoggedClass_js_1.AbsContextual {
|
|
|
759
779
|
});
|
|
760
780
|
this.bus.emit(updateEvent, context);
|
|
761
781
|
});
|
|
762
|
-
|
|
782
|
+
};
|
|
783
|
+
const runSingleStep = async (stepIndex) => {
|
|
784
|
+
const step = steps[stepIndex];
|
|
785
|
+
const handler = this.registry.get(step.classification);
|
|
786
|
+
if (!handler) {
|
|
787
|
+
throw new Error(`No task handler registered for composite step: ${step.classification}`);
|
|
788
|
+
}
|
|
789
|
+
const taskStepContext = this.createCompositeStepContext(context, stepIndex);
|
|
790
|
+
scheduleCompositeSteps(stepIndex, taskStepContext);
|
|
791
|
+
const dependencies = this.normalizeDependencies(step.dependsOn);
|
|
792
|
+
const dependenciesSatisfied = await this.areDependenciesSatisfied(dependencies, taskStepContext);
|
|
793
|
+
if (!dependenciesSatisfied) {
|
|
794
|
+
taskStepContext.reschedule(new Date(Date.now() + this.config.pollMsIdle), `Waiting dependencies for step ${stepIndex} (${step.classification})`);
|
|
795
|
+
}
|
|
796
|
+
const lockConflict = await this.hasLockConflict(task, stepIndex, taskStepContext);
|
|
797
|
+
if (lockConflict) {
|
|
798
|
+
taskStepContext.reschedule(new Date(Date.now() + this.config.pollMsIdle), `Waiting lock for step ${stepIndex} (${step.classification})`);
|
|
799
|
+
}
|
|
800
|
+
await this.withStepWriteLock(taskStepContext, async () => {
|
|
801
|
+
task.currentStep = stepIndex;
|
|
802
|
+
const persistedCurrent = await this.tasks.update(task, context);
|
|
803
|
+
Object.assign(task, persistedCurrent);
|
|
804
|
+
});
|
|
805
|
+
await taskStepContext.progress({
|
|
806
|
+
currentStep: stepIndex,
|
|
807
|
+
totalSteps: steps.length,
|
|
808
|
+
});
|
|
809
|
+
await taskStepContext.pipe([
|
|
763
810
|
logging_1.LogLevel.info,
|
|
764
|
-
`Composite step ${
|
|
811
|
+
`Composite step ${stepIndex + 1}/${steps.length}: ${step.classification}`,
|
|
765
812
|
]);
|
|
766
813
|
const stepMaxAttempts = step.maxAttempts ?? 1;
|
|
767
814
|
let stepAttempt = 0;
|
|
768
815
|
let lastStepErr;
|
|
769
816
|
while (stepAttempt < stepMaxAttempts) {
|
|
770
817
|
try {
|
|
771
|
-
const out = await handler.run(step.input,
|
|
772
|
-
|
|
773
|
-
await context.flush();
|
|
818
|
+
const out = await handler.run(step.input, taskStepContext);
|
|
819
|
+
await taskStepContext.flush();
|
|
774
820
|
const now = new Date();
|
|
775
821
|
results[stepIndex] = new TaskStepResultModel_js_1.TaskStepResultModel({
|
|
776
822
|
status: constants_js_1.TaskStatus.SUCCEEDED,
|
|
@@ -782,13 +828,14 @@ class TaskEngine extends ContextualLoggedClass_js_1.AbsContextual {
|
|
|
782
828
|
const cacheKey = `${task.id}:step:${stepIndex}`;
|
|
783
829
|
cacheResult(step.classification, out);
|
|
784
830
|
cacheResult(cacheKey, out);
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
831
|
+
await this.withStepWriteLock(taskStepContext, async () => {
|
|
832
|
+
task.stepResults = results;
|
|
833
|
+
task.currentStep = this.recalculateCompositeCurrentStep(steps, results);
|
|
834
|
+
const persisted = await this.tasks.update(task, context);
|
|
835
|
+
Object.assign(task, persisted);
|
|
836
|
+
});
|
|
837
|
+
await this.emitProgress(taskStepContext, task.id, {
|
|
838
|
+
currentStep: task.currentStep ?? stepIndex + 1,
|
|
792
839
|
totalSteps: steps.length,
|
|
793
840
|
output: out,
|
|
794
841
|
});
|
|
@@ -796,14 +843,14 @@ class TaskEngine extends ContextualLoggedClass_js_1.AbsContextual {
|
|
|
796
843
|
break;
|
|
797
844
|
}
|
|
798
845
|
catch (err) {
|
|
799
|
-
stepAttempt
|
|
846
|
+
stepAttempt += 1;
|
|
800
847
|
lastStepErr = err;
|
|
801
848
|
if (stepAttempt < stepMaxAttempts) {
|
|
802
849
|
const stepBackoff = this.normalizeBackoff(step.backoff ?? task.backoff);
|
|
803
850
|
const delay = (0, utils_js_1.computeBackoffMs)(stepAttempt, stepBackoff);
|
|
804
|
-
await
|
|
851
|
+
await taskStepContext.pipe(logging_1.LogLevel.warn, `Composite step ${stepIndex} attempt ${stepAttempt}/${stepMaxAttempts} failed, retrying in ${delay}ms`, { classification: step.classification, attempt: stepAttempt, delay });
|
|
805
852
|
await (0, utils_js_1.sleep)(delay);
|
|
806
|
-
await
|
|
853
|
+
await taskStepContext.heartbeat();
|
|
807
854
|
}
|
|
808
855
|
}
|
|
809
856
|
}
|
|
@@ -811,7 +858,7 @@ class TaskEngine extends ContextualLoggedClass_js_1.AbsContextual {
|
|
|
811
858
|
const now = new Date();
|
|
812
859
|
const canFail = step.canFail === true;
|
|
813
860
|
const serializedErr = (0, utils_js_1.serializeError)(lastStepErr);
|
|
814
|
-
results[
|
|
861
|
+
results[stepIndex] = new TaskStepResultModel_js_1.TaskStepResultModel({
|
|
815
862
|
status: constants_js_1.TaskStatus.FAILED,
|
|
816
863
|
error: serializedErr,
|
|
817
864
|
attempt: stepAttempt,
|
|
@@ -820,7 +867,7 @@ class TaskEngine extends ContextualLoggedClass_js_1.AbsContextual {
|
|
|
820
867
|
});
|
|
821
868
|
if (canFail) {
|
|
822
869
|
try {
|
|
823
|
-
await handler.catch?.(step.input, lastStepErr,
|
|
870
|
+
await handler.catch?.(step.input, lastStepErr, taskStepContext);
|
|
824
871
|
}
|
|
825
872
|
catch (catchErr) {
|
|
826
873
|
ctx.logger.warn("composite step catch() hook failed", {
|
|
@@ -828,22 +875,52 @@ class TaskEngine extends ContextualLoggedClass_js_1.AbsContextual {
|
|
|
828
875
|
});
|
|
829
876
|
}
|
|
830
877
|
}
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
task.currentStep = idx;
|
|
839
|
-
}
|
|
840
|
-
// persist composite progress before optionally continuing to the next step
|
|
841
|
-
const persisted = await this.tasks.update(task);
|
|
842
|
-
Object.assign(task, persisted);
|
|
878
|
+
await this.withStepWriteLock(taskStepContext, async () => {
|
|
879
|
+
task.stepResults = results;
|
|
880
|
+
task.error = canFail ? undefined : serializedErr;
|
|
881
|
+
task.currentStep = this.recalculateCompositeCurrentStep(steps, results);
|
|
882
|
+
const persisted = await this.tasks.update(task, context);
|
|
883
|
+
Object.assign(task, persisted);
|
|
884
|
+
});
|
|
843
885
|
if (!canFail) {
|
|
844
886
|
throw lastStepErr;
|
|
845
887
|
}
|
|
846
888
|
}
|
|
889
|
+
};
|
|
890
|
+
const runConcurrentBatch = async (indices) => {
|
|
891
|
+
const batch = indices.map((stepIndex) => runSingleStep(stepIndex));
|
|
892
|
+
const settled = await Promise.allSettled(batch);
|
|
893
|
+
const hardFailure = settled.find((result) => result.status === "rejected");
|
|
894
|
+
if (hardFailure && hardFailure.status === "rejected") {
|
|
895
|
+
throw hardFailure.reason;
|
|
896
|
+
}
|
|
897
|
+
};
|
|
898
|
+
refreshFromTask();
|
|
899
|
+
while (idx < steps.length) {
|
|
900
|
+
const step = steps[idx];
|
|
901
|
+
if (this.isConcurrentCompositeStep(step) && canBatchConcurrentSteps) {
|
|
902
|
+
const batchLock = step.lock;
|
|
903
|
+
const batchIndices = [idx];
|
|
904
|
+
for (let cursor = idx + 1; cursor < steps.length && batchIndices.length < maxConcurrentSteps; cursor += 1) {
|
|
905
|
+
const candidate = steps[cursor];
|
|
906
|
+
if (!this.isConcurrentCompositeStep(candidate))
|
|
907
|
+
break;
|
|
908
|
+
if (candidate.lock !== batchLock)
|
|
909
|
+
break;
|
|
910
|
+
if (candidate.dependsOn?.length)
|
|
911
|
+
break;
|
|
912
|
+
batchIndices.push(cursor);
|
|
913
|
+
}
|
|
914
|
+
if (batchIndices.length > 1) {
|
|
915
|
+
await runConcurrentBatch(batchIndices);
|
|
916
|
+
steps = this.normalizeSteps(task.steps);
|
|
917
|
+
idx = this.recalculateCompositeCurrentStep(steps, results);
|
|
918
|
+
continue;
|
|
919
|
+
}
|
|
920
|
+
}
|
|
921
|
+
await runSingleStep(idx);
|
|
922
|
+
steps = this.normalizeSteps(task.steps);
|
|
923
|
+
idx = this.recalculateCompositeCurrentStep(steps, results);
|
|
847
924
|
}
|
|
848
925
|
return { stepResults: results };
|
|
849
926
|
}
|
|
@@ -941,10 +1018,12 @@ class TaskEngine extends ContextualLoggedClass_js_1.AbsContextual {
|
|
|
941
1018
|
step,
|
|
942
1019
|
});
|
|
943
1020
|
});
|
|
944
|
-
const nextTail = [...(task.logTail ?? []), ...entries].slice(-this.config.logTailMax);
|
|
945
|
-
task.logTail = nextTail;
|
|
946
1021
|
try {
|
|
947
|
-
return
|
|
1022
|
+
return await this.withStepWriteLock(ctx, async () => {
|
|
1023
|
+
const nextTail = [...(task.logTail ?? []), ...entries].slice(-this.config.logTailMax);
|
|
1024
|
+
task.logTail = nextTail;
|
|
1025
|
+
return [await this.tasks.update(task, ctx), entries];
|
|
1026
|
+
});
|
|
948
1027
|
}
|
|
949
1028
|
catch {
|
|
950
1029
|
return [task, []];
|