@google/gemini-cli-core 0.9.0-nightly.20251002.4a70d6f2 → 0.9.0-nightly.20251002.a6af7bbb
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/src/agents/codebase-investigator.js +12 -6
- package/dist/src/agents/codebase-investigator.js.map +1 -1
- package/dist/src/agents/executor.d.ts +3 -8
- package/dist/src/agents/executor.js +195 -94
- package/dist/src/agents/executor.js.map +1 -1
- package/dist/src/agents/executor.test.js +331 -287
- package/dist/src/agents/executor.test.js.map +1 -1
- package/dist/src/agents/types.d.ts +16 -4
- package/dist/src/generated/git-commit.d.ts +2 -2
- package/dist/src/generated/git-commit.js +2 -2
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -8,6 +8,7 @@ import { ReadFileTool } from '../tools/read-file.js';
|
|
|
8
8
|
import { GLOB_TOOL_NAME } from '../tools/tool-names.js';
|
|
9
9
|
import { GrepTool } from '../tools/grep.js';
|
|
10
10
|
import { DEFAULT_GEMINI_MODEL } from '../config/models.js';
|
|
11
|
+
import { Type } from '@google/genai';
|
|
11
12
|
const CODEBASE_REPORT_MARKDOWN = `<CodebaseReport>
|
|
12
13
|
<SummaryOfFindings>
|
|
13
14
|
The user's objective is to remove an optional \`config\` property from the command context. The investigation identified that the \`CommandContext\` interface, defined in \`packages/cli/src/ui/commands/types.ts\`, contains a nullable \`config: Config | null\` property. A \`TODO\` comment confirms the intent to make this property non-nullable.
|
|
@@ -73,17 +74,22 @@ export const CodebaseInvestigatorAgent = {
|
|
|
73
74
|
},
|
|
74
75
|
},
|
|
75
76
|
outputConfig: {
|
|
76
|
-
|
|
77
|
+
outputName: 'report',
|
|
78
|
+
description: 'The final investigation report.',
|
|
79
|
+
schema: {
|
|
80
|
+
type: Type.STRING,
|
|
81
|
+
description: `A detailed markdown report summarizing the findings of the codebase investigation and insights that are the foundation for planning and executing any code modification related to the objective.
|
|
77
82
|
# Report Format
|
|
78
83
|
The final report should be structured markdown, clearly answering the investigation focus, citing the files, symbols, architectural patterns and how they relate to the given investigation focus.
|
|
79
84
|
The report should strictly follow a format like this example:
|
|
80
85
|
${CODEBASE_REPORT_MARKDOWN}
|
|
86
|
+
|
|
87
|
+
Completion Criteria:
|
|
88
|
+
- The report must directly address the initial \`objective\`.
|
|
89
|
+
- Cite specific files, functions, or configuration snippets and symbols as evidence for your findings.
|
|
90
|
+
- Conclude with a xml markdown summary of the key files, symbols, technologies, architectural patterns, and conventions discovered.
|
|
81
91
|
`,
|
|
82
|
-
|
|
83
|
-
'The report must directly address the initial `objective`.',
|
|
84
|
-
'Cite specific files, functions, or configuration snippets and symbols as evidence for your findings.',
|
|
85
|
-
'Conclude with a xml markdown summary of the key files, symbols, technologies, architectural patterns, and conventions discovered.',
|
|
86
|
-
],
|
|
92
|
+
},
|
|
87
93
|
},
|
|
88
94
|
modelConfig: {
|
|
89
95
|
model: DEFAULT_GEMINI_MODEL,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codebase-investigator.js","sourceRoot":"","sources":["../../../src/agents/codebase-investigator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"codebase-investigator.js","sourceRoot":"","sources":["../../../src/agents/codebase-investigator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAErC,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA2Cf,CAAC;AAEnB;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAoB;IACxD,IAAI,EAAE,uBAAuB;IAC7B,WAAW,EAAE,6BAA6B;IAC1C,WAAW,EAAE;;kHAEmG;IAChH,WAAW,EAAE;QACX,MAAM,EAAE;YACN,SAAS,EAAE;gBACT,WAAW,EAAE;4HACuG;gBACpH,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;SACF;KACF;IACD,YAAY,EAAE;QACZ,UAAU,EAAE,QAAQ;QACpB,WAAW,EAAE,iCAAiC;QAC9C,MAAM,EAAE;YACN,IAAI,EAAE,IAAI,CAAC,MAAM;YACjB,WAAW,EAAE;;;;EAIjB,wBAAwB;;;;;;CAMzB;SACI;KACF;IAED,WAAW,EAAE;QACX,KAAK,EAAE,oBAAoB;QAC3B,IAAI,EAAE,GAAG;QACT,KAAK,EAAE,IAAI;QACX,cAAc,EAAE,CAAC,CAAC;KACnB;IAED,SAAS,EAAE;QACT,gBAAgB,EAAE,CAAC;QACnB,SAAS,EAAE,EAAE;KACd;IAED,UAAU,EAAE;QACV,wCAAwC;QACxC,KAAK,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,cAAc,EAAE,QAAQ,CAAC,IAAI,CAAC;KACvE;IAED,YAAY,EAAE;QACZ,KAAK,EAAE;;;aAGE;QACT,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqDhB,wBAAwB;CACzB;KACE;CACF,CAAC"}
|
|
@@ -10,11 +10,8 @@ export type ActivityCallback = (activity: SubagentActivityEvent) => void;
|
|
|
10
10
|
/**
|
|
11
11
|
* Executes an agent loop based on an {@link AgentDefinition}.
|
|
12
12
|
*
|
|
13
|
-
* This executor
|
|
14
|
-
*
|
|
15
|
-
* gathered all necessary information to fulfill its goal.
|
|
16
|
-
* 2. **Extraction Phase:** A final prompt is sent to the model to summarize
|
|
17
|
-
* the work and extract the final result in the desired format.
|
|
13
|
+
* This executor runs the agent in a loop, calling tools until it calls the
|
|
14
|
+
* mandatory `complete_task` tool to signal completion.
|
|
18
15
|
*/
|
|
19
16
|
export declare class AgentExecutor {
|
|
20
17
|
readonly definition: AgentDefinition;
|
|
@@ -60,7 +57,7 @@ export declare class AgentExecutor {
|
|
|
60
57
|
/**
|
|
61
58
|
* Executes function calls requested by the model and returns the results.
|
|
62
59
|
*
|
|
63
|
-
* @returns A new `Content` object
|
|
60
|
+
* @returns A new `Content` object for history, any submitted output, and completion status.
|
|
64
61
|
*/
|
|
65
62
|
private processFunctionCalls;
|
|
66
63
|
/**
|
|
@@ -69,8 +66,6 @@ export declare class AgentExecutor {
|
|
|
69
66
|
private prepareToolsList;
|
|
70
67
|
/** Builds the system prompt from the agent definition and inputs. */
|
|
71
68
|
private buildSystemPrompt;
|
|
72
|
-
/** Builds the final message for the extraction phase. */
|
|
73
|
-
private buildExtractionMessage;
|
|
74
69
|
/**
|
|
75
70
|
* Applies template strings to initial messages.
|
|
76
71
|
*
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { reportError } from '../utils/errorReporting.js';
|
|
7
7
|
import { GeminiChat, StreamEventType } from '../core/geminiChat.js';
|
|
8
|
+
import { Type } from '@google/genai';
|
|
8
9
|
import { executeToolCall } from '../core/nonInteractiveToolExecutor.js';
|
|
9
10
|
import { ToolRegistry } from '../tools/tool-registry.js';
|
|
10
11
|
import { getDirectoryContextString } from '../utils/environmentContext.js';
|
|
@@ -19,14 +20,12 @@ import { WebSearchTool } from '../tools/web-search.js';
|
|
|
19
20
|
import { AgentTerminateMode } from './types.js';
|
|
20
21
|
import { templateString } from './utils.js';
|
|
21
22
|
import { parseThought } from '../utils/thoughtUtils.js';
|
|
23
|
+
const TASK_COMPLETE_TOOL_NAME = 'complete_task';
|
|
22
24
|
/**
|
|
23
25
|
* Executes an agent loop based on an {@link AgentDefinition}.
|
|
24
26
|
*
|
|
25
|
-
* This executor
|
|
26
|
-
*
|
|
27
|
-
* gathered all necessary information to fulfill its goal.
|
|
28
|
-
* 2. **Extraction Phase:** A final prompt is sent to the model to summarize
|
|
29
|
-
* the work and extract the final result in the desired format.
|
|
27
|
+
* This executor runs the agent in a loop, calling tools until it calls the
|
|
28
|
+
* mandatory `complete_task` tool to signal completion.
|
|
30
29
|
*/
|
|
31
30
|
export class AgentExecutor {
|
|
32
31
|
definition;
|
|
@@ -100,15 +99,12 @@ export class AgentExecutor {
|
|
|
100
99
|
try {
|
|
101
100
|
const chat = await this.createChatObject(inputs);
|
|
102
101
|
const tools = this.prepareToolsList();
|
|
103
|
-
let terminateReason = AgentTerminateMode.
|
|
104
|
-
|
|
105
|
-
// The agent works in a loop until it stops calling tools.
|
|
102
|
+
let terminateReason = AgentTerminateMode.ERROR;
|
|
103
|
+
let finalResult = null;
|
|
106
104
|
const query = this.definition.promptConfig.query
|
|
107
105
|
? templateString(this.definition.promptConfig.query, inputs)
|
|
108
106
|
: 'Get Started!';
|
|
109
|
-
let
|
|
110
|
-
{ role: 'user', parts: [{ text: query }] },
|
|
111
|
-
];
|
|
107
|
+
let currentMessage = { role: 'user', parts: [{ text: query }] };
|
|
112
108
|
while (true) {
|
|
113
109
|
// Check for termination conditions like max turns or timeout.
|
|
114
110
|
const reason = this.checkTermination(startTime, turnCounter);
|
|
@@ -122,36 +118,37 @@ export class AgentExecutor {
|
|
|
122
118
|
}
|
|
123
119
|
// Call model
|
|
124
120
|
const promptId = `${this.runtimeContext.getSessionId()}#${this.agentId}#${turnCounter++}`;
|
|
125
|
-
const { functionCalls } = await this.callModel(chat,
|
|
121
|
+
const { functionCalls } = await this.callModel(chat, currentMessage, tools, signal, promptId);
|
|
126
122
|
if (signal.aborted) {
|
|
127
123
|
terminateReason = AgentTerminateMode.ABORTED;
|
|
128
124
|
break;
|
|
129
125
|
}
|
|
130
|
-
// If the model stops calling tools
|
|
126
|
+
// If the model stops calling tools without calling complete_task, it's an error.
|
|
131
127
|
if (functionCalls.length === 0) {
|
|
128
|
+
terminateReason = AgentTerminateMode.ERROR;
|
|
129
|
+
finalResult = `Agent stopped calling tools but did not call '${TASK_COMPLETE_TOOL_NAME}' to finalize the session.`;
|
|
130
|
+
this.emitActivity('ERROR', {
|
|
131
|
+
error: finalResult,
|
|
132
|
+
context: 'protocol_violation',
|
|
133
|
+
});
|
|
132
134
|
break;
|
|
133
135
|
}
|
|
134
|
-
|
|
136
|
+
const { nextMessage, submittedOutput, taskCompleted } = await this.processFunctionCalls(functionCalls, signal, promptId);
|
|
137
|
+
if (taskCompleted) {
|
|
138
|
+
finalResult = submittedOutput ?? 'Task completed successfully.';
|
|
139
|
+
terminateReason = AgentTerminateMode.GOAL;
|
|
140
|
+
break;
|
|
141
|
+
}
|
|
142
|
+
currentMessage = nextMessage;
|
|
135
143
|
}
|
|
136
|
-
|
|
137
|
-
if (terminateReason !== AgentTerminateMode.GOAL) {
|
|
144
|
+
if (terminateReason === AgentTerminateMode.GOAL) {
|
|
138
145
|
return {
|
|
139
|
-
result:
|
|
146
|
+
result: finalResult || 'Task completed.',
|
|
140
147
|
terminate_reason: terminateReason,
|
|
141
148
|
};
|
|
142
149
|
}
|
|
143
|
-
// Phase 2: Extraction Phase
|
|
144
|
-
// A final message is sent to summarize findings and produce the output.
|
|
145
|
-
const extractionMessage = this.buildExtractionMessage();
|
|
146
|
-
const extractionMessages = [
|
|
147
|
-
{ role: 'user', parts: [{ text: extractionMessage }] },
|
|
148
|
-
];
|
|
149
|
-
const extractionPromptId = `${this.runtimeContext.getSessionId()}#${this.agentId}#extraction`;
|
|
150
|
-
// TODO: Consider if we should keep tools to avoid cache reset.
|
|
151
|
-
const { textResponse } = await this.callModel(chat, extractionMessages, [], // No tools are available in the extraction phase.
|
|
152
|
-
signal, extractionPromptId);
|
|
153
150
|
return {
|
|
154
|
-
result:
|
|
151
|
+
result: finalResult || 'Agent execution was terminated before completion.',
|
|
155
152
|
terminate_reason: terminateReason,
|
|
156
153
|
};
|
|
157
154
|
}
|
|
@@ -165,9 +162,9 @@ export class AgentExecutor {
|
|
|
165
162
|
*
|
|
166
163
|
* @returns The model's response, including any tool calls or text.
|
|
167
164
|
*/
|
|
168
|
-
async callModel(chat,
|
|
165
|
+
async callModel(chat, message, tools, signal, promptId) {
|
|
169
166
|
const messageParams = {
|
|
170
|
-
message:
|
|
167
|
+
message: message.parts || [],
|
|
171
168
|
config: {
|
|
172
169
|
abortSignal: signal,
|
|
173
170
|
tools: tools.length > 0 ? [{ functionDeclarations: tools }] : undefined,
|
|
@@ -237,68 +234,171 @@ export class AgentExecutor {
|
|
|
237
234
|
/**
|
|
238
235
|
* Executes function calls requested by the model and returns the results.
|
|
239
236
|
*
|
|
240
|
-
* @returns A new `Content` object
|
|
237
|
+
* @returns A new `Content` object for history, any submitted output, and completion status.
|
|
241
238
|
*/
|
|
242
239
|
async processFunctionCalls(functionCalls, signal, promptId) {
|
|
243
240
|
const allowedToolNames = new Set(this.toolRegistry.getAllToolNames());
|
|
244
|
-
//
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
const toolPromises = validatedFunctionCalls.map(async (functionCall, index) => {
|
|
241
|
+
// Always allow the completion tool
|
|
242
|
+
allowedToolNames.add(TASK_COMPLETE_TOOL_NAME);
|
|
243
|
+
let submittedOutput = null;
|
|
244
|
+
let taskCompleted = false;
|
|
245
|
+
// We'll collect promises for the tool executions
|
|
246
|
+
const toolExecutionPromises = [];
|
|
247
|
+
// And we'll need a place to store the synchronous results (like complete_task or blocked calls)
|
|
248
|
+
const syncResponseParts = [];
|
|
249
|
+
for (const [index, functionCall] of functionCalls.entries()) {
|
|
254
250
|
const callId = functionCall.id ?? `${promptId}-${index}`;
|
|
255
|
-
const args = functionCall.args ?? {};
|
|
251
|
+
const args = (functionCall.args ?? {});
|
|
256
252
|
this.emitActivity('TOOL_CALL_START', {
|
|
257
253
|
name: functionCall.name,
|
|
258
254
|
args,
|
|
259
255
|
});
|
|
256
|
+
if (functionCall.name === TASK_COMPLETE_TOOL_NAME) {
|
|
257
|
+
if (taskCompleted) {
|
|
258
|
+
// We already have a completion from this turn. Ignore subsequent ones.
|
|
259
|
+
const error = 'Task already marked complete in this turn. Ignoring duplicate call.';
|
|
260
|
+
syncResponseParts.push({
|
|
261
|
+
functionResponse: {
|
|
262
|
+
name: TASK_COMPLETE_TOOL_NAME,
|
|
263
|
+
response: { error },
|
|
264
|
+
id: callId,
|
|
265
|
+
},
|
|
266
|
+
});
|
|
267
|
+
this.emitActivity('ERROR', {
|
|
268
|
+
context: 'tool_call',
|
|
269
|
+
name: functionCall.name,
|
|
270
|
+
error,
|
|
271
|
+
});
|
|
272
|
+
continue;
|
|
273
|
+
}
|
|
274
|
+
const { outputConfig } = this.definition;
|
|
275
|
+
taskCompleted = true; // Signal completion regardless of output presence
|
|
276
|
+
if (outputConfig) {
|
|
277
|
+
const outputName = outputConfig.outputName;
|
|
278
|
+
if (args[outputName] !== undefined) {
|
|
279
|
+
submittedOutput = String(args[outputName]);
|
|
280
|
+
syncResponseParts.push({
|
|
281
|
+
functionResponse: {
|
|
282
|
+
name: TASK_COMPLETE_TOOL_NAME,
|
|
283
|
+
response: { result: 'Output submitted and task completed.' },
|
|
284
|
+
id: callId,
|
|
285
|
+
},
|
|
286
|
+
});
|
|
287
|
+
this.emitActivity('TOOL_CALL_END', {
|
|
288
|
+
name: functionCall.name,
|
|
289
|
+
output: 'Output submitted and task completed.',
|
|
290
|
+
});
|
|
291
|
+
}
|
|
292
|
+
else {
|
|
293
|
+
// Failed to provide required output.
|
|
294
|
+
taskCompleted = false; // Revoke completion status
|
|
295
|
+
const error = `Missing required argument '${outputName}' for completion.`;
|
|
296
|
+
syncResponseParts.push({
|
|
297
|
+
functionResponse: {
|
|
298
|
+
name: TASK_COMPLETE_TOOL_NAME,
|
|
299
|
+
response: { error },
|
|
300
|
+
id: callId,
|
|
301
|
+
},
|
|
302
|
+
});
|
|
303
|
+
this.emitActivity('ERROR', {
|
|
304
|
+
context: 'tool_call',
|
|
305
|
+
name: functionCall.name,
|
|
306
|
+
error,
|
|
307
|
+
});
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
else {
|
|
311
|
+
// No output expected. Just signal completion.
|
|
312
|
+
submittedOutput = 'Task completed successfully.';
|
|
313
|
+
syncResponseParts.push({
|
|
314
|
+
functionResponse: {
|
|
315
|
+
name: TASK_COMPLETE_TOOL_NAME,
|
|
316
|
+
response: { status: 'Task marked complete.' },
|
|
317
|
+
id: callId,
|
|
318
|
+
},
|
|
319
|
+
});
|
|
320
|
+
this.emitActivity('TOOL_CALL_END', {
|
|
321
|
+
name: functionCall.name,
|
|
322
|
+
output: 'Task marked complete.',
|
|
323
|
+
});
|
|
324
|
+
}
|
|
325
|
+
continue;
|
|
326
|
+
}
|
|
327
|
+
// Handle standard tools
|
|
328
|
+
if (!allowedToolNames.has(functionCall.name)) {
|
|
329
|
+
const error = `Unauthorized tool call: '${functionCall.name}' is not available to this agent.`;
|
|
330
|
+
console.warn(`[AgentExecutor] Blocked call: ${error}`);
|
|
331
|
+
syncResponseParts.push({
|
|
332
|
+
functionResponse: {
|
|
333
|
+
name: functionCall.name,
|
|
334
|
+
id: callId,
|
|
335
|
+
response: { error },
|
|
336
|
+
},
|
|
337
|
+
});
|
|
338
|
+
this.emitActivity('ERROR', {
|
|
339
|
+
context: 'tool_call_unauthorized',
|
|
340
|
+
name: functionCall.name,
|
|
341
|
+
callId,
|
|
342
|
+
error,
|
|
343
|
+
});
|
|
344
|
+
continue;
|
|
345
|
+
}
|
|
260
346
|
const requestInfo = {
|
|
261
347
|
callId,
|
|
262
348
|
name: functionCall.name,
|
|
263
|
-
args
|
|
349
|
+
args,
|
|
264
350
|
isClientInitiated: true,
|
|
265
351
|
prompt_id: promptId,
|
|
266
352
|
};
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
this.
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
353
|
+
// Create a promise for the tool execution
|
|
354
|
+
const executionPromise = (async () => {
|
|
355
|
+
const toolResponse = await executeToolCall(this.runtimeContext, requestInfo, signal);
|
|
356
|
+
if (toolResponse.error) {
|
|
357
|
+
this.emitActivity('ERROR', {
|
|
358
|
+
context: 'tool_call',
|
|
359
|
+
name: functionCall.name,
|
|
360
|
+
error: toolResponse.error.message,
|
|
361
|
+
});
|
|
362
|
+
}
|
|
363
|
+
else {
|
|
364
|
+
this.emitActivity('TOOL_CALL_END', {
|
|
365
|
+
name: functionCall.name,
|
|
366
|
+
output: toolResponse.resultDisplay,
|
|
367
|
+
});
|
|
368
|
+
}
|
|
369
|
+
return toolResponse.responseParts;
|
|
370
|
+
})();
|
|
371
|
+
toolExecutionPromises.push(executionPromise);
|
|
372
|
+
}
|
|
373
|
+
// Wait for all tool executions to complete
|
|
374
|
+
const asyncResults = await Promise.all(toolExecutionPromises);
|
|
375
|
+
// Combine all response parts
|
|
376
|
+
const toolResponseParts = [...syncResponseParts];
|
|
377
|
+
for (const result of asyncResults) {
|
|
378
|
+
if (result) {
|
|
379
|
+
toolResponseParts.push(...result);
|
|
280
380
|
}
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
.filter((part) => part !== undefined);
|
|
287
|
-
// If all authorized tool calls failed, provide a generic error message
|
|
288
|
-
// to the model so it can try a different approach.
|
|
289
|
-
if (functionCalls.length > 0 && toolResponseParts.length === 0) {
|
|
381
|
+
}
|
|
382
|
+
// If all authorized tool calls failed (and task isn't complete), provide a generic error.
|
|
383
|
+
if (functionCalls.length > 0 &&
|
|
384
|
+
toolResponseParts.length === 0 &&
|
|
385
|
+
!taskCompleted) {
|
|
290
386
|
toolResponseParts.push({
|
|
291
|
-
text: 'All tool calls failed. Please analyze the errors and try an alternative approach.',
|
|
387
|
+
text: 'All tool calls failed or were unauthorized. Please analyze the errors and try an alternative approach.',
|
|
292
388
|
});
|
|
293
389
|
}
|
|
294
|
-
return
|
|
390
|
+
return {
|
|
391
|
+
nextMessage: { role: 'user', parts: toolResponseParts },
|
|
392
|
+
submittedOutput,
|
|
393
|
+
taskCompleted,
|
|
394
|
+
};
|
|
295
395
|
}
|
|
296
396
|
/**
|
|
297
397
|
* Prepares the list of tool function declarations to be sent to the model.
|
|
298
398
|
*/
|
|
299
399
|
prepareToolsList() {
|
|
300
400
|
const toolsList = [];
|
|
301
|
-
const { toolConfig } = this.definition;
|
|
401
|
+
const { toolConfig, outputConfig } = this.definition;
|
|
302
402
|
if (toolConfig) {
|
|
303
403
|
const toolNamesToLoad = [];
|
|
304
404
|
for (const toolRef of toolConfig.tools) {
|
|
@@ -317,11 +417,32 @@ export class AgentExecutor {
|
|
|
317
417
|
// Add schemas from tools that were registered by name.
|
|
318
418
|
toolsList.push(...this.toolRegistry.getFunctionDeclarationsFiltered(toolNamesToLoad));
|
|
319
419
|
}
|
|
420
|
+
// Always inject complete_task.
|
|
421
|
+
// Configure its schema based on whether output is expected.
|
|
422
|
+
const completeTool = {
|
|
423
|
+
name: TASK_COMPLETE_TOOL_NAME,
|
|
424
|
+
description: outputConfig
|
|
425
|
+
? 'Call this tool to submit your final answer and complete the task. This is the ONLY way to finish.'
|
|
426
|
+
: 'Call this tool to signal that you have completed your task. This is the ONLY way to finish.',
|
|
427
|
+
parameters: {
|
|
428
|
+
type: Type.OBJECT,
|
|
429
|
+
properties: {},
|
|
430
|
+
required: [],
|
|
431
|
+
},
|
|
432
|
+
};
|
|
433
|
+
if (outputConfig) {
|
|
434
|
+
completeTool.parameters.properties[outputConfig.outputName] = {
|
|
435
|
+
description: outputConfig.description,
|
|
436
|
+
...(outputConfig.schema ?? { type: Type.STRING }),
|
|
437
|
+
};
|
|
438
|
+
completeTool.parameters.required.push(outputConfig.outputName);
|
|
439
|
+
}
|
|
440
|
+
toolsList.push(completeTool);
|
|
320
441
|
return toolsList;
|
|
321
442
|
}
|
|
322
443
|
/** Builds the system prompt from the agent definition and inputs. */
|
|
323
444
|
async buildSystemPrompt(inputs) {
|
|
324
|
-
const { promptConfig
|
|
445
|
+
const { promptConfig } = this.definition;
|
|
325
446
|
if (!promptConfig.systemPrompt) {
|
|
326
447
|
return '';
|
|
327
448
|
}
|
|
@@ -330,38 +451,18 @@ export class AgentExecutor {
|
|
|
330
451
|
// Append environment context (CWD and folder structure).
|
|
331
452
|
const dirContext = await getDirectoryContextString(this.runtimeContext);
|
|
332
453
|
finalPrompt += `\n\n# Environment Context\n${dirContext}`;
|
|
333
|
-
// Append completion criteria to guide the model's output.
|
|
334
|
-
if (outputConfig?.completion_criteria) {
|
|
335
|
-
finalPrompt += '\n\nEnsure you complete the following:\n';
|
|
336
|
-
for (const criteria of outputConfig.completion_criteria) {
|
|
337
|
-
finalPrompt += `- ${criteria}\n`;
|
|
338
|
-
}
|
|
339
|
-
}
|
|
340
454
|
// Append standard rules for non-interactive execution.
|
|
341
455
|
finalPrompt += `
|
|
342
456
|
Important Rules:
|
|
343
457
|
* You are running in a non-interactive mode. You CANNOT ask the user for input or clarification.
|
|
344
458
|
* Work systematically using available tools to complete your task.
|
|
345
|
-
* Always use absolute paths for file operations. Construct them using the provided "Environment Context"
|
|
346
|
-
|
|
459
|
+
* Always use absolute paths for file operations. Construct them using the provided "Environment Context".`;
|
|
460
|
+
finalPrompt += `
|
|
461
|
+
* When you have completed your task, you MUST call the \`${TASK_COMPLETE_TOOL_NAME}\` tool.
|
|
462
|
+
* Do not call any other tools in the same turn as \`${TASK_COMPLETE_TOOL_NAME}\`.
|
|
463
|
+
* This is the ONLY way to complete your mission. If you stop calling tools without calling this, you have failed.`;
|
|
347
464
|
return finalPrompt;
|
|
348
465
|
}
|
|
349
|
-
/** Builds the final message for the extraction phase. */
|
|
350
|
-
buildExtractionMessage() {
|
|
351
|
-
const { outputConfig } = this.definition;
|
|
352
|
-
if (outputConfig?.description) {
|
|
353
|
-
let message = `Based on your work so far, provide: ${outputConfig.description}`;
|
|
354
|
-
if (outputConfig.completion_criteria?.length) {
|
|
355
|
-
message += `\n\nBe sure you have addressed:\n`;
|
|
356
|
-
for (const criteria of outputConfig.completion_criteria) {
|
|
357
|
-
message += `- ${criteria}\n`;
|
|
358
|
-
}
|
|
359
|
-
}
|
|
360
|
-
return message;
|
|
361
|
-
}
|
|
362
|
-
// Fallback to a generic extraction message if no description is provided.
|
|
363
|
-
return 'Based on your work so far, provide a comprehensive summary of your analysis and findings. Do not perform any more function calls.';
|
|
364
|
-
}
|
|
365
466
|
/**
|
|
366
467
|
* Applies template strings to initial messages.
|
|
367
468
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../src/agents/executor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../src/agents/executor.ts"],"names":[],"mappings":"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"}
|