@opengeni/react 3.3.2 → 3.4.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 (855) hide show
  1. package/README.md +769 -22
  2. package/dist/accounts.js +2 -0
  3. package/dist/accounts.js.map +1 -1
  4. package/dist/approvals.d.ts +2 -1
  5. package/dist/artifacts-document.js +5 -3
  6. package/dist/artifacts-presentation.js +5 -3
  7. package/dist/artifacts-spreadsheet.d.ts +1 -1
  8. package/dist/artifacts-spreadsheet.js +5 -3
  9. package/dist/artifacts.d.ts +5 -1
  10. package/dist/artifacts.js +536 -42
  11. package/dist/artifacts.js.map +1 -1
  12. package/dist/browser-viewer-ZWR6MWJ7.js +19 -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-4EUKJXUO.js +14 -0
  16. package/dist/chunk-2DDJ6YH6.js +41 -0
  17. package/dist/chunk-2DDJ6YH6.js.map +1 -0
  18. package/dist/chunk-2HVLQ26H.js +183 -0
  19. package/dist/chunk-2HVLQ26H.js.map +1 -0
  20. package/dist/{chunk-XYRDDSXF.js → chunk-2I6R3GCZ.js} +4285 -3980
  21. package/dist/chunk-2I6R3GCZ.js.map +1 -0
  22. package/dist/{chunk-JAQ5K7W6.js → chunk-2SFFYIH3.js} +1178 -166
  23. package/dist/chunk-2SFFYIH3.js.map +1 -0
  24. package/dist/chunk-3PVDYTTB.js +24 -0
  25. package/dist/chunk-3PVDYTTB.js.map +1 -0
  26. package/dist/chunk-3RJKUVCA.js +14068 -0
  27. package/dist/chunk-3RJKUVCA.js.map +1 -0
  28. package/dist/chunk-3UZCWK46.js +298 -0
  29. package/dist/chunk-3UZCWK46.js.map +1 -0
  30. package/dist/chunk-47CKUXTW.js +293 -0
  31. package/dist/chunk-47CKUXTW.js.map +1 -0
  32. package/dist/chunk-4QYP6QUI.js +109 -0
  33. package/dist/chunk-4QYP6QUI.js.map +1 -0
  34. package/dist/chunk-5EY26VZ7.js +1053 -0
  35. package/dist/chunk-5EY26VZ7.js.map +1 -0
  36. package/dist/chunk-5I4VRWBB.js +56 -0
  37. package/dist/chunk-5I4VRWBB.js.map +1 -0
  38. package/dist/chunk-5WOR7UCL.js +191 -0
  39. package/dist/chunk-5WOR7UCL.js.map +1 -0
  40. package/dist/chunk-5YJLGOM5.js +51 -0
  41. package/dist/chunk-5YJLGOM5.js.map +1 -0
  42. package/dist/chunk-6JFN3OWG.js +386 -0
  43. package/dist/chunk-6JFN3OWG.js.map +1 -0
  44. package/dist/chunk-7QJT5O4S.js +35 -0
  45. package/dist/chunk-7QJT5O4S.js.map +1 -0
  46. package/dist/chunk-A55KV72M.js +402 -0
  47. package/dist/chunk-A55KV72M.js.map +1 -0
  48. package/dist/chunk-ADWCLI4G.js +2028 -0
  49. package/dist/chunk-ADWCLI4G.js.map +1 -0
  50. package/dist/chunk-B27E3V37.js +29 -0
  51. package/dist/chunk-B27E3V37.js.map +1 -0
  52. package/dist/chunk-B7TC2A33.js +83 -0
  53. package/dist/chunk-B7TC2A33.js.map +1 -0
  54. package/dist/chunk-BLL56F7R.js +385 -0
  55. package/dist/chunk-BLL56F7R.js.map +1 -0
  56. package/dist/chunk-BOFEQC6K.js +162 -0
  57. package/dist/chunk-BOFEQC6K.js.map +1 -0
  58. package/dist/chunk-CM7LVUKC.js +35 -0
  59. package/dist/chunk-CM7LVUKC.js.map +1 -0
  60. package/dist/chunk-CORUP6JB.js +122 -0
  61. package/dist/chunk-CORUP6JB.js.map +1 -0
  62. package/dist/chunk-CSX5FFKZ.js +35 -0
  63. package/dist/chunk-CSX5FFKZ.js.map +1 -0
  64. package/dist/chunk-EGVHJKGJ.js +3125 -0
  65. package/dist/chunk-EGVHJKGJ.js.map +1 -0
  66. package/dist/{chunk-NEXLLTP4.js → chunk-G76LSA76.js} +6 -5
  67. package/dist/chunk-G76LSA76.js.map +1 -0
  68. package/dist/{chunk-PEI6RANI.js → chunk-GQMRL52F.js} +311 -75
  69. package/dist/chunk-GQMRL52F.js.map +1 -0
  70. package/dist/{chunk-ELIYWBZR.js → chunk-GUUXOISA.js} +1113 -457
  71. package/dist/chunk-GUUXOISA.js.map +1 -0
  72. package/dist/{chunk-HUIKIDM5.js → chunk-I7X2P4FU.js} +225 -116
  73. package/dist/chunk-I7X2P4FU.js.map +1 -0
  74. package/dist/chunk-IGFZFLI2.js +1390 -0
  75. package/dist/chunk-IGFZFLI2.js.map +1 -0
  76. package/dist/{chunk-4MDLEHXL.js → chunk-IMSUVYQB.js} +26 -13
  77. package/dist/chunk-IMSUVYQB.js.map +1 -0
  78. package/dist/chunk-IOYHDEP3.js +38 -0
  79. package/dist/chunk-IOYHDEP3.js.map +1 -0
  80. package/dist/chunk-IZV5FTJC.js +55 -0
  81. package/dist/chunk-IZV5FTJC.js.map +1 -0
  82. package/dist/chunk-KF33GTWN.js +343 -0
  83. package/dist/chunk-KF33GTWN.js.map +1 -0
  84. package/dist/chunk-KSGQ5ODA.js +457 -0
  85. package/dist/chunk-KSGQ5ODA.js.map +1 -0
  86. package/dist/{chunk-ZPBTI3TE.js → chunk-KZC6QRNR.js} +1513 -697
  87. package/dist/chunk-KZC6QRNR.js.map +1 -0
  88. package/dist/chunk-LJUMYUBO.js +218 -0
  89. package/dist/chunk-LJUMYUBO.js.map +1 -0
  90. package/dist/chunk-LSW2OJVV.js +380 -0
  91. package/dist/chunk-LSW2OJVV.js.map +1 -0
  92. package/dist/chunk-M357MHH3.js +2 -0
  93. package/dist/chunk-M357MHH3.js.map +1 -0
  94. package/dist/chunk-MK2TQO4Y.js +24 -0
  95. package/dist/chunk-MK2TQO4Y.js.map +1 -0
  96. package/dist/chunk-N7S72EXK.js +25 -0
  97. package/dist/chunk-N7S72EXK.js.map +1 -0
  98. package/dist/{chunk-YVCHAQZY.js → chunk-NKMYZFHA.js} +616 -621
  99. package/dist/chunk-NKMYZFHA.js.map +1 -0
  100. package/dist/chunk-NX4ADH73.js +14 -0
  101. package/dist/chunk-NX4ADH73.js.map +1 -0
  102. package/dist/chunk-O7F6UJO4.js +71 -0
  103. package/dist/chunk-O7F6UJO4.js.map +1 -0
  104. package/dist/chunk-OYQQJL3J.js +16 -0
  105. package/dist/chunk-OYQQJL3J.js.map +1 -0
  106. package/dist/{chunk-H5YGYNXS.js → chunk-P4BNUO57.js} +60 -17
  107. package/dist/chunk-P4BNUO57.js.map +1 -0
  108. package/dist/{chunk-JVYQRRC4.js → chunk-PEHTX3V7.js} +21 -1
  109. package/dist/chunk-PEHTX3V7.js.map +1 -0
  110. package/dist/chunk-PMV53IMM.js +26 -0
  111. package/dist/chunk-PMV53IMM.js.map +1 -0
  112. package/dist/{chunk-KCGXPP5V.js → chunk-PYEOPA4M.js} +13 -7
  113. package/dist/chunk-PYEOPA4M.js.map +1 -0
  114. package/dist/{chunk-KZ73RL76.js → chunk-QHUE7E4N.js} +8 -3
  115. package/dist/chunk-QHUE7E4N.js.map +1 -0
  116. package/dist/chunk-QV3DJVRZ.js +11 -0
  117. package/dist/chunk-QV3DJVRZ.js.map +1 -0
  118. package/dist/chunk-R5SBNG7S.js +810 -0
  119. package/dist/chunk-R5SBNG7S.js.map +1 -0
  120. package/dist/chunk-RI42H5IU.js +326 -0
  121. package/dist/chunk-RI42H5IU.js.map +1 -0
  122. package/dist/chunk-S2QH6EZ5.js +211 -0
  123. package/dist/chunk-S2QH6EZ5.js.map +1 -0
  124. package/dist/chunk-SHLZMAJN.js +304 -0
  125. package/dist/chunk-SHLZMAJN.js.map +1 -0
  126. package/dist/chunk-TGXK4BAZ.js +293 -0
  127. package/dist/chunk-TGXK4BAZ.js.map +1 -0
  128. package/dist/{chunk-5YK2ZDIG.js → chunk-TNEZNMSN.js} +4 -10
  129. package/dist/chunk-TNEZNMSN.js.map +1 -0
  130. package/dist/{chunk-22KP6LR5.js → chunk-TXS65BB2.js} +3 -1
  131. package/dist/{chunk-22KP6LR5.js.map → chunk-TXS65BB2.js.map} +1 -1
  132. package/dist/chunk-UNJPZGNK.js +63 -0
  133. package/dist/chunk-UNJPZGNK.js.map +1 -0
  134. package/dist/{chunk-IOLVN74D.js → chunk-V5ZUJT2T.js} +175 -42
  135. package/dist/chunk-V5ZUJT2T.js.map +1 -0
  136. package/dist/chunk-WBJY57A3.js +402 -0
  137. package/dist/chunk-WBJY57A3.js.map +1 -0
  138. package/dist/chunk-WIUKB3LD.js +1911 -0
  139. package/dist/chunk-WIUKB3LD.js.map +1 -0
  140. package/dist/{chunk-ICA6R6TW.js → chunk-WNN7NO2N.js} +1451 -355
  141. package/dist/chunk-WNN7NO2N.js.map +1 -0
  142. package/dist/{chunk-3AGBGTRT.js → chunk-X5UVUIMF.js} +1712 -1174
  143. package/dist/chunk-X5UVUIMF.js.map +1 -0
  144. package/dist/chunk-XDA5QJE7.js +402 -0
  145. package/dist/chunk-XDA5QJE7.js.map +1 -0
  146. package/dist/{chunk-VZTQ73XT.js → chunk-XEA5BCMA.js} +3 -1
  147. package/dist/{chunk-VZTQ73XT.js.map → chunk-XEA5BCMA.js.map} +1 -1
  148. package/dist/chunk-XHF7OYAN.js +1150 -0
  149. package/dist/chunk-XHF7OYAN.js.map +1 -0
  150. package/dist/chunk-YSRBFJMQ.js +43 -0
  151. package/dist/chunk-YSRBFJMQ.js.map +1 -0
  152. package/dist/chunk-ZOZAPAUO.js +174 -0
  153. package/dist/chunk-ZOZAPAUO.js.map +1 -0
  154. package/dist/chunk-ZQV5W7YC.js +809 -0
  155. package/dist/chunk-ZQV5W7YC.js.map +1 -0
  156. package/dist/chunk-ZUWF4NF7.js +13 -0
  157. package/dist/chunk-ZUWF4NF7.js.map +1 -0
  158. package/dist/client.d.ts +16 -7
  159. package/dist/clipboard.js +3 -1
  160. package/dist/commands/types.d.ts +2 -0
  161. package/dist/components/anthropic-mark.d.ts +3 -0
  162. package/dist/components/approval-surface.d.ts +19 -6
  163. package/dist/components/artifacts/artifact-chrome.d.ts +120 -0
  164. package/dist/components/artifacts/artifact-sandbox.d.ts +30 -0
  165. package/dist/components/artifacts/artifact-surface.d.ts +4 -2
  166. package/dist/components/artifacts/chat-interactive-block.d.ts +29 -0
  167. package/dist/components/artifacts/deferred-chat-media.d.ts +15 -0
  168. package/dist/components/artifacts/document-editor.d.ts +4 -2
  169. package/dist/components/artifacts/editable-artifact-ui.d.ts +2 -1
  170. package/dist/components/artifacts/editable-artifact-view.d.ts +48 -0
  171. package/dist/components/artifacts/editable-document.d.ts +1 -1
  172. package/dist/components/artifacts/editable-presentation.d.ts +2 -2
  173. package/dist/components/artifacts/editable-spreadsheet.d.ts +8 -3
  174. package/dist/components/artifacts/index.d.ts +9 -2
  175. package/dist/components/artifacts/inline-html-document.d.ts +2 -0
  176. package/dist/components/artifacts/latest-task-runner.d.ts +15 -0
  177. package/dist/components/artifacts/presentation-editor.d.ts +6 -2
  178. package/dist/components/artifacts/published-html-artifact-frame.d.ts +23 -3
  179. package/dist/components/artifacts/session-artifact-viewer.d.ts +39 -0
  180. package/dist/components/artifacts/site-view.d.ts +26 -0
  181. package/dist/components/artifacts/spreadsheet-command-queue.d.ts +20 -0
  182. package/dist/components/artifacts/spreadsheet-download.d.ts +7 -0
  183. package/dist/components/artifacts/spreadsheet-general-display.d.ts +24 -0
  184. package/dist/components/artifacts/spreadsheet-grid.d.ts +10 -3
  185. package/dist/components/artifacts/spreadsheet-resize.d.ts +50 -0
  186. package/dist/components/artifacts/spreadsheet-submissions.d.ts +9 -0
  187. package/dist/components/artifacts/visualization-assets.gen.d.ts +2 -0
  188. package/dist/components/browser-select-control.d.ts +16 -0
  189. package/dist/components/browser-viewer.d.ts +11 -2
  190. package/dist/components/chat-composer.d.ts +21 -3
  191. package/dist/components/child-session-link.d.ts +9 -0
  192. package/dist/components/claude-mark.d.ts +3 -0
  193. package/dist/components/code-editor.d.ts +1 -4
  194. package/dist/components/composer-transcription-control.d.ts +7 -0
  195. package/dist/components/composer.d.ts +34 -67
  196. package/dist/components/computer-viewer.d.ts +1 -1
  197. package/dist/components/copy-button.d.ts +3 -1
  198. package/dist/components/desktop-viewer.d.ts +1 -1
  199. package/dist/components/grok-mark.d.ts +26 -0
  200. package/dist/components/human-input-form.d.ts +28 -32
  201. package/dist/components/human-input-surface.d.ts +7 -2
  202. package/dist/components/linkified-text.d.ts +18 -0
  203. package/dist/components/machine-input-display.d.ts +22 -1
  204. package/dist/components/machines/agent-status-icon.d.ts +6 -0
  205. package/dist/components/machines/machine-detail.d.ts +7 -1
  206. package/dist/components/machines/machine-status.d.ts +48 -0
  207. package/dist/components/markdown-table-layout.d.ts +18 -0
  208. package/dist/components/markdown.d.ts +37 -4
  209. package/dist/components/message-timeline.d.ts +86 -7
  210. package/dist/components/model-mark.d.ts +29 -0
  211. package/dist/components/model-policy-picker-menu.d.ts +9 -0
  212. package/dist/components/model-policy-picker.d.ts +35 -28
  213. package/dist/components/new-conversation.d.ts +32 -0
  214. package/dist/components/open-geni-chat.d.ts +73 -0
  215. package/dist/components/open-geni-links.d.ts +68 -0
  216. package/dist/components/openrouter-mark.d.ts +6 -0
  217. package/dist/components/opper-mark.d.ts +7 -0
  218. package/dist/components/preview-loading.d.ts +2 -0
  219. package/dist/components/provider-recovery-notice.d.ts +16 -0
  220. package/dist/components/queue-item-content.d.ts +9 -0
  221. package/dist/components/rehype-secret-refs.d.ts +23 -0
  222. package/dist/components/remark-soft-line-breaks.d.ts +38 -0
  223. package/dist/components/sandbox-files.d.ts +3 -1
  224. package/dist/components/sandbox-workspace.d.ts +18 -0
  225. package/dist/components/secret-question-field.d.ts +31 -0
  226. package/dist/components/secret-ref-chip.d.ts +35 -0
  227. package/dist/components/session-capability-frame.d.ts +37 -0
  228. package/dist/components/session-chrome.d.ts +57 -8
  229. package/dist/components/session-commands-panel.d.ts +6 -0
  230. package/dist/components/session-commands.d.ts +6 -0
  231. package/dist/components/session-connection-request.d.ts +8 -0
  232. package/dist/components/session-conversation.d.ts +157 -0
  233. package/dist/components/session-list.d.ts +39 -0
  234. package/dist/components/session-mcp-capability-card.d.ts +41 -0
  235. package/dist/components/session-proxy-scope.d.ts +35 -0
  236. package/dist/components/session-status.d.ts +4 -1
  237. package/dist/components/session-usage-limit-notice.d.ts +39 -0
  238. package/dist/components/timeline-anchor.d.ts +24 -0
  239. package/dist/components/timeline-annotation-chrome.d.ts +25 -0
  240. package/dist/components/timeline-annotation-layout.d.ts +42 -0
  241. package/dist/components/timeline-annotation-markers.d.ts +8 -0
  242. package/dist/components/timeline-annotation-reveal-context.d.ts +4 -0
  243. package/dist/components/timeline-annotation-shared.d.ts +31 -0
  244. package/dist/components/timeline-annotations-dialog.d.ts +3 -2
  245. package/dist/components/timeline-annotations.d.ts +13 -3
  246. package/dist/components/timeline-reading-progress.d.ts +11 -0
  247. package/dist/components/timeline-search.d.ts +34 -0
  248. package/dist/components/timeline-settlement.d.ts +16 -0
  249. package/dist/components/tool-action-review.d.ts +47 -0
  250. package/dist/components/tool-review-history.d.ts +25 -0
  251. package/dist/components/usage-limit-notice.d.ts +49 -0
  252. package/dist/components/usage-member-list.d.ts +91 -0
  253. package/dist/components/usage-meter.d.ts +73 -0
  254. package/dist/components/use-viewer-menu-dismiss.d.ts +2 -0
  255. package/dist/components/user-message-body.d.ts +10 -1
  256. package/dist/composer-messages.d.ts +74 -0
  257. package/dist/composer-messages.js +9 -0
  258. package/dist/composer-messages.js.map +1 -0
  259. package/dist/composer-voice-events.d.ts +8 -0
  260. package/dist/composer.d.ts +5 -4
  261. package/dist/composer.js +26 -13
  262. package/dist/computer-viewer-GMLDXPON.js +20 -0
  263. package/dist/computer-viewer-GMLDXPON.js.map +1 -0
  264. package/dist/connect-account-identity.d.ts +8 -0
  265. package/dist/connect-accounts.d.ts +15 -0
  266. package/dist/connect-chooser.d.ts +18 -0
  267. package/dist/connect-panel.d.ts +18 -0
  268. package/dist/connect-setup.d.ts +18 -0
  269. package/dist/connect.d.ts +21 -0
  270. package/dist/connect.js +2149 -0
  271. package/dist/connect.js.map +1 -0
  272. package/dist/connection-catalog.d.ts +38 -0
  273. package/dist/connection-discovery.d.ts +12 -0
  274. package/dist/connection-installed.d.ts +17 -0
  275. package/dist/connection-logo.d.ts +9 -0
  276. package/dist/connection-service-logo.d.ts +8 -0
  277. package/dist/connection-service-presentation.d.ts +13 -0
  278. package/dist/connection-skeleton.d.ts +5 -0
  279. package/dist/connection-type-picker.d.ts +6 -0
  280. package/dist/conversation-timeline.d.ts +5 -0
  281. package/dist/desktop.d.ts +7 -0
  282. package/dist/desktop.js +27 -0
  283. package/dist/desktop.js.map +1 -0
  284. package/dist/device-authorization.d.ts +23 -0
  285. package/dist/diffs.d.ts +8 -0
  286. package/dist/diffs.js +15 -0
  287. package/dist/diffs.js.map +1 -0
  288. package/dist/discovery-cache.d.ts +5 -0
  289. package/dist/editor.d.ts +7 -0
  290. package/dist/editor.js +22 -0
  291. package/dist/editor.js.map +1 -0
  292. package/dist/embedded-new-voice-OCRNT6U5.js +18 -0
  293. package/dist/embedded-new-voice-OCRNT6U5.js.map +1 -0
  294. package/dist/embedded-voice-RPHPYVBT.js +18 -0
  295. package/dist/embedded-voice-RPHPYVBT.js.map +1 -0
  296. package/dist/{fleet-decision-row-GGCAT4E4.js → fleet-decision-row-SI63O5V4.js} +4 -1
  297. package/dist/fleet-decision-row-SI63O5V4.js.map +1 -0
  298. package/dist/hooks/latest-question.d.ts +25 -0
  299. package/dist/hooks/shared-machines-list.d.ts +4 -0
  300. package/dist/hooks/shared-query.d.ts +113 -0
  301. package/dist/hooks/use-attached-browsers.d.ts +1 -1
  302. package/dist/hooks/use-auth-runs.d.ts +1 -4
  303. package/dist/hooks/use-available-models.d.ts +1 -1
  304. package/dist/hooks/use-browser-frame-stream.d.ts +1 -1
  305. package/dist/hooks/use-browser-session.d.ts +12 -1
  306. package/dist/hooks/use-client-config-flags.d.ts +49 -0
  307. package/dist/hooks/use-codex-accounts.d.ts +59 -10
  308. package/dist/hooks/use-composer.d.ts +24 -2
  309. package/dist/hooks/use-computer-frame-stream.d.ts +1 -1
  310. package/dist/hooks/use-computer-input-posture.d.ts +13 -0
  311. package/dist/hooks/use-computer-session.d.ts +4 -0
  312. package/dist/hooks/use-connect.d.ts +23 -0
  313. package/dist/hooks/use-desktop-stream.d.ts +1 -1
  314. package/dist/hooks/use-file-attachments.d.ts +12 -0
  315. package/dist/hooks/use-goal.d.ts +2 -1
  316. package/dist/hooks/use-last-started-turn-policy.d.ts +5 -1
  317. package/dist/hooks/use-new-conversation.d.ts +56 -0
  318. package/dist/hooks/use-new-session-draft.d.ts +74 -0
  319. package/dist/hooks/use-realtime-voice-models.d.ts +7 -0
  320. package/dist/hooks/use-sandbox-files.d.ts +4 -1
  321. package/dist/hooks/use-session-conversation.d.ts +49 -0
  322. package/dist/hooks/use-session-events.d.ts +26 -5
  323. package/dist/hooks/use-session-mcp-approval-policy.d.ts +2 -2
  324. package/dist/hooks/use-session-model-account.d.ts +48 -0
  325. package/dist/hooks/use-supergrok-accounts.d.ts +7 -1
  326. package/dist/hooks/use-terminal-stream.d.ts +11 -5
  327. package/dist/hooks/use-usage.d.ts +40 -0
  328. package/dist/hooks/use-vaults.d.ts +53 -0
  329. package/dist/hooks/use-voice-input.d.ts +8 -1
  330. package/dist/hooks/use-workspace-edit.d.ts +4 -0
  331. package/dist/hooks/use-workspace-sessions.d.ts +24 -5
  332. package/dist/human-input-model.d.ts +122 -0
  333. package/dist/identity-link-accounts.d.ts +11 -0
  334. package/dist/identity-link-consent.d.ts +18 -0
  335. package/dist/index.d.ts +82 -20
  336. package/dist/index.js +2340 -6603
  337. package/dist/index.js.map +1 -1
  338. package/dist/interaction.d.ts +1 -1
  339. package/dist/interaction.js +14 -24
  340. package/dist/interaction.js.map +1 -1
  341. package/dist/latest-question-R77KWSUP.js +118 -0
  342. package/dist/latest-question-R77KWSUP.js.map +1 -0
  343. package/dist/lib/clipboard.d.ts +7 -0
  344. package/dist/lib/error-message.d.ts +7 -0
  345. package/dist/lib/format.d.ts +58 -4
  346. package/dist/lib/host-theme.d.ts +77 -0
  347. package/dist/lib/interaction-errors.d.ts +3 -0
  348. package/dist/lib/menu-styles.d.ts +22 -0
  349. package/dist/lib/notify-observer.d.ts +2 -0
  350. package/dist/lib/pierre-diffs-loader.d.ts +20 -0
  351. package/dist/lib/provider-recovery.d.ts +55 -0
  352. package/dist/lib/scrollbars.d.ts +11 -0
  353. package/dist/lib/terminal-input-readiness.d.ts +11 -0
  354. package/dist/lib/transient-retry.d.ts +25 -0
  355. package/dist/lib/workbench-peers.d.ts +36 -0
  356. package/dist/lib/xterm-theme.d.ts +7 -5
  357. package/dist/machines.js +9 -5
  358. package/dist/markdown-table-layout-3PV2UAAH.js +113 -0
  359. package/dist/markdown-table-layout-3PV2UAAH.js.map +1 -0
  360. package/dist/mcp-connection-status.d.ts +14 -0
  361. package/dist/model-mark-paths.d.ts +34 -0
  362. package/dist/model-mark-paths.js +16 -0
  363. package/dist/model-mark-paths.js.map +1 -0
  364. package/dist/model-picker-model.d.ts +111 -0
  365. package/dist/model-picker-model.js +25 -0
  366. package/dist/model-picker-model.js.map +1 -0
  367. package/dist/model-policy-picker-menu-7GJ5URPR.js +17 -0
  368. package/dist/model-policy-picker-menu-7GJ5URPR.js.map +1 -0
  369. package/dist/model-policy.d.ts +30 -3
  370. package/dist/model-policy.js +14 -1
  371. package/dist/native-previews.d.ts +28 -0
  372. package/dist/native-previews.js +82 -0
  373. package/dist/native-previews.js.map +1 -0
  374. package/dist/new-session-draft.d.ts +7 -0
  375. package/dist/new-session-draft.js +639 -0
  376. package/dist/new-session-draft.js.map +1 -0
  377. package/dist/notification-text.d.ts +27 -0
  378. package/dist/{noto-sans-arabic-loader-IA2T4X2A.js → noto-sans-arabic-loader-XSH2KYWJ.js} +3 -1
  379. package/dist/{noto-sans-arabic-loader-IA2T4X2A.js.map → noto-sans-arabic-loader-XSH2KYWJ.js.map} +1 -1
  380. package/dist/{noto-sans-jp-loader.generated-HFGLYBR3.js → noto-sans-jp-loader.generated-MR5L6V7K.js} +3 -1
  381. package/dist/{noto-sans-jp-loader.generated-HFGLYBR3.js.map → noto-sans-jp-loader.generated-MR5L6V7K.js.map} +1 -1
  382. package/dist/older-history.d.ts +3 -2
  383. package/dist/organization-model.d.ts +32 -0
  384. package/dist/organization-model.js +65 -0
  385. package/dist/organization-model.js.map +1 -0
  386. package/dist/{platform-activity-row-BJHUHXAT.js → platform-activity-row-5OCKOQWZ.js} +16 -78
  387. package/dist/platform-activity-row-5OCKOQWZ.js.map +1 -0
  388. package/dist/plugin-details.d.ts +14 -0
  389. package/dist/plugin-discovery.d.ts +25 -0
  390. package/dist/preview-loading-paint.d.ts +20 -0
  391. package/dist/provider.d.ts +25 -2
  392. package/dist/queue-presentation-model.d.ts +72 -0
  393. package/dist/queue-presentation-model.js +38 -0
  394. package/dist/queue-presentation-model.js.map +1 -0
  395. package/dist/{queue-surface-implementation-BSKUWHRI.js → queue-surface-implementation-GJBH7NKO.js} +65 -265
  396. package/dist/queue-surface-implementation-GJBH7NKO.js.map +1 -0
  397. package/dist/realtime/embedded-new-voice.d.ts +1 -0
  398. package/dist/realtime/embedded-voice.d.ts +1 -0
  399. package/dist/realtime/realtime-control.d.ts +4 -65
  400. package/dist/realtime/session-realtime.d.ts +78 -0
  401. package/dist/realtime.js +25 -1333
  402. package/dist/realtime.js.map +1 -1
  403. package/dist/sandbox-files-O27IPOZW.js +21 -0
  404. package/dist/sandbox-files-O27IPOZW.js.map +1 -0
  405. package/dist/sandbox-label-model.d.ts +30 -0
  406. package/dist/sandbox-label-model.js +20 -0
  407. package/dist/sandbox-label-model.js.map +1 -0
  408. package/dist/scrollbars.d.ts +1 -0
  409. package/dist/scrollbars.js +10 -0
  410. package/dist/scrollbars.js.map +1 -0
  411. package/dist/secret-reference-label.d.ts +14 -0
  412. package/dist/secrets-ui.d.ts +57 -0
  413. package/dist/session-agents-model.d.ts +10 -0
  414. package/dist/session-agents-model.js +25 -0
  415. package/dist/session-agents-model.js.map +1 -0
  416. package/dist/session-attention-model.d.ts +8 -0
  417. package/dist/session-attention-model.js +47 -0
  418. package/dist/session-attention-model.js.map +1 -0
  419. package/dist/session-auth-recommendation.d.ts +5 -0
  420. package/dist/session-capability-policy.d.ts +31 -0
  421. package/dist/session-feedback-model.d.ts +20 -0
  422. package/dist/session-feedback-model.js +56 -0
  423. package/dist/session-feedback-model.js.map +1 -0
  424. package/dist/session-list-model.d.ts +138 -0
  425. package/dist/session-list-model.js +274 -0
  426. package/dist/session-list-model.js.map +1 -0
  427. package/dist/session-realtime-7DJOIHQW.js +21 -0
  428. package/dist/session-realtime-7DJOIHQW.js.map +1 -0
  429. package/dist/session-realtime.d.ts +7 -0
  430. package/dist/session-realtime.js +19 -0
  431. package/dist/session-realtime.js.map +1 -0
  432. package/dist/session-status-model.d.ts +36 -0
  433. package/dist/session-ui.d.ts +39 -1
  434. package/dist/session-ui.js +126 -12
  435. package/dist/session-ui.js.map +1 -1
  436. package/dist/session.d.ts +8 -2
  437. package/dist/session.js +35 -20
  438. package/dist/site-snapshot.d.ts +14 -0
  439. package/dist/sites-ui.d.ts +24 -0
  440. package/dist/sites.d.ts +3 -0
  441. package/dist/sites.js +14 -0
  442. package/dist/sites.js.map +1 -0
  443. package/dist/skill-discovery.d.ts +47 -0
  444. package/dist/terminal.d.ts +8 -0
  445. package/dist/terminal.js +32 -0
  446. package/dist/terminal.js.map +1 -0
  447. package/dist/testing/session-scenarios.d.ts +10 -0
  448. package/dist/testing/session-scenarios.js +367 -0
  449. package/dist/testing/session-scenarios.js.map +1 -0
  450. package/dist/timeline/activity-rail.d.ts +11 -2
  451. package/dist/timeline/agent-identity.d.ts +30 -0
  452. package/dist/timeline/agent-row.d.ts +31 -0
  453. package/dist/timeline/allowance-exhausted-row.d.ts +24 -0
  454. package/dist/timeline/compaction-copy.d.ts +46 -0
  455. package/dist/timeline/focus-sequence.d.ts +9 -0
  456. package/dist/timeline/genie-copy.d.ts +3 -0
  457. package/dist/timeline/genie-loading.d.ts +47 -0
  458. package/dist/timeline/index.d.ts +10 -5
  459. package/dist/timeline/knowledge-receipt.d.ts +17 -0
  460. package/dist/timeline/message-sender.d.ts +19 -0
  461. package/dist/timeline/notice-presentation.d.ts +13 -0
  462. package/dist/timeline/parsers.d.ts +11 -0
  463. package/dist/timeline/patch-apply-command.d.ts +18 -0
  464. package/dist/timeline/platform-activity-presentation.d.ts +21 -0
  465. package/dist/timeline/platform-activity-row.d.ts +1 -2
  466. package/dist/timeline/presented-image.d.ts +11 -0
  467. package/dist/timeline/projection.d.ts +31 -2
  468. package/dist/timeline/provider-logo.d.ts +15 -0
  469. package/dist/timeline/question-nav-model.d.ts +23 -0
  470. package/dist/timeline/registry.d.ts +12 -1
  471. package/dist/timeline/retained-image.d.ts +18 -0
  472. package/dist/timeline/retained-loaders.d.ts +27 -0
  473. package/dist/timeline/rolling-activity.d.ts +11 -0
  474. package/dist/timeline/screenshot-lightbox.d.ts +23 -1
  475. package/dist/timeline/session-usage-limit-row.d.ts +11 -0
  476. package/dist/timeline/shared.d.ts +4 -1
  477. package/dist/timeline/startup-dispatch-details.d.ts +5 -0
  478. package/dist/timeline/startup-preference.d.ts +3 -0
  479. package/dist/timeline/startup-timings.d.ts +4 -0
  480. package/dist/timeline/tool-display-name.d.ts +5 -2
  481. package/dist/timeline/tool-presentation.d.ts +172 -0
  482. package/dist/timeline/turn-summary-model.d.ts +95 -0
  483. package/dist/timeline/turn-summary.d.ts +20 -54
  484. package/dist/timeline/types.d.ts +179 -7
  485. package/dist/timeline/work-presentation.d.ts +60 -0
  486. package/dist/timeline-annotation-markers-U3G66KUD.js +166 -0
  487. package/dist/timeline-annotation-markers-U3G66KUD.js.map +1 -0
  488. package/dist/timeline-annotation-selection-BI7QTPTZ.js +242 -0
  489. package/dist/timeline-annotation-selection-BI7QTPTZ.js.map +1 -0
  490. package/dist/timeline-annotations-dialog-FOMHSDTE.js +274 -0
  491. package/dist/timeline-annotations-dialog-FOMHSDTE.js.map +1 -0
  492. package/dist/timeline-model.d.ts +29 -0
  493. package/dist/timeline-model.js +254 -0
  494. package/dist/timeline-model.js.map +1 -0
  495. package/dist/usage/allowance-copy.d.ts +25 -0
  496. package/dist/usage/session-usage-limit.d.ts +88 -0
  497. package/dist/usage/summary.d.ts +35 -0
  498. package/dist/usage.d.ts +17 -0
  499. package/dist/usage.js +1187 -0
  500. package/dist/usage.js.map +1 -0
  501. package/dist/voice-recording-owner.d.ts +7 -0
  502. package/package.json +106 -7
  503. package/src/approvals.ts +8 -1
  504. package/src/artifacts-spreadsheet.ts +1 -0
  505. package/src/artifacts.ts +44 -0
  506. package/src/assets/README.md +8 -0
  507. package/src/assets/gmail.ico +0 -0
  508. package/src/assets/outlook.ico +0 -0
  509. package/src/capability-catalog-row.tsx +94 -0
  510. package/src/capability-logo-fallback.ts +22 -0
  511. package/src/client.ts +20 -31
  512. package/src/commands/registry.ts +18 -15
  513. package/src/commands/types.ts +2 -0
  514. package/src/components/anthropic-mark.tsx +10 -0
  515. package/src/components/approval-surface.tsx +401 -138
  516. package/src/components/artifacts/artifact-chrome.tsx +413 -0
  517. package/src/components/artifacts/artifact-sandbox.tsx +193 -0
  518. package/src/components/artifacts/artifact-surface.tsx +40 -20
  519. package/src/components/artifacts/chat-interactive-block.tsx +260 -0
  520. package/src/components/artifacts/deferred-chat-media.tsx +67 -0
  521. package/src/components/artifacts/document-editor.tsx +141 -16
  522. package/src/components/artifacts/editable-artifact-ui.tsx +4 -2
  523. package/src/components/artifacts/editable-artifact-view.tsx +197 -0
  524. package/src/components/artifacts/editable-artifact-workbench.tsx +5 -2
  525. package/src/components/artifacts/editable-document.tsx +37 -36
  526. package/src/components/artifacts/editable-presentation.tsx +36 -18
  527. package/src/components/artifacts/editable-spreadsheet.tsx +543 -103
  528. package/src/components/artifacts/index.ts +45 -0
  529. package/src/components/artifacts/inline-html-document.ts +24 -0
  530. package/src/components/artifacts/latest-task-runner.ts +49 -0
  531. package/src/components/artifacts/presentation-editor.tsx +323 -67
  532. package/src/components/artifacts/published-html-artifact-frame.tsx +122 -5
  533. package/src/components/artifacts/session-artifact-viewer.tsx +378 -0
  534. package/src/components/artifacts/site-view.tsx +121 -0
  535. package/src/components/artifacts/spreadsheet-canvas.ts +5 -10
  536. package/src/components/artifacts/spreadsheet-command-queue.ts +184 -0
  537. package/src/components/artifacts/spreadsheet-download.tsx +109 -0
  538. package/src/components/artifacts/spreadsheet-general-display.ts +43 -0
  539. package/src/components/artifacts/spreadsheet-grid.tsx +344 -144
  540. package/src/components/artifacts/spreadsheet-resize.tsx +421 -0
  541. package/src/components/artifacts/spreadsheet-submissions.tsx +46 -0
  542. package/src/components/artifacts/visualization-assets/base.css +1015 -0
  543. package/src/components/artifacts/visualization-assets/helpers.html +349 -0
  544. package/src/components/artifacts/visualization-assets.gen.ts +3 -0
  545. package/src/components/browser-select-control.tsx +312 -0
  546. package/src/components/browser-viewer.tsx +778 -318
  547. package/src/components/chat-composer.tsx +47 -5
  548. package/src/components/child-session-link.tsx +36 -0
  549. package/src/components/claude-mark.tsx +11 -0
  550. package/src/components/code-editor.tsx +13 -16
  551. package/src/components/composer-transcription-control.tsx +128 -30
  552. package/src/components/composer.tsx +404 -195
  553. package/src/components/computer-viewer.tsx +880 -253
  554. package/src/components/copy-button.tsx +13 -5
  555. package/src/components/desktop-viewer.tsx +1 -1
  556. package/src/components/enrollment-consent.tsx +1 -1
  557. package/src/components/enrollment-device-flow.tsx +1 -1
  558. package/src/components/file-browser.tsx +10 -14
  559. package/src/components/fleet-tile.tsx +5 -3
  560. package/src/components/generated-video-player.tsx +4 -2
  561. package/src/components/grok-mark.tsx +34 -0
  562. package/src/components/human-input-form.tsx +590 -283
  563. package/src/components/human-input-surface.tsx +11 -0
  564. package/src/components/interaction-intervention-banner.tsx +2 -2
  565. package/src/components/linkified-text.tsx +79 -0
  566. package/src/components/machine-card.tsx +35 -78
  567. package/src/components/machine-dock-bar.tsx +1 -1
  568. package/src/components/machine-input-display.ts +197 -3
  569. package/src/components/machines/agent-status-icon.tsx +31 -0
  570. package/src/components/machines/machine-detail.tsx +200 -31
  571. package/src/components/machines/machine-operation-policy.tsx +1 -1
  572. package/src/components/machines/machine-status.ts +241 -0
  573. package/src/components/machines-dashboard.tsx +2 -17
  574. package/src/components/markdown-table-layout.ts +143 -0
  575. package/src/components/markdown.tsx +466 -129
  576. package/src/components/message-timeline.tsx +2370 -667
  577. package/src/components/model-mark.tsx +102 -0
  578. package/src/components/model-picker.tsx +15 -4
  579. package/src/components/model-policy-picker-menu.tsx +371 -0
  580. package/src/components/model-policy-picker.tsx +252 -429
  581. package/src/components/new-conversation.tsx +221 -0
  582. package/src/components/open-geni-chat.tsx +309 -0
  583. package/src/components/open-geni-links.tsx +179 -0
  584. package/src/components/openrouter-mark.tsx +13 -0
  585. package/src/components/opper-mark.tsx +18 -0
  586. package/src/components/pierre-diff.tsx +41 -16
  587. package/src/components/pierre-file.tsx +35 -10
  588. package/src/components/preview-loading.tsx +109 -0
  589. package/src/components/provider-recovery-notice.tsx +49 -0
  590. package/src/components/queue-item-content.ts +14 -0
  591. package/src/components/queue-surface-implementation.tsx +51 -356
  592. package/src/components/queue-surface-state.tsx +3 -1
  593. package/src/components/rehype-secret-refs.ts +98 -0
  594. package/src/components/remark-soft-line-breaks.ts +166 -0
  595. package/src/components/sandbox-files.tsx +91 -15
  596. package/src/components/sandbox-terminal.tsx +84 -13
  597. package/src/components/sandbox-workspace.tsx +147 -51
  598. package/src/components/secret-question-field.tsx +324 -0
  599. package/src/components/secret-ref-chip.tsx +185 -0
  600. package/src/components/session-capability-frame.tsx +197 -0
  601. package/src/components/session-chrome.tsx +842 -251
  602. package/src/components/session-commands-panel.tsx +126 -0
  603. package/src/components/session-commands.tsx +18 -0
  604. package/src/components/session-connection-request.tsx +97 -0
  605. package/src/components/session-conversation.tsx +876 -0
  606. package/src/components/session-list.tsx +257 -0
  607. package/src/components/session-mcp-capability-card.tsx +680 -0
  608. package/src/components/session-proxy-scope.tsx +153 -0
  609. package/src/components/session-status.tsx +26 -17
  610. package/src/components/session-usage-limit-notice.tsx +174 -0
  611. package/src/components/timeline-anchor.tsx +119 -0
  612. package/src/components/timeline-annotation-chrome.tsx +196 -0
  613. package/src/components/timeline-annotation-layout.ts +268 -0
  614. package/src/components/timeline-annotation-markers.tsx +185 -0
  615. package/src/components/timeline-annotation-reveal-context.ts +9 -0
  616. package/src/components/timeline-annotation-selection.tsx +106 -54
  617. package/src/components/timeline-annotation-shared.ts +245 -0
  618. package/src/components/timeline-annotations-dialog.tsx +185 -128
  619. package/src/components/timeline-annotations.tsx +189 -45
  620. package/src/components/timeline-reading-progress.ts +80 -0
  621. package/src/components/timeline-search.tsx +168 -0
  622. package/src/components/timeline-settlement.ts +60 -0
  623. package/src/components/tool-action-review.tsx +650 -0
  624. package/src/components/tool-review-history.tsx +88 -0
  625. package/src/components/usage-limit-notice.tsx +179 -0
  626. package/src/components/usage-member-list.tsx +792 -0
  627. package/src/components/usage-meter.tsx +382 -0
  628. package/src/components/use-viewer-menu-dismiss.ts +33 -0
  629. package/src/components/user-message-body.tsx +27 -2
  630. package/src/components/workspace-dock.tsx +18 -1
  631. package/src/composer-messages.ts +150 -0
  632. package/src/composer-voice-events.ts +12 -0
  633. package/src/composer.ts +6 -1
  634. package/src/connect-account-identity.tsx +34 -0
  635. package/src/connect-accounts.tsx +233 -0
  636. package/src/connect-chooser.tsx +336 -0
  637. package/src/connect-panel.tsx +99 -0
  638. package/src/connect-setup.tsx +355 -0
  639. package/src/connect.ts +60 -0
  640. package/src/connection-assets.d.ts +4 -0
  641. package/src/connection-catalog.tsx +162 -0
  642. package/src/connection-discovery.tsx +238 -0
  643. package/src/connection-installed.tsx +51 -0
  644. package/src/connection-logo.tsx +37 -0
  645. package/src/connection-service-logo.tsx +55 -0
  646. package/src/connection-service-presentation.ts +46 -0
  647. package/src/connection-skeleton.tsx +16 -0
  648. package/src/connection-type-picker.tsx +36 -0
  649. package/src/conversation-timeline.ts +92 -0
  650. package/src/desktop.ts +24 -0
  651. package/src/device-authorization.tsx +98 -0
  652. package/src/diffs.ts +16 -0
  653. package/src/discovery-cache.ts +42 -0
  654. package/src/editor.ts +13 -0
  655. package/src/hooks/internal.ts +3 -2
  656. package/src/hooks/latest-question.ts +164 -0
  657. package/src/hooks/shared-machines-list.ts +34 -1
  658. package/src/hooks/shared-query.ts +721 -0
  659. package/src/hooks/use-attached-browsers.ts +1 -1
  660. package/src/hooks/use-auth-runs.ts +0 -27
  661. package/src/hooks/use-available-models.ts +2 -2
  662. package/src/hooks/use-browser-frame-stream.ts +19 -2
  663. package/src/hooks/use-browser-session.ts +680 -205
  664. package/src/hooks/use-browser-sessions.ts +32 -1
  665. package/src/hooks/use-client-config-flags.ts +118 -0
  666. package/src/hooks/use-codex-accounts.ts +247 -47
  667. package/src/hooks/use-composer.ts +227 -44
  668. package/src/hooks/use-computer-frame-stream.ts +25 -7
  669. package/src/hooks/use-computer-input-posture.ts +94 -0
  670. package/src/hooks/use-computer-session.ts +409 -95
  671. package/src/hooks/use-connect.ts +23 -0
  672. package/src/hooks/use-desktop-stream.ts +19 -28
  673. package/src/hooks/use-file-attachments.ts +80 -4
  674. package/src/hooks/use-goal.ts +79 -9
  675. package/src/hooks/use-last-started-turn-policy.ts +37 -11
  676. package/src/hooks/use-machines.ts +4 -0
  677. package/src/hooks/use-new-conversation.ts +374 -0
  678. package/src/hooks/use-new-session-draft.ts +813 -0
  679. package/src/hooks/use-realtime-voice-models.ts +46 -0
  680. package/src/hooks/use-sandbox-files.ts +68 -20
  681. package/src/hooks/use-session-background-commands.ts +22 -11
  682. package/src/hooks/use-session-capabilities.ts +3 -2
  683. package/src/hooks/use-session-conversation.ts +150 -0
  684. package/src/hooks/use-session-events.ts +531 -335
  685. package/src/hooks/use-session-mcp-approval-policy.ts +13 -5
  686. package/src/hooks/use-session-model-account.ts +174 -0
  687. package/src/hooks/use-session.ts +30 -2
  688. package/src/hooks/use-slash-commands.ts +6 -11
  689. package/src/hooks/use-supergrok-accounts.ts +22 -8
  690. package/src/hooks/use-terminal-stream.ts +153 -27
  691. package/src/hooks/use-transcription.ts +6 -0
  692. package/src/hooks/use-turn-queue.ts +2 -1
  693. package/src/hooks/use-usage.ts +100 -0
  694. package/src/hooks/use-vaults.ts +153 -0
  695. package/src/hooks/use-video-artifact-playback.ts +1 -1
  696. package/src/hooks/use-voice-input.ts +127 -19
  697. package/src/hooks/use-workspace-capture.ts +3 -2
  698. package/src/hooks/use-workspace-edit.ts +23 -5
  699. package/src/hooks/use-workspace-sessions.ts +74 -7
  700. package/src/human-input-model.ts +359 -0
  701. package/src/identity-link-accounts.tsx +148 -0
  702. package/src/identity-link-consent.tsx +192 -0
  703. package/src/index.ts +262 -16
  704. package/src/interaction.ts +1 -0
  705. package/src/lib/clipboard.ts +29 -0
  706. package/src/lib/error-message.ts +37 -0
  707. package/src/lib/format.ts +205 -10
  708. package/src/lib/host-theme.ts +529 -0
  709. package/src/lib/interaction-errors.ts +15 -0
  710. package/src/lib/menu-styles.ts +44 -0
  711. package/src/lib/notify-observer.ts +15 -0
  712. package/src/lib/pierre-diffs-loader.ts +53 -0
  713. package/src/lib/provider-recovery.ts +243 -0
  714. package/src/lib/scrollbars.ts +30 -0
  715. package/src/lib/terminal-input-readiness.ts +51 -0
  716. package/src/lib/transient-retry.ts +99 -0
  717. package/src/lib/workbench-peers.ts +62 -0
  718. package/src/lib/xterm-theme.ts +23 -21
  719. package/src/mcp-connection-status.ts +35 -0
  720. package/src/model-mark-paths.ts +53 -0
  721. package/src/model-picker-model.ts +330 -0
  722. package/src/model-policy.ts +299 -74
  723. package/src/native-previews.ts +100 -0
  724. package/src/new-session-draft.ts +22 -0
  725. package/src/notification-text.ts +81 -0
  726. package/src/older-history.ts +22 -4
  727. package/src/organization-model.ts +118 -0
  728. package/src/plugin-details.tsx +185 -0
  729. package/src/plugin-discovery.tsx +196 -0
  730. package/src/preview-loading-paint.ts +68 -0
  731. package/src/provider.tsx +74 -15
  732. package/src/queue-presentation-model.ts +464 -0
  733. package/src/realtime/dropdown-menu.tsx +19 -12
  734. package/src/realtime/embedded-new-voice.tsx +1 -0
  735. package/src/realtime/embedded-voice.tsx +3 -0
  736. package/src/realtime/realtime-control.tsx +138 -550
  737. package/src/realtime/session-realtime.ts +566 -0
  738. package/src/sandbox-label-model.ts +53 -0
  739. package/src/scrollbars.ts +3 -0
  740. package/src/secret-reference-label.ts +43 -0
  741. package/src/secrets-ui.tsx +59 -0
  742. package/src/session-agents-model.ts +33 -0
  743. package/src/session-attention-model.ts +62 -0
  744. package/src/session-auth-recommendation.ts +48 -0
  745. package/src/session-capability-policy.ts +196 -0
  746. package/src/session-context.ts +3 -4
  747. package/src/session-feedback-model.ts +95 -0
  748. package/src/session-list-model.ts +434 -0
  749. package/src/session-realtime.ts +18 -0
  750. package/src/session-status-model.ts +99 -0
  751. package/src/session-ui.ts +98 -1
  752. package/src/session.ts +17 -1
  753. package/src/site-snapshot.ts +74 -0
  754. package/src/sites-ui.tsx +348 -0
  755. package/src/sites.ts +3 -0
  756. package/src/skill-discovery.tsx +208 -0
  757. package/src/terminal.ts +26 -0
  758. package/src/testing/session-scenarios.ts +404 -0
  759. package/src/timeline/activity-rail.tsx +242 -101
  760. package/src/timeline/agent-identity.tsx +84 -0
  761. package/src/timeline/agent-row.tsx +231 -0
  762. package/src/timeline/allowance-exhausted-row.tsx +86 -0
  763. package/src/timeline/compaction-copy.ts +115 -0
  764. package/src/timeline/fleet-decision-projection.ts +2 -1
  765. package/src/timeline/fleet-decision-row.tsx +1 -0
  766. package/src/timeline/focus-sequence.ts +44 -0
  767. package/src/timeline/genie-copy.ts +19 -0
  768. package/src/timeline/genie-loading.tsx +143 -0
  769. package/src/timeline/index.ts +30 -2
  770. package/src/timeline/knowledge-receipt.tsx +100 -0
  771. package/src/timeline/message-sender.tsx +71 -0
  772. package/src/timeline/notice-presentation.ts +48 -0
  773. package/src/timeline/parsers.ts +42 -2
  774. package/src/timeline/patch-apply-command.tsx +135 -0
  775. package/src/timeline/platform-activity-presentation.ts +166 -0
  776. package/src/timeline/platform-activity-row.tsx +15 -90
  777. package/src/timeline/presented-image.ts +63 -0
  778. package/src/timeline/projection.ts +1742 -76
  779. package/src/timeline/provider-logo.tsx +53 -0
  780. package/src/timeline/question-nav-model.ts +28 -0
  781. package/src/timeline/registry.ts +26 -4
  782. package/src/timeline/retained-image.ts +97 -0
  783. package/src/timeline/retained-loaders.ts +91 -0
  784. package/src/timeline/rolling-activity.tsx +80 -0
  785. package/src/timeline/screenshot-lightbox.tsx +228 -5
  786. package/src/timeline/session-usage-limit-row.tsx +42 -0
  787. package/src/timeline/shared.tsx +42 -15
  788. package/src/timeline/startup-dispatch-details.tsx +36 -0
  789. package/src/timeline/startup-preference.ts +33 -0
  790. package/src/timeline/startup-timings.tsx +145 -0
  791. package/src/timeline/tool-display-name.ts +19 -7
  792. package/src/timeline/tool-presentation.ts +1316 -0
  793. package/src/timeline/tool-renderers.tsx +835 -1138
  794. package/src/timeline/turn-summary-model.ts +343 -0
  795. package/src/timeline/turn-summary.tsx +272 -365
  796. package/src/timeline/types.ts +189 -6
  797. package/src/timeline/work-presentation.ts +189 -0
  798. package/src/timeline-model.ts +143 -0
  799. package/src/usage/allowance-copy.ts +64 -0
  800. package/src/usage/session-usage-limit.ts +266 -0
  801. package/src/usage/summary.ts +93 -0
  802. package/src/usage.ts +70 -0
  803. package/src/voice-recording-owner.ts +22 -0
  804. package/styles/compiled.css +2319 -748
  805. package/styles/connect.css +290 -0
  806. package/styles/connect.d.ts +1 -0
  807. package/styles/effective-tokens.css +1 -0
  808. package/styles/index.css +309 -9
  809. package/styles/responsive.css +99 -7
  810. package/styles/session-capability.css +44 -0
  811. package/styles/tokens.css +134 -66
  812. package/dist/browser-viewer-MKKFRRRV.js +0 -14
  813. package/dist/chunk-2DZVYHVO.js +0 -470
  814. package/dist/chunk-2DZVYHVO.js.map +0 -1
  815. package/dist/chunk-3AGBGTRT.js.map +0 -1
  816. package/dist/chunk-4MDLEHXL.js.map +0 -1
  817. package/dist/chunk-5YK2ZDIG.js.map +0 -1
  818. package/dist/chunk-7EAFGICR.js +0 -302
  819. package/dist/chunk-7EAFGICR.js.map +0 -1
  820. package/dist/chunk-ELIYWBZR.js.map +0 -1
  821. package/dist/chunk-H5YGYNXS.js.map +0 -1
  822. package/dist/chunk-HUIKIDM5.js.map +0 -1
  823. package/dist/chunk-ICA6R6TW.js.map +0 -1
  824. package/dist/chunk-IOLVN74D.js.map +0 -1
  825. package/dist/chunk-JAQ5K7W6.js.map +0 -1
  826. package/dist/chunk-JVYQRRC4.js.map +0 -1
  827. package/dist/chunk-KCGXPP5V.js.map +0 -1
  828. package/dist/chunk-KZ73RL76.js.map +0 -1
  829. package/dist/chunk-NEXLLTP4.js.map +0 -1
  830. package/dist/chunk-PEI6RANI.js.map +0 -1
  831. package/dist/chunk-VTOREEXF.js +0 -142
  832. package/dist/chunk-VTOREEXF.js.map +0 -1
  833. package/dist/chunk-WSK7G5LE.js +0 -170
  834. package/dist/chunk-WSK7G5LE.js.map +0 -1
  835. package/dist/chunk-X4A66EWZ.js +0 -223
  836. package/dist/chunk-X4A66EWZ.js.map +0 -1
  837. package/dist/chunk-XYRDDSXF.js.map +0 -1
  838. package/dist/chunk-YG4QEQF5.js +0 -9557
  839. package/dist/chunk-YG4QEQF5.js.map +0 -1
  840. package/dist/chunk-YVCHAQZY.js.map +0 -1
  841. package/dist/chunk-ZPBTI3TE.js.map +0 -1
  842. package/dist/computer-viewer-FWEZISW4.js +0 -16
  843. package/dist/fleet-decision-row-GGCAT4E4.js.map +0 -1
  844. package/dist/hooks/use-environments.d.ts +0 -41
  845. package/dist/hooks/use-packs.d.ts +0 -32
  846. package/dist/platform-activity-row-BJHUHXAT.js.map +0 -1
  847. package/dist/queue-surface-implementation-BSKUWHRI.js.map +0 -1
  848. package/dist/timeline-annotation-selection-3L7LHGG2.js +0 -187
  849. package/dist/timeline-annotation-selection-3L7LHGG2.js.map +0 -1
  850. package/dist/timeline-annotations-dialog-U7EVLR75.js +0 -196
  851. package/dist/timeline-annotations-dialog-U7EVLR75.js.map +0 -1
  852. package/src/hooks/use-environments.ts +0 -182
  853. package/src/hooks/use-packs.ts +0 -157
  854. /package/dist/{browser-viewer-MKKFRRRV.js.map → browser-viewer-ZWR6MWJ7.js.map} +0 -0
  855. /package/dist/{computer-viewer-FWEZISW4.js.map → chat-interactive-block-4EUKJXUO.js.map} +0 -0
