@datalayer/agent-runtimes 1.0.29 → 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 (768) 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 +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 +35 -0
  163. package/lib/components/code-sandboxes/CodeSandboxEnvironmentSelect.js +27 -29
  164. package/lib/components/code-sandboxes/CodeSandboxLauncher.d.ts +1 -0
  165. package/lib/components/code-sandboxes/CodeSandboxLauncher.js +42 -19
  166. package/lib/components/code-sandboxes/CodeSandboxNames.js +7 -6
  167. package/lib/components/code-sandboxes/CodeSandboxPicker.js +89 -42
  168. package/lib/components/code-sandboxes/CodeSandboxPickerCell.d.ts +1 -0
  169. package/lib/components/code-sandboxes/CodeSandboxPickerCell.js +0 -4
  170. package/lib/components/code-sandboxes/CodeSandboxReservationControl.d.ts +1 -0
  171. package/lib/components/code-sandboxes/CodeSandboxReservationControl.js +5 -7
  172. package/lib/components/code-sandboxes/CodeSandboxTransfer.d.ts +5 -0
  173. package/lib/components/code-sandboxes/CodeSandboxUtils.d.ts +13 -1
  174. package/lib/components/code-sandboxes/CodeSandboxUtils.js +10 -4
  175. package/lib/components/code-sandboxes/NewCodeSandboxControls.d.ts +21 -15
  176. package/lib/components/code-sandboxes/NewCodeSandboxControls.js +28 -51
  177. package/lib/components/code-sandboxes/codeSandboxAllowance.d.ts +33 -0
  178. package/lib/components/code-sandboxes/codeSandboxAllowance.js +37 -0
  179. package/lib/components/code-sandboxes/codeSandboxEnvironments.d.ts +86 -0
  180. package/lib/components/code-sandboxes/codeSandboxEnvironments.js +147 -0
  181. package/lib/components/code-sandboxes/codeSandboxProviders.js +14 -5
  182. package/lib/components/code-sandboxes/index.d.ts +1 -0
  183. package/lib/components/code-sandboxes/index.js +1 -0
  184. package/lib/components/context/SpaceSelect.d.ts +1 -1
  185. package/lib/components/flashes/FlashDisclaimer.d.ts +1 -1
  186. package/lib/components/icons/ArtifactIcon.d.ts +1 -0
  187. package/lib/components/nbgrader/NbGradesDetails.d.ts +1 -1
  188. package/lib/components/progress/CreditsIndicator.d.ts +1 -0
  189. package/lib/components/progress/CreditsIndicator.js +0 -4
  190. package/lib/components/scheduler/ScheduleMenu.d.ts +1 -1
  191. package/lib/components/snapshots/SandboxSnapshotMenu.d.ts +3 -2
  192. package/lib/components/snapshots/SandboxSnapshotMenu.js +11 -15
  193. package/lib/components/snippets/SnippetDialog.d.ts +1 -0
  194. package/lib/components/snippets/SnippetDialog.js +0 -4
  195. package/lib/components/specs/SpecPayloadPreview.d.ts +34 -0
  196. package/lib/components/specs/SpecPayloadPreview.js +102 -0
  197. package/lib/components/tokens/SpaceVariantToken.d.ts +1 -1
  198. package/lib/context/ContextDistribution.d.ts +1 -1
  199. package/lib/context/ContextInspector.d.ts +2 -1
  200. package/lib/context/ContextPanel.d.ts +1 -1
  201. package/lib/context/ContextUsage.d.ts +1 -1
  202. package/lib/context/CostTracker.d.ts +1 -1
  203. package/lib/context/CostUsageChart.d.ts +1 -1
  204. package/lib/context/CostUsageChart.js +4 -4
  205. package/lib/context/MessageHistory.d.ts +3 -2
  206. package/lib/context/TokenUsageChart.d.ts +1 -1
  207. package/lib/context/TokenUsageChart.js +4 -4
  208. package/lib/examples/A2UiAgentExample.js +15 -6
  209. package/lib/examples/A2UiComponentsGalleryExample.d.ts +10 -0
  210. package/lib/examples/A2UiComponentsGalleryExample.js +24 -855
  211. package/lib/examples/A2UiContactCardExample.d.ts +10 -0
  212. package/lib/examples/A2UiContactCardExample.js +23 -170
  213. package/lib/examples/A2UiJupyterOutputExample.d.ts +3 -0
  214. package/lib/examples/A2UiJupyterOutputExample.js +792 -0
  215. package/lib/examples/A2UiRestaurantExample.d.ts +10 -0
  216. package/lib/examples/A2UiRestaurantExample.js +24 -179
  217. package/lib/examples/A2UiViewerExample.d.ts +10 -0
  218. package/lib/examples/A2UiViewerExample.js +24 -378
  219. package/lib/examples/AgUiAgenticExample.js +2 -4
  220. package/lib/examples/AgUiBackendToolRenderingExample.js +3 -5
  221. package/lib/examples/AgUiHaikuGenUiExample.js +2 -4
  222. package/lib/examples/AgUiHumanInTheLoopExample.js +2 -4
  223. package/lib/examples/AgUiSharedStateExample.js +2 -4
  224. package/lib/examples/AgUiToolsBasedGenUiExample.js +2 -4
  225. package/lib/examples/AgentA2AExample.d.ts +17 -0
  226. package/lib/examples/AgentA2AExample.js +56 -0
  227. package/lib/examples/AgentCheckpointsExample.d.ts +9 -10
  228. package/lib/examples/AgentCheckpointsExample.js +72 -54
  229. package/lib/examples/AgentCodeSandboxExample.d.ts +7 -7
  230. package/lib/examples/AgentCodeSandboxExample.js +93 -303
  231. package/lib/examples/AgentCodeSandboxesExample.d.ts +10 -0
  232. package/lib/examples/AgentCodeSandboxesExample.js +56 -162
  233. package/lib/examples/AgentCodemodeExample.d.ts +7 -2
  234. package/lib/examples/AgentCodemodeExample.js +60 -125
  235. package/lib/examples/AgentCompactionExample.js +19 -135
  236. package/lib/examples/AgentEvalsExample.js +34 -66
  237. package/lib/examples/AgentGuardrailsExample.js +64 -112
  238. package/lib/examples/AgentHooksExample.d.ts +11 -0
  239. package/lib/examples/AgentHooksExample.js +30 -67
  240. package/lib/examples/AgentInferenceProviderExample.js +8 -32
  241. package/lib/examples/AgentLoopExample.d.ts +4 -2
  242. package/lib/examples/AgentLoopExample.js +45 -93
  243. package/lib/examples/AgentMCPExample.js +30 -79
  244. package/lib/examples/AgentMemoryExample.js +21 -64
  245. package/lib/examples/AgentMonitoringExample.js +33 -94
  246. package/lib/examples/AgentNotificationsExample.js +56 -95
  247. package/lib/examples/AgentOtelExample.js +35 -88
  248. package/lib/examples/AgentOutputsExample.d.ts +2 -1
  249. package/lib/examples/AgentOutputsExample.js +16 -137
  250. package/lib/examples/AgentParametersExample.js +7 -17
  251. package/lib/examples/AgentSkillsExample.js +40 -154
  252. package/lib/examples/AgentSubagentsExample.d.ts +7 -6
  253. package/lib/examples/AgentSubagentsExample.js +80 -191
  254. package/lib/examples/AgentToolApprovalsExample.js +35 -91
  255. package/lib/examples/AgentTriggersExample.js +43 -59
  256. package/lib/examples/AgentspecsExample.js +4 -4
  257. package/lib/examples/CellExample.d.ts +1 -1
  258. package/lib/examples/ChatExample.d.ts +12 -5
  259. package/lib/examples/ChatExample.js +38 -13
  260. package/lib/examples/CopilotKitLexicalExample.d.ts +1 -0
  261. package/lib/examples/CopilotKitLexicalExample.js +4 -41
  262. package/lib/examples/CopilotKitNotebookExample.d.ts +10 -0
  263. package/lib/examples/CopilotKitNotebookExample.js +2 -14
  264. package/lib/examples/DecksAgent.d.ts +21 -0
  265. package/lib/examples/DecksAgent.js +23 -0
  266. package/lib/examples/DocumentPageAgent.d.ts +19 -0
  267. package/lib/examples/DocumentPageAgent.js +15 -0
  268. package/lib/examples/Lexical2Example.d.ts +2 -2
  269. package/lib/examples/Lexical2Example.js +17 -38
  270. package/lib/examples/LexicalAgentExample.d.ts +2 -1
  271. package/lib/examples/LexicalAgentExample.js +29 -102
  272. package/lib/examples/LexicalAgentSidebarExample.d.ts +16 -5
  273. package/lib/examples/LexicalAgentSidebarExample.js +99 -131
  274. package/lib/examples/LoopShellExample.d.ts +38 -0
  275. package/lib/examples/LoopShellExample.js +68 -0
  276. package/lib/examples/LoopWorkspaceEmbed.d.ts +50 -0
  277. package/lib/examples/LoopWorkspaceEmbed.js +73 -0
  278. package/lib/examples/LoopWorkspaceExample.d.ts +150 -0
  279. package/lib/examples/LoopWorkspaceExample.js +151 -0
  280. package/lib/examples/NotebookAgentExample.d.ts +13 -0
  281. package/lib/examples/NotebookAgentExample.js +36 -86
  282. package/lib/examples/NotebookAgentSidebarExample.d.ts +10 -4
  283. package/lib/examples/NotebookAgentSidebarExample.js +39 -83
  284. package/lib/examples/NotebookCollaborationExample.d.ts +1 -1
  285. package/lib/examples/NotebookCollaborationExample.js +108 -20
  286. package/lib/examples/NotebookExample.d.ts +1 -1
  287. package/lib/examples/NotebookExample.js +20 -10
  288. package/lib/examples/NotebookPageAgent.d.ts +23 -0
  289. package/lib/examples/NotebookPageAgent.js +17 -0
  290. package/lib/examples/components/ExampleWrapper.d.ts +5 -0
  291. package/lib/examples/components/ExampleWrapper.js +36 -28
  292. package/lib/examples/components/LexicalEditor.d.ts +1 -1
  293. package/lib/examples/components/LexicalEditor.js +4 -24
  294. package/lib/examples/components/haiku/HaikuDisplay.d.ts +1 -1
  295. package/lib/examples/components/haiku/InlineHaikuCard.d.ts +1 -1
  296. package/lib/examples/components/weather/InlineWeatherCard.d.ts +1 -1
  297. package/lib/examples/example-selector.js +26 -6
  298. package/lib/examples/hooks/useCreateAgentOnce.d.ts +41 -0
  299. package/lib/examples/hooks/useCreateAgentOnce.js +51 -0
  300. package/lib/examples/hooks/useExampleAgentProtocol.d.ts +35 -0
  301. package/lib/examples/hooks/useExampleAgentProtocol.js +63 -0
  302. package/lib/examples/hooks/useExampleAgentRuntime.d.ts +16 -16
  303. package/lib/examples/hooks/useExampleAgentRuntime.js +26 -25
  304. package/lib/examples/hooks/useExampleAgentRuntimes.js +45 -61
  305. package/lib/examples/hooks/useExampleJupyterAgent.d.ts +91 -0
  306. package/lib/examples/hooks/useExampleJupyterAgent.js +151 -0
  307. package/lib/examples/index.d.ts +4 -0
  308. package/lib/examples/index.js +6 -0
  309. package/lib/examples/lexical/editorConfig.d.ts +2 -75
  310. package/lib/examples/lexical/editorConfig.js +26 -48
  311. package/lib/examples/lexical/lexical-theme.css +65 -47
  312. package/lib/examples/main.js +450 -322
  313. package/lib/examples/scenes/A2UiComponentsGalleryScene.d.ts +3 -0
  314. package/lib/examples/scenes/A2UiComponentsGalleryScene.js +872 -0
  315. package/lib/examples/scenes/A2UiContactCardScene.d.ts +3 -0
  316. package/lib/examples/scenes/A2UiContactCardScene.js +188 -0
  317. package/lib/examples/scenes/A2UiRestaurantScene.d.ts +3 -0
  318. package/lib/examples/scenes/A2UiRestaurantScene.js +196 -0
  319. package/lib/examples/scenes/A2UiViewerScene.d.ts +3 -0
  320. package/lib/examples/scenes/A2UiViewerScene.js +395 -0
  321. package/lib/examples/utils/agentSummaryStore.d.ts +7 -1
  322. package/lib/examples/utils/agents/earthquake-detector.ipynb.json +1 -1
  323. package/lib/examples/utils/agents/earthquake-detector.lexical.json +1 -1
  324. package/lib/examples/utils/agents/sales-forecaster.ipynb.json +1 -1
  325. package/lib/examples/utils/agents/sales-forecaster.lexical.json +1 -1
  326. package/lib/examples/utils/agents/social-post-generator.ipynb.json +1 -1
  327. package/lib/examples/utils/agents/social-post-generator.lexical.json +1 -1
  328. package/lib/examples/utils/exampleSurfaces.d.ts +31 -0
  329. package/lib/examples/utils/exampleSurfaces.js +38 -0
  330. package/lib/examples/utils/jupyterSandboxUrl.d.ts +27 -0
  331. package/lib/examples/utils/jupyterSandboxUrl.js +55 -0
  332. package/lib/examples/utils/localUrl.d.ts +2 -0
  333. package/lib/examples/utils/localUrl.js +49 -0
  334. package/lib/examples/utils/notebookToolbarItems.d.ts +46 -0
  335. package/lib/examples/utils/notebookToolbarItems.js +129 -0
  336. package/lib/examples/utils/runtimeTargetStore.d.ts +40 -1
  337. package/lib/examples/utils/runtimeTargetStore.js +82 -1
  338. package/lib/examples/utils/themedProvider.d.ts +7 -0
  339. package/lib/examples/utils/themedProvider.js +57 -4
  340. package/lib/examples/utils/useExampleAgentRuntimesUrl.js +30 -5
  341. package/lib/examples/utils/waitForAgent.d.ts +23 -0
  342. package/lib/examples/utils/waitForAgent.js +24 -0
  343. package/lib/examples2/CellExample.d.ts +1 -1
  344. package/lib/examples2/DatalayerNotebookExample.d.ts +1 -1
  345. package/lib/examples2/NotebookExample.d.ts +1 -1
  346. package/lib/examples2/NotebookMutationsKernel.d.ts +1 -1
  347. package/lib/examples2/NotebookMutationsServiceManager.d.ts +1 -1
  348. package/lib/examples2/main.js +24 -4
  349. package/lib/extensions/A2UIExtension.d.ts +1 -1
  350. package/lib/hooks/index.d.ts +8 -5
  351. package/lib/hooks/index.js +20 -5
  352. package/lib/hooks/useAgentRuntimes.d.ts +49 -22
  353. package/lib/hooks/useAgentRuntimes.js +214 -90
  354. package/lib/hooks/useAgentsCatalog.js +32 -4
  355. package/lib/hooks/useBrowserAgent.d.ts +26 -0
  356. package/lib/hooks/useBrowserAgent.js +75 -0
  357. package/lib/hooks/useBrowserInference.d.ts +27 -0
  358. package/lib/hooks/useBrowserInference.js +67 -0
  359. package/lib/hooks/useCheckpoints.d.ts +8 -17
  360. package/lib/hooks/useCheckpoints.js +25 -59
  361. package/lib/hooks/useConfig.d.ts +1 -1
  362. package/lib/hooks/useConfig.js +5 -1
  363. package/lib/hooks/useContextSnapshot.d.ts +18 -7
  364. package/lib/hooks/useContextSnapshot.js +14 -10
  365. package/lib/hooks/useNotifications.d.ts +11 -11
  366. package/lib/hooks/useNotifications.js +1 -1
  367. package/lib/hooks/useProjects.d.ts +7 -19
  368. package/lib/hooks/useProjects.js +5 -5
  369. package/lib/hooks/useSkills.d.ts +0 -1
  370. package/lib/hooks/useSkills.js +6 -2
  371. package/lib/hooks/useToolApprovals.d.ts +8 -8
  372. package/lib/hooks/useToolApprovals.js +3 -3
  373. package/lib/identity/AgentIdentity.d.ts +9 -2
  374. package/lib/index.d.ts +1 -0
  375. package/lib/index.js +4 -0
  376. package/lib/jupyter/index.d.ts +2 -1
  377. package/lib/jupyter/index.js +2 -1
  378. package/lib/jupyter/serverExecution.d.ts +78 -0
  379. package/lib/jupyter/serverExecution.js +258 -0
  380. package/lib/jupyter/useResumeServerExecutions.d.ts +11 -0
  381. package/lib/jupyter/useResumeServerExecutions.js +64 -0
  382. package/lib/lexical/ChatInlinePlugin.d.ts +33 -0
  383. package/lib/lexical/ChatInlinePlugin.js +0 -36
  384. package/lib/loop/core/focusRequests.d.ts +10 -0
  385. package/lib/loop/core/focusRequests.js +46 -0
  386. package/lib/loop/core/index.d.ts +894 -0
  387. package/lib/loop/core/index.js +264 -0
  388. package/lib/loop/core/promptStore.d.ts +44 -0
  389. package/lib/loop/core/promptStore.js +63 -0
  390. package/lib/loop/core/surfaceRequests.d.ts +33 -0
  391. package/lib/loop/core/surfaceRequests.js +29 -0
  392. package/lib/loop/core/toolbar.d.ts +28 -0
  393. package/lib/loop/core/toolbar.js +59 -0
  394. package/lib/loop/embed/LoopEmbed.d.ts +57 -0
  395. package/lib/loop/embed/LoopEmbed.js +118 -0
  396. package/lib/loop/extensions.d.ts +10 -0
  397. package/lib/loop/extensions.js +49 -0
  398. package/lib/loop/index.d.ts +68 -0
  399. package/lib/loop/index.js +87 -0
  400. package/lib/loop/plugins/a2a-sidebar/A2ASidebar.d.ts +48 -0
  401. package/lib/loop/plugins/a2a-sidebar/A2ASidebar.js +190 -0
  402. package/lib/loop/plugins/a2a-sidebar/index.d.ts +5 -0
  403. package/lib/loop/plugins/a2a-sidebar/index.js +39 -0
  404. package/lib/loop/plugins/a2ui/A2uiView.d.ts +12 -0
  405. package/lib/loop/plugins/a2ui/A2uiView.js +97 -0
  406. package/lib/loop/plugins/a2ui/index.d.ts +3 -0
  407. package/lib/loop/plugins/a2ui/index.js +50 -0
  408. package/lib/loop/plugins/a2ui-scene/index.d.ts +36 -0
  409. package/lib/loop/plugins/a2ui-scene/index.js +28 -0
  410. package/lib/loop/plugins/agent-a2a/index.d.ts +3 -0
  411. package/lib/loop/plugins/agent-a2a/index.js +26 -0
  412. package/lib/loop/plugins/agent-a2ui/index.d.ts +3 -0
  413. package/lib/loop/plugins/agent-a2ui/index.js +42 -0
  414. package/lib/loop/plugins/agent-a2ui-jupyter-output/index.d.ts +3 -0
  415. package/lib/loop/plugins/agent-a2ui-jupyter-output/index.js +53 -0
  416. package/lib/loop/plugins/agent-capacity/index.d.ts +39 -0
  417. package/lib/loop/plugins/agent-capacity/index.js +52 -0
  418. package/lib/loop/plugins/agent-checkpoints/index.d.ts +3 -0
  419. package/lib/loop/plugins/agent-checkpoints/index.js +26 -0
  420. package/lib/loop/plugins/agent-code-sandbox/index.d.ts +3 -0
  421. package/lib/loop/plugins/agent-code-sandbox/index.js +24 -0
  422. package/lib/loop/plugins/agent-code-sandboxes/index.d.ts +13 -0
  423. package/lib/loop/plugins/agent-code-sandboxes/index.js +85 -0
  424. package/lib/loop/plugins/agent-codemode/index.d.ts +5 -0
  425. package/lib/loop/plugins/agent-codemode/index.js +41 -0
  426. package/lib/loop/plugins/agent-compaction/index.d.ts +10 -0
  427. package/lib/loop/plugins/agent-compaction/index.js +34 -0
  428. package/lib/loop/plugins/agent-evals/index.d.ts +3 -0
  429. package/lib/loop/plugins/agent-evals/index.js +25 -0
  430. package/lib/loop/plugins/agent-guardrails/index.d.ts +3 -0
  431. package/lib/loop/plugins/agent-guardrails/index.js +25 -0
  432. package/lib/loop/plugins/agent-hooks/index.d.ts +3 -0
  433. package/lib/loop/plugins/agent-hooks/index.js +28 -0
  434. package/lib/loop/plugins/agent-inference/index.d.ts +7 -0
  435. package/lib/loop/plugins/agent-inference/index.js +29 -0
  436. package/lib/loop/plugins/agent-mcp/index.d.ts +3 -0
  437. package/lib/loop/plugins/agent-mcp/index.js +25 -0
  438. package/lib/loop/plugins/agent-memory/index.d.ts +3 -0
  439. package/lib/loop/plugins/agent-memory/index.js +25 -0
  440. package/lib/loop/plugins/agent-monitoring/index.d.ts +3 -0
  441. package/lib/loop/plugins/agent-monitoring/index.js +25 -0
  442. package/lib/loop/plugins/agent-notifications/index.d.ts +3 -0
  443. package/lib/loop/plugins/agent-notifications/index.js +25 -0
  444. package/lib/loop/plugins/agent-otel/index.d.ts +3 -0
  445. package/lib/loop/plugins/agent-otel/index.js +25 -0
  446. package/lib/loop/plugins/agent-outputs/index.d.ts +3 -0
  447. package/lib/loop/plugins/agent-outputs/index.js +25 -0
  448. package/lib/loop/plugins/agent-parameters/index.d.ts +3 -0
  449. package/lib/loop/plugins/agent-parameters/index.js +25 -0
  450. package/lib/loop/plugins/agent-skills/index.d.ts +3 -0
  451. package/lib/loop/plugins/agent-skills/index.js +25 -0
  452. package/lib/loop/plugins/agent-subagents/index.d.ts +3 -0
  453. package/lib/loop/plugins/agent-subagents/index.js +25 -0
  454. package/lib/loop/plugins/agent-tool-approvals/index.d.ts +11 -0
  455. package/lib/loop/plugins/agent-tool-approvals/index.js +38 -0
  456. package/lib/loop/plugins/agent-triggers/index.d.ts +3 -0
  457. package/lib/loop/plugins/agent-triggers/index.js +26 -0
  458. package/lib/loop/plugins/agents/AgentSummaryPanel.d.ts +20 -0
  459. package/lib/loop/plugins/agents/AgentSummaryPanel.js +50 -0
  460. package/lib/loop/plugins/agents/AnonymousKeyBadge.d.ts +35 -0
  461. package/lib/loop/plugins/agents/AnonymousKeyBadge.js +53 -0
  462. package/lib/loop/plugins/agents/DatalayerAgentBridge.d.ts +24 -0
  463. package/lib/loop/plugins/agents/DatalayerAgentBridge.js +102 -0
  464. package/lib/loop/plugins/agents/DatalayerAgentMount.d.ts +18 -0
  465. package/lib/loop/plugins/agents/DatalayerAgentMount.js +12 -0
  466. package/lib/loop/plugins/agents/SandboxSelector.d.ts +18 -0
  467. package/lib/loop/plugins/agents/SandboxSelector.js +99 -0
  468. package/lib/loop/plugins/agents/SandboxStatusBridge.d.ts +19 -0
  469. package/lib/loop/plugins/agents/SandboxStatusBridge.js +23 -0
  470. package/lib/loop/plugins/agents/SandboxView.d.ts +11 -0
  471. package/lib/loop/plugins/agents/SandboxView.js +43 -0
  472. package/lib/loop/plugins/agents/TeamMemberPicker.d.ts +17 -0
  473. package/lib/loop/plugins/agents/TeamMemberPicker.js +60 -0
  474. package/lib/loop/plugins/agents/agentIcons.d.ts +23 -0
  475. package/lib/loop/plugins/agents/agentIcons.js +88 -0
  476. package/lib/loop/plugins/agents/browserService.d.ts +50 -0
  477. package/lib/loop/plugins/agents/browserService.js +233 -0
  478. package/lib/loop/plugins/agents/index.d.ts +13 -0
  479. package/lib/loop/plugins/agents/index.js +17 -0
  480. package/lib/loop/plugins/agents/plugin.d.ts +91 -0
  481. package/lib/loop/plugins/agents/plugin.js +201 -0
  482. package/lib/loop/plugins/agents/service.d.ts +99 -0
  483. package/lib/loop/plugins/agents/service.js +167 -0
  484. package/lib/loop/plugins/agents/specSubagents.d.ts +18 -0
  485. package/lib/loop/plugins/agents/specSubagents.js +33 -0
  486. package/lib/loop/plugins/agents/switchable.d.ts +107 -0
  487. package/lib/loop/plugins/agents/switchable.js +405 -0
  488. package/lib/loop/plugins/agents/team.d.ts +87 -0
  489. package/lib/loop/plugins/agents/team.js +143 -0
  490. package/lib/loop/plugins/agents/useSandboxService.d.ts +11 -0
  491. package/lib/loop/plugins/agents/useSandboxService.js +36 -0
  492. package/lib/loop/plugins/agents/useTeamSelection.d.ts +10 -0
  493. package/lib/loop/plugins/agents/useTeamSelection.js +27 -0
  494. package/lib/loop/plugins/agentspecs/AgentspecPicker.d.ts +15 -0
  495. package/lib/loop/plugins/agentspecs/AgentspecPicker.js +90 -0
  496. package/lib/loop/plugins/agentspecs/index.d.ts +6 -0
  497. package/lib/loop/plugins/agentspecs/index.js +63 -0
  498. package/lib/loop/plugins/chat/ChatView.d.ts +20 -0
  499. package/lib/loop/plugins/chat/ChatView.js +1670 -0
  500. package/lib/loop/plugins/chat/chatViewTools.d.ts +41 -0
  501. package/lib/loop/plugins/chat/chatViewTools.js +92 -0
  502. package/lib/loop/plugins/chat/index.d.ts +111 -0
  503. package/lib/loop/plugins/chat/index.js +143 -0
  504. package/lib/loop/plugins/chat/turnState.d.ts +41 -0
  505. package/lib/loop/plugins/chat/turnState.js +90 -0
  506. package/lib/loop/plugins/chat-extras/index.d.ts +14 -0
  507. package/lib/loop/plugins/chat-extras/index.js +51 -0
  508. package/lib/loop/plugins/chat-header/HeaderView.d.ts +13 -0
  509. package/lib/loop/plugins/chat-header/HeaderView.js +6 -0
  510. package/lib/loop/plugins/chat-header/index.d.ts +3 -0
  511. package/lib/loop/plugins/chat-header/index.js +21 -0
  512. package/lib/loop/plugins/chat-view/index.d.ts +10 -0
  513. package/lib/loop/plugins/chat-view/index.js +29 -0
  514. package/lib/loop/plugins/checkpoints-sidebar/CheckpointsSidebar.d.ts +27 -0
  515. package/lib/loop/plugins/checkpoints-sidebar/CheckpointsSidebar.js +174 -0
  516. package/lib/loop/plugins/checkpoints-sidebar/index.d.ts +5 -0
  517. package/lib/loop/plugins/checkpoints-sidebar/index.js +39 -0
  518. package/lib/loop/plugins/commands/index.d.ts +20 -0
  519. package/lib/loop/plugins/commands/index.js +148 -0
  520. package/lib/loop/plugins/decks/DeckSurface.d.ts +10 -0
  521. package/lib/loop/plugins/decks/DeckSurface.js +6 -0
  522. package/lib/loop/plugins/decks/DecksMenu.d.ts +11 -0
  523. package/lib/loop/plugins/decks/DecksMenu.js +42 -0
  524. package/lib/loop/plugins/decks/index.d.ts +19 -0
  525. package/lib/loop/plugins/decks/index.js +133 -0
  526. package/lib/loop/plugins/decks/surface.d.ts +7 -0
  527. package/lib/loop/plugins/decks/surface.js +11 -0
  528. package/lib/loop/plugins/document/DocumentView.d.ts +12 -0
  529. package/lib/loop/plugins/document/DocumentView.js +68 -0
  530. package/lib/loop/plugins/document/index.d.ts +3 -0
  531. package/lib/loop/plugins/document/index.js +86 -0
  532. package/lib/loop/plugins/document/openingDocument.d.ts +28 -0
  533. package/lib/loop/plugins/document/openingDocument.js +122 -0
  534. package/lib/loop/plugins/document-toolbar/SandboxStatusItem.d.ts +16 -0
  535. package/lib/loop/plugins/document-toolbar/SandboxStatusItem.js +31 -0
  536. package/lib/loop/plugins/document-toolbar/index.d.ts +4 -0
  537. package/lib/loop/plugins/document-toolbar/index.js +35 -0
  538. package/lib/loop/plugins/document-toolbar/names.d.ts +6 -0
  539. package/lib/loop/plugins/document-toolbar/names.js +10 -0
  540. package/lib/loop/plugins/document-toolbar/plugin.d.ts +2 -0
  541. package/lib/loop/plugins/document-toolbar/plugin.js +38 -0
  542. package/lib/loop/plugins/document-view/index.d.ts +10 -0
  543. package/lib/loop/plugins/document-view/index.js +28 -0
  544. package/lib/loop/plugins/graph/GraphToggle.d.ts +17 -0
  545. package/lib/loop/plugins/graph/GraphToggle.js +22 -0
  546. package/lib/loop/plugins/graph/GraphView.d.ts +16 -0
  547. package/lib/loop/plugins/graph/GraphView.js +6 -0
  548. package/lib/loop/plugins/graph/index.d.ts +5 -0
  549. package/lib/loop/plugins/graph/index.js +80 -0
  550. package/lib/loop/plugins/graph/viewType.d.ts +10 -0
  551. package/lib/loop/plugins/graph/viewType.js +14 -0
  552. package/lib/loop/plugins/input-prompt/ComposerView.d.ts +15 -0
  553. package/lib/loop/plugins/input-prompt/ComposerView.js +25 -0
  554. package/lib/loop/plugins/input-prompt/index.d.ts +25 -0
  555. package/lib/loop/plugins/input-prompt/index.js +26 -0
  556. package/lib/loop/plugins/models/index.d.ts +3 -0
  557. package/lib/loop/plugins/models/index.js +49 -0
  558. package/lib/loop/plugins/notebook/NotebookView.d.ts +9 -0
  559. package/lib/loop/plugins/notebook/NotebookView.js +189 -0
  560. package/lib/loop/plugins/notebook/index.d.ts +3 -0
  561. package/lib/loop/plugins/notebook/index.js +91 -0
  562. package/lib/loop/plugins/notebook/openingNotebook.d.ts +72 -0
  563. package/lib/loop/plugins/notebook/openingNotebook.js +90 -0
  564. package/lib/loop/plugins/notebook-toolbar/index.d.ts +4 -0
  565. package/lib/loop/plugins/notebook-toolbar/index.js +45 -0
  566. package/lib/loop/plugins/notebook-toolbar/items.d.ts +10 -0
  567. package/lib/loop/plugins/notebook-toolbar/items.js +45 -0
  568. package/lib/loop/plugins/notebook-toolbar/names.d.ts +9 -0
  569. package/lib/loop/plugins/notebook-toolbar/names.js +13 -0
  570. package/lib/loop/plugins/notebook-toolbar/plugin.d.ts +2 -0
  571. package/lib/loop/plugins/notebook-toolbar/plugin.js +24 -0
  572. package/lib/loop/plugins/notebook-view/index.d.ts +10 -0
  573. package/lib/loop/plugins/notebook-view/index.js +30 -0
  574. package/lib/loop/plugins/page-layout/TurnPanel.d.ts +25 -0
  575. package/lib/loop/plugins/page-layout/TurnPanel.js +126 -0
  576. package/lib/loop/plugins/page-layout/index.d.ts +35 -0
  577. package/lib/loop/plugins/page-layout/index.js +80 -0
  578. package/lib/loop/plugins/plugins-panel/index.d.ts +14 -0
  579. package/lib/loop/plugins/plugins-panel/index.js +74 -0
  580. package/lib/loop/plugins/prompt/NewChatAction.d.ts +19 -0
  581. package/lib/loop/plugins/prompt/NewChatAction.js +10 -0
  582. package/lib/loop/plugins/prompt/index.d.ts +11 -0
  583. package/lib/loop/plugins/prompt/index.js +73 -0
  584. package/lib/loop/plugins/shell/editorChoice.d.ts +31 -0
  585. package/lib/loop/plugins/shell/editorChoice.js +58 -0
  586. package/lib/loop/plugins/shell/index.d.ts +47 -0
  587. package/lib/loop/plugins/shell/index.js +142 -0
  588. package/lib/loop/plugins/shell/useEditorPreviews.d.ts +32 -0
  589. package/lib/loop/plugins/shell/useEditorPreviews.js +217 -0
  590. package/lib/loop/plugins/subagent-activity/SubagentPulse.d.ts +16 -0
  591. package/lib/loop/plugins/subagent-activity/SubagentPulse.js +45 -0
  592. package/lib/loop/plugins/subagent-activity/index.d.ts +12 -0
  593. package/lib/loop/plugins/subagent-activity/index.js +42 -0
  594. package/lib/loop/plugins/view-switch/index.d.ts +46 -0
  595. package/lib/loop/plugins/view-switch/index.js +68 -0
  596. package/lib/loop/plugins/window-frame/WindowFrame.d.ts +48 -0
  597. package/lib/loop/plugins/window-frame/WindowFrame.js +63 -0
  598. package/lib/loop/plugins/window-frame/index.d.ts +6 -0
  599. package/lib/loop/plugins/window-frame/index.js +79 -0
  600. package/lib/loop/plugins/window-frame/slots.d.ts +26 -0
  601. package/lib/loop/plugins/window-frame/slots.js +30 -0
  602. package/lib/loop/presets.d.ts +167 -0
  603. package/lib/loop/presets.js +139 -0
  604. package/lib/loop/shell/LoopWorkspace.d.ts +109 -0
  605. package/lib/loop/shell/LoopWorkspace.js +231 -0
  606. package/lib/loop/shell/PluginToggles.d.ts +21 -0
  607. package/lib/loop/shell/PluginToggles.js +41 -0
  608. package/lib/loop/shell/ViewSwitcher.d.ts +24 -0
  609. package/lib/loop/shell/ViewSwitcher.js +43 -0
  610. package/lib/loop/shell/WorkspaceFullScreenAction.d.ts +25 -0
  611. package/lib/loop/shell/WorkspaceFullScreenAction.js +24 -0
  612. package/lib/loop/shell/index.d.ts +10 -0
  613. package/lib/loop/shell/index.js +14 -0
  614. package/lib/loop/shell/useWorkspaceFullScreen.d.ts +93 -0
  615. package/lib/loop/shell/useWorkspaceFullScreen.js +167 -0
  616. package/lib/loop-example-main.d.ts +1 -0
  617. package/lib/loop-example-main.js +42 -0
  618. package/lib/loop-main.d.ts +1 -0
  619. package/lib/loop-main.js +138 -0
  620. package/lib/mcp/McpServerManager.d.ts +1 -1
  621. package/lib/models/CodeSandboxSnapshotDTO.d.ts +1 -1
  622. package/lib/models/CodeSandboxVariant.d.ts +13 -5
  623. package/lib/models/CodeSandboxVariant.js +17 -5
  624. package/lib/models/Content.d.ts +26 -0
  625. package/lib/models/Environment.d.ts +561 -5
  626. package/lib/models/Environment.js +12 -1
  627. package/lib/models/EnvironmentDTO.d.ts +24 -6
  628. package/lib/models/EnvironmentDTO.js +13 -2
  629. package/lib/models/Exercise.d.ts +0 -2
  630. package/lib/models/Library.d.ts +0 -2
  631. package/lib/models/Notebook.d.ts +0 -2
  632. package/lib/models/ProjectDTO.d.ts +2 -2
  633. package/lib/models/ProjectDTO.js +4 -4
  634. package/lib/models/Runtime.d.ts +11 -11
  635. package/lib/models/RuntimeDTO.d.ts +16 -7
  636. package/lib/models/RuntimeDTO.js +9 -9
  637. package/lib/models/Space.d.ts +10 -0
  638. package/lib/models/Space.js +1 -1
  639. package/lib/models/SpaceDTO.d.ts +1 -1
  640. package/lib/models/SpaceItem.d.ts +1 -2
  641. package/lib/models/environments.generated.d.ts +113 -0
  642. package/lib/models/environments.generated.js +13 -0
  643. package/lib/models/index.d.ts +0 -1
  644. package/lib/models/index.js +0 -1
  645. package/lib/protocols/A2AAdapter.d.ts +39 -6
  646. package/lib/protocols/A2AAdapter.js +180 -11
  647. package/lib/protocols/ACPAdapter.js +40 -37
  648. package/lib/protocols/AGUIAdapter.d.ts +14 -0
  649. package/lib/protocols/AGUIAdapter.js +34 -9
  650. package/lib/protocols/BrowserAgentAdapter.d.ts +117 -0
  651. package/lib/protocols/BrowserAgentAdapter.js +310 -0
  652. package/lib/protocols/VercelAIAdapter.d.ts +10 -0
  653. package/lib/protocols/VercelAIAdapter.js +27 -7
  654. package/lib/protocols/index.d.ts +1 -0
  655. package/lib/protocols/index.js +1 -0
  656. package/lib/runtimes/actions.d.ts +3 -3
  657. package/lib/runtimes/actions.js +27 -14
  658. package/lib/runtimes/apis.d.ts +13 -4
  659. package/lib/runtimes/browser/agent.d.ts +54 -0
  660. package/lib/runtimes/browser/agent.js +63 -0
  661. package/lib/runtimes/browser/anonymousToken.d.ts +121 -0
  662. package/lib/runtimes/browser/anonymousToken.js +300 -0
  663. package/lib/runtimes/browser/frontendTools.d.ts +61 -0
  664. package/lib/runtimes/browser/frontendTools.js +152 -0
  665. package/lib/runtimes/browser/index.d.ts +11 -0
  666. package/lib/runtimes/browser/index.js +20 -0
  667. package/lib/runtimes/browser/model.d.ts +52 -0
  668. package/lib/runtimes/browser/model.js +110 -0
  669. package/lib/runtimes/browser/protocol.d.ts +54 -0
  670. package/lib/runtimes/browser/protocol.js +35 -0
  671. package/lib/runtimes/browser/subagents.d.ts +131 -0
  672. package/lib/runtimes/browser/subagents.js +241 -0
  673. package/lib/runtimes/index.d.ts +3 -0
  674. package/lib/runtimes/index.js +3 -0
  675. package/lib/runtimes/lifecycle.d.ts +76 -0
  676. package/lib/runtimes/lifecycle.js +99 -0
  677. package/lib/runtimes/variants.d.ts +172 -0
  678. package/lib/runtimes/variants.js +187 -0
  679. package/lib/services/reconnectToRuntime.d.ts +2 -2
  680. package/lib/services/reconnectToRuntime.js +3 -3
  681. package/lib/services/sandboxServiceManagers.d.ts +2 -2
  682. package/lib/services/sandboxServiceManagers.js +11 -11
  683. package/lib/specs/agents/agents.d.ts +128 -112
  684. package/lib/specs/agents/agents.js +8024 -5052
  685. package/lib/specs/evals.js +9 -0
  686. package/lib/specs/frontendTools.d.ts +3 -0
  687. package/lib/specs/frontendTools.js +46 -3
  688. package/lib/specs/mcpServers.d.ts +1 -0
  689. package/lib/specs/mcpServers.js +25 -2
  690. package/lib/specs/models.d.ts +18 -0
  691. package/lib/specs/models.js +154 -0
  692. package/lib/specs/outputs.d.ts +2 -0
  693. package/lib/specs/outputs.js +22 -0
  694. package/lib/specs/personas.js +1 -1
  695. package/lib/specs/teams/teams.d.ts +2 -0
  696. package/lib/specs/teams/teams.js +628 -111
  697. package/lib/state/index.d.ts +1 -1
  698. package/lib/state/index.js +1 -1
  699. package/lib/state/substates/RuntimesState.d.ts +5 -5
  700. package/lib/state/substates/RuntimesState.js +14 -14
  701. package/lib/state/substates/index.d.ts +1 -1
  702. package/lib/state/substates/index.js +1 -1
  703. package/lib/stores/agentRuntimeStore.d.ts +43 -1
  704. package/lib/stores/agentRuntimeStore.js +100 -11
  705. package/lib/stores/index.d.ts +1 -1
  706. package/lib/stores/index.js +1 -1
  707. package/lib/stories/Button.d.ts +1 -1
  708. package/lib/stories/Button.stories.d.ts +1 -1
  709. package/lib/stories/Header.d.ts +1 -1
  710. package/lib/stories/Header.stories.d.ts +1 -1
  711. package/lib/test-setup.js +66 -0
  712. package/lib/tools/adapters/agent-runtimes/lexicalHooks.d.ts +15 -0
  713. package/lib/tools/adapters/agent-runtimes/lexicalHooks.js +43 -2
  714. package/lib/tools/adapters/agent-runtimes/notebookHooks.d.ts +9 -0
  715. package/lib/tools/adapters/agent-runtimes/notebookHooks.js +12 -0
  716. package/lib/tools/adapters/commands/frontendCommandTools.d.ts +11 -0
  717. package/lib/tools/adapters/commands/frontendCommandTools.js +60 -0
  718. package/lib/tools/adapters/commands/index.d.ts +1 -0
  719. package/lib/{models/Dataset.js → tools/adapters/commands/index.js} +1 -1
  720. package/lib/tools/adapters/copilotkit/lexicalHooks.js +7 -3
  721. package/lib/tools/index.d.ts +1 -0
  722. package/lib/tools/index.js +1 -0
  723. package/lib/types/a2a.d.ts +15 -1
  724. package/lib/types/agents-lifecycle.d.ts +11 -6
  725. package/lib/types/agents.d.ts +31 -6
  726. package/lib/types/agentspecs.d.ts +120 -4
  727. package/lib/types/chat.d.ts +251 -3
  728. package/lib/types/checkpoints.d.ts +20 -0
  729. package/lib/types/config.d.ts +13 -1
  730. package/lib/types/connection.d.ts +1 -1
  731. package/lib/types/evals.d.ts +2 -0
  732. package/lib/types/messages.d.ts +60 -0
  733. package/lib/types/models.d.ts +26 -0
  734. package/lib/types/notifications.d.ts +15 -6
  735. package/lib/types/protocol.d.ts +7 -2
  736. package/lib/types/stream.d.ts +48 -3
  737. package/lib/types/stream.js +5 -0
  738. package/lib/types/teams.d.ts +102 -4
  739. package/lib/types/tool-approvals.d.ts +1 -1
  740. package/lib/types/tools.d.ts +8 -2
  741. package/lib/utils/utils.js +7 -1
  742. package/package.json +376 -361
  743. package/scripts/codegen/__pycache__/compose.cpython-313.pyc +0 -0
  744. package/scripts/codegen/__pycache__/versioning.cpython-313.pyc +0 -0
  745. package/scripts/codegen/compose.py +208 -0
  746. package/scripts/codegen/generate_agents.py +202 -31
  747. package/scripts/codegen/generate_evals.py +2 -0
  748. package/scripts/codegen/generate_frontend_tools.py +35 -6
  749. package/scripts/codegen/generate_models.py +40 -15
  750. package/scripts/codegen/generate_sandbox_agents.py +76 -62
  751. package/scripts/codegen/generate_teams.py +178 -4
  752. package/scripts/codegen/generate_tools.py +6 -4
  753. package/scripts/gen_workers.py +278 -110
  754. package/scripts/generate-environments-types.py +404 -0
  755. package/lib/chat/prompt/InputFooter.d.ts +0 -58
  756. package/lib/chat/prompt/InputFooter.js +0 -194
  757. package/lib/chat/prompt/InputPromptFooter.d.ts +0 -27
  758. package/lib/chat/prompt/InputPromptFooter.js +0 -15
  759. package/lib/chat/prompt/InputPromptHeader.d.ts +0 -15
  760. package/lib/chat/prompt/InputPromptHeader.js +0 -15
  761. package/lib/chat/usage/TokenUsageBar.d.ts +0 -8
  762. package/lib/hooks/useRuntimes.d.ts +0 -5
  763. package/lib/hooks/useRuntimes.js +0 -34
  764. package/lib/jupyter/kernelsHandler.d.ts +0 -8
  765. package/lib/jupyter/kernelsHandler.js +0 -39
  766. package/lib/models/Dataset.d.ts +0 -16
  767. package/lib/utils/Cells.d.ts +0 -2
  768. package/lib/utils/Cells.js +0 -28
