@opengeni/react 0.48.0 → 0.57.0

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 (325) hide show
  1. package/README.md +138 -2
  2. package/dist/artifacts-document.d.ts +3 -0
  3. package/dist/artifacts-document.js +17 -0
  4. package/dist/artifacts-document.js.map +1 -0
  5. package/dist/artifacts-presentation.d.ts +3 -0
  6. package/dist/artifacts-presentation.js +17 -0
  7. package/dist/artifacts-presentation.js.map +1 -0
  8. package/dist/artifacts-spreadsheet.d.ts +3 -0
  9. package/dist/artifacts-spreadsheet.js +17 -0
  10. package/dist/artifacts-spreadsheet.js.map +1 -0
  11. package/dist/artifacts.d.ts +2 -0
  12. package/dist/artifacts.js +199 -0
  13. package/dist/artifacts.js.map +1 -0
  14. package/dist/{chunk-NJ7M2B6Z.js → chunk-5UQPNLIO.js} +16 -8
  15. package/dist/{chunk-NJ7M2B6Z.js.map → chunk-5UQPNLIO.js.map} +1 -1
  16. package/dist/{chunk-LHLYWG5R.js → chunk-6KLX2RH5.js} +461 -38
  17. package/dist/chunk-6KLX2RH5.js.map +1 -0
  18. package/dist/chunk-7WCLAEFV.js +2828 -0
  19. package/dist/chunk-7WCLAEFV.js.map +1 -0
  20. package/dist/{chunk-I4MPFDRP.js → chunk-B6WPZSTT.js} +104 -104
  21. package/dist/{chunk-I4MPFDRP.js.map → chunk-B6WPZSTT.js.map} +1 -1
  22. package/dist/{chunk-EKZH6IDG.js → chunk-C5ZPSSS5.js} +111 -1
  23. package/dist/chunk-C5ZPSSS5.js.map +1 -0
  24. package/dist/{chunk-OL6QVXGF.js → chunk-HA46CYQK.js} +152 -8
  25. package/dist/chunk-HA46CYQK.js.map +1 -0
  26. package/dist/chunk-HUIKIDM5.js +2148 -0
  27. package/dist/chunk-HUIKIDM5.js.map +1 -0
  28. package/dist/{chunk-FWXGSNXT.js → chunk-IGC6A2ZI.js} +585 -34
  29. package/dist/chunk-IGC6A2ZI.js.map +1 -0
  30. package/dist/chunk-JVYQRRC4.js +53 -0
  31. package/dist/chunk-JVYQRRC4.js.map +1 -0
  32. package/dist/chunk-KCGXPP5V.js +157 -0
  33. package/dist/chunk-KCGXPP5V.js.map +1 -0
  34. package/dist/chunk-LLOLUHVG.js +5937 -0
  35. package/dist/chunk-LLOLUHVG.js.map +1 -0
  36. package/dist/{chunk-WYA65Y3F.js → chunk-MKPIAGVL.js} +13 -3
  37. package/dist/chunk-MKPIAGVL.js.map +1 -0
  38. package/dist/chunk-PEI6RANI.js +3234 -0
  39. package/dist/chunk-PEI6RANI.js.map +1 -0
  40. package/dist/chunk-R3AZOAB5.js +933 -0
  41. package/dist/chunk-R3AZOAB5.js.map +1 -0
  42. package/dist/{chunk-O4VXOBGF.js → chunk-WSK7G5LE.js} +70 -2
  43. package/dist/chunk-WSK7G5LE.js.map +1 -0
  44. package/dist/{chunk-23EJ676W.js → chunk-XBZWOM2K.js} +9 -4
  45. package/dist/chunk-XBZWOM2K.js.map +1 -0
  46. package/dist/{chunk-XCNTXWBB.js → chunk-Y7OEDUJ5.js} +856 -338
  47. package/dist/chunk-Y7OEDUJ5.js.map +1 -0
  48. package/dist/client.d.ts +10 -2
  49. package/dist/clipboard.d.ts +1 -0
  50. package/dist/clipboard.js +7 -0
  51. package/dist/clipboard.js.map +1 -0
  52. package/dist/commands/index.d.ts +3 -3
  53. package/dist/commands/registry.d.ts +1 -1
  54. package/dist/commands/types.d.ts +1 -1
  55. package/dist/components/approval-surface.d.ts +2 -2
  56. package/dist/components/artifacts/artifact-surface.d.ts +18 -0
  57. package/dist/components/artifacts/document-editor.d.ts +172 -0
  58. package/dist/components/artifacts/editable-artifact-ui.d.ts +13 -0
  59. package/dist/components/artifacts/editable-artifact-workbench.d.ts +49 -0
  60. package/dist/components/artifacts/editable-document.d.ts +24 -0
  61. package/dist/components/artifacts/editable-presentation.d.ts +24 -0
  62. package/dist/components/artifacts/editable-spreadsheet.d.ts +32 -0
  63. package/dist/components/artifacts/index.d.ts +9 -0
  64. package/dist/components/artifacts/presentation-editor.d.ts +297 -0
  65. package/dist/components/artifacts/published-html-artifact-frame.d.ts +14 -0
  66. package/dist/components/artifacts/spreadsheet-canvas.d.ts +120 -0
  67. package/dist/components/artifacts/spreadsheet-grid.d.ts +113 -0
  68. package/dist/components/browser-input.d.ts +7 -0
  69. package/dist/components/browser-viewer.d.ts +30 -0
  70. package/dist/components/chat-composer.d.ts +8 -8
  71. package/dist/components/code-editor.d.ts +25 -3
  72. package/dist/components/command-palette.d.ts +2 -2
  73. package/dist/components/composer-transcription-control.d.ts +2 -2
  74. package/dist/components/composer.d.ts +17 -17
  75. package/dist/components/computer-viewer.d.ts +24 -0
  76. package/dist/components/copy-button.d.ts +2 -2
  77. package/dist/components/desktop-viewer.d.ts +50 -22
  78. package/dist/components/diff-view.d.ts +1 -1
  79. package/dist/components/enrollment-consent.d.ts +1 -1
  80. package/dist/components/enrollment-device-flow.d.ts +1 -1
  81. package/dist/components/file-browser.d.ts +2 -2
  82. package/dist/components/fleet-tile.d.ts +1 -1
  83. package/dist/components/generated-video-player.d.ts +10 -0
  84. package/dist/components/human-input-form.d.ts +1 -1
  85. package/dist/components/human-input-surface.d.ts +2 -2
  86. package/dist/components/interaction-intervention-banner.d.ts +11 -0
  87. package/dist/components/interactive-workbench-viewers.d.ts +2 -0
  88. package/dist/components/machine-card.d.ts +2 -2
  89. package/dist/components/machine-dock-bar.d.ts +3 -3
  90. package/dist/components/machine-health-pill.d.ts +2 -2
  91. package/dist/components/machine-input-display.d.ts +1 -1
  92. package/dist/components/machine-metrics.d.ts +2 -2
  93. package/dist/components/machine-status-pill.d.ts +4 -4
  94. package/dist/components/machines/health.d.ts +1 -1
  95. package/dist/components/machines/machine-detail.d.ts +3 -3
  96. package/dist/components/machines/metric-history-chart.d.ts +1 -1
  97. package/dist/components/machines/metric-sparkline.d.ts +2 -2
  98. package/dist/components/machines/series.d.ts +2 -2
  99. package/dist/components/machines-dashboard.d.ts +2 -2
  100. package/dist/components/markdown.d.ts +1 -1
  101. package/dist/components/message-timeline.d.ts +12 -5
  102. package/dist/components/model-picker.d.ts +2 -2
  103. package/dist/components/model-policy-picker.d.ts +7 -7
  104. package/dist/components/pierre-diff.d.ts +1 -1
  105. package/dist/components/pierre-file.d.ts +1 -1
  106. package/dist/components/queue-draft-policy.d.ts +1 -1
  107. package/dist/components/queue-surface-implementation.d.ts +3 -3
  108. package/dist/components/queue-surface-state.d.ts +4 -4
  109. package/dist/components/queue-surface.d.ts +5 -5
  110. package/dist/components/sandbox-files.d.ts +3 -3
  111. package/dist/components/sandbox-terminal.d.ts +24 -4
  112. package/dist/components/sandbox-workspace.d.ts +28 -9
  113. package/dist/components/session-chrome.d.ts +4 -4
  114. package/dist/components/session-status.d.ts +2 -2
  115. package/dist/components/timeline-annotation-selection.d.ts +9 -0
  116. package/dist/components/timeline-annotations-dialog.d.ts +16 -0
  117. package/dist/components/timeline-annotations.d.ts +13 -0
  118. package/dist/components/tooltip.d.ts +4 -4
  119. package/dist/components/user-message-body.d.ts +2 -2
  120. package/dist/components/workbench-changes.d.ts +2 -2
  121. package/dist/components/workspace-dock.d.ts +1 -1
  122. package/dist/composer.d.ts +11 -11
  123. package/dist/composer.js +7 -7
  124. package/dist/hooks/internal.d.ts +1 -1
  125. package/dist/hooks/use-attached-browsers.d.ts +21 -0
  126. package/dist/hooks/use-auth-runs.d.ts +32 -0
  127. package/dist/hooks/use-available-models.d.ts +2 -2
  128. package/dist/hooks/use-billing-usage.d.ts +1 -1
  129. package/dist/hooks/use-browser-downloads.d.ts +25 -0
  130. package/dist/hooks/use-browser-frame-stream.d.ts +28 -0
  131. package/dist/hooks/use-browser-identities.d.ts +30 -0
  132. package/dist/hooks/use-browser-session.d.ts +29 -0
  133. package/dist/hooks/use-browser-sessions.d.ts +32 -0
  134. package/dist/hooks/use-channels.d.ts +26 -0
  135. package/dist/hooks/use-codex-accounts.d.ts +2 -2
  136. package/dist/hooks/use-composer.d.ts +36 -9
  137. package/dist/hooks/use-computer-frame-stream.d.ts +24 -0
  138. package/dist/hooks/use-computer-session.d.ts +29 -0
  139. package/dist/hooks/use-computer-sessions.d.ts +28 -0
  140. package/dist/hooks/use-desktop-stream.d.ts +5 -1
  141. package/dist/hooks/use-environments.d.ts +1 -1
  142. package/dist/hooks/use-file-attachments.d.ts +1 -1
  143. package/dist/hooks/use-goal.d.ts +2 -2
  144. package/dist/hooks/use-human-input.d.ts +2 -2
  145. package/dist/hooks/use-interaction-interventions.d.ts +27 -0
  146. package/dist/hooks/use-interaction-invalidation.d.ts +19 -0
  147. package/dist/hooks/use-last-started-turn-policy.d.ts +2 -2
  148. package/dist/hooks/use-machine-chip.d.ts +2 -2
  149. package/dist/hooks/use-machines.d.ts +4 -4
  150. package/dist/hooks/use-network-routes.d.ts +25 -0
  151. package/dist/hooks/use-packs.d.ts +7 -2
  152. package/dist/hooks/use-rigs.d.ts +1 -1
  153. package/dist/hooks/use-sandbox-files.d.ts +6 -4
  154. package/dist/hooks/use-sandbox-git.d.ts +6 -5
  155. package/dist/hooks/use-sandbox-terminal.d.ts +1 -1
  156. package/dist/hooks/use-scheduled-tasks.d.ts +1 -1
  157. package/dist/hooks/use-session-capabilities.d.ts +5 -4
  158. package/dist/hooks/use-session-control.d.ts +1 -1
  159. package/dist/hooks/use-session-events.d.ts +2 -2
  160. package/dist/hooks/use-session-lineage.d.ts +1 -1
  161. package/dist/hooks/use-session-mcp-approval-policy.d.ts +2 -2
  162. package/dist/hooks/use-session.d.ts +2 -2
  163. package/dist/hooks/use-site-auth-connections.d.ts +25 -0
  164. package/dist/hooks/use-slash-commands.d.ts +1 -1
  165. package/dist/hooks/use-supergrok-accounts.d.ts +26 -0
  166. package/dist/hooks/use-terminal-stream.d.ts +11 -2
  167. package/dist/hooks/use-turn-queue.d.ts +2 -2
  168. package/dist/hooks/use-video-artifact-playback.d.ts +9 -0
  169. package/dist/hooks/use-voice-input.d.ts +1 -1
  170. package/dist/hooks/use-workspace-capture.d.ts +1 -1
  171. package/dist/hooks/use-workspace-edit.d.ts +1 -1
  172. package/dist/hooks/use-workspace-sessions.d.ts +1 -1
  173. package/dist/hooks/use-workspaces.d.ts +1 -1
  174. package/dist/index.d.ts +162 -155
  175. package/dist/index.js +1822 -1703
  176. package/dist/index.js.map +1 -1
  177. package/dist/interaction.d.ts +33 -0
  178. package/dist/interaction.js +550 -0
  179. package/dist/interaction.js.map +1 -0
  180. package/dist/interactive-workbench-viewers-TOHBXJEE.js +15 -0
  181. package/dist/interactive-workbench-viewers-TOHBXJEE.js.map +1 -0
  182. package/dist/lib/host-platform.d.ts +5 -0
  183. package/dist/lib/relay-wire.d.ts +24 -1
  184. package/dist/lib/sandbox-liveness.d.ts +9 -0
  185. package/dist/lib/terminal-capability.d.ts +5 -0
  186. package/dist/lib/xterm-theme.d.ts +1 -1
  187. package/dist/machines.d.ts +30 -30
  188. package/dist/machines.js +2 -2
  189. package/dist/model-policy.d.ts +1 -1
  190. package/dist/model-policy.js +1 -1
  191. package/dist/provider.d.ts +6 -5
  192. package/dist/{queue-surface-implementation-U5JFG7HT.js → queue-surface-implementation-2KVJTYXH.js} +100 -48
  193. package/dist/queue-surface-implementation-2KVJTYXH.js.map +1 -0
  194. package/dist/realtime/dropdown-menu.d.ts +8 -8
  195. package/dist/realtime/realtime-control.d.ts +8 -8
  196. package/dist/realtime.d.ts +4 -4
  197. package/dist/realtime.js +38 -11
  198. package/dist/realtime.js.map +1 -1
  199. package/dist/session-context.d.ts +28 -2
  200. package/dist/session-ui.d.ts +14 -14
  201. package/dist/session-ui.js +5 -4
  202. package/dist/session.d.ts +28 -28
  203. package/dist/session.js +10 -10
  204. package/dist/timeline/activity-rail.d.ts +5 -3
  205. package/dist/timeline/disclosure-context.d.ts +1 -1
  206. package/dist/timeline/fleet-decision-projection.d.ts +1 -1
  207. package/dist/timeline/fleet-decision-row.d.ts +3 -3
  208. package/dist/timeline/index.d.ts +19 -19
  209. package/dist/timeline/parsers.d.ts +4 -1
  210. package/dist/timeline/projection.d.ts +3 -3
  211. package/dist/timeline/registry.d.ts +8 -2
  212. package/dist/timeline/screenshot-lightbox.d.ts +2 -2
  213. package/dist/timeline/shared.d.ts +21 -10
  214. package/dist/timeline/tool-diff.d.ts +2 -2
  215. package/dist/timeline/tool-renderers.d.ts +1 -1
  216. package/dist/timeline/turn-summary.d.ts +3 -3
  217. package/dist/timeline/types.d.ts +44 -3
  218. package/dist/timeline-annotation-selection-3L7LHGG2.js +187 -0
  219. package/dist/timeline-annotation-selection-3L7LHGG2.js.map +1 -0
  220. package/dist/timeline-annotations-dialog-U7EVLR75.js +196 -0
  221. package/dist/timeline-annotations-dialog-U7EVLR75.js.map +1 -0
  222. package/package.json +36 -7
  223. package/src/artifacts-document.ts +31 -0
  224. package/src/artifacts-presentation.ts +36 -0
  225. package/src/artifacts-spreadsheet.ts +21 -0
  226. package/src/artifacts.ts +89 -0
  227. package/src/client.ts +157 -1
  228. package/src/clipboard.ts +2 -0
  229. package/src/components/artifacts/artifact-surface.tsx +93 -0
  230. package/src/components/artifacts/document-editor.tsx +2255 -0
  231. package/src/components/artifacts/editable-artifact-ui.tsx +89 -0
  232. package/src/components/artifacts/editable-artifact-workbench.tsx +203 -0
  233. package/src/components/artifacts/editable-document.tsx +657 -0
  234. package/src/components/artifacts/editable-presentation.tsx +1020 -0
  235. package/src/components/artifacts/editable-spreadsheet.tsx +733 -0
  236. package/src/components/artifacts/index.ts +104 -0
  237. package/src/components/artifacts/presentation-editor.tsx +3148 -0
  238. package/src/components/artifacts/published-html-artifact-frame.tsx +38 -0
  239. package/src/components/artifacts/spreadsheet-canvas.ts +799 -0
  240. package/src/components/artifacts/spreadsheet-grid.tsx +2129 -0
  241. package/src/components/browser-input.ts +65 -0
  242. package/src/components/browser-viewer.tsx +2702 -0
  243. package/src/components/chat-composer.tsx +13 -0
  244. package/src/components/code-editor.tsx +89 -30
  245. package/src/components/composer-transcription-control.tsx +10 -6
  246. package/src/components/computer-viewer.tsx +1636 -0
  247. package/src/components/desktop-viewer.tsx +215 -74
  248. package/src/components/generated-video-player.tsx +89 -0
  249. package/src/components/interaction-intervention-banner.tsx +99 -0
  250. package/src/components/interactive-workbench-viewers.ts +2 -0
  251. package/src/components/machine-input-display.ts +3 -0
  252. package/src/components/machines/machine-detail.tsx +1 -1
  253. package/src/components/message-timeline.tsx +289 -32
  254. package/src/components/model-policy-picker.tsx +15 -0
  255. package/src/components/queue-surface-implementation.tsx +116 -60
  256. package/src/components/sandbox-files.tsx +2 -2
  257. package/src/components/sandbox-terminal.tsx +128 -46
  258. package/src/components/sandbox-workspace.tsx +256 -90
  259. package/src/components/session-chrome.tsx +53 -13
  260. package/src/components/timeline-annotation-selection.tsx +221 -0
  261. package/src/components/timeline-annotations-dialog.tsx +213 -0
  262. package/src/components/timeline-annotations.tsx +84 -0
  263. package/src/components/workbench-changes.tsx +188 -31
  264. package/src/components/workspace-dock.tsx +59 -5
  265. package/src/hooks/use-attached-browsers.ts +154 -0
  266. package/src/hooks/use-auth-runs.ts +278 -0
  267. package/src/hooks/use-browser-downloads.ts +218 -0
  268. package/src/hooks/use-browser-frame-stream.ts +425 -0
  269. package/src/hooks/use-browser-identities.ts +266 -0
  270. package/src/hooks/use-browser-session.ts +543 -0
  271. package/src/hooks/use-browser-sessions.ts +286 -0
  272. package/src/hooks/use-channels.ts +99 -0
  273. package/src/hooks/use-composer.ts +769 -24
  274. package/src/hooks/use-computer-frame-stream.ts +434 -0
  275. package/src/hooks/use-computer-session.ts +462 -0
  276. package/src/hooks/use-computer-sessions.ts +251 -0
  277. package/src/hooks/use-desktop-stream.ts +39 -7
  278. package/src/hooks/use-interaction-interventions.ts +242 -0
  279. package/src/hooks/use-interaction-invalidation.ts +66 -0
  280. package/src/hooks/use-machine-chip.ts +15 -3
  281. package/src/hooks/use-machines.ts +33 -3
  282. package/src/hooks/use-network-routes.ts +214 -0
  283. package/src/hooks/use-packs.ts +51 -0
  284. package/src/hooks/use-sandbox-files.ts +98 -55
  285. package/src/hooks/use-sandbox-git.ts +93 -38
  286. package/src/hooks/use-sandbox-terminal.ts +3 -2
  287. package/src/hooks/use-session-capabilities.ts +59 -46
  288. package/src/hooks/use-site-auth-connections.ts +226 -0
  289. package/src/hooks/use-supergrok-accounts.ts +81 -0
  290. package/src/hooks/use-terminal-stream.ts +359 -47
  291. package/src/hooks/use-video-artifact-playback.ts +28 -0
  292. package/src/hooks/use-workspace-edit.ts +2 -1
  293. package/src/index.ts +18 -0
  294. package/src/interaction.ts +101 -0
  295. package/src/lib/host-platform.ts +10 -0
  296. package/src/lib/relay-wire.ts +47 -4
  297. package/src/lib/sandbox-liveness.ts +11 -0
  298. package/src/lib/terminal-capability.ts +10 -0
  299. package/src/model-policy.ts +19 -4
  300. package/src/provider.tsx +133 -1
  301. package/src/realtime/realtime-control.tsx +34 -6
  302. package/src/session-context.ts +156 -1
  303. package/src/timeline/activity-rail.tsx +25 -3
  304. package/src/timeline/index.ts +3 -0
  305. package/src/timeline/parsers.ts +14 -1
  306. package/src/timeline/projection.ts +269 -14
  307. package/src/timeline/registry.ts +13 -1
  308. package/src/timeline/screenshot-lightbox.tsx +19 -9
  309. package/src/timeline/shared.tsx +56 -8
  310. package/src/timeline/tool-renderers.tsx +303 -50
  311. package/src/timeline/types.ts +57 -3
  312. package/styles/compiled.css +312 -21
  313. package/styles/index.css +15 -0
  314. package/styles/responsive.css +13 -1
  315. package/dist/chunk-23EJ676W.js.map +0 -1
  316. package/dist/chunk-EKZH6IDG.js.map +0 -1
  317. package/dist/chunk-FWXGSNXT.js.map +0 -1
  318. package/dist/chunk-LHLYWG5R.js.map +0 -1
  319. package/dist/chunk-O4VXOBGF.js.map +0 -1
  320. package/dist/chunk-OL6QVXGF.js.map +0 -1
  321. package/dist/chunk-WYA65Y3F.js.map +0 -1
  322. package/dist/chunk-XCNTXWBB.js.map +0 -1
  323. package/dist/fleet-decision-projection-SLNZMS42.js +0 -241
  324. package/dist/fleet-decision-projection-SLNZMS42.js.map +0 -1
  325. package/dist/queue-surface-implementation-U5JFG7HT.js.map +0 -1
