@datalayer/agent-runtimes 1.0.28 → 1.3.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/AgentDocument.js +5 -22
- package/lib/AgentNode.d.ts +1 -1
- package/lib/AgentNode.js +193 -23
- package/lib/AgentNotebook.js +1 -1
- package/lib/App.d.ts +1 -1
- package/lib/AppExamples2.d.ts +1 -1
- package/lib/agent-node/AgentNodeGallery.d.ts +14 -1
- package/lib/agent-node/AgentNodeGallery.js +19 -15
- package/lib/agent-node/themeStore.js +7 -6
- package/lib/agents/AgentDetails.d.ts +8 -2
- package/lib/agents/AgentDetails.js +41 -11
- package/lib/agents/AgentRuntimeChat.d.ts +3 -3
- package/lib/agents/AgentRuntimeChat.js +15 -15
- package/lib/api/agents.d.ts +10 -10
- package/lib/api/agents.js +15 -15
- package/lib/api/checkpoints.d.ts +40 -0
- package/lib/api/checkpoints.js +75 -0
- package/lib/api/index.d.ts +1 -0
- package/lib/api/index.js +18 -5
- package/lib/api/notifications.d.ts +21 -6
- package/lib/api/notifications.js +32 -14
- package/lib/api/runtimes/environments.d.ts +385 -4
- package/lib/api/runtimes/environments.js +610 -9
- package/lib/api/runtimes/runtimes.d.ts +19 -19
- package/lib/api/runtimes/runtimes.js +47 -46
- package/lib/api/spacer/notebooks.js +1 -1
- package/lib/chat/Chat.d.ts +16 -4
- package/lib/chat/Chat.js +18 -5
- package/lib/chat/ChatFloating.d.ts +13 -2
- package/lib/chat/ChatFloating.js +192 -117
- package/lib/chat/ChatInline.d.ts +15 -0
- package/lib/chat/ChatInline.js +0 -18
- package/lib/chat/ChatPopupStandalone.d.ts +1 -1
- package/lib/chat/ChatSidebar.d.ts +14 -2
- package/lib/chat/ChatSidebar.js +1 -1
- package/lib/chat/ChatStandalone.d.ts +1 -1
- package/lib/chat/EphemeralSurfaceControl.d.ts +30 -0
- package/lib/chat/EphemeralSurfaceControl.js +55 -0
- package/lib/chat/base/ChatAvailability.d.ts +34 -0
- package/lib/chat/base/ChatAvailability.js +18 -0
- package/lib/chat/base/ChatBase.d.ts +2 -1
- package/lib/chat/base/ChatBase.js +657 -28
- package/lib/chat/display/EmptyState.d.ts +15 -1
- package/lib/chat/display/EmptyState.js +78 -12
- package/lib/chat/display/FloatingBrandButton.d.ts +1 -1
- package/lib/chat/display/PoweredByTag.d.ts +1 -1
- package/lib/chat/display/groupSuggestions.d.ts +21 -0
- package/lib/chat/display/groupSuggestions.js +18 -0
- package/lib/chat/document/EphemeralDocument.d.ts +70 -6
- package/lib/chat/document/EphemeralDocument.js +154 -52
- package/lib/chat/header/ChatHeader.d.ts +1 -1
- package/lib/chat/header/ChatHeaderBase.d.ts +10 -1
- package/lib/chat/header/ChatHeaderBase.js +67 -96
- package/lib/chat/index.d.ts +4 -1
- package/lib/chat/index.js +8 -1
- package/lib/chat/indicators/McpStatusIndicator.d.ts +1 -1
- package/lib/chat/indicators/SandboxStatusIndicator.d.ts +1 -1
- package/lib/chat/indicators/SandboxStatusIndicator.js +1 -1
- package/lib/chat/indicators/SkillsStatusIndicator.d.ts +1 -1
- package/lib/chat/messages/ChatMessageList.d.ts +22 -1
- package/lib/chat/messages/ChatMessageList.js +370 -166
- package/lib/chat/messages/ChatMessages.d.ts +1 -1
- package/lib/chat/messages/NotebookToolSurfaces.d.ts +68 -0
- package/lib/chat/messages/NotebookToolSurfaces.js +302 -0
- package/lib/chat/messages/TurnFooter.d.ts +42 -0
- package/lib/chat/messages/TurnFooter.js +75 -0
- package/lib/chat/messages/assistantMarkdown.d.ts +22 -0
- package/lib/chat/messages/assistantMarkdown.js +56 -0
- package/lib/chat/notebook/EphemeralNotebook.d.ts +67 -6
- package/lib/chat/notebook/EphemeralNotebook.js +194 -61
- package/lib/chat/parts/DynamicToolPart.d.ts +1 -1
- package/lib/chat/parts/MessagePart.d.ts +1 -1
- package/lib/chat/parts/ReasoningPart.d.ts +8 -1
- package/lib/chat/parts/TextPart.d.ts +1 -1
- package/lib/chat/parts/ToolPart.d.ts +8 -1
- package/lib/chat/prompt/FloatingCard.d.ts +26 -0
- package/lib/chat/prompt/FloatingCard.js +80 -0
- package/lib/chat/prompt/InputPrompt.d.ts +206 -53
- package/lib/chat/prompt/InputPrompt.js +161 -80
- package/lib/chat/prompt/InputPromptBase.d.ts +112 -0
- package/lib/chat/prompt/InputPromptBase.js +225 -0
- package/lib/chat/prompt/InputPromptLexical.d.ts +18 -1
- package/lib/chat/prompt/InputPromptLexical.js +227 -30
- package/lib/chat/prompt/InputPromptText.d.ts +10 -2
- package/lib/chat/prompt/InputPromptText.js +35 -3
- package/lib/chat/prompt/footer/BelowPromptFooter.d.ts +25 -0
- package/lib/chat/prompt/footer/BelowPromptFooter.js +12 -0
- package/lib/chat/prompt/footer/InPromptFooter.d.ts +35 -0
- package/lib/chat/prompt/footer/InPromptFooter.js +16 -0
- package/lib/chat/prompt/footer/index.d.ts +7 -0
- package/lib/chat/prompt/footer/index.js +11 -0
- package/lib/chat/prompt/header/BelowPromptHeader.d.ts +23 -0
- package/lib/chat/prompt/header/BelowPromptHeader.js +12 -0
- package/lib/chat/prompt/header/InPromptHeader.d.ts +31 -0
- package/lib/chat/prompt/header/InPromptHeader.js +14 -0
- package/lib/chat/prompt/header/index.d.ts +7 -0
- package/lib/chat/prompt/header/index.js +11 -0
- package/lib/chat/prompt/index.d.ts +8 -4
- package/lib/chat/prompt/index.js +15 -3
- package/lib/chat/prompt/menus/AgentsMenu.d.ts +14 -0
- package/lib/chat/prompt/menus/AgentsMenu.js +42 -0
- package/lib/chat/prompt/menus/InlineAgentsMenu.d.ts +22 -0
- package/lib/chat/prompt/menus/InlineAgentsMenu.js +24 -0
- package/lib/chat/prompt/menus/ModelSelector.d.ts +7 -0
- package/lib/chat/prompt/menus/ModelSelector.js +27 -0
- package/lib/chat/prompt/menus/SkillsMenu.d.ts +10 -0
- package/lib/chat/prompt/menus/SkillsMenu.js +75 -0
- package/lib/chat/prompt/menus/SuggestionsMenu.d.ts +13 -0
- package/lib/chat/prompt/menus/SuggestionsMenu.js +31 -0
- package/lib/chat/prompt/menus/ToolsMenu.d.ts +13 -0
- package/lib/chat/prompt/menus/ToolsMenu.js +103 -0
- package/lib/chat/prompt/menus/index.d.ts +15 -0
- package/lib/chat/prompt/menus/index.js +19 -0
- package/lib/chat/prompt/plugins/AgentMentionPlugin.d.ts +54 -0
- package/lib/chat/prompt/plugins/AgentMentionPlugin.js +370 -0
- package/lib/chat/prompt/plugins/CommandPlugin.d.ts +52 -0
- package/lib/chat/prompt/plugins/CommandPlugin.js +359 -0
- package/lib/chat/prompt/plugins/MentionChip.d.ts +15 -0
- package/lib/chat/prompt/plugins/MentionChip.js +24 -0
- package/lib/chat/prompt/plugins/MentionNode.d.ts +66 -0
- package/lib/chat/prompt/plugins/MentionNode.js +77 -0
- package/lib/chat/prompt/promptHistory.d.ts +52 -0
- package/lib/chat/prompt/promptHistory.js +123 -0
- package/lib/chat/prompt/stack.d.ts +81 -0
- package/lib/chat/prompt/stack.js +41 -0
- package/lib/chat/prompt/useTypingPlaceholder.d.ts +52 -0
- package/lib/chat/prompt/useTypingPlaceholder.js +180 -0
- package/lib/chat/tools/A2AAgentDialog.d.ts +60 -0
- package/lib/chat/tools/A2AAgentDialog.js +265 -0
- package/lib/chat/tools/ToolApprovalBanner.d.ts +1 -1
- package/lib/chat/tools/ToolApprovalDialog.d.ts +1 -1
- package/lib/chat/tools/ToolCallDisplay.d.ts +8 -1
- package/lib/chat/tools/index.d.ts +1 -0
- package/lib/chat/tools/index.js +1 -0
- package/lib/chat/usage/ContextPie.d.ts +17 -0
- package/lib/chat/usage/{TokenUsageBar.js → ContextPie.js} +20 -14
- package/lib/chat/useViewportDrag.d.ts +11 -0
- package/lib/chat/useViewportDrag.js +61 -0
- package/lib/chat/viewModes.d.ts +51 -0
- package/lib/chat/viewModes.js +57 -0
- package/lib/client/AgentRuntimesClient.d.ts +10 -9
- package/lib/client/AgentRuntimesClient.js +1 -1
- package/lib/client/AgentRuntimesClientContext.d.ts +1 -0
- package/lib/client/AgentsMixin.d.ts +12 -12
- package/lib/client/AgentsMixin.js +31 -31
- package/lib/client/IAgentRuntimesClient.d.ts +10 -10
- package/lib/client/SdkAgentRuntimesClient.d.ts +10 -10
- package/lib/client/SdkAgentRuntimesClient.js +10 -10
- package/lib/client/mixins/RuntimesMixin.d.ts +37 -10
- package/lib/client/mixins/RuntimesMixin.js +54 -21
- package/lib/components/a2ui/A2uiSurfaceComposed.d.ts +1 -1
- package/lib/components/agents/AgentSummary.d.ts +13 -0
- package/lib/components/agents/AgentSummary.js +21 -4
- package/lib/components/cards/NotificationEventCard.d.ts +1 -1
- package/lib/components/cards/OutputCard.d.ts +1 -1
- package/lib/components/cards/ToolApprovalCard.d.ts +2 -2
- package/lib/components/cards/ToolApprovalCard.js +1 -0
- package/lib/components/code-sandboxes/CodeSandboxCellVariables.d.ts +1 -0
- package/lib/components/code-sandboxes/CodeSandboxCellVariables.js +0 -4
- package/lib/components/code-sandboxes/CodeSandboxCellVariablesDialog.d.ts +1 -0
- package/lib/components/code-sandboxes/CodeSandboxCellVariablesDialog.js +0 -4
- package/lib/components/code-sandboxes/CodeSandboxEnvironmentSelect.d.ts +76 -0
- package/lib/components/code-sandboxes/CodeSandboxEnvironmentSelect.js +81 -0
- package/lib/components/code-sandboxes/CodeSandboxLauncher.d.ts +12 -0
- package/lib/components/code-sandboxes/CodeSandboxLauncher.js +132 -25
- package/lib/components/code-sandboxes/CodeSandboxNames.js +75 -29
- package/lib/components/code-sandboxes/CodeSandboxPicker.d.ts +14 -1
- package/lib/components/code-sandboxes/CodeSandboxPicker.js +226 -45
- package/lib/components/code-sandboxes/CodeSandboxPickerCell.d.ts +1 -0
- package/lib/components/code-sandboxes/CodeSandboxPickerCell.js +0 -4
- package/lib/components/code-sandboxes/CodeSandboxReservationControl.d.ts +1 -0
- package/lib/components/code-sandboxes/CodeSandboxReservationControl.js +5 -7
- package/lib/components/code-sandboxes/CodeSandboxTransfer.d.ts +5 -0
- package/lib/components/code-sandboxes/CodeSandboxUtils.d.ts +16 -1
- package/lib/components/code-sandboxes/CodeSandboxUtils.js +69 -12
- package/lib/components/code-sandboxes/NewCodeSandboxControls.d.ts +21 -15
- package/lib/components/code-sandboxes/NewCodeSandboxControls.js +28 -51
- package/lib/components/code-sandboxes/codeSandboxAllowance.d.ts +33 -0
- package/lib/components/code-sandboxes/codeSandboxAllowance.js +37 -0
- package/lib/components/code-sandboxes/codeSandboxEnvironments.d.ts +86 -0
- package/lib/components/code-sandboxes/codeSandboxEnvironments.js +147 -0
- package/lib/components/code-sandboxes/codeSandboxProviders.d.ts +29 -0
- package/lib/components/code-sandboxes/codeSandboxProviders.js +90 -0
- package/lib/components/code-sandboxes/index.d.ts +3 -0
- package/lib/components/code-sandboxes/index.js +3 -0
- package/lib/components/context/SpaceSelect.d.ts +1 -1
- package/lib/components/flashes/FlashDisclaimer.d.ts +1 -1
- package/lib/components/icons/ArtifactIcon.d.ts +1 -0
- package/lib/components/nbgrader/NbGradesDetails.d.ts +1 -1
- package/lib/components/progress/CreditsIndicator.d.ts +1 -0
- package/lib/components/progress/CreditsIndicator.js +0 -4
- package/lib/components/scheduler/ScheduleMenu.d.ts +1 -1
- package/lib/components/snapshots/SandboxSnapshotMenu.d.ts +3 -2
- package/lib/components/snapshots/SandboxSnapshotMenu.js +11 -15
- package/lib/components/snippets/SnippetDialog.d.ts +1 -0
- package/lib/components/snippets/SnippetDialog.js +0 -4
- package/lib/components/specs/SpecPayloadPreview.d.ts +34 -0
- package/lib/components/specs/SpecPayloadPreview.js +102 -0
- package/lib/components/tokens/SpaceVariantToken.d.ts +1 -1
- package/lib/context/ContextDistribution.d.ts +1 -1
- package/lib/context/ContextInspector.d.ts +2 -1
- package/lib/context/ContextPanel.d.ts +1 -1
- package/lib/context/ContextUsage.d.ts +1 -1
- package/lib/context/CostTracker.d.ts +1 -1
- package/lib/context/CostUsageChart.d.ts +1 -1
- package/lib/context/CostUsageChart.js +4 -4
- package/lib/context/MessageHistory.d.ts +3 -2
- package/lib/context/TokenUsageChart.d.ts +1 -1
- package/lib/context/TokenUsageChart.js +4 -4
- package/lib/examples/A2UiAgentExample.js +15 -6
- package/lib/examples/A2UiComponentsGalleryExample.d.ts +10 -0
- package/lib/examples/A2UiComponentsGalleryExample.js +24 -855
- package/lib/examples/A2UiContactCardExample.d.ts +10 -0
- package/lib/examples/A2UiContactCardExample.js +23 -170
- package/lib/examples/A2UiJupyterOutputExample.d.ts +3 -0
- package/lib/examples/A2UiJupyterOutputExample.js +792 -0
- package/lib/examples/A2UiRestaurantExample.d.ts +10 -0
- package/lib/examples/A2UiRestaurantExample.js +24 -179
- package/lib/examples/A2UiViewerExample.d.ts +10 -0
- package/lib/examples/A2UiViewerExample.js +24 -378
- package/lib/examples/AgUiAgenticExample.js +2 -4
- package/lib/examples/AgUiBackendToolRenderingExample.js +3 -5
- package/lib/examples/AgUiHaikuGenUiExample.js +2 -4
- package/lib/examples/AgUiHumanInTheLoopExample.js +2 -4
- package/lib/examples/AgUiSharedStateExample.js +2 -4
- package/lib/examples/AgUiToolsBasedGenUiExample.js +2 -4
- package/lib/examples/AgentA2AExample.d.ts +17 -0
- package/lib/examples/AgentA2AExample.js +56 -0
- package/lib/examples/AgentCheckpointsExample.d.ts +9 -10
- package/lib/examples/AgentCheckpointsExample.js +72 -54
- package/lib/examples/AgentCodeSandboxExample.d.ts +7 -7
- package/lib/examples/AgentCodeSandboxExample.js +93 -303
- package/lib/examples/AgentCodeSandboxesExample.d.ts +10 -0
- package/lib/examples/AgentCodeSandboxesExample.js +56 -162
- package/lib/examples/AgentCodemodeExample.d.ts +7 -2
- package/lib/examples/AgentCodemodeExample.js +60 -125
- package/lib/examples/AgentCompactionExample.js +19 -135
- package/lib/examples/AgentEvalsExample.js +34 -66
- package/lib/examples/AgentGuardrailsExample.js +64 -112
- package/lib/examples/AgentHooksExample.d.ts +11 -0
- package/lib/examples/AgentHooksExample.js +30 -67
- package/lib/examples/AgentInferenceProviderExample.js +8 -32
- package/lib/examples/AgentLoopExample.d.ts +4 -2
- package/lib/examples/AgentLoopExample.js +45 -93
- package/lib/examples/AgentMCPExample.js +30 -79
- package/lib/examples/AgentMemoryExample.js +21 -64
- package/lib/examples/AgentMonitoringExample.js +33 -94
- package/lib/examples/AgentNotificationsExample.js +56 -95
- package/lib/examples/AgentOtelExample.js +35 -88
- package/lib/examples/AgentOutputsExample.d.ts +2 -1
- package/lib/examples/AgentOutputsExample.js +16 -137
- package/lib/examples/AgentParametersExample.js +7 -17
- package/lib/examples/AgentSkillsExample.js +40 -154
- package/lib/examples/AgentSubagentsExample.d.ts +7 -6
- package/lib/examples/AgentSubagentsExample.js +80 -191
- package/lib/examples/AgentToolApprovalsExample.js +35 -91
- package/lib/examples/AgentTriggersExample.js +43 -59
- package/lib/examples/AgentspecsExample.js +7 -7
- package/lib/examples/CellExample.d.ts +1 -1
- package/lib/examples/ChatExample.d.ts +12 -5
- package/lib/examples/ChatExample.js +38 -13
- package/lib/examples/CopilotKitLexicalExample.d.ts +1 -0
- package/lib/examples/CopilotKitLexicalExample.js +4 -41
- package/lib/examples/CopilotKitNotebookExample.d.ts +10 -0
- package/lib/examples/CopilotKitNotebookExample.js +2 -14
- package/lib/examples/DecksAgent.d.ts +21 -0
- package/lib/examples/DecksAgent.js +23 -0
- package/lib/examples/DocumentPageAgent.d.ts +19 -0
- package/lib/examples/DocumentPageAgent.js +15 -0
- package/lib/examples/Lexical2Example.d.ts +2 -2
- package/lib/examples/Lexical2Example.js +17 -38
- package/lib/examples/LexicalAgentExample.d.ts +2 -1
- package/lib/examples/LexicalAgentExample.js +29 -102
- package/lib/examples/LexicalAgentSidebarExample.d.ts +16 -5
- package/lib/examples/LexicalAgentSidebarExample.js +99 -131
- package/lib/examples/LoopShellExample.d.ts +38 -0
- package/lib/examples/LoopShellExample.js +68 -0
- package/lib/examples/LoopWorkspaceEmbed.d.ts +50 -0
- package/lib/examples/LoopWorkspaceEmbed.js +73 -0
- package/lib/examples/LoopWorkspaceExample.d.ts +150 -0
- package/lib/examples/LoopWorkspaceExample.js +151 -0
- package/lib/examples/NotebookAgentExample.d.ts +13 -0
- package/lib/examples/NotebookAgentExample.js +36 -86
- package/lib/examples/NotebookAgentSidebarExample.d.ts +10 -4
- package/lib/examples/NotebookAgentSidebarExample.js +39 -83
- package/lib/examples/NotebookCollaborationExample.d.ts +1 -1
- package/lib/examples/NotebookCollaborationExample.js +108 -20
- package/lib/examples/NotebookExample.d.ts +1 -1
- package/lib/examples/NotebookExample.js +20 -10
- package/lib/examples/NotebookPageAgent.d.ts +23 -0
- package/lib/examples/NotebookPageAgent.js +17 -0
- package/lib/examples/components/ExampleWrapper.d.ts +5 -0
- package/lib/examples/components/ExampleWrapper.js +36 -28
- package/lib/examples/components/LexicalEditor.d.ts +1 -1
- package/lib/examples/components/LexicalEditor.js +4 -24
- package/lib/examples/components/haiku/HaikuDisplay.d.ts +1 -1
- package/lib/examples/components/haiku/InlineHaikuCard.d.ts +1 -1
- package/lib/examples/components/weather/InlineWeatherCard.d.ts +1 -1
- package/lib/examples/example-selector.js +26 -6
- package/lib/examples/hooks/useCreateAgentOnce.d.ts +41 -0
- package/lib/examples/hooks/useCreateAgentOnce.js +51 -0
- package/lib/examples/hooks/useExampleAgentProtocol.d.ts +35 -0
- package/lib/examples/hooks/useExampleAgentProtocol.js +63 -0
- package/lib/examples/hooks/useExampleAgentRuntime.d.ts +16 -16
- package/lib/examples/hooks/useExampleAgentRuntime.js +26 -25
- package/lib/examples/hooks/useExampleAgentRuntimes.js +45 -61
- package/lib/examples/hooks/useExampleJupyterAgent.d.ts +91 -0
- package/lib/examples/hooks/useExampleJupyterAgent.js +151 -0
- package/lib/examples/index.d.ts +4 -0
- package/lib/examples/index.js +6 -0
- package/lib/examples/lexical/editorConfig.d.ts +2 -75
- package/lib/examples/lexical/editorConfig.js +26 -48
- package/lib/examples/lexical/lexical-theme.css +65 -47
- package/lib/examples/main.js +450 -322
- package/lib/examples/scenes/A2UiComponentsGalleryScene.d.ts +3 -0
- package/lib/examples/scenes/A2UiComponentsGalleryScene.js +872 -0
- package/lib/examples/scenes/A2UiContactCardScene.d.ts +3 -0
- package/lib/examples/scenes/A2UiContactCardScene.js +188 -0
- package/lib/examples/scenes/A2UiRestaurantScene.d.ts +3 -0
- package/lib/examples/scenes/A2UiRestaurantScene.js +196 -0
- package/lib/examples/scenes/A2UiViewerScene.d.ts +3 -0
- package/lib/examples/scenes/A2UiViewerScene.js +395 -0
- package/lib/examples/utils/agentSummaryStore.d.ts +7 -1
- package/lib/examples/utils/agents/earthquake-detector.ipynb.json +1 -1
- package/lib/examples/utils/agents/earthquake-detector.lexical.json +1 -1
- package/lib/examples/utils/agents/sales-forecaster.ipynb.json +1 -1
- package/lib/examples/utils/agents/sales-forecaster.lexical.json +1 -1
- package/lib/examples/utils/agents/social-post-generator.ipynb.json +1 -1
- package/lib/examples/utils/agents/social-post-generator.lexical.json +1 -1
- package/lib/examples/utils/exampleSurfaces.d.ts +31 -0
- package/lib/examples/utils/exampleSurfaces.js +38 -0
- package/lib/examples/utils/jupyterSandboxUrl.d.ts +27 -0
- package/lib/examples/utils/jupyterSandboxUrl.js +55 -0
- package/lib/examples/utils/localUrl.d.ts +2 -0
- package/lib/examples/utils/localUrl.js +49 -0
- package/lib/examples/utils/notebookToolbarItems.d.ts +46 -0
- package/lib/examples/utils/notebookToolbarItems.js +129 -0
- package/lib/examples/utils/runtimeTargetStore.d.ts +40 -1
- package/lib/examples/utils/runtimeTargetStore.js +82 -1
- package/lib/examples/utils/themedProvider.d.ts +7 -0
- package/lib/examples/utils/themedProvider.js +57 -4
- package/lib/examples/utils/useExampleAgentRuntimesUrl.js +30 -5
- package/lib/examples/utils/waitForAgent.d.ts +23 -0
- package/lib/examples/utils/waitForAgent.js +24 -0
- package/lib/examples2/CellExample.d.ts +1 -1
- package/lib/examples2/DatalayerNotebookExample.d.ts +1 -1
- package/lib/examples2/NotebookExample.d.ts +1 -1
- package/lib/examples2/NotebookMutationsKernel.d.ts +1 -1
- package/lib/examples2/NotebookMutationsServiceManager.d.ts +1 -1
- package/lib/examples2/main.js +24 -4
- package/lib/extensions/A2UIExtension.d.ts +1 -1
- package/lib/hooks/index.d.ts +8 -5
- package/lib/hooks/index.js +20 -5
- package/lib/hooks/useAgentRuntimes.d.ts +49 -22
- package/lib/hooks/useAgentRuntimes.js +214 -90
- package/lib/hooks/useAgentsCatalog.js +32 -4
- package/lib/hooks/useBrowserAgent.d.ts +26 -0
- package/lib/hooks/useBrowserAgent.js +75 -0
- package/lib/hooks/useBrowserInference.d.ts +27 -0
- package/lib/hooks/useBrowserInference.js +67 -0
- package/lib/hooks/useCheckpoints.d.ts +8 -17
- package/lib/hooks/useCheckpoints.js +25 -59
- package/lib/hooks/useConfig.d.ts +1 -1
- package/lib/hooks/useConfig.js +5 -1
- package/lib/hooks/useContextSnapshot.d.ts +18 -7
- package/lib/hooks/useContextSnapshot.js +14 -10
- package/lib/hooks/useNotifications.d.ts +11 -11
- package/lib/hooks/useNotifications.js +1 -1
- package/lib/hooks/useProjects.d.ts +7 -19
- package/lib/hooks/useProjects.js +5 -5
- package/lib/hooks/useSkills.d.ts +0 -1
- package/lib/hooks/useSkills.js +6 -2
- package/lib/hooks/useToolApprovals.d.ts +8 -8
- package/lib/hooks/useToolApprovals.js +3 -3
- package/lib/identity/AgentIdentity.d.ts +9 -2
- package/lib/identity/index.d.ts +1 -1
- package/lib/identity/index.js +1 -1
- package/lib/identity/types.d.ts +1 -1
- package/lib/identity/types.js +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.js +4 -0
- package/lib/jupyter/index.d.ts +2 -1
- package/lib/jupyter/index.js +2 -1
- package/lib/jupyter/serverExecution.d.ts +78 -0
- package/lib/jupyter/serverExecution.js +258 -0
- package/lib/jupyter/useResumeServerExecutions.d.ts +11 -0
- package/lib/jupyter/useResumeServerExecutions.js +64 -0
- package/lib/lexical/ChatInlinePlugin.d.ts +33 -0
- package/lib/lexical/ChatInlinePlugin.js +0 -36
- package/lib/loop/core/focusRequests.d.ts +10 -0
- package/lib/loop/core/focusRequests.js +46 -0
- package/lib/loop/core/index.d.ts +894 -0
- package/lib/loop/core/index.js +264 -0
- package/lib/loop/core/promptStore.d.ts +44 -0
- package/lib/loop/core/promptStore.js +63 -0
- package/lib/loop/core/surfaceRequests.d.ts +33 -0
- package/lib/loop/core/surfaceRequests.js +29 -0
- package/lib/loop/core/toolbar.d.ts +28 -0
- package/lib/loop/core/toolbar.js +59 -0
- package/lib/loop/embed/LoopEmbed.d.ts +57 -0
- package/lib/loop/embed/LoopEmbed.js +118 -0
- package/lib/loop/extensions.d.ts +10 -0
- package/lib/loop/extensions.js +49 -0
- package/lib/loop/index.d.ts +68 -0
- package/lib/loop/index.js +87 -0
- package/lib/loop/plugins/a2a-sidebar/A2ASidebar.d.ts +48 -0
- package/lib/loop/plugins/a2a-sidebar/A2ASidebar.js +190 -0
- package/lib/loop/plugins/a2a-sidebar/index.d.ts +5 -0
- package/lib/loop/plugins/a2a-sidebar/index.js +39 -0
- package/lib/loop/plugins/a2ui/A2uiView.d.ts +12 -0
- package/lib/loop/plugins/a2ui/A2uiView.js +97 -0
- package/lib/loop/plugins/a2ui/index.d.ts +3 -0
- package/lib/loop/plugins/a2ui/index.js +50 -0
- package/lib/loop/plugins/a2ui-scene/index.d.ts +36 -0
- package/lib/loop/plugins/a2ui-scene/index.js +28 -0
- package/lib/loop/plugins/agent-a2a/index.d.ts +3 -0
- package/lib/loop/plugins/agent-a2a/index.js +26 -0
- package/lib/loop/plugins/agent-a2ui/index.d.ts +3 -0
- package/lib/loop/plugins/agent-a2ui/index.js +42 -0
- package/lib/loop/plugins/agent-a2ui-jupyter-output/index.d.ts +3 -0
- package/lib/loop/plugins/agent-a2ui-jupyter-output/index.js +53 -0
- package/lib/loop/plugins/agent-capacity/index.d.ts +39 -0
- package/lib/loop/plugins/agent-capacity/index.js +52 -0
- package/lib/loop/plugins/agent-checkpoints/index.d.ts +3 -0
- package/lib/loop/plugins/agent-checkpoints/index.js +26 -0
- package/lib/loop/plugins/agent-code-sandbox/index.d.ts +3 -0
- package/lib/loop/plugins/agent-code-sandbox/index.js +24 -0
- package/lib/loop/plugins/agent-code-sandboxes/index.d.ts +13 -0
- package/lib/loop/plugins/agent-code-sandboxes/index.js +85 -0
- package/lib/loop/plugins/agent-codemode/index.d.ts +5 -0
- package/lib/loop/plugins/agent-codemode/index.js +41 -0
- package/lib/loop/plugins/agent-compaction/index.d.ts +10 -0
- package/lib/loop/plugins/agent-compaction/index.js +34 -0
- package/lib/loop/plugins/agent-evals/index.d.ts +3 -0
- package/lib/loop/plugins/agent-evals/index.js +25 -0
- package/lib/loop/plugins/agent-guardrails/index.d.ts +3 -0
- package/lib/loop/plugins/agent-guardrails/index.js +25 -0
- package/lib/loop/plugins/agent-hooks/index.d.ts +3 -0
- package/lib/loop/plugins/agent-hooks/index.js +28 -0
- package/lib/loop/plugins/agent-inference/index.d.ts +7 -0
- package/lib/loop/plugins/agent-inference/index.js +29 -0
- package/lib/loop/plugins/agent-mcp/index.d.ts +3 -0
- package/lib/loop/plugins/agent-mcp/index.js +25 -0
- package/lib/loop/plugins/agent-memory/index.d.ts +3 -0
- package/lib/loop/plugins/agent-memory/index.js +25 -0
- package/lib/loop/plugins/agent-monitoring/index.d.ts +3 -0
- package/lib/loop/plugins/agent-monitoring/index.js +25 -0
- package/lib/loop/plugins/agent-notifications/index.d.ts +3 -0
- package/lib/loop/plugins/agent-notifications/index.js +25 -0
- package/lib/loop/plugins/agent-otel/index.d.ts +3 -0
- package/lib/loop/plugins/agent-otel/index.js +25 -0
- package/lib/loop/plugins/agent-outputs/index.d.ts +3 -0
- package/lib/loop/plugins/agent-outputs/index.js +25 -0
- package/lib/loop/plugins/agent-parameters/index.d.ts +3 -0
- package/lib/loop/plugins/agent-parameters/index.js +25 -0
- package/lib/loop/plugins/agent-skills/index.d.ts +3 -0
- package/lib/loop/plugins/agent-skills/index.js +25 -0
- package/lib/loop/plugins/agent-subagents/index.d.ts +3 -0
- package/lib/loop/plugins/agent-subagents/index.js +25 -0
- package/lib/loop/plugins/agent-tool-approvals/index.d.ts +11 -0
- package/lib/loop/plugins/agent-tool-approvals/index.js +38 -0
- package/lib/loop/plugins/agent-triggers/index.d.ts +3 -0
- package/lib/loop/plugins/agent-triggers/index.js +26 -0
- package/lib/loop/plugins/agents/AgentSummaryPanel.d.ts +20 -0
- package/lib/loop/plugins/agents/AgentSummaryPanel.js +50 -0
- package/lib/loop/plugins/agents/AnonymousKeyBadge.d.ts +35 -0
- package/lib/loop/plugins/agents/AnonymousKeyBadge.js +53 -0
- package/lib/loop/plugins/agents/DatalayerAgentBridge.d.ts +24 -0
- package/lib/loop/plugins/agents/DatalayerAgentBridge.js +102 -0
- package/lib/loop/plugins/agents/DatalayerAgentMount.d.ts +18 -0
- package/lib/loop/plugins/agents/DatalayerAgentMount.js +12 -0
- package/lib/loop/plugins/agents/SandboxSelector.d.ts +18 -0
- package/lib/loop/plugins/agents/SandboxSelector.js +99 -0
- package/lib/loop/plugins/agents/SandboxStatusBridge.d.ts +19 -0
- package/lib/loop/plugins/agents/SandboxStatusBridge.js +23 -0
- package/lib/loop/plugins/agents/SandboxView.d.ts +11 -0
- package/lib/loop/plugins/agents/SandboxView.js +43 -0
- package/lib/loop/plugins/agents/TeamMemberPicker.d.ts +17 -0
- package/lib/loop/plugins/agents/TeamMemberPicker.js +60 -0
- package/lib/loop/plugins/agents/agentIcons.d.ts +23 -0
- package/lib/loop/plugins/agents/agentIcons.js +88 -0
- package/lib/loop/plugins/agents/browserService.d.ts +50 -0
- package/lib/loop/plugins/agents/browserService.js +233 -0
- package/lib/loop/plugins/agents/index.d.ts +13 -0
- package/lib/loop/plugins/agents/index.js +17 -0
- package/lib/loop/plugins/agents/plugin.d.ts +91 -0
- package/lib/loop/plugins/agents/plugin.js +201 -0
- package/lib/loop/plugins/agents/service.d.ts +99 -0
- package/lib/loop/plugins/agents/service.js +167 -0
- package/lib/loop/plugins/agents/specSubagents.d.ts +18 -0
- package/lib/loop/plugins/agents/specSubagents.js +33 -0
- package/lib/loop/plugins/agents/switchable.d.ts +107 -0
- package/lib/loop/plugins/agents/switchable.js +405 -0
- package/lib/loop/plugins/agents/team.d.ts +87 -0
- package/lib/loop/plugins/agents/team.js +143 -0
- package/lib/loop/plugins/agents/useSandboxService.d.ts +11 -0
- package/lib/loop/plugins/agents/useSandboxService.js +36 -0
- package/lib/loop/plugins/agents/useTeamSelection.d.ts +10 -0
- package/lib/loop/plugins/agents/useTeamSelection.js +27 -0
- package/lib/loop/plugins/agentspecs/AgentspecPicker.d.ts +15 -0
- package/lib/loop/plugins/agentspecs/AgentspecPicker.js +90 -0
- package/lib/loop/plugins/agentspecs/index.d.ts +6 -0
- package/lib/loop/plugins/agentspecs/index.js +63 -0
- package/lib/loop/plugins/chat/ChatView.d.ts +20 -0
- package/lib/loop/plugins/chat/ChatView.js +1670 -0
- package/lib/loop/plugins/chat/chatViewTools.d.ts +41 -0
- package/lib/loop/plugins/chat/chatViewTools.js +92 -0
- package/lib/loop/plugins/chat/index.d.ts +111 -0
- package/lib/loop/plugins/chat/index.js +143 -0
- package/lib/loop/plugins/chat/turnState.d.ts +41 -0
- package/lib/loop/plugins/chat/turnState.js +90 -0
- package/lib/loop/plugins/chat-extras/index.d.ts +14 -0
- package/lib/loop/plugins/chat-extras/index.js +51 -0
- package/lib/loop/plugins/chat-header/HeaderView.d.ts +13 -0
- package/lib/loop/plugins/chat-header/HeaderView.js +6 -0
- package/lib/loop/plugins/chat-header/index.d.ts +3 -0
- package/lib/loop/plugins/chat-header/index.js +21 -0
- package/lib/loop/plugins/chat-view/index.d.ts +10 -0
- package/lib/loop/plugins/chat-view/index.js +29 -0
- package/lib/loop/plugins/checkpoints-sidebar/CheckpointsSidebar.d.ts +27 -0
- package/lib/loop/plugins/checkpoints-sidebar/CheckpointsSidebar.js +174 -0
- package/lib/loop/plugins/checkpoints-sidebar/index.d.ts +5 -0
- package/lib/loop/plugins/checkpoints-sidebar/index.js +39 -0
- package/lib/loop/plugins/commands/index.d.ts +20 -0
- package/lib/loop/plugins/commands/index.js +148 -0
- package/lib/loop/plugins/decks/DeckSurface.d.ts +10 -0
- package/lib/loop/plugins/decks/DeckSurface.js +6 -0
- package/lib/loop/plugins/decks/DecksMenu.d.ts +11 -0
- package/lib/loop/plugins/decks/DecksMenu.js +42 -0
- package/lib/loop/plugins/decks/index.d.ts +19 -0
- package/lib/loop/plugins/decks/index.js +133 -0
- package/lib/loop/plugins/decks/surface.d.ts +7 -0
- package/lib/loop/plugins/decks/surface.js +11 -0
- package/lib/loop/plugins/document/DocumentView.d.ts +12 -0
- package/lib/loop/plugins/document/DocumentView.js +68 -0
- package/lib/loop/plugins/document/index.d.ts +3 -0
- package/lib/loop/plugins/document/index.js +86 -0
- package/lib/loop/plugins/document/openingDocument.d.ts +28 -0
- package/lib/loop/plugins/document/openingDocument.js +122 -0
- package/lib/loop/plugins/document-toolbar/SandboxStatusItem.d.ts +16 -0
- package/lib/loop/plugins/document-toolbar/SandboxStatusItem.js +31 -0
- package/lib/loop/plugins/document-toolbar/index.d.ts +4 -0
- package/lib/loop/plugins/document-toolbar/index.js +35 -0
- package/lib/loop/plugins/document-toolbar/names.d.ts +6 -0
- package/lib/loop/plugins/document-toolbar/names.js +10 -0
- package/lib/loop/plugins/document-toolbar/plugin.d.ts +2 -0
- package/lib/loop/plugins/document-toolbar/plugin.js +38 -0
- package/lib/loop/plugins/document-view/index.d.ts +10 -0
- package/lib/loop/plugins/document-view/index.js +28 -0
- package/lib/loop/plugins/graph/GraphToggle.d.ts +17 -0
- package/lib/loop/plugins/graph/GraphToggle.js +22 -0
- package/lib/loop/plugins/graph/GraphView.d.ts +16 -0
- package/lib/loop/plugins/graph/GraphView.js +6 -0
- package/lib/loop/plugins/graph/index.d.ts +5 -0
- package/lib/loop/plugins/graph/index.js +80 -0
- package/lib/loop/plugins/graph/viewType.d.ts +10 -0
- package/lib/loop/plugins/graph/viewType.js +14 -0
- package/lib/loop/plugins/input-prompt/ComposerView.d.ts +15 -0
- package/lib/loop/plugins/input-prompt/ComposerView.js +25 -0
- package/lib/loop/plugins/input-prompt/index.d.ts +25 -0
- package/lib/loop/plugins/input-prompt/index.js +26 -0
- package/lib/loop/plugins/models/index.d.ts +3 -0
- package/lib/loop/plugins/models/index.js +49 -0
- package/lib/loop/plugins/notebook/NotebookView.d.ts +9 -0
- package/lib/loop/plugins/notebook/NotebookView.js +189 -0
- package/lib/loop/plugins/notebook/index.d.ts +3 -0
- package/lib/loop/plugins/notebook/index.js +91 -0
- package/lib/loop/plugins/notebook/openingNotebook.d.ts +72 -0
- package/lib/loop/plugins/notebook/openingNotebook.js +90 -0
- package/lib/loop/plugins/notebook-toolbar/index.d.ts +4 -0
- package/lib/loop/plugins/notebook-toolbar/index.js +45 -0
- package/lib/loop/plugins/notebook-toolbar/items.d.ts +10 -0
- package/lib/loop/plugins/notebook-toolbar/items.js +45 -0
- package/lib/loop/plugins/notebook-toolbar/names.d.ts +9 -0
- package/lib/loop/plugins/notebook-toolbar/names.js +13 -0
- package/lib/loop/plugins/notebook-toolbar/plugin.d.ts +2 -0
- package/lib/loop/plugins/notebook-toolbar/plugin.js +24 -0
- package/lib/loop/plugins/notebook-view/index.d.ts +10 -0
- package/lib/loop/plugins/notebook-view/index.js +30 -0
- package/lib/loop/plugins/page-layout/TurnPanel.d.ts +25 -0
- package/lib/loop/plugins/page-layout/TurnPanel.js +126 -0
- package/lib/loop/plugins/page-layout/index.d.ts +35 -0
- package/lib/loop/plugins/page-layout/index.js +80 -0
- package/lib/loop/plugins/plugins-panel/index.d.ts +14 -0
- package/lib/loop/plugins/plugins-panel/index.js +74 -0
- package/lib/loop/plugins/prompt/NewChatAction.d.ts +19 -0
- package/lib/loop/plugins/prompt/NewChatAction.js +10 -0
- package/lib/loop/plugins/prompt/index.d.ts +11 -0
- package/lib/loop/plugins/prompt/index.js +73 -0
- package/lib/loop/plugins/shell/editorChoice.d.ts +31 -0
- package/lib/loop/plugins/shell/editorChoice.js +58 -0
- package/lib/loop/plugins/shell/index.d.ts +47 -0
- package/lib/loop/plugins/shell/index.js +142 -0
- package/lib/loop/plugins/shell/useEditorPreviews.d.ts +32 -0
- package/lib/loop/plugins/shell/useEditorPreviews.js +217 -0
- package/lib/loop/plugins/subagent-activity/SubagentPulse.d.ts +16 -0
- package/lib/loop/plugins/subagent-activity/SubagentPulse.js +45 -0
- package/lib/loop/plugins/subagent-activity/index.d.ts +12 -0
- package/lib/loop/plugins/subagent-activity/index.js +42 -0
- package/lib/loop/plugins/view-switch/index.d.ts +46 -0
- package/lib/loop/plugins/view-switch/index.js +68 -0
- package/lib/loop/plugins/window-frame/WindowFrame.d.ts +48 -0
- package/lib/loop/plugins/window-frame/WindowFrame.js +63 -0
- package/lib/loop/plugins/window-frame/index.d.ts +6 -0
- package/lib/loop/plugins/window-frame/index.js +79 -0
- package/lib/loop/plugins/window-frame/slots.d.ts +26 -0
- package/lib/loop/plugins/window-frame/slots.js +30 -0
- package/lib/loop/presets.d.ts +167 -0
- package/lib/loop/presets.js +139 -0
- package/lib/loop/shell/LoopWorkspace.d.ts +109 -0
- package/lib/loop/shell/LoopWorkspace.js +231 -0
- package/lib/loop/shell/PluginToggles.d.ts +21 -0
- package/lib/loop/shell/PluginToggles.js +41 -0
- package/lib/loop/shell/ViewSwitcher.d.ts +24 -0
- package/lib/loop/shell/ViewSwitcher.js +43 -0
- package/lib/loop/shell/WorkspaceFullScreenAction.d.ts +25 -0
- package/lib/loop/shell/WorkspaceFullScreenAction.js +24 -0
- package/lib/loop/shell/index.d.ts +10 -0
- package/lib/loop/shell/index.js +14 -0
- package/lib/loop/shell/useWorkspaceFullScreen.d.ts +93 -0
- package/lib/loop/shell/useWorkspaceFullScreen.js +167 -0
- package/lib/loop-example-main.d.ts +1 -0
- package/lib/loop-example-main.js +42 -0
- package/lib/loop-main.d.ts +1 -0
- package/lib/loop-main.js +138 -0
- package/lib/mcp/McpServerManager.d.ts +1 -1
- package/lib/models/CodeSandboxSnapshotDTO.d.ts +1 -1
- package/lib/models/CodeSandboxVariant.d.ts +53 -0
- package/lib/models/CodeSandboxVariant.js +77 -0
- package/lib/models/Content.d.ts +26 -0
- package/lib/models/Environment.d.ts +561 -5
- package/lib/models/Environment.js +12 -1
- package/lib/models/EnvironmentDTO.d.ts +24 -6
- package/lib/models/EnvironmentDTO.js +13 -2
- package/lib/models/Exercise.d.ts +0 -2
- package/lib/models/Library.d.ts +0 -2
- package/lib/models/Notebook.d.ts +0 -2
- package/lib/models/ProjectDTO.d.ts +2 -2
- package/lib/models/ProjectDTO.js +4 -4
- package/lib/models/Runtime.d.ts +11 -11
- package/lib/models/RuntimeDTO.d.ts +16 -7
- package/lib/models/RuntimeDTO.js +9 -9
- package/lib/models/Space.d.ts +10 -0
- package/lib/models/Space.js +1 -1
- package/lib/models/SpaceDTO.d.ts +1 -1
- package/lib/models/SpaceItem.d.ts +1 -2
- package/lib/models/environments.generated.d.ts +113 -0
- package/lib/models/environments.generated.js +13 -0
- package/lib/models/index.d.ts +1 -1
- package/lib/models/index.js +1 -1
- package/lib/protocols/A2AAdapter.d.ts +39 -6
- package/lib/protocols/A2AAdapter.js +180 -11
- package/lib/protocols/ACPAdapter.js +40 -37
- package/lib/protocols/AGUIAdapter.d.ts +14 -0
- package/lib/protocols/AGUIAdapter.js +34 -9
- package/lib/protocols/BrowserAgentAdapter.d.ts +117 -0
- package/lib/protocols/BrowserAgentAdapter.js +310 -0
- package/lib/protocols/VercelAIAdapter.d.ts +10 -0
- package/lib/protocols/VercelAIAdapter.js +27 -7
- package/lib/protocols/index.d.ts +1 -0
- package/lib/protocols/index.js +1 -0
- package/lib/runtimes/actions.d.ts +3 -3
- package/lib/runtimes/actions.js +41 -16
- package/lib/runtimes/apis.d.ts +13 -4
- package/lib/runtimes/browser/agent.d.ts +54 -0
- package/lib/runtimes/browser/agent.js +63 -0
- package/lib/runtimes/browser/anonymousToken.d.ts +121 -0
- package/lib/runtimes/browser/anonymousToken.js +300 -0
- package/lib/runtimes/browser/frontendTools.d.ts +61 -0
- package/lib/runtimes/browser/frontendTools.js +152 -0
- package/lib/runtimes/browser/index.d.ts +11 -0
- package/lib/runtimes/browser/index.js +20 -0
- package/lib/runtimes/browser/model.d.ts +52 -0
- package/lib/runtimes/browser/model.js +110 -0
- package/lib/runtimes/browser/protocol.d.ts +54 -0
- package/lib/runtimes/browser/protocol.js +35 -0
- package/lib/runtimes/browser/subagents.d.ts +131 -0
- package/lib/runtimes/browser/subagents.js +241 -0
- package/lib/runtimes/index.d.ts +3 -0
- package/lib/runtimes/index.js +3 -0
- package/lib/runtimes/lifecycle.d.ts +76 -0
- package/lib/runtimes/lifecycle.js +99 -0
- package/lib/runtimes/variants.d.ts +172 -0
- package/lib/runtimes/variants.js +187 -0
- package/lib/services/reconnectToRuntime.d.ts +2 -2
- package/lib/services/reconnectToRuntime.js +3 -3
- package/lib/services/sandboxServiceManagers.d.ts +2 -2
- package/lib/services/sandboxServiceManagers.js +11 -11
- package/lib/specs/agents/agents.d.ts +128 -112
- package/lib/specs/agents/agents.js +8024 -5052
- package/lib/specs/envvars.d.ts +1 -1
- package/lib/specs/envvars.js +3 -3
- package/lib/specs/evals.js +9 -0
- package/lib/specs/frontendTools.d.ts +3 -0
- package/lib/specs/frontendTools.js +46 -3
- package/lib/specs/mcpServers.d.ts +1 -0
- package/lib/specs/mcpServers.js +27 -4
- package/lib/specs/models.d.ts +18 -0
- package/lib/specs/models.js +154 -0
- package/lib/specs/outputs.d.ts +2 -0
- package/lib/specs/outputs.js +22 -0
- package/lib/specs/personas.js +1 -1
- package/lib/specs/teams/teams.d.ts +2 -0
- package/lib/specs/teams/teams.js +628 -111
- package/lib/state/index.d.ts +1 -1
- package/lib/state/index.js +1 -1
- package/lib/state/substates/RuntimesState.d.ts +5 -5
- package/lib/state/substates/RuntimesState.js +17 -14
- package/lib/state/substates/index.d.ts +1 -1
- package/lib/state/substates/index.js +1 -1
- package/lib/stores/agentRuntimeStore.d.ts +43 -1
- package/lib/stores/agentRuntimeStore.js +100 -11
- package/lib/stores/index.d.ts +1 -1
- package/lib/stores/index.js +1 -1
- package/lib/stories/Button.d.ts +1 -1
- package/lib/stories/Button.stories.d.ts +1 -1
- package/lib/stories/Header.d.ts +1 -1
- package/lib/stories/Header.stories.d.ts +1 -1
- package/lib/test-setup.js +66 -0
- package/lib/tools/adapters/agent-runtimes/lexicalHooks.d.ts +15 -0
- package/lib/tools/adapters/agent-runtimes/lexicalHooks.js +43 -2
- package/lib/tools/adapters/agent-runtimes/notebookHooks.d.ts +9 -0
- package/lib/tools/adapters/agent-runtimes/notebookHooks.js +12 -0
- package/lib/tools/adapters/commands/frontendCommandTools.d.ts +11 -0
- package/lib/tools/adapters/commands/frontendCommandTools.js +60 -0
- package/lib/tools/adapters/commands/index.d.ts +1 -0
- package/lib/{models/Dataset.js → tools/adapters/commands/index.js} +1 -1
- package/lib/tools/adapters/copilotkit/lexicalHooks.js +7 -3
- package/lib/tools/index.d.ts +1 -0
- package/lib/tools/index.js +1 -0
- package/lib/types/a2a.d.ts +15 -1
- package/lib/types/agents-lifecycle.d.ts +11 -6
- package/lib/types/agents.d.ts +31 -6
- package/lib/types/agentspecs.d.ts +120 -4
- package/lib/types/chat.d.ts +251 -3
- package/lib/types/checkpoints.d.ts +20 -0
- package/lib/types/config.d.ts +13 -1
- package/lib/types/connection.d.ts +1 -1
- package/lib/types/evals.d.ts +2 -0
- package/lib/types/messages.d.ts +60 -0
- package/lib/types/models.d.ts +26 -0
- package/lib/types/notifications.d.ts +15 -6
- package/lib/types/protocol.d.ts +7 -2
- package/lib/types/stream.d.ts +48 -3
- package/lib/types/stream.js +5 -0
- package/lib/types/teams.d.ts +102 -4
- package/lib/types/tool-approvals.d.ts +1 -1
- package/lib/types/tools.d.ts +8 -2
- package/lib/utils/utils.js +7 -1
- package/package.json +376 -361
- package/scripts/codegen/__pycache__/compose.cpython-313.pyc +0 -0
- package/scripts/codegen/__pycache__/versioning.cpython-313.pyc +0 -0
- package/scripts/codegen/compose.py +208 -0
- package/scripts/codegen/generate_agents.py +202 -31
- package/scripts/codegen/generate_evals.py +2 -0
- package/scripts/codegen/generate_frontend_tools.py +35 -6
- package/scripts/codegen/generate_models.py +40 -15
- package/scripts/codegen/generate_sandbox_agents.py +76 -62
- package/scripts/codegen/generate_teams.py +178 -4
- package/scripts/codegen/generate_tools.py +6 -4
- package/scripts/gen_workers.py +279 -111
- package/scripts/generate-environments-types.py +404 -0
- package/lib/chat/prompt/InputFooter.d.ts +0 -58
- package/lib/chat/prompt/InputFooter.js +0 -194
- package/lib/chat/prompt/InputPromptFooter.d.ts +0 -27
- package/lib/chat/prompt/InputPromptFooter.js +0 -15
- package/lib/chat/prompt/InputPromptHeader.d.ts +0 -15
- package/lib/chat/prompt/InputPromptHeader.js +0 -15
- package/lib/chat/usage/TokenUsageBar.d.ts +0 -8
- package/lib/hooks/useRuntimes.d.ts +0 -5
- package/lib/hooks/useRuntimes.js +0 -34
- package/lib/jupyter/kernelsHandler.d.ts +0 -8
- package/lib/jupyter/kernelsHandler.js +0 -39
- package/lib/models/Dataset.d.ts +0 -16
- package/lib/utils/Cells.d.ts +0 -2
- package/lib/utils/Cells.js +0 -28
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
3
|
+
import { Box, Text } from '@primer/react';
|
|
4
|
+
import { basicCatalog, } from '@a2ui/react/v0_9';
|
|
5
|
+
import { MessageProcessor, } from '@a2ui/web_core/v0_9';
|
|
6
|
+
import { useSignalValue } from '@datalayer/reactor/react';
|
|
7
|
+
import { A2uiSurfaceComposed } from '../../../components/a2ui';
|
|
8
|
+
import { useSandboxService } from '../agents';
|
|
9
|
+
/**
|
|
10
|
+
* A2UI's basic catalog draws from inherited `--a2ui-*` custom properties, so a
|
|
11
|
+
* surface follows the workspace's theme by inheriting rather than by being
|
|
12
|
+
* told — which is what keeps a generated surface from being the one light card
|
|
13
|
+
* in a dark workspace (§3.6).
|
|
14
|
+
*/
|
|
15
|
+
const INHERIT_THEME = {
|
|
16
|
+
['--a2ui-color-surface']: 'var(--bgColor-muted)',
|
|
17
|
+
['--a2ui-color-on-surface']: 'var(--fgColor-default)',
|
|
18
|
+
['--a2ui-color-primary']: 'var(--fgColor-accent)',
|
|
19
|
+
['--a2ui-color-outline']: 'var(--borderColor-default)',
|
|
20
|
+
};
|
|
21
|
+
export default function A2uiView({ workspace }) {
|
|
22
|
+
const service = useSandboxService();
|
|
23
|
+
const lastExecution = useSignalValue(service.lastExecution);
|
|
24
|
+
const [surfaces, setSurfaces] = useState([]);
|
|
25
|
+
const [error, setError] = useState(null);
|
|
26
|
+
// The code that produced what is on screen, so an action can re-run *it*
|
|
27
|
+
// rather than whatever the sandbox happened to execute last.
|
|
28
|
+
const sourceRef = useRef('');
|
|
29
|
+
const renderRef = useRef(null);
|
|
30
|
+
const processor = useMemo(() => new MessageProcessor([basicCatalog], action => {
|
|
31
|
+
// The round-trip: what the reader did goes back to the code that drew
|
|
32
|
+
// the surface, and the surface it returns replaces this one. Without
|
|
33
|
+
// this a surface is a screenshot with buttons on it.
|
|
34
|
+
void renderRef.current?.(sourceRef.current, action);
|
|
35
|
+
}), []);
|
|
36
|
+
useEffect(() => {
|
|
37
|
+
const created = processor.onSurfaceCreated(surface => setSurfaces(previous => [...previous, surface]));
|
|
38
|
+
const deleted = processor.onSurfaceDeleted(id => setSurfaces(previous => previous.filter(surface => surface.id !== id)));
|
|
39
|
+
return () => {
|
|
40
|
+
created.unsubscribe();
|
|
41
|
+
deleted.unsubscribe();
|
|
42
|
+
};
|
|
43
|
+
}, [processor]);
|
|
44
|
+
const render = useCallback(async (code, action) => {
|
|
45
|
+
setError(null);
|
|
46
|
+
sourceRef.current = code;
|
|
47
|
+
try {
|
|
48
|
+
const response = await fetch(`${workspace.serverUrl}/api/v1/sandbox/execute/a2ui`, {
|
|
49
|
+
method: 'POST',
|
|
50
|
+
headers: { 'content-type': 'application/json' },
|
|
51
|
+
body: JSON.stringify({ code, action: action ?? null }),
|
|
52
|
+
});
|
|
53
|
+
if (!response.ok) {
|
|
54
|
+
setError(`The server could not render that execution (${response.status}).`);
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
const payload = await response.json();
|
|
58
|
+
// Replace rather than stack: a filtered view is the same surface with
|
|
59
|
+
// different data, not a second one below the first.
|
|
60
|
+
setSurfaces([]);
|
|
61
|
+
processor.processMessages((payload.messages ?? []));
|
|
62
|
+
}
|
|
63
|
+
catch (failure) {
|
|
64
|
+
setError(failure instanceof Error ? failure.message : String(failure));
|
|
65
|
+
}
|
|
66
|
+
}, [processor, workspace.serverUrl]);
|
|
67
|
+
// Published for the processor's action callback, which is built once and
|
|
68
|
+
// cannot close over a `render` that changes with the server URL.
|
|
69
|
+
useEffect(() => {
|
|
70
|
+
renderRef.current = render;
|
|
71
|
+
}, [render]);
|
|
72
|
+
// Re-render whenever the sandbox runs something new.
|
|
73
|
+
useEffect(() => {
|
|
74
|
+
if (lastExecution?.code) {
|
|
75
|
+
void render(lastExecution.code);
|
|
76
|
+
}
|
|
77
|
+
}, [lastExecution, render]);
|
|
78
|
+
if (error) {
|
|
79
|
+
return (_jsx(Centered, { children: _jsx(Text, { sx: { color: 'danger.fg' }, children: error }) }));
|
|
80
|
+
}
|
|
81
|
+
if (surfaces.length === 0) {
|
|
82
|
+
return (_jsx(Centered, { children: _jsx(Text, { children: "Nothing has run yet. Ask for something that executes code and the result appears here as a surface rather than as output." }) }));
|
|
83
|
+
}
|
|
84
|
+
return (_jsx(Box, { sx: { height: '100%', overflowY: 'auto', px: 4, py: 3 }, style: INHERIT_THEME, children: surfaces.map(surface => (_jsx(A2uiSurfaceComposed, { surface: surface }, surface.id))) }));
|
|
85
|
+
}
|
|
86
|
+
function Centered({ children }) {
|
|
87
|
+
return (_jsx(Box, { sx: {
|
|
88
|
+
height: '100%',
|
|
89
|
+
display: 'flex',
|
|
90
|
+
alignItems: 'center',
|
|
91
|
+
justifyContent: 'center',
|
|
92
|
+
color: 'fg.muted',
|
|
93
|
+
fontSize: 1,
|
|
94
|
+
px: 4,
|
|
95
|
+
textAlign: 'center',
|
|
96
|
+
}, children: children }));
|
|
97
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* `@datalayer/loop-plugin-a2ui` — a prompt runs code, and the result is a UI.
|
|
7
|
+
*
|
|
8
|
+
* @module loop/plugins/a2ui
|
|
9
|
+
*/
|
|
10
|
+
import { BrowserIcon } from '@primer/octicons-react';
|
|
11
|
+
import { contribution, definePlugin } from '@datalayer/reactor';
|
|
12
|
+
import { LoopCommand, LoopViewType } from '../../core';
|
|
13
|
+
import { AgentsPlugin } from '../agents';
|
|
14
|
+
export const A2UI_PLUGIN_NAME = '@datalayer/loop-plugin-a2ui';
|
|
15
|
+
export const A2uiPlugin = definePlugin({
|
|
16
|
+
name: A2UI_PLUGIN_NAME,
|
|
17
|
+
displayName: 'A2UI surfaces',
|
|
18
|
+
description: 'The last execution, rendered as a surface rather than dumped.',
|
|
19
|
+
octicon: 'browser',
|
|
20
|
+
emoji: '\u{1F5BC}',
|
|
21
|
+
dependencies: [AgentsPlugin],
|
|
22
|
+
contributes: [
|
|
23
|
+
contribution(LoopViewType, {
|
|
24
|
+
viewType: 'a2ui',
|
|
25
|
+
title: 'Surface',
|
|
26
|
+
icon: BrowserIcon,
|
|
27
|
+
order: 30,
|
|
28
|
+
canOpen: workspace => workspace.sandbox.state === 'running' &&
|
|
29
|
+
// The converter that turns an execution into a surface lives on the
|
|
30
|
+
// server (D20), so a browser sandbox has nothing to render with.
|
|
31
|
+
// Saying so is better than an empty panel.
|
|
32
|
+
workspace.sandbox.variant !== 'pyodide',
|
|
33
|
+
unavailableReason: workspace => workspace.sandbox.variant === 'pyodide'
|
|
34
|
+
? 'Surfaces are rendered by the server; this sandbox runs in the browser'
|
|
35
|
+
: 'Needs a running sandbox',
|
|
36
|
+
load: () => import('./A2uiView'),
|
|
37
|
+
}, { id: 'a2ui', order: 30 }),
|
|
38
|
+
contribution(LoopCommand, {
|
|
39
|
+
name: 'a2ui',
|
|
40
|
+
aliases: ['surface'],
|
|
41
|
+
description: 'Show the last execution as a rendered surface',
|
|
42
|
+
group: 'Open',
|
|
43
|
+
keybinding: 'Mod+Alt+U',
|
|
44
|
+
run: async ({ workspace }) => {
|
|
45
|
+
workspace.setActiveViewType('a2ui');
|
|
46
|
+
},
|
|
47
|
+
}, { id: 'a2ui' }),
|
|
48
|
+
],
|
|
49
|
+
});
|
|
50
|
+
export default A2uiPlugin;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The mould the A2UI scene plugins are cast from.
|
|
3
|
+
*
|
|
4
|
+
* A scene — the contact card, the restaurant menu, the components gallery —
|
|
5
|
+
* is a canned set of A2UI protocol messages rendered as a surface, no agent
|
|
6
|
+
* behind it. The capacity, factored once here, is *showing such a scene as
|
|
7
|
+
* a workspace view*: the plugin contributes one `LoopViewType` entry whose
|
|
8
|
+
* component loads lazily, ordered ahead of the chat so the workspace opens
|
|
9
|
+
* on the scene with the conversation one tab away.
|
|
10
|
+
*
|
|
11
|
+
* The scene component itself stays with whoever owns the scene (the
|
|
12
|
+
* examples own theirs); this module owns only the casting.
|
|
13
|
+
*
|
|
14
|
+
* @module loop/plugins/a2ui-scene
|
|
15
|
+
*/
|
|
16
|
+
import type { ComponentType } from 'react';
|
|
17
|
+
import { type ReactorPlugin } from '@datalayer/reactor';
|
|
18
|
+
import { type LoopViewProps } from '../../core';
|
|
19
|
+
export type A2uiSceneOptions = {
|
|
20
|
+
/** Short slug: `contact-card`, … names the plugin `…-a2ui-scene-<key>`. */
|
|
21
|
+
key: string;
|
|
22
|
+
title: string;
|
|
23
|
+
description: string;
|
|
24
|
+
/** Registry icon name. */
|
|
25
|
+
octicon?: string;
|
|
26
|
+
emoji?: string;
|
|
27
|
+
icon?: ComponentType<{
|
|
28
|
+
size?: number;
|
|
29
|
+
}>;
|
|
30
|
+
/** The scene view, loaded when first shown. */
|
|
31
|
+
load: () => Promise<{
|
|
32
|
+
default: ComponentType<LoopViewProps>;
|
|
33
|
+
}>;
|
|
34
|
+
};
|
|
35
|
+
export declare function defineA2uiScenePlugin(options: A2uiSceneOptions): ReactorPlugin<Record<string, never>, unknown, unknown>;
|
|
36
|
+
export default defineA2uiScenePlugin;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
import { contribution, definePlugin, } from '@datalayer/reactor';
|
|
6
|
+
import { LoopViewType } from '../../core';
|
|
7
|
+
export function defineA2uiScenePlugin(options) {
|
|
8
|
+
const { key, title, description, icon, load } = options;
|
|
9
|
+
return definePlugin({
|
|
10
|
+
name: `@datalayer/loop-plugin-a2ui-scene-${key}`,
|
|
11
|
+
displayName: title,
|
|
12
|
+
description,
|
|
13
|
+
octicon: options.octicon ?? 'browser',
|
|
14
|
+
emoji: options.emoji,
|
|
15
|
+
contributes: [
|
|
16
|
+
contribution(LoopViewType, {
|
|
17
|
+
viewType: `a2ui-scene-${key}`,
|
|
18
|
+
title,
|
|
19
|
+
icon,
|
|
20
|
+
// Ahead of the chat (order 0): the scene is what this workspace
|
|
21
|
+
// exists to show, and the conversation stands one tab away.
|
|
22
|
+
order: -10,
|
|
23
|
+
load,
|
|
24
|
+
}, { id: `a2ui-scene-${key}`, order: -10 }),
|
|
25
|
+
],
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
export default defineA2uiScenePlugin;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* `@datalayer/loop-plugin-agent-a2a` — the capacity, as a plugin.
|
|
7
|
+
*
|
|
8
|
+
* Mounts the `example-a2a` agent: an orchestrator whose researcher and writer
|
|
9
|
+
* are separate agents reached over the A2A protocol, launched beside it on
|
|
10
|
+
* the local server or on Datalayer runtimes when it runs in the cloud. Cast
|
|
11
|
+
* from the shared capacity mould; see `loop/plugins/agent-capacity`. The
|
|
12
|
+
* openers are the spec's own: one list, kept where the agent is described.
|
|
13
|
+
*
|
|
14
|
+
* @module loop/plugins/agent-a2a
|
|
15
|
+
*/
|
|
16
|
+
import { defineAgentCapacityPlugin } from '../agent-capacity';
|
|
17
|
+
export const AGENT_A2A_PLUGIN_NAME = '@datalayer/loop-plugin-agent-a2a';
|
|
18
|
+
export const AgentA2APlugin = defineAgentCapacityPlugin({
|
|
19
|
+
key: 'a2a',
|
|
20
|
+
displayName: 'Agent A2A',
|
|
21
|
+
description: 'Delegation to separate agents over the A2A protocol',
|
|
22
|
+
specId: 'example-a2a',
|
|
23
|
+
octicon: 'broadcast',
|
|
24
|
+
emoji: '📡',
|
|
25
|
+
});
|
|
26
|
+
export default AgentA2APlugin;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* `@datalayer/loop-plugin-agent-a2ui` — generated surfaces, as a capacity.
|
|
7
|
+
*
|
|
8
|
+
* Mounts the `example-a2ui-agent` agent: ask for a form or a configurator
|
|
9
|
+
* and the answer arrives as an interactive A2UI surface, rendered in the
|
|
10
|
+
* workspace's a2ui view. Cast from the shared capacity mould.
|
|
11
|
+
*
|
|
12
|
+
* @module loop/plugins/agent-a2ui
|
|
13
|
+
*/
|
|
14
|
+
import { defineAgentCapacityPlugin } from '../agent-capacity';
|
|
15
|
+
export const AGENT_A2UI_PLUGIN_NAME = '@datalayer/loop-plugin-agent-a2ui';
|
|
16
|
+
export const AgentA2uiPlugin = defineAgentCapacityPlugin({
|
|
17
|
+
key: 'a2ui',
|
|
18
|
+
displayName: 'Agent A2UI',
|
|
19
|
+
description: 'Generate interactive A2UI surfaces from plain requests.',
|
|
20
|
+
specId: 'example-a2ui-agent',
|
|
21
|
+
octicon: 'browser',
|
|
22
|
+
emoji: '🪟',
|
|
23
|
+
suggestions: [
|
|
24
|
+
{
|
|
25
|
+
text: 'Support ticket intake',
|
|
26
|
+
message: 'Build a support ticket intake form with category, priority and a description.',
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
text: 'Trip booking',
|
|
30
|
+
message: 'Create a trip booking form with destination, dates, travelers and budget.',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
text: 'Feedback survey',
|
|
34
|
+
message: 'Generate a customer feedback survey with a rating slider and comments.',
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
text: 'Product configurator',
|
|
38
|
+
message: 'Make a product configurator for a laptop with CPU, RAM and add-ons.',
|
|
39
|
+
},
|
|
40
|
+
],
|
|
41
|
+
});
|
|
42
|
+
export default AgentA2uiPlugin;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export declare const AGENT_A2UI_JUPYTER_OUTPUT_PLUGIN_NAME = "@datalayer/loop-plugin-agent-a2ui-jupyter-output";
|
|
2
|
+
export declare const AgentA2uiJupyterOutputPlugin: import("@datalayer/reactor").ReactorPlugin<Record<string, never>, unknown, unknown>;
|
|
3
|
+
export default AgentA2uiJupyterOutputPlugin;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* `@datalayer/loop-plugin-agent-a2ui-jupyter-output` — Jupyter outputs on
|
|
7
|
+
* A2UI surfaces, as a capacity.
|
|
8
|
+
*
|
|
9
|
+
* Mounts the `example-a2ui-jupyter-output` agent: each demonstration runs
|
|
10
|
+
* real code in the sandbox and lands its kernel outputs — streams, figures,
|
|
11
|
+
* tables, tracebacks, widgets — on the conversation. On the browser target
|
|
12
|
+
* the loop turns in the page and the blueprint is inert; on Local the same
|
|
13
|
+
* plugin creates the agent server-side.
|
|
14
|
+
*
|
|
15
|
+
* @module loop/plugins/agent-a2ui-jupyter-output
|
|
16
|
+
*/
|
|
17
|
+
import { defineAgentCapacityPlugin } from '../agent-capacity';
|
|
18
|
+
export const AGENT_A2UI_JUPYTER_OUTPUT_PLUGIN_NAME = '@datalayer/loop-plugin-agent-a2ui-jupyter-output';
|
|
19
|
+
export const AgentA2uiJupyterOutputPlugin = defineAgentCapacityPlugin({
|
|
20
|
+
key: 'a2ui-jupyter-output',
|
|
21
|
+
displayName: 'Agent A2UI Jupyter Output',
|
|
22
|
+
description: 'Kernel outputs — streams, figures, tables, errors, widgets — rendered as surfaces.',
|
|
23
|
+
specId: 'example-a2ui-jupyter-output',
|
|
24
|
+
octicon: 'log',
|
|
25
|
+
emoji: '📓',
|
|
26
|
+
suggestions: [
|
|
27
|
+
{
|
|
28
|
+
text: 'Stream output',
|
|
29
|
+
message: 'Run something in the code sandbox that prints as it goes.',
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
text: 'Figure output',
|
|
33
|
+
message: 'Plot a chart in the code sandbox and show me the image.',
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
text: 'Table output',
|
|
37
|
+
message: 'Build a small DataFrame in the code sandbox and show it as a table.',
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
text: 'Error output',
|
|
41
|
+
message: 'Run something in the code sandbox that fails, so I can see the traceback.',
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
text: 'IPyWidgets output',
|
|
45
|
+
message: 'Show me an interactive slider from the code sandbox.',
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
text: 'Interactive output',
|
|
49
|
+
message: 'Give me a surface with buttons I can press.',
|
|
50
|
+
},
|
|
51
|
+
],
|
|
52
|
+
});
|
|
53
|
+
export default AgentA2uiJupyterOutputPlugin;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The mould the agent-capacity plugins are cast from.
|
|
3
|
+
*
|
|
4
|
+
* A capacity — codemode, hooks, guardrails, memory — is, from the
|
|
5
|
+
* workspace's side, always the same two statements: *which agent* answers
|
|
6
|
+
* (an agentspec id and the create-payload details its server needs) and
|
|
7
|
+
* *what it is worth asking* (the openers on the empty chat). This factory
|
|
8
|
+
* turns those statements into a reactor plugin: an `LoopAgentBlueprint`
|
|
9
|
+
* contribution the agents plugin reads when its Local target creates the
|
|
10
|
+
* agent, and an optional `LoopChatSuggestion` contribution the chat shows
|
|
11
|
+
* ahead of the spec's own.
|
|
12
|
+
*
|
|
13
|
+
* One folder per capacity under `loop/plugins/agent-*`, each a few lines of
|
|
14
|
+
* facts handed to this mould — the way every example used to carry the same
|
|
15
|
+
* facts as props into its own private `<Chat>`.
|
|
16
|
+
*
|
|
17
|
+
* @module loop/plugins/agent-capacity
|
|
18
|
+
*/
|
|
19
|
+
import { type ReactorPlugin } from '@datalayer/reactor';
|
|
20
|
+
import { type ChatSuggestionItem } from '../../core';
|
|
21
|
+
export type AgentCapacityOptions = {
|
|
22
|
+
/** Short slug: `hooks`, `codemode`, … names the plugin `…-agent-<key>`. */
|
|
23
|
+
key: string;
|
|
24
|
+
displayName: string;
|
|
25
|
+
description: string;
|
|
26
|
+
/** The agentspec the Local agent is created from. */
|
|
27
|
+
specId: string;
|
|
28
|
+
/** Registry icon; a sensible default is used when absent. */
|
|
29
|
+
octicon?: string;
|
|
30
|
+
emoji?: string;
|
|
31
|
+
/** Whether the agent runs its tools through codemode. */
|
|
32
|
+
codemode?: boolean;
|
|
33
|
+
/** Extra fields merged into the server's create-agent payload. */
|
|
34
|
+
createPayload?: Record<string, unknown>;
|
|
35
|
+
/** The openers the empty chat offers for this capacity. */
|
|
36
|
+
suggestions?: ChatSuggestionItem[];
|
|
37
|
+
};
|
|
38
|
+
export declare function defineAgentCapacityPlugin(options: AgentCapacityOptions): ReactorPlugin<Record<string, never>, unknown, unknown>;
|
|
39
|
+
export default defineAgentCapacityPlugin;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* The mould the agent-capacity plugins are cast from.
|
|
7
|
+
*
|
|
8
|
+
* A capacity — codemode, hooks, guardrails, memory — is, from the
|
|
9
|
+
* workspace's side, always the same two statements: *which agent* answers
|
|
10
|
+
* (an agentspec id and the create-payload details its server needs) and
|
|
11
|
+
* *what it is worth asking* (the openers on the empty chat). This factory
|
|
12
|
+
* turns those statements into a reactor plugin: an `LoopAgentBlueprint`
|
|
13
|
+
* contribution the agents plugin reads when its Local target creates the
|
|
14
|
+
* agent, and an optional `LoopChatSuggestion` contribution the chat shows
|
|
15
|
+
* ahead of the spec's own.
|
|
16
|
+
*
|
|
17
|
+
* One folder per capacity under `loop/plugins/agent-*`, each a few lines of
|
|
18
|
+
* facts handed to this mould — the way every example used to carry the same
|
|
19
|
+
* facts as props into its own private `<Chat>`.
|
|
20
|
+
*
|
|
21
|
+
* @module loop/plugins/agent-capacity
|
|
22
|
+
*/
|
|
23
|
+
import { contribution, definePlugin, } from '@datalayer/reactor';
|
|
24
|
+
import { LoopAgentBlueprint, LoopChatSuggestion, } from '../../core';
|
|
25
|
+
export function defineAgentCapacityPlugin(options) {
|
|
26
|
+
const { key, displayName, description, specId, octicon, emoji, codemode, createPayload, suggestions, } = options;
|
|
27
|
+
return definePlugin({
|
|
28
|
+
name: `@datalayer/loop-plugin-agent-${key}`,
|
|
29
|
+
displayName,
|
|
30
|
+
description,
|
|
31
|
+
octicon: octicon ?? 'dependabot',
|
|
32
|
+
emoji,
|
|
33
|
+
contributes: [
|
|
34
|
+
contribution(LoopAgentBlueprint, {
|
|
35
|
+
id: key,
|
|
36
|
+
specId,
|
|
37
|
+
createPayload: {
|
|
38
|
+
description,
|
|
39
|
+
agent_library: 'pydantic-ai',
|
|
40
|
+
enable_codemode: codemode ?? false,
|
|
41
|
+
...createPayload,
|
|
42
|
+
},
|
|
43
|
+
}, { id: key }),
|
|
44
|
+
...(suggestions && suggestions.length > 0
|
|
45
|
+
? [
|
|
46
|
+
contribution(LoopChatSuggestion, { id: key, suggestions }, { id: key }),
|
|
47
|
+
]
|
|
48
|
+
: []),
|
|
49
|
+
],
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
export default defineAgentCapacityPlugin;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* `@datalayer/loop-plugin-agent-checkpoints` — checkpointing, as a capacity.
|
|
7
|
+
*
|
|
8
|
+
* Mounts the `example-checkpoints` agent: its conversation is snapshotted
|
|
9
|
+
* after every turn, and it can save, list and rewind to checkpoints on
|
|
10
|
+
* request. Cast from the shared capacity mould; the openers are the spec's
|
|
11
|
+
* own. Pair it with the checkpoints sidebar to see and use the checkpoints
|
|
12
|
+
* from outside the chat.
|
|
13
|
+
*
|
|
14
|
+
* @module loop/plugins/agent-checkpoints
|
|
15
|
+
*/
|
|
16
|
+
import { defineAgentCapacityPlugin } from '../agent-capacity';
|
|
17
|
+
export const AGENT_CHECKPOINTS_PLUGIN_NAME = '@datalayer/loop-plugin-agent-checkpoints';
|
|
18
|
+
export const AgentCheckpointsPlugin = defineAgentCapacityPlugin({
|
|
19
|
+
key: 'checkpoints',
|
|
20
|
+
displayName: 'Agent Checkpoints',
|
|
21
|
+
description: 'Conversation checkpoints: taken every turn, saved on request, rewound to.',
|
|
22
|
+
specId: 'example-checkpoints',
|
|
23
|
+
octicon: 'versions',
|
|
24
|
+
emoji: '💾',
|
|
25
|
+
});
|
|
26
|
+
export default AgentCheckpointsPlugin;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* `@datalayer/loop-plugin-agent-code-sandbox` — the code sandbox, as a capacity.
|
|
7
|
+
*
|
|
8
|
+
* Mounts the `example-code-sandbox` agent: Python run through `execute_code`
|
|
9
|
+
* in a sandbox the server manages, whose variant can be switched live. Cast
|
|
10
|
+
* from the shared capacity mould; the openers are the spec's own.
|
|
11
|
+
*
|
|
12
|
+
* @module loop/plugins/agent-code-sandbox
|
|
13
|
+
*/
|
|
14
|
+
import { defineAgentCapacityPlugin } from '../agent-capacity';
|
|
15
|
+
export const AGENT_CODE_SANDBOX_PLUGIN_NAME = '@datalayer/loop-plugin-agent-code-sandbox';
|
|
16
|
+
export const AgentCodeSandboxPlugin = defineAgentCapacityPlugin({
|
|
17
|
+
key: 'code-sandbox',
|
|
18
|
+
displayName: 'Agent Code Sandbox',
|
|
19
|
+
description: 'Python run in a server-managed sandbox: eval or a Jupyter kernel.',
|
|
20
|
+
specId: 'example-code-sandbox',
|
|
21
|
+
octicon: 'codespaces',
|
|
22
|
+
emoji: '📦',
|
|
23
|
+
});
|
|
24
|
+
export default AgentCodeSandboxPlugin;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
type SandboxCapacity = {
|
|
2
|
+
key: string;
|
|
3
|
+
variant: string;
|
|
4
|
+
specId: string;
|
|
5
|
+
displayName: string;
|
|
6
|
+
description: string;
|
|
7
|
+
};
|
|
8
|
+
export declare const SANDBOX_CAPACITIES: SandboxCapacity[];
|
|
9
|
+
/** The plugins, keyed by capacity key — one per sandbox variant. */
|
|
10
|
+
export declare const SandboxCapacityPlugins: {
|
|
11
|
+
[k: string]: import("@datalayer/reactor").ReactorPlugin<Record<string, never>, unknown, unknown>;
|
|
12
|
+
};
|
|
13
|
+
export default SandboxCapacityPlugins;
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* `@datalayer/loop-plugin-agent-sandbox-*` — where the code runs, as
|
|
7
|
+
* capacities.
|
|
8
|
+
*
|
|
9
|
+
* One plugin per sandbox variant, each cast from the shared capacity mould:
|
|
10
|
+
* the blueprint names the variant's agentspec *and* pins `sandbox_variant`
|
|
11
|
+
* in the create payload, which the Local target respects. The code-sandboxes
|
|
12
|
+
* example offers the whole family behind a chooser; a host that wants
|
|
13
|
+
* exactly one mounts exactly one.
|
|
14
|
+
*
|
|
15
|
+
* The openers are each spec's own: the same three on every variant, the
|
|
16
|
+
* first of which asks the code where it ran.
|
|
17
|
+
*
|
|
18
|
+
* @module loop/plugins/agent-code-sandboxes
|
|
19
|
+
*/
|
|
20
|
+
import { defineAgentCapacityPlugin } from '../agent-capacity';
|
|
21
|
+
export const SANDBOX_CAPACITIES = [
|
|
22
|
+
{
|
|
23
|
+
key: 'sandbox-eval',
|
|
24
|
+
variant: 'eval',
|
|
25
|
+
specId: 'example-sandbox-eval',
|
|
26
|
+
displayName: 'Eval Sandbox',
|
|
27
|
+
description: 'In-process Python execution for quick local iteration.',
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
key: 'sandbox-jupyter',
|
|
31
|
+
variant: 'jupyter-server',
|
|
32
|
+
specId: 'example-sandbox-jupyter',
|
|
33
|
+
displayName: 'Jupyter Sandbox',
|
|
34
|
+
description: 'Kernel-backed execution with notebook-compatible behavior.',
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
key: 'sandbox-docker',
|
|
38
|
+
variant: 'docker',
|
|
39
|
+
specId: 'example-sandbox-docker',
|
|
40
|
+
displayName: 'Docker Sandbox',
|
|
41
|
+
description: 'Containerized execution for stronger process isolation.',
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
key: 'sandbox-datalayer',
|
|
45
|
+
variant: 'datalayer',
|
|
46
|
+
specId: 'example-sandbox-datalayer',
|
|
47
|
+
displayName: 'Datalayer Sandbox',
|
|
48
|
+
description: 'Cloud sandbox runtime powered by Datalayer environments.',
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
key: 'sandbox-colab',
|
|
52
|
+
variant: 'google-colab',
|
|
53
|
+
specId: 'example-sandbox-colab',
|
|
54
|
+
displayName: 'Colab Sandbox',
|
|
55
|
+
description: 'Google Colab runtime connector (reuse an already-running kernel).',
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
key: 'sandbox-kaggle',
|
|
59
|
+
variant: 'kaggle',
|
|
60
|
+
specId: 'example-sandbox-kaggle',
|
|
61
|
+
displayName: 'Kaggle Sandbox',
|
|
62
|
+
description: 'Kaggle runtime connector (create kernel with API token or attach existing).',
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
key: 'sandbox-monty',
|
|
66
|
+
variant: 'monty',
|
|
67
|
+
specId: 'example-sandbox-monty',
|
|
68
|
+
displayName: 'Monty Sandbox',
|
|
69
|
+
description: 'Secure in-process interpreter focused on safe snippets.',
|
|
70
|
+
},
|
|
71
|
+
];
|
|
72
|
+
/** The plugins, keyed by capacity key — one per sandbox variant. */
|
|
73
|
+
export const SandboxCapacityPlugins = Object.fromEntries(SANDBOX_CAPACITIES.map(capacity => [
|
|
74
|
+
capacity.key,
|
|
75
|
+
defineAgentCapacityPlugin({
|
|
76
|
+
key: capacity.key,
|
|
77
|
+
displayName: capacity.displayName,
|
|
78
|
+
description: capacity.description,
|
|
79
|
+
specId: capacity.specId,
|
|
80
|
+
octicon: 'codespaces',
|
|
81
|
+
emoji: '📦',
|
|
82
|
+
createPayload: { sandbox_variant: capacity.variant },
|
|
83
|
+
}),
|
|
84
|
+
]));
|
|
85
|
+
export default SandboxCapacityPlugins;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const AGENT_CODEMODE_PLUGIN_NAME = "@datalayer/loop-plugin-agent-codemode";
|
|
2
|
+
export declare const AGENT_NO_CODEMODE_PLUGIN_NAME = "@datalayer/loop-plugin-agent-no-codemode";
|
|
3
|
+
export declare const AgentCodemodePlugin: import("@datalayer/reactor").ReactorPlugin<Record<string, never>, unknown, unknown>;
|
|
4
|
+
export declare const AgentNoCodemodePlugin: import("@datalayer/reactor").ReactorPlugin<Record<string, never>, unknown, unknown>;
|
|
5
|
+
export default AgentCodemodePlugin;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* `@datalayer/loop-plugin-agent-codemode` — codemode, as a capacity.
|
|
7
|
+
*
|
|
8
|
+
* Two plugins from one mould, because codemode is best understood as a
|
|
9
|
+
* comparison: {@link AgentCodemodePlugin} mounts the `example-codemode`
|
|
10
|
+
* agent, whose MCP tools are converted into programmatic tools the model
|
|
11
|
+
* composes in code; {@link AgentNoCodemodePlugin} mounts
|
|
12
|
+
* `example-no-codemode`, the same tools raw. The codemode example mounts
|
|
13
|
+
* both side by side and hands each pane the same task.
|
|
14
|
+
*
|
|
15
|
+
* The openers are the specs' own — the same first task on both sides, so
|
|
16
|
+
* the example's two panes compare like with like.
|
|
17
|
+
*
|
|
18
|
+
* @module loop/plugins/agent-codemode
|
|
19
|
+
*/
|
|
20
|
+
import { defineAgentCapacityPlugin } from '../agent-capacity';
|
|
21
|
+
export const AGENT_CODEMODE_PLUGIN_NAME = '@datalayer/loop-plugin-agent-codemode';
|
|
22
|
+
export const AGENT_NO_CODEMODE_PLUGIN_NAME = '@datalayer/loop-plugin-agent-no-codemode';
|
|
23
|
+
export const AgentCodemodePlugin = defineAgentCapacityPlugin({
|
|
24
|
+
key: 'codemode',
|
|
25
|
+
displayName: 'Agent Codemode',
|
|
26
|
+
description: 'MCP tools converted into programmatic tools.',
|
|
27
|
+
specId: 'example-codemode',
|
|
28
|
+
octicon: 'code-square',
|
|
29
|
+
emoji: '🧑💻',
|
|
30
|
+
codemode: true,
|
|
31
|
+
});
|
|
32
|
+
export const AgentNoCodemodePlugin = defineAgentCapacityPlugin({
|
|
33
|
+
key: 'no-codemode',
|
|
34
|
+
displayName: 'Agent MCP Tools (No Codemode)',
|
|
35
|
+
description: 'Raw MCP tools without codemode conversion.',
|
|
36
|
+
specId: 'example-no-codemode',
|
|
37
|
+
octicon: 'tools',
|
|
38
|
+
emoji: '🔧',
|
|
39
|
+
codemode: false,
|
|
40
|
+
});
|
|
41
|
+
export default AgentCodemodePlugin;
|