@nylorun/runtime 0.22.0-beta → 0.24.0-beta
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/CHANGELOG.md +161 -0
- package/README.md +95 -30
- package/dist/adapters/execution/restate.d.ts +15 -3
- package/dist/adapters/execution/restate.js +78 -84
- package/dist/adapters/replication/pgoutput.d.ts +2 -0
- package/dist/adapters/replication/pgoutput.js +6 -3
- package/dist/adapters/sandbox/local.d.ts +9 -1
- package/dist/adapters/sandbox/local.js +16 -4
- package/dist/adapters/sandbox/virtual.js +4 -1
- package/dist/adapters/streams/s2.js +1 -13
- package/dist/api/a2a/endpoint.js +5 -1
- package/dist/api/a2a/routes.d.ts +2 -0
- package/dist/api/a2a/routes.js +2 -2
- package/dist/api/a2a/tasks.js +2 -1
- package/dist/api/ag-ui/endpoint.js +4 -2
- package/dist/api/ag-ui/history.js +4 -1
- package/dist/api/ag-ui/routes.d.ts +4 -1
- package/dist/api/ag-ui/routes.js +11 -10
- package/dist/api/ag-ui/translate.js +3 -2
- package/dist/api/components.d.ts +4953 -1204
- package/dist/api/components.js +25 -16
- package/dist/api/gate/keys.js +7 -1
- package/dist/api/gate/routes.d.ts +6 -0
- package/dist/api/gate/routes.js +39 -3
- package/dist/api/http/app.js +4 -4
- package/dist/api/http/define.d.ts +6 -0
- package/dist/api/http/define.js +13 -1
- package/dist/api/http/respond.js +1 -1
- package/dist/api/http/routes/artifacts.js +35 -8
- package/dist/api/http/routes/coverage.d.ts +9 -0
- package/dist/api/http/routes/coverage.js +34 -0
- package/dist/api/http/routes/environments.d.ts +11 -0
- package/dist/api/http/routes/environments.js +283 -0
- package/dist/api/http/routes/mcp.d.ts +1 -1
- package/dist/api/http/routes/mcp.js +2 -2
- package/dist/api/http/routes/me.js +1 -1
- package/dist/api/http/routes/reads.d.ts +45 -9
- package/dist/api/http/routes/reads.js +54 -5
- package/dist/api/http/routes/sessions.js +11 -6
- package/dist/api/http/routes/tenant.js +32 -10
- package/dist/api/openapi.js +31 -26
- package/dist/artifacts/disk.d.ts +59 -0
- package/dist/artifacts/disk.js +563 -0
- package/dist/artifacts/export.d.ts +1 -1
- package/dist/artifacts/export.js +2 -3
- package/dist/artifacts/folders.d.ts +6 -3
- package/dist/artifacts/folders.js +17 -12
- package/dist/artifacts/service.d.ts +2 -1
- package/dist/artifacts/service.js +6 -1
- package/dist/artifacts/workspace.d.ts +1 -1
- package/dist/artifacts/workspace.js +1 -1
- package/dist/core/flow-host.d.ts +3 -22
- package/dist/core/flow-host.js +11 -37
- package/dist/core/provider.d.ts +3 -2
- package/dist/core/provider.js +5 -37
- package/dist/core/sandbox-routes.d.ts +2 -21
- package/dist/core/sandbox-routes.js +10 -43
- package/dist/execution/types.d.ts +11 -9
- package/dist/execution/types.js +5 -7
- package/dist/gates/contract.d.ts +3 -24
- package/dist/gates/contract.js +1 -36
- package/dist/gates/egress-credentials.d.ts +9 -0
- package/dist/gates/egress-credentials.js +11 -4
- package/dist/gates/egress.d.ts +28 -1
- package/dist/gates/egress.js +115 -10
- package/dist/gates/fixture-model.d.ts +28 -0
- package/dist/gates/fixture-model.js +92 -0
- package/dist/gates/handler.js +4 -4
- package/dist/gates/http-tool.d.ts +6 -2
- package/dist/gates/http-tool.js +3 -5
- package/dist/gates/in-process.d.ts +5 -0
- package/dist/gates/in-process.js +12 -1
- package/dist/gates/journal.d.ts +30 -0
- package/dist/gates/journal.js +52 -0
- package/dist/gates/mcp-handler.d.ts +4 -0
- package/dist/gates/mcp-handler.js +5 -1
- package/dist/gates/meter.d.ts +10 -2
- package/dist/gates/meter.js +20 -5
- package/dist/gates/policy.d.ts +49 -0
- package/dist/gates/policy.js +134 -0
- package/dist/gates/tenant-vaults.d.ts +7 -7
- package/dist/gates/tenant-vaults.js +5 -5
- package/dist/gates/tool-calls.d.ts +10 -5
- package/dist/gates/tool-calls.js +28 -10
- package/dist/gates/tool-client.d.ts +8 -0
- package/dist/gates/tool-client.js +27 -11
- package/dist/gates/tool-contract.d.ts +10 -68
- package/dist/gates/tool-contract.js +1 -85
- package/dist/gates/tool-gate.d.ts +1 -1
- package/dist/harness/calls.d.ts +12 -5
- package/dist/harness/calls.js +21 -12
- package/dist/harness/executors.js +12 -9
- package/dist/harness/main.js +18 -5
- package/dist/harness/pod.d.ts +34 -0
- package/dist/harness/pod.js +41 -0
- package/dist/harness/service.d.ts +0 -1
- package/dist/harness/service.js +13 -5
- package/dist/harness/setup.d.ts +27 -0
- package/dist/harness/setup.js +150 -0
- package/dist/harness/ws-client.js +3 -2
- package/dist/harness/ws-port.d.ts +1 -5
- package/dist/harness/ws-port.js +1 -5
- package/dist/harness-api/in-process.js +3 -3
- package/dist/harness-api/record.d.ts +15 -1
- package/dist/harness-api/record.js +174 -44
- package/dist/harness-api/redact.d.ts +3 -0
- package/dist/harness-api/redact.js +45 -0
- package/dist/harness-api/server.d.ts +8 -0
- package/dist/harness-api/server.js +93 -13
- package/dist/harness-api/start.d.ts +10 -3
- package/dist/harness-api/start.js +40 -10
- package/dist/harness-api/tool-journal.d.ts +96 -0
- package/dist/harness-api/tool-journal.js +102 -0
- package/dist/harness-api/tool-status.d.ts +13 -0
- package/dist/harness-api/tool-status.js +26 -0
- package/dist/harness-api/workspace.d.ts +6 -3
- package/dist/harness-api/workspace.js +27 -11
- package/dist/harness-api/ws-server.d.ts +11 -3
- package/dist/harness-api/ws-server.js +94 -15
- package/dist/host/execution.d.ts +8 -6
- package/dist/host/gates.d.ts +2 -1
- package/dist/host/gates.js +10 -2
- package/dist/host/main.js +64 -21
- package/dist/host/operate.js +67 -5
- package/dist/host/stack-config.d.ts +70 -0
- package/dist/host/stack-config.js +67 -1
- package/dist/infra/execution.d.ts +18 -1
- package/dist/infra/execution.js +28 -4
- package/dist/infra/index.d.ts +1 -1
- package/dist/keys/client.js +4 -1
- package/dist/keys/keys.d.ts +5 -5
- package/dist/keys/keys.js +5 -7
- package/dist/management-openapi.json +999 -2211
- package/dist/mcp/connect.d.ts +25 -20
- package/dist/mcp/connect.js +29 -30
- package/dist/mcp/pool.d.ts +2 -2
- package/dist/mcp/pool.js +1 -1
- package/dist/mcp/preview.d.ts +3 -3
- package/dist/mcp/preview.js +10 -20
- package/dist/mcp/snapshot.d.ts +5 -11
- package/dist/mcp/snapshot.js +6 -7
- package/dist/model/pi-model.js +8 -0
- package/dist/openapi.json +6955 -2526
- package/dist/reads/types.d.ts +16 -3
- package/dist/record/append.d.ts +3 -1
- package/dist/record/append.js +1 -0
- package/dist/record/envelope.d.ts +5 -1
- package/dist/record/envelope.js +7 -3
- package/dist/record/environment.d.ts +25 -0
- package/dist/record/environment.js +44 -0
- package/dist/record/index.d.ts +1 -1
- package/dist/record/index.js +1 -1
- package/dist/retry.d.ts +21 -0
- package/dist/retry.js +34 -0
- package/dist/sandbox/disk-fs.d.ts +95 -0
- package/dist/sandbox/disk-fs.js +206 -0
- package/dist/sandbox/join.d.ts +17 -18
- package/dist/sandbox/join.js +46 -20
- package/dist/sandbox/manager.d.ts +16 -8
- package/dist/sandbox/manager.js +33 -17
- package/dist/sandbox/placement.d.ts +13 -12
- package/dist/sandbox/placement.js +29 -12
- package/dist/sandbox/pods/client.d.ts +6 -1
- package/dist/sandbox/pods/lifecycle.d.ts +28 -27
- package/dist/sandbox/pods/lifecycle.js +14 -26
- package/dist/sandbox/pods/reconcile.js +21 -15
- package/dist/sandbox/pods/spec.d.ts +15 -13
- package/dist/sandbox/pods/spec.js +16 -20
- package/dist/sandbox/records.d.ts +2 -2
- package/dist/sandbox/records.js +3 -3
- package/dist/sandbox/resolve.d.ts +35 -27
- package/dist/sandbox/resolve.js +66 -41
- package/dist/sandbox/session-sandbox.js +1 -1
- package/dist/sandbox/setup.d.ts +61 -0
- package/dist/sandbox/setup.js +123 -0
- package/dist/sandbox/share.d.ts +11 -21
- package/dist/sandbox/share.js +12 -41
- package/dist/sandbox/tenant-config.d.ts +12 -14
- package/dist/sandbox/tenant-config.js +12 -17
- package/dist/sandbox/types.d.ts +6 -0
- package/dist/store/postgres/control.js +8 -1
- package/dist/store/postgres/drizzle/0018_wake_outbox_retries.sql +3 -0
- package/dist/store/postgres/drizzle/0019_sandbox_signal_outbox.sql +18 -0
- package/dist/store/postgres/drizzle/0020_environments.sql +63 -0
- package/dist/store/postgres/drizzle/0021_disk_versions.sql +7 -0
- package/dist/store/postgres/drizzle/0022_model_usage_timing.sql +5 -0
- package/dist/store/postgres/drizzle/0023_artifact_pages.sql +1 -0
- package/dist/store/postgres/drizzle/meta/_journal.json +42 -0
- package/dist/store/postgres/reads.js +117 -17
- package/dist/store/postgres/record-writer.d.ts +4 -4
- package/dist/store/postgres/record-writer.js +9 -9
- package/dist/store/postgres/record.d.ts +7 -0
- package/dist/store/postgres/record.js +23 -2
- package/dist/store/postgres/schema.d.ts +1213 -779
- package/dist/store/postgres/schema.js +136 -76
- package/dist/store/postgres/store.js +283 -117
- package/dist/store/types.d.ts +206 -88
- package/dist/streams/relay/core.js +1 -13
- package/dist/tenant/advance.d.ts +7 -6
- package/dist/tenant/advance.js +121 -49
- package/dist/tenant/artifact-tool.js +3 -4
- package/dist/tenant/commands.d.ts +15 -2
- package/dist/tenant/commands.js +94 -14
- package/dist/tenant/context.d.ts +67 -33
- package/dist/tenant/context.js +4 -15
- package/dist/tenant/control.d.ts +8 -1
- package/dist/tenant/control.js +2 -0
- package/dist/tenant/effects.d.ts +1 -1
- package/dist/tenant/effects.js +37 -20
- package/dist/tenant/environments.d.ts +167 -0
- package/dist/tenant/environments.js +823 -0
- package/dist/tenant/harness-tokens.d.ts +21 -0
- package/dist/tenant/harness-tokens.js +61 -0
- package/dist/tenant/host-token.d.ts +1 -1
- package/dist/tenant/host-token.js +2 -4
- package/dist/tenant/identity-file.d.ts +4 -4
- package/dist/tenant/identity-file.js +17 -8
- package/dist/tenant/issuers.js +3 -3
- package/dist/tenant/principals.js +1 -1
- package/dist/tenant/reset.js +3 -3
- package/dist/tenant/runtime.d.ts +6 -1
- package/dist/tenant/runtime.js +30 -4
- package/dist/tenant/scheduler.d.ts +7 -0
- package/dist/tenant/scheduler.js +38 -7
- package/dist/tenant/session-streams.d.ts +0 -1
- package/dist/tenant/session-streams.js +1 -13
- package/dist/tenant/session.d.ts +3 -3
- package/dist/tenant/session.js +0 -14
- package/dist/tenant/sessions.d.ts +13 -13
- package/dist/tenant/sessions.js +61 -138
- package/dist/tenant/signing-keys.d.ts +5 -1
- package/dist/tenant/status.js +3 -3
- package/dist/tenant/streams.js +14 -29
- package/dist/tenant/sweep.d.ts +39 -12
- package/dist/tenant/sweep.js +168 -63
- package/dist/tenant/transcript.d.ts +210 -20
- package/dist/tenant/transcript.js +62 -11
- package/dist/tenant/turn-timing.d.ts +43 -0
- package/dist/tenant/turn-timing.js +39 -0
- package/dist/tenant/types.d.ts +2 -0
- package/dist/traces/ids.d.ts +42 -0
- package/dist/traces/ids.js +85 -0
- package/dist/traces/key.d.ts +6 -0
- package/dist/traces/key.js +37 -0
- package/dist/traces/map.d.ts +113 -0
- package/dist/traces/map.js +317 -0
- package/dist/traces/options.d.ts +7 -0
- package/dist/traces/options.js +1 -0
- package/dist/traces/otlp.d.ts +42 -0
- package/dist/traces/otlp.js +84 -0
- package/dist/traces/projector.d.ts +58 -0
- package/dist/traces/projector.js +200 -0
- package/dist/traces/read.d.ts +23 -0
- package/dist/traces/read.js +16 -0
- package/dist/vault/coverage.d.ts +26 -0
- package/dist/vault/coverage.js +64 -0
- package/dist/vault/error.d.ts +11 -1
- package/dist/vault/error.js +5 -1
- package/dist/vault/service.d.ts +47 -48
- package/dist/vault/service.js +321 -382
- package/dist/vault/sources.d.ts +5 -16
- package/dist/vault/sources.js +6 -8
- package/dist/version.d.ts +1 -1
- package/dist/version.js +2 -2
- package/package.json +14 -13
- package/dist/api/http/routes/sandboxes.d.ts +0 -9
- package/dist/api/http/routes/sandboxes.js +0 -153
- package/dist/api/http/routes/vaults.d.ts +0 -10
- package/dist/api/http/routes/vaults.js +0 -139
- package/dist/record/sandbox.d.ts +0 -25
- package/dist/record/sandbox.js +0 -43
- package/dist/tenant/sandboxes.d.ts +0 -122
- package/dist/tenant/sandboxes.js +0 -562
package/dist/api/openapi.js
CHANGED
|
@@ -135,6 +135,8 @@ const RUNTIME_TAGS = [
|
|
|
135
135
|
"GET /v1/sessions/{sessionId}/manifest",
|
|
136
136
|
"GET /v1/sessions/{sessionId}/usage",
|
|
137
137
|
"GET /v1/sessions/{sessionId}/calls/model",
|
|
138
|
+
"GET /v1/sessions/{sessionId}/calls/tool",
|
|
139
|
+
"GET /v1/sessions/{sessionId}/turns/{turnId}/trace",
|
|
138
140
|
"POST /v1/sessions/{sessionId}/sandbox/{tool}",
|
|
139
141
|
],
|
|
140
142
|
},
|
|
@@ -156,17 +158,25 @@ const RUNTIME_TAGS = [
|
|
|
156
158
|
operations: ["GET /v1/a2a/agents/{agentId}/card", "POST /v1/a2a/agents/{agentId}"],
|
|
157
159
|
},
|
|
158
160
|
{
|
|
159
|
-
name: "
|
|
160
|
-
group: "
|
|
161
|
-
description: "
|
|
161
|
+
name: "Environments",
|
|
162
|
+
group: "Environments",
|
|
163
|
+
description: "Where sessions run: one sandbox (a virtual workspace, a pod with its own volume, or none) with a recipe that can change, and one vault of secrets for its shell, MCP servers and HTTP tools. Create, find or change one, watch its lifecycle, stop, reset or delete it, and write its secrets. In `@nylorun/agents`.",
|
|
162
164
|
operations: [
|
|
163
|
-
"PUT /v1/
|
|
164
|
-
"GET /v1/
|
|
165
|
-
"GET /v1/
|
|
166
|
-
"GET /v1/
|
|
167
|
-
"POST /v1/
|
|
168
|
-
"POST /v1/
|
|
169
|
-
"DELETE /v1/
|
|
165
|
+
"PUT /v1/environments/{environmentId}",
|
|
166
|
+
"GET /v1/environments",
|
|
167
|
+
"GET /v1/environments/{environmentId}",
|
|
168
|
+
"GET /v1/environments/{environmentId}/events",
|
|
169
|
+
"POST /v1/environments/{environmentId}/stop",
|
|
170
|
+
"POST /v1/environments/{environmentId}/reset",
|
|
171
|
+
"DELETE /v1/environments/{environmentId}",
|
|
172
|
+
"GET /v1/environments/{environmentId}/secrets",
|
|
173
|
+
"GET /v1/environments/{environmentId}/secrets/{name}",
|
|
174
|
+
"PUT /v1/environments/{environmentId}/secrets/{name}",
|
|
175
|
+
"DELETE /v1/environments/{environmentId}/secrets/{name}",
|
|
176
|
+
"POST /v1/environments/{environmentId}/snapshot",
|
|
177
|
+
"POST /v1/environments/{environmentId}/restore",
|
|
178
|
+
"GET /v1/environments/{environmentId}/versions",
|
|
179
|
+
"DELETE /v1/environments/{environmentId}/versions/{version}",
|
|
170
180
|
],
|
|
171
181
|
},
|
|
172
182
|
{
|
|
@@ -235,23 +245,18 @@ const MANAGEMENT_TAGS = [
|
|
|
235
245
|
],
|
|
236
246
|
},
|
|
237
247
|
{
|
|
238
|
-
name: "
|
|
239
|
-
description: "The
|
|
240
|
-
operations: [
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
"GET /v1/tenant/vaults/{vaultId}/credentials",
|
|
247
|
-
"GET /v1/tenant/vaults/{vaultId}/credentials/{credentialId}",
|
|
248
|
-
"POST /v1/tenant/vaults/{vaultId}/credentials/{credentialId}",
|
|
249
|
-
"DELETE /v1/tenant/vaults/{vaultId}/credentials/{credentialId}",
|
|
250
|
-
],
|
|
248
|
+
name: "Tool policy",
|
|
249
|
+
description: "The rules the Tool Gate applies to every MCP and HTTP tool call of every harness: refuse it, hold it for a person's approval, or run it. `admin.toolPolicy`.",
|
|
250
|
+
operations: ["GET /v1/tenant/tool-policy", "PUT /v1/tenant/tool-policy"],
|
|
251
|
+
},
|
|
252
|
+
{
|
|
253
|
+
name: "Credential coverage",
|
|
254
|
+
description: "Which secret of an Environment each of an agent's MCP servers and HTTP tools would get, before a session opens. The secrets themselves are written on the Runtime API. `admin.coverage`.",
|
|
255
|
+
operations: ["POST /v1/tenant/credential-coverage"],
|
|
251
256
|
},
|
|
252
257
|
{
|
|
253
258
|
name: "MCP servers",
|
|
254
|
-
description: "See a remote MCP server's tools before an agent names it, with
|
|
259
|
+
description: "See a remote MCP server's tools before an agent names it, with an Environment's credential for its URL: their model names, sizes and annotations, or that it needs a person's sign-in. `admin.mcp`.",
|
|
255
260
|
operations: ["POST /v1/tenant/mcp/preview"],
|
|
256
261
|
},
|
|
257
262
|
{
|
|
@@ -265,7 +270,7 @@ const MANAGEMENT_TAGS = [
|
|
|
265
270
|
},
|
|
266
271
|
{
|
|
267
272
|
name: "Settings",
|
|
268
|
-
description: "The Tenant's sandbox and artifact settings. `admin.settings`.",
|
|
273
|
+
description: "The Tenant's sandbox backend, Environment and artifact settings. `admin.settings`.",
|
|
269
274
|
operations: [
|
|
270
275
|
"GET /v1/tenant/sandbox",
|
|
271
276
|
"PUT /v1/tenant/sandbox",
|
|
@@ -368,7 +373,7 @@ function documents() {
|
|
|
368
373
|
built = {
|
|
369
374
|
runtime: document(all, RUNTIME_TAGS, {
|
|
370
375
|
title: "Nylorun Runtime API",
|
|
371
|
-
description: "For developers: agents, sessions (with AG-UI and A2A),
|
|
376
|
+
description: "For developers: agents, sessions (with AG-UI and A2A), Environments and artifacts, through `@nylorun/agents`. Every Tenant serves it on its one URL, beside the Management API (`/openapi/management.json`). Every request sends `Nylorun-Protocol`. Who may call each operation is its `security` and its `x-nylorun-credentials` and `x-nylorun-scopes` (the subject scopes that reach it) fields: an application key (servers) or a trusted issuer's token (browsers and apps).",
|
|
372
377
|
}),
|
|
373
378
|
management: document(all, MANAGEMENT_TAGS, {
|
|
374
379
|
title: "Nylorun Management API",
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { type EnvironmentRestore, type EnvironmentSnapshot, type EnvironmentVersions } from "@nylorun/core/contracts";
|
|
2
|
+
import type { Tx } from "../store/types.js";
|
|
3
|
+
import type { TenantContext } from "../tenant/context.js";
|
|
4
|
+
import { assertReaches } from "../tenant/environments.js";
|
|
5
|
+
/** The most entries one version holds (R6 Q11). */
|
|
6
|
+
export declare const DISK_MAX_ENTRIES = 200000;
|
|
7
|
+
/** The most bytes one version's files hold. */
|
|
8
|
+
export declare const DISK_MAX_BYTES: number;
|
|
9
|
+
/** The name of an Environment's disk artifact. */
|
|
10
|
+
export declare const DISK_ARTIFACT_NAME = "disk";
|
|
11
|
+
/**
|
|
12
|
+
* `POST /v1/environments/{id}/snapshot`: a new version of the Environment's disk, between turns.
|
|
13
|
+
* A pod that is stopped is started first. An unchanged disk makes no version.
|
|
14
|
+
*/
|
|
15
|
+
export declare function snapshotEnvironment(ctx: TenantContext, id: string, scope: Parameters<typeof assertReaches>[0]): Promise<EnvironmentSnapshot>;
|
|
16
|
+
/**
|
|
17
|
+
* `POST /v1/environments/{id}/restore`: puts disk version `version` back. A virtual
|
|
18
|
+
* Environment's workspace is rewritten at once; a pod gets a new volume, seeded from the version
|
|
19
|
+
* before any turn (`status: pending` until then).
|
|
20
|
+
*/
|
|
21
|
+
export declare function restoreEnvironment(ctx: TenantContext, id: string, scope: Parameters<typeof assertReaches>[0], version: number | "latest"): Promise<EnvironmentRestore>;
|
|
22
|
+
/**
|
|
23
|
+
* Writes Environment `id`'s pending seed (`disk_seed`) into its disk, once its pod's engine is
|
|
24
|
+
* connected (or at once for a virtual one), then clears the seed and the lease. Started after a
|
|
25
|
+
* pod joins, after a virtual Environment is forked, and by the Tenant sweep for a seed whose
|
|
26
|
+
* lease lapsed. Best effort: a failure leaves the seed for the next try.
|
|
27
|
+
*/
|
|
28
|
+
export declare function runPendingSeed(ctx: TenantContext, id: string): Promise<void>;
|
|
29
|
+
/** Starts the pending seeds whose engine is connected and whose lease lapsed (Tenant sweep). */
|
|
30
|
+
export declare function sweepPendingSeeds(ctx: TenantContext): Promise<void>;
|
|
31
|
+
/**
|
|
32
|
+
* After a pod Environment was found `lost`: when its disk has a version, it gets a new volume
|
|
33
|
+
* seeded from the latest one, instead of refusing turns until a reset (R6 Q9: eager).
|
|
34
|
+
*/
|
|
35
|
+
export declare function recoverLostVolume(ctx: TenantContext, id: string): Promise<boolean>;
|
|
36
|
+
/** The disk version a fork starts from (`from` on a create), after the caller's checks. */
|
|
37
|
+
export declare function forkSeedOf(t: Tx, from: {
|
|
38
|
+
environment: string;
|
|
39
|
+
version: number | "latest";
|
|
40
|
+
}): Promise<{
|
|
41
|
+
artifactId: string;
|
|
42
|
+
version: number;
|
|
43
|
+
}>;
|
|
44
|
+
/** `GET /v1/environments/{id}/versions`: its disk versions, newest first. */
|
|
45
|
+
export declare function environmentVersions(ctx: TenantContext, id: string, scope: Parameters<typeof assertReaches>[0]): Promise<EnvironmentVersions>;
|
|
46
|
+
/**
|
|
47
|
+
* `DELETE /v1/environments/{id}/versions/{n}`: deletes one disk version, and the stored files no
|
|
48
|
+
* other version names. Refused while a seed reads it.
|
|
49
|
+
*/
|
|
50
|
+
export declare function deleteEnvironmentVersion(ctx: TenantContext, id: string, scope: Parameters<typeof assertReaches>[0], version: number): Promise<{
|
|
51
|
+
environmentId: string;
|
|
52
|
+
version: number;
|
|
53
|
+
deleted: boolean;
|
|
54
|
+
}>;
|
|
55
|
+
/**
|
|
56
|
+
* Deletes Environment `id`'s disk artifact with its versions, in the transaction that deletes the
|
|
57
|
+
* Environment (it holds the row's lock); returns the manifests' keys to delete after commit.
|
|
58
|
+
*/
|
|
59
|
+
export declare function deleteDiskArtifact(ctx: TenantContext, t: Tx, id: string): Promise<string[]>;
|