@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,32 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Helper to create a simple before-request middleware
|
|
7
|
+
*/
|
|
8
|
+
export function createBeforeRequestMiddleware(name, handler) {
|
|
9
|
+
return {
|
|
10
|
+
name,
|
|
11
|
+
beforeRequest: handler,
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Helper to create a simple after-request middleware
|
|
16
|
+
*/
|
|
17
|
+
export function createAfterRequestMiddleware(name, handler) {
|
|
18
|
+
return {
|
|
19
|
+
name,
|
|
20
|
+
afterRequest: handler,
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Helper to create a tool call middleware
|
|
25
|
+
*/
|
|
26
|
+
export function createToolCallMiddleware(name, onToolCall, onToolResult) {
|
|
27
|
+
return {
|
|
28
|
+
name,
|
|
29
|
+
onToolCall,
|
|
30
|
+
onToolResult,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Protocol adapter types for chat component.
|
|
3
|
+
* Supports AG-UI (SSE), A2A (SSE), ACP (WebSocket), MCP-UI.
|
|
4
|
+
*
|
|
5
|
+
* @module components/chat/types/protocol
|
|
6
|
+
*/
|
|
7
|
+
import type { ChatMessage } from './message';
|
|
8
|
+
import type { ToolDefinition, ToolCallRequest, ToolExecutionResult } from './tool';
|
|
9
|
+
/**
|
|
10
|
+
* Supported transport types (communication transports)
|
|
11
|
+
*/
|
|
12
|
+
export type TransportType = 'ag-ui' | 'a2a' | 'acp' | 'vercel-ai';
|
|
13
|
+
/**
|
|
14
|
+
* UI format for interactive elements
|
|
15
|
+
*/
|
|
16
|
+
export type Extension = 'mcp-ui' | 'a2ui';
|
|
17
|
+
/**
|
|
18
|
+
* Protocol transport mechanism
|
|
19
|
+
*/
|
|
20
|
+
export type ProtocolTransport = 'sse' | 'websocket' | 'http';
|
|
21
|
+
/**
|
|
22
|
+
* Protocol connection state
|
|
23
|
+
*/
|
|
24
|
+
export type ProtocolConnectionState = 'disconnected' | 'connecting' | 'connected' | 'error' | 'reconnecting';
|
|
25
|
+
/**
|
|
26
|
+
* Transport adapter configuration
|
|
27
|
+
*/
|
|
28
|
+
export interface ProtocolAdapterConfig {
|
|
29
|
+
/** Transport type */
|
|
30
|
+
type: TransportType;
|
|
31
|
+
/** Base URL for the protocol endpoint */
|
|
32
|
+
baseUrl: string;
|
|
33
|
+
/** Authentication token/key */
|
|
34
|
+
authToken?: string;
|
|
35
|
+
/** Agent ID or name */
|
|
36
|
+
agentId?: string;
|
|
37
|
+
/** Auto-reconnect on disconnect */
|
|
38
|
+
autoReconnect?: boolean;
|
|
39
|
+
/** Reconnect delay in milliseconds */
|
|
40
|
+
reconnectDelay?: number;
|
|
41
|
+
/** Max reconnection attempts */
|
|
42
|
+
maxReconnectAttempts?: number;
|
|
43
|
+
/** Request timeout in milliseconds */
|
|
44
|
+
timeout?: number;
|
|
45
|
+
/** Additional protocol-specific options */
|
|
46
|
+
options?: Record<string, unknown>;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Protocol event types
|
|
50
|
+
*/
|
|
51
|
+
export type ProtocolEventType = 'connected' | 'disconnected' | 'message' | 'tool-call' | 'tool-result' | 'activity' | 'state-update' | 'error';
|
|
52
|
+
/**
|
|
53
|
+
* Protocol event
|
|
54
|
+
*/
|
|
55
|
+
export interface ProtocolEvent {
|
|
56
|
+
type: ProtocolEventType;
|
|
57
|
+
data?: unknown;
|
|
58
|
+
message?: ChatMessage;
|
|
59
|
+
toolCall?: ToolCallRequest;
|
|
60
|
+
toolResult?: ToolExecutionResult;
|
|
61
|
+
activity?: {
|
|
62
|
+
type: string;
|
|
63
|
+
data: unknown;
|
|
64
|
+
};
|
|
65
|
+
error?: Error;
|
|
66
|
+
timestamp: Date;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Callback for handling protocol events
|
|
70
|
+
*/
|
|
71
|
+
export type ProtocolEventHandler = (event: ProtocolEvent) => void;
|
|
72
|
+
/**
|
|
73
|
+
* Agent card for A2A protocol
|
|
74
|
+
*/
|
|
75
|
+
export interface AgentCard {
|
|
76
|
+
name: string;
|
|
77
|
+
description?: string;
|
|
78
|
+
url: string;
|
|
79
|
+
version?: string;
|
|
80
|
+
capabilities?: {
|
|
81
|
+
streaming?: boolean;
|
|
82
|
+
extensions?: string[];
|
|
83
|
+
};
|
|
84
|
+
skills?: Array<{
|
|
85
|
+
id: string;
|
|
86
|
+
name: string;
|
|
87
|
+
description?: string;
|
|
88
|
+
examples?: string[];
|
|
89
|
+
}>;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Abstract protocol adapter interface
|
|
93
|
+
*/
|
|
94
|
+
export interface ProtocolAdapter {
|
|
95
|
+
/** Transport type */
|
|
96
|
+
readonly type: TransportType;
|
|
97
|
+
/** Transport mechanism used */
|
|
98
|
+
readonly transport: ProtocolTransport;
|
|
99
|
+
/** Current connection state */
|
|
100
|
+
readonly connectionState: ProtocolConnectionState;
|
|
101
|
+
/**
|
|
102
|
+
* Connect to the protocol endpoint
|
|
103
|
+
*/
|
|
104
|
+
connect(): Promise<void>;
|
|
105
|
+
/**
|
|
106
|
+
* Disconnect from the endpoint
|
|
107
|
+
*/
|
|
108
|
+
disconnect(): void;
|
|
109
|
+
/**
|
|
110
|
+
* Send a message through the protocol
|
|
111
|
+
*/
|
|
112
|
+
sendMessage(message: ChatMessage, options?: {
|
|
113
|
+
tools?: ToolDefinition[];
|
|
114
|
+
threadId?: string;
|
|
115
|
+
metadata?: Record<string, unknown>;
|
|
116
|
+
/** Full conversation history to send with the message */
|
|
117
|
+
messages?: ChatMessage[];
|
|
118
|
+
}): Promise<void>;
|
|
119
|
+
/**
|
|
120
|
+
* Send tool execution result back
|
|
121
|
+
*/
|
|
122
|
+
sendToolResult(toolCallId: string, result: ToolExecutionResult): Promise<void>;
|
|
123
|
+
/**
|
|
124
|
+
* Subscribe to protocol events
|
|
125
|
+
*/
|
|
126
|
+
subscribe(handler: ProtocolEventHandler): () => void;
|
|
127
|
+
/**
|
|
128
|
+
* Get agent card (for A2A protocol)
|
|
129
|
+
*/
|
|
130
|
+
getAgentCard?(): Promise<AgentCard | null>;
|
|
131
|
+
/**
|
|
132
|
+
* Check if protocol supports a specific feature
|
|
133
|
+
*/
|
|
134
|
+
supportsFeature(feature: string): boolean;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Factory function type for creating protocol adapters
|
|
138
|
+
*/
|
|
139
|
+
export type ProtocolAdapterFactory = (config: ProtocolAdapterConfig) => ProtocolAdapter;
|
|
140
|
+
/**
|
|
141
|
+
* Protocol-specific message format converters
|
|
142
|
+
*/
|
|
143
|
+
export interface ProtocolMessageConverter {
|
|
144
|
+
/** Convert internal message to protocol format */
|
|
145
|
+
toProtocol(message: ChatMessage): unknown;
|
|
146
|
+
/** Convert protocol message to internal format */
|
|
147
|
+
fromProtocol(data: unknown): ChatMessage | null;
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* AG-UI specific types
|
|
151
|
+
*/
|
|
152
|
+
export declare namespace AGUI {
|
|
153
|
+
interface RunAgentInput {
|
|
154
|
+
threadId: string;
|
|
155
|
+
runId: string;
|
|
156
|
+
messages: ChatMessage[];
|
|
157
|
+
state: Record<string, unknown> | null;
|
|
158
|
+
tools: ToolDefinition[];
|
|
159
|
+
context: Array<{
|
|
160
|
+
type: string;
|
|
161
|
+
content: string;
|
|
162
|
+
}>;
|
|
163
|
+
forwardedProps: Record<string, unknown> | null;
|
|
164
|
+
}
|
|
165
|
+
interface Event {
|
|
166
|
+
type: string;
|
|
167
|
+
data?: unknown;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* A2A specific types
|
|
172
|
+
*/
|
|
173
|
+
export declare namespace A2A {
|
|
174
|
+
interface Task {
|
|
175
|
+
id: string;
|
|
176
|
+
status: 'pending' | 'running' | 'completed' | 'failed' | 'cancelled';
|
|
177
|
+
messages: ChatMessage[];
|
|
178
|
+
result?: unknown;
|
|
179
|
+
}
|
|
180
|
+
interface Message {
|
|
181
|
+
role: string;
|
|
182
|
+
parts: Array<{
|
|
183
|
+
type: string;
|
|
184
|
+
text?: string;
|
|
185
|
+
data?: unknown;
|
|
186
|
+
}>;
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* ACP specific types (WebSocket-based)
|
|
191
|
+
*/
|
|
192
|
+
export declare namespace ACP {
|
|
193
|
+
interface JsonRpcRequest {
|
|
194
|
+
jsonrpc: '2.0';
|
|
195
|
+
method: string;
|
|
196
|
+
params?: unknown;
|
|
197
|
+
id: string | number;
|
|
198
|
+
}
|
|
199
|
+
interface JsonRpcResponse {
|
|
200
|
+
jsonrpc: '2.0';
|
|
201
|
+
result?: unknown;
|
|
202
|
+
error?: {
|
|
203
|
+
code: number;
|
|
204
|
+
message: string;
|
|
205
|
+
data?: unknown;
|
|
206
|
+
};
|
|
207
|
+
id: string | number;
|
|
208
|
+
}
|
|
209
|
+
}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool types for chat component.
|
|
3
|
+
* Supports hybrid execution (frontend + backend) with per-tool annotation.
|
|
4
|
+
*
|
|
5
|
+
* @module components/chat/types/tool
|
|
6
|
+
*/
|
|
7
|
+
import type { ReactNode } from 'react';
|
|
8
|
+
/**
|
|
9
|
+
* Tool execution location
|
|
10
|
+
* - 'frontend': Executes in browser (default if not specified)
|
|
11
|
+
* - 'backend': Executes on server via inference provider
|
|
12
|
+
*/
|
|
13
|
+
export type ToolLocation = 'frontend' | 'backend';
|
|
14
|
+
/**
|
|
15
|
+
* Tool parameter definition (CopilotKit-compatible format)
|
|
16
|
+
*/
|
|
17
|
+
export interface ToolParameter {
|
|
18
|
+
name: string;
|
|
19
|
+
type?: 'string' | 'number' | 'boolean' | 'object' | 'object[]' | 'string[]' | 'number[]';
|
|
20
|
+
description?: string;
|
|
21
|
+
required?: boolean;
|
|
22
|
+
attributes?: ToolParameter[];
|
|
23
|
+
enum?: string[];
|
|
24
|
+
default?: unknown;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Tool call status for render props
|
|
28
|
+
*/
|
|
29
|
+
export type ToolRenderStatus = 'inProgress' | 'executing' | 'complete' | 'failed';
|
|
30
|
+
/**
|
|
31
|
+
* Props passed to tool render function
|
|
32
|
+
*/
|
|
33
|
+
export interface ToolRenderProps<TArgs = Record<string, unknown>, TResult = unknown> {
|
|
34
|
+
/** Current execution status */
|
|
35
|
+
status: ToolRenderStatus;
|
|
36
|
+
/** Tool arguments from the LLM */
|
|
37
|
+
args: TArgs;
|
|
38
|
+
/** Result after execution (only when status is 'complete') */
|
|
39
|
+
result?: TResult;
|
|
40
|
+
/** Error message (only when status is 'failed') */
|
|
41
|
+
error?: string;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Props passed to renderAndWaitForResponse (HITL pattern)
|
|
45
|
+
*/
|
|
46
|
+
export interface ToolRenderAndWaitProps<TArgs = Record<string, unknown>, TResult = unknown> extends ToolRenderProps<TArgs, TResult> {
|
|
47
|
+
/** Call this to respond with a result (for HITL approval) */
|
|
48
|
+
respond: (result: TResult) => Promise<void>;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Frontend tool definition (compatible with CopilotKit useFrontendTool)
|
|
52
|
+
*/
|
|
53
|
+
export interface FrontendToolDefinition<TArgs = Record<string, unknown>, TResult = unknown> {
|
|
54
|
+
/** Unique tool name */
|
|
55
|
+
name: string;
|
|
56
|
+
/** Description for the LLM */
|
|
57
|
+
description: string;
|
|
58
|
+
/** Parameter definitions */
|
|
59
|
+
parameters: ToolParameter[];
|
|
60
|
+
/**
|
|
61
|
+
* Execution location
|
|
62
|
+
* @default 'frontend'
|
|
63
|
+
*/
|
|
64
|
+
location?: ToolLocation;
|
|
65
|
+
/**
|
|
66
|
+
* Handler function for frontend execution
|
|
67
|
+
* Required when location is 'frontend' (default)
|
|
68
|
+
*/
|
|
69
|
+
handler?: (args: TArgs) => Promise<TResult>;
|
|
70
|
+
/**
|
|
71
|
+
* Optional render function for custom UI during execution
|
|
72
|
+
*/
|
|
73
|
+
render?: (props: ToolRenderProps<TArgs, TResult>) => ReactNode;
|
|
74
|
+
/**
|
|
75
|
+
* Render function that waits for user response (HITL pattern)
|
|
76
|
+
* Mutually exclusive with 'render'
|
|
77
|
+
*/
|
|
78
|
+
renderAndWaitForResponse?: (props: ToolRenderAndWaitProps<TArgs, TResult>) => ReactNode;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Backend tool definition (tool runs on server)
|
|
82
|
+
*/
|
|
83
|
+
export interface BackendToolDefinition {
|
|
84
|
+
/** Unique tool name */
|
|
85
|
+
name: string;
|
|
86
|
+
/** Description for the LLM */
|
|
87
|
+
description: string;
|
|
88
|
+
/** Parameter definitions */
|
|
89
|
+
parameters: ToolParameter[];
|
|
90
|
+
/** Must be 'backend' */
|
|
91
|
+
location: 'backend';
|
|
92
|
+
/**
|
|
93
|
+
* Optional render function for custom UI during execution
|
|
94
|
+
*/
|
|
95
|
+
render?: (props: ToolRenderProps) => ReactNode;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Union type for all tool definitions
|
|
99
|
+
*/
|
|
100
|
+
export type ToolDefinition = FrontendToolDefinition | BackendToolDefinition;
|
|
101
|
+
/**
|
|
102
|
+
* Tool execution result
|
|
103
|
+
*/
|
|
104
|
+
export interface ToolExecutionResult<T = unknown> {
|
|
105
|
+
/** Tool call ID from the original request */
|
|
106
|
+
toolCallId?: string;
|
|
107
|
+
success: boolean;
|
|
108
|
+
result?: T;
|
|
109
|
+
error?: string;
|
|
110
|
+
executionTime?: number;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Tool call request (from LLM)
|
|
114
|
+
*/
|
|
115
|
+
export interface ToolCallRequest {
|
|
116
|
+
toolCallId: string;
|
|
117
|
+
toolName: string;
|
|
118
|
+
args: Record<string, unknown>;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Tool registry entry (internal)
|
|
122
|
+
*/
|
|
123
|
+
export interface ToolRegistryEntry {
|
|
124
|
+
definition: ToolDefinition;
|
|
125
|
+
registeredAt: Date;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Type guard to check if tool is frontend tool
|
|
129
|
+
*/
|
|
130
|
+
export declare function isFrontendTool(tool: ToolDefinition): tool is FrontendToolDefinition;
|
|
131
|
+
/**
|
|
132
|
+
* Type guard to check if tool is backend tool
|
|
133
|
+
*/
|
|
134
|
+
export declare function isBackendTool(tool: ToolDefinition): tool is BackendToolDefinition;
|
|
135
|
+
/**
|
|
136
|
+
* Type guard to check if tool has HITL render
|
|
137
|
+
*/
|
|
138
|
+
export declare function hasHitlRender(tool: ToolDefinition): tool is FrontendToolDefinition & {
|
|
139
|
+
renderAndWaitForResponse: NonNullable<FrontendToolDefinition['renderAndWaitForResponse']>;
|
|
140
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Type guard to check if tool is frontend tool
|
|
7
|
+
*/
|
|
8
|
+
export function isFrontendTool(tool) {
|
|
9
|
+
return tool.location !== 'backend';
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Type guard to check if tool is backend tool
|
|
13
|
+
*/
|
|
14
|
+
export function isBackendTool(tool) {
|
|
15
|
+
return tool.location === 'backend';
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Type guard to check if tool has HITL render
|
|
19
|
+
*/
|
|
20
|
+
export function hasHitlRender(tool) {
|
|
21
|
+
return ('renderAndWaitForResponse' in tool &&
|
|
22
|
+
tool.renderAndWaitForResponse !== undefined);
|
|
23
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './chat';
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { SparklinesProps } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Sparklines Component
|
|
5
|
+
*
|
|
6
|
+
* A lightweight, composable sparkline chart component.
|
|
7
|
+
* Renders an SVG container and processes data into points for child components.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```tsx
|
|
11
|
+
* <Sparklines data={[1, 2, 3, 4, 5]} width={100} height={30}>
|
|
12
|
+
* <SparklinesLine color="#0969da" />
|
|
13
|
+
* </Sparklines>
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
export declare const Sparklines: React.FC<SparklinesProps>;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
4
|
+
* Distributed under the terms of the Modified BSD License.
|
|
5
|
+
*/
|
|
6
|
+
import React, { useMemo } from 'react';
|
|
7
|
+
import { dataToPoints } from './dataProcessing';
|
|
8
|
+
/**
|
|
9
|
+
* Sparklines Component
|
|
10
|
+
*
|
|
11
|
+
* A lightweight, composable sparkline chart component.
|
|
12
|
+
* Renders an SVG container and processes data into points for child components.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```tsx
|
|
16
|
+
* <Sparklines data={[1, 2, 3, 4, 5]} width={100} height={30}>
|
|
17
|
+
* <SparklinesLine color="#0969da" />
|
|
18
|
+
* </Sparklines>
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export const Sparklines = ({ data = [], width = 240, height = 60, svgWidth, svgHeight, preserveAspectRatio = 'none', margin = 2, style, min, max, limit, children, }) => {
|
|
22
|
+
// Convert data to points
|
|
23
|
+
const points = useMemo(() => {
|
|
24
|
+
if (data.length === 0) {
|
|
25
|
+
return [];
|
|
26
|
+
}
|
|
27
|
+
return dataToPoints({
|
|
28
|
+
data,
|
|
29
|
+
limit,
|
|
30
|
+
width,
|
|
31
|
+
height,
|
|
32
|
+
margin,
|
|
33
|
+
max,
|
|
34
|
+
min,
|
|
35
|
+
});
|
|
36
|
+
}, [data, limit, width, height, margin, max, min]);
|
|
37
|
+
if (data.length === 0) {
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
// Build SVG props
|
|
41
|
+
const svgProps = {
|
|
42
|
+
style,
|
|
43
|
+
viewBox: `0 0 ${width} ${height}`,
|
|
44
|
+
preserveAspectRatio,
|
|
45
|
+
};
|
|
46
|
+
if (svgWidth && svgWidth > 0) {
|
|
47
|
+
svgProps.width = svgWidth;
|
|
48
|
+
}
|
|
49
|
+
if (svgHeight && svgHeight > 0) {
|
|
50
|
+
svgProps.height = svgHeight;
|
|
51
|
+
}
|
|
52
|
+
return (_jsx("svg", { ...svgProps, children: React.Children.map(children, child => {
|
|
53
|
+
if (React.isValidElement(child)) {
|
|
54
|
+
return React.cloneElement(child, {
|
|
55
|
+
data,
|
|
56
|
+
points,
|
|
57
|
+
width,
|
|
58
|
+
height,
|
|
59
|
+
margin,
|
|
60
|
+
...child.props,
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
return child;
|
|
64
|
+
}) }));
|
|
65
|
+
};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* Sparklines Line Component
|
|
4
|
+
*
|
|
5
|
+
* Renders a line chart within a Sparklines container.
|
|
6
|
+
*/
|
|
7
|
+
export const SparklinesLine = ({ points = [], height = 60, margin = 2, color = '#0969da', style = {}, }) => {
|
|
8
|
+
if (!points || points.length === 0) {
|
|
9
|
+
return null;
|
|
10
|
+
}
|
|
11
|
+
// Convert points to polyline format
|
|
12
|
+
const linePoints = points.map(p => `${p.x},${p.y}`).join(' ');
|
|
13
|
+
// Create fill area by closing the path
|
|
14
|
+
const closePolyPoints = [
|
|
15
|
+
{ x: points[points.length - 1].x, y: height - margin },
|
|
16
|
+
{ x: margin, y: height - margin },
|
|
17
|
+
{ x: margin, y: points[0].y },
|
|
18
|
+
];
|
|
19
|
+
const fillPoints = points
|
|
20
|
+
.concat(closePolyPoints)
|
|
21
|
+
.map(p => `${p.x},${p.y}`)
|
|
22
|
+
.join(' ');
|
|
23
|
+
const lineStyle = {
|
|
24
|
+
stroke: color || style.stroke || 'slategray',
|
|
25
|
+
strokeWidth: style.strokeWidth || '1.5',
|
|
26
|
+
strokeLinejoin: 'round',
|
|
27
|
+
strokeLinecap: 'round',
|
|
28
|
+
fill: 'none',
|
|
29
|
+
};
|
|
30
|
+
const fillStyle = {
|
|
31
|
+
stroke: 'none',
|
|
32
|
+
strokeWidth: '0',
|
|
33
|
+
fillOpacity: style.fillOpacity || '0.1',
|
|
34
|
+
fill: style.fill || color || 'slategray',
|
|
35
|
+
};
|
|
36
|
+
return (_jsxs("g", { children: [_jsx("polyline", { points: fillPoints, style: fillStyle }), _jsx("polyline", { points: linePoints, style: lineStyle })] }));
|
|
37
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get minimum value from array
|
|
3
|
+
*/
|
|
4
|
+
export declare const min: (data: number[]) => number;
|
|
5
|
+
/**
|
|
6
|
+
* Get maximum value from array
|
|
7
|
+
*/
|
|
8
|
+
export declare const max: (data: number[]) => number;
|
|
9
|
+
/**
|
|
10
|
+
* Convert data array to SVG points
|
|
11
|
+
*/
|
|
12
|
+
export interface DataToPointsOptions {
|
|
13
|
+
data: number[];
|
|
14
|
+
limit?: number;
|
|
15
|
+
width?: number;
|
|
16
|
+
height?: number;
|
|
17
|
+
margin?: number;
|
|
18
|
+
max?: number;
|
|
19
|
+
min?: number;
|
|
20
|
+
}
|
|
21
|
+
export interface Point {
|
|
22
|
+
x: number;
|
|
23
|
+
y: number;
|
|
24
|
+
}
|
|
25
|
+
export declare const dataToPoints: ({ data, limit, width, height, margin, max: maxVal, min: minVal, }: DataToPointsOptions) => Point[];
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Get minimum value from array
|
|
7
|
+
*/
|
|
8
|
+
export const min = (data) => {
|
|
9
|
+
return Math.min(...data);
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Get maximum value from array
|
|
13
|
+
*/
|
|
14
|
+
export const max = (data) => {
|
|
15
|
+
return Math.max(...data);
|
|
16
|
+
};
|
|
17
|
+
export const dataToPoints = ({ data, limit, width = 1, height = 1, margin = 0, max: maxVal, min: minVal, }) => {
|
|
18
|
+
let processedData = [...data];
|
|
19
|
+
const len = processedData.length;
|
|
20
|
+
// Limit data if specified
|
|
21
|
+
if (limit && limit < len) {
|
|
22
|
+
processedData = processedData.slice(len - limit);
|
|
23
|
+
}
|
|
24
|
+
// Calculate min/max if not provided
|
|
25
|
+
const dataMax = maxVal ?? max(processedData);
|
|
26
|
+
const dataMin = minVal ?? min(processedData);
|
|
27
|
+
// Calculate scaling factors
|
|
28
|
+
const vfactor = (height - margin * 2) / (dataMax - dataMin || 2);
|
|
29
|
+
const hfactor = (width - margin * 2) / ((limit || len) - (len > 1 ? 1 : 0));
|
|
30
|
+
// Map data to points
|
|
31
|
+
return processedData.map((d, i) => ({
|
|
32
|
+
x: i * hfactor + margin,
|
|
33
|
+
y: (dataMax === dataMin ? 1 : dataMax - d) * vfactor + margin,
|
|
34
|
+
}));
|
|
35
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
export { Sparklines } from './Sparklines';
|
|
6
|
+
export { SparklinesLine } from './SparklinesLine';
|
|
7
|
+
export { dataToPoints, min, max } from './dataProcessing';
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Point interface for sparkline coordinates
|
|
3
|
+
*/
|
|
4
|
+
export interface Point {
|
|
5
|
+
x: number;
|
|
6
|
+
y: number;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Sparklines component props
|
|
10
|
+
*/
|
|
11
|
+
export interface SparklinesProps {
|
|
12
|
+
data: number[];
|
|
13
|
+
width?: number;
|
|
14
|
+
height?: number;
|
|
15
|
+
svgWidth?: number;
|
|
16
|
+
svgHeight?: number;
|
|
17
|
+
preserveAspectRatio?: string;
|
|
18
|
+
margin?: number;
|
|
19
|
+
style?: React.CSSProperties;
|
|
20
|
+
min?: number;
|
|
21
|
+
max?: number;
|
|
22
|
+
limit?: number;
|
|
23
|
+
children?: React.ReactNode;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Sparklines Line component props
|
|
27
|
+
*/
|
|
28
|
+
export interface SparklinesLineProps {
|
|
29
|
+
data?: number[];
|
|
30
|
+
points?: Point[];
|
|
31
|
+
width?: number;
|
|
32
|
+
height?: number;
|
|
33
|
+
margin?: number;
|
|
34
|
+
color?: string;
|
|
35
|
+
style?: React.CSSProperties;
|
|
36
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import * as AccordionPrimitive from '@radix-ui/react-accordion';
|
|
3
|
+
declare function Accordion({ ...props }: React.ComponentProps<typeof AccordionPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
declare function AccordionItem({ className, ...props }: React.ComponentProps<typeof AccordionPrimitive.Item>): import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
declare function AccordionTrigger({ className, children, ...props }: React.ComponentProps<typeof AccordionPrimitive.Trigger>): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
declare function AccordionContent({ className, children, ...props }: React.ComponentProps<typeof AccordionPrimitive.Content>): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export { Accordion, AccordionItem, AccordionTrigger, AccordionContent };
|