sandbox0 0.10.4 → 0.10.6
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 +134 -0
- package/dist/apispec/src/apis/FilesApi.d.ts +14 -10
- package/dist/apispec/src/apis/FilesApi.d.ts.map +1 -1
- package/dist/apispec/src/apis/FilesApi.js +14 -10
- package/dist/apispec/src/apis/SandboxRootfsApi.d.ts +96 -5
- package/dist/apispec/src/apis/SandboxRootfsApi.d.ts.map +1 -1
- package/dist/apispec/src/apis/SandboxRootfsApi.js +291 -5
- package/dist/apispec/src/apis/SandboxesApi.d.ts +345 -6
- package/dist/apispec/src/apis/SandboxesApi.d.ts.map +1 -1
- package/dist/apispec/src/apis/SandboxesApi.js +1017 -7
- package/dist/apispec/src/apis/SessionsApi.d.ts +51 -1
- package/dist/apispec/src/apis/SessionsApi.d.ts.map +1 -1
- package/dist/apispec/src/apis/SessionsApi.js +159 -1
- package/dist/apispec/src/models/CaptureSandboxRootFSSnapshotRequest.d.ts +51 -0
- package/dist/apispec/src/models/CaptureSandboxRootFSSnapshotRequest.d.ts.map +1 -0
- package/dist/apispec/src/models/CaptureSandboxRootFSSnapshotRequest.js +49 -0
- package/dist/apispec/src/models/ConditionalExecutionSessionRequest.d.ts +46 -0
- package/dist/apispec/src/models/ConditionalExecutionSessionRequest.d.ts.map +1 -0
- package/dist/apispec/src/models/ConditionalExecutionSessionRequest.js +52 -0
- package/dist/apispec/src/models/ForkSandboxConfig.d.ts +6 -0
- package/dist/apispec/src/models/ForkSandboxConfig.d.ts.map +1 -1
- package/dist/apispec/src/models/ForkSandboxConfig.js +2 -0
- package/dist/apispec/src/models/ForkSandboxRequest.d.ts +6 -0
- package/dist/apispec/src/models/ForkSandboxRequest.d.ts.map +1 -1
- package/dist/apispec/src/models/ForkSandboxRequest.js +2 -0
- package/dist/apispec/src/models/ManagedFileReadResponse.d.ts +64 -0
- package/dist/apispec/src/models/ManagedFileReadResponse.d.ts.map +1 -0
- package/dist/apispec/src/models/ManagedFileReadResponse.js +65 -0
- package/dist/apispec/src/models/ManagedFileWriteRequest.d.ts +39 -0
- package/dist/apispec/src/models/ManagedFileWriteRequest.d.ts.map +1 -0
- package/dist/apispec/src/models/ManagedFileWriteRequest.js +47 -0
- package/dist/apispec/src/models/ManagedFilesState.d.ts +58 -0
- package/dist/apispec/src/models/ManagedFilesState.d.ts.map +1 -0
- package/dist/apispec/src/models/ManagedFilesState.js +61 -0
- package/dist/apispec/src/models/PauseSandboxResponse.d.ts +12 -0
- package/dist/apispec/src/models/PauseSandboxResponse.d.ts.map +1 -1
- package/dist/apispec/src/models/PauseSandboxResponse.js +4 -0
- package/dist/apispec/src/models/QuotaDimension.d.ts +5 -1
- package/dist/apispec/src/models/QuotaDimension.d.ts.map +1 -1
- package/dist/apispec/src/models/QuotaDimension.js +5 -1
- package/dist/apispec/src/models/ResourceQuota.d.ts +1 -1
- package/dist/apispec/src/models/ResumeSandboxResponse.d.ts +25 -1
- package/dist/apispec/src/models/ResumeSandboxResponse.d.ts.map +1 -1
- package/dist/apispec/src/models/ResumeSandboxResponse.js +8 -0
- package/dist/apispec/src/models/SandboxExecutionStateRequest.d.ts +14 -2
- package/dist/apispec/src/models/SandboxExecutionStateRequest.d.ts.map +1 -1
- package/dist/apispec/src/models/SandboxExecutionStateRequest.js +4 -0
- package/dist/apispec/src/models/SandboxHealth.d.ts +99 -0
- package/dist/apispec/src/models/SandboxHealth.d.ts.map +1 -0
- package/dist/apispec/src/models/SandboxHealth.js +90 -0
- package/dist/apispec/src/models/SandboxHealthObservation.d.ts +111 -0
- package/dist/apispec/src/models/SandboxHealthObservation.d.ts.map +1 -0
- package/dist/apispec/src/models/SandboxHealthObservation.js +112 -0
- package/dist/apispec/src/models/SandboxMemoryOperation.d.ts +115 -0
- package/dist/apispec/src/models/SandboxMemoryOperation.d.ts.map +1 -0
- package/dist/apispec/src/models/SandboxMemoryOperation.js +100 -0
- package/dist/apispec/src/models/SandboxMemoryRestoration.d.ts +64 -0
- package/dist/apispec/src/models/SandboxMemoryRestoration.d.ts.map +1 -0
- package/dist/apispec/src/models/SandboxMemoryRestoration.js +64 -0
- package/dist/apispec/src/models/SandboxMemoryRestorationStep.d.ts +63 -0
- package/dist/apispec/src/models/SandboxMemoryRestorationStep.d.ts.map +1 -0
- package/dist/apispec/src/models/SandboxMemoryRestorationStep.js +63 -0
- package/dist/apispec/src/models/SandboxPauseRequest.d.ts +39 -0
- package/dist/apispec/src/models/SandboxPauseRequest.d.ts.map +1 -0
- package/dist/apispec/src/models/SandboxPauseRequest.js +43 -0
- package/dist/apispec/src/models/SandboxRestartFinalCapture.d.ts +79 -0
- package/dist/apispec/src/models/SandboxRestartFinalCapture.d.ts.map +1 -0
- package/dist/apispec/src/models/SandboxRestartFinalCapture.js +70 -0
- package/dist/apispec/src/models/SandboxRestartFinalCaptureAcknowledgement.d.ts +39 -0
- package/dist/apispec/src/models/SandboxRestartFinalCaptureAcknowledgement.d.ts.map +1 -0
- package/dist/apispec/src/models/SandboxRestartFinalCaptureAcknowledgement.js +47 -0
- package/dist/apispec/src/models/SandboxRestartFinalCaptureFile.d.ts +69 -0
- package/dist/apispec/src/models/SandboxRestartFinalCaptureFile.d.ts.map +1 -0
- package/dist/apispec/src/models/SandboxRestartFinalCaptureFile.js +67 -0
- package/dist/apispec/src/models/SandboxRestartOperation.d.ts +115 -0
- package/dist/apispec/src/models/SandboxRestartOperation.d.ts.map +1 -0
- package/dist/apispec/src/models/SandboxRestartOperation.js +95 -0
- package/dist/apispec/src/models/SandboxRestartRequest.d.ts +33 -0
- package/dist/apispec/src/models/SandboxRestartRequest.d.ts.map +1 -0
- package/dist/apispec/src/models/SandboxRestartRequest.js +43 -0
- package/dist/apispec/src/models/SandboxRestartRetryObservation.d.ts +83 -0
- package/dist/apispec/src/models/SandboxRestartRetryObservation.d.ts.map +1 -0
- package/dist/apispec/src/models/SandboxRestartRetryObservation.js +75 -0
- package/dist/apispec/src/models/SandboxRootFSForkLaunch.d.ts +123 -0
- package/dist/apispec/src/models/SandboxRootFSForkLaunch.d.ts.map +1 -0
- package/dist/apispec/src/models/SandboxRootFSForkLaunch.js +104 -0
- package/dist/apispec/src/models/SandboxRootFSForkLaunchRequest.d.ts +51 -0
- package/dist/apispec/src/models/SandboxRootFSForkLaunchRequest.d.ts.map +1 -0
- package/dist/apispec/src/models/SandboxRootFSForkLaunchRequest.js +55 -0
- package/dist/apispec/src/models/SandboxRootFSForkObservation.d.ts +129 -0
- package/dist/apispec/src/models/SandboxRootFSForkObservation.d.ts.map +1 -0
- package/dist/apispec/src/models/SandboxRootFSForkObservation.js +107 -0
- package/dist/apispec/src/models/SandboxRootFSIdentity.d.ts +138 -0
- package/dist/apispec/src/models/SandboxRootFSIdentity.d.ts.map +1 -0
- package/dist/apispec/src/models/SandboxRootFSIdentity.js +111 -0
- package/dist/apispec/src/models/SandboxRootFSSnapshot.d.ts +6 -0
- package/dist/apispec/src/models/SandboxRootFSSnapshot.d.ts.map +1 -1
- package/dist/apispec/src/models/SandboxRootFSSnapshot.js +2 -0
- package/dist/apispec/src/models/SandboxRuntimeHealth.d.ts +40 -0
- package/dist/apispec/src/models/SandboxRuntimeHealth.d.ts.map +1 -0
- package/dist/apispec/src/models/SandboxRuntimeHealth.js +48 -0
- package/dist/apispec/src/models/SandboxSnapshotRestoreOperation.d.ts +139 -0
- package/dist/apispec/src/models/SandboxSnapshotRestoreOperation.d.ts.map +1 -0
- package/dist/apispec/src/models/SandboxSnapshotRestoreOperation.js +109 -0
- package/dist/apispec/src/models/SandboxSnapshotRestoreRequest.d.ts +51 -0
- package/dist/apispec/src/models/SandboxSnapshotRestoreRequest.d.ts.map +1 -0
- package/dist/apispec/src/models/SandboxSnapshotRestoreRequest.js +55 -0
- package/dist/apispec/src/models/SandboxStorageHealth.d.ts +46 -0
- package/dist/apispec/src/models/SandboxStorageHealth.d.ts.map +1 -0
- package/dist/apispec/src/models/SandboxStorageHealth.js +52 -0
- package/dist/apispec/src/models/SuccessManagedFileReadResponse.d.ts +40 -0
- package/dist/apispec/src/models/SuccessManagedFileReadResponse.d.ts.map +1 -0
- package/dist/apispec/src/models/SuccessManagedFileReadResponse.js +48 -0
- package/dist/apispec/src/models/SuccessManagedFilesStateResponse.d.ts +40 -0
- package/dist/apispec/src/models/SuccessManagedFilesStateResponse.d.ts.map +1 -0
- package/dist/apispec/src/models/SuccessManagedFilesStateResponse.js +48 -0
- package/dist/apispec/src/models/SuccessSandboxHealthResponse.d.ts +40 -0
- package/dist/apispec/src/models/SuccessSandboxHealthResponse.d.ts.map +1 -0
- package/dist/apispec/src/models/SuccessSandboxHealthResponse.js +48 -0
- package/dist/apispec/src/models/SuccessSandboxMemoryOperationResponse.d.ts +40 -0
- package/dist/apispec/src/models/SuccessSandboxMemoryOperationResponse.d.ts.map +1 -0
- package/dist/apispec/src/models/SuccessSandboxMemoryOperationResponse.js +48 -0
- package/dist/apispec/src/models/SuccessSandboxMemoryRestorationResponse.d.ts +40 -0
- package/dist/apispec/src/models/SuccessSandboxMemoryRestorationResponse.d.ts.map +1 -0
- package/dist/apispec/src/models/SuccessSandboxMemoryRestorationResponse.js +48 -0
- package/dist/apispec/src/models/SuccessSandboxRestartFinalCaptureFileResponse.d.ts +40 -0
- package/dist/apispec/src/models/SuccessSandboxRestartFinalCaptureFileResponse.d.ts.map +1 -0
- package/dist/apispec/src/models/SuccessSandboxRestartFinalCaptureFileResponse.js +48 -0
- package/dist/apispec/src/models/SuccessSandboxRestartFinalCaptureResponse.d.ts +40 -0
- package/dist/apispec/src/models/SuccessSandboxRestartFinalCaptureResponse.d.ts.map +1 -0
- package/dist/apispec/src/models/SuccessSandboxRestartFinalCaptureResponse.js +48 -0
- package/dist/apispec/src/models/SuccessSandboxRestartOperationResponse.d.ts +40 -0
- package/dist/apispec/src/models/SuccessSandboxRestartOperationResponse.d.ts.map +1 -0
- package/dist/apispec/src/models/SuccessSandboxRestartOperationResponse.js +48 -0
- package/dist/apispec/src/models/SuccessSandboxRootFSForkLaunchResponse.d.ts +40 -0
- package/dist/apispec/src/models/SuccessSandboxRootFSForkLaunchResponse.d.ts.map +1 -0
- package/dist/apispec/src/models/SuccessSandboxRootFSForkLaunchResponse.js +48 -0
- package/dist/apispec/src/models/SuccessSandboxRootFSForkObservationResponse.d.ts +40 -0
- package/dist/apispec/src/models/SuccessSandboxRootFSForkObservationResponse.d.ts.map +1 -0
- package/dist/apispec/src/models/SuccessSandboxRootFSForkObservationResponse.js +48 -0
- package/dist/apispec/src/models/SuccessSandboxRootFSIdentityResponse.d.ts +40 -0
- package/dist/apispec/src/models/SuccessSandboxRootFSIdentityResponse.d.ts.map +1 -0
- package/dist/apispec/src/models/SuccessSandboxRootFSIdentityResponse.js +48 -0
- package/dist/apispec/src/models/SuccessSandboxSnapshotRestoreOperationResponse.d.ts +40 -0
- package/dist/apispec/src/models/SuccessSandboxSnapshotRestoreOperationResponse.d.ts.map +1 -0
- package/dist/apispec/src/models/SuccessSandboxSnapshotRestoreOperationResponse.js +48 -0
- package/dist/apispec/src/models/index.d.ts +37 -0
- package/dist/apispec/src/models/index.d.ts.map +1 -1
- package/dist/apispec/src/models/index.js +37 -0
- package/dist/fork_launch.d.ts +15 -0
- package/dist/fork_launch.d.ts.map +1 -0
- package/dist/fork_launch.js +38 -0
- package/dist/health.d.ts +4 -0
- package/dist/health.d.ts.map +1 -0
- package/dist/health.js +46 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/memory_operation.d.ts +12 -0
- package/dist/memory_operation.d.ts.map +1 -0
- package/dist/memory_operation.js +44 -0
- package/dist/memory_restoration.d.ts +5 -0
- package/dist/memory_restoration.d.ts.map +1 -0
- package/dist/memory_restoration.js +29 -0
- package/dist/models.d.ts +2 -0
- package/dist/models.d.ts.map +1 -1
- package/dist/resources/sandboxes.d.ts +73 -1
- package/dist/resources/sandboxes.d.ts.map +1 -1
- package/dist/resources/sandboxes.js +336 -3
- package/dist/restart_final_capture.d.ts +10 -0
- package/dist/restart_final_capture.d.ts.map +1 -0
- package/dist/restart_final_capture.js +52 -0
- package/dist/sandbox_managed_files.d.ts +34 -0
- package/dist/sandbox_managed_files.d.ts.map +1 -0
- package/dist/sandbox_managed_files.js +96 -0
- package/dist/sandbox_sessions.d.ts +5 -0
- package/dist/sandbox_sessions.d.ts.map +1 -1
- package/dist/sandbox_sessions.js +103 -1
- package/dist/ws_client.d.ts +8 -0
- package/dist/ws_client.d.ts.map +1 -1
- package/dist/ws_client.js +20 -2
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
The official JavaScript/TypeScript SDK for Sandbox0, providing typed models and ergonomic high-level APIs for managing secure code execution sandboxes.
|
|
4
4
|
|
|
5
|
+
> This SDK remains open source. Current Sandbox0 runtime development is closed source.
|
|
6
|
+
> Sandbox0 Cloud is the supported service. Self-hosting is no longer supported.
|
|
7
|
+
> Bring Your Own Cloud (BYOC) is planned and is not available yet.
|
|
8
|
+
> See [deployment options](https://sandbox0.ai/docs/sandbox/deployment).
|
|
9
|
+
|
|
5
10
|
## Installation
|
|
6
11
|
|
|
7
12
|
```bash
|
|
@@ -18,6 +23,37 @@ pnpm add sandbox0
|
|
|
18
23
|
|
|
19
24
|
Streaming APIs prefer a runtime-native `globalThis.WebSocket` when a Node-compatible host exposes one, and fall back to the `ws` package on older Node runtimes. This keeps the main SDK entry compatible with SandFunc-style runtimes that expose a standard outbound WebSocket client without requiring raw socket access in user code.
|
|
20
25
|
|
|
26
|
+
## Files while compute is paused
|
|
27
|
+
|
|
28
|
+
Use the existing file methods without starting or resuming compute:
|
|
29
|
+
|
|
30
|
+
```typescript
|
|
31
|
+
const sandbox = client.sandbox(sandboxId);
|
|
32
|
+
const content = await sandbox.readFile('/workspace/output.txt');
|
|
33
|
+
await sandbox.writeFile('/workspace/input.txt', 'next task');
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Read, stat, and list work during filesystem-only and memory pauses. Write,
|
|
37
|
+
mkdir, move, and delete work during filesystem-only pauses; retained memory
|
|
38
|
+
checkpoints reject offline edits with a conflict. File calls do not trigger
|
|
39
|
+
`auto_resume`, and no SDK upgrade or new endpoint is needed. Watch and SSH
|
|
40
|
+
still require a running runtime. See [file access](https://sandbox0.ai/docs/sandbox/files).
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
## RootFS capacity
|
|
44
|
+
|
|
45
|
+
Template `resources.ephemeralStorage` sets the initial RootFS filesystem capacity
|
|
46
|
+
for image imports: the default is `8Gi`, and supported values are `300Mi` through
|
|
47
|
+
`1Ti`, aligned to 4096 bytes. On deployments with automatic growth enabled, XFS
|
|
48
|
+
expands online within the configured sparse-device ceiling while the sandbox's
|
|
49
|
+
processes continue running. Existing generations retain their committed geometry.
|
|
50
|
+
|
|
51
|
+
Persistent blocks reside in regional object storage. Compute nodes retain bounded
|
|
52
|
+
caches and write journals; slow or unavailable storage can apply write backpressure.
|
|
53
|
+
The initial size is distinct from stored data usage and service storage quotas.
|
|
54
|
+
Automatic growth requires operator enablement; see the
|
|
55
|
+
[deployment guide](https://github.com/sandbox0-ai/sandbox0/blob/main/deploy/nomad/rootfs-autogrow.md).
|
|
56
|
+
|
|
21
57
|
## Configuration
|
|
22
58
|
|
|
23
59
|
| Environment Variable | Required | Default | Description |
|
|
@@ -184,6 +220,29 @@ The token needs `usage:read`, and the Sandbox0 region must have metering and
|
|
|
184
220
|
its ClickHouse query projection enabled. `GET /api/v1/quotas` reports current
|
|
185
221
|
operational quota status; it is not a cumulative usage API.
|
|
186
222
|
|
|
223
|
+
## Independent sandbox health (unreleased)
|
|
224
|
+
|
|
225
|
+
```typescript
|
|
226
|
+
const health = await client.sandboxes.getHealth(sandboxId, {
|
|
227
|
+
signal: AbortSignal.timeout(10_000),
|
|
228
|
+
});
|
|
229
|
+
console.log(health.runtime.liveness.state, health.execution.state, health.terminal.state);
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
Generations outside JavaScript's safe integer range are rejected rather than rounded.
|
|
233
|
+
|
|
234
|
+
Health is returned as separate runtime launch/liveness, execution, terminal,
|
|
235
|
+
and storage identity/writer/I/O observations. Each includes `state`, a fixed
|
|
236
|
+
`reason`, its evidence `source`, and the original observation time (null when
|
|
237
|
+
unobserved). Guest evidence is advisory. A storage identity or writer lease does
|
|
238
|
+
not prove current storage I/O; that check currently remains `unknown`.
|
|
239
|
+
|
|
240
|
+
The query may run bounded fixed guest diagnostics, but never resumes or restarts
|
|
241
|
+
a sandbox. Paused sandboxes and active lifecycle transitions skip those probes.
|
|
242
|
+
Unavailable guest diagnostics are a successful observation response, not an API
|
|
243
|
+
failure or a reason to retry a lifecycle mutation. This API requires a server
|
|
244
|
+
version with the health endpoint; SDKs do not fall back to guest commands.
|
|
245
|
+
|
|
187
246
|
## Links
|
|
188
247
|
|
|
189
248
|
- [Documentation](https://sandbox0.ai/docs)
|
|
@@ -193,3 +252,78 @@ operational quota status; it is not a cumulative usage API.
|
|
|
193
252
|
## License
|
|
194
253
|
|
|
195
254
|
Apache-2.0
|
|
255
|
+
|
|
256
|
+
|
|
257
|
+
Conditional session receipts can be read without auto-resume or process creation:
|
|
258
|
+
`sandbox.findConditionalSession(originalKey, generation)`.
|
|
259
|
+
This uses the distinct `/sessions/conditional/lookup` route and checks the original
|
|
260
|
+
generation. Errors never fall back to ordinary lookup or creation. A missing
|
|
261
|
+
receipt does not authorize replay: an earlier create may still be in flight.
|
|
262
|
+
The result is process information, not credential/storage qualification or proof
|
|
263
|
+
that the process is still running when a later action begins.
|
|
264
|
+
|
|
265
|
+
### Conditional Session attachment
|
|
266
|
+
|
|
267
|
+
`sandbox.connectConditionalSession(sessionId, key, generation, attemptId, options)` opens the distinct `/sessions/{session_id}/conditional/ws` endpoint, bound to the original conditional creation key, runtime generation and attempt. It accepts the existing Session WebSocket replay options. Every control message is checked against that binding, and generation handover revokes the connection. Errors never trigger an ordinary attachment, retry or auto-resume. Closing the connection detaches without stopping the process. This is not lifecycle, storage or credential qualification.
|
|
268
|
+
|
|
269
|
+
### Reconnect an explicitly memory-restored original attempt
|
|
270
|
+
|
|
271
|
+
```typescript
|
|
272
|
+
const session = await sandbox.findRestoredConditionalSession(originalKey, currentGeneration, creationGeneration);
|
|
273
|
+
const connection = await sandbox.connectRestoredConditionalSession(session.id, originalKey, currentGeneration, creationGeneration, originalAttemptId, {after});
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
Verify the external memory-restoration lineage and your owned credential/session
|
|
277
|
+
history first. These helpers explicitly send `creation_runtime_generation`, which
|
|
278
|
+
must precede the current generation. They require the original still-running
|
|
279
|
+
attempt and never create a session, restart an attempt, resume the sandbox or
|
|
280
|
+
retry through ordinary endpoints. Existing same-generation helpers remain strict.
|
|
281
|
+
The restored socket can replay the original attempt's earlier-generation events;
|
|
282
|
+
its controls are bound to the current generation and the original attempt ID.
|
|
283
|
+
A subsequent handover revokes the socket. Old gateways that discard the optional
|
|
284
|
+
origin cannot authorize a restored original creation and must return an error.
|
|
285
|
+
|
|
286
|
+
## Explicit snapshot recovery
|
|
287
|
+
|
|
288
|
+
Use `client.sandboxes.restoreSnapshot(sandboxId, { expectedRuntimeGeneration: 7, snapshotId, snapshotGenerationId, discardProcessState: true, idempotencyKey })` to explicitly end old processes and replace writable RootFS. Keep every field and the key after an uncertain reply. `findSnapshotRestoreOperation` and `getSnapshotRestoreOperation` observe the original operation without submitting work. Only `succeeded` proves fresh runtime launch; `restoredRootfsGenerationId` alone proves the head change committed.
|
|
289
|
+
|
|
290
|
+
The `getSnapshotRestoreFinalCapture`, `readSnapshotRestoreFinalCaptureFile` and `acknowledgeSnapshotRestoreFinalCapture` methods preserve stopped-source credential custody. Acknowledge only after durable encrypted owner commit. Helpers never retry, refresh coordinates or fall back to guest execution or disk-only memory recovery. Source and successor generations must be safe integers.
|
|
291
|
+
|
|
292
|
+
## Read original RootFS fork provenance
|
|
293
|
+
|
|
294
|
+
```typescript
|
|
295
|
+
const receipt = await client.sandboxes.getRootFSFork(sourceSandboxId, {
|
|
296
|
+
expectedRuntimeGeneration: 7, idempotencyKey: "original-fork",
|
|
297
|
+
});
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
Keep the original source sandbox, generation (including zero), key and
|
|
301
|
+
authenticated identity. This performs one GET and never retries or submits a
|
|
302
|
+
fork. Missing, conflicting and pending results remain errors; a 404 is not
|
|
303
|
+
proof of cancellation. The receipt requires the original unchanged, never-run
|
|
304
|
+
paused child and retained storage evidence. Memory forks are excluded. It is
|
|
305
|
+
not a credential-safety attestation or a state reservation; later mutations
|
|
306
|
+
need their own identity conditions.
|
|
307
|
+
|
|
308
|
+
## Conditional first launch of a RootFS fork
|
|
309
|
+
|
|
310
|
+
```typescript
|
|
311
|
+
const original = {
|
|
312
|
+
forkOperationId: receipt.operationId, filesystemId: receipt.targetFilesystemId,
|
|
313
|
+
headGenerationId: receipt.targetHeadGenerationId, writerEpoch: receipt.writerEpoch,
|
|
314
|
+
idempotencyKey: "original-child-launch",
|
|
315
|
+
}; // Persist these conditions before submitting.
|
|
316
|
+
const launch = await client.sandboxes.launchRootFSFork(receipt.targetSandboxId, original);
|
|
317
|
+
const observation = await client.sandboxes.getRootFSForkLaunch(receipt.targetSandboxId, {
|
|
318
|
+
...original, expectedOperationId: launch.operationId,
|
|
319
|
+
});
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
Each method sends exactly one request. After a lost reply, query with the same
|
|
323
|
+
original conditions and key, omitting `expectedOperationId` if no receipt was
|
|
324
|
+
received. Never refresh the original writer epoch or fall back to ordinary
|
|
325
|
+
resume. A completed receipt retains its digest and time even when `current` is
|
|
326
|
+
false after later lifecycle changes. `current` is an owner snapshot, not a live
|
|
327
|
+
lease, health check or credential authorization. Pending has no completion
|
|
328
|
+
proof; neither aborted nor 404 proves physical absence. Helpers validate the
|
|
329
|
+
returned identity and state-specific evidence and never poll or retry for you.
|
|
@@ -46,68 +46,72 @@ export interface ApiV1SandboxesIdFilesWatchGetRequest {
|
|
|
46
46
|
*/
|
|
47
47
|
export declare class FilesApi extends runtime.BaseAPI {
|
|
48
48
|
/**
|
|
49
|
+
* Works during filesystem-only pauses without starting compute. Offline deletion returns 409 conflict while a memory checkpoint is retained.
|
|
49
50
|
* Delete file or directory
|
|
50
51
|
*/
|
|
51
52
|
apiV1SandboxesIdFilesDeleteRaw(requestParameters: ApiV1SandboxesIdFilesDeleteRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessDeletedResponse>>;
|
|
52
53
|
/**
|
|
54
|
+
* Works during filesystem-only pauses without starting compute. Offline deletion returns 409 conflict while a memory checkpoint is retained.
|
|
53
55
|
* Delete file or directory
|
|
54
56
|
*/
|
|
55
57
|
apiV1SandboxesIdFilesDelete(requestParameters: ApiV1SandboxesIdFilesDeleteRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessDeletedResponse>;
|
|
56
58
|
/**
|
|
57
|
-
* Use query params: - path=/tmp/a.txt: target file path When `Accept` or `Content-Type` is `application/json`, returns a base64 JSON payload.
|
|
59
|
+
* Use query params: - path=/tmp/a.txt: target file path When `Accept` or `Content-Type` is `application/json`, returns a base64 JSON payload. Reads the persistent RootFS while paused without starting or resuming compute, including memory-paused sandboxes.
|
|
58
60
|
* Read file content
|
|
59
61
|
*/
|
|
60
62
|
apiV1SandboxesIdFilesGetRaw(requestParameters: ApiV1SandboxesIdFilesGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Blob>>;
|
|
61
63
|
/**
|
|
62
|
-
* Use query params: - path=/tmp/a.txt: target file path When `Accept` or `Content-Type` is `application/json`, returns a base64 JSON payload.
|
|
64
|
+
* Use query params: - path=/tmp/a.txt: target file path When `Accept` or `Content-Type` is `application/json`, returns a base64 JSON payload. Reads the persistent RootFS while paused without starting or resuming compute, including memory-paused sandboxes.
|
|
63
65
|
* Read file content
|
|
64
66
|
*/
|
|
65
67
|
apiV1SandboxesIdFilesGet(requestParameters: ApiV1SandboxesIdFilesGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Blob>;
|
|
66
68
|
/**
|
|
67
|
-
* Use query params: - path=/
|
|
69
|
+
* Use query params: - path=/workspace: target directory path Also works on the committed RootFS while paused, without resuming compute.
|
|
68
70
|
* List directory entries
|
|
69
71
|
*/
|
|
70
72
|
apiV1SandboxesIdFilesListGetRaw(requestParameters: ApiV1SandboxesIdFilesListGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessFileListResponse>>;
|
|
71
73
|
/**
|
|
72
|
-
* Use query params: - path=/
|
|
74
|
+
* Use query params: - path=/workspace: target directory path Also works on the committed RootFS while paused, without resuming compute.
|
|
73
75
|
* List directory entries
|
|
74
76
|
*/
|
|
75
77
|
apiV1SandboxesIdFilesListGet(requestParameters: ApiV1SandboxesIdFilesListGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessFileListResponse>;
|
|
76
78
|
/**
|
|
79
|
+
* Works during a filesystem-only pause without starting compute. A retained memory checkpoint prevents offline mutations (409 conflict).
|
|
77
80
|
* Move a file or directory
|
|
78
81
|
*/
|
|
79
82
|
apiV1SandboxesIdFilesMovePostRaw(requestParameters: ApiV1SandboxesIdFilesMovePostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessMovedResponse>>;
|
|
80
83
|
/**
|
|
84
|
+
* Works during a filesystem-only pause without starting compute. A retained memory checkpoint prevents offline mutations (409 conflict).
|
|
81
85
|
* Move a file or directory
|
|
82
86
|
*/
|
|
83
87
|
apiV1SandboxesIdFilesMovePost(requestParameters: ApiV1SandboxesIdFilesMovePostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessMovedResponse>;
|
|
84
88
|
/**
|
|
85
|
-
* Use `path` query param and `mkdir=true` to create directories, otherwise writes file content.
|
|
89
|
+
* Use `path` query param and `mkdir=true` to create directories, otherwise writes file content (maximum 100 MiB). Works during filesystem-only pauses without starting compute. Offline mutations return 409 conflict while a memory checkpoint is retained.
|
|
86
90
|
* Write file or create directory
|
|
87
91
|
*/
|
|
88
92
|
apiV1SandboxesIdFilesPostRaw(requestParameters: ApiV1SandboxesIdFilesPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessWrittenResponse>>;
|
|
89
93
|
/**
|
|
90
|
-
* Use `path` query param and `mkdir=true` to create directories, otherwise writes file content.
|
|
94
|
+
* Use `path` query param and `mkdir=true` to create directories, otherwise writes file content (maximum 100 MiB). Works during filesystem-only pauses without starting compute. Offline mutations return 409 conflict while a memory checkpoint is retained.
|
|
91
95
|
* Write file or create directory
|
|
92
96
|
*/
|
|
93
97
|
apiV1SandboxesIdFilesPost(requestParameters: ApiV1SandboxesIdFilesPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessWrittenResponse>;
|
|
94
98
|
/**
|
|
95
|
-
* Use query params: - path=/
|
|
99
|
+
* Use query params: - path=/workspace/a.txt: target file path Also works on the committed RootFS while paused, without resuming compute.
|
|
96
100
|
* Stat a file
|
|
97
101
|
*/
|
|
98
102
|
apiV1SandboxesIdFilesStatGetRaw(requestParameters: ApiV1SandboxesIdFilesStatGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessFileStatResponse>>;
|
|
99
103
|
/**
|
|
100
|
-
* Use query params: - path=/
|
|
104
|
+
* Use query params: - path=/workspace/a.txt: target file path Also works on the committed RootFS while paused, without resuming compute.
|
|
101
105
|
* Stat a file
|
|
102
106
|
*/
|
|
103
107
|
apiV1SandboxesIdFilesStatGet(requestParameters: ApiV1SandboxesIdFilesStatGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessFileStatResponse>;
|
|
104
108
|
/**
|
|
105
|
-
* Upgrades to WebSocket for file watch events. Client messages: - { \"action\": \"subscribe\", \"path\": \"/tmp\", \"recursive\": false } - { \"action\": \"unsubscribe\", \"watch_id\": \"watch-id\" } Server messages: - { \"type\": \"subscribed\", \"watch_id\": \"watch-id\", \"path\": \"/tmp\" } - { \"type\": \"event\", \"watch_id\": \"watch-id\", \"event\": \"write\", \"path\": \"/tmp/a.txt\" } - { \"type\": \"unsubscribed\", \"watch_id\": \"watch-id\" } - { \"type\": \"error\", \"error\": \"message\" }
|
|
109
|
+
* Upgrades to WebSocket for file watch events. Requires a running guest and follows auto_resume; offline file access does not provide watch events. Client messages: - { \"action\": \"subscribe\", \"path\": \"/tmp\", \"recursive\": false } - { \"action\": \"unsubscribe\", \"watch_id\": \"watch-id\" } Server messages: - { \"type\": \"subscribed\", \"watch_id\": \"watch-id\", \"path\": \"/tmp\" } - { \"type\": \"event\", \"watch_id\": \"watch-id\", \"event\": \"write\", \"path\": \"/tmp/a.txt\" } - { \"type\": \"unsubscribed\", \"watch_id\": \"watch-id\" } - { \"type\": \"error\", \"error\": \"message\" }
|
|
106
110
|
* File watch WebSocket
|
|
107
111
|
*/
|
|
108
112
|
apiV1SandboxesIdFilesWatchGetRaw(requestParameters: ApiV1SandboxesIdFilesWatchGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>>;
|
|
109
113
|
/**
|
|
110
|
-
* Upgrades to WebSocket for file watch events. Client messages: - { \"action\": \"subscribe\", \"path\": \"/tmp\", \"recursive\": false } - { \"action\": \"unsubscribe\", \"watch_id\": \"watch-id\" } Server messages: - { \"type\": \"subscribed\", \"watch_id\": \"watch-id\", \"path\": \"/tmp\" } - { \"type\": \"event\", \"watch_id\": \"watch-id\", \"event\": \"write\", \"path\": \"/tmp/a.txt\" } - { \"type\": \"unsubscribed\", \"watch_id\": \"watch-id\" } - { \"type\": \"error\", \"error\": \"message\" }
|
|
114
|
+
* Upgrades to WebSocket for file watch events. Requires a running guest and follows auto_resume; offline file access does not provide watch events. Client messages: - { \"action\": \"subscribe\", \"path\": \"/tmp\", \"recursive\": false } - { \"action\": \"unsubscribe\", \"watch_id\": \"watch-id\" } Server messages: - { \"type\": \"subscribed\", \"watch_id\": \"watch-id\", \"path\": \"/tmp\" } - { \"type\": \"event\", \"watch_id\": \"watch-id\", \"event\": \"write\", \"path\": \"/tmp/a.txt\" } - { \"type\": \"unsubscribed\", \"watch_id\": \"watch-id\" } - { \"type\": \"error\", \"error\": \"message\" }
|
|
111
115
|
* File watch WebSocket
|
|
112
116
|
*/
|
|
113
117
|
apiV1SandboxesIdFilesWatchGet(requestParameters: ApiV1SandboxesIdFilesWatchGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilesApi.d.ts","sourceRoot":"","sources":["../../../../src/apispec/src/apis/FilesApi.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,OAAO,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,EAGV,eAAe,EAEf,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,EACvB,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AAsBzB,MAAM,WAAW,kCAAkC;IAC/C,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,+BAA+B;IAC5C,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mCAAmC;IAChD,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,oCAAoC;IACjD,EAAE,EAAE,MAAM,CAAC;IACX,eAAe,EAAE,eAAe,CAAC;CACpC;AAED,MAAM,WAAW,gCAAgC;IAC7C,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,IAAI,CAAC;CACf;AAED,MAAM,WAAW,mCAAmC;IAChD,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,oCAAoC;IACjD,EAAE,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,qBAAa,QAAS,SAAQ,OAAO,CAAC,OAAO;IAEzC
|
|
1
|
+
{"version":3,"file":"FilesApi.d.ts","sourceRoot":"","sources":["../../../../src/apispec/src/apis/FilesApi.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,7 @@ import { MoveFileRequestToJSON, SuccessDeletedResponseFromJSON, SuccessFileListR
|
|
|
18
18
|
*/
|
|
19
19
|
export class FilesApi extends runtime.BaseAPI {
|
|
20
20
|
/**
|
|
21
|
+
* Works during filesystem-only pauses without starting compute. Offline deletion returns 409 conflict while a memory checkpoint is retained.
|
|
21
22
|
* Delete file or directory
|
|
22
23
|
*/
|
|
23
24
|
async apiV1SandboxesIdFilesDeleteRaw(requestParameters, initOverrides) {
|
|
@@ -50,6 +51,7 @@ export class FilesApi extends runtime.BaseAPI {
|
|
|
50
51
|
return new runtime.JSONApiResponse(response, (jsonValue) => SuccessDeletedResponseFromJSON(jsonValue));
|
|
51
52
|
}
|
|
52
53
|
/**
|
|
54
|
+
* Works during filesystem-only pauses without starting compute. Offline deletion returns 409 conflict while a memory checkpoint is retained.
|
|
53
55
|
* Delete file or directory
|
|
54
56
|
*/
|
|
55
57
|
async apiV1SandboxesIdFilesDelete(requestParameters, initOverrides) {
|
|
@@ -57,7 +59,7 @@ export class FilesApi extends runtime.BaseAPI {
|
|
|
57
59
|
return await response.value();
|
|
58
60
|
}
|
|
59
61
|
/**
|
|
60
|
-
* Use query params: - path=/tmp/a.txt: target file path When `Accept` or `Content-Type` is `application/json`, returns a base64 JSON payload.
|
|
62
|
+
* Use query params: - path=/tmp/a.txt: target file path When `Accept` or `Content-Type` is `application/json`, returns a base64 JSON payload. Reads the persistent RootFS while paused without starting or resuming compute, including memory-paused sandboxes.
|
|
61
63
|
* Read file content
|
|
62
64
|
*/
|
|
63
65
|
async apiV1SandboxesIdFilesGetRaw(requestParameters, initOverrides) {
|
|
@@ -90,7 +92,7 @@ export class FilesApi extends runtime.BaseAPI {
|
|
|
90
92
|
return new runtime.BlobApiResponse(response);
|
|
91
93
|
}
|
|
92
94
|
/**
|
|
93
|
-
* Use query params: - path=/tmp/a.txt: target file path When `Accept` or `Content-Type` is `application/json`, returns a base64 JSON payload.
|
|
95
|
+
* Use query params: - path=/tmp/a.txt: target file path When `Accept` or `Content-Type` is `application/json`, returns a base64 JSON payload. Reads the persistent RootFS while paused without starting or resuming compute, including memory-paused sandboxes.
|
|
94
96
|
* Read file content
|
|
95
97
|
*/
|
|
96
98
|
async apiV1SandboxesIdFilesGet(requestParameters, initOverrides) {
|
|
@@ -98,7 +100,7 @@ export class FilesApi extends runtime.BaseAPI {
|
|
|
98
100
|
return await response.value();
|
|
99
101
|
}
|
|
100
102
|
/**
|
|
101
|
-
* Use query params: - path=/
|
|
103
|
+
* Use query params: - path=/workspace: target directory path Also works on the committed RootFS while paused, without resuming compute.
|
|
102
104
|
* List directory entries
|
|
103
105
|
*/
|
|
104
106
|
async apiV1SandboxesIdFilesListGetRaw(requestParameters, initOverrides) {
|
|
@@ -131,7 +133,7 @@ export class FilesApi extends runtime.BaseAPI {
|
|
|
131
133
|
return new runtime.JSONApiResponse(response, (jsonValue) => SuccessFileListResponseFromJSON(jsonValue));
|
|
132
134
|
}
|
|
133
135
|
/**
|
|
134
|
-
* Use query params: - path=/
|
|
136
|
+
* Use query params: - path=/workspace: target directory path Also works on the committed RootFS while paused, without resuming compute.
|
|
135
137
|
* List directory entries
|
|
136
138
|
*/
|
|
137
139
|
async apiV1SandboxesIdFilesListGet(requestParameters, initOverrides) {
|
|
@@ -139,6 +141,7 @@ export class FilesApi extends runtime.BaseAPI {
|
|
|
139
141
|
return await response.value();
|
|
140
142
|
}
|
|
141
143
|
/**
|
|
144
|
+
* Works during a filesystem-only pause without starting compute. A retained memory checkpoint prevents offline mutations (409 conflict).
|
|
142
145
|
* Move a file or directory
|
|
143
146
|
*/
|
|
144
147
|
async apiV1SandboxesIdFilesMovePostRaw(requestParameters, initOverrides) {
|
|
@@ -170,6 +173,7 @@ export class FilesApi extends runtime.BaseAPI {
|
|
|
170
173
|
return new runtime.JSONApiResponse(response, (jsonValue) => SuccessMovedResponseFromJSON(jsonValue));
|
|
171
174
|
}
|
|
172
175
|
/**
|
|
176
|
+
* Works during a filesystem-only pause without starting compute. A retained memory checkpoint prevents offline mutations (409 conflict).
|
|
173
177
|
* Move a file or directory
|
|
174
178
|
*/
|
|
175
179
|
async apiV1SandboxesIdFilesMovePost(requestParameters, initOverrides) {
|
|
@@ -177,7 +181,7 @@ export class FilesApi extends runtime.BaseAPI {
|
|
|
177
181
|
return await response.value();
|
|
178
182
|
}
|
|
179
183
|
/**
|
|
180
|
-
* Use `path` query param and `mkdir=true` to create directories, otherwise writes file content.
|
|
184
|
+
* Use `path` query param and `mkdir=true` to create directories, otherwise writes file content (maximum 100 MiB). Works during filesystem-only pauses without starting compute. Offline mutations return 409 conflict while a memory checkpoint is retained.
|
|
181
185
|
* Write file or create directory
|
|
182
186
|
*/
|
|
183
187
|
async apiV1SandboxesIdFilesPostRaw(requestParameters, initOverrides) {
|
|
@@ -218,7 +222,7 @@ export class FilesApi extends runtime.BaseAPI {
|
|
|
218
222
|
return new runtime.JSONApiResponse(response, (jsonValue) => SuccessWrittenResponseFromJSON(jsonValue));
|
|
219
223
|
}
|
|
220
224
|
/**
|
|
221
|
-
* Use `path` query param and `mkdir=true` to create directories, otherwise writes file content.
|
|
225
|
+
* Use `path` query param and `mkdir=true` to create directories, otherwise writes file content (maximum 100 MiB). Works during filesystem-only pauses without starting compute. Offline mutations return 409 conflict while a memory checkpoint is retained.
|
|
222
226
|
* Write file or create directory
|
|
223
227
|
*/
|
|
224
228
|
async apiV1SandboxesIdFilesPost(requestParameters, initOverrides) {
|
|
@@ -226,7 +230,7 @@ export class FilesApi extends runtime.BaseAPI {
|
|
|
226
230
|
return await response.value();
|
|
227
231
|
}
|
|
228
232
|
/**
|
|
229
|
-
* Use query params: - path=/
|
|
233
|
+
* Use query params: - path=/workspace/a.txt: target file path Also works on the committed RootFS while paused, without resuming compute.
|
|
230
234
|
* Stat a file
|
|
231
235
|
*/
|
|
232
236
|
async apiV1SandboxesIdFilesStatGetRaw(requestParameters, initOverrides) {
|
|
@@ -259,7 +263,7 @@ export class FilesApi extends runtime.BaseAPI {
|
|
|
259
263
|
return new runtime.JSONApiResponse(response, (jsonValue) => SuccessFileStatResponseFromJSON(jsonValue));
|
|
260
264
|
}
|
|
261
265
|
/**
|
|
262
|
-
* Use query params: - path=/
|
|
266
|
+
* Use query params: - path=/workspace/a.txt: target file path Also works on the committed RootFS while paused, without resuming compute.
|
|
263
267
|
* Stat a file
|
|
264
268
|
*/
|
|
265
269
|
async apiV1SandboxesIdFilesStatGet(requestParameters, initOverrides) {
|
|
@@ -267,7 +271,7 @@ export class FilesApi extends runtime.BaseAPI {
|
|
|
267
271
|
return await response.value();
|
|
268
272
|
}
|
|
269
273
|
/**
|
|
270
|
-
* Upgrades to WebSocket for file watch events. Client messages: - { \"action\": \"subscribe\", \"path\": \"/tmp\", \"recursive\": false } - { \"action\": \"unsubscribe\", \"watch_id\": \"watch-id\" } Server messages: - { \"type\": \"subscribed\", \"watch_id\": \"watch-id\", \"path\": \"/tmp\" } - { \"type\": \"event\", \"watch_id\": \"watch-id\", \"event\": \"write\", \"path\": \"/tmp/a.txt\" } - { \"type\": \"unsubscribed\", \"watch_id\": \"watch-id\" } - { \"type\": \"error\", \"error\": \"message\" }
|
|
274
|
+
* Upgrades to WebSocket for file watch events. Requires a running guest and follows auto_resume; offline file access does not provide watch events. Client messages: - { \"action\": \"subscribe\", \"path\": \"/tmp\", \"recursive\": false } - { \"action\": \"unsubscribe\", \"watch_id\": \"watch-id\" } Server messages: - { \"type\": \"subscribed\", \"watch_id\": \"watch-id\", \"path\": \"/tmp\" } - { \"type\": \"event\", \"watch_id\": \"watch-id\", \"event\": \"write\", \"path\": \"/tmp/a.txt\" } - { \"type\": \"unsubscribed\", \"watch_id\": \"watch-id\" } - { \"type\": \"error\", \"error\": \"message\" }
|
|
271
275
|
* File watch WebSocket
|
|
272
276
|
*/
|
|
273
277
|
async apiV1SandboxesIdFilesWatchGetRaw(requestParameters, initOverrides) {
|
|
@@ -294,7 +298,7 @@ export class FilesApi extends runtime.BaseAPI {
|
|
|
294
298
|
return new runtime.VoidApiResponse(response);
|
|
295
299
|
}
|
|
296
300
|
/**
|
|
297
|
-
* Upgrades to WebSocket for file watch events. Client messages: - { \"action\": \"subscribe\", \"path\": \"/tmp\", \"recursive\": false } - { \"action\": \"unsubscribe\", \"watch_id\": \"watch-id\" } Server messages: - { \"type\": \"subscribed\", \"watch_id\": \"watch-id\", \"path\": \"/tmp\" } - { \"type\": \"event\", \"watch_id\": \"watch-id\", \"event\": \"write\", \"path\": \"/tmp/a.txt\" } - { \"type\": \"unsubscribed\", \"watch_id\": \"watch-id\" } - { \"type\": \"error\", \"error\": \"message\" }
|
|
301
|
+
* Upgrades to WebSocket for file watch events. Requires a running guest and follows auto_resume; offline file access does not provide watch events. Client messages: - { \"action\": \"subscribe\", \"path\": \"/tmp\", \"recursive\": false } - { \"action\": \"unsubscribe\", \"watch_id\": \"watch-id\" } Server messages: - { \"type\": \"subscribed\", \"watch_id\": \"watch-id\", \"path\": \"/tmp\" } - { \"type\": \"event\", \"watch_id\": \"watch-id\", \"event\": \"write\", \"path\": \"/tmp/a.txt\" } - { \"type\": \"unsubscribed\", \"watch_id\": \"watch-id\" } - { \"type\": \"error\", \"error\": \"message\" }
|
|
298
302
|
* File watch WebSocket
|
|
299
303
|
*/
|
|
300
304
|
async apiV1SandboxesIdFilesWatchGet(requestParameters, initOverrides) {
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* Do not edit the class manually.
|
|
11
11
|
*/
|
|
12
12
|
import * as runtime from '../runtime.js';
|
|
13
|
-
import type { CreateSandboxRootFSSnapshotRequest, ForkSandboxRequest, RebaseSandboxRootFSRequest, RestoreSandboxRootFSRequest, SuccessDeletedResponse, SuccessForkSandboxResponse, SuccessRebaseSandboxRootFSResponse, SuccessRestoreSandboxRootFSResponse, SuccessSandboxRootFSSnapshotListResponse, SuccessSandboxRootFSSnapshotResponse } from '../models/index.js';
|
|
13
|
+
import type { CaptureSandboxRootFSSnapshotRequest, CreateSandboxRootFSSnapshotRequest, ForkSandboxRequest, RebaseSandboxRootFSRequest, RestoreSandboxRootFSRequest, SandboxRootFSForkLaunchRequest, SuccessDeletedResponse, SuccessForkSandboxResponse, SuccessRebaseSandboxRootFSResponse, SuccessRestoreSandboxRootFSResponse, SuccessSandboxRootFSForkLaunchResponse, SuccessSandboxRootFSForkObservationResponse, SuccessSandboxRootFSIdentityResponse, SuccessSandboxRootFSSnapshotListResponse, SuccessSandboxRootFSSnapshotResponse } from '../models/index.js';
|
|
14
14
|
export interface ApiV1SandboxRootfsSnapshotsSnapshotIdDeleteRequest {
|
|
15
15
|
snapshotId: string;
|
|
16
16
|
}
|
|
@@ -37,6 +37,37 @@ export interface ApiV1SandboxesIdSnapshotsPostRequest {
|
|
|
37
37
|
id: string;
|
|
38
38
|
createSandboxRootFSSnapshotRequest?: CreateSandboxRootFSSnapshotRequest;
|
|
39
39
|
}
|
|
40
|
+
export interface CaptureSandboxRootFSSnapshotOperationRequest {
|
|
41
|
+
id: string;
|
|
42
|
+
idempotencyKey: string;
|
|
43
|
+
captureSandboxRootFSSnapshotRequest: CaptureSandboxRootFSSnapshotRequest;
|
|
44
|
+
}
|
|
45
|
+
export interface GetCapturedSandboxRootFSSnapshotRequest {
|
|
46
|
+
id: string;
|
|
47
|
+
idempotencyKey: string;
|
|
48
|
+
expectedRuntimeGeneration: number;
|
|
49
|
+
}
|
|
50
|
+
export interface GetSandboxRootFSForkRequest {
|
|
51
|
+
id: string;
|
|
52
|
+
idempotencyKey: string;
|
|
53
|
+
expectedRuntimeGeneration: number;
|
|
54
|
+
}
|
|
55
|
+
export interface GetSandboxRootFSForkLaunchRequest {
|
|
56
|
+
id: string;
|
|
57
|
+
idempotencyKey: string;
|
|
58
|
+
forkOperationId: string;
|
|
59
|
+
filesystemId: string;
|
|
60
|
+
headGenerationId: string;
|
|
61
|
+
writerEpoch: number;
|
|
62
|
+
}
|
|
63
|
+
export interface GetSandboxRootFSIdentityRequest {
|
|
64
|
+
id: string;
|
|
65
|
+
}
|
|
66
|
+
export interface LaunchSandboxRootFSForkRequest {
|
|
67
|
+
id: string;
|
|
68
|
+
idempotencyKey: string;
|
|
69
|
+
sandboxRootFSForkLaunchRequest: SandboxRootFSForkLaunchRequest;
|
|
70
|
+
}
|
|
40
71
|
/**
|
|
41
72
|
*
|
|
42
73
|
*/
|
|
@@ -58,12 +89,12 @@ export declare class SandboxRootfsApi extends runtime.BaseAPI {
|
|
|
58
89
|
*/
|
|
59
90
|
apiV1SandboxRootfsSnapshotsSnapshotIdGet(requestParameters: ApiV1SandboxRootfsSnapshotsSnapshotIdGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessSandboxRootFSSnapshotResponse>;
|
|
60
91
|
/**
|
|
61
|
-
* Forks the source sandbox writable rootfs into a new paused sandbox. A paused source is forked from its current rootfs head. A running source is briefly barriered and checkpointed first; the source sandbox remains running after the fork operation completes. Set memory=true to retain execution state as well. Memory forks require a stable Idempotency-Key. While capture or parent restoration is pending, retry 503 responses with that same key and request. A successful response always contains a committed paused child.
|
|
92
|
+
* Forks the source sandbox writable rootfs into a new paused sandbox. A paused source is forked from its current rootfs head. A running source is briefly barriered and checkpointed first; the source sandbox remains running after the fork operation completes. Set memory=true to retain execution state as well. Memory forks and requests with expected_runtime_generation require a stable Idempotency-Key. While capture or parent restoration is pending, retry 503 responses with that same key and request. A successful response always contains a committed paused child.
|
|
62
93
|
* Fork a sandbox
|
|
63
94
|
*/
|
|
64
95
|
apiV1SandboxesIdForkPostRaw(requestParameters: ApiV1SandboxesIdForkPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessForkSandboxResponse>>;
|
|
65
96
|
/**
|
|
66
|
-
* Forks the source sandbox writable rootfs into a new paused sandbox. A paused source is forked from its current rootfs head. A running source is briefly barriered and checkpointed first; the source sandbox remains running after the fork operation completes. Set memory=true to retain execution state as well. Memory forks require a stable Idempotency-Key. While capture or parent restoration is pending, retry 503 responses with that same key and request. A successful response always contains a committed paused child.
|
|
97
|
+
* Forks the source sandbox writable rootfs into a new paused sandbox. A paused source is forked from its current rootfs head. A running source is briefly barriered and checkpointed first; the source sandbox remains running after the fork operation completes. Set memory=true to retain execution state as well. Memory forks and requests with expected_runtime_generation require a stable Idempotency-Key. While capture or parent restoration is pending, retry 503 responses with that same key and request. A successful response always contains a committed paused child.
|
|
67
98
|
* Fork a sandbox
|
|
68
99
|
*/
|
|
69
100
|
apiV1SandboxesIdForkPost(requestParameters: ApiV1SandboxesIdForkPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessForkSandboxResponse>;
|
|
@@ -94,14 +125,74 @@ export declare class SandboxRootfsApi extends runtime.BaseAPI {
|
|
|
94
125
|
*/
|
|
95
126
|
apiV1SandboxesIdSnapshotsGet(requestParameters: ApiV1SandboxesIdSnapshotsGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessSandboxRootFSSnapshotListResponse>;
|
|
96
127
|
/**
|
|
97
|
-
* Creates an immutable snapshot record from the source sandbox writable rootfs. A paused source is snapshotted from its current rootfs head. A running source is briefly barriered and checkpointed first; the source sandbox remains running after the snapshot operation completes.
|
|
128
|
+
* Creates an immutable snapshot record from the source sandbox writable rootfs. A paused source is snapshotted from its current rootfs head. A running source is briefly barriered and checkpointed first; the source sandbox remains running after the snapshot operation completes. Each sandbox retains at most its team\'s snapshots_per_sandbox quota (default 10). Creating a snapshot automatically removes the oldest excess public snapshots. Internal template-build snapshots are excluded.
|
|
98
129
|
* Create sandbox rootfs snapshot
|
|
99
130
|
*/
|
|
100
131
|
apiV1SandboxesIdSnapshotsPostRaw(requestParameters: ApiV1SandboxesIdSnapshotsPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessSandboxRootFSSnapshotResponse>>;
|
|
101
132
|
/**
|
|
102
|
-
* Creates an immutable snapshot record from the source sandbox writable rootfs. A paused source is snapshotted from its current rootfs head. A running source is briefly barriered and checkpointed first; the source sandbox remains running after the snapshot operation completes.
|
|
133
|
+
* Creates an immutable snapshot record from the source sandbox writable rootfs. A paused source is snapshotted from its current rootfs head. A running source is briefly barriered and checkpointed first; the source sandbox remains running after the snapshot operation completes. Each sandbox retains at most its team\'s snapshots_per_sandbox quota (default 10). Creating a snapshot automatically removes the oldest excess public snapshots. Internal template-build snapshots are excluded.
|
|
103
134
|
* Create sandbox rootfs snapshot
|
|
104
135
|
*/
|
|
105
136
|
apiV1SandboxesIdSnapshotsPost(requestParameters: ApiV1SandboxesIdSnapshotsPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessSandboxRootFSSnapshotResponse>;
|
|
137
|
+
/**
|
|
138
|
+
* Captures one immutable RootFS snapshot from the expected running runtime generation without stopping its processes. Admission checks the generation while locking the external source and exact writer. Reuse the same key, generation and metadata after uncertainty: an accepted capture retains its original transaction and returns its original snapshot when completed, even if the source subsequently changes generation or pauses. A new capture of a paused or mismatched source is rejected. No guest execution, automatic resume, process restart or memory checkpoint fallback is performed. This distinct endpoint fails closed on servers without conditional capture.
|
|
139
|
+
* Capture a generation-conditioned running RootFS snapshot
|
|
140
|
+
*/
|
|
141
|
+
captureSandboxRootFSSnapshotRaw(requestParameters: CaptureSandboxRootFSSnapshotOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessSandboxRootFSSnapshotResponse>>;
|
|
142
|
+
/**
|
|
143
|
+
* Captures one immutable RootFS snapshot from the expected running runtime generation without stopping its processes. Admission checks the generation while locking the external source and exact writer. Reuse the same key, generation and metadata after uncertainty: an accepted capture retains its original transaction and returns its original snapshot when completed, even if the source subsequently changes generation or pauses. A new capture of a paused or mismatched source is rejected. No guest execution, automatic resume, process restart or memory checkpoint fallback is performed. This distinct endpoint fails closed on servers without conditional capture.
|
|
144
|
+
* Capture a generation-conditioned running RootFS snapshot
|
|
145
|
+
*/
|
|
146
|
+
captureSandboxRootFSSnapshot(requestParameters: CaptureSandboxRootFSSnapshotOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessSandboxRootFSSnapshotResponse>;
|
|
147
|
+
/**
|
|
148
|
+
* Reads only the capture identified by the authenticated caller, original Idempotency-Key and expected runtime generation. Does not admit, dispatch, retry, cancel or repair work. Completed receipts can be read after the source changes generation or pauses. A 404 is not proof of cancellation and must not clear an outstanding operation fence. A missing, expired or deleted retained snapshot is never replaced with a new capture.
|
|
149
|
+
* Read the original generation-conditioned snapshot receipt
|
|
150
|
+
*/
|
|
151
|
+
getCapturedSandboxRootFSSnapshotRaw(requestParameters: GetCapturedSandboxRootFSSnapshotRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessSandboxRootFSSnapshotResponse>>;
|
|
152
|
+
/**
|
|
153
|
+
* Reads only the capture identified by the authenticated caller, original Idempotency-Key and expected runtime generation. Does not admit, dispatch, retry, cancel or repair work. Completed receipts can be read after the source changes generation or pauses. A 404 is not proof of cancellation and must not clear an outstanding operation fence. A missing, expired or deleted retained snapshot is never replaced with a new capture.
|
|
154
|
+
* Read the original generation-conditioned snapshot receipt
|
|
155
|
+
*/
|
|
156
|
+
getCapturedSandboxRootFSSnapshot(requestParameters: GetCapturedSandboxRootFSSnapshotRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessSandboxRootFSSnapshotResponse>;
|
|
157
|
+
/**
|
|
158
|
+
* Reads one external database observation for the original authenticated caller, Idempotency-Key and source runtime generation, including zero. Does not submit, retry, cancel or repair work, contact the guest or resume a runtime. Requires sandbox:read. A 404 is not proof of cancellation. Only RootFS forks qualify: memory forks are rejected. The child must remain paused, never run, and retain its original claim and durable head. Configuration must match birth or the one externally committed credential-free network isolation preparation; other changes are rejected. Running-source forks must retain their checkpoint proof; paused-source forks must retain the source filesystem binding. Later source generations or a retained source tombstone do not create a new capture. This is not a credential-safety attestation or a state reservation; subsequent mutations require their own identity conditions.
|
|
159
|
+
* Read original RootFS fork destination provenance
|
|
160
|
+
*/
|
|
161
|
+
getSandboxRootFSForkRaw(requestParameters: GetSandboxRootFSForkRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessSandboxRootFSForkObservationResponse>>;
|
|
162
|
+
/**
|
|
163
|
+
* Reads one external database observation for the original authenticated caller, Idempotency-Key and source runtime generation, including zero. Does not submit, retry, cancel or repair work, contact the guest or resume a runtime. Requires sandbox:read. A 404 is not proof of cancellation. Only RootFS forks qualify: memory forks are rejected. The child must remain paused, never run, and retain its original claim and durable head. Configuration must match birth or the one externally committed credential-free network isolation preparation; other changes are rejected. Running-source forks must retain their checkpoint proof; paused-source forks must retain the source filesystem binding. Later source generations or a retained source tombstone do not create a new capture. This is not a credential-safety attestation or a state reservation; subsequent mutations require their own identity conditions.
|
|
164
|
+
* Read original RootFS fork destination provenance
|
|
165
|
+
*/
|
|
166
|
+
getSandboxRootFSFork(requestParameters: GetSandboxRootFSForkRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessSandboxRootFSForkObservationResponse>;
|
|
167
|
+
/**
|
|
168
|
+
* Binds the original authenticated caller and Idempotency-Key to a first cold launch of the child at generation zero. Supply the original fork operation and the child\'s observed filesystem, head and writer epoch. The child must retain its original birth configuration, or its one externally committed credential-free network isolation preparation; all other fields and automatic-wake disablement must remain unchanged. Memory forks and ordinary resumes are excluded. Retries must keep the same key and conditions; never refresh them after uncertainty. Requires sandbox:read. This is a read-only historical lookup and never admits, retries, wakes or contacts a guest. A 404 is not cancellation. Completed history survives later lifecycles. Current only compares the owner/lifecycle snapshot, not runtime health or a lease. Aborted does not prove physical absence. This is not credential admission.
|
|
169
|
+
* Read the original first fork launch result
|
|
170
|
+
*/
|
|
171
|
+
getSandboxRootFSForkLaunchRaw(requestParameters: GetSandboxRootFSForkLaunchRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessSandboxRootFSForkLaunchResponse>>;
|
|
172
|
+
/**
|
|
173
|
+
* Binds the original authenticated caller and Idempotency-Key to a first cold launch of the child at generation zero. Supply the original fork operation and the child\'s observed filesystem, head and writer epoch. The child must retain its original birth configuration, or its one externally committed credential-free network isolation preparation; all other fields and automatic-wake disablement must remain unchanged. Memory forks and ordinary resumes are excluded. Retries must keep the same key and conditions; never refresh them after uncertainty. Requires sandbox:read. This is a read-only historical lookup and never admits, retries, wakes or contacts a guest. A 404 is not cancellation. Completed history survives later lifecycles. Current only compares the owner/lifecycle snapshot, not runtime health or a lease. Aborted does not prove physical absence. This is not credential admission.
|
|
174
|
+
* Read the original first fork launch result
|
|
175
|
+
*/
|
|
176
|
+
getSandboxRootFSForkLaunch(requestParameters: GetSandboxRootFSForkLaunchRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessSandboxRootFSForkLaunchResponse>;
|
|
177
|
+
/**
|
|
178
|
+
* Requires sandbox:read. Reads one owner-scoped control-plane database snapshot without guest execution, node probing or automatic resume. Binds runtime coordinates to the durable filesystem, committed head and immutable image digest. This is provenance, not current storage liveness, an uncommitted-write guarantee or credential-clean attestation. A later lifecycle can invalidate the observation; mutations must still condition on the expected runtime generation and their own admission evidence.
|
|
179
|
+
* Read external runtime and RootFS identity
|
|
180
|
+
*/
|
|
181
|
+
getSandboxRootFSIdentityRaw(requestParameters: GetSandboxRootFSIdentityRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessSandboxRootFSIdentityResponse>>;
|
|
182
|
+
/**
|
|
183
|
+
* Requires sandbox:read. Reads one owner-scoped control-plane database snapshot without guest execution, node probing or automatic resume. Binds runtime coordinates to the durable filesystem, committed head and immutable image digest. This is provenance, not current storage liveness, an uncommitted-write guarantee or credential-clean attestation. A later lifecycle can invalidate the observation; mutations must still condition on the expected runtime generation and their own admission evidence.
|
|
184
|
+
* Read external runtime and RootFS identity
|
|
185
|
+
*/
|
|
186
|
+
getSandboxRootFSIdentity(requestParameters: GetSandboxRootFSIdentityRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessSandboxRootFSIdentityResponse>;
|
|
187
|
+
/**
|
|
188
|
+
* Binds the original authenticated caller and Idempotency-Key to a first cold launch of the child at generation zero. Supply the original fork operation and the child\'s observed filesystem, head and writer epoch. The child must retain its original birth configuration, or its one externally committed credential-free network isolation preparation; all other fields and automatic-wake disablement must remain unchanged. Memory forks and ordinary resumes are excluded. Retries must keep the same key and conditions; never refresh them after uncertainty. Requires sandbox:write. Admission is durable before node dispatch; manager recovery continues the exact lifecycle after a timeout or lost reply. No guest command or terminal is required. A 503 does not prove that admission failed; use GET with the original key and conditions. Completed history survives later lifecycles. Current only compares the owner/lifecycle snapshot, not runtime health or a lease. Aborted does not prove physical absence. This is not credential admission.
|
|
189
|
+
* Launch the original never-run RootFS fork
|
|
190
|
+
*/
|
|
191
|
+
launchSandboxRootFSForkRaw(requestParameters: LaunchSandboxRootFSForkRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessSandboxRootFSForkLaunchResponse>>;
|
|
192
|
+
/**
|
|
193
|
+
* Binds the original authenticated caller and Idempotency-Key to a first cold launch of the child at generation zero. Supply the original fork operation and the child\'s observed filesystem, head and writer epoch. The child must retain its original birth configuration, or its one externally committed credential-free network isolation preparation; all other fields and automatic-wake disablement must remain unchanged. Memory forks and ordinary resumes are excluded. Retries must keep the same key and conditions; never refresh them after uncertainty. Requires sandbox:write. Admission is durable before node dispatch; manager recovery continues the exact lifecycle after a timeout or lost reply. No guest command or terminal is required. A 503 does not prove that admission failed; use GET with the original key and conditions. Completed history survives later lifecycles. Current only compares the owner/lifecycle snapshot, not runtime health or a lease. Aborted does not prove physical absence. This is not credential admission.
|
|
194
|
+
* Launch the original never-run RootFS fork
|
|
195
|
+
*/
|
|
196
|
+
launchSandboxRootFSFork(requestParameters: LaunchSandboxRootFSForkRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessSandboxRootFSForkLaunchResponse>;
|
|
106
197
|
}
|
|
107
198
|
//# sourceMappingURL=SandboxRootfsApi.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SandboxRootfsApi.d.ts","sourceRoot":"","sources":["../../../../src/apispec/src/apis/SandboxRootfsApi.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,OAAO,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,EACV,kCAAkC,EAElC,kBAAkB,EAClB,0BAA0B,EAC1B,2BAA2B,EAC3B,sBAAsB,EACtB,0BAA0B,EAC1B,kCAAkC,EAClC,mCAAmC,EACnC,wCAAwC,EACxC,oCAAoC,EACrC,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"SandboxRootfsApi.d.ts","sourceRoot":"","sources":["../../../../src/apispec/src/apis/SandboxRootfsApi.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,OAAO,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,EACV,mCAAmC,EACnC,kCAAkC,EAElC,kBAAkB,EAClB,0BAA0B,EAC1B,2BAA2B,EAC3B,8BAA8B,EAC9B,sBAAsB,EACtB,0BAA0B,EAC1B,kCAAkC,EAClC,mCAAmC,EACnC,sCAAsC,EACtC,2CAA2C,EAC3C,oCAAoC,EACpC,wCAAwC,EACxC,oCAAoC,EACrC,MAAM,iBAAiB,CAAC;AAoCzB,MAAM,WAAW,kDAAkD;IAC/D,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,+CAA+C;IAC5D,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,+BAA+B;IAC5C,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;CAC3C;AAED,MAAM,WAAW,sCAAsC;IACnD,EAAE,EAAE,MAAM,CAAC;IACX,0BAA0B,EAAE,0BAA0B,CAAC;CAC1D;AAED,MAAM,WAAW,wCAAwC;IACrD,EAAE,EAAE,MAAM,CAAC;IACX,2BAA2B,EAAE,2BAA2B,CAAC;CAC5D;AAED,MAAM,WAAW,mCAAmC;IAChD,EAAE,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,oCAAoC;IACjD,EAAE,EAAE,MAAM,CAAC;IACX,kCAAkC,CAAC,EAAE,kCAAkC,CAAC;CAC3E;AAED,MAAM,WAAW,4CAA4C;IACzD,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,CAAC;IACvB,mCAAmC,EAAE,mCAAmC,CAAC;CAC5E;AAED,MAAM,WAAW,uCAAuC;IACpD,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,CAAC;IACvB,yBAAyB,EAAE,MAAM,CAAC;CACrC;AAED,MAAM,WAAW,2BAA2B;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,CAAC;IACvB,yBAAyB,EAAE,MAAM,CAAC;CACrC;AAED,MAAM,WAAW,iCAAiC;IAC9C,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,+BAA+B;IAC5C,EAAE,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,8BAA8B;IAC3C,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,CAAC;IACvB,8BAA8B,EAAE,8BAA8B,CAAC;CAClE;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,OAAO,CAAC,OAAO;IAEjD;;OAEG;IACG,8CAA8C,CAAC,iBAAiB,EAAE,kDAAkD,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC;IAkC7O;;OAEG;IACG,2CAA2C,CAAC,iBAAiB,EAAE,kDAAkD,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAKrN;;OAEG;IACG,2CAA2C,CAAC,iBAAiB,EAAE,+CAA+C,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,oCAAoC,CAAC,CAAC;IAkCrP;;OAEG;IACG,wCAAwC,CAAC,iBAAiB,EAAE,+CAA+C,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,oCAAoC,CAAC;IAK7N;;;OAGG;IACG,2BAA2B,CAAC,iBAAiB,EAAE,+BAA+B,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,0BAA0B,CAAC,CAAC;IAyC3M;;;OAGG;IACG,wBAAwB,CAAC,iBAAiB,EAAE,+BAA+B,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAKnL;;;OAGG;IACG,kCAAkC,CAAC,iBAAiB,EAAE,sCAAsC,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,kCAAkC,CAAC,CAAC;IA4CjO;;;OAGG;IACG,+BAA+B,CAAC,iBAAiB,EAAE,sCAAsC,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,kCAAkC,CAAC;IAKzM;;OAEG;IACG,oCAAoC,CAAC,iBAAiB,EAAE,wCAAwC,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,mCAAmC,CAAC,CAAC;IA4CtO;;OAEG;IACG,iCAAiC,CAAC,iBAAiB,EAAE,wCAAwC,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,mCAAmC,CAAC;IAK9M;;OAEG;IACG,+BAA+B,CAAC,iBAAiB,EAAE,mCAAmC,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,wCAAwC,CAAC,CAAC;IAkCjO;;OAEG;IACG,4BAA4B,CAAC,iBAAiB,EAAE,mCAAmC,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,wCAAwC,CAAC;IAKzM;;;OAGG;IACG,gCAAgC,CAAC,iBAAiB,EAAE,oCAAoC,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,oCAAoC,CAAC,CAAC;IAqC/N;;;OAGG;IACG,6BAA6B,CAAC,iBAAiB,EAAE,oCAAoC,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,oCAAoC,CAAC;IAKvM;;;OAGG;IACG,+BAA+B,CAAC,iBAAiB,EAAE,4CAA4C,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,oCAAoC,CAAC,CAAC;IAuDtO;;;OAGG;IACG,4BAA4B,CAAC,iBAAiB,EAAE,4CAA4C,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,oCAAoC,CAAC;IAK9M;;;OAGG;IACG,mCAAmC,CAAC,iBAAiB,EAAE,uCAAuC,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,oCAAoC,CAAC,CAAC;IAwDrO;;;OAGG;IACG,gCAAgC,CAAC,iBAAiB,EAAE,uCAAuC,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,oCAAoC,CAAC;IAK7M;;;OAGG;IACG,uBAAuB,CAAC,iBAAiB,EAAE,2BAA2B,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,2CAA2C,CAAC,CAAC;IAwDpN;;;OAGG;IACG,oBAAoB,CAAC,iBAAiB,EAAE,2BAA2B,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,2CAA2C,CAAC;IAK5L;;;OAGG;IACG,6BAA6B,CAAC,iBAAiB,EAAE,iCAAiC,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,sCAAsC,CAAC,CAAC;IAyF3N;;;OAGG;IACG,0BAA0B,CAAC,iBAAiB,EAAE,iCAAiC,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,sCAAsC,CAAC;IAKnM;;;OAGG;IACG,2BAA2B,CAAC,iBAAiB,EAAE,+BAA+B,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,oCAAoC,CAAC,CAAC;IAkCrN;;;OAGG;IACG,wBAAwB,CAAC,iBAAiB,EAAE,+BAA+B,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,oCAAoC,CAAC;IAK7L;;;OAGG;IACG,0BAA0B,CAAC,iBAAiB,EAAE,8BAA8B,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,sCAAsC,CAAC,CAAC;IAuDrN;;;OAGG;IACG,uBAAuB,CAAC,iBAAiB,EAAE,8BAA8B,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,sCAAsC,CAAC;CAKhM"}
|