@datalayer/agent-runtimes 0.0.2
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/LICENSE +32 -0
- package/README.md +56 -0
- package/lib/App.css +47 -0
- package/lib/App.d.ts +3 -0
- package/lib/App.js +18 -0
- package/lib/components/chat/components/AgentDetails.d.ts +19 -0
- package/lib/components/chat/components/AgentDetails.js +170 -0
- package/lib/components/chat/components/Chat.d.ts +105 -0
- package/lib/components/chat/components/Chat.js +275 -0
- package/lib/components/chat/components/ChatFloating.d.ts +146 -0
- package/lib/components/chat/components/ChatFloating.js +381 -0
- package/lib/components/chat/components/ChatInline.d.ts +42 -0
- package/lib/components/chat/components/ChatInline.js +327 -0
- package/lib/components/chat/components/ChatPopupStandalone.d.ts +110 -0
- package/lib/components/chat/components/ChatPopupStandalone.js +422 -0
- package/lib/components/chat/components/ChatSidebar.d.ts +78 -0
- package/lib/components/chat/components/ChatSidebar.js +224 -0
- package/lib/components/chat/components/ChatStandalone.d.ts +105 -0
- package/lib/components/chat/components/ChatStandalone.js +320 -0
- package/lib/components/chat/components/base/ChatBase.d.ts +285 -0
- package/lib/components/chat/components/base/ChatBase.js +1192 -0
- package/lib/components/chat/components/display/ToolCallDisplay.d.ts +26 -0
- package/lib/components/chat/components/display/ToolCallDisplay.js +225 -0
- package/lib/components/chat/components/display/index.d.ts +6 -0
- package/lib/components/chat/components/display/index.js +10 -0
- package/lib/components/chat/components/elements/ChatHeader.d.ts +43 -0
- package/lib/components/chat/components/elements/ChatHeader.js +67 -0
- package/lib/components/chat/components/elements/ChatInputPrompt.d.ts +26 -0
- package/lib/components/chat/components/elements/ChatInputPrompt.js +145 -0
- package/lib/components/chat/components/elements/ChatMessages.d.ts +36 -0
- package/lib/components/chat/components/elements/ChatMessages.js +195 -0
- package/lib/components/chat/components/elements/FloatingBrandButton.d.ts +34 -0
- package/lib/components/chat/components/elements/FloatingBrandButton.js +88 -0
- package/lib/components/chat/components/elements/MessagePart.d.ts +50 -0
- package/lib/components/chat/components/elements/MessagePart.js +48 -0
- package/lib/components/chat/components/elements/PoweredByTag.d.ts +26 -0
- package/lib/components/chat/components/elements/PoweredByTag.js +33 -0
- package/lib/components/chat/components/elements/ToolApprovalDialog.d.ts +42 -0
- package/lib/components/chat/components/elements/ToolApprovalDialog.js +96 -0
- package/lib/components/chat/components/index.d.ts +21 -0
- package/lib/components/chat/components/index.js +34 -0
- package/lib/components/chat/components/parts/DynamicToolPart.d.ts +20 -0
- package/lib/components/chat/components/parts/DynamicToolPart.js +13 -0
- package/lib/components/chat/components/parts/ReasoningPart.d.ts +17 -0
- package/lib/components/chat/components/parts/ReasoningPart.js +69 -0
- package/lib/components/chat/components/parts/TextPart.d.ts +28 -0
- package/lib/components/chat/components/parts/TextPart.js +103 -0
- package/lib/components/chat/components/parts/ToolPart.d.ts +17 -0
- package/lib/components/chat/components/parts/ToolPart.js +163 -0
- package/lib/components/chat/components/parts/index.d.ts +9 -0
- package/lib/components/chat/components/parts/index.js +13 -0
- package/lib/components/chat/extensions/A2UIExtension.d.ts +87 -0
- package/lib/components/chat/extensions/A2UIExtension.js +312 -0
- package/lib/components/chat/extensions/ExtensionRegistry.d.ts +66 -0
- package/lib/components/chat/extensions/ExtensionRegistry.js +128 -0
- package/lib/components/chat/extensions/MCPUIExtension.d.ts +77 -0
- package/lib/components/chat/extensions/MCPUIExtension.js +212 -0
- package/lib/components/chat/extensions/index.d.ts +9 -0
- package/lib/components/chat/extensions/index.js +12 -0
- package/lib/components/chat/handler.d.ts +20 -0
- package/lib/components/chat/handler.js +56 -0
- package/lib/components/chat/index.d.ts +61 -0
- package/lib/components/chat/index.js +76 -0
- package/lib/components/chat/inference/BaseInferenceProvider.d.ts +57 -0
- package/lib/components/chat/inference/BaseInferenceProvider.js +69 -0
- package/lib/components/chat/inference/DatalayerInferenceProvider.d.ts +83 -0
- package/lib/components/chat/inference/DatalayerInferenceProvider.js +305 -0
- package/lib/components/chat/inference/SelfHostedInferenceProvider.d.ts +54 -0
- package/lib/components/chat/inference/SelfHostedInferenceProvider.js +246 -0
- package/lib/components/chat/inference/index.d.ts +9 -0
- package/lib/components/chat/inference/index.js +12 -0
- package/lib/components/chat/middleware/MiddlewarePipeline.d.ts +118 -0
- package/lib/components/chat/middleware/MiddlewarePipeline.js +255 -0
- package/lib/components/chat/middleware/index.d.ts +7 -0
- package/lib/components/chat/middleware/index.js +10 -0
- package/lib/components/chat/protocols/A2AAdapter.d.ts +79 -0
- package/lib/components/chat/protocols/A2AAdapter.js +388 -0
- package/lib/components/chat/protocols/ACPAdapter.d.ts +161 -0
- package/lib/components/chat/protocols/ACPAdapter.js +504 -0
- package/lib/components/chat/protocols/AGUIAdapter.d.ts +82 -0
- package/lib/components/chat/protocols/AGUIAdapter.js +518 -0
- package/lib/components/chat/protocols/BaseProtocolAdapter.d.ts +75 -0
- package/lib/components/chat/protocols/BaseProtocolAdapter.js +119 -0
- package/lib/components/chat/protocols/VercelAIAdapter.d.ts +77 -0
- package/lib/components/chat/protocols/VercelAIAdapter.js +252 -0
- package/lib/components/chat/protocols/index.d.ts +11 -0
- package/lib/components/chat/protocols/index.js +14 -0
- package/lib/components/chat/store/chatStore.d.ts +158 -0
- package/lib/components/chat/store/chatStore.js +313 -0
- package/lib/components/chat/store/index.d.ts +6 -0
- package/lib/components/chat/store/index.js +10 -0
- package/lib/components/chat/tools/ToolExecutor.d.ts +49 -0
- package/lib/components/chat/tools/ToolExecutor.js +151 -0
- package/lib/components/chat/tools/index.d.ts +8 -0
- package/lib/components/chat/tools/index.js +11 -0
- package/lib/components/chat/types/extension.d.ts +181 -0
- package/lib/components/chat/types/extension.js +46 -0
- package/lib/components/chat/types/index.d.ts +11 -0
- package/lib/components/chat/types/index.js +16 -0
- package/lib/components/chat/types/inference.d.ts +117 -0
- package/lib/components/chat/types/inference.js +5 -0
- package/lib/components/chat/types/message.d.ts +117 -0
- package/lib/components/chat/types/message.js +50 -0
- package/lib/components/chat/types/middleware.d.ts +153 -0
- package/lib/components/chat/types/middleware.js +32 -0
- package/lib/components/chat/types/protocol.d.ts +209 -0
- package/lib/components/chat/types/protocol.js +5 -0
- package/lib/components/chat/types/tool.d.ts +140 -0
- package/lib/components/chat/types/tool.js +23 -0
- package/lib/components/index.d.ts +1 -0
- package/lib/components/index.js +6 -0
- package/lib/components/sparklines/Sparklines.d.ts +16 -0
- package/lib/components/sparklines/Sparklines.js +65 -0
- package/lib/components/sparklines/SparklinesLine.d.ts +8 -0
- package/lib/components/sparklines/SparklinesLine.js +37 -0
- package/lib/components/sparklines/dataProcessing.d.ts +25 -0
- package/lib/components/sparklines/dataProcessing.js +35 -0
- package/lib/components/sparklines/index.d.ts +4 -0
- package/lib/components/sparklines/index.js +7 -0
- package/lib/components/sparklines/types.d.ts +36 -0
- package/lib/components/sparklines/types.js +5 -0
- package/lib/components/ui/accordion.d.ts +7 -0
- package/lib/components/ui/accordion.js +22 -0
- package/lib/components/ui/alert-dialog.d.ts +14 -0
- package/lib/components/ui/alert-dialog.js +43 -0
- package/lib/components/ui/alert.d.ts +9 -0
- package/lib/components/ui/alert.js +24 -0
- package/lib/components/ui/aspect-ratio.d.ts +3 -0
- package/lib/components/ui/aspect-ratio.js +11 -0
- package/lib/components/ui/avatar.d.ts +6 -0
- package/lib/components/ui/avatar.js +18 -0
- package/lib/components/ui/badge.d.ts +9 -0
- package/lib/components/ui/badge.js +22 -0
- package/lib/components/ui/breadcrumb.d.ts +11 -0
- package/lib/components/ui/breadcrumb.js +27 -0
- package/lib/components/ui/button-group.d.ts +11 -0
- package/lib/components/ui/button-group.js +31 -0
- package/lib/components/ui/button.d.ts +13 -0
- package/lib/components/ui/button.js +39 -0
- package/lib/components/ui/calendar.d.ts +8 -0
- package/lib/components/ui/calendar.js +80 -0
- package/lib/components/ui/card.d.ts +9 -0
- package/lib/components/ui/card.js +24 -0
- package/lib/components/ui/carousel.d.ts +19 -0
- package/lib/components/ui/carousel.js +95 -0
- package/lib/components/ui/chart.d.ts +53 -0
- package/lib/components/ui/chart.js +136 -0
- package/lib/components/ui/checkbox.d.ts +4 -0
- package/lib/components/ui/checkbox.js +13 -0
- package/lib/components/ui/collapsible.d.ts +5 -0
- package/lib/components/ui/collapsible.js +17 -0
- package/lib/components/ui/command.d.ts +18 -0
- package/lib/components/ui/command.js +38 -0
- package/lib/components/ui/context-menu.d.ts +25 -0
- package/lib/components/ui/context-menu.js +55 -0
- package/lib/components/ui/dialog.d.ts +15 -0
- package/lib/components/ui/dialog.js +40 -0
- package/lib/components/ui/drawer.d.ts +13 -0
- package/lib/components/ui/drawer.js +39 -0
- package/lib/components/ui/dropdown-menu.d.ts +25 -0
- package/lib/components/ui/dropdown-menu.js +55 -0
- package/lib/components/ui/empty.d.ts +11 -0
- package/lib/components/ui/empty.js +37 -0
- package/lib/components/ui/field.d.ts +24 -0
- package/lib/components/ui/field.js +80 -0
- package/lib/components/ui/form.d.ts +24 -0
- package/lib/components/ui/form.js +63 -0
- package/lib/components/ui/hover-card.d.ts +6 -0
- package/lib/components/ui/hover-card.js +18 -0
- package/lib/components/ui/input-group.d.ts +19 -0
- package/lib/components/ui/input-group.js +69 -0
- package/lib/components/ui/input-otp.d.ts +11 -0
- package/lib/components/ui/input-otp.js +25 -0
- package/lib/components/ui/input.d.ts +3 -0
- package/lib/components/ui/input.js +6 -0
- package/lib/components/ui/item.d.ts +23 -0
- package/lib/components/ui/item.js +66 -0
- package/lib/components/ui/kbd.d.ts +3 -0
- package/lib/components/ui/kbd.js +13 -0
- package/lib/components/ui/label.d.ts +4 -0
- package/lib/components/ui/label.js +12 -0
- package/lib/components/ui/menubar.d.ts +26 -0
- package/lib/components/ui/menubar.js +58 -0
- package/lib/components/ui/navigation-menu.d.ts +14 -0
- package/lib/components/ui/navigation-menu.js +31 -0
- package/lib/components/ui/pagination.d.ts +13 -0
- package/lib/components/ui/pagination.js +29 -0
- package/lib/components/ui/popover.d.ts +7 -0
- package/lib/components/ui/popover.js +21 -0
- package/lib/components/ui/progress.d.ts +4 -0
- package/lib/components/ui/progress.js +12 -0
- package/lib/components/ui/radio-group.d.ts +5 -0
- package/lib/components/ui/radio-group.js +16 -0
- package/lib/components/ui/resizable.d.ts +8 -0
- package/lib/components/ui/resizable.js +19 -0
- package/lib/components/ui/scroll-area.d.ts +5 -0
- package/lib/components/ui/scroll-area.js +17 -0
- package/lib/components/ui/select.d.ts +15 -0
- package/lib/components/ui/select.js +42 -0
- package/lib/components/ui/separator.d.ts +4 -0
- package/lib/components/ui/separator.js +12 -0
- package/lib/components/ui/sheet.d.ts +13 -0
- package/lib/components/ui/sheet.js +44 -0
- package/lib/components/ui/sidebar.d.ts +69 -0
- package/lib/components/ui/sidebar.js +216 -0
- package/lib/components/ui/skeleton.d.ts +2 -0
- package/lib/components/ui/skeleton.js +10 -0
- package/lib/components/ui/slider.d.ts +4 -0
- package/lib/components/ui/slider.js +18 -0
- package/lib/components/ui/sonner.d.ts +3 -0
- package/lib/components/ui/sonner.js +25 -0
- package/lib/components/ui/spinner.d.ts +2 -0
- package/lib/components/ui/spinner.js +11 -0
- package/lib/components/ui/switch.d.ts +4 -0
- package/lib/components/ui/switch.js +12 -0
- package/lib/components/ui/table.d.ts +10 -0
- package/lib/components/ui/table.js +32 -0
- package/lib/components/ui/tabs.d.ts +7 -0
- package/lib/components/ui/tabs.js +21 -0
- package/lib/components/ui/textarea.d.ts +3 -0
- package/lib/components/ui/textarea.js +6 -0
- package/lib/components/ui/toast.d.ts +15 -0
- package/lib/components/ui/toast.js +38 -0
- package/lib/components/ui/toaster.d.ts +1 -0
- package/lib/components/ui/toaster.js +14 -0
- package/lib/components/ui/toggle-group.d.ts +9 -0
- package/lib/components/ui/toggle-group.js +26 -0
- package/lib/components/ui/toggle.d.ts +9 -0
- package/lib/components/ui/toggle.js +30 -0
- package/lib/components/ui/tooltip.d.ts +7 -0
- package/lib/components/ui/tooltip.js +21 -0
- package/lib/components/vercel-ai-elements/artifact.d.ts +23 -0
- package/lib/components/vercel-ai-elements/artifact.js +24 -0
- package/lib/components/vercel-ai-elements/code-block.d.ts +17 -0
- package/lib/components/vercel-ai-elements/code-block.js +94 -0
- package/lib/components/vercel-ai-elements/conversation.d.ts +15 -0
- package/lib/components/vercel-ai-elements/conversation.js +21 -0
- package/lib/components/vercel-ai-elements/loader.d.ts +5 -0
- package/lib/components/vercel-ai-elements/loader.js +8 -0
- package/lib/components/vercel-ai-elements/message.d.ts +46 -0
- package/lib/components/vercel-ai-elements/message.js +109 -0
- package/lib/components/vercel-ai-elements/model-selector.d.ts +35 -0
- package/lib/components/vercel-ai-elements/model-selector.js +22 -0
- package/lib/components/vercel-ai-elements/prompt-input.d.ts +195 -0
- package/lib/components/vercel-ai-elements/prompt-input.js +589 -0
- package/lib/components/vercel-ai-elements/reasoning.d.ts +26 -0
- package/lib/components/vercel-ai-elements/reasoning.js +80 -0
- package/lib/components/vercel-ai-elements/shimmer.d.ts +9 -0
- package/lib/components/vercel-ai-elements/shimmer.js +22 -0
- package/lib/components/vercel-ai-elements/sources.d.ts +12 -0
- package/lib/components/vercel-ai-elements/sources.js +13 -0
- package/lib/components/vercel-ai-elements/suggestion.d.ts +10 -0
- package/lib/components/vercel-ai-elements/suggestion.js +16 -0
- package/lib/components/vercel-ai-elements/tool.d.ts +23 -0
- package/lib/components/vercel-ai-elements/tool.js +52 -0
- package/lib/examples/A2UiRestaurantExample.d.ts +25 -0
- package/lib/examples/A2UiRestaurantExample.js +305 -0
- package/lib/examples/AgUiAgenticExample.d.ts +25 -0
- package/lib/examples/AgUiAgenticExample.js +63 -0
- package/lib/examples/AgUiBackendToolRenderingExample.d.ts +30 -0
- package/lib/examples/AgUiBackendToolRenderingExample.js +103 -0
- package/lib/examples/AgUiHaikuGenUIExample.d.ts +44 -0
- package/lib/examples/AgUiHaikuGenUIExample.js +151 -0
- package/lib/examples/AgUiHumanInTheLoopExample.d.ts +26 -0
- package/lib/examples/AgUiHumanInTheLoopExample.js +220 -0
- package/lib/examples/AgUiSharedStateExample.d.ts +25 -0
- package/lib/examples/AgUiSharedStateExample.js +181 -0
- package/lib/examples/AgUiToolsBasedGenUIExample.d.ts +25 -0
- package/lib/examples/AgUiToolsBasedGenUIExample.js +257 -0
- package/lib/examples/AgentRuntimeCustomExample.d.ts +9 -0
- package/lib/examples/AgentRuntimeCustomExample.js +68 -0
- package/lib/examples/AgentRuntimeLexical2Example.d.ts +42 -0
- package/lib/examples/AgentRuntimeLexical2Example.js +236 -0
- package/lib/examples/AgentRuntimeLexicalExample.d.ts +36 -0
- package/lib/examples/AgentRuntimeLexicalExample.js +260 -0
- package/lib/examples/AgentRuntimeLexicalSidebarExample.d.ts +41 -0
- package/lib/examples/AgentRuntimeLexicalSidebarExample.js +166 -0
- package/lib/examples/AgentRuntimeNotebookExample.d.ts +9 -0
- package/lib/examples/AgentRuntimeNotebookExample.js +148 -0
- package/lib/examples/AgentRuntimeNotebookSidebarExample.d.ts +13 -0
- package/lib/examples/AgentRuntimeNotebookSidebarExample.js +121 -0
- package/lib/examples/AgentRuntimeStandaloneExample.d.ts +21 -0
- package/lib/examples/AgentRuntimeStandaloneExample.js +158 -0
- package/lib/examples/AgentSpaceFormExample.d.ts +22 -0
- package/lib/examples/AgentSpaceFormExample.js +296 -0
- package/lib/examples/AgentSpaceHomeExample.d.ts +8 -0
- package/lib/examples/AgentSpaceHomeExample.js +171 -0
- package/lib/examples/CopilotKitLexicalExample.d.ts +38 -0
- package/lib/examples/CopilotKitLexicalExample.js +161 -0
- package/lib/examples/CopilotKitNotebookExample.d.ts +11 -0
- package/lib/examples/CopilotKitNotebookExample.js +70 -0
- package/lib/examples/DatalayerNotebookExample.d.ts +16 -0
- package/lib/examples/DatalayerNotebookExample.js +99 -0
- package/lib/examples/JupyterCellExample.d.ts +6 -0
- package/lib/examples/JupyterCellExample.js +19 -0
- package/lib/examples/JupyterNotebookExample.d.ts +6 -0
- package/lib/examples/JupyterNotebookExample.js +21 -0
- package/lib/examples/ag-ui/haiku/HaikuDisplay.d.ts +18 -0
- package/lib/examples/ag-ui/haiku/HaikuDisplay.js +110 -0
- package/lib/examples/ag-ui/haiku/InlineHaikuCard.d.ts +39 -0
- package/lib/examples/ag-ui/haiku/InlineHaikuCard.js +117 -0
- package/lib/examples/ag-ui/haiku/index.d.ts +11 -0
- package/lib/examples/ag-ui/haiku/index.js +15 -0
- package/lib/examples/ag-ui/index.d.ts +10 -0
- package/lib/examples/ag-ui/index.js +16 -0
- package/lib/examples/ag-ui/weather/InlineWeatherCard.d.ts +43 -0
- package/lib/examples/ag-ui/weather/InlineWeatherCard.js +180 -0
- package/lib/examples/ag-ui/weather/index.d.ts +9 -0
- package/lib/examples/ag-ui/weather/index.js +13 -0
- package/lib/examples/components/AgentConfiguration.d.ts +50 -0
- package/lib/examples/components/AgentConfiguration.js +115 -0
- package/lib/examples/components/AgentsDataTable.d.ts +13 -0
- package/lib/examples/components/AgentsDataTable.js +74 -0
- package/lib/examples/components/FooterMetrics.d.ts +12 -0
- package/lib/examples/components/FooterMetrics.js +17 -0
- package/lib/examples/components/Header.d.ts +27 -0
- package/lib/examples/components/Header.js +294 -0
- package/lib/examples/components/HeaderControls.d.ts +11 -0
- package/lib/examples/components/HeaderControls.js +24 -0
- package/lib/examples/components/LexicalEditor.d.ts +27 -0
- package/lib/examples/components/LexicalEditor.js +118 -0
- package/lib/examples/components/MainContent.d.ts +19 -0
- package/lib/examples/components/MainContent.js +68 -0
- package/lib/examples/components/MockFileBrowser.d.ts +12 -0
- package/lib/examples/components/MockFileBrowser.js +131 -0
- package/lib/examples/components/Rating.d.ts +14 -0
- package/lib/examples/components/Rating.js +12 -0
- package/lib/examples/components/SessionTabs.d.ts +21 -0
- package/lib/examples/components/SessionTabs.js +11 -0
- package/lib/examples/components/TimeTravel.d.ts +15 -0
- package/lib/examples/components/TimeTravel.js +23 -0
- package/lib/examples/components/index.d.ts +11 -0
- package/lib/examples/components/index.js +14 -0
- package/lib/examples/example-selector.d.ts +22 -0
- package/lib/examples/example-selector.js +62 -0
- package/lib/examples/index.d.ts +21 -0
- package/lib/examples/index.js +25 -0
- package/lib/examples/lexical/editorConfig.d.ts +76 -0
- package/lib/examples/lexical/editorConfig.js +55 -0
- package/lib/examples/lexical/lexical-theme.css +436 -0
- package/lib/examples/lexical/theme.d.ts +61 -0
- package/lib/examples/lexical/theme.js +72 -0
- package/lib/examples/main.d.ts +2 -0
- package/lib/examples/main.js +334 -0
- package/lib/examples/stores/agents/earthquake-detector.ipynb.json +111 -0
- package/lib/examples/stores/agents/earthquake-detector.json +13 -0
- package/lib/examples/stores/agents/earthquake-detector.lexical.json +2988 -0
- package/lib/examples/stores/agents/sales-forecaster.ipynb.json +111 -0
- package/lib/examples/stores/agents/sales-forecaster.json +13 -0
- package/lib/examples/stores/agents/sales-forecaster.lexical.json +2988 -0
- package/lib/examples/stores/agents/social-post-generator.ipynb.json +111 -0
- package/lib/examples/stores/agents/social-post-generator.json +13 -0
- package/lib/examples/stores/agents/social-post-generator.lexical.json +2988 -0
- package/lib/examples/stores/agents/stock-market.ipynb.json +56 -0
- package/lib/examples/stores/agents/stock-market.json +13 -0
- package/lib/examples/stores/agents/stock-market.lexical.json +1026 -0
- package/lib/examples/stores/examplesStore.d.ts +26 -0
- package/lib/examples/stores/examplesStore.js +60 -0
- package/lib/examples/stores/notebooks/Empty.ipynb.json +33 -0
- package/lib/examples/stores/notebooks/IPyWidgetsExample.ipynb.json +101 -0
- package/lib/examples/stores/notebooks/IPyWidgetsExampleWithState.ipynb.json +112 -0
- package/lib/examples/stores/notebooks/Lite.ipynb.json +128 -0
- package/lib/examples/stores/notebooks/Matplotlib.ipynb.json +137 -0
- package/lib/examples/stores/notebooks/NotebookExample1.ipynb.json +126 -0
- package/lib/examples/stores/notebooks/NotebookExample2.ipynb.json +48 -0
- package/lib/examples/stores/notebooks/NotebookOutputs.ipynb.json +49 -0
- package/lib/examples/stores/notebooks/NotebookToCExample.ipynb.json +102 -0
- package/lib/examples/stores/notebooks/OutputIPyWidgetsExample.d.ts +145 -0
- package/lib/examples/stores/notebooks/OutputIPyWidgetsExample.js +153 -0
- package/lib/examples/stores/notebooks/PyGWalker.ipynb.json +55 -0
- package/lib/examples/vercel-ai-elements/VercelAiElementsShowcase.d.ts +12 -0
- package/lib/examples/vercel-ai-elements/VercelAiElementsShowcase.js +69 -0
- package/lib/examples/vercel-ai-elements/components/ArtifactShowcase.d.ts +1 -0
- package/lib/examples/vercel-ai-elements/components/ArtifactShowcase.js +85 -0
- package/lib/examples/vercel-ai-elements/components/CodeBlockShowcase.d.ts +1 -0
- package/lib/examples/vercel-ai-elements/components/CodeBlockShowcase.js +62 -0
- package/lib/examples/vercel-ai-elements/components/ConversationShowcase.d.ts +1 -0
- package/lib/examples/vercel-ai-elements/components/ConversationShowcase.js +51 -0
- package/lib/examples/vercel-ai-elements/components/LoaderShowcase.d.ts +1 -0
- package/lib/examples/vercel-ai-elements/components/LoaderShowcase.js +9 -0
- package/lib/examples/vercel-ai-elements/components/MessageShowcase.d.ts +1 -0
- package/lib/examples/vercel-ai-elements/components/MessageShowcase.js +56 -0
- package/lib/examples/vercel-ai-elements/components/ModelSelectorShowcase.d.ts +1 -0
- package/lib/examples/vercel-ai-elements/components/ModelSelectorShowcase.js +50 -0
- package/lib/examples/vercel-ai-elements/components/PromptInputShowcase.d.ts +1 -0
- package/lib/examples/vercel-ai-elements/components/PromptInputShowcase.js +16 -0
- package/lib/examples/vercel-ai-elements/components/ReasoningShowcase.d.ts +1 -0
- package/lib/examples/vercel-ai-elements/components/ReasoningShowcase.js +72 -0
- package/lib/examples/vercel-ai-elements/components/ShimmerShowcase.d.ts +1 -0
- package/lib/examples/vercel-ai-elements/components/ShimmerShowcase.js +9 -0
- package/lib/examples/vercel-ai-elements/components/SourcesShowcase.d.ts +1 -0
- package/lib/examples/vercel-ai-elements/components/SourcesShowcase.js +43 -0
- package/lib/examples/vercel-ai-elements/components/SuggestionShowcase.d.ts +1 -0
- package/lib/examples/vercel-ai-elements/components/SuggestionShowcase.js +31 -0
- package/lib/examples/vercel-ai-elements/components/ToolShowcase.d.ts +1 -0
- package/lib/examples/vercel-ai-elements/components/ToolShowcase.js +54 -0
- package/lib/examples/vercel-ai-elements/index.d.ts +13 -0
- package/lib/examples/vercel-ai-elements/index.js +17 -0
- package/lib/examples/vercel-ai-elements/main.d.ts +1 -0
- package/lib/examples/vercel-ai-elements/main.js +9 -0
- package/lib/examples/vercel-ai-elements/showcase.css +128 -0
- package/lib/hooks/index.d.ts +68 -0
- package/lib/hooks/index.js +81 -0
- package/lib/hooks/useA2A.d.ts +75 -0
- package/lib/hooks/useA2A.js +368 -0
- package/lib/hooks/useAGUI.d.ts +63 -0
- package/lib/hooks/useAGUI.js +162 -0
- package/lib/hooks/useAcp.d.ts +121 -0
- package/lib/hooks/useAcp.js +459 -0
- package/lib/hooks/useAgents.d.ts +13 -0
- package/lib/hooks/useAgents.js +71 -0
- package/lib/hooks/useChat.d.ts +62 -0
- package/lib/hooks/useChat.js +363 -0
- package/lib/hooks/useKeyboardShortcuts.d.ts +47 -0
- package/lib/hooks/useKeyboardShortcuts.js +153 -0
- package/lib/hooks/useMobile.d.ts +1 -0
- package/lib/hooks/useMobile.js +19 -0
- package/lib/hooks/useNotebookAIAgent.d.ts +8 -0
- package/lib/hooks/useNotebookAIAgent.js +56 -0
- package/lib/hooks/useToast.d.ts +44 -0
- package/lib/hooks/useToast.js +128 -0
- package/lib/hooks/useTools.d.ts +107 -0
- package/lib/hooks/useTools.js +130 -0
- package/lib/hooks/useVercelChat.d.ts +45 -0
- package/lib/hooks/useVercelChat.js +62 -0
- package/lib/index.css +73 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +5 -0
- package/lib/lexical/ChatInlinePlugin.d.ts +21 -0
- package/lib/lexical/ChatInlinePlugin.js +379 -0
- package/lib/lexical/index.d.ts +6 -0
- package/lib/lexical/index.js +10 -0
- package/lib/lib/utils.d.ts +2 -0
- package/lib/lib/utils.js +9 -0
- package/lib/main.d.ts +1 -0
- package/lib/main.js +12 -0
- package/lib/models/AIAgent.d.ts +17 -0
- package/lib/models/AIAgent.js +5 -0
- package/lib/models/index.d.ts +1 -0
- package/lib/models/index.js +5 -0
- package/lib/renderers/a2ui/components/A2UIRenderer.d.ts +7 -0
- package/lib/renderers/a2ui/components/A2UIRenderer.js +102 -0
- package/lib/renderers/a2ui/components/SurfaceRenderer.d.ts +7 -0
- package/lib/renderers/a2ui/components/SurfaceRenderer.js +101 -0
- package/lib/renderers/a2ui/components/content/AudioPlayer.d.ts +9 -0
- package/lib/renderers/a2ui/components/content/AudioPlayer.js +38 -0
- package/lib/renderers/a2ui/components/content/Divider.d.ts +9 -0
- package/lib/renderers/a2ui/components/content/Divider.js +35 -0
- package/lib/renderers/a2ui/components/content/Icon.d.ts +9 -0
- package/lib/renderers/a2ui/components/content/Icon.js +110 -0
- package/lib/renderers/a2ui/components/content/Image.d.ts +9 -0
- package/lib/renderers/a2ui/components/content/Image.js +61 -0
- package/lib/renderers/a2ui/components/content/Text.d.ts +9 -0
- package/lib/renderers/a2ui/components/content/Text.js +64 -0
- package/lib/renderers/a2ui/components/content/Video.d.ts +9 -0
- package/lib/renderers/a2ui/components/content/Video.js +37 -0
- package/lib/renderers/a2ui/components/content/index.d.ts +6 -0
- package/lib/renderers/a2ui/components/content/index.js +25 -0
- package/lib/renderers/a2ui/components/index.d.ts +5 -0
- package/lib/renderers/a2ui/components/index.js +24 -0
- package/lib/renderers/a2ui/components/interactive/Button.d.ts +11 -0
- package/lib/renderers/a2ui/components/interactive/Button.js +71 -0
- package/lib/renderers/a2ui/components/interactive/CheckBox.d.ts +9 -0
- package/lib/renderers/a2ui/components/interactive/CheckBox.js +48 -0
- package/lib/renderers/a2ui/components/interactive/DateTimeInput.d.ts +9 -0
- package/lib/renderers/a2ui/components/interactive/DateTimeInput.js +62 -0
- package/lib/renderers/a2ui/components/interactive/MultipleChoice.d.ts +9 -0
- package/lib/renderers/a2ui/components/interactive/MultipleChoice.js +73 -0
- package/lib/renderers/a2ui/components/interactive/Slider.d.ts +9 -0
- package/lib/renderers/a2ui/components/interactive/Slider.js +53 -0
- package/lib/renderers/a2ui/components/interactive/TextField.d.ts +9 -0
- package/lib/renderers/a2ui/components/interactive/TextField.js +72 -0
- package/lib/renderers/a2ui/components/interactive/index.d.ts +6 -0
- package/lib/renderers/a2ui/components/interactive/index.js +25 -0
- package/lib/renderers/a2ui/components/layout/Card.d.ts +11 -0
- package/lib/renderers/a2ui/components/layout/Card.js +30 -0
- package/lib/renderers/a2ui/components/layout/Column.d.ts +11 -0
- package/lib/renderers/a2ui/components/layout/Column.js +65 -0
- package/lib/renderers/a2ui/components/layout/List.d.ts +11 -0
- package/lib/renderers/a2ui/components/layout/List.js +55 -0
- package/lib/renderers/a2ui/components/layout/Modal.d.ts +11 -0
- package/lib/renderers/a2ui/components/layout/Modal.js +58 -0
- package/lib/renderers/a2ui/components/layout/Row.d.ts +11 -0
- package/lib/renderers/a2ui/components/layout/Row.js +65 -0
- package/lib/renderers/a2ui/components/layout/Tabs.d.ts +11 -0
- package/lib/renderers/a2ui/components/layout/Tabs.js +48 -0
- package/lib/renderers/a2ui/components/layout/index.d.ts +6 -0
- package/lib/renderers/a2ui/components/layout/index.js +25 -0
- package/lib/renderers/a2ui/context/A2UIContext.d.ts +17 -0
- package/lib/renderers/a2ui/context/A2UIContext.js +54 -0
- package/lib/renderers/a2ui/context/ThemeContext.d.ts +20 -0
- package/lib/renderers/a2ui/context/ThemeContext.js +333 -0
- package/lib/renderers/a2ui/hooks/useA2UI.d.ts +36 -0
- package/lib/renderers/a2ui/hooks/useA2UI.js +62 -0
- package/lib/renderers/a2ui/hooks/useDataBinding.d.ts +8 -0
- package/lib/renderers/a2ui/hooks/useDataBinding.js +83 -0
- package/lib/renderers/a2ui/index.d.ts +9 -0
- package/lib/renderers/a2ui/index.js +28 -0
- package/lib/renderers/a2ui/lib/utils.d.ts +11 -0
- package/lib/renderers/a2ui/lib/utils.js +38 -0
- package/lib/renderers/a2ui/types/index.d.ts +17 -0
- package/lib/renderers/a2ui/types/index.js +5 -0
- package/lib/renderers/index.d.ts +1 -0
- package/lib/renderers/index.js +5 -0
- package/lib/state/index.d.ts +1 -0
- package/lib/state/index.js +5 -0
- package/lib/state/substates/AIAgentState.d.ts +11 -0
- package/lib/state/substates/AIAgentState.js +42 -0
- package/lib/state/substates/index.d.ts +1 -0
- package/lib/state/substates/index.js +5 -0
- package/lib/stories/Button.d.ts +15 -0
- package/lib/stories/Button.js +13 -0
- package/lib/stories/Button.stories.d.ts +23 -0
- package/lib/stories/Button.stories.js +48 -0
- package/lib/stories/Cell.stories.d.ts +12 -0
- package/lib/stories/Cell.stories.js +123 -0
- package/lib/stories/Header.d.ts +12 -0
- package/lib/stories/Header.js +8 -0
- package/lib/stories/Header.stories.d.ts +18 -0
- package/lib/stories/Header.stories.js +30 -0
- package/lib/stories/Page.d.ts +3 -0
- package/lib/stories/Page.js +12 -0
- package/lib/stories/Page.stories.d.ts +12 -0
- package/lib/stories/Page.stories.js +28 -0
- package/lib/stories/assets/accessibility.png +0 -0
- package/lib/stories/assets/accessibility.svg +1 -0
- package/lib/stories/assets/addon-library.png +0 -0
- package/lib/stories/assets/assets.png +0 -0
- package/lib/stories/assets/context.png +0 -0
- package/lib/stories/assets/discord.svg +1 -0
- package/lib/stories/assets/docs.png +0 -0
- package/lib/stories/assets/figma-plugin.png +0 -0
- package/lib/stories/assets/github.svg +1 -0
- package/lib/stories/assets/share.png +0 -0
- package/lib/stories/assets/styling.png +0 -0
- package/lib/stories/assets/testing.png +0 -0
- package/lib/stories/assets/theming.png +0 -0
- package/lib/stories/assets/tutorials.svg +1 -0
- package/lib/stories/assets/youtube.svg +1 -0
- package/lib/stories/button.css +35 -0
- package/lib/stories/header.css +37 -0
- package/lib/stories/page.css +73 -0
- package/lib/test-setup.d.ts +1 -0
- package/lib/test-setup.js +80 -0
- package/lib/tools/adapters/agent-runtimes/AgentRuntimesToolAdapter.d.ts +40 -0
- package/lib/tools/adapters/agent-runtimes/AgentRuntimesToolAdapter.js +110 -0
- package/lib/tools/adapters/agent-runtimes/index.d.ts +9 -0
- package/lib/tools/adapters/agent-runtimes/index.js +13 -0
- package/lib/tools/adapters/agent-runtimes/lexicalHooks.d.ts +24 -0
- package/lib/tools/adapters/agent-runtimes/lexicalHooks.js +50 -0
- package/lib/tools/adapters/agent-runtimes/notebookHooks.d.ts +24 -0
- package/lib/tools/adapters/agent-runtimes/notebookHooks.js +51 -0
- package/lib/tools/adapters/copilotkit/CopilotKitToolAdapter.d.ts +73 -0
- package/lib/tools/adapters/copilotkit/CopilotKitToolAdapter.js +244 -0
- package/lib/tools/adapters/copilotkit/index.d.ts +10 -0
- package/lib/tools/adapters/copilotkit/index.js +14 -0
- package/lib/tools/adapters/copilotkit/lexicalHooks.d.ts +27 -0
- package/lib/tools/adapters/copilotkit/lexicalHooks.js +59 -0
- package/lib/tools/adapters/copilotkit/notebookHooks.d.ts +27 -0
- package/lib/tools/adapters/copilotkit/notebookHooks.js +58 -0
- package/lib/tools/adapters/index.d.ts +1 -0
- package/lib/tools/adapters/index.js +5 -0
- package/lib/tools/index.d.ts +6 -0
- package/lib/tools/index.js +18 -0
- package/lib/types.d.ts +5 -0
- package/lib/types.js +5 -0
- package/package.json +327 -0
- package/style/animation/Animation.module.css +174 -0
- package/style/base.css +204 -0
- package/style/index.css +6 -0
- package/style/showcase-vercel-ai.css +137 -0
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
4
|
+
* Distributed under the terms of the Modified BSD License.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* InlineHaikuCard - A beautiful haiku card component for inline rendering.
|
|
8
|
+
*
|
|
9
|
+
* Inspired by the AG-UI Dojo implementation, this component renders haiku
|
|
10
|
+
* poetry with gradient backgrounds and Japanese/English text.
|
|
11
|
+
*
|
|
12
|
+
* @module examples/ag-ui/haiku/InlineHaikuCard
|
|
13
|
+
*/
|
|
14
|
+
import { Spinner } from '@primer/react';
|
|
15
|
+
/**
|
|
16
|
+
* Default gradient if none specified
|
|
17
|
+
*/
|
|
18
|
+
const DEFAULT_GRADIENT = 'linear-gradient(135deg, #667eea 0%, #764ba2 100%)';
|
|
19
|
+
/**
|
|
20
|
+
* InlineHaikuCard Component
|
|
21
|
+
*
|
|
22
|
+
* Renders a beautiful haiku card inline in the chat or in a display area with:
|
|
23
|
+
* - Custom gradient background
|
|
24
|
+
* - Japanese text (decorative, larger)
|
|
25
|
+
* - English translation (below)
|
|
26
|
+
* - Decorative corner accents
|
|
27
|
+
*/
|
|
28
|
+
export function InlineHaikuCard({ haiku, status, error, size = 'normal', }) {
|
|
29
|
+
const isLarge = size === 'large';
|
|
30
|
+
const cardWidth = isLarge ? 400 : 300;
|
|
31
|
+
const japaneseSize = isLarge ? 24 : 18;
|
|
32
|
+
const englishSize = isLarge ? 14 : 12;
|
|
33
|
+
const padding = isLarge ? 24 : 16;
|
|
34
|
+
// Show loading state for inProgress or executing
|
|
35
|
+
if (status === 'inProgress' || status === 'executing' || !haiku) {
|
|
36
|
+
return (_jsxs("div", { style: {
|
|
37
|
+
background: DEFAULT_GRADIENT,
|
|
38
|
+
borderRadius: 12,
|
|
39
|
+
padding: padding,
|
|
40
|
+
marginTop: 12,
|
|
41
|
+
marginBottom: 8,
|
|
42
|
+
maxWidth: cardWidth,
|
|
43
|
+
width: '100%',
|
|
44
|
+
display: 'flex',
|
|
45
|
+
alignItems: 'center',
|
|
46
|
+
gap: 8,
|
|
47
|
+
}, children: [_jsx(Spinner, { size: "small" }), _jsx("span", { style: { color: 'white', fontSize: 14 }, children: status === 'inProgress'
|
|
48
|
+
? 'Composing haiku...'
|
|
49
|
+
: 'Generating haiku...' })] }));
|
|
50
|
+
}
|
|
51
|
+
// Show error state
|
|
52
|
+
if (status === 'error') {
|
|
53
|
+
return (_jsx("div", { style: {
|
|
54
|
+
backgroundColor: '#E53E3E',
|
|
55
|
+
borderRadius: 12,
|
|
56
|
+
padding: padding,
|
|
57
|
+
marginTop: 12,
|
|
58
|
+
marginBottom: 8,
|
|
59
|
+
maxWidth: cardWidth,
|
|
60
|
+
width: '100%',
|
|
61
|
+
}, children: _jsxs("span", { style: { color: 'white', fontSize: 14 }, children: ["Error: ", error || 'Failed to generate haiku'] }) }));
|
|
62
|
+
}
|
|
63
|
+
const gradient = haiku.gradient || DEFAULT_GRADIENT;
|
|
64
|
+
return (_jsxs("div", { "data-testid": "haiku-card", style: {
|
|
65
|
+
background: gradient,
|
|
66
|
+
borderRadius: 12,
|
|
67
|
+
marginTop: 12,
|
|
68
|
+
marginBottom: 8,
|
|
69
|
+
maxWidth: cardWidth,
|
|
70
|
+
width: '100%',
|
|
71
|
+
overflow: 'hidden',
|
|
72
|
+
position: 'relative',
|
|
73
|
+
}, children: [_jsx("div", { style: {
|
|
74
|
+
position: 'absolute',
|
|
75
|
+
top: 0,
|
|
76
|
+
right: 0,
|
|
77
|
+
width: 60,
|
|
78
|
+
height: 60,
|
|
79
|
+
background: 'rgba(255, 255, 255, 0.1)',
|
|
80
|
+
borderBottomLeftRadius: '100%',
|
|
81
|
+
} }), _jsx("div", { style: {
|
|
82
|
+
position: 'absolute',
|
|
83
|
+
bottom: 0,
|
|
84
|
+
left: 0,
|
|
85
|
+
width: 40,
|
|
86
|
+
height: 40,
|
|
87
|
+
background: 'rgba(255, 255, 255, 0.08)',
|
|
88
|
+
borderTopRightRadius: '100%',
|
|
89
|
+
} }), _jsxs("div", { style: {
|
|
90
|
+
padding: padding,
|
|
91
|
+
position: 'relative',
|
|
92
|
+
zIndex: 1,
|
|
93
|
+
}, children: [_jsx("div", { "data-testid": "haiku-japanese", style: {
|
|
94
|
+
marginBottom: isLarge ? 20 : 16,
|
|
95
|
+
}, children: haiku.japanese.map((line, index) => (_jsx("p", { style: {
|
|
96
|
+
color: 'white',
|
|
97
|
+
fontSize: japaneseSize,
|
|
98
|
+
fontWeight: 500,
|
|
99
|
+
margin: 0,
|
|
100
|
+
marginBottom: index < haiku.japanese.length - 1 ? 4 : 0,
|
|
101
|
+
textShadow: '0 1px 2px rgba(0, 0, 0, 0.2)',
|
|
102
|
+
lineHeight: 1.4,
|
|
103
|
+
}, children: line }, `jp-${index}`))) }), _jsx("div", { style: {
|
|
104
|
+
width: 40,
|
|
105
|
+
height: 2,
|
|
106
|
+
background: 'rgba(255, 255, 255, 0.4)',
|
|
107
|
+
marginBottom: isLarge ? 16 : 12,
|
|
108
|
+
} }), _jsx("div", { "data-testid": "haiku-english", children: haiku.english.map((line, index) => (_jsx("p", { style: {
|
|
109
|
+
color: 'rgba(255, 255, 255, 0.85)',
|
|
110
|
+
fontSize: englishSize,
|
|
111
|
+
fontStyle: 'italic',
|
|
112
|
+
margin: 0,
|
|
113
|
+
marginBottom: index < haiku.english.length - 1 ? 2 : 0,
|
|
114
|
+
lineHeight: 1.5,
|
|
115
|
+
}, children: line }, `en-${index}`))) })] })] }));
|
|
116
|
+
}
|
|
117
|
+
export default InlineHaikuCard;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Haiku example components for AG-UI tool-based generative UI.
|
|
3
|
+
*
|
|
4
|
+
* This folder contains haiku-specific components that demonstrate
|
|
5
|
+
* tool-based generative UI where the backend generates haiku content
|
|
6
|
+
* that is rendered both inline in chat and in a main display area.
|
|
7
|
+
*
|
|
8
|
+
* @module examples/ag-ui/haiku
|
|
9
|
+
*/
|
|
10
|
+
export { InlineHaikuCard, type InlineHaikuCardProps, type HaikuResult, } from './InlineHaikuCard';
|
|
11
|
+
export { HaikuDisplay, type HaikuDisplayProps } from './HaikuDisplay';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Haiku example components for AG-UI tool-based generative UI.
|
|
7
|
+
*
|
|
8
|
+
* This folder contains haiku-specific components that demonstrate
|
|
9
|
+
* tool-based generative UI where the backend generates haiku content
|
|
10
|
+
* that is rendered both inline in chat and in a main display area.
|
|
11
|
+
*
|
|
12
|
+
* @module examples/ag-ui/haiku
|
|
13
|
+
*/
|
|
14
|
+
export { InlineHaikuCard, } from './InlineHaikuCard';
|
|
15
|
+
export { HaikuDisplay } from './HaikuDisplay';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AG-UI example components.
|
|
3
|
+
*
|
|
4
|
+
* This folder contains components that demonstrate various AG-UI patterns
|
|
5
|
+
* including weather cards, haiku generation, and other tool-based UIs.
|
|
6
|
+
*
|
|
7
|
+
* @module examples/ag-ui
|
|
8
|
+
*/
|
|
9
|
+
export { InlineWeatherCard, type InlineWeatherCardProps, type WeatherResult, } from './weather';
|
|
10
|
+
export { InlineHaikuCard, HaikuDisplay, type InlineHaikuCardProps, type HaikuDisplayProps, type HaikuResult, } from './haiku';
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* AG-UI example components.
|
|
7
|
+
*
|
|
8
|
+
* This folder contains components that demonstrate various AG-UI patterns
|
|
9
|
+
* including weather cards, haiku generation, and other tool-based UIs.
|
|
10
|
+
*
|
|
11
|
+
* @module examples/ag-ui
|
|
12
|
+
*/
|
|
13
|
+
// Weather components
|
|
14
|
+
export { InlineWeatherCard, } from './weather';
|
|
15
|
+
// Haiku components
|
|
16
|
+
export { InlineHaikuCard, HaikuDisplay, } from './haiku';
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Weather data structure returned by the backend tool
|
|
3
|
+
*/
|
|
4
|
+
export interface WeatherResult {
|
|
5
|
+
temperature: number;
|
|
6
|
+
feelsLike: number;
|
|
7
|
+
humidity: number;
|
|
8
|
+
windSpeed: number;
|
|
9
|
+
windGust?: number;
|
|
10
|
+
conditions: string;
|
|
11
|
+
location: string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Props for InlineWeatherCard
|
|
15
|
+
* Status aligned with CopilotKit's useRenderToolCall pattern
|
|
16
|
+
*/
|
|
17
|
+
export interface InlineWeatherCardProps {
|
|
18
|
+
/** Location being queried */
|
|
19
|
+
location?: string;
|
|
20
|
+
/** Weather result data */
|
|
21
|
+
result?: WeatherResult;
|
|
22
|
+
/**
|
|
23
|
+
* Current status:
|
|
24
|
+
* - 'inProgress': Arguments are being streamed
|
|
25
|
+
* - 'executing': Tool is executing on backend
|
|
26
|
+
* - 'complete': Tool completed successfully
|
|
27
|
+
* - 'error': Tool execution failed
|
|
28
|
+
*/
|
|
29
|
+
status: 'inProgress' | 'executing' | 'complete' | 'error';
|
|
30
|
+
/** Error message if status is 'error' */
|
|
31
|
+
error?: string;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* InlineWeatherCard Component
|
|
35
|
+
*
|
|
36
|
+
* Renders a beautiful weather card inline in the chat with:
|
|
37
|
+
* - Dynamic background color based on weather conditions
|
|
38
|
+
* - Weather icon (sun, rain, cloud)
|
|
39
|
+
* - Temperature in both Celsius and Fahrenheit
|
|
40
|
+
* - Humidity, wind speed, and feels like temperature
|
|
41
|
+
*/
|
|
42
|
+
export declare function InlineWeatherCard({ location, result, status, error, }: InlineWeatherCardProps): import("react/jsx-runtime").JSX.Element;
|
|
43
|
+
export default InlineWeatherCard;
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
4
|
+
* Distributed under the terms of the Modified BSD License.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* InlineWeatherCard - A beautiful weather card component for inline rendering.
|
|
8
|
+
*
|
|
9
|
+
* Inspired by the AG-UI Dojo implementation, this component renders weather
|
|
10
|
+
* data with dynamic theming based on weather conditions.
|
|
11
|
+
*
|
|
12
|
+
* @module components/chat/components/InlineWeatherCard
|
|
13
|
+
*/
|
|
14
|
+
import { Spinner } from '@primer/react';
|
|
15
|
+
/**
|
|
16
|
+
* Get theme color based on weather conditions
|
|
17
|
+
*/
|
|
18
|
+
function getThemeColor(conditions) {
|
|
19
|
+
const conditionLower = conditions.toLowerCase();
|
|
20
|
+
if (conditionLower.includes('clear') || conditionLower.includes('sunny')) {
|
|
21
|
+
return '#667eea'; // Purple-blue for clear
|
|
22
|
+
}
|
|
23
|
+
if (conditionLower.includes('rain') ||
|
|
24
|
+
conditionLower.includes('storm') ||
|
|
25
|
+
conditionLower.includes('drizzle')) {
|
|
26
|
+
return '#4A5568'; // Gray for rain
|
|
27
|
+
}
|
|
28
|
+
if (conditionLower.includes('cloud') || conditionLower.includes('overcast')) {
|
|
29
|
+
return '#718096'; // Slate for clouds
|
|
30
|
+
}
|
|
31
|
+
if (conditionLower.includes('snow') || conditionLower.includes('frost')) {
|
|
32
|
+
return '#63B3ED'; // Light blue for snow
|
|
33
|
+
}
|
|
34
|
+
if (conditionLower.includes('fog') || conditionLower.includes('mist')) {
|
|
35
|
+
return '#A0AEC0'; // Light gray for fog
|
|
36
|
+
}
|
|
37
|
+
return '#764ba2'; // Default purple
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Sun icon SVG
|
|
41
|
+
*/
|
|
42
|
+
function SunIcon() {
|
|
43
|
+
return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "currentColor", style: { width: 56, height: 56, color: '#FED7AA' }, children: [_jsx("circle", { cx: "12", cy: "12", r: "5" }), _jsx("path", { d: "M12 1v2M12 21v2M4.22 4.22l1.42 1.42M18.36 18.36l1.42 1.42M1 12h2M21 12h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42", strokeWidth: "2", stroke: "currentColor" })] }));
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Rain icon SVG
|
|
47
|
+
*/
|
|
48
|
+
function RainIcon() {
|
|
49
|
+
return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "currentColor", style: { width: 56, height: 56, color: '#90CDF4' }, children: [_jsx("path", { d: "M12 4C8.68629 4 6 6.68629 6 10C6 10.5523 5.55228 11 5 11C4.44772 11 4 10.5523 4 10C4 5.58172 7.58172 2 12 2C16.4183 2 20 5.58172 20 10C20 10.5523 19.5523 11 19 11C18.4477 11 18 10.5523 18 10C18 6.68629 15.3137 4 12 4Z" }), _jsx("path", { d: "M8 14L6 22M12 14L10 22M16 14L14 22", strokeWidth: "2", stroke: "currentColor", fill: "none", strokeLinecap: "round" })] }));
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Cloud icon SVG
|
|
53
|
+
*/
|
|
54
|
+
function CloudIcon() {
|
|
55
|
+
return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "currentColor", style: { width: 56, height: 56, color: '#E2E8F0' }, children: _jsx("path", { d: "M6.5 19C3.46243 19 1 16.5376 1 13.5C1 10.4624 3.46243 8 6.5 8C6.66896 8 6.83618 8.00748 7.00129 8.02216C8.04619 5.61876 10.3459 4 13 4C16.3137 4 19 6.68629 19 10C19 10.0736 18.9983 10.1469 18.9948 10.2198C21.2505 10.6646 23 12.6392 23 15C23 17.7614 20.7614 20 18 20H6.5C6.5 20 6.5 19 6.5 19Z" }) }));
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Get weather icon based on conditions
|
|
59
|
+
*/
|
|
60
|
+
function WeatherIcon({ conditions }) {
|
|
61
|
+
if (!conditions)
|
|
62
|
+
return _jsx(CloudIcon, {});
|
|
63
|
+
const conditionLower = conditions.toLowerCase();
|
|
64
|
+
if (conditionLower.includes('clear') || conditionLower.includes('sunny')) {
|
|
65
|
+
return _jsx(SunIcon, {});
|
|
66
|
+
}
|
|
67
|
+
if (conditionLower.includes('rain') ||
|
|
68
|
+
conditionLower.includes('drizzle') ||
|
|
69
|
+
conditionLower.includes('snow') ||
|
|
70
|
+
conditionLower.includes('thunderstorm')) {
|
|
71
|
+
return _jsx(RainIcon, {});
|
|
72
|
+
}
|
|
73
|
+
return _jsx(CloudIcon, {});
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* InlineWeatherCard Component
|
|
77
|
+
*
|
|
78
|
+
* Renders a beautiful weather card inline in the chat with:
|
|
79
|
+
* - Dynamic background color based on weather conditions
|
|
80
|
+
* - Weather icon (sun, rain, cloud)
|
|
81
|
+
* - Temperature in both Celsius and Fahrenheit
|
|
82
|
+
* - Humidity, wind speed, and feels like temperature
|
|
83
|
+
*/
|
|
84
|
+
export function InlineWeatherCard({ location, result, status, error, }) {
|
|
85
|
+
// Show loading state for inProgress or executing (or when result not yet available)
|
|
86
|
+
if (status === 'inProgress' || status === 'executing' || !result) {
|
|
87
|
+
const themeColor = '#667eea';
|
|
88
|
+
const message = status === 'inProgress'
|
|
89
|
+
? `Preparing to fetch weather${location ? ` for ${location}` : ''}...`
|
|
90
|
+
: `Fetching weather for ${location || 'location'}...`;
|
|
91
|
+
return (_jsxs("div", { style: {
|
|
92
|
+
backgroundColor: themeColor,
|
|
93
|
+
borderRadius: 12,
|
|
94
|
+
padding: 16,
|
|
95
|
+
marginTop: 12,
|
|
96
|
+
marginBottom: 8,
|
|
97
|
+
maxWidth: 320,
|
|
98
|
+
width: '100%',
|
|
99
|
+
display: 'flex',
|
|
100
|
+
alignItems: 'center',
|
|
101
|
+
gap: 8,
|
|
102
|
+
}, children: [_jsx(Spinner, { size: "small" }), _jsx("span", { style: { color: 'white', fontSize: 14 }, children: message })] }));
|
|
103
|
+
}
|
|
104
|
+
// Show error state
|
|
105
|
+
if (status === 'error') {
|
|
106
|
+
return (_jsx("div", { style: {
|
|
107
|
+
backgroundColor: '#E53E3E',
|
|
108
|
+
borderRadius: 12,
|
|
109
|
+
padding: 16,
|
|
110
|
+
marginTop: 12,
|
|
111
|
+
marginBottom: 8,
|
|
112
|
+
maxWidth: 320,
|
|
113
|
+
width: '100%',
|
|
114
|
+
}, children: _jsxs("span", { style: { color: 'white', fontSize: 14 }, children: ["Error: ", error || 'Failed to fetch weather'] }) }));
|
|
115
|
+
}
|
|
116
|
+
const themeColor = getThemeColor(result.conditions);
|
|
117
|
+
const celsiusTemp = result.temperature;
|
|
118
|
+
const fahrenheitTemp = ((celsiusTemp * 9) / 5 + 32).toFixed(1);
|
|
119
|
+
return (_jsx("div", { "data-testid": "weather-card", style: {
|
|
120
|
+
backgroundColor: themeColor,
|
|
121
|
+
borderRadius: 12,
|
|
122
|
+
marginTop: 12,
|
|
123
|
+
marginBottom: 8,
|
|
124
|
+
maxWidth: 320,
|
|
125
|
+
width: '100%',
|
|
126
|
+
overflow: 'hidden',
|
|
127
|
+
}, children: _jsxs("div", { style: {
|
|
128
|
+
backgroundColor: 'rgba(255, 255, 255, 0.2)',
|
|
129
|
+
padding: 16,
|
|
130
|
+
width: '100%',
|
|
131
|
+
}, children: [_jsxs("div", { style: {
|
|
132
|
+
display: 'flex',
|
|
133
|
+
alignItems: 'center',
|
|
134
|
+
justifyContent: 'space-between',
|
|
135
|
+
}, children: [_jsxs("div", { children: [_jsx("h3", { "data-testid": "weather-city", style: {
|
|
136
|
+
fontSize: 18,
|
|
137
|
+
fontWeight: 'bold',
|
|
138
|
+
color: 'white',
|
|
139
|
+
margin: 0,
|
|
140
|
+
textTransform: 'capitalize',
|
|
141
|
+
}, children: result.location || location }), _jsx("p", { style: { color: 'white', margin: 0, fontSize: 14, marginTop: 4 }, children: "Current Weather" })] }), _jsx(WeatherIcon, { conditions: result.conditions })] }), _jsxs("div", { style: {
|
|
142
|
+
marginTop: 16,
|
|
143
|
+
display: 'flex',
|
|
144
|
+
alignItems: 'flex-end',
|
|
145
|
+
justifyContent: 'space-between',
|
|
146
|
+
}, children: [_jsxs("div", { style: { fontSize: 32, fontWeight: 'bold', color: 'white' }, children: [_jsxs("span", { children: [celsiusTemp, "\u00B0 C"] }), _jsxs("span", { style: {
|
|
147
|
+
fontSize: 14,
|
|
148
|
+
color: 'rgba(255, 255, 255, 0.6)',
|
|
149
|
+
marginLeft: 8,
|
|
150
|
+
}, children: ["/ ", fahrenheitTemp, "\u00B0 F"] })] }), _jsx("div", { style: {
|
|
151
|
+
fontSize: 14,
|
|
152
|
+
color: 'white',
|
|
153
|
+
textTransform: 'capitalize',
|
|
154
|
+
}, children: result.conditions })] }), _jsx("div", { style: {
|
|
155
|
+
marginTop: 16,
|
|
156
|
+
paddingTop: 16,
|
|
157
|
+
borderTop: '1px solid rgba(255, 255, 255, 0.3)',
|
|
158
|
+
}, children: _jsxs("div", { style: {
|
|
159
|
+
display: 'grid',
|
|
160
|
+
gridTemplateColumns: '1fr 1fr 1fr',
|
|
161
|
+
gap: 8,
|
|
162
|
+
textAlign: 'center',
|
|
163
|
+
}, children: [_jsxs("div", { "data-testid": "weather-humidity", children: [_jsx("p", { style: { color: 'white', fontSize: 12, margin: 0 }, children: "Humidity" }), _jsxs("p", { style: {
|
|
164
|
+
color: 'white',
|
|
165
|
+
fontWeight: 500,
|
|
166
|
+
margin: 0,
|
|
167
|
+
marginTop: 4,
|
|
168
|
+
}, children: [result.humidity, "%"] })] }), _jsxs("div", { "data-testid": "weather-wind", children: [_jsx("p", { style: { color: 'white', fontSize: 12, margin: 0 }, children: "Wind" }), _jsxs("p", { style: {
|
|
169
|
+
color: 'white',
|
|
170
|
+
fontWeight: 500,
|
|
171
|
+
margin: 0,
|
|
172
|
+
marginTop: 4,
|
|
173
|
+
}, children: [result.windSpeed, " km/h"] })] }), _jsxs("div", { "data-testid": "weather-feels-like", children: [_jsx("p", { style: { color: 'white', fontSize: 12, margin: 0 }, children: "Feels Like" }), _jsxs("p", { style: {
|
|
174
|
+
color: 'white',
|
|
175
|
+
fontWeight: 500,
|
|
176
|
+
margin: 0,
|
|
177
|
+
marginTop: 4,
|
|
178
|
+
}, children: [result.feelsLike, "\u00B0"] })] })] }) })] }) }));
|
|
179
|
+
}
|
|
180
|
+
export default InlineWeatherCard;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Weather example components for AG-UI backend tool rendering.
|
|
3
|
+
*
|
|
4
|
+
* This folder contains weather-specific components that demonstrate
|
|
5
|
+
* inline tool rendering similar to CopilotKit's useCopilotAction pattern.
|
|
6
|
+
*
|
|
7
|
+
* @module examples/ag-ui/weather
|
|
8
|
+
*/
|
|
9
|
+
export { InlineWeatherCard, type InlineWeatherCardProps, type WeatherResult, } from './InlineWeatherCard';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Weather example components for AG-UI backend tool rendering.
|
|
7
|
+
*
|
|
8
|
+
* This folder contains weather-specific components that demonstrate
|
|
9
|
+
* inline tool rendering similar to CopilotKit's useCopilotAction pattern.
|
|
10
|
+
*
|
|
11
|
+
* @module examples/ag-ui/weather
|
|
12
|
+
*/
|
|
13
|
+
export { InlineWeatherCard, } from './InlineWeatherCard';
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { Agent } from '../stores/examplesStore';
|
|
3
|
+
import type { Transport, Extension } from '../../components/chat';
|
|
4
|
+
type AgentLibrary = 'pydantic-ai' | 'langchain' | 'jupyter-ai';
|
|
5
|
+
export type { AgentLibrary };
|
|
6
|
+
export type { Transport };
|
|
7
|
+
export type { Extension };
|
|
8
|
+
declare const AGENT_LIBRARIES: {
|
|
9
|
+
value: AgentLibrary;
|
|
10
|
+
label: string;
|
|
11
|
+
description: string;
|
|
12
|
+
disabled?: boolean;
|
|
13
|
+
}[];
|
|
14
|
+
declare const TRANSPORTS: {
|
|
15
|
+
value: Transport;
|
|
16
|
+
label: string;
|
|
17
|
+
description: string;
|
|
18
|
+
}[];
|
|
19
|
+
declare const EXTENSIONS: {
|
|
20
|
+
value: Extension;
|
|
21
|
+
label: string;
|
|
22
|
+
description: string;
|
|
23
|
+
}[];
|
|
24
|
+
interface AgentConfigurationProps {
|
|
25
|
+
agentLibrary: AgentLibrary;
|
|
26
|
+
transport: Transport;
|
|
27
|
+
extensions: Extension[];
|
|
28
|
+
wsUrl: string;
|
|
29
|
+
baseUrl: string;
|
|
30
|
+
agentName: string;
|
|
31
|
+
agents: readonly Agent[];
|
|
32
|
+
selectedAgentId: string;
|
|
33
|
+
isCreatingAgent?: boolean;
|
|
34
|
+
createError?: string | null;
|
|
35
|
+
onAgentLibraryChange: (library: AgentLibrary) => void;
|
|
36
|
+
onTransportChange: (transport: Transport) => void;
|
|
37
|
+
onExtensionsChange: (extensions: Extension[]) => void;
|
|
38
|
+
onWsUrlChange: (url: string) => void;
|
|
39
|
+
onBaseUrlChange: (url: string) => void;
|
|
40
|
+
onAgentNameChange: (name: string) => void;
|
|
41
|
+
onAgentSelect: (agentId: string) => void;
|
|
42
|
+
onConnect: () => void;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Agent Configuration Component
|
|
46
|
+
*
|
|
47
|
+
* Form for configuring agent connection settings.
|
|
48
|
+
*/
|
|
49
|
+
export declare const AgentConfiguration: React.FC<AgentConfigurationProps>;
|
|
50
|
+
export { AGENT_LIBRARIES, TRANSPORTS, EXTENSIONS };
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Text, TextInput, Button, FormControl, Select, CheckboxGroup, Checkbox, Spinner, Flash, } from '@primer/react';
|
|
3
|
+
import { Box } from '@datalayer/primer-addons';
|
|
4
|
+
const AGENT_LIBRARIES = [
|
|
5
|
+
{
|
|
6
|
+
value: 'pydantic-ai',
|
|
7
|
+
label: 'Pydantic AI',
|
|
8
|
+
description: 'Type-safe agents with Pydantic models',
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
value: 'langchain',
|
|
12
|
+
label: 'LangChain',
|
|
13
|
+
description: 'Complex chains and agent workflows',
|
|
14
|
+
disabled: true,
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
value: 'jupyter-ai',
|
|
18
|
+
label: 'Simple AI',
|
|
19
|
+
description: 'Simple notebook integration',
|
|
20
|
+
disabled: true,
|
|
21
|
+
},
|
|
22
|
+
];
|
|
23
|
+
const TRANSPORTS = [
|
|
24
|
+
{
|
|
25
|
+
value: 'ag-ui',
|
|
26
|
+
label: 'AG-UI',
|
|
27
|
+
description: 'Pydantic AI native UI transport',
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
value: 'acp',
|
|
31
|
+
label: 'ACP (Agent Client Protocol)',
|
|
32
|
+
description: 'Standard WebSocket-based transport',
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
value: 'vercel-ai',
|
|
36
|
+
label: 'Vercel AI',
|
|
37
|
+
description: 'HTTP streaming with Vercel AI',
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
value: 'vercel-ai-jupyter',
|
|
41
|
+
label: 'Vercel AI (Jupyter)',
|
|
42
|
+
description: 'Vercel AI via Jupyter server endpoint',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
value: 'a2a',
|
|
46
|
+
label: 'A2A (Agent-to-Agent)',
|
|
47
|
+
description: 'Inter-agent communication',
|
|
48
|
+
},
|
|
49
|
+
];
|
|
50
|
+
const EXTENSIONS = [
|
|
51
|
+
{
|
|
52
|
+
value: 'mcp-ui',
|
|
53
|
+
label: 'MCP-UI',
|
|
54
|
+
description: 'MCP UI resources extension',
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
value: 'a2ui',
|
|
58
|
+
label: 'A2UI',
|
|
59
|
+
description: 'Agent-to-UI extension',
|
|
60
|
+
},
|
|
61
|
+
];
|
|
62
|
+
/**
|
|
63
|
+
* Agent Configuration Component
|
|
64
|
+
*
|
|
65
|
+
* Form for configuring agent connection settings.
|
|
66
|
+
*/
|
|
67
|
+
export const AgentConfiguration = ({ agentLibrary, transport, extensions, wsUrl, baseUrl, agentName, agents, selectedAgentId, isCreatingAgent = false, createError = null, onAgentLibraryChange, onTransportChange, onExtensionsChange, onWsUrlChange, onBaseUrlChange, onAgentNameChange, onAgentSelect, onConnect, }) => {
|
|
68
|
+
// Determine which extensions are enabled based on transport
|
|
69
|
+
const isExtensionEnabled = (ext) => {
|
|
70
|
+
if (selectedAgentId !== 'new-agent')
|
|
71
|
+
return false;
|
|
72
|
+
if (transport === 'ag-ui')
|
|
73
|
+
return true; // Both mcp-ui and a2ui enabled
|
|
74
|
+
if (transport === 'a2a')
|
|
75
|
+
return ext === 'a2ui'; // Only a2ui enabled
|
|
76
|
+
return false; // All others disabled
|
|
77
|
+
};
|
|
78
|
+
// Handle extension checkbox change
|
|
79
|
+
const handleExtensionChange = (ext, checked) => {
|
|
80
|
+
if (checked) {
|
|
81
|
+
onExtensionsChange([...extensions, ext]);
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
onExtensionsChange(extensions.filter(e => e !== ext));
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
return (_jsxs(Box, { sx: {
|
|
88
|
+
padding: 3,
|
|
89
|
+
border: '1px solid',
|
|
90
|
+
borderColor: 'border.default',
|
|
91
|
+
borderRadius: 2,
|
|
92
|
+
backgroundColor: 'canvas.subtle',
|
|
93
|
+
}, children: [_jsx(Text, { sx: {
|
|
94
|
+
fontSize: 2,
|
|
95
|
+
fontWeight: 'bold',
|
|
96
|
+
display: 'block',
|
|
97
|
+
marginBottom: 3,
|
|
98
|
+
}, children: "Connection Settings" }), _jsxs(FormControl, { sx: { marginBottom: 3 }, children: [_jsx(FormControl.Label, { children: "Available Agents" }), _jsxs(Select, { value: selectedAgentId, onChange: e => onAgentSelect(e.target.value), sx: { width: '100%' }, children: [_jsx(Select.Option, { value: "new-agent", children: "+ New Agent..." }), agents.map(agent => (_jsxs(Select.Option, { value: agent.id, children: [agent.status === 'running' && '● ', agent.name] }, agent.id)))] }), _jsx(FormControl.Caption, { children: selectedAgentId === 'new-agent'
|
|
99
|
+
? 'Configure a new custom agent'
|
|
100
|
+
: 'Selected agent - form fields below are disabled' })] }), _jsxs(Box, { sx: { display: 'flex', gap: 3, marginBottom: 3 }, children: [_jsxs(FormControl, { sx: { flex: 1 }, children: [_jsx(FormControl.Label, { children: "Agent Library" }), _jsx(Select, { value: agentLibrary, onChange: e => onAgentLibraryChange(e.target.value), disabled: selectedAgentId !== 'new-agent', sx: { width: '100%' }, children: AGENT_LIBRARIES.map(lib => (_jsxs(Select.Option, { value: lib.value, disabled: lib.disabled, children: [lib.label, lib.disabled && ' (Coming Soon)'] }, lib.value))) })] }), _jsxs(FormControl, { sx: { flex: 1 }, children: [_jsx(FormControl.Label, { children: "Transport" }), _jsx(Select, { value: transport, onChange: e => onTransportChange(e.target.value), disabled: selectedAgentId !== 'new-agent', sx: { width: '100%' }, children: TRANSPORTS.map(t => (_jsx(Select.Option, { value: t.value, children: t.label }, t.value))) })] }), _jsxs(FormControl, { sx: { flex: 1 }, children: [_jsx(FormControl.Label, { children: "Extensions" }), _jsx(Box, { sx: { display: 'flex', flexDirection: 'column', gap: 2 }, children: EXTENSIONS.map(ext => (_jsxs(Box, { sx: { display: 'flex', alignItems: 'center', gap: 2 }, children: [_jsx(Checkbox, { value: ext.value, checked: extensions.includes(ext.value), disabled: !isExtensionEnabled(ext.value), onChange: e => handleExtensionChange(ext.value, e.target.checked) }), _jsx(Text, { children: ext.label })] }, ext.value))) })] })] }), _jsxs(FormControl, { sx: { marginBottom: 3 }, children: [_jsx(FormControl.Label, { children: transport === 'acp' ? 'WebSocket URL' : 'Base URL' }), _jsx(TextInput, { value: transport === 'acp' ? wsUrl : baseUrl, onChange: e => transport === 'acp'
|
|
101
|
+
? onWsUrlChange(e.target.value)
|
|
102
|
+
: onBaseUrlChange(e.target.value), disabled: selectedAgentId !== 'new-agent', placeholder: transport === 'acp'
|
|
103
|
+
? 'ws://localhost:8000/api/v1/acp/ws'
|
|
104
|
+
: 'http://localhost:8000', sx: { width: '100%' } }), _jsx(FormControl.Caption, { children: transport === 'acp'
|
|
105
|
+
? 'The WebSocket endpoint of your agent-runtimes server'
|
|
106
|
+
: 'The base URL of your agent-runtimes server' })] }), _jsxs(FormControl, { sx: { marginBottom: 3 }, children: [_jsx(FormControl.Label, { children: "Agent Name" }), _jsx(TextInput, { value: agentName, onChange: e => onAgentNameChange(e.target.value), disabled: selectedAgentId !== 'new-agent', placeholder: "demo-agent", sx: { width: '100%' } }), _jsx(FormControl.Caption, { children: "The name of the agent to connect to" })] }), _jsxs(CheckboxGroup, { sx: { marginBottom: 3 }, disabled: true, children: [_jsx(CheckboxGroup.Label, { children: "MCP Servers (Coming Soon)" }), _jsx(CheckboxGroup.Caption, { children: "Select MCP servers to connect to" }), _jsxs(FormControl, { disabled: true, children: [_jsx(Checkbox, { value: "github", defaultChecked: true, disabled: true }), _jsx(FormControl.Label, { children: "GitHub" })] }), _jsxs(FormControl, { disabled: true, children: [_jsx(Checkbox, { value: "anaconda", disabled: true }), _jsx(FormControl.Label, { children: "Anaconda" })] }), _jsxs(FormControl, { disabled: true, children: [_jsx(Checkbox, { value: "tavily", disabled: true }), _jsx(FormControl.Label, { children: "Tavily" })] })] }), createError && (_jsx(Flash, { variant: "danger", sx: { marginBottom: 3 }, children: createError })), _jsx(Button, { variant: "primary", onClick: onConnect, disabled: isCreatingAgent ||
|
|
107
|
+
!agentName ||
|
|
108
|
+
(transport === 'acp' ? !wsUrl : !baseUrl), sx: { width: '100%' }, children: isCreatingAgent ? (_jsxs(Box, { sx: {
|
|
109
|
+
display: 'flex',
|
|
110
|
+
alignItems: 'center',
|
|
111
|
+
justifyContent: 'center',
|
|
112
|
+
gap: 2,
|
|
113
|
+
}, children: [_jsx(Spinner, { size: "small" }), _jsx("span", { children: "Creating Agent..." })] })) : selectedAgentId === 'new-agent' ? ('Create the Agent') : agents.find(a => a.id === selectedAgentId)?.status === 'running' ? ('Connect to the Agent') : ('Start and Connect to the Agent') })] }));
|
|
114
|
+
};
|
|
115
|
+
export { AGENT_LIBRARIES, TRANSPORTS, EXTENSIONS };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface AgentsDataTableProps {
|
|
3
|
+
onToggleStatus?: (agentId: string) => void;
|
|
4
|
+
showAuthor?: boolean;
|
|
5
|
+
showLastEdited?: boolean;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Agents Data Table Component
|
|
9
|
+
*
|
|
10
|
+
* Displays agents in a table format with status controls.
|
|
11
|
+
*/
|
|
12
|
+
export declare const AgentsDataTable: React.FC<AgentsDataTableProps>;
|
|
13
|
+
export {};
|