@opencoredev/sandbox-sdk 0.1.1 → 1.0.0-beta.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.
Files changed (158) hide show
  1. package/CHANGELOG.md +34 -7
  2. package/README.md +350 -23
  3. package/dist/ai.d.ts +5 -0
  4. package/dist/ai.js +1 -0
  5. package/dist/chunk-59t3rqja.js +2 -0
  6. package/dist/chunk-cwx6cc31.js +2 -0
  7. package/dist/chunk-exv1kf89.js +60 -0
  8. package/dist/chunk-gc8zdxyb.js +2 -0
  9. package/dist/chunk-hjzhc3qg.js +40 -0
  10. package/dist/chunk-md6fmprc.js +1 -0
  11. package/dist/chunk-t5vr9nd8.js +8 -0
  12. package/dist/chunk-v6y7eqxw.js +27 -0
  13. package/dist/chunk-yed8mvs7.js +2 -0
  14. package/dist/chunk-yrsb6hws.js +5 -0
  15. package/dist/chunk-z9rjzn28.js +2 -0
  16. package/dist/errors.d.ts +60 -0
  17. package/dist/files.d.ts +57 -0
  18. package/dist/git.d.ts +28 -0
  19. package/dist/handle.d.ts +4 -0
  20. package/dist/index.d.ts +17 -0
  21. package/dist/index.js +1 -0
  22. package/dist/keys.d.ts +5 -0
  23. package/dist/logs.d.ts +8 -0
  24. package/dist/mastra.d.ts +43 -0
  25. package/dist/mastra.js +1 -0
  26. package/dist/memory.d.ts +34 -0
  27. package/dist/memory.js +11 -0
  28. package/dist/openai.d.ts +39 -0
  29. package/dist/openai.js +1 -0
  30. package/dist/peer.d.ts +5 -0
  31. package/dist/processes.d.ts +71 -0
  32. package/dist/provider.d.ts +138 -0
  33. package/dist/provider.js +0 -0
  34. package/dist/providers/agentos/errors.d.ts +4 -0
  35. package/dist/providers/agentos/index.d.ts +11 -0
  36. package/dist/providers/agentos/index.js +2 -0
  37. package/dist/providers/boat/index.d.ts +23 -0
  38. package/dist/providers/boat/index.js +1 -0
  39. package/dist/providers/boat-api/errors.d.ts +6 -0
  40. package/dist/providers/boat-api/exec.d.ts +11 -0
  41. package/dist/providers/boat-api/index.d.ts +22 -0
  42. package/dist/providers/boxd/errors.d.ts +3 -0
  43. package/dist/providers/boxd/execute.d.ts +3 -0
  44. package/dist/providers/boxd/guest.d.ts +14 -0
  45. package/dist/providers/boxd/index.d.ts +23 -0
  46. package/dist/providers/boxd/index.js +85 -0
  47. package/dist/providers/boxd/transfers.d.ts +19 -0
  48. package/dist/providers/daytona/buffered.d.ts +3 -0
  49. package/dist/providers/daytona/errors.d.ts +3 -0
  50. package/dist/providers/daytona/exec.d.ts +14 -0
  51. package/dist/providers/daytona/index.d.ts +24 -0
  52. package/dist/providers/daytona/index.js +88 -0
  53. package/dist/providers/e2b/errors.d.ts +3 -0
  54. package/dist/providers/e2b/index.d.ts +15 -0
  55. package/dist/providers/e2b/index.js +1 -0
  56. package/dist/providers/freestyle/deadline.d.ts +4 -0
  57. package/dist/providers/freestyle/errors.d.ts +16 -0
  58. package/dist/providers/freestyle/execute.d.ts +12 -0
  59. package/dist/providers/freestyle/index.d.ts +14 -0
  60. package/dist/providers/freestyle/index.js +133 -0
  61. package/dist/providers/freestyle/wire.d.ts +10 -0
  62. package/dist/providers/local/docker.d.ts +32 -0
  63. package/dist/providers/local/index.d.ts +17 -0
  64. package/dist/providers/local/index.js +2 -0
  65. package/dist/providers/railway/errors.d.ts +4 -0
  66. package/dist/providers/railway/index.d.ts +24 -0
  67. package/dist/providers/railway/index.js +1 -0
  68. package/dist/providers/sandboxer/index.d.ts +33 -0
  69. package/dist/providers/sandboxer/index.js +1 -0
  70. package/dist/providers/superserve/bootstrap.d.ts +11 -0
  71. package/dist/providers/superserve/errors.d.ts +3 -0
  72. package/dist/providers/superserve/execute.d.ts +13 -0
  73. package/dist/providers/superserve/index.d.ts +23 -0
  74. package/dist/providers/superserve/index.js +126 -0
  75. package/dist/providers/tenki/deadline.d.ts +2 -0
  76. package/dist/providers/tenki/errors.d.ts +10 -0
  77. package/dist/providers/tenki/exec.d.ts +4 -0
  78. package/dist/providers/tenki/files.d.ts +3 -0
  79. package/dist/providers/tenki/index.d.ts +28 -0
  80. package/dist/providers/tenki/index.js +172 -0
  81. package/dist/providers/tenki/ready.d.ts +7 -0
  82. package/dist/providers/tenki/stream.d.ts +3 -0
  83. package/dist/providers/upstash/buffered.d.ts +3 -0
  84. package/dist/providers/upstash/errors.d.ts +3 -0
  85. package/dist/providers/upstash/exec.d.ts +18 -0
  86. package/dist/providers/upstash/files.d.ts +15 -0
  87. package/dist/providers/upstash/index.d.ts +38 -0
  88. package/dist/providers/upstash/index.js +111 -0
  89. package/dist/providers/vercel/errors.d.ts +3 -0
  90. package/dist/providers/vercel/index.d.ts +14 -0
  91. package/dist/providers/vercel/index.js +1 -0
  92. package/dist/providers/vercel/provider.d.ts +10 -0
  93. package/dist/providers/vercel/transport.d.ts +40 -0
  94. package/dist/run.d.ts +41 -0
  95. package/dist/testing.d.ts +17 -0
  96. package/dist/testing.js +6 -0
  97. package/dist/tool-security.d.ts +9 -0
  98. package/dist/tools.d.ts +117 -0
  99. package/dist/tools.js +1 -0
  100. package/dist/types.d.ts +189 -0
  101. package/package.json +170 -92
  102. package/dist/agentos-DFJ4TFaY.mjs +0 -389
  103. package/dist/agentos-DFJ4TFaY.mjs.map +0 -1
  104. package/dist/ai/harness.d.mts +0 -16
  105. package/dist/ai/harness.mjs +0 -69
  106. package/dist/ai/harness.mjs.map +0 -1
  107. package/dist/ai/index.d.mts +0 -54
  108. package/dist/ai/index.mjs +0 -4
  109. package/dist/ai-DhfwIZdL.mjs +0 -243
  110. package/dist/ai-DhfwIZdL.mjs.map +0 -1
  111. package/dist/capabilities-CEowrzRM.mjs +0 -99
  112. package/dist/capabilities-CEowrzRM.mjs.map +0 -1
  113. package/dist/capabilities-COKpwoFH.mjs +0 -28
  114. package/dist/capabilities-COKpwoFH.mjs.map +0 -1
  115. package/dist/capabilities-DftdOpIu.d.mts +0 -13
  116. package/dist/errors-Ch9PHKTd.mjs +0 -61
  117. package/dist/errors-Ch9PHKTd.mjs.map +0 -1
  118. package/dist/eve/index.d.mts +0 -19
  119. package/dist/eve/index.mjs +0 -155
  120. package/dist/eve/index.mjs.map +0 -1
  121. package/dist/index-Bk6GmoEt.d.mts +0 -25
  122. package/dist/index-BufLdrbp.d.mts +0 -31
  123. package/dist/index.d.mts +0 -5
  124. package/dist/index.mjs +0 -38
  125. package/dist/index.mjs.map +0 -1
  126. package/dist/mastra/index.d.mts +0 -118
  127. package/dist/mastra/index.mjs +0 -662
  128. package/dist/mastra/index.mjs.map +0 -1
  129. package/dist/metadata.d.mts +0 -34
  130. package/dist/metadata.mjs +0 -103
  131. package/dist/metadata.mjs.map +0 -1
  132. package/dist/provider-BzzkIVmv.d.mts +0 -91
  133. package/dist/provider-utils-BjOSWNsh.mjs +0 -201
  134. package/dist/provider-utils-BjOSWNsh.mjs.map +0 -1
  135. package/dist/providers/agentos/index.d.mts +0 -7
  136. package/dist/providers/agentos/index.mjs +0 -8
  137. package/dist/providers/daytona/index.d.mts +0 -21
  138. package/dist/providers/daytona/index.mjs +0 -205
  139. package/dist/providers/daytona/index.mjs.map +0 -1
  140. package/dist/providers/e2b/index.d.mts +0 -17
  141. package/dist/providers/e2b/index.mjs +0 -168
  142. package/dist/providers/e2b/index.mjs.map +0 -1
  143. package/dist/providers/local/index.d.mts +0 -22
  144. package/dist/providers/local/index.mjs +0 -21
  145. package/dist/providers/local/index.mjs.map +0 -1
  146. package/dist/providers/upstash/index.d.mts +0 -17
  147. package/dist/providers/upstash/index.mjs +0 -210
  148. package/dist/providers/upstash/index.mjs.map +0 -1
  149. package/dist/providers/vercel/index.d.mts +0 -28
  150. package/dist/providers/vercel/index.mjs +0 -185
  151. package/dist/providers/vercel/index.mjs.map +0 -1
  152. package/dist/sandbox-Dco6z9aB.d.mts +0 -26
  153. package/dist/sandbox-rIOcbhtM.mjs +0 -112
  154. package/dist/sandbox-rIOcbhtM.mjs.map +0 -1
  155. package/dist/testing/index.d.mts +0 -27
  156. package/dist/testing/index.mjs +0 -173
  157. package/dist/testing/index.mjs.map +0 -1
  158. package/dist/types-DEi_dfRR.d.mts +0 -103
