sbox-sdk 0.0.2

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 (132) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +137 -0
  3. package/dist/adapter/index.d.ts +22 -0
  4. package/dist/adapter/index.d.ts.map +1 -0
  5. package/dist/adapter/index.js +16 -0
  6. package/dist/agent-tools/index.d.ts +13 -0
  7. package/dist/agent-tools/index.d.ts.map +1 -0
  8. package/dist/agent-tools/index.js +9 -0
  9. package/dist/agent-tools/policy.d.ts +48 -0
  10. package/dist/agent-tools/policy.d.ts.map +1 -0
  11. package/dist/agent-tools/policy.js +51 -0
  12. package/dist/agent-tools/registry.d.ts +9 -0
  13. package/dist/agent-tools/registry.d.ts.map +1 -0
  14. package/dist/agent-tools/registry.js +412 -0
  15. package/dist/agent-tools/result.d.ts +32 -0
  16. package/dist/agent-tools/result.d.ts.map +1 -0
  17. package/dist/agent-tools/result.js +14 -0
  18. package/dist/agent-tools/types.d.ts +76 -0
  19. package/dist/agent-tools/types.d.ts.map +1 -0
  20. package/dist/agent-tools/types.js +1 -0
  21. package/dist/ai/index.d.ts +36 -0
  22. package/dist/ai/index.d.ts.map +1 -0
  23. package/dist/ai/index.js +40 -0
  24. package/dist/ai-sdk/index.d.ts +31 -0
  25. package/dist/ai-sdk/index.d.ts.map +1 -0
  26. package/dist/ai-sdk/index.js +80 -0
  27. package/dist/anthropic/index.d.ts +42 -0
  28. package/dist/anthropic/index.d.ts.map +1 -0
  29. package/dist/anthropic/index.js +64 -0
  30. package/dist/aws-lambda/index.d.ts +87 -0
  31. package/dist/aws-lambda/index.d.ts.map +1 -0
  32. package/dist/aws-lambda/index.js +290 -0
  33. package/dist/beam/index.d.ts +92 -0
  34. package/dist/beam/index.d.ts.map +1 -0
  35. package/dist/beam/index.js +222 -0
  36. package/dist/blaxel/index.d.ts +125 -0
  37. package/dist/blaxel/index.d.ts.map +1 -0
  38. package/dist/blaxel/index.js +220 -0
  39. package/dist/cli.d.ts +3 -0
  40. package/dist/cli.d.ts.map +1 -0
  41. package/dist/cli.js +249 -0
  42. package/dist/cloudflare/index.d.ts +64 -0
  43. package/dist/cloudflare/index.d.ts.map +1 -0
  44. package/dist/cloudflare/index.js +259 -0
  45. package/dist/codesandbox/index.d.ts +100 -0
  46. package/dist/codesandbox/index.d.ts.map +1 -0
  47. package/dist/codesandbox/index.js +227 -0
  48. package/dist/conformance/index.d.ts +20 -0
  49. package/dist/conformance/index.d.ts.map +1 -0
  50. package/dist/conformance/index.js +189 -0
  51. package/dist/daytona/index.d.ts +64 -0
  52. package/dist/daytona/index.d.ts.map +1 -0
  53. package/dist/daytona/index.js +258 -0
  54. package/dist/e2b/index.d.ts +63 -0
  55. package/dist/e2b/index.d.ts.map +1 -0
  56. package/dist/e2b/index.js +411 -0
  57. package/dist/fly/index.d.ts +75 -0
  58. package/dist/fly/index.d.ts.map +1 -0
  59. package/dist/fly/index.js +222 -0
  60. package/dist/index.d.ts +21 -0
  61. package/dist/index.d.ts.map +1 -0
  62. package/dist/index.js +16 -0
  63. package/dist/internal/capabilities.d.ts +57 -0
  64. package/dist/internal/capabilities.d.ts.map +1 -0
  65. package/dist/internal/capabilities.js +68 -0
  66. package/dist/internal/client.d.ts +9 -0
  67. package/dist/internal/client.d.ts.map +1 -0
  68. package/dist/internal/client.js +126 -0
  69. package/dist/internal/encoding.d.ts +8 -0
  70. package/dist/internal/encoding.d.ts.map +1 -0
  71. package/dist/internal/encoding.js +20 -0
  72. package/dist/internal/errors.d.ts +45 -0
  73. package/dist/internal/errors.d.ts.map +1 -0
  74. package/dist/internal/errors.js +79 -0
  75. package/dist/internal/exec.d.ts +19 -0
  76. package/dist/internal/exec.d.ts.map +1 -0
  77. package/dist/internal/exec.js +208 -0
  78. package/dist/internal/plugin.d.ts +38 -0
  79. package/dist/internal/plugin.d.ts.map +1 -0
  80. package/dist/internal/plugin.js +1 -0
  81. package/dist/internal/runtime.d.ts +8 -0
  82. package/dist/internal/runtime.d.ts.map +1 -0
  83. package/dist/internal/runtime.js +21 -0
  84. package/dist/internal/sandbox.d.ts +12 -0
  85. package/dist/internal/sandbox.d.ts.map +1 -0
  86. package/dist/internal/sandbox.js +438 -0
  87. package/dist/internal/shell.d.ts +36 -0
  88. package/dist/internal/shell.d.ts.map +1 -0
  89. package/dist/internal/shell.js +88 -0
  90. package/dist/internal/stream.d.ts +15 -0
  91. package/dist/internal/stream.d.ts.map +1 -0
  92. package/dist/internal/stream.js +58 -0
  93. package/dist/internal/types.d.ts +381 -0
  94. package/dist/internal/types.d.ts.map +1 -0
  95. package/dist/internal/types.js +1 -0
  96. package/dist/langchain/index.d.ts +25 -0
  97. package/dist/langchain/index.d.ts.map +1 -0
  98. package/dist/langchain/index.js +61 -0
  99. package/dist/mastra/index.d.ts +43 -0
  100. package/dist/mastra/index.d.ts.map +1 -0
  101. package/dist/mastra/index.js +69 -0
  102. package/dist/memory/index.d.ts +57 -0
  103. package/dist/memory/index.d.ts.map +1 -0
  104. package/dist/memory/index.js +573 -0
  105. package/dist/modal/index.d.ts +67 -0
  106. package/dist/modal/index.d.ts.map +1 -0
  107. package/dist/modal/index.js +223 -0
  108. package/dist/morph/index.d.ts +91 -0
  109. package/dist/morph/index.d.ts.map +1 -0
  110. package/dist/morph/index.js +221 -0
  111. package/dist/northflank/index.d.ts +74 -0
  112. package/dist/northflank/index.d.ts.map +1 -0
  113. package/dist/northflank/index.js +265 -0
  114. package/dist/openai/index.d.ts +25 -0
  115. package/dist/openai/index.d.ts.map +1 -0
  116. package/dist/openai/index.js +71 -0
  117. package/dist/railway/index.d.ts +109 -0
  118. package/dist/railway/index.d.ts.map +1 -0
  119. package/dist/railway/index.js +219 -0
  120. package/dist/runloop/index.d.ts +69 -0
  121. package/dist/runloop/index.d.ts.map +1 -0
  122. package/dist/runloop/index.js +226 -0
  123. package/dist/testing/index.d.ts +44 -0
  124. package/dist/testing/index.d.ts.map +1 -0
  125. package/dist/testing/index.js +61 -0
  126. package/dist/vercel/index.d.ts +63 -0
  127. package/dist/vercel/index.d.ts.map +1 -0
  128. package/dist/vercel/index.js +241 -0
  129. package/package.json +252 -0
  130. package/src/aws-lambda/runner/Dockerfile +15 -0
  131. package/src/aws-lambda/runner/README.md +59 -0
  132. package/src/aws-lambda/runner/server.mjs +91 -0
