withruntime 0.11.2 → 0.12.0
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/BLAXEL.md +2 -2
- package/COMPATIBILITY.md +74 -9
- package/DAYTONA.md +33 -5
- package/E2B.md +85 -24
- package/README.md +9 -8
- package/README.src.md +8 -7
- package/VERCEL.md +43 -5
- package/compatibility-lock.json +58 -49
- package/dist/billing-cli.d.ts +1 -1
- package/dist/billing-cli.js +77 -1
- package/dist/blaxel/errors.d.ts +14 -0
- package/dist/blaxel/errors.js +29 -0
- package/dist/blaxel/index.d.ts +2 -2
- package/dist/blaxel/index.js +4 -4
- package/dist/blaxel/interpreter.d.ts +2 -5
- package/dist/blaxel/sandbox.d.ts +14 -5
- package/dist/blaxel/sandbox.js +63 -7
- package/dist/blaxel/snapshot.d.ts +4 -0
- package/dist/blaxel/snapshot.js +4 -0
- package/dist/cli/logs.d.ts +21 -0
- package/dist/cli/logs.js +188 -0
- package/dist/cli/logs.test.d.ts +1 -0
- package/dist/cli/logs.test.js +272 -0
- package/dist/cli-extras.d.ts +3 -3
- package/dist/cli-extras.js +17 -12
- package/dist/cli-words.d.ts +10 -1
- package/dist/cli-words.js +18 -0
- package/dist/cli.d.ts +5 -1
- package/dist/cli.js +405 -204
- package/dist/client.d.ts +2 -4
- package/dist/client.js +27 -11
- package/dist/cloudflare/errors.d.ts +143 -0
- package/dist/cloudflare/errors.js +167 -0
- package/dist/cloudflare/index.d.ts +175 -6
- package/dist/cloudflare/index.js +416 -26
- package/dist/cloudflare/interpreter.d.ts +119 -0
- package/dist/cloudflare/interpreter.js +223 -0
- package/dist/cloudflare/streams.d.ts +38 -0
- package/dist/cloudflare/streams.js +145 -0
- package/dist/cloudflare/watch.d.ts +9 -0
- package/dist/cloudflare/watch.js +24 -0
- package/dist/codesandbox/index.d.ts +216 -28
- package/dist/codesandbox/index.js +478 -78
- package/dist/compat/core.d.ts +18 -0
- package/dist/compat/core.js +29 -0
- package/dist/compat/files.d.ts +1 -0
- package/dist/compat/files.js +25 -5
- package/dist/daytona/computer-use.d.ts +13 -4
- package/dist/daytona/computer-use.js +66 -8
- package/dist/daytona/daytona.d.ts +6 -0
- package/dist/daytona/daytona.js +30 -3
- package/dist/daytona/errors.d.ts +11 -0
- package/dist/daytona/errors.js +18 -0
- package/dist/daytona/filesystem.js +2 -1
- package/dist/daytona/image.d.ts +13 -9
- package/dist/daytona/image.js +18 -12
- package/dist/daytona/index.d.ts +1 -1
- package/dist/daytona/sandbox.d.ts +8 -2
- package/dist/daytona/sandbox.js +16 -2
- package/dist/domains/index.d.ts +9 -0
- package/dist/domains/index.js +10 -0
- package/dist/e2b/commands.d.ts +1 -1
- package/dist/e2b/commands.js +6 -7
- package/dist/e2b/errors.d.ts +17 -0
- package/dist/e2b/errors.js +40 -1
- package/dist/e2b/index.d.ts +2 -2
- package/dist/e2b/index.js +1 -1
- package/dist/e2b/sandbox.d.ts +27 -21
- package/dist/e2b/sandbox.js +34 -8
- package/dist/e2b/unsupported.js +1 -1
- package/dist/errors.d.ts +10 -1
- package/dist/errors.js +16 -4
- package/dist/freestyle/index.d.ts +285 -37
- package/dist/freestyle/index.js +656 -144
- package/dist/identity.d.ts +3 -0
- package/dist/identity.js +27 -0
- package/dist/images/index.d.ts +9 -0
- package/dist/images/index.js +10 -0
- package/dist/index.d.ts +1 -0
- package/dist/ips/index.d.ts +9 -0
- package/dist/ips/index.js +10 -0
- package/dist/jobs/index.d.ts +9 -0
- package/dist/jobs/index.js +10 -0
- package/dist/keys.js +2 -0
- package/dist/login.js +2 -0
- package/dist/machine.d.ts +12 -3
- package/dist/machine.js +20 -3
- package/dist/mcp.js +1 -1
- package/dist/modal/index.d.ts +339 -61
- package/dist/modal/index.js +781 -121
- package/dist/network-cli.d.ts +3 -1
- package/dist/network-cli.js +78 -36
- package/dist/networks/index.d.ts +11 -0
- package/dist/networks/index.js +10 -0
- package/dist/ports/index.d.ts +9 -0
- package/dist/ports/index.js +10 -0
- package/dist/product-names.d.ts +52 -0
- package/dist/product-names.js +164 -0
- package/dist/product-renames.d.ts +103 -0
- package/dist/product-renames.js +189 -0
- package/dist/products/apps.d.ts +176 -0
- package/dist/products/apps.js +165 -0
- package/dist/products/billing.d.ts +41 -0
- package/dist/products/billing.js +13 -0
- package/dist/products/browser.d.ts +10 -0
- package/dist/products/browsers.d.ts +71 -0
- package/dist/products/browsers.js +102 -0
- package/dist/products/builds.d.ts +126 -0
- package/dist/products/builds.js +221 -0
- package/dist/products/index.d.ts +3 -16
- package/dist/products/index.js +3 -14
- package/dist/products/jobs.d.ts +17 -0
- package/dist/products/jobs.js +27 -10
- package/dist/products/logs.d.ts +245 -0
- package/dist/products/logs.js +274 -0
- package/dist/products/logs.test.d.ts +1 -0
- package/dist/products/logs.test.js +343 -0
- package/dist/products/network-products.d.ts +38 -7
- package/dist/products/network-products.js +31 -18
- package/dist/products/observability.d.ts +3 -2
- package/dist/products/private-network.js +1 -1
- package/dist/products/queues.d.ts +149 -0
- package/dist/products/queues.js +213 -0
- package/dist/products/referrals.d.ts +21 -7
- package/dist/products/referrals.js +3 -3
- package/dist/products/secrets.d.ts +7 -3
- package/dist/products/secrets.js +39 -18
- package/dist/products/signed-requests.d.ts +21 -0
- package/dist/products/signed-requests.js +11 -0
- package/dist/products/streams.d.ts +73 -0
- package/dist/products/streams.js +17 -0
- package/dist/products/switching.d.ts +35 -7
- package/dist/products/switching.js +4 -3
- package/dist/products/volumes.d.ts +3 -0
- package/dist/record-cli.d.ts +23 -0
- package/dist/record-cli.js +308 -0
- package/dist/renamed-products.d.ts +38 -0
- package/dist/renamed-products.js +34 -0
- package/dist/runloop/index.d.ts +9 -2
- package/dist/runloop/index.js +29 -8
- package/dist/runloop/sdk.d.ts +131 -0
- package/dist/runloop/sdk.js +167 -0
- package/dist/sandbox.d.ts +3 -2
- package/dist/sandbox.js +14 -9
- package/dist/sandboxes/index.d.ts +11 -0
- package/dist/sandboxes/index.js +12 -0
- package/dist/snapshots/index.d.ts +9 -0
- package/dist/snapshots/index.js +11 -0
- package/dist/snapshots.d.ts +7 -4
- package/dist/sprites/index.d.ts +343 -31
- package/dist/sprites/index.js +866 -84
- package/dist/ssh.d.ts +1 -1
- package/dist/ssh.js +11 -11
- package/dist/terminal.d.ts +24 -0
- package/dist/terminal.js +32 -0
- package/dist/transport.d.ts +15 -1
- package/dist/transport.js +56 -3
- package/dist/tunnel.js +1 -1
- package/dist/types.d.ts +63 -0
- package/dist/vercel/sandbox.js +5 -3
- package/dist/vercel/snapshot.js +10 -2
- package/dist/volumes/index.d.ts +9 -0
- package/dist/volumes/index.js +10 -0
- package/package.json +48 -2
package/compatibility-lock.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
|
-
"checkedAt": "2026-10-
|
|
3
|
+
"checkedAt": "2026-10-11",
|
|
4
4
|
"providers": [
|
|
5
5
|
{
|
|
6
6
|
"id": "e2b",
|
|
@@ -9,35 +9,35 @@
|
|
|
9
9
|
{
|
|
10
10
|
"registry": "npm",
|
|
11
11
|
"name": "e2b",
|
|
12
|
-
"version": "2.
|
|
12
|
+
"version": "2.55.0",
|
|
13
13
|
"artifacts": {
|
|
14
|
-
"2.
|
|
14
|
+
"2.55.0": "sha512-viC7GLHMPqzilndlKgNXWN0ebMV8fpbI1IfDlPd+GHuNcJIcUCXKyr5HAxjcC5sDMym3rrbyUyUQ+zQVAU9oGA=="
|
|
15
15
|
}
|
|
16
16
|
},
|
|
17
17
|
{
|
|
18
18
|
"registry": "npm",
|
|
19
19
|
"name": "@e2b/code-interpreter",
|
|
20
|
-
"version": "2.8.
|
|
20
|
+
"version": "2.8.3",
|
|
21
21
|
"artifacts": {
|
|
22
|
-
"2.8.
|
|
22
|
+
"2.8.3": "sha512-xrSwGtyEoYFZJTtOI8UzYzsNmi4SL/fsH4jxRjJYJDtIHYHLD+sFR6gxGYs5xRYLGxi56ptVMTayX/26ZzJlEA=="
|
|
23
23
|
}
|
|
24
24
|
},
|
|
25
25
|
{
|
|
26
26
|
"registry": "pypi",
|
|
27
27
|
"name": "e2b",
|
|
28
|
-
"version": "2.
|
|
28
|
+
"version": "2.55.1",
|
|
29
29
|
"artifacts": {
|
|
30
|
-
"e2b-2.
|
|
31
|
-
"e2b-2.
|
|
30
|
+
"e2b-2.55.1-py3-none-any.whl": "sha256-30aec382a7cac5401e0aa0efb156422459f586101809c3e9f34a6fcf797097db",
|
|
31
|
+
"e2b-2.55.1.tar.gz": "sha256-5255f9a01dc484c343f750d13d3a9c857ef3511222a240572ddce2563dd301d9"
|
|
32
32
|
}
|
|
33
33
|
},
|
|
34
34
|
{
|
|
35
35
|
"registry": "pypi",
|
|
36
36
|
"name": "e2b-code-interpreter",
|
|
37
|
-
"version": "2.10.
|
|
37
|
+
"version": "2.10.5",
|
|
38
38
|
"artifacts": {
|
|
39
|
-
"e2b_code_interpreter-2.10.
|
|
40
|
-
"e2b_code_interpreter-2.10.
|
|
39
|
+
"e2b_code_interpreter-2.10.5-py3-none-any.whl": "sha256-ac98cd29335ae4f035b70a4eb5f6ca89dc5728d48de79cfb7d90a08d57a652b5",
|
|
40
|
+
"e2b_code_interpreter-2.10.5.tar.gz": "sha256-ea478929289d0f9936e236cf9e36b914f4df7ef58ca2e5b1e851c1f3b13bf5ca"
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
]
|
|
@@ -49,42 +49,42 @@
|
|
|
49
49
|
{
|
|
50
50
|
"registry": "npm",
|
|
51
51
|
"name": "@daytona/sdk",
|
|
52
|
-
"version": "0.
|
|
52
|
+
"version": "0.223.1",
|
|
53
53
|
"artifacts": {
|
|
54
|
-
"0.
|
|
54
|
+
"0.223.1": "sha512-Ja6bacvUBuODjKcWGczZn6k9w+7veIces4k2tdizPUndj3pjgnHrphq/TbdIvJfKtz91yQ+S4mKoKaeuKQLc7g=="
|
|
55
55
|
}
|
|
56
56
|
},
|
|
57
57
|
{
|
|
58
58
|
"registry": "pypi",
|
|
59
59
|
"name": "daytona",
|
|
60
|
-
"version": "0.
|
|
60
|
+
"version": "0.223.1",
|
|
61
61
|
"artifacts": {
|
|
62
|
-
"daytona-0.
|
|
63
|
-
"daytona-0.
|
|
62
|
+
"daytona-0.223.1-py3-none-any.whl": "sha256-768564fbbe45a91eb0ba6e5e0f36a743e17cc14b7a3a2108aae931ae820a15c1",
|
|
63
|
+
"daytona-0.223.1.tar.gz": "sha256-72a4a7a795f44aa678daad52d74bd69d11eeacd894f310895a313200ea8fec1f"
|
|
64
64
|
}
|
|
65
65
|
},
|
|
66
66
|
{
|
|
67
67
|
"registry": "npm",
|
|
68
68
|
"name": "@daytona/api-client",
|
|
69
|
-
"version": "0.
|
|
69
|
+
"version": "0.223.1",
|
|
70
70
|
"artifacts": {
|
|
71
|
-
"0.
|
|
71
|
+
"0.223.1": "sha512-p/NaCr3NbKUKPwqDBJBHHvToUMqh7QIyHT5rENzJYSrs9RCMfsifbtTpe0nHyOokfZhIceHWFcOtT2JwJYmSKQ=="
|
|
72
72
|
}
|
|
73
73
|
},
|
|
74
74
|
{
|
|
75
75
|
"registry": "npm",
|
|
76
76
|
"name": "@daytona/toolbox-api-client",
|
|
77
|
-
"version": "0.
|
|
77
|
+
"version": "0.223.1",
|
|
78
78
|
"artifacts": {
|
|
79
|
-
"0.
|
|
79
|
+
"0.223.1": "sha512-Sl91T6kLIfilU5njZWGzU8KAeHtOfv6pw6iPO1JmX8UhjqfriOy6exPyCxSiBpmyZsQy0eL80IecdbTZPvnmcQ=="
|
|
80
80
|
}
|
|
81
81
|
},
|
|
82
82
|
{
|
|
83
83
|
"registry": "npm",
|
|
84
84
|
"name": "@daytona/analytics-api-client",
|
|
85
|
-
"version": "0.
|
|
85
|
+
"version": "0.223.1",
|
|
86
86
|
"artifacts": {
|
|
87
|
-
"0.
|
|
87
|
+
"0.223.1": "sha512-LntjeNKKHpjzpCwgGbfYRvQ733b7SLfGpeM5ZTA12YK82YfvssGPDRkfo7xi88ndsbYteE+L9TpqYx3aH3WncA=="
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
90
|
]
|
|
@@ -96,27 +96,27 @@
|
|
|
96
96
|
{
|
|
97
97
|
"registry": "npm",
|
|
98
98
|
"name": "@vercel/sandbox",
|
|
99
|
-
"version": "3.
|
|
99
|
+
"version": "3.6.1",
|
|
100
100
|
"artifacts": {
|
|
101
|
-
"3.
|
|
101
|
+
"3.6.1": "sha512-U6dwyadp2SmW/M96W2Bb3UjIql6TOOYwu9McUIwob209pj0A3ks/wKrMv7lCE7INx50J5zOpqLhMOnFa+Yodlg=="
|
|
102
102
|
}
|
|
103
103
|
},
|
|
104
104
|
{
|
|
105
105
|
"registry": "pypi",
|
|
106
106
|
"name": "vercel",
|
|
107
|
-
"version": "0.11.
|
|
107
|
+
"version": "0.11.6",
|
|
108
108
|
"artifacts": {
|
|
109
|
-
"vercel-0.11.
|
|
110
|
-
"vercel-0.11.
|
|
109
|
+
"vercel-0.11.6-py3-none-any.whl": "sha256-3dfad0bfc6a6ba380246acec7346ed89020247e16e4294d88f3d9a296d2d5f43",
|
|
110
|
+
"vercel-0.11.6.tar.gz": "sha256-af96132f898e0bc8421e5ae16a0d16fd973aaebaf3f0852d3ffef076af7a22ed"
|
|
111
111
|
}
|
|
112
112
|
},
|
|
113
113
|
{
|
|
114
114
|
"registry": "pypi",
|
|
115
115
|
"name": "vercel-sandbox",
|
|
116
|
-
"version": "0.
|
|
116
|
+
"version": "0.9.0",
|
|
117
117
|
"artifacts": {
|
|
118
|
-
"vercel_sandbox-0.
|
|
119
|
-
"vercel_sandbox-0.
|
|
118
|
+
"vercel_sandbox-0.9.0-py3-none-any.whl": "sha256-eebc4ecd430ff3845f4f5a36c18d7ba80405f459533bb0d206caed9b2a3ed5ab",
|
|
119
|
+
"vercel_sandbox-0.9.0.tar.gz": "sha256-5b75e3aead43f9b9dea6c74d5fabdf5539b874c6d9e65cb6570ee0ac077848fb"
|
|
120
120
|
}
|
|
121
121
|
}
|
|
122
122
|
]
|
|
@@ -151,18 +151,18 @@
|
|
|
151
151
|
{
|
|
152
152
|
"registry": "npm",
|
|
153
153
|
"name": "@runloop/api-client",
|
|
154
|
-
"version": "
|
|
154
|
+
"version": "2.0.0",
|
|
155
155
|
"artifacts": {
|
|
156
|
-
"
|
|
156
|
+
"2.0.0": "sha512-1npSvS5rVTUrNbtjGYoMXOb7r4OL7XhRJGPo1buu1iED5rxOXzU7+nDT0Spe+TFwDz9PL+X5frikTEYJ312PEA=="
|
|
157
157
|
}
|
|
158
158
|
},
|
|
159
159
|
{
|
|
160
160
|
"registry": "pypi",
|
|
161
161
|
"name": "runloop-api-client",
|
|
162
|
-
"version": "
|
|
162
|
+
"version": "2.0.0",
|
|
163
163
|
"artifacts": {
|
|
164
|
-
"runloop_api_client-
|
|
165
|
-
"runloop_api_client-
|
|
164
|
+
"runloop_api_client-2.0.0-py3-none-any.whl": "sha256-85e22da5b7cc67dc6c4c126523800976794677ee42fa2c36ef9dd7be099f009a",
|
|
165
|
+
"runloop_api_client-2.0.0.tar.gz": "sha256-9ac246ac8003e87d616857e54965cc4b526d2fa4a815016583d74f3d2c59e390"
|
|
166
166
|
}
|
|
167
167
|
}
|
|
168
168
|
]
|
|
@@ -196,10 +196,10 @@
|
|
|
196
196
|
{
|
|
197
197
|
"registry": "pypi",
|
|
198
198
|
"name": "sprites-py",
|
|
199
|
-
"version": "0.7.
|
|
199
|
+
"version": "0.7.2",
|
|
200
200
|
"artifacts": {
|
|
201
|
-
"sprites_py-0.7.
|
|
202
|
-
"sprites_py-0.7.
|
|
201
|
+
"sprites_py-0.7.2-py3-none-any.whl": "sha256-b9015928cf2cab8c99f31f7fa245b088f9f26f37ce047721bcdf9c63e1f2f502",
|
|
202
|
+
"sprites_py-0.7.2.tar.gz": "sha256-bebc5aec3c1a2a7a5090b8a1efd4b0cb2ed2c10baf72c8b85ea050d59c054c8c"
|
|
203
203
|
}
|
|
204
204
|
}
|
|
205
205
|
]
|
|
@@ -211,9 +211,9 @@
|
|
|
211
211
|
{
|
|
212
212
|
"registry": "npm",
|
|
213
213
|
"name": "freestyle",
|
|
214
|
-
"version": "0.2.
|
|
214
|
+
"version": "0.2.17",
|
|
215
215
|
"artifacts": {
|
|
216
|
-
"0.2.
|
|
216
|
+
"0.2.17": "sha512-SQRRJAP+y56/nIDwmqJG5Y5IqqKYAmABqv/gjyzANy0wUe3cqnV1iD14nU9lQAYWtQ5UCl+lnE38nXZFKO0J9Q=="
|
|
217
217
|
}
|
|
218
218
|
}
|
|
219
219
|
]
|
|
@@ -231,31 +231,40 @@
|
|
|
231
231
|
"prime_sandboxes-0.4.1.tar.gz": "sha256-53f7577dc9070e3b8e30db360f9e3cce3bcc35f8765b26f24f64dbc3c7763b06"
|
|
232
232
|
},
|
|
233
233
|
"latestReview": {
|
|
234
|
-
"version": "0.4.
|
|
234
|
+
"version": "0.4.3",
|
|
235
235
|
"artifacts": {
|
|
236
|
-
"prime_sandboxes-0.4.
|
|
237
|
-
"prime_sandboxes-0.4.
|
|
236
|
+
"prime_sandboxes-0.4.3-py3-none-any.whl": "sha256-dd26007838c25b5d38a8b7af0514c07027b783406c0ea5b9fcf0eb74a45139bd",
|
|
237
|
+
"prime_sandboxes-0.4.3.tar.gz": "sha256-a2169182f74307485c73f897e224c978eba3276133ddb40715be4d346594c487"
|
|
238
238
|
},
|
|
239
|
-
"reviewedAt": "2026-10-
|
|
239
|
+
"reviewedAt": "2026-10-08",
|
|
240
240
|
"disposition": "held-for-sdk-qualification",
|
|
241
241
|
"evidence": {
|
|
242
242
|
"sourceUrls": [
|
|
243
|
-
"https://pypi.org/pypi/prime-sandboxes/0.4.
|
|
244
|
-
"https://files.pythonhosted.org/packages/
|
|
245
|
-
"https://files.pythonhosted.org/packages/
|
|
243
|
+
"https://pypi.org/pypi/prime-sandboxes/0.4.3/json",
|
|
244
|
+
"https://files.pythonhosted.org/packages/d8/1b/01e02c9d2346956f5ed77d269f836905a017ad796a4b4c719debd8942dc4/prime_sandboxes-0.4.3.tar.gz",
|
|
245
|
+
"https://files.pythonhosted.org/packages/e1/5f/d0b5cd1dabdb6e5cb1ab5d84c8ba9a96e2a9a0be8913ec9db9177c9645fb/prime_sandboxes-0.4.3-py3-none-any.whl",
|
|
246
246
|
"https://github.com/PrimeIntellect-ai/prime/tree/main/packages/prime-sandboxes"
|
|
247
247
|
],
|
|
248
248
|
"artifactSha256": {
|
|
249
|
-
"prime_sandboxes-0.4.
|
|
250
|
-
"prime_sandboxes-0.4.
|
|
249
|
+
"prime_sandboxes-0.4.3-py3-none-any.whl": "dd26007838c25b5d38a8b7af0514c07027b783406c0ea5b9fcf0eb74a45139bd",
|
|
250
|
+
"prime_sandboxes-0.4.3.tar.gz": "a2169182f74307485c73f897e224c978eba3276133ddb40715be4d346594c487"
|
|
251
251
|
},
|
|
252
252
|
"changes": [
|
|
253
253
|
"Source diff of the 0.4.1 and 0.4.2 sdists, downloaded and hashed on the Mac, nothing installed or run: README, __init__, models.py, sandbox.py, one test changed; tests/test_checkpoints.py added.",
|
|
254
254
|
"Adds filesystem checkpoints: SandboxCheckpoint, CheckpointLookupError and BatchCheckpointResponse models; checkpoint, get_checkpoint, get_checkpoints (batch of up to 100 ids), wait_for_checkpoint and list_checkpoints on the sync and async clients; CreateSandboxRequest takes checkpoint_id with a validate_restore_source check.",
|
|
255
255
|
"CreateSandboxRequest.docker_image becomes Optional (None when restoring from a checkpoint) and disk_size_gb's default 5.0 becomes None.",
|
|
256
256
|
"Background job launch: the working_dir prefix is 'cd DIR || exit 1;' instead of 'cd DIR &&', and the launch cwd is / for an absolute working_dir.",
|
|
257
|
+
"Source diff of the 0.4.2 and 0.4.3 sdists, downloaded and hashed on the Mac, nothing installed or run; the wheel's package source matched the sdist's: __init__, core/client.py, models.py, sandbox.py and tests/test_checkpoints.py changed.",
|
|
258
|
+
"Adds checkpoint deletion: delete_checkpoint (DELETE /sandbox/checkpoints/{id}, 409 while pending or the active tip) and delete_sandbox_checkpoints (DELETE /sandbox/{id}/checkpoints) on the sync and async clients, with DeleteSandboxCheckpointsResponse and CheckpointDeleteError (NOT_FOUND or CONFLICT) models exported.",
|
|
259
|
+
"The core client returns {} for an HTTP 204 instead of parsing an empty body.",
|
|
257
260
|
"No existing method was removed or renamed. Installed consumer qualification against withruntime/prime is not run; the supported pin stays 0.4.1."
|
|
258
261
|
]
|
|
262
|
+
},
|
|
263
|
+
"between": {
|
|
264
|
+
"0.4.2": {
|
|
265
|
+
"prime_sandboxes-0.4.2-py3-none-any.whl": "sha256-ed59f001c7575339d6c903166c5468f783eda0997586ec6476fd8b35f65746f9",
|
|
266
|
+
"prime_sandboxes-0.4.2.tar.gz": "sha256-4990a724cac0a662fde6e12e7eccfee092a78679cc568653b8ef52008dfa28e4"
|
|
267
|
+
}
|
|
259
268
|
}
|
|
260
269
|
}
|
|
261
270
|
}
|
package/dist/billing-cli.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ type Args = {
|
|
|
9
9
|
positional: string[];
|
|
10
10
|
flags: Map<string, string[]>;
|
|
11
11
|
};
|
|
12
|
-
export declare const BILLING_HELP = "runtime billing <command>\n\n topup <usd> [--wait] Buy credit with stablecoins (USDC on Base, Solana or Tempo).\n Prints an address per network and the exact amount to send.\n Send exactly that, from any wallet, before the time shown.\n --wait keeps checking until the credit lands.\n status <id> [--wait] Whether a top-up's payment has arrived\n\n No account yet? An agent can open one with a wallet alone:\n topup <usd> --new-account --accept-terms [--wait]\n Opens an account and its first top-up. Prints a claim code,\n shown once. --wait saves the key here once the money lands.\n claim <code> [--wait] Exchange a paid account's claim code for its key, saved here\n\n $10 to $10,000 a top-up; $500 in an account's first week. By card:\n https://withruntime.com/account/billing\n";
|
|
12
|
+
export declare const BILLING_HELP = "runtime billing <command>\n\n topup <usd> [--wait] Buy credit with stablecoins (USDC on Base, Solana or Tempo).\n Prints an address per network and the exact amount to send.\n Send exactly that, from any wallet, before the time shown.\n --wait keeps checking until the credit lands.\n status <id> [--wait] Whether a top-up's payment has arrived\n\n auto-top-up Show auto top-up: the card is charged when credit runs low\n auto-top-up on [--below <usd>] [--amount <usd>] [--monthly <usd>]\n Charge <amount> plus tax when credit falls below <below>,\n at most <monthly> a month: $10, $20 and $500 unless given,\n or as last set. At least $10, $20 and $100. 5% more as\n credit each time, and 200 sandboxes at once while on.\n A person saves the card at\n https://withruntime.com/account/billing\n auto-top-up off Turn it off. Running sandboxes are never stopped.\n\n No account yet? An agent can open one with a wallet alone:\n topup <usd> --new-account --accept-terms [--wait]\n Opens an account and its first top-up. Prints a claim code,\n shown once. --wait saves the key here once the money lands.\n claim <code> [--wait] Exchange a paid account's claim code for its key, saved here\n\n $10 to $10,000 a top-up; $500 in an account's first week. By card:\n https://withruntime.com/account/billing\n";
|
|
13
13
|
/** Wallet-account commands need no key, and the claim saves the one they get. */
|
|
14
14
|
export type WalletDeps = {
|
|
15
15
|
open: typeof openWalletAccount;
|
package/dist/billing-cli.js
CHANGED
|
@@ -8,6 +8,16 @@ export const BILLING_HELP = `runtime billing <command>
|
|
|
8
8
|
--wait keeps checking until the credit lands.
|
|
9
9
|
status <id> [--wait] Whether a top-up's payment has arrived
|
|
10
10
|
|
|
11
|
+
auto-top-up Show auto top-up: the card is charged when credit runs low
|
|
12
|
+
auto-top-up on [--below <usd>] [--amount <usd>] [--monthly <usd>]
|
|
13
|
+
Charge <amount> plus tax when credit falls below <below>,
|
|
14
|
+
at most <monthly> a month: $10, $20 and $500 unless given,
|
|
15
|
+
or as last set. At least $10, $20 and $100. 5% more as
|
|
16
|
+
credit each time, and 200 sandboxes at once while on.
|
|
17
|
+
A person saves the card at
|
|
18
|
+
https://withruntime.com/account/billing
|
|
19
|
+
auto-top-up off Turn it off. Running sandboxes are never stopped.
|
|
20
|
+
|
|
11
21
|
No account yet? An agent can open one with a wallet alone:
|
|
12
22
|
topup <usd> --new-account --accept-terms [--wait]
|
|
13
23
|
Opens an account and its first top-up. Prints a claim code,
|
|
@@ -43,7 +53,7 @@ function describe(topup) {
|
|
|
43
53
|
lines.push("", ...(topup.payBy ? [`Send before ${topup.payBy}.`] : []), "A different amount, token or network cannot be matched or returned automatically.", `The credit lands a few minutes after the transfer: \`${me} billing status ${topup.purchaseId}\`.`);
|
|
44
54
|
return lines.join("\n");
|
|
45
55
|
}
|
|
46
|
-
const FLAGS = new Set(["wait", "new-account", "accept-terms"]);
|
|
56
|
+
const FLAGS = new Set(["wait", "new-account", "accept-terms", "below", "amount", "monthly"]);
|
|
47
57
|
export async function billingCommand(argv, args, out, client, sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms)), wallet) {
|
|
48
58
|
const [verb, value] = args.positional;
|
|
49
59
|
const has = (name) => args.flags.get(name)?.at(-1) === "true";
|
|
@@ -60,6 +70,11 @@ export async function billingCommand(argv, args, out, client, sleep = (ms) => ne
|
|
|
60
70
|
throw usage("Wallet accounts are not available here.");
|
|
61
71
|
return walletCommand(verb, value, has("accept-terms"), wait, out, sleep, wallet);
|
|
62
72
|
}
|
|
73
|
+
if (verb === "auto-top-up")
|
|
74
|
+
return autoTopUpCommand(value, args, out, client);
|
|
75
|
+
for (const name of ["below", "amount", "monthly"])
|
|
76
|
+
if (args.flags.has(name))
|
|
77
|
+
throw usage(`--${name} is for \`billing auto-top-up on\`.`);
|
|
63
78
|
const api = (await client()).billing;
|
|
64
79
|
let topup;
|
|
65
80
|
if (verb === "topup") {
|
|
@@ -95,6 +110,67 @@ export async function billingCommand(argv, args, out, client, sleep = (ms) => ne
|
|
|
95
110
|
}
|
|
96
111
|
return topup.status === "paid" ? 0 : 1;
|
|
97
112
|
}
|
|
113
|
+
const OFF_REASONS = {
|
|
114
|
+
declined: "the bank declined the last charge",
|
|
115
|
+
authentication_required: "the bank asked its holder to confirm the last charge",
|
|
116
|
+
card_removed: "the card was removed",
|
|
117
|
+
no_address: "Stripe had no billing address to work out tax",
|
|
118
|
+
blocked: "a payment on this account is under review",
|
|
119
|
+
failed: "the last charge did not go through",
|
|
120
|
+
};
|
|
121
|
+
function describeAuto(auto) {
|
|
122
|
+
const figures = auto.below !== null && auto.amount !== null && auto.monthlyLimit !== null
|
|
123
|
+
? `adds $${auto.amount} when credit falls below $${auto.below}, up to $${auto.monthlyLimit} a month`
|
|
124
|
+
: null;
|
|
125
|
+
const lines = [
|
|
126
|
+
auto.enabled
|
|
127
|
+
? `Auto top-up is on: it ${figures}. $${auto.thisMonth} added this month.`
|
|
128
|
+
: auto.waitingForCard
|
|
129
|
+
? `Auto top-up turns on once a card is saved: it will ${figures}.`
|
|
130
|
+
: auto.offReason
|
|
131
|
+
? `Auto top-up is off: ${OFF_REASONS[auto.offReason]}.`
|
|
132
|
+
: "Auto top-up is off.",
|
|
133
|
+
];
|
|
134
|
+
if (auto.saveCardAt)
|
|
135
|
+
lines.push(`A person saves the card at ${auto.saveCardAt}`);
|
|
136
|
+
return lines.join("\n");
|
|
137
|
+
}
|
|
138
|
+
/** `billing auto-top-up [on|off]`. */
|
|
139
|
+
async function autoTopUpCommand(verb, args, out, client) {
|
|
140
|
+
const flag = (name) => args.flags.get(name)?.at(-1);
|
|
141
|
+
const api = (await client()).billing.autoTopUp;
|
|
142
|
+
const options = { idempotencyKey: crypto.randomUUID() };
|
|
143
|
+
let auto;
|
|
144
|
+
if (!verb || verb === "show")
|
|
145
|
+
auto = await api.get();
|
|
146
|
+
else if (verb === "off")
|
|
147
|
+
auto = await api.off(options);
|
|
148
|
+
else if (verb === "on") {
|
|
149
|
+
// A figure not given keeps the one saved, or takes its default.
|
|
150
|
+
const figure = (name) => {
|
|
151
|
+
const value = flag(name);
|
|
152
|
+
if (value === undefined)
|
|
153
|
+
return undefined;
|
|
154
|
+
const usd = Number(value.replace(/^\$/, ""));
|
|
155
|
+
if (!value || !Number.isFinite(usd) || usd <= 0)
|
|
156
|
+
throw usage(`Give --${name} in dollars, such as --${name} 20.`);
|
|
157
|
+
return usd;
|
|
158
|
+
};
|
|
159
|
+
const below = figure("below");
|
|
160
|
+
const amount = figure("amount");
|
|
161
|
+
const monthlyLimit = figure("monthly");
|
|
162
|
+
auto = await api.set({
|
|
163
|
+
enabled: true,
|
|
164
|
+
...(below === undefined ? {} : { below }),
|
|
165
|
+
...(amount === undefined ? {} : { amount }),
|
|
166
|
+
...(monthlyLimit === undefined ? {} : { monthlyLimit }),
|
|
167
|
+
}, options);
|
|
168
|
+
}
|
|
169
|
+
else
|
|
170
|
+
throw usage(`Unknown auto-top-up command ${verb}: show, on or off.`);
|
|
171
|
+
out.write(out.json ? JSON.stringify(auto) : describeAuto(auto));
|
|
172
|
+
return 0;
|
|
173
|
+
}
|
|
98
174
|
function dollarsOf(value) {
|
|
99
175
|
const usd = Number(value?.replace(/^\$/, ""));
|
|
100
176
|
if (!value || !Number.isFinite(usd) || usd <= 0)
|
package/dist/blaxel/errors.d.ts
CHANGED
|
@@ -35,6 +35,20 @@ export declare class NotSupportedError extends Error {
|
|
|
35
35
|
readonly alternative: string;
|
|
36
36
|
constructor(feature: string, alternative: string, message?: string);
|
|
37
37
|
}
|
|
38
|
+
/** Thrown by SandboxInstance.create / createIfNotExists when the sandbox was
|
|
39
|
+
* not running within the `timeout` asked for. The sandbox is deleted first,
|
|
40
|
+
* so its name is free and the creation can simply be started over, as on
|
|
41
|
+
* Blaxel. */
|
|
42
|
+
export declare class SandboxCreationTimeoutError extends Error {
|
|
43
|
+
readonly sandboxName: string | undefined;
|
|
44
|
+
readonly timeout: number | undefined;
|
|
45
|
+
readonly code = "CREATION_TIMEOUT";
|
|
46
|
+
readonly status = 408;
|
|
47
|
+
readonly data: unknown;
|
|
48
|
+
constructor(sandboxName: string | undefined, timeout: number | undefined, data: unknown);
|
|
49
|
+
}
|
|
50
|
+
/** True when `err` is a sandbox creation timeout (408 CREATION_TIMEOUT). */
|
|
51
|
+
export declare function isCreationTimeoutError(err: unknown): err is SandboxCreationTimeoutError;
|
|
38
52
|
/** A ResponseError of this status and message, made here rather than by
|
|
39
53
|
* Runtime: a process or preview that is not there, a wait that ran out. */
|
|
40
54
|
export declare function responseError(status: number, message: string): ResponseError;
|
package/dist/blaxel/errors.js
CHANGED
|
@@ -72,6 +72,35 @@ export class NotSupportedError extends Error {
|
|
|
72
72
|
this.alternative = alternative;
|
|
73
73
|
}
|
|
74
74
|
}
|
|
75
|
+
/** Thrown by SandboxInstance.create / createIfNotExists when the sandbox was
|
|
76
|
+
* not running within the `timeout` asked for. The sandbox is deleted first,
|
|
77
|
+
* so its name is free and the creation can simply be started over, as on
|
|
78
|
+
* Blaxel. */
|
|
79
|
+
export class SandboxCreationTimeoutError extends Error {
|
|
80
|
+
sandboxName;
|
|
81
|
+
timeout;
|
|
82
|
+
code = "CREATION_TIMEOUT";
|
|
83
|
+
status = 408;
|
|
84
|
+
data;
|
|
85
|
+
constructor(sandboxName, timeout, data) {
|
|
86
|
+
const detail = typeof data === "object" &&
|
|
87
|
+
data !== null &&
|
|
88
|
+
typeof data.message === "string"
|
|
89
|
+
? data.message
|
|
90
|
+
: undefined;
|
|
91
|
+
const target = sandboxName ? `Sandbox ${sandboxName}` : "Sandbox";
|
|
92
|
+
const deadline = timeout !== undefined ? ` within ${timeout}s` : " within the creation deadline";
|
|
93
|
+
super(`${target} was not ready${deadline}; the creation was cancelled.${detail ? ` ${detail}` : ""}`);
|
|
94
|
+
this.name = "SandboxCreationTimeoutError";
|
|
95
|
+
this.sandboxName = sandboxName;
|
|
96
|
+
this.timeout = timeout;
|
|
97
|
+
this.data = data;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
/** True when `err` is a sandbox creation timeout (408 CREATION_TIMEOUT). */
|
|
101
|
+
export function isCreationTimeoutError(err) {
|
|
102
|
+
return err instanceof SandboxCreationTimeoutError;
|
|
103
|
+
}
|
|
75
104
|
/** A ResponseError of this status and message, made here rather than by
|
|
76
105
|
* Runtime: a process or preview that is not there, a wait that ran out. */
|
|
77
106
|
export function responseError(status, message) {
|
package/dist/blaxel/index.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { type Config } from "./client.js";
|
|
2
|
-
export { SandboxInstance, DEFAULT_IMAGE, DEFAULT_MEMORY, MEMORY_PER_VCPU, durationMs, imageRef, lifetimeOf, networkRules, type SandboxListQuery, type SandboxForkOptions, type SandboxArchiveOptions, } from "./sandbox.js";
|
|
2
|
+
export { SandboxInstance, DEFAULT_IMAGE, DEFAULT_MEMORY, MEMORY_PER_VCPU, durationMs, imageRef, lifetimeOf, networkRules, type SandboxListQuery, type SandboxForkOptions, type SandboxArchiveOptions, MAX_CREATION_TIMEOUT_SECONDS, type SandboxCreateOptions, } from "./sandbox.js";
|
|
3
3
|
export { CodeInterpreter } from "./interpreter.js";
|
|
4
4
|
export { SandboxFileSystem, retryOnTransient, type File, type FileWithContent, type Subdirectory, type Directory, type SuccessResponse, type FindMatch, type FindResponse, type FuzzySearchMatch, type FuzzySearchResponse, type ContentSearchMatch, type ContentSearchResponse, type CopyResponse, type WatchEvent, type SandboxFilesystemFile, type FilesystemSearchOptions, type FilesystemFindOptions, type FilesystemGrepOptions, } from "./filesystem.js";
|
|
5
5
|
export { SandboxProcess, type ProcessRequest, type ProcessResponse, type ProcessRequestWithLog, type ProcessResponseWithLog, type PostProcessResponse, type GetProcessResponse, type GetProcessByIdentifierResponse, type DeleteProcessByIdentifierResponse, type DeleteProcessByIdentifierKillResponse, type ProcessLogs, } from "./process.js";
|
|
6
6
|
export { SandboxPreview, SandboxPreviews, SandboxPreviewToken, SandboxPreviewTokens, type Preview, type PreviewMetadata, type PreviewSpec, type PreviewToken, } from "./preview.js";
|
|
7
7
|
export { Snapshot, SandboxSnapshotsResource, type Env, type SandboxSnapshot, type SandboxSnapshotSource, type SandboxSnapshotSpec, type SandboxForkResponse, type SandboxRestoreResponse, type SnapshotCreateConfiguration, type SnapshotForkOptions, type SnapshotListQuery, } from "./snapshot.js";
|
|
8
|
-
export { ResponseError, SandboxGatewayError, isGatewayError, isGatewayTimeout, CredentialsError, NotSupportedError, } from "./errors.js";
|
|
8
|
+
export { ResponseError, SandboxCreationTimeoutError, isCreationTimeoutError, SandboxGatewayError, isGatewayError, isGatewayTimeout, CredentialsError, NotSupportedError, } from "./errors.js";
|
|
9
9
|
export { createPaginatedList, unwrapListData, type PaginatedList, type PaginatedListMeta, type ListResponse, type CursorPaginationQuery, type AutoPagingEachCallback, type AutoPagingToArrayOptions, } from "./pagination.js";
|
|
10
10
|
export { normalizePorts, normalizeEnvs, normalizeVolumes, type Status, type Port, type EnvVar, type ExpirationPolicy, type SandboxLifecycle, type SandboxNetwork, type VolumeBinding, type VolumeAttachment, type Metadata, type SandboxRuntime, type SandboxSpec, type CoreEvent, type Sandbox, type SandboxConfiguration, type SandboxCreateConfiguration, type SandboxUpdateMetadata, type SandboxUpdateNetwork, type SessionCreateOptions, type SessionWithToken, } from "./types.js";
|
|
11
11
|
export { initialize, type Config, type WithRuntime, type RuntimeOptions } from "./client.js";
|
package/dist/blaxel/index.js
CHANGED
|
@@ -4,20 +4,20 @@
|
|
|
4
4
|
* import { SandboxInstance } from "withruntime/blaxel"; // was: from "@blaxel/core"
|
|
5
5
|
*
|
|
6
6
|
* and set RUNTIME_API_KEY, or run `npx withruntime login` once. A Blaxel key
|
|
7
|
-
* (BL_API_KEY) is never sent anywhere. Every name `@blaxel/core` 0.3.
|
|
7
|
+
* (BL_API_KEY) is never sent anywhere. Every name `@blaxel/core` 0.3.25
|
|
8
8
|
* exports can be imported; what Runtime cannot do the way Blaxel does throws
|
|
9
9
|
* NotSupportedError, naming what to use. */
|
|
10
10
|
import { RuntimeError } from "../errors.js";
|
|
11
11
|
import { initialize } from "./client.js";
|
|
12
12
|
import { NotSupportedError } from "./errors.js";
|
|
13
13
|
import { CODEGEN, DRIVES, SCHEDULES, SYSTEM, unsupportedExport } from "./unsupported.js";
|
|
14
|
-
export { SandboxInstance, DEFAULT_IMAGE, DEFAULT_MEMORY, MEMORY_PER_VCPU, durationMs, imageRef, lifetimeOf, networkRules, } from "./sandbox.js";
|
|
14
|
+
export { SandboxInstance, DEFAULT_IMAGE, DEFAULT_MEMORY, MEMORY_PER_VCPU, durationMs, imageRef, lifetimeOf, networkRules, MAX_CREATION_TIMEOUT_SECONDS, } from "./sandbox.js";
|
|
15
15
|
export { CodeInterpreter } from "./interpreter.js";
|
|
16
16
|
export { SandboxFileSystem, retryOnTransient, } from "./filesystem.js";
|
|
17
17
|
export { SandboxProcess, } from "./process.js";
|
|
18
18
|
export { SandboxPreview, SandboxPreviews, SandboxPreviewToken, SandboxPreviewTokens, } from "./preview.js";
|
|
19
19
|
export { Snapshot, SandboxSnapshotsResource, } from "./snapshot.js";
|
|
20
|
-
export { ResponseError, SandboxGatewayError, isGatewayError, isGatewayTimeout, CredentialsError, NotSupportedError, } from "./errors.js";
|
|
20
|
+
export { ResponseError, SandboxCreationTimeoutError, isCreationTimeoutError, SandboxGatewayError, isGatewayError, isGatewayTimeout, CredentialsError, NotSupportedError, } from "./errors.js";
|
|
21
21
|
export { createPaginatedList, unwrapListData, } from "./pagination.js";
|
|
22
22
|
export { normalizePorts, normalizeEnvs, normalizeVolumes, } from "./types.js";
|
|
23
23
|
export { initialize } from "./client.js";
|
|
@@ -88,7 +88,7 @@ const MODELS = "Call your model provider's SDK directly; Runtime does not proxy
|
|
|
88
88
|
const TOOLS = "Give your agent Runtime's sandbox tools: `import { tools } from \"withruntime/tools\"`, or Runtime's MCP server (`npx withruntime mcp`).";
|
|
89
89
|
const MCP = "Serve MCP from a sandbox and share its port with sandbox.previews.create, or use Runtime's own MCP server (`npx withruntime mcp`).";
|
|
90
90
|
const JOBS = "Run the batch as processes in sandboxes: SandboxInstance.create, then sandbox.process.exec for each task.";
|
|
91
|
-
const IMAGES = "Build a Runtime image and create sandboxes from it by name: `npx withruntime
|
|
91
|
+
const IMAGES = "Build a Runtime image and create sandboxes from it by name: `npx withruntime images build --dockerfile Dockerfile --name <image>` or runtime.images.build({ name, dockerfile | image }).";
|
|
92
92
|
const VOLUMES = 'Use Runtime volumes: runtime.volumes.create({ name }) (`import { Runtime } from "withruntime"`), then pass volumes: [{ name, mountPath }] at create.';
|
|
93
93
|
const HOSTING = "Serve it from a sandbox and share its port with sandbox.previews.create.";
|
|
94
94
|
const TELEMETRY = "Send your own traces; Runtime exports sandbox metrics and events with runtime.otel (OpenTelemetry).";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SandboxInstance } from "./sandbox.js";
|
|
1
|
+
import { SandboxInstance, type SandboxCreateOptions } from "./sandbox.js";
|
|
2
2
|
import type { Port, Sandbox as SandboxModel, SandboxCreateConfiguration, SandboxLifecycle } from "./types.js";
|
|
3
3
|
declare class OutputMessage {
|
|
4
4
|
text: string;
|
|
@@ -45,10 +45,7 @@ export declare class CodeInterpreter extends SandboxInstance {
|
|
|
45
45
|
static readonly Context: typeof Context;
|
|
46
46
|
/** Blaxel's defaults for a code interpreter: its image, port 8888, and
|
|
47
47
|
* deletion after 30 idle minutes (a paused sandbox kept one day). */
|
|
48
|
-
static create<T extends typeof SandboxInstance>(this: T, sandbox?: SandboxCreateConfiguration | SandboxModel | Record<string, unknown> | null, options?:
|
|
49
|
-
safe?: boolean;
|
|
50
|
-
createIfNotExist?: boolean;
|
|
51
|
-
}): Promise<InstanceType<T>>;
|
|
48
|
+
static create<T extends typeof SandboxInstance>(this: T, sandbox?: SandboxCreateConfiguration | SandboxModel | Record<string, unknown> | null, options?: SandboxCreateOptions): Promise<InstanceType<T>>;
|
|
52
49
|
get _jupyterUrl(): string;
|
|
53
50
|
/** Runs code in a stateful context. Errors in the code come back in
|
|
54
51
|
* `execution.error`; a run past `timeout` seconds (default 60, 0 for none)
|
package/dist/blaxel/sandbox.d.ts
CHANGED
|
@@ -40,6 +40,18 @@ export type SandboxArchiveOptions = {
|
|
|
40
40
|
maxWait?: number;
|
|
41
41
|
interval?: number;
|
|
42
42
|
};
|
|
43
|
+
/** The longest creation `timeout` Blaxel accepts, in seconds. */
|
|
44
|
+
export declare const MAX_CREATION_TIMEOUT_SECONDS = 50;
|
|
45
|
+
/** Options of SandboxInstance.create / createIfNotExists, as Blaxel's. */
|
|
46
|
+
export type SandboxCreateOptions = {
|
|
47
|
+
/** List `/` once it runs, and delete it if that fails. */
|
|
48
|
+
safe?: boolean;
|
|
49
|
+
/** Answer the sandbox already holding the name instead of a 409. */
|
|
50
|
+
createIfNotExist?: boolean;
|
|
51
|
+
/** Give up after this many whole seconds (1 to 50): the sandbox is deleted
|
|
52
|
+
* and the call rejects with SandboxCreationTimeoutError. */
|
|
53
|
+
timeout?: number;
|
|
54
|
+
};
|
|
43
55
|
/** What a create asked for that no label keeps: shown by `spec` in the
|
|
44
56
|
* client that created the sandbox. */
|
|
45
57
|
type Asked = {
|
|
@@ -129,13 +141,10 @@ export declare class SandboxInstance {
|
|
|
129
141
|
* image (Runtime's stock image) and 4096 MB, with vCPUs at one per 2048 MB.
|
|
130
142
|
* Funding is left to Runtime: the included usage first, then prepaid credit. A name another live sandbox holds is refused
|
|
131
143
|
* with a 409, as in Blaxel. */
|
|
132
|
-
static create<T extends typeof SandboxInstance>(this: T, sandbox?: SandboxCreateConfiguration | SandboxModel,
|
|
133
|
-
safe?: boolean;
|
|
134
|
-
createIfNotExist?: boolean;
|
|
135
|
-
}): Promise<InstanceType<T>>;
|
|
144
|
+
static create<T extends typeof SandboxInstance>(this: T, sandbox?: SandboxCreateConfiguration | SandboxModel, options?: SandboxCreateOptions): Promise<InstanceType<T>>;
|
|
136
145
|
/** The named sandbox, or a new one when no live sandbox has the name.
|
|
137
146
|
* Runtime settles a race between two callers: both get the same sandbox. */
|
|
138
|
-
static createIfNotExists<T extends typeof SandboxInstance>(this: T, sandbox: SandboxCreateConfiguration | SandboxModel): Promise<InstanceType<T>>;
|
|
147
|
+
static createIfNotExists<T extends typeof SandboxInstance>(this: T, sandbox: SandboxCreateConfiguration | SandboxModel, options?: Omit<SandboxCreateOptions, "createIfNotExist">): Promise<InstanceType<T>>;
|
|
139
148
|
/** The live sandbox with this name (or Runtime id). It is not woken: the
|
|
140
149
|
* next call wakes it. */
|
|
141
150
|
static get<T extends typeof SandboxInstance>(this: T, sandboxName: string, options?: RuntimeOptions): Promise<InstanceType<T>>;
|