@opengeni/react 3.1.0 → 3.1.3-canary.38890816741001

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 (863) hide show
  1. package/README.md +769 -22
  2. package/dist/accounts.js +89 -11
  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-BO2IWXVK.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-RGALCTWO.js → chunk-2I6R3GCZ.js} +4285 -3980
  21. package/dist/chunk-2I6R3GCZ.js.map +1 -0
  22. package/dist/{chunk-D3UIAJKY.js → chunk-2SFFYIH3.js} +1179 -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-3UZCWK46.js +298 -0
  27. package/dist/chunk-3UZCWK46.js.map +1 -0
  28. package/dist/chunk-47CKUXTW.js +293 -0
  29. package/dist/chunk-47CKUXTW.js.map +1 -0
  30. package/dist/chunk-4QYP6QUI.js +109 -0
  31. package/dist/chunk-4QYP6QUI.js.map +1 -0
  32. package/dist/chunk-5EY26VZ7.js +1053 -0
  33. package/dist/chunk-5EY26VZ7.js.map +1 -0
  34. package/dist/chunk-5I4VRWBB.js +56 -0
  35. package/dist/chunk-5I4VRWBB.js.map +1 -0
  36. package/dist/chunk-5WOR7UCL.js +191 -0
  37. package/dist/chunk-5WOR7UCL.js.map +1 -0
  38. package/dist/chunk-5YJLGOM5.js +51 -0
  39. package/dist/chunk-5YJLGOM5.js.map +1 -0
  40. package/dist/chunk-6JFN3OWG.js +386 -0
  41. package/dist/chunk-6JFN3OWG.js.map +1 -0
  42. package/dist/chunk-7QJT5O4S.js +35 -0
  43. package/dist/chunk-7QJT5O4S.js.map +1 -0
  44. package/dist/chunk-A55KV72M.js +402 -0
  45. package/dist/chunk-A55KV72M.js.map +1 -0
  46. package/dist/chunk-ADWCLI4G.js +2028 -0
  47. package/dist/chunk-ADWCLI4G.js.map +1 -0
  48. package/dist/chunk-B27E3V37.js +29 -0
  49. package/dist/chunk-B27E3V37.js.map +1 -0
  50. package/dist/chunk-B7TC2A33.js +83 -0
  51. package/dist/chunk-B7TC2A33.js.map +1 -0
  52. package/dist/chunk-BLL56F7R.js +385 -0
  53. package/dist/chunk-BLL56F7R.js.map +1 -0
  54. package/dist/chunk-BOFEQC6K.js +162 -0
  55. package/dist/chunk-BOFEQC6K.js.map +1 -0
  56. package/dist/chunk-CM7LVUKC.js +35 -0
  57. package/dist/chunk-CM7LVUKC.js.map +1 -0
  58. package/dist/chunk-CORUP6JB.js +122 -0
  59. package/dist/chunk-CORUP6JB.js.map +1 -0
  60. package/dist/chunk-CSX5FFKZ.js +35 -0
  61. package/dist/chunk-CSX5FFKZ.js.map +1 -0
  62. package/dist/chunk-EGVHJKGJ.js +3125 -0
  63. package/dist/chunk-EGVHJKGJ.js.map +1 -0
  64. package/dist/{chunk-NEXLLTP4.js → chunk-G76LSA76.js} +6 -5
  65. package/dist/chunk-G76LSA76.js.map +1 -0
  66. package/dist/{chunk-PEI6RANI.js → chunk-GQMRL52F.js} +311 -75
  67. package/dist/chunk-GQMRL52F.js.map +1 -0
  68. package/dist/{chunk-ELIYWBZR.js → chunk-GUUXOISA.js} +1113 -457
  69. package/dist/chunk-GUUXOISA.js.map +1 -0
  70. package/dist/{chunk-HUIKIDM5.js → chunk-I7X2P4FU.js} +225 -116
  71. package/dist/chunk-I7X2P4FU.js.map +1 -0
  72. package/dist/chunk-IGFZFLI2.js +1390 -0
  73. package/dist/chunk-IGFZFLI2.js.map +1 -0
  74. package/dist/{chunk-4MDLEHXL.js → chunk-IMSUVYQB.js} +26 -13
  75. package/dist/chunk-IMSUVYQB.js.map +1 -0
  76. package/dist/chunk-IOYHDEP3.js +38 -0
  77. package/dist/chunk-IOYHDEP3.js.map +1 -0
  78. package/dist/chunk-IZV5FTJC.js +55 -0
  79. package/dist/chunk-IZV5FTJC.js.map +1 -0
  80. package/dist/chunk-KF33GTWN.js +343 -0
  81. package/dist/chunk-KF33GTWN.js.map +1 -0
  82. package/dist/chunk-KSGQ5ODA.js +457 -0
  83. package/dist/chunk-KSGQ5ODA.js.map +1 -0
  84. package/dist/{chunk-OAM4WAAM.js → chunk-KZC6QRNR.js} +1513 -697
  85. package/dist/chunk-KZC6QRNR.js.map +1 -0
  86. package/dist/chunk-LJUMYUBO.js +218 -0
  87. package/dist/chunk-LJUMYUBO.js.map +1 -0
  88. package/dist/chunk-LSW2OJVV.js +380 -0
  89. package/dist/chunk-LSW2OJVV.js.map +1 -0
  90. package/dist/chunk-M357MHH3.js +2 -0
  91. package/dist/chunk-M357MHH3.js.map +1 -0
  92. package/dist/chunk-MK2TQO4Y.js +24 -0
  93. package/dist/chunk-MK2TQO4Y.js.map +1 -0
  94. package/dist/chunk-N7S72EXK.js +25 -0
  95. package/dist/chunk-N7S72EXK.js.map +1 -0
  96. package/dist/{chunk-XXWH2JLC.js → chunk-NKMYZFHA.js} +616 -621
  97. package/dist/chunk-NKMYZFHA.js.map +1 -0
  98. package/dist/chunk-NX4ADH73.js +14 -0
  99. package/dist/chunk-NX4ADH73.js.map +1 -0
  100. package/dist/chunk-O7F6UJO4.js +71 -0
  101. package/dist/chunk-O7F6UJO4.js.map +1 -0
  102. package/dist/chunk-OVB5WIG5.js +14064 -0
  103. package/dist/chunk-OVB5WIG5.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-MZ2G2XBA.js → chunk-V5ZUJT2T.js} +205 -45
  135. package/dist/chunk-V5ZUJT2T.js.map +1 -0
  136. package/dist/chunk-VIUEOHXY.js +394 -0
  137. package/dist/chunk-VIUEOHXY.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-YJFGAFBD.js → chunk-X5UVUIMF.js} +1892 -1223
  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/fleet-tile.d.ts +2 -2
  200. package/dist/components/grok-mark.d.ts +26 -0
  201. package/dist/components/human-input-form.d.ts +28 -32
  202. package/dist/components/human-input-surface.d.ts +7 -2
  203. package/dist/components/linkified-text.d.ts +18 -0
  204. package/dist/components/machine-input-display.d.ts +22 -1
  205. package/dist/components/machines/agent-status-icon.d.ts +6 -0
  206. package/dist/components/machines/machine-detail.d.ts +7 -1
  207. package/dist/components/machines/machine-status.d.ts +48 -0
  208. package/dist/components/markdown-table-layout.d.ts +18 -0
  209. package/dist/components/markdown.d.ts +37 -4
  210. package/dist/components/message-timeline.d.ts +86 -7
  211. package/dist/components/model-mark.d.ts +29 -0
  212. package/dist/components/model-policy-picker-menu.d.ts +9 -0
  213. package/dist/components/model-policy-picker.d.ts +41 -25
  214. package/dist/components/new-conversation.d.ts +32 -0
  215. package/dist/components/open-geni-chat.d.ts +73 -0
  216. package/dist/components/open-geni-links.d.ts +68 -0
  217. package/dist/components/openrouter-mark.d.ts +6 -0
  218. package/dist/components/opper-mark.d.ts +7 -0
  219. package/dist/components/preview-loading.d.ts +2 -0
  220. package/dist/components/provider-recovery-notice.d.ts +16 -0
  221. package/dist/components/queue-item-content.d.ts +9 -0
  222. package/dist/components/rehype-secret-refs.d.ts +23 -0
  223. package/dist/components/remark-soft-line-breaks.d.ts +38 -0
  224. package/dist/components/sandbox-files.d.ts +3 -1
  225. package/dist/components/sandbox-workspace.d.ts +18 -0
  226. package/dist/components/secret-question-field.d.ts +31 -0
  227. package/dist/components/secret-ref-chip.d.ts +35 -0
  228. package/dist/components/session-capability-frame.d.ts +37 -0
  229. package/dist/components/session-chrome.d.ts +57 -8
  230. package/dist/components/session-commands-panel.d.ts +6 -0
  231. package/dist/components/session-commands.d.ts +6 -0
  232. package/dist/components/session-connection-request.d.ts +8 -0
  233. package/dist/components/session-conversation.d.ts +157 -0
  234. package/dist/components/session-list.d.ts +39 -0
  235. package/dist/components/session-mcp-capability-card.d.ts +41 -0
  236. package/dist/components/session-proxy-scope.d.ts +35 -0
  237. package/dist/components/session-status.d.ts +4 -1
  238. package/dist/components/session-usage-limit-notice.d.ts +39 -0
  239. package/dist/components/timeline-anchor.d.ts +24 -0
  240. package/dist/components/timeline-annotation-chrome.d.ts +25 -0
  241. package/dist/components/timeline-annotation-layout.d.ts +42 -0
  242. package/dist/components/timeline-annotation-markers.d.ts +8 -0
  243. package/dist/components/timeline-annotation-reveal-context.d.ts +4 -0
  244. package/dist/components/timeline-annotation-shared.d.ts +31 -0
  245. package/dist/components/timeline-annotations-dialog.d.ts +3 -2
  246. package/dist/components/timeline-annotations.d.ts +13 -3
  247. package/dist/components/timeline-reading-progress.d.ts +11 -0
  248. package/dist/components/timeline-search.d.ts +34 -0
  249. package/dist/components/timeline-settlement.d.ts +16 -0
  250. package/dist/components/tip-follow.d.ts +16 -0
  251. package/dist/components/tool-action-review.d.ts +47 -0
  252. package/dist/components/tool-review-history.d.ts +25 -0
  253. package/dist/components/usage-limit-notice.d.ts +49 -0
  254. package/dist/components/usage-member-list.d.ts +91 -0
  255. package/dist/components/usage-meter.d.ts +73 -0
  256. package/dist/components/use-viewer-menu-dismiss.d.ts +2 -0
  257. package/dist/components/user-message-body.d.ts +10 -1
  258. package/dist/composer-messages.d.ts +74 -0
  259. package/dist/composer-messages.js +9 -0
  260. package/dist/composer-messages.js.map +1 -0
  261. package/dist/composer-voice-events.d.ts +8 -0
  262. package/dist/composer.d.ts +5 -4
  263. package/dist/composer.js +26 -13
  264. package/dist/computer-viewer-GMLDXPON.js +20 -0
  265. package/dist/computer-viewer-GMLDXPON.js.map +1 -0
  266. package/dist/connect-account-identity.d.ts +8 -0
  267. package/dist/connect-accounts.d.ts +15 -0
  268. package/dist/connect-chooser.d.ts +18 -0
  269. package/dist/connect-panel.d.ts +18 -0
  270. package/dist/connect-setup.d.ts +18 -0
  271. package/dist/connect.d.ts +21 -0
  272. package/dist/connect.js +2149 -0
  273. package/dist/connect.js.map +1 -0
  274. package/dist/connection-catalog.d.ts +38 -0
  275. package/dist/connection-discovery.d.ts +12 -0
  276. package/dist/connection-installed.d.ts +17 -0
  277. package/dist/connection-logo.d.ts +9 -0
  278. package/dist/connection-service-logo.d.ts +8 -0
  279. package/dist/connection-service-presentation.d.ts +13 -0
  280. package/dist/connection-skeleton.d.ts +5 -0
  281. package/dist/connection-type-picker.d.ts +6 -0
  282. package/dist/conversation-timeline.d.ts +5 -0
  283. package/dist/desktop.d.ts +7 -0
  284. package/dist/desktop.js +27 -0
  285. package/dist/desktop.js.map +1 -0
  286. package/dist/device-authorization.d.ts +23 -0
  287. package/dist/diffs.d.ts +8 -0
  288. package/dist/diffs.js +15 -0
  289. package/dist/diffs.js.map +1 -0
  290. package/dist/discovery-cache.d.ts +5 -0
  291. package/dist/editor.d.ts +7 -0
  292. package/dist/editor.js +22 -0
  293. package/dist/editor.js.map +1 -0
  294. package/dist/embedded-new-voice-OCRNT6U5.js +18 -0
  295. package/dist/embedded-new-voice-OCRNT6U5.js.map +1 -0
  296. package/dist/embedded-voice-RPHPYVBT.js +18 -0
  297. package/dist/embedded-voice-RPHPYVBT.js.map +1 -0
  298. package/dist/{fleet-decision-row-GGCAT4E4.js → fleet-decision-row-SI63O5V4.js} +4 -1
  299. package/dist/fleet-decision-row-SI63O5V4.js.map +1 -0
  300. package/dist/hooks/latest-question.d.ts +25 -0
  301. package/dist/hooks/shared-machines-list.d.ts +4 -0
  302. package/dist/hooks/shared-query.d.ts +113 -0
  303. package/dist/hooks/use-attached-browsers.d.ts +1 -1
  304. package/dist/hooks/use-auth-runs.d.ts +1 -4
  305. package/dist/hooks/use-available-models.d.ts +1 -1
  306. package/dist/hooks/use-browser-frame-stream.d.ts +1 -1
  307. package/dist/hooks/use-browser-session.d.ts +12 -1
  308. package/dist/hooks/use-client-config-flags.d.ts +49 -0
  309. package/dist/hooks/use-codex-accounts.d.ts +59 -10
  310. package/dist/hooks/use-composer.d.ts +24 -2
  311. package/dist/hooks/use-computer-frame-stream.d.ts +1 -1
  312. package/dist/hooks/use-computer-input-posture.d.ts +13 -0
  313. package/dist/hooks/use-computer-session.d.ts +4 -0
  314. package/dist/hooks/use-connect.d.ts +23 -0
  315. package/dist/hooks/use-desktop-stream.d.ts +1 -1
  316. package/dist/hooks/use-file-attachments.d.ts +12 -0
  317. package/dist/hooks/use-goal.d.ts +2 -1
  318. package/dist/hooks/use-last-started-turn-policy.d.ts +5 -1
  319. package/dist/hooks/use-new-conversation.d.ts +56 -0
  320. package/dist/hooks/use-new-session-draft.d.ts +74 -0
  321. package/dist/hooks/use-realtime-voice-models.d.ts +7 -0
  322. package/dist/hooks/use-sandbox-files.d.ts +4 -1
  323. package/dist/hooks/use-session-conversation.d.ts +49 -0
  324. package/dist/hooks/use-session-events.d.ts +28 -7
  325. package/dist/hooks/use-session-mcp-approval-policy.d.ts +2 -2
  326. package/dist/hooks/use-session-model-account.d.ts +48 -0
  327. package/dist/hooks/use-supergrok-accounts.d.ts +7 -1
  328. package/dist/hooks/use-terminal-stream.d.ts +11 -5
  329. package/dist/hooks/use-usage.d.ts +40 -0
  330. package/dist/hooks/use-vaults.d.ts +53 -0
  331. package/dist/hooks/use-voice-input.d.ts +8 -1
  332. package/dist/hooks/use-workspace-edit.d.ts +4 -0
  333. package/dist/hooks/use-workspace-sessions.d.ts +22 -5
  334. package/dist/human-input-model.d.ts +122 -0
  335. package/dist/identity-link-accounts.d.ts +11 -0
  336. package/dist/identity-link-consent.d.ts +18 -0
  337. package/dist/index.d.ts +82 -20
  338. package/dist/index.js +2350 -6605
  339. package/dist/index.js.map +1 -1
  340. package/dist/interaction.d.ts +1 -1
  341. package/dist/interaction.js +14 -24
  342. package/dist/interaction.js.map +1 -1
  343. package/dist/latest-question-R77KWSUP.js +118 -0
  344. package/dist/latest-question-R77KWSUP.js.map +1 -0
  345. package/dist/lib/clipboard.d.ts +7 -0
  346. package/dist/lib/error-message.d.ts +7 -0
  347. package/dist/lib/format.d.ts +58 -4
  348. package/dist/lib/host-theme.d.ts +77 -0
  349. package/dist/lib/interaction-errors.d.ts +3 -0
  350. package/dist/lib/menu-styles.d.ts +22 -0
  351. package/dist/lib/notify-observer.d.ts +2 -0
  352. package/dist/lib/pierre-diffs-loader.d.ts +20 -0
  353. package/dist/lib/provider-recovery.d.ts +55 -0
  354. package/dist/lib/scrollbars.d.ts +11 -0
  355. package/dist/lib/terminal-input-readiness.d.ts +11 -0
  356. package/dist/lib/transient-retry.d.ts +25 -0
  357. package/dist/lib/workbench-peers.d.ts +36 -0
  358. package/dist/lib/xterm-theme.d.ts +7 -5
  359. package/dist/machines.js +9 -5
  360. package/dist/markdown-table-layout-3PV2UAAH.js +113 -0
  361. package/dist/markdown-table-layout-3PV2UAAH.js.map +1 -0
  362. package/dist/mcp-connection-status.d.ts +14 -0
  363. package/dist/model-mark-paths.d.ts +34 -0
  364. package/dist/model-mark-paths.js +16 -0
  365. package/dist/model-mark-paths.js.map +1 -0
  366. package/dist/model-picker-model.d.ts +111 -0
  367. package/dist/model-picker-model.js +25 -0
  368. package/dist/model-picker-model.js.map +1 -0
  369. package/dist/model-policy-picker-menu-7GJ5URPR.js +17 -0
  370. package/dist/model-policy-picker-menu-7GJ5URPR.js.map +1 -0
  371. package/dist/model-policy.d.ts +30 -3
  372. package/dist/model-policy.js +14 -1
  373. package/dist/native-previews.d.ts +28 -0
  374. package/dist/native-previews.js +82 -0
  375. package/dist/native-previews.js.map +1 -0
  376. package/dist/new-session-draft.d.ts +7 -0
  377. package/dist/new-session-draft.js +639 -0
  378. package/dist/new-session-draft.js.map +1 -0
  379. package/dist/notification-text.d.ts +27 -0
  380. package/dist/{noto-sans-arabic-loader-IA2T4X2A.js → noto-sans-arabic-loader-XSH2KYWJ.js} +3 -1
  381. package/dist/{noto-sans-arabic-loader-IA2T4X2A.js.map → noto-sans-arabic-loader-XSH2KYWJ.js.map} +1 -1
  382. package/dist/{noto-sans-jp-loader.generated-HFGLYBR3.js → noto-sans-jp-loader.generated-MR5L6V7K.js} +3 -1
  383. package/dist/{noto-sans-jp-loader.generated-HFGLYBR3.js.map → noto-sans-jp-loader.generated-MR5L6V7K.js.map} +1 -1
  384. package/dist/older-history.d.ts +3 -2
  385. package/dist/organization-model.d.ts +32 -0
  386. package/dist/organization-model.js +65 -0
  387. package/dist/organization-model.js.map +1 -0
  388. package/dist/{platform-activity-row-BJHUHXAT.js → platform-activity-row-5OCKOQWZ.js} +16 -78
  389. package/dist/platform-activity-row-5OCKOQWZ.js.map +1 -0
  390. package/dist/plugin-details.d.ts +14 -0
  391. package/dist/plugin-discovery.d.ts +25 -0
  392. package/dist/preview-loading-paint.d.ts +20 -0
  393. package/dist/provider.d.ts +25 -2
  394. package/dist/queue-presentation-model.d.ts +72 -0
  395. package/dist/queue-presentation-model.js +38 -0
  396. package/dist/queue-presentation-model.js.map +1 -0
  397. package/dist/{queue-surface-implementation-BSKUWHRI.js → queue-surface-implementation-GJBH7NKO.js} +65 -265
  398. package/dist/queue-surface-implementation-GJBH7NKO.js.map +1 -0
  399. package/dist/realtime/embedded-new-voice.d.ts +1 -0
  400. package/dist/realtime/embedded-voice.d.ts +1 -0
  401. package/dist/realtime/realtime-control.d.ts +4 -65
  402. package/dist/realtime/session-realtime.d.ts +78 -0
  403. package/dist/realtime.js +25 -1294
  404. package/dist/realtime.js.map +1 -1
  405. package/dist/sandbox-files-O27IPOZW.js +21 -0
  406. package/dist/sandbox-files-O27IPOZW.js.map +1 -0
  407. package/dist/sandbox-label-model.d.ts +30 -0
  408. package/dist/sandbox-label-model.js +20 -0
  409. package/dist/sandbox-label-model.js.map +1 -0
  410. package/dist/scrollbars.d.ts +1 -0
  411. package/dist/scrollbars.js +10 -0
  412. package/dist/scrollbars.js.map +1 -0
  413. package/dist/secret-reference-label.d.ts +14 -0
  414. package/dist/secrets-ui.d.ts +57 -0
  415. package/dist/session-agents-model.d.ts +10 -0
  416. package/dist/session-agents-model.js +25 -0
  417. package/dist/session-agents-model.js.map +1 -0
  418. package/dist/session-attention-model.d.ts +8 -0
  419. package/dist/session-attention-model.js +47 -0
  420. package/dist/session-attention-model.js.map +1 -0
  421. package/dist/session-auth-recommendation.d.ts +5 -0
  422. package/dist/session-capability-policy.d.ts +31 -0
  423. package/dist/session-feedback-model.d.ts +20 -0
  424. package/dist/session-feedback-model.js +56 -0
  425. package/dist/session-feedback-model.js.map +1 -0
  426. package/dist/session-list-model.d.ts +138 -0
  427. package/dist/session-list-model.js +274 -0
  428. package/dist/session-list-model.js.map +1 -0
  429. package/dist/session-realtime-7DJOIHQW.js +21 -0
  430. package/dist/session-realtime-7DJOIHQW.js.map +1 -0
  431. package/dist/session-realtime.d.ts +7 -0
  432. package/dist/session-realtime.js +19 -0
  433. package/dist/session-realtime.js.map +1 -0
  434. package/dist/session-status-model.d.ts +36 -0
  435. package/dist/session-ui.d.ts +39 -1
  436. package/dist/session-ui.js +126 -12
  437. package/dist/session-ui.js.map +1 -1
  438. package/dist/session.d.ts +8 -2
  439. package/dist/session.js +35 -20
  440. package/dist/site-snapshot.d.ts +14 -0
  441. package/dist/sites-ui.d.ts +24 -0
  442. package/dist/sites.d.ts +3 -0
  443. package/dist/sites.js +14 -0
  444. package/dist/sites.js.map +1 -0
  445. package/dist/skill-discovery.d.ts +47 -0
  446. package/dist/terminal.d.ts +8 -0
  447. package/dist/terminal.js +32 -0
  448. package/dist/terminal.js.map +1 -0
  449. package/dist/testing/session-scenarios.d.ts +10 -0
  450. package/dist/testing/session-scenarios.js +367 -0
  451. package/dist/testing/session-scenarios.js.map +1 -0
  452. package/dist/timeline/activity-rail.d.ts +11 -2
  453. package/dist/timeline/agent-identity.d.ts +30 -0
  454. package/dist/timeline/agent-row.d.ts +31 -0
  455. package/dist/timeline/allowance-exhausted-row.d.ts +24 -0
  456. package/dist/timeline/compaction-copy.d.ts +46 -0
  457. package/dist/timeline/entrance.d.ts +13 -1
  458. package/dist/timeline/focus-sequence.d.ts +9 -0
  459. package/dist/timeline/genie-copy.d.ts +3 -0
  460. package/dist/timeline/genie-loading.d.ts +47 -0
  461. package/dist/timeline/index.d.ts +10 -5
  462. package/dist/timeline/knowledge-receipt.d.ts +17 -0
  463. package/dist/timeline/message-sender.d.ts +19 -0
  464. package/dist/timeline/notice-presentation.d.ts +13 -0
  465. package/dist/timeline/parsers.d.ts +11 -0
  466. package/dist/timeline/patch-apply-command.d.ts +18 -0
  467. package/dist/timeline/platform-activity-presentation.d.ts +21 -0
  468. package/dist/timeline/platform-activity-row.d.ts +1 -2
  469. package/dist/timeline/presented-image.d.ts +11 -0
  470. package/dist/timeline/projection.d.ts +31 -2
  471. package/dist/timeline/provider-logo.d.ts +15 -0
  472. package/dist/timeline/question-nav-model.d.ts +23 -0
  473. package/dist/timeline/registry.d.ts +12 -1
  474. package/dist/timeline/retained-image.d.ts +18 -0
  475. package/dist/timeline/retained-loaders.d.ts +27 -0
  476. package/dist/timeline/rolling-activity.d.ts +11 -0
  477. package/dist/timeline/screenshot-lightbox.d.ts +23 -1
  478. package/dist/timeline/session-usage-limit-row.d.ts +11 -0
  479. package/dist/timeline/shared.d.ts +4 -1
  480. package/dist/timeline/startup-dispatch-details.d.ts +5 -0
  481. package/dist/timeline/startup-preference.d.ts +3 -0
  482. package/dist/timeline/startup-timings.d.ts +4 -0
  483. package/dist/timeline/tool-display-name.d.ts +5 -2
  484. package/dist/timeline/tool-presentation.d.ts +172 -0
  485. package/dist/timeline/turn-summary-model.d.ts +95 -0
  486. package/dist/timeline/turn-summary.d.ts +20 -54
  487. package/dist/timeline/types.d.ts +179 -7
  488. package/dist/timeline/work-presentation.d.ts +60 -0
  489. package/dist/timeline-annotation-markers-U3G66KUD.js +166 -0
  490. package/dist/timeline-annotation-markers-U3G66KUD.js.map +1 -0
  491. package/dist/timeline-annotation-selection-BI7QTPTZ.js +242 -0
  492. package/dist/timeline-annotation-selection-BI7QTPTZ.js.map +1 -0
  493. package/dist/timeline-annotations-dialog-FOMHSDTE.js +274 -0
  494. package/dist/timeline-annotations-dialog-FOMHSDTE.js.map +1 -0
  495. package/dist/timeline-model.d.ts +29 -0
  496. package/dist/timeline-model.js +254 -0
  497. package/dist/timeline-model.js.map +1 -0
  498. package/dist/usage/allowance-copy.d.ts +25 -0
  499. package/dist/usage/session-usage-limit.d.ts +88 -0
  500. package/dist/usage/summary.d.ts +35 -0
  501. package/dist/usage.d.ts +17 -0
  502. package/dist/usage.js +1187 -0
  503. package/dist/usage.js.map +1 -0
  504. package/dist/voice-recording-owner.d.ts +7 -0
  505. package/package.json +107 -7
  506. package/src/accounts.tsx +116 -14
  507. package/src/approvals.ts +8 -1
  508. package/src/artifacts-spreadsheet.ts +1 -0
  509. package/src/artifacts.ts +44 -0
  510. package/src/assets/README.md +8 -0
  511. package/src/assets/gmail.ico +0 -0
  512. package/src/assets/outlook.ico +0 -0
  513. package/src/capability-catalog-row.tsx +94 -0
  514. package/src/capability-logo-fallback.ts +22 -0
  515. package/src/client.ts +20 -31
  516. package/src/commands/registry.ts +18 -15
  517. package/src/commands/types.ts +2 -0
  518. package/src/components/anthropic-mark.tsx +10 -0
  519. package/src/components/approval-surface.tsx +401 -138
  520. package/src/components/artifacts/artifact-chrome.tsx +413 -0
  521. package/src/components/artifacts/artifact-sandbox.tsx +189 -0
  522. package/src/components/artifacts/artifact-surface.tsx +40 -20
  523. package/src/components/artifacts/chat-interactive-block.tsx +260 -0
  524. package/src/components/artifacts/deferred-chat-media.tsx +67 -0
  525. package/src/components/artifacts/document-editor.tsx +141 -16
  526. package/src/components/artifacts/editable-artifact-ui.tsx +4 -2
  527. package/src/components/artifacts/editable-artifact-view.tsx +197 -0
  528. package/src/components/artifacts/editable-artifact-workbench.tsx +5 -2
  529. package/src/components/artifacts/editable-document.tsx +37 -36
  530. package/src/components/artifacts/editable-presentation.tsx +36 -18
  531. package/src/components/artifacts/editable-spreadsheet.tsx +543 -103
  532. package/src/components/artifacts/index.ts +45 -0
  533. package/src/components/artifacts/inline-html-document.ts +24 -0
  534. package/src/components/artifacts/latest-task-runner.ts +49 -0
  535. package/src/components/artifacts/presentation-editor.tsx +323 -67
  536. package/src/components/artifacts/published-html-artifact-frame.tsx +122 -5
  537. package/src/components/artifacts/session-artifact-viewer.tsx +378 -0
  538. package/src/components/artifacts/site-view.tsx +121 -0
  539. package/src/components/artifacts/spreadsheet-canvas.ts +5 -10
  540. package/src/components/artifacts/spreadsheet-command-queue.ts +184 -0
  541. package/src/components/artifacts/spreadsheet-download.tsx +109 -0
  542. package/src/components/artifacts/spreadsheet-general-display.ts +43 -0
  543. package/src/components/artifacts/spreadsheet-grid.tsx +344 -144
  544. package/src/components/artifacts/spreadsheet-resize.tsx +421 -0
  545. package/src/components/artifacts/spreadsheet-submissions.tsx +46 -0
  546. package/src/components/artifacts/visualization-assets/base.css +1015 -0
  547. package/src/components/artifacts/visualization-assets/helpers.html +349 -0
  548. package/src/components/artifacts/visualization-assets.gen.ts +3 -0
  549. package/src/components/browser-select-control.tsx +312 -0
  550. package/src/components/browser-viewer.tsx +778 -318
  551. package/src/components/chat-composer.tsx +47 -5
  552. package/src/components/child-session-link.tsx +36 -0
  553. package/src/components/claude-mark.tsx +11 -0
  554. package/src/components/code-editor.tsx +13 -16
  555. package/src/components/composer-transcription-control.tsx +128 -30
  556. package/src/components/composer.tsx +404 -195
  557. package/src/components/computer-viewer.tsx +880 -253
  558. package/src/components/copy-button.tsx +13 -5
  559. package/src/components/desktop-viewer.tsx +1 -1
  560. package/src/components/enrollment-consent.tsx +1 -1
  561. package/src/components/enrollment-device-flow.tsx +1 -1
  562. package/src/components/file-browser.tsx +10 -14
  563. package/src/components/fleet-tile.tsx +9 -18
  564. package/src/components/generated-video-player.tsx +4 -2
  565. package/src/components/grok-mark.tsx +34 -0
  566. package/src/components/human-input-form.tsx +590 -283
  567. package/src/components/human-input-surface.tsx +11 -0
  568. package/src/components/interaction-intervention-banner.tsx +2 -2
  569. package/src/components/linkified-text.tsx +79 -0
  570. package/src/components/machine-card.tsx +35 -78
  571. package/src/components/machine-dock-bar.tsx +1 -1
  572. package/src/components/machine-input-display.ts +197 -3
  573. package/src/components/machines/agent-status-icon.tsx +31 -0
  574. package/src/components/machines/machine-detail.tsx +200 -31
  575. package/src/components/machines/machine-operation-policy.tsx +1 -1
  576. package/src/components/machines/machine-status.ts +241 -0
  577. package/src/components/machines-dashboard.tsx +2 -17
  578. package/src/components/markdown-table-layout.ts +143 -0
  579. package/src/components/markdown.tsx +466 -129
  580. package/src/components/message-timeline.tsx +2567 -728
  581. package/src/components/model-mark.tsx +102 -0
  582. package/src/components/model-picker.tsx +15 -4
  583. package/src/components/model-policy-picker-menu.tsx +371 -0
  584. package/src/components/model-policy-picker.tsx +256 -412
  585. package/src/components/new-conversation.tsx +221 -0
  586. package/src/components/open-geni-chat.tsx +309 -0
  587. package/src/components/open-geni-links.tsx +179 -0
  588. package/src/components/openrouter-mark.tsx +13 -0
  589. package/src/components/opper-mark.tsx +18 -0
  590. package/src/components/pierre-diff.tsx +41 -16
  591. package/src/components/pierre-file.tsx +35 -10
  592. package/src/components/preview-loading.tsx +109 -0
  593. package/src/components/provider-recovery-notice.tsx +49 -0
  594. package/src/components/queue-item-content.ts +14 -0
  595. package/src/components/queue-surface-implementation.tsx +51 -356
  596. package/src/components/queue-surface-state.tsx +3 -1
  597. package/src/components/rehype-secret-refs.ts +98 -0
  598. package/src/components/remark-soft-line-breaks.ts +166 -0
  599. package/src/components/sandbox-files.tsx +91 -15
  600. package/src/components/sandbox-terminal.tsx +84 -13
  601. package/src/components/sandbox-workspace.tsx +147 -51
  602. package/src/components/secret-question-field.tsx +324 -0
  603. package/src/components/secret-ref-chip.tsx +185 -0
  604. package/src/components/session-capability-frame.tsx +197 -0
  605. package/src/components/session-chrome.tsx +842 -251
  606. package/src/components/session-commands-panel.tsx +126 -0
  607. package/src/components/session-commands.tsx +18 -0
  608. package/src/components/session-connection-request.tsx +97 -0
  609. package/src/components/session-conversation.tsx +876 -0
  610. package/src/components/session-list.tsx +257 -0
  611. package/src/components/session-mcp-capability-card.tsx +680 -0
  612. package/src/components/session-proxy-scope.tsx +153 -0
  613. package/src/components/session-status.tsx +26 -17
  614. package/src/components/session-usage-limit-notice.tsx +174 -0
  615. package/src/components/timeline-anchor.tsx +119 -0
  616. package/src/components/timeline-annotation-chrome.tsx +196 -0
  617. package/src/components/timeline-annotation-layout.ts +268 -0
  618. package/src/components/timeline-annotation-markers.tsx +185 -0
  619. package/src/components/timeline-annotation-reveal-context.ts +9 -0
  620. package/src/components/timeline-annotation-selection.tsx +106 -54
  621. package/src/components/timeline-annotation-shared.ts +245 -0
  622. package/src/components/timeline-annotations-dialog.tsx +185 -128
  623. package/src/components/timeline-annotations.tsx +189 -45
  624. package/src/components/timeline-reading-progress.ts +80 -0
  625. package/src/components/timeline-search.tsx +168 -0
  626. package/src/components/timeline-settlement.ts +60 -0
  627. package/src/components/tip-follow.ts +52 -0
  628. package/src/components/tool-action-review.tsx +650 -0
  629. package/src/components/tool-review-history.tsx +88 -0
  630. package/src/components/tooltip.tsx +38 -5
  631. package/src/components/usage-limit-notice.tsx +179 -0
  632. package/src/components/usage-member-list.tsx +792 -0
  633. package/src/components/usage-meter.tsx +382 -0
  634. package/src/components/use-viewer-menu-dismiss.ts +33 -0
  635. package/src/components/user-message-body.tsx +27 -2
  636. package/src/components/workspace-dock.tsx +18 -1
  637. package/src/composer-messages.ts +150 -0
  638. package/src/composer-voice-events.ts +12 -0
  639. package/src/composer.ts +6 -1
  640. package/src/connect-account-identity.tsx +34 -0
  641. package/src/connect-accounts.tsx +233 -0
  642. package/src/connect-chooser.tsx +336 -0
  643. package/src/connect-panel.tsx +99 -0
  644. package/src/connect-setup.tsx +355 -0
  645. package/src/connect.ts +60 -0
  646. package/src/connection-assets.d.ts +4 -0
  647. package/src/connection-catalog.tsx +162 -0
  648. package/src/connection-discovery.tsx +238 -0
  649. package/src/connection-installed.tsx +51 -0
  650. package/src/connection-logo.tsx +37 -0
  651. package/src/connection-service-logo.tsx +55 -0
  652. package/src/connection-service-presentation.ts +46 -0
  653. package/src/connection-skeleton.tsx +16 -0
  654. package/src/connection-type-picker.tsx +36 -0
  655. package/src/conversation-timeline.ts +92 -0
  656. package/src/desktop.ts +24 -0
  657. package/src/device-authorization.tsx +98 -0
  658. package/src/diffs.ts +16 -0
  659. package/src/discovery-cache.ts +42 -0
  660. package/src/editor.ts +13 -0
  661. package/src/hooks/internal.ts +3 -2
  662. package/src/hooks/latest-question.ts +164 -0
  663. package/src/hooks/shared-machines-list.ts +34 -1
  664. package/src/hooks/shared-query.ts +721 -0
  665. package/src/hooks/use-attached-browsers.ts +1 -1
  666. package/src/hooks/use-auth-runs.ts +0 -27
  667. package/src/hooks/use-available-models.ts +21 -15
  668. package/src/hooks/use-browser-frame-stream.ts +19 -2
  669. package/src/hooks/use-browser-session.ts +680 -205
  670. package/src/hooks/use-browser-sessions.ts +32 -1
  671. package/src/hooks/use-client-config-flags.ts +118 -0
  672. package/src/hooks/use-codex-accounts.ts +247 -47
  673. package/src/hooks/use-composer.ts +276 -47
  674. package/src/hooks/use-computer-frame-stream.ts +25 -7
  675. package/src/hooks/use-computer-input-posture.ts +94 -0
  676. package/src/hooks/use-computer-session.ts +409 -95
  677. package/src/hooks/use-connect.ts +23 -0
  678. package/src/hooks/use-desktop-stream.ts +19 -28
  679. package/src/hooks/use-file-attachments.ts +80 -4
  680. package/src/hooks/use-goal.ts +107 -13
  681. package/src/hooks/use-last-started-turn-policy.ts +46 -14
  682. package/src/hooks/use-machines.ts +4 -0
  683. package/src/hooks/use-new-conversation.ts +374 -0
  684. package/src/hooks/use-new-session-draft.ts +813 -0
  685. package/src/hooks/use-realtime-voice-models.ts +46 -0
  686. package/src/hooks/use-sandbox-files.ts +68 -20
  687. package/src/hooks/use-session-background-commands.ts +22 -11
  688. package/src/hooks/use-session-capabilities.ts +3 -2
  689. package/src/hooks/use-session-conversation.ts +150 -0
  690. package/src/hooks/use-session-events.ts +703 -382
  691. package/src/hooks/use-session-lineage.ts +20 -16
  692. package/src/hooks/use-session-mcp-approval-policy.ts +13 -5
  693. package/src/hooks/use-session-model-account.ts +174 -0
  694. package/src/hooks/use-session.ts +53 -21
  695. package/src/hooks/use-slash-commands.ts +6 -11
  696. package/src/hooks/use-supergrok-accounts.ts +22 -8
  697. package/src/hooks/use-terminal-stream.ts +153 -27
  698. package/src/hooks/use-transcription.ts +6 -0
  699. package/src/hooks/use-turn-queue.ts +2 -1
  700. package/src/hooks/use-usage.ts +100 -0
  701. package/src/hooks/use-vaults.ts +153 -0
  702. package/src/hooks/use-video-artifact-playback.ts +1 -1
  703. package/src/hooks/use-voice-input.ts +127 -19
  704. package/src/hooks/use-workspace-capture.ts +3 -2
  705. package/src/hooks/use-workspace-edit.ts +23 -5
  706. package/src/hooks/use-workspace-sessions.ts +97 -32
  707. package/src/human-input-model.ts +359 -0
  708. package/src/identity-link-accounts.tsx +148 -0
  709. package/src/identity-link-consent.tsx +192 -0
  710. package/src/index.ts +262 -16
  711. package/src/interaction.ts +1 -0
  712. package/src/lib/clipboard.ts +29 -0
  713. package/src/lib/error-message.ts +37 -0
  714. package/src/lib/format.ts +213 -16
  715. package/src/lib/host-theme.ts +529 -0
  716. package/src/lib/interaction-errors.ts +15 -0
  717. package/src/lib/menu-styles.ts +44 -0
  718. package/src/lib/notify-observer.ts +15 -0
  719. package/src/lib/pierre-diffs-loader.ts +53 -0
  720. package/src/lib/provider-recovery.ts +243 -0
  721. package/src/lib/scrollbars.ts +30 -0
  722. package/src/lib/terminal-input-readiness.ts +51 -0
  723. package/src/lib/transient-retry.ts +99 -0
  724. package/src/lib/workbench-peers.ts +62 -0
  725. package/src/lib/xterm-theme.ts +23 -21
  726. package/src/mcp-connection-status.ts +35 -0
  727. package/src/model-mark-paths.ts +53 -0
  728. package/src/model-picker-model.ts +330 -0
  729. package/src/model-policy.ts +299 -74
  730. package/src/native-previews.ts +100 -0
  731. package/src/new-session-draft.ts +22 -0
  732. package/src/notification-text.ts +81 -0
  733. package/src/older-history.ts +22 -4
  734. package/src/organization-model.ts +118 -0
  735. package/src/plugin-details.tsx +185 -0
  736. package/src/plugin-discovery.tsx +196 -0
  737. package/src/preview-loading-paint.ts +68 -0
  738. package/src/provider.tsx +74 -15
  739. package/src/queue-presentation-model.ts +464 -0
  740. package/src/realtime/dropdown-menu.tsx +19 -12
  741. package/src/realtime/embedded-new-voice.tsx +1 -0
  742. package/src/realtime/embedded-voice.tsx +3 -0
  743. package/src/realtime/realtime-control.tsx +138 -501
  744. package/src/realtime/session-realtime.ts +566 -0
  745. package/src/sandbox-label-model.ts +53 -0
  746. package/src/scrollbars.ts +3 -0
  747. package/src/secret-reference-label.ts +43 -0
  748. package/src/secrets-ui.tsx +59 -0
  749. package/src/session-agents-model.ts +33 -0
  750. package/src/session-attention-model.ts +62 -0
  751. package/src/session-auth-recommendation.ts +48 -0
  752. package/src/session-capability-policy.ts +196 -0
  753. package/src/session-context.ts +3 -4
  754. package/src/session-feedback-model.ts +95 -0
  755. package/src/session-list-model.ts +434 -0
  756. package/src/session-realtime.ts +18 -0
  757. package/src/session-status-model.ts +99 -0
  758. package/src/session-ui.ts +98 -1
  759. package/src/session.ts +17 -1
  760. package/src/site-snapshot.ts +74 -0
  761. package/src/sites-ui.tsx +348 -0
  762. package/src/sites.ts +3 -0
  763. package/src/skill-discovery.tsx +208 -0
  764. package/src/terminal.ts +26 -0
  765. package/src/testing/session-scenarios.ts +404 -0
  766. package/src/timeline/activity-rail.tsx +242 -101
  767. package/src/timeline/agent-identity.tsx +84 -0
  768. package/src/timeline/agent-row.tsx +231 -0
  769. package/src/timeline/allowance-exhausted-row.tsx +86 -0
  770. package/src/timeline/compaction-copy.ts +115 -0
  771. package/src/timeline/entrance.tsx +28 -3
  772. package/src/timeline/fleet-decision-projection.ts +2 -1
  773. package/src/timeline/fleet-decision-row.tsx +1 -0
  774. package/src/timeline/focus-sequence.ts +44 -0
  775. package/src/timeline/genie-copy.ts +19 -0
  776. package/src/timeline/genie-loading.tsx +143 -0
  777. package/src/timeline/index.ts +30 -2
  778. package/src/timeline/knowledge-receipt.tsx +100 -0
  779. package/src/timeline/message-sender.tsx +71 -0
  780. package/src/timeline/notice-presentation.ts +48 -0
  781. package/src/timeline/parsers.ts +42 -2
  782. package/src/timeline/patch-apply-command.tsx +135 -0
  783. package/src/timeline/platform-activity-presentation.ts +166 -0
  784. package/src/timeline/platform-activity-row.tsx +15 -90
  785. package/src/timeline/presented-image.ts +63 -0
  786. package/src/timeline/projection.ts +1746 -76
  787. package/src/timeline/provider-logo.tsx +53 -0
  788. package/src/timeline/question-nav-model.ts +28 -0
  789. package/src/timeline/registry.ts +26 -4
  790. package/src/timeline/retained-image.ts +97 -0
  791. package/src/timeline/retained-loaders.ts +91 -0
  792. package/src/timeline/rolling-activity.tsx +80 -0
  793. package/src/timeline/screenshot-lightbox.tsx +228 -5
  794. package/src/timeline/session-usage-limit-row.tsx +42 -0
  795. package/src/timeline/shared.tsx +42 -15
  796. package/src/timeline/startup-dispatch-details.tsx +36 -0
  797. package/src/timeline/startup-preference.ts +33 -0
  798. package/src/timeline/startup-timings.tsx +145 -0
  799. package/src/timeline/tool-display-name.ts +19 -7
  800. package/src/timeline/tool-presentation.ts +1316 -0
  801. package/src/timeline/tool-renderers.tsx +835 -1138
  802. package/src/timeline/turn-summary-model.ts +343 -0
  803. package/src/timeline/turn-summary.tsx +272 -365
  804. package/src/timeline/types.ts +189 -6
  805. package/src/timeline/work-presentation.ts +189 -0
  806. package/src/timeline-model.ts +143 -0
  807. package/src/usage/allowance-copy.ts +64 -0
  808. package/src/usage/session-usage-limit.ts +266 -0
  809. package/src/usage/summary.ts +93 -0
  810. package/src/usage.ts +70 -0
  811. package/src/voice-recording-owner.ts +22 -0
  812. package/styles/compiled.css +2319 -748
  813. package/styles/connect.css +290 -0
  814. package/styles/connect.d.ts +1 -0
  815. package/styles/effective-tokens.css +1 -0
  816. package/styles/index.css +309 -9
  817. package/styles/responsive.css +99 -7
  818. package/styles/session-capability.css +44 -0
  819. package/styles/tokens.css +134 -66
  820. package/dist/browser-viewer-AEFHUYZK.js +0 -14
  821. package/dist/chunk-4MDLEHXL.js.map +0 -1
  822. package/dist/chunk-5YK2ZDIG.js.map +0 -1
  823. package/dist/chunk-D3UIAJKY.js.map +0 -1
  824. package/dist/chunk-ELIYWBZR.js.map +0 -1
  825. package/dist/chunk-H5YGYNXS.js.map +0 -1
  826. package/dist/chunk-HQVCKCLG.js +0 -9458
  827. package/dist/chunk-HQVCKCLG.js.map +0 -1
  828. package/dist/chunk-HUIKIDM5.js.map +0 -1
  829. package/dist/chunk-ICA6R6TW.js.map +0 -1
  830. package/dist/chunk-JVYQRRC4.js.map +0 -1
  831. package/dist/chunk-KCGXPP5V.js.map +0 -1
  832. package/dist/chunk-KZ73RL76.js.map +0 -1
  833. package/dist/chunk-LAKLF4PA.js +0 -141
  834. package/dist/chunk-LAKLF4PA.js.map +0 -1
  835. package/dist/chunk-MZ2G2XBA.js.map +0 -1
  836. package/dist/chunk-NEXLLTP4.js.map +0 -1
  837. package/dist/chunk-OAM4WAAM.js.map +0 -1
  838. package/dist/chunk-PEI6RANI.js.map +0 -1
  839. package/dist/chunk-RGALCTWO.js.map +0 -1
  840. package/dist/chunk-W6NFJXSA.js +0 -454
  841. package/dist/chunk-W6NFJXSA.js.map +0 -1
  842. package/dist/chunk-WSK7G5LE.js +0 -170
  843. package/dist/chunk-WSK7G5LE.js.map +0 -1
  844. package/dist/chunk-X4A66EWZ.js +0 -223
  845. package/dist/chunk-X4A66EWZ.js.map +0 -1
  846. package/dist/chunk-XXWH2JLC.js.map +0 -1
  847. package/dist/chunk-YFKJ7VZH.js +0 -268
  848. package/dist/chunk-YFKJ7VZH.js.map +0 -1
  849. package/dist/chunk-YJFGAFBD.js.map +0 -1
  850. package/dist/computer-viewer-FWEZISW4.js +0 -16
  851. package/dist/fleet-decision-row-GGCAT4E4.js.map +0 -1
  852. package/dist/hooks/use-environments.d.ts +0 -41
  853. package/dist/hooks/use-packs.d.ts +0 -32
  854. package/dist/platform-activity-row-BJHUHXAT.js.map +0 -1
  855. package/dist/queue-surface-implementation-BSKUWHRI.js.map +0 -1
  856. package/dist/timeline-annotation-selection-3L7LHGG2.js +0 -187
  857. package/dist/timeline-annotation-selection-3L7LHGG2.js.map +0 -1
  858. package/dist/timeline-annotations-dialog-U7EVLR75.js +0 -196
  859. package/dist/timeline-annotations-dialog-U7EVLR75.js.map +0 -1
  860. package/src/hooks/use-environments.ts +0 -182
  861. package/src/hooks/use-packs.ts +0 -157
  862. /package/dist/{browser-viewer-AEFHUYZK.js.map → browser-viewer-ZWR6MWJ7.js.map} +0 -0
  863. /package/dist/{computer-viewer-FWEZISW4.js.map → chat-interactive-block-BO2IWXVK.js.map} +0 -0