@@ -1,5 +1,12 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { ArrowLeftIcon, CheckCircleIcon, XCircleIcon, CodeIcon, BriefcaseIcon, DownloadIcon, NoteIcon, ServerIcon, } from '@primer/octicons-react';
2
+ // Copyright (c) 2025-2026 Datalayer, Inc.
3
+ // Distributed under the terms of the Modified BSD License.
4
+ /**
5
+ * AgentDetails component - Shows detailed information about the agent
6
+ * including name, protocol, URL, message count, and context details.
7
+ */
8
+ import { useState } from 'react';
9
+ import { ArrowLeftIcon, CheckCircleIcon, XCircleIcon, CodeIcon, BriefcaseIcon, DownloadIcon, FileCodeIcon, NoteIcon, ServerIcon, } from '@primer/octicons-react';
3
10
  import { Button, Heading, IconButton, Text, Label, Spinner, ToggleSwitch, } from '@primer/react';
4
11
  import { Box } from '@datalayer/primer-addons';
5
12
  import { AiAgentIcon } from '@datalayer/icons-react';
@@ -7,6 +14,7 @@ import { useQuery, useMutation } from '@tanstack/react-query';
7
14
  import { ContextPanel } from '../context/ContextPanel';
8
15
  import { ContextInspector, } from '../context/ContextInspector';
