chivgent 1.0.0 → 1.1.0
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 +97 -897
- package/README.zh-CN.md +97 -801
- package/dist/agent.d.ts +30 -2
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +255 -36
- package/dist/agent.js.map +1 -1
- package/dist/auth/oauth.d.ts +51 -0
- package/dist/auth/oauth.d.ts.map +1 -0
- package/dist/auth/oauth.js +444 -0
- package/dist/auth/oauth.js.map +1 -0
- package/dist/cli-options.d.ts +9 -4
- package/dist/cli-options.d.ts.map +1 -1
- package/dist/cli-options.js +46 -3
- package/dist/cli-options.js.map +1 -1
- package/dist/cli-runtime.d.ts +33 -0
- package/dist/cli-runtime.d.ts.map +1 -0
- package/dist/cli-runtime.js +90 -0
- package/dist/cli-runtime.js.map +1 -0
- package/dist/cli.js +76 -81
- 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 +23 -0
- package/dist/context/context-manager.d.ts.map +1 -1
- package/dist/context/context-manager.js +200 -35
- 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 +13 -4
- package/dist/evals/tools.js.map +1 -1
- package/dist/events.d.ts +12 -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/permissions.d.ts +35 -0
- package/dist/permissions.d.ts.map +1 -0
- package/dist/permissions.js +89 -0
- package/dist/permissions.js.map +1 -0
- package/dist/prompts.d.ts +3 -3
- package/dist/prompts.d.ts.map +1 -1
- package/dist/prompts.js +5 -3
- package/dist/prompts.js.map +1 -1
- package/dist/providers/client.d.ts +1 -1
- package/dist/providers/client.d.ts.map +1 -1
- package/dist/providers/client.js +19 -1
- package/dist/providers/client.js.map +1 -1
- package/dist/providers/definitions.d.ts +2 -0
- package/dist/providers/definitions.d.ts.map +1 -1
- package/dist/providers/definitions.js +3 -1
- package/dist/providers/definitions.js.map +1 -1
- package/dist/providers/interactive.d.ts +4 -0
- package/dist/providers/interactive.d.ts.map +1 -1
- package/dist/providers/interactive.js +86 -2
- package/dist/providers/interactive.js.map +1 -1
- package/dist/providers/oauth-client.d.ts +14 -0
- package/dist/providers/oauth-client.d.ts.map +1 -0
- package/dist/providers/oauth-client.js +52 -0
- package/dist/providers/oauth-client.js.map +1 -0
- package/dist/providers/openai-compatible-chat.d.ts +1 -0
- package/dist/providers/openai-compatible-chat.d.ts.map +1 -1
- package/dist/providers/openai-compatible-chat.js +1 -0
- package/dist/providers/openai-compatible-chat.js.map +1 -1
- package/dist/providers/openai.d.ts +3 -0
- package/dist/providers/openai.d.ts.map +1 -1
- package/dist/providers/openai.js +72 -10
- package/dist/providers/openai.js.map +1 -1
- package/dist/remote/repl.d.ts.map +1 -1
- package/dist/remote/repl.js +9 -0
- package/dist/remote/repl.js.map +1 -1
- package/dist/repl.d.ts +53 -1
- package/dist/repl.d.ts.map +1 -1
- package/dist/repl.js +554 -10
- package/dist/repl.js.map +1 -1
- package/dist/session-store.d.ts +27 -2
- package/dist/session-store.d.ts.map +1 -1
- package/dist/session-store.js +85 -2
- package/dist/session-store.js.map +1 -1
- package/dist/session.d.ts +20 -0
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +141 -13
- 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 +20 -0
- package/dist/shell/docker.d.ts.map +1 -0
- package/dist/shell/docker.js +97 -0
- package/dist/shell/docker.js.map +1 -0
- package/dist/shell/factory.d.ts +9 -0
- package/dist/shell/factory.d.ts.map +1 -0
- package/dist/shell/factory.js +13 -0
- package/dist/shell/factory.js.map +1 -0
- package/dist/shell/local.d.ts +5 -1
- package/dist/shell/local.d.ts.map +1 -1
- package/dist/shell/local.js +17 -2
- package/dist/shell/local.js.map +1 -1
- package/dist/shell/native.d.ts +15 -0
- package/dist/shell/native.d.ts.map +1 -0
- package/dist/shell/native.js +99 -0
- package/dist/shell/native.js.map +1 -0
- package/dist/shell/types.d.ts +1 -0
- package/dist/shell/types.d.ts.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 +23 -0
- package/dist/tools/bash.d.ts.map +1 -1
- package/dist/tools/bash.js +55 -11
- package/dist/tools/bash.js.map +1 -1
- package/dist/tools/edit-file.d.ts.map +1 -1
- package/dist/tools/edit-file.js +1 -1
- package/dist/tools/edit-file.js.map +1 -1
- package/dist/tools/parallel.d.ts +16 -0
- package/dist/tools/parallel.d.ts.map +1 -0
- package/dist/tools/parallel.js +28 -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/tools/write-file.d.ts.map +1 -1
- package/dist/tools/write-file.js +1 -1
- package/dist/tools/write-file.js.map +1 -1
- package/dist/transcript-hash.d.ts +4 -0
- package/dist/transcript-hash.d.ts.map +1 -0
- package/dist/transcript-hash.js +6 -0
- package/dist/transcript-hash.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 +10 -0
- package/dist/tui/live.d.ts.map +1 -1
- package/dist/tui/live.js +42 -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/paths.d.ts.map +1 -1
- package/dist/workspace/paths.js +4 -0
- package/dist/workspace/paths.js.map +1 -1
- package/dist/workspace/types.d.ts +9 -2
- package/dist/workspace/types.d.ts.map +1 -1
- package/dist/workspace/types.js.map +1 -1
- package/dist/workspace.d.ts +4 -3
- package/dist/workspace.d.ts.map +1 -1
- package/dist/workspace.js +7 -2
- package/dist/workspace.js.map +1 -1
- package/package.json +6 -2
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
|
-
import type
|
|
7
|
+
import { type AppliedCompaction, 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,10 @@ 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;
|
|
25
|
+
/** Additional execution-time boundary for tools such as trusted extensions. */
|
|
26
|
+
readonly authorizeToolCall?: (name: string, argumentsValue: unknown, signal?: AbortSignal) => Promise<boolean>;
|
|
22
27
|
}
|
|
23
28
|
export interface AgentRunOptions {
|
|
24
29
|
/** Cancels the run between turns, during a Provider call, and between tools. */
|
|
@@ -28,6 +33,9 @@ export interface AgentRunOptions {
|
|
|
28
33
|
* given; a session owns its transcript and passes a snapshot in.
|
|
29
34
|
*/
|
|
30
35
|
readonly history?: readonly Message[];
|
|
36
|
+
readonly compaction?: AppliedCompaction;
|
|
37
|
+
/** Enforced in the execution path; provider tool schemas are filtered too. */
|
|
38
|
+
readonly planMode?: boolean;
|
|
31
39
|
}
|
|
32
40
|
export type AgentRunResult = {
|
|
33
41
|
readonly status: "completed";
|
|
@@ -36,11 +44,13 @@ export type AgentRunResult = {
|
|
|
36
44
|
readonly turnCount: number;
|
|
37
45
|
/** What the run cost, when the Provider reported it. */
|
|
38
46
|
readonly usage?: UsageTotal;
|
|
47
|
+
readonly compaction?: AppliedCompaction;
|
|
39
48
|
} | {
|
|
40
49
|
readonly status: "max_turns" | "aborted";
|
|
41
50
|
readonly messages: readonly Message[];
|
|
42
51
|
readonly turnCount: number;
|
|
43
52
|
readonly usage?: UsageTotal;
|
|
53
|
+
readonly compaction?: AppliedCompaction;
|
|
44
54
|
};
|
|
45
55
|
export declare class AgentProtocolError extends Error {
|
|
46
56
|
constructor(message: string);
|
|
@@ -55,8 +65,17 @@ export declare class Agent {
|
|
|
55
65
|
private readonly onEvent?;
|
|
56
66
|
private readonly streaming;
|
|
57
67
|
private readonly contextManager?;
|
|
68
|
+
private readonly projectInstructions?;
|
|
69
|
+
private readonly authorizeToolCall?;
|
|
58
70
|
constructor(options: AgentOptions);
|
|
59
71
|
get toolNames(): readonly string[];
|
|
72
|
+
compactHistory(messages: readonly Message[], previous?: AppliedCompaction, signal?: AbortSignal): Promise<{
|
|
73
|
+
readonly compacted: false;
|
|
74
|
+
} | {
|
|
75
|
+
readonly compacted: true;
|
|
76
|
+
readonly compaction: AppliedCompaction;
|
|
77
|
+
readonly usage?: import("./llm.js").Usage;
|
|
78
|
+
}>;
|
|
60
79
|
run(userInput: string, options?: AgentRunOptions): Promise<AgentRunResult>;
|
|
61
80
|
private loop;
|
|
62
81
|
/**
|
|
@@ -69,6 +88,15 @@ export declare class Agent {
|
|
|
69
88
|
private buildContext;
|
|
70
89
|
private requestAssistantMessage;
|
|
71
90
|
private assertUniqueToolCallIds;
|
|
91
|
+
/**
|
|
92
|
+
* Run contiguous built-in read groups concurrently, with an exclusive
|
|
93
|
+
* barrier around every write/shell/extension/unknown call.
|
|
94
|
+
*
|
|
95
|
+
* Promise.allSettled is intentional: it drains every started read before
|
|
96
|
+
* agent_end, so no background events arrive after the session is persisted.
|
|
97
|
+
* Results are committed in the model's call order, not completion order.
|
|
98
|
+
*/
|
|
99
|
+
private executeToolCalls;
|
|
72
100
|
private executeToolCall;
|
|
73
101
|
private emit;
|
|
74
102
|
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,11 @@
|
|
|
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, isPlanModeTool, MAX_PARALLEL_READS } from "./tools/parallel.js";
|
|
6
|
+
import { UpdatePlanTool } from "./tools/update-plan.js";
|
|
7
|
+
import { ContextBudgetError } from "./context/context-manager.js";
|
|
8
|
+
import { INCOMPLETE_PROJECT_GUIDANCE } from "./context/project-instructions.js";
|
|
4
9
|
export class AgentProtocolError extends Error {
|
|
5
10
|
constructor(message) {
|
|
6
11
|
super(message);
|
|
@@ -17,6 +22,8 @@ export class Agent {
|
|
|
17
22
|
onEvent;
|
|
18
23
|
streaming;
|
|
19
24
|
contextManager;
|
|
25
|
+
projectInstructions;
|
|
26
|
+
authorizeToolCall;
|
|
20
27
|
constructor(options) {
|
|
21
28
|
if (!Number.isSafeInteger(options.maxTurns) || options.maxTurns <= 0) {
|
|
22
29
|
throw new TypeError("maxTurns must be a positive safe integer.");
|
|
@@ -38,21 +45,39 @@ export class Agent {
|
|
|
38
45
|
if (options.contextManager !== undefined) {
|
|
39
46
|
this.contextManager = options.contextManager;
|
|
40
47
|
}
|
|
48
|
+
if (options.projectInstructions !== undefined) {
|
|
49
|
+
this.projectInstructions = options.projectInstructions;
|
|
50
|
+
}
|
|
51
|
+
this.authorizeToolCall = options.authorizeToolCall;
|
|
41
52
|
}
|
|
42
53
|
get toolNames() {
|
|
43
54
|
return [...this.registry.keys()];
|
|
44
55
|
}
|
|
56
|
+
async compactHistory(messages, previous, signal) {
|
|
57
|
+
if (this.contextManager === undefined)
|
|
58
|
+
throw new ContextBudgetError("Manual compaction is disabled.");
|
|
59
|
+
return this.contextManager.compactHistory(messages, previous, signal);
|
|
60
|
+
}
|
|
45
61
|
async run(userInput, options = {}) {
|
|
46
62
|
if (userInput.trim().length === 0) {
|
|
47
63
|
throw new TypeError("User input must not be empty.");
|
|
48
64
|
}
|
|
65
|
+
// Older logs or crashed executions can end with an assistant tool call
|
|
66
|
+
// without a corresponding tool result. Repair those pairs before sending
|
|
67
|
+
// any new user message to a Provider.
|
|
68
|
+
const history = structuredClone([...(options.history ?? [])]);
|
|
69
|
+
const originalHistory = JSON.stringify(history);
|
|
70
|
+
closePendingToolCalls(history);
|
|
49
71
|
const state = {
|
|
50
72
|
messages: [
|
|
51
|
-
...
|
|
73
|
+
...history,
|
|
52
74
|
{ role: "user", content: userInput },
|
|
53
75
|
],
|
|
54
76
|
seenToolCallIds: new Set(),
|
|
55
77
|
turnCount: 0,
|
|
78
|
+
planMode: options.planMode === true,
|
|
79
|
+
...(options.compaction === undefined || JSON.stringify(history) !== originalHistory
|
|
80
|
+
? {} : { compaction: structuredClone(options.compaction) }),
|
|
56
81
|
};
|
|
57
82
|
const signal = options.signal;
|
|
58
83
|
this.emit({
|
|
@@ -62,10 +87,18 @@ export class Agent {
|
|
|
62
87
|
});
|
|
63
88
|
try {
|
|
64
89
|
const result = await this.loop(state, signal);
|
|
90
|
+
if (result.status === "aborted") {
|
|
91
|
+
closePendingToolCalls(state.messages);
|
|
92
|
+
this.emitEnd("aborted", state);
|
|
93
|
+
return abortedResult(state);
|
|
94
|
+
}
|
|
65
95
|
this.emitEnd(result.status, state);
|
|
66
96
|
return result;
|
|
67
97
|
}
|
|
68
98
|
catch (error) {
|
|
99
|
+
// A failed/aborted tool may leave other calls in the same assistant
|
|
100
|
+
// message unanswered. Every call needs a result for future replay.
|
|
101
|
+
closePendingToolCalls(state.messages);
|
|
69
102
|
if (isAbortError(error) || isAborted(signal)) {
|
|
70
103
|
this.emitEnd("aborted", state);
|
|
71
104
|
return abortedResult(state);
|
|
@@ -85,6 +118,11 @@ export class Agent {
|
|
|
85
118
|
this.emit({ type: "message_start", turn });
|
|
86
119
|
const response = await this.requestAssistantMessage(state, turn, signal);
|
|
87
120
|
state.usage = addUsage(state.usage, response.usage);
|
|
121
|
+
// A Provider might ignore AbortSignal and resolve successfully anyway.
|
|
122
|
+
// Do not commit that answer as a completed turn after cancellation.
|
|
123
|
+
if (isAborted(signal)) {
|
|
124
|
+
return abortedResult(state);
|
|
125
|
+
}
|
|
88
126
|
const assistant = validateAndCloneAssistantMessage(response.message);
|
|
89
127
|
this.assertUniqueToolCallIds(assistant.toolCalls, state.seenToolCallIds);
|
|
90
128
|
state.messages.push(assistant);
|
|
@@ -108,16 +146,14 @@ export class Agent {
|
|
|
108
146
|
messages: snapshotMessages(state.messages),
|
|
109
147
|
turnCount: state.turnCount,
|
|
110
148
|
...(state.usage === undefined ? {} : { usage: state.usage }),
|
|
149
|
+
...(state.compaction === undefined ? {} : { compaction: state.compaction }),
|
|
111
150
|
};
|
|
112
151
|
}
|
|
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);
|
|
152
|
+
const toolResults = await this.executeToolCalls(assistant.toolCalls, turn, signal, state);
|
|
153
|
+
// A read may finish after the user cancels, even when the tool itself
|
|
154
|
+
// ignores AbortSignal. Never send another model request after that.
|
|
155
|
+
if (isAborted(signal)) {
|
|
156
|
+
return abortedResult(state);
|
|
121
157
|
}
|
|
122
158
|
this.emit({ type: "turn_end", turn, message: assistant, toolResults });
|
|
123
159
|
}
|
|
@@ -126,6 +162,7 @@ export class Agent {
|
|
|
126
162
|
messages: snapshotMessages(state.messages),
|
|
127
163
|
turnCount: state.turnCount,
|
|
128
164
|
...(state.usage === undefined ? {} : { usage: state.usage }),
|
|
165
|
+
...(state.compaction === undefined ? {} : { compaction: state.compaction }),
|
|
129
166
|
};
|
|
130
167
|
}
|
|
131
168
|
/**
|
|
@@ -135,15 +172,33 @@ export class Agent {
|
|
|
135
172
|
* messages sent with it, so a fresh compaction has to drop the continuation
|
|
136
173
|
* to take effect at all.
|
|
137
174
|
*/
|
|
138
|
-
async buildContext(state, signal) {
|
|
175
|
+
async buildContext(state, signal, prefixMessages = []) {
|
|
139
176
|
const snapshot = snapshotMessages(state.messages);
|
|
140
177
|
if (this.contextManager === undefined) {
|
|
141
178
|
return snapshot;
|
|
142
179
|
}
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
180
|
+
let context;
|
|
181
|
+
try {
|
|
182
|
+
context = await this.contextManager.build(snapshot, {
|
|
183
|
+
...(state.compaction === undefined ? {} : { previous: state.compaction }),
|
|
184
|
+
...(signal === undefined ? {} : { signal }),
|
|
185
|
+
prefixMessages,
|
|
186
|
+
fixedMessages: [
|
|
187
|
+
{ role: "user", content: this.systemPrompt },
|
|
188
|
+
{ role: "user", content: JSON.stringify(this.toolDefinitions) },
|
|
189
|
+
],
|
|
190
|
+
});
|
|
191
|
+
}
|
|
192
|
+
catch (error) {
|
|
193
|
+
if (error instanceof ContextBudgetError &&
|
|
194
|
+
(error.compactionUsage !== undefined || error.compactionUsageComplete === false)) {
|
|
195
|
+
state.usage = addUsage(state.usage, error.compactionUsage);
|
|
196
|
+
if (error.compactionUsageComplete === false) {
|
|
197
|
+
state.usage = { usage: state.usage.usage, complete: false };
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
throw error;
|
|
201
|
+
}
|
|
147
202
|
if (context.compaction === undefined) {
|
|
148
203
|
delete state.compaction;
|
|
149
204
|
}
|
|
@@ -156,17 +211,38 @@ export class Agent {
|
|
|
156
211
|
// Summarising is a Provider call this run paid for. Only add when there
|
|
157
212
|
// was one: passing undefined would mark the total incomplete on every
|
|
158
213
|
// turn that simply did not need compacting.
|
|
159
|
-
if (context.usage !== undefined) {
|
|
214
|
+
if (context.usage !== undefined || context.usageComplete === false) {
|
|
160
215
|
state.usage = addUsage(state.usage, context.usage);
|
|
216
|
+
if (context.usageComplete === false) {
|
|
217
|
+
state.usage = {
|
|
218
|
+
usage: state.usage.usage,
|
|
219
|
+
complete: false,
|
|
220
|
+
};
|
|
221
|
+
}
|
|
161
222
|
}
|
|
162
223
|
return context.messages;
|
|
163
224
|
}
|
|
164
225
|
async requestAssistantMessage(state, turn, signal) {
|
|
165
|
-
const
|
|
226
|
+
const projectText = await this.projectInstructions?.load(state.messages);
|
|
227
|
+
if (projectText !== state.projectInstructionsText) {
|
|
228
|
+
// A chained Provider holds its own prompt history; discard that chain
|
|
229
|
+
// when a new scoped AGENTS.md becomes applicable or a document changes.
|
|
230
|
+
delete state.continuation;
|
|
231
|
+
if (projectText === undefined)
|
|
232
|
+
delete state.projectInstructionsText;
|
|
233
|
+
else
|
|
234
|
+
state.projectInstructionsText = projectText;
|
|
235
|
+
}
|
|
236
|
+
const prefixMessages = projectText === undefined
|
|
237
|
+
? [] : [{ role: "user", content: projectText }];
|
|
238
|
+
const messages = await this.buildContext(state, signal, prefixMessages);
|
|
239
|
+
const modelMessages = [...prefixMessages, ...messages];
|
|
166
240
|
const request = {
|
|
167
|
-
systemPrompt: this.systemPrompt,
|
|
168
|
-
messages,
|
|
169
|
-
tools:
|
|
241
|
+
systemPrompt: state.planMode ? `${this.systemPrompt}\n\n${PLAN_MODE_PROMPT}` : this.systemPrompt,
|
|
242
|
+
messages: modelMessages,
|
|
243
|
+
tools: state.planMode
|
|
244
|
+
? this.toolDefinitions.filter((definition) => isPlanModeTool(this.registry.get(definition.name)))
|
|
245
|
+
: this.toolDefinitions,
|
|
170
246
|
...(state.continuation === undefined
|
|
171
247
|
? {}
|
|
172
248
|
: { continuation: state.continuation }),
|
|
@@ -191,7 +267,63 @@ export class Agent {
|
|
|
191
267
|
seenIds.add(toolCall.id);
|
|
192
268
|
}
|
|
193
269
|
}
|
|
194
|
-
|
|
270
|
+
/**
|
|
271
|
+
* Run contiguous built-in read groups concurrently, with an exclusive
|
|
272
|
+
* barrier around every write/shell/extension/unknown call.
|
|
273
|
+
*
|
|
274
|
+
* Promise.allSettled is intentional: it drains every started read before
|
|
275
|
+
* agent_end, so no background events arrive after the session is persisted.
|
|
276
|
+
* Results are committed in the model's call order, not completion order.
|
|
277
|
+
*/
|
|
278
|
+
async executeToolCalls(calls, turn, signal, state) {
|
|
279
|
+
const results = [];
|
|
280
|
+
let next = 0;
|
|
281
|
+
while (next < calls.length) {
|
|
282
|
+
if (isAborted(signal))
|
|
283
|
+
break;
|
|
284
|
+
const call = calls[next];
|
|
285
|
+
if (call === undefined)
|
|
286
|
+
break;
|
|
287
|
+
if (!isParallelReadTool(this.registry.get(call.name))) {
|
|
288
|
+
const result = await this.executeToolCall(call, turn, signal, state);
|
|
289
|
+
state.messages.push(result);
|
|
290
|
+
results.push(result);
|
|
291
|
+
next += 1;
|
|
292
|
+
continue;
|
|
293
|
+
}
|
|
294
|
+
// Stop at the next exclusive call; a write must never overlap a read
|
|
295
|
+
// and can never be overtaken by a later read.
|
|
296
|
+
const batch = [];
|
|
297
|
+
while (next < calls.length && batch.length < MAX_PARALLEL_READS) {
|
|
298
|
+
const candidate = calls[next];
|
|
299
|
+
if (candidate === undefined ||
|
|
300
|
+
!isParallelReadTool(this.registry.get(candidate.name)))
|
|
301
|
+
break;
|
|
302
|
+
batch.push(candidate);
|
|
303
|
+
next += 1;
|
|
304
|
+
}
|
|
305
|
+
const settled = await Promise.allSettled(batch.map((toolCall) => this.executeToolCall(toolCall, turn, signal, state)));
|
|
306
|
+
let firstFailure;
|
|
307
|
+
let hasFailure = false;
|
|
308
|
+
for (const outcome of settled) {
|
|
309
|
+
if (outcome.status === "fulfilled") {
|
|
310
|
+
results.push(outcome.value);
|
|
311
|
+
state.messages.push(outcome.value);
|
|
312
|
+
}
|
|
313
|
+
else if (!hasFailure) {
|
|
314
|
+
firstFailure = outcome.reason;
|
|
315
|
+
hasFailure = true;
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
if (hasFailure) {
|
|
319
|
+
// The caller closes unmatched calls before persisting agent_end.
|
|
320
|
+
// Successfully completed reads are preserved in their original order.
|
|
321
|
+
throw firstFailure;
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
return results;
|
|
325
|
+
}
|
|
326
|
+
async executeToolCall(toolCall, turn, signal, state) {
|
|
195
327
|
this.emit({
|
|
196
328
|
type: "tool_execution_start",
|
|
197
329
|
turn,
|
|
@@ -201,7 +333,10 @@ export class Agent {
|
|
|
201
333
|
});
|
|
202
334
|
const tool = this.registry.get(toolCall.name);
|
|
203
335
|
let output;
|
|
204
|
-
if (
|
|
336
|
+
if (state.planMode && !isPlanModeTool(tool)) {
|
|
337
|
+
output = { content: `Plan Mode blocked tool: ${toolCall.name}. Only built-in read tools and update_plan can run.`, isError: true };
|
|
338
|
+
}
|
|
339
|
+
else if (tool === undefined) {
|
|
205
340
|
output = {
|
|
206
341
|
content: `Unknown tool: ${toolCall.name}`,
|
|
207
342
|
isError: true,
|
|
@@ -209,26 +344,69 @@ export class Agent {
|
|
|
209
344
|
}
|
|
210
345
|
else {
|
|
211
346
|
try {
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
347
|
+
const authorized = this.authorizeToolCall === undefined ||
|
|
348
|
+
await this.authorizeToolCall(toolCall.name, toolCall.arguments, signal);
|
|
349
|
+
if (!authorized) {
|
|
350
|
+
output = { content: `Tool call denied: ${toolCall.name}. Approval was declined or unavailable.`, isError: true };
|
|
351
|
+
}
|
|
352
|
+
else {
|
|
353
|
+
// A model may issue its very first write into a nested folder whose
|
|
354
|
+
// AGENTS.md wasn't visible at sampling time. Defer the mutation until
|
|
355
|
+
// the next LLM request has included those scoped instructions.
|
|
356
|
+
const currentGuidance = this.projectInstructions !== undefined &&
|
|
357
|
+
["write_file", "edit_file", "apply_patch"].includes(toolCall.name)
|
|
358
|
+
? await this.projectInstructions.load(state.messages, toolCall)
|
|
359
|
+
: undefined;
|
|
360
|
+
const unseenGuidance = currentGuidance !== undefined && (currentGuidance.includes(INCOMPLETE_PROJECT_GUIDANCE) ||
|
|
361
|
+
currentGuidance !== state.projectInstructionsText);
|
|
362
|
+
if (unseenGuidance) {
|
|
363
|
+
output = {
|
|
364
|
+
content: currentGuidance?.includes(INCOMPLETE_PROJECT_GUIDANCE)
|
|
365
|
+
? "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."
|
|
366
|
+
: "New scoped AGENTS.md instructions were discovered. No files were changed. Review the new project guidance in the next turn before retrying.",
|
|
367
|
+
isError: true,
|
|
368
|
+
};
|
|
369
|
+
}
|
|
370
|
+
else {
|
|
371
|
+
output = validateToolOutput(await tool.execute(toolCall.arguments, {
|
|
372
|
+
workspace: this.workspace,
|
|
373
|
+
...(signal === undefined ? {} : { signal }),
|
|
374
|
+
...(tool.constructor === UpdatePlanTool ? {
|
|
375
|
+
onPlanUpdate: (update) => {
|
|
376
|
+
this.emit({ type: "plan_update", turn, ...update });
|
|
377
|
+
},
|
|
378
|
+
} : {}),
|
|
379
|
+
onUpdate: (content) => {
|
|
380
|
+
this.emit({
|
|
381
|
+
type: "tool_execution_update",
|
|
382
|
+
turn,
|
|
383
|
+
toolCallId: toolCall.id,
|
|
384
|
+
toolName: toolCall.name,
|
|
385
|
+
content,
|
|
386
|
+
});
|
|
387
|
+
},
|
|
388
|
+
}));
|
|
389
|
+
}
|
|
390
|
+
}
|
|
225
391
|
}
|
|
226
392
|
catch (error) {
|
|
227
|
-
if (isAbortError(error)) {
|
|
393
|
+
if (isAbortError(error) || isAborted(signal)) {
|
|
394
|
+
this.emit({
|
|
395
|
+
type: "tool_execution_end",
|
|
396
|
+
turn,
|
|
397
|
+
toolCallId: toolCall.id,
|
|
398
|
+
toolName: toolCall.name,
|
|
399
|
+
content: INTERRUPTED_TOOL_RESULT,
|
|
400
|
+
isError: true,
|
|
401
|
+
});
|
|
228
402
|
throw error;
|
|
229
403
|
}
|
|
230
404
|
output = {
|
|
231
|
-
|
|
405
|
+
// Only explicitly public messages reach the model. Unexpected errors
|
|
406
|
+
// may contain file paths, tokens, or other implementation details.
|
|
407
|
+
content: error instanceof ToolExecutionError
|
|
408
|
+
? error.message
|
|
409
|
+
: `Tool execution failed: ${toolCall.name}`,
|
|
232
410
|
isError: true,
|
|
233
411
|
};
|
|
234
412
|
}
|
|
@@ -259,10 +437,50 @@ export class Agent {
|
|
|
259
437
|
turnCount: state.turnCount,
|
|
260
438
|
messages: snapshotMessages(state.messages),
|
|
261
439
|
...(state.usage === undefined ? {} : { usage: state.usage }),
|
|
440
|
+
...(state.compaction === undefined ? {} : { compaction: state.compaction }),
|
|
262
441
|
...(error === undefined ? {} : { error }),
|
|
263
442
|
});
|
|
264
443
|
}
|
|
265
444
|
}
|
|
445
|
+
const INTERRUPTED_TOOL_RESULT = "Tool execution interrupted before completion.";
|
|
446
|
+
const PLAN_MODE_PROMPT = `Plan Mode is active. Investigate using available built-in read tools, then propose a concise plan or ask the user a question in natural language. Do not modify files or run commands. Use update_plan for a checklist when useful, then wait for the user to turn Plan Mode off with /plan off before carrying out changes.`;
|
|
447
|
+
/**
|
|
448
|
+
* Ensure every function call has a corresponding output before history is
|
|
449
|
+
* replayed. The synthetic failure is deliberately explicit: we did not run
|
|
450
|
+
* the unfinished tool, and must never imply that its side effects happened.
|
|
451
|
+
*
|
|
452
|
+
* Also handles historical logs with an interrupted assistant call followed by
|
|
453
|
+
* a user message, inserting the missing output *before* that user message.
|
|
454
|
+
*/
|
|
455
|
+
function closePendingToolCalls(messages) {
|
|
456
|
+
for (let index = 0; index < messages.length; index += 1) {
|
|
457
|
+
const current = messages[index];
|
|
458
|
+
if (current?.role !== "assistant" || current.toolCalls.length === 0) {
|
|
459
|
+
continue;
|
|
460
|
+
}
|
|
461
|
+
let afterTools = index + 1;
|
|
462
|
+
const completed = new Map();
|
|
463
|
+
while (messages[afterTools]?.role === "tool") {
|
|
464
|
+
const message = messages[afterTools];
|
|
465
|
+
if (message?.role === "tool") {
|
|
466
|
+
completed.set(message.toolCallId, message);
|
|
467
|
+
}
|
|
468
|
+
afterTools += 1;
|
|
469
|
+
}
|
|
470
|
+
// The order of settled parallel reads is not necessarily the order in
|
|
471
|
+
// which the model requested them. Rebuild in call order, including
|
|
472
|
+
// explicit failure placeholders for tools that never finished.
|
|
473
|
+
const normalized = current.toolCalls.map((call) => completed.get(call.id) ?? {
|
|
474
|
+
role: "tool",
|
|
475
|
+
toolCallId: call.id,
|
|
476
|
+
toolName: call.name,
|
|
477
|
+
content: INTERRUPTED_TOOL_RESULT,
|
|
478
|
+
isError: true,
|
|
479
|
+
});
|
|
480
|
+
messages.splice(index + 1, afterTools - (index + 1), ...normalized);
|
|
481
|
+
index += normalized.length;
|
|
482
|
+
}
|
|
483
|
+
}
|
|
266
484
|
/** Kept as a call so narrowing never hides a signal that aborts mid-run. */
|
|
267
485
|
function isAborted(signal) {
|
|
268
486
|
return signal !== undefined && signal.aborted;
|
|
@@ -273,6 +491,7 @@ function abortedResult(state) {
|
|
|
273
491
|
messages: snapshotMessages(state.messages),
|
|
274
492
|
turnCount: state.turnCount,
|
|
275
493
|
...(state.usage === undefined ? {} : { usage: state.usage }),
|
|
494
|
+
...(state.compaction === undefined ? {} : { compaction: state.compaction }),
|
|
276
495
|
};
|
|
277
496
|
}
|
|
278
497
|
function createToolRegistry(tools) {
|
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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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/** OAuth credentials have a separate schema and lifecycle from API keys. */
|
|
2
|
+
export interface OAuthCredential {
|
|
3
|
+
readonly type: "oauth";
|
|
4
|
+
readonly provider: "openai" | "xai";
|
|
5
|
+
readonly clientId: string;
|
|
6
|
+
readonly accessToken: string;
|
|
7
|
+
readonly refreshToken?: string;
|
|
8
|
+
readonly idToken?: string;
|
|
9
|
+
readonly expiresAt: number;
|
|
10
|
+
readonly scopes: readonly string[];
|
|
11
|
+
readonly subject?: string;
|
|
12
|
+
readonly email?: string;
|
|
13
|
+
}
|
|
14
|
+
export declare function oauthFilePath(home?: string | undefined): string;
|
|
15
|
+
export declare function readOAuthCredentials(file?: string): Promise<OAuthCredential[]>;
|
|
16
|
+
export declare function writeOAuthCredential(credential: OAuthCredential, file?: string): Promise<void>;
|
|
17
|
+
export declare function removeOAuthCredential(provider: OAuthCredential["provider"], file?: string): Promise<void>;
|
|
18
|
+
export declare function refreshSavedOAuthCredential(provider: OAuthCredential["provider"], file?: string, fetcher?: typeof fetch, signal?: AbortSignal): Promise<OAuthCredential | undefined>;
|
|
19
|
+
export declare function refreshOAuthCredential(credential: OAuthCredential, fetcher?: typeof fetch, signal?: AbortSignal): Promise<OAuthCredential>;
|
|
20
|
+
export declare function revokeOAuthCredential(credential: OAuthCredential, fetcher?: typeof fetch): Promise<boolean>;
|
|
21
|
+
/** Current OpenAI OSS SIWC registration flow; callback remains loopback-only. */
|
|
22
|
+
export declare function signInOpenAI(options: {
|
|
23
|
+
appName: string;
|
|
24
|
+
file?: string;
|
|
25
|
+
openBrowser?: (url: string) => Promise<void>;
|
|
26
|
+
fetch?: typeof fetch;
|
|
27
|
+
signal?: AbortSignal;
|
|
28
|
+
startCallback?: (state: string) => Promise<{
|
|
29
|
+
redirectUri: string;
|
|
30
|
+
result: Promise<CallbackResult>;
|
|
31
|
+
close(): void;
|
|
32
|
+
}>;
|
|
33
|
+
}): Promise<OAuthCredential>;
|
|
34
|
+
interface CallbackResult {
|
|
35
|
+
code?: string;
|
|
36
|
+
state?: string;
|
|
37
|
+
client_id?: string;
|
|
38
|
+
error?: string;
|
|
39
|
+
}
|
|
40
|
+
/** xAI RFC 8628 device login; endpoints/scopes currently follow public grok-cli OAuth metadata. */
|
|
41
|
+
export declare function signInXAI(options: {
|
|
42
|
+
file?: string;
|
|
43
|
+
write: (text: string) => void;
|
|
44
|
+
fetch?: typeof fetch;
|
|
45
|
+
sleep?: (ms: number) => Promise<void>;
|
|
46
|
+
signal?: AbortSignal;
|
|
47
|
+
}): Promise<OAuthCredential>;
|
|
48
|
+
/** OAuth bearer tokens may only reach their provider API; reject redirects too. */
|
|
49
|
+
export declare function oauthApiFetch(expectedOrigin: string): typeof fetch;
|
|
50
|
+
export {};
|
|
51
|
+
//# sourceMappingURL=oauth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../../src/auth/oauth.ts"],"names":[],"mappings":"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"}
|