@elaraai/e3-core 0.0.2-beta.3 → 0.0.2-beta.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +25 -22
- package/dist/src/dataflow/api-compat.d.ts +90 -0
- package/dist/src/dataflow/api-compat.d.ts.map +1 -0
- package/dist/src/dataflow/api-compat.js +134 -0
- package/dist/src/dataflow/api-compat.js.map +1 -0
- package/dist/src/dataflow/index.d.ts +18 -0
- package/dist/src/dataflow/index.d.ts.map +1 -0
- package/dist/src/dataflow/index.js +23 -0
- package/dist/src/dataflow/index.js.map +1 -0
- package/dist/src/dataflow/orchestrator/LocalOrchestrator.d.ts +53 -0
- package/dist/src/dataflow/orchestrator/LocalOrchestrator.d.ts.map +1 -0
- package/dist/src/dataflow/orchestrator/LocalOrchestrator.js +416 -0
- package/dist/src/dataflow/orchestrator/LocalOrchestrator.js.map +1 -0
- package/dist/src/dataflow/orchestrator/index.d.ts +12 -0
- package/dist/src/dataflow/orchestrator/index.d.ts.map +1 -0
- package/dist/src/dataflow/orchestrator/index.js +12 -0
- package/dist/src/dataflow/orchestrator/index.js.map +1 -0
- package/dist/src/dataflow/orchestrator/interfaces.d.ts +157 -0
- package/dist/src/dataflow/orchestrator/interfaces.d.ts.map +1 -0
- package/dist/src/dataflow/orchestrator/interfaces.js +51 -0
- package/dist/src/dataflow/orchestrator/interfaces.js.map +1 -0
- package/dist/src/dataflow/state-store/FileStateStore.d.ts +67 -0
- package/dist/src/dataflow/state-store/FileStateStore.d.ts.map +1 -0
- package/dist/src/dataflow/state-store/FileStateStore.js +286 -0
- package/dist/src/dataflow/state-store/FileStateStore.js.map +1 -0
- package/dist/src/dataflow/state-store/InMemoryStateStore.d.ts +42 -0
- package/dist/src/dataflow/state-store/InMemoryStateStore.d.ts.map +1 -0
- package/dist/src/dataflow/state-store/InMemoryStateStore.js +214 -0
- package/dist/src/dataflow/state-store/InMemoryStateStore.js.map +1 -0
- package/dist/src/dataflow/state-store/index.d.ts +13 -0
- package/dist/src/dataflow/state-store/index.d.ts.map +1 -0
- package/dist/src/dataflow/state-store/index.js +13 -0
- package/dist/src/dataflow/state-store/index.js.map +1 -0
- package/dist/src/dataflow/state-store/interfaces.d.ts +159 -0
- package/dist/src/dataflow/state-store/interfaces.d.ts.map +1 -0
- package/dist/src/dataflow/state-store/interfaces.js +6 -0
- package/dist/src/dataflow/state-store/interfaces.js.map +1 -0
- package/dist/src/dataflow/steps.d.ts +176 -0
- package/dist/src/dataflow/steps.d.ts.map +1 -0
- package/dist/src/dataflow/steps.js +528 -0
- package/dist/src/dataflow/steps.js.map +1 -0
- package/dist/src/dataflow/types.d.ts +116 -0
- package/dist/src/dataflow/types.d.ts.map +1 -0
- package/dist/src/dataflow/types.js +7 -0
- package/dist/src/dataflow/types.js.map +1 -0
- package/dist/src/dataflow.d.ts +142 -9
- package/dist/src/dataflow.d.ts.map +1 -1
- package/dist/src/dataflow.js +427 -64
- package/dist/src/dataflow.js.map +1 -1
- package/dist/src/errors.d.ts +39 -9
- package/dist/src/errors.d.ts.map +1 -1
- package/dist/src/errors.js +51 -8
- package/dist/src/errors.js.map +1 -1
- package/dist/src/execution/LocalTaskRunner.d.ts +73 -0
- package/dist/src/execution/LocalTaskRunner.d.ts.map +1 -0
- package/dist/src/execution/LocalTaskRunner.js +399 -0
- package/dist/src/execution/LocalTaskRunner.js.map +1 -0
- package/dist/src/execution/MockTaskRunner.d.ts +49 -0
- package/dist/src/execution/MockTaskRunner.d.ts.map +1 -0
- package/dist/src/execution/MockTaskRunner.js +55 -0
- package/dist/src/execution/MockTaskRunner.js.map +1 -0
- package/dist/src/execution/index.d.ts +16 -0
- package/dist/src/execution/index.d.ts.map +1 -0
- package/dist/src/execution/index.js +8 -0
- package/dist/src/execution/index.js.map +1 -0
- package/dist/src/execution/interfaces.d.ts +246 -0
- package/dist/src/execution/interfaces.d.ts.map +1 -0
- package/dist/src/execution/interfaces.js +6 -0
- package/dist/src/execution/interfaces.js.map +1 -0
- package/dist/src/execution/processHelpers.d.ts +20 -0
- package/dist/src/execution/processHelpers.d.ts.map +1 -0
- package/dist/src/execution/processHelpers.js +62 -0
- package/dist/src/execution/processHelpers.js.map +1 -0
- package/dist/src/executions.d.ts +71 -104
- package/dist/src/executions.d.ts.map +1 -1
- package/dist/src/executions.js +110 -476
- package/dist/src/executions.js.map +1 -1
- package/dist/src/index.d.ts +17 -9
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +44 -18
- package/dist/src/index.js.map +1 -1
- package/dist/src/objects.d.ts +6 -53
- package/dist/src/objects.d.ts.map +1 -1
- package/dist/src/objects.js +11 -232
- package/dist/src/objects.js.map +1 -1
- package/dist/src/packages.d.ts +22 -14
- package/dist/src/packages.d.ts.map +1 -1
- package/dist/src/packages.js +116 -83
- package/dist/src/packages.js.map +1 -1
- package/dist/src/storage/in-memory/InMemoryRepoStore.d.ts +35 -0
- package/dist/src/storage/in-memory/InMemoryRepoStore.d.ts.map +1 -0
- package/dist/src/storage/in-memory/InMemoryRepoStore.js +107 -0
- package/dist/src/storage/in-memory/InMemoryRepoStore.js.map +1 -0
- package/dist/src/storage/in-memory/InMemoryStorage.d.ts +114 -0
- package/dist/src/storage/in-memory/InMemoryStorage.d.ts.map +1 -0
- package/dist/src/storage/in-memory/InMemoryStorage.js +349 -0
- package/dist/src/storage/in-memory/InMemoryStorage.js.map +1 -0
- package/dist/src/storage/in-memory/index.d.ts +12 -0
- package/dist/src/storage/in-memory/index.d.ts.map +1 -0
- package/dist/src/storage/in-memory/index.js +12 -0
- package/dist/src/storage/in-memory/index.js.map +1 -0
- package/dist/src/storage/index.d.ts +18 -0
- package/dist/src/storage/index.d.ts.map +1 -0
- package/dist/src/storage/index.js +10 -0
- package/dist/src/storage/index.js.map +1 -0
- package/dist/src/storage/interfaces.d.ts +520 -0
- package/dist/src/storage/interfaces.d.ts.map +1 -0
- package/dist/src/storage/interfaces.js +6 -0
- package/dist/src/storage/interfaces.js.map +1 -0
- package/dist/src/storage/local/LocalBackend.d.ts +54 -0
- package/dist/src/storage/local/LocalBackend.d.ts.map +1 -0
- package/dist/src/storage/local/LocalBackend.js +141 -0
- package/dist/src/storage/local/LocalBackend.js.map +1 -0
- package/dist/src/storage/local/LocalLockService.d.ts +105 -0
- package/dist/src/storage/local/LocalLockService.d.ts.map +1 -0
- package/dist/src/storage/local/LocalLockService.js +342 -0
- package/dist/src/storage/local/LocalLockService.js.map +1 -0
- package/dist/src/storage/local/LocalLogStore.d.ts +23 -0
- package/dist/src/storage/local/LocalLogStore.d.ts.map +1 -0
- package/dist/src/storage/local/LocalLogStore.js +66 -0
- package/dist/src/storage/local/LocalLogStore.js.map +1 -0
- package/dist/src/storage/local/LocalObjectStore.d.ts +52 -0
- package/dist/src/storage/local/LocalObjectStore.d.ts.map +1 -0
- package/dist/src/storage/local/LocalObjectStore.js +287 -0
- package/dist/src/storage/local/LocalObjectStore.js.map +1 -0
- package/dist/src/storage/local/LocalRefStore.d.ts +50 -0
- package/dist/src/storage/local/LocalRefStore.d.ts.map +1 -0
- package/dist/src/storage/local/LocalRefStore.js +337 -0
- package/dist/src/storage/local/LocalRefStore.js.map +1 -0
- package/dist/src/storage/local/LocalRepoStore.d.ts +53 -0
- package/dist/src/storage/local/LocalRepoStore.d.ts.map +1 -0
- package/dist/src/storage/local/LocalRepoStore.js +353 -0
- package/dist/src/storage/local/LocalRepoStore.js.map +1 -0
- package/dist/src/storage/local/gc.d.ts +92 -0
- package/dist/src/storage/local/gc.d.ts.map +1 -0
- package/dist/src/storage/local/gc.js +322 -0
- package/dist/src/storage/local/gc.js.map +1 -0
- package/dist/src/storage/local/index.d.ts +17 -0
- package/dist/src/storage/local/index.d.ts.map +1 -0
- package/dist/src/storage/local/index.js +17 -0
- package/dist/src/storage/local/index.js.map +1 -0
- package/dist/src/storage/local/localHelpers.d.ts +25 -0
- package/dist/src/storage/local/localHelpers.d.ts.map +1 -0
- package/dist/src/storage/local/localHelpers.js +69 -0
- package/dist/src/storage/local/localHelpers.js.map +1 -0
- package/dist/src/{repository.d.ts → storage/local/repository.d.ts} +8 -4
- package/dist/src/storage/local/repository.d.ts.map +1 -0
- package/dist/src/{repository.js → storage/local/repository.js} +31 -29
- package/dist/src/storage/local/repository.js.map +1 -0
- package/dist/src/tasks.d.ts +16 -10
- package/dist/src/tasks.d.ts.map +1 -1
- package/dist/src/tasks.js +35 -41
- package/dist/src/tasks.js.map +1 -1
- package/dist/src/test-helpers.d.ts +4 -4
- package/dist/src/test-helpers.d.ts.map +1 -1
- package/dist/src/test-helpers.js +7 -21
- package/dist/src/test-helpers.js.map +1 -1
- package/dist/src/trees.d.ts +89 -27
- package/dist/src/trees.d.ts.map +1 -1
- package/dist/src/trees.js +218 -100
- package/dist/src/trees.js.map +1 -1
- package/dist/src/uuid.d.ts +26 -0
- package/dist/src/uuid.d.ts.map +1 -0
- package/dist/src/uuid.js +80 -0
- package/dist/src/uuid.js.map +1 -0
- package/dist/src/workspaceStatus.d.ts +6 -4
- package/dist/src/workspaceStatus.d.ts.map +1 -1
- package/dist/src/workspaceStatus.js +43 -49
- package/dist/src/workspaceStatus.js.map +1 -1
- package/dist/src/workspaces.d.ts +35 -26
- package/dist/src/workspaces.d.ts.map +1 -1
- package/dist/src/workspaces.js +169 -118
- package/dist/src/workspaces.js.map +1 -1
- package/package.json +4 -4
- package/dist/src/gc.d.ts +0 -54
- package/dist/src/gc.d.ts.map +0 -1
- package/dist/src/gc.js +0 -233
- package/dist/src/gc.js.map +0 -1
- package/dist/src/repository.d.ts.map +0 -1
- package/dist/src/repository.js.map +0 -1
- package/dist/src/workspaceLock.d.ts +0 -67
- package/dist/src/workspaceLock.d.ts.map +0 -1
- package/dist/src/workspaceLock.js +0 -217
- package/dist/src/workspaceLock.js.map +0 -1
package/dist/src/dataflow.d.ts
CHANGED
|
@@ -2,7 +2,19 @@
|
|
|
2
2
|
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
3
3
|
* Licensed under BSL 1.1. See LICENSE for details.
|
|
4
4
|
*/
|
|
5
|
-
import { type
|
|
5
|
+
import { type TreePath } from '@elaraai/e3-types';
|
|
6
|
+
import type { TaskRunner } from './execution/interfaces.js';
|
|
7
|
+
import type { StorageBackend, LockHandle } from './storage/interfaces.js';
|
|
8
|
+
/**
|
|
9
|
+
* Parse a keypath string (from pathToString) back to TreePath.
|
|
10
|
+
*
|
|
11
|
+
* The keypath format is: .field1.field2 (dot-separated field names)
|
|
12
|
+
* Quoted identifiers use backticks: .field1.`complex/name`
|
|
13
|
+
*
|
|
14
|
+
* @param pathStr - The path string in keypath format
|
|
15
|
+
* @returns TreePath array of path segments
|
|
16
|
+
*/
|
|
17
|
+
export declare function parsePathString(pathStr: string): TreePath;
|
|
6
18
|
/**
|
|
7
19
|
* Result of executing a single task in the dataflow.
|
|
8
20
|
*/
|
|
@@ -11,6 +23,8 @@ export interface TaskExecutionResult {
|
|
|
11
23
|
name: string;
|
|
12
24
|
/** Whether the task was cached */
|
|
13
25
|
cached: boolean;
|
|
26
|
+
/** Execution ID (UUIDv7) - present for executed or cached tasks */
|
|
27
|
+
executionId?: string;
|
|
14
28
|
/** Final state */
|
|
15
29
|
state: 'success' | 'failed' | 'error' | 'skipped';
|
|
16
30
|
/** Error message if state is 'error' */
|
|
@@ -26,6 +40,8 @@ export interface TaskExecutionResult {
|
|
|
26
40
|
export interface DataflowResult {
|
|
27
41
|
/** Overall success - true if all tasks completed successfully */
|
|
28
42
|
success: boolean;
|
|
43
|
+
/** Dataflow run ID (UUIDv7) */
|
|
44
|
+
runId: string;
|
|
29
45
|
/** Number of tasks executed (not from cache) */
|
|
30
46
|
executed: number;
|
|
31
47
|
/** Number of tasks served from cache */
|
|
@@ -57,7 +73,7 @@ export interface DataflowOptions {
|
|
|
57
73
|
* Use an external lock when you need to hold the lock across multiple
|
|
58
74
|
* operations (e.g., API server that cancels and restarts dataflow on writes).
|
|
59
75
|
*/
|
|
60
|
-
lock?:
|
|
76
|
+
lock?: LockHandle;
|
|
61
77
|
/**
|
|
62
78
|
* AbortSignal for cancellation. When aborted:
|
|
63
79
|
* - No new tasks will be started
|
|
@@ -65,6 +81,14 @@ export interface DataflowOptions {
|
|
|
65
81
|
* - DataflowAbortedError will be thrown with partial results
|
|
66
82
|
*/
|
|
67
83
|
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
|
+
*/
|
|
91
|
+
runner?: TaskRunner;
|
|
68
92
|
/** Callback when a task starts */
|
|
69
93
|
onTaskStart?: (name: string) => void;
|
|
70
94
|
/** Callback when a task completes */
|
|
@@ -85,7 +109,8 @@ export interface DataflowOptions {
|
|
|
85
109
|
* to prevent concurrent modifications. If options.lock is provided, uses that
|
|
86
110
|
* lock instead (caller is responsible for releasing it).
|
|
87
111
|
*
|
|
88
|
-
* @param
|
|
112
|
+
* @param storage - Storage backend
|
|
113
|
+
* @param repo - Repository identifier (for local storage, the path to e3 repository directory)
|
|
89
114
|
* @param ws - Workspace name
|
|
90
115
|
* @param options - Execution options
|
|
91
116
|
* @returns Result of the dataflow execution
|
|
@@ -95,14 +120,15 @@ export interface DataflowOptions {
|
|
|
95
120
|
* @throws {TaskNotFoundError} If filter specifies a task that doesn't exist
|
|
96
121
|
* @throws {DataflowError} If execution fails for other reasons
|
|
97
122
|
*/
|
|
98
|
-
export declare function dataflowExecute(
|
|
123
|
+
export declare function dataflowExecute(storage: StorageBackend, repo: string, ws: string, options?: DataflowOptions): Promise<DataflowResult>;
|
|
99
124
|
/**
|
|
100
125
|
* Start dataflow execution in the background (non-blocking).
|
|
101
126
|
*
|
|
102
127
|
* Returns a promise immediately without awaiting execution. The lock is
|
|
103
128
|
* released automatically when execution completes.
|
|
104
129
|
*
|
|
105
|
-
* @param
|
|
130
|
+
* @param storage - Storage backend
|
|
131
|
+
* @param repo - Repository identifier (for local storage, the path to e3 repository directory)
|
|
106
132
|
* @param ws - Workspace name
|
|
107
133
|
* @param options - Execution options (lock must be provided)
|
|
108
134
|
* @returns Promise that resolves when execution completes
|
|
@@ -111,20 +137,21 @@ export declare function dataflowExecute(repoPath: string, ws: string, options?:
|
|
|
111
137
|
* @throws {TaskNotFoundError} If filter specifies a task that doesn't exist
|
|
112
138
|
* @throws {DataflowError} If execution fails for other reasons
|
|
113
139
|
*/
|
|
114
|
-
export declare function dataflowStart(
|
|
115
|
-
lock:
|
|
140
|
+
export declare function dataflowStart(storage: StorageBackend, repo: string, ws: string, options: DataflowOptions & {
|
|
141
|
+
lock: LockHandle;
|
|
116
142
|
}): Promise<DataflowResult>;
|
|
117
143
|
/**
|
|
118
144
|
* Get the dependency graph for a workspace (for visualization/debugging).
|
|
119
145
|
*
|
|
120
|
-
* @param
|
|
146
|
+
* @param storage - Storage backend
|
|
147
|
+
* @param repo - Repository identifier (for local storage, the path to e3 repository directory)
|
|
121
148
|
* @param ws - Workspace name
|
|
122
149
|
* @returns Graph information
|
|
123
150
|
* @throws {WorkspaceNotFoundError} If workspace doesn't exist
|
|
124
151
|
* @throws {WorkspaceNotDeployedError} If workspace has no package deployed
|
|
125
152
|
* @throws {DataflowError} If graph building fails for other reasons
|
|
126
153
|
*/
|
|
127
|
-
export declare function dataflowGetGraph(
|
|
154
|
+
export declare function dataflowGetGraph(storage: StorageBackend, repo: string, ws: string): Promise<{
|
|
128
155
|
tasks: Array<{
|
|
129
156
|
name: string;
|
|
130
157
|
hash: string;
|
|
@@ -133,4 +160,110 @@ export declare function dataflowGetGraph(repoPath: string, ws: string): Promise<
|
|
|
133
160
|
dependsOn: string[];
|
|
134
161
|
}>;
|
|
135
162
|
}>;
|
|
163
|
+
/**
|
|
164
|
+
* Graph structure returned by dataflowGetGraph.
|
|
165
|
+
*/
|
|
166
|
+
export interface DataflowGraph {
|
|
167
|
+
tasks: Array<{
|
|
168
|
+
name: string;
|
|
169
|
+
hash: string;
|
|
170
|
+
inputs: string[];
|
|
171
|
+
output: string;
|
|
172
|
+
dependsOn: string[];
|
|
173
|
+
}>;
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Get tasks that are ready to execute given the set of completed tasks.
|
|
177
|
+
*
|
|
178
|
+
* 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
|
+
*
|
|
182
|
+
* @param graph - The dependency graph from dataflowGetGraph
|
|
183
|
+
* @param completedTasks - Set of task names that have completed
|
|
184
|
+
* @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
|
+
*/
|
|
194
|
+
export declare function dataflowGetReadyTasks(graph: DataflowGraph, completedTasks: Set<string>): string[];
|
|
195
|
+
/**
|
|
196
|
+
* Check if a task execution is cached for the given inputs.
|
|
197
|
+
*
|
|
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
|
+
* @param storage - Storage backend
|
|
202
|
+
* @param repo - Repository path
|
|
203
|
+
* @param taskHash - Hash of the TaskObject
|
|
204
|
+
* @param inputHashes - Array of input dataset hashes (in order)
|
|
205
|
+
* @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
|
+
*/
|
|
217
|
+
export declare function dataflowCheckCache(storage: StorageBackend, repo: string, taskHash: string, inputHashes: string[]): Promise<string | null>;
|
|
218
|
+
/**
|
|
219
|
+
* Find tasks that should be skipped when a task fails.
|
|
220
|
+
*
|
|
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.
|
|
227
|
+
*
|
|
228
|
+
* @param graph - The dependency graph from dataflowGetGraph
|
|
229
|
+
* @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)
|
|
232
|
+
* @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
|
+
*/
|
|
242
|
+
export declare function dataflowGetDependentsToSkip(graph: DataflowGraph, failedTask: string, completedTasks: Set<string>, skippedTasks: Set<string>): string[];
|
|
243
|
+
/**
|
|
244
|
+
* Resolve input hashes for a task from current workspace state.
|
|
245
|
+
*
|
|
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
|
+
* @param storage - Storage backend
|
|
253
|
+
* @param repo - Repository path
|
|
254
|
+
* @param ws - Workspace name
|
|
255
|
+
* @param task - Task info from the graph (needs inputs array)
|
|
256
|
+
* @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
|
+
*/
|
|
268
|
+
export declare function dataflowResolveInputHashes(storage: StorageBackend, repo: string, ws: string, task: DataflowGraph['tasks'][0]): Promise<Array<string | null>>;
|
|
136
269
|
//# sourceMappingURL=dataflow.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataflow.d.ts","sourceRoot":"","sources":["../../src/dataflow.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"dataflow.d.ts","sourceRoot":"","sources":["../../src/dataflow.ts"],"names":[],"mappings":"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"}
|