@elaraai/e3-api-server 1.0.78 → 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
package/README.md
CHANGED
|
@@ -16,6 +16,11 @@ Supports two modes:
|
|
|
16
16
|
- **Single-repo mode**: Serve one repository, accessed via `/repos/default`
|
|
17
17
|
- **Multi-repo mode**: Serve multiple repositories from a directory, accessed via `/repos/:name`
|
|
18
18
|
|
|
19
|
+
The server opens a repository before it serves it, as the CLI does: the one
|
|
20
|
+
repository when it starts, and each of several at its first request. A
|
|
21
|
+
repository an older release wrote is upgraded in place first, and one this e3
|
|
22
|
+
cannot open is refused, naming why and the fix.
|
|
23
|
+
|
|
19
24
|
## CLI Usage
|
|
20
25
|
|
|
21
26
|
```bash
|
|
@@ -45,6 +50,8 @@ e3-api-server --repo /path/to/repo --port 8080 --host 0.0.0.0
|
|
|
45
50
|
| `--oidc` | Enable built-in OIDC authentication provider |
|
|
46
51
|
| `--token-expiry <duration>` | Access token expiry, e.g., "5s", "15m", "1h" (default: 1h) |
|
|
47
52
|
| `--refresh-token-expiry <duration>` | Refresh token expiry, e.g., "7d", "90d" (default: 90d) |
|
|
53
|
+
| `-j, --jobs <n>` | Cores: runner processes in flight at once, across every run and call the server serves (default: `E3_JOBS`, else the CPUs available) |
|
|
54
|
+
| `--memory <size>` | Memory those runner processes may reserve between them, as `8G` or `512M` (default: `E3_MEMORY`, else the memory available, less a reserve for e3 and the OS) |
|
|
48
55
|
|
|
49
56
|
## Programmatic Usage
|
|
50
57
|
|
|
@@ -126,11 +133,39 @@ interface ServerConfig {
|
|
|
126
133
|
|
|
127
134
|
// Dataset reads and uploads (optional)
|
|
128
135
|
pageByteBudget?: number; // Byte budget per dataset page (default: 4 MiB)
|
|
129
|
-
transferPartBytes?: number; // Part size for
|
|
130
|
-
transferCommitWaitMs?: number; // How long a
|
|
136
|
+
transferPartBytes?: number; // Part size for dataset uploads (default: 64 MiB)
|
|
137
|
+
transferCommitWaitMs?: number; // How long a commit waits before answering `processing` (default: 5000)
|
|
138
|
+
|
|
139
|
+
// Runner processes (optional)
|
|
140
|
+
budget?: Budget | BudgetSettings; // Cores and memory every runner the server spawns shares (default: from E3_JOBS / E3_MEMORY, else the machine)
|
|
131
141
|
}
|
|
132
142
|
```
|
|
133
143
|
|
|
144
|
+
### Mounting the routes on another host
|
|
145
|
+
|
|
146
|
+
The route factories are exported, so a host that runs e3 on its own backends
|
|
147
|
+
mounts them over its own seams. The repositories' routes list, create and
|
|
148
|
+
remove repositories through the storage backend's `RepoStore`, and the
|
|
149
|
+
repository gate, mounted ahead of every repository's routes, checks that the
|
|
150
|
+
repository exists and is not being removed, and opens it. The dataflow routes
|
|
151
|
+
take the runner, the orchestrator that runs a repository's dataflows, and the
|
|
152
|
+
state store it writes: a poll and a cancel read the latest run from that
|
|
153
|
+
store, whichever instance answers them.
|
|
154
|
+
|
|
155
|
+
```typescript
|
|
156
|
+
import { Hono } from 'hono';
|
|
157
|
+
import { createExecutionRoutes, createRepositoriesRoutes, createRepositoryGate } from '@elaraai/e3-api-server';
|
|
158
|
+
|
|
159
|
+
const app = new Hono();
|
|
160
|
+
app.use('/api/repos/:repo/*', createRepositoryGate(storage, getRepoPath));
|
|
161
|
+
app.route('/api/repos', createRepositoriesRoutes(storage));
|
|
162
|
+
app.route('/api/repos/:repo/workspaces/:ws/dataflow', createExecutionRoutes(storage, getRepoPath, {
|
|
163
|
+
getRunner: (repo) => runnerFor(repo),
|
|
164
|
+
getOrchestrator: (repo) => orchestratorFor(repo),
|
|
165
|
+
getStateStore: (repo) => stateStoreFor(repo),
|
|
166
|
+
}));
|
|
167
|
+
```
|
|
168
|
+
|
|
134
169
|
## API Endpoints
|
|
135
170
|
|
|
136
171
|
All endpoints are prefixed with `/api/repos/:repo` where `:repo` is:
|
|
@@ -143,7 +178,7 @@ All endpoints are prefixed with `/api/repos/:repo` where `:repo` is:
|
|
|
143
178
|
|--------|----------|-------------|
|
|
144
179
|
| GET | `/api/repos` | List available repositories (multi-repo mode) |
|
|
145
180
|
| PUT | `/api/repos/:repo` | Create repository (multi-repo mode) |
|
|
146
|
-
| DELETE | `/api/repos/:repo` |
|
|
181
|
+
| DELETE | `/api/repos/:repo` | Remove repository (multi-repo mode): marked as being removed first, so a request to it is refused from then on |
|
|
147
182
|
| GET | `/api/repos/:repo/status` | Repository status (counts) |
|
|
148
183
|
| POST | `/api/repos/:repo/gc` | Start garbage collection (async) |
|
|
149
184
|
| GET | `/api/repos/:repo/gc/:id` | Get GC status |
|
|
@@ -154,8 +189,11 @@ All endpoints are prefixed with `/api/repos/:repo` where `:repo` is:
|
|
|
154
189
|
|--------|----------|-------------|
|
|
155
190
|
| GET | `/api/repos/:repo/packages` | List all packages |
|
|
156
191
|
| GET | `/api/repos/:repo/packages/:name/:version` | Get package details |
|
|
157
|
-
| POST | `/api/repos/:repo/
|
|
158
|
-
|
|
|
192
|
+
| POST | `/api/repos/:repo/import` | Start importing a package zip, as a job: answers the job's id and where to upload the zip |
|
|
193
|
+
| POST | `/api/repos/:repo/import/:id` | Import the uploaded zip |
|
|
194
|
+
| GET | `/api/repos/:repo/import/:id` | Poll an import job |
|
|
195
|
+
| POST | `/api/repos/:repo/packages/:name/:version/export` | Start exporting a package as a zip, as a job: answers the job's id |
|
|
196
|
+
| GET | `/api/repos/:repo/export/:id` | Poll an export job: once it completes, where to download the zip |
|
|
159
197
|
| DELETE | `/api/repos/:repo/packages/:name/:version` | Remove package |
|
|
160
198
|
|
|
161
199
|
### Workspaces
|
|
@@ -166,33 +204,57 @@ All endpoints are prefixed with `/api/repos/:repo` where `:repo` is:
|
|
|
166
204
|
| POST | `/api/repos/:repo/workspaces` | Create workspace |
|
|
167
205
|
| GET | `/api/repos/:repo/workspaces/:ws` | Get workspace info |
|
|
168
206
|
| GET | `/api/repos/:repo/workspaces/:ws/status` | Get workspace status (datasets, tasks, summary) |
|
|
169
|
-
| POST | `/api/repos/:repo/workspaces/:ws/deploy` |
|
|
207
|
+
| POST | `/api/repos/:repo/workspaces/:ws/deploy` | Start deploying a package to the workspace, as a job: answers the job's id |
|
|
208
|
+
| GET | `/api/repos/:repo/workspaces/:ws/deploy/:id` | Poll a deploy job: `processing`, what the deploy did for each record and index, or why it failed |
|
|
170
209
|
| DELETE | `/api/repos/:repo/workspaces/:ws` | Remove workspace |
|
|
171
|
-
|
|
|
210
|
+
| POST | `/api/repos/:repo/workspaces/:ws/export` | Start exporting the workspace as a package zip, as a job polled at `/api/repos/:repo/export/:id` |
|
|
211
|
+
|
|
212
|
+
A deploy that migrates a record, or builds an index over one, takes as long as
|
|
213
|
+
the record is large, so it runs as a job, on the runner the server runs every
|
|
214
|
+
record operation on. Its request names the package, what the deploy does with a
|
|
215
|
+
record it cannot keep as it is (`schema`: `migrate`, `fail` or `reset`),
|
|
216
|
+
whether it may drop a record the package no longer declares
|
|
217
|
+
(`allowDropRecords`), and whether it only says what it would do (`plan`).
|
|
172
218
|
|
|
173
219
|
### Datasets
|
|
174
220
|
|
|
175
221
|
| Method | Endpoint | Description |
|
|
176
222
|
|--------|----------|-------------|
|
|
177
223
|
| GET | `/api/repos/:repo/workspaces/:ws/datasets` | List root datasets |
|
|
178
|
-
| GET | `/api/repos/:repo/workspaces/:ws/datasets/*path` | Get dataset value (BEAST2) |
|
|
224
|
+
| GET | `/api/repos/:repo/workspaces/:ws/datasets/*path` | Get dataset value (BEAST2); a value over 1 MB that is not a collection answers JSON `{ url }` to download it from |
|
|
225
|
+
| GET | `/api/repos/:repo/workspaces/:ws/datasets/*path?segments=true` | A collection answers JSON `{ manifest }`, the manifest to download it by; any other value as above |
|
|
179
226
|
| PUT | `/api/repos/:repo/workspaces/:ws/datasets/*path` | Set dataset value (BEAST2) |
|
|
180
227
|
|
|
228
|
+
A collection is streamed as the splice of its segments. A client whose host
|
|
229
|
+
buffers responses downloads the manifest, the header it names and its segments
|
|
230
|
+
through the objects route and splices them itself, as e3-api-client's
|
|
231
|
+
`datasetGet` does; see
|
|
232
|
+
[`design/e3-data-architecture.md`](https://github.com/elaraai/east-workspace/blob/main/libs/e3/design/e3-data-architecture.md#dataset-download).
|
|
233
|
+
|
|
234
|
+
### Objects
|
|
235
|
+
|
|
236
|
+
| Method | Endpoint | Description |
|
|
237
|
+
|--------|----------|-------------|
|
|
238
|
+
| GET | `/api/repos/:repo/objects/:hash` | An object's bytes; one over 1 MB answers JSON `{ url }` to download it from |
|
|
239
|
+
| GET | `/api/downloads/:id` | A download a `{ url }` answer names (no `Authorization`) |
|
|
240
|
+
|
|
181
241
|
### Dataset transfer
|
|
182
242
|
|
|
183
|
-
Values too large to `PUT` inline are staged and committed.
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
243
|
+
Values too large to `PUT` inline are staged in parts and committed. The init
|
|
244
|
+
and the commit name the protocol version with `?protocol=2`, and the client's
|
|
245
|
+
release with `&release=`, which decides nothing. A request of another version,
|
|
246
|
+
or none, is refused, naming the server's release, the request's, and the fix.
|
|
247
|
+
The full protocol is in
|
|
248
|
+
[`design/e3-data-architecture.md`](https://github.com/elaraai/east-workspace/blob/main/libs/e3/design/e3-data-architecture.md#dataset-transfer).
|
|
187
249
|
|
|
188
250
|
| Method | Endpoint | Description |
|
|
189
251
|
|--------|----------|-------------|
|
|
190
|
-
| POST | `/api/repos/:repo/workspaces/:ws/datasets/*path/upload` | Start an upload: `completed` (already stored)
|
|
252
|
+
| POST | `/api/repos/:repo/workspaces/:ws/datasets/*path/upload` | Start an upload: `completed` (already stored) or `upload_parts` |
|
|
191
253
|
| GET | `/api/repos/:repo/workspaces/:ws/datasets/*path/upload/:id/parts/:n` | URL and headers for part `n` |
|
|
192
254
|
| POST | `/api/repos/:repo/workspaces/:ws/datasets/*path/upload/:id` | Commit: `completed`, `error`, or `processing` |
|
|
193
255
|
| GET | `/api/repos/:repo/workspaces/:ws/datasets/*path/upload/:id` | Poll a commit |
|
|
194
|
-
| PUT | `/api/uploads/:id` |
|
|
195
|
-
| PUT | `/api/uploads/:id/parts/:n` | Part `n` of a
|
|
256
|
+
| PUT | `/api/uploads/:id` | A package zip being imported (no `Authorization`) |
|
|
257
|
+
| PUT | `/api/uploads/:id/parts/:n` | Part `n` of a dataset upload (no `Authorization`) |
|
|
196
258
|
|
|
197
259
|
### Tasks
|
|
198
260
|
|
|
@@ -205,11 +267,13 @@ The full protocol is in [`design/e3-api.md`](https://github.com/elaraai/east-wor
|
|
|
205
267
|
|
|
206
268
|
| Method | Endpoint | Description |
|
|
207
269
|
|--------|----------|-------------|
|
|
208
|
-
| POST | `/api/repos/:repo/workspaces/:ws/dataflow
|
|
209
|
-
|
|
|
270
|
+
| POST | `/api/repos/:repo/workspaces/:ws/dataflow` | Start a run of the dataflow (answers 202 once it has started) |
|
|
271
|
+
| GET | `/api/repos/:repo/workspaces/:ws/dataflow` | Get workspace status (for polling) |
|
|
272
|
+
| GET | `/api/repos/:repo/workspaces/:ws/dataflow/execution` | The latest run's state and a window of its events (`offset`, `limit`), with the server's budget in use; while the run is in flight, the tasks and units waiting for room and each split task's progress, as the orchestrator running it answers them |
|
|
273
|
+
| GET | `/api/repos/:repo/workspaces/:ws/dataflow/budget` | The budget a run gets: the server's cores and memory, and what its runners hold now (`none` from a host whose runners hold none) |
|
|
274
|
+
| POST | `/api/repos/:repo/workspaces/:ws/dataflow/cancel` | Cancel the run in progress |
|
|
210
275
|
| GET | `/api/repos/:repo/workspaces/:ws/dataflow/graph` | Get dependency graph |
|
|
211
276
|
| GET | `/api/repos/:repo/workspaces/:ws/dataflow/logs/:task` | Read task logs |
|
|
212
|
-
| GET | `/api/repos/:repo/workspaces/:ws/dataflow/state` | Get current execution state |
|
|
213
277
|
|
|
214
278
|
## Request/Response Format
|
|
215
279
|
|
|
@@ -303,7 +367,7 @@ BSL 1.1. See [LICENSE.md](./LICENSE.md).
|
|
|
303
367
|
- [@elaraai/e3](https://www.npmjs.com/package/@elaraai/e3): SDK for authoring e3 packages with typed tasks and pipelines
|
|
304
368
|
- [@elaraai/e3-core](https://www.npmjs.com/package/@elaraai/e3-core): Object store, dataflow orchestrator, execution state
|
|
305
369
|
- [@elaraai/e3-types](https://www.npmjs.com/package/@elaraai/e3-types): Shared type definitions for e3 packages
|
|
306
|
-
- [@elaraai/e3-cli](https://www.npmjs.com/package/@elaraai/e3-cli): `e3 repo`, `e3 package`, `e3 workspace`, `e3
|
|
370
|
+
- [@elaraai/e3-cli](https://www.npmjs.com/package/@elaraai/e3-cli): `e3 repo`, `e3 package`, `e3 workspace`, `e3 dataflow run`, `e3 watch`, `e3 task logs` commands
|
|
307
371
|
- [@elaraai/e3-api-client](https://www.npmjs.com/package/@elaraai/e3-api-client): HTTP client for remote e3 repositories
|
|
308
372
|
- [@elaraai/e3-api-server](https://www.npmjs.com/package/@elaraai/e3-api-server): REST API server for e3 repositories
|
|
309
373
|
- [@elaraai/e3-api-tests](https://www.npmjs.com/package/@elaraai/e3-api-tests): Shared API compliance test suites
|
package/dist/src/beast2.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Licensed under BSL 1.1. See LICENSE for details.
|
|
4
4
|
*/
|
|
5
5
|
import { encodeBeast2For, decodeBeast2For, variant } from '@elaraai/east';
|
|
6
|
-
import { BEAST2_CONTENT_TYPE } from '@elaraai/e3-
|
|
6
|
+
import { BEAST2_CONTENT_TYPE } from '@elaraai/e3-types';
|
|
7
7
|
import { ResponseType } from './types.js';
|
|
8
8
|
/**
|
|
9
9
|
* Decode BEAST2 request body from Hono context.
|
package/dist/src/beast2.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"beast2.js","sourceRoot":"","sources":["../../src/beast2.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"beast2.js","sourceRoot":"","sources":["../../src/beast2.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,EAAE,YAAY,EAAc,MAAM,YAAY,CAAC;AAEtD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,CAAU,EACV,IAAO;IAEP,MAAM,WAAW,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IACjD,IAAI,WAAW,KAAK,mBAAmB,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,0BAA0B,mBAAmB,SAAS,WAAW,EAAE,CAAC,CAAC;IACvF,CAAC;IAED,iDAAiD;IACjD,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;IACzC,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACrC,OAAO,MAAM,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AACxC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAC1B,IAAgB,EAChB,IAAO;IAEP,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACrC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;AACtB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CACzB,IAAO,EACP,KAAqB;IAErB,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,6CAA6C;IAC3F,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAqC,CAAC,CAAC;IAEnF,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE;QACxB,MAAM,EAAE,GAAG;QACX,OAAO,EAAE;YACP,cAAc,EAAE,mBAAmB;YACnC,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;SAC1C;KACF,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,SAAS,CACvB,IAAO,EACP,KAAY;IAEZ,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAqC,CAAC,CAAC;IAEjF,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE;QACxB,MAAM,EAAE,GAAG;QACX,OAAO,EAAE;YACP,cAAc,EAAE,mBAAmB;YACnC,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;SAC1C;KACF,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACnC,IAAO,EACP,KAAqB,EACrB,MAAc;IAEd,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,6CAA6C;IAC3F,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAqC,CAAC,CAAC;IAEnF,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE;QACxB,MAAM;QACN,OAAO,EAAE;YACP,cAAc,EAAE,mBAAmB;YACnC,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;SAC1C;KACF,CAAC,CAAC;AACL,CAAC"}
|
package/dist/src/cli.js
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* Licensed under BSL 1.1. See LICENSE for details.
|
|
5
5
|
*/
|
|
6
6
|
import { Command } from 'commander';
|
|
7
|
+
import { resolveBudget } from '@elaraai/e3-core';
|
|
7
8
|
import { createServer } from './server.js';
|
|
8
9
|
const program = new Command();
|
|
9
10
|
program
|
|
@@ -21,6 +22,8 @@ program
|
|
|
21
22
|
.option('--auth-key <path>', 'JWT public key path (external auth)')
|
|
22
23
|
.option('--auth-issuer <iss>', 'Expected JWT issuer (external auth)')
|
|
23
24
|
.option('--auth-audience <aud>', 'Expected JWT audience (external auth)')
|
|
25
|
+
.option('-j, --jobs <n>', 'Cores: runner processes to keep in flight across every run and call the server serves (default: $E3_JOBS, else the CPUs available)')
|
|
26
|
+
.option('--memory <size>', 'Memory those runner processes may reserve between them, as 8G or 512M (default: $E3_MEMORY, else the memory available, less a reserve for e3 and the OS)')
|
|
24
27
|
.action(async (options) => {
|
|
25
28
|
// Validate mutually exclusive options
|
|
26
29
|
if (options.repos && options.repo) {
|
|
@@ -33,6 +36,14 @@ program
|
|
|
33
36
|
}
|
|
34
37
|
const port = parseInt(options.port, 10);
|
|
35
38
|
const host = options.host;
|
|
39
|
+
let budget;
|
|
40
|
+
try {
|
|
41
|
+
budget = resolveBudget({ jobs: options.jobs, memory: options.memory });
|
|
42
|
+
}
|
|
43
|
+
catch (err) {
|
|
44
|
+
console.error(`Error: ${err instanceof Error ? err.message : String(err)}`);
|
|
45
|
+
process.exit(1);
|
|
46
|
+
}
|
|
36
47
|
// Build auth config if all auth options provided (external provider)
|
|
37
48
|
const auth = options.authKey && options.authIssuer && options.authAudience
|
|
38
49
|
? {
|
|
@@ -57,6 +68,7 @@ program
|
|
|
57
68
|
cors: options.cors,
|
|
58
69
|
auth,
|
|
59
70
|
oidc,
|
|
71
|
+
budget,
|
|
60
72
|
});
|
|
61
73
|
await server.start();
|
|
62
74
|
console.log(`e3-api-server listening on http://${host}:${server.port}`);
|
|
@@ -67,6 +79,7 @@ program
|
|
|
67
79
|
console.log(`Serving single repository from: ${options.repo}`);
|
|
68
80
|
console.log(`Access via: http://${host}:${server.port}/repos/default`);
|
|
69
81
|
}
|
|
82
|
+
console.log(`Budget: ${budget.cores} ${budget.cores === 1 ? 'core' : 'cores'}, ${(budget.memory / 1024 ** 3).toFixed(1)} GiB`);
|
|
70
83
|
if (oidc) {
|
|
71
84
|
console.log(`OIDC provider enabled (token expiry: ${options.tokenExpiry})`);
|
|
72
85
|
if (process.env.E3_AUTH_AUTO_APPROVE === '1') {
|
package/dist/src/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":";AACA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,eAAe,CAAC;KACrB,WAAW,CAAC,iCAAiC,CAAC;KAC9C,OAAO,CAAC,cAAc,CAAC;KACvB,MAAM,CAAC,eAAe,EAAE,wDAAwD,CAAC;KACjF,MAAM,CAAC,eAAe,EAAE,2EAA2E,CAAC;KACpG,MAAM,CAAC,mBAAmB,EAAE,WAAW,EAAE,MAAM,CAAC;KAChD,MAAM,CAAC,mBAAmB,EAAE,cAAc,EAAE,WAAW,CAAC;KACxD,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC;KAC/B,MAAM,CAAC,QAAQ,EAAE,8CAA8C,CAAC;KAChE,MAAM,CAAC,2BAA2B,EAAE,+CAA+C,EAAE,IAAI,CAAC;KAC1F,MAAM,CAAC,mCAAmC,EAAE,gDAAgD,EAAE,KAAK,CAAC;KACpG,MAAM,CAAC,mBAAmB,EAAE,qCAAqC,CAAC;KAClE,MAAM,CAAC,qBAAqB,EAAE,qCAAqC,CAAC;KACpE,MAAM,CAAC,uBAAuB,EAAE,uCAAuC,CAAC;KACxE,MAAM,CAAC,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":";AACA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAe,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,eAAe,CAAC;KACrB,WAAW,CAAC,iCAAiC,CAAC;KAC9C,OAAO,CAAC,cAAc,CAAC;KACvB,MAAM,CAAC,eAAe,EAAE,wDAAwD,CAAC;KACjF,MAAM,CAAC,eAAe,EAAE,2EAA2E,CAAC;KACpG,MAAM,CAAC,mBAAmB,EAAE,WAAW,EAAE,MAAM,CAAC;KAChD,MAAM,CAAC,mBAAmB,EAAE,cAAc,EAAE,WAAW,CAAC;KACxD,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC;KAC/B,MAAM,CAAC,QAAQ,EAAE,8CAA8C,CAAC;KAChE,MAAM,CAAC,2BAA2B,EAAE,+CAA+C,EAAE,IAAI,CAAC;KAC1F,MAAM,CAAC,mCAAmC,EAAE,gDAAgD,EAAE,KAAK,CAAC;KACpG,MAAM,CAAC,mBAAmB,EAAE,qCAAqC,CAAC;KAClE,MAAM,CAAC,qBAAqB,EAAE,qCAAqC,CAAC;KACpE,MAAM,CAAC,uBAAuB,EAAE,uCAAuC,CAAC;KACxE,MAAM,CAAC,gBAAgB,EAAE,oIAAoI,CAAC;KAC9J,MAAM,CAAC,iBAAiB,EAAE,0JAA0J,CAAC;KACrL,MAAM,CAAC,KAAK,EAAE,OAcd,EAAE,EAAE;IACH,sCAAsC;IACtC,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QAClC,OAAO,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;QAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpC,OAAO,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAE1B,IAAI,MAAc,CAAC;IACnB,IAAI,CAAC;QACH,MAAM,GAAG,aAAa,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACzE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,qEAAqE;IACrE,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,YAAY;QACxE,CAAC,CAAC;YACE,aAAa,EAAE,OAAO,CAAC,OAAO;YAC9B,MAAM,EAAE,OAAO,CAAC,UAAU;YAC1B,QAAQ,EAAE,OAAO,CAAC,YAAY;SAC/B;QACH,CAAC,CAAC,SAAS,CAAC;IAEd,mDAAmD;IACnD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI;QACvB,CAAC,CAAC;YACE,OAAO,EAAE,UAAU,IAAI,IAAI,IAAI,EAAE;YACjC,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;SAC/C;QACH,CAAC,CAAC,SAAS,CAAC;IAEd,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC;QAChC,QAAQ,EAAE,OAAO,CAAC,KAAK;QACvB,cAAc,EAAE,OAAO,CAAC,IAAI;QAC5B,IAAI;QACJ,IAAI;QACJ,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,IAAI;QACJ,IAAI;QACJ,MAAM;KACP,CAAC,CAAC;IAEH,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IACrB,OAAO,CAAC,GAAG,CAAC,qCAAqC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IACxE,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,8BAA8B,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAC7D,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,mCAAmC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,IAAI,MAAM,CAAC,IAAI,gBAAgB,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,WAAW,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC/H,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,CAAC,GAAG,CAAC,wCAAwC,OAAO,CAAC,WAAW,GAAG,CAAC,CAAC;QAC5E,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,GAAG,EAAE,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAED,0BAA0B;IAC1B,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;QAC1B,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAClC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC;IAEF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,KAAK,QAAQ,EAAE,CAAC,CAAC;IAC5C,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,KAAK,QAAQ,EAAE,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,KAAK,EAAE,CAAC"}
|
package/dist/src/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAsBH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAoBtD;AA0BD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,QAAQ,CAQpD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,KAAK,CA+ElD"}
|
package/dist/src/errors.js
CHANGED
|
@@ -3,13 +3,15 @@
|
|
|
3
3
|
* Licensed under BSL 1.1. See LICENSE for details.
|
|
4
4
|
*/
|
|
5
5
|
import { variant, some, none } from '@elaraai/east';
|
|
6
|
-
import { RepoNotFoundError, WorkspaceNotFoundError, WorkspaceNotDeployedError, WorkspaceExistsError, WorkspaceLockError, PackageNotFoundError, PackageExistsError, PackageInvalidError, DatasetNotFoundError, DatasetTypeMismatchError, TaskNotFoundError, ExecutionNotFoundError, ObjectNotFoundError, DataflowError, DataflowAbortedError, PermissionDeniedError, } from '@elaraai/e3-core';
|
|
6
|
+
import { RepoNotFoundError, InvalidNameError, WorkspaceNotFoundError, WorkspaceNotDeployedError, WorkspaceExistsError, WorkspaceLockError, PackageNotFoundError, PackageExistsError, PackageInvalidError, DatasetNotFoundError, DatasetTypeMismatchError, TaskNotFoundError, ExecutionNotFoundError, ObjectNotFoundError, DataflowError, DataflowAbortedError, PermissionDeniedError, } from '@elaraai/e3-core';
|
|
7
7
|
/**
|
|
8
8
|
* Map an e3-core error to an HTTP status code.
|
|
9
9
|
*/
|
|
10
10
|
export function errorToHttpStatus(err) {
|
|
11
11
|
if (err instanceof RepoNotFoundError)
|
|
12
12
|
return 404;
|
|
13
|
+
if (err instanceof InvalidNameError)
|
|
14
|
+
return 400;
|
|
13
15
|
if (err instanceof WorkspaceNotFoundError)
|
|
14
16
|
return 404;
|
|
15
17
|
if (err instanceof WorkspaceNotDeployedError)
|
|
@@ -49,6 +51,8 @@ export function errorToHttpStatus(err) {
|
|
|
49
51
|
function errorToType(err) {
|
|
50
52
|
if (err instanceof RepoNotFoundError)
|
|
51
53
|
return 'repository_not_found';
|
|
54
|
+
if (err instanceof InvalidNameError)
|
|
55
|
+
return 'invalid_name';
|
|
52
56
|
if (err instanceof WorkspaceNotFoundError)
|
|
53
57
|
return 'workspace_not_found';
|
|
54
58
|
if (err instanceof WorkspaceNotDeployedError)
|
|
@@ -103,6 +107,9 @@ export function errorToVariant(err) {
|
|
|
103
107
|
if (err instanceof RepoNotFoundError) {
|
|
104
108
|
return variant('repository_not_found', { repo: err.repo });
|
|
105
109
|
}
|
|
110
|
+
if (err instanceof InvalidNameError) {
|
|
111
|
+
return variant('invalid_name', { kind: err.kind, name: err.value, message: err.message });
|
|
112
|
+
}
|
|
106
113
|
if (err instanceof WorkspaceNotFoundError) {
|
|
107
114
|
return variant('workspace_not_found', { workspace: err.workspace });
|
|
108
115
|
}
|
package/dist/src/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,23 +2,42 @@
|
|
|
2
2
|
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
3
3
|
* Licensed under BSL 1.1. See LICENSE for details.
|
|
4
4
|
*/
|
|
5
|
-
import type { StorageBackend } from '@elaraai/e3-core';
|
|
5
|
+
import type { Budget, DataflowOrchestrator, ExecutionStateStore, StorageBackend, TaskRunner } from '@elaraai/e3-core';
|
|
6
6
|
/**
|
|
7
7
|
* Start dataflow execution (non-blocking).
|
|
8
8
|
*
|
|
9
9
|
* Returns 202 Accepted immediately and runs execution in background.
|
|
10
|
-
*
|
|
10
|
+
* The run's state, which the orchestrator keeps in its state store, is what
|
|
11
|
+
* getDataflowExecution() polls.
|
|
12
|
+
*
|
|
13
|
+
* @param storage - Storage backend
|
|
14
|
+
* @param orchestrator - The orchestrator that runs the repository's dataflows
|
|
15
|
+
* @param repoPath - The repository's path
|
|
16
|
+
* @param workspace - The workspace whose dataflow runs
|
|
17
|
+
* @param options - The runner the run's tasks and units run on, which holds
|
|
18
|
+
* the server's budget; the tasks and units the loop keeps in flight, the
|
|
19
|
+
* orchestrator's own default when absent; and the run's force, filter and
|
|
20
|
+
* verbosity
|
|
21
|
+
* @returns 202 once the run has started, or the error that stopped it
|
|
11
22
|
*/
|
|
12
|
-
export declare function startDataflow(storage: StorageBackend, repoPath: string, workspace: string, options: {
|
|
13
|
-
|
|
23
|
+
export declare function startDataflow(storage: StorageBackend, orchestrator: DataflowOrchestrator, repoPath: string, workspace: string, options: {
|
|
24
|
+
runner: TaskRunner;
|
|
25
|
+
width?: number;
|
|
14
26
|
force: boolean;
|
|
15
27
|
filter?: string;
|
|
16
28
|
verbose?: boolean;
|
|
17
29
|
}): Promise<Response>;
|
|
18
30
|
/**
|
|
19
31
|
* Get workspace status (for polling).
|
|
32
|
+
*
|
|
33
|
+
* @param storage - Storage backend
|
|
34
|
+
* @param runner - The runner the repository's tasks run on, which says
|
|
35
|
+
* whether an execution recorded running can still finish
|
|
36
|
+
* @param repoPath - The repository's path
|
|
37
|
+
* @param workspace - The workspace
|
|
38
|
+
* @returns The response: the status, or the error
|
|
20
39
|
*/
|
|
21
|
-
export declare function getDataflowStatus(storage: StorageBackend, repoPath: string, workspace: string): Promise<Response>;
|
|
40
|
+
export declare function getDataflowStatus(storage: StorageBackend, runner: TaskRunner, repoPath: string, workspace: string): Promise<Response>;
|
|
22
41
|
/**
|
|
23
42
|
* Get dependency graph.
|
|
24
43
|
*/
|
|
@@ -30,15 +49,43 @@ export declare function getTaskLogs(storage: StorageBackend, repoPath: string, w
|
|
|
30
49
|
/**
|
|
31
50
|
* Get dataflow execution state (for polling).
|
|
32
51
|
*
|
|
33
|
-
* Returns the
|
|
34
|
-
*
|
|
52
|
+
* Returns the state of the workspace's latest run, as the state store keeps
|
|
53
|
+
* it, including events for progress tracking: the run in flight, whichever
|
|
54
|
+
* process runs it, or the last to end. Supports offset/limit for paginating
|
|
55
|
+
* events. While the run is in flight, it carries the tasks and units waiting
|
|
56
|
+
* for room and each split task's progress, which the orchestrator running it
|
|
57
|
+
* keeps in memory; and it carries the server's budget when it has one.
|
|
58
|
+
*
|
|
59
|
+
* @param stateStore - The store the repository's runs keep their state in
|
|
60
|
+
* @param orchestrator - The orchestrator that runs the repository's dataflows
|
|
61
|
+
* @param repoPath - The repository's path
|
|
62
|
+
* @param workspace - The workspace
|
|
63
|
+
* @param options - The window of events to serve
|
|
64
|
+
* @param budget - The server's budget, which its runners hold, if any
|
|
65
|
+
* @returns The execution state, or `execution_not_found`
|
|
35
66
|
*/
|
|
36
|
-
export declare function getDataflowExecution(repoPath: string, workspace: string, options?: {
|
|
67
|
+
export declare function getDataflowExecution(stateStore: ExecutionStateStore, orchestrator: DataflowOrchestrator, repoPath: string, workspace: string, options?: {
|
|
37
68
|
offset?: number;
|
|
38
69
|
limit?: number;
|
|
39
|
-
}): Promise<Response>;
|
|
70
|
+
}, budget?: Budget): Promise<Response>;
|
|
40
71
|
/**
|
|
41
|
-
*
|
|
72
|
+
* The budget a run of the dataflow gets: the server's, which it shares with
|
|
73
|
+
* everything else the server runs.
|
|
74
|
+
*
|
|
75
|
+
* @param budget - The server's budget, which its runners hold, if any
|
|
76
|
+
* @returns The budget with what its runners hold now, or `none` for a server
|
|
77
|
+
* whose runners hold none
|
|
78
|
+
*/
|
|
79
|
+
export declare function getDataflowBudget(budget: Budget | undefined): Response;
|
|
80
|
+
/**
|
|
81
|
+
* Cancel a running dataflow execution: the workspace's latest run, when its
|
|
82
|
+
* state says it is running.
|
|
83
|
+
*
|
|
84
|
+
* @param stateStore - The store the repository's runs keep their state in
|
|
85
|
+
* @param orchestrator - The orchestrator that runs the repository's dataflows
|
|
86
|
+
* @param repoPath - The repository's path
|
|
87
|
+
* @param workspace - The workspace
|
|
88
|
+
* @returns The response: null once the run is cancelled, or why it is not
|
|
42
89
|
*/
|
|
43
|
-
export declare function cancelDataflow(repoPath: string, workspace: string): Promise<Response>;
|
|
90
|
+
export declare function cancelDataflow(stateStore: ExecutionStateStore, orchestrator: DataflowOrchestrator, repoPath: string, workspace: string): Promise<Response>;
|
|
44
91
|
//# sourceMappingURL=dataflow.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataflow.d.ts","sourceRoot":"","sources":["../../../src/handlers/dataflow.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAkBH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"dataflow.d.ts","sourceRoot":"","sources":["../../../src/handlers/dataflow.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAkBH,OAAO,KAAK,EAAE,MAAM,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AA8ItH;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,cAAc,EACvB,YAAY,EAAE,oBAAoB,EAClC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAClG,OAAO,CAAC,QAAQ,CAAC,CAsBnB;AAED;;;;;;;;;GASG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,UAAU,EAClB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,QAAQ,CAAC,CAOnB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,QAAQ,CAAC,CAenB;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,QAAQ,GAAG,QAAQ,EAC3B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,QAAQ,CAAC,CAqBnB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,mBAAmB,EAC/B,YAAY,EAAE,oBAAoB,EAClC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,EACjD,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,QAAQ,CAAC,CA6JnB;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,CAEtE;AAED;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAClC,UAAU,EAAE,mBAAmB,EAC/B,YAAY,EAAE,oBAAoB,EAClC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,QAAQ,CAAC,CAenB"}
|