@bian-womp/spark-graph 0.3.88 → 0.3.89

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 (157) hide show
  1. package/lib/src/builder/GraphBuilder.d.ts +43 -0
  2. package/lib/src/builder/GraphBuilder.d.ts.map +1 -0
  3. package/lib/src/builder/GraphBuilder.js +279 -0
  4. package/lib/src/builder/GraphBuilder.js.map +1 -0
  5. package/lib/src/builder/Registry.d.ts +87 -0
  6. package/lib/src/builder/Registry.d.ts.map +1 -0
  7. package/lib/src/builder/Registry.js +390 -0
  8. package/lib/src/builder/Registry.js.map +1 -0
  9. package/lib/src/core/categories.d.ts +22 -0
  10. package/lib/src/core/categories.d.ts.map +1 -0
  11. package/lib/src/core/categories.js +2 -0
  12. package/lib/src/core/categories.js.map +1 -0
  13. package/lib/src/core/order.d.ts +7 -0
  14. package/lib/src/core/order.d.ts.map +1 -0
  15. package/lib/src/core/order.js +66 -0
  16. package/lib/src/core/order.js.map +1 -0
  17. package/lib/src/core/type-utils.d.ts +29 -0
  18. package/lib/src/core/type-utils.d.ts.map +1 -0
  19. package/lib/src/core/type-utils.js +92 -0
  20. package/lib/src/core/type-utils.js.map +1 -0
  21. package/lib/src/core/types.d.ts +95 -0
  22. package/lib/src/core/types.d.ts.map +1 -0
  23. package/lib/src/core/types.js +2 -0
  24. package/lib/src/core/types.js.map +1 -0
  25. package/lib/src/examples/arrays.d.ts +5 -0
  26. package/lib/src/examples/arrays.d.ts.map +1 -0
  27. package/lib/src/examples/arrays.js +49 -0
  28. package/lib/src/examples/arrays.js.map +1 -0
  29. package/lib/src/examples/async.d.ts +5 -0
  30. package/lib/src/examples/async.d.ts.map +1 -0
  31. package/lib/src/examples/async.js +91 -0
  32. package/lib/src/examples/async.js.map +1 -0
  33. package/lib/src/examples/progress.d.ts +5 -0
  34. package/lib/src/examples/progress.d.ts.map +1 -0
  35. package/lib/src/examples/progress.js +51 -0
  36. package/lib/src/examples/progress.js.map +1 -0
  37. package/lib/src/examples/run.d.ts +2 -0
  38. package/lib/src/examples/run.d.ts.map +1 -0
  39. package/lib/src/examples/run.js +32 -0
  40. package/lib/src/examples/run.js.map +1 -0
  41. package/lib/src/examples/runMode.d.ts +2 -0
  42. package/lib/src/examples/runMode.d.ts.map +1 -0
  43. package/lib/src/examples/runMode.js +223 -0
  44. package/lib/src/examples/runMode.js.map +1 -0
  45. package/lib/src/examples/shared.d.ts +5 -0
  46. package/lib/src/examples/shared.d.ts.map +1 -0
  47. package/lib/src/examples/shared.js +47 -0
  48. package/lib/src/examples/shared.js.map +1 -0
  49. package/lib/src/examples/simple.d.ts +5 -0
  50. package/lib/src/examples/simple.d.ts.map +1 -0
  51. package/lib/src/examples/simple.js +79 -0
  52. package/lib/src/examples/simple.js.map +1 -0
  53. package/lib/src/examples/snapshot.d.ts +4 -0
  54. package/lib/src/examples/snapshot.d.ts.map +1 -0
  55. package/lib/src/examples/snapshot.js +58 -0
  56. package/lib/src/examples/snapshot.js.map +1 -0
  57. package/lib/src/examples/validation.d.ts +5 -0
  58. package/lib/src/examples/validation.d.ts.map +1 -0
  59. package/lib/src/examples/validation.js +105 -0
  60. package/lib/src/examples/validation.js.map +1 -0
  61. package/lib/src/index.d.ts +27 -0
  62. package/lib/src/index.d.ts.map +1 -0
  63. package/lib/src/index.js +19 -0
  64. package/lib/src/index.js.map +1 -0
  65. package/lib/src/misc/base.d.ts +51 -0
  66. package/lib/src/misc/base.d.ts.map +1 -0
  67. package/lib/src/misc/base.js +1091 -0
  68. package/lib/src/misc/base.js.map +1 -0
  69. package/lib/src/misc/utils/LevelLogger.d.ts +150 -0
  70. package/lib/src/misc/utils/LevelLogger.d.ts.map +1 -0
  71. package/lib/src/misc/utils/LevelLogger.js +420 -0
  72. package/lib/src/misc/utils/LevelLogger.js.map +1 -0
  73. package/lib/src/misc/utils/LevelLogger.test.d.ts +2 -0
  74. package/lib/src/misc/utils/LevelLogger.test.d.ts.map +1 -0
  75. package/lib/src/misc/utils/LevelLogger.test.js +283 -0
  76. package/lib/src/misc/utils/LevelLogger.test.js.map +1 -0
  77. package/lib/src/misc/utils/json.d.ts +34 -0
  78. package/lib/src/misc/utils/json.d.ts.map +1 -0
  79. package/lib/src/misc/utils/json.js +471 -0
  80. package/lib/src/misc/utils/json.js.map +1 -0
  81. package/lib/src/misc/utils/merge.d.ts +51 -0
  82. package/lib/src/misc/utils/merge.d.ts.map +1 -0
  83. package/lib/src/misc/utils/merge.js +591 -0
  84. package/lib/src/misc/utils/merge.js.map +1 -0
  85. package/lib/src/misc/utils/test-logger-output.d.ts +7 -0
  86. package/lib/src/misc/utils/test-logger-output.d.ts.map +1 -0
  87. package/lib/src/misc/utils/test-logger-output.js +48 -0
  88. package/lib/src/misc/utils/test-logger-output.js.map +1 -0
  89. package/lib/src/plugins/composite.d.ts +22 -0
  90. package/lib/src/plugins/composite.d.ts.map +1 -0
  91. package/lib/src/plugins/composite.js +59 -0
  92. package/lib/src/plugins/composite.js.map +1 -0
  93. package/lib/src/plugins/compute.d.ts +5 -0
  94. package/lib/src/plugins/compute.d.ts.map +1 -0
  95. package/lib/src/plugins/compute.js +39 -0
  96. package/lib/src/plugins/compute.js.map +1 -0
  97. package/lib/src/runtime/Engine.d.ts +26 -0
  98. package/lib/src/runtime/Engine.d.ts.map +1 -0
  99. package/lib/src/runtime/Engine.js +2 -0
  100. package/lib/src/runtime/Engine.js.map +1 -0
  101. package/lib/src/runtime/GraphLifecycleApi.d.ts +46 -0
  102. package/lib/src/runtime/GraphLifecycleApi.d.ts.map +1 -0
  103. package/lib/src/runtime/GraphLifecycleApi.js +2 -0
  104. package/lib/src/runtime/GraphLifecycleApi.js.map +1 -0
  105. package/lib/src/runtime/GraphRuntime.d.ts +111 -0
  106. package/lib/src/runtime/GraphRuntime.d.ts.map +1 -0
  107. package/lib/src/runtime/GraphRuntime.js +791 -0
  108. package/lib/src/runtime/GraphRuntime.js.map +1 -0
  109. package/lib/src/runtime/LocalEngine.d.ts +41 -0
  110. package/lib/src/runtime/LocalEngine.d.ts.map +1 -0
  111. package/lib/src/runtime/LocalEngine.js +89 -0
  112. package/lib/src/runtime/LocalEngine.js.map +1 -0
  113. package/lib/src/runtime/components/EdgePropagator.d.ts +93 -0
  114. package/lib/src/runtime/components/EdgePropagator.d.ts.map +1 -0
  115. package/lib/src/runtime/components/EdgePropagator.js +378 -0
  116. package/lib/src/runtime/components/EdgePropagator.js.map +1 -0
  117. package/lib/src/runtime/components/EventEmitter.d.ts +12 -0
  118. package/lib/src/runtime/components/EventEmitter.d.ts.map +1 -0
  119. package/lib/src/runtime/components/EventEmitter.js +33 -0
  120. package/lib/src/runtime/components/EventEmitter.js.map +1 -0
  121. package/lib/src/runtime/components/Graph.d.ts +208 -0
  122. package/lib/src/runtime/components/Graph.d.ts.map +1 -0
  123. package/lib/src/runtime/components/Graph.js +452 -0
  124. package/lib/src/runtime/components/Graph.js.map +1 -0
  125. package/lib/src/runtime/components/HandleResolver.d.ts +36 -0
  126. package/lib/src/runtime/components/HandleResolver.d.ts.map +1 -0
  127. package/lib/src/runtime/components/HandleResolver.js +229 -0
  128. package/lib/src/runtime/components/HandleResolver.js.map +1 -0
  129. package/lib/src/runtime/components/NodeExecutor.d.ts +116 -0
  130. package/lib/src/runtime/components/NodeExecutor.d.ts.map +1 -0
  131. package/lib/src/runtime/components/NodeExecutor.js +648 -0
  132. package/lib/src/runtime/components/NodeExecutor.js.map +1 -0
  133. package/lib/src/runtime/components/RunContextManager.d.ts +90 -0
  134. package/lib/src/runtime/components/RunContextManager.d.ts.map +1 -0
  135. package/lib/src/runtime/components/RunContextManager.js +329 -0
  136. package/lib/src/runtime/components/RunContextManager.js.map +1 -0
  137. package/lib/src/runtime/components/RuntimeValidatorManager.d.ts +31 -0
  138. package/lib/src/runtime/components/RuntimeValidatorManager.d.ts.map +1 -0
  139. package/lib/src/runtime/components/RuntimeValidatorManager.js +56 -0
  140. package/lib/src/runtime/components/RuntimeValidatorManager.js.map +1 -0
  141. package/lib/src/runtime/components/graph-utils.d.ts +33 -0
  142. package/lib/src/runtime/components/graph-utils.d.ts.map +1 -0
  143. package/lib/src/runtime/components/graph-utils.js +300 -0
  144. package/lib/src/runtime/components/graph-utils.js.map +1 -0
  145. package/lib/src/runtime/components/interfaces.d.ts +59 -0
  146. package/lib/src/runtime/components/interfaces.d.ts.map +1 -0
  147. package/lib/src/runtime/components/interfaces.js +2 -0
  148. package/lib/src/runtime/components/interfaces.js.map +1 -0
  149. package/lib/src/runtime/components/types.d.ts +57 -0
  150. package/lib/src/runtime/components/types.d.ts.map +1 -0
  151. package/lib/src/runtime/components/types.js +2 -0
  152. package/lib/src/runtime/components/types.js.map +1 -0
  153. package/lib/src/runtime/utils.d.ts +21 -0
  154. package/lib/src/runtime/utils.d.ts.map +1 -0
  155. package/lib/src/runtime/utils.js +41 -0
  156. package/lib/src/runtime/utils.js.map +1 -0
  157. package/package.json +2 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeExecutor.js","sourceRoot":"","sources":["../../../../src/runtime/components/NodeExecutor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,90 @@
