@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/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';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* API client functions for the agents backend.
|
|
3
|
+
*
|
|
4
|
+
* Provides functions to create, list, and manage agents
|
|
5
|
+
* via the agent-runtimes REST API.
|
|
6
|
+
*
|
|
7
|
+
* @module api
|
|
8
|
+
*/
|
|
9
|
+
export * as agents from './agents';
|
|
10
|
+
export * as context from './context';
|
|
11
|
+
export * as evals from './evals';
|
|
12
|
+
export * as events from './events';
|
|
13
|
+
export * as notifications from './notifications';
|
|
14
|
+
export * as output from './output';
|
|
15
|
+
export * as toolApprovals from './tool-approvals';
|
package/lib/api/index.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* API client functions for the agents backend.
|
|
7
|
+
*
|
|
8
|
+
* Provides functions to create, list, and manage agents
|
|
9
|
+
* via the agent-runtimes REST API.
|
|
10
|
+
*
|
|
11
|
+
* @module api
|
|
12
|
+
*/
|
|
13
|
+
// Agents Service API (agents, tool-approvals, notifications, etc.)
|
|
14
|
+
export * as agents from './agents';
|
|
15
|
+
export * as context from './context';
|
|
16
|
+
export * as evals from './evals';
|
|
17
|
+
export * as events from './events';
|
|
18
|
+
export * as notifications from './notifications';
|
|
19
|
+
export * as output from './output';
|
|
20
|
+
export * as toolApprovals from './tool-approvals';
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { AgentNotification, NotificationFilters } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* List agent notifications with optional filters.
|
|
4
|
+
* @param token - Authentication token
|
|
5
|
+
* @param filters - Optional filters (agentId, level, unreadOnly, category, limit, offset)
|
|
6
|
+
* @param baseUrl - Base URL
|
|
7
|
+
* @returns Promise resolving to list of notifications
|
|
8
|
+
*/
|
|
9
|
+
export declare const getNotifications: (token: string, filters?: NotificationFilters, baseUrl?: string) => Promise<AgentNotification[]>;
|
|
10
|
+
/**
|
|
11
|
+
* Get a specific notification by ID.
|
|
12
|
+
* @param token - Authentication token
|
|
13
|
+
* @param id - Notification ID
|
|
14
|
+
* @param baseUrl - Base URL
|
|
15
|
+
*/
|
|
16
|
+
export declare const getNotification: (token: string, id: string, baseUrl?: string) => Promise<AgentNotification>;
|
|
17
|
+
/**
|
|
18
|
+
* Mark a notification as read.
|
|
19
|
+
* @param token - Authentication token
|
|
20
|
+
* @param id - Notification ID
|
|
21
|
+
* @param baseUrl - Base URL
|
|
22
|
+
*/
|
|
23
|
+
export declare const markNotificationRead: (token: string, id: string, baseUrl?: string) => Promise<void>;
|
|
24
|
+
/**
|
|
25
|
+
* Mark all notifications as read.
|
|
26
|
+
* @param token - Authentication token
|
|
27
|
+
* @param agentId - Optional: only for a specific agent
|
|
28
|
+
* @param baseUrl - Base URL
|
|
29
|
+
*/
|
|
30
|
+
export declare const markAllRead: (token: string, agentId?: string, baseUrl?: string) => Promise<void>;
|
|
31
|
+
/**
|
|
32
|
+
* Get count of unread notifications.
|
|
33
|
+
* @param token - Authentication token
|
|
34
|
+
* @param baseUrl - Base URL
|
|
35
|
+
* @returns Promise resolving to unread count
|
|
36
|
+
*/
|
|
37
|
+
export declare const getUnreadCount: (token: string, baseUrl?: string) => Promise<{
|
|
38
|
+
count: number;
|
|
39
|
+
}>;
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Agent notifications API functions.
|
|
7
|
+
*
|
|
8
|
+
* Provides CRUD operations for agent-generated notifications.
|
|
9
|
+
* Agents emit notifications for guardrail events, budget warnings,
|
|
10
|
+
* task completions, and other notable events.
|
|
11
|
+
*
|
|
12
|
+
* @module api/notifications
|
|
13
|
+
*/
|
|
14
|
+
import { requestDatalayerAPI } from '@datalayer/core/lib/api/DatalayerApi';
|
|
15
|
+
import { API_BASE_PATHS, DEFAULT_SERVICE_URLS, } from '@datalayer/core/lib/api/constants';
|
|
16
|
+
import { validateToken } from '@datalayer/core/lib/api/utils/validation';
|
|
17
|
+
/**
|
|
18
|
+
* List agent notifications with optional filters.
|
|
19
|
+
* @param token - Authentication token
|
|
20
|
+
* @param filters - Optional filters (agentId, level, unreadOnly, category, limit, offset)
|
|
21
|
+
* @param baseUrl - Base URL
|
|
22
|
+
* @returns Promise resolving to list of notifications
|
|
23
|
+
*/
|
|
24
|
+
export const getNotifications = async (token, filters, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
|
|
25
|
+
validateToken(token);
|
|
26
|
+
const params = new URLSearchParams();
|
|
27
|
+
if (filters?.agentId)
|
|
28
|
+
params.set('agent_id', filters.agentId);
|
|
29
|
+
if (filters?.level)
|
|
30
|
+
params.set('level', filters.level);
|
|
31
|
+
if (filters?.unreadOnly)
|
|
32
|
+
params.set('unread_only', 'true');
|
|
33
|
+
if (filters?.category)
|
|
34
|
+
params.set('category', filters.category);
|
|
35
|
+
if (filters?.limit)
|
|
36
|
+
params.set('limit', String(filters.limit));
|
|
37
|
+
if (filters?.offset)
|
|
38
|
+
params.set('offset', String(filters.offset));
|
|
39
|
+
const query = params.toString() ? `?${params.toString()}` : '';
|
|
40
|
+
return requestDatalayerAPI({
|
|
41
|
+
url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/notifications${query}`,
|
|
42
|
+
method: 'GET',
|
|
43
|
+
token,
|
|
44
|
+
});
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* Get a specific notification by ID.
|
|
48
|
+
* @param token - Authentication token
|
|
49
|
+
* @param id - Notification ID
|
|
50
|
+
* @param baseUrl - Base URL
|
|
51
|
+
*/
|
|
52
|
+
export const getNotification = async (token, id, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
|
|
53
|
+
validateToken(token);
|
|
54
|
+
return requestDatalayerAPI({
|
|
55
|
+
url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/notifications/${encodeURIComponent(id)}`,
|
|
56
|
+
method: 'GET',
|
|
57
|
+
token,
|
|
58
|
+
});
|
|
59
|
+
};
|
|
60
|
+
/**
|
|
61
|
+
* Mark a notification as read.
|
|
62
|
+
* @param token - Authentication token
|
|
63
|
+
* @param id - Notification ID
|
|
64
|
+
* @param baseUrl - Base URL
|
|
65
|
+
*/
|
|
66
|
+
export const markNotificationRead = async (token, id, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
|
|
67
|
+
validateToken(token);
|
|
68
|
+
await requestDatalayerAPI({
|
|
69
|
+
url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/notifications/${encodeURIComponent(id)}/read`,
|
|
70
|
+
method: 'POST',
|
|
71
|
+
token,
|
|
72
|
+
});
|
|
73
|
+
};
|
|
74
|
+
/**
|
|
75
|
+
* Mark all notifications as read.
|
|
76
|
+
* @param token - Authentication token
|
|
77
|
+
* @param agentId - Optional: only for a specific agent
|
|
78
|
+
* @param baseUrl - Base URL
|
|
79
|
+
*/
|
|
80
|
+
export const markAllRead = async (token, agentId, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
|
|
81
|
+
validateToken(token);
|
|
82
|
+
const body = agentId ? { agent_id: agentId } : {};
|
|
83
|
+
await requestDatalayerAPI({
|
|
84
|
+
url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/notifications/read-all`,
|
|
85
|
+
method: 'POST',
|
|
86
|
+
body,
|
|
87
|
+
token,
|
|
88
|
+
});
|
|
89
|
+
};
|
|
90
|
+
/**
|
|
91
|
+
* Get count of unread notifications.
|
|
92
|
+
* @param token - Authentication token
|
|
93
|
+
* @param baseUrl - Base URL
|
|
94
|
+
* @returns Promise resolving to unread count
|
|
95
|
+
*/
|
|
96
|
+
export const getUnreadCount = async (token, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
|
|
97
|
+
validateToken(token);
|
|
98
|
+
return requestDatalayerAPI({
|
|
99
|
+
url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/notifications/unread/count`,
|
|
100
|
+
method: 'GET',
|
|
101
|
+
token,
|
|
102
|
+
});
|
|
103
|
+
};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { OutputArtifact } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* List output artifacts for an agent.
|
|
4
|
+
* @param token - Authentication token
|
|
5
|
+
* @param agentId - Agent ID
|
|
6
|
+
* @param baseUrl - Base URL
|
|
7
|
+
* @returns Promise resolving to list of output artifacts
|
|
8
|
+
*/
|
|
9
|
+
export declare const getAgentOutputs: (token: string, agentId: string, baseUrl?: string) => Promise<OutputArtifact[]>;
|
|
10
|
+
/**
|
|
11
|
+
* Get a specific output artifact.
|
|
12
|
+
* @param token - Authentication token
|
|
13
|
+
* @param agentId - Agent ID
|
|
14
|
+
* @param artifactId - Artifact ID
|
|
15
|
+
* @param baseUrl - Base URL
|
|
16
|
+
* @returns Promise resolving to artifact details
|
|
17
|
+
*/
|
|
18
|
+
export declare const getAgentOutput: (token: string, agentId: string, artifactId: string, baseUrl?: string) => Promise<OutputArtifact>;
|
|
19
|
+
/**
|
|
20
|
+
* Generate a new output artifact for an agent.
|
|
21
|
+
* @param token - Authentication token
|
|
22
|
+
* @param agentId - Agent ID
|
|
23
|
+
* @param format - Output format (e.g. 'pdf')
|
|
24
|
+
* @param options - Additional generation options
|
|
25
|
+
* @param baseUrl - Base URL
|
|
26
|
+
* @returns Promise resolving to the generated artifact
|
|
27
|
+
*/
|
|
28
|
+
export declare const generateAgentOutput: (token: string, agentId: string, format?: string, options?: Record<string, unknown>, baseUrl?: string) => Promise<OutputArtifact>;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Output artifacts API functions.
|
|
7
|
+
*
|
|
8
|
+
* Provides functions for listing and downloading agent-generated
|
|
9
|
+
* output artifacts (PDFs, reports, etc.).
|
|
10
|
+
*
|
|
11
|
+
* @module api/output
|
|
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 output artifacts for an agent.
|
|
18
|
+
* @param token - Authentication token
|
|
19
|
+
* @param agentId - Agent ID
|
|
20
|
+
* @param baseUrl - Base URL
|
|
21
|
+
* @returns Promise resolving to list of output artifacts
|
|
22
|
+
*/
|
|
23
|
+
export const getAgentOutputs = 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)}/output`,
|
|
27
|
+
method: 'GET',
|
|
28
|
+
token,
|
|
29
|
+
});
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Get a specific output artifact.
|
|
33
|
+
* @param token - Authentication token
|
|
34
|
+
* @param agentId - Agent ID
|
|
35
|
+
* @param artifactId - Artifact ID
|
|
36
|
+
* @param baseUrl - Base URL
|
|
37
|
+
* @returns Promise resolving to artifact details
|
|
38
|
+
*/
|
|
39
|
+
export const getAgentOutput = async (token, agentId, artifactId, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
|
|
40
|
+
validateToken(token);
|
|
41
|
+
return requestDatalayerAPI({
|
|
42
|
+
url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/agents/${encodeURIComponent(agentId)}/output/${encodeURIComponent(artifactId)}`,
|
|
43
|
+
method: 'GET',
|
|
44
|
+
token,
|
|
45
|
+
});
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* Generate a new output artifact for an agent.
|
|
49
|
+
* @param token - Authentication token
|
|
50
|
+
* @param agentId - Agent ID
|
|
51
|
+
* @param format - Output format (e.g. 'pdf')
|
|
52
|
+
* @param options - Additional generation options
|
|
53
|
+
* @param baseUrl - Base URL
|
|
54
|
+
* @returns Promise resolving to the generated artifact
|
|
55
|
+
*/
|
|
56
|
+
export const generateAgentOutput = async (token, agentId, format = 'pdf', options, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
|
|
57
|
+
validateToken(token);
|
|
58
|
+
return requestDatalayerAPI({
|
|
59
|
+
url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/agents/${encodeURIComponent(agentId)}/output/generate`,
|
|
60
|
+
method: 'POST',
|
|
61
|
+
token,
|
|
62
|
+
body: { format, ...options },
|
|
63
|
+
});
|
|
64
|
+
};
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import type { ToolApproval, ToolApprovalFilters } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* List tool approvals with optional filters.
|
|
4
|
+
* @param token - Authentication token
|
|
5
|
+
* @param filters - Optional filters (agentId, status, toolName, limit, offset)
|
|
6
|
+
* @param baseUrl - Base URL
|
|
7
|
+
* @returns Promise resolving to list of tool approvals
|
|
8
|
+
*/
|
|
9
|
+
export declare const getToolApprovals: (token: string, filters?: ToolApprovalFilters, baseUrl?: string) => Promise<ToolApproval[]>;
|
|
10
|
+
/**
|
|
11
|
+
* Get a specific tool approval by ID.
|
|
12
|
+
* @param token - Authentication token
|
|
13
|
+
* @param id - Tool approval ID
|
|
14
|
+
* @param baseUrl - Base URL
|
|
15
|
+
*/
|
|
16
|
+
export declare const getToolApproval: (token: string, id: string, baseUrl?: string) => Promise<ToolApproval>;
|
|
17
|
+
/**
|
|
18
|
+
* Approve a pending tool request.
|
|
19
|
+
* @param token - Authentication token
|
|
20
|
+
* @param id - Tool approval ID
|
|
21
|
+
* @param note - Optional note explaining the approval
|
|
22
|
+
* @param baseUrl - Base URL
|
|
23
|
+
*/
|
|
24
|
+
export declare const approveToolRequest: (token: string, id: string, note?: string, baseUrl?: string) => Promise<void>;
|
|
25
|
+
/**
|
|
26
|
+
* Reject a pending tool request.
|
|
27
|
+
* @param token - Authentication token
|
|
28
|
+
* @param id - Tool approval ID
|
|
29
|
+
* @param note - Optional note explaining the rejection
|
|
30
|
+
* @param baseUrl - Base URL
|
|
31
|
+
*/
|
|
32
|
+
export declare const rejectToolRequest: (token: string, id: string, note?: string, baseUrl?: string) => Promise<void>;
|
|
33
|
+
/**
|
|
34
|
+
* Mark a tool approval as read.
|
|
35
|
+
* @param token - Authentication token
|
|
36
|
+
* @param id - Tool approval ID
|
|
37
|
+
* @param baseUrl - Base URL
|
|
38
|
+
*/
|
|
39
|
+
export declare const markToolApprovalRead: (token: string, id: string, baseUrl?: string) => Promise<void>;
|
|
40
|
+
/**
|
|
41
|
+
* Mark a tool approval as unread.
|
|
42
|
+
* @param token - Authentication token
|
|
43
|
+
* @param id - Tool approval ID
|
|
44
|
+
* @param baseUrl - Base URL
|
|
45
|
+
*/
|
|
46
|
+
export declare const markToolApprovalUnread: (token: string, id: string, baseUrl?: string) => Promise<void>;
|
|
47
|
+
/**
|
|
48
|
+
* Delete a tool approval.
|
|
49
|
+
* @param token - Authentication token
|
|
50
|
+
* @param id - Tool approval ID
|
|
51
|
+
* @param baseUrl - Base URL
|
|
52
|
+
*/
|
|
53
|
+
export declare const deleteToolApproval: (token: string, id: string, baseUrl?: string) => Promise<void>;
|
|
54
|
+
/**
|
|
55
|
+
* Get count of pending tool approvals.
|
|
56
|
+
* @param token - Authentication token
|
|
57
|
+
* @param baseUrl - Base URL
|
|
58
|
+
* @returns Promise resolving to pending count
|
|
59
|
+
*/
|
|
60
|
+
export declare const getPendingApprovalCount: (token: string, baseUrl?: string) => Promise<{
|
|
61
|
+
count: number;
|
|
62
|
+
}>;
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Tool approvals API functions.
|
|
7
|
+
*
|
|
8
|
+
* Provides CRUD operations for agent tool approval requests.
|
|
9
|
+
* When an agent encounters a tool that requires human approval,
|
|
10
|
+
* a ToolApproval record is created that the user can approve or reject.
|
|
11
|
+
*
|
|
12
|
+
* @module api/tool-approvals
|
|
13
|
+
*/
|
|
14
|
+
import { requestDatalayerAPI } from '@datalayer/core/lib/api/DatalayerApi';
|
|
15
|
+
import { API_BASE_PATHS, DEFAULT_SERVICE_URLS, } from '@datalayer/core/lib/api/constants';
|
|
16
|
+
import { validateToken } from '@datalayer/core/lib/api/utils/validation';
|
|
17
|
+
/**
|
|
18
|
+
* List tool approvals with optional filters.
|
|
19
|
+
* @param token - Authentication token
|
|
20
|
+
* @param filters - Optional filters (agentId, status, toolName, limit, offset)
|
|
21
|
+
* @param baseUrl - Base URL
|
|
22
|
+
* @returns Promise resolving to list of tool approvals
|
|
23
|
+
*/
|
|
24
|
+
export const getToolApprovals = async (token, filters, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
|
|
25
|
+
validateToken(token);
|
|
26
|
+
const params = new URLSearchParams();
|
|
27
|
+
if (filters?.agentId)
|
|
28
|
+
params.set('agent_id', filters.agentId);
|
|
29
|
+
if (filters?.status)
|
|
30
|
+
params.set('status', filters.status);
|
|
31
|
+
if (filters?.toolName)
|
|
32
|
+
params.set('tool_name', filters.toolName);
|
|
33
|
+
if (filters?.limit)
|
|
34
|
+
params.set('limit', String(filters.limit));
|
|
35
|
+
if (filters?.offset)
|
|
36
|
+
params.set('offset', String(filters.offset));
|
|
37
|
+
const query = params.toString() ? `?${params.toString()}` : '';
|
|
38
|
+
return requestDatalayerAPI({
|
|
39
|
+
url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/tool-approvals${query}`,
|
|
40
|
+
method: 'GET',
|
|
41
|
+
token,
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* Get a specific tool approval by ID.
|
|
46
|
+
* @param token - Authentication token
|
|
47
|
+
* @param id - Tool approval ID
|
|
48
|
+
* @param baseUrl - Base URL
|
|
49
|
+
*/
|
|
50
|
+
export const getToolApproval = async (token, id, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
|
|
51
|
+
validateToken(token);
|
|
52
|
+
return requestDatalayerAPI({
|
|
53
|
+
url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/tool-approvals/${encodeURIComponent(id)}`,
|
|
54
|
+
method: 'GET',
|
|
55
|
+
token,
|
|
56
|
+
});
|
|
57
|
+
};
|
|
58
|
+
/**
|
|
59
|
+
* Approve a pending tool request.
|
|
60
|
+
* @param token - Authentication token
|
|
61
|
+
* @param id - Tool approval ID
|
|
62
|
+
* @param note - Optional note explaining the approval
|
|
63
|
+
* @param baseUrl - Base URL
|
|
64
|
+
*/
|
|
65
|
+
export const approveToolRequest = async (token, id, note, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
|
|
66
|
+
validateToken(token);
|
|
67
|
+
await requestDatalayerAPI({
|
|
68
|
+
url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/tool-approvals/${encodeURIComponent(id)}/approve`,
|
|
69
|
+
method: 'POST',
|
|
70
|
+
body: { note },
|
|
71
|
+
token,
|
|
72
|
+
});
|
|
73
|
+
};
|
|
74
|
+
/**
|
|
75
|
+
* Reject a pending tool request.
|
|
76
|
+
* @param token - Authentication token
|
|
77
|
+
* @param id - Tool approval ID
|
|
78
|
+
* @param note - Optional note explaining the rejection
|
|
79
|
+
* @param baseUrl - Base URL
|
|
80
|
+
*/
|
|
81
|
+
export const rejectToolRequest = async (token, id, note, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
|
|
82
|
+
validateToken(token);
|
|
83
|
+
await requestDatalayerAPI({
|
|
84
|
+
url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/tool-approvals/${encodeURIComponent(id)}/reject`,
|
|
85
|
+
method: 'POST',
|
|
86
|
+
body: { note },
|
|
87
|
+
token,
|
|
88
|
+
});
|
|
89
|
+
};
|
|
90
|
+
/**
|
|
91
|
+
* Mark a tool approval as read.
|
|
92
|
+
* @param token - Authentication token
|
|
93
|
+
* @param id - Tool approval ID
|
|
94
|
+
* @param baseUrl - Base URL
|
|
95
|
+
*/
|
|
96
|
+
export const markToolApprovalRead = async (token, id, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
|
|
97
|
+
validateToken(token);
|
|
98
|
+
await requestDatalayerAPI({
|
|
99
|
+
url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/tool-approvals/${encodeURIComponent(id)}/mark-read`,
|
|
100
|
+
method: 'POST',
|
|
101
|
+
token,
|
|
102
|
+
});
|
|
103
|
+
};
|
|
104
|
+
/**
|
|
105
|
+
* Mark a tool approval as unread.
|
|
106
|
+
* @param token - Authentication token
|
|
107
|
+
* @param id - Tool approval ID
|
|
108
|
+
* @param baseUrl - Base URL
|
|
109
|
+
*/
|
|
110
|
+
export const markToolApprovalUnread = async (token, id, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
|
|
111
|
+
validateToken(token);
|
|
112
|
+
await requestDatalayerAPI({
|
|
113
|
+
url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/tool-approvals/${encodeURIComponent(id)}/mark-unread`,
|
|
114
|
+
method: 'POST',
|
|
115
|
+
token,
|
|
116
|
+
});
|
|
117
|
+
};
|
|
118
|
+
/**
|
|
119
|
+
* Delete a tool approval.
|
|
120
|
+
* @param token - Authentication token
|
|
121
|
+
* @param id - Tool approval ID
|
|
122
|
+
* @param baseUrl - Base URL
|
|
123
|
+
*/
|
|
124
|
+
export const deleteToolApproval = async (token, id, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
|
|
125
|
+
validateToken(token);
|
|
126
|
+
await requestDatalayerAPI({
|
|
127
|
+
url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/tool-approvals/${encodeURIComponent(id)}`,
|
|
128
|
+
method: 'DELETE',
|
|
129
|
+
token,
|
|
130
|
+
});
|
|
131
|
+
};
|
|
132
|
+
/**
|
|
133
|
+
* Get count of pending tool approvals.
|
|
134
|
+
* @param token - Authentication token
|
|
135
|
+
* @param baseUrl - Base URL
|
|
136
|
+
* @returns Promise resolving to pending count
|
|
137
|
+
*/
|
|
138
|
+
export const getPendingApprovalCount = async (token, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
|
|
139
|
+
validateToken(token);
|
|
140
|
+
return requestDatalayerAPI({
|
|
141
|
+
url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/tool-approvals/pending/count`,
|
|
142
|
+
method: 'GET',
|
|
143
|
+
token,
|
|
144
|
+
});
|
|
145
|
+
};
|