chivgent 1.0.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 -907
- package/README.zh-CN.md +25 -2
- 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 +20 -72
- 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/repl.d.ts +12 -1
- package/dist/repl.d.ts.map +1 -1
- package/dist/repl.js +305 -4
- 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 +14 -0
- package/dist/tui/input.d.ts.map +1 -1
- package/dist/tui/input.js +77 -1
- 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.js +1 -1
- 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/view.d.ts +1 -1
- package/dist/tui/view.d.ts.map +1 -1
- package/dist/tui/view.js +21 -9
- package/dist/tui/view.js.map +1 -1
- package/dist/tui/welcome.d.ts +5 -0
- package/dist/tui/welcome.d.ts.map +1 -1
- package/dist/tui/welcome.js +35 -20
- 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 +1 -1
package/README.zh-CN.md
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
[English](README.md) | [简体中文](README.zh-CN.md)
|
|
4
4
|
|
|
5
|
+
> ⚠️ **本中文版已过时,请以 [英文 README](README.md) 为准。** 尤其是安全说明:`--allow-shell` 现在在离线 Docker 容器中运行命令,每条命令需逐条确认,且不向容器传入 API key(详见 [shell sandbox](docs/shell-sandbox.md))。下文中与此冲突的说法均已失效。
|
|
6
|
+
|
|
5
7
|
> 一款易读的终端 Coding Agent,提供流式 TUI 与可切换的 AI 供应商。
|
|
6
8
|
|
|
7
9
|

