@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
@@ -19,7 +19,6 @@ import { Spinner, Text } from '@primer/react';
19
19
  import { Box } from '@datalayer/primer-addons';
20
20
  import { ThemedProvider } from './utils/themedProvider';
21
21
  import { ChatFloating } from '../chat';
22
- import { useExampleAgentRuntimesUrl } from './utils/useExampleAgentRuntimesUrl';
23
22
  import { uniqueAgentId } from './utils/agentId';
24
23
  import { useExampleAgentRuntime } from './hooks/useExampleAgentRuntime';
25
24
  /**
@@ -36,9 +35,8 @@ import { useExampleAgentRuntime } from './hooks/useExampleAgentRuntime';
36
35
  const AGENT_NAME = 'ag-ui-agentic';
37
36
  const AGENTSPEC_ID = 'example-agentic-chat';
38
37
  const AgUiAgenticExample = () => {
39
- const baseUrl = useExampleAgentRuntimesUrl();
40
38
  const agentName = useMemo(() => uniqueAgentId(AGENT_NAME), []);
41
- const { agentId, status, error, isReady } = useExampleAgentRuntime({
39
+ const { agentId, baseUrl, status, error, isReady } = useExampleAgentRuntime({
42
40
  exampleId: 'AgUiAgenticExample',
43
41
  agentName,
44
42
  specId: AGENTSPEC_ID,
@@ -60,7 +58,7 @@ const AgUiAgenticExample = () => {
60
58
  fontSize: 4,
61
59
  fontWeight: 'bold',
62
60
  marginBottom: 2,
63
- }, children: "AG-UI: Agentic Example" }), _jsx(Text, { as: "p", sx: {
61
+ }, children: "AG-UI Agentic Example" }), _jsx(Text, { as: "p", sx: {
64
62
  fontSize: 2,
65
63
  color: 'fg.muted',
66
64
  marginBottom: 4,
@@ -21,7 +21,6 @@ import { Box } from '@datalayer/primer-addons';
21
21
  import { ThemedProvider, useThemeBrandColor } from './utils/themedProvider';
22
22
  import { ChatFloating } from '../chat';
23
23
  import { InlineWeatherCard } from './components/weather';
24
- import { useExampleAgentRuntimesUrl } from './utils/useExampleAgentRuntimesUrl';
25
24
  import { uniqueAgentId } from './utils/agentId';
26
25
  import { useExampleAgentRuntime } from './hooks/useExampleAgentRuntime';
27
26
  import { useSpecRenderToolResult, specRendererClassName, } from './hooks/useSpecRenderToolResult';
@@ -55,9 +54,8 @@ const AGENT_NAME = 'ag-ui-backend-tools';
55
54
  const AGENTSPEC_ID = 'example-backend-tool-rendering';
56
55
  const AgUiBackendToolRenderingExample = () => {
57
56
  const brandColor = useThemeBrandColor();
58
- const baseUrl = useExampleAgentRuntimesUrl();
59
57
  const agentName = useMemo(() => uniqueAgentId(AGENT_NAME), []);
60
- const { agentId } = useExampleAgentRuntime({
58
+ const { agentId, baseUrl } = useExampleAgentRuntime({
61
59
  exampleId: 'AgUiBackendToolRenderingExample',
62
60
  agentName,
63
61
  specId: AGENTSPEC_ID,
@@ -85,7 +83,7 @@ const AgUiBackendToolRenderingExample = () => {
85
83
  fontSize: 4,
86
84
  fontWeight: 'bold',
87
85
  marginBottom: 2,
88
- }, children: "AG-UI: Backend Tool Rendering (Inline)" }), _jsxs(Text, { as: "p", sx: {
86
+ }, children: "AG-UI Backend Tool Rendering (Inline)" }), _jsxs(Text, { as: "p", sx: {
89
87
  fontSize: 2,
90
88
  color: 'fg.muted',
91
89
  marginBottom: 4,
@@ -105,7 +103,7 @@ const AgUiBackendToolRenderingExample = () => {
105
103
  marginTop: 1,
106
104
  fontSize: 1,
107
105
  color: 'fg.muted',
108
- }, children: [_jsx("li", { children: "\"What's the weather in New York?\"" }), _jsx("li", { children: "\"Weather in London and Paris\"" }), _jsx("li", { children: "\"Is it sunny in Sydney?\"" }), _jsx("li", { children: "\"How's the weather in Tokyo today?\"" })] })] })] })] }), backendToolRenderingEndpoint && (_jsx(ChatFloating, { kernelIndicatorPlacement: "right", protocol: "ag-ui", endpoint: backendToolRenderingEndpoint, title: "Weather Assistant", description: "Ask me about the weather anywhere in the world!", position: "bottom-right", brandColor: brandColor, onStateUpdate: handleStateUpdate, renderToolResult: renderToolResult, suggestions: [
106
+ }, children: [_jsx("li", { children: "\"What's the weather in New York?\"" }), _jsx("li", { children: "\"Weather in London and Paris\"" }), _jsx("li", { children: "\"Is it sunny in Sydney?\"" }), _jsx("li", { children: "\"How's the weather in Tokyo today?\"" })] })] })] })] }), backendToolRenderingEndpoint && (_jsx(ChatFloating, { kernelIndicatorPlacement: "right", protocol: "ag-ui", endpoint: backendToolRenderingEndpoint, title: "Weather Assistant", description: "Ask me about the weather anywhere in the world!", position: "bottom-right", brandColor: brandColor, defaultOpen: true, onStateUpdate: handleStateUpdate, renderToolResult: renderToolResult, suggestions: [
109
107
  {
110
108
  title: 'Paris weather',
111
109
  message: "What's the weather like in Paris?",
@@ -22,7 +22,6 @@ import { Box } from '@datalayer/primer-addons';
22
22
  import { ThemedProvider, useThemeBrandColor } from './utils/themedProvider';
23
23
  import { ChatFloating } from '../chat';
24
24
  import { InlineHaikuCard, HaikuDisplay, } from './components/haiku';
25
- import { useExampleAgentRuntimesUrl } from './utils/useExampleAgentRuntimesUrl';
26
25
  import { uniqueAgentId } from './utils/agentId';
27
26
  import { useExampleAgentRuntime } from './hooks/useExampleAgentRuntime';
28
27
  import { useSpecRenderToolResult, specRendererClassName, } from './hooks/useSpecRenderToolResult';
@@ -65,9 +64,8 @@ const AGENT_NAME = 'ag-ui-haiku';
65
64
  const AGENTSPEC_ID = 'example-haiku-generative-ui';
66
65
  const AgUiHaikuGenUiExample = () => {
67
66
  const brandColor = useThemeBrandColor();
68
- const baseUrl = useExampleAgentRuntimesUrl();
69
67
  const agentName = useMemo(() => uniqueAgentId(AGENT_NAME), []);
70
- const { agentId } = useExampleAgentRuntime({
68
+ const { agentId, baseUrl } = useExampleAgentRuntime({
71
69
  exampleId: 'AgUiHaikuGenUiExample',
72
70
  agentName,
73
71
  specId: AGENTSPEC_ID,
@@ -123,7 +121,7 @@ const AgUiHaikuGenUiExample = () => {
123
121
  fontSize: 4,
124
122
  fontWeight: 'bold',
125
123
  marginBottom: 2,
126
- }, children: "AG-UI: Haiku Generative UI" }), _jsx(Text, { as: "p", sx: {
124
+ }, children: "AG-UI Haiku Generative UI" }), _jsx(Text, { as: "p", sx: {
127
125
  fontSize: 2,
128
126
  color: 'fg.muted',
129
127
  marginBottom: 4,
@@ -20,7 +20,6 @@ import { Text, Checkbox, FormControl, Label, ProgressBar, Button, } from '@prime
20
20
  import { Box } from '@datalayer/primer-addons';
21
21
  import { ThemedProvider, useThemeBrandColor } from './utils/themedProvider';
22
22
  import { ChatFloating } from '../chat';
23
- import { useExampleAgentRuntimesUrl } from './utils/useExampleAgentRuntimesUrl';
24
23
  import { uniqueAgentId } from './utils/agentId';
25
24
  import { useExampleAgentRuntime } from './hooks/useExampleAgentRuntime';
26
25
  import { TasklistIcon, CheckCircleFillIcon, XCircleFillIcon, } from '@primer/octicons-react';
@@ -182,9 +181,8 @@ const AGENT_NAME = 'ag-ui-human-in-the-loop';
182
181
  const AGENTSPEC_ID = 'example-human-in-the-loop';
183
182
  const AgUiHumanInTheLoopExample = () => {
184
183
  const brandColor = useThemeBrandColor();
185
- const baseUrl = useExampleAgentRuntimesUrl();
186
184
  const agentName = useMemo(() => uniqueAgentId(AGENT_NAME), []);
187
- const { agentId } = useExampleAgentRuntime({
185
+ const { agentId, baseUrl } = useExampleAgentRuntime({
188
186
  exampleId: 'AgUiHumanInTheLoopExample',
189
187
  agentName,
190
188
  specId: AGENTSPEC_ID,
@@ -205,7 +203,7 @@ const AgUiHumanInTheLoopExample = () => {
205
203
  fontSize: 4,
206
204
  fontWeight: 'bold',
207
205
  marginBottom: 2,
208
- }, children: "AG-UI: Human in the Loop Example" }), _jsx(Text, { as: "p", sx: {
206
+ }, children: "AG-UI Human in the Loop Example" }), _jsx(Text, { as: "p", sx: {
209
207
  fontSize: 2,
210
208
  color: 'fg.muted',
211
209
  marginBottom: 4,
@@ -17,7 +17,6 @@ import { Text, Button, TextInput, Label } from '@primer/react';
17
17
  import { Box } from '@datalayer/primer-addons';
18
18
  import { ThemedProvider, useThemeBrandColor } from './utils/themedProvider';
19
19
  import { ChatFloating } from '../chat';
20
- import { useExampleAgentRuntimesUrl } from './utils/useExampleAgentRuntimesUrl';
21
20
  import { uniqueAgentId } from './utils/agentId';
22
21
  import { useExampleAgentRuntime } from './hooks/useExampleAgentRuntime';
23
22
  import { PlusIcon, XIcon, BeakerIcon, ClockIcon, PersonIcon, } from '@primer/octicons-react';
@@ -108,9 +107,8 @@ const AGENT_NAME = 'ag-ui-shared-state';
108
107
  const AGENTSPEC_ID = 'example-shared-state';
109
108
  const AgUiSharedStateExample = () => {
110
109
  const brandColor = useThemeBrandColor();
111
- const baseUrl = useExampleAgentRuntimesUrl();
112
110
  const agentName = useMemo(() => uniqueAgentId(AGENT_NAME), []);
113
- const { agentId } = useExampleAgentRuntime({
111
+ const { agentId, baseUrl } = useExampleAgentRuntime({
114
112
  exampleId: 'AgUiSharedStateExample',
115
113
  agentName,
116
114
  specId: AGENTSPEC_ID,
@@ -158,7 +156,7 @@ const AgUiSharedStateExample = () => {
158
156
  fontSize: 4,
159
157
  fontWeight: 'bold',
160
158
  marginBottom: 2,
161
- }, children: "AG-UI: Shared State Example" }), _jsx(Text, { as: "p", sx: {
159
+ }, children: "AG-UI Shared State Example" }), _jsx(Text, { as: "p", sx: {
162
160
  fontSize: 2,
163
161
  color: 'fg.muted',
164
162
  }, children: "Build a recipe together with AI. Both you and the agent can edit the recipe." })] }), _jsx(Button, { variant: "danger", onClick: handleClear, children: "Clear Recipe" })] }), _jsxs(Box, { sx: {
@@ -17,7 +17,6 @@ import { Text, ProgressBar, Button } from '@primer/react';
17
17
  import { Box } from '@datalayer/primer-addons';
18
18
  import { ThemedProvider, useThemeBrandColor } from './utils/themedProvider';
19
19
  import { ChatFloating } from '../chat';
20
- import { useExampleAgentRuntimesUrl } from './utils/useExampleAgentRuntimesUrl';
21
20
  import { uniqueAgentId } from './utils/agentId';
22
21
  import { useExampleAgentRuntime } from './hooks/useExampleAgentRuntime';
23
22
  import { CheckCircleIcon, CircleIcon, DotFillIcon, CheckIcon, XIcon, } from '@primer/octicons-react';
@@ -175,9 +174,8 @@ const AGENT_NAME = 'ag-ui-generative-ui';
175
174
  const AGENTSPEC_ID = 'example-agentic-generative-ui';
176
175
  const AgUiToolsBasedGenUiExample = () => {
177
176
  const brandColor = useThemeBrandColor();
178
- const baseUrl = useExampleAgentRuntimesUrl();
179
177
  const agentName = useMemo(() => uniqueAgentId(AGENT_NAME), []);
180
- const { agentId } = useExampleAgentRuntime({
178
+ const { agentId, baseUrl } = useExampleAgentRuntime({
181
179
  exampleId: 'AgUiToolsBasedGenUiExample',
182
180
  agentName,
183
181
  specId: AGENTSPEC_ID,
@@ -238,7 +236,7 @@ const AgUiToolsBasedGenUiExample = () => {
238
236
  fontSize: 4,
239
237
  fontWeight: 'bold',
240
238
  marginBottom: 2,
241
- }, children: "AG-UI: Tool-Based Generative UI Example" }), _jsx(Text, { as: "p", sx: {
239
+ }, children: "AG-UI Tool-Based Generative UI Example" }), _jsx(Text, { as: "p", sx: {
242
240
  fontSize: 2,
243
241
  color: 'fg.muted',
244
242
  marginBottom: 4,
@@ -0,0 +1,17 @@
1
+ /**
2
+ * AgentA2AExample
3
+ *
4
+ * Delegation to separate agents over the A2A protocol. The orchestrator runs
5
+ * on the local agent-runtimes server, created there by the Loop from the
6
+ * `example-a2a` blueprint; its researcher and writer are not subagents inside
7
+ * its process but agents of their own, launched on the first delegation —
8
+ * beside the orchestrator on the local server, or on Datalayer runtimes when
9
+ * the orchestrator itself runs in the cloud — and spoken to over A2A.
10
+ *
11
+ * - The chat boxes each remote run under its delegation tool card
12
+ * - The A2A sidebar lists the remote agents, where each runs, its card and
13
+ * task, and keeps the live run box in view
14
+ */
15
+ import React from 'react';
16
+ declare const AgentA2AExample: React.FC;
17
+ export default AgentA2AExample;
@@ -0,0 +1,56 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /*
3
+ * Copyright (c) 2025-2026 Datalayer, Inc.
4
+ * Distributed under the terms of the Modified BSD License.
5
+ */
6
+ /**
7
+ * AgentA2AExample
8
+ *
9
+ * Delegation to separate agents over the A2A protocol. The orchestrator runs
10
+ * on the local agent-runtimes server, created there by the Loop from the
11
+ * `example-a2a` blueprint; its researcher and writer are not subagents inside
12
+ * its process but agents of their own, launched on the first delegation —
13
+ * beside the orchestrator on the local server, or on Datalayer runtimes when
14
+ * the orchestrator itself runs in the cloud — and spoken to over A2A.
15
+ *
16
+ * - The chat boxes each remote run under its delegation tool card
17
+ * - The A2A sidebar lists the remote agents, where each runs, its card and
18
+ * task, and keeps the live run box in view
19
+ */
20
+ /// <reference types="vite/client" />
21
+ import { useMemo } from 'react';
22
+ import { Heading, Label } from '@primer/react';
23
+ import { BroadcastIcon } from '@primer/octicons-react';
24
+ import { Box } from '@datalayer/primer-addons';
25
+ import { ThemedProvider } from './utils/themedProvider';
26
+ import { uniqueAgentId } from './utils/agentId';
27
+ import { resolveExampleAgentRuntimesUrl } from './utils/useExampleAgentRuntimesUrl';
28
+ import { LoopEmbed } from '../loop';
29
+ import { AgentA2APlugin } from '../loop/plugins/agent-a2a';
30
+ import { A2ASidebarPlugin } from '../loop/plugins/a2a-sidebar';
31
+ import { getAgentspecs } from '../specs/agents';
32
+ const AGENT_NAME = 'a2a-example-agent';
33
+ const AGENTSPEC_ID = 'example-a2a';
34
+ /** The agents the orchestrator reaches over A2A, from its spec. */
35
+ const remoteAgentCount = () => (getAgentspecs(AGENTSPEC_ID)?.subagents?.subagents ?? []).filter(subagent => subagent.a2a).length;
36
+ const AgentA2AExample = () => {
37
+ const agentName = useMemo(() => uniqueAgentId(AGENT_NAME), []);
38
+ const plugins = useMemo(() => [AgentA2APlugin, A2ASidebarPlugin], []);
39
+ const remoteAgents = remoteAgentCount();
40
+ return (_jsx(ThemedProvider, { children: _jsxs(Box, { sx: {
41
+ height: '100%',
42
+ display: 'flex',
43
+ flexDirection: 'column',
44
+ bg: 'canvas.default',
45
+ }, children: [_jsxs(Box, { sx: {
46
+ display: 'flex',
47
+ alignItems: 'center',
48
+ gap: 2,
49
+ px: 3,
50
+ py: 2,
51
+ borderBottom: '1px solid',
52
+ borderColor: 'border.default',
53
+ flexShrink: 0,
54
+ }, children: [_jsx(BroadcastIcon, { size: 16 }), _jsx(Heading, { as: "h3", sx: { fontSize: 2, flex: 1 }, children: "A2A Demo" }), _jsx(Label, { variant: "accent", children: "local" }), _jsxs(Label, { variant: "accent", children: [remoteAgents, " A2A agent", remoteAgents === 1 ? '' : 's'] })] }), _jsx(Box, { sx: { flex: 1, minHeight: 0 }, children: _jsx(LoopEmbed, { serverUrl: resolveExampleAgentRuntimesUrl('local'), target: "local", showAgentVariants: true, agentId: agentName, defaultEditor: "none", showHeader: true, plugins: plugins }) })] }) }));
55
+ };
56
+ export default AgentA2AExample;
@@ -1,18 +1,17 @@
1
1
  /**
2
2
  * AgentCheckpointsExample
3
3
  *
4
- * Demonstrates launching a agent in the Datalayer cloud,
5
- * with pause/resume (checkpoint) and lifecycle controls.
4
+ * Checkpoints, at the two levels the runtime offers them.
6
5
  *
7
- * Uses the `useAgent` hook which:
8
- * 1. Creates a cloud agent runtime via the Datalayer Runtimes API
9
- * (environment: 'ai-agents-env')
10
- * 2. Deploys an agent on the runtime's agent-runtimes sidecar
11
- * 3. Provides pause/resume/terminate lifecycle backed by CRIU
6
+ * On the Local target (and any sandbox), the capability is the agent's own
7
+ * conversation checkpoints: the `example-checkpoints` agent snapshots its
8
+ * conversation after every turn, saves a named checkpoint on request, lists
9
+ * them and rewinds to one — and the checkpoints sidebar shows them, saves one
10
+ * between turns and rewinds the chat.
12
11
  *
13
- * Prerequisites:
14
- * - Datalayer core configuration (runtimesUrl, aiAgentsUrl)
15
- * - Valid IAM token (set via SignInSimple or iamStore)
12
+ * On the Datalayer target the runtime itself is the thing checkpointed:
13
+ * the console below launches a cloud agent runtime and pauses and resumes it
14
+ * (light, or CRIU) with lifecycle controls.
16
15
  */
