@bian-womp/spark-graph 0.3.46 → 0.3.48

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 (163) hide show
  1. package/lib/cjs/index.cjs +20 -17
  2. package/lib/cjs/index.cjs.map +1 -1
  3. package/lib/cjs/src/core/types.d.ts +2 -1
  4. package/lib/cjs/src/core/types.d.ts.map +1 -1
  5. package/lib/cjs/src/runtime/GraphRuntime.d.ts.map +1 -1
  6. package/lib/cjs/src/runtime/components/NodeExecutor.d.ts.map +1 -1
  7. package/lib/cjs/src/runtime/components/RunContextManager.d.ts +3 -2
  8. package/lib/cjs/src/runtime/components/RunContextManager.d.ts.map +1 -1
  9. package/lib/cjs/src/runtime/utils.d.ts.map +1 -1
  10. package/lib/esm/index.js +20 -17
  11. package/lib/esm/index.js.map +1 -1
  12. package/lib/esm/src/core/types.d.ts +2 -1
  13. package/lib/esm/src/core/types.d.ts.map +1 -1
  14. package/lib/esm/src/runtime/GraphRuntime.d.ts.map +1 -1
  15. package/lib/esm/src/runtime/components/NodeExecutor.d.ts.map +1 -1
  16. package/lib/esm/src/runtime/components/RunContextManager.d.ts +3 -2
  17. package/lib/esm/src/runtime/components/RunContextManager.d.ts.map +1 -1
  18. package/lib/esm/src/runtime/utils.d.ts.map +1 -1
  19. package/lib/src/builder/GraphBuilder.d.ts +43 -0
  20. package/lib/src/builder/GraphBuilder.d.ts.map +1 -0
  21. package/lib/src/builder/GraphBuilder.js +284 -0
  22. package/lib/src/builder/GraphBuilder.js.map +1 -0
  23. package/lib/src/builder/Registry.d.ts +93 -0
  24. package/lib/src/builder/Registry.d.ts.map +1 -0
  25. package/lib/src/builder/Registry.js +393 -0
  26. package/lib/src/builder/Registry.js.map +1 -0
  27. package/lib/src/core/categories.d.ts +22 -0
  28. package/lib/src/core/categories.d.ts.map +1 -0
  29. package/lib/src/core/categories.js +2 -0
  30. package/lib/src/core/categories.js.map +1 -0
  31. package/lib/src/core/order.d.ts +7 -0
  32. package/lib/src/core/order.d.ts.map +1 -0
  33. package/lib/src/core/order.js +66 -0
  34. package/lib/src/core/order.js.map +1 -0
  35. package/lib/src/core/type-utils.d.ts +29 -0
  36. package/lib/src/core/type-utils.d.ts.map +1 -0
  37. package/lib/src/core/type-utils.js +97 -0
  38. package/lib/src/core/type-utils.js.map +1 -0
  39. package/lib/src/core/types.d.ts +92 -0
  40. package/lib/src/core/types.d.ts.map +1 -0
  41. package/lib/src/core/types.js +2 -0
  42. package/lib/src/core/types.js.map +1 -0
  43. package/lib/src/examples/arrays.d.ts +5 -0
  44. package/lib/src/examples/arrays.d.ts.map +1 -0
  45. package/lib/src/examples/arrays.js +49 -0
  46. package/lib/src/examples/arrays.js.map +1 -0
  47. package/lib/src/examples/async.d.ts +5 -0
  48. package/lib/src/examples/async.d.ts.map +1 -0
  49. package/lib/src/examples/async.js +91 -0
  50. package/lib/src/examples/async.js.map +1 -0
  51. package/lib/src/examples/progress.d.ts +5 -0
  52. package/lib/src/examples/progress.d.ts.map +1 -0
  53. package/lib/src/examples/progress.js +51 -0
  54. package/lib/src/examples/progress.js.map +1 -0
  55. package/lib/src/examples/run.d.ts +2 -0
  56. package/lib/src/examples/run.d.ts.map +1 -0
  57. package/lib/src/examples/run.js +32 -0
  58. package/lib/src/examples/run.js.map +1 -0
  59. package/lib/src/examples/runMode.d.ts +2 -0
  60. package/lib/src/examples/runMode.d.ts.map +1 -0
  61. package/lib/src/examples/runMode.js +223 -0
  62. package/lib/src/examples/runMode.js.map +1 -0
  63. package/lib/src/examples/shared.d.ts +5 -0
  64. package/lib/src/examples/shared.d.ts.map +1 -0
  65. package/lib/src/examples/shared.js +49 -0
  66. package/lib/src/examples/shared.js.map +1 -0
  67. package/lib/src/examples/simple.d.ts +5 -0
  68. package/lib/src/examples/simple.d.ts.map +1 -0
  69. package/lib/src/examples/simple.js +79 -0
  70. package/lib/src/examples/simple.js.map +1 -0
  71. package/lib/src/examples/snapshot.d.ts +4 -0
  72. package/lib/src/examples/snapshot.d.ts.map +1 -0
  73. package/lib/src/examples/snapshot.js +58 -0
  74. package/lib/src/examples/snapshot.js.map +1 -0
  75. package/lib/src/examples/validation.d.ts +5 -0
  76. package/lib/src/examples/validation.d.ts.map +1 -0
  77. package/lib/src/examples/validation.js +105 -0
  78. package/lib/src/examples/validation.js.map +1 -0
  79. package/lib/src/index.d.ts +27 -0
  80. package/lib/src/index.d.ts.map +1 -0
  81. package/lib/src/index.js +19 -0
  82. package/lib/src/index.js.map +1 -0
  83. package/lib/src/misc/base.d.ts +51 -0
  84. package/lib/src/misc/base.d.ts.map +1 -0
  85. package/lib/src/misc/base.js +1122 -0
  86. package/lib/src/misc/base.js.map +1 -0
  87. package/lib/src/misc/utils/json.d.ts +22 -0
  88. package/lib/src/misc/utils/json.d.ts.map +1 -0
  89. package/lib/src/misc/utils/json.js +239 -0
  90. package/lib/src/misc/utils/json.js.map +1 -0
  91. package/lib/src/misc/utils/merge.d.ts +51 -0
  92. package/lib/src/misc/utils/merge.d.ts.map +1 -0
  93. package/lib/src/misc/utils/merge.js +600 -0
  94. package/lib/src/misc/utils/merge.js.map +1 -0
  95. package/lib/src/plugins/composite.d.ts +22 -0
  96. package/lib/src/plugins/composite.d.ts.map +1 -0
  97. package/lib/src/plugins/composite.js +59 -0
  98. package/lib/src/plugins/composite.js.map +1 -0
  99. package/lib/src/plugins/compute.d.ts +5 -0
  100. package/lib/src/plugins/compute.d.ts.map +1 -0
  101. package/lib/src/plugins/compute.js +39 -0
  102. package/lib/src/plugins/compute.js.map +1 -0
  103. package/lib/src/runtime/Engine.d.ts +28 -0
  104. package/lib/src/runtime/Engine.d.ts.map +1 -0
  105. package/lib/src/runtime/Engine.js +2 -0
  106. package/lib/src/runtime/Engine.js.map +1 -0
  107. package/lib/src/runtime/GraphLifecycleApi.d.ts +46 -0
  108. package/lib/src/runtime/GraphLifecycleApi.d.ts.map +1 -0
  109. package/lib/src/runtime/GraphLifecycleApi.js +2 -0
  110. package/lib/src/runtime/GraphLifecycleApi.js.map +1 -0
  111. package/lib/src/runtime/GraphRuntime.d.ts +94 -0
  112. package/lib/src/runtime/GraphRuntime.d.ts.map +1 -0
  113. package/lib/src/runtime/GraphRuntime.js +729 -0
  114. package/lib/src/runtime/GraphRuntime.js.map +1 -0
  115. package/lib/src/runtime/LocalEngine.d.ts +45 -0
  116. package/lib/src/runtime/LocalEngine.d.ts.map +1 -0
  117. package/lib/src/runtime/LocalEngine.js +89 -0
  118. package/lib/src/runtime/LocalEngine.js.map +1 -0
  119. package/lib/src/runtime/components/EdgePropagator.d.ts +101 -0
  120. package/lib/src/runtime/components/EdgePropagator.d.ts.map +1 -0
  121. package/lib/src/runtime/components/EdgePropagator.js +372 -0
  122. package/lib/src/runtime/components/EdgePropagator.js.map +1 -0
  123. package/lib/src/runtime/components/EventEmitter.d.ts +12 -0
  124. package/lib/src/runtime/components/EventEmitter.d.ts.map +1 -0
  125. package/lib/src/runtime/components/EventEmitter.js +33 -0
  126. package/lib/src/runtime/components/EventEmitter.js.map +1 -0
  127. package/lib/src/runtime/components/Graph.d.ts +211 -0
  128. package/lib/src/runtime/components/Graph.d.ts.map +1 -0
  129. package/lib/src/runtime/components/Graph.js +468 -0
  130. package/lib/src/runtime/components/Graph.js.map +1 -0
  131. package/lib/src/runtime/components/HandleResolver.d.ts +36 -0
  132. package/lib/src/runtime/components/HandleResolver.d.ts.map +1 -0
  133. package/lib/src/runtime/components/HandleResolver.js +231 -0
  134. package/lib/src/runtime/components/HandleResolver.js.map +1 -0
  135. package/lib/src/runtime/components/NodeExecutor.d.ts +110 -0
  136. package/lib/src/runtime/components/NodeExecutor.d.ts.map +1 -0
  137. package/lib/src/runtime/components/NodeExecutor.js +659 -0
  138. package/lib/src/runtime/components/NodeExecutor.js.map +1 -0
  139. package/lib/src/runtime/components/RunContextManager.d.ts +86 -0
  140. package/lib/src/runtime/components/RunContextManager.d.ts.map +1 -0
  141. package/lib/src/runtime/components/RunContextManager.js +302 -0
  142. package/lib/src/runtime/components/RunContextManager.js.map +1 -0
  143. package/lib/src/runtime/components/RuntimeValidatorManager.d.ts +31 -0
  144. package/lib/src/runtime/components/RuntimeValidatorManager.d.ts.map +1 -0
  145. package/lib/src/runtime/components/RuntimeValidatorManager.js +55 -0
  146. package/lib/src/runtime/components/RuntimeValidatorManager.js.map +1 -0
  147. package/lib/src/runtime/components/graph-utils.d.ts +33 -0
  148. package/lib/src/runtime/components/graph-utils.d.ts.map +1 -0
  149. package/lib/src/runtime/components/graph-utils.js +292 -0
  150. package/lib/src/runtime/components/graph-utils.js.map +1 -0
  151. package/lib/src/runtime/components/interfaces.d.ts +54 -0
  152. package/lib/src/runtime/components/interfaces.d.ts.map +1 -0
  153. package/lib/src/runtime/components/interfaces.js +2 -0
  154. package/lib/src/runtime/components/interfaces.js.map +1 -0
  155. package/lib/src/runtime/components/types.d.ts +55 -0
  156. package/lib/src/runtime/components/types.d.ts.map +1 -0
  157. package/lib/src/runtime/components/types.js +2 -0
  158. package/lib/src/runtime/components/types.js.map +1 -0
  159. package/lib/src/runtime/utils.d.ts +67 -0
  160. package/lib/src/runtime/utils.d.ts.map +1 -0
  161. package/lib/src/runtime/utils.js +137 -0
  162. package/lib/src/runtime/utils.js.map +1 -0
  163. package/package.json +2 -2
