@elaraai/e3-core 0.0.2-beta.46 → 0.0.2-beta.47
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/orchestrator/LocalOrchestrator.d.ts.map +1 -1
- package/dist/src/dataflow/orchestrator/LocalOrchestrator.js +57 -23
- package/dist/src/dataflow/orchestrator/LocalOrchestrator.js.map +1 -1
- package/dist/src/packages.d.ts +10 -1
- package/dist/src/packages.d.ts.map +1 -1
- package/dist/src/packages.js +3 -1
- package/dist/src/packages.js.map +1 -1
- package/dist/src/storage/local/LocalLockService.d.ts.map +1 -1
- package/dist/src/storage/local/LocalLockService.js +19 -10
- package/dist/src/storage/local/LocalLockService.js.map +1 -1
- package/dist/src/transfer/InMemoryTransferBackend.d.ts +13 -4
- package/dist/src/transfer/InMemoryTransferBackend.d.ts.map +1 -1
- package/dist/src/transfer/InMemoryTransferBackend.js +61 -16
- package/dist/src/transfer/InMemoryTransferBackend.js.map +1 -1
- package/dist/src/transfer/index.d.ts +2 -1
- package/dist/src/transfer/index.d.ts.map +1 -1
- package/dist/src/transfer/index.js +3 -1
- package/dist/src/transfer/index.js.map +1 -1
- 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 +18 -5
- package/dist/src/transfer/types.d.ts.map +1 -1
- package/dist/src/transfer/types.js +5 -4
- package/dist/src/transfer/types.js.map +1 -1
- package/dist/src/workspaces.d.ts +12 -1
- package/dist/src/workspaces.d.ts.map +1 -1
- package/dist/src/workspaces.js +177 -155
- package/dist/src/workspaces.js.map +1 -1
- package/package.json +1 -1
|
@@ -5,13 +5,18 @@
|
|
|
5
5
|
/**
|
|
6
6
|
* In-memory TransferBackend implementation.
|
|
7
7
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
8
|
+
* Stores transfer records in memory Maps. When `storage` and `getRepoPath`
|
|
9
|
+
* are provided, `execute()` performs real background processing via the
|
|
10
|
+
* shared handlers. Without them, falls back to mock behavior for tests.
|
|
11
11
|
*/
|
|
12
12
|
/* eslint-disable @typescript-eslint/require-await */
|
|
13
13
|
import { randomUUID } from 'node:crypto';
|
|
14
|
+
import { mkdir } from 'node:fs/promises';
|
|
15
|
+
import { join } from 'node:path';
|
|
16
|
+
import { tmpdir } from 'node:os';
|
|
14
17
|
import { variant } from '@elaraai/east';
|
|
18
|
+
import { handleProcessExport, handleProcessImport } from './process.js';
|
|
19
|
+
const STAGING_DIR = join(tmpdir(), 'e3-transfers');
|
|
15
20
|
// =============================================================================
|
|
16
21
|
// Dataset Upload
|
|
17
22
|
// =============================================================================
|
|
@@ -70,9 +75,14 @@ class InMemoryDatasetDownloadStore {
|
|
|
70
75
|
// =============================================================================
|
|
71
76
|
class InMemoryPackageImportStore {
|
|
72
77
|
baseUrl;
|
|
78
|
+
storage;
|
|
79
|
+
getRepoPath;
|
|
73
80
|
records = new Map();
|
|
74
|
-
|
|
81
|
+
executing = new Set();
|
|
82
|
+
constructor(baseUrl, storage, getRepoPath) {
|
|
75
83
|
this.baseUrl = baseUrl;
|
|
84
|
+
this.storage = storage;
|
|
85
|
+
this.getRepoPath = getRepoPath;
|
|
76
86
|
}
|
|
77
87
|
async create(id, record) {
|
|
78
88
|
this.records.set(id, record);
|
|
@@ -92,16 +102,31 @@ class InMemoryPackageImportStore {
|
|
|
92
102
|
async getUploadUrl(id, _repo) {
|
|
93
103
|
return `${this.baseUrl}/api/uploads/${id}`;
|
|
94
104
|
}
|
|
95
|
-
async execute(id,
|
|
105
|
+
async execute(id, repo) {
|
|
96
106
|
const record = this.records.get(id);
|
|
97
107
|
if (!record)
|
|
98
108
|
throw new Error(`Package import ${id} not found`);
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
109
|
+
if (this.executing.has(id))
|
|
110
|
+
return;
|
|
111
|
+
this.executing.add(id);
|
|
112
|
+
if (!this.storage || !this.getRepoPath) {
|
|
113
|
+
// Mock fallback for tests that don't provide storage
|
|
114
|
+
await this.updateStatus(id, variant('completed', {
|
|
115
|
+
name: 'mock',
|
|
116
|
+
version: '0.0.0',
|
|
117
|
+
packageHash: 'mock',
|
|
118
|
+
objectCount: 0n,
|
|
119
|
+
}));
|
|
120
|
+
this.executing.delete(id);
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
const zipPath = join(STAGING_DIR, `${id}.zip.partial`);
|
|
124
|
+
await mkdir(STAGING_DIR, { recursive: true });
|
|
125
|
+
void handleProcessImport({ storage: this.storage, importStore: this }, { id, repo: this.getRepoPath(repo), zipPath }).catch(() => {
|
|
126
|
+
// Error already recorded in job status by handleProcessImport
|
|
127
|
+
}).finally(() => {
|
|
128
|
+
this.executing.delete(id);
|
|
129
|
+
});
|
|
105
130
|
}
|
|
106
131
|
clear() {
|
|
107
132
|
this.records.clear();
|
|
@@ -112,9 +137,14 @@ class InMemoryPackageImportStore {
|
|
|
112
137
|
// =============================================================================
|
|
113
138
|
class InMemoryPackageExportStore {
|
|
114
139
|
baseUrl;
|
|
140
|
+
storage;
|
|
141
|
+
getRepoPath;
|
|
115
142
|
records = new Map();
|
|
116
|
-
|
|
143
|
+
executing = new Set();
|
|
144
|
+
constructor(baseUrl, storage, getRepoPath) {
|
|
117
145
|
this.baseUrl = baseUrl;
|
|
146
|
+
this.storage = storage;
|
|
147
|
+
this.getRepoPath = getRepoPath;
|
|
118
148
|
}
|
|
119
149
|
async create(id, record) {
|
|
120
150
|
this.records.set(id, record);
|
|
@@ -134,11 +164,26 @@ class InMemoryPackageExportStore {
|
|
|
134
164
|
async getDownloadUrl(id, _repo) {
|
|
135
165
|
return `${this.baseUrl}/api/downloads/${id}`;
|
|
136
166
|
}
|
|
137
|
-
async execute(id,
|
|
167
|
+
async execute(id, repo) {
|
|
138
168
|
const record = this.records.get(id);
|
|
139
169
|
if (!record)
|
|
140
170
|
throw new Error(`Package export ${id} not found`);
|
|
141
|
-
|
|
171
|
+
if (this.executing.has(id))
|
|
172
|
+
return;
|
|
173
|
+
this.executing.add(id);
|
|
174
|
+
if (!this.storage || !this.getRepoPath) {
|
|
175
|
+
// Mock fallback for tests that don't provide storage
|
|
176
|
+
await this.updateStatus(id, variant('completed', { size: 0n }));
|
|
177
|
+
this.executing.delete(id);
|
|
178
|
+
return;
|
|
179
|
+
}
|
|
180
|
+
const zipPath = join(STAGING_DIR, `${id}.zip`);
|
|
181
|
+
await mkdir(STAGING_DIR, { recursive: true });
|
|
182
|
+
void handleProcessExport({ storage: this.storage, exportStore: this }, { id, repo: this.getRepoPath(repo), zipPath }).catch(() => {
|
|
183
|
+
// Error already recorded in job status by handleProcessExport
|
|
184
|
+
}).finally(() => {
|
|
185
|
+
this.executing.delete(id);
|
|
186
|
+
});
|
|
142
187
|
}
|
|
143
188
|
clear() {
|
|
144
189
|
this.records.clear();
|
|
@@ -153,8 +198,8 @@ export class InMemoryTransferBackend {
|
|
|
153
198
|
const baseUrl = options.baseUrl ?? '';
|
|
154
199
|
this.datasetUpload = new InMemoryDatasetUploadStore(baseUrl);
|
|
155
200
|
this.datasetDownload = new InMemoryDatasetDownloadStore(baseUrl);
|
|
156
|
-
this.packageImport = new InMemoryPackageImportStore(baseUrl);
|
|
157
|
-
this.packageExport = new InMemoryPackageExportStore(baseUrl);
|
|
201
|
+
this.packageImport = new InMemoryPackageImportStore(baseUrl, options.storage, options.getRepoPath);
|
|
202
|
+
this.packageExport = new InMemoryPackageExportStore(baseUrl, options.storage, options.getRepoPath);
|
|
158
203
|
}
|
|
159
204
|
clear() {
|
|
160
205
|
this.datasetUpload.clear();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InMemoryTransferBackend.js","sourceRoot":"","sources":["../../../src/transfer/InMemoryTransferBackend.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;GAMG;AAEH,qDAAqD;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAWxC,gFAAgF;AAChF,iBAAiB;AACjB,gFAAgF;AAEhF,MAAM,0BAA0B;IAGD;IAFZ,OAAO,GAAG,IAAI,GAAG,EAAyB,CAAC;IAE5D,YAA6B,OAAe;QAAf,YAAO,GAAP,OAAO,CAAQ;IAAG,CAAC;IAEhD,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,MAAqB;QAC5C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,EAAU;QAClB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,EAAU,EAAE,KAAa,EAAE,KAAa;QACzD,OAAO,GAAG,IAAI,CAAC,OAAO,gBAAgB,EAAE,EAAE,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAa,EAAE,KAAa,EAAE,QAAgB;QAC/D,iFAAiF;QACjF,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;CACF;AAED,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF,MAAM,4BAA4B;IAGH;IAFZ,OAAO,GAAG,IAAI,GAAG,EAA0C,CAAC;IAE7E,YAA6B,OAAe;QAAf,YAAO,GAAP,OAAO,CAAQ;IAAG,CAAC;IAEhD,KAAK,CAAC,cAAc,CAAC,IAAY,EAAE,IAAY;QAC7C,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACrC,OAAO,GAAG,IAAI,CAAC,OAAO,kBAAkB,EAAE,EAAE,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,EAAU;QAClB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC1B,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;CACF;AAED,gFAAgF;AAChF,iBAAiB;AACjB,gFAAgF;AAEhF,MAAM,0BAA0B;
|
|
1
|
+
{"version":3,"file":"InMemoryTransferBackend.js","sourceRoot":"","sources":["../../../src/transfer/InMemoryTransferBackend.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
3
3
|
* Licensed under BSL 1.1. See LICENSE for details.
|
|
4
4
|
*/
|
|
5
|
-
export { DatasetUploadType, type DatasetUpload, PackageImportType, PackageImportProgressType, PackageImportStatusType, type PackageImport, PackageExportType, PackageExportStatusType, type PackageExport, } from './types.js';
|
|
5
|
+
export { DatasetUploadType, type DatasetUpload, PackageImportType, PackageImportProgressType, PackageImportStatusType, type PackageImport, PackageExportType, PackageExportProgressType, PackageExportStatusType, type PackageExport, } from './types.js';
|
|
6
6
|
export { type DatasetUploadStore, type DatasetDownloadStore, type PackageImportStore, type PackageExportStore, type TransferBackend, } from './interfaces.js';
|
|
7
7
|
export { InMemoryTransferBackend, type InMemoryTransferBackendOptions, } from './InMemoryTransferBackend.js';
|
|
8
|
+
export { handleProcessExport, handleProcessImport, type ProcessExportDeps, type ProcessExportInput, type ProcessImportDeps, type ProcessImportInput, } from './process.js';
|
|
8
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/transfer/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,iBAAiB,EACjB,KAAK,aAAa,EAClB,iBAAiB,EACjB,yBAAyB,EACzB,uBAAuB,EACvB,KAAK,aAAa,EAClB,iBAAiB,EACjB,uBAAuB,EACvB,KAAK,aAAa,GACnB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,eAAe,GACrB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,uBAAuB,EACvB,KAAK,8BAA8B,GACpC,MAAM,8BAA8B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/transfer/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,iBAAiB,EACjB,KAAK,aAAa,EAClB,iBAAiB,EACjB,yBAAyB,EACzB,uBAAuB,EACvB,KAAK,aAAa,EAClB,iBAAiB,EACjB,yBAAyB,EACzB,uBAAuB,EACvB,KAAK,aAAa,GACnB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,eAAe,GACrB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,uBAAuB,EACvB,KAAK,8BAA8B,GACpC,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,GACxB,MAAM,cAAc,CAAC"}
|
|
@@ -3,7 +3,9 @@
|
|
|
3
3
|
* Licensed under BSL 1.1. See LICENSE for details.
|
|
4
4
|
*/
|
|
5
5
|
// Types
|
|
6
|
-
export { DatasetUploadType, PackageImportType, PackageImportProgressType, PackageImportStatusType, PackageExportType, PackageExportStatusType, } from './types.js';
|
|
6
|
+
export { DatasetUploadType, PackageImportType, PackageImportProgressType, PackageImportStatusType, PackageExportType, PackageExportProgressType, PackageExportStatusType, } from './types.js';
|
|
7
7
|
// InMemory implementation
|
|
8
8
|
export { InMemoryTransferBackend, } from './InMemoryTransferBackend.js';
|
|
9
|
+
// Shared processing handlers
|
|
10
|
+
export { handleProcessExport, handleProcessImport, } from './process.js';
|
|
9
11
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/transfer/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,QAAQ;AACR,OAAO,EACL,iBAAiB,EAEjB,iBAAiB,EACjB,yBAAyB,EACzB,uBAAuB,EAEvB,iBAAiB,EACjB,uBAAuB,GAExB,MAAM,YAAY,CAAC;AAWpB,0BAA0B;AAC1B,OAAO,EACL,uBAAuB,GAExB,MAAM,8BAA8B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/transfer/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,QAAQ;AACR,OAAO,EACL,iBAAiB,EAEjB,iBAAiB,EACjB,yBAAyB,EACzB,uBAAuB,EAEvB,iBAAiB,EACjB,yBAAyB,EACzB,uBAAuB,GAExB,MAAM,YAAY,CAAC;AAWpB,0BAA0B;AAC1B,OAAO,EACL,uBAAuB,GAExB,MAAM,8BAA8B,CAAC;AAEtC,6BAA6B;AAC7B,OAAO,EACL,mBAAmB,EACnB,mBAAmB,GAKpB,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
3
|
+
* Licensed under BSL 1.1. See LICENSE for details.
|
|
4
|
+
*/
|
|
5
|
+
import type { StorageBackend } from '../storage/index.js';
|
|
6
|
+
import type { PackageExportStore, PackageImportStore } from './interfaces.js';
|
|
7
|
+
/** Dependencies for handleProcessExport. */
|
|
8
|
+
export interface ProcessExportDeps {
|
|
9
|
+
storage: StorageBackend;
|
|
10
|
+
exportStore: PackageExportStore;
|
|
11
|
+
}
|
|
12
|
+
/** Input for handleProcessExport. */
|
|
13
|
+
export interface ProcessExportInput {
|
|
14
|
+
id: string;
|
|
15
|
+
repo: string;
|
|
16
|
+
zipPath: string;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Processes a package or workspace export job.
|
|
20
|
+
*
|
|
21
|
+
* Gets the export record, determines whether this is a package or workspace
|
|
22
|
+
* export (based on the `workspace` field), runs the appropriate export
|
|
23
|
+
* function, and updates the status to completed or failed.
|
|
24
|
+
*
|
|
25
|
+
* @param deps - Storage backend and export store
|
|
26
|
+
* @param input - Job ID, repository path, and output zip path
|
|
27
|
+
*
|
|
28
|
+
* @throws Re-throws errors after updating status to failed and cleaning up
|
|
29
|
+
*/
|
|
30
|
+
export declare function handleProcessExport(deps: ProcessExportDeps, input: ProcessExportInput): Promise<void>;
|
|
31
|
+
/** Dependencies for handleProcessImport. */
|
|
32
|
+
export interface ProcessImportDeps {
|
|
33
|
+
storage: StorageBackend;
|
|
34
|
+
importStore: PackageImportStore;
|
|
35
|
+
}
|
|
36
|
+
/** Input for handleProcessImport. */
|
|
37
|
+
export interface ProcessImportInput {
|
|
38
|
+
id: string;
|
|
39
|
+
repo: string;
|
|
40
|
+
zipPath: string;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Processes a package import job.
|
|
44
|
+
*
|
|
45
|
+
* Gets the import record, verifies the file size matches, runs packageImport,
|
|
46
|
+
* and updates the status to completed or failed. Cleans up the staging zip
|
|
47
|
+
* file in all cases.
|
|
48
|
+
*
|
|
49
|
+
* @param deps - Storage backend and import store
|
|
50
|
+
* @param input - Job ID, repository path, and staging zip path
|
|
51
|
+
*
|
|
52
|
+
* @throws Re-throws errors after updating status to failed
|
|
53
|
+
*/
|
|
54
|
+
export declare function handleProcessImport(deps: ProcessImportDeps, input: ProcessImportInput): Promise<void>;
|
|
55
|
+
//# sourceMappingURL=process.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../../src/transfer/process.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAgBH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AA6C9E,4CAA4C;AAC5C,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,cAAc,CAAC;IACxB,WAAW,EAAE,kBAAkB,CAAC;CACjC;AAED,qCAAqC;AACrC,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,iBAAiB,EACvB,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,IAAI,CAAC,CAiCf;AAMD,4CAA4C;AAC5C,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,cAAc,CAAC;IACxB,WAAW,EAAE,kBAAkB,CAAC;CACjC;AAED,qCAAqC;AACrC,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,iBAAiB,EACvB,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,IAAI,CAAC,CAwCf"}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
3
|
+
* Licensed under BSL 1.1. See LICENSE for details.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Shared processing handlers for package import/export.
|
|
7
|
+
*
|
|
8
|
+
* These are cloud-agnostic handlers that perform the actual import/export work.
|
|
9
|
+
* Used by both the local InMemoryTransferBackend and cloud backends
|
|
10
|
+
* (e.g. AWS Lambda/Step Functions).
|
|
11
|
+
*/
|
|
12
|
+
import { stat, unlink } from 'node:fs/promises';
|
|
13
|
+
import { variant } from '@elaraai/east';
|
|
14
|
+
import { packageExport } from '../packages.js';
|
|
15
|
+
import { workspaceExport } from '../workspaces.js';
|
|
16
|
+
import { packageImport } from '../packages.js';
|
|
17
|
+
// =============================================================================
|
|
18
|
+
// Throttled progress callback
|
|
19
|
+
// =============================================================================
|
|
20
|
+
/**
|
|
21
|
+
* Creates a progress callback that throttles updates to at most once per interval.
|
|
22
|
+
*
|
|
23
|
+
* @param fn - The function to call with throttled updates
|
|
24
|
+
* @param intervalMs - Minimum interval between calls in milliseconds
|
|
25
|
+
* @returns A throttled version of the progress callback
|
|
26
|
+
*/
|
|
27
|
+
function throttledProgress(fn, intervalMs = 1000) {
|
|
28
|
+
let lastCall = 0;
|
|
29
|
+
let pending = null;
|
|
30
|
+
const throttled = async (progress) => {
|
|
31
|
+
const now = Date.now();
|
|
32
|
+
if (now - lastCall >= intervalMs) {
|
|
33
|
+
lastCall = now;
|
|
34
|
+
pending = null;
|
|
35
|
+
await fn(progress);
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
pending = progress;
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
throttled.flush = async () => {
|
|
42
|
+
if (pending) {
|
|
43
|
+
await fn(pending);
|
|
44
|
+
pending = null;
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
return throttled;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Processes a package or workspace export job.
|
|
51
|
+
*
|
|
52
|
+
* Gets the export record, determines whether this is a package or workspace
|
|
53
|
+
* export (based on the `workspace` field), runs the appropriate export
|
|
54
|
+
* function, and updates the status to completed or failed.
|
|
55
|
+
*
|
|
56
|
+
* @param deps - Storage backend and export store
|
|
57
|
+
* @param input - Job ID, repository path, and output zip path
|
|
58
|
+
*
|
|
59
|
+
* @throws Re-throws errors after updating status to failed and cleaning up
|
|
60
|
+
*/
|
|
61
|
+
export async function handleProcessExport(deps, input) {
|
|
62
|
+
const { storage, exportStore } = deps;
|
|
63
|
+
const { id, repo, zipPath } = input;
|
|
64
|
+
const record = await exportStore.get(id);
|
|
65
|
+
if (!record)
|
|
66
|
+
throw new Error(`Export record ${id} not found`);
|
|
67
|
+
const onProgress = throttledProgress(async ({ objectsProcessed }) => {
|
|
68
|
+
await exportStore.updateStatus(id, variant('processing', variant('exporting', { objectsProcessed: BigInt(objectsProcessed) })));
|
|
69
|
+
});
|
|
70
|
+
try {
|
|
71
|
+
if (record.workspace.type === 'some') {
|
|
72
|
+
await workspaceExport(storage, repo, record.workspace.value, zipPath, record.name, record.version, {
|
|
73
|
+
onProgress,
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
await packageExport(storage, repo, record.name, record.version, zipPath, {
|
|
78
|
+
onProgress,
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
await onProgress.flush();
|
|
82
|
+
const fileStat = await stat(zipPath);
|
|
83
|
+
await exportStore.updateStatus(id, variant('completed', {
|
|
84
|
+
size: BigInt(fileStat.size),
|
|
85
|
+
}));
|
|
86
|
+
}
|
|
87
|
+
catch (err) {
|
|
88
|
+
await unlink(zipPath).catch(() => { });
|
|
89
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
90
|
+
await exportStore.updateStatus(id, variant('failed', { message }));
|
|
91
|
+
throw err;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Processes a package import job.
|
|
96
|
+
*
|
|
97
|
+
* Gets the import record, verifies the file size matches, runs packageImport,
|
|
98
|
+
* and updates the status to completed or failed. Cleans up the staging zip
|
|
99
|
+
* file in all cases.
|
|
100
|
+
*
|
|
101
|
+
* @param deps - Storage backend and import store
|
|
102
|
+
* @param input - Job ID, repository path, and staging zip path
|
|
103
|
+
*
|
|
104
|
+
* @throws Re-throws errors after updating status to failed
|
|
105
|
+
*/
|
|
106
|
+
export async function handleProcessImport(deps, input) {
|
|
107
|
+
const { storage, importStore } = deps;
|
|
108
|
+
const { id, repo, zipPath } = input;
|
|
109
|
+
const record = await importStore.get(id);
|
|
110
|
+
if (!record)
|
|
111
|
+
throw new Error(`Import record ${id} not found`);
|
|
112
|
+
// Verify file size matches
|
|
113
|
+
const fileStat = await stat(zipPath);
|
|
114
|
+
if (BigInt(fileStat.size) !== record.size) {
|
|
115
|
+
const message = `size mismatch: expected ${record.size}, got ${fileStat.size}`;
|
|
116
|
+
await importStore.updateStatus(id, variant('failed', { message }));
|
|
117
|
+
await unlink(zipPath).catch(() => { });
|
|
118
|
+
throw new Error(message);
|
|
119
|
+
}
|
|
120
|
+
try {
|
|
121
|
+
const onProgress = throttledProgress(async ({ objectsProcessed }) => {
|
|
122
|
+
await importStore.updateStatus(id, variant('processing', variant('importing', { objectsProcessed: BigInt(objectsProcessed) })));
|
|
123
|
+
});
|
|
124
|
+
const result = await packageImport(storage, repo, zipPath, {
|
|
125
|
+
onProgress,
|
|
126
|
+
});
|
|
127
|
+
await onProgress.flush();
|
|
128
|
+
await importStore.updateStatus(id, variant('completed', {
|
|
129
|
+
name: result.name,
|
|
130
|
+
version: result.version,
|
|
131
|
+
packageHash: result.packageHash,
|
|
132
|
+
objectCount: BigInt(result.objectCount),
|
|
133
|
+
}));
|
|
134
|
+
}
|
|
135
|
+
catch (err) {
|
|
136
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
137
|
+
await importStore.updateStatus(id, variant('failed', { message }));
|
|
138
|
+
throw err;
|
|
139
|
+
}
|
|
140
|
+
finally {
|
|
141
|
+
await unlink(zipPath).catch(() => { });
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
//# sourceMappingURL=process.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process.js","sourceRoot":"","sources":["../../../src/transfer/process.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,9 +8,9 @@
|
|
|
8
8
|
* These define the shape of records persisted by TransferBackend implementations
|
|
9
9
|
* (in-memory Maps for local, DynamoDB for cloud).
|
|
10
10
|
*/
|
|
11
|
-
import { StructType, StringType, IntegerType, VariantType, NullType, DateTimeType, type ValueTypeOf } from '@elaraai/east';
|
|
12
|
-
import { PackageImportProgressType } from '@elaraai/e3-types';
|
|
13
|
-
export { PackageImportProgressType };
|
|
11
|
+
import { StructType, StringType, IntegerType, VariantType, NullType, OptionType, DateTimeType, type ValueTypeOf } from '@elaraai/east';
|
|
12
|
+
import { PackageImportProgressType, PackageExportProgressType } from '@elaraai/e3-types';
|
|
13
|
+
export { PackageImportProgressType, PackageExportProgressType };
|
|
14
14
|
export declare const DatasetUploadType: StructType<{
|
|
15
15
|
readonly repo: StringType;
|
|
16
16
|
readonly workspace: StringType;
|
|
@@ -66,7 +66,13 @@ export declare const PackageImportType: StructType<{
|
|
|
66
66
|
}>;
|
|
67
67
|
export type PackageImport = ValueTypeOf<typeof PackageImportType>;
|
|
68
68
|
export declare const PackageExportStatusType: VariantType<{
|
|
69
|
-
readonly processing:
|
|
69
|
+
readonly processing: VariantType<{
|
|
70
|
+
readonly pending: NullType;
|
|
71
|
+
readonly exporting: StructType<{
|
|
72
|
+
readonly objectsProcessed: IntegerType;
|
|
73
|
+
}>;
|
|
74
|
+
readonly uploading: NullType;
|
|
75
|
+
}>;
|
|
70
76
|
readonly completed: StructType<{
|
|
71
77
|
readonly size: IntegerType;
|
|
72
78
|
}>;
|
|
@@ -78,8 +84,15 @@ export declare const PackageExportType: StructType<{
|
|
|
78
84
|
readonly repo: StringType;
|
|
79
85
|
readonly name: StringType;
|
|
80
86
|
readonly version: StringType;
|
|
87
|
+
readonly workspace: OptionType<StringType>;
|
|
81
88
|
readonly status: VariantType<{
|
|
82
|
-
readonly processing:
|
|
89
|
+
readonly processing: VariantType<{
|
|
90
|
+
readonly pending: NullType;
|
|
91
|
+
readonly exporting: StructType<{
|
|
92
|
+
readonly objectsProcessed: IntegerType;
|
|
93
|
+
}>;
|
|
94
|
+
readonly uploading: NullType;
|
|
95
|
+
}>;
|
|
83
96
|
readonly completed: StructType<{
|
|
84
97
|
readonly size: IntegerType;
|
|
85
98
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/transfer/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;GAKG;AAEH,OAAO,EACL,UAAU,EACV,UAAU,EACV,WAAW,EACX,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,KAAK,WAAW,EACjB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/transfer/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;GAKG;AAEH,OAAO,EACL,UAAU,EACV,UAAU,EACV,WAAW,EACX,WAAW,EACX,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,KAAK,WAAW,EACjB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AACzF,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,CAAC;AAMhE,eAAO,MAAM,iBAAiB;;;;;;EAM5B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAMlE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;EAWlC,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;EAK5B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAMlE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;EAIlC,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;EAO5B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
|
|
@@ -8,9 +8,9 @@
|
|
|
8
8
|
* These define the shape of records persisted by TransferBackend implementations
|
|
9
9
|
* (in-memory Maps for local, DynamoDB for cloud).
|
|
10
10
|
*/
|
|
11
|
-
import { StructType, StringType, IntegerType, VariantType, NullType, DateTimeType, } from '@elaraai/east';
|
|
12
|
-
import { PackageImportProgressType } from '@elaraai/e3-types';
|
|
13
|
-
export { PackageImportProgressType };
|
|
11
|
+
import { StructType, StringType, IntegerType, VariantType, NullType, OptionType, DateTimeType, } from '@elaraai/east';
|
|
12
|
+
import { PackageImportProgressType, PackageExportProgressType } from '@elaraai/e3-types';
|
|
13
|
+
export { PackageImportProgressType, PackageExportProgressType };
|
|
14
14
|
// =============================================================================
|
|
15
15
|
// Dataset Upload
|
|
16
16
|
// =============================================================================
|
|
@@ -46,7 +46,7 @@ export const PackageImportType = StructType({
|
|
|
46
46
|
// Package Export
|
|
47
47
|
// =============================================================================
|
|
48
48
|
export const PackageExportStatusType = VariantType({
|
|
49
|
-
processing:
|
|
49
|
+
processing: PackageExportProgressType,
|
|
50
50
|
completed: StructType({ size: IntegerType }),
|
|
51
51
|
failed: StructType({ message: StringType }),
|
|
52
52
|
});
|
|
@@ -54,6 +54,7 @@ export const PackageExportType = StructType({
|
|
|
54
54
|
repo: StringType,
|
|
55
55
|
name: StringType,
|
|
56
56
|
version: StringType,
|
|
57
|
+
workspace: OptionType(StringType),
|
|
57
58
|
status: PackageExportStatusType,
|
|
58
59
|
createdAt: DateTimeType,
|
|
59
60
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/transfer/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;GAKG;AAEH,OAAO,EACL,UAAU,EACV,UAAU,EACV,WAAW,EACX,WAAW,EACX,QAAQ,EACR,YAAY,GAEb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/transfer/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;GAKG;AAEH,OAAO,EACL,UAAU,EACV,UAAU,EACV,WAAW,EACX,WAAW,EACX,QAAQ,EACR,UAAU,EACV,YAAY,GAEb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AACzF,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,CAAC;AAEhE,gFAAgF;AAChF,iBAAiB;AACjB,gFAAgF;AAEhF,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAU,CAAC;IAC1C,IAAI,EAAE,UAAU;IAChB,SAAS,EAAE,UAAU;IACrB,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,WAAW;CAClB,CAAC,CAAC;AAIH,gFAAgF;AAChF,iBAAiB;AACjB,gFAAgF;AAEhF,MAAM,CAAC,MAAM,uBAAuB,GAAG,WAAW,CAAC;IACjD,OAAO,EAAE,QAAQ;IACjB,QAAQ,EAAE,QAAQ;IAClB,UAAU,EAAE,yBAAyB;IACrC,SAAS,EAAE,UAAU,CAAC;QACpB,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,UAAU;QACnB,WAAW,EAAE,UAAU;QACvB,WAAW,EAAE,WAAW;KACzB,CAAC;IACF,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;CAC5C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAU,CAAC;IAC1C,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,WAAW;IACjB,MAAM,EAAE,uBAAuB;IAC/B,SAAS,EAAE,YAAY;CACxB,CAAC,CAAC;AAIH,gFAAgF;AAChF,iBAAiB;AACjB,gFAAgF;AAEhF,MAAM,CAAC,MAAM,uBAAuB,GAAG,WAAW,CAAC;IACjD,UAAU,EAAE,yBAAyB;IACrC,SAAS,EAAE,UAAU,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IAC5C,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;CAC5C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAU,CAAC;IAC1C,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,UAAU;IAChB,OAAO,EAAE,UAAU;IACnB,SAAS,EAAE,UAAU,CAAC,UAAU,CAAC;IACjC,MAAM,EAAE,uBAAuB;IAC/B,SAAS,EAAE,YAAY;CACxB,CAAC,CAAC"}
|
package/dist/src/workspaces.d.ts
CHANGED
|
@@ -115,6 +115,17 @@ export interface WorkspaceExportResult {
|
|
|
115
115
|
name: string;
|
|
116
116
|
version: string;
|
|
117
117
|
}
|
|
118
|
+
/**
|
|
119
|
+
* Options for workspace export
|
|
120
|
+
*/
|
|
121
|
+
export interface WorkspaceExportOptions {
|
|
122
|
+
/** Called after each object is added. Can be used for progress reporting. */
|
|
123
|
+
onProgress?: (progress: {
|
|
124
|
+
objectsProcessed: number;
|
|
125
|
+
}) => Promise<void>;
|
|
126
|
+
/** External workspace lock. If not provided, an exclusive lock will be acquired internally. */
|
|
127
|
+
lock?: LockHandle;
|
|
128
|
+
}
|
|
118
129
|
/**
|
|
119
130
|
* Export a workspace as a package.
|
|
120
131
|
*
|
|
@@ -134,5 +145,5 @@ export interface WorkspaceExportResult {
|
|
|
134
145
|
* @throws {WorkspaceNotFoundError} If workspace doesn't exist
|
|
135
146
|
* @throws {WorkspaceNotDeployedError} If workspace exists but has no package deployed
|
|
136
147
|
*/
|
|
137
|
-
export declare function workspaceExport(storage: StorageBackend, repo: string, name: string, zipPath: string, outputName?: string, version?: string): Promise<WorkspaceExportResult>;
|
|
148
|
+
export declare function workspaceExport(storage: StorageBackend, repo: string, name: string, zipPath: string, outputName?: string, version?: string, options?: WorkspaceExportOptions): Promise<WorkspaceExportResult>;
|
|
138
149
|
//# sourceMappingURL=workspaces.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspaces.d.ts","sourceRoot":"","sources":["../../src/workspaces.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAqBH,OAAO,KAAK,EAAiB,cAAc,EAA0B,MAAM,mBAAmB,CAAC;AAS/F,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1E;;;;;;GAMG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAE5F;AA0DD;;;;;;;;;;GAUG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC,CASf;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;OAIG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC;CACnB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,IAAI,CAAC,CA+Bf;AAED;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAMhC;AAED;;;;;;;;;GASG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAO1D;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;OAIG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,IAAI,CAAC,CAyCf;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAOD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"workspaces.d.ts","sourceRoot":"","sources":["../../src/workspaces.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAqBH,OAAO,KAAK,EAAiB,cAAc,EAA0B,MAAM,mBAAmB,CAAC;AAS/F,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1E;;;;;;GAMG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAE5F;AA0DD;;;;;;;;;;GAUG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC,CASf;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;OAIG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC;CACnB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,IAAI,CAAC,CA+Bf;AAED;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAMhC;AAED;;;;;;;;;GASG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAO1D;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;OAIG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,IAAI,CAAC,CAyCf;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,6EAA6E;IAC7E,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE;QAAE,gBAAgB,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvE,+FAA+F;IAC/F,IAAI,CAAC,EAAE,UAAU,CAAC;CACnB;AAOD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,sBAAsB,GAC/B,OAAO,CAAC,qBAAqB,CAAC,CAyNhC"}
|