diff options
| author | Wanlin Du <[email protected]> | 2025-08-11 16:04:58 -0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-08-11 23:04:58 +0000 |
| commit | f52d073dfbfa4d5091a74bf33ac1c66e51265247 (patch) | |
| tree | 583bf7acb989f55110e0b869bb2dbad0ca842770 /packages/core/src/utils/nextSpeakerChecker.ts | |
| parent | c7fd4c4a962d6e790214e6a0a9cd9b029b85f4e4 (diff) | |
chore: migrate from responseSchema to use responseJsonSchema. (#4814)
Diffstat (limited to 'packages/core/src/utils/nextSpeakerChecker.ts')
| -rw-r--r-- | packages/core/src/utils/nextSpeakerChecker.ts | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/packages/core/src/utils/nextSpeakerChecker.ts b/packages/core/src/utils/nextSpeakerChecker.ts index 8497db61..4ae8f437 100644 --- a/packages/core/src/utils/nextSpeakerChecker.ts +++ b/packages/core/src/utils/nextSpeakerChecker.ts @@ -4,7 +4,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -import { Content, SchemaUnion, Type } from '@google/genai'; +import { Content } from '@google/genai'; import { DEFAULT_GEMINI_FLASH_MODEL } from '../config/models.js'; import { GeminiClient } from '../core/client.js'; import { GeminiChat } from '../core/geminiChat.js'; @@ -16,16 +16,16 @@ const CHECK_PROMPT = `Analyze *only* the content and structure of your immediate 2. **Question to User:** If your last response ends with a direct question specifically addressed *to the user*, then the **'user'** should speak next. 3. **Waiting for User:** If your last response completed a thought, statement, or task *and* does not meet the criteria for Rule 1 (Model Continues) or Rule 2 (Question to User), it implies a pause expecting user input or reaction. In this case, the **'user'** should speak next.`; -const RESPONSE_SCHEMA: SchemaUnion = { - type: Type.OBJECT, +const RESPONSE_SCHEMA: Record<string, unknown> = { + type: 'object', properties: { reasoning: { - type: Type.STRING, + type: 'string', description: "Brief explanation justifying the 'next_speaker' choice based *strictly* on the applicable rule and the content/structure of the preceding turn.", }, next_speaker: { - type: Type.STRING, + type: 'string', enum: ['user', 'model'], description: 'Who should speak next based *only* on the preceding turn and the decision rules', |
