summaryrefslogtreecommitdiff
path: root/packages/server/src/core/client.ts
diff options
context:
space:
mode:
authorTaylor Mullen <[email protected]>2025-04-26 15:48:26 -0700
committerN. Taylor Mullen <[email protected]>2025-04-26 15:50:44 -0700
commitaa65a4a1fc3f51589c7633217f9d3c8bd0141abb (patch)
tree680b9fdc99d57ca2bbc64609bb2f3ea4132aa99c /packages/server/src/core/client.ts
parentd051c0fd0fdac2078e35144f27bfcea415bd503e (diff)
Prevent console.warn's for tool calls.
- Added helper for extracting text content from responses without warning. See fixed issue for more detail: https://b.corp.google.com/issues/414005146
Diffstat (limited to 'packages/server/src/core/client.ts')
-rw-r--r--packages/server/src/core/client.ts8
1 files changed, 5 insertions, 3 deletions
diff --git a/packages/server/src/core/client.ts b/packages/server/src/core/client.ts
index 01f48e72..a1cec704 100644
--- a/packages/server/src/core/client.ts
+++ b/packages/server/src/core/client.ts
@@ -20,6 +20,7 @@ import { Turn, ServerGeminiStreamEvent } from './turn.js';
import { Config } from '../config/config.js';
import { getCoreSystemPrompt } from './prompts.js';
import { ReadManyFilesTool } from '../tools/read-many-files.js'; // Import ReadManyFilesTool
+import { getResponseText } from '../utils/generateContentResponseUtilities.js';
export class GeminiClient {
private config: Config;
@@ -185,13 +186,14 @@ export class GeminiClient {
},
contents,
});
- if (!result || !result.text) {
+ const text = getResponseText(result);
+ if (!text) {
throw new Error('API returned an empty response.');
}
try {
- return JSON.parse(result.text);
+ return JSON.parse(text);
} catch (parseError) {
- console.error('Failed to parse JSON response:', result.text);
+ console.error('Failed to parse JSON response:', text);
throw new Error(
`Failed to parse API response as JSON: ${parseError instanceof Error ? parseError.message : String(parseError)}`,
);