fix: address PR feedback for non-interactive and event translator

- Restore 'never' return type for runTerminalExitHandler

- Add TODO for usage event and debugLogger for unknown events

- Check for 'status' in isStructuredError type guard

- Fix unused property build error for experimentalAgentHistorySummarization
This commit is contained in:
Michael Bleigh
2026-04-03 09:44:35 -07:00
parent 35905c29ab
commit 8a00e41ba8
3 changed files with 11 additions and 3 deletions
+5 -3
View File
@@ -37,6 +37,7 @@ import {
LegacyAgentSession,
ToolErrorType,
geminiPartsToContentParts,
debugLogger,
} from '@google/gemini-cli-core';
import type { Part } from '@google/genai';
@@ -421,9 +422,7 @@ export async function runNonInteractive(
return errToThrow;
};
const runTerminalExitHandler = (
handler: () => void | never,
): void | never => {
const runTerminalExitHandler = (handler: () => never): never => {
terminalProcessExitHandled = true;
return handler();
};
@@ -615,10 +614,13 @@ export async function runNonInteractive(
case 'elicitation_request':
case 'elicitation_response':
case 'usage':
// TODO: We should think about converting this into the usage event.
// fallthrough
case 'custom':
// Explicitly ignore these non-interactive events
break;
default:
debugLogger.error('Unknown agent event type:', event);
event satisfies never;
break;
}
@@ -432,6 +432,7 @@ function isStructuredError(error: unknown): error is StructuredError {
return (
typeof error === 'object' &&
error !== null &&
'status' in error &&
'message' in error &&
typeof error.message === 'string'
);
+5
View File
@@ -2426,6 +2426,11 @@ export class Config implements McpContext, AgentLoopContext {
getExperimentalAgentHistoryRetainedMessages(): number {
return this.experimentalAgentHistoryRetainedMessages;
}
isExperimentalAgentHistorySummarizationEnabled(): boolean {
return this.experimentalAgentHistorySummarization;
}
getContextManagementConfig(): ContextManagementConfig {
return this.contextManagement;
}