@@ -1,3 +1,6 @@
1
+ import { type ReactNode } from "react";
2
+ import { type TimelineSearchTarget } from "./timeline-search.js";
3
+ import { type OpenGeniLinkResolver } from "./open-geni-links.js";
1
4
  /**
2
5
  * The default renderer for chat message bodies in {@link MessageTimeline}.
3
6
  *
@@ -12,9 +15,33 @@
12
15
  * the tokens land. Consumers who want a different renderer can still pass
13
16
  * `renderMessageText` to `MessageTimeline` to override this entirely.
14
17
  */
18
+ export type MarkdownInteractiveBlock = {
19
+ kind: "html" | "site";
20
+ content: string;
21
+ };
15
22
  export type MarkdownProps = {
23
+ /** Resolve a retained-file reference to the host's authenticated artifact page. */
24
+ artifactHref?: ((artifactId: string) => string) | undefined;
25
+ /** Reveals a bounded source excerpt; closing Find retains it until explicit restore. */
26
+ searchTarget?: TimelineSearchTarget | null | undefined;
27
+ renderImage?: ((image: {
28
+ src: string;
29
+ alt: string;
30
+ }) => ReactNode) | undefined;
31
+ /** Show alt text without loading image URLs (e.g. in search previews). */
32
+ suppressImages?: boolean | undefined;
33
+ /** Host opt-in for assistant-authored interactive fences. */
34
+ renderInteractiveBlock?: ((block: MarkdownInteractiveBlock) => ReactNode) | undefined;
16
35
  children: string;
17
36
  className?: string | undefined;
37
+ /**
38
+ * Render a single newline inside prose as a line break (`<br>`), the way chat
39
+ * apps show messages; CommonMark otherwise folds it into a space. Chat message
40
+ * bodies enable this. Leave it off for documents and other authored Markdown.
41
+ * Code (fenced and inline), lists, tables, and blank-line paragraphs are
42
+ * unaffected either way.
43
+ */
44
+ softLineBreaks?: boolean | undefined;
18
45
  /**
19
46
  * While true, newly arrived source fades in through tip ink (`.og-stream-ink`):
20
47
  * an age window over each append batch — fast streams keep a large soft band,
@@ -29,6 +56,13 @@ export type MarkdownProps = {
29
56
  * exact decoded `sandbox:` payload; `line`, when present, is 1-based.
30
57
  */
31
58
  onSandboxFile?: ((path: string, line?: number) => void | Promise<void>) | undefined;
59
+ /**
60
+ * Resolve Opengeni object links (`artifact:`, `sandbox:`, editable
61
+ * artifacts, Sites) to a host URL or action. Asked before any
62
+ * {@link OpenGeniLinkProvider} above this body; `artifactHref` and
63
+ * `onSandboxFile` still win for their own kinds.
64
+ */
65
+ resolveLink?: OpenGeniLinkResolver | undefined;
32
66
  };
