@douglas-agent/sandbank-core 0.3.6
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/README.md +71 -0
- package/dist/capabilities.d.ts +18 -0
- package/dist/capabilities.d.ts.map +1 -0
- package/dist/capabilities.js +58 -0
- package/dist/errors.d.ts +38 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +68 -0
- package/dist/file-helpers.d.ts +22 -0
- package/dist/file-helpers.d.ts.map +1 -0
- package/dist/file-helpers.js +136 -0
- package/dist/hooks.d.ts +78 -0
- package/dist/hooks.d.ts.map +1 -0
- package/dist/hooks.js +218 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +18 -0
- package/dist/observer.d.ts +32 -0
- package/dist/observer.d.ts.map +1 -0
- package/dist/observer.js +33 -0
- package/dist/provider.d.ts +8 -0
- package/dist/provider.d.ts.map +1 -0
- package/dist/provider.js +191 -0
- package/dist/sandbox-user.d.ts +15 -0
- package/dist/sandbox-user.d.ts.map +1 -0
- package/dist/sandbox-user.js +47 -0
- package/dist/session-types.d.ts +101 -0
- package/dist/session-types.d.ts.map +1 -0
- package/dist/session-types.js +1 -0
- package/dist/session.d.ts +3 -0
- package/dist/session.d.ts.map +1 -0
- package/dist/session.js +324 -0
- package/dist/skill-inject.d.ts +3 -0
- package/dist/skill-inject.d.ts.map +1 -0
- package/dist/skill-inject.js +23 -0
- package/dist/terminal.d.ts +8 -0
- package/dist/terminal.d.ts.map +1 -0
- package/dist/terminal.js +92 -0
- package/dist/types.d.ts +257 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/package.json +49 -0
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
export interface SandboxProvider {
|
|
2
|
+
/** Provider 标识,如 'daytona', 'flyio', 'cloudflare' */
|
|
3
|
+
readonly name: string;
|
|
4
|
+
/** 该 provider 支持的能力集 */
|
|
5
|
+
readonly capabilities: ReadonlySet<Capability>;
|
|
6
|
+
/** 创建一个新的沙箱 */
|
|
7
|
+
create(config: CreateConfig): Promise<Sandbox>;
|
|
8
|
+
/** 获取已存在的沙箱(不存在则抛 SandboxNotFoundError) */
|
|
9
|
+
get(id: string): Promise<Sandbox>;
|
|
10
|
+
/** 列出当前所有沙箱 */
|
|
11
|
+
list(filter?: ListFilter): Promise<SandboxInfo[]>;
|
|
12
|
+
/** 销毁沙箱(幂等:已销毁的不报错) */
|
|
13
|
+
destroy(id: string): Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
export interface SkillDefinition {
|
|
16
|
+
/** Skill 名称,用作文件名(不含 .md 后缀) */
|
|
17
|
+
name: string;
|
|
18
|
+
/** Skill 内容(markdown 文本) */
|
|
19
|
+
content: string;
|
|
20
|
+
}
|
|
21
|
+
export interface CreateConfig {
|
|
22
|
+
/** 容器镜像(如 'node:22-slim', 'ubuntu:24.04')。使用 snapshot 时可省略。 */
|
|
23
|
+
image?: string;
|
|
24
|
+
/** 环境变量注入 */
|
|
25
|
+
env?: Record<string, string>;
|
|
26
|
+
/** 资源配置(provider 会映射到最接近的规格) */
|
|
27
|
+
resources?: {
|
|
28
|
+
cpu?: number;
|
|
29
|
+
memory?: number;
|
|
30
|
+
disk?: number;
|
|
31
|
+
};
|
|
32
|
+
/** 区域偏好(provider 可忽略) */
|
|
33
|
+
region?: string;
|
|
34
|
+
/** 自动销毁时间(分钟)。0 或不设 = 不自动销毁 */
|
|
35
|
+
autoDestroyMinutes?: number;
|
|
36
|
+
/** 挂载的持久卷(需 provider 支持 'volumes' 能力) */
|
|
37
|
+
volumes?: Array<{
|
|
38
|
+
id: string;
|
|
39
|
+
mountPath: string;
|
|
40
|
+
}>;
|
|
41
|
+
/** 创建超时(秒)。默认由 provider 决定(Daytona 默认 60s) */
|
|
42
|
+
timeout?: number;
|
|
43
|
+
/**
|
|
44
|
+
* 注入到沙箱的 skill 文件列表。
|
|
45
|
+
* 每个 skill 会被写入沙箱的 `~/.claude/skills/` 目录。
|
|
46
|
+
*/
|
|
47
|
+
skills?: SkillDefinition[];
|
|
48
|
+
/** 绑定的服务。凭证自动注入为环境变量(需 provider 支持 'services' 能力) */
|
|
49
|
+
services?: ServiceBinding[];
|
|
50
|
+
/** 端口映射 [hostPort, guestPort][]。本地模式使用,将容器端口转发到宿主机端口 */
|
|
51
|
+
ports?: [number, number][];
|
|
52
|
+
/**
|
|
53
|
+
* 创建非 root 用户并以该用户身份执行命令。
|
|
54
|
+
* - string: 用户名(等价于 { name: 'xxx' })
|
|
55
|
+
* - object: 完整配置
|
|
56
|
+
* - 未设置: 保持 root(向后兼容)
|
|
57
|
+
*/
|
|
58
|
+
user?: string | SandboxUser;
|
|
59
|
+
}
|
|
60
|
+
export interface ListFilter {
|
|
61
|
+
state?: SandboxState | SandboxState[];
|
|
62
|
+
limit?: number;
|
|
63
|
+
}
|
|
64
|
+
export interface SandboxUser {
|
|
65
|
+
/** 用户名。默认: 'sandbank' */
|
|
66
|
+
name?: string;
|
|
67
|
+
/** 指定 UID。默认: 自动分配 */
|
|
68
|
+
uid?: number;
|
|
69
|
+
/** 是否授予 sudo 权限。默认: true */
|
|
70
|
+
sudo?: boolean;
|
|
71
|
+
}
|
|
72
|
+
export interface SandboxUserInfo {
|
|
73
|
+
/** 用户名 */
|
|
74
|
+
name: string;
|
|
75
|
+
/** Home 目录路径 */
|
|
76
|
+
home: string;
|
|
77
|
+
}
|
|
78
|
+
export interface Sandbox {
|
|
79
|
+
/** 沙箱唯一 ID */
|
|
80
|
+
readonly id: string;
|
|
81
|
+
/** 当前状态 */
|
|
82
|
+
readonly state: SandboxState;
|
|
83
|
+
/** 创建时间 */
|
|
84
|
+
readonly createdAt: string;
|
|
85
|
+
/** 非 root 用户信息(如已配置) */
|
|
86
|
+
readonly user?: SandboxUserInfo;
|
|
87
|
+
/** 执行命令,等待完成 */
|
|
88
|
+
exec(command: string, options?: ExecOptions): Promise<ExecResult>;
|
|
89
|
+
/** 写入单个文件 */
|
|
90
|
+
writeFile(path: string, content: string | Uint8Array): Promise<void>;
|
|
91
|
+
/** 读取单个文件 */
|
|
92
|
+
readFile(path: string): Promise<Uint8Array>;
|
|
93
|
+
/** 上传 tar.gz 归档并解压到指定目录 */
|
|
94
|
+
uploadArchive(archive: Uint8Array | ReadableStream, destDir?: string): Promise<void>;
|
|
95
|
+
/** 将指定目录打包为 tar.gz 下载 */
|
|
96
|
+
downloadArchive(srcDir?: string): Promise<ReadableStream>;
|
|
97
|
+
}
|
|
98
|
+
export type SandboxState = 'creating' | 'running' | 'stopped' | 'error' | 'terminated';
|
|
99
|
+
export interface ExecOptions {
|
|
100
|
+
/** 超时时间(毫秒),默认 120_000 */
|
|
101
|
+
timeout?: number;
|
|
102
|
+
/** 工作目录 */
|
|
103
|
+
cwd?: string;
|
|
104
|
+
/** 以 root 身份执行(仅在配置了 user 时有意义)。默认: false */
|
|
105
|
+
asRoot?: boolean;
|
|
106
|
+
}
|
|
107
|
+
export interface ExecResult {
|
|
108
|
+
stdout: string;
|
|
109
|
+
stderr: string;
|
|
110
|
+
exitCode: number;
|
|
111
|
+
}
|
|
112
|
+
export interface SandboxInfo {
|
|
113
|
+
id: string;
|
|
114
|
+
state: SandboxState;
|
|
115
|
+
createdAt: string;
|
|
116
|
+
image: string;
|
|
117
|
+
region?: string;
|
|
118
|
+
}
|
|
119
|
+
export type Capability = 'exec.stream' | 'terminal' | 'sleep' | 'volumes' | 'snapshot' | 'port.expose' | 'services';
|
|
120
|
+
export interface StreamableSandbox extends Sandbox {
|
|
121
|
+
execStream(command: string, options?: ExecOptions): Promise<ReadableStream<Uint8Array>>;
|
|
122
|
+
}
|
|
123
|
+
export interface TerminalSandbox extends Sandbox {
|
|
124
|
+
startTerminal(options?: TerminalOptions): Promise<TerminalInfo>;
|
|
125
|
+
}
|
|
126
|
+
export interface TerminalOptions {
|
|
127
|
+
shell?: string;
|
|
128
|
+
hostname?: string;
|
|
129
|
+
}
|
|
130
|
+
export interface TerminalInfo {
|
|
131
|
+
url: string;
|
|
132
|
+
port: number;
|
|
133
|
+
}
|
|
134
|
+
export interface Disposable {
|
|
135
|
+
dispose(): void;
|
|
136
|
+
}
|
|
137
|
+
export interface TerminalSession {
|
|
138
|
+
/** 向 PTY 发送输入 */
|
|
139
|
+
write(data: string): void;
|
|
140
|
+
/** 监听 PTY 输出 */
|
|
141
|
+
onData(cb: (data: string) => void): Disposable;
|
|
142
|
+
/** 调整终端尺寸 */
|
|
143
|
+
resize(cols: number, rows: number): void;
|
|
144
|
+
/** 关闭连接 */
|
|
145
|
+
close(): void;
|
|
146
|
+
/** 连接状态 */
|
|
147
|
+
readonly state: 'connecting' | 'open' | 'closed';
|
|
148
|
+
/** 连接打开时 resolve */
|
|
149
|
+
readonly ready: Promise<void>;
|
|
150
|
+
}
|
|
151
|
+
export interface SleepableSandbox extends Sandbox {
|
|
152
|
+
sleep(): Promise<void>;
|
|
153
|
+
wake(): Promise<void>;
|
|
154
|
+
}
|
|
155
|
+
export interface PortExposeSandbox extends Sandbox {
|
|
156
|
+
exposePort(port: number, options?: {
|
|
157
|
+
hostname?: string;
|
|
158
|
+
}): Promise<{
|
|
159
|
+
url: string;
|
|
160
|
+
}>;
|
|
161
|
+
}
|
|
162
|
+
export interface SnapshotSandbox extends Sandbox {
|
|
163
|
+
createSnapshot(name?: string): Promise<{
|
|
164
|
+
snapshotId: string;
|
|
165
|
+
}>;
|
|
166
|
+
restoreSnapshot(snapshotId: string): Promise<void>;
|
|
167
|
+
}
|
|
168
|
+
export interface VolumeProvider extends SandboxProvider {
|
|
169
|
+
createVolume(config: VolumeConfig): Promise<VolumeInfo>;
|
|
170
|
+
deleteVolume(id: string): Promise<void>;
|
|
171
|
+
listVolumes(): Promise<VolumeInfo[]>;
|
|
172
|
+
}
|
|
173
|
+
export interface VolumeConfig {
|
|
174
|
+
name: string;
|
|
175
|
+
region?: string;
|
|
176
|
+
sizeGB?: number;
|
|
177
|
+
}
|
|
178
|
+
export interface VolumeInfo {
|
|
179
|
+
id: string;
|
|
180
|
+
name: string;
|
|
181
|
+
sizeGB: number;
|
|
182
|
+
attachedTo: string | null;
|
|
183
|
+
}
|
|
184
|
+
export type ServiceType = 'postgres';
|
|
185
|
+
export interface ServiceConfig {
|
|
186
|
+
/** 服务类型 */
|
|
187
|
+
type: ServiceType;
|
|
188
|
+
/** 服务名称 */
|
|
189
|
+
name: string;
|
|
190
|
+
/** 区域偏好(provider 可忽略) */
|
|
191
|
+
region?: string;
|
|
192
|
+
}
|
|
193
|
+
export interface ServiceCredentials {
|
|
194
|
+
/** 主连接 URL(如 postgres://...) */
|
|
195
|
+
url: string;
|
|
196
|
+
/** 注入到 sandbox 的环境变量映射 */
|
|
197
|
+
env: Record<string, string>;
|
|
198
|
+
}
|
|
199
|
+
export interface ServiceInfo {
|
|
200
|
+
id: string;
|
|
201
|
+
type: ServiceType;
|
|
202
|
+
name: string;
|
|
203
|
+
state: 'creating' | 'ready' | 'error' | 'terminated';
|
|
204
|
+
credentials: ServiceCredentials;
|
|
205
|
+
}
|
|
206
|
+
export interface ServiceProvider extends SandboxProvider {
|
|
207
|
+
createService(config: ServiceConfig): Promise<ServiceInfo>;
|
|
208
|
+
getService(id: string): Promise<ServiceInfo>;
|
|
209
|
+
listServices(): Promise<ServiceInfo[]>;
|
|
210
|
+
destroyService(id: string): Promise<void>;
|
|
211
|
+
}
|
|
212
|
+
export interface ServiceBinding {
|
|
213
|
+
/** Service ID */
|
|
214
|
+
id: string;
|
|
215
|
+
/** 环境变量前缀。默认无前缀(直接用 DATABASE_URL 等)。
|
|
216
|
+
* 设为 'BRAIN' 则注入 BRAIN_DATABASE_URL 等 */
|
|
217
|
+
envPrefix?: string;
|
|
218
|
+
}
|
|
219
|
+
export interface SandboxAdapter {
|
|
220
|
+
readonly name: string;
|
|
221
|
+
readonly capabilities: ReadonlySet<Capability>;
|
|
222
|
+
createSandbox(config: CreateConfig): Promise<AdapterSandbox>;
|
|
223
|
+
getSandbox(id: string): Promise<AdapterSandbox>;
|
|
224
|
+
listSandboxes(filter?: ListFilter): Promise<SandboxInfo[]>;
|
|
225
|
+
destroySandbox(id: string): Promise<void>;
|
|
226
|
+
createVolume?(config: VolumeConfig): Promise<VolumeInfo>;
|
|
227
|
+
deleteVolume?(id: string): Promise<void>;
|
|
228
|
+
listVolumes?(): Promise<VolumeInfo[]>;
|
|
229
|
+
createService?(config: ServiceConfig): Promise<ServiceInfo>;
|
|
230
|
+
getService?(id: string): Promise<ServiceInfo>;
|
|
231
|
+
listServices?(): Promise<ServiceInfo[]>;
|
|
232
|
+
destroyService?(id: string): Promise<void>;
|
|
233
|
+
}
|
|
234
|
+
export interface AdapterSandbox {
|
|
235
|
+
id: string;
|
|
236
|
+
state: SandboxState;
|
|
237
|
+
createdAt: string;
|
|
238
|
+
exec(command: string, options?: ExecOptions): Promise<ExecResult>;
|
|
239
|
+
writeFile?(path: string, content: string | Uint8Array): Promise<void>;
|
|
240
|
+
readFile?(path: string): Promise<Uint8Array>;
|
|
241
|
+
uploadArchive?(archive: Uint8Array | ReadableStream, destDir?: string): Promise<void>;
|
|
242
|
+
downloadArchive?(srcDir?: string): Promise<ReadableStream>;
|
|
243
|
+
execStream?(command: string, options?: ExecOptions): Promise<ReadableStream<Uint8Array>>;
|
|
244
|
+
sleep?(): Promise<void>;
|
|
245
|
+
wake?(): Promise<void>;
|
|
246
|
+
startTerminal?(options?: TerminalOptions): Promise<TerminalInfo>;
|
|
247
|
+
exposePort?(port: number, options?: {
|
|
248
|
+
hostname?: string;
|
|
249
|
+
}): Promise<{
|
|
250
|
+
url: string;
|
|
251
|
+
}>;
|
|
252
|
+
createSnapshot?(name?: string): Promise<{
|
|
253
|
+
snapshotId: string;
|
|
254
|
+
}>;
|
|
255
|
+
restoreSnapshot?(snapshotId: string): Promise<void>;
|
|
256
|
+
}
|
|
257
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
ADDED
package/package.json
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@douglas-agent/sandbank-core",
|
|
3
|
+
"version": "0.3.6",
|
|
4
|
+
"description": "Unified sandbox SDK for AI agents — provider abstraction, capability system, and error types",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"homepage": "https://sandbank.dev",
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "https://github.com/Xeonice/sandbank-douglas-agent.git",
|
|
11
|
+
"directory": "packages/core"
|
|
12
|
+
},
|
|
13
|
+
"keywords": [
|
|
14
|
+
"sandbox",
|
|
15
|
+
"ai-agent",
|
|
16
|
+
"cloud",
|
|
17
|
+
"provider",
|
|
18
|
+
"sdk"
|
|
19
|
+
],
|
|
20
|
+
"exports": {
|
|
21
|
+
".": {
|
|
22
|
+
"types": "./dist/index.d.ts",
|
|
23
|
+
"import": "./dist/index.js"
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"files": [
|
|
27
|
+
"dist"
|
|
28
|
+
],
|
|
29
|
+
"scripts": {
|
|
30
|
+
"build": "tsc",
|
|
31
|
+
"typecheck": "tsc --noEmit",
|
|
32
|
+
"clean": "rm -rf dist"
|
|
33
|
+
},
|
|
34
|
+
"peerDependencies": {
|
|
35
|
+
"@douglas-agent/sandbank-relay": "^0.2.1"
|
|
36
|
+
},
|
|
37
|
+
"peerDependenciesMeta": {
|
|
38
|
+
"@douglas-agent/sandbank-relay": {
|
|
39
|
+
"optional": true
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
"devDependencies": {
|
|
43
|
+
"@douglas-agent/sandbank-relay": "^0.2.1",
|
|
44
|
+
"@types/node": "^22.15.0",
|
|
45
|
+
"typescript": "^5.7.3",
|
|
46
|
+
"ws": "^8.18.0",
|
|
47
|
+
"@types/ws": "^8.18.0"
|
|
48
|
+
}
|
|
49
|
+
}
|