sandbox0 0.10.4 → 0.10.5

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.
Files changed (182) hide show
  1. package/README.md +134 -0
  2. package/dist/apispec/src/apis/FilesApi.d.ts +14 -10
  3. package/dist/apispec/src/apis/FilesApi.d.ts.map +1 -1
  4. package/dist/apispec/src/apis/FilesApi.js +14 -10
  5. package/dist/apispec/src/apis/SandboxRootfsApi.d.ts +96 -5
  6. package/dist/apispec/src/apis/SandboxRootfsApi.d.ts.map +1 -1
  7. package/dist/apispec/src/apis/SandboxRootfsApi.js +291 -5
  8. package/dist/apispec/src/apis/SandboxesApi.d.ts +345 -6
  9. package/dist/apispec/src/apis/SandboxesApi.d.ts.map +1 -1
  10. package/dist/apispec/src/apis/SandboxesApi.js +1017 -7
  11. package/dist/apispec/src/apis/SessionsApi.d.ts +51 -1
  12. package/dist/apispec/src/apis/SessionsApi.d.ts.map +1 -1
  13. package/dist/apispec/src/apis/SessionsApi.js +159 -1
  14. package/dist/apispec/src/models/CaptureSandboxRootFSSnapshotRequest.d.ts +51 -0
  15. package/dist/apispec/src/models/CaptureSandboxRootFSSnapshotRequest.d.ts.map +1 -0
  16. package/dist/apispec/src/models/CaptureSandboxRootFSSnapshotRequest.js +49 -0
  17. package/dist/apispec/src/models/ConditionalExecutionSessionRequest.d.ts +46 -0
  18. package/dist/apispec/src/models/ConditionalExecutionSessionRequest.d.ts.map +1 -0
  19. package/dist/apispec/src/models/ConditionalExecutionSessionRequest.js +52 -0
  20. package/dist/apispec/src/models/ForkSandboxConfig.d.ts +6 -0
  21. package/dist/apispec/src/models/ForkSandboxConfig.d.ts.map +1 -1
  22. package/dist/apispec/src/models/ForkSandboxConfig.js +2 -0
  23. package/dist/apispec/src/models/ForkSandboxRequest.d.ts +6 -0
  24. package/dist/apispec/src/models/ForkSandboxRequest.d.ts.map +1 -1
  25. package/dist/apispec/src/models/ForkSandboxRequest.js +2 -0
  26. package/dist/apispec/src/models/ManagedFileReadResponse.d.ts +64 -0
  27. package/dist/apispec/src/models/ManagedFileReadResponse.d.ts.map +1 -0
  28. package/dist/apispec/src/models/ManagedFileReadResponse.js +65 -0
  29. package/dist/apispec/src/models/ManagedFileWriteRequest.d.ts +39 -0
  30. package/dist/apispec/src/models/ManagedFileWriteRequest.d.ts.map +1 -0
  31. package/dist/apispec/src/models/ManagedFileWriteRequest.js +47 -0
  32. package/dist/apispec/src/models/ManagedFilesState.d.ts +58 -0
  33. package/dist/apispec/src/models/ManagedFilesState.d.ts.map +1 -0
  34. package/dist/apispec/src/models/ManagedFilesState.js +61 -0
  35. package/dist/apispec/src/models/PauseSandboxResponse.d.ts +12 -0
  36. package/dist/apispec/src/models/PauseSandboxResponse.d.ts.map +1 -1
  37. package/dist/apispec/src/models/PauseSandboxResponse.js +4 -0
  38. package/dist/apispec/src/models/QuotaDimension.d.ts +5 -1
  39. package/dist/apispec/src/models/QuotaDimension.d.ts.map +1 -1
  40. package/dist/apispec/src/models/QuotaDimension.js +5 -1
  41. package/dist/apispec/src/models/ResourceQuota.d.ts +1 -1
  42. package/dist/apispec/src/models/ResumeSandboxResponse.d.ts +25 -1
  43. package/dist/apispec/src/models/ResumeSandboxResponse.d.ts.map +1 -1
  44. package/dist/apispec/src/models/ResumeSandboxResponse.js +8 -0
  45. package/dist/apispec/src/models/SandboxExecutionStateRequest.d.ts +14 -2
  46. package/dist/apispec/src/models/SandboxExecutionStateRequest.d.ts.map +1 -1
  47. package/dist/apispec/src/models/SandboxExecutionStateRequest.js +4 -0
  48. package/dist/apispec/src/models/SandboxHealth.d.ts +99 -0
  49. package/dist/apispec/src/models/SandboxHealth.d.ts.map +1 -0
  50. package/dist/apispec/src/models/SandboxHealth.js +90 -0
  51. package/dist/apispec/src/models/SandboxHealthObservation.d.ts +109 -0
  52. package/dist/apispec/src/models/SandboxHealthObservation.d.ts.map +1 -0
  53. package/dist/apispec/src/models/SandboxHealthObservation.js +110 -0
  54. package/dist/apispec/src/models/SandboxMemoryOperation.d.ts +115 -0
  55. package/dist/apispec/src/models/SandboxMemoryOperation.d.ts.map +1 -0
  56. package/dist/apispec/src/models/SandboxMemoryOperation.js +100 -0
  57. package/dist/apispec/src/models/SandboxMemoryRestoration.d.ts +64 -0
  58. package/dist/apispec/src/models/SandboxMemoryRestoration.d.ts.map +1 -0
  59. package/dist/apispec/src/models/SandboxMemoryRestoration.js +64 -0
  60. package/dist/apispec/src/models/SandboxMemoryRestorationStep.d.ts +63 -0
  61. package/dist/apispec/src/models/SandboxMemoryRestorationStep.d.ts.map +1 -0
  62. package/dist/apispec/src/models/SandboxMemoryRestorationStep.js +63 -0
  63. package/dist/apispec/src/models/SandboxPauseRequest.d.ts +39 -0
  64. package/dist/apispec/src/models/SandboxPauseRequest.d.ts.map +1 -0
  65. package/dist/apispec/src/models/SandboxPauseRequest.js +43 -0
  66. package/dist/apispec/src/models/SandboxRestartFinalCapture.d.ts +79 -0
  67. package/dist/apispec/src/models/SandboxRestartFinalCapture.d.ts.map +1 -0
  68. package/dist/apispec/src/models/SandboxRestartFinalCapture.js +70 -0
  69. package/dist/apispec/src/models/SandboxRestartFinalCaptureAcknowledgement.d.ts +39 -0
  70. package/dist/apispec/src/models/SandboxRestartFinalCaptureAcknowledgement.d.ts.map +1 -0
  71. package/dist/apispec/src/models/SandboxRestartFinalCaptureAcknowledgement.js +47 -0
  72. package/dist/apispec/src/models/SandboxRestartFinalCaptureFile.d.ts +69 -0
  73. package/dist/apispec/src/models/SandboxRestartFinalCaptureFile.d.ts.map +1 -0
  74. package/dist/apispec/src/models/SandboxRestartFinalCaptureFile.js +67 -0
  75. package/dist/apispec/src/models/SandboxRestartOperation.d.ts +115 -0
  76. package/dist/apispec/src/models/SandboxRestartOperation.d.ts.map +1 -0
  77. package/dist/apispec/src/models/SandboxRestartOperation.js +95 -0
  78. package/dist/apispec/src/models/SandboxRestartRequest.d.ts +33 -0
  79. package/dist/apispec/src/models/SandboxRestartRequest.d.ts.map +1 -0
  80. package/dist/apispec/src/models/SandboxRestartRequest.js +43 -0
  81. package/dist/apispec/src/models/SandboxRestartRetryObservation.d.ts +83 -0
  82. package/dist/apispec/src/models/SandboxRestartRetryObservation.d.ts.map +1 -0
  83. package/dist/apispec/src/models/SandboxRestartRetryObservation.js +75 -0
  84. package/dist/apispec/src/models/SandboxRootFSForkLaunch.d.ts +123 -0
  85. package/dist/apispec/src/models/SandboxRootFSForkLaunch.d.ts.map +1 -0
  86. package/dist/apispec/src/models/SandboxRootFSForkLaunch.js +104 -0
  87. package/dist/apispec/src/models/SandboxRootFSForkLaunchRequest.d.ts +51 -0
  88. package/dist/apispec/src/models/SandboxRootFSForkLaunchRequest.d.ts.map +1 -0
  89. package/dist/apispec/src/models/SandboxRootFSForkLaunchRequest.js +55 -0
  90. package/dist/apispec/src/models/SandboxRootFSForkObservation.d.ts +129 -0
  91. package/dist/apispec/src/models/SandboxRootFSForkObservation.d.ts.map +1 -0
  92. package/dist/apispec/src/models/SandboxRootFSForkObservation.js +107 -0
  93. package/dist/apispec/src/models/SandboxRootFSIdentity.d.ts +138 -0
  94. package/dist/apispec/src/models/SandboxRootFSIdentity.d.ts.map +1 -0
  95. package/dist/apispec/src/models/SandboxRootFSIdentity.js +111 -0
  96. package/dist/apispec/src/models/SandboxRootFSSnapshot.d.ts +6 -0
  97. package/dist/apispec/src/models/SandboxRootFSSnapshot.d.ts.map +1 -1
  98. package/dist/apispec/src/models/SandboxRootFSSnapshot.js +2 -0
  99. package/dist/apispec/src/models/SandboxRuntimeHealth.d.ts +40 -0
  100. package/dist/apispec/src/models/SandboxRuntimeHealth.d.ts.map +1 -0
  101. package/dist/apispec/src/models/SandboxRuntimeHealth.js +48 -0
  102. package/dist/apispec/src/models/SandboxSnapshotRestoreOperation.d.ts +139 -0
  103. package/dist/apispec/src/models/SandboxSnapshotRestoreOperation.d.ts.map +1 -0
  104. package/dist/apispec/src/models/SandboxSnapshotRestoreOperation.js +109 -0
  105. package/dist/apispec/src/models/SandboxSnapshotRestoreRequest.d.ts +51 -0
  106. package/dist/apispec/src/models/SandboxSnapshotRestoreRequest.d.ts.map +1 -0
  107. package/dist/apispec/src/models/SandboxSnapshotRestoreRequest.js +55 -0
  108. package/dist/apispec/src/models/SandboxStorageHealth.d.ts +46 -0
  109. package/dist/apispec/src/models/SandboxStorageHealth.d.ts.map +1 -0
  110. package/dist/apispec/src/models/SandboxStorageHealth.js +52 -0
  111. package/dist/apispec/src/models/SuccessManagedFileReadResponse.d.ts +40 -0
  112. package/dist/apispec/src/models/SuccessManagedFileReadResponse.d.ts.map +1 -0
  113. package/dist/apispec/src/models/SuccessManagedFileReadResponse.js +48 -0
  114. package/dist/apispec/src/models/SuccessManagedFilesStateResponse.d.ts +40 -0
  115. package/dist/apispec/src/models/SuccessManagedFilesStateResponse.d.ts.map +1 -0
  116. package/dist/apispec/src/models/SuccessManagedFilesStateResponse.js +48 -0
  117. package/dist/apispec/src/models/SuccessSandboxHealthResponse.d.ts +40 -0
  118. package/dist/apispec/src/models/SuccessSandboxHealthResponse.d.ts.map +1 -0
  119. package/dist/apispec/src/models/SuccessSandboxHealthResponse.js +48 -0
  120. package/dist/apispec/src/models/SuccessSandboxMemoryOperationResponse.d.ts +40 -0
  121. package/dist/apispec/src/models/SuccessSandboxMemoryOperationResponse.d.ts.map +1 -0
  122. package/dist/apispec/src/models/SuccessSandboxMemoryOperationResponse.js +48 -0
  123. package/dist/apispec/src/models/SuccessSandboxMemoryRestorationResponse.d.ts +40 -0
  124. package/dist/apispec/src/models/SuccessSandboxMemoryRestorationResponse.d.ts.map +1 -0
  125. package/dist/apispec/src/models/SuccessSandboxMemoryRestorationResponse.js +48 -0
  126. package/dist/apispec/src/models/SuccessSandboxRestartFinalCaptureFileResponse.d.ts +40 -0
  127. package/dist/apispec/src/models/SuccessSandboxRestartFinalCaptureFileResponse.d.ts.map +1 -0
  128. package/dist/apispec/src/models/SuccessSandboxRestartFinalCaptureFileResponse.js +48 -0
  129. package/dist/apispec/src/models/SuccessSandboxRestartFinalCaptureResponse.d.ts +40 -0
  130. package/dist/apispec/src/models/SuccessSandboxRestartFinalCaptureResponse.d.ts.map +1 -0
  131. package/dist/apispec/src/models/SuccessSandboxRestartFinalCaptureResponse.js +48 -0
  132. package/dist/apispec/src/models/SuccessSandboxRestartOperationResponse.d.ts +40 -0
  133. package/dist/apispec/src/models/SuccessSandboxRestartOperationResponse.d.ts.map +1 -0
  134. package/dist/apispec/src/models/SuccessSandboxRestartOperationResponse.js +48 -0
  135. package/dist/apispec/src/models/SuccessSandboxRootFSForkLaunchResponse.d.ts +40 -0
  136. package/dist/apispec/src/models/SuccessSandboxRootFSForkLaunchResponse.d.ts.map +1 -0
  137. package/dist/apispec/src/models/SuccessSandboxRootFSForkLaunchResponse.js +48 -0
  138. package/dist/apispec/src/models/SuccessSandboxRootFSForkObservationResponse.d.ts +40 -0
  139. package/dist/apispec/src/models/SuccessSandboxRootFSForkObservationResponse.d.ts.map +1 -0
  140. package/dist/apispec/src/models/SuccessSandboxRootFSForkObservationResponse.js +48 -0
  141. package/dist/apispec/src/models/SuccessSandboxRootFSIdentityResponse.d.ts +40 -0
  142. package/dist/apispec/src/models/SuccessSandboxRootFSIdentityResponse.d.ts.map +1 -0
  143. package/dist/apispec/src/models/SuccessSandboxRootFSIdentityResponse.js +48 -0
  144. package/dist/apispec/src/models/SuccessSandboxSnapshotRestoreOperationResponse.d.ts +40 -0
  145. package/dist/apispec/src/models/SuccessSandboxSnapshotRestoreOperationResponse.d.ts.map +1 -0
  146. package/dist/apispec/src/models/SuccessSandboxSnapshotRestoreOperationResponse.js +48 -0
  147. package/dist/apispec/src/models/index.d.ts +37 -0
  148. package/dist/apispec/src/models/index.d.ts.map +1 -1
  149. package/dist/apispec/src/models/index.js +37 -0
  150. package/dist/fork_launch.d.ts +15 -0
  151. package/dist/fork_launch.d.ts.map +1 -0
  152. package/dist/fork_launch.js +38 -0
  153. package/dist/health.d.ts +4 -0
  154. package/dist/health.d.ts.map +1 -0
  155. package/dist/health.js +46 -0
  156. package/dist/index.d.ts +8 -0
  157. package/dist/index.d.ts.map +1 -1
  158. package/dist/index.js +1 -0
  159. package/dist/memory_operation.d.ts +12 -0
  160. package/dist/memory_operation.d.ts.map +1 -0
  161. package/dist/memory_operation.js +44 -0
  162. package/dist/memory_restoration.d.ts +5 -0
  163. package/dist/memory_restoration.d.ts.map +1 -0
  164. package/dist/memory_restoration.js +29 -0
  165. package/dist/models.d.ts +2 -0
  166. package/dist/models.d.ts.map +1 -1
  167. package/dist/resources/sandboxes.d.ts +73 -1
  168. package/dist/resources/sandboxes.d.ts.map +1 -1
  169. package/dist/resources/sandboxes.js +336 -3
  170. package/dist/restart_final_capture.d.ts +10 -0
  171. package/dist/restart_final_capture.d.ts.map +1 -0
  172. package/dist/restart_final_capture.js +52 -0
  173. package/dist/sandbox_managed_files.d.ts +34 -0
  174. package/dist/sandbox_managed_files.d.ts.map +1 -0
  175. package/dist/sandbox_managed_files.js +96 -0
  176. package/dist/sandbox_sessions.d.ts +5 -0
  177. package/dist/sandbox_sessions.d.ts.map +1 -1
  178. package/dist/sandbox_sessions.js +103 -1
  179. package/dist/ws_client.d.ts +8 -0
  180. package/dist/ws_client.d.ts.map +1 -1
  181. package/dist/ws_client.js +20 -2
  182. 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=/tmp: target directory 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=/tmp: target directory 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=/tmp/a.txt: target file 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=/tmp/a.txt: target file 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":"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"}
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;;;OAGG;IACG,8BAA8B,CAAC,iBAAiB,EAAE,kCAAkC,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC;IA6C7M;;;OAGG;IACG,2BAA2B,CAAC,iBAAiB,EAAE,kCAAkC,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAKrL;;;OAGG;IACG,2BAA2B,CAAC,iBAAiB,EAAE,+BAA+B,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IA6CrL;;;OAGG;IACG,wBAAwB,CAAC,iBAAiB,EAAE,+BAA+B,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAK7J;;;OAGG;IACG,+BAA+B,CAAC,iBAAiB,EAAE,mCAAmC,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC;IA6ChN;;;OAGG;IACG,4BAA4B,CAAC,iBAAiB,EAAE,mCAAmC,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAKxL;;;OAGG;IACG,gCAAgC,CAAC,iBAAiB,EAAE,oCAAoC,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC;IA4C/M;;;OAGG;IACG,6BAA6B,CAAC,iBAAiB,EAAE,oCAAoC,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAKvL;;;OAGG;IACG,4BAA4B,CAAC,iBAAiB,EAAE,gCAAgC,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC;IAwDzM;;;OAGG;IACG,yBAAyB,CAAC,iBAAiB,EAAE,gCAAgC,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAKjL;;;OAGG;IACG,+BAA+B,CAAC,iBAAiB,EAAE,mCAAmC,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC;IA6ChN;;;OAGG;IACG,4BAA4B,CAAC,iBAAiB,EAAE,mCAAmC,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAKxL;;;OAGG;IACG,gCAAgC,CAAC,iBAAiB,EAAE,oCAAoC,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAkC/L;;;OAGG;IACG,6BAA6B,CAAC,iBAAiB,EAAE,oCAAoC,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;CAI1K"}
@@ -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=/tmp: target directory 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=/tmp: target directory 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=/tmp/a.txt: target file 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=/tmp/a.txt: target file 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":"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"}
1
+ {"version":3,"file":"SandboxRootfsApi.d.ts","sourceRoot":"","sources":["../../../../src/apispec/src/apis/SandboxRootfsApi.ts"],"names":[],"mappings":"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"}