33
67
  /** Exact target path plus optional 1-based line from a markdown href. */
34
68
  export type SandboxFileLocation = {
@@ -36,7 +70,7 @@ export type SandboxFileLocation = {
36
70
  line: number | null;
37
71
  };
38
72
  /**
39
- * Parse an OpenGeni `sandbox:` application href (plus the historical bare
73
+ * Parse an Opengeni `sandbox:` application href (plus the historical bare
40
74
  * `/workspace/...` form). The decoded path is intentionally opaque here:
41
75
  * target selection, path policy, and filesystem authority belong to the
42
76
  * session-aware host and its FileSystem boundary.
@@ -44,7 +78,6 @@ export type SandboxFileLocation = {
44
78
  export declare function sandboxFileLocationFromHref(href: string | undefined): SandboxFileLocation | null;
45
79
  /** Return the exact decoded path for a supported sandbox-link href. */
46
80
  export declare function sandboxFilePathFromHref(href: string | undefined): string | null;
47
- declare function MarkdownImpl({ children, className, streaming, onSandboxFile }: MarkdownProps): import("react").JSX.Element;
81
+ export declare function retainedImageId(src: string): string | null;
48
82
  /** Memoized so streaming re-renders of the parent don't re-parse settled bodies. */
49
- export declare const Markdown: import("react").MemoExoticComponent<typeof MarkdownImpl>;
50
- export {};
83
+ export declare const Markdown: import("react").MemoExoticComponent<(props: MarkdownProps) => import("react").JSX.Element>;
@@ -1,24 +1,65 @@
1
+ import { type TimelineSearchTarget } from "./timeline-search.js";
2
+ import { type GenieLoadingOptions } from "../timeline/genie-loading.js";
1
3
  import type { DraftTimelineAnnotation, SessionEvent, SessionStatus } from "@opengeni/sdk";
2
4
  import { type ReactNode } from "react";
5
+ import { type RenderMessageSender } from "../timeline/message-sender.js";
3
6
  import { type OlderHistoryLoader } from "../older-history.js";
7
+ import { type MarkdownProps } from "./markdown.js";
8
+ import { type OpenGeniLinkResolver } from "./open-geni-links.js";
9
+ import { type UserMessageDisclosureLabels } from "./user-message-body.js";
4
10
  import { type AgentMessageItem, type AuthNeededItem, type TimelineGroup, type TimelineItem, type RetainedArtifactLoader, type RetainedScreenshotLoader, type VideoArtifactPlaybackLoader, type ToolRegistry, type TurnSummaryOptions, type UserMessageItem } from "../timeline/index.js";
11
+ import { type ResolveSessionTitle } from "../timeline/agent-identity.js";
12
+ import { type RenderAllowanceExhausted } from "../timeline/allowance-exhausted-row.js";
13
+ import type { AllowanceLabels } from "../usage/allowance-copy.js";
5
14
  export type MessageTimelineProps = {
15
+ /** Exact durable search hit; clearing it removes highlighting without moving the reader. */
16
+ searchTarget?: TimelineSearchTarget | null | undefined;
17
+ /**
18
+ * A durable event sequence to open on once (an inbox item's or notification's
19
+ * moment): the timeline lands on the row that holds it, or the nearest row
20
+ * before it, instead of the latest message. Load the window around it first.
21
+ */
22
+ focusSequence?: number | null | undefined;
23
+ /** Localized user-message disclosure actions, including custom UserMessageBody renderers. */
24
+ userMessageDisclosureLabels?: UserMessageDisclosureLabels | undefined;
6
25
  /** Raw session events (projected internally) … */
7
26
  events?: SessionEvent[] | undefined;
8
27
  /** … or pre-projected items (e.g. from `useSessionEvents().timeline`). */
9
28
  items?: TimelineItem[] | undefined;
10
29
  /** Current session status (reserved; tip "Working…" chrome removed for now). */
11
30
  status?: SessionStatus | null | undefined;
31
+ /** Host-owned controls beside Copy and the timestamp on settled message rows. */
32
+ renderMessageActions?: ((item: AgentMessageItem | UserMessageItem) => ReactNode) | undefined;
33
+ /**
34
+ * Who sent a person's message, drawn above its bubble. Called only for
35
+ * messages that carry a sender; return null for the viewer's own messages
36
+ * or when the host has no identity to show. Omit to show no senders.
37
+ */
38
+ renderMessageSender?: RenderMessageSender | undefined;
12
39
  /** Plug a markdown renderer for message bodies (e.g. streamdown). */
13
- renderMessageText?: ((text: string, item: AgentMessageItem | UserMessageItem) => ReactNode) | undefined;
40
+ renderMessageText?: ((text: string, item: AgentMessageItem | UserMessageItem, context: {
41
+ searchTarget: TimelineSearchTarget | null;
42
+ }) => ReactNode) | undefined;
43
+ /**
44
+ * Render assistant `opengeni-html` / `opengeni-site` fences in the default
45
+ * message renderer (`SessionConversation` supplies the inline Site preview).
46
+ */
47
+ renderInteractiveBlock?: MarkdownProps["renderInteractiveBlock"];
14
48
  /** Drill into a spawned worker session. */
15
49
  onOpenSession?: ((sessionId: string) => void) | undefined;
50
+ /**
51
+ * Name the agents this session spawns, messages, and hears from. Return the
52
+ * current display title for a session id, or null when unknown; the
53
+ * timeline falls back to the title given at spawn, then to generic copy.
54
+ * Keep the function identity stable across renders.
55
+ */
56
+ resolveSessionTitle?: ResolveSessionTitle | undefined;
16
57
  /**
17
58
  * Deep-link a memory row (a `memory.saved` / `memory.corrected` step) to its
18
59
  * record in the host's memory pane. Opt-in, exactly like `onReconnect`: the
19
60
  * library draws no "View in memory" affordance without a handler — the memory
20
61
  * row is then non-interactive rich content. This is the switch that makes the
21
- * deep-link a first-party OpenGeni capability without other SDK consumers
62
+ * deep-link a first-party Opengeni capability without other SDK consumers
22
63
  * opting into it. The app supplies it (it owns routing to the memory pane).
23
64
  */
24
65
  onMemoryClick?: ((memoryId: string) => void) | undefined;
@@ -30,6 +71,17 @@ export type MessageTimelineProps = {
30
71
  * a Reconnect button without a handler to run it.
31
72
  */
32
73
  onReconnect?: ((item: AuthNeededItem) => void | Promise<void>) | undefined;
74
+ /** Host-owned inline connection setup. Return undefined to use the default recovery card. */
75
+ renderAuthNeeded?: ((item: AuthNeededItem) => ReactNode | undefined) | undefined;
76
+ /**
77
+ * Replace the "usage limit reached" row shown when a workspace or member
78
+ * usage allowance stops work (an `allowance_exhausted` refusal). Receives the
79
+ * typed refusal (scope, reset time) and the default row; return undefined to
80
+ * keep the default. Use it to point people at your own plan or admin page.
81
+ */
82
+ renderAllowanceExhausted?: RenderAllowanceExhausted | undefined;
83
+ /** Replace the words of the default "usage limit reached" row. */
84
+ allowanceExhaustedLabels?: Partial<AllowanceLabels> | undefined;
33
85
  /**
34
86
  * Decide which durable authentication notices this timeline presents.
35
87
  * Defaults to showing every notice. Embedded hosts can suppress notices for
@@ -50,6 +102,16 @@ export type MessageTimelineProps = {
50
102
  * `createDefaultToolRegistry({ entries })` to add custom tool renderers.
51
103
  */
52
104
  toolRegistry?: ToolRegistry | undefined;
105
+ /**
106
+ * Open Opengeni object links the agent writes in replies and progress notes:
107
+ * `artifact:<file>`, `sandbox:<path>`, editable artifacts, and Sites. Return
108
+ * a host URL (`{ href }`) or action (`{ open }`); unhandled targets render as
109
+ * unavailable text instead of a console link that 404s inside the host.
110
+ * Applies to the default message renderer and to any `Markdown` a custom
111
+ * `renderMessageText` renders. `SessionConversation` supplies file and
112
+ * sandbox downloads by default.
113
+ */
114
+ resolveLink?: OpenGeniLinkResolver | undefined;
53
115
  /** Resolve opaque retained screenshot receipts through the authenticated host SDK. */
54
116
  loadRetainedScreenshot?: RetainedScreenshotLoader | undefined;
55
117
  /** Resolve permanent workspace image/file receipts through the authenticated host SDK. */
@@ -62,11 +124,22 @@ export type MessageTimelineProps = {
62
124
  */
63
125
  computeLabel?: string | null | undefined;
64
126
  /** Customize collapsed turn facets for this timeline instance. */
127
+ genieLoading?: GenieLoadingOptions | undefined;
65
128
  turnSummary?: TurnSummaryOptions | undefined;
66
129
  /** Follow new events when pinned to the bottom. Defaults to true. */
67
130
  autoFollow?: boolean | undefined;
68
131
  /** Capture a same-row text selection into the host's canonical composer draft. */
69
132
  onAnnotate?: ((annotation: DraftTimelineAnnotation) => void) | undefined;
133
+ /**
134
+ * Hide the floating "Back to your message" pill while the timeline viewport
135
+ * is shorter than this (px), e.g. a narrow embed above a decision card.
136
+ * Defaults to 0 (always available).
137
+ */
138
+ questionNavMinViewportHeight?: number | undefined;
139
+ /** Composer draft quotes currently attached to the next send. */
140
+ draftAnnotations?: readonly DraftTimelineAnnotation[] | undefined;
141
+ /** Open the composer review list for one numbered draft badge. */
142
+ onDraftAnnotationSelect?: ((id: string) => void) | undefined;
70
143
  /** Older durable history exists above the current window (see useSessionEvents). */
71
144
  hasOlder?: boolean | undefined;
72
145
  /** An older window is being fetched; shows the quiet top shimmer. */
@@ -85,13 +158,16 @@ export type MessageTimelineProps = {
85
158
  hasNewer?: boolean | undefined;
86
159
  /** A newer history page is being fetched. */
87
160
  loadingNewer?: boolean | undefined;
88
- /** Page forward through history without loading the whole gap to the tip. */
89
- onLoadNewer?: (() => void) | undefined;
161
+ /** Page forward through history. Return the request promise to enable inline error/retry. */
162
+ onLoadNewer?: (() => unknown) | undefined;
90
163
  /**
91
164
  * Reload the live tip window. When omitted, Jump to latest only re-pins and
92
165
  * scrolls the in-memory window.
93
166
  */
94
167
  onJumpToLatest?: (() => void | Promise<void>) | undefined;
168
+ /** @deprecated Retained for source compatibility; contextual prompt navigation
169
+ * uses only mounted prompts and never invokes this global resolver. */
170
+ onJumpToLatestQuestion?: (() => Promise<number | null>) | undefined;
95
171
  /** Host-owned content appended after timeline groups, such as startup progress. */
96
172
  trailingState?: ReactNode | undefined;
97
173
  emptyState?: ReactNode | undefined;
@@ -103,7 +179,7 @@ export type MessageTimelineProps = {
103
179
  * cards, goal markers, and status transitions. Owns stick-to-bottom scrolling
104
180
  * with a "jump to latest" affordance when the reader scrolls back.
105
181
  */
106
- export declare function MessageTimeline({ events, items, status: _status, renderMessageText, onOpenSession, onMemoryClick, onReconnect, shouldRenderAuthNeeded, resolveProviderLogo, toolRegistry, loadRetainedScreenshot, loadRetainedArtifact, loadVideoArtifactPlayback, computeLabel, turnSummary, autoFollow, onAnnotate, hasOlder, loadingOlder, onLoadOlder, onJumpToStart, loadingOldest, hasNewer, loadingNewer, onLoadNewer, onJumpToLatest, trailingState, emptyState, className, }: MessageTimelineProps): import("react").JSX.Element;
182
+ export declare function MessageTimeline({ resolveLink, renderInteractiveBlock, userMessageDisclosureLabels, searchTarget, focusSequence, events, items, status: _status, renderMessageActions, renderMessageSender, renderMessageText, onOpenSession, resolveSessionTitle, onMemoryClick, onReconnect, renderAuthNeeded, renderAllowanceExhausted, allowanceExhaustedLabels, shouldRenderAuthNeeded, resolveProviderLogo, toolRegistry, loadRetainedScreenshot, loadRetainedArtifact, loadVideoArtifactPlayback, computeLabel, genieLoading, turnSummary, autoFollow, onAnnotate, questionNavMinViewportHeight, draftAnnotations, onDraftAnnotationSelect, hasOlder, loadingOlder, onLoadOlder, onJumpToStart, loadingOldest, hasNewer, loadingNewer, onLoadNewer, onJumpToLatest, trailingState, emptyState, className, }: MessageTimelineProps): import("react").JSX.Element;
107
183
  /**
108
184
  * Settled turns lift the final agent answer out as a sibling group. Include it
109
185
  * in "Copy turn" when present so the chip copies the full assistant reply.
@@ -115,11 +191,14 @@ export declare function trailingAgentTextAfterTurn(group: TimelineGroup, next: T
115
191
  * landmark, notice). Exported so the component demo draws the EXACT same rows as
116
192
  * the live app — no forked bubble/goal markup.
117
193
  */
118
- export declare function TimelineRow({ item, renderMessageText, onReconnect, resolveProviderLogo, onOpenSession, loadVideoArtifactPlayback, }: {
194
+ export declare function TimelineRow({ item, renderMessageActions, renderMessageText, onReconnect, renderAuthNeeded, resolveProviderLogo, onOpenSession, loadVideoArtifactPlayback, }: {
119
195
  item: TimelineItem;
196
+ renderMessageActions?: ((item: AgentMessageItem | UserMessageItem) => ReactNode) | undefined;
120
197
  renderMessageText?: ((text: string, item: AgentMessageItem | UserMessageItem) => ReactNode) | undefined;
121
198
  onReconnect?: ((item: AuthNeededItem) => void | Promise<void>) | undefined;
199
+ /** Host-owned inline connection setup. Return undefined to use the default recovery card. */
200
+ renderAuthNeeded?: ((item: AuthNeededItem) => ReactNode | undefined) | undefined;
122
201
  resolveProviderLogo?: ((providerDomain: string) => string | null | undefined) | undefined;
123
202
  onOpenSession?: ((sessionId: string) => void) | undefined;
124
203
  loadVideoArtifactPlayback?: VideoArtifactPlaybackLoader | undefined;
125
- }): import("react").JSX.Element | null;
204
+ }): string | number | bigint | boolean | import("react").JSX.Element | Iterable<ReactNode> | Promise<string | number | bigint | boolean | Iterable<ReactNode> | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | import("react").ReactPortal | null | undefined> | null;
@@ -0,0 +1,29 @@
1
+ import { type ModelDisplayInput } from "@opengeni/sdk/model-display";
2
+ import { type ReactNode, type SVGProps } from "react";
3
+ /** ChatGPT / OpenAI mark (Simple Icons path), currentColor like the other marks. */
4
+ export declare function ChatGptMark(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
5
+ /** True when `ModelMark` has a real maker logo for this model (not the neutral fallback). */
6
+ export declare function modelHasMark(model: ModelDisplayInput): boolean;
7
+ /**
8
+ * The catalog's maker logo, with bundled maker logos and a neutral fallback.
9
+ * Makers without a configured or bundled logo get a neutral mark, so an org- and
10
+ * a workspace-connected copy of one model always look the same.
11
+ */
12
+ export declare function ModelMark(props: {
13
+ model: ModelDisplayInput;
14
+ className?: string | undefined;
15
+ /** Shown when the maker has no bundled logo. Defaults to a neutral sparkle. */
16
+ fallback?: ReactNode;
17
+ "aria-label"?: string | undefined;
18
+ }): import("react").JSX.Element | null;
19
+ /**
20
+ * A model as people should see it outside model settings: the maker's mark and
21
+ * the clean display name. Never a routing prefix, connection id or scope.
22
+ */
23
+ export declare function ModelName(props: {
24
+ model: ModelDisplayInput;
25
+ /** Hide the maker mark for dense text-only contexts. */
26
+ mark?: boolean | undefined;
27
+ className?: string | undefined;
28
+ markClassName?: string | undefined;
29
+ }): import("react").JSX.Element;
@@ -0,0 +1,9 @@
1
+ import { type RefObject, type CSSProperties } from "react";
2
+ import { type ModelPolicyPickerProps } from "./model-policy-picker.js";
3
+ /** Model selection stays flat; reasoning never becomes a navigation destination. */
4
+ export declare function ModelPolicyPickerMenu(props: ModelPolicyPickerProps): import("react").JSX.Element;
5
+ export declare function ModelPolicyPickerPopover(props: ModelPolicyPickerProps & {
6
+ anchor: RefObject<HTMLButtonElement | null>;
7
+ contentId: string;
8
+ portalStyle: CSSProperties;
9
+ }): import("react").JSX.Element;
@@ -1,28 +1,19 @@
1
1
  import type { ClientModel, LatencyMode, ReasoningEffort } from "@opengeni/sdk";
2
2
  import { type CSSProperties, type ReactNode } from "react";
3
+ import { defaultModelPolicyPickerMessages, groupPresentationFor, SCOPED_BILLING_HINTS, type ModelPickerGroupPresentation, type ModelPolicyPickerMessages } from "../model-picker-model.js";
3
4
  import { type PickerBillingClass, type PickerModelRow } from "../model-policy.js";
4
5
  type ClientPickerModelRow = PickerModelRow<ClientModel>;
5
- type NavLevel = "providers" | "models" | "thinking";
6
- type PickerNavState = {
7
- level: NavLevel;
8
- rail: PickerBillingClass | null;
9
- modelId: string | null;
10
- };
11
- type NavUpdater = PickerNavState | ((previous: PickerNavState) => PickerNavState);
12
- export type ModelPolicyPickerMessages = {
13
- label: string;
14
- loading: string;
15
- noModels: string;
16
- thinking: string;
17
- fast: string;
18
- fastRateHint: string;
19
- codexOnly: string;
20
- billingHints: Record<PickerBillingClass, string>;
21
- };
22
- export declare const defaultModelPolicyPickerMessages: ModelPolicyPickerMessages;
6
+ /** Presentation only; never changes model identity, billing or availability. */
7
+ export type ModelPolicyPickerGroupPresentation = ModelPickerGroupPresentation<ReactNode>;
8
+ export { defaultModelPolicyPickerMessages, groupPresentationFor, SCOPED_BILLING_HINTS };
9
+ export type { ModelPolicyPickerMessages };
23
10
  export type ModelPolicyPickerProps = {
11
+ /** Host branding for payment-source groups, shared by menu and trigger. */
12
+ groupPresentation?: ModelPolicyPickerGroupPresentation | undefined;
24
13
  /** Lightweight deployment models. Catalog rows take precedence when supplied. */
25
14
  models?: ClientModel[] | undefined;
15
+ /** Warn only when the draft actually contains images this model cannot view. */
16
+ hasImageAttachments?: boolean | undefined;
26
17
  /** Catalog-backed rows with availability and billing-class truth. */
27
18
  rows?: PickerModelRow[] | undefined;
28
19
  model: string;
@@ -38,17 +29,37 @@ export type ModelPolicyPickerProps = {
38
29
  onOpenChange?: ((open: boolean) => void) | undefined;
39
30
  /** Non-Codex models stay visible but cannot be selected. */
40
31
  codexOnly?: boolean | undefined;
41
- /** Resets drill-down navigation when the session scope changes. */
32
+ /** Identity of the current session scope. */
42
33
  sessionKey?: string | undefined;
43
34
  /** Prefer bottom on new-chat surfaces and top for bottom-docked composers. */
44
35
  menuSide?: "top" | "bottom" | undefined;
36
+ /**
37
+ * Default true: show models the way people choose them, with clean names,
38
+ * maker marks, one "API keys" group for organization- and workspace-connected
39
+ * keys, and one row for identical copies. Models settings passes false to
40
+ * keep its scope-aware presentation (raw catalog labels, scoped groups).
41
+ */
42
+ collapseScopes?: boolean | undefined;
45
43
  /** Hide latency controls on surfaces whose saved policy does not include latency. */
46
44
  allowLatencyMode?: boolean | undefined;
45
+ /** Hide effort and latency controls when the saved policy chooses only a model identity. */
46
+ allowModelOptions?: boolean | undefined;
47
+ /** Settings → Models. Shown when the catalog has no model that can run. */
48
+ connectModelsHref?: string | undefined;
47
49
  /** Classes for the portalled menu surface. Prefer --og-* tokens for theming. */
48
50
  contentClassName?: string | undefined;
49
51
  /** Inline styles for the portalled menu, applied after inherited --og-* tokens. */
50
52
  contentStyle?: CSSProperties | undefined;
51
53
  className?: string | undefined;
54
+ /**
55
+ * "pill" (default) is the composer's quiet rounded trigger with the effort.
56
+ * "field" is a settings control: a bordered rectangle with the model name
57
+ * and `triggerMeta` (for example the payer) in muted text. The effort stays
58
+ * in the menu.
59
+ */
60
+ triggerStyle?: "pill" | "field" | undefined;
61
+ /** Muted text after the model name in the "field" trigger. */
62
+ triggerMeta?: ReactNode;
52
63
  messages?: Partial<ModelPolicyPickerMessages> | undefined;
53
64
  onModelChange: (modelId: string) => void;
54
65
  onEffortChange: (effort: ReasoningEffort) => void;
@@ -56,9 +67,11 @@ export type ModelPolicyPickerProps = {
56
67
  };
57
68
  export declare function BillingClassMark(props: {
58
69
  billingClass: PickerBillingClass;
70
+ presentation?: ModelPolicyPickerGroupPresentation[PickerBillingClass] | undefined;
59
71
  className?: string | undefined;
60
72
  "aria-label"?: string | undefined;
61
- }): import("react").JSX.Element;
73
+ }): import("react").JSX.Element | null;
74
+ export declare function effectiveRows(props: ModelPolicyPickerProps): ClientPickerModelRow[];
62
75
  export declare function PickerNavRow(props: {
63
76
  label: string;
64
77
  hint?: string | undefined;
@@ -67,6 +80,7 @@ export declare function PickerNavRow(props: {
67
80
  showChevron?: boolean | undefined;
68
81
  disabled?: boolean | undefined;
69
82
  title?: string | undefined;
83
+ description?: string | undefined;
70
84
  active?: boolean | undefined;
71
85
  testId?: string | undefined;
72
86
  onClick: () => void;
@@ -82,17 +96,10 @@ export declare function PickerAnimatedPage(props: {
82
96
  direction: 1 | -1;
83
97
  children: ReactNode;
84
98
  }): import("react").JSX.Element;
85
- export declare function ModelPolicyPickerMenu(props: ModelPolicyPickerProps & {
86
- nav?: PickerNavState | undefined;
87
- onNavChange?: ((next: NavUpdater) => void) | undefined;
88
- }): import("react").JSX.Element;
89
- /** @internal Shared state seam kept outside the Radix portal for deterministic testing. */
99
+ /** @internal Shared controlled/uncontrolled state seam. */
90
100
  export declare function useModelPolicyPickerState(props: ModelPolicyPickerProps): {
91
101
  open: boolean;
92
102
  setOpen: (next: boolean) => void;
93
103
  rows: ClientPickerModelRow[];
94
- nav: PickerNavState;
95
- setNav: (next: NavUpdater) => void;
96
104
  };
97
105
  export declare function ModelPolicyPicker(props: ModelPolicyPickerProps): import("react").JSX.Element;
98
- export {};
@@ -0,0 +1,32 @@
1
+ import { type NewConversationController, type UseNewConversationOptions } from "../hooks/use-new-conversation.js";
2
+ import { type SessionConversationProps } from "./session-conversation.js";
3
+ import { type SessionProxyBaseUrl } from "./session-proxy-scope.js";
4
+ export type NewConversationLabels = {
5
+ title: string;
6
+ placeholder: string;
7
+ send: string;
8
+ unavailable: string;
9
+ retry: string;
10
+ pending: string;
11
+ finishingUploads: string;
12
+ };
13
+ type Presentation = {
14
+ composerProps?: SessionConversationProps["composerProps"] | undefined;
15
+ modelPickerProps?: SessionConversationProps["modelPickerProps"] | undefined;
16
+ voiceInput?: boolean | undefined;
17
+ realtimeVoiceProps?: SessionConversationProps["realtimeVoiceProps"] | undefined;
18
+ labels?: Partial<NewConversationLabels> | undefined;
19
+ theme?: SessionConversationProps["theme"] | undefined;
20
+ surface?: SessionConversationProps["surface"] | undefined;
21
+ height?: SessionConversationProps["height"] | undefined;
22
+ className?: string | undefined;
23
+ };
24
+ export type NewConversationProps = UseNewConversationOptions & SessionProxyBaseUrl & Presentation;
25
+ export type NewConversationViewProps = Presentation & {
26
+ creation: NewConversationController;
27
+ };
28
+ /** Standalone stock new-chat composer. OpenGeniChat uses this same implementation. */
29
+ export declare function NewConversation({ baseUrl, headers, fetch, ...props }: NewConversationProps): import("react").JSX.Element;
30
+ /** Presentation for a new-chat controller kept above host layout changes. */
31
+ export declare function NewConversationView({ creation, labels: overrides, composerProps, modelPickerProps, voiceInput, realtimeVoiceProps, theme, surface, height, className, }: NewConversationViewProps): import("react").JSX.Element;
32
+ export {};
@@ -0,0 +1,73 @@
1
+ import { type CSSProperties } from "react";
2
+ import type { NewConversationCreateOptions } from "../hooks/use-new-conversation.js";
3
+ import { type HostSurfacePreference, type HostThemePreference } from "../lib/host-theme.js";
4
+ import { type ClientOverride } from "../session-context.js";
5
+ import { type SessionConversationProps } from "./session-conversation.js";
6
+ import { type SessionListLabels, type SessionListProps } from "./session-list.js";
7
+ import { type SessionProxyBaseUrl } from "./session-proxy-scope.js";
8
+ export type OpenGeniChatLabels = SessionListLabels & {
9
+ openChats: string;
10
+ closeChats: string;
11
+ newChatPlaceholder: string;
12
+ /** Heading above the new-chat composer; empty hides it. */
13
+ newChatTitle: string;
14
+ send: string;
15
+ newChatUnavailable: string;
16
+ newChatRetry?: string | undefined;
17
+ newChatPending?: string | undefined;
18
+ newChatFinishingUploads?: string | undefined;
19
+ };
20
+ /** What the first message carries besides its text. */
21
+ export type OpenGeniChatCreateOptions = NewConversationCreateOptions;
22
+ export type OpenGeniChatProps = ClientOverride & SessionProxyBaseUrl & {
23
+ /** Controlled selection. `null` shows the new-chat composer. */
24
+ sessionId?: string | null | undefined;
25
+ /** Initial selection when uncontrolled. Defaults to a new chat. */
26
+ defaultSessionId?: string | null | undefined;
27
+ onSessionChange?: ((sessionId: string | null) => void) | undefined;
28
+ /**
29
+ * Create a chat from its first message. Defaults to `client.createSession`
30
+ * with `{ initialMessage, idempotencyKey }` plus the attached files and any
31
+ * model choice, which `createSessionProxyHandler` accepts when the server
32
+ * supplies a `createSession` hook. Return the new id.
33
+ */
34
+ createSession?: ((initialMessage: string, idempotencyKey: string, options: OpenGeniChatCreateOptions) => Promise<string>) | undefined;
35
+ /**
36
+ * Hide the "New chat" entry point. It is also hidden when the session proxy
37
+ * reports chat creation unavailable (no `createSession` hook) and no
38
+ * `createSession` prop is given.
39
+ */
40
+ newChat?: boolean | undefined;
41
+ /**
42
+ * Forwarded to the conversation (message rendering, tool renderers,
43
+ * composer...). `attachments`, `modelPicker`, `modelPickerProps`, and
44
+ * `composerProps` also apply to the new-chat composer.
45
+ */
46
+ conversationProps?: Omit<SessionConversationProps, "sessionId" | "client" | "workspaceId" | "baseUrl" | "headers" | "fetch">;
47
+ /** Forwarded to the list (rename/archive toggles, page size). */
48
+ listProps?: Pick<SessionListProps, "rename" | "archive" | "pageSize"> | undefined;
49
+ labels?: Partial<OpenGeniChatLabels> | undefined;
50
+ className?: string | undefined;
51
+ /** Defaults to filling the host. */
52
+ height?: CSSProperties["height"];
53
+ /**
54
+ * Light or dark. Defaults to `auto`: follow the host page (an enclosing
55
+ * `data-og-theme`, `class="dark"`/`data-theme` on <html> or <body>, the
56
+ * host's `color-scheme`, then its background), not the OS setting alone.
57
+ */
58
+ theme?: HostThemePreference | undefined;
59
+ /**
60
+ * `host` (default) derives backgrounds and cards from the host background so
61
+ * the chat blends in; `theme` uses the `--og-color-*` surface tokens as they
62
+ * are. Customized surface tokens are always kept.
63
+ */
64
+ surface?: HostSurfacePreference | undefined;
65
+ };
66
+ /**
67
+ * A complete chat experience: the user's chat list plus the conversation.
68
+ * The list is a sidebar when the component is wide and a drawer when narrow
69
+ * (container-based, so it adapts inside panels as well as full pages).
70
+ * `<OpenGeniChat baseUrl="/api/opengeni" />` needs no provider: it talks to
71
+ * your session proxy and uses the workspace the proxy resolves.
72
+ */
73
+ export declare function OpenGeniChat({ baseUrl, headers, fetch, ...props }: OpenGeniChatProps): import("react").JSX.Element;
@@ -0,0 +1,68 @@
1
+ import type { OpenGeniClient, OpenGeniLinkTarget } from "@opengeni/sdk";
2
+ import { type ReactNode } from "react";
3
+ export type { OpenGeniLinkTarget };
4
+ /**
5
+ * How the host opens one Opengeni object an agent linked in chat Markdown.
6
+ *
7
+ * - `{ href }` renders a real link (new tab) — use it for a host page URL.
8
+ * - `{ open }` renders a button that runs the action (download, open a panel,
9
+ * client-side navigation) with loading and retry states.
10
+ * - `null` / `undefined` means "not handled here": the next resolver is asked,
11
+ * and when none handles it the text renders as an unavailable reference —
12
+ * never as a navigation that would 404 inside the host.
13
+ */
14
+ export type OpenGeniLinkResolution = {
15
+ href: string;
16
+ open?: undefined;
17
+ } | {
18
+ open: () => void | Promise<void>;
19
+ href?: undefined;
20
+ };
21
+ export type OpenGeniLinkResolver = (target: OpenGeniLinkTarget) => OpenGeniLinkResolution | null | undefined;
22
+ /** First resolver that handles a target wins. */
23
+ export declare function chainLinkResolvers(...resolvers: ReadonlyArray<OpenGeniLinkResolver | null | undefined>): OpenGeniLinkResolver | null;
24
+ /**
25
+ * Resolve Opengeni object links (`artifact:`, `sandbox:`, editable artifacts,
26
+ * Sites) for every {@link Markdown} body below. An inner provider is asked
27
+ * before an outer one, so a host can override a single kind and keep defaults.
28
+ */
29
+ export declare function OpenGeniLinkProvider({ resolveLink, children, }: {
30
+ resolveLink: OpenGeniLinkResolver | null | undefined;
31
+ children: ReactNode;
32
+ }): import("react").JSX.Element;
33
+ /** The effective resolver from the nearest {@link OpenGeniLinkProvider}. */
34
+ export declare function useOpenGeniLinkResolver(): OpenGeniLinkResolver | null;
35
+ type SessionLinkClient = Partial<Pick<OpenGeniClient, "createFileDownloadUrl" | "fsRead">>;
36
+ /**
37
+ * Default resolver for a session conversation that talks to Opengeni through
38
+ * the normal SDK client (for example behind `createSessionProxyHandler`):
39
+ *
40
+ * - `artifact:<file>` downloads the retained file through a short-lived URL.
41
+ * - `sandbox:<path>` downloads when enabled by the host proxy capability.
42
+ *
43
+ * Editable artifacts and Sites have no default: they need a host surface
44
+ * (see `@opengeni/react/artifacts/*` and `@opengeni/react/sites`), so they stay
45
+ * unavailable until the host resolves them.
46
+ */
47
+ export declare function sessionLinkResolver(input: {
48
+ client: SessionLinkClient;
49
+ workspaceId: string;
50
+ sessionId: string;
51
+ sandboxFiles?: boolean;
52
+ }): OpenGeniLinkResolver;
53
+ /** An editable artifact or Site to open in a host-mounted viewer. */
54
+ export type OpenGeniViewerTarget = Readonly<{
55
+ kind: "editable-artifact" | "site";
56
+ artifactId: string;
57
+ /** The link text the agent wrote, until the viewer loads the real title. */
58
+ title?: string | undefined;
59
+ }>;
60
+ /**
61
+ * "Open in host viewer": resolve agent links to editable artifacts and Sites
62
+ * in this workspace to `open(target)`, for example to mount
63
+ * `SessionArtifactViewer` beside the conversation. Other targets fall through.
64
+ */
65
+ export declare function viewerLinkResolver(input: {
66
+ workspaceId: string;
67
+ open: (target: OpenGeniViewerTarget) => void;
68
+ }): OpenGeniLinkResolver;
@@ -0,0 +1,6 @@
1
+ import type { SVGProps } from "react";
2
+ /**
3
+ * Simple Icons, CC0; https://github.com/simple-icons/simple-icons
4
+ * Source: https://raw.githubusercontent.com/simple-icons/simple-icons/develop/icons/openrouter.svg
5
+ */
6
+ export declare function OpenRouterMark(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
@@ -0,0 +1,7 @@
1
+ import type { SVGProps } from "react";
2
+ /**
3
+ * Opper's mark (the leaf-and-star symbol of the opper.ai wordmark), redrawn
4
+ * as a single currentColor path on a square box.
5
+ * Source: https://opper.ai (header logo SVG).
6
+ */
7
+ export declare function OpperMark(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
@@ -0,0 +1,2 @@
1
+ /** Private loading surface: never receives or executes the unfinished fence. */
2
+ export declare function PreviewLoading(): import("react").JSX.Element;
@@ -0,0 +1,16 @@
1
+ import { type ProviderRecoveryFacts } from "../lib/provider-recovery.js";
2
+ export type ProviderRecoveryNoticeProps = {
3
+ /** From `currentProviderRecovery(session, events)`; renders nothing when null. */
4
+ recovery: ProviderRecoveryFacts | null | undefined;
5
+ /** Replaces the secondary line; `null` hides it. */
6
+ detail?: string | null | undefined;
7
+ className?: string | undefined;
8
+ };
9
+ export declare const PROVIDER_RECOVERY_NOTICE_DETAIL = "Your message is saved. Opengeni keeps retrying automatically for a few minutes.";
10
+ export declare const SANDBOX_WAIT_NOTICE_DETAIL = "The turn continues automatically as soon as the sandbox is ready.";
11
+ /**
12
+ * One calm, live status line while the same turn waits for an automatic retry
13
+ * after a transient provider failure. It replaces itself on every attempt
14
+ * instead of adding timeline rows, and disappears once the turn runs again.
15
+ */
16
+ export declare function ProviderRecoveryNotice({ recovery, detail, className, }: ProviderRecoveryNoticeProps): import("react").JSX.Element | null;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * One presentation rule for a queued item, shared by the full queue and the
3
+ * compact session-chrome dock so the two cannot drift. A turn with an empty
4
+ * prompt and timeline annotations is valid content; an item with neither is a
5
+ * malformed or legacy object that gets an explicit fallback, never a blank row.
6
+ */
7
+ export type QueueItemContent = "text" | "annotations" | "unavailable";
8
+ export declare const QUEUE_ITEM_CONTENT_UNAVAILABLE = "Content unavailable";
9
+ export declare function queueItemContent(text: string, annotationCount: number): QueueItemContent;
@@ -0,0 +1,23 @@
1
+ import type { SecretTextTokenLike } from "../secrets-ui.js";
2
+ type HastText = {
3
+ type: "text";
4
+ value: string;
5
+ position?: unknown;
6
+ };
7
+ type HastElement = {
8
+ type: "element";
9
+ tagName: string;
10
+ properties?: Record<string, unknown>;
11
+ children: HastChild[];
12
+ };
13
+ type HastChild = HastText | HastElement | {
14
+ type: string;
15
+ children?: HastChild[];
16
+ };
17
+ type HastParent = {
18
+ children?: HastChild[];
19
+ };
20
+ export declare function rehypeSecretRefs(options: {
21
+ tokenize: (text: string) => SecretTextTokenLike[];
22
+ }): (tree: HastParent) => void;
23
+ export {};