@elaraai/e3-api-server 1.0.79 → 1.0.80
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 +83 -19
- package/dist/src/beast2.js +1 -1
- package/dist/src/beast2.js.map +1 -1
- package/dist/src/cli.js +13 -0
- package/dist/src/cli.js.map +1 -1
- package/dist/src/errors.d.ts.map +1 -1
- package/dist/src/errors.js +8 -1
- package/dist/src/errors.js.map +1 -1
- package/dist/src/handlers/dataflow.d.ts +58 -11
- package/dist/src/handlers/dataflow.d.ts.map +1 -1
- package/dist/src/handlers/dataflow.js +120 -48
- package/dist/src/handlers/dataflow.js.map +1 -1
- package/dist/src/handlers/dataflow.spec.d.ts +6 -0
- package/dist/src/handlers/dataflow.spec.d.ts.map +1 -0
- package/dist/src/handlers/dataflow.spec.js +106 -0
- package/dist/src/handlers/dataflow.spec.js.map +1 -0
- package/dist/src/handlers/datasets.d.ts +60 -34
- package/dist/src/handlers/datasets.d.ts.map +1 -1
- package/dist/src/handlers/datasets.js +452 -306
- package/dist/src/handlers/datasets.js.map +1 -1
- package/dist/src/handlers/datasets.spec.js +338 -119
- package/dist/src/handlers/datasets.spec.js.map +1 -1
- package/dist/src/handlers/functions.d.ts.map +1 -1
- package/dist/src/handlers/functions.js +10 -8
- package/dist/src/handlers/functions.js.map +1 -1
- package/dist/src/handlers/functions.spec.js +2 -2
- package/dist/src/handlers/functions.spec.js.map +1 -1
- package/dist/src/handlers/index.d.ts +2 -2
- package/dist/src/handlers/index.d.ts.map +1 -1
- package/dist/src/handlers/index.js +2 -2
- package/dist/src/handlers/index.js.map +1 -1
- package/dist/src/handlers/records.d.ts.map +1 -1
- package/dist/src/handlers/records.js +15 -12
- package/dist/src/handlers/records.js.map +1 -1
- package/dist/src/handlers/records.spec.js +9 -5
- package/dist/src/handlers/records.spec.js.map +1 -1
- package/dist/src/handlers/repository.d.ts +59 -10
- package/dist/src/handlers/repository.d.ts.map +1 -1
- package/dist/src/handlers/repository.js +147 -40
- package/dist/src/handlers/repository.js.map +1 -1
- package/dist/src/handlers/tasks.d.ts +2 -1
- package/dist/src/handlers/tasks.d.ts.map +1 -1
- package/dist/src/handlers/tasks.js +31 -8
- package/dist/src/handlers/tasks.js.map +1 -1
- package/dist/src/handlers/tasks.spec.d.ts +6 -0
- package/dist/src/handlers/tasks.spec.d.ts.map +1 -0
- package/dist/src/handlers/tasks.spec.js +64 -0
- package/dist/src/handlers/tasks.spec.js.map +1 -0
- package/dist/src/handlers/workspaces.d.ts +44 -6
- package/dist/src/handlers/workspaces.d.ts.map +1 -1
- package/dist/src/handlers/workspaces.js +74 -40
- package/dist/src/handlers/workspaces.js.map +1 -1
- package/dist/src/handlers/workspaces.spec.d.ts +6 -0
- package/dist/src/handlers/workspaces.spec.d.ts.map +1 -0
- package/dist/src/handlers/workspaces.spec.js +164 -0
- package/dist/src/handlers/workspaces.spec.js.map +1 -0
- package/dist/src/index.d.ts +3 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +7 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/local-dataflow.d.ts +14 -0
- package/dist/src/local-dataflow.d.ts.map +1 -0
- package/dist/src/local-dataflow.js +41 -0
- package/dist/src/local-dataflow.js.map +1 -0
- package/dist/src/middleware/repository.d.ts +39 -0
- package/dist/src/middleware/repository.d.ts.map +1 -0
- package/dist/src/middleware/repository.js +77 -0
- package/dist/src/middleware/repository.js.map +1 -0
- package/dist/src/routes/data.d.ts +2 -2
- package/dist/src/routes/data.d.ts.map +1 -1
- package/dist/src/routes/data.js +22 -45
- package/dist/src/routes/data.js.map +1 -1
- package/dist/src/routes/datasets.d.ts +0 -3
- package/dist/src/routes/datasets.d.ts.map +1 -1
- package/dist/src/routes/datasets.js +40 -8
- package/dist/src/routes/datasets.js.map +1 -1
- package/dist/src/routes/executions.d.ts +37 -2
- package/dist/src/routes/executions.d.ts.map +1 -1
- package/dist/src/routes/executions.js +21 -12
- package/dist/src/routes/executions.js.map +1 -1
- package/dist/src/routes/index.d.ts +2 -1
- package/dist/src/routes/index.d.ts.map +1 -1
- package/dist/src/routes/index.js +1 -0
- package/dist/src/routes/index.js.map +1 -1
- package/dist/src/routes/objects.d.ts +16 -2
- package/dist/src/routes/objects.d.ts.map +1 -1
- package/dist/src/routes/objects.js +34 -3
- package/dist/src/routes/objects.js.map +1 -1
- package/dist/src/routes/repositories.d.ts +26 -0
- package/dist/src/routes/repositories.d.ts.map +1 -0
- package/dist/src/routes/repositories.js +58 -0
- package/dist/src/routes/repositories.js.map +1 -0
- package/dist/src/routes/repositories.spec.d.ts +6 -0
- package/dist/src/routes/repositories.spec.d.ts.map +1 -0
- package/dist/src/routes/repositories.spec.js +77 -0
- package/dist/src/routes/repositories.spec.js.map +1 -0
- package/dist/src/routes/repository.d.ts +12 -2
- package/dist/src/routes/repository.d.ts.map +1 -1
- package/dist/src/routes/repository.js +24 -9
- package/dist/src/routes/repository.js.map +1 -1
- package/dist/src/routes/transfer.d.ts +11 -9
- package/dist/src/routes/transfer.d.ts.map +1 -1
- package/dist/src/routes/transfer.js +90 -115
- package/dist/src/routes/transfer.js.map +1 -1
- package/dist/src/routes/workspaces.d.ts +14 -1
- package/dist/src/routes/workspaces.d.ts.map +1 -1
- package/dist/src/routes/workspaces.js +57 -46
- package/dist/src/routes/workspaces.js.map +1 -1
- package/dist/src/server.d.ts +18 -6
- package/dist/src/server.d.ts.map +1 -1
- package/dist/src/server.js +55 -182
- package/dist/src/server.js.map +1 -1
- package/dist/src/server.spec.d.ts +6 -0
- package/dist/src/server.spec.d.ts.map +1 -0
- package/dist/src/server.spec.js +59 -0
- package/dist/src/server.spec.js.map +1 -0
- package/dist/src/types.d.ts +200 -16
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js +5 -2
- package/dist/src/types.js.map +1 -1
- package/package.json +5 -5
- package/dist/src/async-operation-state.d.ts +0 -37
- package/dist/src/async-operation-state.d.ts.map +0 -1
- package/dist/src/async-operation-state.js +0 -118
- package/dist/src/async-operation-state.js.map +0 -1
- package/dist/src/orchestrator-manager.d.ts +0 -45
- package/dist/src/orchestrator-manager.d.ts.map +0 -1
- package/dist/src/orchestrator-manager.js +0 -150
- package/dist/src/orchestrator-manager.js.map +0 -1
|
@@ -3,20 +3,30 @@
|
|
|
3
3
|
* Licensed under BSL 1.1. See LICENSE for details.
|
|
4
4
|
*/
|
|
5
5
|
import { Hono } from 'hono';
|
|
6
|
-
import { mkdir, stat, unlink } from 'node:fs/promises';
|
|
7
6
|
import { randomUUID } from 'node:crypto';
|
|
8
7
|
import { variant } from '@elaraai/east';
|
|
9
|
-
import { transferPartCount, urlPathToTreePath } from '@elaraai/e3-types';
|
|
10
|
-
import {
|
|
8
|
+
import { E3_RELEASE, TRANSFER_PROTOCOL_VERSION, transferPartCount, urlPathToTreePath } from '@elaraai/e3-types';
|
|
9
|
+
import { datasetAdoptObject, deliveryKnown, } from '@elaraai/e3-core';
|
|
11
10
|
import { decodeBody, sendSuccess, sendError } from '../beast2.js';
|
|
11
|
+
import { errorToVariant } from '../errors.js';
|
|
12
12
|
import { TransferUploadRequestType, TransferUploadResponseType, TransferPartResponseType, TransferDoneResponseType, } from '../types.js';
|
|
13
13
|
const DEFAULT_COMMIT_WAIT_MS = 5_000;
|
|
14
|
-
/**
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
14
|
+
/**
|
|
15
|
+
* Why a request does not speak this server's transfer protocol, or `null`
|
|
16
|
+
* when it does. A client names its version with `?protocol=N`, and one that
|
|
17
|
+
* names none was built before there was a version to name. It names its
|
|
18
|
+
* release beside it (`&release=`), which decides nothing: a refusal names it
|
|
19
|
+
* beside this server's.
|
|
20
|
+
*/
|
|
21
|
+
function protocolProblem(c) {
|
|
22
|
+
const named = c.req.query('protocol');
|
|
23
|
+
if (named === String(TRANSFER_PROTOCOL_VERSION))
|
|
24
|
+
return null;
|
|
25
|
+
const release = c.req.query('release');
|
|
26
|
+
const newer = named !== undefined && Number(named) > TRANSFER_PROTOCOL_VERSION;
|
|
27
|
+
return `this server, e3 ${E3_RELEASE}, speaks transfer protocol ${TRANSFER_PROTOCOL_VERSION}, and the request, `
|
|
28
|
+
+ `${release === undefined ? 'which names no release' : `from e3 ${release}`}, ${named === undefined ? 'names no protocol' : `speaks ${named}`}: `
|
|
29
|
+
+ (newer ? 'a newer e3 sent it — upgrade the server' : 'an older e3 sent it — upgrade it');
|
|
20
30
|
}
|
|
21
31
|
/** A backend's URL as the client can use it: a relative one resolves against the request's origin. */
|
|
22
32
|
function resolveUrl(c, url) {
|
|
@@ -37,10 +47,23 @@ async function within(promise, ms) {
|
|
|
37
47
|
clearTimeout(timer);
|
|
38
48
|
}
|
|
39
49
|
}
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
50
|
+
/** A commit's status as the API answers it: a type the dataset does not
|
|
51
|
+
* declare is its `dataset_type_mismatch` error, as an inline write's is. */
|
|
52
|
+
function sendCommitStatus(transfer, status) {
|
|
53
|
+
switch (status.type) {
|
|
54
|
+
case 'processing':
|
|
55
|
+
return sendSuccess(TransferDoneResponseType, variant('processing', null));
|
|
56
|
+
case 'completed':
|
|
57
|
+
return sendSuccess(TransferDoneResponseType, variant('completed', null));
|
|
58
|
+
case 'failed':
|
|
59
|
+
return sendSuccess(TransferDoneResponseType, variant('error', { message: status.value.message }));
|
|
60
|
+
case 'type_mismatch':
|
|
61
|
+
return sendError(TransferDoneResponseType, variant('dataset_type_mismatch', {
|
|
62
|
+
workspace: transfer.workspace,
|
|
63
|
+
path: status.value.path,
|
|
64
|
+
message: status.value.message,
|
|
65
|
+
}));
|
|
66
|
+
}
|
|
44
67
|
}
|
|
45
68
|
/**
|
|
46
69
|
* Create dataset transfer routes.
|
|
@@ -52,17 +75,19 @@ function sendOutcome(outcome) {
|
|
|
52
75
|
* generic data endpoints in `data.ts`.
|
|
53
76
|
*
|
|
54
77
|
* @remarks
|
|
55
|
-
*
|
|
56
|
-
*
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
*
|
|
78
|
+
* The init and the commit name the protocol version they speak
|
|
79
|
+
* (`?protocol=N`) and the client's release (`&release=`), and one of another
|
|
80
|
+
* version, or none, is refused, naming both releases and the fix. A client is
|
|
81
|
+
* sent its bytes' plan as parts. The upload store commits the upload, where it
|
|
82
|
+
* runs its commits: the request waits up to `commitWaitMs` for it and
|
|
83
|
+
* otherwise answers `processing`, which the client polls from the store,
|
|
84
|
+
* whichever instance answers — so verifying a delivery of many gigabytes never
|
|
85
|
+
* holds one request open for as long as its SHA-256 takes.
|
|
61
86
|
*/
|
|
62
87
|
export function createTransferRoutes(storage, getRepoPath, transferBackend, options = {}) {
|
|
63
88
|
const api = new Hono();
|
|
64
89
|
const commitWaitMs = options.commitWaitMs ?? DEFAULT_COMMIT_WAIT_MS;
|
|
65
|
-
const
|
|
90
|
+
const uploads = transferBackend.datasetUpload;
|
|
66
91
|
/**
|
|
67
92
|
* Extract dataset path from the request URL wildcard.
|
|
68
93
|
* The route is mounted at /api/repos/:repo/workspaces/:ws/datasets
|
|
@@ -92,7 +117,7 @@ export function createTransferRoutes(storage, getRepoPath, transferBackend, opti
|
|
|
92
117
|
}
|
|
93
118
|
/** The upload `id`, if this request addresses it. */
|
|
94
119
|
async function uploadAt(c, id, suffix) {
|
|
95
|
-
const transfer = await
|
|
120
|
+
const transfer = await uploads.get(id);
|
|
96
121
|
return transfer && addresses(c, transfer, suffix) ? transfer : null;
|
|
97
122
|
}
|
|
98
123
|
// =========================================================================
|
|
@@ -132,40 +157,43 @@ export function createTransferRoutes(storage, getRepoPath, transferBackend, opti
|
|
|
132
157
|
await next();
|
|
133
158
|
});
|
|
134
159
|
async function handleInit(c) {
|
|
160
|
+
const problem = protocolProblem(c);
|
|
161
|
+
if (problem !== null) {
|
|
162
|
+
return sendError(TransferUploadResponseType, variant('internal', { message: problem }));
|
|
163
|
+
}
|
|
135
164
|
const repo = c.req.param('repo');
|
|
136
165
|
const ws = c.req.param('ws');
|
|
137
166
|
const repoPath = getRepoPath(repo);
|
|
138
167
|
const pathStr = extractDatasetPath(c, '/upload');
|
|
139
168
|
const { hash, size } = await decodeBody(c, TransferUploadRequestType);
|
|
140
|
-
// Dedup — the
|
|
141
|
-
//
|
|
142
|
-
//
|
|
143
|
-
// door that skips the commit.
|
|
144
|
-
if (await storage
|
|
169
|
+
// Dedup — the store knows these bytes, as the manifest they were split
|
|
170
|
+
// into or as an object, so no upload is needed. It may have stored them
|
|
171
|
+
// for another dataset, of another type, so the pairing is checked here: it
|
|
172
|
+
// is the only door that skips the commit.
|
|
173
|
+
if (await deliveryKnown(storage, repoPath, hash)) {
|
|
145
174
|
const treePath = urlPathToTreePath(pathStr);
|
|
146
175
|
await datasetAdoptObject(storage, repoPath, ws, treePath, hash);
|
|
147
176
|
return sendSuccess(TransferUploadResponseType, variant('completed', null));
|
|
148
177
|
}
|
|
149
|
-
//
|
|
178
|
+
// The upload's record, and its plan as parts, which the store makes ready
|
|
179
|
+
// to stage
|
|
150
180
|
const transferId = randomUUID();
|
|
151
181
|
const transfer = { repo, workspace: ws, path: pathStr, hash, size };
|
|
152
|
-
await
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
await mkdir(transferStagingDir(repoPath), { recursive: true });
|
|
156
|
-
if (requestProtocol(c) >= 2) {
|
|
157
|
-
const partBytes = await transferBackend.datasetUpload.createParts(transferId, transfer);
|
|
158
|
-
return sendSuccess(TransferUploadResponseType, variant('upload_parts', { id: transferId, partBytes }));
|
|
159
|
-
}
|
|
160
|
-
const uploadUrl = await transferBackend.datasetUpload.getUploadUrl(transferId, repo, hash);
|
|
161
|
-
return sendSuccess(TransferUploadResponseType, variant('upload', { id: transferId, uploadUrl: resolveUrl(c, uploadUrl) }));
|
|
182
|
+
await uploads.create(transferId, transfer);
|
|
183
|
+
const partBytes = await uploads.createParts(transferId, transfer);
|
|
184
|
+
return sendSuccess(TransferUploadResponseType, variant('upload_parts', { id: transferId, partBytes }));
|
|
162
185
|
}
|
|
163
186
|
async function handlePart(c, id, part, suffix) {
|
|
164
187
|
const transfer = await uploadAt(c, id, suffix);
|
|
165
188
|
if (!transfer) {
|
|
166
189
|
return sendError(TransferPartResponseType, variant('internal', { message: 'transfer not found' }));
|
|
167
190
|
}
|
|
168
|
-
|
|
191
|
+
// A part sent once the commit is under way could rewrite the bytes it
|
|
192
|
+
// verifies.
|
|
193
|
+
if ((await uploads.getCommitStatus(id)) !== null) {
|
|
194
|
+
return sendError(TransferPartResponseType, variant('internal', { message: 'the upload is committed: it takes no more parts' }));
|
|
195
|
+
}
|
|
196
|
+
const partBytes = await uploads.getPartBytes(id);
|
|
169
197
|
if (partBytes === null) {
|
|
170
198
|
return sendError(TransferPartResponseType, variant('internal', { message: 'transfer was not planned as parts' }));
|
|
171
199
|
}
|
|
@@ -175,98 +203,45 @@ export function createTransferRoutes(storage, getRepoPath, transferBackend, opti
|
|
|
175
203
|
message: `no part ${part}: the upload has ${count} part${count === 1 ? '' : 's'}`,
|
|
176
204
|
}));
|
|
177
205
|
}
|
|
178
|
-
const target = await
|
|
206
|
+
const target = await uploads.getPartUpload(id, transfer, part);
|
|
179
207
|
return sendSuccess(TransferPartResponseType, {
|
|
180
208
|
url: resolveUrl(c, target.url),
|
|
181
209
|
headers: new Map(Object.entries(target.headers)),
|
|
182
210
|
});
|
|
183
211
|
}
|
|
184
212
|
async function handleCommit(c, id, suffix) {
|
|
185
|
-
|
|
186
|
-
if (
|
|
187
|
-
|
|
188
|
-
if (!transfer) {
|
|
189
|
-
return sendError(TransferDoneResponseType, variant('internal', { message: 'transfer not found' }));
|
|
190
|
-
}
|
|
191
|
-
// A retried commit may have started it while this one looked it up.
|
|
192
|
-
commit = commits.get(id) ?? startCommit(id, transfer);
|
|
213
|
+
const problem = protocolProblem(c);
|
|
214
|
+
if (problem !== null) {
|
|
215
|
+
return sendError(TransferDoneResponseType, variant('internal', { message: problem }));
|
|
193
216
|
}
|
|
194
|
-
|
|
217
|
+
const transfer = await uploadAt(c, id, suffix);
|
|
218
|
+
if (!transfer) {
|
|
195
219
|
return sendError(TransferDoneResponseType, variant('internal', { message: 'transfer not found' }));
|
|
196
220
|
}
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
return outcome ? sendOutcome(outcome) : sendSuccess(TransferDoneResponseType, variant('processing', null));
|
|
201
|
-
}
|
|
202
|
-
async function handlePoll(c, id, suffix) {
|
|
203
|
-
const commit = commits.get(id);
|
|
204
|
-
if (commit && addresses(c, commit.transfer, suffix)) {
|
|
205
|
-
return commit.outcome
|
|
206
|
-
? sendOutcome(commit.outcome)
|
|
207
|
-
: sendSuccess(TransferDoneResponseType, variant('processing', null));
|
|
208
|
-
}
|
|
209
|
-
const transfer = await uploadAt(c, id, suffix);
|
|
210
|
-
return sendError(TransferDoneResponseType, variant('internal', {
|
|
211
|
-
message: transfer ? 'transfer not committed' : 'transfer not found',
|
|
212
|
-
}));
|
|
213
|
-
}
|
|
214
|
-
function startCommit(id, transfer) {
|
|
215
|
-
const settled = verifyAndAdopt(id, transfer).then((outcome) => {
|
|
216
|
-
commit.outcome = outcome;
|
|
217
|
-
// The answer stays pollable for a while — a client whose response was
|
|
218
|
-
// lost asks again — and then goes, as the upload record already has.
|
|
219
|
-
setTimeout(() => commits.delete(id), COMMIT_RESULT_TTL_MS).unref();
|
|
220
|
-
return outcome;
|
|
221
|
-
});
|
|
222
|
-
const commit = { transfer, outcome: null, settled };
|
|
223
|
-
commits.set(id, commit);
|
|
224
|
-
return commit;
|
|
225
|
-
}
|
|
226
|
-
/**
|
|
227
|
-
* Verify a staged upload and point its dataset at it; never rejects.
|
|
228
|
-
*/
|
|
229
|
-
async function verifyAndAdopt(id, transfer) {
|
|
230
|
-
// Nothing may escape: a commit answering `processing` is awaited by no one.
|
|
231
|
-
let stagingPath = null;
|
|
221
|
+
// A commit asked for again, as a client whose answer was lost asks, is
|
|
222
|
+
// answered as the first was: at once, when it has finished.
|
|
223
|
+
let status;
|
|
232
224
|
try {
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
// digest from a streamed hash, its declared type and paging index from
|
|
237
|
-
// two ranged reads, and it becomes an object by link or rename. A
|
|
238
|
-
// multi-gigabyte delivery therefore commits for the cost of its SHA-256.
|
|
239
|
-
const stats = await stat(stagingPath);
|
|
240
|
-
if (BigInt(stats.size) !== transfer.size) {
|
|
241
|
-
return {
|
|
242
|
-
type: 'answer',
|
|
243
|
-
value: variant('error', { message: `size mismatch: expected ${transfer.size}, got ${stats.size}` }),
|
|
244
|
-
};
|
|
225
|
+
status = await uploads.getCommitStatus(id);
|
|
226
|
+
if (status === null || status.type === 'processing') {
|
|
227
|
+
status = await within(uploads.commit(id, transfer), commitWaitMs);
|
|
245
228
|
}
|
|
246
|
-
const treePath = urlPathToTreePath(transfer.path);
|
|
247
|
-
await datasetAdoptFile(storage, repoPath, transfer.workspace, treePath, stagingPath, {
|
|
248
|
-
expectHash: transfer.hash,
|
|
249
|
-
});
|
|
250
|
-
return { type: 'answer', value: variant('completed', null) };
|
|
251
229
|
}
|
|
252
230
|
catch (err) {
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
};
|
|
262
|
-
}
|
|
263
|
-
return { type: 'answer', value: variant('error', { message: err instanceof Error ? err.message : String(err) }) };
|
|
231
|
+
return sendError(TransferDoneResponseType, errorToVariant(err));
|
|
232
|
+
}
|
|
233
|
+
return sendCommitStatus(transfer, status ?? variant('processing', null));
|
|
234
|
+
}
|
|
235
|
+
async function handlePoll(c, id, suffix) {
|
|
236
|
+
const transfer = await uploadAt(c, id, suffix);
|
|
237
|
+
if (!transfer) {
|
|
238
|
+
return sendError(TransferDoneResponseType, variant('internal', { message: 'transfer not found' }));
|
|
264
239
|
}
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
await transferBackend.datasetUpload.delete(id).catch(() => { });
|
|
240
|
+
const status = await uploads.getCommitStatus(id);
|
|
241
|
+
if (status === null) {
|
|
242
|
+
return sendError(TransferDoneResponseType, variant('internal', { message: 'transfer not committed' }));
|
|
269
243
|
}
|
|
244
|
+
return sendCommitStatus(transfer, status);
|
|
270
245
|
}
|
|
271
246
|
return { api };
|
|
272
247
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transfer.js","sourceRoot":"","sources":["../../../src/routes/transfer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"transfer.js","sourceRoot":"","sources":["../../../src/routes/transfer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAChH,OAAO,EACL,kBAAkB,EAClB,aAAa,GAKd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,aAAa,CAAC;AAYrB,MAAM,sBAAsB,GAAG,KAAK,CAAC;AAErC;;;;;;GAMG;AACH,SAAS,eAAe,CAAC,CAAU;IACjC,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACtC,IAAI,KAAK,KAAK,MAAM,CAAC,yBAAyB,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7D,MAAM,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,yBAAyB,CAAC;IAC/E,OAAO,mBAAmB,UAAU,8BAA8B,yBAAyB,qBAAqB;UAC5G,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,WAAW,OAAO,EAAE,KAAK,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,UAAU,KAAK,EAAE,IAAI;UAChJ,CAAC,KAAK,CAAC,CAAC,CAAC,yCAAyC,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC;AAC/F,CAAC;AAED,sGAAsG;AACtG,SAAS,UAAU,CAAC,CAAU,EAAE,GAAW;IACzC,OAAO,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;AAC1E,CAAC;AAED,2FAA2F;AAC3F,KAAK,UAAU,MAAM,CAAI,OAAmB,EAAE,EAAU;IACtD,IAAI,EAAE,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACzB,IAAI,KAAgD,CAAC;IACrD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAC5C,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IACH,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAChD,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;AACH,CAAC;AAED;6EAC6E;AAC7E,SAAS,gBAAgB,CAAC,QAAuB,EAAE,MAA2B;IAC5E,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,YAAY;YACf,OAAO,WAAW,CAAC,wBAAwB,EAAE,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC;QAC5E,KAAK,WAAW;YACd,OAAO,WAAW,CAAC,wBAAwB,EAAE,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;QAC3E,KAAK,QAAQ;YACX,OAAO,WAAW,CAAC,wBAAwB,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACpG,KAAK,eAAe;YAClB,OAAO,SAAS,CAAC,wBAAwB,EAAE,OAAO,CAAC,uBAAuB,EAAE;gBAC1E,SAAS,EAAE,QAAQ,CAAC,SAAS;gBAC7B,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI;gBACvB,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO;aAC9B,CAAC,CAAC,CAAC;IACR,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,oBAAoB,CAClC,OAAuB,EACvB,WAAqC,EACrC,eAAgC,EAChC,UAAgC,EAAE;IAElC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,sBAAsB,CAAC;IACpE,MAAM,OAAO,GAAG,eAAe,CAAC,aAAa,CAAC;IAE9C;;;;OAIG;IACH,SAAS,kBAAkB,CAAC,CAAqE,EAAE,MAAc;QAC/G,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;QAC5B,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAE,CAAC;QAClC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAE,CAAC;QAC9B,MAAM,cAAc,GAAG,cAAc,kBAAkB,CAAC,IAAI,CAAC,eAAe,kBAAkB,CAAC,EAAE,CAAC,YAAY,CAAC;QAC/G,IAAI,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/F,2DAA2D;QAC3D,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7B,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7C,CAAC;QACD,wBAAwB;QACxB,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,sGAAsG;IACtG,SAAS,SAAS,CAAC,CAAU,EAAE,QAAuB,EAAE,MAAc;QACpE,OAAO,QAAQ,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;eACvC,QAAQ,CAAC,SAAS,KAAK,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;eACxC,QAAQ,CAAC,IAAI,KAAK,kBAAkB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACvD,CAAC;IAED,qDAAqD;IACrD,KAAK,UAAU,QAAQ,CAAC,CAAU,EAAE,EAAU,EAAE,MAAc;QAC5D,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACvC,OAAO,QAAQ,IAAI,SAAS,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IACtE,CAAC;IAED,4EAA4E;IAC5E,iFAAiF;IACjF,4EAA4E;IAE5E,uEAAuE;IACvE,wDAAwD;IACxD,0DAA0D;IAC1D,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACzB,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;QAE5B,sCAAsC;QACtC,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QACjE,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,YAAY,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAE,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,CAAC;QAED,6BAA6B;QAC7B,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACjC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;QACvB,CAAC;QAED,oCAAoC;QACpC,OAAO,IAAI,QAAQ,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,sEAAsE;IACtE,sCAAsC;IACtC,sEAAsE;IACtE,+DAA+D;IAC/D,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;QAC9B,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;QAE5B,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;QAChF,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,UAAU,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAE,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,CAAC;QAED,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAC/D,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,UAAU,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAE,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,IAAI,EAAE,CAAC;IACf,CAAC,CAAC,CAAC;IAEH,KAAK,UAAU,UAAU,CAAC,CAAU;QAClC,MAAM,OAAO,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QACnC,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,OAAO,SAAS,CAAC,0BAA0B,EAAE,OAAO,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QAC1F,CAAC;QACD,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAE,CAAC;QAClC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG,kBAAkB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QACjD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,UAAU,CAAC,CAAC,EAAE,yBAAyB,CAAC,CAAC;QAEtE,uEAAuE;QACvE,wEAAwE;QACxE,2EAA2E;QAC3E,0CAA0C;QAC1C,IAAI,MAAM,aAAa,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC;YACjD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAC5C,MAAM,kBAAkB,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;YAChE,OAAO,WAAW,CAAC,0BAA0B,EAAE,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;QAC7E,CAAC;QAED,0EAA0E;QAC1E,WAAW;QACX,MAAM,UAAU,GAAG,UAAU,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAkB,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACnF,MAAM,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAC3C,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAClE,OAAO,WAAW,CAAC,0BAA0B,EAAE,OAAO,CAAC,cAAc,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;IACzG,CAAC;IAED,KAAK,UAAU,UAAU,CAAC,CAAU,EAAE,EAAU,EAAE,IAAY,EAAE,MAAc;QAC5E,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;QAC/C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,SAAS,CAAC,wBAAwB,EAAE,OAAO,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC;QACrG,CAAC;QACD,sEAAsE;QACtE,YAAY;QACZ,IAAI,CAAC,MAAM,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACjD,OAAO,SAAS,CAAC,wBAAwB,EAAE,OAAO,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,iDAAiD,EAAE,CAAC,CAAC,CAAC;QAClI,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QACjD,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,OAAO,SAAS,CAAC,wBAAwB,EAAE,OAAO,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,mCAAmC,EAAE,CAAC,CAAC,CAAC;QACpH,CAAC;QACD,MAAM,KAAK,GAAG,iBAAiB,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC1D,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,KAAK,EAAE,CAAC;YAC7B,OAAO,SAAS,CAAC,wBAAwB,EAAE,OAAO,CAAC,UAAU,EAAE;gBAC7D,OAAO,EAAE,WAAW,IAAI,oBAAoB,KAAK,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE;aAClF,CAAC,CAAC,CAAC;QACN,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC/D,OAAO,WAAW,CAAC,wBAAwB,EAAE;YAC3C,GAAG,EAAE,UAAU,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC;YAC9B,OAAO,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;SACjD,CAAC,CAAC;IACL,CAAC;IAED,KAAK,UAAU,YAAY,CAAC,CAAU,EAAE,EAAU,EAAE,MAAc;QAChE,MAAM,OAAO,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QACnC,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,OAAO,SAAS,CAAC,wBAAwB,EAAE,OAAO,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QACxF,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;QAC/C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,SAAS,CAAC,wBAAwB,EAAE,OAAO,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC;QACrG,CAAC;QACD,uEAAuE;QACvE,4DAA4D;QAC5D,IAAI,MAAkC,CAAC;QACvC,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;YAC3C,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBACpD,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,YAAY,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,SAAS,CAAC,wBAAwB,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;QAClE,CAAC;QACD,OAAO,gBAAgB,CAAC,QAAQ,EAAE,MAAM,IAAI,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,KAAK,UAAU,UAAU,CAAC,CAAU,EAAE,EAAU,EAAE,MAAc;QAC9D,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;QAC/C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,SAAS,CAAC,wBAAwB,EAAE,OAAO,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC;QACrG,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QACjD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,OAAO,SAAS,CAAC,wBAAwB,EAAE,OAAO,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,wBAAwB,EAAE,CAAC,CAAC,CAAC;QACzG,CAAC;QACD,OAAO,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,EAAE,GAAG,EAAE,CAAC;AACjB,CAAC"}
|
|
@@ -4,5 +4,18 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { Hono } from 'hono';
|
|
6
6
|
import type { StorageBackend, TransferBackend } from '@elaraai/e3-core';
|
|
7
|
-
|
|
7
|
+
import type { GetRunner } from './functions.js';
|
|
8
|
+
/**
|
|
9
|
+
* Workspace routes, mounted at `/api/repos/:repo/workspaces`.
|
|
10
|
+
*
|
|
11
|
+
* @param storage - Storage backend
|
|
12
|
+
* @param getRepoPath - The repository identifier for a repo name
|
|
13
|
+
* @param transferBackend - Files and dispatches the jobs a deploy and an
|
|
14
|
+
* export run as, which outlast a request. A deploy job runs its migrations
|
|
15
|
+
* and index builds on the runner the backend was given.
|
|
16
|
+
* @param getRunner - The runner a repository's tasks run on, which the status
|
|
17
|
+
* asks whether an execution recorded running can still finish
|
|
18
|
+
* @returns The routes
|
|
19
|
+
*/
|
|
20
|
+
export declare function createWorkspaceRoutes(storage: StorageBackend, getRepoPath: (repo: string) => string, transferBackend: TransferBackend, getRunner: GetRunner): Hono<import("hono/types").BlankEnv, import("hono/types").BlankSchema, "/">;
|
|
8
21
|
//# sourceMappingURL=workspaces.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspaces.d.ts","sourceRoot":"","sources":["../../../src/routes/workspaces.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAG5B,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"workspaces.d.ts","sourceRoot":"","sources":["../../../src/routes/workspaces.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAG5B,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAcxE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,cAAc,EACvB,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,EACrC,eAAe,EAAE,eAAe,EAChC,SAAS,EAAE,SAAS,8EAqGrB"}
|
|
@@ -7,10 +7,22 @@ import { randomUUID } from 'node:crypto';
|
|
|
7
7
|
import { variant, some } from '@elaraai/east';
|
|
8
8
|
import { workspaceGetState } from '@elaraai/e3-core';
|
|
9
9
|
import { PackageJobResponseType } from '@elaraai/e3-types';
|
|
10
|
-
import { listWorkspaces, createWorkspace, getWorkspace, getWorkspaceStatus, deleteWorkspace,
|
|
10
|
+
import { listWorkspaces, createWorkspace, getWorkspace, getWorkspaceStatus, deleteWorkspace, startWorkspaceDeploy, getWorkspaceDeployStatus, } from '../handlers/workspaces.js';
|
|
11
11
|
import { decodeBody, sendSuccess, sendError } from '../beast2.js';
|
|
12
12
|
import { WorkspaceCreateRequestType, WorkspaceDeployRequestType, WorkspaceExportRequestType } from '../types.js';
|
|
13
|
-
|
|
13
|
+
/**
|
|
14
|
+
* Workspace routes, mounted at `/api/repos/:repo/workspaces`.
|
|
15
|
+
*
|
|
16
|
+
* @param storage - Storage backend
|
|
17
|
+
* @param getRepoPath - The repository identifier for a repo name
|
|
18
|
+
* @param transferBackend - Files and dispatches the jobs a deploy and an
|
|
19
|
+
* export run as, which outlast a request. A deploy job runs its migrations
|
|
20
|
+
* and index builds on the runner the backend was given.
|
|
21
|
+
* @param getRunner - The runner a repository's tasks run on, which the status
|
|
22
|
+
* asks whether an execution recorded running can still finish
|
|
23
|
+
* @returns The routes
|
|
24
|
+
*/
|
|
25
|
+
export function createWorkspaceRoutes(storage, getRepoPath, transferBackend, getRunner) {
|
|
14
26
|
const app = new Hono();
|
|
15
27
|
// GET /api/repos/:repo/workspaces - List all workspaces
|
|
16
28
|
app.get('/', async (c) => {
|
|
@@ -37,7 +49,7 @@ export function createWorkspaceRoutes(storage, getRepoPath, transferBackend) {
|
|
|
37
49
|
const repo = c.req.param('repo');
|
|
38
50
|
const repoPath = getRepoPath(repo);
|
|
39
51
|
const ws = c.req.param('ws');
|
|
40
|
-
return getWorkspaceStatus(storage, repoPath, ws);
|
|
52
|
+
return getWorkspaceStatus(storage, getRunner(repoPath), repoPath, ws);
|
|
41
53
|
});
|
|
42
54
|
// DELETE /api/repos/:repo/workspaces/:ws - Remove a workspace
|
|
43
55
|
app.delete('/:ws', async (c) => {
|
|
@@ -46,58 +58,57 @@ export function createWorkspaceRoutes(storage, getRepoPath, transferBackend) {
|
|
|
46
58
|
const ws = c.req.param('ws');
|
|
47
59
|
return deleteWorkspace(storage, repoPath, ws);
|
|
48
60
|
});
|
|
49
|
-
// POST /api/repos/:repo/workspaces/:ws/deploy -
|
|
61
|
+
// POST /api/repos/:repo/workspaces/:ws/deploy - Start a deploy job
|
|
50
62
|
app.post('/:ws/deploy', async (c) => {
|
|
51
63
|
const repo = c.req.param('repo');
|
|
52
64
|
const repoPath = getRepoPath(repo);
|
|
53
65
|
const ws = c.req.param('ws');
|
|
54
66
|
const body = await decodeBody(c, WorkspaceDeployRequestType);
|
|
55
|
-
return
|
|
67
|
+
return startWorkspaceDeploy(storage, repoPath, repo, ws, body, transferBackend.workspaceDeploy);
|
|
56
68
|
});
|
|
57
|
-
//
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
const body = await decodeBody(c, WorkspaceExportRequestType);
|
|
68
|
-
if (body.name?.type === 'some')
|
|
69
|
-
requestName = body.name.value;
|
|
70
|
-
if (body.version?.type === 'some')
|
|
71
|
-
requestVersion = body.version.value;
|
|
72
|
-
}
|
|
73
|
-
catch {
|
|
74
|
-
// No body or invalid — use defaults
|
|
75
|
-
}
|
|
76
|
-
const state = await workspaceGetState(storage, repoPath, ws);
|
|
77
|
-
if (!state) {
|
|
78
|
-
return sendError(PackageJobResponseType, variant('internal', { message: 'workspace not found or not deployed' }));
|
|
79
|
-
}
|
|
80
|
-
const exportName = requestName ?? state.packageName;
|
|
81
|
-
const exportVersion = requestVersion ?? `${state.packageVersion}-${Date.now().toString(36)}`;
|
|
82
|
-
const id = randomUUID();
|
|
83
|
-
await transferBackend.packageExport.create(id, {
|
|
84
|
-
repo,
|
|
85
|
-
name: exportName,
|
|
86
|
-
version: exportVersion,
|
|
87
|
-
workspace: some(ws),
|
|
88
|
-
status: variant('processing', variant('pending', null)),
|
|
89
|
-
createdAt: new Date(),
|
|
90
|
-
});
|
|
91
|
-
await transferBackend.packageExport.execute(id, repo);
|
|
92
|
-
return sendSuccess(PackageJobResponseType, { id });
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
// GET /api/repos/:repo/workspaces/:ws/export - Export workspace as a package zip
|
|
96
|
-
app.get('/:ws/export', async (c) => {
|
|
69
|
+
// GET /api/repos/:repo/workspaces/:ws/deploy/:id - Poll a deploy job
|
|
70
|
+
app.get('/:ws/deploy/:id', (c) => {
|
|
71
|
+
const repo = c.req.param('repo');
|
|
72
|
+
const ws = c.req.param('ws');
|
|
73
|
+
const id = c.req.param('id');
|
|
74
|
+
return getWorkspaceDeployStatus(transferBackend.workspaceDeploy, repo, ws, id);
|
|
75
|
+
});
|
|
76
|
+
// POST /api/repos/:repo/workspaces/:ws/export - Start an export job, polled
|
|
77
|
+
// at /api/repos/:repo/export/:id
|
|
78
|
+
app.post('/:ws/export', async (c) => {
|
|
97
79
|
const repo = c.req.param('repo');
|
|
98
80
|
const repoPath = getRepoPath(repo);
|
|
99
81
|
const ws = c.req.param('ws');
|
|
100
|
-
|
|
82
|
+
// Determine name and version from request body or deployed package
|
|
83
|
+
let requestName;
|
|
84
|
+
let requestVersion;
|
|
85
|
+
try {
|
|
86
|
+
const body = await decodeBody(c, WorkspaceExportRequestType);
|
|
87
|
+
if (body.name?.type === 'some')
|
|
88
|
+
requestName = body.name.value;
|
|
89
|
+
if (body.version?.type === 'some')
|
|
90
|
+
requestVersion = body.version.value;
|
|
91
|
+
}
|
|
92
|
+
catch {
|
|
93
|
+
// No body or invalid — use defaults
|
|
94
|
+
}
|
|
95
|
+
const state = await workspaceGetState(storage, repoPath, ws);
|
|
96
|
+
if (!state) {
|
|
97
|
+
return sendError(PackageJobResponseType, variant('internal', { message: 'workspace not found or not deployed' }));
|
|
98
|
+
}
|
|
99
|
+
const exportName = requestName ?? state.packageName;
|
|
100
|
+
const exportVersion = requestVersion ?? `${state.packageVersion}-${Date.now().toString(36)}`;
|
|
101
|
+
const id = randomUUID();
|
|
102
|
+
await transferBackend.packageExport.create(id, {
|
|
103
|
+
repo,
|
|
104
|
+
name: exportName,
|
|
105
|
+
version: exportVersion,
|
|
106
|
+
workspace: some(ws),
|
|
107
|
+
status: variant('processing', variant('pending', null)),
|
|
108
|
+
createdAt: new Date(),
|
|
109
|
+
});
|
|
110
|
+
await transferBackend.packageExport.execute(id, repo);
|
|
111
|
+
return sendSuccess(PackageJobResponseType, { id });
|
|
101
112
|
});
|
|
102
113
|
return app;
|
|
103
114
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspaces.js","sourceRoot":"","sources":["../../../src/routes/workspaces.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EACL,cAAc,EACd,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,
|
|
1
|
+
{"version":3,"file":"workspaces.js","sourceRoot":"","sources":["../../../src/routes/workspaces.ts"],"names":[],"mappings":"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"}
|
package/dist/src/server.d.ts
CHANGED
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
* Licensed under BSL 1.1. See LICENSE for details.
|
|
4
4
|
*/
|
|
5
5
|
import { type ServerType } from '@hono/node-server';
|
|
6
|
+
import { Budget } from '@elaraai/e3-core';
|
|
7
|
+
import type { BudgetSettings } from '@elaraai/e3-core';
|
|
6
8
|
import { type AuthConfig } from './middleware/auth.js';
|
|
7
9
|
import { type OidcConfig } from './auth/index.js';
|
|
8
10
|
export type { AuthConfig } from './middleware/auth.js';
|
|
@@ -32,15 +34,22 @@ export interface ServerConfig {
|
|
|
32
34
|
/** Byte budget clamping each dataset page's share of the source blob
|
|
33
35
|
* (default: 4 MiB). Lower it for deployments with tight response limits. */
|
|
34
36
|
pageByteBudget?: number;
|
|
35
|
-
/** Size of the parts a dataset upload is sent in
|
|
36
|
-
*
|
|
37
|
-
*
|
|
37
|
+
/** Size of the parts a dataset upload is sent in (default: 64 MiB). An
|
|
38
|
+
* upload no larger is one part; a smaller size suits a proxy that caps
|
|
39
|
+
* request bodies. */
|
|
38
40
|
transferPartBytes?: number;
|
|
39
|
-
/** How long a
|
|
40
|
-
*
|
|
41
|
-
*
|
|
41
|
+
/** How long a dataset commit waits for the upload to be verified before
|
|
42
|
+
* answering `processing` for the client to poll (default: 5000 ms; 0
|
|
43
|
+
* answers `processing` at once). Keep it under any proxy's request
|
|
42
44
|
* timeout. */
|
|
43
45
|
transferCommitWaitMs?: number;
|
|
46
|
+
/** The server's budget of cores and memory, which every runner process it
|
|
47
|
+
* spawns takes from: dataflow tasks and units, function calls, mutations
|
|
48
|
+
* and index builds, across every run. A {@link Budget}, or the settings
|
|
49
|
+
* to resolve one from, as `-j` and `--memory` give them (default:
|
|
50
|
+
* `E3_JOBS` and `E3_MEMORY`, else what the process may use); settings
|
|
51
|
+
* that do not resolve make `createServer` throw a `RangeError`. */
|
|
52
|
+
budget?: Budget | BudgetSettings;
|
|
44
53
|
}
|
|
45
54
|
/**
|
|
46
55
|
* Server instance handle.
|
|
@@ -67,6 +76,9 @@ export interface Server {
|
|
|
67
76
|
*
|
|
68
77
|
* @param config - Server configuration
|
|
69
78
|
* @returns Server instance
|
|
79
|
+
* @throws {RangeError} When the budget's settings do not resolve
|
|
80
|
+
* @throws {RepoNotFoundError} When the single repository is none
|
|
81
|
+
* @throws {RepoLayoutError} When this e3 cannot open the single repository
|
|
70
82
|
*/
|
|
71
83
|
export declare function createServer(config: ServerConfig): Promise<Server>;
|
|
72
84
|
//# sourceMappingURL=server.d.ts.map
|
package/dist/src/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAS,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAS,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EACL,MAAM,EACP,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,cAAc,EAA+C,MAAM,kBAAkB,CAAC;AACpG,OAAO,EAAwB,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAE7E,OAAO,EAAyC,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAiBzF,YAAY,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gFAAgF;IAChF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,wEAAwE;IACxE,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,mEAAmE;IACnE,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB;iFAC6E;IAC7E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;0BAEsB;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;mBAGe;IACf,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;;wEAKoE;IACpE,MAAM,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,uBAAuB;IACvB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,sBAAsB;IACtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,iCAAiC;IACjC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,0CAA0C;IAC1C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAyOxE"}
|