@datalayer/agent-runtimes 1.0.2 → 1.0.4
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 +14 -132
- 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 +26 -15
- 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 +1338 -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 +332 -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 +216 -0
- package/lib/client/AgentsMixin.js +388 -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 +177 -0
- package/lib/components/OutputCard.d.ts +8 -0
- package/lib/components/OutputCard.js +94 -0
- package/lib/components/ToolApprovalCard.d.ts +33 -0
- package/lib/components/ToolApprovalCard.js +78 -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 +500 -0
- package/lib/examples/AgentCodemodeExample.d.ts +14 -0
- package/lib/examples/AgentCodemodeExample.js +256 -0
- package/lib/examples/AgentEvalsExample.d.ts +14 -0
- package/lib/examples/AgentEvalsExample.js +210 -0
- package/lib/examples/AgentGuardrailsExample.d.ts +14 -0
- package/lib/examples/AgentGuardrailsExample.js +212 -0
- package/lib/examples/AgentMemoryExample.d.ts +14 -0
- package/lib/examples/AgentMemoryExample.js +228 -0
- package/lib/examples/AgentMonitoringExample.d.ts +13 -0
- package/lib/examples/AgentMonitoringExample.js +305 -0
- package/lib/examples/AgentNotificationsExample.d.ts +14 -0
- package/lib/examples/AgentNotificationsExample.js +267 -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 +205 -0
- package/lib/examples/AgentSandboxExample.d.ts +17 -0
- package/lib/examples/AgentSandboxExample.js +490 -0
- package/lib/examples/AgentSkillsExample.d.ts +3 -0
- package/lib/examples/AgentSkillsExample.js +284 -0
- package/lib/examples/AgentToolApprovalsExample.d.ts +3 -0
- package/lib/examples/AgentToolApprovalsExample.js +737 -0
- package/lib/examples/AgentTriggersExample.d.ts +14 -0
- package/lib/examples/AgentTriggersExample.js +1090 -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} +6 -14
- 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/ErrorView.d.ts +14 -0
- package/lib/examples/components/ErrorView.js +20 -0
- 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 +3 -0
- package/lib/examples/components/index.js +2 -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 +7 -0
- package/lib/examples/main.js +21 -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 +33 -16
- package/lib/hooks/index.js +33 -16
- 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/{useAgentStore.d.ts → useAgentsCatalog.d.ts} +3 -8
- package/lib/hooks/{useAgentStore.js → useAgentsCatalog.js} +9 -3
- 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 +1 -2
- 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 +33 -7
- package/lib/protocols/VercelAIAdapter.js +748 -0
- package/lib/{components/chat/protocols → protocols}/index.d.ts +1 -2
- package/lib/{components/chat/protocols → protocols}/index.js +1 -1
- package/lib/shims/json5.d.ts +4 -0
- package/lib/shims/json5.js +8 -0
- package/lib/specs/agents/agents.d.ts +54 -0
- package/lib/specs/agents/agents.js +1489 -0
- package/lib/specs/agents/index.js +15 -12
- package/lib/specs/envvars.d.ts +11 -19
- package/lib/specs/envvars.js +52 -38
- package/lib/specs/evals.d.ts +20 -0
- package/lib/specs/evals.js +133 -0
- package/lib/specs/events.d.ts +26 -0
- package/lib/specs/events.js +140 -0
- package/lib/specs/frontendTools.d.ts +14 -0
- package/lib/specs/frontendTools.js +53 -0
- package/lib/specs/guardrails.d.ts +29 -0
- package/lib/specs/guardrails.js +310 -0
- package/lib/specs/index.d.ts +15 -2
- package/lib/specs/index.js +15 -2
- package/lib/specs/mcpServers.d.ts +13 -11
- package/lib/specs/mcpServers.js +75 -50
- package/lib/specs/memory.d.ts +36 -0
- package/lib/specs/memory.js +112 -0
- package/lib/specs/models.d.ts +21 -34
- package/lib/specs/models.js +66 -66
- package/lib/specs/notifications.d.ts +17 -0
- package/lib/specs/notifications.js +103 -0
- package/lib/specs/outputs.d.ts +19 -0
- package/lib/specs/outputs.js +106 -0
- package/lib/specs/skills.d.ts +7 -16
- package/lib/specs/skills.js +95 -18
- package/lib/specs/teams/index.d.ts +17 -0
- package/lib/specs/teams/index.js +35 -0
- package/lib/specs/teams/teams.d.ts +27 -0
- package/lib/specs/teams/teams.js +1000 -0
- package/lib/specs/tools.d.ts +15 -0
- package/lib/specs/tools.js +86 -0
- package/lib/specs/triggers.d.ts +15 -0
- package/lib/specs/triggers.js +67 -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 +1 -1
- package/lib/{components/chat/store → stores}/conversationStore.js +1 -1
- 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} +59 -99
- 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} +61 -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__/versioning.cpython-313.pyc +0 -0
- package/scripts/codegen/generate_agents.py +377 -61
- package/scripts/codegen/generate_envvars.py +36 -35
- package/scripts/codegen/generate_evals.py +279 -0
- package/scripts/codegen/generate_events.py +320 -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 +346 -0
- package/scripts/codegen/generate_triggers.py +295 -0
- package/scripts/codegen/versioning.py +53 -0
- package/style/primer-primitives.css +1 -6
- package/lib/components/chat/components/base/ChatBase.js +0 -2242
- 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/useAgentRuntimes.d.ts +0 -350
- package/lib/hooks/useAgentRuntimes.js +0 -78
- 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 -179
- 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 -378
- 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 -352
- package/lib/specs/agents/datalayer-ai/index.d.ts +0 -1
- package/lib/specs/agents/datalayer-ai/index.js +0 -5
- package/lib/specs/agents/mocks/agents.d.ts +0 -43
- package/lib/specs/agents/mocks/agents.js +0 -2293
- package/lib/specs/agents/mocks/index.d.ts +0 -1
- package/lib/specs/agents/mocks/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 -217
- /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 → mcp}/McpServerManager.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
package/README.md
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
[](https://app.netlify.com/projects/agent-runtimes/deploys)
|
|
15
15
|
[](https://pypi.org/project/agent-runtimes)
|
|
16
16
|
|
|
17
|
-
**Agent Runtimes** is a unified
|
|
17
|
+
**Agent Runtimes** is a unified library for deploying, managing, and interacting with AI agents across multiple protocols and frameworks. It provides both a Python server for hosting agents and React components for seamless integration into web and desktop applications.
|
|
18
18
|
|
|
19
19
|
## What is Agent Runtimes?
|
|
20
20
|
|
|
@@ -30,7 +30,9 @@ Agent Runtimes solves the complexity of deploying AI agents by providing:
|
|
|
30
30
|
|
|
31
31
|
5. **Tool Ecosystem**: Seamless integration with MCP (Model Context Protocol) tools, custom tools, and built-in utilities for Jupyter notebooks and Lexical documents.
|
|
32
32
|
|
|
33
|
-

|
|
33
|
+

|
|
34
|
+
|
|
35
|
+

|
|
34
36
|
|
|
35
37
|
## 🌟 Features
|
|
36
38
|
|
|
@@ -53,133 +55,13 @@ Agent Runtimes solves the complexity of deploying AI agents by providing:
|
|
|
53
55
|
- 💾 **Persistence**: DBOS support for durable execution
|
|
54
56
|
- 🔒 **Context Optimization**: LLM context management
|
|
55
57
|
|
|
56
|
-
##
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
-
|
|
63
|
-
-
|
|
64
|
-
-
|
|
65
|
-
-
|
|
66
|
-
|
|
67
|
-
### 2. React Components (`src/components/`)
|
|
68
|
-
Pre-built UI components for interacting with agents:
|
|
69
|
-
- **ChatBase**: Core chat interface with customizable styling
|
|
70
|
-
- **ChatSidebar**: Collapsible sidebar for agent interactions
|
|
71
|
-
- **ChatFloating**: Floating chat widget for non-intrusive agent access
|
|
72
|
-
- **All components support**: Frontend tool execution, markdown rendering, code highlighting, and real-time streaming
|
|
73
|
-
|
|
74
|
-
### 3. Runtime Management (`src/runtime/`)
|
|
75
|
-
Cloud runtime lifecycle management with Zustand store:
|
|
76
|
-
- **Launch & Connect**: Create new cloud runtimes or connect to existing ones
|
|
77
|
-
- **Agent Creation**: Automatically create and configure agents on runtimes
|
|
78
|
-
- **State Management**: Track runtime status, agent connections, and errors
|
|
79
|
-
- **Hooks**: React hooks for easy integration (`useAgentRuntime`, `useRuntimeStore`)
|
|
80
|
-
|
|
81
|
-
## 🚀 Use Cases
|
|
82
|
-
|
|
83
|
-
### Notebook AI Assistant
|
|
84
|
-
Add an AI agent to Jupyter notebooks that can:
|
|
85
|
-
- Execute cells, insert code, and modify notebook content
|
|
86
|
-
- Explain code and data analysis
|
|
87
|
-
- Debug errors and suggest improvements
|
|
88
|
-
|
|
89
|
-
```tsx
|
|
90
|
-
import { NotebookAgentsRuntime } from '@datalayer/agent-runtimes';
|
|
91
|
-
|
|
92
|
-
<NotebookAgentsRuntime
|
|
93
|
-
notebookId={notebookId}
|
|
94
|
-
environmentName="python-simple"
|
|
95
|
-
runtimeName={runtimeName}
|
|
96
|
-
serviceManager={serviceManager}
|
|
97
|
-
/>
|
|
98
|
-
```
|
|
99
|
-
|
|
100
|
-
### Document Editor AI
|
|
101
|
-
Integrate AI into Lexical-based document editors:
|
|
102
|
-
- Insert headings, lists, code blocks, and formatted text
|
|
103
|
-
- Summarize content and proofread text
|
|
104
|
-
- Generate ideas and help with writing
|
|
105
|
-
|
|
106
|
-
```tsx
|
|
107
|
-
import { DocumentAgentRuntime } from '@datalayer/agent-runtimes';
|
|
108
|
-
|
|
109
|
-
<DocumentAgentRuntime
|
|
110
|
-
documentId={documentId}
|
|
111
|
-
environmentName="python-simple"
|
|
112
|
-
runtimeName={runtimeName}
|
|
113
|
-
serviceManager={serviceManager}
|
|
114
|
-
/>
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
### Custom Agent Deployment
|
|
118
|
-
Deploy your own Pydantic AI agent with custom tools:
|
|
119
|
-
|
|
120
|
-
```python
|
|
121
|
-
from agent_runtimes import AgentRuntimesApp
|
|
122
|
-
from pydantic_ai import Agent
|
|
123
|
-
|
|
124
|
-
# Create your agent
|
|
125
|
-
agent = Agent(
|
|
126
|
-
model='anthropic:claude-sonnet-4-5',
|
|
127
|
-
system_prompt='You are a helpful assistant.',
|
|
128
|
-
)
|
|
129
|
-
|
|
130
|
-
# Launch the server
|
|
131
|
-
app = AgentRuntimesApp()
|
|
132
|
-
app.add_agent(agent, name='my-agent', transport='ag-ui')
|
|
133
|
-
app.run(port=8000)
|
|
134
|
-
```
|
|
135
|
-
|
|
136
|
-
## 🧪 Run the examples
|
|
137
|
-
|
|
138
|
-
Run the Codemode + MCP example UI:
|
|
139
|
-
|
|
140
|
-
```bash
|
|
141
|
-
cd src/ai/agent-runtimes
|
|
142
|
-
EXAMPLE=AgentCodemodeMcpExample npm run dev
|
|
143
|
-
```
|
|
144
|
-
|
|
145
|
-
## 🔧 Key Concepts
|
|
146
|
-
|
|
147
|
-
### Protocols
|
|
148
|
-
Agent Runtimes supports multiple protocols for agent communication:
|
|
149
|
-
|
|
150
|
-
- **AG-UI**: Lightweight protocol for web UIs (POST-based, Pydantic AI native)
|
|
151
|
-
- **ACP**: WebSocket-based Agent Client Protocol for real-time interaction
|
|
152
|
-
- **Vercel AI SDK**: Compatible with Vercel's AI SDK streaming
|
|
153
|
-
- **MCP-UI**: Model Context Protocol with UI resources
|
|
154
|
-
- **A2A**: Agent-to-agent communication protocol
|
|
155
|
-
|
|
156
|
-
### Tools
|
|
157
|
-
Tools extend agent capabilities by allowing them to perform actions:
|
|
158
|
-
|
|
159
|
-
- **Frontend Tools**: Execute in the browser (notebook editing, document manipulation)
|
|
160
|
-
- **MCP Tools**: Tools from Model Context Protocol servers
|
|
161
|
-
- **Custom Tools**: Your own Python functions decorated with tool metadata
|
|
162
|
-
- **Built-in Tools**: File operations, web search, code execution
|
|
163
|
-
- **Code Mode**: Tool discovery includes `output_schema` and `input_examples` for reliable calls; code execution returns `stdout`/`stderr` and a summarized `result`.
|
|
164
|
-
|
|
165
|
-
### Runtime Management
|
|
166
|
-
Cloud runtimes provide compute resources for agents:
|
|
167
|
-
|
|
168
|
-
```typescript
|
|
169
|
-
import { useAgentRuntime } from '@datalayer/agent-runtimes/lib/runtime';
|
|
170
|
-
|
|
171
|
-
const { isReady, endpoint, tools, launchRuntime } = useAgentRuntime({
|
|
172
|
-
autoCreateAgent: true,
|
|
173
|
-
agentConfig: {
|
|
174
|
-
model: 'anthropic:claude-sonnet-4-5',
|
|
175
|
-
systemPrompt: 'You are a helpful AI assistant.',
|
|
176
|
-
},
|
|
177
|
-
});
|
|
178
|
-
|
|
179
|
-
// Launch a new runtime
|
|
180
|
-
await launchRuntime({
|
|
181
|
-
environmentName: 'python-simple',
|
|
182
|
-
creditsLimit: 100,
|
|
183
|
-
type: 'notebook',
|
|
184
|
-
});
|
|
185
|
-
```
|
|
58
|
+
## Documentation
|
|
59
|
+
|
|
60
|
+
The detailed guides for architecture, use cases, interactive chat, key concepts, and runtime configuration are now in Docusaurus docs:
|
|
61
|
+
|
|
62
|
+
- [Agent Runtimes Overview](https://agent-runtimes.datalayer.tech/)
|
|
63
|
+
- [Integrations](https://agent-runtimes.datalayer.tech/integrations)
|
|
64
|
+
- [Chat](https://agent-runtimes.datalayer.tech/chat)
|
|
65
|
+
- [Transports](https://agent-runtimes.datalayer.tech/transports)
|
|
66
|
+
- [Programmatic Tools](https://agent-runtimes.datalayer.tech/programmatic-tools)
|
|
67
|
+
- [CLI](https://agent-runtimes.datalayer.tech/cli)
|
package/lib/Agent.js
CHANGED
|
@@ -26,7 +26,7 @@ import { useEffect, useState } from 'react';
|
|
|
26
26
|
import { Text, Spinner } from '@primer/react';
|
|
27
27
|
import { AlertIcon } from '@primer/octicons-react';
|
|
28
28
|
import { Box, DatalayerThemeProvider, setupPrimerPortals, } from '@datalayer/primer-addons';
|
|
29
|
-
import { Chat } from './
|
|
29
|
+
import { Chat } from './chat';
|
|
30
30
|
import { DEFAULT_MODEL } from './specs';
|
|
31
31
|
import '../style/primer-primitives.css';
|
|
32
32
|
setupPrimerPortals();
|
|
@@ -116,7 +116,7 @@ export const Agent = () => {
|
|
|
116
116
|
}, children: [_jsx(AlertIcon, { size: 48 }), _jsx(Text, { sx: { color: 'danger.fg', fontSize: 2 }, children: "Failed to connect to agent" }), _jsx(Text, { sx: { color: 'fg.muted', fontSize: 1 }, children: error })] }) }));
|
|
117
117
|
}
|
|
118
118
|
// Agent is ready — render the Chat component
|
|
119
|
-
return (_jsx(DatalayerThemeProvider, { children: _jsx(Chat, {
|
|
119
|
+
return (_jsx(DatalayerThemeProvider, { children: _jsx(Chat, { protocol: "ag-ui", baseUrl: BASE_URL, agentId: agentId, title: "Agent", placeholder: "Send a message...", description: "Chat with the agent", showHeader: true, height: '100vh', showModelSelector: true, showToolsMenu: true, showSkillsMenu: true, showTokenUsage: true, showInformation: true, autoFocus: true, runtimeId: agentId, historyEndpoint: `${BASE_URL}/api/v1/history`, suggestions: [
|
|
120
120
|
{
|
|
121
121
|
title: 'Hello',
|
|
122
122
|
message: 'Hello, what can you do?',
|
package/lib/AgentLexical.d.ts
CHANGED
|
@@ -13,18 +13,7 @@
|
|
|
13
13
|
* - jupyterBaseUrl: base URL for the Jupyter server (optional, falls back to jupyter-config-data)
|
|
14
14
|
* - jupyterToken: token for the Jupyter server (optional, falls back to jupyter-config-data)
|
|
15
15
|
*/
|
|
16
|
-
import '
|
|
17
|
-
import 'prismjs/components/prism-clike';
|
|
18
|
-
import 'prismjs/components/prism-javascript';
|
|
19
|
-
import 'prismjs/components/prism-markup';
|
|
20
|
-
import 'prismjs/components/prism-markdown';
|
|
21
|
-
import 'prismjs/components/prism-c';
|
|
22
|
-
import 'prismjs/components/prism-css';
|
|
23
|
-
import 'prismjs/components/prism-objectivec';
|
|
24
|
-
import 'prismjs/components/prism-sql';
|
|
25
|
-
import 'prismjs/components/prism-python';
|
|
26
|
-
import 'prismjs/components/prism-rust';
|
|
27
|
-
import 'prismjs/components/prism-swift';
|
|
16
|
+
import '@datalayer/jupyter-react/lib/css/PrismCss';
|
|
28
17
|
import React from 'react';
|
|
29
18
|
import '@datalayer/jupyter-lexical/style/index.css';
|
|
30
19
|
import './examples/lexical/lexical-theme.css';
|
package/lib/AgentLexical.js
CHANGED
|
@@ -18,18 +18,7 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
|
|
|
18
18
|
* - jupyterBaseUrl: base URL for the Jupyter server (optional, falls back to jupyter-config-data)
|
|
19
19
|
* - jupyterToken: token for the Jupyter server (optional, falls back to jupyter-config-data)
|
|
20
20
|
*/
|
|
21
|
-
import '
|
|
22
|
-
import 'prismjs/components/prism-clike';
|
|
23
|
-
import 'prismjs/components/prism-javascript';
|
|
24
|
-
import 'prismjs/components/prism-markup';
|
|
25
|
-
import 'prismjs/components/prism-markdown';
|
|
26
|
-
import 'prismjs/components/prism-c';
|
|
27
|
-
import 'prismjs/components/prism-css';
|
|
28
|
-
import 'prismjs/components/prism-objectivec';
|
|
29
|
-
import 'prismjs/components/prism-sql';
|
|
30
|
-
import 'prismjs/components/prism-python';
|
|
31
|
-
import 'prismjs/components/prism-rust';
|
|
32
|
-
import 'prismjs/components/prism-swift';
|
|
21
|
+
import '@datalayer/jupyter-react/lib/css/PrismCss';
|
|
33
22
|
import React, { useCallback, useEffect, useRef, useState } from 'react';
|
|
34
23
|
import { $getRoot, $createParagraphNode } from 'lexical';
|
|
35
24
|
import { LexicalComposer } from '@lexical/react/LexicalComposer';
|
|
@@ -52,7 +41,7 @@ import { Box, DatalayerThemeProvider, setupPrimerPortals, } from '@datalayer/pri
|
|
|
52
41
|
import { JupyterReactTheme, loadJupyterConfig, createServerSettings, getJupyterServerUrl, getJupyterServerToken, setJupyterServerUrl, setJupyterServerToken, useJupyter, } from '@datalayer/jupyter-react';
|
|
53
42
|
import { ComponentPickerMenuPlugin, JupyterCellPlugin, JupyterInputOutputPlugin, DraggableBlockPlugin, ImagesPlugin, HorizontalRulePlugin, EquationsPlugin, YouTubePlugin, ExcalidrawPlugin, CollapsiblePlugin, AutoLinkPlugin, AutoEmbedPlugin, LexicalConfigProvider, LexicalStatePlugin, FloatingTextFormatToolbarPlugin, CodeActionMenuPlugin, ListMaxIndentLevelPlugin, TableCellResizerPlugin, TablePlugin, } from '@datalayer/jupyter-lexical';
|
|
54
43
|
import { ServiceManager } from '@jupyterlab/services';
|
|
55
|
-
import { Chat } from './
|
|
44
|
+
import { Chat } from './chat';
|
|
56
45
|
import { ChatInlinePlugin } from './lexical/ChatInlinePlugin';
|
|
57
46
|
import { useChatInlineToolbarItems } from './lexical/useChatInlineToolbarItems';
|
|
58
47
|
import { useLexicalTools } from './tools/adapters/agent-runtimes/lexicalHooks';
|
|
@@ -187,7 +176,7 @@ const ChatPanel = ({ agentId, tools }) => {
|
|
|
187
176
|
display: 'flex',
|
|
188
177
|
flexDirection: 'column',
|
|
189
178
|
overflow: 'hidden',
|
|
190
|
-
}, children: _jsx(Chat, {
|
|
179
|
+
}, children: _jsx(Chat, { protocol: "ag-ui", baseUrl: BASE_URL, agentId: agentId, title: "Agent Lexical", placeholder: "Ask about the document...", description: "Chat with the agent to manipulate the document", showHeader: true, height: "100vh", showModelSelector: true, showToolsMenu: true, showSkillsMenu: true, showTokenUsage: true, showInformation: true, frontendTools: tools, autoFocus: true, runtimeId: agentId, historyEndpoint: `${BASE_URL}/api/v1/history`, suggestions: [
|
|
191
180
|
{
|
|
192
181
|
title: 'Insert heading',
|
|
193
182
|
message: 'Insert a heading that says "Welcome"',
|
package/lib/AgentNotebook.js
CHANGED
|
@@ -24,10 +24,10 @@ import { AlertIcon } from '@primer/octicons-react';
|
|
|
24
24
|
import { Box, DatalayerThemeProvider, setupPrimerPortals, } from '@datalayer/primer-addons';
|
|
25
25
|
import { Notebook, JupyterReactTheme, loadJupyterConfig, createServerSettings, getJupyterServerUrl, getJupyterServerToken, setJupyterServerUrl, setJupyterServerToken, } from '@datalayer/jupyter-react';
|
|
26
26
|
import { ServiceManager } from '@jupyterlab/services';
|
|
27
|
-
import { Chat } from './
|
|
27
|
+
import { Chat } from './chat';
|
|
28
28
|
import { useNotebookTools } from './tools/adapters/agent-runtimes/notebookHooks';
|
|
29
29
|
import { DEFAULT_MODEL } from './specs';
|
|
30
|
-
import MatplotlibNotebook from './examples/
|
|
30
|
+
import MatplotlibNotebook from './examples/utils/notebooks/Matplotlib.ipynb.json';
|
|
31
31
|
import '../style/primer-primitives.css';
|
|
32
32
|
setupPrimerPortals();
|
|
33
33
|
const BASE_URL = window.location.origin;
|
|
@@ -88,7 +88,7 @@ const ChatPanel = ({ agentId }) => {
|
|
|
88
88
|
display: 'flex',
|
|
89
89
|
flexDirection: 'column',
|
|
90
90
|
overflow: 'hidden',
|
|
91
|
-
}, children: _jsx(Chat, {
|
|
91
|
+
}, children: _jsx(Chat, { protocol: "ag-ui", baseUrl: BASE_URL, agentId: agentId, title: "Agent Notebook", placeholder: "Ask about the notebook...", description: "Chat with the agent to manipulate the notebook", showHeader: true, height: "100vh", showModelSelector: true, showToolsMenu: true, showSkillsMenu: true, showTokenUsage: true, showInformation: true, frontendTools: notebookTools, autoFocus: true, runtimeId: agentId, historyEndpoint: `${BASE_URL}/api/v1/history`, suggestions: [
|
|
92
92
|
{
|
|
93
93
|
title: 'Add a cell',
|
|
94
94
|
message: 'Insert a new code cell into the notebook',
|
package/lib/App.js
CHANGED
|
@@ -4,8 +4,8 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
4
4
|
* Distributed under the terms of the Modified BSD License.
|
|
5
5
|
*/
|
|
6
6
|
import { useJupyter, JupyterReactTheme } from '@datalayer/jupyter-react';
|
|
7
|
-
import { JupyterCellExample } from './examples/
|
|
8
|
-
import { JupyterNotebookExample } from './examples/
|
|
7
|
+
import { JupyterCellExample } from './examples/CellSimpleExample';
|
|
8
|
+
import { JupyterNotebookExample } from './examples/NotebookSimpleExample';
|
|
9
9
|
import './App.css';
|
|
10
10
|
export function App() {
|
|
11
11
|
const { serviceManager } = useJupyter({
|
|
@@ -1,7 +1,16 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* AgentDetails component - Shows detailed information about the agent
|
|
3
|
+
* including name, protocol, URL, message count, and context details.
|
|
4
|
+
*/
|
|
5
|
+
import type { ReactNode } from 'react';
|
|
6
|
+
import type { OAuthProvider, OAuthProviderConfig, Identity } from '../identity';
|
|
2
7
|
export interface AgentDetailsProps {
|
|
3
8
|
/** Agent name/title */
|
|
4
9
|
name?: string;
|
|
10
|
+
/** Custom icon node (e.g. an Octicon component) shown instead of the default icon */
|
|
11
|
+
icon?: ReactNode;
|
|
12
|
+
/** Emoji from the agent spec (displayed instead of the default icon) */
|
|
13
|
+
emoji?: string;
|
|
5
14
|
/** Protocol being used */
|
|
6
15
|
protocol: string;
|
|
7
16
|
/** Endpoint URL */
|
|
@@ -28,9 +37,11 @@ export interface AgentDetailsProps {
|
|
|
28
37
|
onBack: () => void;
|
|
29
38
|
/** Whether to show the header with back button (default: true) */
|
|
30
39
|
showBackHeader?: boolean;
|
|
40
|
+
/** Whether to show context usage/history and context snapshot sections (default: true) */
|
|
41
|
+
showUsage?: boolean;
|
|
31
42
|
}
|
|
32
43
|
/**
|
|
33
44
|
* AgentDetails component displays comprehensive information about the agent.
|
|
34
45
|
*/
|
|
35
|
-
export declare function AgentDetails({ name, protocol, url, messageCount, agentId, apiBase, identityProviders, onIdentityConnect, onIdentityDisconnect, onBack, showBackHeader, }: AgentDetailsProps): import("react/jsx-runtime").JSX.Element;
|
|
46
|
+
export declare function AgentDetails({ name, icon, emoji, protocol, url, messageCount, agentId, apiBase, identityProviders, onIdentityConnect, onIdentityDisconnect, onBack, showBackHeader, showUsage, }: AgentDetailsProps): import("react/jsx-runtime").JSX.Element;
|
|
36
47
|
export default AgentDetails;
|
|
@@ -1,18 +1,12 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
// Copyright (c) 2025-2026 Datalayer, Inc.
|
|
3
|
-
// Distributed under the terms of the Modified BSD License.
|
|
4
|
-
/**
|
|
5
|
-
* AgentDetails component - Shows detailed information about the agent
|
|
6
|
-
* including name, protocol, URL, message count, and context details.
|
|
7
|
-
*/
|
|
8
2
|
import { ArrowLeftIcon, CheckCircleIcon, XCircleIcon, CodeIcon, BriefcaseIcon, DownloadIcon, NoteIcon, ServerIcon, } from '@primer/octicons-react';
|
|
9
3
|
import { Button, Heading, IconButton, Text, Label, Spinner, ToggleSwitch, } from '@primer/react';
|
|
10
4
|
import { Box } from '@datalayer/primer-addons';
|
|
11
5
|
import { AiAgentIcon } from '@datalayer/icons-react';
|
|
12
6
|
import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';
|
|
13
|
-
import { ContextPanel } from '
|
|
14
|
-
import { ContextInspector } from '
|
|
15
|
-
import { AgentIdentity } from '
|
|
7
|
+
import { ContextPanel } from '../context/ContextPanel';
|
|
8
|
+
import { ContextInspector, } from '../context/ContextInspector';
|
|
9
|
+
import { AgentIdentity } from '../identity/AgentIdentity';
|
|
16
10
|
/**
|
|
17
11
|
* Get the API base URL for fetching data.
|
|
18
12
|
* If apiBase prop is provided, use it.
|
|
@@ -171,7 +165,7 @@ async function downloadContextSnapshotAsCSV(agentId, apiBase) {
|
|
|
171
165
|
/**
|
|
172
166
|
* AgentDetails component displays comprehensive information about the agent.
|
|
173
167
|
*/
|
|
174
|
-
export function AgentDetails({ name = 'AI Agent', protocol, url, messageCount, agentId, apiBase, identityProviders, onIdentityConnect, onIdentityDisconnect, onBack, showBackHeader = true, }) {
|
|
168
|
+
export function AgentDetails({ name = 'AI Agent', icon, emoji, protocol, url, messageCount, agentId, apiBase, identityProviders, onIdentityConnect, onIdentityDisconnect, onBack, showBackHeader = true, showUsage = true, }) {
|
|
175
169
|
const queryClient = useQueryClient();
|
|
176
170
|
// Fetch MCP toolsets status
|
|
177
171
|
const { data: mcpStatus, isLoading: mcpLoading } = useQuery({
|
|
@@ -259,7 +253,7 @@ export function AgentDetails({ name = 'AI Agent', protocol, url, messageCount, a
|
|
|
259
253
|
p: 2,
|
|
260
254
|
bg: 'accent.subtle',
|
|
261
255
|
borderRadius: 2,
|
|
262
|
-
}, children: _jsx(AiAgentIcon, { colored: true, size: 32 }) }), _jsxs(Box, { sx: { flex: 1 }, children: [_jsx(Heading, { as: "h3", sx: { fontSize: 2, fontWeight: 'semibold', mb: 1 }, children: name }), agentId && (_jsxs(Text, { sx: { fontSize: 0, color: 'fg.muted' }, children: ["ID: ", agentId] }))] })] }), _jsxs(Box, { children: [_jsx(Heading, { as: "h4", sx: {
|
|
256
|
+
}, children: icon ? (_jsx(Box, { sx: { display: 'inline-flex', color: 'accent.fg' }, children: icon })) : emoji ? (_jsx(Text, { sx: { fontSize: 5, lineHeight: 1 }, children: emoji })) : (_jsx(AiAgentIcon, { colored: true, size: 32 })) }), _jsxs(Box, { sx: { flex: 1 }, children: [_jsx(Heading, { as: "h3", sx: { fontSize: 2, fontWeight: 'semibold', mb: 1 }, children: name }), agentId && (_jsxs(Text, { sx: { fontSize: 0, color: 'fg.muted' }, children: ["ID: ", agentId] }))] })] }), _jsxs(Box, { children: [_jsx(Heading, { as: "h4", sx: {
|
|
263
257
|
fontSize: 1,
|
|
264
258
|
fontWeight: 'semibold',
|
|
265
259
|
mb: 2,
|
|
@@ -579,7 +573,7 @@ export function AgentDetails({ name = 'AI Agent', protocol, url, messageCount, a
|
|
|
579
573
|
gap: 1,
|
|
580
574
|
flexWrap: 'wrap',
|
|
581
575
|
mt: 1,
|
|
582
|
-
}, children: codemodeStatus.available_skills.map(skill => (_jsx(Label, { variant: "secondary", size: "small", children: skill.name }, skill.name))) })] })), codemodeStatus.available_skills.length === 0 && (_jsx(Text, { sx: { fontSize: 0, color: 'fg.muted' }, children: "No skills available. Add skills to the skills/ directory." }))] })) : (_jsx(Text, { sx: { fontSize: 1, color: 'fg.muted' }, children: "Failed to load Codemode status" })) })] }), agentId && (_jsx(ContextPanel, { agentId: agentId, apiBase: apiBase, messageCount: messageCount, chartHeight: "200px" })), agentId && (_jsxs(Box, { sx: { mt: 3 }, children: [_jsxs(Box, { sx: {
|
|
576
|
+
}, children: codemodeStatus.available_skills.map(skill => (_jsx(Label, { variant: "secondary", size: "small", children: skill.name }, skill.name))) })] })), codemodeStatus.available_skills.length === 0 && (_jsx(Text, { sx: { fontSize: 0, color: 'fg.muted' }, children: "No skills available. Add skills to the skills/ directory." }))] })) : (_jsx(Text, { sx: { fontSize: 1, color: 'fg.muted' }, children: "Failed to load Codemode status" })) })] }), showUsage && agentId && (_jsx(ContextPanel, { agentId: agentId, apiBase: apiBase, messageCount: messageCount, chartHeight: "200px" })), showUsage && agentId && (_jsxs(Box, { sx: { mt: 3 }, children: [_jsxs(Box, { sx: {
|
|
583
577
|
display: 'flex',
|
|
584
578
|
alignItems: 'center',
|
|
585
579
|
justifyContent: 'space-between',
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { RunningAgent, AgentUsageSummary, ConversationCheckpoint } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* List all running agents across runtimes.
|
|
4
|
+
* @param token - Authentication token
|
|
5
|
+
* @param baseUrl - Base URL for the AI Agents API
|
|
6
|
+
* @returns Promise resolving to list of running agents
|
|
7
|
+
*/
|
|
8
|
+
export declare const getRunningAgents: (token: string, baseUrl?: string) => Promise<RunningAgent[]>;
|
|
9
|
+
/**
|
|
10
|
+
* Get detailed status for a specific agent.
|
|
11
|
+
* @param token - Authentication token
|
|
12
|
+
* @param podName - Pod name hosting the agent
|
|
13
|
+
* @param agentId - Agent ID within the pod (optional, defaults to primary)
|
|
14
|
+
* @param baseUrl - Base URL
|
|
15
|
+
* @returns Promise resolving to agent status
|
|
16
|
+
*/
|
|
17
|
+
export declare const getAgentStatus: (token: string, podName: string, agentId?: string, baseUrl?: string) => Promise<RunningAgent>;
|
|
18
|
+
/**
|
|
19
|
+
* Pause a running agent (light checkpoint by default, CRIU optional).
|
|
20
|
+
* @param token - Authentication token
|
|
21
|
+
* @param podName - Pod name
|
|
22
|
+
* @param baseUrl - Base URL
|
|
23
|
+
*/
|
|
24
|
+
export declare const pauseAgent: (token: string, podName: string, baseUrl?: string) => Promise<void>;
|
|
25
|
+
/**
|
|
26
|
+
* Resume a paused/checkpointed agent.
|
|
27
|
+
* @param token - Authentication token
|
|
28
|
+
* @param podName - Pod name
|
|
29
|
+
* @param baseUrl - Base URL
|
|
30
|
+
*/
|
|
31
|
+
export declare const resumeAgent: (token: string, podName: string, baseUrl?: string) => Promise<void>;
|
|
32
|
+
/**
|
|
33
|
+
* Get conversation checkpoints for an agent.
|
|
34
|
+
* @param token - Authentication token
|
|
35
|
+
* @param podName - Pod name
|
|
36
|
+
* @param agentId - Agent ID
|
|
37
|
+
* @param baseUrl - Base URL
|
|
38
|
+
*/
|
|
39
|
+
export declare const getAgentCheckpoints: (token: string, podName: string, agentId?: string, baseUrl?: string) => Promise<ConversationCheckpoint[]>;
|
|
40
|
+
/**
|
|
41
|
+
* Get usage summary for an agent.
|
|
42
|
+
* @param token - Authentication token
|
|
43
|
+
* @param podName - Pod name
|
|
44
|
+
* @param agentId - Agent ID
|
|
45
|
+
* @param baseUrl - Base URL
|
|
46
|
+
*/
|
|
47
|
+
export declare const getAgentUsage: (token: string, podName: string, agentId?: string, baseUrl?: string) => Promise<AgentUsageSummary>;
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Running agents API functions.
|
|
7
|
+
*
|
|
8
|
+
* Provides functions for listing, inspecting, pausing, and resuming
|
|
9
|
+
* durable agents across runtimes.
|
|
10
|
+
*
|
|
11
|
+
* @module api/agents
|
|
12
|
+
*/
|
|
13
|
+
import { requestDatalayerAPI } from '@datalayer/core/lib/api/DatalayerApi';
|
|
14
|
+
import { API_BASE_PATHS, DEFAULT_SERVICE_URLS, } from '@datalayer/core/lib/api/constants';
|
|
15
|
+
import { validateToken } from '@datalayer/core/lib/api/utils/validation';
|
|
16
|
+
/**
|
|
17
|
+
* List all running agents across runtimes.
|
|
18
|
+
* @param token - Authentication token
|
|
19
|
+
* @param baseUrl - Base URL for the AI Agents API
|
|
20
|
+
* @returns Promise resolving to list of running agents
|
|
21
|
+
*/
|
|
22
|
+
export const getRunningAgents = async (token, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
|
|
23
|
+
validateToken(token);
|
|
24
|
+
return requestDatalayerAPI({
|
|
25
|
+
url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/agents`,
|
|
26
|
+
method: 'GET',
|
|
27
|
+
token,
|
|
28
|
+
});
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Get detailed status for a specific agent.
|
|
32
|
+
* @param token - Authentication token
|
|
33
|
+
* @param podName - Pod name hosting the agent
|
|
34
|
+
* @param agentId - Agent ID within the pod (optional, defaults to primary)
|
|
35
|
+
* @param baseUrl - Base URL
|
|
36
|
+
* @returns Promise resolving to agent status
|
|
37
|
+
*/
|
|
38
|
+
export const getAgentStatus = async (token, podName, agentId, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
|
|
39
|
+
validateToken(token);
|
|
40
|
+
const query = agentId ? `?agent_id=${encodeURIComponent(agentId)}` : '';
|
|
41
|
+
return requestDatalayerAPI({
|
|
42
|
+
url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/agents/${encodeURIComponent(podName)}${query}`,
|
|
43
|
+
method: 'GET',
|
|
44
|
+
token,
|
|
45
|
+
});
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* Pause a running agent (light checkpoint by default, CRIU optional).
|
|
49
|
+
* @param token - Authentication token
|
|
50
|
+
* @param podName - Pod name
|
|
51
|
+
* @param baseUrl - Base URL
|
|
52
|
+
*/
|
|
53
|
+
export const pauseAgent = async (token, podName, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
|
|
54
|
+
validateToken(token);
|
|
55
|
+
await requestDatalayerAPI({
|
|
56
|
+
url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/agents/${encodeURIComponent(podName)}/pause`,
|
|
57
|
+
method: 'POST',
|
|
58
|
+
token,
|
|
59
|
+
});
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* Resume a paused/checkpointed agent.
|
|
63
|
+
* @param token - Authentication token
|
|
64
|
+
* @param podName - Pod name
|
|
65
|
+
* @param baseUrl - Base URL
|
|
66
|
+
*/
|
|
67
|
+
export const resumeAgent = async (token, podName, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
|
|
68
|
+
validateToken(token);
|
|
69
|
+
await requestDatalayerAPI({
|
|
70
|
+
url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/agents/${encodeURIComponent(podName)}/resume`,
|
|
71
|
+
method: 'POST',
|
|
72
|
+
token,
|
|
73
|
+
});
|
|
74
|
+
};
|
|
75
|
+
/**
|
|
76
|
+
* Get conversation checkpoints for an agent.
|
|
77
|
+
* @param token - Authentication token
|
|
78
|
+
* @param podName - Pod name
|
|
79
|
+
* @param agentId - Agent ID
|
|
80
|
+
* @param baseUrl - Base URL
|
|
81
|
+
*/
|
|
82
|
+
export const getAgentCheckpoints = async (token, podName, agentId, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
|
|
83
|
+
validateToken(token);
|
|
84
|
+
const query = agentId ? `?agent_id=${encodeURIComponent(agentId)}` : '';
|
|
85
|
+
return requestDatalayerAPI({
|
|
86
|
+
url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/agents/${encodeURIComponent(podName)}/checkpoints${query}`,
|
|
87
|
+
method: 'GET',
|
|
88
|
+
token,
|
|
89
|
+
});
|
|
90
|
+
};
|
|
91
|
+
/**
|
|
92
|
+
* Get usage summary for an agent.
|
|
93
|
+
* @param token - Authentication token
|
|
94
|
+
* @param podName - Pod name
|
|
95
|
+
* @param agentId - Agent ID
|
|
96
|
+
* @param baseUrl - Base URL
|
|
97
|
+
*/
|
|
98
|
+
export const getAgentUsage = async (token, podName, agentId, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
|
|
99
|
+
validateToken(token);
|
|
100
|
+
const query = agentId ? `?agent_id=${encodeURIComponent(agentId)}` : '';
|
|
101
|
+
return requestDatalayerAPI({
|
|
102
|
+
url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/agents/${encodeURIComponent(podName)}/usage${query}`,
|
|
103
|
+
method: 'GET',
|
|
104
|
+
token,
|
|
105
|
+
});
|
|
106
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { ContextUsage, CostUsage } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Get current context window usage for an agent.
|
|
4
|
+
* @param token - Authentication token
|
|
5
|
+
* @param agentId - Agent ID
|
|
6
|
+
* @param baseUrl - Base URL
|
|
7
|
+
* @returns Promise resolving to context usage data
|
|
8
|
+
*/
|
|
9
|
+
export declare const getContextUsage: (token: string, agentId: string, baseUrl?: string) => Promise<ContextUsage>;
|
|
10
|
+
/**
|
|
11
|
+
* Get cost/usage tracking data for an agent.
|
|
12
|
+
* @param token - Authentication token
|
|
13
|
+
* @param agentId - Agent ID
|
|
14
|
+
* @param baseUrl - Base URL
|
|
15
|
+
* @returns Promise resolving to cost usage data
|
|
16
|
+
*/
|
|
17
|
+
export declare const getCostUsage: (token: string, agentId: string, baseUrl?: string) => Promise<CostUsage>;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Context usage API functions.
|
|
7
|
+
*
|
|
8
|
+
* Provides functions for retrieving real-time context window
|
|
9
|
+
* usage and cost tracking data for agents.
|
|
10
|
+
*
|
|
11
|
+
* @module api/context
|
|
12
|
+
*/
|
|
13
|
+
import { requestDatalayerAPI } from '@datalayer/core/lib/api/DatalayerApi';
|
|
14
|
+
import { API_BASE_PATHS, DEFAULT_SERVICE_URLS, } from '@datalayer/core/lib/api/constants';
|
|
15
|
+
import { validateToken } from '@datalayer/core/lib/api/utils/validation';
|
|
16
|
+
/**
|
|
17
|
+
* Get current context window usage for an agent.
|
|
18
|
+
* @param token - Authentication token
|
|
19
|
+
* @param agentId - Agent ID
|
|
20
|
+
* @param baseUrl - Base URL
|
|
21
|
+
* @returns Promise resolving to context usage data
|
|
22
|
+
*/
|
|
23
|
+
export const getContextUsage = async (token, agentId, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
|
|
24
|
+
validateToken(token);
|
|
25
|
+
return requestDatalayerAPI({
|
|
26
|
+
url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/agents/${encodeURIComponent(agentId)}/context-usage`,
|
|
27
|
+
method: 'GET',
|
|
28
|
+
token,
|
|
29
|
+
});
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Get cost/usage tracking data for an agent.
|
|
33
|
+
* @param token - Authentication token
|
|
34
|
+
* @param agentId - Agent ID
|
|
35
|
+
* @param baseUrl - Base URL
|
|
36
|
+
* @returns Promise resolving to cost usage data
|
|
37
|
+
*/
|
|
38
|
+
export const getCostUsage = async (token, agentId, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
|
|
39
|
+
validateToken(token);
|
|
40
|
+
return requestDatalayerAPI({
|
|
41
|
+
url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/agents/${encodeURIComponent(agentId)}/cost-usage`,
|
|
42
|
+
method: 'GET',
|
|
43
|
+
token,
|
|
44
|
+
});
|
|
45
|
+
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { EvalReport, RunEvalsRequest } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Trigger an evaluation run for the specified agent.
|
|
4
|
+
* @param token - Authentication token
|
|
5
|
+
* @param agentId - Agent ID
|
|
6
|
+
* @param request - Eval run request body
|
|
7
|
+
* @param baseUrl - Base URL
|
|
8
|
+
* @returns Promise resolving to the eval report
|
|
9
|
+
*/
|
|
10
|
+
export declare const runEvals: (token: string, agentId: string, request: RunEvalsRequest, baseUrl?: string) => Promise<EvalReport>;
|
|
11
|
+
/**
|
|
12
|
+
* List past evaluation runs for an agent.
|
|
13
|
+
* @param token - Authentication token
|
|
14
|
+
* @param agentId - Agent ID
|
|
15
|
+
* @param baseUrl - Base URL
|
|
16
|
+
* @returns Promise resolving to list of eval reports
|
|
17
|
+
*/
|
|
18
|
+
export declare const listEvals: (token: string, agentId: string, baseUrl?: string) => Promise<EvalReport[]>;
|
|
19
|
+
/**
|
|
20
|
+
* Get a specific evaluation report.
|
|
21
|
+
* @param token - Authentication token
|
|
22
|
+
* @param agentId - Agent ID
|
|
23
|
+
* @param evalId - Eval run ID
|
|
24
|
+
* @param baseUrl - Base URL
|
|
25
|
+
* @returns Promise resolving to the eval report
|
|
26
|
+
*/
|
|
27
|
+
export declare const getEval: (token: string, agentId: string, evalId: string, baseUrl?: string) => Promise<EvalReport>;
|