@@ -1,15 +1,25 @@
1
1
  import type { ClientModel, EffectiveSessionControl } from "@opengeni/sdk";
2
- import type { ClipboardEvent, ReactNode } from "react";
2
+ import { type ClipboardEvent, type ComponentProps, type ReactNode, type Ref } from "react";
3
3
  import type { SlashCommand } from "../commands/types.js";
4
4
  import type { ComposerState } from "../hooks/use-composer.js";
5
5
  import type { UseFileAttachmentsResult } from "../hooks/use-file-attachments.js";
6
6
  import type { SlashCommandContext } from "../hooks/use-slash-commands.js";
7
7
  import { OPEN_WORKSTREAM_CONTROL_EVENT } from "../workstream-control-event.js";
8
- import { type ChatComposerMessages, type ComposerControlLinks, type ResponsiveBasis } from "./composer.js";
8
+ import { Input, type ChatComposerMessages, type ComposerControlLinks, type ComposerRunControl, type ResponsiveBasis } from "./composer.js";
9
9
  import { type ComposerTranscriptionControlProps } from "./composer-transcription-control.js";
10
10
  export { OPEN_WORKSTREAM_CONTROL_EVENT };
11
11
  export type ChatComposerProps = {
12
12
  composer: ComposerState;
13
+ /** Replace only the normal footer, inside the shared composer context.
14
+ * Confirmation, drafts, annotations and attachments remain native. */
15
+ footer?: ReactNode;
16
+ focusRef?: Ref<{
17
+ focusInput: () => void;
18
+ }>;
19
+ inputProps?: ComponentProps<typeof Input> & {
20
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
21
+ };
22
+ surfaceClassName?: string;
13
23
  /**
14
24
  * Measurement surface for responsive chrome. Defaults to the historical
15
25
  * viewport breakpoints; opt into `container` for narrow embedded panels.
@@ -58,10 +68,18 @@ export type ChatComposerProps = {
58
68
  onClearView?: (() => void) | undefined;
59
69
  /** Partial overrides for all composer-owned visible and accessible copy. */
60
70
  messages?: Partial<ChatComposerMessages> | undefined;
71
+ /**
72
+ * Run control: `pause` (default) shows the workstream Pause control and
73
+ * paused strip; `stop` shows Stop only while `running`, and the next message
74
+ * continues a stopped conversation; `none` shows neither.
75
+ */
76
+ runControl?: ComposerRunControl | undefined;
77
+ /** A response is in progress (drives the Stop control). */
78
+ running?: boolean | undefined;
61
79
  };
