mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-04-26 13:04:49 -07:00
Co-authored-by: Yuna Seol <yunaseol@google.com>
This commit is contained in:
@@ -23,6 +23,7 @@ import * as fs from 'node:fs';
|
||||
import { promptIdContext } from './promptIdContext.js';
|
||||
import { debugLogger } from './debugLogger.js';
|
||||
import { LRUCache } from 'mnemonist';
|
||||
import { LlmRole } from '../telemetry/types.js';
|
||||
|
||||
const CODE_CORRECTION_SYSTEM_PROMPT = `
|
||||
You are an expert code-editing assistant. Your task is to analyze a failed edit attempt and provide a corrected version of the text snippets.
|
||||
@@ -439,6 +440,7 @@ Return ONLY the corrected target snippet in the specified JSON format with the k
|
||||
abortSignal,
|
||||
systemInstruction: CODE_CORRECTION_SYSTEM_PROMPT,
|
||||
promptId: getPromptId(),
|
||||
role: LlmRole.UTILITY_EDIT_CORRECTOR,
|
||||
});
|
||||
|
||||
if (
|
||||
@@ -528,6 +530,7 @@ Return ONLY the corrected string in the specified JSON format with the key 'corr
|
||||
abortSignal,
|
||||
systemInstruction: CODE_CORRECTION_SYSTEM_PROMPT,
|
||||
promptId: getPromptId(),
|
||||
role: LlmRole.UTILITY_EDIT_CORRECTOR,
|
||||
});
|
||||
|
||||
if (
|
||||
@@ -598,6 +601,7 @@ Return ONLY the corrected string in the specified JSON format with the key 'corr
|
||||
abortSignal,
|
||||
systemInstruction: CODE_CORRECTION_SYSTEM_PROMPT,
|
||||
promptId: getPromptId(),
|
||||
role: LlmRole.UTILITY_EDIT_CORRECTOR,
|
||||
});
|
||||
|
||||
if (
|
||||
@@ -665,6 +669,7 @@ Return ONLY the corrected string in the specified JSON format with the key 'corr
|
||||
abortSignal,
|
||||
systemInstruction: CODE_CORRECTION_SYSTEM_PROMPT,
|
||||
promptId: getPromptId(),
|
||||
role: LlmRole.UTILITY_EDIT_CORRECTOR,
|
||||
});
|
||||
|
||||
if (
|
||||
|
||||
@@ -10,6 +10,7 @@ import { type BaseLlmClient } from '../core/baseLlmClient.js';
|
||||
import { LRUCache } from 'mnemonist';
|
||||
import { getPromptIdWithFallback } from './promptIdContext.js';
|
||||
import { debugLogger } from './debugLogger.js';
|
||||
import { LlmRole } from '../telemetry/types.js';
|
||||
|
||||
const MAX_CACHE_SIZE = 50;
|
||||
const GENERATE_JSON_TIMEOUT_MS = 40000; // 40 seconds
|
||||
@@ -181,6 +182,7 @@ export async function FixLLMEditWithInstruction(
|
||||
systemInstruction: EDIT_SYS_PROMPT,
|
||||
promptId,
|
||||
maxAttempts: 1,
|
||||
role: LlmRole.UTILITY_EDIT_CORRECTOR,
|
||||
},
|
||||
GENERATE_JSON_TIMEOUT_MS,
|
||||
);
|
||||
|
||||
@@ -9,6 +9,7 @@ import type { BaseLlmClient } from '../core/baseLlmClient.js';
|
||||
import type { GeminiChat } from '../core/geminiChat.js';
|
||||
import { isFunctionResponse } from './messageInspectors.js';
|
||||
import { debugLogger } from './debugLogger.js';
|
||||
import { LlmRole } from '../telemetry/types.js';
|
||||
|
||||
const CHECK_PROMPT = `Analyze *only* the content and structure of your immediately preceding response (your last turn in the conversation history). Based *strictly* on that response, determine who should logically speak next: the 'user' or the 'model' (you).
|
||||
**Decision Rules (apply in order):**
|
||||
@@ -116,6 +117,7 @@ export async function checkNextSpeaker(
|
||||
schema: RESPONSE_SCHEMA,
|
||||
abortSignal,
|
||||
promptId,
|
||||
role: LlmRole.UTILITY_NEXT_SPEAKER,
|
||||
})) as unknown as NextSpeakerResponse;
|
||||
|
||||
if (
|
||||
|
||||
@@ -11,6 +11,7 @@ import { getResponseText, partToString } from './partUtils.js';
|
||||
import { debugLogger } from './debugLogger.js';
|
||||
import type { ModelConfigKey } from '../services/modelConfigService.js';
|
||||
import type { Config } from '../config/config.js';
|
||||
import { LlmRole } from '../telemetry/llmRole.js';
|
||||
|
||||
/**
|
||||
* A function that summarizes the result of a tool execution.
|
||||
@@ -94,6 +95,7 @@ export async function summarizeToolOutput(
|
||||
modelConfigKey,
|
||||
contents,
|
||||
abortSignal,
|
||||
LlmRole.UTILITY_SUMMARIZER,
|
||||
);
|
||||
return getResponseText(parsedResponse) || textToSummarize;
|
||||
} catch (error) {
|
||||
|
||||
Reference in New Issue
Block a user