@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.
Files changed (776) hide show
  1. package/lib/AgentDocument.js +5 -22
  2. package/lib/AgentNode.d.ts +1 -1
  3. package/lib/AgentNode.js +193 -23
  4. package/lib/AgentNotebook.js +1 -1
  5. package/lib/App.d.ts +1 -1
  6. package/lib/AppExamples2.d.ts +1 -1
  7. package/lib/agent-node/AgentNodeGallery.d.ts +14 -1
  8. package/lib/agent-node/AgentNodeGallery.js +19 -15
  9. package/lib/agent-node/themeStore.js +7 -6
  10. package/lib/agents/AgentDetails.d.ts +8 -2
  11. package/lib/agents/AgentDetails.js +41 -11
  12. package/lib/agents/AgentRuntimeChat.d.ts +3 -3
  13. package/lib/agents/AgentRuntimeChat.js +15 -15
  14. package/lib/api/agents.d.ts +10 -10
  15. package/lib/api/agents.js +15 -15
  16. package/lib/api/checkpoints.d.ts +40 -0
  17. package/lib/api/checkpoints.js +75 -0
  18. package/lib/api/index.d.ts +1 -0
  19. package/lib/api/index.js +18 -5
  20. package/lib/api/notifications.d.ts +21 -6
  21. package/lib/api/notifications.js +32 -14
  22. package/lib/api/runtimes/environments.d.ts +385 -4
  23. package/lib/api/runtimes/environments.js +610 -9
  24. package/lib/api/runtimes/runtimes.d.ts +19 -19
  25. package/lib/api/runtimes/runtimes.js +47 -46
  26. package/lib/api/spacer/notebooks.js +1 -1
  27. package/lib/chat/Chat.d.ts +16 -4
  28. package/lib/chat/Chat.js +18 -5
  29. package/lib/chat/ChatFloating.d.ts +13 -2
  30. package/lib/chat/ChatFloating.js +192 -117
  31. package/lib/chat/ChatInline.d.ts +15 -0
  32. package/lib/chat/ChatInline.js +0 -18
  33. package/lib/chat/ChatPopupStandalone.d.ts +1 -1
  34. package/lib/chat/ChatSidebar.d.ts +14 -2
  35. package/lib/chat/ChatSidebar.js +1 -1
  36. package/lib/chat/ChatStandalone.d.ts +1 -1
  37. package/lib/chat/EphemeralSurfaceControl.d.ts +30 -0
  38. package/lib/chat/EphemeralSurfaceControl.js +55 -0
  39. package/lib/chat/base/ChatAvailability.d.ts +34 -0
  40. package/lib/chat/base/ChatAvailability.js +18 -0
  41. package/lib/chat/base/ChatBase.d.ts +2 -1
  42. package/lib/chat/base/ChatBase.js +657 -28
  43. package/lib/chat/display/EmptyState.d.ts +15 -1
  44. package/lib/chat/display/EmptyState.js +78 -12
  45. package/lib/chat/display/FloatingBrandButton.d.ts +1 -1
  46. package/lib/chat/display/PoweredByTag.d.ts +1 -1
  47. package/lib/chat/display/groupSuggestions.d.ts +21 -0
  48. package/lib/chat/display/groupSuggestions.js +18 -0
  49. package/lib/chat/document/EphemeralDocument.d.ts +70 -6
  50. package/lib/chat/document/EphemeralDocument.js +154 -52
  51. package/lib/chat/header/ChatHeader.d.ts +1 -1
  52. package/lib/chat/header/ChatHeaderBase.d.ts +10 -1
  53. package/lib/chat/header/ChatHeaderBase.js +67 -96
  54. package/lib/chat/index.d.ts +4 -1
  55. package/lib/chat/index.js +8 -1
  56. package/lib/chat/indicators/McpStatusIndicator.d.ts +1 -1
  57. package/lib/chat/indicators/SandboxStatusIndicator.d.ts +1 -1
  58. package/lib/chat/indicators/SandboxStatusIndicator.js +1 -1
  59. package/lib/chat/indicators/SkillsStatusIndicator.d.ts +1 -1
  60. package/lib/chat/messages/ChatMessageList.d.ts +22 -1
  61. package/lib/chat/messages/ChatMessageList.js +370 -166
  62. package/lib/chat/messages/ChatMessages.d.ts +1 -1
  63. package/lib/chat/messages/NotebookToolSurfaces.d.ts +68 -0
  64. package/lib/chat/messages/NotebookToolSurfaces.js +302 -0
  65. package/lib/chat/messages/TurnFooter.d.ts +42 -0
  66. package/lib/chat/messages/TurnFooter.js +75 -0
  67. package/lib/chat/messages/assistantMarkdown.d.ts +22 -0
  68. package/lib/chat/messages/assistantMarkdown.js +56 -0
  69. package/lib/chat/notebook/EphemeralNotebook.d.ts +67 -6
  70. package/lib/chat/notebook/EphemeralNotebook.js +194 -61
  71. package/lib/chat/parts/DynamicToolPart.d.ts +1 -1
  72. package/lib/chat/parts/MessagePart.d.ts +1 -1
  73. package/lib/chat/parts/ReasoningPart.d.ts +8 -1
  74. package/lib/chat/parts/TextPart.d.ts +1 -1
  75. package/lib/chat/parts/ToolPart.d.ts +8 -1
  76. package/lib/chat/prompt/FloatingCard.d.ts +26 -0
  77. package/lib/chat/prompt/FloatingCard.js +80 -0
  78. package/lib/chat/prompt/InputPrompt.d.ts +206 -53
  79. package/lib/chat/prompt/InputPrompt.js +161 -80
  80. package/lib/chat/prompt/InputPromptBase.d.ts +112 -0
  81. package/lib/chat/prompt/InputPromptBase.js +225 -0
  82. package/lib/chat/prompt/InputPromptLexical.d.ts +18 -1
  83. package/lib/chat/prompt/InputPromptLexical.js +227 -30
  84. package/lib/chat/prompt/InputPromptText.d.ts +10 -2
  85. package/lib/chat/prompt/InputPromptText.js +35 -3
  86. package/lib/chat/prompt/footer/BelowPromptFooter.d.ts +25 -0
  87. package/lib/chat/prompt/footer/BelowPromptFooter.js +12 -0
  88. package/lib/chat/prompt/footer/InPromptFooter.d.ts +35 -0
  89. package/lib/chat/prompt/footer/InPromptFooter.js +16 -0
  90. package/lib/chat/prompt/footer/index.d.ts +7 -0
  91. package/lib/chat/prompt/footer/index.js +11 -0
  92. package/lib/chat/prompt/header/BelowPromptHeader.d.ts +23 -0
  93. package/lib/chat/prompt/header/BelowPromptHeader.js +12 -0
  94. package/lib/chat/prompt/header/InPromptHeader.d.ts +31 -0
  95. package/lib/chat/prompt/header/InPromptHeader.js +14 -0
  96. package/lib/chat/prompt/header/index.d.ts +7 -0
  97. package/lib/chat/prompt/header/index.js +11 -0
  98. package/lib/chat/prompt/index.d.ts +8 -4
  99. package/lib/chat/prompt/index.js +15 -3
  100. package/lib/chat/prompt/menus/AgentsMenu.d.ts +14 -0
  101. package/lib/chat/prompt/menus/AgentsMenu.js +42 -0
  102. package/lib/chat/prompt/menus/InlineAgentsMenu.d.ts +22 -0
  103. package/lib/chat/prompt/menus/InlineAgentsMenu.js +24 -0
  104. package/lib/chat/prompt/menus/ModelSelector.d.ts +7 -0
  105. package/lib/chat/prompt/menus/ModelSelector.js +27 -0
  106. package/lib/chat/prompt/menus/SkillsMenu.d.ts +10 -0
  107. package/lib/chat/prompt/menus/SkillsMenu.js +75 -0
  108. package/lib/chat/prompt/menus/SuggestionsMenu.d.ts +13 -0
  109. package/lib/chat/prompt/menus/SuggestionsMenu.js +31 -0
  110. package/lib/chat/prompt/menus/ToolsMenu.d.ts +13 -0
  111. package/lib/chat/prompt/menus/ToolsMenu.js +103 -0
  112. package/lib/chat/prompt/menus/index.d.ts +15 -0
  113. package/lib/chat/prompt/menus/index.js +19 -0
  114. package/lib/chat/prompt/plugins/AgentMentionPlugin.d.ts +54 -0
  115. package/lib/chat/prompt/plugins/AgentMentionPlugin.js +370 -0
  116. package/lib/chat/prompt/plugins/CommandPlugin.d.ts +52 -0
  117. package/lib/chat/prompt/plugins/CommandPlugin.js +359 -0
  118. package/lib/chat/prompt/plugins/MentionChip.d.ts +15 -0
  119. package/lib/chat/prompt/plugins/MentionChip.js +24 -0
  120. package/lib/chat/prompt/plugins/MentionNode.d.ts +66 -0
  121. package/lib/chat/prompt/plugins/MentionNode.js +77 -0
  122. package/lib/chat/prompt/promptHistory.d.ts +52 -0
  123. package/lib/chat/prompt/promptHistory.js +123 -0
  124. package/lib/chat/prompt/stack.d.ts +81 -0
  125. package/lib/chat/prompt/stack.js +41 -0
  126. package/lib/chat/prompt/useTypingPlaceholder.d.ts +52 -0
  127. package/lib/chat/prompt/useTypingPlaceholder.js +180 -0
  128. package/lib/chat/tools/A2AAgentDialog.d.ts +60 -0
  129. package/lib/chat/tools/A2AAgentDialog.js +265 -0
  130. package/lib/chat/tools/ToolApprovalBanner.d.ts +1 -1
  131. package/lib/chat/tools/ToolApprovalDialog.d.ts +1 -1
  132. package/lib/chat/tools/ToolCallDisplay.d.ts +8 -1
  133. package/lib/chat/tools/index.d.ts +1 -0
  134. package/lib/chat/tools/index.js +1 -0
  135. package/lib/chat/usage/ContextPie.d.ts +17 -0
  136. package/lib/chat/usage/{TokenUsageBar.js → ContextPie.js} +20 -14
  137. package/lib/chat/useViewportDrag.d.ts +11 -0
  138. package/lib/chat/useViewportDrag.js +61 -0
  139. package/lib/chat/viewModes.d.ts +51 -0
  140. package/lib/chat/viewModes.js +57 -0
  141. package/lib/client/AgentRuntimesClient.d.ts +10 -9
  142. package/lib/client/AgentRuntimesClient.js +1 -1
  143. package/lib/client/AgentRuntimesClientContext.d.ts +1 -0
  144. package/lib/client/AgentsMixin.d.ts +12 -12
  145. package/lib/client/AgentsMixin.js +31 -31
  146. package/lib/client/IAgentRuntimesClient.d.ts +10 -10
  147. package/lib/client/SdkAgentRuntimesClient.d.ts +10 -10
  148. package/lib/client/SdkAgentRuntimesClient.js +10 -10
  149. package/lib/client/mixins/RuntimesMixin.d.ts +37 -10
  150. package/lib/client/mixins/RuntimesMixin.js +54 -21
  151. package/lib/components/a2ui/A2uiSurfaceComposed.d.ts +1 -1
  152. package/lib/components/agents/AgentSummary.d.ts +13 -0
  153. package/lib/components/agents/AgentSummary.js +21 -4
  154. package/lib/components/cards/NotificationEventCard.d.ts +1 -1
  155. package/lib/components/cards/OutputCard.d.ts +1 -1
  156. package/lib/components/cards/ToolApprovalCard.d.ts +2 -2
  157. package/lib/components/cards/ToolApprovalCard.js +1 -0
  158. package/lib/components/code-sandboxes/CodeSandboxCellVariables.d.ts +1 -0
  159. package/lib/components/code-sandboxes/CodeSandboxCellVariables.js +0 -4
  160. package/lib/components/code-sandboxes/CodeSandboxCellVariablesDialog.d.ts +1 -0
  161. package/lib/components/code-sandboxes/CodeSandboxCellVariablesDialog.js +0 -4
  162. package/lib/components/code-sandboxes/CodeSandboxEnvironmentSelect.d.ts +76 -0
  163. package/lib/components/code-sandboxes/CodeSandboxEnvironmentSelect.js +81 -0
  164. package/lib/components/code-sandboxes/CodeSandboxLauncher.d.ts +12 -0
  165. package/lib/components/code-sandboxes/CodeSandboxLauncher.js +132 -25
  166. package/lib/components/code-sandboxes/CodeSandboxNames.js +75 -29
  167. package/lib/components/code-sandboxes/CodeSandboxPicker.d.ts +14 -1
  168. package/lib/components/code-sandboxes/CodeSandboxPicker.js +226 -45
  169. package/lib/components/code-sandboxes/CodeSandboxPickerCell.d.ts +1 -0
  170. package/lib/components/code-sandboxes/CodeSandboxPickerCell.js +0 -4
  171. package/lib/components/code-sandboxes/CodeSandboxReservationControl.d.ts +1 -0
  172. package/lib/components/code-sandboxes/CodeSandboxReservationControl.js +5 -7
  173. package/lib/components/code-sandboxes/CodeSandboxTransfer.d.ts +5 -0
  174. package/lib/components/code-sandboxes/CodeSandboxUtils.d.ts +16 -1
  175. package/lib/components/code-sandboxes/CodeSandboxUtils.js +69 -12
  176. package/lib/components/code-sandboxes/NewCodeSandboxControls.d.ts +21 -15
  177. package/lib/components/code-sandboxes/NewCodeSandboxControls.js +28 -51
  178. package/lib/components/code-sandboxes/codeSandboxAllowance.d.ts +33 -0
  179. package/lib/components/code-sandboxes/codeSandboxAllowance.js +37 -0
  180. package/lib/components/code-sandboxes/codeSandboxEnvironments.d.ts +86 -0
  181. package/lib/components/code-sandboxes/codeSandboxEnvironments.js +147 -0
  182. package/lib/components/code-sandboxes/codeSandboxProviders.d.ts +29 -0
  183. package/lib/components/code-sandboxes/codeSandboxProviders.js +90 -0
  184. package/lib/components/code-sandboxes/index.d.ts +3 -0
  185. package/lib/components/code-sandboxes/index.js +3 -0
  186. package/lib/components/context/SpaceSelect.d.ts +1 -1
  187. package/lib/components/flashes/FlashDisclaimer.d.ts +1 -1
  188. package/lib/components/icons/ArtifactIcon.d.ts +1 -0
  189. package/lib/components/nbgrader/NbGradesDetails.d.ts +1 -1
  190. package/lib/components/progress/CreditsIndicator.d.ts +1 -0
  191. package/lib/components/progress/CreditsIndicator.js +0 -4
  192. package/lib/components/scheduler/ScheduleMenu.d.ts +1 -1
  193. package/lib/components/snapshots/SandboxSnapshotMenu.d.ts +3 -2
  194. package/lib/components/snapshots/SandboxSnapshotMenu.js +11 -15
  195. package/lib/components/snippets/SnippetDialog.d.ts +1 -0
  196. package/lib/components/snippets/SnippetDialog.js +0 -4
  197. package/lib/components/specs/SpecPayloadPreview.d.ts +34 -0
  198. package/lib/components/specs/SpecPayloadPreview.js +102 -0
  199. package/lib/components/tokens/SpaceVariantToken.d.ts +1 -1
  200. package/lib/context/ContextDistribution.d.ts +1 -1
  201. package/lib/context/ContextInspector.d.ts +2 -1
  202. package/lib/context/ContextPanel.d.ts +1 -1
  203. package/lib/context/ContextUsage.d.ts +1 -1
  204. package/lib/context/CostTracker.d.ts +1 -1
  205. package/lib/context/CostUsageChart.d.ts +1 -1
  206. package/lib/context/CostUsageChart.js +4 -4
  207. package/lib/context/MessageHistory.d.ts +3 -2
  208. package/lib/context/TokenUsageChart.d.ts +1 -1
  209. package/lib/context/TokenUsageChart.js +4 -4
  210. package/lib/examples/A2UiAgentExample.js +15 -6
  211. package/lib/examples/A2UiComponentsGalleryExample.d.ts +10 -0
  212. package/lib/examples/A2UiComponentsGalleryExample.js +24 -855
  213. package/lib/examples/A2UiContactCardExample.d.ts +10 -0
  214. package/lib/examples/A2UiContactCardExample.js +23 -170
  215. package/lib/examples/A2UiJupyterOutputExample.d.ts +3 -0
  216. package/lib/examples/A2UiJupyterOutputExample.js +792 -0
  217. package/lib/examples/A2UiRestaurantExample.d.ts +10 -0
  218. package/lib/examples/A2UiRestaurantExample.js +24 -179
  219. package/lib/examples/A2UiViewerExample.d.ts +10 -0
  220. package/lib/examples/A2UiViewerExample.js +24 -378
  221. package/lib/examples/AgUiAgenticExample.js +2 -4
  222. package/lib/examples/AgUiBackendToolRenderingExample.js +3 -5
  223. package/lib/examples/AgUiHaikuGenUiExample.js +2 -4
  224. package/lib/examples/AgUiHumanInTheLoopExample.js +2 -4
  225. package/lib/examples/AgUiSharedStateExample.js +2 -4
  226. package/lib/examples/AgUiToolsBasedGenUiExample.js +2 -4
  227. package/lib/examples/AgentA2AExample.d.ts +17 -0
  228. package/lib/examples/AgentA2AExample.js +56 -0
  229. package/lib/examples/AgentCheckpointsExample.d.ts +9 -10
  230. package/lib/examples/AgentCheckpointsExample.js +72 -54
  231. package/lib/examples/AgentCodeSandboxExample.d.ts +7 -7
  232. package/lib/examples/AgentCodeSandboxExample.js +93 -303
  233. package/lib/examples/AgentCodeSandboxesExample.d.ts +10 -0
  234. package/lib/examples/AgentCodeSandboxesExample.js +56 -162
  235. package/lib/examples/AgentCodemodeExample.d.ts +7 -2
  236. package/lib/examples/AgentCodemodeExample.js +60 -125
  237. package/lib/examples/AgentCompactionExample.js +19 -135
  238. package/lib/examples/AgentEvalsExample.js +34 -66
  239. package/lib/examples/AgentGuardrailsExample.js +64 -112
  240. package/lib/examples/AgentHooksExample.d.ts +11 -0
  241. package/lib/examples/AgentHooksExample.js +30 -67
  242. package/lib/examples/AgentInferenceProviderExample.js +8 -32
  243. package/lib/examples/AgentLoopExample.d.ts +4 -2
  244. package/lib/examples/AgentLoopExample.js +45 -93
  245. package/lib/examples/AgentMCPExample.js +30 -79
  246. package/lib/examples/AgentMemoryExample.js +21 -64
  247. package/lib/examples/AgentMonitoringExample.js +33 -94
  248. package/lib/examples/AgentNotificationsExample.js +56 -95
  249. package/lib/examples/AgentOtelExample.js +35 -88
  250. package/lib/examples/AgentOutputsExample.d.ts +2 -1
  251. package/lib/examples/AgentOutputsExample.js +16 -137
  252. package/lib/examples/AgentParametersExample.js +7 -17
  253. package/lib/examples/AgentSkillsExample.js +40 -154
  254. package/lib/examples/AgentSubagentsExample.d.ts +7 -6
  255. package/lib/examples/AgentSubagentsExample.js +80 -191
  256. package/lib/examples/AgentToolApprovalsExample.js +35 -91
  257. package/lib/examples/AgentTriggersExample.js +43 -59
  258. package/lib/examples/AgentspecsExample.js +7 -7
  259. package/lib/examples/CellExample.d.ts +1 -1
  260. package/lib/examples/ChatExample.d.ts +12 -5
  261. package/lib/examples/ChatExample.js +38 -13
  262. package/lib/examples/CopilotKitLexicalExample.d.ts +1 -0
  263. package/lib/examples/CopilotKitLexicalExample.js +4 -41
  264. package/lib/examples/CopilotKitNotebookExample.d.ts +10 -0
  265. package/lib/examples/CopilotKitNotebookExample.js +2 -14
  266. package/lib/examples/DecksAgent.d.ts +21 -0
  267. package/lib/examples/DecksAgent.js +23 -0
  268. package/lib/examples/DocumentPageAgent.d.ts +19 -0
  269. package/lib/examples/DocumentPageAgent.js +15 -0
  270. package/lib/examples/Lexical2Example.d.ts +2 -2
  271. package/lib/examples/Lexical2Example.js +17 -38
  272. package/lib/examples/LexicalAgentExample.d.ts +2 -1
  273. package/lib/examples/LexicalAgentExample.js +29 -102
  274. package/lib/examples/LexicalAgentSidebarExample.d.ts +16 -5
  275. package/lib/examples/LexicalAgentSidebarExample.js +99 -131
  276. package/lib/examples/LoopShellExample.d.ts +38 -0
  277. package/lib/examples/LoopShellExample.js +68 -0
  278. package/lib/examples/LoopWorkspaceEmbed.d.ts +50 -0
  279. package/lib/examples/LoopWorkspaceEmbed.js +73 -0
  280. package/lib/examples/LoopWorkspaceExample.d.ts +150 -0
  281. package/lib/examples/LoopWorkspaceExample.js +151 -0
  282. package/lib/examples/NotebookAgentExample.d.ts +13 -0
  283. package/lib/examples/NotebookAgentExample.js +36 -86
  284. package/lib/examples/NotebookAgentSidebarExample.d.ts +10 -4
  285. package/lib/examples/NotebookAgentSidebarExample.js +39 -83
  286. package/lib/examples/NotebookCollaborationExample.d.ts +1 -1
  287. package/lib/examples/NotebookCollaborationExample.js +108 -20
  288. package/lib/examples/NotebookExample.d.ts +1 -1
  289. package/lib/examples/NotebookExample.js +20 -10
  290. package/lib/examples/NotebookPageAgent.d.ts +23 -0
  291. package/lib/examples/NotebookPageAgent.js +17 -0
  292. package/lib/examples/components/ExampleWrapper.d.ts +5 -0
  293. package/lib/examples/components/ExampleWrapper.js +36 -28
  294. package/lib/examples/components/LexicalEditor.d.ts +1 -1
  295. package/lib/examples/components/LexicalEditor.js +4 -24
  296. package/lib/examples/components/haiku/HaikuDisplay.d.ts +1 -1
  297. package/lib/examples/components/haiku/InlineHaikuCard.d.ts +1 -1
  298. package/lib/examples/components/weather/InlineWeatherCard.d.ts +1 -1
  299. package/lib/examples/example-selector.js +26 -6
  300. package/lib/examples/hooks/useCreateAgentOnce.d.ts +41 -0
  301. package/lib/examples/hooks/useCreateAgentOnce.js +51 -0
  302. package/lib/examples/hooks/useExampleAgentProtocol.d.ts +35 -0
  303. package/lib/examples/hooks/useExampleAgentProtocol.js +63 -0
  304. package/lib/examples/hooks/useExampleAgentRuntime.d.ts +16 -16
  305. package/lib/examples/hooks/useExampleAgentRuntime.js +26 -25
  306. package/lib/examples/hooks/useExampleAgentRuntimes.js +45 -61
  307. package/lib/examples/hooks/useExampleJupyterAgent.d.ts +91 -0
  308. package/lib/examples/hooks/useExampleJupyterAgent.js +151 -0
  309. package/lib/examples/index.d.ts +4 -0
  310. package/lib/examples/index.js +6 -0
  311. package/lib/examples/lexical/editorConfig.d.ts +2 -75
  312. package/lib/examples/lexical/editorConfig.js +26 -48
  313. package/lib/examples/lexical/lexical-theme.css +65 -47
  314. package/lib/examples/main.js +450 -322
  315. package/lib/examples/scenes/A2UiComponentsGalleryScene.d.ts +3 -0
  316. package/lib/examples/scenes/A2UiComponentsGalleryScene.js +872 -0
  317. package/lib/examples/scenes/A2UiContactCardScene.d.ts +3 -0
  318. package/lib/examples/scenes/A2UiContactCardScene.js +188 -0
  319. package/lib/examples/scenes/A2UiRestaurantScene.d.ts +3 -0
  320. package/lib/examples/scenes/A2UiRestaurantScene.js +196 -0
  321. package/lib/examples/scenes/A2UiViewerScene.d.ts +3 -0
  322. package/lib/examples/scenes/A2UiViewerScene.js +395 -0
  323. package/lib/examples/utils/agentSummaryStore.d.ts +7 -1
  324. package/lib/examples/utils/agents/earthquake-detector.ipynb.json +1 -1
  325. package/lib/examples/utils/agents/earthquake-detector.lexical.json +1 -1
  326. package/lib/examples/utils/agents/sales-forecaster.ipynb.json +1 -1
  327. package/lib/examples/utils/agents/sales-forecaster.lexical.json +1 -1
  328. package/lib/examples/utils/agents/social-post-generator.ipynb.json +1 -1
  329. package/lib/examples/utils/agents/social-post-generator.lexical.json +1 -1
  330. package/lib/examples/utils/exampleSurfaces.d.ts +31 -0
  331. package/lib/examples/utils/exampleSurfaces.js +38 -0
  332. package/lib/examples/utils/jupyterSandboxUrl.d.ts +27 -0
  333. package/lib/examples/utils/jupyterSandboxUrl.js +55 -0
  334. package/lib/examples/utils/localUrl.d.ts +2 -0
  335. package/lib/examples/utils/localUrl.js +49 -0
  336. package/lib/examples/utils/notebookToolbarItems.d.ts +46 -0
  337. package/lib/examples/utils/notebookToolbarItems.js +129 -0
  338. package/lib/examples/utils/runtimeTargetStore.d.ts +40 -1
  339. package/lib/examples/utils/runtimeTargetStore.js +82 -1
  340. package/lib/examples/utils/themedProvider.d.ts +7 -0
  341. package/lib/examples/utils/themedProvider.js +57 -4
  342. package/lib/examples/utils/useExampleAgentRuntimesUrl.js +30 -5
  343. package/lib/examples/utils/waitForAgent.d.ts +23 -0
  344. package/lib/examples/utils/waitForAgent.js +24 -0
  345. package/lib/examples2/CellExample.d.ts +1 -1
  346. package/lib/examples2/DatalayerNotebookExample.d.ts +1 -1
  347. package/lib/examples2/NotebookExample.d.ts +1 -1
  348. package/lib/examples2/NotebookMutationsKernel.d.ts +1 -1
  349. package/lib/examples2/NotebookMutationsServiceManager.d.ts +1 -1
  350. package/lib/examples2/main.js +24 -4
  351. package/lib/extensions/A2UIExtension.d.ts +1 -1
  352. package/lib/hooks/index.d.ts +8 -5
  353. package/lib/hooks/index.js +20 -5
  354. package/lib/hooks/useAgentRuntimes.d.ts +49 -22
  355. package/lib/hooks/useAgentRuntimes.js +214 -90
  356. package/lib/hooks/useAgentsCatalog.js +32 -4
  357. package/lib/hooks/useBrowserAgent.d.ts +26 -0
  358. package/lib/hooks/useBrowserAgent.js +75 -0
  359. package/lib/hooks/useBrowserInference.d.ts +27 -0
  360. package/lib/hooks/useBrowserInference.js +67 -0
  361. package/lib/hooks/useCheckpoints.d.ts +8 -17
  362. package/lib/hooks/useCheckpoints.js +25 -59
  363. package/lib/hooks/useConfig.d.ts +1 -1
  364. package/lib/hooks/useConfig.js +5 -1
  365. package/lib/hooks/useContextSnapshot.d.ts +18 -7
  366. package/lib/hooks/useContextSnapshot.js +14 -10
  367. package/lib/hooks/useNotifications.d.ts +11 -11
  368. package/lib/hooks/useNotifications.js +1 -1
  369. package/lib/hooks/useProjects.d.ts +7 -19
  370. package/lib/hooks/useProjects.js +5 -5
  371. package/lib/hooks/useSkills.d.ts +0 -1
  372. package/lib/hooks/useSkills.js +6 -2
  373. package/lib/hooks/useToolApprovals.d.ts +8 -8
  374. package/lib/hooks/useToolApprovals.js +3 -3
  375. package/lib/identity/AgentIdentity.d.ts +9 -2
  376. package/lib/identity/index.d.ts +1 -1
  377. package/lib/identity/index.js +1 -1
  378. package/lib/identity/types.d.ts +1 -1
  379. package/lib/identity/types.js +1 -1
  380. package/lib/index.d.ts +1 -0
  381. package/lib/index.js +4 -0
  382. package/lib/jupyter/index.d.ts +2 -1
  383. package/lib/jupyter/index.js +2 -1
  384. package/lib/jupyter/serverExecution.d.ts +78 -0
  385. package/lib/jupyter/serverExecution.js +258 -0
  386. package/lib/jupyter/useResumeServerExecutions.d.ts +11 -0
  387. package/lib/jupyter/useResumeServerExecutions.js +64 -0
  388. package/lib/lexical/ChatInlinePlugin.d.ts +33 -0
  389. package/lib/lexical/ChatInlinePlugin.js +0 -36
  390. package/lib/loop/core/focusRequests.d.ts +10 -0
  391. package/lib/loop/core/focusRequests.js +46 -0
  392. package/lib/loop/core/index.d.ts +894 -0
  393. package/lib/loop/core/index.js +264 -0
  394. package/lib/loop/core/promptStore.d.ts +44 -0
  395. package/lib/loop/core/promptStore.js +63 -0
  396. package/lib/loop/core/surfaceRequests.d.ts +33 -0
  397. package/lib/loop/core/surfaceRequests.js +29 -0
  398. package/lib/loop/core/toolbar.d.ts +28 -0
  399. package/lib/loop/core/toolbar.js +59 -0
  400. package/lib/loop/embed/LoopEmbed.d.ts +57 -0
  401. package/lib/loop/embed/LoopEmbed.js +118 -0
  402. package/lib/loop/extensions.d.ts +10 -0
  403. package/lib/loop/extensions.js +49 -0
  404. package/lib/loop/index.d.ts +68 -0
  405. package/lib/loop/index.js +87 -0
  406. package/lib/loop/plugins/a2a-sidebar/A2ASidebar.d.ts +48 -0
  407. package/lib/loop/plugins/a2a-sidebar/A2ASidebar.js +190 -0
  408. package/lib/loop/plugins/a2a-sidebar/index.d.ts +5 -0
  409. package/lib/loop/plugins/a2a-sidebar/index.js +39 -0
  410. package/lib/loop/plugins/a2ui/A2uiView.d.ts +12 -0
  411. package/lib/loop/plugins/a2ui/A2uiView.js +97 -0
  412. package/lib/loop/plugins/a2ui/index.d.ts +3 -0
  413. package/lib/loop/plugins/a2ui/index.js +50 -0
  414. package/lib/loop/plugins/a2ui-scene/index.d.ts +36 -0
  415. package/lib/loop/plugins/a2ui-scene/index.js +28 -0
  416. package/lib/loop/plugins/agent-a2a/index.d.ts +3 -0
  417. package/lib/loop/plugins/agent-a2a/index.js +26 -0
  418. package/lib/loop/plugins/agent-a2ui/index.d.ts +3 -0
  419. package/lib/loop/plugins/agent-a2ui/index.js +42 -0
  420. package/lib/loop/plugins/agent-a2ui-jupyter-output/index.d.ts +3 -0
  421. package/lib/loop/plugins/agent-a2ui-jupyter-output/index.js +53 -0
  422. package/lib/loop/plugins/agent-capacity/index.d.ts +39 -0
  423. package/lib/loop/plugins/agent-capacity/index.js +52 -0
  424. package/lib/loop/plugins/agent-checkpoints/index.d.ts +3 -0
  425. package/lib/loop/plugins/agent-checkpoints/index.js +26 -0
  426. package/lib/loop/plugins/agent-code-sandbox/index.d.ts +3 -0
  427. package/lib/loop/plugins/agent-code-sandbox/index.js +24 -0
  428. package/lib/loop/plugins/agent-code-sandboxes/index.d.ts +13 -0
  429. package/lib/loop/plugins/agent-code-sandboxes/index.js +85 -0
  430. package/lib/loop/plugins/agent-codemode/index.d.ts +5 -0
  431. package/lib/loop/plugins/agent-codemode/index.js +41 -0
  432. package/lib/loop/plugins/agent-compaction/index.d.ts +10 -0
  433. package/lib/loop/plugins/agent-compaction/index.js +34 -0
  434. package/lib/loop/plugins/agent-evals/index.d.ts +3 -0
  435. package/lib/loop/plugins/agent-evals/index.js +25 -0
  436. package/lib/loop/plugins/agent-guardrails/index.d.ts +3 -0
  437. package/lib/loop/plugins/agent-guardrails/index.js +25 -0
  438. package/lib/loop/plugins/agent-hooks/index.d.ts +3 -0
  439. package/lib/loop/plugins/agent-hooks/index.js +28 -0
  440. package/lib/loop/plugins/agent-inference/index.d.ts +7 -0
  441. package/lib/loop/plugins/agent-inference/index.js +29 -0
  442. package/lib/loop/plugins/agent-mcp/index.d.ts +3 -0
  443. package/lib/loop/plugins/agent-mcp/index.js +25 -0
  444. package/lib/loop/plugins/agent-memory/index.d.ts +3 -0
  445. package/lib/loop/plugins/agent-memory/index.js +25 -0
  446. package/lib/loop/plugins/agent-monitoring/index.d.ts +3 -0
  447. package/lib/loop/plugins/agent-monitoring/index.js +25 -0
  448. package/lib/loop/plugins/agent-notifications/index.d.ts +3 -0
  449. package/lib/loop/plugins/agent-notifications/index.js +25 -0
  450. package/lib/loop/plugins/agent-otel/index.d.ts +3 -0
  451. package/lib/loop/plugins/agent-otel/index.js +25 -0
  452. package/lib/loop/plugins/agent-outputs/index.d.ts +3 -0
  453. package/lib/loop/plugins/agent-outputs/index.js +25 -0
  454. package/lib/loop/plugins/agent-parameters/index.d.ts +3 -0
  455. package/lib/loop/plugins/agent-parameters/index.js +25 -0
  456. package/lib/loop/plugins/agent-skills/index.d.ts +3 -0
  457. package/lib/loop/plugins/agent-skills/index.js +25 -0
  458. package/lib/loop/plugins/agent-subagents/index.d.ts +3 -0
  459. package/lib/loop/plugins/agent-subagents/index.js +25 -0
  460. package/lib/loop/plugins/agent-tool-approvals/index.d.ts +11 -0
  461. package/lib/loop/plugins/agent-tool-approvals/index.js +38 -0
  462. package/lib/loop/plugins/agent-triggers/index.d.ts +3 -0
  463. package/lib/loop/plugins/agent-triggers/index.js +26 -0
  464. package/lib/loop/plugins/agents/AgentSummaryPanel.d.ts +20 -0
  465. package/lib/loop/plugins/agents/AgentSummaryPanel.js +50 -0
  466. package/lib/loop/plugins/agents/AnonymousKeyBadge.d.ts +35 -0
  467. package/lib/loop/plugins/agents/AnonymousKeyBadge.js +53 -0
  468. package/lib/loop/plugins/agents/DatalayerAgentBridge.d.ts +24 -0
  469. package/lib/loop/plugins/agents/DatalayerAgentBridge.js +102 -0
  470. package/lib/loop/plugins/agents/DatalayerAgentMount.d.ts +18 -0
  471. package/lib/loop/plugins/agents/DatalayerAgentMount.js +12 -0
  472. package/lib/loop/plugins/agents/SandboxSelector.d.ts +18 -0
  473. package/lib/loop/plugins/agents/SandboxSelector.js +99 -0
  474. package/lib/loop/plugins/agents/SandboxStatusBridge.d.ts +19 -0
  475. package/lib/loop/plugins/agents/SandboxStatusBridge.js +23 -0
  476. package/lib/loop/plugins/agents/SandboxView.d.ts +11 -0
  477. package/lib/loop/plugins/agents/SandboxView.js +43 -0
  478. package/lib/loop/plugins/agents/TeamMemberPicker.d.ts +17 -0
  479. package/lib/loop/plugins/agents/TeamMemberPicker.js +60 -0
  480. package/lib/loop/plugins/agents/agentIcons.d.ts +23 -0
  481. package/lib/loop/plugins/agents/agentIcons.js +88 -0
  482. package/lib/loop/plugins/agents/browserService.d.ts +50 -0
  483. package/lib/loop/plugins/agents/browserService.js +233 -0
  484. package/lib/loop/plugins/agents/index.d.ts +13 -0
  485. package/lib/loop/plugins/agents/index.js +17 -0
  486. package/lib/loop/plugins/agents/plugin.d.ts +91 -0
  487. package/lib/loop/plugins/agents/plugin.js +201 -0
  488. package/lib/loop/plugins/agents/service.d.ts +99 -0
  489. package/lib/loop/plugins/agents/service.js +167 -0
  490. package/lib/loop/plugins/agents/specSubagents.d.ts +18 -0
  491. package/lib/loop/plugins/agents/specSubagents.js +33 -0
  492. package/lib/loop/plugins/agents/switchable.d.ts +107 -0
  493. package/lib/loop/plugins/agents/switchable.js +405 -0
  494. package/lib/loop/plugins/agents/team.d.ts +87 -0
  495. package/lib/loop/plugins/agents/team.js +143 -0
  496. package/lib/loop/plugins/agents/useSandboxService.d.ts +11 -0
  497. package/lib/loop/plugins/agents/useSandboxService.js +36 -0
  498. package/lib/loop/plugins/agents/useTeamSelection.d.ts +10 -0
  499. package/lib/loop/plugins/agents/useTeamSelection.js +27 -0
  500. package/lib/loop/plugins/agentspecs/AgentspecPicker.d.ts +15 -0
  501. package/lib/loop/plugins/agentspecs/AgentspecPicker.js +90 -0
  502. package/lib/loop/plugins/agentspecs/index.d.ts +6 -0
  503. package/lib/loop/plugins/agentspecs/index.js +63 -0
  504. package/lib/loop/plugins/chat/ChatView.d.ts +20 -0
  505. package/lib/loop/plugins/chat/ChatView.js +1670 -0
  506. package/lib/loop/plugins/chat/chatViewTools.d.ts +41 -0
  507. package/lib/loop/plugins/chat/chatViewTools.js +92 -0
  508. package/lib/loop/plugins/chat/index.d.ts +111 -0
  509. package/lib/loop/plugins/chat/index.js +143 -0
  510. package/lib/loop/plugins/chat/turnState.d.ts +41 -0
  511. package/lib/loop/plugins/chat/turnState.js +90 -0
  512. package/lib/loop/plugins/chat-extras/index.d.ts +14 -0
  513. package/lib/loop/plugins/chat-extras/index.js +51 -0
  514. package/lib/loop/plugins/chat-header/HeaderView.d.ts +13 -0
  515. package/lib/loop/plugins/chat-header/HeaderView.js +6 -0
  516. package/lib/loop/plugins/chat-header/index.d.ts +3 -0
  517. package/lib/loop/plugins/chat-header/index.js +21 -0
  518. package/lib/loop/plugins/chat-view/index.d.ts +10 -0
  519. package/lib/loop/plugins/chat-view/index.js +29 -0
  520. package/lib/loop/plugins/checkpoints-sidebar/CheckpointsSidebar.d.ts +27 -0
  521. package/lib/loop/plugins/checkpoints-sidebar/CheckpointsSidebar.js +174 -0
  522. package/lib/loop/plugins/checkpoints-sidebar/index.d.ts +5 -0
  523. package/lib/loop/plugins/checkpoints-sidebar/index.js +39 -0
  524. package/lib/loop/plugins/commands/index.d.ts +20 -0
  525. package/lib/loop/plugins/commands/index.js +148 -0
  526. package/lib/loop/plugins/decks/DeckSurface.d.ts +10 -0
  527. package/lib/loop/plugins/decks/DeckSurface.js +6 -0
  528. package/lib/loop/plugins/decks/DecksMenu.d.ts +11 -0
  529. package/lib/loop/plugins/decks/DecksMenu.js +42 -0
  530. package/lib/loop/plugins/decks/index.d.ts +19 -0
  531. package/lib/loop/plugins/decks/index.js +133 -0
  532. package/lib/loop/plugins/decks/surface.d.ts +7 -0
  533. package/lib/loop/plugins/decks/surface.js +11 -0
  534. package/lib/loop/plugins/document/DocumentView.d.ts +12 -0
  535. package/lib/loop/plugins/document/DocumentView.js +68 -0
  536. package/lib/loop/plugins/document/index.d.ts +3 -0
  537. package/lib/loop/plugins/document/index.js +86 -0
  538. package/lib/loop/plugins/document/openingDocument.d.ts +28 -0
  539. package/lib/loop/plugins/document/openingDocument.js +122 -0
  540. package/lib/loop/plugins/document-toolbar/SandboxStatusItem.d.ts +16 -0
  541. package/lib/loop/plugins/document-toolbar/SandboxStatusItem.js +31 -0
  542. package/lib/loop/plugins/document-toolbar/index.d.ts +4 -0
  543. package/lib/loop/plugins/document-toolbar/index.js +35 -0
  544. package/lib/loop/plugins/document-toolbar/names.d.ts +6 -0
  545. package/lib/loop/plugins/document-toolbar/names.js +10 -0
  546. package/lib/loop/plugins/document-toolbar/plugin.d.ts +2 -0
  547. package/lib/loop/plugins/document-toolbar/plugin.js +38 -0
  548. package/lib/loop/plugins/document-view/index.d.ts +10 -0
  549. package/lib/loop/plugins/document-view/index.js +28 -0
  550. package/lib/loop/plugins/graph/GraphToggle.d.ts +17 -0
  551. package/lib/loop/plugins/graph/GraphToggle.js +22 -0
  552. package/lib/loop/plugins/graph/GraphView.d.ts +16 -0
  553. package/lib/loop/plugins/graph/GraphView.js +6 -0
  554. package/lib/loop/plugins/graph/index.d.ts +5 -0
  555. package/lib/loop/plugins/graph/index.js +80 -0
  556. package/lib/loop/plugins/graph/viewType.d.ts +10 -0
  557. package/lib/loop/plugins/graph/viewType.js +14 -0
  558. package/lib/loop/plugins/input-prompt/ComposerView.d.ts +15 -0
  559. package/lib/loop/plugins/input-prompt/ComposerView.js +25 -0
  560. package/lib/loop/plugins/input-prompt/index.d.ts +25 -0
  561. package/lib/loop/plugins/input-prompt/index.js +26 -0
  562. package/lib/loop/plugins/models/index.d.ts +3 -0
  563. package/lib/loop/plugins/models/index.js +49 -0
  564. package/lib/loop/plugins/notebook/NotebookView.d.ts +9 -0
  565. package/lib/loop/plugins/notebook/NotebookView.js +189 -0
  566. package/lib/loop/plugins/notebook/index.d.ts +3 -0
  567. package/lib/loop/plugins/notebook/index.js +91 -0
  568. package/lib/loop/plugins/notebook/openingNotebook.d.ts +72 -0
  569. package/lib/loop/plugins/notebook/openingNotebook.js +90 -0
  570. package/lib/loop/plugins/notebook-toolbar/index.d.ts +4 -0
  571. package/lib/loop/plugins/notebook-toolbar/index.js +45 -0
  572. package/lib/loop/plugins/notebook-toolbar/items.d.ts +10 -0
  573. package/lib/loop/plugins/notebook-toolbar/items.js +45 -0
  574. package/lib/loop/plugins/notebook-toolbar/names.d.ts +9 -0
  575. package/lib/loop/plugins/notebook-toolbar/names.js +13 -0
  576. package/lib/loop/plugins/notebook-toolbar/plugin.d.ts +2 -0
  577. package/lib/loop/plugins/notebook-toolbar/plugin.js +24 -0
  578. package/lib/loop/plugins/notebook-view/index.d.ts +10 -0
  579. package/lib/loop/plugins/notebook-view/index.js +30 -0
  580. package/lib/loop/plugins/page-layout/TurnPanel.d.ts +25 -0
  581. package/lib/loop/plugins/page-layout/TurnPanel.js +126 -0
  582. package/lib/loop/plugins/page-layout/index.d.ts +35 -0
  583. package/lib/loop/plugins/page-layout/index.js +80 -0
  584. package/lib/loop/plugins/plugins-panel/index.d.ts +14 -0
  585. package/lib/loop/plugins/plugins-panel/index.js +74 -0
  586. package/lib/loop/plugins/prompt/NewChatAction.d.ts +19 -0
  587. package/lib/loop/plugins/prompt/NewChatAction.js +10 -0
  588. package/lib/loop/plugins/prompt/index.d.ts +11 -0
  589. package/lib/loop/plugins/prompt/index.js +73 -0
  590. package/lib/loop/plugins/shell/editorChoice.d.ts +31 -0
  591. package/lib/loop/plugins/shell/editorChoice.js +58 -0
  592. package/lib/loop/plugins/shell/index.d.ts +47 -0
  593. package/lib/loop/plugins/shell/index.js +142 -0
  594. package/lib/loop/plugins/shell/useEditorPreviews.d.ts +32 -0
  595. package/lib/loop/plugins/shell/useEditorPreviews.js +217 -0
  596. package/lib/loop/plugins/subagent-activity/SubagentPulse.d.ts +16 -0
  597. package/lib/loop/plugins/subagent-activity/SubagentPulse.js +45 -0
  598. package/lib/loop/plugins/subagent-activity/index.d.ts +12 -0
  599. package/lib/loop/plugins/subagent-activity/index.js +42 -0
  600. package/lib/loop/plugins/view-switch/index.d.ts +46 -0
  601. package/lib/loop/plugins/view-switch/index.js +68 -0
  602. package/lib/loop/plugins/window-frame/WindowFrame.d.ts +48 -0
  603. package/lib/loop/plugins/window-frame/WindowFrame.js +63 -0
  604. package/lib/loop/plugins/window-frame/index.d.ts +6 -0
  605. package/lib/loop/plugins/window-frame/index.js +79 -0
  606. package/lib/loop/plugins/window-frame/slots.d.ts +26 -0
  607. package/lib/loop/plugins/window-frame/slots.js +30 -0
  608. package/lib/loop/presets.d.ts +167 -0
  609. package/lib/loop/presets.js +139 -0
  610. package/lib/loop/shell/LoopWorkspace.d.ts +109 -0
  611. package/lib/loop/shell/LoopWorkspace.js +231 -0
  612. package/lib/loop/shell/PluginToggles.d.ts +21 -0
  613. package/lib/loop/shell/PluginToggles.js +41 -0
  614. package/lib/loop/shell/ViewSwitcher.d.ts +24 -0
  615. package/lib/loop/shell/ViewSwitcher.js +43 -0
  616. package/lib/loop/shell/WorkspaceFullScreenAction.d.ts +25 -0
  617. package/lib/loop/shell/WorkspaceFullScreenAction.js +24 -0
  618. package/lib/loop/shell/index.d.ts +10 -0
  619. package/lib/loop/shell/index.js +14 -0
  620. package/lib/loop/shell/useWorkspaceFullScreen.d.ts +93 -0
  621. package/lib/loop/shell/useWorkspaceFullScreen.js +167 -0
  622. package/lib/loop-example-main.d.ts +1 -0
  623. package/lib/loop-example-main.js +42 -0
  624. package/lib/loop-main.d.ts +1 -0
  625. package/lib/loop-main.js +138 -0
  626. package/lib/mcp/McpServerManager.d.ts +1 -1
  627. package/lib/models/CodeSandboxSnapshotDTO.d.ts +1 -1
  628. package/lib/models/CodeSandboxVariant.d.ts +53 -0
  629. package/lib/models/CodeSandboxVariant.js +77 -0
  630. package/lib/models/Content.d.ts +26 -0
  631. package/lib/models/Environment.d.ts +561 -5
  632. package/lib/models/Environment.js +12 -1
  633. package/lib/models/EnvironmentDTO.d.ts +24 -6
  634. package/lib/models/EnvironmentDTO.js +13 -2
  635. package/lib/models/Exercise.d.ts +0 -2
  636. package/lib/models/Library.d.ts +0 -2
  637. package/lib/models/Notebook.d.ts +0 -2
  638. package/lib/models/ProjectDTO.d.ts +2 -2
  639. package/lib/models/ProjectDTO.js +4 -4
  640. package/lib/models/Runtime.d.ts +11 -11
  641. package/lib/models/RuntimeDTO.d.ts +16 -7
  642. package/lib/models/RuntimeDTO.js +9 -9
  643. package/lib/models/Space.d.ts +10 -0
  644. package/lib/models/Space.js +1 -1
  645. package/lib/models/SpaceDTO.d.ts +1 -1
  646. package/lib/models/SpaceItem.d.ts +1 -2
  647. package/lib/models/environments.generated.d.ts +113 -0
  648. package/lib/models/environments.generated.js +13 -0
  649. package/lib/models/index.d.ts +1 -1
  650. package/lib/models/index.js +1 -1
  651. package/lib/protocols/A2AAdapter.d.ts +39 -6
  652. package/lib/protocols/A2AAdapter.js +180 -11
  653. package/lib/protocols/ACPAdapter.js +40 -37
  654. package/lib/protocols/AGUIAdapter.d.ts +14 -0
  655. package/lib/protocols/AGUIAdapter.js +34 -9
  656. package/lib/protocols/BrowserAgentAdapter.d.ts +117 -0
  657. package/lib/protocols/BrowserAgentAdapter.js +310 -0
  658. package/lib/protocols/VercelAIAdapter.d.ts +10 -0
  659. package/lib/protocols/VercelAIAdapter.js +27 -7
  660. package/lib/protocols/index.d.ts +1 -0
  661. package/lib/protocols/index.js +1 -0
  662. package/lib/runtimes/actions.d.ts +3 -3
  663. package/lib/runtimes/actions.js +41 -16
  664. package/lib/runtimes/apis.d.ts +13 -4
  665. package/lib/runtimes/browser/agent.d.ts +54 -0
  666. package/lib/runtimes/browser/agent.js +63 -0
  667. package/lib/runtimes/browser/anonymousToken.d.ts +121 -0
  668. package/lib/runtimes/browser/anonymousToken.js +300 -0
  669. package/lib/runtimes/browser/frontendTools.d.ts +61 -0
  670. package/lib/runtimes/browser/frontendTools.js +152 -0
  671. package/lib/runtimes/browser/index.d.ts +11 -0
  672. package/lib/runtimes/browser/index.js +20 -0
  673. package/lib/runtimes/browser/model.d.ts +52 -0
  674. package/lib/runtimes/browser/model.js +110 -0
  675. package/lib/runtimes/browser/protocol.d.ts +54 -0
  676. package/lib/runtimes/browser/protocol.js +35 -0
  677. package/lib/runtimes/browser/subagents.d.ts +131 -0
  678. package/lib/runtimes/browser/subagents.js +241 -0
  679. package/lib/runtimes/index.d.ts +3 -0
  680. package/lib/runtimes/index.js +3 -0
  681. package/lib/runtimes/lifecycle.d.ts +76 -0
  682. package/lib/runtimes/lifecycle.js +99 -0
  683. package/lib/runtimes/variants.d.ts +172 -0
  684. package/lib/runtimes/variants.js +187 -0
  685. package/lib/services/reconnectToRuntime.d.ts +2 -2
  686. package/lib/services/reconnectToRuntime.js +3 -3
  687. package/lib/services/sandboxServiceManagers.d.ts +2 -2
  688. package/lib/services/sandboxServiceManagers.js +11 -11
  689. package/lib/specs/agents/agents.d.ts +128 -112
  690. package/lib/specs/agents/agents.js +8024 -5052
  691. package/lib/specs/envvars.d.ts +1 -1
  692. package/lib/specs/envvars.js +3 -3
  693. package/lib/specs/evals.js +9 -0
  694. package/lib/specs/frontendTools.d.ts +3 -0
  695. package/lib/specs/frontendTools.js +46 -3
  696. package/lib/specs/mcpServers.d.ts +1 -0
  697. package/lib/specs/mcpServers.js +27 -4
  698. package/lib/specs/models.d.ts +18 -0
  699. package/lib/specs/models.js +154 -0
  700. package/lib/specs/outputs.d.ts +2 -0
  701. package/lib/specs/outputs.js +22 -0
  702. package/lib/specs/personas.js +1 -1
  703. package/lib/specs/teams/teams.d.ts +2 -0
  704. package/lib/specs/teams/teams.js +628 -111
  705. package/lib/state/index.d.ts +1 -1
  706. package/lib/state/index.js +1 -1
  707. package/lib/state/substates/RuntimesState.d.ts +5 -5
  708. package/lib/state/substates/RuntimesState.js +17 -14
  709. package/lib/state/substates/index.d.ts +1 -1
  710. package/lib/state/substates/index.js +1 -1
  711. package/lib/stores/agentRuntimeStore.d.ts +43 -1
  712. package/lib/stores/agentRuntimeStore.js +100 -11
  713. package/lib/stores/index.d.ts +1 -1
  714. package/lib/stores/index.js +1 -1
  715. package/lib/stories/Button.d.ts +1 -1
  716. package/lib/stories/Button.stories.d.ts +1 -1
  717. package/lib/stories/Header.d.ts +1 -1
  718. package/lib/stories/Header.stories.d.ts +1 -1
  719. package/lib/test-setup.js +66 -0
  720. package/lib/tools/adapters/agent-runtimes/lexicalHooks.d.ts +15 -0
  721. package/lib/tools/adapters/agent-runtimes/lexicalHooks.js +43 -2
  722. package/lib/tools/adapters/agent-runtimes/notebookHooks.d.ts +9 -0
  723. package/lib/tools/adapters/agent-runtimes/notebookHooks.js +12 -0
  724. package/lib/tools/adapters/commands/frontendCommandTools.d.ts +11 -0
  725. package/lib/tools/adapters/commands/frontendCommandTools.js +60 -0
  726. package/lib/tools/adapters/commands/index.d.ts +1 -0
  727. package/lib/{models/Dataset.js → tools/adapters/commands/index.js} +1 -1
  728. package/lib/tools/adapters/copilotkit/lexicalHooks.js +7 -3
  729. package/lib/tools/index.d.ts +1 -0
  730. package/lib/tools/index.js +1 -0
  731. package/lib/types/a2a.d.ts +15 -1
  732. package/lib/types/agents-lifecycle.d.ts +11 -6
  733. package/lib/types/agents.d.ts +31 -6
  734. package/lib/types/agentspecs.d.ts +120 -4
  735. package/lib/types/chat.d.ts +251 -3
  736. package/lib/types/checkpoints.d.ts +20 -0
  737. package/lib/types/config.d.ts +13 -1
  738. package/lib/types/connection.d.ts +1 -1
  739. package/lib/types/evals.d.ts +2 -0
  740. package/lib/types/messages.d.ts +60 -0
  741. package/lib/types/models.d.ts +26 -0
  742. package/lib/types/notifications.d.ts +15 -6
  743. package/lib/types/protocol.d.ts +7 -2
  744. package/lib/types/stream.d.ts +48 -3
  745. package/lib/types/stream.js +5 -0
  746. package/lib/types/teams.d.ts +102 -4
  747. package/lib/types/tool-approvals.d.ts +1 -1
  748. package/lib/types/tools.d.ts +8 -2
  749. package/lib/utils/utils.js +7 -1
  750. package/package.json +376 -361
  751. package/scripts/codegen/__pycache__/compose.cpython-313.pyc +0 -0
  752. package/scripts/codegen/__pycache__/versioning.cpython-313.pyc +0 -0
  753. package/scripts/codegen/compose.py +208 -0
  754. package/scripts/codegen/generate_agents.py +202 -31
  755. package/scripts/codegen/generate_evals.py +2 -0
  756. package/scripts/codegen/generate_frontend_tools.py +35 -6
  757. package/scripts/codegen/generate_models.py +40 -15
  758. package/scripts/codegen/generate_sandbox_agents.py +76 -62
  759. package/scripts/codegen/generate_teams.py +178 -4
  760. package/scripts/codegen/generate_tools.py +6 -4
  761. package/scripts/gen_workers.py +279 -111
  762. package/scripts/generate-environments-types.py +404 -0
  763. package/lib/chat/prompt/InputFooter.d.ts +0 -58
  764. package/lib/chat/prompt/InputFooter.js +0 -194
  765. package/lib/chat/prompt/InputPromptFooter.d.ts +0 -27
  766. package/lib/chat/prompt/InputPromptFooter.js +0 -15
  767. package/lib/chat/prompt/InputPromptHeader.d.ts +0 -15
  768. package/lib/chat/prompt/InputPromptHeader.js +0 -15
  769. package/lib/chat/usage/TokenUsageBar.d.ts +0 -8
  770. package/lib/hooks/useRuntimes.d.ts +0 -5
  771. package/lib/hooks/useRuntimes.js +0 -34
  772. package/lib/jupyter/kernelsHandler.d.ts +0 -8
  773. package/lib/jupyter/kernelsHandler.js +0 -39
  774. package/lib/models/Dataset.d.ts +0 -16
  775. package/lib/utils/Cells.d.ts +0 -2
  776. package/lib/utils/Cells.js +0 -28
