@sandblocks/sdk 0.1.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 (39) hide show
  1. package/README.md +21 -0
  2. package/dist/agents.js +209 -0
  3. package/dist/bin.js +59 -0
  4. package/dist/index.js +1018 -0
  5. package/dist/output.js +54 -0
  6. package/dist/providers/custom.js +49 -0
  7. package/dist/providers/docker.js +257 -0
  8. package/dist/providers/podman.js +257 -0
  9. package/dist/providers/remote.js +341 -0
  10. package/dist/providers/unsafe-host.js +126 -0
  11. package/dist/types/agents.d.ts +63 -0
  12. package/dist/types/agents.d.ts.map +1 -0
  13. package/dist/types/bin.d.ts +3 -0
  14. package/dist/types/bin.d.ts.map +1 -0
  15. package/dist/types/index.d.ts +262 -0
  16. package/dist/types/index.d.ts.map +1 -0
  17. package/dist/types/init.d.ts +6 -0
  18. package/dist/types/init.d.ts.map +1 -0
  19. package/dist/types/orchestration.d.ts +94 -0
  20. package/dist/types/orchestration.d.ts.map +1 -0
  21. package/dist/types/output.d.ts +12 -0
  22. package/dist/types/output.d.ts.map +1 -0
  23. package/dist/types/process.d.ts +6 -0
  24. package/dist/types/process.d.ts.map +1 -0
  25. package/dist/types/providers/custom.d.ts +15 -0
  26. package/dist/types/providers/custom.d.ts.map +1 -0
  27. package/dist/types/providers/docker.d.ts +7 -0
  28. package/dist/types/providers/docker.d.ts.map +1 -0
  29. package/dist/types/providers/oci.d.ts +37 -0
  30. package/dist/types/providers/oci.d.ts.map +1 -0
  31. package/dist/types/providers/podman.d.ts +7 -0
  32. package/dist/types/providers/podman.d.ts.map +1 -0
  33. package/dist/types/providers/remote.d.ts +31 -0
  34. package/dist/types/providers/remote.d.ts.map +1 -0
  35. package/dist/types/providers/unsafe-host.d.ts +14 -0
  36. package/dist/types/providers/unsafe-host.d.ts.map +1 -0
  37. package/dist/types/types.d.ts +196 -0
  38. package/dist/types/types.d.ts.map +1 -0
  39. package/package.json +48 -0
