@elaraai/e3-core 0.0.2-beta.36 → 0.0.2-beta.38

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 (81) hide show
  1. package/dist/src/dataflow/api-compat.d.ts.map +1 -1
  2. package/dist/src/dataflow/api-compat.js +6 -1
  3. package/dist/src/dataflow/api-compat.js.map +1 -1
  4. package/dist/src/dataflow/orchestrator/LocalOrchestrator.d.ts +22 -4
  5. package/dist/src/dataflow/orchestrator/LocalOrchestrator.d.ts.map +1 -1
  6. package/dist/src/dataflow/orchestrator/LocalOrchestrator.js +353 -79
  7. package/dist/src/dataflow/orchestrator/LocalOrchestrator.js.map +1 -1
  8. package/dist/src/dataflow/orchestrator/interfaces.d.ts +6 -0
  9. package/dist/src/dataflow/orchestrator/interfaces.d.ts.map +1 -1
  10. package/dist/src/dataflow/orchestrator/interfaces.js +1 -0
  11. package/dist/src/dataflow/orchestrator/interfaces.js.map +1 -1
  12. package/dist/src/dataflow/state-store/InMemoryStateStore.d.ts.map +1 -1
  13. package/dist/src/dataflow/state-store/InMemoryStateStore.js +8 -0
  14. package/dist/src/dataflow/state-store/InMemoryStateStore.js.map +1 -1
  15. package/dist/src/dataflow/steps.d.ts +74 -28
  16. package/dist/src/dataflow/steps.d.ts.map +1 -1
  17. package/dist/src/dataflow/steps.js +221 -42
  18. package/dist/src/dataflow/steps.js.map +1 -1
  19. package/dist/src/dataflow/types.d.ts +13 -2
  20. package/dist/src/dataflow/types.d.ts.map +1 -1
  21. package/dist/src/dataflow.d.ts +37 -95
  22. package/dist/src/dataflow.d.ts.map +1 -1
  23. package/dist/src/dataflow.js +121 -631
  24. package/dist/src/dataflow.js.map +1 -1
  25. package/dist/src/dataset-refs.d.ts +124 -0
  26. package/dist/src/dataset-refs.d.ts.map +1 -0
  27. package/dist/src/dataset-refs.js +319 -0
  28. package/dist/src/dataset-refs.js.map +1 -0
  29. package/dist/src/execution/MockTaskRunner.d.ts +1 -1
  30. package/dist/src/execution/MockTaskRunner.d.ts.map +1 -1
  31. package/dist/src/execution/MockTaskRunner.js +1 -2
  32. package/dist/src/execution/MockTaskRunner.js.map +1 -1
  33. package/dist/src/index.d.ts +5 -4
  34. package/dist/src/index.d.ts.map +1 -1
  35. package/dist/src/index.js +6 -4
  36. package/dist/src/index.js.map +1 -1
  37. package/dist/src/packages.d.ts.map +1 -1
  38. package/dist/src/packages.js +20 -7
  39. package/dist/src/packages.js.map +1 -1
  40. package/dist/src/storage/in-memory/InMemoryStorage.d.ts +26 -4
  41. package/dist/src/storage/in-memory/InMemoryStorage.d.ts.map +1 -1
  42. package/dist/src/storage/in-memory/InMemoryStorage.js +104 -21
  43. package/dist/src/storage/in-memory/InMemoryStorage.js.map +1 -1
  44. package/dist/src/storage/index.d.ts +2 -2
  45. package/dist/src/storage/index.d.ts.map +1 -1
  46. package/dist/src/storage/index.js +1 -1
  47. package/dist/src/storage/index.js.map +1 -1
  48. package/dist/src/storage/interfaces.d.ts +52 -1
  49. package/dist/src/storage/interfaces.d.ts.map +1 -1
  50. package/dist/src/storage/local/LocalBackend.d.ts +3 -1
  51. package/dist/src/storage/local/LocalBackend.d.ts.map +1 -1
  52. package/dist/src/storage/local/LocalBackend.js +5 -1
  53. package/dist/src/storage/local/LocalBackend.js.map +1 -1
  54. package/dist/src/storage/local/LocalDatasetRefStore.d.ts +22 -0
  55. package/dist/src/storage/local/LocalDatasetRefStore.d.ts.map +1 -0
  56. package/dist/src/storage/local/LocalDatasetRefStore.js +118 -0
  57. package/dist/src/storage/local/LocalDatasetRefStore.js.map +1 -0
  58. package/dist/src/storage/local/LocalLockService.d.ts +6 -0
  59. package/dist/src/storage/local/LocalLockService.d.ts.map +1 -1
  60. package/dist/src/storage/local/LocalLockService.js +17 -4
  61. package/dist/src/storage/local/LocalLockService.js.map +1 -1
  62. package/dist/src/storage/local/LocalRepoStore.d.ts +4 -2
  63. package/dist/src/storage/local/LocalRepoStore.d.ts.map +1 -1
  64. package/dist/src/storage/local/LocalRepoStore.js +14 -2
  65. package/dist/src/storage/local/LocalRepoStore.js.map +1 -1
  66. package/dist/src/storage/local/gc.d.ts.map +1 -1
  67. package/dist/src/storage/local/gc.js +8 -1
  68. package/dist/src/storage/local/gc.js.map +1 -1
  69. package/dist/src/storage/local/index.d.ts +1 -0
  70. package/dist/src/storage/local/index.d.ts.map +1 -1
  71. package/dist/src/storage/local/index.js +1 -0
  72. package/dist/src/storage/local/index.js.map +1 -1
  73. package/dist/src/trees.d.ts +35 -43
  74. package/dist/src/trees.d.ts.map +1 -1
  75. package/dist/src/trees.js +228 -449
  76. package/dist/src/trees.js.map +1 -1
  77. package/dist/src/workspaces.d.ts +6 -27
  78. package/dist/src/workspaces.d.ts.map +1 -1
  79. package/dist/src/workspaces.js +42 -55
  80. package/dist/src/workspaces.js.map +1 -1
  81. package/package.json +1 -1
