@datalayer/agent-runtimes 1.0.1 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/lib/Agent.js +2 -2
- package/lib/AgentLexical.d.ts +1 -12
- package/lib/AgentLexical.js +3 -14
- package/lib/AgentNotebook.js +3 -3
- package/lib/App.js +2 -2
- package/lib/{components/chat/components → agents}/AgentDetails.d.ts +13 -2
- package/lib/{components/chat/components → agents}/AgentDetails.js +6 -12
- package/lib/api/agents.d.ts +47 -0
- package/lib/api/agents.js +106 -0
- package/lib/api/context.d.ts +17 -0
- package/lib/api/context.js +45 -0
- package/lib/api/evals.d.ts +27 -0
- package/lib/api/evals.js +63 -0
- package/lib/api/events.d.ts +17 -0
- package/lib/api/events.js +93 -0
- package/lib/{components/chat → api}/handler.js +1 -1
- package/lib/api/index.d.ts +15 -0
- package/lib/api/index.js +20 -0
- package/lib/api/notifications.d.ts +39 -0
- package/lib/api/notifications.js +103 -0
- package/lib/api/output.d.ts +28 -0
- package/lib/api/output.js +64 -0
- package/lib/api/tool-approvals.d.ts +62 -0
- package/lib/api/tool-approvals.js +145 -0
- package/lib/{components/chat/components → chat}/Chat.d.ts +25 -16
- package/lib/{components/chat/components → chat}/Chat.js +16 -16
- package/lib/{components/chat/components → chat}/ChatFloating.d.ts +17 -9
- package/lib/{components/chat/components → chat}/ChatFloating.js +17 -9
- package/lib/{components/chat/components → chat}/ChatInline.d.ts +2 -2
- package/lib/{components/chat/components → chat}/ChatInline.js +8 -6
- package/lib/{components/chat/components → chat}/ChatPopupStandalone.d.ts +3 -4
- package/lib/{components/chat/components → chat}/ChatPopupStandalone.js +6 -6
- package/lib/{components/chat/components → chat}/ChatSidebar.d.ts +14 -5
- package/lib/{components/chat/components → chat}/ChatSidebar.js +48 -26
- package/lib/{components/chat/components → chat}/ChatStandalone.d.ts +3 -4
- package/lib/{components/chat/components → chat}/ChatStandalone.js +5 -5
- package/lib/chat/base/ChatBase.d.ts +6 -0
- package/lib/chat/base/ChatBase.js +1287 -0
- package/lib/chat/display/EmptyState.d.ts +27 -0
- package/lib/chat/display/EmptyState.js +41 -0
- package/lib/{components/chat/components/elements → chat/display}/FloatingBrandButton.d.ts +1 -1
- package/lib/{components/chat/components/elements → chat/display}/FloatingBrandButton.js +1 -1
- package/lib/{components/chat/components/elements → chat/display}/PoweredByTag.d.ts +1 -1
- package/lib/{components/chat/components/elements → chat/header}/ChatHeader.d.ts +1 -4
- package/lib/{components/chat/components/elements → chat/header}/ChatHeader.js +1 -1
- package/lib/chat/header/ChatHeaderBase.d.ts +38 -0
- package/lib/chat/header/ChatHeaderBase.js +83 -0
- package/lib/chat/index.d.ts +66 -0
- package/lib/chat/index.js +74 -0
- package/lib/chat/indicators/McpStatusIndicator.d.ts +9 -0
- package/lib/chat/indicators/McpStatusIndicator.js +128 -0
- package/lib/chat/indicators/SandboxStatusIndicator.d.ts +10 -0
- package/lib/chat/indicators/SandboxStatusIndicator.js +175 -0
- package/lib/chat/indicators/index.d.ts +17 -0
- package/lib/chat/indicators/index.js +19 -0
- package/lib/chat/messages/ChatMessageList.d.ts +49 -0
- package/lib/chat/messages/ChatMessageList.js +319 -0
- package/lib/{components/chat/components/elements → chat/messages}/ChatMessages.d.ts +2 -2
- package/lib/{components/chat/components/elements → chat/messages}/ChatMessages.js +6 -4
- package/lib/{components/chat/components → chat}/parts/DynamicToolPart.d.ts +1 -1
- package/lib/{components/chat/components/elements → chat/parts}/MessagePart.d.ts +1 -1
- package/lib/{components/chat/components/elements → chat/parts}/MessagePart.js +4 -4
- package/lib/{components/chat/components → chat}/parts/ReasoningPart.js +1 -1
- package/lib/{components/chat/components → chat}/parts/TextPart.d.ts +1 -1
- package/lib/{components/chat/components → chat}/parts/ToolPart.js +1 -1
- package/lib/{components/chat/components → chat}/parts/index.d.ts +2 -1
- package/lib/{components/chat/components → chat}/parts/index.js +2 -1
- package/lib/chat/prompt/InputFooter.d.ts +43 -0
- package/lib/chat/prompt/InputFooter.js +135 -0
- package/lib/chat/prompt/InputPrompt.d.ts +60 -0
- package/lib/chat/prompt/InputPrompt.js +83 -0
- package/lib/chat/prompt/InputPromptFooter.d.ts +25 -0
- package/lib/chat/prompt/InputPromptFooter.js +15 -0
- package/lib/chat/prompt/InputPromptHeader.d.ts +15 -0
- package/lib/chat/prompt/InputPromptHeader.js +15 -0
- package/lib/chat/prompt/InputPromptLexical.d.ts +16 -0
- package/lib/chat/prompt/InputPromptLexical.js +122 -0
- package/lib/chat/prompt/InputPromptText.d.ts +24 -0
- package/lib/chat/prompt/InputPromptText.js +66 -0
- package/lib/chat/prompt/index.d.ts +11 -0
- package/lib/chat/prompt/index.js +15 -0
- package/lib/{components/chat/components → chat}/styles/streamdownStyles.d.ts +1 -1
- package/lib/chat/tools/ToolApprovalBanner.d.ts +31 -0
- package/lib/chat/tools/ToolApprovalBanner.js +62 -0
- package/lib/{components/chat/components/elements → chat/tools}/ToolApprovalDialog.js +1 -1
- package/lib/{components/chat/components/display → chat/tools}/ToolCallDisplay.d.ts +13 -4
- package/lib/{components/chat/components/display → chat/tools}/ToolCallDisplay.js +18 -8
- package/lib/chat/tools/index.d.ts +8 -0
- package/lib/{components/chat/components/display → chat/tools}/index.js +3 -1
- package/lib/chat/usage/TokenUsageBar.d.ts +8 -0
- package/lib/chat/usage/TokenUsageBar.js +213 -0
- package/lib/client/AgentsMixin.d.ts +169 -0
- package/lib/client/AgentsMixin.js +279 -0
- package/lib/client/index.d.ts +6 -0
- package/lib/client/index.js +10 -0
- package/lib/components/NotificationEventCard.d.ts +8 -0
- package/lib/components/NotificationEventCard.js +152 -0
- package/lib/components/OutputCard.d.ts +8 -0
- package/lib/components/OutputCard.js +80 -0
- package/lib/components/ToolApprovalCard.d.ts +33 -0
- package/lib/components/ToolApprovalCard.js +60 -0
- package/lib/components/index.d.ts +3 -7
- package/lib/components/index.js +3 -4
- package/lib/{components → config}/AgentConfiguration.d.ts +43 -21
- package/lib/{components → config}/AgentConfiguration.js +48 -28
- package/lib/config/index.d.ts +2 -0
- package/lib/config/index.js +1 -0
- package/lib/{components/chat/components → context}/ContextInspector.js +38 -8
- package/lib/{components/chat/components → context}/ContextPanel.js +27 -6
- package/lib/context/CostTracker.d.ts +37 -0
- package/lib/context/CostTracker.js +124 -0
- package/lib/context/TokenUsageChart.d.ts +10 -0
- package/lib/context/TokenUsageChart.js +288 -0
- package/lib/examples/A2UiComponentGalleryExample.d.ts +20 -0
- package/lib/examples/A2UiComponentGalleryExample.js +568 -0
- package/lib/examples/A2UiContactCardExample.d.ts +21 -0
- package/lib/examples/A2UiContactCardExample.js +432 -0
- package/lib/examples/A2UiRestaurantExample.d.ts +11 -3
- package/lib/examples/A2UiRestaurantExample.js +63 -98
- package/lib/examples/A2UiViewerExample.d.ts +21 -0
- package/lib/examples/A2UiViewerExample.js +563 -0
- package/lib/examples/AgUiAgenticExample.js +3 -3
- package/lib/examples/AgUiBackendToolRenderingExample.js +3 -3
- package/lib/examples/{AgUiHaikuGenUIExample.d.ts → AgUiHaikuGenUiExample.d.ts} +4 -4
- package/lib/examples/{AgUiHaikuGenUIExample.js → AgUiHaikuGenUiExample.js} +7 -7
- package/lib/examples/AgUiHumanInTheLoopExample.js +3 -3
- package/lib/examples/AgUiSharedStateExample.js +3 -3
- package/lib/examples/{AgUiToolsBasedGenUIExample.d.ts → AgUiToolsBasedGenUiExample.d.ts} +4 -4
- package/lib/examples/{AgUiToolsBasedGenUIExample.js → AgUiToolsBasedGenUiExample.js} +7 -7
- package/lib/examples/AgentCheckpointsExample.d.ts +19 -0
- package/lib/examples/AgentCheckpointsExample.js +506 -0
- package/lib/examples/AgentCodemodeExample.d.ts +14 -0
- package/lib/examples/AgentCodemodeExample.js +262 -0
- package/lib/examples/AgentEvalsExample.d.ts +14 -0
- package/lib/examples/AgentEvalsExample.js +216 -0
- package/lib/examples/AgentGuardrailsExample.d.ts +14 -0
- package/lib/examples/AgentGuardrailsExample.js +218 -0
- package/lib/examples/AgentMemoryExample.d.ts +14 -0
- package/lib/examples/AgentMemoryExample.js +234 -0
- package/lib/examples/AgentMonitoringExample.d.ts +13 -0
- package/lib/examples/AgentMonitoringExample.js +311 -0
- package/lib/examples/AgentNotificationsExample.d.ts +14 -0
- package/lib/examples/AgentNotificationsExample.js +273 -0
- package/lib/examples/AgentOtelExample.d.ts +25 -0
- package/lib/examples/AgentOtelExample.js +281 -0
- package/lib/examples/AgentOutputsExample.d.ts +14 -0
- package/lib/examples/AgentOutputsExample.js +211 -0
- package/lib/examples/AgentSandboxExample.d.ts +17 -0
- package/lib/examples/AgentSandboxExample.js +496 -0
- package/lib/examples/AgentSkillsExample.d.ts +3 -0
- package/lib/examples/AgentSkillsExample.js +290 -0
- package/lib/examples/AgentToolApprovalsExample.d.ts +3 -0
- package/lib/examples/AgentToolApprovalsExample.js +672 -0
- package/lib/examples/AgentTriggersExample.d.ts +14 -0
- package/lib/examples/AgentTriggersExample.js +523 -0
- package/lib/examples/{AgentRuntimeFormExample.d.ts → AgentspecExample.d.ts} +3 -4
- package/lib/examples/{AgentRuntimeFormExample.js → AgentspecExample.js} +92 -34
- package/lib/examples/{JupyterCellExample.js → CellSimpleExample.js} +1 -1
- package/lib/examples/{AgentRuntimeCustomExample.js → ChatCustomExample.js} +3 -3
- package/lib/examples/{AgentRuntimeChatExample.js → ChatExample.js} +4 -4
- package/lib/examples/{AgentRuntimeStandaloneExample.js → ChatStandaloneExample.js} +2 -2
- package/lib/examples/CopilotKitLexicalExample.d.ts +3 -14
- package/lib/examples/CopilotKitLexicalExample.js +4 -15
- package/lib/examples/CopilotKitNotebookExample.js +4 -6
- package/lib/examples/DatalayerNotebookExample.js +2 -2
- package/lib/examples/{AgentRuntimeLexical2Example.d.ts → Lexical2Example.d.ts} +2 -13
- package/lib/examples/{AgentRuntimeLexical2Example.js → Lexical2Example.js} +8 -17
- package/lib/examples/{AgentRuntimeLexicalExample.d.ts → LexicalExample.d.ts} +1 -12
- package/lib/examples/{AgentRuntimeLexicalExample.js → LexicalExample.js} +28 -27
- package/lib/examples/{AgentRuntimeLexicalSidebarExample.d.ts → LexicalSidebarExample.d.ts} +2 -13
- package/lib/examples/{AgentRuntimeLexicalSidebarExample.js → LexicalSidebarExample.js} +6 -18
- package/lib/examples/{AgentRuntimeNotebookExample.js → NotebookExample.js} +14 -10
- package/lib/examples/{AgentRuntimeNotebookSidebarExample.js → NotebookSidebarExample.js} +5 -8
- package/lib/examples/{JupyterNotebookExample.js → NotebookSimpleExample.js} +2 -2
- package/lib/examples/ag-ui/weather/InlineWeatherCard.js +1 -1
- package/lib/examples/components/ExampleWrapper.d.ts +12 -0
- package/lib/examples/components/ExampleWrapper.js +16 -0
- package/lib/examples/components/Header.d.ts +2 -2
- package/lib/examples/components/HeaderControls.js +1 -1
- package/lib/examples/components/LexicalEditor.d.ts +1 -12
- package/lib/examples/components/LexicalEditor.js +1 -12
- package/lib/examples/components/MainContent.d.ts +4 -11
- package/lib/examples/components/MainContent.js +6 -60
- package/lib/examples/components/index.d.ts +1 -0
- package/lib/examples/components/index.js +1 -0
- package/lib/examples/example-selector.d.ts +1 -1
- package/lib/examples/example-selector.js +35 -22
- package/lib/examples/index.d.ts +26 -13
- package/lib/examples/index.js +26 -12
- package/lib/examples/main.d.ts +6 -0
- package/lib/examples/main.js +20 -43
- package/lib/examples/utils/examplesStore.d.ts +4 -0
- package/lib/examples/{stores → utils}/examplesStore.js +1 -1
- package/lib/examples/utils/notebooks/Empty.ipynb.json +33 -0
- package/lib/examples/utils/notebooks/NotebookExample2.ipynb.json +48 -0
- package/lib/examples/utils/themeStore.d.ts +8 -0
- package/lib/examples/utils/themeStore.js +14 -0
- package/lib/extensions/A2UIExtension.d.ts +65 -0
- package/lib/extensions/A2UIExtension.js +202 -0
- package/lib/{components/chat/extensions → extensions}/ExtensionRegistry.d.ts +2 -3
- package/lib/{components/chat/extensions → extensions}/ExtensionRegistry.js +0 -2
- package/lib/{components/chat/extensions → extensions}/MCPUIExtension.d.ts +2 -2
- package/lib/{components/chat/extensions → extensions}/MCPUIExtension.js +1 -1
- package/lib/extensions/index.d.ts +9 -0
- package/lib/{components/chat/extensions → extensions}/index.js +2 -2
- package/lib/hooks/index.d.ts +37 -12
- package/lib/hooks/index.js +37 -12
- package/lib/hooks/useAIAgentsWebSocket.d.ts +29 -0
- package/lib/hooks/useAIAgentsWebSocket.js +136 -0
- package/lib/hooks/{useAGUI.d.ts → useAgUi.d.ts} +2 -2
- package/lib/hooks/{useAGUI.js → useAgUi.js} +2 -2
- package/lib/hooks/useAgents.d.ts +150 -11
- package/lib/hooks/useAgents.js +623 -61
- package/lib/hooks/useAgentsCatalog.d.ts +25 -0
- package/lib/hooks/useAgentsCatalog.js +28 -0
- package/lib/hooks/useAgentsRegistry.d.ts +10 -0
- package/lib/hooks/useAgentsRegistry.js +20 -0
- package/lib/hooks/useAgentsService.d.ts +22 -0
- package/lib/hooks/useAgentsService.js +146 -0
- package/lib/hooks/useChat.d.ts +2 -2
- package/lib/hooks/useChat.js +14 -8
- package/lib/hooks/useCheckpoints.d.ts +176 -0
- package/lib/hooks/useCheckpoints.js +466 -0
- package/lib/hooks/useConfig.d.ts +11 -0
- package/lib/hooks/useConfig.js +46 -0
- package/lib/hooks/useContextSnapshot.d.ts +11 -0
- package/lib/hooks/useContextSnapshot.js +44 -0
- package/lib/hooks/useMonitoring.d.ts +24 -0
- package/lib/hooks/useMonitoring.js +111 -0
- package/lib/hooks/useNotifications.d.ts +67 -0
- package/lib/hooks/useNotifications.js +208 -0
- package/lib/hooks/useSandbox.d.ts +12 -0
- package/lib/hooks/useSandbox.js +49 -0
- package/lib/hooks/useSkills.d.ts +13 -0
- package/lib/hooks/useSkills.js +46 -0
- package/lib/hooks/useToolApprovals.d.ts +45 -0
- package/lib/hooks/useToolApprovals.js +126 -0
- package/lib/hooks/useTools.d.ts +4 -4
- package/lib/hooks/useTools.js +2 -2
- package/lib/hooks/{useVercelChat.d.ts → useVercelAI.d.ts} +3 -3
- package/lib/hooks/{useVercelChat.js → useVercelAI.js} +2 -2
- package/lib/{components/chat/components → identity}/AgentIdentity.d.ts +1 -1
- package/lib/{components/chat/components → identity}/AgentIdentity.js +4 -3
- package/lib/identity/index.d.ts +1 -0
- package/lib/identity/index.js +2 -0
- package/lib/index.d.ts +4 -3
- package/lib/index.js +3 -2
- package/lib/{components/chat/inference → inference}/BaseInferenceProvider.d.ts +3 -3
- package/lib/{components/chat/inference → inference}/DatalayerInferenceProvider.d.ts +3 -3
- package/lib/{components/chat/inference → inference}/DatalayerInferenceProvider.js +1 -1
- package/lib/{components/chat/inference → inference}/SelfHostedInferenceProvider.d.ts +2 -2
- package/lib/{components/chat/inference → inference}/SelfHostedInferenceProvider.js +1 -1
- package/lib/{components/chat/inference → inference}/index.d.ts +1 -1
- package/lib/{components/chat/inference → inference}/index.js +1 -1
- package/lib/lexical/ChatInlinePlugin.d.ts +1 -1
- package/lib/lexical/ChatInlinePlugin.js +1 -1
- package/lib/{components → mcp}/McpServerManager.d.ts +2 -3
- package/lib/{components → mcp}/McpServerManager.js +1 -1
- package/lib/mcp/index.d.ts +1 -0
- package/lib/{specs/agents/codeai → mcp}/index.js +1 -1
- package/lib/{components/chat/middleware → middleware}/MiddlewarePipeline.d.ts +3 -3
- package/lib/{components/chat/middleware → middleware}/index.d.ts +1 -1
- package/lib/{components/chat/middleware → middleware}/index.js +1 -1
- package/lib/{components/chat/protocols → protocols}/A2AAdapter.d.ts +6 -6
- package/lib/{components/chat/protocols → protocols}/A2AAdapter.js +3 -3
- package/lib/{components/chat/protocols → protocols}/ACPAdapter.d.ts +6 -6
- package/lib/{components/chat/protocols → protocols}/ACPAdapter.js +4 -4
- package/lib/{components/chat/protocols → protocols}/AGUIAdapter.d.ts +14 -6
- package/lib/{components/chat/protocols → protocols}/AGUIAdapter.js +72 -10
- package/lib/{components/chat/protocols → protocols}/BaseProtocolAdapter.d.ts +6 -6
- package/lib/{components/chat/protocols → protocols}/BaseProtocolAdapter.js +1 -1
- package/lib/{components/chat/protocols → protocols}/VercelAIAdapter.d.ts +31 -7
- package/lib/protocols/VercelAIAdapter.js +682 -0
- package/lib/{components/chat/protocols → protocols}/index.d.ts +1 -2
- package/lib/{components/chat/protocols → protocols}/index.js +1 -1
- package/lib/specs/agents/agents.d.ts +54 -0
- package/lib/specs/agents/agents.js +2638 -0
- package/lib/specs/agents/index.js +14 -7
- package/lib/specs/envvars.d.ts +11 -19
- package/lib/specs/envvars.js +42 -21
- package/lib/specs/evals.d.ts +20 -0
- package/lib/specs/evals.js +133 -0
- package/lib/specs/events.d.ts +18 -0
- package/lib/specs/events.js +182 -0
- package/lib/specs/frontendTools.d.ts +14 -0
- package/lib/specs/frontendTools.js +53 -0
- package/lib/specs/guardrails.d.ts +22 -0
- package/lib/specs/guardrails.js +391 -0
- package/lib/specs/index.d.ts +15 -2
- package/lib/specs/index.js +15 -2
- package/lib/specs/mcpServers.d.ts +13 -10
- package/lib/specs/mcpServers.js +95 -25
- package/lib/specs/memory.d.ts +34 -0
- package/lib/specs/memory.js +99 -0
- package/lib/specs/models.d.ts +22 -35
- package/lib/specs/models.js +64 -44
- package/lib/specs/notifications.d.ts +17 -0
- package/lib/specs/notifications.js +187 -0
- package/lib/specs/outputs.d.ts +19 -0
- package/lib/specs/outputs.js +112 -0
- package/lib/specs/skills.d.ts +7 -16
- package/lib/specs/skills.js +89 -12
- package/lib/specs/teams/index.d.ts +17 -0
- package/lib/specs/teams/index.js +37 -0
- package/lib/specs/teams/teams.d.ts +27 -0
- package/lib/specs/teams/teams.js +1120 -0
- package/lib/specs/tools.d.ts +15 -0
- package/lib/specs/tools.js +83 -0
- package/lib/specs/triggers.d.ts +15 -0
- package/lib/specs/triggers.js +117 -0
- package/lib/stores/agentsStore.d.ts +123 -0
- package/lib/stores/agentsStore.js +270 -0
- package/lib/{components/chat/store → stores}/chatStore.d.ts +3 -2
- package/lib/{components/chat/store → stores}/chatStore.js +2 -2
- package/lib/{components/chat/store → stores}/conversationStore.d.ts +2 -2
- package/lib/{components/chat/store → stores}/conversationStore.js +3 -3
- package/lib/{components/chat/store → stores}/index.d.ts +3 -2
- package/lib/{components/chat/store → stores}/index.js +3 -2
- package/lib/{components/chat/tools → tools}/ToolExecutor.d.ts +2 -2
- package/lib/{components/chat/tools → tools}/ToolExecutor.js +1 -1
- package/lib/tools/adapters/agent-runtimes/AgentRuntimesToolAdapter.d.ts +1 -1
- package/lib/tools/adapters/agent-runtimes/lexicalHooks.d.ts +14 -10
- package/lib/tools/adapters/agent-runtimes/lexicalHooks.js +31 -21
- package/lib/tools/adapters/agent-runtimes/notebookHooks.d.ts +1 -1
- package/lib/tools/index.d.ts +3 -0
- package/lib/tools/index.js +3 -7
- package/lib/types/a2a.d.ts +39 -0
- package/lib/types/acp.d.ts +21 -0
- package/lib/types/ag-ui.d.ts +25 -0
- package/lib/types/agents-lifecycle.d.ts +36 -0
- package/lib/types/agents.d.ts +80 -0
- package/lib/types/agents.js +22 -0
- package/lib/types/agentspecs.d.ts +90 -0
- package/lib/{components/chat/components/base/ChatBase.d.ts → types/chat.d.ts} +60 -100
- package/lib/types/checkpoints.d.ts +32 -0
- package/lib/types/checkpoints.js +5 -0
- package/lib/types/config.d.ts +67 -0
- package/lib/{runtime/types.js → types/config.js} +2 -2
- package/lib/types/connection.d.ts +31 -0
- package/lib/types/connection.js +5 -0
- package/lib/types/context.d.ts +67 -0
- package/lib/types/context.js +5 -0
- package/lib/types/cost.d.ts +42 -0
- package/lib/types/cost.js +5 -0
- package/lib/types/envvars.d.ts +21 -0
- package/lib/types/envvars.js +5 -0
- package/lib/types/evals.d.ts +66 -0
- package/lib/types/evals.js +5 -0
- package/lib/types/events.d.ts +49 -0
- package/lib/types/events.js +5 -0
- package/lib/types/eventspecs.d.ts +39 -0
- package/lib/types/eventspecs.js +5 -0
- package/lib/types/examples.d.ts +31 -0
- package/lib/types/examples.js +5 -0
- package/lib/{components/chat/types → types}/execution.d.ts +10 -1
- package/lib/{components/chat/types/extension.d.ts → types/extensions.d.ts} +3 -3
- package/lib/types/guardrails.d.ts +106 -0
- package/lib/types/guardrails.js +5 -0
- package/lib/types/index.d.ts +36 -2
- package/lib/types/index.js +35 -2
- package/lib/{components/chat/types → types}/inference.d.ts +3 -3
- package/lib/types/inference.js +5 -0
- package/lib/types/mcp.d.ts +117 -0
- package/lib/types/mcp.js +27 -0
- package/lib/types/memory.d.ts +23 -0
- package/lib/types/memory.js +5 -0
- package/lib/{components/chat/types/message.d.ts → types/messages.d.ts} +20 -1
- package/lib/{components/chat/types → types}/middleware.d.ts +3 -3
- package/lib/types/models.d.ts +63 -0
- package/lib/types/models.js +5 -0
- package/lib/types/notifications.d.ts +85 -0
- package/lib/types/notifications.js +5 -0
- package/lib/types/outputs.d.ts +51 -0
- package/lib/types/outputs.js +5 -0
- package/lib/{components/chat/types → types}/protocol.d.ts +37 -99
- package/lib/types/protocol.js +5 -0
- package/lib/types/sandbox.d.ts +27 -0
- package/lib/types/sandbox.js +24 -0
- package/lib/types/skills.d.ts +74 -0
- package/lib/types/skills.js +5 -0
- package/lib/types/teams.d.ts +133 -0
- package/lib/types/teams.js +5 -0
- package/lib/types/tool-approvals.d.ts +39 -0
- package/lib/types/tool-approvals.js +5 -0
- package/lib/{components/chat/types/tool.d.ts → types/tools.d.ts} +59 -4
- package/lib/types/triggers.d.ts +48 -0
- package/lib/types/triggers.js +5 -0
- package/lib/types/usage.d.ts +36 -0
- package/lib/types/usage.js +5 -0
- package/lib/utils/index.d.ts +1 -0
- package/lib/utils/index.js +5 -0
- package/lib/utils/utils.d.ts +60 -0
- package/lib/utils/utils.js +205 -0
- package/package.json +13 -14
- package/scripts/codegen/__pycache__/generate_agents.cpython-313.pyc +0 -0
- package/scripts/codegen/__pycache__/generate_envvars.cpython-313.pyc +0 -0
- package/scripts/codegen/__pycache__/generate_evals.cpython-313.pyc +0 -0
- package/scripts/codegen/__pycache__/generate_guardrails.cpython-313.pyc +0 -0
- package/scripts/codegen/__pycache__/generate_mcp_servers.cpython-313.pyc +0 -0
- package/scripts/codegen/__pycache__/generate_memory.cpython-313.pyc +0 -0
- package/scripts/codegen/__pycache__/generate_models.cpython-313.pyc +0 -0
- package/scripts/codegen/__pycache__/generate_notifications.cpython-313.pyc +0 -0
- package/scripts/codegen/__pycache__/generate_outputs.cpython-313.pyc +0 -0
- package/scripts/codegen/__pycache__/generate_skills.cpython-313.pyc +0 -0
- package/scripts/codegen/__pycache__/generate_teams.cpython-313.pyc +0 -0
- package/scripts/codegen/__pycache__/generate_tools.cpython-313.pyc +0 -0
- package/scripts/codegen/__pycache__/generate_triggers.cpython-313.pyc +0 -0
- package/scripts/codegen/__pycache__/versioning.cpython-313.pyc +0 -0
- package/scripts/codegen/generate_agents.py +464 -58
- package/scripts/codegen/generate_envvars.py +36 -35
- package/scripts/codegen/generate_evals.py +279 -0
- package/scripts/codegen/generate_events.py +312 -0
- package/scripts/codegen/generate_frontend_tools.py +266 -0
- package/scripts/codegen/generate_guardrails.py +475 -0
- package/scripts/codegen/generate_mcp_servers.py +36 -9
- package/scripts/codegen/generate_memory.py +468 -0
- package/scripts/codegen/generate_models.py +22 -46
- package/scripts/codegen/generate_notifications.py +309 -0
- package/scripts/codegen/generate_outputs.py +267 -0
- package/scripts/codegen/generate_skills.py +108 -51
- package/scripts/codegen/generate_teams.py +922 -0
- package/scripts/codegen/generate_tools.py +326 -0
- package/scripts/codegen/generate_triggers.py +295 -0
- package/scripts/codegen/versioning.py +53 -0
- package/lib/components/chat/components/base/ChatBase.js +0 -2240
- package/lib/components/chat/components/base/InputPrompt.d.ts +0 -42
- package/lib/components/chat/components/base/InputPrompt.js +0 -131
- package/lib/components/chat/components/display/index.d.ts +0 -6
- package/lib/components/chat/components/index.d.ts +0 -26
- package/lib/components/chat/components/index.js +0 -39
- package/lib/components/chat/extensions/A2UIExtension.d.ts +0 -87
- package/lib/components/chat/extensions/A2UIExtension.js +0 -312
- package/lib/components/chat/extensions/index.d.ts +0 -10
- package/lib/components/chat/index.d.ts +0 -61
- package/lib/components/chat/index.js +0 -76
- package/lib/components/chat/protocols/VercelAIAdapter.js +0 -315
- package/lib/components/chat/tools/index.d.ts +0 -8
- package/lib/components/chat/tools/index.js +0 -11
- package/lib/components/chat/types/index.d.ts +0 -12
- package/lib/components/chat/types/index.js +0 -17
- package/lib/components/sparklines/Sparklines.d.ts +0 -16
- package/lib/components/sparklines/Sparklines.js +0 -65
- package/lib/components/sparklines/SparklinesLine.d.ts +0 -8
- package/lib/components/sparklines/SparklinesLine.js +0 -37
- package/lib/components/sparklines/dataProcessing.d.ts +0 -25
- package/lib/components/sparklines/dataProcessing.js +0 -35
- package/lib/components/sparklines/index.d.ts +0 -4
- package/lib/components/sparklines/index.js +0 -7
- package/lib/components/sparklines/types.d.ts +0 -36
- package/lib/examples/stores/examplesStore.d.ts +0 -5
- package/lib/examples/stores/notebooks/Empty.ipynb.json +0 -33
- package/lib/examples/stores/notebooks/NotebookExample2.ipynb.json +0 -48
- package/lib/examples/stores/themeStore.d.ts +0 -33
- package/lib/examples/stores/themeStore.js +0 -38
- package/lib/hooks/useKeyboardShortcuts.d.ts +0 -47
- package/lib/hooks/useKeyboardShortcuts.js +0 -153
- package/lib/hooks/useMobile.d.ts +0 -1
- package/lib/hooks/useMobile.js +0 -19
- package/lib/hooks/useNotebookAIAgent.d.ts +0 -8
- package/lib/hooks/useNotebookAIAgent.js +0 -73
- package/lib/renderers/a2ui/components/A2UIRenderer.d.ts +0 -7
- package/lib/renderers/a2ui/components/A2UIRenderer.js +0 -102
- package/lib/renderers/a2ui/components/SurfaceRenderer.d.ts +0 -7
- package/lib/renderers/a2ui/components/SurfaceRenderer.js +0 -101
- package/lib/renderers/a2ui/components/content/AudioPlayer.d.ts +0 -9
- package/lib/renderers/a2ui/components/content/AudioPlayer.js +0 -38
- package/lib/renderers/a2ui/components/content/Divider.d.ts +0 -9
- package/lib/renderers/a2ui/components/content/Divider.js +0 -35
- package/lib/renderers/a2ui/components/content/Icon.d.ts +0 -9
- package/lib/renderers/a2ui/components/content/Icon.js +0 -110
- package/lib/renderers/a2ui/components/content/Image.d.ts +0 -9
- package/lib/renderers/a2ui/components/content/Image.js +0 -61
- package/lib/renderers/a2ui/components/content/Text.d.ts +0 -9
- package/lib/renderers/a2ui/components/content/Text.js +0 -64
- package/lib/renderers/a2ui/components/content/Video.d.ts +0 -9
- package/lib/renderers/a2ui/components/content/Video.js +0 -37
- package/lib/renderers/a2ui/components/content/index.d.ts +0 -6
- package/lib/renderers/a2ui/components/content/index.js +0 -25
- package/lib/renderers/a2ui/components/index.d.ts +0 -5
- package/lib/renderers/a2ui/components/index.js +0 -24
- package/lib/renderers/a2ui/components/interactive/Button.d.ts +0 -11
- package/lib/renderers/a2ui/components/interactive/Button.js +0 -71
- package/lib/renderers/a2ui/components/interactive/CheckBox.d.ts +0 -9
- package/lib/renderers/a2ui/components/interactive/CheckBox.js +0 -48
- package/lib/renderers/a2ui/components/interactive/DateTimeInput.d.ts +0 -9
- package/lib/renderers/a2ui/components/interactive/DateTimeInput.js +0 -62
- package/lib/renderers/a2ui/components/interactive/MultipleChoice.d.ts +0 -9
- package/lib/renderers/a2ui/components/interactive/MultipleChoice.js +0 -73
- package/lib/renderers/a2ui/components/interactive/Slider.d.ts +0 -9
- package/lib/renderers/a2ui/components/interactive/Slider.js +0 -53
- package/lib/renderers/a2ui/components/interactive/TextField.d.ts +0 -9
- package/lib/renderers/a2ui/components/interactive/TextField.js +0 -72
- package/lib/renderers/a2ui/components/interactive/index.d.ts +0 -6
- package/lib/renderers/a2ui/components/interactive/index.js +0 -25
- package/lib/renderers/a2ui/components/layout/Card.d.ts +0 -11
- package/lib/renderers/a2ui/components/layout/Card.js +0 -30
- package/lib/renderers/a2ui/components/layout/Column.d.ts +0 -11
- package/lib/renderers/a2ui/components/layout/Column.js +0 -65
- package/lib/renderers/a2ui/components/layout/List.d.ts +0 -11
- package/lib/renderers/a2ui/components/layout/List.js +0 -55
- package/lib/renderers/a2ui/components/layout/Modal.d.ts +0 -11
- package/lib/renderers/a2ui/components/layout/Modal.js +0 -58
- package/lib/renderers/a2ui/components/layout/Row.d.ts +0 -11
- package/lib/renderers/a2ui/components/layout/Row.js +0 -65
- package/lib/renderers/a2ui/components/layout/Tabs.d.ts +0 -11
- package/lib/renderers/a2ui/components/layout/Tabs.js +0 -48
- package/lib/renderers/a2ui/components/layout/index.d.ts +0 -6
- package/lib/renderers/a2ui/components/layout/index.js +0 -25
- package/lib/renderers/a2ui/context/A2UIContext.d.ts +0 -17
- package/lib/renderers/a2ui/context/A2UIContext.js +0 -54
- package/lib/renderers/a2ui/context/ThemeContext.d.ts +0 -20
- package/lib/renderers/a2ui/context/ThemeContext.js +0 -333
- package/lib/renderers/a2ui/hooks/useA2UI.d.ts +0 -36
- package/lib/renderers/a2ui/hooks/useA2UI.js +0 -62
- package/lib/renderers/a2ui/hooks/useDataBinding.d.ts +0 -8
- package/lib/renderers/a2ui/hooks/useDataBinding.js +0 -83
- package/lib/renderers/a2ui/index.d.ts +0 -9
- package/lib/renderers/a2ui/index.js +0 -28
- package/lib/renderers/a2ui/lib/utils.d.ts +0 -11
- package/lib/renderers/a2ui/lib/utils.js +0 -38
- package/lib/renderers/a2ui/types/index.d.ts +0 -17
- package/lib/runtime/index.d.ts +0 -38
- package/lib/runtime/index.js +0 -40
- package/lib/runtime/runtimeStore.d.ts +0 -76
- package/lib/runtime/runtimeStore.js +0 -184
- package/lib/runtime/types.d.ts +0 -84
- package/lib/runtime/useAgentConnection.d.ts +0 -45
- package/lib/runtime/useAgentConnection.js +0 -112
- package/lib/runtime/useAgentRuntime.d.ts +0 -93
- package/lib/runtime/useAgentRuntime.js +0 -125
- package/lib/specs/agents/codeai/agents.d.ts +0 -28
- package/lib/specs/agents/codeai/agents.js +0 -151
- package/lib/specs/agents/codeai/index.d.ts +0 -1
- package/lib/specs/agents/codemode-paper/agents.d.ts +0 -31
- package/lib/specs/agents/codemode-paper/agents.js +0 -308
- package/lib/specs/agents/codemode-paper/index.d.ts +0 -1
- package/lib/specs/agents/codemode-paper/index.js +0 -5
- package/lib/specs/agents/datalayer-ai/agents.d.ts +0 -31
- package/lib/specs/agents/datalayer-ai/agents.js +0 -282
- package/lib/specs/agents/datalayer-ai/index.d.ts +0 -1
- package/lib/specs/agents/datalayer-ai/index.js +0 -5
- package/lib/state/index.d.ts +0 -1
- package/lib/state/index.js +0 -5
- package/lib/state/substates/AIAgentState.d.ts +0 -80
- package/lib/state/substates/AIAgentState.js +0 -108
- package/lib/state/substates/index.d.ts +0 -1
- package/lib/state/substates/index.js +0 -5
- package/lib/types/AIAgent.d.ts +0 -17
- package/lib/types/Types.d.ts +0 -189
- /package/lib/{components/chat → api}/handler.d.ts +0 -0
- /package/lib/{renderers/index.d.ts → api/utils.d.ts} +0 -0
- /package/lib/{renderers/index.js → api/utils.js} +0 -0
- /package/lib/{components/chat/components/elements → chat/display}/PoweredByTag.js +0 -0
- /package/lib/{components/chat/components → chat}/parts/DynamicToolPart.js +0 -0
- /package/lib/{components/chat/components → chat}/parts/ReasoningPart.d.ts +0 -0
- /package/lib/{components/chat/components → chat}/parts/TextPart.js +0 -0
- /package/lib/{components/chat/components → chat}/parts/ToolPart.d.ts +0 -0
- /package/lib/{components/chat/components → chat}/styles/streamdownStyles.js +0 -0
- /package/lib/{components/chat/components/elements → chat/tools}/ToolApprovalDialog.d.ts +0 -0
- /package/lib/{components/chat/components → context}/ContextDistribution.d.ts +0 -0
- /package/lib/{components/chat/components → context}/ContextDistribution.js +0 -0
- /package/lib/{components/chat/components → context}/ContextInspector.d.ts +0 -0
- /package/lib/{components/chat/components → context}/ContextPanel.d.ts +0 -0
- /package/lib/{components/chat/components → context}/ContextUsage.d.ts +0 -0
- /package/lib/{components/chat/components → context}/ContextUsage.js +0 -0
- /package/lib/examples/{JupyterCellExample.d.ts → CellSimpleExample.d.ts} +0 -0
- /package/lib/examples/{AgentRuntimeCustomExample.d.ts → ChatCustomExample.d.ts} +0 -0
- /package/lib/examples/{AgentRuntimeChatExample.d.ts → ChatExample.d.ts} +0 -0
- /package/lib/examples/{AgentRuntimeStandaloneExample.d.ts → ChatStandaloneExample.d.ts} +0 -0
- /package/lib/examples/{AgentRuntimeNotebookExample.d.ts → NotebookExample.d.ts} +0 -0
- /package/lib/examples/{AgentRuntimeNotebookSidebarExample.d.ts → NotebookSidebarExample.d.ts} +0 -0
- /package/lib/examples/{JupyterNotebookExample.d.ts → NotebookSimpleExample.d.ts} +0 -0
- /package/lib/examples/{stores → utils}/agents/earthquake-detector.ipynb.json +0 -0
- /package/lib/examples/{stores → utils}/agents/earthquake-detector.json +0 -0
- /package/lib/examples/{stores → utils}/agents/earthquake-detector.lexical.json +0 -0
- /package/lib/examples/{stores → utils}/agents/sales-forecaster.ipynb.json +0 -0
- /package/lib/examples/{stores → utils}/agents/sales-forecaster.json +0 -0
- /package/lib/examples/{stores → utils}/agents/sales-forecaster.lexical.json +0 -0
- /package/lib/examples/{stores → utils}/agents/social-post-generator.ipynb.json +0 -0
- /package/lib/examples/{stores → utils}/agents/social-post-generator.json +0 -0
- /package/lib/examples/{stores → utils}/agents/social-post-generator.lexical.json +0 -0
- /package/lib/examples/{stores → utils}/agents/stock-market.ipynb.json +0 -0
- /package/lib/examples/{stores → utils}/agents/stock-market.json +0 -0
- /package/lib/examples/{stores → utils}/agents/stock-market.lexical.json +0 -0
- /package/lib/examples/{stores → utils}/notebooks/IPyWidgetsExample.ipynb.json +0 -0
- /package/lib/examples/{stores → utils}/notebooks/IPyWidgetsExampleWithState.ipynb.json +0 -0
- /package/lib/examples/{stores → utils}/notebooks/Lite.ipynb.json +0 -0
- /package/lib/examples/{stores → utils}/notebooks/Matplotlib.ipynb.json +0 -0
- /package/lib/examples/{stores → utils}/notebooks/NotebookExample1.ipynb.json +0 -0
- /package/lib/examples/{stores → utils}/notebooks/NotebookOutputs.ipynb.json +0 -0
- /package/lib/examples/{stores → utils}/notebooks/NotebookToCExample.ipynb.json +0 -0
- /package/lib/examples/{stores → utils}/notebooks/OutputIPyWidgetsExample.d.ts +0 -0
- /package/lib/examples/{stores → utils}/notebooks/OutputIPyWidgetsExample.js +0 -0
- /package/lib/examples/{stores → utils}/notebooks/PyGWalker.ipynb.json +0 -0
- /package/lib/examples/{stores → utils}/themedProvider.d.ts +0 -0
- /package/lib/examples/{stores → utils}/themedProvider.js +0 -0
- /package/lib/{components/chat/inference → inference}/BaseInferenceProvider.js +0 -0
- /package/lib/{components/chat/middleware → middleware}/MiddlewarePipeline.js +0 -0
- /package/lib/{components/chat/types/inference.js → types/a2a.js} +0 -0
- /package/lib/{components/chat/types/protocol.js → types/acp.js} +0 -0
- /package/lib/{components/sparklines/types.js → types/ag-ui.js} +0 -0
- /package/lib/{renderers/a2ui/types/index.js → types/agents-lifecycle.js} +0 -0
- /package/lib/types/{AIAgent.js → agentspecs.js} +0 -0
- /package/lib/types/{Types.js → chat.js} +0 -0
- /package/lib/{components/chat/types → types}/execution.js +0 -0
- /package/lib/{components/chat/types/extension.js → types/extensions.js} +0 -0
- /package/lib/{components/chat/types/message.js → types/messages.js} +0 -0
- /package/lib/{components/chat/types → types}/middleware.js +0 -0
- /package/lib/{components/chat/types/tool.js → types/tools.js} +0 -0
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { Types } from '@a2ui/lit/0.8';
|
|
2
|
-
import type { A2UIActionEvent } from '../types/index.js';
|
|
3
|
-
export interface UseA2UIReturn {
|
|
4
|
-
/** Map of all surfaces */
|
|
5
|
-
surfaces: ReadonlyMap<string, Types.Surface>;
|
|
6
|
-
/** Get a specific surface by ID */
|
|
7
|
-
getSurface: (surfaceId: string) => Types.Surface | undefined;
|
|
8
|
-
/** Process incoming A2UI messages from the server */
|
|
9
|
-
processMessages: (messages: Types.ServerToClientMessage[]) => void;
|
|
10
|
-
/** Send an action event to the server */
|
|
11
|
-
sendAction: (action: A2UIActionEvent) => void;
|
|
12
|
-
/** Get the root component tree for a surface */
|
|
13
|
-
getComponentTree: (surfaceId: string) => Types.AnyComponentNode | null;
|
|
14
|
-
/** Clear all surfaces */
|
|
15
|
-
clearSurfaces: () => void;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Main hook for interacting with A2UI.
|
|
19
|
-
* Provides access to surfaces, message processing, and action sending.
|
|
20
|
-
*
|
|
21
|
-
* @example
|
|
22
|
-
* ```tsx
|
|
23
|
-
* function MyComponent() {
|
|
24
|
-
* const { surfaces, processMessages, sendAction } = useA2UI();
|
|
25
|
-
*
|
|
26
|
-
* // Process messages from server
|
|
27
|
-
* useEffect(() => {
|
|
28
|
-
* fetch('/api/a2ui').then(res => res.json()).then(processMessages);
|
|
29
|
-
* }, []);
|
|
30
|
-
*
|
|
31
|
-
* // Render surfaces
|
|
32
|
-
* return <A2UIRenderer surfaceId="main" />;
|
|
33
|
-
* }
|
|
34
|
-
* ```
|
|
35
|
-
*/
|
|
36
|
-
export declare function useA2UI(): UseA2UIReturn;
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
3
|
-
* Distributed under the terms of the Modified BSD License.
|
|
4
|
-
*/
|
|
5
|
-
/*
|
|
6
|
-
Copyright 2025 Google LLC
|
|
7
|
-
|
|
8
|
-
Licensed under the Apache License, Version 2.0 (the "License");
|
|
9
|
-
you may not use this file except in compliance with the License.
|
|
10
|
-
You may obtain a copy of the License at
|
|
11
|
-
|
|
12
|
-
https://www.apache.org/licenses/LICENSE-2.0
|
|
13
|
-
|
|
14
|
-
Unless required by applicable law or agreed to in writing, software
|
|
15
|
-
distributed under the License is distributed on an "AS IS" BASIS,
|
|
16
|
-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
17
|
-
See the License for the specific language governing permissions and
|
|
18
|
-
limitations under the License.
|
|
19
|
-
*/
|
|
20
|
-
import { useCallback } from 'react';
|
|
21
|
-
import { useA2UIContext } from '../context/A2UIContext.js';
|
|
22
|
-
/**
|
|
23
|
-
* Main hook for interacting with A2UI.
|
|
24
|
-
* Provides access to surfaces, message processing, and action sending.
|
|
25
|
-
*
|
|
26
|
-
* @example
|
|
27
|
-
* ```tsx
|
|
28
|
-
* function MyComponent() {
|
|
29
|
-
* const { surfaces, processMessages, sendAction } = useA2UI();
|
|
30
|
-
*
|
|
31
|
-
* // Process messages from server
|
|
32
|
-
* useEffect(() => {
|
|
33
|
-
* fetch('/api/a2ui').then(res => res.json()).then(processMessages);
|
|
34
|
-
* }, []);
|
|
35
|
-
*
|
|
36
|
-
* // Render surfaces
|
|
37
|
-
* return <A2UIRenderer surfaceId="main" />;
|
|
38
|
-
* }
|
|
39
|
-
* ```
|
|
40
|
-
*/
|
|
41
|
-
export function useA2UI() {
|
|
42
|
-
const { processor, surfaces, processMessages, sendAction, refresh } = useA2UIContext();
|
|
43
|
-
const getSurface = useCallback((surfaceId) => {
|
|
44
|
-
return surfaces.get(surfaceId);
|
|
45
|
-
}, [surfaces]);
|
|
46
|
-
const getComponentTree = useCallback((surfaceId) => {
|
|
47
|
-
const surface = surfaces.get(surfaceId);
|
|
48
|
-
return surface?.componentTree ?? null;
|
|
49
|
-
}, [surfaces]);
|
|
50
|
-
const clearSurfaces = useCallback(() => {
|
|
51
|
-
processor.clearSurfaces();
|
|
52
|
-
refresh();
|
|
53
|
-
}, [processor, refresh]);
|
|
54
|
-
return {
|
|
55
|
-
surfaces,
|
|
56
|
-
getSurface,
|
|
57
|
-
processMessages,
|
|
58
|
-
sendAction,
|
|
59
|
-
getComponentTree,
|
|
60
|
-
clearSurfaces,
|
|
61
|
-
};
|
|
62
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { Types, Primitives } from '@a2ui/lit/0.8';
|
|
2
|
-
export declare function useDataBinding(node: Types.AnyComponentNode, surfaceId: string): {
|
|
3
|
-
resolveString: (value: Primitives.StringValue | null | undefined) => string | null;
|
|
4
|
-
resolveNumber: (value: Primitives.NumberValue | null | undefined) => number | null;
|
|
5
|
-
resolveBoolean: (value: Primitives.BooleanValue | null | undefined) => boolean | null;
|
|
6
|
-
setValue: (path: string, value: Types.DataValue) => void;
|
|
7
|
-
getValue: (path: string) => Types.DataValue | null;
|
|
8
|
-
};
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
3
|
-
* Distributed under the terms of the Modified BSD License.
|
|
4
|
-
*/
|
|
5
|
-
/*
|
|
6
|
-
Copyright 2025 Google LLC
|
|
7
|
-
|
|
8
|
-
Licensed under the Apache License, Version 2.0 (the "License");
|
|
9
|
-
you may not use this file except in compliance with the License.
|
|
10
|
-
You may obtain a copy of the License at
|
|
11
|
-
|
|
12
|
-
https://www.apache.org/licenses/LICENSE-2.0
|
|
13
|
-
|
|
14
|
-
Unless required by applicable law or agreed to in writing, software
|
|
15
|
-
distributed under the License is distributed on an "AS IS" BASIS,
|
|
16
|
-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
17
|
-
See the License for the specific language governing permissions and
|
|
18
|
-
limitations under the License.
|
|
19
|
-
*/
|
|
20
|
-
import { useCallback } from 'react';
|
|
21
|
-
import { useA2UIContext } from '../context/A2UIContext.js';
|
|
22
|
-
export function useDataBinding(node, surfaceId) {
|
|
23
|
-
const { processor, refresh } = useA2UIContext();
|
|
24
|
-
const resolveString = useCallback((value) => {
|
|
25
|
-
if (!value)
|
|
26
|
-
return null;
|
|
27
|
-
if (value.literalString !== undefined) {
|
|
28
|
-
if (value.path) {
|
|
29
|
-
processor.setData(node, value.path, value.literalString, surfaceId);
|
|
30
|
-
}
|
|
31
|
-
return value.literalString;
|
|
32
|
-
}
|
|
33
|
-
if (value.path) {
|
|
34
|
-
const data = processor.getData(node, value.path, surfaceId);
|
|
35
|
-
return data !== null ? String(data) : null;
|
|
36
|
-
}
|
|
37
|
-
return null;
|
|
38
|
-
}, [processor, node, surfaceId]);
|
|
39
|
-
const resolveNumber = useCallback((value) => {
|
|
40
|
-
if (!value)
|
|
41
|
-
return null;
|
|
42
|
-
if (value.literalNumber !== undefined) {
|
|
43
|
-
if (value.path) {
|
|
44
|
-
processor.setData(node, value.path, value.literalNumber, surfaceId);
|
|
45
|
-
}
|
|
46
|
-
return value.literalNumber;
|
|
47
|
-
}
|
|
48
|
-
if (value.path) {
|
|
49
|
-
const data = processor.getData(node, value.path, surfaceId);
|
|
50
|
-
return data !== null ? Number(data) : null;
|
|
51
|
-
}
|
|
52
|
-
return null;
|
|
53
|
-
}, [processor, node, surfaceId]);
|
|
54
|
-
const resolveBoolean = useCallback((value) => {
|
|
55
|
-
if (!value)
|
|
56
|
-
return null;
|
|
57
|
-
if (value.literalBoolean !== undefined) {
|
|
58
|
-
if (value.path) {
|
|
59
|
-
processor.setData(node, value.path, value.literalBoolean, surfaceId);
|
|
60
|
-
}
|
|
61
|
-
return value.literalBoolean;
|
|
62
|
-
}
|
|
63
|
-
if (value.path) {
|
|
64
|
-
const data = processor.getData(node, value.path, surfaceId);
|
|
65
|
-
return data !== null ? Boolean(data) : null;
|
|
66
|
-
}
|
|
67
|
-
return null;
|
|
68
|
-
}, [processor, node, surfaceId]);
|
|
69
|
-
const setValue = useCallback((path, value) => {
|
|
70
|
-
processor.setData(node, path, value, surfaceId);
|
|
71
|
-
refresh();
|
|
72
|
-
}, [processor, node, surfaceId, refresh]);
|
|
73
|
-
const getValue = useCallback((path) => {
|
|
74
|
-
return processor.getData(node, path, surfaceId);
|
|
75
|
-
}, [processor, node, surfaceId]);
|
|
76
|
-
return {
|
|
77
|
-
resolveString,
|
|
78
|
-
resolveNumber,
|
|
79
|
-
resolveBoolean,
|
|
80
|
-
setValue,
|
|
81
|
-
getValue,
|
|
82
|
-
};
|
|
83
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export { A2UIProvider, useA2UIContext } from './context/A2UIContext.js';
|
|
2
|
-
export { ThemeProvider, useTheme, defaultTheme, } from './context/ThemeContext.js';
|
|
3
|
-
export { useA2UI } from './hooks/useA2UI.js';
|
|
4
|
-
export { useDataBinding } from './hooks/useDataBinding.js';
|
|
5
|
-
export { A2UIRenderer } from './components/A2UIRenderer.js';
|
|
6
|
-
export * from './components/index.js';
|
|
7
|
-
export * from './types/index.js';
|
|
8
|
-
export { cn, classMapToString } from './lib/utils.js';
|
|
9
|
-
export { Data, Types, Primitives } from '@a2ui/lit/0.8';
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
3
|
-
* Distributed under the terms of the Modified BSD License.
|
|
4
|
-
*/
|
|
5
|
-
/*
|
|
6
|
-
Copyright 2025 Google LLC
|
|
7
|
-
|
|
8
|
-
Licensed under the Apache License, Version 2.0 (the "License");
|
|
9
|
-
you may not use this file except in compliance with the License.
|
|
10
|
-
You may obtain a copy of the License at
|
|
11
|
-
|
|
12
|
-
https://www.apache.org/licenses/LICENSE-2.0
|
|
13
|
-
|
|
14
|
-
Unless required by applicable law or agreed to in writing, software
|
|
15
|
-
distributed under the License is distributed on an "AS IS" BASIS,
|
|
16
|
-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
17
|
-
See the License for the specific language governing permissions and
|
|
18
|
-
limitations under the License.
|
|
19
|
-
*/
|
|
20
|
-
export { A2UIProvider, useA2UIContext } from './context/A2UIContext.js';
|
|
21
|
-
export { ThemeProvider, useTheme, defaultTheme, } from './context/ThemeContext.js';
|
|
22
|
-
export { useA2UI } from './hooks/useA2UI.js';
|
|
23
|
-
export { useDataBinding } from './hooks/useDataBinding.js';
|
|
24
|
-
export { A2UIRenderer } from './components/A2UIRenderer.js';
|
|
25
|
-
export * from './components/index.js';
|
|
26
|
-
export * from './types/index.js';
|
|
27
|
-
export { cn, classMapToString } from './lib/utils.js';
|
|
28
|
-
export { Data, Types, Primitives } from '@a2ui/lit/0.8';
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { type ClassValue } from "clsx";
|
|
2
|
-
/**
|
|
3
|
-
* Utility function to merge Tailwind CSS classes.
|
|
4
|
-
* Combines clsx for conditional classes with tailwind-merge to handle conflicts.
|
|
5
|
-
*/
|
|
6
|
-
export declare function cn(...inputs: ClassValue[]): string;
|
|
7
|
-
/**
|
|
8
|
-
* Converts a Record<string, boolean> (class map) to a className string.
|
|
9
|
-
* This is used to convert Lit-style class maps to React className strings.
|
|
10
|
-
*/
|
|
11
|
-
export declare function classMapToString(classMap: Record<string, boolean>): string;
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
3
|
-
* Distributed under the terms of the Modified BSD License.
|
|
4
|
-
*/
|
|
5
|
-
/*
|
|
6
|
-
Copyright 2025 Google LLC
|
|
7
|
-
|
|
8
|
-
Licensed under the Apache License, Version 2.0 (the "License");
|
|
9
|
-
you may not use this file except in compliance with the License.
|
|
10
|
-
You may obtain a copy of the License at
|
|
11
|
-
|
|
12
|
-
https://www.apache.org/licenses/LICENSE-2.0
|
|
13
|
-
|
|
14
|
-
Unless required by applicable law or agreed to in writing, software
|
|
15
|
-
distributed under the License is distributed on an "AS IS" BASIS,
|
|
16
|
-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
17
|
-
See the License for the specific language governing permissions and
|
|
18
|
-
limitations under the License.
|
|
19
|
-
*/
|
|
20
|
-
import clsx from "clsx";
|
|
21
|
-
import { twMerge } from "tailwind-merge";
|
|
22
|
-
/**
|
|
23
|
-
* Utility function to merge Tailwind CSS classes.
|
|
24
|
-
* Combines clsx for conditional classes with tailwind-merge to handle conflicts.
|
|
25
|
-
*/
|
|
26
|
-
export function cn(...inputs) {
|
|
27
|
-
return twMerge(clsx(inputs));
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Converts a Record<string, boolean> (class map) to a className string.
|
|
31
|
-
* This is used to convert Lit-style class maps to React className strings.
|
|
32
|
-
*/
|
|
33
|
-
export function classMapToString(classMap) {
|
|
34
|
-
return Object.entries(classMap)
|
|
35
|
-
.filter(([, enabled]) => enabled)
|
|
36
|
-
.map(([className]) => className)
|
|
37
|
-
.join(" ");
|
|
38
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { Types } from '@a2ui/lit/0.8';
|
|
2
|
-
export type MessageProcessor = Types.MessageProcessor;
|
|
3
|
-
export type Theme = Types.Theme;
|
|
4
|
-
export type Surface = Types.Surface;
|
|
5
|
-
export type AnyComponentNode = Types.AnyComponentNode;
|
|
6
|
-
export type ServerToClientMessage = Types.ServerToClientMessage;
|
|
7
|
-
export type DataValue = Types.DataValue;
|
|
8
|
-
export interface A2UIComponentProps {
|
|
9
|
-
node: Types.AnyComponentNode;
|
|
10
|
-
surfaceId: string;
|
|
11
|
-
}
|
|
12
|
-
export interface A2UIActionEvent {
|
|
13
|
-
type: 'a2ui.action';
|
|
14
|
-
actionId: string;
|
|
15
|
-
context: Record<string, unknown>;
|
|
16
|
-
}
|
|
17
|
-
export type SendActionCallback = (action: A2UIActionEvent) => void;
|
package/lib/runtime/index.d.ts
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Runtime management module for agent-runtimes.
|
|
3
|
-
*
|
|
4
|
-
* Provides a Zustand store and hooks for launching and managing cloud runtimes
|
|
5
|
-
* with integrated AI agent support.
|
|
6
|
-
*
|
|
7
|
-
* @module runtime
|
|
8
|
-
*
|
|
9
|
-
* @example
|
|
10
|
-
* ```typescript
|
|
11
|
-
* import { useRuntimeStore, useRuntime, useAgent } from '@datalayer/agent-runtimes/lib/runtime';
|
|
12
|
-
*
|
|
13
|
-
* // Launch a new runtime
|
|
14
|
-
* const { launchRuntime, createAgent } = useRuntimeStore();
|
|
15
|
-
* const runtime = await launchRuntime({ environmentName: 'python-simple', creditsLimit: 100 });
|
|
16
|
-
* const agent = await createAgent({ model: 'anthropic:claude-sonnet-4-5' });
|
|
17
|
-
*
|
|
18
|
-
* // Use in ChatFloating
|
|
19
|
-
* <ChatFloating endpoint={agent.endpoint} />
|
|
20
|
-
*
|
|
21
|
-
* // Or connect to an existing runtime
|
|
22
|
-
* const { connectToRuntime } = useRuntimeStore();
|
|
23
|
-
* connectToRuntime({
|
|
24
|
-
* podName: 'my-pod',
|
|
25
|
-
* environmentName: 'python-simple',
|
|
26
|
-
* serviceManager: myServiceManager,
|
|
27
|
-
* });
|
|
28
|
-
* ```
|
|
29
|
-
*/
|
|
30
|
-
export { useRuntimeStore, useRuntime, useAgent, useRuntimeStatus, useRuntimeError, useIsLaunching, getRuntimeState, subscribeToRuntime, } from './runtimeStore';
|
|
31
|
-
export type { RuntimeStore, RuntimeStoreState, RuntimeStoreActions, } from './runtimeStore';
|
|
32
|
-
export { useAgentConnection } from './useAgentConnection';
|
|
33
|
-
export type { UseAgentConnectionReturn, UseAgentConnectionOptions, } from './useAgentConnection';
|
|
34
|
-
export { useAgentRuntime } from './useAgentRuntime';
|
|
35
|
-
export type { UseAgentRuntimeReturn, UseAgentRuntimeOptions, } from './useAgentRuntime';
|
|
36
|
-
export type { IRuntimeLocation, IRuntimeType, IRuntimeCapabilities, IRuntimePod, IRuntimeOptions, IRuntimeDesc, } from './types';
|
|
37
|
-
export type { RuntimeConnection, AgentRuntimeStatus as RuntimeStatus, AgentConfig, AgentConnection, AgentRuntimeState, } from './types';
|
|
38
|
-
export { DEFAULT_AGENT_CONFIG } from './types';
|
package/lib/runtime/index.js
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
3
|
-
* Distributed under the terms of the Modified BSD License.
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* Runtime management module for agent-runtimes.
|
|
7
|
-
*
|
|
8
|
-
* Provides a Zustand store and hooks for launching and managing cloud runtimes
|
|
9
|
-
* with integrated AI agent support.
|
|
10
|
-
*
|
|
11
|
-
* @module runtime
|
|
12
|
-
*
|
|
13
|
-
* @example
|
|
14
|
-
* ```typescript
|
|
15
|
-
* import { useRuntimeStore, useRuntime, useAgent } from '@datalayer/agent-runtimes/lib/runtime';
|
|
16
|
-
*
|
|
17
|
-
* // Launch a new runtime
|
|
18
|
-
* const { launchRuntime, createAgent } = useRuntimeStore();
|
|
19
|
-
* const runtime = await launchRuntime({ environmentName: 'python-simple', creditsLimit: 100 });
|
|
20
|
-
* const agent = await createAgent({ model: 'anthropic:claude-sonnet-4-5' });
|
|
21
|
-
*
|
|
22
|
-
* // Use in ChatFloating
|
|
23
|
-
* <ChatFloating endpoint={agent.endpoint} />
|
|
24
|
-
*
|
|
25
|
-
* // Or connect to an existing runtime
|
|
26
|
-
* const { connectToRuntime } = useRuntimeStore();
|
|
27
|
-
* connectToRuntime({
|
|
28
|
-
* podName: 'my-pod',
|
|
29
|
-
* environmentName: 'python-simple',
|
|
30
|
-
* serviceManager: myServiceManager,
|
|
31
|
-
* });
|
|
32
|
-
* ```
|
|
33
|
-
*/
|
|
34
|
-
// Zustand store
|
|
35
|
-
export { useRuntimeStore, useRuntime, useAgent, useRuntimeStatus, useRuntimeError, useIsLaunching, getRuntimeState, subscribeToRuntime, } from './runtimeStore';
|
|
36
|
-
// Hooks
|
|
37
|
-
export { useAgentConnection } from './useAgentConnection';
|
|
38
|
-
export { useAgentRuntime } from './useAgentRuntime';
|
|
39
|
-
// Constants
|
|
40
|
-
export { DEFAULT_AGENT_CONFIG } from './types';
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import type { ServiceManager } from '@jupyterlab/services';
|
|
2
|
-
import type { IRuntimeOptions, RuntimeConnection, AgentRuntimeStatus, AgentConfig, AgentConnection } from './types';
|
|
3
|
-
/**
|
|
4
|
-
* Runtime store state interface.
|
|
5
|
-
*/
|
|
6
|
-
export interface RuntimeStoreState {
|
|
7
|
-
/** Current runtime connection */
|
|
8
|
-
runtime: RuntimeConnection | null;
|
|
9
|
-
/** Current agent connection */
|
|
10
|
-
agent: AgentConnection | null;
|
|
11
|
-
/** Current status */
|
|
12
|
-
status: AgentRuntimeStatus;
|
|
13
|
-
/** Error message if any */
|
|
14
|
-
error: string | null;
|
|
15
|
-
/** Whether a launch is in progress */
|
|
16
|
-
isLaunching: boolean;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Runtime store actions interface.
|
|
20
|
-
*/
|
|
21
|
-
export interface RuntimeStoreActions {
|
|
22
|
-
/** Launch a new runtime */
|
|
23
|
-
launchRuntime: (options: IRuntimeOptions) => Promise<RuntimeConnection>;
|
|
24
|
-
/** Connect to an existing runtime */
|
|
25
|
-
connectToRuntime: (connection: {
|
|
26
|
-
podName: string;
|
|
27
|
-
environmentName: string;
|
|
28
|
-
serviceManager: ServiceManager.IManager;
|
|
29
|
-
kernelId?: string;
|
|
30
|
-
}) => void;
|
|
31
|
-
/** Create an agent on the current runtime */
|
|
32
|
-
createAgent: (config?: AgentConfig) => Promise<AgentConnection>;
|
|
33
|
-
/** Disconnect from the current runtime */
|
|
34
|
-
disconnect: () => void;
|
|
35
|
-
/** Clear any errors */
|
|
36
|
-
clearError: () => void;
|
|
37
|
-
/** Set error */
|
|
38
|
-
setError: (error: string) => void;
|
|
39
|
-
/** Reset store to initial state */
|
|
40
|
-
reset: () => void;
|
|
41
|
-
}
|
|
42
|
-
export type RuntimeStore = RuntimeStoreState & RuntimeStoreActions;
|
|
43
|
-
/**
|
|
44
|
-
* Zustand store for runtime management.
|
|
45
|
-
*
|
|
46
|
-
* @example
|
|
47
|
-
* ```typescript
|
|
48
|
-
* import { useRuntimeStore } from '@datalayer/agent-runtimes/lib/runtime';
|
|
49
|
-
*
|
|
50
|
-
* // In a component
|
|
51
|
-
* const { runtime, launchRuntime, status } = useRuntimeStore();
|
|
52
|
-
*
|
|
53
|
-
* // Launch a runtime
|
|
54
|
-
* await launchRuntime({ environmentName: 'python-simple', creditsLimit: 100 });
|
|
55
|
-
*
|
|
56
|
-
* // Access runtime info
|
|
57
|
-
* console.log(runtime?.agentBaseUrl);
|
|
58
|
-
* ```
|
|
59
|
-
*/
|
|
60
|
-
export declare const useRuntimeStore: import("zustand").UseBoundStore<import("zustand").StoreApi<RuntimeStore>>;
|
|
61
|
-
/**
|
|
62
|
-
* Selector hooks for common use cases.
|
|
63
|
-
*/
|
|
64
|
-
export declare const useRuntime: () => RuntimeConnection | null;
|
|
65
|
-
export declare const useAgent: () => AgentConnection | null;
|
|
66
|
-
export declare const useRuntimeStatus: () => AgentRuntimeStatus;
|
|
67
|
-
export declare const useRuntimeError: () => string | null;
|
|
68
|
-
export declare const useIsLaunching: () => boolean;
|
|
69
|
-
/**
|
|
70
|
-
* Get runtime store state without React (for use outside components).
|
|
71
|
-
*/
|
|
72
|
-
export declare const getRuntimeState: () => RuntimeStore;
|
|
73
|
-
/**
|
|
74
|
-
* Subscribe to runtime store changes (for use outside React).
|
|
75
|
-
*/
|
|
76
|
-
export declare const subscribeToRuntime: (listener: (state: RuntimeStore, prevState: RuntimeStore) => void) => () => void;
|
|
@@ -1,184 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
3
|
-
* Distributed under the terms of the Modified BSD License.
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* Zustand store for runtime management.
|
|
7
|
-
*
|
|
8
|
-
* Provides a global store for managing cloud runtimes and agent connections.
|
|
9
|
-
*
|
|
10
|
-
* @module runtime/runtimeStore
|
|
11
|
-
*/
|
|
12
|
-
import { create } from 'zustand';
|
|
13
|
-
const initialState = {
|
|
14
|
-
runtime: null,
|
|
15
|
-
agent: null,
|
|
16
|
-
status: 'idle',
|
|
17
|
-
error: null,
|
|
18
|
-
isLaunching: false,
|
|
19
|
-
};
|
|
20
|
-
/**
|
|
21
|
-
* Create an agent on a runtime.
|
|
22
|
-
*/
|
|
23
|
-
async function createAgentOnRuntime(agentBaseUrl, agentId, config = {}) {
|
|
24
|
-
const response = await fetch(`${agentBaseUrl}/api/v1/agents`, {
|
|
25
|
-
method: 'POST',
|
|
26
|
-
headers: { 'Content-Type': 'application/json' },
|
|
27
|
-
body: JSON.stringify({
|
|
28
|
-
name: config.name || agentId,
|
|
29
|
-
description: config.description || 'AI assistant',
|
|
30
|
-
agent_library: config.agentLibrary || 'pydantic-ai',
|
|
31
|
-
transport: config.transport || 'ag-ui',
|
|
32
|
-
model: config.model || 'anthropic:claude-sonnet-4-5',
|
|
33
|
-
system_prompt: config.systemPrompt || 'You are a helpful AI assistant.',
|
|
34
|
-
}),
|
|
35
|
-
});
|
|
36
|
-
if (response.ok || response.status === 400) {
|
|
37
|
-
// 400 means agent already exists, which is fine
|
|
38
|
-
const endpoint = `${agentBaseUrl}/api/v1/ag-ui/${agentId}/`;
|
|
39
|
-
return {
|
|
40
|
-
agentId,
|
|
41
|
-
endpoint,
|
|
42
|
-
isReady: true,
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
const errorData = await response.json().catch(() => ({}));
|
|
46
|
-
throw new Error(errorData.detail || `Failed to create agent: ${response.status}`);
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Zustand store for runtime management.
|
|
50
|
-
*
|
|
51
|
-
* @example
|
|
52
|
-
* ```typescript
|
|
53
|
-
* import { useRuntimeStore } from '@datalayer/agent-runtimes/lib/runtime';
|
|
54
|
-
*
|
|
55
|
-
* // In a component
|
|
56
|
-
* const { runtime, launchRuntime, status } = useRuntimeStore();
|
|
57
|
-
*
|
|
58
|
-
* // Launch a runtime
|
|
59
|
-
* await launchRuntime({ environmentName: 'python-simple', creditsLimit: 100 });
|
|
60
|
-
*
|
|
61
|
-
* // Access runtime info
|
|
62
|
-
* console.log(runtime?.agentBaseUrl);
|
|
63
|
-
* ```
|
|
64
|
-
*/
|
|
65
|
-
export const useRuntimeStore = create((set, get) => ({
|
|
66
|
-
...initialState,
|
|
67
|
-
connectToRuntime: connection => {
|
|
68
|
-
const baseUrl = connection.serviceManager.serverSettings.baseUrl;
|
|
69
|
-
const agentBaseUrl = baseUrl.replace('/jupyter/server/', '/agent-runtimes/');
|
|
70
|
-
const fullConnection = {
|
|
71
|
-
podName: connection.podName,
|
|
72
|
-
environmentName: connection.environmentName,
|
|
73
|
-
jupyterBaseUrl: baseUrl,
|
|
74
|
-
agentBaseUrl,
|
|
75
|
-
serviceManager: connection.serviceManager,
|
|
76
|
-
status: 'ready',
|
|
77
|
-
kernelId: connection.kernelId,
|
|
78
|
-
};
|
|
79
|
-
set({
|
|
80
|
-
runtime: fullConnection,
|
|
81
|
-
status: 'ready',
|
|
82
|
-
error: null,
|
|
83
|
-
});
|
|
84
|
-
},
|
|
85
|
-
launchRuntime: async (config) => {
|
|
86
|
-
set({ status: 'launching', error: null, isLaunching: true });
|
|
87
|
-
try {
|
|
88
|
-
// Import @datalayer/core dynamically to avoid circular dependencies
|
|
89
|
-
const { createRuntime, makeDatalayerSettings } = await import('@datalayer/core/lib/api');
|
|
90
|
-
const { ServiceManager } = await import('@jupyterlab/services');
|
|
91
|
-
// Create the runtime using IRuntimeOptions from @datalayer/core
|
|
92
|
-
const runtimePod = await createRuntime({
|
|
93
|
-
environmentName: config.environmentName,
|
|
94
|
-
creditsLimit: config.creditsLimit,
|
|
95
|
-
type: config.type || 'notebook',
|
|
96
|
-
givenName: config.givenName,
|
|
97
|
-
capabilities: config.capabilities,
|
|
98
|
-
snapshot: config.snapshot,
|
|
99
|
-
});
|
|
100
|
-
set({ status: 'connecting' });
|
|
101
|
-
// Create service manager for the runtime
|
|
102
|
-
const serverSettings = makeDatalayerSettings(runtimePod.ingress, runtimePod.token);
|
|
103
|
-
const serviceManager = new ServiceManager({ serverSettings });
|
|
104
|
-
// Wait for the service manager to be ready
|
|
105
|
-
await serviceManager.ready;
|
|
106
|
-
// Construct URLs
|
|
107
|
-
const jupyterBaseUrl = serverSettings.baseUrl;
|
|
108
|
-
const agentBaseUrl = jupyterBaseUrl.replace('/jupyter/server/', '/agent-runtimes/');
|
|
109
|
-
const connection = {
|
|
110
|
-
podName: runtimePod.pod_name,
|
|
111
|
-
environmentName: runtimePod.environment_name,
|
|
112
|
-
jupyterBaseUrl,
|
|
113
|
-
agentBaseUrl,
|
|
114
|
-
serviceManager,
|
|
115
|
-
status: 'ready',
|
|
116
|
-
};
|
|
117
|
-
set({
|
|
118
|
-
runtime: connection,
|
|
119
|
-
status: 'ready',
|
|
120
|
-
isLaunching: false,
|
|
121
|
-
});
|
|
122
|
-
return connection;
|
|
123
|
-
}
|
|
124
|
-
catch (err) {
|
|
125
|
-
const errorMessage = err instanceof Error ? err.message : 'Failed to launch runtime';
|
|
126
|
-
set({
|
|
127
|
-
status: 'error',
|
|
128
|
-
error: errorMessage,
|
|
129
|
-
isLaunching: false,
|
|
130
|
-
});
|
|
131
|
-
throw err;
|
|
132
|
-
}
|
|
133
|
-
},
|
|
134
|
-
createAgent: async (config = {}) => {
|
|
135
|
-
const { runtime } = get();
|
|
136
|
-
if (!runtime) {
|
|
137
|
-
throw new Error('No runtime connected. Launch or connect to a runtime first.');
|
|
138
|
-
}
|
|
139
|
-
try {
|
|
140
|
-
const agentId = config.name || runtime.podName;
|
|
141
|
-
const agentConnection = await createAgentOnRuntime(runtime.agentBaseUrl, agentId, config);
|
|
142
|
-
set({ agent: agentConnection });
|
|
143
|
-
return agentConnection;
|
|
144
|
-
}
|
|
145
|
-
catch (err) {
|
|
146
|
-
const errorMessage = err instanceof Error ? err.message : 'Failed to create agent';
|
|
147
|
-
set({ error: errorMessage });
|
|
148
|
-
throw err;
|
|
149
|
-
}
|
|
150
|
-
},
|
|
151
|
-
disconnect: () => {
|
|
152
|
-
set({
|
|
153
|
-
runtime: null,
|
|
154
|
-
agent: null,
|
|
155
|
-
status: 'disconnected',
|
|
156
|
-
error: null,
|
|
157
|
-
});
|
|
158
|
-
},
|
|
159
|
-
clearError: () => {
|
|
160
|
-
set({ error: null });
|
|
161
|
-
},
|
|
162
|
-
setError: error => {
|
|
163
|
-
set({ error, status: 'error' });
|
|
164
|
-
},
|
|
165
|
-
reset: () => {
|
|
166
|
-
set(initialState);
|
|
167
|
-
},
|
|
168
|
-
}));
|
|
169
|
-
/**
|
|
170
|
-
* Selector hooks for common use cases.
|
|
171
|
-
*/
|
|
172
|
-
export const useRuntime = () => useRuntimeStore(state => state.runtime);
|
|
173
|
-
export const useAgent = () => useRuntimeStore(state => state.agent);
|
|
174
|
-
export const useRuntimeStatus = () => useRuntimeStore(state => state.status);
|
|
175
|
-
export const useRuntimeError = () => useRuntimeStore(state => state.error);
|
|
176
|
-
export const useIsLaunching = () => useRuntimeStore(state => state.isLaunching);
|
|
177
|
-
/**
|
|
178
|
-
* Get runtime store state without React (for use outside components).
|
|
179
|
-
*/
|
|
180
|
-
export const getRuntimeState = () => useRuntimeStore.getState();
|
|
181
|
-
/**
|
|
182
|
-
* Subscribe to runtime store changes (for use outside React).
|
|
183
|
-
*/
|
|
184
|
-
export const subscribeToRuntime = useRuntimeStore.subscribe;
|