@elaraai/e3-core 0.0.2-beta.5 → 0.0.2-beta.50
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 +729 -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 +20 -10
- 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 +7 -53
- package/dist/src/objects.d.ts.map +1 -1
- package/dist/src/objects.js +13 -232
- package/dist/src/objects.js.map +1 -1
- package/dist/src/packages.d.ts +41 -14
- package/dist/src/packages.d.ts.map +1 -1
- package/dist/src/packages.js +145 -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 +364 -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 +75 -0
- package/dist/src/transfer/InMemoryTransferBackend.d.ts.map +1 -0
- package/dist/src/transfer/InMemoryTransferBackend.js +211 -0
- package/dist/src/transfer/InMemoryTransferBackend.js.map +1 -0
- package/dist/src/transfer/index.d.ts +9 -0
- package/dist/src/transfer/index.d.ts.map +1 -0
- package/dist/src/transfer/index.js +11 -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/process.d.ts +55 -0
- package/dist/src/transfer/process.d.ts.map +1 -0
- package/dist/src/transfer/process.js +144 -0
- package/dist/src/transfer/process.js.map +1 -0
- package/dist/src/transfer/types.d.ts +106 -0
- package/dist/src/transfer/types.d.ts.map +1 -0
- package/dist/src/transfer/types.js +61 -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 +46 -60
- package/dist/src/workspaceStatus.js.map +1 -1
- package/dist/src/workspaces.d.ts +46 -47
- package/dist/src/workspaces.d.ts.map +1 -1
- package/dist/src/workspaces.js +281 -221
- 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
|
*/
|
|
@@ -12,65 +13,81 @@ export interface PackageImportResult {
|
|
|
12
13
|
packageHash: string;
|
|
13
14
|
objectCount: number;
|
|
14
15
|
}
|
|
16
|
+
/**
|
|
17
|
+
* Options for package import
|
|
18
|
+
*/
|
|
19
|
+
export interface PackageImportOptions {
|
|
20
|
+
/** Called after each object is written. Can be used for progress reporting. */
|
|
21
|
+
onProgress?: (progress: {
|
|
22
|
+
objectsProcessed: number;
|
|
23
|
+
}) => Promise<void>;
|
|
24
|
+
}
|
|
15
25
|
/**
|
|
16
26
|
* Import a package from a .zip file into the repository.
|
|
17
27
|
*
|
|
18
28
|
* Extracts objects to `objects/`, creates ref at `packages/<name>/<version>`.
|
|
19
29
|
*
|
|
20
|
-
* @param
|
|
30
|
+
* @param storage - Storage backend
|
|
31
|
+
* @param repo - Repository identifier
|
|
21
32
|
* @param zipPath - Path to the .zip package file
|
|
33
|
+
* @param options - Optional import options (e.g. progress callback)
|
|
22
34
|
* @returns Import result with package name, version, and stats
|
|
23
35
|
*/
|
|
24
|
-
export declare function packageImport(
|
|
36
|
+
export declare function packageImport(storage: StorageBackend, repo: string, zipPath: string, options?: PackageImportOptions): Promise<PackageImportResult>;
|
|
25
37
|
/**
|
|
26
38
|
* Remove a package ref from the repository.
|
|
27
39
|
*
|
|
28
40
|
* Objects remain until gc is run.
|
|
29
41
|
*
|
|
30
|
-
* @param
|
|
42
|
+
* @param storage - Storage backend
|
|
43
|
+
* @param repo - Repository identifier
|
|
31
44
|
* @param name - Package name
|
|
32
45
|
* @param version - Package version
|
|
33
46
|
* @throws {PackageNotFoundError} If package doesn't exist
|
|
34
47
|
*/
|
|
35
|
-
export declare function packageRemove(
|
|
48
|
+
export declare function packageRemove(storage: StorageBackend, repo: string, name: string, version: string): Promise<void>;
|
|
36
49
|
/**
|
|
37
50
|
* List all installed packages.
|
|
38
51
|
*
|
|
39
|
-
* @param
|
|
52
|
+
* @param storage - Storage backend
|
|
53
|
+
* @param repo - Repository identifier
|
|
40
54
|
* @returns Array of (name, version) pairs
|
|
41
55
|
*/
|
|
42
|
-
export declare function packageList(
|
|
56
|
+
export declare function packageList(storage: StorageBackend, repo: string): Promise<Array<{
|
|
43
57
|
name: string;
|
|
44
58
|
version: string;
|
|
45
59
|
}>>;
|
|
46
60
|
/**
|
|
47
61
|
* Get the latest version of a package.
|
|
48
62
|
*
|
|
49
|
-
* @param
|
|
63
|
+
* @param storage - Storage backend
|
|
64
|
+
* @param repo - Repository identifier
|
|
50
65
|
* @param name - Package name
|
|
51
66
|
* @returns Latest version string, or undefined if package not found
|
|
52
67
|
*/
|
|
53
|
-
export declare function packageGetLatestVersion(
|
|
68
|
+
export declare function packageGetLatestVersion(storage: StorageBackend, repo: string, name: string): Promise<string | undefined>;
|
|
54
69
|
/**
|
|
55
70
|
* Resolve a package to its PackageObject hash.
|
|
56
71
|
*
|
|
57
|
-
* @param
|
|
72
|
+
* @param storage - Storage backend
|
|
73
|
+
* @param repo - Repository identifier
|
|
58
74
|
* @param name - Package name
|
|
59
75
|
* @param version - Package version
|
|
60
76
|
* @returns PackageObject hash
|
|
61
77
|
* @throws {PackageNotFoundError} If package doesn't exist
|
|
62
78
|
*/
|
|
63
|
-
export declare function packageResolve(
|
|
79
|
+
export declare function packageResolve(storage: StorageBackend, repo: string, name: string, version: string): Promise<string>;
|
|
64
80
|
/**
|
|
65
81
|
* Read and parse a PackageObject.
|
|
66
82
|
*
|
|
67
|
-
* @param
|
|
83
|
+
* @param storage - Storage backend
|
|
84
|
+
* @param repo - Repository identifier
|
|
68
85
|
* @param name - Package name
|
|
69
86
|
* @param version - Package version
|
|
70
87
|
* @returns Parsed PackageObject
|
|
71
88
|
* @throws {PackageNotFoundError} If package doesn't exist
|
|
72
89
|
*/
|
|
73
|
-
export declare function packageRead(
|
|
90
|
+
export declare function packageRead(storage: StorageBackend, repo: string, name: string, version: string): Promise<PackageObject>;
|
|
74
91
|
/**
|
|
75
92
|
* Result of exporting a package
|
|
76
93
|
*/
|
|
@@ -78,16 +95,26 @@ export interface PackageExportResult {
|
|
|
78
95
|
packageHash: string;
|
|
79
96
|
objectCount: number;
|
|
80
97
|
}
|
|
98
|
+
/**
|
|
99
|
+
* Options for package export
|
|
100
|
+
*/
|
|
101
|
+
export interface PackageExportOptions {
|
|
102
|
+
/** Called after each object is added. Can be used for progress reporting. */
|
|
103
|
+
onProgress?: (progress: {
|
|
104
|
+
objectsProcessed: number;
|
|
105
|
+
}) => Promise<void>;
|
|
106
|
+
}
|
|
81
107
|
/**
|
|
82
108
|
* Export a package to a .zip file.
|
|
83
109
|
*
|
|
84
110
|
* Collects the package object and all transitively referenced objects.
|
|
85
111
|
*
|
|
86
|
-
* @param
|
|
112
|
+
* @param storage - Storage backend
|
|
113
|
+
* @param repo - Repository identifier
|
|
87
114
|
* @param name - Package name
|
|
88
115
|
* @param version - Package version
|
|
89
116
|
* @param zipPath - Path to write the .zip file
|
|
90
117
|
* @returns Export result with package hash and object count
|
|
91
118
|
*/
|
|
92
|
-
export declare function packageExport(
|
|
119
|
+
export declare function packageExport(storage: StorageBackend, repo: string, name: string, version: string, zipPath: string, options?: PackageExportOptions): Promise<PackageExportResult>;
|
|
93
120
|
//# 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;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,+EAA+E;IAC/E,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE;QAAE,gBAAgB,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACxE;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,mBAAmB,CAAC,CAqJ9B;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;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,6EAA6E;IAC7E,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE;QAAE,gBAAgB,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACxE;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,EACf,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,mBAAmB,CAAC,CAmH9B"}
|
package/dist/src/packages.js
CHANGED
|
@@ -10,29 +10,61 @@
|
|
|
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
|
|
26
|
+
* @param options - Optional import options (e.g. progress callback)
|
|
27
27
|
* @returns Import result with package name, version, and stats
|
|
28
28
|
*/
|
|
29
|
-
export async function packageImport(
|
|
29
|
+
export async function packageImport(storage, repo, zipPath, options) {
|
|
30
30
|
// Open the zip file
|
|
31
31
|
const zipfile = await openZip(zipPath);
|
|
32
32
|
let packageName;
|
|
33
33
|
let packageVersion;
|
|
34
34
|
let packageHash;
|
|
35
35
|
let objectCount = 0;
|
|
36
|
+
// Track current execution being assembled (flush on directory change)
|
|
37
|
+
let currentExecDir = null;
|
|
38
|
+
let currentExecFiles = new Map();
|
|
39
|
+
const flushExecution = async () => {
|
|
40
|
+
if (currentExecDir === null)
|
|
41
|
+
return;
|
|
42
|
+
const [taskHash, inputsHash, executionId] = currentExecDir.split('/');
|
|
43
|
+
// Check if execution already exists — skip if so
|
|
44
|
+
const existingStatus = await storage.refs.executionGet(repo, taskHash, inputsHash, executionId);
|
|
45
|
+
if (existingStatus !== null) {
|
|
46
|
+
currentExecDir = null;
|
|
47
|
+
currentExecFiles = new Map();
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
// Write status first
|
|
51
|
+
const statusData = currentExecFiles.get('status.beast2');
|
|
52
|
+
if (statusData) {
|
|
53
|
+
const statusDecoder = decodeBeast2For(ExecutionStatusType);
|
|
54
|
+
const status = statusDecoder(statusData);
|
|
55
|
+
await storage.refs.executionWrite(repo, taskHash, inputsHash, executionId, status);
|
|
56
|
+
}
|
|
57
|
+
// Write logs
|
|
58
|
+
for (const stream of ['stdout.txt', 'stderr.txt']) {
|
|
59
|
+
const logData = currentExecFiles.get(stream);
|
|
60
|
+
if (logData && logData.length > 0) {
|
|
61
|
+
const streamName = stream === 'stdout.txt' ? 'stdout' : 'stderr';
|
|
62
|
+
await storage.logs.append(repo, taskHash, inputsHash, executionId, streamName, logData.toString('utf-8'));
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
currentExecDir = null;
|
|
66
|
+
currentExecFiles = new Map();
|
|
67
|
+
};
|
|
36
68
|
try {
|
|
37
69
|
// Iterate through all entries
|
|
38
70
|
for await (const entry of iterateZipEntries(zipfile)) {
|
|
@@ -51,19 +83,56 @@ export async function packageImport(repoPath, zipPath) {
|
|
|
51
83
|
const data = await getData();
|
|
52
84
|
packageHash = data.toString('utf-8').trim();
|
|
53
85
|
// 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');
|
|
86
|
+
await storage.refs.packageWrite(repo, packageName, packageVersion, packageHash);
|
|
58
87
|
}
|
|
59
88
|
continue;
|
|
60
89
|
}
|
|
61
90
|
// Handle object: objects/<ab>/<cdef...>.beast2
|
|
62
91
|
if (fileName.startsWith('objects/')) {
|
|
63
92
|
const data = await getData();
|
|
64
|
-
// Store the object (
|
|
65
|
-
await
|
|
93
|
+
// Store the object (storage.objects.write will verify the hash matches)
|
|
94
|
+
await storage.objects.write(repo, data);
|
|
66
95
|
objectCount++;
|
|
96
|
+
if (options?.onProgress) {
|
|
97
|
+
await options.onProgress({ objectsProcessed: objectCount });
|
|
98
|
+
}
|
|
99
|
+
continue;
|
|
100
|
+
}
|
|
101
|
+
// Handle dataflow runs: dataflows/<workspace>/<runId>.beast2
|
|
102
|
+
if (fileName.startsWith('dataflows/')) {
|
|
103
|
+
const parts = fileName.split('/');
|
|
104
|
+
if (parts.length === 3 && parts[2].endsWith('.beast2')) {
|
|
105
|
+
const workspace = parts[1];
|
|
106
|
+
// Decode and write the dataflow run
|
|
107
|
+
const data = await getData();
|
|
108
|
+
const decoder = decodeBeast2For(DataflowRunType);
|
|
109
|
+
const run = decoder(data);
|
|
110
|
+
await storage.refs.dataflowRunWrite(repo, workspace, run);
|
|
111
|
+
}
|
|
112
|
+
continue;
|
|
113
|
+
}
|
|
114
|
+
// Handle executions: executions/<taskHash>/<inputsHash>/<executionId>/<file>
|
|
115
|
+
if (fileName.startsWith('executions/')) {
|
|
116
|
+
const parts = fileName.split('/');
|
|
117
|
+
if (parts.length >= 5) {
|
|
118
|
+
const taskHash = parts[1];
|
|
119
|
+
const inputsHash = parts[2];
|
|
120
|
+
const executionId = parts[3];
|
|
121
|
+
const file = parts.slice(4).join('/');
|
|
122
|
+
const execDir = `${taskHash}/${inputsHash}/${executionId}`;
|
|
123
|
+
// Flush previous execution if we've moved to a new one
|
|
124
|
+
if (currentExecDir !== null && currentExecDir !== execDir) {
|
|
125
|
+
await flushExecution();
|
|
126
|
+
}
|
|
127
|
+
currentExecDir = execDir;
|
|
128
|
+
currentExecFiles.set(file, await getData());
|
|
129
|
+
}
|
|
130
|
+
continue;
|
|
131
|
+
}
|
|
132
|
+
// Handle data refs: data/<path>.ref
|
|
133
|
+
if (fileName.startsWith('data/') && fileName.endsWith('.ref')) {
|
|
134
|
+
// Per-dataset ref files in the zip are redundant — refs are stored
|
|
135
|
+
// inline in the PackageObject's data.refs field. Skip them.
|
|
67
136
|
continue;
|
|
68
137
|
}
|
|
69
138
|
// Unknown entry type - ignore for forward compatibility
|
|
@@ -73,6 +142,8 @@ export async function packageImport(repoPath, zipPath) {
|
|
|
73
142
|
// Close the zip file
|
|
74
143
|
zipfile.close();
|
|
75
144
|
}
|
|
145
|
+
// Flush the last execution
|
|
146
|
+
await flushExecution();
|
|
76
147
|
if (!packageName || !packageVersion || !packageHash) {
|
|
77
148
|
throw new PackageInvalidError('missing package ref');
|
|
78
149
|
}
|
|
@@ -88,67 +159,40 @@ export async function packageImport(repoPath, zipPath) {
|
|
|
88
159
|
*
|
|
89
160
|
* Objects remain until gc is run.
|
|
90
161
|
*
|
|
91
|
-
* @param
|
|
162
|
+
* @param storage - Storage backend
|
|
163
|
+
* @param repo - Repository identifier
|
|
92
164
|
* @param name - Package name
|
|
93
165
|
* @param version - Package version
|
|
94
166
|
* @throws {PackageNotFoundError} If package doesn't exist
|
|
95
167
|
*/
|
|
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
|
|
168
|
+
export async function packageRemove(storage, repo, name, version) {
|
|
169
|
+
// Check if package exists first (storage.refs.packageRemove is idempotent)
|
|
170
|
+
const hash = await storage.refs.packageResolve(repo, name, version);
|
|
171
|
+
if (hash === null) {
|
|
172
|
+
throw new PackageNotFoundError(name, version);
|
|
114
173
|
}
|
|
174
|
+
await storage.refs.packageRemove(repo, name, version);
|
|
115
175
|
}
|
|
116
176
|
/**
|
|
117
177
|
* List all installed packages.
|
|
118
178
|
*
|
|
119
|
-
* @param
|
|
179
|
+
* @param storage - Storage backend
|
|
180
|
+
* @param repo - Repository identifier
|
|
120
181
|
* @returns Array of (name, version) pairs
|
|
121
182
|
*/
|
|
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;
|
|
183
|
+
export async function packageList(storage, repo) {
|
|
184
|
+
return storage.refs.packageList(repo);
|
|
142
185
|
}
|
|
143
186
|
/**
|
|
144
187
|
* Get the latest version of a package.
|
|
145
188
|
*
|
|
146
|
-
* @param
|
|
189
|
+
* @param storage - Storage backend
|
|
190
|
+
* @param repo - Repository identifier
|
|
147
191
|
* @param name - Package name
|
|
148
192
|
* @returns Latest version string, or undefined if package not found
|
|
149
193
|
*/
|
|
150
|
-
export async function packageGetLatestVersion(
|
|
151
|
-
const packages = await packageList(
|
|
194
|
+
export async function packageGetLatestVersion(storage, repo, name) {
|
|
195
|
+
const packages = await packageList(storage, repo);
|
|
152
196
|
const versions = packages
|
|
153
197
|
.filter(p => p.name === name)
|
|
154
198
|
.map(p => p.version)
|
|
@@ -158,37 +202,33 @@ export async function packageGetLatestVersion(repoPath, name) {
|
|
|
158
202
|
/**
|
|
159
203
|
* Resolve a package to its PackageObject hash.
|
|
160
204
|
*
|
|
161
|
-
* @param
|
|
205
|
+
* @param storage - Storage backend
|
|
206
|
+
* @param repo - Repository identifier
|
|
162
207
|
* @param name - Package name
|
|
163
208
|
* @param version - Package version
|
|
164
209
|
* @returns PackageObject hash
|
|
165
210
|
* @throws {PackageNotFoundError} If package doesn't exist
|
|
166
211
|
*/
|
|
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;
|
|
212
|
+
export async function packageResolve(storage, repo, name, version) {
|
|
213
|
+
const hash = await storage.refs.packageResolve(repo, name, version);
|
|
214
|
+
if (hash === null) {
|
|
215
|
+
throw new PackageNotFoundError(name, version);
|
|
178
216
|
}
|
|
217
|
+
return hash;
|
|
179
218
|
}
|
|
180
219
|
/**
|
|
181
220
|
* Read and parse a PackageObject.
|
|
182
221
|
*
|
|
183
|
-
* @param
|
|
222
|
+
* @param storage - Storage backend
|
|
223
|
+
* @param repo - Repository identifier
|
|
184
224
|
* @param name - Package name
|
|
185
225
|
* @param version - Package version
|
|
186
226
|
* @returns Parsed PackageObject
|
|
187
227
|
* @throws {PackageNotFoundError} If package doesn't exist
|
|
188
228
|
*/
|
|
189
|
-
export async function packageRead(
|
|
190
|
-
const hash = await packageResolve(
|
|
191
|
-
const data = await
|
|
229
|
+
export async function packageRead(storage, repo, name, version) {
|
|
230
|
+
const hash = await packageResolve(storage, repo, name, version);
|
|
231
|
+
const data = await storage.objects.read(repo, hash);
|
|
192
232
|
const decoder = decodeBeast2For(PackageObjectType);
|
|
193
233
|
return decoder(Buffer.from(data));
|
|
194
234
|
}
|
|
@@ -201,16 +241,17 @@ const DETERMINISTIC_MTIME = new Date(0);
|
|
|
201
241
|
*
|
|
202
242
|
* Collects the package object and all transitively referenced objects.
|
|
203
243
|
*
|
|
204
|
-
* @param
|
|
244
|
+
* @param storage - Storage backend
|
|
245
|
+
* @param repo - Repository identifier
|
|
205
246
|
* @param name - Package name
|
|
206
247
|
* @param version - Package version
|
|
207
248
|
* @param zipPath - Path to write the .zip file
|
|
208
249
|
* @returns Export result with package hash and object count
|
|
209
250
|
*/
|
|
210
|
-
export async function packageExport(
|
|
251
|
+
export async function packageExport(storage, repo, name, version, zipPath, options) {
|
|
211
252
|
const partialPath = `${zipPath}.partial`;
|
|
212
253
|
// Resolve package to hash
|
|
213
|
-
const packageHash = await packageResolve(
|
|
254
|
+
const packageHash = await packageResolve(storage, repo, name, version);
|
|
214
255
|
// Create zip file
|
|
215
256
|
const zipfile = new yazl.ZipFile();
|
|
216
257
|
// Track which objects we've added to avoid duplicates
|
|
@@ -220,9 +261,11 @@ export async function packageExport(repoPath, name, version, zipPath) {
|
|
|
220
261
|
if (addedObjects.has(hash))
|
|
221
262
|
return;
|
|
222
263
|
addedObjects.add(hash);
|
|
223
|
-
const data = await
|
|
224
|
-
const
|
|
225
|
-
zipfile.addBuffer(Buffer.from(data),
|
|
264
|
+
const data = await storage.objects.read(repo, hash);
|
|
265
|
+
const objPath = `objects/${hash.slice(0, 2)}/${hash.slice(2)}.beast2`;
|
|
266
|
+
zipfile.addBuffer(Buffer.from(data), objPath, { mtime: DETERMINISTIC_MTIME });
|
|
267
|
+
if (options?.onProgress)
|
|
268
|
+
await options.onProgress({ objectsProcessed: addedObjects.size });
|
|
226
269
|
};
|
|
227
270
|
// Helper to collect children from a tree object
|
|
228
271
|
// Tree objects are encoded as structs with DataRef fields
|
|
@@ -246,7 +289,7 @@ export async function packageExport(repoPath, name, version, zipPath) {
|
|
|
246
289
|
try {
|
|
247
290
|
await addObject(potentialHash);
|
|
248
291
|
// Recursively collect children from this object
|
|
249
|
-
const childData = await
|
|
292
|
+
const childData = await storage.objects.read(repo, potentialHash);
|
|
250
293
|
await collectTreeChildren(childData);
|
|
251
294
|
}
|
|
252
295
|
catch {
|
|
@@ -258,20 +301,34 @@ export async function packageExport(repoPath, name, version, zipPath) {
|
|
|
258
301
|
// Add the package object first
|
|
259
302
|
await addObject(packageHash);
|
|
260
303
|
// Load and parse the package object
|
|
261
|
-
const packageData = await
|
|
304
|
+
const packageData = await storage.objects.read(repo, packageHash);
|
|
262
305
|
const decoder = decodeBeast2For(PackageObjectType);
|
|
263
306
|
const packageObject = decoder(Buffer.from(packageData));
|
|
264
|
-
// Collect all task objects
|
|
307
|
+
// Collect all task objects and their commandIr references
|
|
308
|
+
const taskDecoder = decodeBeast2For(TaskObjectType);
|
|
265
309
|
for (const taskHash of packageObject.tasks.values()) {
|
|
266
310
|
await addObject(taskHash);
|
|
267
|
-
//
|
|
268
|
-
|
|
311
|
+
// Task objects contain commandIr hashes that must also be exported
|
|
312
|
+
const taskData = await storage.objects.read(repo, taskHash);
|
|
313
|
+
const taskObject = taskDecoder(Buffer.from(taskData));
|
|
314
|
+
// The commandIr is a hash reference to an IR object
|
|
315
|
+
await addObject(taskObject.commandIr);
|
|
316
|
+
// Recursively collect any objects referenced by the IR
|
|
317
|
+
const irData = await storage.objects.read(repo, taskObject.commandIr);
|
|
318
|
+
await collectTreeChildren(irData);
|
|
319
|
+
}
|
|
320
|
+
// Collect value objects from inline per-dataset refs and write data/ ref files
|
|
321
|
+
if (packageObject.data.refs instanceof Map) {
|
|
322
|
+
const refEncoder = encodeBeast2For(DatasetRefType);
|
|
323
|
+
for (const [refPath, ref] of packageObject.data.refs) {
|
|
324
|
+
if (ref.type === 'value' && typeof ref.value?.hash === 'string') {
|
|
325
|
+
await addObject(ref.value.hash);
|
|
326
|
+
}
|
|
327
|
+
// Write DatasetRef to data/ dir in zip for roundtrip compatibility
|
|
328
|
+
const refData = refEncoder(ref);
|
|
329
|
+
zipfile.addBuffer(Buffer.from(refData), `data/${refPath}.ref`, { mtime: DETERMINISTIC_MTIME });
|
|
330
|
+
}
|
|
269
331
|
}
|
|
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
332
|
// Write the package ref
|
|
276
333
|
const refPath = `packages/${name}/${version}`;
|
|
277
334
|
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":"AAAA;;;GAGG;AAEH;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,IAAI,CAAC;AACvC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,eAAe,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAE5H,OAAO,EACL,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAqBrB;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,OAAuB,EACvB,IAAY,EACZ,OAAe,EACf,OAA8B;IAE9B,oBAAoB;IACpB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAEvC,IAAI,WAA+B,CAAC;IACpC,IAAI,cAAkC,CAAC;IACvC,IAAI,WAA+B,CAAC;IACpC,IAAI,WAAW,GAAG,CAAC,CAAC;IAEpB,sEAAsE;IACtE,IAAI,cAAc,GAAkB,IAAI,CAAC;IACzC,IAAI,gBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEjD,MAAM,cAAc,GAAG,KAAK,IAAI,EAAE;QAChC,IAAI,cAAc,KAAK,IAAI;YAAE,OAAO;QACpC,MAAM,CAAC,QAAQ,EAAE,UAAU,EAAE,WAAW,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAA6B,CAAC;QAElG,iDAAiD;QACjD,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;QAChG,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;YAC5B,cAAc,GAAG,IAAI,CAAC;YACtB,gBAAgB,GAAG,IAAI,GAAG,EAAE,CAAC;YAC7B,OAAO;QACT,CAAC;QAED,qBAAqB;QACrB,MAAM,UAAU,GAAG,gBAAgB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QACzD,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,aAAa,GAAG,eAAe,CAAC,mBAAmB,CAAC,CAAC;YAC3D,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;YACzC,MAAM,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QACrF,CAAC;QAED,aAAa;QACb,KAAK,MAAM,MAAM,IAAI,CAAC,YAAY,EAAE,YAAY,CAAU,EAAE,CAAC;YAC3D,MAAM,OAAO,GAAG,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC7C,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClC,MAAM,UAAU,GAAG,MAAM,KAAK,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;gBACjE,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;YAC5G,CAAC;QACH,CAAC;QAED,cAAc,GAAG,IAAI,CAAC;QACtB,gBAAgB,GAAG,IAAI,GAAG,EAAE,CAAC;IAC/B,CAAC,CAAC;IAEF,IAAI,CAAC;QACH,8BAA8B;QAC9B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC;YACrD,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;YAEpC,yBAAyB;YACzB,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3B,SAAS;YACX,CAAC;YAED,gDAAgD;YAChD,IAAI,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;gBACrC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAClC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACvB,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBACvB,cAAc,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBAE1B,kCAAkC;oBAClC,MAAM,IAAI,GAAG,MAAM,OAAO,EAAE,CAAC;oBAC7B,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;oBAE5C,kCAAkC;oBAClC,MAAM,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;gBAClF,CAAC;gBACD,SAAS;YACX,CAAC;YAED,+CAA+C;YAC/C,IAAI,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBACpC,MAAM,IAAI,GAAG,MAAM,OAAO,EAAE,CAAC;gBAE7B,wEAAwE;gBACxE,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACxC,WAAW,EAAE,CAAC;gBACd,IAAI,OAAO,EAAE,UAAU,EAAE,CAAC;oBACxB,MAAM,OAAO,CAAC,UAAU,CAAC,EAAE,gBAAgB,EAAE,WAAW,EAAE,CAAC,CAAC;gBAC9D,CAAC;gBACD,SAAS;YACX,CAAC;YAED,6DAA6D;YAC7D,IAAI,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;gBACtC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAClC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;oBACxD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;oBAE5B,oCAAoC;oBACpC,MAAM,IAAI,GAAG,MAAM,OAAO,EAAE,CAAC;oBAC7B,MAAM,OAAO,GAAG,eAAe,CAAC,eAAe,CAAC,CAAC;oBACjD,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;oBAC1B,MAAM,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;gBAC5D,CAAC;gBACD,SAAS;YACX,CAAC;YAED,6EAA6E;YAC7E,IAAI,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;gBACvC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAClC,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;oBACtB,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;oBAC3B,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;oBAC7B,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;oBAC9B,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAEtC,MAAM,OAAO,GAAG,GAAG,QAAQ,IAAI,UAAU,IAAI,WAAW,EAAE,CAAC;oBAE3D,uDAAuD;oBACvD,IAAI,cAAc,KAAK,IAAI,IAAI,cAAc,KAAK,OAAO,EAAE,CAAC;wBAC1D,MAAM,cAAc,EAAE,CAAC;oBACzB,CAAC;oBACD,cAAc,GAAG,OAAO,CAAC;oBACzB,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,OAAO,EAAE,CAAC,CAAC;gBAC9C,CAAC;gBACD,SAAS;YACX,CAAC;YAED,oCAAoC;YACpC,IAAI,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC9D,mEAAmE;gBACnE,4DAA4D;gBAC5D,SAAS;YACX,CAAC;YAED,wDAAwD;QAC1D,CAAC;IACH,CAAC;YAAS,CAAC;QACT,qBAAqB;QACrB,OAAO,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;IAED,2BAA2B;IAC3B,MAAM,cAAc,EAAE,CAAC;IAEvB,IAAI,CAAC,WAAW,IAAI,CAAC,cAAc,IAAI,CAAC,WAAW,EAAE,CAAC;QACpD,MAAM,IAAI,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;IACvD,CAAC;IAED,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,cAAc;QACvB,WAAW;QACX,WAAW;KACZ,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,OAAuB,EACvB,IAAY,EACZ,IAAY,EACZ,OAAe;IAEf,2EAA2E;IAC3E,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACpE,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,MAAM,IAAI,oBAAoB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AACxD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAAuB,EACvB,IAAY;IAEZ,OAAO,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,OAAuB,EACvB,IAAY,EACZ,IAAY;IAEZ,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,QAAQ;SACtB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC;SAC5B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;SACnB,IAAI,EAAE,CAAC;IACV,OAAO,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACvC,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAuB,EACvB,IAAY,EACZ,IAAY,EACZ,OAAe;IAEf,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACpE,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,MAAM,IAAI,oBAAoB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAAuB,EACvB,IAAY,EACZ,IAAY,EACZ,OAAe;IAEf,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAChE,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,eAAe,CAAC,iBAAiB,CAAC,CAAC;IACnD,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACpC,CAAC;AAkBD;;GAEG;AACH,MAAM,mBAAmB,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;AAExC;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,OAAuB,EACvB,IAAY,EACZ,IAAY,EACZ,OAAe,EACf,OAAe,EACf,OAA8B;IAE9B,MAAM,WAAW,GAAG,GAAG,OAAO,UAAU,CAAC;IAEzC,0BAA0B;IAC1B,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAEvE,kBAAkB;IAClB,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;IAEnC,sDAAsD;IACtD,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IAEvC,qCAAqC;IACrC,MAAM,SAAS,GAAG,KAAK,EAAE,IAAY,EAAiB,EAAE;QACtD,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO;QACnC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEvB,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACpD,MAAM,OAAO,GAAG,WAAW,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QACtE,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;QAC9E,IAAI,OAAO,EAAE,UAAU;YAAE,MAAM,OAAO,CAAC,UAAU,CAAC,EAAE,gBAAgB,EAAE,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7F,CAAC,CAAC;IAEF,gDAAgD;IAChD,0DAA0D;IAC1D,MAAM,mBAAmB,GAAG,KAAK,EAAE,QAAoB,EAAiB,EAAE;QACxE,qDAAqD;QACrD,0DAA0D;QAC1D,4EAA4E;QAC5E,uEAAuE;QAEvE,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAEzD,wEAAwE;QACxE,2CAA2C;QAC3C,MAAM,WAAW,GAAG,eAAe,CAAC;QACpC,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAE9C,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAE/B,0CAA0C;YAC1C,IAAI,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;gBACpC,SAAS;YACX,CAAC;YAED,iEAAiE;YACjE,IAAI,CAAC;gBACH,MAAM,SAAS,CAAC,aAAa,CAAC,CAAC;gBAC/B,gDAAgD;gBAChD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;gBAClE,MAAM,mBAAmB,CAAC,SAAS,CAAC,CAAC;YACvC,CAAC;YAAC,MAAM,CAAC;gBACP,gEAAgE;gBAChE,YAAY,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,+BAA+B;IAC/B,MAAM,SAAS,CAAC,WAAW,CAAC,CAAC;IAE7B,oCAAoC;IACpC,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAClE,MAAM,OAAO,GAAG,eAAe,CAAC,iBAAiB,CAAC,CAAC;IACnD,MAAM,aAAa,GAAkB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAEvE,0DAA0D;IAC1D,MAAM,WAAW,GAAG,eAAe,CAAC,cAAc,CAAC,CAAC;IACpD,KAAK,MAAM,QAAQ,IAAI,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;QACpD,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC1B,mEAAmE;QACnE,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC5D,MAAM,UAAU,GAAe,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAClE,oDAAoD;QACpD,MAAM,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACtC,uDAAuD;QACvD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;QACtE,MAAM,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAED,+EAA+E;IAC/E,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,YAAY,GAAG,EAAE,CAAC;QAC3C,MAAM,UAAU,GAAG,eAAe,CAAC,cAAc,CAAC,CAAC;QACnD,KAAK,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACrD,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,GAAG,CAAC,KAAK,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAChE,MAAM,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAClC,CAAC;YACD,mEAAmE;YACnE,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;YAChC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,QAAQ,OAAO,MAAM,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;QACjG,CAAC;IACH,CAAC;IAED,wBAAwB;IACxB,MAAM,OAAO,GAAG,YAAY,IAAI,IAAI,OAAO,EAAE,CAAC;IAC9C,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;IAE5F,iCAAiC;IACjC,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC1C,MAAM,WAAW,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;QACnD,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACvC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACzC,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAChC,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACjC,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,8BAA8B;IAC9B,MAAM,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAEtC,OAAO;QACL,WAAW;QACX,WAAW,EAAE,YAAY,CAAC,IAAI;KAC/B,CAAC;AACJ,CAAC;AAWD;;GAEG;AACH,SAAS,OAAO,CAAC,OAAe;IAC9B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;YAC1D,IAAI,GAAG;gBAAE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;YAC5B,IAAI,CAAC,OAAO;gBAAE,OAAO,MAAM,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;YACrD,OAAO,CAAC,OAAO,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,KAAK,SAAS,CAAC,CAAC,iBAAiB,CAC/B,OAAsB;IAEtB,6BAA6B;IAC7B,MAAM,UAAU,GAA8B,EAAE,CAAC;IACjD,IAAI,WAAW,GAAwB,IAAI,CAAC;IAC5C,IAAI,UAAU,GAAkC,IAAI,CAAC;IAErD,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAkB,EAAE,EAAE;QACzC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,IAAI,WAAW,EAAE,CAAC;YAChB,WAAW,EAAE,CAAC;YACd,WAAW,GAAG,IAAI,CAAC;QACrB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;QACrB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa;QACpC,IAAI,WAAW,EAAE,CAAC;YAChB,WAAW,EAAE,CAAC;YACd,WAAW,GAAG,IAAI,CAAC;QACrB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE;QACjC,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,GAAG,CAAC,CAAC;YAChB,UAAU,GAAG,IAAI,CAAC;QACpB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,gBAAgB;IAChB,OAAO,CAAC,SAAS,EAAE,CAAC;IAEpB,OAAO,IAAI,EAAE,CAAC;QACZ,sCAAsC;QACtC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC1C,WAAW,GAAG,OAAO,CAAC;gBACtB,UAAU,GAAG,MAAM,CAAC;YACtB,CAAC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC;QACjC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YAC1C,OAAO,CAAC,iBAAiB;QAC3B,CAAC;QAED,yCAAyC;QACzC,MAAM,OAAO,GAAG,GAAoB,EAAE;YACpC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACrC,OAAO,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE;oBAChD,IAAI,GAAG;wBAAE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;oBAC5B,IAAI,CAAC,UAAU;wBAAE,OAAO,MAAM,CAAC,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;oBAE5D,MAAM,MAAM,GAAa,EAAE,CAAC;oBAC5B,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;oBAC7D,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oBAC3D,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBACjC,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;QAE5C,kBAAkB;QAClB,OAAO,CAAC,SAAS,EAAE,CAAC;IACtB,CAAC;AACH,CAAC"}
|
|
@@ -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"}
|