@opengeni/react 1.0.1 → 1.0.2-canary.37191796234001

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 (629) hide show
  1. package/README.md +651 -21
  2. package/dist/accounts.d.ts +64 -0
  3. package/dist/accounts.js +822 -0
  4. package/dist/accounts.js.map +1 -0
  5. package/dist/approvals.d.ts +2 -1
  6. package/dist/artifacts-document.js +3 -2
  7. package/dist/artifacts-presentation.js +3 -2
  8. package/dist/artifacts-spreadsheet.js +2 -2
  9. package/dist/artifacts.d.ts +4 -1
  10. package/dist/artifacts.js +518 -42
  11. package/dist/artifacts.js.map +1 -1
  12. package/dist/browser-viewer-GTR5XQ7X.js +16 -0
  13. package/dist/capability-catalog-row.d.ts +20 -0
  14. package/dist/capability-logo-fallback.d.ts +3 -0
  15. package/dist/chat-interactive-block-UGBTNB3L.js +11 -0
  16. package/dist/chat-interactive-block-UGBTNB3L.js.map +1 -0
  17. package/dist/{chunk-5UQPNLIO.js → chunk-23J2ZNXT.js} +4117 -3896
  18. package/dist/chunk-23J2ZNXT.js.map +1 -0
  19. package/dist/chunk-447JLCBU.js +209 -0
  20. package/dist/chunk-447JLCBU.js.map +1 -0
  21. package/dist/chunk-4RVYOY4O.js +379 -0
  22. package/dist/chunk-4RVYOY4O.js.map +1 -0
  23. package/dist/chunk-5CVXZA3Y.js +292 -0
  24. package/dist/chunk-5CVXZA3Y.js.map +1 -0
  25. package/dist/chunk-5J4FOW6Q.js +108 -0
  26. package/dist/chunk-5J4FOW6Q.js.map +1 -0
  27. package/dist/chunk-A2PI6UMY.js +41 -0
  28. package/dist/chunk-A2PI6UMY.js.map +1 -0
  29. package/dist/{chunk-7WCLAEFV.js → chunk-A4UJB2MM.js} +37 -27
  30. package/dist/chunk-A4UJB2MM.js.map +1 -0
  31. package/dist/chunk-B3V6TG77.js +41 -0
  32. package/dist/chunk-B3V6TG77.js.map +1 -0
  33. package/dist/chunk-BRM6FVZA.js +302 -0
  34. package/dist/chunk-BRM6FVZA.js.map +1 -0
  35. package/dist/chunk-C5X5AJXK.js +182 -0
  36. package/dist/chunk-C5X5AJXK.js.map +1 -0
  37. package/dist/chunk-CR7U7HAR.js +453 -0
  38. package/dist/chunk-CR7U7HAR.js.map +1 -0
  39. package/dist/{chunk-R3AZOAB5.js → chunk-DYWBUX5Q.js} +29 -123
  40. package/dist/chunk-DYWBUX5Q.js.map +1 -0
  41. package/dist/chunk-E3G7SAYZ.js +3124 -0
  42. package/dist/chunk-E3G7SAYZ.js.map +1 -0
  43. package/dist/chunk-ELCE5SXV.js +359 -0
  44. package/dist/chunk-ELCE5SXV.js.map +1 -0
  45. package/dist/chunk-ERGYJIBB.js +21 -0
  46. package/dist/chunk-ERGYJIBB.js.map +1 -0
  47. package/dist/chunk-FFA2OVOV.js +319 -0
  48. package/dist/chunk-FFA2OVOV.js.map +1 -0
  49. package/dist/chunk-FZCP527Y.js +116 -0
  50. package/dist/chunk-FZCP527Y.js.map +1 -0
  51. package/dist/chunk-GIMRELBW.js +14 -0
  52. package/dist/chunk-GIMRELBW.js.map +1 -0
  53. package/dist/{chunk-6KLX2RH5.js → chunk-H2NJQORO.js} +1069 -79
  54. package/dist/chunk-H2NJQORO.js.map +1 -0
  55. package/dist/chunk-I7IWRQLN.js +1608 -0
  56. package/dist/chunk-I7IWRQLN.js.map +1 -0
  57. package/dist/{chunk-HA46CYQK.js → chunk-IQUCRAT7.js} +792 -537
  58. package/dist/chunk-IQUCRAT7.js.map +1 -0
  59. package/dist/chunk-IWIDV7SB.js +1 -0
  60. package/dist/chunk-IWIDV7SB.js.map +1 -0
  61. package/dist/chunk-J2QWVSQY.js +312 -0
  62. package/dist/chunk-J2QWVSQY.js.map +1 -0
  63. package/dist/chunk-JFNEV4LU.js +2733 -0
  64. package/dist/chunk-JFNEV4LU.js.map +1 -0
  65. package/dist/chunk-JT4JW7BC.js +54 -0
  66. package/dist/chunk-JT4JW7BC.js.map +1 -0
  67. package/dist/chunk-K3HQAKQX.js +24 -0
  68. package/dist/chunk-K3HQAKQX.js.map +1 -0
  69. package/dist/{chunk-C5ZPSSS5.js → chunk-NEXLLTP4.js} +2 -1
  70. package/dist/{chunk-C5ZPSSS5.js.map → chunk-NEXLLTP4.js.map} +1 -1
  71. package/dist/chunk-NZUI76EM.js +371 -0
  72. package/dist/chunk-NZUI76EM.js.map +1 -0
  73. package/dist/{chunk-PEI6RANI.js → chunk-PNY3JKBJ.js} +309 -74
  74. package/dist/chunk-PNY3JKBJ.js.map +1 -0
  75. package/dist/{chunk-IGC6A2ZI.js → chunk-Q5QBEZIQ.js} +777 -246
  76. package/dist/chunk-Q5QBEZIQ.js.map +1 -0
  77. package/dist/chunk-RHREZ7BO.js +11 -0
  78. package/dist/chunk-RHREZ7BO.js.map +1 -0
  79. package/dist/chunk-SCOTPE2I.js +589 -0
  80. package/dist/chunk-SCOTPE2I.js.map +1 -0
  81. package/dist/{chunk-B6WPZSTT.js → chunk-SJZDKVW2.js} +1331 -1163
  82. package/dist/chunk-SJZDKVW2.js.map +1 -0
  83. package/dist/chunk-TMJRG4YC.js +12803 -0
  84. package/dist/chunk-TMJRG4YC.js.map +1 -0
  85. package/dist/chunk-TMYGL6X5.js +742 -0
  86. package/dist/chunk-TMYGL6X5.js.map +1 -0
  87. package/dist/chunk-UGLEYEMP.js +33 -0
  88. package/dist/chunk-UGLEYEMP.js.map +1 -0
  89. package/dist/chunk-UK4TINKT.js +27 -0
  90. package/dist/chunk-UK4TINKT.js.map +1 -0
  91. package/dist/chunk-UTRTG6LH.js +220 -0
  92. package/dist/chunk-UTRTG6LH.js.map +1 -0
  93. package/dist/chunk-WEHMPOXK.js +39 -0
  94. package/dist/chunk-WEHMPOXK.js.map +1 -0
  95. package/dist/chunk-WRHIZYZF.js +988 -0
  96. package/dist/chunk-WRHIZYZF.js.map +1 -0
  97. package/dist/{chunk-HUIKIDM5.js → chunk-WUISZ3WU.js} +223 -115
  98. package/dist/chunk-WUISZ3WU.js.map +1 -0
  99. package/dist/chunk-XCHWDJ22.js +107 -0
  100. package/dist/chunk-XCHWDJ22.js.map +1 -0
  101. package/dist/chunk-XOAMRDDK.js +481 -0
  102. package/dist/chunk-XOAMRDDK.js.map +1 -0
  103. package/dist/chunk-XUW2UWQM.js +299 -0
  104. package/dist/chunk-XUW2UWQM.js.map +1 -0
  105. package/dist/{chunk-KCGXPP5V.js → chunk-Y2PRMYLC.js} +11 -6
  106. package/dist/chunk-Y2PRMYLC.js.map +1 -0
  107. package/dist/chunk-YBXQDQFX.js +1772 -0
  108. package/dist/chunk-YBXQDQFX.js.map +1 -0
  109. package/dist/{chunk-KZ73RL76.js → chunk-YQEAA6LT.js} +7 -3
  110. package/dist/chunk-YQEAA6LT.js.map +1 -0
  111. package/dist/chunk-YV4L3ILF.js +9 -0
  112. package/dist/chunk-YV4L3ILF.js.map +1 -0
  113. package/dist/{chunk-LLOLUHVG.js → chunk-YWFG7ZX7.js} +1358 -2746
  114. package/dist/chunk-YWFG7ZX7.js.map +1 -0
  115. package/dist/chunk-ZYRGEKWS.js +216 -0
  116. package/dist/chunk-ZYRGEKWS.js.map +1 -0
  117. package/dist/client.d.ts +7 -4
  118. package/dist/clipboard.js +1 -0
  119. package/dist/commands/types.d.ts +2 -0
  120. package/dist/components/anthropic-mark.d.ts +3 -0
  121. package/dist/components/approval-surface.d.ts +15 -0
  122. package/dist/components/artifacts/artifact-chrome.d.ts +120 -0
  123. package/dist/components/artifacts/artifact-sandbox.d.ts +27 -0
  124. package/dist/components/artifacts/artifact-surface.d.ts +3 -1
  125. package/dist/components/artifacts/chat-interactive-block.d.ts +29 -0
  126. package/dist/components/artifacts/deferred-chat-media.d.ts +15 -0
  127. package/dist/components/artifacts/document-editor.d.ts +4 -2
  128. package/dist/components/artifacts/editable-artifact-ui.d.ts +2 -1
  129. package/dist/components/artifacts/editable-artifact-view.d.ts +46 -0
  130. package/dist/components/artifacts/editable-document.d.ts +1 -1
  131. package/dist/components/artifacts/editable-presentation.d.ts +2 -2
  132. package/dist/components/artifacts/editable-spreadsheet.d.ts +2 -1
  133. package/dist/components/artifacts/index.d.ts +8 -1
  134. package/dist/components/artifacts/inline-html-document.d.ts +2 -0
  135. package/dist/components/artifacts/latest-task-runner.d.ts +15 -0
  136. package/dist/components/artifacts/presentation-editor.d.ts +6 -2
  137. package/dist/components/artifacts/published-html-artifact-frame.d.ts +48 -3
  138. package/dist/components/artifacts/session-artifact-viewer.d.ts +39 -0
  139. package/dist/components/artifacts/site-view.d.ts +23 -0
  140. package/dist/components/artifacts/spreadsheet-general-display.d.ts +24 -0
  141. package/dist/components/artifacts/visualization-assets.gen.d.ts +2 -0
  142. package/dist/components/browser-select-control.d.ts +16 -0
  143. package/dist/components/browser-viewer.d.ts +10 -1
  144. package/dist/components/chat-composer.d.ts +21 -3
  145. package/dist/components/child-session-link.d.ts +5 -0
  146. package/dist/components/claude-mark.d.ts +3 -0
  147. package/dist/components/code-editor.d.ts +1 -4
  148. package/dist/components/composer.d.ts +45 -4
  149. package/dist/components/computer-viewer.d.ts +4 -1
  150. package/dist/components/copy-button.d.ts +3 -1
  151. package/dist/components/desktop-viewer.d.ts +1 -1
  152. package/dist/components/enrollment-consent.d.ts +6 -3
  153. package/dist/components/file-browser.d.ts +10 -1
  154. package/dist/components/fleet-tile.d.ts +2 -2
  155. package/dist/components/grok-mark.d.ts +26 -0
  156. package/dist/components/human-input-form.d.ts +21 -2
  157. package/dist/components/human-input-surface.d.ts +6 -3
  158. package/dist/components/machine-card.d.ts +4 -1
  159. package/dist/components/machines/machine-detail.d.ts +4 -1
  160. package/dist/components/machines/machine-operation-policy.d.ts +11 -0
  161. package/dist/components/machines-dashboard.d.ts +3 -1
  162. package/dist/components/markdown-table-layout.d.ts +12 -0
  163. package/dist/components/markdown.d.ts +47 -3
  164. package/dist/components/message-timeline.d.ts +72 -9
  165. package/dist/components/model-mark.d.ts +29 -0
  166. package/dist/components/model-policy-picker-menu.d.ts +9 -0
  167. package/dist/components/model-policy-picker.d.ts +62 -13
  168. package/dist/components/open-geni-chat.d.ts +55 -0
  169. package/dist/components/open-geni-links.d.ts +68 -0
  170. package/dist/components/openrouter-mark.d.ts +6 -0
  171. package/dist/components/pierre-file.d.ts +1 -1
  172. package/dist/components/preview-loading.d.ts +2 -0
  173. package/dist/components/queue-item-content.d.ts +9 -0
  174. package/dist/components/sandbox-files.d.ts +13 -2
  175. package/dist/components/sandbox-workspace.d.ts +43 -3
  176. package/dist/components/session-capability-frame.d.ts +35 -0
  177. package/dist/components/session-chrome.d.ts +66 -8
  178. package/dist/components/session-commands-panel.d.ts +6 -0
  179. package/dist/components/session-commands.d.ts +6 -0
  180. package/dist/components/session-connection-request.d.ts +8 -0
  181. package/dist/components/session-conversation.d.ts +86 -0
  182. package/dist/components/session-list.d.ts +36 -0
  183. package/dist/components/session-mcp-capability-card.d.ts +41 -0
  184. package/dist/components/timeline-anchor.d.ts +24 -0
  185. package/dist/components/timeline-annotation-chrome.d.ts +25 -0
  186. package/dist/components/timeline-annotation-layout.d.ts +42 -0
  187. package/dist/components/timeline-annotation-markers.d.ts +8 -0
  188. package/dist/components/timeline-annotation-reveal-context.d.ts +4 -0
  189. package/dist/components/timeline-annotation-shared.d.ts +31 -0
  190. package/dist/components/timeline-annotations-dialog.d.ts +3 -2
  191. package/dist/components/timeline-annotations.d.ts +13 -3
  192. package/dist/components/timeline-reading-progress.d.ts +11 -0
  193. package/dist/components/timeline-search.d.ts +34 -0
  194. package/dist/components/timeline-settlement.d.ts +16 -0
  195. package/dist/components/tip-follow.d.ts +16 -0
  196. package/dist/components/usage-limit-notice.d.ts +49 -0
  197. package/dist/components/usage-member-list.d.ts +91 -0
  198. package/dist/components/usage-meter.d.ts +73 -0
  199. package/dist/components/use-viewer-menu-dismiss.d.ts +2 -0
  200. package/dist/components/user-message-body.d.ts +10 -1
  201. package/dist/components/workspace-dock.d.ts +6 -2
  202. package/dist/composer.d.ts +5 -4
  203. package/dist/composer.js +15 -9
  204. package/dist/computer-viewer-ENHVAZ2Q.js +19 -0
  205. package/dist/computer-viewer-ENHVAZ2Q.js.map +1 -0
  206. package/dist/connect-account-identity.d.ts +8 -0
  207. package/dist/connect-accounts.d.ts +15 -0
  208. package/dist/connect-chooser.d.ts +18 -0
  209. package/dist/connect-panel.d.ts +18 -0
  210. package/dist/connect-setup.d.ts +16 -0
  211. package/dist/connect.d.ts +21 -0
  212. package/dist/connect.js +2129 -0
  213. package/dist/connect.js.map +1 -0
  214. package/dist/connection-catalog.d.ts +38 -0
  215. package/dist/connection-discovery.d.ts +12 -0
  216. package/dist/connection-installed.d.ts +17 -0
  217. package/dist/connection-logo.d.ts +9 -0
  218. package/dist/connection-service-logo.d.ts +8 -0
  219. package/dist/connection-service-presentation.d.ts +13 -0
  220. package/dist/connection-skeleton.d.ts +5 -0
  221. package/dist/connection-type-picker.d.ts +6 -0
  222. package/dist/conversation-timeline.d.ts +5 -0
  223. package/dist/desktop.d.ts +7 -0
  224. package/dist/desktop.js +26 -0
  225. package/dist/desktop.js.map +1 -0
  226. package/dist/device-authorization.d.ts +23 -0
  227. package/dist/diffs.d.ts +8 -0
  228. package/dist/diffs.js +14 -0
  229. package/dist/diffs.js.map +1 -0
  230. package/dist/discovery-cache.d.ts +5 -0
  231. package/dist/editor.d.ts +7 -0
  232. package/dist/editor.js +21 -0
  233. package/dist/editor.js.map +1 -0
  234. package/dist/embedded-session-client.d.ts +23 -0
  235. package/dist/file-node-visibility.d.ts +15 -0
  236. package/dist/{fleet-decision-row-GGCAT4E4.js → fleet-decision-row-YZ3ZKWMM.js} +2 -1
  237. package/dist/fleet-decision-row-YZ3ZKWMM.js.map +1 -0
  238. package/dist/hooks/channel-cache.d.ts +23 -0
  239. package/dist/hooks/latest-question.d.ts +25 -0
  240. package/dist/hooks/shared-machines-list.d.ts +14 -0
  241. package/dist/hooks/use-attached-browsers.d.ts +2 -1
  242. package/dist/hooks/use-browser-frame-stream.d.ts +1 -1
  243. package/dist/hooks/use-browser-session.d.ts +12 -1
  244. package/dist/hooks/use-channels.d.ts +1 -0
  245. package/dist/hooks/use-codex-accounts.d.ts +25 -7
  246. package/dist/hooks/use-composer.d.ts +45 -9
  247. package/dist/hooks/use-computer-frame-stream.d.ts +1 -1
  248. package/dist/hooks/use-computer-input-posture.d.ts +13 -0
  249. package/dist/hooks/use-computer-session.d.ts +2 -0
  250. package/dist/hooks/use-connect.d.ts +22 -0
  251. package/dist/hooks/use-desktop-stream.d.ts +1 -1
  252. package/dist/hooks/use-file-attachments.d.ts +21 -2
  253. package/dist/hooks/use-machine-chip.d.ts +3 -3
  254. package/dist/hooks/use-machines.d.ts +19 -1
  255. package/dist/hooks/use-sandbox-files.d.ts +5 -1
  256. package/dist/hooks/use-session-background-commands.d.ts +14 -0
  257. package/dist/hooks/use-session-events.d.ts +30 -8
  258. package/dist/hooks/use-session-lineage.d.ts +4 -0
  259. package/dist/hooks/use-session-mcp-approval-policy.d.ts +2 -2
  260. package/dist/hooks/use-session.d.ts +6 -0
  261. package/dist/hooks/use-turn-queue.d.ts +12 -0
  262. package/dist/hooks/use-usage.d.ts +40 -0
  263. package/dist/hooks/use-workspace-edit.d.ts +4 -0
  264. package/dist/hooks/use-workspace-sessions.d.ts +27 -5
  265. package/dist/human-input.d.ts +3 -1
  266. package/dist/identity-link-accounts.d.ts +11 -0
  267. package/dist/identity-link-consent.d.ts +18 -0
  268. package/dist/index.d.ts +60 -17
  269. package/dist/index.js +2237 -6200
  270. package/dist/index.js.map +1 -1
  271. package/dist/interaction.d.ts +1 -1
  272. package/dist/interaction.js +35 -184
  273. package/dist/interaction.js.map +1 -1
  274. package/dist/latest-question-755OW5DS.js +117 -0
  275. package/dist/latest-question-755OW5DS.js.map +1 -0
  276. package/dist/lib/error-message.d.ts +7 -0
  277. package/dist/lib/format.d.ts +36 -2
  278. package/dist/lib/host-theme.d.ts +70 -0
  279. package/dist/lib/interaction-errors.d.ts +6 -0
  280. package/dist/lib/menu-styles.d.ts +22 -0
  281. package/dist/lib/pierre-diffs-loader.d.ts +20 -0
  282. package/dist/lib/workbench-peers.d.ts +36 -0
  283. package/dist/lib/xterm-theme.d.ts +7 -5
  284. package/dist/machines.d.ts +4 -2
  285. package/dist/machines.js +14 -4
  286. package/dist/markdown-table-layout-QXSLK4BY.js +106 -0
  287. package/dist/markdown-table-layout-QXSLK4BY.js.map +1 -0
  288. package/dist/mcp-connection-status.d.ts +14 -0
  289. package/dist/model-policy-picker-menu-PWRI7R2X.js +14 -0
  290. package/dist/model-policy-picker-menu-PWRI7R2X.js.map +1 -0
  291. package/dist/model-policy.d.ts +19 -3
  292. package/dist/model-policy.js +9 -1
  293. package/dist/older-history.d.ts +30 -0
  294. package/dist/platform-activity-row-627BFZ46.js +182 -0
  295. package/dist/platform-activity-row-627BFZ46.js.map +1 -0
  296. package/dist/plugin-details.d.ts +14 -0
  297. package/dist/plugin-discovery.d.ts +25 -0
  298. package/dist/provider.d.ts +13 -1
  299. package/dist/{queue-surface-implementation-2KVJTYXH.js → queue-surface-implementation-ZHFI5JBP.js} +131 -44
  300. package/dist/queue-surface-implementation-ZHFI5JBP.js.map +1 -0
  301. package/dist/realtime/realtime-control.d.ts +6 -3
  302. package/dist/realtime.js +133 -74
  303. package/dist/realtime.js.map +1 -1
  304. package/dist/sandbox-files-BBC47SLD.js +20 -0
  305. package/dist/sandbox-files-BBC47SLD.js.map +1 -0
  306. package/dist/session-auth-recommendation.d.ts +5 -0
  307. package/dist/session-capability-policy.d.ts +12 -0
  308. package/dist/session-ui.d.ts +30 -2
  309. package/dist/session-ui.js +85 -7
  310. package/dist/session-ui.js.map +1 -1
  311. package/dist/session.d.ts +8 -2
  312. package/dist/session.js +30 -19
  313. package/dist/sites-ui.d.ts +34 -0
  314. package/dist/sites.d.ts +3 -0
  315. package/dist/sites.js +11 -0
  316. package/dist/sites.js.map +1 -0
  317. package/dist/skill-discovery.d.ts +47 -0
  318. package/dist/terminal.d.ts +8 -0
  319. package/dist/terminal.js +31 -0
  320. package/dist/terminal.js.map +1 -0
  321. package/dist/timeline/activity-rail.d.ts +11 -2
  322. package/dist/timeline/allowance-exhausted-row.d.ts +24 -0
  323. package/dist/timeline/compaction-copy.d.ts +10 -0
  324. package/dist/timeline/entrance.d.ts +13 -1
  325. package/dist/timeline/genie-loading.d.ts +34 -0
  326. package/dist/timeline/index.d.ts +6 -2
  327. package/dist/timeline/knowledge-receipt.d.ts +17 -0
  328. package/dist/timeline/platform-activity-row.d.ts +14 -0
  329. package/dist/timeline/presented-image.d.ts +6 -0
  330. package/dist/timeline/projection.d.ts +31 -2
  331. package/dist/timeline/registry.d.ts +2 -0
  332. package/dist/timeline/retained-image.d.ts +18 -0
  333. package/dist/timeline/rolling-activity.d.ts +11 -0
  334. package/dist/timeline/screenshot-lightbox.d.ts +16 -1
  335. package/dist/timeline/shared.d.ts +8 -3
  336. package/dist/timeline/startup-preference.d.ts +3 -0
  337. package/dist/timeline/startup-timings.d.ts +4 -0
  338. package/dist/timeline/tool-display-name.d.ts +2 -1
  339. package/dist/timeline/turn-summary.d.ts +32 -3
  340. package/dist/timeline/types.d.ts +141 -7
  341. package/dist/timeline-annotation-markers-GNDHTGBD.js +165 -0
  342. package/dist/timeline-annotation-markers-GNDHTGBD.js.map +1 -0
  343. package/dist/timeline-annotation-selection-DMLMM2TX.js +241 -0
  344. package/dist/timeline-annotation-selection-DMLMM2TX.js.map +1 -0
  345. package/dist/timeline-annotations-dialog-ELRDBHTS.js +273 -0
  346. package/dist/timeline-annotations-dialog-ELRDBHTS.js.map +1 -0
  347. package/dist/types/machines.d.ts +2 -2
  348. package/dist/usage/allowance-copy.d.ts +25 -0
  349. package/dist/usage/summary.d.ts +35 -0
  350. package/dist/usage.d.ts +13 -0
  351. package/dist/usage.js +1074 -0
  352. package/dist/usage.js.map +1 -0
  353. package/package.json +44 -4
  354. package/src/accounts.tsx +1072 -0
  355. package/src/approvals.ts +8 -1
  356. package/src/artifacts.ts +42 -0
  357. package/src/assets/README.md +8 -0
  358. package/src/assets/gmail.ico +0 -0
  359. package/src/assets/outlook.ico +0 -0
  360. package/src/capability-catalog-row.tsx +94 -0
  361. package/src/capability-logo-fallback.ts +22 -0
  362. package/src/client.ts +22 -13
  363. package/src/commands/registry.ts +18 -15
  364. package/src/commands/types.ts +2 -0
  365. package/src/components/anthropic-mark.tsx +10 -0
  366. package/src/components/approval-surface.tsx +171 -37
  367. package/src/components/artifacts/artifact-chrome.tsx +413 -0
  368. package/src/components/artifacts/artifact-sandbox.tsx +185 -0
  369. package/src/components/artifacts/artifact-surface.tsx +39 -19
  370. package/src/components/artifacts/chat-interactive-block.tsx +260 -0
  371. package/src/components/artifacts/deferred-chat-media.tsx +67 -0
  372. package/src/components/artifacts/document-editor.tsx +141 -16
  373. package/src/components/artifacts/editable-artifact-ui.tsx +4 -2
  374. package/src/components/artifacts/editable-artifact-view.tsx +187 -0
  375. package/src/components/artifacts/editable-artifact-workbench.tsx +5 -2
  376. package/src/components/artifacts/editable-document.tsx +37 -36
  377. package/src/components/artifacts/editable-presentation.tsx +36 -18
  378. package/src/components/artifacts/editable-spreadsheet.tsx +5 -2
  379. package/src/components/artifacts/index.ts +44 -0
  380. package/src/components/artifacts/inline-html-document.ts +24 -0
  381. package/src/components/artifacts/latest-task-runner.ts +49 -0
  382. package/src/components/artifacts/presentation-editor.tsx +323 -67
  383. package/src/components/artifacts/published-html-artifact-frame.tsx +338 -5
  384. package/src/components/artifacts/session-artifact-viewer.tsx +376 -0
  385. package/src/components/artifacts/site-view.tsx +116 -0
  386. package/src/components/artifacts/spreadsheet-canvas.ts +5 -10
  387. package/src/components/artifacts/spreadsheet-general-display.ts +43 -0
  388. package/src/components/artifacts/spreadsheet-grid.tsx +12 -13
  389. package/src/components/artifacts/visualization-assets/base.css +1015 -0
  390. package/src/components/artifacts/visualization-assets/helpers.html +349 -0
  391. package/src/components/artifacts/visualization-assets.gen.ts +3 -0
  392. package/src/components/browser-select-control.tsx +312 -0
  393. package/src/components/browser-viewer.tsx +1054 -314
  394. package/src/components/chat-composer.tsx +131 -85
  395. package/src/components/child-session-link.tsx +27 -0
  396. package/src/components/claude-mark.tsx +10 -0
  397. package/src/components/code-editor.tsx +13 -16
  398. package/src/components/composer-transcription-control.tsx +7 -5
  399. package/src/components/composer.tsx +376 -49
  400. package/src/components/computer-viewer.tsx +1041 -329
  401. package/src/components/copy-button.tsx +13 -5
  402. package/src/components/desktop-viewer.tsx +1 -1
  403. package/src/components/enrollment-consent.tsx +65 -7
  404. package/src/components/enrollment-device-flow.tsx +1 -1
  405. package/src/components/file-browser.tsx +158 -34
  406. package/src/components/fleet-tile.tsx +8 -16
  407. package/src/components/generated-video-player.tsx +4 -2
  408. package/src/components/grok-mark.tsx +33 -0
  409. package/src/components/human-input-form.tsx +455 -114
  410. package/src/components/human-input-surface.tsx +18 -7
  411. package/src/components/interaction-intervention-banner.tsx +2 -2
  412. package/src/components/machine-card.tsx +119 -4
  413. package/src/components/machine-dock-bar.tsx +1 -1
  414. package/src/components/machine-input-display.ts +23 -2
  415. package/src/components/machines/machine-detail.tsx +52 -2
  416. package/src/components/machines/machine-operation-policy.tsx +179 -0
  417. package/src/components/machines-dashboard.tsx +8 -17
  418. package/src/components/markdown-table-layout.ts +132 -0
  419. package/src/components/markdown.tsx +473 -44
  420. package/src/components/message-timeline.tsx +2498 -663
  421. package/src/components/model-mark.tsx +90 -0
  422. package/src/components/model-picker.tsx +15 -4
  423. package/src/components/model-policy-picker-menu.tsx +424 -0
  424. package/src/components/model-policy-picker.tsx +337 -381
  425. package/src/components/open-geni-chat.tsx +319 -0
  426. package/src/components/open-geni-links.tsx +179 -0
  427. package/src/components/openrouter-mark.tsx +13 -0
  428. package/src/components/pierre-diff.tsx +41 -16
  429. package/src/components/pierre-file.tsx +36 -11
  430. package/src/components/preview-loading.tsx +154 -0
  431. package/src/components/queue-item-content.ts +14 -0
  432. package/src/components/queue-surface-implementation.tsx +132 -42
  433. package/src/components/queue-surface-state.tsx +3 -1
  434. package/src/components/sandbox-files.tsx +267 -35
  435. package/src/components/sandbox-terminal.tsx +48 -11
  436. package/src/components/sandbox-workspace.tsx +337 -135
  437. package/src/components/session-capability-frame.tsx +192 -0
  438. package/src/components/session-chrome.tsx +1027 -328
  439. package/src/components/session-commands-panel.tsx +126 -0
  440. package/src/components/session-commands.tsx +18 -0
  441. package/src/components/session-connection-request.tsx +97 -0
  442. package/src/components/session-conversation.tsx +512 -0
  443. package/src/components/session-list.tsx +250 -0
  444. package/src/components/session-mcp-capability-card.tsx +680 -0
  445. package/src/components/session-status.tsx +1 -1
  446. package/src/components/timeline-anchor.tsx +119 -0
  447. package/src/components/timeline-annotation-chrome.tsx +196 -0
  448. package/src/components/timeline-annotation-layout.ts +268 -0
  449. package/src/components/timeline-annotation-markers.tsx +185 -0
  450. package/src/components/timeline-annotation-reveal-context.ts +9 -0
  451. package/src/components/timeline-annotation-selection.tsx +106 -54
  452. package/src/components/timeline-annotation-shared.ts +245 -0
  453. package/src/components/timeline-annotations-dialog.tsx +185 -128
  454. package/src/components/timeline-annotations.tsx +189 -45
  455. package/src/components/timeline-reading-progress.ts +80 -0
  456. package/src/components/timeline-search.tsx +168 -0
  457. package/src/components/timeline-settlement.ts +60 -0
  458. package/src/components/tip-follow.ts +70 -7
  459. package/src/components/tooltip.tsx +38 -5
  460. package/src/components/usage-limit-notice.tsx +179 -0
  461. package/src/components/usage-member-list.tsx +792 -0
  462. package/src/components/usage-meter.tsx +382 -0
  463. package/src/components/use-viewer-menu-dismiss.ts +33 -0
  464. package/src/components/user-message-body.tsx +194 -49
  465. package/src/components/workspace-dock.tsx +141 -175
  466. package/src/composer.ts +6 -1
  467. package/src/connect-account-identity.tsx +34 -0
  468. package/src/connect-accounts.tsx +233 -0
  469. package/src/connect-chooser.tsx +336 -0
  470. package/src/connect-panel.tsx +99 -0
  471. package/src/connect-setup.tsx +307 -0
  472. package/src/connect.ts +60 -0
  473. package/src/connection-assets.d.ts +4 -0
  474. package/src/connection-catalog.tsx +162 -0
  475. package/src/connection-discovery.tsx +235 -0
  476. package/src/connection-installed.tsx +51 -0
  477. package/src/connection-logo.tsx +37 -0
  478. package/src/connection-service-logo.tsx +55 -0
  479. package/src/connection-service-presentation.ts +46 -0
  480. package/src/connection-skeleton.tsx +16 -0
  481. package/src/connection-type-picker.tsx +36 -0
  482. package/src/conversation-timeline.ts +92 -0
  483. package/src/desktop.ts +24 -0
  484. package/src/device-authorization.tsx +98 -0
  485. package/src/diffs.ts +16 -0
  486. package/src/discovery-cache.ts +42 -0
  487. package/src/editor.ts +13 -0
  488. package/src/embedded-session-client.ts +104 -0
  489. package/src/file-node-visibility.ts +66 -0
  490. package/src/hooks/channel-cache.ts +104 -0
  491. package/src/hooks/internal.ts +3 -2
  492. package/src/hooks/latest-question.ts +164 -0
  493. package/src/hooks/shared-machines-list.ts +239 -0
  494. package/src/hooks/use-attached-browsers.ts +5 -1
  495. package/src/hooks/use-available-models.ts +20 -14
  496. package/src/hooks/use-browser-frame-stream.ts +25 -3
  497. package/src/hooks/use-browser-session.ts +271 -71
  498. package/src/hooks/use-browser-sessions.ts +7 -1
  499. package/src/hooks/use-channels.ts +32 -10
  500. package/src/hooks/use-codex-accounts.ts +78 -21
  501. package/src/hooks/use-composer.ts +1034 -320
  502. package/src/hooks/use-computer-frame-stream.ts +39 -16
  503. package/src/hooks/use-computer-input-posture.ts +94 -0
  504. package/src/hooks/use-computer-session.ts +110 -32
  505. package/src/hooks/use-computer-sessions.ts +8 -1
  506. package/src/hooks/use-connect.ts +23 -0
  507. package/src/hooks/use-desktop-stream.ts +19 -28
  508. package/src/hooks/use-file-attachments.ts +118 -10
  509. package/src/hooks/use-goal.ts +36 -9
  510. package/src/hooks/use-human-input.ts +31 -4
  511. package/src/hooks/use-last-started-turn-policy.ts +15 -13
  512. package/src/hooks/use-machine-chip.ts +23 -6
  513. package/src/hooks/use-machines.ts +104 -6
  514. package/src/hooks/use-sandbox-files.ts +253 -150
  515. package/src/hooks/use-sandbox-git.ts +58 -29
  516. package/src/hooks/use-session-background-commands.ts +67 -0
  517. package/src/hooks/use-session-capabilities.ts +21 -2
  518. package/src/hooks/use-session-events.ts +759 -433
  519. package/src/hooks/use-session-lineage.ts +28 -6
  520. package/src/hooks/use-session-mcp-approval-policy.ts +13 -5
  521. package/src/hooks/use-session.ts +75 -16
  522. package/src/hooks/use-slash-commands.ts +6 -11
  523. package/src/hooks/use-turn-queue.ts +113 -13
  524. package/src/hooks/use-usage.ts +100 -0
  525. package/src/hooks/use-voice-input.ts +12 -1
  526. package/src/hooks/use-workspace-capture.ts +3 -2
  527. package/src/hooks/use-workspace-edit.ts +23 -5
  528. package/src/hooks/use-workspace-sessions.ts +99 -11
  529. package/src/human-input.ts +12 -1
  530. package/src/identity-link-accounts.tsx +148 -0
  531. package/src/identity-link-consent.tsx +192 -0
  532. package/src/index.ts +157 -12
  533. package/src/interaction.ts +1 -0
  534. package/src/lib/error-message.ts +37 -0
  535. package/src/lib/format.ts +150 -14
  536. package/src/lib/host-theme.ts +511 -0
  537. package/src/lib/interaction-errors.ts +33 -0
  538. package/src/lib/menu-styles.ts +44 -0
  539. package/src/lib/pierre-diffs-loader.ts +53 -0
  540. package/src/lib/workbench-peers.ts +62 -0
  541. package/src/lib/xterm-theme.ts +23 -21
  542. package/src/machines.ts +9 -1
  543. package/src/mcp-connection-status.ts +35 -0
  544. package/src/model-policy.ts +223 -69
  545. package/src/older-history.ts +87 -0
  546. package/src/plugin-details.tsx +185 -0
  547. package/src/plugin-discovery.tsx +196 -0
  548. package/src/provider.tsx +55 -14
  549. package/src/realtime/dropdown-menu.tsx +19 -12
  550. package/src/realtime/realtime-control.tsx +133 -46
  551. package/src/session-auth-recommendation.ts +48 -0
  552. package/src/session-capability-policy.ts +83 -0
  553. package/src/session-context.ts +1 -0
  554. package/src/session-ui.ts +66 -2
  555. package/src/session.ts +18 -1
  556. package/src/sites-ui.tsx +402 -0
  557. package/src/sites.ts +3 -0
  558. package/src/skill-discovery.tsx +208 -0
  559. package/src/terminal.ts +26 -0
  560. package/src/timeline/activity-rail.tsx +171 -80
  561. package/src/timeline/allowance-exhausted-row.tsx +86 -0
  562. package/src/timeline/compaction-copy.ts +42 -0
  563. package/src/timeline/entrance.tsx +28 -3
  564. package/src/timeline/fleet-decision-projection.ts +2 -1
  565. package/src/timeline/fleet-decision-row.tsx +1 -0
  566. package/src/timeline/genie-loading.tsx +136 -0
  567. package/src/timeline/index.ts +11 -0
  568. package/src/timeline/knowledge-receipt.tsx +100 -0
  569. package/src/timeline/parsers.ts +2 -2
  570. package/src/timeline/platform-activity-row.tsx +216 -0
  571. package/src/timeline/presented-image.ts +49 -0
  572. package/src/timeline/projection.ts +1600 -84
  573. package/src/timeline/registry.ts +15 -3
  574. package/src/timeline/retained-image.ts +97 -0
  575. package/src/timeline/rolling-activity.tsx +92 -0
  576. package/src/timeline/screenshot-lightbox.tsx +115 -17
  577. package/src/timeline/shared.tsx +47 -15
  578. package/src/timeline/startup-preference.ts +33 -0
  579. package/src/timeline/startup-timings.tsx +145 -0
  580. package/src/timeline/tool-display-name.ts +8 -6
  581. package/src/timeline/tool-renderers.tsx +497 -128
  582. package/src/timeline/turn-summary.tsx +208 -44
  583. package/src/timeline/types.ts +186 -7
  584. package/src/types/machines.ts +10 -0
  585. package/src/usage/allowance-copy.ts +64 -0
  586. package/src/usage/summary.ts +93 -0
  587. package/src/usage.ts +50 -0
  588. package/styles/compiled.css +2098 -757
  589. package/styles/connect.css +284 -0
  590. package/styles/connect.d.ts +1 -0
  591. package/styles/effective-tokens.css +1 -0
  592. package/styles/index.css +201 -9
  593. package/styles/responsive.css +27 -1
  594. package/styles/session-capability.css +44 -0
  595. package/styles/tokens.css +135 -65
  596. package/dist/chunk-5UQPNLIO.js.map +0 -1
  597. package/dist/chunk-6KLX2RH5.js.map +0 -1
  598. package/dist/chunk-7WCLAEFV.js.map +0 -1
  599. package/dist/chunk-B6WPZSTT.js.map +0 -1
  600. package/dist/chunk-FK6VG4LL.js +0 -90
  601. package/dist/chunk-FK6VG4LL.js.map +0 -1
  602. package/dist/chunk-HA46CYQK.js.map +0 -1
  603. package/dist/chunk-HUIKIDM5.js.map +0 -1
  604. package/dist/chunk-IGC6A2ZI.js.map +0 -1
  605. package/dist/chunk-KCGXPP5V.js.map +0 -1
  606. package/dist/chunk-KZ73RL76.js.map +0 -1
  607. package/dist/chunk-LAKLF4PA.js +0 -141
  608. package/dist/chunk-LAKLF4PA.js.map +0 -1
  609. package/dist/chunk-LLOLUHVG.js.map +0 -1
  610. package/dist/chunk-MKPIAGVL.js +0 -465
  611. package/dist/chunk-MKPIAGVL.js.map +0 -1
  612. package/dist/chunk-PEI6RANI.js.map +0 -1
  613. package/dist/chunk-R3AZOAB5.js.map +0 -1
  614. package/dist/chunk-WSK7G5LE.js +0 -170
  615. package/dist/chunk-WSK7G5LE.js.map +0 -1
  616. package/dist/chunk-XBZWOM2K.js +0 -218
  617. package/dist/chunk-XBZWOM2K.js.map +0 -1
  618. package/dist/chunk-Y7OEDUJ5.js +0 -8810
  619. package/dist/chunk-Y7OEDUJ5.js.map +0 -1
  620. package/dist/fleet-decision-row-GGCAT4E4.js.map +0 -1
  621. package/dist/hooks/use-packs.d.ts +0 -32
  622. package/dist/interactive-workbench-viewers-TOHBXJEE.js +0 -15
  623. package/dist/queue-surface-implementation-2KVJTYXH.js.map +0 -1
  624. package/dist/timeline-annotation-selection-3L7LHGG2.js +0 -187
  625. package/dist/timeline-annotation-selection-3L7LHGG2.js.map +0 -1
  626. package/dist/timeline-annotations-dialog-U7EVLR75.js +0 -196
  627. package/dist/timeline-annotations-dialog-U7EVLR75.js.map +0 -1
  628. package/src/hooks/use-packs.ts +0 -157
  629. /package/dist/{interactive-workbench-viewers-TOHBXJEE.js.map → browser-viewer-GTR5XQ7X.js.map} +0 -0
