@rodrigocoliveira/agno-react 1.0.3 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -8,7 +8,7 @@
8
8
  "/**\n * Component Registry for Generative UI\n *\n * Maps component specifications to actual React components.\n * Allows registering custom components at runtime.\n */\n\n/**\n * Component renderer function type\n */\nexport type ComponentRenderer = (props: any) => any; // React.ReactNode in React context\n\n/**\n * Component registry class\n */\nexport class ComponentRegistry {\n private static instance: ComponentRegistry;\n private components: Map<string, ComponentRenderer> = new Map();\n\n private constructor() {\n // Private constructor for singleton\n }\n\n /**\n * Get the singleton instance\n */\n static getInstance(): ComponentRegistry {\n if (!ComponentRegistry.instance) {\n ComponentRegistry.instance = new ComponentRegistry();\n }\n return ComponentRegistry.instance;\n }\n\n /**\n * Register a component renderer\n */\n register(type: string, renderer: ComponentRenderer): void {\n this.components.set(type, renderer);\n }\n\n /**\n * Register multiple components at once\n */\n registerBatch(components: Record<string, ComponentRenderer>): void {\n Object.entries(components).forEach(([type, renderer]) => {\n this.register(type, renderer);\n });\n }\n\n /**\n * Get a registered component renderer\n */\n get(type: string): ComponentRenderer | undefined {\n return this.components.get(type);\n }\n\n /**\n * Check if a component is registered\n */\n has(type: string): boolean {\n return this.components.has(type);\n }\n\n /**\n * Unregister a component\n */\n unregister(type: string): void {\n this.components.delete(type);\n }\n\n /**\n * Get all registered component types\n */\n getRegisteredTypes(): string[] {\n return Array.from(this.components.keys());\n }\n\n /**\n * Clear all registered components\n */\n clear(): void {\n this.components.clear();\n }\n}\n\n/**\n * Get the global component registry instance\n */\nexport function getComponentRegistry(): ComponentRegistry {\n return ComponentRegistry.getInstance();\n}\n\n/**\n * Helper to register a chart component\n */\nexport function registerChartComponent(name: string, renderer: ComponentRenderer): void {\n getComponentRegistry().register(`chart:${name}`, renderer);\n}\n\n/**\n * Helper to get a chart component\n */\nexport function getChartComponent(name: string): ComponentRenderer | undefined {\n return getComponentRegistry().get(`chart:${name}`);\n}\n",
9
9
  "import { useState, useEffect, useCallback, useMemo } from 'react';\nimport type {\n ToolCall,\n UIComponentSpec,\n ToolHandlerResult,\n CustomRenderFunction\n} from '@rodrigocoliveira/agno-types';\nimport { useAgnoClient } from '../context/AgnoContext';\nimport { useToolHandlers } from '../context/ToolHandlerContext';\n\n/**\n * Tool handler function type (now supports generative UI)\n */\nexport type ToolHandler = (args: Record<string, any>) => Promise<any>;\n\n/**\n * Runtime registry for custom render functions (not serializable)\n * These are React components/functions that can't be stored in JSON\n */\nconst customRenderRegistry = new Map<string, CustomRenderFunction>();\n\n/**\n * Store a custom render function and return its unique key\n */\nfunction registerCustomRender(renderFn: CustomRenderFunction): string {\n const key = `custom-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;\n customRenderRegistry.set(key, renderFn);\n return key;\n}\n\n/**\n * Get a custom render function by key\n */\nexport function getCustomRender(key: string): CustomRenderFunction | undefined {\n return customRenderRegistry.get(key);\n}\n\n/**\n * Check if a value is a ToolHandlerResult with UI spec\n */\nfunction isToolHandlerResult(value: any): value is ToolHandlerResult {\n return value && typeof value === 'object' && ('data' in value || 'ui' in value);\n}\n\n/**\n * Check if a value is a UIComponentSpec\n */\nfunction isUIComponentSpec(value: any): value is UIComponentSpec {\n return value && typeof value === 'object' && 'type' in value;\n}\n\n/**\n * Process tool handler result and extract data/UI\n * Exported for use in session loading UI hydration\n */\nexport function processToolResult(result: any, _tool: ToolCall): {\n resultData: string;\n uiComponent?: any;\n} {\n // Case 1: ToolHandlerResult with data and ui\n if (isToolHandlerResult(result)) {\n const { data, ui } = result;\n\n let uiComponent: any = undefined;\n if (ui) {\n // Handle custom render functions\n if (ui.type === 'custom' && typeof (ui as any).render === 'function') {\n const renderKey = registerCustomRender((ui as any).render);\n uiComponent = {\n ...ui,\n renderKey,\n render: undefined, // Don't store the function itself\n };\n } else {\n // Serializable UI spec\n uiComponent = ui;\n }\n }\n\n return {\n resultData: typeof data === 'string' ? data : JSON.stringify(data),\n uiComponent,\n };\n }\n\n // Case 2: Direct UI component spec (no separate data)\n if (isUIComponentSpec(result)) {\n let uiComponent: any;\n if (result.type === 'custom' && typeof (result as any).render === 'function') {\n const renderKey = registerCustomRender((result as any).render);\n uiComponent = {\n ...result,\n renderKey,\n render: undefined,\n };\n } else {\n uiComponent = result;\n }\n\n return {\n resultData: JSON.stringify(result),\n uiComponent,\n };\n }\n\n // Case 3: Legacy format - plain data (backward compatible)\n return {\n resultData: typeof result === 'string' ? result : JSON.stringify(result),\n uiComponent: undefined,\n };\n}\n\n/**\n * Tool execution event payload\n */\nexport interface ToolExecutionEvent {\n runId?: string;\n sessionId?: string;\n tools: ToolCall[];\n}\n\n/**\n * Hook for handling frontend tool execution (HITL)\n *\n * **Note:** HITL (Human-in-the-Loop) frontend tool execution is only supported for agents.\n * Teams do not support the continue endpoint. This hook will log a warning and no-op if used with team mode.\n *\n * @param handlers - Map of tool names to handler functions (local handlers)\n * @param autoExecute - Whether to automatically execute tools when paused (default: true)\n *\n * @example\n * ```tsx\n * const toolHandlers = {\n * navigate_to_page: async (args) => {\n * window.location.href = args.url;\n * return { success: true };\n * },\n * fill_form: async (args) => {\n * document.querySelector(args.selector).value = args.value;\n * return { filled: true };\n * }\n * };\n *\n * const { isPaused, isExecuting, pendingTools } = useAgnoToolExecution(toolHandlers);\n * ```\n */\nexport function useAgnoToolExecution(\n handlers: Record<string, ToolHandler> = {},\n autoExecute: boolean = true\n) {\n const client = useAgnoClient();\n const toolHandlerContext = useToolHandlers();\n\n // Check if in team mode - teams don't support HITL\n const isTeamMode = client.getConfig().mode === 'team';\n\n // Log warning once if in team mode\n useEffect(() => {\n if (isTeamMode) {\n console.warn(\n '[useAgnoToolExecution] HITL (Human-in-the-Loop) frontend tool execution is not supported for teams. ' +\n 'Only agents support the continue endpoint. This hook will not function in team mode.'\n );\n }\n }, [isTeamMode]);\n\n // Merge global handlers with local handlers (local takes precedence)\n const mergedHandlers = useMemo(() => {\n const globalHandlers = toolHandlerContext?.handlers || {};\n return { ...globalHandlers, ...handlers };\n }, [toolHandlerContext?.handlers, handlers]);\n\n const [pendingTools, setPendingTools] = useState<ToolCall[]>([]);\n const [isPaused, setIsPaused] = useState(false);\n const [isExecuting, setIsExecuting] = useState(false);\n const [executionError, setExecutionError] = useState<string | undefined>();\n\n // Listen for run:paused events (only for agents, not teams)\n useEffect(() => {\n // Don't register listeners if in team mode\n if (isTeamMode) {\n return;\n }\n\n const handleRunPaused = (event: ToolExecutionEvent) => {\n setIsPaused(true);\n setPendingTools(event.tools);\n setExecutionError(undefined);\n };\n\n const handleRunContinued = () => {\n setIsPaused(false);\n setPendingTools([]);\n setIsExecuting(false);\n setExecutionError(undefined);\n };\n\n client.on('run:paused', handleRunPaused);\n client.on('run:continued', handleRunContinued);\n\n return () => {\n client.off('run:paused', handleRunPaused);\n client.off('run:continued', handleRunContinued);\n };\n }, [client, isTeamMode]);\n\n /**\n * Execute all pending tools and continue the run\n */\n const executeAndContinue = useCallback(async () => {\n if (!isPaused || pendingTools.length === 0) {\n console.warn('[useAgnoToolExecution] Cannot execute: no pending tools');\n return;\n }\n\n setIsExecuting(true);\n setExecutionError(undefined);\n\n try {\n // Execute each tool\n const updatedTools = await Promise.all(\n pendingTools.map(async (tool) => {\n const handler = mergedHandlers[tool.tool_name];\n\n if (!handler) {\n return {\n ...tool,\n result: JSON.stringify({\n error: `No handler registered for ${tool.tool_name}`,\n }),\n };\n }\n\n try {\n const result = await handler(tool.tool_args);\n\n // Process result to extract data and UI components\n const { resultData, uiComponent } = processToolResult(result, tool);\n\n return {\n ...tool,\n result: resultData,\n ui_component: uiComponent,\n } as ToolCall;\n } catch (error) {\n return {\n ...tool,\n result: JSON.stringify({\n error: error instanceof Error ? error.message : String(error),\n }),\n };\n }\n })\n );\n\n // Store UI components in the client's message store before continuing\n // This ensures the UI components are visible even if the backend doesn't echo them back\n const toolsWithUI = updatedTools.filter(t => (t as any).ui_component);\n if (toolsWithUI.length > 0) {\n // Emit a custom event with the UI data\n client.emit('ui:render', {\n tools: updatedTools,\n runId: client.getState().pausedRunId,\n });\n }\n\n // Add frontend-executed tool calls to the message before continuing\n // This ensures they appear in the UI and persist in the message\n client.addToolCallsToLastMessage(updatedTools);\n\n // Continue the run with results\n await client.continueRun(updatedTools);\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : String(error);\n setExecutionError(errorMessage);\n setIsExecuting(false);\n throw error;\n }\n }, [client, mergedHandlers, isPaused, pendingTools]);\n\n /**\n * Hydrate tool calls with UI when session loads\n */\n useEffect(() => {\n const handleSessionLoaded = async (_sessionId: string) => {\n const messages = client.getMessages();\n\n for (const message of messages) {\n if (!message.tool_calls) continue;\n\n for (const tool of message.tool_calls) {\n // Skip if already has UI\n if ((tool as any).ui_component) continue;\n\n const handler = mergedHandlers[tool.tool_name];\n if (!handler) continue;\n\n try {\n const result = await handler(tool.tool_args);\n const { uiComponent } = processToolResult(result, tool);\n\n if (uiComponent) {\n client.hydrateToolCallUI(tool.tool_call_id, uiComponent);\n }\n } catch (err) {\n console.error(`Failed to hydrate UI for ${tool.tool_name}:`, err);\n }\n }\n }\n };\n\n client.on('session:loaded', handleSessionLoaded);\n return () => {\n client.off('session:loaded', handleSessionLoaded);\n };\n }, [client, mergedHandlers]);\n\n /**\n * Execute tools manually (for user confirmation flows)\n * Returns the updated tools with results set\n */\n const executeTools = useCallback(\n async (tools: ToolCall[]): Promise<ToolCall[]> => {\n return Promise.all(\n tools.map(async (tool) => {\n const handler = mergedHandlers[tool.tool_name];\n if (!handler) return tool;\n\n try {\n const result = await handler(tool.tool_args);\n\n // Process result to extract data and UI components\n const { resultData, uiComponent } = processToolResult(result, tool);\n\n return {\n ...tool,\n result: resultData,\n ui_component: uiComponent,\n } as ToolCall;\n } catch (error) {\n return {\n ...tool,\n result: JSON.stringify({\n error: error instanceof Error ? error.message : String(error),\n }),\n };\n }\n })\n );\n },\n [mergedHandlers]\n );\n\n /**\n * Manually continue the run with custom tool results\n */\n const continueWithResults = useCallback(\n async (tools: ToolCall[], options?: { headers?: Record<string, string>; params?: Record<string, string> }) => {\n if (!isPaused) {\n throw new Error('No paused run to continue');\n }\n setIsExecuting(true);\n try {\n await client.continueRun(tools, options);\n } catch (error) {\n setIsExecuting(false);\n throw error;\n }\n },\n [client, isPaused]\n );\n\n // Auto-execute when paused (if enabled)\n useEffect(() => {\n if (autoExecute && isPaused && !isExecuting && pendingTools.length > 0) {\n executeAndContinue();\n }\n }, [autoExecute, isPaused, isExecuting, pendingTools.length, executeAndContinue]);\n\n return {\n /** Whether the run is currently paused awaiting tool execution */\n isPaused,\n /** Whether tools are currently being executed */\n isExecuting,\n /** Tools awaiting execution */\n pendingTools,\n /** Execute all pending tools and continue the run */\n executeAndContinue,\n /** Execute specific tools and return results without continuing */\n executeTools,\n /** Continue the run with manually provided tool results */\n continueWithResults,\n /** Error from tool execution, if any */\n executionError,\n };\n}\n",
