!feat(cli): address non-interactive review follow-ups

This commit is contained in:
Adam Weidman
2026-03-20 12:27:31 -04:00
parent f77e4716fa
commit 2dfe237738
2 changed files with 13 additions and 19 deletions
+9 -7
View File
@@ -297,9 +297,11 @@ export async function runNonInteractive({
message: geminiPartsToContentParts(query),
});
const getFirstText = (parts?: ContentPart[]): string | undefined => {
const part = parts?.[0];
return part?.type === 'text' ? part.text : undefined;
const getTextContent = (parts?: ContentPart[]): string | undefined => {
const text = parts
?.map((part) => (part.type === 'text' ? part.text : ''))
.join('');
return text ? text : undefined;
};
const emitFinalSuccessResult = (): void => {
@@ -395,8 +397,8 @@ export async function runNonInteractive({
case 'tool_response': {
textOutput.ensureTrailingNewline();
if (streamFormatter) {
const displayText = getFirstText(event.displayContent);
const errorMsg = getFirstText(event.content) ?? 'Tool error';
const displayText = getTextContent(event.displayContent);
const errorMsg = getTextContent(event.content) ?? 'Tool error';
streamFormatter.emitEvent({
type: JsonStreamEventType.TOOL_RESULT,
timestamp: new Date().toISOString(),
@@ -415,8 +417,8 @@ export async function runNonInteractive({
});
}
if (event.isError) {
const displayText = getFirstText(event.displayContent);
const errorMsg = getFirstText(event.content) ?? 'Tool error';
const displayText = getTextContent(event.displayContent);
const errorMsg = getTextContent(event.content) ?? 'Tool error';
if (event.data?.['errorType'] === ToolErrorType.STOP_EXECUTION) {
const stopMessage = `Agent execution stopped: ${errorMsg}`;