@datalayer/agent-runtimes 1.0.29 → 1.3.11

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 (779) 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 +2 -1
  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 +406 -4
  23. package/lib/api/runtimes/environments.js +641 -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 +20 -2
  30. package/lib/chat/ChatFloating.js +196 -118
  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/ButtonGlow.d.ts +9 -0
  44. package/lib/chat/display/ButtonGlow.js +60 -0
  45. package/lib/chat/display/EmptyState.d.ts +15 -1
  46. package/lib/chat/display/EmptyState.js +81 -12
  47. package/lib/chat/display/FloatingBrandButton.d.ts +1 -1
  48. package/lib/chat/display/PoweredByTag.d.ts +1 -1
  49. package/lib/chat/display/groupSuggestions.d.ts +21 -0
  50. package/lib/chat/display/groupSuggestions.js +18 -0
  51. package/lib/chat/document/EphemeralDocument.d.ts +70 -6
  52. package/lib/chat/document/EphemeralDocument.js +154 -52
  53. package/lib/chat/header/ChatHeader.d.ts +1 -1
  54. package/lib/chat/header/ChatHeaderBase.d.ts +10 -1
  55. package/lib/chat/header/ChatHeaderBase.js +21 -102
  56. package/lib/chat/header/ChatViewModeToggle.d.ts +29 -0
  57. package/lib/chat/header/ChatViewModeToggle.js +55 -0
  58. package/lib/chat/index.d.ts +5 -1
  59. package/lib/chat/index.js +9 -1
  60. package/lib/chat/indicators/McpStatusIndicator.d.ts +1 -1
  61. package/lib/chat/indicators/SandboxStatusIndicator.d.ts +1 -1
  62. package/lib/chat/indicators/SandboxStatusIndicator.js +1 -1
  63. package/lib/chat/indicators/SkillsStatusIndicator.d.ts +1 -1
  64. package/lib/chat/messages/ChatMessageList.d.ts +22 -1
  65. package/lib/chat/messages/ChatMessageList.js +370 -166
  66. package/lib/chat/messages/ChatMessages.d.ts +1 -1
  67. package/lib/chat/messages/NotebookToolSurfaces.d.ts +68 -0
  68. package/lib/chat/messages/NotebookToolSurfaces.js +302 -0
  69. package/lib/chat/messages/TurnFooter.d.ts +42 -0
  70. package/lib/chat/messages/TurnFooter.js +75 -0
  71. package/lib/chat/messages/assistantMarkdown.d.ts +22 -0
  72. package/lib/chat/messages/assistantMarkdown.js +56 -0
  73. package/lib/chat/notebook/EphemeralNotebook.d.ts +67 -6
  74. package/lib/chat/notebook/EphemeralNotebook.js +194 -61
  75. package/lib/chat/parts/DynamicToolPart.d.ts +1 -1
  76. package/lib/chat/parts/MessagePart.d.ts +1 -1
  77. package/lib/chat/parts/ReasoningPart.d.ts +8 -1
  78. package/lib/chat/parts/TextPart.d.ts +1 -1
  79. package/lib/chat/parts/ToolPart.d.ts +8 -1
  80. package/lib/chat/prompt/FloatingCard.d.ts +26 -0
  81. package/lib/chat/prompt/FloatingCard.js +80 -0
  82. package/lib/chat/prompt/InputPrompt.d.ts +206 -53
  83. package/lib/chat/prompt/InputPrompt.js +161 -80
  84. package/lib/chat/prompt/InputPromptBase.d.ts +112 -0
  85. package/lib/chat/prompt/InputPromptBase.js +225 -0
  86. package/lib/chat/prompt/InputPromptLexical.d.ts +18 -1
  87. package/lib/chat/prompt/InputPromptLexical.js +227 -30
  88. package/lib/chat/prompt/InputPromptText.d.ts +10 -2
  89. package/lib/chat/prompt/InputPromptText.js +35 -3
  90. package/lib/chat/prompt/footer/BelowPromptFooter.d.ts +25 -0
  91. package/lib/chat/prompt/footer/BelowPromptFooter.js +12 -0
  92. package/lib/chat/prompt/footer/InPromptFooter.d.ts +35 -0
  93. package/lib/chat/prompt/footer/InPromptFooter.js +16 -0
  94. package/lib/chat/prompt/footer/index.d.ts +7 -0
  95. package/lib/chat/prompt/footer/index.js +11 -0
  96. package/lib/chat/prompt/header/BelowPromptHeader.d.ts +23 -0
  97. package/lib/chat/prompt/header/BelowPromptHeader.js +12 -0
  98. package/lib/chat/prompt/header/InPromptHeader.d.ts +31 -0
  99. package/lib/chat/prompt/header/InPromptHeader.js +14 -0
  100. package/lib/chat/prompt/header/index.d.ts +7 -0
  101. package/lib/chat/prompt/header/index.js +11 -0
  102. package/lib/chat/prompt/index.d.ts +8 -4
  103. package/lib/chat/prompt/index.js +15 -3
  104. package/lib/chat/prompt/menus/AgentsMenu.d.ts +14 -0
  105. package/lib/chat/prompt/menus/AgentsMenu.js +42 -0
  106. package/lib/chat/prompt/menus/InlineAgentsMenu.d.ts +22 -0
  107. package/lib/chat/prompt/menus/InlineAgentsMenu.js +24 -0
  108. package/lib/chat/prompt/menus/ModelSelector.d.ts +7 -0
  109. package/lib/chat/prompt/menus/ModelSelector.js +27 -0
  110. package/lib/chat/prompt/menus/SkillsMenu.d.ts +10 -0
  111. package/lib/chat/prompt/menus/SkillsMenu.js +75 -0
  112. package/lib/chat/prompt/menus/SuggestionsMenu.d.ts +13 -0
  113. package/lib/chat/prompt/menus/SuggestionsMenu.js +31 -0
  114. package/lib/chat/prompt/menus/ToolsMenu.d.ts +13 -0
  115. package/lib/chat/prompt/menus/ToolsMenu.js +103 -0
  116. package/lib/chat/prompt/menus/index.d.ts +15 -0
  117. package/lib/chat/prompt/menus/index.js +19 -0
  118. package/lib/chat/prompt/plugins/AgentMentionPlugin.d.ts +54 -0
  119. package/lib/chat/prompt/plugins/AgentMentionPlugin.js +370 -0
  120. package/lib/chat/prompt/plugins/CommandPlugin.d.ts +52 -0
  121. package/lib/chat/prompt/plugins/CommandPlugin.js +359 -0
  122. package/lib/chat/prompt/plugins/MentionChip.d.ts +15 -0
  123. package/lib/chat/prompt/plugins/MentionChip.js +24 -0
  124. package/lib/chat/prompt/plugins/MentionNode.d.ts +66 -0
  125. package/lib/chat/prompt/plugins/MentionNode.js +77 -0
  126. package/lib/chat/prompt/promptHistory.d.ts +52 -0
  127. package/lib/chat/prompt/promptHistory.js +123 -0
  128. package/lib/chat/prompt/stack.d.ts +81 -0
  129. package/lib/chat/prompt/stack.js +41 -0
  130. package/lib/chat/prompt/useTypingPlaceholder.d.ts +52 -0
  131. package/lib/chat/prompt/useTypingPlaceholder.js +180 -0
  132. package/lib/chat/tools/A2AAgentDialog.d.ts +60 -0
  133. package/lib/chat/tools/A2AAgentDialog.js +265 -0
  134. package/lib/chat/tools/ToolApprovalBanner.d.ts +1 -1
  135. package/lib/chat/tools/ToolApprovalDialog.d.ts +1 -1
  136. package/lib/chat/tools/ToolCallDisplay.d.ts +8 -1
  137. package/lib/chat/tools/index.d.ts +1 -0
  138. package/lib/chat/tools/index.js +1 -0
  139. package/lib/chat/usage/ContextPie.d.ts +17 -0
  140. package/lib/chat/usage/{TokenUsageBar.js → ContextPie.js} +20 -14
  141. package/lib/chat/useViewportDrag.d.ts +11 -0
  142. package/lib/chat/useViewportDrag.js +61 -0
  143. package/lib/chat/viewModes.d.ts +51 -0
  144. package/lib/chat/viewModes.js +57 -0
  145. package/lib/client/AgentRuntimesClient.d.ts +10 -9
  146. package/lib/client/AgentRuntimesClient.js +1 -1
  147. package/lib/client/AgentRuntimesClientContext.d.ts +1 -0
  148. package/lib/client/AgentsMixin.d.ts +12 -12
  149. package/lib/client/AgentsMixin.js +31 -31
  150. package/lib/client/IAgentRuntimesClient.d.ts +10 -10
  151. package/lib/client/SdkAgentRuntimesClient.d.ts +10 -10
  152. package/lib/client/SdkAgentRuntimesClient.js +10 -10
  153. package/lib/client/mixins/RuntimesMixin.d.ts +37 -10
  154. package/lib/client/mixins/RuntimesMixin.js +54 -21
  155. package/lib/components/a2ui/A2uiSurfaceComposed.d.ts +1 -1
  156. package/lib/components/agents/AgentSummary.d.ts +13 -0
  157. package/lib/components/agents/AgentSummary.js +21 -4
  158. package/lib/components/cards/NotificationEventCard.d.ts +1 -1
  159. package/lib/components/cards/OutputCard.d.ts +1 -1
  160. package/lib/components/cards/ToolApprovalCard.d.ts +2 -2
  161. package/lib/components/cards/ToolApprovalCard.js +1 -0
  162. package/lib/components/code-sandboxes/CodeSandboxCellVariables.d.ts +1 -0
  163. package/lib/components/code-sandboxes/CodeSandboxCellVariables.js +0 -4
  164. package/lib/components/code-sandboxes/CodeSandboxCellVariablesDialog.d.ts +1 -0
  165. package/lib/components/code-sandboxes/CodeSandboxCellVariablesDialog.js +0 -4
  166. package/lib/components/code-sandboxes/CodeSandboxEnvironmentSelect.d.ts +35 -0
  167. package/lib/components/code-sandboxes/CodeSandboxEnvironmentSelect.js +27 -29
  168. package/lib/components/code-sandboxes/CodeSandboxLauncher.d.ts +9 -0
  169. package/lib/components/code-sandboxes/CodeSandboxLauncher.js +95 -23
  170. package/lib/components/code-sandboxes/CodeSandboxNames.js +7 -6
  171. package/lib/components/code-sandboxes/CodeSandboxPicker.js +89 -42
  172. package/lib/components/code-sandboxes/CodeSandboxPickerCell.d.ts +1 -0
  173. package/lib/components/code-sandboxes/CodeSandboxPickerCell.js +0 -4
  174. package/lib/components/code-sandboxes/CodeSandboxReservationControl.d.ts +1 -0
  175. package/lib/components/code-sandboxes/CodeSandboxReservationControl.js +5 -7
  176. package/lib/components/code-sandboxes/CodeSandboxTransfer.d.ts +5 -0
  177. package/lib/components/code-sandboxes/CodeSandboxUtils.d.ts +13 -1
  178. package/lib/components/code-sandboxes/CodeSandboxUtils.js +10 -4
  179. package/lib/components/code-sandboxes/NewCodeSandboxControls.d.ts +21 -15
  180. package/lib/components/code-sandboxes/NewCodeSandboxControls.js +28 -51
  181. package/lib/components/code-sandboxes/codeSandboxAllowance.d.ts +33 -0
  182. package/lib/components/code-sandboxes/codeSandboxAllowance.js +37 -0
  183. package/lib/components/code-sandboxes/codeSandboxEnvironments.d.ts +97 -0
  184. package/lib/components/code-sandboxes/codeSandboxEnvironments.js +184 -0
  185. package/lib/components/code-sandboxes/codeSandboxProviders.js +14 -5
  186. package/lib/components/code-sandboxes/index.d.ts +1 -0
  187. package/lib/components/code-sandboxes/index.js +1 -0
  188. package/lib/components/context/SpaceSelect.d.ts +1 -1
  189. package/lib/components/flashes/FlashDisclaimer.d.ts +1 -1
  190. package/lib/components/icons/ArtifactIcon.d.ts +1 -0
  191. package/lib/components/icons/ArtifactIcon.js +2 -1
  192. package/lib/components/nbgrader/NbGradesDetails.d.ts +1 -1
  193. package/lib/components/progress/CreditsIndicator.d.ts +1 -0
  194. package/lib/components/progress/CreditsIndicator.js +0 -4
  195. package/lib/components/scheduler/ScheduleMenu.d.ts +1 -1
  196. package/lib/components/snapshots/SandboxSnapshotMenu.d.ts +3 -2
  197. package/lib/components/snapshots/SandboxSnapshotMenu.js +11 -15
  198. package/lib/components/snippets/SnippetDialog.d.ts +1 -0
  199. package/lib/components/snippets/SnippetDialog.js +0 -4
  200. package/lib/components/specs/SpecPayloadPreview.d.ts +34 -0
  201. package/lib/components/specs/SpecPayloadPreview.js +102 -0
  202. package/lib/components/tokens/SpaceVariantToken.d.ts +1 -1
  203. package/lib/context/ContextDistribution.d.ts +1 -1
  204. package/lib/context/ContextInspector.d.ts +2 -1
  205. package/lib/context/ContextPanel.d.ts +1 -1
  206. package/lib/context/ContextUsage.d.ts +1 -1
  207. package/lib/context/CostTracker.d.ts +1 -1
  208. package/lib/context/CostUsageChart.d.ts +1 -1
  209. package/lib/context/CostUsageChart.js +4 -4
  210. package/lib/context/MessageHistory.d.ts +3 -2
  211. package/lib/context/TokenUsageChart.d.ts +1 -1
  212. package/lib/context/TokenUsageChart.js +4 -4
  213. package/lib/examples/A2UiAgentExample.js +15 -6
  214. package/lib/examples/A2UiComponentsGalleryExample.d.ts +10 -0
  215. package/lib/examples/A2UiComponentsGalleryExample.js +24 -855
  216. package/lib/examples/A2UiContactCardExample.d.ts +10 -0
  217. package/lib/examples/A2UiContactCardExample.js +23 -170
  218. package/lib/examples/A2UiJupyterOutputExample.d.ts +3 -0
  219. package/lib/examples/A2UiJupyterOutputExample.js +792 -0
  220. package/lib/examples/A2UiRestaurantExample.d.ts +10 -0
  221. package/lib/examples/A2UiRestaurantExample.js +24 -179
  222. package/lib/examples/A2UiViewerExample.d.ts +10 -0
  223. package/lib/examples/A2UiViewerExample.js +24 -378
  224. package/lib/examples/AgUiAgenticExample.js +2 -4
  225. package/lib/examples/AgUiBackendToolRenderingExample.js +3 -5
  226. package/lib/examples/AgUiHaikuGenUiExample.js +2 -4
  227. package/lib/examples/AgUiHumanInTheLoopExample.js +2 -4
  228. package/lib/examples/AgUiSharedStateExample.js +2 -4
  229. package/lib/examples/AgUiToolsBasedGenUiExample.js +2 -4
  230. package/lib/examples/AgentA2AExample.d.ts +17 -0
  231. package/lib/examples/AgentA2AExample.js +56 -0
  232. package/lib/examples/AgentCheckpointsExample.d.ts +9 -10
  233. package/lib/examples/AgentCheckpointsExample.js +72 -54
  234. package/lib/examples/AgentCodeSandboxExample.d.ts +7 -7
  235. package/lib/examples/AgentCodeSandboxExample.js +93 -303
  236. package/lib/examples/AgentCodeSandboxesExample.d.ts +10 -0
  237. package/lib/examples/AgentCodeSandboxesExample.js +56 -162
  238. package/lib/examples/AgentCodemodeExample.d.ts +7 -2
  239. package/lib/examples/AgentCodemodeExample.js +60 -125
  240. package/lib/examples/AgentCompactionExample.js +19 -135
  241. package/lib/examples/AgentEvalsExample.js +34 -66
  242. package/lib/examples/AgentGuardrailsExample.js +64 -112
  243. package/lib/examples/AgentHooksExample.d.ts +11 -0
  244. package/lib/examples/AgentHooksExample.js +30 -67
  245. package/lib/examples/AgentInferenceProviderExample.js +8 -32
  246. package/lib/examples/AgentLoopExample.d.ts +4 -2
  247. package/lib/examples/AgentLoopExample.js +45 -93
  248. package/lib/examples/AgentMCPExample.js +30 -79
  249. package/lib/examples/AgentMemoryExample.js +21 -64
  250. package/lib/examples/AgentMonitoringExample.js +33 -94
  251. package/lib/examples/AgentNotificationsExample.js +56 -95
  252. package/lib/examples/AgentOtelExample.js +35 -88
  253. package/lib/examples/AgentOutputsExample.d.ts +2 -1
  254. package/lib/examples/AgentOutputsExample.js +16 -137
  255. package/lib/examples/AgentParametersExample.js +7 -17
  256. package/lib/examples/AgentSkillsExample.js +40 -154
  257. package/lib/examples/AgentSubagentsExample.d.ts +7 -6
  258. package/lib/examples/AgentSubagentsExample.js +80 -191
  259. package/lib/examples/AgentToolApprovalsExample.js +35 -91
  260. package/lib/examples/AgentTriggersExample.js +43 -59
  261. package/lib/examples/AgentspecsExample.js +4 -4
  262. package/lib/examples/CellExample.d.ts +1 -1
  263. package/lib/examples/ChatExample.d.ts +12 -5
  264. package/lib/examples/ChatExample.js +38 -13
  265. package/lib/examples/CopilotKitLexicalExample.d.ts +1 -0
  266. package/lib/examples/CopilotKitLexicalExample.js +4 -41
  267. package/lib/examples/CopilotKitNotebookExample.d.ts +10 -0
  268. package/lib/examples/CopilotKitNotebookExample.js +2 -14
  269. package/lib/examples/DecksAgent.d.ts +21 -0
  270. package/lib/examples/DecksAgent.js +23 -0
  271. package/lib/examples/DocumentPageAgent.d.ts +19 -0
  272. package/lib/examples/DocumentPageAgent.js +15 -0
  273. package/lib/examples/Lexical2Example.d.ts +2 -2
  274. package/lib/examples/Lexical2Example.js +17 -38
  275. package/lib/examples/LexicalAgentExample.d.ts +2 -1
  276. package/lib/examples/LexicalAgentExample.js +29 -102
  277. package/lib/examples/LexicalAgentSidebarExample.d.ts +16 -5
  278. package/lib/examples/LexicalAgentSidebarExample.js +99 -131
  279. package/lib/examples/LoopShellExample.d.ts +38 -0
  280. package/lib/examples/LoopShellExample.js +68 -0
  281. package/lib/examples/LoopWorkspaceEmbed.d.ts +50 -0
  282. package/lib/examples/LoopWorkspaceEmbed.js +73 -0
  283. package/lib/examples/LoopWorkspaceExample.d.ts +150 -0
  284. package/lib/examples/LoopWorkspaceExample.js +151 -0
  285. package/lib/examples/NotebookAgentExample.d.ts +13 -0
  286. package/lib/examples/NotebookAgentExample.js +36 -86
  287. package/lib/examples/NotebookAgentSidebarExample.d.ts +10 -4
  288. package/lib/examples/NotebookAgentSidebarExample.js +39 -83
  289. package/lib/examples/NotebookCollaborationExample.d.ts +1 -1
  290. package/lib/examples/NotebookCollaborationExample.js +108 -20
  291. package/lib/examples/NotebookExample.d.ts +1 -1
  292. package/lib/examples/NotebookExample.js +20 -10
  293. package/lib/examples/NotebookPageAgent.d.ts +23 -0
  294. package/lib/examples/NotebookPageAgent.js +17 -0
  295. package/lib/examples/components/ExampleWrapper.d.ts +5 -0
  296. package/lib/examples/components/ExampleWrapper.js +36 -28
  297. package/lib/examples/components/LexicalEditor.d.ts +1 -1
  298. package/lib/examples/components/LexicalEditor.js +4 -24
  299. package/lib/examples/components/haiku/HaikuDisplay.d.ts +1 -1
  300. package/lib/examples/components/haiku/InlineHaikuCard.d.ts +1 -1
  301. package/lib/examples/components/weather/InlineWeatherCard.d.ts +1 -1
  302. package/lib/examples/example-selector.js +26 -6
  303. package/lib/examples/hooks/useCreateAgentOnce.d.ts +41 -0
  304. package/lib/examples/hooks/useCreateAgentOnce.js +51 -0
  305. package/lib/examples/hooks/useExampleAgentProtocol.d.ts +35 -0
  306. package/lib/examples/hooks/useExampleAgentProtocol.js +63 -0
  307. package/lib/examples/hooks/useExampleAgentRuntime.d.ts +16 -16
  308. package/lib/examples/hooks/useExampleAgentRuntime.js +26 -25
  309. package/lib/examples/hooks/useExampleAgentRuntimes.js +45 -61
  310. package/lib/examples/hooks/useExampleJupyterAgent.d.ts +91 -0
  311. package/lib/examples/hooks/useExampleJupyterAgent.js +151 -0
  312. package/lib/examples/index.d.ts +4 -0
  313. package/lib/examples/index.js +6 -0
  314. package/lib/examples/lexical/editorConfig.d.ts +2 -75
  315. package/lib/examples/lexical/editorConfig.js +26 -48
  316. package/lib/examples/lexical/lexical-theme.css +65 -47
  317. package/lib/examples/main.js +450 -322
  318. package/lib/examples/scenes/A2UiComponentsGalleryScene.d.ts +3 -0
  319. package/lib/examples/scenes/A2UiComponentsGalleryScene.js +872 -0
  320. package/lib/examples/scenes/A2UiContactCardScene.d.ts +3 -0
  321. package/lib/examples/scenes/A2UiContactCardScene.js +188 -0
  322. package/lib/examples/scenes/A2UiRestaurantScene.d.ts +3 -0
  323. package/lib/examples/scenes/A2UiRestaurantScene.js +196 -0
  324. package/lib/examples/scenes/A2UiViewerScene.d.ts +3 -0
  325. package/lib/examples/scenes/A2UiViewerScene.js +395 -0
  326. package/lib/examples/utils/agentSummaryStore.d.ts +7 -1
  327. package/lib/examples/utils/agents/earthquake-detector.ipynb.json +1 -1
  328. package/lib/examples/utils/agents/earthquake-detector.lexical.json +1 -1
  329. package/lib/examples/utils/agents/sales-forecaster.ipynb.json +1 -1
  330. package/lib/examples/utils/agents/sales-forecaster.lexical.json +1 -1
  331. package/lib/examples/utils/agents/social-post-generator.ipynb.json +1 -1
  332. package/lib/examples/utils/agents/social-post-generator.lexical.json +1 -1
  333. package/lib/examples/utils/exampleSurfaces.d.ts +31 -0
  334. package/lib/examples/utils/exampleSurfaces.js +38 -0
  335. package/lib/examples/utils/jupyterSandboxUrl.d.ts +27 -0
  336. package/lib/examples/utils/jupyterSandboxUrl.js +55 -0
  337. package/lib/examples/utils/localUrl.d.ts +2 -0
  338. package/lib/examples/utils/localUrl.js +49 -0
  339. package/lib/examples/utils/notebookToolbarItems.d.ts +46 -0
  340. package/lib/examples/utils/notebookToolbarItems.js +129 -0
  341. package/lib/examples/utils/runtimeTargetStore.d.ts +40 -1
  342. package/lib/examples/utils/runtimeTargetStore.js +82 -1
  343. package/lib/examples/utils/themedProvider.d.ts +7 -0
  344. package/lib/examples/utils/themedProvider.js +57 -4
  345. package/lib/examples/utils/useExampleAgentRuntimesUrl.js +30 -5
  346. package/lib/examples/utils/waitForAgent.d.ts +23 -0
  347. package/lib/examples/utils/waitForAgent.js +24 -0
  348. package/lib/examples2/CellExample.d.ts +1 -1
  349. package/lib/examples2/DatalayerNotebookExample.d.ts +1 -1
  350. package/lib/examples2/NotebookExample.d.ts +1 -1
  351. package/lib/examples2/NotebookMutationsKernel.d.ts +1 -1
  352. package/lib/examples2/NotebookMutationsServiceManager.d.ts +1 -1
  353. package/lib/examples2/main.js +24 -4
  354. package/lib/extensions/A2UIExtension.d.ts +1 -1
  355. package/lib/hooks/index.d.ts +8 -5
  356. package/lib/hooks/index.js +20 -5
  357. package/lib/hooks/useAgentRuntimes.d.ts +49 -22
  358. package/lib/hooks/useAgentRuntimes.js +214 -90
  359. package/lib/hooks/useAgentsCatalog.js +32 -4
  360. package/lib/hooks/useBrowserAgent.d.ts +26 -0
  361. package/lib/hooks/useBrowserAgent.js +75 -0
  362. package/lib/hooks/useBrowserInference.d.ts +27 -0
  363. package/lib/hooks/useBrowserInference.js +67 -0
  364. package/lib/hooks/useCheckpoints.d.ts +8 -17
  365. package/lib/hooks/useCheckpoints.js +25 -59
  366. package/lib/hooks/useConfig.d.ts +1 -1
  367. package/lib/hooks/useConfig.js +5 -1
  368. package/lib/hooks/useContextSnapshot.d.ts +18 -7
  369. package/lib/hooks/useContextSnapshot.js +14 -10
  370. package/lib/hooks/useNotifications.d.ts +11 -11
  371. package/lib/hooks/useNotifications.js +1 -1
  372. package/lib/hooks/useProjects.d.ts +7 -19
  373. package/lib/hooks/useProjects.js +5 -5
  374. package/lib/hooks/useSkills.d.ts +0 -1
  375. package/lib/hooks/useSkills.js +6 -2
  376. package/lib/hooks/useToolApprovals.d.ts +8 -8
  377. package/lib/hooks/useToolApprovals.js +3 -3
  378. package/lib/identity/AgentIdentity.d.ts +9 -2
  379. package/lib/index.d.ts +1 -0
  380. package/lib/index.js +4 -0
  381. package/lib/jupyter/index.d.ts +2 -1
  382. package/lib/jupyter/index.js +2 -1
  383. package/lib/jupyter/serverExecution.d.ts +78 -0
  384. package/lib/jupyter/serverExecution.js +258 -0
  385. package/lib/jupyter/useResumeServerExecutions.d.ts +11 -0
  386. package/lib/jupyter/useResumeServerExecutions.js +64 -0
  387. package/lib/lexical/ChatInlinePlugin.d.ts +33 -0
  388. package/lib/lexical/ChatInlinePlugin.js +0 -36
  389. package/lib/loop/core/focusRequests.d.ts +10 -0
  390. package/lib/loop/core/focusRequests.js +46 -0
  391. package/lib/loop/core/index.d.ts +903 -0
  392. package/lib/loop/core/index.js +264 -0
  393. package/lib/loop/core/promptStore.d.ts +44 -0
  394. package/lib/loop/core/promptStore.js +63 -0
  395. package/lib/loop/core/surfaceRequests.d.ts +33 -0
  396. package/lib/loop/core/surfaceRequests.js +29 -0
  397. package/lib/loop/core/toolbar.d.ts +28 -0
  398. package/lib/loop/core/toolbar.js +59 -0
  399. package/lib/loop/embed/LoopEmbed.d.ts +57 -0
  400. package/lib/loop/embed/LoopEmbed.js +124 -0
  401. package/lib/loop/extensions.d.ts +10 -0
  402. package/lib/loop/extensions.js +49 -0
  403. package/lib/loop/index.d.ts +68 -0
  404. package/lib/loop/index.js +87 -0
  405. package/lib/loop/plugins/a2a-sidebar/A2ASidebar.d.ts +48 -0
  406. package/lib/loop/plugins/a2a-sidebar/A2ASidebar.js +190 -0
  407. package/lib/loop/plugins/a2a-sidebar/index.d.ts +5 -0
  408. package/lib/loop/plugins/a2a-sidebar/index.js +39 -0
  409. package/lib/loop/plugins/a2ui/A2uiView.d.ts +12 -0
  410. package/lib/loop/plugins/a2ui/A2uiView.js +97 -0
  411. package/lib/loop/plugins/a2ui/index.d.ts +3 -0
  412. package/lib/loop/plugins/a2ui/index.js +50 -0
  413. package/lib/loop/plugins/a2ui-scene/index.d.ts +36 -0
  414. package/lib/loop/plugins/a2ui-scene/index.js +28 -0
  415. package/lib/loop/plugins/agent-a2a/index.d.ts +3 -0
  416. package/lib/loop/plugins/agent-a2a/index.js +26 -0
  417. package/lib/loop/plugins/agent-a2ui/index.d.ts +3 -0
  418. package/lib/loop/plugins/agent-a2ui/index.js +42 -0
  419. package/lib/loop/plugins/agent-a2ui-jupyter-output/index.d.ts +3 -0
  420. package/lib/loop/plugins/agent-a2ui-jupyter-output/index.js +53 -0
  421. package/lib/loop/plugins/agent-capacity/index.d.ts +39 -0
  422. package/lib/loop/plugins/agent-capacity/index.js +52 -0
  423. package/lib/loop/plugins/agent-checkpoints/index.d.ts +3 -0
  424. package/lib/loop/plugins/agent-checkpoints/index.js +26 -0
  425. package/lib/loop/plugins/agent-code-sandbox/index.d.ts +3 -0
  426. package/lib/loop/plugins/agent-code-sandbox/index.js +24 -0
  427. package/lib/loop/plugins/agent-code-sandboxes/index.d.ts +13 -0
  428. package/lib/loop/plugins/agent-code-sandboxes/index.js +85 -0
  429. package/lib/loop/plugins/agent-codemode/index.d.ts +5 -0
  430. package/lib/loop/plugins/agent-codemode/index.js +41 -0
  431. package/lib/loop/plugins/agent-compaction/index.d.ts +10 -0
  432. package/lib/loop/plugins/agent-compaction/index.js +34 -0
  433. package/lib/loop/plugins/agent-evals/index.d.ts +3 -0
  434. package/lib/loop/plugins/agent-evals/index.js +25 -0
  435. package/lib/loop/plugins/agent-guardrails/index.d.ts +3 -0
  436. package/lib/loop/plugins/agent-guardrails/index.js +25 -0
  437. package/lib/loop/plugins/agent-hooks/index.d.ts +3 -0
  438. package/lib/loop/plugins/agent-hooks/index.js +28 -0
  439. package/lib/loop/plugins/agent-inference/index.d.ts +7 -0
  440. package/lib/loop/plugins/agent-inference/index.js +29 -0
  441. package/lib/loop/plugins/agent-mcp/index.d.ts +3 -0
  442. package/lib/loop/plugins/agent-mcp/index.js +25 -0
  443. package/lib/loop/plugins/agent-memory/index.d.ts +3 -0
  444. package/lib/loop/plugins/agent-memory/index.js +25 -0
  445. package/lib/loop/plugins/agent-monitoring/index.d.ts +3 -0
  446. package/lib/loop/plugins/agent-monitoring/index.js +25 -0
  447. package/lib/loop/plugins/agent-notifications/index.d.ts +3 -0
  448. package/lib/loop/plugins/agent-notifications/index.js +25 -0
  449. package/lib/loop/plugins/agent-otel/index.d.ts +3 -0
  450. package/lib/loop/plugins/agent-otel/index.js +25 -0
  451. package/lib/loop/plugins/agent-outputs/index.d.ts +3 -0
  452. package/lib/loop/plugins/agent-outputs/index.js +25 -0
  453. package/lib/loop/plugins/agent-parameters/index.d.ts +3 -0
  454. package/lib/loop/plugins/agent-parameters/index.js +25 -0
  455. package/lib/loop/plugins/agent-skills/index.d.ts +3 -0
  456. package/lib/loop/plugins/agent-skills/index.js +25 -0
  457. package/lib/loop/plugins/agent-subagents/index.d.ts +3 -0
  458. package/lib/loop/plugins/agent-subagents/index.js +25 -0
  459. package/lib/loop/plugins/agent-tool-approvals/index.d.ts +11 -0
  460. package/lib/loop/plugins/agent-tool-approvals/index.js +38 -0
  461. package/lib/loop/plugins/agent-triggers/index.d.ts +3 -0
  462. package/lib/loop/plugins/agent-triggers/index.js +26 -0
  463. package/lib/loop/plugins/agents/AgentSummaryPanel.d.ts +20 -0
  464. package/lib/loop/plugins/agents/AgentSummaryPanel.js +50 -0
  465. package/lib/loop/plugins/agents/AnonymousKeyBadge.d.ts +35 -0
  466. package/lib/loop/plugins/agents/AnonymousKeyBadge.js +53 -0
  467. package/lib/loop/plugins/agents/DatalayerAgentBridge.d.ts +24 -0
  468. package/lib/loop/plugins/agents/DatalayerAgentBridge.js +102 -0
  469. package/lib/loop/plugins/agents/DatalayerAgentMount.d.ts +18 -0
  470. package/lib/loop/plugins/agents/DatalayerAgentMount.js +12 -0
  471. package/lib/loop/plugins/agents/SandboxSelector.d.ts +18 -0
  472. package/lib/loop/plugins/agents/SandboxSelector.js +99 -0
  473. package/lib/loop/plugins/agents/SandboxStatusBridge.d.ts +19 -0
  474. package/lib/loop/plugins/agents/SandboxStatusBridge.js +23 -0
  475. package/lib/loop/plugins/agents/SandboxView.d.ts +11 -0
  476. package/lib/loop/plugins/agents/SandboxView.js +43 -0
  477. package/lib/loop/plugins/agents/TeamMemberPicker.d.ts +17 -0
  478. package/lib/loop/plugins/agents/TeamMemberPicker.js +60 -0
  479. package/lib/loop/plugins/agents/agentIcons.d.ts +23 -0
  480. package/lib/loop/plugins/agents/agentIcons.js +88 -0
  481. package/lib/loop/plugins/agents/browserService.d.ts +50 -0
  482. package/lib/loop/plugins/agents/browserService.js +233 -0
  483. package/lib/loop/plugins/agents/index.d.ts +13 -0
  484. package/lib/loop/plugins/agents/index.js +17 -0
  485. package/lib/loop/plugins/agents/plugin.d.ts +91 -0
  486. package/lib/loop/plugins/agents/plugin.js +201 -0
  487. package/lib/loop/plugins/agents/service.d.ts +99 -0
  488. package/lib/loop/plugins/agents/service.js +167 -0
  489. package/lib/loop/plugins/agents/specSubagents.d.ts +18 -0
  490. package/lib/loop/plugins/agents/specSubagents.js +33 -0
  491. package/lib/loop/plugins/agents/switchable.d.ts +107 -0
  492. package/lib/loop/plugins/agents/switchable.js +405 -0
  493. package/lib/loop/plugins/agents/team.d.ts +87 -0
  494. package/lib/loop/plugins/agents/team.js +143 -0
  495. package/lib/loop/plugins/agents/useSandboxService.d.ts +11 -0
  496. package/lib/loop/plugins/agents/useSandboxService.js +36 -0
  497. package/lib/loop/plugins/agents/useTeamSelection.d.ts +10 -0
  498. package/lib/loop/plugins/agents/useTeamSelection.js +27 -0
  499. package/lib/loop/plugins/agentspecs/AgentspecPicker.d.ts +15 -0
  500. package/lib/loop/plugins/agentspecs/AgentspecPicker.js +90 -0
  501. package/lib/loop/plugins/agentspecs/index.d.ts +6 -0
  502. package/lib/loop/plugins/agentspecs/index.js +63 -0
  503. package/lib/loop/plugins/chat/ChatView.d.ts +20 -0
  504. package/lib/loop/plugins/chat/ChatView.js +1679 -0
  505. package/lib/loop/plugins/chat/chatViewTools.d.ts +41 -0
  506. package/lib/loop/plugins/chat/chatViewTools.js +92 -0
  507. package/lib/loop/plugins/chat/index.d.ts +111 -0
  508. package/lib/loop/plugins/chat/index.js +143 -0
  509. package/lib/loop/plugins/chat/turnState.d.ts +41 -0
  510. package/lib/loop/plugins/chat/turnState.js +90 -0
  511. package/lib/loop/plugins/chat-extras/index.d.ts +14 -0
  512. package/lib/loop/plugins/chat-extras/index.js +51 -0
  513. package/lib/loop/plugins/chat-header/HeaderView.d.ts +13 -0
  514. package/lib/loop/plugins/chat-header/HeaderView.js +6 -0
  515. package/lib/loop/plugins/chat-header/index.d.ts +3 -0
  516. package/lib/loop/plugins/chat-header/index.js +21 -0
  517. package/lib/loop/plugins/chat-view/index.d.ts +10 -0
  518. package/lib/loop/plugins/chat-view/index.js +29 -0
  519. package/lib/loop/plugins/checkpoints-sidebar/CheckpointsSidebar.d.ts +27 -0
  520. package/lib/loop/plugins/checkpoints-sidebar/CheckpointsSidebar.js +174 -0
  521. package/lib/loop/plugins/checkpoints-sidebar/index.d.ts +5 -0
  522. package/lib/loop/plugins/checkpoints-sidebar/index.js +39 -0
  523. package/lib/loop/plugins/commands/index.d.ts +20 -0
  524. package/lib/loop/plugins/commands/index.js +148 -0
  525. package/lib/loop/plugins/decks/DeckSurface.d.ts +10 -0
  526. package/lib/loop/plugins/decks/DeckSurface.js +6 -0
  527. package/lib/loop/plugins/decks/DecksMenu.d.ts +11 -0
  528. package/lib/loop/plugins/decks/DecksMenu.js +42 -0
  529. package/lib/loop/plugins/decks/index.d.ts +19 -0
  530. package/lib/loop/plugins/decks/index.js +133 -0
  531. package/lib/loop/plugins/decks/surface.d.ts +7 -0
  532. package/lib/loop/plugins/decks/surface.js +11 -0
  533. package/lib/loop/plugins/document/DocumentView.d.ts +12 -0
  534. package/lib/loop/plugins/document/DocumentView.js +68 -0
  535. package/lib/loop/plugins/document/index.d.ts +3 -0
  536. package/lib/loop/plugins/document/index.js +86 -0
  537. package/lib/loop/plugins/document/openingDocument.d.ts +28 -0
  538. package/lib/loop/plugins/document/openingDocument.js +122 -0
  539. package/lib/loop/plugins/document-toolbar/SandboxStatusItem.d.ts +16 -0
  540. package/lib/loop/plugins/document-toolbar/SandboxStatusItem.js +31 -0
  541. package/lib/loop/plugins/document-toolbar/index.d.ts +4 -0
  542. package/lib/loop/plugins/document-toolbar/index.js +35 -0
  543. package/lib/loop/plugins/document-toolbar/names.d.ts +6 -0
  544. package/lib/loop/plugins/document-toolbar/names.js +10 -0
  545. package/lib/loop/plugins/document-toolbar/plugin.d.ts +2 -0
  546. package/lib/loop/plugins/document-toolbar/plugin.js +38 -0
  547. package/lib/loop/plugins/document-view/index.d.ts +10 -0
  548. package/lib/loop/plugins/document-view/index.js +28 -0
  549. package/lib/loop/plugins/graph/GraphToggle.d.ts +17 -0
  550. package/lib/loop/plugins/graph/GraphToggle.js +22 -0
  551. package/lib/loop/plugins/graph/GraphView.d.ts +16 -0
  552. package/lib/loop/plugins/graph/GraphView.js +6 -0
  553. package/lib/loop/plugins/graph/index.d.ts +5 -0
  554. package/lib/loop/plugins/graph/index.js +80 -0
  555. package/lib/loop/plugins/graph/viewType.d.ts +10 -0
  556. package/lib/loop/plugins/graph/viewType.js +14 -0
  557. package/lib/loop/plugins/input-prompt/ComposerView.d.ts +15 -0
  558. package/lib/loop/plugins/input-prompt/ComposerView.js +25 -0
  559. package/lib/loop/plugins/input-prompt/index.d.ts +25 -0
  560. package/lib/loop/plugins/input-prompt/index.js +26 -0
  561. package/lib/loop/plugins/models/index.d.ts +3 -0
  562. package/lib/loop/plugins/models/index.js +49 -0
  563. package/lib/loop/plugins/notebook/NotebookView.d.ts +9 -0
  564. package/lib/loop/plugins/notebook/NotebookView.js +189 -0
  565. package/lib/loop/plugins/notebook/index.d.ts +3 -0
  566. package/lib/loop/plugins/notebook/index.js +91 -0
  567. package/lib/loop/plugins/notebook/openingNotebook.d.ts +72 -0
  568. package/lib/loop/plugins/notebook/openingNotebook.js +90 -0
  569. package/lib/loop/plugins/notebook-toolbar/index.d.ts +4 -0
  570. package/lib/loop/plugins/notebook-toolbar/index.js +45 -0
  571. package/lib/loop/plugins/notebook-toolbar/items.d.ts +10 -0
  572. package/lib/loop/plugins/notebook-toolbar/items.js +45 -0
  573. package/lib/loop/plugins/notebook-toolbar/names.d.ts +9 -0
  574. package/lib/loop/plugins/notebook-toolbar/names.js +13 -0
  575. package/lib/loop/plugins/notebook-toolbar/plugin.d.ts +2 -0
  576. package/lib/loop/plugins/notebook-toolbar/plugin.js +24 -0
  577. package/lib/loop/plugins/notebook-view/index.d.ts +10 -0
  578. package/lib/loop/plugins/notebook-view/index.js +30 -0
  579. package/lib/loop/plugins/page-layout/TurnPanel.d.ts +25 -0
  580. package/lib/loop/plugins/page-layout/TurnPanel.js +126 -0
  581. package/lib/loop/plugins/page-layout/index.d.ts +71 -0
  582. package/lib/loop/plugins/page-layout/index.js +160 -0
  583. package/lib/loop/plugins/plugins-panel/index.d.ts +14 -0
  584. package/lib/loop/plugins/plugins-panel/index.js +74 -0
  585. package/lib/loop/plugins/prompt/NewChatAction.d.ts +19 -0
  586. package/lib/loop/plugins/prompt/NewChatAction.js +10 -0
  587. package/lib/loop/plugins/prompt/index.d.ts +11 -0
  588. package/lib/loop/plugins/prompt/index.js +73 -0
  589. package/lib/loop/plugins/shell/editorChoice.d.ts +31 -0
  590. package/lib/loop/plugins/shell/editorChoice.js +58 -0
  591. package/lib/loop/plugins/shell/index.d.ts +47 -0
  592. package/lib/loop/plugins/shell/index.js +142 -0
  593. package/lib/loop/plugins/shell/useEditorPreviews.d.ts +32 -0
  594. package/lib/loop/plugins/shell/useEditorPreviews.js +217 -0
  595. package/lib/loop/plugins/subagent-activity/SubagentPulse.d.ts +16 -0
  596. package/lib/loop/plugins/subagent-activity/SubagentPulse.js +45 -0
  597. package/lib/loop/plugins/subagent-activity/index.d.ts +12 -0
  598. package/lib/loop/plugins/subagent-activity/index.js +42 -0
  599. package/lib/loop/plugins/view-switch/index.d.ts +46 -0
  600. package/lib/loop/plugins/view-switch/index.js +68 -0
  601. package/lib/loop/plugins/window-frame/WindowFrame.d.ts +48 -0
  602. package/lib/loop/plugins/window-frame/WindowFrame.js +63 -0
  603. package/lib/loop/plugins/window-frame/index.d.ts +6 -0
  604. package/lib/loop/plugins/window-frame/index.js +79 -0
  605. package/lib/loop/plugins/window-frame/slots.d.ts +26 -0
  606. package/lib/loop/plugins/window-frame/slots.js +30 -0
  607. package/lib/loop/presets.d.ts +181 -0
  608. package/lib/loop/presets.js +141 -0
  609. package/lib/loop/shell/LoopWorkspace.d.ts +109 -0
  610. package/lib/loop/shell/LoopWorkspace.js +231 -0
  611. package/lib/loop/shell/PluginToggles.d.ts +21 -0
  612. package/lib/loop/shell/PluginToggles.js +41 -0
  613. package/lib/loop/shell/ViewSwitcher.d.ts +24 -0
  614. package/lib/loop/shell/ViewSwitcher.js +43 -0
  615. package/lib/loop/shell/WorkspaceFullScreenAction.d.ts +25 -0
  616. package/lib/loop/shell/WorkspaceFullScreenAction.js +24 -0
  617. package/lib/loop/shell/index.d.ts +10 -0
  618. package/lib/loop/shell/index.js +14 -0
  619. package/lib/loop/shell/useWorkspaceFullScreen.d.ts +93 -0
  620. package/lib/loop/shell/useWorkspaceFullScreen.js +167 -0
  621. package/lib/loop-example-main.d.ts +1 -0
  622. package/lib/loop-example-main.js +42 -0
  623. package/lib/loop-main.d.ts +1 -0
  624. package/lib/loop-main.js +138 -0
  625. package/lib/mcp/McpServerManager.d.ts +1 -1
  626. package/lib/models/CodeSandboxSnapshotDTO.d.ts +1 -1
  627. package/lib/models/CodeSandboxVariant.d.ts +13 -5
  628. package/lib/models/CodeSandboxVariant.js +17 -5
  629. package/lib/models/Content.d.ts +26 -0
  630. package/lib/models/Deck.d.ts +14 -0
  631. package/lib/models/Environment.d.ts +678 -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/ItemType.d.ts +1 -1
  637. package/lib/models/Library.d.ts +0 -2
  638. package/lib/models/Notebook.d.ts +0 -2
  639. package/lib/models/ProjectDTO.d.ts +2 -2
  640. package/lib/models/ProjectDTO.js +4 -4
  641. package/lib/models/Runtime.d.ts +17 -11
  642. package/lib/models/RuntimeDTO.d.ts +16 -7
  643. package/lib/models/RuntimeDTO.js +9 -9
  644. package/lib/models/Space.d.ts +10 -0
  645. package/lib/models/Space.js +1 -1
  646. package/lib/models/SpaceDTO.d.ts +1 -1
  647. package/lib/models/SpaceItem.d.ts +2 -2
  648. package/lib/models/environments.generated.d.ts +141 -0
  649. package/lib/models/environments.generated.js +13 -0
  650. package/lib/models/index.d.ts +1 -1
  651. package/lib/models/index.js +1 -1
  652. package/lib/protocols/A2AAdapter.d.ts +39 -6
  653. package/lib/protocols/A2AAdapter.js +180 -11
  654. package/lib/protocols/ACPAdapter.js +40 -37
  655. package/lib/protocols/AGUIAdapter.d.ts +14 -0
  656. package/lib/protocols/AGUIAdapter.js +34 -9
  657. package/lib/protocols/BrowserAgentAdapter.d.ts +125 -0
  658. package/lib/protocols/BrowserAgentAdapter.js +317 -0
  659. package/lib/protocols/VercelAIAdapter.d.ts +10 -0
  660. package/lib/protocols/VercelAIAdapter.js +27 -7
  661. package/lib/protocols/index.d.ts +1 -0
  662. package/lib/protocols/index.js +1 -0
  663. package/lib/runtimes/actions.d.ts +8 -3
  664. package/lib/runtimes/actions.js +46 -14
  665. package/lib/runtimes/apis.d.ts +13 -4
  666. package/lib/runtimes/browser/agent.d.ts +54 -0
  667. package/lib/runtimes/browser/agent.js +63 -0
  668. package/lib/runtimes/browser/anonymousToken.d.ts +121 -0
  669. package/lib/runtimes/browser/anonymousToken.js +300 -0
  670. package/lib/runtimes/browser/frontendTools.d.ts +61 -0
  671. package/lib/runtimes/browser/frontendTools.js +152 -0
  672. package/lib/runtimes/browser/index.d.ts +11 -0
  673. package/lib/runtimes/browser/index.js +20 -0
  674. package/lib/runtimes/browser/model.d.ts +52 -0
  675. package/lib/runtimes/browser/model.js +110 -0
  676. package/lib/runtimes/browser/protocol.d.ts +54 -0
  677. package/lib/runtimes/browser/protocol.js +35 -0
  678. package/lib/runtimes/browser/subagents.d.ts +131 -0
  679. package/lib/runtimes/browser/subagents.js +241 -0
  680. package/lib/runtimes/index.d.ts +3 -0
  681. package/lib/runtimes/index.js +3 -0
  682. package/lib/runtimes/lifecycle.d.ts +76 -0
  683. package/lib/runtimes/lifecycle.js +99 -0
  684. package/lib/runtimes/variants.d.ts +172 -0
  685. package/lib/runtimes/variants.js +187 -0
  686. package/lib/services/reconnectToRuntime.d.ts +2 -2
  687. package/lib/services/reconnectToRuntime.js +3 -3
  688. package/lib/services/sandboxServiceManagers.d.ts +2 -2
  689. package/lib/services/sandboxServiceManagers.js +11 -11
  690. package/lib/specs/agents/agents.d.ts +129 -112
  691. package/lib/specs/agents/agents.js +8200 -5044
  692. package/lib/specs/evals.js +9 -0
  693. package/lib/specs/frontendTools.d.ts +4 -0
  694. package/lib/specs/frontendTools.js +77 -3
  695. package/lib/specs/mcpServers.d.ts +1 -0
  696. package/lib/specs/mcpServers.js +38 -15
  697. package/lib/specs/models.d.ts +18 -0
  698. package/lib/specs/models.js +154 -0
  699. package/lib/specs/outputs.d.ts +2 -0
  700. package/lib/specs/outputs.js +31 -0
  701. package/lib/specs/personas.js +1 -1
  702. package/lib/specs/skills.js +7 -7
  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 +14 -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/tools/adapters/commands/index.js +5 -0
  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/outputs.d.ts +2 -0
  744. package/lib/types/protocol.d.ts +7 -2
  745. package/lib/types/stream.d.ts +48 -3
  746. package/lib/types/stream.js +5 -0
  747. package/lib/types/teams.d.ts +102 -4
  748. package/lib/types/tool-approvals.d.ts +1 -1
  749. package/lib/types/tools.d.ts +8 -2
  750. package/lib/utils/utils.js +7 -1
  751. package/package.json +376 -361
  752. package/scripts/codegen/compose.py +208 -0
  753. package/scripts/codegen/generate_agents.py +202 -31
  754. package/scripts/codegen/generate_evals.py +2 -0
  755. package/scripts/codegen/generate_frontend_tools.py +35 -6
  756. package/scripts/codegen/generate_mcp_servers.py +2 -2
  757. package/scripts/codegen/generate_models.py +40 -15
  758. package/scripts/codegen/generate_outputs.py +2 -0
  759. package/scripts/codegen/generate_sandbox_agents.py +76 -62
  760. package/scripts/codegen/generate_skills.py +2 -2
  761. package/scripts/codegen/generate_teams.py +178 -4
  762. package/scripts/codegen/generate_tools.py +6 -4
  763. package/scripts/gen_workers.py +278 -110
  764. package/scripts/generate-environments-types.py +404 -0
  765. package/lib/chat/prompt/InputFooter.d.ts +0 -58
  766. package/lib/chat/prompt/InputFooter.js +0 -194
  767. package/lib/chat/prompt/InputPromptFooter.d.ts +0 -27
  768. package/lib/chat/prompt/InputPromptFooter.js +0 -15
  769. package/lib/chat/prompt/InputPromptHeader.d.ts +0 -15
  770. package/lib/chat/prompt/InputPromptHeader.js +0 -15
  771. package/lib/chat/usage/TokenUsageBar.d.ts +0 -8
  772. package/lib/hooks/useRuntimes.d.ts +0 -5
  773. package/lib/hooks/useRuntimes.js +0 -34
  774. package/lib/jupyter/kernelsHandler.d.ts +0 -8
  775. package/lib/jupyter/kernelsHandler.js +0 -39
  776. package/lib/models/Dataset.d.ts +0 -16
  777. package/lib/utils/Cells.d.ts +0 -2
  778. package/lib/utils/Cells.js +0 -28
  779. /package/lib/models/{Dataset.js → Deck.js} +0 -0