@@ -0,0 +1,262 @@
1
+ export * from "./types.js";
2
+ export * from "./agents.js";
3
+ export * from "./output.js";
4
+ export * from "./orchestration.js";
5
+ export * from "./init.js";
6
+ export * from "./providers/custom.js";
7
+ export interface SandblocksClientOptions {
8
+ baseUrl: string;
9
+ apiKey: string;
10
+ fetchImpl?: typeof fetch;
11
+ }
12
+ export interface SandblocksSandboxLease {
13
+ id: string;
14
+ projectId: string;
15
+ sandboxId: string;
16
+ subject: string;
17
+ scopes: string[];
18
+ expiresAt: string;
19
+ revokedAt?: string;
20
+ createdAt: string;
21
+ lastUsedAt?: string;
22
+ }
23
+ export interface SandblocksOperation {
24
+ id: string;
25
+ state: "queued" | "running" | "succeeded" | "failed" | "cancelled";
26
+ kind: string;
27
+ result?: Record<string, unknown>;
28
+ failureReason?: string;
29
+ }
30
+ export declare class SandblocksClient {
31
+ private readonly options;
32
+ private readonly baseUrl;
33
+ private readonly fetchImpl;
34
+ constructor(options: SandblocksClientOptions);
35
+ listSandboxes(projectId: string): Promise<{
36
+ sandboxes: unknown[];
37
+ }>;
38
+ recordSandbox(projectId: string, sandbox: {
39
+ id: string;
40
+ goal: string;
41
+ status: string;
42
+ previewUrls?: Array<{
43
+ service?: string;
44
+ url: string;
45
+ }>;
46
+ stack?: string;
47
+ deploymentType?: string;
48
+ revisionId?: string;
49
+ generation?: number;
50
+ baseDomain?: string;
51
+ serviceRoutes?: Array<{
52
+ service: string;
53
+ targetHost: string;
54
+ targetPort: number;
55
+ }>;
56
+ executor?: "sandblocks" | "legacy";
57
+ healthEvidence?: Array<Record<string, unknown>>;
58
+ prUrls?: string[];
59
+ repositories?: string[];
60
+ }): Promise<{
61
+ sandbox: unknown;
62
+ }>;
63
+ deployServices(input: {
64
+ projectId: string;
65
+ deploymentId: string;
66
+ repositories: Array<{
67
+ slug: string;
68
+ url: string;
69
+ revision: string;
70
+ prepareCommand?: string;
71
+ cleanupCommand?: string;
72
+ }>;
73
+ services: Array<{
74
+ id: string;
75
+ repository: string;
76
+ port: number;
77
+ runtimeCommand: string;
78
+ buildCommand?: string;
79
+ portEnv?: string;
80
+ healthPath?: string;
81
+ }>;
82
+ environment?: Record<string, string>;
83
+ targetHost: string;
84
+ idempotencyKey: string;
85
+ }): Promise<{
86
+ operation: SandblocksOperation;
87
+ deploymentId: string;
88
+ }>;
89
+ destroyServices(input: {
90
+ projectId: string;
91
+ deploymentId: string;
92
+ idempotencyKey: string;
93
+ }): Promise<{
94
+ operation: SandblocksOperation;
95
+ }>;
96
+ issueSandboxLease(input: {
97
+ projectId: string;
98
+ sandboxId: string;
99
+ subject: string;
100
+ scopes: string[];
101
+ ttlSeconds?: number;
102
+ }): Promise<{
103
+ lease: SandblocksSandboxLease;
104
+ token: string;
105
+ }>;
106
+ listSandboxLeases(projectId: string, sandboxId: string): Promise<{
107
+ leases: SandblocksSandboxLease[];
108
+ }>;
109
+ revokeSandboxLease(projectId: string, sandboxId: string, leaseId: string): Promise<{
110
+ lease: SandblocksSandboxLease;
111
+ }>;
112
+ listRoutingAliases(projectId: string): Promise<{
113
+ aliases: unknown[];
114
+ }>;
115
+ listRoutingHistory(projectId: string): Promise<{
116
+ history: unknown[];
117
+ }>;
118
+ promoteRoutingAliases(projectId: string, sandboxId: string): Promise<{
119
+ promotion: unknown;
120
+ }>;
121
+ getRoutingPolicy(projectId: string, stack: string, deploymentType: string): Promise<{
122
+ policy: unknown;
123
+ }>;
124
+ setRoutingPolicy(projectId: string, stack: string, deploymentType: string, policy: {
125
+ ssoEnabled?: boolean;
126
+ baseDomain?: string | null;
127
+ domains?: Record<string, string>;
128
+ stableDomains?: Record<string, string>;
129
+ }): Promise<{
130
+ policy: unknown;
131
+ }>;
132
+ rollbackRoutingAliases(projectId: string, sandboxId: string): Promise<{
133
+ promotion: unknown;
134
+ }>;
135
+ getSandbox(projectId: string, sandboxId: string): Promise<{
136
+ sandbox: unknown;
137
+ }>;
138
+ createWorkspace(input: {
139
+ projectId: string;
140
+ workspaceId: string;
141
+ repositoryUrl: string;
142
+ revision?: string;
143
+ placement?: {
144
+ pool?: string;
145
+ hostId?: string;
146
+ labels?: Record<string, string>;
147
+ };
148
+ gitCredential?: string;
149
+ idempotencyKey: string;
150
+ }): Promise<{
151
+ operation: SandblocksOperation;
152
+ workspaceId: string;
153
+ }>;
154
+ executeWorkspace(input: {
155
+ projectId: string;
156
+ workspaceId: string;
157
+ executable: "git" | "bun";
158
+ args: string[];
159
+ idempotencyKey: string;
160
+ }): Promise<{
161
+ operation: SandblocksOperation;
162
+ }>;
163
+ destroyWorkspace(input: {
164
+ projectId: string;
165
+ workspaceId: string;
166
+ idempotencyKey: string;
167
+ }): Promise<{
168
+ operation: SandblocksOperation;
169
+ workspaceId: string;
170
+ }>;
171
+ getOperation(operationId: string): Promise<{
172
+ operation: SandblocksOperation;
173
+ }>;
174
+ listOperations(projectId: string, sandboxId?: string): Promise<{
175
+ operations: SandblocksOperation[];
176
+ }>;
177
+ listOperationEvents(operationId: string): Promise<{
178
+ events: unknown[];
179
+ }>;
180
+ cancelOperation(operationId: string): Promise<{
181
+ operation: SandblocksOperation;
182
+ }>;
183
+ cancelSandboxOperations(projectId: string, sandboxId: string): Promise<{
184
+ operations: SandblocksOperation[];
185
+ }>;
186
+ waitForOperation(operationId: string, options?: {
187
+ timeoutMs?: number;
188
+ pollMs?: number;
189
+ }): Promise<SandblocksOperation>;
190
+ private request;
191
+ }
192
+ export declare class Sandblocks extends SandblocksClient {
193
+ }
194
+ export declare class SandblocksSandboxClient {
195
+ private readonly baseUrl;
196
+ private readonly fetchImpl;
197
+ private readonly leaseToken;
198
+ private readonly sandboxId;
199
+ constructor(options: {
200
+ baseUrl: string;
201
+ sandboxId: string;
202
+ leaseToken: string;
203
+ fetchImpl?: typeof fetch;
204
+ });
205
+ getSession(): Promise<{
206
+ session: {
207
+ id: string;
208
+ projectId: string;
209
+ sandboxId: string;
210
+ subject: string;
211
+ scopes: string[];
212
+ expiresAt: string;
213
+ };
214
+ }>;
215
+ readFile(repository: string, path: string, idempotencyKey: string): Promise<{
216
+ operation: SandblocksOperation;
217
+ }>;
218
+ search(repository: string, query: string, input: {
219
+ path?: string;
220
+ glob?: string;
221
+ }, idempotencyKey: string): Promise<{
222
+ operation: SandblocksOperation;
223
+ }>;
224
+ writeFile(repository: string, path: string, content: string, idempotencyKey: string): Promise<{
225
+ operation: SandblocksOperation;
226
+ }>;
227
+ execute(repository: string, executable: "git" | "bun", args: string[], idempotencyKey: string): Promise<{
228
+ operation: SandblocksOperation;
229
+ }>;
230
+ git(repository: string, input: {
231
+ action: "status" | "checkout" | "diff" | "stage" | "commit" | "push";
232
+ paths?: string[];
233
+ message?: string;
234
+ branch?: string;
235
+ remote?: string;
236
+ force?: boolean;
237
+ cached?: boolean;
238
+ nameOnly?: boolean;
239
+ range?: string;
240
+ authorName?: string;
241
+ authorEmail?: string;
242
+ gitCredential?: string;
243
+ }, idempotencyKey: string): Promise<{
244
+ operation: SandblocksOperation;
245
+ }>;
246
+ getOperation(operationId: string): Promise<{
247
+ operation: SandblocksOperation;
248
+ }>;
249
+ listOperationEvents(operationId: string, after?: number): Promise<{
250
+ events: unknown[];
251
+ }>;
252
+ cancelOperation(operationId: string): Promise<{
253
+ operation: SandblocksOperation;
254
+ }>;
255
+ waitForOperation(operationId: string, options?: {
256
+ timeoutMs?: number;
257
+ pollMs?: number;
258
+ }): Promise<SandblocksOperation>;
259
+ private workspaceRequest;
260
+ private request;
261
+ }
262
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,uBAAuB,CAAC;AAEtC,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC1B;AAED,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;IACnE,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,gBAAgB;IAIf,OAAO,CAAC,QAAQ,CAAC,OAAO;IAHpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;gBAEZ,OAAO,EAAE,uBAAuB;IAM7D,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,OAAO,EAAE,CAAA;KAAE,CAAC;IAInE,aAAa,CACX,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE;QACP,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,KAAK,CAAC;YAAE,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACvD,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,aAAa,CAAC,EAAE,KAAK,CAAC;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACnF,QAAQ,CAAC,EAAE,YAAY,GAAG,QAAQ,CAAC;QACnC,cAAc,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QAChD,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;KACzB,GACA,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAOhC,cAAc,CAAC,KAAK,EAAE;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,KAAK,CAAC;YAClB,IAAI,EAAE,MAAM,CAAC;YACb,GAAG,EAAE,MAAM,CAAC;YACZ,QAAQ,EAAE,MAAM,CAAC;YACjB,cAAc,CAAC,EAAE,MAAM,CAAC;YACxB,cAAc,CAAC,EAAE,MAAM,CAAC;SACzB,CAAC,CAAC;QACH,QAAQ,EAAE,KAAK,CAAC;YACd,EAAE,EAAE,MAAM,CAAC;YACX,UAAU,EAAE,MAAM,CAAC;YACnB,IAAI,EAAE,MAAM,CAAC;YACb,cAAc,EAAE,MAAM,CAAC;YACvB,YAAY,CAAC,EAAE,MAAM,CAAC;YACtB,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,UAAU,CAAC,EAAE,MAAM,CAAC;SACrB,CAAC,CAAC;QACH,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACrC,UAAU,EAAE,MAAM,CAAC;QACnB,cAAc,EAAE,MAAM,CAAC;KACxB,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,mBAAmB,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;IAQrE,eAAe,CAAC,KAAK,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QACnG,SAAS,EAAE,mBAAmB,CAAC;KAChC,CAAC;IAUF,iBAAiB,CAAC,KAAK,EAAE;QACvB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,sBAAsB,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAU7D,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,sBAAsB,EAAE,CAAA;KAAE,CAAC;IAMtG,kBAAkB,CAChB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC;QAAE,KAAK,EAAE,sBAAsB,CAAA;KAAE,CAAC;IAO7C,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,CAAA;KAAE,CAAC;IAItE,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,CAAA;KAAE,CAAC;IAItE,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC;IAO5F,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC;IAMxG,gBAAgB,CACd,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE;QACN,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACxC,GACA,OAAO,CAAC;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC;IAU/B,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC;IAO7F,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAM/E,eAAe,CAAC,KAAK,EAAE;QACrB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,aAAa,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE;YAAE,IAAI,CAAC,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;SAAE,CAAC;QAChF,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;KACxB,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,mBAAmB,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAgBpE,gBAAgB,CAAC,KAAK,EAAE;QACtB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,KAAK,GAAG,KAAK,CAAC;QAC1B,IAAI,EAAE,MAAM,EAAE,CAAC;QACf,cAAc,EAAE,MAAM,CAAC;KACxB,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,mBAAmB,CAAA;KAAE,CAAC;IAW/C,gBAAgB,CAAC,KAAK,EAAE;QACtB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,cAAc,EAAE,MAAM,CAAC;KACxB,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,mBAAmB,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAOpE,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,mBAAmB,CAAA;KAAE,CAAC;IAI9E,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,UAAU,EAAE,mBAAmB,EAAE,CAAA;KAAE,CAAC;IAKrG,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,OAAO,EAAE,CAAA;KAAE,CAAC;IAIxE,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,mBAAmB,CAAA;KAAE,CAAC;IAIjF,uBAAuB,CACrB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;QAAE,UAAU,EAAE,mBAAmB,EAAE,CAAA;KAAE,CAAC;IAO3C,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,GAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAO;YAanF,OAAO;CAStB;AAED,qBAAa,UAAW,SAAQ,gBAAgB;CAAG;AAEnD,qBAAa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;IACzC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;gBAEvB,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;KAAE;IASzG,UAAU,IAAI,OAAO,CAAC;QACpB,OAAO,EAAE;YACP,EAAE,EAAE,MAAM,CAAC;YACX,SAAS,EAAE,MAAM,CAAC;YAClB,SAAS,EAAE,MAAM,CAAC;YAClB,OAAO,EAAE,MAAM,CAAC;YAChB,MAAM,EAAE,MAAM,EAAE,CAAC;YACjB,SAAS,EAAE,MAAM,CAAC;SACnB,CAAC;KACH,CAAC;IAIF,QAAQ,CACN,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC;QAAE,SAAS,EAAE,mBAAmB,CAAA;KAAE,CAAC;IAI9C,MAAM,CACJ,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,EACvC,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC;QAAE,SAAS,EAAE,mBAAmB,CAAA;KAAE,CAAC;IAI9C,SAAS,CACP,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC;QAAE,SAAS,EAAE,mBAAmB,CAAA;KAAE,CAAC;IAI9C,OAAO,CACL,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,KAAK,GAAG,KAAK,EACzB,IAAI,EAAE,MAAM,EAAE,EACd,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC;QAAE,SAAS,EAAE,mBAAmB,CAAA;KAAE,CAAC;IAI9C,GAAG,CACD,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE;QACL,MAAM,EAAE,QAAQ,GAAG,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;QACrE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,EACD,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC;QAAE,SAAS,EAAE,mBAAmB,CAAA;KAAE,CAAC;IAK9C,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,mBAAmB,CAAA;KAAE,CAAC;IAI9E,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,OAAO,EAAE,CAAA;KAAE,CAAC;IAInF,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,mBAAmB,CAAA;KAAE,CAAC;IAM3E,gBAAgB,CACpB,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAO,GACpD,OAAO,CAAC,mBAAmB,CAAC;IAY/B,OAAO,CAAC,gBAAgB;YAoBV,OAAO;CAStB"}
@@ -0,0 +1,6 @@
1
+ export interface InitSdkOptions {
2
+ cwd?: string;
3
+ force?: boolean;
4
+ }
5
+ export declare function initSdk(options?: InitSdkOptions): Promise<string[]>;
6
+ //# sourceMappingURL=init.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/init.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,wBAAsB,OAAO,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CA0B7E"}
@@ -0,0 +1,94 @@
1
+ import type { AgentProvider, AgentRunResult, AgentStreamEvent, BranchStrategy, LoggingOptions, OutputSpec, RetentionPolicy, RunHooks, SandboxExecOptions, SandboxProvider, SandboxRuntime } from "./types.js";
2
+ export interface CreateSandboxOptions {
3
+ provider?: SandboxProvider;
4
+ sandbox?: SandboxProvider;
5
+ cwd?: string;
6
+ image?: string;
7
+ id?: string;
8
+ branch?: BranchStrategy;
9
+ branchStrategy?: BranchStrategy;
10
+ hooks?: RunHooks;
11
+ copyToWorktree?: string[];
12
+ retention?: RetentionPolicy;
13
+ env?: Record<string, string>;
14
+ mounts?: Array<{
15
+ source?: string;
16
+ resource?: string;
17
+ target: string;
18
+ readonly?: boolean;
19
+ }>;
20
+ network?: string | string[];
21
+ groups?: Array<string | number>;
22
+ devices?: string[];
23
+ cpus?: number;
24
+ memoryMb?: number;
25
+ pids?: number;
26
+ tmpfsMb?: number;
27
+ signal?: AbortSignal;
28
+ idempotencyKey?: string;
29
+ metadata?: Record<string, string>;
30
+ timeouts?: {
31
+ copyToWorktreeMs?: number;
32
+ gitSetupMs?: number;
33
+ commitCollectionMs?: number;
34
+ mergeToHostMs?: number;
35
+ };
36
+ }
37
+ export interface SandboxRunOptions<T = unknown> {
38
+ agent: AgentProvider;
39
+ prompt?: string;
40
+ promptFile?: string;
41
+ promptArgs?: Record<string, string>;
42
+ maxIterations?: number;
43
+ name?: string;
44
+ hooks?: RunHooks;
45
+ logging?: LoggingOptions;
46
+ completionSignal?: string | string[];
47
+ idleTimeoutSeconds?: number;
48
+ completionTimeoutSeconds?: number;
49
+ signal?: AbortSignal;
50
+ output?: OutputSpec<T>;
51
+ }
52
+ export type OneShotRunOptions<T = unknown> = CreateSandboxOptions & SandboxRunOptions<T>;
53
+ interface GitContext {
54
+ hostCwd: string;
55
+ runtimeCwd: string;
56
+ branch?: string;
57
+ worktree?: string;
58
+ mergeToHead?: boolean;
59
+ originalHead?: string;
60
+ }
61
+ export declare class SandblocksSandbox implements AsyncDisposable {
62
+ private readonly runtime;
63
+ private readonly options;
64
+ private readonly git;
65
+ readonly id: string;
66
+ readonly provider: string;
67
+ readonly cwd: string;
68
+ private failed;
69
+ private disposed;
70
+ private eventQueue;
71
+ private eventWaiters;
72
+ constructor(runtime: SandboxRuntime, options: CreateSandboxOptions, git: GitContext);
73
+ exec(command: string[], options?: SandboxExecOptions): Promise<import("./types.js").SandboxExecResult>;
74
+ upload(source: string, destination: string): Promise<void>;
75
+ download(source: string, destination: string): Promise<void>;
76
+ stop(reason?: string): Promise<void>;
77
+ events(options?: {
78
+ signal?: AbortSignal;
79
+ }): AsyncIterable<AgentStreamEvent>;
80
+ run<T = unknown>(options: SandboxRunOptions<T>): Promise<AgentRunResult<T>>;
81
+ destroy(): Promise<void>;
82
+ [Symbol.asyncDispose](): Promise<void>;
83
+ private publish;
84
+ }
85
+ export declare function createSandbox(options: CreateSandboxOptions): Promise<SandblocksSandbox>;
86
+ export declare function connectSandbox(options: {
87
+ provider: SandboxProvider;
88
+ id: string;
89
+ cwd?: string;
90
+ retention?: RetentionPolicy;
91
+ }): Promise<SandblocksSandbox>;
92
+ export declare function run<T = unknown>(options: OneShotRunOptions<T>): Promise<AgentRunResult<T>>;
93
+ export {};
94
+ //# sourceMappingURL=orchestration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orchestration.d.ts","sourceRoot":"","sources":["../../src/orchestration.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { OutputSpec, StandardSchema } from "./types.js";
2
+ export declare const Output: {
3
+ string(input: {
4
+ tag: string;
5
+ }): OutputSpec<string>;
6
+ object<T>(input: {
7
+ tag: string;
8
+ schema: StandardSchema<T>;
9
+ }): OutputSpec<T>;
10
+ };
11
+ export declare function extractOutput<T>(spec: OutputSpec<T>, text: string): Promise<T>;
12
+ //# sourceMappingURL=output.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/output.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE7D,eAAO,MAAM,MAAM;kBACH;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,UAAU,CAAC,MAAM,CAAC;WAG3C,CAAC,SAAS;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,CAAA;KAAE,GAAG,UAAU,CAAC,CAAC,CAAC;CAG5E,CAAC;AAEF,wBAAsB,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CA2BpF"}
@@ -0,0 +1,6 @@
1
+ import type { SandboxExecOptions, SandboxExecResult } from "./types.js";
2
+ export declare function executeProcess(command: string[], options?: SandboxExecOptions & {
3
+ hostCwd?: string;
4
+ }): Promise<SandboxExecResult>;
5
+ export declare function expandHome(path: string): string;
6
+ //# sourceMappingURL=process.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../src/process.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAExE,wBAAsB,cAAc,CAClC,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,GAAE,kBAAkB,GAAG;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAO,GACtD,OAAO,CAAC,iBAAiB,CAAC,CAsD5B;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAI/C"}
@@ -0,0 +1,15 @@
1
+ import type { SandboxCapabilities, SandboxCreateInput, SandboxProvider, SandboxReconnectInput, SandboxRuntime } from "../types.js";
2
+ export interface CustomSandboxProviderOptions {
3
+ kind: string;
4
+ capabilities: SandboxCapabilities;
5
+ create(input: SandboxCreateInput): Promise<SandboxRuntime>;
6
+ reconnect?(input: SandboxReconnectInput): Promise<SandboxRuntime>;
7
+ }
8
+ export declare function createSandboxProvider(options: CustomSandboxProviderOptions): SandboxProvider;
9
+ export declare function createBindMountSandboxProvider(options: Omit<CustomSandboxProviderOptions, "capabilities"> & {
10
+ capabilities?: Partial<SandboxCapabilities>;
11
+ }): SandboxProvider;
12
+ export declare function createIsolatedSandboxProvider(options: Omit<CustomSandboxProviderOptions, "capabilities"> & {
13
+ capabilities?: Partial<SandboxCapabilities>;
14
+ }): SandboxProvider;
15
+ //# sourceMappingURL=custom.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom.d.ts","sourceRoot":"","sources":["../../../src/providers/custom.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,qBAAqB,EACrB,cAAc,EACf,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,mBAAmB,CAAC;IAClC,MAAM,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAC3D,SAAS,CAAC,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;CACnE;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,4BAA4B,GAAG,eAAe,CAS5F;AAED,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,IAAI,CAAC,4BAA4B,EAAE,cAAc,CAAC,GAAG;IAC5D,YAAY,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;CAC7C,GACA,eAAe,CAejB;AAED,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,IAAI,CAAC,4BAA4B,EAAE,cAAc,CAAC,GAAG;IAC5D,YAAY,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;CAC7C,GACA,eAAe,CAejB"}
@@ -0,0 +1,7 @@
1
+ import { OciProvider, type OciProviderOptions } from "./oci.js";
2
+ export type DockerProviderOptions = OciProviderOptions;
3
+ export declare class DockerProvider extends OciProvider {
4
+ constructor(options?: DockerProviderOptions);
5
+ }
6
+ export declare function docker(options?: DockerProviderOptions): DockerProvider;
7
+ //# sourceMappingURL=docker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docker.d.ts","sourceRoot":"","sources":["../../../src/providers/docker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAEhE,MAAM,MAAM,qBAAqB,GAAG,kBAAkB,CAAC;AAEvD,qBAAa,cAAe,SAAQ,WAAW;gBACjC,OAAO,GAAE,qBAA0B;CAGhD;AAED,wBAAgB,MAAM,CAAC,OAAO,GAAE,qBAA0B,GAAG,cAAc,CAE1E"}
@@ -0,0 +1,37 @@
1
+ import { executeProcess } from "../process.js";
2
+ import type { SandboxCapabilities, SandboxCreateInput, SandboxExecOptions, SandboxMount, SandboxProvider, SandboxReconnectInput, SandboxRuntime } from "../types.js";
3
+ export interface OciProviderOptions {
4
+ image?: string;
5
+ commandRunner?: (command: string[], options: SandboxExecOptions) => Promise<Awaited<ReturnType<typeof executeProcess>>>;
6
+ binary?: string;
7
+ rootless?: boolean;
8
+ allowUnpinnedImages?: boolean;
9
+ containerUid?: number;
10
+ containerGid?: number;
11
+ mounts?: SandboxMount[];
12
+ env?: Record<string, string>;
13
+ network?: string | string[];
14
+ groups?: Array<string | number>;
15
+ devices?: string[];
16
+ cpus?: number;
17
+ memoryMb?: number;
18
+ pids?: number;
19
+ tmpfsMb?: number;
20
+ selinuxLabel?: "z" | "Z" | false;
21
+ readOnlyRoot?: boolean;
22
+ idleCommand?: string[];
23
+ }
24
+ export declare class OciProvider implements SandboxProvider {
25
+ readonly capabilities: SandboxCapabilities;
26
+ readonly kind: string;
27
+ protected readonly options: OciProviderOptions;
28
+ protected readonly binary: string;
29
+ constructor(kind: "docker" | "podman", options?: OciProviderOptions);
30
+ create(input: SandboxCreateInput): Promise<SandboxRuntime>;
31
+ reconnect(input: SandboxReconnectInput): Promise<SandboxRuntime>;
32
+ protected runtime(id: string, cwd: string): SandboxRuntime;
33
+ protected command(args: string[], options?: SandboxExecOptions, allowFailure?: boolean): Promise<import("../types.js").SandboxExecResult>;
34
+ protected inspect(id: string): Promise<boolean>;
35
+ protected preflight(): Promise<void>;
36
+ }
37
+ //# sourceMappingURL=oci.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oci.d.ts","sourceRoot":"","sources":["../../../src/providers/oci.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAc,MAAM,eAAe,CAAC;AAC3D,OAAO,KAAK,EACV,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,eAAe,EACf,qBAAqB,EACrB,cAAc,EACf,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,CACd,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,kBAAkB,KACxB,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC;IACzD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,YAAY,EAAE,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC5B,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,KAAK,CAAC;IACjC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAaD,qBAAa,WAAY,YAAW,eAAe;IACjD,QAAQ,CAAC,YAAY,sBAAgB;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IAC/C,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBAEtB,IAAI,EAAE,QAAQ,GAAG,QAAQ,EAAE,OAAO,GAAE,kBAAuB;IAMjE,MAAM,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,cAAc,CAAC;IA0E1D,SAAS,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,cAAc,CAAC;IAOtE,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,cAAc;cA+B1C,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,kBAAuB,EAAE,YAAY,UAAQ;cAY9E,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;cAIrC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;CAc3C"}
@@ -0,0 +1,7 @@
1
+ import { OciProvider, type OciProviderOptions } from "./oci.js";
2
+ export type PodmanProviderOptions = OciProviderOptions;
3
+ export declare class PodmanProvider extends OciProvider {
4
+ constructor(options?: PodmanProviderOptions);
5
+ }
6
+ export declare function podman(options?: PodmanProviderOptions): PodmanProvider;
7
+ //# sourceMappingURL=podman.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"podman.d.ts","sourceRoot":"","sources":["../../../src/providers/podman.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAEhE,MAAM,MAAM,qBAAqB,GAAG,kBAAkB,CAAC;AAEvD,qBAAa,cAAe,SAAQ,WAAW;gBACjC,OAAO,GAAE,qBAA0B;CAGhD;AAED,wBAAgB,MAAM,CAAC,OAAO,GAAE,qBAA0B,GAAG,cAAc,CAE1E"}
@@ -0,0 +1,31 @@
1
+ import type { SandboxCapabilities, SandboxCreateInput, SandboxProvider, SandboxRuntime } from "../types.js";
2
+ export interface RemoteSandblocksProviderOptions {
3
+ baseUrl: string;
4
+ apiKey: string;
5
+ projectId: string;
6
+ pool?: string;
7
+ workspaceImage?: string;
8
+ fetchImpl?: typeof fetch;
9
+ environmentId?: string;
10
+ stack?: string;
11
+ hostId?: string;
12
+ }
13
+ export declare class RemoteSandblocksProvider implements SandboxProvider {
14
+ private readonly options;
15
+ readonly kind = "remote";
16
+ readonly capabilities: SandboxCapabilities;
17
+ private readonly baseUrl;
18
+ private readonly fetchImpl;
19
+ constructor(options: RemoteSandblocksProviderOptions);
20
+ create(input: SandboxCreateInput): Promise<SandboxRuntime>;
21
+ reconnect(input: {
22
+ id: string;
23
+ cwd?: string;
24
+ }): Promise<SandboxRuntime>;
25
+ private runtime;
26
+ private waitExec;
27
+ private wait;
28
+ private request;
29
+ }
30
+ export declare function remoteSandblocks(options: RemoteSandblocksProviderOptions): RemoteSandblocksProvider;
31
+ //# sourceMappingURL=remote.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote.d.ts","sourceRoot":"","sources":["../../../src/providers/remote.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,mBAAmB,EACnB,kBAAkB,EAGlB,eAAe,EACf,cAAc,EACf,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,+BAA+B;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,wBAAyB,YAAW,eAAe;IAelD,OAAO,CAAC,QAAQ,CAAC,OAAO;IAdpC,QAAQ,CAAC,IAAI,YAAY;IACzB,QAAQ,CAAC,YAAY,EAAE,mBAAmB,CASxC;IACF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;gBAEZ,OAAO,EAAE,+BAA+B;IAM/D,MAAM,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,cAAc,CAAC;IA+C1D,SAAS,CAAC,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,cAAc,CAAC;IAM7E,OAAO,CAAC,OAAO;YA8FD,QAAQ;YAkDR,IAAI;YAKJ,OAAO;CAStB;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,+BAA+B,GAAG,wBAAwB,CAEnG"}
@@ -0,0 +1,14 @@
1
+ import type { SandboxCapabilities, SandboxCreateInput, SandboxProvider, SandboxRuntime } from "../types.js";
2
+ export interface UnsafeHostProviderOptions {
3
+ acknowledgeHostExecutionRisk: true;
4
+ env?: Record<string, string>;
5
+ }
6
+ export declare class UnsafeHostProvider implements SandboxProvider {
7
+ private readonly options;
8
+ readonly kind = "unsafe-host";
9
+ readonly capabilities: SandboxCapabilities;
10
+ constructor(options: UnsafeHostProviderOptions);
11
+ create(input: SandboxCreateInput): Promise<SandboxRuntime>;
12
+ }
13
+ export declare function unsafeHost(options: UnsafeHostProviderOptions): UnsafeHostProvider;
14
+ //# sourceMappingURL=unsafe-host.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unsafe-host.d.ts","sourceRoot":"","sources":["../../../src/providers/unsafe-host.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE5G,MAAM,WAAW,yBAAyB;IACxC,4BAA4B,EAAE,IAAI,CAAC;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAED,qBAAa,kBAAmB,YAAW,eAAe;IAa5C,OAAO,CAAC,QAAQ,CAAC,OAAO;IAZpC,QAAQ,CAAC,IAAI,iBAAiB;IAC9B,QAAQ,CAAC,YAAY,EAAE,mBAAmB,CASxC;gBAE2B,OAAO,EAAE,yBAAyB;IAKzD,MAAM,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,cAAc,CAAC;CAyBjE;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,yBAAyB,GAAG,kBAAkB,CAEjF"}