/** In-memory association between a workflow transcript projection and its child renderer. */ import type { AgentToolRenderer } from "../shared/agent-tool-renderer.ts"; import type { TranscriptEntry } from "./model.ts"; const renderers = new WeakMap< ReadonlyArray, AgentToolRenderer >(); export function bindWorkflowToolRenderer< T extends ReadonlyArray, >(transcript: T, renderer: AgentToolRenderer): T { renderers.set(transcript, renderer); return transcript; } export function workflowToolRenderer( transcript: ReadonlyArray, ) { return renderers.get(transcript); }