@@ -1,10 +1,12 @@
1
- import type { StreamConnectionState, WorkspaceControlEvent } from "@opengeni/sdk";
2
- import type { EmbeddedFileAttachmentClientLike, EmbeddedGoalClientLike, EmbeddedHumanInputSessionClientLike, EmbeddedRealtimeSessionClientLike, EmbeddedSessionClientLike, EmbeddedSessionLineageClientLike, EmbeddedSessionMcpApprovalPolicyClientLike, EmbeddedSessionReadClientLike, SessionClientLike } from "./client";
1
+ import type { StreamConnectionState, WorkspaceControlEvent, WorkspaceInteractionRevisionEvent } from "@opengeni/sdk";
2
+ import type { EmbeddedFileAttachmentClientLike, EmbeddedGoalClientLike, EmbeddedHumanInputSessionClientLike, EmbeddedBrowserInteractionClientLike, EmbeddedComputerInteractionClientLike, EmbeddedInteractionClientLike, EmbeddedInterventionClientLike, EmbeddedRealtimeSessionClientLike, EmbeddedSessionClientLike, EmbeddedSessionLineageClientLike, EmbeddedSessionMcpApprovalPolicyClientLike, EmbeddedSessionReadClientLike, SessionClientLike } from "./client.js";
3
3
  export type OpenGeniContextValue = {
4
4
  client: SessionClientLike;
5
5
  workspaceId: string;
6
6
  workspaceControlEvent: WorkspaceControlEvent | null;
7
7
  workspaceControlConnectionState: StreamConnectionState | "idle" | "error";
8
+ workspaceInteractionEvent: WorkspaceInteractionRevisionEvent | null;
9
+ workspaceInteractionConnectionState: StreamConnectionState | "idle" | "error";
8
10
  registerSessionReconciler: (sessionId: string, key: string, reconcile: () => Promise<void>) => () => void;
9
11
  reconcileSession: (sessionId: string) => Promise<void>;
10
12
  };