17
16
  import React from 'react';
18
17
  declare const AgentCheckpointsExample: React.FC;
@@ -6,34 +6,38 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
6
6
  /**
7
7
  * AgentCheckpointsExample
8
8
  *
9
- * Demonstrates launching a agent in the Datalayer cloud,
10
- * with pause/resume (checkpoint) and lifecycle controls.
9
+ * Checkpoints, at the two levels the runtime offers them.
11
10
  *
12
- * Uses the `useAgent` hook which:
13
- * 1. Creates a cloud agent runtime via the Datalayer Runtimes API
14
- * (environment: 'ai-agents-env')
15
- * 2. Deploys an agent on the runtime's agent-runtimes sidecar
16
- * 3. Provides pause/resume/terminate lifecycle backed by CRIU
11
+ * On the Local target (and any sandbox), the capability is the agent's own
12
+ * conversation checkpoints: the `example-checkpoints` agent snapshots its
13
+ * conversation after every turn, saves a named checkpoint on request, lists
14
+ * them and rewinds to one — and the checkpoints sidebar shows them, saves one
15
+ * between turns and rewinds the chat.
17
16
  *
18
- * Prerequisites:
19
- * - Datalayer core configuration (runtimesUrl, aiAgentsUrl)
20
- * - Valid IAM token (set via SignInSimple or iamStore)
17
+ * On the Datalayer target the runtime itself is the thing checkpointed:
18
+ * the console below launches a cloud agent runtime and pauses and resumes it
19
+ * (light, or CRIU) with lifecycle controls.
21
20
  */