@@ -0,0 +1,99 @@
1
+ /*
2
+ * Copyright (c) 2025-2026 Datalayer, Inc.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+ /**
6
+ * The converged sandbox lifecycle, in TypeScript.
7
+ *
8
+ * The Python side states this vocabulary in `code_sandboxes.lifecycle` and the
9
+ * Runtimes client is written to it. This is the same statement for callers that
10
+ * reach the API from a browser: one place that knows how a runtime URL is
11
+ * spelled, so a hook, a mixin and a page cannot drift from each other the way
12
+ * they did when each built its own string.
13
+ *
14
+ * Transport stays with the caller — `requestDatalayerAPI`, `requestDatalayer`
15
+ * and a bare `fetch` all have their reasons. Only the URLs and the verbs are
16
+ * shared, because those are what has to agree.
17
+ */
18
+ /**
19
+ * A verb a caller may use, and the REST spelling it corresponds to.
20
+ *
21
+ * Mirrors `LIFECYCLE_OPERATIONS` in `code_sandboxes.lifecycle` — if one of them
22
+ * changes, so does the other, and the tests on both sides say so.
23
+ */
24
+ export const LIFECYCLE_OPERATIONS = {
25
+ create: 'POST /runtimes',
26
+ start: 'POST /runtimes (implied) — begin a created sandbox',
27
+ stop: 'DELETE /runtimes/{runtime_name}',
28
+ pause: 'POST /runtimes/{runtime_name}/pause',
29
+ resume: 'POST /runtimes/{runtime_name}/resume',
30
+ list: 'GET /runtimes',
31
+ get: 'GET /runtimes/{runtime_name}',
32
+ update: 'PUT /runtimes/{runtime_name}',
33
+ snapshot: 'POST /sandbox-snapshots',
34
+ execute: 'run code in the sandbox',
35
+ };
36
+ /**
37
+ * The Runtimes API prefix, below whichever host serves it.
38
+ */
39
+ export const RUNTIMES_API_PREFIX = 'api/runtimes/v1';
40
+ /**
41
+ * Join a base URL to a path without doubling or dropping the slash between.
42
+ *
43
+ * `URLExt.join` would do this, but the callers of this module include ones with
44
+ * no JupyterLab dependency, and a runtime URL is not worth one.
45
+ */
46
+ function join(base, path) {
47
+ return `${base.replace(/\/+$/, '')}/${path.replace(/^\/+/, '')}`;
48
+ }
49
+ /**
50
+ * Every runtime — the collection.
51
+ *
52
+ * `create` posts here and `list` gets here.
53
+ */
54
+ export function runtimesUrl(baseUrl) {
55
+ return join(baseUrl, `${RUNTIMES_API_PREFIX}/runtimes`);
56
+ }
57
+ /**
58
+ * One runtime, by pod name.
59
+ *
60
+ * `get` reads it, `update` puts to it, and `stop` deletes it — whether the
61
+ * runtime is running or paused, which is why there is no second path for the
62
+ * paused case.
63
+ */
64
+ export function runtimeUrl(baseUrl, runtimeName) {
65
+ return `${runtimesUrl(baseUrl)}/${runtimeName}`;
66
+ }
67
+ /**
68
+ * Suspend one runtime, keeping its state.
69
+ */
70
+ export function runtimePauseUrl(baseUrl, runtimeName) {
71
+ return `${runtimeUrl(baseUrl, runtimeName)}/pause`;
72
+ }
73
+ /**
74
+ * Bring one paused runtime back.
75
+ */
76
+ export function runtimeResumeUrl(baseUrl, runtimeName) {
77
+ return `${runtimeUrl(baseUrl, runtimeName)}/resume`;
78
+ }
79
+ /**
80
+ * The snapshots collection.
81
+ *
82
+ * A snapshot outlives the runtime it came from, which is why it is its own
83
+ * resource rather than a sub-path of the pod.
84
+ */
85
+ export function sandboxSnapshotsUrl(baseUrl) {
86
+ return join(baseUrl, `${RUNTIMES_API_PREFIX}/sandbox-snapshots`);
87
+ }
88
+ /**
89
+ * One snapshot, by UID.
90
+ */
91
+ export function sandboxSnapshotUrl(baseUrl, id) {
92
+ return `${sandboxSnapshotsUrl(baseUrl)}/${id}`;
93
+ }
94
+ /**
95
+ * The checkpoint records behind pause and resume.
96
+ */
97
+ export function runtimeCheckpointsUrl(baseUrl) {
98
+ return join(baseUrl, `${RUNTIMES_API_PREFIX}/runtime-checkpoints`);
99
+ }
@@ -0,0 +1,172 @@
1
+ /**
2
+ * Agent runtime variants: where an agent's loop runs, and what runs it.
3
+ *
4
+ * There have always been two ways to start an agent — a local agent-runtimes
5
+ * server and a cloud one — and they were named after the service each talked
6
+ * to (`local-agent-runtimes`, `backend-services`). That naming held while both
7
+ * ran the same framework. A browser agent breaks it: it talks to no service at
8
+ * all, and it runs a different framework.
9
+ *
10
+ * So a variant names the two things that actually vary, in that order:
11
+ *
12
+ * <location>-<harness> browser-vercelai
13
+ * local-pydanticai
14
+ * cloud-pydanticai
15
+ *
16
+ * The point of splitting them is that most code cares about exactly one half.
17
+ * Anything about *reaching* a runtime — a URL, a lifecycle, a sandbox — is a
18
+ * question of location. Anything about *turning the loop* — the SDK, the tool
19
+ * protocol, the streaming format — is a question of harness. Code that branches
20
+ * on the whole variant string has to be edited every time either axis gains a
21
+ * value; code that asks {@link locationOf} or {@link harnessOf} does not.
22
+ *
23
+ * That is what makes the next ones cheap. `cloud-ax` is a new harness against
24
+ * an existing location, so only harness-specific code changes; `browser-ax` is
25
+ * a combination of two things that already exist.
26
+ *
27
+ * @module runtimes/variants
28
+ */
29
+ import type { Agentspec } from '../types/agentspecs';
30
+ /** Where the agent's loop runs. */
31
+ export type AgentLocation = 'browser' | 'local' | 'cloud';
32
+ /**
33
+ * What turns the loop.
34
+ *
35
+ * Spelled without the hyphen the frameworks use in their own names, because
36
+ * the hyphen is already doing a job here: it separates location from harness.
37
+ * {@link SPEC_HARNESS_BY_HARNESS} maps back to the spelling an agentspec uses.
38
+ */
39
+ export type AgentHarness = 'pydanticai' | 'vercelai';
40
+ /**
41
+ * The combinations that exist today.
42
+ *
43
+ * Enumerated rather than derived from the two axes, because not every pairing
44
+ * is real: there is no `browser-pydanticai`, and a type that admitted one would
45
+ * be describing a runtime nobody can start.
46
+ */
47
+ export declare const AGENT_RUNTIME_VARIANTS: readonly ["browser-vercelai", "local-pydanticai", "cloud-pydanticai"];
48
+ export type AgentRuntimeVariant = (typeof AGENT_RUNTIME_VARIANTS)[number];
49
+ /** The variant used when a caller does not choose one. */
50
+ export declare const DEFAULT_AGENT_RUNTIME_VARIANT: AgentRuntimeVariant;
51
+ /**
52
+ * The harness as an agentspec spells it.
53
+ *
54
+ * A spec says `harness: pydantic-ai`; a variant says `pydanticai`. Same thing,
55
+ * two spellings forced by the separator, and this is the one place that knows
56
+ * it — rather than every caller doing its own `replace('-', '')`.
57
+ */
58
+ export declare const SPEC_HARNESS_BY_HARNESS: Record<AgentHarness, string>;
59
+ /** The reverse, for reading an agentspec's declared harness. */
60
+ export declare const HARNESS_BY_SPEC_HARNESS: Record<string, AgentHarness>;
61
+ /**
62
+ * The names the two original ways to start an agent went by.
63
+ *
64
+ * Kept working rather than removed: they are exported API and appear in
65
+ * applications this package does not own. New code should pass a variant.
66
+ *
67
+ * @deprecated Use {@link AgentRuntimeVariant}.
68
+ */
69
+ export type RuntimeCreationTarget = 'backend-services' | 'local-agent-runtimes';
70
+ /** Whether a string is a variant this package knows how to start. */
71
+ export declare function isAgentRuntimeVariant(value: unknown): value is AgentRuntimeVariant;
72
+ /**
73
+ * The variant a caller meant, from a variant or one of the legacy target names.
74
+ *
75
+ * One funnel, so the rest of the package sees variants only and no branch has
76
+ * to remember that two vocabularies exist.
77
+ */
78
+ export declare function toAgentRuntimeVariant(value: AgentRuntimeVariant | RuntimeCreationTarget | undefined | null, fallback?: AgentRuntimeVariant): AgentRuntimeVariant;
79
+ /** Where this variant's loop runs. */
80
+ export declare function locationOf(variant: AgentRuntimeVariant): AgentLocation;
81
+ /** What turns this variant's loop. */
82
+ export declare function harnessOf(variant: AgentRuntimeVariant): AgentHarness;
83
+ /**
84
+ * Whether the loop runs in the page.
85
+ *
86
+ * The question worth asking wherever a runtime would otherwise be reached for,
87
+ * because it is the one that changes what exists: a browser agent has no
88
+ * service behind it, so no runtime to create, no sandbox to execute in, no MCP
89
+ * servers to call, and no lifecycle to pause or resume.
90
+ */
91
+ export declare function runsInBrowser(variant: AgentRuntimeVariant): boolean;
92
+ /**
93
+ * Whether a runtime has to be created and reached over HTTP.
94
+ *
95
+ * True for every location except the browser, and the reason most of the
96
+ * lifecycle code can stay indifferent to which of the two remote locations it
97
+ * is talking to.
98
+ */
99
+ export declare function needsRuntimeService(variant: AgentRuntimeVariant): boolean;
100
+ /**
101
+ * The variant for a location.
102
+ *
103
+ * A location decides its own harness, because only one framework can run there
104
+ * — the browser has no server to turn a pydantic-ai loop, and the two remote
105
+ * locations have no page to turn a Vercel AI one. Naming both halves in a
106
+ * variant is still worth it: it is what makes `cloud-ax` a value rather than a
107
+ * rewrite. But given a location, the harness is not a separate choice.
108
+ */
109
+ export declare function variantForLocation(location: AgentLocation): AgentRuntimeVariant;
110
+ /**
111
+ * Whether a variant can run an agent that declared this harness in its spec.
112
+ *
113
+ * An agentspec says which framework it *prefers* — `harness:` is where the
114
+ * agent normally runs, not a demand — and a variant says which framework a
115
+ * location can actually provide. Where they disagree the location wins, which
116
+ * is why the browser accepts any spec:
117
+ *
118
+ * harness: pydantic-ai + browser → runs, with the Vercel AI SDK
119
+ *
120
+ * The alternative was a second spec per agent, identical but for one field.
121
+ * That duplicated the prompt, the tools, the evals and everything else that
122
+ * has nothing to do with where a loop turns — and it made a spec's author
123
+ * responsible for a decision the host makes.
124
+ *
125
+ * The remote locations are stricter: a spec built for the browser harness
126
+ * assumes frontend tools and no server, so running it on a runtime would be
127
+ * running something else.
128
+ */
129
+ export declare function variantSupportsSpecHarness(variant: AgentRuntimeVariant, specHarness: string | undefined | null): boolean;
130
+ /**
131
+ * The variants that could run an agent with this declared harness.
132
+ *
133
+ * What a host offers a person choosing where to run something. The browser is
134
+ * always among them — it can run anything, because it overrides the harness —
135
+ * while an agent built for the browser is not offered a remote runtime that
136
+ * would be running something else.
137
+ */
138
+ export declare function variantsForSpecHarness(specHarness: string | undefined | null): AgentRuntimeVariant[];
139
+ /**
140
+ * The legacy target name closest to a variant.
141
+ *
142
+ * For consumers still reading `runtimeCreationTarget`: a browser agent has no
143
+ * old name — there was no way to start one — so it reports as local, which is
144
+ * the truthful half of the answer (nothing remote is being reached).
145
+ *
146
+ * @deprecated Read the variant.
147
+ */
148
+ export declare function legacyTargetOf(variant: AgentRuntimeVariant): RuntimeCreationTarget;
149
+ /**
150
+ * The harness a spec asks for, in the variant spelling.
151
+ *
152
+ * Defaulted rather than optional: every agent is run by something, and a spec
153
+ * that says nothing is run by the framework that has always run it. That
154
+ * default is what lets every spec written before this field stay correct.
155
+ */
156
+ export declare function specHarnessOf(spec: Pick<Agentspec, 'harness'>): AgentHarness;
157
+ /**
158
+ * The variants that could run this agent.
159
+ *
160
+ * What a host offers when someone picks where to run something: an agent built
161
+ * for the browser harness should not be offered a cloud runtime that cannot
162
+ * turn its loop, and a server-side agent should not be offered the page.
163
+ */
164
+ export declare function variantsForSpec(spec: Pick<Agentspec, 'harness'>): AgentRuntimeVariant[];
165
+ /**
166
+ * The variant to start this agent with when the host has no preference.
167
+ *
168
+ * The package default when the spec can run there, and otherwise the first
169
+ * variant that can run it at all — so a `harness: vercel-ai` agent lands in
170
+ * the browser without every caller having to know that is where it belongs.
171
+ */
172
+ export declare function defaultVariantForSpec(spec: Pick<Agentspec, 'harness'>): AgentRuntimeVariant;
@@ -0,0 +1,187 @@
1
+ /*
2
+ * Copyright (c) 2025-2026 Datalayer, Inc.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+ /**
6
+ * The combinations that exist today.
7
+ *
8
+ * Enumerated rather than derived from the two axes, because not every pairing
9
+ * is real: there is no `browser-pydanticai`, and a type that admitted one would
10
+ * be describing a runtime nobody can start.
11
+ */
12
+ export const AGENT_RUNTIME_VARIANTS = [
13
+ 'browser-vercelai',
14
+ 'local-pydanticai',
15
+ 'cloud-pydanticai',
16
+ ];
17
+ /** The variant used when a caller does not choose one. */
18
+ export const DEFAULT_AGENT_RUNTIME_VARIANT = 'cloud-pydanticai';
19
+ /**
20
+ * The harness as an agentspec spells it.
21
+ *
22
+ * A spec says `harness: pydantic-ai`; a variant says `pydanticai`. Same thing,
23
+ * two spellings forced by the separator, and this is the one place that knows
24
+ * it — rather than every caller doing its own `replace('-', '')`.
25
+ */
26
+ export const SPEC_HARNESS_BY_HARNESS = {
27
+ pydanticai: 'pydantic-ai',
28
+ vercelai: 'vercel-ai',
29
+ };
30
+ /** The reverse, for reading an agentspec's declared harness. */
31
+ export const HARNESS_BY_SPEC_HARNESS = {
32
+ 'pydantic-ai': 'pydanticai',
33
+ 'vercel-ai': 'vercelai',
34
+ };
35
+ const VARIANT_BY_LEGACY_TARGET = {
36
+ 'backend-services': 'cloud-pydanticai',
37
+ 'local-agent-runtimes': 'local-pydanticai',
38
+ };
39
+ /** Whether a string is a variant this package knows how to start. */
40
+ export function isAgentRuntimeVariant(value) {
41
+ return (typeof value === 'string' &&
42
+ AGENT_RUNTIME_VARIANTS.includes(value));
43
+ }
44
+ /**
45
+ * The variant a caller meant, from a variant or one of the legacy target names.
46
+ *
47
+ * One funnel, so the rest of the package sees variants only and no branch has
48
+ * to remember that two vocabularies exist.
49
+ */
50
+ export function toAgentRuntimeVariant(value, fallback = DEFAULT_AGENT_RUNTIME_VARIANT) {
51
+ if (!value) {
52
+ return fallback;
53
+ }
54
+ if (isAgentRuntimeVariant(value)) {
55
+ return value;
56
+ }
57
+ return VARIANT_BY_LEGACY_TARGET[value] ?? fallback;
58
+ }
59
+ /** Where this variant's loop runs. */
60
+ export function locationOf(variant) {
61
+ return variant.slice(0, variant.indexOf('-'));
62
+ }
63
+ /** What turns this variant's loop. */
64
+ export function harnessOf(variant) {
65
+ return variant.slice(variant.indexOf('-') + 1);
66
+ }
67
+ /**
68
+ * Whether the loop runs in the page.
69
+ *
70
+ * The question worth asking wherever a runtime would otherwise be reached for,
71
+ * because it is the one that changes what exists: a browser agent has no
72
+ * service behind it, so no runtime to create, no sandbox to execute in, no MCP
73
+ * servers to call, and no lifecycle to pause or resume.
74
+ */
75
+ export function runsInBrowser(variant) {
76
+ return locationOf(variant) === 'browser';
77
+ }
78
+ /**
79
+ * Whether a runtime has to be created and reached over HTTP.
80
+ *
81
+ * True for every location except the browser, and the reason most of the
82
+ * lifecycle code can stay indifferent to which of the two remote locations it
83
+ * is talking to.
84
+ */
85
+ export function needsRuntimeService(variant) {
86
+ return !runsInBrowser(variant);
87
+ }
88
+ /**
89
+ * The variant for a location.
90
+ *
91
+ * A location decides its own harness, because only one framework can run there
92
+ * — the browser has no server to turn a pydantic-ai loop, and the two remote
93
+ * locations have no page to turn a Vercel AI one. Naming both halves in a
94
+ * variant is still worth it: it is what makes `cloud-ax` a value rather than a
95
+ * rewrite. But given a location, the harness is not a separate choice.
96
+ */
97
+ export function variantForLocation(location) {
98
+ return (AGENT_RUNTIME_VARIANTS.find(variant => locationOf(variant) === location) ??
99
+ DEFAULT_AGENT_RUNTIME_VARIANT);
100
+ }
101
+ /**
102
+ * Whether a variant can run an agent that declared this harness in its spec.
103
+ *
104
+ * An agentspec says which framework it *prefers* — `harness:` is where the
105
+ * agent normally runs, not a demand — and a variant says which framework a
106
+ * location can actually provide. Where they disagree the location wins, which
107
+ * is why the browser accepts any spec:
108
+ *
109
+ * harness: pydantic-ai + browser → runs, with the Vercel AI SDK
110
+ *
111
+ * The alternative was a second spec per agent, identical but for one field.
112
+ * That duplicated the prompt, the tools, the evals and everything else that
113
+ * has nothing to do with where a loop turns — and it made a spec's author
114
+ * responsible for a decision the host makes.
115
+ *
116
+ * The remote locations are stricter: a spec built for the browser harness
117
+ * assumes frontend tools and no server, so running it on a runtime would be
118
+ * running something else.
119
+ */
120
+ export function variantSupportsSpecHarness(variant, specHarness) {
121
+ if (runsInBrowser(variant)) {
122
+ return true;
123
+ }
124
+ if (!specHarness) {
125
+ // A spec that says nothing wants the framework that has always run it.
126
+ return harnessOf(variant) === 'pydanticai';
127
+ }
128
+ return SPEC_HARNESS_BY_HARNESS[harnessOf(variant)] === specHarness;
129
+ }
130
+ /**
131
+ * The variants that could run an agent with this declared harness.
132
+ *
133
+ * What a host offers a person choosing where to run something. The browser is
134
+ * always among them — it can run anything, because it overrides the harness —
135
+ * while an agent built for the browser is not offered a remote runtime that
136
+ * would be running something else.
137
+ */
138
+ export function variantsForSpecHarness(specHarness) {
139
+ return AGENT_RUNTIME_VARIANTS.filter(variant => variantSupportsSpecHarness(variant, specHarness));
140
+ }
141
+ /**
142
+ * The legacy target name closest to a variant.
143
+ *
144
+ * For consumers still reading `runtimeCreationTarget`: a browser agent has no
145
+ * old name — there was no way to start one — so it reports as local, which is
146
+ * the truthful half of the answer (nothing remote is being reached).
147
+ *
148
+ * @deprecated Read the variant.
149
+ */
150
+ export function legacyTargetOf(variant) {
151
+ return locationOf(variant) === 'cloud'
152
+ ? 'backend-services'
153
+ : 'local-agent-runtimes';
154
+ }
155
+ /**
156
+ * The harness a spec asks for, in the variant spelling.
157
+ *
158
+ * Defaulted rather than optional: every agent is run by something, and a spec
159
+ * that says nothing is run by the framework that has always run it. That
160
+ * default is what lets every spec written before this field stay correct.
161
+ */
162
+ export function specHarnessOf(spec) {
163
+ return HARNESS_BY_SPEC_HARNESS[spec.harness ?? ''] ?? 'pydanticai';
164
+ }
165
+ /**
166
+ * The variants that could run this agent.
167
+ *
168
+ * What a host offers when someone picks where to run something: an agent built
169
+ * for the browser harness should not be offered a cloud runtime that cannot
170
+ * turn its loop, and a server-side agent should not be offered the page.
171
+ */
172
+ export function variantsForSpec(spec) {
173
+ return variantsForSpecHarness(spec.harness);
174
+ }
175
+ /**
176
+ * The variant to start this agent with when the host has no preference.
177
+ *
178
+ * The package default when the spec can run there, and otherwise the first
179
+ * variant that can run it at all — so a `harness: vercel-ai` agent lands in
180
+ * the browser without every caller having to know that is where it belongs.
181
+ */
182
+ export function defaultVariantForSpec(spec) {
183
+ if (variantSupportsSpecHarness(DEFAULT_AGENT_RUNTIME_VARIANT, spec.harness)) {
184
+ return DEFAULT_AGENT_RUNTIME_VARIANT;
185
+ }
186
+ return variantsForSpec(spec)[0] ?? DEFAULT_AGENT_RUNTIME_VARIANT;
187
+ }
@@ -1,7 +1,7 @@
1
1
  import { ServiceManager } from '@jupyterlab/services';
