@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.
Files changed (141) hide show
  1. package/bin/Shell.d.ts +55 -0
  2. package/bin/Shell.d.ts.map +1 -0
  3. package/bin/Shell.js +171 -0
  4. package/bin/Shell.js.map +1 -0
  5. package/bin/approval/ShellApprovalRuntime.d.ts +62 -0
  6. package/bin/approval/ShellApprovalRuntime.d.ts.map +1 -0
  7. package/bin/approval/ShellApprovalRuntime.js +214 -0
  8. package/bin/approval/ShellApprovalRuntime.js.map +1 -0
  9. package/bin/index.d.ts +27 -0
  10. package/bin/index.d.ts.map +1 -0
  11. package/bin/index.js +26 -0
  12. package/bin/index.js.map +1 -0
  13. package/bin/sandbox/LinuxBubblewrapSandbox.d.ts +19 -0
  14. package/bin/sandbox/LinuxBubblewrapSandbox.d.ts.map +1 -0
  15. package/bin/sandbox/LinuxBubblewrapSandbox.js +186 -0
  16. package/bin/sandbox/LinuxBubblewrapSandbox.js.map +1 -0
  17. package/bin/sandbox/MacOsSeatbeltSandbox.d.ts +16 -0
  18. package/bin/sandbox/MacOsSeatbeltSandbox.d.ts.map +1 -0
  19. package/bin/sandbox/MacOsSeatbeltSandbox.js +154 -0
  20. package/bin/sandbox/MacOsSeatbeltSandbox.js.map +1 -0
  21. package/bin/sandbox/SandboxConfigResolver.d.ts +37 -0
  22. package/bin/sandbox/SandboxConfigResolver.d.ts.map +1 -0
  23. package/bin/sandbox/SandboxConfigResolver.js +130 -0
  24. package/bin/sandbox/SandboxConfigResolver.js.map +1 -0
  25. package/bin/sandbox/SandboxPreflight.d.ts +73 -0
  26. package/bin/sandbox/SandboxPreflight.d.ts.map +1 -0
  27. package/bin/sandbox/SandboxPreflight.js +122 -0
  28. package/bin/sandbox/SandboxPreflight.js.map +1 -0
  29. package/bin/sandbox/SandboxRunner.d.ts +61 -0
  30. package/bin/sandbox/SandboxRunner.d.ts.map +1 -0
  31. package/bin/sandbox/SandboxRunner.js +107 -0
  32. package/bin/sandbox/SandboxRunner.js.map +1 -0
  33. package/bin/sandbox/UnrestrictedSandbox.d.ts +16 -0
  34. package/bin/sandbox/UnrestrictedSandbox.d.ts.map +1 -0
  35. package/bin/sandbox/UnrestrictedSandbox.js +39 -0
  36. package/bin/sandbox/UnrestrictedSandbox.js.map +1 -0
  37. package/bin/sandbox/types/Sandbox.d.ts +130 -0
  38. package/bin/sandbox/types/Sandbox.d.ts.map +1 -0
  39. package/bin/sandbox/types/Sandbox.js +10 -0
  40. package/bin/sandbox/types/Sandbox.js.map +1 -0
  41. package/bin/sandbox/types/SandboxRuntime.d.ts +370 -0
  42. package/bin/sandbox/types/SandboxRuntime.d.ts.map +1 -0
  43. package/bin/sandbox/types/SandboxRuntime.js +10 -0
  44. package/bin/sandbox/types/SandboxRuntime.js.map +1 -0
  45. package/bin/session/Paths.d.ts +12 -0
  46. package/bin/session/Paths.d.ts.map +1 -0
  47. package/bin/session/Paths.js +21 -0
  48. package/bin/session/Paths.js.map +1 -0
  49. package/bin/session/ShellActionResponse.d.ts +52 -0
  50. package/bin/session/ShellActionResponse.d.ts.map +1 -0
  51. package/bin/session/ShellActionResponse.js +73 -0
  52. package/bin/session/ShellActionResponse.js.map +1 -0
  53. package/bin/session/ShellActionRuntime.d.ts +15 -0
  54. package/bin/session/ShellActionRuntime.d.ts.map +1 -0
  55. package/bin/session/ShellActionRuntime.js +15 -0
  56. package/bin/session/ShellActionRuntime.js.map +1 -0
  57. package/bin/session/ShellActionRuntimeSupport.d.ts +88 -0
  58. package/bin/session/ShellActionRuntimeSupport.d.ts.map +1 -0
  59. package/bin/session/ShellActionRuntimeSupport.js +305 -0
  60. package/bin/session/ShellActionRuntimeSupport.js.map +1 -0
  61. package/bin/session/ShellProcessEvents.d.ts +22 -0
  62. package/bin/session/ShellProcessEvents.d.ts.map +1 -0
  63. package/bin/session/ShellProcessEvents.js +41 -0
  64. package/bin/session/ShellProcessEvents.js.map +1 -0
  65. package/bin/session/ShellRunScope.d.ts +43 -0
  66. package/bin/session/ShellRunScope.d.ts.map +1 -0
  67. package/bin/session/ShellRunScope.js +29 -0
  68. package/bin/session/ShellRunScope.js.map +1 -0
  69. package/bin/session/ShellRuntimeEnvironment.d.ts +21 -0
  70. package/bin/session/ShellRuntimeEnvironment.d.ts.map +1 -0
  71. package/bin/session/ShellRuntimeEnvironment.js +69 -0
  72. package/bin/session/ShellRuntimeEnvironment.js.map +1 -0
  73. package/bin/session/ShellRuntimeTypes.d.ts +160 -0
  74. package/bin/session/ShellRuntimeTypes.d.ts.map +1 -0
  75. package/bin/session/ShellRuntimeTypes.js +10 -0
  76. package/bin/session/ShellRuntimeTypes.js.map +1 -0
  77. package/bin/session/actions/ShellActionShared.d.ts +76 -0
  78. package/bin/session/actions/ShellActionShared.d.ts.map +1 -0
  79. package/bin/session/actions/ShellActionShared.js +100 -0
  80. package/bin/session/actions/ShellActionShared.js.map +1 -0
  81. package/bin/session/actions/ShellApprovalActions.d.ts +34 -0
  82. package/bin/session/actions/ShellApprovalActions.d.ts.map +1 -0
  83. package/bin/session/actions/ShellApprovalActions.js +37 -0
  84. package/bin/session/actions/ShellApprovalActions.js.map +1 -0
  85. package/bin/session/actions/ShellExecActions.d.ts +15 -0
  86. package/bin/session/actions/ShellExecActions.d.ts.map +1 -0
  87. package/bin/session/actions/ShellExecActions.js +117 -0
  88. package/bin/session/actions/ShellExecActions.js.map +1 -0
  89. package/bin/session/actions/ShellLifecycleActions.d.ts +18 -0
  90. package/bin/session/actions/ShellLifecycleActions.d.ts.map +1 -0
  91. package/bin/session/actions/ShellLifecycleActions.js +53 -0
  92. package/bin/session/actions/ShellLifecycleActions.js.map +1 -0
  93. package/bin/session/actions/ShellQueryActions.d.ts +27 -0
  94. package/bin/session/actions/ShellQueryActions.d.ts.map +1 -0
  95. package/bin/session/actions/ShellQueryActions.js +151 -0
  96. package/bin/session/actions/ShellQueryActions.js.map +1 -0
  97. package/bin/session/actions/ShellStartActions.d.ts +15 -0
  98. package/bin/session/actions/ShellStartActions.d.ts.map +1 -0
  99. package/bin/session/actions/ShellStartActions.js +167 -0
  100. package/bin/session/actions/ShellStartActions.js.map +1 -0
  101. package/bin/session/actions/ShellWriteActions.d.ts +15 -0
  102. package/bin/session/actions/ShellWriteActions.d.ts.map +1 -0
  103. package/bin/session/actions/ShellWriteActions.js +85 -0
  104. package/bin/session/actions/ShellWriteActions.js.map +1 -0
  105. package/bin/tool/ShellToolFormatting.d.ts +12 -0
  106. package/bin/tool/ShellToolFormatting.d.ts.map +1 -0
  107. package/bin/tool/ShellToolFormatting.js +31 -0
  108. package/bin/tool/ShellToolFormatting.js.map +1 -0
  109. package/bin/tool/ShellToolSchemas.d.ts +61 -0
  110. package/bin/tool/ShellToolSchemas.d.ts.map +1 -0
  111. package/bin/tool/ShellToolSchemas.js +130 -0
  112. package/bin/tool/ShellToolSchemas.js.map +1 -0
  113. package/bin/tool/ShellTools.d.ts +32 -0
  114. package/bin/tool/ShellTools.d.ts.map +1 -0
  115. package/bin/tool/ShellTools.js +296 -0
  116. package/bin/tool/ShellTools.js.map +1 -0
  117. package/bin/types/Shell.d.ts +115 -0
  118. package/bin/types/Shell.d.ts.map +1 -0
  119. package/bin/types/Shell.js +9 -0
  120. package/bin/types/Shell.js.map +1 -0
  121. package/bin/types/ShellAction.d.ts +258 -0
  122. package/bin/types/ShellAction.d.ts.map +1 -0
  123. package/bin/types/ShellAction.js +9 -0
  124. package/bin/types/ShellAction.js.map +1 -0
  125. package/bin/types/ShellHostContext.d.ts +78 -0
  126. package/bin/types/ShellHostContext.d.ts.map +1 -0
  127. package/bin/types/ShellHostContext.js +9 -0
  128. package/bin/types/ShellHostContext.js.map +1 -0
  129. package/bin/types/ShellRuntime.d.ts +128 -0
  130. package/bin/types/ShellRuntime.d.ts.map +1 -0
  131. package/bin/types/ShellRuntime.js +9 -0
  132. package/bin/types/ShellRuntime.js.map +1 -0
  133. package/bin/types/ShellRuntimeOptions.d.ts +103 -0
  134. package/bin/types/ShellRuntimeOptions.d.ts.map +1 -0
  135. package/bin/types/ShellRuntimeOptions.js +10 -0
  136. package/bin/types/ShellRuntimeOptions.js.map +1 -0
  137. package/bin/utils/Id.d.ts +11 -0
  138. package/bin/utils/Id.d.ts.map +1 -0
  139. package/bin/utils/Id.js +14 -0
  140. package/bin/utils/Id.js.map +1 -0
  141. package/package.json +81 -0
