@datalayer/agent-runtimes 1.0.28 → 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 +18 -5
- 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 +76 -0
- package/lib/components/code-sandboxes/CodeSandboxEnvironmentSelect.js +81 -0
- package/lib/components/code-sandboxes/CodeSandboxLauncher.d.ts +12 -0
- package/lib/components/code-sandboxes/CodeSandboxLauncher.js +132 -25
- package/lib/components/code-sandboxes/CodeSandboxNames.js +75 -29
- package/lib/components/code-sandboxes/CodeSandboxPicker.d.ts +14 -1
- package/lib/components/code-sandboxes/CodeSandboxPicker.js +226 -45
- 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 +16 -1
- package/lib/components/code-sandboxes/CodeSandboxUtils.js +69 -12
- 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.d.ts +29 -0
- package/lib/components/code-sandboxes/codeSandboxProviders.js +90 -0
- package/lib/components/code-sandboxes/index.d.ts +3 -0
- package/lib/components/code-sandboxes/index.js +3 -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 +7 -7
- 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/identity/index.d.ts +1 -1
- package/lib/identity/index.js +1 -1
- package/lib/identity/types.d.ts +1 -1
- package/lib/identity/types.js +1 -1
- 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 +53 -0
- package/lib/models/CodeSandboxVariant.js +77 -0
- 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 +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 +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 +41 -16
- 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/envvars.d.ts +1 -1
- package/lib/specs/envvars.js +3 -3
- 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 +27 -4
- 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 +17 -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 +279 -111
- package/scripts/generate-environments-types.py +404 -0
- package/lib/chat/prompt/InputFooter.d.ts +0 -58
- package/lib/chat/prompt/InputFooter.js +0 -194
- package/lib/chat/prompt/InputPromptFooter.d.ts +0 -27
- package/lib/chat/prompt/InputPromptFooter.js +0 -15
- package/lib/chat/prompt/InputPromptHeader.d.ts +0 -15
- package/lib/chat/prompt/InputPromptHeader.js +0 -15
- package/lib/chat/usage/TokenUsageBar.d.ts +0 -8
- package/lib/hooks/useRuntimes.d.ts +0 -5
- package/lib/hooks/useRuntimes.js +0 -34
- package/lib/jupyter/kernelsHandler.d.ts +0 -8
- package/lib/jupyter/kernelsHandler.js +0 -39
- package/lib/models/Dataset.d.ts +0 -16
- package/lib/utils/Cells.d.ts +0 -2
- package/lib/utils/Cells.js +0 -28
|
@@ -1,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: [
|
|
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,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
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { IMultiServiceManager } from '../../api';
|
|
2
|
+
import type { IRuntimeLocation } from '../../models';
|
|
3
|
+
/** A place sandboxes run, as this page knows it. */
|
|
4
|
+
export type ICodeSandboxProvider = {
|
|
5
|
+
/** Identifier of the provider, which is where its sandboxes run. */
|
|
6
|
+
name: IRuntimeLocation;
|
|
7
|
+
/** What it is called, for a person. */
|
|
8
|
+
title: string;
|
|
9
|
+
/** Whether this page can reach it at all. */
|
|
10
|
+
available: boolean;
|
|
11
|
+
/** Why not, when it cannot. */
|
|
12
|
+
unavailableReason?: string;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Every provider this page knows, and whether it can be used.
|
|
16
|
+
*
|
|
17
|
+
* @param multiServiceManager The services of the page, which say what is
|
|
18
|
+
* reachable: the platform when the account has it, the Jupyter Server when
|
|
19
|
+
* the page is one, the browser when kernels run in it
|
|
20
|
+
*/
|
|
21
|
+
export declare function codeSandboxProviders(multiServiceManager: IMultiServiceManager | undefined): ICodeSandboxProvider[];
|
|
22
|
+
/**
|
|
23
|
+
* Whether one provider can be used from this page.
|
|
24
|
+
*
|
|
25
|
+
* @param location Where the sandboxes of that provider run
|
|
26
|
+
* @param multiServiceManager The services of the page
|
|
27
|
+
*/
|
|
28
|
+
export declare function isCodeSandboxProviderAvailable(location: IRuntimeLocation, multiServiceManager: IMultiServiceManager | undefined): boolean;
|
|
29
|
+
export default codeSandboxProviders;
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* The places a code sandbox can run, and which of them this page can use.
|
|
7
|
+
*
|
|
8
|
+
* A sandbox is not one kind of thing: it is a runtime of the platform, a
|
|
9
|
+
* kernel of a Jupyter Server, a kernel of the browser — and, on the Python
|
|
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
|
|
12
|
+
* PROVIDER, each ships the environments it offers (the platform ships
|
|
13
|
+
* `ai-agents-env`, Kaggle a CPU and a GPU session), and each is usable only
|
|
14
|
+
* where what it needs is at hand.
|
|
15
|
+
*
|
|
16
|
+
* That last rule was written three times over — in the picker, in the
|
|
17
|
+
* launcher, in the table of the sandboxes — and drifted every time it was
|
|
18
|
+
* touched: withholding the platform inside JupyterLab took `ai-agents-env`
|
|
19
|
+
* off the list and left no way to launch a remote sandbox there at all. It is
|
|
20
|
+
* stated once here, and the three read it.
|
|
21
|
+
*
|
|
22
|
+
* The same concept lives in `code_sandboxes.providers` on the Python side,
|
|
23
|
+
* where availability is decided by secrets rather than by services. Both
|
|
24
|
+
* answer the same question — which providers can be used from here — so the
|
|
25
|
+
* CLI, the web application and JupyterLab offer the same thing.
|
|
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
|
+
*
|
|
35
|
+
* @module components/code-sandboxes/codeSandboxProviders
|
|
36
|
+
*/
|
|
37
|
+
import { loadJupyterConfig } from '@datalayer/jupyter-react';
|
|
38
|
+
/**
|
|
39
|
+
* Every provider this page knows, and whether it can be used.
|
|
40
|
+
*
|
|
41
|
+
* @param multiServiceManager The services of the page, which say what is
|
|
42
|
+
* reachable: the platform when the account has it, the Jupyter Server when
|
|
43
|
+
* the page is one, the browser when kernels run in it
|
|
44
|
+
*/
|
|
45
|
+
export function codeSandboxProviders(multiServiceManager) {
|
|
46
|
+
/*
|
|
47
|
+
* The Jupyter Server is the provider bound to WHERE the page runs.
|
|
48
|
+
*
|
|
49
|
+
* Its kernels belong to the server the page is talking to. Outside
|
|
50
|
+
* JupyterLab there is no such server — what a manager reports as "local" is
|
|
51
|
+
* somebody else's — so offering them promises what cannot be reached.
|
|
52
|
+
*/
|
|
53
|
+
const insideJupyterLab = loadJupyterConfig().insideJupyterLab;
|
|
54
|
+
return [
|
|
55
|
+
{
|
|
56
|
+
name: 'remote',
|
|
57
|
+
title: 'Datalayer',
|
|
58
|
+
available: Boolean(multiServiceManager?.remote),
|
|
59
|
+
unavailableReason: multiServiceManager?.remote
|
|
60
|
+
? undefined
|
|
61
|
+
: 'Sign in to Datalayer to launch a sandbox on the platform.',
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
name: 'local',
|
|
65
|
+
title: 'Jupyter Server',
|
|
66
|
+
available: insideJupyterLab && Boolean(multiServiceManager?.local),
|
|
67
|
+
unavailableReason: insideJupyterLab
|
|
68
|
+
? undefined
|
|
69
|
+
: 'The kernels of a Jupyter Server are offered inside JupyterLab.',
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
name: 'browser',
|
|
73
|
+
title: 'Browser',
|
|
74
|
+
available: Boolean(multiServiceManager?.browser),
|
|
75
|
+
unavailableReason: multiServiceManager?.browser
|
|
76
|
+
? undefined
|
|
77
|
+
: 'No kernel runs in this browser.',
|
|
78
|
+
},
|
|
79
|
+
];
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Whether one provider can be used from this page.
|
|
83
|
+
*
|
|
84
|
+
* @param location Where the sandboxes of that provider run
|
|
85
|
+
* @param multiServiceManager The services of the page
|
|
86
|
+
*/
|
|
87
|
+
export function isCodeSandboxProviderAvailable(location, multiServiceManager) {
|
|
88
|
+
return Boolean(codeSandboxProviders(multiServiceManager).find(provider => provider.name === location)?.available);
|
|
89
|
+
}
|
|
90
|
+
export default codeSandboxProviders;
|
|
@@ -11,12 +11,15 @@
|
|
|
11
11
|
*/
|
|
12
12
|
export * from './CodeSandboxCellVariables';
|
|
13
13
|
export * from './CodeSandboxCellVariablesDialog';
|
|
14
|
+
export * from './codeSandboxEnvironments';
|
|
15
|
+
export * from './CodeSandboxEnvironmentSelect';
|
|
14
16
|
export * from './CodeSandboxLauncher';
|
|
15
17
|
export * from './CodeSandboxPicker';
|
|
16
18
|
export * from './CodeSandboxPickerCell';
|
|
17
19
|
export * from './CodeSandboxReservationControl';
|
|
18
20
|
export * from './CodeSandboxTransfer';
|
|
19
21
|
export * from './CodeSandboxNames';
|
|
22
|
+
export * from './codeSandboxProviders';
|
|
20
23
|
export * from './CodeSandboxUtils';
|
|
21
24
|
export * from './CodeSandboxVariables';
|
|
22
25
|
export * from './NewCodeSandboxControls';
|
|
@@ -15,12 +15,15 @@
|
|
|
15
15
|
*/
|
|
16
16
|
export * from './CodeSandboxCellVariables';
|
|
17
17
|
export * from './CodeSandboxCellVariablesDialog';
|
|
18
|
+
export * from './codeSandboxEnvironments';
|
|
19
|
+
export * from './CodeSandboxEnvironmentSelect';
|
|
18
20
|
export * from './CodeSandboxLauncher';
|
|
19
21
|
export * from './CodeSandboxPicker';
|
|
20
22
|
export * from './CodeSandboxPickerCell';
|
|
21
23
|
export * from './CodeSandboxReservationControl';
|
|
22
24
|
export * from './CodeSandboxTransfer';
|
|
23
25
|
export * from './CodeSandboxNames';
|
|
26
|
+
export * from './codeSandboxProviders';
|
|
24
27
|
export * from './CodeSandboxUtils';
|
|
25
28
|
export * from './CodeSandboxVariables';
|
|
26
29
|
export * from './NewCodeSandboxControls';
|
|
@@ -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;
|