@@ -0,0 +1,189 @@
1
+ import type { Capability, CreateInput, FileInfo, Labels, OutputChunk, Provider, SandboxInfo, Terminal, Preview } from "./provider.js";
2
+ import type { Files } from "./files.js";
3
+ import type { Git } from "./git.js";
4
+ import type { ProcessHandle, ProcessInfo, StartOptions } from "./processes.js";
5
+ /** Your own key-to-ID store (Redis, a database row) so `createSandbox({ key })` finds the same sandbox from any server. */
6
+ export interface Locator {
7
+ /** Return the sandbox ID stored for `key`, or `undefined`/`null` when there is none. */
8
+ get(key: string): Promise<string | undefined | null>;
9
+ /** Store the sandbox ID for `key`. Called after every create or lookup. */
10
+ set(key: string, id: string): Promise<void>;
11
+ /** Forget `key`. Called by `destroy()`. */
12
+ delete?(key: string): Promise<void>;
13
+ /** Run `action` while holding a distributed lock on `key`. Required for cross-host exactness with a best-effort provider. */
14
+ withLock?<T>(key: string, action: () => Promise<T>): Promise<T>;
15
+ }
16
+ /** Options for `createSandbox`. Every field is optional. */
17
+ export interface CreateOptions extends Omit<CreateInput, "labels"> {
18
+ /** Your own tags. `listSandboxes` and `reapSandboxes` filter on them. The `sandbox-sdk` label is reserved. */
19
+ labels?: Record<string, string>;
20
+ /** Environment variables that are redacted from output, errors, and agent tool results. Names must be valid shell identifiers. */
21
+ secrets?: Record<string, string>;
22
+ /** Advanced. External key store used with `key`. Most apps only need `key`. */
23
+ locator?: Locator;
24
+ /** Advanced. `"exact"` refuses to run unless one sandbox per key is guaranteed (a provider with unique names, or `locator.withLock`). Default: best effort. */
25
+ keyMode?: "exact" | "best-effort";
26
+ /** Record a "start" checkpoint at create so `files.changes()` works without `since`. Costs one exec. */
27
+ trackChanges?: boolean;
28
+ }
29
+ /** Options for `connectSandbox`. */
30
+ export type ConnectOptions = Pick<CreateOptions, "secrets">;
31
+ /** Options for `listSandboxes`. */
32
+ export interface ListOptions {
33
+ /** Only return sandboxes that carry every one of these labels. */
34
+ labels?: Labels;
35
+ }
36
+ /** Options for `reapSandboxes`. */
37
+ export interface ReapOptions extends ListOptions {
38
+ /** Only destroy sandboxes at least this old, in milliseconds. Default: 0. */
39
+ olderThanMs?: number;
40
+ /** Skip sandboxes with an active SDK command or a running background process. */
41
+ idleOnly?: boolean;
42
+ }
43
+ /** Per-command options for `box.run`. */
44
+ export interface RunOptions {
45
+ /** Working directory. Relative paths resolve against `/workspace`. Default: `/workspace`. */
46
+ cwd?: string;
47
+ /** Extra environment variables for this command only. */
48
+ env?: Record<string, string>;
49
+ /** Kill the command after this many milliseconds and resolve with `timedOut: true`. Default: 120000. */
50
+ timeoutMs?: number;
51
+ /** Keep at most this many bytes per stream; older output is dropped and `truncated` is set. Default: 1048576 (1 MB). */
52
+ maxOutputBytes?: number;
53
+ /** Text written to the command's stdin, which is then closed. */
54
+ stdin?: string;
55
+ /** Abort the command. It resolves with a result rather than throwing. */
56
+ signal?: AbortSignal;
57
+ }
58
+ /** The outcome of a finished command. A non-zero exit, a timeout, or an abort is a result, not an error. */
59
+ export interface RunResult {
60
+ /** `true` when the command exited with code 0. */
61
+ ok: boolean;
62
+ /** Exit code, or `null` when the command was killed (timeout or abort). */
63
+ exitCode: number | null;
64
+ /** Standard output, with secrets redacted. */
65
+ stdout: string;
66
+ /** Standard error, with secrets redacted. */
67
+ stderr: string;
68
+ /** stdout and stderr interleaved in arrival order. */
69
+ output: string;
70
+ /** Wall-clock time of the command, in milliseconds. */
71
+ durationMs: number;
72
+ /** `true` when output exceeded `maxOutputBytes` and the oldest bytes were dropped. */
73
+ truncated: boolean;
74
+ /** `true` when `timeoutMs` ran out and the command was killed. */
75
+ timedOut: boolean;
76
+ /** Absolute working directory the command ran in. */
77
+ cwd: string;
78
+ /** The command as it was sent to the shell. */
79
+ command: string;
80
+ }
81
+ /**
82
+ * A lazy command. Nothing runs until you `await` it (for the {@link RunResult})
83
+ * or iterate it with `for await` (for live {@link OutputChunk}s).
84
+ * Chain `cwd`, `env`, or `timeout` before starting it.
85
+ */
86
+ export interface RunHandle extends PromiseLike<RunResult>, AsyncIterable<OutputChunk> {
87
+ /** Run in this directory. */
88
+ cwd(path: string): RunHandle;
89
+ /** Add environment variables for this command. */
90
+ env(env: Record<string, string>): RunHandle;
91
+ /** Set the timeout in milliseconds. */
92
+ timeout(timeoutMs: number): RunHandle;
93
+ }
94
+ /** Options for `box.preview`. */
95
+ export interface PreviewOptions {
96
+ /** Path appended to the preview URL. */
97
+ path?: string;
98
+ /** Wait up to this many milliseconds for the URL to answer with a 2xx. Fails with `port_not_ready` when it runs out. */
99
+ waitMs?: number;
100
+ }
101
+ /** Counters from `box.usage()`. Providers may add their own numeric fields. */
102
+ export type Usage = {
103
+ /** When the sandbox was created, in epoch milliseconds. */
104
+ createdAt: number;
105
+ /** Milliseconds since `createdAt`. */
106
+ runningMs: number;
107
+ /** Commands run through this handle. */
108
+ commands: number;
109
+ /** Output bytes received through this handle. */
110
+ bytesOut: number;
111
+ } & Record<string, number>;
112
+ /** The methods every sandbox has, whatever the provider. `N` is the provider's native client type. */
113
+ export interface SandboxBase<N> {
114
+ /** The provider's sandbox ID. Pass it to `connectSandbox` to reattach. */
115
+ readonly id: string;
116
+ /** The key passed to `createSandbox`, when there was one. */
117
+ readonly key?: string;
118
+ /** Provider name, such as `"e2b"`. */
119
+ readonly provider: string;
120
+ /** `true` when this call created the sandbox, `false` when it reattached to an existing one. */
121
+ readonly created: boolean;
122
+ /** Labels on the sandbox. */
123
+ readonly labels: Record<string, string>;
124
+ /** What this provider supports. The optional methods on {@link Sandbox} follow it. */
125
+ readonly capabilities: ReadonlySet<Capability>;
126
+ /** The provider's own SDK object, fully typed, for anything this SDK does not cover. */
127
+ readonly native: N;
128
+ /** Run a shell command. Await the handle for the result, or iterate it to stream output. */
129
+ run(command: string, options?: RunOptions): RunHandle;
130
+ /** Run a command from a template literal. Every interpolated value is shell-quoted. */
131
+ $(strings: TemplateStringsArray, ...values: unknown[]): RunHandle;
132
+ /** Read, write, edit, search, and sync files. Relative paths resolve against `/workspace`. */
133
+ readonly files: Files;
134
+ /** Git helpers that run inside the sandbox. Tokens never reach argv, env, or shell history. */
135
+ readonly git: Git;
136
+ /** Start a named background process and optionally wait until it is ready. The name lets any client find it again with {@link process}; without one, the name is derived from the command and returned on the handle. */
137
+ start(command: string, options?: StartOptions): Promise<ProcessHandle>;
138
+ /** Get a handle to a background process by name, including one started by another client. */
139
+ process(name: string): ProcessHandle;
140
+ /** List the background processes started through the SDK. */
141
+ processes(): Promise<ProcessInfo[]>;
142
+ /** Get a URL for a port in the sandbox. Send the returned `headers` with every request. */
143
+ preview(port: number, options?: PreviewOptions): Promise<Preview>;
144
+ /** Counters for this handle, plus provider metrics when available. */
145
+ usage(): Promise<Usage>;
146
+ /** Detach this handle and leave the sandbox running. Reattach later with the key or ID. */
147
+ close(): Promise<void>;
148
+ /** Delete the sandbox. */
149
+ destroy(): Promise<void>;
150
+ /** For `await using`: calls `close()` when the sandbox has a key, otherwise `destroy()`. */
151
+ [Symbol.asyncDispose](): Promise<void>;
152
+ }
153
+ /** The methods each optional capability adds to a sandbox. */
154
+ export interface CapabilityMethods {
155
+ pause: {
156
+ /** Pause the sandbox. Billing and the hard lifetime depend on the provider. */
157
+ pause(): Promise<void>;
158
+ /** Resume a paused sandbox. */
159
+ resume(): Promise<void>;
160
+ };
161
+ snapshot: {
162
+ /** Save the sandbox state. Pass the returned `id` as `createSandbox(provider, { from: id })`. */
163
+ snapshot(): Promise<{
164
+ id: string;
165
+ }>;
166
+ };
167
+ terminal: {
168
+ /** Open an interactive PTY. */
169
+ terminal(options: {
170
+ cols: number;
171
+ rows: number;
172
+ }): Promise<Terminal>;
173
+ };
174
+ }
175
+ type MethodCapability = keyof CapabilityMethods;
176
+ type UnionToIntersection<U> = (U extends unknown ? (value: U) => void : never) extends (value: infer I) => void ? I : never;
177
+ /** The methods added by the capabilities in `C`. */
178
+ export type MethodsFor<C extends Capability> = [Extract<C, MethodCapability>] extends [never] ? {} : UnionToIntersection<CapabilityMethods[Extract<C, MethodCapability>]>;
179
+ /**
180
+ * A sandbox handle. `N` is the native client type; `C` is the provider's capability union.
181
+ * With a concrete provider, `pause`/`resume`, `snapshot`, and `terminal` exist only when
182
+ * `C` includes them, so calling one on a provider that lacks it is a type error. With a
183
+ * provider typed as plain `Provider` (any capability), the methods are optional: check
184
+ * them with {@link hasCapability} first. `createSandbox(e2b())` infers the precise type.
185
+ */
186
+ export type Sandbox<N = unknown, C extends Capability = never> = SandboxBase<N> & (Capability extends C ? Partial<MethodsFor<MethodCapability>> : MethodsFor<C>);
187
+ /** The sandbox type a provider produces: `ProviderSandbox<ReturnType<typeof e2b>>`. */
188
+ export type ProviderSandbox<P extends Provider> = P extends Provider<infer N, infer C> ? Sandbox<N, C> : never;
189
+ export type { OutputChunk, Capability, SandboxInfo, FileInfo, Labels, Preview, Terminal };
package/package.json CHANGED
@@ -1,151 +1,229 @@
1
1
  {
2
2
  "name": "@opencoredev/sandbox-sdk",
3
- "version": "0.1.1",
4
- "description": "One TypeScript SDK for every sandbox provider.",
3
+ "version": "1.0.0-beta.0",
4
+ "description": "One TypeScript API for cloud and local sandboxes: E2B, Daytona, Vercel, Upstash, Docker, and more. Run commands, edit files, start servers, and give AI agents a sandbox.",
5
+ "keywords": [
6
+ "sandbox",
7
+ "code-execution",
8
+ "ai-agents",
9
+ "agent-tools",
10
+ "e2b",
11
+ "daytona",
12
+ "vercel-sandbox",
13
+ "upstash",
14
+ "docker",
15
+ "microvm",
16
+ "ai-sdk",
17
+ "mastra",
18
+ "openai-agents",
19
+ "typescript"
20
+ ],
5
21
  "homepage": "https://sandbox-sdk.app",
6
- "license": "MIT",
22
+ "bugs": {
23
+ "url": "https://github.com/opencoredev/sandbox-sdk/issues"
24
+ },
7
25
  "repository": {
8
26
  "type": "git",
9
27
  "url": "git+https://github.com/opencoredev/sandbox-sdk.git",
10
28
  "directory": "packages/sdk"
11
29
  },
30
+ "license": "MIT",
31
+ "author": "OpenCore",
32
+ "type": "module",
33
+ "sideEffects": false,
12
34
  "files": [
13
35
  "dist",
14
36
  "README.md",
15
- "CHANGELOG.md",
16
- "LICENSE"
37
+ "LICENSE",
38
+ "CHANGELOG.md"
17
39
  ],
18
- "type": "module",
19
- "sideEffects": false,
40
+ "publishConfig": {
41
+ "access": "public",
42
+ "tag": "next"
43
+ },
20
44
  "exports": {
21
45
  ".": {
22
- "types": "./dist/index.d.mts",
23
- "import": "./dist/index.mjs"
46
+ "types": "./dist/index.d.ts",
47
+ "default": "./dist/index.js"
24
48
  },
25
- "./local": {
26
- "types": "./dist/providers/local/index.d.mts",
27
- "import": "./dist/providers/local/index.mjs"
49
+ "./provider": {
50
+ "types": "./dist/provider.d.ts",
51
+ "default": "./dist/provider.js"
28
52
  },
29
- "./agentos": {
30
- "types": "./dist/providers/agentos/index.d.mts",
31
- "import": "./dist/providers/agentos/index.mjs"
53
+ "./memory": {
54
+ "types": "./dist/memory.d.ts",
55
+ "default": "./dist/memory.js"
32
56
  },
33
- "./e2b": {
34
- "types": "./dist/providers/e2b/index.d.mts",
35
- "import": "./dist/providers/e2b/index.mjs"
57
+ "./testing": {
58
+ "types": "./dist/testing.d.ts",
59
+ "default": "./dist/testing.js"
36
60
  },
37
- "./daytona": {
38
- "types": "./dist/providers/daytona/index.d.mts",
39
- "import": "./dist/providers/daytona/index.mjs"
61
+ "./tools": {
62
+ "types": "./dist/tools.d.ts",
63
+ "default": "./dist/tools.js"
64
+ },
65
+ "./ai": {
66
+ "types": "./dist/ai.d.ts",
67
+ "default": "./dist/ai.js"
68
+ },
69
+ "./mastra": {
70
+ "types": "./dist/mastra.d.ts",
71
+ "default": "./dist/mastra.js"
72
+ },
73
+ "./openai": {
74
+ "types": "./dist/openai.d.ts",
75
+ "default": "./dist/openai.js"
76
+ },
77
+ "./local": {
78
+ "types": "./dist/providers/local/index.d.ts",
79
+ "default": "./dist/providers/local/index.js"
80
+ },
81
+ "./e2b": {
82
+ "types": "./dist/providers/e2b/index.d.ts",
83
+ "default": "./dist/providers/e2b/index.js"
40
84
  },
41
85
  "./vercel": {
42
- "types": "./dist/providers/vercel/index.d.mts",
43
- "import": "./dist/providers/vercel/index.mjs"
86
+ "types": "./dist/providers/vercel/index.d.ts",
87
+ "default": "./dist/providers/vercel/index.js"
88
+ },
89
+ "./daytona": {
90
+ "types": "./dist/providers/daytona/index.d.ts",
91
+ "default": "./dist/providers/daytona/index.js"
44
92
  },
45
93
  "./upstash": {
46
- "types": "./dist/providers/upstash/index.d.mts",
47
- "import": "./dist/providers/upstash/index.mjs"
94
+ "types": "./dist/providers/upstash/index.d.ts",
95
+ "default": "./dist/providers/upstash/index.js"
48
96
  },
49
- "./metadata": {
50
- "types": "./dist/metadata.d.mts",
51
- "import": "./dist/metadata.mjs"
97
+ "./railway": {
98
+ "types": "./dist/providers/railway/index.d.ts",
99
+ "default": "./dist/providers/railway/index.js"
52
100
  },
53
- "./testing": {
54
- "types": "./dist/testing/index.d.mts",
55
- "import": "./dist/testing/index.mjs"
101
+ "./boat": {
102
+ "types": "./dist/providers/boat/index.d.ts",
103
+ "default": "./dist/providers/boat/index.js"
56
104
  },
57
- "./ai": {
58
- "types": "./dist/ai/index.d.mts",
59
- "import": "./dist/ai/index.mjs"
105
+ "./sandboxer": {
106
+ "types": "./dist/providers/sandboxer/index.d.ts",
107
+ "default": "./dist/providers/sandboxer/index.js"
60
108
  },
61
- "./ai/harness": {
62
- "types": "./dist/ai/harness.d.mts",
63
- "import": "./dist/ai/harness.mjs"
109
+ "./tenki": {
110
+ "types": "./dist/providers/tenki/index.d.ts",
111
+ "default": "./dist/providers/tenki/index.js"
64
112
  },
65
- "./eve": {
66
- "types": "./dist/eve/index.d.mts",
67
- "import": "./dist/eve/index.mjs"
113
+ "./agentos": {
114
+ "types": "./dist/providers/agentos/index.d.ts",
115
+ "default": "./dist/providers/agentos/index.js"
68
116
  },
69
- "./mastra": {
70
- "types": "./dist/mastra/index.d.mts",
71
- "import": "./dist/mastra/index.mjs"
72
- }
73
- },
74
- "publishConfig": {
75
- "access": "public",
76
- "registry": "https://registry.npmjs.org"
117
+ "./boxd": {
118
+ "types": "./dist/providers/boxd/index.d.ts",
119
+ "default": "./dist/providers/boxd/index.js"
120
+ },
121
+ "./freestyle": {
122
+ "types": "./dist/providers/freestyle/index.d.ts",
123
+ "default": "./dist/providers/freestyle/index.js"
124
+ },
125
+ "./superserve": {
126
+ "types": "./dist/providers/superserve/index.d.ts",
127
+ "default": "./dist/providers/superserve/index.js"
128
+ },
129
+ "./package.json": "./package.json"
77
130
  },
78
131
  "scripts": {
79
- "build": "tsdown",
80
- "prepack": "bun run build",
81
- "dev": "tsdown --watch src",
82
- "lint": "oxlint src tests examples",
132
+ "build": "bun scripts/build.ts && tsc -p tsconfig.build.json",
83
133
  "typecheck": "tsc --noEmit",
84
- "test": "bun test tests --parallel=1 --timeout=15000",
85
- "test:live": "bun test tests/live",
86
- "test:live:ai-gateway": "bun scripts/run-ai-gateway-live.ts local",
87
- "test:live:ai-gateway:vercel": "bun scripts/run-ai-gateway-live.ts vercel",
88
- "test:live:e2b": "bun test tests/live/e2b.test.ts",
89
- "test:live:daytona": "bun test tests/live/daytona.test.ts",
90
- "test:live:integrations": "bun test tests/live/integrations.test.ts",
91
- "test:live:mastra": "bun test tests/live/mastra.test.ts",
92
- "test:live:vercel": "bun test tests/live/vercel.test.ts",
93
- "test:live:upstash": "bun test tests/live/upstash.test.ts"
94
- },
95
- "dependencies": {
96
- "@rivet-dev/agentos-core": "^0.2.7"
134
+ "lint": "oxlint src tests scripts",
135
+ "test": "timeout 120s vitest run --maxWorkers=4 && bun scripts/size.ts",
136
+ "check:size": "bun scripts/size.ts",
137
+ "smoke:consumer": "timeout 900s bun scripts/consumer-smoke.ts"
97
138
  },
98
139
  "devDependencies": {
99
- "@ai-sdk/harness": "^1",
100
- "@daytona/sdk": "^0.196.0",
101
- "@mastra/core": "1.51.0",
102
- "@types/bun": "^1.3.14",
103
- "@types/node": "^22.13.14",
104
- "@upstash/box": "0.5.3",
105
- "@vercel/sandbox": "^2.5.0",
106
- "ai": "^7",
107
- "e2b": "^2.32.0",
108
- "eve": "^0.22",
109
- "tsdown": "^0.16.6",
110
- "typescript": "^6.0.3"
140
+ "@boatdev/sdk": "1.9.9",
141
+ "@boxd-sh/sdk": "0.2.17",
142
+ "@daytonaio/sdk": "^0.225.0",
143
+ "@mastra/core": "^1.78.0",
144
+ "@openai/agents": "^0.20.0",
145
+ "@rivet-dev/agentos-core": "0.4.1",
146
+ "@tenkicloud/sandbox": "^1.4.1",
147
+ "@upstash/box": "^0.7.9",
148
+ "@vercel/sandbox": "3.8.0",
149
+ "ai": "^7.0.143",
150
+ "e2b": "2.56.0",
151
+ "freestyle": "0.2.20",
152
+ "railway": "3.16.0",
153
+ "vitest": "^3.2.4",
154
+ "zod": "^4.6.7",
155
+ "@superserve/sdk": "0.11.4"
111
156
  },
112
157
  "peerDependencies": {
113
- "@ai-sdk/harness": "^1.0.0",
114
- "@daytona/sdk": "^0.196.0",
115
- "@mastra/core": ">=1.12.0-0 <2.0.0-0",
116
- "@upstash/box": "^0.5.3",
117
- "@vercel/sandbox": "^2.5.0",
118
- "ai": "^7.0.0",
119
- "e2b": "^2.32.0",
120
- "eve": "^0.22.0"
158
+ "@daytonaio/sdk": "^0.225.0",
159
+ "@mastra/core": "^1.78.0",
160
+ "@openai/agents": "^0.20.0",
161
+ "@upstash/box": "^0.7.9",
162
+ "@vercel/sandbox": "^3.8.0",
163
+ "ai": "^7.0.143",
164
+ "e2b": "^2.56.0",
165
+ "vitest": ">=3",
166
+ "zod": "^4.6.7",
167
+ "railway": "^3.16.0",
168
+ "@boatdev/sdk": "^1.9.9",
169
+ "@tenkicloud/sandbox": "^1.4.1",
170
+ "@rivet-dev/agentos-core": "0.4.1",
171
+ "@boxd-sh/sdk": "^0.2.17",
172
+ "freestyle": "^0.2.20",
173
+ "@superserve/sdk": "^0.11.4"
121
174
  },
122
175
  "peerDependenciesMeta": {
123
- "e2b": {
176
+ "vitest": {
177
+ "optional": true
178
+ },
179
+ "ai": {
180
+ "optional": true
181
+ },
182
+ "@mastra/core": {
124
183
  "optional": true
125
184
  },
126
- "@daytona/sdk": {
185
+ "@openai/agents": {
186
+ "optional": true
187
+ },
188
+ "zod": {
189
+ "optional": true
190
+ },
191
+ "e2b": {
127
192
  "optional": true
128
193
  },
129
194
  "@vercel/sandbox": {
130
195
  "optional": true
131
196
  },
197
+ "@daytonaio/sdk": {
198
+ "optional": true
199
+ },
132
200
  "@upstash/box": {
133
201
  "optional": true
134
202
  },
135
- "ai": {
203
+ "railway": {
136
204
  "optional": true
137
205
  },
138
- "@ai-sdk/harness": {
206
+ "@boatdev/sdk": {
139
207
  "optional": true
140
208
  },
141
- "@mastra/core": {
209
+ "@tenkicloud/sandbox": {
210
+ "optional": true
211
+ },
212
+ "@rivet-dev/agentos-core": {
213
+ "optional": true
214
+ },
215
+ "@boxd-sh/sdk": {
216
+ "optional": true
217
+ },
218
+ "freestyle": {
142
219
  "optional": true
143
220
  },
144
- "eve": {
221
+ "@superserve/sdk": {
145
222
  "optional": true
146
223
  }
147
224
  },
148
225
  "engines": {
149
- "node": ">=22 <26"
226
+ "bun": ">=1.3",
227
+ "node": ">=22"
150
228
  }
151
229
  }