@cloudbase/manager-node 5.5.2-beta.0 → 5.5.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.
- package/jest.config.js +1 -1
- package/lib/environment.js +0 -5
- package/lib/index.js +0 -3
- package/lib/user/index.js +3 -1
- package/package.json +1 -1
- package/types/environment.d.ts +0 -3
- package/types/index.d.ts +0 -2
- package/types/user/types.d.ts +1 -0
- package/lib/talosSandbox/index.js +0 -1121
- package/lib/talosSandbox/type.js +0 -3
- package/types/talosSandbox/index.d.ts +0 -182
- package/types/talosSandbox/type.d.ts +0 -689
|
@@ -1,689 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CreateSandbox 请求参数
|
|
3
|
-
*/
|
|
4
|
-
export interface CreateSandboxOptions {
|
|
5
|
-
/**
|
|
6
|
-
* Talos 鉴权 Token,不传则从环境变量读取
|
|
7
|
-
* 支持三种类型(按前缀自动识别 Header):
|
|
8
|
-
* - admin_talos_* → X-Admin-Token
|
|
9
|
-
* - talos_* → X-API-Key
|
|
10
|
-
* - sk_talos_* → Authorization: Bearer
|
|
11
|
-
*/
|
|
12
|
-
token?: string;
|
|
13
|
-
/** 模板 ID(或池 ID) */
|
|
14
|
-
templateID: string;
|
|
15
|
-
/** 是否允许沙箱访问互联网 */
|
|
16
|
-
allow_internet_access?: boolean;
|
|
17
|
-
/** 超时后是否自动暂停 */
|
|
18
|
-
autoPause?: boolean;
|
|
19
|
-
/** 挂起时收到流量是否自动恢复 */
|
|
20
|
-
autoResume?: boolean;
|
|
21
|
-
/** 沙箱环境变量 */
|
|
22
|
-
envVars?: Record<string, string>;
|
|
23
|
-
/** 沙箱元数据 */
|
|
24
|
-
metadata?: Record<string, string>;
|
|
25
|
-
/** 是否加密系统通信 */
|
|
26
|
-
secure?: boolean;
|
|
27
|
-
/** 沙箱存活时间(秒),>= 0 */
|
|
28
|
-
timeout?: number;
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* CreateSandbox 返回结果
|
|
32
|
-
*/
|
|
33
|
-
export interface CreateSandboxResp {
|
|
34
|
-
/** 已废弃,请使用 templateID */
|
|
35
|
-
clientID?: string;
|
|
36
|
-
/** 沙箱内 envd 版本 */
|
|
37
|
-
envdVersion: string;
|
|
38
|
-
/** 沙箱唯一标识 */
|
|
39
|
-
sandboxID: string;
|
|
40
|
-
/** 沙箱所属池 ID */
|
|
41
|
-
templateID: string;
|
|
42
|
-
/** 沙箱流量访问地址,可能为 null */
|
|
43
|
-
domain?: string | null;
|
|
44
|
-
/** envd 访问令牌,可能为 null */
|
|
45
|
-
envdAccessToken?: string | null;
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* ListSandboxes 请求参数
|
|
49
|
-
*/
|
|
50
|
-
export interface ListSandboxesOptions {
|
|
51
|
-
/**
|
|
52
|
-
* Talos 鉴权 Token,不传则从环境变量读取
|
|
53
|
-
* 支持三种类型(按前缀自动识别 Header):
|
|
54
|
-
* - admin_talos_* → X-Admin-Token
|
|
55
|
-
* - talos_* → X-API-Key
|
|
56
|
-
* - sk_talos_* → Authorization: Bearer
|
|
57
|
-
*/
|
|
58
|
-
token?: string;
|
|
59
|
-
/** 按沙箱状态过滤,可传多个值(如 ['running', 'paused']) */
|
|
60
|
-
state?: SandboxState[];
|
|
61
|
-
/** 返回的最大数量,最小为 1 */
|
|
62
|
-
limit?: number;
|
|
63
|
-
/** 分页游标(尚未实现) */
|
|
64
|
-
nextToken?: string;
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* 沙箱状态
|
|
68
|
-
*/
|
|
69
|
-
export type SandboxState = 'running' | 'paused';
|
|
70
|
-
/**
|
|
71
|
-
* 沙箱运行信息
|
|
72
|
-
*/
|
|
73
|
-
export interface ListedSandbox {
|
|
74
|
-
/** 已废弃,请使用 templateID */
|
|
75
|
-
clientID?: string;
|
|
76
|
-
/** CPU 核数 */
|
|
77
|
-
cpuCount: number;
|
|
78
|
-
/** 磁盘大小(MiB) */
|
|
79
|
-
diskSizeMB: number;
|
|
80
|
-
/** 过期时间(RFC 3339) */
|
|
81
|
-
endAt: string;
|
|
82
|
-
/** envd 版本 */
|
|
83
|
-
envdVersion: string;
|
|
84
|
-
/** 内存大小(MiB) */
|
|
85
|
-
memoryMB: number;
|
|
86
|
-
/** 沙箱唯一标识 */
|
|
87
|
-
sandboxID: string;
|
|
88
|
-
/** 启动时间(RFC 3339) */
|
|
89
|
-
startedAt: string;
|
|
90
|
-
/** 沙箱状态 */
|
|
91
|
-
state: SandboxState;
|
|
92
|
-
/** 池/模板 ID */
|
|
93
|
-
templateID: string;
|
|
94
|
-
/** 沙箱别名 */
|
|
95
|
-
alias?: string | null;
|
|
96
|
-
/** 是否允许互联网访问 */
|
|
97
|
-
allowInternetAccess?: boolean | null;
|
|
98
|
-
/** 生命周期策略(保留字段,始终为 null) */
|
|
99
|
-
lifecycle?: object | null;
|
|
100
|
-
/** 沙箱元数据 */
|
|
101
|
-
metadata?: Record<string, string>;
|
|
102
|
-
/** 网络配置(保留字段,始终为 null) */
|
|
103
|
-
network?: object | null;
|
|
104
|
-
/** 挂载卷列表 */
|
|
105
|
-
volumeMounts?: VolumeMount[];
|
|
106
|
-
}
|
|
107
|
-
/**
|
|
108
|
-
* 挂载卷
|
|
109
|
-
*/
|
|
110
|
-
export interface VolumeMount {
|
|
111
|
-
/** 卷名 */
|
|
112
|
-
name: string;
|
|
113
|
-
/** 挂载路径 */
|
|
114
|
-
mountPath: string;
|
|
115
|
-
}
|
|
116
|
-
/**
|
|
117
|
-
* 日志级别
|
|
118
|
-
*/
|
|
119
|
-
export type LogLevel = 'debug' | 'info' | 'warn' | 'error';
|
|
120
|
-
/**
|
|
121
|
-
* 日志排序方向
|
|
122
|
-
*/
|
|
123
|
-
export type LogDirection = 'forward' | 'backward';
|
|
124
|
-
/**
|
|
125
|
-
* GetSandboxLogs 请求参数
|
|
126
|
-
*/
|
|
127
|
-
export interface GetSandboxLogsOptions {
|
|
128
|
-
/**
|
|
129
|
-
* Talos 鉴权 Token,不传则从环境变量读取
|
|
130
|
-
* 支持三种类型(按前缀自动识别 Header):
|
|
131
|
-
* - admin_talos_* → X-Admin-Token
|
|
132
|
-
* - talos_* → X-API-Key
|
|
133
|
-
* - sk_talos_* → Authorization: Bearer
|
|
134
|
-
*/
|
|
135
|
-
token?: string;
|
|
136
|
-
/** 沙箱 ID */
|
|
137
|
-
sandboxID: string;
|
|
138
|
-
/** 起始时间戳(毫秒),最小为 0 */
|
|
139
|
-
cursor?: number;
|
|
140
|
-
/** 返回的最大数量,0-1000 */
|
|
141
|
-
limit?: number;
|
|
142
|
-
/** 日志排序方向 */
|
|
143
|
-
direction?: LogDirection;
|
|
144
|
-
/** 日志级别过滤 */
|
|
145
|
-
level?: LogLevel;
|
|
146
|
-
/** 搜索关键字,大小写敏感的子串匹配,最大长度 256 */
|
|
147
|
-
search?: string;
|
|
148
|
-
}
|
|
149
|
-
/**
|
|
150
|
-
* 日志条目字段
|
|
151
|
-
*/
|
|
152
|
-
export interface SandboxLogFields {
|
|
153
|
-
[key: string]: string;
|
|
154
|
-
}
|
|
155
|
-
/**
|
|
156
|
-
* 单条日志条目
|
|
157
|
-
*/
|
|
158
|
-
export interface SandboxLogEntry {
|
|
159
|
-
/** 日志附加字段 */
|
|
160
|
-
fields?: SandboxLogFields;
|
|
161
|
-
/** 日志级别 */
|
|
162
|
-
level: LogLevel;
|
|
163
|
-
/** 日志消息 */
|
|
164
|
-
message: string;
|
|
165
|
-
/** 时间戳(RFC 3339) */
|
|
166
|
-
timestamp: string;
|
|
167
|
-
}
|
|
168
|
-
/**
|
|
169
|
-
* GetSandboxLogs 返回结果
|
|
170
|
-
*/
|
|
171
|
-
export interface SandboxLogsV2Response {
|
|
172
|
-
/** 日志条目列表 */
|
|
173
|
-
logs: SandboxLogEntry[];
|
|
174
|
-
}
|
|
175
|
-
/**
|
|
176
|
-
* GetSandboxesMetrics 请求参数
|
|
177
|
-
*/
|
|
178
|
-
export interface GetSandboxesMetricsOptions {
|
|
179
|
-
/**
|
|
180
|
-
* Talos 鉴权 Token,不传则从环境变量读取
|
|
181
|
-
* 支持三种类型(按前缀自动识别 Header):
|
|
182
|
-
* - admin_talos_* → X-Admin-Token
|
|
183
|
-
* - talos_* → X-API-Key
|
|
184
|
-
* - sk_talos_* → Authorization: Bearer
|
|
185
|
-
*/
|
|
186
|
-
token?: string;
|
|
187
|
-
/** 沙箱 ID 列表,最多 100 个 */
|
|
188
|
-
sandboxIDs: string[];
|
|
189
|
-
}
|
|
190
|
-
/**
|
|
191
|
-
* 单个沙箱的指标数据
|
|
192
|
-
*/
|
|
193
|
-
export interface SandboxMetrics {
|
|
194
|
-
/** 指标时间戳(RFC 3339) */
|
|
195
|
-
timestamp: string;
|
|
196
|
-
/** Unix 时间戳(秒) */
|
|
197
|
-
timestampUnix: number;
|
|
198
|
-
/** CPU 核数 */
|
|
199
|
-
cpuCount: number;
|
|
200
|
-
/** CPU 使用率百分比 */
|
|
201
|
-
cpuUsedPct: number;
|
|
202
|
-
/** 已用内存(字节) */
|
|
203
|
-
memUsed: number;
|
|
204
|
-
/** 总内存(字节) */
|
|
205
|
-
memTotal: number;
|
|
206
|
-
/** 已用磁盘(字节) */
|
|
207
|
-
diskUsed: number;
|
|
208
|
-
/** 总磁盘(字节) */
|
|
209
|
-
diskTotal: number;
|
|
210
|
-
}
|
|
211
|
-
/**
|
|
212
|
-
* GetSandboxesMetrics 返回结果
|
|
213
|
-
*/
|
|
214
|
-
export interface SandboxesWithMetrics {
|
|
215
|
-
/** 以 sandboxID 为 key 的指标映射 */
|
|
216
|
-
sandboxes: Record<string, SandboxMetrics>;
|
|
217
|
-
}
|
|
218
|
-
/**
|
|
219
|
-
* GetSandboxDetail 请求参数
|
|
220
|
-
*/
|
|
221
|
-
export interface GetSandboxDetailOptions {
|
|
222
|
-
/**
|
|
223
|
-
* Talos 鉴权 Token,不传则从环境变量读取
|
|
224
|
-
* 支持三种类型(按前缀自动识别 Header):
|
|
225
|
-
* - admin_talos_* → X-Admin-Token
|
|
226
|
-
* - talos_* → X-API-Key
|
|
227
|
-
* - sk_talos_* → Authorization: Bearer
|
|
228
|
-
*/
|
|
229
|
-
token?: string;
|
|
230
|
-
/** 沙箱 ID */
|
|
231
|
-
sandboxID: string;
|
|
232
|
-
}
|
|
233
|
-
/**
|
|
234
|
-
* 沙箱详情(在 ListedSandbox 基础上增加了 domain 和 envdAccessToken)
|
|
235
|
-
*/
|
|
236
|
-
export interface SandboxDetail extends ListedSandbox {
|
|
237
|
-
/** 沙箱流量访问地址 */
|
|
238
|
-
domain?: string | null;
|
|
239
|
-
/** envd 访问令牌 */
|
|
240
|
-
envdAccessToken?: string | null;
|
|
241
|
-
}
|
|
242
|
-
/**
|
|
243
|
-
* DestroySandbox 请求参数
|
|
244
|
-
*/
|
|
245
|
-
export interface DestroySandboxOptions {
|
|
246
|
-
/**
|
|
247
|
-
* Talos 鉴权 Token,不传则从环境变量读取
|
|
248
|
-
* 支持三种类型(按前缀自动识别 Header):
|
|
249
|
-
* - admin_talos_* → X-Admin-Token
|
|
250
|
-
* - talos_* → X-API-Key
|
|
251
|
-
* - sk_talos_* → Authorization: Bearer
|
|
252
|
-
*/
|
|
253
|
-
token?: string;
|
|
254
|
-
/** 沙箱 ID */
|
|
255
|
-
sandboxID: string;
|
|
256
|
-
}
|
|
257
|
-
/**
|
|
258
|
-
* ListSandboxSnapshots 请求参数
|
|
259
|
-
*/
|
|
260
|
-
export interface ListSandboxSnapshotsOptions {
|
|
261
|
-
/**
|
|
262
|
-
* Talos 鉴权 Token,不传则从环境变量读取
|
|
263
|
-
* 支持三种类型(按前缀自动识别 Header):
|
|
264
|
-
* - admin_talos_* → X-Admin-Token
|
|
265
|
-
* - talos_* → X-API-Key
|
|
266
|
-
* - sk_talos_* → Authorization: Bearer
|
|
267
|
-
*/
|
|
268
|
-
token?: string;
|
|
269
|
-
/** 沙箱 ID */
|
|
270
|
-
sandboxID: string;
|
|
271
|
-
}
|
|
272
|
-
/**
|
|
273
|
-
* 快照触发来源
|
|
274
|
-
*/
|
|
275
|
-
export type SnapshotTriggerSource = 'pause' | 'rsync' | 'clone';
|
|
276
|
-
/**
|
|
277
|
-
* 单个快照信息
|
|
278
|
-
*/
|
|
279
|
-
export interface SandboxSnapshot {
|
|
280
|
-
/** 快照 ID,格式:YYYYMMDDTHHMMSSZ */
|
|
281
|
-
snapshotId: string;
|
|
282
|
-
/** 触发来源 */
|
|
283
|
-
triggerSource: SnapshotTriggerSource;
|
|
284
|
-
/** 快照大小(字节) */
|
|
285
|
-
sizeBytes: number;
|
|
286
|
-
/** SHA256 哈希值(十六进制),旧脚本生成时可能为空字符串 */
|
|
287
|
-
sha256: string;
|
|
288
|
-
/** 创建时间(RFC 3339,UTC) */
|
|
289
|
-
createdAt: string;
|
|
290
|
-
}
|
|
291
|
-
/**
|
|
292
|
-
* ListSandboxSnapshots 返回结果
|
|
293
|
-
*/
|
|
294
|
-
export interface SandboxSnapshotList {
|
|
295
|
-
/** 最新的快照,可能为 null */
|
|
296
|
-
latest: SandboxSnapshot | null;
|
|
297
|
-
/** 快照历史列表,最新在前,最多保留 3 条 */
|
|
298
|
-
history: SandboxSnapshot[];
|
|
299
|
-
}
|
|
300
|
-
/**
|
|
301
|
-
* CreateSandboxSnapshot 请求参数
|
|
302
|
-
*/
|
|
303
|
-
export interface CreateSandboxSnapshotOptions {
|
|
304
|
-
/**
|
|
305
|
-
* Talos 鉴权 Token,不传则从环境变量读取
|
|
306
|
-
* 支持三种类型(按前缀自动识别 Header):
|
|
307
|
-
* - admin_talos_* → X-Admin-Token
|
|
308
|
-
* - talos_* → X-API-Key
|
|
309
|
-
* - sk_talos_* → Authorization: Bearer
|
|
310
|
-
*/
|
|
311
|
-
token?: string;
|
|
312
|
-
/** 沙箱 ID */
|
|
313
|
-
sandboxID: string;
|
|
314
|
-
}
|
|
315
|
-
/**
|
|
316
|
-
* 快照被拒绝的错误(409)
|
|
317
|
-
* 可能原因:池类型不支持快照、沙箱非运行状态、冷却时间未过
|
|
318
|
-
*/
|
|
319
|
-
export interface SnapshotRejectedError {
|
|
320
|
-
/** 错误码 */
|
|
321
|
-
code: number;
|
|
322
|
-
/** 错误消息 */
|
|
323
|
-
message: string;
|
|
324
|
-
/** 冷却剩余时间(秒) */
|
|
325
|
-
retry_after_seconds?: number;
|
|
326
|
-
}
|
|
327
|
-
/**
|
|
328
|
-
* ListAllSnapshots 请求参数
|
|
329
|
-
*/
|
|
330
|
-
export interface ListAllSnapshotsOptions {
|
|
331
|
-
/**
|
|
332
|
-
* Talos 鉴权 Token,不传则从环境变量读取
|
|
333
|
-
* 支持三种类型(按前缀自动识别 Header):
|
|
334
|
-
* - admin_talos_* → X-Admin-Token
|
|
335
|
-
* - talos_* → X-API-Key
|
|
336
|
-
* - sk_talos_* → Authorization: Bearer
|
|
337
|
-
*/
|
|
338
|
-
token?: string;
|
|
339
|
-
/** 按源沙箱 ID 过滤 */
|
|
340
|
-
sandboxID?: string;
|
|
341
|
-
/** 返回的最大数量,1-100 */
|
|
342
|
-
limit?: number;
|
|
343
|
-
}
|
|
344
|
-
/**
|
|
345
|
-
* PauseSandbox 请求参数
|
|
346
|
-
*/
|
|
347
|
-
export interface PauseSandboxOptions {
|
|
348
|
-
/**
|
|
349
|
-
* Talos 鉴权 Token,不传则从环境变量读取
|
|
350
|
-
* 支持三种类型(按前缀自动识别 Header):
|
|
351
|
-
* - admin_talos_* → X-Admin-Token
|
|
352
|
-
* - talos_* → X-API-Key
|
|
353
|
-
* - sk_talos_* → Authorization: Bearer
|
|
354
|
-
*/
|
|
355
|
-
token?: string;
|
|
356
|
-
/** 沙箱 ID */
|
|
357
|
-
sandboxID: string;
|
|
358
|
-
}
|
|
359
|
-
/**
|
|
360
|
-
* CloneSandbox 请求参数
|
|
361
|
-
*/
|
|
362
|
-
export interface CloneSandboxOptions {
|
|
363
|
-
/**
|
|
364
|
-
* Talos 鉴权 Token,不传则从环境变量读取
|
|
365
|
-
* 支持三种类型(按前缀自动识别 Header):
|
|
366
|
-
* - admin_talos_* → X-Admin-Token
|
|
367
|
-
* - talos_* → X-API-Key
|
|
368
|
-
* - sk_talos_* → Authorization: Bearer
|
|
369
|
-
*/
|
|
370
|
-
token?: string;
|
|
371
|
-
/** 源沙箱 ID(必须为已暂停的 s3-hybrid 沙箱) */
|
|
372
|
-
sandboxID: string;
|
|
373
|
-
/** 克隆数量,1-32 */
|
|
374
|
-
count: number;
|
|
375
|
-
}
|
|
376
|
-
/**
|
|
377
|
-
* 克隆出的沙箱占位信息(PENDING 状态)
|
|
378
|
-
*/
|
|
379
|
-
export interface ClonedSandbox {
|
|
380
|
-
/** envd 版本 */
|
|
381
|
-
envdVersion: string;
|
|
382
|
-
/** 沙箱 ID */
|
|
383
|
-
sandboxID: string;
|
|
384
|
-
/** 池/模板 ID */
|
|
385
|
-
templateID: string;
|
|
386
|
-
/** 沙箱流量访问地址 */
|
|
387
|
-
domain?: string | null;
|
|
388
|
-
/** envd 访问令牌 */
|
|
389
|
-
envdAccessToken?: string | null;
|
|
390
|
-
}
|
|
391
|
-
/**
|
|
392
|
-
* CloneSandbox 返回结果
|
|
393
|
-
*/
|
|
394
|
-
export interface CloneSandboxResponse {
|
|
395
|
-
/** 源沙箱 ID */
|
|
396
|
-
sourceSandboxID: string;
|
|
397
|
-
/** 克隆出的沙箱列表(PENDING 状态) */
|
|
398
|
-
sandboxes: ClonedSandbox[];
|
|
399
|
-
}
|
|
400
|
-
/**
|
|
401
|
-
* ConnectSandbox 请求参数
|
|
402
|
-
*/
|
|
403
|
-
export interface ConnectSandboxOptions {
|
|
404
|
-
/**
|
|
405
|
-
* Talos 鉴权 Token,不传则从环境变量读取
|
|
406
|
-
* 支持三种类型(按前缀自动识别 Header):
|
|
407
|
-
* - admin_talos_* → X-Admin-Token
|
|
408
|
-
* - talos_* → X-API-Key
|
|
409
|
-
* - sk_talos_* → Authorization: Bearer
|
|
410
|
-
*/
|
|
411
|
-
token?: string;
|
|
412
|
-
/** 沙箱 ID */
|
|
413
|
-
sandboxID: string;
|
|
414
|
-
/** 超时时间(秒),从当前时间起沙箱过期的时间,>= 0 */
|
|
415
|
-
timeout: number;
|
|
416
|
-
}
|
|
417
|
-
/**
|
|
418
|
-
* GetSandboxMetrics 请求参数
|
|
419
|
-
*/
|
|
420
|
-
export interface GetSandboxMetricsOptions {
|
|
421
|
-
/**
|
|
422
|
-
* Talos 鉴权 Token,不传则从环境变量读取
|
|
423
|
-
* 支持三种类型(按前缀自动识别 Header):
|
|
424
|
-
* - admin_talos_* → X-Admin-Token
|
|
425
|
-
* - talos_* → X-API-Key
|
|
426
|
-
* - sk_talos_* → Authorization: Bearer
|
|
427
|
-
*/
|
|
428
|
-
token?: string;
|
|
429
|
-
/** 沙箱 ID */
|
|
430
|
-
sandboxID: string;
|
|
431
|
-
/** 时间区间起始(Unix 秒),当前被忽略但保留 */
|
|
432
|
-
start?: number;
|
|
433
|
-
/** 时间区间结束(Unix 秒),当前被忽略但保留 */
|
|
434
|
-
end?: number;
|
|
435
|
-
}
|
|
436
|
-
/**
|
|
437
|
-
* UpdateSandboxTimeout 请求参数
|
|
438
|
-
*/
|
|
439
|
-
export interface UpdateSandboxTimeoutOptions {
|
|
440
|
-
/**
|
|
441
|
-
* Talos 鉴权 Token,不传则从环境变量读取
|
|
442
|
-
* 支持三种类型(按前缀自动识别 Header):
|
|
443
|
-
* - admin_talos_* → X-Admin-Token
|
|
444
|
-
* - talos_* → X-API-Key
|
|
445
|
-
* - sk_talos_* → Authorization: Bearer
|
|
446
|
-
*/
|
|
447
|
-
token?: string;
|
|
448
|
-
/** 沙箱 ID */
|
|
449
|
-
sandboxID: string;
|
|
450
|
-
/** 超时时间(秒),最小为 0,0 表示永不过期 */
|
|
451
|
-
timeout: number;
|
|
452
|
-
}
|
|
453
|
-
/**
|
|
454
|
-
* RefreshSandboxTTL 请求参数
|
|
455
|
-
*/
|
|
456
|
-
export interface RefreshSandboxTTLOptions {
|
|
457
|
-
/**
|
|
458
|
-
* Talos 鉴权 Token,不传则从环境变量读取
|
|
459
|
-
* 支持三种类型(按前缀自动识别 Header):
|
|
460
|
-
* - admin_talos_* → X-Admin-Token
|
|
461
|
-
* - talos_* → X-API-Key
|
|
462
|
-
* - sk_talos_* → Authorization: Bearer
|
|
463
|
-
*/
|
|
464
|
-
token?: string;
|
|
465
|
-
/** 沙箱 ID */
|
|
466
|
-
sandboxID: string;
|
|
467
|
-
/** 延长 TTL 的秒数,0-3600 */
|
|
468
|
-
duration: number;
|
|
469
|
-
}
|
|
470
|
-
/**
|
|
471
|
-
* ListTemplates 请求参数
|
|
472
|
-
*/
|
|
473
|
-
export interface ListTemplatesOptions {
|
|
474
|
-
/**
|
|
475
|
-
* Talos 鉴权 Token,不传则从环境变量读取
|
|
476
|
-
* 支持三种类型(按前缀自动识别 Header):
|
|
477
|
-
* - admin_talos_* → X-Admin-Token
|
|
478
|
-
* - talos_* → X-API-Key
|
|
479
|
-
* - sk_talos_* → Authorization: Bearer
|
|
480
|
-
*/
|
|
481
|
-
token?: string;
|
|
482
|
-
/** 按团队 ID 过滤模板(可选) */
|
|
483
|
-
teamID?: string;
|
|
484
|
-
}
|
|
485
|
-
/**
|
|
486
|
-
* 模板信息
|
|
487
|
-
*/
|
|
488
|
-
export interface Template {
|
|
489
|
-
/** 模板唯一标识 */
|
|
490
|
-
templateID: string;
|
|
491
|
-
/** 最近一次成功构建的 ID */
|
|
492
|
-
buildID: string;
|
|
493
|
-
/** CPU 核数 */
|
|
494
|
-
cpuCount: number;
|
|
495
|
-
/** 内存大小(MiB) */
|
|
496
|
-
memoryMB: number;
|
|
497
|
-
/** 磁盘大小(MiB) */
|
|
498
|
-
diskSizeMB: number;
|
|
499
|
-
/** 是否为公共模板 */
|
|
500
|
-
public: boolean;
|
|
501
|
-
/** 模板别名列表 */
|
|
502
|
-
aliases: string[];
|
|
503
|
-
/** 创建时间(RFC 3339) */
|
|
504
|
-
createdAt: string;
|
|
505
|
-
/** 更新时间(RFC 3339) */
|
|
506
|
-
updatedAt: string;
|
|
507
|
-
/** 最近一次启动时间(RFC 3339),可能为 null */
|
|
508
|
-
lastSpawnedAt?: string | null;
|
|
509
|
-
/** 被使用的次数 */
|
|
510
|
-
spawnCount: number;
|
|
511
|
-
/** 构建次数 */
|
|
512
|
-
buildCount: number;
|
|
513
|
-
/** envd 版本 */
|
|
514
|
-
envdVersion: string;
|
|
515
|
-
}
|
|
516
|
-
/**
|
|
517
|
-
* CreateTemplate 请求参数
|
|
518
|
-
*/
|
|
519
|
-
export interface CreateTemplateOptions {
|
|
520
|
-
/**
|
|
521
|
-
* Talos 鉴权 Token,不传则从环境变量读取
|
|
522
|
-
* 支持三种类型(按前缀自动识别 Header):
|
|
523
|
-
* - admin_talos_* → X-Admin-Token
|
|
524
|
-
* - talos_* → X-API-Key
|
|
525
|
-
* - sk_talos_* → Authorization: Bearer
|
|
526
|
-
*/
|
|
527
|
-
token?: string;
|
|
528
|
-
/** 模板别名 */
|
|
529
|
-
alias?: string;
|
|
530
|
-
/** 团队 ID */
|
|
531
|
-
teamID?: string;
|
|
532
|
-
/** Dockerfile 内容 */
|
|
533
|
-
dockerfile?: string;
|
|
534
|
-
/** CPU 核数(int32),需要 >= 1 */
|
|
535
|
-
cpuCount?: number;
|
|
536
|
-
/** 内存大小(MiB,int32),需要 >= 1 */
|
|
537
|
-
memoryMB?: number;
|
|
538
|
-
/** 构建后的启动命令 */
|
|
539
|
-
startCmd?: string;
|
|
540
|
-
/** 构建后的就绪检查命令 */
|
|
541
|
-
readyCmd?: string;
|
|
542
|
-
}
|
|
543
|
-
/**
|
|
544
|
-
* GetTemplate 请求参数
|
|
545
|
-
*/
|
|
546
|
-
export interface GetTemplateOptions {
|
|
547
|
-
/**
|
|
548
|
-
* Talos 鉴权 Token,不传则从环境变量读取
|
|
549
|
-
* 支持三种类型(按前缀自动识别 Header):
|
|
550
|
-
* - admin_talos_* → X-Admin-Token
|
|
551
|
-
* - talos_* → X-API-Key
|
|
552
|
-
* - sk_talos_* → Authorization: Bearer
|
|
553
|
-
*/
|
|
554
|
-
token?: string;
|
|
555
|
-
/** 模板 ID(path 参数,必填) */
|
|
556
|
-
templateID: string;
|
|
557
|
-
}
|
|
558
|
-
/**
|
|
559
|
-
* DeleteTemplate 请求参数
|
|
560
|
-
*/
|
|
561
|
-
export interface DeleteTemplateOptions {
|
|
562
|
-
/**
|
|
563
|
-
* Talos 鉴权 Token,不传则从环境变量读取
|
|
564
|
-
* 支持三种类型(按前缀自动识别 Header):
|
|
565
|
-
* - admin_talos_* → X-Admin-Token
|
|
566
|
-
* - talos_* → X-API-Key
|
|
567
|
-
* - sk_talos_* → Authorization: Bearer
|
|
568
|
-
*/
|
|
569
|
-
token?: string;
|
|
570
|
-
/** 模板 ID(path 参数,必填) */
|
|
571
|
-
templateID: string;
|
|
572
|
-
}
|
|
573
|
-
/**
|
|
574
|
-
* UpdateTemplate 请求参数
|
|
575
|
-
*/
|
|
576
|
-
export interface UpdateTemplateOptions {
|
|
577
|
-
/**
|
|
578
|
-
* Talos 鉴权 Token,不传则从环境变量读取
|
|
579
|
-
* 支持三种类型(按前缀自动识别 Header):
|
|
580
|
-
* - admin_talos_* → X-Admin-Token
|
|
581
|
-
* - talos_* → X-API-Key
|
|
582
|
-
* - sk_talos_* → Authorization: Bearer
|
|
583
|
-
*/
|
|
584
|
-
token?: string;
|
|
585
|
-
/** 模板 ID(path 参数,必填) */
|
|
586
|
-
templateID: string;
|
|
587
|
-
/** 是否设为公共模板 */
|
|
588
|
-
public?: boolean;
|
|
589
|
-
}
|
|
590
|
-
/**
|
|
591
|
-
* GetTemplateByAlias 请求参数
|
|
592
|
-
*/
|
|
593
|
-
export interface GetTemplateByAliasOptions {
|
|
594
|
-
/**
|
|
595
|
-
* Talos 鉴权 Token,不传则从环境变量读取
|
|
596
|
-
* 支持三种类型(按前缀自动识别 Header):
|
|
597
|
-
* - admin_talos_* → X-Admin-Token
|
|
598
|
-
* - talos_* → X-API-Key
|
|
599
|
-
* - sk_talos_* → Authorization: Bearer
|
|
600
|
-
*/
|
|
601
|
-
token?: string;
|
|
602
|
-
/** 模板别名(path 参数,必填) */
|
|
603
|
-
alias: string;
|
|
604
|
-
}
|
|
605
|
-
/**
|
|
606
|
-
* 镜像滚动更新的可选参数
|
|
607
|
-
* 任一字段缺省/为 0 时由服务端使用默认策略
|
|
608
|
-
*/
|
|
609
|
-
export interface TemplateImageRolloutConfig {
|
|
610
|
-
/**
|
|
611
|
-
* 单批要 drain 的 WARM 实例百分比
|
|
612
|
-
* 范围 1-100,默认 50
|
|
613
|
-
*/
|
|
614
|
-
batch_percent?: number;
|
|
615
|
-
/**
|
|
616
|
-
* 批次之间的等待时间(秒)
|
|
617
|
-
* >= 0,默认 60
|
|
618
|
-
*/
|
|
619
|
-
batch_interval_s?: number;
|
|
620
|
-
/**
|
|
621
|
-
* 单批触发自动暂停的最大失败率(百分比)
|
|
622
|
-
* 范围 1-100,默认 50
|
|
623
|
-
*/
|
|
624
|
-
max_failure_percent_per_batch?: number;
|
|
625
|
-
/**
|
|
626
|
-
* 失败率开始评估前需要累计的最小失败数
|
|
627
|
-
* >= 1,默认 2
|
|
628
|
-
*/
|
|
629
|
-
min_failures_to_trigger?: number;
|
|
630
|
-
/**
|
|
631
|
-
* 单批长时间未推进会被判定为 stuck 的超时(秒)
|
|
632
|
-
* >= 60,默认 600
|
|
633
|
-
*/
|
|
634
|
-
stuck_timeout_s?: number;
|
|
635
|
-
}
|
|
636
|
-
/**
|
|
637
|
-
* UpdateTemplateImage 请求参数
|
|
638
|
-
*/
|
|
639
|
-
export interface UpdateTemplateImageOptions {
|
|
640
|
-
/**
|
|
641
|
-
* Talos 鉴权 Token,不传则从环境变量读取
|
|
642
|
-
* 支持三种类型(按前缀自动识别 Header):
|
|
643
|
-
* - admin_talos_* → X-Admin-Token
|
|
644
|
-
* - talos_* → X-API-Key
|
|
645
|
-
* - sk_talos_* → Authorization: Bearer
|
|
646
|
-
*/
|
|
647
|
-
token?: string;
|
|
648
|
-
/** 模板 ID(path 参数,必填) */
|
|
649
|
-
templateID: string;
|
|
650
|
-
/** 新的基础镜像(必填) */
|
|
651
|
-
base_image: string;
|
|
652
|
-
/** 滚动更新策略(可选) */
|
|
653
|
-
rollout?: TemplateImageRolloutConfig;
|
|
654
|
-
}
|
|
655
|
-
/** 镜像滚动状态 */
|
|
656
|
-
export type ImageRollingStatus = 'IDLE' | 'ROLLING' | 'PAUSED' | 'DONE' | string;
|
|
657
|
-
/** 单个 Pool 镜像更新摘要 (Rollout summary for a single pool after image update is initiated) */
|
|
658
|
-
export interface TemplateImageUpdateSummary {
|
|
659
|
-
/** Pool ID */
|
|
660
|
-
pool_id: string;
|
|
661
|
-
/** 当前基础镜像 */
|
|
662
|
-
base_image: string;
|
|
663
|
-
/** 上一次的基础镜像 */
|
|
664
|
-
previous_base_image: string;
|
|
665
|
-
/** 镜像版本号(int64) */
|
|
666
|
-
image_version: number;
|
|
667
|
-
/** 镜像滚动状态 */
|
|
668
|
-
image_rolling_status: ImageRollingStatus;
|
|
669
|
-
/** 镜像更新时间(RFC 3339) */
|
|
670
|
-
image_updated_at: string;
|
|
671
|
-
/** 实际生效的滚动策略(包含服务端默认值) */
|
|
672
|
-
rollout_cfg: TemplateImageRolloutConfig;
|
|
673
|
-
}
|
|
674
|
-
/** 单个 Pool 的镜像更新结果 */
|
|
675
|
-
export interface TemplateImageUpdateResult {
|
|
676
|
-
/** Pool ID */
|
|
677
|
-
pool_id: string;
|
|
678
|
-
/** 成功时的摘要信息(失败可能为空/缺省) */
|
|
679
|
-
summary?: TemplateImageUpdateSummary;
|
|
680
|
-
/** 失败时的错误信息(成功为空字符串或缺省) */
|
|
681
|
-
error?: string;
|
|
682
|
-
}
|
|
683
|
-
/** UpdateTemplateImage 响应体 */
|
|
684
|
-
export interface TemplateImageUpdateResponse {
|
|
685
|
-
/** 模板 ID */
|
|
686
|
-
template_id: string;
|
|
687
|
-
/** 各 Pool 的更新结果 */
|
|
688
|
-
results: TemplateImageUpdateResult[];
|
|
689
|
-
}
|