@@ -1,18 +1,24 @@
1
- /** What the account allows for a new sandbox of a given burning rate. */
2
- export interface INewCodeSandboxAllowance {
3
- /** Minutes the available credits pay for; undefined without a rate. */
4
- maxFromCredits?: number;
5
- /** The ceiling offered by the reservation control. */
6
- effectiveMaxMinutes: number;
7
- /** Whether a paid start is impossible: no runs left and no credits. */
8
- outOfCredits: boolean;
9
- hasKnownCredits: boolean;
10
- hasKnownRunAllowance: boolean;
11
- hasRemainingRuns: boolean;
12
- }
1
+ /**
2
+ * What launching a NEW code sandbox asks of the user, in one place.
3
+ *
4
+ * The launcher dialog and the picker both offer to start a sandbox, and both
5
+ * used to carry their own copy of the same questions — how long to reserve,
6
+ * whether to mount the home folder — and of the same arithmetic over the
7
+ * credits of the account. This module is the single copy: the hook computes
8
+ * what the account allows, the component renders the two controls, and the
9
+ * helper turns a time limit into the credits reservation.
10
+ *
11
+ * @module components/code-sandboxes/NewCodeSandboxControls
12
+ */
13
+ import type { JSX } from 'react';
14
+ import { type INewCodeSandboxAllowance } from './codeSandboxAllowance';
15
+ export type { INewCodeSandboxAllowance };
13
16
  /**
14
17
  * The credits arithmetic both the launcher and the picker ask.
15
18
  *
19
+ * The arithmetic itself lives in `codeSandboxAllowance`, free of React and of
20
+ * this module's Primer imports, so it can be read and tested on its own.
21
+ *
16
22
  * @param burningRate Credits per second of the chosen environment
17
23
  */
