@datalayer/agent-runtimes 1.0.29 → 1.3.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (768) hide show
  1. package/lib/AgentDocument.js +5 -22
  2. package/lib/AgentNode.d.ts +1 -1
  3. package/lib/AgentNode.js +193 -23
  4. package/lib/AgentNotebook.js +1 -1
  5. package/lib/App.d.ts +1 -1
  6. package/lib/AppExamples2.d.ts +1 -1
  7. package/lib/agent-node/AgentNodeGallery.d.ts +14 -1
  8. package/lib/agent-node/AgentNodeGallery.js +19 -15
  9. package/lib/agent-node/themeStore.js +7 -6
  10. package/lib/agents/AgentDetails.d.ts +8 -2
  11. package/lib/agents/AgentDetails.js +41 -11
  12. package/lib/agents/AgentRuntimeChat.d.ts +3 -3
  13. package/lib/agents/AgentRuntimeChat.js +15 -15
  14. package/lib/api/agents.d.ts +10 -10
  15. package/lib/api/agents.js +15 -15
  16. package/lib/api/checkpoints.d.ts +40 -0
  17. package/lib/api/checkpoints.js +75 -0
  18. package/lib/api/index.d.ts +1 -0
  19. package/lib/api/index.js +2 -1
  20. package/lib/api/notifications.d.ts +21 -6
  21. package/lib/api/notifications.js +32 -14
  22. package/lib/api/runtimes/environments.d.ts +385 -4
  23. package/lib/api/runtimes/environments.js +610 -9
  24. package/lib/api/runtimes/runtimes.d.ts +19 -19
  25. package/lib/api/runtimes/runtimes.js +47 -46
  26. package/lib/api/spacer/notebooks.js +1 -1
  27. package/lib/chat/Chat.d.ts +16 -4
  28. package/lib/chat/Chat.js +18 -5
  29. package/lib/chat/ChatFloating.d.ts +13 -2
  30. package/lib/chat/ChatFloating.js +192 -117
  31. package/lib/chat/ChatInline.d.ts +15 -0
  32. package/lib/chat/ChatInline.js +0 -18
  33. package/lib/chat/ChatPopupStandalone.d.ts +1 -1
  34. package/lib/chat/ChatSidebar.d.ts +14 -2
  35. package/lib/chat/ChatSidebar.js +1 -1
  36. package/lib/chat/ChatStandalone.d.ts +1 -1
  37. package/lib/chat/EphemeralSurfaceControl.d.ts +30 -0
  38. package/lib/chat/EphemeralSurfaceControl.js +55 -0
  39. package/lib/chat/base/ChatAvailability.d.ts +34 -0
  40. package/lib/chat/base/ChatAvailability.js +18 -0
  41. package/lib/chat/base/ChatBase.d.ts +2 -1
  42. package/lib/chat/base/ChatBase.js +657 -28
  43. package/lib/chat/display/EmptyState.d.ts +15 -1
  44. package/lib/chat/display/EmptyState.js +78 -12
  45. package/lib/chat/display/FloatingBrandButton.d.ts +1 -1
  46. package/lib/chat/display/PoweredByTag.d.ts +1 -1
  47. package/lib/chat/display/groupSuggestions.d.ts +21 -0
  48. package/lib/chat/display/groupSuggestions.js +18 -0
  49. package/lib/chat/document/EphemeralDocument.d.ts +70 -6
  50. package/lib/chat/document/EphemeralDocument.js +154 -52
  51. package/lib/chat/header/ChatHeader.d.ts +1 -1
  52. package/lib/chat/header/ChatHeaderBase.d.ts +10 -1
  53. package/lib/chat/header/ChatHeaderBase.js +67 -96
  54. package/lib/chat/index.d.ts +4 -1
  55. package/lib/chat/index.js +8 -1
  56. package/lib/chat/indicators/McpStatusIndicator.d.ts +1 -1
  57. package/lib/chat/indicators/SandboxStatusIndicator.d.ts +1 -1
  58. package/lib/chat/indicators/SandboxStatusIndicator.js +1 -1
  59. package/lib/chat/indicators/SkillsStatusIndicator.d.ts +1 -1
  60. package/lib/chat/messages/ChatMessageList.d.ts +22 -1
  61. package/lib/chat/messages/ChatMessageList.js +370 -166
  62. package/lib/chat/messages/ChatMessages.d.ts +1 -1
  63. package/lib/chat/messages/NotebookToolSurfaces.d.ts +68 -0
  64. package/lib/chat/messages/NotebookToolSurfaces.js +302 -0
  65. package/lib/chat/messages/TurnFooter.d.ts +42 -0
  66. package/lib/chat/messages/TurnFooter.js +75 -0
  67. package/lib/chat/messages/assistantMarkdown.d.ts +22 -0
  68. package/lib/chat/messages/assistantMarkdown.js +56 -0
  69. package/lib/chat/notebook/EphemeralNotebook.d.ts +67 -6
  70. package/lib/chat/notebook/EphemeralNotebook.js +194 -61
  71. package/lib/chat/parts/DynamicToolPart.d.ts +1 -1
  72. package/lib/chat/parts/MessagePart.d.ts +1 -1
  73. package/lib/chat/parts/ReasoningPart.d.ts +8 -1
  74. package/lib/chat/parts/TextPart.d.ts +1 -1
  75. package/lib/chat/parts/ToolPart.d.ts +8 -1
  76. package/lib/chat/prompt/FloatingCard.d.ts +26 -0
  77. package/lib/chat/prompt/FloatingCard.js +80 -0
  78. package/lib/chat/prompt/InputPrompt.d.ts +206 -53
  79. package/lib/chat/prompt/InputPrompt.js +161 -80
  80. package/lib/chat/prompt/InputPromptBase.d.ts +112 -0
  81. package/lib/chat/prompt/InputPromptBase.js +225 -0
  82. package/lib/chat/prompt/InputPromptLexical.d.ts +18 -1
  83. package/lib/chat/prompt/InputPromptLexical.js +227 -30
  84. package/lib/chat/prompt/InputPromptText.d.ts +10 -2
  85. package/lib/chat/prompt/InputPromptText.js +35 -3
  86. package/lib/chat/prompt/footer/BelowPromptFooter.d.ts +25 -0
  87. package/lib/chat/prompt/footer/BelowPromptFooter.js +12 -0
  88. package/lib/chat/prompt/footer/InPromptFooter.d.ts +35 -0
  89. package/lib/chat/prompt/footer/InPromptFooter.js +16 -0
  90. package/lib/chat/prompt/footer/index.d.ts +7 -0
  91. package/lib/chat/prompt/footer/index.js +11 -0
  92. package/lib/chat/prompt/header/BelowPromptHeader.d.ts +23 -0
  93. package/lib/chat/prompt/header/BelowPromptHeader.js +12 -0
  94. package/lib/chat/prompt/header/InPromptHeader.d.ts +31 -0
  95. package/lib/chat/prompt/header/InPromptHeader.js +14 -0
  96. package/lib/chat/prompt/header/index.d.ts +7 -0
  97. package/lib/chat/prompt/header/index.js +11 -0
  98. package/lib/chat/prompt/index.d.ts +8 -4
  99. package/lib/chat/prompt/index.js +15 -3
  100. package/lib/chat/prompt/menus/AgentsMenu.d.ts +14 -0
  101. package/lib/chat/prompt/menus/AgentsMenu.js +42 -0
  102. package/lib/chat/prompt/menus/InlineAgentsMenu.d.ts +22 -0
  103. package/lib/chat/prompt/menus/InlineAgentsMenu.js +24 -0
  104. package/lib/chat/prompt/menus/ModelSelector.d.ts +7 -0
  105. package/lib/chat/prompt/menus/ModelSelector.js +27 -0
  106. package/lib/chat/prompt/menus/SkillsMenu.d.ts +10 -0
  107. package/lib/chat/prompt/menus/SkillsMenu.js +75 -0
  108. package/lib/chat/prompt/menus/SuggestionsMenu.d.ts +13 -0
  109. package/lib/chat/prompt/menus/SuggestionsMenu.js +31 -0
  110. package/lib/chat/prompt/menus/ToolsMenu.d.ts +13 -0
  111. package/lib/chat/prompt/menus/ToolsMenu.js +103 -0
  112. package/lib/chat/prompt/menus/index.d.ts +15 -0
  113. package/lib/chat/prompt/menus/index.js +19 -0
  114. package/lib/chat/prompt/plugins/AgentMentionPlugin.d.ts +54 -0
  115. package/lib/chat/prompt/plugins/AgentMentionPlugin.js +370 -0
  116. package/lib/chat/prompt/plugins/CommandPlugin.d.ts +52 -0
  117. package/lib/chat/prompt/plugins/CommandPlugin.js +359 -0
  118. package/lib/chat/prompt/plugins/MentionChip.d.ts +15 -0
  119. package/lib/chat/prompt/plugins/MentionChip.js +24 -0
  120. package/lib/chat/prompt/plugins/MentionNode.d.ts +66 -0
  121. package/lib/chat/prompt/plugins/MentionNode.js +77 -0
  122. package/lib/chat/prompt/promptHistory.d.ts +52 -0
  123. package/lib/chat/prompt/promptHistory.js +123 -0
  124. package/lib/chat/prompt/stack.d.ts +81 -0
  125. package/lib/chat/prompt/stack.js +41 -0
  126. package/lib/chat/prompt/useTypingPlaceholder.d.ts +52 -0
  127. package/lib/chat/prompt/useTypingPlaceholder.js +180 -0
  128. package/lib/chat/tools/A2AAgentDialog.d.ts +60 -0
  129. package/lib/chat/tools/A2AAgentDialog.js +265 -0
  130. package/lib/chat/tools/ToolApprovalBanner.d.ts +1 -1
  131. package/lib/chat/tools/ToolApprovalDialog.d.ts +1 -1
  132. package/lib/chat/tools/ToolCallDisplay.d.ts +8 -1
  133. package/lib/chat/tools/index.d.ts +1 -0
  134. package/lib/chat/tools/index.js +1 -0
  135. package/lib/chat/usage/ContextPie.d.ts +17 -0
  136. package/lib/chat/usage/{TokenUsageBar.js → ContextPie.js} +20 -14
  137. package/lib/chat/useViewportDrag.d.ts +11 -0
  138. package/lib/chat/useViewportDrag.js +61 -0
  139. package/lib/chat/viewModes.d.ts +51 -0
  140. package/lib/chat/viewModes.js +57 -0
  141. package/lib/client/AgentRuntimesClient.d.ts +10 -9
  142. package/lib/client/AgentRuntimesClient.js +1 -1
  143. package/lib/client/AgentRuntimesClientContext.d.ts +1 -0
  144. package/lib/client/AgentsMixin.d.ts +12 -12
  145. package/lib/client/AgentsMixin.js +31 -31
  146. package/lib/client/IAgentRuntimesClient.d.ts +10 -10
  147. package/lib/client/SdkAgentRuntimesClient.d.ts +10 -10
  148. package/lib/client/SdkAgentRuntimesClient.js +10 -10
  149. package/lib/client/mixins/RuntimesMixin.d.ts +37 -10
  150. package/lib/client/mixins/RuntimesMixin.js +54 -21
  151. package/lib/components/a2ui/A2uiSurfaceComposed.d.ts +1 -1
  152. package/lib/components/agents/AgentSummary.d.ts +13 -0
  153. package/lib/components/agents/AgentSummary.js +21 -4
  154. package/lib/components/cards/NotificationEventCard.d.ts +1 -1
  155. package/lib/components/cards/OutputCard.d.ts +1 -1
  156. package/lib/components/cards/ToolApprovalCard.d.ts +2 -2
  157. package/lib/components/cards/ToolApprovalCard.js +1 -0
  158. package/lib/components/code-sandboxes/CodeSandboxCellVariables.d.ts +1 -0
  159. package/lib/components/code-sandboxes/CodeSandboxCellVariables.js +0 -4
  160. package/lib/components/code-sandboxes/CodeSandboxCellVariablesDialog.d.ts +1 -0
  161. package/lib/components/code-sandboxes/CodeSandboxCellVariablesDialog.js +0 -4
  162. package/lib/components/code-sandboxes/CodeSandboxEnvironmentSelect.d.ts +35 -0
  163. package/lib/components/code-sandboxes/CodeSandboxEnvironmentSelect.js +27 -29
  164. package/lib/components/code-sandboxes/CodeSandboxLauncher.d.ts +1 -0
  165. package/lib/components/code-sandboxes/CodeSandboxLauncher.js +42 -19
  166. package/lib/components/code-sandboxes/CodeSandboxNames.js +7 -6
  167. package/lib/components/code-sandboxes/CodeSandboxPicker.js +89 -42
  168. package/lib/components/code-sandboxes/CodeSandboxPickerCell.d.ts +1 -0
  169. package/lib/components/code-sandboxes/CodeSandboxPickerCell.js +0 -4
  170. package/lib/components/code-sandboxes/CodeSandboxReservationControl.d.ts +1 -0
  171. package/lib/components/code-sandboxes/CodeSandboxReservationControl.js +5 -7
  172. package/lib/components/code-sandboxes/CodeSandboxTransfer.d.ts +5 -0
  173. package/lib/components/code-sandboxes/CodeSandboxUtils.d.ts +13 -1
  174. package/lib/components/code-sandboxes/CodeSandboxUtils.js +10 -4
  175. package/lib/components/code-sandboxes/NewCodeSandboxControls.d.ts +21 -15
  176. package/lib/components/code-sandboxes/NewCodeSandboxControls.js +28 -51
  177. package/lib/components/code-sandboxes/codeSandboxAllowance.d.ts +33 -0
  178. package/lib/components/code-sandboxes/codeSandboxAllowance.js +37 -0
  179. package/lib/components/code-sandboxes/codeSandboxEnvironments.d.ts +86 -0
  180. package/lib/components/code-sandboxes/codeSandboxEnvironments.js +147 -0
  181. package/lib/components/code-sandboxes/codeSandboxProviders.js +14 -5
  182. package/lib/components/code-sandboxes/index.d.ts +1 -0
  183. package/lib/components/code-sandboxes/index.js +1 -0
  184. package/lib/components/context/SpaceSelect.d.ts +1 -1
  185. package/lib/components/flashes/FlashDisclaimer.d.ts +1 -1
  186. package/lib/components/icons/ArtifactIcon.d.ts +1 -0
  187. package/lib/components/nbgrader/NbGradesDetails.d.ts +1 -1
  188. package/lib/components/progress/CreditsIndicator.d.ts +1 -0
  189. package/lib/components/progress/CreditsIndicator.js +0 -4
  190. package/lib/components/scheduler/ScheduleMenu.d.ts +1 -1
  191. package/lib/components/snapshots/SandboxSnapshotMenu.d.ts +3 -2
  192. package/lib/components/snapshots/SandboxSnapshotMenu.js +11 -15
  193. package/lib/components/snippets/SnippetDialog.d.ts +1 -0
  194. package/lib/components/snippets/SnippetDialog.js +0 -4
  195. package/lib/components/specs/SpecPayloadPreview.d.ts +34 -0
  196. package/lib/components/specs/SpecPayloadPreview.js +102 -0
  197. package/lib/components/tokens/SpaceVariantToken.d.ts +1 -1
  198. package/lib/context/ContextDistribution.d.ts +1 -1
  199. package/lib/context/ContextInspector.d.ts +2 -1
  200. package/lib/context/ContextPanel.d.ts +1 -1
  201. package/lib/context/ContextUsage.d.ts +1 -1
  202. package/lib/context/CostTracker.d.ts +1 -1
  203. package/lib/context/CostUsageChart.d.ts +1 -1
  204. package/lib/context/CostUsageChart.js +4 -4
  205. package/lib/context/MessageHistory.d.ts +3 -2
  206. package/lib/context/TokenUsageChart.d.ts +1 -1
  207. package/lib/context/TokenUsageChart.js +4 -4
  208. package/lib/examples/A2UiAgentExample.js +15 -6
  209. package/lib/examples/A2UiComponentsGalleryExample.d.ts +10 -0
  210. package/lib/examples/A2UiComponentsGalleryExample.js +24 -855
  211. package/lib/examples/A2UiContactCardExample.d.ts +10 -0
  212. package/lib/examples/A2UiContactCardExample.js +23 -170
  213. package/lib/examples/A2UiJupyterOutputExample.d.ts +3 -0
  214. package/lib/examples/A2UiJupyterOutputExample.js +792 -0
  215. package/lib/examples/A2UiRestaurantExample.d.ts +10 -0
  216. package/lib/examples/A2UiRestaurantExample.js +24 -179
  217. package/lib/examples/A2UiViewerExample.d.ts +10 -0
  218. package/lib/examples/A2UiViewerExample.js +24 -378
  219. package/lib/examples/AgUiAgenticExample.js +2 -4
  220. package/lib/examples/AgUiBackendToolRenderingExample.js +3 -5
  221. package/lib/examples/AgUiHaikuGenUiExample.js +2 -4
  222. package/lib/examples/AgUiHumanInTheLoopExample.js +2 -4
  223. package/lib/examples/AgUiSharedStateExample.js +2 -4
  224. package/lib/examples/AgUiToolsBasedGenUiExample.js +2 -4
  225. package/lib/examples/AgentA2AExample.d.ts +17 -0
  226. package/lib/examples/AgentA2AExample.js +56 -0
  227. package/lib/examples/AgentCheckpointsExample.d.ts +9 -10
  228. package/lib/examples/AgentCheckpointsExample.js +72 -54
  229. package/lib/examples/AgentCodeSandboxExample.d.ts +7 -7
  230. package/lib/examples/AgentCodeSandboxExample.js +93 -303
  231. package/lib/examples/AgentCodeSandboxesExample.d.ts +10 -0
  232. package/lib/examples/AgentCodeSandboxesExample.js +56 -162
  233. package/lib/examples/AgentCodemodeExample.d.ts +7 -2
  234. package/lib/examples/AgentCodemodeExample.js +60 -125
  235. package/lib/examples/AgentCompactionExample.js +19 -135
  236. package/lib/examples/AgentEvalsExample.js +34 -66
  237. package/lib/examples/AgentGuardrailsExample.js +64 -112
  238. package/lib/examples/AgentHooksExample.d.ts +11 -0
  239. package/lib/examples/AgentHooksExample.js +30 -67
  240. package/lib/examples/AgentInferenceProviderExample.js +8 -32
  241. package/lib/examples/AgentLoopExample.d.ts +4 -2
  242. package/lib/examples/AgentLoopExample.js +45 -93
  243. package/lib/examples/AgentMCPExample.js +30 -79
  244. package/lib/examples/AgentMemoryExample.js +21 -64
  245. package/lib/examples/AgentMonitoringExample.js +33 -94
  246. package/lib/examples/AgentNotificationsExample.js +56 -95
  247. package/lib/examples/AgentOtelExample.js +35 -88
  248. package/lib/examples/AgentOutputsExample.d.ts +2 -1
  249. package/lib/examples/AgentOutputsExample.js +16 -137
  250. package/lib/examples/AgentParametersExample.js +7 -17
  251. package/lib/examples/AgentSkillsExample.js +40 -154
  252. package/lib/examples/AgentSubagentsExample.d.ts +7 -6
  253. package/lib/examples/AgentSubagentsExample.js +80 -191
  254. package/lib/examples/AgentToolApprovalsExample.js +35 -91
  255. package/lib/examples/AgentTriggersExample.js +43 -59
  256. package/lib/examples/AgentspecsExample.js +4 -4
  257. package/lib/examples/CellExample.d.ts +1 -1
  258. package/lib/examples/ChatExample.d.ts +12 -5
  259. package/lib/examples/ChatExample.js +38 -13
  260. package/lib/examples/CopilotKitLexicalExample.d.ts +1 -0
  261. package/lib/examples/CopilotKitLexicalExample.js +4 -41
  262. package/lib/examples/CopilotKitNotebookExample.d.ts +10 -0
  263. package/lib/examples/CopilotKitNotebookExample.js +2 -14
  264. package/lib/examples/DecksAgent.d.ts +21 -0
  265. package/lib/examples/DecksAgent.js +23 -0
  266. package/lib/examples/DocumentPageAgent.d.ts +19 -0
  267. package/lib/examples/DocumentPageAgent.js +15 -0
  268. package/lib/examples/Lexical2Example.d.ts +2 -2
  269. package/lib/examples/Lexical2Example.js +17 -38
  270. package/lib/examples/LexicalAgentExample.d.ts +2 -1
  271. package/lib/examples/LexicalAgentExample.js +29 -102
  272. package/lib/examples/LexicalAgentSidebarExample.d.ts +16 -5
  273. package/lib/examples/LexicalAgentSidebarExample.js +99 -131
  274. package/lib/examples/LoopShellExample.d.ts +38 -0
  275. package/lib/examples/LoopShellExample.js +68 -0
  276. package/lib/examples/LoopWorkspaceEmbed.d.ts +50 -0
  277. package/lib/examples/LoopWorkspaceEmbed.js +73 -0
  278. package/lib/examples/LoopWorkspaceExample.d.ts +150 -0
  279. package/lib/examples/LoopWorkspaceExample.js +151 -0
  280. package/lib/examples/NotebookAgentExample.d.ts +13 -0
  281. package/lib/examples/NotebookAgentExample.js +36 -86
  282. package/lib/examples/NotebookAgentSidebarExample.d.ts +10 -4
  283. package/lib/examples/NotebookAgentSidebarExample.js +39 -83
  284. package/lib/examples/NotebookCollaborationExample.d.ts +1 -1
  285. package/lib/examples/NotebookCollaborationExample.js +108 -20
  286. package/lib/examples/NotebookExample.d.ts +1 -1
  287. package/lib/examples/NotebookExample.js +20 -10
  288. package/lib/examples/NotebookPageAgent.d.ts +23 -0
  289. package/lib/examples/NotebookPageAgent.js +17 -0
  290. package/lib/examples/components/ExampleWrapper.d.ts +5 -0
  291. package/lib/examples/components/ExampleWrapper.js +36 -28
  292. package/lib/examples/components/LexicalEditor.d.ts +1 -1
  293. package/lib/examples/components/LexicalEditor.js +4 -24
  294. package/lib/examples/components/haiku/HaikuDisplay.d.ts +1 -1
  295. package/lib/examples/components/haiku/InlineHaikuCard.d.ts +1 -1
  296. package/lib/examples/components/weather/InlineWeatherCard.d.ts +1 -1
  297. package/lib/examples/example-selector.js +26 -6
  298. package/lib/examples/hooks/useCreateAgentOnce.d.ts +41 -0
  299. package/lib/examples/hooks/useCreateAgentOnce.js +51 -0
  300. package/lib/examples/hooks/useExampleAgentProtocol.d.ts +35 -0
  301. package/lib/examples/hooks/useExampleAgentProtocol.js +63 -0
  302. package/lib/examples/hooks/useExampleAgentRuntime.d.ts +16 -16
  303. package/lib/examples/hooks/useExampleAgentRuntime.js +26 -25
  304. package/lib/examples/hooks/useExampleAgentRuntimes.js +45 -61
  305. package/lib/examples/hooks/useExampleJupyterAgent.d.ts +91 -0
  306. package/lib/examples/hooks/useExampleJupyterAgent.js +151 -0
  307. package/lib/examples/index.d.ts +4 -0
  308. package/lib/examples/index.js +6 -0
  309. package/lib/examples/lexical/editorConfig.d.ts +2 -75
  310. package/lib/examples/lexical/editorConfig.js +26 -48
  311. package/lib/examples/lexical/lexical-theme.css +65 -47
  312. package/lib/examples/main.js +450 -322
  313. package/lib/examples/scenes/A2UiComponentsGalleryScene.d.ts +3 -0
  314. package/lib/examples/scenes/A2UiComponentsGalleryScene.js +872 -0
  315. package/lib/examples/scenes/A2UiContactCardScene.d.ts +3 -0
  316. package/lib/examples/scenes/A2UiContactCardScene.js +188 -0
  317. package/lib/examples/scenes/A2UiRestaurantScene.d.ts +3 -0
  318. package/lib/examples/scenes/A2UiRestaurantScene.js +196 -0
  319. package/lib/examples/scenes/A2UiViewerScene.d.ts +3 -0
  320. package/lib/examples/scenes/A2UiViewerScene.js +395 -0
  321. package/lib/examples/utils/agentSummaryStore.d.ts +7 -1
  322. package/lib/examples/utils/agents/earthquake-detector.ipynb.json +1 -1
  323. package/lib/examples/utils/agents/earthquake-detector.lexical.json +1 -1
  324. package/lib/examples/utils/agents/sales-forecaster.ipynb.json +1 -1
  325. package/lib/examples/utils/agents/sales-forecaster.lexical.json +1 -1
  326. package/lib/examples/utils/agents/social-post-generator.ipynb.json +1 -1
  327. package/lib/examples/utils/agents/social-post-generator.lexical.json +1 -1
  328. package/lib/examples/utils/exampleSurfaces.d.ts +31 -0
  329. package/lib/examples/utils/exampleSurfaces.js +38 -0
  330. package/lib/examples/utils/jupyterSandboxUrl.d.ts +27 -0
  331. package/lib/examples/utils/jupyterSandboxUrl.js +55 -0
  332. package/lib/examples/utils/localUrl.d.ts +2 -0
  333. package/lib/examples/utils/localUrl.js +49 -0
  334. package/lib/examples/utils/notebookToolbarItems.d.ts +46 -0
  335. package/lib/examples/utils/notebookToolbarItems.js +129 -0
  336. package/lib/examples/utils/runtimeTargetStore.d.ts +40 -1
  337. package/lib/examples/utils/runtimeTargetStore.js +82 -1
  338. package/lib/examples/utils/themedProvider.d.ts +7 -0
  339. package/lib/examples/utils/themedProvider.js +57 -4
  340. package/lib/examples/utils/useExampleAgentRuntimesUrl.js +30 -5
  341. package/lib/examples/utils/waitForAgent.d.ts +23 -0
  342. package/lib/examples/utils/waitForAgent.js +24 -0
  343. package/lib/examples2/CellExample.d.ts +1 -1
  344. package/lib/examples2/DatalayerNotebookExample.d.ts +1 -1
  345. package/lib/examples2/NotebookExample.d.ts +1 -1
  346. package/lib/examples2/NotebookMutationsKernel.d.ts +1 -1
  347. package/lib/examples2/NotebookMutationsServiceManager.d.ts +1 -1
  348. package/lib/examples2/main.js +24 -4
  349. package/lib/extensions/A2UIExtension.d.ts +1 -1
  350. package/lib/hooks/index.d.ts +8 -5
  351. package/lib/hooks/index.js +20 -5
  352. package/lib/hooks/useAgentRuntimes.d.ts +49 -22
  353. package/lib/hooks/useAgentRuntimes.js +214 -90
  354. package/lib/hooks/useAgentsCatalog.js +32 -4
  355. package/lib/hooks/useBrowserAgent.d.ts +26 -0
  356. package/lib/hooks/useBrowserAgent.js +75 -0
  357. package/lib/hooks/useBrowserInference.d.ts +27 -0
  358. package/lib/hooks/useBrowserInference.js +67 -0
  359. package/lib/hooks/useCheckpoints.d.ts +8 -17
  360. package/lib/hooks/useCheckpoints.js +25 -59
  361. package/lib/hooks/useConfig.d.ts +1 -1
  362. package/lib/hooks/useConfig.js +5 -1
  363. package/lib/hooks/useContextSnapshot.d.ts +18 -7
  364. package/lib/hooks/useContextSnapshot.js +14 -10
  365. package/lib/hooks/useNotifications.d.ts +11 -11
  366. package/lib/hooks/useNotifications.js +1 -1
  367. package/lib/hooks/useProjects.d.ts +7 -19
  368. package/lib/hooks/useProjects.js +5 -5
  369. package/lib/hooks/useSkills.d.ts +0 -1
  370. package/lib/hooks/useSkills.js +6 -2
  371. package/lib/hooks/useToolApprovals.d.ts +8 -8
  372. package/lib/hooks/useToolApprovals.js +3 -3
  373. package/lib/identity/AgentIdentity.d.ts +9 -2
  374. package/lib/index.d.ts +1 -0
  375. package/lib/index.js +4 -0
  376. package/lib/jupyter/index.d.ts +2 -1
  377. package/lib/jupyter/index.js +2 -1
  378. package/lib/jupyter/serverExecution.d.ts +78 -0
  379. package/lib/jupyter/serverExecution.js +258 -0
  380. package/lib/jupyter/useResumeServerExecutions.d.ts +11 -0
  381. package/lib/jupyter/useResumeServerExecutions.js +64 -0
  382. package/lib/lexical/ChatInlinePlugin.d.ts +33 -0
  383. package/lib/lexical/ChatInlinePlugin.js +0 -36
  384. package/lib/loop/core/focusRequests.d.ts +10 -0
  385. package/lib/loop/core/focusRequests.js +46 -0
  386. package/lib/loop/core/index.d.ts +894 -0
  387. package/lib/loop/core/index.js +264 -0
  388. package/lib/loop/core/promptStore.d.ts +44 -0
  389. package/lib/loop/core/promptStore.js +63 -0
  390. package/lib/loop/core/surfaceRequests.d.ts +33 -0
  391. package/lib/loop/core/surfaceRequests.js +29 -0
  392. package/lib/loop/core/toolbar.d.ts +28 -0
  393. package/lib/loop/core/toolbar.js +59 -0
  394. package/lib/loop/embed/LoopEmbed.d.ts +57 -0
  395. package/lib/loop/embed/LoopEmbed.js +118 -0
  396. package/lib/loop/extensions.d.ts +10 -0
  397. package/lib/loop/extensions.js +49 -0
  398. package/lib/loop/index.d.ts +68 -0
  399. package/lib/loop/index.js +87 -0
  400. package/lib/loop/plugins/a2a-sidebar/A2ASidebar.d.ts +48 -0
  401. package/lib/loop/plugins/a2a-sidebar/A2ASidebar.js +190 -0
  402. package/lib/loop/plugins/a2a-sidebar/index.d.ts +5 -0
  403. package/lib/loop/plugins/a2a-sidebar/index.js +39 -0
  404. package/lib/loop/plugins/a2ui/A2uiView.d.ts +12 -0
  405. package/lib/loop/plugins/a2ui/A2uiView.js +97 -0
  406. package/lib/loop/plugins/a2ui/index.d.ts +3 -0
  407. package/lib/loop/plugins/a2ui/index.js +50 -0
  408. package/lib/loop/plugins/a2ui-scene/index.d.ts +36 -0
  409. package/lib/loop/plugins/a2ui-scene/index.js +28 -0
  410. package/lib/loop/plugins/agent-a2a/index.d.ts +3 -0
  411. package/lib/loop/plugins/agent-a2a/index.js +26 -0
  412. package/lib/loop/plugins/agent-a2ui/index.d.ts +3 -0
  413. package/lib/loop/plugins/agent-a2ui/index.js +42 -0
  414. package/lib/loop/plugins/agent-a2ui-jupyter-output/index.d.ts +3 -0
  415. package/lib/loop/plugins/agent-a2ui-jupyter-output/index.js +53 -0
  416. package/lib/loop/plugins/agent-capacity/index.d.ts +39 -0
  417. package/lib/loop/plugins/agent-capacity/index.js +52 -0
  418. package/lib/loop/plugins/agent-checkpoints/index.d.ts +3 -0
  419. package/lib/loop/plugins/agent-checkpoints/index.js +26 -0
  420. package/lib/loop/plugins/agent-code-sandbox/index.d.ts +3 -0
  421. package/lib/loop/plugins/agent-code-sandbox/index.js +24 -0
  422. package/lib/loop/plugins/agent-code-sandboxes/index.d.ts +13 -0
  423. package/lib/loop/plugins/agent-code-sandboxes/index.js +85 -0
  424. package/lib/loop/plugins/agent-codemode/index.d.ts +5 -0
  425. package/lib/loop/plugins/agent-codemode/index.js +41 -0
  426. package/lib/loop/plugins/agent-compaction/index.d.ts +10 -0
  427. package/lib/loop/plugins/agent-compaction/index.js +34 -0
  428. package/lib/loop/plugins/agent-evals/index.d.ts +3 -0
  429. package/lib/loop/plugins/agent-evals/index.js +25 -0
  430. package/lib/loop/plugins/agent-guardrails/index.d.ts +3 -0
  431. package/lib/loop/plugins/agent-guardrails/index.js +25 -0
  432. package/lib/loop/plugins/agent-hooks/index.d.ts +3 -0
  433. package/lib/loop/plugins/agent-hooks/index.js +28 -0
  434. package/lib/loop/plugins/agent-inference/index.d.ts +7 -0
  435. package/lib/loop/plugins/agent-inference/index.js +29 -0
  436. package/lib/loop/plugins/agent-mcp/index.d.ts +3 -0
  437. package/lib/loop/plugins/agent-mcp/index.js +25 -0
  438. package/lib/loop/plugins/agent-memory/index.d.ts +3 -0
  439. package/lib/loop/plugins/agent-memory/index.js +25 -0
  440. package/lib/loop/plugins/agent-monitoring/index.d.ts +3 -0
  441. package/lib/loop/plugins/agent-monitoring/index.js +25 -0
  442. package/lib/loop/plugins/agent-notifications/index.d.ts +3 -0
  443. package/lib/loop/plugins/agent-notifications/index.js +25 -0
  444. package/lib/loop/plugins/agent-otel/index.d.ts +3 -0
  445. package/lib/loop/plugins/agent-otel/index.js +25 -0
  446. package/lib/loop/plugins/agent-outputs/index.d.ts +3 -0
  447. package/lib/loop/plugins/agent-outputs/index.js +25 -0
  448. package/lib/loop/plugins/agent-parameters/index.d.ts +3 -0
  449. package/lib/loop/plugins/agent-parameters/index.js +25 -0
  450. package/lib/loop/plugins/agent-skills/index.d.ts +3 -0
  451. package/lib/loop/plugins/agent-skills/index.js +25 -0
  452. package/lib/loop/plugins/agent-subagents/index.d.ts +3 -0
  453. package/lib/loop/plugins/agent-subagents/index.js +25 -0
  454. package/lib/loop/plugins/agent-tool-approvals/index.d.ts +11 -0
  455. package/lib/loop/plugins/agent-tool-approvals/index.js +38 -0
  456. package/lib/loop/plugins/agent-triggers/index.d.ts +3 -0
  457. package/lib/loop/plugins/agent-triggers/index.js +26 -0
  458. package/lib/loop/plugins/agents/AgentSummaryPanel.d.ts +20 -0
  459. package/lib/loop/plugins/agents/AgentSummaryPanel.js +50 -0
  460. package/lib/loop/plugins/agents/AnonymousKeyBadge.d.ts +35 -0
  461. package/lib/loop/plugins/agents/AnonymousKeyBadge.js +53 -0
  462. package/lib/loop/plugins/agents/DatalayerAgentBridge.d.ts +24 -0
  463. package/lib/loop/plugins/agents/DatalayerAgentBridge.js +102 -0
  464. package/lib/loop/plugins/agents/DatalayerAgentMount.d.ts +18 -0
  465. package/lib/loop/plugins/agents/DatalayerAgentMount.js +12 -0
  466. package/lib/loop/plugins/agents/SandboxSelector.d.ts +18 -0
  467. package/lib/loop/plugins/agents/SandboxSelector.js +99 -0
  468. package/lib/loop/plugins/agents/SandboxStatusBridge.d.ts +19 -0
  469. package/lib/loop/plugins/agents/SandboxStatusBridge.js +23 -0
  470. package/lib/loop/plugins/agents/SandboxView.d.ts +11 -0
  471. package/lib/loop/plugins/agents/SandboxView.js +43 -0
  472. package/lib/loop/plugins/agents/TeamMemberPicker.d.ts +17 -0
  473. package/lib/loop/plugins/agents/TeamMemberPicker.js +60 -0
  474. package/lib/loop/plugins/agents/agentIcons.d.ts +23 -0
  475. package/lib/loop/plugins/agents/agentIcons.js +88 -0
  476. package/lib/loop/plugins/agents/browserService.d.ts +50 -0
  477. package/lib/loop/plugins/agents/browserService.js +233 -0
  478. package/lib/loop/plugins/agents/index.d.ts +13 -0
  479. package/lib/loop/plugins/agents/index.js +17 -0
  480. package/lib/loop/plugins/agents/plugin.d.ts +91 -0
  481. package/lib/loop/plugins/agents/plugin.js +201 -0
  482. package/lib/loop/plugins/agents/service.d.ts +99 -0
  483. package/lib/loop/plugins/agents/service.js +167 -0
  484. package/lib/loop/plugins/agents/specSubagents.d.ts +18 -0
  485. package/lib/loop/plugins/agents/specSubagents.js +33 -0
  486. package/lib/loop/plugins/agents/switchable.d.ts +107 -0
  487. package/lib/loop/plugins/agents/switchable.js +405 -0
  488. package/lib/loop/plugins/agents/team.d.ts +87 -0
  489. package/lib/loop/plugins/agents/team.js +143 -0
  490. package/lib/loop/plugins/agents/useSandboxService.d.ts +11 -0
  491. package/lib/loop/plugins/agents/useSandboxService.js +36 -0
  492. package/lib/loop/plugins/agents/useTeamSelection.d.ts +10 -0
  493. package/lib/loop/plugins/agents/useTeamSelection.js +27 -0
  494. package/lib/loop/plugins/agentspecs/AgentspecPicker.d.ts +15 -0
  495. package/lib/loop/plugins/agentspecs/AgentspecPicker.js +90 -0
  496. package/lib/loop/plugins/agentspecs/index.d.ts +6 -0
  497. package/lib/loop/plugins/agentspecs/index.js +63 -0
  498. package/lib/loop/plugins/chat/ChatView.d.ts +20 -0
  499. package/lib/loop/plugins/chat/ChatView.js +1670 -0
  500. package/lib/loop/plugins/chat/chatViewTools.d.ts +41 -0
  501. package/lib/loop/plugins/chat/chatViewTools.js +92 -0
  502. package/lib/loop/plugins/chat/index.d.ts +111 -0
  503. package/lib/loop/plugins/chat/index.js +143 -0
  504. package/lib/loop/plugins/chat/turnState.d.ts +41 -0
  505. package/lib/loop/plugins/chat/turnState.js +90 -0
  506. package/lib/loop/plugins/chat-extras/index.d.ts +14 -0
  507. package/lib/loop/plugins/chat-extras/index.js +51 -0
  508. package/lib/loop/plugins/chat-header/HeaderView.d.ts +13 -0
  509. package/lib/loop/plugins/chat-header/HeaderView.js +6 -0
  510. package/lib/loop/plugins/chat-header/index.d.ts +3 -0
  511. package/lib/loop/plugins/chat-header/index.js +21 -0
  512. package/lib/loop/plugins/chat-view/index.d.ts +10 -0
  513. package/lib/loop/plugins/chat-view/index.js +29 -0
  514. package/lib/loop/plugins/checkpoints-sidebar/CheckpointsSidebar.d.ts +27 -0
  515. package/lib/loop/plugins/checkpoints-sidebar/CheckpointsSidebar.js +174 -0
  516. package/lib/loop/plugins/checkpoints-sidebar/index.d.ts +5 -0
  517. package/lib/loop/plugins/checkpoints-sidebar/index.js +39 -0
  518. package/lib/loop/plugins/commands/index.d.ts +20 -0
  519. package/lib/loop/plugins/commands/index.js +148 -0
  520. package/lib/loop/plugins/decks/DeckSurface.d.ts +10 -0
  521. package/lib/loop/plugins/decks/DeckSurface.js +6 -0
  522. package/lib/loop/plugins/decks/DecksMenu.d.ts +11 -0
  523. package/lib/loop/plugins/decks/DecksMenu.js +42 -0
  524. package/lib/loop/plugins/decks/index.d.ts +19 -0
  525. package/lib/loop/plugins/decks/index.js +133 -0
  526. package/lib/loop/plugins/decks/surface.d.ts +7 -0
  527. package/lib/loop/plugins/decks/surface.js +11 -0
  528. package/lib/loop/plugins/document/DocumentView.d.ts +12 -0
  529. package/lib/loop/plugins/document/DocumentView.js +68 -0
  530. package/lib/loop/plugins/document/index.d.ts +3 -0
  531. package/lib/loop/plugins/document/index.js +86 -0
  532. package/lib/loop/plugins/document/openingDocument.d.ts +28 -0
  533. package/lib/loop/plugins/document/openingDocument.js +122 -0
  534. package/lib/loop/plugins/document-toolbar/SandboxStatusItem.d.ts +16 -0
  535. package/lib/loop/plugins/document-toolbar/SandboxStatusItem.js +31 -0
  536. package/lib/loop/plugins/document-toolbar/index.d.ts +4 -0
  537. package/lib/loop/plugins/document-toolbar/index.js +35 -0
  538. package/lib/loop/plugins/document-toolbar/names.d.ts +6 -0
  539. package/lib/loop/plugins/document-toolbar/names.js +10 -0
  540. package/lib/loop/plugins/document-toolbar/plugin.d.ts +2 -0
  541. package/lib/loop/plugins/document-toolbar/plugin.js +38 -0
  542. package/lib/loop/plugins/document-view/index.d.ts +10 -0
  543. package/lib/loop/plugins/document-view/index.js +28 -0
  544. package/lib/loop/plugins/graph/GraphToggle.d.ts +17 -0
  545. package/lib/loop/plugins/graph/GraphToggle.js +22 -0
  546. package/lib/loop/plugins/graph/GraphView.d.ts +16 -0
  547. package/lib/loop/plugins/graph/GraphView.js +6 -0
  548. package/lib/loop/plugins/graph/index.d.ts +5 -0
  549. package/lib/loop/plugins/graph/index.js +80 -0
  550. package/lib/loop/plugins/graph/viewType.d.ts +10 -0
  551. package/lib/loop/plugins/graph/viewType.js +14 -0
  552. package/lib/loop/plugins/input-prompt/ComposerView.d.ts +15 -0
  553. package/lib/loop/plugins/input-prompt/ComposerView.js +25 -0
  554. package/lib/loop/plugins/input-prompt/index.d.ts +25 -0
  555. package/lib/loop/plugins/input-prompt/index.js +26 -0
  556. package/lib/loop/plugins/models/index.d.ts +3 -0
  557. package/lib/loop/plugins/models/index.js +49 -0
  558. package/lib/loop/plugins/notebook/NotebookView.d.ts +9 -0
  559. package/lib/loop/plugins/notebook/NotebookView.js +189 -0
  560. package/lib/loop/plugins/notebook/index.d.ts +3 -0
  561. package/lib/loop/plugins/notebook/index.js +91 -0
  562. package/lib/loop/plugins/notebook/openingNotebook.d.ts +72 -0
  563. package/lib/loop/plugins/notebook/openingNotebook.js +90 -0
  564. package/lib/loop/plugins/notebook-toolbar/index.d.ts +4 -0
  565. package/lib/loop/plugins/notebook-toolbar/index.js +45 -0
  566. package/lib/loop/plugins/notebook-toolbar/items.d.ts +10 -0
  567. package/lib/loop/plugins/notebook-toolbar/items.js +45 -0
  568. package/lib/loop/plugins/notebook-toolbar/names.d.ts +9 -0
  569. package/lib/loop/plugins/notebook-toolbar/names.js +13 -0
  570. package/lib/loop/plugins/notebook-toolbar/plugin.d.ts +2 -0
  571. package/lib/loop/plugins/notebook-toolbar/plugin.js +24 -0
  572. package/lib/loop/plugins/notebook-view/index.d.ts +10 -0
  573. package/lib/loop/plugins/notebook-view/index.js +30 -0
  574. package/lib/loop/plugins/page-layout/TurnPanel.d.ts +25 -0
  575. package/lib/loop/plugins/page-layout/TurnPanel.js +126 -0
  576. package/lib/loop/plugins/page-layout/index.d.ts +35 -0
  577. package/lib/loop/plugins/page-layout/index.js +80 -0
  578. package/lib/loop/plugins/plugins-panel/index.d.ts +14 -0
  579. package/lib/loop/plugins/plugins-panel/index.js +74 -0
  580. package/lib/loop/plugins/prompt/NewChatAction.d.ts +19 -0
  581. package/lib/loop/plugins/prompt/NewChatAction.js +10 -0
  582. package/lib/loop/plugins/prompt/index.d.ts +11 -0
  583. package/lib/loop/plugins/prompt/index.js +73 -0
  584. package/lib/loop/plugins/shell/editorChoice.d.ts +31 -0
  585. package/lib/loop/plugins/shell/editorChoice.js +58 -0
  586. package/lib/loop/plugins/shell/index.d.ts +47 -0
  587. package/lib/loop/plugins/shell/index.js +142 -0
  588. package/lib/loop/plugins/shell/useEditorPreviews.d.ts +32 -0
  589. package/lib/loop/plugins/shell/useEditorPreviews.js +217 -0
  590. package/lib/loop/plugins/subagent-activity/SubagentPulse.d.ts +16 -0
  591. package/lib/loop/plugins/subagent-activity/SubagentPulse.js +45 -0
  592. package/lib/loop/plugins/subagent-activity/index.d.ts +12 -0
  593. package/lib/loop/plugins/subagent-activity/index.js +42 -0
  594. package/lib/loop/plugins/view-switch/index.d.ts +46 -0
  595. package/lib/loop/plugins/view-switch/index.js +68 -0
  596. package/lib/loop/plugins/window-frame/WindowFrame.d.ts +48 -0
  597. package/lib/loop/plugins/window-frame/WindowFrame.js +63 -0
  598. package/lib/loop/plugins/window-frame/index.d.ts +6 -0
  599. package/lib/loop/plugins/window-frame/index.js +79 -0
  600. package/lib/loop/plugins/window-frame/slots.d.ts +26 -0
  601. package/lib/loop/plugins/window-frame/slots.js +30 -0
  602. package/lib/loop/presets.d.ts +167 -0
  603. package/lib/loop/presets.js +139 -0
  604. package/lib/loop/shell/LoopWorkspace.d.ts +109 -0
  605. package/lib/loop/shell/LoopWorkspace.js +231 -0
  606. package/lib/loop/shell/PluginToggles.d.ts +21 -0
  607. package/lib/loop/shell/PluginToggles.js +41 -0
  608. package/lib/loop/shell/ViewSwitcher.d.ts +24 -0
  609. package/lib/loop/shell/ViewSwitcher.js +43 -0
  610. package/lib/loop/shell/WorkspaceFullScreenAction.d.ts +25 -0
  611. package/lib/loop/shell/WorkspaceFullScreenAction.js +24 -0
  612. package/lib/loop/shell/index.d.ts +10 -0
  613. package/lib/loop/shell/index.js +14 -0
  614. package/lib/loop/shell/useWorkspaceFullScreen.d.ts +93 -0
  615. package/lib/loop/shell/useWorkspaceFullScreen.js +167 -0
  616. package/lib/loop-example-main.d.ts +1 -0
  617. package/lib/loop-example-main.js +42 -0
  618. package/lib/loop-main.d.ts +1 -0
  619. package/lib/loop-main.js +138 -0
  620. package/lib/mcp/McpServerManager.d.ts +1 -1
  621. package/lib/models/CodeSandboxSnapshotDTO.d.ts +1 -1
  622. package/lib/models/CodeSandboxVariant.d.ts +13 -5
  623. package/lib/models/CodeSandboxVariant.js +17 -5
  624. package/lib/models/Content.d.ts +26 -0
  625. package/lib/models/Environment.d.ts +561 -5
  626. package/lib/models/Environment.js +12 -1
  627. package/lib/models/EnvironmentDTO.d.ts +24 -6
  628. package/lib/models/EnvironmentDTO.js +13 -2
  629. package/lib/models/Exercise.d.ts +0 -2
  630. package/lib/models/Library.d.ts +0 -2
  631. package/lib/models/Notebook.d.ts +0 -2
  632. package/lib/models/ProjectDTO.d.ts +2 -2
  633. package/lib/models/ProjectDTO.js +4 -4
  634. package/lib/models/Runtime.d.ts +11 -11
  635. package/lib/models/RuntimeDTO.d.ts +16 -7
  636. package/lib/models/RuntimeDTO.js +9 -9
  637. package/lib/models/Space.d.ts +10 -0
  638. package/lib/models/Space.js +1 -1
  639. package/lib/models/SpaceDTO.d.ts +1 -1
  640. package/lib/models/SpaceItem.d.ts +1 -2
  641. package/lib/models/environments.generated.d.ts +113 -0
  642. package/lib/models/environments.generated.js +13 -0
  643. package/lib/models/index.d.ts +0 -1
  644. package/lib/models/index.js +0 -1
  645. package/lib/protocols/A2AAdapter.d.ts +39 -6
  646. package/lib/protocols/A2AAdapter.js +180 -11
  647. package/lib/protocols/ACPAdapter.js +40 -37
  648. package/lib/protocols/AGUIAdapter.d.ts +14 -0
  649. package/lib/protocols/AGUIAdapter.js +34 -9
  650. package/lib/protocols/BrowserAgentAdapter.d.ts +117 -0
  651. package/lib/protocols/BrowserAgentAdapter.js +310 -0
  652. package/lib/protocols/VercelAIAdapter.d.ts +10 -0
  653. package/lib/protocols/VercelAIAdapter.js +27 -7
  654. package/lib/protocols/index.d.ts +1 -0
  655. package/lib/protocols/index.js +1 -0
  656. package/lib/runtimes/actions.d.ts +3 -3
  657. package/lib/runtimes/actions.js +27 -14
  658. package/lib/runtimes/apis.d.ts +13 -4
  659. package/lib/runtimes/browser/agent.d.ts +54 -0
  660. package/lib/runtimes/browser/agent.js +63 -0
  661. package/lib/runtimes/browser/anonymousToken.d.ts +121 -0
  662. package/lib/runtimes/browser/anonymousToken.js +300 -0
  663. package/lib/runtimes/browser/frontendTools.d.ts +61 -0
  664. package/lib/runtimes/browser/frontendTools.js +152 -0
  665. package/lib/runtimes/browser/index.d.ts +11 -0
  666. package/lib/runtimes/browser/index.js +20 -0
  667. package/lib/runtimes/browser/model.d.ts +52 -0
  668. package/lib/runtimes/browser/model.js +110 -0
  669. package/lib/runtimes/browser/protocol.d.ts +54 -0
  670. package/lib/runtimes/browser/protocol.js +35 -0
  671. package/lib/runtimes/browser/subagents.d.ts +131 -0
  672. package/lib/runtimes/browser/subagents.js +241 -0
  673. package/lib/runtimes/index.d.ts +3 -0
  674. package/lib/runtimes/index.js +3 -0
  675. package/lib/runtimes/lifecycle.d.ts +76 -0
  676. package/lib/runtimes/lifecycle.js +99 -0
  677. package/lib/runtimes/variants.d.ts +172 -0
  678. package/lib/runtimes/variants.js +187 -0
  679. package/lib/services/reconnectToRuntime.d.ts +2 -2
  680. package/lib/services/reconnectToRuntime.js +3 -3
  681. package/lib/services/sandboxServiceManagers.d.ts +2 -2
  682. package/lib/services/sandboxServiceManagers.js +11 -11
  683. package/lib/specs/agents/agents.d.ts +128 -112
  684. package/lib/specs/agents/agents.js +8024 -5052
  685. package/lib/specs/evals.js +9 -0
  686. package/lib/specs/frontendTools.d.ts +3 -0
  687. package/lib/specs/frontendTools.js +46 -3
  688. package/lib/specs/mcpServers.d.ts +1 -0
  689. package/lib/specs/mcpServers.js +25 -2
  690. package/lib/specs/models.d.ts +18 -0
  691. package/lib/specs/models.js +154 -0
  692. package/lib/specs/outputs.d.ts +2 -0
  693. package/lib/specs/outputs.js +22 -0
  694. package/lib/specs/personas.js +1 -1
  695. package/lib/specs/teams/teams.d.ts +2 -0
  696. package/lib/specs/teams/teams.js +628 -111
  697. package/lib/state/index.d.ts +1 -1
  698. package/lib/state/index.js +1 -1
  699. package/lib/state/substates/RuntimesState.d.ts +5 -5
  700. package/lib/state/substates/RuntimesState.js +14 -14
  701. package/lib/state/substates/index.d.ts +1 -1
  702. package/lib/state/substates/index.js +1 -1
  703. package/lib/stores/agentRuntimeStore.d.ts +43 -1
  704. package/lib/stores/agentRuntimeStore.js +100 -11
  705. package/lib/stores/index.d.ts +1 -1
  706. package/lib/stores/index.js +1 -1
  707. package/lib/stories/Button.d.ts +1 -1
  708. package/lib/stories/Button.stories.d.ts +1 -1
  709. package/lib/stories/Header.d.ts +1 -1
  710. package/lib/stories/Header.stories.d.ts +1 -1
  711. package/lib/test-setup.js +66 -0
  712. package/lib/tools/adapters/agent-runtimes/lexicalHooks.d.ts +15 -0
  713. package/lib/tools/adapters/agent-runtimes/lexicalHooks.js +43 -2
  714. package/lib/tools/adapters/agent-runtimes/notebookHooks.d.ts +9 -0
  715. package/lib/tools/adapters/agent-runtimes/notebookHooks.js +12 -0
  716. package/lib/tools/adapters/commands/frontendCommandTools.d.ts +11 -0
  717. package/lib/tools/adapters/commands/frontendCommandTools.js +60 -0
  718. package/lib/tools/adapters/commands/index.d.ts +1 -0
  719. package/lib/{models/Dataset.js → tools/adapters/commands/index.js} +1 -1
  720. package/lib/tools/adapters/copilotkit/lexicalHooks.js +7 -3
  721. package/lib/tools/index.d.ts +1 -0
  722. package/lib/tools/index.js +1 -0
  723. package/lib/types/a2a.d.ts +15 -1
  724. package/lib/types/agents-lifecycle.d.ts +11 -6
  725. package/lib/types/agents.d.ts +31 -6
  726. package/lib/types/agentspecs.d.ts +120 -4
  727. package/lib/types/chat.d.ts +251 -3
  728. package/lib/types/checkpoints.d.ts +20 -0
  729. package/lib/types/config.d.ts +13 -1
  730. package/lib/types/connection.d.ts +1 -1
  731. package/lib/types/evals.d.ts +2 -0
  732. package/lib/types/messages.d.ts +60 -0
  733. package/lib/types/models.d.ts +26 -0
  734. package/lib/types/notifications.d.ts +15 -6
  735. package/lib/types/protocol.d.ts +7 -2
  736. package/lib/types/stream.d.ts +48 -3
  737. package/lib/types/stream.js +5 -0
  738. package/lib/types/teams.d.ts +102 -4
  739. package/lib/types/tool-approvals.d.ts +1 -1
  740. package/lib/types/tools.d.ts +8 -2
  741. package/lib/utils/utils.js +7 -1
  742. package/package.json +376 -361
  743. package/scripts/codegen/__pycache__/compose.cpython-313.pyc +0 -0
  744. package/scripts/codegen/__pycache__/versioning.cpython-313.pyc +0 -0
  745. package/scripts/codegen/compose.py +208 -0
  746. package/scripts/codegen/generate_agents.py +202 -31
  747. package/scripts/codegen/generate_evals.py +2 -0
  748. package/scripts/codegen/generate_frontend_tools.py +35 -6
  749. package/scripts/codegen/generate_models.py +40 -15
  750. package/scripts/codegen/generate_sandbox_agents.py +76 -62
  751. package/scripts/codegen/generate_teams.py +178 -4
  752. package/scripts/codegen/generate_tools.py +6 -4
  753. package/scripts/gen_workers.py +278 -110
  754. package/scripts/generate-environments-types.py +404 -0
  755. package/lib/chat/prompt/InputFooter.d.ts +0 -58
  756. package/lib/chat/prompt/InputFooter.js +0 -194
  757. package/lib/chat/prompt/InputPromptFooter.d.ts +0 -27
  758. package/lib/chat/prompt/InputPromptFooter.js +0 -15
  759. package/lib/chat/prompt/InputPromptHeader.d.ts +0 -15
  760. package/lib/chat/prompt/InputPromptHeader.js +0 -15
  761. package/lib/chat/usage/TokenUsageBar.d.ts +0 -8
  762. package/lib/hooks/useRuntimes.d.ts +0 -5
  763. package/lib/hooks/useRuntimes.js +0 -34
  764. package/lib/jupyter/kernelsHandler.d.ts +0 -8
  765. package/lib/jupyter/kernelsHandler.js +0 -39
  766. package/lib/models/Dataset.d.ts +0 -16
  767. package/lib/utils/Cells.d.ts +0 -2
  768. package/lib/utils/Cells.js +0 -28