22
21
  /// <reference types="vite/client" />
23
22
  import { useState, useCallback, useEffect, useRef, useMemo, } from 'react';
24
23
  import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
25
24
  import { Text, Button, IconButton, Spinner, Label, Flash, Heading, Tooltip, } from '@primer/react';
26
- import { AlertIcon, PlayIcon, SquareIcon, HistoryIcon, CheckCircleIcon, XCircleIcon, ClockIcon, TagIcon, GlobeIcon, ZapIcon, GraphIcon, AiModelIcon, PeopleIcon, SidebarCollapseIcon, SidebarExpandIcon, SyncIcon, AgentIcon, } from '@primer/octicons-react';
25
+ import { AlertIcon, PlayIcon, SquareIcon, HistoryIcon, CheckCircleIcon, XCircleIcon, ClockIcon, TagIcon, GlobeIcon, ZapIcon, GraphIcon, AiModelIcon, PeopleIcon, SidebarCollapseIcon, SidebarExpandIcon, SyncIcon, AgentIcon, VersionsIcon, } from '@primer/octicons-react';
27
26
  import { Box } from '@datalayer/primer-addons';
28
27
  import { AuthRequiredView, ErrorView } from './components';
29
28
  import { ThemedProvider } from './utils/themedProvider';
30
29
  import { useSimpleAuthStore } from '@datalayer/core/lib/views/otel';
