@datalayer/agent-runtimes 1.0.2 → 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 +24 -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 +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 +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 +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/{mocks/agents.js → agents.js} +1144 -799
- package/lib/specs/agents/index.js +14 -9
- 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 -11
- package/lib/specs/mcpServers.js +82 -28
- package/lib/specs/memory.d.ts +34 -0
- package/lib/specs/memory.js +99 -0
- package/lib/specs/models.d.ts +21 -34
- package/lib/specs/models.js +61 -41
- 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 +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} +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 +373 -60
- 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 -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/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
|
|
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>;
|
package/lib/api/evals.js
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Evaluation runs API functions.
|
|
7
|
+
*
|
|
8
|
+
* Provides functions for triggering, listing, and retrieving
|
|
9
|
+
* evaluation reports for agents.
|
|
10
|
+
*
|
|
11
|
+
* @module api/evals
|
|
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
|
+
* Trigger an evaluation run for the specified agent.
|
|
18
|
+
* @param token - Authentication token
|
|
19
|
+
* @param agentId - Agent ID
|
|
20
|
+
* @param request - Eval run request body
|
|
21
|
+
* @param baseUrl - Base URL
|
|
22
|
+
* @returns Promise resolving to the eval report
|
|
23
|
+
*/
|
|
24
|
+
export const runEvals = async (token, agentId, request, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
|
|
25
|
+
validateToken(token);
|
|
26
|
+
return requestDatalayerAPI({
|
|
27
|
+
url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/agents/${encodeURIComponent(agentId)}/evals/run`,
|
|
28
|
+
method: 'POST',
|
|
29
|
+
token,
|
|
30
|
+
body: request,
|
|
31
|
+
});
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* List past evaluation runs for an agent.
|
|
35
|
+
* @param token - Authentication token
|
|
36
|
+
* @param agentId - Agent ID
|
|
37
|
+
* @param baseUrl - Base URL
|
|
38
|
+
* @returns Promise resolving to list of eval reports
|
|
39
|
+
*/
|
|
40
|
+
export const listEvals = async (token, agentId, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
|
|
41
|
+
validateToken(token);
|
|
42
|
+
return requestDatalayerAPI({
|
|
43
|
+
url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/agents/${encodeURIComponent(agentId)}/evals`,
|
|
44
|
+
method: 'GET',
|
|
45
|
+
token,
|
|
46
|
+
});
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* Get a specific evaluation report.
|
|
50
|
+
* @param token - Authentication token
|
|
51
|
+
* @param agentId - Agent ID
|
|
52
|
+
* @param evalId - Eval run ID
|
|
53
|
+
* @param baseUrl - Base URL
|
|
54
|
+
* @returns Promise resolving to the eval report
|
|
55
|
+
*/
|
|
56
|
+
export const getEval = async (token, agentId, evalId, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
|
|
57
|
+
validateToken(token);
|
|
58
|
+
return requestDatalayerAPI({
|
|
59
|
+
url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/agents/${encodeURIComponent(agentId)}/evals/${encodeURIComponent(evalId)}`,
|
|
60
|
+
method: 'GET',
|
|
61
|
+
token,
|
|
62
|
+
});
|
|
63
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { AgentEvent, CreateAgentEventRequest, GetAgentEventResponse, ListAgentEventsParams, ListAgentEventsResponse, UpdateAgentEventRequest } from '../types';
|
|
2
|
+
export declare const createEvent: (token: string, data: CreateAgentEventRequest, baseUrl?: string) => Promise<{
|
|
3
|
+
success: boolean;
|
|
4
|
+
event: AgentEvent;
|
|
5
|
+
}>;
|
|
6
|
+
export declare const listEvents: (token: string, agentId: string, params?: Omit<ListAgentEventsParams, "agent_id">, baseUrl?: string) => Promise<ListAgentEventsResponse>;
|
|
7
|
+
export declare const getEvent: (token: string, agentId: string, eventId: string, baseUrl?: string) => Promise<GetAgentEventResponse>;
|
|
8
|
+
export declare const updateEvent: (token: string, agentId: string, eventId: string, data: UpdateAgentEventRequest, baseUrl?: string) => Promise<GetAgentEventResponse>;
|
|
9
|
+
export declare const deleteEvent: (token: string, agentId: string, eventId: string, baseUrl?: string) => Promise<{
|
|
10
|
+
success: boolean;
|
|
11
|
+
}>;
|
|
12
|
+
export declare const markEventRead: (token: string, agentId: string, eventId: string, baseUrl?: string) => Promise<GetAgentEventResponse>;
|
|
13
|
+
export declare const markEventUnread: (token: string, agentId: string, eventId: string, baseUrl?: string) => Promise<GetAgentEventResponse>;
|
|
14
|
+
/**
|
|
15
|
+
* List events across all agents for the authenticated user.
|
|
16
|
+
*/
|
|
17
|
+
export declare const listAllEvents: (token: string, params?: Omit<ListAgentEventsParams, "agent_id">, baseUrl?: string) => Promise<ListAgentEventsResponse>;
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Agent events API functions.
|
|
7
|
+
*
|
|
8
|
+
* Provides CRUD operations for agent event records.
|
|
9
|
+
*
|
|
10
|
+
* @module api/events
|
|
11
|
+
*/
|
|
12
|
+
import { requestDatalayerAPI } from '@datalayer/core/lib/api/DatalayerApi';
|
|
13
|
+
import { API_BASE_PATHS, DEFAULT_SERVICE_URLS, } from '@datalayer/core/lib/api/constants';
|
|
14
|
+
import { validateToken, validateRequiredString, } from '@datalayer/core/lib/api/utils/validation';
|
|
15
|
+
const toQueryString = (params) => {
|
|
16
|
+
const searchParams = new URLSearchParams();
|
|
17
|
+
Object.entries(params).forEach(([k, v]) => {
|
|
18
|
+
if (v !== undefined && v !== null && v !== '') {
|
|
19
|
+
searchParams.append(k, String(v));
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
const query = searchParams.toString();
|
|
23
|
+
return query ? `?${query}` : '';
|
|
24
|
+
};
|
|
25
|
+
const agentEventsPath = (agentId) => `${API_BASE_PATHS.AI_AGENTS}/agents/${encodeURIComponent(agentId)}/events`;
|
|
26
|
+
export const createEvent = async (token, data, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
|
|
27
|
+
validateToken(token);
|
|
28
|
+
validateRequiredString(data.agent_id, 'agent_id');
|
|
29
|
+
validateRequiredString(data.title, 'title');
|
|
30
|
+
return requestDatalayerAPI({
|
|
31
|
+
url: `${baseUrl}${agentEventsPath(data.agent_id)}`,
|
|
32
|
+
method: 'POST',
|
|
33
|
+
token,
|
|
34
|
+
body: data,
|
|
35
|
+
});
|
|
36
|
+
};
|
|
37
|
+
export const listEvents = async (token, agentId, params = {}, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
|
|
38
|
+
validateToken(token);
|
|
39
|
+
validateRequiredString(agentId, 'agentId');
|
|
40
|
+
return requestDatalayerAPI({
|
|
41
|
+
url: `${baseUrl}${agentEventsPath(agentId)}${toQueryString(params)}`,
|
|
42
|
+
method: 'GET',
|
|
43
|
+
token,
|
|
44
|
+
});
|
|
45
|
+
};
|
|
46
|
+
export const getEvent = async (token, agentId, eventId, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
|
|
47
|
+
validateToken(token);
|
|
48
|
+
validateRequiredString(agentId, 'agentId');
|
|
49
|
+
validateRequiredString(eventId, 'eventId');
|
|
50
|
+
return requestDatalayerAPI({
|
|
51
|
+
url: `${baseUrl}${agentEventsPath(agentId)}/${encodeURIComponent(eventId)}`,
|
|
52
|
+
method: 'GET',
|
|
53
|
+
token,
|
|
54
|
+
});
|
|
55
|
+
};
|
|
56
|
+
export const updateEvent = async (token, agentId, eventId, data, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
|
|
57
|
+
validateToken(token);
|
|
58
|
+
validateRequiredString(agentId, 'agentId');
|
|
59
|
+
validateRequiredString(eventId, 'eventId');
|
|
60
|
+
return requestDatalayerAPI({
|
|
61
|
+
url: `${baseUrl}${agentEventsPath(agentId)}/${encodeURIComponent(eventId)}`,
|
|
62
|
+
method: 'PATCH',
|
|
63
|
+
token,
|
|
64
|
+
body: data,
|
|
65
|
+
});
|
|
66
|
+
};
|
|
67
|
+
export const deleteEvent = async (token, agentId, eventId, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
|
|
68
|
+
validateToken(token);
|
|
69
|
+
validateRequiredString(agentId, 'agentId');
|
|
70
|
+
validateRequiredString(eventId, 'eventId');
|
|
71
|
+
return requestDatalayerAPI({
|
|
72
|
+
url: `${baseUrl}${agentEventsPath(agentId)}/${encodeURIComponent(eventId)}`,
|
|
73
|
+
method: 'DELETE',
|
|
74
|
+
token,
|
|
75
|
+
});
|
|
76
|
+
};
|
|
77
|
+
export const markEventRead = async (token, agentId, eventId, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
|
|
78
|
+
return updateEvent(token, agentId, eventId, { read: true }, baseUrl);
|
|
79
|
+
};
|
|
80
|
+
export const markEventUnread = async (token, agentId, eventId, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
|
|
81
|
+
return updateEvent(token, agentId, eventId, { read: false }, baseUrl);
|
|
82
|
+
};
|
|
83
|
+
/**
|
|
84
|
+
* List events across all agents for the authenticated user.
|
|
85
|
+
*/
|
|
86
|
+
export const listAllEvents = async (token, params = {}, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
|
|
87
|
+
validateToken(token);
|
|
88
|
+
return requestDatalayerAPI({
|
|
89
|
+
url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/events${toQueryString(params)}`,
|
|
90
|
+
method: 'GET',
|
|
91
|
+
token,
|
|
92
|
+
});
|
|
93
|
+
};
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* Simple API request handler.
|
|
7
7
|
* Helper function to make API requests to the Simple server.
|
|
8
8
|
*
|
|
9
|
-
* @module
|
|
9
|
+
* @module api/handler
|
|
10
10
|
*/
|
|
11
11
|
import { URLExt } from '@jupyterlab/coreutils';
|
|
12
12
|
import { ServerConnection } from '@jupyterlab/services';
|