@datalayer/agent-runtimes 1.0.9 → 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 +468 -40
- 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.d.ts +4 -4
- package/lib/client/AgentsMixin.js +35 -35
- 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/ToolApprovalCard.js +13 -3
- 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/config/AgentConfiguration.d.ts +2 -2
- package/lib/config/index.d.ts +1 -1
- 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 +21 -22
- package/lib/examples/AgentCodemodeExample.js +3 -3
- package/lib/examples/AgentEvalsExample.js +8 -8
- package/lib/examples/AgentGuardrailsExample.js +22 -17
- package/lib/examples/AgentHooksExample.js +16 -57
- package/lib/examples/AgentInferenceProviderExample.js +8 -8
- package/lib/examples/AgentLoopExample.d.ts +10 -0
- package/lib/examples/AgentLoopExample.js +304 -0
- package/lib/examples/AgentMCPExample.js +9 -9
- package/lib/examples/AgentMemoryExample.js +6 -6
- package/lib/examples/AgentMonitoringExample.js +116 -46
- package/lib/examples/AgentNotificationsExample.js +6 -6
- package/lib/examples/AgentOtelExample.d.ts +3 -3
- package/lib/examples/AgentOtelExample.js +20 -15
- package/lib/examples/AgentOutputsExample.js +8 -8
- package/lib/examples/AgentParametersExample.js +24 -36
- package/lib/examples/AgentSandboxExample.js +7 -7
- package/lib/examples/AgentSkillsExample.js +9 -9
- package/lib/examples/AgentSubagentsExample.js +6 -6
- package/lib/examples/AgentToolApprovalsExample.js +37 -11
- package/lib/examples/AgentTriggersExample.js +12 -12
- package/lib/examples/AgentspecsExample.js +63 -41
- package/lib/examples/ChatCustomExample.js +23 -77
- package/lib/examples/ChatExample.js +15 -46
- 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 +188 -29
- package/lib/hooks/useAgentsCatalog.d.ts +3 -3
- package/lib/hooks/useAgentsCatalog.js +4 -4
- 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 +38 -28
- 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 +14 -6
- package/lib/hooks/useToolApprovals.js +20 -1
- package/lib/index.d.ts +2 -1
- 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 +95 -50
- package/lib/specs/agents/agents.js +4037 -1669
- package/lib/specs/agents/index.d.ts +5 -5
- package/lib/specs/agents/index.js +9 -9
- 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 +6 -6
- package/lib/types/agentspecs.d.ts +8 -4
- 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/teams.d.ts +2 -2
- 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/generate_agents.py +96 -61
- package/scripts/codegen/generate_loops.py +443 -0
- package/scripts/codegen/generate_teams.py +4 -4
- package/lib/examples/A2UiComponentGalleryExample.d.ts +0 -3
- package/lib/examples/A2UiComponentGalleryExample.js +0 -361
- package/scripts/codegen/__pycache__/generate_agents.cpython-313.pyc +0 -0
- package/scripts/codegen/__pycache__/generate_benchmarks.cpython-313.pyc +0 -0
- package/scripts/codegen/__pycache__/generate_evals.cpython-313.pyc +0 -0
- package/scripts/codegen/__pycache__/generate_events.cpython-313.pyc +0 -0
- /package/lib/{agent-lexical-main.d.ts → agent-document-main.d.ts} +0 -0
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Runtime instances API functions for the Datalayer platform.
|
|
7
|
+
*
|
|
8
|
+
* Provides functions for managing runtime instances (active compute containers).
|
|
9
|
+
*
|
|
10
|
+
* @module api/runtimes/runtimes
|
|
11
|
+
*/
|
|
12
|
+
import { requestDatalayerAPI } from '@datalayer/core/lib/api/DatalayerApi';
|
|
13
|
+
import { API_BASE_PATHS, DEFAULT_SERVICE_URLS, } from '@datalayer/core/lib/api/constants';
|
|
14
|
+
import { validateToken, validateRequiredString, } from '@datalayer/core/lib/api/utils/validation';
|
|
15
|
+
/**
|
|
16
|
+
* Create a new runtime instance.
|
|
17
|
+
* @param token - Authentication token
|
|
18
|
+
* @param data - Runtime creation configuration
|
|
19
|
+
* @param baseUrl - Base URL for the API (defaults to production Runtimes URL)
|
|
20
|
+
* @returns Promise resolving to the created runtime details
|
|
21
|
+
* @throws {Error} If authentication token is missing or invalid
|
|
22
|
+
* @throws {Error} With status 404 if the environment is not found
|
|
23
|
+
* @throws {Error} With status 503 if no runtime is available
|
|
24
|
+
*/
|
|
25
|
+
export const createRuntime = async (token, data, baseUrl = DEFAULT_SERVICE_URLS.RUNTIMES) => {
|
|
26
|
+
validateToken(token);
|
|
27
|
+
try {
|
|
28
|
+
return await requestDatalayerAPI({
|
|
29
|
+
url: `${baseUrl}${API_BASE_PATHS.RUNTIMES}/runtimes`,
|
|
30
|
+
method: 'POST',
|
|
31
|
+
body: data,
|
|
32
|
+
token,
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
catch (error) {
|
|
36
|
+
// Handle specific error cases
|
|
37
|
+
if (error.response) {
|
|
38
|
+
const status = error.response.status;
|
|
39
|
+
const responseData = error.response.data || {};
|
|
40
|
+
if (status === 404) {
|
|
41
|
+
// Environment not found
|
|
42
|
+
throw new Error(`Environment '${data.environment_name}' not found. ${responseData.message || 'Please check the environment name and try again.'}`);
|
|
43
|
+
}
|
|
44
|
+
else if (status === 503) {
|
|
45
|
+
// No runtime available
|
|
46
|
+
throw new Error(`No runtime available. ${responseData.message || 'The service is temporarily unavailable or at capacity. Please try again later.'}`);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
// Re-throw the original error for other cases
|
|
50
|
+
throw error;
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* List all runtime instances.
|
|
55
|
+
* @param token - Authentication token
|
|
56
|
+
* @param baseUrl - Base URL for the API (defaults to production Runtimes URL)
|
|
57
|
+
* @returns Promise resolving to list of runtime instances
|
|
58
|
+
* @throws {Error} If authentication token is missing or invalid
|
|
59
|
+
*/
|
|
60
|
+
export const listRuntimes = async (token, baseUrl = DEFAULT_SERVICE_URLS.RUNTIMES) => {
|
|
61
|
+
validateToken(token);
|
|
62
|
+
const response = await requestDatalayerAPI({
|
|
63
|
+
url: `${baseUrl}${API_BASE_PATHS.RUNTIMES}/runtimes`,
|
|
64
|
+
method: 'GET',
|
|
65
|
+
token,
|
|
66
|
+
});
|
|
67
|
+
// The API returns { success: true, message: string, runtimes: Runtime[] }
|
|
68
|
+
// The response already has the correct structure, just return it
|
|
69
|
+
return response;
|
|
70
|
+
};
|
|
71
|
+
/**
|
|
72
|
+
* Get details for a specific runtime instance.
|
|
73
|
+
* @param token - Authentication token
|
|
74
|
+
* @param podName - The unique pod name of the runtime
|
|
75
|
+
* @param baseUrl - Base URL for the API (defaults to production Runtimes URL)
|
|
76
|
+
* @returns Promise resolving to runtime details
|
|
77
|
+
* @throws {Error} If authentication token is missing or invalid
|
|
78
|
+
* @throws {Error} If pod name is missing or invalid
|
|
79
|
+
* @throws {Error} With status 404 if the runtime is not found
|
|
80
|
+
*/
|
|
81
|
+
export const getRuntime = async (token, podName, baseUrl = DEFAULT_SERVICE_URLS.RUNTIMES) => {
|
|
82
|
+
validateToken(token);
|
|
83
|
+
validateRequiredString(podName, 'Pod name');
|
|
84
|
+
try {
|
|
85
|
+
const response = await requestDatalayerAPI({
|
|
86
|
+
url: `${baseUrl}${API_BASE_PATHS.RUNTIMES}/runtimes/${podName}`,
|
|
87
|
+
method: 'GET',
|
|
88
|
+
token,
|
|
89
|
+
});
|
|
90
|
+
// The API returns { success: true, message: string, runtime: Runtime }
|
|
91
|
+
// (Previously used 'kernel' field, now uses 'runtime')
|
|
92
|
+
// Try 'runtime' field first (current API)
|
|
93
|
+
if (response.runtime) {
|
|
94
|
+
return {
|
|
95
|
+
...response.runtime,
|
|
96
|
+
pod_name: response.runtime.pod_name || podName,
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
// Fallback to 'kernel' field (old API)
|
|
100
|
+
if (response.kernel) {
|
|
101
|
+
return {
|
|
102
|
+
...response.kernel,
|
|
103
|
+
pod_name: response.kernel.pod_name || podName,
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
// Fallback if response structure is different
|
|
107
|
+
return response;
|
|
108
|
+
}
|
|
109
|
+
catch (error) {
|
|
110
|
+
// Handle specific error cases
|
|
111
|
+
if (error.response && error.response.status === 404) {
|
|
112
|
+
// Runtime not found
|
|
113
|
+
throw new Error(`Runtime with pod name '${podName}' not found. Please check the pod name and try again.`);
|
|
114
|
+
}
|
|
115
|
+
// Re-throw the original error for other cases
|
|
116
|
+
throw error;
|
|
117
|
+
}
|
|
118
|
+
};
|
|
119
|
+
/**
|
|
120
|
+
* Delete a runtime instance.
|
|
121
|
+
* @param token - Authentication token
|
|
122
|
+
* @param podName - The unique pod name of the runtime to delete
|
|
123
|
+
* @param baseUrl - Base URL for the API (defaults to production Runtimes URL)
|
|
124
|
+
* @returns Promise resolving when deletion is complete
|
|
125
|
+
* @throws {Error} If authentication token is missing or invalid
|
|
126
|
+
* @throws {Error} If pod name is missing or invalid
|
|
127
|
+
* @throws {Error} With status 404 if the runtime is not found
|
|
128
|
+
*/
|
|
129
|
+
export const deleteRuntime = async (token, podName, baseUrl = DEFAULT_SERVICE_URLS.RUNTIMES) => {
|
|
130
|
+
validateToken(token);
|
|
131
|
+
validateRequiredString(podName, 'Pod name');
|
|
132
|
+
try {
|
|
133
|
+
return await requestDatalayerAPI({
|
|
134
|
+
url: `${baseUrl}${API_BASE_PATHS.RUNTIMES}/runtimes/${podName}`,
|
|
135
|
+
method: 'DELETE',
|
|
136
|
+
token,
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
catch (error) {
|
|
140
|
+
// Handle specific error cases
|
|
141
|
+
if (error.response && error.response.status === 404) {
|
|
142
|
+
// Runtime not found
|
|
143
|
+
throw new Error(`Runtime with pod name '${podName}' not found. Cannot delete a non-existent runtime.`);
|
|
144
|
+
}
|
|
145
|
+
// Re-throw the original error for other cases
|
|
146
|
+
throw error;
|
|
147
|
+
}
|
|
148
|
+
};
|
|
149
|
+
/**
|
|
150
|
+
* Update a runtime instance.
|
|
151
|
+
* @param token - Authentication token
|
|
152
|
+
* @param podName - The unique pod name of the runtime
|
|
153
|
+
* @param from - The source to update from
|
|
154
|
+
* @param baseUrl - Base URL for the API (defaults to production Runtimes URL)
|
|
155
|
+
* @returns Promise resolving to updated runtime details
|
|
156
|
+
* @throws {Error} If authentication token is missing or invalid
|
|
157
|
+
* @throws {Error} If pod name is missing or invalid
|
|
158
|
+
* @throws {Error} With status 404 if the runtime is not found
|
|
159
|
+
*/
|
|
160
|
+
export const updateRuntime = async (token, podName, from, baseUrl = DEFAULT_SERVICE_URLS.RUNTIMES) => {
|
|
161
|
+
validateToken(token);
|
|
162
|
+
validateRequiredString(podName, 'Pod name');
|
|
163
|
+
try {
|
|
164
|
+
return await requestDatalayerAPI({
|
|
165
|
+
url: `${baseUrl}${API_BASE_PATHS.RUNTIMES}/runtimes/${podName}`,
|
|
166
|
+
method: 'PUT',
|
|
167
|
+
token,
|
|
168
|
+
body: { from },
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
catch (error) {
|
|
172
|
+
// Handle specific error cases
|
|
173
|
+
if (error.response && error.response.status === 404) {
|
|
174
|
+
// Runtime not found
|
|
175
|
+
throw new Error(`Runtime with pod name '${podName}' not found. Cannot update a non-existent runtime.`);
|
|
176
|
+
}
|
|
177
|
+
// Re-throw the original error for other cases
|
|
178
|
+
throw error;
|
|
179
|
+
}
|
|
180
|
+
};
|
|
181
|
+
/**
|
|
182
|
+
* Pause a runtime by creating a checkpoint (async, light mode by default).
|
|
183
|
+
*
|
|
184
|
+
* Returns immediately with a 202 Accepted response. The actual checkpoint
|
|
185
|
+
* process runs in the background. Use the returned `checkpoint_id` to
|
|
186
|
+
* poll for status via the runtime-checkpoints API.
|
|
187
|
+
*
|
|
188
|
+
* @param token - Authentication token
|
|
189
|
+
* @param podName - The unique pod name of the runtime to pause
|
|
190
|
+
* @param baseUrl - Base URL for the API (defaults to production Runtimes URL)
|
|
191
|
+
* @param body - Optional metadata to store in the checkpoint record
|
|
192
|
+
* @returns Promise resolving with the checkpoint ID for status tracking
|
|
193
|
+
* @throws {Error} If authentication token is missing or invalid
|
|
194
|
+
* @throws {Error} If pod name is missing or invalid
|
|
195
|
+
*/
|
|
196
|
+
export const pauseRuntime = async (token, podName, baseUrl = DEFAULT_SERVICE_URLS.RUNTIMES, body) => {
|
|
197
|
+
validateToken(token);
|
|
198
|
+
validateRequiredString(podName, 'Pod name');
|
|
199
|
+
return await requestDatalayerAPI({
|
|
200
|
+
url: `${baseUrl}${API_BASE_PATHS.RUNTIMES}/runtimes/${encodeURIComponent(podName)}/pause`,
|
|
201
|
+
method: 'POST',
|
|
202
|
+
token,
|
|
203
|
+
...(body ? { body } : {}),
|
|
204
|
+
});
|
|
205
|
+
};
|
|
206
|
+
/**
|
|
207
|
+
* Resume a paused runtime by restoring from a checkpoint (async).
|
|
208
|
+
*
|
|
209
|
+
* Returns immediately with a 202 Accepted response. The actual restore
|
|
210
|
+
* process runs in the background. Use the returned `checkpoint_id` to
|
|
211
|
+
* poll for status.
|
|
212
|
+
*
|
|
213
|
+
* @param token - Authentication token
|
|
214
|
+
* @param podName - The unique pod name of the runtime to resume
|
|
215
|
+
* @param baseUrl - Base URL for the API (defaults to production Runtimes URL)
|
|
216
|
+
* @param body - Optional body with agent_spec_id and restore options
|
|
217
|
+
* @returns Promise resolving with the checkpoint ID for status tracking
|
|
218
|
+
* @throws {Error} If authentication token is missing or invalid
|
|
219
|
+
* @throws {Error} If pod name is missing or invalid
|
|
220
|
+
*/
|
|
221
|
+
export const resumeRuntime = async (token, podName, baseUrl = DEFAULT_SERVICE_URLS.RUNTIMES, body) => {
|
|
222
|
+
validateToken(token);
|
|
223
|
+
validateRequiredString(podName, 'Pod name');
|
|
224
|
+
return await requestDatalayerAPI({
|
|
225
|
+
url: `${baseUrl}${API_BASE_PATHS.RUNTIMES}/runtimes/${encodeURIComponent(podName)}/resume`,
|
|
226
|
+
method: 'POST',
|
|
227
|
+
token,
|
|
228
|
+
...(body ? { body } : {}),
|
|
229
|
+
});
|
|
230
|
+
};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { CreateCodeSandboxSnapshotRequest, ListCodeSandboxSnapshotsResponse, GetCodeSandboxSnapshotResponse, CreateCodeSandboxSnapshotResponse } from '../../models/CodeSandboxSnapshotDTO';
|
|
2
|
+
/**
|
|
3
|
+
* Create a snapshot of a runtime instance.
|
|
4
|
+
* @param token - Authentication token
|
|
5
|
+
* @param data - Snapshot creation configuration
|
|
6
|
+
* @param baseUrl - Base URL for the API (defaults to production Runtimes URL)
|
|
7
|
+
* @returns Promise resolving to the created snapshot response
|
|
8
|
+
* @throws {Error} If authentication token is missing or invalid
|
|
9
|
+
*/
|
|
10
|
+
export declare const createSnapshot: (token: string, data: CreateCodeSandboxSnapshotRequest, baseUrl?: string) => Promise<CreateCodeSandboxSnapshotResponse>;
|
|
11
|
+
/**
|
|
12
|
+
* List all code sandbox snapshots.
|
|
13
|
+
* @param token - Authentication token
|
|
14
|
+
* @param baseUrl - Base URL for the API (defaults to production Runtimes URL)
|
|
15
|
+
* @returns Promise resolving to list of snapshots
|
|
16
|
+
* @throws {Error} If authentication token is missing or invalid
|
|
17
|
+
*/
|
|
18
|
+
export declare const listSnapshots: (token: string, baseUrl?: string) => Promise<ListCodeSandboxSnapshotsResponse>;
|
|
19
|
+
/**
|
|
20
|
+
* Get details for a specific code sandbox snapshot.
|
|
21
|
+
* @param token - Authentication token
|
|
22
|
+
* @param snapshotId - The unique identifier of the snapshot
|
|
23
|
+
* @param baseUrl - Base URL for the API (defaults to production Runtimes URL)
|
|
24
|
+
* @returns Promise resolving to snapshot details wrapped in response
|
|
25
|
+
* @throws {Error} If authentication token is missing or invalid
|
|
26
|
+
* @throws {Error} If snapshot ID is missing or invalid
|
|
27
|
+
*/
|
|
28
|
+
export declare const getSnapshot: (token: string, snapshotId: string, baseUrl?: string) => Promise<GetCodeSandboxSnapshotResponse>;
|
|
29
|
+
/**
|
|
30
|
+
* Delete a code sandbox snapshot.
|
|
31
|
+
* @param token - Authentication token
|
|
32
|
+
* @param snapshotId - The unique identifier of the snapshot to delete
|
|
33
|
+
* @param baseUrl - Base URL for the API (defaults to production Runtimes URL)
|
|
34
|
+
* @returns Promise resolving when deletion is complete
|
|
35
|
+
* @throws {Error} If authentication token is missing or invalid
|
|
36
|
+
* @throws {Error} If snapshot ID is missing or invalid
|
|
37
|
+
*/
|
|
38
|
+
export declare const deleteSnapshot: (token: string, snapshotId: string, baseUrl?: string) => Promise<void>;
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Code Sandbox snapshots API functions for the Datalayer platform.
|
|
7
|
+
*
|
|
8
|
+
* Provides functions for managing code sandbox snapshots (saved runtime states).
|
|
9
|
+
*
|
|
10
|
+
* @module api/runtimes/snapshots
|
|
11
|
+
*/
|
|
12
|
+
import { requestDatalayerAPI } from '@datalayer/core/lib/api/DatalayerApi';
|
|
13
|
+
import { API_BASE_PATHS, DEFAULT_SERVICE_URLS, } from '@datalayer/core/lib/api/constants';
|
|
14
|
+
import { validateToken, validateRequiredString, } from '@datalayer/core/lib/api/utils/validation';
|
|
15
|
+
/**
|
|
16
|
+
* Create a snapshot of a runtime instance.
|
|
17
|
+
* @param token - Authentication token
|
|
18
|
+
* @param data - Snapshot creation configuration
|
|
19
|
+
* @param baseUrl - Base URL for the API (defaults to production Runtimes URL)
|
|
20
|
+
* @returns Promise resolving to the created snapshot response
|
|
21
|
+
* @throws {Error} If authentication token is missing or invalid
|
|
22
|
+
*/
|
|
23
|
+
export const createSnapshot = async (token, data, baseUrl = DEFAULT_SERVICE_URLS.RUNTIMES) => {
|
|
24
|
+
validateToken(token);
|
|
25
|
+
return requestDatalayerAPI({
|
|
26
|
+
url: `${baseUrl}${API_BASE_PATHS.RUNTIMES}/sandbox-snapshots`,
|
|
27
|
+
method: 'POST',
|
|
28
|
+
token,
|
|
29
|
+
body: data,
|
|
30
|
+
});
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* List all code sandbox snapshots.
|
|
34
|
+
* @param token - Authentication token
|
|
35
|
+
* @param baseUrl - Base URL for the API (defaults to production Runtimes URL)
|
|
36
|
+
* @returns Promise resolving to list of snapshots
|
|
37
|
+
* @throws {Error} If authentication token is missing or invalid
|
|
38
|
+
*/
|
|
39
|
+
export const listSnapshots = async (token, baseUrl = DEFAULT_SERVICE_URLS.RUNTIMES) => {
|
|
40
|
+
validateToken(token);
|
|
41
|
+
return requestDatalayerAPI({
|
|
42
|
+
url: `${baseUrl}${API_BASE_PATHS.RUNTIMES}/sandbox-snapshots`,
|
|
43
|
+
method: 'GET',
|
|
44
|
+
token,
|
|
45
|
+
});
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* Get details for a specific code sandbox snapshot.
|
|
49
|
+
* @param token - Authentication token
|
|
50
|
+
* @param snapshotId - The unique identifier of the snapshot
|
|
51
|
+
* @param baseUrl - Base URL for the API (defaults to production Runtimes URL)
|
|
52
|
+
* @returns Promise resolving to snapshot details wrapped in response
|
|
53
|
+
* @throws {Error} If authentication token is missing or invalid
|
|
54
|
+
* @throws {Error} If snapshot ID is missing or invalid
|
|
55
|
+
*/
|
|
56
|
+
export const getSnapshot = async (token, snapshotId, baseUrl = DEFAULT_SERVICE_URLS.RUNTIMES) => {
|
|
57
|
+
validateToken(token);
|
|
58
|
+
validateRequiredString(snapshotId, 'Snapshot ID');
|
|
59
|
+
return requestDatalayerAPI({
|
|
60
|
+
url: `${baseUrl}${API_BASE_PATHS.RUNTIMES}/sandbox-snapshots/${snapshotId}`,
|
|
61
|
+
method: 'GET',
|
|
62
|
+
token,
|
|
63
|
+
});
|
|
64
|
+
};
|
|
65
|
+
/**
|
|
66
|
+
* Delete a code sandbox snapshot.
|
|
67
|
+
* @param token - Authentication token
|
|
68
|
+
* @param snapshotId - The unique identifier of the snapshot to delete
|
|
69
|
+
* @param baseUrl - Base URL for the API (defaults to production Runtimes URL)
|
|
70
|
+
* @returns Promise resolving when deletion is complete
|
|
71
|
+
* @throws {Error} If authentication token is missing or invalid
|
|
72
|
+
* @throws {Error} If snapshot ID is missing or invalid
|
|
73
|
+
*/
|
|
74
|
+
export const deleteSnapshot = async (token, snapshotId, baseUrl = DEFAULT_SERVICE_URLS.RUNTIMES) => {
|
|
75
|
+
validateToken(token);
|
|
76
|
+
validateRequiredString(snapshotId, 'Snapshot ID');
|
|
77
|
+
return requestDatalayerAPI({
|
|
78
|
+
url: `${baseUrl}${API_BASE_PATHS.RUNTIMES}/sandbox-snapshots/${snapshotId}`,
|
|
79
|
+
method: 'DELETE',
|
|
80
|
+
token,
|
|
81
|
+
});
|
|
82
|
+
};
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Raw schedule document as returned by the scheduler service.
|
|
3
|
+
*
|
|
4
|
+
* Fields follow the Solr suffix convention (`_s`, `_b`, `_dt`, `_i`).
|
|
5
|
+
*/
|
|
6
|
+
export interface ScheduleDoc {
|
|
7
|
+
uid?: string;
|
|
8
|
+
type_s?: string;
|
|
9
|
+
notebook_uid_s?: string;
|
|
10
|
+
owner_uid_s?: string;
|
|
11
|
+
cron_expression_s?: string;
|
|
12
|
+
preset_s?: string;
|
|
13
|
+
enabled_b?: boolean;
|
|
14
|
+
[key: string]: unknown;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Request payload to create or update a notebook schedule.
|
|
18
|
+
*/
|
|
19
|
+
export interface UpsertScheduleRequest {
|
|
20
|
+
/** Target notebook uid. */
|
|
21
|
+
notebookUid: string;
|
|
22
|
+
/** Cron expression (e.g. `* * * * *`). */
|
|
23
|
+
cronExpression: string;
|
|
24
|
+
/** Optional preset identifier (e.g. `every-minute`, `hourly`, `daily`, `custom`). */
|
|
25
|
+
preset?: string;
|
|
26
|
+
/** Whether the schedule is enabled. Defaults to `true`. */
|
|
27
|
+
enabled?: boolean;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Request payload to update an existing schedule by uid.
|
|
31
|
+
*/
|
|
32
|
+
export interface UpdateScheduleRequest {
|
|
33
|
+
cronExpression?: string;
|
|
34
|
+
preset?: string;
|
|
35
|
+
enabled?: boolean;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Response shape for listing schedules.
|
|
39
|
+
*/
|
|
40
|
+
export interface ListSchedulesResponse {
|
|
41
|
+
success: boolean;
|
|
42
|
+
message: string;
|
|
43
|
+
schedules: ScheduleDoc[];
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Response shape for a single schedule mutation.
|
|
47
|
+
*/
|
|
48
|
+
export interface ScheduleResponse {
|
|
49
|
+
success: boolean;
|
|
50
|
+
message: string;
|
|
51
|
+
schedule: ScheduleDoc;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* List the schedules owned by the authenticated user.
|
|
55
|
+
* @param token - Authentication token
|
|
56
|
+
* @param baseUrl - Base URL for the scheduler service (defaults to production)
|
|
57
|
+
* @param includeDisabled - Include disabled schedules in the result
|
|
58
|
+
* @returns Promise resolving to the list of schedules
|
|
59
|
+
*/
|
|
60
|
+
export declare const listSchedules: (token: string, baseUrl?: string, includeDisabled?: boolean) => Promise<ListSchedulesResponse>;
|
|
61
|
+
/**
|
|
62
|
+
* Create or update the schedule for a notebook.
|
|
63
|
+
* @param token - Authentication token
|
|
64
|
+
* @param data - Schedule configuration
|
|
65
|
+
* @param baseUrl - Base URL for the scheduler service (defaults to production)
|
|
66
|
+
* @returns Promise resolving to the upserted schedule
|
|
67
|
+
*/
|
|
68
|
+
export declare const upsertSchedule: (token: string, data: UpsertScheduleRequest, baseUrl?: string) => Promise<ScheduleResponse>;
|
|
69
|
+
/**
|
|
70
|
+
* Update an existing schedule by uid.
|
|
71
|
+
* @param token - Authentication token
|
|
72
|
+
* @param scheduleUid - The schedule uid
|
|
73
|
+
* @param data - Fields to update
|
|
74
|
+
* @param baseUrl - Base URL for the scheduler service (defaults to production)
|
|
75
|
+
* @returns Promise resolving to the updated schedule
|
|
76
|
+
*/
|
|
77
|
+
export declare const updateSchedule: (token: string, scheduleUid: string, data: UpdateScheduleRequest, baseUrl?: string) => Promise<ScheduleResponse>;
|
|
78
|
+
/**
|
|
79
|
+
* Disable a schedule by uid.
|
|
80
|
+
* @param token - Authentication token
|
|
81
|
+
* @param scheduleUid - The schedule uid
|
|
82
|
+
* @param baseUrl - Base URL for the scheduler service (defaults to production)
|
|
83
|
+
* @returns Promise resolving to the disabled schedule
|
|
84
|
+
*/
|
|
85
|
+
export declare const disableSchedule: (token: string, scheduleUid: string, baseUrl?: string) => Promise<ScheduleResponse>;
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Scheduler schedules API functions for the Datalayer platform.
|
|
7
|
+
*
|
|
8
|
+
* Provides functions for listing, creating, and updating cron schedules that
|
|
9
|
+
* trigger automated notebook executions.
|
|
10
|
+
*
|
|
11
|
+
* @module api/scheduler/schedules
|
|
12
|
+
*/
|
|
13
|
+
import { requestDatalayerAPI } from '@datalayer/core/lib/api/DatalayerApi';
|
|
14
|
+
import { API_BASE_PATHS, DEFAULT_SERVICE_URLS, } from '@datalayer/core/lib/api/constants';
|
|
15
|
+
/**
|
|
16
|
+
* List the schedules owned by the authenticated user.
|
|
17
|
+
* @param token - Authentication token
|
|
18
|
+
* @param baseUrl - Base URL for the scheduler service (defaults to production)
|
|
19
|
+
* @param includeDisabled - Include disabled schedules in the result
|
|
20
|
+
* @returns Promise resolving to the list of schedules
|
|
21
|
+
*/
|
|
22
|
+
export const listSchedules = async (token, baseUrl = DEFAULT_SERVICE_URLS.SCHEDULER, includeDisabled = false) => {
|
|
23
|
+
const query = includeDisabled ? '?includeDisabled=true' : '';
|
|
24
|
+
return requestDatalayerAPI({
|
|
25
|
+
url: `${baseUrl}${API_BASE_PATHS.SCHEDULER}/schedules${query}`,
|
|
26
|
+
method: 'GET',
|
|
27
|
+
token,
|
|
28
|
+
});
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Create or update the schedule for a notebook.
|
|
32
|
+
* @param token - Authentication token
|
|
33
|
+
* @param data - Schedule configuration
|
|
34
|
+
* @param baseUrl - Base URL for the scheduler service (defaults to production)
|
|
35
|
+
* @returns Promise resolving to the upserted schedule
|
|
36
|
+
*/
|
|
37
|
+
export const upsertSchedule = async (token, data, baseUrl = DEFAULT_SERVICE_URLS.SCHEDULER) => {
|
|
38
|
+
return requestDatalayerAPI({
|
|
39
|
+
url: `${baseUrl}${API_BASE_PATHS.SCHEDULER}/schedules`,
|
|
40
|
+
method: 'POST',
|
|
41
|
+
token,
|
|
42
|
+
body: {
|
|
43
|
+
enabled: true,
|
|
44
|
+
preset: 'custom',
|
|
45
|
+
...data,
|
|
46
|
+
},
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* Update an existing schedule by uid.
|
|
51
|
+
* @param token - Authentication token
|
|
52
|
+
* @param scheduleUid - The schedule uid
|
|
53
|
+
* @param data - Fields to update
|
|
54
|
+
* @param baseUrl - Base URL for the scheduler service (defaults to production)
|
|
55
|
+
* @returns Promise resolving to the updated schedule
|
|
56
|
+
*/
|
|
57
|
+
export const updateSchedule = async (token, scheduleUid, data, baseUrl = DEFAULT_SERVICE_URLS.SCHEDULER) => {
|
|
58
|
+
return requestDatalayerAPI({
|
|
59
|
+
url: `${baseUrl}${API_BASE_PATHS.SCHEDULER}/schedules/${scheduleUid}`,
|
|
60
|
+
method: 'PUT',
|
|
61
|
+
token,
|
|
62
|
+
body: data,
|
|
63
|
+
});
|
|
64
|
+
};
|
|
65
|
+
/**
|
|
66
|
+
* Disable a schedule by uid.
|
|
67
|
+
* @param token - Authentication token
|
|
68
|
+
* @param scheduleUid - The schedule uid
|
|
69
|
+
* @param baseUrl - Base URL for the scheduler service (defaults to production)
|
|
70
|
+
* @returns Promise resolving to the disabled schedule
|
|
71
|
+
*/
|
|
72
|
+
export const disableSchedule = async (token, scheduleUid, baseUrl = DEFAULT_SERVICE_URLS.SCHEDULER) => {
|
|
73
|
+
return requestDatalayerAPI({
|
|
74
|
+
url: `${baseUrl}${API_BASE_PATHS.SCHEDULER}/schedules/${scheduleUid}/disable`,
|
|
75
|
+
method: 'POST',
|
|
76
|
+
token,
|
|
77
|
+
});
|
|
78
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { CollaborationSessionResponse } from '../../models/SpaceDTO';
|
|
2
|
+
/**
|
|
3
|
+
* Get collaboration session ID for a document.
|
|
4
|
+
*
|
|
5
|
+
* This function attempts to retrieve the collaboration session ID from the document API.
|
|
6
|
+
*
|
|
7
|
+
* @param token - Authentication token
|
|
8
|
+
* @param documentId - Document UID
|
|
9
|
+
* @param baseUrl - Base URL for the API (defaults to production)
|
|
10
|
+
* @returns Promise resolving to collaboration session response
|
|
11
|
+
*/
|
|
12
|
+
export declare const getCollaborationSessionId: (token: string, documentId: string, baseUrl?: string) => Promise<CollaborationSessionResponse>;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Documents API functions for the Datalayer platform.
|
|
7
|
+
*
|
|
8
|
+
* Provides functions for document operations including collaboration session management.
|
|
9
|
+
*
|
|
10
|
+
* @module api/spacer/documents
|
|
11
|
+
*/
|
|
12
|
+
import { requestDatalayerAPI } from '@datalayer/core/lib/api/DatalayerApi';
|
|
13
|
+
import { API_BASE_PATHS, DEFAULT_SERVICE_URLS, } from '@datalayer/core/lib/api/constants';
|
|
14
|
+
/**
|
|
15
|
+
* Get collaboration session ID for a document.
|
|
16
|
+
*
|
|
17
|
+
* This function attempts to retrieve the collaboration session ID from the document API.
|
|
18
|
+
*
|
|
19
|
+
* @param token - Authentication token
|
|
20
|
+
* @param documentId - Document UID
|
|
21
|
+
* @param baseUrl - Base URL for the API (defaults to production)
|
|
22
|
+
* @returns Promise resolving to collaboration session response
|
|
23
|
+
*/
|
|
24
|
+
export const getCollaborationSessionId = async (token, documentId, baseUrl = DEFAULT_SERVICE_URLS.SPACER) => {
|
|
25
|
+
try {
|
|
26
|
+
const response = await requestDatalayerAPI({
|
|
27
|
+
url: `${baseUrl}${API_BASE_PATHS.SPACER}/documents/${documentId}`,
|
|
28
|
+
method: 'GET',
|
|
29
|
+
token,
|
|
30
|
+
});
|
|
31
|
+
return {
|
|
32
|
+
success: true,
|
|
33
|
+
sessionId: response.sessionId || documentId, // FIXME: is this ok?
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
// FIXME: is this ok?
|
|
38
|
+
return {
|
|
39
|
+
success: true,
|
|
40
|
+
sessionId: documentId,
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { HealthzPingResponse } from '@datalayer/core/lib/models/Common';
|
|
2
|
+
/**
|
|
3
|
+
* Health check ping endpoint for Spacer service
|
|
4
|
+
* @param baseUrl - Base URL for the API (defaults to production Spacer URL)
|
|
5
|
+
* @returns Health check response
|
|
6
|
+
* @throws {Error} If the health check fails
|
|
7
|
+
*
|
|
8
|
+
* @remarks
|
|
9
|
+
* This endpoint provides a basic health check for the Spacer service.
|
|
10
|
+
* It returns the current status of the service.
|
|
11
|
+
*
|
|
12
|
+
* Expected status codes:
|
|
13
|
+
* - 200: Service is healthy
|
|
14
|
+
*/
|
|
15
|
+
export declare const ping: (baseUrl?: string) => Promise<HealthzPingResponse>;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Health check API functions for the Datalayer Spacer service.
|
|
7
|
+
*
|
|
8
|
+
* Provides functions for checking the health status of the Spacer service.
|
|
9
|
+
*
|
|
10
|
+
* @module api/spacer/healthz
|
|
11
|
+
*/
|
|
12
|
+
import { requestDatalayerAPI } from '@datalayer/core/lib/api/DatalayerApi';
|
|
13
|
+
import { API_BASE_PATHS, DEFAULT_SERVICE_URLS, } from '@datalayer/core/lib/api/constants';
|
|
14
|
+
/**
|
|
15
|
+
* Health check ping endpoint for Spacer service
|
|
16
|
+
* @param baseUrl - Base URL for the API (defaults to production Spacer URL)
|
|
17
|
+
* @returns Health check response
|
|
18
|
+
* @throws {Error} If the health check fails
|
|
19
|
+
*
|
|
20
|
+
* @remarks
|
|
21
|
+
* This endpoint provides a basic health check for the Spacer service.
|
|
22
|
+
* It returns the current status of the service.
|
|
23
|
+
*
|
|
24
|
+
* Expected status codes:
|
|
25
|
+
* - 200: Service is healthy
|
|
26
|
+
*/
|
|
27
|
+
export const ping = async (baseUrl = DEFAULT_SERVICE_URLS.SPACER) => {
|
|
28
|
+
try {
|
|
29
|
+
const response = await requestDatalayerAPI({
|
|
30
|
+
url: `${baseUrl}${API_BASE_PATHS.SPACER}/ping`,
|
|
31
|
+
method: 'GET',
|
|
32
|
+
});
|
|
33
|
+
return response;
|
|
34
|
+
}
|
|
35
|
+
catch (error) {
|
|
36
|
+
// Check if it's a response error with status code information
|
|
37
|
+
if (error.response) {
|
|
38
|
+
const status = error.response.status;
|
|
39
|
+
throw new Error(`Health check failed: Service unhealthy (status ${status}) - ${error.message}`);
|
|
40
|
+
}
|
|
41
|
+
// Re-throw other errors (network errors, etc.)
|
|
42
|
+
throw new Error(`Health check failed: ${error.message}`);
|
|
43
|
+
}
|
|
44
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Spacer API exports.
|
|
3
|
+
*
|
|
4
|
+
* Provides organized access to spacer functionality including
|
|
5
|
+
* spaces, notebooks, cells, lexical documents, and agent runtimes.
|
|
6
|
+
*
|
|
7
|
+
* @module api/spacer
|
|
8
|
+
*/
|
|
9
|
+
export * as documents from './documents';
|
|
10
|
+
export * as healthz from './healthz';
|
|
11
|
+
export * as items from './items';
|
|
12
|
+
export * as lexicals from './lexicals';
|
|
13
|
+
export * as notebooks from './notebooks';
|
|
14
|
+
export * as spaces from './spaces';
|
|
15
|
+
export * as users from './users';
|