31
- import { Chat } from '../chat';
30
+ import { LoopEmbed } from '../loop';
31
+ import { AgentCheckpointsPlugin } from '../loop/plugins/agent-checkpoints';
32
+ import { CheckpointsSidebarPlugin } from '../loop/plugins/checkpoints-sidebar';
33
+ import { uniqueAgentId } from './utils/agentId';
34
+ import { resolveExampleAgentRuntimesUrl } from './utils/useExampleAgentRuntimesUrl';
35
+ import { useRuntimeTargetStore } from './utils/runtimeTargetStore';
32
36
  import { useAgentsRuntimes, useAgentRuntimesQuery, useRefreshAgentRuntimes, } from '../hooks/useAgentRuntimes';
33
37
  import { useExampleAgentRuntimes as useAgentRuntimes } from './hooks/useExampleAgentRuntimes';
34
38
  import { useAgentLifecycle } from '../hooks/useCheckpoints';
35
- import { useDeletePausedAgentRuntime } from '../hooks/useCheckpoints';
36
39
  import { AGENT_STATUS_COLORS } from '../types/agents';
40
+ const LOOP_PLUGINS_AGENTCHE = [AgentCheckpointsPlugin];
37
41
  const queryClient = new QueryClient();
38
42
  // ─── Defaults ──────────────────────────────────────────────────────────────
