@elaraai/e3-api-server 0.0.2-beta.11 → 0.0.2-beta.13
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 +144 -29
- package/dist/src/async-operation-state.d.ts +63 -0
- package/dist/src/async-operation-state.d.ts.map +1 -0
- package/dist/src/async-operation-state.js +193 -0
- package/dist/src/async-operation-state.js.map +1 -0
- package/dist/src/auth/device.d.ts +26 -0
- package/dist/src/auth/device.d.ts.map +1 -0
- package/dist/src/auth/device.js +227 -0
- package/dist/src/auth/device.js.map +1 -0
- package/dist/src/auth/discovery.d.ts +23 -0
- package/dist/src/auth/discovery.d.ts.map +1 -0
- package/dist/src/auth/discovery.js +40 -0
- package/dist/src/auth/discovery.js.map +1 -0
- package/dist/src/auth/index.d.ts +56 -0
- package/dist/src/auth/index.d.ts.map +1 -0
- package/dist/src/auth/index.js +69 -0
- package/dist/src/auth/index.js.map +1 -0
- package/dist/src/auth/keys.d.ts +55 -0
- package/dist/src/auth/keys.d.ts.map +1 -0
- package/dist/src/auth/keys.js +78 -0
- package/dist/src/auth/keys.js.map +1 -0
- package/dist/src/beast2.d.ts +15 -3
- package/dist/src/beast2.d.ts.map +1 -1
- package/dist/src/beast2.js +30 -4
- package/dist/src/beast2.js.map +1 -1
- package/dist/src/cli.js +58 -6
- package/dist/src/cli.js.map +1 -1
- package/dist/src/errors.d.ts.map +1 -1
- package/dist/src/errors.js +5 -2
- package/dist/src/errors.js.map +1 -1
- package/dist/src/execution-state.d.ts +54 -0
- package/dist/src/execution-state.d.ts.map +1 -0
- package/dist/src/execution-state.js +150 -0
- package/dist/src/execution-state.js.map +1 -0
- package/dist/src/handlers/dataflow.d.ts +49 -0
- package/dist/src/handlers/dataflow.d.ts.map +1 -0
- package/dist/src/handlers/dataflow.js +371 -0
- package/dist/src/handlers/dataflow.js.map +1 -0
- package/dist/src/handlers/datasets.d.ts +23 -0
- package/dist/src/handlers/datasets.d.ts.map +1 -0
- package/dist/src/handlers/datasets.js +113 -0
- package/dist/src/handlers/datasets.js.map +1 -0
- package/dist/src/handlers/index.d.ts +12 -0
- package/dist/src/handlers/index.d.ts.map +1 -0
- package/dist/src/handlers/index.js +12 -0
- package/dist/src/handlers/index.js.map +1 -0
- package/dist/src/handlers/packages.d.ts +26 -0
- package/dist/src/handlers/packages.d.ts.map +1 -0
- package/dist/src/handlers/packages.js +101 -0
- package/dist/src/handlers/packages.js.map +1 -0
- package/dist/src/handlers/repos.d.ts +11 -0
- package/dist/src/handlers/repos.d.ts.map +1 -0
- package/dist/src/handlers/repos.js +52 -0
- package/dist/src/handlers/repos.js.map +1 -0
- package/dist/src/handlers/repository.d.ts +35 -0
- package/dist/src/handlers/repository.d.ts.map +1 -0
- package/dist/src/handlers/repository.js +142 -0
- package/dist/src/handlers/repository.js.map +1 -0
- package/dist/src/handlers/tasks.d.ts +18 -0
- package/dist/src/handlers/tasks.d.ts.map +1 -0
- package/dist/src/handlers/tasks.js +134 -0
- package/dist/src/handlers/tasks.js.map +1 -0
- package/dist/src/handlers/workspaces.d.ts +34 -0
- package/dist/src/handlers/workspaces.d.ts.map +1 -0
- package/dist/src/handlers/workspaces.js +225 -0
- package/dist/src/handlers/workspaces.js.map +1 -0
- package/dist/src/index.d.ts +3 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +6 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/middleware/auth.d.ts +51 -0
- package/dist/src/middleware/auth.d.ts.map +1 -0
- package/dist/src/middleware/auth.js +158 -0
- package/dist/src/middleware/auth.js.map +1 -0
- package/dist/src/routes/datasets.d.ts +2 -1
- package/dist/src/routes/datasets.d.ts.map +1 -1
- package/dist/src/routes/datasets.js +50 -85
- package/dist/src/routes/datasets.js.map +1 -1
- package/dist/src/routes/executions.d.ts +2 -1
- package/dist/src/routes/executions.d.ts.map +1 -1
- package/dist/src/routes/executions.js +60 -286
- package/dist/src/routes/executions.js.map +1 -1
- package/dist/src/routes/index.d.ts +11 -0
- package/dist/src/routes/index.d.ts.map +1 -0
- package/dist/src/routes/index.js +11 -0
- package/dist/src/routes/index.js.map +1 -0
- package/dist/src/routes/packages.d.ts +2 -1
- package/dist/src/routes/packages.d.ts.map +1 -1
- package/dist/src/routes/packages.js +42 -105
- package/dist/src/routes/packages.js.map +1 -1
- package/dist/src/routes/repository.d.ts +2 -1
- package/dist/src/routes/repository.d.ts.map +1 -1
- package/dist/src/routes/repository.js +19 -54
- package/dist/src/routes/repository.js.map +1 -1
- package/dist/src/routes/tasks.d.ts +2 -1
- package/dist/src/routes/tasks.d.ts.map +1 -1
- package/dist/src/routes/tasks.js +22 -46
- package/dist/src/routes/tasks.js.map +1 -1
- package/dist/src/routes/workspaces.d.ts +2 -1
- package/dist/src/routes/workspaces.d.ts.map +1 -1
- package/dist/src/routes/workspaces.js +45 -116
- package/dist/src/routes/workspaces.js.map +1 -1
- package/dist/src/server.d.ts +24 -3
- package/dist/src/server.d.ts.map +1 -1
- package/dist/src/server.js +178 -19
- package/dist/src/server.js.map +1 -1
- package/dist/src/types.d.ts +486 -1
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js +209 -2
- package/dist/src/types.js.map +1 -1
- package/package.json +16 -4
|
@@ -0,0 +1,371 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
3
|
+
* Licensed under BSL 1.1. See LICENSE for details.
|
|
4
|
+
*/
|
|
5
|
+
import { NullType, some, none, variant } from '@elaraai/east';
|
|
6
|
+
import { dataflowStart, dataflowExecute, dataflowGetGraph, workspaceStatus, executionFindCurrent, executionReadLog, WorkspaceLockError, DataflowAbortedError, } from '@elaraai/e3-core';
|
|
7
|
+
import { sendSuccess, sendError, sendSuccessWithStatus } from '../beast2.js';
|
|
8
|
+
import { errorToVariant } from '../errors.js';
|
|
9
|
+
import { WorkspaceStatusResultType, DataflowGraphType, LogChunkType, DataflowResultType, DataflowExecutionStateType, } from '../types.js';
|
|
10
|
+
import { createExecutionState, addExecutionEvent, completeExecution, abortExecution, getExecutionState, } from '../execution-state.js';
|
|
11
|
+
/**
|
|
12
|
+
* Convert core DatasetStatusInfo to API type.
|
|
13
|
+
*/
|
|
14
|
+
function convertDatasetStatus(info) {
|
|
15
|
+
let status;
|
|
16
|
+
switch (info.status.type) {
|
|
17
|
+
case 'unset':
|
|
18
|
+
status = variant('unset', null);
|
|
19
|
+
break;
|
|
20
|
+
case 'stale':
|
|
21
|
+
status = variant('stale', null);
|
|
22
|
+
break;
|
|
23
|
+
case 'up-to-date':
|
|
24
|
+
status = variant('up-to-date', null);
|
|
25
|
+
break;
|
|
26
|
+
}
|
|
27
|
+
return {
|
|
28
|
+
path: info.path,
|
|
29
|
+
status,
|
|
30
|
+
hash: info.hash ? some(info.hash) : none,
|
|
31
|
+
isTaskOutput: info.isTaskOutput,
|
|
32
|
+
producedBy: info.producedBy ? some(info.producedBy) : none,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Convert core TaskStatusInfo to API type.
|
|
37
|
+
*/
|
|
38
|
+
function convertTaskStatus(info) {
|
|
39
|
+
let status;
|
|
40
|
+
switch (info.status.type) {
|
|
41
|
+
case 'up-to-date':
|
|
42
|
+
status = variant('up-to-date', { cached: info.status.cached });
|
|
43
|
+
break;
|
|
44
|
+
case 'ready':
|
|
45
|
+
status = variant('ready', null);
|
|
46
|
+
break;
|
|
47
|
+
case 'waiting':
|
|
48
|
+
status = variant('waiting', { reason: info.status.reason });
|
|
49
|
+
break;
|
|
50
|
+
case 'in-progress':
|
|
51
|
+
status = variant('in-progress', {
|
|
52
|
+
pid: info.status.pid != null ? some(BigInt(info.status.pid)) : none,
|
|
53
|
+
startedAt: info.status.startedAt ? some(info.status.startedAt) : none,
|
|
54
|
+
});
|
|
55
|
+
break;
|
|
56
|
+
case 'failed':
|
|
57
|
+
status = variant('failed', {
|
|
58
|
+
exitCode: BigInt(info.status.exitCode),
|
|
59
|
+
completedAt: info.status.completedAt ? some(info.status.completedAt) : none,
|
|
60
|
+
});
|
|
61
|
+
break;
|
|
62
|
+
case 'error':
|
|
63
|
+
status = variant('error', {
|
|
64
|
+
message: info.status.message,
|
|
65
|
+
completedAt: info.status.completedAt ? some(info.status.completedAt) : none,
|
|
66
|
+
});
|
|
67
|
+
break;
|
|
68
|
+
case 'stale-running':
|
|
69
|
+
status = variant('stale-running', {
|
|
70
|
+
pid: info.status.pid != null ? some(BigInt(info.status.pid)) : none,
|
|
71
|
+
startedAt: info.status.startedAt ? some(info.status.startedAt) : none,
|
|
72
|
+
});
|
|
73
|
+
break;
|
|
74
|
+
}
|
|
75
|
+
return {
|
|
76
|
+
name: info.name,
|
|
77
|
+
hash: info.hash,
|
|
78
|
+
status,
|
|
79
|
+
inputs: info.inputs,
|
|
80
|
+
output: info.output,
|
|
81
|
+
dependsOn: info.dependsOn,
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Convert core TaskExecutionResult to API type.
|
|
86
|
+
*/
|
|
87
|
+
function convertTaskExecutionResult(result) {
|
|
88
|
+
let state;
|
|
89
|
+
switch (result.state) {
|
|
90
|
+
case 'success':
|
|
91
|
+
state = variant('success', null);
|
|
92
|
+
break;
|
|
93
|
+
case 'failed':
|
|
94
|
+
state = variant('failed', { exitCode: BigInt(result.exitCode ?? -1) });
|
|
95
|
+
break;
|
|
96
|
+
case 'error':
|
|
97
|
+
state = variant('error', { message: result.error ?? 'Unknown error' });
|
|
98
|
+
break;
|
|
99
|
+
case 'skipped':
|
|
100
|
+
state = variant('skipped', null);
|
|
101
|
+
break;
|
|
102
|
+
}
|
|
103
|
+
return {
|
|
104
|
+
name: result.name,
|
|
105
|
+
cached: result.cached,
|
|
106
|
+
state,
|
|
107
|
+
duration: result.duration,
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Convert core DataflowResult to API type.
|
|
112
|
+
*/
|
|
113
|
+
function convertDataflowResult(result) {
|
|
114
|
+
return {
|
|
115
|
+
success: result.success,
|
|
116
|
+
executed: BigInt(result.executed),
|
|
117
|
+
cached: BigInt(result.cached),
|
|
118
|
+
failed: BigInt(result.failed),
|
|
119
|
+
skipped: BigInt(result.skipped),
|
|
120
|
+
tasks: result.tasks.map(convertTaskExecutionResult),
|
|
121
|
+
duration: result.duration,
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Convert core WorkspaceStatusResult to API type.
|
|
126
|
+
*/
|
|
127
|
+
function convertWorkspaceStatus(result) {
|
|
128
|
+
return {
|
|
129
|
+
workspace: result.workspace,
|
|
130
|
+
lock: result.lock && result.lock.pid !== undefined
|
|
131
|
+
? some({
|
|
132
|
+
pid: BigInt(result.lock.pid),
|
|
133
|
+
acquiredAt: result.lock.acquiredAt,
|
|
134
|
+
bootId: result.lock.bootId ? some(result.lock.bootId) : none,
|
|
135
|
+
command: result.lock.command ? some(result.lock.command) : none,
|
|
136
|
+
})
|
|
137
|
+
: none,
|
|
138
|
+
datasets: result.datasets.map(convertDatasetStatus),
|
|
139
|
+
tasks: result.tasks.map(convertTaskStatus),
|
|
140
|
+
summary: {
|
|
141
|
+
datasets: {
|
|
142
|
+
total: BigInt(result.summary.datasets.total),
|
|
143
|
+
unset: BigInt(result.summary.datasets.unset),
|
|
144
|
+
stale: BigInt(result.summary.datasets.stale),
|
|
145
|
+
upToDate: BigInt(result.summary.datasets.upToDate),
|
|
146
|
+
},
|
|
147
|
+
tasks: {
|
|
148
|
+
total: BigInt(result.summary.tasks.total),
|
|
149
|
+
upToDate: BigInt(result.summary.tasks.upToDate),
|
|
150
|
+
ready: BigInt(result.summary.tasks.ready),
|
|
151
|
+
waiting: BigInt(result.summary.tasks.waiting),
|
|
152
|
+
inProgress: BigInt(result.summary.tasks.inProgress),
|
|
153
|
+
failed: BigInt(result.summary.tasks.failed),
|
|
154
|
+
error: BigInt(result.summary.tasks.error),
|
|
155
|
+
staleRunning: BigInt(result.summary.tasks.staleRunning),
|
|
156
|
+
},
|
|
157
|
+
},
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Convert a core TaskExecutionResult to a DataflowEvent.
|
|
162
|
+
*/
|
|
163
|
+
function taskResultToEvent(result) {
|
|
164
|
+
const timestamp = new Date().toISOString();
|
|
165
|
+
if (result.cached) {
|
|
166
|
+
// Cached - no execution happened, just cache retrieval
|
|
167
|
+
return variant('cached', {
|
|
168
|
+
task: result.name,
|
|
169
|
+
timestamp,
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
switch (result.state) {
|
|
173
|
+
case 'success':
|
|
174
|
+
return variant('complete', {
|
|
175
|
+
task: result.name,
|
|
176
|
+
timestamp,
|
|
177
|
+
duration: result.duration,
|
|
178
|
+
});
|
|
179
|
+
case 'failed':
|
|
180
|
+
return variant('failed', {
|
|
181
|
+
task: result.name,
|
|
182
|
+
timestamp,
|
|
183
|
+
duration: result.duration,
|
|
184
|
+
exitCode: BigInt(result.exitCode ?? -1),
|
|
185
|
+
});
|
|
186
|
+
case 'error':
|
|
187
|
+
return variant('error', {
|
|
188
|
+
task: result.name,
|
|
189
|
+
timestamp,
|
|
190
|
+
message: result.error ?? 'Unknown error',
|
|
191
|
+
});
|
|
192
|
+
case 'skipped':
|
|
193
|
+
return variant('input_unavailable', {
|
|
194
|
+
task: result.name,
|
|
195
|
+
timestamp,
|
|
196
|
+
reason: 'Upstream task failed or inputs not available',
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Start dataflow execution (non-blocking).
|
|
202
|
+
*
|
|
203
|
+
* Returns 202 Accepted immediately and runs execution in background.
|
|
204
|
+
* Creates execution state that can be polled via getDataflowExecution().
|
|
205
|
+
*/
|
|
206
|
+
export async function startDataflow(storage, repoPath, workspace, options) {
|
|
207
|
+
try {
|
|
208
|
+
// Acquire lock first - returns null if already locked
|
|
209
|
+
const lock = await storage.locks.acquire(repoPath, workspace, variant('dataflow', null));
|
|
210
|
+
if (!lock) {
|
|
211
|
+
throw new WorkspaceLockError(workspace);
|
|
212
|
+
}
|
|
213
|
+
// Create execution state for polling
|
|
214
|
+
createExecutionState(repoPath, workspace);
|
|
215
|
+
// Track execution summary
|
|
216
|
+
let executed = 0;
|
|
217
|
+
let cached = 0;
|
|
218
|
+
let failed = 0;
|
|
219
|
+
let skipped = 0;
|
|
220
|
+
const startTime = Date.now();
|
|
221
|
+
// Start execution without awaiting - it runs in background
|
|
222
|
+
dataflowStart(storage, repoPath, workspace, {
|
|
223
|
+
concurrency: options.concurrency,
|
|
224
|
+
force: options.force,
|
|
225
|
+
filter: options.filter,
|
|
226
|
+
lock,
|
|
227
|
+
onTaskStart: (name) => {
|
|
228
|
+
// Record start event
|
|
229
|
+
addExecutionEvent(repoPath, workspace, variant('start', {
|
|
230
|
+
task: name,
|
|
231
|
+
timestamp: new Date().toISOString(),
|
|
232
|
+
}));
|
|
233
|
+
},
|
|
234
|
+
onTaskComplete: (result) => {
|
|
235
|
+
// Track summary counts
|
|
236
|
+
if (result.cached) {
|
|
237
|
+
cached++;
|
|
238
|
+
}
|
|
239
|
+
else if (result.state === 'success') {
|
|
240
|
+
executed++;
|
|
241
|
+
}
|
|
242
|
+
else if (result.state === 'failed' || result.state === 'error') {
|
|
243
|
+
failed++;
|
|
244
|
+
}
|
|
245
|
+
else if (result.state === 'skipped') {
|
|
246
|
+
skipped++;
|
|
247
|
+
}
|
|
248
|
+
// Record completion event
|
|
249
|
+
addExecutionEvent(repoPath, workspace, taskResultToEvent(result));
|
|
250
|
+
},
|
|
251
|
+
}).then((result) => {
|
|
252
|
+
// Execution completed
|
|
253
|
+
const duration = Date.now() - startTime;
|
|
254
|
+
completeExecution(repoPath, workspace, {
|
|
255
|
+
executed,
|
|
256
|
+
cached,
|
|
257
|
+
failed,
|
|
258
|
+
skipped,
|
|
259
|
+
duration,
|
|
260
|
+
}, result.success);
|
|
261
|
+
}).catch((err) => {
|
|
262
|
+
// Handle abort or error
|
|
263
|
+
if (err instanceof DataflowAbortedError) {
|
|
264
|
+
abortExecution(repoPath, workspace);
|
|
265
|
+
}
|
|
266
|
+
else {
|
|
267
|
+
// Mark as failed on unexpected error
|
|
268
|
+
const duration = Date.now() - startTime;
|
|
269
|
+
completeExecution(repoPath, workspace, {
|
|
270
|
+
executed,
|
|
271
|
+
cached,
|
|
272
|
+
failed,
|
|
273
|
+
skipped,
|
|
274
|
+
duration,
|
|
275
|
+
}, false);
|
|
276
|
+
console.error(`Dataflow execution error for workspace ${workspace}:`, err);
|
|
277
|
+
}
|
|
278
|
+
});
|
|
279
|
+
// Return immediately with 202 Accepted
|
|
280
|
+
return sendSuccessWithStatus(NullType, null, 202);
|
|
281
|
+
}
|
|
282
|
+
catch (err) {
|
|
283
|
+
return sendError(NullType, errorToVariant(err));
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
/**
|
|
287
|
+
* Execute dataflow (blocking).
|
|
288
|
+
*
|
|
289
|
+
* Blocks until execution completes and returns the result.
|
|
290
|
+
*/
|
|
291
|
+
export async function executeDataflow(storage, repoPath, workspace, options) {
|
|
292
|
+
try {
|
|
293
|
+
const result = await dataflowExecute(storage, repoPath, workspace, options);
|
|
294
|
+
return sendSuccess(DataflowResultType, convertDataflowResult(result));
|
|
295
|
+
}
|
|
296
|
+
catch (err) {
|
|
297
|
+
return sendError(DataflowResultType, errorToVariant(err));
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
/**
|
|
301
|
+
* Get workspace status (for polling).
|
|
302
|
+
*/
|
|
303
|
+
export async function getDataflowStatus(storage, repoPath, workspace) {
|
|
304
|
+
try {
|
|
305
|
+
const result = await workspaceStatus(storage, repoPath, workspace);
|
|
306
|
+
return sendSuccess(WorkspaceStatusResultType, convertWorkspaceStatus(result));
|
|
307
|
+
}
|
|
308
|
+
catch (err) {
|
|
309
|
+
return sendError(WorkspaceStatusResultType, errorToVariant(err));
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
/**
|
|
313
|
+
* Get dependency graph.
|
|
314
|
+
*/
|
|
315
|
+
export async function getDataflowGraph(storage, repoPath, workspace) {
|
|
316
|
+
try {
|
|
317
|
+
const graph = await dataflowGetGraph(storage, repoPath, workspace);
|
|
318
|
+
return sendSuccess(DataflowGraphType, {
|
|
319
|
+
tasks: graph.tasks.map((t) => ({
|
|
320
|
+
name: t.name,
|
|
321
|
+
hash: t.hash,
|
|
322
|
+
inputs: t.inputs,
|
|
323
|
+
output: t.output,
|
|
324
|
+
dependsOn: t.dependsOn,
|
|
325
|
+
})),
|
|
326
|
+
});
|
|
327
|
+
}
|
|
328
|
+
catch (err) {
|
|
329
|
+
return sendError(DataflowGraphType, errorToVariant(err));
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
/**
|
|
333
|
+
* Get task logs.
|
|
334
|
+
*/
|
|
335
|
+
export async function getTaskLogs(storage, repoPath, workspace, taskName, stream, offset, limit) {
|
|
336
|
+
try {
|
|
337
|
+
// Find the current execution for this task
|
|
338
|
+
const execution = await executionFindCurrent(storage, repoPath, workspace, taskName);
|
|
339
|
+
if (!execution) {
|
|
340
|
+
return sendError(LogChunkType, errorToVariant(new Error('No executions found for task')));
|
|
341
|
+
}
|
|
342
|
+
// Read logs
|
|
343
|
+
const chunk = await executionReadLog(storage, repoPath, execution.taskHash, execution.inputsHash, stream, { offset, limit });
|
|
344
|
+
return sendSuccess(LogChunkType, {
|
|
345
|
+
data: chunk.data,
|
|
346
|
+
offset: BigInt(chunk.offset),
|
|
347
|
+
size: BigInt(chunk.size),
|
|
348
|
+
totalSize: BigInt(chunk.totalSize),
|
|
349
|
+
complete: chunk.complete,
|
|
350
|
+
});
|
|
351
|
+
}
|
|
352
|
+
catch (err) {
|
|
353
|
+
return sendError(LogChunkType, errorToVariant(err));
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
/**
|
|
357
|
+
* Get dataflow execution state (for polling).
|
|
358
|
+
*
|
|
359
|
+
* Returns the current execution state including events for progress tracking.
|
|
360
|
+
* Supports offset/limit for paginating events.
|
|
361
|
+
*/
|
|
362
|
+
export function getDataflowExecution(repoPath, workspace, options = {}) {
|
|
363
|
+
const state = getExecutionState(repoPath, workspace, options);
|
|
364
|
+
if (!state) {
|
|
365
|
+
return sendError(DataflowExecutionStateType, variant('internal', {
|
|
366
|
+
message: 'No execution found for this workspace',
|
|
367
|
+
}));
|
|
368
|
+
}
|
|
369
|
+
return sendSuccess(DataflowExecutionStateType, state);
|
|
370
|
+
}
|
|
371
|
+
//# sourceMappingURL=dataflow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dataflow.js","sourceRoot":"","sources":["../../../src/handlers/dataflow.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
3
|
+
* Licensed under BSL 1.1. See LICENSE for details.
|
|
4
|
+
*/
|
|
5
|
+
import type { TreePath } from '@elaraai/e3-types';
|
|
6
|
+
import type { StorageBackend } from '@elaraai/e3-core';
|
|
7
|
+
/**
|
|
8
|
+
* List dataset fields at the given path.
|
|
9
|
+
*/
|
|
10
|
+
export declare function listDatasets(storage: StorageBackend, repoPath: string, workspace: string, treePath: TreePath): Promise<Response>;
|
|
11
|
+
/**
|
|
12
|
+
* Get dataset value as raw BEAST2 bytes.
|
|
13
|
+
*/
|
|
14
|
+
export declare function getDataset(storage: StorageBackend, repoPath: string, workspace: string, treePath: TreePath): Promise<Response>;
|
|
15
|
+
/**
|
|
16
|
+
* Set dataset value from raw BEAST2 bytes.
|
|
17
|
+
*/
|
|
18
|
+
export declare function setDataset(storage: StorageBackend, repoPath: string, workspace: string, treePath: TreePath, body: Uint8Array): Promise<Response>;
|
|
19
|
+
/**
|
|
20
|
+
* List datasets recursively (flat list with paths).
|
|
21
|
+
*/
|
|
22
|
+
export declare function listDatasetsRecursive(storage: StorageBackend, repoPath: string, workspace: string, treePath: TreePath): Promise<Response>;
|
|
23
|
+
//# sourceMappingURL=datasets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"datasets.d.ts","sourceRoot":"","sources":["../../../src/handlers/datasets.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AASlD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAKvD;;GAEG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,QAAQ,CAAC,CAOnB;AAED;;GAEG;AACH,wBAAsB,UAAU,CAC9B,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,QAAQ,CAAC,CAyBnB;AAED;;GAEG;AACH,wBAAsB,UAAU,CAC9B,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,QAAQ,CAAC,CAcnB;AAoCD;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,QAAQ,CAAC,CAkBnB"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
3
|
+
* Licensed under BSL 1.1. See LICENSE for details.
|
|
4
|
+
*/
|
|
5
|
+
import { NullType, ArrayType, StringType, decodeBeast2, none, toEastTypeValue, isVariant } from '@elaraai/east';
|
|
6
|
+
import { workspaceListTree, workspaceGetDatasetHash, workspaceSetDataset, workspaceGetTree, objectRead, } from '@elaraai/e3-core';
|
|
7
|
+
import { sendSuccess, sendError } from '../beast2.js';
|
|
8
|
+
import { errorToVariant } from '../errors.js';
|
|
9
|
+
import { DatasetListItemType } from '../types.js';
|
|
10
|
+
/**
|
|
11
|
+
* List dataset fields at the given path.
|
|
12
|
+
*/
|
|
13
|
+
export async function listDatasets(storage, repoPath, workspace, treePath) {
|
|
14
|
+
try {
|
|
15
|
+
const fields = await workspaceListTree(storage, repoPath, workspace, treePath);
|
|
16
|
+
return sendSuccess(ArrayType(StringType), fields);
|
|
17
|
+
}
|
|
18
|
+
catch (err) {
|
|
19
|
+
return sendError(ArrayType(StringType), errorToVariant(err));
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Get dataset value as raw BEAST2 bytes.
|
|
24
|
+
*/
|
|
25
|
+
export async function getDataset(storage, repoPath, workspace, treePath) {
|
|
26
|
+
try {
|
|
27
|
+
if (treePath.length === 0) {
|
|
28
|
+
return sendError(NullType, errorToVariant(new Error('Path required for get')));
|
|
29
|
+
}
|
|
30
|
+
const { refType, hash } = await workspaceGetDatasetHash(storage, repoPath, workspace, treePath);
|
|
31
|
+
if (refType === 'unassigned') {
|
|
32
|
+
return sendError(NullType, errorToVariant(new Error('Dataset is unassigned (pending task output)')));
|
|
33
|
+
}
|
|
34
|
+
if (refType === 'null' || !hash) {
|
|
35
|
+
return sendError(NullType, errorToVariant(new Error('Dataset is null')));
|
|
36
|
+
}
|
|
37
|
+
// Return raw BEAST2 bytes directly from object store
|
|
38
|
+
const data = await objectRead(repoPath, hash);
|
|
39
|
+
return new Response(data, {
|
|
40
|
+
status: 200,
|
|
41
|
+
headers: { 'Content-Type': 'application/beast2' },
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
catch (err) {
|
|
45
|
+
return sendError(NullType, errorToVariant(err));
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Set dataset value from raw BEAST2 bytes.
|
|
50
|
+
*/
|
|
51
|
+
export async function setDataset(storage, repoPath, workspace, treePath, body) {
|
|
52
|
+
try {
|
|
53
|
+
if (treePath.length === 0) {
|
|
54
|
+
return sendError(NullType, errorToVariant(new Error('Path required for set')));
|
|
55
|
+
}
|
|
56
|
+
// Body is raw BEAST2 - decode to get type and value
|
|
57
|
+
const { type, value } = decodeBeast2(body);
|
|
58
|
+
await workspaceSetDataset(storage, repoPath, workspace, treePath, value, type);
|
|
59
|
+
return sendSuccess(NullType, null);
|
|
60
|
+
}
|
|
61
|
+
catch (err) {
|
|
62
|
+
return sendError(NullType, errorToVariant(err));
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Flatten a tree of nodes into a list of dataset items.
|
|
67
|
+
*/
|
|
68
|
+
function flattenTree(nodes, pathPrefix, result) {
|
|
69
|
+
for (const node of nodes) {
|
|
70
|
+
const path = pathPrefix ? `${pathPrefix}.${node.name}` : `.${node.name}`;
|
|
71
|
+
if (node.kind === 'dataset') {
|
|
72
|
+
// Leaf node - add to result
|
|
73
|
+
const datasetType = node.datasetType;
|
|
74
|
+
if (datasetType) {
|
|
75
|
+
// Convert EastType to EastTypeValue if needed
|
|
76
|
+
const typeValue = isVariant(datasetType)
|
|
77
|
+
? datasetType
|
|
78
|
+
: toEastTypeValue(datasetType);
|
|
79
|
+
result.push({
|
|
80
|
+
path,
|
|
81
|
+
type: typeValue,
|
|
82
|
+
hash: none, // TODO: get hash from tree walk
|
|
83
|
+
size: none, // TODO: get size if needed
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
else if (node.kind === 'tree') {
|
|
88
|
+
// Branch node - recurse
|
|
89
|
+
flattenTree(node.children, path, result);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* List datasets recursively (flat list with paths).
|
|
95
|
+
*/
|
|
96
|
+
export async function listDatasetsRecursive(storage, repoPath, workspace, treePath) {
|
|
97
|
+
try {
|
|
98
|
+
// Get tree with types included
|
|
99
|
+
const nodes = await workspaceGetTree(storage, repoPath, workspace, treePath, {
|
|
100
|
+
includeTypes: true,
|
|
101
|
+
});
|
|
102
|
+
// Build path prefix from treePath
|
|
103
|
+
const pathPrefix = treePath.map(seg => seg.value).join('.');
|
|
104
|
+
// Flatten to list
|
|
105
|
+
const result = [];
|
|
106
|
+
flattenTree(nodes, pathPrefix ? `.${pathPrefix}` : '', result);
|
|
107
|
+
return sendSuccess(ArrayType(DatasetListItemType), result);
|
|
108
|
+
}
|
|
109
|
+
catch (err) {
|
|
110
|
+
return sendError(ArrayType(DatasetListItemType), errorToVariant(err));
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=datasets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"datasets.js","sourceRoot":"","sources":["../../../src/handlers/datasets.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
3
|
+
* Licensed under BSL 1.1. See LICENSE for details.
|
|
4
|
+
*/
|
|
5
|
+
export { listRepos } from './repos.js';
|
|
6
|
+
export { getStatus, startGc, getGcStatus, startRepoDelete, getRepoDeleteStatus } from './repository.js';
|
|
7
|
+
export { listPackages, getPackage, importPackage, exportPackage, deletePackage, } from './packages.js';
|
|
8
|
+
export { listWorkspaces, createWorkspace, getWorkspace, getWorkspaceStatus, deleteWorkspace, deployWorkspace, exportWorkspace, } from './workspaces.js';
|
|
9
|
+
export { listDatasets, getDataset, setDataset, } from './datasets.js';
|
|
10
|
+
export { listTasks, getTask, } from './tasks.js';
|
|
11
|
+
export { startDataflow, executeDataflow, getDataflowStatus, getDataflowGraph, getTaskLogs, } from './dataflow.js';
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/handlers/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAExG,OAAO,EACL,YAAY,EACZ,UAAU,EACV,aAAa,EACb,aAAa,EACb,aAAa,GACd,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,cAAc,EACd,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,eAAe,GAChB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,YAAY,EACZ,UAAU,EACV,UAAU,GACX,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,SAAS,EACT,OAAO,GACR,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,GACZ,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
3
|
+
* Licensed under BSL 1.1. See LICENSE for details.
|
|
4
|
+
*/
|
|
5
|
+
export { listRepos } from './repos.js';
|
|
6
|
+
export { getStatus, startGc, getGcStatus, startRepoDelete, getRepoDeleteStatus } from './repository.js';
|
|
7
|
+
export { listPackages, getPackage, importPackage, exportPackage, deletePackage, } from './packages.js';
|
|
8
|
+
export { listWorkspaces, createWorkspace, getWorkspace, getWorkspaceStatus, deleteWorkspace, deployWorkspace, exportWorkspace, } from './workspaces.js';
|
|
9
|
+
export { listDatasets, getDataset, setDataset, } from './datasets.js';
|
|
10
|
+
export { listTasks, getTask, } from './tasks.js';
|
|
11
|
+
export { startDataflow, executeDataflow, getDataflowStatus, getDataflowGraph, getTaskLogs, } from './dataflow.js';
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/handlers/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAExG,OAAO,EACL,YAAY,EACZ,UAAU,EACV,aAAa,EACb,aAAa,EACb,aAAa,GACd,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,cAAc,EACd,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,eAAe,GAChB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,YAAY,EACZ,UAAU,EACV,UAAU,GACX,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,SAAS,EACT,OAAO,GACR,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,GACZ,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
3
|
+
* Licensed under BSL 1.1. See LICENSE for details.
|
|
4
|
+
*/
|
|
5
|
+
import type { StorageBackend } from '@elaraai/e3-core';
|
|
6
|
+
/**
|
|
7
|
+
* List all packages in the repository.
|
|
8
|
+
*/
|
|
9
|
+
export declare function listPackages(storage: StorageBackend, repoPath: string): Promise<Response>;
|
|
10
|
+
/**
|
|
11
|
+
* Get package details.
|
|
12
|
+
*/
|
|
13
|
+
export declare function getPackage(storage: StorageBackend, repoPath: string, name: string, version: string): Promise<Response>;
|
|
14
|
+
/**
|
|
15
|
+
* Import a package from a zip archive.
|
|
16
|
+
*/
|
|
17
|
+
export declare function importPackage(storage: StorageBackend, repoPath: string, archive: Uint8Array): Promise<Response>;
|
|
18
|
+
/**
|
|
19
|
+
* Export a package as a zip archive.
|
|
20
|
+
*/
|
|
21
|
+
export declare function exportPackage(storage: StorageBackend, repoPath: string, name: string, version: string): Promise<Response>;
|
|
22
|
+
/**
|
|
23
|
+
* Delete a package.
|
|
24
|
+
*/
|
|
25
|
+
export declare function deletePackage(storage: StorageBackend, repoPath: string, name: string, version: string): Promise<Response>;
|
|
26
|
+
//# sourceMappingURL=packages.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"packages.d.ts","sourceRoot":"","sources":["../../../src/handlers/packages.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAaH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAMvD;;GAEG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,QAAQ,CAAC,CAWnB;AAED;;GAEG;AACH,wBAAsB,UAAU,CAC9B,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,QAAQ,CAAC,CAOnB;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,QAAQ,CAAC,CAoBnB;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,QAAQ,CAAC,CAenB;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,QAAQ,CAAC,CAOnB"}
|