@@ -45,6 +47,22 @@ export type EmbeddedFileAttachmentClientOverride = {
45
47
  client?: EmbeddedFileAttachmentClientLike | undefined;
46
48
  workspaceId?: string | undefined;
47
49
  };
50
+ export type EmbeddedInteractionClientOverride = {
51
+ client?: EmbeddedInteractionClientLike | undefined;
52
+ workspaceId?: string | undefined;
53
+ };
54
+ export type EmbeddedInterventionClientOverride = {
55
+ client?: EmbeddedInterventionClientLike | undefined;
56
+ workspaceId?: string | undefined;
57
+ };
58
+ export type EmbeddedBrowserInteractionClientOverride = {
59
+ client?: EmbeddedBrowserInteractionClientLike | undefined;
60
+ workspaceId?: string | undefined;
61
+ };
62
+ export type EmbeddedComputerInteractionClientOverride = {
63
+ client?: EmbeddedComputerInteractionClientLike | undefined;
64
+ workspaceId?: string | undefined;
65
+ };
48
66
  export type EmbeddedSessionContextValue = Omit<OpenGeniContextValue, "client"> & {
49
67
  client: EmbeddedSessionClientLike;
50
68
  };
@@ -53,6 +71,14 @@ type EmbeddedClientContextValue<TClient> = Omit<OpenGeniContextValue, "client">
53
71
  };