18
24
  export declare function useNewCodeSandboxAllowance(burningRate: number | undefined): INewCodeSandboxAllowance;
@@ -31,8 +37,8 @@ export interface INewCodeSandboxControlsProps {
31
37
  error?: string;
32
38
  /** Offered next to the error when credits can be added from here. */
33
39
  addCredits?: () => void;
34
- userStorage: boolean;
35
- onUserStorageToggle: () => void;
40
+ homeFolder: boolean;
41
+ onHomeFolderToggle: () => void;
36
42
  storageDisabled?: boolean;
37
43
  /**
38
44
  * The name the sandbox is given, when the caller asks for that question.
@@ -50,7 +56,7 @@ export interface INewCodeSandboxControlsProps {
50
56
  * this machine: it reserves no time and mounts no storage of the platform,
51
57
  * so neither question applies to it.
52
58
  */
53
- withUserStorage?: boolean;
59
+ withHomeFolder?: boolean;
54
60
  }
55
61
  /**
56
62
  * The two questions of a new sandbox: the time reservation, and the storage.
@@ -1,60 +1,28 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- /*
3
- * Copyright (c) 2025-2026 Datalayer, Inc.
4
- * Distributed under the terms of the Modified BSD License.
5
- */
6
- /**
7
- * What launching a NEW code sandbox asks of the user, in one place.
8
- *
9
- * The launcher dialog and the picker both offer to start a sandbox, and both
10
- * used to carry their own copy of the same questions — how long to reserve,
11
- * whether to mount the user storage — and of the same arithmetic over the
12
- * credits of the account. This module is the single copy: the hook computes
13
- * what the account allows, the component renders the two controls, and the
14
- * helper turns a time limit into the credits reservation.
15
- *
16
- * @module components/code-sandboxes/NewCodeSandboxControls
17
- */
18
- import { FormControl, IconButton, TextInput, ToggleSwitch, Tooltip, } from '@primer/react';
19
- import { AlertIcon } from '@primer/octicons-react';
2
+ import { FormControl, Link, TextInput, ToggleSwitch } from '@primer/react';
3
+ import { InfoIcon } from '@primer/octicons-react';
20
4
  import { useCoreStore, useIAMStore } from '../../state/substates';
