@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,37 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
/** What a reservation is offered before any credits are known. */
|
|
6
|
+
export const DEFAULT_MINUTES_FLOOR = 10;
|
|
7
|
+
export function codeSandboxAllowance({ available, includedRuns, currentRuns, burningRate, }) {
|
|
8
|
+
const hasKnownRunAllowance = typeof includedRuns === 'number';
|
|
9
|
+
const hasRemainingRuns = hasKnownRunAllowance &&
|
|
10
|
+
typeof currentRuns === 'number' &&
|
|
11
|
+
includedRuns > 0 &&
|
|
12
|
+
currentRuns < includedRuns;
|
|
13
|
+
/*
|
|
14
|
+
* Finite, not merely a number: `NaN` is a `number`, and reading it as a
|
|
15
|
+
* known balance is how an account holding thousands of credits was offered
|
|
16
|
+
* the ten-minute floor. Unknown is unknown, and says so.
|
|
17
|
+
*/
|
|
18
|
+
const hasKnownCredits = Number.isFinite(available);
|
|
19
|
+
const maxFromCredits = burningRate && burningRate > 0 && hasKnownCredits
|
|
20
|
+
? Math.floor((available ?? 0) / burningRate / 60.0)
|
|
21
|
+
: undefined;
|
|
22
|
+
const effectiveMaxMinutes = hasKnownCredits && hasKnownRunAllowance && !hasRemainingRuns
|
|
23
|
+
? Math.max(1, maxFromCredits ?? 0)
|
|
24
|
+
: Math.max(DEFAULT_MINUTES_FLOOR, maxFromCredits && maxFromCredits > 0 ? maxFromCredits : 0);
|
|
25
|
+
const outOfCredits = hasKnownCredits &&
|
|
26
|
+
hasKnownRunAllowance &&
|
|
27
|
+
!hasRemainingRuns &&
|
|
28
|
+
((available ?? 0) <= 0 || (maxFromCredits ?? 0) < Number.EPSILON);
|
|
29
|
+
return {
|
|
30
|
+
maxFromCredits,
|
|
31
|
+
effectiveMaxMinutes,
|
|
32
|
+
outOfCredits,
|
|
33
|
+
hasKnownCredits,
|
|
34
|
+
hasKnownRunAllowance,
|
|
35
|
+
hasRemainingRuns,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What the environment dropdown says about an environment, as rules.
|
|
3
|
+
*
|
|
4
|
+
* The listing now holds two kinds of thing: the platform's environments, which
|
|
5
|
+
* have always been there, and the environments people build (PLAN_ENV.md,
|
|
6
|
+
* E1-01). They are told apart, grouped, priced and — where a variant was never
|
|
7
|
+
* built — refused here rather than in the components, so the launcher and the
|
|
8
|
+
* picker cannot come to different conclusions about the same entry, and so the
|
|
9
|
+
* rules can be read and tested without a DOM.
|
|
10
|
+
*
|
|
11
|
+
* Nothing in this module writes a rate: the burning rate of a user environment
|
|
12
|
+
* is the rate of the size class its promoted version names, and the listing
|
|
13
|
+
* carries it (D-4, E1-19).
|
|
14
|
+
*
|
|
15
|
+
* @module components/code-sandboxes/codeSandboxEnvironments
|
|
16
|
+
*/
|
|
17
|
+
import type { IDatalayerEnvironment } from '../../models';
|
|
18
|
+
import type { ICodeSandboxEnvironmentOption } from './CodeSandboxEnvironmentSelect';
|
|
19
|
+
/**
|
|
20
|
+
* The variant a sandbox of THIS platform starts on.
|
|
21
|
+
*
|
|
22
|
+
* A user environment may be built for Modal, Daytona or E2B as well; those
|
|
23
|
+
* sandboxes are launched at their provider, not from this dropdown, so what
|
|
24
|
+
* decides whether an entry can be launched here is the Datalayer artifact.
|
|
25
|
+
*/
|
|
26
|
+
export declare const DATALAYER_LAUNCH_VARIANT = "datalayer";
|
|
27
|
+
/** Where an entry is listed. */
|
|
28
|
+
export type CodeSandboxEnvironmentGroup = 'yours' | 'organizations' | 'library' | 'platform';
|
|
29
|
+
/** The heading each group reads under. */
|
|
30
|
+
export declare const CODE_SANDBOX_ENVIRONMENT_GROUP_TITLES: Record<CodeSandboxEnvironmentGroup, string>;
|
|
31
|
+
/**
|
|
32
|
+
* The order the groups are offered in: what is yours first, then your
|
|
33
|
+
* organizations', then the environments you found in the Library, and the
|
|
34
|
+
* platform's own catalogue last, since it is the always-there fallback.
|
|
35
|
+
*/
|
|
36
|
+
export declare const CODE_SANDBOX_ENVIRONMENT_GROUP_ORDER: CodeSandboxEnvironmentGroup[];
|
|
37
|
+
/** Who is looking: an account uid and a handle, as the IAM store holds them. */
|
|
38
|
+
export type ICodeSandboxEnvironmentViewer = {
|
|
39
|
+
uid?: string;
|
|
40
|
+
handle?: string;
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* Which group an entry belongs to.
|
|
44
|
+
*
|
|
45
|
+
* An entry that reached the picker through the public Library is a *library*
|
|
46
|
+
* entry, whoever owns it: a published environment is offered where a reader who
|
|
47
|
+
* came from its public page looks for it (D-12, E2-16). Otherwise a platform
|
|
48
|
+
* entry says so with its `origin`. A user environment is the caller's own when
|
|
49
|
+
* the account that owns it is theirs — by uid, or by the handle its name is
|
|
50
|
+
* written with, `ada/geo`, since that is all an entry carries when the uid is
|
|
51
|
+
* not at hand. Everything else a caller can see is an environment of one of
|
|
52
|
+
* their organizations: the listing only ever offers them their own accounts'
|
|
53
|
+
* (D-19).
|
|
54
|
+
*/
|
|
55
|
+
export declare function codeSandboxEnvironmentGroupOf(environment: Pick<IDatalayerEnvironment, 'name' | 'origin' | 'owner' | 'fromLibrary'>, viewer?: ICodeSandboxEnvironmentViewer): CodeSandboxEnvironmentGroup;
|
|
56
|
+
/** The version a launch of this entry runs, when it is a version anyone pinned. */
|
|
57
|
+
export declare function codeSandboxEnvironmentVersion(environment: Pick<IDatalayerEnvironment, 'origin' | 'promotedVersion'>): number | undefined;
|
|
58
|
+
/** The address of a version's page (E1-21), where its builds are. */
|
|
59
|
+
export declare function environmentVersionHref(uid: string, version?: number): string;
|
|
60
|
+
/**
|
|
61
|
+
* Whether a sandbox of this entry can be started from here.
|
|
62
|
+
*
|
|
63
|
+
* A platform entry always can. A user environment can once a version is
|
|
64
|
+
* promoted AND that version has a Datalayer artifact: without one the Operator
|
|
65
|
+
* refuses the launch with `DL_ENV_ARTIFACT_MISSING`, so offering it would be
|
|
66
|
+
* offering a failure. A listing that does not say which variants are built —
|
|
67
|
+
* an older Runtimes — is believed rather than doubted: the entry stays
|
|
68
|
+
* offered, and the refusal, if any, comes from the platform as it did before.
|
|
69
|
+
*/
|
|
70
|
+
export declare function isCodeSandboxEnvironmentLaunchable(environment: Pick<IDatalayerEnvironment, 'origin' | 'promotedVersion' | 'availableVariants' | 'burning_rate'>): boolean;
|
|
71
|
+
/**
|
|
72
|
+
* Where "Build for this variant" leads: the version's own page, which is where
|
|
73
|
+
* a build of it is started. Only offered for an entry that has a version to
|
|
74
|
+
* build, and only when the entry cannot be launched as it stands.
|
|
75
|
+
*/
|
|
76
|
+
export declare function codeSandboxEnvironmentBuildHref(environment: Pick<IDatalayerEnvironment, 'uid' | 'origin' | 'promotedVersion' | 'availableVariants'>): string | undefined;
|
|
77
|
+
/** One entry as the dropdown shows it: what it is, what it costs, and whether it can run. */
|
|
78
|
+
export declare function codeSandboxEnvironmentOption(environment: IDatalayerEnvironment, viewer?: ICodeSandboxEnvironmentViewer, extra?: Partial<ICodeSandboxEnvironmentOption>): ICodeSandboxEnvironmentOption;
|
|
79
|
+
/**
|
|
80
|
+
* The entries of the dropdown, in the order they read: what is yours, then
|
|
81
|
+
* your organizations', then the platform's, each in the order the listing gave
|
|
82
|
+
* them.
|
|
83
|
+
*/
|
|
84
|
+
export declare function codeSandboxEnvironmentOptions(environments: readonly IDatalayerEnvironment[], viewer?: ICodeSandboxEnvironmentViewer, decorate?: (environment: IDatalayerEnvironment) => Partial<ICodeSandboxEnvironmentOption>): ICodeSandboxEnvironmentOption[];
|
|
85
|
+
/** The first entry a launcher may open on: never one that cannot be launched. */
|
|
86
|
+
export declare function firstLaunchableCodeSandboxEnvironment(environments: readonly IDatalayerEnvironment[]): IDatalayerEnvironment | undefined;
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* The variant a sandbox of THIS platform starts on.
|
|
7
|
+
*
|
|
8
|
+
* A user environment may be built for Modal, Daytona or E2B as well; those
|
|
9
|
+
* sandboxes are launched at their provider, not from this dropdown, so what
|
|
10
|
+
* decides whether an entry can be launched here is the Datalayer artifact.
|
|
11
|
+
*/
|
|
12
|
+
export const DATALAYER_LAUNCH_VARIANT = 'datalayer';
|
|
13
|
+
/** The heading each group reads under. */
|
|
14
|
+
export const CODE_SANDBOX_ENVIRONMENT_GROUP_TITLES = {
|
|
15
|
+
yours: 'Your environments',
|
|
16
|
+
organizations: "Your organizations' environments",
|
|
17
|
+
library: 'Library',
|
|
18
|
+
platform: 'Platform environments',
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* The order the groups are offered in: what is yours first, then your
|
|
22
|
+
* organizations', then the environments you found in the Library, and the
|
|
23
|
+
* platform's own catalogue last, since it is the always-there fallback.
|
|
24
|
+
*/
|
|
25
|
+
export const CODE_SANDBOX_ENVIRONMENT_GROUP_ORDER = ['yours', 'organizations', 'library', 'platform'];
|
|
26
|
+
/**
|
|
27
|
+
* Which group an entry belongs to.
|
|
28
|
+
*
|
|
29
|
+
* An entry that reached the picker through the public Library is a *library*
|
|
30
|
+
* entry, whoever owns it: a published environment is offered where a reader who
|
|
31
|
+
* came from its public page looks for it (D-12, E2-16). Otherwise a platform
|
|
32
|
+
* entry says so with its `origin`. A user environment is the caller's own when
|
|
33
|
+
* the account that owns it is theirs — by uid, or by the handle its name is
|
|
34
|
+
* written with, `ada/geo`, since that is all an entry carries when the uid is
|
|
35
|
+
* not at hand. Everything else a caller can see is an environment of one of
|
|
36
|
+
* their organizations: the listing only ever offers them their own accounts'
|
|
37
|
+
* (D-19).
|
|
38
|
+
*/
|
|
39
|
+
export function codeSandboxEnvironmentGroupOf(environment, viewer) {
|
|
40
|
+
if (environment.fromLibrary) {
|
|
41
|
+
return 'library';
|
|
42
|
+
}
|
|
43
|
+
if (environment.origin !== 'user') {
|
|
44
|
+
return 'platform';
|
|
45
|
+
}
|
|
46
|
+
const handle = viewer?.handle;
|
|
47
|
+
const mine = (!!viewer?.uid && environment.owner === viewer.uid) ||
|
|
48
|
+
(!!handle && environment.name.startsWith(`${handle}/`));
|
|
49
|
+
return mine ? 'yours' : 'organizations';
|
|
50
|
+
}
|
|
51
|
+
/** The version a launch of this entry runs, when it is a version anyone pinned. */
|
|
52
|
+
export function codeSandboxEnvironmentVersion(environment) {
|
|
53
|
+
if (environment.origin !== 'user') {
|
|
54
|
+
return undefined;
|
|
55
|
+
}
|
|
56
|
+
return environment.promotedVersion?.version;
|
|
57
|
+
}
|
|
58
|
+
/** The address of a version's page (E1-21), where its builds are. */
|
|
59
|
+
export function environmentVersionHref(uid, version) {
|
|
60
|
+
return version === undefined
|
|
61
|
+
? `/environments/${uid}/versions`
|
|
62
|
+
: `/environments/${uid}/versions/${version}`;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Whether a sandbox of this entry can be started from here.
|
|
66
|
+
*
|
|
67
|
+
* A platform entry always can. A user environment can once a version is
|
|
68
|
+
* promoted AND that version has a Datalayer artifact: without one the Operator
|
|
69
|
+
* refuses the launch with `DL_ENV_ARTIFACT_MISSING`, so offering it would be
|
|
70
|
+
* offering a failure. A listing that does not say which variants are built —
|
|
71
|
+
* an older Runtimes — is believed rather than doubted: the entry stays
|
|
72
|
+
* offered, and the refusal, if any, comes from the platform as it did before.
|
|
73
|
+
*/
|
|
74
|
+
export function isCodeSandboxEnvironmentLaunchable(environment) {
|
|
75
|
+
if (environment.origin !== 'user') {
|
|
76
|
+
return true;
|
|
77
|
+
}
|
|
78
|
+
if (!environment.promotedVersion) {
|
|
79
|
+
return false;
|
|
80
|
+
}
|
|
81
|
+
const available = environment.availableVariants;
|
|
82
|
+
if (available === undefined) {
|
|
83
|
+
return true;
|
|
84
|
+
}
|
|
85
|
+
if (!available.includes(DATALAYER_LAUNCH_VARIANT)) {
|
|
86
|
+
return false;
|
|
87
|
+
}
|
|
88
|
+
/*
|
|
89
|
+
* And it has to be priceable. A launch reserves credits before anything
|
|
90
|
+
* starts, so an entry whose size class carries no rate cannot be launched
|
|
91
|
+
* from here at all — offering it would reserve nothing and be refused by the
|
|
92
|
+
* platform, which reads to the user as the sandbox failing for no reason.
|
|
93
|
+
*/
|
|
94
|
+
return !!environment.burning_rate;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Where "Build for this variant" leads: the version's own page, which is where
|
|
98
|
+
* a build of it is started. Only offered for an entry that has a version to
|
|
99
|
+
* build, and only when the entry cannot be launched as it stands.
|
|
100
|
+
*/
|
|
101
|
+
export function codeSandboxEnvironmentBuildHref(environment) {
|
|
102
|
+
if (environment.origin !== 'user' || !environment.uid) {
|
|
103
|
+
return undefined;
|
|
104
|
+
}
|
|
105
|
+
const available = environment.availableVariants;
|
|
106
|
+
/*
|
|
107
|
+
* Only where a BUILD is the thing that is missing. An entry that has its
|
|
108
|
+
* artifact and cannot be launched for another reason — an unpriced size
|
|
109
|
+
* class — is not made better by building it again, and an older Runtimes,
|
|
110
|
+
* which says nothing about artifacts, is not second-guessed.
|
|
111
|
+
*/
|
|
112
|
+
if (available === undefined || available.includes(DATALAYER_LAUNCH_VARIANT)) {
|
|
113
|
+
return undefined;
|
|
114
|
+
}
|
|
115
|
+
return environmentVersionHref(environment.uid, codeSandboxEnvironmentVersion(environment));
|
|
116
|
+
}
|
|
117
|
+
/** One entry as the dropdown shows it: what it is, what it costs, and whether it can run. */
|
|
118
|
+
export function codeSandboxEnvironmentOption(environment, viewer, extra = {}) {
|
|
119
|
+
const group = codeSandboxEnvironmentGroupOf(environment, viewer);
|
|
120
|
+
const version = codeSandboxEnvironmentVersion(environment);
|
|
121
|
+
return {
|
|
122
|
+
key: environment.name,
|
|
123
|
+
title: environment.title || environment.name,
|
|
124
|
+
name: environment.name,
|
|
125
|
+
group: CODE_SANDBOX_ENVIRONMENT_GROUP_TITLES[group],
|
|
126
|
+
version: version === undefined ? undefined : `v${version}`,
|
|
127
|
+
sizeClass: environment.sizeClass || undefined,
|
|
128
|
+
burningRate: environment.burning_rate,
|
|
129
|
+
gpu: environment.resources?.['nvidia.com/gpu'],
|
|
130
|
+
disabled: !isCodeSandboxEnvironmentLaunchable(environment),
|
|
131
|
+
buildHref: codeSandboxEnvironmentBuildHref(environment),
|
|
132
|
+
...extra,
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* The entries of the dropdown, in the order they read: what is yours, then
|
|
137
|
+
* your organizations', then the platform's, each in the order the listing gave
|
|
138
|
+
* them.
|
|
139
|
+
*/
|
|
140
|
+
export function codeSandboxEnvironmentOptions(environments, viewer, decorate) {
|
|
141
|
+
const options = environments.map(environment => codeSandboxEnvironmentOption(environment, viewer, decorate?.(environment) ?? {}));
|
|
142
|
+
return CODE_SANDBOX_ENVIRONMENT_GROUP_ORDER.flatMap(group => options.filter(option => option.group === CODE_SANDBOX_ENVIRONMENT_GROUP_TITLES[group]));
|
|
143
|
+
}
|
|
144
|
+
/** The first entry a launcher may open on: never one that cannot be launched. */
|
|
145
|
+
export function firstLaunchableCodeSandboxEnvironment(environments) {
|
|
146
|
+
return environments.find(isCodeSandboxEnvironmentLaunchable);
|
|
147
|
+
}
|
|
@@ -7,7 +7,8 @@
|
|
|
7
7
|
*
|
|
8
8
|
* A sandbox is not one kind of thing: it is a runtime of the platform, a
|
|
9
9
|
* kernel of a Jupyter Server, a kernel of the browser — and, on the Python
|
|
10
|
-
* side, a Kaggle session
|
|
10
|
+
* side, a Kaggle session, a Modal or CoreWeave container, an E2B microVM, a
|
|
11
|
+
* Daytona sandbox or a Cloudflare edge container as well. Each of those is a
|
|
11
12
|
* PROVIDER, each ships the environments it offers (the platform ships
|
|
12
13
|
* `ai-agents-env`, Kaggle a CPU and a GPU session), and each is usable only
|
|
13
14
|
* where what it needs is at hand.
|
|
@@ -23,6 +24,14 @@
|
|
|
23
24
|
* answer the same question — which providers can be used from here — so the
|
|
24
25
|
* CLI, the web application and JupyterLab offer the same thing.
|
|
25
26
|
*
|
|
27
|
+
* The clouds of that registry — Kaggle, Modal, Cloudflare, CoreWeave,
|
|
28
|
+
* Daytona, E2B — are deliberately absent from the list below. Nothing on this
|
|
29
|
+
* page holds their credentials, and nothing here should: the operator holds
|
|
30
|
+
* them, decides which of them an account may use, and serves what they offer
|
|
31
|
+
* as environments of the platform, each tagged with its provider through
|
|
32
|
+
* `owner`. So they reach this page under `remote`, one provider as far as the
|
|
33
|
+
* services are concerned, and `CodeSandboxVariant` is what tells them apart.
|
|
34
|
+
*
|
|
26
35
|
* @module components/code-sandboxes/codeSandboxProviders
|
|
27
36
|
*/
|
|
28
37
|
import { loadJupyterConfig } from '@datalayer/jupyter-react';
|
|
@@ -49,7 +58,7 @@ export function codeSandboxProviders(multiServiceManager) {
|
|
|
49
58
|
available: Boolean(multiServiceManager?.remote),
|
|
50
59
|
unavailableReason: multiServiceManager?.remote
|
|
51
60
|
? undefined
|
|
52
|
-
: 'Sign in to Datalayer to launch a sandbox on the platform.'
|
|
61
|
+
: 'Sign in to Datalayer to launch a sandbox on the platform.',
|
|
53
62
|
},
|
|
54
63
|
{
|
|
55
64
|
name: 'local',
|
|
@@ -57,7 +66,7 @@ export function codeSandboxProviders(multiServiceManager) {
|
|
|
57
66
|
available: insideJupyterLab && Boolean(multiServiceManager?.local),
|
|
58
67
|
unavailableReason: insideJupyterLab
|
|
59
68
|
? undefined
|
|
60
|
-
: 'The kernels of a Jupyter Server are offered inside JupyterLab.'
|
|
69
|
+
: 'The kernels of a Jupyter Server are offered inside JupyterLab.',
|
|
61
70
|
},
|
|
62
71
|
{
|
|
63
72
|
name: 'browser',
|
|
@@ -65,8 +74,8 @@ export function codeSandboxProviders(multiServiceManager) {
|
|
|
65
74
|
available: Boolean(multiServiceManager?.browser),
|
|
66
75
|
unavailableReason: multiServiceManager?.browser
|
|
67
76
|
? undefined
|
|
68
|
-
: 'No kernel runs in this browser.'
|
|
69
|
-
}
|
|
77
|
+
: 'No kernel runs in this browser.',
|
|
78
|
+
},
|
|
70
79
|
];
|
|
71
80
|
}
|
|
72
81
|
/**
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
*/
|
|
12
12
|
export * from './CodeSandboxCellVariables';
|
|
13
13
|
export * from './CodeSandboxCellVariablesDialog';
|
|
14
|
+
export * from './codeSandboxEnvironments';
|
|
14
15
|
export * from './CodeSandboxEnvironmentSelect';
|
|
15
16
|
export * from './CodeSandboxLauncher';
|
|
16
17
|
export * from './CodeSandboxPicker';
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
*/
|
|
16
16
|
export * from './CodeSandboxCellVariables';
|
|
17
17
|
export * from './CodeSandboxCellVariablesDialog';
|
|
18
|
+
export * from './codeSandboxEnvironments';
|
|
18
19
|
export * from './CodeSandboxEnvironmentSelect';
|
|
19
20
|
export * from './CodeSandboxLauncher';
|
|
20
21
|
export * from './CodeSandboxPicker';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const SpaceSelect: () => import("react
|
|
1
|
+
export declare const SpaceSelect: () => import("react").JSX.Element;
|
|
2
2
|
export default SpaceSelect;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const FlashDisclaimer: () => import("react
|
|
1
|
+
export declare const FlashDisclaimer: () => import("react").JSX.Element;
|
|
2
2
|
export default FlashDisclaimer;
|
|
@@ -1,8 +1,4 @@
|
|
|
1
1
|
import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
/*
|
|
3
|
-
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
4
|
-
* Distributed under the terms of the Modified BSD License.
|
|
5
|
-
*/
|
|
6
2
|
import { useState, useEffect } from 'react';
|
|
7
3
|
import { Box } from '@datalayer/primer-addons';
|
|
8
4
|
import { ConsumptionBar } from '@datalayer/core/lib/components/progress/ConsumptionBar';
|
|
@@ -50,5 +50,5 @@ export type ScheduleMenuProps = {
|
|
|
50
50
|
* anchor icon while a save request is in flight. The scheduler service URL is
|
|
51
51
|
* configurable through the `baseUrl` prop.
|
|
52
52
|
*/
|
|
53
|
-
export declare const ScheduleMenu: ({ notebookUid, scheduleUid, token, baseUrl, enabled, icon, iconColor, ariaLabel, initialPreset, initialCronExpression, onSaved, onDeleted, onError, }: ScheduleMenuProps) => import("react
|
|
53
|
+
export declare const ScheduleMenu: ({ notebookUid, scheduleUid, token, baseUrl, enabled, icon, iconColor, ariaLabel, initialPreset, initialCronExpression, onSaved, onDeleted, onError, }: ScheduleMenuProps) => import("react").JSX.Element;
|
|
54
54
|
export default ScheduleMenu;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { JSX } from 'react';
|
|
1
2
|
import { type PropsWithChildren } from 'react';
|
|
2
3
|
import { Kernel } from '@jupyterlab/services';
|
|
3
4
|
import { IMultiServiceManager } from '../../runtimes';
|
|
@@ -20,7 +21,7 @@ type ICodeSandboxSnapshotMenu = {
|
|
|
20
21
|
*
|
|
21
22
|
* It is needed for remote kernels.
|
|
22
23
|
*/
|
|
23
|
-
|
|
24
|
+
runtimeName?: string;
|
|
24
25
|
/**
|
|
25
26
|
* Whether the menu is disabled.
|
|
26
27
|
*/
|
|
@@ -29,5 +30,5 @@ type ICodeSandboxSnapshotMenu = {
|
|
|
29
30
|
/**
|
|
30
31
|
* Code Sandbox Snapshot menu component.
|
|
31
32
|
*/
|
|
32
|
-
export declare function SandboxSnapshotMenu({ children, connection,
|
|
33
|
+
export declare function SandboxSnapshotMenu({ children, connection, runtimeName, multiServiceManager, disabled, }: PropsWithChildren<ICodeSandboxSnapshotMenu>): JSX.Element;
|
|
33
34
|
export {};
|
|
@@ -1,8 +1,4 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
/*
|
|
3
|
-
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
4
|
-
* Distributed under the terms of the Modified BSD License.
|
|
5
|
-
*/
|
|
6
2
|
import { useCallback, useEffect, useState, } from 'react';
|
|
7
3
|
import { DeviceCameraIcon } from '@primer/octicons-react';
|
|
8
4
|
import { ActionList, ActionMenu, Flash, FormControl, Select, Spinner, } from '@primer/react';
|
|
@@ -15,7 +11,7 @@ import { createSandboxSnapshotName } from '@datalayer/core/lib/utils';
|
|
|
15
11
|
/**
|
|
16
12
|
* Code Sandbox Snapshot menu component.
|
|
17
13
|
*/
|
|
18
|
-
export function SandboxSnapshotMenu({ children, connection,
|
|
14
|
+
export function SandboxSnapshotMenu({ children, connection, runtimeName, multiServiceManager, disabled = false, }) {
|
|
19
15
|
const { addSandboxSnapshot, runtimesUrl, runtimeSnapshots, setSandboxSnapshots, } = useRuntimesStore();
|
|
20
16
|
const { enqueueToast, trackAsyncTask } = useToast();
|
|
21
17
|
const [openLoadDialog, setOpenLoadDialog] = useState(false);
|
|
@@ -42,10 +38,10 @@ export function SandboxSnapshotMenu({ children, connection, podName, multiServic
|
|
|
42
38
|
const onSandboxSnapshotChanged = useCallback(event => {
|
|
43
39
|
setSelection(event.target.value);
|
|
44
40
|
}, []);
|
|
45
|
-
const onLoadSandboxSnapshotSubmit = useCallback(async ({ id, connection,
|
|
46
|
-
if (
|
|
47
|
-
await loadSandboxSnapshot({ id:
|
|
48
|
-
enqueueToast(`Code Sandbox snapshot ${
|
|
41
|
+
const onLoadSandboxSnapshotSubmit = useCallback(async ({ id, connection, runtimeName, }) => {
|
|
42
|
+
if (runtimeName) {
|
|
43
|
+
await loadSandboxSnapshot({ id: runtimeName, from: id });
|
|
44
|
+
enqueueToast(`Code Sandbox snapshot ${runtimeName} is loaded.`, {
|
|
49
45
|
variant: 'success',
|
|
50
46
|
});
|
|
51
47
|
}
|
|
@@ -63,15 +59,15 @@ export function SandboxSnapshotMenu({ children, connection, podName, multiServic
|
|
|
63
59
|
let task;
|
|
64
60
|
let ref = '';
|
|
65
61
|
let snapshotName = '';
|
|
66
|
-
if (
|
|
62
|
+
if (runtimeName && multiServiceManager?.remote) {
|
|
67
63
|
snapshotName = createSandboxSnapshotName('cloud');
|
|
68
64
|
task = multiServiceManager.remote.runtimesManager.snapshotRuntime({
|
|
69
|
-
|
|
65
|
+
runtimeName,
|
|
70
66
|
name: snapshotName,
|
|
71
67
|
description: snapshotName,
|
|
72
68
|
stop: false,
|
|
73
69
|
});
|
|
74
|
-
ref =
|
|
70
|
+
ref = runtimeName.split('-', 2).reverse()[0];
|
|
75
71
|
task.then(s => {
|
|
76
72
|
snapshot = s;
|
|
77
73
|
});
|
|
@@ -121,7 +117,7 @@ export function SandboxSnapshotMenu({ children, connection, podName, multiServic
|
|
|
121
117
|
finally {
|
|
122
118
|
setTakingSandboxSnapshot(false);
|
|
123
119
|
}
|
|
124
|
-
}, [connection,
|
|
120
|
+
}, [connection, runtimeName, multiServiceManager]);
|
|
125
121
|
return (_jsxs(_Fragment, { children: [_jsxs(ActionMenu, { children: [_jsx(ActionMenu.Button, { leadingVisual: DeviceCameraIcon, variant: "invisible", size: "small", disabled: loadingSandboxSnapshot || takingSandboxSnapshot || disabled, children: children }), _jsx(ActionMenu.Overlay, { children: _jsxs(ActionList, { children: [_jsx(ActionList.Item, { onSelect: onLoadSandboxSnapshot, disabled: loadingSandboxSnapshot || runtimeSnapshots.length === 0, children: "Load a code sandbox snapshot\u2026" }), _jsx(ActionList.Item, { onSelect: onTakeSandboxSnapshot, disabled: takingSandboxSnapshot, children: "Take a code sandbox snapshot" })] }) })] }), openLoadDialog && (_jsx(Dialog, { title: _jsx("span", { style: { color: 'var(--fgColor-default)' }, children: "Choose a code sandbox snapshot to load" }), onClose: () => {
|
|
126
122
|
setOpenLoadDialog(false);
|
|
127
123
|
}, footerButtons: [
|
|
@@ -146,11 +142,11 @@ export function SandboxSnapshotMenu({ children, connection, podName, multiServic
|
|
|
146
142
|
try {
|
|
147
143
|
setError(undefined);
|
|
148
144
|
const snapshot = runtimeSnapshots.find(s => s.id === selection);
|
|
149
|
-
if (snapshot && (connection ||
|
|
145
|
+
if (snapshot && (connection || runtimeName)) {
|
|
150
146
|
await onLoadSandboxSnapshotSubmit({
|
|
151
147
|
connection,
|
|
152
148
|
id: snapshot.id,
|
|
153
|
-
|
|
149
|
+
runtimeName,
|
|
154
150
|
});
|
|
155
151
|
}
|
|
156
152
|
else {
|
|
@@ -1,8 +1,4 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
/*
|
|
3
|
-
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
4
|
-
* Distributed under the terms of the Modified BSD License.
|
|
5
|
-
*/
|
|
6
2
|
import { useCallback, useMemo, useState } from 'react';
|
|
7
3
|
import { nullTranslator } from '@jupyterlab/translation';
|
|
8
4
|
import { FormControl, Select, Text } from '@primer/react';
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A spec, as the YAML somebody would have written.
|
|
3
|
+
*
|
|
4
|
+
* The agentspecs example grew this to show what it was about to launch, and
|
|
5
|
+
* the agent details pane wants the same thing for what is already running —
|
|
6
|
+
* "here is the spec, in the form it is written in" is one question, and two
|
|
7
|
+
* renderings of it would drift.
|
|
8
|
+
*
|
|
9
|
+
* The serialiser is deliberately small and local. A YAML library would be a
|
|
10
|
+
* dependency for a read-only preview of data this application produced itself,
|
|
11
|
+
* and the shapes here are plain objects, arrays, strings and numbers.
|
|
12
|
+
*
|
|
13
|
+
* @module components/specs/SpecPayloadPreview
|
|
14
|
+
*/
|
|
15
|
+
import type { JSX } from 'react';
|
|
16
|
+
/** A spec rendered as YAML. Exported for callers that only want the text. */
|
|
17
|
+
export declare function specToYaml(value: unknown): string;
|
|
18
|
+
export type SpecPayloadPreviewProps = {
|
|
19
|
+
/** The spec to render. */
|
|
20
|
+
spec: unknown;
|
|
21
|
+
/** Called when the reader dismisses it. */
|
|
22
|
+
onClose: () => void;
|
|
23
|
+
/** What the panel calls itself. */
|
|
24
|
+
title?: string;
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* The preview, as a panel over whatever is behind it.
|
|
28
|
+
*
|
|
29
|
+
* Escape closes it as well as the button, because a panel that covers the
|
|
30
|
+
* view and can only be dismissed by finding one control is a panel people
|
|
31
|
+
* feel trapped in.
|
|
32
|
+
*/
|
|
33
|
+
export declare function SpecPayloadPreview({ spec, onClose, title, }: SpecPayloadPreviewProps): JSX.Element;
|
|
34
|
+
export default SpecPayloadPreview;
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect } from 'react';
|
|
3
|
+
import { IconButton, Text } from '@primer/react';
|
|
4
|
+
import { XIcon } from '@primer/octicons-react';
|
|
5
|
+
import { Box } from '@datalayer/primer-addons';
|
|
6
|
+
const isPlainObject = (value) => typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
7
|
+
const yamlScalar = (value) => {
|
|
8
|
+
if (value === null || value === undefined) {
|
|
9
|
+
return 'null';
|
|
10
|
+
}
|
|
11
|
+
if (typeof value === 'number' || typeof value === 'boolean') {
|
|
12
|
+
return String(value);
|
|
13
|
+
}
|
|
14
|
+
const str = String(value);
|
|
15
|
+
if (str === '') {
|
|
16
|
+
return "''";
|
|
17
|
+
}
|
|
18
|
+
if (/^[a-zA-Z0-9._/-]+$/.test(str)) {
|
|
19
|
+
return str;
|
|
20
|
+
}
|
|
21
|
+
return JSON.stringify(str);
|
|
22
|
+
};
|
|
23
|
+
const toYaml = (value, indent = 0) => {
|
|
24
|
+
const pad = ' '.repeat(indent);
|
|
25
|
+
if (Array.isArray(value)) {
|
|
26
|
+
if (value.length === 0) {
|
|
27
|
+
return '[]';
|
|
28
|
+
}
|
|
29
|
+
return value
|
|
30
|
+
.map(item => {
|
|
31
|
+
if (isPlainObject(item) || Array.isArray(item)) {
|
|
32
|
+
return `${pad}-\n${toYaml(item, indent + 1)}`;
|
|
33
|
+
}
|
|
34
|
+
return `${pad}- ${yamlScalar(item)}`;
|
|
35
|
+
})
|
|
36
|
+
.join('\n');
|
|
37
|
+
}
|
|
38
|
+
if (isPlainObject(value)) {
|
|
39
|
+
const entries = Object.entries(value).filter(([, v]) => v !== undefined);
|
|
40
|
+
if (entries.length === 0) {
|
|
41
|
+
return '{}';
|
|
42
|
+
}
|
|
43
|
+
return entries
|
|
44
|
+
.map(([key, val]) => {
|
|
45
|
+
if (isPlainObject(val) || Array.isArray(val)) {
|
|
46
|
+
return `${pad}${key}:\n${toYaml(val, indent + 1)}`;
|
|
47
|
+
}
|
|
48
|
+
return `${pad}${key}: ${yamlScalar(val)}`;
|
|
49
|
+
})
|
|
50
|
+
.join('\n');
|
|
51
|
+
}
|
|
52
|
+
return `${pad}${yamlScalar(value)}`;
|
|
53
|
+
};
|
|
54
|
+
/** A spec rendered as YAML. Exported for callers that only want the text. */
|
|
55
|
+
export function specToYaml(value) {
|
|
56
|
+
return toYaml(value);
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* The preview, as a panel over whatever is behind it.
|
|
60
|
+
*
|
|
61
|
+
* Escape closes it as well as the button, because a panel that covers the
|
|
62
|
+
* view and can only be dismissed by finding one control is a panel people
|
|
63
|
+
* feel trapped in.
|
|
64
|
+
*/
|
|
65
|
+
export function SpecPayloadPreview({ spec, onClose, title = 'Spec Payload Preview (YAML)', }) {
|
|
66
|
+
useEffect(() => {
|
|
67
|
+
const onKeyDown = (event) => {
|
|
68
|
+
if (event.key === 'Escape') {
|
|
69
|
+
onClose();
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
document.addEventListener('keydown', onKeyDown);
|
|
73
|
+
return () => document.removeEventListener('keydown', onKeyDown);
|
|
74
|
+
}, [onClose]);
|
|
75
|
+
return (_jsxs(Box, { role: "dialog", "aria-label": title, "aria-modal": "true", sx: {
|
|
76
|
+
position: 'fixed',
|
|
77
|
+
inset: 24,
|
|
78
|
+
zIndex: 300,
|
|
79
|
+
bg: 'canvas.default',
|
|
80
|
+
border: '1px solid',
|
|
81
|
+
borderColor: 'border.default',
|
|
82
|
+
borderRadius: 1,
|
|
83
|
+
boxShadow: 'shadow.large',
|
|
84
|
+
display: 'flex',
|
|
85
|
+
flexDirection: 'column',
|
|
86
|
+
}, children: [_jsxs(Box, { sx: {
|
|
87
|
+
display: 'flex',
|
|
88
|
+
alignItems: 'center',
|
|
89
|
+
justifyContent: 'space-between',
|
|
90
|
+
px: 3,
|
|
91
|
+
py: 2,
|
|
92
|
+
borderBottom: '1px solid',
|
|
93
|
+
borderColor: 'border.default',
|
|
94
|
+
}, children: [_jsx(Text, { sx: { fontWeight: 'bold' }, children: title }), _jsx(IconButton, { icon: XIcon, "aria-label": "Close spec preview", size: "small", variant: "invisible", onClick: onClose })] }), _jsx(Box, { sx: { p: 3, overflow: 'auto', flex: 1 }, children: _jsx(Box, { as: "pre", sx: {
|
|
95
|
+
m: 0,
|
|
96
|
+
whiteSpace: 'pre',
|
|
97
|
+
fontFamily: 'monospace',
|
|
98
|
+
fontSize: 0,
|
|
99
|
+
lineHeight: '20px',
|
|
100
|
+
}, children: specToYaml(spec) }) })] }));
|
|
101
|
+
}
|
|
102
|
+
export default SpecPayloadPreview;
|