@rodrigocoliveira/agno-react 1.4.0 → 2.0.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/README.md +32 -46
- package/dist/index.d.ts +6 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1738 -87
- package/dist/index.js.map +31 -3
- package/dist/index.mjs +1759 -87
- package/dist/index.mjs.map +31 -3
- package/dist/ui/composed/AgnoMessageItem.d.ts +12 -24
- package/dist/ui/composed/AgnoMessageItem.d.ts.map +1 -1
- package/dist/ui/composed/agno-chat/agno-chat.d.ts +23 -3
- package/dist/ui/composed/agno-chat/agno-chat.d.ts.map +1 -1
- package/dist/ui/composed/agno-chat/context.d.ts +4 -3
- package/dist/ui/composed/agno-chat/context.d.ts.map +1 -1
- package/dist/ui/composed/agno-chat/messages.d.ts +9 -15
- package/dist/ui/composed/agno-chat/messages.d.ts.map +1 -1
- package/dist/ui/composed/agno-chat/render-tool.d.ts +11 -0
- package/dist/ui/composed/agno-chat/render-tool.d.ts.map +1 -0
- package/dist/ui/composed/agno-chat/tool-building-blocks.d.ts +11 -0
- package/dist/ui/composed/agno-chat/tool-building-blocks.d.ts.map +1 -0
- package/dist/ui/composed/agno-message/content.d.ts +2 -0
- package/dist/ui/composed/agno-message/content.d.ts.map +1 -0
- package/dist/ui/composed/agno-message/context.d.ts +21 -0
- package/dist/ui/composed/agno-message/context.d.ts.map +1 -0
- package/dist/ui/composed/agno-message/footer.d.ts +6 -0
- package/dist/ui/composed/agno-message/footer.d.ts.map +1 -0
- package/dist/ui/composed/agno-message/index.d.ts +13 -0
- package/dist/ui/composed/agno-message/index.d.ts.map +1 -0
- package/dist/ui/composed/agno-message/media.d.ts +2 -0
- package/dist/ui/composed/agno-message/media.d.ts.map +1 -0
- package/dist/ui/composed/agno-message/message.d.ts +41 -0
- package/dist/ui/composed/agno-message/message.d.ts.map +1 -0
- package/dist/ui/composed/agno-message/reasoning.d.ts +2 -0
- package/dist/ui/composed/agno-message/reasoning.d.ts.map +1 -0
- package/dist/ui/composed/agno-message/references.d.ts +2 -0
- package/dist/ui/composed/agno-message/references.d.ts.map +1 -0
- package/dist/ui/composed/agno-message/tools.d.ts +7 -0
- package/dist/ui/composed/agno-message/tools.d.ts.map +1 -0
- package/dist/ui/composed/index.d.ts +6 -0
- package/dist/ui/composed/index.d.ts.map +1 -1
- package/dist/ui/index.d.ts +6 -0
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/ui/primitives/badge.d.ts +1 -1
- package/dist/ui/primitives/button.d.ts +1 -1
- package/dist/ui/primitives/command.d.ts +1 -1
- package/dist/ui.js +1146 -643
- package/dist/ui.js.map +22 -7
- package/dist/ui.mjs +1139 -645
- package/dist/ui.mjs.map +22 -7
- package/package.json +3 -3
package/dist/ui.mjs.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../src/ui/lib/cn.ts", "../src/ui/lib/format-timestamp.ts", "../src/ui/lib/file-utils.ts", "../src/ui/primitives/button.tsx", "../src/ui/primitives/badge.tsx", "../src/ui/primitives/avatar.tsx", "../src/ui/primitives/input-group.tsx", "../src/ui/primitives/collapsible.tsx", "../src/ui/primitives/tooltip.tsx", "../src/ui/primitives/accordion.tsx", "../src/ui/primitives/dropdown-menu.tsx", "../src/ui/primitives/hover-card.tsx", "../src/ui/primitives/select.tsx", "../src/ui/primitives/command.tsx", "../src/ui/primitives/dialog.tsx", "../src/ui/components/message.tsx", "../src/ui/components/conversation.tsx", "../src/ui/components/response.tsx", "../src/ui/components/tool.tsx", "../src/ui/components/code-block.tsx", "../src/ui/components/artifact.tsx", "../src/ui/components/streaming-indicator.tsx", "../src/ui/components/audio-recorder.tsx", "../src/ui/components/smart-timestamp.tsx", "../src/ui/components/file-preview-card.tsx", "../src/ui/components/file-preview-modal.tsx", "../src/ui/components/image-lightbox.tsx", "../src/ui/components/prompt-input/context.ts", "../src/ui/components/prompt-input/provider.tsx", "../src/ui/components/prompt-input/prompt-input.tsx", "../src/ui/components/prompt-input/textarea.tsx", "../src/ui/components/prompt-input/attachments.tsx", "../src/ui/components/prompt-input/footer.tsx", "../src/ui/components/prompt-input/buttons.tsx", "../src/ui/components/prompt-input/drop-zone.tsx", "../src/ui/components/prompt-input/speech.tsx", "../src/ui/components/prompt-input/model-select.tsx", "../src/ui/components/prompt-input/tabs.tsx", "../src/ui/components/prompt-input/command.tsx", "../src/ui/composed/
|
|
3
|
+
"sources": ["../src/ui/lib/cn.ts", "../src/ui/lib/format-timestamp.ts", "../src/ui/lib/file-utils.ts", "../src/ui/primitives/button.tsx", "../src/ui/primitives/badge.tsx", "../src/ui/primitives/avatar.tsx", "../src/ui/primitives/input-group.tsx", "../src/ui/primitives/collapsible.tsx", "../src/ui/primitives/tooltip.tsx", "../src/ui/primitives/accordion.tsx", "../src/ui/primitives/dropdown-menu.tsx", "../src/ui/primitives/hover-card.tsx", "../src/ui/primitives/select.tsx", "../src/ui/primitives/command.tsx", "../src/ui/primitives/dialog.tsx", "../src/ui/components/message.tsx", "../src/ui/components/conversation.tsx", "../src/ui/components/response.tsx", "../src/ui/components/tool.tsx", "../src/ui/components/code-block.tsx", "../src/ui/components/artifact.tsx", "../src/ui/components/streaming-indicator.tsx", "../src/ui/components/audio-recorder.tsx", "../src/ui/components/smart-timestamp.tsx", "../src/ui/components/file-preview-card.tsx", "../src/ui/components/file-preview-modal.tsx", "../src/ui/components/image-lightbox.tsx", "../src/ui/components/prompt-input/context.ts", "../src/ui/components/prompt-input/provider.tsx", "../src/ui/components/prompt-input/prompt-input.tsx", "../src/ui/components/prompt-input/textarea.tsx", "../src/ui/components/prompt-input/attachments.tsx", "../src/ui/components/prompt-input/footer.tsx", "../src/ui/components/prompt-input/buttons.tsx", "../src/ui/components/prompt-input/drop-zone.tsx", "../src/ui/components/prompt-input/speech.tsx", "../src/ui/components/prompt-input/model-select.tsx", "../src/ui/components/prompt-input/tabs.tsx", "../src/ui/components/prompt-input/command.tsx", "../src/ui/composed/agno-message/message.tsx", "../src/ui/composed/agno-message/context.ts", "../src/ui/composed/agno-message/reasoning.tsx", "../src/ui/composed/agno-message/media.tsx", "../src/ui/composed/agno-chat/context.ts", "../src/components/GenerativeUIRenderer.tsx", "../src/utils/component-registry.ts", "../src/hooks/useAgnoToolExecution.ts", "../src/context/AgnoContext.tsx", "../src/context/ToolHandlerContext.tsx", "../src/ui/composed/agno-chat/tool-building-blocks.tsx", "../src/ui/composed/agno-message/tools.tsx", "../src/ui/composed/agno-message/content.tsx", "../src/ui/composed/agno-message/references.tsx", "../src/ui/composed/agno-message/footer.tsx", "../src/ui/composed/AgnoMessageItem.tsx", "../src/ui/composed/AgnoChatInput.tsx", "../src/ui/composed/agno-chat/render-tool.ts", "../src/ui/composed/agno-chat/agno-chat.tsx", "../src/ui/composed/agno-chat/messages.tsx", "../src/ui/composed/agno-chat/suggested-prompts.tsx", "../src/ui/composed/agno-chat/empty-state.tsx", "../src/ui/composed/agno-chat/error-bar.tsx", "../src/ui/composed/agno-chat/input.tsx", "../src/ui/composed/agno-chat/index.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"import { clsx, type ClassValue } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n",
|
|
6
6
|
"/**\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",
|
|
@@ -41,18 +41,33 @@
|
|
|
41
41
|
"import { cn } from '../../lib/cn';\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '../../primitives/select';\nimport type { ComponentProps } from 'react';\n\nexport type PromptInputModelSelectProps = ComponentProps<typeof Select>;\nexport const PromptInputModelSelect = (props: PromptInputModelSelectProps) => <Select {...props} />;\n\nexport type PromptInputModelSelectTriggerProps = ComponentProps<typeof SelectTrigger>;\n\nexport const PromptInputModelSelectTrigger = ({\n className,\n ...props\n}: PromptInputModelSelectTriggerProps) => (\n <SelectTrigger\n className={cn(\n 'border-none bg-transparent font-medium text-muted-foreground shadow-none transition-colors',\n 'hover:bg-accent hover:text-foreground [&[aria-expanded=\"true\"]]:bg-accent [&[aria-expanded=\"true\"]]:text-foreground',\n className,\n )}\n {...props}\n />\n);\n\nexport type PromptInputModelSelectContentProps = ComponentProps<typeof SelectContent>;\nexport const PromptInputModelSelectContent = ({ className, ...props }: PromptInputModelSelectContentProps) => (\n <SelectContent className={cn(className)} {...props} />\n);\n\nexport type PromptInputModelSelectItemProps = ComponentProps<typeof SelectItem>;\nexport const PromptInputModelSelectItem = ({ className, ...props }: PromptInputModelSelectItemProps) => (\n <SelectItem className={cn(className)} {...props} />\n);\n\nexport type PromptInputModelSelectValueProps = ComponentProps<typeof SelectValue>;\nexport const PromptInputModelSelectValue = ({ className, ...props }: PromptInputModelSelectValueProps) => (\n <SelectValue className={cn(className)} {...props} />\n);\n",
|
|
42
42
|
"import { cn } from '../../lib/cn';\nimport type { HTMLAttributes } from 'react';\n\nexport type PromptInputTabsListProps = HTMLAttributes<HTMLDivElement>;\nexport const PromptInputTabsList = ({ className, ...props }: PromptInputTabsListProps) => (\n <div className={cn(className)} {...props} />\n);\n\nexport type PromptInputTabProps = HTMLAttributes<HTMLDivElement>;\nexport const PromptInputTab = ({ className, ...props }: PromptInputTabProps) => (\n <div className={cn(className)} {...props} />\n);\n\nexport type PromptInputTabLabelProps = HTMLAttributes<HTMLHeadingElement>;\nexport const PromptInputTabLabel = ({ className, ...props }: PromptInputTabLabelProps) => (\n <h3 className={cn('mb-2 px-3 font-medium text-muted-foreground text-xs', className)} {...props} />\n);\n\nexport type PromptInputTabBodyProps = HTMLAttributes<HTMLDivElement>;\nexport const PromptInputTabBody = ({ className, ...props }: PromptInputTabBodyProps) => (\n <div className={cn('space-y-1', className)} {...props} />\n);\n\nexport type PromptInputTabItemProps = HTMLAttributes<HTMLDivElement>;\nexport const PromptInputTabItem = ({ className, ...props }: PromptInputTabItemProps) => (\n <div className={cn('flex items-center gap-2 px-3 py-2 text-xs hover:bg-accent', className)} {...props} />\n);\n",
|
|
43
43
|
"import { cn } from '../../lib/cn';\nimport {\n Command,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n CommandSeparator,\n} from '../../primitives/command';\nimport type { ComponentProps } from 'react';\n\nexport type PromptInputCommandProps = ComponentProps<typeof Command>;\nexport const PromptInputCommand = ({ className, ...props }: PromptInputCommandProps) => (\n <Command className={cn(className)} {...props} />\n);\n\nexport type PromptInputCommandInputProps = ComponentProps<typeof CommandInput>;\nexport const PromptInputCommandInput = ({ className, ...props }: PromptInputCommandInputProps) => (\n <CommandInput className={cn(className)} {...props} />\n);\n\nexport type PromptInputCommandListProps = ComponentProps<typeof CommandList>;\nexport const PromptInputCommandList = ({ className, ...props }: PromptInputCommandListProps) => (\n <CommandList className={cn(className)} {...props} />\n);\n\nexport type PromptInputCommandEmptyProps = ComponentProps<typeof CommandEmpty>;\nexport const PromptInputCommandEmpty = ({ className, ...props }: PromptInputCommandEmptyProps) => (\n <CommandEmpty className={cn(className)} {...props} />\n);\n\nexport type PromptInputCommandGroupProps = ComponentProps<typeof CommandGroup>;\nexport const PromptInputCommandGroup = ({ className, ...props }: PromptInputCommandGroupProps) => (\n <CommandGroup className={cn(className)} {...props} />\n);\n\nexport type PromptInputCommandItemProps = ComponentProps<typeof CommandItem>;\nexport const PromptInputCommandItem = ({ className, ...props }: PromptInputCommandItemProps) => (\n <CommandItem className={cn(className)} {...props} />\n);\n\nexport type PromptInputCommandSeparatorProps = ComponentProps<typeof CommandSeparator>;\nexport const PromptInputCommandSeparator = ({ className, ...props }: PromptInputCommandSeparatorProps) => (\n <CommandSeparator className={cn(className)} {...props} />\n);\n",
|
|
44
|
-
"import { useState } from 'react';\nimport type { ChatMessage, ToolCall } from '@rodrigocoliveira/agno-types';\nimport { GenerativeUIRenderer } from '@rodrigocoliveira/agno-react';\nimport { Response } from '../components/response';\nimport { Tool, ToolContent, ToolHeader, ToolInput, ToolOutput } from '../components/tool';\nimport { Artifact } from '../components/artifact';\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 { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from '../primitives/accordion';\nimport { cn } from '../lib/cn';\nimport { formatSmartTimestamp } from '../lib/format-timestamp';\nimport type { ToolState } from '../types';\nimport type { AgnoMessageClassNames, AgnoMessageAvatars, AgnoMessageActions } from '../types';\nimport type { ReactNode } from 'react';\nimport type { ToolResultRenderer } from './agno-chat/context';\nimport {\n AlertCircle,\n FileIcon,\n FileText,\n Image as ImageIcon,\n Lightbulb,\n Music,\n Paperclip,\n Video,\n} from 'lucide-react';\n\nexport interface AgnoMessageItemProps {\n message: ChatMessage;\n className?: string;\n classNames?: AgnoMessageClassNames;\n /** Custom render for the entire message content area */\n renderContent?: (message: ChatMessage) => ReactNode;\n /** Custom render for individual tool calls */\n renderToolCall?: (tool: NonNullable<ChatMessage['tool_calls']>[0], index: number) => ReactNode;\n /** Custom render for media sections */\n renderMedia?: (message: ChatMessage) => ReactNode;\n /** Grouped avatar configuration */\n avatars?: AgnoMessageAvatars;\n /** Grouped action buttons configuration with visibility control */\n actions?: AgnoMessageActions;\n /** Whether this is the last assistant message in the conversation (used for visibility logic) */\n isLastAssistantMessage?: boolean;\n /** Show reasoning steps (default: true) */\n showReasoning?: boolean;\n /** Show references (default: true) */\n showReferences?: boolean;\n /** Show timestamp (default: true) */\n showTimestamp?: boolean;\n /** Show generative UI renders (default: true) */\n showGenerativeUI?: boolean;\n /** Show tool call details (default: true) */\n showToolCalls?: boolean;\n /** Enable file preview cards with click-to-open modal (default: true) */\n showFilePreview?: boolean;\n /** Enable image lightbox on click (default: true) */\n showImageLightbox?: boolean;\n /** Custom timestamp formatter */\n formatTimestamp?: (date: Date) => string;\n /** Per-tool renderers shown inline in chat after a HITL tool completes, and on session reload */\n toolResultRenderers?: Record<string, ToolResultRenderer>;\n}\n\nconst defaultFormatTimestamp = formatSmartTimestamp;\n\nconst getToolState = (tool: NonNullable<ChatMessage['tool_calls']>[0]): ToolState => {\n return tool.tool_call_error ? 'output-error' : 'output-available';\n};\n\ntype PreviewState =\n | { type: 'image'; images: LightboxImage[]; initialIndex: number }\n | { type: 'file'; file: FilePreviewFile }\n | null;\n\nexport function AgnoMessageItem({\n message,\n className,\n classNames,\n renderContent,\n renderToolCall,\n renderMedia,\n avatars,\n actions,\n isLastAssistantMessage = false,\n showReasoning = true,\n showReferences = true,\n showTimestamp = true,\n showGenerativeUI = true,\n showToolCalls = true,\n showFilePreview = true,\n showImageLightbox = true,\n formatTimestamp,\n toolResultRenderers,\n}: AgnoMessageItemProps) {\n const isUser = message.role === 'user';\n const hasError = message.streamingError;\n const toolsWithUI = message.tool_calls?.filter((tool) => (tool as ToolCall & { ui_component?: any }).ui_component) || [];\n\n const [preview, setPreview] = useState<PreviewState>(null);\n\n const isCustomTimestamp = !!formatTimestamp;\n const resolvedFormatTimestamp = formatTimestamp ?? defaultFormatTimestamp;\n\n const openImageLightbox = (images: LightboxImage[], index: number) => {\n if (!showImageLightbox) return;\n setPreview({ type: 'image', images, initialIndex: index });\n };\n\n const openFilePreview = (file: FilePreviewFile) => {\n if (!showFilePreview) return;\n setPreview({ type: 'file', file });\n };\n\n const closePreview = () => setPreview(null);\n\n return (\n <div className={cn('py-5 first:pt-2', isUser ? 'flex justify-end' : '', classNames?.root, className)}>\n {isUser ? (\n /* User message */\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 {/* Attachments row — images + files side-by-side as uniform cards */}\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 {/* Image thumbnails as square cards */}\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 {/* Audio chips */}\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 {/* File cards */}\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 bubble — text only */}\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 /* Assistant message */\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 {/* Custom content render */}\n {renderContent ? (\n renderContent(message)\n ) : (\n <>\n {/* Reasoning Steps */}\n {showReasoning &&\n message.extra_data?.reasoning_steps &&\n message.extra_data.reasoning_steps.length > 0 && (\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 ({message.extra_data.reasoning_steps.length} steps)\n </div>\n <Accordion type=\"multiple\" className=\"w-full\">\n {message.extra_data.reasoning_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 {/* Main Content */}\n {message.content && (\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 {/* Generative UI */}\n {showGenerativeUI && toolsWithUI.length > 0 && (\n <div className=\"space-y-3\">\n {toolsWithUI.map((tool) => {\n const uiComponent = (tool as ToolCall & { ui_component?: any }).ui_component;\n return (\n <div key={tool.tool_call_id}>\n {uiComponent.layout === 'artifact' ? (\n <Artifact>\n <GenerativeUIRenderer spec={uiComponent} className=\"w-full p-2\" />\n </Artifact>\n ) : (\n <GenerativeUIRenderer spec={uiComponent} className=\"w-full\" />\n )}\n </div>\n );\n })}\n </div>\n )}\n\n {/* Tool result renderers — shown after HITL execution and on session reload */}\n {toolResultRenderers && message.tool_calls?.map((tool) => {\n const renderer = toolResultRenderers[tool.tool_name];\n const content = (tool.result ?? tool.content) as string | undefined;\n if (!renderer || !content) return null;\n return (\n <div key={`result-${tool.tool_call_id}`}>\n {renderer(tool.tool_args, content)}\n </div>\n );\n })}\n\n {/* Media - custom or default */}\n {renderMedia\n ? renderMedia(message)\n : (() => {\n const mediaClassName = classNames?.assistant?.media;\n return (\n <>\n {/* Images */}\n {message.images && message.images.length > 0 && (\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 {/* Videos */}\n {message.videos && message.videos.length > 0 && (\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\n src={video.url}\n controls\n className=\"w-full rounded-lg border border-border\"\n />\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 {/* Audio */}\n {message.audio && message.audio.length > 0 && (\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 {/* File Attachments */}\n {message.files && message.files.length > 0 && (\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 {/* Response Audio (TTS) */}\n {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\n {/* Tool Calls */}\n {showToolCalls && message.tool_calls && message.tool_calls.length > 0 && (\n <div className={cn('space-y-2 pt-1', classNames?.assistant?.toolCalls)}>\n {message.tool_calls.map((tool, idx) =>\n renderToolCall ? (\n renderToolCall(tool, idx)\n ) : (\n <Tool key={tool.tool_call_id || idx} defaultOpen={idx === 0}>\n <ToolHeader title={tool.tool_name} type=\"tool-use\" state={getToolState(tool)} />\n <ToolContent>\n <ToolInput input={tool.tool_args} />\n {tool.content && (\n <ToolOutput\n output={tool.content}\n errorText={tool.tool_call_error ? 'Tool execution failed' : undefined}\n />\n )}\n </ToolContent>\n </Tool>\n ),\n )}\n </div>\n )}\n\n {/* References */}\n {showReferences &&\n message.extra_data?.references &&\n message.extra_data.references.length > 0 && (\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 ({message.extra_data.references.length})\n </div>\n <div className=\"space-y-2\">\n {message.extra_data.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 )}\n\n {/* Footer: actions + timestamp, left-aligned */}\n {(actions?.assistant || showTimestamp || hasError) && (\n <div className=\"flex items-center gap-2 pt-1\">\n {actions?.assistant && (() => {\n const visibility = actions.visibility ?? 'visible';\n // For 'last-assistant' mode, only render on the last assistant message\n if (visibility === 'last-assistant' && !isLastAssistantMessage) return null;\n\n const useHover =\n visibility === 'hover' ||\n (visibility === 'hover-last-visible' && !isLastAssistantMessage);\n\n return (\n <div\n className={cn(\n 'flex items-center gap-1 transition-opacity',\n useHover && 'opacity-0 group-hover/message:opacity-100',\n classNames?.assistant?.actions,\n )}\n >\n {actions.assistant(message)}\n </div>\n );\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 </div>\n </div>\n )}\n\n {/* Image Lightbox */}\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\n {/* File Preview Modal */}\n {preview?.type === 'file' && (\n <FilePreviewModal\n open\n onOpenChange={(open) => { if (!open) closePreview(); }}\n file={preview.file}\n />\n )}\n </div>\n );\n}\n",
|
|
44
|
+
"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",
|
|
45
|
+
"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",
|
|
46
|
+
"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",
|
|
47
|
+
"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",
|
|
48
|
+
"import { createContext, useContext } from 'react';\nimport type { RefObject } from 'react';\nimport type { ChatMessage, ClientState, ToolCall } from '@rodrigocoliveira/agno-types';\nimport type { RenderTool } from './render-tool';\n\nexport interface AgnoChatContextValue {\n // From useAgnoChat()\n messages: ChatMessage[];\n sendMessage: (\n message: string | FormData,\n options?: { headers?: Record<string, string>; params?: Record<string, string> },\n ) => Promise<void>;\n clearMessages: () => void;\n cancelRun: () => Promise<void>;\n isStreaming: boolean;\n isRefreshing: boolean;\n isCancelling: boolean;\n currentRunId?: string;\n error?: string;\n state: ClientState;\n\n // From useAgnoToolExecution()\n isPaused: boolean;\n isExecuting: boolean;\n pendingTools: ToolCall[];\n executeAndContinue: () => Promise<void>;\n executeTools: (tools: ToolCall[]) => Promise<ToolCall[]>;\n continueWithResults: (\n tools: ToolCall[],\n options?: { headers?: Record<string, string>; params?: Record<string, string> },\n ) => Promise<void>;\n executionError?: string;\n\n // Derived convenience\n handleSend: (message: string | FormData) => Promise<void>;\n inputDisabled: boolean;\n\n // Drop zone\n dropZoneContainerRef?: RefObject<HTMLElement | null>;\n\n // Tool rendering\n renderTool?: RenderTool;\n isDebug: boolean;\n}\n\nexport const AgnoChatContext = createContext<AgnoChatContextValue | null>(null);\n\nexport function useAgnoChatContext(): AgnoChatContextValue {\n const ctx = useContext(AgnoChatContext);\n if (!ctx) {\n throw new Error(\n 'useAgnoChatContext must be used within an <AgnoChat> provider. ' +\n 'Wrap your component tree with <AgnoChat>.',\n );\n }\n return ctx;\n}\n",
|
|
49
|
+
"/**\n * Generative UI Renderer\n *\n * Renders UI components based on specifications from the agent.\n * Supports both registry-based components and custom render functions.\n */\n\nimport React from 'react';\nimport type { UIComponentSpec } from '@rodrigocoliveira/agno-types';\nimport { getComponentRegistry } from '../utils/component-registry';\nimport { getCustomRender } from '../hooks/useAgnoToolExecution';\n\nexport interface GenerativeUIRendererProps {\n /** The UI component specification to render */\n spec: UIComponentSpec;\n /** Optional className for styling */\n className?: string;\n /** Error boundary fallback */\n onError?: (error: Error) => void;\n}\n\n/**\n * Error Boundary for UI rendering errors\n */\nclass UIErrorBoundary extends React.Component<\n { children: React.ReactNode; onError?: (error: Error) => void; fallback?: React.ReactNode },\n { hasError: boolean; error?: Error }\n> {\n constructor(props: any) {\n super(props);\n this.state = { hasError: false };\n }\n\n static getDerivedStateFromError(error: Error) {\n return { hasError: true, error };\n }\n\n componentDidCatch(error: Error, errorInfo: React.ErrorInfo) {\n console.error('[GenerativeUIRenderer] Error rendering component:', error, errorInfo);\n this.props.onError?.(error);\n }\n\n render() {\n if (this.state.hasError) {\n return (\n this.props.fallback || (\n <div className=\"p-4 border border-red-300 rounded-md bg-red-50 text-red-800\">\n <p className=\"font-semibold\">Failed to render UI component</p>\n <p className=\"text-sm mt-1\">{this.state.error?.message || 'Unknown error'}</p>\n </div>\n )\n );\n }\n\n return this.props.children;\n }\n}\n\n/**\n * Main Generative UI Renderer component\n */\nexport function GenerativeUIRenderer({\n spec,\n className,\n onError,\n}: GenerativeUIRendererProps): React.ReactElement {\n const registry = getComponentRegistry();\n\n // Handle custom render functions\n if (spec.type === 'custom') {\n const customSpec = spec as any;\n if (customSpec.renderKey) {\n const renderFn = getCustomRender(customSpec.renderKey);\n if (renderFn) {\n return (\n <UIErrorBoundary onError={onError}>\n <div className={className}>{renderFn(customSpec.props || {})}</div>\n </UIErrorBoundary>\n );\n }\n }\n // Fallback if custom render not found\n return (\n <div className={`p-4 border border-yellow-300 rounded-md bg-yellow-50 text-yellow-800 ${className || ''}`}>\n <p className=\"font-semibold\">Custom component not available</p>\n <p className=\"text-sm mt-1\">The custom render function for this component is not available.</p>\n </div>\n );\n }\n\n // Handle chart components\n if (spec.type === 'chart') {\n const chartSpec = spec as any;\n const chartType = `chart:${chartSpec.component}`;\n\n if (registry.has(chartType)) {\n const ChartRenderer = registry.get(chartType)!;\n return (\n <UIErrorBoundary onError={onError}>\n <div className={className}>\n {chartSpec.title && <h3 className=\"font-semibold mb-2\">{chartSpec.title}</h3>}\n {chartSpec.description && <p className=\"text-sm text-gray-600 mb-4\">{chartSpec.description}</p>}\n <ChartRenderer {...chartSpec.props} />\n </div>\n </UIErrorBoundary>\n );\n }\n\n // Fallback: render data as JSON\n return (\n <div className={`p-4 border border-gray-300 rounded-md ${className || ''}`}>\n <p className=\"font-semibold mb-2\">{chartSpec.title || 'Chart Data'}</p>\n {chartSpec.description && <p className=\"text-sm text-gray-600 mb-2\">{chartSpec.description}</p>}\n <pre className=\"text-xs bg-gray-100 p-2 rounded overflow-auto\">\n {JSON.stringify(chartSpec.props.data, null, 2)}\n </pre>\n </div>\n );\n }\n\n // Handle card grid\n if (spec.type === 'card-grid') {\n const cardGridSpec = spec as any;\n if (registry.has('card-grid')) {\n const CardGridRenderer = registry.get('card-grid')!;\n return (\n <UIErrorBoundary onError={onError}>\n <div className={className}>\n {cardGridSpec.title && <h3 className=\"font-semibold mb-2\">{cardGridSpec.title}</h3>}\n {cardGridSpec.description && <p className=\"text-sm text-gray-600 mb-4\">{cardGridSpec.description}</p>}\n <CardGridRenderer {...cardGridSpec.props} />\n </div>\n </UIErrorBoundary>\n );\n }\n }\n\n // Handle table\n if (spec.type === 'table') {\n const tableSpec = spec as any;\n if (registry.has('table')) {\n const TableRenderer = registry.get('table')!;\n return (\n <UIErrorBoundary onError={onError}>\n <div className={className}>\n {tableSpec.title && <h3 className=\"font-semibold mb-2\">{tableSpec.title}</h3>}\n {tableSpec.description && <p className=\"text-sm text-gray-600 mb-4\">{tableSpec.description}</p>}\n <TableRenderer {...tableSpec.props} />\n </div>\n </UIErrorBoundary>\n );\n }\n }\n\n // Handle markdown\n if (spec.type === 'markdown') {\n const markdownSpec = spec as any;\n if (registry.has('markdown')) {\n const MarkdownRenderer = registry.get('markdown')!;\n return (\n <UIErrorBoundary onError={onError}>\n <div className={className}>\n <MarkdownRenderer {...markdownSpec.props} />\n </div>\n </UIErrorBoundary>\n );\n }\n // Fallback: render as plain text\n return <div className={className}>{markdownSpec.props.content}</div>;\n }\n\n // Handle artifact (container with multiple children)\n if (spec.type === 'artifact') {\n const artifactSpec = spec as any;\n return (\n <UIErrorBoundary onError={onError}>\n <div className={`p-4 border rounded-md ${className || ''}`}>\n {artifactSpec.title && <h3 className=\"font-semibold mb-4\">{artifactSpec.title}</h3>}\n {artifactSpec.description && <p className=\"text-sm text-gray-600 mb-4\">{artifactSpec.description}</p>}\n <div className=\"space-y-4\">\n {artifactSpec.props.content?.map((childSpec: UIComponentSpec, index: number) => (\n <GenerativeUIRenderer key={index} spec={childSpec} onError={onError} />\n ))}\n </div>\n </div>\n </UIErrorBoundary>\n );\n }\n\n // Unknown type fallback\n return (\n <div className={`p-4 border border-gray-300 rounded-md ${className || ''}`}>\n <p className=\"font-semibold\">Unsupported UI component</p>\n <p className=\"text-sm text-gray-600 mt-1\">Component type: {spec.type}</p>\n </div>\n );\n}\n",
|
|
50
|
+
"/**\n * Component Registry for Generative UI\n *\n * Maps component specifications to actual React components.\n * Allows registering custom components at runtime.\n */\n\n/**\n * Component renderer function type\n */\nexport type ComponentRenderer = (props: any) => any; // React.ReactNode in React context\n\n/**\n * Component registry class\n */\nexport class ComponentRegistry {\n private static instance: ComponentRegistry;\n private components: Map<string, ComponentRenderer> = new Map();\n\n private constructor() {\n // Private constructor for singleton\n }\n\n /**\n * Get the singleton instance\n */\n static getInstance(): ComponentRegistry {\n if (!ComponentRegistry.instance) {\n ComponentRegistry.instance = new ComponentRegistry();\n }\n return ComponentRegistry.instance;\n }\n\n /**\n * Register a component renderer\n */\n register(type: string, renderer: ComponentRenderer): void {\n this.components.set(type, renderer);\n }\n\n /**\n * Register multiple components at once\n */\n registerBatch(components: Record<string, ComponentRenderer>): void {\n Object.entries(components).forEach(([type, renderer]) => {\n this.register(type, renderer);\n });\n }\n\n /**\n * Get a registered component renderer\n */\n get(type: string): ComponentRenderer | undefined {\n return this.components.get(type);\n }\n\n /**\n * Check if a component is registered\n */\n has(type: string): boolean {\n return this.components.has(type);\n }\n\n /**\n * Unregister a component\n */\n unregister(type: string): void {\n this.components.delete(type);\n }\n\n /**\n * Get all registered component types\n */\n getRegisteredTypes(): string[] {\n return Array.from(this.components.keys());\n }\n\n /**\n * Clear all registered components\n */\n clear(): void {\n this.components.clear();\n }\n}\n\n/**\n * Get the global component registry instance\n */\nexport function getComponentRegistry(): ComponentRegistry {\n return ComponentRegistry.getInstance();\n}\n\n/**\n * Helper to register a chart component\n */\nexport function registerChartComponent(name: string, renderer: ComponentRenderer): void {\n getComponentRegistry().register(`chart:${name}`, renderer);\n}\n\n/**\n * Helper to get a chart component\n */\nexport function getChartComponent(name: string): ComponentRenderer | undefined {\n return getComponentRegistry().get(`chart:${name}`);\n}\n",
|
|
51
|
+
"import { useState, useEffect, useCallback, useMemo } from 'react';\nimport type {\n ToolCall,\n UIComponentSpec,\n ToolHandlerResult,\n CustomRenderFunction\n} from '@rodrigocoliveira/agno-types';\nimport { useAgnoClient } from '../context/AgnoContext';\nimport { useToolHandlers } from '../context/ToolHandlerContext';\n\n/**\n * Tool handler function type (now supports generative UI)\n */\nexport type ToolHandler = (args: Record<string, any>) => Promise<any>;\n\n/**\n * Runtime registry for custom render functions (not serializable)\n * These are React components/functions that can't be stored in JSON\n */\nconst customRenderRegistry = new Map<string, CustomRenderFunction>();\n\n/**\n * Store a custom render function and return its unique key\n */\nfunction registerCustomRender(renderFn: CustomRenderFunction): string {\n const key = `custom-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;\n customRenderRegistry.set(key, renderFn);\n return key;\n}\n\n/**\n * Get a custom render function by key\n */\nexport function getCustomRender(key: string): CustomRenderFunction | undefined {\n return customRenderRegistry.get(key);\n}\n\n/**\n * Check if a value is a ToolHandlerResult with UI spec\n */\nfunction isToolHandlerResult(value: any): value is ToolHandlerResult {\n return value && typeof value === 'object' && ('data' in value || 'ui' in value);\n}\n\n/**\n * Check if a value is a UIComponentSpec\n */\nfunction isUIComponentSpec(value: any): value is UIComponentSpec {\n return value && typeof value === 'object' && 'type' in value;\n}\n\n/**\n * Process tool handler result and extract data/UI\n * Exported for use in session loading UI hydration\n */\nexport function processToolResult(result: any, _tool: ToolCall): {\n resultData: string;\n uiComponent?: any;\n} {\n // Case 1: ToolHandlerResult with data and ui\n if (isToolHandlerResult(result)) {\n const { data, ui } = result;\n\n let uiComponent: any = undefined;\n if (ui) {\n // Handle custom render functions\n if (ui.type === 'custom' && typeof (ui as any).render === 'function') {\n const renderKey = registerCustomRender((ui as any).render);\n uiComponent = {\n ...ui,\n renderKey,\n render: undefined, // Don't store the function itself\n };\n } else {\n // Serializable UI spec\n uiComponent = ui;\n }\n }\n\n return {\n resultData: typeof data === 'string' ? data : JSON.stringify(data),\n uiComponent,\n };\n }\n\n // Case 2: Direct UI component spec (no separate data)\n if (isUIComponentSpec(result)) {\n let uiComponent: any;\n if (result.type === 'custom' && typeof (result as any).render === 'function') {\n const renderKey = registerCustomRender((result as any).render);\n uiComponent = {\n ...result,\n renderKey,\n render: undefined,\n };\n } else {\n uiComponent = result;\n }\n\n return {\n resultData: JSON.stringify(result),\n uiComponent,\n };\n }\n\n // Case 3: Legacy format - plain data (backward compatible)\n return {\n resultData: typeof result === 'string' ? result : JSON.stringify(result),\n uiComponent: undefined,\n };\n}\n\n/**\n * Tool execution event payload\n */\nexport interface ToolExecutionEvent {\n runId?: string;\n sessionId?: string;\n tools: ToolCall[];\n}\n\n/**\n * Hook for handling frontend tool execution (HITL)\n *\n * **Note:** HITL (Human-in-the-Loop) frontend tool execution is only supported for agents.\n * Teams do not support the continue endpoint. This hook will log a warning and no-op if used with team mode.\n *\n * @param handlers - Map of tool names to handler functions (local handlers)\n * @param autoExecute - Whether to automatically execute tools when paused (default: true)\n *\n * @example\n * ```tsx\n * const toolHandlers = {\n * navigate_to_page: async (args) => {\n * window.location.href = args.url;\n * return { success: true };\n * },\n * fill_form: async (args) => {\n * document.querySelector(args.selector).value = args.value;\n * return { filled: true };\n * }\n * };\n *\n * const { isPaused, isExecuting, pendingTools } = useAgnoToolExecution(toolHandlers);\n * ```\n */\nexport function useAgnoToolExecution(\n handlers: Record<string, ToolHandler> = {},\n autoExecute: boolean = true,\n options?: { skipHydration?: 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 HITL/interactive tools — re-invoking would trigger side effects (modals, panels).\n // Tools with a toolResultRenderer are handled at display time via the preserved result.\n if (options?.skipHydration?.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",
|
|
52
|
+
"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",
|
|
53
|
+
"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",
|
|
54
|
+
"import type { ToolCall } from '@rodrigocoliveira/agno-types';\nimport { Tool, ToolContent, ToolHeader, ToolInput, ToolOutput } from '../../components/tool';\nimport { Artifact } from '../../components/artifact';\nimport { GenerativeUIRenderer } from '../../../components/GenerativeUIRenderer';\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\nexport interface ToolGenerativeUIProps {\n tool: ToolCall;\n}\n\nexport function ToolGenerativeUI({ tool }: ToolGenerativeUIProps) {\n const uiComponent = (tool as ToolCall & { ui_component?: any }).ui_component;\n if (!uiComponent) return null;\n return uiComponent.layout === 'artifact' ? (\n <Artifact>\n <GenerativeUIRenderer spec={uiComponent} className=\"w-full p-2\" />\n </Artifact>\n ) : (\n <GenerativeUIRenderer spec={uiComponent} className=\"w-full\" />\n );\n}\n",
|
|
55
|
+
"import type { ReactNode } from 'react';\nimport { cn } from '../../lib/cn';\nimport { useAgnoChatContext } from '../agno-chat/context';\nimport { ToolDebugCard, ToolGenerativeUI } from '../agno-chat/tool-building-blocks';\nimport type { RenderTool } from '../agno-chat/render-tool';\nimport { useAgnoMessageContext } from './context';\n\nexport interface AgnoMessageToolsProps {\n /** Override the `renderTool` from context for this slot only */\n renderTool?: RenderTool;\n}\n\nexport function AgnoMessageTools({ renderTool: renderToolProp }: AgnoMessageToolsProps = {}) {\n const { message, classNames, renderTool: ctxMsgRenderTool } = useAgnoMessageContext();\n const { renderTool: ctxChatRenderTool, isDebug } = useAgnoChatContext();\n const renderTool = renderToolProp ?? ctxMsgRenderTool ?? ctxChatRenderTool;\n\n if (!message.tool_calls || message.tool_calls.length === 0) return null;\n\n return (\n <div className={cn('space-y-2 pt-1', classNames?.assistant?.toolCalls)}>\n {message.tool_calls.map((tool, idx) => {\n const defaultRender = (): ReactNode => (\n <>\n <ToolGenerativeUI tool={tool} />\n {isDebug ? <ToolDebugCard tool={tool} defaultOpen={idx === 0} /> : null}\n </>\n );\n const node = renderTool\n ? renderTool(tool, { index: idx, isDebug, defaultRender })\n : defaultRender();\n if (node === null || node === undefined) return null;\n return <div key={tool.tool_call_id || idx}>{node}</div>;\n })}\n </div>\n );\n}\n",
|
|
56
|
+
"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",
|
|
57
|
+
"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",
|
|
58
|
+
"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 if (!actions?.assistant && !showTimestamp && !hasError) return null;\n\n return (\n <div className=\"flex items-center gap-2 pt-1\">\n {actions?.assistant && (() => {\n const visibility = actions.visibility ?? 'visible';\n if (visibility === 'last-assistant' && !isLastAssistantMessage) return null;\n\n const useHover =\n visibility === 'hover' ||\n (visibility === 'hover-last-visible' && !isLastAssistantMessage);\n\n return (\n <div\n className={cn(\n 'flex items-center gap-1 transition-opacity',\n useHover && 'opacity-0 group-hover/message:opacity-100',\n classNames?.assistant?.actions,\n )}\n >\n {actions.assistant(message)}\n </div>\n );\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",
|
|
59
|
+
"import type { ChatMessage } from '@rodrigocoliveira/agno-types';\nimport type { AgnoMessageClassNames, AgnoMessageAvatars, AgnoMessageActions } from '../types';\nimport type { RenderTool } from './agno-chat/render-tool';\nimport { AgnoMessage } from './agno-message/message';\n\nexport interface AgnoMessageItemProps {\n message: ChatMessage;\n className?: string;\n classNames?: AgnoMessageClassNames;\n avatars?: AgnoMessageAvatars;\n actions?: AgnoMessageActions;\n isLastAssistantMessage?: boolean;\n /** Show reasoning steps (default: true). Omit `<AgnoMessage.Reasoning />` in custom compositions for finer control. */\n showReasoning?: boolean;\n /** Show references (default: true). Omit `<AgnoMessage.References />` in custom compositions for finer control. */\n showReferences?: boolean;\n showTimestamp?: boolean;\n showFilePreview?: boolean;\n showImageLightbox?: boolean;\n formatTimestamp?: (date: Date) => string;\n renderTool?: RenderTool;\n}\n\n/**\n * Default message renderer used by `<AgnoChat.Messages>`. Renders the standard\n * slot order: Reasoning → Media → Tools → Content → References → Footer.\n *\n * For custom orderings or omissions, use `<AgnoMessage>` directly with the\n * sub-components: `<AgnoMessage.Content />`, `<AgnoMessage.Tools />`, etc.\n */\nexport function AgnoMessageItem({\n message,\n className,\n classNames,\n avatars,\n actions,\n isLastAssistantMessage = false,\n showReasoning = true,\n showReferences = true,\n showTimestamp = true,\n showFilePreview = true,\n showImageLightbox = true,\n formatTimestamp,\n renderTool,\n}: AgnoMessageItemProps) {\n return (\n <AgnoMessage\n message={message}\n className={className}\n classNames={classNames}\n avatars={avatars}\n actions={actions}\n isLastAssistantMessage={isLastAssistantMessage}\n showTimestamp={showTimestamp}\n showFilePreview={showFilePreview}\n showImageLightbox={showImageLightbox}\n formatTimestamp={formatTimestamp}\n renderTool={renderTool}\n >\n {showReasoning && <AgnoMessage.Reasoning />}\n <AgnoMessage.Media />\n <AgnoMessage.Tools />\n <AgnoMessage.Content />\n {showReferences && <AgnoMessage.References />}\n <AgnoMessage.Footer showTimestamp={showTimestamp} />\n </AgnoMessage>\n );\n}\n",
|
|
45
60
|
"import {\n PromptInput,\n PromptInputProvider,\n PromptInputBody,\n PromptInputTextarea,\n PromptInputFooter,\n PromptInputTools,\n PromptInputSubmit,\n PromptInputHeader,\n PromptInputAttachments,\n PromptInputAttachment,\n PromptInputActionMenu,\n PromptInputActionMenuTrigger,\n PromptInputActionMenuContent,\n PromptInputActionAddAttachments,\n PromptInputDropZone,\n usePromptInputController,\n usePromptInputAttachments,\n type PromptInputMessage,\n} from '../components/prompt-input';\nimport type { PromptInputDropZoneProps } from '../components/prompt-input/drop-zone';\nimport { AudioRecorder } from '../components/audio-recorder';\nimport type { AudioRecorderLabels } from '../components/audio-recorder';\nimport { Button } from '../primitives/button';\nimport { CircleStop } from 'lucide-react';\nimport { cn } from '../lib/cn';\nimport type { AudioConfig, ChatStatus, FileUploadConfig } from '../types';\nimport type { ReactNode, RefObject } from 'react';\n\nconst DEFAULT_ACCEPTED_FILE_TYPES =\n 'image/*,audio/*,.pdf,.doc,.docx,.txt,.csv,.xlsx,.xls,.ppt,.pptx,.md,.json,.xml';\n\n/** Normalize `audio` prop: `true` → default config, `false`/`undefined` → undefined */\nfunction normalizeAudio(audio: AudioConfig | boolean | undefined): AudioConfig | undefined {\n if (audio === true) return { enabled: true };\n if (!audio) return undefined;\n return audio;\n}\n\nexport interface AgnoChatInputProps {\n onSend: (message: string | FormData) => void;\n disabled?: boolean;\n placeholder?: string;\n className?: string;\n /** File upload configuration */\n fileUpload?: FileUploadConfig;\n /**\n * Audio recording/transcription configuration.\n * Pass `true` for send-mode defaults, or an `AudioConfig` object.\n *\n * @example\n * audio={true}\n * audio={{ enabled: true, mode: 'transcribe', endpoint: 'http://...' }}\n */\n audio?: AudioConfig | boolean;\n /** Show attachments button (default: true) */\n showAttachments?: boolean;\n /** Override chat status for submit button icon */\n status?: ChatStatus;\n /** Whether a run is currently streaming */\n isStreaming?: boolean;\n /** Called when the user clicks stop during streaming */\n onCancel?: () => void;\n /** Show a stop button that cancels the run while streaming (default: false) */\n allowCancelRun?: boolean;\n /** Extra tools to add to the toolbar */\n extraTools?: ReactNode;\n /** Ref to a container element for rendering the drop zone overlay via portal */\n dropZoneContainerRef?: RefObject<HTMLElement | null>;\n /** Props forwarded to PromptInputDropZone (className, label) */\n dropZoneProps?: Partial<Pick<PromptInputDropZoneProps, 'label' | 'className'>>;\n}\n\nfunction dataUrlToBlob(dataUrl: string): Blob {\n const [header, base64] = dataUrl.split(',');\n const mime = header.match(/:(.*?);/)?.[1] || 'application/octet-stream';\n const bytes = atob(base64);\n const buf = new Uint8Array(bytes.length);\n for (let i = 0; i < bytes.length; i++) {\n buf[i] = bytes.charCodeAt(i);\n }\n return new Blob([buf], { type: mime });\n}\n\n/** Stop button shown during streaming when allowCancelRun is enabled */\nfunction CancelButton({ onCancel }: { onCancel: () => void }) {\n return (\n <Button\n type=\"button\"\n variant=\"destructive\"\n size=\"icon\"\n className=\"h-8 w-8 rounded-lg\"\n onClick={onCancel}\n aria-label=\"Stop\"\n >\n <CircleStop className=\"size-4\" />\n </Button>\n );\n}\n\n/** Submit button disabled until text exists */\nfunction SubmitButton({ disabled, status }: { disabled?: boolean; status?: ChatStatus }) {\n const { textInput } = usePromptInputController();\n const hasText = textInput.value.trim().length > 0;\n return <PromptInputSubmit disabled={disabled || !hasText} status={status} />;\n}\n\n/** Only renders the attachment header when files are present */\nfunction AttachmentHeader() {\n const { files } = usePromptInputAttachments();\n if (files.length === 0) return null;\n return (\n <PromptInputHeader>\n <PromptInputAttachments>\n {(attachment) => <PromptInputAttachment data={attachment} />}\n </PromptInputAttachments>\n </PromptInputHeader>\n );\n}\n\n/** Internal wrapper that accesses PromptInput context to set transcribed text */\nfunction TranscribeAudioRecorder({\n endpoint,\n headers,\n disabled,\n parseResponse,\n onRequestPermission,\n labels,\n}: {\n endpoint: string;\n headers?: Record<string, string>;\n disabled?: boolean;\n parseResponse?: (data: unknown) => string;\n onRequestPermission?: () => Promise<boolean>;\n labels?: AudioRecorderLabels;\n}) {\n const { textInput } = usePromptInputController();\n return (\n <AudioRecorder\n mode=\"transcribe\"\n transcriptionEndpoint={endpoint}\n transcriptionHeaders={headers}\n parseTranscriptionResponse={parseResponse}\n onRequestPermission={onRequestPermission}\n onRecordingComplete={() => {}}\n onTranscriptionComplete={(text) => {\n const current = textInput.value;\n textInput.setInput(current + (current ? ' ' : '') + text);\n }}\n disabled={disabled}\n labels={labels}\n />\n );\n}\n\nexport function AgnoChatInput({\n onSend,\n disabled,\n placeholder,\n className,\n fileUpload,\n audio,\n showAttachments = true,\n status,\n isStreaming,\n onCancel,\n allowCancelRun = false,\n extraTools,\n dropZoneContainerRef,\n dropZoneProps,\n}: AgnoChatInputProps) {\n const resolvedAudio = normalizeAudio(audio);\n const audioEnabled = resolvedAudio?.enabled ?? false;\n const audioMode = resolvedAudio?.mode ?? 'send';\n\n const handleSubmit = (message: PromptInputMessage) => {\n const text = message.text?.trim() || '';\n const files = message.files || [];\n\n if (!text) return;\n\n if (files.length === 0) {\n onSend(text);\n return;\n }\n\n const formData = new FormData();\n formData.append('message', text);\n\n for (const file of files) {\n if (!file.url) continue;\n const blob = file.url.startsWith('data:') ? dataUrlToBlob(file.url) : null;\n if (!blob) continue;\n const fileName = file.filename || 'file';\n formData.append('files', blob, fileName);\n }\n\n onSend(formData);\n };\n\n const handleAudioRecording = (blob: Blob) => {\n const formData = new FormData();\n formData.append('message', 'Audio message');\n formData.append('files', blob, `recording-${Date.now()}.wav`);\n onSend(formData);\n };\n\n const computedStatus = status ?? (disabled ? 'submitted' : undefined);\n const showCancelButton = allowCancelRun && isStreaming && onCancel;\n\n return (\n <PromptInputProvider>\n <PromptInput\n onSubmit={handleSubmit}\n accept={fileUpload?.accept ?? DEFAULT_ACCEPTED_FILE_TYPES}\n multiple={fileUpload?.multiple ?? true}\n maxFiles={fileUpload?.maxFiles}\n maxFileSize={fileUpload?.maxFileSize}\n globalDrop={!!dropZoneContainerRef}\n dragListenerTarget={dropZoneContainerRef}\n className={cn('w-full', className)}\n >\n <AttachmentHeader />\n <PromptInputBody>\n <PromptInputTextarea\n placeholder={placeholder || 'Type your message... (Enter to send, Shift+Enter for new line)'}\n disabled={disabled}\n />\n </PromptInputBody>\n <PromptInputFooter>\n <PromptInputTools>\n {showAttachments && (\n <PromptInputActionMenu>\n <PromptInputActionMenuTrigger />\n <PromptInputActionMenuContent>\n <PromptInputActionAddAttachments label=\"Add files\" />\n </PromptInputActionMenuContent>\n </PromptInputActionMenu>\n )}\n {audioEnabled &&\n (audioMode === 'transcribe' && resolvedAudio?.endpoint ? (\n <TranscribeAudioRecorder\n endpoint={resolvedAudio.endpoint}\n headers={resolvedAudio.headers}\n disabled={disabled}\n parseResponse={resolvedAudio.parseResponse}\n onRequestPermission={resolvedAudio.requestPermission}\n labels={resolvedAudio.labels as AudioRecorderLabels | undefined}\n />\n ) : (\n <AudioRecorder\n onRecordingComplete={handleAudioRecording}\n disabled={disabled}\n onRequestPermission={resolvedAudio?.requestPermission}\n labels={resolvedAudio?.labels as AudioRecorderLabels | undefined}\n />\n ))}\n {extraTools}\n </PromptInputTools>\n {showCancelButton ? (\n <CancelButton onCancel={onCancel} />\n ) : (\n <SubmitButton disabled={disabled} status={computedStatus} />\n )}\n </PromptInputFooter>\n {showAttachments && <PromptInputDropZone {...dropZoneProps} container={dropZoneContainerRef} />}\n </PromptInput>\n </PromptInputProvider>\n );\n}\n",
|
|
46
|
-
"import
|
|
47
|
-
"import {
|
|
48
|
-
"import type { ChatMessage, ToolCall } from '@rodrigocoliveira/agno-types';\nimport { isValidElement, useEffect, useRef, type ReactNode } from 'react';\nimport {\n Conversation,\n ConversationContent,\n ConversationEmptyState,\n ConversationScrollButton,\n useStickToBottomContext,\n} from '../../components/conversation';\nimport { StreamingIndicator } from '../../components/streaming-indicator';\nimport { AgnoMessageItem } from '../AgnoMessageItem';\nimport type { AgnoMessageItemProps } from '../AgnoMessageItem';\nimport { AgnoChatSuggestedPrompts } from './suggested-prompts';\nimport { useAgnoChatContext } from './context';\nimport type { ToolResultRenderer } from './context';\nimport { cn } from '../../lib/cn';\nimport { Bot } from 'lucide-react';\nimport type {\n AgnoMessageClassNames,\n AgnoMessageAvatars,\n AgnoMessageActions,\n SuggestedPrompt,\n ScrollBehaviorConfig,\n} from '../../types';\n\nexport interface AgnoChatMessagesProps {\n className?: string;\n renderMessage?: (message: ChatMessage, index: number) => ReactNode;\n\n /** Grouped avatar configuration */\n avatars?: AgnoMessageAvatars;\n\n /** Grouped action buttons configuration with visibility control */\n actions?: AgnoMessageActions;\n\n // ── Message display options ────────────────────────────────────────\n /** Show reasoning steps (default: true) */\n showReasoning?: boolean;\n /** Show references (default: true) */\n showReferences?: boolean;\n /** Show timestamp (default: true) */\n showTimestamp?: boolean;\n /** Show generative UI renders (default: true) */\n showGenerativeUI?: boolean;\n /** Show tool call details (default: true) */\n showToolCalls?: boolean;\n /** Enable file preview cards with click-to-open modal (default: true) */\n showFilePreview?: boolean;\n /** Enable image lightbox on click (default: true) */\n showImageLightbox?: boolean;\n /** Custom render for individual tool calls */\n renderToolCall?: (tool: ToolCall, index: number) => ReactNode;\n /** Custom render for the entire message content area */\n renderContent?: (message: ChatMessage) => ReactNode;\n /** Custom render for media sections */\n renderMedia?: (message: ChatMessage) => ReactNode;\n /** Custom timestamp formatter */\n formatTimestamp?: (date: Date) => string;\n /** ClassNames override map for message item sections */\n messageClassNames?: AgnoMessageClassNames;\n /** Per-tool renderers for displaying results inline in chat (live and on session reload) */\n toolResultRenderers?: Record<string, ToolResultRenderer>;\n\n // ── Empty state ──────────────────────────────────────────────────\n emptyState?: ReactNode;\n suggestedPrompts?: SuggestedPrompt[];\n /** Custom empty state via children — takes priority over emptyState prop */\n children?: ReactNode;\n\n // ── Thinking indicator ───────────────────────────────────────────\n /** Show the thinking indicator while waiting for the first response content (default: true) */\n showThinkingIndicator?: boolean;\n /** Custom component to render instead of the default thinking indicator */\n renderThinkingIndicator?: ReactNode;\n\n // ── Scroll behavior ──────────────────────────────────────────────\n /**\n * Customize the auto-scroll behavior (powered by `use-stick-to-bottom`).\n * Defaults to `{ initial: 'smooth', resize: 'instant' }` — smooth initial\n * scroll, instant snap during streaming to avoid spring oscillation on\n * markdown/code/table reflow.\n */\n scrollBehavior?: ScrollBehaviorConfig;\n\n // ── Scroll-to-bottom button ──────────────────────────────────────\n /**\n * Controls the floating \"scroll to bottom\" button that appears when the\n * user scrolls up during streaming (the default affordance to resume\n * following the stream).\n *\n * - `undefined` (default) → render the built-in button\n * - `false` → hide the button entirely\n * - `true` → render the built-in button (same as default; useful for clarity)\n * - `{ className }` → render the built-in button with custom classes\n * - `ReactNode` → render your own element instead. Your component will be\n * placed inside `<Conversation>`, so it can use `useStickToBottomContext()`\n * to read `isAtBottom` and call `scrollToBottom()`.\n */\n scrollToBottomButton?: boolean | ReactNode | { className?: string };\n}\n\n/** Scrolls to bottom only when the user sends a new message */\nfunction ScrollOnNewUserMessage({ messageCount }: { messageCount: number }) {\n const { scrollToBottom } = useStickToBottomContext();\n const prevCount = useRef(messageCount);\n\n useEffect(() => {\n if (messageCount > prevCount.current) {\n scrollToBottom('smooth');\n }\n prevCount.current = messageCount;\n }, [messageCount, scrollToBottom]);\n\n return null;\n}\n\nconst DEFAULT_PROMPTS: SuggestedPrompt[] = [\n { text: 'What can you help me with?' },\n { text: 'Explain how you work' },\n];\n\nexport function AgnoChatMessages({\n className,\n renderMessage,\n avatars,\n actions,\n // Message display options\n showReasoning,\n showReferences,\n showTimestamp,\n showGenerativeUI,\n showToolCalls,\n showFilePreview,\n showImageLightbox,\n renderToolCall,\n renderContent,\n renderMedia,\n formatTimestamp,\n messageClassNames,\n // Empty state\n emptyState,\n suggestedPrompts = DEFAULT_PROMPTS,\n children,\n // Thinking indicator\n showThinkingIndicator = true,\n renderThinkingIndicator,\n toolResultRenderers: propToolResultRenderers,\n scrollBehavior,\n scrollToBottomButton,\n}: AgnoChatMessagesProps) {\n const { messages, isStreaming, toolResultRenderers: contextToolResultRenderers } = useAgnoChatContext();\n const toolResultRenderers = propToolResultRenderers ?? contextToolResultRenderers;\n const lastMessage = messages[messages.length - 1];\n const isThinking = showThinkingIndicator && isStreaming && (!lastMessage || lastMessage.role !== 'user') && !lastMessage?.content;\n\n // Resolve the scroll-to-bottom button prop into a rendered node (or null to hide).\n const resolvedScrollButton: ReactNode = (() => {\n if (scrollToBottomButton === false) return null;\n if (scrollToBottomButton === undefined || scrollToBottomButton === true) {\n return <ConversationScrollButton />;\n }\n if (isValidElement(scrollToBottomButton)) return scrollToBottomButton;\n if (\n typeof scrollToBottomButton === 'object' &&\n scrollToBottomButton !== null &&\n 'className' in scrollToBottomButton\n ) {\n return <ConversationScrollButton className={scrollToBottomButton.className} />;\n }\n // Any other ReactNode shape (string, number, fragment, array)\n return scrollToBottomButton as ReactNode;\n })();\n\n // Find the index of the last assistant message (for visibility logic)\n let lastAssistantIndex = -1;\n for (let i = messages.length - 1; i >= 0; i--) {\n if (messages[i].role !== 'user') {\n lastAssistantIndex = i;\n break;\n }\n }\n\n // Build message item props from direct props\n const messageItemProps: Partial<Omit<AgnoMessageItemProps, 'message'>> = {\n ...(showReasoning !== undefined && { showReasoning }),\n ...(showReferences !== undefined && { showReferences }),\n ...(showTimestamp !== undefined && { showTimestamp }),\n ...(showGenerativeUI !== undefined && { showGenerativeUI }),\n ...(showToolCalls !== undefined && { showToolCalls }),\n ...(showFilePreview !== undefined && { showFilePreview }),\n ...(showImageLightbox !== undefined && { showImageLightbox }),\n ...(renderToolCall !== undefined && { renderToolCall }),\n ...(renderContent !== undefined && { renderContent }),\n ...(renderMedia !== undefined && { renderMedia }),\n ...(formatTimestamp !== undefined && { formatTimestamp }),\n ...(messageClassNames !== undefined && { classNames: messageClassNames }),\n ...(toolResultRenderers !== undefined && { toolResultRenderers }),\n };\n\n const resolvedEmptyState = children ??\n emptyState ?? (\n <div className=\"flex flex-col items-center gap-6\">\n <div className=\"relative\">\n <div className=\"h-16 w-16 rounded-2xl bg-primary/10 flex items-center justify-center\">\n <Bot className=\"h-8 w-8 text-primary\" />\n </div>\n <div className=\"absolute -bottom-1 -right-1 h-5 w-5 rounded-full bg-green-500 border-2 border-background flex items-center justify-center\">\n <span className=\"h-2 w-2 rounded-full bg-white animate-pulse\" />\n </div>\n </div>\n <div className=\"space-y-2 text-center\">\n <h3 className=\"text-xl font-semibold tracking-tight\">Welcome to Agno Chat</h3>\n <p className=\"text-muted-foreground text-sm max-w-sm\">\n Start a conversation with your AI agent. Ask questions, explore ideas, or run tools.\n </p>\n </div>\n {suggestedPrompts.length > 0 && <AgnoChatSuggestedPrompts prompts={suggestedPrompts} />}\n </div>\n );\n\n return (\n <Conversation className={cn('relative flex-1 w-full', className)} scrollBehavior={scrollBehavior}>\n <ScrollOnNewUserMessage messageCount={messages.length} />\n <ConversationContent className=\"max-w-3xl mx-auto\">\n {messages.length === 0 ? (\n <ConversationEmptyState>{resolvedEmptyState}</ConversationEmptyState>\n ) : (\n messages.map((message, index) => {\n // Hide the empty placeholder while the thinking indicator is shown\n if (isThinking && index === messages.length - 1 && message === lastMessage) return null;\n return renderMessage ? (\n renderMessage(message, index)\n ) : (\n <AgnoMessageItem\n key={`msg-${index}-${message.created_at}`}\n message={message}\n avatars={avatars}\n actions={actions}\n isLastAssistantMessage={index === lastAssistantIndex}\n {...messageItemProps}\n />\n );\n })\n )}\n\n {isThinking && (\n <div className=\"py-2\">\n {renderThinkingIndicator ?? <StreamingIndicator avatar={avatars?.assistant} />}\n </div>\n )}\n </ConversationContent>\n {resolvedScrollButton}\n </Conversation>\n );\n}\n",
|
|
61
|
+
"import type { ReactNode } from 'react';\nimport type { ToolCall } from '@rodrigocoliveira/agno-types';\n\nexport type ToolRenderArgs = {\n index: number;\n isDebug: boolean;\n defaultRender: () => ReactNode;\n};\n\nexport type RenderTool = (tool: ToolCall, args: ToolRenderArgs) => ReactNode | null;\n\nexport type ToolEntry = false | RenderTool;\n\nexport function byToolName(\n map: Record<string, ToolEntry>,\n fallback?: RenderTool,\n): RenderTool {\n return (tool, args) => {\n // hasOwnProperty guard so tool names like 'toString' / 'constructor' /\n // '__proto__' don't resolve to Object.prototype methods.\n if (!Object.prototype.hasOwnProperty.call(map, tool.tool_name)) {\n return fallback ? fallback(tool, args) : args.defaultRender();\n }\n const entry = map[tool.tool_name];\n if (entry === false) return null;\n return entry(tool, args);\n };\n}\n",
|
|
62
|
+
"import { useCallback, useMemo, useRef } from 'react';\nimport type { HTMLAttributes, ReactNode } from 'react';\nimport { useAgnoChat, useAgnoToolExecution } from '@rodrigocoliveira/agno-react';\nimport type { ToolHandler } from '@rodrigocoliveira/agno-react';\nimport { AgnoChatContext } from './context';\nimport type { AgnoChatContextValue } from './context';\nimport type { RenderTool } from './render-tool';\nimport { cn } from '../../lib/cn';\n\nfunction resolveDebug(debug?: boolean): boolean {\n if (typeof debug === 'boolean') return debug;\n // Default-off: only auto-enable when NODE_ENV is explicitly 'development'.\n // Avoids leaking the debug card in production builds where `process` exists\n // but `process.env` is missing or NODE_ENV is unset (some edge runtimes,\n // partial polyfills, builds without bundler substitution).\n return typeof process !== 'undefined' && process.env?.NODE_ENV === 'development';\n}\n\nexport interface AgnoChatRootProps extends HTMLAttributes<HTMLDivElement> {\n children: ReactNode;\n toolHandlers?: Record<string, ToolHandler>;\n autoExecuteTools?: boolean;\n /**\n * Single per-tool render function. Receives the tool plus `{ index, isDebug, defaultRender }`.\n * Return `null` to hide, return `defaultRender()` to fall back to the library default,\n * or return your own JSX. Use the `byToolName` helper for the common dispatch-by-name case.\n */\n renderTool?: RenderTool;\n /**\n * When true, the default tool rendering includes the debug card. When false, only\n * user-facing content renders (generative UI from `tool.ui_component`, plus whatever\n * a custom `renderTool` returns).\n *\n * Default: auto-detected via `process.env.NODE_ENV !== 'production'`. Set explicitly\n * to investigate bugs in production (`debug={true}`) or preview the prod experience\n * in dev (`debug={false}`).\n */\n debug?: boolean;\n /**\n * Tool names whose handlers should NOT be re-invoked on session reload. Useful when\n * a tool produced a `result` you want to render as-is without re-executing side effects.\n */\n skipHydration?: string[];\n}\n\nexport function AgnoChatRoot({\n children,\n toolHandlers = {},\n autoExecuteTools = true,\n renderTool,\n debug,\n skipHydration,\n className,\n ...divProps\n}: AgnoChatRootProps) {\n const chat = useAgnoChat();\n const toolExec = useAgnoToolExecution(toolHandlers, autoExecuteTools, {\n skipHydration,\n });\n\n const containerRef = useRef<HTMLDivElement>(null);\n const isDebug = resolveDebug(debug);\n\n const sendRef = useRef(chat.sendMessage);\n sendRef.current = chat.sendMessage;\n\n const handleSend = useCallback(async (message: string | FormData) => {\n try {\n await sendRef.current(message);\n } catch {\n // Error is surfaced via the error state\n }\n }, []);\n\n const {\n messages,\n sendMessage,\n clearMessages,\n cancelRun,\n isStreaming,\n isRefreshing,\n isCancelling,\n currentRunId,\n error,\n state,\n } = chat;\n\n const {\n isPaused,\n isExecuting,\n pendingTools,\n executeAndContinue,\n executeTools,\n continueWithResults,\n executionError,\n } = toolExec;\n\n const contextValue = useMemo<AgnoChatContextValue>(\n () => ({\n messages,\n sendMessage,\n clearMessages,\n cancelRun,\n isStreaming,\n isRefreshing,\n isCancelling: isCancelling ?? false,\n currentRunId,\n error,\n state,\n isPaused,\n isExecuting,\n pendingTools,\n executeAndContinue,\n executeTools,\n continueWithResults,\n executionError,\n handleSend,\n inputDisabled: isStreaming || isPaused,\n dropZoneContainerRef: containerRef,\n renderTool,\n isDebug,\n }),\n [\n messages,\n sendMessage,\n clearMessages,\n cancelRun,\n isStreaming,\n isRefreshing,\n isCancelling,\n currentRunId,\n error,\n state,\n isPaused,\n isExecuting,\n pendingTools,\n executeAndContinue,\n executeTools,\n continueWithResults,\n executionError,\n handleSend,\n renderTool,\n isDebug,\n ],\n );\n\n return (\n <AgnoChatContext.Provider value={contextValue}>\n <div ref={containerRef} className={cn('relative h-full flex flex-col', className)} {...divProps}>\n {children}\n </div>\n </AgnoChatContext.Provider>\n );\n}\n",
|
|
63
|
+
"import type { ChatMessage } from '@rodrigocoliveira/agno-types';\nimport { isValidElement, useEffect, useRef, type ReactNode } from 'react';\nimport {\n Conversation,\n ConversationContent,\n ConversationEmptyState,\n ConversationScrollButton,\n useStickToBottomContext,\n} from '../../components/conversation';\nimport { StreamingIndicator } from '../../components/streaming-indicator';\nimport { AgnoMessageItem } from '../AgnoMessageItem';\nimport type { AgnoMessageItemProps } from '../AgnoMessageItem';\nimport { AgnoChatSuggestedPrompts } from './suggested-prompts';\nimport { useAgnoChatContext } from './context';\nimport type { RenderTool } from './render-tool';\nimport { cn } from '../../lib/cn';\nimport { Bot } from 'lucide-react';\nimport type {\n AgnoMessageClassNames,\n AgnoMessageAvatars,\n AgnoMessageActions,\n SuggestedPrompt,\n ScrollBehaviorConfig,\n} from '../../types';\n\nexport interface AgnoChatMessagesProps {\n className?: string;\n renderMessage?: (message: ChatMessage, index: number) => ReactNode;\n\n /** Grouped avatar configuration */\n avatars?: AgnoMessageAvatars;\n\n /** Grouped action buttons configuration with visibility control */\n actions?: AgnoMessageActions;\n\n // ── Message display options ────────────────────────────────────────\n /** Show reasoning steps (default: true) */\n showReasoning?: boolean;\n /** Show references (default: true) */\n showReferences?: boolean;\n /** Show timestamp (default: true) */\n showTimestamp?: boolean;\n /** Enable file preview cards with click-to-open modal (default: true) */\n showFilePreview?: boolean;\n /** Enable image lightbox on click (default: true) */\n showImageLightbox?: boolean;\n /** Custom timestamp formatter */\n formatTimestamp?: (date: Date) => string;\n /** ClassNames override map for message item sections */\n messageClassNames?: AgnoMessageClassNames;\n /**\n * Per-tool render function. Overrides the `renderTool` configured on `<AgnoChat>`\n * for this messages list. Use the `byToolName` helper for the common\n * dispatch-by-name case.\n */\n renderTool?: RenderTool;\n\n // ── Empty state ──────────────────────────────────────────────────\n emptyState?: ReactNode;\n suggestedPrompts?: SuggestedPrompt[];\n /** Custom empty state via children — takes priority over emptyState prop */\n children?: ReactNode;\n\n // ── Thinking indicator ───────────────────────────────────────────\n /** Show the thinking indicator while waiting for the first response content (default: true) */\n showThinkingIndicator?: boolean;\n /** Custom component to render instead of the default thinking indicator */\n renderThinkingIndicator?: ReactNode;\n\n // ── Scroll behavior ──────────────────────────────────────────────\n /**\n * Customize the auto-scroll behavior (powered by `use-stick-to-bottom`).\n * Defaults to `{ initial: 'smooth', resize: 'instant' }` — smooth initial\n * scroll, instant snap during streaming to avoid spring oscillation on\n * markdown/code/table reflow.\n */\n scrollBehavior?: ScrollBehaviorConfig;\n\n // ── Scroll-to-bottom button ──────────────────────────────────────\n /**\n * Controls the floating \"scroll to bottom\" button that appears when the\n * user scrolls up during streaming (the default affordance to resume\n * following the stream).\n *\n * - `undefined` (default) → render the built-in button\n * - `false` → hide the button entirely\n * - `true` → render the built-in button (same as default; useful for clarity)\n * - `{ className }` → render the built-in button with custom classes\n * - `ReactNode` → render your own element instead. Your component will be\n * placed inside `<Conversation>`, so it can use `useStickToBottomContext()`\n * to read `isAtBottom` and call `scrollToBottom()`.\n */\n scrollToBottomButton?: boolean | ReactNode | { className?: string };\n}\n\n/** Scrolls to bottom only when the user sends a new message */\nfunction ScrollOnNewUserMessage({ messageCount }: { messageCount: number }) {\n const { scrollToBottom } = useStickToBottomContext();\n const prevCount = useRef(messageCount);\n\n useEffect(() => {\n if (messageCount > prevCount.current) {\n scrollToBottom('smooth');\n }\n prevCount.current = messageCount;\n }, [messageCount, scrollToBottom]);\n\n return null;\n}\n\nconst DEFAULT_PROMPTS: SuggestedPrompt[] = [\n { text: 'What can you help me with?' },\n { text: 'Explain how you work' },\n];\n\nexport function AgnoChatMessages({\n className,\n renderMessage,\n avatars,\n actions,\n // Message display options\n showReasoning,\n showReferences,\n showTimestamp,\n showFilePreview,\n showImageLightbox,\n formatTimestamp,\n messageClassNames,\n // Empty state\n emptyState,\n suggestedPrompts = DEFAULT_PROMPTS,\n children,\n // Thinking indicator\n showThinkingIndicator = true,\n renderThinkingIndicator,\n renderTool: propRenderTool,\n scrollBehavior,\n scrollToBottomButton,\n}: AgnoChatMessagesProps) {\n const { messages, isStreaming } = useAgnoChatContext();\n const lastMessage = messages[messages.length - 1];\n const isThinking = showThinkingIndicator && isStreaming && (!lastMessage || lastMessage.role !== 'user') && !lastMessage?.content;\n\n // Resolve the scroll-to-bottom button prop into a rendered node (or null to hide).\n const resolvedScrollButton: ReactNode = (() => {\n if (scrollToBottomButton === false) return null;\n if (scrollToBottomButton === undefined || scrollToBottomButton === true) {\n return <ConversationScrollButton />;\n }\n if (isValidElement(scrollToBottomButton)) return scrollToBottomButton;\n if (\n typeof scrollToBottomButton === 'object' &&\n scrollToBottomButton !== null &&\n 'className' in scrollToBottomButton\n ) {\n return <ConversationScrollButton className={scrollToBottomButton.className} />;\n }\n // Any other ReactNode shape (string, number, fragment, array)\n return scrollToBottomButton as ReactNode;\n })();\n\n // Find the index of the last assistant message (for visibility logic)\n let lastAssistantIndex = -1;\n for (let i = messages.length - 1; i >= 0; i--) {\n if (messages[i].role !== 'user') {\n lastAssistantIndex = i;\n break;\n }\n }\n\n // Build message item props from direct props\n const messageItemProps: Partial<Omit<AgnoMessageItemProps, 'message'>> = {\n ...(showReasoning !== undefined && { showReasoning }),\n ...(showReferences !== undefined && { showReferences }),\n ...(showTimestamp !== undefined && { showTimestamp }),\n ...(showFilePreview !== undefined && { showFilePreview }),\n ...(showImageLightbox !== undefined && { showImageLightbox }),\n ...(formatTimestamp !== undefined && { formatTimestamp }),\n ...(messageClassNames !== undefined && { classNames: messageClassNames }),\n ...(propRenderTool !== undefined && { renderTool: propRenderTool }),\n };\n\n const resolvedEmptyState = children ??\n emptyState ?? (\n <div className=\"flex flex-col items-center gap-6\">\n <div className=\"relative\">\n <div className=\"h-16 w-16 rounded-2xl bg-primary/10 flex items-center justify-center\">\n <Bot className=\"h-8 w-8 text-primary\" />\n </div>\n <div className=\"absolute -bottom-1 -right-1 h-5 w-5 rounded-full bg-green-500 border-2 border-background flex items-center justify-center\">\n <span className=\"h-2 w-2 rounded-full bg-white animate-pulse\" />\n </div>\n </div>\n <div className=\"space-y-2 text-center\">\n <h3 className=\"text-xl font-semibold tracking-tight\">Welcome to Agno Chat</h3>\n <p className=\"text-muted-foreground text-sm max-w-sm\">\n Start a conversation with your AI agent. Ask questions, explore ideas, or run tools.\n </p>\n </div>\n {suggestedPrompts.length > 0 && <AgnoChatSuggestedPrompts prompts={suggestedPrompts} />}\n </div>\n );\n\n return (\n <Conversation className={cn('relative flex-1 w-full', className)} scrollBehavior={scrollBehavior}>\n <ScrollOnNewUserMessage messageCount={messages.length} />\n <ConversationContent className=\"max-w-3xl mx-auto\">\n {messages.length === 0 ? (\n <ConversationEmptyState>{resolvedEmptyState}</ConversationEmptyState>\n ) : (\n messages.map((message, index) => {\n // Hide the empty placeholder while the thinking indicator is shown\n if (isThinking && index === messages.length - 1 && message === lastMessage) return null;\n return renderMessage ? (\n renderMessage(message, index)\n ) : (\n <AgnoMessageItem\n key={`msg-${index}-${message.created_at}`}\n message={message}\n avatars={avatars}\n actions={actions}\n isLastAssistantMessage={index === lastAssistantIndex}\n {...messageItemProps}\n />\n );\n })\n )}\n\n {isThinking && (\n <div className=\"py-2\">\n {renderThinkingIndicator ?? <StreamingIndicator avatar={avatars?.assistant} />}\n </div>\n )}\n </ConversationContent>\n {resolvedScrollButton}\n </Conversation>\n );\n}\n",
|
|
49
64
|
"import { useAgnoChatContext } from './context';\nimport { cn } from '../../lib/cn';\nimport type { SuggestedPrompt } from '../../types';\n\nexport interface AgnoChatSuggestedPromptsProps {\n className?: string;\n prompts: SuggestedPrompt[];\n}\n\nexport function AgnoChatSuggestedPrompts({ className, prompts }: AgnoChatSuggestedPromptsProps) {\n const { handleSend } = useAgnoChatContext();\n\n if (prompts.length === 0) return null;\n\n return (\n <div className={cn('grid grid-cols-2 gap-2 w-full max-w-md', className)}>\n {prompts.map((prompt, idx) => (\n <button\n key={idx}\n onClick={() => handleSend(prompt.text)}\n className=\"flex items-center gap-2 px-3 py-2.5 rounded-xl border border-border bg-card hover:bg-accent/50 hover:border-primary/20 transition-all duration-200 text-left text-sm group\"\n >\n {prompt.icon && (\n <span className=\"text-muted-foreground group-hover:text-primary transition-colors\">\n {prompt.icon}\n </span>\n )}\n <span className=\"text-muted-foreground group-hover:text-foreground transition-colors text-xs leading-snug\">\n {prompt.text}\n </span>\n </button>\n ))}\n </div>\n );\n}\n",
|
|
50
65
|
"import type { HTMLAttributes, ReactNode } from 'react';\nimport { cn } from '../../lib/cn';\n\nexport interface AgnoChatEmptyStateProps extends HTMLAttributes<HTMLDivElement> {\n children: ReactNode;\n}\n\nexport function AgnoChatEmptyState({ children, className, ...props }: AgnoChatEmptyStateProps) {\n return (\n <div className={cn('flex flex-col items-center gap-6', className)} {...props}>\n {children}\n </div>\n );\n}\n",
|
|
51
66
|
"import { useState, useEffect, useRef } from 'react';\nimport type { ReactNode } from 'react';\nimport { useAgnoChatContext } from './context';\nimport { cn } from '../../lib/cn';\n\nexport interface AgnoChatErrorBarProps {\n className?: string;\n /** Override the displayed error message with a user-friendly string */\n text?: string;\n /** Icon element rendered before the message */\n icon?: ReactNode;\n /** Show a dismiss button to manually close the bar */\n dismissible?: boolean;\n /** Auto-hide timeout in ms (default 10000). Set 0 to disable auto-hide. */\n timeout?: number;\n /** Fully custom content — when provided, replaces the default icon + text layout */\n children?: ReactNode | ((error: string) => ReactNode);\n}\n\nexport function AgnoChatErrorBar({\n className,\n text,\n icon,\n dismissible = false,\n timeout = 10000,\n children,\n}: AgnoChatErrorBarProps) {\n const { error, executionError } = useAgnoChatContext();\n const [hidden, setHidden] = useState(false);\n const timerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n const rawMessage = error || executionError;\n\n // Reset hidden state and start timer when the error changes\n useEffect(() => {\n if (!rawMessage) return;\n\n setHidden(false);\n\n if (timerRef.current) {\n clearTimeout(timerRef.current);\n timerRef.current = null;\n }\n\n if (timeout > 0) {\n timerRef.current = setTimeout(() => {\n setHidden(true);\n }, timeout);\n }\n\n return () => {\n if (timerRef.current) {\n clearTimeout(timerRef.current);\n timerRef.current = null;\n }\n };\n }, [rawMessage, timeout]);\n\n if (!rawMessage || hidden) return null;\n\n const displayMessage = text ?? rawMessage;\n\n // Render function children or ReactNode children\n const renderContent = () => {\n if (children) {\n return typeof children === 'function' ? children(rawMessage) : children;\n }\n\n return (\n <div className=\"flex items-center gap-2 max-w-3xl mx-auto\">\n {icon && <span className=\"shrink-0\">{icon}</span>}\n <p className=\"text-sm text-destructive flex-1\">{displayMessage}</p>\n {dismissible && (\n <button\n type=\"button\"\n onClick={() => setHidden(true)}\n className=\"shrink-0 text-destructive/60 hover:text-destructive transition-colors\"\n aria-label=\"Dismiss error\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M18 6 6 18\" />\n <path d=\"m6 6 12 12\" />\n </svg>\n </button>\n )}\n </div>\n );\n };\n\n return (\n <div\n className={cn(\n 'px-4 py-2.5 bg-destructive/5 border-t border-destructive/20',\n className,\n )}\n >\n {renderContent()}\n </div>\n );\n}\n",
|
|
52
67
|
"import type { ReactNode } from 'react';\nimport { useAgnoChatContext } from './context';\nimport { AgnoChatInput } from '../AgnoChatInput';\nimport type { PromptInputDropZoneProps } from '../../components/prompt-input/drop-zone';\nimport { cn } from '../../lib/cn';\nimport type { AudioConfig, FileUploadConfig } from '../../types';\n\nexport interface AgnoChatInputRenderProps {\n onSend: (message: string | FormData) => Promise<void>;\n disabled: boolean;\n isStreaming: boolean;\n isPaused: boolean;\n}\n\nexport interface AgnoChatInputAreaProps {\n className?: string;\n children?: (props: AgnoChatInputRenderProps) => ReactNode;\n placeholder?: string;\n fileUpload?: FileUploadConfig;\n /**\n * Audio recording/transcription configuration.\n * Pass `true` for send-mode defaults, or an `AudioConfig` object.\n *\n * @example\n * audio={true}\n * audio={{ enabled: true, mode: 'transcribe', endpoint: 'http://...' }}\n */\n audio?: AudioConfig | boolean;\n /** Show attachments button (default: true) */\n showAttachments?: boolean;\n /** Extra tools to add to the toolbar */\n extraTools?: ReactNode;\n /** Show a stop button that cancels the run while streaming (default: false) */\n allowCancelRun?: boolean;\n /** Props forwarded to PromptInputDropZone (className, label) */\n dropZoneProps?: Partial<Pick<PromptInputDropZoneProps, 'label' | 'className'>>;\n}\n\nexport function AgnoChatInputArea({\n className,\n children,\n placeholder,\n fileUpload,\n audio,\n showAttachments,\n extraTools,\n allowCancelRun = false,\n dropZoneProps,\n}: AgnoChatInputAreaProps) {\n const { handleSend, inputDisabled, isStreaming, isPaused, cancelRun, dropZoneContainerRef } = useAgnoChatContext();\n\n return (\n <div className={cn('border-t border-border bg-background/80 backdrop-blur-sm', className)}>\n <div className=\"mx-auto px-4 py-2\">\n {children ? (\n children({ onSend: handleSend, disabled: inputDisabled, isStreaming, isPaused })\n ) : (\n <AgnoChatInput\n onSend={handleSend}\n disabled={inputDisabled}\n isStreaming={isStreaming}\n onCancel={cancelRun}\n allowCancelRun={allowCancelRun}\n placeholder={placeholder ?? 'Message your agent...'}\n fileUpload={fileUpload}\n audio={audio}\n showAttachments={showAttachments}\n extraTools={extraTools}\n dropZoneContainerRef={dropZoneContainerRef}\n dropZoneProps={dropZoneProps}\n />\n )}\n </div>\n </div>\n );\n}\n",
|
|
53
68
|
"import { AgnoChatRoot } from './agno-chat';\nimport { AgnoChatMessages } from './messages';\nimport { AgnoChatEmptyState } from './empty-state';\nimport { AgnoChatSuggestedPrompts } from './suggested-prompts';\nimport { AgnoChatErrorBar } from './error-bar';\nimport { AgnoChatInputArea } from './input';\n\n// Re-export context hook and types\nexport { useAgnoChatContext } from './context';\nexport type { AgnoChatContextValue } from './context';\n\n// Re-export individual sub-components for tree-shaking / named imports\nexport { AgnoChatRoot } from './agno-chat';\nexport type { AgnoChatRootProps } from './agno-chat';\nexport { AgnoChatMessages } from './messages';\nexport type { AgnoChatMessagesProps } from './messages';\nexport { AgnoChatEmptyState } from './empty-state';\nexport type { AgnoChatEmptyStateProps } from './empty-state';\nexport { AgnoChatSuggestedPrompts } from './suggested-prompts';\nexport type { AgnoChatSuggestedPromptsProps } from './suggested-prompts';\nexport { AgnoChatErrorBar } from './error-bar';\nexport type { AgnoChatErrorBarProps } from './error-bar';\nexport { AgnoChatInputArea } from './input';\nexport type { AgnoChatInputAreaProps, AgnoChatInputRenderProps } from './input';\n\n// Compound component via Object.assign (type-safe, no double cast)\nconst AgnoChat = Object.assign(AgnoChatRoot, {\n Messages: AgnoChatMessages,\n EmptyState: AgnoChatEmptyState,\n SuggestedPrompts: AgnoChatSuggestedPrompts,\n ErrorBar: AgnoChatErrorBar,\n Input: AgnoChatInputArea,\n});\n\nexport { AgnoChat };\n"
|
|
54
69
|
],
|
|
55
|
-
"mappings": "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",
|
|
56
|
-
"debugId": "
|
|
70
|
+
"mappings": "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",
|
|
71
|
+
"debugId": "849670CE2678388A64756E2164756E21",
|
|
57
72
|
"names": []
|
|
58
73
|
}
|