62
80
  /**
63
81
  * Batteries-included chat composer. This preset is assembled exclusively from
64
82
  * the public controller and compound primitives exported by the composer
65
83
  * subpath, so custom and default layouts share one behavioral implementation.
66
84
  */
67
- export declare function ChatComposer({ composer, responsiveBasis, effectiveControl, queuedAheadCount, canControlWorkspace, controlLinks, placeholder, disabled, autoFocus, hint, controlsLeading, controlsStart, actionsStart, attachButtonClassName, transcription, transcriptionClassName, transcriptionSuppressed, header, onPaste, attachments, models, selectedModel, onSelectModel, className, commands, commandContext, onClearView, messages, }: ChatComposerProps): import("react").JSX.Element;
85
+ export declare function ChatComposer({ composer, responsiveBasis, effectiveControl, queuedAheadCount, canControlWorkspace, controlLinks, placeholder, disabled, autoFocus, hint, controlsLeading, controlsStart, actionsStart, attachButtonClassName, transcription, transcriptionClassName, transcriptionSuppressed, header, onPaste, attachments, models, selectedModel, onSelectModel, className, commands, commandContext, onClearView, messages, footer, focusRef, inputProps, surfaceClassName, runControl, running, }: ChatComposerProps): import("react").JSX.Element;
@@ -0,0 +1,9 @@
1
+ import type { MachineInputMember } from "../timeline/types.js";
2
+ /**
3
+ * Source IDs are routing coordinates only for typed agent updates (child
4
+ * lifecycle notices, agent messages, and agent directions), never parsed from
5
+ * prose.
6
+ */
7
+ export declare function ChildSessionLink({ kind, sourceId, onOpenSession, }: Pick<MachineInputMember, "kind" | "sourceId"> & {
8
+ onOpenSession?: ((sessionId: string) => void) | undefined;
9
+ }): import("react").JSX.Element | null;
@@ -0,0 +1,3 @@
1
+ import type { SVGProps } from "react";
2
+ /** ClaudeMark: Simple Icons, CC0; https://github.com/simple-icons/simple-icons */
3
+ export declare function ClaudeMark(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
@@ -1,8 +1,6 @@
1
1
  import { type ReactNode } from "react";
2
- /** Language grammar loaders, keyed by the extension class we infer from the path. */
3
- declare const LANGUAGE_LOADERS: Record<string, () => Promise<unknown>>;
4
2
  /** Map a filename to a grammar key (or null for plain text — still fully editable). */
5
- export declare function languageForPath(path: string): keyof typeof LANGUAGE_LOADERS | null;
3
+ export declare function languageForPath(path: string): string | null;
6
4
  export type CodeEditorProps = {
7
5
  /** Workspace-relative path — drives language inference (and the save target upstream). */
8
6
  path: string;
@@ -62,4 +60,3 @@ export declare function reconcileEditorBuffer(current: EditorBufferState, incomi
62
60
  * be saved back (which would corrupt it by writing the truncated prefix).
63
61
  */
64
62
  export declare function CodeEditor({ path, initialContents, onSave, onOverwrite, onReload, onEditIntent, readOnly, themeType, loading, fallback, className, }: CodeEditorProps): import("react").JSX.Element;
65
- export {};
@@ -5,6 +5,10 @@ export type ComposerTranscriptionMessages = {
5
5
  stop: string;
6
6
  cancel: string;
7
7
  retry: string;
8
+ /** Transcribe a recording that was stopped without transcribing or recovered. */
9
+ transcribeSaved: string;
10
+ /** Shown near the automatic stop; `{seconds}` is replaced. */
11
+ timeRemaining: string;
8
12
  pauseRetrying: string;
9
13
  requestingPermission: string;
10
14
  recording: string;
@@ -20,6 +24,9 @@ export type ComposerTranscriptionMessages = {
20
24
  errorPermissionDenied: string;
21
25
  errorNotSupported: string;
22
26
  errorUnavailable: string;
27
+ errorInsufficientCredits: string;
28
+ errorAllowanceExhausted: string;
29
+ errorPolicyBlocked: string;
23
30
  errorTooLarge: string;
24
31
  errorInvalidAudio: string;
25
32
  errorStorageUnavailable: string;
@@ -5,83 +5,32 @@ import type { ComposerState } from "../hooks/use-composer.js";
5
5
  import type { UseFileAttachmentsResult } from "../hooks/use-file-attachments.js";
6
6
  import { type ConfirmState, type SlashCommandContext } from "../hooks/use-slash-commands.js";
7
7
  import { type ResponsiveBasis } from "../lib/composer-responsive-context.js";
8
+ import { type ChatComposerMessages } from "../composer-messages.js";
8
9
  import type { PickerModelRow } from "../model-policy.js";
9
10
  import { OPEN_WORKSTREAM_CONTROL_EVENT } from "../workstream-control-event.js";
10
11
  export { OPEN_WORKSTREAM_CONTROL_EVENT };
11
12
  export type { ResponsiveBasis } from "../lib/composer-responsive-context.js";
12
- export type ComposerDelivery = Pick<ComposerState, "value" | "setValue" | "send" | "steer" | "sending" | "canSend" | "error" | "clearError">;
13
+ export type ComposerDelivery = Pick<ComposerState, "value" | "setValue" | "send" | "steer" | "sending" | "canSend" | "error" | "clearError" | "annotations" | "requestAnnotationReview">;
13
14
  export type ComposerDraftState = Pick<ComposerState, "draftConflict" | "draftSaving" | "resolveDraftConflict" | "restoredResources" | "removeRestoredResource">;
14
15
  export type ComposerControlState = Pick<ComposerState, "pause" | "pausing" | "resume" | "resumeScope" | "resuming">;
15
16
  export type ComposerControlLinks = {
16
17
  workspaceHref?: string | undefined;
17
18
  sessionHref?: ((sessionId: string) => string) | undefined;
18
19
  };
19
- export type ChatComposerMessages = {
20
- messagePlaceholder: string;
21
- pausedPlaceholder: string;
22
- inputLabel: string;
23
- keyboardHint: string;
24
- slashCommandBlocked: string;
25
- controlChangedError: string;
26
- sendFailedError: string;
27
- dropFiles: string;
28
- attachFiles: string;
29
- pauseAriaLabel: string;
30
- pauseTitle: string;
31
- sendMessageAriaLabel: string;
32
- sendAndResumeAriaLabel: string;
33
- sendTitle: string;
34
- sendAndResumeTitle: string;
35
- workspacePaused: string;
36
- pausedHere: string;
37
- parentBlocker: string;
38
- narrowerPause: string;
39
- pausedBy: (displayName: string) => string;
40
- queuedAhead: (count: number) => string;
41
- resumingAndSending: string;
42
- nextMessageResumes: string;
43
- resumeThisWorkstream: string;
44
- resumeShort: string;
45
- hidePauseDetails: string;
46
- showPauseDetails: string;
47
- pauseReasonsLabel: string;
48
- pausedByLabel: string;
49
- alsoPausedByLabel: string;
50
- resumeWorkspace: string;
51
- resumeFromSession: string;
52
- sessionCanRun: string;
53
- stillPausedBy: (displayName: string) => string;
54
- restoredResourcesLabel: string;
55
- restoredFile: (fileId: string) => string;
56
- removeRestoredResource: (index: number) => string;
57
- uploading: string;
58
- uploadFailed: string;
59
- previewAttachment: (name: string) => string;
60
- attachmentPreviewLabel: string;
61
- downloadAttachment: (name: string) => string;
62
- closeAttachmentPreview: string;
63
- retryAttachment: (name: string) => string;
64
- retryUpload: string;
65
- removeAttachment: (name: string) => string;
66
- confirmCommand: (name: string) => string;
67
- confirmDescription: (command: SlashCommand) => string;
68
- cancel: string;
69
- runCommand: (name: string) => string;
70
- commands: string;
71
- slashCommandsLabel: string;
72
- modelLabel: string;
73
- close: string;
74
- danger: string;
75
- draftConflict: string;
76
- useOtherDraft: string;
77
- keepMine: string;
78
- savingDraft: string;
79
- formatBytes: (bytes: number) => string;
80
- formatRelativeTime: (changedAt: string) => string;
81
- };
82
- export declare const defaultChatComposerMessages: ChatComposerMessages;
20
+ export { defaultChatComposerMessages } from "../composer-messages.js";
21
+ export type { ChatComposerMessages } from "../composer-messages.js";
83
22
  export type ComposerSubmitMode = "queue" | "steer";
84
- export type ComposerSubmitBlocker = "disabled" | "attachment" | "sending" | "command" | "empty" | null;
23
+ export type ComposerSubmitBlocker = "disabled" | "attachment" | "sending" | "command" | "annotations" | "empty" | null;
24
+ /**
25
+ * How the composer offers run control.
26
+ * - `pause`: the workstream Pause control and paused-state strip (default; the
27
+ * Opengeni console).
28
+ * - `stop`: a Stop control only while a response runs. Stopping pauses this
29
+ * conversation; the next message continues it, so people never see a paused
30
+ * state they have to resume. Pauses applied elsewhere still show.
31
+ * - `none`: no run control.
32
+ */
33
+ export type ComposerRunControl = "pause" | "stop" | "none";
85
34
  export type UseChatComposerControllerOptions = {
86
35
  delivery: ComposerDelivery;
87
36
  draft?: ComposerDraftState | undefined;
@@ -97,6 +46,10 @@ export type UseChatComposerControllerOptions = {
97
46
  onClearView?: (() => void) | undefined;
98
47
  onPaste?: ((event: ClipboardEvent<HTMLTextAreaElement>) => void) | undefined;
99
48
  messages?: Partial<ChatComposerMessages> | undefined;
49
+ /** Run control presentation. Defaults to `pause`. */
50
+ runControl?: ComposerRunControl | undefined;
51
+ /** A response is in progress; shows the Stop control under `runControl="stop"`. */
52
+ running?: boolean | undefined;
100
53
  };
101
54
  /**
102
55
  * Autosize a composer textarea up to `maxPx`. Never writes intermediate
@@ -111,7 +64,7 @@ export declare function applyComposerTextareaHeight(textarea: HTMLTextAreaElemen
111
64
  * delivery guards, keyboard routing, command interception, drag/drop, focus,
112
65
  * confirmation, and feedback state used by both the preset and primitives.
113
66
  */
114
- export declare function useChatComposerController({ delivery, draft, control, effectiveControl, queuedAheadCount, canControlWorkspace, controlLinks, disabled, attachments, commands, commandContext, onClearView, onPaste, messages: messageOverrides, }: UseChatComposerControllerOptions): {
67
+ export declare function useChatComposerController({ delivery, draft, control, effectiveControl, queuedAheadCount, canControlWorkspace, controlLinks, disabled, attachments, commands, commandContext, onClearView, onPaste, messages: messageOverrides, runControl, running, }: UseChatComposerControllerOptions): {
115
68
  id: string;
116
69
  rootRef: RefObject<HTMLDivElement | null>;
117
70
  textareaRef: RefObject<HTMLTextAreaElement | null>;
@@ -136,10 +89,13 @@ export declare function useChatComposerController({ delivery, draft, control, ef
136
89
  attachFiles: string;
137
90
  pauseAriaLabel: string;
138
91
  pauseTitle: string;
92
+ stopAriaLabel?: string | undefined;
93
+ stopTitle?: string | undefined;
139
94
  sendMessageAriaLabel: string;
140
95
  sendAndResumeAriaLabel: string;
141
96
  sendTitle: string;
142
97
  sendAndResumeTitle: string;
98
+ annotationNotesRequired: string;
143
99
  workspacePaused: string;
144
100
  pausedHere: string;
145
101
  parentBlocker: string;
@@ -165,6 +121,7 @@ export declare function useChatComposerController({ delivery, draft, control, ef
165
121
  uploading: string;
166
122
  uploadFailed: string;
167
123
  previewAttachment: (name: string) => string;
124
+ previewUnavailable?: string | undefined;
168
125
  attachmentPreviewLabel: string;
169
126
  downloadAttachment: (name: string) => string;
170
127
  closeAttachmentPreview: string;
@@ -197,9 +154,12 @@ export declare function useChatComposerController({ delivery, draft, control, ef
197
154
  removeRestoredResource: ((index: number) => void) | undefined;
198
155
  resolveDraftConflict: ((choice: "keep_mine" | "use_remote") => Promise<void>) | undefined;
199
156
  hasControl: boolean;
157
+ runControl: ComposerRunControl;
158
+ running: boolean;
200
159
  pausing: boolean;
201
160
  resuming: boolean;
202
161
  pause: (reason?: string) => Promise<boolean>;
162
+ stop: () => Promise<boolean>;
203
163
  resume: (reason?: string) => Promise<boolean>;
204
164
  resumeScope: (option: EffectiveSessionControl["resumeOptions"][number]) => Promise<boolean>;
205
165
  paused: boolean;
@@ -301,6 +261,13 @@ export type ComposerModelPickerProps = {
301
261
  export declare function ModelPicker({ models, rows, value, onChange, label, className, codexOnly, }: ComposerModelPickerProps): import("react").JSX.Element;
302
262
  export type ComposerPauseButtonProps = Omit<ButtonHTMLAttributes<HTMLButtonElement>, OwnedButtonProps>;
303
263
  export declare const PauseButton: import("react").ForwardRefExoticComponent<ComposerPauseButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
264
+ export type ComposerStopButtonProps = Omit<ButtonHTMLAttributes<HTMLButtonElement>, OwnedButtonProps>;
265
+ /**
266
+ * Stop the running response. Rendered only under `runControl="stop"` while a
267
+ * response runs; stopping pauses this conversation and the next message
268
+ * continues it.
269
+ */
270
+ export declare const StopButton: import("react").ForwardRefExoticComponent<ComposerStopButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
304
271
  export type ComposerSendButtonProps = Omit<ButtonHTMLAttributes<HTMLButtonElement>, OwnedButtonProps>;
305
272
  export declare const SendButton: import("react").ForwardRefExoticComponent<ComposerSendButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
306
273
  export declare function Help(): import("react").JSX.Element;
@@ -6,7 +6,7 @@ export type ComputerViewerNotification = {
6
6
  message: string;
7
7
  };
8
8
  export type ComputerViewerProps = EmbeddedComputerInteractionClientOverride & {
9
- /** Selected OpenGeni agent/session. Peer ComputerSessions remain visible. */
9
+ /** Selected Opengeni agent/session. Peer ComputerSessions remain visible. */
10
10
  sessionId: string;
11
11
  enabled?: boolean | undefined;
12
12
  className?: string | undefined;
@@ -14,8 +14,10 @@ export type CopyButtonProps = {
14
14
  /**
15
15
  * Ghost icon copy control — no chrome box, no "Copy code" label.
16
16
  * Copy → check flash. Hover-reveal via `group/copy` on a parent.
17
+ * Keep unchanged controls out of parent message rerenders: mounting history
18
+ * already has to commit each new tooltip, without redoing the retained suffix.
17
19
  */
18
- export declare function CopyButton({ text, label, className, reveal, }: CopyButtonProps): import("react").JSX.Element;
20
+ export declare const CopyButton: import("react").MemoExoticComponent<({ text, label, className, reveal, }: CopyButtonProps) => import("react").JSX.Element>;
19
21
  /** Hover-reveal chrome around a message / turn so {@link CopyButton} can fade in. */
20
22
  export declare function CopyHoverFrame({ children, className, copyText, label, align, trailing, }: {
21
23
  children: ReactNode;
@@ -15,7 +15,7 @@ export type DesktopViewerProps = {
15
15
  /** Render the built-in Watching ⇄ Take control toggle (default true). */
16
16
  showControlToggle?: boolean | undefined;
17
17
  scaleViewport?: boolean | undefined;
18
- /** Custom RFB factory (tests / a WebRTC swap). Defaults to lazy @novnc/novnc. */
18
+ /** Custom RFB factory; otherwise enableDesktopViewer() supplies lazy noVNC. */
19
19
  rfbFactory?: DesktopRfbFactory | undefined;
20
20
  /** Authenticated controller protocols for proxied RFB transports. */
21
21
  webSocketProtocols?: string[] | undefined;
@@ -1,7 +1,7 @@
1
- import type { Session } from "@opengeni/sdk";
1
+ import { type Session } from "@opengeni/sdk";
2
2
  export type FleetTileProps = {
3
3
  session: Session;
4
- /** Overrides the derived title (session title, metadata title/name, or safe fallback). */
4
+ /** Overrides the derived title (durable title, metadata, prompt preview, or safe fallback). */
5
5
  title?: string | undefined;
6
6
  /** Extra line under the title — e.g. "drift check" or the worker's task. */
7
7
  subtitle?: string | undefined;
@@ -0,0 +1,26 @@
1
+ import type { SVGProps } from "react";
2
+ /**
3
+ * MIT License
4
+ *
5
+ * Copyright (c) 2023 LobeHub
6
+ *
7
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
8
+ * of this software and associated documentation files (the "Software"), to deal
9
+ * in the Software without restriction, including without limitation the rights
10
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11
+ * copies of the Software, and to permit persons to whom the Software is
12
+ * furnished to do so, subject to the following conditions:
13
+ *
14
+ * The above copyright notice and this permission notice shall be included in all
15
+ * copies or substantial portions of the Software.
16
+ *
17
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23
+ * SOFTWARE.
24
+ * Source: https://raw.githubusercontent.com/lobehub/lobe-icons/master/src/Grok/components/Mono.tsx
25
+ */
26
+ export declare function GrokMark(props: SVGProps<SVGSVGElement>): import("react").JSX.Element;
@@ -1,33 +1,10 @@
1
- import type { HumanInputAnswer, HumanInputQuestion, SessionHumanInputRequest, SubmitHumanInputResponseRequest } from "@opengeni/sdk";
1
+ import type { HumanInputQuestion, HumanInputSecretSaveTo, SkillRecord, SessionHumanInputRequest, SubmitHumanInputResponseRequest } from "@opengeni/sdk";
2
2
  import { type ReactNode } from "react";
3
- export type HumanInputAnswerDraft = {
4
- values: string[];
5
- other: string;
6
- otherSelected: boolean;
7
- };
8
- export type HumanInputFormMessages = {
9
- title: string;
10
- description: string;
11
- submit: string;
12
- skip: string;
13
- submitting: string;
14
- other: string;
15
- deadlineLabel: string;
16
- formatDeadline: (value: string) => string;
17
- required: string;
18
- otherRequired: string;
19
- minSelections: (count: number) => string;
20
- maxSelections: (count: number) => string;
21
- optional: string;
22
- /** Shown when the question list overflows the card and more content is below. */
23
- moreBelow: string;
24
- questionCount: (count: number) => string;
25
- collapse: string;
26
- expand: string;
27
- selectionHint: (min: number | null | undefined, max: number | null | undefined) => string | null;
28
- };
29
- export declare const defaultHumanInputFormMessages: HumanInputFormMessages;
3
+ import { answersFromDrafts, defaultHumanInputFormMessages, type HumanInputAnswerDraft, type HumanInputFormMessages } from "../human-input-model.js";
4
+ export { answersFromDrafts, defaultHumanInputFormMessages, type HumanInputAnswerDraft, type HumanInputFormMessages, };
30
5
  export type HumanInputFormProps = {
6
+ /** Scoped immutable revision reader. Saving a Skill fails closed without its full preview. */
7
+ loadSkillReview?: ((reference: NonNullable<HumanInputQuestion["skillReview"]>) => Promise<SkillRecord>) | undefined;
31
8
  request: Pick<SessionHumanInputRequest, "id" | "questions" | "allowSkip" | "expiresAt">;
32
9
  onSubmit: (response: SubmitHumanInputResponseRequest) => void | Promise<void>;
33
10
  submitting?: boolean | undefined;
@@ -42,6 +19,18 @@ export type HumanInputFormProps = {
42
19
  autoFocus?: boolean | undefined;
43
20
  /** Start collapsed to a compact bar (drafts still retained). */
44
21
  defaultCollapsed?: boolean | undefined;
22
+ /**
23
+ * Answer a yes/no decision (one required choice between an accept and a
24
+ * decline option, without Other) with two buttons instead of a radio list.
25
+ * Off by default; embedded conversations turn it on.
26
+ */
27
+ decisionButtons?: boolean | undefined;
28
+ /**
29
+ * Where this person may save an answer to a secret question. A request for
30
+ * a target outside this list falls back to the most private allowed one,
31
+ * with a note. Defaults to Only me, This task and This workspace.
32
+ */
33
+ allowedSaveTo?: readonly HumanInputSecretSaveTo[] | undefined;
45
34
  className?: string | undefined;
46
35
  };
47
36
  /**
@@ -51,7 +40,14 @@ export type HumanInputFormProps = {
51
40
  * use `useHumanInputRequests` headlessly.
52
41
  */
53
42
  export declare function HumanInputForm(props: HumanInputFormProps): import("react").JSX.Element;
54
- export declare function answersFromDrafts(questions: HumanInputQuestion[], drafts: Record<string, HumanInputAnswerDraft>, messageOverrides?: Partial<HumanInputFormMessages>): {
55
- answers: HumanInputAnswer[];
56
- errors: Record<string, string>;
57
- };
43
+ /**
44
+ * A yes/no decision (an approval asked as a question): one required
45
+ * single-choice question with exactly an accept and a decline option. It is
46
+ * answered with two buttons; an "Other" free-text answer has no meaning for it,
47
+ * and the composer still accepts a different instruction.
48
+ */
49
+ export declare function binaryDecision(questions: readonly HumanInputQuestion[]): {
50
+ question: HumanInputQuestion;
51
+ accept: HumanInputQuestion["options"][number];
52
+ decline: HumanInputQuestion["options"][number];
53
+ } | null;
@@ -1,6 +1,7 @@
1
1
  import type { SessionHumanInputRequest, SubmitHumanInputResponseRequest } from "@opengeni/sdk";
2
- import { type HumanInputFormMessages } from "./human-input-form.js";
2
+ import { type HumanInputFormMessages, type HumanInputFormProps } from "./human-input-form.js";
3
3
  export type HumanInputSurfaceProps = {
4
+ loadSkillReview?: HumanInputFormProps["loadSkillReview"];
4
5
  requests: SessionHumanInputRequest[];
5
6
  onSubmit: (requestId: string, response: SubmitHumanInputResponseRequest) => void | Promise<void>;
6
7
  respondingRequestId?: string | null | undefined;
@@ -9,6 +10,10 @@ export type HumanInputSurfaceProps = {
9
10
  className?: string | undefined;
10
11
  /** Forwarded to the active form. Defaults true. */
11
12
  autoFocus?: boolean | undefined;
13
+ /** Forwarded to the active form: yes/no decisions as two buttons. */
14
+ decisionButtons?: boolean | undefined;
15
+ /** Forwarded to the active form: where secret answers may be saved. */
16
+ allowedSaveTo?: HumanInputFormProps["allowedSaveTo"];
12
17
  };
13
18
  /**
14
19
  * One decision shell for pending structured human-input requests. Parallel
@@ -16,4 +21,4 @@ export type HumanInputSurfaceProps = {
16
21
  * settles the active request and the next remaining set advances automatically
17
22
  * when the authoritative pending list updates.
18
23
  */
19
- export declare function HumanInputSurface({ requests, onSubmit, respondingRequestId, error, messages, className, autoFocus, }: HumanInputSurfaceProps): import("react").JSX.Element | null;
24
+ export declare function HumanInputSurface({ requests, onSubmit, loadSkillReview, respondingRequestId, error, messages, className, autoFocus, decisionButtons, allowedSaveTo, }: HumanInputSurfaceProps): import("react").JSX.Element | null;
@@ -0,0 +1,18 @@
1
+ import { type ReactNode } from "react";
2
+ export declare const LINKIFIED_LINK_CLASS = "font-medium og-link [overflow-wrap:anywhere]";
3
+ type Segment = {
4
+ kind: "text";
5
+ value: string;
6
+ } | {
7
+ kind: "link";
8
+ value: string;
9
+ };
10
+ /** Split plain text into text and bare http(s) URL segments. */
11
+ export declare function linkifySegments(text: string): Segment[];
12
+ /**
13
+ * Render plain text with bare http(s) URLs as links that open in a new tab and
14
+ * wrap anywhere, so a long sign-in or approval URL stays clickable and inside
15
+ * its card. Non-string nodes pass through unchanged.
16
+ */
17
+ export declare function linkifyText(node: ReactNode): ReactNode;
18
+ export {};
@@ -1,12 +1,33 @@
1
+ import { type AgentTitleParts } from "../timeline/platform-activity-presentation.js";
1
2
  import type { MachineInputMember } from "../timeline/types.js";
2
3
  export declare const MACHINE_INPUT_META: Record<MachineInputMember["kind"], string>;
3
4
  /**
4
5
  * Collapsed landmark label for a coalesced machine-input batch.
5
6
  * Same-kind batches get a natural plural; mixed kinds stay short.
7
+ * When every agent update's sender has a known title, the label names them
8
+ * ("Update from Release audit", "3 updates from Audit and Flake · Wait ended").
6
9
  */
7
- export declare function machineInputBatchLabel(members: readonly MachineInputMember[]): string;
10
+ export declare function machineInputBatchLabel(members: readonly MachineInputMember[], titleFor?: ((sessionId: string) => string | null) | undefined): string;
8
11
  /** Strip protocol prefixes and worker/session UUIDs from display summaries. */
9
12
  export declare function cleanMachineInputSummary(summary: string): string;
10
13
  export declare function readableMachineInputSource(sourceId: string): string | null;
11
14
  /** True when a cleaned single-member summary adds meaning beyond the pill label. */
12
15
  export declare function machineInputSummaryIsUseful(kind: MachineInputMember["kind"], cleanedSummary: string): boolean;
16
+ /** Members sent by (or about) another agent session. */
17
+ export declare function isAgentMember(member: Pick<MachineInputMember, "kind">): boolean;
18
+ /** The agent session a member came from; only typed UUID sources route. */
19
+ export declare function agentMemberSessionId(member: Pick<MachineInputMember, "kind" | "sourceId">): string | null;
20
+ /**
21
+ * The row title for an agent member. A child result only means the agent went
22
+ * idle, so it reads "Result from …", never "finished".
23
+ */
24
+ export declare function agentMemberTitle(member: Pick<MachineInputMember, "kind" | "classification">, name: string | null): AgentTitleParts;
25
+ /**
26
+ * Human text for an agent member: the agent's own words where the summary
27
+ * carries them, without the model-facing "Worker <id> …" framing. `preview`
28
+ * is the most useful single passage; `body` is everything worth reading.
29
+ */
30
+ export declare function agentMemberText(member: Pick<MachineInputMember, "kind" | "summary">): {
31
+ preview: string;
32
+ body: string;
33
+ };
@@ -0,0 +1,6 @@
1
+ import type { StatusTone } from "./machine-status.js";
2
+ /** The leading glyph for an agent status line; color follows the shared tone. */
3
+ export declare function AgentStatusIcon({ tone, className }: {
4
+ tone: StatusTone;
5
+ className?: string;
6
+ }): import("react").JSX.Element;
@@ -13,7 +13,13 @@ export type MachineDetailProps = {
13
13
  onRemove?: ((machine: MachineView) => void) | undefined;
14
14
  onUpdateOperationPolicy?: ((machine: MachineView, request: UpdateMachineOperationPolicyRequest) => Promise<unknown>) | undefined;
15
15
  updatingOperationPolicy?: boolean | undefined;
16
+ /** Open "Who can use it?" for a connected machine. Omit when the viewer
17
+ * can't change it; the row then shows the current audience read-only. */
18
+ onChangeAudience?: ((machine: MachineView) => void) | undefined;
19
+ /** Start, retry or resend the signed agent update. Omit when the viewer can't. */
20
+ onUpdateAgent?: ((machine: MachineView) => void) | undefined;
21
+ updatingAgent?: boolean | undefined;
16
22
  now?: number | undefined;
17
23
  className?: string | undefined;
18
24
  };
19
- export declare function MachineDetail({ machine, series, window, onWindowChange, loadingSeries, onBack, onRemove, onUpdateOperationPolicy, updatingOperationPolicy, now, className, }: MachineDetailProps): import("react").JSX.Element;
25
+ export declare function MachineDetail({ machine, series, window, onWindowChange, loadingSeries, onBack, onRemove, onUpdateOperationPolicy, updatingOperationPolicy, onChangeAudience, onUpdateAgent, updatingAgent, now, className, }: MachineDetailProps): import("react").JSX.Element;
@@ -0,0 +1,48 @@
1
+ import type { MachineView } from "../../types/machines.js";
2
+ type Runtime = NonNullable<MachineView["runtime"]>;
3
+ type Authority = MachineView["connectionAuthority"];
4
+ /** `waiting` is neutral progress or a postponement; `attention` asks for a look. */
5
+ export type StatusTone = "ok" | "progress" | "waiting" | "attention" | "failed" | "muted";
6
+ export type AgentUpdateAction = "update" | "retry" | "resend";
7
+ export type AgentRuntimeStatus = {
8
+ /** "Agent v0.1.54" */
9
+ title: string;
10
+ /** One short line: "Up to date", "Updates to v0.1.55 when current work finishes", … */
11
+ status: string;
12
+ tone: StatusTone;
13
+ /** Extra explanation under the status (blocked reason, failure cause). */
14
+ note: string | null;
15
+ /** The one action that can help right now, before permission/online checks. */
16
+ action: {
17
+ kind: AgentUpdateAction;
18
+ label: string;
19
+ } | null;
20
+ };
21
+ /** An update request the agent has not confirmed after this long can be resent. */
22
+ export declare const UPDATE_CONFIRMATION_GRACE_MS = 30000;
23
+ /** A busy machine postpones an update instead of interrupting work. The agent
24
+ * reports this as a retryable `update_busy_*` result; it is not a failure. */
25
+ export declare function isPostponedUpdate(errorCode: string | null | undefined): boolean;
26
+ /**
27
+ * Describe the connected agent's build and update in plain words. A failed
28
+ * update whose target is already installed is moot and ignored; a postponed
29
+ * update reads as postponed, not failed.
30
+ */
31
+ export declare function describeAgentRuntime(runtime: Runtime, now: number): AgentRuntimeStatus;
32
+ /** A competing agent process retries at least every ten seconds while it runs,
33
+ * so a refusal older than this belongs to history, not to the present. */
34
+ export declare const RUNNER_CONFLICT_ACTIVE_MS: number;
35
+ export type RunnerConflict = {
36
+ /** A second agent process on the machine is being kept out right now. */
37
+ active: boolean;
38
+ count: number;
39
+ lastAt: string | null;
40
+ };
41
+ export declare function runnerConflict(authority: Authority, now: number): RunnerConflict | null;
42
+ /** Plain words for the live connection: "Connected", "Reconnected 3 times". */
43
+ export declare function describeAgentConnection(authority: Authority): {
44
+ label: string;
45
+ detail: string | null;
46
+ };
47
+ export declare const STATUS_TONE_TEXT: Record<StatusTone, string>;
48
+ export {};
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Wide chat tables may extend past the prose column, but only to a readable
3
+ * line length. Beyond it, cells wrap instead of forcing horizontal scrolling.
4
+ */
5
+ export declare const MARKDOWN_TABLE_MAX_WIDTH_REM = 64;
6
+ export declare function markdownTableWidth({ columnLeft, columnWidth, contentLeft, contentRight, maxWidth, preferredWidth, }: {
7
+ columnLeft: number;
8
+ columnWidth: number;
9
+ contentLeft: number;
10
+ contentRight: number;
11
+ maxWidth?: number;
12
+ preferredWidth: number;
13
+ }): number;
14
+ /** Loaded only for assistant tables. Keep prose and nested scroll owners intact. */
15
+ export declare function observeMarkdownTableLayout(wrapper: HTMLDivElement, table: HTMLTableElement): {
16
+ measure: () => void;
17
+ disconnect: () => void;
18
+ } | undefined;