@@ -1,863 +1,32 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  /*
3
3
  * Copyright (c) 2025-2026 Datalayer, Inc.
4
4
  * Distributed under the terms of the Modified BSD License.
5
5
  */
6
- import { useCallback, useEffect, useMemo, useRef, useState, } from 'react';
7
- import { Box } from '@datalayer/primer-addons';
8
- import { Button, SegmentedControl, Text } from '@primer/react';
9
- import { A2UI_RENDER_SCOPE_SX, A2uiSurfaceComposed } from '../components/a2ui';
10
- import { basicCatalog } from '@a2ui/react/v0_9';
6
+ /**
7
+ * A2UI Components Gallery, as a reactor application.
8
+ *
9
+ * The scene lives in `./scenes/A2UiComponentsGalleryScene` and arrives as an A2UI scene
10
+ * plugin — one workspace view, ordered ahead of the chat. The rest is the
11
+ * standard chat plugins; there is no agent behind this scene, so the
12
+ * workspace runs on the browser target and costs no server.
13
+ *
14
+ * @module examples/A2UiComponentsGalleryExample
15
+ */
16
+ import { useMemo } from 'react';
17
+ import { Box, setupPrimerPortals } from '@datalayer/primer-addons';
11
18
  import { ThemedProvider } from './utils/themedProvider';