21
5
  import { CodeSandboxReservationControl, MAXIMAL_CODE_SANDBOX_TIME_RESERVATION_MINUTES, } from './CodeSandboxReservationControl';
6
+ import { codeSandboxAllowance, } from './codeSandboxAllowance';
22
7
  /**
23
8
  * The credits arithmetic both the launcher and the picker ask.
24
9
  *
10
+ * The arithmetic itself lives in `codeSandboxAllowance`, free of React and of
11
+ * this module's Primer imports, so it can be read and tested on its own.
12
+ *
25
13
  * @param burningRate Credits per second of the chosen environment
26
14
  */
27
15
  export function useNewCodeSandboxAllowance(burningRate) {
28
16
  const { credits, user } = useIAMStore();
29
- const includedRuns = user?.subscription?.usage?.included_runs ??
30
- user?.subscription?.included_runs;
31
- const currentRuns = user?.subscription?.usage?.current_runs ??
32
- user?.subscription?.current_runs ??
33
- user?.subscription?.used_runs;
34
- const hasKnownRunAllowance = typeof includedRuns === 'number';
35
- const hasRemainingRuns = hasKnownRunAllowance &&
36
- typeof currentRuns === 'number' &&
37
- includedRuns > 0 &&
38
- currentRuns < includedRuns;
39
- const hasKnownCredits = typeof credits?.available === 'number';
40
- const maxFromCredits = burningRate
41
- ? Math.floor((credits?.available ?? 0) / burningRate / 60.0)
42
- : undefined;
43
- const effectiveMaxMinutes = hasKnownCredits && hasKnownRunAllowance && !hasRemainingRuns
44
- ? Math.max(1, maxFromCredits ?? 0)
45
- : Math.max(10, maxFromCredits && maxFromCredits > 0 ? maxFromCredits : 0);
46
- const outOfCredits = hasKnownCredits &&
47
- hasKnownRunAllowance &&
48
- !hasRemainingRuns &&
49
- ((credits?.available ?? 0) <= 0 || (maxFromCredits ?? 0) < Number.EPSILON);
50
- return {
51
- maxFromCredits,
52
- effectiveMaxMinutes,
53
- outOfCredits,
54
- hasKnownCredits,
55
- hasKnownRunAllowance,
56
- hasRemainingRuns,
57
- };
17
+ return codeSandboxAllowance({
18
+ available: credits?.available,
19
+ includedRuns: user?.subscription?.usage?.included_runs ??
20
+ user?.subscription?.included_runs,
21
+ currentRuns: user?.subscription?.usage?.current_runs ??
22
+ user?.subscription?.current_runs ??
23
+ user?.subscription?.used_runs,
24
+ burningRate,
25
+ });
58
26
  }