10
10
  "/**\n * Helper utilities for creating UI component specifications\n *\n * These helpers make it easy to create common UI patterns without\n * manually constructing the full specification object.\n */\n\nimport type {\n ChartComponentSpec,\n CardGridComponentSpec,\n CardData,\n TableComponentSpec,\n TableColumn,\n MarkdownComponentSpec,\n ArtifactComponentSpec,\n UIComponentSpec,\n ToolHandlerResult,\n} from '@rodrigocoliveira/agno-types';\n\n/**\n * Chart helper options\n */\nexport interface ChartHelperOptions {\n /** Chart title */\n title?: string;\n /** Chart description */\n description?: string;\n /** Layout preference */\n layout?: 'inline' | 'artifact';\n /** Show legend */\n showLegend?: boolean;\n /** Show grid */\n showGrid?: boolean;\n /** Chart height */\n height?: number | string;\n /** Chart width */\n width?: number | string;\n}\n\n/**\n * Create a bar chart specification\n */\nexport function createBarChart(\n data: any[],\n xKey: string,\n bars: Array<{ key: string; label?: string; color?: string }>,\n options?: ChartHelperOptions\n): ChartComponentSpec {\n return {\n type: 'chart',\n component: 'BarChart',\n layout: options?.layout,\n title: options?.title,\n description: options?.description,\n props: {\n data,\n xKey,\n bars: bars.map(bar => ({\n key: bar.key,\n label: bar.label || bar.key,\n color: bar.color,\n })),\n showLegend: options?.showLegend ?? true,\n showGrid: options?.showGrid ?? true,\n height: options?.height,\n width: options?.width,\n },\n };\n}\n\n/**\n * Create a line chart specification\n */\nexport function createLineChart(\n data: any[],\n xKey: string,\n lines: Array<{ key: string; label?: string; color?: string }>,\n options?: ChartHelperOptions\n): ChartComponentSpec {\n return {\n type: 'chart',\n component: 'LineChart',\n layout: options?.layout,\n title: options?.title,\n description: options?.description,\n props: {\n data,\n xKey,\n lines: lines.map(line => ({\n key: line.key,\n label: line.label || line.key,\n color: line.color,\n })),\n showLegend: options?.showLegend ?? true,\n showGrid: options?.showGrid ?? true,\n height: options?.height,\n width: options?.width,\n },\n };\n}\n\n/**\n * Create a pie chart specification\n */\nexport function createPieChart(\n data: any[],\n dataKey: string,\n nameKey: string,\n options?: ChartHelperOptions & { showLabel?: boolean }\n): ChartComponentSpec {\n return {\n type: 'chart',\n component: 'PieChart',\n layout: options?.layout,\n title: options?.title,\n description: options?.description,\n props: {\n data,\n pie: {\n dataKey,\n nameKey,\n label: options?.showLabel ?? true,\n },\n showLegend: options?.showLegend ?? true,\n height: options?.height || 400,\n width: options?.width,\n },\n };\n}\n\n/**\n * Create an area chart specification\n */\nexport function createAreaChart(\n data: any[],\n xKey: string,\n areas: Array<{ key: string; label?: string; color?: string }>,\n options?: ChartHelperOptions\n): ChartComponentSpec {\n return {\n type: 'chart',\n component: 'AreaChart',\n layout: options?.layout,\n title: options?.title,\n description: options?.description,\n props: {\n data,\n xKey,\n areas: areas.map(area => ({\n key: area.key,\n label: area.label || area.key,\n color: area.color,\n })),\n showLegend: options?.showLegend ?? true,\n showGrid: options?.showGrid ?? true,\n height: options?.height,\n width: options?.width,\n },\n };\n}\n\n/**\n * Card grid helper options\n */\nexport interface CardGridHelperOptions {\n title?: string;\n description?: string;\n layout?: 'inline' | 'artifact';\n columns?: {\n default?: number;\n sm?: number;\n md?: number;\n lg?: number;\n xl?: number;\n };\n variant?: 'default' | 'bordered' | 'elevated';\n}\n\n/**\n * Create a card grid specification\n */\nexport function createCardGrid(\n cards: CardData[],\n options?: CardGridHelperOptions\n): CardGridComponentSpec {\n return {\n type: 'card-grid',\n layout: options?.layout,\n title: options?.title,\n description: options?.description,\n props: {\n cards,\n columns: options?.columns || { default: 1, md: 2, lg: 3 },\n variant: options?.variant || 'default',\n },\n };\n}\n\n/**\n * Create a simple card\n */\nexport function createCard(\n id: string,\n title: string,\n description?: string,\n options?: {\n image?: string;\n metadata?: Record<string, any>;\n actions?: CardData['actions'];\n }\n): CardData {\n return {\n id,\n title,\n description,\n image: options?.image,\n metadata: options?.metadata,\n actions: options?.actions,\n };\n}\n\n/**\n * Table helper options\n */\nexport interface TableHelperOptions {\n title?: string;\n description?: string;\n layout?: 'inline' | 'artifact';\n sortable?: boolean;\n filterable?: boolean;\n pagination?: {\n pageSize?: number;\n pageSizeOptions?: number[];\n };\n density?: 'comfortable' | 'compact';\n}\n\n/**\n * Create a table specification\n */\nexport function createTable(\n data: Record<string, any>[],\n columns: TableColumn[],\n options?: TableHelperOptions\n): TableComponentSpec {\n return {\n type: 'table',\n layout: options?.layout,\n title: options?.title,\n description: options?.description,\n props: {\n data,\n columns,\n sortable: options?.sortable ?? true,\n filterable: options?.filterable,\n pagination: options?.pagination,\n density: options?.density || 'comfortable',\n },\n };\n}\n\n/**\n * Create a table column definition\n */\nexport function createColumn(\n key: string,\n header: string,\n options?: {\n width?: number | string;\n sortable?: boolean;\n cellType?: 'text' | 'number' | 'date' | 'badge' | 'link';\n format?: TableColumn['format'];\n }\n): TableColumn {\n return {\n key,\n header,\n width: options?.width,\n sortable: options?.sortable,\n cellType: options?.cellType || 'text',\n format: options?.format,\n };\n}\n\n/**\n * Create a markdown specification\n */\nexport function createMarkdown(\n content: string,\n options?: {\n title?: string;\n description?: string;\n layout?: 'inline' | 'artifact';\n syntaxHighlight?: boolean;\n }\n): MarkdownComponentSpec {\n return {\n type: 'markdown',\n layout: options?.layout,\n title: options?.title,\n description: options?.description,\n props: {\n content,\n syntaxHighlight: options?.syntaxHighlight ?? true,\n },\n };\n}\n\n/**\n * Create an artifact container with multiple child components\n */\nexport function createArtifact(\n content: UIComponentSpec[],\n options?: {\n title?: string;\n description?: string;\n variant?: 'default' | 'bordered' | 'elevated';\n }\n): ArtifactComponentSpec {\n return {\n type: 'artifact',\n title: options?.title,\n description: options?.description,\n props: {\n content,\n variant: options?.variant || 'default',\n },\n };\n}\n\n/**\n * Smart chart creator - automatically chooses the best chart type based on data\n */\nexport function createSmartChart(\n data: any[],\n options?: {\n title?: string;\n description?: string;\n layout?: 'inline' | 'artifact';\n xKey?: string;\n yKeys?: string[];\n preferredType?: 'bar' | 'line' | 'area' | 'pie';\n }\n): ChartComponentSpec {\n // If no data, return a default bar chart\n if (!data || data.length === 0) {\n return createBarChart([], '', [], options);\n }\n\n // Auto-detect keys if not provided\n const firstItem = data[0];\n const keys = Object.keys(firstItem);\n\n // Try to find suitable xKey (first string key or 'name', 'label', 'category', etc.)\n const xKey =\n options?.xKey ||\n keys.find(k =>\n ['name', 'label', 'category', 'date', 'time', 'month', 'year'].includes(k.toLowerCase())\n ) ||\n keys[0];\n\n // Get numeric keys for yKeys\n const numericKeys = keys.filter(k => k !== xKey && typeof firstItem[k] === 'number');\n const yKeys = options?.yKeys || numericKeys;\n\n // Respect explicit preferredType first\n if (options?.preferredType) {\n switch (options.preferredType) {\n case 'bar':\n return createBarChart(\n data,\n xKey,\n yKeys.map(key => ({ key })),\n options\n );\n case 'line':\n return createLineChart(\n data,\n xKey,\n yKeys.map(key => ({ key })),\n options\n );\n case 'area':\n return createAreaChart(\n data,\n xKey,\n yKeys.map(key => ({ key })),\n options\n );\n case 'pie':\n return createPieChart(data, yKeys[0], xKey, options);\n }\n }\n\n // Auto-detect based on data characteristics\n // If only one value key and non-numeric xKey, consider pie chart\n if (yKeys.length === 1 && typeof firstItem[xKey] === 'string') {\n return createPieChart(data, yKeys[0], xKey, options);\n }\n\n // If xKey looks like a date/time, prefer line chart\n if (\n xKey.toLowerCase().includes('date') ||\n xKey.toLowerCase().includes('time') ||\n xKey.toLowerCase().includes('month') ||\n xKey.toLowerCase().includes('year')\n ) {\n return createLineChart(\n data,\n xKey,\n yKeys.map(key => ({ key })),\n options\n );\n }\n\n // Default to bar chart for comparisons\n return createBarChart(\n data,\n xKey,\n yKeys.map(key => ({ key })),\n options\n );\n}\n\n/**\n * Wrap data and UI into a ToolHandlerResult\n */\nexport function createToolResult(data: any, ui: UIComponentSpec): ToolHandlerResult {\n return { data, ui };\n}\n\n/**\n * Quick helper: create a tool result with a bar chart\n */\nexport function resultWithBarChart(\n data: any[],\n xKey: string,\n bars: Array<{ key: string; label?: string; color?: string }>,\n options?: ChartHelperOptions\n): ToolHandlerResult {\n return createToolResult(data, createBarChart(data, xKey, bars, options));\n}\n\n/**\n * Quick helper: create a tool result with a smart chart\n */\nexport function resultWithSmartChart(\n data: any[],\n options?: Parameters<typeof createSmartChart>[1]\n): ToolHandlerResult {\n return createToolResult(data, createSmartChart(data, options));\n}\n\n/**\n * Quick helper: create a tool result with a card grid\n */\nexport function resultWithCardGrid(\n cards: CardData[],\n options?: CardGridHelperOptions\n): ToolHandlerResult {\n return createToolResult(cards, createCardGrid(cards, options));\n}\n\n/**\n * Quick helper: create a tool result with a table\n */\nexport function resultWithTable(\n data: Record<string, any>[],\n columns: TableColumn[],\n options?: TableHelperOptions\n): ToolHandlerResult {\n return createToolResult(data, createTable(data, columns, options));\n}\n",
11
- "import { useState, useEffect, useCallback } from 'react';\nimport type { ChatMessage, ClientState } from '@rodrigocoliveira/agno-types';\nimport { useAgnoClient } from '../context/AgnoContext';\n\n/**\n * Main hook for chat interactions\n * Provides messages, state, and methods to interact with the agent\n */\nexport function useAgnoChat() {\n const client = useAgnoClient();\n const [messages, setMessages] = useState<ChatMessage[]>(client.getMessages());\n const [state, setState] = useState<ClientState>(client.getState());\n const [error, setError] = useState<string | undefined>();\n\n // Listen to client events and update React state\n useEffect(() => {\n const handleMessageUpdate = (updatedMessages: ChatMessage[]) => {\n setMessages(updatedMessages);\n };\n\n const handleMessageComplete = (updatedMessages: ChatMessage[]) => {\n setMessages(updatedMessages);\n };\n\n const handleMessageRefreshed = (updatedMessages: ChatMessage[]) => {\n setMessages(updatedMessages);\n };\n\n const handleMessageError = (errorMessage: string) => {\n setError(errorMessage);\n };\n\n const handleStateChange = (newState: ClientState) => {\n setState(newState);\n };\n\n // Handle UI render event from frontend tool execution\n const handleUIRender = (event: any) => {\n const { tools } = event;\n\n // Update each tool call with its UI component\n for (const tool of tools) {\n if ((tool as any).ui_component) {\n client.hydrateToolCallUI(tool.tool_call_id, (tool as any).ui_component);\n }\n }\n };\n\n // Handle run cancelled event\n const handleRunCancelled = () => {\n // State is already updated via state:change event\n // This handler can be used for additional cancellation logic if needed\n };\n\n client.on('message:update', handleMessageUpdate);\n client.on('message:complete', handleMessageComplete);\n client.on('message:refreshed', handleMessageRefreshed);\n client.on('message:error', handleMessageError);\n client.on('state:change', handleStateChange);\n client.on('ui:render', handleUIRender);\n client.on('run:cancelled', handleRunCancelled);\n\n // Initialize state\n setMessages(client.getMessages());\n setState(client.getState());\n\n return () => {\n client.off('message:update', handleMessageUpdate);\n client.off('message:complete', handleMessageComplete);\n client.off('message:refreshed', handleMessageRefreshed);\n client.off('message:error', handleMessageError);\n client.off('state:change', handleStateChange);\n client.off('ui:render', handleUIRender);\n client.off('run:cancelled', handleRunCancelled);\n };\n }, [client]);\n\n /**\n * Send a message to the agent/team\n */\n const sendMessage = useCallback(\n async (message: string | FormData, options?: { headers?: Record<string, string>; params?: Record<string, string> }) => {\n setError(undefined);\n try {\n await client.sendMessage(message, options);\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n }\n },\n [client]\n );\n\n /**\n * Clear all messages\n */\n const clearMessages = useCallback(() => {\n client.clearMessages();\n setMessages([]);\n setError(undefined);\n }, [client]);\n\n /**\n * Cancel the current run\n */\n const cancelRun = useCallback(async () => {\n try {\n await client.cancelRun();\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n }\n }, [client]);\n\n return {\n messages,\n sendMessage,\n clearMessages,\n cancelRun,\n isStreaming: state.isStreaming,\n isRefreshing: state.isRefreshing,\n isPaused: state.isPaused,\n isCancelling: state.isCancelling,\n currentRunId: state.currentRunId,\n error,\n state,\n };\n}\n",
11
+ "import { useState, useEffect, useCallback } from 'react';\nimport type { ChatMessage, ClientState } from '@rodrigocoliveira/agno-types';\nimport { useAgnoClient } from '../context/AgnoContext';\n\n/**\n * Main hook for chat interactions\n * Provides messages, state, and methods to interact with the agent\n */\nexport function useAgnoChat() {\n const client = useAgnoClient();\n const [messages, setMessages] = useState<ChatMessage[]>(client.getMessages());\n const [state, setState] = useState<ClientState>(client.getState());\n\n // Listen to client events and update React state\n useEffect(() => {\n const handleMessageUpdate = (updatedMessages: ChatMessage[]) => {\n setMessages(updatedMessages);\n };\n\n const handleMessageComplete = (updatedMessages: ChatMessage[]) => {\n setMessages(updatedMessages);\n };\n\n const handleMessageRefreshed = (updatedMessages: ChatMessage[]) => {\n setMessages(updatedMessages);\n };\n\n const handleStateChange = (newState: ClientState) => {\n setState(newState);\n };\n\n // Handle UI render event from frontend tool execution\n const handleUIRender = (event: any) => {\n const { tools } = event;\n\n // Update each tool call with its UI component\n for (const tool of tools) {\n if ((tool as any).ui_component) {\n client.hydrateToolCallUI(tool.tool_call_id, (tool as any).ui_component);\n }\n }\n };\n\n // Handle run cancelled event\n const handleRunCancelled = () => {\n // State is already updated via state:change event\n // This handler can be used for additional cancellation logic if needed\n };\n\n client.on('message:update', handleMessageUpdate);\n client.on('message:complete', handleMessageComplete);\n client.on('message:refreshed', handleMessageRefreshed);\n client.on('state:change', handleStateChange);\n client.on('ui:render', handleUIRender);\n client.on('run:cancelled', handleRunCancelled);\n\n // Initialize state\n setMessages(client.getMessages());\n setState(client.getState());\n\n return () => {\n client.off('message:update', handleMessageUpdate);\n client.off('message:complete', handleMessageComplete);\n client.off('message:refreshed', handleMessageRefreshed);\n client.off('state:change', handleStateChange);\n client.off('ui:render', handleUIRender);\n client.off('run:cancelled', handleRunCancelled);\n };\n }, [client]);\n\n /**\n * Send a message to the agent/team\n */\n const sendMessage = useCallback(\n async (message: string | FormData, options?: { headers?: Record<string, string>; params?: Record<string, string> }) => {\n try {\n await client.sendMessage(message, options);\n } catch (err) {\n throw err;\n }\n },\n [client]\n );\n\n /**\n * Clear all messages\n */\n const clearMessages = useCallback(() => {\n client.clearMessages();\n setMessages([]);\n }, [client]);\n\n /**\n * Cancel the current run\n */\n const cancelRun = useCallback(async () => {\n await client.cancelRun();\n }, [client]);\n\n return {\n messages,\n sendMessage,\n clearMessages,\n cancelRun,\n isStreaming: state.isStreaming,\n isRefreshing: state.isRefreshing,\n isPaused: state.isPaused,\n isCancelling: state.isCancelling,\n currentRunId: state.currentRunId,\n error: state.errorMessage,\n state,\n };\n}\n",
12
12
  "import { useState, useEffect, useCallback } from 'react';\nimport type {\n SessionEntry,\n ChatMessage,\n AgentSessionDetailSchema,\n TeamSessionDetailSchema,\n RunSchema,\n TeamRunSchema,\n CreateSessionRequest,\n UpdateSessionRequest,\n} from '@rodrigocoliveira/agno-types';\nimport { useAgnoClient } from '../context/AgnoContext';\n\n/**\n * Hook for session management\n */\nexport function useAgnoSession() {\n const client = useAgnoClient();\n const [sessions, setSessions] = useState<SessionEntry[]>([]);\n const [currentSessionId, setCurrentSessionId] = useState<string | undefined>(\n client.getConfig().sessionId\n );\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState<string | undefined>();\n\n // Listen to session events\n useEffect(() => {\n const handleSessionLoaded = (sessionId: string) => {\n setCurrentSessionId(sessionId);\n };\n\n const handleSessionCreated = (session: SessionEntry) => {\n setSessions((prev) => [session, ...prev]);\n setCurrentSessionId(session.session_id);\n };\n\n const handleStateChange = () => {\n const config = client.getConfig();\n setCurrentSessionId(config.sessionId);\n setSessions(client.getState().sessions);\n };\n\n client.on('session:loaded', handleSessionLoaded);\n client.on('session:created', handleSessionCreated);\n client.on('state:change', handleStateChange);\n\n // Initialize\n setSessions(client.getState().sessions);\n setCurrentSessionId(client.getConfig().sessionId);\n\n return () => {\n client.off('session:loaded', handleSessionLoaded);\n client.off('session:created', handleSessionCreated);\n client.off('state:change', handleStateChange);\n };\n }, [client]);\n\n /**\n * Load a specific session\n */\n const loadSession = useCallback(\n async (sessionId: string, options?: { params?: Record<string, string> }): Promise<ChatMessage[]> => {\n setIsLoading(true);\n setError(undefined);\n try {\n const messages = await client.loadSession(sessionId, options);\n setCurrentSessionId(sessionId);\n return messages;\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n } finally {\n setIsLoading(false);\n }\n },\n [client]\n );\n\n /**\n * Fetch all sessions\n */\n const fetchSessions = useCallback(async (options?: { params?: Record<string, string> }): Promise<SessionEntry[]> => {\n setIsLoading(true);\n setError(undefined);\n try {\n const fetchedSessions = await client.fetchSessions(options);\n setSessions(fetchedSessions);\n return fetchedSessions;\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n } finally {\n setIsLoading(false);\n }\n }, [client]);\n\n /**\n * Get a session by ID\n */\n const getSessionById = useCallback(\n async (\n sessionId: string,\n options?: { params?: Record<string, string> }\n ): Promise<AgentSessionDetailSchema | TeamSessionDetailSchema> => {\n setIsLoading(true);\n setError(undefined);\n try {\n return await client.getSessionById(sessionId, options);\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n } finally {\n setIsLoading(false);\n }\n },\n [client]\n );\n\n /**\n * Get a run by ID\n */\n const getRunById = useCallback(\n async (\n sessionId: string,\n runId: string,\n options?: { params?: Record<string, string> }\n ): Promise<RunSchema | TeamRunSchema> => {\n setIsLoading(true);\n setError(undefined);\n try {\n return await client.getRunById(sessionId, runId, options);\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n } finally {\n setIsLoading(false);\n }\n },\n [client]\n );\n\n /**\n * Create a new session\n */\n const createSession = useCallback(\n async (\n request?: CreateSessionRequest,\n options?: { params?: Record<string, string> }\n ): Promise<AgentSessionDetailSchema | TeamSessionDetailSchema> => {\n setIsLoading(true);\n setError(undefined);\n try {\n const session = await client.createSession(request, options);\n return session;\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n } finally {\n setIsLoading(false);\n }\n },\n [client]\n );\n\n /**\n * Update a session\n */\n const updateSession = useCallback(\n async (\n sessionId: string,\n request: UpdateSessionRequest,\n options?: { params?: Record<string, string> }\n ): Promise<AgentSessionDetailSchema | TeamSessionDetailSchema> => {\n setIsLoading(true);\n setError(undefined);\n try {\n return await client.updateSession(sessionId, request, options);\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n } finally {\n setIsLoading(false);\n }\n },\n [client]\n );\n\n /**\n * Rename a session\n */\n const renameSession = useCallback(\n async (\n sessionId: string,\n newName: string,\n options?: { params?: Record<string, string> }\n ): Promise<AgentSessionDetailSchema | TeamSessionDetailSchema> => {\n setIsLoading(true);\n setError(undefined);\n try {\n return await client.renameSession(sessionId, newName, options);\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n } finally {\n setIsLoading(false);\n }\n },\n [client]\n );\n\n /**\n * Delete a session\n */\n const deleteSession = useCallback(\n async (\n sessionId: string,\n options?: { params?: Record<string, string> }\n ): Promise<void> => {\n setIsLoading(true);\n setError(undefined);\n try {\n await client.deleteSession(sessionId, options);\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n } finally {\n setIsLoading(false);\n }\n },\n [client]\n );\n\n /**\n * Delete multiple sessions\n */\n const deleteMultipleSessions = useCallback(\n async (\n sessionIds: string[],\n options?: { params?: Record<string, string> }\n ): Promise<void> => {\n setIsLoading(true);\n setError(undefined);\n try {\n await client.deleteMultipleSessions(sessionIds, options);\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n } finally {\n setIsLoading(false);\n }\n },\n [client]\n );\n\n return {\n sessions,\n currentSessionId,\n loadSession,\n fetchSessions,\n getSessionById,\n getRunById,\n createSession,\n updateSession,\n renameSession,\n deleteSession,\n deleteMultipleSessions,\n isLoading,\n error,\n };\n}\n",
