@datalayer/agent-runtimes 1.0.10 → 1.0.17
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/README.md +82 -1
- package/lib/{AgentLexical.d.ts → AgentDocument.d.ts} +5 -5
- package/lib/{AgentLexical.js → AgentDocument.js} +156 -26
- package/lib/AgentNode.js +32 -31
- package/lib/AgentNotebook.js +172 -17
- package/lib/AppExamples2.css +47 -0
- package/lib/AppExamples2.d.ts +3 -0
- package/lib/AppExamples2.js +21 -0
- package/lib/{agent-lexical-main.js → agent-document-main.js} +2 -2
- package/lib/agents/AgentRuntimeChat.d.ts +73 -0
- package/lib/agents/AgentRuntimeChat.js +198 -0
- package/lib/api/index.d.ts +12 -0
- package/lib/api/index.js +46 -0
- package/lib/api/runtimes/checkpoints.d.ts +122 -0
- package/lib/api/runtimes/checkpoints.js +118 -0
- package/lib/api/runtimes/environments.d.ts +9 -0
- package/lib/api/runtimes/environments.js +29 -0
- package/lib/api/runtimes/healthz.d.ts +15 -0
- package/lib/api/runtimes/healthz.js +44 -0
- package/lib/api/runtimes/index.d.ts +12 -0
- package/lib/api/runtimes/index.js +16 -0
- package/lib/api/runtimes/runtimes.d.ts +138 -0
- package/lib/api/runtimes/runtimes.js +230 -0
- package/lib/api/runtimes/snapshots.d.ts +38 -0
- package/lib/api/runtimes/snapshots.js +82 -0
- package/lib/api/scheduler/index.d.ts +6 -0
- package/lib/api/scheduler/index.js +10 -0
- package/lib/api/scheduler/schedules.d.ts +85 -0
- package/lib/api/scheduler/schedules.js +78 -0
- package/lib/api/spacer/documents.d.ts +12 -0
- package/lib/api/spacer/documents.js +43 -0
- package/lib/api/spacer/healthz.d.ts +15 -0
- package/lib/api/spacer/healthz.js +44 -0
- package/lib/api/spacer/index.d.ts +15 -0
- package/lib/api/spacer/index.js +19 -0
- package/lib/api/spacer/items.d.ts +25 -0
- package/lib/api/spacer/items.js +55 -0
- package/lib/api/spacer/lexicals.d.ts +34 -0
- package/lib/api/spacer/lexicals.js +89 -0
- package/lib/api/spacer/notebooks.d.ts +34 -0
- package/lib/api/spacer/notebooks.js +89 -0
- package/lib/api/spacer/spaces.d.ts +84 -0
- package/lib/api/spacer/spaces.js +170 -0
- package/lib/api/spacer/users.d.ts +9 -0
- package/lib/api/spacer/users.js +29 -0
- package/lib/chat/Chat.d.ts +1 -1
- package/lib/chat/Chat.js +54 -54
- package/lib/chat/ChatFloating.d.ts +2 -2
- package/lib/chat/ChatFloating.js +136 -25
- package/lib/chat/ChatSidebar.js +20 -22
- package/lib/chat/base/ChatBase.js +429 -39
- package/lib/chat/display/EmptyState.js +21 -21
- package/lib/chat/document/EphemeralDocument.d.ts +23 -0
- package/lib/chat/document/EphemeralDocument.js +270 -0
- package/lib/chat/header/ChatHeaderBase.d.ts +12 -2
- package/lib/chat/header/ChatHeaderBase.js +78 -23
- package/lib/chat/index.d.ts +1 -0
- package/lib/chat/index.js +2 -0
- package/lib/chat/notebook/EphemeralNotebook.d.ts +24 -0
- package/lib/chat/notebook/EphemeralNotebook.js +252 -0
- package/lib/chat/prompt/InputFooter.js +4 -1
- package/lib/client/AgentRuntimesClient.d.ts +127 -0
- package/lib/client/AgentRuntimesClient.js +36 -0
- package/lib/client/AgentsMixin.js +28 -28
- package/lib/client/SdkAgentRuntimesClient.d.ts +1 -1
- package/lib/client/SdkAgentRuntimesClient.js +1 -1
- package/lib/client/mixins/RuntimesMixin.d.ts +93 -0
- package/lib/client/mixins/RuntimesMixin.js +229 -0
- package/lib/client/mixins/SpacerMixin.d.ts +210 -0
- package/lib/client/mixins/SpacerMixin.js +615 -0
- package/lib/client/utils/spacerUtils.d.ts +18 -0
- package/lib/client/utils/spacerUtils.js +32 -0
- package/lib/collaboration/DatalayerCollaboration.d.ts +13 -0
- package/lib/collaboration/DatalayerCollaboration.js +28 -0
- package/lib/collaboration/DatalayerCollaborationProvider.d.ts +58 -0
- package/lib/collaboration/DatalayerCollaborationProvider.js +148 -0
- package/lib/collaboration/index.d.ts +2 -0
- package/lib/collaboration/index.js +6 -0
- package/lib/components/AgentSummary.d.ts +19 -0
- package/lib/components/AgentSummary.js +89 -0
- package/lib/components/a2ui/A2uiSurfaceComposed.d.ts +13 -0
- package/lib/components/a2ui/A2uiSurfaceComposed.js +110 -0
- package/lib/components/a2ui/index.d.ts +2 -0
- package/lib/components/a2ui/index.js +6 -0
- package/lib/components/a2ui/styles.d.ts +14 -0
- package/lib/components/a2ui/styles.js +142 -0
- package/lib/components/context/SpaceSelect.d.ts +2 -0
- package/lib/components/context/SpaceSelect.js +42 -0
- package/lib/components/flashes/FlashDisclaimer.d.ts +2 -0
- package/lib/components/flashes/FlashDisclaimer.js +17 -0
- package/lib/components/icons/ArtifactIcon.d.ts +10 -0
- package/lib/components/icons/ArtifactIcon.js +58 -0
- package/lib/components/icons/index.d.ts +1 -0
- package/lib/components/icons/index.js +5 -0
- package/lib/components/index.d.ts +5 -0
- package/lib/components/index.js +5 -0
- package/lib/components/nbgrader/NbGradesDetails.d.ts +5 -0
- package/lib/components/nbgrader/NbGradesDetails.js +19 -0
- package/lib/components/nbgrader/index.d.ts +1 -0
- package/lib/components/nbgrader/index.js +5 -0
- package/lib/components/progress/CreditsIndicator.d.ts +33 -0
- package/lib/components/progress/CreditsIndicator.js +23 -0
- package/lib/components/progress/index.d.ts +2 -0
- package/lib/components/progress/index.js +6 -0
- package/lib/components/runtimes/RuntimeCellVariables.d.ts +39 -0
- package/lib/components/runtimes/RuntimeCellVariables.js +172 -0
- package/lib/components/runtimes/RuntimeCellVariablesDialog.d.ts +37 -0
- package/lib/components/runtimes/RuntimeCellVariablesDialog.js +101 -0
- package/lib/components/runtimes/RuntimeLauncherDialog.d.ts +57 -0
- package/lib/components/runtimes/RuntimeLauncherDialog.js +275 -0
- package/lib/components/runtimes/RuntimePickerBase.d.ts +69 -0
- package/lib/components/runtimes/RuntimePickerBase.js +122 -0
- package/lib/components/runtimes/RuntimePickerCell.d.ts +34 -0
- package/lib/components/runtimes/RuntimePickerCell.js +104 -0
- package/lib/components/runtimes/RuntimePickerNotebook.d.ts +42 -0
- package/lib/components/runtimes/RuntimePickerNotebook.js +232 -0
- package/lib/components/runtimes/RuntimeReservationControl.d.ts +47 -0
- package/lib/components/runtimes/RuntimeReservationControl.js +42 -0
- package/lib/components/runtimes/RuntimeSimplePicker.d.ts +38 -0
- package/lib/components/runtimes/RuntimeSimplePicker.js +155 -0
- package/lib/components/runtimes/RuntimeTransfer.d.ts +16 -0
- package/lib/components/runtimes/RuntimeTransfer.js +5 -0
- package/lib/components/runtimes/RuntimeUtils.d.ts +17 -0
- package/lib/components/runtimes/RuntimeUtils.js +178 -0
- package/lib/components/runtimes/RuntimeVariables.d.ts +38 -0
- package/lib/components/runtimes/RuntimeVariables.js +75 -0
- package/lib/components/runtimes/index.d.ts +11 -0
- package/lib/components/runtimes/index.js +15 -0
- package/lib/components/scheduler/ScheduleMenu.d.ts +54 -0
- package/lib/components/scheduler/ScheduleMenu.js +154 -0
- package/lib/components/scheduler/index.d.ts +1 -0
- package/lib/components/scheduler/index.js +5 -0
- package/lib/components/snapshots/SandboxSnapshotMenu.d.ts +33 -0
- package/lib/components/snapshots/SandboxSnapshotMenu.js +169 -0
- package/lib/components/snapshots/index.d.ts +1 -0
- package/lib/components/snapshots/index.js +5 -0
- package/lib/components/snippets/SnippetDialog.d.ts +42 -0
- package/lib/components/snippets/SnippetDialog.js +42 -0
- package/lib/components/students/StudentItemStatus.d.ts +7 -0
- package/lib/components/students/StudentItemStatus.js +68 -0
- package/lib/components/students/index.d.ts +1 -0
- package/lib/components/students/index.js +5 -0
- package/lib/components/tokens/SpaceVariantToken.d.ts +5 -0
- package/lib/components/tokens/SpaceVariantToken.js +23 -0
- package/lib/components/tokens/index.d.ts +1 -0
- package/lib/components/tokens/index.js +5 -0
- package/lib/components/toolbars/AssignmentEditorToolbar.d.ts +4 -0
- package/lib/components/toolbars/AssignmentEditorToolbar.js +18 -0
- package/lib/components/toolbars/DocumentEditorToolbar.d.ts +2 -0
- package/lib/components/toolbars/DocumentEditorToolbar.js +12 -0
- package/lib/components/toolbars/NotebookEditorToolbar.d.ts +29 -0
- package/lib/components/toolbars/NotebookEditorToolbar.js +30 -0
- package/lib/context/ContextInspector.d.ts +1 -14
- package/lib/context/ContextInspector.js +3 -73
- package/lib/context/CostUsageChart.d.ts +4 -3
- package/lib/context/CostUsageChart.js +236 -35
- package/lib/context/MessageHistory.d.ts +30 -0
- package/lib/context/MessageHistory.js +129 -0
- package/lib/context/TokenUsageChart.d.ts +4 -3
- package/lib/context/TokenUsageChart.js +180 -30
- package/lib/context/TurnGraphChart.d.ts +1 -1
- package/lib/context/TurnGraphChart.js +6 -6
- package/lib/examples/A2UiAgentExample.d.ts +22 -0
- package/lib/examples/A2UiAgentExample.js +442 -0
- package/lib/examples/A2UiComponentsGalleryExample.d.ts +3 -0
- package/lib/examples/A2UiComponentsGalleryExample.js +863 -0
- package/lib/examples/A2UiContactCardExample.js +9 -5
- package/lib/examples/A2UiRestaurantExample.js +23 -8
- package/lib/examples/A2UiViewerExample.js +75 -3
- package/lib/examples/AgUiAgenticExample.d.ts +1 -12
- package/lib/examples/AgUiAgenticExample.js +52 -8
- package/lib/examples/AgUiBackendToolRenderingExample.d.ts +1 -16
- package/lib/examples/AgUiBackendToolRenderingExample.js +32 -17
- package/lib/examples/AgUiHaikuGenUiExample.d.ts +1 -17
- package/lib/examples/AgUiHaikuGenUiExample.js +49 -33
- package/lib/examples/AgUiHumanInTheLoopExample.d.ts +1 -12
- package/lib/examples/AgUiHumanInTheLoopExample.js +21 -6
- package/lib/examples/AgUiSharedStateExample.d.ts +1 -14
- package/lib/examples/AgUiSharedStateExample.js +21 -6
- package/lib/examples/AgUiToolsBasedGenUiExample.d.ts +1 -14
- package/lib/examples/AgUiToolsBasedGenUiExample.js +21 -6
- package/lib/examples/AgentCheckpointsExample.d.ts +1 -1
- package/lib/examples/AgentCheckpointsExample.js +9 -10
- package/lib/examples/AgentCodemodeExample.js +3 -3
- package/lib/examples/AgentEvalsExample.js +5 -5
- package/lib/examples/AgentGuardrailsExample.js +17 -12
- package/lib/examples/AgentHooksExample.js +14 -55
- package/lib/examples/AgentInferenceProviderExample.js +4 -4
- package/lib/examples/AgentLoopExample.d.ts +10 -0
- package/lib/examples/AgentLoopExample.js +304 -0
- package/lib/examples/AgentMCPExample.js +7 -7
- package/lib/examples/AgentMemoryExample.js +4 -4
- package/lib/examples/AgentMonitoringExample.js +114 -44
- package/lib/examples/AgentNotificationsExample.js +4 -4
- package/lib/examples/AgentOtelExample.d.ts +3 -3
- package/lib/examples/AgentOtelExample.js +15 -10
- package/lib/examples/AgentOutputsExample.js +6 -6
- package/lib/examples/AgentParametersExample.js +21 -33
- package/lib/examples/AgentSandboxExample.js +5 -5
- package/lib/examples/AgentSkillsExample.js +7 -7
- package/lib/examples/AgentSubagentsExample.js +4 -4
- package/lib/examples/AgentToolApprovalsExample.js +5 -5
- package/lib/examples/AgentTriggersExample.js +9 -9
- package/lib/examples/AgentspecsExample.js +63 -41
- package/lib/examples/ChatCustomExample.js +23 -77
- package/lib/examples/ChatExample.js +13 -44
- package/lib/examples/LexicalAgentExample.js +43 -91
- package/lib/examples/LexicalAgentSidebarExample.js +45 -73
- package/lib/examples/NotebookAgentExample.js +52 -81
- package/lib/examples/NotebookAgentSidebarExample.js +43 -71
- package/lib/examples/NotebookCollaborationExample.js +11 -9
- package/lib/examples/NotebookExample.js +5 -2
- package/lib/examples/components/AuthRequiredView.js +1 -1
- package/lib/examples/components/ExampleErrorBoundary.d.ts +46 -0
- package/lib/examples/components/ExampleErrorBoundary.js +67 -0
- package/lib/examples/components/haiku/haiku-card.css +11 -0
- package/lib/examples/components/weather/weather-card.css +11 -0
- package/lib/examples/example-selector.js +3 -1
- package/lib/examples/hooks/useExampleAgentRuntime.d.ts +35 -0
- package/lib/examples/hooks/useExampleAgentRuntime.js +82 -0
- package/lib/examples/hooks/useSpecRenderToolResult.d.ts +30 -0
- package/lib/examples/hooks/useSpecRenderToolResult.js +61 -0
- package/lib/examples/index.d.ts +3 -1
- package/lib/examples/index.js +3 -1
- package/lib/examples/main.js +340 -93
- package/lib/examples/utils/a2ui.d.ts +2 -0
- package/lib/examples/utils/a2ui.js +97 -2
- package/lib/examples/utils/agentSummaryStore.d.ts +21 -0
- package/lib/examples/utils/agentSummaryStore.js +23 -0
- package/lib/examples/utils/notebooks/Empty.ipynb.json +30 -30
- package/lib/examples/utils/runtimeTargetStore.d.ts +9 -0
- package/lib/examples/utils/runtimeTargetStore.js +27 -0
- package/lib/examples/utils/teardownAgents.d.ts +13 -0
- package/lib/examples/utils/teardownAgents.js +78 -0
- package/lib/examples/utils/useExampleAgentRuntimesUrl.d.ts +2 -0
- package/lib/examples/utils/useExampleAgentRuntimesUrl.js +26 -7
- package/lib/examples2/CellExample.d.ts +6 -0
- package/lib/examples2/CellExample.js +20 -0
- package/lib/examples2/DatalayerNotebookExample.d.ts +16 -0
- package/lib/examples2/DatalayerNotebookExample.js +109 -0
- package/lib/examples2/NativeNavigationExample.d.ts +8 -0
- package/lib/examples2/NativeNavigationExample.js +97 -0
- package/lib/examples2/NotebookExample.d.ts +6 -0
- package/lib/examples2/NotebookExample.js +19 -0
- package/lib/examples2/NotebookMutationsKernel.d.ts +2 -0
- package/lib/examples2/NotebookMutationsKernel.js +105 -0
- package/lib/examples2/NotebookMutationsServiceManager.d.ts +2 -0
- package/lib/examples2/NotebookMutationsServiceManager.js +109 -0
- package/lib/examples2/ReactRouterExample.d.ts +6 -0
- package/lib/examples2/ReactRouterExample.js +175 -0
- package/lib/examples2/example-selector.d.ts +22 -0
- package/lib/examples2/example-selector.js +45 -0
- package/lib/examples2/index.d.ts +2 -0
- package/lib/examples2/index.js +6 -0
- package/lib/examples2/lexical-theme.css +436 -0
- package/lib/examples2/main.d.ts +2 -0
- package/lib/examples2/main.js +330 -0
- package/lib/examples2/notebooks/IPyWidgetsExample.ipynb.json +101 -0
- package/lib/examples2/notebooks/IPyWidgetsExampleWithState.ipynb.json +112 -0
- package/lib/examples2/notebooks/Lite.ipynb.json +128 -0
- package/lib/examples2/notebooks/Matplotlib.ipynb.json +137 -0
- package/lib/examples2/notebooks/NotebookExample1.ipynb.json +126 -0
- package/lib/examples2/notebooks/NotebookExample2.ipynb.json +48 -0
- package/lib/examples2/notebooks/NotebookOutputs.ipynb.json +49 -0
- package/lib/examples2/notebooks/NotebookToCExample.ipynb.json +102 -0
- package/lib/examples2/notebooks/OutputIPyWidgetsExample.d.ts +145 -0
- package/lib/examples2/notebooks/OutputIPyWidgetsExample.js +153 -0
- package/lib/examples2/notebooks/PyGWalker.ipynb.json +55 -0
- package/lib/hooks/index.d.ts +9 -1
- package/lib/hooks/index.js +13 -1
- package/lib/hooks/useAIAgentsWebSocket.d.ts +1 -1
- package/lib/hooks/useAIAgentsWebSocket.js +39 -3
- package/lib/hooks/useAgentRuntimes.d.ts +15 -3
- package/lib/hooks/useAgentRuntimes.js +186 -27
- package/lib/hooks/useAgentsService.js +5 -5
- package/lib/hooks/useCellOutputshot.d.ts +4 -0
- package/lib/hooks/useCellOutputshot.js +25 -0
- package/lib/hooks/useCheckpoints.d.ts +8 -8
- package/lib/hooks/useCheckpoints.js +36 -26
- package/lib/hooks/useConfig.d.ts +1 -1
- package/lib/hooks/useMonitoring.d.ts +7 -5
- package/lib/hooks/useMonitoring.js +16 -10
- package/lib/hooks/useNotifications.d.ts +11 -11
- package/lib/hooks/useNotifications.js +1 -1
- package/lib/hooks/useProgressStore.d.ts +25 -0
- package/lib/hooks/useProgressStore.js +58 -0
- package/lib/hooks/useProgressTask.d.ts +9 -0
- package/lib/hooks/useProgressTask.js +41 -0
- package/lib/hooks/useProjects.d.ts +628 -0
- package/lib/hooks/useProjects.js +190 -0
- package/lib/hooks/useRuntimes.d.ts +5 -0
- package/lib/hooks/useRuntimes.js +34 -0
- package/lib/hooks/useToolApprovals.d.ts +6 -6
- package/lib/index.d.ts +1 -0
- package/lib/index.js +1 -0
- package/lib/jupyter/exec/Python.d.ts +5 -0
- package/lib/jupyter/exec/Python.js +100 -0
- package/lib/jupyter/exec/Snippets.d.ts +105 -0
- package/lib/jupyter/exec/Snippets.js +101 -0
- package/lib/jupyter/exec/index.d.ts +2 -0
- package/lib/jupyter/exec/index.js +6 -0
- package/lib/jupyter/index.d.ts +2 -0
- package/lib/jupyter/index.js +6 -0
- package/lib/jupyter/kernelsHandler.d.ts +8 -0
- package/lib/jupyter/kernelsHandler.js +39 -0
- package/lib/mocks/models/CourseMock.d.ts +6 -0
- package/lib/mocks/models/CourseMock.js +29 -0
- package/lib/mocks/models/SpaceMock.d.ts +6 -0
- package/lib/mocks/models/SpaceMock.js +25 -0
- package/lib/models/Assignment.d.ts +7 -0
- package/lib/models/Assignment.js +5 -0
- package/lib/models/Cell.d.ts +8 -0
- package/lib/models/Cell.js +5 -0
- package/lib/models/CodeBlock.d.ts +10 -0
- package/lib/models/CodeBlock.js +5 -0
- package/lib/models/CodeSandboxSnapshot.d.ts +92 -0
- package/lib/models/CodeSandboxSnapshot.js +13 -0
- package/lib/models/CodeSandboxSnapshotDTO.d.ts +173 -0
- package/lib/models/CodeSandboxSnapshotDTO.js +139 -0
- package/lib/models/CodefeedBlocks.d.ts +7 -0
- package/lib/models/CodefeedBlocks.js +5 -0
- package/lib/models/Content.d.ts +5 -0
- package/lib/models/Content.js +5 -0
- package/lib/models/Course.d.ts +17 -0
- package/lib/models/Course.js +5 -0
- package/lib/models/Dataset.d.ts +16 -0
- package/lib/models/Dataset.js +5 -0
- package/lib/models/Document.d.ts +8 -0
- package/lib/models/Document.js +5 -0
- package/lib/models/Environment.d.ts +86 -0
- package/lib/models/Environment.js +5 -0
- package/lib/models/EnvironmentDTO.d.ts +125 -0
- package/lib/models/EnvironmentDTO.js +88 -0
- package/lib/models/Exercise.d.ts +16 -0
- package/lib/models/Exercise.js +5 -0
- package/lib/models/Item.d.ts +20 -0
- package/lib/models/Item.js +5 -0
- package/lib/models/ItemDTO.d.ts +74 -0
- package/lib/models/ItemDTO.js +186 -0
- package/lib/models/ItemType.d.ts +2 -0
- package/lib/models/ItemType.js +5 -0
- package/lib/models/Lesson.d.ts +5 -0
- package/lib/models/Lesson.js +5 -0
- package/lib/models/LexicalDTO.d.ts +155 -0
- package/lib/models/LexicalDTO.js +157 -0
- package/lib/models/Library.d.ts +10 -0
- package/lib/models/Library.js +5 -0
- package/lib/models/Notebook.d.ts +11 -0
- package/lib/models/Notebook.js +5 -0
- package/lib/models/NotebookDTO.d.ts +96 -0
- package/lib/models/NotebookDTO.js +153 -0
- package/lib/models/Page.d.ts +41 -0
- package/lib/models/Page.js +25 -0
- package/lib/models/PageTag.d.ts +19 -0
- package/lib/models/PageTag.js +94 -0
- package/lib/models/ProjectDTO.d.ts +89 -0
- package/lib/models/ProjectDTO.js +131 -0
- package/lib/models/Runtime.d.ts +160 -0
- package/lib/models/Runtime.js +18 -0
- package/lib/models/RuntimeDTO.d.ts +172 -0
- package/lib/models/RuntimeDTO.js +204 -0
- package/lib/models/Space.d.ts +35 -0
- package/lib/models/Space.js +66 -0
- package/lib/models/SpaceDTO.d.ts +334 -0
- package/lib/models/SpaceDTO.js +244 -0
- package/lib/models/SpaceItem.d.ts +10 -0
- package/lib/models/SpaceItem.js +5 -0
- package/lib/models/SpaceMember.d.ts +6 -0
- package/lib/models/SpaceMember.js +5 -0
- package/lib/models/StudentItem.d.ts +21 -0
- package/lib/models/StudentItem.js +5 -0
- package/lib/models/index.d.ts +32 -0
- package/lib/models/index.js +39 -0
- package/lib/protocols/AGUIAdapter.js +1 -1
- package/lib/runtimes/actions.d.ts +102 -0
- package/lib/runtimes/actions.js +249 -0
- package/lib/runtimes/apis.d.ts +273 -0
- package/lib/runtimes/apis.js +5 -0
- package/lib/runtimes/index.d.ts +5 -0
- package/lib/runtimes/index.js +9 -0
- package/lib/runtimes/settings.d.ts +15 -0
- package/lib/runtimes/settings.js +31 -0
- package/lib/runtimes/snapshots.d.ts +25 -0
- package/lib/runtimes/snapshots.js +150 -0
- package/lib/runtimes/utils.d.ts +7 -0
- package/lib/runtimes/utils.js +14 -0
- package/lib/services/DatalayerServiceManager.d.ts +23 -0
- package/lib/services/DatalayerServiceManager.js +90 -0
- package/lib/services/reconnectToRuntime.d.ts +32 -0
- package/lib/services/reconnectToRuntime.js +59 -0
- package/lib/services/sandboxServiceManagers.d.ts +31 -0
- package/lib/services/sandboxServiceManagers.js +57 -0
- package/lib/specs/agents/agents.d.ts +70 -26
- package/lib/specs/agents/agents.js +3994 -1639
- package/lib/specs/index.d.ts +1 -0
- package/lib/specs/index.js +1 -0
- package/lib/specs/loops.d.ts +34 -0
- package/lib/specs/loops.js +188 -0
- package/lib/specs/mcpServers.d.ts +1 -0
- package/lib/specs/mcpServers.js +17 -0
- package/lib/specs/models.d.ts +4 -0
- package/lib/specs/models.js +30 -0
- package/lib/specs/skills.d.ts +1 -0
- package/lib/specs/skills.js +18 -0
- package/lib/specs/tools.d.ts +15 -0
- package/lib/specs/tools.js +285 -0
- package/lib/state/index.d.ts +4 -0
- package/lib/state/index.js +10 -0
- package/lib/state/substates/CellState.d.ts +12 -0
- package/lib/state/substates/CellState.js +22 -0
- package/lib/state/substates/DocumentState.d.ts +10 -0
- package/lib/state/substates/DocumentState.js +14 -0
- package/lib/state/substates/GradeState.d.ts +10 -0
- package/lib/state/substates/GradeState.js +14 -0
- package/lib/state/substates/JupyterLabState.d.ts +16 -0
- package/lib/state/substates/JupyterLabState.js +17 -0
- package/lib/state/substates/NbformatState.d.ts +13 -0
- package/lib/state/substates/NbformatState.js +16 -0
- package/lib/state/substates/RuntimesState.d.ts +87 -0
- package/lib/state/substates/RuntimesState.js +192 -0
- package/lib/state/substates/SpaceState.d.ts +11 -0
- package/lib/state/substates/SpaceState.js +16 -0
- package/lib/state/substates/index.d.ts +8 -0
- package/lib/state/substates/index.js +14 -0
- package/lib/stores/agentRuntimeStore.d.ts +25 -2
- package/lib/stores/agentRuntimeStore.js +114 -19
- package/lib/stories/Button.stories.d.ts +1 -1
- package/lib/stories/Header.stories.d.ts +3 -3
- package/lib/test-setup.js +10 -0
- package/lib/types/agents-lifecycle.d.ts +5 -5
- package/lib/types/agents.d.ts +3 -3
- package/lib/types/agentspecs.d.ts +3 -1
- package/lib/types/chat.d.ts +135 -3
- package/lib/types/config.d.ts +19 -1
- package/lib/types/index.d.ts +1 -0
- package/lib/types/index.js +1 -0
- package/lib/types/loops.d.ts +64 -0
- package/lib/types/loops.js +5 -0
- package/lib/types/tools.d.ts +16 -0
- package/lib/utils/Cells.d.ts +2 -0
- package/lib/utils/Cells.js +28 -0
- package/package.json +24 -18
- package/scripts/codegen/__pycache__/versioning.cpython-313.pyc +0 -0
- package/scripts/codegen/generate_agents.py +21 -4
- package/scripts/codegen/generate_loops.py +443 -0
- package/lib/examples/A2UiComponentGalleryExample.d.ts +0 -3
- package/lib/examples/A2UiComponentGalleryExample.js +0 -361
- /package/lib/{agent-lexical-main.d.ts → agent-document-main.d.ts} +0 -0
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Runtimes APIs.
|
|
7
|
+
*/
|
|
8
|
+
import { URLExt } from '@jupyterlab/coreutils';
|
|
9
|
+
import { PromiseDelegate } from '@lumino/coreutils';
|
|
10
|
+
import { Upload } from 'tus-js-client';
|
|
11
|
+
import { requestDatalayerAPI } from '@datalayer/core/lib/api';
|
|
12
|
+
import { asCodeSandboxSnapshot } from '../models';
|
|
13
|
+
import { iamStore, runtimesStore } from '../state/substates';
|
|
14
|
+
/**
|
|
15
|
+
* Get available Environments.
|
|
16
|
+
*/
|
|
17
|
+
export async function getEnvironments() {
|
|
18
|
+
const data = await requestDatalayerAPI({
|
|
19
|
+
url: URLExt.join(runtimesStore.getState().runtimesUrl, 'api/runtimes/v1/environments'),
|
|
20
|
+
token: iamStore.getState().token,
|
|
21
|
+
});
|
|
22
|
+
if (!data.success) {
|
|
23
|
+
console.error('Failed to fetch available environments.', data);
|
|
24
|
+
return [];
|
|
25
|
+
}
|
|
26
|
+
return data.environments ?? [];
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Create a Runtime.
|
|
30
|
+
*/
|
|
31
|
+
export async function createRuntime(options) {
|
|
32
|
+
const { externalToken, token } = iamStore.getState();
|
|
33
|
+
if (typeof options.creditsLimit !== 'number' ||
|
|
34
|
+
!Number.isFinite(options.creditsLimit) ||
|
|
35
|
+
options.creditsLimit <= 0) {
|
|
36
|
+
throw new Error(`Invalid runtime creditsLimit for environment ${options.environmentName}. ` +
|
|
37
|
+
'A positive number is required.');
|
|
38
|
+
}
|
|
39
|
+
const body = {
|
|
40
|
+
environment_name: options.environmentName,
|
|
41
|
+
type: options.type ?? 'notebook',
|
|
42
|
+
given_name: options.givenName,
|
|
43
|
+
credits_limit: options.creditsLimit,
|
|
44
|
+
};
|
|
45
|
+
if (options.capabilities) {
|
|
46
|
+
body['capabilities'] = options.capabilities;
|
|
47
|
+
}
|
|
48
|
+
if (options.snapshot) {
|
|
49
|
+
body['from'] = options.snapshot;
|
|
50
|
+
}
|
|
51
|
+
const data = await requestDatalayerAPI({
|
|
52
|
+
url: URLExt.join(runtimesStore.getState().runtimesUrl, `api/runtimes/v1/runtimes`),
|
|
53
|
+
method: 'POST',
|
|
54
|
+
body,
|
|
55
|
+
token: token,
|
|
56
|
+
// externalToken may be needed for addons (like credits...).
|
|
57
|
+
headers: externalToken
|
|
58
|
+
? {
|
|
59
|
+
'X-External-Token': externalToken,
|
|
60
|
+
}
|
|
61
|
+
: undefined,
|
|
62
|
+
});
|
|
63
|
+
if (!data.success || !data.runtime) {
|
|
64
|
+
const msg = `Failed to create a kernel for the environment ${options.environmentName}.`;
|
|
65
|
+
console.error(msg, data);
|
|
66
|
+
throw new Error(msg);
|
|
67
|
+
}
|
|
68
|
+
return data.runtime;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Get the Runtimes.
|
|
72
|
+
*/
|
|
73
|
+
export async function getRuntimes() {
|
|
74
|
+
const data = await requestDatalayerAPI({
|
|
75
|
+
url: URLExt.join(runtimesStore.getState().runtimesUrl, 'api/runtimes/v1/runtimes'),
|
|
76
|
+
token: iamStore.getState().token,
|
|
77
|
+
});
|
|
78
|
+
if (!data.success) {
|
|
79
|
+
const msg = 'Failed to list the running kernels.';
|
|
80
|
+
console.error(msg, data);
|
|
81
|
+
throw new Error(msg);
|
|
82
|
+
}
|
|
83
|
+
return data.runtimes ?? [];
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Delete a Runtime
|
|
87
|
+
*/
|
|
88
|
+
export async function deleteRuntime(options) {
|
|
89
|
+
const externalToken = iamStore.getState().externalToken;
|
|
90
|
+
await requestDatalayerAPI({
|
|
91
|
+
url: URLExt.join(runtimesStore.getState().runtimesUrl, `api/runtimes/v1/runtimes/${options.id}`) +
|
|
92
|
+
URLExt.objectToQueryString(options.reason ? { reason: options.reason } : {}),
|
|
93
|
+
method: 'DELETE',
|
|
94
|
+
token: iamStore.getState().token,
|
|
95
|
+
// externalToken may be needed for addons (like credits...).
|
|
96
|
+
headers: externalToken
|
|
97
|
+
? {
|
|
98
|
+
'X-External-Token': externalToken,
|
|
99
|
+
}
|
|
100
|
+
: undefined,
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Snapshot a Runtime.
|
|
105
|
+
*/
|
|
106
|
+
export async function snapshotRuntime(options) {
|
|
107
|
+
const data = await requestDatalayerAPI({
|
|
108
|
+
url: URLExt.join(runtimesStore.getState().runtimesUrl, 'api/runtimes/v1/sandbox-snapshots'),
|
|
109
|
+
method: 'POST',
|
|
110
|
+
body: {
|
|
111
|
+
pod_name: options.id,
|
|
112
|
+
name: options.name,
|
|
113
|
+
description: options.description,
|
|
114
|
+
stop: options.stop,
|
|
115
|
+
},
|
|
116
|
+
token: iamStore.getState().token,
|
|
117
|
+
});
|
|
118
|
+
if (!data.success) {
|
|
119
|
+
throw new Error(`Failed to take the code sandbox snapshot ${options.id} - ${data}`);
|
|
120
|
+
}
|
|
121
|
+
// Runtimes service can return 202 Accepted without inline snapshot payload
|
|
122
|
+
// while the snapshot lifecycle completes asynchronously via pub-sub events.
|
|
123
|
+
if (!data.snapshot) {
|
|
124
|
+
return undefined;
|
|
125
|
+
}
|
|
126
|
+
return asCodeSandboxSnapshot(data.snapshot);
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Get Code Sandbox Snapshots.
|
|
130
|
+
*/
|
|
131
|
+
export async function getSandboxSnapshots() {
|
|
132
|
+
const data = await requestDatalayerAPI({
|
|
133
|
+
url: URLExt.join(runtimesStore.getState().runtimesUrl, 'api/runtimes/v1/sandbox-snapshots'),
|
|
134
|
+
token: iamStore.getState().token,
|
|
135
|
+
});
|
|
136
|
+
if (!data.success) {
|
|
137
|
+
console.error('Failed to fetch code sandbox snapshots.', data);
|
|
138
|
+
return [];
|
|
139
|
+
}
|
|
140
|
+
return (data.snapshots ?? []).map(asCodeSandboxSnapshot);
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Load a Code Sandbox Snapshot within a Runtime.
|
|
144
|
+
*/
|
|
145
|
+
export async function loadSandboxSnapshot(options) {
|
|
146
|
+
const data = await requestDatalayerAPI({
|
|
147
|
+
url: URLExt.join(runtimesStore.getState().runtimesUrl, 'api/runtimes/v1/runtimes', options.id),
|
|
148
|
+
method: 'PUT',
|
|
149
|
+
body: {
|
|
150
|
+
from: options.from,
|
|
151
|
+
},
|
|
152
|
+
token: iamStore.getState().token,
|
|
153
|
+
});
|
|
154
|
+
if (!data.success) {
|
|
155
|
+
throw new Error(`Failed to load the code sandbox snapshot; ${data.message}`);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Returns the Code Sandbox Snapshot download URL.
|
|
160
|
+
*
|
|
161
|
+
* @param id Snapshot UID to download
|
|
162
|
+
* @returns The download URL
|
|
163
|
+
*/
|
|
164
|
+
export function createSandboxSnapshotDownloadURL(id) {
|
|
165
|
+
return (URLExt.join(runtimesStore.getState().runtimesUrl, `api/runtimes/v1/sandbox-snapshots/${id}`) +
|
|
166
|
+
URLExt.objectToQueryString({
|
|
167
|
+
download: '1',
|
|
168
|
+
token: iamStore.getState().token ?? '',
|
|
169
|
+
}));
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Export a Code Sandbox Snapshot.
|
|
173
|
+
*
|
|
174
|
+
* @param id Code Sandbox snapshot UID to download
|
|
175
|
+
*/
|
|
176
|
+
export function exportCodeSandboxSnapshot(id) {
|
|
177
|
+
const url = createSandboxSnapshotDownloadURL(id);
|
|
178
|
+
const element = document.createElement('a');
|
|
179
|
+
element.href = url;
|
|
180
|
+
element.download = '';
|
|
181
|
+
document.body.appendChild(element);
|
|
182
|
+
element.click();
|
|
183
|
+
document.body.removeChild(element);
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Delete a Code Sandbox Snapshot.
|
|
187
|
+
*/
|
|
188
|
+
export async function deleteCodeSandboxSnapshot(id) {
|
|
189
|
+
await requestDatalayerAPI({
|
|
190
|
+
url: URLExt.join(runtimesStore.getState().runtimesUrl, `api/runtimes/v1/sandbox-snapshots/${id}`),
|
|
191
|
+
method: 'DELETE',
|
|
192
|
+
token: iamStore.getState().token,
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Update Code Sandbox Snapshot metadata.
|
|
197
|
+
*/
|
|
198
|
+
export async function updateCodeSandboxSnapshot(id, metadata) {
|
|
199
|
+
if (metadata.name || metadata.description) {
|
|
200
|
+
await requestDatalayerAPI({
|
|
201
|
+
url: URLExt.join(runtimesStore.getState().runtimesUrl, `api/runtimes/v1/sandbox-snapshots/${id}`),
|
|
202
|
+
method: 'PATCH',
|
|
203
|
+
body: { ...metadata },
|
|
204
|
+
token: iamStore.getState().token,
|
|
205
|
+
});
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Upload a Code Sandbox Snapshot.
|
|
210
|
+
*
|
|
211
|
+
* Note: The promise will be rejected if the runtime state is empty.
|
|
212
|
+
*/
|
|
213
|
+
export async function uploadCodeSandboxSnapshot(options) {
|
|
214
|
+
if (options.file.size === 0) {
|
|
215
|
+
return Promise.reject('Empty Code Sandbox Snapshot.');
|
|
216
|
+
}
|
|
217
|
+
const tracker = new PromiseDelegate();
|
|
218
|
+
// Create a new tus upload.
|
|
219
|
+
const upload = new Upload(options.file, {
|
|
220
|
+
// Endpoint is the upload creation URL from your tus server.
|
|
221
|
+
endpoint: `${runtimesStore.getState().runtimesUrl}/api/runtimes/v1/sandbox-snapshots/upload`,
|
|
222
|
+
headers: { Authorization: `Bearer ${iamStore.getState().token}` },
|
|
223
|
+
// Retry delays will enable tus-js-client to automatically retry on errors.
|
|
224
|
+
// retryDelays: [0, 3000, 5000, 10000, 20000],
|
|
225
|
+
retryDelays: null,
|
|
226
|
+
// Attach additional meta data about the file for the server.
|
|
227
|
+
metadata: options.metadata,
|
|
228
|
+
// Callback for errors which cannot be fixed using retries.
|
|
229
|
+
onError: error => {
|
|
230
|
+
console.error(`Failed to upload ${options.metadata.filename}.`, error);
|
|
231
|
+
tracker.reject(error);
|
|
232
|
+
},
|
|
233
|
+
// Callback for reporting upload progress.
|
|
234
|
+
onProgress: options.onProgress,
|
|
235
|
+
// Callback for once the upload is completed.
|
|
236
|
+
onSuccess: () => {
|
|
237
|
+
tracker.resolve();
|
|
238
|
+
},
|
|
239
|
+
});
|
|
240
|
+
// Check if there are any previous uploads to continue then start the upload.
|
|
241
|
+
const previousUploads = await upload.findPreviousUploads();
|
|
242
|
+
// Found previous uploads so we select the first one.
|
|
243
|
+
if (previousUploads.length) {
|
|
244
|
+
upload.resumeFromPreviousUpload(previousUploads[0]);
|
|
245
|
+
}
|
|
246
|
+
// Start the upload.
|
|
247
|
+
upload.start();
|
|
248
|
+
return tracker.promise;
|
|
249
|
+
}
|
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Runtimes APIs.
|
|
3
|
+
*/
|
|
4
|
+
import { ISessionContext } from '@jupyterlab/apputils';
|
|
5
|
+
import { ServiceManager, Kernel, ServerConnection } from '@jupyterlab/services';
|
|
6
|
+
import { IDisposable } from '@lumino/disposable';
|
|
7
|
+
import { ISignal } from '@lumino/signaling';
|
|
8
|
+
import type { ICodeSandboxSnapshot, IRuntimeCapabilities, IRuntimeModel, IDatalayerEnvironment, IRuntimeType, IRuntimeLocation } from '../models';
|
|
9
|
+
/**
|
|
10
|
+
* Abstract interface for the Datalayer session context.
|
|
11
|
+
* It extends the JupyterLab session context
|
|
12
|
+
* to include the runtime location.
|
|
13
|
+
*/
|
|
14
|
+
export interface IDatalayerSessionContext extends ISessionContext {
|
|
15
|
+
get location(): IRuntimeLocation;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Runtime creation options
|
|
19
|
+
*/
|
|
20
|
+
export interface IRuntimeOptions {
|
|
21
|
+
/**
|
|
22
|
+
* Environment name
|
|
23
|
+
*/
|
|
24
|
+
environmentName: string;
|
|
25
|
+
/**
|
|
26
|
+
* Credits limit to be consumed by the kernel
|
|
27
|
+
*/
|
|
28
|
+
creditsLimit: number;
|
|
29
|
+
/**
|
|
30
|
+
* Runtime type
|
|
31
|
+
*/
|
|
32
|
+
type?: IRuntimeType;
|
|
33
|
+
/**
|
|
34
|
+
* Runtime given name
|
|
35
|
+
*/
|
|
36
|
+
givenName?: string;
|
|
37
|
+
/**
|
|
38
|
+
* Kernel capabilities
|
|
39
|
+
*/
|
|
40
|
+
capabilities?: IRuntimeCapabilities[];
|
|
41
|
+
/**
|
|
42
|
+
* Kernel snapshot to restore
|
|
43
|
+
*/
|
|
44
|
+
snapshot?: string;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Interface for the Environments Manager
|
|
48
|
+
*/
|
|
49
|
+
export interface IEnvironmentsManager extends IDisposable {
|
|
50
|
+
/**
|
|
51
|
+
* Signal emitted when the environments changes.
|
|
52
|
+
*/
|
|
53
|
+
readonly changed: ISignal<IEnvironmentsManager, readonly IDatalayerEnvironment[]>;
|
|
54
|
+
/**
|
|
55
|
+
* A signal emitted when there is a connection failure.
|
|
56
|
+
*/
|
|
57
|
+
readonly connectionFailure: ISignal<IEnvironmentsManager, Error>;
|
|
58
|
+
/**
|
|
59
|
+
* Test whether the manager is ready.
|
|
60
|
+
*/
|
|
61
|
+
readonly isReady: boolean;
|
|
62
|
+
/**
|
|
63
|
+
* A promise that fulfills when the manager is ready.
|
|
64
|
+
*/
|
|
65
|
+
readonly ready: Promise<void>;
|
|
66
|
+
/**
|
|
67
|
+
* Get the list of environments.
|
|
68
|
+
*/
|
|
69
|
+
get(): readonly IDatalayerEnvironment[];
|
|
70
|
+
/**
|
|
71
|
+
* Refresh the environment list.
|
|
72
|
+
*/
|
|
73
|
+
refresh(): Promise<void>;
|
|
74
|
+
/**
|
|
75
|
+
* Refresh the environments.
|
|
76
|
+
*/
|
|
77
|
+
refreshEnvironments(): Promise<void>;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Interface for the Remote Runtimes Manager
|
|
81
|
+
*/
|
|
82
|
+
export interface IRemoteRuntimesManager extends IDisposable {
|
|
83
|
+
/**
|
|
84
|
+
* A signal emitted when there is a connection failure.
|
|
85
|
+
*/
|
|
86
|
+
readonly connectionFailure: ISignal<IRemoteRuntimesManager, Error>;
|
|
87
|
+
/**
|
|
88
|
+
* Test whether the manager is ready.
|
|
89
|
+
*/
|
|
90
|
+
readonly isReady: boolean;
|
|
91
|
+
/**
|
|
92
|
+
* A promise that fulfills when the manager is ready.
|
|
93
|
+
*/
|
|
94
|
+
readonly ready: Promise<void>;
|
|
95
|
+
/**
|
|
96
|
+
* Remote kernels changed
|
|
97
|
+
*/
|
|
98
|
+
readonly changed: ISignal<IRemoteRuntimesManager, readonly IRuntimeModel[]>;
|
|
99
|
+
/**
|
|
100
|
+
* The server settings.
|
|
101
|
+
*/
|
|
102
|
+
readonly serverSettings: ServerConnection.ISettings;
|
|
103
|
+
/**
|
|
104
|
+
* Get the list of remote kernels.
|
|
105
|
+
*/
|
|
106
|
+
get(): readonly IRuntimeModel[];
|
|
107
|
+
/**
|
|
108
|
+
* Get the service manager for a remote server
|
|
109
|
+
*
|
|
110
|
+
* @param serverName Remote kernel server name
|
|
111
|
+
* @returns Service manager for the remote server
|
|
112
|
+
*/
|
|
113
|
+
getServices(serverName: string): any | undefined;
|
|
114
|
+
/**
|
|
115
|
+
* Refresh the environment list
|
|
116
|
+
*/
|
|
117
|
+
refresh(): Promise<void>;
|
|
118
|
+
/**
|
|
119
|
+
* Launch a Kernel.
|
|
120
|
+
*
|
|
121
|
+
* @param createOptions - The kernel creation options
|
|
122
|
+
*
|
|
123
|
+
* @param connectOptions - The kernel connection options
|
|
124
|
+
*
|
|
125
|
+
* @returns A promise that resolves with the kernel connection.
|
|
126
|
+
*/
|
|
127
|
+
startNew(createOptions: IRuntimeOptions, connectOptions?: Omit<Kernel.IKernelConnection.IOptions, 'model' | 'serverSettings'>): Promise<Kernel.IKernelConnection>;
|
|
128
|
+
/**
|
|
129
|
+
* Find a kernel by id.
|
|
130
|
+
*
|
|
131
|
+
* @param id - The id of the target kernel.
|
|
132
|
+
*
|
|
133
|
+
* @returns A promise that resolves with the kernel's model, or undefined if not found.
|
|
134
|
+
*/
|
|
135
|
+
findById(id: string): Promise<IRuntimeModel | undefined>;
|
|
136
|
+
/**
|
|
137
|
+
* Connect to an existing kernel.
|
|
138
|
+
*
|
|
139
|
+
* @param options - The connection options.
|
|
140
|
+
*
|
|
141
|
+
* @returns A promise that resolves with the new kernel instance.
|
|
142
|
+
*/
|
|
143
|
+
connectTo(options: Kernel.IKernelConnection.IOptions): Kernel.IKernelConnection;
|
|
144
|
+
/**
|
|
145
|
+
* Shut down a kernel by id.
|
|
146
|
+
*
|
|
147
|
+
* @param id - The id of the target kernel.
|
|
148
|
+
*
|
|
149
|
+
* @returns A promise that resolves when the operation is complete.
|
|
150
|
+
*/
|
|
151
|
+
shutdown(id: string): Promise<void>;
|
|
152
|
+
/**
|
|
153
|
+
* Shut down all kernels.
|
|
154
|
+
*
|
|
155
|
+
* @returns A promise that resolves when all of the kernels are shut down.
|
|
156
|
+
*/
|
|
157
|
+
shutdownAll(): Promise<void>;
|
|
158
|
+
/**
|
|
159
|
+
* @deprecated Use {@link refresh} instead.
|
|
160
|
+
*/
|
|
161
|
+
refreshKernels(): Promise<void>;
|
|
162
|
+
/**
|
|
163
|
+
* Snapshot a runtime
|
|
164
|
+
*
|
|
165
|
+
* The runtime may be given by its `id` or `podName`.
|
|
166
|
+
* A custom description for the snapshot can be provided.
|
|
167
|
+
*
|
|
168
|
+
* @returns The snapshot description
|
|
169
|
+
*/
|
|
170
|
+
snapshotRuntime(options: {
|
|
171
|
+
/**
|
|
172
|
+
* The runtime id to snapshot
|
|
173
|
+
*/
|
|
174
|
+
id?: string;
|
|
175
|
+
/**
|
|
176
|
+
* The kernel pod name to snapshot
|
|
177
|
+
*/
|
|
178
|
+
podName?: string;
|
|
179
|
+
/**
|
|
180
|
+
* The snapshot name
|
|
181
|
+
*/
|
|
182
|
+
name?: string;
|
|
183
|
+
/**
|
|
184
|
+
* The snapshot description
|
|
185
|
+
*/
|
|
186
|
+
description?: string;
|
|
187
|
+
/**
|
|
188
|
+
* Whether to stop the kernel after the snapshot completion or not.
|
|
189
|
+
*/
|
|
190
|
+
stop?: boolean;
|
|
191
|
+
}): Promise<ICodeSandboxSnapshot | undefined>;
|
|
192
|
+
/**
|
|
193
|
+
* Load a snapshot within a runtim
|
|
194
|
+
*
|
|
195
|
+
* The runtime may be given by its `id` or `podName`.
|
|
196
|
+
*/
|
|
197
|
+
loadSandboxSnapshot(options: {
|
|
198
|
+
/**
|
|
199
|
+
* The kernel id
|
|
200
|
+
*/
|
|
201
|
+
id?: string;
|
|
202
|
+
/**
|
|
203
|
+
* The kernel pod name
|
|
204
|
+
*/
|
|
205
|
+
podName?: string;
|
|
206
|
+
/**
|
|
207
|
+
* The snapshot UID
|
|
208
|
+
*/
|
|
209
|
+
snapshot: string;
|
|
210
|
+
}): Promise<void>;
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Interface for the Remote Services Manager
|
|
214
|
+
*/
|
|
215
|
+
export interface IRemoteServicesManager extends IDisposable {
|
|
216
|
+
/**
|
|
217
|
+
* The environments manager.
|
|
218
|
+
*/
|
|
219
|
+
readonly environments: IEnvironmentsManager;
|
|
220
|
+
/**
|
|
221
|
+
* The remote runtimes manager.
|
|
222
|
+
*/
|
|
223
|
+
readonly runtimesManager: IRemoteRuntimesManager;
|
|
224
|
+
/**
|
|
225
|
+
* The server settings.
|
|
226
|
+
*/
|
|
227
|
+
readonly serverSettings: ServerConnection.ISettings;
|
|
228
|
+
/**
|
|
229
|
+
* A signal emitted when there is a connection failure with the kernel.
|
|
230
|
+
*/
|
|
231
|
+
readonly connectionFailure: ISignal<IRemoteServicesManager, Error>;
|
|
232
|
+
/**
|
|
233
|
+
* Test whether the service manager is disposed.
|
|
234
|
+
*/
|
|
235
|
+
readonly isDisposed: boolean;
|
|
236
|
+
/**
|
|
237
|
+
* Whether the remote manager is ready or not.
|
|
238
|
+
*/
|
|
239
|
+
readonly isReady: boolean;
|
|
240
|
+
/**
|
|
241
|
+
* Wait for the remote manager to be ready.
|
|
242
|
+
*/
|
|
243
|
+
readonly ready: Promise<void>;
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* Interface for the Service Manager that manages multiple Jupyter service managers.
|
|
247
|
+
*/
|
|
248
|
+
export interface IMultiServiceManager extends ServiceManager.IManager {
|
|
249
|
+
/**
|
|
250
|
+
* Service manager for browser kernels.
|
|
251
|
+
*
|
|
252
|
+
* The kernels managed by this service manager
|
|
253
|
+
* are fully executed in a service worker with
|
|
254
|
+
* browser.
|
|
255
|
+
*/
|
|
256
|
+
browser: ServiceManager.IManager | undefined;
|
|
257
|
+
/**
|
|
258
|
+
* Signal emitted when the browser services changes.
|
|
259
|
+
*/
|
|
260
|
+
readonly browserChanged: ISignal<ServiceManager.IManager, ServiceManager.IManager | undefined>;
|
|
261
|
+
/**
|
|
262
|
+
* Classical Service manager on the Local Jupyter server.
|
|
263
|
+
*/
|
|
264
|
+
readonly local: ServiceManager.IManager;
|
|
265
|
+
/**
|
|
266
|
+
* Service manager on a Remote Jupyter server.
|
|
267
|
+
*/
|
|
268
|
+
remote: IRemoteServicesManager | undefined;
|
|
269
|
+
/**
|
|
270
|
+
* Signal emitted when the remote services changes.
|
|
271
|
+
*/
|
|
272
|
+
readonly remoteChanged: ISignal<ServiceManager.IManager, IRemoteServicesManager | undefined>;
|
|
273
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ServerConnection } from '@jupyterlab/services';
|
|
2
|
+
/**
|
|
3
|
+
* Create a settings object given a subset of options.
|
|
4
|
+
*
|
|
5
|
+
* TODO This is already present somewhere else?
|
|
6
|
+
*
|
|
7
|
+
* @param options - An optional partial set of options.
|
|
8
|
+
*
|
|
9
|
+
* @returns The full settings object.
|
|
10
|
+
*/
|
|
11
|
+
export declare function makeDatalayerSettings(baseUrl: string, token: string, wsUrl?: string): ServerConnection.ISettings;
|
|
12
|
+
declare const _default: {
|
|
13
|
+
makeDatalayerSettings: typeof makeDatalayerSettings;
|
|
14
|
+
};
|
|
15
|
+
export default _default;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
import { ServerConnection } from '@jupyterlab/services';
|
|
6
|
+
/**
|
|
7
|
+
* Create a settings object given a subset of options.
|
|
8
|
+
*
|
|
9
|
+
* TODO This is already present somewhere else?
|
|
10
|
+
*
|
|
11
|
+
* @param options - An optional partial set of options.
|
|
12
|
+
*
|
|
13
|
+
* @returns The full settings object.
|
|
14
|
+
*/
|
|
15
|
+
export function makeDatalayerSettings(baseUrl, token, wsUrl) {
|
|
16
|
+
const serverSettings = ServerConnection.makeSettings({
|
|
17
|
+
baseUrl,
|
|
18
|
+
wsUrl: wsUrl || baseUrl.replace(/^http/, 'ws'),
|
|
19
|
+
token,
|
|
20
|
+
appendToken: true,
|
|
21
|
+
init: {
|
|
22
|
+
mode: 'cors',
|
|
23
|
+
credentials: 'include',
|
|
24
|
+
cache: 'no-store',
|
|
25
|
+
},
|
|
26
|
+
});
|
|
27
|
+
return serverSettings;
|
|
28
|
+
}
|
|
29
|
+
export default {
|
|
30
|
+
makeDatalayerSettings,
|
|
31
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Kernel } from '@jupyterlab/services';
|
|
2
|
+
type Props = {
|
|
3
|
+
connection: Kernel.IKernelConnection;
|
|
4
|
+
metadata: {
|
|
5
|
+
filename: string;
|
|
6
|
+
[key: string]: string;
|
|
7
|
+
};
|
|
8
|
+
onUploadProgress?: (bytesUploaded: number, bytesTotal: number) => void;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Snapshot a runtime through the frontend and upload it to the cloud.
|
|
12
|
+
*
|
|
13
|
+
* Note: You should use this only for browser runtimes.
|
|
14
|
+
*/
|
|
15
|
+
export declare function createSandboxSnapshot(props: Props): Promise<void>;
|
|
16
|
+
/**
|
|
17
|
+
* Load a snapshot within a browser kernel.
|
|
18
|
+
*
|
|
19
|
+
* Note: You should use this only for browser kernels.
|
|
20
|
+
*/
|
|
21
|
+
export declare function loadBrowserSandboxSnapshot({ connection, id, }: {
|
|
22
|
+
connection: Kernel.IKernelConnection;
|
|
23
|
+
id: string;
|
|
24
|
+
}): Promise<void>;
|
|
25
|
+
export {};
|