|
|
@@ -491,8 +493,7 @@ npm run release:check
|
|
|
491
493
|
构建一个可以在本地安装的 tarball:
|
|
492
494
|
|
|
493
495
|
```bash
|
|
494
|
-
npm pack
|
|
495
|
-
npm install -g ./chivgent-0.6.0.tgz
|
|
496
|
+
npm install -g "$(npm pack --silent)"
|
|
496
497
|
```
|
|
497
498
|
|
|
498
499
|
测试使用脚本化或 Mock LLM Client。真实 API Smoke Test 需要手工执行,因此默认
|
|
@@ -500,6 +501,28 @@ npm install -g ./chivgent-0.6.0.tgz
|
|
|
500
501
|
|
|
501
502
|
## Evals
|
|
502
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
|
+
|
|
503
526
|
三百多个单元测试验证的是"代码是否按我写的那样运行",它们对"这是不是一个好用的 Agent"
|
|
504
527
|
一无所知。`npm run eval` 回答后一个问题:
|
|
505
528
|
|
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":"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"}
|
|
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"}
|
package/dist/cli-options.js
CHANGED
|
@@ -29,6 +29,7 @@ export function parseCliArgs(argv, environment, registry = defaultProviderRegist
|
|
|
29
29
|
let listSessions = false;
|
|
30
30
|
let allowWrites = false;
|
|
31
31
|
let allowShell = false;
|
|
32
|
+
let approveAllShell = false;
|
|
32
33
|
let tui = false;
|
|
33
34
|
let extensions = true;
|
|
34
35
|
let serve = false;
|
|
@@ -103,6 +104,9 @@ export function parseCliArgs(argv, environment, registry = defaultProviderRegist
|
|
|
103
104
|
else if (argument === "--allow-shell") {
|
|
104
105
|
allowShell = true;
|
|
105
106
|
}
|
|
107
|
+
else if (argument === "--approve-all-shell") {
|
|
108
|
+
approveAllShell = true;
|
|
109
|
+
}
|
|
106
110
|
else if (argument === "--serve") {
|
|
107
111
|
serve = true;
|
|
108
112
|
}
|
|
@@ -140,6 +144,9 @@ export function parseCliArgs(argv, environment, registry = defaultProviderRegist
|
|
|
140
144
|
promptParts.push(argument);
|
|
141
145
|
}
|
|
142
146
|
}
|
|
147
|
+
if (approveAllShell && !allowShell) {
|
|
148
|
+
throw new TypeError("--approve-all-shell requires --allow-shell.");
|
|
149
|
+
}
|
|
143
150
|
const definition = registry.get(provider);
|
|
144
151
|
const model = requestedModel ||
|
|
145
152
|
firstEnvironmentValue(environment, definition.modelEnvKeys) ||
|
|
@@ -163,6 +170,7 @@ export function parseCliArgs(argv, environment, registry = defaultProviderRegist
|
|
|
163
170
|
listSessions,
|
|
164
171
|
allowWrites,
|
|
165
172
|
allowShell,
|
|
173
|
+
approveAllShell,
|
|
166
174
|
tui,
|
|
167
175
|
extensions,
|
|
168
176
|
serve,
|
|
@@ -198,8 +206,10 @@ Options:
|
|
|
198
206
|
--resume ID Resume a specific session
|
|
199
207
|
--sessions List recorded sessions and exit
|
|
200
208
|
--allow-writes Let the agent create and change files (default: read-only)
|
|
201
|
-
--allow-shell
|
|
202
|
-
|
|
209
|
+
--allow-shell Expose bash inside an offline Docker container (Docker required).
|
|
210
|
+
Interactive commands require individual confirmation.
|
|
211
|
+
--approve-all-shell Explicitly approve all Docker shell commands this session;
|
|
212
|
+
use only with --allow-shell when individual prompts are unavailable.
|
|
203
213
|
--serve Expose this session on a local socket and keep running
|
|
204
214
|
--connect TARGET Attach to a served session, by id or socket path
|
|
205
215
|
--servers List the servers still answering, then exit
|
package/dist/cli-options.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-options.js","sourceRoot":"","sources":["../src/cli-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAmC,CAAC;AAErF,MAAM,CAAC,MAAM,OAAO,GAClB,OAAO,eAAe,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;AAElF,OAAO,EACL,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAKtE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AACnC;;;;GAIG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAC1C,MAAM,kBAAkB,GAAG,KAAK,CAAC;AACjC,MAAM,aAAa,GAAG,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"cli-options.js","sourceRoot":"","sources":["../src/cli-options.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { CliOptions } from "./cli-options.js";
|
|
2
|
+
import type { ExtensionRegistry } from "./extensions/registry.js";
|
|
3
|
+
import type { LLMClient } from "./llm.js";
|
|
4
|
+
import type { Message } from "./messages.js";
|
|
5
|
+
import { AgentSession } from "./session.js";
|
|
6
|
+
import { ShellApprovalGate } from "./shell/approval.js";
|
|
7
|
+
import type { SessionStore } from "./session-store.js";
|
|
8
|
+
interface LocalSessionConfig {
|
|
9
|
+
readonly options: CliOptions;
|
|
10
|
+
readonly cwd: string;
|
|
11
|
+
readonly llm: LLMClient;
|
|
12
|
+
readonly extensions?: ExtensionRegistry;
|
|
13
|
+
readonly restored: {
|
|
14
|
+
readonly id?: string;
|
|
15
|
+
readonly messages?: readonly Message[];
|
|
16
|
+
readonly resumed: boolean;
|
|
17
|
+
};
|
|
18
|
+
readonly store?: SessionStore;
|
|
19
|
+
readonly shellApproval?: ShellApprovalGate;
|
|
20
|
+
}
|
|
21
|
+
/** Assemble the local agent once; cli.ts handles only process and UI lifecycle. */
|
|
22
|
+
export declare function createLocalSession(config: LocalSessionConfig): AgentSession;
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=cli-runtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-runtime.d.ts","sourceRoot":"","sources":["../src/cli-runtime.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAInD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAWvD,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC;IACxB,QAAQ,CAAC,UAAU,CAAC,EAAE,iBAAiB,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE;QACjB,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;QACvC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;KAC3B,CAAC;IACF,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,aAAa,CAAC,EAAE,iBAAiB,CAAC;CAC5C;AAED,mFAAmF;AACnF,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,GAAG,YAAY,CAgD3E"}
|