12
- import { A2uiMarkdownProvider } from './utils/a2uiMarkdownProvider';
13
- import { createSceneMessages, useA2uiProcessor } from './utils/a2ui';
14
- import { useExampleAgentRuntimesUrl } from './utils/useExampleAgentRuntimesUrl';
15
- const extractA2uiMessages = (parts) => {
16
- const messages = [];
17
- parts.forEach(part => {
18
- const node = part.root ?? part;
19
- if (node.kind !== 'data' || !node.data) {
20
- return;
21
- }
22
- const payload = node.data;
23
- if (payload.version !== 'v0.9') {
24
- return;
25
- }
26
- const createSurface = payload.createSurface;
27
- if (createSurface && createSurface.catalogId !== basicCatalog.id) {
28
- createSurface.catalogId = basicCatalog.id;
29
- }
30
- messages.push(payload);
31
- });
32
- return messages;
33
- };
34
- const SCENES = [
35
- {
36
- id: 'typography',
37
- label: 'Typography',
38
- description: 'Text, Icon, Row, and Button components bound to data-model values.',
39
- messages: createSceneMessages({
40
- surfaceId: 'gallery-typography',
41
- components: [
42
- { id: 'root', component: 'Card', child: 'main' },
43
- {
44
- id: 'main',
45
- component: 'Column',
46
- children: ['title', 'subtitle', 'meta-row', 'cta-label', 'cta'],
47
- },
48
- {
49
- id: 'title',
50
- component: 'Text',
51
- variant: 'h2',
52
- text: { path: '/title' },
53
- },
54
- { id: 'subtitle', component: 'Text', text: { path: '/subtitle' } },
55
- {
56
- id: 'meta-row',
57
- component: 'Row',
58
- align: 'center',
59
- children: ['meta-icon', 'meta-text'],
60
- },
61
- { id: 'meta-icon', component: 'Icon', name: 'star' },
62
- {
63
- id: 'meta-text',
64
- component: 'Text',
65
- variant: 'caption',
66
- text: { path: '/meta' },
67
- },
68
- { id: 'cta-label', component: 'Text', text: 'Trigger Action' },
69
- {
70
- id: 'cta',
71
- component: 'Button',
72
- child: 'cta-label',
73
- variant: 'primary',
74
- action: {
75
- event: {
76
- name: 'gallery_typography_cta',
77
- context: { section: 'typography', title: { path: '/title' } },
78
- },
79
- },
80
- },
81
- ],
82
- value: {
83
- title: 'A2UI Gallery',
84
- subtitle: 'Protocol-native renderer with typed schemas and dynamic bindings.',
85
- meta: 'createSurface · updateComponents · updateDataModel',
86
- },
87
- }),
88
- },
89
- {
90
- id: 'contact-card',
91
- label: 'Contact',
92
- description: 'Card layout with icons and data-bound profile information.',
93
- messages: createSceneMessages({
94
- surfaceId: 'gallery-contact-card',
95
- components: [
96
- { id: 'root', component: 'Card', child: 'main-column' },
97
- {
98
- id: 'main-column',
99
- component: 'Column',
100
- align: 'center',
101
- children: [
102
- 'avatar-image',
103
- 'name',
104
- 'title',
105
- 'divider',
106
- 'contact-info',
107
- ],
108
- },
109
- {
110
- id: 'avatar-image',
111
- component: 'Image',
112
- url: { path: '/avatar' },
113
- fit: 'cover',
114
- variant: 'avatar',
115
- },
116
- {
117
- id: 'name',
118
- component: 'Text',
119
- variant: 'h2',
120
- text: { path: '/name' },
121
- },
122
- { id: 'title', component: 'Text', text: { path: '/title' } },
123
- { id: 'divider', component: 'Divider' },
124
- {
125
- id: 'contact-info',
126
- component: 'Column',
127
- children: ['phone-row', 'email-row', 'location-row'],
128
- },
129
- {
130
- id: 'phone-row',
131
- component: 'Row',
132
- align: 'center',
133
- children: ['phone-icon', 'phone-text'],
134
- },
135
- { id: 'phone-icon', component: 'Icon', name: 'phone' },
136
- { id: 'phone-text', component: 'Text', text: { path: '/phone' } },
137
- {
138
- id: 'email-row',
139
- component: 'Row',
140
- align: 'center',
141
- children: ['email-icon', 'email-text'],
142
- },
143
- { id: 'email-icon', component: 'Icon', name: 'mail' },
144
- { id: 'email-text', component: 'Text', text: { path: '/email' } },
145
- {
146
- id: 'location-row',
147
- component: 'Row',
148
- align: 'center',
149
- children: ['location-icon', 'location-text'],
150
- },
151
- { id: 'location-icon', component: 'Icon', name: 'locationOn' },
152
- { id: 'location-text', component: 'Text', text: { path: '/location' } },
153
- ],
154
- value: {
155
- avatar: 'https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?w=100&h=100&fit=crop',
156
- name: 'David Park',
157
- title: 'Engineering Manager',
158
- phone: '+1 (555) 234-5678',
159
- email: 'david.park@company.com',
160
- location: 'San Francisco, CA',
161
- },
162
- }),
163
- },
164
- {
165
- id: 'controls',
166
- label: 'Controls',
167
- description: 'Interactive inputs: TextField, ChoicePicker, CheckBox, Slider, DateTimeInput.',
168
- messages: createSceneMessages({
169
- surfaceId: 'gallery-controls',
170
- components: [
171
- { id: 'root', component: 'Card', child: 'controls-column' },
172
- {
173
- id: 'controls-column',
174
- component: 'Column',
175
- children: [
176
- 'title',
177
- 'name-field',
178
- 'plan-picker',
179
- 'alerts-checkbox',
180
- 'volume-slider',
181
- 'when-field',
182
- 'submit-label',
183
- 'submit',
184
- ],
185
- },
186
- {
187
- id: 'title',
188
- component: 'Text',
189
- variant: 'h3',
190
- text: 'Interactive Inputs',
191
- },
192
- {
193
- id: 'name-field',
194
- component: 'TextField',
195
- label: 'Name',
196
- value: { path: '/name' },
197
- },
198
- {
199
- id: 'plan-picker',
200
- component: 'ChoicePicker',
201
- label: 'Plan',
202
- value: { path: '/plan' },
203
- options: [
204
- { label: 'Starter', value: 'starter' },
205
- { label: 'Pro', value: 'pro' },
206
- { label: 'Enterprise', value: 'enterprise' },
207
- ],
208
- },
209
- {
210
- id: 'alerts-checkbox',
211
- component: 'CheckBox',
212
- label: 'Enable alerts',
213
- value: { path: '/alerts' },
214
- },
215
- {
216
- id: 'volume-slider',
217
- component: 'Slider',
218
- label: 'Volume',
219
- value: { path: '/volume' },
220
- min: 0,
221
- max: 100,
222
- },
223
- {
224
- id: 'when-field',
225
- component: 'DateTimeInput',
226
- label: 'Reminder time',
227
- value: { path: '/when' },
228
- },
229
- { id: 'submit-label', component: 'Text', text: 'Submit' },
230
- {
231
- id: 'submit',
232
- component: 'Button',
233
- variant: 'primary',
234
- child: 'submit-label',
235
- action: {
236
- event: {
237
- name: 'submit_controls',
238
- context: {
239
- name: { path: '/name' },
240
- plan: { path: '/plan' },
241
- alerts: { path: '/alerts' },
242
- volume: { path: '/volume' },
243
- when: { path: '/when' },
244
- },
245
- },
246
- },
247
- },
248
- ],
249
- value: {
250
- name: 'Morgan',
251
- plan: 'pro',
252
- alerts: true,
253
- volume: 64,
254
- when: '2026-05-01T18:30:00Z',
255
- },
256
- }),
257
- },
258
- {
259
- id: 'tabs-modal',
260
- label: 'Tabs + Modal',
261
- description: 'Tabs with nested content and a modal trigger using event actions.',
262
- messages: createSceneMessages({
263
- surfaceId: 'gallery-tabs-modal',
264
- components: [
265
- { id: 'root', component: 'Column', children: ['tabs', 'modal'] },
266
- {
267
- id: 'tabs',
268
- component: 'Tabs',
269
- tabs: [
270
- { title: 'Overview', child: 'tab-overview' },
271
- { title: 'Details', child: 'tab-details' },
272
- ],
273
- },
274
- {
275
- id: 'tab-overview',
276
- component: 'Card',
277
- child: 'tab-overview-text',
278
- },
279
- {
280
- id: 'tab-overview-text',
281
- component: 'Text',
282
- text: 'Overview tab uses static component composition.',
283
- },
284
- {
285
- id: 'tab-details',
286
- component: 'Card',
287
- child: 'tab-details-text',
288
- },
289
- {
290
- id: 'tab-details-text',
291
- component: 'Text',
292
- text: 'Details tab includes modal interaction below.',
293
- },
294
- { id: 'modal-trigger-label', component: 'Text', text: 'Open Modal' },
295
- {
296
- id: 'modal-content-text',
297
- component: 'Text',
298
- text: 'This content is rendered inside a modal.',
299
- },
300
- {
301
- id: 'modal-content',
302
- component: 'Card',
303
- child: 'modal-content-text',
304
- },
305
- {
306
- id: 'modal-trigger',
307
- component: 'Button',
308
- child: 'modal-trigger-label',
309
- action: { event: { name: 'open_modal' } },
310
- },
311
- {
312
- id: 'modal',
313
- component: 'Modal',
314
- trigger: 'modal-trigger',
315
- content: 'modal-content',
316
- },
317
- ],
318
- }),
319
- },
320
- {
321
- id: 'restaurant-card',
322
- label: 'Restaurant',
323
- description: 'Restaurant card layout with image, rating, ETA, and action.',
324
- messages: createSceneMessages({
325
- surfaceId: 'gallery-restaurant-card',
326
- components: [
327
- { id: 'root', component: 'Card', child: 'main' },
328
- {
329
- id: 'main',
330
- component: 'Column',
331
- children: [
332
- 'hero',
333
- 'title-row',
334
- 'meta',
335
- 'stats-row',
336
- 'cta-label',
337
- 'cta',
338
- ],
339
- },
340
- {
341
- id: 'hero',
342
- component: 'Image',
343
- url: { path: '/image' },
344
- fit: 'cover',
345
- variant: 'largeFeature',
346
- },
347
- {
348
- id: 'title-row',
349
- component: 'Row',
350
- justify: 'spaceBetween',
351
- children: ['title', 'price'],
352
- },
353
- {
354
- id: 'title',
355
- component: 'Text',
356
- variant: 'h3',
357
- text: { path: '/title' },
358
- },
359
- { id: 'price', component: 'Text', text: { path: '/price' } },
360
- {
361
- id: 'meta',
362
- component: 'Text',
363
- variant: 'caption',
364
- text: { path: '/meta' },
365
- },
366
- {
367
- id: 'stats-row',
368
- component: 'Row',
369
- justify: 'spaceBetween',
370
- children: ['rating', 'eta', 'distance'],
371
- },
372
- {
373
- id: 'rating',
374
- component: 'Text',
375
- variant: 'caption',
376
- text: { path: '/rating' },
377
- },
378
- {
379
- id: 'eta',
380
- component: 'Text',
381
- variant: 'caption',
382
- text: { path: '/eta' },
383
- },
384
- {
385
- id: 'distance',
386
- component: 'Text',
387
- variant: 'caption',
388
- text: { path: '/distance' },
389
- },
390
- { id: 'cta-label', component: 'Text', text: 'Reserve Table' },
391
- {
392
- id: 'cta',
393
- component: 'Button',
394
- variant: 'primary',
395
- child: 'cta-label',
396
- action: {
397
- event: {
398
- name: 'reserve_restaurant',
399
- context: {
400
- restaurantId: { path: '/id' },
401
- restaurantName: { path: '/title' },
402
- },
403
- },
404
- },
405
- },
406
- ],
407
- value: {
408
- id: 'rest_italian_001',
409
- image: 'https://images.unsplash.com/photo-1517248135467-4c7edcad34c4?w=640&h=360&fit=crop',
410
- title: 'The Italian Kitchen',
411
- price: '$$$',
412
- meta: 'Italian • Pasta • Wine Bar',
413
- rating: '⭐ 4.8 (2,847 reviews)',
414
- eta: '25-35 min',
415
- distance: '0.8 mi',
416
- },
417
- }),
418
- },
419
- {
420
- id: 'list',
421
- label: 'Data List',
422
- description: 'List component rendering a data-bound template with per-item actions.',
423
- messages: createSceneMessages({
424
- surfaceId: 'gallery-list',
425
- components: [
426
- { id: 'root', component: 'Column', children: ['heading', 'items'] },
427
- {
428
- id: 'heading',
429
- component: 'Text',
430
- variant: 'h2',
431
- text: { path: '/title' },
432
- },
433
- {
434
- id: 'items',
435
- component: 'List',
436
- direction: 'vertical',
437
- children: { componentId: 'item-template', path: '/items' },
438
- },
439
- { id: 'item-template', component: 'Card', child: 'item-row' },
440
- {
441
- id: 'item-row',
442
- component: 'Row',
443
- align: 'center',
444
- children: ['item-image', 'item-details', 'item-cta'],
445
- },
446
- {
447
- id: 'item-image',
448
- component: 'Image',
449
- url: { path: 'image' },
450
- fit: 'cover',
451
- variant: 'smallFeature',
452
- weight: 1,
453
- },
454
- {
455
- id: 'item-details',
456
- component: 'Column',
457
- weight: 3,
458
- children: ['item-name', 'item-meta'],
459
- },
460
- {
461
- id: 'item-name',
462
- component: 'Text',
463
- variant: 'h3',
464
- text: { path: 'name' },
465
- },
466
- {
467
- id: 'item-meta',
468
- component: 'Text',
469
- variant: 'caption',
470
- text: { path: 'meta' },
471
- },
472
- {
473
- id: 'item-cta',
474
- component: 'Button',
475
- variant: 'primary',
476
- child: 'item-cta-label',
477
- action: {
478
- event: {
479
- name: 'select_item',
480
- context: { id: { path: 'id' }, name: { path: 'name' } },
481
- },
482
- },
483
- },
484
- { id: 'item-cta-label', component: 'Text', text: 'Select' },
485
- ],
486
- value: {
487
- title: 'Featured Restaurants',
488
- items: [
489
- {
490
- id: 'rest_001',
491
- name: "Xi'an Famous Foods",
492
- meta: '★★★★☆ · Hand-pulled noodles',
493
- image: 'https://images.unsplash.com/photo-1569718212165-3a8278d5f624?w=200&h=200&fit=crop',
494
- },
495
- {
496
- id: 'rest_002',
497
- name: 'Han Dynasty',
498
- meta: '★★★★☆ · Authentic Szechuan',
499
- image: 'https://images.unsplash.com/photo-1525755662778-989d0524087e?w=200&h=200&fit=crop',
500
- },
501
- {
502
- id: 'rest_003',
503
- name: 'RedFarm',
504
- meta: '★★★★☆ · Farm-to-table Chinese',
505
- image: 'https://images.unsplash.com/photo-1563245372-f21724e3856d?w=200&h=200&fit=crop',
506
- },
507
- ],
508
- },
509
- }),
510
- },
511
- {
512
- id: 'media',
513
- label: 'Media',
514
- description: 'Video and AudioPlayer components from the basic catalog.',
515
- messages: createSceneMessages({
516
- surfaceId: 'gallery-media',
517
- components: [
518
- { id: 'root', component: 'Card', child: 'media-column' },
519
- {
520
- id: 'media-column',
521
- component: 'Column',
522
- children: ['media-title', 'video', 'audio-title', 'audio'],
523
- },
524
- {
525
- id: 'media-title',
526
- component: 'Text',
527
- variant: 'h3',
528
- text: 'Media Components',
529
- },
530
- { id: 'video', component: 'Video', url: { path: '/videoUrl' } },
531
- {
532
- id: 'audio-title',
533
- component: 'Text',
534
- variant: 'caption',
535
- text: { path: '/audioLabel' },
536
- },
537
- {
538
- id: 'audio',
539
- component: 'AudioPlayer',
540
- url: { path: '/audioUrl' },
541
- description: { path: '/audioLabel' },
542
- },
543
- ],
544
- value: {
545
- videoUrl: 'https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4',
546
- audioLabel: 'Sample audio track',
547
- audioUrl: 'https://commondatastorage.googleapis.com/codeskulptor-demos/DDR_assets/Kangaroo_MusiQue_-_The_Neverwritten_Role_Playing_Game.mp3',
548
- },
549
- }),
550
- },
551
- {
552
- id: 'validation',
553
- label: 'Form Validation',
554
- description: 'Live client-side validation via local function evaluation (email, regex, and/or/required) with two-way data binding.',
555
- messages: createSceneMessages({
556
- surfaceId: 'gallery-validation',
557
- components: [
558
- { id: 'root', component: 'Card', child: 'main-column' },
559
- {
560
- id: 'main-column',
561
- component: 'Column',
562
- align: 'stretch',
563
- children: [
564
- 'welcome-text',
565
- 'email-field',
566
- 'phone-field',
567
- 'zip-field',
568
- 'terms-checkbox',
569
- 'submit-btn',
570
- ],
571
- },
572
- {
573
- id: 'welcome-text',
574
- component: 'Text',
575
- variant: 'h3',
576
- text: {
577
- call: 'formatString',
578
- args: {
579
- value: "Hello! Today is ${formatDate(value: ${/now}, format: 'EEEE, MMMM d')}.",
580
- },
581
- returnType: 'string',
582
- },
583
- },
584
- {
585
- id: 'email-field',
586
- component: 'TextField',
587
- label: 'Email Address',
588
- value: { path: '/formData/email' },
589
- checks: [
590
- {
591
- condition: {
592
- call: 'email',
593
- args: { value: { path: '/formData/email' } },
594
- },
595
- message: 'Invalid email format',
596
- },
597
- ],
598
- },
599
- {
600
- id: 'phone-field',
601
- component: 'TextField',
602
- label: 'Phone Number',
603
- value: { path: '/formData/phone' },
604
- checks: [
605
- {
606
- condition: {
607
- call: 'regex',
608
- args: {
609
- value: { path: '/formData/phone' },
610
- pattern: '^\\+?[0-9]{10,15}$',
611
- },
612
- },
613
- message: 'Invalid phone format',
614
- },
615
- ],
616
- },
617
- {
618
- id: 'zip-field',
619
- component: 'TextField',
620
- label: 'Zip Code',
621
- value: { path: '/formData/zip' },
622
- checks: [
623
- {
624
- condition: {
625
- call: 'regex',
626
- args: {
627
- value: { path: '/formData/zip' },
628
- pattern: '^[0-9]{5}$',
629
- },
630
- },
631
- message: 'Must be exactly 5 digits',
632
- },
633
- ],
634
- },
635
- {
636
- id: 'terms-checkbox',
637
- component: 'CheckBox',
638
- label: 'I agree to the terms and conditions',
639
- value: { path: '/formData/agree' },
640
- },
641
- {
642
- id: 'submit-btn-text',
643
- component: 'Text',
644
- text: 'Submit Registration',
645
- },
646
- {
647
- id: 'submit-btn',
648
- component: 'Button',
649
- variant: 'primary',
650
- child: 'submit-btn-text',
651
- checks: [
652
- {
653
- condition: {
654
- call: 'and',
655
- args: {
656
- values: [
657
- { path: '/formData/agree' },
658
- {
659
- call: 'or',
660
- args: {
661
- values: [
662
- {
663
- call: 'required',
664
- args: { value: { path: '/formData/email' } },
665
- },
666
- {
667
- call: 'required',
668
- args: { value: { path: '/formData/phone' } },
669
- },
670
- ],
671
- },
672
- },
673
- {
674
- call: 'required',
675
- args: { value: { path: '/formData/zip' } },
676
- },
677
- ],
678
- },
679
- },
680
- message: 'You must agree to terms AND provide either Email or Phone, plus a Zip code.',
681
- },
682
- ],
683
- action: {
684
- event: {
685
- name: 'gallery_register',
686
- context: { data: { path: '/formData' } },
687
- },
688
- },
689
- },
690
- ],
691
- value: {
692
- now: '2025-12-15T12:00:00Z',
693
- formData: {
694
- email: '',
695
- phone: '',
696
- zip: '',
697
- agree: false,
698
- },
699
- },
700
- }),
701
- },
702
- ];
703
- function GalleryContent({ onAction, }) {
704
- const baseUrl = useExampleAgentRuntimesUrl();
705
- const supportEndpoint = `${baseUrl}/api/v1/a2ui/support-assistant/`;
706
- const supportHealthEndpoint = `${baseUrl}/api/v1/a2ui/support-assistant/health`;
707
- const [selectedScene, setSelectedScene] = useState(SCENES[0].id);
708
- const [backendLoading, setBackendLoading] = useState(false);
709
- const [backendSummary, setBackendSummary] = useState('');
710
- const [backendError, setBackendError] = useState(null);
711
- const [backendHealth, setBackendHealth] = useState('unknown');
712
- const [backendMode, setBackendMode] = useState(false);
713
- const backendModeRef = useRef(false);
714
- const sendSupportPayloadRef = useRef(null);
715
- const handleAction = useCallback((action) => {
716
- onAction(action);
717
- if (!backendModeRef.current || !sendSupportPayloadRef.current) {
718
- return;
719
- }
720
- void sendSupportPayloadRef.current({
721
- action: action.name,
722
- context: action.context,
723
- });
724
- }, [onAction]);
725
- const { surfaces, processMessages, resetSurfaces, themeStyle } = useA2uiProcessor(handleAction);
726
- const sendSupportPayload = useCallback(async (payload) => {
727
- setBackendLoading(true);
728
- setBackendError(null);
729
- try {
730
- const response = await fetch(supportEndpoint, {
731
- method: 'POST',
732
- headers: { 'Content-Type': 'application/json' },
733
- body: JSON.stringify(payload),
734
- });
735
- if (!response.ok) {
736
- const data = (await response.json());
737
- throw new Error(data.detail || 'Support endpoint request failed');
738
- }
739
- const parts = (await response.json());
740
- const messages = extractA2uiMessages(parts);
741
- if (messages.length === 0) {
742
- throw new Error('Python backend did not return A2UI messages');
743
- }
744
- resetSurfaces();
745
- processMessages(messages);
746
- setBackendMode(true);
747
- const serverText = parts
748
- .map(part => {
749
- const node = part.root ?? part;
750
- return node.kind === 'text' ? node.text : undefined;
751
- })
752
- .filter(Boolean)
753
- .join(' ');
754
- setBackendSummary(serverText ||
755
- 'Python backend surface loaded from /api/v1/a2ui/support-assistant/.');
756
- }
757
- catch (err) {
758
- setBackendError(err instanceof Error ? err.message : 'Unknown backend error');
759
- }
760
- finally {
761
- setBackendLoading(false);
762
- }
763
- }, [processMessages, resetSurfaces, supportEndpoint]);
764
- useEffect(() => {
765
- backendModeRef.current = backendMode;
766
- }, [backendMode]);
767
- useEffect(() => {
768
- sendSupportPayloadRef.current = sendSupportPayload;
769
- }, [sendSupportPayload]);
770
- useEffect(() => {
771
- let cancelled = false;
772
- const probe = async () => {
773
- try {
774
- const response = await fetch(supportHealthEndpoint);
775
- if (!response.ok) {
776
- throw new Error('Health check failed');
777
- }
778
- const data = (await response.json());
779
- if (!cancelled) {
780
- setBackendHealth(data.status === 'healthy' ? 'healthy' : 'unhealthy');
781
- }
782
- }
783
- catch {
784
- if (!cancelled) {
785
- setBackendHealth('unhealthy');
786
- }
787
- }
788
- };
789
- void probe();
790
- return () => {
791
- cancelled = true;
792
- };
793
- }, [supportHealthEndpoint]);
794
- const currentScene = useMemo(() => SCENES.find(scene => scene.id === selectedScene) ?? SCENES[0], [selectedScene]);
795
- const showScene = useCallback((scene) => {
796
- resetSurfaces();
797
- processMessages(scene.messages);
798
- setBackendMode(false);
799
- setBackendSummary('');
800
- setBackendError(null);
801
- }, [processMessages, resetSurfaces]);
802
- const showAllScenes = useCallback(() => {
803
- resetSurfaces();
804
- SCENES.forEach(scene => {
805
- processMessages(scene.messages);
806
- });
807
- setBackendMode(false);
808
- setBackendSummary('');
809
- setBackendError(null);
810
- }, [processMessages, resetSurfaces]);
811
- useEffect(() => {
812
- showScene(currentScene);
813
- }, [currentScene, showScene]);
814
- return (_jsxs(Box, { sx: { display: 'flex', flexDirection: 'column', gap: 3, p: 3 }, children: [_jsxs(Box, { sx: {
815
- width: '100%',
816
- border: '1px solid',
817
- borderColor: 'border.default',
818
- borderRadius: 2,
819
- p: 3,
820
- backgroundColor: 'canvas.default',
821
- display: 'flex',
822
- flexDirection: 'column',
823
- gap: 3,
824
- }, children: [_jsx(Text, { sx: { fontSize: 2, fontWeight: 'bold' }, children: "Scenes" }), _jsx(SegmentedControl, { "aria-label": "A2UI gallery scene picker", fullWidth: true, children: SCENES.map(scene => (_jsx(SegmentedControl.Button, { selected: scene.id === selectedScene, onClick: () => setSelectedScene(scene.id), children: scene.label }, scene.id))) }), _jsx(Text, { sx: { color: 'fg.muted', fontSize: 1 }, children: currentScene.description }), _jsxs(Box, { sx: { display: 'flex', gap: 2, flexWrap: 'wrap' }, children: [_jsx(Button, { size: "small", variant: "primary", onClick: () => showScene(currentScene), children: "Reload" }), _jsx(Button, { size: "small", variant: "default", onClick: showAllScenes, children: "Show All" }), _jsx(Button, { size: "small", variant: "invisible", onClick: resetSurfaces, children: "Clear" }), _jsx(Button, { size: "small", variant: "default", onClick: () => void sendSupportPayload({
825
- query: 'Production deploy is failing with auth errors. Help me triage.',
826
- }), disabled: backendLoading, children: backendLoading
827
- ? 'Loading Python Backend…'
828
- : 'Load Python Backend Agent' })] }), _jsxs(Text, { sx: { color: 'fg.muted', fontSize: 1 }, children: ["Python endpoint status: ", backendHealth] }), backendSummary && (_jsx(Text, { sx: { color: 'fg.muted', fontSize: 1 }, children: backendSummary })), backendError && (_jsx(Text, { sx: { color: 'danger.fg', fontSize: 1 }, children: backendError }))] }), _jsx(Box, { style: themeStyle, sx: {
829
- ...A2UI_RENDER_SCOPE_SX,
830
- width: '100%',
831
- minWidth: 0,
832
- display: 'flex',
833
- flexDirection: 'column',
834
- gap: 4,
835
- }, children: surfaces.map(surface => (_jsx(Box, { sx: { width: '100%' }, children: _jsx(A2uiSurfaceComposed, { surface: surface }) }, surface.id))) })] }));
836
- }
19
+ import { LoopEmbed } from '../loop';
20
+ import { defineA2uiScenePlugin } from '../loop/plugins/a2ui-scene';
21
+ setupPrimerPortals();
22
+ const ScenePlugin = defineA2uiScenePlugin({
23
+ key: 'components-gallery',
24
+ title: 'A2UI Components Gallery',
25
+ description: 'Every A2UI component, rendered from canned protocol messages.',
26
+ load: () => import('./scenes/A2UiComponentsGalleryScene'),
27
+ });
837
28
  const A2UiComponentsGalleryExample = () => {
838
- const [lastAction, setLastAction] = useState(null);
839
- const handleAction = useCallback((action) => {
840
- console.warn('A2UI Gallery Action:', action);
841
- setLastAction(action);
842
- }, []);
843
- return (_jsx(ThemedProvider, { children: _jsx(A2uiMarkdownProvider, { children: _jsxs(Box, { sx: { minHeight: '100vh', display: 'flex', flexDirection: 'column' }, children: [_jsxs(Box, { sx: {
844
- px: 3,
845
- py: 3,
846
- borderBottom: '1px solid',
847
- borderColor: 'border.default',
848
- backgroundColor: 'canvas.default',
849
- }, children: [_jsx(Text, { as: "h1", sx: { fontSize: 3, fontWeight: 'bold' }, children: "\uD83C\uDFA8 A2UI Components Gallery" }), _jsx(Text, { sx: { color: 'fg.muted' }, children: "Showcases the A2UI basic catalog rendered live via MessageProcessor and A2uiSurface." })] }), _jsx(GalleryContent, { onAction: handleAction }), _jsx(Box, { sx: {
850
- borderTop: '1px solid',
851
- borderColor: 'border.default',
852
- p: 3,
853
- fontFamily: 'mono',
854
- fontSize: 0,
855
- backgroundColor: 'canvas.default',
856
- whiteSpace: 'pre-wrap',
857
- maxHeight: 220,
858
- overflow: 'auto',
859
- }, children: lastAction
860
- ? JSON.stringify(lastAction, null, 2)
861
- : 'No action triggered yet.' })] }) }) }));
29
+ const plugins = useMemo(() => [ScenePlugin], []);
30
+ return (_jsx(ThemedProvider, { children: _jsx(Box, { sx: { height: '100vh', minHeight: 0 }, children: _jsx(LoopEmbed, { target: "browser", agentId: "loop-shell", defaultEditor: "none", showHeader: true, plugins: plugins }) }) }));
862
31
  };
863
32
  export default A2UiComponentsGalleryExample;