package/src/index.ts CHANGED
@@ -1,3 +1,23 @@
1
+ export { sessionAuthRecommendation } from "./session-auth-recommendation";
2
+ export {
3
+ SessionConnectionRequest,
4
+ type SessionConnectionRequestProps,
5
+ } from "./components/session-connection-request";
6
+ export {
7
+ SessionMcpCapabilityCard,
8
+ McpConnectionCard,
9
+ type McpConnectionCardProps,
10
+ type SessionMcpCapabilityCardProps,
11
+ } from "./components/session-mcp-capability-card";
12
+ export {
13
+ SessionCapabilityFrame,
14
+ type SessionCapabilityFrameProps,
15
+ } from "./components/session-capability-frame";
16
+ export {
17
+ attachSessionCapability,
18
+ completeSessionCapabilityOAuth,
19
+ } from "./session-capability-policy";
20
+ export { retainedImageId } from "./components/markdown";
1
21
  // oxlint-disable-next-line typescript/triple-slash-reference -- package consumers must load the ambient type for this optional untyped peer without emitting a runtime import.
2
22
  /// <reference path="./types/external.d.ts" />
3
23
 
@@ -23,11 +43,22 @@ export type {
23
43
  SessionClientLike,
24
44
  } from "./client";
25
45
  export { OpenGeniProvider } from "./provider";
