@rodrigocoliveira/agno-react 2.1.1 → 2.2.0
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.
- package/dist/hooks/useAgnoChat.d.ts +1 -0
- package/dist/hooks/useAgnoChat.d.ts.map +1 -1
- package/dist/index.js +19 -14
- package/dist/index.js.map +6 -6
- package/dist/index.mjs +19 -14
- package/dist/index.mjs.map +6 -6
- package/dist/ui/composed/AgnoMessageItem.d.ts +3 -1
- package/dist/ui/composed/AgnoMessageItem.d.ts.map +1 -1
- package/dist/ui/composed/agno-chat/agno-chat.d.ts +18 -1
- package/dist/ui/composed/agno-chat/agno-chat.d.ts.map +1 -1
- package/dist/ui/composed/agno-chat/messages.d.ts.map +1 -1
- package/dist/ui/composed/agno-message/context.d.ts +7 -0
- package/dist/ui/composed/agno-message/context.d.ts.map +1 -1
- package/dist/ui/composed/agno-message/footer.d.ts.map +1 -1
- package/dist/ui/composed/agno-message/message.d.ts +8 -1
- package/dist/ui/composed/agno-message/message.d.ts.map +1 -1
- package/dist/ui.js +27 -15
- package/dist/ui.js.map +8 -8
- package/dist/ui.mjs +27 -15
- package/dist/ui.mjs.map +8 -8
- package/package.json +3 -3
package/dist/index.mjs.map
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"import React, { createContext, useContext, useMemo, useEffect } from 'react';\nimport { AgnoClient } from '@rodrigocoliveira/agno-client';\nimport type { AgnoClientConfig } from '@rodrigocoliveira/agno-types';\n\n/**\n * Context for providing AgnoClient instance\n */\nconst AgnoContext = createContext<AgnoClient | null>(null);\n\nexport interface AgnoProviderProps {\n config: AgnoClientConfig;\n children: React.ReactNode;\n}\n\n/**\n * Provider component that creates and manages an AgnoClient instance\n */\nexport function AgnoProvider({ config, children }: AgnoProviderProps) {\n // Create client only once using useMemo (React best practice)\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const client = useMemo(() => new AgnoClient(config), []);\n\n // Sync config changes to the client instance\n useEffect(() => {\n client.updateConfig(config);\n }, [client, config]);\n\n // Cleanup on unmount to prevent memory leaks\n useEffect(() => {\n return () => {\n // Remove all event listeners when provider unmounts\n client.removeAllListeners();\n };\n }, [client]);\n\n return (\n <AgnoContext.Provider value={client}>\n {children}\n </AgnoContext.Provider>\n );\n}\n\n/**\n * Hook to access the AgnoClient instance\n */\nexport function useAgnoClient(): AgnoClient {\n const client = useContext(AgnoContext);\n\n if (!client) {\n throw new Error('useAgnoClient must be used within an AgnoProvider');\n }\n\n return client;\n}\n",
|
|
6
6
|
"import React, { createContext, useContext, useState, useCallback } from 'react';\nimport type { ToolHandler } from '../hooks/useAgnoToolExecution';\n\n/**\n * Context value for tool handler registry\n */\nexport interface ToolHandlerContextValue {\n handlers: Record<string, ToolHandler>;\n registerHandler: (name: string, handler: ToolHandler) => void;\n unregisterHandler: (name: string) => void;\n}\n\n/**\n * Context for providing global tool handlers\n */\nconst ToolHandlerContext = createContext<ToolHandlerContextValue | null>(null);\n\nexport interface ToolHandlerProviderProps {\n handlers?: Record<string, ToolHandler>;\n children: React.ReactNode;\n}\n\n/**\n * Provider component that manages global tool handlers\n *\n * @example\n * ```tsx\n * const globalHandlers = {\n * fill_form: async (args) => {\n * // Implementation\n * return { success: true };\n * }\n * };\n *\n * <ToolHandlerProvider handlers={globalHandlers}>\n * <App />\n * </ToolHandlerProvider>\n * ```\n */\nexport function ToolHandlerProvider({ handlers: initialHandlers = {}, children }: ToolHandlerProviderProps) {\n const [handlers, setHandlers] = useState<Record<string, ToolHandler>>(initialHandlers);\n\n /**\n * Register a new tool handler or update an existing one\n */\n const registerHandler = useCallback((name: string, handler: ToolHandler) => {\n setHandlers(prev => ({ ...prev, [name]: handler }));\n }, []);\n\n /**\n * Unregister a tool handler\n */\n const unregisterHandler = useCallback((name: string) => {\n setHandlers(prev => {\n const { [name]: _, ...rest } = prev;\n return rest;\n });\n }, []);\n\n const value: ToolHandlerContextValue = {\n handlers,\n registerHandler,\n unregisterHandler,\n };\n\n return (\n <ToolHandlerContext.Provider value={value}>\n {children}\n </ToolHandlerContext.Provider>\n );\n}\n\n/**\n * Hook to access global tool handlers\n *\n * @returns Tool handler context value or null if not within ToolHandlerProvider\n *\n * @example\n * ```tsx\n * const { handlers, registerHandler } = useToolHandlers() || { handlers: {} };\n * ```\n */\nexport function useToolHandlers(): ToolHandlerContextValue | null {\n return useContext(ToolHandlerContext);\n}\n",
|
|
7
7
|
"/**\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",
|
|
8
|
-
"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
|
|
8
|
+
"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>; background?: boolean }) => {\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",
|
|
9
9
|
"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",
|
|
10
10
|
"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",
|
|
11
11
|
"import { useState, useEffect, useCallback, useMemo } from 'react';\nimport type {\n ToolCall,\n UIComponentSpec,\n ToolHandlerResult,\n} from '@rodrigocoliveira/agno-types';\nimport { useAgnoClient } from '../context/AgnoContext';\nimport { useToolHandlers } from '../context/ToolHandlerContext';\n\nexport type ToolHandler = (args: Record<string, any>) => Promise<any>;\n\nfunction isToolHandlerResult(value: any): value is ToolHandlerResult {\n return value && typeof value === 'object' && ('data' in value || 'ui' in value);\n}\n\nfunction isUIComponentSpec(value: any): value is UIComponentSpec {\n return value && typeof value === 'object' && 'type' in value;\n}\n\n/**\n * Split a handler return value into (a) the string `tool.result` field sent\n * back to the backend and (b) an optional `ui` spec attached as\n * `tool.ui_component` for consumer renderers to read.\n */\nexport function processToolResult(result: any, _tool: ToolCall): {\n resultData: string;\n uiComponent?: any;\n} {\n if (isToolHandlerResult(result)) {\n const { data, ui } = result;\n return {\n resultData: typeof data === 'string' ? data : JSON.stringify(data),\n uiComponent: ui,\n };\n }\n\n if (isUIComponentSpec(result)) {\n return {\n resultData: JSON.stringify(result),\n uiComponent: result,\n };\n }\n\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 * @param options.skipToolsOnSessionLoad - Tool names whose handlers should NOT be re-invoked\n * when a saved session is loaded. Use this for interactive tools with side effects.\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 options?: { skipToolsOnSessionLoad?: string[] }\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 // Skip interactive tools — re-invoking would trigger side effects (modals, navigation).\n // The stored result still renders from history via the message's tool_calls.\n if (options?.skipToolsOnSessionLoad?.includes(tool.tool_name)) 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",
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"import * as React from 'react';\nimport { Slot } from '@radix-ui/react-slot';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../lib/cn';\n\nconst buttonVariants = cva(\n 'inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0',\n {\n variants: {\n variant: {\n default: 'bg-primary text-primary-foreground shadow hover:bg-primary/90',\n destructive: 'bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90',\n outline: 'border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground',\n secondary: 'bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80',\n ghost: 'hover:bg-accent hover:text-accent-foreground',\n link: 'text-primary underline-offset-4 hover:underline',\n },\n size: {\n default: 'h-9 px-4 py-2',\n sm: 'h-8 rounded-md px-3 text-xs',\n lg: 'h-10 rounded-md px-8',\n icon: 'h-9 w-9',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n },\n);\n\nexport interface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {\n asChild?: boolean;\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({ className, variant, size, asChild = false, ...props }, ref) => {\n const Comp = asChild ? Slot : 'button';\n return <Comp className={cn(buttonVariants({ variant, size, className }))} ref={ref} {...props} />;\n },\n);\nButton.displayName = 'Button';\n\nexport { Button, buttonVariants };\n",
|
|
18
18
|
"import { Button } from '../primitives/button';\nimport { cn } from '../lib/cn';\nimport { CheckIcon, CopyIcon } from 'lucide-react';\nimport {\n type ComponentProps,\n createContext,\n type HTMLAttributes,\n useContext,\n useEffect,\n useRef,\n useState,\n} from 'react';\n\nexport type CodeBlockProps = HTMLAttributes<HTMLDivElement> & {\n code: string;\n language: string;\n showLineNumbers?: boolean;\n};\n\ntype CodeBlockContextType = {\n code: string;\n};\n\nconst CodeBlockContext = createContext<CodeBlockContextType>({\n code: '',\n});\n\n/**\n * Highlight code using shiki. Gracefully falls back to plain text if shiki is not installed.\n */\nasync function highlightCode(code: string, language: string, showLineNumbers = false): Promise<[string, string]> {\n try {\n const shiki = await import('shiki');\n const lineNumberTransformer = showLineNumbers\n ? [\n {\n name: 'line-numbers',\n line(node: any, line: number) {\n node.children.unshift({\n type: 'element',\n tagName: 'span',\n properties: {\n className: ['inline-block', 'min-w-10', 'mr-4', 'text-right', 'select-none', 'text-muted-foreground'],\n },\n children: [{ type: 'text', value: String(line) }],\n });\n },\n },\n ]\n : [];\n\n const [light, dark] = await Promise.all([\n shiki.codeToHtml(code, { lang: language as any, theme: 'one-light', transformers: lineNumberTransformer }),\n shiki.codeToHtml(code, { lang: language as any, theme: 'one-dark-pro', transformers: lineNumberTransformer }),\n ]);\n return [light, dark];\n } catch {\n // Shiki not installed - return empty to trigger fallback\n return ['', ''];\n }\n}\n\nexport const CodeBlock = ({\n code,\n language,\n showLineNumbers = false,\n className,\n children,\n ...props\n}: CodeBlockProps) => {\n const [html, setHtml] = useState<string>('');\n const [darkHtml, setDarkHtml] = useState<string>('');\n const effectIdRef = useRef(0);\n\n useEffect(() => {\n const id = ++effectIdRef.current;\n highlightCode(code, language, showLineNumbers).then(([light, dark]) => {\n if (id === effectIdRef.current) {\n setHtml(light);\n setDarkHtml(dark);\n }\n });\n }, [code, language, showLineNumbers]);\n\n const useFallback = !html && !darkHtml;\n\n return (\n <CodeBlockContext.Provider value={{ code }}>\n <div\n className={cn(\n 'group relative w-full overflow-hidden rounded-md border bg-background text-foreground',\n className,\n )}\n {...props}\n >\n <div className=\"relative\">\n {useFallback ? (\n <pre className=\"m-0 overflow-auto bg-background p-4 text-foreground text-sm\">\n <code className=\"font-mono text-sm\">{code}</code>\n </pre>\n ) : (\n <>\n <div\n className=\"overflow-hidden dark:hidden [&>pre]:m-0 [&>pre]:bg-background! [&>pre]:p-4 [&>pre]:text-foreground! [&>pre]:text-sm [&_code]:font-mono [&_code]:text-sm\"\n dangerouslySetInnerHTML={{ __html: html }}\n />\n <div\n className=\"hidden overflow-hidden dark:block [&>pre]:m-0 [&>pre]:bg-background! [&>pre]:p-4 [&>pre]:text-foreground! [&>pre]:text-sm [&_code]:font-mono [&_code]:text-sm\"\n dangerouslySetInnerHTML={{ __html: darkHtml }}\n />\n </>\n )}\n {children && <div className=\"absolute top-2 right-2 flex items-center gap-2\">{children}</div>}\n </div>\n </div>\n </CodeBlockContext.Provider>\n );\n};\n\nexport type CodeBlockCopyButtonProps = ComponentProps<typeof Button> & {\n onCopy?: () => void;\n onError?: (error: Error) => void;\n timeout?: number;\n};\n\nexport const CodeBlockCopyButton = ({\n onCopy,\n onError,\n timeout = 2000,\n children,\n className,\n ...props\n}: CodeBlockCopyButtonProps) => {\n const [isCopied, setIsCopied] = useState(false);\n const { code } = useContext(CodeBlockContext);\n\n const copyToClipboard = async () => {\n if (typeof window === 'undefined' || !navigator?.clipboard?.writeText) {\n onError?.(new Error('Clipboard API not available'));\n return;\n }\n\n try {\n await navigator.clipboard.writeText(code);\n setIsCopied(true);\n onCopy?.();\n setTimeout(() => setIsCopied(false), timeout);\n } catch (error) {\n onError?.(error as Error);\n }\n };\n\n const Icon = isCopied ? CheckIcon : CopyIcon;\n\n return (\n <Button className={cn('shrink-0', className)} onClick={copyToClipboard} size=\"icon\" variant=\"ghost\" {...props}>\n {children ?? <Icon size={14} />}\n </Button>\n );\n};\n",
|
|
19
19
|
"import type { ToolCall } from '@rodrigocoliveira/agno-types';\nimport { Tool, ToolContent, ToolHeader, ToolInput, ToolOutput } from '../../components/tool';\nimport type { ToolState } from '../../types';\n\nexport interface ToolDebugCardProps {\n tool: ToolCall;\n defaultOpen?: boolean;\n}\n\nconst getToolState = (tool: ToolCall): ToolState =>\n tool.tool_call_error ? 'output-error' : 'output-available';\n\nexport function ToolDebugCard({ tool, defaultOpen }: ToolDebugCardProps) {\n const output = tool.result ?? tool.content;\n return (\n <Tool defaultOpen={defaultOpen}>\n <ToolHeader title={tool.tool_name} type=\"tool-use\" state={getToolState(tool)} />\n <ToolContent>\n <ToolInput input={tool.tool_args} />\n {output ? (\n <ToolOutput\n output={output}\n errorText={tool.tool_call_error ? 'Tool execution failed' : undefined}\n />\n ) : null}\n </ToolContent>\n </Tool>\n );\n}\n",
|
|
20
|
-
"import { useMemo, useState } from 'react';\nimport type { ReactNode } from 'react';\nimport type { ChatMessage } from '@rodrigocoliveira/agno-types';\nimport { AlertCircle, FileIcon, Music } from 'lucide-react';\nimport { SmartTimestamp } from '../../components/smart-timestamp';\nimport { FilePreviewCard } from '../../components/file-preview-card';\nimport { FilePreviewModal } from '../../components/file-preview-modal';\nimport { ImageLightbox } from '../../components/image-lightbox';\nimport type { FilePreviewFile } from '../../components/file-preview-card';\nimport type { LightboxImage } from '../../components/image-lightbox';\nimport { formatSmartTimestamp } from '../../lib/format-timestamp';\nimport { cn } from '../../lib/cn';\nimport type {\n AgnoMessageClassNames,\n AgnoMessageActions,\n AgnoMessageAvatars,\n} from '../../types';\nimport type { RenderTool } from '../agno-chat/render-tool';\nimport { AgnoMessageContext } from './context';\nimport type { AgnoMessageContextValue } from './context';\nimport { AgnoMessageReasoning } from './reasoning';\nimport { AgnoMessageMedia } from './media';\nimport { AgnoMessageTools } from './tools';\nimport { AgnoMessageContent } from './content';\nimport { AgnoMessageReferences } from './references';\nimport { AgnoMessageFooter } from './footer';\n\nexport interface AgnoMessageProps {\n message: ChatMessage;\n className?: string;\n classNames?: AgnoMessageClassNames;\n avatars?: AgnoMessageAvatars;\n actions?: AgnoMessageActions;\n isLastAssistantMessage?: boolean;\n showFilePreview?: boolean;\n showImageLightbox?: boolean;\n showTimestamp?: boolean;\n formatTimestamp?: (date: Date) => string;\n renderTool?: RenderTool;\n /**\n * Custom slot composition for assistant messages. If provided, replaces the\n * default ordering. Use `<AgnoMessage.Reasoning />`, `<AgnoMessage.Media />`,\n * `<AgnoMessage.Tools />`, `<AgnoMessage.Content />`, `<AgnoMessage.References />`,\n * `<AgnoMessage.Footer />` in any order. User messages ignore this — their layout\n * is fixed.\n */\n children?: ReactNode;\n}\n\ntype PreviewState =\n | { type: 'image'; images: LightboxImage[]; initialIndex: number }\n | { type: 'file'; file: FilePreviewFile }\n | null;\n\nfunction DefaultAssistantComposition({ showTimestamp }: { showTimestamp: boolean }) {\n return (\n <>\n <AgnoMessageReasoning />\n <AgnoMessageMedia />\n <AgnoMessageTools />\n <AgnoMessageContent />\n <AgnoMessageReferences />\n <AgnoMessageFooter showTimestamp={showTimestamp} />\n </>\n );\n}\n\nexport function AgnoMessage({\n message,\n className,\n classNames,\n avatars,\n actions,\n isLastAssistantMessage = false,\n showFilePreview = true,\n showImageLightbox = true,\n showTimestamp = true,\n formatTimestamp,\n renderTool,\n children,\n}: AgnoMessageProps) {\n const isUser = message.role === 'user';\n const hasError = message.streamingError;\n const [preview, setPreview] = useState<PreviewState>(null);\n\n const isCustomTimestamp = !!formatTimestamp;\n const resolvedFormatTimestamp = formatTimestamp ?? formatSmartTimestamp;\n\n const ctx = useMemo<AgnoMessageContextValue>(\n () => ({\n message,\n isLastAssistantMessage,\n classNames,\n actions,\n avatars,\n formatTimestamp,\n showFilePreview,\n showImageLightbox,\n openImageLightbox: (images, index) => {\n if (!showImageLightbox) return;\n setPreview({ type: 'image', images, initialIndex: index });\n },\n openFilePreview: (file) => {\n if (!showFilePreview) return;\n setPreview({ type: 'file', file });\n },\n renderTool,\n }),\n [\n message,\n isLastAssistantMessage,\n classNames,\n actions,\n avatars,\n formatTimestamp,\n showFilePreview,\n showImageLightbox,\n renderTool,\n ],\n );\n\n const closePreview = () => setPreview(null);\n\n return (\n <AgnoMessageContext.Provider value={ctx}>\n <div className={cn('py-5 first:pt-2', isUser ? 'flex justify-end' : '', classNames?.root, className)}>\n {isUser ? (\n <UserMessageLayout\n message={message}\n classNames={classNames}\n avatars={avatars}\n actions={actions}\n isCustomTimestamp={isCustomTimestamp}\n resolvedFormatTimestamp={resolvedFormatTimestamp}\n showTimestamp={showTimestamp}\n showImageLightbox={showImageLightbox}\n showFilePreview={showFilePreview}\n openImageLightbox={ctx.openImageLightbox}\n openFilePreview={ctx.openFilePreview}\n hasError={hasError}\n />\n ) : (\n <div className=\"flex items-start gap-3 group/message\">\n {avatars?.assistant}\n <div className={cn('flex-1 min-w-0 space-y-3', classNames?.assistant?.container)}>\n {children ?? <DefaultAssistantComposition showTimestamp={showTimestamp} />}\n </div>\n </div>\n )}\n\n {preview?.type === 'image' && (\n <ImageLightbox\n open\n onOpenChange={(open) => { if (!open) closePreview(); }}\n images={preview.images}\n initialIndex={preview.initialIndex}\n />\n )}\n {preview?.type === 'file' && (\n <FilePreviewModal\n open\n onOpenChange={(open) => { if (!open) closePreview(); }}\n file={preview.file}\n />\n )}\n </div>\n </AgnoMessageContext.Provider>\n );\n}\n\nAgnoMessage.Reasoning = AgnoMessageReasoning;\nAgnoMessage.Media = AgnoMessageMedia;\nAgnoMessage.Tools = AgnoMessageTools;\nAgnoMessage.Content = AgnoMessageContent;\nAgnoMessage.References = AgnoMessageReferences;\nAgnoMessage.Footer = AgnoMessageFooter;\n\ninterface UserMessageLayoutProps {\n message: ChatMessage;\n classNames?: AgnoMessageClassNames;\n avatars?: AgnoMessageAvatars;\n actions?: AgnoMessageActions;\n isCustomTimestamp: boolean;\n resolvedFormatTimestamp: (date: Date) => string;\n showTimestamp: boolean;\n showImageLightbox: boolean;\n showFilePreview: boolean;\n openImageLightbox: (images: LightboxImage[], idx: number) => void;\n openFilePreview: (file: FilePreviewFile) => void;\n hasError?: boolean;\n}\n\nfunction UserMessageLayout({\n message,\n classNames,\n avatars,\n actions,\n isCustomTimestamp,\n resolvedFormatTimestamp,\n showTimestamp,\n showImageLightbox,\n showFilePreview,\n openImageLightbox,\n openFilePreview,\n hasError,\n}: UserMessageLayoutProps) {\n return (\n <div className=\"flex items-start gap-2.5 max-w-[80%] flex-row-reverse\">\n {avatars?.user}\n <div className=\"space-y-1.5 flex flex-col items-end min-w-0\">\n {((message.images && message.images.length > 0) ||\n (message.audio && message.audio.length > 0) ||\n (message.files && message.files.length > 0)) && (\n <div className=\"flex flex-wrap gap-2 justify-end\">\n {message.images?.map((img, idx) => (\n <FilePreviewCard\n key={`img-${idx}`}\n file={{ name: img.revised_prompt || `Image ${idx + 1}`, type: 'image/png', url: img.url }}\n onClick={\n showImageLightbox\n ? () =>\n openImageLightbox(\n message.images!.map((i) => ({ url: i.url, alt: i.revised_prompt })),\n idx,\n )\n : undefined\n }\n />\n ))}\n {message.audio?.map((audio, idx) => (\n <div\n key={`audio-${idx}`}\n className=\"flex items-center gap-1.5 rounded-lg border border-border bg-muted/50 px-2.5 py-1.5 text-xs text-foreground self-end\"\n >\n <Music className=\"h-3.5 w-3.5 text-muted-foreground\" />\n <span className=\"truncate max-w-[150px]\">{audio.id || `Audio ${idx + 1}`}</span>\n </div>\n ))}\n {message.files?.map((file, idx) =>\n showFilePreview ? (\n <FilePreviewCard\n key={`file-${idx}`}\n file={{ name: file.name, type: file.type, url: file.url, size: file.size }}\n onClick={() =>\n openFilePreview({ name: file.name, type: file.type, url: file.url, size: file.size })\n }\n />\n ) : (\n <div\n key={`file-${idx}`}\n className=\"flex items-center gap-1.5 rounded-lg border border-border bg-muted/50 px-2.5 py-1.5 text-xs text-foreground self-end\"\n >\n <FileIcon className=\"h-3.5 w-3.5 text-muted-foreground\" />\n <span className=\"truncate max-w-[150px]\">{file.name}</span>\n </div>\n ),\n )}\n </div>\n )}\n {message.content && (\n <div\n className={cn(\n 'rounded-2xl rounded-br-md px-4 py-2.5',\n classNames?.user?.bubble ?? 'bg-primary text-primary-foreground',\n hasError && 'opacity-70',\n )}\n >\n <p className=\"text-sm whitespace-pre-wrap\">{message.content}</p>\n </div>\n )}\n {(showTimestamp || actions?.user) && (\n <div className=\"flex items-center justify-end gap-1.5 px-1\">\n {actions?.user && (\n <div className=\"flex items-center gap-1\">\n {actions.user(message)}\n </div>\n )}\n <SmartTimestamp\n date={new Date(message.created_at * 1000)}\n formatShort={isCustomTimestamp ? resolvedFormatTimestamp : undefined}\n className=\"text-[11px] text-muted-foreground\"\n />\n {hasError && <AlertCircle className=\"h-3 w-3 text-destructive\" />}\n </div>\n )}\n </div>\n </div>\n );\n}\n\n",
|
|
20
|
+
"import { useMemo, useState } from 'react';\nimport type { ReactNode } from 'react';\nimport type { ChatMessage } from '@rodrigocoliveira/agno-types';\nimport { AlertCircle, FileIcon, Music } from 'lucide-react';\nimport { SmartTimestamp } from '../../components/smart-timestamp';\nimport { FilePreviewCard } from '../../components/file-preview-card';\nimport { FilePreviewModal } from '../../components/file-preview-modal';\nimport { ImageLightbox } from '../../components/image-lightbox';\nimport type { FilePreviewFile } from '../../components/file-preview-card';\nimport type { LightboxImage } from '../../components/image-lightbox';\nimport { formatSmartTimestamp } from '../../lib/format-timestamp';\nimport { cn } from '../../lib/cn';\nimport type {\n AgnoMessageClassNames,\n AgnoMessageActions,\n AgnoMessageAvatars,\n} from '../../types';\nimport type { RenderTool } from '../agno-chat/render-tool';\nimport { AgnoMessageContext } from './context';\nimport type { AgnoMessageContextValue } from './context';\nimport { AgnoMessageReasoning } from './reasoning';\nimport { AgnoMessageMedia } from './media';\nimport { AgnoMessageTools } from './tools';\nimport { AgnoMessageContent } from './content';\nimport { AgnoMessageReferences } from './references';\nimport { AgnoMessageFooter } from './footer';\n\nexport interface AgnoMessageProps {\n message: ChatMessage;\n className?: string;\n classNames?: AgnoMessageClassNames;\n avatars?: AgnoMessageAvatars;\n actions?: AgnoMessageActions;\n isLastAssistantMessage?: boolean;\n /**\n * True when this message is the one currently being streamed by the agent.\n * Set by `<AgnoChat.Messages>` based on `isStreaming` from the chat context.\n * The footer hides action buttons (copy/like/etc.) while this is true to\n * avoid offering actions on incomplete content. Default: false.\n */\n isStreamingThisMessage?: boolean;\n showFilePreview?: boolean;\n showImageLightbox?: boolean;\n showTimestamp?: boolean;\n formatTimestamp?: (date: Date) => string;\n renderTool?: RenderTool;\n /**\n * Custom slot composition for assistant messages. If provided, replaces the\n * default ordering. Use `<AgnoMessage.Reasoning />`, `<AgnoMessage.Media />`,\n * `<AgnoMessage.Tools />`, `<AgnoMessage.Content />`, `<AgnoMessage.References />`,\n * `<AgnoMessage.Footer />` in any order. User messages ignore this — their layout\n * is fixed.\n */\n children?: ReactNode;\n}\n\ntype PreviewState =\n | { type: 'image'; images: LightboxImage[]; initialIndex: number }\n | { type: 'file'; file: FilePreviewFile }\n | null;\n\nfunction DefaultAssistantComposition({ showTimestamp }: { showTimestamp: boolean }) {\n return (\n <>\n <AgnoMessageReasoning />\n <AgnoMessageMedia />\n <AgnoMessageTools />\n <AgnoMessageContent />\n <AgnoMessageReferences />\n <AgnoMessageFooter showTimestamp={showTimestamp} />\n </>\n );\n}\n\nexport function AgnoMessage({\n message,\n className,\n classNames,\n avatars,\n actions,\n isLastAssistantMessage = false,\n isStreamingThisMessage = false,\n showFilePreview = true,\n showImageLightbox = true,\n showTimestamp = true,\n formatTimestamp,\n renderTool,\n children,\n}: AgnoMessageProps) {\n const isUser = message.role === 'user';\n const hasError = message.streamingError;\n const [preview, setPreview] = useState<PreviewState>(null);\n\n const isCustomTimestamp = !!formatTimestamp;\n const resolvedFormatTimestamp = formatTimestamp ?? formatSmartTimestamp;\n\n const ctx = useMemo<AgnoMessageContextValue>(\n () => ({\n message,\n isLastAssistantMessage,\n isStreamingThisMessage,\n classNames,\n actions,\n avatars,\n formatTimestamp,\n showFilePreview,\n showImageLightbox,\n openImageLightbox: (images, index) => {\n if (!showImageLightbox) return;\n setPreview({ type: 'image', images, initialIndex: index });\n },\n openFilePreview: (file) => {\n if (!showFilePreview) return;\n setPreview({ type: 'file', file });\n },\n renderTool,\n }),\n [\n message,\n isLastAssistantMessage,\n isStreamingThisMessage,\n classNames,\n actions,\n avatars,\n formatTimestamp,\n showFilePreview,\n showImageLightbox,\n renderTool,\n ],\n );\n\n const closePreview = () => setPreview(null);\n\n return (\n <AgnoMessageContext.Provider value={ctx}>\n <div className={cn('py-5 first:pt-2', isUser ? 'flex justify-end' : '', classNames?.root, className)}>\n {isUser ? (\n <UserMessageLayout\n message={message}\n classNames={classNames}\n avatars={avatars}\n actions={actions}\n isCustomTimestamp={isCustomTimestamp}\n resolvedFormatTimestamp={resolvedFormatTimestamp}\n showTimestamp={showTimestamp}\n showImageLightbox={showImageLightbox}\n showFilePreview={showFilePreview}\n openImageLightbox={ctx.openImageLightbox}\n openFilePreview={ctx.openFilePreview}\n hasError={hasError}\n />\n ) : (\n <div className=\"flex items-start gap-3 group/message\">\n {avatars?.assistant}\n <div className={cn('flex-1 min-w-0 space-y-3', classNames?.assistant?.container)}>\n {children ?? <DefaultAssistantComposition showTimestamp={showTimestamp} />}\n </div>\n </div>\n )}\n\n {preview?.type === 'image' && (\n <ImageLightbox\n open\n onOpenChange={(open) => { if (!open) closePreview(); }}\n images={preview.images}\n initialIndex={preview.initialIndex}\n />\n )}\n {preview?.type === 'file' && (\n <FilePreviewModal\n open\n onOpenChange={(open) => { if (!open) closePreview(); }}\n file={preview.file}\n />\n )}\n </div>\n </AgnoMessageContext.Provider>\n );\n}\n\nAgnoMessage.Reasoning = AgnoMessageReasoning;\nAgnoMessage.Media = AgnoMessageMedia;\nAgnoMessage.Tools = AgnoMessageTools;\nAgnoMessage.Content = AgnoMessageContent;\nAgnoMessage.References = AgnoMessageReferences;\nAgnoMessage.Footer = AgnoMessageFooter;\n\ninterface UserMessageLayoutProps {\n message: ChatMessage;\n classNames?: AgnoMessageClassNames;\n avatars?: AgnoMessageAvatars;\n actions?: AgnoMessageActions;\n isCustomTimestamp: boolean;\n resolvedFormatTimestamp: (date: Date) => string;\n showTimestamp: boolean;\n showImageLightbox: boolean;\n showFilePreview: boolean;\n openImageLightbox: (images: LightboxImage[], idx: number) => void;\n openFilePreview: (file: FilePreviewFile) => void;\n hasError?: boolean;\n}\n\nfunction UserMessageLayout({\n message,\n classNames,\n avatars,\n actions,\n isCustomTimestamp,\n resolvedFormatTimestamp,\n showTimestamp,\n showImageLightbox,\n showFilePreview,\n openImageLightbox,\n openFilePreview,\n hasError,\n}: UserMessageLayoutProps) {\n return (\n <div className=\"flex items-start gap-2.5 max-w-[80%] flex-row-reverse\">\n {avatars?.user}\n <div className=\"space-y-1.5 flex flex-col items-end min-w-0\">\n {((message.images && message.images.length > 0) ||\n (message.audio && message.audio.length > 0) ||\n (message.files && message.files.length > 0)) && (\n <div className=\"flex flex-wrap gap-2 justify-end\">\n {message.images?.map((img, idx) => (\n <FilePreviewCard\n key={`img-${idx}`}\n file={{ name: img.revised_prompt || `Image ${idx + 1}`, type: 'image/png', url: img.url }}\n onClick={\n showImageLightbox\n ? () =>\n openImageLightbox(\n message.images!.map((i) => ({ url: i.url, alt: i.revised_prompt })),\n idx,\n )\n : undefined\n }\n />\n ))}\n {message.audio?.map((audio, idx) => (\n <div\n key={`audio-${idx}`}\n className=\"flex items-center gap-1.5 rounded-lg border border-border bg-muted/50 px-2.5 py-1.5 text-xs text-foreground self-end\"\n >\n <Music className=\"h-3.5 w-3.5 text-muted-foreground\" />\n <span className=\"truncate max-w-[150px]\">{audio.id || `Audio ${idx + 1}`}</span>\n </div>\n ))}\n {message.files?.map((file, idx) =>\n showFilePreview ? (\n <FilePreviewCard\n key={`file-${idx}`}\n file={{ name: file.name, type: file.type, url: file.url, size: file.size }}\n onClick={() =>\n openFilePreview({ name: file.name, type: file.type, url: file.url, size: file.size })\n }\n />\n ) : (\n <div\n key={`file-${idx}`}\n className=\"flex items-center gap-1.5 rounded-lg border border-border bg-muted/50 px-2.5 py-1.5 text-xs text-foreground self-end\"\n >\n <FileIcon className=\"h-3.5 w-3.5 text-muted-foreground\" />\n <span className=\"truncate max-w-[150px]\">{file.name}</span>\n </div>\n ),\n )}\n </div>\n )}\n {message.content && (\n <div\n className={cn(\n 'rounded-2xl rounded-br-md px-4 py-2.5',\n classNames?.user?.bubble ?? 'bg-primary text-primary-foreground',\n hasError && 'opacity-70',\n )}\n >\n <p className=\"text-sm whitespace-pre-wrap\">{message.content}</p>\n </div>\n )}\n {(showTimestamp || actions?.user) && (\n <div className=\"flex items-center justify-end gap-1.5 px-1\">\n {actions?.user && (\n <div className=\"flex items-center gap-1\">\n {actions.user(message)}\n </div>\n )}\n <SmartTimestamp\n date={new Date(message.created_at * 1000)}\n formatShort={isCustomTimestamp ? resolvedFormatTimestamp : undefined}\n className=\"text-[11px] text-muted-foreground\"\n />\n {hasError && <AlertCircle className=\"h-3 w-3 text-destructive\" />}\n </div>\n )}\n </div>\n </div>\n );\n}\n\n",
|
|
21
21
|
"import * as React from 'react';\nimport * as TooltipPrimitive from '@radix-ui/react-tooltip';\nimport { cn } from '../lib/cn';\n\nconst TooltipProvider = TooltipPrimitive.Provider;\nconst Tooltip = TooltipPrimitive.Root;\nconst TooltipTrigger = TooltipPrimitive.Trigger;\n\nconst TooltipContent = React.forwardRef<\n React.ElementRef<typeof TooltipPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n 'z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-tooltip-content-transform-origin]',\n className,\n )}\n {...props}\n />\n </TooltipPrimitive.Portal>\n));\nTooltipContent.displayName = TooltipPrimitive.Content.displayName;\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider };\n",
|
|
22
22
|
"/**\n * Smart timestamp formatting utilities using Intl.DateTimeFormat (zero deps).\n */\n\n/**\n * Formats a date with smart relative context:\n * - Today: \"09:06 AM\"\n * - This year: \"Feb 19\"\n * - Other year: \"Feb 18, 2025\"\n */\nexport function formatSmartTimestamp(date: Date): string {\n const now = new Date();\n const isToday =\n date.getFullYear() === now.getFullYear() &&\n date.getMonth() === now.getMonth() &&\n date.getDate() === now.getDate();\n\n if (isToday) {\n return new Intl.DateTimeFormat(undefined, {\n hour: 'numeric',\n minute: '2-digit',\n hour12: true,\n }).format(date);\n }\n\n const isSameYear = date.getFullYear() === now.getFullYear();\n\n if (isSameYear) {\n return new Intl.DateTimeFormat(undefined, {\n month: 'short',\n day: 'numeric',\n }).format(date);\n }\n\n return new Intl.DateTimeFormat(undefined, {\n month: 'short',\n day: 'numeric',\n year: 'numeric',\n }).format(date);\n}\n\n/**\n * Formats a full timestamp for tooltip display.\n * Always shows: \"Feb 19, 2026, 09:50 AM\"\n */\nexport function formatFullTimestamp(date: Date): string {\n return new Intl.DateTimeFormat(undefined, {\n month: 'short',\n day: 'numeric',\n year: 'numeric',\n hour: 'numeric',\n minute: '2-digit',\n hour12: true,\n }).format(date);\n}\n",
|
|
23
23
|
"import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '../primitives/tooltip';\nimport { formatSmartTimestamp, formatFullTimestamp } from '../lib/format-timestamp';\n\nexport interface SmartTimestampProps {\n date: Date;\n /** Override the short display text (e.g. custom formatTimestamp prop) */\n formatShort?: (date: Date) => string;\n className?: string;\n}\n\nexport function SmartTimestamp({ date, formatShort, className }: SmartTimestampProps) {\n const shortText = formatShort ? formatShort(date) : formatSmartTimestamp(date);\n const fullText = formatFullTimestamp(date);\n\n return (\n <TooltipProvider>\n <Tooltip>\n <TooltipTrigger asChild>\n <span className={className}>{shortText}</span>\n </TooltipTrigger>\n <TooltipContent>\n <p>{fullText}</p>\n </TooltipContent>\n </Tooltip>\n </TooltipProvider>\n );\n}\n",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"import * as React from 'react';\nimport * as DialogPrimitive from '@radix-ui/react-dialog';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { X } from 'lucide-react';\nimport { cn } from '../lib/cn';\n\nconst Dialog = DialogPrimitive.Root;\n\nconst DialogTrigger = DialogPrimitive.Trigger;\n\nconst DialogPortal = DialogPrimitive.Portal;\n\nconst DialogClose = DialogPrimitive.Close;\n\nconst DialogOverlay = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Overlay\n ref={ref}\n className={cn(\n 'fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0',\n className,\n )}\n {...props}\n />\n));\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName;\n\nconst dialogContentVariants = cva(\n 'fixed left-[50%] top-[50%] z-50 grid translate-x-[-50%] translate-y-[-50%] gap-4 border shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg',\n {\n variants: {\n variant: {\n default: 'w-full max-w-lg bg-background p-6',\n lightbox: 'max-w-[90vw] max-h-[90vh] bg-background/95 backdrop-blur-sm p-2',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n },\n);\n\nexport interface DialogContentProps\n extends React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>,\n VariantProps<typeof dialogContentVariants> {}\n\nconst DialogContent = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Content>,\n DialogContentProps\n>(({ className, variant, children, ...props }, ref) => (\n <DialogPortal>\n <DialogOverlay />\n <DialogPrimitive.Content\n ref={ref}\n className={cn(dialogContentVariants({ variant }), className)}\n {...props}\n >\n {children}\n <DialogPrimitive.Close className=\"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground\">\n <X className=\"h-4 w-4\" />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n </DialogPrimitive.Content>\n </DialogPortal>\n));\nDialogContent.displayName = DialogPrimitive.Content.displayName;\n\nconst DialogHeader = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div className={cn('flex flex-col space-y-1.5 text-center sm:text-left', className)} {...props} />\n);\nDialogHeader.displayName = 'DialogHeader';\n\nconst DialogFooter = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn('flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2', className)}\n {...props}\n />\n);\nDialogFooter.displayName = 'DialogFooter';\n\nconst DialogTitle = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Title\n ref={ref}\n className={cn('text-lg font-semibold leading-none tracking-tight', className)}\n {...props}\n />\n));\nDialogTitle.displayName = DialogPrimitive.Title.displayName;\n\nconst DialogDescription = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Description\n ref={ref}\n className={cn('text-sm text-muted-foreground', className)}\n {...props}\n />\n));\nDialogDescription.displayName = DialogPrimitive.Description.displayName;\n\nexport {\n Dialog,\n DialogPortal,\n DialogOverlay,\n DialogTrigger,\n DialogClose,\n DialogContent,\n DialogHeader,\n DialogFooter,\n DialogTitle,\n DialogDescription,\n};\n",
|
|
27
27
|
"import {\n Dialog,\n DialogContent,\n DialogHeader,\n DialogTitle,\n DialogDescription,\n} from '../primitives/dialog';\nimport { formatFileSize, isPreviewable, getFilePreviewType } from '../lib/file-utils';\nimport { Download, FileIcon } from 'lucide-react';\nimport type { FilePreviewFile } from './file-preview-card';\n\nexport interface FilePreviewModalProps {\n open: boolean;\n onOpenChange: (open: boolean) => void;\n file: FilePreviewFile | null;\n}\n\nexport function FilePreviewModal({ open, onOpenChange, file }: FilePreviewModalProps) {\n if (!file) return null;\n\n const previewType = getFilePreviewType(file.type);\n const canPreview = isPreviewable(file.type) && !!file.url;\n\n return (\n <Dialog open={open} onOpenChange={onOpenChange}>\n {previewType === 'image' && file.url ? (\n <DialogContent variant=\"lightbox\" aria-describedby={undefined}>\n <DialogTitle className=\"sr-only\">{file.name}</DialogTitle>\n <img\n src={file.url}\n alt={file.name}\n className=\"max-h-[85vh] max-w-full object-contain rounded-md\"\n />\n </DialogContent>\n ) : previewType === 'pdf' && file.url ? (\n <DialogContent variant=\"lightbox\" className=\"w-[80vw] h-[85vh]\" aria-describedby={undefined}>\n <DialogTitle className=\"sr-only\">{file.name}</DialogTitle>\n <object\n data={file.url}\n type=\"application/pdf\"\n className=\"w-full h-full rounded-md\"\n >\n <div className=\"flex flex-col items-center justify-center h-full gap-3 text-muted-foreground\">\n <p className=\"text-sm\">Unable to display PDF</p>\n <a\n href={file.url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"inline-flex items-center gap-1.5 text-sm text-primary hover:underline\"\n >\n <Download className=\"h-4 w-4\" />\n Download {file.name}\n </a>\n </div>\n </object>\n </DialogContent>\n ) : (\n <DialogContent>\n <DialogHeader>\n <DialogTitle className=\"flex items-center gap-2\">\n <FileIcon className=\"h-5 w-5 text-muted-foreground\" />\n {file.name}\n </DialogTitle>\n <DialogDescription>\n {file.size != null && file.size > 0 && <span>{formatFileSize(file.size)}</span>}\n {!canPreview && <span> · Preview not available for this file type</span>}\n </DialogDescription>\n </DialogHeader>\n <div className=\"flex flex-col items-center justify-center py-8 text-muted-foreground gap-3\">\n <FileIcon className=\"h-12 w-12\" />\n <p className=\"text-sm\">Preview not available</p>\n {file.url && /^https?:\\/\\//i.test(file.url) && (\n <a\n href={file.url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"inline-flex items-center gap-1.5 text-sm text-primary hover:underline\"\n >\n <Download className=\"h-4 w-4\" />\n Download file\n </a>\n )}\n </div>\n </DialogContent>\n )}\n </Dialog>\n );\n}\n",
|
|
28
28
|
"import { useState, useEffect, useCallback } from 'react';\nimport { Dialog, DialogContent, DialogTitle } from '../primitives/dialog';\nimport { ChevronLeft, ChevronRight } from 'lucide-react';\nimport { cn } from '../lib/cn';\n\nexport interface LightboxImage {\n url: string;\n alt?: string;\n}\n\nexport interface ImageLightboxProps {\n open: boolean;\n onOpenChange: (open: boolean) => void;\n images: LightboxImage[];\n initialIndex?: number;\n}\n\nexport function ImageLightbox({ open, onOpenChange, images, initialIndex = 0 }: ImageLightboxProps) {\n const [currentIndex, setCurrentIndex] = useState(initialIndex);\n const hasMultiple = images.length > 1;\n\n useEffect(() => {\n if (open) setCurrentIndex(initialIndex);\n }, [open, initialIndex]);\n\n const goNext = useCallback(() => {\n setCurrentIndex((i) => (i + 1) % images.length);\n }, [images.length]);\n\n const goPrev = useCallback(() => {\n setCurrentIndex((i) => (i - 1 + images.length) % images.length);\n }, [images.length]);\n\n useEffect(() => {\n if (!open || !hasMultiple) return;\n const handler = (e: KeyboardEvent) => {\n if (e.key === 'ArrowRight') goNext();\n if (e.key === 'ArrowLeft') goPrev();\n };\n window.addEventListener('keydown', handler);\n return () => window.removeEventListener('keydown', handler);\n }, [open, hasMultiple, goNext, goPrev]);\n\n if (images.length === 0) return null;\n const current = images[currentIndex];\n if (!current) return null;\n\n return (\n <Dialog open={open} onOpenChange={onOpenChange}>\n <DialogContent variant=\"lightbox\" aria-describedby={undefined}>\n <DialogTitle className=\"sr-only\">\n {current.alt || `Image ${currentIndex + 1} of ${images.length}`}\n </DialogTitle>\n <div className=\"relative flex items-center justify-center\">\n <img\n src={current.url}\n alt={current.alt || 'Image preview'}\n className=\"max-h-[85vh] max-w-full object-contain rounded-md\"\n />\n\n {hasMultiple && (\n <>\n <button\n type=\"button\"\n onClick={goPrev}\n className={cn(\n 'absolute left-2 top-1/2 -translate-y-1/2 rounded-full bg-black/50 p-2 text-white',\n 'hover:bg-black/70 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring transition-colors',\n )}\n >\n <ChevronLeft className=\"h-5 w-5\" />\n <span className=\"sr-only\">Previous image</span>\n </button>\n <button\n type=\"button\"\n onClick={goNext}\n className={cn(\n 'absolute right-2 top-1/2 -translate-y-1/2 rounded-full bg-black/50 p-2 text-white',\n 'hover:bg-black/70 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring transition-colors',\n )}\n >\n <ChevronRight className=\"h-5 w-5\" />\n <span className=\"sr-only\">Next image</span>\n </button>\n <div className=\"absolute bottom-2 left-1/2 -translate-x-1/2 rounded-full bg-black/50 px-3 py-1 text-xs text-white\">\n {currentIndex + 1} / {images.length}\n </div>\n </>\n )}\n </div>\n </DialogContent>\n </Dialog>\n );\n}\n",
|
|
29
|
-
"import { createContext, useContext } from 'react';\nimport type { ChatMessage } from '@rodrigocoliveira/agno-types';\nimport type { FilePreviewFile } from '../../components/file-preview-card';\nimport type { LightboxImage } from '../../components/image-lightbox';\nimport type {\n AgnoMessageClassNames,\n AgnoMessageActions,\n AgnoMessageAvatars,\n} from '../../types';\nimport type { RenderTool } from '../agno-chat/render-tool';\n\nexport interface AgnoMessageContextValue {\n message: ChatMessage;\n isLastAssistantMessage: boolean;\n classNames?: AgnoMessageClassNames;\n actions?: AgnoMessageActions;\n avatars?: AgnoMessageAvatars;\n formatTimestamp?: (date: Date) => string;\n showFilePreview: boolean;\n showImageLightbox: boolean;\n openImageLightbox: (images: LightboxImage[], index: number) => void;\n openFilePreview: (file: FilePreviewFile) => void;\n renderTool?: RenderTool;\n}\n\nexport const AgnoMessageContext = createContext<AgnoMessageContextValue | null>(null);\n\nexport function useAgnoMessageContext(): AgnoMessageContextValue {\n const ctx = useContext(AgnoMessageContext);\n if (!ctx) {\n throw new Error(\n 'useAgnoMessageContext must be used within an <AgnoMessage> provider. ' +\n 'Wrap your slots with <AgnoMessage message={...}>.',\n );\n }\n return ctx;\n}\n",
|
|
29
|
+
"import { createContext, useContext } from 'react';\nimport type { ChatMessage } from '@rodrigocoliveira/agno-types';\nimport type { FilePreviewFile } from '../../components/file-preview-card';\nimport type { LightboxImage } from '../../components/image-lightbox';\nimport type {\n AgnoMessageClassNames,\n AgnoMessageActions,\n AgnoMessageAvatars,\n} from '../../types';\nimport type { RenderTool } from '../agno-chat/render-tool';\n\nexport interface AgnoMessageContextValue {\n message: ChatMessage;\n isLastAssistantMessage: boolean;\n /**\n * True when this message is the one currently being streamed by the agent.\n * The footer uses this to hide action buttons (copy/like/etc.) on incomplete\n * content. Set by `<AgnoChat.Messages>` (chat-context aware); defaults to\n * false when `<AgnoMessage>` is used standalone outside `<AgnoChat>`.\n */\n isStreamingThisMessage: boolean;\n classNames?: AgnoMessageClassNames;\n actions?: AgnoMessageActions;\n avatars?: AgnoMessageAvatars;\n formatTimestamp?: (date: Date) => string;\n showFilePreview: boolean;\n showImageLightbox: boolean;\n openImageLightbox: (images: LightboxImage[], index: number) => void;\n openFilePreview: (file: FilePreviewFile) => void;\n renderTool?: RenderTool;\n}\n\nexport const AgnoMessageContext = createContext<AgnoMessageContextValue | null>(null);\n\nexport function useAgnoMessageContext(): AgnoMessageContextValue {\n const ctx = useContext(AgnoMessageContext);\n if (!ctx) {\n throw new Error(\n 'useAgnoMessageContext must be used within an <AgnoMessage> provider. ' +\n 'Wrap your slots with <AgnoMessage message={...}>.',\n );\n }\n return ctx;\n}\n",
|
|
30
30
|
"import { Lightbulb } from 'lucide-react';\nimport { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from '../../primitives/accordion';\nimport { cn } from '../../lib/cn';\nimport { useAgnoMessageContext } from './context';\n\nexport function AgnoMessageReasoning() {\n const { message, classNames } = useAgnoMessageContext();\n const steps = message.extra_data?.reasoning_steps;\n if (!steps || steps.length === 0) return null;\n\n return (\n <div className={cn('space-y-2 pt-1', classNames?.assistant?.reasoning)}>\n <div className=\"flex items-center gap-2 text-xs font-medium text-muted-foreground\">\n <Lightbulb className=\"h-3.5 w-3.5\" />\n Reasoning ({steps.length} steps)\n </div>\n <Accordion type=\"multiple\" className=\"w-full\">\n {steps.map((step, idx) => (\n <AccordionItem key={idx} value={`reasoning-${idx}`} className=\"border-muted\">\n <AccordionTrigger className=\"text-xs py-1.5 hover:no-underline\">\n {step.title || `Step ${idx + 1}`}\n </AccordionTrigger>\n <AccordionContent className=\"space-y-1.5 text-xs text-muted-foreground\">\n {step.action && (\n <div>\n <span className=\"font-medium text-foreground\">Action:</span> {step.action}\n </div>\n )}\n {step.reasoning && (\n <div>\n <span className=\"font-medium text-foreground\">Reasoning:</span> {step.reasoning}\n </div>\n )}\n {step.result && (\n <div>\n <span className=\"font-medium text-foreground\">Result:</span> {step.result}\n </div>\n )}\n {step.confidence !== undefined && (\n <div>\n <span className=\"font-medium text-foreground\">Confidence:</span>{' '}\n {(step.confidence * 100).toFixed(1)}%\n </div>\n )}\n </AccordionContent>\n </AccordionItem>\n ))}\n </Accordion>\n </div>\n );\n}\n",
|
|
31
31
|
"import * as React from 'react';\nimport * as AccordionPrimitive from '@radix-ui/react-accordion';\nimport { ChevronDown } from 'lucide-react';\nimport { cn } from '../lib/cn';\n\nconst Accordion = AccordionPrimitive.Root;\n\nconst AccordionItem = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Item>\n>(({ className, ...props }, ref) => (\n <AccordionPrimitive.Item ref={ref} className={cn('border-b', className)} {...props} />\n));\nAccordionItem.displayName = 'AccordionItem';\n\nconst AccordionTrigger = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n <AccordionPrimitive.Header className=\"flex\">\n <AccordionPrimitive.Trigger\n ref={ref}\n className={cn(\n 'flex flex-1 items-center justify-between py-4 text-sm font-medium transition-all hover:underline text-left [&[data-state=open]>svg]:rotate-180',\n className,\n )}\n {...props}\n >\n {children}\n <ChevronDown className=\"h-4 w-4 shrink-0 text-muted-foreground transition-transform duration-200\" />\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n));\nAccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName;\n\nconst AccordionContent = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n <AccordionPrimitive.Content\n ref={ref}\n className=\"overflow-hidden text-sm data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down\"\n {...props}\n >\n <div className={cn('pb-4 pt-0', className)}>{children}</div>\n </AccordionPrimitive.Content>\n));\nAccordionContent.displayName = AccordionPrimitive.Content.displayName;\n\nexport { Accordion, AccordionItem, AccordionTrigger, AccordionContent };\n",
|
|
32
32
|
"import { FileIcon, Image as ImageIcon, Music, Paperclip, Video } from 'lucide-react';\nimport { FilePreviewCard } from '../../components/file-preview-card';\nimport { cn } from '../../lib/cn';\nimport { useAgnoMessageContext } from './context';\n\nexport function AgnoMessageMedia() {\n const {\n message,\n classNames,\n showImageLightbox,\n showFilePreview,\n openImageLightbox,\n openFilePreview,\n } = useAgnoMessageContext();\n const mediaClassName = classNames?.assistant?.media;\n\n const hasImages = !!message.images && message.images.length > 0;\n const hasVideos = !!message.videos && message.videos.length > 0;\n const hasAudio = !!message.audio && message.audio.length > 0;\n const hasFiles = !!message.files && message.files.length > 0;\n const hasResponseAudio = !!message.response_audio;\n\n if (!hasImages && !hasVideos && !hasAudio && !hasFiles && !hasResponseAudio) return null;\n\n return (\n <>\n {hasImages && (\n <div className={cn('space-y-2 pt-1', mediaClassName)}>\n <div className=\"flex items-center gap-2 text-xs font-medium text-muted-foreground\">\n <ImageIcon className=\"h-3.5 w-3.5\" />\n Images ({message.images!.length})\n </div>\n <div className=\"grid grid-cols-2 gap-2\">\n {message.images!.map((img, idx) => (\n <div key={idx} className=\"space-y-1\">\n {showImageLightbox ? (\n <button\n type=\"button\"\n onClick={() =>\n openImageLightbox(\n message.images!.map((i) => ({ url: i.url, alt: i.revised_prompt })),\n idx,\n )\n }\n className=\"group relative w-full overflow-hidden rounded-lg border border-border cursor-pointer hover:border-primary/50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring transition-colors\"\n >\n <img\n src={img.url}\n alt={img.revised_prompt || 'Generated image'}\n className=\"w-full rounded-lg\"\n />\n </button>\n ) : (\n <img\n src={img.url}\n alt={img.revised_prompt || 'Generated image'}\n className=\"w-full rounded-lg border border-border\"\n />\n )}\n {img.revised_prompt && (\n <p className=\"text-[11px] text-muted-foreground italic px-0.5\">\n {img.revised_prompt}\n </p>\n )}\n </div>\n ))}\n </div>\n </div>\n )}\n\n {hasVideos && (\n <div className={cn('space-y-2 pt-1', mediaClassName)}>\n <div className=\"flex items-center gap-2 text-xs font-medium text-muted-foreground\">\n <Video className=\"h-3.5 w-3.5\" />\n Videos ({message.videos!.length})\n </div>\n <div className=\"space-y-2\">\n {message.videos!.map((video, idx) => (\n <div key={idx}>\n {video.url ? (\n <video src={video.url} controls className=\"w-full rounded-lg border border-border\" />\n ) : (\n <div className=\"bg-muted/50 border border-border p-2.5 rounded-lg text-xs text-muted-foreground\">\n Video ID: {video.id} (ETA: {video.eta}s)\n </div>\n )}\n </div>\n ))}\n </div>\n </div>\n )}\n\n {hasAudio && (\n <div className={cn('space-y-2 pt-1', mediaClassName)}>\n <div className=\"flex items-center gap-2 text-xs font-medium text-muted-foreground\">\n <Music className=\"h-3.5 w-3.5\" />\n Audio ({message.audio!.length})\n </div>\n <div className=\"space-y-2\">\n {message.audio!.map((audio, idx) => (\n <div key={idx}>\n {audio.url ? (\n <audio src={audio.url} controls className=\"w-full\" />\n ) : audio.base64_audio ? (\n <audio\n src={`data:${audio.mime_type || 'audio/wav'};base64,${audio.base64_audio}`}\n controls\n className=\"w-full\"\n />\n ) : (\n <div className=\"bg-muted/50 border border-border p-2.5 rounded-lg text-xs text-muted-foreground\">\n Audio data unavailable\n </div>\n )}\n </div>\n ))}\n </div>\n </div>\n )}\n\n {hasFiles && (\n <div className={cn('space-y-2 pt-1', mediaClassName)}>\n <div className=\"flex items-center gap-2 text-xs font-medium text-muted-foreground\">\n <Paperclip className=\"h-3.5 w-3.5\" />\n Files ({message.files!.length})\n </div>\n <div className=\"flex flex-wrap gap-2\">\n {message.files!.map((file, idx) =>\n showFilePreview ? (\n <FilePreviewCard\n key={idx}\n file={{ name: file.name, type: file.type, url: file.url, size: file.size }}\n onClick={() =>\n openFilePreview({ name: file.name, type: file.type, url: file.url, size: file.size })\n }\n />\n ) : (\n <div\n key={idx}\n className=\"flex items-center gap-2 rounded-lg border border-border px-3 py-2 text-xs bg-muted/30 hover:bg-muted/50 transition-colors\"\n >\n <FileIcon className=\"h-3.5 w-3.5 shrink-0 text-muted-foreground\" />\n <span className=\"truncate max-w-[180px]\">{file.name}</span>\n {file.size && (\n <span className=\"text-muted-foreground/70\">\n ({(file.size / 1024).toFixed(1)}KB)\n </span>\n )}\n {file.url && /^https?:\\/\\//i.test(file.url) && (\n <a\n href={file.url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"text-primary hover:underline font-medium\"\n >\n View\n </a>\n )}\n </div>\n ),\n )}\n </div>\n </div>\n )}\n\n {hasResponseAudio && message.response_audio && (\n <div className={cn('space-y-2 pt-1', mediaClassName)}>\n <div className=\"flex items-center gap-2 text-xs font-medium text-muted-foreground\">\n <Music className=\"h-3.5 w-3.5\" />\n Response Audio\n </div>\n {message.response_audio.transcript && (\n <div className=\"text-xs italic bg-muted/50 border border-border p-2.5 rounded-lg text-muted-foreground\">\n \"{message.response_audio.transcript}\"\n </div>\n )}\n {message.response_audio.content && (\n <audio\n src={`data:audio/wav;base64,${message.response_audio.content}`}\n controls\n className=\"w-full\"\n />\n )}\n </div>\n )}\n </>\n );\n}\n",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"import { cn } from '../lib/cn';\nimport { type ComponentProps, memo } from 'react';\nimport { Streamdown } from 'streamdown';\n\nexport type ResponseProps = ComponentProps<typeof Streamdown>;\n\nexport const Response = memo(\n ({ className, ...props }: ResponseProps) => (\n <Streamdown\n className={cn('size-full [&>*:first-child]:mt-0 [&>*:last-child]:mb-0', className)}\n {...props}\n />\n ),\n (prevProps, nextProps) => prevProps.children === nextProps.children,\n);\n\nResponse.displayName = 'Response';\n",
|
|
36
36
|
"import { Response } from '../../components/response';\nimport { useAgnoMessageContext } from './context';\n\nexport function AgnoMessageContent() {\n const { message } = useAgnoMessageContext();\n if (!message.content) return null;\n return (\n <div className=\"prose prose-sm dark:prose-invert max-w-none prose-p:leading-relaxed prose-pre:bg-muted prose-pre:border prose-pre:border-border\">\n <Response>{message.content}</Response>\n </div>\n );\n}\n",
|
|
37
37
|
"import { FileText } from 'lucide-react';\nimport { cn } from '../../lib/cn';\nimport { useAgnoMessageContext } from './context';\n\nexport function AgnoMessageReferences() {\n const { message, classNames } = useAgnoMessageContext();\n const references = message.extra_data?.references;\n if (!references || references.length === 0) return null;\n\n return (\n <div className={cn('space-y-2 pt-1', classNames?.assistant?.references)}>\n <div className=\"flex items-center gap-2 text-xs font-medium text-muted-foreground\">\n <FileText className=\"h-3.5 w-3.5\" />\n References ({references.length})\n </div>\n <div className=\"space-y-2\">\n {references.map((refData, idx) => (\n <div key={idx} className=\"text-xs space-y-1.5\">\n {refData.query && (\n <div className=\"font-medium text-foreground\">Query: {refData.query}</div>\n )}\n {refData.references.map((ref, refIdx) => (\n <div key={refIdx} className=\"bg-muted/50 border border-border p-2.5 rounded-lg\">\n <div className=\"italic text-muted-foreground mb-1\">\"{ref.content}\"</div>\n <div className=\"text-muted-foreground/70\">\n Source: {ref.name} (chunk {ref.meta_data.chunk}/{ref.meta_data.chunk_size})\n </div>\n </div>\n ))}\n </div>\n ))}\n </div>\n </div>\n );\n}\n",
|
|
38
|
-
"import { AlertCircle } from 'lucide-react';\nimport { SmartTimestamp } from '../../components/smart-timestamp';\nimport { formatSmartTimestamp } from '../../lib/format-timestamp';\nimport { cn } from '../../lib/cn';\nimport { useAgnoMessageContext } from './context';\n\nexport interface AgnoMessageFooterProps {\n /** Show timestamp (default: true) */\n showTimestamp?: boolean;\n}\n\nexport function AgnoMessageFooter({ showTimestamp = true }: AgnoMessageFooterProps = {}) {\n const { message, classNames, actions, isLastAssistantMessage, formatTimestamp } =\n useAgnoMessageContext();\n const hasError = message.streamingError;\n const isCustomTimestamp = !!formatTimestamp;\n const resolvedFormatTimestamp = formatTimestamp ?? formatSmartTimestamp;\n\n
|
|
38
|
+
"import { AlertCircle } from 'lucide-react';\nimport { SmartTimestamp } from '../../components/smart-timestamp';\nimport { formatSmartTimestamp } from '../../lib/format-timestamp';\nimport { cn } from '../../lib/cn';\nimport { useAgnoMessageContext } from './context';\n\nexport interface AgnoMessageFooterProps {\n /** Show timestamp (default: true) */\n showTimestamp?: boolean;\n}\n\nexport function AgnoMessageFooter({ showTimestamp = true }: AgnoMessageFooterProps = {}) {\n const { message, classNames, actions, isLastAssistantMessage, isStreamingThisMessage, formatTimestamp } =\n useAgnoMessageContext();\n const hasError = message.streamingError;\n const isCustomTimestamp = !!formatTimestamp;\n const resolvedFormatTimestamp = formatTimestamp ?? formatSmartTimestamp;\n\n // The footer (actions + timestamp + error) behaves as a single unit:\n // - Hidden entirely while the agent is still streaming this message.\n // - `actions.visibility` controls the whole footer's reveal behavior,\n // so the timestamp follows the same rule as the action buttons.\n if (isStreamingThisMessage) return null;\n\n const hasActions = !!actions?.assistant;\n const visibility = actions?.visibility ?? 'visible';\n\n // `last-assistant`: only render the footer on the latest assistant message.\n if (hasActions && visibility === 'last-assistant' && !isLastAssistantMessage) {\n return null;\n }\n\n if (!hasActions && !showTimestamp && !hasError) return null;\n\n // `hover` / `hover-last-visible`: fade the whole footer in on hover.\n // Only applies when actions are configured with a hover-based visibility —\n // a bare timestamp (no actions) stays always visible.\n const useHover =\n hasActions &&\n (visibility === 'hover' ||\n (visibility === 'hover-last-visible' && !isLastAssistantMessage));\n\n return (\n <div\n className={cn(\n 'flex items-center gap-2 pt-1 transition-opacity',\n useHover && 'opacity-0 group-hover/message:opacity-100',\n )}\n >\n {hasActions && (\n <div className={cn('flex items-center gap-1', classNames?.assistant?.actions)}>\n {actions!.assistant!(message)}\n </div>\n )}\n {hasError && (\n <span className=\"flex items-center gap-1 text-[11px] text-destructive\">\n <AlertCircle className=\"h-3 w-3\" />\n Error\n </span>\n )}\n {showTimestamp && (\n <SmartTimestamp\n date={new Date(message.created_at * 1000)}\n formatShort={isCustomTimestamp ? resolvedFormatTimestamp : undefined}\n className=\"text-[11px] text-muted-foreground\"\n />\n )}\n </div>\n );\n}\n",
|
|
39
39
|
"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",
|
|
40
40
|
"import { useState, useEffect, useCallback } from 'react';\nimport type {\n UserMemory,\n MemoriesListResponse,\n ListMemoriesParams,\n CreateMemoryRequest,\n UpdateMemoryRequest,\n UserMemoryStatsResponse,\n UserMemoryStatsParams,\n} from '@rodrigocoliveira/agno-types';\nimport { useAgnoClient } from '../context/AgnoContext';\n\n/**\n * Hook for memory management\n */\nexport function useAgnoMemory() {\n const client = useAgnoClient();\n const [memories, setMemories] = useState<UserMemory[]>([]);\n const [topics, setTopics] = useState<string[]>([]);\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState<string | undefined>();\n\n // Listen to memory events\n useEffect(() => {\n const handleMemoryCreated = (memory: UserMemory) => {\n setMemories((prev) => [memory, ...prev]);\n };\n\n const handleMemoryUpdated = (memory: UserMemory) => {\n setMemories((prev) =>\n prev.map((m) => (m.memory_id === memory.memory_id ? memory : m))\n );\n };\n\n const handleMemoryDeleted = ({ memoryId }: { memoryId: string }) => {\n setMemories((prev) => prev.filter((m) => m.memory_id !== memoryId));\n };\n\n const handleMemoriesDeleted = ({ memoryIds }: { memoryIds: string[] }) => {\n const deletedIds = new Set(memoryIds);\n setMemories((prev) => prev.filter((m) => !deletedIds.has(m.memory_id)));\n };\n\n const handleStateChange = () => {\n const state = client.getState();\n setMemories(state.memories);\n setTopics(state.memoryTopics);\n };\n\n client.on('memory:created', handleMemoryCreated);\n client.on('memory:updated', handleMemoryUpdated);\n client.on('memory:deleted', handleMemoryDeleted);\n client.on('memories:deleted', handleMemoriesDeleted);\n client.on('state:change', handleStateChange);\n\n // Initialize\n const state = client.getState();\n setMemories(state.memories);\n setTopics(state.memoryTopics);\n\n return () => {\n client.off('memory:created', handleMemoryCreated);\n client.off('memory:updated', handleMemoryUpdated);\n client.off('memory:deleted', handleMemoryDeleted);\n client.off('memories:deleted', handleMemoriesDeleted);\n client.off('state:change', handleStateChange);\n };\n }, [client]);\n\n /**\n * Fetch memories with optional filtering and pagination\n */\n const fetchMemories = useCallback(\n async (\n queryParams?: ListMemoriesParams,\n options?: { params?: Record<string, string> }\n ): Promise<MemoriesListResponse> => {\n setIsLoading(true);\n setError(undefined);\n try {\n const response = await client.fetchMemories(queryParams, options);\n setMemories(response.data);\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 memory by ID\n */\n const getMemoryById = useCallback(\n async (\n memoryId: string,\n options?: { params?: Record<string, string>; table?: string }\n ): Promise<UserMemory> => {\n setIsLoading(true);\n setError(undefined);\n try {\n return await client.getMemoryById(memoryId, 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 all available memory topics\n */\n const getMemoryTopics = useCallback(\n async (\n options?: { params?: Record<string, string>; table?: string }\n ): Promise<string[]> => {\n setIsLoading(true);\n setError(undefined);\n try {\n const result = await client.getMemoryTopics(options);\n setTopics(result);\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 user memory statistics\n */\n const getUserMemoryStats = useCallback(\n async (\n queryParams?: UserMemoryStatsParams,\n options?: { params?: Record<string, string> }\n ): Promise<UserMemoryStatsResponse> => {\n setIsLoading(true);\n setError(undefined);\n try {\n return await client.getUserMemoryStats(queryParams, 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 memory\n */\n const createMemory = useCallback(\n async (\n request: CreateMemoryRequest,\n options?: { params?: Record<string, string>; table?: string }\n ): Promise<UserMemory> => {\n setIsLoading(true);\n setError(undefined);\n try {\n return await client.createMemory(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 * Update an existing memory\n */\n const updateMemory = useCallback(\n async (\n memoryId: string,\n request: UpdateMemoryRequest,\n options?: { params?: Record<string, string>; table?: string }\n ): Promise<UserMemory> => {\n setIsLoading(true);\n setError(undefined);\n try {\n return await client.updateMemory(memoryId, 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 * Delete a single memory\n */\n const deleteMemory = useCallback(\n async (\n memoryId: string,\n options?: { params?: Record<string, string>; table?: string }\n ): Promise<void> => {\n setIsLoading(true);\n setError(undefined);\n try {\n await client.deleteMemory(memoryId, 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 memories\n */\n const deleteMultipleMemories = useCallback(\n async (\n memoryIds: string[],\n options?: { params?: Record<string, string>; table?: string; userId?: string }\n ): Promise<void> => {\n setIsLoading(true);\n setError(undefined);\n try {\n await client.deleteMultipleMemories(memoryIds, 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 memories,\n topics,\n isLoading,\n error,\n fetchMemories,\n getMemoryById,\n getMemoryTopics,\n getUserMemoryStats,\n createMemory,\n updateMemory,\n deleteMemory,\n deleteMultipleMemories,\n };\n}\n",
|
|
41
41
|
"import { useCallback, useEffect, useState } from 'react';\nimport { useAgnoClient } from '../context/AgnoContext';\n\n/**\n * Hook for reactive access to the backend-managed `session_state` dict.\n *\n * The cache is populated automatically by the client:\n * - On `loadSession()` via a parallel `getSessionById()` call\n * - On agent `RunCompleted` chunks that carry `session_state`\n * - On any CustomEvent with a `session_state` field (opt-out via config)\n * - On team runs, via a post-stream REST refresh (workaround through Agno 2.6.0)\n *\n * @example\n * ```tsx\n * type MyState = { counter: number; lastAction?: string };\n *\n * function Panel() {\n * const { sessionState, setSessionState, mergeSessionState } =\n * useAgnoSessionState<MyState>();\n * return <div>count: {sessionState?.counter ?? 0}</div>;\n * }\n * ```\n */\nexport function useAgnoSessionState<\n T extends Record<string, unknown> = Record<string, unknown>\n>(): {\n sessionState: T | null;\n isRefreshing: boolean;\n setSessionState: (next: T | ((prev: T | null) => T)) => Promise<void>;\n mergeSessionState: (partial: Partial<T>) => Promise<void>;\n refreshSessionState: () => Promise<T | null>;\n} {\n const client = useAgnoClient();\n const [sessionState, setLocalSessionState] = useState<T | null>(() =>\n client.getSessionState<T>()\n );\n const [isRefreshing, setIsRefreshing] = useState<boolean>(\n () => client.getState().isSessionStateRefreshing ?? false\n );\n\n useEffect(() => {\n const handleStateChange = (state: T | null) => {\n setLocalSessionState(state);\n };\n const handleRefreshStart = () => setIsRefreshing(true);\n const handleRefreshEnd = () => setIsRefreshing(false);\n\n client.on('session-state:change', handleStateChange);\n client.on('session-state:refresh:start', handleRefreshStart);\n client.on('session-state:refresh:end', handleRefreshEnd);\n\n // Sync initial value in case the client already has one when we subscribe.\n setLocalSessionState(client.getSessionState<T>());\n setIsRefreshing(client.getState().isSessionStateRefreshing ?? false);\n\n return () => {\n client.off('session-state:change', handleStateChange);\n client.off('session-state:refresh:start', handleRefreshStart);\n client.off('session-state:refresh:end', handleRefreshEnd);\n };\n }, [client]);\n\n const setSessionState = useCallback(\n async (next: T | ((prev: T | null) => T)): Promise<void> => {\n const resolved =\n typeof next === 'function'\n ? (next as (prev: T | null) => T)(client.getSessionState<T>())\n : next;\n await client.setSessionState(resolved);\n },\n [client]\n );\n\n const mergeSessionState = useCallback(\n async (partial: Partial<T>): Promise<void> => {\n const current = (client.getSessionState<T>() ?? ({} as T)) as T;\n const merged = { ...current, ...partial } as T;\n await client.setSessionState(merged);\n },\n [client]\n );\n\n const refreshSessionState = useCallback(async (): Promise<T | null> => {\n const result = await client.refreshSessionState();\n return (result as T | null) ?? null;\n }, [client]);\n\n return {\n sessionState,\n isRefreshing,\n setSessionState,\n mergeSessionState,\n refreshSessionState,\n };\n}\n",
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"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",
|
|
46
46
|
"import { useState, useEffect, useCallback } from 'react';\nimport type {\n ComponentResponse,\n ComponentCreate,\n ComponentUpdate,\n ComponentConfigResponse,\n ConfigCreate,\n ConfigUpdate,\n ComponentsListResponse,\n ListComponentsParams,\n} from '@rodrigocoliveira/agno-types';\nimport { useAgnoClient } from '../context/AgnoContext';\n\n/**\n * Hook for AgentOS Studio components (DB-stored agents/teams/workflows).\n *\n * Covers both component CRUD and config versioning. Components live in the\n * AgentOS database and represent agents/teams/workflows that can be created,\n * edited, and published without code changes.\n *\n * Note: the Agno `/components` endpoint has no native filter by `user_id`.\n * For per-user scoping, either store `user_id` in `metadata` and filter\n * client-side, or extend your backend and pass `params: { user_id }` through.\n */\nexport function useAgnoComponents() {\n const client = useAgnoClient();\n const [components, setComponents] = useState<ComponentResponse[]>([]);\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState<string | undefined>();\n\n useEffect(() => {\n const handleComponentCreated = (component: ComponentResponse) => {\n setComponents((prev) => [component, ...prev]);\n };\n\n const handleComponentUpdated = (component: ComponentResponse) => {\n setComponents((prev) =>\n prev.map((c) => (c.component_id === component.component_id ? component : c))\n );\n };\n\n const handleComponentDeleted = ({ componentId }: { componentId: string }) => {\n setComponents((prev) => prev.filter((c) => c.component_id !== componentId));\n };\n\n const handleStateChange = () => {\n setComponents(client.getState().components);\n };\n\n client.on('component:created', handleComponentCreated);\n client.on('component:updated', handleComponentUpdated);\n client.on('component:deleted', handleComponentDeleted);\n client.on('state:change', handleStateChange);\n\n setComponents(client.getState().components);\n\n return () => {\n client.off('component:created', handleComponentCreated);\n client.off('component:updated', handleComponentUpdated);\n client.off('component:deleted', handleComponentDeleted);\n client.off('state:change', handleStateChange);\n };\n }, [client]);\n\n const fetchComponents = useCallback(\n async (\n queryParams?: ListComponentsParams,\n options?: { params?: Record<string, string> }\n ): Promise<ComponentsListResponse> => {\n setIsLoading(true);\n setError(undefined);\n try {\n const response = await client.fetchComponents(queryParams, options);\n setComponents(response.data);\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 const getComponentById = useCallback(\n async (\n componentId: string,\n options?: { params?: Record<string, string> }\n ): Promise<ComponentResponse> => {\n setIsLoading(true);\n setError(undefined);\n try {\n return await client.getComponentById(componentId, 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 const createComponent = useCallback(\n async (\n request: ComponentCreate,\n options?: { params?: Record<string, string> }\n ): Promise<ComponentResponse> => {\n setIsLoading(true);\n setError(undefined);\n try {\n return await client.createComponent(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 const updateComponent = useCallback(\n async (\n componentId: string,\n request: ComponentUpdate,\n options?: { params?: Record<string, string> }\n ): Promise<ComponentResponse> => {\n setIsLoading(true);\n setError(undefined);\n try {\n return await client.updateComponent(componentId, 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 const deleteComponent = useCallback(\n async (\n componentId: string,\n options?: { params?: Record<string, string> }\n ): Promise<void> => {\n setIsLoading(true);\n setError(undefined);\n try {\n await client.deleteComponent(componentId, 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 const fetchComponentConfigs = useCallback(\n async (\n componentId: string,\n options?: { params?: Record<string, string> }\n ): Promise<ComponentConfigResponse[]> => {\n setIsLoading(true);\n setError(undefined);\n try {\n return await client.fetchComponentConfigs(componentId, 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 const createComponentConfig = useCallback(\n async (\n componentId: string,\n request: ConfigCreate,\n options?: { params?: Record<string, string> }\n ): Promise<ComponentConfigResponse> => {\n setIsLoading(true);\n setError(undefined);\n try {\n return await client.createComponentConfig(componentId, 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 const getCurrentComponentConfig = useCallback(\n async (\n componentId: string,\n options?: { params?: Record<string, string> }\n ): Promise<ComponentConfigResponse> => {\n setIsLoading(true);\n setError(undefined);\n try {\n return await client.getCurrentComponentConfig(componentId, 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 const getComponentConfigByVersion = useCallback(\n async (\n componentId: string,\n version: number,\n options?: { params?: Record<string, string> }\n ): Promise<ComponentConfigResponse> => {\n setIsLoading(true);\n setError(undefined);\n try {\n return await client.getComponentConfigByVersion(componentId, version, 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 const updateComponentConfig = useCallback(\n async (\n componentId: string,\n version: number,\n request: ConfigUpdate,\n options?: { params?: Record<string, string> }\n ): Promise<ComponentConfigResponse> => {\n setIsLoading(true);\n setError(undefined);\n try {\n return await client.updateComponentConfig(componentId, version, 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 const deleteComponentConfig = useCallback(\n async (\n componentId: string,\n version: number,\n options?: { params?: Record<string, string> }\n ): Promise<void> => {\n setIsLoading(true);\n setError(undefined);\n try {\n await client.deleteComponentConfig(componentId, version, 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 const setCurrentComponentConfig = useCallback(\n async (\n componentId: string,\n version: number,\n options?: { params?: Record<string, string> }\n ): Promise<ComponentConfigResponse> => {\n setIsLoading(true);\n setError(undefined);\n try {\n return await client.setCurrentComponentConfig(componentId, version, 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 components,\n isLoading,\n error,\n fetchComponents,\n getComponentById,\n createComponent,\n updateComponent,\n deleteComponent,\n fetchComponentConfigs,\n createComponentConfig,\n getCurrentComponentConfig,\n getComponentConfigByVersion,\n updateComponentConfig,\n deleteComponentConfig,\n setCurrentComponentConfig,\n };\n}\n"
|
|
47
47
|
],
|
|
48
|
-
"mappings": "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",
|
|
49
|
-
"debugId": "
|
|
48
|
+
"mappings": "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",
|
|
49
|
+
"debugId": "EC3FE2C2B9E1280964756E2164756E21",
|
|
50
50
|
"names": []
|
|
51
51
|
}
|