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.
Files changed (59) hide show
  1. package/README.md +159 -0
  2. package/dist/bridge/bridge.d.ts.map +1 -1
  3. package/dist/bridge/bridge.js +43 -12
  4. package/dist/bridge/bridge.js.map +1 -1
  5. package/dist/runtimes/copilot/copilot-backend.d.ts +3 -1
  6. package/dist/runtimes/copilot/copilot-backend.d.ts.map +1 -1
  7. package/dist/runtimes/copilot/subprocess-backend.d.ts.map +1 -1
  8. package/dist/runtimes/copilot/subprocess-backend.js +3 -0
  9. package/dist/runtimes/copilot/subprocess-backend.js.map +1 -1
  10. package/dist/src/agent.d.ts.map +1 -1
  11. package/dist/src/agent.js +1 -0
  12. package/dist/src/agent.js.map +1 -1
  13. package/dist/src/events.d.ts +10 -1
  14. package/dist/src/events.d.ts.map +1 -1
  15. package/dist/src/index.d.ts +3 -3
  16. package/dist/src/index.d.ts.map +1 -1
  17. package/dist/src/index.js +2 -1
  18. package/dist/src/index.js.map +1 -1
  19. package/dist/src/scheduler.d.ts +3 -1
  20. package/dist/src/scheduler.d.ts.map +1 -1
  21. package/dist/src/scheduler.js +287 -27
  22. package/dist/src/scheduler.js.map +1 -1
  23. package/dist/src/types.d.ts +17 -1
  24. package/dist/src/types.d.ts.map +1 -1
  25. package/dist/src/types.js.map +1 -1
  26. package/dist/state/reducer.d.ts.map +1 -1
  27. package/dist/state/reducer.js +23 -2
  28. package/dist/state/reducer.js.map +1 -1
  29. package/dist/state/state-runtime.d.ts +1 -0
  30. package/dist/state/state-runtime.d.ts.map +1 -1
  31. package/dist/state/state-runtime.js +3 -0
  32. package/dist/state/state-runtime.js.map +1 -1
  33. package/dist/theme/index.d.ts +7 -0
  34. package/dist/theme/index.d.ts.map +1 -1
  35. package/dist/theme/index.js +4 -3
  36. package/dist/theme/index.js.map +1 -1
  37. package/dist/ui/components/FlowEdge.d.ts.map +1 -1
  38. package/dist/ui/components/FlowEdge.js +34 -12
  39. package/dist/ui/components/FlowEdge.js.map +1 -1
  40. package/dist/ui/components/FlowGraph.d.ts +5 -1
  41. package/dist/ui/components/FlowGraph.d.ts.map +1 -1
  42. package/dist/ui/components/FlowGraph.js +43 -5
  43. package/dist/ui/components/FlowGraph.js.map +1 -1
  44. package/dist/ui/components/FlowStatusBar.d.ts.map +1 -1
  45. package/dist/ui/components/FlowStatusBar.js +11 -1
  46. package/dist/ui/components/FlowStatusBar.js.map +1 -1
  47. package/dist/ui/components/MiniPipeline.d.ts.map +1 -1
  48. package/dist/ui/components/MiniPipeline.js +81 -30
  49. package/dist/ui/components/MiniPipeline.js.map +1 -1
  50. package/dist/ui/components/NodeCard.d.ts.map +1 -1
  51. package/dist/ui/components/NodeCard.js +1 -1
  52. package/dist/ui/components/NodeCard.js.map +1 -1
  53. package/dist/ui/components/node-panel/Output.js +1 -1
  54. package/dist/ui/components/node-panel/types.js +3 -3
  55. package/dist/ui/components/node-panel/types.js.map +1 -1
  56. package/dist/ui/core/components/Button.js +1 -1
  57. package/dist/ui/core/components/Button.js.map +1 -1
  58. package/dist/ui/style.css +624 -0
  59. package/package.json +100 -87
@@ -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, target] of Object.entries(actionMap)) {
66
- if (target !== 'end' && !nodeIds.has(target)) {
67
- issues.push(`Edge target '${target}' (from '${source}' via '${action}') does not exist in graph.nodes`);
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, target] of Object.entries(actionMap)) {
134
- edges.push({ source, action, target });
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
- let target = edgeMap[output.action];
417
- if (!target) {
418
- target = edgeMap['default'];
548
+ const action = output.action;
549
+ let edgeTarget = edgeMap[action];
550
+ if (!edgeTarget) {
551
+ edgeTarget = edgeMap['default'];
419
552
  }
420
- if (target && target !== 'end') {
421
- // Record fired edge
422
- let sources = firedEdges.get(target);
423
- if (!sources) {
424
- sources = new Set();
425
- firedEdges.set(target, sources);
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":"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"}
1
+ {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../src/scheduler.ts"],"names":[],"mappings":"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"}
@@ -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, 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>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
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,gEAAgE;AAChE,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;AAEpD,6EAA6E;AAC7E,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,cAAc,EAAE,UAAU,CAAC;IACpC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;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,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/E,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;CACrE;AAED,gCAAgC;AAChC,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,OAAO,GAAG,eAAe,GAAG,MAAM,GAAG,QAAQ,CAAC;IACjE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAMD,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACnD,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D,QAAQ,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IAClD,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,WAAW,CAAC;IAClC,yEAAyE;IACzE,QAAQ,CAAC,aAAa,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;CACjE;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7E,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9C,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,QAAQ,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9C;AAMD,MAAM,WAAW,YAAY;IAC3B,aAAa,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC5D,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAEjE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC;IACzC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;CACnC;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IACzD,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IAC9E,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IAClF,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IAC7C,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAC;IACxD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAMD,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAErE,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,SAAS,OAAO,EAAE,CAAC;IACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC;IACzC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,6GAA6G;IAC7G,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,MAAM,CAAC;IACpD,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/D,QAAQ,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,YAAY,CAAC;IAC3D,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,eAAe,EAAE,MAAM,KAAK,MAAM,CAAC;IAC5D,QAAQ,CAAC,oBAAoB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACnD;AAMD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;IACxF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,QAAQ,CAAC,KAAK,EAAE;QACd,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;QAC9C,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;QAC9C,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;QACxC,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;KAC3C,CAAC;IACF,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,GAAG,WAAW,CAAC;CACnD;AAMD,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,IAAI,CAAC;IACzD,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,EAAE,CAAC;IAC7C,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACvE,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI,CAAC;IAC3D,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACnF,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC1E,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACjE,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IACxF,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAClD,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IAChC,gBAAgB,IAAI,MAAM,EAAE,CAAC;CAC9B;AAMD,uEAAuE;AACvE,wBAAgB,SAAS,CAAC,CAAC,EAAE,UAAU,EAAE,mBAAmB,GAAG,CAAC,CAE/D;AAMD,qBAAa,gBAAiB,SAAQ,KAAK;gBAC7B,MAAM,GAAE,MAAuB;CAI5C;AAED,qBAAa,mBAAoB,SAAQ,KAAK;IAChC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE;gBAAzB,MAAM,EAAE,SAAS,MAAM,EAAE;CAI/C"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AA8OH,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
+ {"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;AA+CD,wBAAgB,MAAM,CACpB,KAAK,EAAE,mBAAmB,EAC1B,KAAK,EAAE,cAAc,GACpB,mBAAmB,CA2KrB;AAMD,wBAAgB,YAAY,CAC1B,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,SAAS,cAAc,EAAE,GAChC,mBAAmB,CAKrB"}
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"}
@@ -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: [...updated.graph.completedPath, event.nodeId],
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: [...updated.graph.completedPath, event.nodeId],
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;