26
- export type { OpenGeniProviderProps } from "./provider";
46
+ export type { OpenGeniProviderProps, ErrorMessageFormatter } from "./provider";
27
47
  export { useOpenGeni, useOpenGeniClient } from "./session-context";
28
48
  export { useVideoArtifactPlaybackLoader } from "./hooks/use-video-artifact-playback";
29
49
  export type { ClientOverride, OpenGeniContextValue } from "./session-context";
50
+ export { createEmbeddedSessionClient } from "./embedded-session-client";
51
+ export type {
52
+ ComposerDraftMapContext,
53
+ CreateEmbeddedSessionClientOptions,
54
+ } from "./embedded-session-client";
30
55
  export { usePageLiveActivity } from "./hooks/internal";
56
+ export { filePathVisibility, visibleFileTree } from "./file-node-visibility";
57
+ export type {
58
+ FileNodeVisibilityContext,
59
+ FileNodeVisibilityPredicate,
60
+ FilePathVisibility,
61
+ } from "./file-node-visibility";
31
62
 
32
63
  // Hooks
33
64
  export { useSession, isTitleEvent } from "./hooks/use-session";
@@ -37,16 +68,17 @@ export {
37
68
  SESSION_EVENT_BROWSER_MAX_COUNT,
38
69
  SESSION_EVENT_BROWSER_PENDING_MAX_BYTES,
39
70
  SESSION_EVENT_BROWSER_PENDING_MAX_COUNT,
40
- SESSION_EVENT_BROWSER_SINGLE_EVENT_MAX_BYTES,
41
71
  boundBrowserSessionEventWindow,
42
72
  useSessionEvents,
43
73
  } from "./hooks/use-session-events";
74
+ export { createOlderHistoryLoadReceipt } from "./older-history";
44
75
  export type {
45
76
  BrowserSessionEventWindow,
46
77
  SessionEventsConnectionState,
47
78
  UseSessionEventsOptions,
48
79
  UseSessionEventsResult,
49
80
  } from "./hooks/use-session-events";
81
+ export type { OlderHistoryLoader, OlderHistoryLoadReceipt } from "./older-history";
50
82
  export {
51
83
  useComposer,
52
84
  composeSendInput,
@@ -54,7 +86,13 @@ export {
54
86
  shouldSubmitOnKey,
55
87
  FILE_ONLY_MESSAGE_TEXT,
56
88
  } from "./hooks/use-composer";
57
- export type { ComposerSendExtras, ComposerState, UseComposerOptions } from "./hooks/use-composer";
89
+ export type {
90
+ ComposerControllerState,
91
+ ComposerPolicy,
92
+ ComposerSendExtras,
93
+ ComposerState,
94
+ UseComposerOptions,
95
+ } from "./hooks/use-composer";
58
96
  export {
59
97
  VOICE_RECORDING_CLIENT_MAX_DURATION_SECONDS,
60
98
  VOICE_RECORDING_OWNER_HEARTBEAT_MILLISECONDS,
@@ -92,7 +130,12 @@ export type {
92
130
  VoiceRecordingTranscriptionState,
93
131
  VoiceRecordingUploadState,
94
132
  } from "./voice-recording-store";
95
- export { COMPOSER_PAYMENT_REQUIRED_MESSAGE, composerSubmissionErrorMessage } from "./lib/format";
133
+ export {
134
+ COMPOSER_MODEL_UNAVAILABLE_MESSAGE,
135
+ COMPOSER_PAYMENT_REQUIRED_MESSAGE,
136
+ composerSubmissionErrorMessage,
137
+ isModelUnavailableSubmissionError,
138
+ } from "./lib/format";
96
139
  export {
97
140
  INITIAL_TRANSCRIPTION_CONTROL_STATE,
98
141
  appendFinalTranscript,
@@ -129,7 +172,12 @@ export type {
129
172
  } from "./hooks/use-last-started-turn-policy";
130
173
  export { QueueSurface } from "./components/queue-surface";
131
174
  export type { QueueSurfaceProps } from "./components/queue-surface";
132
- export { SessionChrome, sessionChromeGoalPillState } from "./components/session-chrome";
175
+ export {
176
+ SessionChrome,
177
+ sessionChromeGoalPillExplanation,
178
+ sessionChromeGoalPillLabel,
179
+ sessionChromeGoalPillState,
180
+ } from "./components/session-chrome";
133
181
  export type {
134
182
  SessionChromeAgentsSignal,
135
183
  SessionChromeProps,
@@ -163,6 +211,11 @@ export type {
163
211
  UseWorkspaceSessionsOptions,
164
212
  UseWorkspaceSessionsResult,
165
213
  } from "./hooks/use-workspace-sessions";
214
+ export { useSessionBackgroundCommands } from "./hooks/use-session-background-commands";
215
+ export type {
216
+ UseSessionBackgroundCommandsOptions,
217
+ UseSessionBackgroundCommandsResult,
218
+ } from "./hooks/use-session-background-commands";
166
219
  export { useSessionLineage, isLineageRefreshEvent } from "./hooks/use-session-lineage";
167
220
  export type {
168
221
  UseSessionLineageOptions,
@@ -188,8 +241,6 @@ export type {
188
241
  UseRigChangesOptions,
189
242
  UseRigChangesResult,
190
243
  } from "./hooks/use-rigs";
191
- export { usePacks } from "./hooks/use-packs";
192
- export type { UsePacksOptions, UsePacksResult } from "./hooks/use-packs";
193
244
  export { useWorkspaces } from "./hooks/use-workspaces";
194
245
  export type { UseWorkspacesOptions, UseWorkspacesResult } from "./hooks/use-workspaces";
195
246
  export { useBillingUsage } from "./hooks/use-billing-usage";
@@ -310,11 +361,14 @@ export {
310
361
  toolDisplayName,
311
362
  } from "./timeline";
312
363
  export type {
364
+ GroupTimelineOptions,
313
365
  ActivityItem,
314
366
  AgentMessageItem,
315
367
  AuthNeededItem,
316
368
  ContextCompactionItem,
317
369
  GoalItem,
370
+ HumanInputAnswerSummary,
371
+ HumanInputItem,
318
372
  MachineInputBatchItem,
319
373
  MachineInputMember,
320
374
  NoticeItem,
@@ -377,6 +431,8 @@ export type {
377
431
  TurnSummaryFacetResult,
378
432
  TurnSummaryOptions,
379
433
  TurnSummaryProps,
434
+ TurnSummaryStatus,
435
+ LightboxControlLabels,
380
436
  } from "./timeline";
381
437
 
382
438
  // Pure provider-shape parsers (exec banner, V4A diff, tool arguments, …)
@@ -430,6 +486,16 @@ export type { CommandPaletteProps } from "./components/command-palette";
430
486
 
431
487
  // Components
432
488
  export { ChatComposer } from "./components/chat-composer";
489
+ export { conversationTimeline } from "./conversation-timeline";
490
+ export { SessionConversation } from "./components/session-conversation";
491
+ export { SessionList } from "./components/session-list";
492
+ export type { SessionListLabels, SessionListProps } from "./components/session-list";
493
+ export { OpenGeniChat } from "./components/open-geni-chat";
494
+ export type { OpenGeniChatLabels, OpenGeniChatProps } from "./components/open-geni-chat";
495
+ export type {
496
+ SessionConversationLabels,
497
+ SessionConversationProps,
498
+ } from "./components/session-conversation";
433
499
  export type { ChatComposerProps } from "./components/chat-composer";
434
500
  export { ComposerTranscriptionControl } from "./components/composer-transcription-control";
435
501
  export type {
@@ -443,15 +509,16 @@ export type { ModelPickerProps } from "./components/model-picker";
443
509
  export {
444
510
  BillingClassMark,
445
511
  ModelPolicyPicker,
446
- ModelPolicyPickerMenu,
447
512
  PickerAnimatedPage,
448
513
  PickerBackHeader,
449
514
  PickerNavRow,
450
515
  defaultModelPolicyPickerMessages,
451
516
  } from "./components/model-policy-picker";
517
+ export { ModelPolicyPickerMenu } from "./components/model-policy-picker-menu";
452
518
  export type {
453
519
  ModelPolicyPickerMessages,
454
520
  ModelPolicyPickerProps,
521
+ ModelPolicyPickerGroupPresentation,
455
522
  } from "./components/model-policy-picker";
456
523
  export {
457
524
  advancedSourceSummary,
@@ -466,22 +533,70 @@ export {
466
533
  labelLatencyMode,
467
534
  labelReasoningEffort,
468
535
  payerSummaryForModel,
536
+ modelUsesCredits,
469
537
  projectClientModelRows,
470
538
  projectPickerRows,
471
539
  runnableLatencyModesForModel,
472
540
  sortPickerRows,
473
541
  } from "./model-policy";
474
- export type { LatencyModeId, PickerBillingClass, PickerModelRow } from "./model-policy";
542
+ export type {
543
+ GroupPickerRowsOptions,
544
+ LatencyModeId,
545
+ PickerBillingClass,
546
+ PickerModelRow,
547
+ } from "./model-policy";
548
+ export { ChatGptMark, ModelMark, ModelName, modelHasMark } from "./components/model-mark";
549
+ export {
550
+ humanizeModelSlug,
551
+ isRawModelLabel,
552
+ modelDisplayName,
553
+ modelSlug,
554
+ modelVendor,
555
+ } from "@opengeni/sdk/model-display";
556
+ export type { ModelDisplayInput, ModelVendor } from "@opengeni/sdk/model-display";
475
557
  export { MessageTimeline, TimelineRow } from "./components/message-timeline";
476
558
  export { GeneratedVideoPlayer } from "./components/generated-video-player";
477
559
  export type { GeneratedVideoPlayerProps } from "./components/generated-video-player";
478
560
  export type { MessageTimelineProps } from "./components/message-timeline";
561
+ export type { RenderAllowanceExhausted } from "./timeline/allowance-exhausted-row";
562
+ export type { AllowanceLabels, AllowanceScope } from "./usage/allowance-copy";
563
+ export type { TimelineSearchTarget } from "./components/timeline-search";
479
564
  export { UserMessageBody, userMessageLikelyNeedsDisclosure } from "./components/user-message-body";
480
- export type { UserMessageBodyProps } from "./components/user-message-body";
481
- export { Markdown } from "./components/markdown";
565
+ export type {
566
+ UserMessageBodyProps,
567
+ UserMessageDisclosureLabels,
568
+ } from "./components/user-message-body";
569
+ export {
570
+ Markdown,
571
+ sandboxFileLocationFromHref,
572
+ sandboxFilePathFromHref,
573
+ } from "./components/markdown";
574
+ export type {
575
+ MarkdownProps,
576
+ MarkdownInteractiveBlock,
577
+ SandboxFileLocation,
578
+ } from "./components/markdown";
579
+ export {
580
+ OpenGeniLinkProvider,
581
+ chainLinkResolvers,
582
+ sessionLinkResolver,
583
+ useOpenGeniLinkResolver,
584
+ viewerLinkResolver,
585
+ } from "./components/open-geni-links";
586
+ export type {
587
+ OpenGeniLinkResolution,
588
+ OpenGeniLinkResolver,
589
+ OpenGeniLinkTarget,
590
+ OpenGeniViewerTarget,
591
+ } from "./components/open-geni-links";
592
+ export { parseOpenGeniLink } from "@opengeni/sdk";
593
+ export {
594
+ ArtifactLabelsProvider,
595
+ DEFAULT_ARTIFACT_LABELS,
596
+ type ArtifactLabels,
597
+ } from "./components/artifacts/artifact-chrome";
482
598
  export { CopyButton, CopyHoverFrame } from "./components/copy-button";
483
599
  export { copyTextToClipboard, tableElementToTsv } from "./lib/clipboard";
484
- export type { MarkdownProps } from "./components/markdown";
485
600
  export { SessionStatus, StatusDot, SESSION_STATUS_META } from "./components/session-status";
486
601
  export type {
487
602
  SessionStatusProps,
@@ -501,6 +616,22 @@ export type { WorkbenchChangesProps } from "./components/workbench-changes";
501
616
  export { DiffView } from "./components/diff-view";
502
617
  export type { DiffViewProps, DiffTheme } from "./components/diff-view";
503
618
  export { PierreDiff } from "./components/pierre-diff";
619
+ // Opt in to the optional `@pierre/diffs` peer with `enablePierreDiffs()` from
620
+ // `@opengeni/react/diffs`; the root entry never names the peer.
621
+ export { registerPierreDiffs, type PierreDiffsLoader } from "./lib/pierre-diffs-loader";
622
+ // Bundler-visible optional workbench imports live only on opt-in subpaths.
623
+ export {
624
+ registerSandboxTerminal,
625
+ registerCodeEditor,
626
+ registerDesktopViewer,
627
+ } from "./lib/workbench-peers";
628
+ export type {
629
+ WorkbenchPeerLoader,
630
+ SandboxTerminalPeers,
631
+ CodeEditorPeers,
632
+ CodeEditorLanguage,
633
+ CodeEditorLanguages,
634
+ } from "./lib/workbench-peers";
504
635
  export type { PierreDiffProps } from "./components/pierre-diff";
505
636
  export { PierreFile } from "./components/pierre-file";
506
637
  export type { PierreFileProps } from "./components/pierre-file";
@@ -564,8 +695,22 @@ export {
564
695
  formatClockTime,
565
696
  formatRelativeTime,
566
697
  humanizeFailureReason,
698
+ presentFailure,
567
699
  isCreditExhaustion,
568
700
  stringifyPayload,
569
701
  truncate,
570
702
  tryParseJson,
571
703
  } from "./lib/format";
704
+ export { SessionCommandsPanel } from "./components/session-commands-panel";
705
+ export { SessionCommands } from "./components/session-commands";
706
+
707
+ export { KnowledgeActivityProvider } from "./timeline/knowledge-receipt";
708
+ export type { KnowledgeActivityActions } from "./timeline/knowledge-receipt";
709
+
710
+ export { StartupTimings } from "./timeline/startup-timings";
711
+ export { setStartupDetails, useStartupDetails } from "./timeline/startup-preference";
712
+
713
+ export { ClaudeMark } from "./components/claude-mark";
714
+ export { AnthropicMark } from "./components/anthropic-mark";
715
+ export { OpenRouterMark } from "./components/openrouter-mark";
716
+ export { GrokMark } from "./components/grok-mark";
@@ -58,6 +58,7 @@ export type {
58
58
  } from "./hooks/use-browser-identities";
59
59
  export { useBrowserSession } from "./hooks/use-browser-session";
60
60
  export type {
61
+ BrowserInputFailure,
61
62
  UseBrowserSessionOptions,
62
63
  UseBrowserSessionResult,
63
64
  } from "./hooks/use-browser-session";
@@ -0,0 +1,37 @@
1
+ import { formatErrorMessage } from "@opengeni/sdk";
2
+ import { createContext, useCallback, useContext, useRef } from "react";
3
+
4
+ /** Original diagnostic error and the library's neutral, state-aware display copy. */
5
+ export type ErrorMessageFormatter = (error: unknown, defaultMessage: string) => string | undefined;
6
+
7
+ export const ErrorMessageContext = createContext<ErrorMessageFormatter | undefined>(undefined);
8
+
9
+ const originalCauses = new WeakMap<Error, unknown>();
10
+
11
+ /** Keep existing Error-typed state while retaining non-Error rejections privately. */
12
+ export function normalizeError(cause: unknown): Error {
13
+ if (cause instanceof Error) return cause;
14
+ const error = new Error(String(cause));
15
+ originalCauses.set(error, cause);
16
+ return error;
17
+ }
18
+
19
+ /** Presentation only: callers retain their errors and delivery/retry state. */
20
+ export function useErrorMessage(): (error: unknown, defaultMessage?: string) => string {
21
+ const formatter = useContext(ErrorMessageContext);
22
+ const formatterRef = useRef(formatter);
23
+ formatterRef.current = formatter;
24
+ return useCallback((error, fallback) => {
25
+ const original =
26
+ error instanceof Error && originalCauses.has(error) ? originalCauses.get(error) : error;
27
+ const defaultMessage = fallback ?? formatErrorMessage(original);
28
+ try {
29
+ const message = formatterRef.current?.(original, defaultMessage);
30
+ return typeof message === "string" && message ? message : defaultMessage;
31
+ } catch {
32
+ // Host presentation must never interrupt delivery-state settlement or
33
+ // cause an already-started mutation to be retried.
34
+ return defaultMessage;
35
+ }
36
+ }, []);
37
+ }
package/src/lib/format.ts CHANGED
@@ -1,4 +1,11 @@
1
- import { OpenGeniApiError } from "@opengeni/sdk";
1
+ import { formatErrorMessage, OpenGeniApiError } from "@opengeni/sdk";
2
+
3
+ const clockTimeFormatter = new Intl.DateTimeFormat(undefined, {
4
+ month: "short",
5
+ day: "numeric",
6
+ hour: "numeric",
7
+ minute: "2-digit",
8
+ });
2
9
 
3
10
  /** Local finished-at stamp for message footers: "Aug 2, 3:42 PM" / locale-equivalent. */
4
11
  export function formatClockTime(iso: string): string {
@@ -6,12 +13,7 @@ export function formatClockTime(iso: string): string {
6
13
  if (Number.isNaN(then.getTime())) {
7
14
  return "";
8
15
  }
9
- return then.toLocaleString(undefined, {
10
- month: "short",
11
- day: "numeric",
12
- hour: "numeric",
13
- minute: "2-digit",
14
- });
16
+ return clockTimeFormatter.format(then);
15
17
  }
16
18
 
17
19
  /** Compact relative time: "now", "42s", "7m", "3h", "2d", then a date. */
@@ -107,7 +109,13 @@ export function tryParseJson(text: string): unknown {
107
109
  * workspace no longer has.
108
110
  */
109
111
  export const CREDIT_EXHAUSTION_MESSAGE =
110
- "Out of OpenGeni credits — this workspace's balance is empty. Add credits to continue; the conversation is preserved.";
112
+ "Out of credits — this workspace's balance is empty. Add credits to continue; the conversation is preserved.";
113
+
114
+ /** A usage ceiling refused the send; the default allowance wording, plus what is safe. */
115
+ export const COMPOSER_MEMBER_ALLOWANCE_MESSAGE =
116
+ "Usage limit reached. A workspace admin can raise this limit. Your draft is preserved.";
117
+ export const COMPOSER_WORKSPACE_ALLOWANCE_MESSAGE =
118
+ "Workspace usage limit reached. An organization admin can raise the workspace budget. Your draft is preserved.";
111
119
 
112
120
  /**
113
121
  * Actionable composer copy for an edge rejection before a turn is accepted.
@@ -115,14 +123,98 @@ export const CREDIT_EXHAUSTION_MESSAGE =
115
123
  * actor-private draft or any finalized attachment.
116
124
  */
117
125
  export const COMPOSER_PAYMENT_REQUIRED_MESSAGE =
118
- "This turn requires OpenGeni managed credits, but the account balance is empty. Add credits or choose a connected Codex subscription model, then retry. Your draft and attachments are preserved.";
126
+ "Your organization doesn't have enough credits to send this message. Add credits or choose a model with another payment source. Your message and attachments are saved.";
127
+
128
+ /** Trusted, composer-owned guidance; unlike remote diagnostic prose, this is UI copy. */
129
+ export class ComposerStateError extends Error {}
130
+
131
+ /** A restored request has omitted credentials and must be reconciled, not replayed. */
132
+ export class ComposerReconciliationRequiredError extends ComposerStateError {
133
+ constructor() {
134
+ super(
135
+ "Opengeni cannot safely retry this uncertain request after remount; reconcile the session before sending again.",
136
+ );
137
+ }
138
+ }
139
+
140
+ export class ComposerWorkspaceControlUnavailableError extends Error {
141
+ constructor() {
142
+ super("@opengeni/react: workspace-scoped resume requires setWorkspaceInferenceState.");
143
+ }
144
+ }
145
+
146
+ /**
147
+ * The send named a model that is no longer in the live catalog (retired or
148
+ * removed). Retrying the same send cannot succeed; the person must choose
149
+ * another model, and the typed message stays recoverable via Edit message.
150
+ */
151
+ export const COMPOSER_MODEL_UNAVAILABLE_MESSAGE =
152
+ "This chat's model is no longer available. Choose another model to continue. Your message is saved.";
153
+
154
+ /** `details.code` the API sets on a 422 for a model missing from the live catalog. */
155
+ export const MODEL_UNAVAILABLE_DETAIL_CODE = "model_unavailable";
156
+
157
+ /**
158
+ * Is this send refusal "the model is no longer available"? Reads the typed
159
+ * `details.code`, and also the historical message so a refusal persisted
160
+ * before a reload (only its text survives) or from an older API is recognized.
161
+ */
162
+ export function isModelUnavailableSubmissionError(error: Error): boolean {
163
+ if (error instanceof OpenGeniApiError && error.details?.code === MODEL_UNAVAILABLE_DETAIL_CODE) {
164
+ return true;
165
+ }
166
+ return (
167
+ error.message === COMPOSER_MODEL_UNAVAILABLE_MESSAGE ||
168
+ /^OpenGeni API 422: model is not available: /.test(error.message)
169
+ );
170
+ }
119
171
 
120
172
  export function composerSubmissionErrorMessage(error: Error): string {
121
- return error instanceof OpenGeniApiError &&
122
- error.status === 402 &&
123
- error.code === "payment_required"
124
- ? COMPOSER_PAYMENT_REQUIRED_MESSAGE
125
- : error.message;
173
+ if (error instanceof ComposerReconciliationRequiredError) {
174
+ return "This client cannot safely retry this uncertain request after remount; reconcile the session before sending again.";
175
+ }
176
+ if (error instanceof ComposerWorkspaceControlUnavailableError) {
177
+ return "This client cannot resume the workspace. Ask your administrator for a control-capable client.";
178
+ }
179
+ if (error instanceof ComposerStateError) return error.message;
180
+ if (error instanceof OpenGeniApiError && error.outcomeUnknown) return formatErrorMessage(error);
181
+ if (isModelUnavailableSubmissionError(error)) return COMPOSER_MODEL_UNAVAILABLE_MESSAGE;
182
+ if (error instanceof OpenGeniApiError && error.code === "allowance_exhausted") {
183
+ // OpenGeniAllowanceExhaustedError carries the scope; read it structurally
184
+ // so this startup-path helper adds no SDK or wording imports.
185
+ const message =
186
+ (error as { scope?: unknown }).scope === "workspace"
187
+ ? COMPOSER_WORKSPACE_ALLOWANCE_MESSAGE
188
+ : COMPOSER_MEMBER_ALLOWANCE_MESSAGE;
189
+ return composerErrorReference(error, message);
190
+ }
191
+ return isComposerCreditRefusal(error)
192
+ ? composerErrorReference(error, COMPOSER_PAYMENT_REQUIRED_MESSAGE)
193
+ : formatErrorMessage(error);
194
+ }
195
+
196
+ function composerErrorReference(error: Error, message: string): string {
197
+ return error instanceof OpenGeniApiError && error.correlationId
198
+ ? `${message} Reference: ${error.correlationId}.`
199
+ : message;
200
+ }
201
+
202
+ /** These definitive refusals need a payment, allowance or model change, not an unchanged retry. */
203
+ export function composerSubmissionCanRetry(error: Error): boolean {
204
+ return !(
205
+ isComposerCreditRefusal(error) ||
206
+ isModelUnavailableSubmissionError(error) ||
207
+ (error instanceof OpenGeniApiError && error.code === "allowance_exhausted")
208
+ );
209
+ }
210
+
211
+ function isComposerCreditRefusal(error: Error): boolean {
212
+ return (
213
+ (error instanceof OpenGeniApiError &&
214
+ error.status === 402 &&
215
+ (error.code === "payment_required" || error.code === "insufficient_credits")) ||
216
+ isCreditExhaustion(error.message)
217
+ );
126
218
  }
127
219
 
128
220
  /**
@@ -184,3 +276,47 @@ export function humanizeFailureReason(reason: string | null): string | null {
184
276
  }
185
277
  return reason;
186
278
  }
279
+
280
+ /** Project failure diagnostics without changing the stored event, including legacy retry wrappers. */
281
+ export function presentFailure(payload: Record<string, unknown>): {
282
+ reason: string | null;
283
+ safetyRefusal: boolean;
284
+ } {
285
+ const databaseFailure =
286
+ payload.code === "db_deadlock" ||
287
+ payload.code === "db_serialization_failure" ||
288
+ payload.code === "db_failure" ||
289
+ (typeof payload.sqlState === "string" &&
290
+ /^[0-9A-Z]{5}$/.test(payload.sqlState) &&
291
+ payload.database !== null &&
292
+ typeof payload.database === "object" &&
293
+ !Array.isArray(payload.database));
294
+ if (databaseFailure) {
295
+ return { reason: "The service encountered a database error.", safetyRefusal: false };
296
+ }
297
+ const text = (key: string): string | null => {
298
+ const value = payload[key];
299
+ return typeof value === "string" && value.trim() ? value : null;
300
+ };
301
+ const message = text("error") ?? text("message");
302
+ const detail = text("lastRetryableError") ?? text("detail");
303
+ const safetyRefusal =
304
+ payload.code === "provider_safety_refusal" ||
305
+ [message, detail].some(
306
+ (value) =>
307
+ value !== null && /\bthis request was blocked by our safety systems\b/i.test(value),
308
+ );
309
+ if (safetyRefusal) {
310
+ return {
311
+ reason: `The model provider blocked this request.${detail || message ? ` ${detail ?? message}` : ""}`,
312
+ safetyRefusal: true,
313
+ };
314
+ }
315
+ return {
316
+ reason:
317
+ detail && detail !== message
318
+ ? [humanizeFailureReason(message), humanizeFailureReason(detail)].filter(Boolean).join(" ")
319
+ : humanizeFailureReason(message),
320
+ safetyRefusal: false,
321
+ };
322
+ }