condukt 0.1.0 → 0.2.1
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 +159 -0
- package/dist/bridge/bridge.d.ts.map +1 -1
- package/dist/bridge/bridge.js +43 -12
- package/dist/bridge/bridge.js.map +1 -1
- package/dist/runtimes/copilot/copilot-backend.d.ts +3 -1
- package/dist/runtimes/copilot/copilot-backend.d.ts.map +1 -1
- package/dist/runtimes/copilot/subprocess-backend.d.ts.map +1 -1
- package/dist/runtimes/copilot/subprocess-backend.js +3 -0
- package/dist/runtimes/copilot/subprocess-backend.js.map +1 -1
- package/dist/src/agent.d.ts.map +1 -1
- package/dist/src/agent.js +1 -0
- package/dist/src/agent.js.map +1 -1
- package/dist/src/events.d.ts +10 -1
- package/dist/src/events.d.ts.map +1 -1
- package/dist/src/index.d.ts +3 -3
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/scheduler.d.ts +3 -1
- package/dist/src/scheduler.d.ts.map +1 -1
- package/dist/src/scheduler.js +287 -27
- package/dist/src/scheduler.js.map +1 -1
- package/dist/src/types.d.ts +17 -1
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js.map +1 -1
- package/dist/state/reducer.d.ts.map +1 -1
- package/dist/state/reducer.js +23 -2
- package/dist/state/reducer.js.map +1 -1
- package/dist/state/state-runtime.d.ts +1 -0
- package/dist/state/state-runtime.d.ts.map +1 -1
- package/dist/state/state-runtime.js +3 -0
- package/dist/state/state-runtime.js.map +1 -1
- package/dist/theme/index.d.ts +7 -0
- package/dist/theme/index.d.ts.map +1 -1
- package/dist/theme/index.js +4 -3
- package/dist/theme/index.js.map +1 -1
- package/dist/ui/components/FlowEdge.d.ts.map +1 -1
- package/dist/ui/components/FlowEdge.js +34 -12
- package/dist/ui/components/FlowEdge.js.map +1 -1
- package/dist/ui/components/FlowGraph.d.ts +5 -1
- package/dist/ui/components/FlowGraph.d.ts.map +1 -1
- package/dist/ui/components/FlowGraph.js +43 -5
- package/dist/ui/components/FlowGraph.js.map +1 -1
- package/dist/ui/components/FlowStatusBar.d.ts.map +1 -1
- package/dist/ui/components/FlowStatusBar.js +11 -1
- package/dist/ui/components/FlowStatusBar.js.map +1 -1
- package/dist/ui/components/MiniPipeline.d.ts.map +1 -1
- package/dist/ui/components/MiniPipeline.js +81 -30
- package/dist/ui/components/MiniPipeline.js.map +1 -1
- package/dist/ui/components/NodeCard.d.ts.map +1 -1
- package/dist/ui/components/NodeCard.js +1 -1
- package/dist/ui/components/NodeCard.js.map +1 -1
- package/dist/ui/components/node-panel/Output.js +1 -1
- package/dist/ui/components/node-panel/types.js +3 -3
- package/dist/ui/components/node-panel/types.js.map +1 -1
- package/dist/ui/core/components/Button.js +1 -1
- package/dist/ui/core/components/Button.js.map +1 -1
- package/dist/ui/style.css +624 -0
- package/package.json +100 -87
package/dist/src/scheduler.js
CHANGED
|
@@ -39,6 +39,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
39
39
|
};
|
|
40
40
|
})();
|
|
41
41
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
+
exports.normalizeTargets = normalizeTargets;
|
|
42
43
|
exports.validateGraph = validateGraph;
|
|
43
44
|
exports.computeFrontier = computeFrontier;
|
|
44
45
|
exports.run = run;
|
|
@@ -46,6 +47,15 @@ const fs = __importStar(require("node:fs"));
|
|
|
46
47
|
const path = __importStar(require("node:path"));
|
|
47
48
|
const types_1 = require("./types");
|
|
48
49
|
// ---------------------------------------------------------------------------
|
|
50
|
+
// Helpers
|
|
51
|
+
// ---------------------------------------------------------------------------
|
|
52
|
+
/** Normalize an EdgeTarget to an array of strings. */
|
|
53
|
+
function normalizeTargets(target) {
|
|
54
|
+
if (typeof target === 'string')
|
|
55
|
+
return [target];
|
|
56
|
+
return [...target];
|
|
57
|
+
}
|
|
58
|
+
// ---------------------------------------------------------------------------
|
|
49
59
|
// Validation
|
|
50
60
|
// ---------------------------------------------------------------------------
|
|
51
61
|
function validateGraph(graph) {
|
|
@@ -62,9 +72,69 @@ function validateGraph(graph) {
|
|
|
62
72
|
if (!nodeIds.has(source)) {
|
|
63
73
|
issues.push(`Edge source '${source}' does not exist in graph.nodes`);
|
|
64
74
|
}
|
|
65
|
-
for (const [action,
|
|
66
|
-
|
|
67
|
-
|
|
75
|
+
for (const [action, edgeTarget] of Object.entries(actionMap)) {
|
|
76
|
+
for (const target of normalizeTargets(edgeTarget)) {
|
|
77
|
+
if (target !== 'end' && !nodeIds.has(target)) {
|
|
78
|
+
issues.push(`Edge target '${target}' (from '${source}' via '${action}') does not exist in graph.nodes`);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
// Cycle detection: DFS from every node. If a back-edge is found, require a loopFallback entry.
|
|
84
|
+
// Build adjacency list from edges
|
|
85
|
+
const adj = new Map();
|
|
86
|
+
for (const [source, actionMap] of Object.entries(graph.edges)) {
|
|
87
|
+
for (const [action, edgeTarget] of Object.entries(actionMap)) {
|
|
88
|
+
for (const target of normalizeTargets(edgeTarget)) {
|
|
89
|
+
if (target === 'end')
|
|
90
|
+
continue;
|
|
91
|
+
if (!adj.has(source))
|
|
92
|
+
adj.set(source, []);
|
|
93
|
+
adj.get(source).push({ target, source, action });
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
// DFS cycle detection
|
|
98
|
+
const WHITE = 0, GRAY = 1, BLACK = 2;
|
|
99
|
+
const color = new Map();
|
|
100
|
+
for (const id of nodeIds)
|
|
101
|
+
color.set(id, WHITE);
|
|
102
|
+
// Track which edge introduced a back-edge for loopFallback validation
|
|
103
|
+
const backEdges = [];
|
|
104
|
+
function dfs(node) {
|
|
105
|
+
color.set(node, GRAY);
|
|
106
|
+
for (const edge of adj.get(node) ?? []) {
|
|
107
|
+
const c = color.get(edge.target);
|
|
108
|
+
if (c === GRAY) {
|
|
109
|
+
// Back-edge found — this creates a cycle
|
|
110
|
+
backEdges.push(edge);
|
|
111
|
+
}
|
|
112
|
+
else if (c === WHITE) {
|
|
113
|
+
dfs(edge.target);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
color.set(node, BLACK);
|
|
117
|
+
}
|
|
118
|
+
for (const id of nodeIds) {
|
|
119
|
+
if (color.get(id) === WHITE)
|
|
120
|
+
dfs(id);
|
|
121
|
+
}
|
|
122
|
+
// For each back-edge, require a loopFallback entry
|
|
123
|
+
for (const edge of backEdges) {
|
|
124
|
+
const key = `${edge.source}:${edge.action}`;
|
|
125
|
+
const fallback = graph.loopFallback?.[key];
|
|
126
|
+
if (!fallback) {
|
|
127
|
+
issues.push(`Cycle detected: edge '${edge.source}' → '${edge.target}' via '${edge.action}' ` +
|
|
128
|
+
`requires a loopFallback entry keyed by '${key}'`);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
// Validate loopFallback targets exist
|
|
132
|
+
if (graph.loopFallback) {
|
|
133
|
+
for (const [key, entry] of Object.entries(graph.loopFallback)) {
|
|
134
|
+
for (const target of normalizeTargets(entry.fallbackTarget)) {
|
|
135
|
+
if (target !== 'end' && !nodeIds.has(target)) {
|
|
136
|
+
issues.push(`loopFallback '${key}' fallbackTarget '${target}' does not exist in graph.nodes`);
|
|
137
|
+
}
|
|
68
138
|
}
|
|
69
139
|
}
|
|
70
140
|
}
|
|
@@ -130,8 +200,10 @@ function extractSkeleton(graph) {
|
|
|
130
200
|
}));
|
|
131
201
|
const edges = [];
|
|
132
202
|
for (const [source, actionMap] of Object.entries(graph.edges)) {
|
|
133
|
-
for (const [action,
|
|
134
|
-
|
|
203
|
+
for (const [action, edgeTarget] of Object.entries(actionMap)) {
|
|
204
|
+
for (const target of normalizeTargets(edgeTarget)) {
|
|
205
|
+
edges.push({ source, action, target });
|
|
206
|
+
}
|
|
135
207
|
}
|
|
136
208
|
}
|
|
137
209
|
return { nodes, edges };
|
|
@@ -163,6 +235,62 @@ function resolveArtifactPaths(reads, dir, outputMap) {
|
|
|
163
235
|
return result;
|
|
164
236
|
}
|
|
165
237
|
// ---------------------------------------------------------------------------
|
|
238
|
+
// Loop-back reset
|
|
239
|
+
// ---------------------------------------------------------------------------
|
|
240
|
+
/**
|
|
241
|
+
* Reset the loop body: clear target nodes + source node from completed/nodeStatuses/firedEdges.
|
|
242
|
+
* Emit node:reset events for each. Does NOT cascade downstream.
|
|
243
|
+
*
|
|
244
|
+
* The Reset Contract:
|
|
245
|
+
* - MUST reset: each target node (clear from completed, nodeStatuses, firedEdges[target])
|
|
246
|
+
* - MUST reset: the source node (clear from completed, nodeStatuses)
|
|
247
|
+
* - MUST clear: ONLY the target entries from firedEdges[source] (not other fan-in sources)
|
|
248
|
+
* - MUST emit: node:reset for every reset node, BEFORE re-dispatch
|
|
249
|
+
* - MUST NOT: reset downstream nodes or unrelated fan-in sources
|
|
250
|
+
*/
|
|
251
|
+
async function resetLoopBody(targets, sourceNodeId, iteration, executionId, completed, nodeStatuses, firedEdges, failedNodes, emitState) {
|
|
252
|
+
// Reset each target node
|
|
253
|
+
for (const target of targets) {
|
|
254
|
+
completed.delete(target);
|
|
255
|
+
nodeStatuses.delete(target);
|
|
256
|
+
firedEdges.delete(target);
|
|
257
|
+
failedNodes.delete(target);
|
|
258
|
+
await emitState({
|
|
259
|
+
type: 'node:reset',
|
|
260
|
+
executionId,
|
|
261
|
+
nodeId: target,
|
|
262
|
+
reason: 'loop-back',
|
|
263
|
+
iteration,
|
|
264
|
+
sourceNodeId,
|
|
265
|
+
ts: Date.now(),
|
|
266
|
+
});
|
|
267
|
+
}
|
|
268
|
+
// Reset the source node
|
|
269
|
+
completed.delete(sourceNodeId);
|
|
270
|
+
nodeStatuses.delete(sourceNodeId);
|
|
271
|
+
failedNodes.delete(sourceNodeId);
|
|
272
|
+
// Clear ONLY the loop target entries from firedEdges[source]
|
|
273
|
+
const sourceFiredSources = firedEdges.get(sourceNodeId);
|
|
274
|
+
if (sourceFiredSources) {
|
|
275
|
+
for (const target of targets) {
|
|
276
|
+
sourceFiredSources.delete(target);
|
|
277
|
+
}
|
|
278
|
+
// If no sources left, remove the entry entirely
|
|
279
|
+
if (sourceFiredSources.size === 0) {
|
|
280
|
+
firedEdges.delete(sourceNodeId);
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
await emitState({
|
|
284
|
+
type: 'node:reset',
|
|
285
|
+
executionId,
|
|
286
|
+
nodeId: sourceNodeId,
|
|
287
|
+
reason: 'loop-back',
|
|
288
|
+
iteration,
|
|
289
|
+
sourceNodeId,
|
|
290
|
+
ts: Date.now(),
|
|
291
|
+
});
|
|
292
|
+
}
|
|
293
|
+
// ---------------------------------------------------------------------------
|
|
166
294
|
// Main run loop
|
|
167
295
|
// ---------------------------------------------------------------------------
|
|
168
296
|
async function run(graph, options) {
|
|
@@ -193,6 +321,8 @@ async function run(graph, options) {
|
|
|
193
321
|
const firedEdges = new Map(); // target → sources
|
|
194
322
|
const nodeStatuses = new Map();
|
|
195
323
|
const failedNodes = new Set();
|
|
324
|
+
const loopIterations = new Map(); // source:action → iteration count
|
|
325
|
+
const loopRetryContexts = new Map(); // nodeId → RetryContext for loop re-dispatch
|
|
196
326
|
let pending;
|
|
197
327
|
if (resumeFrom) {
|
|
198
328
|
// Pre-populate from resume state
|
|
@@ -277,11 +407,12 @@ async function run(graph, options) {
|
|
|
277
407
|
// Resolve artifact paths for reads
|
|
278
408
|
const artifactPaths = resolveArtifactPaths(entry.reads, dir, outputMap);
|
|
279
409
|
// PARITY-1: Build NodeInput with retryContext from RunOptions if present
|
|
410
|
+
// Loop-back provides retryContext via loopRetryContexts
|
|
280
411
|
const nodeInput = {
|
|
281
412
|
dir,
|
|
282
413
|
params,
|
|
283
414
|
artifactPaths,
|
|
284
|
-
retryContext: retryContexts?.[nodeId],
|
|
415
|
+
retryContext: retryContexts?.[nodeId] ?? loopRetryContexts.get(nodeId),
|
|
285
416
|
};
|
|
286
417
|
// Build ExecutionContext
|
|
287
418
|
const execCtx = {
|
|
@@ -408,36 +539,137 @@ async function run(graph, options) {
|
|
|
408
539
|
nodeStatuses.set(nodeId, 'failed');
|
|
409
540
|
}
|
|
410
541
|
}
|
|
411
|
-
// Phase 1b: Fire edges for all completed nodes
|
|
542
|
+
// Phase 1b: Fire edges for all completed nodes (with loop-back detection)
|
|
543
|
+
const loopResets = []; // nodes to re-dispatch after loop-back reset
|
|
412
544
|
for (const { nodeId, output } of newlyCompleted) {
|
|
413
545
|
const edgeMap = graph.edges[nodeId];
|
|
414
546
|
if (!edgeMap)
|
|
415
547
|
continue; // terminal node, no outgoing edges
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
548
|
+
const action = output.action;
|
|
549
|
+
let edgeTarget = edgeMap[action];
|
|
550
|
+
if (!edgeTarget) {
|
|
551
|
+
edgeTarget = edgeMap['default'];
|
|
419
552
|
}
|
|
420
|
-
if (
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
553
|
+
if (!edgeTarget)
|
|
554
|
+
continue;
|
|
555
|
+
const targets = normalizeTargets(edgeTarget).filter(t => t !== 'end');
|
|
556
|
+
// Check if this is a loop-back: any target is already in the completed set
|
|
557
|
+
const loopBackTargets = targets.filter(t => completed.has(t));
|
|
558
|
+
if (loopBackTargets.length > 0) {
|
|
559
|
+
// Loop-back detected
|
|
560
|
+
const loopKey = `${nodeId}:${action}`;
|
|
561
|
+
const currentIteration = (loopIterations.get(loopKey) ?? 0) + 1;
|
|
562
|
+
loopIterations.set(loopKey, currentIteration);
|
|
563
|
+
// Check maxIterations (per-edge or graph-level)
|
|
564
|
+
const fallbackEntry = graph.loopFallback?.[loopKey];
|
|
565
|
+
const maxIter = fallbackEntry?.maxIterations ?? graph.maxIterations ?? 3;
|
|
566
|
+
if (currentIteration > maxIter) {
|
|
567
|
+
// Max iterations exceeded — route to fallback
|
|
568
|
+
if (fallbackEntry) {
|
|
569
|
+
const fallbackTargets = normalizeTargets(fallbackEntry.fallbackTarget);
|
|
570
|
+
for (const fbTarget of fallbackTargets) {
|
|
571
|
+
if (fbTarget === 'end')
|
|
572
|
+
continue;
|
|
573
|
+
let sources = firedEdges.get(fbTarget);
|
|
574
|
+
if (!sources) {
|
|
575
|
+
sources = new Set();
|
|
576
|
+
firedEdges.set(fbTarget, sources);
|
|
577
|
+
}
|
|
578
|
+
sources.add(nodeId);
|
|
579
|
+
await emitState({
|
|
580
|
+
type: 'edge:traversed',
|
|
581
|
+
executionId,
|
|
582
|
+
source: nodeId,
|
|
583
|
+
target: fbTarget,
|
|
584
|
+
action,
|
|
585
|
+
ts: Date.now(),
|
|
586
|
+
});
|
|
587
|
+
}
|
|
588
|
+
}
|
|
589
|
+
// If no fallback entry (shouldn't happen with validation), flow just stops here
|
|
590
|
+
}
|
|
591
|
+
else {
|
|
592
|
+
// Reset loop body and re-dispatch
|
|
593
|
+
// Read prior artifacts for RetryContext before resetting
|
|
594
|
+
for (const target of loopBackTargets) {
|
|
595
|
+
const entry = graph.nodes[target];
|
|
596
|
+
let priorOutput = null;
|
|
597
|
+
if (entry.output) {
|
|
598
|
+
const artifactPath = path.join(dir, entry.output);
|
|
599
|
+
try {
|
|
600
|
+
if (fs.existsSync(artifactPath)) {
|
|
601
|
+
priorOutput = fs.readFileSync(artifactPath, 'utf-8');
|
|
602
|
+
}
|
|
603
|
+
}
|
|
604
|
+
catch {
|
|
605
|
+
// ignore
|
|
606
|
+
}
|
|
607
|
+
}
|
|
608
|
+
loopRetryContexts.set(target, {
|
|
609
|
+
priorOutput,
|
|
610
|
+
feedback: `iteration ${currentIteration}`,
|
|
611
|
+
});
|
|
612
|
+
}
|
|
613
|
+
await resetLoopBody(loopBackTargets, nodeId, currentIteration, executionId, completed, nodeStatuses, firedEdges, failedNodes, emitState);
|
|
614
|
+
// Fire edges and queue for re-dispatch
|
|
615
|
+
for (const target of loopBackTargets) {
|
|
616
|
+
let sources = firedEdges.get(target);
|
|
617
|
+
if (!sources) {
|
|
618
|
+
sources = new Set();
|
|
619
|
+
firedEdges.set(target, sources);
|
|
620
|
+
}
|
|
621
|
+
sources.add(nodeId);
|
|
622
|
+
await emitState({
|
|
623
|
+
type: 'edge:traversed',
|
|
624
|
+
executionId,
|
|
625
|
+
source: nodeId,
|
|
626
|
+
target,
|
|
627
|
+
action,
|
|
628
|
+
ts: Date.now(),
|
|
629
|
+
});
|
|
630
|
+
loopResets.push(target);
|
|
631
|
+
}
|
|
632
|
+
// Also fire non-loop-back targets normally
|
|
633
|
+
for (const target of targets.filter(t => !loopBackTargets.includes(t))) {
|
|
634
|
+
let sources = firedEdges.get(target);
|
|
635
|
+
if (!sources) {
|
|
636
|
+
sources = new Set();
|
|
637
|
+
firedEdges.set(target, sources);
|
|
638
|
+
}
|
|
639
|
+
sources.add(nodeId);
|
|
640
|
+
await emitState({
|
|
641
|
+
type: 'edge:traversed',
|
|
642
|
+
executionId,
|
|
643
|
+
source: nodeId,
|
|
644
|
+
target,
|
|
645
|
+
action,
|
|
646
|
+
ts: Date.now(),
|
|
647
|
+
});
|
|
648
|
+
}
|
|
649
|
+
}
|
|
650
|
+
}
|
|
651
|
+
else {
|
|
652
|
+
// Normal edge firing (no loop-back)
|
|
653
|
+
for (const target of targets) {
|
|
654
|
+
let sources = firedEdges.get(target);
|
|
655
|
+
if (!sources) {
|
|
656
|
+
sources = new Set();
|
|
657
|
+
firedEdges.set(target, sources);
|
|
658
|
+
}
|
|
659
|
+
sources.add(nodeId);
|
|
660
|
+
await emitState({
|
|
661
|
+
type: 'edge:traversed',
|
|
662
|
+
executionId,
|
|
663
|
+
source: nodeId,
|
|
664
|
+
target,
|
|
665
|
+
action,
|
|
666
|
+
ts: Date.now(),
|
|
667
|
+
});
|
|
426
668
|
}
|
|
427
|
-
sources.add(nodeId);
|
|
428
|
-
await emitState({
|
|
429
|
-
type: 'edge:traversed',
|
|
430
|
-
executionId,
|
|
431
|
-
source: nodeId,
|
|
432
|
-
target,
|
|
433
|
-
action: output.action,
|
|
434
|
-
ts: Date.now(),
|
|
435
|
-
});
|
|
436
669
|
}
|
|
437
|
-
// If no matching edge at all: terminal node (flow ends here for this path)
|
|
438
670
|
}
|
|
439
671
|
// Phase 2: Determine which nodes are newly ready
|
|
440
|
-
const nextPending = [];
|
|
672
|
+
const nextPending = [...loopResets]; // include loop-back resets
|
|
441
673
|
const completedSet = new Set(completed.keys());
|
|
442
674
|
const pendingSet = new Set(pending);
|
|
443
675
|
for (const [target, sources] of firedEdges) {
|
|
@@ -459,6 +691,34 @@ async function run(graph, options) {
|
|
|
459
691
|
nextPending.push(target);
|
|
460
692
|
}
|
|
461
693
|
}
|
|
694
|
+
// All-fail fan-out detection: if all fired sources for a target have failed,
|
|
695
|
+
// the target will never run. Mark as skipped.
|
|
696
|
+
for (const [target, sources] of firedEdges) {
|
|
697
|
+
if (completedSet.has(target))
|
|
698
|
+
continue;
|
|
699
|
+
if (failedNodes.has(target))
|
|
700
|
+
continue;
|
|
701
|
+
if (nodeStatuses.get(target) === 'skipped')
|
|
702
|
+
continue;
|
|
703
|
+
if (nextPending.includes(target))
|
|
704
|
+
continue;
|
|
705
|
+
let allFailed = true;
|
|
706
|
+
for (const src of sources) {
|
|
707
|
+
if (!failedNodes.has(src)) {
|
|
708
|
+
allFailed = false;
|
|
709
|
+
break;
|
|
710
|
+
}
|
|
711
|
+
}
|
|
712
|
+
if (allFailed && sources.size > 0) {
|
|
713
|
+
nodeStatuses.set(target, 'skipped');
|
|
714
|
+
await emitState({
|
|
715
|
+
type: 'node:skipped',
|
|
716
|
+
executionId,
|
|
717
|
+
nodeId: target,
|
|
718
|
+
ts: Date.now(),
|
|
719
|
+
});
|
|
720
|
+
}
|
|
721
|
+
}
|
|
462
722
|
pending = nextPending;
|
|
463
723
|
}
|
|
464
724
|
// Determine final status
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../src/scheduler.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBH,sCA2CC;AAMD,0CAiCC;AAyED,kBA0WC;AA5hBD,4CAA8B;AAC9B,gDAAkC;AAWlC,mCAAgE;AAOhE,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E,SAAgB,aAAa,CAAC,KAAgB;IAC5C,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAElD,yBAAyB;IACzB,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAClC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,eAAe,OAAO,iCAAiC,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAED,4DAA4D;IAC5D,KAAK,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,gBAAgB,MAAM,iCAAiC,CAAC,CAAC;QACvE,CAAC;QACD,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YACzD,IAAI,MAAM,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC7C,MAAM,CAAC,IAAI,CACT,gBAAgB,MAAM,YAAY,MAAM,UAAU,MAAM,kCAAkC,CAC3F,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,6CAA6C;IAC7C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC1C,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1D,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC3C,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CACT,8BAA8B,KAAK,CAAC,MAAM,eAAe,QAAQ,UAAU,MAAM,GAAG,CACrF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,2BAAmB,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,yDAAyD;AACzD,8EAA8E;AAE9E,SAAgB,eAAe,CAC7B,KAAgB,EAChB,KAAkB;IAElB,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;IAE1D,qCAAqC;IACrC,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAClC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/B,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED,8DAA8D;IAC9D,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACjD,IAAI,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,SAAS;QACvC,uCAAuC;QACvC,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,SAAS;QAExC,IAAI,mBAAmB,GAAG,IAAI,CAAC;QAC/B,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3B,mBAAmB,GAAG,KAAK,CAAC;gBAC5B,MAAM;YACR,CAAC;QACH,CAAC;QACD,IAAI,mBAAmB,EAAE,CAAC;YACxB,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,8EAA8E;AAC9E,4BAA4B;AAC5B,8EAA8E;AAE9E,SAAS,eAAe,CAAC,KAAgB;IAIvC,MAAM,KAAK,GAAwB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAChE,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QAChB,EAAE;QACF,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,MAAM,EAAE,KAAK,CAAC,MAAM;KACrB,CAAC,CACH,CAAC;IAEF,MAAM,KAAK,GAAwB,EAAE,CAAC;IACtC,KAAK,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9D,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YACzD,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAC1B,CAAC;AAED,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAE9E,SAAS,kBAAkB,CACzB,OAAe,EACf,MAAmB;IAEnB,IAAI,KAAoC,CAAC;IACzC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE;QACtD,KAAK,GAAG,UAAU,CAChB,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,wBAAwB,OAAO,GAAG,CAAC,CAAC,EAC3D,OAAO,GAAG,IAAI,CACf,CAAC;QACF,6CAA6C;QAC7C,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,KAAM,CAAC,EAAE,CAAC;AACxD,CAAC;AAED,8EAA8E;AAC9E,yBAAyB;AACzB,8EAA8E;AAE9E,SAAS,oBAAoB,CAC3B,KAAoC,EACpC,GAAW,EACX,SAA8B;IAE9B,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,IAAI,CAAC,KAAK;QAAE,OAAO,MAAM,CAAC;IAC1B,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,CAAC;QAC7B,IAAI,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,8EAA8E;AAC9E,gBAAgB;AAChB,8EAA8E;AAEvE,KAAK,UAAU,GAAG,CACvB,KAAgB,EAChB,OAAmB;IAEnB,aAAa,CAAC,KAAK,CAAC,CAAC;IAErB,MAAM,EACJ,WAAW,EACX,GAAG,EACH,MAAM,EACN,OAAO,EACP,SAAS,EACT,UAAU,EACV,MAAM,EACN,UAAU,EACV,aAAa,GACd,GAAG,OAAO,CAAC;IAEZ,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,iEAAiE;IACjE,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,SAAS,CAAC;YACd,IAAI,EAAE,aAAa;YACnB,WAAW;YACX,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE;YACrB,KAAK,EAAE,QAAQ;YACf,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;SACf,CAAC,CAAC;IACL,CAAC;IAED,gEAAgE;IAChE,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC5C,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1D,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED,iBAAiB;IACjB,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkD,CAAC;IAC5E,MAAM,UAAU,GAAG,IAAI,GAAG,EAAuB,CAAC,CAAC,mBAAmB;IACtE,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC/C,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IAEtC,IAAI,OAAiB,CAAC;IAEtB,IAAI,UAAU,EAAE,CAAC;QACf,iCAAiC;QACjC,KAAK,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,UAAU,CAAC,cAAc,EAAE,CAAC;YACvD,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC9B,CAAC;QACD,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;YACtD,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3C,CAAC;QACD,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,UAAU,CAAC,YAAY,EAAE,CAAC;YACvD,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACnC,CAAC;QAED,8BAA8B;QAC9B,OAAO,GAAG,eAAe,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAE7C,MAAM,SAAS,CAAC;YACd,IAAI,EAAE,aAAa;YACnB,WAAW;YACX,YAAY,EAAE,CAAC,GAAG,OAAO,CAAC;YAC1B,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;SACf,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED,YAAY;IACZ,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,gCAAgC;QAChC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,MAAM,SAAS,CAAC;oBACd,IAAI,EAAE,aAAa;oBACnB,WAAW;oBACX,MAAM;oBACN,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;iBACf,CAAC,CAAC;YACL,CAAC;YACD,MAAM,SAAS,CAAC;gBACd,IAAI,EAAE,eAAe;gBACrB,WAAW;gBACX,MAAM,EAAE,SAAS;gBACjB,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;aACf,CAAC,CAAC;YACH,MAAM,IAAI,wBAAgB,CAAC,cAAc,CAAC,CAAC;QAC7C,CAAC;QAED,gDAAgD;QAChD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,SAAS,CAAC;gBACd,IAAI,EAAE,cAAc;gBACpB,WAAW;gBACX,MAAM;gBACN,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;aACf,CAAC,CAAC;QACL,CAAC;QAED,gFAAgF;QAChF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAClC,IAAI,KAAK,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;gBAC9B,MAAM,SAAS,CAAC;oBACd,IAAI,EAAE,YAAY;oBAClB,WAAW;oBACX,MAAM;oBACN,QAAQ,EAAE,UAAU;oBACpB,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;iBACf,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,yCAAyC;QACzC,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,UAAU,CAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAElC,wCAAwC;YACxC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACjB,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;gBAClD,IAAI,CAAC;oBACH,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;wBAChC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;oBAC9B,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,SAAS;gBACX,CAAC;YACH,CAAC;YAED,mCAAmC;YACnC,MAAM,aAAa,GAAG,oBAAoB,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;YAExE,yEAAyE;YACzE,MAAM,SAAS,GAAc;gBAC3B,GAAG;gBACH,MAAM;gBACN,aAAa;gBACb,YAAY,EAAE,aAAa,EAAE,CAAC,MAAM,CAAC;aACtC,CAAC;YAEF,yBAAyB;YACzB,MAAM,OAAO,GAAqB;gBAChC,WAAW;gBACX,MAAM;gBACN,OAAO;gBACP,UAAU;gBACV,MAAM;aACP,CAAC;YAEF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC;YAE1C,yDAAyD;YACzD,2DAA2D;YAC3D,MAAM,OAAO,GAAG,kBAAkB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;YACxD,IAAI,CAAC;gBACH,MAAM,MAAM,GAAe,MAAM,OAAO,CAAC,IAAI,CAAC;oBAC5C,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC;oBAC5B,OAAO,CAAC,OAAO;iBAChB,CAAC,CAAC;gBACH,OAAO,CAAC,KAAK,EAAE,CAAC;gBAEhB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;gBACzC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;YAC9C,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,EAAE,CAAC;gBAChB,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC,CAAC,CACH,CAAC;QAEF,kFAAkF;QAClF,8CAA8C;QAC9C,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACxC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC1B,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;gBAC/B,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;oBACjC,MAAM,SAAS,CAAC;wBACd,IAAI,EAAE,aAAa;wBACnB,WAAW;wBACX,MAAM;wBACN,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;qBACf,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC;oBAClD,MAAM,SAAS,CAAC;wBACd,IAAI,EAAE,gBAAgB;wBACtB,WAAW;wBACX,MAAM;wBACN,MAAM,EAAE,MAAM,CAAC,MAAM;wBACrB,SAAS;wBACT,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;qBACf,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YACD,MAAM,SAAS,CAAC;gBACd,IAAI,EAAE,eAAe;gBACrB,WAAW;gBACX,MAAM,EAAE,SAAS;gBACjB,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;aACf,CAAC,CAAC;YACH,MAAM,IAAI,wBAAgB,CAAC,cAAc,CAAC,CAAC;QAC7C,CAAC;QAED,2CAA2C;QAC3C,MAAM,cAAc,GAKf,EAAE,CAAC;QAER,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAC1B,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YAE/B,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBAClC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC;gBAElD,sBAAsB;gBACtB,MAAM,SAAS,CAAC;oBACd,IAAI,EAAE,gBAAgB;oBACtB,WAAW;oBACX,MAAM;oBACN,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,SAAS;oBACT,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;iBACf,CAAC,CAAC;gBAEH,4BAA4B;gBAC5B,IAAI,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;oBACpC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;oBAClD,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;oBACzD,MAAM,SAAS,CAAC;wBACd,IAAI,EAAE,kBAAkB;wBACxB,WAAW;wBACX,MAAM;wBACN,IAAI,EAAE,YAAY;wBAClB,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM;wBAC5B,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;qBACf,CAAC,CAAC;gBACL,CAAC;gBAED,uBAAuB;gBACvB,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;oBACpB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAC3D,MAAM,SAAS,CAAC;4BACd,IAAI,EAAE,UAAU;4BAChB,WAAW;4BACX,GAAG;4BACH,KAAK;4BACL,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;yBACf,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBAED,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE;oBACpB,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE;iBACvB,CAAC,CAAC;gBACH,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;gBACtC,cAAc,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;YAC5D,CAAC;iBAAM,CAAC;gBACN,cAAc;gBACd,MAAM,KAAK,GACT,MAAM,CAAC,MAAM,YAAY,KAAK;oBAC5B,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO;oBACvB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAE5B,MAAM,SAAS,CAAC;oBACd,IAAI,EAAE,aAAa;oBACnB,WAAW;oBACX,MAAM;oBACN,KAAK;oBACL,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;iBACf,CAAC,CAAC;gBAEH,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACxB,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;QAED,+CAA+C;QAC/C,KAAK,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,cAAc,EAAE,CAAC;YAChD,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACpC,IAAI,CAAC,OAAO;gBAAE,SAAS,CAAC,mCAAmC;YAE3D,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACpC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;YAC9B,CAAC;YAED,IAAI,MAAM,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;gBAC/B,oBAAoB;gBACpB,IAAI,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACrC,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;oBACpB,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAClC,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAEpB,MAAM,SAAS,CAAC;oBACd,IAAI,EAAE,gBAAgB;oBACtB,WAAW;oBACX,MAAM,EAAE,MAAM;oBACd,MAAM;oBACN,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;iBACf,CAAC,CAAC;YACL,CAAC;YACD,2EAA2E;QAC7E,CAAC;QAED,iDAAiD;QACjD,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/C,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;QAEpC,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3C,IAAI,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,SAAS;YACvC,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,SAAS;YACrC,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAAE,SAAS;YAE3C,qEAAqE;YACrE,IAAI,QAAQ,GAAG,IAAI,CAAC;YACpB,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;gBAC1B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC3B,QAAQ,GAAG,KAAK,CAAC;oBACjB,MAAM;gBACR,CAAC;YACH,CAAC;YACD,IAAI,QAAQ,EAAE,CAAC;gBACb,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,OAAO,GAAG,WAAW,CAAC;IACxB,CAAC;IAED,yBAAyB;IACzB,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC;IAC7D,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IAE1C,MAAM,SAAS,CAAC;QACd,IAAI,EAAE,eAAe;QACrB,WAAW;QACX,MAAM;QACN,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;KACf,CAAC,CAAC;IAEH,OAAO;QACL,SAAS,EAAE,MAAM,KAAK,WAAW;QACjC,UAAU;KACX,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../src/scheduler.ts"],"names":[],"mappings":"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"}
|
package/dist/src/types.d.ts
CHANGED
|
@@ -45,11 +45,22 @@ export interface ExecutionContext {
|
|
|
45
45
|
readonly emitOutput: (event: OutputEvent) => void;
|
|
46
46
|
readonly signal: AbortSignal;
|
|
47
47
|
}
|
|
48
|
+
/** An edge target: single node or fan-out to multiple nodes. */
|
|
49
|
+
export type EdgeTarget = string | readonly string[];
|
|
50
|
+
/** Configuration for a loop-back fallback when maxIterations is exceeded. */
|
|
51
|
+
export interface LoopFallbackEntry {
|
|
52
|
+
readonly source: string;
|
|
53
|
+
readonly action: string;
|
|
54
|
+
readonly fallbackTarget: EdgeTarget;
|
|
55
|
+
readonly maxIterations?: number;
|
|
56
|
+
}
|
|
48
57
|
/** A complete flow graph: nodes + edges + start. */
|
|
49
58
|
export interface FlowGraph {
|
|
50
59
|
readonly nodes: Readonly<Record<string, NodeEntry>>;
|
|
51
|
-
readonly edges: Readonly<Record<string, Readonly<Record<string,
|
|
60
|
+
readonly edges: Readonly<Record<string, Readonly<Record<string, EdgeTarget>>>>;
|
|
52
61
|
readonly start: readonly string[];
|
|
62
|
+
readonly maxIterations?: number;
|
|
63
|
+
readonly loopFallback?: Readonly<Record<string, LoopFallbackEntry>>;
|
|
53
64
|
}
|
|
54
65
|
/** A node in the flow graph. */
|
|
55
66
|
export interface NodeEntry {
|
|
@@ -84,14 +95,17 @@ export interface ResumeState {
|
|
|
84
95
|
}>;
|
|
85
96
|
readonly firedEdges: Map<string, Set<string>>;
|
|
86
97
|
readonly nodeStatuses: Map<string, string>;
|
|
98
|
+
readonly loopIterations: Map<string, number>;
|
|
87
99
|
}
|
|
88
100
|
export interface AgentRuntime {
|
|
89
101
|
createSession(config: SessionConfig): Promise<AgentSession>;
|
|
90
102
|
isAvailable(): Promise<boolean>;
|
|
91
103
|
readonly name: string;
|
|
92
104
|
}
|
|
105
|
+
export type ThinkingBudget = 'low' | 'medium' | 'high' | 'xhigh';
|
|
93
106
|
export interface SessionConfig {
|
|
94
107
|
readonly model: string;
|
|
108
|
+
readonly thinkingBudget?: ThinkingBudget;
|
|
95
109
|
readonly cwd: string;
|
|
96
110
|
readonly addDirs: readonly string[];
|
|
97
111
|
readonly timeout: number;
|
|
@@ -121,6 +135,7 @@ export interface AgentConfig {
|
|
|
121
135
|
readonly output?: string;
|
|
122
136
|
readonly reads?: readonly string[];
|
|
123
137
|
readonly model?: string;
|
|
138
|
+
readonly thinkingBudget?: ThinkingBudget;
|
|
124
139
|
readonly isolation?: boolean;
|
|
125
140
|
readonly timeout?: number;
|
|
126
141
|
readonly heartbeatTimeout?: number;
|
|
@@ -159,6 +174,7 @@ export interface ProjectionNode {
|
|
|
159
174
|
readonly finishedAt?: number;
|
|
160
175
|
readonly elapsedMs?: number;
|
|
161
176
|
readonly attempt: number;
|
|
177
|
+
readonly iteration?: number;
|
|
162
178
|
readonly error?: string;
|
|
163
179
|
readonly output?: string;
|
|
164
180
|
readonly gateData?: Record<string, unknown>;
|
package/dist/src/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAM5D,OAAO,CAAC,MAAM,OAAO,EAAE,OAAO,MAAM,CAAC;AACrC,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,IAAI,CAAC,GAAG;IAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;CAAE,CAAC;AAEhE,qEAAqE;AACrE,MAAM,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AAMvD;;;;GAIG;AACH,MAAM,MAAM,MAAM,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,gBAAgB,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtF,wEAAwE;AACxE,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACnD,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACzD,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;CACtC;AAED,gFAAgF;AAChF,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC7C;AAED,yEAAyE;AACzE,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,6EAA6E;AAC7E,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IAClD,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;CAC9B;AAMD,oDAAoD;AACpD,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IACpD,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/src/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAqQH,8BAEC;AAPD,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E,uEAAuE;AACvE,SAAgB,SAAS,CAAI,UAA+B;IAC1D,OAAO,UAAU,CAAC,MAAW,CAAC;AAChC,CAAC;AAED,8EAA8E;AAC9E,SAAS;AACT,8EAA8E;AAE9E,MAAa,gBAAiB,SAAQ,KAAK;IACzC,YAAY,SAAiB,cAAc;QACzC,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF;AALD,4CAKC;AAED,MAAa,mBAAoB,SAAQ,KAAK;IACvB;IAArB,YAAqB,MAAyB;QAC5C,KAAK,CAAC,4BAA4B,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QADzD,WAAM,GAAN,MAAM,CAAmB;QAE5C,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AALD,kDAKC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reducer.d.ts","sourceRoot":"","sources":["../../state/reducer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,mBAAmB,EAGpB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAMpD,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,mBAAmB,CAetF;
|
|
1
|
+
{"version":3,"file":"reducer.d.ts","sourceRoot":"","sources":["../../state/reducer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,mBAAmB,EAGpB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAMpD,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,mBAAmB,CAetF;AAqDD,wBAAgB,MAAM,CACpB,KAAK,EAAE,mBAAmB,EAC1B,KAAK,EAAE,cAAc,GACpB,mBAAmB,CA6LrB;AAMD,wBAAgB,YAAY,CAC1B,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,SAAS,cAAc,EAAE,GAChC,mBAAmB,CAKrB"}
|
package/dist/state/reducer.js
CHANGED
|
@@ -28,6 +28,10 @@ function createEmptyProjection(id, flowId) {
|
|
|
28
28
|
};
|
|
29
29
|
}
|
|
30
30
|
// ---------------------------------------------------------------------------
|
|
31
|
+
// Constants
|
|
32
|
+
// ---------------------------------------------------------------------------
|
|
33
|
+
const MAX_COMPLETED_PATH = 200;
|
|
34
|
+
// ---------------------------------------------------------------------------
|
|
31
35
|
// Helpers
|
|
32
36
|
// ---------------------------------------------------------------------------
|
|
33
37
|
function updateNode(state, nodeId, updater) {
|
|
@@ -67,6 +71,7 @@ function reduce(state, event) {
|
|
|
67
71
|
model: n.model,
|
|
68
72
|
status: 'pending',
|
|
69
73
|
attempt: 0,
|
|
74
|
+
iteration: 0,
|
|
70
75
|
output: n.output,
|
|
71
76
|
}));
|
|
72
77
|
const edges = event.graph.edges.map((e) => ({
|
|
@@ -120,11 +125,14 @@ function reduce(state, event) {
|
|
|
120
125
|
finishedAt: event.ts,
|
|
121
126
|
elapsedMs: event.elapsedMs,
|
|
122
127
|
}));
|
|
128
|
+
const newPath = [...updated.graph.completedPath, event.nodeId];
|
|
123
129
|
return {
|
|
124
130
|
...updated,
|
|
125
131
|
graph: {
|
|
126
132
|
...updated.graph,
|
|
127
|
-
completedPath:
|
|
133
|
+
completedPath: newPath.length > MAX_COMPLETED_PATH
|
|
134
|
+
? newPath.slice(-MAX_COMPLETED_PATH)
|
|
135
|
+
: newPath,
|
|
128
136
|
},
|
|
129
137
|
};
|
|
130
138
|
}
|
|
@@ -163,11 +171,14 @@ function reduce(state, event) {
|
|
|
163
171
|
}));
|
|
164
172
|
// If not rejected, also add to completedPath
|
|
165
173
|
if (resolvedStatus === 'completed') {
|
|
174
|
+
const newPath = [...updated.graph.completedPath, event.nodeId];
|
|
166
175
|
return {
|
|
167
176
|
...updated,
|
|
168
177
|
graph: {
|
|
169
178
|
...updated.graph,
|
|
170
|
-
completedPath:
|
|
179
|
+
completedPath: newPath.length > MAX_COMPLETED_PATH
|
|
180
|
+
? newPath.slice(-MAX_COMPLETED_PATH)
|
|
181
|
+
: newPath,
|
|
171
182
|
},
|
|
172
183
|
};
|
|
173
184
|
}
|
|
@@ -207,6 +218,16 @@ function reduce(state, event) {
|
|
|
207
218
|
metadata: { ...state.metadata, [event.key]: merged },
|
|
208
219
|
};
|
|
209
220
|
}
|
|
221
|
+
case 'node:reset':
|
|
222
|
+
return updateNode(state, event.nodeId, (n) => ({
|
|
223
|
+
...n,
|
|
224
|
+
status: 'pending',
|
|
225
|
+
iteration: event.iteration,
|
|
226
|
+
action: undefined,
|
|
227
|
+
finishedAt: undefined,
|
|
228
|
+
elapsedMs: undefined,
|
|
229
|
+
error: undefined,
|
|
230
|
+
}));
|
|
210
231
|
default: {
|
|
211
232
|
// Exhaustiveness check — if this errors, a new event type was added without a case
|
|
212
233
|
const _exhaustive = event;
|