@elaraai/e3-core 0.0.2-beta.4 → 0.0.2-beta.40
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/workspaces.js
CHANGED
|
@@ -12,38 +12,34 @@
|
|
|
12
12
|
*
|
|
13
13
|
* State is stored in workspaces/<name>.beast2 as a single atomic file.
|
|
14
14
|
* No state file means the workspace does not exist.
|
|
15
|
+
*
|
|
16
|
+
* Per-dataset refs are stored in workspaces/<ws>/data/<path>.ref files.
|
|
15
17
|
*/
|
|
16
|
-
import * as fs from 'fs/promises';
|
|
17
18
|
import { createWriteStream } from 'fs';
|
|
18
|
-
import * as
|
|
19
|
+
import * as fs from 'fs/promises';
|
|
19
20
|
import yazl from 'yazl';
|
|
20
|
-
import { decodeBeast2For, encodeBeast2For } from '@elaraai/east';
|
|
21
|
-
import { PackageObjectType, WorkspaceStateType } from '@elaraai/e3-types';
|
|
22
|
-
import { objectRead, objectWrite } from './objects.js';
|
|
21
|
+
import { decodeBeast2For, encodeBeast2For, variant } from '@elaraai/east';
|
|
22
|
+
import { PackageObjectType, WorkspaceStateType, TaskObjectType, DataflowRunType, DatasetRefType } from '@elaraai/e3-types';
|
|
23
23
|
import { packageResolve, packageRead } from './packages.js';
|
|
24
|
-
import {
|
|
25
|
-
import {
|
|
24
|
+
import { writeRefsFromPackage } from './dataset-refs.js';
|
|
25
|
+
import { WorkspaceNotFoundError, WorkspaceNotDeployedError, WorkspaceExistsError, WorkspaceLockError, } from './errors.js';
|
|
26
26
|
/**
|
|
27
|
-
*
|
|
27
|
+
* List workspace names.
|
|
28
|
+
*
|
|
29
|
+
* @param storage - Storage backend
|
|
30
|
+
* @param repo - Repository identifier
|
|
31
|
+
* @returns Array of workspace names
|
|
28
32
|
*/
|
|
29
|
-
function
|
|
30
|
-
return
|
|
33
|
+
export async function workspaceList(storage, repo) {
|
|
34
|
+
return storage.refs.workspaceList(repo);
|
|
31
35
|
}
|
|
32
36
|
/**
|
|
33
|
-
*
|
|
37
|
+
* Write workspace state via storage backend.
|
|
34
38
|
*/
|
|
35
|
-
async function writeState(
|
|
36
|
-
const wsDir = path.join(repoPath, 'workspaces');
|
|
37
|
-
const stateFile = statePath(repoPath, name);
|
|
38
|
-
// Ensure workspaces directory exists
|
|
39
|
-
await fs.mkdir(wsDir, { recursive: true });
|
|
39
|
+
async function writeState(storage, repo, name, state) {
|
|
40
40
|
const encoder = encodeBeast2For(WorkspaceStateType);
|
|
41
41
|
const data = encoder(state);
|
|
42
|
-
|
|
43
|
-
const randomSuffix = Math.random().toString(36).slice(2, 10);
|
|
44
|
-
const tempPath = path.join(wsDir, `.${name}.${Date.now()}.${randomSuffix}.tmp`);
|
|
45
|
-
await fs.writeFile(tempPath, data);
|
|
46
|
-
await fs.rename(tempPath, stateFile);
|
|
42
|
+
await storage.refs.workspaceWrite(repo, name, data);
|
|
47
43
|
}
|
|
48
44
|
/**
|
|
49
45
|
* Read workspace state.
|
|
@@ -51,31 +47,25 @@ async function writeState(repoPath, name, state) {
|
|
|
51
47
|
* Returns { exists: true, deployed: false } if workspace exists but not deployed.
|
|
52
48
|
* Returns { exists: true, deployed: true, state } if workspace is deployed.
|
|
53
49
|
*/
|
|
54
|
-
async function readState(
|
|
55
|
-
const
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
// Empty file means workspace exists but is not deployed
|
|
59
|
-
if (data.length === 0) {
|
|
60
|
-
return { exists: true, deployed: false };
|
|
61
|
-
}
|
|
62
|
-
const decoder = decodeBeast2For(WorkspaceStateType);
|
|
63
|
-
return { exists: true, deployed: true, state: decoder(data) };
|
|
50
|
+
async function readState(storage, repo, name) {
|
|
51
|
+
const data = await storage.refs.workspaceRead(repo, name);
|
|
52
|
+
if (data === null) {
|
|
53
|
+
return { exists: false };
|
|
64
54
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
}
|
|
69
|
-
throw err;
|
|
55
|
+
// Empty file means workspace exists but is not deployed
|
|
56
|
+
if (data.length === 0) {
|
|
57
|
+
return { exists: true, deployed: false };
|
|
70
58
|
}
|
|
59
|
+
const decoder = decodeBeast2For(WorkspaceStateType);
|
|
60
|
+
return { exists: true, deployed: true, state: decoder(Buffer.from(data)) };
|
|
71
61
|
}
|
|
72
62
|
/**
|
|
73
63
|
* Read workspace state, throwing if workspace doesn't exist or is not deployed.
|
|
74
64
|
* @throws {WorkspaceNotFoundError} If workspace doesn't exist
|
|
75
65
|
* @throws {WorkspaceNotDeployedError} If workspace exists but has no package deployed
|
|
76
66
|
*/
|
|
77
|
-
async function readStateOrThrow(
|
|
78
|
-
const result = await readState(
|
|
67
|
+
async function readStateOrThrow(storage, repo, name) {
|
|
68
|
+
const result = await readState(storage, repo, name);
|
|
79
69
|
if (!result.exists) {
|
|
80
70
|
throw new WorkspaceNotFoundError(name);
|
|
81
71
|
}
|
|
@@ -90,30 +80,19 @@ async function readStateOrThrow(repoPath, name) {
|
|
|
90
80
|
* Creates an undeployed workspace (state file with null package info).
|
|
91
81
|
* Use workspaceDeploy to deploy a package.
|
|
92
82
|
*
|
|
93
|
-
* @param
|
|
83
|
+
* @param storage - Storage backend
|
|
84
|
+
* @param repo - Repository identifier
|
|
94
85
|
* @param name - Workspace name
|
|
95
86
|
* @throws {WorkspaceExistsError} If workspace already exists
|
|
96
87
|
*/
|
|
97
|
-
export async function workspaceCreate(
|
|
98
|
-
const stateFile = statePath(repoPath, name);
|
|
88
|
+
export async function workspaceCreate(storage, repo, name) {
|
|
99
89
|
// Check if workspace already exists
|
|
100
|
-
|
|
101
|
-
|
|
90
|
+
const existing = await storage.refs.workspaceRead(repo, name);
|
|
91
|
+
if (existing !== null) {
|
|
102
92
|
throw new WorkspaceExistsError(name);
|
|
103
93
|
}
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
throw err;
|
|
107
|
-
if (!isNotFoundError(err)) {
|
|
108
|
-
throw err;
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
// Create workspaces directory if needed
|
|
112
|
-
const wsDir = path.join(repoPath, 'workspaces');
|
|
113
|
-
await fs.mkdir(wsDir, { recursive: true });
|
|
114
|
-
// Create empty file to mark workspace as existing but not deployed
|
|
115
|
-
// We use an empty file rather than a state file since there's no valid state yet
|
|
116
|
-
await fs.writeFile(stateFile, '');
|
|
94
|
+
// Create empty state to mark workspace as existing but not deployed
|
|
95
|
+
await storage.refs.workspaceWrite(repo, name, new Uint8Array(0));
|
|
117
96
|
}
|
|
118
97
|
/**
|
|
119
98
|
* Remove a workspace.
|
|
@@ -123,27 +102,36 @@ export async function workspaceCreate(repoPath, name) {
|
|
|
123
102
|
* Acquires a workspace lock to prevent removing a workspace while a dataflow
|
|
124
103
|
* is running. Throws WorkspaceLockError if the workspace is currently locked.
|
|
125
104
|
*
|
|
126
|
-
* @param
|
|
105
|
+
* @param storage - Storage backend
|
|
106
|
+
* @param repo - Repository identifier
|
|
127
107
|
* @param name - Workspace name
|
|
128
108
|
* @param options - Optional settings including external lock
|
|
129
109
|
* @throws {WorkspaceNotFoundError} If workspace doesn't exist
|
|
130
110
|
* @throws {WorkspaceLockError} If workspace is locked by another process
|
|
131
111
|
*/
|
|
132
|
-
export async function workspaceRemove(
|
|
112
|
+
export async function workspaceRemove(storage, repo, name, options = {}) {
|
|
133
113
|
// Acquire lock if not provided externally
|
|
134
114
|
const externalLock = options.lock;
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
await
|
|
115
|
+
let lock = externalLock ?? null;
|
|
116
|
+
if (!lock) {
|
|
117
|
+
lock = await storage.locks.acquire(repo, name, variant('removal', null));
|
|
118
|
+
if (!lock) {
|
|
119
|
+
const state = await storage.locks.getState(repo, name);
|
|
120
|
+
throw new WorkspaceLockError(name, state ? {
|
|
121
|
+
acquiredAt: state.acquiredAt.toISOString(),
|
|
122
|
+
operation: state.operation.type,
|
|
123
|
+
} : undefined);
|
|
140
124
|
}
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
125
|
+
}
|
|
126
|
+
try {
|
|
127
|
+
// Check if workspace exists
|
|
128
|
+
const existing = await storage.refs.workspaceRead(repo, name);
|
|
129
|
+
if (existing === null) {
|
|
130
|
+
throw new WorkspaceNotFoundError(name);
|
|
146
131
|
}
|
|
132
|
+
// Remove all dataset refs for this workspace
|
|
133
|
+
await storage.datasets.removeAll(repo, name);
|
|
134
|
+
await storage.refs.workspaceRemove(repo, name);
|
|
147
135
|
}
|
|
148
136
|
finally {
|
|
149
137
|
// Only release the lock if we acquired it internally
|
|
@@ -152,37 +140,16 @@ export async function workspaceRemove(repoPath, name, options = {}) {
|
|
|
152
140
|
}
|
|
153
141
|
}
|
|
154
142
|
}
|
|
155
|
-
/**
|
|
156
|
-
* List workspace names.
|
|
157
|
-
*
|
|
158
|
-
* @param repoPath - Path to .e3 repository
|
|
159
|
-
* @returns Array of workspace names
|
|
160
|
-
*/
|
|
161
|
-
export async function workspaceList(repoPath) {
|
|
162
|
-
const workspacesDir = path.join(repoPath, 'workspaces');
|
|
163
|
-
const names = [];
|
|
164
|
-
try {
|
|
165
|
-
const entries = await fs.readdir(workspacesDir);
|
|
166
|
-
for (const entry of entries) {
|
|
167
|
-
if (entry.endsWith('.beast2')) {
|
|
168
|
-
names.push(entry.slice(0, -7)); // Remove .beast2 extension
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
catch {
|
|
173
|
-
// workspaces directory doesn't exist
|
|
174
|
-
}
|
|
175
|
-
return names;
|
|
176
|
-
}
|
|
177
143
|
/**
|
|
178
144
|
* Get the full state for a workspace.
|
|
179
145
|
*
|
|
180
|
-
* @param
|
|
146
|
+
* @param storage - Storage backend
|
|
147
|
+
* @param repo - Repository identifier
|
|
181
148
|
* @param name - Workspace name
|
|
182
149
|
* @returns Workspace state, or null if workspace doesn't exist or is not deployed
|
|
183
150
|
*/
|
|
184
|
-
export async function workspaceGetState(
|
|
185
|
-
const result = await readState(
|
|
151
|
+
export async function workspaceGetState(storage, repo, name) {
|
|
152
|
+
const result = await readState(storage, repo, name);
|
|
186
153
|
if (!result.exists || !result.deployed) {
|
|
187
154
|
return null;
|
|
188
155
|
}
|
|
@@ -191,86 +158,71 @@ export async function workspaceGetState(repoPath, name) {
|
|
|
191
158
|
/**
|
|
192
159
|
* Get the deployed package for a workspace.
|
|
193
160
|
*
|
|
194
|
-
* @param
|
|
161
|
+
* @param storage - Storage backend
|
|
162
|
+
* @param repo - Repository identifier
|
|
195
163
|
* @param name - Workspace name
|
|
196
164
|
* @returns Package name, version, and hash
|
|
197
165
|
* @throws {WorkspaceNotFoundError} If workspace doesn't exist
|
|
198
166
|
* @throws {WorkspaceNotDeployedError} If workspace exists but has no package deployed
|
|
199
167
|
*/
|
|
200
|
-
export async function workspaceGetPackage(
|
|
201
|
-
const state = await readStateOrThrow(
|
|
168
|
+
export async function workspaceGetPackage(storage, repo, name) {
|
|
169
|
+
const state = await readStateOrThrow(storage, repo, name);
|
|
202
170
|
return {
|
|
203
171
|
name: state.packageName,
|
|
204
172
|
version: state.packageVersion,
|
|
205
173
|
hash: state.packageHash,
|
|
206
174
|
};
|
|
207
175
|
}
|
|
208
|
-
/**
|
|
209
|
-
* Get the root tree hash for a workspace.
|
|
210
|
-
*
|
|
211
|
-
* @param repoPath - Path to .e3 repository
|
|
212
|
-
* @param name - Workspace name
|
|
213
|
-
* @returns Root tree object hash
|
|
214
|
-
* @throws {WorkspaceNotFoundError} If workspace doesn't exist
|
|
215
|
-
* @throws {WorkspaceNotDeployedError} If workspace exists but has no package deployed
|
|
216
|
-
*/
|
|
217
|
-
export async function workspaceGetRoot(repoPath, name) {
|
|
218
|
-
const state = await readStateOrThrow(repoPath, name);
|
|
219
|
-
return state.rootHash;
|
|
220
|
-
}
|
|
221
|
-
/**
|
|
222
|
-
* Atomically update the root tree hash for a workspace.
|
|
223
|
-
*
|
|
224
|
-
* @param repoPath - Path to .e3 repository
|
|
225
|
-
* @param name - Workspace name
|
|
226
|
-
* @param hash - New root tree object hash
|
|
227
|
-
* @throws {WorkspaceNotFoundError} If workspace doesn't exist
|
|
228
|
-
* @throws {WorkspaceNotDeployedError} If workspace exists but has no package deployed
|
|
229
|
-
*/
|
|
230
|
-
export async function workspaceSetRoot(repoPath, name, hash) {
|
|
231
|
-
const state = await readStateOrThrow(repoPath, name);
|
|
232
|
-
const newState = {
|
|
233
|
-
...state,
|
|
234
|
-
rootHash: hash,
|
|
235
|
-
rootUpdatedAt: new Date(),
|
|
236
|
-
};
|
|
237
|
-
await writeState(repoPath, name, newState);
|
|
238
|
-
}
|
|
239
176
|
/**
|
|
240
177
|
* Deploy a package to a workspace.
|
|
241
178
|
*
|
|
242
179
|
* Creates the workspace if it doesn't exist. Writes state file atomically
|
|
243
|
-
* containing deployment info
|
|
180
|
+
* containing deployment info. Initializes per-dataset ref files from the
|
|
181
|
+
* package's data/ directory.
|
|
244
182
|
*
|
|
245
183
|
* Acquires a workspace lock to prevent conflicts with running dataflows
|
|
246
184
|
* or concurrent deploys. Throws WorkspaceLockError if the workspace is
|
|
247
185
|
* currently locked by another process.
|
|
248
186
|
*
|
|
249
|
-
* @param
|
|
187
|
+
* @param storage - Storage backend
|
|
188
|
+
* @param repo - Repository identifier
|
|
250
189
|
* @param name - Workspace name
|
|
251
190
|
* @param pkgName - Package name
|
|
252
191
|
* @param pkgVersion - Package version
|
|
253
192
|
* @param options - Optional settings including external lock
|
|
254
193
|
* @throws {WorkspaceLockError} If workspace is locked by another process
|
|
255
194
|
*/
|
|
256
|
-
export async function workspaceDeploy(
|
|
195
|
+
export async function workspaceDeploy(storage, repo, name, pkgName, pkgVersion, options = {}) {
|
|
257
196
|
// Acquire lock if not provided externally
|
|
258
197
|
const externalLock = options.lock;
|
|
259
|
-
|
|
198
|
+
let lock = externalLock ?? null;
|
|
199
|
+
if (!lock) {
|
|
200
|
+
lock = await storage.locks.acquire(repo, name, variant('deployment', null));
|
|
201
|
+
if (!lock) {
|
|
202
|
+
const state = await storage.locks.getState(repo, name);
|
|
203
|
+
throw new WorkspaceLockError(name, state ? {
|
|
204
|
+
acquiredAt: state.acquiredAt.toISOString(),
|
|
205
|
+
operation: state.operation.type,
|
|
206
|
+
} : undefined);
|
|
207
|
+
}
|
|
208
|
+
}
|
|
260
209
|
try {
|
|
261
210
|
// Resolve package hash and read package object
|
|
262
|
-
const packageHash = await packageResolve(
|
|
263
|
-
const pkg = await packageRead(
|
|
211
|
+
const packageHash = await packageResolve(storage, repo, pkgName, pkgVersion);
|
|
212
|
+
const pkg = await packageRead(storage, repo, pkgName, pkgVersion);
|
|
213
|
+
// Remove any existing dataset refs
|
|
214
|
+
await storage.datasets.removeAll(repo, name);
|
|
215
|
+
// Initialize per-dataset ref files from the package
|
|
216
|
+
await writeRefsFromPackage(storage, repo, name, pkg.data.structure, pkg.data.refs);
|
|
264
217
|
const now = new Date();
|
|
265
218
|
const state = {
|
|
266
219
|
packageName: pkgName,
|
|
267
220
|
packageVersion: pkgVersion,
|
|
268
221
|
packageHash,
|
|
269
222
|
deployedAt: now,
|
|
270
|
-
|
|
271
|
-
rootUpdatedAt: now,
|
|
223
|
+
currentRunId: variant('none', null),
|
|
272
224
|
};
|
|
273
|
-
await writeState(
|
|
225
|
+
await writeState(storage, repo, name, state);
|
|
274
226
|
}
|
|
275
227
|
finally {
|
|
276
228
|
// Only release the lock if we acquired it internally
|
|
@@ -288,42 +240,53 @@ const DETERMINISTIC_MTIME = new Date(0);
|
|
|
288
240
|
*
|
|
289
241
|
* 1. Read workspace state
|
|
290
242
|
* 2. Read deployed package structure using stored packageHash
|
|
291
|
-
* 3. Create new PackageObject with
|
|
292
|
-
* 4. Collect all referenced objects
|
|
293
|
-
* 5. Write to .zip
|
|
243
|
+
* 3. Create new PackageObject with current structure
|
|
244
|
+
* 4. Collect all referenced objects from dataset refs
|
|
245
|
+
* 5. Write per-dataset refs and objects to .zip
|
|
294
246
|
*
|
|
295
|
-
* @param
|
|
247
|
+
* @param storage - Storage backend
|
|
248
|
+
* @param repo - Repository identifier
|
|
296
249
|
* @param name - Workspace name
|
|
297
250
|
* @param zipPath - Path to write the .zip file
|
|
298
251
|
* @param outputName - Package name (default: deployed package name)
|
|
299
|
-
* @param version - Package version (default: <pkgVersion>-<
|
|
252
|
+
* @param version - Package version (default: <pkgVersion>-<short hash>)
|
|
300
253
|
* @returns Export result with package info
|
|
301
254
|
* @throws {WorkspaceNotFoundError} If workspace doesn't exist
|
|
302
255
|
* @throws {WorkspaceNotDeployedError} If workspace exists but has no package deployed
|
|
303
256
|
*/
|
|
304
|
-
export async function workspaceExport(
|
|
257
|
+
export async function workspaceExport(storage, repo, name, zipPath, outputName, version) {
|
|
305
258
|
const partialPath = `${zipPath}.partial`;
|
|
306
259
|
// Get workspace state
|
|
307
|
-
const state = await readStateOrThrow(
|
|
260
|
+
const state = await readStateOrThrow(storage, repo, name);
|
|
308
261
|
// Read the deployed package object using the stored hash
|
|
309
|
-
const deployedPkgData = await
|
|
262
|
+
const deployedPkgData = await storage.objects.read(repo, state.packageHash);
|
|
310
263
|
const decoder = decodeBeast2For(PackageObjectType);
|
|
311
264
|
const deployedPkgObject = decoder(Buffer.from(deployedPkgData));
|
|
312
265
|
// Determine output name and version
|
|
313
266
|
const finalName = outputName ?? state.packageName;
|
|
314
|
-
|
|
315
|
-
|
|
267
|
+
// For version, use a short identifier from the workspace name + timestamp
|
|
268
|
+
const finalVersion = version ?? `${state.packageVersion}-${Date.now().toString(36)}`;
|
|
269
|
+
// Read all workspace refs for the package
|
|
270
|
+
const refList = await storage.datasets.list(repo, name);
|
|
271
|
+
const workspaceRefs = new Map();
|
|
272
|
+
for (const refPath of refList) {
|
|
273
|
+
const ref = await storage.datasets.read(repo, name, refPath);
|
|
274
|
+
if (ref) {
|
|
275
|
+
workspaceRefs.set(refPath, ref);
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
// Create new PackageObject with inline refs
|
|
316
279
|
const newPkgObject = {
|
|
317
280
|
tasks: deployedPkgObject.tasks,
|
|
318
281
|
data: {
|
|
319
282
|
structure: deployedPkgObject.data.structure,
|
|
320
|
-
|
|
283
|
+
refs: workspaceRefs,
|
|
321
284
|
},
|
|
322
285
|
};
|
|
323
286
|
// Encode and store the new package object
|
|
324
287
|
const encoder = encodeBeast2For(PackageObjectType);
|
|
325
288
|
const pkgData = encoder(newPkgObject);
|
|
326
|
-
const packageHash = await
|
|
289
|
+
const packageHash = await storage.objects.write(repo, pkgData);
|
|
327
290
|
// Create zip file
|
|
328
291
|
const zipfile = new yazl.ZipFile();
|
|
329
292
|
// Track which objects we've added to avoid duplicates
|
|
@@ -333,11 +296,11 @@ export async function workspaceExport(repoPath, name, zipPath, outputName, versi
|
|
|
333
296
|
if (addedObjects.has(hash))
|
|
334
297
|
return;
|
|
335
298
|
addedObjects.add(hash);
|
|
336
|
-
const data = await
|
|
299
|
+
const data = await storage.objects.read(repo, hash);
|
|
337
300
|
const objPath = `objects/${hash.slice(0, 2)}/${hash.slice(2)}.beast2`;
|
|
338
301
|
zipfile.addBuffer(Buffer.from(data), objPath, { mtime: DETERMINISTIC_MTIME });
|
|
339
302
|
};
|
|
340
|
-
// Helper to collect children from a
|
|
303
|
+
// Helper to collect children from a beast2 object via hash scanning
|
|
341
304
|
const collectTreeChildren = async (treeData) => {
|
|
342
305
|
const dataStr = Buffer.from(treeData).toString('latin1');
|
|
343
306
|
const hashPattern = /[a-f0-9]{64}/g;
|
|
@@ -348,7 +311,7 @@ export async function workspaceExport(repoPath, name, zipPath, outputName, versi
|
|
|
348
311
|
continue;
|
|
349
312
|
try {
|
|
350
313
|
await addObject(potentialHash);
|
|
351
|
-
const childData = await
|
|
314
|
+
const childData = await storage.objects.read(repo, potentialHash);
|
|
352
315
|
await collectTreeChildren(childData);
|
|
353
316
|
}
|
|
354
317
|
catch {
|
|
@@ -358,17 +321,92 @@ export async function workspaceExport(repoPath, name, zipPath, outputName, versi
|
|
|
358
321
|
};
|
|
359
322
|
// Add the package object
|
|
360
323
|
await addObject(packageHash);
|
|
361
|
-
// Collect all task objects
|
|
324
|
+
// Collect all task objects and their commandIr references
|
|
325
|
+
const taskDecoder = decodeBeast2For(TaskObjectType);
|
|
362
326
|
for (const taskHash of newPkgObject.tasks.values()) {
|
|
363
327
|
await addObject(taskHash);
|
|
328
|
+
const taskData = await storage.objects.read(repo, taskHash);
|
|
329
|
+
const taskObject = taskDecoder(Buffer.from(taskData));
|
|
330
|
+
await addObject(taskObject.commandIr);
|
|
331
|
+
const irData = await storage.objects.read(repo, taskObject.commandIr);
|
|
332
|
+
await collectTreeChildren(irData);
|
|
333
|
+
}
|
|
334
|
+
// Write ref files to zip and collect value objects
|
|
335
|
+
const refEncoder = encodeBeast2For(DatasetRefType);
|
|
336
|
+
for (const [refPath, ref] of workspaceRefs) {
|
|
337
|
+
// Write the DatasetRef to data/ dir in zip
|
|
338
|
+
const refData = refEncoder(ref);
|
|
339
|
+
zipfile.addBuffer(Buffer.from(refData), `data/${refPath}.ref`, { mtime: DETERMINISTIC_MTIME });
|
|
340
|
+
// Add the value object if present
|
|
341
|
+
if (ref.type === 'value') {
|
|
342
|
+
await addObject(ref.value.hash);
|
|
343
|
+
}
|
|
364
344
|
}
|
|
365
|
-
// Collect the root tree and all its children
|
|
366
|
-
await addObject(state.rootHash);
|
|
367
|
-
const rootTreeData = await objectRead(repoPath, state.rootHash);
|
|
368
|
-
await collectTreeChildren(rootTreeData);
|
|
369
345
|
// Write the package ref
|
|
370
346
|
const refPath = `packages/${finalName}/${finalVersion}`;
|
|
371
347
|
zipfile.addBuffer(Buffer.from(packageHash + '\n'), refPath, { mtime: DETERMINISTIC_MTIME });
|
|
348
|
+
// Include executions and logs if currentRunId exists
|
|
349
|
+
if (state.currentRunId.type === 'some') {
|
|
350
|
+
const currentRunId = state.currentRunId.value;
|
|
351
|
+
const dataflowRun = await storage.refs.dataflowRunGet(repo, name, currentRunId);
|
|
352
|
+
if (dataflowRun) {
|
|
353
|
+
// Write the dataflow run record
|
|
354
|
+
const runEncoder = encodeBeast2For(DataflowRunType);
|
|
355
|
+
const dataflowPath = `dataflows/${name}/${currentRunId}.beast2`;
|
|
356
|
+
zipfile.addBuffer(Buffer.from(runEncoder(dataflowRun)), dataflowPath, { mtime: DETERMINISTIC_MTIME });
|
|
357
|
+
// Include execution files for each task
|
|
358
|
+
for (const [taskName, execRecord] of dataflowRun.taskExecutions) {
|
|
359
|
+
const taskHash = newPkgObject.tasks.get(taskName);
|
|
360
|
+
if (!taskHash)
|
|
361
|
+
continue;
|
|
362
|
+
// Get the task to find its inputs
|
|
363
|
+
const taskData = await storage.objects.read(repo, taskHash);
|
|
364
|
+
const task = taskDecoder(Buffer.from(taskData));
|
|
365
|
+
// Compute inputsHash from workspace refs
|
|
366
|
+
const inputHashes = [];
|
|
367
|
+
for (const inputPath of task.inputs) {
|
|
368
|
+
try {
|
|
369
|
+
const { workspaceGetDatasetHash } = await import('./trees.js');
|
|
370
|
+
const { hash } = await workspaceGetDatasetHash(storage, repo, name, inputPath);
|
|
371
|
+
if (hash)
|
|
372
|
+
inputHashes.push(hash);
|
|
373
|
+
}
|
|
374
|
+
catch {
|
|
375
|
+
// Skip if input not available
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
if (inputHashes.length !== task.inputs.length)
|
|
379
|
+
continue;
|
|
380
|
+
const { inputsHash } = await import('./executions.js');
|
|
381
|
+
const inHash = inputsHash(inputHashes);
|
|
382
|
+
// Read and add execution status
|
|
383
|
+
const execStatus = await storage.refs.executionGet(repo, taskHash, inHash, execRecord.executionId);
|
|
384
|
+
if (execStatus) {
|
|
385
|
+
const statusEncoder = await import('@elaraai/e3-types').then(m => encodeBeast2For(m.ExecutionStatusType));
|
|
386
|
+
const statusPath = `executions/${taskHash}/${inHash}/${execRecord.executionId}/status.beast2`;
|
|
387
|
+
zipfile.addBuffer(Buffer.from(statusEncoder(execStatus)), statusPath, { mtime: DETERMINISTIC_MTIME });
|
|
388
|
+
// Add output file if success
|
|
389
|
+
if (execStatus.type === 'success') {
|
|
390
|
+
const outputPath = `executions/${taskHash}/${inHash}/${execRecord.executionId}/output`;
|
|
391
|
+
zipfile.addBuffer(Buffer.from(execStatus.value.outputHash + '\n'), outputPath, { mtime: DETERMINISTIC_MTIME });
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
// Read and add logs (stdout/stderr)
|
|
395
|
+
for (const stream of ['stdout', 'stderr']) {
|
|
396
|
+
try {
|
|
397
|
+
const logChunk = await storage.logs.read(repo, taskHash, inHash, execRecord.executionId, stream, { limit: 100 * 1024 * 1024 });
|
|
398
|
+
if (logChunk.data && logChunk.data.length > 0) {
|
|
399
|
+
const logPath = `executions/${taskHash}/${inHash}/${execRecord.executionId}/${stream}.txt`;
|
|
400
|
+
zipfile.addBuffer(Buffer.from(logChunk.data), logPath, { mtime: DETERMINISTIC_MTIME });
|
|
401
|
+
}
|
|
402
|
+
}
|
|
403
|
+
catch {
|
|
404
|
+
// Skip if log not available
|
|
405
|
+
}
|
|
406
|
+
}
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
}
|
|
372
410
|
// Finalize and write zip to disk
|
|
373
411
|
await new Promise((resolve, reject) => {
|
|
374
412
|
const writeStream = createWriteStream(partialPath);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspaces.js","sourceRoot":"","sources":["../../src/workspaces.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"workspaces.js","sourceRoot":"","sources":["../../src/workspaces.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elaraai/e3-core",
|
|
3
|
-
"version": "0.0.2-beta.
|
|
3
|
+
"version": "0.0.2-beta.40",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "East Execution Engine Core - Programmatic API for e3 repository operations",
|
|
6
6
|
"main": "dist/src/index.js",
|
|
@@ -40,13 +40,13 @@
|
|
|
40
40
|
"directory": "packages/e3-core"
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"@elaraai/e3": "
|
|
44
|
-
"@elaraai/e3-types": "
|
|
43
|
+
"@elaraai/e3": "beta",
|
|
44
|
+
"@elaraai/e3-types": "beta",
|
|
45
45
|
"yauzl": "^3.2.0",
|
|
46
46
|
"yazl": "^2.5.1"
|
|
47
47
|
},
|
|
48
48
|
"peerDependencies": {
|
|
49
|
-
"@elaraai/east": "
|
|
49
|
+
"@elaraai/east": "beta"
|
|
50
50
|
},
|
|
51
51
|
"devDependencies": {
|
|
52
52
|
"@types/node": "^22.0.0",
|
package/dist/src/gc.d.ts
DELETED
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
3
|
-
* Licensed under BSL 1.1. See LICENSE for details.
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* Options for garbage collection
|
|
7
|
-
*/
|
|
8
|
-
export interface GcOptions {
|
|
9
|
-
/**
|
|
10
|
-
* Minimum age in milliseconds for files to be considered for deletion.
|
|
11
|
-
* Files younger than this are skipped to avoid race conditions with concurrent writes.
|
|
12
|
-
* Default: 60000 (1 minute)
|
|
13
|
-
*/
|
|
14
|
-
minAge?: number;
|
|
15
|
-
/**
|
|
16
|
-
* If true, only report what would be deleted without actually deleting.
|
|
17
|
-
* Default: false
|
|
18
|
-
*/
|
|
19
|
-
dryRun?: boolean;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Result of garbage collection
|
|
23
|
-
*/
|
|
24
|
-
export interface GcResult {
|
|
25
|
-
/**
|
|
26
|
-
* Number of objects deleted
|
|
27
|
-
*/
|
|
28
|
-
deletedObjects: number;
|
|
29
|
-
/**
|
|
30
|
-
* Number of orphaned staging files deleted
|
|
31
|
-
*/
|
|
32
|
-
deletedPartials: number;
|
|
33
|
-
/**
|
|
34
|
-
* Number of objects retained
|
|
35
|
-
*/
|
|
36
|
-
retainedObjects: number;
|
|
37
|
-
/**
|
|
38
|
-
* Number of files skipped due to being too young
|
|
39
|
-
*/
|
|
40
|
-
skippedYoung: number;
|
|
41
|
-
/**
|
|
42
|
-
* Total bytes freed
|
|
43
|
-
*/
|
|
44
|
-
bytesFreed: number;
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Run garbage collection on an e3 repository.
|
|
48
|
-
*
|
|
49
|
-
* @param repoPath - Path to .e3 repository
|
|
50
|
-
* @param options - GC options
|
|
51
|
-
* @returns GC result with statistics
|
|
52
|
-
*/
|
|
53
|
-
export declare function repoGc(repoPath: string, options?: GcOptions): Promise<GcResult>;
|
|
54
|
-
//# sourceMappingURL=gc.d.ts.map
|
package/dist/src/gc.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"gc.d.ts","sourceRoot":"","sources":["../../src/gc.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAgBH;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;GAMG;AACH,wBAAsB,MAAM,CAC1B,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,SAAc,GACtB,OAAO,CAAC,QAAQ,CAAC,CAkBnB"}
|