39
43
  const AGENTSPEC_ID = 'monitor-sales-kpis';
@@ -53,7 +57,7 @@ const AGENTSPEC = {
53
57
  model: 'bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0',
54
58
  protocol: 'vercel-ai',
55
59
  memory: 'mem0',
56
- sandbox_variant: 'jupyter',
60
+ sandbox_variant: 'jupyter-server',
57
61
  environment_name: 'ai-agents-env',
58
62
  tags: ['support', 'chatbot', 'sales', 'kpi', 'monitoring'],
59
63
  trigger: {
@@ -107,10 +111,8 @@ const AgentCheckpointsInner = ({ onLogout, }) => {
107
111
  });
108
112
  // Agent runtimes from the focused hook
109
113
  const { data: agentRuntimes } = useAgentRuntimesQuery();
110
- const { terminateRuntimeByPod } = useAgentsRuntimes();
114
+ const { stopRuntimeByName } = useAgentsRuntimes();
111
115
  const refetchRuntimes = useRefreshAgentRuntimes();
112
- const deletePausedRuntimeMutation = useDeletePausedAgentRuntime();
113
- const deletePausedRuntimeByPod = deletePausedRuntimeMutation.mutateAsync;
114
116
  const [isStarting, setIsStarting] = useState(false);
115
117
  const [sidebarOpen, setSidebarOpen] = useState(true);
116
118
  const [actionLoading, setActionLoading] = useState(false);
@@ -119,7 +121,7 @@ const AgentCheckpointsInner = ({ onLogout, }) => {
119
121
  const [resumeMode, setResumeMode] = useState('light');
120
122
  const autoConnectAttemptRef = useRef(null);
121
123
  const displayError = hookError || actionError;
122
- const podName = runtime?.podName || '(launching…)';
124
+ const runtimeName = runtime?.runtimeName || '(launching…)';
123
125
  const agentId = runtime?.agentId || AGENTSPEC_ID;
124
126
  const agentBaseUrl = runtime?.agentBaseUrl || '';
125
127
  const handleLaunch = useCallback(async () => {
@@ -156,11 +158,11 @@ const AgentCheckpointsInner = ({ onLogout, }) => {
156
158
  setActionLoading(false);
157
159
  }
158
160
  }, [pause, refreshCheckpoints, refreshAgents, terminate]);
159
- const handleResume = useCallback(async (mode, checkpointId, podName) => {
161
+ const handleResume = useCallback(async (mode, checkpointId, runtimeName) => {
160
162
  setActionLoading(true);
161
163
  setActionError(null);
162
164
  try {
163
- await resume(mode, checkpointId, podName);
165
+ await resume(mode, checkpointId, runtimeName);
164
166
  await Promise.all([refreshCheckpoints(), refreshAgents()]);
165
167
  }
166
168
  catch (e) {
@@ -172,11 +174,11 @@ const AgentCheckpointsInner = ({ onLogout, }) => {
172
174
  }, [resume, refreshCheckpoints, refreshAgents]);
173
175
  // Refresh lists when a runtime connection is established.
174
176
  useEffect(() => {
175
- if (runtime?.podName) {
177
+ if (runtime?.runtimeName) {
176
178
  refreshCheckpoints();
177
179
  refreshAgents();
178
180
  }
179
- }, [runtime?.podName, refreshCheckpoints, refreshAgents]);
181
+ }, [runtime?.runtimeName, refreshCheckpoints, refreshAgents]);
180
182
  // Clear the manual override once a real runtimes fetch lands.
181
183
  useEffect(() => {
182
184
  if (runningAgentsOverride && agentRuntimes) {
@@ -188,7 +190,7 @@ const AgentCheckpointsInner = ({ onLogout, }) => {
188
190
  return runningAgentsOverride;
189
191
  return (agentRuntimes || []).map(rt => ({
190
192
  id: rt.id,
191
- podName: rt.pod_name,
193
+ runtimeName: rt.runtime_name,
192
194
  name: rt.name,
193
195
  description: rt.environment.title || rt.environment.name,
194
196
  status: rt.status,
@@ -212,12 +214,12 @@ const AgentCheckpointsInner = ({ onLogout, }) => {
212
214
  return;
213
215
  }
214
216
  // Prevent reconnect loops to the same runtime while status remains idle/disconnected.
215
- if (autoConnectAttemptRef.current === candidate.podName) {
217
+ if (autoConnectAttemptRef.current === candidate.runtimeName) {
216
218
  return;
217
219
  }
218
- autoConnectAttemptRef.current = candidate.podName;
220
+ autoConnectAttemptRef.current = candidate.runtimeName;
219
221
  connectToRuntime({
220
- podName: candidate.podName,
222
+ runtimeName: candidate.runtimeName,
221
223
  environmentName: candidate.environmentName,
222
224
  jupyterBaseUrl: candidate.jupyterBaseUrl,
223
225
  });
@@ -239,34 +241,30 @@ const AgentCheckpointsInner = ({ onLogout, }) => {
239
241
  setActionLoading(true);
240
242
  setActionError(null);
241
243
  try {
242
- const isCurrentRuntime = runtime?.podName === agent.podName;
244
+ const isCurrentRuntime = runtime?.runtimeName === agent.runtimeName;
243
245
  const isLastKnownRuntime = runningAgents.length === 1 &&
244
- runningAgents[0].podName === agent.podName;
245
- if (agent.status === 'paused') {
246
- await deletePausedRuntimeByPod(agent.podName);
247
- }
248
- else {
249
- await terminateRuntimeByPod(agent.podName);
250
- }
251
- // Ensure sidebar terminate resets to the home state like header terminate.
246
+ runningAgents[0].runtimeName === agent.runtimeName;
247
+ // One verb for both: stopping reaps the pod when there is one and the
248
+ // checkpoint records when there is not.
249
+ await stopRuntimeByName(agent.runtimeName);
250
+ // Ensure sidebar stop resets to the home state like the header's.
252
251
  if (isCurrentRuntime || isLastKnownRuntime) {
253
252
  await terminate();
254
253
  }
255
254
  await Promise.all([refreshAgents(), refreshCheckpoints()]);
256
255
  }
257
256
  catch (e) {
258
- setActionError(e instanceof Error ? e.message : 'Terminate failed');
257
+ setActionError(e instanceof Error ? e.message : 'Stop failed');
259
258
  }
260
259
  finally {
261
260
  setActionLoading(false);
262
261
  }
263
262
  }, [
264
- deletePausedRuntimeByPod,
265
- terminateRuntimeByPod,
263
+ stopRuntimeByName,
266
264
  refreshAgents,
267
265
  refreshCheckpoints,
268
266
  runningAgents,
269
- runtime?.podName,
267
+ runtime?.runtimeName,
270
268
  terminate,
271
269
  ]);
272
270
  const pausedAgents = runningAgents.filter(a => a.status === 'paused');
@@ -274,7 +272,7 @@ const AgentCheckpointsInner = ({ onLogout, }) => {
274
272
  const checkpointRuntimeIds = new Set(checkpoints
275
273
  .map((ckpt) => ckpt.runtime_uid)
276
274
  .filter((value) => Boolean(value)));
277
- const pausedAgentsWithoutCheckpoint = pausedAgents.filter((a) => !checkpointRuntimeIds.has(a.podName));
275
+ const pausedAgentsWithoutCheckpoint = pausedAgents.filter((a) => !checkpointRuntimeIds.has(a.runtimeName));
278
276
  const showNoAgentRunningView = (runtimeStatus === 'idle' || runtimeStatus === 'disconnected') &&
279
277
  !isStarting;
280
278
  const showLaunchingView = runtimeStatus === 'launching' ||
@@ -298,7 +296,7 @@ const AgentCheckpointsInner = ({ onLogout, }) => {
298
296
  borderBottom: '1px solid',
299
297
  borderColor: 'border.default',
300
298
  flexShrink: 0,
301
- }, children: [_jsx(Button, { size: "small", variant: "invisible", onClick: () => setSidebarOpen(prev => !prev), leadingVisual: sidebarOpen ? SidebarCollapseIcon : SidebarExpandIcon, "aria-label": sidebarOpen ? 'Collapse sidebar' : 'Expand sidebar' }), _jsxs(Heading, { as: "h3", sx: { fontSize: 2, flex: 1 }, children: ["Agent \u2014 ", podName] }), _jsx(Label, { variant: STATUS_COLORS[runtimeStatus], children: runtimeStatus }), (runtimeStatus === 'ready' ||
299
+ }, children: [_jsx(Button, { size: "small", variant: "invisible", onClick: () => setSidebarOpen(prev => !prev), leadingVisual: sidebarOpen ? SidebarCollapseIcon : SidebarExpandIcon, "aria-label": sidebarOpen ? 'Collapse sidebar' : 'Expand sidebar' }), _jsxs(Heading, { as: "h3", sx: { fontSize: 2, flex: 1 }, children: ["Agent \u2014 ", runtimeName] }), _jsx(Label, { variant: STATUS_COLORS[runtimeStatus], children: runtimeStatus }), (runtimeStatus === 'ready' ||
302
300
  runtimeStatus === 'resumed' ||
303
301
  runtimeStatus === 'resuming' ||
304
302
  runtimeStatus === 'paused') && (_jsxs(_Fragment, { children: [_jsx(Button, { size: "small", leadingVisual: SquareIcon, onClick: () => handlePause('light'), disabled: actionLoading ||
@@ -386,7 +384,7 @@ const AgentCheckpointsInner = ({ onLogout, }) => {
386
384
  mt: 2,
387
385
  display: 'flex',
388
386
  justifyContent: 'flex-end',
389
- }, children: _jsx(Button, { size: "small", variant: "primary", leadingVisual: PlayIcon, onClick: () => handleResume(resumeMode, undefined, a.podName), disabled: actionLoading, children: "Resume" }) })] }, `paused-${a.id}`))), checkpoints.length === 0 &&
387
+ }, children: _jsx(Button, { size: "small", variant: "primary", leadingVisual: PlayIcon, onClick: () => handleResume(resumeMode, undefined, a.runtimeName), disabled: actionLoading, children: "Resume" }) })] }, `paused-${a.id}`))), checkpoints.length === 0 &&
390
388
  pausedAgentsWithoutCheckpoint.length === 0 ? (_jsx(Text, { sx: { fontSize: 0, color: 'fg.muted', fontStyle: 'italic' }, children: "No checkpoints yet. Use Checkpoint (Light) or Checkpoint create one." })) : (checkpoints.map((ckpt) => (_jsxs(Box, { sx: {
391
389
  p: 2,
392
390
  mb: 1,
@@ -436,16 +434,7 @@ const AgentCheckpointsInner = ({ onLogout, }) => {
436
434
  gap: 3,
437
435
  px: 3,
438
436
  }, children: [_jsx(AgentIcon, { size: 48 }), _jsx(Heading, { as: "h2", sx: { fontSize: 3 }, children: "Checkpoint Agent" }), _jsxs(Text, { sx: { color: 'fg.muted', textAlign: 'center', maxWidth: 560 }, children: ["Launch a cloud agent runtime with pause/resume checkpointing. The agent will be deployed from the", ' ', _jsx("strong", { children: AGENTSPEC_ID }), " spec."] }), displayError && (_jsx(Flash, { variant: "danger", sx: { maxWidth: 560, width: '100%' }, children: displayError })), _jsx(Button, { variant: "primary", size: "large", leadingVisual: PlayIcon, onClick: handleLaunch, children: "Launch Agent" })] })) : (isReady || runtimeStatus === 'resumed') &&
439
- runtimeStatus !== 'paused' ? (_jsx(Chat, { protocol: "vercel-ai", baseUrl: agentBaseUrl, agentId: agentId, title: "Monitor Sales KPI Agent", brandIcon: _jsx(AgentIcon, { size: 16 }), placeholder: "Ask about sales KPIs\u2026", description: "Monitor Sales KPI agent with pause/resume checkpointing", showHeader: true, kernelIndicatorPlacement: "right", showTokenUsage: true, autoFocus: true, height: "100%", runtimeId: podName, historyEndpoint: `${agentBaseUrl}/api/v1/history`, suggestions: [
440
- {
441
- title: 'KPIs',
442
- message: "Show me today's sales KPI dashboard",
443
- },
444
- {
445
- title: 'Trends',
446
- message: 'What are the current revenue trends?',
447
- },
448
- ], submitOnSuggestionClick: true })) : (_jsx(Box, { sx: {
437
+ runtimeStatus !== 'paused' ? (_jsx(LoopEmbed, { serverUrl: agentBaseUrl, target: "local", agentId: agentId, defaultEditor: "none", showHeader: true, plugins: LOOP_PLUGINS_AGENTCHE })) : (_jsx(Box, { sx: {
449
438
  display: 'flex',
450
439
  flexDirection: 'column',
451
440
  alignItems: 'center',
@@ -456,8 +445,8 @@ const AgentCheckpointsInner = ({ onLogout, }) => {
456
445
  }, children: runtimeStatus === 'paused' ? (_jsx(Text, { sx: { fontSize: 2 }, children: "Agent is paused \u2014 click Resume to continue the conversation." })) : runtimeStatus === 'idle' ||
457
446
  runtimeStatus === 'disconnected' ? (_jsx(Text, { sx: { fontSize: 2 }, children: "No active runtime connection. Launch an agent or select one in the sidebar." })) : runtimeStatus === 'error' ? (_jsxs(_Fragment, { children: [_jsx(AlertIcon, { size: 32 }), _jsx(Text, { sx: { fontSize: 2, color: 'danger.fg' }, children: "Agent failed to connect" }), displayError && (_jsx(Text, { sx: { fontSize: 1, color: 'fg.muted' }, children: displayError })), _jsx(Button, { variant: "primary", onClick: handleLaunch, children: "Retry Launch" })] })) : (_jsxs(_Fragment, { children: [_jsx(Spinner, { size: "medium" }), _jsxs(Text, { sx: { fontSize: 2 }, children: ["Connecting to agent\u2026 (status: ", runtimeStatus, ")"] })] })) })) })] })] }));
458
447
  };
459
- // ─── Main component with auth gate ─────────────────────────────────────────
460
- const AgentCheckpointsExample = () => {
448
+ // ─── Runtime checkpoints: the cloud console, behind its auth gate ─────────
449
+ const RuntimeCheckpointsExample = () => {
461
450
  const { token, clearAuth } = useSimpleAuthStore();
462
451
  const hasSynced = useRef(false);
463
452
  // Sync persisted token (from a previous session) to iamStore on mount
@@ -483,4 +472,33 @@ const AgentCheckpointsExample = () => {
483
472
  }
484
473
  return (_jsx(ThemedProvider, { children: _jsx(QueryClientProvider, { client: queryClient, children: _jsx(AgentCheckpointsInner, { onLogout: handleLogout }) }) }));
485
474
  };
475
+ // ─── Conversation checkpoints: the Loop, the capacity and its sidebar ───────
476
+ const LOCAL_AGENT_NAME = 'checkpoints-example-agent';
477
+ const ConversationCheckpointsExample = () => {
478
+ const agentName = useMemo(() => uniqueAgentId(LOCAL_AGENT_NAME), []);
479
+ const plugins = useMemo(() => [AgentCheckpointsPlugin, CheckpointsSidebarPlugin], []);
480
+ return (_jsx(ThemedProvider, { children: _jsxs(Box, { sx: {
481
+ height: '100%',
482
+ display: 'flex',
483
+ flexDirection: 'column',
484
+ bg: 'canvas.default',
485
+ }, children: [_jsxs(Box, { sx: {
486
+ display: 'flex',
487
+ alignItems: 'center',
488
+ gap: 2,
489
+ px: 3,
490
+ py: 2,
491
+ borderBottom: '1px solid',
492
+ borderColor: 'border.default',
493
+ flexShrink: 0,
494
+ }, children: [_jsx(VersionsIcon, { size: 16 }), _jsx(Heading, { as: "h3", sx: { fontSize: 2, flex: 1 }, children: "Checkpoints Demo" }), _jsx(Label, { variant: "accent", children: "local" }), _jsx(Label, { variant: "accent", children: "conversation checkpoints" })] }), _jsx(Box, { sx: { flex: 1, minHeight: 0 }, children: _jsx(LoopEmbed, { serverUrl: resolveExampleAgentRuntimesUrl('local'), target: "local", showAgentVariants: true, agentId: agentName, editors: false, showHeader: true, plugins: plugins }) })] }) }));
495
+ };
496
+ // ─── The example: one capability, at the level the target offers it ─────────
497
+ const AgentCheckpointsExample = () => {
498
+ const target = useRuntimeTargetStore(state => state.target);
499
+ // Runtime checkpoints exist only where a runtime does — the Datalayer
500
+ // target. Everywhere else the agent's own conversation checkpoints are
501
+ // the capability on show.
502
+ return target === 'datalayer' ? (_jsx(RuntimeCheckpointsExample, {})) : (_jsx(ConversationCheckpointsExample, {}));
503
+ };
486
504
  export default AgentCheckpointsExample;
@@ -1,14 +1,14 @@
1
1
  /**
2
2
  * AgentCodeSandboxExample
3
3
  *
4
- * Demonstrates sandbox variant switching (eval / jupyter) with a live
5
- * sidebar that streams WebSocket messages to and from the
6
- * `/configure/sandbox/ws` endpoint.
4
+ * The code sandbox: the agent runs Python through `execute_code` in a sandbox
5
+ * the server manages, and the page shows that sandbox.
7
6
  *
8
- * - Creates a local agent (spec: example-full) with codemode enabled
9
- * - SegmentedControl toggles between "eval" and "jupyter" variants
10
- * - Sidebar shows live sandbox status, WebSocket event log, and an
11
- * interrupt button
7
+ * - The Loop creates the `example-code-sandbox` agent on the Local target
8
+ * - A control above the chat switches this agent's sandbox variant (eval /
9
+ * jupyter) live, through `/agents/{id}/sandbox/ensure`
10
+ * - A sidebar follows the sandbox over `/configure/sandbox/ws`: its variant,
11
+ * whether it runs and executes, the raw messages, and an interrupt button
12
12
  *
13
13
  * @module examples/AgentCodeSandboxExample
14
14
  */