@downcity/shell 0.1.4
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/bin/Shell.d.ts +55 -0
- package/bin/Shell.d.ts.map +1 -0
- package/bin/Shell.js +171 -0
- package/bin/Shell.js.map +1 -0
- package/bin/approval/ShellApprovalRuntime.d.ts +62 -0
- package/bin/approval/ShellApprovalRuntime.d.ts.map +1 -0
- package/bin/approval/ShellApprovalRuntime.js +214 -0
- package/bin/approval/ShellApprovalRuntime.js.map +1 -0
- package/bin/index.d.ts +27 -0
- package/bin/index.d.ts.map +1 -0
- package/bin/index.js +26 -0
- package/bin/index.js.map +1 -0
- package/bin/sandbox/LinuxBubblewrapSandbox.d.ts +19 -0
- package/bin/sandbox/LinuxBubblewrapSandbox.d.ts.map +1 -0
- package/bin/sandbox/LinuxBubblewrapSandbox.js +186 -0
- package/bin/sandbox/LinuxBubblewrapSandbox.js.map +1 -0
- package/bin/sandbox/MacOsSeatbeltSandbox.d.ts +16 -0
- package/bin/sandbox/MacOsSeatbeltSandbox.d.ts.map +1 -0
- package/bin/sandbox/MacOsSeatbeltSandbox.js +154 -0
- package/bin/sandbox/MacOsSeatbeltSandbox.js.map +1 -0
- package/bin/sandbox/SandboxConfigResolver.d.ts +37 -0
- package/bin/sandbox/SandboxConfigResolver.d.ts.map +1 -0
- package/bin/sandbox/SandboxConfigResolver.js +130 -0
- package/bin/sandbox/SandboxConfigResolver.js.map +1 -0
- package/bin/sandbox/SandboxPreflight.d.ts +73 -0
- package/bin/sandbox/SandboxPreflight.d.ts.map +1 -0
- package/bin/sandbox/SandboxPreflight.js +122 -0
- package/bin/sandbox/SandboxPreflight.js.map +1 -0
- package/bin/sandbox/SandboxRunner.d.ts +61 -0
- package/bin/sandbox/SandboxRunner.d.ts.map +1 -0
- package/bin/sandbox/SandboxRunner.js +107 -0
- package/bin/sandbox/SandboxRunner.js.map +1 -0
- package/bin/sandbox/UnrestrictedSandbox.d.ts +16 -0
- package/bin/sandbox/UnrestrictedSandbox.d.ts.map +1 -0
- package/bin/sandbox/UnrestrictedSandbox.js +39 -0
- package/bin/sandbox/UnrestrictedSandbox.js.map +1 -0
- package/bin/sandbox/types/Sandbox.d.ts +130 -0
- package/bin/sandbox/types/Sandbox.d.ts.map +1 -0
- package/bin/sandbox/types/Sandbox.js +10 -0
- package/bin/sandbox/types/Sandbox.js.map +1 -0
- package/bin/sandbox/types/SandboxRuntime.d.ts +370 -0
- package/bin/sandbox/types/SandboxRuntime.d.ts.map +1 -0
- package/bin/sandbox/types/SandboxRuntime.js +10 -0
- package/bin/sandbox/types/SandboxRuntime.js.map +1 -0
- package/bin/session/Paths.d.ts +12 -0
- package/bin/session/Paths.d.ts.map +1 -0
- package/bin/session/Paths.js +21 -0
- package/bin/session/Paths.js.map +1 -0
- package/bin/session/ShellActionResponse.d.ts +52 -0
- package/bin/session/ShellActionResponse.d.ts.map +1 -0
- package/bin/session/ShellActionResponse.js +73 -0
- package/bin/session/ShellActionResponse.js.map +1 -0
- package/bin/session/ShellActionRuntime.d.ts +15 -0
- package/bin/session/ShellActionRuntime.d.ts.map +1 -0
- package/bin/session/ShellActionRuntime.js +15 -0
- package/bin/session/ShellActionRuntime.js.map +1 -0
- package/bin/session/ShellActionRuntimeSupport.d.ts +88 -0
- package/bin/session/ShellActionRuntimeSupport.d.ts.map +1 -0
- package/bin/session/ShellActionRuntimeSupport.js +305 -0
- package/bin/session/ShellActionRuntimeSupport.js.map +1 -0
- package/bin/session/ShellProcessEvents.d.ts +22 -0
- package/bin/session/ShellProcessEvents.d.ts.map +1 -0
- package/bin/session/ShellProcessEvents.js +41 -0
- package/bin/session/ShellProcessEvents.js.map +1 -0
- package/bin/session/ShellRunScope.d.ts +43 -0
- package/bin/session/ShellRunScope.d.ts.map +1 -0
- package/bin/session/ShellRunScope.js +29 -0
- package/bin/session/ShellRunScope.js.map +1 -0
- package/bin/session/ShellRuntimeEnvironment.d.ts +21 -0
- package/bin/session/ShellRuntimeEnvironment.d.ts.map +1 -0
- package/bin/session/ShellRuntimeEnvironment.js +69 -0
- package/bin/session/ShellRuntimeEnvironment.js.map +1 -0
- package/bin/session/ShellRuntimeTypes.d.ts +160 -0
- package/bin/session/ShellRuntimeTypes.d.ts.map +1 -0
- package/bin/session/ShellRuntimeTypes.js +10 -0
- package/bin/session/ShellRuntimeTypes.js.map +1 -0
- package/bin/session/actions/ShellActionShared.d.ts +76 -0
- package/bin/session/actions/ShellActionShared.d.ts.map +1 -0
- package/bin/session/actions/ShellActionShared.js +100 -0
- package/bin/session/actions/ShellActionShared.js.map +1 -0
- package/bin/session/actions/ShellApprovalActions.d.ts +34 -0
- package/bin/session/actions/ShellApprovalActions.d.ts.map +1 -0
- package/bin/session/actions/ShellApprovalActions.js +37 -0
- package/bin/session/actions/ShellApprovalActions.js.map +1 -0
- package/bin/session/actions/ShellExecActions.d.ts +15 -0
- package/bin/session/actions/ShellExecActions.d.ts.map +1 -0
- package/bin/session/actions/ShellExecActions.js +117 -0
- package/bin/session/actions/ShellExecActions.js.map +1 -0
- package/bin/session/actions/ShellLifecycleActions.d.ts +18 -0
- package/bin/session/actions/ShellLifecycleActions.d.ts.map +1 -0
- package/bin/session/actions/ShellLifecycleActions.js +53 -0
- package/bin/session/actions/ShellLifecycleActions.js.map +1 -0
- package/bin/session/actions/ShellQueryActions.d.ts +27 -0
- package/bin/session/actions/ShellQueryActions.d.ts.map +1 -0
- package/bin/session/actions/ShellQueryActions.js +151 -0
- package/bin/session/actions/ShellQueryActions.js.map +1 -0
- package/bin/session/actions/ShellStartActions.d.ts +15 -0
- package/bin/session/actions/ShellStartActions.d.ts.map +1 -0
- package/bin/session/actions/ShellStartActions.js +167 -0
- package/bin/session/actions/ShellStartActions.js.map +1 -0
- package/bin/session/actions/ShellWriteActions.d.ts +15 -0
- package/bin/session/actions/ShellWriteActions.d.ts.map +1 -0
- package/bin/session/actions/ShellWriteActions.js +85 -0
- package/bin/session/actions/ShellWriteActions.js.map +1 -0
- package/bin/tool/ShellToolFormatting.d.ts +12 -0
- package/bin/tool/ShellToolFormatting.d.ts.map +1 -0
- package/bin/tool/ShellToolFormatting.js +31 -0
- package/bin/tool/ShellToolFormatting.js.map +1 -0
- package/bin/tool/ShellToolSchemas.d.ts +61 -0
- package/bin/tool/ShellToolSchemas.d.ts.map +1 -0
- package/bin/tool/ShellToolSchemas.js +130 -0
- package/bin/tool/ShellToolSchemas.js.map +1 -0
- package/bin/tool/ShellTools.d.ts +32 -0
- package/bin/tool/ShellTools.d.ts.map +1 -0
- package/bin/tool/ShellTools.js +296 -0
- package/bin/tool/ShellTools.js.map +1 -0
- package/bin/types/Shell.d.ts +115 -0
- package/bin/types/Shell.d.ts.map +1 -0
- package/bin/types/Shell.js +9 -0
- package/bin/types/Shell.js.map +1 -0
- package/bin/types/ShellAction.d.ts +258 -0
- package/bin/types/ShellAction.d.ts.map +1 -0
- package/bin/types/ShellAction.js +9 -0
- package/bin/types/ShellAction.js.map +1 -0
- package/bin/types/ShellHostContext.d.ts +78 -0
- package/bin/types/ShellHostContext.d.ts.map +1 -0
- package/bin/types/ShellHostContext.js +9 -0
- package/bin/types/ShellHostContext.js.map +1 -0
- package/bin/types/ShellRuntime.d.ts +128 -0
- package/bin/types/ShellRuntime.d.ts.map +1 -0
- package/bin/types/ShellRuntime.js +9 -0
- package/bin/types/ShellRuntime.js.map +1 -0
- package/bin/types/ShellRuntimeOptions.d.ts +103 -0
- package/bin/types/ShellRuntimeOptions.d.ts.map +1 -0
- package/bin/types/ShellRuntimeOptions.js +10 -0
- package/bin/types/ShellRuntimeOptions.js.map +1 -0
- package/bin/utils/Id.d.ts +11 -0
- package/bin/utils/Id.d.ts.map +1 -0
- package/bin/utils/Id.js +14 -0
- package/bin/utils/Id.js.map +1 -0
- package/package.json +81 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Shell.d.ts","sourceRoot":"","sources":["../../src/types/Shell.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,cAAc,CAAC;AAEvD;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAAC;AAE7C;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,gBAAgB;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,qBAAqB;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wBAAwB;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,qBAAqB;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sBAAsB;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,sBAAsB;IACtB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,+BAA+B;IAC/B,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,yCAAyC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,gBAAgB;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,gBAAgB;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wBAAwB;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,kBAAkB;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sBAAsB;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,+BAA+B;IAC/B,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,yCAAyC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wBAAwB;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,6BAA6B;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,mBAAmB;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sBAAsB;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,6BAA6B;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,wBAAwB;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,uDAAuD;IACvD,MAAM,CAAC,EAAE,uBAAuB,CAAC;CAClC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,6BAA6B;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,sBAAsB;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sBAAsB;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,6BAA6B;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Shell.js","sourceRoot":"","sources":["../../src/types/Shell.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
|
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shell action 类型定义。
|
|
3
|
+
*
|
|
4
|
+
* 关键点(中文)
|
|
5
|
+
* - `shell_id` 是 shell 会话的唯一标识,与 chat `sessionId` 严格区分。
|
|
6
|
+
* - 这些类型同时服务于 shell runtime 状态管理与 agent tool 协议。
|
|
7
|
+
*/
|
|
8
|
+
export type ShellSessionStatus = "starting" | "running" | "completed" | "failed" | "killed" | "expired";
|
|
9
|
+
/**
|
|
10
|
+
* shell 执行 sandbox 模式。
|
|
11
|
+
*/
|
|
12
|
+
export type ShellSandboxMode = "safe" | "unrestricted";
|
|
13
|
+
/**
|
|
14
|
+
* unrestricted sandbox 审批状态。
|
|
15
|
+
*/
|
|
16
|
+
export type ShellApprovalStatus = "approved" | "denied" | "expired";
|
|
17
|
+
/**
|
|
18
|
+
* shell unrestricted sandbox 审批来源工具。
|
|
19
|
+
*/
|
|
20
|
+
export type ShellApprovalToolName = "shell_exec" | "shell_start" | "shell_write";
|
|
21
|
+
/**
|
|
22
|
+
* shell 会话关联的外部引用。
|
|
23
|
+
*
|
|
24
|
+
* 说明(中文)
|
|
25
|
+
* - 用于记录诸如第三方平台 `thread_id`、任务链接等弱结构化引用。
|
|
26
|
+
* - 不要求所有 shell 都存在该信息;仅在可识别时附加。
|
|
27
|
+
*/
|
|
28
|
+
export type ShellExternalRef = {
|
|
29
|
+
/** 引用类别,例如 `thread_id`。 */
|
|
30
|
+
kind: string;
|
|
31
|
+
/** 引用的原始值。 */
|
|
32
|
+
value: string;
|
|
33
|
+
/** 可选的人类可读标签。 */
|
|
34
|
+
label?: string;
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* shell 会话快照。
|
|
38
|
+
*
|
|
39
|
+
* 说明(中文)
|
|
40
|
+
* - 该对象是 shell runtime 对外暴露的统一状态视图。
|
|
41
|
+
* - 内部运行态(child process / waiter 集合)不会暴露给上层。
|
|
42
|
+
*/
|
|
43
|
+
export type ShellSessionSnapshot = {
|
|
44
|
+
/** shell 唯一标识。 */
|
|
45
|
+
shellId: string;
|
|
46
|
+
/** 发起该 shell 的 chat/context 标识;不存在时表示非聊天上下文触发。 */
|
|
47
|
+
ownerContextId?: string;
|
|
48
|
+
/** 原始命令字符串。 */
|
|
49
|
+
cmd: string;
|
|
50
|
+
/** 命令执行工作目录(绝对路径)。 */
|
|
51
|
+
cwd: string;
|
|
52
|
+
/** 实际使用的 shell 可执行文件路径。 */
|
|
53
|
+
shellPath: string;
|
|
54
|
+
/** 当前 shell 是否运行在 sandbox 中。 */
|
|
55
|
+
sandboxed?: boolean;
|
|
56
|
+
/** 当前 shell 的 Downcity sandbox 模式。 */
|
|
57
|
+
sandboxMode?: ShellSandboxMode;
|
|
58
|
+
/** unrestricted sandbox 审批状态。 */
|
|
59
|
+
approvalStatus?: ShellApprovalStatus;
|
|
60
|
+
/** unrestricted sandbox 审批请求 ID。 */
|
|
61
|
+
approvalId?: string;
|
|
62
|
+
/** unrestricted sandbox 申请原因。 */
|
|
63
|
+
approvalReason?: string;
|
|
64
|
+
/** 当前 shell 是否允许继续写入 stdin。 */
|
|
65
|
+
stdinWritable?: boolean;
|
|
66
|
+
/** 当前 shell 使用的 sandbox backend。 */
|
|
67
|
+
sandboxBackend?: string;
|
|
68
|
+
/** 当前 shell 采用的 sandbox 网络模式。 */
|
|
69
|
+
sandboxNetworkMode?: "off" | "restricted" | "full";
|
|
70
|
+
/** 当前 agent 级 sandbox 的持久目录。 */
|
|
71
|
+
sandboxDir?: string;
|
|
72
|
+
/** 当前 shell 在 sandbox 中使用的 HOME。 */
|
|
73
|
+
sandboxHomeDir?: string;
|
|
74
|
+
/** 当前 shell 在 sandbox 中使用的临时目录。 */
|
|
75
|
+
sandboxTmpDir?: string;
|
|
76
|
+
/** 当前 shell 在 sandbox 中使用的 XDG cache 目录。 */
|
|
77
|
+
sandboxCacheDir?: string;
|
|
78
|
+
/** 当前 shell 状态。 */
|
|
79
|
+
status: ShellSessionStatus;
|
|
80
|
+
/** 子进程 pid;若尚未创建成功则为空。 */
|
|
81
|
+
pid?: number;
|
|
82
|
+
/** shell 创建时间戳(毫秒)。 */
|
|
83
|
+
startedAt: number;
|
|
84
|
+
/** 最近一次状态或输出变更时间戳(毫秒)。 */
|
|
85
|
+
updatedAt: number;
|
|
86
|
+
/** shell 结束时间戳(毫秒);运行中为空。 */
|
|
87
|
+
endedAt?: number;
|
|
88
|
+
/** 进程退出码;运行中为空。 */
|
|
89
|
+
exitCode?: number;
|
|
90
|
+
/** 最近一次收到输出的时间戳(毫秒)。 */
|
|
91
|
+
lastOutputAt?: number;
|
|
92
|
+
/** 最近一小段输出预览,供状态查询快速展示。 */
|
|
93
|
+
lastOutputPreview?: string;
|
|
94
|
+
/** 当前累计输出字符数。 */
|
|
95
|
+
outputChars: number;
|
|
96
|
+
/** 因内存缓存裁剪而丢弃的字符数。 */
|
|
97
|
+
droppedChars: number;
|
|
98
|
+
/** 状态版本号;任意输出/状态变化都递增。 */
|
|
99
|
+
version: number;
|
|
100
|
+
/** 是否在 shell 结束后自动回投到所属 chat,让主 agent 自己回复。 */
|
|
101
|
+
autoNotifyOnExit: boolean;
|
|
102
|
+
/** 自动回投是否已经发送,避免重复通知。 */
|
|
103
|
+
notificationSent: boolean;
|
|
104
|
+
/** 从输出中识别到的外部引用集合。 */
|
|
105
|
+
externalRefs: ShellExternalRef[];
|
|
106
|
+
};
|
|
107
|
+
/**
|
|
108
|
+
* shell 启动请求。
|
|
109
|
+
*/
|
|
110
|
+
export type ShellStartRequest = {
|
|
111
|
+
/** 要执行的完整 shell 命令。 */
|
|
112
|
+
cmd: string;
|
|
113
|
+
/** 可选工作目录;为空时回退项目根目录。 */
|
|
114
|
+
cwd?: string;
|
|
115
|
+
/** 可选 shell 路径,例如 `/bin/zsh`。 */
|
|
116
|
+
shell?: string;
|
|
117
|
+
/** 是否以 login shell 方式启动;默认 `true`。 */
|
|
118
|
+
login?: boolean;
|
|
119
|
+
/** 启动后内联等待多久再返回首批状态/输出。 */
|
|
120
|
+
inlineWaitMs?: number;
|
|
121
|
+
/** 单次读取输出返回给模型的 token 上限。 */
|
|
122
|
+
maxOutputTokens?: number;
|
|
123
|
+
/** 显式指定 owner sessionId;为空时优先从 SessionRunScope 推断。 */
|
|
124
|
+
ownerContextId?: string;
|
|
125
|
+
/** 是否在 shell 结束后自动回投主 chat agent。 */
|
|
126
|
+
autoNotifyOnExit?: boolean;
|
|
127
|
+
/** 命令执行 sandbox 模式;默认 safe。 */
|
|
128
|
+
sandbox?: ShellSandboxMode;
|
|
129
|
+
/** 请求 unrestricted sandbox 时展示给用户的原因。 */
|
|
130
|
+
reason?: string;
|
|
131
|
+
/** 内部审批来源工具名;普通调用方不需要传。 */
|
|
132
|
+
approvalToolName?: ShellApprovalToolName;
|
|
133
|
+
};
|
|
134
|
+
/**
|
|
135
|
+
* shell 一次性执行请求。
|
|
136
|
+
*
|
|
137
|
+
* 说明(中文)
|
|
138
|
+
* - 适合短命令与无需中途查询状态的场景。
|
|
139
|
+
* - 底层仍复用 shell session 引擎,但调用方不需要管理 `shell_id`。
|
|
140
|
+
*/
|
|
141
|
+
export type ShellExecRequest = {
|
|
142
|
+
/** 要执行的完整 shell 命令。 */
|
|
143
|
+
cmd: string;
|
|
144
|
+
/** 可选工作目录;为空时回退项目根目录。 */
|
|
145
|
+
cwd?: string;
|
|
146
|
+
/** 可选 shell 路径,例如 `/bin/zsh`。 */
|
|
147
|
+
shell?: string;
|
|
148
|
+
/** 是否以 login shell 方式启动;默认 `true`。 */
|
|
149
|
+
login?: boolean;
|
|
150
|
+
/** 整个一次性执行的总超时时间(毫秒)。 */
|
|
151
|
+
timeoutMs?: number;
|
|
152
|
+
/** 单次读取输出返回给模型的 token 上限。 */
|
|
153
|
+
maxOutputTokens?: number;
|
|
154
|
+
/** 命令执行 sandbox 模式;默认 safe。 */
|
|
155
|
+
sandbox?: ShellSandboxMode;
|
|
156
|
+
/** 请求 unrestricted sandbox 时展示给用户的原因。 */
|
|
157
|
+
reason?: string;
|
|
158
|
+
};
|
|
159
|
+
/**
|
|
160
|
+
* shell 查询请求。
|
|
161
|
+
*
|
|
162
|
+
* 说明(中文)
|
|
163
|
+
* - `shellId` 优先级最高。
|
|
164
|
+
* - 若未提供 `shellId`,允许在同一 owner context 下按 `cmd` 模糊匹配最近一个会话。
|
|
165
|
+
*/
|
|
166
|
+
export type ShellQueryRequest = {
|
|
167
|
+
/** 目标 shell_id。 */
|
|
168
|
+
shellId?: string;
|
|
169
|
+
/** 命令关键字;用于在当前 context 下查找最近匹配会话。 */
|
|
170
|
+
cmd?: string;
|
|
171
|
+
/** 指定 owner sessionId;为空时优先从 SessionRunScope 推断。 */
|
|
172
|
+
ownerContextId?: string;
|
|
173
|
+
/** 是否允许匹配已结束会话。 */
|
|
174
|
+
includeCompleted?: boolean;
|
|
175
|
+
};
|
|
176
|
+
/**
|
|
177
|
+
* shell 输出读取请求。
|
|
178
|
+
*/
|
|
179
|
+
export type ShellReadRequest = ShellQueryRequest & {
|
|
180
|
+
/** 从哪个字符偏移开始读取;默认从头或从最新游标外部自行维护。 */
|
|
181
|
+
fromCursor?: number;
|
|
182
|
+
/** 单次读取输出返回给模型的 token 上限。 */
|
|
183
|
+
maxOutputTokens?: number;
|
|
184
|
+
};
|
|
185
|
+
/**
|
|
186
|
+
* shell stdin 写入请求。
|
|
187
|
+
*/
|
|
188
|
+
export type ShellWriteRequest = {
|
|
189
|
+
/** 目标 shell_id。 */
|
|
190
|
+
shellId: string;
|
|
191
|
+
/** 要写入 stdin 的原始文本。 */
|
|
192
|
+
chars: string;
|
|
193
|
+
/** 向 unrestricted shell session 写入 stdin 时展示给用户的原因。 */
|
|
194
|
+
reason?: string;
|
|
195
|
+
};
|
|
196
|
+
/**
|
|
197
|
+
* shell 等待请求。
|
|
198
|
+
*
|
|
199
|
+
* 说明(中文)
|
|
200
|
+
* - `afterVersion` 用于等待“状态变化”而非模型侧空轮询。
|
|
201
|
+
* - 可同时附带 `fromCursor`,一旦变化就顺便取回新的输出增量。
|
|
202
|
+
*/
|
|
203
|
+
export type ShellWaitRequest = {
|
|
204
|
+
/** 目标 shell_id。 */
|
|
205
|
+
shellId: string;
|
|
206
|
+
/** 仅当版本号大于该值时才立即返回。 */
|
|
207
|
+
afterVersion?: number;
|
|
208
|
+
/** 读取输出的起始字符游标。 */
|
|
209
|
+
fromCursor?: number;
|
|
210
|
+
/** 最大等待时间(毫秒)。 */
|
|
211
|
+
timeoutMs?: number;
|
|
212
|
+
/** 单次读取输出返回给模型的 token 上限。 */
|
|
213
|
+
maxOutputTokens?: number;
|
|
214
|
+
};
|
|
215
|
+
/**
|
|
216
|
+
* shell 关闭请求。
|
|
217
|
+
*/
|
|
218
|
+
export type ShellCloseRequest = {
|
|
219
|
+
/** 目标 shell_id。 */
|
|
220
|
+
shellId: string;
|
|
221
|
+
/** 是否强制 kill(SIGKILL);默认优雅终止。 */
|
|
222
|
+
force?: boolean;
|
|
223
|
+
};
|
|
224
|
+
/**
|
|
225
|
+
* shell 输出块。
|
|
226
|
+
*
|
|
227
|
+
* 说明(中文)
|
|
228
|
+
* - 统一用于 `start/read/wait` 的输出增量返回。
|
|
229
|
+
* - `startCursor/endCursor` 采用字符偏移,便于上层自行维护断点。
|
|
230
|
+
*/
|
|
231
|
+
export type ShellOutputChunk = {
|
|
232
|
+
/** 本次输出块对应的 shell_id。 */
|
|
233
|
+
shellId: string;
|
|
234
|
+
/** 本次读取返回的文本。 */
|
|
235
|
+
output: string;
|
|
236
|
+
/** 本次读取的起始字符游标。 */
|
|
237
|
+
startCursor: number;
|
|
238
|
+
/** 本次读取结束后的字符游标。 */
|
|
239
|
+
endCursor: number;
|
|
240
|
+
/** 原始待读取文本字符数。 */
|
|
241
|
+
originalChars: number;
|
|
242
|
+
/** 原始待读取文本行数。 */
|
|
243
|
+
originalLines: number;
|
|
244
|
+
/** 是否仍有未读输出。 */
|
|
245
|
+
hasMoreOutput: boolean;
|
|
246
|
+
};
|
|
247
|
+
/**
|
|
248
|
+
* shell runtime 对 agent tool 返回的统一数据结构。
|
|
249
|
+
*/
|
|
250
|
+
export type ShellActionResponse = {
|
|
251
|
+
/** shell 当前快照。 */
|
|
252
|
+
shell: ShellSessionSnapshot;
|
|
253
|
+
/** 可选输出块;仅在 start/read/wait 中返回。 */
|
|
254
|
+
chunk?: ShellOutputChunk;
|
|
255
|
+
/** 操作说明或附加提示。 */
|
|
256
|
+
note?: string;
|
|
257
|
+
};
|
|
258
|
+
//# sourceMappingURL=ShellAction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ShellAction.d.ts","sourceRoot":"","sources":["../../src/types/ShellAction.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ShellAction.js","sourceRoot":"","sources":["../../src/types/ShellAction.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shell 宿主上下文类型。
|
|
3
|
+
*
|
|
4
|
+
* 关键点(中文)
|
|
5
|
+
* - 这里只描述 shell / sandbox 需要的最小宿主能力。
|
|
6
|
+
* - 不引用 agent 的 ShellHostContext,避免 shell 包反向绑定 agent session/runtime。
|
|
7
|
+
*/
|
|
8
|
+
import type { SandboxProjectConfig } from "../sandbox/types/Sandbox.js";
|
|
9
|
+
export type ShellLogger = {
|
|
10
|
+
/**
|
|
11
|
+
* 输出 warning 日志。
|
|
12
|
+
*/
|
|
13
|
+
warn(message: string, meta?: Record<string, unknown>): void;
|
|
14
|
+
};
|
|
15
|
+
export type ShellSessionEventPublisher = {
|
|
16
|
+
/**
|
|
17
|
+
* 发布宿主 session event。
|
|
18
|
+
*/
|
|
19
|
+
publishEvent(event: Record<string, unknown>): void;
|
|
20
|
+
};
|
|
21
|
+
export type ShellHostSessionAccessor = {
|
|
22
|
+
/**
|
|
23
|
+
* 通过 session id 取得可发布事件的 session 视图。
|
|
24
|
+
*/
|
|
25
|
+
get(session_id: string): ShellSessionEventPublisher;
|
|
26
|
+
};
|
|
27
|
+
export type ShellRunContext = {
|
|
28
|
+
/**
|
|
29
|
+
* 当前 session id。
|
|
30
|
+
*/
|
|
31
|
+
sessionId?: string;
|
|
32
|
+
/**
|
|
33
|
+
* 当前 turn id。
|
|
34
|
+
*/
|
|
35
|
+
turnId?: string;
|
|
36
|
+
};
|
|
37
|
+
export type ShellHostIntegration = {
|
|
38
|
+
/**
|
|
39
|
+
* 获取当前 agent/session run 上下文。
|
|
40
|
+
*/
|
|
41
|
+
getRunContext?(): ShellRunContext | null | undefined;
|
|
42
|
+
};
|
|
43
|
+
export type ShellHostContext = {
|
|
44
|
+
/**
|
|
45
|
+
* 当前项目根目录。
|
|
46
|
+
*/
|
|
47
|
+
rootPath: string;
|
|
48
|
+
/**
|
|
49
|
+
* 传给 shell 的显式环境变量。
|
|
50
|
+
*/
|
|
51
|
+
env?: Record<string, string | undefined>;
|
|
52
|
+
/**
|
|
53
|
+
* Agent 配置的最小视图。
|
|
54
|
+
*/
|
|
55
|
+
config?: {
|
|
56
|
+
/**
|
|
57
|
+
* Agent id。
|
|
58
|
+
*/
|
|
59
|
+
id?: string;
|
|
60
|
+
/**
|
|
61
|
+
* Sandbox 配置。
|
|
62
|
+
*/
|
|
63
|
+
sandbox?: SandboxProjectConfig;
|
|
64
|
+
};
|
|
65
|
+
/**
|
|
66
|
+
* 可选日志器。
|
|
67
|
+
*/
|
|
68
|
+
logger?: ShellLogger;
|
|
69
|
+
/**
|
|
70
|
+
* session event 发布器。
|
|
71
|
+
*/
|
|
72
|
+
session?: ShellHostSessionAccessor;
|
|
73
|
+
/**
|
|
74
|
+
* 宿主注入的 shell 集成能力。
|
|
75
|
+
*/
|
|
76
|
+
shellIntegration?: ShellHostIntegration;
|
|
77
|
+
};
|
|
78
|
+
//# sourceMappingURL=ShellHostContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ShellHostContext.d.ts","sourceRoot":"","sources":["../../src/types/ShellHostContext.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAEvE,MAAM,MAAM,WAAW,GAAG;IACxB;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC7D,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC;;OAEG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CACpD,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC;;OAEG;IACH,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,0BAA0B,CAAC;CACrD,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC;;OAEG;IACH,aAAa,CAAC,IAAI,eAAe,GAAG,IAAI,GAAG,SAAS,CAAC;CACtD,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACzC;;OAEG;IACH,MAAM,CAAC,EAAE;QACP;;WAEG;QACH,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ;;WAEG;QACH,OAAO,CAAC,EAAE,oBAAoB,CAAC;KAChC,CAAC;IACF;;OAEG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;OAEG;IACH,OAAO,CAAC,EAAE,wBAAwB,CAAC;IACnC;;OAEG;IACH,gBAAgB,CAAC,EAAE,oBAAoB,CAAC;CACzC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ShellHostContext.js","sourceRoot":"","sources":["../../src/types/ShellHostContext.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shell 对象运行时类型。
|
|
3
|
+
*
|
|
4
|
+
* 关键点(中文)
|
|
5
|
+
* - 这里定义 `new Shell(...)` 对外可见的最小构造参数。
|
|
6
|
+
* - Shell 自己拥有 tools、sessions、sandbox 与 approvals;Agent 只负责提供宿主上下文。
|
|
7
|
+
*/
|
|
8
|
+
import type { Tool } from "ai";
|
|
9
|
+
import type { SandboxProjectConfig } from "../sandbox/types/Sandbox.js";
|
|
10
|
+
import type { ShellApprovalStatus } from "../types/ShellAction.js";
|
|
11
|
+
/**
|
|
12
|
+
* Shell 运行时日志器。
|
|
13
|
+
*/
|
|
14
|
+
export interface ShellRuntimeLogger {
|
|
15
|
+
/**
|
|
16
|
+
* 输出 warning 日志。
|
|
17
|
+
*/
|
|
18
|
+
warn(message: string, meta?: Record<string, unknown>): void;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Shell 事件。
|
|
22
|
+
*/
|
|
23
|
+
export type ShellEvent = Record<string, unknown>;
|
|
24
|
+
/**
|
|
25
|
+
* Shell 构造参数。
|
|
26
|
+
*/
|
|
27
|
+
export interface ShellOptions {
|
|
28
|
+
/**
|
|
29
|
+
* 项目根目录。未传时由 Agent 构造阶段补齐。
|
|
30
|
+
*/
|
|
31
|
+
root_path?: string;
|
|
32
|
+
/**
|
|
33
|
+
* 传给 shell 子进程的基础环境变量。
|
|
34
|
+
*/
|
|
35
|
+
env?: Record<string, string | undefined>;
|
|
36
|
+
/**
|
|
37
|
+
* Safe sandbox 配置。
|
|
38
|
+
*/
|
|
39
|
+
sandbox?: SandboxProjectConfig;
|
|
40
|
+
/**
|
|
41
|
+
* 可选日志器。
|
|
42
|
+
*/
|
|
43
|
+
logger?: ShellRuntimeLogger;
|
|
44
|
+
/**
|
|
45
|
+
* Shell 事件出口。Agent 会把这些事件转成 session event。
|
|
46
|
+
*/
|
|
47
|
+
emit_event?: (event: ShellEvent) => void;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Agent 内部补齐给 Shell 的宿主参数。
|
|
51
|
+
*/
|
|
52
|
+
export interface ShellConfigureOptions extends ShellOptions {
|
|
53
|
+
/**
|
|
54
|
+
* Agent id。
|
|
55
|
+
*/
|
|
56
|
+
agent_id?: string;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Shell approval 视图。
|
|
60
|
+
*/
|
|
61
|
+
export interface ShellApprovalView {
|
|
62
|
+
/**
|
|
63
|
+
* approval id。
|
|
64
|
+
*/
|
|
65
|
+
approval_id: string;
|
|
66
|
+
/**
|
|
67
|
+
* shell session id。
|
|
68
|
+
*/
|
|
69
|
+
shell_id: string;
|
|
70
|
+
/**
|
|
71
|
+
* 归属的 agent session id。
|
|
72
|
+
*/
|
|
73
|
+
session_id?: string;
|
|
74
|
+
/**
|
|
75
|
+
* 来源工具名称。
|
|
76
|
+
*/
|
|
77
|
+
tool_name: string;
|
|
78
|
+
/**
|
|
79
|
+
* 请求执行的命令或 stdin 文本。
|
|
80
|
+
*/
|
|
81
|
+
cmd: string;
|
|
82
|
+
/**
|
|
83
|
+
* 操作类型。
|
|
84
|
+
*/
|
|
85
|
+
operation: "exec" | "start" | "write";
|
|
86
|
+
/**
|
|
87
|
+
* stdin 输入预览。
|
|
88
|
+
*/
|
|
89
|
+
input_preview?: string;
|
|
90
|
+
/**
|
|
91
|
+
* stdin 输入字符数。
|
|
92
|
+
*/
|
|
93
|
+
input_chars?: number;
|
|
94
|
+
/**
|
|
95
|
+
* 工作目录。
|
|
96
|
+
*/
|
|
97
|
+
cwd: string;
|
|
98
|
+
/**
|
|
99
|
+
* 申请原因。
|
|
100
|
+
*/
|
|
101
|
+
reason: string;
|
|
102
|
+
/**
|
|
103
|
+
* 创建时间戳。
|
|
104
|
+
*/
|
|
105
|
+
created_at: number;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Shell approval 决策结果。
|
|
109
|
+
*/
|
|
110
|
+
export interface ShellApprovalDecisionResult {
|
|
111
|
+
/**
|
|
112
|
+
* 操作是否命中 pending approval。
|
|
113
|
+
*/
|
|
114
|
+
success: boolean;
|
|
115
|
+
/**
|
|
116
|
+
* approval id。
|
|
117
|
+
*/
|
|
118
|
+
approval_id: string;
|
|
119
|
+
/**
|
|
120
|
+
* 决策。
|
|
121
|
+
*/
|
|
122
|
+
decision: Extract<ShellApprovalStatus, "approved" | "denied">;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Shell 工具集合。
|
|
126
|
+
*/
|
|
127
|
+
export type ShellToolSet = Record<string, Tool>;
|
|
128
|
+
//# sourceMappingURL=ShellRuntime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ShellRuntime.d.ts","sourceRoot":"","sources":["../../src/types/ShellRuntime.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAC/B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAElE;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC7D;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACzC;;OAEG;IACH,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B;;OAEG;IACH,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B;;OAEG;IACH,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;CAC1C;AAED;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,YAAY;IACzD;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;IACtC;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC,mBAAmB,EAAE,UAAU,GAAG,QAAQ,CAAC,CAAC;CAC/D;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ShellRuntime.js","sourceRoot":"","sources":["../../src/types/ShellRuntime.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shell constructor 参数类型。
|
|
3
|
+
*
|
|
4
|
+
* 关键点(中文)
|
|
5
|
+
* - 所有字段都是可选 runtime 调参。
|
|
6
|
+
* - 不传参数时保持 Shell 既有硬编码默认行为。
|
|
7
|
+
* - 这些参数只影响 shell runtime,不改变 sandbox 权限模型。
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Shell 可选运行参数。
|
|
11
|
+
*/
|
|
12
|
+
export interface ShellRuntimeOptions {
|
|
13
|
+
/**
|
|
14
|
+
* 最大 in-memory shell session 数量。
|
|
15
|
+
*
|
|
16
|
+
* 超过该数量时,runtime 会优先清理已经结束的旧 session;如果仍然超限则拒绝启动新 shell。
|
|
17
|
+
*/
|
|
18
|
+
maxActiveShells?: number;
|
|
19
|
+
/**
|
|
20
|
+
* 终态 shell session 在内存中保留多久后自动清理,单位毫秒。
|
|
21
|
+
*/
|
|
22
|
+
cleanupDelayMs?: number;
|
|
23
|
+
/**
|
|
24
|
+
* 单个 shell session 在内存中保留的最大输出字符数。
|
|
25
|
+
*
|
|
26
|
+
* 超出的历史输出仍会写入持久化输出文件,但内存快照只保留尾部内容。
|
|
27
|
+
*/
|
|
28
|
+
maxInMemoryOutputChars?: number;
|
|
29
|
+
/**
|
|
30
|
+
* shell 输出预览保留的最大字符数。
|
|
31
|
+
*/
|
|
32
|
+
outputPreviewChars?: number;
|
|
33
|
+
/**
|
|
34
|
+
* wait/timeout 参数允许的最小毫秒数。
|
|
35
|
+
*/
|
|
36
|
+
minWaitMs?: number;
|
|
37
|
+
/**
|
|
38
|
+
* wait/timeout 参数允许的最大毫秒数。
|
|
39
|
+
*/
|
|
40
|
+
maxWaitMs?: number;
|
|
41
|
+
/**
|
|
42
|
+
* `shell.start` 默认内联等待时间,单位毫秒。
|
|
43
|
+
*/
|
|
44
|
+
defaultInlineWaitMs?: number;
|
|
45
|
+
/**
|
|
46
|
+
* `shell.wait` 默认等待超时,单位毫秒。
|
|
47
|
+
*/
|
|
48
|
+
defaultWaitTimeoutMs?: number;
|
|
49
|
+
/**
|
|
50
|
+
* `shell.exec` 默认总超时,单位毫秒。
|
|
51
|
+
*/
|
|
52
|
+
defaultExecTimeoutMs?: number;
|
|
53
|
+
/**
|
|
54
|
+
* unrestricted sandbox 审批默认超时时间,单位毫秒。
|
|
55
|
+
*/
|
|
56
|
+
defaultApprovalTimeoutMs?: number;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Shell 归一化后的运行参数。
|
|
60
|
+
*/
|
|
61
|
+
export interface ResolvedShellRuntimeOptions {
|
|
62
|
+
/**
|
|
63
|
+
* 最大 in-memory shell session 数量。
|
|
64
|
+
*/
|
|
65
|
+
maxActiveShells: number;
|
|
66
|
+
/**
|
|
67
|
+
* 终态 shell session 在内存中保留多久后自动清理,单位毫秒。
|
|
68
|
+
*/
|
|
69
|
+
cleanupDelayMs: number;
|
|
70
|
+
/**
|
|
71
|
+
* 单个 shell session 在内存中保留的最大输出字符数。
|
|
72
|
+
*/
|
|
73
|
+
maxInMemoryOutputChars: number;
|
|
74
|
+
/**
|
|
75
|
+
* shell 输出预览保留的最大字符数。
|
|
76
|
+
*/
|
|
77
|
+
outputPreviewChars: number;
|
|
78
|
+
/**
|
|
79
|
+
* wait/timeout 参数允许的最小毫秒数。
|
|
80
|
+
*/
|
|
81
|
+
minWaitMs: number;
|
|
82
|
+
/**
|
|
83
|
+
* wait/timeout 参数允许的最大毫秒数。
|
|
84
|
+
*/
|
|
85
|
+
maxWaitMs: number;
|
|
86
|
+
/**
|
|
87
|
+
* `shell.start` 默认内联等待时间,单位毫秒。
|
|
88
|
+
*/
|
|
89
|
+
defaultInlineWaitMs: number;
|
|
90
|
+
/**
|
|
91
|
+
* `shell.wait` 默认等待超时,单位毫秒。
|
|
92
|
+
*/
|
|
93
|
+
defaultWaitTimeoutMs: number;
|
|
94
|
+
/**
|
|
95
|
+
* `shell.exec` 默认总超时,单位毫秒。
|
|
96
|
+
*/
|
|
97
|
+
defaultExecTimeoutMs: number;
|
|
98
|
+
/**
|
|
99
|
+
* unrestricted sandbox 审批默认超时时间,单位毫秒。
|
|
100
|
+
*/
|
|
101
|
+
defaultApprovalTimeoutMs: number;
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=ShellRuntimeOptions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ShellRuntimeOptions.d.ts","sourceRoot":"","sources":["../../src/types/ShellRuntimeOptions.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B;;OAEG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B;;OAEG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B;;OAEG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,sBAAsB,EAAE,MAAM,CAAC;IAE/B;;OAEG;IACH,kBAAkB,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,mBAAmB,EAAE,MAAM,CAAC;IAE5B;;OAEG;IACH,oBAAoB,EAAE,MAAM,CAAC;IAE7B;;OAEG;IACH,oBAAoB,EAAE,MAAM,CAAC;IAE7B;;OAEG;IACH,wBAAwB,EAAE,MAAM,CAAC;CAClC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ShellRuntimeOptions.js","sourceRoot":"","sources":["../../src/types/ShellRuntimeOptions.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
|