9
16
  import { AgentIdentity } from '../identity/AgentIdentity';
17
+ import { SpecPayloadPreview } from '../components/specs/SpecPayloadPreview';
10
18
  import { useAgentRuntimeCodemodeStatus, useAgentRuntimeContextSnapshot, useAgentRuntimeFullContext, useAgentRuntimeMcpStatus, useAgentRuntimeWsState, } from '../stores';
11
19
  /**
12
20
  * Get the API base URL for fetching data.
@@ -15,7 +23,21 @@ import { useAgentRuntimeCodemodeStatus, useAgentRuntimeContextSnapshot, useAgent
15
23
  */
16
24
  function getApiBase(apiBase) {
17
25
  if (apiBase) {
18
- return apiBase;
26
+ /*
27
+ * The server's root, whatever the caller handed over.
28
+ *
29
+ * `apiBase` is a base and every request below appends its own path to it —
30
+ * but the commonest thing to have on hand is the protocol's
31
+ * `configEndpoint`, which already ends in `/api/v1/configure`. Passing
32
+ * that produced
33
+ * `/api/v1/configure/api/v1/configure/agents/.../spec`, a 404 that reached
34
+ * the reader as "Loading agent spec" for ever.
35
+ *
36
+ * Trimmed here rather than at each call site: this function exists to
37
+ * answer "where is the server", and a caller that knows an endpoint knows
38
+ * the server too.
39
+ */
40
+ return apiBase.replace(/\/+$/, '').replace(/\/api\/v1\/configure$/, '');
19
41
  }
20
42
  if (typeof window === 'undefined') {
21
43
  return '';
@@ -164,7 +186,7 @@ async function downloadContextSnapshotAsCSV(agentId, _apiBase, preloadedData) {
164
186
  /**
165
187
  * AgentDetails component displays comprehensive information about the agent.
166
188
  */
167
- export function AgentDetails({ name = 'AI Agent', icon, emoji, protocol, url, messageCount, agentId, apiBase, identityProviders, onIdentityConnect, onIdentityDisconnect, onBack, showBackHeader = true, showUsage = true, mcpStatusData, codemodeStatusData, contextSnapshotData, fullContextData, }) {
189
+ export function AgentDetails({ name = 'AI Agent', icon, emoji, protocol, url, messageCount, agentId, apiBase, identityProviders, onIdentityConnect, onIdentityDisconnect, onBack, showBackHeader = true, showUsage = true, padded = true, mcpStatusData, codemodeStatusData, contextSnapshotData, fullContextData, }) {
168
190
  const wsMcpStatus = useAgentRuntimeMcpStatus();
169
191
  const wsCodemodeStatus = useAgentRuntimeCodemodeStatus();
170
192
  const wsContextSnapshot = useAgentRuntimeContextSnapshot();
@@ -202,6 +224,9 @@ export function AgentDetails({ name = 'AI Agent', icon, emoji, protocol, url, me
202
224
  },
203
225
  });
204
226
  // Fetch agent spec (original creation request with separated system prompts)
227
+ /* Whether the full spec is on screen. Its own state: it is a detour from
228
+ the summary, not a mode the pane lives in. */
229
+ const [showSpecPayload, setShowSpecPayload] = useState(false);
205
230
  const { data: agentSpec, isLoading: specLoading } = useQuery({
206
231
  queryKey: ['agent-spec', agentId, apiBase],
207
232
  queryFn: async () => {
@@ -227,7 +252,12 @@ export function AgentDetails({ name = 'AI Agent', icon, emoji, protocol, url, me
227
252
  p: 3,
228
253
  borderBottom: '1px solid',
229
254
  borderColor: 'border.default',
230
- }, children: [_jsx(IconButton, { icon: ArrowLeftIcon, "aria-label": "Back to chat", variant: "invisible", onClick: onBack }), _jsx(Heading, { as: "h2", sx: { fontSize: 3, fontWeight: 'semibold' }, children: "Agent Details" })] })), _jsxs(Box, { sx: { p: 3, display: 'flex', flexDirection: 'column', gap: 4 }, children: [_jsxs(Box, { sx: {
255
+ }, children: [_jsx(IconButton, { icon: ArrowLeftIcon, "aria-label": "Back to chat", variant: "invisible", onClick: onBack }), _jsx(Heading, { as: "h2", sx: { fontSize: 3, fontWeight: 'semibold' }, children: "Agent Details" })] })), _jsxs(Box, { sx: {
256
+ p: padded ? 3 : 0,
257
+ display: 'flex',
258
+ flexDirection: 'column',
259
+ gap: 4,
260
+ }, children: [_jsxs(Box, { sx: {
231
261
  display: 'flex',
232
262
  alignItems: 'center',
233
263
  gap: 3,
@@ -260,13 +290,13 @@ export function AgentDetails({ name = 'AI Agent', icon, emoji, protocol, url, me
260
290
  fontWeight: 'semibold',
261
291
  mb: 2,
262
292
  color: 'fg.muted',
263
- }, children: "Agent Spec" }), _jsx(Box, { sx: {
293
+ }, children: "Agentspec" }), _jsx(Box, { sx: {
264
294
  p: 3,
265
295
  bg: 'canvas.subtle',
266
296
  borderRadius: 2,
267
297
  border: '1px solid',
268
298
  borderColor: 'border.default',
269
- }, children: specLoading ? (_jsxs(Box, { sx: { display: 'flex', alignItems: 'center', gap: 2 }, children: [_jsx(Spinner, { size: "small" }), _jsx(Text, { sx: { fontSize: 1, color: 'fg.muted' }, children: "Loading agent spec..." })] })) : agentSpec ? (_jsxs(Box, { sx: { display: 'flex', flexDirection: 'column', gap: 3 }, children: [_jsxs(Box, { sx: { display: 'flex', flexDirection: 'column', gap: 1 }, children: [_jsxs(Box, { sx: { display: 'flex', alignItems: 'center', gap: 2 }, children: [_jsx(Text, { sx: { fontSize: 0, color: 'fg.muted', width: 100 }, children: "Model:" }), _jsx(Text, { sx: {
299
+ }, children: specLoading ? (_jsxs(Box, { sx: { display: 'flex', alignItems: 'center', gap: 2 }, children: [_jsx(Spinner, { size: "small" }), _jsx(Text, { sx: { fontSize: 1, color: 'fg.muted' }, children: "Loading agent spec..." })] })) : agentSpec ? (_jsxs(Box, { sx: { display: 'flex', flexDirection: 'column', gap: 3 }, children: [_jsx(Box, { children: _jsx(Button, { size: "small", leadingVisual: FileCodeIcon, onClick: () => setShowSpecPayload(true), children: "View spec payload" }) }), _jsxs(Box, { sx: { display: 'flex', flexDirection: 'column', gap: 1 }, children: [_jsxs(Box, { sx: { display: 'flex', alignItems: 'center', gap: 2 }, children: [_jsx(Text, { sx: { fontSize: 0, color: 'fg.muted', width: 100 }, children: "Model:" }), _jsx(Text, { sx: {
270
300
  fontSize: 0,
271
301
  fontFamily: 'mono',
272
302
  color: 'fg.default',
@@ -317,7 +347,7 @@ export function AgentDetails({ name = 'AI Agent', icon, emoji, protocol, url, me
317
347
  borderRadius: 2,
318
348
  border: '1px solid',
319
349
  borderColor: 'border.default',
320
- }, children: _jsxs(Box, { sx: { display: 'flex', flexDirection: 'column', gap: 2 }, children: [_jsxs(Box, { sx: { display: 'flex', alignItems: 'center', gap: 2 }, children: [_jsx(ServerIcon, { size: 16 }), _jsx(Text, { sx: { fontSize: 0, color: 'fg.muted', width: 100 }, children: "Variant:" }), _jsx(Label, { variant: agentSpec.sandbox.variant === 'jupyter'
350
+ }, children: _jsxs(Box, { sx: { display: 'flex', flexDirection: 'column', gap: 2 }, children: [_jsxs(Box, { sx: { display: 'flex', alignItems: 'center', gap: 2 }, children: [_jsx(ServerIcon, { size: 16 }), _jsx(Text, { sx: { fontSize: 0, color: 'fg.muted', width: 100 }, children: "Variant:" }), _jsx(Label, { variant: agentSpec.sandbox.variant === 'jupyter-server'
321
351
  ? 'accent'
322
352
  : 'secondary', size: "small", children: agentSpec.sandbox.variant })] }), _jsxs(Box, { sx: { display: 'flex', alignItems: 'center', gap: 2 }, children: [_jsx(Text, { sx: { fontSize: 0, color: 'fg.muted', width: 100, pl: 4 }, children: "Running:" }), agentSpec.sandbox.sandbox_running ? (_jsxs(Box, { sx: {
323
353
  display: 'flex',
@@ -327,7 +357,7 @@ export function AgentDetails({ name = 'AI Agent', icon, emoji, protocol, url, me
327
357
  display: 'flex',
328
358
  alignItems: 'center',
329
359
  gap: 1,
330
- }, children: [_jsx(XCircleIcon, { size: 12, fill: "fg.muted" }), _jsx(Text, { sx: { fontSize: 0, color: 'fg.muted' }, children: "No" })] }))] }), agentSpec.sandbox.variant === 'jupyter' && (_jsxs(_Fragment, { children: [_jsxs(Box, { sx: { display: 'flex', alignItems: 'center', gap: 2 }, children: [_jsx(Text, { sx: {
360
+ }, children: [_jsx(XCircleIcon, { size: 12, fill: "fg.muted" }), _jsx(Text, { sx: { fontSize: 0, color: 'fg.muted' }, children: "No" })] }))] }), agentSpec.sandbox.variant === 'jupyter-server' && (_jsxs(_Fragment, { children: [_jsxs(Box, { sx: { display: 'flex', alignItems: 'center', gap: 2 }, children: [_jsx(Text, { sx: {
331
361
  fontSize: 0,
332
362
  color: 'fg.muted',
333
363
  width: 100,
@@ -473,9 +503,9 @@ export function AgentDetails({ name = 'AI Agent', icon, emoji, protocol, url, me
473
503
  flexDirection: 'column',
474
504
  gap: 1,
475
505
  pl: 4,
476
- }, children: [_jsxs(Box, { sx: { display: 'flex', alignItems: 'center', gap: 2 }, children: [_jsx(Text, { sx: { fontSize: 0, color: 'fg.muted', width: 80 }, children: "Variant:" }), _jsx(Label, { variant: codemodeStatus.sandbox.variant === 'jupyter'
506
+ }, children: [_jsxs(Box, { sx: { display: 'flex', alignItems: 'center', gap: 2 }, children: [_jsx(Text, { sx: { fontSize: 0, color: 'fg.muted', width: 80 }, children: "Variant:" }), _jsx(Label, { variant: codemodeStatus.sandbox.variant === 'jupyter-server'
477
507
  ? 'accent'
478
- : 'secondary', size: "small", children: codemodeStatus.sandbox.variant })] }), codemodeStatus.sandbox.variant === 'jupyter' && (_jsxs(_Fragment, { children: [_jsxs(Box, { sx: {
508
+ : 'secondary', size: "small", children: codemodeStatus.sandbox.variant })] }), codemodeStatus.sandbox.variant === 'jupyter-server' && (_jsxs(_Fragment, { children: [_jsxs(Box, { sx: {
479
509
  display: 'flex',
480
510
  alignItems: 'center',
481
511
  gap: 2,
@@ -575,6 +605,6 @@ export function AgentDetails({ name = 'AI Agent', icon, emoji, protocol, url, me
575
605
  borderRadius: 2,
576
606
  border: '1px solid',
577
607
  borderColor: 'border.default',
578
- }, children: _jsx(ContextInspector, { agentId: agentId, apiBase: apiBase, liveData: resolvedFullContext }) })] })), _jsx(AgentIdentity, { providers: identityProviders, title: "Connected Accounts", showHeader: true, showDescription: true, description: "OAuth identities connected to this agent. Agents can use these to access external services like GitHub repositories on your behalf.", showExpirationDetails: true, allowReconnect: Boolean(identityProviders), onConnect: onIdentityConnect, onDisconnect: onIdentityDisconnect }), showBackHeader && (_jsx(Box, { sx: { mt: 2 }, children: _jsx(Button, { variant: "primary", onClick: onBack, sx: { width: '100%' }, children: "Back to Chat" }) }))] })] }));
608
+ }, children: _jsx(ContextInspector, { agentId: agentId, apiBase: apiBase, liveData: resolvedFullContext }) })] })), _jsx(AgentIdentity, { providers: identityProviders, title: "Connected Accounts", showHeader: true, showDescription: true, description: "OAuth identities connected to this agent. Agents can use these to access external services like GitHub repositories on your behalf.", showExpirationDetails: true, allowReconnect: Boolean(identityProviders), onConnect: onIdentityConnect, onDisconnect: onIdentityDisconnect }), showBackHeader && (_jsx(Box, { sx: { mt: 2 }, children: _jsx(Button, { variant: "primary", onClick: onBack, sx: { width: '100%' }, children: "Back to Chat" }) }))] }), showSpecPayload && agentSpec ? (_jsx(SpecPayloadPreview, { spec: agentSpec, onClose: () => setShowSpecPayload(false) })) : null] }));
579
609
  }
580
610
  export default AgentDetails;
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * This is the shared component used to render the plain (non-floating) chat
5
5
  * view for an agent runtime. It is designed to be reused across the app:
6
- * - The agent runtime detail page (e.g. `/agents/runtime-...`).
6
+ * - The agent runtime detail page (`/agents/<uid>`).
7
7
  * - Gallery example pages (e.g. `/gallery/agents/analyze-excel-spreadsheet`).
8
8
  *
9
9
  * Behaviour:
@@ -26,7 +26,7 @@ import type { Protocol, Suggestion } from '../types';
26
26
  * Props for {@link AgentRuntimeChat}.
27
27
  */
28
28
  export interface AgentRuntimeChatProps {
29
- /** Agentspec id to launch, e.g. `gallery-analyze-excel-spreadsheet`. */
29
+ /** Agentspec id to launch, e.g. `example-analyze-excel-spreadsheet`. */
30
30
  agentSpecId: string;
31
31
  /** Human-friendly title shown in the chat header. */
32
32
  title?: string;
@@ -69,5 +69,5 @@ export interface AgentRuntimeChatProps {
69
69
  * @param props - Component props.
70
70
  * @returns The rendered chat surface.
71
71
  */
72
- export declare function AgentRuntimeChat({ agentSpecId, title, brandIcon, description, protocol, height, suggestions, overlay, launch, showModelSelector, showToolsMenu, showSkillsMenu, showHeader, showPoweredBy, agentConfig, onRuntimeChange, }: AgentRuntimeChatProps): import("react/jsx-runtime").JSX.Element | null;
72
+ export declare function AgentRuntimeChat({ agentSpecId, title, brandIcon, description, protocol, height, suggestions, overlay, launch, showModelSelector, showToolsMenu, showSkillsMenu, showHeader, showPoweredBy, agentConfig, onRuntimeChange, }: AgentRuntimeChatProps): import("react").JSX.Element | null;
73
73
  export default AgentRuntimeChat;
@@ -6,7 +6,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
6
6
  *
7
7
  * This is the shared component used to render the plain (non-floating) chat
8
8
  * view for an agent runtime. It is designed to be reused across the app:
9
- * - The agent runtime detail page (e.g. `/agents/runtime-...`).
9
+ * - The agent runtime detail page (`/agents/<uid>`).
10
10
  * - Gallery example pages (e.g. `/gallery/agents/analyze-excel-spreadsheet`).
11
11
  *
12
12
  * Behaviour:
@@ -57,29 +57,29 @@ export function AgentRuntimeChat({ agentSpecId, title, brandIcon, description, p
57
57
  const launchingError = launch ? error : null;
58
58
  const runtimeAgentId = runtime?.agentId || '';
59
59
  const hasAssignedAgent = runtimeAgentId.trim().length > 0;
60
- const assignmentAttemptedForPodRef = useRef(null);
60
+ const assignmentAttemptedForRuntimeRef = useRef(null);
61
61
  const launchStateLogRef = useRef('');
62
62
  const isInteractiveReady = launch && isReady && !!endpoint && hasAssignedAgent;
63
63
  useEffect(() => {
64
- const podName = String(runtime?.podName || '').trim();
65
- if (!podName) {
66
- assignmentAttemptedForPodRef.current = null;
64
+ const runtimeName = String(runtime?.runtimeName || '').trim();
65
+ if (!runtimeName) {
66
+ assignmentAttemptedForRuntimeRef.current = null;
67
67
  return;
68
68
  }
69
69
  if (hasAssignedAgent) {
70
- assignmentAttemptedForPodRef.current = podName;
70
+ assignmentAttemptedForRuntimeRef.current = runtimeName;
71
71
  return;
72
72
  }
73
73
  if (!launch || !isReady || !endpoint || !!error || isCreating) {
74
74
  return;
75
75
  }
76
- if (assignmentAttemptedForPodRef.current === podName) {
76
+ if (assignmentAttemptedForRuntimeRef.current === runtimeName) {
77
77
  return;
78
78
  }
79
- assignmentAttemptedForPodRef.current = podName;
79
+ assignmentAttemptedForRuntimeRef.current = runtimeName;
80
80
  void createAgent();
81
81
  }, [
82
- runtime?.podName,
82
+ runtime?.runtimeName,
83
83
  hasAssignedAgent,
84
84
  launch,
85
85
  isReady,
@@ -101,7 +101,7 @@ export function AgentRuntimeChat({ agentSpecId, title, brandIcon, description, p
101
101
  : 'ready';
102
102
  const signature = [
103
103
  state,
104
- String(runtime?.podName || ''),
104
+ String(runtime?.runtimeName || ''),
105
105
  String(endpoint || ''),
106
106
  ].join('|');
107
107
  if (launchStateLogRef.current === signature) {
@@ -111,7 +111,7 @@ export function AgentRuntimeChat({ agentSpecId, title, brandIcon, description, p
111
111
  if (state === 'error') {
112
112
  console.error('[AgentRuntimeChat] launch failed', {
113
113
  agentSpecId,
114
- podName: runtime?.podName,
114
+ runtimeName: runtime?.runtimeName,
115
115
  endpoint,
116
116
  error: launchingError,
117
117
  });
@@ -120,7 +120,7 @@ export function AgentRuntimeChat({ agentSpecId, title, brandIcon, description, p
120
120
  if (state === 'waiting-endpoint') {
121
121
  console.info('[AgentRuntimeChat] waiting for runtime endpoint', {
122
122
  agentSpecId,
123
- podName: runtime?.podName,
123
+ runtimeName: runtime?.runtimeName,
124
124
  isReady,
125
125
  endpoint,
126
126
  });
@@ -129,14 +129,14 @@ export function AgentRuntimeChat({ agentSpecId, title, brandIcon, description, p
129
129
  if (state === 'waiting-assignment') {
130
130
  console.info('[AgentRuntimeChat] waiting for agent assignment', {
131
131
  agentSpecId,
132
- podName: runtime?.podName,
132
+ runtimeName: runtime?.runtimeName,
133
133
  endpoint,
134
134
  });
135
135
  return;
136
136
  }
137
137
  console.info('[AgentRuntimeChat] runtime ready', {
138
138
  agentSpecId,
139
- podName: runtime?.podName,
139
+ runtimeName: runtime?.runtimeName,
140
140
  endpoint,
141
141
  agentId: runtimeAgentId,
142
142
  });
@@ -147,7 +147,7 @@ export function AgentRuntimeChat({ agentSpecId, title, brandIcon, description, p
147
147
  isReady,
148
148
  endpoint,
149
149
  hasAssignedAgent,
150
- runtime?.podName,
150
+ runtime?.runtimeName,
151
151
  runtimeAgentId,
152
152
  agentSpecId,
153
153
  ]);
@@ -9,39 +9,39 @@ export declare const getRunningAgents: (token: string, baseUrl?: string) => Prom
9
9
  /**
10
10
  * Get detailed status for a specific agent.
11
11
  * @param token - Authentication token
12
- * @param podName - Pod name hosting the agent
12
+ * @param runtimeName - The uid of the runtime hosting the agent
13
13
  * @param agentId - Agent ID within the pod (optional, defaults to primary)
14
14
  * @param baseUrl - Base URL
15
15
  * @returns Promise resolving to agent status
16
16
  */
17
- export declare const getAgentStatus: (token: string, podName: string, agentId?: string, baseUrl?: string) => Promise<RunningAgent>;
17
+ export declare const getAgentStatus: (token: string, runtimeName: string, agentId?: string, baseUrl?: string) => Promise<RunningAgent>;
18
18
  /**
19
19
  * Pause a running agent (light checkpoint by default, CRIU optional).
20
20
  * @param token - Authentication token
21
- * @param podName - Pod name
21
+ * @param runtimeName - The uid of the runtime
22
22
  * @param baseUrl - Base URL
23
23
  */
24
- export declare const pauseAgent: (token: string, podName: string, baseUrl?: string) => Promise<void>;
24
+ export declare const pauseAgent: (token: string, runtimeName: string, baseUrl?: string) => Promise<void>;
25
25
  /**
26
26
  * Resume a paused/checkpointed agent.
27
27
  * @param token - Authentication token
28
- * @param podName - Pod name
28
+ * @param runtimeName - The uid of the runtime
29
29
  * @param baseUrl - Base URL
30
30
  */
31
- export declare const resumeAgent: (token: string, podName: string, baseUrl?: string) => Promise<void>;
31
+ export declare const resumeAgent: (token: string, runtimeName: string, baseUrl?: string) => Promise<void>;
32
32
  /**
33
33
  * Get conversation checkpoints for an agent.
34
34
  * @param token - Authentication token
35
- * @param podName - Pod name
35
+ * @param runtimeName - The uid of the runtime
36
36
  * @param agentId - Agent ID
37
37
  * @param baseUrl - Base URL
38
38
  */
39
- export declare const getAgentCheckpoints: (token: string, podName: string, agentId?: string, baseUrl?: string) => Promise<ConversationCheckpoint[]>;
39
+ export declare const getAgentCheckpoints: (token: string, runtimeName: string, agentId?: string, baseUrl?: string) => Promise<ConversationCheckpoint[]>;
40
40
  /**
41
41
  * Get usage summary for an agent.
42
42
  * @param token - Authentication token
43
- * @param podName - Pod name
43
+ * @param runtimeName - The uid of the runtime
44
44
  * @param agentId - Agent ID
45
45
  * @param baseUrl - Base URL
46
46
  */
47
- export declare const getAgentUsage: (token: string, podName: string, agentId?: string, baseUrl?: string) => Promise<AgentUsageSummary>;
47
+ export declare const getAgentUsage: (token: string, runtimeName: string, agentId?: string, baseUrl?: string) => Promise<AgentUsageSummary>;
package/lib/api/agents.js CHANGED
@@ -30,16 +30,16 @@ export const getRunningAgents = async (token, baseUrl = DEFAULT_SERVICE_URLS.AI_
30
30
  /**
31
31
  * Get detailed status for a specific agent.
32
32
  * @param token - Authentication token
33
- * @param podName - Pod name hosting the agent
33
+ * @param runtimeName - The uid of the runtime hosting the agent
34
34
  * @param agentId - Agent ID within the pod (optional, defaults to primary)
35
35
  * @param baseUrl - Base URL
36
36
  * @returns Promise resolving to agent status
37
37
  */
38
- export const getAgentStatus = async (token, podName, agentId, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
38
+ export const getAgentStatus = async (token, runtimeName, agentId, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
39
39
  validateToken(token);
40
40
  const query = agentId ? `?agent_id=${encodeURIComponent(agentId)}` : '';
41
41
  return requestDatalayerAPI({
42
- url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/agents/${encodeURIComponent(podName)}${query}`,
42
+ url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/agents/${encodeURIComponent(runtimeName)}${query}`,
43
43
  method: 'GET',
44
44
  token,
45
45
  });
@@ -47,13 +47,13 @@ export const getAgentStatus = async (token, podName, agentId, baseUrl = DEFAULT_
47
47
  /**
48
48
  * Pause a running agent (light checkpoint by default, CRIU optional).
49
49
  * @param token - Authentication token
50
- * @param podName - Pod name
50
+ * @param runtimeName - The uid of the runtime
51
51
  * @param baseUrl - Base URL
52
52
  */
53
- export const pauseAgent = async (token, podName, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
53
+ export const pauseAgent = async (token, runtimeName, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
54
54
  validateToken(token);
55
55
  await requestDatalayerAPI({
56
- url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/agents/${encodeURIComponent(podName)}/pause`,
56
+ url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/agents/${encodeURIComponent(runtimeName)}/pause`,
57
57
  method: 'POST',
58
58
  token,
59
59
  });
@@ -61,13 +61,13 @@ export const pauseAgent = async (token, podName, baseUrl = DEFAULT_SERVICE_URLS.
61
61
  /**
62
62
  * Resume a paused/checkpointed agent.
63
63
  * @param token - Authentication token
64
- * @param podName - Pod name
64
+ * @param runtimeName - The uid of the runtime
65
65
  * @param baseUrl - Base URL
66
66
  */
67
- export const resumeAgent = async (token, podName, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
67
+ export const resumeAgent = async (token, runtimeName, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
68
68
  validateToken(token);
69
69
  await requestDatalayerAPI({
70
- url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/agents/${encodeURIComponent(podName)}/resume`,
70
+ url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/agents/${encodeURIComponent(runtimeName)}/resume`,
71
71
  method: 'POST',
72
72
  token,
73
73
  });
@@ -75,15 +75,15 @@ export const resumeAgent = async (token, podName, baseUrl = DEFAULT_SERVICE_URLS
75
75
  /**
76
76
  * Get conversation checkpoints for an agent.
77
77
  * @param token - Authentication token
78
- * @param podName - Pod name
78
+ * @param runtimeName - The uid of the runtime
79
79
  * @param agentId - Agent ID
80
80
  * @param baseUrl - Base URL
81
81
  */
82
- export const getAgentCheckpoints = async (token, podName, agentId, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
82
+ export const getAgentCheckpoints = async (token, runtimeName, agentId, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
83
83
  validateToken(token);
84
84
  const query = agentId ? `?agent_id=${encodeURIComponent(agentId)}` : '';
85
85
  return requestDatalayerAPI({
86
- url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/agents/${encodeURIComponent(podName)}/checkpoints${query}`,
86
+ url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/agents/${encodeURIComponent(runtimeName)}/checkpoints${query}`,
87
87
  method: 'GET',
88
88
  token,
89
89
  });
@@ -91,15 +91,15 @@ export const getAgentCheckpoints = async (token, podName, agentId, baseUrl = DEF
91
91
  /**
92
92
  * Get usage summary for an agent.
93
93
  * @param token - Authentication token
94
- * @param podName - Pod name
94
+ * @param runtimeName - The uid of the runtime
95
95
  * @param agentId - Agent ID
96
96
  * @param baseUrl - Base URL
97
97
  */
98
- export const getAgentUsage = async (token, podName, agentId, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
98
+ export const getAgentUsage = async (token, runtimeName, agentId, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
99
99
  validateToken(token);
100
100
  const query = agentId ? `?agent_id=${encodeURIComponent(agentId)}` : '';
101
101
  return requestDatalayerAPI({
102
- url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/agents/${encodeURIComponent(podName)}/usage${query}`,
102
+ url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/agents/${encodeURIComponent(runtimeName)}/usage${query}`,
103
103
  method: 'GET',
104
104
  token,
105
105
  });
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Conversation checkpoints of an agent on a local agent-runtimes server.
3
+ *
4
+ * The agent takes its own checkpoints as it runs; these calls let a page see
5
+ * them, take one between turns, rewind to one and drop one. They speak to
6
+ * `/api/v1/agents/{id}/checkpoints` on the server the workspace is backed by,
7
+ * as the Loop's other local calls do — no token, the local server checks
8
+ * none.
9
+ *
10
+ * @module api/checkpoints
11
+ */
12
+ import type { ConversationCheckpoint, ConversationCheckpointsState } from '../types/checkpoints';
13
+ type CheckpointWire = {
14
+ id: string;
15
+ label: string;
16
+ turn: number;
17
+ message_count: number;
18
+ created_at: string;
19
+ auto?: boolean;
20
+ metadata?: Record<string, unknown>;
21
+ };
22
+ /** The server's record, in the shape the rest of the library already uses. */
23
+ export declare function toConversationCheckpoint(wire: CheckpointWire): ConversationCheckpoint;
24
+ /** Whether the checkpoint was taken by the agent on its own. */
25
+ export declare const isAutoCheckpoint: (checkpoint: ConversationCheckpoint) => boolean;
26
+ /** The agent's checkpoint configuration and its checkpoints, newest first. */
27
+ export declare function listConversationCheckpoints(serverUrl: string, agentId: string): Promise<ConversationCheckpointsState>;
28
+ /** Take a checkpoint of the conversation as the last turn left it. */
29
+ export declare function saveConversationCheckpoint(serverUrl: string, agentId: string, label: string): Promise<ConversationCheckpoint>;
30
+ /**
31
+ * Set the conversation back to a checkpoint. The server pushes a fresh
32
+ * snapshot; the chat reloads its transcript from it.
33
+ */
34
+ export declare function rewindConversation(serverUrl: string, agentId: string, checkpointId: string): Promise<{
35
+ checkpoint: ConversationCheckpoint;
36
+ messageCount: number;
37
+ }>;
38
+ /** Drop a checkpoint. */
39
+ export declare function deleteConversationCheckpoint(serverUrl: string, agentId: string, checkpointId: string): Promise<void>;
40
+ export {};
@@ -0,0 +1,75 @@
1
+ /*
2
+ * Copyright (c) 2025-2026 Datalayer, Inc.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+ const trimSlash = (url) => url.replace(/\/+$/, '');
6
+ const base = (serverUrl, agentId) => `${trimSlash(serverUrl)}/api/v1/agents/${encodeURIComponent(agentId)}/checkpoints`;
7
+ async function call(url, init) {
8
+ const response = await fetch(url, {
9
+ ...init,
10
+ headers: { 'Content-Type': 'application/json', ...(init?.headers ?? {}) },
11
+ });
12
+ if (!response.ok) {
13
+ let detail = '';
14
+ try {
15
+ const body = (await response.json());
16
+ detail = typeof body.detail === 'string' ? body.detail : '';
17
+ }
18
+ catch {
19
+ // The status line is the message then.
20
+ }
21
+ throw new Error(detail || `${response.status} ${response.statusText}`);
22
+ }
23
+ return (await response.json());
24
+ }
25
+ /** The server's record, in the shape the rest of the library already uses. */
26
+ export function toConversationCheckpoint(wire) {
27
+ return {
28
+ id: wire.id,
29
+ label: wire.label,
30
+ turn: wire.turn,
31
+ messageCount: wire.message_count,
32
+ createdAt: wire.created_at,
33
+ metadata: { ...(wire.metadata ?? {}), auto: wire.auto === true },
34
+ };
35
+ }
36
+ /** Whether the checkpoint was taken by the agent on its own. */
37
+ export const isAutoCheckpoint = (checkpoint) => checkpoint.metadata?.auto === true;
38
+ /** The agent's checkpoint configuration and its checkpoints, newest first. */
39
+ export async function listConversationCheckpoints(serverUrl, agentId) {
40
+ const wire = await call(base(serverUrl, agentId));
41
+ return {
42
+ agentId: wire.agent_id,
43
+ enabled: wire.enabled,
44
+ frequency: wire.frequency,
45
+ maxCheckpoints: wire.max_checkpoints,
46
+ store: wire.store,
47
+ turn: wire.turn ?? 0,
48
+ checkpoints: (wire.checkpoints ?? []).map(toConversationCheckpoint),
49
+ };
50
+ }
51
+ /** Take a checkpoint of the conversation as the last turn left it. */
52
+ export async function saveConversationCheckpoint(serverUrl, agentId, label) {
53
+ const wire = await call(base(serverUrl, agentId), {
54
+ method: 'POST',
55
+ body: JSON.stringify({ label }),
56
+ });
57
+ return toConversationCheckpoint(wire);
58
+ }
59
+ /**
60
+ * Set the conversation back to a checkpoint. The server pushes a fresh
61
+ * snapshot; the chat reloads its transcript from it.
62
+ */
63
+ export async function rewindConversation(serverUrl, agentId, checkpointId) {
64
+ const wire = await call(`${base(serverUrl, agentId)}/${encodeURIComponent(checkpointId)}/rewind`, {
65
+ method: 'POST',
66
+ });
67
+ return {
68
+ checkpoint: toConversationCheckpoint(wire.checkpoint),
69
+ messageCount: wire.message_count,
70
+ };
71
+ }
72
+ /** Drop a checkpoint. */
73
+ export async function deleteConversationCheckpoint(serverUrl, agentId, checkpointId) {
74
+ await call(`${base(serverUrl, agentId)}/${encodeURIComponent(checkpointId)}`, { method: 'DELETE' });
75
+ }
@@ -7,6 +7,7 @@
7
7
  * @module api
8
8
  */
9
9
  export * as agents from './agents';
10
+ export * as conversationCheckpoints from './checkpoints';
10
11
  export * as context from './context';
11
12
  export * as evals from './evals';
12
13
  export * as events from './events';
package/lib/api/index.js CHANGED
@@ -15,6 +15,7 @@
15
15
  // approval interactions flow over the websocket stream; see
16
16
  // `hooks/useToolApprovals` and `components/ToolApprovalBanner`.
17
17
  export * as agents from './agents';
18
+ export * as conversationCheckpoints from './checkpoints';
18
19
  export * as context from './context';
19
20
  export * as evals from './evals';
20
21
  export * as events from './events';
@@ -58,7 +59,7 @@ export async function getSandboxSnapshots(token, baseUrl) {
58
59
  export async function createSandboxSnapshot(data, token, baseUrl) {
59
60
  // Legacy browser snapshots pass a rich object (connection, metadata, callbacks)
60
61
  // that is handled client-side. Keep compatibility by returning early.
61
- if (!('pod_name' in data)) {
62
+ if (!('runtime_name' in data)) {
62
63
  return data;
63
64
  }
64
65
  const response = await createSnapshot(resolveToken(token), data, resolveRuntimesUrl(baseUrl));
@@ -1,6 +1,20 @@
1
1
  import type { AgentNotification, NotificationFilters } from '../types';
2
+ /** One notification as the service answers it. */
3
+ interface NotificationRecord {
4
+ id: string;
5
+ agent_id?: string;
6
+ level?: string;
7
+ category?: string;
8
+ title?: string;
9
+ message?: string;
10
+ read?: boolean;
11
+ created_at?: string | null;
12
+ metadata?: Record<string, unknown>;
13
+ }
14
+ /** A record of the service as the notification this client returns. */
15
+ export declare const toAgentNotification: (record: NotificationRecord) => AgentNotification;
2
16
  /**
3
- * List agent notifications with optional filters.
17
+ * List the caller's notifications with optional filters.
4
18
  * @param token - Authentication token
5
19
  * @param filters - Optional filters (agentId, level, unreadOnly, category, limit, offset)
6
20
  * @param baseUrl - Base URL
@@ -8,7 +22,7 @@ import type { AgentNotification, NotificationFilters } from '../types';
8
22
  */
9
23
  export declare const getNotifications: (token: string, filters?: NotificationFilters, baseUrl?: string) => Promise<AgentNotification[]>;
10
24
  /**
11
- * Get a specific notification by ID.
25
+ * Get one of the caller's notifications by ID.
12
26
  * @param token - Authentication token
13
27
  * @param id - Notification ID
14
28
  * @param baseUrl - Base URL
@@ -22,14 +36,14 @@ export declare const getNotification: (token: string, id: string, baseUrl?: stri
22
36
  */
23
37
  export declare const markNotificationRead: (token: string, id: string, baseUrl?: string) => Promise<void>;
24
38
  /**
25
- * Mark all notifications as read.
39
+ * Mark the caller's notifications as read: the ones named, or all of them.
26
40
  * @param token - Authentication token
27
- * @param agentId - Optional: only for a specific agent
41
+ * @param notificationIds - Optional: only these notifications
28
42
  * @param baseUrl - Base URL
29
43
  */
30
- export declare const markAllRead: (token: string, agentId?: string, baseUrl?: string) => Promise<void>;
44
+ export declare const markAllRead: (token: string, notificationIds?: string[], baseUrl?: string) => Promise<void>;
31
45
  /**
32
- * Get count of unread notifications.
46
+ * Get the count of the caller's unread notifications.
33
47
  * @param token - Authentication token
34
48
  * @param baseUrl - Base URL
35
49
  * @returns Promise resolving to unread count
@@ -37,3 +51,4 @@ export declare const markAllRead: (token: string, agentId?: string, baseUrl?: st
37
51
  export declare const getUnreadCount: (token: string, baseUrl?: string) => Promise<{
38
52
  count: number;
39
53
  }>;
54
+ export {};