@opengeni/react 3.3.2 → 3.4.1-canary.38960406141001

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
@@ -0,0 +1,39 @@
1
+ import type { ParsedSessionUsageLimitReachedRefusal, SessionUsageLimit } from "@opengeni/sdk/session-usage-limits";
2
+ import { type SessionUsageLimitLabels } from "../usage/session-usage-limit.js";
3
+ export type SessionUsageLimitNoticeProps = {
4
+ /** The task's usage-limit projection (`GET .../usage-limit` or `session.usageLimit`). */
5
+ usage: SessionUsageLimit | null | undefined;
6
+ /**
7
+ * A refused Send's typed refusal (`OpenGeniSessionUsageLimitReachedError`),
8
+ * shown as reached until a re-read projection replaces it. Clear it when a
9
+ * newer `usage` arrives: a projection that already says reached wins.
10
+ */
11
+ refusal?: Pick<ParsedSessionUsageLimitReachedRefusal, "limitMicros" | "usedMicros" | "rootSessionId"> | null;
12
+ /** Opens the limit editor. Absent: the notice says who can change it instead. */
13
+ onChangeLimit?: (() => void) | undefined;
14
+ /** A child chat: link to the main task that owns the limit, instead of an editor. */
15
+ mainTaskHref?: string | undefined;
16
+ /** The goal paused at the limit: changing it never resumes, so say Resume is next. */
17
+ goalPaused?: boolean;
18
+ /**
19
+ * The last refresh of `usage` failed. The last known amount and any reached
20
+ * state stay, with a note that they may be out of date and that the limit
21
+ * still applies. Pass the read hook's error state; never zero the amount.
22
+ */
23
+ stale?: boolean;
24
+ /**
25
+ * Remember a dismissed near-limit notice for this tab. The key should name
26
+ * the workspace; the task and limit version are added, so a changed limit
27
+ * shows it again. Reaching the limit is never dismissible.
28
+ */
29
+ dismissStorageKey?: string | undefined;
30
+ labels?: Partial<SessionUsageLimitLabels> | undefined;
31
+ className?: string | undefined;
32
+ };
33
+ /**
34
+ * The calm composer line for a task's usage limit: a dismissible note near
35
+ * the limit and a status once it is reached, with one action (Change limit).
36
+ * Renders nothing while usage is comfortable, unlimited, unknown or loading.
37
+ * Never a purchase or credits remedy: the limit is a person's own setting.
38
+ */
39
+ export declare function SessionUsageLimitNotice({ usage, refusal, onChangeLimit, mainTaskHref, goalPaused, stale, dismissStorageKey, labels: overrides, className, }: SessionUsageLimitNoticeProps): import("react").JSX.Element | null;
@@ -0,0 +1,24 @@
1
+ import { Component, type ReactNode } from "react";
2
+ type Anchor = {
3
+ element: HTMLElement;
4
+ key: string | null;
5
+ text: string | null;
6
+ top: number;
7
+ focused?: boolean;
8
+ };
9
+ export type TimelineAnchor = Anchor[];
10
+ /** Read ownership synchronously: selectionchange may follow the next React commit. */
11
+ export declare function timelineHasReader(scroller: HTMLElement | null): boolean;
12
+ /** Read the old DOM immediately before React changes it, not when a fetch starts. */
13
+ export declare class TimelineBeforeLayout extends Component<{
14
+ capture: () => void;
15
+ children: ReactNode;
16
+ }> {
17
+ getSnapshotBeforeUpdate(): null;
18
+ componentDidUpdate(): void;
19
+ render(): ReactNode;
20
+ }
21
+ export declare function captureTimelineAnchor(scroller: HTMLElement): TimelineAnchor | null;
22
+ /** Return only the correction native browser anchoring has not already made. */
23
+ export declare function timelineAnchorCorrection(scroller: HTMLElement, anchors: TimelineAnchor): number | null;
24
+ export {};
@@ -0,0 +1,25 @@
1
+ import type { DraftTimelineAnnotation, TimelineAnnotation, TimelineAnnotationSource } from "@opengeni/sdk";
2
+ import { type ReactNode } from "react";
3
+ export type TimelineAnnotationLike = DraftTimelineAnnotation | TimelineAnnotation;
4
+ export declare function AnnotationQuoteSourceButton({ annotation, lines, onRevealSource, onUnavailable, }: {
5
+ annotation: TimelineAnnotationLike;
6
+ lines?: 2 | 3;
7
+ onRevealSource?: ((source: TimelineAnnotationSource) => boolean) | undefined;
8
+ onUnavailable: (id: string | null) => void;
9
+ }): import("react").JSX.Element;
10
+ export declare function AnnotationAccentRow({ children, className, }: {
11
+ children: ReactNode;
12
+ className?: string | undefined;
13
+ }): import("react").JSX.Element;
14
+ export declare function AnnotationNotePreview({ note, annotationId, ordinal, className, }: {
15
+ note: string;
16
+ annotationId: string;
17
+ ordinal: number;
18
+ className?: string | undefined;
19
+ }): import("react").JSX.Element | null;
20
+ export declare function AnnotationNoteField({ annotation, inputRef, onUpdate, onCommit, }: {
21
+ annotation: TimelineAnnotationLike;
22
+ inputRef?: ((node: HTMLTextAreaElement | null) => void) | undefined;
23
+ onUpdate: (id: string, note: string) => void;
24
+ onCommit?: (() => void) | undefined;
25
+ }): import("react").JSX.Element;
@@ -0,0 +1,42 @@
1
+ export type AnnotationBox = {
2
+ left: number;
3
+ right: number;
4
+ top: number;
5
+ bottom: number;
6
+ };
7
+ export type AnnotationBadgeAnchor = {
8
+ id: string;
9
+ ordinal: number;
10
+ left: number;
11
+ top: number;
12
+ incomplete: boolean;
13
+ };
14
+ export declare const ANNOTATION_BADGE_GAP_PX = 32;
15
+ export declare const ANNOTATION_BADGE_MIN_GAP_PX = 12;
16
+ export declare const ANNOTATION_REVIEW_DIALOG_WIDTH_PX = 400;
17
+ export declare const ANNOTATION_REVIEW_DIALOG_MAX_HEIGHT_PX: number;
18
+ export declare const ANNOTATION_REVIEW_DIALOG_MIN_HEIGHT_PX = 160;
19
+ export declare const ANNOTATION_REVIEW_DIALOG_FLOOR_HEIGHT_PX = 80;
20
+ export declare const ANNOTATION_REVIEW_MARGIN_PX = 12;
21
+ export declare const ANNOTATION_NOTE_PREVIEW_CHARS = 280;
22
+ export declare const ANNOTATION_CARD_STACK_SCROLL_AT = 4;
23
+ export declare function annotationBoxIntersects(a: AnnotationBox, b: AnnotationBox): boolean;
24
+ export declare function annotationViewportBox(viewportWidth: number, viewportHeight: number, scroller?: AnnotationBox | null): AnnotationBox;
25
+ export declare function annotationNoteNeedsDisclosure(note: string): boolean;
26
+ export declare function annotationBadgePackGap(viewport: AnnotationBox, count: number, preferred?: number): number;
27
+ export declare function layoutAnnotationBadges(anchors: readonly AnnotationBadgeAnchor[], viewport: AnnotationBox, preferredGap?: number): AnnotationBadgeAnchor[];
28
+ export declare function scrollAnnotationRowIntoList(list: HTMLElement | null | undefined, row: HTMLElement | null | undefined): void;
29
+ export declare function clampAnnotationDialogPlacement(input: {
30
+ triggerLeft: number;
31
+ triggerTop: number;
32
+ triggerBottom: number;
33
+ contentHeight: number;
34
+ viewportWidth: number;
35
+ viewportHeight: number;
36
+ panelWidth?: number;
37
+ }): {
38
+ left: number;
39
+ top: number;
40
+ maxHeight: number;
41
+ above: boolean;
42
+ };
@@ -0,0 +1,8 @@
1
+ import type { DraftTimelineAnnotation } from "@opengeni/sdk";
2
+ import { type RefObject } from "react";
3
+ export declare function TimelineAnnotationMarkers({ annotations, onSelect, rootRef, }: {
4
+ annotations: readonly DraftTimelineAnnotation[];
5
+ onSelect?: ((id: string) => void) | undefined;
6
+ rootRef: RefObject<HTMLElement | null>;
7
+ }): import("react").ReactPortal | null;
8
+ export default TimelineAnnotationMarkers;
@@ -0,0 +1,4 @@
1
+ import { type RefObject } from "react";
2
+ /** Owning timeline scroller for quote-source navigation. */
3
+ export declare const TimelineAnnotationSourceRootContext: import("react").Context<RefObject<HTMLElement | null> | null>;
4
+ export declare function useTimelineAnnotationSourceRoot(): RefObject<HTMLElement | null> | null;
@@ -0,0 +1,31 @@
1
+ import type { TimelineAnnotationSource } from "@opengeni/sdk";
2
+ export declare const ANNOTATION_CHROME_SELECTOR = "[data-og-annotation-chrome], [data-og-annotation-badge], [data-og-annotation-popover]";
3
+ export declare function annotationHasNote(note: string): boolean;
4
+ export declare function annotationDisplayOrdinal(annotation: {
5
+ readonly id?: string;
6
+ readonly ordinal?: number | undefined;
7
+ }, index: number): number;
8
+ export declare function sourceKindLabel(kind: TimelineAnnotationSource["kind"]): string;
9
+ export declare function annotationSourceLabel(source: TimelineAnnotationSource): string;
10
+ export declare function truncateAnnotationQuote(quote: string, maxChars?: number): string;
11
+ export declare function cssEscapeAttribute(value: string): string;
12
+ export declare function isAnnotationChromeNode(node: Node | null): boolean;
13
+ export declare function occurrenceOffsets(text: string, quote: string): number[];
14
+ export declare function matchingQuoteInSource(sourceText: string, quote: string): string | null;
15
+ type AnnotatableSpan = {
16
+ node: Text;
17
+ start: number;
18
+ length: number;
19
+ };
20
+ export declare function annotatableText(root: HTMLElement): {
21
+ text: string;
22
+ spans: AnnotatableSpan[];
23
+ };
24
+ export declare function rangeFromOffsets(spans: AnnotatableSpan[], startOffset: number, endOffset: number): Range | null;
25
+ export declare function buildQuoteRange(sourceEl: HTMLElement, quote: string, occurrenceIndex?: number): Range | null;
26
+ export declare function quoteOccurrenceIndex(sourceEl: HTMLElement, range: Range, quote: string): number;
27
+ export declare function clipRangeToSource(range: Range, sourceEl: HTMLElement): Range | null;
28
+ export declare function visibleClientRect(range: Range): DOMRect | null;
29
+ export declare function resolveAnnotationRevealRoot(from: Element | null | undefined): HTMLElement | null;
30
+ export declare function revealLoadedAnnotationSource(source: TimelineAnnotationSource, root?: ParentNode | null): boolean;
31
+ export {};
@@ -1,7 +1,7 @@
1
1
  import type { TimelineAnnotationSource } from "@opengeni/sdk";
