@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,7 @@ export type ProjectData = {
19
19
  /** Whether the project is public */
20
20
  isPublic: boolean;
21
21
  /** Attached agent (runtime) pod name, if any */
22
- attachedAgentPodName?: string;
22
+ attachedAgentRuntimeName?: string;
23
23
  /** Attached agentspec ID (e.g. 'data-acquisition'), if any */
24
24
  attachedAgentSpecId?: string;
25
25
  };
@@ -64,7 +64,6 @@ export declare function useProjects(): {
64
64
  isEnabled: boolean;
65
65
  refetch: (options?: import("@tanstack/query-core").RefetchOptions) => Promise<import("@tanstack/query-core").QueryObserverResult<any, Error>>;
66
66
  fetchStatus: import("@tanstack/query-core").FetchStatus;
67
- promise: Promise<any>;
68
67
  data: ProjectData[];
69
68
  } | {
70
69
  error: null;
@@ -91,7 +90,6 @@ export declare function useProjects(): {
91
90
  isEnabled: boolean;
92
91
  refetch: (options?: import("@tanstack/query-core").RefetchOptions) => Promise<import("@tanstack/query-core").QueryObserverResult<any, Error>>;
93
92
  fetchStatus: import("@tanstack/query-core").FetchStatus;
94
- promise: Promise<any>;
95
93
  data: ProjectData[];
96
94
  } | {
97
95
  error: Error;
@@ -118,7 +116,6 @@ export declare function useProjects(): {
118
116
  isEnabled: boolean;
119
117
  refetch: (options?: import("@tanstack/query-core").RefetchOptions) => Promise<import("@tanstack/query-core").QueryObserverResult<any, Error>>;
120
118
  fetchStatus: import("@tanstack/query-core").FetchStatus;
121
- promise: Promise<any>;
122
119
  data: ProjectData[];
123
120
  } | {
124
121
  error: null;
@@ -145,7 +142,6 @@ export declare function useProjects(): {
145
142
  isEnabled: boolean;
146
143
  refetch: (options?: import("@tanstack/query-core").RefetchOptions) => Promise<import("@tanstack/query-core").QueryObserverResult<any, Error>>;
147
144
  fetchStatus: import("@tanstack/query-core").FetchStatus;
148
- promise: Promise<any>;
149
145
  data: ProjectData[];
150
146
  } | {
151
147
  error: null;
@@ -172,7 +168,6 @@ export declare function useProjects(): {
172
168
  isEnabled: boolean;
173
169
  refetch: (options?: import("@tanstack/query-core").RefetchOptions) => Promise<import("@tanstack/query-core").QueryObserverResult<any, Error>>;
174
170
  fetchStatus: import("@tanstack/query-core").FetchStatus;
175
- promise: Promise<any>;
176
171
  data: ProjectData[];
177
172
  } | {
178
173
  isError: false;
@@ -199,7 +194,6 @@ export declare function useProjects(): {
199
194
  isEnabled: boolean;
200
195
  refetch: (options?: import("@tanstack/query-core").RefetchOptions) => Promise<import("@tanstack/query-core").QueryObserverResult<any, Error>>;
201
196
  fetchStatus: import("@tanstack/query-core").FetchStatus;
202
- promise: Promise<any>;
203
197
  data: ProjectData[];
204
198
  };
205
199
  /**
@@ -230,7 +224,6 @@ export declare function useProject(uid: string | undefined): {
230
224
  isEnabled: boolean;
231
225
  refetch: (options?: import("@tanstack/query-core").RefetchOptions) => Promise<import("@tanstack/query-core").QueryObserverResult<any, Error>>;
232
226
  fetchStatus: import("@tanstack/query-core").FetchStatus;
233
- promise: Promise<any>;
234
227
  data: ProjectData | undefined;
235
228
  } | {
236
229
  error: null;
@@ -257,7 +250,6 @@ export declare function useProject(uid: string | undefined): {
257
250
  isEnabled: boolean;
258
251
  refetch: (options?: import("@tanstack/query-core").RefetchOptions) => Promise<import("@tanstack/query-core").QueryObserverResult<any, Error>>;
259
252
  fetchStatus: import("@tanstack/query-core").FetchStatus;
260
- promise: Promise<any>;
261
253
  data: ProjectData | undefined;
262
254
  } | {
263
255
  error: Error;
@@ -284,7 +276,6 @@ export declare function useProject(uid: string | undefined): {
284
276
  isEnabled: boolean;
285
277
  refetch: (options?: import("@tanstack/query-core").RefetchOptions) => Promise<import("@tanstack/query-core").QueryObserverResult<any, Error>>;
286
278
  fetchStatus: import("@tanstack/query-core").FetchStatus;
287
- promise: Promise<any>;
288
279
  data: ProjectData | undefined;
289
280
  } | {
290
281
  error: null;
@@ -311,7 +302,6 @@ export declare function useProject(uid: string | undefined): {
311
302
  isEnabled: boolean;
312
303
  refetch: (options?: import("@tanstack/query-core").RefetchOptions) => Promise<import("@tanstack/query-core").QueryObserverResult<any, Error>>;
313
304
  fetchStatus: import("@tanstack/query-core").FetchStatus;
314
- promise: Promise<any>;
315
305
  data: ProjectData | undefined;
316
306
  } | {
317
307
  error: null;
@@ -338,7 +328,6 @@ export declare function useProject(uid: string | undefined): {
338
328
  isEnabled: boolean;
339
329
  refetch: (options?: import("@tanstack/query-core").RefetchOptions) => Promise<import("@tanstack/query-core").QueryObserverResult<any, Error>>;
340
330
  fetchStatus: import("@tanstack/query-core").FetchStatus;
341
- promise: Promise<any>;
342
331
  data: ProjectData | undefined;
343
332
  } | {
344
333
  isError: false;
@@ -365,7 +354,6 @@ export declare function useProject(uid: string | undefined): {
365
354
  isEnabled: boolean;
366
355
  refetch: (options?: import("@tanstack/query-core").RefetchOptions) => Promise<import("@tanstack/query-core").QueryObserverResult<any, Error>>;
367
356
  fetchStatus: import("@tanstack/query-core").FetchStatus;
368
- promise: Promise<any>;
369
357
  data: ProjectData | undefined;
370
358
  };
371
359
  /**
@@ -527,7 +515,7 @@ export declare function useCreateProject(): {
527
515
  * Uses the spacer PUT endpoint via useUpdateSpace.
528
516
  */
529
517
  export declare function useUpdateProject(): {
530
- assignAgent: (project: ProjectData, agentPodName: string, agentSpecId?: string) => Promise<any>;
518
+ assignAgent: (project: ProjectData, agentRuntimeName: string, agentSpecId?: string) => Promise<any>;
531
519
  unassignAgent: (project: ProjectData) => Promise<any>;
532
520
  renameProject: (project: ProjectData, newName: string) => Promise<any>;
533
521
  data: undefined;
@@ -547,7 +535,7 @@ export declare function useUpdateProject(): {
547
535
  submittedAt: number;
548
536
  mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<any, Error, Partial<any> & Record<string, unknown>, unknown>;
549
537
  } | {
550
- assignAgent: (project: ProjectData, agentPodName: string, agentSpecId?: string) => Promise<any>;
538
+ assignAgent: (project: ProjectData, agentRuntimeName: string, agentSpecId?: string) => Promise<any>;
551
539
  unassignAgent: (project: ProjectData) => Promise<any>;
552
540
  renameProject: (project: ProjectData, newName: string) => Promise<any>;
553
541
  data: undefined;
@@ -567,7 +555,7 @@ export declare function useUpdateProject(): {
567
555
  submittedAt: number;
568
556
  mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<any, Error, Partial<any> & Record<string, unknown>, unknown>;
569
557
  } | {
570
- assignAgent: (project: ProjectData, agentPodName: string, agentSpecId?: string) => Promise<any>;
558
+ assignAgent: (project: ProjectData, agentRuntimeName: string, agentSpecId?: string) => Promise<any>;
571
559
  unassignAgent: (project: ProjectData) => Promise<any>;
572
560
  renameProject: (project: ProjectData, newName: string) => Promise<any>;
573
561
  data: undefined;
@@ -587,7 +575,7 @@ export declare function useUpdateProject(): {
587
575
  submittedAt: number;
588
576
  mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<any, Error, Partial<any> & Record<string, unknown>, unknown>;
589
577
  } | {
590
- assignAgent: (project: ProjectData, agentPodName: string, agentSpecId?: string) => Promise<any>;
578
+ assignAgent: (project: ProjectData, agentRuntimeName: string, agentSpecId?: string) => Promise<any>;
591
579
  unassignAgent: (project: ProjectData) => Promise<any>;
592
580
  renameProject: (project: ProjectData, newName: string) => Promise<any>;
593
581
  data: any;
@@ -622,7 +610,7 @@ export type { ProjectDefaultItems } from '../models/ProjectDTO';
622
610
  * This calls the spacer `GET /spaces/:uid/default-items` endpoint which
623
611
  * returns the UID of the first notebook and first document in the space.
624
612
  */
625
- export declare function useProjectDefaultItems(projectUid: string | undefined): import("@tanstack/react-query").UseQueryResult<NoInfer<{
613
+ export declare function useProjectDefaultItems(projectUid: string | undefined): import("@tanstack/react-query").UseQueryResult<{
626
614
  defaultNotebookUid: string | null;
627
615
  defaultDocumentUid: string | null;
628
- }>, Error>;
616
+ }, Error>;
@@ -63,7 +63,7 @@ export function useProjects() {
63
63
  description: space.description ?? space.description_t ?? '',
64
64
  createdAt: space.created_at ? new Date(space.created_at) : new Date(),
65
65
  isPublic: space.public ?? space.public_b ?? false,
66
- attachedAgentPodName: space.attached_agent_pod_name_s || undefined,
66
+ attachedAgentRuntimeName: space.attached_agent_runtime_name_s || undefined,
67
67
  attachedAgentSpecId: space.attached_agent_spec_id_s || undefined,
68
68
  }));
69
69
  }, [allSpaces]);
@@ -89,7 +89,7 @@ export function useProject(uid) {
89
89
  description: s.description ?? s.description_t ?? '',
90
90
  createdAt: s.created_at ? new Date(s.created_at) : new Date(),
91
91
  isPublic: s.public ?? s.public_b ?? false,
92
- attachedAgentPodName: s.attached_agent_pod_name_s || undefined,
92
+ attachedAgentRuntimeName: s.attached_agent_runtime_name_s || undefined,
93
93
  attachedAgentSpecId: s.attached_agent_spec_id_s || undefined,
94
94
  };
95
95
  }, [space]);
@@ -130,12 +130,12 @@ export function useUpdateProject() {
130
130
  const { useUpdateSpace } = useCache();
131
131
  const updateSpaceMutation = useUpdateSpace();
132
132
  /** Assign an agent runtime to the project */
133
- const assignAgent = useCallback(async (project, agentPodName, agentSpecId) => {
133
+ const assignAgent = useCallback(async (project, agentRuntimeName, agentSpecId) => {
134
134
  return updateSpaceMutation.mutateAsync({
135
135
  id: project.id,
136
136
  name: project.name,
137
137
  description: project.description,
138
- attached_agent_pod_name_s: agentPodName,
138
+ attached_agent_runtime_name_s: agentRuntimeName,
139
139
  attached_agent_spec_id_s: agentSpecId || '',
140
140
  });
141
141
  }, [updateSpaceMutation]);
@@ -153,7 +153,7 @@ export function useUpdateProject() {
153
153
  id: project.id,
154
154
  name: project.name,
155
155
  description: project.description,
156
- attached_agent_pod_name_s: '',
156
+ attached_agent_runtime_name_s: '',
157
157
  attached_agent_spec_id_s: '',
158
158
  });
159
159
  }, [updateSpaceMutation]);
@@ -28,4 +28,3 @@ export declare function useSkillActions(agentId?: string): {
28
28
  approveSkill: (skillId: string) => boolean;
29
29
  unapproveSkill: (skillId: string) => boolean;
30
30
  };
31
- export { useAgentRuntimeLoadedSkills } from '../stores';
@@ -96,6 +96,10 @@ export function useSkillActions(agentId) {
96
96
  return { enableSkill, disableSkill, approveSkill, unapproveSkill };
97
97
  }
98
98
  // ---------------------------------------------------------------------------
99
- // Loaded skills (kept for backward compat with AgentSkillsExample sidebar)
99
+ // Loaded skills
100
100
  // ---------------------------------------------------------------------------
101
- export { useAgentRuntimeLoadedSkills } from '../stores';
101
+ //
102
+ // Not re-exported here any more. It is a store selector, not a hook this
103
+ // module defines, and forwarding it made `hooks/index.ts` the third link in a
104
+ // re-export chain that webpack could not follow. Import it from `../stores`,
105
+ // or as `useAgentLoadedSkills` from `../hooks`.
@@ -8,8 +8,8 @@ export type ApprovalRecord = {
8
8
  id: string;
9
9
  agent_id: string;
10
10
  agentId: string;
11
- pod_name: string;
12
- podName: string;
11
+ runtime_name: string;
12
+ runtimeName: string;
13
13
  tool_name: string;
14
14
  toolName: string;
15
15
  tool_call_id?: string;
@@ -52,10 +52,10 @@ interface DecisionMutationResult extends MutationResult {
52
52
  /** Live socket state so callers can tailor offline messaging. */
53
53
  connectionState: WSConnectionState;
54
54
  }
55
- export declare function useToolApprovalsQuery(filters?: ToolApprovalFilters): import("@tanstack/react-query").UseQueryResult<NoInfer<ApprovalsQueryData>, Error>;
56
- export declare function usePendingApprovalCount(): import("@tanstack/react-query").UseQueryResult<NoInfer<{
55
+ export declare function useToolApprovalsQuery(filters?: ToolApprovalFilters): import("@tanstack/react-query").UseQueryResult<ApprovalsQueryData, Error>;
56
+ export declare function usePendingApprovalCount(): import("@tanstack/react-query").UseQueryResult<{
57
57
  count: number;
58
- }>, Error>;
58
+ }, Error>;
59
59
  export declare function useApproveToolRequest(): DecisionMutationResult;
60
60
  export declare function useRejectToolRequest(): DecisionMutationResult;
61
61
  export declare function useMarkToolApprovalRead(): MutationResult;
@@ -69,10 +69,10 @@ export declare function useMarkToolApprovalUnread(): MutationResult;
69
69
  */
70
70
  export declare function useDeleteToolApproval(): MutationResult;
71
71
  export declare function useToolApprovals(filters?: ToolApprovalFilters): {
72
- approvalsQuery: import("@tanstack/react-query").UseQueryResult<NoInfer<ApprovalsQueryData>, Error>;
73
- pendingCountQuery: import("@tanstack/react-query").UseQueryResult<NoInfer<{
72
+ approvalsQuery: import("@tanstack/react-query").UseQueryResult<ApprovalsQueryData, Error>;
73
+ pendingCountQuery: import("@tanstack/react-query").UseQueryResult<{
74
74
  count: number;
75
- }>, Error>;
75
+ }, Error>;
76
76
  approve: DecisionMutationResult;
77
77
  reject: DecisionMutationResult;
78
78
  markRead: MutationResult;
@@ -35,7 +35,7 @@ function normalizeApproval(raw) {
35
35
  if (!id)
36
36
  return null;
37
37
  const agent = str(rec.agent_id ?? rec.agentId);
38
- const pod = str(rec.pod_name ?? rec.podName);
38
+ const pod = str(rec.runtime_name ?? rec.runtimeName);
39
39
  const tool = str(rec.tool_name ?? rec.toolName ?? 'unknown');
40
40
  const toolCall = rec.tool_call_id ?? rec.toolCallId;
41
41
  const args = rec.tool_args ??
@@ -58,8 +58,8 @@ function normalizeApproval(raw) {
58
58
  id,
59
59
  agent_id: agent,
60
60
  agentId: agent,
61
- pod_name: pod,
62
- podName: pod,
61
+ runtime_name: pod,
62
+ runtimeName: pod,
63
63
  tool_name: tool,
64
64
  toolName: tool,
65
65
  tool_call_id: typeof toolCall === 'string' ? toolCall : undefined,
@@ -1,3 +1,10 @@
1
+ /**
2
+ * AgentIdentity component - Shows connected identity providers with token status.
3
+ * Displays expiration details and allows reconnection if token expired.
4
+ *
5
+ * @module components/identity/AgentIdentity
6
+ */
7
+ import React from 'react';
1
8
  import type { OAuthProvider, OAuthProviderConfig, Identity } from './types';
2
9
  /**
3
10
  * Token status information
@@ -47,7 +54,7 @@ export interface IdentityCardProps {
47
54
  /**
48
55
  * Single identity card with status and actions
49
56
  */
50
- export declare function IdentityCard({ identity, providerConfig, showExpirationDetails, allowReconnect, onConnect: _onConnect, onDisconnect, onError, }: IdentityCardProps): import("react/jsx-runtime").JSX.Element;
57
+ export declare function IdentityCard({ identity, providerConfig, showExpirationDetails, allowReconnect, onConnect: _onConnect, onDisconnect, onError, }: IdentityCardProps): React.JSX.Element;
51
58
  /**
52
59
  * Props for AgentIdentity component
53
60
  */
@@ -88,5 +95,5 @@ export interface AgentIdentityProps {
88
95
  * - Allows reconnection if token expired
89
96
  * - Reusable across AgentDetails, AgentConfiguration, etc.
90
97
  */
91
- export declare function AgentIdentity({ providers, title, showHeader, showDescription, description, showExpirationDetails, allowReconnect, onConnect, onDisconnect, onError, }: AgentIdentityProps): import("react/jsx-runtime").JSX.Element | null;
98
+ export declare function AgentIdentity({ providers, title, showHeader, showDescription, description, showExpirationDetails, allowReconnect, onConnect, onDisconnect, onError, }: AgentIdentityProps): React.JSX.Element | null;
92
99
  export default AgentIdentity;
package/lib/index.d.ts CHANGED
@@ -7,4 +7,5 @@ export * from './stores';
7
7
  export * from './identity';
8
8
  export * from './config';
9
9
  export * from './specs';
10
+ export * from './loop';
10
11
  export type { AgentRuntimeData, Agentspec, BenchmarkSpec, ChatCommonProps, TeamSpec, GuardrailSpec, EvalSpec, TriggerSpec, OutputSpec, NotificationChannelSpec, MCPServer, SkillSpec, SkillInfo, SkillStatus, EnvvarSpec, ToolCallStartContext, ToolCallCompleteContext, } from './types';
package/lib/index.js CHANGED
@@ -11,3 +11,7 @@ export * from './stores';
11
11
  export * from './identity';
12
12
  export * from './config';
13
13
  export * from './specs';
14
+ // The LOOP workspace and its plugins, for hosts that embed it: the Datalayer
15
+ // application at /loop, and later the JupyterLab panel. Exported through one
16
+ // surface rather than by deep import (§3.5).
17
+ export * from './loop';
@@ -1,2 +1,3 @@
1
1
  export * from './exec';
2
- export * from './kernelsHandler';
2
+ export * from './serverExecution';
3
+ export * from './useResumeServerExecutions';
@@ -3,4 +3,5 @@
3
3
  * Distributed under the terms of the Modified BSD License.
4
4
  */
5
5
  export * from './exec';
6
- export * from './kernelsHandler';
6
+ export * from './serverExecution';
7
+ export * from './useResumeServerExecutions';
@@ -0,0 +1,78 @@
1
+ /**
2
+ * Cells that keep running when the page goes away, for the editors of Datalayer.
3
+ *
4
+ * A cell run over the kernel websocket belongs to the page that sent it: close
5
+ * or refresh that page mid-run and the kernel goes on, but every output from
6
+ * that moment on is written to nobody. `jupyter-server-nbmodel` answers this
7
+ * on the server — a cell posted to its REST endpoint runs there, its outputs
8
+ * are kept there, and any page may read them back — and ships a JupyterLab
9
+ * executor and restorer for it. Neither reaches the editors here:
10
+ *
11
+ * - the executor is built once, on the settings of THE Jupyter server of the
12
+ * application. The SaaS has none (it is serverless); the kernel of a
13
+ * notebook lives on a sandbox pod the browser talks to directly, and the
14
+ * REST endpoint it must post to is the pod's;
15
+ * - the restorer walks the notebook tracker of JupyterLab, which never sees a
16
+ * React notebook.
17
+ *
18
+ * So this module does both, per notebook, against the server the notebook's
19
+ * kernel actually runs on: {@link serverExecutorFor} finds out whether that
20
+ * server has the extension and hands back an executor bound to it, and
21
+ * {@link resumeServerExecutions} picks up, after a reload, whatever a
22
+ * previous page left running — from the request recorded in the cell's
23
+ * metadata when there is one, and from the server's own list of active
24
+ * requests when there is not (the metadata is written a moment after the
25
+ * request is accepted, and a refresh can land in between).
26
+ *
27
+ * Both editors that need it — the notebook of a space and the ephemeral
28
+ * notebook beside an agent — keep their cells across a refresh (the one in
29
+ * the collaboration room of the spacer, the other in the persisted model), so
30
+ * the cells are there to resume into.
31
+ *
32
+ * @module jupyter/serverExecution
33
+ */
34
+ import type { ISessionContext } from '@jupyterlab/apputils';
35
+ import type { INotebookCellExecutor } from '@jupyterlab/notebook';
36
+ import { ServerConnection } from '@jupyterlab/services';
37
+ /**
38
+ * Whether the server at these settings runs cells on the server.
39
+ *
40
+ * Asked once per server and remembered, including the answer "no": the
41
+ * question is asked on the way to running a cell, and a cell must not wait
42
+ * on a round trip every time. A server that could not be reached is not
43
+ * remembered, so a sandbox still starting is asked again next time.
44
+ */
45
+ export declare function hasServerExecution(settings: ServerConnection.ISettings): Promise<boolean>;
46
+ /**
47
+ * The executor to run a cell of this session through, if its server has one.
48
+ *
49
+ * Bound to the server of the session's KERNEL — the sandbox pod — which is
50
+ * where the REST endpoint lives and where the request is then kept; the
51
+ * executor of the lab extension is bound to the application's own server,
52
+ * which is not that one and, on the SaaS, is not at all.
53
+ *
54
+ * `null` when the session has no kernel yet, or its server does not run
55
+ * cells: the caller then executes over the kernel connection as before.
56
+ */
57
+ export declare function serverExecutorFor(sessionContext: ISessionContext | undefined): Promise<INotebookCellExecutor | null>;
58
+ /** A notebook widget, as much of it as the sweep reads. */
59
+ export interface ISweepableNotebook {
60
+ content: {
61
+ widgets: readonly unknown[];
62
+ };
63
+ sessionContext?: ISessionContext;
64
+ isDisposed?: boolean;
65
+ }
66
+ /**
67
+ * Resume, once, the server executions of the cells of this notebook.
68
+ *
69
+ * @param panel The notebook panel of the editor
70
+ * @param settings The server the executions were posted to — the one of the
71
+ * notebook's kernel
72
+ * @returns how many requests were taken up in this pass
73
+ */
74
+ export declare function resumeServerExecutions(panel: ISweepableNotebook): Promise<number>;
75
+ /**
76
+ * Forget what was asked and resumed — for tests, which build servers anew.
77
+ */
78
+ export declare function resetServerExecutionState(): void;
@@ -0,0 +1,258 @@
1
+ /*
2
+ * Copyright (c) 2025-2026 Datalayer, Inc.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+ import { CodeCell } from '@jupyterlab/cells';
6
+ import { URLExt } from '@jupyterlab/coreutils';
7
+ import { ServerConnection } from '@jupyterlab/services';
8
+ import { getServerExecutionMetadata, isClientOwnedExecution, setServerExecutionMetadata, } from '@datalayer/jupyter-server-nbmodel/lib/executionMetadata';
9
+ import { NotebookCellServerExecutor, resumeCellServerExecution, } from '@datalayer/jupyter-server-nbmodel/lib/executor';
10
+ /**
11
+ * The route `jupyter-server-nbmodel` answers on.
12
+ *
13
+ * It reports the executions the server holds for a kernel, and it answers
14
+ * for any identifier — the nil one included, so no kernel has to exist to
15
+ * learn whether the extension is installed. A server without it says 404.
16
+ */
17
+ const NBMODEL_PROBE = 'api/kernels/00000000-0000-0000-0000-000000000000/execute';
18
+ /** What a server said when asked, by the address it was asked at. */
19
+ const installed = new Map();
20
+ /**
21
+ * Whether the server at these settings runs cells on the server.
22
+ *
23
+ * Asked once per server and remembered, including the answer "no": the
24
+ * question is asked on the way to running a cell, and a cell must not wait
25
+ * on a round trip every time. A server that could not be reached is not
26
+ * remembered, so a sandbox still starting is asked again next time.
27
+ */
28
+ export function hasServerExecution(settings) {
29
+ const key = settings.baseUrl;
30
+ const known = installed.get(key);
31
+ if (known) {
32
+ return known;
33
+ }
34
+ const asked = ServerConnection.makeRequest(URLExt.join(settings.baseUrl, NBMODEL_PROBE), { method: 'GET' }, settings)
35
+ .then(response => response.ok)
36
+ .catch(reason => {
37
+ installed.delete(key);
38
+ console.warn(`[agent-runtimes] Could not ask ${settings.baseUrl} whether it runs cells on the server.`, reason);
39
+ return false;
40
+ });
41
+ installed.set(key, asked);
42
+ return asked;
43
+ }
44
+ /** The executors built so far, one per server and credential. */
45
+ const executors = new Map();
46
+ /**
47
+ * The executor to run a cell of this session through, if its server has one.
48
+ *
49
+ * Bound to the server of the session's KERNEL — the sandbox pod — which is
50
+ * where the REST endpoint lives and where the request is then kept; the
51
+ * executor of the lab extension is bound to the application's own server,
52
+ * which is not that one and, on the SaaS, is not at all.
53
+ *
54
+ * `null` when the session has no kernel yet, or its server does not run
55
+ * cells: the caller then executes over the kernel connection as before.
56
+ */
57
+ export async function serverExecutorFor(sessionContext) {
58
+ const settings = sessionContext?.session?.kernel?.serverSettings;
59
+ if (!settings?.baseUrl) {
60
+ return null;
61
+ }
62
+ if (!(await hasServerExecution(settings))) {
63
+ return null;
64
+ }
65
+ // The token is part of the key: a sandbox restarted with a new one must
66
+ // not be posted to with the old.
67
+ const key = `${settings.baseUrl}#${settings.token}`;
68
+ let executor = executors.get(key);
69
+ if (!executor) {
70
+ executor = new NotebookCellServerExecutor({ serverSettings: settings });
71
+ executors.set(key, executor);
72
+ }
73
+ return executor;
74
+ }
75
+ /** The requests already picked up, so two sweeps never poll one twice. */
76
+ const resumed = new Set();
77
+ /**
78
+ * The absolute address of a recorded request, on the server that holds it.
79
+ *
80
+ * The server names the request by a path relative to its own base, and that
81
+ * is what the cell remembers; joined here to the base of the server being
82
+ * asked. An address recorded in full is kept when it already names that
83
+ * server, and reduced to its path otherwise — a pod reached through an
84
+ * ingress, or the same pod under another hostname, still holds the request
85
+ * at the same path.
86
+ */
87
+ function requestUrlOn(recorded, settings) {
88
+ if (recorded.startsWith(settings.baseUrl)) {
89
+ return recorded;
90
+ }
91
+ const path = recorded.startsWith('http')
92
+ ? new URL(recorded).pathname
93
+ : recorded;
94
+ return URLExt.join(settings.baseUrl, path);
95
+ }
96
+ /**
97
+ * Resume, into this cell, a request a previous page left running.
98
+ *
99
+ * @returns whether a request was taken up
100
+ */
101
+ function resumeCell(cell, settings) {
102
+ // A request this page started is polled by the executor that started it;
103
+ // polling it here as well would race it for the same result.
104
+ if (isClientOwnedExecution(cell)) {
105
+ return false;
106
+ }
107
+ const execution = getServerExecutionMetadata(cell);
108
+ if (!execution || resumed.has(execution.requestId)) {
109
+ return false;
110
+ }
111
+ /*
112
+ * A cell that is still here when the answers arrive.
113
+ *
114
+ * The notebook rebuilds its cells when its sandbox binds — the services
115
+ * change under it and the model is made again — so a widget picked up a
116
+ * moment earlier is disposed by the time the first response lands, and
117
+ * writing to it throws on a model that is null.
118
+ */
119
+ if (cell.isDisposed || !cell.model) {
120
+ return false;
121
+ }
122
+ resumed.add(execution.requestId);
123
+ const requestUrl = requestUrlOn(execution.requestUrl, settings);
124
+ console.info('[agent-runtimes] Resuming a server execution', {
125
+ cellId: cell.model.sharedModel.getId(),
126
+ requestId: execution.requestId,
127
+ requestUrl,
128
+ });
129
+ void resumeCellServerExecution(cell, requestUrl, settings).catch(reason => {
130
+ if (cell.isDisposed) {
131
+ // The cell went away under the poll — the notebook was rebuilt. Let a
132
+ // later sweep pick the request up with the new widget.
133
+ resumed.delete(execution.requestId);
134
+ return;
135
+ }
136
+ /*
137
+ * Kept in `resumed`, not released.
138
+ *
139
+ * Releasing it on failure meant the next sweep tried again a second
140
+ * later, and the one after that: a request the server does not have
141
+ * produced a failing call every second for as long as the sweep ran. A
142
+ * request is attempted once.
143
+ */
144
+ console.warn(`[agent-runtimes] Failed to resume the execution ${execution.requestId}.`, reason);
145
+ });
146
+ return true;
147
+ }
148
+ /** The servers already asked for their active executions, by kernel. */
149
+ const discovered = new Set();
150
+ /**
151
+ * Ask the server which of this kernel's executions are still running, and
152
+ * give the cells that started them their request back.
153
+ *
154
+ * The metadata a cell carries is written once the server has accepted the
155
+ * request — a page refreshed in that instant, or whose persisted model
156
+ * missed the write, has a running cell with nothing to resume from. The
157
+ * server knows: it lists its active requests with the cell each was for.
158
+ */
159
+ async function discoverActiveExecutions(cells, kernel, settings) {
160
+ const key = `${settings.baseUrl}#${kernel.id}`;
161
+ if (discovered.has(key)) {
162
+ return 0;
163
+ }
164
+ const response = await ServerConnection.makeRequest(URLExt.join(settings.baseUrl, `api/kernels/${kernel.id}/execute`), { method: 'GET' }, settings);
165
+ if (response.status === 404) {
166
+ // This server does not offer server-side execution at all — a JupyterLite
167
+ // kernel in the page, or a plain Jupyter server without the agent-runtimes
168
+ // extension. That is a permanent answer, not a hiccup, so it is recorded
169
+ // like a successful discovery: asking again on every sweep would fill the
170
+ // console with a failure that is really just a feature this server lacks.
171
+ discovered.add(key);
172
+ return 0;
173
+ }
174
+ if (!response.ok) {
175
+ // Not marked discovered: a server briefly unreachable, or one still
176
+ // starting, is asked again by the next sweep rather than never.
177
+ //
178
+ // `ResponseError.create` reads the body to build its message, and throws a
179
+ // `SyntaxError` of its own when there is no body — which replaces the
180
+ // status the caller needed with a parse error from the error path. The
181
+ // status is the useful part, so it survives either way.
182
+ throw await ServerConnection.ResponseError.create(response).catch(() => new Error(`Invalid response: ${response.status} ${response.statusText}`.trim()));
183
+ }
184
+ discovered.add(key);
185
+ const payload = (await response.json());
186
+ let restored = 0;
187
+ for (const execution of payload.requests ?? []) {
188
+ if (!execution.cell_id || resumed.has(execution.request_id)) {
189
+ continue;
190
+ }
191
+ const cell = cells.find(candidate => candidate.model?.sharedModel.getId() === execution.cell_id);
192
+ if (!cell || cell.isDisposed || getServerExecutionMetadata(cell)) {
193
+ continue;
194
+ }
195
+ setServerExecutionMetadata(cell, {
196
+ kernelId: execution.kernel_id,
197
+ requestId: execution.request_id,
198
+ requestUrl: execution.request_url,
199
+ });
200
+ restored += 1;
201
+ }
202
+ return restored;
203
+ }
204
+ /**
205
+ * Resume, once, the server executions of the cells of this notebook.
206
+ *
207
+ * @param panel The notebook panel of the editor
208
+ * @param settings The server the executions were posted to — the one of the
209
+ * notebook's kernel
210
+ * @returns how many requests were taken up in this pass
211
+ */
212
+ export async function resumeServerExecutions(panel) {
213
+ if (panel.isDisposed) {
214
+ return 0;
215
+ }
216
+ /*
217
+ * The kernel is the gate, and its server is the address.
218
+ *
219
+ * A request lives on the server of the kernel that runs it — the sandbox
220
+ * pod — and is read back from there. An editor that has not bound its
221
+ * sandbox yet stands on a placeholder service manager pointing at the
222
+ * application's own origin; a sweep that polled THAT would ask the wrong
223
+ * server, get a 404, and — because a request is attempted once — never
224
+ * ask the right one. So nothing is swept until the kernel is here, and
225
+ * everything is asked of the kernel's own server.
226
+ */
227
+ const kernel = panel.sessionContext?.session?.kernel;
228
+ const settings = kernel?.serverSettings;
229
+ if (!kernel || !settings) {
230
+ return 0;
231
+ }
232
+ const cells = panel.content.widgets.filter((widget) => widget instanceof CodeCell);
233
+ if (cells.length === 0) {
234
+ return 0;
235
+ }
236
+ try {
237
+ await discoverActiveExecutions(cells, kernel, settings);
238
+ }
239
+ catch (reason) {
240
+ console.warn('[agent-runtimes] Failed to discover the active executions of the kernel.', reason);
241
+ }
242
+ let taken = 0;
243
+ for (const cell of cells) {
244
+ if (resumeCell(cell, settings)) {
245
+ taken += 1;
246
+ }
247
+ }
248
+ return taken;
249
+ }
250
+ /**
251
+ * Forget what was asked and resumed — for tests, which build servers anew.
252
+ */
253
+ export function resetServerExecutionState() {
254
+ installed.clear();
255
+ executors.clear();
256
+ resumed.clear();
257
+ discovered.clear();
258
+ }