@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
@@ -0,0 +1,26 @@
1
+ import { type UseChatHelpers, type UIMessage } from '@ai-sdk/react';
2
+ import { type CreateBrowserAgentOptions } from '../runtimes/browser';
3
+ export type UseBrowserAgentOptions = CreateBrowserAgentOptions & {
4
+ /**
5
+ * Chat id, so two agents on one page keep separate histories.
6
+ *
7
+ * Defaults to the spec id, which is right whenever a page runs one agent.
8
+ */
9
+ chatId?: string;
10
+ };
11
+ /**
12
+ * A chat backed by an agent loop running in this page.
13
+ *
14
+ * ```tsx
15
+ * const frontendTools = useNotebookTools(notebookId);
16
+ * const { messages, sendMessage, status } = useBrowserAgent({
17
+ * spec: JUPYTER_NOTEBOOK_COMPACTOR_AGENTSPEC_0_0_1,
18
+ * frontendTools,
19
+ * inference: { inferenceUrl, token },
20
+ * });
21
+ * ```
22
+ *
23
+ * The tools are the same array the AG-UI path takes, and they behave the same
24
+ * way — see {@link frontendToolsToVercelAI}.
25
+ */
26
+ export declare function useBrowserAgent(options: UseBrowserAgentOptions): UseChatHelpers<UIMessage>;
@@ -0,0 +1,75 @@
1
+ /*
2
+ * Copyright (c) 2025-2026 Datalayer, Inc.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+ /*
6
+ * Copyright (c) 2023-2026 Datalayer, Inc.
7
+ *
8
+ * MIT License
9
+ */
10
+ /**
11
+ * Run an agent in the browser.
12
+ *
13
+ * The counterpart to {@link useVercelAI}, and the difference between them is
14
+ * the whole of the harness split. `useVercelAI` speaks the AI SDK *protocol*
15
+ * to a runtime that turns the loop somewhere else; this turns the loop here,
16
+ * with the AI SDK itself, and reaches a server only to ask a model a question.
17
+ *
18
+ * Both return the same `useChat` helpers, so every chat component, message
19
+ * renderer and tool part downstream is shared. The branch is one transport:
20
+ *
21
+ * ```
22
+ * useVercelAI → DefaultChatTransport → POST /api/v1/vercel-ai/chat
23
+ * useBrowserAgent → DirectChatTransport → the loop, in this page
24
+ * ```
25
+ *
26
+ * @module hooks/useBrowserAgent
27
+ */
28
+ import { useMemo } from 'react';
29
+ import { useChat } from '@ai-sdk/react';
30
+ import { DirectChatTransport } from 'ai';
31
+ import { createBrowserAgent, } from '../runtimes/browser';
32
+ /**
33
+ * A chat backed by an agent loop running in this page.
34
+ *
35
+ * ```tsx
36
+ * const frontendTools = useNotebookTools(notebookId);
37
+ * const { messages, sendMessage, status } = useBrowserAgent({
38
+ * spec: JUPYTER_NOTEBOOK_COMPACTOR_AGENTSPEC_0_0_1,
39
+ * frontendTools,
40
+ * inference: { inferenceUrl, token },
41
+ * });
42
+ * ```
43
+ *
44
+ * The tools are the same array the AG-UI path takes, and they behave the same
45
+ * way — see {@link frontendToolsToVercelAI}.
46
+ */
47
+ export function useBrowserAgent(options) {
48
+ const { chatId, spec, frontendTools, inference, model, maxSteps, onHitlRequired, onStatusChange, } = options;
49
+ // Rebuilt only when something the loop is made of changes. A new agent
50
+ // identity would reset the transport mid-conversation, so the dependencies
51
+ // are the primitives rather than the option object a caller re-creates on
52
+ // every render.
53
+ const agent = useMemo(() => createBrowserAgent({
54
+ spec,
55
+ frontendTools,
56
+ inference,
57
+ model,
58
+ maxSteps,
59
+ onHitlRequired,
60
+ onStatusChange,
61
+ }), [
62
+ spec,
63
+ frontendTools,
64
+ inference,
65
+ model,
66
+ maxSteps,
67
+ onHitlRequired,
68
+ onStatusChange,
69
+ ]);
70
+ const transport = useMemo(() => new DirectChatTransport({ agent }), [agent]);
71
+ return useChat({
72
+ id: chatId ?? `browser-agent-${spec.id}`,
73
+ transport,
74
+ });
75
+ }
@@ -0,0 +1,27 @@
1
+ import { type AnonymousSession, type BrowserModelOptions } from '../runtimes/browser';
2
+ export type BrowserInference = {
3
+ /** Where to reach the inference service, and with whose token. */
4
+ inference: Omit<BrowserModelOptions, 'model'>;
5
+ /** Whether the agent would be refused for want of a sign-in. */
6
+ needsSignIn: boolean;
7
+ /**
8
+ * The visitor's trial key, when they are on one.
9
+ *
10
+ * `status: 'idle'` for a signed-in member, which is the answer a caller
11
+ * wants for "is this person on a clock?" — nobody is. Passed on so the
12
+ * workspace can draw the time left and say what happens when it runs out.
13
+ */
14
+ anonymous: AnonymousSession;
15
+ /** Where the inference service is, for whoever needs to name it. */
16
+ inferenceUrl: string;
17
+ };
18
+ /**
19
+ * The inference endpoint for an in-page agent.
20
+ *
21
+ * @param enabled Whether an in-page agent is actually going to ask for
22
+ * inference. False for a workspace on a server-backed agent, which
23
+ * authenticates itself: minting a visitor's one trial key for an agent that
24
+ * will never spend it starts a clock nobody is watching.
25
+ */
26
+ export declare function useBrowserInference(enabled?: boolean): BrowserInference;
27
+ export default useBrowserInference;
@@ -0,0 +1,67 @@
1
+ /*
2
+ * Copyright (c) 2025-2026 Datalayer, Inc.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+ /*
6
+ * Copyright (c) 2023-2026 Datalayer, Inc.
7
+ *
8
+ * MIT License
9
+ */
10
+ /**
11
+ * Where an in-page agent asks its model, and as whom.
12
+ *
13
+ * A browser agent needs no runtime, but it does need an account: a page cannot
14
+ * hold an AWS credential, so the model is reached through the Datalayer
15
+ * inference service, which holds them, routes to Bedrock, and admits signed-in
16
+ * members only.
17
+ *
18
+ * Its own hook because two callers need the identical answer — the examples
19
+ * shell and the LOOP workspace — and neither should be reading stores to work
20
+ * out a host.
21
+ *
22
+ * @module hooks/useBrowserInference
23
+ */
24
+ import { useMemo } from 'react';
25
+ import { useCoreStore, useIAMStore } from '../state';
26
+ import { browserModelRequiresSignIn, useAnonymousInferenceSession, } from '../runtimes/browser';
27
+ /** The inference plane used when the host provides no configuration. */
28
+ const DEFAULT_INFERENCE_URL = 'https://r1.datalayer.run';
29
+ /**
30
+ * The inference endpoint for an in-page agent.
31
+ *
32
+ * @param enabled Whether an in-page agent is actually going to ask for
33
+ * inference. False for a workspace on a server-backed agent, which
34
+ * authenticates itself: minting a visitor's one trial key for an agent that
35
+ * will never spend it starts a clock nobody is watching.
36
+ */
37
+ export function useBrowserInference(enabled = true) {
38
+ const { configuration } = useCoreStore();
39
+ const memberToken = useIAMStore(state => state.token);
40
+ const inferenceUrl = configuration?.aiInferenceUrl || DEFAULT_INFERENCE_URL;
41
+ /*
42
+ * A visitor with no account still gets to try the thing.
43
+ *
44
+ * The service admits members only, so an anonymous page was refused with a
45
+ * flat 401 and the agent looked broken rather than gated. It mints the
46
+ * short-lived token the service offers for exactly this — worth a minute of
47
+ * inference and nothing else. One of them, not a rolling supply: the trial
48
+ * ends, and the workspace says so rather than quietly renewing it. A
49
+ * member's own token is strictly better, so this only runs when there is
50
+ * not one.
51
+ */
52
+ const anonymous = useAnonymousInferenceSession(inferenceUrl, enabled && !memberToken);
53
+ const token = memberToken || anonymous.token;
54
+ const inference = useMemo(() => ({
55
+ inferenceUrl,
56
+ // The signed-in person's token, forwarded so the completion is made as
57
+ // them and metered to them — or the anonymous one, which names nobody.
58
+ token: token || undefined,
59
+ }), [inferenceUrl, token]);
60
+ return {
61
+ inference,
62
+ needsSignIn: browserModelRequiresSignIn(inference),
63
+ anonymous,
64
+ inferenceUrl,
65
+ };
66
+ }
67
+ export default useBrowserInference;
@@ -19,20 +19,20 @@ export type CheckpointData = {
19
19
  end_date?: string;
20
20
  };
