/** `yield` — structured data handed back by a subagent at the end of its run. */ import type { ReactNode } from "react"; import { Output, ResultText } from "../parts"; import type { ToolRenderer, ToolRenderProps } from "../types"; import { argsDigest } from "../util"; function Summary({ args }: ToolRenderProps): ReactNode { return {argsDigest(args.data ?? args)}; } function Body({ args, result }: ToolRenderProps): ReactNode { let dataText = ""; if (args.data !== undefined) { try { dataText = JSON.stringify(args.data, null, 2) ?? ""; } catch { dataText = String(args.data); } } return ( <> {dataText && } ); } export const yieldRenderer: ToolRenderer = { Summary, Body };