@vybestack/llxprt-code-core 0.7.0-nightly.251219.3619c584b → 0.7.0-nightly.251220.86336527d
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/executor.js +2 -1
- package/dist/src/agents/executor.js.map +1 -1
- package/dist/src/code_assist/setup.js +4 -2
- package/dist/src/code_assist/setup.js.map +1 -1
- package/dist/src/config/config.d.ts +25 -6
- package/dist/src/config/config.js +28 -11
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/core/client.d.ts +2 -1
- package/dist/src/core/client.js +49 -4
- package/dist/src/core/client.js.map +1 -1
- package/dist/src/core/contentGenerator.js +3 -1
- package/dist/src/core/contentGenerator.js.map +1 -1
- package/dist/src/core/coreToolScheduler.d.ts +8 -0
- package/dist/src/core/coreToolScheduler.js +116 -74
- package/dist/src/core/coreToolScheduler.js.map +1 -1
- package/dist/src/core/nonInteractiveToolExecutor.d.ts +5 -4
- package/dist/src/core/nonInteractiveToolExecutor.js +202 -309
- package/dist/src/core/nonInteractiveToolExecutor.js.map +1 -1
- package/dist/src/core/subagent.js +16 -3
- package/dist/src/core/subagent.js.map +1 -1
- package/dist/src/core/toolGovernance.d.ts +17 -0
- package/dist/src/core/toolGovernance.js +66 -0
- package/dist/src/core/toolGovernance.js.map +1 -0
- package/dist/src/core/turn.d.ts +10 -2
- package/dist/src/core/turn.js +1 -0
- package/dist/src/core/turn.js.map +1 -1
- package/dist/src/ide/ide-installer.js +8 -2
- package/dist/src/ide/ide-installer.js.map +1 -1
- package/dist/src/ide/process-utils.js +78 -100
- package/dist/src/ide/process-utils.js.map +1 -1
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.js +2 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/policy/config.js +33 -5
- package/dist/src/policy/config.js.map +1 -1
- package/dist/src/policy/policies/read-only.toml +10 -10
- package/dist/src/policy/policies/write.toml +13 -3
- package/dist/src/services/shellExecutionService.d.ts +1 -0
- package/dist/src/services/shellExecutionService.js +101 -22
- package/dist/src/services/shellExecutionService.js.map +1 -1
- package/dist/src/telemetry/loggers.js +2 -2
- package/dist/src/telemetry/loggers.js.map +1 -1
- package/dist/src/telemetry/sdk.js +2 -2
- package/dist/src/telemetry/sdk.js.map +1 -1
- package/dist/src/tools/edit.js +22 -3
- package/dist/src/tools/edit.js.map +1 -1
- package/dist/src/tools/fuzzy-replacer.js +1 -1
- package/dist/src/tools/fuzzy-replacer.js.map +1 -1
- package/dist/src/tools/google-web-fetch.d.ts +8 -0
- package/dist/src/tools/google-web-fetch.js +65 -12
- package/dist/src/tools/google-web-fetch.js.map +1 -1
- package/dist/src/tools/google-web-search-invocation.js +2 -1
- package/dist/src/tools/google-web-search-invocation.js.map +1 -1
- package/dist/src/tools/smart-edit.js +28 -4
- package/dist/src/tools/smart-edit.js.map +1 -1
- package/dist/src/tools/tool-error.d.ts +21 -0
- package/dist/src/tools/tool-error.js +27 -0
- package/dist/src/tools/tool-error.js.map +1 -1
- package/dist/src/tools/tool-names.d.ts +41 -0
- package/dist/src/tools/tool-names.js +45 -0
- package/dist/src/tools/tool-names.js.map +1 -0
- package/dist/src/tools/write-file.js +9 -0
- package/dist/src/tools/write-file.js.map +1 -1
- package/dist/src/utils/editor.js +2 -1
- package/dist/src/utils/editor.js.map +1 -1
- package/dist/src/utils/errors.d.ts +6 -0
- package/dist/src/utils/errors.js +10 -0
- package/dist/src/utils/errors.js.map +1 -1
- package/dist/src/utils/llm-edit-fixer.js +3 -3
- package/dist/src/utils/output-format.d.ts +24 -0
- package/dist/src/utils/output-format.js +34 -0
- package/dist/src/utils/output-format.js.map +1 -0
- package/dist/src/utils/systemEncoding.js +5 -1
- package/dist/src/utils/systemEncoding.js.map +1 -1
- package/package.json +1 -1
|
@@ -3,50 +3,17 @@
|
|
|
3
3
|
* Copyright 2025 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
6
|
+
import { ToolErrorType, DEFAULT_AGENT_ID, } from '../index.js';
|
|
7
|
+
import { ApprovalMode } from '../config/config.js';
|
|
8
|
+
import { MessageBus } from '../confirmation-bus/message-bus.js';
|
|
9
|
+
import { PolicyEngine } from '../policy/policy-engine.js';
|
|
10
|
+
import { PolicyDecision } from '../policy/types.js';
|
|
11
|
+
import { CoreToolScheduler, } from './coreToolScheduler.js';
|
|
10
12
|
import { EmojiFilter } from '../filters/EmojiFilter.js';
|
|
11
|
-
import { DebugLogger } from '../debug/index.js';
|
|
12
13
|
/**
|
|
13
14
|
* Global emoji filter instance for reuse across tool calls
|
|
14
15
|
*/
|
|
15
16
|
let emojiFilter = null;
|
|
16
|
-
const logger = new DebugLogger('llxprt:tool-executor');
|
|
17
|
-
function buildToolGovernance(config) {
|
|
18
|
-
const ephemerals = typeof config.getEphemeralSettings === 'function'
|
|
19
|
-
? config.getEphemeralSettings() || {}
|
|
20
|
-
: {};
|
|
21
|
-
const allowedRaw = Array.isArray(ephemerals['tools.allowed'])
|
|
22
|
-
? ephemerals['tools.allowed']
|
|
23
|
-
: [];
|
|
24
|
-
const disabledRaw = Array.isArray(ephemerals['tools.disabled'])
|
|
25
|
-
? ephemerals['tools.disabled']
|
|
26
|
-
: Array.isArray(ephemerals['disabled-tools'])
|
|
27
|
-
? ephemerals['disabled-tools']
|
|
28
|
-
: [];
|
|
29
|
-
const excludedRaw = config.getExcludeTools?.() ?? [];
|
|
30
|
-
const normalize = (name) => name.trim().toLowerCase();
|
|
31
|
-
return {
|
|
32
|
-
allowed: new Set(allowedRaw.map(normalize)),
|
|
33
|
-
disabled: new Set(disabledRaw.map(normalize)),
|
|
34
|
-
excluded: new Set(excludedRaw.map(normalize)),
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
function isToolBlocked(toolName, governance) {
|
|
38
|
-
const canonical = toolName.trim().toLowerCase();
|
|
39
|
-
if (governance.excluded.has(canonical)) {
|
|
40
|
-
return true;
|
|
41
|
-
}
|
|
42
|
-
if (governance.disabled.has(canonical)) {
|
|
43
|
-
return true;
|
|
44
|
-
}
|
|
45
|
-
if (governance.allowed.size > 0 && !governance.allowed.has(canonical)) {
|
|
46
|
-
return true;
|
|
47
|
-
}
|
|
48
|
-
return false;
|
|
49
|
-
}
|
|
50
17
|
/**
|
|
51
18
|
* Gets or creates the emoji filter instance based on current configuration
|
|
52
19
|
* Always checks current configuration to ensure filter is up-to-date
|
|
@@ -73,7 +40,8 @@ function filterFileModificationArgs(filter, toolName, args) {
|
|
|
73
40
|
// Only filter the content being written to files
|
|
74
41
|
if (toolName === 'edit_file' ||
|
|
75
42
|
toolName === 'edit' ||
|
|
76
|
-
toolName === 'replace'
|
|
43
|
+
toolName === 'replace' ||
|
|
44
|
+
toolName === 'replace_all') {
|
|
77
45
|
const oldString = args?.old_string;
|
|
78
46
|
const newString = args?.new_string;
|
|
79
47
|
// CRITICAL: Never filter old_string - it must match exactly what's in the file
|
|
@@ -124,299 +92,224 @@ function filterFileModificationArgs(filter, toolName, args) {
|
|
|
124
92
|
return filter.filterToolArgs(args);
|
|
125
93
|
}
|
|
126
94
|
export async function executeToolCall(config, toolCallRequest, abortSignal) {
|
|
95
|
+
const startTime = Date.now();
|
|
127
96
|
const agentId = toolCallRequest.agentId ?? DEFAULT_AGENT_ID;
|
|
128
97
|
toolCallRequest.agentId = agentId;
|
|
129
|
-
const
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
const error = new Error(`Tool "${toolCallRequest.name}" is disabled in the current profile.`);
|
|
138
|
-
const durationMs = Date.now() - startTime;
|
|
139
|
-
logToolCall(telemetryConfig, {
|
|
140
|
-
'event.name': 'tool_call',
|
|
141
|
-
'event.timestamp': new Date().toISOString(),
|
|
142
|
-
function_name: toolCallRequest.name,
|
|
143
|
-
function_args: toolCallRequest.args,
|
|
144
|
-
duration_ms: durationMs,
|
|
145
|
-
success: false,
|
|
146
|
-
error: error.message,
|
|
147
|
-
prompt_id: toolCallRequest.prompt_id,
|
|
148
|
-
tool_type: 'native',
|
|
149
|
-
agent_id: agentId,
|
|
150
|
-
});
|
|
151
|
-
return {
|
|
152
|
-
callId: toolCallRequest.callId,
|
|
153
|
-
error,
|
|
154
|
-
errorType: ToolErrorType.TOOL_DISABLED,
|
|
155
|
-
resultDisplay: error.message,
|
|
156
|
-
responseParts: [
|
|
157
|
-
{
|
|
158
|
-
functionCall: {
|
|
159
|
-
id: toolCallRequest.callId,
|
|
160
|
-
name: toolCallRequest.name,
|
|
161
|
-
args: toolCallRequest.args,
|
|
162
|
-
},
|
|
163
|
-
},
|
|
164
|
-
{
|
|
165
|
-
functionResponse: {
|
|
166
|
-
id: toolCallRequest.callId,
|
|
167
|
-
name: toolCallRequest.name,
|
|
168
|
-
response: { error: error.message },
|
|
169
|
-
},
|
|
170
|
-
},
|
|
171
|
-
],
|
|
172
|
-
agentId,
|
|
173
|
-
};
|
|
174
|
-
}
|
|
175
|
-
const tool = toolRegistry.getTool(toolCallRequest.name);
|
|
176
|
-
if (!tool) {
|
|
177
|
-
const error = new Error(`Tool "${toolCallRequest.name}" not found in registry.`);
|
|
178
|
-
const durationMs = Date.now() - startTime;
|
|
179
|
-
logToolCall(telemetryConfig, {
|
|
180
|
-
'event.name': 'tool_call',
|
|
181
|
-
'event.timestamp': new Date().toISOString(),
|
|
182
|
-
function_name: toolCallRequest.name,
|
|
183
|
-
function_args: toolCallRequest.args,
|
|
184
|
-
duration_ms: durationMs,
|
|
185
|
-
success: false,
|
|
186
|
-
error: error.message,
|
|
187
|
-
prompt_id: toolCallRequest.prompt_id,
|
|
188
|
-
tool_type: 'native',
|
|
189
|
-
agent_id: agentId,
|
|
190
|
-
});
|
|
191
|
-
// Ensure the response structure matches what the API expects for an error
|
|
192
|
-
// Include both tool call and error response
|
|
193
|
-
return {
|
|
194
|
-
callId: toolCallRequest.callId,
|
|
195
|
-
responseParts: [
|
|
196
|
-
// Tool call
|
|
197
|
-
{
|
|
198
|
-
functionCall: {
|
|
199
|
-
id: toolCallRequest.callId,
|
|
200
|
-
name: toolCallRequest.name,
|
|
201
|
-
args: toolCallRequest.args,
|
|
202
|
-
},
|
|
203
|
-
},
|
|
204
|
-
// Error response
|
|
205
|
-
{
|
|
206
|
-
functionResponse: {
|
|
207
|
-
id: toolCallRequest.callId,
|
|
208
|
-
name: toolCallRequest.name,
|
|
209
|
-
response: { error: error.message },
|
|
210
|
-
},
|
|
211
|
-
},
|
|
212
|
-
],
|
|
213
|
-
resultDisplay: error.message,
|
|
214
|
-
error,
|
|
215
|
-
errorType: ToolErrorType.TOOL_NOT_REGISTERED,
|
|
216
|
-
agentId,
|
|
217
|
-
};
|
|
98
|
+
const internalAbortController = new AbortController();
|
|
99
|
+
if (abortSignal) {
|
|
100
|
+
if (abortSignal.aborted) {
|
|
101
|
+
internalAbortController.abort();
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
abortSignal.addEventListener('abort', () => internalAbortController.abort(), { once: true });
|
|
105
|
+
}
|
|
218
106
|
}
|
|
107
|
+
const filter = getOrCreateFilter(config);
|
|
108
|
+
let filteredRequest = toolCallRequest;
|
|
109
|
+
let systemFeedback;
|
|
219
110
|
try {
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
'
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
let filterResult;
|
|
252
|
-
if (isFileModTool) {
|
|
253
|
-
filterResult = filterFileModificationArgs(filter, toolCallRequest.name, toolCallRequest.args);
|
|
254
|
-
}
|
|
255
|
-
else {
|
|
256
|
-
filterResult = filter.filterToolArgs(toolCallRequest.args);
|
|
111
|
+
const filtered = applyEmojiFiltering(filter, toolCallRequest);
|
|
112
|
+
filteredRequest = filtered.filteredRequest;
|
|
113
|
+
systemFeedback = filtered.systemFeedback;
|
|
114
|
+
}
|
|
115
|
+
catch (e) {
|
|
116
|
+
return createErrorCompletedToolCall(toolCallRequest, e instanceof Error ? e : new Error(String(e)), ToolErrorType.INVALID_TOOL_PARAMS, Date.now() - startTime);
|
|
117
|
+
}
|
|
118
|
+
const schedulerConfig = createSchedulerConfigForNonInteractive(config);
|
|
119
|
+
let completionResolver = null;
|
|
120
|
+
const completionPromise = new Promise((resolve) => {
|
|
121
|
+
completionResolver = resolve;
|
|
122
|
+
});
|
|
123
|
+
let awaitingApprovalResolver = null;
|
|
124
|
+
const awaitingApprovalPromise = new Promise((resolve) => {
|
|
125
|
+
awaitingApprovalResolver = resolve;
|
|
126
|
+
});
|
|
127
|
+
const scheduler = new CoreToolScheduler({
|
|
128
|
+
config: schedulerConfig,
|
|
129
|
+
toolContextInteractiveMode: false,
|
|
130
|
+
getPreferredEditor: () => undefined,
|
|
131
|
+
onEditorClose: () => { },
|
|
132
|
+
onAllToolCallsComplete: async (completedToolCalls) => {
|
|
133
|
+
completionResolver?.(completedToolCalls);
|
|
134
|
+
},
|
|
135
|
+
onToolCallsUpdate: (toolCalls) => {
|
|
136
|
+
try {
|
|
137
|
+
const awaiting = toolCalls.find((call) => call.status === 'awaiting_approval');
|
|
138
|
+
if (awaiting && awaitingApprovalResolver) {
|
|
139
|
+
awaitingApprovalResolver(awaiting);
|
|
140
|
+
awaitingApprovalResolver = null;
|
|
141
|
+
}
|
|
257
142
|
}
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
const durationMs = Date.now() - startTime;
|
|
261
|
-
logToolCall(telemetryConfig, {
|
|
262
|
-
'event.name': 'tool_call',
|
|
263
|
-
'event.timestamp': new Date().toISOString(),
|
|
264
|
-
function_name: toolCallRequest.name,
|
|
265
|
-
function_args: toolCallRequest.args,
|
|
266
|
-
duration_ms: durationMs,
|
|
267
|
-
success: false,
|
|
268
|
-
error: filterResult.error,
|
|
269
|
-
prompt_id: toolCallRequest.prompt_id,
|
|
270
|
-
tool_type: typeof tool !== 'undefined' && tool instanceof DiscoveredMCPTool
|
|
271
|
-
? 'mcp'
|
|
272
|
-
: 'native',
|
|
273
|
-
agent_id: agentId,
|
|
274
|
-
});
|
|
275
|
-
return {
|
|
276
|
-
callId: toolCallRequest.callId,
|
|
277
|
-
responseParts: [
|
|
278
|
-
// Tool call
|
|
279
|
-
{
|
|
280
|
-
functionCall: {
|
|
281
|
-
id: toolCallRequest.callId,
|
|
282
|
-
name: toolCallRequest.name,
|
|
283
|
-
args: toolCallRequest.args,
|
|
284
|
-
},
|
|
285
|
-
},
|
|
286
|
-
// Error response
|
|
287
|
-
{
|
|
288
|
-
functionResponse: {
|
|
289
|
-
id: toolCallRequest.callId,
|
|
290
|
-
name: toolCallRequest.name,
|
|
291
|
-
response: { error: filterResult.error },
|
|
292
|
-
},
|
|
293
|
-
},
|
|
294
|
-
],
|
|
295
|
-
resultDisplay: filterResult.error || 'Tool execution blocked',
|
|
296
|
-
error: new Error(filterResult.error || 'Tool execution blocked'),
|
|
297
|
-
errorType: ToolErrorType.INVALID_TOOL_PARAMS,
|
|
298
|
-
agentId,
|
|
299
|
-
};
|
|
143
|
+
catch {
|
|
144
|
+
// Callback must be non-throwing.
|
|
300
145
|
}
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
146
|
+
},
|
|
147
|
+
});
|
|
148
|
+
try {
|
|
149
|
+
const effectiveSignal = internalAbortController.signal;
|
|
150
|
+
await scheduler.schedule([filteredRequest], effectiveSignal);
|
|
151
|
+
const raceResult = await Promise.race([
|
|
152
|
+
completionPromise.then((calls) => ({ kind: 'complete', calls })),
|
|
153
|
+
awaitingApprovalPromise.then((call) => ({
|
|
154
|
+
kind: 'awaiting',
|
|
155
|
+
call,
|
|
156
|
+
})),
|
|
157
|
+
]);
|
|
158
|
+
if (raceResult.kind === 'awaiting') {
|
|
159
|
+
internalAbortController.abort();
|
|
160
|
+
scheduler.cancelAll();
|
|
161
|
+
return createErrorCompletedToolCall(toolCallRequest, new Error('Non-interactive tool execution reached awaiting_approval; treat as policy denial (no user interaction is possible).'), ToolErrorType.POLICY_VIOLATION, Date.now() - startTime);
|
|
304
162
|
}
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
const tool_output = toolResult.llmContent;
|
|
309
|
-
const tool_display = toolResult.returnDisplay;
|
|
310
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
311
|
-
let metadata = {};
|
|
312
|
-
if (toolResult.error === undefined &&
|
|
313
|
-
typeof tool_display === 'object' &&
|
|
314
|
-
tool_display !== null &&
|
|
315
|
-
'diffStat' in tool_display) {
|
|
316
|
-
const diffStat = tool_display.diffStat;
|
|
317
|
-
if (diffStat) {
|
|
318
|
-
metadata = {
|
|
319
|
-
ai_added_lines: diffStat.ai_added_lines,
|
|
320
|
-
ai_removed_lines: diffStat.ai_removed_lines,
|
|
321
|
-
user_added_lines: diffStat.user_added_lines,
|
|
322
|
-
user_removed_lines: diffStat.user_removed_lines,
|
|
323
|
-
};
|
|
324
|
-
}
|
|
163
|
+
const completedCalls = raceResult.calls;
|
|
164
|
+
if (completedCalls.length !== 1) {
|
|
165
|
+
throw new Error('Non-interactive executor expects exactly one tool call');
|
|
325
166
|
}
|
|
326
|
-
const
|
|
327
|
-
logToolCall(telemetryConfig, {
|
|
328
|
-
'event.name': 'tool_call',
|
|
329
|
-
'event.timestamp': new Date().toISOString(),
|
|
330
|
-
function_name: toolCallRequest.name,
|
|
331
|
-
function_args: toolCallRequest.args,
|
|
332
|
-
duration_ms: durationMs,
|
|
333
|
-
success: toolResult.error === undefined,
|
|
334
|
-
error: toolResult.error === undefined ? undefined : toolResult.error.message,
|
|
335
|
-
error_type: toolResult.error === undefined ? undefined : toolResult.error.type,
|
|
336
|
-
prompt_id: toolCallRequest.prompt_id,
|
|
337
|
-
metadata,
|
|
338
|
-
decision: ToolCallDecision.AUTO_ACCEPT,
|
|
339
|
-
tool_type: typeof tool !== 'undefined' && tool instanceof DiscoveredMCPTool
|
|
340
|
-
? 'mcp'
|
|
341
|
-
: 'native',
|
|
342
|
-
agent_id: agentId,
|
|
343
|
-
});
|
|
344
|
-
// Add system feedback for warn mode if emojis were detected and filtered
|
|
345
|
-
let finalLlmContent = tool_output;
|
|
167
|
+
const completed = completedCalls[0];
|
|
346
168
|
if (systemFeedback) {
|
|
347
|
-
|
|
169
|
+
appendSystemFeedbackToResponse(completed.response, systemFeedback);
|
|
348
170
|
}
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
// First, the tool call from the model
|
|
354
|
-
{
|
|
355
|
-
functionCall: {
|
|
356
|
-
id: toolCallRequest.callId,
|
|
357
|
-
name: toolCallRequest.name,
|
|
358
|
-
args: toolCallRequest.args,
|
|
359
|
-
},
|
|
360
|
-
},
|
|
361
|
-
// Then, spread the tool response(s) since convertToFunctionResponse returns Part[]
|
|
362
|
-
...finalResponse,
|
|
363
|
-
];
|
|
364
|
-
logger.debug(() => `Returning paired tool call and response for ${toolCallRequest.name} (${toolCallRequest.callId})`);
|
|
365
|
-
return {
|
|
366
|
-
callId: toolCallRequest.callId,
|
|
367
|
-
responseParts,
|
|
368
|
-
resultDisplay: tool_display,
|
|
369
|
-
error: toolResult.error === undefined
|
|
370
|
-
? undefined
|
|
371
|
-
: new Error(toolResult.error.message),
|
|
372
|
-
errorType: toolResult.error === undefined ? undefined : toolResult.error.type,
|
|
373
|
-
agentId,
|
|
374
|
-
};
|
|
171
|
+
if (!completed.response.agentId) {
|
|
172
|
+
completed.response.agentId = agentId;
|
|
173
|
+
}
|
|
174
|
+
return completed;
|
|
375
175
|
}
|
|
376
176
|
catch (e) {
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
177
|
+
return createErrorCompletedToolCall(toolCallRequest, e instanceof Error ? e : new Error(String(e)), ToolErrorType.UNHANDLED_EXCEPTION, Date.now() - startTime);
|
|
178
|
+
}
|
|
179
|
+
finally {
|
|
180
|
+
if (internalAbortController.signal.aborted) {
|
|
181
|
+
scheduler.cancelAll();
|
|
182
|
+
}
|
|
183
|
+
scheduler.dispose();
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
function applyEmojiFiltering(filter, request) {
|
|
187
|
+
const isSearchTool = [
|
|
188
|
+
'shell',
|
|
189
|
+
'bash',
|
|
190
|
+
'exec',
|
|
191
|
+
'run_shell_command',
|
|
192
|
+
'grep',
|
|
193
|
+
'search_file_content',
|
|
194
|
+
'glob',
|
|
195
|
+
'find',
|
|
196
|
+
'ls',
|
|
197
|
+
'list_directory',
|
|
198
|
+
'read_file',
|
|
199
|
+
'read_many_files',
|
|
200
|
+
].includes(request.name);
|
|
201
|
+
if (isSearchTool) {
|
|
202
|
+
return { filteredRequest: request };
|
|
203
|
+
}
|
|
204
|
+
const isFileModTool = [
|
|
205
|
+
'edit_file',
|
|
206
|
+
'edit',
|
|
207
|
+
'write_file',
|
|
208
|
+
'create_file',
|
|
209
|
+
'replace',
|
|
210
|
+
'replace_all',
|
|
211
|
+
].includes(request.name);
|
|
212
|
+
const filterResult = isFileModTool
|
|
213
|
+
? filterFileModificationArgs(filter, request.name, request.args)
|
|
214
|
+
: filter.filterToolArgs(request.args);
|
|
215
|
+
if (filterResult.blocked) {
|
|
216
|
+
throw new Error(filterResult.error || 'Tool execution blocked');
|
|
217
|
+
}
|
|
218
|
+
const filteredArgs = filterResult.filtered !== null && typeof filterResult.filtered === 'object'
|
|
219
|
+
? filterResult.filtered
|
|
220
|
+
: request.args;
|
|
221
|
+
if (filteredArgs === request.args && !filterResult.systemFeedback) {
|
|
222
|
+
return { filteredRequest: request };
|
|
223
|
+
}
|
|
224
|
+
return {
|
|
225
|
+
filteredRequest: {
|
|
226
|
+
...request,
|
|
227
|
+
args: filteredArgs,
|
|
228
|
+
},
|
|
229
|
+
systemFeedback: filterResult.systemFeedback,
|
|
230
|
+
};
|
|
231
|
+
}
|
|
232
|
+
function createNonInteractivePolicyEngine(policyEngine) {
|
|
233
|
+
if (!policyEngine) {
|
|
234
|
+
return new PolicyEngine({
|
|
235
|
+
rules: [],
|
|
236
|
+
defaultDecision: PolicyDecision.DENY,
|
|
237
|
+
nonInteractive: true,
|
|
394
238
|
});
|
|
395
|
-
|
|
396
|
-
|
|
239
|
+
}
|
|
240
|
+
if (policyEngine.isNonInteractive()) {
|
|
241
|
+
return policyEngine;
|
|
242
|
+
}
|
|
243
|
+
return new PolicyEngine({
|
|
244
|
+
rules: [...policyEngine.getRules()],
|
|
245
|
+
defaultDecision: policyEngine.getDefaultDecision(),
|
|
246
|
+
nonInteractive: true,
|
|
247
|
+
});
|
|
248
|
+
}
|
|
249
|
+
function createSchedulerConfigForNonInteractive(config) {
|
|
250
|
+
const policyEngine = createNonInteractivePolicyEngine(config.getPolicyEngine?.());
|
|
251
|
+
const messageBus = config.getMessageBus?.() ?? new MessageBus(policyEngine);
|
|
252
|
+
return {
|
|
253
|
+
getToolRegistry: () => config.getToolRegistry(),
|
|
254
|
+
getEphemeralSettings: () => config.getEphemeralSettings(),
|
|
255
|
+
getEphemeralSetting: (key) => config.getEphemeralSetting(key),
|
|
256
|
+
getExcludeTools: () => config.getExcludeTools(),
|
|
257
|
+
getSessionId: () => config.getSessionId(),
|
|
258
|
+
getTelemetryLogPromptsEnabled: () => config.getTelemetryLogPromptsEnabled(),
|
|
259
|
+
getAllowedTools: () => config.getAllowedTools?.(),
|
|
260
|
+
getApprovalMode: () => config.getApprovalMode?.() ?? ApprovalMode.DEFAULT,
|
|
261
|
+
getMessageBus: () => messageBus,
|
|
262
|
+
getPolicyEngine: () => policyEngine,
|
|
263
|
+
};
|
|
264
|
+
}
|
|
265
|
+
function createErrorCompletedToolCall(request, error, errorType, durationMs) {
|
|
266
|
+
return {
|
|
267
|
+
status: 'error',
|
|
268
|
+
request,
|
|
269
|
+
response: {
|
|
270
|
+
callId: request.callId,
|
|
271
|
+
agentId: request.agentId ?? DEFAULT_AGENT_ID,
|
|
272
|
+
error,
|
|
273
|
+
errorType,
|
|
274
|
+
resultDisplay: error.message,
|
|
397
275
|
responseParts: [
|
|
398
|
-
// Tool call
|
|
399
276
|
{
|
|
400
277
|
functionCall: {
|
|
401
|
-
id:
|
|
402
|
-
name:
|
|
403
|
-
args:
|
|
278
|
+
id: request.callId,
|
|
279
|
+
name: request.name,
|
|
280
|
+
args: request.args,
|
|
404
281
|
},
|
|
405
282
|
},
|
|
406
|
-
// Error response
|
|
407
283
|
{
|
|
408
284
|
functionResponse: {
|
|
409
|
-
id:
|
|
410
|
-
name:
|
|
285
|
+
id: request.callId,
|
|
286
|
+
name: request.name,
|
|
411
287
|
response: { error: error.message },
|
|
412
288
|
},
|
|
413
289
|
},
|
|
414
290
|
],
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
291
|
+
},
|
|
292
|
+
durationMs,
|
|
293
|
+
};
|
|
294
|
+
}
|
|
295
|
+
function appendSystemFeedbackToResponse(response, systemFeedback) {
|
|
296
|
+
const reminder = `\n\n<system-reminder>\n${systemFeedback}\n</system-reminder>`;
|
|
297
|
+
if (response.error) {
|
|
298
|
+
response.error = new Error(`${response.error.message}${reminder}`);
|
|
299
|
+
if (response.resultDisplay) {
|
|
300
|
+
response.resultDisplay = `${response.resultDisplay}${reminder}`;
|
|
301
|
+
}
|
|
302
|
+
const functionResponsePart = response.responseParts.find((part) => part.functionResponse?.response);
|
|
303
|
+
const responseObj = functionResponsePart?.functionResponse?.response;
|
|
304
|
+
if (responseObj && typeof responseObj.error === 'string') {
|
|
305
|
+
responseObj.error = `${responseObj.error}${reminder}`;
|
|
306
|
+
}
|
|
307
|
+
return;
|
|
308
|
+
}
|
|
309
|
+
const functionResponsePart = response.responseParts.find((part) => part.functionResponse?.response);
|
|
310
|
+
const responseObj = functionResponsePart?.functionResponse?.response;
|
|
311
|
+
if (responseObj && typeof responseObj.output === 'string') {
|
|
312
|
+
responseObj.output = `${responseObj.output}${reminder}`;
|
|
420
313
|
}
|
|
421
314
|
}
|
|
422
315
|
//# sourceMappingURL=nonInteractiveToolExecutor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nonInteractiveToolExecutor.js","sourceRoot":"","sources":["../../../src/core/nonInteractiveToolExecutor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"nonInteractiveToolExecutor.js","sourceRoot":"","sources":["../../../src/core/nonInteractiveToolExecutor.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
import { reportError } from '../utils/errorReporting.js';
|
|
12
12
|
import { DebugLogger } from '../debug/DebugLogger.js';
|
|
13
13
|
import { ApprovalMode } from '../config/config.js';
|
|
14
|
-
import { GeminiEventType, Turn } from './turn.js';
|
|
14
|
+
import { GeminiEventType, Turn, } from './turn.js';
|
|
15
15
|
import { executeToolCall, } from './nonInteractiveToolExecutor.js';
|
|
16
16
|
import { Type, } from '@google/genai';
|
|
17
17
|
import { GeminiChat, StreamEventType } from './geminiChat.js';
|
|
@@ -797,7 +797,8 @@ export class SubAgentScope {
|
|
|
797
797
|
else {
|
|
798
798
|
// @plan PLAN-20251028-STATELESS6.P08
|
|
799
799
|
// @requirement REQ-STAT6-001.1
|
|
800
|
-
|
|
800
|
+
const completed = await executeToolCall(this.createSchedulerConfig({ interactive: false }), requestInfo, abortController.signal);
|
|
801
|
+
toolResponse = completed.response;
|
|
801
802
|
}
|
|
802
803
|
if (toolResponse.error) {
|
|
803
804
|
console.error(`Error executing tool ${functionCall.name}: ${toolResponse.resultDisplay || toolResponse.error.message}`);
|
|
@@ -837,6 +838,10 @@ export class SubAgentScope {
|
|
|
837
838
|
...this.toolExecutorContext.getEphemeralSettings(),
|
|
838
839
|
})
|
|
839
840
|
: () => this.config.getEphemeralSettings();
|
|
841
|
+
const getEphemeralSetting = (key) => {
|
|
842
|
+
const settings = getEphemeralSettings();
|
|
843
|
+
return settings[key];
|
|
844
|
+
};
|
|
840
845
|
const getExcludeTools = typeof this.toolExecutorContext.getExcludeTools === 'function'
|
|
841
846
|
? () => this.toolExecutorContext.getExcludeTools()
|
|
842
847
|
: () => this.config.getExcludeTools?.() ?? [];
|
|
@@ -857,6 +862,7 @@ export class SubAgentScope {
|
|
|
857
862
|
getToolRegistry: () => this.toolExecutorContext.getToolRegistry(),
|
|
858
863
|
getSessionId: () => this.toolExecutorContext.getSessionId(),
|
|
859
864
|
getEphemeralSettings,
|
|
865
|
+
getEphemeralSetting,
|
|
860
866
|
getExcludeTools,
|
|
861
867
|
getTelemetryLogPromptsEnabled,
|
|
862
868
|
getAllowedTools: () => allowedTools,
|
|
@@ -1004,8 +1010,15 @@ export class SubAgentScope {
|
|
|
1004
1010
|
else if (call.status === 'cancelled') {
|
|
1005
1011
|
this.logger.warn(() => `Subagent ${this.subagentId} tool '${call.request.name}' was cancelled.`);
|
|
1006
1012
|
}
|
|
1013
|
+
// Only display resultDisplay for tools that don't stream live output.
|
|
1014
|
+
// Tools with canUpdateOutput=true already streamed their output via outputUpdateHandler,
|
|
1015
|
+
// so displaying resultDisplay here would cause duplicate output (fixes #898).
|
|
1016
|
+
const toolCanUpdateOutput = call.status === 'success' && call.tool?.canUpdateOutput === true;
|
|
1007
1017
|
const display = call.response?.resultDisplay;
|
|
1008
|
-
if (typeof display === 'string' &&
|
|
1018
|
+
if (typeof display === 'string' &&
|
|
1019
|
+
this.onMessage &&
|
|
1020
|
+
display.trim() &&
|
|
1021
|
+
!toolCanUpdateOutput) {
|
|
1009
1022
|
this.onMessage(display);
|
|
1010
1023
|
}
|
|
1011
1024
|
}
|