@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,150 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
import { KernelExecutor } from '@datalayer/jupyter-react';
|
|
6
|
+
import { createSandboxSnapshotDownloadURL, uploadCodeSandboxSnapshot } from '.';
|
|
7
|
+
/**
|
|
8
|
+
* Snapshot a runtime through the frontend and upload it to the cloud.
|
|
9
|
+
*
|
|
10
|
+
* Note: You should use this only for browser runtimes.
|
|
11
|
+
*/
|
|
12
|
+
export async function createSandboxSnapshot(props) {
|
|
13
|
+
const { connection, metadata, onUploadProgress } = props;
|
|
14
|
+
const dump = await new KernelExecutor({ connection }).execute(GET_RUNTIME_SNAPSHOT_SNIPPET, {
|
|
15
|
+
storeHistory: false,
|
|
16
|
+
});
|
|
17
|
+
const serializedData = (dump.get(0)?.data['application/vnd.jupyter.stdout'] ??
|
|
18
|
+
'');
|
|
19
|
+
// Convert the data to blob.
|
|
20
|
+
const bytes = base64ToBytes(serializedData);
|
|
21
|
+
const file = new Blob([bytes.buffer]);
|
|
22
|
+
return uploadCodeSandboxSnapshot({
|
|
23
|
+
file,
|
|
24
|
+
metadata,
|
|
25
|
+
onProgress: onUploadProgress,
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
function base64ToBytes(base64) {
|
|
29
|
+
// Taken from https://developer.mozilla.org/en-US/docs/Web/API/Window/btoa#unicode_strings
|
|
30
|
+
const binString = atob(base64);
|
|
31
|
+
// @ts-expect-error TypeScript does not like this
|
|
32
|
+
return Uint8Array.from(binString, m => m.codePointAt(0));
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Load a snapshot within a browser kernel.
|
|
36
|
+
*
|
|
37
|
+
* Note: You should use this only for browser kernels.
|
|
38
|
+
*/
|
|
39
|
+
export async function loadBrowserSandboxSnapshot({ connection, id, }) {
|
|
40
|
+
const downloadURL = createSandboxSnapshotDownloadURL(id);
|
|
41
|
+
const response = await fetch(downloadURL);
|
|
42
|
+
const buffer = await response.arrayBuffer();
|
|
43
|
+
const base64 = bytesToBase64(new Uint8Array(buffer));
|
|
44
|
+
await new KernelExecutor({
|
|
45
|
+
connection,
|
|
46
|
+
}).execute(getLoadSandboxSnapshotSnippet(base64), {
|
|
47
|
+
storeHistory: false,
|
|
48
|
+
silent: true,
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
function bytesToBase64(bytes) {
|
|
52
|
+
// Taken from https://developer.mozilla.org/en-US/docs/Web/API/Window/btoa#unicode_strings
|
|
53
|
+
const binString = Array.from(bytes, byte => String.fromCodePoint(byte)).join('');
|
|
54
|
+
return btoa(binString);
|
|
55
|
+
}
|
|
56
|
+
const GET_RUNTIME_SNAPSHOT_SNIPPET = `def _create_snapshot():
|
|
57
|
+
import logging
|
|
58
|
+
import os
|
|
59
|
+
import pickle
|
|
60
|
+
from base64 import encodebytes
|
|
61
|
+
from tempfile import TemporaryFile
|
|
62
|
+
from types import BuiltinFunctionType, BuiltinMethodType, FunctionType, MethodType, MethodWrapperType, ModuleType, TracebackType
|
|
63
|
+
|
|
64
|
+
# print(pickle.DEFAULT_PROTOCOL)
|
|
65
|
+
|
|
66
|
+
class NotFound:
|
|
67
|
+
pass
|
|
68
|
+
|
|
69
|
+
missing = NotFound()
|
|
70
|
+
|
|
71
|
+
FORBIDDEN_TYPES = [type, BuiltinFunctionType, BuiltinMethodType, FunctionType, MethodType, MethodWrapperType, ModuleType, TracebackType, NotFound]
|
|
72
|
+
try:
|
|
73
|
+
from IPython.core.autocall import ExitAutocall
|
|
74
|
+
from IPython.core.interactiveshell import InteractiveShell
|
|
75
|
+
FORBIDDEN_TYPES.extend([ExitAutocall, InteractiveShell])
|
|
76
|
+
except ImportError:
|
|
77
|
+
pass
|
|
78
|
+
exclude = tuple(FORBIDDEN_TYPES)
|
|
79
|
+
|
|
80
|
+
all = frozenset(filter(lambda n: not n.startswith("_"), globals()))
|
|
81
|
+
|
|
82
|
+
line_separator = bytes(os.linesep, "utf-8")
|
|
83
|
+
with TemporaryFile() as dump:
|
|
84
|
+
for _n in all:
|
|
85
|
+
_v = globals().get(_n, missing)
|
|
86
|
+
|
|
87
|
+
if not (
|
|
88
|
+
isinstance(_v, exclude) or
|
|
89
|
+
# Special IPython variables
|
|
90
|
+
(_n == "In" and isinstance(_v, list)) or
|
|
91
|
+
(_n == "Out" and isinstance(_v, dict))
|
|
92
|
+
):
|
|
93
|
+
try:
|
|
94
|
+
dumped_n = _n.encode("utf-8") + line_separator + pickle.dumps(_v) + line_separator + b"\\x00" + line_separator
|
|
95
|
+
dump.write(dumped_n)
|
|
96
|
+
except BaseException as e:
|
|
97
|
+
logging.warning("Failed to dump variable [%s ([%s])].", _n, type(_v).__qualname__, exc_info=e)
|
|
98
|
+
else:
|
|
99
|
+
logging.debug("Variable [%s] dumped", _n)
|
|
100
|
+
|
|
101
|
+
dump.seek(0)
|
|
102
|
+
print(encodebytes(dump.read()).decode("ascii"))
|
|
103
|
+
|
|
104
|
+
_create_snapshot()
|
|
105
|
+
del _create_snapshot
|
|
106
|
+
`;
|
|
107
|
+
function getLoadSandboxSnapshotSnippet(content) {
|
|
108
|
+
return `async def _load_snapshot():
|
|
109
|
+
import os
|
|
110
|
+
import logging
|
|
111
|
+
import platform
|
|
112
|
+
import pickle
|
|
113
|
+
from base64 import decodebytes
|
|
114
|
+
is_pyodide = platform.node() == "emscripten"
|
|
115
|
+
|
|
116
|
+
snapshot = decodebytes("${content}".encode("ascii"))
|
|
117
|
+
line_sep = bytes(os.linesep, "utf-8")
|
|
118
|
+
variable_separator = b"\\x00" + line_sep
|
|
119
|
+
name = b""
|
|
120
|
+
value = b""
|
|
121
|
+
for line in snapshot.splitlines():
|
|
122
|
+
line += line_sep
|
|
123
|
+
if line == variable_separator:
|
|
124
|
+
name_s = name.strip().decode("utf-8")
|
|
125
|
+
try:
|
|
126
|
+
try:
|
|
127
|
+
globals()[name_s] = pickle.loads(value)
|
|
128
|
+
except ModuleNotFoundError as m:
|
|
129
|
+
if is_pyodide:
|
|
130
|
+
import micropip
|
|
131
|
+
logging.info(f'Installing %s...', m.name)
|
|
132
|
+
await micropip.install(m.name)
|
|
133
|
+
globals()[name_s] = pickle.loads(value)
|
|
134
|
+
else:
|
|
135
|
+
raise m
|
|
136
|
+
except BaseException as e:
|
|
137
|
+
logging.warning("Failed to load variable [%s].", name_s, exc_info=e)
|
|
138
|
+
else:
|
|
139
|
+
logging.debug("Variable [%s] loaded", name_s)
|
|
140
|
+
|
|
141
|
+
name = b""
|
|
142
|
+
value = b""
|
|
143
|
+
else:
|
|
144
|
+
if not name:
|
|
145
|
+
name = line
|
|
146
|
+
else:
|
|
147
|
+
value += line
|
|
148
|
+
await _load_snapshot()
|
|
149
|
+
del _load_snapshot`;
|
|
150
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
const NON_REMOTE_LOCATION = ['browser', 'local'];
|
|
6
|
+
/**
|
|
7
|
+
* Check whether the location is remote or not.
|
|
8
|
+
*
|
|
9
|
+
* @param location The location to test
|
|
10
|
+
* @returns The result
|
|
11
|
+
*/
|
|
12
|
+
export function isRuntimeRemote(location) {
|
|
13
|
+
return !NON_REMOTE_LOCATION.includes(location);
|
|
14
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ServiceManager } from '@jupyterlab/services';
|
|
2
|
+
/**
|
|
3
|
+
* Creates a ServiceManager configured for Datalayer.
|
|
4
|
+
*
|
|
5
|
+
* This function requests a new kernel from Datalayer's platform and
|
|
6
|
+
* returns a configured ServiceManager that connects to the allocated
|
|
7
|
+
* Jupyter server instance.
|
|
8
|
+
*
|
|
9
|
+
* @param environmentName - The name of the Datalayer environment to use
|
|
10
|
+
* @param credits - The credit limit for this kernel session
|
|
11
|
+
* @param runtimeName - Optional human-readable runtime name
|
|
12
|
+
* @returns A configured ServiceManager instance
|
|
13
|
+
* @throws Error if the kernel request fails or configuration is missing
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```typescript
|
|
17
|
+
* const serviceManager = await createDatalayerServiceManager('ai-agents-env', 100);
|
|
18
|
+
* await serviceManager.ready;
|
|
19
|
+
* // Use the service manager with notebooks
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export declare const createDatalayerServiceManager: (environmentName?: string, credits?: number, runtimeName?: string) => Promise<ServiceManager.IManager>;
|
|
23
|
+
export default createDatalayerServiceManager;
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
import { ServerConnection, ServiceManager } from '@jupyterlab/services';
|
|
6
|
+
import { coreStore } from '@datalayer/core/lib/state/substates/CoreState';
|
|
7
|
+
import { DEFAULT_DATALAYER_CONFIG } from '@datalayer/core/lib/config/Configuration';
|
|
8
|
+
import { createRuntime } from '../runtimes/actions';
|
|
9
|
+
const normalizeEnvironmentName = (value) => {
|
|
10
|
+
if (!value) {
|
|
11
|
+
return undefined;
|
|
12
|
+
}
|
|
13
|
+
const normalized = String(value)
|
|
14
|
+
.trim()
|
|
15
|
+
.replace(/^["']+/, '')
|
|
16
|
+
.replace(/["']+$/, '')
|
|
17
|
+
.trim();
|
|
18
|
+
return normalized || undefined;
|
|
19
|
+
};
|
|
20
|
+
const normalizeRuntimeName = (value) => {
|
|
21
|
+
if (!value) {
|
|
22
|
+
return undefined;
|
|
23
|
+
}
|
|
24
|
+
const normalized = String(value)
|
|
25
|
+
.trim()
|
|
26
|
+
.replace(/^['"]+/, '')
|
|
27
|
+
.replace(/['"]+$/, '')
|
|
28
|
+
.replace(/\s+/g, ' ')
|
|
29
|
+
.trim();
|
|
30
|
+
return normalized || undefined;
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* Creates a ServiceManager configured for Datalayer.
|
|
34
|
+
*
|
|
35
|
+
* This function requests a new kernel from Datalayer's platform and
|
|
36
|
+
* returns a configured ServiceManager that connects to the allocated
|
|
37
|
+
* Jupyter server instance.
|
|
38
|
+
*
|
|
39
|
+
* @param environmentName - The name of the Datalayer environment to use
|
|
40
|
+
* @param credits - The credit limit for this kernel session
|
|
41
|
+
* @param runtimeName - Optional human-readable runtime name
|
|
42
|
+
* @returns A configured ServiceManager instance
|
|
43
|
+
* @throws Error if the kernel request fails or configuration is missing
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* ```typescript
|
|
47
|
+
* const serviceManager = await createDatalayerServiceManager('ai-agents-env', 100);
|
|
48
|
+
* await serviceManager.ready;
|
|
49
|
+
* // Use the service manager with notebooks
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
52
|
+
export const createDatalayerServiceManager = async (environmentName, credits, runtimeName) => {
|
|
53
|
+
const { configuration } = coreStore.getState();
|
|
54
|
+
const token = configuration?.token || '';
|
|
55
|
+
const defaultEnvironmentName = DEFAULT_DATALAYER_CONFIG.cpuEnvironment ?? 'ai-agents-env';
|
|
56
|
+
const defaultCredits = DEFAULT_DATALAYER_CONFIG.credits ?? 100;
|
|
57
|
+
// Use provided values or fall back to config or defaults
|
|
58
|
+
const actualEnvironmentName = normalizeEnvironmentName(environmentName) ||
|
|
59
|
+
normalizeEnvironmentName(configuration?.cpuEnvironment) ||
|
|
60
|
+
defaultEnvironmentName;
|
|
61
|
+
const actualCredits = credits ?? configuration?.credits ?? defaultCredits;
|
|
62
|
+
const actualRuntimeName = normalizeRuntimeName(runtimeName) ||
|
|
63
|
+
`Agent Runtime - ${new Date().toISOString()}`;
|
|
64
|
+
if (!token) {
|
|
65
|
+
throw new Error('Datalayer API token is required to create a service manager');
|
|
66
|
+
}
|
|
67
|
+
try {
|
|
68
|
+
// Use the existing createRuntime function which handles auth properly
|
|
69
|
+
const runtime = await createRuntime({
|
|
70
|
+
environmentName: actualEnvironmentName,
|
|
71
|
+
type: 'notebook',
|
|
72
|
+
givenName: actualRuntimeName,
|
|
73
|
+
creditsLimit: actualCredits,
|
|
74
|
+
capabilities: [],
|
|
75
|
+
});
|
|
76
|
+
const serverSettings = ServerConnection.makeSettings({
|
|
77
|
+
baseUrl: runtime.ingress,
|
|
78
|
+
wsUrl: runtime.ingress.replace(/^http/, 'ws'),
|
|
79
|
+
token: runtime.token,
|
|
80
|
+
appendToken: true,
|
|
81
|
+
});
|
|
82
|
+
const serviceManager = new ServiceManager({ serverSettings });
|
|
83
|
+
return serviceManager;
|
|
84
|
+
}
|
|
85
|
+
catch (error) {
|
|
86
|
+
console.error('Error creating Datalayer service manager:', error);
|
|
87
|
+
throw error;
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
export default createDatalayerServiceManager;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { ServiceManager } from '@jupyterlab/services';
|
|
2
|
+
export interface RuntimeInfo {
|
|
3
|
+
runtimeId: string;
|
|
4
|
+
podName: string;
|
|
5
|
+
ingress: string;
|
|
6
|
+
token: string;
|
|
7
|
+
environmentName?: string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Reconnects to an existing Datalayer runtime
|
|
11
|
+
*
|
|
12
|
+
* This function creates a ServiceManager that connects to an already
|
|
13
|
+
* allocated Jupyter server instance using stored runtime information.
|
|
14
|
+
*
|
|
15
|
+
* @param runtimeInfo - The stored runtime information
|
|
16
|
+
* @returns A configured ServiceManager instance
|
|
17
|
+
* @throws Error if the reconnection fails
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```typescript
|
|
21
|
+
* const runtimeInfo = {
|
|
22
|
+
* runtimeId: 'abc123',
|
|
23
|
+
* podName: 'jupyter-pod-xyz',
|
|
24
|
+
* ingress: 'https://jupyter.example.com',
|
|
25
|
+
* token: 'secret-token'
|
|
26
|
+
* };
|
|
27
|
+
* const serviceManager = await reconnectToRuntime(runtimeInfo);
|
|
28
|
+
* await serviceManager.ready;
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
export declare const reconnectToRuntime: (runtimeInfo: RuntimeInfo) => Promise<ServiceManager.IManager>;
|
|
32
|
+
export default reconnectToRuntime;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
import { ServerConnection, ServiceManager } from '@jupyterlab/services';
|
|
6
|
+
/**
|
|
7
|
+
* Reconnects to an existing Datalayer runtime
|
|
8
|
+
*
|
|
9
|
+
* This function creates a ServiceManager that connects to an already
|
|
10
|
+
* allocated Jupyter server instance using stored runtime information.
|
|
11
|
+
*
|
|
12
|
+
* @param runtimeInfo - The stored runtime information
|
|
13
|
+
* @returns A configured ServiceManager instance
|
|
14
|
+
* @throws Error if the reconnection fails
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```typescript
|
|
18
|
+
* const runtimeInfo = {
|
|
19
|
+
* runtimeId: 'abc123',
|
|
20
|
+
* podName: 'jupyter-pod-xyz',
|
|
21
|
+
* ingress: 'https://jupyter.example.com',
|
|
22
|
+
* token: 'secret-token'
|
|
23
|
+
* };
|
|
24
|
+
* const serviceManager = await reconnectToRuntime(runtimeInfo);
|
|
25
|
+
* await serviceManager.ready;
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
export const reconnectToRuntime = async (runtimeInfo) => {
|
|
29
|
+
try {
|
|
30
|
+
const serverSettings = ServerConnection.makeSettings({
|
|
31
|
+
baseUrl: runtimeInfo.ingress,
|
|
32
|
+
wsUrl: runtimeInfo.ingress.replace(/^http/, 'ws'),
|
|
33
|
+
token: runtimeInfo.token,
|
|
34
|
+
appendToken: true,
|
|
35
|
+
});
|
|
36
|
+
const serviceManager = new ServiceManager({ serverSettings });
|
|
37
|
+
// Store runtime info on the serviceManager instance for access
|
|
38
|
+
serviceManager.__datalayerRuntime = {
|
|
39
|
+
environmentName: runtimeInfo.environmentName || 'unknown',
|
|
40
|
+
credits: 0,
|
|
41
|
+
reservationId: runtimeInfo.runtimeId,
|
|
42
|
+
podName: runtimeInfo.podName,
|
|
43
|
+
ingress: runtimeInfo.ingress,
|
|
44
|
+
token: runtimeInfo.token,
|
|
45
|
+
createdAt: new Date().toISOString(),
|
|
46
|
+
};
|
|
47
|
+
console.log('Reconnected to existing runtime:', {
|
|
48
|
+
runtimeId: runtimeInfo.runtimeId,
|
|
49
|
+
podName: runtimeInfo.podName,
|
|
50
|
+
ingress: runtimeInfo.ingress,
|
|
51
|
+
});
|
|
52
|
+
return serviceManager;
|
|
53
|
+
}
|
|
54
|
+
catch (error) {
|
|
55
|
+
console.error('Error reconnecting to runtime:', error);
|
|
56
|
+
throw error;
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
export default reconnectToRuntime;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Central registry of Jupyter `ServiceManager`s connected to agent runtime
|
|
3
|
+
* sandbox pods, keyed by pod name.
|
|
4
|
+
*
|
|
5
|
+
* Multiple surfaces (files/terminal panel, ephemeral notebook, ephemeral
|
|
6
|
+
* document, ...) each open their own `ServiceManager` against the same
|
|
7
|
+
* sandbox ingress. When the runtime pod is terminated (or paused), every one
|
|
8
|
+
* of those managers must be disposed IMMEDIATELY, otherwise their background
|
|
9
|
+
* pollers (kernelspecs / sessions / users) keep hammering the dead ingress
|
|
10
|
+
* and produce endless CORS / ERR_FAILED noise.
|
|
11
|
+
*
|
|
12
|
+
* Every component that creates a manager against a sandbox pod registers it
|
|
13
|
+
* here; the runtime delete/pause mutations call
|
|
14
|
+
* {@link disposeSandboxServiceManagers} so teardown is centralized instead of
|
|
15
|
+
* relying on each component reacting to (possibly lagging) query cache
|
|
16
|
+
* updates.
|
|
17
|
+
*/
|
|
18
|
+
import type { ServiceManager } from '@jupyterlab/services';
|
|
19
|
+
/**
|
|
20
|
+
* Register a `ServiceManager` connected to a sandbox pod.
|
|
21
|
+
*
|
|
22
|
+
* @returns An unregister function to call when the component disposes the
|
|
23
|
+
* manager itself (cleanup). Unregistering does NOT dispose the manager.
|
|
24
|
+
*/
|
|
25
|
+
export declare function registerSandboxServiceManager(podName: string, manager: ServiceManager.IManager): () => void;
|
|
26
|
+
/**
|
|
27
|
+
* Dispose (and unregister) every `ServiceManager` registered against a
|
|
28
|
+
* sandbox pod. Safe to call multiple times — `disposeServiceManager` is
|
|
29
|
+
* idempotent, and disposed managers are dropped from the registry.
|
|
30
|
+
*/
|
|
31
|
+
export declare function disposeSandboxServiceManagers(podName: string): void;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
import { disposeServiceManager } from '@datalayer/jupyter-react';
|
|
6
|
+
const sandboxManagersByPod = new Map();
|
|
7
|
+
/**
|
|
8
|
+
* Register a `ServiceManager` connected to a sandbox pod.
|
|
9
|
+
*
|
|
10
|
+
* @returns An unregister function to call when the component disposes the
|
|
11
|
+
* manager itself (cleanup). Unregistering does NOT dispose the manager.
|
|
12
|
+
*/
|
|
13
|
+
export function registerSandboxServiceManager(podName, manager) {
|
|
14
|
+
const normalized = String(podName || '').trim();
|
|
15
|
+
if (!normalized || !manager) {
|
|
16
|
+
return () => { };
|
|
17
|
+
}
|
|
18
|
+
let managers = sandboxManagersByPod.get(normalized);
|
|
19
|
+
if (!managers) {
|
|
20
|
+
managers = new Set();
|
|
21
|
+
sandboxManagersByPod.set(normalized, managers);
|
|
22
|
+
}
|
|
23
|
+
managers.add(manager);
|
|
24
|
+
return () => {
|
|
25
|
+
const registered = sandboxManagersByPod.get(normalized);
|
|
26
|
+
if (registered) {
|
|
27
|
+
registered.delete(manager);
|
|
28
|
+
if (registered.size === 0) {
|
|
29
|
+
sandboxManagersByPod.delete(normalized);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Dispose (and unregister) every `ServiceManager` registered against a
|
|
36
|
+
* sandbox pod. Safe to call multiple times — `disposeServiceManager` is
|
|
37
|
+
* idempotent, and disposed managers are dropped from the registry.
|
|
38
|
+
*/
|
|
39
|
+
export function disposeSandboxServiceManagers(podName) {
|
|
40
|
+
const normalized = String(podName || '').trim();
|
|
41
|
+
if (!normalized) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
const managers = sandboxManagersByPod.get(normalized);
|
|
45
|
+
if (!managers) {
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
sandboxManagersByPod.delete(normalized);
|
|
49
|
+
managers.forEach(manager => {
|
|
50
|
+
try {
|
|
51
|
+
disposeServiceManager(manager);
|
|
52
|
+
}
|
|
53
|
+
catch (error) {
|
|
54
|
+
console.warn(`[sandboxServiceManagers] Failed disposing service manager for pod ${normalized}`, error);
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
}
|
|
@@ -6,23 +6,18 @@
|
|
|
6
6
|
* Generated from YAML specifications in specs/agents/
|
|
7
7
|
*/
|
|
8
8
|
import type { Agentspec } from '../../types';
|
|
9
|
-
export declare const
|
|
10
|
-
export declare const
|
|
11
|
-
export declare const
|
|
12
|
-
export declare const
|
|
13
|
-
export declare const CLASSIFY_ROUTE_EMAILS_AGENTSPEC_0_0_1: Agentspec;
|
|
14
|
-
export declare const COMPREHENSIVE_SALES_ANALYTICS_AGENTSPEC_0_0_1: Agentspec;
|
|
15
|
-
export declare const CRAWLER_AGENTSPEC_0_0_1: Agentspec;
|
|
16
|
-
export declare const DATA_ACQUISITION_AGENTSPEC_0_0_1: Agentspec;
|
|
17
|
-
export declare const DEMO_OUTPUTS_AGENTSPEC_0_0_1: Agentspec;
|
|
18
|
-
export declare const END_OF_MONTH_SALES_PERFORMANCE_AGENTSPEC_0_0_1: Agentspec;
|
|
19
|
-
export declare const EVAL_EXPERIMENT_RUNNER_AGENTSPEC_0_0_1: Agentspec;
|
|
9
|
+
export declare const EXAMPLE_A2UI_AGENT_SPEC_0_0_1: Agentspec;
|
|
10
|
+
export declare const EXAMPLE_AGENTIC_CHAT_AGENTSPEC_0_0_1: Agentspec;
|
|
11
|
+
export declare const EXAMPLE_AGENTIC_GENERATIVE_UI_AGENTSPEC_0_0_1: Agentspec;
|
|
12
|
+
export declare const EXAMPLE_BACKEND_TOOL_RENDERING_AGENTSPEC_0_0_1: Agentspec;
|
|
20
13
|
export declare const EXAMPLE_CODEMODE_AGENTSPEC_0_0_1: Agentspec;
|
|
21
14
|
export declare const EXAMPLE_EVALS_NOCODEMODE_AGENTSPEC_0_0_1: Agentspec;
|
|
22
15
|
export declare const EXAMPLE_EVALS_AGENTSPEC_0_0_1: Agentspec;
|
|
23
16
|
export declare const EXAMPLE_FULL_AGENTSPEC_0_0_1: Agentspec;
|
|
24
17
|
export declare const EXAMPLE_GUARDRAILS_AGENTSPEC_0_0_1: Agentspec;
|
|
18
|
+
export declare const EXAMPLE_HAIKU_GENERATIVE_UI_AGENTSPEC_0_0_1: Agentspec;
|
|
25
19
|
export declare const EXAMPLE_HOOKS_AGENTSPEC_0_0_1: Agentspec;
|
|
20
|
+
export declare const EXAMPLE_HUMAN_IN_THE_LOOP_AGENTSPEC_0_0_1: Agentspec;
|
|
26
21
|
export declare const EXAMPLE_INFERENCE_AGENTSPEC_0_0_1: Agentspec;
|
|
27
22
|
export declare const EXAMPLE_MCP_AGENTSPEC_0_0_1: Agentspec;
|
|
28
23
|
export declare const EXAMPLE_MEMORY_AGENTSPEC_0_0_1: Agentspec;
|
|
@@ -32,26 +27,75 @@ export declare const EXAMPLE_NOTIFICATIONS_AGENTSPEC_0_0_1: Agentspec;
|
|
|
32
27
|
export declare const EXAMPLE_ONE_TRIGGER_APPROVAL_AGENTSPEC_0_0_1: Agentspec;
|
|
33
28
|
export declare const EXAMPLE_ONE_TRIGGER_AGENTSPEC_0_0_1: Agentspec;
|
|
34
29
|
export declare const EXAMPLE_OTEL_AGENTSPEC_0_0_1: Agentspec;
|
|
30
|
+
export declare const EXAMPLE_OUTPUT_AGENTSPEC_0_0_1: Agentspec;
|
|
35
31
|
export declare const EXAMPLE_PARAMETERS_AGENTSPEC_0_0_1: Agentspec;
|
|
32
|
+
export declare const EXAMPLE_SHARED_STATE_AGENTSPEC_0_0_1: Agentspec;
|
|
36
33
|
export declare const EXAMPLE_SIMPLE_AGENTSPEC_0_0_1: Agentspec;
|
|
37
34
|
export declare const EXAMPLE_SKILLS_AGENTSPEC_0_0_1: Agentspec;
|
|
38
35
|
export declare const EXAMPLE_SUBAGENTS_AGENTSPEC_0_0_1: Agentspec;
|
|
39
36
|
export declare const EXAMPLE_TOOL_APPROVALS_AGENTSPEC_0_0_1: Agentspec;
|
|
40
|
-
export declare const
|
|
41
|
-
export declare const
|
|
42
|
-
export declare const
|
|
43
|
-
export declare const
|
|
44
|
-
export declare const
|
|
45
|
-
export declare const
|
|
46
|
-
export declare const
|
|
47
|
-
export declare const
|
|
48
|
-
export declare const
|
|
49
|
-
export declare const
|
|
50
|
-
export declare const
|
|
51
|
-
export declare const
|
|
52
|
-
export declare const
|
|
53
|
-
export declare const
|
|
54
|
-
export declare const
|
|
37
|
+
export declare const EXAMPLE_TOOL_BASED_GENERATIVE_UI_AGENTSPEC_0_0_1: Agentspec;
|
|
38
|
+
export declare const GALLERY_ACCOUNTANT_AGENTSPEC_0_0_1: Agentspec;
|
|
39
|
+
export declare const GALLERY_AGENT_CRITIC_LOOP_FOR_ANALYSIS_AGENTSPEC_0_0_1: Agentspec;
|
|
40
|
+
export declare const GALLERY_AGENT_REVIEWS_SQL_AGENTSPEC_0_0_1: Agentspec;
|
|
41
|
+
export declare const GALLERY_AI_CREATES_DASHBOARDS_AGENTSPEC_0_0_1: Agentspec;
|
|
42
|
+
export declare const GALLERY_AI_EXPLAINS_NOTEBOOK_OUTPUT_AGENTSPEC_0_0_1: Agentspec;
|
|
43
|
+
export declare const GALLERY_AI_WRITES_PANDAS_CODE_AGENTSPEC_0_0_1: Agentspec;
|
|
44
|
+
export declare const GALLERY_ANALYZE_CAMPAIGN_PERFORMANCE_AGENTSPEC_0_0_1: Agentspec;
|
|
45
|
+
export declare const GALLERY_ANALYZE_EXCEL_SPREADSHEET_AGENTSPEC_0_0_1: Agentspec;
|
|
46
|
+
export declare const GALLERY_ANALYZE_SUPPORT_TICKETS_AGENTSPEC_0_0_1: Agentspec;
|
|
47
|
+
export declare const GALLERY_AUDIT_INVENTORY_LEVELS_AGENTSPEC_0_0_1: Agentspec;
|
|
48
|
+
export declare const GALLERY_AUTOMATE_REGULATORY_REPORTING_AGENTSPEC_0_0_1: Agentspec;
|
|
49
|
+
export declare const GALLERY_BUILD_NOTEBOOK_WITH_ONE_PROMPT_AGENTSPEC_0_0_1: Agentspec;
|
|
50
|
+
export declare const GALLERY_CLASSIFY_ROUTE_EMAILS_AGENTSPEC_0_0_1: Agentspec;
|
|
51
|
+
export declare const GALLERY_COMPARE_TWO_SPREADSHEETS_AGENTSPEC_0_0_1: Agentspec;
|
|
52
|
+
export declare const GALLERY_COMPLIANCE_REPORT_DRAFT_AGENTSPEC_0_0_1: Agentspec;
|
|
53
|
+
export declare const GALLERY_COMPREHENSIVE_SALES_ANALYTICS_AGENTSPEC_0_0_1: Agentspec;
|
|
54
|
+
export declare const GALLERY_COST_COMPARISON_REPORT_AGENTSPEC_0_0_1: Agentspec;
|
|
55
|
+
export declare const GALLERY_CRAWLER_AGENTSPEC_0_0_1: Agentspec;
|
|
56
|
+
export declare const GALLERY_CUSTOMER_CHURN_ANALYSIS_AGENTSPEC_0_0_1: Agentspec;
|
|
57
|
+
export declare const GALLERY_DATA_ACQUISITION_AGENTSPEC_0_0_1: Agentspec;
|
|
58
|
+
export declare const GALLERY_DOCUMENT_QA_AGENTSPEC_0_0_1: Agentspec;
|
|
59
|
+
export declare const GALLERY_END_OF_MONTH_PERFORMANCE_AGENTSPEC_0_0_1: Agentspec;
|
|
60
|
+
export declare const GALLERY_EXPLORE_SQL_DATABASE_AGENTSPEC_0_0_1: Agentspec;
|
|
61
|
+
export declare const GALLERY_EXTRACT_DATA_FROM_FILES_AGENTSPEC_0_0_1: Agentspec;
|
|
62
|
+
export declare const GALLERY_EXTRACT_KPIS_FROM_QUARTERLY_PDF_AGENTSPEC_0_0_1: Agentspec;
|
|
63
|
+
export declare const GALLERY_FINANCIAL_RECONCILIATION_AGENTSPEC_0_0_1: Agentspec;
|
|
64
|
+
export declare const GALLERY_FINANCIAL_VIZ_AGENTSPEC_0_0_1: Agentspec;
|
|
65
|
+
export declare const GALLERY_FINANCIAL_AGENTSPEC_0_0_1: Agentspec;
|
|
66
|
+
export declare const GALLERY_FIVE_AI_AGENTS_ANALYZE_CSV_AGENTSPEC_0_0_1: Agentspec;
|
|
67
|
+
export declare const GALLERY_FIVE_NOTEBOOKS_IN_PARALLEL_AGENTSPEC_0_0_1: Agentspec;
|
|
68
|
+
export declare const GALLERY_GENERATE_WEEKLY_REPORTS_AGENTSPEC_0_0_1: Agentspec;
|
|
69
|
+
export declare const GALLERY_GITHUB_AGENT_SPEC_0_0_1: Agentspec;
|
|
70
|
+
export declare const GALLERY_GPT_AND_CLAUDE_COLLABORATE_AGENTSPEC_0_0_1: Agentspec;
|
|
71
|
+
export declare const GALLERY_HUMAN_APPROVED_AUTOMATION_AGENTSPEC_0_0_1: Agentspec;
|
|
72
|
+
export declare const GALLERY_INFORMATION_ROUTING_AGENTSPEC_0_0_1: Agentspec;
|
|
73
|
+
export declare const GALLERY_INSURANCE_CLAIMS_REVIEW_AGENTSPEC_0_0_1: Agentspec;
|
|
74
|
+
export declare const GALLERY_INVENTORY_DEMAND_PLANNING_AGENTSPEC_0_0_1: Agentspec;
|
|
75
|
+
export declare const GALLERY_LONG_RUNNING_AGENT_OVERNIGHT_AGENTSPEC_0_0_1: Agentspec;
|
|
76
|
+
export declare const GALLERY_MARKETING_ANALYTICS_AGENTSPEC_0_0_1: Agentspec;
|
|
77
|
+
export declare const GALLERY_MEDICAL_RESEARCH_REVIEW_AGENTSPEC_0_0_1: Agentspec;
|
|
78
|
+
export declare const GALLERY_MONITOR_SALES_KPIS_AGENTSPEC_0_0_1: Agentspec;
|
|
79
|
+
export declare const GALLERY_MULTI_AGENT_DATA_CLEANING_AGENTSPEC_0_0_1: Agentspec;
|
|
80
|
+
export declare const GALLERY_MULTI_AGENT_ROOT_CAUSE_ANALYSIS_AGENTSPEC_0_0_1: Agentspec;
|
|
81
|
+
export declare const GALLERY_OPTIMIZE_DYNAMIC_PRICING_AGENTSPEC_0_0_1: Agentspec;
|
|
82
|
+
export declare const GALLERY_OPTIMIZE_GRID_OPERATIONS_AGENTSPEC_0_0_1: Agentspec;
|
|
83
|
+
export declare const GALLERY_OPTIMIZE_SQL_QUERY_PERFORMANCE_AGENTSPEC_0_0_1: Agentspec;
|
|
84
|
+
export declare const GALLERY_PROCESS_CITIZEN_REQUESTS_AGENTSPEC_0_0_1: Agentspec;
|
|
85
|
+
export declare const GALLERY_PROCESS_CLINICAL_TRIAL_DATA_AGENTSPEC_0_0_1: Agentspec;
|
|
86
|
+
export declare const GALLERY_PROCESS_FINANCIAL_TRANSACTIONS_AGENTSPEC_0_0_1: Agentspec;
|
|
87
|
+
export declare const GALLERY_REPLACE_EXCEL_PIVOT_WORK_AGENTSPEC_0_0_1: Agentspec;
|
|
88
|
+
export declare const GALLERY_RESUMABLE_ETL_WITH_CHECKPOINTS_AGENTSPEC_0_0_1: Agentspec;
|
|
89
|
+
export declare const GALLERY_RUN_PYTHON_SAFELY_IN_THE_CLOUD_AGENTSPEC_0_0_1: Agentspec;
|
|
90
|
+
export declare const GALLERY_SALES_FORECASTING_AGENTSPEC_0_0_1: Agentspec;
|
|
91
|
+
export declare const GALLERY_SALES_PIPELINE_BOARD_REPORT_AGENTSPEC_0_0_1: Agentspec;
|
|
92
|
+
export declare const GALLERY_SCHEDULED_NIGHTLY_DATA_QUALITY_CHECKS_AGENTSPEC_0_0_1: Agentspec;
|
|
93
|
+
export declare const GALLERY_SCIENTIFIC_NOTEBOOK_ASSISTANT_AGENTSPEC_0_0_1: Agentspec;
|
|
94
|
+
export declare const GALLERY_SPATIAL_DATA_ANALYSIS_AGENTSPEC_0_0_1: Agentspec;
|
|
95
|
+
export declare const GALLERY_SUMMARIZE_10_PDFS_AGENTSPEC_0_0_1: Agentspec;
|
|
96
|
+
export declare const GALLERY_SUMMARIZE_DOCUMENTS_AGENTSPEC_0_0_1: Agentspec;
|
|
97
|
+
export declare const GALLERY_SYNC_CRM_CONTACTS_AGENTSPEC_0_0_1: Agentspec;
|
|
98
|
+
export declare const GALLERY_WEEKLY_EXECUTIVE_BRIEFING_AGENTSPEC_0_0_1: Agentspec;
|
|
55
99
|
export declare const AGENTSPECS: Record<string, Agentspec>;
|
|
56
100
|
/**
|
|
57
101
|
* Get an agent specification by ID.
|