13
13
  "import { useState, useCallback } from 'react';\nimport type { AgentDetails, TeamDetails } from '@rodrigocoliveira/agno-types';\nimport { useAgnoClient } from '../context/AgnoContext';\n\n/**\n * Hook for common actions like initialization, fetching agents/teams\n */\nexport function useAgnoActions() {\n const client = useAgnoClient();\n const [isInitializing, setIsInitializing] = useState(false);\n const [error, setError] = useState<string | undefined>();\n\n /**\n * Initialize the client (check status and fetch agents/teams)\n */\n const initialize = useCallback(async (options?: { params?: Record<string, string> }): Promise<{\n agents: AgentDetails[];\n teams: TeamDetails[];\n }> => {\n setIsInitializing(true);\n setError(undefined);\n try {\n const result = await client.initialize(options);\n return result;\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n } finally {\n setIsInitializing(false);\n }\n }, [client]);\n\n /**\n * Check endpoint status\n */\n const checkStatus = useCallback(async (options?: { params?: Record<string, string> }): Promise<boolean> => {\n setError(undefined);\n try {\n return await client.checkStatus(options);\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n return false;\n }\n }, [client]);\n\n /**\n * Fetch agents\n */\n const fetchAgents = useCallback(async (options?: { params?: Record<string, string> }): Promise<AgentDetails[]> => {\n setError(undefined);\n try {\n return await client.fetchAgents(options);\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n }\n }, [client]);\n\n /**\n * Fetch teams\n */\n const fetchTeams = useCallback(async (options?: { params?: Record<string, string> }): Promise<TeamDetails[]> => {\n setError(undefined);\n try {\n return await client.fetchTeams(options);\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n }\n }, [client]);\n\n /**\n * Update client configuration\n */\n const updateConfig = useCallback(\n (updates: Partial<Parameters<typeof client.updateConfig>[0]>) => {\n client.updateConfig(updates);\n },\n [client]\n );\n\n return {\n initialize,\n checkStatus,\n fetchAgents,\n fetchTeams,\n updateConfig,\n isInitializing,\n error,\n };\n}\n",
14
14
  "import { useState, useEffect, useCallback, useRef } from 'react';\nimport type { CustomEventData } from '@rodrigocoliveira/agno-types';\nimport { useAgnoClient } from '../context/AgnoContext';\n\n/**\n * React hook to subscribe to custom events emitted by the agent backend (yielding CustomEventData).\n *\n * Custom events are emitted when agent yeilds data not directly related to tool execution or chat messages,\n * through the CustomEvent API event type.\n *\n * @param handler - Optional callback invoked for each custom event\n * @returns Object containing accumulated custom events and a clear function\n *\n * @example\n * // Collect all custom events\n * const { events } = useAgnoCustomEvents();\n *\n * @example\n * // Handle events as they arrive\n * const { events } = useAgnoCustomEvents((event) => {\n * if (event.greeting) {\n * showToast(event.greeting);\n * }\n * });\n *\n * @example\n * // Filter for specific event types\n * const { events } = useAgnoCustomEvents();\n * const greetings = events.filter(e => 'greeting' in e);\n *\n * @example\n * // Clear accumulated events\n * const { events, clearEvents } = useAgnoCustomEvents();\n * // Later...\n * clearEvents();\n */\nexport function useAgnoCustomEvents(\n handler?: (event: CustomEventData) => void\n): {\n events: CustomEventData[];\n clearEvents: () => void;\n} {\n const client = useAgnoClient();\n const [events, setEvents] = useState<CustomEventData[]>([]);\n\n // Use ref to avoid stale closure issues with the handler\n const handlerRef = useRef(handler);\n handlerRef.current = handler;\n\n useEffect(() => {\n const handleCustomEvent = (event: CustomEventData) => {\n setEvents((prev) => [...prev, event]);\n handlerRef.current?.(event);\n };\n\n client.on('custom:event', handleCustomEvent);\n\n return () => {\n client.off('custom:event', handleCustomEvent);\n };\n }, [client]);\n\n const clearEvents = useCallback(() => {\n setEvents([]);\n }, []);\n\n return { events, clearEvents };\n}\n",
@@ -18,7 +18,7 @@
18
18
  "import { useState, useCallback } from 'react';\nimport type {\n EvalSchema,\n EvalRunsListResponse,\n ListEvalRunsParams,\n ExecuteEvalRequest,\n UpdateEvalRunRequest,\n} from '@rodrigocoliveira/agno-types';\nimport { useAgnoClient } from '../context/AgnoContext';\n\n/**\n * Hook for evaluation management\n */\nexport function useAgnoEvals() {\n const client = useAgnoClient();\n const [evalRuns, setEvalRuns] = useState<EvalSchema[]>([]);\n const [pagination, setPagination] = useState<EvalRunsListResponse['meta'] | undefined>();\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState<string | undefined>();\n\n /**\n * List evaluation runs with optional filtering and pagination\n */\n const listEvalRuns = useCallback(\n async (\n listParams: ListEvalRunsParams = {},\n options?: { params?: Record<string, string> }\n ): Promise<EvalRunsListResponse> => {\n setIsLoading(true);\n setError(undefined);\n try {\n const response = await client.listEvalRuns(listParams, options);\n setEvalRuns(response.data);\n setPagination(response.meta);\n return response;\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n } finally {\n setIsLoading(false);\n }\n },\n [client]\n );\n\n /**\n * Get a specific evaluation run by ID\n */\n const getEvalRun = useCallback(\n async (\n evalRunId: string,\n options?: { dbId?: string; table?: string; params?: Record<string, string> }\n ): Promise<EvalSchema> => {\n setIsLoading(true);\n setError(undefined);\n try {\n return await client.getEvalRun(evalRunId, options);\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n } finally {\n setIsLoading(false);\n }\n },\n [client]\n );\n\n /**\n * Execute a new evaluation\n */\n const executeEval = useCallback(\n async (\n request: ExecuteEvalRequest,\n options?: { dbId?: string; table?: string; params?: Record<string, string> }\n ): Promise<EvalSchema> => {\n setIsLoading(true);\n setError(undefined);\n try {\n const result = await client.executeEval(request, options);\n // Add the new eval run to the list\n setEvalRuns((prev) => [result, ...prev]);\n return result;\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n } finally {\n setIsLoading(false);\n }\n },\n [client]\n );\n\n /**\n * Update an evaluation run (rename)\n */\n const updateEvalRun = useCallback(\n async (\n evalRunId: string,\n request: UpdateEvalRunRequest,\n options?: { dbId?: string; table?: string; params?: Record<string, string> }\n ): Promise<EvalSchema> => {\n setIsLoading(true);\n setError(undefined);\n try {\n const result = await client.updateEvalRun(evalRunId, request, options);\n // Update the eval run in the list\n setEvalRuns((prev) =>\n prev.map((evalRun) => (evalRun.id === evalRunId ? result : evalRun))\n );\n return result;\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n } finally {\n setIsLoading(false);\n }\n },\n [client]\n );\n\n /**\n * Delete multiple evaluation runs\n */\n const deleteEvalRuns = useCallback(\n async (\n evalRunIds: string[],\n options?: { dbId?: string; table?: string; params?: Record<string, string> }\n ): Promise<void> => {\n setIsLoading(true);\n setError(undefined);\n try {\n await client.deleteEvalRuns(evalRunIds, options);\n // Remove deleted eval runs from the list\n const deletedSet = new Set(evalRunIds);\n setEvalRuns((prev) => prev.filter((evalRun) => !deletedSet.has(evalRun.id)));\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n } finally {\n setIsLoading(false);\n }\n },\n [client]\n );\n\n /**\n * Rename an evaluation run (convenience method)\n */\n const renameEvalRun = useCallback(\n async (\n evalRunId: string,\n newName: string,\n options?: { dbId?: string; table?: string; params?: Record<string, string> }\n ): Promise<EvalSchema> => {\n return updateEvalRun(evalRunId, { name: newName }, options);\n },\n [updateEvalRun]\n );\n\n return {\n // State\n evalRuns,\n pagination,\n isLoading,\n error,\n\n // Methods\n listEvalRuns,\n getEvalRun,\n executeEval,\n updateEvalRun,\n deleteEvalRuns,\n renameEvalRun,\n };\n}\n",
19
19
  "import { useState, useEffect, useCallback } from 'react';\nimport type {\n TraceSummary,\n TraceDetail,\n TraceNode,\n TraceSessionStats,\n ListTracesOptions,\n GetTraceOptions,\n GetTraceSessionStatsOptions,\n} from '@rodrigocoliveira/agno-types';\nimport type {\n PaginatedTracesResult,\n PaginatedTraceSessionStatsResult,\n} from '@rodrigocoliveira/agno-client';\nimport { useAgnoClient } from '../context/AgnoContext';\n\n// Re-export for convenience\nexport type { PaginatedTracesResult, PaginatedTraceSessionStatsResult };\n\n/**\n * Hook for traces management\n *\n * Provides methods to:\n * - List traces with filters (fetchTraces)\n * - Get trace detail or specific span (getTraceDetail)\n * - Get trace session statistics (fetchTraceSessionStats)\n *\n * @example\n * ```tsx\n * const { traces, fetchTraces, isLoading, error } = useAgnoTraces();\n *\n * // Fetch traces for a specific session\n * useEffect(() => {\n * fetchTraces({ session_id: 'my-session-id' });\n * }, []);\n *\n * // Fetch traces with pagination\n * const result = await fetchTraces({ page: 1, limit: 10 });\n * console.log(result.pagination.total_count);\n * ```\n */\nexport function useAgnoTraces() {\n const client = useAgnoClient();\n const [traces, setTraces] = useState<TraceSummary[]>([]);\n const [traceSessionStats, setTraceSessionStats] = useState<TraceSessionStats[]>([]);\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState<string | undefined>();\n\n // Listen to state changes from client\n useEffect(() => {\n const handleStateChange = () => {\n const state = client.getState();\n setTraces(state.traces);\n setTraceSessionStats(state.traceSessionStats);\n };\n\n client.on('state:change', handleStateChange);\n\n // Initialize from current state\n const state = client.getState();\n setTraces(state.traces);\n setTraceSessionStats(state.traceSessionStats);\n\n return () => {\n client.off('state:change', handleStateChange);\n };\n }, [client]);\n\n /**\n * Fetch traces with optional filters\n *\n * @param options - Filter and pagination options\n * @param requestOptions - Optional per-request headers and params\n * @returns Traces result with pagination info\n */\n const fetchTraces = useCallback(\n async (\n options: ListTracesOptions = {},\n requestOptions?: { headers?: Record<string, string>; params?: Record<string, string> }\n ): Promise<PaginatedTracesResult> => {\n setIsLoading(true);\n setError(undefined);\n try {\n const result = await client.fetchTraces(options, requestOptions);\n setTraces(result.traces);\n return result;\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n } finally {\n setIsLoading(false);\n }\n },\n [client]\n );\n\n /**\n * Get trace detail or a specific span\n *\n * @param traceId - The trace ID to fetch\n * @param options - Options including optional span_id, run_id, db_id\n * @param requestOptions - Optional per-request headers and params\n * @returns TraceDetail (full trace) or TraceNode (specific span)\n */\n const getTraceDetail = useCallback(\n async (\n traceId: string,\n options: GetTraceOptions = {},\n requestOptions?: { headers?: Record<string, string>; params?: Record<string, string> }\n ): Promise<TraceDetail | TraceNode> => {\n setIsLoading(true);\n setError(undefined);\n try {\n return await client.getTraceDetail(traceId, options, requestOptions);\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n } finally {\n setIsLoading(false);\n }\n },\n [client]\n );\n\n /**\n * Fetch trace session statistics\n *\n * @param options - Filter and pagination options\n * @param requestOptions - Optional per-request headers and params\n * @returns Trace session stats result with pagination info\n */\n const fetchTraceSessionStats = useCallback(\n async (\n options: GetTraceSessionStatsOptions = {},\n requestOptions?: { headers?: Record<string, string>; params?: Record<string, string> }\n ): Promise<PaginatedTraceSessionStatsResult> => {\n setIsLoading(true);\n setError(undefined);\n try {\n const result = await client.fetchTraceSessionStats(options, requestOptions);\n setTraceSessionStats(result.stats);\n return result;\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n } finally {\n setIsLoading(false);\n }\n },\n [client]\n );\n\n return {\n /** Current list of traces (from last fetchTraces call) */\n traces,\n /** Current trace session statistics (from last fetchTraceSessionStats call) */\n traceSessionStats,\n /** Fetch traces with optional filters and pagination */\n fetchTraces,\n /** Get trace detail or specific span */\n getTraceDetail,\n /** Fetch trace session statistics */\n fetchTraceSessionStats,\n /** Loading state */\n isLoading,\n /** Error message if last operation failed */\n error,\n };\n}\n"
20
20
  ],
