hackwriter 0.0.3 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent/AgentExecutor.d.ts +17 -4
- package/dist/agent/AgentExecutor.d.ts.map +1 -1
- package/dist/agent/AgentExecutor.js +166 -84
- package/dist/agent/AgentExecutor.js.map +1 -1
- package/dist/agent/AgentTypes.d.ts +33 -0
- package/dist/agent/AgentTypes.d.ts.map +1 -0
- package/dist/agent/AgentTypes.js +13 -0
- package/dist/agent/AgentTypes.js.map +1 -0
- package/dist/agent/ApprovalManager.d.ts +26 -3
- package/dist/agent/ApprovalManager.d.ts.map +1 -1
- package/dist/agent/ApprovalManager.js +62 -27
- package/dist/agent/ApprovalManager.js.map +1 -1
- package/dist/agent/ApprovalProvider.d.ts +21 -0
- package/dist/agent/ApprovalProvider.d.ts.map +1 -0
- package/dist/agent/ApprovalProvider.js +2 -0
- package/dist/agent/ApprovalProvider.js.map +1 -0
- package/dist/agent/CompactionPrompt.d.ts +12 -0
- package/dist/agent/CompactionPrompt.d.ts.map +1 -0
- package/dist/agent/CompactionPrompt.js +23 -0
- package/dist/agent/CompactionPrompt.js.map +1 -0
- package/dist/agent/ContextCompressor.d.ts +2 -2
- package/dist/agent/ContextCompressor.d.ts.map +1 -1
- package/dist/agent/ContextCompressor.js +14 -22
- package/dist/agent/ContextCompressor.js.map +1 -1
- package/dist/agent/ConversationContext.d.ts +2 -2
- package/dist/agent/ConversationContext.d.ts.map +1 -1
- package/dist/agent/ConversationContext.js +40 -154
- package/dist/agent/ConversationContext.js.map +1 -1
- package/dist/agent/ModelFactory.d.ts +2 -2
- package/dist/agent/ModelFactory.d.ts.map +1 -1
- package/dist/agent/ModelFactory.js +14 -7
- package/dist/agent/ModelFactory.js.map +1 -1
- package/dist/cli.js +2 -14
- package/dist/cli.js.map +1 -1
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +65 -41
- package/dist/commands/setup.js.map +1 -1
- package/dist/config/ConfigSchema.d.ts +5 -3
- package/dist/config/ConfigSchema.d.ts.map +1 -1
- package/dist/config/ConfigSchema.js +12 -9
- package/dist/config/ConfigSchema.js.map +1 -1
- package/dist/config/Configuration.d.ts +2 -2
- package/dist/config/Configuration.d.ts.map +1 -1
- package/dist/tools/base/Tool.d.ts +2 -1
- package/dist/tools/base/Tool.d.ts.map +1 -1
- package/dist/tools/base/Tool.js.map +1 -1
- package/dist/tools/hackmd/CreateNoteTool.d.ts +1 -1
- package/dist/tools/hackmd/CreateNoteTool.d.ts.map +1 -1
- package/dist/tools/hackmd/CreateNoteTool.js +1 -1
- package/dist/tools/hackmd/CreateNoteTool.js.map +1 -1
- package/dist/tools/hackmd/GetUserInfoTool.d.ts +2 -2
- package/dist/tools/hackmd/GetUserInfoTool.d.ts.map +1 -1
- package/dist/tools/hackmd/GetUserInfoTool.js +10 -10
- package/dist/tools/hackmd/GetUserInfoTool.js.map +1 -1
- package/dist/tools/hackmd/ListNotesTool.js +1 -1
- package/dist/tools/hackmd/ListNotesTool.js.map +1 -1
- package/package.json +16 -14
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { LanguageModel } from
|
|
2
|
-
import type { Agent } from
|
|
3
|
-
import type { ConversationContext } from
|
|
1
|
+
import type { LanguageModel } from "ai";
|
|
2
|
+
import type { Agent } from "./Agent.js";
|
|
3
|
+
import type { ConversationContext } from "./ConversationContext.js";
|
|
4
4
|
export interface ExecutorStatus {
|
|
5
5
|
contextUsage: number;
|
|
6
6
|
tokenCount: number;
|
|
@@ -16,13 +16,19 @@ export declare class AgentExecutor {
|
|
|
16
16
|
private maxRetriesPerStep;
|
|
17
17
|
private reservedTokens;
|
|
18
18
|
private currentStep;
|
|
19
|
+
private consecutiveEmptyMessages;
|
|
20
|
+
private recentToolCalls;
|
|
21
|
+
private readonly MAX_EMPTY_MESSAGES;
|
|
22
|
+
private readonly MAX_SAME_TOOL_REPEATS;
|
|
19
23
|
constructor(agent: Agent, context: ConversationContext, model: LanguageModel, loopControl?: {
|
|
20
24
|
maxStepsPerRun?: number;
|
|
21
25
|
maxRetriesPerStep?: number;
|
|
26
|
+
reservedTokens?: number;
|
|
22
27
|
});
|
|
23
28
|
get status(): ExecutorStatus;
|
|
24
29
|
execute(userInput: string): Promise<void>;
|
|
25
30
|
private runLoop;
|
|
31
|
+
private handleHalt;
|
|
26
32
|
private executeStep;
|
|
27
33
|
private executeTools;
|
|
28
34
|
private shouldCompressContext;
|
|
@@ -31,6 +37,13 @@ export declare class AgentExecutor {
|
|
|
31
37
|
private normalizeToolInput;
|
|
32
38
|
private createAssistantMessage;
|
|
33
39
|
private createToolResultPart;
|
|
34
|
-
|
|
40
|
+
/**
|
|
41
|
+
* Extract text content from a message for stuck detection
|
|
42
|
+
*/
|
|
43
|
+
private extractMessageText;
|
|
44
|
+
/**
|
|
45
|
+
* Inject a system/controller message to help agent recover from stuck state
|
|
46
|
+
*/
|
|
47
|
+
private injectControllerMessage;
|
|
35
48
|
}
|
|
36
49
|
//# sourceMappingURL=AgentExecutor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentExecutor.d.ts","sourceRoot":"","sources":["../../src/agent/AgentExecutor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,
|
|
1
|
+
{"version":3,"file":"AgentExecutor.d.ts","sourceRoot":"","sources":["../../src/agent/AgentExecutor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EAMd,MAAM,IAAI,CAAC;AAGZ,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAQpE,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AA0BD,qBAAa,aAAa;IACxB,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,UAAU,CAAoB;IAEtC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,WAAW,CAAK;IAGxB,OAAO,CAAC,wBAAwB,CAAK;IACrC,OAAO,CAAC,eAAe,CAAgB;IACvC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAK;IACxC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAK;gBAGzC,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,mBAAmB,EAC5B,KAAK,EAAE,aAAa,EACpB,WAAW,CAAC,EAAE;QACZ,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB;IAeH,IAAI,MAAM,IAAI,cAAc,CAM3B;IAEK,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAqBjC,OAAO;IAmDrB,OAAO,CAAC,UAAU;YA2BJ,WAAW;YAgKX,YAAY;IAqE1B,OAAO,CAAC,qBAAqB;YAMf,eAAe;IAa7B,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,sBAAsB;IAc9B,OAAO,CAAC,oBAAoB;IAmB5B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAa1B;;OAEG;YACW,uBAAuB;CAQtC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { jsonSchema, streamText } from
|
|
2
|
-
import { MessageBus } from
|
|
3
|
-
import { ContextCompressor } from
|
|
4
|
-
import { Logger } from
|
|
1
|
+
import { jsonSchema, streamText } from "ai";
|
|
2
|
+
import { MessageBus } from "../messaging/MessageBus.js";
|
|
3
|
+
import { ContextCompressor } from "./ContextCompressor.js";
|
|
4
|
+
import { Logger } from "../utils/Logger.js";
|
|
5
|
+
import { stepContinue, stepHalt } from "./AgentTypes.js";
|
|
5
6
|
export class AgentExecutor {
|
|
6
7
|
context;
|
|
7
8
|
agent;
|
|
@@ -10,8 +11,13 @@ export class AgentExecutor {
|
|
|
10
11
|
compressor;
|
|
11
12
|
maxSteps;
|
|
12
13
|
maxRetriesPerStep;
|
|
13
|
-
reservedTokens
|
|
14
|
+
reservedTokens;
|
|
14
15
|
currentStep = 0;
|
|
16
|
+
// Stuck detection
|
|
17
|
+
consecutiveEmptyMessages = 0;
|
|
18
|
+
recentToolCalls = [];
|
|
19
|
+
MAX_EMPTY_MESSAGES = 2;
|
|
20
|
+
MAX_SAME_TOOL_REPEATS = 5;
|
|
15
21
|
constructor(agent, context, model, loopControl) {
|
|
16
22
|
this.agent = agent;
|
|
17
23
|
this.context = context;
|
|
@@ -20,6 +26,10 @@ export class AgentExecutor {
|
|
|
20
26
|
this.compressor = new ContextCompressor(model);
|
|
21
27
|
this.maxSteps = loopControl?.maxStepsPerRun ?? 100;
|
|
22
28
|
this.maxRetriesPerStep = loopControl?.maxRetriesPerStep ?? 2;
|
|
29
|
+
// Reserve 25% of context or 50k tokens, whichever is smaller
|
|
30
|
+
this.reservedTokens =
|
|
31
|
+
loopControl?.reservedTokens ??
|
|
32
|
+
Math.min(50000, Math.floor(agent.maxContextSize * 0.25));
|
|
23
33
|
}
|
|
24
34
|
get status() {
|
|
25
35
|
return {
|
|
@@ -29,57 +39,81 @@ export class AgentExecutor {
|
|
|
29
39
|
};
|
|
30
40
|
}
|
|
31
41
|
async execute(userInput) {
|
|
32
|
-
Logger.debug(
|
|
42
|
+
Logger.debug("AgentExecutor", "Starting execution", {
|
|
33
43
|
input: userInput.slice(0, 100),
|
|
34
|
-
currentTokens: this.context.tokenCount
|
|
44
|
+
currentTokens: this.context.tokenCount,
|
|
35
45
|
});
|
|
36
46
|
const userMessage = {
|
|
37
|
-
role:
|
|
47
|
+
role: "user",
|
|
38
48
|
content: userInput,
|
|
39
49
|
};
|
|
40
50
|
await this.context.createCheckpoint();
|
|
41
51
|
await this.context.addMessage(userMessage);
|
|
42
52
|
await this.runLoop();
|
|
43
|
-
Logger.debug(
|
|
53
|
+
Logger.debug("AgentExecutor", "Execution completed", {
|
|
44
54
|
finalTokens: this.context.tokenCount,
|
|
45
|
-
totalSteps: this.currentStep
|
|
55
|
+
totalSteps: this.currentStep,
|
|
46
56
|
});
|
|
47
57
|
}
|
|
48
58
|
async runLoop() {
|
|
49
59
|
this.currentStep = 1;
|
|
60
|
+
this.consecutiveEmptyMessages = 0;
|
|
61
|
+
this.recentToolCalls = [];
|
|
50
62
|
while (true) {
|
|
51
|
-
Logger.debug(
|
|
63
|
+
Logger.debug("AgentExecutor", `Step ${this.currentStep}/${this.maxSteps}`);
|
|
52
64
|
this.messageBus.publish({
|
|
53
|
-
type:
|
|
54
|
-
stepNumber: this.currentStep
|
|
65
|
+
type: "step_started",
|
|
66
|
+
stepNumber: this.currentStep,
|
|
55
67
|
});
|
|
56
68
|
// Check if context compression needed
|
|
57
69
|
if (this.shouldCompressContext()) {
|
|
58
|
-
Logger.info(
|
|
70
|
+
Logger.info("AgentExecutor", "Context compression triggered", {
|
|
59
71
|
currentTokens: this.context.tokenCount,
|
|
60
|
-
maxTokens: this.agent.maxContextSize
|
|
72
|
+
maxTokens: this.agent.maxContextSize,
|
|
61
73
|
});
|
|
62
|
-
this.messageBus.publish({ type:
|
|
74
|
+
this.messageBus.publish({ type: "compression_started" });
|
|
63
75
|
await this.compressContext();
|
|
64
|
-
this.messageBus.publish({ type:
|
|
65
|
-
Logger.info(
|
|
66
|
-
newTokenCount: this.context.tokenCount
|
|
76
|
+
this.messageBus.publish({ type: "compression_completed" });
|
|
77
|
+
Logger.info("AgentExecutor", "Context compression completed", {
|
|
78
|
+
newTokenCount: this.context.tokenCount,
|
|
67
79
|
});
|
|
68
80
|
}
|
|
69
81
|
await this.context.createCheckpoint();
|
|
70
82
|
// Execute single step
|
|
71
|
-
const
|
|
72
|
-
if (
|
|
73
|
-
|
|
74
|
-
this.messageBus.publish({ type:
|
|
83
|
+
const outcome = await this.executeStep();
|
|
84
|
+
if (outcome.kind === "halt") {
|
|
85
|
+
this.handleHalt(outcome.halt);
|
|
86
|
+
this.messageBus.publish({ type: "step_completed" });
|
|
75
87
|
return;
|
|
76
88
|
}
|
|
77
89
|
this.currentStep++;
|
|
78
90
|
if (this.currentStep > this.maxSteps) {
|
|
79
|
-
|
|
91
|
+
const halt = { kind: "max_steps" };
|
|
92
|
+
this.handleHalt(halt);
|
|
93
|
+
this.messageBus.publish({ type: "step_completed" });
|
|
94
|
+
return;
|
|
80
95
|
}
|
|
81
96
|
}
|
|
82
97
|
}
|
|
98
|
+
handleHalt(halt) {
|
|
99
|
+
switch (halt.kind) {
|
|
100
|
+
case "done":
|
|
101
|
+
Logger.debug("AgentExecutor", "Execution completed naturally");
|
|
102
|
+
break;
|
|
103
|
+
case "max_steps":
|
|
104
|
+
Logger.warn("AgentExecutor", `Maximum steps (${this.maxSteps}) reached`);
|
|
105
|
+
throw new Error(`Maximum steps (${this.maxSteps}) reached`);
|
|
106
|
+
case "error":
|
|
107
|
+
Logger.error("AgentExecutor", "Execution halted due to error", halt.error);
|
|
108
|
+
throw halt.error;
|
|
109
|
+
case "stuck":
|
|
110
|
+
Logger.warn("AgentExecutor", "Agent appears stuck - halting");
|
|
111
|
+
throw new Error("Agent stuck in loop");
|
|
112
|
+
case "await_user":
|
|
113
|
+
Logger.debug("AgentExecutor", "Waiting for user input");
|
|
114
|
+
break;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
83
117
|
async executeStep() {
|
|
84
118
|
const stream = streamText({
|
|
85
119
|
model: this.model,
|
|
@@ -90,36 +124,36 @@ export class AgentExecutor {
|
|
|
90
124
|
});
|
|
91
125
|
const toolCalls = [];
|
|
92
126
|
const assistantParts = [];
|
|
93
|
-
let pendingText =
|
|
127
|
+
let pendingText = "";
|
|
94
128
|
const flushText = () => {
|
|
95
129
|
if (!pendingText.length) {
|
|
96
130
|
return;
|
|
97
131
|
}
|
|
98
|
-
assistantParts.push({ type:
|
|
99
|
-
pendingText =
|
|
132
|
+
assistantParts.push({ type: "text", text: pendingText });
|
|
133
|
+
pendingText = "";
|
|
100
134
|
};
|
|
101
135
|
try {
|
|
102
136
|
const streamIterator = stream.fullStream;
|
|
103
137
|
for await (const chunk of streamIterator) {
|
|
104
138
|
switch (chunk.type) {
|
|
105
|
-
case
|
|
139
|
+
case "text-delta": {
|
|
106
140
|
pendingText += chunk.text;
|
|
107
|
-
this.messageBus.publish({ type:
|
|
141
|
+
this.messageBus.publish({ type: "text_chunk", text: chunk.text });
|
|
108
142
|
break;
|
|
109
143
|
}
|
|
110
|
-
case
|
|
144
|
+
case "text-end": {
|
|
111
145
|
flushText();
|
|
112
146
|
break;
|
|
113
147
|
}
|
|
114
|
-
case
|
|
148
|
+
case "tool-input-delta": {
|
|
115
149
|
this.messageBus.publish({
|
|
116
|
-
type:
|
|
150
|
+
type: "tool_arguments_chunk",
|
|
117
151
|
toolCallId: chunk.toolCallId,
|
|
118
152
|
chunk: chunk.inputTextDelta,
|
|
119
153
|
});
|
|
120
154
|
break;
|
|
121
155
|
}
|
|
122
|
-
case
|
|
156
|
+
case "tool-call": {
|
|
123
157
|
flushText();
|
|
124
158
|
const normalizedInput = this.normalizeToolInput(chunk.input);
|
|
125
159
|
const toolCall = {
|
|
@@ -129,13 +163,13 @@ export class AgentExecutor {
|
|
|
129
163
|
};
|
|
130
164
|
toolCalls.push(toolCall);
|
|
131
165
|
assistantParts.push({
|
|
132
|
-
type:
|
|
166
|
+
type: "tool-call",
|
|
133
167
|
toolCallId: chunk.toolCallId,
|
|
134
168
|
toolName: chunk.toolName,
|
|
135
169
|
input: normalizedInput,
|
|
136
170
|
});
|
|
137
171
|
this.messageBus.publish({
|
|
138
|
-
type:
|
|
172
|
+
type: "tool_call_started",
|
|
139
173
|
toolCall: {
|
|
140
174
|
id: toolCall.id,
|
|
141
175
|
name: toolCall.name,
|
|
@@ -143,18 +177,21 @@ export class AgentExecutor {
|
|
|
143
177
|
});
|
|
144
178
|
break;
|
|
145
179
|
}
|
|
146
|
-
case
|
|
180
|
+
case "tool-result": {
|
|
147
181
|
flushText();
|
|
148
182
|
assistantParts.push({
|
|
149
|
-
type:
|
|
183
|
+
type: "tool-result",
|
|
150
184
|
toolCallId: chunk.toolCallId,
|
|
151
185
|
toolName: chunk.toolName,
|
|
152
186
|
output: chunk.output,
|
|
153
187
|
});
|
|
154
188
|
break;
|
|
155
189
|
}
|
|
156
|
-
case
|
|
157
|
-
|
|
190
|
+
case "error": {
|
|
191
|
+
const error = chunk.error instanceof Error
|
|
192
|
+
? chunk.error
|
|
193
|
+
: new Error(String(chunk.error));
|
|
194
|
+
return stepHalt({ kind: "error", error });
|
|
158
195
|
}
|
|
159
196
|
default:
|
|
160
197
|
// Ignore other chunk types (start/finish markers, reasoning, sources, etc.)
|
|
@@ -162,26 +199,64 @@ export class AgentExecutor {
|
|
|
162
199
|
}
|
|
163
200
|
}
|
|
164
201
|
}
|
|
202
|
+
catch (error) {
|
|
203
|
+
const err = error instanceof Error ? error : new Error(String(error));
|
|
204
|
+
return stepHalt({ kind: "error", error: err });
|
|
205
|
+
}
|
|
165
206
|
finally {
|
|
166
207
|
flushText();
|
|
167
208
|
}
|
|
168
209
|
const assistantMessage = this.createAssistantMessage(assistantParts);
|
|
169
210
|
await this.context.addMessage(assistantMessage);
|
|
170
211
|
const usage = await stream.usage;
|
|
171
|
-
|
|
212
|
+
// Use inputTokens as it represents prompt/context size better than totalTokens
|
|
213
|
+
const contextTokens = usage?.inputTokens ?? this.context.tokenCount;
|
|
214
|
+
await this.context.setTokenCount(contextTokens);
|
|
215
|
+
// Check for stuck: consecutive empty messages
|
|
216
|
+
const messageText = this.extractMessageText(assistantMessage);
|
|
217
|
+
if (!messageText.trim() && toolCalls.length === 0) {
|
|
218
|
+
this.consecutiveEmptyMessages++;
|
|
219
|
+
if (this.consecutiveEmptyMessages >= this.MAX_EMPTY_MESSAGES) {
|
|
220
|
+
Logger.warn("AgentExecutor", "Detected consecutive empty messages");
|
|
221
|
+
return stepHalt({ kind: "stuck" });
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
else {
|
|
225
|
+
this.consecutiveEmptyMessages = 0;
|
|
226
|
+
}
|
|
172
227
|
if (toolCalls.length > 0) {
|
|
228
|
+
// Track tool calls for stuck detection
|
|
229
|
+
for (const call of toolCalls) {
|
|
230
|
+
this.recentToolCalls.push(call.name);
|
|
231
|
+
}
|
|
232
|
+
// Keep only last N tool calls
|
|
233
|
+
if (this.recentToolCalls.length > this.MAX_SAME_TOOL_REPEATS) {
|
|
234
|
+
this.recentToolCalls = this.recentToolCalls.slice(-this.MAX_SAME_TOOL_REPEATS);
|
|
235
|
+
}
|
|
236
|
+
// Check if same tool called repeatedly
|
|
237
|
+
if (this.recentToolCalls.length === this.MAX_SAME_TOOL_REPEATS) {
|
|
238
|
+
const allSame = this.recentToolCalls.every((name) => name === this.recentToolCalls[0]);
|
|
239
|
+
if (allSame) {
|
|
240
|
+
Logger.warn("AgentExecutor", `Tool "${this.recentToolCalls[0]}" called ${this.MAX_SAME_TOOL_REPEATS} times in a row`);
|
|
241
|
+
// Inject controller message to help agent recover
|
|
242
|
+
await this.injectControllerMessage(`You've called the tool "${this.recentToolCalls[0]}" ${this.MAX_SAME_TOOL_REPEATS} times in a row. ` +
|
|
243
|
+
`This suggests you may be stuck. Please try a different approach or provide your final answer.`);
|
|
244
|
+
this.recentToolCalls = []; // Reset after intervention
|
|
245
|
+
}
|
|
246
|
+
}
|
|
173
247
|
const results = await this.executeTools(toolCalls);
|
|
174
248
|
const toolResultMessage = {
|
|
175
|
-
role:
|
|
176
|
-
content: results.map(result => this.createToolResultPart(result)),
|
|
249
|
+
role: "tool",
|
|
250
|
+
content: results.map((result) => this.createToolResultPart(result)),
|
|
177
251
|
};
|
|
178
252
|
await this.context.addMessage(toolResultMessage);
|
|
179
|
-
return
|
|
253
|
+
return stepContinue();
|
|
180
254
|
}
|
|
181
|
-
|
|
255
|
+
// No tool calls - execution complete
|
|
256
|
+
return stepHalt({ kind: "done" });
|
|
182
257
|
}
|
|
183
258
|
async executeTools(toolCalls) {
|
|
184
|
-
Logger.debug(
|
|
259
|
+
Logger.debug("AgentExecutor", `Executing ${toolCalls.length} tool(s): ${toolCalls.map((t) => t.name).join(", ")}`);
|
|
185
260
|
return await Promise.all(toolCalls.map(async (call) => {
|
|
186
261
|
const tool = this.agent.toolRegistry.get(call.name);
|
|
187
262
|
if (!tool) {
|
|
@@ -192,7 +267,7 @@ export class AgentExecutor {
|
|
|
192
267
|
output: `Tool ${call.name} not found`,
|
|
193
268
|
};
|
|
194
269
|
this.messageBus.publish({
|
|
195
|
-
type:
|
|
270
|
+
type: "tool_failed",
|
|
196
271
|
toolCallId: call.id,
|
|
197
272
|
error: errorResult.output,
|
|
198
273
|
});
|
|
@@ -200,9 +275,9 @@ export class AgentExecutor {
|
|
|
200
275
|
}
|
|
201
276
|
try {
|
|
202
277
|
const result = await tool.call(call.input);
|
|
203
|
-
Logger.debug(
|
|
278
|
+
Logger.debug("AgentExecutor", `Tool ${call.name}: ${result.ok ? "✓" : "✗"} ${result.brief ?? ""}`);
|
|
204
279
|
this.messageBus.publish({
|
|
205
|
-
type:
|
|
280
|
+
type: "tool_completed",
|
|
206
281
|
toolCallId: call.id,
|
|
207
282
|
result,
|
|
208
283
|
});
|
|
@@ -213,7 +288,7 @@ export class AgentExecutor {
|
|
|
213
288
|
};
|
|
214
289
|
}
|
|
215
290
|
catch (error) {
|
|
216
|
-
Logger.error(
|
|
291
|
+
Logger.error("AgentExecutor", `Tool ${call.name} failed`, error);
|
|
217
292
|
const errorResult = {
|
|
218
293
|
toolCallId: call.id,
|
|
219
294
|
toolName: call.name,
|
|
@@ -221,7 +296,7 @@ export class AgentExecutor {
|
|
|
221
296
|
output: error instanceof Error ? error.message : String(error),
|
|
222
297
|
};
|
|
223
298
|
this.messageBus.publish({
|
|
224
|
-
type:
|
|
299
|
+
type: "tool_failed",
|
|
225
300
|
toolCallId: call.id,
|
|
226
301
|
error: errorResult.output,
|
|
227
302
|
});
|
|
@@ -230,15 +305,14 @@ export class AgentExecutor {
|
|
|
230
305
|
}));
|
|
231
306
|
}
|
|
232
307
|
shouldCompressContext() {
|
|
233
|
-
return (this.context.tokenCount + this.reservedTokens >=
|
|
234
|
-
this.agent.maxContextSize);
|
|
308
|
+
return (this.context.tokenCount + this.reservedTokens >= this.agent.maxContextSize);
|
|
235
309
|
}
|
|
236
310
|
async compressContext() {
|
|
237
|
-
const compressed = await this.compressor.compress(this.context.getHistory()
|
|
311
|
+
const compressed = await this.compressor.compress(this.context.getHistory());
|
|
238
312
|
await this.context.revertToCheckpoint(0);
|
|
239
313
|
await this.context.createCheckpoint();
|
|
240
314
|
await this.context.addMessage({
|
|
241
|
-
role:
|
|
315
|
+
role: "assistant",
|
|
242
316
|
content: `<system>Previous context compressed:\n${compressed}</system>`,
|
|
243
317
|
});
|
|
244
318
|
}
|
|
@@ -253,54 +327,62 @@ export class AgentExecutor {
|
|
|
253
327
|
return tools;
|
|
254
328
|
}
|
|
255
329
|
normalizeToolInput(input) {
|
|
256
|
-
if (input && typeof input ===
|
|
330
|
+
if (input && typeof input === "object" && !Array.isArray(input)) {
|
|
257
331
|
return input;
|
|
258
332
|
}
|
|
259
333
|
return {};
|
|
260
334
|
}
|
|
261
335
|
createAssistantMessage(parts) {
|
|
262
336
|
if (parts.length === 0) {
|
|
263
|
-
return { role:
|
|
337
|
+
return { role: "assistant", content: "" };
|
|
264
338
|
}
|
|
265
|
-
if (parts.length === 1 && parts[0].type ===
|
|
266
|
-
return { role:
|
|
339
|
+
if (parts.length === 1 && parts[0].type === "text") {
|
|
340
|
+
return { role: "assistant", content: parts[0].text };
|
|
267
341
|
}
|
|
268
|
-
return { role:
|
|
342
|
+
return { role: "assistant", content: parts };
|
|
269
343
|
}
|
|
270
344
|
createToolResultPart(result) {
|
|
345
|
+
// If tool provides structured json, use it; otherwise use text-based output
|
|
346
|
+
const value = (result.json ?? {
|
|
347
|
+
ok: result.ok,
|
|
348
|
+
output: result.output,
|
|
349
|
+
message: result.message ?? null,
|
|
350
|
+
brief: result.brief ?? null,
|
|
351
|
+
});
|
|
271
352
|
return {
|
|
272
|
-
type:
|
|
353
|
+
type: "tool-result",
|
|
273
354
|
toolCallId: result.toolCallId,
|
|
274
355
|
toolName: result.toolName,
|
|
275
356
|
output: result.ok
|
|
276
|
-
? {
|
|
277
|
-
|
|
278
|
-
value: {
|
|
279
|
-
ok: true,
|
|
280
|
-
output: result.output,
|
|
281
|
-
message: result.message ?? null,
|
|
282
|
-
brief: result.brief ?? null,
|
|
283
|
-
},
|
|
284
|
-
}
|
|
285
|
-
: {
|
|
286
|
-
type: 'error-json',
|
|
287
|
-
value: {
|
|
288
|
-
ok: false,
|
|
289
|
-
output: result.output,
|
|
290
|
-
message: result.message ?? null,
|
|
291
|
-
brief: result.brief ?? null,
|
|
292
|
-
},
|
|
293
|
-
},
|
|
357
|
+
? { type: "json", value: value }
|
|
358
|
+
: { type: "error-json", value: value },
|
|
294
359
|
};
|
|
295
360
|
}
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
361
|
+
/**
|
|
362
|
+
* Extract text content from a message for stuck detection
|
|
363
|
+
*/
|
|
364
|
+
extractMessageText(message) {
|
|
365
|
+
if (typeof message.content === "string") {
|
|
366
|
+
return message.content;
|
|
299
367
|
}
|
|
300
|
-
if (
|
|
301
|
-
return
|
|
368
|
+
if (Array.isArray(message.content)) {
|
|
369
|
+
return message.content
|
|
370
|
+
.filter((part) => part.type === "text")
|
|
371
|
+
.map((part) => part.text)
|
|
372
|
+
.join("");
|
|
302
373
|
}
|
|
303
|
-
return
|
|
374
|
+
return "";
|
|
375
|
+
}
|
|
376
|
+
/**
|
|
377
|
+
* Inject a system/controller message to help agent recover from stuck state
|
|
378
|
+
*/
|
|
379
|
+
async injectControllerMessage(message) {
|
|
380
|
+
const controllerMessage = {
|
|
381
|
+
role: "assistant",
|
|
382
|
+
content: `<system>${message}</system>`,
|
|
383
|
+
};
|
|
384
|
+
await this.context.addMessage(controllerMessage);
|
|
385
|
+
Logger.info("AgentExecutor", "Injected controller message", { message });
|
|
304
386
|
}
|
|
305
387
|
}
|
|
306
388
|
//# sourceMappingURL=AgentExecutor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentExecutor.js","sourceRoot":"","sources":["../../src/agent/AgentExecutor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AgentExecutor.js","sourceRoot":"","sources":["../../src/agent/AgentExecutor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Halt kinds represent different reasons why agent execution stops
|
|
3
|
+
*/
|
|
4
|
+
export type Halt = {
|
|
5
|
+
kind: 'done';
|
|
6
|
+
} | {
|
|
7
|
+
kind: 'max_steps';
|
|
8
|
+
} | {
|
|
9
|
+
kind: 'error';
|
|
10
|
+
error: Error;
|
|
11
|
+
} | {
|
|
12
|
+
kind: 'stuck';
|
|
13
|
+
} | {
|
|
14
|
+
kind: 'await_user';
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Step outcome represents result of executing a single agent step
|
|
18
|
+
*/
|
|
19
|
+
export type StepOutcome = {
|
|
20
|
+
kind: 'continue';
|
|
21
|
+
} | {
|
|
22
|
+
kind: 'halt';
|
|
23
|
+
halt: Halt;
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Creates a continue outcome
|
|
27
|
+
*/
|
|
28
|
+
export declare function stepContinue(): StepOutcome;
|
|
29
|
+
/**
|
|
30
|
+
* Creates a halt outcome
|
|
31
|
+
*/
|
|
32
|
+
export declare function stepHalt(halt: Halt): StepOutcome;
|
|
33
|
+
//# sourceMappingURL=AgentTypes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentTypes.d.ts","sourceRoot":"","sources":["../../src/agent/AgentTypes.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,IAAI,GACZ;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GACrB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,CAAC;AAE3B;;GAEG;AACH,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GACpB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,CAAC;AAEjC;;GAEG;AACH,wBAAgB,YAAY,IAAI,WAAW,CAE1C;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,WAAW,CAEhD"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Creates a continue outcome
|
|
3
|
+
*/
|
|
4
|
+
export function stepContinue() {
|
|
5
|
+
return { kind: 'continue' };
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Creates a halt outcome
|
|
9
|
+
*/
|
|
10
|
+
export function stepHalt(halt) {
|
|
11
|
+
return { kind: 'halt', halt };
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=AgentTypes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentTypes.js","sourceRoot":"","sources":["../../src/agent/AgentTypes.ts"],"names":[],"mappings":"AAiBA;;GAEG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AAC9B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAU;IACjC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAChC,CAAC"}
|
|
@@ -1,8 +1,31 @@
|
|
|
1
|
+
import type { ApprovalProvider, ApprovalResponse } from "./ApprovalProvider.js";
|
|
2
|
+
/**
|
|
3
|
+
* CLI-based approval provider using readline
|
|
4
|
+
* This is the implementation for interactive terminal use
|
|
5
|
+
*/
|
|
6
|
+
export declare class CLIApprovalProvider implements ApprovalProvider {
|
|
7
|
+
request(req: {
|
|
8
|
+
toolName: string;
|
|
9
|
+
action: string;
|
|
10
|
+
description: string;
|
|
11
|
+
}): Promise<ApprovalResponse>;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Non-interactive approval provider (auto-approves everything)
|
|
15
|
+
* Useful for -c flag / yolo mode
|
|
16
|
+
*/
|
|
17
|
+
export declare class YoloApprovalProvider implements ApprovalProvider {
|
|
18
|
+
request(): Promise<ApprovalResponse>;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Approval manager that delegates to a provider
|
|
22
|
+
* Handles session-based auto-approval logic
|
|
23
|
+
*/
|
|
1
24
|
export declare class ApprovalManager {
|
|
2
|
-
private yolo;
|
|
3
25
|
private autoApproveActions;
|
|
4
|
-
|
|
26
|
+
private provider;
|
|
27
|
+
constructor(provider?: ApprovalProvider, yolo?: boolean);
|
|
5
28
|
request(toolName: string, action: string, description: string): Promise<boolean>;
|
|
6
|
-
|
|
29
|
+
setProvider(provider: ApprovalProvider): void;
|
|
7
30
|
}
|
|
8
31
|
//# sourceMappingURL=ApprovalManager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApprovalManager.d.ts","sourceRoot":"","sources":["../../src/agent/ApprovalManager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ApprovalManager.d.ts","sourceRoot":"","sources":["../../src/agent/ApprovalManager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEhF;;;GAGG;AACH,qBAAa,mBAAoB,YAAW,gBAAgB;IACpD,OAAO,CAAC,GAAG,EAAE;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;KACrB,GAAG,OAAO,CAAC,gBAAgB,CAAC;CA8B9B;AAED;;;GAGG;AACH,qBAAa,oBAAqB,YAAW,gBAAgB;IAC3D,OAAO,IAAI,OAAO,CAAC,gBAAgB,CAAC;CAGrC;AAED;;;GAGG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,QAAQ,CAAmB;gBAEvB,QAAQ,CAAC,EAAE,gBAAgB,EAAE,IAAI,UAAQ;IAM/C,OAAO,CACX,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,OAAO,CAAC;IAwBnB,WAAW,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI;CAG9C"}
|