@datalayer/agent-runtimes 1.0.29 → 1.3.10
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/lib/AgentDocument.js +5 -22
- package/lib/AgentNode.d.ts +1 -1
- package/lib/AgentNode.js +193 -23
- package/lib/AgentNotebook.js +1 -1
- package/lib/App.d.ts +1 -1
- package/lib/AppExamples2.d.ts +1 -1
- package/lib/agent-node/AgentNodeGallery.d.ts +14 -1
- package/lib/agent-node/AgentNodeGallery.js +19 -15
- package/lib/agent-node/themeStore.js +7 -6
- package/lib/agents/AgentDetails.d.ts +8 -2
- package/lib/agents/AgentDetails.js +41 -11
- package/lib/agents/AgentRuntimeChat.d.ts +3 -3
- package/lib/agents/AgentRuntimeChat.js +15 -15
- package/lib/api/agents.d.ts +10 -10
- package/lib/api/agents.js +15 -15
- package/lib/api/checkpoints.d.ts +40 -0
- package/lib/api/checkpoints.js +75 -0
- package/lib/api/index.d.ts +1 -0
- package/lib/api/index.js +2 -1
- package/lib/api/notifications.d.ts +21 -6
- package/lib/api/notifications.js +32 -14
- package/lib/api/runtimes/environments.d.ts +385 -4
- package/lib/api/runtimes/environments.js +610 -9
- package/lib/api/runtimes/runtimes.d.ts +19 -19
- package/lib/api/runtimes/runtimes.js +47 -46
- package/lib/api/spacer/notebooks.js +1 -1
- package/lib/chat/Chat.d.ts +16 -4
- package/lib/chat/Chat.js +18 -5
- package/lib/chat/ChatFloating.d.ts +13 -2
- package/lib/chat/ChatFloating.js +192 -117
- package/lib/chat/ChatInline.d.ts +15 -0
- package/lib/chat/ChatInline.js +0 -18
- package/lib/chat/ChatPopupStandalone.d.ts +1 -1
- package/lib/chat/ChatSidebar.d.ts +14 -2
- package/lib/chat/ChatSidebar.js +1 -1
- package/lib/chat/ChatStandalone.d.ts +1 -1
- package/lib/chat/EphemeralSurfaceControl.d.ts +30 -0
- package/lib/chat/EphemeralSurfaceControl.js +55 -0
- package/lib/chat/base/ChatAvailability.d.ts +34 -0
- package/lib/chat/base/ChatAvailability.js +18 -0
- package/lib/chat/base/ChatBase.d.ts +2 -1
- package/lib/chat/base/ChatBase.js +657 -28
- package/lib/chat/display/EmptyState.d.ts +15 -1
- package/lib/chat/display/EmptyState.js +78 -12
- package/lib/chat/display/FloatingBrandButton.d.ts +1 -1
- package/lib/chat/display/PoweredByTag.d.ts +1 -1
- package/lib/chat/display/groupSuggestions.d.ts +21 -0
- package/lib/chat/display/groupSuggestions.js +18 -0
- package/lib/chat/document/EphemeralDocument.d.ts +70 -6
- package/lib/chat/document/EphemeralDocument.js +154 -52
- package/lib/chat/header/ChatHeader.d.ts +1 -1
- package/lib/chat/header/ChatHeaderBase.d.ts +10 -1
- package/lib/chat/header/ChatHeaderBase.js +67 -96
- package/lib/chat/index.d.ts +4 -1
- package/lib/chat/index.js +8 -1
- package/lib/chat/indicators/McpStatusIndicator.d.ts +1 -1
- package/lib/chat/indicators/SandboxStatusIndicator.d.ts +1 -1
- package/lib/chat/indicators/SandboxStatusIndicator.js +1 -1
- package/lib/chat/indicators/SkillsStatusIndicator.d.ts +1 -1
- package/lib/chat/messages/ChatMessageList.d.ts +22 -1
- package/lib/chat/messages/ChatMessageList.js +370 -166
- package/lib/chat/messages/ChatMessages.d.ts +1 -1
- package/lib/chat/messages/NotebookToolSurfaces.d.ts +68 -0
- package/lib/chat/messages/NotebookToolSurfaces.js +302 -0
- package/lib/chat/messages/TurnFooter.d.ts +42 -0
- package/lib/chat/messages/TurnFooter.js +75 -0
- package/lib/chat/messages/assistantMarkdown.d.ts +22 -0
- package/lib/chat/messages/assistantMarkdown.js +56 -0
- package/lib/chat/notebook/EphemeralNotebook.d.ts +67 -6
- package/lib/chat/notebook/EphemeralNotebook.js +194 -61
- package/lib/chat/parts/DynamicToolPart.d.ts +1 -1
- package/lib/chat/parts/MessagePart.d.ts +1 -1
- package/lib/chat/parts/ReasoningPart.d.ts +8 -1
- package/lib/chat/parts/TextPart.d.ts +1 -1
- package/lib/chat/parts/ToolPart.d.ts +8 -1
- package/lib/chat/prompt/FloatingCard.d.ts +26 -0
- package/lib/chat/prompt/FloatingCard.js +80 -0
- package/lib/chat/prompt/InputPrompt.d.ts +206 -53
- package/lib/chat/prompt/InputPrompt.js +161 -80
- package/lib/chat/prompt/InputPromptBase.d.ts +112 -0
- package/lib/chat/prompt/InputPromptBase.js +225 -0
- package/lib/chat/prompt/InputPromptLexical.d.ts +18 -1
- package/lib/chat/prompt/InputPromptLexical.js +227 -30
- package/lib/chat/prompt/InputPromptText.d.ts +10 -2
- package/lib/chat/prompt/InputPromptText.js +35 -3
- package/lib/chat/prompt/footer/BelowPromptFooter.d.ts +25 -0
- package/lib/chat/prompt/footer/BelowPromptFooter.js +12 -0
- package/lib/chat/prompt/footer/InPromptFooter.d.ts +35 -0
- package/lib/chat/prompt/footer/InPromptFooter.js +16 -0
- package/lib/chat/prompt/footer/index.d.ts +7 -0
- package/lib/chat/prompt/footer/index.js +11 -0
- package/lib/chat/prompt/header/BelowPromptHeader.d.ts +23 -0
- package/lib/chat/prompt/header/BelowPromptHeader.js +12 -0
- package/lib/chat/prompt/header/InPromptHeader.d.ts +31 -0
- package/lib/chat/prompt/header/InPromptHeader.js +14 -0
- package/lib/chat/prompt/header/index.d.ts +7 -0
- package/lib/chat/prompt/header/index.js +11 -0
- package/lib/chat/prompt/index.d.ts +8 -4
- package/lib/chat/prompt/index.js +15 -3
- package/lib/chat/prompt/menus/AgentsMenu.d.ts +14 -0
- package/lib/chat/prompt/menus/AgentsMenu.js +42 -0
- package/lib/chat/prompt/menus/InlineAgentsMenu.d.ts +22 -0
- package/lib/chat/prompt/menus/InlineAgentsMenu.js +24 -0
- package/lib/chat/prompt/menus/ModelSelector.d.ts +7 -0
- package/lib/chat/prompt/menus/ModelSelector.js +27 -0
- package/lib/chat/prompt/menus/SkillsMenu.d.ts +10 -0
- package/lib/chat/prompt/menus/SkillsMenu.js +75 -0
- package/lib/chat/prompt/menus/SuggestionsMenu.d.ts +13 -0
- package/lib/chat/prompt/menus/SuggestionsMenu.js +31 -0
- package/lib/chat/prompt/menus/ToolsMenu.d.ts +13 -0
- package/lib/chat/prompt/menus/ToolsMenu.js +103 -0
- package/lib/chat/prompt/menus/index.d.ts +15 -0
- package/lib/chat/prompt/menus/index.js +19 -0
- package/lib/chat/prompt/plugins/AgentMentionPlugin.d.ts +54 -0
- package/lib/chat/prompt/plugins/AgentMentionPlugin.js +370 -0
- package/lib/chat/prompt/plugins/CommandPlugin.d.ts +52 -0
- package/lib/chat/prompt/plugins/CommandPlugin.js +359 -0
- package/lib/chat/prompt/plugins/MentionChip.d.ts +15 -0
- package/lib/chat/prompt/plugins/MentionChip.js +24 -0
- package/lib/chat/prompt/plugins/MentionNode.d.ts +66 -0
- package/lib/chat/prompt/plugins/MentionNode.js +77 -0
- package/lib/chat/prompt/promptHistory.d.ts +52 -0
- package/lib/chat/prompt/promptHistory.js +123 -0
- package/lib/chat/prompt/stack.d.ts +81 -0
- package/lib/chat/prompt/stack.js +41 -0
- package/lib/chat/prompt/useTypingPlaceholder.d.ts +52 -0
- package/lib/chat/prompt/useTypingPlaceholder.js +180 -0
- package/lib/chat/tools/A2AAgentDialog.d.ts +60 -0
- package/lib/chat/tools/A2AAgentDialog.js +265 -0
- package/lib/chat/tools/ToolApprovalBanner.d.ts +1 -1
- package/lib/chat/tools/ToolApprovalDialog.d.ts +1 -1
- package/lib/chat/tools/ToolCallDisplay.d.ts +8 -1
- package/lib/chat/tools/index.d.ts +1 -0
- package/lib/chat/tools/index.js +1 -0
- package/lib/chat/usage/ContextPie.d.ts +17 -0
- package/lib/chat/usage/{TokenUsageBar.js → ContextPie.js} +20 -14
- package/lib/chat/useViewportDrag.d.ts +11 -0
- package/lib/chat/useViewportDrag.js +61 -0
- package/lib/chat/viewModes.d.ts +51 -0
- package/lib/chat/viewModes.js +57 -0
- package/lib/client/AgentRuntimesClient.d.ts +10 -9
- package/lib/client/AgentRuntimesClient.js +1 -1
- package/lib/client/AgentRuntimesClientContext.d.ts +1 -0
- package/lib/client/AgentsMixin.d.ts +12 -12
- package/lib/client/AgentsMixin.js +31 -31
- package/lib/client/IAgentRuntimesClient.d.ts +10 -10
- package/lib/client/SdkAgentRuntimesClient.d.ts +10 -10
- package/lib/client/SdkAgentRuntimesClient.js +10 -10
- package/lib/client/mixins/RuntimesMixin.d.ts +37 -10
- package/lib/client/mixins/RuntimesMixin.js +54 -21
- package/lib/components/a2ui/A2uiSurfaceComposed.d.ts +1 -1
- package/lib/components/agents/AgentSummary.d.ts +13 -0
- package/lib/components/agents/AgentSummary.js +21 -4
- package/lib/components/cards/NotificationEventCard.d.ts +1 -1
- package/lib/components/cards/OutputCard.d.ts +1 -1
- package/lib/components/cards/ToolApprovalCard.d.ts +2 -2
- package/lib/components/cards/ToolApprovalCard.js +1 -0
- package/lib/components/code-sandboxes/CodeSandboxCellVariables.d.ts +1 -0
- package/lib/components/code-sandboxes/CodeSandboxCellVariables.js +0 -4
- package/lib/components/code-sandboxes/CodeSandboxCellVariablesDialog.d.ts +1 -0
- package/lib/components/code-sandboxes/CodeSandboxCellVariablesDialog.js +0 -4
- package/lib/components/code-sandboxes/CodeSandboxEnvironmentSelect.d.ts +35 -0
- package/lib/components/code-sandboxes/CodeSandboxEnvironmentSelect.js +27 -29
- package/lib/components/code-sandboxes/CodeSandboxLauncher.d.ts +1 -0
- package/lib/components/code-sandboxes/CodeSandboxLauncher.js +42 -19
- package/lib/components/code-sandboxes/CodeSandboxNames.js +7 -6
- package/lib/components/code-sandboxes/CodeSandboxPicker.js +89 -42
- package/lib/components/code-sandboxes/CodeSandboxPickerCell.d.ts +1 -0
- package/lib/components/code-sandboxes/CodeSandboxPickerCell.js +0 -4
- package/lib/components/code-sandboxes/CodeSandboxReservationControl.d.ts +1 -0
- package/lib/components/code-sandboxes/CodeSandboxReservationControl.js +5 -7
- package/lib/components/code-sandboxes/CodeSandboxTransfer.d.ts +5 -0
- package/lib/components/code-sandboxes/CodeSandboxUtils.d.ts +13 -1
- package/lib/components/code-sandboxes/CodeSandboxUtils.js +10 -4
- package/lib/components/code-sandboxes/NewCodeSandboxControls.d.ts +21 -15
- package/lib/components/code-sandboxes/NewCodeSandboxControls.js +28 -51
- package/lib/components/code-sandboxes/codeSandboxAllowance.d.ts +33 -0
- package/lib/components/code-sandboxes/codeSandboxAllowance.js +37 -0
- package/lib/components/code-sandboxes/codeSandboxEnvironments.d.ts +86 -0
- package/lib/components/code-sandboxes/codeSandboxEnvironments.js +147 -0
- package/lib/components/code-sandboxes/codeSandboxProviders.js +14 -5
- package/lib/components/code-sandboxes/index.d.ts +1 -0
- package/lib/components/code-sandboxes/index.js +1 -0
- package/lib/components/context/SpaceSelect.d.ts +1 -1
- package/lib/components/flashes/FlashDisclaimer.d.ts +1 -1
- package/lib/components/icons/ArtifactIcon.d.ts +1 -0
- package/lib/components/nbgrader/NbGradesDetails.d.ts +1 -1
- package/lib/components/progress/CreditsIndicator.d.ts +1 -0
- package/lib/components/progress/CreditsIndicator.js +0 -4
- package/lib/components/scheduler/ScheduleMenu.d.ts +1 -1
- package/lib/components/snapshots/SandboxSnapshotMenu.d.ts +3 -2
- package/lib/components/snapshots/SandboxSnapshotMenu.js +11 -15
- package/lib/components/snippets/SnippetDialog.d.ts +1 -0
- package/lib/components/snippets/SnippetDialog.js +0 -4
- package/lib/components/specs/SpecPayloadPreview.d.ts +34 -0
- package/lib/components/specs/SpecPayloadPreview.js +102 -0
- package/lib/components/tokens/SpaceVariantToken.d.ts +1 -1
- package/lib/context/ContextDistribution.d.ts +1 -1
- package/lib/context/ContextInspector.d.ts +2 -1
- package/lib/context/ContextPanel.d.ts +1 -1
- package/lib/context/ContextUsage.d.ts +1 -1
- package/lib/context/CostTracker.d.ts +1 -1
- package/lib/context/CostUsageChart.d.ts +1 -1
- package/lib/context/CostUsageChart.js +4 -4
- package/lib/context/MessageHistory.d.ts +3 -2
- package/lib/context/TokenUsageChart.d.ts +1 -1
- package/lib/context/TokenUsageChart.js +4 -4
- package/lib/examples/A2UiAgentExample.js +15 -6
- package/lib/examples/A2UiComponentsGalleryExample.d.ts +10 -0
- package/lib/examples/A2UiComponentsGalleryExample.js +24 -855
- package/lib/examples/A2UiContactCardExample.d.ts +10 -0
- package/lib/examples/A2UiContactCardExample.js +23 -170
- package/lib/examples/A2UiJupyterOutputExample.d.ts +3 -0
- package/lib/examples/A2UiJupyterOutputExample.js +792 -0
- package/lib/examples/A2UiRestaurantExample.d.ts +10 -0
- package/lib/examples/A2UiRestaurantExample.js +24 -179
- package/lib/examples/A2UiViewerExample.d.ts +10 -0
- package/lib/examples/A2UiViewerExample.js +24 -378
- package/lib/examples/AgUiAgenticExample.js +2 -4
- package/lib/examples/AgUiBackendToolRenderingExample.js +3 -5
- package/lib/examples/AgUiHaikuGenUiExample.js +2 -4
- package/lib/examples/AgUiHumanInTheLoopExample.js +2 -4
- package/lib/examples/AgUiSharedStateExample.js +2 -4
- package/lib/examples/AgUiToolsBasedGenUiExample.js +2 -4
- package/lib/examples/AgentA2AExample.d.ts +17 -0
- package/lib/examples/AgentA2AExample.js +56 -0
- package/lib/examples/AgentCheckpointsExample.d.ts +9 -10
- package/lib/examples/AgentCheckpointsExample.js +72 -54
- package/lib/examples/AgentCodeSandboxExample.d.ts +7 -7
- package/lib/examples/AgentCodeSandboxExample.js +93 -303
- package/lib/examples/AgentCodeSandboxesExample.d.ts +10 -0
- package/lib/examples/AgentCodeSandboxesExample.js +56 -162
- package/lib/examples/AgentCodemodeExample.d.ts +7 -2
- package/lib/examples/AgentCodemodeExample.js +60 -125
- package/lib/examples/AgentCompactionExample.js +19 -135
- package/lib/examples/AgentEvalsExample.js +34 -66
- package/lib/examples/AgentGuardrailsExample.js +64 -112
- package/lib/examples/AgentHooksExample.d.ts +11 -0
- package/lib/examples/AgentHooksExample.js +30 -67
- package/lib/examples/AgentInferenceProviderExample.js +8 -32
- package/lib/examples/AgentLoopExample.d.ts +4 -2
- package/lib/examples/AgentLoopExample.js +45 -93
- package/lib/examples/AgentMCPExample.js +30 -79
- package/lib/examples/AgentMemoryExample.js +21 -64
- package/lib/examples/AgentMonitoringExample.js +33 -94
- package/lib/examples/AgentNotificationsExample.js +56 -95
- package/lib/examples/AgentOtelExample.js +35 -88
- package/lib/examples/AgentOutputsExample.d.ts +2 -1
- package/lib/examples/AgentOutputsExample.js +16 -137
- package/lib/examples/AgentParametersExample.js +7 -17
- package/lib/examples/AgentSkillsExample.js +40 -154
- package/lib/examples/AgentSubagentsExample.d.ts +7 -6
- package/lib/examples/AgentSubagentsExample.js +80 -191
- package/lib/examples/AgentToolApprovalsExample.js +35 -91
- package/lib/examples/AgentTriggersExample.js +43 -59
- package/lib/examples/AgentspecsExample.js +4 -4
- package/lib/examples/CellExample.d.ts +1 -1
- package/lib/examples/ChatExample.d.ts +12 -5
- package/lib/examples/ChatExample.js +38 -13
- package/lib/examples/CopilotKitLexicalExample.d.ts +1 -0
- package/lib/examples/CopilotKitLexicalExample.js +4 -41
- package/lib/examples/CopilotKitNotebookExample.d.ts +10 -0
- package/lib/examples/CopilotKitNotebookExample.js +2 -14
- package/lib/examples/DecksAgent.d.ts +21 -0
- package/lib/examples/DecksAgent.js +23 -0
- package/lib/examples/DocumentPageAgent.d.ts +19 -0
- package/lib/examples/DocumentPageAgent.js +15 -0
- package/lib/examples/Lexical2Example.d.ts +2 -2
- package/lib/examples/Lexical2Example.js +17 -38
- package/lib/examples/LexicalAgentExample.d.ts +2 -1
- package/lib/examples/LexicalAgentExample.js +29 -102
- package/lib/examples/LexicalAgentSidebarExample.d.ts +16 -5
- package/lib/examples/LexicalAgentSidebarExample.js +99 -131
- package/lib/examples/LoopShellExample.d.ts +38 -0
- package/lib/examples/LoopShellExample.js +68 -0
- package/lib/examples/LoopWorkspaceEmbed.d.ts +50 -0
- package/lib/examples/LoopWorkspaceEmbed.js +73 -0
- package/lib/examples/LoopWorkspaceExample.d.ts +150 -0
- package/lib/examples/LoopWorkspaceExample.js +151 -0
- package/lib/examples/NotebookAgentExample.d.ts +13 -0
- package/lib/examples/NotebookAgentExample.js +36 -86
- package/lib/examples/NotebookAgentSidebarExample.d.ts +10 -4
- package/lib/examples/NotebookAgentSidebarExample.js +39 -83
- package/lib/examples/NotebookCollaborationExample.d.ts +1 -1
- package/lib/examples/NotebookCollaborationExample.js +108 -20
- package/lib/examples/NotebookExample.d.ts +1 -1
- package/lib/examples/NotebookExample.js +20 -10
- package/lib/examples/NotebookPageAgent.d.ts +23 -0
- package/lib/examples/NotebookPageAgent.js +17 -0
- package/lib/examples/components/ExampleWrapper.d.ts +5 -0
- package/lib/examples/components/ExampleWrapper.js +36 -28
- package/lib/examples/components/LexicalEditor.d.ts +1 -1
- package/lib/examples/components/LexicalEditor.js +4 -24
- package/lib/examples/components/haiku/HaikuDisplay.d.ts +1 -1
- package/lib/examples/components/haiku/InlineHaikuCard.d.ts +1 -1
- package/lib/examples/components/weather/InlineWeatherCard.d.ts +1 -1
- package/lib/examples/example-selector.js +26 -6
- package/lib/examples/hooks/useCreateAgentOnce.d.ts +41 -0
- package/lib/examples/hooks/useCreateAgentOnce.js +51 -0
- package/lib/examples/hooks/useExampleAgentProtocol.d.ts +35 -0
- package/lib/examples/hooks/useExampleAgentProtocol.js +63 -0
- package/lib/examples/hooks/useExampleAgentRuntime.d.ts +16 -16
- package/lib/examples/hooks/useExampleAgentRuntime.js +26 -25
- package/lib/examples/hooks/useExampleAgentRuntimes.js +45 -61
- package/lib/examples/hooks/useExampleJupyterAgent.d.ts +91 -0
- package/lib/examples/hooks/useExampleJupyterAgent.js +151 -0
- package/lib/examples/index.d.ts +4 -0
- package/lib/examples/index.js +6 -0
- package/lib/examples/lexical/editorConfig.d.ts +2 -75
- package/lib/examples/lexical/editorConfig.js +26 -48
- package/lib/examples/lexical/lexical-theme.css +65 -47
- package/lib/examples/main.js +450 -322
- package/lib/examples/scenes/A2UiComponentsGalleryScene.d.ts +3 -0
- package/lib/examples/scenes/A2UiComponentsGalleryScene.js +872 -0
- package/lib/examples/scenes/A2UiContactCardScene.d.ts +3 -0
- package/lib/examples/scenes/A2UiContactCardScene.js +188 -0
- package/lib/examples/scenes/A2UiRestaurantScene.d.ts +3 -0
- package/lib/examples/scenes/A2UiRestaurantScene.js +196 -0
- package/lib/examples/scenes/A2UiViewerScene.d.ts +3 -0
- package/lib/examples/scenes/A2UiViewerScene.js +395 -0
- package/lib/examples/utils/agentSummaryStore.d.ts +7 -1
- package/lib/examples/utils/agents/earthquake-detector.ipynb.json +1 -1
- package/lib/examples/utils/agents/earthquake-detector.lexical.json +1 -1
- package/lib/examples/utils/agents/sales-forecaster.ipynb.json +1 -1
- package/lib/examples/utils/agents/sales-forecaster.lexical.json +1 -1
- package/lib/examples/utils/agents/social-post-generator.ipynb.json +1 -1
- package/lib/examples/utils/agents/social-post-generator.lexical.json +1 -1
- package/lib/examples/utils/exampleSurfaces.d.ts +31 -0
- package/lib/examples/utils/exampleSurfaces.js +38 -0
- package/lib/examples/utils/jupyterSandboxUrl.d.ts +27 -0
- package/lib/examples/utils/jupyterSandboxUrl.js +55 -0
- package/lib/examples/utils/localUrl.d.ts +2 -0
- package/lib/examples/utils/localUrl.js +49 -0
- package/lib/examples/utils/notebookToolbarItems.d.ts +46 -0
- package/lib/examples/utils/notebookToolbarItems.js +129 -0
- package/lib/examples/utils/runtimeTargetStore.d.ts +40 -1
- package/lib/examples/utils/runtimeTargetStore.js +82 -1
- package/lib/examples/utils/themedProvider.d.ts +7 -0
- package/lib/examples/utils/themedProvider.js +57 -4
- package/lib/examples/utils/useExampleAgentRuntimesUrl.js +30 -5
- package/lib/examples/utils/waitForAgent.d.ts +23 -0
- package/lib/examples/utils/waitForAgent.js +24 -0
- package/lib/examples2/CellExample.d.ts +1 -1
- package/lib/examples2/DatalayerNotebookExample.d.ts +1 -1
- package/lib/examples2/NotebookExample.d.ts +1 -1
- package/lib/examples2/NotebookMutationsKernel.d.ts +1 -1
- package/lib/examples2/NotebookMutationsServiceManager.d.ts +1 -1
- package/lib/examples2/main.js +24 -4
- package/lib/extensions/A2UIExtension.d.ts +1 -1
- package/lib/hooks/index.d.ts +8 -5
- package/lib/hooks/index.js +20 -5
- package/lib/hooks/useAgentRuntimes.d.ts +49 -22
- package/lib/hooks/useAgentRuntimes.js +214 -90
- package/lib/hooks/useAgentsCatalog.js +32 -4
- package/lib/hooks/useBrowserAgent.d.ts +26 -0
- package/lib/hooks/useBrowserAgent.js +75 -0
- package/lib/hooks/useBrowserInference.d.ts +27 -0
- package/lib/hooks/useBrowserInference.js +67 -0
- package/lib/hooks/useCheckpoints.d.ts +8 -17
- package/lib/hooks/useCheckpoints.js +25 -59
- package/lib/hooks/useConfig.d.ts +1 -1
- package/lib/hooks/useConfig.js +5 -1
- package/lib/hooks/useContextSnapshot.d.ts +18 -7
- package/lib/hooks/useContextSnapshot.js +14 -10
- package/lib/hooks/useNotifications.d.ts +11 -11
- package/lib/hooks/useNotifications.js +1 -1
- package/lib/hooks/useProjects.d.ts +7 -19
- package/lib/hooks/useProjects.js +5 -5
- package/lib/hooks/useSkills.d.ts +0 -1
- package/lib/hooks/useSkills.js +6 -2
- package/lib/hooks/useToolApprovals.d.ts +8 -8
- package/lib/hooks/useToolApprovals.js +3 -3
- package/lib/identity/AgentIdentity.d.ts +9 -2
- package/lib/index.d.ts +1 -0
- package/lib/index.js +4 -0
- package/lib/jupyter/index.d.ts +2 -1
- package/lib/jupyter/index.js +2 -1
- package/lib/jupyter/serverExecution.d.ts +78 -0
- package/lib/jupyter/serverExecution.js +258 -0
- package/lib/jupyter/useResumeServerExecutions.d.ts +11 -0
- package/lib/jupyter/useResumeServerExecutions.js +64 -0
- package/lib/lexical/ChatInlinePlugin.d.ts +33 -0
- package/lib/lexical/ChatInlinePlugin.js +0 -36
- package/lib/loop/core/focusRequests.d.ts +10 -0
- package/lib/loop/core/focusRequests.js +46 -0
- package/lib/loop/core/index.d.ts +894 -0
- package/lib/loop/core/index.js +264 -0
- package/lib/loop/core/promptStore.d.ts +44 -0
- package/lib/loop/core/promptStore.js +63 -0
- package/lib/loop/core/surfaceRequests.d.ts +33 -0
- package/lib/loop/core/surfaceRequests.js +29 -0
- package/lib/loop/core/toolbar.d.ts +28 -0
- package/lib/loop/core/toolbar.js +59 -0
- package/lib/loop/embed/LoopEmbed.d.ts +57 -0
- package/lib/loop/embed/LoopEmbed.js +118 -0
- package/lib/loop/extensions.d.ts +10 -0
- package/lib/loop/extensions.js +49 -0
- package/lib/loop/index.d.ts +68 -0
- package/lib/loop/index.js +87 -0
- package/lib/loop/plugins/a2a-sidebar/A2ASidebar.d.ts +48 -0
- package/lib/loop/plugins/a2a-sidebar/A2ASidebar.js +190 -0
- package/lib/loop/plugins/a2a-sidebar/index.d.ts +5 -0
- package/lib/loop/plugins/a2a-sidebar/index.js +39 -0
- package/lib/loop/plugins/a2ui/A2uiView.d.ts +12 -0
- package/lib/loop/plugins/a2ui/A2uiView.js +97 -0
- package/lib/loop/plugins/a2ui/index.d.ts +3 -0
- package/lib/loop/plugins/a2ui/index.js +50 -0
- package/lib/loop/plugins/a2ui-scene/index.d.ts +36 -0
- package/lib/loop/plugins/a2ui-scene/index.js +28 -0
- package/lib/loop/plugins/agent-a2a/index.d.ts +3 -0
- package/lib/loop/plugins/agent-a2a/index.js +26 -0
- package/lib/loop/plugins/agent-a2ui/index.d.ts +3 -0
- package/lib/loop/plugins/agent-a2ui/index.js +42 -0
- package/lib/loop/plugins/agent-a2ui-jupyter-output/index.d.ts +3 -0
- package/lib/loop/plugins/agent-a2ui-jupyter-output/index.js +53 -0
- package/lib/loop/plugins/agent-capacity/index.d.ts +39 -0
- package/lib/loop/plugins/agent-capacity/index.js +52 -0
- package/lib/loop/plugins/agent-checkpoints/index.d.ts +3 -0
- package/lib/loop/plugins/agent-checkpoints/index.js +26 -0
- package/lib/loop/plugins/agent-code-sandbox/index.d.ts +3 -0
- package/lib/loop/plugins/agent-code-sandbox/index.js +24 -0
- package/lib/loop/plugins/agent-code-sandboxes/index.d.ts +13 -0
- package/lib/loop/plugins/agent-code-sandboxes/index.js +85 -0
- package/lib/loop/plugins/agent-codemode/index.d.ts +5 -0
- package/lib/loop/plugins/agent-codemode/index.js +41 -0
- package/lib/loop/plugins/agent-compaction/index.d.ts +10 -0
- package/lib/loop/plugins/agent-compaction/index.js +34 -0
- package/lib/loop/plugins/agent-evals/index.d.ts +3 -0
- package/lib/loop/plugins/agent-evals/index.js +25 -0
- package/lib/loop/plugins/agent-guardrails/index.d.ts +3 -0
- package/lib/loop/plugins/agent-guardrails/index.js +25 -0
- package/lib/loop/plugins/agent-hooks/index.d.ts +3 -0
- package/lib/loop/plugins/agent-hooks/index.js +28 -0
- package/lib/loop/plugins/agent-inference/index.d.ts +7 -0
- package/lib/loop/plugins/agent-inference/index.js +29 -0
- package/lib/loop/plugins/agent-mcp/index.d.ts +3 -0
- package/lib/loop/plugins/agent-mcp/index.js +25 -0
- package/lib/loop/plugins/agent-memory/index.d.ts +3 -0
- package/lib/loop/plugins/agent-memory/index.js +25 -0
- package/lib/loop/plugins/agent-monitoring/index.d.ts +3 -0
- package/lib/loop/plugins/agent-monitoring/index.js +25 -0
- package/lib/loop/plugins/agent-notifications/index.d.ts +3 -0
- package/lib/loop/plugins/agent-notifications/index.js +25 -0
- package/lib/loop/plugins/agent-otel/index.d.ts +3 -0
- package/lib/loop/plugins/agent-otel/index.js +25 -0
- package/lib/loop/plugins/agent-outputs/index.d.ts +3 -0
- package/lib/loop/plugins/agent-outputs/index.js +25 -0
- package/lib/loop/plugins/agent-parameters/index.d.ts +3 -0
- package/lib/loop/plugins/agent-parameters/index.js +25 -0
- package/lib/loop/plugins/agent-skills/index.d.ts +3 -0
- package/lib/loop/plugins/agent-skills/index.js +25 -0
- package/lib/loop/plugins/agent-subagents/index.d.ts +3 -0
- package/lib/loop/plugins/agent-subagents/index.js +25 -0
- package/lib/loop/plugins/agent-tool-approvals/index.d.ts +11 -0
- package/lib/loop/plugins/agent-tool-approvals/index.js +38 -0
- package/lib/loop/plugins/agent-triggers/index.d.ts +3 -0
- package/lib/loop/plugins/agent-triggers/index.js +26 -0
- package/lib/loop/plugins/agents/AgentSummaryPanel.d.ts +20 -0
- package/lib/loop/plugins/agents/AgentSummaryPanel.js +50 -0
- package/lib/loop/plugins/agents/AnonymousKeyBadge.d.ts +35 -0
- package/lib/loop/plugins/agents/AnonymousKeyBadge.js +53 -0
- package/lib/loop/plugins/agents/DatalayerAgentBridge.d.ts +24 -0
- package/lib/loop/plugins/agents/DatalayerAgentBridge.js +102 -0
- package/lib/loop/plugins/agents/DatalayerAgentMount.d.ts +18 -0
- package/lib/loop/plugins/agents/DatalayerAgentMount.js +12 -0
- package/lib/loop/plugins/agents/SandboxSelector.d.ts +18 -0
- package/lib/loop/plugins/agents/SandboxSelector.js +99 -0
- package/lib/loop/plugins/agents/SandboxStatusBridge.d.ts +19 -0
- package/lib/loop/plugins/agents/SandboxStatusBridge.js +23 -0
- package/lib/loop/plugins/agents/SandboxView.d.ts +11 -0
- package/lib/loop/plugins/agents/SandboxView.js +43 -0
- package/lib/loop/plugins/agents/TeamMemberPicker.d.ts +17 -0
- package/lib/loop/plugins/agents/TeamMemberPicker.js +60 -0
- package/lib/loop/plugins/agents/agentIcons.d.ts +23 -0
- package/lib/loop/plugins/agents/agentIcons.js +88 -0
- package/lib/loop/plugins/agents/browserService.d.ts +50 -0
- package/lib/loop/plugins/agents/browserService.js +233 -0
- package/lib/loop/plugins/agents/index.d.ts +13 -0
- package/lib/loop/plugins/agents/index.js +17 -0
- package/lib/loop/plugins/agents/plugin.d.ts +91 -0
- package/lib/loop/plugins/agents/plugin.js +201 -0
- package/lib/loop/plugins/agents/service.d.ts +99 -0
- package/lib/loop/plugins/agents/service.js +167 -0
- package/lib/loop/plugins/agents/specSubagents.d.ts +18 -0
- package/lib/loop/plugins/agents/specSubagents.js +33 -0
- package/lib/loop/plugins/agents/switchable.d.ts +107 -0
- package/lib/loop/plugins/agents/switchable.js +405 -0
- package/lib/loop/plugins/agents/team.d.ts +87 -0
- package/lib/loop/plugins/agents/team.js +143 -0
- package/lib/loop/plugins/agents/useSandboxService.d.ts +11 -0
- package/lib/loop/plugins/agents/useSandboxService.js +36 -0
- package/lib/loop/plugins/agents/useTeamSelection.d.ts +10 -0
- package/lib/loop/plugins/agents/useTeamSelection.js +27 -0
- package/lib/loop/plugins/agentspecs/AgentspecPicker.d.ts +15 -0
- package/lib/loop/plugins/agentspecs/AgentspecPicker.js +90 -0
- package/lib/loop/plugins/agentspecs/index.d.ts +6 -0
- package/lib/loop/plugins/agentspecs/index.js +63 -0
- package/lib/loop/plugins/chat/ChatView.d.ts +20 -0
- package/lib/loop/plugins/chat/ChatView.js +1670 -0
- package/lib/loop/plugins/chat/chatViewTools.d.ts +41 -0
- package/lib/loop/plugins/chat/chatViewTools.js +92 -0
- package/lib/loop/plugins/chat/index.d.ts +111 -0
- package/lib/loop/plugins/chat/index.js +143 -0
- package/lib/loop/plugins/chat/turnState.d.ts +41 -0
- package/lib/loop/plugins/chat/turnState.js +90 -0
- package/lib/loop/plugins/chat-extras/index.d.ts +14 -0
- package/lib/loop/plugins/chat-extras/index.js +51 -0
- package/lib/loop/plugins/chat-header/HeaderView.d.ts +13 -0
- package/lib/loop/plugins/chat-header/HeaderView.js +6 -0
- package/lib/loop/plugins/chat-header/index.d.ts +3 -0
- package/lib/loop/plugins/chat-header/index.js +21 -0
- package/lib/loop/plugins/chat-view/index.d.ts +10 -0
- package/lib/loop/plugins/chat-view/index.js +29 -0
- package/lib/loop/plugins/checkpoints-sidebar/CheckpointsSidebar.d.ts +27 -0
- package/lib/loop/plugins/checkpoints-sidebar/CheckpointsSidebar.js +174 -0
- package/lib/loop/plugins/checkpoints-sidebar/index.d.ts +5 -0
- package/lib/loop/plugins/checkpoints-sidebar/index.js +39 -0
- package/lib/loop/plugins/commands/index.d.ts +20 -0
- package/lib/loop/plugins/commands/index.js +148 -0
- package/lib/loop/plugins/decks/DeckSurface.d.ts +10 -0
- package/lib/loop/plugins/decks/DeckSurface.js +6 -0
- package/lib/loop/plugins/decks/DecksMenu.d.ts +11 -0
- package/lib/loop/plugins/decks/DecksMenu.js +42 -0
- package/lib/loop/plugins/decks/index.d.ts +19 -0
- package/lib/loop/plugins/decks/index.js +133 -0
- package/lib/loop/plugins/decks/surface.d.ts +7 -0
- package/lib/loop/plugins/decks/surface.js +11 -0
- package/lib/loop/plugins/document/DocumentView.d.ts +12 -0
- package/lib/loop/plugins/document/DocumentView.js +68 -0
- package/lib/loop/plugins/document/index.d.ts +3 -0
- package/lib/loop/plugins/document/index.js +86 -0
- package/lib/loop/plugins/document/openingDocument.d.ts +28 -0
- package/lib/loop/plugins/document/openingDocument.js +122 -0
- package/lib/loop/plugins/document-toolbar/SandboxStatusItem.d.ts +16 -0
- package/lib/loop/plugins/document-toolbar/SandboxStatusItem.js +31 -0
- package/lib/loop/plugins/document-toolbar/index.d.ts +4 -0
- package/lib/loop/plugins/document-toolbar/index.js +35 -0
- package/lib/loop/plugins/document-toolbar/names.d.ts +6 -0
- package/lib/loop/plugins/document-toolbar/names.js +10 -0
- package/lib/loop/plugins/document-toolbar/plugin.d.ts +2 -0
- package/lib/loop/plugins/document-toolbar/plugin.js +38 -0
- package/lib/loop/plugins/document-view/index.d.ts +10 -0
- package/lib/loop/plugins/document-view/index.js +28 -0
- package/lib/loop/plugins/graph/GraphToggle.d.ts +17 -0
- package/lib/loop/plugins/graph/GraphToggle.js +22 -0
- package/lib/loop/plugins/graph/GraphView.d.ts +16 -0
- package/lib/loop/plugins/graph/GraphView.js +6 -0
- package/lib/loop/plugins/graph/index.d.ts +5 -0
- package/lib/loop/plugins/graph/index.js +80 -0
- package/lib/loop/plugins/graph/viewType.d.ts +10 -0
- package/lib/loop/plugins/graph/viewType.js +14 -0
- package/lib/loop/plugins/input-prompt/ComposerView.d.ts +15 -0
- package/lib/loop/plugins/input-prompt/ComposerView.js +25 -0
- package/lib/loop/plugins/input-prompt/index.d.ts +25 -0
- package/lib/loop/plugins/input-prompt/index.js +26 -0
- package/lib/loop/plugins/models/index.d.ts +3 -0
- package/lib/loop/plugins/models/index.js +49 -0
- package/lib/loop/plugins/notebook/NotebookView.d.ts +9 -0
- package/lib/loop/plugins/notebook/NotebookView.js +189 -0
- package/lib/loop/plugins/notebook/index.d.ts +3 -0
- package/lib/loop/plugins/notebook/index.js +91 -0
- package/lib/loop/plugins/notebook/openingNotebook.d.ts +72 -0
- package/lib/loop/plugins/notebook/openingNotebook.js +90 -0
- package/lib/loop/plugins/notebook-toolbar/index.d.ts +4 -0
- package/lib/loop/plugins/notebook-toolbar/index.js +45 -0
- package/lib/loop/plugins/notebook-toolbar/items.d.ts +10 -0
- package/lib/loop/plugins/notebook-toolbar/items.js +45 -0
- package/lib/loop/plugins/notebook-toolbar/names.d.ts +9 -0
- package/lib/loop/plugins/notebook-toolbar/names.js +13 -0
- package/lib/loop/plugins/notebook-toolbar/plugin.d.ts +2 -0
- package/lib/loop/plugins/notebook-toolbar/plugin.js +24 -0
- package/lib/loop/plugins/notebook-view/index.d.ts +10 -0
- package/lib/loop/plugins/notebook-view/index.js +30 -0
- package/lib/loop/plugins/page-layout/TurnPanel.d.ts +25 -0
- package/lib/loop/plugins/page-layout/TurnPanel.js +126 -0
- package/lib/loop/plugins/page-layout/index.d.ts +35 -0
- package/lib/loop/plugins/page-layout/index.js +80 -0
- package/lib/loop/plugins/plugins-panel/index.d.ts +14 -0
- package/lib/loop/plugins/plugins-panel/index.js +74 -0
- package/lib/loop/plugins/prompt/NewChatAction.d.ts +19 -0
- package/lib/loop/plugins/prompt/NewChatAction.js +10 -0
- package/lib/loop/plugins/prompt/index.d.ts +11 -0
- package/lib/loop/plugins/prompt/index.js +73 -0
- package/lib/loop/plugins/shell/editorChoice.d.ts +31 -0
- package/lib/loop/plugins/shell/editorChoice.js +58 -0
- package/lib/loop/plugins/shell/index.d.ts +47 -0
- package/lib/loop/plugins/shell/index.js +142 -0
- package/lib/loop/plugins/shell/useEditorPreviews.d.ts +32 -0
- package/lib/loop/plugins/shell/useEditorPreviews.js +217 -0
- package/lib/loop/plugins/subagent-activity/SubagentPulse.d.ts +16 -0
- package/lib/loop/plugins/subagent-activity/SubagentPulse.js +45 -0
- package/lib/loop/plugins/subagent-activity/index.d.ts +12 -0
- package/lib/loop/plugins/subagent-activity/index.js +42 -0
- package/lib/loop/plugins/view-switch/index.d.ts +46 -0
- package/lib/loop/plugins/view-switch/index.js +68 -0
- package/lib/loop/plugins/window-frame/WindowFrame.d.ts +48 -0
- package/lib/loop/plugins/window-frame/WindowFrame.js +63 -0
- package/lib/loop/plugins/window-frame/index.d.ts +6 -0
- package/lib/loop/plugins/window-frame/index.js +79 -0
- package/lib/loop/plugins/window-frame/slots.d.ts +26 -0
- package/lib/loop/plugins/window-frame/slots.js +30 -0
- package/lib/loop/presets.d.ts +167 -0
- package/lib/loop/presets.js +139 -0
- package/lib/loop/shell/LoopWorkspace.d.ts +109 -0
- package/lib/loop/shell/LoopWorkspace.js +231 -0
- package/lib/loop/shell/PluginToggles.d.ts +21 -0
- package/lib/loop/shell/PluginToggles.js +41 -0
- package/lib/loop/shell/ViewSwitcher.d.ts +24 -0
- package/lib/loop/shell/ViewSwitcher.js +43 -0
- package/lib/loop/shell/WorkspaceFullScreenAction.d.ts +25 -0
- package/lib/loop/shell/WorkspaceFullScreenAction.js +24 -0
- package/lib/loop/shell/index.d.ts +10 -0
- package/lib/loop/shell/index.js +14 -0
- package/lib/loop/shell/useWorkspaceFullScreen.d.ts +93 -0
- package/lib/loop/shell/useWorkspaceFullScreen.js +167 -0
- package/lib/loop-example-main.d.ts +1 -0
- package/lib/loop-example-main.js +42 -0
- package/lib/loop-main.d.ts +1 -0
- package/lib/loop-main.js +138 -0
- package/lib/mcp/McpServerManager.d.ts +1 -1
- package/lib/models/CodeSandboxSnapshotDTO.d.ts +1 -1
- package/lib/models/CodeSandboxVariant.d.ts +13 -5
- package/lib/models/CodeSandboxVariant.js +17 -5
- package/lib/models/Content.d.ts +26 -0
- package/lib/models/Environment.d.ts +561 -5
- package/lib/models/Environment.js +12 -1
- package/lib/models/EnvironmentDTO.d.ts +24 -6
- package/lib/models/EnvironmentDTO.js +13 -2
- package/lib/models/Exercise.d.ts +0 -2
- package/lib/models/Library.d.ts +0 -2
- package/lib/models/Notebook.d.ts +0 -2
- package/lib/models/ProjectDTO.d.ts +2 -2
- package/lib/models/ProjectDTO.js +4 -4
- package/lib/models/Runtime.d.ts +11 -11
- package/lib/models/RuntimeDTO.d.ts +16 -7
- package/lib/models/RuntimeDTO.js +9 -9
- package/lib/models/Space.d.ts +10 -0
- package/lib/models/Space.js +1 -1
- package/lib/models/SpaceDTO.d.ts +1 -1
- package/lib/models/SpaceItem.d.ts +1 -2
- package/lib/models/environments.generated.d.ts +113 -0
- package/lib/models/environments.generated.js +13 -0
- package/lib/models/index.d.ts +0 -1
- package/lib/models/index.js +0 -1
- package/lib/protocols/A2AAdapter.d.ts +39 -6
- package/lib/protocols/A2AAdapter.js +180 -11
- package/lib/protocols/ACPAdapter.js +40 -37
- package/lib/protocols/AGUIAdapter.d.ts +14 -0
- package/lib/protocols/AGUIAdapter.js +34 -9
- package/lib/protocols/BrowserAgentAdapter.d.ts +117 -0
- package/lib/protocols/BrowserAgentAdapter.js +310 -0
- package/lib/protocols/VercelAIAdapter.d.ts +10 -0
- package/lib/protocols/VercelAIAdapter.js +27 -7
- package/lib/protocols/index.d.ts +1 -0
- package/lib/protocols/index.js +1 -0
- package/lib/runtimes/actions.d.ts +3 -3
- package/lib/runtimes/actions.js +27 -14
- package/lib/runtimes/apis.d.ts +13 -4
- package/lib/runtimes/browser/agent.d.ts +54 -0
- package/lib/runtimes/browser/agent.js +63 -0
- package/lib/runtimes/browser/anonymousToken.d.ts +121 -0
- package/lib/runtimes/browser/anonymousToken.js +300 -0
- package/lib/runtimes/browser/frontendTools.d.ts +61 -0
- package/lib/runtimes/browser/frontendTools.js +152 -0
- package/lib/runtimes/browser/index.d.ts +11 -0
- package/lib/runtimes/browser/index.js +20 -0
- package/lib/runtimes/browser/model.d.ts +52 -0
- package/lib/runtimes/browser/model.js +110 -0
- package/lib/runtimes/browser/protocol.d.ts +54 -0
- package/lib/runtimes/browser/protocol.js +35 -0
- package/lib/runtimes/browser/subagents.d.ts +131 -0
- package/lib/runtimes/browser/subagents.js +241 -0
- package/lib/runtimes/index.d.ts +3 -0
- package/lib/runtimes/index.js +3 -0
- package/lib/runtimes/lifecycle.d.ts +76 -0
- package/lib/runtimes/lifecycle.js +99 -0
- package/lib/runtimes/variants.d.ts +172 -0
- package/lib/runtimes/variants.js +187 -0
- package/lib/services/reconnectToRuntime.d.ts +2 -2
- package/lib/services/reconnectToRuntime.js +3 -3
- package/lib/services/sandboxServiceManagers.d.ts +2 -2
- package/lib/services/sandboxServiceManagers.js +11 -11
- package/lib/specs/agents/agents.d.ts +128 -112
- package/lib/specs/agents/agents.js +8024 -5052
- package/lib/specs/evals.js +9 -0
- package/lib/specs/frontendTools.d.ts +3 -0
- package/lib/specs/frontendTools.js +46 -3
- package/lib/specs/mcpServers.d.ts +1 -0
- package/lib/specs/mcpServers.js +25 -2
- package/lib/specs/models.d.ts +18 -0
- package/lib/specs/models.js +154 -0
- package/lib/specs/outputs.d.ts +2 -0
- package/lib/specs/outputs.js +22 -0
- package/lib/specs/personas.js +1 -1
- package/lib/specs/teams/teams.d.ts +2 -0
- package/lib/specs/teams/teams.js +628 -111
- package/lib/state/index.d.ts +1 -1
- package/lib/state/index.js +1 -1
- package/lib/state/substates/RuntimesState.d.ts +5 -5
- package/lib/state/substates/RuntimesState.js +14 -14
- package/lib/state/substates/index.d.ts +1 -1
- package/lib/state/substates/index.js +1 -1
- package/lib/stores/agentRuntimeStore.d.ts +43 -1
- package/lib/stores/agentRuntimeStore.js +100 -11
- package/lib/stores/index.d.ts +1 -1
- package/lib/stores/index.js +1 -1
- package/lib/stories/Button.d.ts +1 -1
- package/lib/stories/Button.stories.d.ts +1 -1
- package/lib/stories/Header.d.ts +1 -1
- package/lib/stories/Header.stories.d.ts +1 -1
- package/lib/test-setup.js +66 -0
- package/lib/tools/adapters/agent-runtimes/lexicalHooks.d.ts +15 -0
- package/lib/tools/adapters/agent-runtimes/lexicalHooks.js +43 -2
- package/lib/tools/adapters/agent-runtimes/notebookHooks.d.ts +9 -0
- package/lib/tools/adapters/agent-runtimes/notebookHooks.js +12 -0
- package/lib/tools/adapters/commands/frontendCommandTools.d.ts +11 -0
- package/lib/tools/adapters/commands/frontendCommandTools.js +60 -0
- package/lib/tools/adapters/commands/index.d.ts +1 -0
- package/lib/{models/Dataset.js → tools/adapters/commands/index.js} +1 -1
- package/lib/tools/adapters/copilotkit/lexicalHooks.js +7 -3
- package/lib/tools/index.d.ts +1 -0
- package/lib/tools/index.js +1 -0
- package/lib/types/a2a.d.ts +15 -1
- package/lib/types/agents-lifecycle.d.ts +11 -6
- package/lib/types/agents.d.ts +31 -6
- package/lib/types/agentspecs.d.ts +120 -4
- package/lib/types/chat.d.ts +251 -3
- package/lib/types/checkpoints.d.ts +20 -0
- package/lib/types/config.d.ts +13 -1
- package/lib/types/connection.d.ts +1 -1
- package/lib/types/evals.d.ts +2 -0
- package/lib/types/messages.d.ts +60 -0
- package/lib/types/models.d.ts +26 -0
- package/lib/types/notifications.d.ts +15 -6
- package/lib/types/protocol.d.ts +7 -2
- package/lib/types/stream.d.ts +48 -3
- package/lib/types/stream.js +5 -0
- package/lib/types/teams.d.ts +102 -4
- package/lib/types/tool-approvals.d.ts +1 -1
- package/lib/types/tools.d.ts +8 -2
- package/lib/utils/utils.js +7 -1
- package/package.json +376 -361
- package/scripts/codegen/__pycache__/compose.cpython-313.pyc +0 -0
- package/scripts/codegen/__pycache__/versioning.cpython-313.pyc +0 -0
- package/scripts/codegen/compose.py +208 -0
- package/scripts/codegen/generate_agents.py +202 -31
- package/scripts/codegen/generate_evals.py +2 -0
- package/scripts/codegen/generate_frontend_tools.py +35 -6
- package/scripts/codegen/generate_models.py +40 -15
- package/scripts/codegen/generate_sandbox_agents.py +76 -62
- package/scripts/codegen/generate_teams.py +178 -4
- package/scripts/codegen/generate_tools.py +6 -4
- package/scripts/gen_workers.py +278 -110
- package/scripts/generate-environments-types.py +404 -0
- package/lib/chat/prompt/InputFooter.d.ts +0 -58
- package/lib/chat/prompt/InputFooter.js +0 -194
- package/lib/chat/prompt/InputPromptFooter.d.ts +0 -27
- package/lib/chat/prompt/InputPromptFooter.js +0 -15
- package/lib/chat/prompt/InputPromptHeader.d.ts +0 -15
- package/lib/chat/prompt/InputPromptHeader.js +0 -15
- package/lib/chat/usage/TokenUsageBar.d.ts +0 -8
- package/lib/hooks/useRuntimes.d.ts +0 -5
- package/lib/hooks/useRuntimes.js +0 -34
- package/lib/jupyter/kernelsHandler.d.ts +0 -8
- package/lib/jupyter/kernelsHandler.js +0 -39
- package/lib/models/Dataset.d.ts +0 -16
- package/lib/utils/Cells.d.ts +0 -2
- package/lib/utils/Cells.js +0 -28
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
|
|
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
|
+
import { useState } from 'react';
|
|
9
|
+
import { ArrowLeftIcon, CheckCircleIcon, XCircleIcon, CodeIcon, BriefcaseIcon, DownloadIcon, FileCodeIcon, NoteIcon, ServerIcon, } from '@primer/octicons-react';
|
|
3
10
|
import { Button, Heading, IconButton, Text, Label, Spinner, ToggleSwitch, } from '@primer/react';
|
|
4
11
|
import { Box } from '@datalayer/primer-addons';
|
|
5
12
|
import { AiAgentIcon } from '@datalayer/icons-react';
|
|
@@ -7,6 +14,7 @@ import { useQuery, useMutation } from '@tanstack/react-query';
|
|
|
7
14
|
import { ContextPanel } from '../context/ContextPanel';
|
|
8
15
|
import { ContextInspector, } from '../context/ContextInspector';
|
|
9
16
|
import { AgentIdentity } from '../identity/AgentIdentity';
|
|
17
|
+
import { SpecPayloadPreview } from '../components/specs/SpecPayloadPreview';
|
|
10
18
|
import { useAgentRuntimeCodemodeStatus, useAgentRuntimeContextSnapshot, useAgentRuntimeFullContext, useAgentRuntimeMcpStatus, useAgentRuntimeWsState, } from '../stores';
|
|
11
19
|
/**
|
|
12
20
|
* Get the API base URL for fetching data.
|
|
@@ -15,7 +23,21 @@ import { useAgentRuntimeCodemodeStatus, useAgentRuntimeContextSnapshot, useAgent
|
|
|
15
23
|
*/
|
|
16
24
|
function getApiBase(apiBase) {
|
|
17
25
|
if (apiBase) {
|
|
18
|
-
|
|
26
|
+
/*
|
|
27
|
+
* The server's root, whatever the caller handed over.
|
|
28
|
+
*
|
|
29
|
+
* `apiBase` is a base and every request below appends its own path to it —
|
|
30
|
+
* but the commonest thing to have on hand is the protocol's
|
|
31
|
+
* `configEndpoint`, which already ends in `/api/v1/configure`. Passing
|
|
32
|
+
* that produced
|
|
33
|
+
* `/api/v1/configure/api/v1/configure/agents/.../spec`, a 404 that reached
|
|
34
|
+
* the reader as "Loading agent spec" for ever.
|
|
35
|
+
*
|
|
36
|
+
* Trimmed here rather than at each call site: this function exists to
|
|
37
|
+
* answer "where is the server", and a caller that knows an endpoint knows
|
|
38
|
+
* the server too.
|
|
39
|
+
*/
|
|
40
|
+
return apiBase.replace(/\/+$/, '').replace(/\/api\/v1\/configure$/, '');
|
|
19
41
|
}
|
|
20
42
|
if (typeof window === 'undefined') {
|
|
21
43
|
return '';
|
|
@@ -164,7 +186,7 @@ async function downloadContextSnapshotAsCSV(agentId, _apiBase, preloadedData) {
|
|
|
164
186
|
/**
|
|
165
187
|
* AgentDetails component displays comprehensive information about the agent.
|
|
166
188
|
*/
|
|
167
|
-
export function AgentDetails({ name = 'AI Agent', icon, emoji, protocol, url, messageCount, agentId, apiBase, identityProviders, onIdentityConnect, onIdentityDisconnect, onBack, showBackHeader = true, showUsage = true, mcpStatusData, codemodeStatusData, contextSnapshotData, fullContextData, }) {
|
|
189
|
+
export function AgentDetails({ name = 'AI Agent', icon, emoji, protocol, url, messageCount, agentId, apiBase, identityProviders, onIdentityConnect, onIdentityDisconnect, onBack, showBackHeader = true, showUsage = true, padded = true, mcpStatusData, codemodeStatusData, contextSnapshotData, fullContextData, }) {
|
|
168
190
|
const wsMcpStatus = useAgentRuntimeMcpStatus();
|
|
169
191
|
const wsCodemodeStatus = useAgentRuntimeCodemodeStatus();
|
|
170
192
|
const wsContextSnapshot = useAgentRuntimeContextSnapshot();
|
|
@@ -202,6 +224,9 @@ export function AgentDetails({ name = 'AI Agent', icon, emoji, protocol, url, me
|
|
|
202
224
|
},
|
|
203
225
|
});
|
|
204
226
|
// Fetch agent spec (original creation request with separated system prompts)
|
|
227
|
+
/* Whether the full spec is on screen. Its own state: it is a detour from
|
|
228
|
+
the summary, not a mode the pane lives in. */
|
|
229
|
+
const [showSpecPayload, setShowSpecPayload] = useState(false);
|
|
205
230
|
const { data: agentSpec, isLoading: specLoading } = useQuery({
|
|
206
231
|
queryKey: ['agent-spec', agentId, apiBase],
|
|
207
232
|
queryFn: async () => {
|
|
@@ -227,7 +252,12 @@ export function AgentDetails({ name = 'AI Agent', icon, emoji, protocol, url, me
|
|
|
227
252
|
p: 3,
|
|
228
253
|
borderBottom: '1px solid',
|
|
229
254
|
borderColor: 'border.default',
|
|
230
|
-
}, children: [_jsx(IconButton, { icon: ArrowLeftIcon, "aria-label": "Back to chat", variant: "invisible", onClick: onBack }), _jsx(Heading, { as: "h2", sx: { fontSize: 3, fontWeight: 'semibold' }, children: "Agent Details" })] })), _jsxs(Box, { sx: {
|
|
255
|
+
}, children: [_jsx(IconButton, { icon: ArrowLeftIcon, "aria-label": "Back to chat", variant: "invisible", onClick: onBack }), _jsx(Heading, { as: "h2", sx: { fontSize: 3, fontWeight: 'semibold' }, children: "Agent Details" })] })), _jsxs(Box, { sx: {
|
|
256
|
+
p: padded ? 3 : 0,
|
|
257
|
+
display: 'flex',
|
|
258
|
+
flexDirection: 'column',
|
|
259
|
+
gap: 4,
|
|
260
|
+
}, children: [_jsxs(Box, { sx: {
|
|
231
261
|
display: 'flex',
|
|
232
262
|
alignItems: 'center',
|
|
233
263
|
gap: 3,
|
|
@@ -260,13 +290,13 @@ export function AgentDetails({ name = 'AI Agent', icon, emoji, protocol, url, me
|
|
|
260
290
|
fontWeight: 'semibold',
|
|
261
291
|
mb: 2,
|
|
262
292
|
color: 'fg.muted',
|
|
263
|
-
}, children: "
|
|
293
|
+
}, children: "Agentspec" }), _jsx(Box, { sx: {
|
|
264
294
|
p: 3,
|
|
265
295
|
bg: 'canvas.subtle',
|
|
266
296
|
borderRadius: 2,
|
|
267
297
|
border: '1px solid',
|
|
268
298
|
borderColor: 'border.default',
|
|
269
|
-
}, children: specLoading ? (_jsxs(Box, { sx: { display: 'flex', alignItems: 'center', gap: 2 }, children: [_jsx(Spinner, { size: "small" }), _jsx(Text, { sx: { fontSize: 1, color: 'fg.muted' }, children: "Loading agent spec..." })] })) : agentSpec ? (_jsxs(Box, { sx: { display: 'flex', flexDirection: 'column', gap: 3 }, children: [_jsxs(Box, { sx: { display: 'flex', flexDirection: 'column', gap: 1 }, children: [_jsxs(Box, { sx: { display: 'flex', alignItems: 'center', gap: 2 }, children: [_jsx(Text, { sx: { fontSize: 0, color: 'fg.muted', width: 100 }, children: "Model:" }), _jsx(Text, { sx: {
|
|
299
|
+
}, children: specLoading ? (_jsxs(Box, { sx: { display: 'flex', alignItems: 'center', gap: 2 }, children: [_jsx(Spinner, { size: "small" }), _jsx(Text, { sx: { fontSize: 1, color: 'fg.muted' }, children: "Loading agent spec..." })] })) : agentSpec ? (_jsxs(Box, { sx: { display: 'flex', flexDirection: 'column', gap: 3 }, children: [_jsx(Box, { children: _jsx(Button, { size: "small", leadingVisual: FileCodeIcon, onClick: () => setShowSpecPayload(true), children: "View spec payload" }) }), _jsxs(Box, { sx: { display: 'flex', flexDirection: 'column', gap: 1 }, children: [_jsxs(Box, { sx: { display: 'flex', alignItems: 'center', gap: 2 }, children: [_jsx(Text, { sx: { fontSize: 0, color: 'fg.muted', width: 100 }, children: "Model:" }), _jsx(Text, { sx: {
|
|
270
300
|
fontSize: 0,
|
|
271
301
|
fontFamily: 'mono',
|
|
272
302
|
color: 'fg.default',
|
|
@@ -317,7 +347,7 @@ export function AgentDetails({ name = 'AI Agent', icon, emoji, protocol, url, me
|
|
|
317
347
|
borderRadius: 2,
|
|
318
348
|
border: '1px solid',
|
|
319
349
|
borderColor: 'border.default',
|
|
320
|
-
}, children: _jsxs(Box, { sx: { display: 'flex', flexDirection: 'column', gap: 2 }, children: [_jsxs(Box, { sx: { display: 'flex', alignItems: 'center', gap: 2 }, children: [_jsx(ServerIcon, { size: 16 }), _jsx(Text, { sx: { fontSize: 0, color: 'fg.muted', width: 100 }, children: "Variant:" }), _jsx(Label, { variant: agentSpec.sandbox.variant === 'jupyter'
|
|
350
|
+
}, children: _jsxs(Box, { sx: { display: 'flex', flexDirection: 'column', gap: 2 }, children: [_jsxs(Box, { sx: { display: 'flex', alignItems: 'center', gap: 2 }, children: [_jsx(ServerIcon, { size: 16 }), _jsx(Text, { sx: { fontSize: 0, color: 'fg.muted', width: 100 }, children: "Variant:" }), _jsx(Label, { variant: agentSpec.sandbox.variant === 'jupyter-server'
|
|
321
351
|
? 'accent'
|
|
322
352
|
: 'secondary', size: "small", children: agentSpec.sandbox.variant })] }), _jsxs(Box, { sx: { display: 'flex', alignItems: 'center', gap: 2 }, children: [_jsx(Text, { sx: { fontSize: 0, color: 'fg.muted', width: 100, pl: 4 }, children: "Running:" }), agentSpec.sandbox.sandbox_running ? (_jsxs(Box, { sx: {
|
|
323
353
|
display: 'flex',
|
|
@@ -327,7 +357,7 @@ export function AgentDetails({ name = 'AI Agent', icon, emoji, protocol, url, me
|
|
|
327
357
|
display: 'flex',
|
|
328
358
|
alignItems: 'center',
|
|
329
359
|
gap: 1,
|
|
330
|
-
}, children: [_jsx(XCircleIcon, { size: 12, fill: "fg.muted" }), _jsx(Text, { sx: { fontSize: 0, color: 'fg.muted' }, children: "No" })] }))] }), agentSpec.sandbox.variant === 'jupyter' && (_jsxs(_Fragment, { children: [_jsxs(Box, { sx: { display: 'flex', alignItems: 'center', gap: 2 }, children: [_jsx(Text, { sx: {
|
|
360
|
+
}, children: [_jsx(XCircleIcon, { size: 12, fill: "fg.muted" }), _jsx(Text, { sx: { fontSize: 0, color: 'fg.muted' }, children: "No" })] }))] }), agentSpec.sandbox.variant === 'jupyter-server' && (_jsxs(_Fragment, { children: [_jsxs(Box, { sx: { display: 'flex', alignItems: 'center', gap: 2 }, children: [_jsx(Text, { sx: {
|
|
331
361
|
fontSize: 0,
|
|
332
362
|
color: 'fg.muted',
|
|
333
363
|
width: 100,
|
|
@@ -473,9 +503,9 @@ export function AgentDetails({ name = 'AI Agent', icon, emoji, protocol, url, me
|
|
|
473
503
|
flexDirection: 'column',
|
|
474
504
|
gap: 1,
|
|
475
505
|
pl: 4,
|
|
476
|
-
}, children: [_jsxs(Box, { sx: { display: 'flex', alignItems: 'center', gap: 2 }, children: [_jsx(Text, { sx: { fontSize: 0, color: 'fg.muted', width: 80 }, children: "Variant:" }), _jsx(Label, { variant: codemodeStatus.sandbox.variant === 'jupyter'
|
|
506
|
+
}, children: [_jsxs(Box, { sx: { display: 'flex', alignItems: 'center', gap: 2 }, children: [_jsx(Text, { sx: { fontSize: 0, color: 'fg.muted', width: 80 }, children: "Variant:" }), _jsx(Label, { variant: codemodeStatus.sandbox.variant === 'jupyter-server'
|
|
477
507
|
? 'accent'
|
|
478
|
-
: 'secondary', size: "small", children: codemodeStatus.sandbox.variant })] }), codemodeStatus.sandbox.variant === 'jupyter' && (_jsxs(_Fragment, { children: [_jsxs(Box, { sx: {
|
|
508
|
+
: 'secondary', size: "small", children: codemodeStatus.sandbox.variant })] }), codemodeStatus.sandbox.variant === 'jupyter-server' && (_jsxs(_Fragment, { children: [_jsxs(Box, { sx: {
|
|
479
509
|
display: 'flex',
|
|
480
510
|
alignItems: 'center',
|
|
481
511
|
gap: 2,
|
|
@@ -575,6 +605,6 @@ export function AgentDetails({ name = 'AI Agent', icon, emoji, protocol, url, me
|
|
|
575
605
|
borderRadius: 2,
|
|
576
606
|
border: '1px solid',
|
|
577
607
|
borderColor: 'border.default',
|
|
578
|
-
}, children: _jsx(ContextInspector, { agentId: agentId, apiBase: apiBase, liveData: resolvedFullContext }) })] })), _jsx(AgentIdentity, { providers: identityProviders, title: "Connected Accounts", showHeader: true, showDescription: true, description: "OAuth identities connected to this agent. Agents can use these to access external services like GitHub repositories on your behalf.", showExpirationDetails: true, allowReconnect: Boolean(identityProviders), onConnect: onIdentityConnect, onDisconnect: onIdentityDisconnect }), showBackHeader && (_jsx(Box, { sx: { mt: 2 }, children: _jsx(Button, { variant: "primary", onClick: onBack, sx: { width: '100%' }, children: "Back to Chat" }) }))] })] }));
|
|
608
|
+
}, children: _jsx(ContextInspector, { agentId: agentId, apiBase: apiBase, liveData: resolvedFullContext }) })] })), _jsx(AgentIdentity, { providers: identityProviders, title: "Connected Accounts", showHeader: true, showDescription: true, description: "OAuth identities connected to this agent. Agents can use these to access external services like GitHub repositories on your behalf.", showExpirationDetails: true, allowReconnect: Boolean(identityProviders), onConnect: onIdentityConnect, onDisconnect: onIdentityDisconnect }), showBackHeader && (_jsx(Box, { sx: { mt: 2 }, children: _jsx(Button, { variant: "primary", onClick: onBack, sx: { width: '100%' }, children: "Back to Chat" }) }))] }), showSpecPayload && agentSpec ? (_jsx(SpecPayloadPreview, { spec: agentSpec, onClose: () => setShowSpecPayload(false) })) : null] }));
|
|
579
609
|
}
|
|
580
610
|
export default AgentDetails;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* This is the shared component used to render the plain (non-floating) chat
|
|
5
5
|
* view for an agent runtime. It is designed to be reused across the app:
|
|
6
|
-
* - The agent runtime detail page (
|
|
6
|
+
* - The agent runtime detail page (`/agents/<uid>`).
|
|
7
7
|
* - Gallery example pages (e.g. `/gallery/agents/analyze-excel-spreadsheet`).
|
|
8
8
|
*
|
|
9
9
|
* Behaviour:
|
|
@@ -26,7 +26,7 @@ import type { Protocol, Suggestion } from '../types';
|
|
|
26
26
|
* Props for {@link AgentRuntimeChat}.
|
|
27
27
|
*/
|
|
28
28
|
export interface AgentRuntimeChatProps {
|
|
29
|
-
/** Agentspec id to launch, e.g. `
|
|
29
|
+
/** Agentspec id to launch, e.g. `example-analyze-excel-spreadsheet`. */
|
|
30
30
|
agentSpecId: string;
|
|
31
31
|
/** Human-friendly title shown in the chat header. */
|
|
32
32
|
title?: string;
|
|
@@ -69,5 +69,5 @@ export interface AgentRuntimeChatProps {
|
|
|
69
69
|
* @param props - Component props.
|
|
70
70
|
* @returns The rendered chat surface.
|
|
71
71
|
*/
|
|
72
|
-
export declare function AgentRuntimeChat({ agentSpecId, title, brandIcon, description, protocol, height, suggestions, overlay, launch, showModelSelector, showToolsMenu, showSkillsMenu, showHeader, showPoweredBy, agentConfig, onRuntimeChange, }: AgentRuntimeChatProps): import("react
|
|
72
|
+
export declare function AgentRuntimeChat({ agentSpecId, title, brandIcon, description, protocol, height, suggestions, overlay, launch, showModelSelector, showToolsMenu, showSkillsMenu, showHeader, showPoweredBy, agentConfig, onRuntimeChange, }: AgentRuntimeChatProps): import("react").JSX.Element | null;
|
|
73
73
|
export default AgentRuntimeChat;
|
|
@@ -6,7 +6,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
6
6
|
*
|
|
7
7
|
* This is the shared component used to render the plain (non-floating) chat
|
|
8
8
|
* view for an agent runtime. It is designed to be reused across the app:
|
|
9
|
-
* - The agent runtime detail page (
|
|
9
|
+
* - The agent runtime detail page (`/agents/<uid>`).
|
|
10
10
|
* - Gallery example pages (e.g. `/gallery/agents/analyze-excel-spreadsheet`).
|
|
11
11
|
*
|
|
12
12
|
* Behaviour:
|
|
@@ -57,29 +57,29 @@ export function AgentRuntimeChat({ agentSpecId, title, brandIcon, description, p
|
|
|
57
57
|
const launchingError = launch ? error : null;
|
|
58
58
|
const runtimeAgentId = runtime?.agentId || '';
|
|
59
59
|
const hasAssignedAgent = runtimeAgentId.trim().length > 0;
|
|
60
|
-
const
|
|
60
|
+
const assignmentAttemptedForRuntimeRef = useRef(null);
|
|
61
61
|
const launchStateLogRef = useRef('');
|
|
62
62
|
const isInteractiveReady = launch && isReady && !!endpoint && hasAssignedAgent;
|
|
63
63
|
useEffect(() => {
|
|
64
|
-
const
|
|
65
|
-
if (!
|
|
66
|
-
|
|
64
|
+
const runtimeName = String(runtime?.runtimeName || '').trim();
|
|
65
|
+
if (!runtimeName) {
|
|
66
|
+
assignmentAttemptedForRuntimeRef.current = null;
|
|
67
67
|
return;
|
|
68
68
|
}
|
|
69
69
|
if (hasAssignedAgent) {
|
|
70
|
-
|
|
70
|
+
assignmentAttemptedForRuntimeRef.current = runtimeName;
|
|
71
71
|
return;
|
|
72
72
|
}
|
|
73
73
|
if (!launch || !isReady || !endpoint || !!error || isCreating) {
|
|
74
74
|
return;
|
|
75
75
|
}
|
|
76
|
-
if (
|
|
76
|
+
if (assignmentAttemptedForRuntimeRef.current === runtimeName) {
|
|
77
77
|
return;
|
|
78
78
|
}
|
|
79
|
-
|
|
79
|
+
assignmentAttemptedForRuntimeRef.current = runtimeName;
|
|
80
80
|
void createAgent();
|
|
81
81
|
}, [
|
|
82
|
-
runtime?.
|
|
82
|
+
runtime?.runtimeName,
|
|
83
83
|
hasAssignedAgent,
|
|
84
84
|
launch,
|
|
85
85
|
isReady,
|
|
@@ -101,7 +101,7 @@ export function AgentRuntimeChat({ agentSpecId, title, brandIcon, description, p
|
|
|
101
101
|
: 'ready';
|
|
102
102
|
const signature = [
|
|
103
103
|
state,
|
|
104
|
-
String(runtime?.
|
|
104
|
+
String(runtime?.runtimeName || ''),
|
|
105
105
|
String(endpoint || ''),
|
|
106
106
|
].join('|');
|
|
107
107
|
if (launchStateLogRef.current === signature) {
|
|
@@ -111,7 +111,7 @@ export function AgentRuntimeChat({ agentSpecId, title, brandIcon, description, p
|
|
|
111
111
|
if (state === 'error') {
|
|
112
112
|
console.error('[AgentRuntimeChat] launch failed', {
|
|
113
113
|
agentSpecId,
|
|
114
|
-
|
|
114
|
+
runtimeName: runtime?.runtimeName,
|
|
115
115
|
endpoint,
|
|
116
116
|
error: launchingError,
|
|
117
117
|
});
|
|
@@ -120,7 +120,7 @@ export function AgentRuntimeChat({ agentSpecId, title, brandIcon, description, p
|
|
|
120
120
|
if (state === 'waiting-endpoint') {
|
|
121
121
|
console.info('[AgentRuntimeChat] waiting for runtime endpoint', {
|
|
122
122
|
agentSpecId,
|
|
123
|
-
|
|
123
|
+
runtimeName: runtime?.runtimeName,
|
|
124
124
|
isReady,
|
|
125
125
|
endpoint,
|
|
126
126
|
});
|
|
@@ -129,14 +129,14 @@ export function AgentRuntimeChat({ agentSpecId, title, brandIcon, description, p
|
|
|
129
129
|
if (state === 'waiting-assignment') {
|
|
130
130
|
console.info('[AgentRuntimeChat] waiting for agent assignment', {
|
|
131
131
|
agentSpecId,
|
|
132
|
-
|
|
132
|
+
runtimeName: runtime?.runtimeName,
|
|
133
133
|
endpoint,
|
|
134
134
|
});
|
|
135
135
|
return;
|
|
136
136
|
}
|
|
137
137
|
console.info('[AgentRuntimeChat] runtime ready', {
|
|
138
138
|
agentSpecId,
|
|
139
|
-
|
|
139
|
+
runtimeName: runtime?.runtimeName,
|
|
140
140
|
endpoint,
|
|
141
141
|
agentId: runtimeAgentId,
|
|
142
142
|
});
|
|
@@ -147,7 +147,7 @@ export function AgentRuntimeChat({ agentSpecId, title, brandIcon, description, p
|
|
|
147
147
|
isReady,
|
|
148
148
|
endpoint,
|
|
149
149
|
hasAssignedAgent,
|
|
150
|
-
runtime?.
|
|
150
|
+
runtime?.runtimeName,
|
|
151
151
|
runtimeAgentId,
|
|
152
152
|
agentSpecId,
|
|
153
153
|
]);
|
package/lib/api/agents.d.ts
CHANGED
|
@@ -9,39 +9,39 @@ export declare const getRunningAgents: (token: string, baseUrl?: string) => Prom
|
|
|
9
9
|
/**
|
|
10
10
|
* Get detailed status for a specific agent.
|
|
11
11
|
* @param token - Authentication token
|
|
12
|
-
* @param
|
|
12
|
+
* @param runtimeName - The uid of the runtime hosting the agent
|
|
13
13
|
* @param agentId - Agent ID within the pod (optional, defaults to primary)
|
|
14
14
|
* @param baseUrl - Base URL
|
|
15
15
|
* @returns Promise resolving to agent status
|
|
16
16
|
*/
|
|
17
|
-
export declare const getAgentStatus: (token: string,
|
|
17
|
+
export declare const getAgentStatus: (token: string, runtimeName: string, agentId?: string, baseUrl?: string) => Promise<RunningAgent>;
|
|
18
18
|
/**
|
|
19
19
|
* Pause a running agent (light checkpoint by default, CRIU optional).
|
|
20
20
|
* @param token - Authentication token
|
|
21
|
-
* @param
|
|
21
|
+
* @param runtimeName - The uid of the runtime
|
|
22
22
|
* @param baseUrl - Base URL
|
|
23
23
|
*/
|
|
24
|
-
export declare const pauseAgent: (token: string,
|
|
24
|
+
export declare const pauseAgent: (token: string, runtimeName: string, baseUrl?: string) => Promise<void>;
|
|
25
25
|
/**
|
|
26
26
|
* Resume a paused/checkpointed agent.
|
|
27
27
|
* @param token - Authentication token
|
|
28
|
-
* @param
|
|
28
|
+
* @param runtimeName - The uid of the runtime
|
|
29
29
|
* @param baseUrl - Base URL
|
|
30
30
|
*/
|
|
31
|
-
export declare const resumeAgent: (token: string,
|
|
31
|
+
export declare const resumeAgent: (token: string, runtimeName: string, baseUrl?: string) => Promise<void>;
|
|
32
32
|
/**
|
|
33
33
|
* Get conversation checkpoints for an agent.
|
|
34
34
|
* @param token - Authentication token
|
|
35
|
-
* @param
|
|
35
|
+
* @param runtimeName - The uid of the runtime
|
|
36
36
|
* @param agentId - Agent ID
|
|
37
37
|
* @param baseUrl - Base URL
|
|
38
38
|
*/
|
|
39
|
-
export declare const getAgentCheckpoints: (token: string,
|
|
39
|
+
export declare const getAgentCheckpoints: (token: string, runtimeName: string, agentId?: string, baseUrl?: string) => Promise<ConversationCheckpoint[]>;
|
|
40
40
|
/**
|
|
41
41
|
* Get usage summary for an agent.
|
|
42
42
|
* @param token - Authentication token
|
|
43
|
-
* @param
|
|
43
|
+
* @param runtimeName - The uid of the runtime
|
|
44
44
|
* @param agentId - Agent ID
|
|
45
45
|
* @param baseUrl - Base URL
|
|
46
46
|
*/
|
|
47
|
-
export declare const getAgentUsage: (token: string,
|
|
47
|
+
export declare const getAgentUsage: (token: string, runtimeName: string, agentId?: string, baseUrl?: string) => Promise<AgentUsageSummary>;
|
package/lib/api/agents.js
CHANGED
|
@@ -30,16 +30,16 @@ export const getRunningAgents = async (token, baseUrl = DEFAULT_SERVICE_URLS.AI_
|
|
|
30
30
|
/**
|
|
31
31
|
* Get detailed status for a specific agent.
|
|
32
32
|
* @param token - Authentication token
|
|
33
|
-
* @param
|
|
33
|
+
* @param runtimeName - The uid of the runtime hosting the agent
|
|
34
34
|
* @param agentId - Agent ID within the pod (optional, defaults to primary)
|
|
35
35
|
* @param baseUrl - Base URL
|
|
36
36
|
* @returns Promise resolving to agent status
|
|
37
37
|
*/
|
|
38
|
-
export const getAgentStatus = async (token,
|
|
38
|
+
export const getAgentStatus = async (token, runtimeName, agentId, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
|
|
39
39
|
validateToken(token);
|
|
40
40
|
const query = agentId ? `?agent_id=${encodeURIComponent(agentId)}` : '';
|
|
41
41
|
return requestDatalayerAPI({
|
|
42
|
-
url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/agents/${encodeURIComponent(
|
|
42
|
+
url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/agents/${encodeURIComponent(runtimeName)}${query}`,
|
|
43
43
|
method: 'GET',
|
|
44
44
|
token,
|
|
45
45
|
});
|
|
@@ -47,13 +47,13 @@ export const getAgentStatus = async (token, podName, agentId, baseUrl = DEFAULT_
|
|
|
47
47
|
/**
|
|
48
48
|
* Pause a running agent (light checkpoint by default, CRIU optional).
|
|
49
49
|
* @param token - Authentication token
|
|
50
|
-
* @param
|
|
50
|
+
* @param runtimeName - The uid of the runtime
|
|
51
51
|
* @param baseUrl - Base URL
|
|
52
52
|
*/
|
|
53
|
-
export const pauseAgent = async (token,
|
|
53
|
+
export const pauseAgent = async (token, runtimeName, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
|
|
54
54
|
validateToken(token);
|
|
55
55
|
await requestDatalayerAPI({
|
|
56
|
-
url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/agents/${encodeURIComponent(
|
|
56
|
+
url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/agents/${encodeURIComponent(runtimeName)}/pause`,
|
|
57
57
|
method: 'POST',
|
|
58
58
|
token,
|
|
59
59
|
});
|
|
@@ -61,13 +61,13 @@ export const pauseAgent = async (token, podName, baseUrl = DEFAULT_SERVICE_URLS.
|
|
|
61
61
|
/**
|
|
62
62
|
* Resume a paused/checkpointed agent.
|
|
63
63
|
* @param token - Authentication token
|
|
64
|
-
* @param
|
|
64
|
+
* @param runtimeName - The uid of the runtime
|
|
65
65
|
* @param baseUrl - Base URL
|
|
66
66
|
*/
|
|
67
|
-
export const resumeAgent = async (token,
|
|
67
|
+
export const resumeAgent = async (token, runtimeName, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
|
|
68
68
|
validateToken(token);
|
|
69
69
|
await requestDatalayerAPI({
|
|
70
|
-
url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/agents/${encodeURIComponent(
|
|
70
|
+
url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/agents/${encodeURIComponent(runtimeName)}/resume`,
|
|
71
71
|
method: 'POST',
|
|
72
72
|
token,
|
|
73
73
|
});
|
|
@@ -75,15 +75,15 @@ export const resumeAgent = async (token, podName, baseUrl = DEFAULT_SERVICE_URLS
|
|
|
75
75
|
/**
|
|
76
76
|
* Get conversation checkpoints for an agent.
|
|
77
77
|
* @param token - Authentication token
|
|
78
|
-
* @param
|
|
78
|
+
* @param runtimeName - The uid of the runtime
|
|
79
79
|
* @param agentId - Agent ID
|
|
80
80
|
* @param baseUrl - Base URL
|
|
81
81
|
*/
|
|
82
|
-
export const getAgentCheckpoints = async (token,
|
|
82
|
+
export const getAgentCheckpoints = async (token, runtimeName, agentId, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
|
|
83
83
|
validateToken(token);
|
|
84
84
|
const query = agentId ? `?agent_id=${encodeURIComponent(agentId)}` : '';
|
|
85
85
|
return requestDatalayerAPI({
|
|
86
|
-
url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/agents/${encodeURIComponent(
|
|
86
|
+
url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/agents/${encodeURIComponent(runtimeName)}/checkpoints${query}`,
|
|
87
87
|
method: 'GET',
|
|
88
88
|
token,
|
|
89
89
|
});
|
|
@@ -91,15 +91,15 @@ export const getAgentCheckpoints = async (token, podName, agentId, baseUrl = DEF
|
|
|
91
91
|
/**
|
|
92
92
|
* Get usage summary for an agent.
|
|
93
93
|
* @param token - Authentication token
|
|
94
|
-
* @param
|
|
94
|
+
* @param runtimeName - The uid of the runtime
|
|
95
95
|
* @param agentId - Agent ID
|
|
96
96
|
* @param baseUrl - Base URL
|
|
97
97
|
*/
|
|
98
|
-
export const getAgentUsage = async (token,
|
|
98
|
+
export const getAgentUsage = async (token, runtimeName, agentId, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
|
|
99
99
|
validateToken(token);
|
|
100
100
|
const query = agentId ? `?agent_id=${encodeURIComponent(agentId)}` : '';
|
|
101
101
|
return requestDatalayerAPI({
|
|
102
|
-
url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/agents/${encodeURIComponent(
|
|
102
|
+
url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/agents/${encodeURIComponent(runtimeName)}/usage${query}`,
|
|
103
103
|
method: 'GET',
|
|
104
104
|
token,
|
|
105
105
|
});
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Conversation checkpoints of an agent on a local agent-runtimes server.
|
|
3
|
+
*
|
|
4
|
+
* The agent takes its own checkpoints as it runs; these calls let a page see
|
|
5
|
+
* them, take one between turns, rewind to one and drop one. They speak to
|
|
6
|
+
* `/api/v1/agents/{id}/checkpoints` on the server the workspace is backed by,
|
|
7
|
+
* as the Loop's other local calls do — no token, the local server checks
|
|
8
|
+
* none.
|
|
9
|
+
*
|
|
10
|
+
* @module api/checkpoints
|
|
11
|
+
*/
|
|
12
|
+
import type { ConversationCheckpoint, ConversationCheckpointsState } from '../types/checkpoints';
|
|
13
|
+
type CheckpointWire = {
|
|
14
|
+
id: string;
|
|
15
|
+
label: string;
|
|
16
|
+
turn: number;
|
|
17
|
+
message_count: number;
|
|
18
|
+
created_at: string;
|
|
19
|
+
auto?: boolean;
|
|
20
|
+
metadata?: Record<string, unknown>;
|
|
21
|
+
};
|
|
22
|
+
/** The server's record, in the shape the rest of the library already uses. */
|
|
23
|
+
export declare function toConversationCheckpoint(wire: CheckpointWire): ConversationCheckpoint;
|
|
24
|
+
/** Whether the checkpoint was taken by the agent on its own. */
|
|
25
|
+
export declare const isAutoCheckpoint: (checkpoint: ConversationCheckpoint) => boolean;
|
|
26
|
+
/** The agent's checkpoint configuration and its checkpoints, newest first. */
|
|
27
|
+
export declare function listConversationCheckpoints(serverUrl: string, agentId: string): Promise<ConversationCheckpointsState>;
|
|
28
|
+
/** Take a checkpoint of the conversation as the last turn left it. */
|
|
29
|
+
export declare function saveConversationCheckpoint(serverUrl: string, agentId: string, label: string): Promise<ConversationCheckpoint>;
|
|
30
|
+
/**
|
|
31
|
+
* Set the conversation back to a checkpoint. The server pushes a fresh
|
|
32
|
+
* snapshot; the chat reloads its transcript from it.
|
|
33
|
+
*/
|
|
34
|
+
export declare function rewindConversation(serverUrl: string, agentId: string, checkpointId: string): Promise<{
|
|
35
|
+
checkpoint: ConversationCheckpoint;
|
|
36
|
+
messageCount: number;
|
|
37
|
+
}>;
|
|
38
|
+
/** Drop a checkpoint. */
|
|
39
|
+
export declare function deleteConversationCheckpoint(serverUrl: string, agentId: string, checkpointId: string): Promise<void>;
|
|
40
|
+
export {};
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
const trimSlash = (url) => url.replace(/\/+$/, '');
|
|
6
|
+
const base = (serverUrl, agentId) => `${trimSlash(serverUrl)}/api/v1/agents/${encodeURIComponent(agentId)}/checkpoints`;
|
|
7
|
+
async function call(url, init) {
|
|
8
|
+
const response = await fetch(url, {
|
|
9
|
+
...init,
|
|
10
|
+
headers: { 'Content-Type': 'application/json', ...(init?.headers ?? {}) },
|
|
11
|
+
});
|
|
12
|
+
if (!response.ok) {
|
|
13
|
+
let detail = '';
|
|
14
|
+
try {
|
|
15
|
+
const body = (await response.json());
|
|
16
|
+
detail = typeof body.detail === 'string' ? body.detail : '';
|
|
17
|
+
}
|
|
18
|
+
catch {
|
|
19
|
+
// The status line is the message then.
|
|
20
|
+
}
|
|
21
|
+
throw new Error(detail || `${response.status} ${response.statusText}`);
|
|
22
|
+
}
|
|
23
|
+
return (await response.json());
|
|
24
|
+
}
|
|
25
|
+
/** The server's record, in the shape the rest of the library already uses. */
|
|
26
|
+
export function toConversationCheckpoint(wire) {
|
|
27
|
+
return {
|
|
28
|
+
id: wire.id,
|
|
29
|
+
label: wire.label,
|
|
30
|
+
turn: wire.turn,
|
|
31
|
+
messageCount: wire.message_count,
|
|
32
|
+
createdAt: wire.created_at,
|
|
33
|
+
metadata: { ...(wire.metadata ?? {}), auto: wire.auto === true },
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
/** Whether the checkpoint was taken by the agent on its own. */
|
|
37
|
+
export const isAutoCheckpoint = (checkpoint) => checkpoint.metadata?.auto === true;
|
|
38
|
+
/** The agent's checkpoint configuration and its checkpoints, newest first. */
|
|
39
|
+
export async function listConversationCheckpoints(serverUrl, agentId) {
|
|
40
|
+
const wire = await call(base(serverUrl, agentId));
|
|
41
|
+
return {
|
|
42
|
+
agentId: wire.agent_id,
|
|
43
|
+
enabled: wire.enabled,
|
|
44
|
+
frequency: wire.frequency,
|
|
45
|
+
maxCheckpoints: wire.max_checkpoints,
|
|
46
|
+
store: wire.store,
|
|
47
|
+
turn: wire.turn ?? 0,
|
|
48
|
+
checkpoints: (wire.checkpoints ?? []).map(toConversationCheckpoint),
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
/** Take a checkpoint of the conversation as the last turn left it. */
|
|
52
|
+
export async function saveConversationCheckpoint(serverUrl, agentId, label) {
|
|
53
|
+
const wire = await call(base(serverUrl, agentId), {
|
|
54
|
+
method: 'POST',
|
|
55
|
+
body: JSON.stringify({ label }),
|
|
56
|
+
});
|
|
57
|
+
return toConversationCheckpoint(wire);
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Set the conversation back to a checkpoint. The server pushes a fresh
|
|
61
|
+
* snapshot; the chat reloads its transcript from it.
|
|
62
|
+
*/
|
|
63
|
+
export async function rewindConversation(serverUrl, agentId, checkpointId) {
|
|
64
|
+
const wire = await call(`${base(serverUrl, agentId)}/${encodeURIComponent(checkpointId)}/rewind`, {
|
|
65
|
+
method: 'POST',
|
|
66
|
+
});
|
|
67
|
+
return {
|
|
68
|
+
checkpoint: toConversationCheckpoint(wire.checkpoint),
|
|
69
|
+
messageCount: wire.message_count,
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
/** Drop a checkpoint. */
|
|
73
|
+
export async function deleteConversationCheckpoint(serverUrl, agentId, checkpointId) {
|
|
74
|
+
await call(`${base(serverUrl, agentId)}/${encodeURIComponent(checkpointId)}`, { method: 'DELETE' });
|
|
75
|
+
}
|
package/lib/api/index.d.ts
CHANGED
package/lib/api/index.js
CHANGED
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
// approval interactions flow over the websocket stream; see
|
|
16
16
|
// `hooks/useToolApprovals` and `components/ToolApprovalBanner`.
|
|
17
17
|
export * as agents from './agents';
|
|
18
|
+
export * as conversationCheckpoints from './checkpoints';
|
|
18
19
|
export * as context from './context';
|
|
19
20
|
export * as evals from './evals';
|
|
20
21
|
export * as events from './events';
|
|
@@ -58,7 +59,7 @@ export async function getSandboxSnapshots(token, baseUrl) {
|
|
|
58
59
|
export async function createSandboxSnapshot(data, token, baseUrl) {
|
|
59
60
|
// Legacy browser snapshots pass a rich object (connection, metadata, callbacks)
|
|
60
61
|
// that is handled client-side. Keep compatibility by returning early.
|
|
61
|
-
if (!('
|
|
62
|
+
if (!('runtime_name' in data)) {
|
|
62
63
|
return data;
|
|
63
64
|
}
|
|
64
65
|
const response = await createSnapshot(resolveToken(token), data, resolveRuntimesUrl(baseUrl));
|
|
@@ -1,6 +1,20 @@
|
|
|
1
1
|
import type { AgentNotification, NotificationFilters } from '../types';
|
|
2
|
+
/** One notification as the service answers it. */
|
|
3
|
+
interface NotificationRecord {
|
|
4
|
+
id: string;
|
|
5
|
+
agent_id?: string;
|
|
6
|
+
level?: string;
|
|
7
|
+
category?: string;
|
|
8
|
+
title?: string;
|
|
9
|
+
message?: string;
|
|
10
|
+
read?: boolean;
|
|
11
|
+
created_at?: string | null;
|
|
12
|
+
metadata?: Record<string, unknown>;
|
|
13
|
+
}
|
|
14
|
+
/** A record of the service as the notification this client returns. */
|
|
15
|
+
export declare const toAgentNotification: (record: NotificationRecord) => AgentNotification;
|
|
2
16
|
/**
|
|
3
|
-
* List
|
|
17
|
+
* List the caller's notifications with optional filters.
|
|
4
18
|
* @param token - Authentication token
|
|
5
19
|
* @param filters - Optional filters (agentId, level, unreadOnly, category, limit, offset)
|
|
6
20
|
* @param baseUrl - Base URL
|
|
@@ -8,7 +22,7 @@ import type { AgentNotification, NotificationFilters } from '../types';
|
|
|
8
22
|
*/
|
|
9
23
|
export declare const getNotifications: (token: string, filters?: NotificationFilters, baseUrl?: string) => Promise<AgentNotification[]>;
|
|
10
24
|
/**
|
|
11
|
-
* Get
|
|
25
|
+
* Get one of the caller's notifications by ID.
|
|
12
26
|
* @param token - Authentication token
|
|
13
27
|
* @param id - Notification ID
|
|
14
28
|
* @param baseUrl - Base URL
|
|
@@ -22,14 +36,14 @@ export declare const getNotification: (token: string, id: string, baseUrl?: stri
|
|
|
22
36
|
*/
|
|
23
37
|
export declare const markNotificationRead: (token: string, id: string, baseUrl?: string) => Promise<void>;
|
|
24
38
|
/**
|
|
25
|
-
* Mark
|
|
39
|
+
* Mark the caller's notifications as read: the ones named, or all of them.
|
|
26
40
|
* @param token - Authentication token
|
|
27
|
-
* @param
|
|
41
|
+
* @param notificationIds - Optional: only these notifications
|
|
28
42
|
* @param baseUrl - Base URL
|
|
29
43
|
*/
|
|
30
|
-
export declare const markAllRead: (token: string,
|
|
44
|
+
export declare const markAllRead: (token: string, notificationIds?: string[], baseUrl?: string) => Promise<void>;
|
|
31
45
|
/**
|
|
32
|
-
* Get count of unread notifications.
|
|
46
|
+
* Get the count of the caller's unread notifications.
|
|
33
47
|
* @param token - Authentication token
|
|
34
48
|
* @param baseUrl - Base URL
|
|
35
49
|
* @returns Promise resolving to unread count
|
|
@@ -37,3 +51,4 @@ export declare const markAllRead: (token: string, agentId?: string, baseUrl?: st
|
|
|
37
51
|
export declare const getUnreadCount: (token: string, baseUrl?: string) => Promise<{
|
|
38
52
|
count: number;
|
|
39
53
|
}>;
|
|
54
|
+
export {};
|