21
21
  export type PauseAgentParams = {
22
- podName: string;
22
+ runtimeName: string;
23
23
  mode?: CheckpointMode;
24
24
  agentSpecId?: string;
25
25
  agentSpec?: Record<string, any>;
26
26
  messages?: string[];
27
27
  };
28
28
  export type ResumeAgentParams = {
29
- podName: string;
29
+ runtimeName: string;
30
30
  agentSpecId?: string;
31
31
  mode?: CheckpointMode;
32
32
  checkpointId?: string;
33
33
  };
34
34
  export type CheckpointAgentParams = {
35
- podName: string;
35
+ runtimeName: string;
36
36
  name?: string;
37
37
  mode?: CheckpointMode;
38
38
  agentSpecId?: string;
@@ -40,7 +40,7 @@ export type CheckpointAgentParams = {
40
40
  messages?: string[];
41
41
  };
42
42
  export type TerminateAgentParams = {
43
- podName: string;
43
+ runtimeName: string;
44
44
  };
45
45
  /**
46
46
  * Fetch all runtime checkpoints for the current user.
@@ -48,20 +48,11 @@ export type TerminateAgentParams = {
48
48
  * Calls ``GET /api/runtimes/v1/runtime-checkpoints`` and returns
49
49
  * the list of checkpoint records in visible states.
50
50
  */
51
- export declare function useCheckpointsQuery(): import("@tanstack/react-query").UseQueryResult<NoInfer<CheckpointData[]>, Error>;
51
+ export declare function useCheckpointsQuery(): import("@tanstack/react-query").UseQueryResult<CheckpointData[], Error>;
52
52
  /**
53
53
  * Hook to refresh the checkpoints list.
54
54
  */
55
55
  export declare function useRefreshCheckpoints(): () => void;
56
- /**
57
- * Hook to delete a paused agent runtime.
58
- *
59
- * Paused agents have no K8s pod — their state lives entirely in Solr
60
- * checkpoint records. This calls the dedicated
61
- * ``DELETE /runtimes/{podName}/paused`` endpoint which removes those
62
- * Solr records.
63
- */
64
- export declare function useDeletePausedAgentRuntime(): import("@tanstack/react-query").UseMutationResult<any, Error, string, unknown>;
65
56
  /**
66
57
  * Hook to resume a paused agent runtime via checkpoint restore.
67
58
  */
@@ -109,7 +100,7 @@ export interface AgentLifecycleOptions {
109
100
  runtime: AgentConnection | null;
110
101
  /** Callback to connect to a new runtime pod */
111
102
  connectToRuntime: (opts: {
112
- podName: string;
103
+ runtimeName: string;
113
104
  environmentName: string;
114
105
  jupyterBaseUrl?: string;
115
106
  }) => void;
@@ -130,7 +121,7 @@ export interface AgentLifecycleReturn {
130
121
  /** Pause the agent (checkpoint-mode aware) */
131
122
  pause: (mode?: CheckpointMode, messages?: string[]) => Promise<void>;
132
123
  /** Resume a paused agent (checkpoint restore) */
133
- resume: (mode?: CheckpointMode, checkpointId?: string, podName?: string) => Promise<void>;
124
+ resume: (mode?: CheckpointMode, checkpointId?: string, runtimeName?: string) => Promise<void>;
134
125
  /** Terminate the agent (delete runtime) */
135
126
  terminate: () => Promise<void>;
136
127
  /** Create a named checkpoint (pause → wait → stay paused) */
@@ -163,7 +154,7 @@ export declare function useAgentLifecycle(options: AgentLifecycleOptions): Agent
163
154
  * for pause, resume, and checkpoint lifecycle.
164
155
  */
165
156
  export declare function useCheckpoints(): {
166
- checkpointsQuery: import("@tanstack/react-query").UseQueryResult<NoInfer<CheckpointData[]>, Error>;
157
+ checkpointsQuery: import("@tanstack/react-query").UseQueryResult<CheckpointData[], Error>;
167
158
  refresh: () => void;
168
159
  pauseAgent: import("@tanstack/react-query").UseMutationResult<import("../api/runtimes/runtimes").PauseResumeResponse, Error, PauseAgentParams, unknown>;
169
160
  resumeAgent: import("@tanstack/react-query").UseMutationResult<import("../api/runtimes/runtimes").PauseResumeResponse, Error, ResumeAgentParams, unknown>;
@@ -14,8 +14,9 @@ import { useMemo, useState, useCallback } from 'react';
14
14
  import { useQuery, useQueryClient, useMutation } from '@tanstack/react-query';
15
15
  import { useIAMStore } from '@datalayer/core/lib/state';
16
16
  import { useCoreStore, useDatalayer } from '@datalayer/core';
17
- import { agentQueryKeys, AGENT_QUERY_OPTIONS, clearRuntimePodDeleted, } from './useAgentRuntimes';
17
+ import { agentQueryKeys, AGENT_QUERY_OPTIONS, clearRuntimeDeleted, } from './useAgentRuntimes';
18
18
  import { disposeSandboxServiceManagers } from '../services/sandboxServiceManagers';
19
+ import { runtimeCheckpointsUrl, runtimeResumeUrl } from '../runtimes/lifecycle';
19
20
  // ═══════════════════════════════════════════════════════════════════════════
20
21
  // Query hooks
21
22
  // ═══════════════════════════════════════════════════════════════════════════
@@ -33,7 +34,7 @@ export function useCheckpointsQuery() {
33
34
  queryKey: agentQueryKeys.checkpoints.lists(),
34
35
  queryFn: async () => {
35
36
  const resp = await requestDatalayer({
36
- url: `${configuration.runtimesUrl}/api/runtimes/v1/runtime-checkpoints`,
37
+ url: runtimeCheckpointsUrl(configuration.runtimesUrl),
37
38
  method: 'GET',
38
39
  });
39
40
  if (resp.success && resp.checkpoints) {
@@ -57,41 +58,6 @@ export function useRefreshCheckpoints() {
57
58
  });
58
59
  };
59
60
  }
60
- /**
61
- * Hook to delete a paused agent runtime.
62
- *
63
- * Paused agents have no K8s pod — their state lives entirely in Solr
64
- * checkpoint records. This calls the dedicated
65
- * ``DELETE /runtimes/{podName}/paused`` endpoint which removes those
66
- * Solr records.
67
- */
68
- export function useDeletePausedAgentRuntime() {
69
- const { configuration } = useCoreStore();
70
- const { requestDatalayer } = useDatalayer({ notifyOnError: false });
71
- const queryClient = useQueryClient();
72
- return useMutation({
73
- mutationFn: async (podName) => {
74
- return requestDatalayer({
75
- url: `${configuration.runtimesUrl}/api/runtimes/v1/runtimes/${podName}/paused`,
76
- method: 'DELETE',
77
- });
78
- },
79
- onSuccess: (_data, podName) => {
80
- queryClient.cancelQueries({
81
- queryKey: agentQueryKeys.agentRuntimes.detail(podName),
82
- });
83
- queryClient.removeQueries({
84
- queryKey: agentQueryKeys.agentRuntimes.detail(podName),
85
- });
86
- queryClient.invalidateQueries({
87
- queryKey: agentQueryKeys.agentRuntimes.lists(),
88
- });
89
- queryClient.invalidateQueries({
90
- queryKey: agentQueryKeys.checkpoints.all(),
91
- });
92
- },
93
- });
94
- }
95
61
  /**
96
62
  * Hook to resume a paused agent runtime via checkpoint restore.
97
63
  */
@@ -100,16 +66,16 @@ export function useResumePausedAgentRuntime() {
100
66
  const { requestDatalayer } = useDatalayer({ notifyOnError: false });
101
67
  const queryClient = useQueryClient();
102
68
  return useMutation({
103
- mutationFn: async (podName) => {
69
+ mutationFn: async (runtimeName) => {
104
70
  return requestDatalayer({
105
- url: `${configuration.runtimesUrl}/api/runtimes/v1/runtimes/${podName}/resume`,
71
+ url: runtimeResumeUrl(configuration.runtimesUrl, runtimeName),
106
72
  method: 'POST',
107
73
  });
108
74
  },
109
- onSuccess: (_data, podName) => {
75
+ onSuccess: (_data, runtimeName) => {
110
76
  // The pod can come back under the same name — drop any delete tombstone
111
77
  // so the runtimes queries do not filter the resumed runtime out.
112
- clearRuntimePodDeleted(podName);
78
+ clearRuntimeDeleted(runtimeName);
113
79
  queryClient.invalidateQueries({
114
80
  queryKey: agentQueryKeys.agentRuntimes.all(),
115
81
  });
@@ -138,7 +104,7 @@ export function usePauseAgent() {
138
104
  const runtimesUrl = coreStore.getState().configuration?.runtimesUrl || '';
139
105
  const { pauseRuntime } = await import('../api/runtimes/runtimes');
140
106
  const mode = params.mode || 'light';
141
- const resp = await pauseRuntime(token, params.podName, runtimesUrl, {
107
+ const resp = await pauseRuntime(token, params.runtimeName, runtimesUrl, {
142
108
  agent_spec_id: params.agentSpecId,
143
109
  checkpoint_mode: mode,
144
110
  ...(params.messages && mode === 'light'
@@ -148,7 +114,7 @@ export function usePauseAgent() {
148
114
  });
149
115
  if (resp.checkpoint_id) {
150
116
  const { waitForCheckpointStatus } = await import('../api/runtimes/checkpoints');
151
- const ckpt = await waitForCheckpointStatus(token, params.podName, resp.checkpoint_id, ['paused', 'failed'], runtimesUrl);
117
+ const ckpt = await waitForCheckpointStatus(token, params.runtimeName, resp.checkpoint_id, ['paused', 'failed'], runtimesUrl);
152
118
  if (ckpt.status === 'failed') {
153
119
  throw new Error(`Checkpoint ${resp.checkpoint_id} failed during ${mode.toUpperCase()} pause`);
154
120
  }
@@ -158,7 +124,7 @@ export function usePauseAgent() {
158
124
  onSuccess: (_data, params) => {
159
125
  // Pausing tears the pod down: dispose every ServiceManager any surface
160
126
  // opened against the sandbox so their pollers stop immediately.
161
- disposeSandboxServiceManagers(params.podName);
127
+ disposeSandboxServiceManagers(params.runtimeName);
162
128
  queryClient.invalidateQueries({
163
129
  queryKey: agentQueryKeys.agentRuntimes.all(),
164
130
  });
@@ -182,7 +148,7 @@ export function useResumeAgent() {
182
148
  const token = iamStore.getState().token || '';
183
149
  const runtimesUrl = coreStore.getState().configuration?.runtimesUrl || '';
184
150
  const { resumeRuntime } = await import('../api/runtimes/runtimes');
185
- return resumeRuntime(token, params.podName, runtimesUrl, {
151
+ return resumeRuntime(token, params.runtimeName, runtimesUrl, {
186
152
  agent_spec_id: params.agentSpecId,
187
153
  ...(params.mode ? { checkpoint_mode: params.mode } : {}),
188
154
  ...(params.checkpointId ? { checkpoint_id: params.checkpointId } : {}),
@@ -191,7 +157,7 @@ export function useResumeAgent() {
191
157
  onSuccess: (_data, params) => {
192
158
  // The pod can come back under the same name — drop any delete tombstone
193
159
  // so the runtimes queries do not filter the resumed runtime out.
194
- clearRuntimePodDeleted(params.podName);
160
+ clearRuntimeDeleted(params.runtimeName);
195
161
  queryClient.invalidateQueries({
196
162
  queryKey: agentQueryKeys.agentRuntimes.all(),
197
163
  });
@@ -217,7 +183,7 @@ export function useCheckpointAgent() {
217
183
  const { pauseRuntime } = await import('../api/runtimes/runtimes');
218
184
  const { waitForCheckpointStatus } = await import('../api/runtimes/checkpoints');
219
185
  const mode = params.mode || 'criu';
220
- const pauseResp = await pauseRuntime(token, params.podName, runtimesUrl, {
186
+ const pauseResp = await pauseRuntime(token, params.runtimeName, runtimesUrl, {
221
187
  name: params.name || `checkpoint-${Date.now()}`,
222
188
  description: `${mode.toUpperCase()} checkpoint for ${params.agentSpecId}`,
223
189
  checkpoint_mode: mode,
@@ -231,7 +197,7 @@ export function useCheckpointAgent() {
231
197
  if (!checkpointId) {
232
198
  throw new Error('Pause did not return a checkpoint_id');
233
199
  }
234
- const ckpt = await waitForCheckpointStatus(token, params.podName, checkpointId, ['paused', 'failed'], runtimesUrl);
200
+ const ckpt = await waitForCheckpointStatus(token, params.runtimeName, checkpointId, ['paused', 'failed'], runtimesUrl);
235
201
  if (ckpt.status === 'failed') {
236
202
  throw new Error(`Checkpoint ${checkpointId} failed during ${mode.toUpperCase()} pause`);
237
203
  }
@@ -261,7 +227,7 @@ export function useTerminateAgent() {
261
227
  const token = iamStore.getState().token || '';
262
228
  const runtimesUrl = coreStore.getState().configuration?.runtimesUrl || '';
263
229
  const { deleteRuntime } = await import('../api/runtimes/runtimes');
264
- return deleteRuntime(token, params.podName, runtimesUrl);
230
+ return deleteRuntime(token, params.runtimeName, runtimesUrl);
265
231
  },
266
232
  onSuccess: () => {
267
233
  queryClient.invalidateQueries({
@@ -304,7 +270,7 @@ export function useAgentLifecycle(options) {
304
270
  }
305
271
  try {
306
272
  await pauseAgentMutation.mutateAsync({
307
- podName: runtime.podName,
273
+ runtimeName: runtime.runtimeName,
308
274
  mode,
309
275
  agentSpecId,
310
276
  agentSpec,
@@ -318,19 +284,19 @@ export function useAgentLifecycle(options) {
318
284
  }
319
285
  }, [runtime, lifecycleStatus, agentSpecId, agentSpec, pauseAgentMutation]);
320
286
  // ─── Resume ─────────────────────────────────────────────────────────
321
- const resume = useCallback(async (mode = 'criu', checkpointId, podName) => {
287
+ const resume = useCallback(async (mode = 'criu', checkpointId, runtimeName) => {
322
288
  setLifecycleStatus('resuming');
323
289
  setLifecycleError(null);
324
290
  try {
325
291
  const checkpoints = checkpointsQuery.data || [];
326
- const targetPodName = podName ||
327
- runtime?.podName ||
292
+ const targetRuntimeName = runtimeName ||
293
+ runtime?.runtimeName ||
328
294
  (checkpointId
329
295
  ? checkpoints.find((c) => c.id === checkpointId)?.runtime_uid
330
296
  : undefined);
331
- if (targetPodName) {
297
+ if (targetRuntimeName) {
332
298
  await resumeAgentMutation.mutateAsync({
333
- podName: targetPodName,
299
+ runtimeName: targetRuntimeName,
334
300
  agentSpecId,
335
301
  mode,
336
302
  checkpointId,
@@ -360,9 +326,9 @@ export function useAgentLifecycle(options) {
360
326
  const bTs = Number(b.started_at || 0);
361
327
  return bTs - aTs;
362
328
  })[0];
363
- if (latestRuntime?.pod_name && latestRuntime?.ingress) {
329
+ if (latestRuntime?.runtime_name && latestRuntime?.ingress) {
364
330
  connectToRuntime({
365
- podName: latestRuntime.pod_name,
331
+ runtimeName: latestRuntime.runtime_name,
366
332
  environmentName: latestRuntime.environment.name,
367
333
  jupyterBaseUrl: latestRuntime.ingress,
368
334
  });
@@ -400,7 +366,7 @@ export function useAgentLifecycle(options) {
400
366
  }
401
367
  try {
402
368
  await checkpointAgentMutation.mutateAsync({
403
- podName: runtime.podName,
369
+ runtimeName: runtime.runtimeName,
404
370
  name,
405
371
  mode,
406
372
  agentSpecId,
@@ -423,7 +389,7 @@ export function useAgentLifecycle(options) {
423
389
  }
424
390
  try {
425
391
  await terminateAgentMutation.mutateAsync({
426
- podName: runtime.podName,
392
+ runtimeName: runtime.runtimeName,
427
393
  });
428
394
  disconnect();
429
395
  setLifecycleStatus('idle');
@@ -3,7 +3,7 @@ import type { RemoteConfig } from '../types/config';
3
3
  * Hook to safely use query when QueryClient is available.
4
4
  * Returns a mock result if no QueryClientProvider is present.
5
5
  */
6
- export declare function useConfig(enabled: boolean, configEndpoint?: string, authToken?: string, agentId?: string): import("@tanstack/query-core").QueryObserverRefetchErrorResult<NoInfer<RemoteConfig>, Error> | import("@tanstack/query-core").QueryObserverSuccessResult<NoInfer<RemoteConfig>, Error> | import("@tanstack/query-core").QueryObserverLoadingErrorResult<NoInfer<RemoteConfig>, Error> | import("@tanstack/query-core").QueryObserverPendingResult<NoInfer<RemoteConfig>, Error> | import("@tanstack/query-core").QueryObserverPlaceholderResult<NoInfer<RemoteConfig>, Error> | {
6
+ export declare function useConfig(enabled: boolean, configEndpoint?: string, authToken?: string, agentId?: string): import("@tanstack/query-core").QueryObserverRefetchErrorResult<RemoteConfig, Error> | import("@tanstack/query-core").QueryObserverSuccessResult<RemoteConfig, Error> | import("@tanstack/query-core").QueryObserverLoadingErrorResult<RemoteConfig, Error> | import("@tanstack/query-core").QueryObserverPendingResult<RemoteConfig, Error> | import("@tanstack/query-core").QueryObserverPlaceholderResult<RemoteConfig, Error> | {
7
7
  data: undefined;
8
8
  isLoading: boolean;
9
9
  isError: boolean;
@@ -46,7 +46,11 @@ export function useConfig(enabled, configEndpoint, authToken, agentId) {
46
46
  // Otherwise use Jupyter requestAPI.
47
47
  return requestAPI('configure');
48
48
  },
49
- queryKey: ['models', configEndpoint || 'jupyter', agentId || 'global'],
49
+ queryKey: [
50
+ 'models',
51
+ configEndpoint || 'jupyter-server',
52
+ agentId || 'global',
53
+ ],
50
54
  enabled,
51
55
  retry: 1,
52
56
  });
@@ -1,16 +1,27 @@
1
- import type { ContextSnapshotData } from '../types/context';
2
1
  /**
3
- * Hook that previously polled agent context-snapshot from the backend.
2
+ * What the agent's context window is holding.
3
+ *
4
+ * The REST endpoint this used to poll was removed, and the snapshot moved to
5
+ * the WebSocket stream — but the hook was left returning `undefined` with a
6
+ * note that a replacement would be wired in later. It never was, so the
7
+ * token-usage bar and its context ring stayed hidden for *every* agent, on
8
+ * every target, however the host configured them. The data had been arriving
9
+ * the whole time; nothing was reading it.
10
+ *
11
+ * It arrives on `agent.snapshot` and the runtime store already keeps it. This
12
+ * reads that.
4
13
  *
5
- * The REST endpoint has been removed — context snapshot data is now
6
- * delivered via the WebSocket stream (`agent.snapshot` messages).
7
- * This hook is kept as a no-op so existing call-sites compile without
8
- * changes; the token-usage bar simply stays hidden until a WS-based
9
- * replacement is wired in.
14
+ * The arguments are the ones the REST version took. They are unused and kept
15
+ * so the call sites that pass an endpoint and a token still compile — what
16
+ * they described (where to ask, and as whom) is settled by the socket now.
17
+ *
18
+ * @module hooks/useContextSnapshot
10
19
  */
20
+ import type { ContextSnapshotData } from '../types/context';
11
21
  export declare function useContextSnapshot(_enabled: boolean, _configEndpoint?: string, _agentId?: string, _authToken?: string): {
12
22
  data: ContextSnapshotData | undefined;
13
23
  isLoading: boolean;
14
24
  isError: boolean;
15
25
  error: null;
16
26
  };
27
+ export default useContextSnapshot;
@@ -2,15 +2,19 @@
2
2
  * Copyright (c) 2025-2026 Datalayer, Inc.
3
3
  * Distributed under the terms of the Modified BSD License.
4
4
  */
5
- /**
6
- * Hook that previously polled agent context-snapshot from the backend.
7
- *
8
- * The REST endpoint has been removed — context snapshot data is now
9
- * delivered via the WebSocket stream (`agent.snapshot` messages).
10
- * This hook is kept as a no-op so existing call-sites compile without
11
- * changes; the token-usage bar simply stays hidden until a WS-based
12
- * replacement is wired in.
13
- */
5
+ import { useAgentRuntimeContextSnapshot } from '../stores';
14
6
  export function useContextSnapshot(_enabled, _configEndpoint, _agentId, _authToken) {
15
- return { data: undefined, isLoading: false, isError: false, error: null };
7
+ const snapshot = useAgentRuntimeContextSnapshot();
8
+ /*
9
+ * Never "loading". There is no request to be in flight — the socket either
10
+ * has reported a snapshot or has not — and a caller that showed a spinner
11
+ * for this would show it for as long as the agent stayed quiet.
12
+ */
13
+ return {
14
+ data: snapshot ?? undefined,
15
+ isLoading: false,
16
+ isError: false,
17
+ error: null,
18
+ };
16
19
  }
20
+ export default useContextSnapshot;
@@ -1,16 +1,16 @@
1
1
  import type { NotificationFilters, ListAgentEventsParams, CreateAgentEventRequest, UpdateAgentEventRequest } from '../types';
2
- export declare function useFilteredNotifications(filters?: NotificationFilters): import("@tanstack/react-query").UseQueryResult<NoInfer<import("../types").AgentNotification[]>, Error>;
3
- export declare function useUnreadNotificationCount(): import("@tanstack/react-query").UseQueryResult<NoInfer<{
2
+ export declare function useFilteredNotifications(filters?: NotificationFilters): import("@tanstack/react-query").UseQueryResult<import("../types").AgentNotification[], Error>;
3
+ export declare function useUnreadNotificationCount(): import("@tanstack/react-query").UseQueryResult<{
4
4
  count: number;
5
- }>, Error>;
5
+ }, Error>;
6
6
  export declare function useMarkNotificationRead(): import("@tanstack/react-query").UseMutationResult<void, Error, string, unknown>;
7
7
  export declare function useMarkAllNotificationsRead(): import("@tanstack/react-query").UseMutationResult<void, Error, void, unknown>;
8
8
  /**
9
9
  * List events across all agents for the authenticated user.
10
10
  */
11
- export declare function useAllAgentEvents(params?: Omit<ListAgentEventsParams, 'agent_id'>, enabled?: boolean): import("@tanstack/react-query").UseQueryResult<NoInfer<import("../types").ListAgentEventsResponse>, Error>;
12
- export declare function useAgentEvents(agentId: string, params?: Omit<ListAgentEventsParams, 'agent_id'>, enabled?: boolean): import("@tanstack/react-query").UseQueryResult<NoInfer<import("../types").ListAgentEventsResponse>, Error>;
13
- export declare function useAgentEvent(agentId: string, eventId?: string): import("@tanstack/react-query").UseQueryResult<NoInfer<import("../types").GetAgentEventResponse>, Error>;
11
+ export declare function useAllAgentEvents(params?: Omit<ListAgentEventsParams, 'agent_id'>, enabled?: boolean): import("@tanstack/react-query").UseQueryResult<import("../types").ListAgentEventsResponse, Error>;
12
+ export declare function useAgentEvents(agentId: string, params?: Omit<ListAgentEventsParams, 'agent_id'>, enabled?: boolean): import("@tanstack/react-query").UseQueryResult<import("../types").ListAgentEventsResponse, Error>;
13
+ export declare function useAgentEvent(agentId: string, eventId?: string): import("@tanstack/react-query").UseQueryResult<import("../types").GetAgentEventResponse, Error>;
14
14
  export declare function useCreateAgentEvent(): import("@tanstack/react-query").UseMutationResult<{
15
15
  success: boolean;
16
16
  event: import("../types").AgentEvent;
@@ -34,14 +34,14 @@ export declare function useMarkEventUnread(agentId: string): import("@tanstack/r
34
34
  eventAgentId?: string;
35
35
  }, unknown>;
36
36
  export declare function useNotifications(agentId: string, filters?: NotificationFilters, eventParams?: Omit<ListAgentEventsParams, 'agent_id'>, eventId?: string): {
37
- notificationsQuery: import("@tanstack/react-query").UseQueryResult<NoInfer<import("../types").AgentNotification[]>, Error>;
38
- unreadCountQuery: import("@tanstack/react-query").UseQueryResult<NoInfer<{
37
+ notificationsQuery: import("@tanstack/react-query").UseQueryResult<import("../types").AgentNotification[], Error>;
38
+ unreadCountQuery: import("@tanstack/react-query").UseQueryResult<{
39
39
  count: number;
40
- }>, Error>;
40
+ }, Error>;
41
41
  markRead: import("@tanstack/react-query").UseMutationResult<void, Error, string, unknown>;
42
42
  markAllRead: import("@tanstack/react-query").UseMutationResult<void, Error, void, unknown>;
43
- eventsQuery: import("@tanstack/react-query").UseQueryResult<NoInfer<import("../types").ListAgentEventsResponse>, Error>;
44
- eventQuery: import("@tanstack/react-query").UseQueryResult<NoInfer<import("../types").GetAgentEventResponse>, Error>;
43
+ eventsQuery: import("@tanstack/react-query").UseQueryResult<import("../types").ListAgentEventsResponse, Error>;
44
+ eventQuery: import("@tanstack/react-query").UseQueryResult<import("../types").GetAgentEventResponse, Error>;
45
45
  createEvent: import("@tanstack/react-query").UseMutationResult<{
46
46
  success: boolean;
47
47
  event: import("../types").AgentEvent;
@@ -58,7 +58,7 @@ export function useMarkAllNotificationsRead() {
58
58
  const baseUrl = useBaseUrl();
59
59
  const queryClient = useQueryClient();
60
60
  return useMutation({
61
- mutationFn: () => notifications.markAllRead(token, baseUrl),
61
+ mutationFn: () => notifications.markAllRead(token, undefined, baseUrl),
62
62
  onSuccess: () => {
63
63
  queryClient.invalidateQueries({ queryKey: ['agent-notifications'] });
64
64
  },