21
- "mappings": ";AAAA;AACA;AAAA;AAMA,IAAM,cAAc,cAAiC,IAAI;AAUlD,SAAS,YAAY,GAAG,QAAQ,YAA+B;AAAA,EAGpE,MAAM,SAAS,QAAQ,MAAM,IAAI,WAAW,MAAM,GAAG,CAAC,CAAC;AAAA,EAGvD,UAAU,MAAM;AAAA,IACd,OAAO,aAAa,MAAM;AAAA,KACzB,CAAC,QAAQ,MAAM,CAAC;AAAA,EAGnB,UAAU,MAAM;AAAA,IACd,OAAO,MAAM;AAAA,MAEX,OAAO,mBAAmB;AAAA;AAAA,KAE3B,CAAC,MAAM,CAAC;AAAA,EAEX,uBACE,OAEE,YAAY,UAFd;AAAA,IAAsB,OAAO;AAAA,IAA7B;AAAA,sCAEE;AAAA;AAOC,SAAS,aAAa,GAAe;AAAA,EAC1C,MAAM,SAAS,WAAW,WAAW;AAAA,EAErC,IAAI,CAAC,QAAQ;AAAA,IACX,MAAM,IAAI,MAAM,mDAAmD;AAAA,EACrE;AAAA,EAEA,OAAO;AAAA;;ACpDT,0BAAgB,8BAAe;AAAA;AAe/B,IAAM,qBAAqB,eAA8C,IAAI;AAwBtE,SAAS,mBAAmB,GAAG,UAAU,kBAAkB,CAAC,GAAG,YAAsC;AAAA,EAC1G,OAAO,UAAU,eAAe,SAAsC,eAAe;AAAA,EAKrF,MAAM,kBAAkB,YAAY,CAAC,MAAc,YAAyB;AAAA,IAC1E,YAAY,WAAS,KAAK,OAAO,OAAO,QAAQ,EAAE;AAAA,KACjD,CAAC,CAAC;AAAA,EAKL,MAAM,oBAAoB,YAAY,CAAC,SAAiB;AAAA,IACtD,YAAY,UAAQ;AAAA,MAClB,SAAS,OAAO,MAAM,SAAS;AAAA,MAC/B,OAAO;AAAA,KACR;AAAA,KACA,CAAC,CAAC;AAAA,EAEL,MAAM,QAAiC;AAAA,IACrC;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EAEA,uBACE,QAEE,mBAAmB,UAFrB;AAAA,IAA6B;AAAA,IAA7B;AAAA,sCAEE;AAAA;AAcC,SAAS,eAAe,GAAmC;AAAA,EAChE,OAAO,YAAW,kBAAkB;AAAA;;AC5EtC;;;ACQO,MAAM,kBAAkB;AAAA,SACd;AAAA,EACP,aAA6C,IAAI;AAAA,EAEjD,WAAW,GAAG;AAAA,SAOf,WAAW,GAAsB;AAAA,IACtC,IAAI,CAAC,kBAAkB,UAAU;AAAA,MAC/B,kBAAkB,WAAW,IAAI;AAAA,IACnC;AAAA,IACA,OAAO,kBAAkB;AAAA;AAAA,EAM3B,QAAQ,CAAC,MAAc,UAAmC;AAAA,IACxD,KAAK,WAAW,IAAI,MAAM,QAAQ;AAAA;AAAA,EAMpC,aAAa,CAAC,YAAqD;AAAA,IACjE,OAAO,QAAQ,UAAU,EAAE,QAAQ,EAAE,MAAM,cAAc;AAAA,MACvD,KAAK,SAAS,MAAM,QAAQ;AAAA,KAC7B;AAAA;AAAA,EAMH,GAAG,CAAC,MAA6C;AAAA,IAC/C,OAAO,KAAK,WAAW,IAAI,IAAI;AAAA;AAAA,EAMjC,GAAG,CAAC,MAAuB;AAAA,IACzB,OAAO,KAAK,WAAW,IAAI,IAAI;AAAA;AAAA,EAMjC,UAAU,CAAC,MAAoB;AAAA,IAC7B,KAAK,WAAW,OAAO,IAAI;AAAA;AAAA,EAM7B,kBAAkB,GAAa;AAAA,IAC7B,OAAO,MAAM,KAAK,KAAK,WAAW,KAAK,CAAC;AAAA;AAAA,EAM1C,KAAK,GAAS;AAAA,IACZ,KAAK,WAAW,MAAM;AAAA;AAE1B;AAKO,SAAS,oBAAoB,GAAsB;AAAA,EACxD,OAAO,kBAAkB,YAAY;AAAA;AAMhC,SAAS,sBAAsB,CAAC,MAAc,UAAmC;AAAA,EACtF,qBAAqB,EAAE,SAAS,SAAS,QAAQ,QAAQ;AAAA;AAMpD,SAAS,iBAAiB,CAAC,MAA6C;AAAA,EAC7E,OAAO,qBAAqB,EAAE,IAAI,SAAS,MAAM;AAAA;;;ACvGnD,qBAAS,wBAAU,2BAAW,yBAAa;AAmB3C,IAAM,uBAAuB,IAAI;AAKjC,SAAS,oBAAoB,CAAC,UAAwC;AAAA,EACpE,MAAM,MAAM,UAAU,KAAK,IAAI,KAAK,KAAK,OAAO,EAAE,SAAS,EAAE,EAAE,OAAO,GAAG,CAAC;AAAA,EAC1E,qBAAqB,IAAI,KAAK,QAAQ;AAAA,EACtC,OAAO;AAAA;AAMF,SAAS,eAAe,CAAC,KAA+C;AAAA,EAC7E,OAAO,qBAAqB,IAAI,GAAG;AAAA;AAMrC,SAAS,mBAAmB,CAAC,OAAwC;AAAA,EACnE,OAAO,SAAS,OAAO,UAAU,cAAa,UAAU,WAAS,QAAQ;AAAA;AAM3E,SAAS,iBAAiB,CAAC,OAAsC;AAAA,EAC/D,OAAO,SAAS,OAAO,UAAU,YAAY,UAAU;AAAA;AAOlD,SAAS,iBAAiB,CAAC,QAAa,OAG7C;AAAA,EAEA,IAAI,oBAAoB,MAAM,GAAG;AAAA,IAC/B,QAAQ,MAAM,OAAO;AAAA,IAErB,IAAI,cAAmB;AAAA,IACvB,IAAI,IAAI;AAAA,MAEN,IAAI,GAAG,SAAS,YAAY,OAAQ,GAAW,WAAW,YAAY;AAAA,QACpE,MAAM,YAAY,qBAAsB,GAAW,MAAM;AAAA,QACzD,cAAc;AAAA,aACT;AAAA,UACH;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,MACF,EAAO;AAAA,QAEL,cAAc;AAAA;AAAA,IAElB;AAAA,IAEA,OAAO;AAAA,MACL,YAAY,OAAO,SAAS,WAAW,OAAO,KAAK,UAAU,IAAI;AAAA,MACjE;AAAA,IACF;AAAA,EACF;AAAA,EAGA,IAAI,kBAAkB,MAAM,GAAG;AAAA,IAC7B,IAAI;AAAA,IACJ,IAAI,OAAO,SAAS,YAAY,OAAQ,OAAe,WAAW,YAAY;AAAA,MAC5E,MAAM,YAAY,qBAAsB,OAAe,MAAM;AAAA,MAC7D,cAAc;AAAA,WACT;AAAA,QACH;AAAA,QACA,QAAQ;AAAA,MACV;AAAA,IACF,EAAO;AAAA,MACL,cAAc;AAAA;AAAA,IAGhB,OAAO;AAAA,MACL,YAAY,KAAK,UAAU,MAAM;AAAA,MACjC;AAAA,IACF;AAAA,EACF;AAAA,EAGA,OAAO;AAAA,IACL,YAAY,OAAO,WAAW,WAAW,SAAS,KAAK,UAAU,MAAM;AAAA,IACvE,aAAa;AAAA,EACf;AAAA;AAqCK,SAAS,oBAAoB,CAClC,WAAwC,CAAC,GACzC,cAAuB,MACvB;AAAA,EACA,MAAM,SAAS,cAAc;AAAA,EAC7B,MAAM,qBAAqB,gBAAgB;AAAA,EAG3C,MAAM,aAAa,OAAO,UAAU,EAAE,SAAS;AAAA,EAG/C,WAAU,MAAM;AAAA,IACd,IAAI,YAAY;AAAA,MACd,QAAQ,KACN,yGACA,sFACF;AAAA,IACF;AAAA,KACC,CAAC,UAAU,CAAC;AAAA,EAGf,MAAM,iBAAiB,SAAQ,MAAM;AAAA,IACnC,MAAM,iBAAiB,oBAAoB,YAAY,CAAC;AAAA,IACxD,OAAO,KAAK,mBAAmB,SAAS;AAAA,KACvC,CAAC,oBAAoB,UAAU,QAAQ,CAAC;AAAA,EAE3C,OAAO,cAAc,mBAAmB,UAAqB,CAAC,CAAC;AAAA,EAC/D,OAAO,UAAU,eAAe,UAAS,KAAK;AAAA,EAC9C,OAAO,aAAa,kBAAkB,UAAS,KAAK;AAAA,EACpD,OAAO,gBAAgB,qBAAqB,UAA6B;AAAA,EAGzE,WAAU,MAAM;AAAA,IAEd,IAAI,YAAY;AAAA,MACd;AAAA,IACF;AAAA,IAEA,MAAM,kBAAkB,CAAC,UAA8B;AAAA,MACrD,YAAY,IAAI;AAAA,MAChB,gBAAgB,MAAM,KAAK;AAAA,MAC3B,kBAAkB,SAAS;AAAA;AAAA,IAG7B,MAAM,qBAAqB,MAAM;AAAA,MAC/B,YAAY,KAAK;AAAA,MACjB,gBAAgB,CAAC,CAAC;AAAA,MAClB,eAAe,KAAK;AAAA,MACpB,kBAAkB,SAAS;AAAA;AAAA,IAG7B,OAAO,GAAG,cAAc,eAAe;AAAA,IACvC,OAAO,GAAG,iBAAiB,kBAAkB;AAAA,IAE7C,OAAO,MAAM;AAAA,MACX,OAAO,IAAI,cAAc,eAAe;AAAA,MACxC,OAAO,IAAI,iBAAiB,kBAAkB;AAAA;AAAA,KAE/C,CAAC,QAAQ,UAAU,CAAC;AAAA,EAKvB,MAAM,qBAAqB,aAAY,YAAY;AAAA,IACjD,IAAI,CAAC,YAAY,aAAa,WAAW,GAAG;AAAA,MAC1C,QAAQ,KAAK,yDAAyD;AAAA,MACtE;AAAA,IACF;AAAA,IAEA,eAAe,IAAI;AAAA,IACnB,kBAAkB,SAAS;AAAA,IAE3B,IAAI;AAAA,MAEF,MAAM,eAAe,MAAM,QAAQ,IACjC,aAAa,IAAI,OAAO,SAAS;AAAA,QAC/B,MAAM,UAAU,eAAe,KAAK;AAAA,QAEpC,IAAI,CAAC,SAAS;AAAA,UACZ,OAAO;AAAA,eACF;AAAA,YACH,QAAQ,KAAK,UAAU;AAAA,cACrB,OAAO,6BAA6B,KAAK;AAAA,YAC3C,CAAC;AAAA,UACH;AAAA,QACF;AAAA,QAEA,IAAI;AAAA,UACF,MAAM,SAAS,MAAM,QAAQ,KAAK,SAAS;AAAA,UAG3C,QAAQ,YAAY,gBAAgB,kBAAkB,QAAQ,IAAI;AAAA,UAElE,OAAO;AAAA,eACF;AAAA,YACH,QAAQ;AAAA,YACR,cAAc;AAAA,UAChB;AAAA,UACA,OAAO,OAAO;AAAA,UACd,OAAO;AAAA,eACF;AAAA,YACH,QAAQ,KAAK,UAAU;AAAA,cACrB,OAAO,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;AAAA,YAC9D,CAAC;AAAA,UACH;AAAA;AAAA,OAEH,CACH;AAAA,MAIA,MAAM,cAAc,aAAa,OAAO,OAAM,EAAU,YAAY;AAAA,MACpE,IAAI,YAAY,SAAS,GAAG;AAAA,QAE1B,OAAO,KAAK,aAAa;AAAA,UACvB,OAAO;AAAA,UACP,OAAO,OAAO,SAAS,EAAE;AAAA,QAC3B,CAAC;AAAA,MACH;AAAA,MAIA,OAAO,0BAA0B,YAAY;AAAA,MAG7C,MAAM,OAAO,YAAY,YAAY;AAAA,MACrC,OAAO,OAAO;AAAA,MACd,MAAM,eAAe,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;AAAA,MAC1E,kBAAkB,YAAY;AAAA,MAC9B,eAAe,KAAK;AAAA,MACpB,MAAM;AAAA;AAAA,KAEP,CAAC,QAAQ,gBAAgB,UAAU,YAAY,CAAC;AAAA,EAKnD,WAAU,MAAM;AAAA,IACd,MAAM,sBAAsB,OAAO,eAAuB;AAAA,MACxD,MAAM,WAAW,OAAO,YAAY;AAAA,MAEpC,WAAW,WAAW,UAAU;AAAA,QAC9B,IAAI,CAAC,QAAQ;AAAA,UAAY;AAAA,QAEzB,WAAW,QAAQ,QAAQ,YAAY;AAAA,UAErC,IAAK,KAAa;AAAA,YAAc;AAAA,UAEhC,MAAM,UAAU,eAAe,KAAK;AAAA,UACpC,IAAI,CAAC;AAAA,YAAS;AAAA,UAEd,IAAI;AAAA,YACF,MAAM,SAAS,MAAM,QAAQ,KAAK,SAAS;AAAA,YAC3C,QAAQ,gBAAgB,kBAAkB,QAAQ,IAAI;AAAA,YAEtD,IAAI,aAAa;AAAA,cACf,OAAO,kBAAkB,KAAK,cAAc,WAAW;AAAA,YACzD;AAAA,YACA,OAAO,KAAK;AAAA,YACZ,QAAQ,MAAM,4BAA4B,KAAK,cAAc,GAAG;AAAA;AAAA,QAEpE;AAAA,MACF;AAAA;AAAA,IAGF,OAAO,GAAG,kBAAkB,mBAAmB;AAAA,IAC/C,OAAO,MAAM;AAAA,MACX,OAAO,IAAI,kBAAkB,mBAAmB;AAAA;AAAA,KAEjD,CAAC,QAAQ,cAAc,CAAC;AAAA,EAM3B,MAAM,eAAe,aACnB,OAAO,UAA2C;AAAA,IAChD,OAAO,QAAQ,IACb,MAAM,IAAI,OAAO,SAAS;AAAA,MACxB,MAAM,UAAU,eAAe,KAAK;AAAA,MACpC,IAAI,CAAC;AAAA,QAAS,OAAO;AAAA,MAErB,IAAI;AAAA,QACF,MAAM,SAAS,MAAM,QAAQ,KAAK,SAAS;AAAA,QAG3C,QAAQ,YAAY,gBAAgB,kBAAkB,QAAQ,IAAI;AAAA,QAElE,OAAO;AAAA,aACF;AAAA,UACH,QAAQ;AAAA,UACR,cAAc;AAAA,QAChB;AAAA,QACA,OAAO,OAAO;AAAA,QACd,OAAO;AAAA,aACF;AAAA,UACH,QAAQ,KAAK,UAAU;AAAA,YACrB,OAAO,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;AAAA,UAC9D,CAAC;AAAA,QACH;AAAA;AAAA,KAEH,CACH;AAAA,KAEF,CAAC,cAAc,CACjB;AAAA,EAKA,MAAM,sBAAsB,aAC1B,OAAO,OAAmB,YAAoF;AAAA,IAC5G,IAAI,CAAC,UAAU;AAAA,MACb,MAAM,IAAI,MAAM,2BAA2B;AAAA,IAC7C;AAAA,IACA,eAAe,IAAI;AAAA,IACnB,IAAI;AAAA,MACF,MAAM,OAAO,YAAY,OAAO,OAAO;AAAA,MACvC,OAAO,OAAO;AAAA,MACd,eAAe,KAAK;AAAA,MACpB,MAAM;AAAA;AAAA,KAGV,CAAC,QAAQ,QAAQ,CACnB;AAAA,EAGA,WAAU,MAAM;AAAA,IACd,IAAI,eAAe,YAAY,CAAC,eAAe,aAAa,SAAS,GAAG;AAAA,MACtE,mBAAmB;AAAA,IACrB;AAAA,KACC,CAAC,aAAa,UAAU,aAAa,aAAa,QAAQ,kBAAkB,CAAC;AAAA,EAEhF,OAAO;AAAA,IAEL;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,EACF;AAAA;;;;;AFlXF,MAAM,wBAAwB,OAAM,UAGlC;AAAA,EACA,WAAW,CAAC,OAAY;AAAA,IACtB,MAAM,KAAK;AAAA,IACX,KAAK,QAAQ,EAAE,UAAU,MAAM;AAAA;AAAA,SAG1B,wBAAwB,CAAC,OAAc;AAAA,IAC5C,OAAO,EAAE,UAAU,MAAM,MAAM;AAAA;AAAA,EAGjC,iBAAiB,CAAC,OAAc,WAA4B;AAAA,IAC1D,QAAQ,MAAM,qDAAqD,OAAO,SAAS;AAAA,IACnF,KAAK,MAAM,UAAU,KAAK;AAAA;AAAA,EAG5B,MAAM,GAAG;AAAA,IACP,IAAI,KAAK,MAAM,UAAU;AAAA,MACvB,OACE,KAAK,MAAM,4BACT,QAGE,OAHF;AAAA,QAAK,WAAU;AAAA,QAAf,UAGE;AAAA,0BAFA,QAA4D,KAA5D;AAAA,YAAG,WAAU;AAAA,YAAb;AAAA,8CAA4D;AAAA,0BAC5D,QAA4E,KAA5E;AAAA,YAAG,WAAU;AAAA,YAAb,UAA6B,KAAK,MAAM,OAAO,WAAW;AAAA,aAA1D,iCAA4E;AAAA;AAAA,SAF9E,gCAGE;AAAA,IAGR;AAAA,IAEA,OAAO,KAAK,MAAM;AAAA;AAEtB;AAKO,SAAS,oBAAoB;AAAA,EAClC;AAAA,EACA;AAAA,EACA;AAAA,GACgD;AAAA,EAChD,MAAM,WAAW,qBAAqB;AAAA,EAGtC,IAAI,KAAK,SAAS,UAAU;AAAA,IAC1B,MAAM,aAAa;AAAA,IACnB,IAAI,WAAW,WAAW;AAAA,MACxB,MAAM,WAAW,gBAAgB,WAAW,SAAS;AAAA,MACrD,IAAI,UAAU;AAAA,QACZ,uBACE,QAEE,iBAFF;AAAA,UAAiB;AAAA,UAAjB,0BACE,QAA+D,OAA/D;AAAA,YAAK;AAAA,YAAL,UAA4B,SAAS,WAAW,SAAS,CAAC,CAAC;AAAA,aAA3D,iCAA+D;AAAA,WADjE,iCAEE;AAAA,MAEN;AAAA,IACF;AAAA,IAEA,uBACE,QAGE,OAHF;AAAA,MAAK,WAAW,wEAAwE,aAAa;AAAA,MAArG,UAGE;AAAA,wBAFA,QAA6D,KAA7D;AAAA,UAAG,WAAU;AAAA,UAAb;AAAA,4CAA6D;AAAA,wBAC7D,QAA6F,KAA7F;AAAA,UAAG,WAAU;AAAA,UAAb;AAAA,4CAA6F;AAAA;AAAA,OAF/F,gCAGE;AAAA,EAEN;AAAA,EAGA,IAAI,KAAK,SAAS,SAAS;AAAA,IACzB,MAAM,YAAY;AAAA,IAClB,MAAM,YAAY,SAAS,UAAU;AAAA,IAErC,IAAI,SAAS,IAAI,SAAS,GAAG;AAAA,MAC3B,MAAM,gBAAgB,SAAS,IAAI,SAAS;AAAA,MAC5C,uBACE,QAME,iBANF;AAAA,QAAiB;AAAA,QAAjB,0BACE,QAIE,OAJF;AAAA,UAAK;AAAA,UAAL,UAIE;AAAA,YAHC,UAAU,yBAAS,QAAsD,MAAtD;AAAA,cAAI,WAAU;AAAA,cAAd,UAAoC,UAAU;AAAA,eAA9C,iCAAsD;AAAA,YACzE,UAAU,+BAAe,QAAmE,KAAnE;AAAA,cAAG,WAAU;AAAA,cAAb,UAA2C,UAAU;AAAA,eAArD,iCAAmE;AAAA,4BAC7F,QAAC,eAAD;AAAA,iBAAmB,UAAU;AAAA,eAA7B,iCAAoC;AAAA;AAAA,WAHtC,gCAIE;AAAA,SALJ,iCAME;AAAA,IAEN;AAAA,IAGA,uBACE,QAME,OANF;AAAA,MAAK,WAAW,yCAAyC,aAAa;AAAA,MAAtE,UAME;AAAA,wBALA,QAAqE,KAArE;AAAA,UAAG,WAAU;AAAA,UAAb,UAAmC,UAAU,SAAS;AAAA,WAAtD,iCAAqE;AAAA,QACpE,UAAU,+BAAe,QAAmE,KAAnE;AAAA,UAAG,WAAU;AAAA,UAAb,UAA2C,UAAU;AAAA,WAArD,iCAAmE;AAAA,wBAC7F,QAEE,OAFF;AAAA,UAAK,WAAU;AAAA,UAAf,UACG,KAAK,UAAU,UAAU,MAAM,MAAM,MAAM,CAAC;AAAA,WAD/C,iCAEE;AAAA;AAAA,OALJ,gCAME;AAAA,EAEN;AAAA,EAGA,IAAI,KAAK,SAAS,aAAa;AAAA,IAC7B,MAAM,eAAe;AAAA,IACrB,IAAI,SAAS,IAAI,WAAW,GAAG;AAAA,MAC7B,MAAM,mBAAmB,SAAS,IAAI,WAAW;AAAA,MACjD,uBACE,QAME,iBANF;AAAA,QAAiB;AAAA,QAAjB,0BACE,QAIE,OAJF;AAAA,UAAK;AAAA,UAAL,UAIE;AAAA,YAHC,aAAa,yBAAS,QAAyD,MAAzD;AAAA,cAAI,WAAU;AAAA,cAAd,UAAoC,aAAa;AAAA,eAAjD,iCAAyD;AAAA,YAC/E,aAAa,+BAAe,QAAsE,KAAtE;AAAA,cAAG,WAAU;AAAA,cAAb,UAA2C,aAAa;AAAA,eAAxD,iCAAsE;AAAA,4BACnG,QAAC,kBAAD;AAAA,iBAAsB,aAAa;AAAA,eAAnC,iCAA0C;AAAA;AAAA,WAH5C,gCAIE;AAAA,SALJ,iCAME;AAAA,IAEN;AAAA,EACF;AAAA,EAGA,IAAI,KAAK,SAAS,SAAS;AAAA,IACzB,MAAM,YAAY;AAAA,IAClB,IAAI,SAAS,IAAI,OAAO,GAAG;AAAA,MACzB,MAAM,gBAAgB,SAAS,IAAI,OAAO;AAAA,MAC1C,uBACE,QAME,iBANF;AAAA,QAAiB;AAAA,QAAjB,0BACE,QAIE,OAJF;AAAA,UAAK;AAAA,UAAL,UAIE;AAAA,YAHC,UAAU,yBAAS,QAAsD,MAAtD;AAAA,cAAI,WAAU;AAAA,cAAd,UAAoC,UAAU;AAAA,eAA9C,iCAAsD;AAAA,YACzE,UAAU,+BAAe,QAAmE,KAAnE;AAAA,cAAG,WAAU;AAAA,cAAb,UAA2C,UAAU;AAAA,eAArD,iCAAmE;AAAA,4BAC7F,QAAC,eAAD;AAAA,iBAAmB,UAAU;AAAA,eAA7B,iCAAoC;AAAA;AAAA,WAHtC,gCAIE;AAAA,SALJ,iCAME;AAAA,IAEN;AAAA,EACF;AAAA,EAGA,IAAI,KAAK,SAAS,YAAY;AAAA,IAC5B,MAAM,eAAe;AAAA,IACrB,IAAI,SAAS,IAAI,UAAU,GAAG;AAAA,MAC5B,MAAM,mBAAmB,SAAS,IAAI,UAAU;AAAA,MAChD,uBACE,QAIE,iBAJF;AAAA,QAAiB;AAAA,QAAjB,0BACE,QAEE,OAFF;AAAA,UAAK;AAAA,UAAL,0BACE,QAAC,kBAAD;AAAA,eAAsB,aAAa;AAAA,aAAnC,iCAA0C;AAAA,WAD5C,iCAEE;AAAA,SAHJ,iCAIE;AAAA,IAEN;AAAA,IAEA,uBAAO,QAAyD,OAAzD;AAAA,MAAK;AAAA,MAAL,UAA4B,aAAa,MAAM;AAAA,OAA/C,iCAAyD;AAAA,EAClE;AAAA,EAGA,IAAI,KAAK,SAAS,YAAY;AAAA,IAC5B,MAAM,eAAe;AAAA,IACrB,uBACE,QAUE,iBAVF;AAAA,MAAiB;AAAA,MAAjB,0BACE,QAQE,OARF;AAAA,QAAK,WAAW,yBAAyB,aAAa;AAAA,QAAtD,UAQE;AAAA,UAPC,aAAa,yBAAS,QAAyD,MAAzD;AAAA,YAAI,WAAU;AAAA,YAAd,UAAoC,aAAa;AAAA,aAAjD,iCAAyD;AAAA,UAC/E,aAAa,+BAAe,QAAsE,KAAtE;AAAA,YAAG,WAAU;AAAA,YAAb,UAA2C,aAAa;AAAA,aAAxD,iCAAsE;AAAA,0BACnG,QAIE,OAJF;AAAA,YAAK,WAAU;AAAA,YAAf,UACG,aAAa,MAAM,SAAS,IAAI,CAAC,WAA4B,0BAC5D,QAAC,sBAAD;AAAA,cAAkC,MAAM;AAAA,cAAW;AAAA,eAAxB,OAA3B,sBAAqE,CACtE;AAAA,aAHH,iCAIE;AAAA;AAAA,SAPJ,gCAQE;AAAA,OATJ,iCAUE;AAAA,EAEN;AAAA,EAGA,uBACE,QAGE,OAHF;AAAA,IAAK,WAAW,yCAAyC,aAAa;AAAA,IAAtE,UAGE;AAAA,sBAFA,QAAuD,KAAvD;AAAA,QAAG,WAAU;AAAA,QAAb;AAAA,0CAAuD;AAAA,sBACvD,QAAuE,KAAvE;AAAA,QAAG,WAAU;AAAA,QAAb,UAAuE;AAAA,UAAvE;AAAA,UAA2D,KAAK;AAAA;AAAA,SAAhE,gCAAuE;AAAA;AAAA,KAFzE,gCAGE;AAAA;;AGxJC,SAAS,cAAc,CAC5B,MACA,MACA,MACA,SACoB;AAAA,EACpB,OAAO;AAAA,IACL,MAAM;AAAA,IACN,WAAW;AAAA,IACX,QAAQ,SAAS;AAAA,IACjB,OAAO,SAAS;AAAA,IAChB,aAAa,SAAS;AAAA,IACtB,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA,MAAM,KAAK,IAAI,UAAQ;AAAA,QACrB,KAAK,IAAI;AAAA,QACT,OAAO,IAAI,SAAS,IAAI;AAAA,QACxB,OAAO,IAAI;AAAA,MACb,EAAE;AAAA,MACF,YAAY,SAAS,cAAc;AAAA,MACnC,UAAU,SAAS,YAAY;AAAA,MAC/B,QAAQ,SAAS;AAAA,MACjB,OAAO,SAAS;AAAA,IAClB;AAAA,EACF;AAAA;AAMK,SAAS,eAAe,CAC7B,MACA,MACA,OACA,SACoB;AAAA,EACpB,OAAO;AAAA,IACL,MAAM;AAAA,IACN,WAAW;AAAA,IACX,QAAQ,SAAS;AAAA,IACjB,OAAO,SAAS;AAAA,IAChB,aAAa,SAAS;AAAA,IACtB,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA,OAAO,MAAM,IAAI,WAAS;AAAA,QACxB,KAAK,KAAK;AAAA,QACV,OAAO,KAAK,SAAS,KAAK;AAAA,QAC1B,OAAO,KAAK;AAAA,MACd,EAAE;AAAA,MACF,YAAY,SAAS,cAAc;AAAA,MACnC,UAAU,SAAS,YAAY;AAAA,MAC/B,QAAQ,SAAS;AAAA,MACjB,OAAO,SAAS;AAAA,IAClB;AAAA,EACF;AAAA;AAMK,SAAS,cAAc,CAC5B,MACA,SACA,SACA,SACoB;AAAA,EACpB,OAAO;AAAA,IACL,MAAM;AAAA,IACN,WAAW;AAAA,IACX,QAAQ,SAAS;AAAA,IACjB,OAAO,SAAS;AAAA,IAChB,aAAa,SAAS;AAAA,IACtB,OAAO;AAAA,MACL;AAAA,MACA,KAAK;AAAA,QACH;AAAA,QACA;AAAA,QACA,OAAO,SAAS,aAAa;AAAA,MAC/B;AAAA,MACA,YAAY,SAAS,cAAc;AAAA,MACnC,QAAQ,SAAS,UAAU;AAAA,MAC3B,OAAO,SAAS;AAAA,IAClB;AAAA,EACF;AAAA;AAMK,SAAS,eAAe,CAC7B,MACA,MACA,OACA,SACoB;AAAA,EACpB,OAAO;AAAA,IACL,MAAM;AAAA,IACN,WAAW;AAAA,IACX,QAAQ,SAAS;AAAA,IACjB,OAAO,SAAS;AAAA,IAChB,aAAa,SAAS;AAAA,IACtB,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA,OAAO,MAAM,IAAI,WAAS;AAAA,QACxB,KAAK,KAAK;AAAA,QACV,OAAO,KAAK,SAAS,KAAK;AAAA,QAC1B,OAAO,KAAK;AAAA,MACd,EAAE;AAAA,MACF,YAAY,SAAS,cAAc;AAAA,MACnC,UAAU,SAAS,YAAY;AAAA,MAC/B,QAAQ,SAAS;AAAA,MACjB,OAAO,SAAS;AAAA,IAClB;AAAA,EACF;AAAA;AAuBK,SAAS,cAAc,CAC5B,OACA,SACuB;AAAA,EACvB,OAAO;AAAA,IACL,MAAM;AAAA,IACN,QAAQ,SAAS;AAAA,IACjB,OAAO,SAAS;AAAA,IAChB,aAAa,SAAS;AAAA,IACtB,OAAO;AAAA,MACL;AAAA,MACA,SAAS,SAAS,WAAW,EAAE,SAAS,GAAG,IAAI,GAAG,IAAI,EAAE;AAAA,MACxD,SAAS,SAAS,WAAW;AAAA,IAC/B;AAAA,EACF;AAAA;AAMK,SAAS,UAAU,CACxB,IACA,OACA,aACA,SAKU;AAAA,EACV,OAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA,OAAO,SAAS;AAAA,IAChB,UAAU,SAAS;AAAA,IACnB,SAAS,SAAS;AAAA,EACpB;AAAA;AAsBK,SAAS,WAAW,CACzB,MACA,SACA,SACoB;AAAA,EACpB,OAAO;AAAA,IACL,MAAM;AAAA,IACN,QAAQ,SAAS;AAAA,IACjB,OAAO,SAAS;AAAA,IAChB,aAAa,SAAS;AAAA,IACtB,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA,UAAU,SAAS,YAAY;AAAA,MAC/B,YAAY,SAAS;AAAA,MACrB,YAAY,SAAS;AAAA,MACrB,SAAS,SAAS,WAAW;AAAA,IAC/B;AAAA,EACF;AAAA;AAMK,SAAS,YAAY,CAC1B,KACA,QACA,SAMa;AAAA,EACb,OAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,OAAO,SAAS;AAAA,IAChB,UAAU,SAAS;AAAA,IACnB,UAAU,SAAS,YAAY;AAAA,IAC/B,QAAQ,SAAS;AAAA,EACnB;AAAA;AAMK,SAAS,cAAc,CAC5B,SACA,SAMuB;AAAA,EACvB,OAAO;AAAA,IACL,MAAM;AAAA,IACN,QAAQ,SAAS;AAAA,IACjB,OAAO,SAAS;AAAA,IAChB,aAAa,SAAS;AAAA,IACtB,OAAO;AAAA,MACL;AAAA,MACA,iBAAiB,SAAS,mBAAmB;AAAA,IAC/C;AAAA,EACF;AAAA;AAMK,SAAS,cAAc,CAC5B,SACA,SAKuB;AAAA,EACvB,OAAO;AAAA,IACL,MAAM;AAAA,IACN,OAAO,SAAS;AAAA,IAChB,aAAa,SAAS;AAAA,IACtB,OAAO;AAAA,MACL;AAAA,MACA,SAAS,SAAS,WAAW;AAAA,IAC/B;AAAA,EACF;AAAA;AAMK,SAAS,gBAAgB,CAC9B,MACA,SAQoB;AAAA,EAEpB,IAAI,CAAC,QAAQ,KAAK,WAAW,GAAG;AAAA,IAC9B,OAAO,eAAe,CAAC,GAAG,IAAI,CAAC,GAAG,OAAO;AAAA,EAC3C;AAAA,EAGA,MAAM,YAAY,KAAK;AAAA,EACvB,MAAM,OAAO,OAAO,KAAK,SAAS;AAAA,EAGlC,MAAM,OACJ,SAAS,QACT,KAAK,KAAK,OACR,CAAC,QAAQ,SAAS,YAAY,QAAQ,QAAQ,SAAS,MAAM,EAAE,SAAS,EAAE,YAAY,CAAC,CACzF,KACA,KAAK;AAAA,EAGP,MAAM,cAAc,KAAK,OAAO,OAAK,MAAM,QAAQ,OAAO,UAAU,OAAO,QAAQ;AAAA,EACnF,MAAM,QAAQ,SAAS,SAAS;AAAA,EAGhC,IAAI,SAAS,eAAe;AAAA,IAC1B,QAAQ,QAAQ;AAAA,WACT;AAAA,QACH,OAAO,eACL,MACA,MACA,MAAM,IAAI,UAAQ,EAAE,IAAI,EAAE,GAC1B,OACF;AAAA,WACG;AAAA,QACH,OAAO,gBACL,MACA,MACA,MAAM,IAAI,UAAQ,EAAE,IAAI,EAAE,GAC1B,OACF;AAAA,WACG;AAAA,QACH,OAAO,gBACL,MACA,MACA,MAAM,IAAI,UAAQ,EAAE,IAAI,EAAE,GAC1B,OACF;AAAA,WACG;AAAA,QACH,OAAO,eAAe,MAAM,MAAM,IAAI,MAAM,OAAO;AAAA;AAAA,EAEzD;AAAA,EAIA,IAAI,MAAM,WAAW,KAAK,OAAO,UAAU,UAAU,UAAU;AAAA,IAC7D,OAAO,eAAe,MAAM,MAAM,IAAI,MAAM,OAAO;AAAA,EACrD;AAAA,EAGA,IACE,KAAK,YAAY,EAAE,SAAS,MAAM,KAClC,KAAK,YAAY,EAAE,SAAS,MAAM,KAClC,KAAK,YAAY,EAAE,SAAS,OAAO,KACnC,KAAK,YAAY,EAAE,SAAS,MAAM,GAClC;AAAA,IACA,OAAO,gBACL,MACA,MACA,MAAM,IAAI,UAAQ,EAAE,IAAI,EAAE,GAC1B,OACF;AAAA,EACF;AAAA,EAGA,OAAO,eACL,MACA,MACA,MAAM,IAAI,UAAQ,EAAE,IAAI,EAAE,GAC1B,OACF;AAAA;AAMK,SAAS,gBAAgB,CAAC,MAAW,IAAwC;AAAA,EAClF,OAAO,EAAE,MAAM,GAAG;AAAA;AAMb,SAAS,kBAAkB,CAChC,MACA,MACA,MACA,SACmB;AAAA,EACnB,OAAO,iBAAiB,MAAM,eAAe,MAAM,MAAM,MAAM,OAAO,CAAC;AAAA;AAMlE,SAAS,oBAAoB,CAClC,MACA,SACmB;AAAA,EACnB,OAAO,iBAAiB,MAAM,iBAAiB,MAAM,OAAO,CAAC;AAAA;AAMxD,SAAS,kBAAkB,CAChC,OACA,SACmB;AAAA,EACnB,OAAO,iBAAiB,OAAO,eAAe,OAAO,OAAO,CAAC;AAAA;AAMxD,SAAS,eAAe,CAC7B,MACA,SACA,SACmB;AAAA,EACnB,OAAO,iBAAiB,MAAM,YAAY,MAAM,SAAS,OAAO,CAAC;AAAA;;ACvdnE,qBAAS,wBAAU,2BAAW;AAQvB,SAAS,WAAW,GAAG;AAAA,EAC5B,MAAM,SAAS,cAAc;AAAA,EAC7B,OAAO,UAAU,eAAe,UAAwB,OAAO,YAAY,CAAC;AAAA,EAC5E,OAAO,OAAO,YAAY,UAAsB,OAAO,SAAS,CAAC;AAAA,EACjE,OAAO,OAAO,YAAY,UAA6B;AAAA,EAGvD,WAAU,MAAM;AAAA,IACd,MAAM,sBAAsB,CAAC,oBAAmC;AAAA,MAC9D,YAAY,eAAe;AAAA;AAAA,IAG7B,MAAM,wBAAwB,CAAC,oBAAmC;AAAA,MAChE,YAAY,eAAe;AAAA;AAAA,IAG7B,MAAM,yBAAyB,CAAC,oBAAmC;AAAA,MACjE,YAAY,eAAe;AAAA;AAAA,IAG7B,MAAM,qBAAqB,CAAC,iBAAyB;AAAA,MACnD,SAAS,YAAY;AAAA;AAAA,IAGvB,MAAM,oBAAoB,CAAC,aAA0B;AAAA,MACnD,SAAS,QAAQ;AAAA;AAAA,IAInB,MAAM,iBAAiB,CAAC,UAAe;AAAA,MACrC,QAAQ,UAAU;AAAA,MAGlB,WAAW,QAAQ,OAAO;AAAA,QACxB,IAAK,KAAa,cAAc;AAAA,UAC9B,OAAO,kBAAkB,KAAK,cAAe,KAAa,YAAY;AAAA,QACxE;AAAA,MACF;AAAA;AAAA,IAIF,MAAM,qBAAqB,MAAM;AAAA,IAKjC,OAAO,GAAG,kBAAkB,mBAAmB;AAAA,IAC/C,OAAO,GAAG,oBAAoB,qBAAqB;AAAA,IACnD,OAAO,GAAG,qBAAqB,sBAAsB;AAAA,IACrD,OAAO,GAAG,iBAAiB,kBAAkB;AAAA,IAC7C,OAAO,GAAG,gBAAgB,iBAAiB;AAAA,IAC3C,OAAO,GAAG,aAAa,cAAc;AAAA,IACrC,OAAO,GAAG,iBAAiB,kBAAkB;AAAA,IAG7C,YAAY,OAAO,YAAY,CAAC;AAAA,IAChC,SAAS,OAAO,SAAS,CAAC;AAAA,IAE1B,OAAO,MAAM;AAAA,MACX,OAAO,IAAI,kBAAkB,mBAAmB;AAAA,MAChD,OAAO,IAAI,oBAAoB,qBAAqB;AAAA,MACpD,OAAO,IAAI,qBAAqB,sBAAsB;AAAA,MACtD,OAAO,IAAI,iBAAiB,kBAAkB;AAAA,MAC9C,OAAO,IAAI,gBAAgB,iBAAiB;AAAA,MAC5C,OAAO,IAAI,aAAa,cAAc;AAAA,MACtC,OAAO,IAAI,iBAAiB,kBAAkB;AAAA;AAAA,KAE/C,CAAC,MAAM,CAAC;AAAA,EAKX,MAAM,cAAc,aAClB,OAAO,SAA4B,YAAoF;AAAA,IACrH,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,MAAM,OAAO,YAAY,SAAS,OAAO;AAAA,MACzC,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA;AAAA,KAGV,CAAC,MAAM,CACT;AAAA,EAKA,MAAM,gBAAgB,aAAY,MAAM;AAAA,IACtC,OAAO,cAAc;AAAA,IACrB,YAAY,CAAC,CAAC;AAAA,IACd,SAAS,SAAS;AAAA,KACjB,CAAC,MAAM,CAAC;AAAA,EAKX,MAAM,YAAY,aAAY,YAAY;AAAA,IACxC,IAAI;AAAA,MACF,MAAM,OAAO,UAAU;AAAA,MACvB,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA;AAAA,KAEP,CAAC,MAAM,CAAC;AAAA,EAEX,OAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,aAAa,MAAM;AAAA,IACnB,cAAc,MAAM;AAAA,IACpB,UAAU,MAAM;AAAA,IAChB,cAAc,MAAM;AAAA,IACpB,cAAc,MAAM;AAAA,IACpB;AAAA,IACA;AAAA,EACF;AAAA;;AChIF,qBAAS,wBAAU,2BAAW;AAgBvB,SAAS,cAAc,GAAG;AAAA,EAC/B,MAAM,SAAS,cAAc;AAAA,EAC7B,OAAO,UAAU,eAAe,UAAyB,CAAC,CAAC;AAAA,EAC3D,OAAO,kBAAkB,uBAAuB,UAC9C,OAAO,UAAU,EAAE,SACrB;AAAA,EACA,OAAO,WAAW,gBAAgB,UAAS,KAAK;AAAA,EAChD,OAAO,OAAO,YAAY,UAA6B;AAAA,EAGvD,WAAU,MAAM;AAAA,IACd,MAAM,sBAAsB,CAAC,cAAsB;AAAA,MACjD,oBAAoB,SAAS;AAAA;AAAA,IAG/B,MAAM,uBAAuB,CAAC,YAA0B;AAAA,MACtD,YAAY,CAAC,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC;AAAA,MACxC,oBAAoB,QAAQ,UAAU;AAAA;AAAA,IAGxC,MAAM,oBAAoB,MAAM;AAAA,MAC9B,MAAM,SAAS,OAAO,UAAU;AAAA,MAChC,oBAAoB,OAAO,SAAS;AAAA,MACpC,YAAY,OAAO,SAAS,EAAE,QAAQ;AAAA;AAAA,IAGxC,OAAO,GAAG,kBAAkB,mBAAmB;AAAA,IAC/C,OAAO,GAAG,mBAAmB,oBAAoB;AAAA,IACjD,OAAO,GAAG,gBAAgB,iBAAiB;AAAA,IAG3C,YAAY,OAAO,SAAS,EAAE,QAAQ;AAAA,IACtC,oBAAoB,OAAO,UAAU,EAAE,SAAS;AAAA,IAEhD,OAAO,MAAM;AAAA,MACX,OAAO,IAAI,kBAAkB,mBAAmB;AAAA,MAChD,OAAO,IAAI,mBAAmB,oBAAoB;AAAA,MAClD,OAAO,IAAI,gBAAgB,iBAAiB;AAAA;AAAA,KAE7C,CAAC,MAAM,CAAC;AAAA,EAKX,MAAM,cAAc,aAClB,OAAO,WAAmB,YAA0E;AAAA,IAClG,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,MAAM,WAAW,MAAM,OAAO,YAAY,WAAW,OAAO;AAAA,MAC5D,oBAAoB,SAAS;AAAA,MAC7B,OAAO;AAAA,MACP,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAKA,MAAM,gBAAgB,aAAY,OAAO,YAA2E;AAAA,IAClH,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,MAAM,kBAAkB,MAAM,OAAO,cAAc,OAAO;AAAA,MAC1D,YAAY,eAAe;AAAA,MAC3B,OAAO;AAAA,MACP,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAEnB,CAAC,MAAM,CAAC;AAAA,EAKX,MAAM,iBAAiB,aACrB,OACE,WACA,YACgE;AAAA,IAChE,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,OAAO,MAAM,OAAO,eAAe,WAAW,OAAO;AAAA,MACrD,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAKA,MAAM,aAAa,aACjB,OACE,WACA,OACA,YACuC;AAAA,IACvC,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,OAAO,MAAM,OAAO,WAAW,WAAW,OAAO,OAAO;AAAA,MACxD,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAKA,MAAM,gBAAgB,aACpB,OACE,SACA,YACgE;AAAA,IAChE,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,MAAM,UAAU,MAAM,OAAO,cAAc,SAAS,OAAO;AAAA,MAC3D,OAAO;AAAA,MACP,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAKA,MAAM,gBAAgB,aACpB,OACE,WACA,SACA,YACgE;AAAA,IAChE,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,OAAO,MAAM,OAAO,cAAc,WAAW,SAAS,OAAO;AAAA,MAC7D,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAKA,MAAM,gBAAgB,aACpB,OACE,WACA,SACA,YACgE;AAAA,IAChE,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,OAAO,MAAM,OAAO,cAAc,WAAW,SAAS,OAAO;AAAA,MAC7D,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAKA,MAAM,gBAAgB,aACpB,OACE,WACA,YACkB;AAAA,IAClB,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,MAAM,OAAO,cAAc,WAAW,OAAO;AAAA,MAC7C,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAKA,MAAM,yBAAyB,aAC7B,OACE,YACA,YACkB;AAAA,IAClB,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,MAAM,OAAO,uBAAuB,YAAY,OAAO;AAAA,MACvD,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAEA,OAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA;;ACrRF,qBAAS,0BAAU;AAOZ,SAAS,cAAc,GAAG;AAAA,EAC/B,MAAM,SAAS,cAAc;AAAA,EAC7B,OAAO,gBAAgB,qBAAqB,UAAS,KAAK;AAAA,EAC1D,OAAO,OAAO,YAAY,UAA6B;AAAA,EAKvD,MAAM,aAAa,aAAY,OAAO,YAGhC;AAAA,IACJ,kBAAkB,IAAI;AAAA,IACtB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,MAAM,SAAS,MAAM,OAAO,WAAW,OAAO;AAAA,MAC9C,OAAO;AAAA,MACP,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,kBAAkB,KAAK;AAAA;AAAA,KAExB,CAAC,MAAM,CAAC;AAAA,EAKX,MAAM,cAAc,aAAY,OAAO,YAAoE;AAAA,IACzG,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,OAAO,MAAM,OAAO,YAAY,OAAO;AAAA,MACvC,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,OAAO;AAAA;AAAA,KAER,CAAC,MAAM,CAAC;AAAA,EAKX,MAAM,cAAc,aAAY,OAAO,YAA2E;AAAA,IAChH,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,OAAO,MAAM,OAAO,YAAY,OAAO;AAAA,MACvC,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA;AAAA,KAEP,CAAC,MAAM,CAAC;AAAA,EAKX,MAAM,aAAa,aAAY,OAAO,YAA0E;AAAA,IAC9G,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,OAAO,MAAM,OAAO,WAAW,OAAO;AAAA,MACtC,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA;AAAA,KAEP,CAAC,MAAM,CAAC;AAAA,EAKX,MAAM,eAAe,aACnB,CAAC,YAAgE;AAAA,IAC/D,OAAO,aAAa,OAAO;AAAA,KAE7B,CAAC,MAAM,CACT;AAAA,EAEA,OAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA;;AC7FF,qBAAS,wBAAU,2BAAW;AAoCvB,SAAS,mBAAmB,CACjC,SAIA;AAAA,EACA,MAAM,SAAS,cAAc;AAAA,EAC7B,OAAO,QAAQ,aAAa,UAA4B,CAAC,CAAC;AAAA,EAG1D,MAAM,aAAa,OAAO,OAAO;AAAA,EACjC,WAAW,UAAU;AAAA,EAErB,WAAU,MAAM;AAAA,IACd,MAAM,oBAAoB,CAAC,UAA2B;AAAA,MACpD,UAAU,CAAC,SAAS,CAAC,GAAG,MAAM,KAAK,CAAC;AAAA,MACpC,WAAW,UAAU,KAAK;AAAA;AAAA,IAG5B,OAAO,GAAG,gBAAgB,iBAAiB;AAAA,IAE3C,OAAO,MAAM;AAAA,MACX,OAAO,IAAI,gBAAgB,iBAAiB;AAAA;AAAA,KAE7C,CAAC,MAAM,CAAC;AAAA,EAEX,MAAM,cAAc,aAAY,MAAM;AAAA,IACpC,UAAU,CAAC,CAAC;AAAA,KACX,CAAC,CAAC;AAAA,EAEL,OAAO,EAAE,QAAQ,YAAY;AAAA;;AClE/B,qBAAS,wBAAU,2BAAW;AAevB,SAAS,aAAa,GAAG;AAAA,EAC9B,MAAM,SAAS,cAAc;AAAA,EAC7B,OAAO,UAAU,eAAe,UAAuB,CAAC,CAAC;AAAA,EACzD,OAAO,QAAQ,aAAa,UAAmB,CAAC,CAAC;AAAA,EACjD,OAAO,WAAW,gBAAgB,UAAS,KAAK;AAAA,EAChD,OAAO,OAAO,YAAY,UAA6B;AAAA,EAGvD,WAAU,MAAM;AAAA,IACd,MAAM,sBAAsB,CAAC,WAAuB;AAAA,MAClD,YAAY,CAAC,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC;AAAA;AAAA,IAGzC,MAAM,sBAAsB,CAAC,WAAuB;AAAA,MAClD,YAAY,CAAC,SACX,KAAK,IAAI,CAAC,MAAO,EAAE,cAAc,OAAO,YAAY,SAAS,CAAE,CACjE;AAAA;AAAA,IAGF,MAAM,sBAAsB,GAAG,eAAqC;AAAA,MAClE,YAAY,CAAC,SAAS,KAAK,OAAO,CAAC,MAAM,EAAE,cAAc,QAAQ,CAAC;AAAA;AAAA,IAGpE,MAAM,wBAAwB,GAAG,gBAAyC;AAAA,MACxE,MAAM,aAAa,IAAI,IAAI,SAAS;AAAA,MACpC,YAAY,CAAC,SAAS,KAAK,OAAO,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,SAAS,CAAC,CAAC;AAAA;AAAA,IAGxE,MAAM,oBAAoB,MAAM;AAAA,MAC9B,MAAM,SAAQ,OAAO,SAAS;AAAA,MAC9B,YAAY,OAAM,QAAQ;AAAA,MAC1B,UAAU,OAAM,YAAY;AAAA;AAAA,IAG9B,OAAO,GAAG,kBAAkB,mBAAmB;AAAA,IAC/C,OAAO,GAAG,kBAAkB,mBAAmB;AAAA,IAC/C,OAAO,GAAG,kBAAkB,mBAAmB;AAAA,IAC/C,OAAO,GAAG,oBAAoB,qBAAqB;AAAA,IACnD,OAAO,GAAG,gBAAgB,iBAAiB;AAAA,IAG3C,MAAM,QAAQ,OAAO,SAAS;AAAA,IAC9B,YAAY,MAAM,QAAQ;AAAA,IAC1B,UAAU,MAAM,YAAY;AAAA,IAE5B,OAAO,MAAM;AAAA,MACX,OAAO,IAAI,kBAAkB,mBAAmB;AAAA,MAChD,OAAO,IAAI,kBAAkB,mBAAmB;AAAA,MAChD,OAAO,IAAI,kBAAkB,mBAAmB;AAAA,MAChD,OAAO,IAAI,oBAAoB,qBAAqB;AAAA,MACpD,OAAO,IAAI,gBAAgB,iBAAiB;AAAA;AAAA,KAE7C,CAAC,MAAM,CAAC;AAAA,EAKX,MAAM,gBAAgB,aACpB,OACE,aACA,YACkC;AAAA,IAClC,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,MAAM,WAAW,MAAM,OAAO,cAAc,aAAa,OAAO;AAAA,MAChE,YAAY,SAAS,IAAI;AAAA,MACzB,OAAO;AAAA,MACP,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAKA,MAAM,gBAAgB,aACpB,OACE,UACA,YACwB;AAAA,IACxB,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,OAAO,MAAM,OAAO,cAAc,UAAU,OAAO;AAAA,MACnD,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAKA,MAAM,kBAAkB,aACtB,OACE,YACsB;AAAA,IACtB,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,MAAM,SAAS,MAAM,OAAO,gBAAgB,OAAO;AAAA,MACnD,UAAU,MAAM;AAAA,MAChB,OAAO;AAAA,MACP,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAKA,MAAM,qBAAqB,aACzB,OACE,aACA,YACqC;AAAA,IACrC,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,OAAO,MAAM,OAAO,mBAAmB,aAAa,OAAO;AAAA,MAC3D,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAKA,MAAM,eAAe,aACnB,OACE,SACA,YACwB;AAAA,IACxB,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,OAAO,MAAM,OAAO,aAAa,SAAS,OAAO;AAAA,MACjD,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAKA,MAAM,eAAe,aACnB,OACE,UACA,SACA,YACwB;AAAA,IACxB,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,OAAO,MAAM,OAAO,aAAa,UAAU,SAAS,OAAO;AAAA,MAC3D,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAKA,MAAM,eAAe,aACnB,OACE,UACA,YACkB;AAAA,IAClB,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,MAAM,OAAO,aAAa,UAAU,OAAO;AAAA,MAC3C,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAKA,MAAM,yBAAyB,aAC7B,OACE,WACA,YACkB;AAAA,IAClB,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,MAAM,OAAO,uBAAuB,WAAW,OAAO;AAAA,MACtD,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAEA,OAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA;;AC9QF,qBAAS,0BAAU;AAgBZ,SAAS,gBAAgB,GAAG;AAAA,EACjC,MAAM,SAAS,cAAc;AAAA,EAC7B,OAAO,WAAW,gBAAgB,UAAS,KAAK;AAAA,EAChD,OAAO,OAAO,YAAY,UAA6B;AAAA,EACvD,OAAO,QAAQ,aAAa,UAA8C;AAAA,EAC1E,OAAO,SAAS,cAAc,UAA4B,CAAC,CAAC;AAAA,EAK5D,MAAM,YAAY,aAChB,OACE,YACqC;AAAA,IACrC,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,MAAM,SAAS,MAAM,OAAO,mBAAmB,OAAO;AAAA,MACtD,UAAU,MAAM;AAAA,MAChB,OAAO;AAAA,MACP,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAKA,MAAM,cAAc,aAClB,OACE,aACA,YACiC;AAAA,IACjC,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,MAAM,SAAS,MAAM,OAAO,qBAAqB,aAAa,OAAO;AAAA,MACrE,WAAW,OAAO,IAAI;AAAA,MACtB,OAAO;AAAA,MACP,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAKA,MAAM,aAAa,aACjB,OACE,WACA,YAC6B;AAAA,IAC7B,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,OAAO,MAAM,OAAO,oBAAoB,WAAW,OAAO;AAAA,MAC1D,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAKA,MAAM,mBAAmB,aACvB,OACE,WACA,YACmC;AAAA,IACnC,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,OAAO,MAAM,OAAO,0BAA0B,WAAW,OAAO;AAAA,MAChE,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAKA,MAAM,SAAS,aACb,OACE,SACA,YACkC;AAAA,IAClC,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,OAAO,MAAM,OAAO,gBAAgB,SAAS,OAAO;AAAA,MACpD,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAKA,MAAM,gBAAgB,aACpB,OACE,MAcA,YAC6B;AAAA,IAC7B,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,MAAM,SAAS,MAAM,OAAO,uBAAuB,MAAM,OAAO;AAAA,MAEhE,WAAW,CAAC,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC;AAAA,MACtC,OAAO;AAAA,MACP,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAKA,MAAM,gBAAgB,aACpB,OACE,WACA,SACA,YAC6B;AAAA,IAC7B,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,MAAM,SAAS,MAAM,OAAO,uBAC1B,WACA,SACA,OACF;AAAA,MAEA,WAAW,CAAC,SAAS,KAAK,IAAI,CAAC,MAAO,EAAE,OAAO,YAAY,SAAS,CAAE,CAAC;AAAA,MACvE,OAAO;AAAA,MACP,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAKA,MAAM,mBAAmB,aACvB,OACE,YACkB;AAAA,IAClB,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,MAAM,OAAO,0BAA0B,OAAO;AAAA,MAC9C,WAAW,CAAC,CAAC;AAAA,MACb,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAKA,MAAM,gBAAgB,aACpB,OACE,WACA,YAC6B;AAAA,IAC7B,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,MAAM,SAAS,MAAM,OAAO,uBAAuB,WAAW,OAAO;AAAA,MAErE,WAAW,CAAC,SAAS,KAAK,OAAO,CAAC,MAAM,EAAE,OAAO,SAAS,CAAC;AAAA,MAC3D,OAAO;AAAA,MACP,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAEA,OAAO;AAAA,IAEL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA;;ACpRF,qBAAS,0BAAU;AAiDZ,SAAS,cAAc,GAAG;AAAA,EAC/B,MAAM,SAAS,cAAc;AAAA,EAC7B,OAAO,WAAW,gBAAgB,UAAS,KAAK;AAAA,EAChD,OAAO,cAAc,mBAAmB,UAAS,KAAK;AAAA,EACtD,OAAO,OAAO,YAAY,UAA6B;AAAA,EACvD,OAAO,SAAS,cAAc,UAAsC;AAAA,EAQpE,MAAM,eAAe,aACnB,OAAO,YAAuD;AAAA,IAC5D,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,MAAM,SAAS,MAAM,OAAO,aAAa,OAAO;AAAA,MAChD,WAAW,MAAM;AAAA,MACjB,OAAO;AAAA,MACP,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAQA,MAAM,iBAAiB,aACrB,OAAO,YAAqE;AAAA,IAC1E,gBAAgB,IAAI;AAAA,IACpB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,MAAM,SAAS,MAAM,OAAO,eAAe,OAAO;AAAA,MAClD,OAAO;AAAA,MACP,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,gBAAgB,KAAK;AAAA;AAAA,KAGzB,CAAC,MAAM,CACT;AAAA,EAKA,MAAM,eAAe,aAAY,MAAM;AAAA,IACrC,WAAW,SAAS;AAAA,IACpB,SAAS,SAAS;AAAA,KACjB,CAAC,CAAC;AAAA,EAEL,OAAO;AAAA,IAEL;AAAA,IAGA;AAAA,IACA;AAAA,IACA;AAAA,IAGA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA;;AC9HF,qBAAS,2BAAU;AAaZ,SAAS,YAAY,GAAG;AAAA,EAC7B,MAAM,SAAS,cAAc;AAAA,EAC7B,OAAO,UAAU,eAAe,WAAuB,CAAC,CAAC;AAAA,EACzD,OAAO,YAAY,iBAAiB,WAAmD;AAAA,EACvF,OAAO,WAAW,gBAAgB,WAAS,KAAK;AAAA,EAChD,OAAO,OAAO,YAAY,WAA6B;AAAA,EAKvD,MAAM,eAAe,cACnB,OACE,aAAiC,CAAC,GAClC,YACkC;AAAA,IAClC,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,MAAM,WAAW,MAAM,OAAO,aAAa,YAAY,OAAO;AAAA,MAC9D,YAAY,SAAS,IAAI;AAAA,MACzB,cAAc,SAAS,IAAI;AAAA,MAC3B,OAAO;AAAA,MACP,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAKA,MAAM,aAAa,cACjB,OACE,WACA,YACwB;AAAA,IACxB,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,OAAO,MAAM,OAAO,WAAW,WAAW,OAAO;AAAA,MACjD,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAKA,MAAM,cAAc,cAClB,OACE,SACA,YACwB;AAAA,IACxB,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,MAAM,SAAS,MAAM,OAAO,YAAY,SAAS,OAAO;AAAA,MAExD,YAAY,CAAC,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC;AAAA,MACvC,OAAO;AAAA,MACP,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAKA,MAAM,gBAAgB,cACpB,OACE,WACA,SACA,YACwB;AAAA,IACxB,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,MAAM,SAAS,MAAM,OAAO,cAAc,WAAW,SAAS,OAAO;AAAA,MAErE,YAAY,CAAC,SACX,KAAK,IAAI,CAAC,YAAa,QAAQ,OAAO,YAAY,SAAS,OAAQ,CACrE;AAAA,MACA,OAAO;AAAA,MACP,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAKA,MAAM,iBAAiB,cACrB,OACE,YACA,YACkB;AAAA,IAClB,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,MAAM,OAAO,eAAe,YAAY,OAAO;AAAA,MAE/C,MAAM,aAAa,IAAI,IAAI,UAAU;AAAA,MACrC,YAAY,CAAC,SAAS,KAAK,OAAO,CAAC,YAAY,CAAC,WAAW,IAAI,QAAQ,EAAE,CAAC,CAAC;AAAA,MAC3E,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAKA,MAAM,gBAAgB,cACpB,OACE,WACA,SACA,YACwB;AAAA,IACxB,OAAO,cAAc,WAAW,EAAE,MAAM,QAAQ,GAAG,OAAO;AAAA,KAE5D,CAAC,aAAa,CAChB;AAAA,EAEA,OAAO;AAAA,IAEL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IAGA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA;;AClLF,qBAAS,yBAAU,2BAAW;AAyCvB,SAAS,aAAa,GAAG;AAAA,EAC9B,MAAM,SAAS,cAAc;AAAA,EAC7B,OAAO,QAAQ,aAAa,WAAyB,CAAC,CAAC;AAAA,EACvD,OAAO,mBAAmB,wBAAwB,WAA8B,CAAC,CAAC;AAAA,EAClF,OAAO,WAAW,gBAAgB,WAAS,KAAK;AAAA,EAChD,OAAO,OAAO,YAAY,WAA6B;AAAA,EAGvD,WAAU,MAAM;AAAA,IACd,MAAM,oBAAoB,MAAM;AAAA,MAC9B,MAAM,SAAQ,OAAO,SAAS;AAAA,MAC9B,UAAU,OAAM,MAAM;AAAA,MACtB,qBAAqB,OAAM,iBAAiB;AAAA;AAAA,IAG9C,OAAO,GAAG,gBAAgB,iBAAiB;AAAA,IAG3C,MAAM,QAAQ,OAAO,SAAS;AAAA,IAC9B,UAAU,MAAM,MAAM;AAAA,IACtB,qBAAqB,MAAM,iBAAiB;AAAA,IAE5C,OAAO,MAAM;AAAA,MACX,OAAO,IAAI,gBAAgB,iBAAiB;AAAA;AAAA,KAE7C,CAAC,MAAM,CAAC;AAAA,EASX,MAAM,cAAc,cAClB,OACE,UAA6B,CAAC,GAC9B,mBACmC;AAAA,IACnC,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,MAAM,SAAS,MAAM,OAAO,YAAY,SAAS,cAAc;AAAA,MAC/D,UAAU,OAAO,MAAM;AAAA,MACvB,OAAO;AAAA,MACP,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAUA,MAAM,iBAAiB,cACrB,OACE,SACA,UAA2B,CAAC,GAC5B,mBACqC;AAAA,IACrC,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,OAAO,MAAM,OAAO,eAAe,SAAS,SAAS,cAAc;AAAA,MACnE,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EASA,MAAM,yBAAyB,cAC7B,OACE,UAAuC,CAAC,GACxC,mBAC8C;AAAA,IAC9C,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,MAAM,SAAS,MAAM,OAAO,uBAAuB,SAAS,cAAc;AAAA,MAC1E,qBAAqB,OAAO,KAAK;AAAA,MACjC,OAAO;AAAA,MACP,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAEA,OAAO;AAAA,IAEL;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,EACF;AAAA;",
22
- "debugId": "1246E6D11194364664756E2164756E21",
21
+ "mappings": "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",
22
+ "debugId": "414F45CD3B3482F064756E2164756E21",
23
23
  "names": []
