@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
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* The octicon an agentspec asked for.
|
|
7
|
+
*
|
|
8
|
+
* Every spec names one — `mortar-board` for the tutor, `fold` for the
|
|
9
|
+
* compactor — and until something resolves it, every agent in a menu is drawn
|
|
10
|
+
* with the same fallback and the names do all the work.
|
|
11
|
+
*
|
|
12
|
+
* An explicit map rather than `import * as octicons`. The namespace import
|
|
13
|
+
* resolves any name in one line and pulls the whole icon set into the bundle
|
|
14
|
+
* with it, which a landing page that lazy-loads this workspace pays for on
|
|
15
|
+
* every visit. These are the names the catalogue actually uses.
|
|
16
|
+
*
|
|
17
|
+
* @module loop/plugins/agents/agentIcons
|
|
18
|
+
*/
|
|
19
|
+
import { BeakerIcon, BellIcon, BookIcon, BriefcaseIcon, BrowserIcon, BugIcon, ChecklistIcon, CodeReviewIcon, ClockIcon, CodeIcon, CommentDiscussionIcon, CpuIcon, CreditCardIcon, DatabaseIcon, FileIcon, FoldIcon, GitBranchIcon, GlobeIcon, GraphIcon, HeartIcon, IssueOpenedIcon, LightBulbIcon, ListUnorderedIcon, MailIcon, MegaphoneIcon, MortarBoardIcon, NoteIcon, OrganizationIcon, PackageIcon, PencilIcon, PeopleIcon, PlayIcon, PulseIcon, RssIcon, SearchIcon, ShareAndroidIcon, ShieldCheckIcon, ShieldIcon, SlidersIcon, SunIcon, SyncIcon, TableIcon, TagIcon, TasklistIcon, TelescopeIcon, ToolsIcon, RocketIcon, ZapIcon, } from '@primer/octicons-react';
|
|
20
|
+
import { AiAgentIcon } from '@datalayer/icons-react';
|
|
21
|
+
/** What a spec's `icon` string means, by the name the spec uses. */
|
|
22
|
+
const AGENT_ICONS = {
|
|
23
|
+
agent: AiAgentIcon,
|
|
24
|
+
beaker: BeakerIcon,
|
|
25
|
+
bell: BellIcon,
|
|
26
|
+
book: BookIcon,
|
|
27
|
+
briefcase: BriefcaseIcon,
|
|
28
|
+
browser: BrowserIcon,
|
|
29
|
+
bug: BugIcon,
|
|
30
|
+
clock: ClockIcon,
|
|
31
|
+
code: CodeIcon,
|
|
32
|
+
'comment-discussion': CommentDiscussionIcon,
|
|
33
|
+
cpu: CpuIcon,
|
|
34
|
+
'credit-card': CreditCardIcon,
|
|
35
|
+
database: DatabaseIcon,
|
|
36
|
+
file: FileIcon,
|
|
37
|
+
checklist: ChecklistIcon,
|
|
38
|
+
'code-review': CodeReviewIcon,
|
|
39
|
+
fold: FoldIcon,
|
|
40
|
+
'git-branch': GitBranchIcon,
|
|
41
|
+
globe: GlobeIcon,
|
|
42
|
+
graph: GraphIcon,
|
|
43
|
+
heart: HeartIcon,
|
|
44
|
+
'issue-opened': IssueOpenedIcon,
|
|
45
|
+
lightbulb: LightBulbIcon,
|
|
46
|
+
// The name octicons actually use; `lightbulb` above is kept for the specs
|
|
47
|
+
// that were already written against it.
|
|
48
|
+
'light-bulb': LightBulbIcon,
|
|
49
|
+
'list-unordered': ListUnorderedIcon,
|
|
50
|
+
mail: MailIcon,
|
|
51
|
+
megaphone: MegaphoneIcon,
|
|
52
|
+
'mortar-board': MortarBoardIcon,
|
|
53
|
+
note: NoteIcon,
|
|
54
|
+
organization: OrganizationIcon,
|
|
55
|
+
package: PackageIcon,
|
|
56
|
+
pencil: PencilIcon,
|
|
57
|
+
people: PeopleIcon,
|
|
58
|
+
play: PlayIcon,
|
|
59
|
+
pulse: PulseIcon,
|
|
60
|
+
rss: RssIcon,
|
|
61
|
+
search: SearchIcon,
|
|
62
|
+
'share-2': ShareAndroidIcon,
|
|
63
|
+
shield: ShieldIcon,
|
|
64
|
+
'shield-check': ShieldCheckIcon,
|
|
65
|
+
sliders: SlidersIcon,
|
|
66
|
+
sun: SunIcon,
|
|
67
|
+
sync: SyncIcon,
|
|
68
|
+
table: TableIcon,
|
|
69
|
+
tag: TagIcon,
|
|
70
|
+
tasklist: TasklistIcon,
|
|
71
|
+
telescope: TelescopeIcon,
|
|
72
|
+
tools: ToolsIcon,
|
|
73
|
+
// Octicons has no trending icon; the landing's registry makes the same
|
|
74
|
+
// substitution, so the two agree on what this name draws.
|
|
75
|
+
'trending-up': GraphIcon,
|
|
76
|
+
rocket: RocketIcon,
|
|
77
|
+
zap: ZapIcon,
|
|
78
|
+
};
|
|
79
|
+
/**
|
|
80
|
+
* The icon for a spec's `icon` value, or the generic agent one.
|
|
81
|
+
*
|
|
82
|
+
* Never undefined: a menu row with a gap where its neighbours have icons reads
|
|
83
|
+
* as a rendering fault, and "some agent" is a true thing to draw.
|
|
84
|
+
*/
|
|
85
|
+
export function agentIcon(name) {
|
|
86
|
+
return (name ? AGENT_ICONS[name] : undefined) ?? AiAgentIcon;
|
|
87
|
+
}
|
|
88
|
+
export default agentIcon;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { ServiceManager } from '@jupyterlab/services';
|
|
2
|
+
import type { SandboxService } from './service';
|
|
3
|
+
/** What a browser sandbox additionally exposes. */
|
|
4
|
+
export type BrowserSandboxService = SandboxService & {
|
|
5
|
+
/** `'browser'`, so callers can tell what they are holding. */
|
|
6
|
+
readonly kind: 'browser';
|
|
7
|
+
/**
|
|
8
|
+
* The in-browser Jupyter services, once the kernel is up.
|
|
9
|
+
*
|
|
10
|
+
* The notebook and document views bind to *this* manager rather than opening
|
|
11
|
+
* one of their own, so the code a person runs in a cell and the code the
|
|
12
|
+
* agent runs through the sandbox land in the same kernel — which is the whole
|
|
13
|
+
* point of a shared sandbox.
|
|
14
|
+
*/
|
|
15
|
+
getServiceManager: () => ServiceManager.IManager | null;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* How a kernel-backed sandbox gets its services.
|
|
19
|
+
*
|
|
20
|
+
* The browser builds a JupyterLite manager; JupyterLab hands over the one the
|
|
21
|
+
* application already has. Everything after that — starting a session,
|
|
22
|
+
* executing, collecting outputs — is identical, which is why it is one
|
|
23
|
+
* implementation with this as its only variable.
|
|
24
|
+
*/
|
|
25
|
+
export type ServiceManagerSource = {
|
|
26
|
+
/** Where the kernel runs, for the snapshot and for callers that must ask. */
|
|
27
|
+
variant: string;
|
|
28
|
+
/** Produce the services. Called once, on first connect. */
|
|
29
|
+
acquire: () => Promise<ServiceManager.IManager>;
|
|
30
|
+
/**
|
|
31
|
+
* Undo whatever `acquire` did to state outside itself.
|
|
32
|
+
*
|
|
33
|
+
* Optional, because most sources take nothing: only the in-page one has to
|
|
34
|
+
* repoint the page's shared Jupyter configuration at this origin, and only
|
|
35
|
+
* it has anything to give back.
|
|
36
|
+
*/
|
|
37
|
+
release?: () => void;
|
|
38
|
+
/** Whether this sandbox owns the manager and should dispose it on stop. */
|
|
39
|
+
owned: boolean;
|
|
40
|
+
};
|
|
41
|
+
/** A sandbox on a JupyterLite kernel in this page. */
|
|
42
|
+
export declare function browserSource(): ServiceManagerSource;
|
|
43
|
+
/**
|
|
44
|
+
* A sandbox on services someone else owns — JupyterLab's, typically.
|
|
45
|
+
*
|
|
46
|
+
* `owned: false` matters: disconnecting must not dispose a manager the host is
|
|
47
|
+
* still using for every other notebook it has open.
|
|
48
|
+
*/
|
|
49
|
+
export declare function suppliedSource(manager: ServiceManager.IManager, variant?: string): ServiceManagerSource;
|
|
50
|
+
export declare function createBrowserSandboxService(source?: ServiceManagerSource): BrowserSandboxService;
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* The sandbox, in the browser.
|
|
7
|
+
*
|
|
8
|
+
* Pyodide is not a `code_sandboxes` variant and never will be — that catalogue
|
|
9
|
+
* is server-side by construction (`docker`, `e2b`, `jupyter-server`, `modal`).
|
|
10
|
+
* This is a *second implementation of the same interface*, which is what the
|
|
11
|
+
* interface was for. If `SandboxService` could not be re-implemented against a
|
|
12
|
+
* browser kernel, it would not be an interface; it would be one implementation
|
|
13
|
+
* with a type annotation.
|
|
14
|
+
*
|
|
15
|
+
* Everything heavy — JupyterLite, the Pyodide kernel, Lumino — is behind a
|
|
16
|
+
* dynamic `import()` inside `connect()`, so a workspace that never starts a
|
|
17
|
+
* browser sandbox never downloads one.
|
|
18
|
+
*
|
|
19
|
+
* @module loop/plugins/agents/browserService
|
|
20
|
+
*/
|
|
21
|
+
import { computed, signal } from '@datalayer/reactor';
|
|
22
|
+
import { PageConfig } from '@jupyterlab/coreutils';
|
|
23
|
+
/** Collects one execution's outputs from the kernel's IOPub stream. */
|
|
24
|
+
function collect(message, into) {
|
|
25
|
+
const type = message?.header?.msg_type;
|
|
26
|
+
const content = message?.content ?? {};
|
|
27
|
+
if (type === 'stream') {
|
|
28
|
+
into.stdout.push(String(content.text ?? ''));
|
|
29
|
+
into.outputs.push({ output_type: 'stream', text: content.text });
|
|
30
|
+
}
|
|
31
|
+
else if (type === 'execute_result' || type === 'display_data') {
|
|
32
|
+
into.outputs.push({ output_type: type, data: content.data });
|
|
33
|
+
}
|
|
34
|
+
else if (type === 'error') {
|
|
35
|
+
into.error = `${content.ename ?? 'Error'}: ${content.evalue ?? ''}`;
|
|
36
|
+
into.outputs.push({
|
|
37
|
+
output_type: 'error',
|
|
38
|
+
ename: content.ename,
|
|
39
|
+
evalue: content.evalue,
|
|
40
|
+
traceback: content.traceback,
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
/** A sandbox on a JupyterLite kernel in this page. */
|
|
45
|
+
export function browserSource() {
|
|
46
|
+
/** Where the page was pointed before this sandbox repointed it. */
|
|
47
|
+
let pointedAt;
|
|
48
|
+
return {
|
|
49
|
+
variant: 'pyodide',
|
|
50
|
+
// Dynamic: JupyterLite and the Pyodide kernel are megabytes, and a
|
|
51
|
+
// workspace that never opens a browser sandbox should never pay for them.
|
|
52
|
+
acquire: async () => {
|
|
53
|
+
const { createLiteServiceManager, jupyterReactStore, loadJupyterConfig } = await import('@datalayer/jupyter-react');
|
|
54
|
+
/*
|
|
55
|
+
* Point Jupyter at this page before building the kernel that lives in it.
|
|
56
|
+
*
|
|
57
|
+
* A JupyterLite service manager takes its `serverSettings` from
|
|
58
|
+
* `PageConfig` at the moment it is created, and JupyterLab's kernel
|
|
59
|
+
* connection then opens a socket at `wsUrl`. So whatever set that option
|
|
60
|
+
* last decides where an *in-page* kernel looks for itself: on a host
|
|
61
|
+
* configured for a remote Jupyter — which any signed-in Datalayer page
|
|
62
|
+
* is — the browser sandbox started a WebSocket to that remote host, was
|
|
63
|
+
* refused, and every cell ran into silence. No error, no output, nothing
|
|
64
|
+
* to act on; the kernel was fine and nobody was talking to it.
|
|
65
|
+
*
|
|
66
|
+
* `loadJupyterConfig({ lite: true })` is jupyter-react's own way of
|
|
67
|
+
* saying "the page is the server": it points the base and socket URLs at
|
|
68
|
+
* this origin, where JupyterLite's service worker is listening. It also
|
|
69
|
+
* initialises the config, which the plain setter refuses to do — and a
|
|
70
|
+
* workspace can start a sandbox before any Jupyter component has mounted
|
|
71
|
+
* to load one.
|
|
72
|
+
*/
|
|
73
|
+
pointedAt = pointedAt ?? {
|
|
74
|
+
baseUrl: PageConfig.getOption('baseUrl'),
|
|
75
|
+
wsUrl: PageConfig.getOption('wsUrl'),
|
|
76
|
+
};
|
|
77
|
+
loadJupyterConfig({ lite: true });
|
|
78
|
+
const manager = await createLiteServiceManager();
|
|
79
|
+
// Publish it to jupyter-react's store, which is what any component
|
|
80
|
+
// reached through `useJupyter()` without a manager of its own falls back
|
|
81
|
+
// to. Without this, a Jupyter cell dropped into the document built a
|
|
82
|
+
// second manager from the page's configured Jupyter URL and polled a
|
|
83
|
+
// server nobody asked for — the CORS failures came from there, while the
|
|
84
|
+
// cell itself ran perfectly on the kernel in this page.
|
|
85
|
+
jupyterReactStore.getState().setServiceManager(manager);
|
|
86
|
+
return manager;
|
|
87
|
+
},
|
|
88
|
+
/*
|
|
89
|
+
* Put the page back the way it was found.
|
|
90
|
+
*
|
|
91
|
+
* `PageConfig` is a singleton the whole page shares, and a workspace is a
|
|
92
|
+
* component on somebody's page rather than the page itself. Leaving it
|
|
93
|
+
* pointed at this origin after the reader moves the sandbox elsewhere
|
|
94
|
+
* would break the next thing to read it — which, in the app, is a notebook
|
|
95
|
+
* that belongs to a runtime somewhere else.
|
|
96
|
+
*/
|
|
97
|
+
release: () => {
|
|
98
|
+
if (!pointedAt) {
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
PageConfig.setOption('baseUrl', pointedAt.baseUrl);
|
|
102
|
+
PageConfig.setOption('wsUrl', pointedAt.wsUrl);
|
|
103
|
+
pointedAt = undefined;
|
|
104
|
+
},
|
|
105
|
+
owned: true,
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* A sandbox on services someone else owns — JupyterLab's, typically.
|
|
110
|
+
*
|
|
111
|
+
* `owned: false` matters: disconnecting must not dispose a manager the host is
|
|
112
|
+
* still using for every other notebook it has open.
|
|
113
|
+
*/
|
|
114
|
+
export function suppliedSource(manager, variant = 'jupyter-server') {
|
|
115
|
+
return { variant, acquire: async () => manager, owned: false };
|
|
116
|
+
}
|
|
117
|
+
export function createBrowserSandboxService(source = browserSource()) {
|
|
118
|
+
const status = signal(null);
|
|
119
|
+
const lifecycle = signal('idle');
|
|
120
|
+
const lastExecution = signal(null);
|
|
121
|
+
const snapshot = computed(() => ({
|
|
122
|
+
state: lifecycle.value,
|
|
123
|
+
variant: source.variant,
|
|
124
|
+
kernelId: status.value?.kernel_id,
|
|
125
|
+
}));
|
|
126
|
+
const ready = computed(() => lifecycle.value === 'running');
|
|
127
|
+
let serviceManager = null;
|
|
128
|
+
let kernel = null;
|
|
129
|
+
let starting = null;
|
|
130
|
+
async function start() {
|
|
131
|
+
if (kernel) {
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
lifecycle.value = 'starting';
|
|
135
|
+
serviceManager = await source.acquire();
|
|
136
|
+
const connection = await serviceManager.sessions.startNew({
|
|
137
|
+
name: 'loop',
|
|
138
|
+
path: 'loop.ipynb',
|
|
139
|
+
type: 'notebook',
|
|
140
|
+
kernel: { name: 'python' },
|
|
141
|
+
});
|
|
142
|
+
kernel = connection.kernel;
|
|
143
|
+
status.value = {
|
|
144
|
+
variant: source.variant,
|
|
145
|
+
sandbox_running: true,
|
|
146
|
+
kernel_id: kernel?.id,
|
|
147
|
+
kernel_name: 'python',
|
|
148
|
+
};
|
|
149
|
+
lifecycle.value = 'running';
|
|
150
|
+
}
|
|
151
|
+
return {
|
|
152
|
+
kind: 'browser',
|
|
153
|
+
snapshot,
|
|
154
|
+
status,
|
|
155
|
+
ready,
|
|
156
|
+
lastExecution,
|
|
157
|
+
// No server backs this sandbox. Callers that need one — the A2UI converter
|
|
158
|
+
// lives on the server — should ask `kind` rather than discover it here.
|
|
159
|
+
serverUrl: '',
|
|
160
|
+
getServiceManager: () => serviceManager,
|
|
161
|
+
report(next) {
|
|
162
|
+
status.value = next;
|
|
163
|
+
},
|
|
164
|
+
setState(state) {
|
|
165
|
+
lifecycle.value = state;
|
|
166
|
+
},
|
|
167
|
+
connect() {
|
|
168
|
+
// Starting a Pyodide kernel takes seconds and megabytes; do it once, and
|
|
169
|
+
// let a second caller await the same start rather than racing it.
|
|
170
|
+
starting =
|
|
171
|
+
starting ??
|
|
172
|
+
start().catch(error => {
|
|
173
|
+
lifecycle.value = 'error';
|
|
174
|
+
status.value = null;
|
|
175
|
+
starting = null;
|
|
176
|
+
throw error;
|
|
177
|
+
});
|
|
178
|
+
void starting;
|
|
179
|
+
return () => {
|
|
180
|
+
// Shut down the kernel this sandbox started, but never the manager
|
|
181
|
+
// when the host owns it — JupyterLab is still using it for every other
|
|
182
|
+
// notebook that is open.
|
|
183
|
+
void kernel?.shutdown?.();
|
|
184
|
+
kernel = null;
|
|
185
|
+
serviceManager = source.owned ? null : serviceManager;
|
|
186
|
+
// And hand back whatever the source borrowed from the page.
|
|
187
|
+
source.release?.();
|
|
188
|
+
starting = null;
|
|
189
|
+
lifecycle.value = 'idle';
|
|
190
|
+
status.value = null;
|
|
191
|
+
};
|
|
192
|
+
},
|
|
193
|
+
async execute(code) {
|
|
194
|
+
const startedAt = Date.now();
|
|
195
|
+
try {
|
|
196
|
+
await (starting ?? start());
|
|
197
|
+
if (!kernel) {
|
|
198
|
+
throw new Error('The browser kernel did not start');
|
|
199
|
+
}
|
|
200
|
+
const gathered = {
|
|
201
|
+
outputs: [],
|
|
202
|
+
stdout: [],
|
|
203
|
+
error: '',
|
|
204
|
+
};
|
|
205
|
+
const future = kernel.requestExecute({ code });
|
|
206
|
+
future.onIOPub = message => collect(message, gathered);
|
|
207
|
+
await future.done;
|
|
208
|
+
const execution = {
|
|
209
|
+
code,
|
|
210
|
+
success: !gathered.error,
|
|
211
|
+
stdout: gathered.stdout.join(''),
|
|
212
|
+
error: gathered.error || undefined,
|
|
213
|
+
outputs: gathered.outputs,
|
|
214
|
+
startedAt,
|
|
215
|
+
finishedAt: Date.now(),
|
|
216
|
+
};
|
|
217
|
+
lastExecution.value = execution;
|
|
218
|
+
return execution;
|
|
219
|
+
}
|
|
220
|
+
catch (error) {
|
|
221
|
+
const execution = {
|
|
222
|
+
code,
|
|
223
|
+
success: false,
|
|
224
|
+
error: error instanceof Error ? error.message : String(error),
|
|
225
|
+
startedAt,
|
|
226
|
+
finishedAt: Date.now(),
|
|
227
|
+
};
|
|
228
|
+
lastExecution.value = execution;
|
|
229
|
+
return execution;
|
|
230
|
+
}
|
|
231
|
+
},
|
|
232
|
+
};
|
|
233
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@datalayer/loop-plugin-agents` — the sandbox, owned in one place.
|
|
3
|
+
*
|
|
4
|
+
* @module loop/plugins/agents
|
|
5
|
+
*/
|
|
6
|
+
export { AGENTS_PLUGIN_NAME, AgentsPlugin, type AgentsConfig, type AgentsOutput, } from './plugin';
|
|
7
|
+
export { AgentsPlugin as default } from './plugin';
|
|
8
|
+
export { browserSource, createBrowserSandboxService, suppliedSource, type BrowserSandboxService, type ServiceManagerSource, } from './browserService';
|
|
9
|
+
export { createServerSandboxService, summarize, type SandboxExecution, type SandboxService, type SandboxStatusPayload, } from './service';
|
|
10
|
+
export { useOptionalSandboxService, useSandboxService, } from './useSandboxService';
|
|
11
|
+
export { SandboxStatusBridge } from './SandboxStatusBridge';
|
|
12
|
+
export { SandboxSelector } from './SandboxSelector';
|
|
13
|
+
export { SANDBOX_TARGETS, TARGET_SPECS, targetHasAgent, targetRunsAgentInPage, createSwitchableSandboxService, type SandboxTarget, type SwitchableSandboxService, } from './switchable';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* `@datalayer/loop-plugin-agents` — the sandbox, owned in one place.
|
|
7
|
+
*
|
|
8
|
+
* @module loop/plugins/agents
|
|
9
|
+
*/
|
|
10
|
+
export { AGENTS_PLUGIN_NAME, AgentsPlugin, } from './plugin';
|
|
11
|
+
export { AgentsPlugin as default } from './plugin';
|
|
12
|
+
export { browserSource, createBrowserSandboxService, suppliedSource, } from './browserService';
|
|
13
|
+
export { createServerSandboxService, summarize, } from './service';
|
|
14
|
+
export { useOptionalSandboxService, useSandboxService, } from './useSandboxService';
|
|
15
|
+
export { SandboxStatusBridge } from './SandboxStatusBridge';
|
|
16
|
+
export { SandboxSelector } from './SandboxSelector';
|
|
17
|
+
export { SANDBOX_TARGETS, TARGET_SPECS, targetHasAgent, targetRunsAgentInPage, createSwitchableSandboxService, } from './switchable';
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import type { ReactorSlotComponent } from '@datalayer/reactor/react';
|
|
2
|
+
import type { ServiceManagerSource } from './browserService';
|
|
3
|
+
import { type TeamSelection } from './team';
|
|
4
|
+
import { type SandboxTarget, type SwitchableSandboxService } from './switchable';
|
|
5
|
+
export declare const AGENTS_PLUGIN_NAME = "@datalayer/loop-plugin-agents";
|
|
6
|
+
export type AgentsConfig = {
|
|
7
|
+
/** Server the server-backed targets are reached through. */
|
|
8
|
+
serverUrl: string;
|
|
9
|
+
/**
|
|
10
|
+
* Where the sandbox starts.
|
|
11
|
+
*
|
|
12
|
+
* `browser` runs Python in the page through a Pyodide kernel; `local` and
|
|
13
|
+
* `cloud` are server-backed and differ in the variant the server runs. A
|
|
14
|
+
* reader can move it afterwards from the header — the same interface, three
|
|
15
|
+
* things behind it, which is the test of whether it is an interface at all.
|
|
16
|
+
*/
|
|
17
|
+
target?: SandboxTarget;
|
|
18
|
+
/** Agent creation payload used by the Local target. */
|
|
19
|
+
localAgent?: {
|
|
20
|
+
createPayload: Record<string, unknown>;
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Whether the workspace header carries the agent summary badge.
|
|
24
|
+
*
|
|
25
|
+
* True by default: the badge is how the workspace says what it is talking
|
|
26
|
+
* to. False for a host whose page already introduces the agent — a landing
|
|
27
|
+
* page names it in the copy around the embed, and a second summary inside
|
|
28
|
+
* is the introduction made twice.
|
|
29
|
+
*/
|
|
30
|
+
showAgentSummary?: boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Where the in-page kernel comes from, when the host has one of its own.
|
|
33
|
+
*
|
|
34
|
+
* JupyterLab supplies `suppliedSource(app.serviceManager)`, so the agent runs
|
|
35
|
+
* in the kernel the user is already looking at.
|
|
36
|
+
*/
|
|
37
|
+
kernelSource?: ServiceManagerSource;
|
|
38
|
+
/**
|
|
39
|
+
* Whether a reader may choose where the agent runs.
|
|
40
|
+
*
|
|
41
|
+
* True by default: the control in the header is the thing that makes
|
|
42
|
+
* "browser, local or cloud" a choice rather than a build-time decision.
|
|
43
|
+
*
|
|
44
|
+
* A host that has already decided passes `false`, and then only the browser
|
|
45
|
+
* is offered — no control, and the target pinned to the one location that
|
|
46
|
+
* needs nothing behind it. That is what a public page wants: a visitor with
|
|
47
|
+
* no account cannot reach a local server or a Datalayer runtime, so offering
|
|
48
|
+
* them is offering three doors of which two are locked.
|
|
49
|
+
*/
|
|
50
|
+
showAgentVariants?: boolean;
|
|
51
|
+
/**
|
|
52
|
+
* The team this workspace works with, by id.
|
|
53
|
+
*
|
|
54
|
+
* A team is a group of agents with one front door — `jupyter` is a
|
|
55
|
+
* tutor and a compactor behind a supervising tutor. Given one, the header
|
|
56
|
+
* gains a control for choosing which member the next prompt reaches, and the
|
|
57
|
+
* teamspec decides what each of them is told about the conversation.
|
|
58
|
+
*/
|
|
59
|
+
teamId?: string;
|
|
60
|
+
/**
|
|
61
|
+
* Whether the header offers the team's member picker.
|
|
62
|
+
*
|
|
63
|
+
* True by default: with a team there is a choice to make, and the picker is
|
|
64
|
+
* what makes it. A host that draws the choice itself — a presence strip
|
|
65
|
+
* whose avatars address a member, say — passes `false`, and the choice
|
|
66
|
+
* stays available from the composer's agents menu regardless.
|
|
67
|
+
*/
|
|
68
|
+
showTeamPicker?: boolean;
|
|
69
|
+
/**
|
|
70
|
+
* The agentspec the Datalayer target runs.
|
|
71
|
+
*
|
|
72
|
+
* That target allocates a runtime and creates an agent on it from this spec.
|
|
73
|
+
* The other targets take their agent from wherever they already run one.
|
|
74
|
+
*/
|
|
75
|
+
datalayerAgentSpecId?: string;
|
|
76
|
+
};
|
|
77
|
+
export type AgentsOutput = {
|
|
78
|
+
sandbox: SwitchableSandboxService;
|
|
79
|
+
/**
|
|
80
|
+
* Who the next prompt goes to, when this workspace runs a team.
|
|
81
|
+
*
|
|
82
|
+
* Absent for the ordinary case of one agent: a workspace with nothing to
|
|
83
|
+
* choose between should not have to carry a selection, and a picker with one
|
|
84
|
+
* option is furniture.
|
|
85
|
+
*/
|
|
86
|
+
team?: TeamSelection;
|
|
87
|
+
/** Rendered by `ReactorSlot`; see `ReactorReactOutput`. */
|
|
88
|
+
components: ReactorSlotComponent[];
|
|
89
|
+
};
|
|
90
|
+
export declare const AgentsPlugin: import("@datalayer/reactor").ReactorPlugin<AgentsConfig, unknown, AgentsOutput>;
|
|
91
|
+
export default AgentsPlugin;
|