54
72
  /** Resolve client + workspace from explicit overrides or the provider. */
55
73
  export declare function useOpenGeni(override?: ClientOverride): OpenGeniContextValue;
74
+ /** Resolve only the workspace-wide Browser/Computer intervention surface. */
75
+ export declare function useEmbeddedInterventions(override?: EmbeddedInterventionClientOverride): EmbeddedClientContextValue<EmbeddedInterventionClientLike>;
76
+ /** Resolve only BrowserSession methods for a standalone Browser embed. */
77
+ export declare function useEmbeddedBrowserInteraction(override?: EmbeddedBrowserInteractionClientOverride): EmbeddedClientContextValue<EmbeddedBrowserInteractionClientLike>;
78
+ /** Resolve only ComputerSession methods for a standalone Computer embed. */
79
+ export declare function useEmbeddedComputerInteraction(override?: EmbeddedComputerInteractionClientOverride): EmbeddedClientContextValue<EmbeddedComputerInteractionClientLike>;
80
+ /** Resolve the complete Browser + Computer client surface. */
81
+ export declare function useEmbeddedInteraction(override?: EmbeddedInteractionClientOverride): EmbeddedClientContextValue<EmbeddedInteractionClientLike>;
56
82
  /**
57
83
  * Resolve the narrow client required by the session-only hooks. The full
58
84
  * provider client is structurally compatible, while an explicit host proxy
@@ -1,14 +1,14 @@
1
- export { HumanInputForm } from "./components/human-input-form";
2
- export type { HumanInputAnswerDraft, HumanInputFormMessages, HumanInputFormProps, } from "./components/human-input-form";
3
- export { HumanInputSurface } from "./components/human-input-surface";
4
- export type { HumanInputSurfaceProps } from "./components/human-input-surface";
5
- export { MessageTimeline, TimelineRow } from "./components/message-timeline";
6
- export type { MessageTimelineProps } from "./components/message-timeline";
7
- export { UserMessageBody, userMessageLikelyNeedsDisclosure } from "./components/user-message-body";
8
- export type { UserMessageBodyProps } from "./components/user-message-body";
9
- export { BUILT_IN_TURN_SUMMARY_FACET_IDS } from "./timeline/turn-summary";
10
- export type { BuiltInTurnSummaryFacetId, TurnSummaryContext, TurnSummaryFacet, TurnSummaryFacetConfiguration, TurnSummaryFacetResult, TurnSummaryOptions, } from "./timeline/turn-summary";
11
- export { QueueSurface } from "./components/queue-surface";
12
- export type { QueueSurfaceProps } from "./components/queue-surface";
13
- export { SessionChrome, sessionChromeGoalPillState } from "./components/session-chrome";
14
- export type { SessionChromeAgentsSignal, SessionChromeProps, SessionChromeSignalId, SessionChromeSignalTone, } from "./components/session-chrome";
1
+ export { HumanInputForm } from "./components/human-input-form.js";
2
+ export type { HumanInputAnswerDraft, HumanInputFormMessages, HumanInputFormProps, } from "./components/human-input-form.js";
3
+ export { HumanInputSurface } from "./components/human-input-surface.js";
4
+ export type { HumanInputSurfaceProps } from "./components/human-input-surface.js";
5
+ export { MessageTimeline, TimelineRow } from "./components/message-timeline.js";
6
+ export type { MessageTimelineProps } from "./components/message-timeline.js";
7
+ export { UserMessageBody, userMessageLikelyNeedsDisclosure } from "./components/user-message-body.js";
8
+ export type { UserMessageBodyProps } from "./components/user-message-body.js";
9
+ export { BUILT_IN_TURN_SUMMARY_FACET_IDS } from "./timeline/turn-summary.js";
10
+ export type { BuiltInTurnSummaryFacetId, TurnSummaryContext, TurnSummaryFacet, TurnSummaryFacetConfiguration, TurnSummaryFacetResult, TurnSummaryOptions, } from "./timeline/turn-summary.js";
11
+ export { QueueSurface } from "./components/queue-surface.js";
12
+ export type { QueueSurfaceProps } from "./components/queue-surface.js";
13
+ export { SessionChrome, sessionChromeGoalPillState } from "./components/session-chrome.js";
14
+ export type { SessionChromeAgentsSignal, SessionChromeProps, SessionChromeSignalId, SessionChromeSignalTone, } from "./components/session-chrome.js";
@@ -9,13 +9,14 @@ import {
9
9
  UserMessageBody,
10
10
  sessionChromeGoalPillState,
11
11
  userMessageLikelyNeedsDisclosure
12
- } from "./chunk-XCNTXWBB.js";
13
- import "./chunk-O4VXOBGF.js";
14
- import "./chunk-LHLYWG5R.js";
12
+ } from "./chunk-Y7OEDUJ5.js";
13
+ import "./chunk-6KLX2RH5.js";
14
+ import "./chunk-WSK7G5LE.js";
15
15
  import "./chunk-FK6VG4LL.js";
16
- import "./chunk-LAKLF4PA.js";
17
16
  import "./chunk-VZTQ73XT.js";
17
+ import "./chunk-LAKLF4PA.js";
18
18
  import "./chunk-22KP6LR5.js";
19
+ import "./chunk-JVYQRRC4.js";
19
20
  export {
20
21
  BUILT_IN_TURN_SUMMARY_FACET_IDS,
21
22
  HumanInputForm,
package/dist/session.d.ts CHANGED
@@ -1,28 +1,28 @@
1
- export type { EmbeddedFileAttachmentClientLike as FileAttachmentClientLike, EmbeddedGoalClientLike as GoalClientLike, EmbeddedHumanInputSessionClientLike as HumanInputSessionClientLike, EmbeddedSessionLineageClientLike as SessionLineageClientLike, EmbeddedSessionMcpApprovalPolicyClientLike as SessionMcpApprovalPolicyClientLike, EmbeddedSessionReadClientLike as SessionReadClientLike, EmbeddedSessionClientLike as SessionClientLike, } from "./client";
2
- export type { EmbeddedFileAttachmentClientOverride as FileAttachmentClientOverride, EmbeddedGoalClientOverride as GoalClientOverride, EmbeddedHumanInputClientOverride as HumanInputClientOverride, EmbeddedSessionLineageClientOverride as SessionLineageClientOverride, EmbeddedSessionMcpApprovalPolicyClientOverride as SessionMcpApprovalPolicyClientOverride, EmbeddedSessionReadClientOverride as SessionReadClientOverride, EmbeddedSessionClientOverride as ClientOverride, } from "./session-context";
3
- export { useSession, isTitleEvent } from "./hooks/use-session";
4
- export type { UseSessionOptions, UseSessionResult } from "./hooks/use-session";
5
- export { useSessionEvents } from "./hooks/use-session-events";
6
- export type { SessionEventsConnectionState, UseSessionEventsOptions, UseSessionEventsResult, } from "./hooks/use-session-events";
7
- export { useComposer, composeSendInput, shouldSteerOnKey, shouldSubmitOnKey, FILE_ONLY_MESSAGE_TEXT, } from "./hooks/use-composer";
8
- export type { ComposerSendExtras, ComposerState, UseComposerOptions } from "./hooks/use-composer";
9
- export { useFileAttachments } from "./hooks/use-file-attachments";
10
- export type { FileAttachment, UseFileAttachmentsOptions, UseFileAttachmentsResult, } from "./hooks/use-file-attachments";
11
- export { useTurnQueue, isTurnQueueEvent } from "./hooks/use-turn-queue";
12
- export type { QueueMutationKind, UseTurnQueueOptions, UseTurnQueueResult, } from "./hooks/use-turn-queue";
13
- export { useGoal, isGoalEvent } from "./hooks/use-goal";
14
- export type { UseGoalOptions, UseGoalResult } from "./hooks/use-goal";
15
- export { useSessionLineage, isLineageRefreshEvent } from "./hooks/use-session-lineage";
16
- export type { UseSessionLineageOptions, UseSessionLineageResult, } from "./hooks/use-session-lineage";
17
- export { useSessionControl } from "./hooks/use-session-control";
18
- export type { UseSessionControlOptions, UseSessionControlResult, } from "./hooks/use-session-control";
19
- export { isSessionMcpApprovalPolicyEvent, useSessionMcpApprovalPolicy, } from "./hooks/use-session-mcp-approval-policy";
20
- export type { UseSessionMcpApprovalPolicyOptions, UseSessionMcpApprovalPolicyResult, } from "./hooks/use-session-mcp-approval-policy";
21
- export { approvalsFromRequiresAction, projectPendingApprovals } from "./approvals";
22
- export type { PendingApproval } from "./approvals";
23
- export { humanInputRequestFromEvent, projectPendingHumanInputRequests } from "./human-input";
24
- export type { PendingHumanInputRequest } from "./human-input";
25
- export { isHumanInputEvent, useHumanInputRequests } from "./hooks/use-human-input";
26
- export type { UseHumanInputRequestsOptions, UseHumanInputRequestsResult, } from "./hooks/use-human-input";
27
- export { buildTimeline, creditExhaustedFromEvents, extractSessionRef, groupTimeline, sessionStatusFromEvents, toolDisplayName, } from "./timeline/projection";
28
- export type { ActivityItem, AgentMessageItem, AuthNeededItem, GoalItem, MachineInputBatchItem, MachineInputMember, MemoryItem, NoticeItem, ReasoningItem, SandboxItem, SessionStatusItem, TimelineGroup, TimelineItem, TurnOutcome, ToolCallItem, TurnEndItem, UserMessageItem, WorkerCompletionItem, WorkerItem, } from "./timeline/types";
1
+ export type { EmbeddedFileAttachmentClientLike as FileAttachmentClientLike, EmbeddedGoalClientLike as GoalClientLike, EmbeddedHumanInputSessionClientLike as HumanInputSessionClientLike, EmbeddedSessionLineageClientLike as SessionLineageClientLike, EmbeddedSessionMcpApprovalPolicyClientLike as SessionMcpApprovalPolicyClientLike, EmbeddedSessionReadClientLike as SessionReadClientLike, EmbeddedSessionClientLike as SessionClientLike, } from "./client.js";
2
+ export type { EmbeddedFileAttachmentClientOverride as FileAttachmentClientOverride, EmbeddedGoalClientOverride as GoalClientOverride, EmbeddedHumanInputClientOverride as HumanInputClientOverride, EmbeddedSessionLineageClientOverride as SessionLineageClientOverride, EmbeddedSessionMcpApprovalPolicyClientOverride as SessionMcpApprovalPolicyClientOverride, EmbeddedSessionReadClientOverride as SessionReadClientOverride, EmbeddedSessionClientOverride as ClientOverride, } from "./session-context.js";
3
+ export { useSession, isTitleEvent } from "./hooks/use-session.js";
4
+ export type { UseSessionOptions, UseSessionResult } from "./hooks/use-session.js";
5
+ export { useSessionEvents } from "./hooks/use-session-events.js";
6
+ export type { SessionEventsConnectionState, UseSessionEventsOptions, UseSessionEventsResult, } from "./hooks/use-session-events.js";
7
+ export { useComposer, composeSendInput, shouldSteerOnKey, shouldSubmitOnKey, FILE_ONLY_MESSAGE_TEXT, } from "./hooks/use-composer.js";
8
+ export type { ComposerSendExtras, ComposerState, UseComposerOptions } from "./hooks/use-composer.js";
9
+ export { useFileAttachments } from "./hooks/use-file-attachments.js";
10
+ export type { FileAttachment, UseFileAttachmentsOptions, UseFileAttachmentsResult, } from "./hooks/use-file-attachments.js";
11
+ export { useTurnQueue, isTurnQueueEvent } from "./hooks/use-turn-queue.js";
12
+ export type { QueueMutationKind, UseTurnQueueOptions, UseTurnQueueResult, } from "./hooks/use-turn-queue.js";
13
+ export { useGoal, isGoalEvent } from "./hooks/use-goal.js";
14
+ export type { UseGoalOptions, UseGoalResult } from "./hooks/use-goal.js";
15
+ export { useSessionLineage, isLineageRefreshEvent } from "./hooks/use-session-lineage.js";
16
+ export type { UseSessionLineageOptions, UseSessionLineageResult, } from "./hooks/use-session-lineage.js";
17
+ export { useSessionControl } from "./hooks/use-session-control.js";
18
+ export type { UseSessionControlOptions, UseSessionControlResult, } from "./hooks/use-session-control.js";
19
+ export { isSessionMcpApprovalPolicyEvent, useSessionMcpApprovalPolicy, } from "./hooks/use-session-mcp-approval-policy.js";
20
+ export type { UseSessionMcpApprovalPolicyOptions, UseSessionMcpApprovalPolicyResult, } from "./hooks/use-session-mcp-approval-policy.js";
21
+ export { approvalsFromRequiresAction, projectPendingApprovals } from "./approvals.js";
22
+ export type { PendingApproval } from "./approvals.js";
23
+ export { humanInputRequestFromEvent, projectPendingHumanInputRequests } from "./human-input.js";
24
+ export type { PendingHumanInputRequest } from "./human-input.js";
25
+ export { isHumanInputEvent, useHumanInputRequests } from "./hooks/use-human-input.js";
26
+ export type { UseHumanInputRequestsOptions, UseHumanInputRequestsResult, } from "./hooks/use-human-input.js";
27
+ export { buildTimeline, creditExhaustedFromEvents, extractSessionRef, groupTimeline, sessionStatusFromEvents, toolDisplayName, } from "./timeline/projection.js";
28
+ export type { ActivityItem, AgentMessageItem, AuthNeededItem, GoalItem, MachineInputBatchItem, MachineInputMember, MemoryItem, NoticeItem, ReasoningItem, SandboxItem, SessionStatusItem, TimelineGroup, TimelineItem, TurnOutcome, ToolCallItem, TurnEndItem, UserMessageItem, WorkerCompletionItem, WorkerItem, } from "./timeline/types.js";
package/dist/session.js CHANGED
@@ -18,7 +18,14 @@ import {
18
18
  useSessionLineage,
19
19
  useSessionMcpApprovalPolicy,
20
20
  useTurnQueue
21
- } from "./chunk-I4MPFDRP.js";
21
+ } from "./chunk-B6WPZSTT.js";
22
+ import {
23
+ FILE_ONLY_MESSAGE_TEXT,
24
+ composeSendInput,
25
+ shouldSteerOnKey,
26
+ shouldSubmitOnKey,
27
+ useComposer
28
+ } from "./chunk-IGC6A2ZI.js";
22
29
  import {
23
30
  buildTimeline,
24
31
  creditExhaustedFromEvents,
@@ -26,16 +33,9 @@ import {
26
33
  groupTimeline,
27
34
  sessionStatusFromEvents,
28
35
  toolDisplayName
29
- } from "./chunk-LHLYWG5R.js";
30
- import {
31
- FILE_ONLY_MESSAGE_TEXT,
32
- composeSendInput,
33
- shouldSteerOnKey,
34
- shouldSubmitOnKey,
35
- useComposer
36
- } from "./chunk-FWXGSNXT.js";
36
+ } from "./chunk-6KLX2RH5.js";
37
37
  import "./chunk-KZ73RL76.js";
38
- import "./chunk-EKZH6IDG.js";
38
+ import "./chunk-C5ZPSSS5.js";
39
39
  import "./chunk-LAKLF4PA.js";
40
40
  export {
41
41
  FILE_ONLY_MESSAGE_TEXT,
@@ -1,5 +1,5 @@
1
- import type { RetainedScreenshotLoader, ToolRegistry } from "./registry";
2
- import type { ActivityItem } from "./types";
1
+ import type { RetainedArtifactLoader, RetainedScreenshotLoader, ToolRegistry } from "./registry.js";
2
+ import type { ActivityItem } from "./types.js";
3
3
  export type ActivityRailProps = {
4
4
  items: ActivityItem[];
5
5
  /** Renderer registry for tool calls. Defaults to {@link defaultToolRegistry}. */
@@ -13,8 +13,10 @@ export type ActivityRailProps = {
13
13
  */
14
14
  onMemoryClick?: ((memoryId: string) => void) | undefined;
15
15
  loadRetainedScreenshot?: RetainedScreenshotLoader | undefined;
16
+ /** Resolve permanent generated-image receipts through the authenticated host SDK. */
17
+ loadRetainedArtifact?: RetainedArtifactLoader | undefined;
16
18
  /** Drop the left rule + indent (used inside a folded turn summary). */
17
19
  bare?: boolean | undefined;
18
20
  className?: string | undefined;
19
21
  };
20
- export declare function ActivityRail({ items, toolRegistry, onOpenSession, onMemoryClick, loadRetainedScreenshot, bare, className, }: ActivityRailProps): import("react/jsx-runtime").JSX.Element;
22
+ export declare function ActivityRail({ items, toolRegistry, onOpenSession, onMemoryClick, loadRetainedScreenshot, loadRetainedArtifact, bare, className, }: ActivityRailProps): import("react").JSX.Element;
@@ -6,7 +6,7 @@ import { type ReactNode } from "react";
6
6
  export declare function DisclosureDefaultsProvider({ defaultOpen, children, }: {
7
7
  defaultOpen: boolean;
8
8
  children: ReactNode;
9
- }): import("react/jsx-runtime").JSX.Element;
9
+ }): import("react").JSX.Element;
10
10
  /**
11
11
  * The forced initial-open seed from an ancestor {@link DisclosureDefaultsProvider},
12
12
  * or `undefined` when none is mounted (the inert, app-default case).
@@ -1,5 +1,5 @@
1
1
  import type { SessionEvent } from "@opengeni/sdk";
2
- import type { FleetDecisionItem } from "./types";
2
+ import type { FleetDecisionItem } from "./types.js";
3
3
  /**
4
4
  * Project the identity-free fleet event into the deliberately smaller UI
5
5
  * contract. This is a trust boundary: session event payloads are untyped, so
@@ -1,10 +1,10 @@
1
- import type { FleetDecisionItem } from "./types";
1
+ import type { FleetDecisionItem } from "./types.js";
2
2
  type RowJsx = typeof import("react/jsx-runtime").jsx;
3
3
  type RowJsxs = typeof import("react/jsx-runtime").jsxs;
4
4
  export default function FleetDecisionRow({ item, d: ActivityDisclosure, b: BodyNote, j, s, }: {
5
5
  item: FleetDecisionItem;
6
- d: typeof import("./shared").ActivityDisclosure;
7
- b: typeof import("./shared").BodyNote;
6
+ d: typeof import("./shared.js").ActivityDisclosure;
7
+ b: typeof import("./shared.js").BodyNote;
8
8
  j: RowJsx;
9
9
  s: RowJsxs;
10
10
  }): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
@@ -1,19 +1,19 @@
1
- export { buildTimeline, creditExhaustedFromEvents, extractSessionRef, groupTimeline, sessionStatusFromEvents, mcpToolLeaf, toolDisplayName, toolMatchesLeaf, } from "./projection";
2
- export type { ActivityItem, AgentMessageItem, AuthNeededItem, ContextCompactionItem, FleetDecisionItem, FleetDecisionScoreItem, GoalItem, MachineInputBatchItem, MachineInputMember, MemoryItem, NoticeItem, ReasoningItem, SandboxItem, SessionStatusItem, TimelineGroup, TimelineItem, TurnEndItem, ToolCallItem, UserMessageItem, WorkerCompletionItem, WorkerItem, } from "./types";
3
- export { createToolRegistry, rawTypeOf } from "./registry";
4
- export type { CreateToolRegistryOptions, RetainedScreenshotLoader, ToolRegistry, ToolRegistryEntry, ToolRenderer, ToolRendererProps, } from "./registry";
5
- export { createDefaultToolRegistry, defaultToolRegistry } from "./tool-renderers";
6
- export { ActivityRail } from "./activity-rail";
7
- export type { ActivityRailProps } from "./activity-rail";
8
- export { ActivityDisclosure, BodyNote, MediaEmpty, MediaSkeleton, PayloadBlock, ScreenshotFigure, TermBlock, Thumbnail, } from "./shared";
9
- export type { ActivityDisclosureProps, DisclosureChip } from "./shared";
10
- export { LightboxProvider, useLightbox, useLightboxOptional } from "./screenshot-lightbox";
11
- export { DisclosureDefaultsProvider, useForcedDefaultOpen } from "./disclosure-context";
12
- export { FoldMemoryProvider, inheritFoldRestingState, useFoldMemory } from "./fold-memory";
13
- export type { FoldRestingState } from "./fold-memory";
14
- export { SeenActivityIdsProvider, useSeenActivityIds } from "./seen-activity-ids";
15
- export { TimelineComputeLabelProvider, useTimelineComputeLabel } from "./compute-label";
16
- export { BUILT_IN_TURN_SUMMARY_FACET_IDS, TurnSummary, useTurnSettleOpen } from "./turn-summary";
17
- export type { BuiltInTurnSummaryFacetId, TurnOutcome, TurnSummaryContext, TurnSummaryFacet, TurnSummaryFacetConfiguration, TurnSummaryFacetResult, TurnSummaryOptions, TurnSummaryProps, } from "./turn-summary";
18
- export { applyPatchOps, applyPatchOpsFromToolItem, parseFreeformApplyPatch, controlCaret, execTruncated, isApplyPatch, isExecSessionLostBanner, looksBinary, parseExecBannerSessionId, parseToolArgs, sandboxCommandExitCode, stripExecBanner, tailPeek, unwrapMcpOutput, v4aToGitFileDiff, } from "./parsers";
19
- export type { ApplyPatchOperation } from "./parsers";
1
+ export { buildTimeline, creditExhaustedFromEvents, extractSessionRef, groupTimeline, sessionStatusFromEvents, mcpToolLeaf, toolDisplayName, toolMatchesLeaf, } from "./projection.js";
2
+ export type { ActivityItem, AgentMessageItem, AuthNeededItem, ContextCompactionItem, FleetDecisionItem, FleetDecisionScoreItem, GoalItem, MachineInputBatchItem, MachineInputMember, MemoryItem, NoticeItem, ReasoningItem, SandboxItem, SessionStatusItem, TimelineGroup, TimelineItem, TimelineAnnotationSourceDescriptor, TurnEndItem, ToolCallItem, UserMessageItem, WorkerCompletionItem, WorkerItem, } from "./types.js";
3
+ export { createToolRegistry, rawTypeOf } from "./registry.js";
4
+ export type { CreateToolRegistryOptions, RetainedArtifactLoader, RetainedScreenshotLoader, VideoArtifactPlaybackLoader, ToolRegistry, ToolRegistryEntry, ToolRenderer, ToolRendererProps, } from "./registry.js";
5
+ export { createDefaultToolRegistry, defaultToolRegistry } from "./tool-renderers.js";
6
+ export { ActivityRail } from "./activity-rail.js";
7
+ export type { ActivityRailProps } from "./activity-rail.js";
8
+ export { ActivityDisclosure, BodyNote, MediaEmpty, MediaSkeleton, PayloadBlock, ScreenshotFigure, TermBlock, Thumbnail, } from "./shared.js";
9
+ export type { ActivityDisclosureProps, DisclosureChip } from "./shared.js";
10
+ export { LightboxProvider, useLightbox, useLightboxOptional } from "./screenshot-lightbox.js";
11
+ export { DisclosureDefaultsProvider, useForcedDefaultOpen } from "./disclosure-context.js";
12
+ export { FoldMemoryProvider, inheritFoldRestingState, useFoldMemory } from "./fold-memory.js";
13
+ export type { FoldRestingState } from "./fold-memory.js";
14
+ export { SeenActivityIdsProvider, useSeenActivityIds } from "./seen-activity-ids.js";
15
+ export { TimelineComputeLabelProvider, useTimelineComputeLabel } from "./compute-label.js";
16
+ export { BUILT_IN_TURN_SUMMARY_FACET_IDS, TurnSummary, useTurnSettleOpen } from "./turn-summary.js";
17
+ export type { BuiltInTurnSummaryFacetId, TurnOutcome, TurnSummaryContext, TurnSummaryFacet, TurnSummaryFacetConfiguration, TurnSummaryFacetResult, TurnSummaryOptions, TurnSummaryProps, } from "./turn-summary.js";
18
+ export { applyPatchOps, applyPatchOpsFromToolItem, parseFreeformApplyPatch, controlCaret, execTruncated, isApplyPatch, isExecSessionLostBanner, looksBinary, parseExecBannerSessionId, parseToolArgs, sandboxCommandExitCode, stripExecBanner, tailPeek, unwrapMcpOutput, v4aToGitFileDiff, } from "./parsers.js";
19
+ export type { ApplyPatchOperation } from "./parsers.js";
@@ -1,4 +1,5 @@
1
- import { type GitFileDiff, type RetainedArtifactMetadata } from "@opengeni/sdk";
1
+ import { type GeneratedImageReceipt, type GitFileDiff, type RetainedArtifactMetadata } from "@opengeni/sdk";
2
+ export type { GeneratedImageReceipt };
2
3
  /** Recover the exit code from a sandbox exec banner (`Process exited with code N`). */
3
4
  export declare function sandboxCommandExitCode(out: unknown): number | null;
4
5
  /**
@@ -95,6 +96,8 @@ export declare function unwrapMcpOutput(output: unknown): {
95
96
  export declare function screenshotDataUrl(out: unknown): string | null;
96
97
  /** Parse the closed retained-screenshot receipt carried by new tool events. */
97
98
  export declare function retainedScreenshotMetadata(out: unknown): RetainedArtifactMetadata | null;
99
+ /** Parse the closed permanent generated-image receipt from native/function tools. */
100
+ export declare function generatedImageReceipt(out: unknown): GeneratedImageReceipt | null;
98
101
  export type TimelineMediaPreview = {
99
102
  type: "media_preview";
100
103
  mediaType: string;
@@ -1,6 +1,6 @@
1
- import type { SessionEvent, SessionStatus } from "@opengeni/sdk";
2
- import type { TimelineGroup, TimelineItem } from "./types";
3
- export { toolDisplayName, mcpToolLeaf, toolMatchesLeaf } from "./tool-display-name";
1
+ import { type SessionEvent, type SessionStatus } from "@opengeni/sdk";
2
+ import type { TimelineGroup, TimelineItem } from "./types.js";
3
+ export { toolDisplayName, mcpToolLeaf, toolMatchesLeaf } from "./tool-display-name.js";
4
4
  export declare function buildTimeline(events: SessionEvent[]): TimelineItem[];
5
5
  /**
6
6
  * Codex subscription web search can return private citation handles without
@@ -1,11 +1,17 @@
1
- import type { RetainedArtifactReference } from "@opengeni/sdk";
1
+ import type { RetainedArtifactReference, VideoArtifactPlaybackSource } from "@opengeni/sdk";
2
2
  import type { ComponentType } from "react";
3
- import type { ToolCallItem } from "./types";
3
+ import type { ToolCallItem } from "./types.js";
4
4
  export type ToolRendererProps = {
5
5
  item: ToolCallItem;
6
6
  loadRetainedScreenshot?: RetainedScreenshotLoader | undefined;
7
+ loadRetainedArtifact?: RetainedArtifactLoader | undefined;
7
8
  };
8
9
  export type RetainedScreenshotLoader = (artifact: RetainedArtifactReference, signal: AbortSignal) => Promise<Uint8Array | null>;
10
+ export type RetainedArtifactLoader = (artifact: RetainedArtifactReference, signal: AbortSignal) => Promise<Uint8Array | {
11
+ url: string;
12
+ } | null>;
13
+ /** Mint an expiring source for native browser playback without loading video bytes in JS. */
14
+ export type VideoArtifactPlaybackLoader = (artifactId: string, signal: AbortSignal) => Promise<VideoArtifactPlaybackSource>;
9
15
  export type ToolRenderer = ComponentType<ToolRendererProps>;
10
16
  /** A registry entry: which key it matches and the component that renders it. */
11
17
  export type ToolRegistryEntry = {
@@ -1,6 +1,6 @@
1
1
  import { type ReactNode } from "react";
2
2
  type LightboxController = {
3
- open: (src: string, caption?: string, source?: HTMLElement | null) => void;
3
+ open: (src: string, caption?: string, source?: HTMLElement | null, label?: string) => void;
4
4
  };
5
5
  /** Open the app-level screenshot lightbox. No-op outside a `LightboxProvider`. */
6
6
  export declare function useLightbox(): LightboxController;
@@ -22,5 +22,5 @@ export declare function useLightboxOptional(): LightboxController | null;
22
22
  */
23
23
  export declare function LightboxProvider({ children }: {
24
24
  children: ReactNode;
25
- }): import("react/jsx-runtime").JSX.Element;
25
+ }): import("react").JSX.Element;
26
26
  export {};
@@ -1,4 +1,5 @@
1
1
  import { type ReactNode } from "react";
2
+ import type { ToolCallTruncation } from "./types.js";
2
3
  /**
3
4
  * A subtle settle signal — see the CHIP DOCTRINE above. The closed tone set.
4
5
  * `"interrupted"` is a calm neutral tone for cancelled items — no dot, same
@@ -8,6 +9,10 @@ export type DisclosureChip = {
8
9
  tone: "ok" | "bad" | "muted" | "interrupted";
9
10
  text: string;
10
11
  };
12
+ export declare function ToolCallTruncationProvider({ value, children, }: {
13
+ value: ToolCallTruncation | null;
14
+ children: ReactNode;
15
+ }): import("react").JSX.Element;
11
16
  export type ActivityDisclosureProps = {
12
17
  icon: ReactNode;
13
18
  /** Icon tint. Defaults to the muted foreground; renderers pass accent/failed. */
@@ -52,6 +57,8 @@ export type ActivityDisclosureProps = {
52
57
  cancelled?: boolean | undefined;
53
58
  /** When false the row is a static line (no expand affordance). */
54
59
  expandable?: boolean | undefined;
60
+ /** Seed this individual disclosure open; user interaction still owns it afterwards. */
61
+ defaultOpen?: boolean | undefined;
55
62
  children?: ReactNode | undefined;
56
63
  };
57
64
  /**
@@ -60,7 +67,7 @@ export type ActivityDisclosureProps = {
60
67
  * inline media, and at most one right-gutter settle chip. Compact by default;
61
68
  * the body mounts only when expanded.
62
69
  */
63
- export declare function ActivityDisclosure({ icon, iconTone: iconToneProp, title, titleMono, running, preview, media, chip: chipProp, failed, cancelled, expandable, children, }: ActivityDisclosureProps): import("react/jsx-runtime").JSX.Element;
70
+ export declare function ActivityDisclosure({ icon, iconTone: iconToneProp, title, titleMono, running, preview, media, chip: chipProp, failed, cancelled, expandable, defaultOpen, children, }: ActivityDisclosureProps): import("react").JSX.Element;
64
71
  export declare function TermBlock({ command, workdir, output, live, tailLines, failed, }: {
65
72
  /**
66
73
  * The command shown in the prompt header. Pass `null` when the row title
@@ -81,25 +88,25 @@ export declare function TermBlock({ command, workdir, output, live, tailLines, f
81
88
  * toggle reveals the rest (never a dead affordance). Defaults to 12.
82
89
  */
83
90
  tailLines?: number | undefined;
84
- }): import("react/jsx-runtime").JSX.Element;
91
+ }): import("react").JSX.Element;
85
92
  export declare function PayloadBlock({ label, value, failed, }: {
86
93
  label: string;
87
94
  value: unknown;
88
95
  failed?: boolean | undefined;
89
- }): import("react/jsx-runtime").JSX.Element | null;
96
+ }): import("react").JSX.Element | null;
90
97
  /** A quiet inline note inside an expanded body (lost output, empty frame, …). */
91
98
  export declare function BodyNote({ children, tone, }: {
92
99
  children: ReactNode;
93
100
  tone?: "error" | "muted" | undefined;
94
- }): import("react/jsx-runtime").JSX.Element;
101
+ }): import("react").JSX.Element;
95
102
  /**
96
103
  * A loading screenshot placeholder. A faint camera glyph over a shimmering box,
97
104
  * so a still frame of the running state reads unambiguously as "capturing" — not
98
105
  * a broken thumbnail.
99
106
  */
100
- export declare function MediaSkeleton(): import("react/jsx-runtime").JSX.Element;
107
+ export declare function MediaSkeleton(): import("react").JSX.Element;
101
108
  /** A standardized "tool ran, produced no image" placeholder in the media slot. */
102
- export declare function MediaEmpty(): import("react/jsx-runtime").JSX.Element;
109
+ export declare function MediaEmpty(): import("react").JSX.Element;
103
110
  /**
104
111
  * A small inline screenshot thumbnail that opens the app lightbox on click.
105
112
  *
@@ -107,19 +114,23 @@ export declare function MediaEmpty(): import("react/jsx-runtime").JSX.Element;
107
114
  * Outside one it degrades to a plain, non-interactive image — never a dead
108
115
  * "Expand" button that announces an action it cannot perform.
109
116
  */
110
- export declare function Thumbnail({ src, caption, alt, }: {
117
+ export declare function Thumbnail({ src, caption, alt, expandLabel, lightboxLabel, }: {
111
118
  src: string;
112
119
  caption?: string | undefined;
113
120
  alt?: string;
114
- }): import("react/jsx-runtime").JSX.Element;
121
+ expandLabel?: string | undefined;
122
+ lightboxLabel?: string | undefined;
123
+ }): import("react").JSX.Element;
115
124
  /**
116
125
  * The expanded screenshot inside a tool body: a contained, clickable preview
117
126
  * (opens the lightbox) with a quiet caption. Constrained height + object-contain
118
127
  * so it never breaks the row layout. Like {@link Thumbnail}, it degrades to a
119
128
  * plain image outside a `LightboxProvider`.
120
129
  */
