@torkbot/sandbox 0.1.1 → 0.2.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/dist/index.d.ts CHANGED
@@ -1,39 +1,4 @@
1
- export { HostControlTransport } from "./control.ts";
2
- export interface Transport<TIncoming = unknown, TOutgoing = unknown> {
3
- readonly incoming: AsyncIterable<TIncoming>;
4
- send(message: TOutgoing): Promise<void>;
5
- close(): Promise<void>;
6
- }
7
- export interface SandboxCpuOptions {
8
- readonly vcpus?: number;
9
- }
10
- export interface SandboxMemoryOptions {
11
- readonly mib?: number;
12
- }
13
- export type KernelConfig = {
14
- readonly kind: "project-kernel";
15
- readonly format?: "auto" | "raw" | "elf" | "pe-gz" | "image-gz" | "image-zstd";
16
- };
17
- export type InitConfig = {
18
- readonly kind: "project-init";
19
- readonly crate: "sandbox-init";
20
- };
21
- export type SandboxFsConfig = PrebuiltRootfsConfig | LinuxOverlayRootfsConfig | ScratchFsConfig;
22
- export type RootfsConfig = PrebuiltRootfsConfig | LinuxOverlayRootfsConfig;
23
- export type PrebuiltRootfsConfig = {
24
- readonly kind: "prebuilt-rootfs";
25
- readonly path: string;
26
- readonly readonly?: boolean;
27
- readonly format: "directory" | "erofs";
28
- };
29
- export type LinuxOverlayRootfsConfig = {
30
- readonly kind: "linux-overlay-fs";
31
- readonly lower: SandboxFsConfig;
32
- readonly upper: SandboxFsConfig;
33
- };
34
- export type ScratchFsConfig = {
35
- readonly kind: "scratch-fs";
36
- };
1
+ import { createMemoryFileSystem } from "./memory-fs.ts";
37
2
  export type SandboxFileType = "file" | "directory" | "symlink";