package/lib/cjs/index.cjs CHANGED
@@ -1104,10 +1104,13 @@ class LevelLogger {
1104
1104
  const effectiveValue = LevelLogger.levelValues[effectiveLevel] ?? 1;
1105
1105
  // Only log if the requested level is >= effective level
1106
1106
  if (requestedValue >= effectiveValue) {
1107
- const contextStr = context
1108
- ? ` ${Object.entries(context)
1109
- .map(([k, v]) => `${k}=${JSON.stringify(v)}`)
1110
- .join(" ")}`
1107
+ const { formatJson, ...rest } = context ?? {};
1108
+ const contextStr = rest && Object.keys(rest).length > 0
1109
+ ? `${formatJson ? "\n" : " "}${Object.entries(rest)
1110
+ .map(([k, v]) => formatJson
1111
+ ? `\n${k}=${JSON.stringify(v, undefined, 2)}`
1112
+ : `${k}=${JSON.stringify(v)}`)
1113
+ .join(formatJson ? "\n" : " ")}`
1111
1114
  : "";
1112
1115
  const prefixedMessage = this.prefix
1113
1116
  ? `${this.prefix} ${message}${contextStr}`
@@ -1154,7 +1157,7 @@ class RunContextManager {
1154
1157
  /**
1155
1158
  * Create a new run-context for runFromHere
1156
1159
  */
1157
- createRunContext(startNodeId, resolve, options) {
1160
+ createRunContext(startNodeId, options) {
1158
1161
  const id = `rc-${++this.runContextCounter}`;
1159
1162
  const ctx = {
1160
1163
  id,
@@ -1166,7 +1169,7 @@ class RunContextManager {
1166
1169
  pendingQueued: 0,
1167
1170
  skipPropagateValues: options?.skipPropagateValues ?? false,
1168
1171
  propagate: options?.propagate ?? true,
1169
- resolve,
1172
+ resolve: options?.resolve,
1170
1173
  };
1171
1174
  this.runContexts.set(id, ctx);
1172
1175
  this.logger.info("create-run-context", {
@@ -2389,13 +2392,13 @@ class NodeExecutor {
2389
2392
  invalidateDownstream: () => {
2390
2393
  this.edgePropagator.invalidateDownstream(nodeId);
2391
2394
  },
2392
- execute: (resolve, opts) => {
2395
+ execute: (opts) => {
2393
2396
  if (this.graph.allInboundHaveValue(nodeId)) {
2394
2397
  let runContextIdsToUse = this.runtime.getRunMode() === "auto" ? undefined : runContextIds;
2395
2398
  if (this.runtime.getRunMode() === "manual" &&
2396
2399
  (!runContextIds || runContextIds.size === 0)) {
2397
2400
  runContextIdsToUse = new Set([
2398
- this.runContextManager.createRunContext(nodeId, resolve, opts),
2401
+ this.runContextManager.createRunContext(nodeId, opts),
2399
2402
  ]);
2400
2403
  }
2401
2404
  this.execute(nodeId, runContextIdsToUse);
@@ -2435,9 +2438,7 @@ class NodeExecutor {
2435
2438
  // If autoRun is true, auto-generate a run context (similar to createExecutionContext pattern)
2436
2439
  if (node.policy?.autoRun === true) {
2437
2440
  runContextIds = new Set([
2438
- this.runContextManager.createRunContext(nodeId, () => { }, {
2439
- propagate: false,
2440
- }),
2441
+ this.runContextManager.createRunContext(nodeId, { propagate: false }),
2441
2442
  ]);
2442
2443
  }
2443
2444
  else {
@@ -2858,6 +2859,7 @@ class NodeExecutor {
2858
2859
  }
2859
2860
  if (currentNode) {
2860
2861
  ctx.log("debug", "node-done", {
2862
+ formatJson: true,
2861
2863
  durationMs: currentNode.stats.lastDurationMs,
2862
2864
  hadError,
2863
2865
  inputs: currentNode.inputs
@@ -3023,7 +3025,7 @@ class GraphRuntime {
3023
3025
  // Initialize components
3024
3026
  this.eventEmitter = new EventEmitter();
3025
3027
  this.graph = new Graph(this.eventEmitter);
3026
- this.runContextManager = new RunContextManager(this.graph, "info");
3028
+ this.runContextManager = new RunContextManager(this.graph, "warn");
3027
3029
  this.handleResolver = new HandleResolver(this.graph, this.eventEmitter, this.runContextManager, this);
3028
3030
  this.edgePropagator = new EdgePropagator(this.graph, this.eventEmitter, this.runContextManager, this.handleResolver, this);
3029
3031
  // Create NodeExecutor with EdgePropagator and HandleResolver
@@ -3349,7 +3351,10 @@ class GraphRuntime {
3349
3351
  if (!node)
3350
3352
  return;
3351
3353
  return new Promise((resolve) => {
3352
- const id = this.runContextManager.createRunContext(startNodeId, resolve, options);
3354
+ const id = this.runContextManager.createRunContext(startNodeId, {
3355
+ resolve,
3356
+ ...options,
3357
+ });
3353
3358
  this.graph.addNodeRunContextId(startNodeId, id);
3354
3359
  this.execute(startNodeId, new Set([id]));
3355
3360
  });
@@ -3404,9 +3409,7 @@ class GraphRuntime {
3404
3409
  let runContextIdsToUse = undefined;
3405
3410
  if (this.runMode === "manual") {
3406
3411
  runContextIdsToUse = new Set([
3407
- this.runContextManager.createRunContext(nodeId, undefined, {
3408
- propagate: false,
3409
- }),
3412
+ this.runContextManager.createRunContext(nodeId, { propagate: false }),
3410
3413
  ]);
3411
3414
  }
3412
3415
  if (shouldAutoRun && this.graph.allInboundHaveValue(nodeId)) {
@@ -3694,7 +3697,7 @@ class GraphRuntime {
3694
3697
  let runContextIdsToUse = undefined;
3695
3698
  if (this.runMode === "manual") {
3696
3699
  runContextIdsToUse = new Set([
3697
- this.runContextManager.createRunContext(nodeId, undefined, {
3700
+ this.runContextManager.createRunContext(nodeId, {
3698
3701
  propagate: false,
3699
3702
  }),
3700
3703
  ]);