diff --git a/packages/cli/src/ui/hooks/useGeminiStream.ts b/packages/cli/src/ui/hooks/useGeminiStream.ts index bc299e53e2..bceb6deeac 100644 --- a/packages/cli/src/ui/hooks/useGeminiStream.ts +++ b/packages/cli/src/ui/hooks/useGeminiStream.ts @@ -1063,6 +1063,9 @@ export const useGeminiStream = ( 'Response stopped due to prohibited image content.', [FinishReason.NO_IMAGE]: 'Response stopped because no image was generated.', + [FinishReason.IMAGE_RECITATION]: + 'Response stopped due to image recitation policy.', + [FinishReason.IMAGE_OTHER]: 'Response stopped for other image reasons.', }; const message = finishReasonMessages[finishReason]; diff --git a/packages/core/src/telemetry/semantic.ts b/packages/core/src/telemetry/semantic.ts index 6dae06d381..83b9c783be 100644 --- a/packages/core/src/telemetry/semantic.ts +++ b/packages/core/src/telemetry/semantic.ts @@ -351,6 +351,14 @@ function toOTelFinishReason(finishReason?: string): OTelFinishReason { return OTelFinishReason.ERROR; case FinishReason.IMAGE_SAFETY: return OTelFinishReason.CONTENT_FILTER; + case FinishReason.IMAGE_RECITATION: + return OTelFinishReason.CONTENT_FILTER; + case FinishReason.IMAGE_PROHIBITED_CONTENT: + return OTelFinishReason.CONTENT_FILTER; + case FinishReason.IMAGE_OTHER: + return OTelFinishReason.CONTENT_FILTER; + case FinishReason.NO_IMAGE: + return OTelFinishReason.STOP; case FinishReason.UNEXPECTED_TOOL_CALL: return OTelFinishReason.ERROR; default: