@datalayer/agent-runtimes 1.0.29 → 1.3.11

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 (779) 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 +406 -4
  23. package/lib/api/runtimes/environments.js +641 -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 +20 -2
  30. package/lib/chat/ChatFloating.js +196 -118
  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/ButtonGlow.d.ts +9 -0
  44. package/lib/chat/display/ButtonGlow.js +60 -0
  45. package/lib/chat/display/EmptyState.d.ts +15 -1
  46. package/lib/chat/display/EmptyState.js +81 -12
  47. package/lib/chat/display/FloatingBrandButton.d.ts +1 -1
  48. package/lib/chat/display/PoweredByTag.d.ts +1 -1
  49. package/lib/chat/display/groupSuggestions.d.ts +21 -0
  50. package/lib/chat/display/groupSuggestions.js +18 -0
  51. package/lib/chat/document/EphemeralDocument.d.ts +70 -6
  52. package/lib/chat/document/EphemeralDocument.js +154 -52
  53. package/lib/chat/header/ChatHeader.d.ts +1 -1
  54. package/lib/chat/header/ChatHeaderBase.d.ts +10 -1
  55. package/lib/chat/header/ChatHeaderBase.js +21 -102
  56. package/lib/chat/header/ChatViewModeToggle.d.ts +29 -0
  57. package/lib/chat/header/ChatViewModeToggle.js +55 -0
  58. package/lib/chat/index.d.ts +5 -1
  59. package/lib/chat/index.js +9 -1
  60. package/lib/chat/indicators/McpStatusIndicator.d.ts +1 -1
  61. package/lib/chat/indicators/SandboxStatusIndicator.d.ts +1 -1
  62. package/lib/chat/indicators/SandboxStatusIndicator.js +1 -1
  63. package/lib/chat/indicators/SkillsStatusIndicator.d.ts +1 -1
  64. package/lib/chat/messages/ChatMessageList.d.ts +22 -1
  65. package/lib/chat/messages/ChatMessageList.js +370 -166
  66. package/lib/chat/messages/ChatMessages.d.ts +1 -1
  67. package/lib/chat/messages/NotebookToolSurfaces.d.ts +68 -0
  68. package/lib/chat/messages/NotebookToolSurfaces.js +302 -0
  69. package/lib/chat/messages/TurnFooter.d.ts +42 -0
  70. package/lib/chat/messages/TurnFooter.js +75 -0
  71. package/lib/chat/messages/assistantMarkdown.d.ts +22 -0
  72. package/lib/chat/messages/assistantMarkdown.js +56 -0
  73. package/lib/chat/notebook/EphemeralNotebook.d.ts +67 -6
  74. package/lib/chat/notebook/EphemeralNotebook.js +194 -61
  75. package/lib/chat/parts/DynamicToolPart.d.ts +1 -1
  76. package/lib/chat/parts/MessagePart.d.ts +1 -1
  77. package/lib/chat/parts/ReasoningPart.d.ts +8 -1
  78. package/lib/chat/parts/TextPart.d.ts +1 -1
  79. package/lib/chat/parts/ToolPart.d.ts +8 -1
  80. package/lib/chat/prompt/FloatingCard.d.ts +26 -0
  81. package/lib/chat/prompt/FloatingCard.js +80 -0
  82. package/lib/chat/prompt/InputPrompt.d.ts +206 -53
  83. package/lib/chat/prompt/InputPrompt.js +161 -80
  84. package/lib/chat/prompt/InputPromptBase.d.ts +112 -0
  85. package/lib/chat/prompt/InputPromptBase.js +225 -0
  86. package/lib/chat/prompt/InputPromptLexical.d.ts +18 -1
  87. package/lib/chat/prompt/InputPromptLexical.js +227 -30
  88. package/lib/chat/prompt/InputPromptText.d.ts +10 -2
  89. package/lib/chat/prompt/InputPromptText.js +35 -3
  90. package/lib/chat/prompt/footer/BelowPromptFooter.d.ts +25 -0
  91. package/lib/chat/prompt/footer/BelowPromptFooter.js +12 -0
  92. package/lib/chat/prompt/footer/InPromptFooter.d.ts +35 -0
  93. package/lib/chat/prompt/footer/InPromptFooter.js +16 -0
  94. package/lib/chat/prompt/footer/index.d.ts +7 -0
  95. package/lib/chat/prompt/footer/index.js +11 -0
  96. package/lib/chat/prompt/header/BelowPromptHeader.d.ts +23 -0
  97. package/lib/chat/prompt/header/BelowPromptHeader.js +12 -0
  98. package/lib/chat/prompt/header/InPromptHeader.d.ts +31 -0
  99. package/lib/chat/prompt/header/InPromptHeader.js +14 -0
  100. package/lib/chat/prompt/header/index.d.ts +7 -0
  101. package/lib/chat/prompt/header/index.js +11 -0
  102. package/lib/chat/prompt/index.d.ts +8 -4
  103. package/lib/chat/prompt/index.js +15 -3
  104. package/lib/chat/prompt/menus/AgentsMenu.d.ts +14 -0
  105. package/lib/chat/prompt/menus/AgentsMenu.js +42 -0
  106. package/lib/chat/prompt/menus/InlineAgentsMenu.d.ts +22 -0
  107. package/lib/chat/prompt/menus/InlineAgentsMenu.js +24 -0
  108. package/lib/chat/prompt/menus/ModelSelector.d.ts +7 -0
  109. package/lib/chat/prompt/menus/ModelSelector.js +27 -0
  110. package/lib/chat/prompt/menus/SkillsMenu.d.ts +10 -0
  111. package/lib/chat/prompt/menus/SkillsMenu.js +75 -0
  112. package/lib/chat/prompt/menus/SuggestionsMenu.d.ts +13 -0
  113. package/lib/chat/prompt/menus/SuggestionsMenu.js +31 -0
  114. package/lib/chat/prompt/menus/ToolsMenu.d.ts +13 -0
  115. package/lib/chat/prompt/menus/ToolsMenu.js +103 -0
  116. package/lib/chat/prompt/menus/index.d.ts +15 -0
  117. package/lib/chat/prompt/menus/index.js +19 -0
  118. package/lib/chat/prompt/plugins/AgentMentionPlugin.d.ts +54 -0
  119. package/lib/chat/prompt/plugins/AgentMentionPlugin.js +370 -0
  120. package/lib/chat/prompt/plugins/CommandPlugin.d.ts +52 -0
  121. package/lib/chat/prompt/plugins/CommandPlugin.js +359 -0
  122. package/lib/chat/prompt/plugins/MentionChip.d.ts +15 -0
  123. package/lib/chat/prompt/plugins/MentionChip.js +24 -0
  124. package/lib/chat/prompt/plugins/MentionNode.d.ts +66 -0
  125. package/lib/chat/prompt/plugins/MentionNode.js +77 -0
  126. package/lib/chat/prompt/promptHistory.d.ts +52 -0
  127. package/lib/chat/prompt/promptHistory.js +123 -0
  128. package/lib/chat/prompt/stack.d.ts +81 -0
  129. package/lib/chat/prompt/stack.js +41 -0
  130. package/lib/chat/prompt/useTypingPlaceholder.d.ts +52 -0
  131. package/lib/chat/prompt/useTypingPlaceholder.js +180 -0
  132. package/lib/chat/tools/A2AAgentDialog.d.ts +60 -0
  133. package/lib/chat/tools/A2AAgentDialog.js +265 -0
  134. package/lib/chat/tools/ToolApprovalBanner.d.ts +1 -1
  135. package/lib/chat/tools/ToolApprovalDialog.d.ts +1 -1
  136. package/lib/chat/tools/ToolCallDisplay.d.ts +8 -1
  137. package/lib/chat/tools/index.d.ts +1 -0
  138. package/lib/chat/tools/index.js +1 -0
  139. package/lib/chat/usage/ContextPie.d.ts +17 -0
  140. package/lib/chat/usage/{TokenUsageBar.js → ContextPie.js} +20 -14
  141. package/lib/chat/useViewportDrag.d.ts +11 -0
  142. package/lib/chat/useViewportDrag.js +61 -0
  143. package/lib/chat/viewModes.d.ts +51 -0
  144. package/lib/chat/viewModes.js +57 -0
  145. package/lib/client/AgentRuntimesClient.d.ts +10 -9
  146. package/lib/client/AgentRuntimesClient.js +1 -1
  147. package/lib/client/AgentRuntimesClientContext.d.ts +1 -0
  148. package/lib/client/AgentsMixin.d.ts +12 -12
  149. package/lib/client/AgentsMixin.js +31 -31
  150. package/lib/client/IAgentRuntimesClient.d.ts +10 -10
  151. package/lib/client/SdkAgentRuntimesClient.d.ts +10 -10
  152. package/lib/client/SdkAgentRuntimesClient.js +10 -10
  153. package/lib/client/mixins/RuntimesMixin.d.ts +37 -10
  154. package/lib/client/mixins/RuntimesMixin.js +54 -21
  155. package/lib/components/a2ui/A2uiSurfaceComposed.d.ts +1 -1
  156. package/lib/components/agents/AgentSummary.d.ts +13 -0
  157. package/lib/components/agents/AgentSummary.js +21 -4
  158. package/lib/components/cards/NotificationEventCard.d.ts +1 -1
  159. package/lib/components/cards/OutputCard.d.ts +1 -1
  160. package/lib/components/cards/ToolApprovalCard.d.ts +2 -2
  161. package/lib/components/cards/ToolApprovalCard.js +1 -0
  162. package/lib/components/code-sandboxes/CodeSandboxCellVariables.d.ts +1 -0
  163. package/lib/components/code-sandboxes/CodeSandboxCellVariables.js +0 -4
  164. package/lib/components/code-sandboxes/CodeSandboxCellVariablesDialog.d.ts +1 -0
  165. package/lib/components/code-sandboxes/CodeSandboxCellVariablesDialog.js +0 -4
  166. package/lib/components/code-sandboxes/CodeSandboxEnvironmentSelect.d.ts +35 -0
  167. package/lib/components/code-sandboxes/CodeSandboxEnvironmentSelect.js +27 -29
  168. package/lib/components/code-sandboxes/CodeSandboxLauncher.d.ts +9 -0
  169. package/lib/components/code-sandboxes/CodeSandboxLauncher.js +95 -23
  170. package/lib/components/code-sandboxes/CodeSandboxNames.js +7 -6
  171. package/lib/components/code-sandboxes/CodeSandboxPicker.js +89 -42
  172. package/lib/components/code-sandboxes/CodeSandboxPickerCell.d.ts +1 -0
  173. package/lib/components/code-sandboxes/CodeSandboxPickerCell.js +0 -4
  174. package/lib/components/code-sandboxes/CodeSandboxReservationControl.d.ts +1 -0
  175. package/lib/components/code-sandboxes/CodeSandboxReservationControl.js +5 -7
  176. package/lib/components/code-sandboxes/CodeSandboxTransfer.d.ts +5 -0
  177. package/lib/components/code-sandboxes/CodeSandboxUtils.d.ts +13 -1
  178. package/lib/components/code-sandboxes/CodeSandboxUtils.js +10 -4
  179. package/lib/components/code-sandboxes/NewCodeSandboxControls.d.ts +21 -15
  180. package/lib/components/code-sandboxes/NewCodeSandboxControls.js +28 -51
  181. package/lib/components/code-sandboxes/codeSandboxAllowance.d.ts +33 -0
  182. package/lib/components/code-sandboxes/codeSandboxAllowance.js +37 -0
  183. package/lib/components/code-sandboxes/codeSandboxEnvironments.d.ts +97 -0
  184. package/lib/components/code-sandboxes/codeSandboxEnvironments.js +184 -0
  185. package/lib/components/code-sandboxes/codeSandboxProviders.js +14 -5
  186. package/lib/components/code-sandboxes/index.d.ts +1 -0
  187. package/lib/components/code-sandboxes/index.js +1 -0
  188. package/lib/components/context/SpaceSelect.d.ts +1 -1
  189. package/lib/components/flashes/FlashDisclaimer.d.ts +1 -1
  190. package/lib/components/icons/ArtifactIcon.d.ts +1 -0
  191. package/lib/components/icons/ArtifactIcon.js +2 -1
  192. package/lib/components/nbgrader/NbGradesDetails.d.ts +1 -1
  193. package/lib/components/progress/CreditsIndicator.d.ts +1 -0
  194. package/lib/components/progress/CreditsIndicator.js +0 -4
  195. package/lib/components/scheduler/ScheduleMenu.d.ts +1 -1
  196. package/lib/components/snapshots/SandboxSnapshotMenu.d.ts +3 -2
  197. package/lib/components/snapshots/SandboxSnapshotMenu.js +11 -15
  198. package/lib/components/snippets/SnippetDialog.d.ts +1 -0
  199. package/lib/components/snippets/SnippetDialog.js +0 -4
  200. package/lib/components/specs/SpecPayloadPreview.d.ts +34 -0
  201. package/lib/components/specs/SpecPayloadPreview.js +102 -0
  202. package/lib/components/tokens/SpaceVariantToken.d.ts +1 -1
  203. package/lib/context/ContextDistribution.d.ts +1 -1
  204. package/lib/context/ContextInspector.d.ts +2 -1
  205. package/lib/context/ContextPanel.d.ts +1 -1
  206. package/lib/context/ContextUsage.d.ts +1 -1
  207. package/lib/context/CostTracker.d.ts +1 -1
  208. package/lib/context/CostUsageChart.d.ts +1 -1
  209. package/lib/context/CostUsageChart.js +4 -4
  210. package/lib/context/MessageHistory.d.ts +3 -2
  211. package/lib/context/TokenUsageChart.d.ts +1 -1
  212. package/lib/context/TokenUsageChart.js +4 -4
  213. package/lib/examples/A2UiAgentExample.js +15 -6
  214. package/lib/examples/A2UiComponentsGalleryExample.d.ts +10 -0
  215. package/lib/examples/A2UiComponentsGalleryExample.js +24 -855
  216. package/lib/examples/A2UiContactCardExample.d.ts +10 -0
  217. package/lib/examples/A2UiContactCardExample.js +23 -170
  218. package/lib/examples/A2UiJupyterOutputExample.d.ts +3 -0
  219. package/lib/examples/A2UiJupyterOutputExample.js +792 -0
  220. package/lib/examples/A2UiRestaurantExample.d.ts +10 -0
  221. package/lib/examples/A2UiRestaurantExample.js +24 -179
  222. package/lib/examples/A2UiViewerExample.d.ts +10 -0
  223. package/lib/examples/A2UiViewerExample.js +24 -378
  224. package/lib/examples/AgUiAgenticExample.js +2 -4
  225. package/lib/examples/AgUiBackendToolRenderingExample.js +3 -5
  226. package/lib/examples/AgUiHaikuGenUiExample.js +2 -4
  227. package/lib/examples/AgUiHumanInTheLoopExample.js +2 -4
  228. package/lib/examples/AgUiSharedStateExample.js +2 -4
  229. package/lib/examples/AgUiToolsBasedGenUiExample.js +2 -4
  230. package/lib/examples/AgentA2AExample.d.ts +17 -0
  231. package/lib/examples/AgentA2AExample.js +56 -0
  232. package/lib/examples/AgentCheckpointsExample.d.ts +9 -10
  233. package/lib/examples/AgentCheckpointsExample.js +72 -54
  234. package/lib/examples/AgentCodeSandboxExample.d.ts +7 -7
  235. package/lib/examples/AgentCodeSandboxExample.js +93 -303
  236. package/lib/examples/AgentCodeSandboxesExample.d.ts +10 -0
  237. package/lib/examples/AgentCodeSandboxesExample.js +56 -162
  238. package/lib/examples/AgentCodemodeExample.d.ts +7 -2
  239. package/lib/examples/AgentCodemodeExample.js +60 -125
  240. package/lib/examples/AgentCompactionExample.js +19 -135
  241. package/lib/examples/AgentEvalsExample.js +34 -66
  242. package/lib/examples/AgentGuardrailsExample.js +64 -112
  243. package/lib/examples/AgentHooksExample.d.ts +11 -0
  244. package/lib/examples/AgentHooksExample.js +30 -67
  245. package/lib/examples/AgentInferenceProviderExample.js +8 -32
  246. package/lib/examples/AgentLoopExample.d.ts +4 -2
  247. package/lib/examples/AgentLoopExample.js +45 -93
  248. package/lib/examples/AgentMCPExample.js +30 -79
  249. package/lib/examples/AgentMemoryExample.js +21 -64
  250. package/lib/examples/AgentMonitoringExample.js +33 -94
  251. package/lib/examples/AgentNotificationsExample.js +56 -95
  252. package/lib/examples/AgentOtelExample.js +35 -88
  253. package/lib/examples/AgentOutputsExample.d.ts +2 -1
  254. package/lib/examples/AgentOutputsExample.js +16 -137
  255. package/lib/examples/AgentParametersExample.js +7 -17
  256. package/lib/examples/AgentSkillsExample.js +40 -154
  257. package/lib/examples/AgentSubagentsExample.d.ts +7 -6
  258. package/lib/examples/AgentSubagentsExample.js +80 -191
  259. package/lib/examples/AgentToolApprovalsExample.js +35 -91
  260. package/lib/examples/AgentTriggersExample.js +43 -59
  261. package/lib/examples/AgentspecsExample.js +4 -4
  262. package/lib/examples/CellExample.d.ts +1 -1
  263. package/lib/examples/ChatExample.d.ts +12 -5
  264. package/lib/examples/ChatExample.js +38 -13
  265. package/lib/examples/CopilotKitLexicalExample.d.ts +1 -0
  266. package/lib/examples/CopilotKitLexicalExample.js +4 -41
  267. package/lib/examples/CopilotKitNotebookExample.d.ts +10 -0
  268. package/lib/examples/CopilotKitNotebookExample.js +2 -14
  269. package/lib/examples/DecksAgent.d.ts +21 -0
  270. package/lib/examples/DecksAgent.js +23 -0
  271. package/lib/examples/DocumentPageAgent.d.ts +19 -0
  272. package/lib/examples/DocumentPageAgent.js +15 -0
  273. package/lib/examples/Lexical2Example.d.ts +2 -2
  274. package/lib/examples/Lexical2Example.js +17 -38
  275. package/lib/examples/LexicalAgentExample.d.ts +2 -1
  276. package/lib/examples/LexicalAgentExample.js +29 -102
  277. package/lib/examples/LexicalAgentSidebarExample.d.ts +16 -5
  278. package/lib/examples/LexicalAgentSidebarExample.js +99 -131
  279. package/lib/examples/LoopShellExample.d.ts +38 -0
  280. package/lib/examples/LoopShellExample.js +68 -0
  281. package/lib/examples/LoopWorkspaceEmbed.d.ts +50 -0
  282. package/lib/examples/LoopWorkspaceEmbed.js +73 -0
  283. package/lib/examples/LoopWorkspaceExample.d.ts +150 -0
  284. package/lib/examples/LoopWorkspaceExample.js +151 -0
  285. package/lib/examples/NotebookAgentExample.d.ts +13 -0
  286. package/lib/examples/NotebookAgentExample.js +36 -86
  287. package/lib/examples/NotebookAgentSidebarExample.d.ts +10 -4
  288. package/lib/examples/NotebookAgentSidebarExample.js +39 -83
  289. package/lib/examples/NotebookCollaborationExample.d.ts +1 -1
  290. package/lib/examples/NotebookCollaborationExample.js +108 -20
  291. package/lib/examples/NotebookExample.d.ts +1 -1
  292. package/lib/examples/NotebookExample.js +20 -10
  293. package/lib/examples/NotebookPageAgent.d.ts +23 -0
  294. package/lib/examples/NotebookPageAgent.js +17 -0
  295. package/lib/examples/components/ExampleWrapper.d.ts +5 -0
  296. package/lib/examples/components/ExampleWrapper.js +36 -28
  297. package/lib/examples/components/LexicalEditor.d.ts +1 -1
  298. package/lib/examples/components/LexicalEditor.js +4 -24
  299. package/lib/examples/components/haiku/HaikuDisplay.d.ts +1 -1
  300. package/lib/examples/components/haiku/InlineHaikuCard.d.ts +1 -1
  301. package/lib/examples/components/weather/InlineWeatherCard.d.ts +1 -1
  302. package/lib/examples/example-selector.js +26 -6
  303. package/lib/examples/hooks/useCreateAgentOnce.d.ts +41 -0
  304. package/lib/examples/hooks/useCreateAgentOnce.js +51 -0
  305. package/lib/examples/hooks/useExampleAgentProtocol.d.ts +35 -0
  306. package/lib/examples/hooks/useExampleAgentProtocol.js +63 -0
  307. package/lib/examples/hooks/useExampleAgentRuntime.d.ts +16 -16
  308. package/lib/examples/hooks/useExampleAgentRuntime.js +26 -25
  309. package/lib/examples/hooks/useExampleAgentRuntimes.js +45 -61
  310. package/lib/examples/hooks/useExampleJupyterAgent.d.ts +91 -0
  311. package/lib/examples/hooks/useExampleJupyterAgent.js +151 -0
  312. package/lib/examples/index.d.ts +4 -0
  313. package/lib/examples/index.js +6 -0
  314. package/lib/examples/lexical/editorConfig.d.ts +2 -75
  315. package/lib/examples/lexical/editorConfig.js +26 -48
  316. package/lib/examples/lexical/lexical-theme.css +65 -47
  317. package/lib/examples/main.js +450 -322
  318. package/lib/examples/scenes/A2UiComponentsGalleryScene.d.ts +3 -0
  319. package/lib/examples/scenes/A2UiComponentsGalleryScene.js +872 -0
  320. package/lib/examples/scenes/A2UiContactCardScene.d.ts +3 -0
  321. package/lib/examples/scenes/A2UiContactCardScene.js +188 -0
  322. package/lib/examples/scenes/A2UiRestaurantScene.d.ts +3 -0
  323. package/lib/examples/scenes/A2UiRestaurantScene.js +196 -0
  324. package/lib/examples/scenes/A2UiViewerScene.d.ts +3 -0
  325. package/lib/examples/scenes/A2UiViewerScene.js +395 -0
  326. package/lib/examples/utils/agentSummaryStore.d.ts +7 -1
  327. package/lib/examples/utils/agents/earthquake-detector.ipynb.json +1 -1
  328. package/lib/examples/utils/agents/earthquake-detector.lexical.json +1 -1
  329. package/lib/examples/utils/agents/sales-forecaster.ipynb.json +1 -1
  330. package/lib/examples/utils/agents/sales-forecaster.lexical.json +1 -1
  331. package/lib/examples/utils/agents/social-post-generator.ipynb.json +1 -1
  332. package/lib/examples/utils/agents/social-post-generator.lexical.json +1 -1
  333. package/lib/examples/utils/exampleSurfaces.d.ts +31 -0
  334. package/lib/examples/utils/exampleSurfaces.js +38 -0
  335. package/lib/examples/utils/jupyterSandboxUrl.d.ts +27 -0
  336. package/lib/examples/utils/jupyterSandboxUrl.js +55 -0
  337. package/lib/examples/utils/localUrl.d.ts +2 -0
  338. package/lib/examples/utils/localUrl.js +49 -0
  339. package/lib/examples/utils/notebookToolbarItems.d.ts +46 -0
  340. package/lib/examples/utils/notebookToolbarItems.js +129 -0
  341. package/lib/examples/utils/runtimeTargetStore.d.ts +40 -1
  342. package/lib/examples/utils/runtimeTargetStore.js +82 -1
  343. package/lib/examples/utils/themedProvider.d.ts +7 -0
  344. package/lib/examples/utils/themedProvider.js +57 -4
  345. package/lib/examples/utils/useExampleAgentRuntimesUrl.js +30 -5
  346. package/lib/examples/utils/waitForAgent.d.ts +23 -0
  347. package/lib/examples/utils/waitForAgent.js +24 -0
  348. package/lib/examples2/CellExample.d.ts +1 -1
  349. package/lib/examples2/DatalayerNotebookExample.d.ts +1 -1
  350. package/lib/examples2/NotebookExample.d.ts +1 -1
  351. package/lib/examples2/NotebookMutationsKernel.d.ts +1 -1
  352. package/lib/examples2/NotebookMutationsServiceManager.d.ts +1 -1
  353. package/lib/examples2/main.js +24 -4
  354. package/lib/extensions/A2UIExtension.d.ts +1 -1
  355. package/lib/hooks/index.d.ts +8 -5
  356. package/lib/hooks/index.js +20 -5
  357. package/lib/hooks/useAgentRuntimes.d.ts +49 -22
  358. package/lib/hooks/useAgentRuntimes.js +214 -90
  359. package/lib/hooks/useAgentsCatalog.js +32 -4
  360. package/lib/hooks/useBrowserAgent.d.ts +26 -0
  361. package/lib/hooks/useBrowserAgent.js +75 -0
  362. package/lib/hooks/useBrowserInference.d.ts +27 -0
  363. package/lib/hooks/useBrowserInference.js +67 -0
  364. package/lib/hooks/useCheckpoints.d.ts +8 -17
  365. package/lib/hooks/useCheckpoints.js +25 -59
  366. package/lib/hooks/useConfig.d.ts +1 -1
  367. package/lib/hooks/useConfig.js +5 -1
  368. package/lib/hooks/useContextSnapshot.d.ts +18 -7
  369. package/lib/hooks/useContextSnapshot.js +14 -10
  370. package/lib/hooks/useNotifications.d.ts +11 -11
  371. package/lib/hooks/useNotifications.js +1 -1
  372. package/lib/hooks/useProjects.d.ts +7 -19
  373. package/lib/hooks/useProjects.js +5 -5
  374. package/lib/hooks/useSkills.d.ts +0 -1
  375. package/lib/hooks/useSkills.js +6 -2
  376. package/lib/hooks/useToolApprovals.d.ts +8 -8
  377. package/lib/hooks/useToolApprovals.js +3 -3
  378. package/lib/identity/AgentIdentity.d.ts +9 -2
  379. package/lib/index.d.ts +1 -0
  380. package/lib/index.js +4 -0
  381. package/lib/jupyter/index.d.ts +2 -1
  382. package/lib/jupyter/index.js +2 -1
  383. package/lib/jupyter/serverExecution.d.ts +78 -0
  384. package/lib/jupyter/serverExecution.js +258 -0
  385. package/lib/jupyter/useResumeServerExecutions.d.ts +11 -0
  386. package/lib/jupyter/useResumeServerExecutions.js +64 -0
  387. package/lib/lexical/ChatInlinePlugin.d.ts +33 -0
  388. package/lib/lexical/ChatInlinePlugin.js +0 -36
  389. package/lib/loop/core/focusRequests.d.ts +10 -0
  390. package/lib/loop/core/focusRequests.js +46 -0
  391. package/lib/loop/core/index.d.ts +903 -0
  392. package/lib/loop/core/index.js +264 -0
  393. package/lib/loop/core/promptStore.d.ts +44 -0
  394. package/lib/loop/core/promptStore.js +63 -0
  395. package/lib/loop/core/surfaceRequests.d.ts +33 -0
  396. package/lib/loop/core/surfaceRequests.js +29 -0
  397. package/lib/loop/core/toolbar.d.ts +28 -0
  398. package/lib/loop/core/toolbar.js +59 -0
  399. package/lib/loop/embed/LoopEmbed.d.ts +57 -0
  400. package/lib/loop/embed/LoopEmbed.js +124 -0
  401. package/lib/loop/extensions.d.ts +10 -0
  402. package/lib/loop/extensions.js +49 -0
  403. package/lib/loop/index.d.ts +68 -0
  404. package/lib/loop/index.js +87 -0
  405. package/lib/loop/plugins/a2a-sidebar/A2ASidebar.d.ts +48 -0
  406. package/lib/loop/plugins/a2a-sidebar/A2ASidebar.js +190 -0
  407. package/lib/loop/plugins/a2a-sidebar/index.d.ts +5 -0
  408. package/lib/loop/plugins/a2a-sidebar/index.js +39 -0
  409. package/lib/loop/plugins/a2ui/A2uiView.d.ts +12 -0
  410. package/lib/loop/plugins/a2ui/A2uiView.js +97 -0
  411. package/lib/loop/plugins/a2ui/index.d.ts +3 -0
  412. package/lib/loop/plugins/a2ui/index.js +50 -0
  413. package/lib/loop/plugins/a2ui-scene/index.d.ts +36 -0
  414. package/lib/loop/plugins/a2ui-scene/index.js +28 -0
  415. package/lib/loop/plugins/agent-a2a/index.d.ts +3 -0
  416. package/lib/loop/plugins/agent-a2a/index.js +26 -0
  417. package/lib/loop/plugins/agent-a2ui/index.d.ts +3 -0
  418. package/lib/loop/plugins/agent-a2ui/index.js +42 -0
  419. package/lib/loop/plugins/agent-a2ui-jupyter-output/index.d.ts +3 -0
  420. package/lib/loop/plugins/agent-a2ui-jupyter-output/index.js +53 -0
  421. package/lib/loop/plugins/agent-capacity/index.d.ts +39 -0
  422. package/lib/loop/plugins/agent-capacity/index.js +52 -0
  423. package/lib/loop/plugins/agent-checkpoints/index.d.ts +3 -0
  424. package/lib/loop/plugins/agent-checkpoints/index.js +26 -0
  425. package/lib/loop/plugins/agent-code-sandbox/index.d.ts +3 -0
  426. package/lib/loop/plugins/agent-code-sandbox/index.js +24 -0
  427. package/lib/loop/plugins/agent-code-sandboxes/index.d.ts +13 -0
  428. package/lib/loop/plugins/agent-code-sandboxes/index.js +85 -0
  429. package/lib/loop/plugins/agent-codemode/index.d.ts +5 -0
  430. package/lib/loop/plugins/agent-codemode/index.js +41 -0
  431. package/lib/loop/plugins/agent-compaction/index.d.ts +10 -0
  432. package/lib/loop/plugins/agent-compaction/index.js +34 -0
  433. package/lib/loop/plugins/agent-evals/index.d.ts +3 -0
  434. package/lib/loop/plugins/agent-evals/index.js +25 -0
  435. package/lib/loop/plugins/agent-guardrails/index.d.ts +3 -0
  436. package/lib/loop/plugins/agent-guardrails/index.js +25 -0
  437. package/lib/loop/plugins/agent-hooks/index.d.ts +3 -0
  438. package/lib/loop/plugins/agent-hooks/index.js +28 -0
  439. package/lib/loop/plugins/agent-inference/index.d.ts +7 -0
  440. package/lib/loop/plugins/agent-inference/index.js +29 -0
  441. package/lib/loop/plugins/agent-mcp/index.d.ts +3 -0
  442. package/lib/loop/plugins/agent-mcp/index.js +25 -0
  443. package/lib/loop/plugins/agent-memory/index.d.ts +3 -0
  444. package/lib/loop/plugins/agent-memory/index.js +25 -0
  445. package/lib/loop/plugins/agent-monitoring/index.d.ts +3 -0
  446. package/lib/loop/plugins/agent-monitoring/index.js +25 -0
  447. package/lib/loop/plugins/agent-notifications/index.d.ts +3 -0
  448. package/lib/loop/plugins/agent-notifications/index.js +25 -0
  449. package/lib/loop/plugins/agent-otel/index.d.ts +3 -0
  450. package/lib/loop/plugins/agent-otel/index.js +25 -0
  451. package/lib/loop/plugins/agent-outputs/index.d.ts +3 -0
  452. package/lib/loop/plugins/agent-outputs/index.js +25 -0
  453. package/lib/loop/plugins/agent-parameters/index.d.ts +3 -0
  454. package/lib/loop/plugins/agent-parameters/index.js +25 -0
  455. package/lib/loop/plugins/agent-skills/index.d.ts +3 -0
  456. package/lib/loop/plugins/agent-skills/index.js +25 -0
  457. package/lib/loop/plugins/agent-subagents/index.d.ts +3 -0
  458. package/lib/loop/plugins/agent-subagents/index.js +25 -0
  459. package/lib/loop/plugins/agent-tool-approvals/index.d.ts +11 -0
  460. package/lib/loop/plugins/agent-tool-approvals/index.js +38 -0
  461. package/lib/loop/plugins/agent-triggers/index.d.ts +3 -0
  462. package/lib/loop/plugins/agent-triggers/index.js +26 -0
  463. package/lib/loop/plugins/agents/AgentSummaryPanel.d.ts +20 -0
  464. package/lib/loop/plugins/agents/AgentSummaryPanel.js +50 -0
  465. package/lib/loop/plugins/agents/AnonymousKeyBadge.d.ts +35 -0
  466. package/lib/loop/plugins/agents/AnonymousKeyBadge.js +53 -0
  467. package/lib/loop/plugins/agents/DatalayerAgentBridge.d.ts +24 -0
  468. package/lib/loop/plugins/agents/DatalayerAgentBridge.js +102 -0
  469. package/lib/loop/plugins/agents/DatalayerAgentMount.d.ts +18 -0
  470. package/lib/loop/plugins/agents/DatalayerAgentMount.js +12 -0
  471. package/lib/loop/plugins/agents/SandboxSelector.d.ts +18 -0
  472. package/lib/loop/plugins/agents/SandboxSelector.js +99 -0
  473. package/lib/loop/plugins/agents/SandboxStatusBridge.d.ts +19 -0
  474. package/lib/loop/plugins/agents/SandboxStatusBridge.js +23 -0
  475. package/lib/loop/plugins/agents/SandboxView.d.ts +11 -0
  476. package/lib/loop/plugins/agents/SandboxView.js +43 -0
  477. package/lib/loop/plugins/agents/TeamMemberPicker.d.ts +17 -0
  478. package/lib/loop/plugins/agents/TeamMemberPicker.js +60 -0
  479. package/lib/loop/plugins/agents/agentIcons.d.ts +23 -0
  480. package/lib/loop/plugins/agents/agentIcons.js +88 -0
  481. package/lib/loop/plugins/agents/browserService.d.ts +50 -0
  482. package/lib/loop/plugins/agents/browserService.js +233 -0
  483. package/lib/loop/plugins/agents/index.d.ts +13 -0
  484. package/lib/loop/plugins/agents/index.js +17 -0
  485. package/lib/loop/plugins/agents/plugin.d.ts +91 -0
  486. package/lib/loop/plugins/agents/plugin.js +201 -0
  487. package/lib/loop/plugins/agents/service.d.ts +99 -0
  488. package/lib/loop/plugins/agents/service.js +167 -0
  489. package/lib/loop/plugins/agents/specSubagents.d.ts +18 -0
  490. package/lib/loop/plugins/agents/specSubagents.js +33 -0
  491. package/lib/loop/plugins/agents/switchable.d.ts +107 -0
  492. package/lib/loop/plugins/agents/switchable.js +405 -0
  493. package/lib/loop/plugins/agents/team.d.ts +87 -0
  494. package/lib/loop/plugins/agents/team.js +143 -0
  495. package/lib/loop/plugins/agents/useSandboxService.d.ts +11 -0
  496. package/lib/loop/plugins/agents/useSandboxService.js +36 -0
  497. package/lib/loop/plugins/agents/useTeamSelection.d.ts +10 -0
  498. package/lib/loop/plugins/agents/useTeamSelection.js +27 -0
  499. package/lib/loop/plugins/agentspecs/AgentspecPicker.d.ts +15 -0
  500. package/lib/loop/plugins/agentspecs/AgentspecPicker.js +90 -0
  501. package/lib/loop/plugins/agentspecs/index.d.ts +6 -0
  502. package/lib/loop/plugins/agentspecs/index.js +63 -0
  503. package/lib/loop/plugins/chat/ChatView.d.ts +20 -0
  504. package/lib/loop/plugins/chat/ChatView.js +1679 -0
  505. package/lib/loop/plugins/chat/chatViewTools.d.ts +41 -0
  506. package/lib/loop/plugins/chat/chatViewTools.js +92 -0
  507. package/lib/loop/plugins/chat/index.d.ts +111 -0
  508. package/lib/loop/plugins/chat/index.js +143 -0
  509. package/lib/loop/plugins/chat/turnState.d.ts +41 -0
  510. package/lib/loop/plugins/chat/turnState.js +90 -0
  511. package/lib/loop/plugins/chat-extras/index.d.ts +14 -0
  512. package/lib/loop/plugins/chat-extras/index.js +51 -0
  513. package/lib/loop/plugins/chat-header/HeaderView.d.ts +13 -0
  514. package/lib/loop/plugins/chat-header/HeaderView.js +6 -0
  515. package/lib/loop/plugins/chat-header/index.d.ts +3 -0
  516. package/lib/loop/plugins/chat-header/index.js +21 -0
  517. package/lib/loop/plugins/chat-view/index.d.ts +10 -0
  518. package/lib/loop/plugins/chat-view/index.js +29 -0
  519. package/lib/loop/plugins/checkpoints-sidebar/CheckpointsSidebar.d.ts +27 -0
  520. package/lib/loop/plugins/checkpoints-sidebar/CheckpointsSidebar.js +174 -0
  521. package/lib/loop/plugins/checkpoints-sidebar/index.d.ts +5 -0
  522. package/lib/loop/plugins/checkpoints-sidebar/index.js +39 -0
  523. package/lib/loop/plugins/commands/index.d.ts +20 -0
  524. package/lib/loop/plugins/commands/index.js +148 -0
  525. package/lib/loop/plugins/decks/DeckSurface.d.ts +10 -0
  526. package/lib/loop/plugins/decks/DeckSurface.js +6 -0
  527. package/lib/loop/plugins/decks/DecksMenu.d.ts +11 -0
  528. package/lib/loop/plugins/decks/DecksMenu.js +42 -0
  529. package/lib/loop/plugins/decks/index.d.ts +19 -0
  530. package/lib/loop/plugins/decks/index.js +133 -0
  531. package/lib/loop/plugins/decks/surface.d.ts +7 -0
  532. package/lib/loop/plugins/decks/surface.js +11 -0
  533. package/lib/loop/plugins/document/DocumentView.d.ts +12 -0
  534. package/lib/loop/plugins/document/DocumentView.js +68 -0
  535. package/lib/loop/plugins/document/index.d.ts +3 -0
  536. package/lib/loop/plugins/document/index.js +86 -0
  537. package/lib/loop/plugins/document/openingDocument.d.ts +28 -0
  538. package/lib/loop/plugins/document/openingDocument.js +122 -0
  539. package/lib/loop/plugins/document-toolbar/SandboxStatusItem.d.ts +16 -0
  540. package/lib/loop/plugins/document-toolbar/SandboxStatusItem.js +31 -0
  541. package/lib/loop/plugins/document-toolbar/index.d.ts +4 -0
  542. package/lib/loop/plugins/document-toolbar/index.js +35 -0
  543. package/lib/loop/plugins/document-toolbar/names.d.ts +6 -0
  544. package/lib/loop/plugins/document-toolbar/names.js +10 -0
  545. package/lib/loop/plugins/document-toolbar/plugin.d.ts +2 -0
  546. package/lib/loop/plugins/document-toolbar/plugin.js +38 -0
  547. package/lib/loop/plugins/document-view/index.d.ts +10 -0
  548. package/lib/loop/plugins/document-view/index.js +28 -0
  549. package/lib/loop/plugins/graph/GraphToggle.d.ts +17 -0
  550. package/lib/loop/plugins/graph/GraphToggle.js +22 -0
  551. package/lib/loop/plugins/graph/GraphView.d.ts +16 -0
  552. package/lib/loop/plugins/graph/GraphView.js +6 -0
  553. package/lib/loop/plugins/graph/index.d.ts +5 -0
  554. package/lib/loop/plugins/graph/index.js +80 -0
  555. package/lib/loop/plugins/graph/viewType.d.ts +10 -0
  556. package/lib/loop/plugins/graph/viewType.js +14 -0
  557. package/lib/loop/plugins/input-prompt/ComposerView.d.ts +15 -0
  558. package/lib/loop/plugins/input-prompt/ComposerView.js +25 -0
  559. package/lib/loop/plugins/input-prompt/index.d.ts +25 -0
  560. package/lib/loop/plugins/input-prompt/index.js +26 -0
  561. package/lib/loop/plugins/models/index.d.ts +3 -0
  562. package/lib/loop/plugins/models/index.js +49 -0
  563. package/lib/loop/plugins/notebook/NotebookView.d.ts +9 -0
  564. package/lib/loop/plugins/notebook/NotebookView.js +189 -0
  565. package/lib/loop/plugins/notebook/index.d.ts +3 -0
  566. package/lib/loop/plugins/notebook/index.js +91 -0
  567. package/lib/loop/plugins/notebook/openingNotebook.d.ts +72 -0
  568. package/lib/loop/plugins/notebook/openingNotebook.js +90 -0
  569. package/lib/loop/plugins/notebook-toolbar/index.d.ts +4 -0
  570. package/lib/loop/plugins/notebook-toolbar/index.js +45 -0
  571. package/lib/loop/plugins/notebook-toolbar/items.d.ts +10 -0
  572. package/lib/loop/plugins/notebook-toolbar/items.js +45 -0
  573. package/lib/loop/plugins/notebook-toolbar/names.d.ts +9 -0
  574. package/lib/loop/plugins/notebook-toolbar/names.js +13 -0
  575. package/lib/loop/plugins/notebook-toolbar/plugin.d.ts +2 -0
  576. package/lib/loop/plugins/notebook-toolbar/plugin.js +24 -0
  577. package/lib/loop/plugins/notebook-view/index.d.ts +10 -0
  578. package/lib/loop/plugins/notebook-view/index.js +30 -0
  579. package/lib/loop/plugins/page-layout/TurnPanel.d.ts +25 -0
  580. package/lib/loop/plugins/page-layout/TurnPanel.js +126 -0
  581. package/lib/loop/plugins/page-layout/index.d.ts +71 -0
  582. package/lib/loop/plugins/page-layout/index.js +160 -0
  583. package/lib/loop/plugins/plugins-panel/index.d.ts +14 -0
  584. package/lib/loop/plugins/plugins-panel/index.js +74 -0
  585. package/lib/loop/plugins/prompt/NewChatAction.d.ts +19 -0
  586. package/lib/loop/plugins/prompt/NewChatAction.js +10 -0
  587. package/lib/loop/plugins/prompt/index.d.ts +11 -0
  588. package/lib/loop/plugins/prompt/index.js +73 -0
  589. package/lib/loop/plugins/shell/editorChoice.d.ts +31 -0
  590. package/lib/loop/plugins/shell/editorChoice.js +58 -0
  591. package/lib/loop/plugins/shell/index.d.ts +47 -0
  592. package/lib/loop/plugins/shell/index.js +142 -0
  593. package/lib/loop/plugins/shell/useEditorPreviews.d.ts +32 -0
  594. package/lib/loop/plugins/shell/useEditorPreviews.js +217 -0
  595. package/lib/loop/plugins/subagent-activity/SubagentPulse.d.ts +16 -0
  596. package/lib/loop/plugins/subagent-activity/SubagentPulse.js +45 -0
  597. package/lib/loop/plugins/subagent-activity/index.d.ts +12 -0
  598. package/lib/loop/plugins/subagent-activity/index.js +42 -0
  599. package/lib/loop/plugins/view-switch/index.d.ts +46 -0
  600. package/lib/loop/plugins/view-switch/index.js +68 -0
  601. package/lib/loop/plugins/window-frame/WindowFrame.d.ts +48 -0
  602. package/lib/loop/plugins/window-frame/WindowFrame.js +63 -0
  603. package/lib/loop/plugins/window-frame/index.d.ts +6 -0
  604. package/lib/loop/plugins/window-frame/index.js +79 -0
  605. package/lib/loop/plugins/window-frame/slots.d.ts +26 -0
  606. package/lib/loop/plugins/window-frame/slots.js +30 -0
  607. package/lib/loop/presets.d.ts +181 -0
  608. package/lib/loop/presets.js +141 -0
  609. package/lib/loop/shell/LoopWorkspace.d.ts +109 -0
  610. package/lib/loop/shell/LoopWorkspace.js +231 -0
  611. package/lib/loop/shell/PluginToggles.d.ts +21 -0
  612. package/lib/loop/shell/PluginToggles.js +41 -0
  613. package/lib/loop/shell/ViewSwitcher.d.ts +24 -0
  614. package/lib/loop/shell/ViewSwitcher.js +43 -0
  615. package/lib/loop/shell/WorkspaceFullScreenAction.d.ts +25 -0
  616. package/lib/loop/shell/WorkspaceFullScreenAction.js +24 -0
  617. package/lib/loop/shell/index.d.ts +10 -0
  618. package/lib/loop/shell/index.js +14 -0
  619. package/lib/loop/shell/useWorkspaceFullScreen.d.ts +93 -0
  620. package/lib/loop/shell/useWorkspaceFullScreen.js +167 -0
  621. package/lib/loop-example-main.d.ts +1 -0
  622. package/lib/loop-example-main.js +42 -0
  623. package/lib/loop-main.d.ts +1 -0
  624. package/lib/loop-main.js +138 -0
  625. package/lib/mcp/McpServerManager.d.ts +1 -1
  626. package/lib/models/CodeSandboxSnapshotDTO.d.ts +1 -1
  627. package/lib/models/CodeSandboxVariant.d.ts +13 -5
  628. package/lib/models/CodeSandboxVariant.js +17 -5
  629. package/lib/models/Content.d.ts +26 -0
  630. package/lib/models/Deck.d.ts +14 -0
  631. package/lib/models/Environment.d.ts +678 -5
  632. package/lib/models/Environment.js +12 -1
  633. package/lib/models/EnvironmentDTO.d.ts +24 -6
  634. package/lib/models/EnvironmentDTO.js +13 -2
  635. package/lib/models/Exercise.d.ts +0 -2
  636. package/lib/models/ItemType.d.ts +1 -1
  637. package/lib/models/Library.d.ts +0 -2
  638. package/lib/models/Notebook.d.ts +0 -2
  639. package/lib/models/ProjectDTO.d.ts +2 -2
  640. package/lib/models/ProjectDTO.js +4 -4
  641. package/lib/models/Runtime.d.ts +17 -11
  642. package/lib/models/RuntimeDTO.d.ts +16 -7
  643. package/lib/models/RuntimeDTO.js +9 -9
  644. package/lib/models/Space.d.ts +10 -0
  645. package/lib/models/Space.js +1 -1
  646. package/lib/models/SpaceDTO.d.ts +1 -1
  647. package/lib/models/SpaceItem.d.ts +2 -2
  648. package/lib/models/environments.generated.d.ts +141 -0
  649. package/lib/models/environments.generated.js +13 -0
  650. package/lib/models/index.d.ts +1 -1
  651. package/lib/models/index.js +1 -1
  652. package/lib/protocols/A2AAdapter.d.ts +39 -6
  653. package/lib/protocols/A2AAdapter.js +180 -11
  654. package/lib/protocols/ACPAdapter.js +40 -37
  655. package/lib/protocols/AGUIAdapter.d.ts +14 -0
  656. package/lib/protocols/AGUIAdapter.js +34 -9
  657. package/lib/protocols/BrowserAgentAdapter.d.ts +125 -0
  658. package/lib/protocols/BrowserAgentAdapter.js +317 -0
  659. package/lib/protocols/VercelAIAdapter.d.ts +10 -0
  660. package/lib/protocols/VercelAIAdapter.js +27 -7
  661. package/lib/protocols/index.d.ts +1 -0
  662. package/lib/protocols/index.js +1 -0
  663. package/lib/runtimes/actions.d.ts +8 -3
  664. package/lib/runtimes/actions.js +46 -14
  665. package/lib/runtimes/apis.d.ts +13 -4
  666. package/lib/runtimes/browser/agent.d.ts +54 -0
  667. package/lib/runtimes/browser/agent.js +63 -0
  668. package/lib/runtimes/browser/anonymousToken.d.ts +121 -0
  669. package/lib/runtimes/browser/anonymousToken.js +300 -0
  670. package/lib/runtimes/browser/frontendTools.d.ts +61 -0
  671. package/lib/runtimes/browser/frontendTools.js +152 -0
  672. package/lib/runtimes/browser/index.d.ts +11 -0
  673. package/lib/runtimes/browser/index.js +20 -0
  674. package/lib/runtimes/browser/model.d.ts +52 -0
  675. package/lib/runtimes/browser/model.js +110 -0
  676. package/lib/runtimes/browser/protocol.d.ts +54 -0
  677. package/lib/runtimes/browser/protocol.js +35 -0
  678. package/lib/runtimes/browser/subagents.d.ts +131 -0
  679. package/lib/runtimes/browser/subagents.js +241 -0
  680. package/lib/runtimes/index.d.ts +3 -0
  681. package/lib/runtimes/index.js +3 -0
  682. package/lib/runtimes/lifecycle.d.ts +76 -0
  683. package/lib/runtimes/lifecycle.js +99 -0
  684. package/lib/runtimes/variants.d.ts +172 -0
  685. package/lib/runtimes/variants.js +187 -0
  686. package/lib/services/reconnectToRuntime.d.ts +2 -2
  687. package/lib/services/reconnectToRuntime.js +3 -3
  688. package/lib/services/sandboxServiceManagers.d.ts +2 -2
  689. package/lib/services/sandboxServiceManagers.js +11 -11
  690. package/lib/specs/agents/agents.d.ts +129 -112
  691. package/lib/specs/agents/agents.js +8200 -5044
  692. package/lib/specs/evals.js +9 -0
  693. package/lib/specs/frontendTools.d.ts +4 -0
  694. package/lib/specs/frontendTools.js +77 -3
  695. package/lib/specs/mcpServers.d.ts +1 -0
  696. package/lib/specs/mcpServers.js +38 -15
  697. package/lib/specs/models.d.ts +18 -0
  698. package/lib/specs/models.js +154 -0
  699. package/lib/specs/outputs.d.ts +2 -0
  700. package/lib/specs/outputs.js +31 -0
  701. package/lib/specs/personas.js +1 -1
  702. package/lib/specs/skills.js +7 -7
  703. package/lib/specs/teams/teams.d.ts +2 -0
  704. package/lib/specs/teams/teams.js +628 -111
  705. package/lib/state/index.d.ts +1 -1
  706. package/lib/state/index.js +1 -1
  707. package/lib/state/substates/RuntimesState.d.ts +5 -5
  708. package/lib/state/substates/RuntimesState.js +14 -14
  709. package/lib/state/substates/index.d.ts +1 -1
  710. package/lib/state/substates/index.js +1 -1
  711. package/lib/stores/agentRuntimeStore.d.ts +43 -1
  712. package/lib/stores/agentRuntimeStore.js +100 -11
  713. package/lib/stores/index.d.ts +1 -1
  714. package/lib/stores/index.js +1 -1
  715. package/lib/stories/Button.d.ts +1 -1
  716. package/lib/stories/Button.stories.d.ts +1 -1
  717. package/lib/stories/Header.d.ts +1 -1
  718. package/lib/stories/Header.stories.d.ts +1 -1
  719. package/lib/test-setup.js +66 -0
  720. package/lib/tools/adapters/agent-runtimes/lexicalHooks.d.ts +15 -0
  721. package/lib/tools/adapters/agent-runtimes/lexicalHooks.js +43 -2
  722. package/lib/tools/adapters/agent-runtimes/notebookHooks.d.ts +9 -0
  723. package/lib/tools/adapters/agent-runtimes/notebookHooks.js +12 -0
  724. package/lib/tools/adapters/commands/frontendCommandTools.d.ts +11 -0
  725. package/lib/tools/adapters/commands/frontendCommandTools.js +60 -0
  726. package/lib/tools/adapters/commands/index.d.ts +1 -0
  727. package/lib/tools/adapters/commands/index.js +5 -0
  728. package/lib/tools/adapters/copilotkit/lexicalHooks.js +7 -3
  729. package/lib/tools/index.d.ts +1 -0
  730. package/lib/tools/index.js +1 -0
  731. package/lib/types/a2a.d.ts +15 -1
  732. package/lib/types/agents-lifecycle.d.ts +11 -6
  733. package/lib/types/agents.d.ts +31 -6
  734. package/lib/types/agentspecs.d.ts +120 -4
  735. package/lib/types/chat.d.ts +251 -3
  736. package/lib/types/checkpoints.d.ts +20 -0
  737. package/lib/types/config.d.ts +13 -1
  738. package/lib/types/connection.d.ts +1 -1
  739. package/lib/types/evals.d.ts +2 -0
  740. package/lib/types/messages.d.ts +60 -0
  741. package/lib/types/models.d.ts +26 -0
  742. package/lib/types/notifications.d.ts +15 -6
  743. package/lib/types/outputs.d.ts +2 -0
  744. package/lib/types/protocol.d.ts +7 -2
  745. package/lib/types/stream.d.ts +48 -3
  746. package/lib/types/stream.js +5 -0
  747. package/lib/types/teams.d.ts +102 -4
  748. package/lib/types/tool-approvals.d.ts +1 -1
  749. package/lib/types/tools.d.ts +8 -2
  750. package/lib/utils/utils.js +7 -1
  751. package/package.json +376 -361
  752. package/scripts/codegen/compose.py +208 -0
  753. package/scripts/codegen/generate_agents.py +202 -31
  754. package/scripts/codegen/generate_evals.py +2 -0
  755. package/scripts/codegen/generate_frontend_tools.py +35 -6
  756. package/scripts/codegen/generate_mcp_servers.py +2 -2
  757. package/scripts/codegen/generate_models.py +40 -15
  758. package/scripts/codegen/generate_outputs.py +2 -0
  759. package/scripts/codegen/generate_sandbox_agents.py +76 -62
  760. package/scripts/codegen/generate_skills.py +2 -2
  761. package/scripts/codegen/generate_teams.py +178 -4
  762. package/scripts/codegen/generate_tools.py +6 -4
  763. package/scripts/gen_workers.py +278 -110
  764. package/scripts/generate-environments-types.py +404 -0
  765. package/lib/chat/prompt/InputFooter.d.ts +0 -58
  766. package/lib/chat/prompt/InputFooter.js +0 -194
  767. package/lib/chat/prompt/InputPromptFooter.d.ts +0 -27
  768. package/lib/chat/prompt/InputPromptFooter.js +0 -15
  769. package/lib/chat/prompt/InputPromptHeader.d.ts +0 -15
  770. package/lib/chat/prompt/InputPromptHeader.js +0 -15
  771. package/lib/chat/usage/TokenUsageBar.d.ts +0 -8
  772. package/lib/hooks/useRuntimes.d.ts +0 -5
  773. package/lib/hooks/useRuntimes.js +0 -34
  774. package/lib/jupyter/kernelsHandler.d.ts +0 -8
  775. package/lib/jupyter/kernelsHandler.js +0 -39
  776. package/lib/models/Dataset.d.ts +0 -16
  777. package/lib/utils/Cells.d.ts +0 -2
  778. package/lib/utils/Cells.js +0 -28
  779. /package/lib/models/{Dataset.js → Deck.js} +0 -0
@@ -1,3 +1,13 @@
1
+ /**
2
+ * A2UI Restaurant, as a reactor application.
3
+ *
4
+ * The scene lives in `./scenes/A2UiRestaurantScene` and arrives as an A2UI scene
5
+ * plugin — one workspace view, ordered ahead of the chat. The rest is the
6
+ * standard chat plugins; there is no agent behind this scene, so the
7
+ * workspace runs on the browser target and costs no server.
8
+ *
9
+ * @module examples/A2UiRestaurantExample
10
+ */
1
11
  import React from 'react';
2
12
  declare const A2UiRestaurantExample: React.FC;
3
13
  export default A2UiRestaurantExample;
@@ -1,187 +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, useRef, useState } from 'react';
7
- import { Box, getCardGradient } from '@datalayer/primer-addons';
8
- import { Text, Spinner, TextInput, Button } from '@primer/react';
9
- import { A2UI_RENDER_SCOPE_SX, A2uiSurfaceComposed } from '../components/a2ui';
10
- import { basicCatalog } from '@a2ui/react/v0_9';
6
+ /**
7
+ * A2UI Restaurant, as a reactor application.
8
+ *
9
+ * The scene lives in `./scenes/A2UiRestaurantScene` 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/A2UiRestaurantExample
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 { useExampleThemeStore } from './utils/themeStore';
14
- import { useA2uiProcessor } from './utils/a2ui';
15
- import { useExampleAgentRuntimesUrl } from './utils/useExampleAgentRuntimesUrl';
16
- const LOADING_TEXT_LINES = [
17
- 'Finding the best spots for you...',
18
- 'Checking reviews...',
19
- 'Looking for open tables...',
20
- 'Almost there...',
21
- ];
22
- const extractV09Messages = (data) => {
23
- const messages = [];
24
- data.forEach(item => {
25
- const part = item.root ?? item;
26
- if (part.kind !== 'data' || !part.data) {
27
- return;
28
- }
29
- const message = part.data;
30
- if (message.version === 'v0.9') {
31
- // Normalize the catalog id so surfaces render regardless of which
32
- // catalog URL variant the backend/LLM emits (the frontend only has the
33
- // registered basicCatalog).
34
- const createSurface = message.createSurface;
35
- if (createSurface && createSurface.catalogId !== basicCatalog.id) {
36
- createSurface.catalogId = basicCatalog.id;
37
- }
38
- messages.push(message);
39
- }
40
- });
41
- return messages;
42
- };
43
- function RestaurantSearch({ onSearch, isLoading, }) {
44
- const [inputValue, setInputValue] = useState('Top 5 Chinese restaurants in New York');
45
- const { theme, colorMode } = useExampleThemeStore();
46
- const gradient = getCardGradient(theme, colorMode);
47
- const handleSubmit = useCallback((event) => {
48
- event.preventDefault();
49
- if (!inputValue.trim() || isLoading) {
50
- return;
51
- }
52
- onSearch(inputValue.trim());
53
- }, [inputValue, isLoading, onSearch]);
54
- return (_jsxs(Box, { sx: {
55
- display: 'flex',
56
- flexDirection: 'column',
57
- alignItems: 'center',
58
- gap: 4,
59
- p: 4,
60
- maxWidth: 640,
61
- mx: 'auto',
62
- }, children: [_jsx(Box, { sx: {
63
- width: '100%',
64
- height: 200,
65
- borderRadius: 2,
66
- background: `linear-gradient(135deg, ${gradient.from} 0%, ${gradient.to} 100%)`,
67
- display: 'flex',
68
- alignItems: 'center',
69
- justifyContent: 'center',
70
- }, children: _jsx(Text, { sx: { fontSize: '4rem' }, children: "\uD83C\uDF7D\uFE0F" }) }), _jsx(Text, { as: "h1", sx: { fontSize: '2rem', fontWeight: 'bold', textAlign: 'center' }, children: "Restaurant Finder" }), _jsx(Text, { sx: { color: 'fg.muted', textAlign: 'center' }, children: "A2UI renderer connected to a live agent backend." }), _jsx("form", { onSubmit: handleSubmit, style: { width: '100%' }, children: _jsxs(Box, { sx: { display: 'flex', gap: 2 }, children: [_jsx(TextInput, { value: inputValue, onChange: e => setInputValue(e.target.value), placeholder: "Search for restaurants...", disabled: isLoading, sx: { flex: 1 }, block: true }), _jsx(Button, { type: "submit", disabled: isLoading || !inputValue.trim(), children: isLoading ? _jsx(Spinner, { size: "small" }) : 'Search' })] }) })] }));
71
- }
19
+ import { LoopEmbed } from '../loop';
20
+ import { defineA2uiScenePlugin } from '../loop/plugins/a2ui-scene';
21
+ setupPrimerPortals();
22
+ const ScenePlugin = defineA2uiScenePlugin({
23
+ key: 'restaurant',
24
+ title: 'A2UI Restaurant',
25
+ description: 'A restaurant-booking A2UI scene rendered from protocol messages.',
26
+ load: () => import('./scenes/A2UiRestaurantScene'),
27
+ });
72
28
  const A2UiRestaurantExample = () => {
73
- const baseUrl = useExampleAgentRuntimesUrl();
74
- const a2uiRestaurantEndpoint = `${baseUrl}/api/v1/a2ui/restaurant/`;
75
- const [isLoading, setIsLoading] = useState(false);
76
- const [error, setError] = useState(null);
77
- const [hasData, setHasData] = useState(false);
78
- const [lastQuery, setLastQuery] = useState('');
79
- const [loadingTextIndex, setLoadingTextIndex] = useState(0);
80
- const sendPayloadRef = useRef(null);
81
- const handleAction = useCallback(async (action) => {
82
- if (!sendPayloadRef.current) {
83
- return;
84
- }
85
- await sendPayloadRef.current({
86
- action: action.name,
87
- context: action.context,
88
- });
89
- }, []);
90
- const { surfaces, processMessages, resetSurfaces, themeStyle } = useA2uiProcessor(handleAction);
91
- useEffect(() => {
92
- if (!isLoading) {
93
- return;
94
- }
95
- const interval = window.setInterval(() => {
96
- setLoadingTextIndex(prev => (prev + 1) % LOADING_TEXT_LINES.length);
97
- }, 1800);
98
- return () => {
99
- clearInterval(interval);
100
- };
101
- }, [isLoading]);
102
- const sendPayload = useCallback(async (payload) => {
103
- try {
104
- setIsLoading(true);
105
- setError(null);
106
- setLoadingTextIndex(0);
107
- const response = await fetch(a2uiRestaurantEndpoint, {
108
- method: 'POST',
109
- headers: { 'Content-Type': 'application/json' },
110
- body: JSON.stringify(payload),
111
- });
112
- if (!response.ok) {
113
- const errorData = (await response.json());
114
- throw new Error(errorData.detail || 'Request failed');
115
- }
116
- const data = (await response.json());
117
- if (!Array.isArray(data)) {
118
- throw new Error(data.error || 'Invalid server payload');
119
- }
120
- const v09Messages = extractV09Messages(data);
121
- if (v09Messages.length === 0) {
122
- throw new Error('No A2UI messages returned by backend');
123
- }
124
- resetSurfaces();
125
- processMessages(v09Messages);
126
- setHasData(true);
127
- }
128
- catch (requestError) {
129
- const message = requestError instanceof Error
130
- ? requestError.message
131
- : 'Unknown error';
132
- setError(message);
133
- }
134
- finally {
135
- setIsLoading(false);
136
- }
137
- }, [processMessages, resetSurfaces, a2uiRestaurantEndpoint]);
138
- useEffect(() => {
139
- sendPayloadRef.current = sendPayload;
140
- }, [sendPayload]);
141
- const handleSearch = useCallback(async (query) => {
142
- setLastQuery(query);
143
- await sendPayload({ query });
144
- }, [sendPayload]);
145
- const handleRetry = useCallback(async () => {
146
- if (!lastQuery) {
147
- return;
148
- }
149
- await sendPayload({ query: lastQuery });
150
- }, [lastQuery, sendPayload]);
151
- return (_jsx(ThemedProvider, { children: _jsx(A2uiMarkdownProvider, { children: _jsxs(Box, { sx: { minHeight: '100vh', display: 'flex', flexDirection: 'column' }, children: [_jsxs(Box, { sx: {
152
- p: 3,
153
- borderBottom: '1px solid',
154
- borderColor: 'border.default',
155
- backgroundColor: 'canvas.default',
156
- }, children: [_jsx(Text, { as: "h1", sx: { fontSize: '1.25rem', fontWeight: 'bold' }, children: "\uD83E\uDD16 A2UI Restaurant Example" }), _jsx(Text, { sx: { fontSize: '0.875rem', color: 'fg.muted' }, children: "Uses MessageProcessor and A2uiSurface with native A2UI backend messages." })] }), _jsxs(Box, { sx: { flex: 1, p: 3 }, children: [!hasData && !isLoading && !error && (_jsx(RestaurantSearch, { onSearch: handleSearch, isLoading: isLoading })), isLoading && (_jsxs(Box, { sx: {
157
- display: 'flex',
158
- flexDirection: 'column',
159
- alignItems: 'center',
160
- justifyContent: 'center',
161
- height: 280,
162
- gap: 3,
163
- }, children: [_jsx(Spinner, { size: "large" }), _jsx(Text, { sx: { color: 'fg.muted' }, children: LOADING_TEXT_LINES[loadingTextIndex] })] })), error && !isLoading && (_jsxs(Box, { sx: {
164
- display: 'flex',
165
- flexDirection: 'column',
166
- alignItems: 'center',
167
- gap: 3,
168
- p: 4,
169
- }, children: [_jsxs(Text, { sx: { color: 'danger.fg' }, children: ["\u26A0\uFE0F ", error] }), _jsx(Button, { onClick: handleRetry, disabled: !lastQuery, children: "Retry" })] })), !isLoading && hasData && !error && (_jsxs(Box, { style: themeStyle, sx: {
170
- ...A2UI_RENDER_SCOPE_SX,
171
- display: 'flex',
172
- flexDirection: 'column',
173
- gap: 3,
174
- }, children: [_jsx(Button, { variant: "invisible", sx: { alignSelf: 'flex-start' }, onClick: () => setHasData(false), children: "\u2190 New Search" }), surfaces.map(surface => (_jsx(Box, { sx: {
175
- border: '1px solid',
176
- borderColor: 'border.default',
177
- borderRadius: 1,
178
- p: 3,
179
- }, children: _jsx(A2uiSurfaceComposed, { surface: surface }) }, surface.id)))] }))] }), _jsx(Box, { sx: {
180
- p: 2,
181
- borderTop: '1px solid',
182
- borderColor: 'border.default',
183
- backgroundColor: 'canvas.default',
184
- textAlign: 'center',
185
- }, children: _jsxs(Text, { sx: { fontSize: '0.75rem', color: 'fg.muted' }, children: ["Backend: ", a2uiRestaurantEndpoint] }) })] }) }) }));
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 }) }) }));
186
31
  };
187
32
  export default A2UiRestaurantExample;
@@ -1,3 +1,13 @@
1
+ /**
2
+ * A2UI Viewer, as a reactor application.
3
+ *
4
+ * The scene lives in `./scenes/A2UiViewerScene` and arrives as an A2UI scene
5
+ * plugin — one workspace view, ordered ahead of the chat. The rest is the
6
+ * standard chat plugins; there is no agent behind this scene, so the
7
+ * workspace runs on the browser target and costs no server.
8
+ *
9
+ * @module examples/A2UiViewerExample
10
+ */
1
11
  import React from 'react';
2
12
  declare const A2UiViewerExample: React.FC;
3
13
  export default A2UiViewerExample;
@@ -1,386 +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, useState } from 'react';
7
- import { Box } from '@datalayer/primer-addons';
8
- import { SegmentedControl, Text } from '@primer/react';
9
- import { A2UI_RENDER_SCOPE_SX, A2uiSurfaceComposed } from '../components/a2ui';
6
+ /**
7
+ * A2UI Viewer, as a reactor application.
8
+ *
9
+ * The scene lives in `./scenes/A2UiViewerScene` 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/A2UiViewerExample
15
+ */
16
+ import { useMemo } from 'react';
17
+ import { Box, setupPrimerPortals } from '@datalayer/primer-addons';
10
18
  import { ThemedProvider } from './utils/themedProvider';
11
- import { A2uiMarkdownProvider } from './utils/a2uiMarkdownProvider';
12
- import { createSceneMessages, useA2uiProcessor } from './utils/a2ui';
13
- const SCENES = [
14
- {
15
- id: 'recipe',
16
- label: 'Recipe Card',
17
- emoji: '🍲',
18
- description: 'Rich recipe card with image and metadata.',
19
- messages: createSceneMessages({
20
- surfaceId: 'viewer-recipe',
21
- components: [
22
- { id: 'root', component: 'Card', child: 'main' },
23
- {
24
- id: 'main',
25
- component: 'Column',
26
- children: [
27
- 'recipe-image',
28
- 'title',
29
- 'rating-row',
30
- 'timing-row',
31
- 'servings',
32
- ],
33
- },
34
- {
35
- id: 'recipe-image',
36
- component: 'Image',
37
- url: { path: '/image' },
38
- fit: 'cover',
39
- variant: 'largeFeature',
40
- },
41
- {
42
- id: 'title',
43
- component: 'Text',
44
- variant: 'h3',
45
- text: { path: '/title' },
46
- },
47
- {
48
- id: 'rating-row',
49
- component: 'Row',
50
- align: 'center',
51
- children: ['star', 'rating', 'reviews'],
52
- },
53
- { id: 'star', component: 'Icon', name: 'star' },
54
- { id: 'rating', component: 'Text', text: { path: '/rating' } },
55
- {
56
- id: 'reviews',
57
- component: 'Text',
58
- variant: 'caption',
59
- text: { path: '/reviewCount' },
60
- },
61
- { id: 'timing-row', component: 'Row', children: ['prep', 'cook'] },
62
- {
63
- id: 'prep',
64
- component: 'Text',
65
- variant: 'caption',
66
- text: { path: '/prepTime' },
67
- },
68
- {
69
- id: 'cook',
70
- component: 'Text',
71
- variant: 'caption',
72
- text: { path: '/cookTime' },
73
- },
74
- {
75
- id: 'servings',
76
- component: 'Text',
77
- variant: 'caption',
78
- text: { path: '/servings' },
79
- },
80
- ],
81
- value: {
82
- image: 'https://images.unsplash.com/photo-1546069901-ba9599a7e63c?w=300&h=180&fit=crop',
83
- title: 'Mediterranean Quinoa Bowl',
84
- rating: '4.9',
85
- reviewCount: '(1,247 reviews)',
86
- prepTime: '15 min prep',
87
- cookTime: '20 min cook',
88
- servings: 'Serves 4',
89
- },
90
- }),
91
- },
92
- {
93
- id: 'booking',
94
- label: 'Booking Form',
95
- emoji: '📅',
96
- description: 'Form controls and a submit action payload.',
97
- messages: createSceneMessages({
98
- surfaceId: 'viewer-booking',
99
- components: [
100
- {
101
- id: 'root',
102
- component: 'Column',
103
- children: [
104
- 'title',
105
- 'party-size',
106
- 'date-time',
107
- 'dietary',
108
- 'submit-label',
109
- 'submit-button',
110
- ],
111
- },
112
- {
113
- id: 'title',
114
- component: 'Text',
115
- variant: 'h2',
116
- text: { path: '/title' },
117
- },
118
- {
119
- id: 'party-size',
120
- component: 'TextField',
121
- label: 'Party Size',
122
- value: { path: '/partySize' },
123
- },
124
- {
125
- id: 'date-time',
126
- component: 'DateTimeInput',
127
- label: 'Date & Time',
128
- value: { path: '/dateTime' },
129
- },
130
- {
131
- id: 'dietary',
132
- component: 'TextField',
133
- label: 'Dietary Requirements',
134
- value: { path: '/dietary' },
135
- variant: 'longText',
136
- },
137
- { id: 'submit-label', component: 'Text', text: 'Submit Reservation' },
138
- {
139
- id: 'submit-button',
140
- component: 'Button',
141
- variant: 'primary',
142
- child: 'submit-label',
143
- action: {
144
- event: {
145
- name: 'submit_booking',
146
- context: {
147
- partySize: { path: '/partySize' },
148
- dateTime: { path: '/dateTime' },
149
- dietary: { path: '/dietary' },
150
- },
151
- },
152
- },
153
- },
154
- ],
155
- value: {
156
- title: 'Book Your Table',
157
- partySize: '4',
158
- dateTime: '2026-05-15T19:30:00Z',
159
- dietary: 'No peanuts',
160
- },
161
- }),
162
- },
163
- {
164
- id: 'dashboard',
165
- label: 'Sales Snapshot',
166
- emoji: '📈',
167
- description: 'Nested cards and list-like KPI tiles.',
168
- messages: createSceneMessages({
169
- surfaceId: 'viewer-dashboard',
170
- components: [
171
- {
172
- id: 'root',
173
- component: 'Column',
174
- children: ['headline', 'subtitle', 'tiles'],
175
- },
176
- {
177
- id: 'headline',
178
- component: 'Text',
179
- variant: 'h2',
180
- text: 'Sales by Category',
181
- },
182
- { id: 'subtitle', component: 'Text', text: 'Q2 performance snapshot' },
183
- {
184
- id: 'tiles',
185
- component: 'Column',
186
- children: ['tile-1', 'tile-2', 'tile-3', 'tile-4'],
187
- },
188
- { id: 'tile-1', component: 'Card', child: 'tile-1-row' },
189
- {
190
- id: 'tile-1-row',
191
- component: 'Row',
192
- justify: 'spaceBetween',
193
- children: ['tile-1-label', 'tile-1-value'],
194
- },
195
- {
196
- id: 'tile-1-label',
197
- component: 'Text',
198
- variant: 'caption',
199
- text: 'Apparel',
200
- },
201
- {
202
- id: 'tile-1-value',
203
- component: 'Text',
204
- variant: 'h3',
205
- text: '$41,200',
206
- },
207
- { id: 'tile-2', component: 'Card', child: 'tile-2-row' },
208
- {
209
- id: 'tile-2-row',
210
- component: 'Row',
211
- justify: 'spaceBetween',
212
- children: ['tile-2-label', 'tile-2-value'],
213
- },
214
- {
215
- id: 'tile-2-label',
216
- component: 'Text',
217
- variant: 'caption',
218
- text: 'Electronics',
219
- },
220
- {
221
- id: 'tile-2-value',
222
- component: 'Text',
223
- variant: 'h3',
224
- text: '$28,900',
225
- },
226
- { id: 'tile-3', component: 'Card', child: 'tile-3-row' },
227
- {
228
- id: 'tile-3-row',
229
- component: 'Row',
230
- justify: 'spaceBetween',
231
- children: ['tile-3-label', 'tile-3-value'],
232
- },
233
- {
234
- id: 'tile-3-label',
235
- component: 'Text',
236
- variant: 'caption',
237
- text: 'Home Goods',
238
- },
239
- {
240
- id: 'tile-3-value',
241
- component: 'Text',
242
- variant: 'h3',
243
- text: '$15,600',
244
- },
245
- { id: 'tile-4', component: 'Card', child: 'tile-4-row' },
246
- {
247
- id: 'tile-4-row',
248
- component: 'Row',
249
- justify: 'spaceBetween',
250
- children: ['tile-4-label', 'tile-4-value'],
251
- },
252
- {
253
- id: 'tile-4-label',
254
- component: 'Text',
255
- variant: 'caption',
256
- text: 'Health & Beauty',
257
- },
258
- {
259
- id: 'tile-4-value',
260
- component: 'Text',
261
- variant: 'h3',
262
- text: '$10,300',
263
- },
264
- ],
265
- }),
266
- },
267
- {
268
- id: 'shipping',
269
- label: 'Shipping Status',
270
- emoji: '📦',
271
- description: 'Order fulfillment timeline with current package state.',
272
- messages: createSceneMessages({
273
- surfaceId: 'viewer-shipping',
274
- components: [
275
- { id: 'root', component: 'Card', child: 'main' },
276
- {
277
- id: 'main',
278
- component: 'Column',
279
- children: [
280
- 'title-row',
281
- 'tracking',
282
- 'divider',
283
- 'status-1',
284
- 'status-2',
285
- 'status-3',
286
- 'eta',
287
- ],
288
- },
289
- {
290
- id: 'title-row',
291
- component: 'Row',
292
- align: 'center',
293
- children: ['title-icon', 'title'],
294
- },
295
- { id: 'title-icon', component: 'Icon', name: 'inventory' },
296
- {
297
- id: 'title',
298
- component: 'Text',
299
- variant: 'h2',
300
- text: 'Package Status',
301
- },
302
- {
303
- id: 'tracking',
304
- component: 'Text',
305
- variant: 'caption',
306
- text: { path: '/tracking' },
307
- },
308
- { id: 'divider', component: 'Divider' },
309
- { id: 'status-1', component: 'Text', text: { path: '/statusPlaced' } },
310
- { id: 'status-2', component: 'Text', text: { path: '/statusShipped' } },
311
- {
312
- id: 'status-3',
313
- component: 'Text',
314
- variant: 'h3',
315
- text: { path: '/statusDelivery' },
316
- },
317
- {
318
- id: 'eta',
319
- component: 'Text',
320
- variant: 'caption',
321
- text: { path: '/eta' },
322
- },
323
- ],
324
- value: {
325
- tracking: 'Tracking: 17999AA10123456784',
326
- statusPlaced: '✓ Order Placed',
327
- statusShipped: '✓ Shipped',
328
- statusDelivery: '🚚 Out for Delivery',
329
- eta: 'Estimated delivery: Today by 8 PM',
330
- },
331
- }),
332
- },
333
- ];
334
- function ViewerContent({ onAction, }) {
335
- const { surfaces, processMessages, resetSurfaces, themeStyle } = useA2uiProcessor(onAction);
336
- const [selectedSceneId, setSelectedSceneId] = useState(SCENES[0].id);
337
- const selectedScene = useMemo(() => SCENES.find(scene => scene.id === selectedSceneId) ?? SCENES[0], [selectedSceneId]);
338
- useEffect(() => {
339
- resetSurfaces();
340
- processMessages(selectedScene.messages);
341
- }, [selectedScene, processMessages, resetSurfaces]);
342
- return (_jsxs(Box, { sx: { display: 'flex', flexDirection: 'column', gap: 3, p: 3 }, children: [_jsxs(Box, { sx: {
343
- width: '100%',
344
- border: '1px solid',
345
- borderColor: 'border.default',
346
- borderRadius: 2,
347
- p: 3,
348
- backgroundColor: 'canvas.default',
349
- display: 'flex',
350
- flexDirection: 'column',
351
- gap: 3,
352
- }, children: [_jsx(Text, { sx: { fontSize: 2, fontWeight: 'bold' }, children: "Select Scene" }), _jsx(SegmentedControl, { "aria-label": "A2UI viewer scene picker", fullWidth: true, children: SCENES.map(scene => (_jsx(SegmentedControl.Button, { selected: scene.id === selectedSceneId, onClick: () => setSelectedSceneId(scene.id), children: `${scene.emoji} ${scene.label}` }, scene.id))) }), _jsx(Text, { sx: { color: 'fg.muted', fontSize: 1 }, children: selectedScene.description })] }), _jsx(Box, { style: themeStyle, sx: {
353
- ...A2UI_RENDER_SCOPE_SX,
354
- width: '100%',
355
- display: 'flex',
356
- flexDirection: 'column',
357
- gap: 3,
358
- }, children: surfaces.map(surface => (_jsx(Box, { sx: { width: '100%' }, children: _jsx(A2uiSurfaceComposed, { surface: surface }) }, surface.id))) })] }));
359
- }
19
+ import { LoopEmbed } from '../loop';
20
+ import { defineA2uiScenePlugin } from '../loop/plugins/a2ui-scene';
21
+ setupPrimerPortals();
22
+ const ScenePlugin = defineA2uiScenePlugin({
23
+ key: 'viewer',
24
+ title: 'A2UI Viewer',
25
+ description: 'Paste A2UI protocol messages and watch the surface they describe.',
26
+ load: () => import('./scenes/A2UiViewerScene'),
27
+ });
360
28
  const A2UiViewerExample = () => {
361
- const [lastAction, setLastAction] = useState(null);
362
- const handleAction = useCallback((action) => {
363
- console.log('A2UI Viewer Action:', action);
364
- setLastAction(action);
365
- }, []);
366
- return (_jsx(ThemedProvider, { children: _jsx(A2uiMarkdownProvider, { children: _jsxs(Box, { sx: { minHeight: '100vh', display: 'flex', flexDirection: 'column' }, children: [_jsxs(Box, { sx: {
367
- px: 3,
368
- py: 3,
369
- borderBottom: '1px solid',
370
- borderColor: 'border.default',
371
- backgroundColor: 'canvas.default',
372
- }, children: [_jsx(Text, { as: "h1", sx: { fontSize: 3, fontWeight: 'bold' }, children: "\uD83D\uDD0D A2UI Viewer" }), _jsx(Text, { sx: { color: 'fg.muted' }, children: "Standalone viewer scenes powered by MessageProcessor and A2uiSurface." })] }), _jsx(ViewerContent, { onAction: handleAction }), _jsx(Box, { sx: {
373
- borderTop: '1px solid',
374
- borderColor: 'border.default',
375
- p: 3,
376
- fontFamily: 'mono',
377
- fontSize: 0,
378
- backgroundColor: 'canvas.default',
379
- whiteSpace: 'pre-wrap',
380
- maxHeight: 180,
381
- overflow: 'auto',
382
- }, children: lastAction
383
- ? JSON.stringify(lastAction, null, 2)
384
- : '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 }) }) }));
385
31
  };
386
32
  export default A2UiViewerExample;