diff options
Diffstat (limited to 'packages/cli/src/nonInteractiveCli.ts')
| -rw-r--r-- | packages/cli/src/nonInteractiveCli.ts | 28 |
1 files changed, 6 insertions, 22 deletions
diff --git a/packages/cli/src/nonInteractiveCli.ts b/packages/cli/src/nonInteractiveCli.ts index 36337c8f..d986c1eb 100644 --- a/packages/cli/src/nonInteractiveCli.ts +++ b/packages/cli/src/nonInteractiveCli.ts @@ -13,7 +13,7 @@ import { GeminiEventType, parseAndFormatApiError, } from '@google/gemini-cli-core'; -import { Content, Part, FunctionCall } from '@google/genai'; +import { Content, Part } from '@google/genai'; import { ConsolePatcher } from './ui/utils/ConsolePatcher.js'; import { handleAtCommand } from './ui/hooks/atCommandProcessor.js'; @@ -74,7 +74,7 @@ export async function runNonInteractive( ); return; } - const functionCalls: FunctionCall[] = []; + const toolCallRequests: ToolCallRequestInfo[] = []; const responseStream = geminiClient.sendMessageStream( currentMessages[0]?.parts || [], @@ -91,29 +91,13 @@ export async function runNonInteractive( if (event.type === GeminiEventType.Content) { process.stdout.write(event.value); } else if (event.type === GeminiEventType.ToolCallRequest) { - const toolCallRequest = event.value; - const fc: FunctionCall = { - name: toolCallRequest.name, - args: toolCallRequest.args, - id: toolCallRequest.callId, - }; - functionCalls.push(fc); + toolCallRequests.push(event.value); } } - if (functionCalls.length > 0) { + if (toolCallRequests.length > 0) { const toolResponseParts: Part[] = []; - - for (const fc of functionCalls) { - const callId = fc.id ?? `${fc.name}-${Date.now()}`; - const requestInfo: ToolCallRequestInfo = { - callId, - name: fc.name as string, - args: (fc.args ?? {}) as Record<string, unknown>, - isClientInitiated: false, - prompt_id, - }; - + for (const requestInfo of toolCallRequests) { const toolResponse = await executeToolCall( config, requestInfo, @@ -122,7 +106,7 @@ export async function runNonInteractive( if (toolResponse.error) { console.error( - `Error executing tool ${fc.name}: ${toolResponse.resultDisplay || toolResponse.error.message}`, + `Error executing tool ${requestInfo.name}: ${toolResponse.resultDisplay || toolResponse.error.message}`, ); } |