2
2
  export interface RuntimeInfo {
3
3
  runtimeId: string;
4
- podName: string;
4
+ runtimeName: string;
5
5
  ingress: string;
6
6
  token: string;
7
7
  environmentName?: string;
@@ -20,7 +20,7 @@ export interface RuntimeInfo {
20
20
  * ```typescript
21
21
  * const runtimeInfo = {
22
22
  * runtimeId: 'abc123',
23
- * podName: 'jupyter-pod-xyz',
23
+ * runtimeName: 'jupyter-pod-xyz',
24
24
  * ingress: 'https://jupyter.example.com',
25
25
  * token: 'secret-token'
26
26
  * };
@@ -17,7 +17,7 @@ import { ServerConnection, ServiceManager } from '@jupyterlab/services';
17
17
  * ```typescript
18
18
  * const runtimeInfo = {
19
19
  * runtimeId: 'abc123',
20
- * podName: 'jupyter-pod-xyz',
20
+ * runtimeName: 'jupyter-pod-xyz',
21
21
  * ingress: 'https://jupyter.example.com',
22
22
  * token: 'secret-token'
23
23
  * };
@@ -39,14 +39,14 @@ export const reconnectToRuntime = async (runtimeInfo) => {
39
39
  environmentName: runtimeInfo.environmentName || 'unknown',
40
40
  credits: 0,
41
41
  reservationId: runtimeInfo.runtimeId,
42
- podName: runtimeInfo.podName,
42
+ runtimeName: runtimeInfo.runtimeName,
43
43
  ingress: runtimeInfo.ingress,
44
44
  token: runtimeInfo.token,
45
45
  createdAt: new Date().toISOString(),
46
46
  };
47
47
  console.log('Reconnected to existing runtime:', {
48
48
  runtimeId: runtimeInfo.runtimeId,
49
- podName: runtimeInfo.podName,
49
+ runtimeName: runtimeInfo.runtimeName,
50
50
  ingress: runtimeInfo.ingress,
51
51
  });
52
52
  return serviceManager;
@@ -22,10 +22,10 @@ import type { ServiceManager } from '@jupyterlab/services';
22
22
  * @returns An unregister function to call when the component disposes the
23
23
  * manager itself (cleanup). Unregistering does NOT dispose the manager.
24
24
  */
25
- export declare function registerSandboxServiceManager(podName: string, manager: ServiceManager.IManager): () => void;
25
+ export declare function registerSandboxServiceManager(runtimeName: string, manager: ServiceManager.IManager): () => void;
26
26
  /**
27
27
  * Dispose (and unregister) every `ServiceManager` registered against a
28
28
  * sandbox pod. Safe to call multiple times — `disposeServiceManager` is
29
29
  * idempotent, and disposed managers are dropped from the registry.
30
30
  */
31
- export declare function disposeSandboxServiceManagers(podName: string): void;
31
+ export declare function disposeSandboxServiceManagers(runtimeName: string): void;
@@ -3,30 +3,30 @@
3
3
  * Distributed under the terms of the Modified BSD License.
4
4
  */
5
5
  import { disposeServiceManager } from '@datalayer/jupyter-react';
6
- const sandboxManagersByPod = new Map();
6
+ const sandboxManagersByRuntime = new Map();
7
7
  /**
8
8
  * Register a `ServiceManager` connected to a sandbox pod.
9
9
  *
10
10
  * @returns An unregister function to call when the component disposes the
11
11
  * manager itself (cleanup). Unregistering does NOT dispose the manager.
12
12
  */
13
- export function registerSandboxServiceManager(podName, manager) {
14
- const normalized = String(podName || '').trim();
13
+ export function registerSandboxServiceManager(runtimeName, manager) {
14
+ const normalized = String(runtimeName || '').trim();
15
15
  if (!normalized || !manager) {
16
16
  return () => { };
17
17
  }
18
- let managers = sandboxManagersByPod.get(normalized);
18
+ let managers = sandboxManagersByRuntime.get(normalized);
19
19
  if (!managers) {
20
20
  managers = new Set();
21
- sandboxManagersByPod.set(normalized, managers);
21
+ sandboxManagersByRuntime.set(normalized, managers);
22
22
  }
23
23
  managers.add(manager);
24
24
  return () => {
25
- const registered = sandboxManagersByPod.get(normalized);
25
+ const registered = sandboxManagersByRuntime.get(normalized);
26
26
  if (registered) {
27
27
  registered.delete(manager);
28
28
  if (registered.size === 0) {
29
- sandboxManagersByPod.delete(normalized);
29
+ sandboxManagersByRuntime.delete(normalized);
30
30
  }
31
31
  }
32
32
  };
@@ -36,16 +36,16 @@ export function registerSandboxServiceManager(podName, manager) {
36
36
  * sandbox pod. Safe to call multiple times — `disposeServiceManager` is
37
37
  * idempotent, and disposed managers are dropped from the registry.
38
38
  */
39
- export function disposeSandboxServiceManagers(podName) {
40
- const normalized = String(podName || '').trim();
39
+ export function disposeSandboxServiceManagers(runtimeName) {
40
+ const normalized = String(runtimeName || '').trim();
41
41
  if (!normalized) {
42
42
  return;
43
43
  }
44
- const managers = sandboxManagersByPod.get(normalized);
44
+ const managers = sandboxManagersByRuntime.get(normalized);
45
45
  if (!managers) {
46
46
  return;
47
47
  }
48
- sandboxManagersByPod.delete(normalized);
48
+ sandboxManagersByRuntime.delete(normalized);
49
49
  managers.forEach(manager => {
50
50
  try {
51
51
  disposeServiceManager(manager);