@datalayer/agent-runtimes 1.0.29 → 1.3.11
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 +406 -4
- package/lib/api/runtimes/environments.js +641 -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 +20 -2
- package/lib/chat/ChatFloating.js +196 -118
- 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/ButtonGlow.d.ts +9 -0
- package/lib/chat/display/ButtonGlow.js +60 -0
- package/lib/chat/display/EmptyState.d.ts +15 -1
- package/lib/chat/display/EmptyState.js +81 -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 +21 -102
- package/lib/chat/header/ChatViewModeToggle.d.ts +29 -0
- package/lib/chat/header/ChatViewModeToggle.js +55 -0
- package/lib/chat/index.d.ts +5 -1
- package/lib/chat/index.js +9 -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 +9 -0
- package/lib/components/code-sandboxes/CodeSandboxLauncher.js +95 -23
- 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 +97 -0
- package/lib/components/code-sandboxes/codeSandboxEnvironments.js +184 -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/icons/ArtifactIcon.js +2 -1
- 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 +903 -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 +124 -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 +1679 -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 +71 -0
- package/lib/loop/plugins/page-layout/index.js +160 -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 +181 -0
- package/lib/loop/presets.js +141 -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/Deck.d.ts +14 -0
- package/lib/models/Environment.d.ts +678 -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/ItemType.d.ts +1 -1
- 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 +17 -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 +2 -2
- package/lib/models/environments.generated.d.ts +141 -0
- package/lib/models/environments.generated.js +13 -0
- package/lib/models/index.d.ts +1 -1
- package/lib/models/index.js +1 -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 +125 -0
- package/lib/protocols/BrowserAgentAdapter.js +317 -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 +8 -3
- package/lib/runtimes/actions.js +46 -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 +129 -112
- package/lib/specs/agents/agents.js +8200 -5044
- package/lib/specs/evals.js +9 -0
- package/lib/specs/frontendTools.d.ts +4 -0
- package/lib/specs/frontendTools.js +77 -3
- package/lib/specs/mcpServers.d.ts +1 -0
- package/lib/specs/mcpServers.js +38 -15
- 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 +31 -0
- package/lib/specs/personas.js +1 -1
- package/lib/specs/skills.js +7 -7
- 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/tools/adapters/commands/index.js +5 -0
- 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/outputs.d.ts +2 -0
- 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/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_mcp_servers.py +2 -2
- package/scripts/codegen/generate_models.py +40 -15
- package/scripts/codegen/generate_outputs.py +2 -0
- package/scripts/codegen/generate_sandbox_agents.py +76 -62
- package/scripts/codegen/generate_skills.py +2 -2
- 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
- /package/lib/models/{Dataset.js → Deck.js} +0 -0
|
@@ -90,18 +90,23 @@ export function getGroupedCodeSandboxDescs(multiServiceManager, kernelId, transl
|
|
|
90
90
|
* picker, which is the one place a notebook can be pointed at them.
|
|
91
91
|
* What they always have is the pod that stands for them.
|
|
92
92
|
*/
|
|
93
|
-
.filter(k => (k.id || k.
|
|
93
|
+
.filter(k => (k.id || k.runtime_name) && !listedAsSession.includes(k.id))
|
|
94
94
|
.map(runtime => {
|
|
95
95
|
const environment = multiServiceManager
|
|
96
96
|
.remote.environments.get()
|
|
97
97
|
.find(env => env.name === runtime.environment.name);
|
|
98
98
|
return {
|
|
99
|
+
// Keep the control-plane identity as well as the Jupyter kernel
|
|
100
|
+
// identity. External sandboxes may not have a kernel until they
|
|
101
|
+
// are attached, but their runtime uid is already unique.
|
|
102
|
+
id: runtime.uid,
|
|
99
103
|
// Empty for an external sandbox: it has none, and saying so is
|
|
100
104
|
// what keeps the picker from trying to connect to one.
|
|
101
105
|
kernelId: runtime.id || undefined,
|
|
102
106
|
name: environment.name,
|
|
103
107
|
language: environment.language,
|
|
104
|
-
provider: codeSandboxVariantOf(environment?.owner ??
|
|
108
|
+
provider: codeSandboxVariantOf(environment?.owner ??
|
|
109
|
+
runtime.environment?.owner),
|
|
105
110
|
displayName:
|
|
106
111
|
// The name it was GIVEN first: the title of the environment is
|
|
107
112
|
// what it runs, and every sandbox of that environment answers
|
|
@@ -109,7 +114,7 @@ export function getGroupedCodeSandboxDescs(multiServiceManager, kernelId, transl
|
|
|
109
114
|
// can be told apart here.
|
|
110
115
|
runtime.given_name || environment.title || environment.name,
|
|
111
116
|
location: 'remote',
|
|
112
|
-
|
|
117
|
+
runtimeName: runtime.runtime_name,
|
|
113
118
|
gpu: environment.resources?.['nvidia.com/gpu'],
|
|
114
119
|
};
|
|
115
120
|
}))
|
|
@@ -133,7 +138,7 @@ export function getGroupedCodeSandboxDescs(multiServiceManager, kernelId, transl
|
|
|
133
138
|
const distinctRunning = runningSessions.filter(desc => {
|
|
134
139
|
// A kernel-less sandbox is named by its pod; without it every external
|
|
135
140
|
// sandbox of one environment collapsed into a single entry.
|
|
136
|
-
const key = `${desc.location}:${desc.kernelId ?? desc.
|
|
141
|
+
const key = `${desc.location}:${desc.kernelId ?? desc.runtimeName ?? desc.name}`;
|
|
137
142
|
if (seen.has(key)) {
|
|
138
143
|
return false;
|
|
139
144
|
}
|
|
@@ -187,6 +192,7 @@ export function getGroupedCodeSandboxDescs(multiServiceManager, kernelId, transl
|
|
|
187
192
|
gpu: spec.resources?.['nvidia.com/gpu'],
|
|
188
193
|
burningRate: spec.burning_rate,
|
|
189
194
|
provider: codeSandboxVariantOf(spec?.owner),
|
|
195
|
+
environment: spec,
|
|
190
196
|
}))
|
|
191
197
|
.filter(filterKernels));
|
|
192
198
|
environments.push(...Object.values(multiServiceManager.browser?.kernelspecs.specs?.kernelspecs ?? {})
|
|
@@ -1,18 +1,24 @@
|
|
|
1
|
-
/**
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
1
|
+
/**
|
|
2
|
+
* What launching a NEW code sandbox asks of the user, in one place.
|
|
3
|
+
*
|
|
4
|
+
* The launcher dialog and the picker both offer to start a sandbox, and both
|
|
5
|
+
* used to carry their own copy of the same questions — how long to reserve,
|
|
6
|
+
* whether to mount the home folder — and of the same arithmetic over the
|
|
7
|
+
* credits of the account. This module is the single copy: the hook computes
|
|
8
|
+
* what the account allows, the component renders the two controls, and the
|
|
9
|
+
* helper turns a time limit into the credits reservation.
|
|
10
|
+
*
|
|
11
|
+
* @module components/code-sandboxes/NewCodeSandboxControls
|
|
12
|
+
*/
|
|
13
|
+
import type { JSX } from 'react';
|
|
14
|
+
import { type INewCodeSandboxAllowance } from './codeSandboxAllowance';
|
|
15
|
+
export type { INewCodeSandboxAllowance };
|
|
13
16
|
/**
|
|
14
17
|
* The credits arithmetic both the launcher and the picker ask.
|
|
15
18
|
*
|
|
19
|
+
* The arithmetic itself lives in `codeSandboxAllowance`, free of React and of
|
|
20
|
+
* this module's Primer imports, so it can be read and tested on its own.
|
|
21
|
+
*
|
|
16
22
|
* @param burningRate Credits per second of the chosen environment
|
|
17
23
|
*/
|
|
18
24
|
export declare function useNewCodeSandboxAllowance(burningRate: number | undefined): INewCodeSandboxAllowance;
|
|
@@ -31,8 +37,8 @@ export interface INewCodeSandboxControlsProps {
|
|
|
31
37
|
error?: string;
|
|
32
38
|
/** Offered next to the error when credits can be added from here. */
|
|
33
39
|
addCredits?: () => void;
|
|
34
|
-
|
|
35
|
-
|
|
40
|
+
homeFolder: boolean;
|
|
41
|
+
onHomeFolderToggle: () => void;
|
|
36
42
|
storageDisabled?: boolean;
|
|
37
43
|
/**
|
|
38
44
|
* The name the sandbox is given, when the caller asks for that question.
|
|
@@ -50,7 +56,7 @@ export interface INewCodeSandboxControlsProps {
|
|
|
50
56
|
* this machine: it reserves no time and mounts no storage of the platform,
|
|
51
57
|
* so neither question applies to it.
|
|
52
58
|
*/
|
|
53
|
-
|
|
59
|
+
withHomeFolder?: boolean;
|
|
54
60
|
}
|
|
55
61
|
/**
|
|
56
62
|
* The two questions of a new sandbox: the time reservation, and the storage.
|
|
@@ -1,60 +1,28 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
* Distributed under the terms of the Modified BSD License.
|
|
5
|
-
*/
|
|
6
|
-
/**
|
|
7
|
-
* What launching a NEW code sandbox asks of the user, in one place.
|
|
8
|
-
*
|
|
9
|
-
* The launcher dialog and the picker both offer to start a sandbox, and both
|
|
10
|
-
* used to carry their own copy of the same questions — how long to reserve,
|
|
11
|
-
* whether to mount the user storage — and of the same arithmetic over the
|
|
12
|
-
* credits of the account. This module is the single copy: the hook computes
|
|
13
|
-
* what the account allows, the component renders the two controls, and the
|
|
14
|
-
* helper turns a time limit into the credits reservation.
|
|
15
|
-
*
|
|
16
|
-
* @module components/code-sandboxes/NewCodeSandboxControls
|
|
17
|
-
*/
|
|
18
|
-
import { FormControl, IconButton, TextInput, ToggleSwitch, Tooltip, } from '@primer/react';
|
|
19
|
-
import { AlertIcon } from '@primer/octicons-react';
|
|
2
|
+
import { FormControl, Link, TextInput, ToggleSwitch } from '@primer/react';
|
|
3
|
+
import { InfoIcon } from '@primer/octicons-react';
|
|
20
4
|
import { useCoreStore, useIAMStore } from '../../state/substates';
|
|
21
5
|
import { CodeSandboxReservationControl, MAXIMAL_CODE_SANDBOX_TIME_RESERVATION_MINUTES, } from './CodeSandboxReservationControl';
|
|
6
|
+
import { codeSandboxAllowance, } from './codeSandboxAllowance';
|
|
22
7
|
/**
|
|
23
8
|
* The credits arithmetic both the launcher and the picker ask.
|
|
24
9
|
*
|
|
10
|
+
* The arithmetic itself lives in `codeSandboxAllowance`, free of React and of
|
|
11
|
+
* this module's Primer imports, so it can be read and tested on its own.
|
|
12
|
+
*
|
|
25
13
|
* @param burningRate Credits per second of the chosen environment
|
|
26
14
|
*/
|
|
27
15
|
export function useNewCodeSandboxAllowance(burningRate) {
|
|
28
16
|
const { credits, user } = useIAMStore();
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
user?.subscription?.
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
currentRuns < includedRuns;
|
|
39
|
-
const hasKnownCredits = typeof credits?.available === 'number';
|
|
40
|
-
const maxFromCredits = burningRate
|
|
41
|
-
? Math.floor((credits?.available ?? 0) / burningRate / 60.0)
|
|
42
|
-
: undefined;
|
|
43
|
-
const effectiveMaxMinutes = hasKnownCredits && hasKnownRunAllowance && !hasRemainingRuns
|
|
44
|
-
? Math.max(1, maxFromCredits ?? 0)
|
|
45
|
-
: Math.max(10, maxFromCredits && maxFromCredits > 0 ? maxFromCredits : 0);
|
|
46
|
-
const outOfCredits = hasKnownCredits &&
|
|
47
|
-
hasKnownRunAllowance &&
|
|
48
|
-
!hasRemainingRuns &&
|
|
49
|
-
((credits?.available ?? 0) <= 0 || (maxFromCredits ?? 0) < Number.EPSILON);
|
|
50
|
-
return {
|
|
51
|
-
maxFromCredits,
|
|
52
|
-
effectiveMaxMinutes,
|
|
53
|
-
outOfCredits,
|
|
54
|
-
hasKnownCredits,
|
|
55
|
-
hasKnownRunAllowance,
|
|
56
|
-
hasRemainingRuns,
|
|
57
|
-
};
|
|
17
|
+
return codeSandboxAllowance({
|
|
18
|
+
available: credits?.available,
|
|
19
|
+
includedRuns: user?.subscription?.usage?.included_runs ??
|
|
20
|
+
user?.subscription?.included_runs,
|
|
21
|
+
currentRuns: user?.subscription?.usage?.current_runs ??
|
|
22
|
+
user?.subscription?.current_runs ??
|
|
23
|
+
user?.subscription?.used_runs,
|
|
24
|
+
burningRate,
|
|
25
|
+
});
|
|
58
26
|
}
|
|
59
27
|
/** The credits a time reservation stands for. */
|
|
60
28
|
export function creditsLimitFor(timeLimitMinutes, burningRate) {
|
|
@@ -67,10 +35,19 @@ export function creditsLimitFor(timeLimitMinutes, burningRate) {
|
|
|
67
35
|
* The storage is withheld on white-label deployments, as it always was.
|
|
68
36
|
*/
|
|
69
37
|
export function NewCodeSandboxControls(props) {
|
|
70
|
-
const { addCredits, burningRate, withReservation = true, disabled, error, givenName, max, onGivenNameChange, onTimeChange,
|
|
38
|
+
const { addCredits, burningRate, withReservation = true, disabled, error, givenName, max, onGivenNameChange, onTimeChange, onHomeFolderToggle, storageDisabled, timeLimit, homeFolder, withHomeFolder = true, } = props;
|
|
71
39
|
const { configuration } = useCoreStore();
|
|
72
|
-
return (_jsxs(_Fragment, { children: [withReservation && (_jsx(CodeSandboxReservationControl, { addCredits: addCredits, disabled: disabled, label: 'Time reservation', max: max, time: timeLimit, burningRate: burningRate, onTimeChange: onTimeChange, error: error })),
|
|
40
|
+
return (_jsxs(_Fragment, { children: [withReservation && (_jsx(CodeSandboxReservationControl, { addCredits: addCredits, disabled: disabled, label: 'Time reservation', max: max, time: timeLimit, burningRate: burningRate, onTimeChange: onTimeChange, error: error })), withHomeFolder && !configuration.whiteLabel && (_jsxs(FormControl, { disabled: storageDisabled, layout: "horizontal", children: [_jsxs(FormControl.Label, { id: "new-sandbox-home-folder-label", children: ["Mount Home Folder", _jsxs(Link, { href: "/docs/contents/home-folder", target: "_blank", rel: "noopener noreferrer",
|
|
41
|
+
// The label is a <label> for the toggle; a click on the link
|
|
42
|
+
// must open the doc, not flip the switch.
|
|
43
|
+
onClick: event => event.stopPropagation(), muted: true, sx: {
|
|
44
|
+
marginLeft: 2,
|
|
45
|
+
fontWeight: 'normal',
|
|
46
|
+
display: 'inline-flex',
|
|
47
|
+
alignItems: 'center',
|
|
48
|
+
gap: 1,
|
|
49
|
+
}, children: [_jsx(InfoIcon, { size: 14 }), "Read more on Home Content"] })] }), _jsx(ToggleSwitch, { disabled: storageDisabled, checked: homeFolder, size: "small", onClick: event => {
|
|
73
50
|
event.preventDefault();
|
|
74
|
-
|
|
75
|
-
}, "aria-labelledby": "new-sandbox-
|
|
51
|
+
onHomeFolderToggle();
|
|
52
|
+
}, "aria-labelledby": "new-sandbox-home-folder-label" })] })), onGivenNameChange && (_jsxs(FormControl, { disabled: disabled, children: [_jsx(FormControl.Label, { children: "Given Name" }), _jsx(TextInput, { block: true, name: "given-name", value: givenName ?? '', onChange: event => onGivenNameChange(event.target.value) }), _jsx(FormControl.Caption, { children: "What this sandbox is called, wherever it is listed." })] }))] }));
|
|
76
53
|
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* How long a new Code Sandbox may be reserved for, and whether it may start.
|
|
3
|
+
*
|
|
4
|
+
* Separated from the control that renders it so it can be read and tested as
|
|
5
|
+
* what it is: arithmetic over a balance, a plan's run allowance and the
|
|
6
|
+
* burning rate of an environment. The launcher and the picker both ask it,
|
|
7
|
+
* and must get the same answer.
|
|
8
|
+
*/
|
|
9
|
+
/** What the account allows for a new sandbox of a given burning rate. */
|
|
10
|
+
export interface INewCodeSandboxAllowance {
|
|
11
|
+
/** Minutes the available credits pay for; undefined without a usable rate. */
|
|
12
|
+
maxFromCredits?: number;
|
|
13
|
+
/** The ceiling offered by the reservation control. */
|
|
14
|
+
effectiveMaxMinutes: number;
|
|
15
|
+
/** Whether a paid start is impossible: no runs left and no credits. */
|
|
16
|
+
outOfCredits: boolean;
|
|
17
|
+
hasKnownCredits: boolean;
|
|
18
|
+
hasKnownRunAllowance: boolean;
|
|
19
|
+
hasRemainingRuns: boolean;
|
|
20
|
+
}
|
|
21
|
+
/** What a reservation is offered before any credits are known. */
|
|
22
|
+
export declare const DEFAULT_MINUTES_FLOOR = 10;
|
|
23
|
+
export interface ICodeSandboxAllowanceInput {
|
|
24
|
+
/** Credits the account can still commit. */
|
|
25
|
+
available?: number;
|
|
26
|
+
/** Runs the plan includes, when it counts runs. */
|
|
27
|
+
includedRuns?: number;
|
|
28
|
+
/** Runs already taken from that allowance. */
|
|
29
|
+
currentRuns?: number;
|
|
30
|
+
/** Credits per second of the chosen environment. */
|
|
31
|
+
burningRate?: number;
|
|
32
|
+
}
|
|
33
|
+
export declare function codeSandboxAllowance({ available, includedRuns, currentRuns, burningRate, }: ICodeSandboxAllowanceInput): INewCodeSandboxAllowance;
|
|
@@ -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,97 @@
|
|
|
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, IEnvironmentPublicationRecord } 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;
|
|
87
|
+
/**
|
|
88
|
+
* A publication, as the picker offers it to somebody who does not own it
|
|
89
|
+
* (D-12, E2-19).
|
|
90
|
+
*
|
|
91
|
+
* Nobody's listing holds another account's environment, so a reader who came
|
|
92
|
+
* from its Library page is offered it from the publication itself: launched by
|
|
93
|
+
* its environment uid and the version the publication froze, listed under
|
|
94
|
+
* *Library*, and priced by the rate the publication carries. `undefined` for a
|
|
95
|
+
* publication that has been withdrawn, which is no longer anyone's to launch.
|
|
96
|
+
*/
|
|
97
|
+
export declare function libraryEnvironmentOf(publication: IEnvironmentPublicationRecord): IDatalayerEnvironment | undefined;
|
|
@@ -0,0 +1,184 @@
|
|
|
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.label || 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
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* A publication, as the picker offers it to somebody who does not own it
|
|
150
|
+
* (D-12, E2-19).
|
|
151
|
+
*
|
|
152
|
+
* Nobody's listing holds another account's environment, so a reader who came
|
|
153
|
+
* from its Library page is offered it from the publication itself: launched by
|
|
154
|
+
* its environment uid and the version the publication froze, listed under
|
|
155
|
+
* *Library*, and priced by the rate the publication carries. `undefined` for a
|
|
156
|
+
* publication that has been withdrawn, which is no longer anyone's to launch.
|
|
157
|
+
*/
|
|
158
|
+
export function libraryEnvironmentOf(publication) {
|
|
159
|
+
if (publication.status !== 'published') {
|
|
160
|
+
return undefined;
|
|
161
|
+
}
|
|
162
|
+
const snapshot = publication.snapshot;
|
|
163
|
+
const spec = snapshot.spec
|
|
164
|
+
?.spec;
|
|
165
|
+
const version = snapshot.versionNumber;
|
|
166
|
+
return {
|
|
167
|
+
name: publication.environmentUid,
|
|
168
|
+
label: snapshot.environmentName || undefined,
|
|
169
|
+
uid: publication.environmentUid,
|
|
170
|
+
title: snapshot.title || snapshot.environmentName,
|
|
171
|
+
description: snapshot.readme ?? '',
|
|
172
|
+
language: spec?.language?.name ?? 'python',
|
|
173
|
+
origin: 'user',
|
|
174
|
+
owner: publication.ownerUid,
|
|
175
|
+
fromLibrary: true,
|
|
176
|
+
sizeClass: snapshot.sizeClass,
|
|
177
|
+
burning_rate: publication.burningRate ?? undefined,
|
|
178
|
+
promotedVersion: version === null || version === undefined
|
|
179
|
+
? null
|
|
180
|
+
: { uid: publication.versionUid, version, status: 'ready' },
|
|
181
|
+
variants: Object.keys(snapshot.variants ?? {}),
|
|
182
|
+
availableVariants: Object.keys(snapshot.variants ?? {}),
|
|
183
|
+
};
|
|
184
|
+
}
|
|
@@ -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;
|