@@ -0,0 +1,411 @@
1
+ /**
2
+ * `sbox-sdk/e2b` — adapter for E2B (@e2b/code-interpreter). The canonical
3
+ * reference adapter: richest capability set (code interpreter, snapshots,
4
+ * ports, pause/resume). The heavy SDK is lazy-imported inside create()/connect()
5
+ * so importing this subpath stays cheap. Requires the optional peer
6
+ * dependency `@e2b/code-interpreter`.
7
+ */
8
+ import { AsyncQueue, defineProvider, numExit, SandboxError, } from "../adapter/index.js";
9
+ export const E2B_CAPS = {
10
+ background: "native",
11
+ codeInterpreter: "native",
12
+ egressControl: "unsupported",
13
+ exposePort: "native",
14
+ filesUpload: "native",
15
+ filesWatch: "native",
16
+ fork: "unsupported",
17
+ gpu: "unsupported",
18
+ killProcess: "native",
19
+ list: "native",
20
+ metrics: "native",
21
+ pause: "native",
22
+ privatePreview: "unsupported",
23
+ proxiedFetch: "unsupported",
24
+ pty: "unsupported",
25
+ region: "unsupported",
26
+ secretsVault: "unsupported",
27
+ setTimeout: "native",
28
+ snapshot: "native",
29
+ ssh: "unsupported",
30
+ statefulKernel: "native",
31
+ stdin: "unsupported",
32
+ stop: "unsupported",
33
+ streaming: "native",
34
+ volumes: "unsupported",
35
+ };
36
+ const E2B_FLAGS = {
37
+ exitCodeNative: true,
38
+ perCommandEnvCwd: true,
39
+ preservesDiskOnStop: false,
40
+ preservesMemoryOnPause: true,
41
+ previewModel: "subdomain",
42
+ };
43
+ let cached = null;
44
+ async function loadE2B() {
45
+ if (!cached) {
46
+ cached = (await import("@e2b/code-interpreter"));
47
+ }
48
+ return cached;
49
+ }
50
+ // --------------------------------------------------------------------------
51
+ // helpers
52
+ // --------------------------------------------------------------------------
53
+ function toArrayBuffer(b) {
54
+ return b.buffer.slice(b.byteOffset, b.byteOffset + b.byteLength);
55
+ }
56
+ function mapFsEvent(type) {
57
+ const t = String(type).toLowerCase();
58
+ if (t.includes("create")) {
59
+ return "create";
60
+ }
61
+ if (t.includes("remove") || t.includes("delete")) {
62
+ return "delete";
63
+ }
64
+ return "modify";
65
+ }
66
+ function mapResult(r) {
67
+ const rr = r;
68
+ const mime = {};
69
+ const put = (key, mimeType) => {
70
+ const v = rr[key];
71
+ if (typeof v === "string") {
72
+ mime[mimeType] = v;
73
+ }
74
+ };
75
+ put("text", "text/plain");
76
+ put("html", "text/html");
77
+ put("markdown", "text/markdown");
78
+ put("svg", "image/svg+xml");
79
+ put("png", "image/png");
80
+ put("jpeg", "image/jpeg");
81
+ put("pdf", "application/pdf");
82
+ put("latex", "text/latex");
83
+ if (rr.json !== undefined) {
84
+ mime["application/json"] =
85
+ typeof rr.json === "string" ? rr.json : JSON.stringify(rr.json);
86
+ }
87
+ return { mime, text: typeof rr.text === "string" ? rr.text : undefined };
88
+ }
89
+ function mapExecution(exec) {
90
+ return {
91
+ error: exec.error
92
+ ? {
93
+ name: exec.error.name,
94
+ traceback: exec.error.traceback,
95
+ value: exec.error.value,
96
+ }
97
+ : undefined,
98
+ logs: { stderr: exec.logs.stderr, stdout: exec.logs.stdout },
99
+ results: exec.results.map(mapResult),
100
+ };
101
+ }
102
+ function mapE2BError(e) {
103
+ const name = e && typeof e === "object" && "name" in e
104
+ ? String(e.name)
105
+ : "";
106
+ const msg = e instanceof Error ? e.message : String(e);
107
+ const hay = `${name} ${msg}`;
108
+ if (/notfound|not found/i.test(hay)) {
109
+ return new SandboxError("NotFound", msg, { cause: e, provider: "e2b" });
110
+ }
111
+ if (/auth|unauthorized|api ?key|forbidden/i.test(hay)) {
112
+ return new SandboxError("Unauthorized", msg, { cause: e, provider: "e2b" });
113
+ }
114
+ if (/ratelimit|rate limit|quota|too many/i.test(hay)) {
115
+ return new SandboxError("QuotaExceeded", msg, {
116
+ cause: e,
117
+ provider: "e2b",
118
+ retryable: true,
119
+ });
120
+ }
121
+ if (/timeout|timed out/i.test(hay)) {
122
+ return new SandboxError("Timeout", msg, { cause: e, provider: "e2b" });
123
+ }
124
+ return undefined;
125
+ }
126
+ // --------------------------------------------------------------------------
127
+ // provider
128
+ // --------------------------------------------------------------------------
129
+ export const e2b = defineProvider((opts) => {
130
+ const makeHandle = (initial) => {
131
+ let current = initial;
132
+ const contexts = new Map();
133
+ const runStreaming = (cmd, options) => {
134
+ const queue = new AsyncQueue();
135
+ let killer = null;
136
+ const handleP = current.commands
137
+ .run(cmd, {
138
+ background: true,
139
+ cwd: options.cwd,
140
+ envs: options.env,
141
+ onStderr: (data) => queue.push({ data, type: "stderr" }),
142
+ onStdout: (data) => queue.push({ data, type: "stdout" }),
143
+ timeoutMs: options.timeoutMs,
144
+ })
145
+ .then((handle) => {
146
+ killer = () => handle.kill();
147
+ void (async () => {
148
+ try {
149
+ const res = await handle.wait();
150
+ queue.push({ exitCode: res.exitCode, type: "exit" });
151
+ }
152
+ catch (error) {
153
+ queue.push({ exitCode: numExit(error), type: "exit" });
154
+ }
155
+ queue.close();
156
+ })();
157
+ return handle;
158
+ })
159
+ .catch((error) => {
160
+ queue.fail(mapE2BError(error) ?? SandboxError.wrap(error, "e2b"));
161
+ return null;
162
+ });
163
+ return {
164
+ pid: handleP.then((h) => (h ? String(h.pid) : "")),
165
+ kill: async () => {
166
+ await handleP;
167
+ if (killer) {
168
+ await killer();
169
+ }
170
+ },
171
+ [Symbol.asyncIterator]: () => queue.iterator(),
172
+ };
173
+ };
174
+ const handle = {
175
+ async createContext(options) {
176
+ const c = await current.createCodeContext({
177
+ cwd: options.cwd,
178
+ language: options.language,
179
+ });
180
+ const { id } = c;
181
+ contexts.set(id, c);
182
+ return { id, language: options.language ?? "python" };
183
+ },
184
+ async deleteSnapshot(ref) {
185
+ const { Sandbox } = await loadE2B();
186
+ await Sandbox.deleteSnapshot(ref, { apiKey: opts.apiKey });
187
+ },
188
+ async destroy() {
189
+ await current.kill();
190
+ },
191
+ exec(cmd, options) {
192
+ return runStreaming(cmd, options);
193
+ },
194
+ exposePort(port) {
195
+ const host = current.getHost(port);
196
+ return { port, url: `https://${host}` };
197
+ },
198
+ async getInfo() {
199
+ const i = await current.getInfo();
200
+ return {
201
+ createdAt: i.startedAt,
202
+ id: current.sandboxId,
203
+ metadata: i.metadata,
204
+ name: i.name,
205
+ provider: "e2b",
206
+ raw: i,
207
+ state: "running",
208
+ };
209
+ },
210
+ get id() {
211
+ return current.sandboxId;
212
+ },
213
+ async killProcess(processId) {
214
+ await current.commands.kill(Number(processId));
215
+ },
216
+ async listDir(path) {
217
+ const entries = await current.files.list(path);
218
+ return entries.map((e) => ({
219
+ name: e.name,
220
+ path: e.path ?? `${path}/${e.name}`,
221
+ type: e.type === "dir" ? "dir" : "file",
222
+ }));
223
+ },
224
+ async listProcesses() {
225
+ const ps = await current.commands.list();
226
+ return ps.map((p) => ({
227
+ cmd: p.cmd ?? p.args?.join(" ") ?? "",
228
+ id: String(p.pid),
229
+ }));
230
+ },
231
+ async mkdir(path) {
232
+ await current.files.makeDir(path);
233
+ },
234
+ async pause(_ctx) {
235
+ const { Sandbox } = await loadE2B();
236
+ await Sandbox.pause(current.sandboxId, { apiKey: opts.apiKey });
237
+ },
238
+ get raw() {
239
+ return current;
240
+ },
241
+ readFile(path) {
242
+ return current.files.read(path, { format: "bytes" });
243
+ },
244
+ async remove(path) {
245
+ await current.files.remove(path);
246
+ },
247
+ async rename(from, to) {
248
+ await current.files.rename(from, to);
249
+ },
250
+ async resume() {
251
+ const { Sandbox } = await loadE2B();
252
+ current = (await Sandbox.connect(current.sandboxId, {
253
+ apiKey: opts.apiKey,
254
+ }));
255
+ },
256
+ async runCode(code, options) {
257
+ const realContext = options.context
258
+ ? contexts.get(options.context.id)
259
+ : undefined;
260
+ const common = {
261
+ onStderr: options.onStderr
262
+ ? (m) => options.onStderr(m.line)
263
+ : undefined,
264
+ onStdout: options.onStdout
265
+ ? (m) => options.onStdout(m.line)
266
+ : undefined,
267
+ };
268
+ const exec = realContext
269
+ ? await current.runCode(code, {
270
+ ...common,
271
+ context: realContext,
272
+ })
273
+ : await current.runCode(code, {
274
+ ...common,
275
+ language: options.language,
276
+ });
277
+ return mapExecution(exec);
278
+ },
279
+ async setTimeout(ttlMs) {
280
+ await current.setTimeout(ttlMs);
281
+ },
282
+ async snapshot(options) {
283
+ const snap = await current.createSnapshot({ name: options.name });
284
+ return {
285
+ id: snap.snapshotId,
286
+ name: options.name,
287
+ provider: "e2b",
288
+ raw: snap,
289
+ };
290
+ },
291
+ async spawn(cmd, options) {
292
+ const queue = new AsyncQueue();
293
+ const handle2 = await current.commands.run(cmd, {
294
+ background: true,
295
+ cwd: options.cwd,
296
+ envs: options.env,
297
+ onStderr: (data) => queue.push({ type: "stderr", data }),
298
+ onStdout: (data) => queue.push({ type: "stdout", data }),
299
+ timeoutMs: options.timeoutMs,
300
+ });
301
+ void (async () => {
302
+ try {
303
+ const res = await handle2.wait();
304
+ queue.push({ exitCode: res.exitCode, type: "exit" });
305
+ }
306
+ catch (error) {
307
+ queue.push({ type: "exit", exitCode: numExit(error) });
308
+ }
309
+ queue.close();
310
+ })();
311
+ const pid = String(handle2.pid);
312
+ return {
313
+ id: pid,
314
+ pid: Promise.resolve(pid),
315
+ kill: async () => {
316
+ await handle2.kill();
317
+ },
318
+ [Symbol.asyncIterator]: () => queue.iterator(),
319
+ };
320
+ },
321
+ async stat(path) {
322
+ const e = await current.files.getInfo(path);
323
+ return {
324
+ mtime: e.modifiedTime,
325
+ path: e.path ?? path,
326
+ size: e.size,
327
+ type: e.type === "dir" ? "dir" : "file",
328
+ };
329
+ },
330
+ async upload(path, data) {
331
+ if (typeof data === "string") {
332
+ await current.files.write(path, data);
333
+ }
334
+ else if (data instanceof Uint8Array) {
335
+ await current.files.write(path, toArrayBuffer(data));
336
+ }
337
+ else {
338
+ await current.files.write(path, data);
339
+ }
340
+ },
341
+ async watch(path, cb, recursive) {
342
+ const wh = await current.files.watchDir(path, (ev) => {
343
+ const { name } = ev;
344
+ cb({
345
+ path: name ? `${path}/${name}` : path,
346
+ type: mapFsEvent(ev.type),
347
+ });
348
+ }, { recursive });
349
+ return async () => {
350
+ await wh.stop();
351
+ };
352
+ },
353
+ async writeFile(path, data) {
354
+ await current.files.write(path, toArrayBuffer(data));
355
+ },
356
+ };
357
+ return handle;
358
+ };
359
+ const provider = {
360
+ capabilities: E2B_CAPS,
361
+ async connect(id) {
362
+ const { Sandbox } = await loadE2B();
363
+ const native = await Sandbox.connect(id, { apiKey: opts.apiKey });
364
+ return makeHandle(native);
365
+ },
366
+ async create(spec, ctx) {
367
+ const { Sandbox } = await loadE2B();
368
+ const createOpts = {
369
+ apiKey: opts.apiKey,
370
+ domain: opts.domain,
371
+ envs: spec.env,
372
+ metadata: {
373
+ ...spec.metadata,
374
+ ...(ctx.idempotencyKey ? { _sboxIdem: ctx.idempotencyKey } : {}),
375
+ },
376
+ timeoutMs: spec.ttlMs,
377
+ };
378
+ const native = spec.template
379
+ ? await Sandbox.create(spec.template, createOpts)
380
+ : await Sandbox.create(createOpts);
381
+ return makeHandle(native);
382
+ },
383
+ flags: E2B_FLAGS,
384
+ async *list(filter, _ctx) {
385
+ const { Sandbox } = await loadE2B();
386
+ const pg = Sandbox.list({ apiKey: opts.apiKey });
387
+ let count = 0;
388
+ while (pg.hasNext) {
389
+ const items = await pg.nextItems();
390
+ for (const it of items) {
391
+ yield {
392
+ createdAt: it.startedAt,
393
+ id: it.sandboxId,
394
+ metadata: it.metadata,
395
+ name: it.name,
396
+ provider: "e2b",
397
+ raw: it,
398
+ state: "running",
399
+ };
400
+ count++;
401
+ if (filter?.limit !== undefined && count >= filter.limit) {
402
+ return;
403
+ }
404
+ }
405
+ }
406
+ },
407
+ mapError: mapE2BError,
408
+ name: "e2b",
409
+ };
410
+ return provider;
411
+ });
@@ -0,0 +1,75 @@
1
+ import type { SandboxProvider } from "../adapter/index.js";
2
+ export interface FlyOptions {
3
+ apiToken: string;
4
+ appName: string;
5
+ image?: string;
6
+ region?: string;
7
+ /** Public app domain for preview URLs; defaults to `<appName>.fly.dev`. */
8
+ appDomain?: string;
9
+ /** Override the Machines API base (default https://api.machines.dev/v1). */
10
+ apiBaseUrl?: string;
11
+ /** Injectable fetch (testing); defaults to globalThis.fetch. */
12
+ fetch?: typeof fetch;
13
+ }
14
+ interface FlyMachine {
15
+ id: string;
16
+ state?: string;
17
+ config?: unknown;
18
+ }
19
+ export declare const FLY_CAPS: {
20
+ readonly background: "unsupported";
21
+ readonly codeInterpreter: "unsupported";
22
+ readonly egressControl: "unsupported";
23
+ readonly exposePort: "native";
24
+ readonly filesUpload: "native";
25
+ readonly filesWatch: "unsupported";
26
+ readonly fork: "unsupported";
27
+ readonly gpu: "unsupported";
28
+ readonly killProcess: "unsupported";
29
+ readonly list: "native";
30
+ readonly metrics: "unsupported";
31
+ readonly pause: "native";
32
+ readonly privatePreview: "unsupported";
33
+ readonly proxiedFetch: "unsupported";
34
+ readonly pty: "unsupported";
35
+ readonly region: "native";
36
+ readonly secretsVault: "unsupported";
37
+ readonly setTimeout: "unsupported";
38
+ readonly snapshot: "unsupported";
39
+ readonly ssh: "unsupported";
40
+ readonly statefulKernel: "unsupported";
41
+ readonly stdin: "unsupported";
42
+ readonly stop: "native";
43
+ readonly streaming: "emulated";
44
+ readonly volumes: "unsupported";
45
+ };
46
+ export type FlyCaps = typeof FLY_CAPS;
47
+ export declare const fly: (opts: FlyOptions) => SandboxProvider<{
48
+ readonly background: "unsupported";
49
+ readonly codeInterpreter: "unsupported";
50
+ readonly egressControl: "unsupported";
51
+ readonly exposePort: "native";
52
+ readonly filesUpload: "native";
53
+ readonly filesWatch: "unsupported";
54
+ readonly fork: "unsupported";
55
+ readonly gpu: "unsupported";
56
+ readonly killProcess: "unsupported";
57
+ readonly list: "native";
58
+ readonly metrics: "unsupported";
59
+ readonly pause: "native";
60
+ readonly privatePreview: "unsupported";
61
+ readonly proxiedFetch: "unsupported";
62
+ readonly pty: "unsupported";
63
+ readonly region: "native";
64
+ readonly secretsVault: "unsupported";
65
+ readonly setTimeout: "unsupported";
66
+ readonly snapshot: "unsupported";
67
+ readonly ssh: "unsupported";
68
+ readonly statefulKernel: "unsupported";
69
+ readonly stdin: "unsupported";
70
+ readonly stop: "native";
71
+ readonly streaming: "emulated";
72
+ readonly volumes: "unsupported";
73
+ }, FlyMachine>;
74
+ export {};
75
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fly/index.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EASV,eAAe,EAGhB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4EAA4E;IAC5E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gEAAgE;IAChE,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CACtB;AAED,UAAU,UAAU;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;CA0Ba,CAAC;AAEnC,MAAM,MAAM,OAAO,GAAG,OAAO,QAAQ,CAAC;AA0BtC,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;cA+Kd,CAAC"}