chivgent 0.19.0 → 1.0.1
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 +136 -886
- package/README.zh-CN.md +71 -29
- package/dist/agent.d.ts +14 -1
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +195 -28
- package/dist/agent.js.map +1 -1
- package/dist/cli-options.d.ts +2 -0
- package/dist/cli-options.d.ts.map +1 -1
- package/dist/cli-options.js +12 -2
- package/dist/cli-options.js.map +1 -1
- package/dist/cli-runtime.d.ts +24 -0
- package/dist/cli-runtime.d.ts.map +1 -0
- package/dist/cli-runtime.js +64 -0
- package/dist/cli-runtime.js.map +1 -0
- package/dist/cli.js +29 -97
- package/dist/cli.js.map +1 -1
- package/dist/context/compaction.d.ts +5 -2
- package/dist/context/compaction.d.ts.map +1 -1
- package/dist/context/compaction.js +58 -32
- package/dist/context/compaction.js.map +1 -1
- package/dist/context/context-manager.d.ts +2 -0
- package/dist/context/context-manager.d.ts.map +1 -1
- package/dist/context/context-manager.js +4 -3
- package/dist/context/context-manager.js.map +1 -1
- package/dist/context/project-instructions.d.ts +17 -0
- package/dist/context/project-instructions.d.ts.map +1 -0
- package/dist/context/project-instructions.js +191 -0
- package/dist/context/project-instructions.js.map +1 -0
- package/dist/evals/baseline.d.ts +41 -0
- package/dist/evals/baseline.d.ts.map +1 -0
- package/dist/evals/baseline.js +121 -0
- package/dist/evals/baseline.js.map +1 -0
- package/dist/evals/cli.js +27 -1
- package/dist/evals/cli.js.map +1 -1
- package/dist/evals/parse-args.d.ts +2 -0
- package/dist/evals/parse-args.d.ts.map +1 -1
- package/dist/evals/parse-args.js +5 -0
- package/dist/evals/parse-args.js.map +1 -1
- package/dist/evals/report.d.ts +2 -0
- package/dist/evals/report.d.ts.map +1 -1
- package/dist/evals/report.js +12 -8
- package/dist/evals/report.js.map +1 -1
- package/dist/evals/runner.d.ts +3 -0
- package/dist/evals/runner.d.ts.map +1 -1
- package/dist/evals/runner.js +5 -1
- package/dist/evals/runner.js.map +1 -1
- package/dist/evals/task.d.ts.map +1 -1
- package/dist/evals/task.js +1 -0
- package/dist/evals/task.js.map +1 -1
- package/dist/evals/tools.d.ts +4 -1
- package/dist/evals/tools.d.ts.map +1 -1
- package/dist/evals/tools.js +11 -4
- package/dist/evals/tools.js.map +1 -1
- package/dist/events.d.ts +7 -1
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js.map +1 -1
- package/dist/patch/parse.d.ts +26 -0
- package/dist/patch/parse.d.ts.map +1 -0
- package/dist/patch/parse.js +117 -0
- package/dist/patch/parse.js.map +1 -0
- package/dist/prompts.d.ts +2 -2
- package/dist/prompts.d.ts.map +1 -1
- package/dist/prompts.js +4 -3
- package/dist/prompts.js.map +1 -1
- package/dist/providers/deferred-client.d.ts +2 -1
- package/dist/providers/deferred-client.d.ts.map +1 -1
- package/dist/providers/deferred-client.js +4 -0
- package/dist/providers/deferred-client.js.map +1 -1
- package/dist/providers/interactive.d.ts +31 -0
- package/dist/providers/interactive.d.ts.map +1 -0
- package/dist/providers/interactive.js +184 -0
- package/dist/providers/interactive.js.map +1 -0
- package/dist/remote/repl.d.ts.map +1 -1
- package/dist/remote/repl.js +6 -5
- package/dist/remote/repl.js.map +1 -1
- package/dist/repl.d.ts +43 -4
- package/dist/repl.d.ts.map +1 -1
- package/dist/repl.js +513 -32
- package/dist/repl.js.map +1 -1
- package/dist/session-store.d.ts +6 -2
- package/dist/session-store.d.ts.map +1 -1
- package/dist/session-store.js +5 -1
- package/dist/session-store.js.map +1 -1
- package/dist/session.d.ts +1 -0
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +38 -12
- package/dist/session.js.map +1 -1
- package/dist/shell/approval.d.ts +15 -0
- package/dist/shell/approval.d.ts.map +1 -0
- package/dist/shell/approval.js +25 -0
- package/dist/shell/approval.js.map +1 -0
- package/dist/shell/docker.d.ts +18 -0
- package/dist/shell/docker.d.ts.map +1 -0
- package/dist/shell/docker.js +83 -0
- package/dist/shell/docker.js.map +1 -0
- package/dist/shell/local.d.ts +1 -1
- package/dist/shell/local.d.ts.map +1 -1
- package/dist/shell/local.js +1 -1
- package/dist/shell/local.js.map +1 -1
- package/dist/tools/apply-patch.d.ts +18 -0
- package/dist/tools/apply-patch.d.ts.map +1 -0
- package/dist/tools/apply-patch.js +53 -0
- package/dist/tools/apply-patch.js.map +1 -0
- package/dist/tools/bash.d.ts +4 -0
- package/dist/tools/bash.d.ts.map +1 -1
- package/dist/tools/bash.js +28 -3
- package/dist/tools/bash.js.map +1 -1
- package/dist/tools/parallel.d.ts +14 -0
- package/dist/tools/parallel.d.ts.map +1 -0
- package/dist/tools/parallel.js +20 -0
- package/dist/tools/parallel.js.map +1 -0
- package/dist/tools/tool.d.ts +7 -0
- package/dist/tools/tool.d.ts.map +1 -1
- package/dist/tools/tool.js +7 -1
- package/dist/tools/tool.js.map +1 -1
- package/dist/tools/update-plan.d.ts +57 -0
- package/dist/tools/update-plan.d.ts.map +1 -0
- package/dist/tools/update-plan.js +99 -0
- package/dist/tools/update-plan.js.map +1 -0
- package/dist/tui/activity.d.ts +17 -0
- package/dist/tui/activity.d.ts.map +1 -0
- package/dist/tui/activity.js +188 -0
- package/dist/tui/activity.js.map +1 -0
- package/dist/tui/diff.d.ts +14 -0
- package/dist/tui/diff.d.ts.map +1 -0
- package/dist/tui/diff.js +57 -0
- package/dist/tui/diff.js.map +1 -0
- package/dist/tui/editor-input.d.ts +53 -0
- package/dist/tui/editor-input.d.ts.map +1 -0
- package/dist/tui/editor-input.js +353 -0
- package/dist/tui/editor-input.js.map +1 -0
- package/dist/tui/editor.d.ts +72 -0
- package/dist/tui/editor.d.ts.map +1 -0
- package/dist/tui/editor.js +321 -0
- package/dist/tui/editor.js.map +1 -0
- package/dist/tui/git-diff.d.ts +7 -0
- package/dist/tui/git-diff.d.ts.map +1 -0
- package/dist/tui/git-diff.js +48 -0
- package/dist/tui/git-diff.js.map +1 -0
- package/dist/tui/input.d.ts +20 -0
- package/dist/tui/input.d.ts.map +1 -1
- package/dist/tui/input.js +175 -13
- package/dist/tui/input.js.map +1 -1
- package/dist/tui/live.d.ts +8 -0
- package/dist/tui/live.d.ts.map +1 -1
- package/dist/tui/live.js +37 -5
- package/dist/tui/live.js.map +1 -1
- package/dist/tui/markdown.d.ts +7 -0
- package/dist/tui/markdown.d.ts.map +1 -0
- package/dist/tui/markdown.js +55 -0
- package/dist/tui/markdown.js.map +1 -0
- package/dist/tui/menu.d.ts +26 -0
- package/dist/tui/menu.d.ts.map +1 -0
- package/dist/tui/menu.js +75 -0
- package/dist/tui/menu.js.map +1 -0
- package/dist/tui/review.d.ts +27 -0
- package/dist/tui/review.d.ts.map +1 -0
- package/dist/tui/review.js +114 -0
- package/dist/tui/review.js.map +1 -0
- package/dist/tui/slash.d.ts +11 -0
- package/dist/tui/slash.d.ts.map +1 -0
- package/dist/tui/slash.js +13 -0
- package/dist/tui/slash.js.map +1 -0
- package/dist/tui/state.d.ts +5 -0
- package/dist/tui/state.d.ts.map +1 -1
- package/dist/tui/state.js +10 -1
- package/dist/tui/state.js.map +1 -1
- package/dist/tui/syntax.d.ts +6 -0
- package/dist/tui/syntax.d.ts.map +1 -0
- package/dist/tui/syntax.js +48 -0
- package/dist/tui/syntax.js.map +1 -0
- package/dist/tui/text.d.ts +2 -0
- package/dist/tui/text.d.ts.map +1 -1
- package/dist/tui/text.js +19 -0
- package/dist/tui/text.js.map +1 -1
- package/dist/tui/view.d.ts +1 -1
- package/dist/tui/view.d.ts.map +1 -1
- package/dist/tui/view.js +77 -31
- package/dist/tui/view.js.map +1 -1
- package/dist/tui/welcome.d.ts +7 -1
- package/dist/tui/welcome.d.ts.map +1 -1
- package/dist/tui/welcome.js +40 -23
- package/dist/tui/welcome.js.map +1 -1
- package/dist/workspace/patch.d.ts +11 -0
- package/dist/workspace/patch.d.ts.map +1 -0
- package/dist/workspace/patch.js +124 -0
- package/dist/workspace/patch.js.map +1 -0
- package/dist/workspace/types.d.ts +7 -0
- package/dist/workspace/types.d.ts.map +1 -1
- package/dist/workspace/types.js.map +1 -1
- package/dist/workspace.d.ts +2 -1
- package/dist/workspace.d.ts.map +1 -1
- package/dist/workspace.js +5 -0
- package/dist/workspace.js.map +1 -1
- package/package.json +2 -2
package/README.zh-CN.md
CHANGED
|
@@ -2,17 +2,19 @@
|
|
|
2
2
|
|
|
3
3
|
[English](README.md) | [简体中文](README.zh-CN.md)
|
|
4
4
|
|
|
5
|
-
>
|
|
5
|
+
> ⚠️ **本中文版已过时,请以 [英文 README](README.md) 为准。** 尤其是安全说明:`--allow-shell` 现在在离线 Docker 容器中运行命令,每条命令需逐条确认,且不向容器传入 API key(详见 [shell sandbox](docs/shell-sandbox.md))。下文中与此冲突的说法均已失效。
|
|
6
|
+
|
|
7
|
+
> 一款易读的终端 Coding Agent,提供流式 TUI 与可切换的 AI 供应商。
|
|
6
8
|
|
|
7
9
|

