@elaraai/e3-core 0.0.2-beta.11 → 0.0.2-beta.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/dataflow.d.ts +118 -9
- package/dist/src/dataflow.d.ts.map +1 -1
- package/dist/src/dataflow.js +283 -54
- package/dist/src/dataflow.js.map +1 -1
- package/dist/src/errors.d.ts +11 -6
- package/dist/src/errors.d.ts.map +1 -1
- package/dist/src/errors.js +10 -3
- package/dist/src/errors.js.map +1 -1
- package/dist/src/execution/index.d.ts +14 -0
- package/dist/src/execution/index.d.ts.map +1 -0
- package/dist/src/execution/index.js +6 -0
- package/dist/src/execution/index.js.map +1 -0
- package/dist/src/execution/interfaces.d.ts +244 -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/executions.d.ts +48 -38
- package/dist/src/executions.d.ts.map +1 -1
- package/dist/src/executions.js +117 -162
- package/dist/src/executions.js.map +1 -1
- package/dist/src/gc.d.ts +9 -2
- package/dist/src/gc.d.ts.map +1 -1
- package/dist/src/gc.js +19 -9
- package/dist/src/gc.js.map +1 -1
- package/dist/src/index.d.ts +8 -6
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +22 -5
- package/dist/src/index.js.map +1 -1
- package/dist/src/objects.d.ts +6 -6
- package/dist/src/objects.js +6 -6
- package/dist/src/packages.d.ts +22 -14
- package/dist/src/packages.d.ts.map +1 -1
- package/dist/src/packages.js +45 -79
- package/dist/src/packages.js.map +1 -1
- package/dist/src/repository.d.ts +8 -4
- package/dist/src/repository.d.ts.map +1 -1
- package/dist/src/repository.js +25 -29
- package/dist/src/repository.js.map +1 -1
- package/dist/src/storage/index.d.ts +17 -0
- package/dist/src/storage/index.d.ts.map +1 -0
- package/dist/src/storage/index.js +8 -0
- package/dist/src/storage/index.js.map +1 -0
- package/dist/src/storage/interfaces.d.ts +299 -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 +51 -0
- package/dist/src/storage/local/LocalBackend.d.ts.map +1 -0
- package/dist/src/storage/local/LocalBackend.js +73 -0
- package/dist/src/storage/local/LocalBackend.js.map +1 -0
- package/dist/src/storage/local/LocalLockService.d.ts +22 -0
- package/dist/src/storage/local/LocalLockService.d.ts.map +1 -0
- package/dist/src/storage/local/LocalLockService.js +38 -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 +19 -0
- package/dist/src/storage/local/LocalObjectStore.d.ts.map +1 -0
- package/dist/src/storage/local/LocalObjectStore.js +68 -0
- package/dist/src/storage/local/LocalObjectStore.js.map +1 -0
- package/dist/src/storage/local/LocalRefStore.d.ts +35 -0
- package/dist/src/storage/local/LocalRefStore.d.ts.map +1 -0
- package/dist/src/storage/local/LocalRefStore.js +233 -0
- package/dist/src/storage/local/LocalRefStore.js.map +1 -0
- package/dist/src/storage/local/index.d.ts +16 -0
- package/dist/src/storage/local/index.d.ts.map +1 -0
- package/dist/src/storage/local/index.js +16 -0
- package/dist/src/storage/local/index.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 +4 -4
- package/dist/src/test-helpers.d.ts.map +1 -1
- package/dist/src/test-helpers.js +6 -20
- package/dist/src/test-helpers.js.map +1 -1
- package/dist/src/trees.d.ts +41 -29
- package/dist/src/trees.d.ts.map +1 -1
- package/dist/src/trees.js +112 -109
- package/dist/src/trees.js.map +1 -1
- package/dist/src/workspaceLock.d.ts +29 -7
- package/dist/src/workspaceLock.d.ts.map +1 -1
- package/dist/src/workspaceLock.js +130 -40
- package/dist/src/workspaceLock.js.map +1 -1
- package/dist/src/workspaceStatus.d.ts +6 -4
- package/dist/src/workspaceStatus.d.ts.map +1 -1
- package/dist/src/workspaceStatus.js +42 -58
- package/dist/src/workspaceStatus.js.map +1 -1
- package/dist/src/workspaces.d.ts +35 -26
- package/dist/src/workspaces.d.ts.map +1 -1
- package/dist/src/workspaces.js +93 -116
- package/dist/src/workspaces.js.map +1 -1
- package/package.json +4 -4
package/dist/src/workspaces.js
CHANGED
|
@@ -13,37 +13,30 @@
|
|
|
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
15
|
*/
|
|
16
|
-
import * as fs from 'fs/promises';
|
|
17
16
|
import { createWriteStream } from 'fs';
|
|
18
|
-
import * as
|
|
17
|
+
import * as fs from 'fs/promises';
|
|
19
18
|
import yazl from 'yazl';
|
|
20
|
-
import { decodeBeast2For, encodeBeast2For } from '@elaraai/east';
|
|
19
|
+
import { decodeBeast2For, encodeBeast2For, variant } from '@elaraai/east';
|
|
21
20
|
import { PackageObjectType, WorkspaceStateType } from '@elaraai/e3-types';
|
|
22
|
-
import { objectRead, objectWrite } from './objects.js';
|
|
23
21
|
import { packageResolve, packageRead } from './packages.js';
|
|
24
|
-
import { WorkspaceNotFoundError, WorkspaceNotDeployedError, WorkspaceExistsError,
|
|
25
|
-
import { acquireWorkspaceLock } from './workspaceLock.js';
|
|
22
|
+
import { WorkspaceNotFoundError, WorkspaceNotDeployedError, WorkspaceExistsError, WorkspaceLockError, } from './errors.js';
|
|
26
23
|
/**
|
|
27
|
-
*
|
|
24
|
+
* List workspace names.
|
|
25
|
+
*
|
|
26
|
+
* @param storage - Storage backend
|
|
27
|
+
* @param repo - Repository identifier
|
|
28
|
+
* @returns Array of workspace names
|
|
28
29
|
*/
|
|
29
|
-
function
|
|
30
|
-
return
|
|
30
|
+
export async function workspaceList(storage, repo) {
|
|
31
|
+
return storage.refs.workspaceList(repo);
|
|
31
32
|
}
|
|
32
33
|
/**
|
|
33
|
-
*
|
|
34
|
+
* Write workspace state via storage backend.
|
|
34
35
|
*/
|
|
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 });
|
|
36
|
+
async function writeState(storage, repo, name, state) {
|
|
40
37
|
const encoder = encodeBeast2For(WorkspaceStateType);
|
|
41
38
|
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);
|
|
39
|
+
await storage.refs.workspaceWrite(repo, name, data);
|
|
47
40
|
}
|
|
48
41
|
/**
|
|
49
42
|
* Read workspace state.
|
|
@@ -51,31 +44,25 @@ async function writeState(repoPath, name, state) {
|
|
|
51
44
|
* Returns { exists: true, deployed: false } if workspace exists but not deployed.
|
|
52
45
|
* Returns { exists: true, deployed: true, state } if workspace is deployed.
|
|
53
46
|
*/
|
|
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) };
|
|
47
|
+
async function readState(storage, repo, name) {
|
|
48
|
+
const data = await storage.refs.workspaceRead(repo, name);
|
|
49
|
+
if (data === null) {
|
|
50
|
+
return { exists: false };
|
|
64
51
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
}
|
|
69
|
-
throw err;
|
|
52
|
+
// Empty file means workspace exists but is not deployed
|
|
53
|
+
if (data.length === 0) {
|
|
54
|
+
return { exists: true, deployed: false };
|
|
70
55
|
}
|
|
56
|
+
const decoder = decodeBeast2For(WorkspaceStateType);
|
|
57
|
+
return { exists: true, deployed: true, state: decoder(Buffer.from(data)) };
|
|
71
58
|
}
|
|
72
59
|
/**
|
|
73
60
|
* Read workspace state, throwing if workspace doesn't exist or is not deployed.
|
|
74
61
|
* @throws {WorkspaceNotFoundError} If workspace doesn't exist
|
|
75
62
|
* @throws {WorkspaceNotDeployedError} If workspace exists but has no package deployed
|
|
76
63
|
*/
|
|
77
|
-
async function readStateOrThrow(
|
|
78
|
-
const result = await readState(
|
|
64
|
+
async function readStateOrThrow(storage, repo, name) {
|
|
65
|
+
const result = await readState(storage, repo, name);
|
|
79
66
|
if (!result.exists) {
|
|
80
67
|
throw new WorkspaceNotFoundError(name);
|
|
81
68
|
}
|
|
@@ -90,30 +77,19 @@ async function readStateOrThrow(repoPath, name) {
|
|
|
90
77
|
* Creates an undeployed workspace (state file with null package info).
|
|
91
78
|
* Use workspaceDeploy to deploy a package.
|
|
92
79
|
*
|
|
93
|
-
* @param
|
|
80
|
+
* @param storage - Storage backend
|
|
81
|
+
* @param repo - Repository identifier
|
|
94
82
|
* @param name - Workspace name
|
|
95
83
|
* @throws {WorkspaceExistsError} If workspace already exists
|
|
96
84
|
*/
|
|
97
|
-
export async function workspaceCreate(
|
|
98
|
-
const stateFile = statePath(repoPath, name);
|
|
85
|
+
export async function workspaceCreate(storage, repo, name) {
|
|
99
86
|
// Check if workspace already exists
|
|
100
|
-
|
|
101
|
-
|
|
87
|
+
const existing = await storage.refs.workspaceRead(repo, name);
|
|
88
|
+
if (existing !== null) {
|
|
102
89
|
throw new WorkspaceExistsError(name);
|
|
103
90
|
}
|
|
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, '');
|
|
91
|
+
// Create empty state to mark workspace as existing but not deployed
|
|
92
|
+
await storage.refs.workspaceWrite(repo, name, new Uint8Array(0));
|
|
117
93
|
}
|
|
118
94
|
/**
|
|
119
95
|
* Remove a workspace.
|
|
@@ -123,27 +99,34 @@ export async function workspaceCreate(repoPath, name) {
|
|
|
123
99
|
* Acquires a workspace lock to prevent removing a workspace while a dataflow
|
|
124
100
|
* is running. Throws WorkspaceLockError if the workspace is currently locked.
|
|
125
101
|
*
|
|
126
|
-
* @param
|
|
102
|
+
* @param storage - Storage backend
|
|
103
|
+
* @param repo - Repository identifier
|
|
127
104
|
* @param name - Workspace name
|
|
128
105
|
* @param options - Optional settings including external lock
|
|
129
106
|
* @throws {WorkspaceNotFoundError} If workspace doesn't exist
|
|
130
107
|
* @throws {WorkspaceLockError} If workspace is locked by another process
|
|
131
108
|
*/
|
|
132
|
-
export async function workspaceRemove(
|
|
109
|
+
export async function workspaceRemove(storage, repo, name, options = {}) {
|
|
133
110
|
// Acquire lock if not provided externally
|
|
134
111
|
const externalLock = options.lock;
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
await
|
|
112
|
+
let lock = externalLock ?? null;
|
|
113
|
+
if (!lock) {
|
|
114
|
+
lock = await storage.locks.acquire(repo, name, variant('removal', null));
|
|
115
|
+
if (!lock) {
|
|
116
|
+
const state = await storage.locks.getState(repo, name);
|
|
117
|
+
throw new WorkspaceLockError(name, state ? {
|
|
118
|
+
acquiredAt: state.acquiredAt.toISOString(),
|
|
119
|
+
operation: state.operation.type,
|
|
120
|
+
} : undefined);
|
|
140
121
|
}
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
122
|
+
}
|
|
123
|
+
try {
|
|
124
|
+
// Check if workspace exists
|
|
125
|
+
const existing = await storage.refs.workspaceRead(repo, name);
|
|
126
|
+
if (existing === null) {
|
|
127
|
+
throw new WorkspaceNotFoundError(name);
|
|
146
128
|
}
|
|
129
|
+
await storage.refs.workspaceRemove(repo, name);
|
|
147
130
|
}
|
|
148
131
|
finally {
|
|
149
132
|
// Only release the lock if we acquired it internally
|
|
@@ -152,37 +135,16 @@ export async function workspaceRemove(repoPath, name, options = {}) {
|
|
|
152
135
|
}
|
|
153
136
|
}
|
|
154
137
|
}
|
|
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
138
|
/**
|
|
178
139
|
* Get the full state for a workspace.
|
|
179
140
|
*
|
|
180
|
-
* @param
|
|
141
|
+
* @param storage - Storage backend
|
|
142
|
+
* @param repo - Repository identifier
|
|
181
143
|
* @param name - Workspace name
|
|
182
144
|
* @returns Workspace state, or null if workspace doesn't exist or is not deployed
|
|
183
145
|
*/
|
|
184
|
-
export async function workspaceGetState(
|
|
185
|
-
const result = await readState(
|
|
146
|
+
export async function workspaceGetState(storage, repo, name) {
|
|
147
|
+
const result = await readState(storage, repo, name);
|
|
186
148
|
if (!result.exists || !result.deployed) {
|
|
187
149
|
return null;
|
|
188
150
|
}
|
|
@@ -191,14 +153,15 @@ export async function workspaceGetState(repoPath, name) {
|
|
|
191
153
|
/**
|
|
192
154
|
* Get the deployed package for a workspace.
|
|
193
155
|
*
|
|
194
|
-
* @param
|
|
156
|
+
* @param storage - Storage backend
|
|
157
|
+
* @param repo - Repository identifier
|
|
195
158
|
* @param name - Workspace name
|
|
196
159
|
* @returns Package name, version, and hash
|
|
197
160
|
* @throws {WorkspaceNotFoundError} If workspace doesn't exist
|
|
198
161
|
* @throws {WorkspaceNotDeployedError} If workspace exists but has no package deployed
|
|
199
162
|
*/
|
|
200
|
-
export async function workspaceGetPackage(
|
|
201
|
-
const state = await readStateOrThrow(
|
|
163
|
+
export async function workspaceGetPackage(storage, repo, name) {
|
|
164
|
+
const state = await readStateOrThrow(storage, repo, name);
|
|
202
165
|
return {
|
|
203
166
|
name: state.packageName,
|
|
204
167
|
version: state.packageVersion,
|
|
@@ -208,33 +171,35 @@ export async function workspaceGetPackage(repoPath, name) {
|
|
|
208
171
|
/**
|
|
209
172
|
* Get the root tree hash for a workspace.
|
|
210
173
|
*
|
|
211
|
-
* @param
|
|
174
|
+
* @param storage - Storage backend
|
|
175
|
+
* @param repo - Repository identifier
|
|
212
176
|
* @param name - Workspace name
|
|
213
177
|
* @returns Root tree object hash
|
|
214
178
|
* @throws {WorkspaceNotFoundError} If workspace doesn't exist
|
|
215
179
|
* @throws {WorkspaceNotDeployedError} If workspace exists but has no package deployed
|
|
216
180
|
*/
|
|
217
|
-
export async function workspaceGetRoot(
|
|
218
|
-
const state = await readStateOrThrow(
|
|
181
|
+
export async function workspaceGetRoot(storage, repo, name) {
|
|
182
|
+
const state = await readStateOrThrow(storage, repo, name);
|
|
219
183
|
return state.rootHash;
|
|
220
184
|
}
|
|
221
185
|
/**
|
|
222
186
|
* Atomically update the root tree hash for a workspace.
|
|
223
187
|
*
|
|
224
|
-
* @param
|
|
188
|
+
* @param storage - Storage backend
|
|
189
|
+
* @param repo - Repository identifier
|
|
225
190
|
* @param name - Workspace name
|
|
226
191
|
* @param hash - New root tree object hash
|
|
227
192
|
* @throws {WorkspaceNotFoundError} If workspace doesn't exist
|
|
228
193
|
* @throws {WorkspaceNotDeployedError} If workspace exists but has no package deployed
|
|
229
194
|
*/
|
|
230
|
-
export async function workspaceSetRoot(
|
|
231
|
-
const state = await readStateOrThrow(
|
|
195
|
+
export async function workspaceSetRoot(storage, repo, name, hash) {
|
|
196
|
+
const state = await readStateOrThrow(storage, repo, name);
|
|
232
197
|
const newState = {
|
|
233
198
|
...state,
|
|
234
199
|
rootHash: hash,
|
|
235
200
|
rootUpdatedAt: new Date(),
|
|
236
201
|
};
|
|
237
|
-
await writeState(
|
|
202
|
+
await writeState(storage, repo, name, newState);
|
|
238
203
|
}
|
|
239
204
|
/**
|
|
240
205
|
* Deploy a package to a workspace.
|
|
@@ -246,21 +211,32 @@ export async function workspaceSetRoot(repoPath, name, hash) {
|
|
|
246
211
|
* or concurrent deploys. Throws WorkspaceLockError if the workspace is
|
|
247
212
|
* currently locked by another process.
|
|
248
213
|
*
|
|
249
|
-
* @param
|
|
214
|
+
* @param storage - Storage backend
|
|
215
|
+
* @param repo - Repository identifier
|
|
250
216
|
* @param name - Workspace name
|
|
251
217
|
* @param pkgName - Package name
|
|
252
218
|
* @param pkgVersion - Package version
|
|
253
219
|
* @param options - Optional settings including external lock
|
|
254
220
|
* @throws {WorkspaceLockError} If workspace is locked by another process
|
|
255
221
|
*/
|
|
256
|
-
export async function workspaceDeploy(
|
|
222
|
+
export async function workspaceDeploy(storage, repo, name, pkgName, pkgVersion, options = {}) {
|
|
257
223
|
// Acquire lock if not provided externally
|
|
258
224
|
const externalLock = options.lock;
|
|
259
|
-
|
|
225
|
+
let lock = externalLock ?? null;
|
|
226
|
+
if (!lock) {
|
|
227
|
+
lock = await storage.locks.acquire(repo, name, variant('deployment', null));
|
|
228
|
+
if (!lock) {
|
|
229
|
+
const state = await storage.locks.getState(repo, name);
|
|
230
|
+
throw new WorkspaceLockError(name, state ? {
|
|
231
|
+
acquiredAt: state.acquiredAt.toISOString(),
|
|
232
|
+
operation: state.operation.type,
|
|
233
|
+
} : undefined);
|
|
234
|
+
}
|
|
235
|
+
}
|
|
260
236
|
try {
|
|
261
237
|
// Resolve package hash and read package object
|
|
262
|
-
const packageHash = await packageResolve(
|
|
263
|
-
const pkg = await packageRead(
|
|
238
|
+
const packageHash = await packageResolve(storage, repo, pkgName, pkgVersion);
|
|
239
|
+
const pkg = await packageRead(storage, repo, pkgName, pkgVersion);
|
|
264
240
|
const now = new Date();
|
|
265
241
|
const state = {
|
|
266
242
|
packageName: pkgName,
|
|
@@ -270,7 +246,7 @@ export async function workspaceDeploy(repoPath, name, pkgName, pkgVersion, optio
|
|
|
270
246
|
rootHash: pkg.data.value,
|
|
271
247
|
rootUpdatedAt: now,
|
|
272
248
|
};
|
|
273
|
-
await writeState(
|
|
249
|
+
await writeState(storage, repo, name, state);
|
|
274
250
|
}
|
|
275
251
|
finally {
|
|
276
252
|
// Only release the lock if we acquired it internally
|
|
@@ -292,7 +268,8 @@ const DETERMINISTIC_MTIME = new Date(0);
|
|
|
292
268
|
* 4. Collect all referenced objects
|
|
293
269
|
* 5. Write to .zip
|
|
294
270
|
*
|
|
295
|
-
* @param
|
|
271
|
+
* @param storage - Storage backend
|
|
272
|
+
* @param repo - Repository identifier
|
|
296
273
|
* @param name - Workspace name
|
|
297
274
|
* @param zipPath - Path to write the .zip file
|
|
298
275
|
* @param outputName - Package name (default: deployed package name)
|
|
@@ -301,12 +278,12 @@ const DETERMINISTIC_MTIME = new Date(0);
|
|
|
301
278
|
* @throws {WorkspaceNotFoundError} If workspace doesn't exist
|
|
302
279
|
* @throws {WorkspaceNotDeployedError} If workspace exists but has no package deployed
|
|
303
280
|
*/
|
|
304
|
-
export async function workspaceExport(
|
|
281
|
+
export async function workspaceExport(storage, repo, name, zipPath, outputName, version) {
|
|
305
282
|
const partialPath = `${zipPath}.partial`;
|
|
306
283
|
// Get workspace state
|
|
307
|
-
const state = await readStateOrThrow(
|
|
284
|
+
const state = await readStateOrThrow(storage, repo, name);
|
|
308
285
|
// Read the deployed package object using the stored hash
|
|
309
|
-
const deployedPkgData = await
|
|
286
|
+
const deployedPkgData = await storage.objects.read(repo, state.packageHash);
|
|
310
287
|
const decoder = decodeBeast2For(PackageObjectType);
|
|
311
288
|
const deployedPkgObject = decoder(Buffer.from(deployedPkgData));
|
|
312
289
|
// Determine output name and version
|
|
@@ -323,7 +300,7 @@ export async function workspaceExport(repoPath, name, zipPath, outputName, versi
|
|
|
323
300
|
// Encode and store the new package object
|
|
324
301
|
const encoder = encodeBeast2For(PackageObjectType);
|
|
325
302
|
const pkgData = encoder(newPkgObject);
|
|
326
|
-
const packageHash = await
|
|
303
|
+
const packageHash = await storage.objects.write(repo, pkgData);
|
|
327
304
|
// Create zip file
|
|
328
305
|
const zipfile = new yazl.ZipFile();
|
|
329
306
|
// Track which objects we've added to avoid duplicates
|
|
@@ -333,7 +310,7 @@ export async function workspaceExport(repoPath, name, zipPath, outputName, versi
|
|
|
333
310
|
if (addedObjects.has(hash))
|
|
334
311
|
return;
|
|
335
312
|
addedObjects.add(hash);
|
|
336
|
-
const data = await
|
|
313
|
+
const data = await storage.objects.read(repo, hash);
|
|
337
314
|
const objPath = `objects/${hash.slice(0, 2)}/${hash.slice(2)}.beast2`;
|
|
338
315
|
zipfile.addBuffer(Buffer.from(data), objPath, { mtime: DETERMINISTIC_MTIME });
|
|
339
316
|
};
|
|
@@ -348,7 +325,7 @@ export async function workspaceExport(repoPath, name, zipPath, outputName, versi
|
|
|
348
325
|
continue;
|
|
349
326
|
try {
|
|
350
327
|
await addObject(potentialHash);
|
|
351
|
-
const childData = await
|
|
328
|
+
const childData = await storage.objects.read(repo, potentialHash);
|
|
352
329
|
await collectTreeChildren(childData);
|
|
353
330
|
}
|
|
354
331
|
catch {
|
|
@@ -364,7 +341,7 @@ export async function workspaceExport(repoPath, name, zipPath, outputName, versi
|
|
|
364
341
|
}
|
|
365
342
|
// Collect the root tree and all its children
|
|
366
343
|
await addObject(state.rootHash);
|
|
367
|
-
const rootTreeData = await
|
|
344
|
+
const rootTreeData = await storage.objects.read(repo, state.rootHash);
|
|
368
345
|
await collectTreeChildren(rootTreeData);
|
|
369
346
|
// Write the package ref
|
|
370
347
|
const refPath = `packages/${finalName}/${finalVersion}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspaces.js","sourceRoot":"","sources":["../../src/workspaces.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;GAUG;AAEH,OAAO,
|
|
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.13",
|
|
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": "^0.0.2-beta.
|
|
44
|
-
"@elaraai/e3-types": "^0.0.2-beta.
|
|
43
|
+
"@elaraai/e3": "^0.0.2-beta.13",
|
|
44
|
+
"@elaraai/e3-types": "^0.0.2-beta.13",
|
|
45
45
|
"yauzl": "^3.2.0",
|
|
46
46
|
"yazl": "^2.5.1"
|
|
47
47
|
},
|
|
48
48
|
"peerDependencies": {
|
|
49
|
-
"@elaraai/east": "^0.0.1-beta.
|
|
49
|
+
"@elaraai/east": "^0.0.1-beta.29"
|
|
50
50
|
},
|
|
51
51
|
"devDependencies": {
|
|
52
52
|
"@types/node": "^22.0.0",
|