@@ -50,6 +50,8 @@ export interface DataflowResult {
50
50
  failed: number;
51
51
  /** Number of tasks skipped due to upstream failure */
52
52
  skipped: number;
53
+ /** Number of tasks re-executed due to input changes */
54
+ reexecuted: number;
53
55
  /** Per-task results */
54
56
  tasks: TaskExecutionResult[];
55
57
  /** Total duration in milliseconds */
@@ -65,29 +67,11 @@ export interface DataflowOptions {
65
67
  force?: boolean;
66
68
  /** Filter to run only specific task(s) by exact name */
67
69
  filter?: string;
68
- /**
69
- * External workspace lock to use. If provided, the caller is responsible
70
- * for releasing the lock after execution. If not provided, dataflowExecute
71
- * will acquire and release a lock internally.
72
- *
73
- * Use an external lock when you need to hold the lock across multiple
74
- * operations (e.g., API server that cancels and restarts dataflow on writes).
75
- */
70
+ /** External workspace lock to use. */
76
71
  lock?: LockHandle;
77
- /**
78
- * AbortSignal for cancellation. When aborted:
79
- * - No new tasks will be started
80
- * - Running tasks will be killed (SIGTERM, then SIGKILL)
81
- * - DataflowAbortedError will be thrown with partial results
82
- */
72
+ /** AbortSignal for cancellation. */
83
73
  signal?: AbortSignal;
84
- /**
85
- * Task runner to use for executing individual tasks.
86
- * Defaults to using taskExecute() directly if not provided.
87
- *
88
- * Use MockTaskRunner for testing dataflow orchestration logic
89
- * without spawning real processes.
90
- */
74
+ /** Task runner for executing individual tasks. */
91
75
  runner?: TaskRunner;
92
76
  /** Callback when a task starts */
93
77
  onTaskStart?: (name: string) => void;
@@ -97,23 +81,26 @@ export interface DataflowOptions {
97
81
  onStdout?: (taskName: string, data: string) => void;
98
82
  /** Callback for task stderr */
99
83
  onStderr?: (taskName: string, data: string) => void;
84
+ /** Callback when an input dataset changes during execution (reactive dataflow) */
85
+ onInputChanged?: (path: string, previousHash: string, newHash: string) => void;
86
+ /** Callback when a task is invalidated due to input change */
87
+ onTaskInvalidated?: (taskName: string, reason: string) => void;
88
+ /** Callback when a task is deferred due to inconsistent input versions */
89
+ onTaskDeferred?: (taskName: string, conflictPath: string) => void;
100
90
  }
101
91
  /**
102
92
  * Execute all tasks in a workspace according to the dependency graph.
103
93
  *
104
- * Tasks are executed in parallel where dependencies allow, respecting
105
- * the concurrency limit. On failure, no new tasks are launched but
106
- * running tasks are allowed to complete.
107
- *
108
- * Acquires an exclusive lock on the workspace for the duration of execution
109
- * to prevent concurrent modifications. If options.lock is provided, uses that
110
- * lock instead (caller is responsible for releasing it).
94
+ * Delegates to `LocalOrchestrator` which implements reactive fixpoint
95
+ * execution using step functions. After each task completes, input changes
96
+ * are detected and affected tasks are invalidated and re-executed.
111
97
  *
112
98
  * @param storage - Storage backend
113
- * @param repo - Repository identifier (for local storage, the path to e3 repository directory)
99
+ * @param repo - Repository identifier
114
100
  * @param ws - Workspace name
115
101
  * @param options - Execution options
116
102
  * @returns Result of the dataflow execution
103
+ *
117
104
  * @throws {WorkspaceLockError} If workspace is locked by another process
118
105
  * @throws {WorkspaceNotFoundError} If workspace doesn't exist
119
106
  * @throws {WorkspaceNotDeployedError} If workspace has no package deployed
@@ -122,20 +109,14 @@ export interface DataflowOptions {
122
109
  */
123
110
  export declare function dataflowExecute(storage: StorageBackend, repo: string, ws: string, options?: DataflowOptions): Promise<DataflowResult>;
124
111
  /**
125
- * Start dataflow execution in the background (non-blocking).
126
- *
127
- * Returns a promise immediately without awaiting execution. The lock is
128
- * released automatically when execution completes.
112
+ * Execute dataflow with an externally-held lock.
113
+ * The lock is released automatically when execution completes or fails.
129
114
  *
130
115
  * @param storage - Storage backend
131
- * @param repo - Repository identifier (for local storage, the path to e3 repository directory)
116
+ * @param repo - Repository identifier
132
117
  * @param ws - Workspace name
133
118
  * @param options - Execution options (lock must be provided)
134
119
  * @returns Promise that resolves when execution completes
135
- * @throws {WorkspaceNotFoundError} If workspace doesn't exist
136
- * @throws {WorkspaceNotDeployedError} If workspace has no package deployed
137
- * @throws {TaskNotFoundError} If filter specifies a task that doesn't exist
138
- * @throws {DataflowError} If execution fails for other reasons
139
120
  */
140
121
  export declare function dataflowStart(storage: StorageBackend, repo: string, ws: string, options: DataflowOptions & {
141
122
  lock: LockHandle;
@@ -144,9 +125,10 @@ export declare function dataflowStart(storage: StorageBackend, repo: string, ws:
144
125
  * Get the dependency graph for a workspace (for visualization/debugging).
145
126
  *
146
127
  * @param storage - Storage backend
147
- * @param repo - Repository identifier (for local storage, the path to e3 repository directory)
128
+ * @param repo - Repository identifier
148
129
  * @param ws - Workspace name
149
130
  * @returns Graph information
131
+ *
150
132
  * @throws {WorkspaceNotFoundError} If workspace doesn't exist
151
133
  * @throws {WorkspaceNotDeployedError} If workspace has no package deployed
152
134
  * @throws {DataflowError} If graph building fails for other reasons
@@ -172,98 +154,58 @@ export interface DataflowGraph {
172
154
  dependsOn: string[];
173
155
  }>;
174
156
  }
157
+ /**
158
+ * Find all tasks affected by input changes (transitive dependents).
159
+ * An affected task is one whose output could change due to the input change.
160
+ *
161
+ * @param graph - The dependency graph
162
+ * @param changes - Array of changed input paths
163
+ * @returns Array of affected task names
164
+ */
165
+ export declare function findAffectedTasks(graph: DataflowGraph, changes: Array<{
166
+ path: string;
167
+ }>): string[];
175
168
  /**
176
169
  * Get tasks that are ready to execute given the set of completed tasks.
177
170
  *
178
171
  * A task is ready when all tasks it depends on have completed.
179
- * This is useful for distributed execution (e.g., AWS Step Functions)
180
- * where a coordinator needs to determine which tasks can run next.
181
172
  *
182
173
  * @param graph - The dependency graph from dataflowGetGraph
183
174
  * @param completedTasks - Set of task names that have completed
184
175
  * @returns Array of task names that are ready to execute
185
- *
186
- * @example
187
- * ```typescript
188
- * const graph = await dataflowGetGraph(storage, repo, 'production');
189
- * const ready = dataflowGetReadyTasks(graph, new Set()); // Initial ready tasks
190
- * // Execute ready[0]...
191
- * const nextReady = dataflowGetReadyTasks(graph, new Set([ready[0]]));
192
- * ```
193
176
  */
194
177
  export declare function dataflowGetReadyTasks(graph: DataflowGraph, completedTasks: Set<string>): string[];
195
178
  /**
196
179
  * Check if a task execution is cached for the given inputs.
197
180
  *
198
- * This is useful for distributed execution where a Lambda handler needs
199
- * to check if a task can be skipped before spawning execution.
200
- *
201
181
  * @param storage - Storage backend
202
182
  * @param repo - Repository path
203
183
  * @param taskHash - Hash of the TaskObject
204
184
  * @param inputHashes - Array of input dataset hashes (in order)
205
185
  * @returns Output hash if cached, null if execution needed
206
- *
207
- * @example
208
- * ```typescript
209
- * const outputHash = await dataflowCheckCache(storage, repo, taskHash, inputHashes);
210
- * if (outputHash) {
211
- * // Task is cached, use outputHash directly
212
- * } else {
213
- * // Need to execute task
214
- * }
215
- * ```
216
186
  */
217
187
  export declare function dataflowCheckCache(storage: StorageBackend, repo: string, taskHash: string, inputHashes: string[]): Promise<string | null>;
218
188
  /**
219
189
  * Find tasks that should be skipped when a task fails.
220
190
  *
221
- * Returns all tasks that transitively depend on the failed task
222
- * (directly or through other tasks), excluding already completed
223
- * or already skipped tasks.
224
- *
225
- * This is useful for distributed execution where the coordinator
226
- * needs to mark downstream tasks as skipped after a failure.
191
+ * Returns all tasks that transitively depend on the failed task,
192
+ * excluding already completed or already skipped tasks.
227
193
  *
228
194
  * @param graph - The dependency graph from dataflowGetGraph
229
195
  * @param failedTask - Name of the task that failed
230
- * @param completedTasks - Set of task names already completed (won't be skipped)
231
- * @param skippedTasks - Set of task names already skipped (won't be returned again)
196
+ * @param completedTasks - Set of task names already completed
197
+ * @param skippedTasks - Set of task names already skipped
232
198
  * @returns Array of task names that should be skipped
233
- *
234
- * @example
235
- * ```typescript
236
- * const graph = await dataflowGetGraph(storage, repo, 'production');
237
- * // Task 'etl' failed...
238
- * const toSkip = dataflowGetDependentsToSkip(graph, 'etl', completed, skipped);
239
- * // toSkip might be ['transform', 'aggregate', 'report'] - all downstream tasks
240
- * ```
241
199
  */
242
200
  export declare function dataflowGetDependentsToSkip(graph: DataflowGraph, failedTask: string, completedTasks: Set<string>, skippedTasks: Set<string>): string[];
243
201
  /**
244
202
  * Resolve input hashes for a task from current workspace state.
245
203
  *
246
- * Returns an array of hashes in the same order as the task's inputs.
247
- * If any input is unassigned, returns null for that position.
248
- *
249
- * This is useful for distributed execution where the input hashes
250
- * need to be resolved before checking cache or executing.
251
- *
252
204
  * @param storage - Storage backend
253
205
  * @param repo - Repository path
254
206
  * @param ws - Workspace name
255
- * @param task - Task info from the graph (needs inputs array)
207
+ * @param task - Task info from the graph
256
208
  * @returns Array of hashes (null if input is unassigned)
257
- *
258
- * @example
259
- * ```typescript
260
- * const graph = await dataflowGetGraph(storage, repo, 'production');
261
- * const task = graph.tasks.find(t => t.name === 'etl')!;
262
- * const inputHashes = await dataflowResolveInputHashes(storage, repo, 'production', task);
263
- * if (!inputHashes.includes(null)) {
264
- * const cached = await dataflowCheckCache(storage, repo, task.hash, inputHashes);
265
- * }
266
- * ```
267
209
  */
268
210
  export declare function dataflowResolveInputHashes(storage: StorageBackend, repo: string, ws: string, task: DataflowGraph['tasks'][0]): Promise<Array<string | null>>;
269
211
  //# sourceMappingURL=dataflow.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dataflow.d.ts","sourceRoot":"","sources":["../../src/dataflow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dataflow.d.ts","sourceRoot":"","sources":["../../src/dataflow.ts"],"names":[],"mappings":"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"}