2
2
  import { type RefObject } from "react";
3
- import type { TimelineAnnotationLike } from "./timeline-annotations.js";
4
- export declare function TimelineAnnotationsDialog({ annotations, editable, focusAnnotationId, onFocusConsumed, onUpdate, onRemove, onRevealSource, triggerRef, countLabel, onDismiss, }: {
3
+ import { type TimelineAnnotationLike } from "./timeline-annotation-chrome.js";
4
+ export declare function TimelineAnnotationsDialog({ annotations, editable, focusAnnotationId, onFocusConsumed, onUpdate, onRemove, onRevealSource, triggerRef, countLabel, onDismiss, onCommit, }: {
5
5
  annotations: readonly TimelineAnnotationLike[];
6
6
  editable: boolean;
7
7
  focusAnnotationId?: string | null | undefined;
@@ -12,5 +12,6 @@ export declare function TimelineAnnotationsDialog({ annotations, editable, focus
12
12
  triggerRef: RefObject<HTMLButtonElement | null>;
13
13
  countLabel: string;
14
14
  onDismiss: (restoreFocus: boolean) => void;
15
+ onCommit: () => void;
15
16
  }): import("react").ReactPortal | null;
16
17
  export default TimelineAnnotationsDialog;
@@ -1,13 +1,23 @@
1
- import type { DraftTimelineAnnotation, TimelineAnnotation, TimelineAnnotationSource } from "@opengeni/sdk";
2
- export type TimelineAnnotationLike = DraftTimelineAnnotation | TimelineAnnotation;
3
- export declare function TimelineAnnotationsChip({ annotations, editable, focusAnnotationId, onFocusConsumed, onUpdate, onRemove, onRevealSource, className, }: {
1
+ import type { TimelineAnnotationSource } from "@opengeni/sdk";
2
+ import { type TimelineAnnotationLike } from "./timeline-annotation-chrome.js";
3
+ export type { TimelineAnnotationLike } from "./timeline-annotation-chrome.js";
4
+ export declare function TimelineAnnotationCards({ annotations, onRevealSource, className, }: {
5
+ annotations: readonly TimelineAnnotationLike[];
6
+ onRevealSource?: ((source: TimelineAnnotationSource) => boolean) | undefined;
7
+ className?: string | undefined;
8
+ }): import("react").JSX.Element | null;
9
+ export declare function TimelineAnnotationsChip({ annotations, editable, focusAnnotationId, onFocusConsumed, onUpdate, onRemove, onRevealSource, className, compact, onCommit, }: {
4
10
  annotations: readonly TimelineAnnotationLike[];
5
11
  editable?: boolean | undefined;
6
12
  focusAnnotationId?: string | null | undefined;
7
13
  onFocusConsumed?: (() => void) | undefined;
8
14
  onUpdate?: ((id: string, note: string) => void) | undefined;
9
15
  onRemove?: ((id: string) => void) | undefined;
16
+ /** Return focus to the owning input after all notes are completed with Enter. */
17
+ onCommit?: (() => void) | undefined;
10
18
  onRevealSource?: ((source: TimelineAnnotationSource) => boolean) | undefined;
11
19
  className?: string | undefined;
20
+ /** Dense trigger for single-line rows such as the compact queue dock. */
21
+ compact?: boolean | undefined;
12
22
  }): import("react").JSX.Element | null;
13
23
  export default TimelineAnnotationsChip;
@@ -0,0 +1,11 @@
1
+ import type { TimelineGroup } from "../timeline/types.js";
2
+ /**
3
+ * Settlement may compact history, but cannot remove prose beneath a reader.
4
+ * Keep only progress that was already primary on the preceding commit; loading
5
+ * settled history never expands it. An explicit work toggle or tip return ends
6
+ * the protection. Keeping the original sibling keys also preserves selection.
7
+ */
8
+ export declare function useReadingProgress(projected: TimelineGroup[], pinned: boolean, scroller: HTMLElement | null): {
9
+ groups: TimelineGroup[];
10
+ release: (id: string | null) => void;
11
+ };
@@ -0,0 +1,34 @@
1
+ import { type RefObject } from "react";
2
+ import type { TimelineItem } from "../timeline/types.js";
3
+ export type TimelineSearchTarget = {
4
+ sequence: number;
5
+ eventId?: string | undefined;
6
+ /** Literal, case-insensitive text. No regex interpretation. */
7
+ query: string;
8
+ /** Zero-based occurrence within the source message. Defaults to zero. */
9
+ occurrence?: number | undefined;
10
+ /**
11
+ * Zero-based UTF-16 offset of the match in the original message text, as
12
+ * reported by backend all-occurrence search (messageMatchOffset). When set
13
+ * it takes precedence over `occurrence` and is validated against `query`,
14
+ * so a stale offset degrades to no highlight rather than a wrong one.
15
+ */
16
+ offset?: number | undefined;
17
+ };
18
+ /** Scoped to the target's group; disclosure expansion persists after closing find. */
19
+ export declare const TimelineSearchRevealContext: import("react").Context<string | null>;
20
+ export declare const useTimelineSearchReveal: () => string | null;
21
+ export declare function isTimelineSearchTarget(item: TimelineItem, target: TimelineSearchTarget): boolean;
22
+ /** Scan without allocating an offset array proportional to a huge message. */
23
+ export declare function literalSearchOffset(text: string, query: string, occurrence?: number): number;
24
+ /**
25
+ * Validate a caller-supplied UTF-16 offset against the text and query. The
26
+ * sticky flag pins the match to exactly `offset`; like literalSearchOffset,
27
+ * regex escaping keeps offsets in UTF-16 units even for length-changing case
28
+ * folds. Returns -1 when the offset is stale or the text no longer matches.
29
+ */
30
+ export declare function matchAtOffset(text: string, query: string, offset: number): number;
31
+ /** Resolve a target to a UTF-16 offset: explicit offset wins, else the ordinal scan. */
32
+ export declare function searchMatchOffset(text: string, target: TimelineSearchTarget): number;
33
+ /** Range highlighting does not mutate React-owned text or its layout. */
34
+ export declare function useTimelineSearchNavigation(root: RefObject<HTMLDivElement | null>, itemId: string | undefined, target: TimelineSearchTarget | null | undefined, releasePin: () => void, revision: unknown): void;
@@ -0,0 +1,16 @@
1
+ import type { TimelineGroup } from "../timeline/types.js";
2
+ export type TimelineSettlement = {
3
+ element: HTMLElement;
4
+ top: number;
5
+ };
6
+ /** Capture only a retained answer at a real live→settled boundary, never history load. */
7
+ export declare function captureTimelineSettlement(scroller: HTMLElement, groups: readonly {
8
+ key: string;
9
+ group: TimelineGroup;
10
+ }[]): TimelineSettlement | null;
11
+ /**
12
+ * Folding earlier prose can clamp scrollTop before paint. Keep the retained
13
+ * answer visually continuous after the normal scroll authority has run. This
14
+ * is one local position transition, not a new scroll writer or a presence tree.
15
+ */
16
+ export declare function animateTimelineSettlement(snapshot: TimelineSettlement): Animation | null;
@@ -0,0 +1,47 @@
1
+ import { type HTMLAttributes, type ReactNode } from "react";
2
+ import type { ToolActionReview, ToolReviewDetailsPage } from "@opengeni/sdk";
3
+ export type ToolReviewDetailsLoader = (review: ToolActionReview, path: string, offset: number) => Promise<ToolReviewDetailsPage>;
4
+ type Tone = "waiting" | "ok" | "failed" | "muted";
5
+ /** Shown when an older request's saved values are gone: approval is impossible, decline is not. */
6
+ export declare const UNRECOVERABLE_TEXT = "The details of this older request couldn't be recovered, so it can't be approved. Decline it to let the agent continue.";
7
+ /** Card chrome shared by the review, its loading state and its load failure. */
8
+ export declare function ToolReviewFrame({ tone, icon, eyebrow, title, titleId, subtitle, children, footer, bare, ...rest }: {
9
+ tone: Tone;
10
+ icon: ReactNode;
11
+ eyebrow: ReactNode;
12
+ title: ReactNode;
13
+ titleId?: string | undefined;
14
+ subtitle?: ReactNode;
15
+ children?: ReactNode;
16
+ footer?: ReactNode;
17
+ bare?: boolean | undefined;
18
+ } & Omit<HTMLAttributes<HTMLElement>, "title">): import("react").JSX.Element;
19
+ export declare function DeclineButton({ busy, submitting, label, onClick, }: {
20
+ busy: boolean;
21
+ submitting: boolean;
22
+ label?: string | undefined;
23
+ onClick: () => void;
24
+ }): import("react").JSX.Element;
25
+ /** One host-neutral review. All callbacks refer to the immutable action; none can edit it. */
26
+ export declare function ToolActionReviewCard({ review, onApprove, onReject, submitting, disabled, onViewDetails, pendingLabel, rejectLabel, bare, }: {
27
+ review: ToolActionReview;
28
+ onApprove?: (() => void) | undefined;
29
+ onReject?: (() => void) | undefined;
30
+ submitting?: "approve" | "reject" | null | undefined;
31
+ disabled?: boolean | undefined;
32
+ onViewDetails?: ((path: string) => void) | undefined;
33
+ pendingLabel?: string | undefined;
34
+ rejectLabel?: string | undefined;
35
+ /** Render without card chrome, e.g. inside an expanded timeline row. */
36
+ bare?: boolean | undefined;
37
+ }): import("react").JSX.Element;
38
+ /** Full-page detail content: hosts choose navigation, never a nested scrolling panel. */
39
+ export declare function ToolActionReviewDetails({ review, path: initialPath, load, onBack, manageFocus, }: {
40
+ review: ToolActionReview;
41
+ path?: string;
42
+ load: ToolReviewDetailsLoader;
43
+ onBack: () => void;
44
+ /** Hosts rendering simultaneous previews can retain their own focus. */
45
+ manageFocus?: boolean;
46
+ }): import("react").JSX.Element;
47
+ export {};
@@ -0,0 +1,25 @@
1
+ import { type ReactNode } from "react";
2
+ import type { SessionEvent, ToolActionReview } from "@opengeni/sdk";
3
+ type HistoryContext = {
4
+ approvalIds: ReadonlySet<string>;
5
+ revision: number;
6
+ load: (approvalId: string) => Promise<ToolActionReview>;
7
+ onViewDetails: (review: ToolActionReview, path: string) => void;
8
+ };
9
+ /** Opt-in, authenticated history for the exact reviewed calls in the visible event window. */
10
+ export declare function ToolReviewHistoryProvider({ events, load, onViewDetails, children, }: {
11
+ events: readonly SessionEvent[];
12
+ load: HistoryContext["load"];
13
+ onViewDetails: HistoryContext["onViewDetails"];
14
+ children: ReactNode;
15
+ }): import("react").JSX.Element;
16
+ export declare function useHasToolReview(approvalId: string | null): boolean;
17
+ /**
18
+ * The saved review for one recorded call, or null while it loads or when it is
19
+ * unavailable (callers then keep their ordinary tool row).
20
+ */
21
+ export declare function useRecordedToolReview(approvalId: string | null): {
22
+ review: ToolActionReview | null;
23
+ onViewDetails: ((path: string) => void) | undefined;
24
+ };
25
+ export {};
@@ -0,0 +1,49 @@
1
+ import type { UsageAllowancePeriod, WorkspaceUsageResponse } from "@opengeni/sdk/usage-allowances";
2
+ import { type ReactNode } from "react";
3
+ import { type UsageClientLike } from "../hooks/use-usage.js";
4
+ import { type AllowanceLabels } from "../usage/allowance-copy.js";
5
+ import { type UsageSummary } from "../usage/summary.js";
6
+ export type UsageLimitNoticeLabels = AllowanceLabels & {
7
+ /** "You've used 85% of your usage limit." */
8
+ memberWarning: (percent: string) => string;
9
+ /** "This workspace has used 85% of its usage budget." */
10
+ workspaceWarning: (percent: string) => string;
11
+ memberExhausted: string;
12
+ workspaceExhausted: string;
13
+ dismiss: string;
14
+ };
15
+ export declare const DEFAULT_USAGE_LIMIT_NOTICE_LABELS: UsageLimitNoticeLabels;
16
+ type NoticeBaseProps = {
17
+ labels?: Partial<UsageLimitNoticeLabels> | undefined;
18
+ /**
19
+ * Your own next step beside the message, for example an "Upgrade" or
20
+ * "Request more" button. Receives the summary so it can differ by scope.
21
+ */
22
+ action?: ((summary: UsageSummary) => ReactNode) | undefined;
23
+ /**
24
+ * Remember a dismissed warning for this browser tab. The key should name the
25
+ * workspace; the period and scope are added for you, so a new warning (or a
26
+ * new period) shows again. Reaching the limit is never dismissible.
27
+ */
28
+ dismissStorageKey?: string | undefined;
29
+ className?: string | undefined;
30
+ };
31
+ export type UsageLimitNoticeProps = NoticeBaseProps & {
32
+ /** A usage response you already loaded; omit it to read `/usage/me`. */
33
+ usage?: WorkspaceUsageResponse | null | undefined;
34
+ client?: UsageClientLike | undefined;
35
+ workspaceId?: string | undefined;
36
+ period?: UsageAllowancePeriod | undefined;
37
+ refreshKey?: unknown;
38
+ };
39
+ /**
40
+ * A calm line for the composer when a member is close to, or at, a usage
41
+ * limit: what happened, who can raise it, and when it resets. Renders nothing
42
+ * while usage is comfortable, unlimited, loading, or unreadable.
43
+ */
44
+ export declare function UsageLimitNotice({ usage, client, workspaceId, period, refreshKey, ...view }: UsageLimitNoticeProps): import("react").JSX.Element;
45
+ /** Presentational notice for a summary you computed (`summarizeUsage`). */
46
+ export declare function UsageLimitNoticeView({ summary, labels: overrides, action, dismissStorageKey, className, }: NoticeBaseProps & {
47
+ summary: UsageSummary | null;
48
+ }): import("react").JSX.Element | null;
49
+ export {};
@@ -0,0 +1,91 @@
1
+ import type { MemberAllowanceDefault, MemberAllowanceRule, MemberAllowanceUsage, WorkspaceUsageResponse } from "@opengeni/sdk/usage-allowances";
2
+ /** How a member is named in the list. Usage rows carry only a subject id. */
3
+ export type UsageMemberIdentity = {
4
+ name: string;
5
+ /** A second line: an email, a role, or "You". */
6
+ detail?: string | null | undefined;
7
+ };
8
+ /**
9
+ * Opt in to fixed-amount limits. Amounts are USD micros on the wire; your
10
+ * format/parse decide the unit people type ("$50.00", "500 credits").
11
+ */
12
+ export type UsageAmountFormat = {
13
+ format: (micros: number) => string;
14
+ /** Returns micros, or null when the text is not a valid amount. */
15
+ parse: (text: string) => number | null;
16
+ /** Shown before the input, for example "$". */
17
+ prefix?: string | undefined;
18
+ /** The amount input's step in the person's unit. */
19
+ step?: number | undefined;
20
+ };
21
+ export type UsageMemberListLabels = {
22
+ listLabel: string;
23
+ used: (percent: string) => string;
24
+ noLimitUsed: string;
25
+ amounts: (used: string, limit: string) => string;
26
+ nearLimit: string;
27
+ limitReached: string;
28
+ limit: string;
29
+ defaultEqualShare: (percent: string) => string;
30
+ defaultNone: string;
31
+ defaultShare: (percent: string) => string;
32
+ defaultAmount: (amount: string) => string;
33
+ share: (percent: string) => string;
34
+ amount: (amount: string) => string;
35
+ fixedAmountHidden: string;
36
+ edit: (name: string) => string;
37
+ editorTitle: (name: string) => string;
38
+ optionDefault: string;
39
+ optionShare: string;
40
+ optionAmount: string;
41
+ fixedAmountHint: string;
42
+ shareSlider: string;
43
+ shareInput: string;
44
+ amountInput: string;
45
+ equalShareMultiple: (multiple: string) => string;
46
+ sameAsEqualShare: string;
47
+ atBudget: (amount: string) => string;
48
+ save: string;
49
+ saving: string;
50
+ cancel: string;
51
+ saveFailed: string;
52
+ invalidAmount: string;
53
+ totalWithin: (percent: string) => string;
54
+ totalOver: (percent: string) => string;
55
+ oversubscribedHelp: string;
56
+ unlimitedMembers: (count: number) => string;
57
+ empty: string;
58
+ };
59
+ export declare const DEFAULT_USAGE_MEMBER_LIST_LABELS: UsageMemberListLabels;
60
+ export type UsageMemberListProps = {
61
+ /** The full roster for one period (`getAllUsage` / every `getUsage` page). */
62
+ usage: WorkspaceUsageResponse;
63
+ /** The workspace's `memberDefault`, to name what "default" means. */
64
+ memberDefault?: MemberAllowanceDefault | null | undefined;
65
+ /** Name a member. Defaults to the external id, then the subject id. */
66
+ describe?: ((member: MemberAllowanceUsage) => UsageMemberIdentity) | undefined;
67
+ /**
68
+ * Save a member's rule (`null` restores the default). Omit for a read-only
69
+ * list. Run it on your backend: member limits need workspace admin authority.
70
+ */
71
+ onChangeRule?: ((member: MemberAllowanceUsage, rule: MemberAllowanceRule) => Promise<void>) | undefined;
72
+ /** Opt in to amounts and fixed-amount limits. Shares only without it. */
73
+ amounts?: UsageAmountFormat | undefined;
74
+ labels?: Partial<UsageMemberListLabels> | undefined;
75
+ /** Draw the list's own border. Turn off inside a card that already has one. */
76
+ framed?: boolean | undefined;
77
+ className?: string | undefined;
78
+ };
79
+ /** Words for a member's current limit, from their override or the default. */
80
+ export declare function describeMemberLimit(member: Pick<MemberAllowanceUsage, "rule" | "limit">, context: {
81
+ memberDefault: MemberAllowanceDefault | null | undefined;
82
+ shareBase: number;
83
+ amounts?: UsageAmountFormat | undefined;
84
+ labels?: Partial<UsageMemberListLabels> | undefined;
85
+ }): string;
86
+ /**
87
+ * Every member's usage against their own limit, with an optional editor:
88
+ * a share-of-budget slider (default), a fixed amount, or the workspace
89
+ * default. Oversubscription is shown, never blocked.
90
+ */
91
+ export declare function UsageMemberList({ usage, memberDefault, describe, onChangeRule, amounts, labels: overrides, framed, className, }: UsageMemberListProps): import("react").JSX.Element;
@@ -0,0 +1,73 @@
1
+ import type { UsageAllowancePeriod, WorkspaceUsageResponse } from "@opengeni/sdk/usage-allowances";
2
+ import { type UsageClientLike } from "../hooks/use-usage.js";
3
+ import { type AllowanceLabels } from "../usage/allowance-copy.js";
4
+ import { type UsageSummary } from "../usage/summary.js";
5
+ export type UsageMeterLabels = AllowanceLabels & {
6
+ /** Heading for the member's own ceiling. */
7
+ title: string;
8
+ /** Heading when only the shared workspace pool applies. */
9
+ workspaceTitle: string;
10
+ /** "38% left" — `percent` is preformatted ("38", "<1"). */
11
+ left: (percent: string) => string;
12
+ /** "62% used". */
13
+ used: (percent: string) => string;
14
+ limitReached: string;
15
+ /** Status chip beside a hero meter that is close to its limit. */
16
+ nearLimit: string;
17
+ /** "$13.00 left" for a hero meter with amounts. */
18
+ amountLeft: (amount: string) => string;
19
+ /** No ceiling applies to this member. */
20
+ unlimited: string;
21
+ loading: string;
22
+ error: string;
23
+ retry: string;
24
+ /** "$31.00 of $50.00 used" when the host passes `formatAmount`. */
25
+ amounts: (used: string, limit: string) => string;
26
+ /** The shared pool, under a member's own meter: "Workspace: 9% left". */
27
+ workspaceLine: (value: string) => string;
28
+ };
29
+ export declare const DEFAULT_USAGE_METER_LABELS: UsageMeterLabels;
30
+ export type UsageMeterBaseProps = {
31
+ /** "left" (default) reads like a battery; "used" reads like spend. */
32
+ measure?: "left" | "used" | undefined;
33
+ /**
34
+ * Opt in to amounts. Receives USD micros; return your own unit ("$31.00",
35
+ * "3.1 credits", "1.5× plan"). Without it the meter shows only shares.
36
+ */
37
+ formatAmount?: ((micros: number) => string) | undefined;
38
+ labels?: Partial<UsageMeterLabels> | undefined;
39
+ /**
40
+ * `compact` is one line for menus and headers; `hero` leads a page with the
41
+ * amount (or share) left in large type. An empty `labels.title` hides the
42
+ * heading when the page already names it.
43
+ */
44
+ density?: "default" | "compact" | "hero" | undefined;
45
+ /** Show the shared pool under the member's own meter when it is the tighter one. Default true. */
46
+ showWorkspace?: boolean | undefined;
47
+ className?: string | undefined;
48
+ };
49
+ export type UsageMeterProps = UsageMeterBaseProps & {
50
+ /**
51
+ * A usage response you already loaded (for example from `useUsage`).
52
+ * Omit it to let the meter read `/usage/me` itself.
53
+ */
54
+ usage?: WorkspaceUsageResponse | null | undefined;
55
+ client?: UsageClientLike | undefined;
56
+ workspaceId?: string | undefined;
57
+ period?: UsageAllowancePeriod | undefined;
58
+ /** Re-read when this changes (see `useUsage`). */
59
+ refreshKey?: unknown;
60
+ };
61
+ /**
62
+ * The signed-in member's own usage: how much of their limit is left and when
63
+ * it resets. Shares only by default; hosts opt in to amounts.
64
+ */
65
+ export declare function UsageMeter({ usage, client, workspaceId, period, refreshKey, ...view }: UsageMeterProps): import("react").JSX.Element;
66
+ export type UsageMeterViewProps = UsageMeterBaseProps & {
67
+ summary: UsageSummary | null;
68
+ loading?: boolean | undefined;
69
+ error?: Error | null | undefined;
70
+ onRetry?: (() => void) | undefined;
71
+ };
72
+ /** Presentational meter for a summary you computed (`summarizeUsage`). */
73
+ export declare function UsageMeterView({ summary, loading, error, onRetry, measure, formatAmount, labels: overrides, density, showWorkspace, className, }: UsageMeterViewProps): import("react").JSX.Element;
@@ -0,0 +1,2 @@
1
+ /** Keep native details menus dismissible without letting Escape close the dock. */
2
+ export declare function useViewerMenuDismiss(enabled?: boolean): import("react").RefObject<HTMLDetailsElement | null>;
@@ -1,6 +1,13 @@
1
1
  import { type ReactNode } from "react";
2
2
  type RestoreDisclosureAnchor = (() => void) | null;
3
+ export type UserMessageDisclosureLabels = {
4
+ /** Collapsed disclosure action. Defaults to "Show more". */
5
+ showMore?: string | undefined;
6
+ /** Expanded disclosure action. Defaults to "Show less". */
7
+ showLess?: string | undefined;
8
+ };
3
9
  export type UserMessageDisclosureContextValue = {
10
+ labels?: UserMessageDisclosureLabels | undefined;
4
11
  expandedByMessageId: Map<string, boolean>;
5
12
  beginChange: (messageBody: HTMLElement, disclosureControl: HTMLElement) => RestoreDisclosureAnchor;
6
13
  };
@@ -21,6 +28,8 @@ export type UserMessageBodyProps = {
21
28
  text: string;
22
29
  children: ReactNode;
23
30
  className?: string | undefined;
31
+ /** Per-field overrides for timeline labels, then the English defaults. */
32
+ disclosureLabels?: UserMessageDisclosureLabels | undefined;
24
33
  };
25
34
  /**
26
35
  * Lossless disclosure boundary for already-sent user-message text.
@@ -32,5 +41,5 @@ export type UserMessageBodyProps = {
32
41
  * remembers expansion per durable message id and preserves the reader's scroll
33
42
  * anchor when height changes.
34
43
  */
35
- export declare function UserMessageBody({ messageId, text, children, className }: UserMessageBodyProps): import("react").JSX.Element;
44
+ export declare function UserMessageBody({ messageId, text, children, className, disclosureLabels, }: UserMessageBodyProps): import("react").JSX.Element;
36
45
  export {};