@sensigo/realm 0.1.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapters/gorgias-adapter.d.ts.map +1 -1
- package/dist/adapters/gorgias-adapter.js +24 -9
- package/dist/adapters/gorgias-adapter.js.map +1 -1
- package/dist/engine/eligibility.d.ts +8 -1
- package/dist/engine/eligibility.d.ts.map +1 -1
- package/dist/engine/eligibility.js +39 -0
- package/dist/engine/eligibility.js.map +1 -1
- package/dist/engine/execution-loop.d.ts.map +1 -1
- package/dist/engine/execution-loop.js +294 -11
- package/dist/engine/execution-loop.js.map +1 -1
- package/dist/engine/lifecycle.d.ts +7 -0
- package/dist/engine/lifecycle.d.ts.map +1 -1
- package/dist/engine/lifecycle.js +8 -1
- package/dist/engine/lifecycle.js.map +1 -1
- package/dist/engine/precondition.d.ts +32 -0
- package/dist/engine/precondition.d.ts.map +1 -1
- package/dist/engine/precondition.js +63 -1
- package/dist/engine/precondition.js.map +1 -1
- package/dist/engine/render-template.d.ts.map +1 -1
- package/dist/engine/render-template.js +8 -2
- package/dist/engine/render-template.js.map +1 -1
- package/dist/extensions/service-adapter.d.ts +7 -0
- package/dist/extensions/service-adapter.d.ts.map +1 -1
- package/dist/extensions/step-handler.d.ts +25 -1
- package/dist/extensions/step-handler.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/store/json-file-store.d.ts.map +1 -1
- package/dist/store/json-file-store.js +9 -0
- package/dist/store/json-file-store.js.map +1 -1
- package/dist/store/store-interface.d.ts +4 -0
- package/dist/store/store-interface.d.ts.map +1 -1
- package/dist/types/run-record.d.ts +27 -2
- package/dist/types/run-record.d.ts.map +1 -1
- package/dist/types/workflow-definition.d.ts +46 -5
- package/dist/types/workflow-definition.d.ts.map +1 -1
- package/dist/types/workflow-error.d.ts +1 -1
- package/dist/types/workflow-error.d.ts.map +1 -1
- package/dist/types/workflow-error.js.map +1 -1
- package/dist/workflow/yaml-loader.d.ts +3 -2
- package/dist/workflow/yaml-loader.d.ts.map +1 -1
- package/dist/workflow/yaml-loader.js +134 -5
- package/dist/workflow/yaml-loader.js.map +1 -1
- package/package.json +1 -1
- package/dist/engine/prompt-template.d.ts +0 -25
- package/dist/engine/prompt-template.d.ts.map +0 -1
- package/dist/engine/prompt-template.js +0 -66
- package/dist/engine/prompt-template.js.map +0 -1
- package/dist/engine/state-guard.d.ts +0 -15
- package/dist/engine/state-guard.d.ts.map +0 -1
- package/dist/engine/state-guard.js +0 -40
- package/dist/engine/state-guard.js.map +0 -1
|
@@ -3,14 +3,14 @@ import { captureEvidence } from '../evidence/snapshot.js';
|
|
|
3
3
|
import { validateInputSchema, validateOutputSchema, validateTraceSchema, } from '../validation/input-schema.js';
|
|
4
4
|
import { normalizeTrace } from './trace-normalizer.js';
|
|
5
5
|
import { TERMINAL_PHASES } from './lifecycle.js';
|
|
6
|
-
import { checkPreconditions, evaluateAllPreconditions } from './precondition.js';
|
|
6
|
+
import { checkPreconditions, evaluateAllPreconditions, evaluateGuardConditions, } from './precondition.js';
|
|
7
7
|
import { ExtensionRegistry } from '../extensions/registry.js';
|
|
8
8
|
import { createDefaultRegistry } from '../extensions/default-registry.js';
|
|
9
9
|
import { resolveSecret } from '../config/secrets.js';
|
|
10
10
|
import { renderTemplate, resolvePath, UnknownFilterError } from './render-template.js';
|
|
11
11
|
import { generateSchemaSkeleton } from '../utils/schema-skeleton.js';
|
|
12
12
|
import { loadWorkflowContext } from './workflow-context-loader.js';
|
|
13
|
-
import { findEligibleSteps, isWorkflowComplete, buildEvidenceByStep, propagateSkips, } from './eligibility.js';
|
|
13
|
+
import { findEligibleSteps, findEligibleGuardSteps, isWorkflowComplete, buildEvidenceByStep, propagateSkips, } from './eligibility.js';
|
|
14
14
|
import { resolvePreExecutionAgentAction, resolvePostDispatchAgentAction, } from './error-resolution.js';
|
|
15
15
|
function delayMs(ms) {
|
|
16
16
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
@@ -36,6 +36,8 @@ function withTimeout(dispatch, ms, stepName) {
|
|
|
36
36
|
});
|
|
37
37
|
return Promise.race([dispatch(controller.signal), timeout]).finally(() => clearTimeout(timer));
|
|
38
38
|
}
|
|
39
|
+
/** Maximum nesting depth allowed in an input_map tree. */
|
|
40
|
+
const MAX_INPUT_MAP_DEPTH = 10;
|
|
39
41
|
/**
|
|
40
42
|
* Resolves an input_map declaration into a concrete params object.
|
|
41
43
|
* Falls back to options.input when input_map is absent.
|
|
@@ -49,8 +51,35 @@ function resolveInputMap(inputMap, options, pendingRun) {
|
|
|
49
51
|
context: { resources: evidenceByStep },
|
|
50
52
|
};
|
|
51
53
|
const result = {};
|
|
52
|
-
for (const [key,
|
|
53
|
-
result[key] =
|
|
54
|
+
for (const [key, node] of Object.entries(inputMap)) {
|
|
55
|
+
result[key] = resolveInputMapNode(node, root, key, 0);
|
|
56
|
+
}
|
|
57
|
+
return result;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Recursively resolves a single InputMapNode. String leaves are resolved via resolvePath;
|
|
61
|
+
* object nodes produce a nested Record by recursing into their entries.
|
|
62
|
+
*/
|
|
63
|
+
function resolveInputMapNode(node, root, keyChain, depth) {
|
|
64
|
+
if (depth > MAX_INPUT_MAP_DEPTH) {
|
|
65
|
+
throw new WorkflowError(`input_map path "${keyChain}": exceeded maximum nesting depth of ${MAX_INPUT_MAP_DEPTH}`, {
|
|
66
|
+
code: 'INPUT_MAP_DEPTH_EXCEEDED',
|
|
67
|
+
category: 'ENGINE',
|
|
68
|
+
agentAction: 'report_to_user',
|
|
69
|
+
retryable: false,
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
if (typeof node === 'string') {
|
|
73
|
+
return resolvePath(node, root);
|
|
74
|
+
}
|
|
75
|
+
// Literal node — return the value directly without path resolution.
|
|
76
|
+
if ('$literal' in node && Object.keys(node).length === 1) {
|
|
77
|
+
return node.$literal;
|
|
78
|
+
}
|
|
79
|
+
// Nested object — recurse.
|
|
80
|
+
const result = {};
|
|
81
|
+
for (const [key, child] of Object.entries(node)) {
|
|
82
|
+
result[key] = resolveInputMapNode(child, root, `${keyChain}.${key}`, depth + 1);
|
|
54
83
|
}
|
|
55
84
|
return result;
|
|
56
85
|
}
|
|
@@ -103,7 +132,11 @@ async function callAdapter(stepDef, definition, options, pendingRun, rateLimiter
|
|
|
103
132
|
});
|
|
104
133
|
}
|
|
105
134
|
const secrets = options.secrets ?? {};
|
|
106
|
-
const config = {
|
|
135
|
+
const config = {
|
|
136
|
+
adapter: serviceDef.adapter,
|
|
137
|
+
trust: serviceDef.trust,
|
|
138
|
+
...(stepDef.config ?? {}),
|
|
139
|
+
};
|
|
107
140
|
if (serviceDef.auth?.token_from !== undefined) {
|
|
108
141
|
config['auth'] = { token: resolveSecret(serviceDef.auth.token_from, secrets) };
|
|
109
142
|
}
|
|
@@ -240,7 +273,10 @@ async function callHandler(stepDef, options, pendingRun, evidenceByStep, signal)
|
|
|
240
273
|
stepId: options.command,
|
|
241
274
|
});
|
|
242
275
|
}
|
|
243
|
-
|
|
276
|
+
if (result.abort !== undefined) {
|
|
277
|
+
return { kind: 'abort', message: result.abort.message };
|
|
278
|
+
}
|
|
279
|
+
return { kind: 'data', output: result.data ?? {} };
|
|
244
280
|
}
|
|
245
281
|
/**
|
|
246
282
|
* Builds a NextAction for a single eligible step, resolving prompt templates.
|
|
@@ -586,7 +622,16 @@ export async function executeStep(store, definition, options) {
|
|
|
586
622
|
return callAdapter(stepDef, definition, options, pendingRun, rateLimiterRegistry, signal);
|
|
587
623
|
}
|
|
588
624
|
else if (stepDef?.execution === 'auto' && stepDef.handler !== undefined) {
|
|
589
|
-
return callHandler(stepDef, options, pendingRun, evidenceByStep, signal).then((result) =>
|
|
625
|
+
return callHandler(stepDef, options, pendingRun, evidenceByStep, signal).then((result) => {
|
|
626
|
+
if (result.kind === 'abort') {
|
|
627
|
+
return {
|
|
628
|
+
output: {},
|
|
629
|
+
resolvedParams: undefined,
|
|
630
|
+
handlerAbort: { message: result.message },
|
|
631
|
+
};
|
|
632
|
+
}
|
|
633
|
+
return { output: result.output, resolvedParams: undefined };
|
|
634
|
+
});
|
|
590
635
|
}
|
|
591
636
|
else {
|
|
592
637
|
return options
|
|
@@ -597,6 +642,60 @@ export async function executeStep(store, definition, options) {
|
|
|
597
642
|
const callResult = timeoutMs !== undefined
|
|
598
643
|
? await withTimeout((signal) => makeCall(signal), timeoutMs, options.command)
|
|
599
644
|
: await makeCall();
|
|
645
|
+
// Handle graceful abort from a handler returning { abort: { message } }.
|
|
646
|
+
if (callResult.handlerAbort !== undefined) {
|
|
647
|
+
const abortMessage = callResult.handlerAbort.message;
|
|
648
|
+
const now = new Date();
|
|
649
|
+
const abortEvidence = {
|
|
650
|
+
...captureEvidence({
|
|
651
|
+
stepId: options.command,
|
|
652
|
+
startedAt: now,
|
|
653
|
+
completedAt: now,
|
|
654
|
+
input: options.input,
|
|
655
|
+
output: { aborted: true, abort_message: abortMessage },
|
|
656
|
+
error: abortMessage,
|
|
657
|
+
}),
|
|
658
|
+
status: 'skipped',
|
|
659
|
+
};
|
|
660
|
+
const withHandlerSkipped = {
|
|
661
|
+
...pendingRun,
|
|
662
|
+
in_progress_steps: pendingRun.in_progress_steps.filter((s) => s !== options.command),
|
|
663
|
+
evidence: [...pendingRun.evidence, abortEvidence],
|
|
664
|
+
skipped_steps: [...pendingRun.skipped_steps, options.command],
|
|
665
|
+
};
|
|
666
|
+
const withAllSkipped = {
|
|
667
|
+
...withHandlerSkipped,
|
|
668
|
+
skipped_steps: propagateSkips(withHandlerSkipped, definition),
|
|
669
|
+
};
|
|
670
|
+
const abortedRun = {
|
|
671
|
+
...withAllSkipped,
|
|
672
|
+
terminal_state: true,
|
|
673
|
+
terminal_reason: `Handler '${options.command}' aborted the run: ${abortMessage}`,
|
|
674
|
+
aborted_at: {
|
|
675
|
+
step_id: options.command,
|
|
676
|
+
abort_message: abortMessage,
|
|
677
|
+
},
|
|
678
|
+
};
|
|
679
|
+
let persistedAbortRun;
|
|
680
|
+
try {
|
|
681
|
+
persistedAbortRun = await store.update(abortedRun);
|
|
682
|
+
}
|
|
683
|
+
catch {
|
|
684
|
+
// Persist failed — return the in-memory run version.
|
|
685
|
+
}
|
|
686
|
+
return {
|
|
687
|
+
command: options.command,
|
|
688
|
+
run_id: options.runId,
|
|
689
|
+
run_version: (persistedAbortRun ?? abortedRun).version,
|
|
690
|
+
status: 'ok',
|
|
691
|
+
data: {},
|
|
692
|
+
evidence: [abortEvidence],
|
|
693
|
+
warnings: [],
|
|
694
|
+
errors: [],
|
|
695
|
+
context_hint: `Handler step '${options.command}' aborted the run: ${abortMessage}`,
|
|
696
|
+
next_actions: [],
|
|
697
|
+
};
|
|
698
|
+
}
|
|
600
699
|
attemptOutput = callResult.output;
|
|
601
700
|
resolvedParams = callResult.resolvedParams;
|
|
602
701
|
if (resolvedParams !== undefined) {
|
|
@@ -699,9 +798,11 @@ export async function executeStep(store, definition, options) {
|
|
|
699
798
|
};
|
|
700
799
|
// A run is terminal when all steps are settled OR when no step will ever become
|
|
701
800
|
// eligible again (safety net for when-condition edge cases not covered by propagateSkips).
|
|
801
|
+
// Guard steps are not returned by findEligibleSteps, so check them separately.
|
|
702
802
|
const isComplete = isWorkflowComplete(withSkippedFail, definition) ||
|
|
703
803
|
(withSkippedFail.in_progress_steps.length === 0 &&
|
|
704
|
-
findEligibleSteps(definition, withSkippedFail).length === 0
|
|
804
|
+
findEligibleSteps(definition, withSkippedFail).length === 0 &&
|
|
805
|
+
findEligibleGuardSteps(definition, withSkippedFail).length === 0);
|
|
705
806
|
const failedRun = {
|
|
706
807
|
...withSkippedFail,
|
|
707
808
|
evidence: [...pendingRun.evidence, ...allEvidence],
|
|
@@ -919,9 +1020,11 @@ export async function executeStep(store, definition, options) {
|
|
|
919
1020
|
};
|
|
920
1021
|
// A run is terminal when all steps are settled OR when no step will ever become
|
|
921
1022
|
// eligible again (safety net for when-condition routing not fully covered by propagateSkips).
|
|
1023
|
+
// Guard steps are not returned by findEligibleSteps, so check them separately.
|
|
922
1024
|
const isComplete = isWorkflowComplete(withSkippedComplete, definition) ||
|
|
923
1025
|
(withSkippedComplete.in_progress_steps.length === 0 &&
|
|
924
|
-
findEligibleSteps(definition, withSkippedComplete).length === 0
|
|
1026
|
+
findEligibleSteps(definition, withSkippedComplete).length === 0 &&
|
|
1027
|
+
findEligibleGuardSteps(definition, withSkippedComplete).length === 0);
|
|
925
1028
|
const finalRun = {
|
|
926
1029
|
...withSkippedComplete,
|
|
927
1030
|
terminal_state: isComplete,
|
|
@@ -1046,9 +1149,11 @@ export async function submitHumanResponse(store, definition, options) {
|
|
|
1046
1149
|
};
|
|
1047
1150
|
// A run is terminal when all steps are settled OR when no step will ever become
|
|
1048
1151
|
// eligible again (safety net for when-condition routing not fully covered by propagateSkips).
|
|
1152
|
+
// Guard steps are not returned by findEligibleSteps, so check them separately.
|
|
1049
1153
|
const isComplete = isWorkflowComplete(withSkippedGate, definition) ||
|
|
1050
1154
|
(withSkippedGate.in_progress_steps.length === 0 &&
|
|
1051
|
-
findEligibleSteps(definition, withSkippedGate).length === 0
|
|
1155
|
+
findEligibleSteps(definition, withSkippedGate).length === 0 &&
|
|
1156
|
+
findEligibleGuardSteps(definition, withSkippedGate).length === 0);
|
|
1052
1157
|
const finalRun = {
|
|
1053
1158
|
...withSkippedGate,
|
|
1054
1159
|
terminal_state: isComplete,
|
|
@@ -1089,6 +1194,117 @@ export async function submitHumanResponse(store, definition, options) {
|
|
|
1089
1194
|
};
|
|
1090
1195
|
}
|
|
1091
1196
|
const MAX_CHAIN_DEPTH = 50;
|
|
1197
|
+
/**
|
|
1198
|
+
* Executes a guard step inline within the engine's auto-chain.
|
|
1199
|
+
*
|
|
1200
|
+
* Guard steps are never claimed via claimStep — they execute synchronously as part of
|
|
1201
|
+
* the chain, not via agent execute_step calls. This function evaluates all abort_unless
|
|
1202
|
+
* conditions and returns an updated RunRecord:
|
|
1203
|
+
*
|
|
1204
|
+
* - PASS: guard in completed_steps, run continues.
|
|
1205
|
+
* - ABORT: guard in skipped_steps, terminal_state=true, aborted_at set.
|
|
1206
|
+
* - RESOLUTION_ERROR: guard in failed_steps, terminal_state=true, evidence with error.
|
|
1207
|
+
*
|
|
1208
|
+
* The caller is responsible for persisting the returned RunRecord via store.update.
|
|
1209
|
+
*/
|
|
1210
|
+
async function executeGuardStep(stepName, stepDef, definition, run) {
|
|
1211
|
+
// Normalise abort_unless to string[].
|
|
1212
|
+
const conditions = Array.isArray(stepDef.abort_unless)
|
|
1213
|
+
? stepDef.abort_unless
|
|
1214
|
+
: [stepDef.abort_unless];
|
|
1215
|
+
// Build evidenceByStep from current run.
|
|
1216
|
+
const evidenceByStep = buildEvidenceByStep(run);
|
|
1217
|
+
// Evaluate all conditions (no short-circuit — record all outcomes).
|
|
1218
|
+
const outcome = evaluateGuardConditions(conditions, evidenceByStep);
|
|
1219
|
+
const now = new Date();
|
|
1220
|
+
if (outcome.kind === 'resolution_error') {
|
|
1221
|
+
// Authoring error — a path in abort_unless could not be resolved.
|
|
1222
|
+
// Record evidence with error status and place guard in failed_steps.
|
|
1223
|
+
const evidenceEntry = captureEvidence({
|
|
1224
|
+
stepId: stepName,
|
|
1225
|
+
startedAt: now,
|
|
1226
|
+
completedAt: now,
|
|
1227
|
+
input: {},
|
|
1228
|
+
output: { error: `Unresolvable path: ${outcome.unresolvable_path}` },
|
|
1229
|
+
error: `Guard resolution error on condition: ${outcome.condition}`,
|
|
1230
|
+
});
|
|
1231
|
+
const withFailed = {
|
|
1232
|
+
...run,
|
|
1233
|
+
evidence: [...run.evidence, evidenceEntry],
|
|
1234
|
+
failed_steps: [...run.failed_steps, stepName],
|
|
1235
|
+
};
|
|
1236
|
+
const withSkipped = {
|
|
1237
|
+
...withFailed,
|
|
1238
|
+
skipped_steps: propagateSkips(withFailed, definition),
|
|
1239
|
+
};
|
|
1240
|
+
return {
|
|
1241
|
+
...withSkipped,
|
|
1242
|
+
terminal_state: true,
|
|
1243
|
+
terminal_reason: `Guard step '${stepName}' failed: unresolvable path '${outcome.unresolvable_path}'`,
|
|
1244
|
+
};
|
|
1245
|
+
}
|
|
1246
|
+
if (outcome.kind === 'pass') {
|
|
1247
|
+
// All conditions true — guard passed, run continues.
|
|
1248
|
+
const evidenceEntry = captureEvidence({
|
|
1249
|
+
stepId: stepName,
|
|
1250
|
+
startedAt: now,
|
|
1251
|
+
completedAt: now,
|
|
1252
|
+
input: {},
|
|
1253
|
+
output: { conditions: outcome.conditions, aborted: false },
|
|
1254
|
+
});
|
|
1255
|
+
const withCompleted = {
|
|
1256
|
+
...run,
|
|
1257
|
+
evidence: [...run.evidence, evidenceEntry],
|
|
1258
|
+
completed_steps: [...run.completed_steps, stepName],
|
|
1259
|
+
};
|
|
1260
|
+
const withSkipped = {
|
|
1261
|
+
...withCompleted,
|
|
1262
|
+
skipped_steps: propagateSkips(withCompleted, definition),
|
|
1263
|
+
};
|
|
1264
|
+
const isComplete = isWorkflowComplete(withSkipped, definition) ||
|
|
1265
|
+
(withSkipped.in_progress_steps.length === 0 &&
|
|
1266
|
+
findEligibleSteps(definition, withSkipped).length === 0 &&
|
|
1267
|
+
findEligibleGuardSteps(definition, withSkipped).length === 0);
|
|
1268
|
+
return {
|
|
1269
|
+
...withSkipped,
|
|
1270
|
+
terminal_state: isComplete,
|
|
1271
|
+
...(isComplete ? { terminal_reason: 'Workflow completed.' } : {}),
|
|
1272
|
+
};
|
|
1273
|
+
}
|
|
1274
|
+
// Guard fired — one or more conditions false; abort the run.
|
|
1275
|
+
const evidenceEntry = captureEvidence({
|
|
1276
|
+
stepId: stepName,
|
|
1277
|
+
startedAt: now,
|
|
1278
|
+
completedAt: now,
|
|
1279
|
+
input: {},
|
|
1280
|
+
output: {
|
|
1281
|
+
conditions: outcome.conditions,
|
|
1282
|
+
aborted: true,
|
|
1283
|
+
...(stepDef.abort_message !== undefined ? { abort_message: stepDef.abort_message } : {}),
|
|
1284
|
+
},
|
|
1285
|
+
error: stepDef.abort_message ?? `Guard step '${stepName}' aborted the run.`,
|
|
1286
|
+
});
|
|
1287
|
+
const withGuardSkipped = {
|
|
1288
|
+
...run,
|
|
1289
|
+
evidence: [...run.evidence, evidenceEntry],
|
|
1290
|
+
// Guard that aborted goes into skipped_steps (not completed or failed).
|
|
1291
|
+
skipped_steps: [...run.skipped_steps, stepName],
|
|
1292
|
+
};
|
|
1293
|
+
// Propagate skips for any downstream steps that can no longer fire.
|
|
1294
|
+
const withAllSkipped = {
|
|
1295
|
+
...withGuardSkipped,
|
|
1296
|
+
skipped_steps: propagateSkips(withGuardSkipped, definition),
|
|
1297
|
+
};
|
|
1298
|
+
return {
|
|
1299
|
+
...withAllSkipped,
|
|
1300
|
+
terminal_state: true,
|
|
1301
|
+
aborted_at: {
|
|
1302
|
+
step_id: stepName,
|
|
1303
|
+
conditions: outcome.conditions,
|
|
1304
|
+
...(stepDef.abort_message !== undefined ? { abort_message: stepDef.abort_message } : {}),
|
|
1305
|
+
},
|
|
1306
|
+
};
|
|
1307
|
+
}
|
|
1092
1308
|
async function executeChainInternal(store, definition, options, depth, chainedSteps) {
|
|
1093
1309
|
if (depth > MAX_CHAIN_DEPTH) {
|
|
1094
1310
|
return {
|
|
@@ -1107,7 +1323,7 @@ async function executeChainInternal(store, definition, options, depth, chainedSt
|
|
|
1107
1323
|
next_actions: [],
|
|
1108
1324
|
};
|
|
1109
1325
|
}
|
|
1110
|
-
|
|
1326
|
+
let result = await executeStep(store, definition, options);
|
|
1111
1327
|
// Stop chaining on any non-ok result.
|
|
1112
1328
|
if (result.status !== 'ok') {
|
|
1113
1329
|
return result;
|
|
@@ -1127,6 +1343,73 @@ async function executeChainInternal(store, definition, options, depth, chainedSt
|
|
|
1127
1343
|
if (run.terminal_state || run.pending_gate !== undefined) {
|
|
1128
1344
|
return result;
|
|
1129
1345
|
}
|
|
1346
|
+
// Execute any eligible guard steps inline before looking for the next auto step.
|
|
1347
|
+
// Guard steps are synchronous engine decisions — not returned to the agent.
|
|
1348
|
+
// Loop to handle cascading guards (guard A passes → guard B becomes eligible).
|
|
1349
|
+
let guardEligible = findEligibleGuardSteps(definition, run);
|
|
1350
|
+
while (guardEligible.length > 0) {
|
|
1351
|
+
const guardName = guardEligible[0];
|
|
1352
|
+
const guardStepDef = definition.steps[guardName];
|
|
1353
|
+
// Execute inline (pure in-memory; returns updated RunRecord).
|
|
1354
|
+
const guardResult = await executeGuardStep(guardName, guardStepDef, definition, run);
|
|
1355
|
+
// Persist the guard step result.
|
|
1356
|
+
let persistedGuardRun;
|
|
1357
|
+
try {
|
|
1358
|
+
persistedGuardRun = await store.update(guardResult);
|
|
1359
|
+
}
|
|
1360
|
+
catch (storeErr) {
|
|
1361
|
+
const msg = storeErr instanceof Error ? storeErr.message : String(storeErr);
|
|
1362
|
+
return {
|
|
1363
|
+
command: options.command,
|
|
1364
|
+
run_id: options.runId,
|
|
1365
|
+
run_version: run.version,
|
|
1366
|
+
status: 'error',
|
|
1367
|
+
data: {},
|
|
1368
|
+
evidence: [],
|
|
1369
|
+
warnings: [],
|
|
1370
|
+
errors: [`Failed to persist guard step '${guardName}': ${msg}`],
|
|
1371
|
+
agent_action: 'stop',
|
|
1372
|
+
context_hint: `Guard step '${guardName}' could not be persisted. Run state may be inconsistent.`,
|
|
1373
|
+
next_actions: [],
|
|
1374
|
+
};
|
|
1375
|
+
}
|
|
1376
|
+
// Record in chained_auto_steps for visibility.
|
|
1377
|
+
chainedSteps.push({ step: guardName, run_phase: persistedGuardRun.run_phase });
|
|
1378
|
+
if (persistedGuardRun.terminal_state) {
|
|
1379
|
+
// Guard aborted or had a resolution error — run is terminal.
|
|
1380
|
+
const contextHint = persistedGuardRun.aborted_at !== undefined
|
|
1381
|
+
? `Guard step '${guardName}' aborted the run.`
|
|
1382
|
+
: `Guard step '${guardName}' failed with a resolution error. Run is terminated.`;
|
|
1383
|
+
return {
|
|
1384
|
+
command: options.command,
|
|
1385
|
+
run_id: options.runId,
|
|
1386
|
+
run_version: persistedGuardRun.version,
|
|
1387
|
+
status: 'ok',
|
|
1388
|
+
data: {},
|
|
1389
|
+
evidence: persistedGuardRun.evidence.slice(-1),
|
|
1390
|
+
warnings: [],
|
|
1391
|
+
errors: [],
|
|
1392
|
+
context_hint: contextHint,
|
|
1393
|
+
next_actions: [],
|
|
1394
|
+
};
|
|
1395
|
+
}
|
|
1396
|
+
run = persistedGuardRun;
|
|
1397
|
+
guardEligible = findEligibleGuardSteps(definition, run);
|
|
1398
|
+
}
|
|
1399
|
+
// If any guards ran and passed, rebuild result with fresh next_actions and run_version.
|
|
1400
|
+
// The original `result` was built before guard execution, so its next_actions and version are stale.
|
|
1401
|
+
const guardsRan = chainedSteps.some((s) => definition.steps[s.step]?.execution === 'guard');
|
|
1402
|
+
if (guardsRan) {
|
|
1403
|
+
const freshNextActions = buildNextActions(definition, run);
|
|
1404
|
+
result = {
|
|
1405
|
+
...result,
|
|
1406
|
+
run_version: run.version,
|
|
1407
|
+
next_actions: freshNextActions,
|
|
1408
|
+
};
|
|
1409
|
+
}
|
|
1410
|
+
if (run.terminal_state || run.pending_gate !== undefined) {
|
|
1411
|
+
return result;
|
|
1412
|
+
}
|
|
1130
1413
|
// Find the next eligible auto step and chain into it.
|
|
1131
1414
|
const eligible = findEligibleSteps(definition, run);
|
|
1132
1415
|
const nextAutoStep = eligible.find((name) => definition.steps[name]?.execution === 'auto');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution-loop.js","sourceRoot":"","sources":["../../src/engine/execution-loop.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAS3D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAE1E,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACvF,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,8BAA8B,EAC9B,8BAA8B,GAC/B,MAAM,uBAAuB,CAAC;AAqE/B,SAAS,OAAO,CAAC,EAAU;IACzB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED;;;GAGG;AACH,SAAS,WAAW,CAClB,QAA6C,EAC7C,EAAU,EACV,QAAgB;IAEhB,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,IAAI,KAAoC,CAAC;IAEzC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;QAC/C,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YACtB,UAAU,CAAC,KAAK,EAAE,CAAC;YACnB,MAAM,CACJ,IAAI,aAAa,CAAC,SAAS,QAAQ,qBAAqB,EAAE,IAAI,EAAE;gBAC9D,IAAI,EAAE,cAAc;gBACpB,QAAQ,EAAE,QAAQ;gBAClB,WAAW,EAAE,gBAAgB;gBAC7B,SAAS,EAAE,KAAK;gBAChB,OAAO,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;aACtC,CAAC,CACH,CAAC;QACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IACT,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;AACjG,CAAC;AAED;;;GAGG;AACH,SAAS,eAAe,CACtB,QAA4C,EAC5C,OAA2B,EAC3B,UAAqB;IAErB,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC,KAAK,CAAC;IACjD,MAAM,cAAc,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;IACvD,MAAM,IAAI,GAA4B;QACpC,GAAG,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE;QAClC,OAAO,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE;KACvC,CAAC;IACF,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnD,MAAM,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,+FAA+F;AAC/F,SAAS,cAAc,CAAC,MAAmB,EAAE,UAAkB;IAC7D,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC;IAC1C,MAAM,IAAI,GAAG,MAAM,CAAC,aAAa,IAAI,CAAC,CAAC;IACvC,IAAI,KAAa,CAAC;IAClB,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,QAAQ;YACX,KAAK,GAAG,IAAI,GAAG,UAAU,CAAC;YAC1B,MAAM;QACR,KAAK,aAAa;YAChB,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC;YAC3C,MAAM;QACR,SAAS,UAAU;YACjB,KAAK,GAAG,IAAI,CAAC;IACjB,CAAC;IACD,OAAO,MAAM,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAC1F,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,WAAW,CACxB,OAAuB,EACvB,UAA8B,EAC9B,OAA2B,EAC3B,UAAqB,EACrB,mBAAsC,EACtC,MAAoB;IAKpB,MAAM,WAAW,GAAG,OAAO,CAAC,YAAa,CAAC;IAC1C,MAAM,UAAU,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,CAAC;IACtD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,IAAI,aAAa,CAAC,YAAY,WAAW,oCAAoC,EAAE;YACnF,IAAI,EAAE,uBAAuB;YAC7B,QAAQ,EAAE,QAAQ;YAClB,WAAW,EAAE,MAAM;YACnB,SAAS,EAAE,KAAK;YAChB,MAAM,EAAE,OAAO,CAAC,OAAO;SACxB,CAAC,CAAC;IACL,CAAC;IAED,qFAAqF;IACrF,gFAAgF;IAChF,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,qBAAqB,EAAE,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC7F,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAI,aAAa,CACrB,YAAY,UAAU,CAAC,OAAO,kBAAkB,WAAW,qBAAqB,EAChF;YACE,IAAI,EAAE,uBAAuB;YAC7B,QAAQ,EAAE,QAAQ;YAClB,WAAW,EAAE,MAAM;YACnB,SAAS,EAAE,KAAK;YAChB,MAAM,EAAE,OAAO,CAAC,OAAO;SACxB,CACF,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;IACtC,MAAM,MAAM,GAA4B,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC;IACjG,IAAI,UAAU,CAAC,IAAI,EAAE,UAAU,KAAK,SAAS,EAAE,CAAC;QAC9C,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,CAAC;IACjF,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC;IACjD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAEvD,MAAM,aAAa,GAAG,eAAe,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAE9E,kFAAkF;IAClF,kFAAkF;IAClF,MAAM,aAAa,GAAG,OAAO,CAAC,MAA8B,CAAC,CAAC;IAC9D,IAAI,OAAO,aAAa,KAAK,UAAU,EAAE,CAAC;QACxC,MAAM,IAAI,aAAa,CACrB,YAAY,UAAU,CAAC,OAAO,sCAAsC,MAAM,GAAG,EAC7E;YACE,IAAI,EAAE,wBAAwB;YAC9B,QAAQ,EAAE,QAAQ;YAClB,WAAW,EAAE,gBAAgB;YAC7B,SAAS,EAAE,KAAK;SACjB,CACF,CAAC;IACJ,CAAC;IAED,uEAAuE;IACvE,wEAAwE;IACxE,IAAI,UAAU,CAAC,UAAU,EAAE,mBAAmB,KAAK,SAAS,EAAE,CAAC;QAC7D,MAAM,mBAAmB;aACtB,sBAAsB,CAAC,WAAW,EAAE,UAAU,CAAC,UAAU,CAAC;aAC1D,OAAO,CAAC,MAAM,CAAC,CAAC;IACrB,CAAC;IAED,IAAI,QAAyB,CAAC;IAC9B,IAAI,CAAC;QACH,QAAQ,GAAG,MAAO,aAAyC,CAAC,IAAI,CAC9D,OAAO,EACP,SAAS,EACT,aAAa,EACb,MAAM,EACN,MAAM,CACP,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,aAAa,EAAE,CAAC;YACjC,IAAI,GAAG,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;gBACxC,6DAA6D;gBAC7D,kEAAkE;gBAClE,mDAAmD;gBACnD,iDAAiD;gBACjD,MAAM,kBAAkB,GACtB,GAAG,CAAC,WAAW;oBACf,UAAU,CAAC,UAAU,EAAE,sBAAsB;oBAC7C,OAAO,EAAE,wBAAwB,CAAC;gBAEpC,wDAAwD;gBACxD,iFAAiF;gBACjF,kFAAkF;gBAClF,8EAA8E;gBAC9E,6EAA6E;gBAC7E,iFAAiF;gBACjF,MAAM,QAAQ,GAAG,UAAU,CAAC,UAAU,EAAE,iBAAiB,CAAC;gBAC1D,IACE,UAAU,CAAC,UAAU,EAAE,mBAAmB,KAAK,SAAS;oBACxD,kBAAkB,KAAK,SAAS,EAChC,CAAC;oBACD,MAAM,aAAa,GACjB,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC;oBACvF,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;wBACtB,mBAAmB;6BAChB,sBAAsB,CAAC,WAAW,EAAE,UAAU,CAAC,UAAU,CAAC;6BAC1D,KAAK,CAAC,aAAa,CAAC,CAAC;oBAC1B,CAAC;gBACH,CAAC;gBAED,6DAA6D;gBAC7D,wEAAwE;gBACxE,yEAAyE;gBACzE,IACE,QAAQ,KAAK,SAAS;oBACtB,kBAAkB,KAAK,SAAS;oBAChC,kBAAkB,GAAG,QAAQ,EAC7B,CAAC;oBACD,MAAM,IAAI,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE;wBACnC,IAAI,EAAE,sBAAsB;wBAC5B,QAAQ,EAAE,SAAS;wBACnB,WAAW,EAAE,gBAAgB;wBAC7B,SAAS,EAAE,KAAK;wBAChB,WAAW,EAAE,kBAAkB;wBAC/B,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACzE,CAAC,CAAC;gBACL,CAAC;gBAED,qEAAqE;gBACrE,IAAI,kBAAkB,KAAK,GAAG,CAAC,WAAW,EAAE,CAAC;oBAC3C,MAAM,IAAI,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE;wBACnC,IAAI,EAAE,sBAAsB;wBAC5B,QAAQ,EAAE,SAAS;wBACnB,WAAW,EAAE,kBAAkB;wBAC/B,SAAS,EAAE,IAAI;wBACf,GAAG,CAAC,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAChF,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACzE,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,MAAM,IAAI,aAAa,CAAC,YAAY,UAAU,CAAC,OAAO,YAAY,OAAO,EAAE,EAAE;YAC3E,IAAI,EAAE,uBAAuB;YAC7B,QAAQ,EAAE,QAAQ;YAClB,WAAW,EAAE,MAAM;YACnB,SAAS,EAAE,KAAK;YAChB,MAAM,EAAE,OAAO,CAAC,OAAO;SACxB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,MAAM,GACV,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI;QACzD,CAAC,CAAE,QAAQ,CAAC,IAAgC;QAC5C,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;IACvD,OAAO;QACL,MAAM;QACN,cAAc,EAAE,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS;KAC5E,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,WAAW,CACxB,OAAuB,EACvB,OAA2B,EAC3B,UAAqB,EACrB,cAAuD,EACvD,MAAoB;IAEpB,MAAM,WAAW,GAAG,OAAO,CAAC,OAAQ,CAAC;IACrC,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,qBAAqB,EAAE,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IACtF,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAI,aAAa,CAAC,YAAY,WAAW,qBAAqB,EAAE;YACpE,IAAI,EAAE,uBAAuB;YAC7B,QAAQ,EAAE,QAAQ;YAClB,WAAW,EAAE,MAAM;YACnB,SAAS,EAAE,KAAK;YAChB,MAAM,EAAE,OAAO,CAAC,OAAO;SACxB,CAAC,CAAC;IACL,CAAC;IAED,IAAI,MAAmD,CAAC;IACxD,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAC5B,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,EAAE,EACzB;YACE,MAAM,EAAE,OAAO,CAAC,KAAK;YACrB,UAAU,EAAE,UAAU,CAAC,MAAM;YAC7B,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;YAC5B,SAAS,EAAE,cAAc;SAC1B,EACD,MAAM,CACP,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,aAAa;YAAE,MAAM,GAAG,CAAC;QAC5C,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,MAAM,IAAI,aAAa,CAAC,YAAY,WAAW,YAAY,OAAO,EAAE,EAAE;YACpE,IAAI,EAAE,uBAAuB;YAC7B,QAAQ,EAAE,QAAQ;YAClB,WAAW,EAAE,MAAM;YACnB,SAAS,EAAE,KAAK;YAChB,MAAM,EAAE,OAAO,CAAC,OAAO;SACxB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CACvB,QAAgB,EAChB,IAAoB,EACpB,OAQC;IAED,MAAM,cAAc,GAClB,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE/E,OAAO;QACL,WAAW,EACT,IAAI,CAAC,OAAO,KAAK,SAAS;YACxB,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;YACnD,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,OAAO;gBAC1B,CAAC,CAAC;oBACE,IAAI,EAAE,cAAc;oBACpB,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE;oBACpD,SAAS,EAAE;wBACT,MAAM,EAAE,OAAO,CAAC,KAAK;wBACrB,OAAO,EAAE,QAAQ;wBACjB,MAAM,EACJ,IAAI,CAAC,YAAY,KAAK,SAAS;4BAC7B,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,YAAuC,CAAC;4BACtE,CAAC,CAAC,EAAE;qBACT;iBACF;gBACH,CAAC,CAAC,IAAI;QACZ,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,OAAO,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS;YAC/D,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE;YACrC,CAAC,CAAC,EAAE,CAAC;QACP,cAAc,EAAE,iBAAiB,QAAQ,MAAM,IAAI,CAAC,WAAW,EAAE;QACjE,WAAW,EAAE,oCAAoC,QAAQ,IAAI;QAC7D,GAAG,CAAC,IAAI,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/F,GAAG,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpE,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,UAA8B,EAAE,GAAc;IAC7E,MAAM,QAAQ,GAAG,iBAAiB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IACpD,MAAM,cAAc,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG;QACd,cAAc;QACd,SAAS,EAAE,GAAG,CAAC,MAAM;QACrB,KAAK,EAAE,GAAG,CAAC,EAAE;QACb,GAAG,CAAC,GAAG,CAAC,0BAA0B,KAAK,SAAS;YAC9C,CAAC,CAAC;gBACE,eAAe,EAAE;oBACf,SAAS,EAAE,GAAG,CAAC,0BAA0B;oBACzC,OAAO,EAAE,CAAC,UAAU,CAAC,eAAe,IAAI,KAAK,CAAyB;iBACvE;aACF;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;IAEF,OAAO,QAAQ;SACZ,MAAM,CACL,CAAC,IAAI,EAAE,EAAE,CACP,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,SAAS,KAAK,OAAO;QAC7C,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,KAAK,SAAS,CAChD;SACA,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,CAAE,EAAE,OAAO,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED;;;GAGG;AACH,SAAS,aAAa,CAAC,aAAuB,EAAE,cAAuB;IACrE,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,IAAI,cAAc,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IAC1E,OAAO,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC;AAChG,CAAC;AAED,qEAAqE;AACrE,SAAS,aAAa,CACpB,OAAe,EACf,KAAa,EACb,UAAkB,EAClB,GAAkB,EAClB,WAAoB;IAEpB,OAAO;QACL,OAAO;QACP,MAAM,EAAE,KAAK;QACb,WAAW,EAAE,UAAU;QACvB,MAAM,EAAE,OAAO;QACf,IAAI,EAAE,EAAE;QACR,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC;QACrB,UAAU,EAAE,GAAG,CAAC,IAAI;QACpB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9E,YAAY,EAAE,GAAG,CAAC,WAAW;QAC7B,GAAG,CAAC,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,YAAY,EAAE,WAAW,IAAI,iBAAiB,OAAO,IAAI;QACzD,YAAY,EAAE,EAAE;KACjB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,8BAA8B,CAC5C,OAAe,EACf,KAAa,EACb,UAAkB,EAClB,GAAkB,EAClB,WAAoB;IAEpB,MAAM,WAAW,GAAG,8BAA8B,CAAC,GAAG,CAAC,CAAC;IACxD,OAAO;QACL,OAAO;QACP,MAAM,EAAE,KAAK;QACb,WAAW,EAAE,UAAU;QACvB,MAAM,EAAE,OAAO;QACf,IAAI,EAAE,EAAE;QACR,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC;QACrB,UAAU,EAAE,GAAG,CAAC,IAAI;QACpB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9E,YAAY,EAAE,WAAW;QACzB,GAAG,CAAC,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,YAAY,EAAE,WAAW,IAAI,iBAAiB,OAAO,IAAI;QACzD,YAAY,EAAE,EAAE;KACjB,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CACxB,OAA2B,EAC3B,GAAqB,EACrB,GAAkB,EAClB,UAA+B,EAC/B,aAAwB;IAExB,MAAM,IAAI,GACR,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,iBAAiB,OAAO,CAAC,OAAO,kBAAkB,GAAG,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACjG,MAAM,IAAI,GAAG,aAAa,CACxB,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,KAAK,EACb,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAC9B,GAAG,EACH,IAAI,CACL,CAAC;IACF,+EAA+E;IAC/E,6DAA6D;IAC7D,MAAM,cAAc,GAClB,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,YAAY,EAAE,8BAA8B,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACvF,MAAM,gBAAgB,GACpB,aAAa,KAAK,SAAS,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC;QACrD,CAAC,CAAC,EAAE,GAAG,cAAc,EAAE,QAAQ,EAAE,aAAa,EAAE;QAChD,CAAC,CAAC,cAAc,CAAC;IACrB,IAAI,GAAG,KAAK,IAAI,IAAI,UAAU,KAAK,SAAS,IAAI,GAAG,CAAC,WAAW,KAAK,MAAM,EAAE,CAAC;QAC3E,OAAO,EAAE,GAAG,gBAAgB,EAAE,YAAY,EAAE,gBAAgB,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,CAAC;IAClF,CAAC;IACD,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,KAAe,EACf,UAA8B,EAC9B,OAA2B;IAE3B,oBAAoB;IACpB,IAAI,GAAc,CAAC;IACnB,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,aAAa,EAAE,CAAC;YACjC,OAAO,iBAAiB,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QAC/C,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,aAAa,CAAC,+BAA+B,EAAE;YAClE,IAAI,EAAE,qBAAqB;YAC3B,QAAQ,EAAE,QAAQ;YAClB,WAAW,EAAE,MAAM;YACnB,SAAS,EAAE,KAAK;SACjB,CAAC,CAAC;QACH,OAAO,iBAAiB,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IACpD,CAAC;IAED,6BAA6B;IAC7B,MAAM,QAAQ,GAAG,iBAAiB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IACpD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACxC,MAAM,WAAW,GAAG,gBAAgB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QACtD,OAAO;YACL,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE,OAAO,CAAC,KAAK;YACrB,WAAW,EAAE,GAAG,CAAC,OAAO;YACxB,MAAM,EAAE,SAAS;YACjB,IAAI,EAAE,EAAE;YACR,QAAQ,EAAE,EAAE;YACZ,QAAQ,EAAE,EAAE;YACZ,MAAM,EAAE,EAAE;YACV,YAAY,EAAE,sBAA+B;YAC7C,YAAY,EAAE,SAAS,OAAO,CAAC,OAAO,6CAA6C;YACnF,YAAY,EAAE,WAAW;YACzB,cAAc,EACZ,WAAW,CAAC,MAAM,GAAG,CAAC;gBACpB,CAAC,CAAC;oBACE,cAAc,EAAE,QAAQ;oBACxB,UAAU,EAAE,0DAA0D;iBACvE;gBACH,CAAC,CAAC;oBACE,cAAc,EAAE,QAAQ;oBACxB,UAAU,EAAE,mEAAmE;iBAChF;SACR,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,cAAc,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAEhD,mCAAmC;IACnC,IAAI,OAAO,EAAE,aAAa,KAAK,SAAS,IAAI,OAAO,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7E,MAAM,MAAM,GAAG,kBAAkB,CAAC,OAAO,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;QACzE,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,OAAO;gBACL,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,MAAM,EAAE,OAAO,CAAC,KAAK;gBACrB,WAAW,EAAE,GAAG,CAAC,OAAO;gBACxB,MAAM,EAAE,SAAS;gBACjB,IAAI,EAAE,EAAE;gBACR,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,EAAE;gBACZ,MAAM,EAAE,EAAE;gBACV,YAAY,EAAE,MAAe;gBAC7B,YAAY,EAAE,iCAAiC,OAAO,CAAC,OAAO,IAAI;gBAClE,YAAY,EAAE,EAAE;gBAChB,cAAc,EAAE;oBACd,cAAc,EAAE,QAAQ;oBACxB,UAAU,EAAE,yBAAyB,MAAM,CAAC,UAAU,sBAAsB,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG;iBAC7G;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,OAAO,EAAE,aAAa,IAAI,EAAE,EAAE,cAAc,CAAC,CAAC;IACjG,IAAI,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAE7E,kCAAkC;IAClC,IAAI,OAAO,EAAE,YAAY,KAAK,SAAS,EAAE,CAAC;QACxC,IAAI,CAAC;YACH,mBAAmB,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC5E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,iBAAiB,CAAC,OAAO,EAAE,GAAG,EAAE,GAAoB,EAAE,UAAU,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAED,sDAAsD;IACtD,8EAA8E;IAC9E,iEAAiE;IACjE,0EAA0E;IAC1E,IAAI,OAAO,EAAE,SAAS,KAAK,OAAO,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QAC1E,IAAI,CAAC;YACH,oBAAoB,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC9E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,iBAAiB,CAAC,OAAO,EAAE,GAAG,EAAE,GAAoB,EAAE,UAAU,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAED,qGAAqG;IACrG,iGAAiG;IACjG,MAAM,aAAa,GAAa,EAAE,CAAC;IACnC,IAAI,kBAAoD,CAAC;IACzD,IAAI,UAAU,GAAoB,EAAE,CAAC;IAErC,IAAI,OAAO,EAAE,SAAS,KAAK,OAAO,EAAE,CAAC;QACnC,mDAAmD;QACnD,UAAU;YACR,OAAO,CAAC,gBAAgB,KAAK,SAAS;gBACpC,CAAC,CAAC,MAAM,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC;gBACrE,CAAC,CAAC,EAAE,CAAC;QAET,MAAM,WAAW,GACf,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAErF,IAAI,WAAW,EAAE,CAAC;YAChB,6EAA6E;YAC7E,oFAAoF;YACpF,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC3B,MAAM,QAAQ,GAAqD;gBACjE,GAAG,UAAU,EAAE,6CAA6C;gBAC5D,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;aACtE,CAAC;YAEF,kFAAkF;YAClF,yEAAyE;YACzE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC;YACvD,MAAM,aAAa,GAAsB,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;YAE7F,2EAA2E;YAC3E,kBAAkB,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;YAEnD,6DAA6D;YAC7D,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;gBACvC,MAAM,IAAI,GAAG,OAAO,CAAC,qBAAqB,IAAI,MAAM,CAAC;gBACrD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;oBACvB,IAAI,CAAC;wBACH,mBAAmB,CACjB,kBAAkB,CAAC,OAAO,EAC1B,OAAO,CAAC,YAAY,EACpB,OAAO,CAAC,OAAO,EACf,SAAS,CACV,CAAC;wBACF,kBAAkB,CAAC,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;wBACjD,kBAAkB,CAAC,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;wBACvD,kBAAkB,CAAC,OAAO,CAAC,iBAAiB,GAAG,CAAC,CAAC;oBACnD,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,kFAAkF;wBAClF,OAAO,iBAAiB,CAAC,OAAO,EAAE,GAAG,EAAE,GAAoB,EAAE,UAAU,CAAC,CAAC;oBAC3E,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,MAAM,MAAM,GAAG,mBAAmB,CAChC,kBAAkB,CAAC,OAAO,EAC1B,OAAO,CAAC,YAAY,EACpB,OAAO,CAAC,OAAO,EACf,MAAM,CACP,CAAC;oBACF,kBAAkB,CAAC,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;oBACjD,kBAAkB,CAAC,OAAO,CAAC,eAAe,GAAG,MAAM,CAAC;oBACpD,kBAAkB,CAAC,OAAO,CAAC,iBAAiB,GAAG,MAAM,CAAC,UAAU,CAAC;oBACjE,IAAI,MAAM,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;wBAC1B,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBACrC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,sEAAsE;IACtE,IAAI,UAAqB,CAAC;IAC1B,IAAI,CAAC;QACH,UAAU,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACjF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,aAAa,EAAE,CAAC;YACjC,IAAI,GAAG,CAAC,IAAI,KAAK,4BAA4B,EAAE,CAAC;gBAC9C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;gBACjE,OAAO;oBACL,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,MAAM,EAAE,OAAO,CAAC,KAAK;oBACrB,WAAW,EAAE,QAAQ,CAAC,OAAO;oBAC7B,MAAM,EAAE,SAAS;oBACjB,IAAI,EAAE,EAAE;oBACR,QAAQ,EAAE,EAAE;oBACZ,QAAQ,EAAE,EAAE;oBACZ,MAAM,EAAE,EAAE;oBACV,YAAY,EAAE,sBAA+B;oBAC7C,YAAY,EAAE,SAAS,OAAO,CAAC,OAAO,2CAA2C;oBACjF,YAAY,EAAE,gBAAgB,CAAC,UAAU,EAAE,QAAQ,CAAC;oBACpD,cAAc,EAAE;wBACd,cAAc,EAAE,iBAAiB,CAAC,UAAU,EAAE,QAAQ,CAAC;wBACvD,UAAU,EAAE,uDAAuD;qBACpE;iBACF,CAAC;YACJ,CAAC;YACD,OAAO,iBAAiB,CACtB,OAAO,EACP,GAAG,EACH,GAAG,EACH,UAAU,EACV,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CACrD,CAAC;QACJ,CAAC;QACD,OAAO,iBAAiB,CACtB,OAAO,EACP,GAAG,EACH,IAAI,aAAa,CAAC,sBAAsB,EAAE;YACxC,IAAI,EAAE,qBAAqB;YAC3B,QAAQ,EAAE,QAAQ;YAClB,WAAW,EAAE,MAAM;YACnB,SAAS,EAAE,KAAK;SACjB,CAAC,EACF,UAAU,EACV,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CACrD,CAAC;IACJ,CAAC;IAED,uEAAuE;IACvE,IACE,UAAU,CAAC,gBAAgB,KAAK,SAAS;QACzC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,MAAM,GAAG,CAAC;QACnD,UAAU,CAAC,0BAA0B,KAAK,SAAS,EACnD,CAAC;QACD,MAAM,gBAAgB,GAAG,MAAM,mBAAmB,CAAC,UAAU,CAAC,CAAC;QAC/D,UAAU,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC;YAC9B,GAAG,UAAU;YACb,0BAA0B,EAAE,gBAAgB;SAC7C,CAAC,CAAC;IACL,CAAC;IAED,2CAA2C;IAC3C,MAAM,WAAW,GAAG,OAAO,EAAE,KAAK,CAAC;IACnC,MAAM,WAAW,GAAG,WAAW,EAAE,YAAY,IAAI,CAAC,CAAC;IACnD,MAAM,SAAS,GACb,OAAO,EAAE,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IAEtF,6EAA6E;IAC7E,gFAAgF;IAChF,gFAAgF;IAChF,iFAAiF;IACjF,4EAA4E;IAC5E,MAAM,mBAAmB,GAAsB,OAAO,CAAC,QAAQ,IAAI,IAAI,iBAAiB,EAAE,CAAC;IAE3F,IAAI,MAAM,GAA4B,EAAE,CAAC;IACzC,IAAI,aAAa,GAAyB,IAAI,CAAC;IAC/C,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,MAAM,WAAW,GAAuB,EAAE,CAAC;IAE3C,KAAK,IAAI,UAAU,GAAG,CAAC,EAAE,UAAU,IAAI,WAAW,EAAE,UAAU,EAAE,EAAE,CAAC;QACjE,YAAY,GAAG,UAAU,CAAC;QAC1B,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAC7B,IAAI,aAAa,GAA4B,EAAE,CAAC;QAChD,IAAI,YAAY,GAAyB,IAAI,CAAC;QAC9C,IAAI,cAAmD,CAAC;QAExD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,CACf,MAAoB,EAInB,EAAE;gBACH,IAAI,OAAO,EAAE,SAAS,KAAK,MAAM,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;oBACxE,OAAO,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,CAAC,CAAC;gBAC5F,CAAC;qBAAM,IAAI,OAAO,EAAE,SAAS,KAAK,MAAM,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;oBAC1E,OAAO,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,IAAI,CAC3E,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,CAC5D,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,OAAO,OAAO;yBACX,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC;yBAC9D,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;gBACvE,CAAC;YACH,CAAC,CAAC;YACF,MAAM,UAAU,GACd,SAAS,KAAK,SAAS;gBACrB,CAAC,CAAC,MAAM,WAAW,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC;gBAC7E,CAAC,CAAC,MAAM,QAAQ,EAAE,CAAC;YACvB,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC;YAClC,cAAc,GAAG,UAAU,CAAC,cAAc,CAAC;YAC3C,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;gBACjC,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC5E,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,aAAa,EAAE,CAAC;gBACjC,YAAY,GAAG,GAAG,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACjE,YAAY,GAAG,IAAI,aAAa,CAAC,sBAAsB,OAAO,EAAE,EAAE;oBAChE,IAAI,EAAE,iBAAiB;oBACvB,QAAQ,EAAE,QAAQ;oBAClB,WAAW,EAAE,MAAM;oBACnB,SAAS,EAAE,KAAK;oBAChB,MAAM,EAAE,OAAO,CAAC,OAAO;iBACxB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,OAAO,EAAE,aAAa,CAAC;QACvC,MAAM,WAAW,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAChG,MAAM,QAAQ,GAAG,eAAe,CAAC;YAC/B,MAAM,EAAE,OAAO,CAAC,OAAO;YACvB,SAAS;YACT,WAAW;YACX,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,aAAa;YACrB,GAAG,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjE,WAAW,EAAE;gBACX,oBAAoB,EAAE,kBAAkB;gBACxC,kBAAkB,EAAE,iBAAiB;aACtC;YACD,GAAG,CAAC,WAAW,KAAK,SAAS;gBAC3B,CAAC,CAAC,EAAE,YAAY,EAAE,OAAQ,EAAE,gBAAgB,EAAE,WAAW,CAAC,YAAY,EAAE;gBACxE,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,KAAK,SAAS;gBAC3C,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE;gBAC3C,CAAC,CAAC,EAAE,CAAC;YACP,iFAAiF;YACjF,mFAAmF;YACnF,qFAAqF;YACrF,6EAA6E;YAC7E,GAAG,CAAC,OAAO,EAAE,SAAS,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC1F,CAAC,CAAC,kBAAkB,KAAK,SAAS;oBAChC,CAAC,CAAC,EAAE,eAAe,EAAE,kBAAkB,EAAE;oBACzC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE,EAAE;gBAClC,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,CAAC;QACH,MAAM,IAAI,GACR,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC9E,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEvB,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;YAC1B,MAAM,GAAG,aAAa,CAAC;YACvB,aAAa,GAAG,IAAI,CAAC;YACrB,MAAM;QACR,CAAC;QAED,aAAa,GAAG,YAAY,CAAC;QAC7B,MAAM,SAAS,GACb,WAAW,KAAK,SAAS,IAAI,YAAY,CAAC,SAAS,IAAI,UAAU,GAAG,WAAW,CAAC;QAClF,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,WAAW,GAAG,cAAc,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;YAC5D,MAAM,YAAY,GAChB,YAAY,YAAY,aAAa,IAAI,YAAY,CAAC,WAAW,KAAK,SAAS;gBAC7E,CAAC,CAAC,YAAY,CAAC,WAAW,GAAG,IAAI;gBACjC,CAAC,CAAC,CAAC,CAAC;YACR,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC;QACrD,CAAC;aAAM,CAAC;YACN,MAAM;QACR,CAAC;IACH,CAAC;IAED,IAAI,aAAa,KAAK,IAAI,IAAI,WAAW,KAAK,SAAS,IAAI,YAAY,KAAK,WAAW,EAAE,CAAC;QACxF,MAAM,SAAS,GAAG,aAAa,CAAC;QAChC,aAAa,GAAG,IAAI,aAAa,CAC/B,SAAS,OAAO,CAAC,OAAO,kBAAkB,YAAY,WAAW,EACjE;YACE,IAAI,EAAE,sBAAsB;YAC5B,QAAQ,EAAE,QAAQ;YAClB,WAAW,EAAE,gBAAgB;YAC7B,SAAS,EAAE,KAAK;YAChB,OAAO,EAAE;gBACP,QAAQ,EAAE,OAAO,CAAC,OAAO;gBACzB,QAAQ,EAAE,YAAY;gBACtB,SAAS,EAAE,SAAS,CAAC,OAAO;gBAC5B,GAAG,CAAC,SAAS,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACvF;SACF,CACF,CAAC;IACJ,CAAC;IAED,+DAA+D;IAC/D,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;QAC3B,wDAAwD;QACxD,MAAM,SAAS,GAAc;YAC3B,GAAG,UAAU;YACb,iBAAiB,EAAE,UAAU,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC;YACpF,YAAY,EAAE,CAAC,GAAG,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC;SAC5D,CAAC;QACF,4FAA4F;QAC5F,MAAM,eAAe,GAAc;YACjC,GAAG,SAAS;YACZ,aAAa,EAAE,cAAc,CAAC,SAAS,EAAE,UAAU,CAAC;SACrD,CAAC;QACF,gFAAgF;QAChF,2FAA2F;QAC3F,MAAM,UAAU,GACd,kBAAkB,CAAC,eAAe,EAAE,UAAU,CAAC;YAC/C,CAAC,eAAe,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC;gBAC7C,iBAAiB,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;QACjE,MAAM,SAAS,GAAc;YAC3B,GAAG,eAAe;YAClB,QAAQ,EAAE,CAAC,GAAG,UAAU,CAAC,QAAQ,EAAE,GAAG,WAAW,CAAC;YAClD,cAAc,EAAE,UAAU;YAC1B,GAAG,CAAC,UAAU;gBACZ,CAAC,CAAC,EAAE,eAAe,EAAE,SAAS,OAAO,CAAC,OAAO,aAAa,aAAa,CAAC,OAAO,EAAE,EAAE;gBACnF,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;QAEF,mFAAmF;QACnF,mDAAmD;QACnD,IAAI,YAAmC,CAAC;QACxC,IAAI,mBAAuC,CAAC;QAC5C,IAAI,CAAC;YACH,YAAY,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,QAAQ,EAAE,CAAC;YAClB,mBAAmB,GAAG,mCAAmC,QAAQ,YAAY,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7H,CAAC;QACD,IAAI,iBAAqC,CAAC;QAC1C,IAAI,CAAC;YACH,mFAAmF;YACnF,MAAM,OAAO,CAAC,gBAAgB,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QACzE,CAAC;QAAC,OAAO,MAAM,EAAE,CAAC;YAChB,iBAAiB,GAAG,uDAAuD,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACzI,CAAC;QAED,8EAA8E;QAC9E,EAAE;QACF,qFAAqF;QACrF,qFAAqF;QACrF,iDAAiD;QACjD,EAAE;QACF,uFAAuF;QACvF,oFAAoF;QACpF,MAAM,eAAe,GAAG,8BAA8B,CACpD,aAAa,EACb,CAAC,YAAY,IAAI,SAAS,CAAC,CAAC,cAAc,CAC3C,CAAC;QAEF,oFAAoF;QACpF,wFAAwF;QACxF,IAAI,WAAW,GAAiB,EAAE,CAAC;QACnC,IAAI,eAAe,KAAK,MAAM,IAAI,mBAAmB,KAAK,SAAS,EAAE,CAAC;YACpE,IAAI,CAAC;gBACH,WAAW,GAAG,gBAAgB,CAAC,UAAU,EAAE,YAAY,IAAI,SAAS,CAAC,CAAC;YACxE,CAAC;YAAC,MAAM,CAAC;gBACP,oFAAoF;YACtF,CAAC;QACH,CAAC;QAED,MAAM,WAAW,GACf,eAAe,KAAK,MAAM;YACxB,CAAC,CAAC,SAAS,OAAO,CAAC,OAAO,8BAA8B;YACxD,CAAC,CAAC,eAAe,KAAK,kBAAkB;gBACtC,CAAC,CAAC,SAAS,OAAO,CAAC,OAAO,4BAA4B,aAAa,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,WAAW,YAAY,CAAC,CAAC,CAAC,UAAU,6DAA6D;gBAClN,CAAC,CAAC,eAAe,KAAK,gBAAgB;oBACpC,CAAC,CAAC,SAAS,OAAO,CAAC,OAAO,0HAA0H;oBACpJ,CAAC,CAAC,SAAS,OAAO,CAAC,OAAO,aAAa,UAAU,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,+CAA+C,EAAE,CAAC;QAErI,OAAO;YACL,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE,OAAO,CAAC,KAAK;YACrB,WAAW,EAAE,CAAC,YAAY,IAAI,SAAS,CAAC,CAAC,OAAO;YAChD,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,EAAE;YACR,QAAQ,EAAE,WAAW;YACrB,QAAQ,EAAE,aAAa,CAAC,aAAa,EAAE,mBAAmB,IAAI,iBAAiB,CAAC;YAChF,MAAM,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC;YAC/B,YAAY,EAAE,eAAe;YAC7B,GAAG,CAAC,aAAa,CAAC,WAAW,KAAK,SAAS;gBACzC,CAAC,CAAC,EAAE,WAAW,EAAE,aAAa,CAAC,WAAW,EAAE;gBAC5C,CAAC,CAAC,EAAE,CAAC;YACP,YAAY,EAAE,WAAW;YACzB,YAAY,EAAE,WAAW;SAC1B,CAAC;IACJ,CAAC;IAED,oFAAoF;IACpF,IAAI,OAAQ,CAAC,KAAK,KAAK,iBAAiB,IAAI,OAAQ,CAAC,KAAK,KAAK,gBAAgB,EAAE,CAAC;QAChF,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACpC,MAAM,UAAU,GACd,OAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,OAAQ,CAAC,YAAY,EAAE,UAAU,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC;QAChF,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAE,UAAuB,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC7F,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;QAElC,6EAA6E;QAC7E,MAAM,oBAAoB,GAAG,EAAE,GAAG,cAAc,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QAC9E,MAAM,gBAAgB,GACpB,UAAU,CAAC,0BAA0B,KAAK,SAAS;YACjD,CAAC,CAAC;gBACE,eAAe,EAAE;oBACf,SAAS,EAAE,UAAU,CAAC,0BAA0B;oBAChD,OAAO,EAAE,CAAC,UAAU,CAAC,eAAe,IAAI,KAAK,CAAyB;iBACvE;aACF;YACH,CAAC,CAAC,EAAE,CAAC;QACT,IAAI,mBAAuC,CAAC;QAC5C,IAAI,OAAQ,CAAC,IAAI,EAAE,OAAO,KAAK,SAAS,EAAE,CAAC;YACzC,IAAI,GAAW,CAAC;YAChB,IAAI,CAAC;gBACH,GAAG,GAAG,cAAc,CAClB,OAAQ,CAAC,IAAI,CAAC,OAAO,EACrB;oBACE,cAAc,EAAE,oBAAoB;oBACpC,SAAS,EAAE,GAAG,CAAC,MAAM;oBACrB,GAAG,gBAAgB;iBACpB,EACD,EAAE,MAAM,EAAE,IAAI,EAAE,CACjB,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,GAAG,YAAY,kBAAkB,EAAE,CAAC;oBACtC,OAAO,iBAAiB,CACtB,OAAO,EACP,UAAU,EACV,IAAI,aAAa,CAAC,qCAAqC,GAAG,CAAC,UAAU,GAAG,EAAE;wBACxE,IAAI,EAAE,gBAAgB;wBACtB,QAAQ,EAAE,QAAQ;wBAClB,WAAW,EAAE,MAAM;wBACnB,SAAS,EAAE,KAAK;qBACjB,CAAC,EACF,UAAU,EACV,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CACrD,CAAC;gBACJ,CAAC;gBACD,MAAM,GAAG,CAAC;YACZ,CAAC;YACD,MAAM,UAAU,GAAG,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAClF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,OAAO,iBAAiB,CACtB,OAAO,EACP,UAAU,EACV,IAAI,aAAa,CAAC,6CAA6C,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;oBACtF,IAAI,EAAE,2BAA2B;oBACjC,QAAQ,EAAE,QAAQ;oBAClB,WAAW,EAAE,MAAM;oBACnB,SAAS,EAAE,KAAK;iBACjB,CAAC,EACF,UAAU,EACV,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CACrD,CAAC;YACJ,CAAC;YACD,mBAAmB,GAAG,GAAG,CAAC;QAC5B,CAAC;QAED,MAAM,UAAU,GAAG,OAAQ,CAAC,IAAI,CAAC;QAEjC,IAAI,OAAkB,CAAC;QACvB,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC;gBAC3B,GAAG,UAAU;gBACb,qFAAqF;gBACrF,QAAQ,EAAE,CAAC,GAAG,UAAU,CAAC,QAAQ,EAAE,GAAG,WAAW,CAAC;gBAClD,YAAY,EAAE;oBACZ,OAAO;oBACP,SAAS;oBACT,OAAO,EAAE,MAAM;oBACf,OAAO;oBACP,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,GAAG,CAAC,UAAU,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACvE,GAAG,CAAC,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACvF,GAAG,CAAC,UAAU,EAAE,mBAAmB,KAAK,SAAS;wBAC/C,CAAC,CAAC,EAAE,mBAAmB,EAAE,UAAU,CAAC,mBAAmB,EAAE;wBACzD,CAAC,CAAC,EAAE,CAAC;iBACR;aACF,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,aAAa,EAAE,CAAC;gBACjC,OAAO,iBAAiB,CACtB,OAAO,EACP,UAAU,EACV,GAAG,EACH,UAAU,EACV,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CACrD,CAAC;YACJ,CAAC;YACD,OAAO,iBAAiB,CACtB,OAAO,EACP,UAAU,EACV,IAAI,aAAa,CAAC,qBAAqB,EAAE;gBACvC,IAAI,EAAE,qBAAqB;gBAC3B,QAAQ,EAAE,QAAQ;gBAClB,WAAW,EAAE,MAAM;gBACnB,SAAS,EAAE,KAAK;aACjB,CAAC,EACF,UAAU,EACV,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CACrD,CAAC;QACJ,CAAC;QAED,qFAAqF;QACrF,MAAM,mBAAmB,GACvB,mBAAmB,KAAK,SAAS;YAC/B,CAAC,CAAC,mBAAmB;YACrB,CAAC,CAAC,OAAQ,CAAC,MAAM,KAAK,SAAS;gBAC7B,CAAC,CAAC,cAAc,CAAC,OAAQ,CAAC,MAAM,EAAE;oBAC9B,cAAc,EAAE,oBAAoB;oBACpC,SAAS,EAAE,GAAG,CAAC,MAAM;oBACrB,GAAG,gBAAgB;iBACpB,CAAC;gBACJ,CAAC,CAAC,SAAS,CAAC;QAClB,MAAM,wBAAwB,GAC5B,OAAQ,CAAC,YAAY,KAAK,SAAS;YACjC,CAAC,CAAC,cAAc,CAAC,OAAQ,CAAC,YAAY,EAAE;gBACpC,cAAc,EAAE,oBAAoB;gBACpC,SAAS,EAAE,GAAG,CAAC,MAAM;gBACrB,GAAG,gBAAgB;aACpB,CAAC;YACJ,CAAC,CAAC,SAAS,CAAC;QAEhB,MAAM,cAAc,GAAe;YACjC,WAAW,EAAE;gBACX,IAAI,EAAE,uBAAuB;gBAC7B,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE;gBAC1C,SAAS,EAAE;oBACT,MAAM,EAAE,OAAO,CAAC,KAAK;oBACrB,OAAO;oBACP,MAAM,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG;iBACjC;aACF;YACD,cAAc,EAAE,mCAAmC,OAAO,CAAC,OAAO,8HAA8H;YAChM,WAAW,EAAE,0BAA0B,OAAO,yBAAyB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;SAC7F,CAAC;QAEF,OAAO;YACL,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE,OAAO,CAAC,KAAK;YACrB,WAAW,EAAE,OAAO,CAAC,OAAO;YAC5B,MAAM,EAAE,kBAAkB;YAC1B,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,WAAW;YACrB,QAAQ,EAAE,CAAC,GAAG,aAAa,CAAC;YAC5B,MAAM,EAAE,EAAE;YACV,YAAY,EAAE,0BAA0B,OAAO,yBAAyB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;YAE7F,YAAY,EAAE,CAAC,cAAc,CAAC;YAC9B,IAAI,EAAE;gBACJ,OAAO;gBACP,SAAS;gBACT,OAAO,EAAE,MAAM;gBACf,OAAO;gBACP,GAAG,CAAC,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9E,GAAG,CAAC,wBAAwB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,wBAAwB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3F,aAAa,EAAE,EAAE,OAAO,EAAE;aAC3B;SACF,CAAC;IACJ,CAAC;IAED,2EAA2E;IAC3E,MAAM,aAAa,GAAc;QAC/B,GAAG,UAAU;QACb,iBAAiB,EAAE,UAAU,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC;QACpF,eAAe,EAAE,CAAC,GAAG,UAAU,CAAC,eAAe,EAAE,OAAO,CAAC,OAAO,CAAC;QACjE,QAAQ,EAAE,CAAC,GAAG,UAAU,CAAC,QAAQ,EAAE,GAAG,WAAW,CAAC;KACnD,CAAC;IACF,8FAA8F;IAC9F,6GAA6G;IAC7G,MAAM,mBAAmB,GAAc;QACrC,GAAG,aAAa;QAChB,aAAa,EAAE,cAAc,CAAC,aAAa,EAAE,UAAU,CAAC;KACzD,CAAC;IACF,gFAAgF;IAChF,8FAA8F;IAC9F,MAAM,UAAU,GACd,kBAAkB,CAAC,mBAAmB,EAAE,UAAU,CAAC;QACnD,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC;YACjD,iBAAiB,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;IACrE,MAAM,QAAQ,GAAc;QAC1B,GAAG,mBAAmB;QACtB,cAAc,EAAE,UAAU;QAC1B,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,qBAAqB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClE,CAAC;IAEF,IAAI,QAAmB,CAAC;IACxB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,aAAa,EAAE,CAAC;YACjC,OAAO,iBAAiB,CACtB,OAAO,EACP,UAAU,EACV,GAAG,EACH,UAAU,EACV,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CACrD,CAAC;QACJ,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,aAAa,CAAC,8BAA8B,EAAE;YACjE,IAAI,EAAE,qBAAqB;YAC3B,QAAQ,EAAE,QAAQ;YAClB,WAAW,EAAE,MAAM;YACnB,SAAS,EAAE,KAAK;SACjB,CAAC,CAAC;QACH,OAAO,iBAAiB,CACtB,OAAO,EACP,UAAU,EACV,QAAQ,EACR,UAAU,EACV,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CACrD,CAAC;IACJ,CAAC;IAED,wEAAwE;IACxE,MAAM,OAAO,CAAC,gBAAgB,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAEvE,6CAA6C;IAC7C,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC1F,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc;QACzC,CAAC,CAAC,0BAA0B,QAAQ,CAAC,SAAS,uCAAuC,OAAO,CAAC,KAAK,yCAAyC;QAC3I,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;YACtB,CAAC,CAAC,SAAS,OAAO,CAAC,OAAO,gBAAgB,WAAW,CAAC,MAAM,yBAAyB;YACrF,CAAC,CAAC,SAAS,OAAO,CAAC,OAAO,mDAAmD,CAAC;IAElF,OAAO;QACL,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,MAAM,EAAE,OAAO,CAAC,KAAK;QACrB,WAAW,EAAE,QAAQ,CAAC,OAAO;QAC7B,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,aAAa;QACvB,MAAM,EAAE,EAAE;QACV,YAAY,EAAE,WAAW;QACzB,YAAY,EAAE,WAAW;KAC1B,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,KAAe,EACf,UAA8B,EAC9B,OAA0B;IAE1B,eAAe;IACf,IAAI,GAAc,CAAC;IACnB,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,GACL,GAAG,YAAY,aAAa;YAC1B,CAAC,CAAC,GAAG;YACL,CAAC,CAAC,IAAI,aAAa,CAAC,+BAA+B,EAAE;gBACjD,IAAI,EAAE,qBAAqB;gBAC3B,QAAQ,EAAE,QAAQ;gBAClB,WAAW,EAAE,MAAM;gBACnB,SAAS,EAAE,KAAK;aACjB,CAAC,CAAC;QACT,OAAO,aAAa,CAAC,aAAa,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,4BAA4B;IAC5B,IAAI,GAAG,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACnC,OAAO,aAAa,CAClB,aAAa,EACb,OAAO,CAAC,KAAK,EACb,GAAG,CAAC,OAAO,EACX,IAAI,aAAa,CAAC,+BAA+B,EAAE;YACjD,IAAI,EAAE,eAAe;YACrB,QAAQ,EAAE,OAAO;YACjB,WAAW,EAAE,gBAAgB;YAC7B,SAAS,EAAE,KAAK;SACjB,CAAC,EACF,QAAQ,OAAO,CAAC,KAAK,+BAA+B,GAAG,CAAC,SAAS,KAAK,CACvE,CAAC;IACJ,CAAC;IAED,qBAAqB;IACrB,IAAI,GAAG,CAAC,YAAY,CAAC,OAAO,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;QAChD,OAAO,aAAa,CAClB,aAAa,EACb,OAAO,CAAC,KAAK,EACb,GAAG,CAAC,OAAO,EACX,IAAI,aAAa,CAAC,mBAAmB,EAAE;YACrC,IAAI,EAAE,eAAe;YACrB,QAAQ,EAAE,OAAO;YACjB,WAAW,EAAE,gBAAgB;YAC7B,SAAS,EAAE,KAAK;SACjB,CAAC,EACF,4BAA4B,OAAO,CAAC,KAAK,IAAI,CAC9C,CAAC;IACJ,CAAC;IAED,sBAAsB;IACtB,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACvD,MAAM,QAAQ,GAAG,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrD,OAAO,aAAa,CAClB,GAAG,CAAC,YAAY,CAAC,SAAS,EAC1B,OAAO,CAAC,KAAK,EACb,GAAG,CAAC,OAAO,EACX,IAAI,aAAa,CAAC,WAAW,OAAO,CAAC,MAAM,oCAAoC,QAAQ,EAAE,EAAE;YACzF,IAAI,EAAE,yBAAyB;YAC/B,QAAQ,EAAE,YAAY;YACtB,WAAW,EAAE,gBAAgB;YAC7B,SAAS,EAAE,KAAK;SACjB,CAAC,EACF,mBAAmB,OAAO,CAAC,MAAM,eAAe,GAAG,CAAC,YAAY,CAAC,SAAS,IAAI,CAC/E,CAAC;IACJ,CAAC;IAED,qEAAqE;IACrE,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC;IAChD,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;IAC/B,MAAM,YAAY,GAAG,eAAe,CAAC;QACnC,MAAM,EAAE,YAAY;QACpB,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC;QAC/C,WAAW,EAAE,WAAW;QACxB,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE;QACjC,MAAM,EAAE,EAAE,GAAG,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE;KAChE,CAAC,CAAC;IACH,MAAM,YAAY,GAAqB;QACrC,GAAG,YAAY;QACf,IAAI,EAAE,eAAwB;QAC9B,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,gBAAgB,KAAK,SAAS;YACjD,CAAC,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,YAAY,CAAC,gBAAgB,EAAE;YACrD,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;IAEF,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC;IACjE,MAAM,SAAS,GAAc;QAC3B,GAAG,IAAI;QACP,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,YAAY,CAAC;QAC3E,eAAe,EAAE,CAAC,GAAG,IAAI,CAAC,eAAe,EAAE,YAAY,CAAC;QACxD,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC;KAC3C,CAAC;IACF,wEAAwE;IACxE,2DAA2D;IAC3D,MAAM,eAAe,GAAc;QACjC,GAAG,SAAS;QACZ,aAAa,EAAE,cAAc,CAAC,SAAS,EAAE,UAAU,CAAC;KACrD,CAAC;IACF,gFAAgF;IAChF,8FAA8F;IAC9F,MAAM,UAAU,GACd,kBAAkB,CAAC,eAAe,EAAE,UAAU,CAAC;QAC/C,CAAC,eAAe,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC;YAC7C,iBAAiB,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;IACjE,MAAM,QAAQ,GAAc;QAC1B,GAAG,eAAe;QAClB,cAAc,EAAE,UAAU;QAC1B,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,qBAAqB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClE,CAAC;IAEF,IAAI,QAAmB,CAAC;IACxB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,GACL,GAAG,YAAY,aAAa;YAC1B,CAAC,CAAC,GAAG;YACL,CAAC,CAAC,IAAI,aAAa,CAAC,iCAAiC,EAAE;gBACnD,IAAI,EAAE,qBAAqB;gBAC3B,QAAQ,EAAE,QAAQ;gBAClB,WAAW,EAAE,MAAM;gBACnB,SAAS,EAAE,KAAK;aACjB,CAAC,CAAC;QACT,OAAO,aAAa,CAClB,YAAY,EACZ,OAAO,CAAC,KAAK,EACb,GAAG,CAAC,OAAO,EACX,CAAC,EACD,kCAAkC,CACnC,CAAC;IACJ,CAAC;IAED,qBAAqB;IACrB,MAAM,IAAI,GAAG,EAAE,GAAG,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;IACrE,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC1F,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc;QACzC,CAAC,CAAC,0BAA0B,QAAQ,CAAC,SAAS,uCAAuC,OAAO,CAAC,KAAK,yCAAyC;QAC3I,CAAC,CAAC,SAAS,YAAY,2BAA2B,OAAO,CAAC,MAAM,MAAM,WAAW,CAAC,MAAM,yBAAyB,CAAC;IAEpH,OAAO;QACL,OAAO,EAAE,YAAY;QACrB,MAAM,EAAE,OAAO,CAAC,KAAK;QACrB,WAAW,EAAE,QAAQ,CAAC,OAAO;QAC7B,MAAM,EAAE,IAAI;QACZ,IAAI;QACJ,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,EAAE;QACV,YAAY,EAAE,WAAW;QACzB,YAAY,EAAE,WAAW;KAC1B,CAAC;AACJ,CAAC;AAED,MAAM,eAAe,GAAG,EAAE,CAAC;AAE3B,KAAK,UAAU,oBAAoB,CACjC,KAAe,EACf,UAA8B,EAC9B,OAA4B,EAC5B,KAAa,EACb,YAA+E;IAE/E,IAAI,KAAK,GAAG,eAAe,EAAE,CAAC;QAC5B,OAAO;YACL,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE,OAAO,CAAC,KAAK;YACrB,WAAW,EAAE,CAAC;YACd,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,EAAE;YACR,QAAQ,EAAE,EAAE;YACZ,QAAQ,EAAE,EAAE;YACZ,MAAM,EAAE;gBACN,0FAA0F;aAC3F;YACD,YAAY,EAAE,MAAe;YAC7B,YAAY,EAAE,sDAAsD,OAAO,CAAC,KAAK,IAAI;YACrF,YAAY,EAAE,EAAE;SACjB,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAE7D,sCAAsC;IACtC,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QAC3B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,qDAAqD;IACrD,IAAI,GAAc,CAAC;IACnB,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,4CAA4C;IAC5C,IAAI,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,SAAS,KAAK,MAAM,EAAE,CAAC;QAC5D,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,IAAI,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACzD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,sDAAsD;IACtD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IACpD,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,SAAS,KAAK,MAAM,CAAC,CAAC;IAE3F,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,6EAA6E;QAC7E,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,oBAAoB,CACzB,KAAK,EACL,UAAU,EACV,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,EAAE,EAChD,KAAK,GAAG,CAAC,EACT,YAAY,CACb,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,KAAe,EACf,UAA8B,EAC9B,OAA4B;IAE5B,MAAM,gBAAgB,GAAwB;QAC5C,GAAG,OAAO;QACV,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,qBAAqB,EAAE;KACtD,CAAC;IACF,MAAM,OAAO,GAAsE,EAAE,CAAC;IACtF,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;IAC3F,MAAM,QAAQ,GAAG,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;IACzD,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,kBAAkB,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;AACtF,CAAC;AAED,uFAAuF;AACvF,OAAO,EAAE,eAAe,IAAI,eAAe,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"execution-loop.js","sourceRoot":"","sources":["../../src/engine/execution-loop.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,13 @@ export declare const TERMINAL_PHASES: Set<RunPhase>;
|
|
|
5
5
|
export declare const RESUMABLE_PHASES: Set<RunPhase>;
|
|
6
6
|
/** Phases in which a run is waiting for a human gate response. */
|
|
7
7
|
export declare const WAITING_PHASES: Set<RunPhase>;
|
|
8
|
+
/**
|
|
9
|
+
* Maximum seconds the engine waits for in-flight steps to settle after a guard fires.
|
|
10
|
+
* In v1 this is a documentation constant — the drain is handled by STATE_RUN_TERMINAL
|
|
11
|
+
* rejections on terminal runs. Will bound a runtime drain window if per-run timeouts
|
|
12
|
+
* are added in a future phase.
|
|
13
|
+
*/
|
|
14
|
+
export declare const DRAIN_CEILING_SECONDS = 30;
|
|
8
15
|
/** Returns true when a run in the given phase will not execute any more steps. */
|
|
9
16
|
export declare function isTerminalPhase(phase: RunPhase): boolean;
|
|
10
17
|
export declare const TERMINAL_STATES: Set<RunPhase>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../src/engine/lifecycle.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAEvD,0EAA0E;AAC1E,eAAO,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../src/engine/lifecycle.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAEvD,0EAA0E;AAC1E,eAAO,MAAM,eAAe,eAAqE,CAAC;AAElG,kFAAkF;AAClF,eAAO,MAAM,gBAAgB,eAA6C,CAAC;AAE3E,kEAAkE;AAClE,eAAO,MAAM,cAAc,eAAsC,CAAC;AAElE;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,KAAK,CAAC;AAExC,kFAAkF;AAClF,wBAAgB,eAAe,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAExD;AAID,eAAO,MAAM,eAAe,eAAkB,CAAC;AAC/C,eAAO,MAAM,gBAAgB,eAAmB,CAAC;AACjD,eAAO,MAAM,cAAc,eAAiB,CAAC;AAC7C,eAAO,MAAM,eAAe,wBAAkB,CAAC"}
|
package/dist/engine/lifecycle.js
CHANGED
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
/** Phases that mark a run as finished — no further steps will execute. */
|
|
2
|
-
export const TERMINAL_PHASES = new Set(['completed', 'failed', 'abandoned']);
|
|
2
|
+
export const TERMINAL_PHASES = new Set(['completed', 'failed', 'abandoned', 'aborted']);
|
|
3
3
|
/** Phases from which a run can be resumed by removing steps from failed_steps. */
|
|
4
4
|
export const RESUMABLE_PHASES = new Set(['failed', 'abandoned']);
|
|
5
5
|
/** Phases in which a run is waiting for a human gate response. */
|
|
6
6
|
export const WAITING_PHASES = new Set(['gate_waiting']);
|
|
7
|
+
/**
|
|
8
|
+
* Maximum seconds the engine waits for in-flight steps to settle after a guard fires.
|
|
9
|
+
* In v1 this is a documentation constant — the drain is handled by STATE_RUN_TERMINAL
|
|
10
|
+
* rejections on terminal runs. Will bound a runtime drain window if per-run timeouts
|
|
11
|
+
* are added in a future phase.
|
|
12
|
+
*/
|
|
13
|
+
export const DRAIN_CEILING_SECONDS = 30;
|
|
7
14
|
/** Returns true when a run in the given phase will not execute any more steps. */
|
|
8
15
|
export function isTerminalPhase(phase) {
|
|
9
16
|
return TERMINAL_PHASES.has(phase);
|