import { icon } from "@mariozechner/mini-lit"; import { html } from "lit"; import { ref } from "lit/directives/ref.js"; import { ChevronsUpDown, ChevronUp, Loader } from "lucide"; // Registry of tool renderers export const toolRenderers = new Map(); /** * Register a custom tool renderer */ export function registerToolRenderer(toolName, renderer) { toolRenderers.set(toolName, renderer); } /** * Get a tool renderer by name */ export function getToolRenderer(toolName) { return toolRenderers.get(toolName); } /** * Helper to render a header for tool renderers * Shows icon on left when complete/error, spinner on right when in progress */ export function renderHeader(state, toolIcon, text) { const statusIcon = (iconComponent, color) => html `${icon(iconComponent, "sm")}`; switch (state) { case "inprogress": return html `