121
- export declare function ScreenshotFigure({ src, caption, alt, }: {
130
+ export declare function ScreenshotFigure({ src, caption, alt, expandLabel, lightboxLabel, }: {
122
131
  src: string;
123
132
  caption?: string | undefined;
124
133
  alt?: string;
125
- }): import("react/jsx-runtime").JSX.Element;
134
+ expandLabel?: string | undefined;
135
+ lightboxLabel?: string | undefined;
136
+ }): import("react").JSX.Element;
@@ -1,8 +1,8 @@
1
1
  import type { GitFileDiff } from "@opengeni/sdk";
2
2
  export declare function ToolDiff({ files }: {
3
3
  files: GitFileDiff[];
4
- }): import("react/jsx-runtime").JSX.Element;
4
+ }): import("react").JSX.Element;
5
5
  /** Raw-patch fallback for a V4A hunk string the parser could not structure. */
6
6
  export declare function RawPatch({ diff }: {
7
7
  diff: string;
8
- }): import("react/jsx-runtime").JSX.Element;
8
+ }): import("react").JSX.Element;
@@ -1,4 +1,4 @@
1
- import { createToolRegistry, type ToolRegistry } from "./registry";
1
+ import { createToolRegistry, type ToolRegistry } from "./registry.js";
2
2
  /** The built-in tool renderer registry: every first-party tool plus a fallback. */
3
3
  export declare const defaultToolRegistry: ToolRegistry;
4
4
  /** Build a registry that extends the built-ins with consumer entries/fallback. */
@@ -1,6 +1,6 @@
1
1
  import { type ReactNode } from "react";
2
- import type { ActivityItem, ToolCallItem, TurnOutcome } from "./types";
3
- export type { TurnOutcome } from "./types";
2
+ import type { ActivityItem, ToolCallItem, TurnOutcome } from "./types.js";
3
+ export type { TurnOutcome } from "./types.js";
4
4
  /**
5
5
  * True while settle chrome is active (open beat, slow collapse, or the short
6
6
  * cancel-close latch). Nested cluster chips stay mounted and forced OPEN for
@@ -113,4 +113,4 @@ export type TurnSummaryProps = {
113
113
  /** The rendered activity rail revealed on expand. */
114
114
  children: ReactNode;
115
115
  };
116
- export declare function TurnSummary({ items, outcome, failureText, durationMs, defaultOpen, bare, facets: facetConfiguration, settleFold, foldKey, copyText, contextCompactionCount, children, }: TurnSummaryProps): import("react/jsx-runtime").JSX.Element;
116
+ export declare function TurnSummary({ items, outcome, failureText, durationMs, defaultOpen, bare, facets: facetConfiguration, settleFold, foldKey, copyText, contextCompactionCount, children, }: TurnSummaryProps): import("react").JSX.Element;
@@ -1,8 +1,13 @@
1
- import type { ResourceRef, SessionStatus, ToolAuthNeededPayload, ToolRef } from "@opengeni/sdk";
1
+ import type { MediaGenerationResult, ResourceRef, SessionStatus, TimelineAnnotation, TimelineAnnotationSource, ToolAuthNeededPayload, ToolRef } from "@opengeni/sdk";
2
+ export type TimelineAnnotationSourceDescriptor = Omit<TimelineAnnotationSource, "startOffset" | "endOffset" | "contextBefore" | "contextAfter"> & {
3
+ text: string;
4
+ };
2
5
  export type UserMessageItem = {
3
6
  kind: "user-message";
4
7
  id: string;
5
8
  text: string;
9
+ annotations?: TimelineAnnotation[] | undefined;
10
+ annotationSource?: TimelineAnnotationSourceDescriptor | undefined;
6
11
  presentation?: {
7
12
  kind: "realtime_voice" | "realtime_voice_handoff";
8
13
  /** Full bounded execution context sent with this visible voice request. */
@@ -13,6 +18,13 @@ export type UserMessageItem = {
13
18
  /** Tools requested for the turn this message starts. */
14
19
  tools: ToolRef[];
15
20
  occurredAt: string;
21
+ /** Local-only delivery projection; absent for authoritative durable events. */
22
+ delivery?: {
23
+ state: "sending" | "queued" | "failed";
24
+ error?: string | undefined;
25
+ onRetry?: (() => void) | undefined;
26
+ onRemove?: (() => void) | undefined;
27
+ } | undefined;
16
28
  };
17
29
  export type AgentMessageItem = {
18
30
  kind: "agent-message";
@@ -22,6 +34,8 @@ export type AgentMessageItem = {
22
34
  /** Still receiving deltas (no completed/turn-end seen yet). */
23
35
  streaming: boolean;
24
36
  occurredAt: string;
37
+ /** Available only after the canonical completed event lands. */
38
+ annotationSource?: TimelineAnnotationSourceDescriptor | undefined;
25
39
  };
26
40
  export type ReasoningItem = {
27
41
  kind: "reasoning";
@@ -31,6 +45,22 @@ export type ReasoningItem = {
31
45
  streaming: boolean;
32
46
  occurredAt: string;
33
47
  };
48
+ /**
49
+ * Bounded delivery metadata carried by a projected tool-output event. The
50
+ * canonical event remains unchanged; this fact only explains what the current
51
+ * timeline surface could render and whether separately retained full evidence
52
+ * exists.
53
+ */
54
+ export type ToolCallTruncation = {
55
+ truncated: true;
56
+ surface: string;
57
+ reason: string;
58
+ omittedBytes: number | null;
59
+ fullEvidence: {
60
+ available: boolean;
61
+ reason: string | null;
62
+ };
63
+ };
34
64
  export type ToolCallItem = {
35
65
  kind: "tool-call";
36
66
  id: string;
@@ -39,6 +69,7 @@ export type ToolCallItem = {
39
69
  name: string;
40
70
  arguments: unknown;
41
71
  output: unknown;
72
+ truncation?: ToolCallTruncation | null;
42
73
  /**
43
74
  * The provider-native tool item (`agent.toolCall.created.payload.raw`). Carries
44
75
  * `type` (e.g. `apply_patch_call`, `computer_call`, `hosted_tool_call`) and the
@@ -49,6 +80,8 @@ export type ToolCallItem = {
49
80
  raw: unknown;
50
81
  status: "running" | "complete" | "failed" | "cancelled";
51
82
  occurredAt: string;
83
+ /** Canonical textual projection of the settled tool output. */
84
+ annotationSource?: TimelineAnnotationSourceDescriptor | undefined;
52
85
  };
53
86
  /**
54
87
  * An orchestration call against another session — the manager spawning or
@@ -65,6 +98,11 @@ export type WorkerItem = {
65
98
  prompt: string | null;
66
99
  /** The target/spawned worker session id, when parseable from args/output. */
67
100
  workerSessionId: string | null;
101
+ /** Bounded structured failure retained from session_create/session_send_message. */
102
+ failure: {
103
+ code: string;
104
+ message: string;
105
+ } | null;
68
106
  status: "running" | "complete" | "failed" | "cancelled";
69
107
  occurredAt: string;
70
108
  };
@@ -210,10 +248,11 @@ export type ContextCompactionItem = {
210
248
  };
211
249
  export type MachineInputMember = {
212
250
  id: string;
213
- kind: "scheduled_occurrence" | "goal_continuation" | "agent_message" | "agent_steer_instruction" | "child_terminal_result";
251
+ kind: "scheduled_occurrence" | "goal_continuation" | "agent_message" | "agent_steer_instruction" | "child_terminal_result" | "media_generation_result";
214
252
  classification: "success" | "failure" | "action_required" | "info";
215
253
  sourceId: string;
216
254
  summary: string;
255
+ result?: MediaGenerationResult | undefined;
217
256
  };
218
257
  /**
219
258
  * One or more durable non-human inputs that joined the following agent turn.
@@ -243,7 +282,7 @@ export type AuthNeededItem = {
243
282
  /** The runtime surface that requested recovery, when the event is an MCP auth signal. */
244
283
  serverId: string | null;
245
284
  /** Durable event family that produced this notice. */
246
- source?: "tool" | "credential" | undefined;
285
+ source?: "tool" | "credential" | "capability" | undefined;
247
286
  /** The connection's registrable domain, e.g. "linear.app". */
248
287
  providerDomain: string;
249
288
  /** The lapsed connection to reconnect, when the row survived. */
@@ -257,6 +296,8 @@ export type AuthNeededItem = {
257
296
  toolName: string | null;
258
297
  /** A pre-minted authorization URL, when the broker already produced one. */
259
298
  authorizationUrl: string | null;
299
+ /** Agent-selected catalog recommendation. The host still owns authorization. */
300
+ capability?: NonNullable<ToolAuthNeededPayload["capability"]> | null | undefined;
260
301
  occurredAt: string;
261
302
  };
262
303
  export type TurnOutcome = "complete" | "failed" | "cancelled";