const require_runtime = require('../_virtual/_rolldown/runtime.cjs'); const require_use_frontend_tool = require('./use-frontend-tool.cjs'); let react_jsx_runtime = require("react/jsx-runtime"); //#region src/hooks/use-component.tsx /** * Registers a React component as a frontend tool renderer in chat. * * This hook is a convenience wrapper around `useFrontendTool` that: * - builds a model-facing tool description, * - forwards optional schema parameters (any Standard Schema V1 compatible library), * - renders your component with tool call parameters. * * Use this when you want to display a typed visual component for a tool call * without manually wiring a full frontend tool object. * * When `parameters` is provided, render props are inferred from the schema. * When omitted, the render component may accept any props. * * @typeParam TSchema - Schema describing tool parameters, or `undefined` when no schema is given. * @param config - Tool registration config. * @param deps - Optional dependencies to refresh registration (same semantics as `useEffect`). * * @example * ```tsx * // Without parameters — render accepts any props * useComponent({ * name: "showGreeting", * render: ({ message }: { message: string }) =>