@@ -0,0 +1,370 @@
1
+ /**
2
+ * SandboxRuntime 类型定义。
3
+ *
4
+ * 关键点(中文)
5
+ * - 这里放的是 agent 执行层内部使用的最小 sandbox 运行时类型。
6
+ * - 当前只围绕 agent 级 sandbox spawn 设计,不引入复杂 provider / policy / binding 对象。
7
+ * - 目标是让 shell、task script 等本地执行入口都能复用同一个 agent sandbox 边界。
8
+ */
9
+ import type { ChildProcessWithoutNullStreams } from "node:child_process";
10
+ import type { SandboxConfig } from "../../sandbox/types/Sandbox.js";
11
+ import type { SandboxNetworkMode } from "../../sandbox/types/Sandbox.js";
12
+ /**
13
+ * 当前内置支持的 sandbox backend。
14
+ */
15
+ export type SandboxBackend = "macos-seatbelt" | "linux-bubblewrap" | "unrestricted-host";
16
+ /**
17
+ * sandbox 会话状态。
18
+ *
19
+ * 说明(中文)
20
+ * - `shell_exec` 这类 one-shot 命令通常会很快走到终态。
21
+ * - `shell_start` 则会维持一个状态化 sandbox session。
22
+ */
23
+ export type SandboxSessionStatus = "starting" | "running" | "completed" | "failed" | "killed" | "expired";
24
+ /**
25
+ * 单个 sandbox session 快照。
26
+ */
27
+ export interface SandboxSessionSnapshot {
28
+ /**
29
+ * sandbox 唯一标识。
30
+ */
31
+ sandboxId: string;
32
+ /**
33
+ * 原始命令文本。
34
+ */
35
+ cmd: string;
36
+ /**
37
+ * 当前 sandbox 实际工作目录。
38
+ */
39
+ cwd: string;
40
+ /**
41
+ * 当前 sandbox 状态。
42
+ */
43
+ status: SandboxSessionStatus;
44
+ /**
45
+ * 进程 pid。
46
+ *
47
+ * 说明(中文)
48
+ * - 某些 backend 可能拿不到宿主 pid,这时为空。
49
+ */
50
+ pid?: number;
51
+ /**
52
+ * 创建时间戳(毫秒)。
53
+ */
54
+ startedAt: number;
55
+ /**
56
+ * 最近更新时间戳(毫秒)。
57
+ */
58
+ updatedAt: number;
59
+ /**
60
+ * 结束时间戳(毫秒)。
61
+ */
62
+ endedAt?: number;
63
+ /**
64
+ * 退出码。
65
+ */
66
+ exitCode?: number;
67
+ /**
68
+ * 最近输出预览。
69
+ */
70
+ lastOutputPreview?: string;
71
+ /**
72
+ * 累计输出字符数。
73
+ */
74
+ outputChars: number;
75
+ /**
76
+ * 版本号。
77
+ *
78
+ * 说明(中文)
79
+ * - 任意状态或输出变化都递增,供 wait/read 增量判断使用。
80
+ */
81
+ version: number;
82
+ }
83
+ /**
84
+ * sandbox 输出块。
85
+ */
86
+ export interface SandboxOutputChunk {
87
+ /**
88
+ * 当前输出块所属 sandbox 标识。
89
+ */
90
+ sandboxId: string;
91
+ /**
92
+ * 输出文本。
93
+ */
94
+ output: string;
95
+ /**
96
+ * 起始游标。
97
+ */
98
+ startCursor: number;
99
+ /**
100
+ * 结束游标。
101
+ */
102
+ endCursor: number;
103
+ /**
104
+ * 原始输出字符数。
105
+ */
106
+ originalChars: number;
107
+ /**
108
+ * 是否还有更多输出未读。
109
+ */
110
+ hasMoreOutput: boolean;
111
+ }
112
+ /**
113
+ * one-shot 命令执行请求。
114
+ */
115
+ export interface SandboxExecRequest {
116
+ /**
117
+ * 最终使用的 sandbox 配置。
118
+ */
119
+ config: SandboxConfig;
120
+ /**
121
+ * 要执行的命令文本。
122
+ */
123
+ cmd: string;
124
+ /**
125
+ * 可选工作目录。
126
+ */
127
+ cwd?: string;
128
+ /**
129
+ * 可选 shell 可执行文件。
130
+ */
131
+ shell?: string;
132
+ /**
133
+ * 是否以 login shell 语义执行。
134
+ */
135
+ login?: boolean;
136
+ }
137
+ /**
138
+ * 状态化 sandbox session 启动请求。
139
+ */
140
+ export interface SandboxStartRequest extends SandboxExecRequest {
141
+ }
142
+ /**
143
+ * sandbox 会话读取请求。
144
+ */
145
+ export interface SandboxReadRequest {
146
+ /**
147
+ * 目标 sandbox 标识。
148
+ */
149
+ sandboxId: string;
150
+ /**
151
+ * 从哪个游标开始增量读取。
152
+ */
153
+ fromCursor?: number;
154
+ }
155
+ /**
156
+ * sandbox 会话写入请求。
157
+ */
158
+ export interface SandboxWriteRequest {
159
+ /**
160
+ * 目标 sandbox 标识。
161
+ */
162
+ sandboxId: string;
163
+ /**
164
+ * 要写入 stdin 的原始文本。
165
+ */
166
+ chars: string;
167
+ }
168
+ /**
169
+ * sandbox 会话等待请求。
170
+ */
171
+ export interface SandboxWaitRequest {
172
+ /**
173
+ * 目标 sandbox 标识。
174
+ */
175
+ sandboxId: string;
176
+ /**
177
+ * 仅当版本号大于该值时才立即返回。
178
+ */
179
+ afterVersion?: number;
180
+ /**
181
+ * 最长等待毫秒数。
182
+ */
183
+ timeoutMs?: number;
184
+ }
185
+ /**
186
+ * sandbox 会话关闭请求。
187
+ */
188
+ export interface SandboxCloseRequest {
189
+ /**
190
+ * 目标 sandbox 标识。
191
+ */
192
+ sandboxId: string;
193
+ /**
194
+ * 是否强制关闭。
195
+ */
196
+ force?: boolean;
197
+ }
198
+ /**
199
+ * `SandboxRunner` 最小接口。
200
+ *
201
+ * 说明(中文)
202
+ * - `exec` 用于 one-shot 命令。
203
+ * - `start/read/write/wait/close` 用于状态化 shell session。
204
+ */
205
+ export interface SandboxRunner {
206
+ /**
207
+ * 执行一次 one-shot 命令并等待完成。
208
+ */
209
+ exec(request: SandboxExecRequest): Promise<{
210
+ snapshot: SandboxSessionSnapshot;
211
+ chunk: SandboxOutputChunk;
212
+ }>;
213
+ /**
214
+ * 启动一个状态化 sandbox session。
215
+ */
216
+ start(request: SandboxStartRequest): Promise<{
217
+ snapshot: SandboxSessionSnapshot;
218
+ chunk: SandboxOutputChunk;
219
+ }>;
220
+ /**
221
+ * 读取 sandbox 输出。
222
+ */
223
+ read(request: SandboxReadRequest): Promise<{
224
+ snapshot: SandboxSessionSnapshot;
225
+ chunk: SandboxOutputChunk;
226
+ }>;
227
+ /**
228
+ * 向 sandbox stdin 写入内容。
229
+ */
230
+ write(request: SandboxWriteRequest): Promise<{
231
+ snapshot: SandboxSessionSnapshot;
232
+ }>;
233
+ /**
234
+ * 等待 sandbox 状态变化。
235
+ */
236
+ wait(request: SandboxWaitRequest): Promise<{
237
+ snapshot: SandboxSessionSnapshot;
238
+ chunk: SandboxOutputChunk;
239
+ }>;
240
+ /**
241
+ * 关闭 sandbox session。
242
+ */
243
+ close(request: SandboxCloseRequest): Promise<{
244
+ snapshot: SandboxSessionSnapshot;
245
+ }>;
246
+ }
247
+ /**
248
+ * 运行时归一化后的 sandbox 配置。
249
+ *
250
+ * 说明(中文)
251
+ * - 这里的路径都已经解析成绝对路径。
252
+ * - 当前版本强制要求 shell 命令走 sandbox,不再允许回退到宿主机普通子进程执行。
253
+ */
254
+ export interface ResolvedSandboxConfig extends SandboxConfig {
255
+ /**
256
+ * 当前运行时选中的 backend。
257
+ */
258
+ backend: SandboxBackend;
259
+ /**
260
+ * 当前 Downcity sandbox 模式。
261
+ */
262
+ sandboxMode?: "safe" | "unrestricted";
263
+ /**
264
+ * 当前 agent 级 sandbox 的持久目录。
265
+ *
266
+ * 说明(中文)
267
+ * - 该目录不属于某个 shellId,而属于当前 agent 项目。
268
+ * - shell、task script 等所有 sandbox 子进程共享它作为 HOME/cache 根。
269
+ */
270
+ sandboxDir: string;
271
+ /**
272
+ * sandbox 子进程使用的 HOME。
273
+ */
274
+ homeDir: string;
275
+ /**
276
+ * sandbox 子进程使用的临时目录。
277
+ */
278
+ tmpDir: string;
279
+ /**
280
+ * sandbox 子进程使用的 XDG cache 目录。
281
+ */
282
+ cacheDir: string;
283
+ }
284
+ /**
285
+ * 单次 shell 启动时传给 sandbox backend 的归一化参数。
286
+ */
287
+ export interface SandboxSpawnParams {
288
+ /**
289
+ * 当前执行记录标识。
290
+ *
291
+ * 说明(中文)
292
+ * - shell runtime 传入 shellId,task script 可以传入自己的 executionId。
293
+ * - 它只用于日志与诊断,不参与 sandbox HOME/cache/权限边界的计算。
294
+ */
295
+ executionId: string;
296
+ /**
297
+ * 当前执行记录目录。
298
+ */
299
+ executionDir: string;
300
+ /**
301
+ * 要执行的原始命令文本。
302
+ */
303
+ cmd: string;
304
+ /**
305
+ * 最终工作目录。
306
+ */
307
+ cwd: string;
308
+ /**
309
+ * shell 可执行文件路径。
310
+ */
311
+ shellPath: string;
312
+ /**
313
+ * 是否使用 login shell 语义。
314
+ */
315
+ login: boolean;
316
+ /**
317
+ * sandbox 生效前的基础环境变量。
318
+ */
319
+ baseEnv: NodeJS.ProcessEnv;
320
+ /**
321
+ * 当前请求最终使用的 sandbox 配置。
322
+ */
323
+ config: ResolvedSandboxConfig;
324
+ }
325
+ /**
326
+ * sandbox backend 返回的进程启动结果。
327
+ */
328
+ export interface SandboxSpawnResult {
329
+ /**
330
+ * 已启动的子进程句柄。
331
+ */
332
+ child: ChildProcessWithoutNullStreams;
333
+ /**
334
+ * 当前子进程实际使用的工作目录。
335
+ */
336
+ cwd: string;
337
+ /**
338
+ * 当前进程是否实际运行在 sandbox 中。
339
+ */
340
+ sandboxed: boolean;
341
+ /**
342
+ * 当前 Downcity sandbox 模式。
343
+ */
344
+ sandboxMode?: "safe" | "unrestricted";
345
+ /**
346
+ * 当前使用的 backend 名称。
347
+ */
348
+ backend: SandboxBackend;
349
+ /**
350
+ * 当前实际采用的网络模式。
351
+ */
352
+ networkMode: SandboxNetworkMode;
353
+ /**
354
+ * 当前 agent 级 sandbox 的持久目录。
355
+ */
356
+ sandboxDir: string;
357
+ /**
358
+ * 当前子进程使用的 HOME。
359
+ */
360
+ homeDir: string;
361
+ /**
362
+ * 当前子进程使用的临时目录。
363
+ */
364
+ tmpDir: string;
365
+ /**
366
+ * 当前子进程使用的 XDG cache 目录。
367
+ */
368
+ cacheDir: string;
369
+ }
370
+ //# sourceMappingURL=SandboxRuntime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SandboxRuntime.d.ts","sourceRoot":"","sources":["../../../src/sandbox/types/SandboxRuntime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * SandboxRuntime 类型定义。
3
+ *
4
+ * 关键点(中文)
5
+ * - 这里放的是 agent 执行层内部使用的最小 sandbox 运行时类型。
6
+ * - 当前只围绕 agent 级 sandbox spawn 设计,不引入复杂 provider / policy / binding 对象。
7
+ * - 目标是让 shell、task script 等本地执行入口都能复用同一个 agent sandbox 边界。
8
+ */
9
+ export {};
10
+ //# sourceMappingURL=SandboxRuntime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SandboxRuntime.js","sourceRoot":"","sources":["../../../src/sandbox/types/SandboxRuntime.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Shell service 路径工具。
3
+ *
4
+ * 关键点(中文)
5
+ * - shell 运行产物统一落在 `.downcity/shell/<shellId>/`。
6
+ * - 目录结构简单稳定,便于调试与后续恢复。
7
+ */
8
+ export declare function getShellRootDir(projectRoot: string): string;
9
+ export declare function getShellDir(projectRoot: string, shellId: string): string;
10
+ export declare function getShellSnapshotPath(projectRoot: string, shellId: string): string;
11
+ export declare function getShellOutputPath(projectRoot: string, shellId: string): string;
12
+ //# sourceMappingURL=Paths.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Paths.d.ts","sourceRoot":"","sources":["../../src/session/Paths.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAExE;AAED,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,GACd,MAAM,CAER;AAED,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAE/E"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Shell service 路径工具。
3
+ *
4
+ * 关键点(中文)
5
+ * - shell 运行产物统一落在 `.downcity/shell/<shellId>/`。
6
+ * - 目录结构简单稳定,便于调试与后续恢复。
7
+ */
8
+ import path from "node:path";
9
+ export function getShellRootDir(projectRoot) {
10
+ return path.join(projectRoot, ".downcity", "shell");
11
+ }
12
+ export function getShellDir(projectRoot, shellId) {
13
+ return path.join(getShellRootDir(projectRoot), String(shellId || "").trim());
14
+ }
15
+ export function getShellSnapshotPath(projectRoot, shellId) {
16
+ return path.join(getShellDir(projectRoot, shellId), "snapshot.json");
17
+ }
18
+ export function getShellOutputPath(projectRoot, shellId) {
19
+ return path.join(getShellDir(projectRoot, shellId), "output.log");
20
+ }
21
+ //# sourceMappingURL=Paths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Paths.js","sourceRoot":"","sources":["../../src/session/Paths.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,UAAU,eAAe,CAAC,WAAmB;IACjD,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,WAAmB,EAAE,OAAe;IAC9D,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,WAAmB,EACnB,OAAe;IAEf,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,eAAe,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,WAAmB,EAAE,OAAe;IACrE,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC;AACpE,CAAC"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Shell action 返回结构辅助。
3
+ *
4
+ * 关键点(中文)
5
+ * - 集中处理输出游标、token 近似裁剪与标准 action response。
6
+ * - 这里不读取文件、不修改 session,只基于传入文本构造返回对象。
7
+ */
8
+ import type { ShellHostContext } from "../types/ShellHostContext.js";
9
+ import type { ShellActionResponse, ShellOutputChunk, ShellSessionSnapshot } from "../types/ShellAction.js";
10
+ /**
11
+ * 根据游标与 token 限制构造输出块。
12
+ */
13
+ export declare function createOutputChunk(params: {
14
+ /**
15
+ * 当前 shell session 标识。
16
+ */
17
+ shellId: string;
18
+ /**
19
+ * 当前完整输出文本。
20
+ */
21
+ outputText: string;
22
+ /**
23
+ * 本次读取起始游标。
24
+ */
25
+ fromCursor?: number;
26
+ /**
27
+ * 当前 Agent 执行上下文。
28
+ */
29
+ context: ShellHostContext;
30
+ /**
31
+ * 输出 token 近似上限。
32
+ */
33
+ maxOutputTokens?: number;
34
+ }): ShellOutputChunk;
35
+ /**
36
+ * 构造 shell action 标准返回。
37
+ */
38
+ export declare function buildActionResponse(params: {
39
+ /**
40
+ * 当前 shell 快照。
41
+ */
42
+ shell: ShellSessionSnapshot;
43
+ /**
44
+ * 可选输出块。
45
+ */
46
+ chunk?: ShellOutputChunk;
47
+ /**
48
+ * 可选人类可读提示。
49
+ */
50
+ note?: string;
51
+ }): ShellActionResponse;
52
+ //# sourceMappingURL=ShellActionResponse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShellActionResponse.d.ts","sourceRoot":"","sources":["../../src/session/ShellActionResponse.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,EACV,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,wBAAwB,CAAC;AA+ChC;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE;IACxC;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,OAAO,EAAE,gBAAgB,CAAC;IAC1B;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,GAAG,gBAAgB,CA0BnB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE;IAC1C;;OAEG;IACH,KAAK,EAAE,oBAAoB,CAAC;IAC5B;;OAEG;IACH,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GAAG,mBAAmB,CAMtB"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Shell action 返回结构辅助。
3
+ *
4
+ * 关键点(中文)
5
+ * - 集中处理输出游标、token 近似裁剪与标准 action response。
6
+ * - 这里不读取文件、不修改 session,只基于传入文本构造返回对象。
7
+ */
8
+ const DEFAULT_MAX_OUTPUT_CHARS = 12_000;
9
+ const DEFAULT_MAX_OUTPUT_LINES = 200;
10
+ const APPROX_CHARS_PER_TOKEN = 4;
11
+ function resolveOutputLimits(params) {
12
+ const byTokens = typeof params.maxOutputTokens === "number" &&
13
+ Number.isFinite(params.maxOutputTokens) &&
14
+ params.maxOutputTokens > 0
15
+ ? Math.max(200, Math.floor(params.maxOutputTokens * APPROX_CHARS_PER_TOKEN))
16
+ : null;
17
+ return {
18
+ maxChars: byTokens == null
19
+ ? DEFAULT_MAX_OUTPUT_CHARS
20
+ : Math.min(DEFAULT_MAX_OUTPUT_CHARS, byTokens),
21
+ maxLines: DEFAULT_MAX_OUTPUT_LINES,
22
+ };
23
+ }
24
+ function splitOutputByLimits(text, maxChars, maxLines) {
25
+ const limitedByChars = text.slice(0, Math.min(text.length, maxChars));
26
+ let head = limitedByChars;
27
+ if (maxLines > 0) {
28
+ const lines = limitedByChars.split("\n");
29
+ if (lines.length > maxLines) {
30
+ head = lines.slice(0, maxLines).join("\n");
31
+ }
32
+ }
33
+ return {
34
+ head,
35
+ tail: text.slice(head.length),
36
+ };
37
+ }
38
+ /**
39
+ * 根据游标与 token 限制构造输出块。
40
+ */
41
+ export function createOutputChunk(params) {
42
+ const fromCursor = typeof params.fromCursor === "number" && params.fromCursor >= 0
43
+ ? Math.floor(params.fromCursor)
44
+ : 0;
45
+ const available = params.outputText.slice(fromCursor);
46
+ const originalChars = available.length;
47
+ const originalLines = available ? available.split("\n").length : 0;
48
+ const limits = resolveOutputLimits({
49
+ context: params.context,
50
+ maxOutputTokens: params.maxOutputTokens,
51
+ });
52
+ const { head, tail } = splitOutputByLimits(available, limits.maxChars, limits.maxLines);
53
+ return {
54
+ shellId: params.shellId,
55
+ output: head,
56
+ startCursor: fromCursor,
57
+ endCursor: fromCursor + head.length,
58
+ originalChars,
59
+ originalLines,
60
+ hasMoreOutput: tail.length > 0,
61
+ };
62
+ }
63
+ /**
64
+ * 构造 shell action 标准返回。
65
+ */
66
+ export function buildActionResponse(params) {
67
+ return {
68
+ shell: params.shell,
69
+ ...(params.chunk ? { chunk: params.chunk } : {}),
70
+ ...(params.note ? { note: params.note } : {}),
71
+ };
72
+ }
73
+ //# sourceMappingURL=ShellActionResponse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShellActionResponse.js","sourceRoot":"","sources":["../../src/session/ShellActionResponse.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Shell action 运行时公开入口。
3
+ *
4
+ * 关键点(中文)
5
+ * - 本文件只作为稳定导出门面,保持旧 import 路径不变。
6
+ * - 具体 action 编排已拆到 `session/actions/*`,避免单模块继续膨胀。
7
+ */
8
+ export { createShellRuntimeState } from "./ShellActionRuntimeSupport.js";
9
+ export { bindShellRuntime, closeAllShellSessions, } from "./actions/ShellLifecycleActions.js";
10
+ export { startShellSession, } from "./actions/ShellStartActions.js";
11
+ export { closeShellSession, getShellSessionStatus, readShellSession, waitShellSession, } from "./actions/ShellQueryActions.js";
12
+ export { writeShellSession, } from "./actions/ShellWriteActions.js";
13
+ export { execShellCommand, } from "./actions/ShellExecActions.js";
14
+ export { approveShellApproval, denyShellApproval, listShellApprovals, } from "./actions/ShellApprovalActions.js";
15
+ //# sourceMappingURL=ShellActionRuntime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShellActionRuntime.d.ts","sourceRoot":"","sources":["../../src/session/ShellActionRuntime.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EACL,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,iBAAiB,GAClB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,iBAAiB,GAClB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,gBAAgB,GACjB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,mCAAmC,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Shell action 运行时公开入口。
3
+ *
4
+ * 关键点(中文)
5
+ * - 本文件只作为稳定导出门面,保持旧 import 路径不变。
6
+ * - 具体 action 编排已拆到 `session/actions/*`,避免单模块继续膨胀。
7
+ */
8
+ export { createShellRuntimeState } from "./ShellActionRuntimeSupport.js";
9
+ export { bindShellRuntime, closeAllShellSessions, } from "./actions/ShellLifecycleActions.js";
10
+ export { startShellSession, } from "./actions/ShellStartActions.js";
11
+ export { closeShellSession, getShellSessionStatus, readShellSession, waitShellSession, } from "./actions/ShellQueryActions.js";
12
+ export { writeShellSession, } from "./actions/ShellWriteActions.js";
13
+ export { execShellCommand, } from "./actions/ShellExecActions.js";
14
+ export { approveShellApproval, denyShellApproval, listShellApprovals, } from "./actions/ShellApprovalActions.js";
15
+ //# sourceMappingURL=ShellActionRuntime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShellActionRuntime.js","sourceRoot":"","sources":["../../src/session/ShellActionRuntime.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EACL,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,iBAAiB,GAClB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,iBAAiB,GAClB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,gBAAgB,GACjB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,mCAAmC,CAAC"}