@elaraai/e3-api-server 0.0.2-beta.46 → 0.0.2-beta.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.
- package/dist/src/handlers/datasets.d.ts +3 -2
- package/dist/src/handlers/datasets.d.ts.map +1 -1
- package/dist/src/handlers/datasets.js +6 -5
- package/dist/src/handlers/datasets.js.map +1 -1
- package/dist/src/handlers/tasks.js +3 -3
- package/dist/src/handlers/tasks.js.map +1 -1
- package/dist/src/routes/data.d.ts.map +1 -1
- package/dist/src/routes/data.js +3 -22
- package/dist/src/routes/data.js.map +1 -1
- package/dist/src/routes/package-transfer.d.ts.map +1 -1
- package/dist/src/routes/package-transfer.js +20 -59
- package/dist/src/routes/package-transfer.js.map +1 -1
- package/dist/src/routes/workspaces.d.ts +2 -2
- package/dist/src/routes/workspaces.d.ts.map +1 -1
- package/dist/src/routes/workspaces.js +47 -5
- package/dist/src/routes/workspaces.js.map +1 -1
- package/dist/src/server.d.ts.map +1 -1
- package/dist/src/server.js +6 -2
- package/dist/src/server.js.map +1 -1
- package/dist/src/types.d.ts +687 -1804
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js +39 -617
- package/dist/src/types.js.map +1 -1
- package/package.json +1 -1
package/dist/src/types.js
CHANGED
|
@@ -3,620 +3,44 @@
|
|
|
3
3
|
* Licensed under BSL 1.1. See LICENSE for details.
|
|
4
4
|
*/
|
|
5
5
|
/**
|
|
6
|
-
* API types for e3-api-server
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
//
|
|
13
|
-
|
|
14
|
-
//
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
export const InternalErrorType = StructType({ message: StringType });
|
|
41
|
-
export const RepositoryNotFoundErrorType = StructType({ repo: StringType });
|
|
42
|
-
export const ErrorType = VariantType({
|
|
43
|
-
repository_not_found: RepositoryNotFoundErrorType,
|
|
44
|
-
workspace_not_found: WorkspaceNotFoundErrorType,
|
|
45
|
-
workspace_not_deployed: WorkspaceNotDeployedErrorType,
|
|
46
|
-
workspace_exists: WorkspaceExistsErrorType,
|
|
47
|
-
workspace_locked: WorkspaceLockedErrorType,
|
|
48
|
-
package_not_found: PackageNotFoundErrorType,
|
|
49
|
-
package_exists: PackageExistsErrorType,
|
|
50
|
-
package_invalid: PackageInvalidErrorType,
|
|
51
|
-
dataset_not_found: DatasetNotFoundErrorType,
|
|
52
|
-
task_not_found: TaskNotFoundErrorType,
|
|
53
|
-
execution_not_found: ExecutionNotFoundErrorType,
|
|
54
|
-
object_not_found: ObjectNotFoundErrorType,
|
|
55
|
-
dataflow_error: DataflowErrorType,
|
|
56
|
-
dataflow_aborted: NullType,
|
|
57
|
-
permission_denied: PermissionDeniedErrorType,
|
|
58
|
-
internal: InternalErrorType,
|
|
59
|
-
});
|
|
60
|
-
// =============================================================================
|
|
61
|
-
// Response Wrapper
|
|
62
|
-
// =============================================================================
|
|
63
|
-
export const ResponseType = (successType) => VariantType({
|
|
64
|
-
success: successType,
|
|
65
|
-
error: ErrorType,
|
|
66
|
-
});
|
|
67
|
-
// =============================================================================
|
|
68
|
-
// Repository Types
|
|
69
|
-
// =============================================================================
|
|
70
|
-
/**
|
|
71
|
-
* Repository status information.
|
|
72
|
-
*
|
|
73
|
-
* @property path - Absolute path to the e3 repository directory
|
|
74
|
-
* @property objectCount - Number of content-addressed objects stored
|
|
75
|
-
* @property packageCount - Number of imported packages
|
|
76
|
-
* @property workspaceCount - Number of workspaces
|
|
77
|
-
*/
|
|
78
|
-
export const RepositoryStatusType = StructType({
|
|
79
|
-
path: StringType,
|
|
80
|
-
objectCount: IntegerType,
|
|
81
|
-
packageCount: IntegerType,
|
|
82
|
-
workspaceCount: IntegerType,
|
|
83
|
-
});
|
|
84
|
-
/**
|
|
85
|
-
* Garbage collection request options.
|
|
86
|
-
*
|
|
87
|
-
* @property dryRun - If true, report what would be deleted without deleting
|
|
88
|
-
* @property minAge - Minimum age in milliseconds for objects to be considered for deletion
|
|
89
|
-
*/
|
|
90
|
-
export const GcRequestType = StructType({
|
|
91
|
-
dryRun: BooleanType,
|
|
92
|
-
minAge: OptionType(IntegerType),
|
|
93
|
-
});
|
|
94
|
-
/**
|
|
95
|
-
* Garbage collection result.
|
|
96
|
-
*
|
|
97
|
-
* @property deletedObjects - Number of unreferenced objects deleted
|
|
98
|
-
* @property deletedPartials - Number of incomplete uploads deleted
|
|
99
|
-
* @property retainedObjects - Number of objects still referenced
|
|
100
|
-
* @property skippedYoung - Number of objects skipped due to minAge
|
|
101
|
-
* @property bytesFreed - Total bytes freed by deletion
|
|
102
|
-
*/
|
|
103
|
-
export const GcResultType = StructType({
|
|
104
|
-
deletedObjects: IntegerType,
|
|
105
|
-
deletedPartials: IntegerType,
|
|
106
|
-
retainedObjects: IntegerType,
|
|
107
|
-
skippedYoung: IntegerType,
|
|
108
|
-
bytesFreed: IntegerType,
|
|
109
|
-
});
|
|
110
|
-
// =============================================================================
|
|
111
|
-
// Async Operation Types
|
|
112
|
-
// =============================================================================
|
|
113
|
-
/**
|
|
114
|
-
* Status of an async operation.
|
|
115
|
-
*
|
|
116
|
-
* - `running`: Operation is in progress
|
|
117
|
-
* - `succeeded`: Operation completed successfully
|
|
118
|
-
* - `failed`: Operation failed with an error
|
|
119
|
-
*/
|
|
120
|
-
export const AsyncOperationStatusType = VariantType({
|
|
121
|
-
running: NullType,
|
|
122
|
-
succeeded: NullType,
|
|
123
|
-
failed: NullType,
|
|
124
|
-
});
|
|
125
|
-
/**
|
|
126
|
-
* Result of starting an async GC operation.
|
|
127
|
-
*
|
|
128
|
-
* @property executionId - Unique identifier for this GC execution (UUID locally, Step Function ARN in cloud)
|
|
129
|
-
*/
|
|
130
|
-
export const GcStartResultType = StructType({
|
|
131
|
-
executionId: StringType,
|
|
132
|
-
});
|
|
133
|
-
/**
|
|
134
|
-
* Status of an async GC operation.
|
|
135
|
-
*
|
|
136
|
-
* @property status - Current execution status
|
|
137
|
-
* @property stats - GC statistics (available when succeeded)
|
|
138
|
-
* @property error - Error message (available when failed)
|
|
139
|
-
*/
|
|
140
|
-
export const GcStatusResultType = StructType({
|
|
141
|
-
status: AsyncOperationStatusType,
|
|
142
|
-
stats: OptionType(GcResultType),
|
|
143
|
-
error: OptionType(StringType),
|
|
144
|
-
});
|
|
145
|
-
// =============================================================================
|
|
146
|
-
// Package Types
|
|
147
|
-
// =============================================================================
|
|
148
|
-
/**
|
|
149
|
-
* Package list item (summary info).
|
|
150
|
-
*
|
|
151
|
-
* @property name - Package name
|
|
152
|
-
* @property version - Semantic version string
|
|
153
|
-
*/
|
|
154
|
-
export const PackageListItemType = StructType({
|
|
155
|
-
name: StringType,
|
|
156
|
-
version: StringType,
|
|
157
|
-
});
|
|
158
|
-
/**
|
|
159
|
-
* Result of importing a package.
|
|
160
|
-
*
|
|
161
|
-
* @property name - Imported package name
|
|
162
|
-
* @property version - Imported package version
|
|
163
|
-
* @property packageHash - SHA256 hash of the package content
|
|
164
|
-
* @property objectCount - Number of objects added to the repository
|
|
165
|
-
*/
|
|
166
|
-
export const PackageImportResultType = StructType({
|
|
167
|
-
name: StringType,
|
|
168
|
-
version: StringType,
|
|
169
|
-
packageHash: StringType,
|
|
170
|
-
objectCount: IntegerType,
|
|
171
|
-
});
|
|
172
|
-
/**
|
|
173
|
-
* Basic package info.
|
|
174
|
-
*
|
|
175
|
-
* @property name - Package name
|
|
176
|
-
* @property version - Semantic version string
|
|
177
|
-
* @property hash - SHA256 content hash
|
|
178
|
-
*/
|
|
179
|
-
export const PackageInfoType = StructType({
|
|
180
|
-
name: StringType,
|
|
181
|
-
version: StringType,
|
|
182
|
-
hash: StringType,
|
|
183
|
-
});
|
|
184
|
-
/**
|
|
185
|
-
* Detailed package information including structure.
|
|
186
|
-
*
|
|
187
|
-
* @property name - Package name
|
|
188
|
-
* @property version - Semantic version string
|
|
189
|
-
* @property hash - SHA256 content hash
|
|
190
|
-
* @property tasks - List of task names defined in the package
|
|
191
|
-
* @property dataStructure - East structure type describing the package's data schema
|
|
192
|
-
*/
|
|
193
|
-
export const PackageDetailsType = StructType({
|
|
194
|
-
name: StringType,
|
|
195
|
-
version: StringType,
|
|
196
|
-
hash: StringType,
|
|
197
|
-
tasks: ArrayType(StringType),
|
|
198
|
-
dataStructure: StructureType,
|
|
199
|
-
});
|
|
200
|
-
// =============================================================================
|
|
201
|
-
// Workspace Types
|
|
202
|
-
// =============================================================================
|
|
203
|
-
/**
|
|
204
|
-
* Request to create a new workspace.
|
|
205
|
-
*
|
|
206
|
-
* @property name - Unique workspace name
|
|
207
|
-
*/
|
|
208
|
-
export const WorkspaceCreateRequestType = StructType({
|
|
209
|
-
name: StringType,
|
|
210
|
-
});
|
|
211
|
-
/** @deprecated Use WorkspaceCreateRequestType */
|
|
212
|
-
export const CreateWorkspaceType = WorkspaceCreateRequestType;
|
|
213
|
-
/**
|
|
214
|
-
* Workspace summary information.
|
|
215
|
-
*
|
|
216
|
-
* @property name - Workspace name
|
|
217
|
-
* @property deployed - Whether a package is deployed to this workspace
|
|
218
|
-
* @property packageName - Name of deployed package (if deployed)
|
|
219
|
-
* @property packageVersion - Version of deployed package (if deployed)
|
|
220
|
-
*/
|
|
221
|
-
export const WorkspaceInfoType = StructType({
|
|
222
|
-
name: StringType,
|
|
223
|
-
deployed: BooleanType,
|
|
224
|
-
packageName: OptionType(StringType),
|
|
225
|
-
packageVersion: OptionType(StringType),
|
|
226
|
-
});
|
|
227
|
-
/**
|
|
228
|
-
* Request to deploy a package to a workspace.
|
|
229
|
-
*
|
|
230
|
-
* @property packageName - Package name to deploy
|
|
231
|
-
* @property packageVersion - Package version to deploy
|
|
232
|
-
*/
|
|
233
|
-
export const WorkspaceDeployRequestType = StructType({
|
|
234
|
-
packageName: StringType,
|
|
235
|
-
packageVersion: StringType,
|
|
236
|
-
});
|
|
237
|
-
/**
|
|
238
|
-
* Alternative deploy request using package reference string.
|
|
239
|
-
*
|
|
240
|
-
* @property packageRef - Package reference in format "name" or "name@version"
|
|
241
|
-
*/
|
|
242
|
-
export const DeployRequestType = StructType({
|
|
243
|
-
packageRef: StringType,
|
|
244
|
-
});
|
|
245
|
-
// =============================================================================
|
|
246
|
-
// Workspace Status Types
|
|
247
|
-
// =============================================================================
|
|
248
|
-
/**
|
|
249
|
-
* Dataset status variant.
|
|
250
|
-
*
|
|
251
|
-
* - `unset`: No value assigned to this dataset
|
|
252
|
-
* - `stale`: Value exists but is outdated (upstream changed)
|
|
253
|
-
* - `up-to-date`: Value is current
|
|
254
|
-
*/
|
|
255
|
-
export const DatasetStatusType = VariantType({
|
|
256
|
-
unset: NullType,
|
|
257
|
-
stale: NullType,
|
|
258
|
-
'up-to-date': NullType,
|
|
259
|
-
});
|
|
260
|
-
/** Task completed successfully. @property cached - True if result was from cache */
|
|
261
|
-
export const TaskStatusUpToDateType = StructType({ cached: BooleanType });
|
|
262
|
-
/** Task waiting on dependencies. @property reason - Human-readable wait reason */
|
|
263
|
-
export const TaskStatusWaitingType = StructType({ reason: StringType });
|
|
264
|
-
/** Task currently executing. */
|
|
265
|
-
export const TaskStatusInProgressType = StructType({
|
|
266
|
-
/** Process ID of the running task */
|
|
267
|
-
pid: OptionType(IntegerType),
|
|
268
|
-
/** ISO timestamp when execution started */
|
|
269
|
-
startedAt: OptionType(StringType),
|
|
270
|
-
});
|
|
271
|
-
/** Task exited with non-zero code. */
|
|
272
|
-
export const TaskStatusFailedType = StructType({
|
|
273
|
-
/** Process exit code */
|
|
274
|
-
exitCode: IntegerType,
|
|
275
|
-
/** ISO timestamp when task completed */
|
|
276
|
-
completedAt: OptionType(StringType),
|
|
277
|
-
});
|
|
278
|
-
/** Task encountered an internal error. */
|
|
279
|
-
export const TaskStatusErrorType = StructType({
|
|
280
|
-
/** Error message */
|
|
281
|
-
message: StringType,
|
|
282
|
-
/** ISO timestamp when error occurred */
|
|
283
|
-
completedAt: OptionType(StringType),
|
|
284
|
-
});
|
|
285
|
-
/** Task was running but process is no longer alive. */
|
|
286
|
-
export const TaskStatusStaleRunningType = StructType({
|
|
287
|
-
/** Last known process ID */
|
|
288
|
-
pid: OptionType(IntegerType),
|
|
289
|
-
/** ISO timestamp when execution started */
|
|
290
|
-
startedAt: OptionType(StringType),
|
|
291
|
-
});
|
|
292
|
-
/**
|
|
293
|
-
* Task execution status variant.
|
|
294
|
-
*
|
|
295
|
-
* - `up-to-date`: Task completed successfully (cached indicates if from cache)
|
|
296
|
-
* - `ready`: Task is ready to run (all inputs available)
|
|
297
|
-
* - `waiting`: Task waiting on upstream dependencies
|
|
298
|
-
* - `in-progress`: Task currently executing
|
|
299
|
-
* - `failed`: Task exited with non-zero exit code
|
|
300
|
-
* - `error`: Internal error during task execution
|
|
301
|
-
* - `stale-running`: Task was marked running but process died
|
|
302
|
-
*/
|
|
303
|
-
export const TaskStatusType = VariantType({
|
|
304
|
-
'up-to-date': TaskStatusUpToDateType,
|
|
305
|
-
ready: NullType,
|
|
306
|
-
waiting: TaskStatusWaitingType,
|
|
307
|
-
'in-progress': TaskStatusInProgressType,
|
|
308
|
-
failed: TaskStatusFailedType,
|
|
309
|
-
error: TaskStatusErrorType,
|
|
310
|
-
'stale-running': TaskStatusStaleRunningType,
|
|
311
|
-
});
|
|
312
|
-
/**
|
|
313
|
-
* Status information for a single dataset.
|
|
314
|
-
*
|
|
315
|
-
* @property path - Dataset path (e.g., ".inputs.config" or ".tasks.foo.output")
|
|
316
|
-
* @property status - Current status (unset, stale, or up-to-date)
|
|
317
|
-
* @property hash - SHA256 hash of current value (if set)
|
|
318
|
-
* @property isTaskOutput - True if this dataset is produced by a task
|
|
319
|
-
* @property producedBy - Name of task that produces this dataset (if isTaskOutput)
|
|
320
|
-
*/
|
|
321
|
-
export const DatasetStatusInfoType = StructType({
|
|
322
|
-
path: StringType,
|
|
323
|
-
status: DatasetStatusType,
|
|
324
|
-
hash: OptionType(StringType),
|
|
325
|
-
isTaskOutput: BooleanType,
|
|
326
|
-
producedBy: OptionType(StringType),
|
|
327
|
-
});
|
|
328
|
-
/**
|
|
329
|
-
* Status information for a single task.
|
|
330
|
-
*
|
|
331
|
-
* @property name - Task name
|
|
332
|
-
* @property hash - Task definition hash (changes when task code changes)
|
|
333
|
-
* @property status - Current execution status
|
|
334
|
-
* @property inputs - Dataset paths this task reads from
|
|
335
|
-
* @property output - Dataset path this task writes to
|
|
336
|
-
* @property dependsOn - Names of tasks that must complete before this one
|
|
337
|
-
*/
|
|
338
|
-
export const TaskStatusInfoType = StructType({
|
|
339
|
-
name: StringType,
|
|
340
|
-
hash: StringType,
|
|
341
|
-
status: TaskStatusType,
|
|
342
|
-
inputs: ArrayType(StringType),
|
|
343
|
-
output: StringType,
|
|
344
|
-
dependsOn: ArrayType(StringType),
|
|
345
|
-
});
|
|
346
|
-
/**
|
|
347
|
-
* Summary counts for workspace status.
|
|
348
|
-
*/
|
|
349
|
-
export const WorkspaceStatusSummaryType = StructType({
|
|
350
|
-
/** Dataset status counts */
|
|
351
|
-
datasets: StructType({
|
|
352
|
-
total: IntegerType,
|
|
353
|
-
unset: IntegerType,
|
|
354
|
-
stale: IntegerType,
|
|
355
|
-
upToDate: IntegerType,
|
|
356
|
-
}),
|
|
357
|
-
/** Task status counts */
|
|
358
|
-
tasks: StructType({
|
|
359
|
-
total: IntegerType,
|
|
360
|
-
upToDate: IntegerType,
|
|
361
|
-
ready: IntegerType,
|
|
362
|
-
waiting: IntegerType,
|
|
363
|
-
inProgress: IntegerType,
|
|
364
|
-
failed: IntegerType,
|
|
365
|
-
error: IntegerType,
|
|
366
|
-
staleRunning: IntegerType,
|
|
367
|
-
}),
|
|
368
|
-
});
|
|
369
|
-
/**
|
|
370
|
-
* Complete workspace status including all datasets, tasks, and summary.
|
|
371
|
-
*
|
|
372
|
-
* @property workspace - Workspace name
|
|
373
|
-
* @property lock - Information about current lock holder (if locked)
|
|
374
|
-
* @property datasets - Status of all datasets in the workspace
|
|
375
|
-
* @property tasks - Status of all tasks in the workspace
|
|
376
|
-
* @property summary - Aggregated counts by status
|
|
377
|
-
*/
|
|
378
|
-
export const WorkspaceStatusResultType = StructType({
|
|
379
|
-
workspace: StringType,
|
|
380
|
-
lock: OptionType(LockHolderType),
|
|
381
|
-
datasets: ArrayType(DatasetStatusInfoType),
|
|
382
|
-
tasks: ArrayType(TaskStatusInfoType),
|
|
383
|
-
summary: WorkspaceStatusSummaryType,
|
|
384
|
-
});
|
|
385
|
-
// =============================================================================
|
|
386
|
-
// Task Types
|
|
387
|
-
// =============================================================================
|
|
388
|
-
export const TaskListItemType = StructType({
|
|
389
|
-
name: StringType,
|
|
390
|
-
hash: StringType,
|
|
391
|
-
});
|
|
392
|
-
// Legacy alias
|
|
393
|
-
export const TaskInfoType = TaskListItemType;
|
|
394
|
-
export const TaskDetailsType = StructType({
|
|
395
|
-
name: StringType,
|
|
396
|
-
hash: StringType,
|
|
397
|
-
commandIr: StringType,
|
|
398
|
-
inputs: ArrayType(TreePathType),
|
|
399
|
-
output: TreePathType,
|
|
400
|
-
});
|
|
401
|
-
// =============================================================================
|
|
402
|
-
// Execution Types
|
|
403
|
-
// =============================================================================
|
|
404
|
-
export const DataflowRequestType = StructType({
|
|
405
|
-
concurrency: OptionType(IntegerType),
|
|
406
|
-
force: BooleanType,
|
|
407
|
-
filter: OptionType(StringType),
|
|
408
|
-
});
|
|
409
|
-
// Legacy alias
|
|
410
|
-
export const StartRequestType = DataflowRequestType;
|
|
411
|
-
export const GraphTaskType = StructType({
|
|
412
|
-
name: StringType,
|
|
413
|
-
hash: StringType,
|
|
414
|
-
inputs: ArrayType(StringType),
|
|
415
|
-
output: StringType,
|
|
416
|
-
dependsOn: ArrayType(StringType),
|
|
417
|
-
});
|
|
418
|
-
export const DataflowGraphType = StructType({
|
|
419
|
-
tasks: ArrayType(GraphTaskType),
|
|
420
|
-
});
|
|
421
|
-
export const LogChunkType = StructType({
|
|
422
|
-
data: StringType,
|
|
423
|
-
offset: IntegerType,
|
|
424
|
-
size: IntegerType,
|
|
425
|
-
totalSize: IntegerType,
|
|
426
|
-
complete: BooleanType,
|
|
427
|
-
});
|
|
428
|
-
export const TaskExecutionResultType = StructType({
|
|
429
|
-
name: StringType,
|
|
430
|
-
cached: BooleanType,
|
|
431
|
-
state: VariantType({
|
|
432
|
-
success: NullType,
|
|
433
|
-
failed: StructType({ exitCode: IntegerType }),
|
|
434
|
-
error: StructType({ message: StringType }),
|
|
435
|
-
skipped: NullType,
|
|
436
|
-
}),
|
|
437
|
-
duration: FloatType,
|
|
438
|
-
});
|
|
439
|
-
export const DataflowResultType = StructType({
|
|
440
|
-
success: BooleanType,
|
|
441
|
-
executed: IntegerType,
|
|
442
|
-
cached: IntegerType,
|
|
443
|
-
failed: IntegerType,
|
|
444
|
-
skipped: IntegerType,
|
|
445
|
-
tasks: ArrayType(TaskExecutionResultType),
|
|
446
|
-
duration: FloatType,
|
|
447
|
-
});
|
|
448
|
-
// =============================================================================
|
|
449
|
-
// Dataflow Execution State Types (for polling)
|
|
450
|
-
// =============================================================================
|
|
451
|
-
/**
|
|
452
|
-
* Dataflow event types.
|
|
453
|
-
*
|
|
454
|
-
* - `start`: Task started executing
|
|
455
|
-
* - `complete`: Task executed and succeeded
|
|
456
|
-
* - `cached`: Task result retrieved from cache (no execution)
|
|
457
|
-
* - `failed`: Task exited with non-zero code
|
|
458
|
-
* - `error`: Internal error during task execution
|
|
459
|
-
* - `input_unavailable`: Task couldn't run because inputs not available
|
|
460
|
-
*/
|
|
461
|
-
export const DataflowEventType = VariantType({
|
|
462
|
-
start: StructType({
|
|
463
|
-
task: StringType,
|
|
464
|
-
timestamp: StringType,
|
|
465
|
-
}),
|
|
466
|
-
complete: StructType({
|
|
467
|
-
task: StringType,
|
|
468
|
-
timestamp: StringType,
|
|
469
|
-
duration: FloatType,
|
|
470
|
-
}),
|
|
471
|
-
cached: StructType({
|
|
472
|
-
task: StringType,
|
|
473
|
-
timestamp: StringType,
|
|
474
|
-
}),
|
|
475
|
-
failed: StructType({
|
|
476
|
-
task: StringType,
|
|
477
|
-
timestamp: StringType,
|
|
478
|
-
duration: FloatType,
|
|
479
|
-
exitCode: IntegerType,
|
|
480
|
-
}),
|
|
481
|
-
error: StructType({
|
|
482
|
-
task: StringType,
|
|
483
|
-
timestamp: StringType,
|
|
484
|
-
message: StringType,
|
|
485
|
-
}),
|
|
486
|
-
input_unavailable: StructType({
|
|
487
|
-
task: StringType,
|
|
488
|
-
timestamp: StringType,
|
|
489
|
-
reason: StringType,
|
|
490
|
-
}),
|
|
491
|
-
});
|
|
492
|
-
/**
|
|
493
|
-
* Execution status variant.
|
|
494
|
-
*
|
|
495
|
-
* - `running`: Execution is in progress
|
|
496
|
-
* - `completed`: Execution finished successfully
|
|
497
|
-
* - `failed`: Execution finished with failures
|
|
498
|
-
* - `aborted`: Execution was cancelled
|
|
499
|
-
*/
|
|
500
|
-
export const ExecutionStatusType = VariantType({
|
|
501
|
-
running: NullType,
|
|
502
|
-
completed: NullType,
|
|
503
|
-
failed: NullType,
|
|
504
|
-
aborted: NullType,
|
|
505
|
-
});
|
|
506
|
-
/**
|
|
507
|
-
* Summary of dataflow execution results.
|
|
508
|
-
*/
|
|
509
|
-
export const DataflowExecutionSummaryType = StructType({
|
|
510
|
-
executed: IntegerType,
|
|
511
|
-
cached: IntegerType,
|
|
512
|
-
failed: IntegerType,
|
|
513
|
-
skipped: IntegerType,
|
|
514
|
-
duration: FloatType,
|
|
515
|
-
});
|
|
516
|
-
/**
|
|
517
|
-
* State of a dataflow execution (for polling).
|
|
518
|
-
*
|
|
519
|
-
* @property status - Current execution status
|
|
520
|
-
* @property startedAt - ISO timestamp when execution started
|
|
521
|
-
* @property completedAt - ISO timestamp when execution finished (if done)
|
|
522
|
-
* @property summary - Execution summary (available when complete)
|
|
523
|
-
* @property events - Task events (may be paginated via offset/limit)
|
|
524
|
-
* @property totalEvents - Total number of events (for pagination)
|
|
525
|
-
*/
|
|
526
|
-
export const DataflowExecutionStateType = StructType({
|
|
527
|
-
status: ExecutionStatusType,
|
|
528
|
-
startedAt: StringType,
|
|
529
|
-
completedAt: OptionType(StringType),
|
|
530
|
-
summary: OptionType(DataflowExecutionSummaryType),
|
|
531
|
-
events: ArrayType(DataflowEventType),
|
|
532
|
-
totalEvents: IntegerType,
|
|
533
|
-
});
|
|
534
|
-
// =============================================================================
|
|
535
|
-
// Task Execution History Types
|
|
536
|
-
// =============================================================================
|
|
537
|
-
/**
|
|
538
|
-
* Execution status for history listing.
|
|
539
|
-
*/
|
|
540
|
-
export const ExecutionHistoryStatusType = VariantType({
|
|
541
|
-
running: NullType,
|
|
542
|
-
success: NullType,
|
|
543
|
-
failed: NullType,
|
|
544
|
-
error: NullType,
|
|
545
|
-
});
|
|
546
|
-
/**
|
|
547
|
-
* A single execution in task history.
|
|
548
|
-
*
|
|
549
|
-
* @property inputsHash - Hash of concatenated inputs (execution identifier)
|
|
550
|
-
* @property inputHashes - Individual input object hashes
|
|
551
|
-
* @property status - Execution outcome
|
|
552
|
-
* @property startedAt - ISO timestamp when execution started
|
|
553
|
-
* @property completedAt - ISO timestamp when execution finished (if done)
|
|
554
|
-
* @property duration - Execution duration in milliseconds (if done)
|
|
555
|
-
* @property exitCode - Process exit code (if failed)
|
|
556
|
-
*/
|
|
557
|
-
export const ExecutionListItemType = StructType({
|
|
558
|
-
inputsHash: StringType,
|
|
559
|
-
inputHashes: ArrayType(StringType),
|
|
560
|
-
status: ExecutionHistoryStatusType,
|
|
561
|
-
startedAt: StringType,
|
|
562
|
-
completedAt: OptionType(StringType),
|
|
563
|
-
duration: OptionType(IntegerType),
|
|
564
|
-
exitCode: OptionType(IntegerType),
|
|
565
|
-
});
|
|
566
|
-
// =============================================================================
|
|
567
|
-
// Dataset List Types (recursive)
|
|
568
|
-
// =============================================================================
|
|
569
|
-
/**
|
|
570
|
-
* Tree branch kind variant.
|
|
571
|
-
*
|
|
572
|
-
* Currently only `struct` branches exist. Future: `dict`, `array`, `variant`.
|
|
573
|
-
*/
|
|
574
|
-
export const TreeKindType = VariantType({ struct: NullType });
|
|
575
|
-
/**
|
|
576
|
-
* A list entry — either a dataset leaf or a tree branch.
|
|
577
|
-
*
|
|
578
|
-
* Used by the `?list=true&status=true` endpoints to return both
|
|
579
|
-
* tree structure entries and dataset leaves in a single flat list.
|
|
580
|
-
*/
|
|
581
|
-
export const ListEntryType = VariantType({
|
|
582
|
-
dataset: StructType({
|
|
583
|
-
path: StringType,
|
|
584
|
-
type: EastTypeType,
|
|
585
|
-
hash: OptionType(StringType),
|
|
586
|
-
size: OptionType(IntegerType),
|
|
587
|
-
}),
|
|
588
|
-
tree: StructType({
|
|
589
|
-
path: StringType,
|
|
590
|
-
kind: TreeKindType,
|
|
591
|
-
}),
|
|
592
|
-
});
|
|
593
|
-
// =============================================================================
|
|
594
|
-
// Dataset Status Detail Types (single dataset query)
|
|
595
|
-
// =============================================================================
|
|
596
|
-
/**
|
|
597
|
-
* Detailed status of a single dataset.
|
|
598
|
-
*
|
|
599
|
-
* @property path - Dataset path (e.g., ".inputs.config")
|
|
600
|
-
* @property type - East type of the dataset
|
|
601
|
-
* @property refType - Ref type: "unassigned", "null", or "value"
|
|
602
|
-
* @property hash - Object hash (None if unassigned/null)
|
|
603
|
-
* @property size - Size in bytes (None if unassigned)
|
|
604
|
-
*/
|
|
605
|
-
export const DatasetStatusDetailType = StructType({
|
|
606
|
-
path: StringType,
|
|
607
|
-
type: EastTypeType,
|
|
608
|
-
refType: StringType,
|
|
609
|
-
hash: OptionType(StringType),
|
|
610
|
-
size: OptionType(IntegerType),
|
|
611
|
-
});
|
|
612
|
-
// =============================================================================
|
|
613
|
-
// Transfer Types (re-exported from e3-types)
|
|
614
|
-
// =============================================================================
|
|
615
|
-
import { TransferUploadRequestType, TransferUploadResponseType, TransferDoneResponseType, PackageImportStatusType, PackageExportStatusType, PackageTransferInitRequestType, PackageTransferInitResponseType, PackageJobResponseType, } from '@elaraai/e3-types';
|
|
616
|
-
export { TransferUploadRequestType, TransferUploadResponseType, TransferDoneResponseType, PackageImportStatusType, PackageExportStatusType, PackageTransferInitRequestType, PackageTransferInitResponseType, PackageJobResponseType, };
|
|
6
|
+
* API types for e3-api-server.
|
|
7
|
+
*
|
|
8
|
+
* Re-exports all API wire types from @elaraai/e3-types (the single source of truth).
|
|
9
|
+
* Types with "Api" prefix in e3-types are re-exported here with shorter names
|
|
10
|
+
* since API consumers don't see the conflicting domain types.
|
|
11
|
+
*/
|
|
12
|
+
// API wire types — re-export from @elaraai/e3-types
|
|
13
|
+
export {
|
|
14
|
+
// Error types
|
|
15
|
+
WorkspaceNotFoundErrorType, WorkspaceNotDeployedErrorType, WorkspaceExistsErrorType, LockHolderType, WorkspaceLockedErrorType, PackageNotFoundErrorType, PackageExistsErrorType, PackageInvalidErrorType, DatasetNotFoundErrorType, TaskNotFoundErrorType, ExecutionNotFoundErrorType, ObjectNotFoundErrorType, DataflowErrorType, PermissionDeniedErrorType, InternalErrorType, RepositoryNotFoundErrorType, ErrorType, ResponseType,
|
|
16
|
+
// Repository
|
|
17
|
+
RepositoryStatusType, GcRequestType, GcResultType, AsyncOperationStatusType, GcStartResultType, GcStatusResultType,
|
|
18
|
+
// Packages
|
|
19
|
+
PackageListItemType, PackageImportResultType, PackageInfoType, PackageDetailsType,
|
|
20
|
+
// Workspaces
|
|
21
|
+
WorkspaceCreateRequestType, WorkspaceInfoType, WorkspaceDeployRequestType, WorkspaceExportRequestType,
|
|
22
|
+
// Workspace Status
|
|
23
|
+
DatasetStatusType, TaskStatusUpToDateType, TaskStatusWaitingType, TaskStatusInProgressType, TaskStatusFailedType, TaskStatusErrorType, TaskStatusStaleRunningType, TaskStatusType, DatasetStatusInfoType, TaskStatusInfoType, WorkspaceStatusSummaryType, WorkspaceStatusResultType,
|
|
24
|
+
// Tasks
|
|
25
|
+
TaskListItemType, TaskDetailsType,
|
|
26
|
+
// Execution
|
|
27
|
+
DataflowRequestType, LogChunkType, TaskExecutionResultType, DataflowResultType,
|
|
28
|
+
// Dataflow API polling
|
|
29
|
+
DataflowEventType, ApiExecutionStatusType as ExecutionStatusType, DataflowExecutionSummaryType, ApiDataflowExecutionStateType as DataflowExecutionStateType,
|
|
30
|
+
// Task Execution History
|
|
31
|
+
ExecutionHistoryStatusType, ExecutionListItemType,
|
|
32
|
+
// Dataset List
|
|
33
|
+
TreeKindType, ListEntryType,
|
|
34
|
+
// Dataset Status Detail
|
|
35
|
+
DatasetStatusDetailType,
|
|
36
|
+
// Transfer types
|
|
37
|
+
TransferUploadRequestType, TransferUploadResponseType, TransferDoneResponseType, PackageImportStatusType, PackageExportStatusType, PackageTransferInitRequestType, PackageTransferInitResponseType, PackageJobResponseType,
|
|
38
|
+
// Graph types (from dataflow.ts, structurally identical to old API GraphTaskType)
|
|
39
|
+
DataflowGraphType, DataflowGraphTaskType, } from '@elaraai/e3-types';
|
|
617
40
|
// =============================================================================
|
|
618
41
|
// Namespace export for convenience
|
|
619
42
|
// =============================================================================
|
|
43
|
+
import { ErrorType, RepositoryNotFoundErrorType, WorkspaceNotFoundErrorType, WorkspaceNotDeployedErrorType, WorkspaceExistsErrorType, WorkspaceLockedErrorType, LockHolderType, PackageNotFoundErrorType, PackageExistsErrorType, PackageInvalidErrorType, DatasetNotFoundErrorType, TaskNotFoundErrorType, ExecutionNotFoundErrorType, ObjectNotFoundErrorType, DataflowErrorType, PermissionDeniedErrorType, InternalErrorType, ResponseType, RepositoryStatusType, GcRequestType, GcResultType, AsyncOperationStatusType, GcStartResultType, GcStatusResultType, PackageListItemType, PackageImportResultType, PackageInfoType, PackageDetailsType, WorkspaceCreateRequestType, WorkspaceInfoType, WorkspaceDeployRequestType, WorkspaceExportRequestType, DatasetStatusType, TaskStatusType, TaskStatusUpToDateType, TaskStatusWaitingType, TaskStatusInProgressType, TaskStatusFailedType, TaskStatusErrorType, TaskStatusStaleRunningType, DatasetStatusInfoType, TaskStatusInfoType, WorkspaceStatusSummaryType, WorkspaceStatusResultType, TaskListItemType, TaskDetailsType, DataflowRequestType, DataflowGraphType, DataflowGraphTaskType, LogChunkType, TaskExecutionResultType, DataflowResultType, DataflowEventType, ApiExecutionStatusType, DataflowExecutionSummaryType, ApiDataflowExecutionStateType, ExecutionHistoryStatusType, ExecutionListItemType, TreeKindType, ListEntryType, DatasetStatusDetailType, TransferUploadRequestType, TransferUploadResponseType, TransferDoneResponseType, PackageImportStatusType, PackageExportStatusType, PackageTransferInitRequestType, PackageTransferInitResponseType, PackageJobResponseType, } from '@elaraai/e3-types';
|
|
620
44
|
export const ApiTypes = {
|
|
621
45
|
// Errors
|
|
622
46
|
ErrorType,
|
|
@@ -655,7 +79,7 @@ export const ApiTypes = {
|
|
|
655
79
|
WorkspaceCreateRequestType,
|
|
656
80
|
WorkspaceInfoType,
|
|
657
81
|
WorkspaceDeployRequestType,
|
|
658
|
-
|
|
82
|
+
WorkspaceExportRequestType,
|
|
659
83
|
// Workspace Status
|
|
660
84
|
DatasetStatusType,
|
|
661
85
|
TaskStatusType,
|
|
@@ -671,21 +95,19 @@ export const ApiTypes = {
|
|
|
671
95
|
WorkspaceStatusResultType,
|
|
672
96
|
// Tasks
|
|
673
97
|
TaskListItemType,
|
|
674
|
-
TaskInfoType,
|
|
675
98
|
TaskDetailsType,
|
|
676
99
|
// Execution
|
|
677
100
|
DataflowRequestType,
|
|
678
|
-
StartRequestType,
|
|
679
|
-
GraphTaskType,
|
|
680
101
|
DataflowGraphType,
|
|
102
|
+
DataflowGraphTaskType,
|
|
681
103
|
LogChunkType,
|
|
682
104
|
TaskExecutionResultType,
|
|
683
105
|
DataflowResultType,
|
|
684
106
|
// Execution State (polling)
|
|
685
107
|
DataflowEventType,
|
|
686
|
-
ExecutionStatusType,
|
|
108
|
+
ExecutionStatusType: ApiExecutionStatusType,
|
|
687
109
|
DataflowExecutionSummaryType,
|
|
688
|
-
DataflowExecutionStateType,
|
|
110
|
+
DataflowExecutionStateType: ApiDataflowExecutionStateType,
|
|
689
111
|
// Task Execution History
|
|
690
112
|
ExecutionHistoryStatusType,
|
|
691
113
|
ExecutionListItemType,
|