59
27
  /** The credits a time reservation stands for. */
60
28
  export function creditsLimitFor(timeLimitMinutes, burningRate) {
@@ -67,10 +35,19 @@ export function creditsLimitFor(timeLimitMinutes, burningRate) {
67
35
  * The storage is withheld on white-label deployments, as it always was.
68
36
  */
69
37
  export function NewCodeSandboxControls(props) {
70
- const { addCredits, burningRate, withReservation = true, disabled, error, givenName, max, onGivenNameChange, onTimeChange, onUserStorageToggle, storageDisabled, timeLimit, userStorage, withUserStorage = true, } = props;
38
+ const { addCredits, burningRate, withReservation = true, disabled, error, givenName, max, onGivenNameChange, onTimeChange, onHomeFolderToggle, storageDisabled, timeLimit, homeFolder, withHomeFolder = true, } = props;
71
39
  const { configuration } = useCoreStore();
72
- return (_jsxs(_Fragment, { children: [onGivenNameChange && (_jsxs(FormControl, { disabled: disabled, children: [_jsx(FormControl.Label, { children: "Given Name" }), _jsx(TextInput, { block: true, name: "given-name", value: givenName ?? '', onChange: event => onGivenNameChange(event.target.value) }), _jsx(FormControl.Caption, { children: "What this sandbox is called, wherever it is listed." })] })), withReservation && (_jsx(CodeSandboxReservationControl, { addCredits: addCredits, disabled: disabled, label: 'Time reservation', max: max, time: timeLimit, burningRate: burningRate, onTimeChange: onTimeChange, error: error })), withUserStorage && !configuration.whiteLabel && (_jsxs(FormControl, { disabled: storageDisabled, layout: "horizontal", children: [_jsxs(FormControl.Label, { id: "new-sandbox-user-storage-label", children: ["User storage", _jsx(Tooltip, { text: "The runtime will be slower to start.", direction: "e", style: { marginLeft: 3 }, children: _jsx(IconButton, { icon: AlertIcon, "aria-label": "", variant: "invisible" }) })] }), _jsx(ToggleSwitch, { disabled: storageDisabled, checked: userStorage, size: "small", onClick: event => {
40
+ return (_jsxs(_Fragment, { children: [withReservation && (_jsx(CodeSandboxReservationControl, { addCredits: addCredits, disabled: disabled, label: 'Time reservation', max: max, time: timeLimit, burningRate: burningRate, onTimeChange: onTimeChange, error: error })), withHomeFolder && !configuration.whiteLabel && (_jsxs(FormControl, { disabled: storageDisabled, layout: "horizontal", children: [_jsxs(FormControl.Label, { id: "new-sandbox-home-folder-label", children: ["Mount Home Folder", _jsxs(Link, { href: "/docs/contents/home-folder", target: "_blank", rel: "noopener noreferrer",
41
+ // The label is a <label> for the toggle; a click on the link
42
+ // must open the doc, not flip the switch.
43
+ onClick: event => event.stopPropagation(), muted: true, sx: {
44
+ marginLeft: 2,
45
+ fontWeight: 'normal',
46
+ display: 'inline-flex',
47
+ alignItems: 'center',
48
+ gap: 1,
49
+ }, children: [_jsx(InfoIcon, { size: 14 }), "Read more on Home Content"] })] }), _jsx(ToggleSwitch, { disabled: storageDisabled, checked: homeFolder, size: "small", onClick: event => {
73
50
  event.preventDefault();
74
- onUserStorageToggle();
75
- }, "aria-labelledby": "new-sandbox-user-storage-label" })] }))] }));
51
+ onHomeFolderToggle();
52
+ }, "aria-labelledby": "new-sandbox-home-folder-label" })] })), onGivenNameChange && (_jsxs(FormControl, { disabled: disabled, children: [_jsx(FormControl.Label, { children: "Given Name" }), _jsx(TextInput, { block: true, name: "given-name", value: givenName ?? '', onChange: event => onGivenNameChange(event.target.value) }), _jsx(FormControl.Caption, { children: "What this sandbox is called, wherever it is listed." })] }))] }));
76
53
  }
@@ -0,0 +1,33 @@
1
+ /**
2
+ * How long a new Code Sandbox may be reserved for, and whether it may start.
3
+ *
4
+ * Separated from the control that renders it so it can be read and tested as
5
+ * what it is: arithmetic over a balance, a plan's run allowance and the
6
+ * burning rate of an environment. The launcher and the picker both ask it,
7
+ * and must get the same answer.
8
+ */
9
+ /** What the account allows for a new sandbox of a given burning rate. */
10
+ export interface INewCodeSandboxAllowance {
11
+ /** Minutes the available credits pay for; undefined without a usable rate. */
12
+ maxFromCredits?: number;
13
+ /** The ceiling offered by the reservation control. */
14
+ effectiveMaxMinutes: number;
15
+ /** Whether a paid start is impossible: no runs left and no credits. */
16
+ outOfCredits: boolean;
17
+ hasKnownCredits: boolean;
18
+ hasKnownRunAllowance: boolean;
19
+ hasRemainingRuns: boolean;
20
+ }
21
+ /** What a reservation is offered before any credits are known. */
22
+ export declare const DEFAULT_MINUTES_FLOOR = 10;
23
+ export interface ICodeSandboxAllowanceInput {
24
+ /** Credits the account can still commit. */
25
+ available?: number;
26
+ /** Runs the plan includes, when it counts runs. */
27
+ includedRuns?: number;
28
+ /** Runs already taken from that allowance. */
29
+ currentRuns?: number;
30
+ /** Credits per second of the chosen environment. */
31
+ burningRate?: number;
32
+ }
33
+ export declare function codeSandboxAllowance({ available, includedRuns, currentRuns, burningRate, }: ICodeSandboxAllowanceInput): INewCodeSandboxAllowance;
@@ -0,0 +1,37 @@
1
+ /*
2
+ * Copyright (c) 2025-2026 Datalayer, Inc.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+ /** What a reservation is offered before any credits are known. */
6
+ export const DEFAULT_MINUTES_FLOOR = 10;
7
+ export function codeSandboxAllowance({ available, includedRuns, currentRuns, burningRate, }) {
8
+ const hasKnownRunAllowance = typeof includedRuns === 'number';
9
+ const hasRemainingRuns = hasKnownRunAllowance &&
10
+ typeof currentRuns === 'number' &&
11
+ includedRuns > 0 &&
12
+ currentRuns < includedRuns;
13
+ /*
14
+ * Finite, not merely a number: `NaN` is a `number`, and reading it as a
15
+ * known balance is how an account holding thousands of credits was offered
16
+ * the ten-minute floor. Unknown is unknown, and says so.
17
+ */
18
+ const hasKnownCredits = Number.isFinite(available);
19
+ const maxFromCredits = burningRate && burningRate > 0 && hasKnownCredits
20
+ ? Math.floor((available ?? 0) / burningRate / 60.0)
21
+ : undefined;
22
+ const effectiveMaxMinutes = hasKnownCredits && hasKnownRunAllowance && !hasRemainingRuns
23
+ ? Math.max(1, maxFromCredits ?? 0)
24
+ : Math.max(DEFAULT_MINUTES_FLOOR, maxFromCredits && maxFromCredits > 0 ? maxFromCredits : 0);
25
+ const outOfCredits = hasKnownCredits &&
26
+ hasKnownRunAllowance &&
27
+ !hasRemainingRuns &&
28
+ ((available ?? 0) <= 0 || (maxFromCredits ?? 0) < Number.EPSILON);
29
+ return {
30
+ maxFromCredits,
31
+ effectiveMaxMinutes,
32
+ outOfCredits,
33
+ hasKnownCredits,
34
+ hasKnownRunAllowance,
35
+ hasRemainingRuns,
36
+ };
37
+ }
@@ -0,0 +1,86 @@
1
+ /**
2
+ * What the environment dropdown says about an environment, as rules.
3
+ *
4
+ * The listing now holds two kinds of thing: the platform's environments, which
5
+ * have always been there, and the environments people build (PLAN_ENV.md,
6
+ * E1-01). They are told apart, grouped, priced and — where a variant was never
7
+ * built — refused here rather than in the components, so the launcher and the
8
+ * picker cannot come to different conclusions about the same entry, and so the
9
+ * rules can be read and tested without a DOM.
10
+ *
11
+ * Nothing in this module writes a rate: the burning rate of a user environment
12
+ * is the rate of the size class its promoted version names, and the listing
13
+ * carries it (D-4, E1-19).
14
+ *
15
+ * @module components/code-sandboxes/codeSandboxEnvironments
16
+ */
17
+ import type { IDatalayerEnvironment } from '../../models';
18
+ import type { ICodeSandboxEnvironmentOption } from './CodeSandboxEnvironmentSelect';
19
+ /**
20
+ * The variant a sandbox of THIS platform starts on.
21
+ *
22
+ * A user environment may be built for Modal, Daytona or E2B as well; those
23
+ * sandboxes are launched at their provider, not from this dropdown, so what
24
+ * decides whether an entry can be launched here is the Datalayer artifact.
25
+ */
26
+ export declare const DATALAYER_LAUNCH_VARIANT = "datalayer";
27
+ /** Where an entry is listed. */
28
+ export type CodeSandboxEnvironmentGroup = 'yours' | 'organizations' | 'library' | 'platform';
29
+ /** The heading each group reads under. */
30
+ export declare const CODE_SANDBOX_ENVIRONMENT_GROUP_TITLES: Record<CodeSandboxEnvironmentGroup, string>;
31
+ /**
32
+ * The order the groups are offered in: what is yours first, then your
33
+ * organizations', then the environments you found in the Library, and the
34
+ * platform's own catalogue last, since it is the always-there fallback.
35
+ */
36
+ export declare const CODE_SANDBOX_ENVIRONMENT_GROUP_ORDER: CodeSandboxEnvironmentGroup[];
37
+ /** Who is looking: an account uid and a handle, as the IAM store holds them. */
38
+ export type ICodeSandboxEnvironmentViewer = {
39
+ uid?: string;
40
+ handle?: string;
41
+ };
42
+ /**
43
+ * Which group an entry belongs to.
44
+ *
45
+ * An entry that reached the picker through the public Library is a *library*
46
+ * entry, whoever owns it: a published environment is offered where a reader who
47
+ * came from its public page looks for it (D-12, E2-16). Otherwise a platform
48
+ * entry says so with its `origin`. A user environment is the caller's own when
49
+ * the account that owns it is theirs — by uid, or by the handle its name is
50
+ * written with, `ada/geo`, since that is all an entry carries when the uid is
51
+ * not at hand. Everything else a caller can see is an environment of one of
52
+ * their organizations: the listing only ever offers them their own accounts'
53
+ * (D-19).
54
+ */
55
+ export declare function codeSandboxEnvironmentGroupOf(environment: Pick<IDatalayerEnvironment, 'name' | 'origin' | 'owner' | 'fromLibrary'>, viewer?: ICodeSandboxEnvironmentViewer): CodeSandboxEnvironmentGroup;
56
+ /** The version a launch of this entry runs, when it is a version anyone pinned. */
57
+ export declare function codeSandboxEnvironmentVersion(environment: Pick<IDatalayerEnvironment, 'origin' | 'promotedVersion'>): number | undefined;
58
+ /** The address of a version's page (E1-21), where its builds are. */
59
+ export declare function environmentVersionHref(uid: string, version?: number): string;
60
+ /**
61
+ * Whether a sandbox of this entry can be started from here.
62
+ *
63
+ * A platform entry always can. A user environment can once a version is
64
+ * promoted AND that version has a Datalayer artifact: without one the Operator
65
+ * refuses the launch with `DL_ENV_ARTIFACT_MISSING`, so offering it would be
66
+ * offering a failure. A listing that does not say which variants are built —
67
+ * an older Runtimes — is believed rather than doubted: the entry stays
68
+ * offered, and the refusal, if any, comes from the platform as it did before.
69
+ */
70
+ export declare function isCodeSandboxEnvironmentLaunchable(environment: Pick<IDatalayerEnvironment, 'origin' | 'promotedVersion' | 'availableVariants' | 'burning_rate'>): boolean;
71
+ /**
72
+ * Where "Build for this variant" leads: the version's own page, which is where
73
+ * a build of it is started. Only offered for an entry that has a version to
74
+ * build, and only when the entry cannot be launched as it stands.
75
+ */
76
+ export declare function codeSandboxEnvironmentBuildHref(environment: Pick<IDatalayerEnvironment, 'uid' | 'origin' | 'promotedVersion' | 'availableVariants'>): string | undefined;
77
+ /** One entry as the dropdown shows it: what it is, what it costs, and whether it can run. */
78
+ export declare function codeSandboxEnvironmentOption(environment: IDatalayerEnvironment, viewer?: ICodeSandboxEnvironmentViewer, extra?: Partial<ICodeSandboxEnvironmentOption>): ICodeSandboxEnvironmentOption;
79
+ /**
80
+ * The entries of the dropdown, in the order they read: what is yours, then
81
+ * your organizations', then the platform's, each in the order the listing gave
82
+ * them.
83
+ */
84
+ export declare function codeSandboxEnvironmentOptions(environments: readonly IDatalayerEnvironment[], viewer?: ICodeSandboxEnvironmentViewer, decorate?: (environment: IDatalayerEnvironment) => Partial<ICodeSandboxEnvironmentOption>): ICodeSandboxEnvironmentOption[];
85
+ /** The first entry a launcher may open on: never one that cannot be launched. */
86
+ export declare function firstLaunchableCodeSandboxEnvironment(environments: readonly IDatalayerEnvironment[]): IDatalayerEnvironment | undefined;
@@ -0,0 +1,147 @@
1
+ /*
2
+ * Copyright (c) 2025-2026 Datalayer, Inc.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+ /**
6
+ * The variant a sandbox of THIS platform starts on.
7
+ *
8
+ * A user environment may be built for Modal, Daytona or E2B as well; those
9
+ * sandboxes are launched at their provider, not from this dropdown, so what
10
+ * decides whether an entry can be launched here is the Datalayer artifact.
11
+ */
12
+ export const DATALAYER_LAUNCH_VARIANT = 'datalayer';
13
+ /** The heading each group reads under. */
14
+ export const CODE_SANDBOX_ENVIRONMENT_GROUP_TITLES = {
15
+ yours: 'Your environments',
16
+ organizations: "Your organizations' environments",
17
+ library: 'Library',
18
+ platform: 'Platform environments',
19
+ };
20
+ /**
21
+ * The order the groups are offered in: what is yours first, then your
22
+ * organizations', then the environments you found in the Library, and the
23
+ * platform's own catalogue last, since it is the always-there fallback.
24
+ */
25
+ export const CODE_SANDBOX_ENVIRONMENT_GROUP_ORDER = ['yours', 'organizations', 'library', 'platform'];
26
+ /**
27
+ * Which group an entry belongs to.
28
+ *
29
+ * An entry that reached the picker through the public Library is a *library*
30
+ * entry, whoever owns it: a published environment is offered where a reader who
31
+ * came from its public page looks for it (D-12, E2-16). Otherwise a platform
32
+ * entry says so with its `origin`. A user environment is the caller's own when
33
+ * the account that owns it is theirs — by uid, or by the handle its name is
34
+ * written with, `ada/geo`, since that is all an entry carries when the uid is
35
+ * not at hand. Everything else a caller can see is an environment of one of
36
+ * their organizations: the listing only ever offers them their own accounts'
37
+ * (D-19).
38
+ */
39
+ export function codeSandboxEnvironmentGroupOf(environment, viewer) {
40
+ if (environment.fromLibrary) {
41
+ return 'library';
42
+ }
43
+ if (environment.origin !== 'user') {
44
+ return 'platform';
45
+ }
46
+ const handle = viewer?.handle;
47
+ const mine = (!!viewer?.uid && environment.owner === viewer.uid) ||
48
+ (!!handle && environment.name.startsWith(`${handle}/`));
49
+ return mine ? 'yours' : 'organizations';
50
+ }
51
+ /** The version a launch of this entry runs, when it is a version anyone pinned. */
52
+ export function codeSandboxEnvironmentVersion(environment) {
53
+ if (environment.origin !== 'user') {
54
+ return undefined;
55
+ }
56
+ return environment.promotedVersion?.version;
57
+ }
58
+ /** The address of a version's page (E1-21), where its builds are. */
59
+ export function environmentVersionHref(uid, version) {
60
+ return version === undefined
61
+ ? `/environments/${uid}/versions`
62
+ : `/environments/${uid}/versions/${version}`;
63
+ }
64
+ /**
65
+ * Whether a sandbox of this entry can be started from here.
66
+ *
67
+ * A platform entry always can. A user environment can once a version is
68
+ * promoted AND that version has a Datalayer artifact: without one the Operator
69
+ * refuses the launch with `DL_ENV_ARTIFACT_MISSING`, so offering it would be
70
+ * offering a failure. A listing that does not say which variants are built —
71
+ * an older Runtimes — is believed rather than doubted: the entry stays
72
+ * offered, and the refusal, if any, comes from the platform as it did before.
73
+ */
74
+ export function isCodeSandboxEnvironmentLaunchable(environment) {
75
+ if (environment.origin !== 'user') {
76
+ return true;
77
+ }
78
+ if (!environment.promotedVersion) {
79
+ return false;
80
+ }
81
+ const available = environment.availableVariants;
82
+ if (available === undefined) {
83
+ return true;
84
+ }
85
+ if (!available.includes(DATALAYER_LAUNCH_VARIANT)) {
86
+ return false;
87
+ }
88
+ /*
89
+ * And it has to be priceable. A launch reserves credits before anything
90
+ * starts, so an entry whose size class carries no rate cannot be launched
91
+ * from here at all — offering it would reserve nothing and be refused by the
92
+ * platform, which reads to the user as the sandbox failing for no reason.
93
+ */
94
+ return !!environment.burning_rate;
95
+ }
96
+ /**
97
+ * Where "Build for this variant" leads: the version's own page, which is where
98
+ * a build of it is started. Only offered for an entry that has a version to
99
+ * build, and only when the entry cannot be launched as it stands.
100
+ */
101
+ export function codeSandboxEnvironmentBuildHref(environment) {
102
+ if (environment.origin !== 'user' || !environment.uid) {
103
+ return undefined;
104
+ }
105
+ const available = environment.availableVariants;
106
+ /*
107
+ * Only where a BUILD is the thing that is missing. An entry that has its
108
+ * artifact and cannot be launched for another reason — an unpriced size
109
+ * class — is not made better by building it again, and an older Runtimes,
110
+ * which says nothing about artifacts, is not second-guessed.
111
+ */
112
+ if (available === undefined || available.includes(DATALAYER_LAUNCH_VARIANT)) {
113
+ return undefined;
114
+ }
115
+ return environmentVersionHref(environment.uid, codeSandboxEnvironmentVersion(environment));
116
+ }
117
+ /** One entry as the dropdown shows it: what it is, what it costs, and whether it can run. */
118
+ export function codeSandboxEnvironmentOption(environment, viewer, extra = {}) {
119
+ const group = codeSandboxEnvironmentGroupOf(environment, viewer);
120
+ const version = codeSandboxEnvironmentVersion(environment);
121
+ return {
122
+ key: environment.name,
123
+ title: environment.title || environment.name,
124
+ name: environment.name,
125
+ group: CODE_SANDBOX_ENVIRONMENT_GROUP_TITLES[group],
126
+ version: version === undefined ? undefined : `v${version}`,
127
+ sizeClass: environment.sizeClass || undefined,
128
+ burningRate: environment.burning_rate,
129
+ gpu: environment.resources?.['nvidia.com/gpu'],
130
+ disabled: !isCodeSandboxEnvironmentLaunchable(environment),
131
+ buildHref: codeSandboxEnvironmentBuildHref(environment),
132
+ ...extra,
133
+ };
134
+ }
135
+ /**
136
+ * The entries of the dropdown, in the order they read: what is yours, then
137
+ * your organizations', then the platform's, each in the order the listing gave
138
+ * them.
139
+ */
140
+ export function codeSandboxEnvironmentOptions(environments, viewer, decorate) {
141
+ const options = environments.map(environment => codeSandboxEnvironmentOption(environment, viewer, decorate?.(environment) ?? {}));
142
+ return CODE_SANDBOX_ENVIRONMENT_GROUP_ORDER.flatMap(group => options.filter(option => option.group === CODE_SANDBOX_ENVIRONMENT_GROUP_TITLES[group]));
143
+ }
144
+ /** The first entry a launcher may open on: never one that cannot be launched. */
145
+ export function firstLaunchableCodeSandboxEnvironment(environments) {
146
+ return environments.find(isCodeSandboxEnvironmentLaunchable);
147
+ }
@@ -0,0 +1,29 @@
1
+ import type { IMultiServiceManager } from '../../api';
2
+ import type { IRuntimeLocation } from '../../models';
3
+ /** A place sandboxes run, as this page knows it. */
4
+ export type ICodeSandboxProvider = {
5
+ /** Identifier of the provider, which is where its sandboxes run. */
6
+ name: IRuntimeLocation;
7
+ /** What it is called, for a person. */
8
+ title: string;
9
+ /** Whether this page can reach it at all. */
10
+ available: boolean;
11
+ /** Why not, when it cannot. */
12
+ unavailableReason?: string;
13
+ };
14
+ /**
15
+ * Every provider this page knows, and whether it can be used.
16
+ *
17
+ * @param multiServiceManager The services of the page, which say what is
18
+ * reachable: the platform when the account has it, the Jupyter Server when
19
+ * the page is one, the browser when kernels run in it
20
+ */
21
+ export declare function codeSandboxProviders(multiServiceManager: IMultiServiceManager | undefined): ICodeSandboxProvider[];
22
+ /**
23
+ * Whether one provider can be used from this page.
24
+ *
25
+ * @param location Where the sandboxes of that provider run
26
+ * @param multiServiceManager The services of the page
27
+ */
28
+ export declare function isCodeSandboxProviderAvailable(location: IRuntimeLocation, multiServiceManager: IMultiServiceManager | undefined): boolean;
29
+ export default codeSandboxProviders;
@@ -0,0 +1,90 @@
1
+ /*
2
+ * Copyright (c) 2025-2026 Datalayer, Inc.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+ /**
6
+ * The places a code sandbox can run, and which of them this page can use.
7
+ *
8
+ * A sandbox is not one kind of thing: it is a runtime of the platform, a
9
+ * kernel of a Jupyter Server, a kernel of the browser — and, on the Python
10
+ * side, a Kaggle session, a Modal or CoreWeave container, an E2B microVM, a
11
+ * Daytona sandbox or a Cloudflare edge container as well. Each of those is a
12
+ * PROVIDER, each ships the environments it offers (the platform ships
13
+ * `ai-agents-env`, Kaggle a CPU and a GPU session), and each is usable only
14
+ * where what it needs is at hand.
15
+ *
16
+ * That last rule was written three times over — in the picker, in the
17
+ * launcher, in the table of the sandboxes — and drifted every time it was
18
+ * touched: withholding the platform inside JupyterLab took `ai-agents-env`
19
+ * off the list and left no way to launch a remote sandbox there at all. It is
20
+ * stated once here, and the three read it.
21
+ *
22
+ * The same concept lives in `code_sandboxes.providers` on the Python side,
23
+ * where availability is decided by secrets rather than by services. Both
24
+ * answer the same question — which providers can be used from here — so the
25
+ * CLI, the web application and JupyterLab offer the same thing.
26
+ *
27
+ * The clouds of that registry — Kaggle, Modal, Cloudflare, CoreWeave,
28
+ * Daytona, E2B — are deliberately absent from the list below. Nothing on this
29
+ * page holds their credentials, and nothing here should: the operator holds
30
+ * them, decides which of them an account may use, and serves what they offer
31
+ * as environments of the platform, each tagged with its provider through
32
+ * `owner`. So they reach this page under `remote`, one provider as far as the
33
+ * services are concerned, and `CodeSandboxVariant` is what tells them apart.
34
+ *
35
+ * @module components/code-sandboxes/codeSandboxProviders
36
+ */
37
+ import { loadJupyterConfig } from '@datalayer/jupyter-react';
38
+ /**
39
+ * Every provider this page knows, and whether it can be used.
40
+ *
41
+ * @param multiServiceManager The services of the page, which say what is
42
+ * reachable: the platform when the account has it, the Jupyter Server when
43
+ * the page is one, the browser when kernels run in it
44
+ */
45
+ export function codeSandboxProviders(multiServiceManager) {
46
+ /*
47
+ * The Jupyter Server is the provider bound to WHERE the page runs.
48
+ *
49
+ * Its kernels belong to the server the page is talking to. Outside
50
+ * JupyterLab there is no such server — what a manager reports as "local" is
51
+ * somebody else's — so offering them promises what cannot be reached.
52
+ */
53
+ const insideJupyterLab = loadJupyterConfig().insideJupyterLab;
54
+ return [
55
+ {
56
+ name: 'remote',
57
+ title: 'Datalayer',
58
+ available: Boolean(multiServiceManager?.remote),
59
+ unavailableReason: multiServiceManager?.remote
60
+ ? undefined
61
+ : 'Sign in to Datalayer to launch a sandbox on the platform.',
62
+ },
63
+ {
64
+ name: 'local',
65
+ title: 'Jupyter Server',
66
+ available: insideJupyterLab && Boolean(multiServiceManager?.local),
67
+ unavailableReason: insideJupyterLab
68
+ ? undefined
69
+ : 'The kernels of a Jupyter Server are offered inside JupyterLab.',
70
+ },
71
+ {
72
+ name: 'browser',
73
+ title: 'Browser',
74
+ available: Boolean(multiServiceManager?.browser),
75
+ unavailableReason: multiServiceManager?.browser
76
+ ? undefined
77
+ : 'No kernel runs in this browser.',
78
+ },
79
+ ];
80
+ }
81
+ /**
82
+ * Whether one provider can be used from this page.
83
+ *
84
+ * @param location Where the sandboxes of that provider run
85
+ * @param multiServiceManager The services of the page
86
+ */
87
+ export function isCodeSandboxProviderAvailable(location, multiServiceManager) {
88
+ return Boolean(codeSandboxProviders(multiServiceManager).find(provider => provider.name === location)?.available);
89
+ }
90
+ export default codeSandboxProviders;
@@ -11,12 +11,15 @@
11
11
  */
12
12
  export * from './CodeSandboxCellVariables';
13
13
  export * from './CodeSandboxCellVariablesDialog';
14
+ export * from './codeSandboxEnvironments';
15
+ export * from './CodeSandboxEnvironmentSelect';
14
16
  export * from './CodeSandboxLauncher';
15
17
  export * from './CodeSandboxPicker';
16
18
  export * from './CodeSandboxPickerCell';
17
19
  export * from './CodeSandboxReservationControl';
18
20
  export * from './CodeSandboxTransfer';
19
21
  export * from './CodeSandboxNames';
22
+ export * from './codeSandboxProviders';
20
23
  export * from './CodeSandboxUtils';
21
24
  export * from './CodeSandboxVariables';
22
25
  export * from './NewCodeSandboxControls';
@@ -15,12 +15,15 @@
15
15
  */
16
16
  export * from './CodeSandboxCellVariables';
17
17
  export * from './CodeSandboxCellVariablesDialog';
18
+ export * from './codeSandboxEnvironments';
19
+ export * from './CodeSandboxEnvironmentSelect';
18
20
  export * from './CodeSandboxLauncher';
19
21
  export * from './CodeSandboxPicker';
20
22
  export * from './CodeSandboxPickerCell';
21
23
  export * from './CodeSandboxReservationControl';
22
24
  export * from './CodeSandboxTransfer';
23
25
  export * from './CodeSandboxNames';
26
+ export * from './codeSandboxProviders';
24
27
  export * from './CodeSandboxUtils';
25
28
  export * from './CodeSandboxVariables';
26
29
  export * from './NewCodeSandboxControls';
@@ -1,2 +1,2 @@
1
- export declare const SpaceSelect: () => import("react/jsx-runtime").JSX.Element;
1
+ export declare const SpaceSelect: () => import("react").JSX.Element;
2
2
  export default SpaceSelect;
@@ -1,2 +1,2 @@
1
- export declare const FlashDisclaimer: () => import("react/jsx-runtime").JSX.Element;
1
+ export declare const FlashDisclaimer: () => import("react").JSX.Element;
2
2
  export default FlashDisclaimer;
@@ -1,3 +1,4 @@
1
+ import type { JSX } from 'react';
1
2
  import { Icon } from '@primer/octicons-react';
2
3
  import { IAnyItem, IItemType } from '../../models';
3
4
  type IArtifactIconClassProp = {
@@ -1,5 +1,5 @@
1
1
  import { IStudentItem } from '../../models';
2
2
  export declare const NbGradesDetails: (props: {
3
3
  studentItem?: IStudentItem;
4
- }) => import("react/jsx-runtime").JSX.Element;
4
+ }) => import("react").JSX.Element;
5
5
  export default NbGradesDetails;
@@ -1,3 +1,4 @@
1
+ import type { JSX } from 'react';
1
2
  import type { IRemoteServicesManager } from '../../runtimes';
2
3
  type ICreditsIndicatorProps = {
3
4
  /**