38
3
  export type SandboxFileStat = {
39
4
  readonly type: SandboxFileType;
@@ -72,60 +37,17 @@ export interface SandboxPosixFileSystem extends SandboxWritableFileSystem {
72
37
  unlink(path: string): Promise<void>;
73
38
  rmdir(path: string): Promise<void>;
74
39
  rename(from: string, to: string, flags?: number): Promise<void>;
40
+ link(from: string, to: string): Promise<SandboxFileStat>;
75
41
  symlink(target: string, path: string): Promise<SandboxFileStat>;
76
42
  readlink(path: string): Promise<string>;
43
+ setxattr(path: string, name: string, value: Uint8Array, flags?: number): Promise<void>;
44
+ getxattr(path: string, name: string): Promise<Uint8Array>;
45
+ listxattr(path: string): Promise<readonly string[]>;
46
+ removexattr(path: string, name: string): Promise<void>;
77
47
  }
78
- export type SandboxVirtualFileSystem = SandboxFileSystem;
79
- export type SandboxMountedFileSystem = SandboxFileSystem;
80
- export type SandboxHostReadResult = {
81
- readonly path: string;
82
- readonly content: string;
83
- readonly totalLines: number;
84
- readonly truncated: boolean;
85
- };
86
- export type SandboxHostPatchEdit = {
87
- readonly oldText: string;
88
- readonly newText: string;
89
- };
90
- export type SandboxHostBashResult = {
91
- readonly stdout: string;
92
- readonly stderr: string;
93
- readonly exitCode: number;
94
- };
95
- export interface SandboxHostFileSystemTools {
96
- read(input: {
97
- readonly path: string;
98
- readonly offset?: number;
99
- readonly limit?: number;
100
- readonly signal?: AbortSignal;
101
- }): Promise<SandboxHostReadResult>;
102
- write(input: {
103
- readonly path: string;
104
- readonly content: string;
105
- readonly signal?: AbortSignal;
106
- }): Promise<void>;
107
- patch(input: {
108
- readonly path: string;
109
- readonly edits: readonly SandboxHostPatchEdit[];
110
- readonly signal?: AbortSignal;
111
- }): Promise<void>;
112
- bash(input: {
113
- readonly command: string;
114
- readonly timeoutMs?: number;
115
- readonly signal?: AbortSignal;
116
- }): Promise<SandboxHostBashResult>;
48
+ export interface MemoryFileSystemOptions {
49
+ readonly files?: Readonly<Record<string, string | Uint8Array>>;
117
50
  }
118
- export type VirtualFsMountConfig = {
119
- readonly kind: "virtual-fs";
120
- readonly path: string;
121
- readonly fileSystem: SandboxVirtualFileSystem;
122
- };
123
- export type FileSystemBindingConfig = {
124
- readonly kind: "filesystem-binding";
125
- readonly path: string;
126
- readonly fileSystem: SandboxVirtualFileSystem;
127
- };
128
- export type MountConfig = VirtualFsMountConfig;
129
51
  export interface SandboxHttpRequest {
130
52
  readonly protocol: "http/1.1" | "h2";
131
53
  readonly url: URL;
@@ -142,129 +64,112 @@ export interface SandboxHttpRequest {
142
64
  readonly alpn?: string;
143
65
  };
144
66
  }
145
- export type SandboxHttpRequestHook = (request: SandboxHttpRequest) => void | Promise<void>;
146
- export interface SandboxHttpRequestSelector {
147
- readonly origin: string;
148
- }
149
- export interface SandboxHttpHook extends AsyncDisposable {
150
- [Symbol.asyncDispose](): Promise<void>;
151
- }
152
- export interface SandboxHttpHooks {
153
- onRequest(selector: SandboxHttpRequestSelector, hook: SandboxHttpRequestHook): SandboxHttpHook;
154
- }
155
- export interface SandboxBuilder extends AsyncDisposable {
156
- readonly http: SandboxHttpHooks;
157
- run(): Promise<SandboxVm>;
158
- [Symbol.asyncDispose](): Promise<void>;
159
- }
160
- export type OutboundNetworkRule = {
161
- readonly action: "accept";
162
- readonly protocol: "tcp";
163
- readonly cidr: string;
164
- readonly ports?: readonly number[];
165
- } | {
166
- readonly action: "accept";
167
- readonly protocol: "udp";
168
- readonly cidr: string;
169
- readonly ports?: readonly number[];
170
- } | {
171
- readonly action: "accept";
172
- readonly scope: "public-internet";
173
- readonly ports?: readonly number[];
67
+ export type BuiltInRootfsName = "alpine:3.20";
68
+ export type BuiltInRootfsConfig = {
69
+ readonly kind: "built-in-rootfs";
70
+ readonly name: BuiltInRootfsName;
71
+ };
72
+ export type CowRootfsConfig = {
73
+ readonly kind: "cow-rootfs";
74
+ readonly base: BuiltInRootfsConfig;
75
+ readonly writable: SandboxBlockStore;
174
76
  };
175
- export interface OutboundNetworkPolicy {
176
- readonly policy: "deny";
177
- readonly rules: readonly OutboundNetworkRule[];
77
+ export type Rootfs = BuiltInRootfsConfig | CowRootfsConfig;
78
+ export type SandboxFileSystemSource = {
79
+ readonly kind: "virtual-fs";
80
+ readonly fileSystem: SandboxFileSystem;
81
+ };
82
+ export type SandboxWritableFileSystemSource = {
83
+ readonly kind: "virtual-fs";
84
+ readonly fileSystem: SandboxPosixFileSystem;
85
+ };
86
+ export type SandboxBlockRange = {
87
+ readonly start: bigint;
88
+ readonly count: number;
89
+ };
90
+ export type SandboxBlockChunk = {
91
+ readonly start: bigint;
92
+ readonly data: Uint8Array;
93
+ };
94
+ export type SandboxBlockStoreContext = {
95
+ readonly base: string;
96
+ };
97
+ export interface SandboxBlockStore {
98
+ readonly blockSize: number;
99
+ list(context: SandboxBlockStoreContext): Promise<readonly bigint[]>;
100
+ read(range: SandboxBlockRange, context: SandboxBlockStoreContext): Promise<readonly SandboxBlockChunk[]>;
101
+ write(chunks: readonly SandboxBlockChunk[], context: SandboxBlockStoreContext): Promise<void>;
102
+ flush?(context: SandboxBlockStoreContext): Promise<void>;
103
+ }
104
+ export type HttpRequestMiddleware = (request: SandboxHttpRequest) => void | Promise<void>;
105
+ export interface NetworkGrant {
106
+ }
107
+ export interface HttpNetworkGrant extends NetworkGrant {
108
+ }
109
+ export interface NetworkConnectionRequest {
110
+ readonly transport: "tcp" | "udp";
111
+ readonly host?: string;
112
+ readonly ip?: string;
113
+ readonly port: number;
114
+ /**
115
+ * Allows HTTP(S)-classified traffic for this connection without request middleware.
116
+ * Raw non-HTTP egress is not exposed by the first public policy API.
117
+ */
118
+ allow(): NetworkGrant;
119
+ allowHttp(middleware?: HttpRequestMiddleware): HttpNetworkGrant;
120
+ }
121
+ export type NetworkConnectionRequestHandler = (connection: NetworkConnectionRequest) => void | Promise<void>;
122
+ declare const networkPolicyHandler: unique symbol;
123
+ export type NetworkPolicy = {
124
+ readonly kind: "network-policy";
125
+ readonly [networkPolicyHandler]: NetworkConnectionRequestHandler;
126
+ };
127
+ export interface SandboxDefinitionOptions {
128
+ readonly rootfs: Rootfs;
129
+ readonly resources?: SandboxResourceLimits;
130
+ readonly network?: NetworkPolicy;
178
131
  }
179
- export interface NetworkConfig {
180
- readonly outbound?: OutboundNetworkPolicy;
181
- readonly http?: {
182
- readonly certificateAuthority?: {
183
- readonly certificatePem: string;
184
- readonly privateKeyPem: string;
185
- };
186
- };
132
+ export interface SandboxResourceLimits {
133
+ readonly cpus?: number;
134
+ readonly memoryMiB?: number;
187
135
  }
188
- export interface SandboxOptions {
189
- readonly name?: string;
190
- readonly cpu?: SandboxCpuOptions;
191
- readonly memory?: SandboxMemoryOptions;
192
- readonly kernel: KernelConfig;
193
- readonly init: InitConfig;
194
- readonly rootfs: RootfsConfig;
195
- readonly mounts?: readonly MountConfig[];
196
- readonly bindings?: readonly FileSystemBindingConfig[];
197
- readonly network?: NetworkConfig;
136
+ export interface SandboxBootOptions {
137
+ readonly mounts?: Readonly<Record<string, SandboxFileSystemSource>>;
138
+ readonly cwd?: string;
198
139
  }
199
- export interface SandboxMounts {
200
- get(path: string): SandboxMountedFileSystem;
201
- virtualFs(path: string): SandboxVirtualFileSystem;
202
- host(path: string): SandboxHostFileSystemTools;
140
+ export interface SandboxDefinition {
141
+ boot(options?: SandboxBootOptions): Promise<SandboxInstance>;
203
142
  }
204
- export type SandboxControlEvent = {
205
- readonly type: "init.ready";
206
- readonly guest: {
207
- readonly root: {
208
- readonly readonly: boolean;
209
- };
210
- readonly init: {
211
- readonly name: string;
212
- };
213
- };
214
- } | {
215
- readonly type: "guest.exec.complete";
216
- readonly id: string;
143
+ export interface SandboxExecOptions {
144
+ readonly cwd?: string;
145
+ readonly env?: Record<string, string>;
146
+ }
147
+ export interface SandboxExecResult {
217
148
  readonly exitCode: number;
218
149
  readonly stdout: string;
219
150
  readonly stderr: string;
220
- };
221
- export type SandboxControlCommand = {
222
- readonly type: "guest.exec";
223
- readonly id: string;
224
- readonly argv: readonly string[];
225
- readonly env?: Record<string, string>;
226
- };
227
- export interface SandboxControl extends Transport<SandboxControlEvent, SandboxControlCommand> {
228
- exec(input: {
229
- readonly id?: string;
230
- readonly argv: readonly string[];
231
- readonly env?: Record<string, string>;
232
- }): Promise<Extract<SandboxControlEvent, {
233
- type: "guest.exec.complete";
234
- }>>;
235
151
  }
236
- export interface SandboxVm {
237
- readonly control: SandboxControl;
238
- readonly mounts: SandboxMounts;
239
- readonly diagnostics?: SandboxDiagnostics;
152
+ export interface SandboxInstance {
153
+ exec(command: string, args?: readonly string[], options?: SandboxExecOptions): Promise<SandboxExecResult>;
240
154
  close(): Promise<void>;
241
155
  [Symbol.asyncDispose](): Promise<void>;
242
156
  }
243
- export interface SandboxDiagnostics {
244
- terminateHostForTest(): Promise<void>;
245
- }
246
- export declare function projectKernel(options?: Omit<KernelConfig, "kind">): KernelConfig;
247
- export declare function projectInit(): InitConfig;
248
- export declare function prebuiltRootfs(path: string, options: Omit<PrebuiltRootfsConfig, "kind" | "path">): PrebuiltRootfsConfig;
249
- export declare function scratchFs(): ScratchFsConfig;
250
- export declare function linuxOverlayFs(input: {
251
- readonly lower: SandboxFsConfig;
252
- readonly upper: SandboxFsConfig;
253
- }): LinuxOverlayRootfsConfig;
254
- export declare function virtualFsMount(path: string, fileSystem: SandboxVirtualFileSystem): VirtualFsMountConfig;
255
- export declare function mount(path: string, fileSystem: SandboxVirtualFileSystem): VirtualFsMountConfig;
256
- export declare function binding(path: string, fileSystem: SandboxVirtualFileSystem): FileSystemBindingConfig;
257
- export declare function acceptTcp(input: {
258
- readonly cidr: string;
259
- readonly ports?: readonly number[];
260
- }): OutboundNetworkRule;
261
- export declare function acceptUdp(input: {
262
- readonly cidr: string;
263
- readonly ports?: readonly number[];
264
- }): OutboundNetworkRule;
265
- export declare function acceptPublicInternet(input?: {
266
- readonly ports?: readonly number[];
267
- }): OutboundNetworkRule;
268
- export declare function spawnSandbox(options: SandboxOptions): Promise<SandboxVm>;
269
- export declare function createSandbox(options: SandboxOptions): SandboxBuilder;
157
+ export declare const rootfs: {
158
+ builtIn(name: BuiltInRootfsName): BuiltInRootfsConfig;
159
+ cow(options: {
160
+ readonly base: BuiltInRootfsConfig;
161
+ readonly writable: SandboxBlockStore;
162
+ }): Rootfs;
163
+ };
164
+ declare function virtualFs(fileSystem: SandboxPosixFileSystem): SandboxWritableFileSystemSource;
165
+ declare function virtualFs(fileSystem: SandboxFileSystem): SandboxFileSystemSource;
166
+ export declare const fs: {
167
+ memory: typeof createMemoryFileSystem;
168
+ virtual: typeof virtualFs;
169
+ };
170
+ export declare const network: {
171
+ policy(onConnectionRequest: NetworkConnectionRequestHandler): NetworkPolicy;
172
+ };
173
+ export declare function defineSandbox(options: SandboxDefinitionOptions): SandboxDefinition;
174
+ export {};
270
175
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}