-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtypes.ts
More file actions
102 lines (89 loc) · 1.77 KB
/
types.ts
File metadata and controls
102 lines (89 loc) · 1.77 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
export type ProviderName =
| "e2b"
| "daytona"
| "blaxel"
| "runloop"
| "fly-machines"
| "local";
export type SandboxStatus =
| "starting"
| "running"
| "paused"
| "stopped"
| "error";
export interface SandboxInfo {
id: string;
provider: ProviderName;
template?: string;
status: SandboxStatus;
startedAt: string; // ISO 8601
expiresAt?: string;
metadata?: Record<string, string>;
cpus?: number;
memoryMb?: number;
}
export interface CommandResult {
stdout: string;
stderr: string;
exitCode: number;
durationMs: number;
error?: string;
}
export interface FileInfo {
name: string;
path: string;
isDir: boolean;
size: number;
mode?: number;
}
export interface ProcessInfo {
pid: number;
command: string;
user?: string;
}
export interface PTYInfo {
pid: number;
rows: number;
cols: number;
}
export type WatchEventType = "create" | "modify" | "delete" | "rename";
export interface WatchEvent {
path: string;
eventType: WatchEventType;
}
export interface CreateSandboxRequest {
provider?: ProviderName;
template?: string;
timeoutSeconds?: number;
metadata?: Record<string, string>;
envs?: Record<string, string>;
cpus?: number;
memoryMb?: number;
autoDestroy?: boolean;
}
export interface RunCommandRequest {
cmd: string;
cwd?: string;
env?: Record<string, string>;
timeoutSeconds?: number;
user?: string;
}
export interface StartCommandRequest {
cmd: string;
cwd?: string;
env?: Record<string, string>;
user?: string;
}
export interface CreatePTYRequest {
rows?: number;
cols?: number;
cwd?: string;
env?: Record<string, string>;
user?: string;
command?: string;
}
export interface ListSandboxesFilter {
provider?: ProviderName;
metadataFilter?: string;
limit?: number;
}