24
24
  }
@@ -1,6 +1,5 @@
1
1
  import type { PromptInputDropZoneProps } from '../components/prompt-input/drop-zone';
2
- import type { AudioRecorderLabels } from '../components/audio-recorder';
3
- import type { ChatStatus, FileUploadConfig } from '../types';
2
+ import type { AudioConfig, ChatStatus, FileUploadConfig } from '../types';
4
3
  import type { ReactNode, RefObject } from 'react';
5
4
  export interface AgnoChatInputProps {
6
5
  onSend: (message: string | FormData) => void;
@@ -9,8 +8,15 @@ export interface AgnoChatInputProps {
9
8
  className?: string;
10
9
  /** File upload configuration */
11
10
  fileUpload?: FileUploadConfig;
12
- /** Show audio recorder button (default: false) */
13
- showAudioRecorder?: boolean;
11
+ /**
12
+ * Audio recording/transcription configuration.
13
+ * Pass `true` for send-mode defaults, or an `AudioConfig` object.
14
+ *
15
+ * @example
16
+ * audio={true}
17
+ * audio={{ enabled: true, mode: 'transcribe', endpoint: 'http://...' }}
18
+ */
19
+ audio?: AudioConfig | boolean;
14
20
  /** Show attachments button (default: true) */
15
21
  showAttachments?: boolean;
16
22
  /** Override chat status for submit button icon */
@@ -23,22 +29,10 @@ export interface AgnoChatInputProps {
23
29
  allowCancelRun?: boolean;
24
30
  /** Extra tools to add to the toolbar */
25
31
  extraTools?: ReactNode;
26
- /** Audio mode: 'send' sends blob immediately, 'transcribe' transcribes and adds text to input */
27
- audioMode?: 'send' | 'transcribe';
28
- /** Transcription endpoint URL (required when audioMode='transcribe') */
29
- transcriptionEndpoint?: string;
30
- /** Extra headers for transcription request */
31
- transcriptionHeaders?: Record<string, string>;
32
- /** Custom parser for the transcription response — receives the parsed JSON and returns the text */
33
- parseTranscriptionResponse?: (data: unknown) => string;
34
- /** Async callback to request microphone permission before recording (e.g., for WebView bridges) */
35
- onRequestPermission?: () => Promise<boolean>;
36
- /** Custom labels for the audio recorder button (useful for i18n) */
37
- audioRecorderLabels?: AudioRecorderLabels;
38
32
  /** Ref to a container element for rendering the drop zone overlay via portal */
39
33
  dropZoneContainerRef?: RefObject<HTMLElement | null>;
40
34
  /** Props forwarded to PromptInputDropZone (className, label) */
41
35
  dropZoneProps?: Partial<Pick<PromptInputDropZoneProps, 'label' | 'className'>>;
42
36
  }
43
- export declare function AgnoChatInput({ onSend, disabled, placeholder, className, fileUpload, showAudioRecorder, showAttachments, status, isStreaming, onCancel, allowCancelRun, extraTools, audioMode, transcriptionEndpoint, transcriptionHeaders, parseTranscriptionResponse, onRequestPermission, audioRecorderLabels, dropZoneContainerRef, dropZoneProps, }: AgnoChatInputProps): import("react/jsx-runtime").JSX.Element;
37
+ export declare function AgnoChatInput({ onSend, disabled, placeholder, className, fileUpload, audio, showAttachments, status, isStreaming, onCancel, allowCancelRun, extraTools, dropZoneContainerRef, dropZoneProps, }: AgnoChatInputProps): import("react/jsx-runtime").JSX.Element;
44
38
  //# sourceMappingURL=AgnoChatInput.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AgnoChatInput.d.ts","sourceRoot":"","sources":["../../../src/ui/composed/AgnoChatInput.tsx"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAErF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAIxE,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAKlD,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,KAAK,IAAI,CAAC;IAC7C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gCAAgC;IAChC,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,kDAAkD;IAClD,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,8CAA8C;IAC9C,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kDAAkD;IAClD,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,2CAA2C;IAC3C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,wDAAwD;IACxD,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,+EAA+E;IAC/E,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,wCAAwC;IACxC,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,iGAAiG;IACjG,SAAS,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC;IAClC,wEAAwE;IACxE,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,8CAA8C;IAC9C,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9C,mGAAmG;IACnG,0BAA0B,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,MAAM,CAAC;IACvD,mGAAmG;IACnG,mBAAmB,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7C,oEAAoE;IACpE,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,gFAAgF;IAChF,oBAAoB,CAAC,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IACrD,gEAAgE;IAChE,aAAa,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,wBAAwB,EAAE,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC;CAChF;AAoFD,wBAAgB,aAAa,CAAC,EAC5B,MAAM,EACN,QAAQ,EACR,WAAW,EACX,SAAS,EACT,UAAU,EACV,iBAAyB,EACzB,eAAsB,EACtB,MAAM,EACN,WAAW,EACX,QAAQ,EACR,cAAsB,EACtB,UAAU,EACV,SAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,0BAA0B,EAC1B,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,aAAa,GACd,EAAE,kBAAkB,2CA0FpB"}
1
+ {"version":3,"file":"AgnoChatInput.d.ts","sourceRoot":"","sources":["../../../src/ui/composed/AgnoChatInput.tsx"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAMrF,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC1E,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAYlD,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,KAAK,IAAI,CAAC;IAC7C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gCAAgC;IAChC,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC;IAC9B,8CAA8C;IAC9C,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kDAAkD;IAClD,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,2CAA2C;IAC3C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,wDAAwD;IACxD,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,+EAA+E;IAC/E,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,wCAAwC;IACxC,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,gFAAgF;IAChF,oBAAoB,CAAC,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IACrD,gEAAgE;IAChE,aAAa,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,wBAAwB,EAAE,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC;CAChF;AAoFD,wBAAgB,aAAa,CAAC,EAC5B,MAAM,EACN,QAAQ,EACR,WAAW,EACX,SAAS,EACT,UAAU,EACV,KAAK,EACL,eAAsB,EACtB,MAAM,EACN,WAAW,EACX,QAAQ,EACR,cAAsB,EACtB,UAAU,EACV,oBAAoB,EACpB,aAAa,GACd,EAAE,kBAAkB,2CAmGpB"}
@@ -1,22 +1,22 @@
1
1
  import type { ChatMessage } from '@rodrigocoliveira/agno-types';
2
- import type { AgnoMessageItemClassNames } from '../types';
2
+ import type { AgnoMessageClassNames, AgnoMessageAvatars, AgnoMessageActions } from '../types';
3
3
  import type { ReactNode } from 'react';
4
4
  export interface AgnoMessageItemProps {
5
5
  message: ChatMessage;
6
6
  className?: string;
7
- classNames?: AgnoMessageItemClassNames;
7
+ classNames?: AgnoMessageClassNames;
8
8
  /** Custom render for the entire message content area */
9
9
  renderContent?: (message: ChatMessage) => ReactNode;
10
10
  /** Custom render for individual tool calls */
11
11
  renderToolCall?: (tool: NonNullable<ChatMessage['tool_calls']>[0], index: number) => ReactNode;
12
12
  /** Custom render for media sections */
13
13
  renderMedia?: (message: ChatMessage) => ReactNode;
14
- /** Render action buttons below assistant messages (e.g., copy, like, dislike) */
15
- renderActions?: (message: ChatMessage) => ReactNode;
16
- /** Custom user avatar */
17
- userAvatar?: ReactNode;
18
- /** Custom assistant avatar */
19
- assistantAvatar?: ReactNode;
14
+ /** Grouped avatar configuration */
15
+ avatars?: AgnoMessageAvatars;
16
+ /** Grouped action buttons configuration with visibility control */
17
+ actions?: AgnoMessageActions;
18
+ /** Whether this is the last assistant message in the conversation (used for visibility logic) */
19
+ isLastAssistantMessage?: boolean;
20
20
  /** Show reasoning steps (default: true) */
21
21
  showReasoning?: boolean;
22
22
  /** Show references (default: true) */
@@ -34,5 +34,5 @@ export interface AgnoMessageItemProps {
34
34
  /** Custom timestamp formatter */
35
35
  formatTimestamp?: (date: Date) => string;
36
36
  }
37
- export declare function AgnoMessageItem({ message, className, classNames, renderContent, renderToolCall, renderMedia, renderActions, userAvatar, assistantAvatar, showReasoning, showReferences, showTimestamp, showGenerativeUI, showToolCalls, showFilePreview, showImageLightbox, formatTimestamp, }: AgnoMessageItemProps): import("react/jsx-runtime").JSX.Element;
37
+ export declare function AgnoMessageItem({ message, className, classNames, renderContent, renderToolCall, renderMedia, avatars, actions, isLastAssistantMessage, showReasoning, showReferences, showTimestamp, showGenerativeUI, showToolCalls, showFilePreview, showImageLightbox, formatTimestamp, }: AgnoMessageItemProps): import("react/jsx-runtime").JSX.Element;
38
38
  //# sourceMappingURL=AgnoMessageItem.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AgnoMessageItem.d.ts","sourceRoot":"","sources":["../../../src/ui/composed/AgnoMessageItem.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAY,MAAM,8BAA8B,CAAC;AAe1E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAYvC,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,WAAW,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,yBAAyB,CAAC;IACvC,wDAAwD;IACxD,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,SAAS,CAAC;IACpD,8CAA8C;IAC9C,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,SAAS,CAAC;IAC/F,uCAAuC;IACvC,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,SAAS,CAAC;IAClD,iFAAiF;IACjF,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,SAAS,CAAC;IACpD,yBAAyB;IACzB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,8BAA8B;IAC9B,eAAe,CAAC,EAAE,SAAS,CAAC;IAC5B,2CAA2C;IAC3C,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,sCAAsC;IACtC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,qCAAqC;IACrC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,iDAAiD;IACjD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,6CAA6C;IAC7C,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,yEAAyE;IACzE,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,qDAAqD;IACrD,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iCAAiC;IACjC,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC;CAC1C;AAaD,wBAAgB,eAAe,CAAC,EAC9B,OAAO,EACP,SAAS,EACT,UAAU,EACV,aAAa,EACb,cAAc,EACd,WAAW,EACX,aAAa,EACb,UAAU,EACV,eAAe,EACf,aAAoB,EACpB,cAAqB,EACrB,aAAoB,EACpB,gBAAuB,EACvB,aAAoB,EACpB,eAAsB,EACtB,iBAAwB,EACxB,eAAe,GAChB,EAAE,oBAAoB,2CAodtB"}
1
+ {"version":3,"file":"AgnoMessageItem.d.ts","sourceRoot":"","sources":["../../../src/ui/composed/AgnoMessageItem.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAY,MAAM,8BAA8B,CAAC;AAe1E,OAAO,KAAK,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAYvC,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,WAAW,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,qBAAqB,CAAC;IACnC,wDAAwD;IACxD,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,SAAS,CAAC;IACpD,8CAA8C;IAC9C,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,SAAS,CAAC;IAC/F,uCAAuC;IACvC,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,SAAS,CAAC;IAClD,mCAAmC;IACnC,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,mEAAmE;IACnE,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,iGAAiG;IACjG,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,2CAA2C;IAC3C,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,sCAAsC;IACtC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,qCAAqC;IACrC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,iDAAiD;IACjD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,6CAA6C;IAC7C,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,yEAAyE;IACzE,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,qDAAqD;IACrD,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iCAAiC;IACjC,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC;CAC1C;AAaD,wBAAgB,eAAe,CAAC,EAC9B,OAAO,EACP,SAAS,EACT,UAAU,EACV,aAAa,EACb,cAAc,EACd,WAAW,EACX,OAAO,EACP,OAAO,EACP,sBAA8B,EAC9B,aAAoB,EACpB,cAAqB,EACrB,aAAoB,EACpB,gBAAuB,EACvB,aAAoB,EACpB,eAAsB,EACtB,iBAAwB,EACxB,eAAe,GAChB,EAAE,oBAAoB,2CAyetB"}
@@ -1,5 +1,16 @@
1
+ import type { ReactNode } from 'react';
1
2
  export interface AgnoChatErrorBarProps {
2
3
  className?: string;
4
+ /** Override the displayed error message with a user-friendly string */
5
+ text?: string;
6
+ /** Icon element rendered before the message */
7
+ icon?: ReactNode;
8
+ /** Show a dismiss button to manually close the bar */
9
+ dismissible?: boolean;
10
+ /** Auto-hide timeout in ms (default 10000). Set 0 to disable auto-hide. */
11
+ timeout?: number;
12
+ /** Fully custom content — when provided, replaces the default icon + text layout */
13
+ children?: ReactNode | ((error: string) => ReactNode);
3
14
  }
4
- export declare function AgnoChatErrorBar({ className }: AgnoChatErrorBarProps): import("react/jsx-runtime").JSX.Element | null;
15
+ export declare function AgnoChatErrorBar({ className, text, icon, dismissible, timeout, children, }: AgnoChatErrorBarProps): import("react/jsx-runtime").JSX.Element | null;
5
16
  //# sourceMappingURL=error-bar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"error-bar.d.ts","sourceRoot":"","sources":["../../../../src/ui/composed/agno-chat/error-bar.tsx"],"names":[],"mappings":"AAGA,MAAM,WAAW,qBAAqB;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,gBAAgB,CAAC,EAAE,SAAS,EAAE,EAAE,qBAAqB,kDAWpE"}
1
+ {"version":3,"file":"error-bar.d.ts","sourceRoot":"","sources":["../../../../src/ui/composed/agno-chat/error-bar.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,MAAM,WAAW,qBAAqB;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uEAAuE;IACvE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+CAA+C;IAC/C,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,sDAAsD;IACtD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,2EAA2E;IAC3E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oFAAoF;IACpF,QAAQ,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC;CACvD;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,SAAS,EACT,IAAI,EACJ,IAAI,EACJ,WAAmB,EACnB,OAAe,EACf,QAAQ,GACT,EAAE,qBAAqB,kDAmFvB"}
@@ -1,8 +1,6 @@
1
1
  import type { ReactNode } from 'react';
2
- import type { AgnoChatInputProps } from '../AgnoChatInput';
3
2
  import type { PromptInputDropZoneProps } from '../../components/prompt-input/drop-zone';
4
- import type { FileUploadConfig } from '../../types';
5
- import type { AudioRecorderLabels } from '../../components/audio-recorder';
3
+ import type { AudioConfig, FileUploadConfig } from '../../types';
6
4
  export interface AgnoChatInputRenderProps {
7
5
  onSend: (message: string | FormData) => Promise<void>;
8
6
  disabled: boolean;
@@ -14,26 +12,23 @@ export interface AgnoChatInputAreaProps {
14
12
  children?: (props: AgnoChatInputRenderProps) => ReactNode;
15
13
  placeholder?: string;
16
14
  fileUpload?: FileUploadConfig;
17
- showAudioRecorder?: boolean;
15
+ /**
16
+ * Audio recording/transcription configuration.
17
+ * Pass `true` for send-mode defaults, or an `AudioConfig` object.
18
+ *
19
+ * @example
20
+ * audio={true}
21
+ * audio={{ enabled: true, mode: 'transcribe', endpoint: 'http://...' }}
22
+ */
23
+ audio?: AudioConfig | boolean;
24
+ /** Show attachments button (default: true) */
18
25
  showAttachments?: boolean;
26
+ /** Extra tools to add to the toolbar */
19
27
  extraTools?: ReactNode;
20
- chatInputProps?: Partial<Omit<AgnoChatInputProps, 'onSend'>>;
21
- /** Audio mode: 'send' sends blob immediately, 'transcribe' transcribes and adds text to input */
22
- audioMode?: 'send' | 'transcribe';
23
- /** Transcription endpoint URL (required when audioMode='transcribe') */
24
- transcriptionEndpoint?: string;
25
- /** Extra headers for transcription request */
26
- transcriptionHeaders?: Record<string, string>;
27
- /** Custom parser for the transcription response — receives the parsed JSON and returns the text */
28
- parseTranscriptionResponse?: (data: unknown) => string;
29
- /** Async callback to request microphone permission before recording (e.g., for WebView bridges) */
30
- onRequestPermission?: () => Promise<boolean>;
31
- /** Custom labels for the audio recorder button (useful for i18n) */
32
- audioRecorderLabels?: AudioRecorderLabels;
33
28
  /** Show a stop button that cancels the run while streaming (default: false) */
34
29
  allowCancelRun?: boolean;
35
30
  /** Props forwarded to PromptInputDropZone (className, label) */
36
31
  dropZoneProps?: Partial<Pick<PromptInputDropZoneProps, 'label' | 'className'>>;
37
32
  }
38
- export declare function AgnoChatInputArea({ className, children, placeholder, fileUpload, showAudioRecorder, showAttachments, extraTools, chatInputProps, audioMode, transcriptionEndpoint, transcriptionHeaders, parseTranscriptionResponse, onRequestPermission, audioRecorderLabels, allowCancelRun, dropZoneProps, }: AgnoChatInputAreaProps): import("react/jsx-runtime").JSX.Element;
33
+ export declare function AgnoChatInputArea({ className, children, placeholder, fileUpload, audio, showAttachments, extraTools, allowCancelRun, dropZoneProps, }: AgnoChatInputAreaProps): import("react/jsx-runtime").JSX.Element;
39
34
  //# sourceMappingURL=input.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../../../src/ui/composed/agno-chat/input.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AAExF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAE3E,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,wBAAwB,KAAK,SAAS,CAAC;IAC1D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC7D,iGAAiG;IACjG,SAAS,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC;IAClC,wEAAwE;IACxE,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,8CAA8C;IAC9C,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9C,mGAAmG;IACnG,0BAA0B,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,MAAM,CAAC;IACvD,mGAAmG;IACnG,mBAAmB,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7C,oEAAoE;IACpE,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,+EAA+E;IAC/E,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,gEAAgE;IAChE,aAAa,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,wBAAwB,EAAE,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC;CAChF;AAED,wBAAgB,iBAAiB,CAAC,EAChC,SAAS,EACT,QAAQ,EACR,WAAW,EACX,UAAU,EACV,iBAAyB,EACzB,eAAe,EACf,UAAU,EACV,cAAc,EACd,SAAS,EACT,qBAAqB,EACrB,oBAAoB,EACpB,0BAA0B,EAC1B,mBAAmB,EACnB,mBAAmB,EACnB,cAAsB,EACtB,aAAa,GACd,EAAE,sBAAsB,2CAkCxB"}
1
+ {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../../../src/ui/composed/agno-chat/input.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AAExF,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEjE,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,wBAAwB,KAAK,SAAS,CAAC;IAC1D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC;IAC9B,8CAA8C;IAC9C,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,wCAAwC;IACxC,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,+EAA+E;IAC/E,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,gEAAgE;IAChE,aAAa,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,wBAAwB,EAAE,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC;CAChF;AAED,wBAAgB,iBAAiB,CAAC,EAChC,SAAS,EACT,QAAQ,EACR,WAAW,EACX,UAAU,EACV,KAAK,EACL,eAAe,EACf,UAAU,EACV,cAAsB,EACtB,aAAa,GACd,EAAE,sBAAsB,2CA2BxB"}
@@ -1,13 +1,37 @@
1
- import type { ChatMessage } from '@rodrigocoliveira/agno-types';
1
+ import type { ChatMessage, ToolCall } from '@rodrigocoliveira/agno-types';
2
2
  import { type ReactNode } from 'react';
3
- import type { AgnoMessageItemProps } from '../AgnoMessageItem';
4
- import type { SuggestedPrompt } from '../../types';
3
+ import type { AgnoMessageClassNames, AgnoMessageAvatars, AgnoMessageActions, SuggestedPrompt } from '../../types';
5
4
  export interface AgnoChatMessagesProps {
6
5
  className?: string;
7
6
  renderMessage?: (message: ChatMessage, index: number) => ReactNode;
8
- userAvatar?: ReactNode;
9
- assistantAvatar?: ReactNode;
10
- messageItemProps?: Partial<Omit<AgnoMessageItemProps, 'message'>>;
7
+ /** Grouped avatar configuration */
8
+ avatars?: AgnoMessageAvatars;
9
+ /** Grouped action buttons configuration with visibility control */
10
+ actions?: AgnoMessageActions;
11
+ /** Show reasoning steps (default: true) */
12
+ showReasoning?: boolean;
13
+ /** Show references (default: true) */
14
+ showReferences?: boolean;
15
+ /** Show timestamp (default: true) */
16
+ showTimestamp?: boolean;
17
+ /** Show generative UI renders (default: true) */
18
+ showGenerativeUI?: boolean;
19
+ /** Show tool call details (default: true) */
20
+ showToolCalls?: boolean;
21
+ /** Enable file preview cards with click-to-open modal (default: true) */
22
+ showFilePreview?: boolean;
23
+ /** Enable image lightbox on click (default: true) */
24
+ showImageLightbox?: boolean;
25
+ /** Custom render for individual tool calls */
26
+ renderToolCall?: (tool: ToolCall, index: number) => ReactNode;
27
+ /** Custom render for the entire message content area */
28
+ renderContent?: (message: ChatMessage) => ReactNode;
29
+ /** Custom render for media sections */
30
+ renderMedia?: (message: ChatMessage) => ReactNode;
31
+ /** Custom timestamp formatter */
32
+ formatTimestamp?: (date: Date) => string;
33
+ /** ClassNames override map for message item sections */
34
+ messageClassNames?: AgnoMessageClassNames;
11
35
  emptyState?: ReactNode;
12
36
  suggestedPrompts?: SuggestedPrompt[];
13
37
  /** Custom empty state via children — takes priority over emptyState prop */
@@ -17,5 +41,5 @@ export interface AgnoChatMessagesProps {
17
41
  /** Custom component to render instead of the default thinking indicator */
18
42
  renderThinkingIndicator?: ReactNode;
19
43
  }
20
- export declare function AgnoChatMessages({ className, renderMessage, userAvatar, assistantAvatar, messageItemProps, emptyState, suggestedPrompts, children, showThinkingIndicator, renderThinkingIndicator, }: AgnoChatMessagesProps): import("react/jsx-runtime").JSX.Element;
44
+ export declare function AgnoChatMessages({ className, renderMessage, avatars, actions, showReasoning, showReferences, showTimestamp, showGenerativeUI, showToolCalls, showFilePreview, showImageLightbox, renderToolCall, renderContent, renderMedia, formatTimestamp, messageClassNames, emptyState, suggestedPrompts, children, showThinkingIndicator, renderThinkingIndicator, }: AgnoChatMessagesProps): import("react/jsx-runtime").JSX.Element;
21
45
  //# sourceMappingURL=messages.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../../../src/ui/composed/agno-chat/messages.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAqB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAU1D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAK/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,MAAM,WAAW,qBAAqB;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,KAAK,SAAS,CAAC;IACnE,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,eAAe,CAAC,EAAE,SAAS,CAAC;IAC5B,gBAAgB,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAAC,CAAC;IAClE,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAC;IACrC,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,+FAA+F;IAC/F,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,2EAA2E;IAC3E,uBAAuB,CAAC,EAAE,SAAS,CAAC;CACrC;AAsBD,wBAAgB,gBAAgB,CAAC,EAC/B,SAAS,EACT,aAAa,EACb,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,gBAAkC,EAClC,QAAQ,EACR,qBAA4B,EAC5B,uBAAuB,GACxB,EAAE,qBAAqB,2CA2DvB"}
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../../../src/ui/composed/agno-chat/messages.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAqB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAe1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAElH,MAAM,WAAW,qBAAqB;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,KAAK,SAAS,CAAC;IAEnE,mCAAmC;IACnC,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAE7B,mEAAmE;IACnE,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAG7B,2CAA2C;IAC3C,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,sCAAsC;IACtC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,qCAAqC;IACrC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,iDAAiD;IACjD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,6CAA6C;IAC7C,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,yEAAyE;IACzE,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,qDAAqD;IACrD,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,8CAA8C;IAC9C,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,KAAK,SAAS,CAAC;IAC9D,wDAAwD;IACxD,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,SAAS,CAAC;IACpD,uCAAuC;IACvC,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,SAAS,CAAC;IAClD,iCAAiC;IACjC,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC;IACzC,wDAAwD;IACxD,iBAAiB,CAAC,EAAE,qBAAqB,CAAC;IAG1C,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAC;IACrC,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,SAAS,CAAC;IAGrB,+FAA+F;IAC/F,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,2EAA2E;IAC3E,uBAAuB,CAAC,EAAE,SAAS,CAAC;CACrC;AAsBD,wBAAgB,gBAAgB,CAAC,EAC/B,SAAS,EACT,aAAa,EACb,OAAO,EACP,OAAO,EAEP,aAAa,EACb,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,WAAW,EACX,eAAe,EACf,iBAAiB,EAEjB,UAAU,EACV,gBAAkC,EAClC,QAAQ,EAER,qBAA4B,EAC5B,uBAAuB,GACxB,EAAE,qBAAqB,2CAqFvB"}
@@ -1,5 +1,3 @@
1
- export { AgnoChatInterface } from './AgnoChatInterface';
2
- export type { AgnoChatInterfaceProps } from './AgnoChatInterface';
3
1
  export { AgnoMessageItem } from './AgnoMessageItem';
4
2
  export type { AgnoMessageItemProps } from './AgnoMessageItem';
5
3
  export { AgnoChatInput } from './AgnoChatInput';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/composed/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAElE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAE9D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAG1D,OAAO,EACL,QAAQ,EACR,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,wBAAwB,EACxB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,EACvB,6BAA6B,EAC7B,uBAAuB,EACvB,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/composed/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAE9D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAG1D,OAAO,EACL,QAAQ,EACR,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,wBAAwB,EACxB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,EACvB,6BAA6B,EAC7B,uBAAuB,EACvB,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,aAAa,CAAC"}