1
+ import type { LogLevel } from "@bian-womp/spark-protocol";
2
+ import type { Graph } from "./Graph";
3
+ export type RunContextId = string;
4
+ export interface RunContext {
5
+ id: RunContextId;
6
+ startNodes: Set<string>;
7
+ cancelledNodes: Set<string>;
8
+ pendingScheduling: number;
9
+ pendingNodes: number;
10
+ pendingEdges: number;
11
+ pendingResolvers: number;
12
+ pendingQueued: number;
13
+ propagate: boolean;
14
+ resolve?: () => void;
15
+ }
16
+ /**
17
+ * RunContextManager component - manages run-context lifecycle
18
+ */
19
+ export declare class RunContextManager {
20
+ private readonly graph;
21
+ private runContexts;
22
+ private runContextCounter;
23
+ private readonly logger;
24
+ constructor(graph: Graph, logLevel?: LogLevel);
25
+ /**
26
+ * Set the log level for this manager
27
+ */
28
+ setLogLevel(logLevel: LogLevel): void;
29
+ /**
30
+ * Create a new run-context for runFromHere
31
+ */
32
+ createRunContext(startNodeId: string, options?: {
33
+ resolve?: () => void;
34
+ propagate?: boolean;
35
+ }): RunContextId;
36
+ /**
37
+ * Get a run-context by ID
38
+ */
39
+ getRunContext(id: RunContextId): RunContext | undefined;
40
+ /**
41
+ * Get all run-contexts
42
+ */
43
+ getAllRunContexts(): Map<RunContextId, RunContext>;
44
+ /**
45
+ * Check if there are any active run-contexts
46
+ */
47
+ hasActiveRunContexts(): boolean;
48
+ /**
49
+ * Release one scheduling hold from a run-context.
50
+ * Must be called once by the creator when scheduling decisions are complete.
51
+ */
52
+ releaseScheduling(id: RunContextId): void;
53
+ /**
54
+ * Increment queued work count for a run-context.
55
+ * Used by asyncConcurrency: "queue" to keep contexts alive while work is queued.
56
+ */
57
+ incrementQueued(id: RunContextId, nodeId: string): void;
58
+ /**
59
+ * Decrement queued work count for a run-context.
60
+ * Called when queued work is either started or dropped.
61
+ */
62
+ decrementQueued(id: RunContextId, nodeId: string): void;
63
+ startNodeRun(id: RunContextId, nodeId: string): void;
64
+ finishNodeRun(id: RunContextId, nodeId: string): void;
65
+ startEdgeConversion(id: RunContextId, edgeId: string): void;
66
+ finishEdgeConversion(id: RunContextId, edgeId: string): void;
67
+ startHandleResolution(id: RunContextId, nodeId: string): void;
68
+ finishHandleResolution(id: RunContextId, nodeId: string): void;
69
+ /**
70
+ * Finish and remove a run-context when all pending operations reach zero
71
+ */
72
+ private finishRunContextIfPossible;
73
+ /**
74
+ * Cancel a node for all run-contexts (called from UI or update())
75
+ * @param nodeId - The node to cancel
76
+ * @param includeDownstream - Whether to also cancel downstream nodes
77
+ * @param edges - All edges in the graph (for downstream traversal)
78
+ * @param nodes - All nodes in the graph (for clearing activeRunContexts)
79
+ */
80
+ cancelNodeInRunContexts(nodeId: string, includeDownstream: boolean): void;
81
+ /**
82
+ * Resolve all pending run-context promises (for cleanup)
83
+ */
84
+ resolveAll(): void;
85
+ /**
86
+ * Clear all run-contexts
87
+ */
88
+ clear(): void;
89
+ }
90
+ //# sourceMappingURL=RunContextManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RunContextManager.d.ts","sourceRoot":"","sources":["../../../../src/runtime/components/RunContextManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGrC,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC;AAElC,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,YAAY,CAAC;IACjB,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACxB,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED;;GAEG;AACH,qBAAa,iBAAiB;IAM1B,OAAO,CAAC,QAAQ,CAAC,KAAK;IALxB,OAAO,CAAC,WAAW,CAAuC;IAC1D,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;gBAGlB,KAAK,EAAE,KAAK,EAC7B,QAAQ,CAAC,EAAE,QAAQ;IAMrB;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAIrC;;OAEG;IACH,gBAAgB,CACd,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;QACrB,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB,GACA,YAAY;IAuBf;;OAEG;IACH,aAAa,CAAC,EAAE,EAAE,YAAY,GAAG,UAAU,GAAG,SAAS;IAIvD;;OAEG;IACH,iBAAiB,IAAI,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC;IAIlD;;OAEG;IACH,oBAAoB,IAAI,OAAO;IAI/B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI;IAuBzC;;;OAGG;IACH,eAAe,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAiBvD;;;OAGG;IACH,eAAe,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAkBvD,YAAY,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAiBpD,aAAa,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAkBrD,mBAAmB,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAiB3D,oBAAoB,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAkB5D,qBAAqB,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAiB7D,sBAAsB,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAkB9D;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAiClC;;;;;;OAMG;IACH,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,GAAG,IAAI;IA0CzE;;OAEG;IACH,UAAU,IAAI,IAAI;IAWlB;;OAEG;IACH,KAAK,IAAI,IAAI;CAKd"}
@@ -0,0 +1,329 @@
1
+ import { LevelLogger } from "../../misc/utils/LevelLogger";
2
+ /**
3
+ * RunContextManager component - manages run-context lifecycle
4
+ */
5
+ export class RunContextManager {
6
+ constructor(graph, logLevel) {
7
+ this.graph = graph;
8
+ this.runContexts = new Map();
9
+ this.runContextCounter = 0;
10
+ this.graph = graph;
11
+ this.logger = new LevelLogger(logLevel ?? "info", "[RunContextManager]");
12
+ }
13
+ /**
14
+ * Set the log level for this manager
15
+ */
16
+ setLogLevel(logLevel) {
17
+ this.logger.setLevel(logLevel);
18
+ }
19
+ /**
20
+ * Create a new run-context for runFromHere
21
+ */
22
+ createRunContext(startNodeId, options) {
23
+ const id = `rc-${++this.runContextCounter}`;
24
+ const ctx = {
25
+ id,
26
+ startNodes: new Set([startNodeId]),
27
+ cancelledNodes: new Set(),
28
+ pendingScheduling: 1,
29
+ pendingNodes: 0,
30
+ pendingEdges: 0,
31
+ pendingResolvers: 0,
32
+ pendingQueued: 0,
33
+ propagate: options?.propagate ?? true,
34
+ resolve: options?.resolve,
35
+ };
36
+ this.runContexts.set(id, ctx);
37
+ this.logger.info("create-run-context", {
38
+ id,
39
+ startNodeId,
40
+ propagate: ctx.propagate,
41
+ });
42
+ return id;
43
+ }
44
+ /**
45
+ * Get a run-context by ID
46
+ */
47
+ getRunContext(id) {
48
+ return this.runContexts.get(id);
49
+ }
50
+ /**
51
+ * Get all run-contexts
52
+ */
53
+ getAllRunContexts() {
54
+ return this.runContexts;
55
+ }
56
+ /**
57
+ * Check if there are any active run-contexts
58
+ */
59
+ hasActiveRunContexts() {
60
+ return this.runContexts.size > 0;
61
+ }
62
+ /**
63
+ * Release one scheduling hold from a run-context.
64
+ * Must be called once by the creator when scheduling decisions are complete.
65
+ */
66
+ releaseScheduling(id) {
67
+ const ctx = this.runContexts.get(id);
68
+ if (!ctx) {
69
+ this.logger.debug("release-scheduling-context-not-found", {
70
+ runContextId: id,
71
+ });
72
+ return;
73
+ }
74
+ if (ctx.pendingScheduling > 0) {
75
+ ctx.pendingScheduling--;
76
+ }
77
+ else {
78
+ this.logger.warn("release-scheduling-underflow", {
79
+ runContextId: id,
80
+ pendingScheduling: ctx.pendingScheduling,
81
+ });
82
+ }
83
+ this.logger.debug("release-scheduling", {
84
+ runContextId: id,
85
+ pendingScheduling: ctx.pendingScheduling,
86
+ });
87
+ this.finishRunContextIfPossible(id);
88
+ }
89
+ /**
90
+ * Increment queued work count for a run-context.
91
+ * Used by asyncConcurrency: "queue" to keep contexts alive while work is queued.
92
+ */
93
+ incrementQueued(id, nodeId) {
94
+ const ctx = this.runContexts.get(id);
95
+ if (!ctx) {
96
+ this.logger.debug("increment-queued-context-not-found", {
97
+ runContextId: id,
98
+ nodeId,
99
+ });
100
+ return;
101
+ }
102
+ ctx.pendingQueued++;
103
+ this.logger.debug("increment-queued", {
104
+ runContextId: id,
105
+ nodeId,
106
+ pendingQueued: ctx.pendingQueued,
107
+ });
108
+ }
109
+ /**
110
+ * Decrement queued work count for a run-context.
111
+ * Called when queued work is either started or dropped.
112
+ */
113
+ decrementQueued(id, nodeId) {
114
+ const ctx = this.runContexts.get(id);
115
+ if (!ctx) {
116
+ this.logger.debug("decrement-queued-context-not-found", {
117
+ runContextId: id,
118
+ nodeId,
119
+ });
120
+ return;
121
+ }
122
+ ctx.pendingQueued--;
123
+ this.logger.debug("decrement-queued", {
124
+ runContextId: id,
125
+ nodeId,
126
+ pendingQueued: ctx.pendingQueued,
127
+ });
128
+ this.finishRunContextIfPossible(id);
129
+ }
130
+ startNodeRun(id, nodeId) {
131
+ const ctx = this.runContexts.get(id);
132
+ if (!ctx) {
133
+ this.logger.debug("start-node-run-context-not-found", {
134
+ runContextId: id,
135
+ nodeId,
136
+ });
137
+ return;
138
+ }
139
+ ctx.pendingNodes++;
140
+ this.logger.debug("start-node-run", {
141
+ runContextId: id,
142
+ nodeId,
143
+ pendingNodes: ctx.pendingNodes,
144
+ });
145
+ }
146
+ finishNodeRun(id, nodeId) {
147
+ const ctx = this.runContexts.get(id);
148
+ if (!ctx) {
149
+ this.logger.debug("finish-node-run-context-not-found", {
150
+ runContextId: id,
151
+ nodeId,
152
+ });
153
+ return;
154
+ }
155
+ ctx.pendingNodes--;
156
+ this.logger.debug("finish-node-run", {
157
+ runContextId: id,
158
+ nodeId,
159
+ pendingNodes: ctx.pendingNodes,
160
+ });
161
+ this.finishRunContextIfPossible(id);
162
+ }
163
+ startEdgeConversion(id, edgeId) {
164
+ const ctx = this.runContexts.get(id);
165
+ if (!ctx) {
166
+ this.logger.debug("start-edge-conversion-context-not-found", {
167
+ runContextId: id,
168
+ edgeId,
169
+ });
170
+ return;
171
+ }
172
+ ctx.pendingEdges++;
173
+ this.logger.debug("start-edge-conversion", {
174
+ runContextId: id,
175
+ edgeId,
176
+ pendingEdges: ctx.pendingEdges,
177
+ });
178
+ }
179
+ finishEdgeConversion(id, edgeId) {
180
+ const ctx = this.runContexts.get(id);
181
+ if (!ctx) {
182
+ this.logger.debug("finish-edge-conversion-context-not-found", {
183
+ runContextId: id,
184
+ edgeId,
185
+ });
186
+ return;
187
+ }
188
+ ctx.pendingEdges--;
189
+ this.logger.debug("finish-edge-conversion", {
190
+ runContextId: id,
191
+ edgeId,
192
+ pendingEdges: ctx.pendingEdges,
193
+ });
194
+ this.finishRunContextIfPossible(id);
195
+ }
196
+ startHandleResolution(id, nodeId) {
197
+ const ctx = this.runContexts.get(id);
198
+ if (!ctx) {
199
+ this.logger.debug("start-handle-resolution-context-not-found", {
200
+ runContextId: id,
201
+ nodeId,
202
+ });
203
+ return;
204
+ }
205
+ ctx.pendingResolvers++;
206
+ this.logger.debug("start-handle-resolution", {
207
+ runContextId: id,
208
+ nodeId,
209
+ pendingResolvers: ctx.pendingResolvers,
210
+ });
211
+ }
212
+ finishHandleResolution(id, nodeId) {
213
+ const ctx = this.runContexts.get(id);
214
+ if (!ctx) {
215
+ this.logger.debug("finish-handle-resolution-context-not-found", {
216
+ runContextId: id,
217
+ nodeId,
218
+ });
219
+ return;
220
+ }
221
+ ctx.pendingResolvers--;
222
+ this.logger.debug("finish-handle-resolution", {
223
+ runContextId: id,
224
+ nodeId,
225
+ pendingResolvers: ctx.pendingResolvers,
226
+ });
227
+ this.finishRunContextIfPossible(id);
228
+ }
229
+ /**
230
+ * Finish and remove a run-context when all pending operations reach zero
231
+ */
232
+ finishRunContextIfPossible(id) {
233
+ const ctx = this.runContexts.get(id);
234
+ if (!ctx) {
235
+ this.logger.debug("finish-run-context-not-found", {
236
+ runContextId: id,
237
+ });
238
+ return;
239
+ }
240
+ if (ctx.pendingScheduling > 0 ||
241
+ ctx.pendingNodes > 0 ||
242
+ ctx.pendingEdges > 0 ||
243
+ ctx.pendingResolvers > 0 ||
244
+ ctx.pendingQueued > 0) {
245
+ return; // Still has pending work
246
+ }
247
+ this.logger.info("finish-run-context", {
248
+ runContextId: id,
249
+ startNodes: Array.from(ctx.startNodes),
250
+ cancelledNodes: Array.from(ctx.cancelledNodes),
251
+ });
252
+ // Clean up activeRunContexts from all nodes
253
+ this.graph.forEachNode((node) => {
254
+ this.graph.removeNodeRunContextId(node.nodeId, id);
255
+ });
256
+ this.runContexts.delete(id);
257
+ if (ctx.resolve)
258
+ ctx.resolve();
259
+ }
260
+ /**
261
+ * Cancel a node for all run-contexts (called from UI or update())
262
+ * @param nodeId - The node to cancel
263
+ * @param includeDownstream - Whether to also cancel downstream nodes
264
+ * @param edges - All edges in the graph (for downstream traversal)
265
+ * @param nodes - All nodes in the graph (for clearing activeRunContexts)
266
+ */
267
+ cancelNodeInRunContexts(nodeId, includeDownstream) {
268
+ const toCancel = new Set([nodeId]);
269
+ if (includeDownstream) {
270
+ // Collect all downstream nodes
271
+ const queue = [nodeId];
272
+ const visited = new Set();
273
+ for (let i = 0; i < queue.length; i++) {
274
+ const cur = queue[i];
275
+ if (visited.has(cur))
276
+ continue;
277
+ visited.add(cur);
278
+ this.graph.forEachEdge((e) => {
279
+ if (e.source.nodeId === cur) {
280
+ const targetId = e.target.nodeId;
281
+ if (!visited.has(targetId)) {
282
+ toCancel.add(targetId);
283
+ queue.push(targetId);
284
+ }
285
+ }
286
+ });
287
+ }
288
+ }
289
+ this.logger.debug("cancel-node-in-run-contexts", {
290
+ nodeId,
291
+ includeDownstream,
292
+ cancelledNodes: Array.from(toCancel),
293
+ affectedRunContexts: Array.from(this.runContexts.keys()),
294
+ });
295
+ // Mark nodes as cancelled in all run-contexts
296
+ for (const ctx of this.runContexts.values()) {
297
+ for (const id of toCancel) {
298
+ ctx.cancelledNodes.add(id);
299
+ }
300
+ }
301
+ // Clear activeRunContexts for cancelled nodes
302
+ for (const id of toCancel) {
303
+ this.graph.clearNodeRunContextIds(id);
304
+ }
305
+ }
306
+ /**
307
+ * Resolve all pending run-context promises (for cleanup)
308
+ */
309
+ resolveAll() {
310
+ const count = this.runContexts.size;
311
+ this.logger.info("resolve-all-run-contexts", {
312
+ count,
313
+ runContextIds: Array.from(this.runContexts.keys()),
314
+ });
315
+ for (const ctx of this.runContexts.values()) {
316
+ if (ctx.resolve)
317
+ ctx.resolve();
318
+ }
319
+ }
320
+ /**
321
+ * Clear all run-contexts
322
+ */
323
+ clear() {
324
+ const count = this.runContexts.size;
325
+ this.logger.info("clear-all-run-contexts", { count });
326
+ this.runContexts.clear();
327
+ }
328
+ }
329
+ //# sourceMappingURL=RunContextManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RunContextManager.js","sourceRoot":"","sources":["../../../../src/runtime/components/RunContextManager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAiB3D;;GAEG;AACH,MAAM,OAAO,iBAAiB;IAK5B,YACmB,KAAY,EAC7B,QAAmB;QADF,UAAK,GAAL,KAAK,CAAO;QALvB,gBAAW,GAAG,IAAI,GAAG,EAA4B,CAAC;QAClD,sBAAiB,GAAG,CAAC,CAAC;QAO5B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,IAAI,WAAW,CAAC,QAAQ,IAAI,MAAM,EAAE,qBAAqB,CAAC,CAAC;IAC3E,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,QAAkB;QAC5B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,gBAAgB,CACd,WAAmB,EACnB,OAGC;QAED,MAAM,EAAE,GAAiB,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC1D,MAAM,GAAG,GAAe;YACtB,EAAE;YACF,UAAU,EAAE,IAAI,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC;YAClC,cAAc,EAAE,IAAI,GAAG,EAAE;YACzB,iBAAiB,EAAE,CAAC;YACpB,YAAY,EAAE,CAAC;YACf,YAAY,EAAE,CAAC;YACf,gBAAgB,EAAE,CAAC;YACnB,aAAa,EAAE,CAAC;YAChB,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI,IAAI;YACrC,OAAO,EAAE,OAAO,EAAE,OAAO;SAC1B,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE;YACrC,EAAE;YACF,WAAW;YACX,SAAS,EAAE,GAAG,CAAC,SAAS;SACzB,CAAC,CAAC;QACH,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,EAAgB;QAC5B,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,iBAAiB;QACf,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,oBAAoB;QAClB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,CAAC;IACnC,CAAC;IAED;;;OAGG;IACH,iBAAiB,CAAC,EAAgB;QAChC,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sCAAsC,EAAE;gBACxD,YAAY,EAAE,EAAE;aACjB,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,IAAI,GAAG,CAAC,iBAAiB,GAAG,CAAC,EAAE,CAAC;YAC9B,GAAG,CAAC,iBAAiB,EAAE,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE;gBAC/C,YAAY,EAAE,EAAE;gBAChB,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;aACzC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE;YACtC,YAAY,EAAE,EAAE;YAChB,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;SACzC,CAAC,CAAC;QACH,IAAI,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC;IAED;;;OAGG;IACH,eAAe,CAAC,EAAgB,EAAE,MAAc;QAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE;gBACtD,YAAY,EAAE,EAAE;gBAChB,MAAM;aACP,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,GAAG,CAAC,aAAa,EAAE,CAAC;QACpB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE;YACpC,YAAY,EAAE,EAAE;YAChB,MAAM;YACN,aAAa,EAAE,GAAG,CAAC,aAAa;SACjC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,eAAe,CAAC,EAAgB,EAAE,MAAc;QAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE;gBACtD,YAAY,EAAE,EAAE;gBAChB,MAAM;aACP,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,GAAG,CAAC,aAAa,EAAE,CAAC;QACpB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE;YACpC,YAAY,EAAE,EAAE;YAChB,MAAM;YACN,aAAa,EAAE,GAAG,CAAC,aAAa;SACjC,CAAC,CAAC;QACH,IAAI,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,YAAY,CAAC,EAAgB,EAAE,MAAc;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE;gBACpD,YAAY,EAAE,EAAE;gBAChB,MAAM;aACP,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,GAAG,CAAC,YAAY,EAAE,CAAC;QACnB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE;YAClC,YAAY,EAAE,EAAE;YAChB,MAAM;YACN,YAAY,EAAE,GAAG,CAAC,YAAY;SAC/B,CAAC,CAAC;IACL,CAAC;IAED,aAAa,CAAC,EAAgB,EAAE,MAAc;QAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE;gBACrD,YAAY,EAAE,EAAE;gBAChB,MAAM;aACP,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,GAAG,CAAC,YAAY,EAAE,CAAC;QACnB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE;YACnC,YAAY,EAAE,EAAE;YAChB,MAAM;YACN,YAAY,EAAE,GAAG,CAAC,YAAY;SAC/B,CAAC,CAAC;QACH,IAAI,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,mBAAmB,CAAC,EAAgB,EAAE,MAAc;QAClD,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yCAAyC,EAAE;gBAC3D,YAAY,EAAE,EAAE;gBAChB,MAAM;aACP,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,GAAG,CAAC,YAAY,EAAE,CAAC;QACnB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE;YACzC,YAAY,EAAE,EAAE;YAChB,MAAM;YACN,YAAY,EAAE,GAAG,CAAC,YAAY;SAC/B,CAAC,CAAC;IACL,CAAC;IAED,oBAAoB,CAAC,EAAgB,EAAE,MAAc;QACnD,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0CAA0C,EAAE;gBAC5D,YAAY,EAAE,EAAE;gBAChB,MAAM;aACP,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,GAAG,CAAC,YAAY,EAAE,CAAC;QACnB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE;YAC1C,YAAY,EAAE,EAAE;YAChB,MAAM;YACN,YAAY,EAAE,GAAG,CAAC,YAAY;SAC/B,CAAC,CAAC;QACH,IAAI,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,qBAAqB,CAAC,EAAgB,EAAE,MAAc;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2CAA2C,EAAE;gBAC7D,YAAY,EAAE,EAAE;gBAChB,MAAM;aACP,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACvB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE;YAC3C,YAAY,EAAE,EAAE;YAChB,MAAM;YACN,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;SACvC,CAAC,CAAC;IACL,CAAC;IAED,sBAAsB,CAAC,EAAgB,EAAE,MAAc;QACrD,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4CAA4C,EAAE;gBAC9D,YAAY,EAAE,EAAE;gBAChB,MAAM;aACP,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACvB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE;YAC5C,YAAY,EAAE,EAAE;YAChB,MAAM;YACN,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;SACvC,CAAC,CAAC;QACH,IAAI,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACK,0BAA0B,CAAC,EAAgB;QACjD,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE;gBAChD,YAAY,EAAE,EAAE;aACjB,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,IACE,GAAG,CAAC,iBAAiB,GAAG,CAAC;YACzB,GAAG,CAAC,YAAY,GAAG,CAAC;YACpB,GAAG,CAAC,YAAY,GAAG,CAAC;YACpB,GAAG,CAAC,gBAAgB,GAAG,CAAC;YACxB,GAAG,CAAC,aAAa,GAAG,CAAC,EACrB,CAAC;YACD,OAAO,CAAC,yBAAyB;QACnC,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE;YACrC,YAAY,EAAE,EAAE;YAChB,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;YACtC,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC;SAC/C,CAAC,CAAC;QAEH,4CAA4C;QAC5C,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE;YAC9B,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC5B,IAAI,GAAG,CAAC,OAAO;YAAE,GAAG,CAAC,OAAO,EAAE,CAAC;IACjC,CAAC;IAED;;;;;;OAMG;IACH,uBAAuB,CAAC,MAAc,EAAE,iBAA0B;QAChE,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3C,IAAI,iBAAiB,EAAE,CAAC;YACtB,+BAA+B;YAC/B,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC;YACvB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;YAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACrB,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;oBAAE,SAAS;gBAC/B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACjB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE;oBAC3B,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;wBAC5B,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;wBACjC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;4BAC3B,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;4BACvB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;wBACvB,CAAC;oBACH,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE;YAC/C,MAAM;YACN,iBAAiB;YACjB,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;YACpC,mBAAmB,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;SACzD,CAAC,CAAC;QAEH,8CAA8C;QAC9C,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;YAC5C,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;gBAC1B,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QAED,8CAA8C;QAC9C,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;YAC1B,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,UAAU;QACR,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QACpC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE;YAC3C,KAAK;YACL,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;SACnD,CAAC,CAAC;QACH,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;YAC5C,IAAI,GAAG,CAAC,OAAO;gBAAE,GAAG,CAAC,OAAO,EAAE,CAAC;QACjC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QACpC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACtD,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;CACF"}
@@ -0,0 +1,31 @@
1
+ import type { Graph } from "./Graph";
2
+ import type { Registry } from "../../builder/Registry";
3
+ import type { RuntimeValidator, RuntimeValidationError } from "./interfaces";
4
+ /**
5
+ * RuntimeValidatorManager component - manages runtime validators
6
+ */
7
+ export declare class RuntimeValidatorManager {
8
+ private readonly graph;
9
+ private registry?;
10
+ private validators;
11
+ constructor(graph: Graph, registry?: Registry | undefined);
12
+ /**
13
+ * Set the registry (called when registry changes)
14
+ */
15
+ setRegistry(registry: Registry): void;
16
+ /**
17
+ * Register a runtime validator that will be called before node execution.
18
+ * Validators are called in registration order - if any returns true, execution is blocked.
19
+ */
20
+ registerValidator(validator: RuntimeValidator): void;
21
+ /**
22
+ * Unregister a runtime validator.
23
+ */
24
+ unregisterValidator(validator: RuntimeValidator): void;
25
+ /**
26
+ * Check if any runtime validator blocks execution for this node.
27
+ * Returns RuntimeValidationError if execution should be blocked, null otherwise.
28
+ */
29
+ hasBlock(nodeId: string): RuntimeValidationError | null;
30
+ }
31
+ //# sourceMappingURL=RuntimeValidatorManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RuntimeValidatorManager.d.ts","sourceRoot":"","sources":["../../../../src/runtime/components/RuntimeValidatorManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAG7E;;GAEG;AACH,qBAAa,uBAAuB;IAIhC,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC;IAJnB,OAAO,CAAC,UAAU,CAA0B;gBAGzB,KAAK,EAAE,KAAK,EACrB,QAAQ,CAAC,EAAE,QAAQ,YAAA;IAG7B;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAIrC;;;OAGG;IACH,iBAAiB,CAAC,SAAS,EAAE,gBAAgB,GAAG,IAAI;IAIpD;;OAEG;IACH,mBAAmB,CAAC,SAAS,EAAE,gBAAgB,GAAG,IAAI;IAOtD;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,sBAAsB,GAAG,IAAI;CAiBxD"}
@@ -0,0 +1,56 @@
1
+ import { formatNodeRef } from "../utils";
2
+ /**
3
+ * RuntimeValidatorManager component - manages runtime validators
4
+ */
5
+ export class RuntimeValidatorManager {
6
+ constructor(graph, registry) {
7
+ this.graph = graph;
8
+ this.registry = registry;
9
+ this.validators = [];
10
+ }
11
+ /**
12
+ * Set the registry (called when registry changes)
13
+ */
14
+ setRegistry(registry) {
15
+ this.registry = registry;
16
+ }
17
+ /**
18
+ * Register a runtime validator that will be called before node execution.
19
+ * Validators are called in registration order - if any returns true, execution is blocked.
20
+ */
21
+ registerValidator(validator) {
22
+ this.validators.push(validator);
23
+ }
24
+ /**
25
+ * Unregister a runtime validator.
26
+ */
27
+ unregisterValidator(validator) {
28
+ const index = this.validators.indexOf(validator);
29
+ if (index >= 0) {
30
+ this.validators.splice(index, 1);
31
+ }
32
+ }
33
+ /**
34
+ * Check if any runtime validator blocks execution for this node.
35
+ * Returns RuntimeValidationError if execution should be blocked, null otherwise.
36
+ */
37
+ hasBlock(nodeId) {
38
+ if (!this.registry)
39
+ return null;
40
+ for (const validator of this.validators) {
41
+ try {
42
+ const result = validator(nodeId, this.graph, this.registry);
43
+ if (result !== false) {
44
+ // Validator returned an error object
45
+ return result;
46
+ }
47
+ }
48
+ catch (err) {
49
+ // Don't let validator errors break execution - log and continue
50
+ console.error(`Runtime validator error for node ${formatNodeRef(this.graph, nodeId)}:`, err);
51
+ }
52
+ }
53
+ return null;
54
+ }
55
+ }
56
+ //# sourceMappingURL=RuntimeValidatorManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RuntimeValidatorManager.js","sourceRoot":"","sources":["../../../../src/runtime/components/RuntimeValidatorManager.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC;;GAEG;AACH,MAAM,OAAO,uBAAuB;IAGlC,YACmB,KAAY,EACrB,QAAmB;QADV,UAAK,GAAL,KAAK,CAAO;QACrB,aAAQ,GAAR,QAAQ,CAAW;QAJrB,eAAU,GAAuB,EAAE,CAAC;IAKzC,CAAC;IAEJ;;OAEG;IACH,WAAW,CAAC,QAAkB;QAC5B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACH,iBAAiB,CAAC,SAA2B;QAC3C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,mBAAmB,CAAC,SAA2B;QAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YACf,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,QAAQ,CAAC,MAAc;QACrB,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAEhC,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACxC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC5D,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;oBACrB,qCAAqC;oBACrC,OAAO,MAAM,CAAC;gBAChB,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,gEAAgE;gBAChE,OAAO,CAAC,KAAK,CAAC,oCAAoC,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC/F,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
@@ -0,0 +1,33 @@
1
+ import type { GraphDefinition, ResolvedHandles } from "@bian-womp/spark-protocol";
2
+ import { Registry } from "../../builder/Registry";
3
+ import type { RuntimeEdge } from "./types";
4
+ import type { Graph } from "./Graph";
5
+ export declare function tryHandleResolving(def: GraphDefinition, registry: Registry, environment?: Record<string, unknown>): {
6
+ resolved: Map<string, ResolvedHandles>;
7
+ pending: Set<string>;
8
+ };
9
+ export declare function buildEdges(def: GraphDefinition, registry: Registry, graph: Graph): RuntimeEdge[];
10
+ /**
11
+ * Extract edge type information from resolved handles
12
+ * Used by both buildEdges and updateNodeHandles to avoid duplication
13
+ * Now supports union types on both source (output) and destination (input) handles
14
+ */
15
+ export declare function extractEdgeTypes(sourceNodeId: string, sourceHandle: string, targetNodeId: string, targetHandle: string, registry: Registry, graph: Graph): {
16
+ srcDeclared: string | string[] | undefined;
17
+ dstDeclared: string | string[] | undefined;
18
+ };
19
+ export declare function buildEdgeConverters(srcDeclared: string | string[] | undefined, dstDeclared: string | string[] | undefined, registry: Registry, edgeLabel: string): {
20
+ convert?: (v: unknown) => unknown;
21
+ convertAsync?: (v: unknown, signal: AbortSignal) => Promise<unknown>;
22
+ };
23
+ /**
24
+ * Compute effective inputs for a node by merging real inputs with defaults.
25
+ * This is a shared utility used by both NodeExecutor and runtime validators.
26
+ *
27
+ * @param nodeId - The node ID to compute effective inputs for
28
+ * @param graph - Graph component to access node and handle information
29
+ * @param registry - Registry to access node type descriptors and defaults
30
+ * @returns Record of effective input values (real inputs merged with defaults)
31
+ */
32
+ export declare function getEffectiveInputs(nodeId: string, graph: Graph, registry: Registry): Record<string, unknown>;
33
+ //# sourceMappingURL=graph-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph-utils.d.ts","sourceRoot":"","sources":["../../../../src/runtime/components/graph-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAyB,MAAM,2BAA2B,CAAC;AACzG,OAAO,EAAE,QAAQ,EAAyB,MAAM,wBAAwB,CAAC;AAQzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGrC,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,eAAe,EACpB,QAAQ,EAAE,QAAQ,EAClB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACpC;IAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAAC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CAAE,CA4ElE;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,GAAG,WAAW,EAAE,CAoChG;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,KAAK,GACX;IACD,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;IAC3C,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;CAC5C,CAiBA;AAID,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,EAC1C,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,EAC1C,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,MAAM,GAChB;IACD,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC;IAClC,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACtE,CA+IA;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAwD5G"}