@elaraai/e3-core 0.0.2-beta.4 → 0.0.2-beta.41
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 +139 -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 +76 -0
- package/dist/src/dataflow/orchestrator/LocalOrchestrator.d.ts.map +1 -0
- package/dist/src/dataflow/orchestrator/LocalOrchestrator.js +695 -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 +163 -0
- package/dist/src/dataflow/orchestrator/interfaces.d.ts.map +1 -0
- package/dist/src/dataflow/orchestrator/interfaces.js +52 -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 +300 -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 +229 -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 +222 -0
- package/dist/src/dataflow/steps.d.ts.map +1 -0
- package/dist/src/dataflow/steps.js +707 -0
- package/dist/src/dataflow/steps.js.map +1 -0
- package/dist/src/dataflow/types.d.ts +127 -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 +113 -38
- package/dist/src/dataflow.d.ts.map +1 -1
- package/dist/src/dataflow.js +269 -416
- package/dist/src/dataflow.js.map +1 -1
- package/dist/src/dataset-refs.d.ts +124 -0
- package/dist/src/dataset-refs.d.ts.map +1 -0
- package/dist/src/dataset-refs.js +319 -0
- package/dist/src/dataset-refs.js.map +1 -0
- 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 +54 -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 +19 -9
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +48 -18
- package/dist/src/index.js.map +1 -1
- package/dist/src/objects.d.ts +8 -51
- package/dist/src/objects.d.ts.map +1 -1
- package/dist/src/objects.js +13 -230
- 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 +134 -88
- 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 +139 -0
- package/dist/src/storage/in-memory/InMemoryStorage.d.ts.map +1 -0
- package/dist/src/storage/in-memory/InMemoryStorage.js +439 -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 +581 -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 +56 -0
- package/dist/src/storage/local/LocalBackend.d.ts.map +1 -0
- package/dist/src/storage/local/LocalBackend.js +145 -0
- package/dist/src/storage/local/LocalBackend.js.map +1 -0
- package/dist/src/storage/local/LocalDatasetRefStore.d.ts +22 -0
- package/dist/src/storage/local/LocalDatasetRefStore.d.ts.map +1 -0
- package/dist/src/storage/local/LocalDatasetRefStore.js +118 -0
- package/dist/src/storage/local/LocalDatasetRefStore.js.map +1 -0
- package/dist/src/storage/local/LocalLockService.d.ts +111 -0
- package/dist/src/storage/local/LocalLockService.d.ts.map +1 -0
- package/dist/src/storage/local/LocalLockService.js +355 -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 +55 -0
- package/dist/src/storage/local/LocalObjectStore.d.ts.map +1 -0
- package/dist/src/storage/local/LocalObjectStore.js +300 -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 +55 -0
- package/dist/src/storage/local/LocalRepoStore.d.ts.map +1 -0
- package/dist/src/storage/local/LocalRepoStore.js +365 -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 +377 -0
- package/dist/src/storage/local/gc.js.map +1 -0
- package/dist/src/storage/local/index.d.ts +18 -0
- package/dist/src/storage/local/index.d.ts.map +1 -0
- package/dist/src/storage/local/index.js +18 -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 +5 -4
- package/dist/src/test-helpers.d.ts.map +1 -1
- package/dist/src/test-helpers.js +9 -21
- package/dist/src/test-helpers.js.map +1 -1
- package/dist/src/transfer/InMemoryTransferBackend.d.ts +66 -0
- package/dist/src/transfer/InMemoryTransferBackend.d.ts.map +1 -0
- package/dist/src/transfer/InMemoryTransferBackend.js +166 -0
- package/dist/src/transfer/InMemoryTransferBackend.js.map +1 -0
- package/dist/src/transfer/index.d.ts +8 -0
- package/dist/src/transfer/index.d.ts.map +1 -0
- package/dist/src/transfer/index.js +9 -0
- package/dist/src/transfer/index.js.map +1 -0
- package/dist/src/transfer/interfaces.d.ts +103 -0
- package/dist/src/transfer/interfaces.d.ts.map +1 -0
- package/dist/src/transfer/interfaces.js +6 -0
- package/dist/src/transfer/interfaces.js.map +1 -0
- package/dist/src/transfer/types.d.ts +79 -0
- package/dist/src/transfer/types.d.ts.map +1 -0
- package/dist/src/transfer/types.js +58 -0
- package/dist/src/transfer/types.js.map +1 -0
- package/dist/src/trees.d.ts +147 -59
- package/dist/src/trees.d.ts.map +1 -1
- package/dist/src/trees.js +372 -419
- 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 -47
- package/dist/src/workspaces.d.ts.map +1 -1
- package/dist/src/workspaces.js +194 -156
- 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/packages.d.ts
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* Licensed under BSL 1.1. See LICENSE for details.
|
|
4
4
|
*/
|
|
5
5
|
import type { PackageObject } from '@elaraai/e3-types';
|
|
6
|
+
import type { StorageBackend } from './storage/interfaces.js';
|
|
6
7
|
/**
|
|
7
8
|
* Result of importing a package
|
|
8
9
|
*/
|
|
@@ -17,60 +18,66 @@ export interface PackageImportResult {
|
|
|
17
18
|
*
|
|
18
19
|
* Extracts objects to `objects/`, creates ref at `packages/<name>/<version>`.
|
|
19
20
|
*
|
|
20
|
-
* @param
|
|
21
|
+
* @param storage - Storage backend
|
|
22
|
+
* @param repo - Repository identifier
|
|
21
23
|
* @param zipPath - Path to the .zip package file
|
|
22
24
|
* @returns Import result with package name, version, and stats
|
|
23
25
|
*/
|
|
24
|
-
export declare function packageImport(
|
|
26
|
+
export declare function packageImport(storage: StorageBackend, repo: string, zipPath: string): Promise<PackageImportResult>;
|
|
25
27
|
/**
|
|
26
28
|
* Remove a package ref from the repository.
|
|
27
29
|
*
|
|
28
30
|
* Objects remain until gc is run.
|
|
29
31
|
*
|
|
30
|
-
* @param
|
|
32
|
+
* @param storage - Storage backend
|
|
33
|
+
* @param repo - Repository identifier
|
|
31
34
|
* @param name - Package name
|
|
32
35
|
* @param version - Package version
|
|
33
36
|
* @throws {PackageNotFoundError} If package doesn't exist
|
|
34
37
|
*/
|
|
35
|
-
export declare function packageRemove(
|
|
38
|
+
export declare function packageRemove(storage: StorageBackend, repo: string, name: string, version: string): Promise<void>;
|
|
36
39
|
/**
|
|
37
40
|
* List all installed packages.
|
|
38
41
|
*
|
|
39
|
-
* @param
|
|
42
|
+
* @param storage - Storage backend
|
|
43
|
+
* @param repo - Repository identifier
|
|
40
44
|
* @returns Array of (name, version) pairs
|
|
41
45
|
*/
|
|
42
|
-
export declare function packageList(
|
|
46
|
+
export declare function packageList(storage: StorageBackend, repo: string): Promise<Array<{
|
|
43
47
|
name: string;
|
|
44
48
|
version: string;
|
|
45
49
|
}>>;
|
|
46
50
|
/**
|
|
47
51
|
* Get the latest version of a package.
|
|
48
52
|
*
|
|
49
|
-
* @param
|
|
53
|
+
* @param storage - Storage backend
|
|
54
|
+
* @param repo - Repository identifier
|
|
50
55
|
* @param name - Package name
|
|
51
56
|
* @returns Latest version string, or undefined if package not found
|
|
52
57
|
*/
|
|
53
|
-
export declare function packageGetLatestVersion(
|
|
58
|
+
export declare function packageGetLatestVersion(storage: StorageBackend, repo: string, name: string): Promise<string | undefined>;
|
|
54
59
|
/**
|
|
55
60
|
* Resolve a package to its PackageObject hash.
|
|
56
61
|
*
|
|
57
|
-
* @param
|
|
62
|
+
* @param storage - Storage backend
|
|
63
|
+
* @param repo - Repository identifier
|
|
58
64
|
* @param name - Package name
|
|
59
65
|
* @param version - Package version
|
|
60
66
|
* @returns PackageObject hash
|
|
61
67
|
* @throws {PackageNotFoundError} If package doesn't exist
|
|
62
68
|
*/
|
|
63
|
-
export declare function packageResolve(
|
|
69
|
+
export declare function packageResolve(storage: StorageBackend, repo: string, name: string, version: string): Promise<string>;
|
|
64
70
|
/**
|
|
65
71
|
* Read and parse a PackageObject.
|
|
66
72
|
*
|
|
67
|
-
* @param
|
|
73
|
+
* @param storage - Storage backend
|
|
74
|
+
* @param repo - Repository identifier
|
|
68
75
|
* @param name - Package name
|
|
69
76
|
* @param version - Package version
|
|
70
77
|
* @returns Parsed PackageObject
|
|
71
78
|
* @throws {PackageNotFoundError} If package doesn't exist
|
|
72
79
|
*/
|
|
73
|
-
export declare function packageRead(
|
|
80
|
+
export declare function packageRead(storage: StorageBackend, repo: string, name: string, version: string): Promise<PackageObject>;
|
|
74
81
|
/**
|
|
75
82
|
* Result of exporting a package
|
|
76
83
|
*/
|
|
@@ -83,11 +90,12 @@ export interface PackageExportResult {
|
|
|
83
90
|
*
|
|
84
91
|
* Collects the package object and all transitively referenced objects.
|
|
85
92
|
*
|
|
86
|
-
* @param
|
|
93
|
+
* @param storage - Storage backend
|
|
94
|
+
* @param repo - Repository identifier
|
|
87
95
|
* @param name - Package name
|
|
88
96
|
* @param version - Package version
|
|
89
97
|
* @param zipPath - Path to write the .zip file
|
|
90
98
|
* @returns Export result with package hash and object count
|
|
91
99
|
*/
|
|
92
|
-
export declare function packageExport(
|
|
100
|
+
export declare function packageExport(storage: StorageBackend, repo: string, name: string, version: string, zipPath: string): Promise<PackageExportResult>;
|
|
93
101
|
//# sourceMappingURL=packages.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"packages.d.ts","sourceRoot":"","sources":["../../src/packages.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"packages.d.ts","sourceRoot":"","sources":["../../src/packages.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAeH,OAAO,KAAK,EAAE,aAAa,EAAc,MAAM,mBAAmB,CAAC;AAKnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,mBAAmB,CAAC,CA2I9B;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,CAQf;AAED;;;;;;GAMG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAEnD;AAED;;;;;;;GAOG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAO7B;AAED;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,CAMjB;AAED;;;;;;;;;GASG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,aAAa,CAAC,CAKxB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AAOD;;;;;;;;;;;GAWG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,mBAAmB,CAAC,CAkH9B"}
|
package/dist/src/packages.js
CHANGED
|
@@ -10,29 +10,31 @@
|
|
|
10
10
|
*/
|
|
11
11
|
import * as fs from 'fs/promises';
|
|
12
12
|
import { createWriteStream } from 'fs';
|
|
13
|
-
import * as path from 'path';
|
|
14
13
|
import yauzl from 'yauzl';
|
|
15
14
|
import yazl from 'yazl';
|
|
16
|
-
import { decodeBeast2For } from '@elaraai/east';
|
|
17
|
-
import { PackageObjectType } from '@elaraai/e3-types';
|
|
18
|
-
import {
|
|
19
|
-
import { PackageNotFoundError, PackageInvalidError, isNotFoundError, } from './errors.js';
|
|
15
|
+
import { decodeBeast2For, encodeBeast2For } from '@elaraai/east';
|
|
16
|
+
import { PackageObjectType, TaskObjectType, DataflowRunType, ExecutionStatusType, DatasetRefType } from '@elaraai/e3-types';
|
|
17
|
+
import { PackageNotFoundError, PackageInvalidError, } from './errors.js';
|
|
20
18
|
/**
|
|
21
19
|
* Import a package from a .zip file into the repository.
|
|
22
20
|
*
|
|
23
21
|
* Extracts objects to `objects/`, creates ref at `packages/<name>/<version>`.
|
|
24
22
|
*
|
|
25
|
-
* @param
|
|
23
|
+
* @param storage - Storage backend
|
|
24
|
+
* @param repo - Repository identifier
|
|
26
25
|
* @param zipPath - Path to the .zip package file
|
|
27
26
|
* @returns Import result with package name, version, and stats
|
|
28
27
|
*/
|
|
29
|
-
export async function packageImport(
|
|
28
|
+
export async function packageImport(storage, repo, zipPath) {
|
|
30
29
|
// Open the zip file
|
|
31
30
|
const zipfile = await openZip(zipPath);
|
|
32
31
|
let packageName;
|
|
33
32
|
let packageVersion;
|
|
34
33
|
let packageHash;
|
|
35
34
|
let objectCount = 0;
|
|
35
|
+
// Buffer execution files for atomic import
|
|
36
|
+
// Map: executionDir -> Map<filename, data>
|
|
37
|
+
const executionFiles = new Map();
|
|
36
38
|
try {
|
|
37
39
|
// Iterate through all entries
|
|
38
40
|
for await (const entry of iterateZipEntries(zipfile)) {
|
|
@@ -51,21 +53,54 @@ export async function packageImport(repoPath, zipPath) {
|
|
|
51
53
|
const data = await getData();
|
|
52
54
|
packageHash = data.toString('utf-8').trim();
|
|
53
55
|
// Write the ref to the repository
|
|
54
|
-
|
|
55
|
-
await fs.mkdir(refDir, { recursive: true });
|
|
56
|
-
const refPath = path.join(refDir, packageVersion);
|
|
57
|
-
await fs.writeFile(refPath, packageHash + '\n');
|
|
56
|
+
await storage.refs.packageWrite(repo, packageName, packageVersion, packageHash);
|
|
58
57
|
}
|
|
59
58
|
continue;
|
|
60
59
|
}
|
|
61
60
|
// Handle object: objects/<ab>/<cdef...>.beast2
|
|
62
61
|
if (fileName.startsWith('objects/')) {
|
|
63
62
|
const data = await getData();
|
|
64
|
-
// Store the object (
|
|
65
|
-
await
|
|
63
|
+
// Store the object (storage.objects.write will verify the hash matches)
|
|
64
|
+
await storage.objects.write(repo, data);
|
|
66
65
|
objectCount++;
|
|
67
66
|
continue;
|
|
68
67
|
}
|
|
68
|
+
// Handle dataflow runs: dataflows/<workspace>/<runId>.beast2
|
|
69
|
+
if (fileName.startsWith('dataflows/')) {
|
|
70
|
+
const parts = fileName.split('/');
|
|
71
|
+
if (parts.length === 3 && parts[2].endsWith('.beast2')) {
|
|
72
|
+
const workspace = parts[1];
|
|
73
|
+
// Decode and write the dataflow run
|
|
74
|
+
const data = await getData();
|
|
75
|
+
const decoder = decodeBeast2For(DataflowRunType);
|
|
76
|
+
const run = decoder(data);
|
|
77
|
+
await storage.refs.dataflowRunWrite(repo, workspace, run);
|
|
78
|
+
}
|
|
79
|
+
continue;
|
|
80
|
+
}
|
|
81
|
+
// Handle executions: executions/<taskHash>/<inputsHash>/<executionId>/<file>
|
|
82
|
+
if (fileName.startsWith('executions/')) {
|
|
83
|
+
const parts = fileName.split('/');
|
|
84
|
+
if (parts.length >= 5) {
|
|
85
|
+
const taskHash = parts[1];
|
|
86
|
+
const inputsHash = parts[2];
|
|
87
|
+
const executionId = parts[3];
|
|
88
|
+
const file = parts.slice(4).join('/');
|
|
89
|
+
// Buffer execution files for atomic import later
|
|
90
|
+
const execDir = `${taskHash}/${inputsHash}/${executionId}`;
|
|
91
|
+
if (!executionFiles.has(execDir)) {
|
|
92
|
+
executionFiles.set(execDir, new Map());
|
|
93
|
+
}
|
|
94
|
+
executionFiles.get(execDir).set(file, await getData());
|
|
95
|
+
}
|
|
96
|
+
continue;
|
|
97
|
+
}
|
|
98
|
+
// Handle data refs: data/<path>.ref
|
|
99
|
+
if (fileName.startsWith('data/') && fileName.endsWith('.ref')) {
|
|
100
|
+
// Per-dataset ref files in the zip are redundant — refs are stored
|
|
101
|
+
// inline in the PackageObject's data.refs field. Skip them.
|
|
102
|
+
continue;
|
|
103
|
+
}
|
|
69
104
|
// Unknown entry type - ignore for forward compatibility
|
|
70
105
|
}
|
|
71
106
|
}
|
|
@@ -76,6 +111,33 @@ export async function packageImport(repoPath, zipPath) {
|
|
|
76
111
|
if (!packageName || !packageVersion || !packageHash) {
|
|
77
112
|
throw new PackageInvalidError('missing package ref');
|
|
78
113
|
}
|
|
114
|
+
// Import executions atomically
|
|
115
|
+
// For each execution, check if it already exists (by executionId), skip if so
|
|
116
|
+
for (const [execDir, files] of executionFiles) {
|
|
117
|
+
const [taskHash, inputsHash, executionId] = execDir.split('/');
|
|
118
|
+
// Check if execution already exists
|
|
119
|
+
const existingStatus = await storage.refs.executionGet(repo, taskHash, inputsHash, executionId);
|
|
120
|
+
if (existingStatus !== null) {
|
|
121
|
+
// Execution already exists, skip (don't overwrite)
|
|
122
|
+
continue;
|
|
123
|
+
}
|
|
124
|
+
// Import the execution files
|
|
125
|
+
// First, write the status
|
|
126
|
+
const statusData = files.get('status.beast2');
|
|
127
|
+
if (statusData) {
|
|
128
|
+
const statusDecoder = decodeBeast2For(ExecutionStatusType);
|
|
129
|
+
const status = statusDecoder(statusData);
|
|
130
|
+
await storage.refs.executionWrite(repo, taskHash, inputsHash, executionId, status);
|
|
131
|
+
}
|
|
132
|
+
// Write logs if present
|
|
133
|
+
for (const stream of ['stdout.txt', 'stderr.txt']) {
|
|
134
|
+
const logData = files.get(stream);
|
|
135
|
+
if (logData && logData.length > 0) {
|
|
136
|
+
const streamName = stream === 'stdout.txt' ? 'stdout' : 'stderr';
|
|
137
|
+
await storage.logs.append(repo, taskHash, inputsHash, executionId, streamName, logData.toString('utf-8'));
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
79
141
|
return {
|
|
80
142
|
name: packageName,
|
|
81
143
|
version: packageVersion,
|
|
@@ -88,67 +150,40 @@ export async function packageImport(repoPath, zipPath) {
|
|
|
88
150
|
*
|
|
89
151
|
* Objects remain until gc is run.
|
|
90
152
|
*
|
|
91
|
-
* @param
|
|
153
|
+
* @param storage - Storage backend
|
|
154
|
+
* @param repo - Repository identifier
|
|
92
155
|
* @param name - Package name
|
|
93
156
|
* @param version - Package version
|
|
94
157
|
* @throws {PackageNotFoundError} If package doesn't exist
|
|
95
158
|
*/
|
|
96
|
-
export async function packageRemove(
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
catch (err) {
|
|
102
|
-
if (isNotFoundError(err)) {
|
|
103
|
-
throw new PackageNotFoundError(name, version);
|
|
104
|
-
}
|
|
105
|
-
throw err;
|
|
106
|
-
}
|
|
107
|
-
// Try to remove the package name directory if empty
|
|
108
|
-
const packageDir = path.join(repoPath, 'packages', name);
|
|
109
|
-
try {
|
|
110
|
-
await fs.rmdir(packageDir);
|
|
111
|
-
}
|
|
112
|
-
catch {
|
|
113
|
-
// Directory not empty, that's fine
|
|
159
|
+
export async function packageRemove(storage, repo, name, version) {
|
|
160
|
+
// Check if package exists first (storage.refs.packageRemove is idempotent)
|
|
161
|
+
const hash = await storage.refs.packageResolve(repo, name, version);
|
|
162
|
+
if (hash === null) {
|
|
163
|
+
throw new PackageNotFoundError(name, version);
|
|
114
164
|
}
|
|
165
|
+
await storage.refs.packageRemove(repo, name, version);
|
|
115
166
|
}
|
|
116
167
|
/**
|
|
117
168
|
* List all installed packages.
|
|
118
169
|
*
|
|
119
|
-
* @param
|
|
170
|
+
* @param storage - Storage backend
|
|
171
|
+
* @param repo - Repository identifier
|
|
120
172
|
* @returns Array of (name, version) pairs
|
|
121
173
|
*/
|
|
122
|
-
export async function packageList(
|
|
123
|
-
|
|
124
|
-
const packages = [];
|
|
125
|
-
try {
|
|
126
|
-
const names = await fs.readdir(packagesDir);
|
|
127
|
-
for (const name of names) {
|
|
128
|
-
const nameDir = path.join(packagesDir, name);
|
|
129
|
-
const stat = await fs.stat(nameDir);
|
|
130
|
-
if (stat.isDirectory()) {
|
|
131
|
-
const versions = await fs.readdir(nameDir);
|
|
132
|
-
for (const version of versions) {
|
|
133
|
-
packages.push({ name, version });
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
catch {
|
|
139
|
-
// packages directory doesn't exist or is empty
|
|
140
|
-
}
|
|
141
|
-
return packages;
|
|
174
|
+
export async function packageList(storage, repo) {
|
|
175
|
+
return storage.refs.packageList(repo);
|
|
142
176
|
}
|
|
143
177
|
/**
|
|
144
178
|
* Get the latest version of a package.
|
|
145
179
|
*
|
|
146
|
-
* @param
|
|
180
|
+
* @param storage - Storage backend
|
|
181
|
+
* @param repo - Repository identifier
|
|
147
182
|
* @param name - Package name
|
|
148
183
|
* @returns Latest version string, or undefined if package not found
|
|
149
184
|
*/
|
|
150
|
-
export async function packageGetLatestVersion(
|
|
151
|
-
const packages = await packageList(
|
|
185
|
+
export async function packageGetLatestVersion(storage, repo, name) {
|
|
186
|
+
const packages = await packageList(storage, repo);
|
|
152
187
|
const versions = packages
|
|
153
188
|
.filter(p => p.name === name)
|
|
154
189
|
.map(p => p.version)
|
|
@@ -158,37 +193,33 @@ export async function packageGetLatestVersion(repoPath, name) {
|
|
|
158
193
|
/**
|
|
159
194
|
* Resolve a package to its PackageObject hash.
|
|
160
195
|
*
|
|
161
|
-
* @param
|
|
196
|
+
* @param storage - Storage backend
|
|
197
|
+
* @param repo - Repository identifier
|
|
162
198
|
* @param name - Package name
|
|
163
199
|
* @param version - Package version
|
|
164
200
|
* @returns PackageObject hash
|
|
165
201
|
* @throws {PackageNotFoundError} If package doesn't exist
|
|
166
202
|
*/
|
|
167
|
-
export async function packageResolve(
|
|
168
|
-
const
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
return content.trim();
|
|
172
|
-
}
|
|
173
|
-
catch (err) {
|
|
174
|
-
if (isNotFoundError(err)) {
|
|
175
|
-
throw new PackageNotFoundError(name, version);
|
|
176
|
-
}
|
|
177
|
-
throw err;
|
|
203
|
+
export async function packageResolve(storage, repo, name, version) {
|
|
204
|
+
const hash = await storage.refs.packageResolve(repo, name, version);
|
|
205
|
+
if (hash === null) {
|
|
206
|
+
throw new PackageNotFoundError(name, version);
|
|
178
207
|
}
|
|
208
|
+
return hash;
|
|
179
209
|
}
|
|
180
210
|
/**
|
|
181
211
|
* Read and parse a PackageObject.
|
|
182
212
|
*
|
|
183
|
-
* @param
|
|
213
|
+
* @param storage - Storage backend
|
|
214
|
+
* @param repo - Repository identifier
|
|
184
215
|
* @param name - Package name
|
|
185
216
|
* @param version - Package version
|
|
186
217
|
* @returns Parsed PackageObject
|
|
187
218
|
* @throws {PackageNotFoundError} If package doesn't exist
|
|
188
219
|
*/
|
|
189
|
-
export async function packageRead(
|
|
190
|
-
const hash = await packageResolve(
|
|
191
|
-
const data = await
|
|
220
|
+
export async function packageRead(storage, repo, name, version) {
|
|
221
|
+
const hash = await packageResolve(storage, repo, name, version);
|
|
222
|
+
const data = await storage.objects.read(repo, hash);
|
|
192
223
|
const decoder = decodeBeast2For(PackageObjectType);
|
|
193
224
|
return decoder(Buffer.from(data));
|
|
194
225
|
}
|
|
@@ -201,16 +232,17 @@ const DETERMINISTIC_MTIME = new Date(0);
|
|
|
201
232
|
*
|
|
202
233
|
* Collects the package object and all transitively referenced objects.
|
|
203
234
|
*
|
|
204
|
-
* @param
|
|
235
|
+
* @param storage - Storage backend
|
|
236
|
+
* @param repo - Repository identifier
|
|
205
237
|
* @param name - Package name
|
|
206
238
|
* @param version - Package version
|
|
207
239
|
* @param zipPath - Path to write the .zip file
|
|
208
240
|
* @returns Export result with package hash and object count
|
|
209
241
|
*/
|
|
210
|
-
export async function packageExport(
|
|
242
|
+
export async function packageExport(storage, repo, name, version, zipPath) {
|
|
211
243
|
const partialPath = `${zipPath}.partial`;
|
|
212
244
|
// Resolve package to hash
|
|
213
|
-
const packageHash = await packageResolve(
|
|
245
|
+
const packageHash = await packageResolve(storage, repo, name, version);
|
|
214
246
|
// Create zip file
|
|
215
247
|
const zipfile = new yazl.ZipFile();
|
|
216
248
|
// Track which objects we've added to avoid duplicates
|
|
@@ -220,9 +252,9 @@ export async function packageExport(repoPath, name, version, zipPath) {
|
|
|
220
252
|
if (addedObjects.has(hash))
|
|
221
253
|
return;
|
|
222
254
|
addedObjects.add(hash);
|
|
223
|
-
const data = await
|
|
224
|
-
const
|
|
225
|
-
zipfile.addBuffer(Buffer.from(data),
|
|
255
|
+
const data = await storage.objects.read(repo, hash);
|
|
256
|
+
const objPath = `objects/${hash.slice(0, 2)}/${hash.slice(2)}.beast2`;
|
|
257
|
+
zipfile.addBuffer(Buffer.from(data), objPath, { mtime: DETERMINISTIC_MTIME });
|
|
226
258
|
};
|
|
227
259
|
// Helper to collect children from a tree object
|
|
228
260
|
// Tree objects are encoded as structs with DataRef fields
|
|
@@ -246,7 +278,7 @@ export async function packageExport(repoPath, name, version, zipPath) {
|
|
|
246
278
|
try {
|
|
247
279
|
await addObject(potentialHash);
|
|
248
280
|
// Recursively collect children from this object
|
|
249
|
-
const childData = await
|
|
281
|
+
const childData = await storage.objects.read(repo, potentialHash);
|
|
250
282
|
await collectTreeChildren(childData);
|
|
251
283
|
}
|
|
252
284
|
catch {
|
|
@@ -258,20 +290,34 @@ export async function packageExport(repoPath, name, version, zipPath) {
|
|
|
258
290
|
// Add the package object first
|
|
259
291
|
await addObject(packageHash);
|
|
260
292
|
// Load and parse the package object
|
|
261
|
-
const packageData = await
|
|
293
|
+
const packageData = await storage.objects.read(repo, packageHash);
|
|
262
294
|
const decoder = decodeBeast2For(PackageObjectType);
|
|
263
295
|
const packageObject = decoder(Buffer.from(packageData));
|
|
264
|
-
// Collect all task objects
|
|
296
|
+
// Collect all task objects and their commandIr references
|
|
297
|
+
const taskDecoder = decodeBeast2For(TaskObjectType);
|
|
265
298
|
for (const taskHash of packageObject.tasks.values()) {
|
|
266
299
|
await addObject(taskHash);
|
|
267
|
-
//
|
|
268
|
-
|
|
300
|
+
// Task objects contain commandIr hashes that must also be exported
|
|
301
|
+
const taskData = await storage.objects.read(repo, taskHash);
|
|
302
|
+
const taskObject = taskDecoder(Buffer.from(taskData));
|
|
303
|
+
// The commandIr is a hash reference to an IR object
|
|
304
|
+
await addObject(taskObject.commandIr);
|
|
305
|
+
// Recursively collect any objects referenced by the IR
|
|
306
|
+
const irData = await storage.objects.read(repo, taskObject.commandIr);
|
|
307
|
+
await collectTreeChildren(irData);
|
|
308
|
+
}
|
|
309
|
+
// Collect value objects from inline per-dataset refs and write data/ ref files
|
|
310
|
+
if (packageObject.data.refs instanceof Map) {
|
|
311
|
+
const refEncoder = encodeBeast2For(DatasetRefType);
|
|
312
|
+
for (const [refPath, ref] of packageObject.data.refs) {
|
|
313
|
+
if (ref.type === 'value' && typeof ref.value?.hash === 'string') {
|
|
314
|
+
await addObject(ref.value.hash);
|
|
315
|
+
}
|
|
316
|
+
// Write DatasetRef to data/ dir in zip for roundtrip compatibility
|
|
317
|
+
const refData = refEncoder(ref);
|
|
318
|
+
zipfile.addBuffer(Buffer.from(refData), `data/${refPath}.ref`, { mtime: DETERMINISTIC_MTIME });
|
|
319
|
+
}
|
|
269
320
|
}
|
|
270
|
-
// Collect the root tree and all its children
|
|
271
|
-
const rootTreeHash = packageObject.data.value;
|
|
272
|
-
await addObject(rootTreeHash);
|
|
273
|
-
const rootTreeData = await objectRead(repoPath, rootTreeHash);
|
|
274
|
-
await collectTreeChildren(rootTreeData);
|
|
275
321
|
// Write the package ref
|
|
276
322
|
const refPath = `packages/${name}/${version}`;
|
|
277
323
|
zipfile.addBuffer(Buffer.from(packageHash + '\n'), refPath, { mtime: DETERMINISTIC_MTIME });
|
package/dist/src/packages.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"packages.js","sourceRoot":"","sources":["../../src/packages.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"packages.js","sourceRoot":"","sources":["../../src/packages.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
3
|
+
* Licensed under BSL 1.1. See LICENSE for details.
|
|
4
|
+
*/
|
|
5
|
+
import type { RepoStore, RepoStatus, RepoMetadata, BatchResult, GcObjectScanResult, GcRootScanResult } from '../interfaces.js';
|
|
6
|
+
/**
|
|
7
|
+
* In-memory implementation of RepoStore for testing.
|
|
8
|
+
*
|
|
9
|
+
* Stores all data in memory maps. Useful for unit tests
|
|
10
|
+
* where filesystem access is not needed.
|
|
11
|
+
*
|
|
12
|
+
* All methods are synchronous but return Promises to match the interface.
|
|
13
|
+
*/
|
|
14
|
+
export declare class InMemoryRepoStore implements RepoStore {
|
|
15
|
+
private repos;
|
|
16
|
+
list(): Promise<string[]>;
|
|
17
|
+
exists(repo: string): Promise<boolean>;
|
|
18
|
+
getMetadata(repo: string): Promise<RepoMetadata | null>;
|
|
19
|
+
create(repo: string): Promise<void>;
|
|
20
|
+
setStatus(repo: string, status: RepoStatus, expected?: RepoStatus | RepoStatus[]): Promise<void>;
|
|
21
|
+
remove(repo: string): Promise<void>;
|
|
22
|
+
deleteRefsBatch(_repo: string, _cursor?: string): Promise<BatchResult>;
|
|
23
|
+
deleteObjectsBatch(_repo: string, _cursor?: string): Promise<BatchResult>;
|
|
24
|
+
gcScanPackageRoots(_repo: string, _cursor?: unknown): Promise<GcRootScanResult>;
|
|
25
|
+
gcScanWorkspaceRoots(_repo: string, _cursor?: unknown): Promise<GcRootScanResult>;
|
|
26
|
+
gcScanExecutionRoots(_repo: string, _cursor?: unknown): Promise<GcRootScanResult>;
|
|
27
|
+
gcScanObjects(_repo: string, _cursor?: unknown): Promise<GcObjectScanResult>;
|
|
28
|
+
gcDeleteObjects(_repo: string, _hashes: string[]): Promise<void>;
|
|
29
|
+
/**
|
|
30
|
+
* Clear all repositories.
|
|
31
|
+
* Useful for test cleanup.
|
|
32
|
+
*/
|
|
33
|
+
clear(): void;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=InMemoryRepoStore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InMemoryRepoStore.d.ts","sourceRoot":"","sources":["../../../../src/storage/in-memory/InMemoryRepoStore.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,SAAS,EACT,UAAU,EACV,YAAY,EACZ,WAAW,EACX,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,kBAAkB,CAAC;AAO1B;;;;;;;GAOG;AAEH,qBAAa,iBAAkB,YAAW,SAAS;IACjD,OAAO,CAAC,KAAK,CAAmC;IAM1C,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAIzB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAItC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAQvD,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAcnC,SAAS,CACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,UAAU,EAClB,QAAQ,CAAC,EAAE,UAAU,GAAG,UAAU,EAAE,GACnC,OAAO,CAAC,IAAI,CAAC;IAuBV,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQnC,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAKtE,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IASzE,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAI/E,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAIjF,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAIjF,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAI5E,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAQtE;;;OAGG;IACH,KAAK,IAAI,IAAI;CAGd"}
|