Skip to content
1 min read · 187 words

Function: renderGeminiToolResult()

ts
function renderGeminiToolResult(input: {
  renderTrustedContent: (content: string, attrs: TrustedContentAttrs) => string;
  renderUntrustedContent: (
    content: string,
    attrs: UntrustedContentAttrs,
  ) => string;
  results: Tokenizable | SpooledArtifact | Media | Media[] | SpooledArtifact[];
  tool: Tool<SpooledArtifact> | ArtifactTool | undefined;
  toolCall: ToolCall;
  unsupportedMediaPolicy: UnsupportedMediaPolicy | undefined;
  warn?: (message: string) => void;
}): Promise<Record<string, unknown>>;

Defined in: src/batteries/llm/gemini_generate_content/helpers.ts:194

Render one tool result into a functionResponse.response object.

Parameters

ParameterType
input{ renderTrustedContent: (content: string, attrs: TrustedContentAttrs) => string; renderUntrustedContent: (content: string, attrs: UntrustedContentAttrs) => string; results: | Tokenizable | SpooledArtifact | Media | Media[] | SpooledArtifact[]; tool: | Tool<SpooledArtifact> | ArtifactTool | undefined; toolCall: ToolCall; unsupportedMediaPolicy: | UnsupportedMediaPolicy | undefined; warn?: (message: string) => void; }
input.renderTrustedContent(content: string, attrs: TrustedContentAttrs) => string
input.renderUntrustedContent(content: string, attrs: UntrustedContentAttrs) => string
input.results| Tokenizable | SpooledArtifact | Media | Media[] | SpooledArtifact[]
input.tool| Tool<SpooledArtifact> | ArtifactTool | undefined
input.toolCallToolCall
input.unsupportedMediaPolicy| UnsupportedMediaPolicy | undefined
input.warn?(message: string) => void

Returns

Promise<Record<string, unknown>>

Remarks

Gemini requires an OBJECT here, not a bare string — a string is rejected. Text is therefore wrapped as { result: <text> }, keeping the untrusted-content envelope the other batteries use so a tool result cannot impersonate a system directive.