|
|
8
10
|

|
|
9
11
|
[](https://github.com/chivopic/chivgent/actions/workflows/ci.yml)
|
|
10
12
|
[](LICENSE)
|
|
11
|
-

|
|
12
14
|
|
|
13
15
|
`chivgent` 将 Provider 无关的 Agent Loop 与 LLM API、工具和工作区边界连接起来。
|
|
14
|
-
|
|
15
|
-
|
|
16
|
+
它可以发现文件、搜索源码、分段读取内容,并可按需编辑文件或运行命令;
|
|
17
|
+
支持 OpenAI、DeepSeek 和兼容 Chat Completions 的 API。
|
|
16
18
|
|
|
17
19
|
这个项目刻意保持精简:先让 Tool Calling、Conversation State、Provider Adapter
|
|
18
20
|
和循环终止条件容易理解,再逐步加入成熟 Agent Harness 所需的工程复杂度。
|
|
@@ -25,13 +27,14 @@
|
|
|
25
27
|
- API Key 依次从 `--api-key`、环境变量、可选文件解析。
|
|
26
28
|
- 通过 Responses API 支持 OpenAI。
|
|
27
29
|
- 通过通用 OpenAI-compatible Chat Completions 客户端支持 DeepSeek。
|
|
28
|
-
-
|
|
30
|
+
- 可通过 TUI、CLI 参数或环境变量配置自定义 OpenAI-compatible API。
|
|
31
|
+
- 滚动式 TUI:输入斜杠显示命令建议,可在菜单中选择供应商。
|
|
29
32
|
- 既可以进入带斜杠命令的交互式会话,也可以单次提问后退出。
|
|
30
33
|
- Session 以 JSON Lines 持久化,可以在之后的进程中恢复。
|
|
31
34
|
- 提供 `--json` 事件流,便于脚本和其他前端消费。
|
|
32
35
|
- 基于类型化运行时事件流的流式输出。
|
|
33
36
|
- 上下文管理器:压缩较早的轮次以待在窗口内。
|
|
34
|
-
- 可中断的运行:Ctrl+C
|
|
37
|
+
- 可中断的运行:Ctrl+C 停止当前回答;空闲时退出,不丢失会话记录。
|
|
35
38
|
- Provider 调用具备单次超时和有上限的指数退避重试。
|
|
36
39
|
- 通过 `list_files` 和字面量 `search_text` 确定性地发现项目内容。
|
|
37
40
|
- 支持带续读提示的分段 `read_file`,所有工具结果都有容量上限。
|
|
@@ -171,9 +174,13 @@ chivgent [选项] 进入交互式会话
|
|
|
171
174
|
-v, --version 显示版本
|
|
172
175
|
```
|
|
173
176
|
|
|
174
|
-
交互式会话中 `/help`
|
|
175
|
-
`/exit`。
|
|
176
|
-
|
|
177
|
+
交互式会话中 `/help` 会列出全部斜杠命令,包括 `/provider`、`/model`、`/endpoint`、`/login`、
|
|
178
|
+
`/session`、`/tools`、`/clear` 和 `/exit`。TUI 输入 `/` 会在当前输入行下方打开命令菜单;
|
|
179
|
+
输入 `/provider` 会打开供应商菜单,可用上下键选择并按 Enter 切换。
|
|
180
|
+
选中没有 Key 的供应商后会直接进入隐藏的 Key 输入;已有 Key 时直接可用。
|
|
181
|
+
`/login` 保留用于更换 Key。
|
|
182
|
+
运行中按 Ctrl+C 中断当前回答,不会退出会话;空闲时按 Ctrl+C 则退出(退出码 130)。
|
|
183
|
+
Ctrl+D 在空行时也可离开。当前为单行输入,一个输入批次只提交首行,
|
|
177
184
|
后续内容被丢弃;请等提示符重新出现后再输入下一条问题。
|
|
178
185
|
|
|
179
186
|
退出码:`0` 正常回答,`1` 配置或 Provider 失败,`2` 达到轮次上限,`130` 被
|
|
@@ -184,31 +191,43 @@ Ctrl+C 中断。
|
|
|
184
191
|
最省事的方式是直接启动 chivgent,让它来问:
|
|
185
192
|
|
|
186
193
|
```text
|
|
187
|
-
$ chivgent
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
Paste an API key for openai. It is not echoed.
|
|
196
|
-
It will be stored in ~/.chivgent/auth.json, readable only by you.
|
|
197
|
-
API key:
|
|
198
|
-
Stored the key for openai.
|
|
194
|
+
$ chivgent --tui
|
|
195
|
+
v1.0.0
|
|
196
|
+
openai / gpt-5.6
|
|
197
|
+
Start with /provider → choose a Provider
|
|
198
|
+
› /provider deepseek
|
|
199
|
+
Selected deepseek / deepseek-v4-flash. API key needed for deepseek.
|
|
200
|
+
API key for deepseek (hidden, saved locally; Enter skips):
|
|
201
|
+
Stored the key for deepseek. Ready for your next prompt.
|
|
199
202
|
›
|
|
200
203
|
```
|
|
201
204
|
|
|
202
|
-
**没有 Key
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
你紧接着敲的那句话就已经能用了。Key 输错了就再跑一次 `/login` 覆盖掉。
|
|
205
|
+
**没有 Key 时交互式会话照样能启动**。打开 `/provider`、选中供应商后,
|
|
206
|
+
TUI 会直接询问它的 Key;已有 Key 就跳过。Key 保存后立即生效,
|
|
207
|
+
无需再输入 `/login`。需要替换 Key 时仍可运行 `/login`。
|
|
206
208
|
|
|
207
209
|
输入的 Key 不会回显,`auth.json` 以仅所有者可读的权限写入。存的时候**不会**去
|
|
208
210
|
Provider 那里验证;你之后的第一次提问才是真正的检验。
|
|
209
211
|
|
|
210
212
|
非交互式运行在没有 Key 时依然立刻失败——管道里没有人可问。
|
|
211
213
|
|
|
214
|
+
在会话中换供应商或模型:
|
|
215
|
+
|
|
216
|
+
```text
|
|
217
|
+
› /provider # 打开供应商菜单,上下键选择
|
|
218
|
+
› /provider deepseek # 选用默认模型;缺 Key 时直接输入
|
|
219
|
+
› /model deepseek-v4-pro # 改用另一模型
|
|
220
|
+
› /provider openrouter # 先切换供应商
|
|
221
|
+
› /model anthropic/claude-sonnet-4 # 再设置该供应商的模型
|
|
222
|
+
› /provider openai-compatible
|
|
223
|
+
› /model vendor-model
|
|
224
|
+
› /endpoint https://api.vendor.example/v1
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
切换后保留会话历史。`--api-key` 仅用于启动时选择的供应商,不会被带到另一家。
|
|
228
|
+
从 OpenAI 在会话内切换到自定义兼容端点时,也不会复用 `OPENAI_API_KEY`;
|
|
229
|
+
TUI 会单独询问这个端点的 Key。
|
|
230
|
+
|
|
212
231
|
### Provider 配置
|
|
213
232
|
|
|
214
233
|
| Provider | API Key | 模型环境变量 | 默认模型 | API 形式 |
|
|
@@ -474,8 +493,7 @@ npm run release:check
|
|
|
474
493
|
构建一个可以在本地安装的 tarball:
|
|
475
494
|
|
|
476
495
|
```bash
|
|
477
|
-
npm pack
|
|
478
|
-
npm install -g ./chivgent-0.6.0.tgz
|
|
496
|
+
npm install -g "$(npm pack --silent)"
|
|
479
497
|
```
|
|
480
498
|
|
|
481
499
|
测试使用脚本化或 Mock LLM Client。真实 API Smoke Test 需要手工执行,因此默认
|
|
@@ -483,6 +501,28 @@ npm install -g ./chivgent-0.6.0.tgz
|
|
|
483
501
|
|
|
484
502
|
## Evals
|
|
485
503
|
|
|
504
|
+
**Agent 任务计划:** 复杂任务可通过参考 Codex 的 `update_plan` 更新结构化任务清单,TUI 显示进度,且不会授予额外文件或 Shell 权限。详见 [Agent 计划与进度](docs/agent-plan-progress.md)。
|
|
505
|
+
|
|
506
|
+
**TUI V5:** 默认输入框现支持斜杠命令补全、鼠标定位与拖选,以及需逐次确认的只读 `/gitdiff [--staged]` 工作区审查。详见 [TUI V5 指南](docs/tui-v5.md)。
|
|
507
|
+
|
|
508
|
+
**TUI V4:** `--tui` 默认使用可自由编辑的多行输入框:Enter 发送、Ctrl+O 换行、Ctrl+Z/Y 撤销重做、Ctrl+R 搜索历史。详见 [TUI V4 指南](docs/tui-v4.md)。
|
|
509
|
+
|
|
510
|
+
**TUI V3:** `/editor` 支持光标移动的真正多行输入(Ctrl+S 发送),`/review` 支持交互式翻页审查补丁,代码块具备基础语法高亮。详见 [TUI V3 指南](docs/tui-v3.md)。
|
|
511
|
+
|
|
512
|
+
**TUI V2:** 支持 `/compose` 多行输入、`/diff [页码]` 查看完整补丁、Markdown/代码块显示以及单键 Shell 审批。详见 [TUI V2 指南](docs/tui-v2.md)。
|
|
513
|
+
|
|
514
|
+
**并行只读工具:** 内置文件读取、目录列举与搜索最多同时执行 4 个;写入、Shell 与第三方扩展保持独占,模型接收的工具结果顺序不变。详见 [工具调度说明](docs/parallel-read-tools.md)。
|
|
515
|
+
|
|
516
|
+
**项目规则:** 支持分目录加载 `AGENTS.md` 与 `AGENTS.override.md`,详细作用域与上下文压缩说明见 [项目指令文档](docs/scoped-agents-md.md)。
|
|
517
|
+
|
|
518
|
+
**批量补丁:** `--allow-writes` 现在可以使用 `apply_patch` 一次修改多个文件,采用严格上下文校验;参见 [补丁格式和限制](docs/apply-patch.md)。
|
|
519
|
+
|
|
520
|
+
**Shell 安全提示:** `--allow-shell` 现在通过无网络的 Docker 容器执行命令,交互模式会逐条请求确认;非交互模式默认拒绝,除非显式使用 `--approve-all-shell`。限制与风险详见 [Shell 沙箱说明](docs/shell-sandbox.md)。
|
|
521
|
+
|
|
522
|
+
|
|
523
|
+
评测前请先运行 `npm run eval -- --dry-run --allow-writes --allow-shell`,在不调用模型的情况下校验任务和生成题目指纹。具体方法见 [基线评测指南](docs/eval-baseline-guide.md)。Token 用量缺失会标为未知,而不是 0。
|
|
524
|
+
|
|
525
|
+
|
|
486
526
|
三百多个单元测试验证的是"代码是否按我写的那样运行",它们对"这是不是一个好用的 Agent"
|
|
487
527
|
一无所知。`npm run eval` 回答后一个问题:
|
|
488
528
|
|
|
@@ -630,11 +670,13 @@ paint(previous, next) 唯一碰终端的地方
|
|
|
630
670
|
|
|
631
671
|
`--tui` 需要 stdin 和 stderr 都是终端,且是交互式会话;不满足时**直接报错而不是静默
|
|
632
672
|
退回**,因为一个安静地什么都不做的开关,会让打错的命令看起来像成功了。目前**不是默认**。
|
|
633
|
-
|
|
673
|
+
简短的启动提示显示供应商、模型、工作目录和下一步操作;用 `/session` 查看会话 ID。
|
|
674
|
+
输入 `/` 即在当前输入行下方显示斜杠命令(包括扩展命令),可用上下键选择、Tab 补全;
|
|
634
675
|
上下键浏览输入历史。运行中普通输入会被忽略,Ctrl+C 仍可立即取消;取消后恢复提示符,
|
|
635
676
|
已收到的部分回答保留在滚动历史中。运行结束会显示结果、耗时和已报告的 token 用量。
|
|
636
677
|
|
|
637
|
-
中文、组合字符和 Emoji
|
|
678
|
+
中文、组合字符和 Emoji 按终端列宽截断;长的单行回答保留最新文字,长路径保留文件名和
|
|
679
|
+
工具进度,窄窗口优先显示状态与停止快捷键。较矮的窗口优先保留状态行,缩放会重绘当前
|
|
638
680
|
区域。提示符及界面走 stderr,最终回答走 stdout,可用 `chivgent --tui > answers.txt`
|
|
639
681
|
保存回答,同时继续在终端交互。
|
|
640
682
|
|
package/dist/agent.d.ts
CHANGED
|
@@ -2,9 +2,10 @@ import { type AgentEventListener } from "./events.js";
|
|
|
2
2
|
import { type LLMClient } from "./llm.js";
|
|
3
3
|
import { type UsageTotal } from "./providers/usage.js";
|
|
4
4
|
import type { AssistantMessage, Message } from "./messages.js";
|
|
5
|
-
import type
|
|
5
|
+
import { type Tool } from "./tools/tool.js";
|
|
6
6
|
import type { Workspace } from "./workspace.js";
|
|
7
7
|
import type { ContextManager } from "./context/context-manager.js";
|
|
8
|
+
import { type ProjectInstructionsProvider } from "./context/project-instructions.js";
|
|
8
9
|
export interface AgentOptions {
|
|
9
10
|
readonly systemPrompt: string;
|
|
10
11
|
readonly maxTurns: number;
|
|
@@ -19,6 +20,8 @@ export interface AgentOptions {
|
|
|
19
20
|
* Decides what the model sees each turn. Omit to send the whole transcript.
|
|
20
21
|
*/
|
|
21
22
|
readonly contextManager?: ContextManager;
|
|
23
|
+
/** Scoped repository guidance, read separately from trusted system prompts. */
|
|
24
|
+
readonly projectInstructions?: ProjectInstructionsProvider;
|
|
22
25
|
}
|
|
23
26
|
export interface AgentRunOptions {
|
|
24
27
|
/** Cancels the run between turns, during a Provider call, and between tools. */
|
|
@@ -55,6 +58,7 @@ export declare class Agent {
|
|
|
55
58
|
private readonly onEvent?;
|
|
56
59
|
private readonly streaming;
|
|
57
60
|
private readonly contextManager?;
|
|
61
|
+
private readonly projectInstructions?;
|
|
58
62
|
constructor(options: AgentOptions);
|
|
59
63
|
get toolNames(): readonly string[];
|
|
60
64
|
run(userInput: string, options?: AgentRunOptions): Promise<AgentRunResult>;
|
|
@@ -69,6 +73,15 @@ export declare class Agent {
|
|
|
69
73
|
private buildContext;
|
|
70
74
|
private requestAssistantMessage;
|
|
71
75
|
private assertUniqueToolCallIds;
|
|
76
|
+
/**
|
|
77
|
+
* Run contiguous built-in read groups concurrently, with an exclusive
|
|
78
|
+
* barrier around every write/shell/extension/unknown call.
|
|
79
|
+
*
|
|
80
|
+
* Promise.allSettled is intentional: it drains every started read before
|
|
81
|
+
* agent_end, so no background events arrive after the session is persisted.
|
|
82
|
+
* Results are committed in the model's call order, not completion order.
|
|
83
|
+
*/
|
|
84
|
+
private executeToolCalls;
|
|
72
85
|
private executeToolCall;
|
|
73
86
|
private emit;
|
|
74
87
|
private emitEnd;
|
package/dist/agent.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,kBAAkB,EAExB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAgB,KAAK,SAAS,EAAwB,MAAM,UAAU,CAAC;AAC9E,OAAO,EAAY,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,KAAK,EACV,gBAAgB,EAChB,OAAO,EAGR,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|
package/dist/agent.js
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { emitEvent, } from "./events.js";
|
|
2
2
|
import { isAbortError } from "./llm.js";
|
|
3
3
|
import { addUsage } from "./providers/usage.js";
|
|
4
|
+
import { ToolExecutionError } from "./tools/tool.js";
|
|
5
|
+
import { isParallelReadTool, MAX_PARALLEL_READS } from "./tools/parallel.js";
|
|
6
|
+
import { UpdatePlanTool } from "./tools/update-plan.js";
|
|
7
|
+
import { INCOMPLETE_PROJECT_GUIDANCE } from "./context/project-instructions.js";
|
|
4
8
|
export class AgentProtocolError extends Error {
|
|
5
9
|
constructor(message) {
|
|
6
10
|
super(message);
|
|
@@ -17,6 +21,7 @@ export class Agent {
|
|
|
17
21
|
onEvent;
|
|
18
22
|
streaming;
|
|
19
23
|
contextManager;
|
|
24
|
+
projectInstructions;
|
|
20
25
|
constructor(options) {
|
|
21
26
|
if (!Number.isSafeInteger(options.maxTurns) || options.maxTurns <= 0) {
|
|
22
27
|
throw new TypeError("maxTurns must be a positive safe integer.");
|
|
@@ -38,6 +43,9 @@ export class Agent {
|
|
|
38
43
|
if (options.contextManager !== undefined) {
|
|
39
44
|
this.contextManager = options.contextManager;
|
|
40
45
|
}
|
|
46
|
+
if (options.projectInstructions !== undefined) {
|
|
47
|
+
this.projectInstructions = options.projectInstructions;
|
|
48
|
+
}
|
|
41
49
|
}
|
|
42
50
|
get toolNames() {
|
|
43
51
|
return [...this.registry.keys()];
|
|
@@ -46,9 +54,14 @@ export class Agent {
|
|
|
46
54
|
if (userInput.trim().length === 0) {
|
|
47
55
|
throw new TypeError("User input must not be empty.");
|
|
48
56
|
}
|
|
57
|
+
// Older logs or crashed executions can end with an assistant tool call
|
|
58
|
+
// without a corresponding tool result. Repair those pairs before sending
|
|
59
|
+
// any new user message to a Provider.
|
|
60
|
+
const history = structuredClone([...(options.history ?? [])]);
|
|
61
|
+
closePendingToolCalls(history);
|
|
49
62
|
const state = {
|
|
50
63
|
messages: [
|
|
51
|
-
...
|
|
64
|
+
...history,
|
|
52
65
|
{ role: "user", content: userInput },
|
|
53
66
|
],
|
|
54
67
|
seenToolCallIds: new Set(),
|
|
@@ -62,10 +75,18 @@ export class Agent {
|
|
|
62
75
|
});
|
|
63
76
|
try {
|
|
64
77
|
const result = await this.loop(state, signal);
|
|
78
|
+
if (result.status === "aborted") {
|
|
79
|
+
closePendingToolCalls(state.messages);
|
|
80
|
+
this.emitEnd("aborted", state);
|
|
81
|
+
return abortedResult(state);
|
|
82
|
+
}
|
|
65
83
|
this.emitEnd(result.status, state);
|
|
66
84
|
return result;
|
|
67
85
|
}
|
|
68
86
|
catch (error) {
|
|
87
|
+
// A failed/aborted tool may leave other calls in the same assistant
|
|
88
|
+
// message unanswered. Every call needs a result for future replay.
|
|
89
|
+
closePendingToolCalls(state.messages);
|
|
69
90
|
if (isAbortError(error) || isAborted(signal)) {
|
|
70
91
|
this.emitEnd("aborted", state);
|
|
71
92
|
return abortedResult(state);
|
|
@@ -85,6 +106,11 @@ export class Agent {
|
|
|
85
106
|
this.emit({ type: "message_start", turn });
|
|
86
107
|
const response = await this.requestAssistantMessage(state, turn, signal);
|
|
87
108
|
state.usage = addUsage(state.usage, response.usage);
|
|
109
|
+
// A Provider might ignore AbortSignal and resolve successfully anyway.
|
|
110
|
+
// Do not commit that answer as a completed turn after cancellation.
|
|
111
|
+
if (isAborted(signal)) {
|
|
112
|
+
return abortedResult(state);
|
|
113
|
+
}
|
|
88
114
|
const assistant = validateAndCloneAssistantMessage(response.message);
|
|
89
115
|
this.assertUniqueToolCallIds(assistant.toolCalls, state.seenToolCallIds);
|
|
90
116
|
state.messages.push(assistant);
|
|
@@ -110,14 +136,11 @@ export class Agent {
|
|
|
110
136
|
...(state.usage === undefined ? {} : { usage: state.usage }),
|
|
111
137
|
};
|
|
112
138
|
}
|
|
113
|
-
const toolResults =
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
const result = await this.executeToolCall(toolCall, turn, signal);
|
|
119
|
-
toolResults.push(result);
|
|
120
|
-
state.messages.push(result);
|
|
139
|
+
const toolResults = await this.executeToolCalls(assistant.toolCalls, turn, signal, state);
|
|
140
|
+
// A read may finish after the user cancels, even when the tool itself
|
|
141
|
+
// ignores AbortSignal. Never send another model request after that.
|
|
142
|
+
if (isAborted(signal)) {
|
|
143
|
+
return abortedResult(state);
|
|
121
144
|
}
|
|
122
145
|
this.emit({ type: "turn_end", turn, message: assistant, toolResults });
|
|
123
146
|
}
|
|
@@ -135,7 +158,7 @@ export class Agent {
|
|
|
135
158
|
* messages sent with it, so a fresh compaction has to drop the continuation
|
|
136
159
|
* to take effect at all.
|
|
137
160
|
*/
|
|
138
|
-
async buildContext(state, signal) {
|
|
161
|
+
async buildContext(state, signal, prefixMessages = []) {
|
|
139
162
|
const snapshot = snapshotMessages(state.messages);
|
|
140
163
|
if (this.contextManager === undefined) {
|
|
141
164
|
return snapshot;
|
|
@@ -143,6 +166,7 @@ export class Agent {
|
|
|
143
166
|
const context = await this.contextManager.build(snapshot, {
|
|
144
167
|
...(state.compaction === undefined ? {} : { previous: state.compaction }),
|
|
145
168
|
...(signal === undefined ? {} : { signal }),
|
|
169
|
+
prefixMessages,
|
|
146
170
|
});
|
|
147
171
|
if (context.compaction === undefined) {
|
|
148
172
|
delete state.compaction;
|
|
@@ -162,10 +186,23 @@ export class Agent {
|
|
|
162
186
|
return context.messages;
|
|
163
187
|
}
|
|
164
188
|
async requestAssistantMessage(state, turn, signal) {
|
|
165
|
-
const
|
|
189
|
+
const projectText = await this.projectInstructions?.load(state.messages);
|
|
190
|
+
if (projectText !== state.projectInstructionsText) {
|
|
191
|
+
// A chained Provider holds its own prompt history; discard that chain
|
|
192
|
+
// when a new scoped AGENTS.md becomes applicable or a document changes.
|
|
193
|
+
delete state.continuation;
|
|
194
|
+
if (projectText === undefined)
|
|
195
|
+
delete state.projectInstructionsText;
|
|
196
|
+
else
|
|
197
|
+
state.projectInstructionsText = projectText;
|
|
198
|
+
}
|
|
199
|
+
const prefixMessages = projectText === undefined
|
|
200
|
+
? [] : [{ role: "user", content: projectText }];
|
|
201
|
+
const messages = await this.buildContext(state, signal, prefixMessages);
|
|
202
|
+
const modelMessages = [...prefixMessages, ...messages];
|
|
166
203
|
const request = {
|
|
167
204
|
systemPrompt: this.systemPrompt,
|
|
168
|
-
messages,
|
|
205
|
+
messages: modelMessages,
|
|
169
206
|
tools: this.toolDefinitions,
|
|
170
207
|
...(state.continuation === undefined
|
|
171
208
|
? {}
|
|
@@ -191,7 +228,63 @@ export class Agent {
|
|
|
191
228
|
seenIds.add(toolCall.id);
|
|
192
229
|
}
|
|
193
230
|
}
|
|
194
|
-
|
|
231
|
+
/**
|
|
232
|
+
* Run contiguous built-in read groups concurrently, with an exclusive
|
|
233
|
+
* barrier around every write/shell/extension/unknown call.
|
|
234
|
+
*
|
|
235
|
+
* Promise.allSettled is intentional: it drains every started read before
|
|
236
|
+
* agent_end, so no background events arrive after the session is persisted.
|
|
237
|
+
* Results are committed in the model's call order, not completion order.
|
|
238
|
+
*/
|
|
239
|
+
async executeToolCalls(calls, turn, signal, state) {
|
|
240
|
+
const results = [];
|
|
241
|
+
let next = 0;
|
|
242
|
+
while (next < calls.length) {
|
|
243
|
+
if (isAborted(signal))
|
|
244
|
+
break;
|
|
245
|
+
const call = calls[next];
|
|
246
|
+
if (call === undefined)
|
|
247
|
+
break;
|
|
248
|
+
if (!isParallelReadTool(this.registry.get(call.name))) {
|
|
249
|
+
const result = await this.executeToolCall(call, turn, signal, state);
|
|
250
|
+
state.messages.push(result);
|
|
251
|
+
results.push(result);
|
|
252
|
+
next += 1;
|
|
253
|
+
continue;
|
|
254
|
+
}
|
|
255
|
+
// Stop at the next exclusive call; a write must never overlap a read
|
|
256
|
+
// and can never be overtaken by a later read.
|
|
257
|
+
const batch = [];
|
|
258
|
+
while (next < calls.length && batch.length < MAX_PARALLEL_READS) {
|
|
259
|
+
const candidate = calls[next];
|
|
260
|
+
if (candidate === undefined ||
|
|
261
|
+
!isParallelReadTool(this.registry.get(candidate.name)))
|
|
262
|
+
break;
|
|
263
|
+
batch.push(candidate);
|
|
264
|
+
next += 1;
|
|
265
|
+
}
|
|
266
|
+
const settled = await Promise.allSettled(batch.map((toolCall) => this.executeToolCall(toolCall, turn, signal, state)));
|
|
267
|
+
let firstFailure;
|
|
268
|
+
let hasFailure = false;
|
|
269
|
+
for (const outcome of settled) {
|
|
270
|
+
if (outcome.status === "fulfilled") {
|
|
271
|
+
results.push(outcome.value);
|
|
272
|
+
state.messages.push(outcome.value);
|
|
273
|
+
}
|
|
274
|
+
else if (!hasFailure) {
|
|
275
|
+
firstFailure = outcome.reason;
|
|
276
|
+
hasFailure = true;
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
if (hasFailure) {
|
|
280
|
+
// The caller closes unmatched calls before persisting agent_end.
|
|
281
|
+
// Successfully completed reads are preserved in their original order.
|
|
282
|
+
throw firstFailure;
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
return results;
|
|
286
|
+
}
|
|
287
|
+
async executeToolCall(toolCall, turn, signal, state) {
|
|
195
288
|
this.emit({
|
|
196
289
|
type: "tool_execution_start",
|
|
197
290
|
turn,
|
|
@@ -209,26 +302,62 @@ export class Agent {
|
|
|
209
302
|
}
|
|
210
303
|
else {
|
|
211
304
|
try {
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
305
|
+
// A model may issue its very first write into a nested folder whose
|
|
306
|
+
// AGENTS.md wasn't visible at sampling time. Defer the mutation until
|
|
307
|
+
// the next LLM request has included those scoped instructions.
|
|
308
|
+
const currentGuidance = this.projectInstructions !== undefined &&
|
|
309
|
+
["write_file", "edit_file", "apply_patch"].includes(toolCall.name)
|
|
310
|
+
? await this.projectInstructions.load(state.messages, toolCall)
|
|
311
|
+
: undefined;
|
|
312
|
+
const unseenGuidance = currentGuidance !== undefined && (currentGuidance.includes(INCOMPLETE_PROJECT_GUIDANCE) ||
|
|
313
|
+
currentGuidance !== state.projectInstructionsText);
|
|
314
|
+
if (unseenGuidance) {
|
|
315
|
+
output = {
|
|
316
|
+
content: currentGuidance?.includes(INCOMPLETE_PROJECT_GUIDANCE)
|
|
317
|
+
? "The current operation's scoped project instructions exceed the safe loading limits. No files were changed; narrow the operation or reduce the instruction size before retrying."
|
|
318
|
+
: "New scoped AGENTS.md instructions were discovered. No files were changed. Review the new project guidance in the next turn before retrying.",
|
|
319
|
+
isError: true,
|
|
320
|
+
};
|
|
321
|
+
}
|
|
322
|
+
else {
|
|
323
|
+
output = validateToolOutput(await tool.execute(toolCall.arguments, {
|
|
324
|
+
workspace: this.workspace,
|
|
325
|
+
...(signal === undefined ? {} : { signal }),
|
|
326
|
+
...(tool.constructor === UpdatePlanTool ? {
|
|
327
|
+
onPlanUpdate: (update) => {
|
|
328
|
+
this.emit({ type: "plan_update", turn, ...update });
|
|
329
|
+
},
|
|
330
|
+
} : {}),
|
|
331
|
+
onUpdate: (content) => {
|
|
332
|
+
this.emit({
|
|
333
|
+
type: "tool_execution_update",
|
|
334
|
+
turn,
|
|
335
|
+
toolCallId: toolCall.id,
|
|
336
|
+
toolName: toolCall.name,
|
|
337
|
+
content,
|
|
338
|
+
});
|
|
339
|
+
},
|
|
340
|
+
}));
|
|
341
|
+
}
|
|
225
342
|
}
|
|
226
343
|
catch (error) {
|
|
227
|
-
if (isAbortError(error)) {
|
|
344
|
+
if (isAbortError(error) || isAborted(signal)) {
|
|
345
|
+
this.emit({
|
|
346
|
+
type: "tool_execution_end",
|
|
347
|
+
turn,
|
|
348
|
+
toolCallId: toolCall.id,
|
|
349
|
+
toolName: toolCall.name,
|
|
350
|
+
content: INTERRUPTED_TOOL_RESULT,
|
|
351
|
+
isError: true,
|
|
352
|
+
});
|
|
228
353
|
throw error;
|
|
229
354
|
}
|
|
230
355
|
output = {
|
|
231
|
-
|
|
356
|
+
// Only explicitly public messages reach the model. Unexpected errors
|
|
357
|
+
// may contain file paths, tokens, or other implementation details.
|
|
358
|
+
content: error instanceof ToolExecutionError
|
|
359
|
+
? error.message
|
|
360
|
+
: `Tool execution failed: ${toolCall.name}`,
|
|
232
361
|
isError: true,
|
|
233
362
|
};
|
|
234
363
|
}
|
|
@@ -263,6 +392,44 @@ export class Agent {
|
|
|
263
392
|
});
|
|
264
393
|
}
|
|
265
394
|
}
|
|
395
|
+
const INTERRUPTED_TOOL_RESULT = "Tool execution interrupted before completion.";
|
|
396
|
+
/**
|
|
397
|
+
* Ensure every function call has a corresponding output before history is
|
|
398
|
+
* replayed. The synthetic failure is deliberately explicit: we did not run
|
|
399
|
+
* the unfinished tool, and must never imply that its side effects happened.
|
|
400
|
+
*
|
|
401
|
+
* Also handles historical logs with an interrupted assistant call followed by
|
|
402
|
+
* a user message, inserting the missing output *before* that user message.
|
|
403
|
+
*/
|
|
404
|
+
function closePendingToolCalls(messages) {
|
|
405
|
+
for (let index = 0; index < messages.length; index += 1) {
|
|
406
|
+
const current = messages[index];
|
|
407
|
+
if (current?.role !== "assistant" || current.toolCalls.length === 0) {
|
|
408
|
+
continue;
|
|
409
|
+
}
|
|
410
|
+
let afterTools = index + 1;
|
|
411
|
+
const completed = new Map();
|
|
412
|
+
while (messages[afterTools]?.role === "tool") {
|
|
413
|
+
const message = messages[afterTools];
|
|
414
|
+
if (message?.role === "tool") {
|
|
415
|
+
completed.set(message.toolCallId, message);
|
|
416
|
+
}
|
|
417
|
+
afterTools += 1;
|
|
418
|
+
}
|
|
419
|
+
// The order of settled parallel reads is not necessarily the order in
|
|
420
|
+
// which the model requested them. Rebuild in call order, including
|
|
421
|
+
// explicit failure placeholders for tools that never finished.
|
|
422
|
+
const normalized = current.toolCalls.map((call) => completed.get(call.id) ?? {
|
|
423
|
+
role: "tool",
|
|
424
|
+
toolCallId: call.id,
|
|
425
|
+
toolName: call.name,
|
|
426
|
+
content: INTERRUPTED_TOOL_RESULT,
|
|
427
|
+
isError: true,
|
|
428
|
+
});
|
|
429
|
+
messages.splice(index + 1, afterTools - (index + 1), ...normalized);
|
|
430
|
+
index += normalized.length;
|
|
431
|
+
}
|
|
432
|
+
}
|
|
266
433
|
/** Kept as a call so narrowing never hides a signal that aborts mid-run. */
|
|
267
434
|
function isAborted(signal) {
|
|
268
435
|
return signal !== undefined && signal.aborted;
|
package/dist/agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,GAGV,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,YAAY,EAAwC,MAAM,UAAU,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAmB,MAAM,sBAAsB,CAAC;AAiEjE,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAC3C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AAED,MAAM,OAAO,KAAK;IACC,YAAY,CAAS;IACrB,QAAQ,CAAS;IACjB,GAAG,CAAY;IACf,QAAQ,CAA4B;IACpC,eAAe,CAA4B;IAC3C,SAAS,CAAY;IACrB,OAAO,CAAsB;IAC7B,SAAS,CAAU;IACnB,cAAc,CAAkB;IAEjD,YAAY,OAAqB;QAC/B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC;YACrE,MAAM,IAAI,SAAS,CAAC,2CAA2C,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,QAAQ,GAAG,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAClD,IAAI,CAAC,eAAe,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAChE,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,WAAW,EAAE,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC;SAC/C,CAAC,CAAC,CAAC;QACJ,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAClC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QACjC,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC;QAC3C,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACzC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,IAAI,SAAS;QACX,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,GAAG,CACP,SAAiB,EACjB,OAAO,GAAoB,EAAE;QAE7B,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,SAAS,CAAC,+BAA+B,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,KAAK,GAAa;YACtB,QAAQ,EAAE;gBACR,GAAG,eAAe,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;gBACzC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE;aACrC;YACD,eAAe,EAAE,IAAI,GAAG,EAAU;YAClC,SAAS,EAAE,CAAC;SACb,CAAC;QACF,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAE9B,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,aAAa;YACnB,MAAM,EAAE,SAAS;YACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC9C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACnC,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAI,YAAY,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC7C,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;gBAC/B,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;YAC9B,CAAC;YACD,IAAI,CAAC,OAAO,CACV,OAAO,EACP,KAAK,EACL,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CACzD,CAAC;YACF,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,IAAI,CAChB,KAAe,EACf,MAA+B;QAE/B,OAAO,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YACvC,IAAI,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;gBACtB,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;YAC9B,CAAC;YAED,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC;YACrB,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC;YAC7B,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;YACxC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;YAE3C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YACzE,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;YACpD,MAAM,SAAS,GAAG,gCAAgC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACrE,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;YACzE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/B,KAAK,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;YAC3C,IAAI,CAAC,IAAI,CAAC;gBACR,IAAI,EAAE,aAAa;gBACnB,IAAI;gBACJ,OAAO,EAAE,SAAS;gBAClB,GAAG,CAAC,QAAQ,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC;aACnE,CAAC,CAAC;YAEH,IAAI,SAAS,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrC,IAAI,CAAC,IAAI,CAAC;oBACR,IAAI,EAAE,UAAU;oBAChB,IAAI;oBACJ,OAAO,EAAE,SAAS;oBAClB,WAAW,EAAE,EAAE;iBAChB,CAAC,CAAC;gBACH,OAAO;oBACL,MAAM,EAAE,WAAW;oBACnB,YAAY,EAAE,SAAS;oBACvB,QAAQ,EAAE,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC;oBAC1C,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;iBAC7D,CAAC;YACJ,CAAC;YAED,MAAM,WAAW,GAAwB,EAAE,CAAC;YAC5C,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;gBAC3C,IAAI,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;oBACtB,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;gBAC9B,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;gBAClE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACzB,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC9B,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC;QACzE,CAAC;QAED,OAAO;YACL,MAAM,EAAE,WAAW;YACnB,QAAQ,EAAE,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC;YAC1C,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;SAC7D,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,YAAY,CACxB,KAAe,EACf,MAA+B;QAE/B,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACtC,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,EAAE;YACxD,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;YACzE,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;SAC5C,CAAC,CAAC;QACH,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACrC,OAAO,KAAK,CAAC,UAAU,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACxC,CAAC;QACD,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC,YAAY,CAAC;QAC5B,CAAC;QACD,wEAAwE;QACxE,sEAAsE;QACtE,4CAA4C;QAC5C,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAChC,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QACrD,CAAC;QACD,OAAO,OAAO,CAAC,QAAQ,CAAC;IAC1B,CAAC;IAEO,KAAK,CAAC,uBAAuB,CACnC,KAAe,EACf,IAAY,EACZ,MAA+B;QAE/B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACxD,MAAM,OAAO,GAAG;YACd,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,QAAQ;YACR,KAAK,EAAE,IAAI,CAAC,eAAe;YAC3B,GAAG,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS;gBAClC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC;YACzC,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;SAC5C,CAAC;QAEF,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACpD,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE;gBAC9B,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE;oBACrB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACrB,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;oBACrD,CAAC;gBACH,CAAC;aACF,CAAC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAEO,uBAAuB,CAC7B,SAA8B,EAC9B,OAAoB;QAEpB,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC7B,MAAM,IAAI,kBAAkB,CAC1B,+CAA+C,QAAQ,CAAC,EAAE,EAAE,CAC7D,CAAC;YACJ,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,eAAe,CAC3B,QAAkB,EAClB,IAAY,EACZ,MAA+B;QAE/B,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,sBAAsB;YAC5B,IAAI;YACJ,UAAU,EAAE,QAAQ,CAAC,EAAE;YACvB,QAAQ,EAAE,QAAQ,CAAC,IAAI;YACvB,SAAS,EAAE,QAAQ,CAAC,SAAS;SAC9B,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,MAAkB,CAAC;QAEvB,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,GAAG;gBACP,OAAO,EAAE,iBAAiB,QAAQ,CAAC,IAAI,EAAE;gBACzC,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC;gBACH,MAAM,GAAG,kBAAkB,CACzB,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE;oBACrC,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;oBAC3C,QAAQ,EAAE,CAAC,OAAe,EAAE,EAAE;wBAC5B,IAAI,CAAC,IAAI,CAAC;4BACR,IAAI,EAAE,uBAAuB;4BAC7B,IAAI;4BACJ,UAAU,EAAE,QAAQ,CAAC,EAAE;4BACvB,QAAQ,EAAE,QAAQ,CAAC,IAAI;4BACvB,OAAO;yBACR,CAAC,CAAC;oBACL,CAAC;iBACF,CAAC,CACH,CAAC;YACJ,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;oBACxB,MAAM,KAAK,CAAC;gBACd,CAAC;gBACD,MAAM,GAAG;oBACP,OAAO,EAAE,0BAA0B,QAAQ,CAAC,IAAI,EAAE;oBAClD,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,oBAAoB;YAC1B,IAAI;YACJ,UAAU,EAAE,QAAQ,CAAC,EAAE;YACvB,QAAQ,EAAE,QAAQ,CAAC,IAAI;YACvB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC,CAAC;QAEH,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,UAAU,EAAE,QAAQ,CAAC,EAAE;YACvB,QAAQ,EAAE,QAAQ,CAAC,IAAI;YACvB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC;IACJ,CAAC;IAEO,IAAI,CAAC,KAAsC;QACjD,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC;IAEO,OAAO,CACb,MAAsB,EACtB,KAAe,EACf,KAAc;QAEd,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,WAAW;YACjB,MAAM;YACN,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,QAAQ,EAAE,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC;YAC1C,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;YAC5D,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;SAC1C,CAAC,CAAC;IACL,CAAC;CACF;AAED,4EAA4E;AAC5E,SAAS,SAAS,CAAC,MAA+B;IAChD,OAAO,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,CAAC;AAChD,CAAC;AAED,SAAS,aAAa,CAAC,KAAe;IACpC,OAAO;QACL,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC1C,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;KAC7D,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAsB;IAChD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAgB,CAAC;IACzC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,SAAS,CAAC,+BAA+B,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,SAAS,CAAC,wBAAwB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3D,CAAC;QACD,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,gCAAgC,CAAC,KAAc;IACtD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,MAAM,IAAI,kBAAkB,CAAC,iDAAiD,CAAC,CAAC;IAClF,CAAC;IAED,MAAM,SAAS,GAAG,KAAkC,CAAC;IACrD,IACE,SAAS,CAAC,IAAI,KAAK,WAAW;QAC9B,OAAO,SAAS,CAAC,OAAO,KAAK,QAAQ;QACrC,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,EACnC,CAAC;QACD,MAAM,IAAI,kBAAkB,CAAC,iDAAiD,CAAC,CAAC;IAClF,CAAC;IAED,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;QACrD,IACE,OAAO,QAAQ,KAAK,QAAQ;YAC5B,QAAQ,KAAK,IAAI;YACjB,OAAO,QAAQ,CAAC,EAAE,KAAK,QAAQ;YAC/B,QAAQ,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC;YACxB,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ;YACjC,QAAQ,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAC1B,CAAC;YACD,MAAM,IAAI,kBAAkB,CAAC,yCAAyC,CAAC,CAAC;QAC1E,CAAC;QAED,OAAO;YACL,EAAE,EAAE,QAAQ,CAAC,EAAE;YACf,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,SAAS,EAAE,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC;SAC/C,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAI,SAAS,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7D,MAAM,IAAI,kBAAkB,CAC1B,oEAAoE,CACrE,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,SAAS,CAAC,OAAO;QAC1B,SAAS;KACV,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,IACE,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,CAAC,CAAC,SAAS,IAAI,KAAK,CAAC;QACrB,CAAC,CAAC,SAAS,IAAI,KAAK,CAAC;QACrB,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;QACjC,OAAO,KAAK,CAAC,OAAO,KAAK,SAAS,EAClC,CAAC;QACD,MAAM,IAAI,SAAS,CAAC,kCAAkC,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;AAC5D,CAAC;AAED,SAAS,gBAAgB,CAAC,QAA4B;IACpD,OAAO,eAAe,CAAC,QAAQ,CAAC,CAAC;AACnC,CAAC"}
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|
package/dist/cli-options.d.ts
CHANGED
|
@@ -39,6 +39,8 @@ export interface CliOptions {
|
|
|
39
39
|
* can do everything the write tools can and is not bound by the workspace.
|
|
40
40
|
*/
|
|
41
41
|
readonly allowShell: boolean;
|
|
42
|
+
/** Explicitly approve every command in this session; Docker isolation still applies. */
|
|
43
|
+
readonly approveAllShell: boolean;
|
|
42
44
|
/** Draw a live status region above the prompt. Interactive terminals only. */
|
|
43
45
|
readonly tui: boolean;
|
|
44
46
|
/** Load extensions from the user and (once trusted) the project directory. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-options.d.ts","sourceRoot":"","sources":["../src/cli-options.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,OAAO,QAC6D,CAAC;AAElF,OAAO,EAEL,gBAAgB,EACjB,MAAM,yBAAyB,CAAC;AAGjC,2CAA2C;AAC3C,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC;AAE9B,eAAO,MAAM,iBAAiB,IAAI,CAAC;AACnC;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAI1C;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC;AAE/C,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,0EAA0E;IAC1E,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,4DAA4D;IAC5D,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,8BAA8B;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,kEAAkE;IAClE,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,uCAAuC;IACvC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,mEAAmE;IACnE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B;;;OAGG;IACH,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,8EAA8E;IAC9E,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,8EAA8E;IAC9E,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,kEAAkE;IAClE,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,kEAAkE;IAClE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,8DAA8D;IAC9D,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,2EAA2E;IAC3E,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,4DAA4D;IAC5D,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,yEAAyE;IACzE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,+CAA+C;IAC/C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,oEAAoE;IACpE,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAgB,YAAY,CAC1B,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,WAAW,EAAE,cAAc,EAC3B,QAAQ,GAAE,gBAA0C,GACnD,UAAU,
|
|
1
|
+
{"version":3,"file":"cli-options.d.ts","sourceRoot":"","sources":["../src/cli-options.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,OAAO,QAC6D,CAAC;AAElF,OAAO,EAEL,gBAAgB,EACjB,MAAM,yBAAyB,CAAC;AAGjC,2CAA2C;AAC3C,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC;AAE9B,eAAO,MAAM,iBAAiB,IAAI,CAAC;AACnC;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAI1C;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC;AAE/C,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,0EAA0E;IAC1E,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,4DAA4D;IAC5D,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,8BAA8B;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,kEAAkE;IAClE,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,uCAAuC;IACvC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,mEAAmE;IACnE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B;;;OAGG;IACH,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,wFAAwF;IACxF,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,8EAA8E;IAC9E,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,8EAA8E;IAC9E,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,kEAAkE;IAClE,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,kEAAkE;IAClE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,8DAA8D;IAC9D,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,2EAA2E;IAC3E,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,4DAA4D;IAC5D,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,yEAAyE;IACzE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,+CAA+C;IAC/C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,oEAAoE;IACpE,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAgB,YAAY,CAC1B,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,WAAW,EAAE,cAAc,EAC3B,QAAQ,GAAE,gBAA0C,GACnD,UAAU,CAyJZ;AAED,wBAAgB,QAAQ,CACtB,QAAQ,GAAE,gBAA0C,GACnD,MAAM,CA2DR"}
|