@opengeni/react 3.1.0 → 3.1.2

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
@@ -0,0 +1,55 @@
1
+ import type { SessionEvent, SessionStatus } from "@opengeni/sdk";
2
+ /**
3
+ * Finite same-turn provider recovery, projected for people. Presentation only:
4
+ * the worker owns retry authority, pacing and the recovery budget. The worker
5
+ * (`apps/worker/src/activities/agent-turn/provider-recovery-copy.ts`) writes
6
+ * the same exhausted sentence into `turn.failed.error`; keep the two in step.
7
+ */
8
+ export type ProviderRecoveryCondition = "overloaded" | "unavailable" | "unresponsive" | "rate_limited";
9
+ export type ProviderRecoveryFacts = {
10
+ /** Recorded worker failure code (`provider_unavailable`, `mcp_transport_timeout`, ...). */
11
+ code: string;
12
+ condition: ProviderRecoveryCondition | null;
13
+ /** Display label of the affected model, when the route was recorded. */
14
+ modelLabel: string | null;
15
+ /** Display label of the serving provider, when the route was recorded. */
16
+ providerLabel: string | null;
17
+ /** Automatic retries scheduled (live) or spent (exhausted). */
18
+ attempt: number | null;
19
+ /** Finite automatic retry budget. */
20
+ maxAttempts: number | null;
21
+ /** True when the model route itself is affected, so another model may help. */
22
+ modelRoute: boolean;
23
+ /** True while the turn waits for its sandbox to be saved and replaced. It
24
+ * has no retry budget: it resumes as soon as the successor box is ready. */
25
+ sandboxWait?: boolean;
26
+ /** Recorded lifecycle fence of a sandbox wait (`capture_in_progress`,
27
+ * `rotation_in_progress`, `provider_recovery_in_progress`), when known. */
28
+ sandboxTransition?: string | null;
29
+ };
30
+ /**
31
+ * Read a retryable `turn.recovery.requested` payload or an exhausted
32
+ * `turn.failed` payload. Returns null for every other recovery reason (human
33
+ * Retry, worker shutdown, credential rotation, capacity waits, ...).
34
+ */
35
+ export declare function parseProviderRecovery(payload: unknown): ProviderRecoveryFacts | null;
36
+ /** One present-tense clause naming what is unavailable, without a trailing period. */
37
+ export declare function providerRecoverySubject(facts: ProviderRecoveryFacts): string;
38
+ /** Live status while the same turn waits for its next automatic retry. */
39
+ export declare function providerRecoveryRetryingText(facts: ProviderRecoveryFacts): string;
40
+ /** Terminal sentence once the automatic budget is spent. */
41
+ export declare function providerRecoveryExhaustedText(facts: ProviderRecoveryFacts): string;
42
+ /**
43
+ * The active turn's current automatic provider retry, or null. Only a
44
+ * `recovering`, unpaused session qualifies, and only the newest boundary of its
45
+ * exact active turn counts, so merged or replayed pages never borrow another
46
+ * turn's diagnosis.
47
+ */
48
+ export declare function currentProviderRecovery(session: {
49
+ id: string;
50
+ status: SessionStatus | null | undefined;
51
+ activeTurnId: string | null | undefined;
52
+ effectiveControl?: {
53
+ state: string;
54
+ } | null | undefined;
55
+ }, events: readonly SessionEvent[]): ProviderRecoveryFacts | null;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Where a platform draws classic, always-visible scrollbars (Windows, and Linux
3
+ * or macOS when set to always show them), Chromium paints arrow buttons on the
4
+ * thin, colored scrollbars the stylesheet asks for with `scrollbar-width` and
5
+ * `scrollbar-color`. This marks such documents with
6
+ * `data-og-scrollbars="classic"` on <html> so the stylesheet can use a slim
7
+ * rounded thumb there instead. Overlay-scrollbar platforms keep their native
8
+ * scrollbars.
9
+ */
10
+ export declare const CLASSIC_SCROLLBARS_ATTRIBUTE = "data-og-scrollbars";
11
+ export declare function markClassicScrollbars(doc?: Document | undefined): void;
@@ -0,0 +1,11 @@
1
+ /** Negotiated by the stock ttyd launcher, never inferred from ordinary output.
2
+ * The Bash Readline adapter emits this OSC only at its first input boundary.
3
+ * It is metadata (ignored by older xterm clients), not a prompt string. */
4
+ export declare const TERMINAL_INPUT_READY_PREFERENCE = "opengeniInputReady";
5
+ export declare const TERMINAL_INPUT_READY_PROTOCOL = "bash-readline-v1";
6
+ /** One decoder per WebSocket/PTY generation. Retains at most a partial marker,
7
+ * rather than buffering terminal output while the shell initializes. */
8
+ export declare function terminalInputReadyDecoder(): (data: string) => {
9
+ output: string;
10
+ ready: boolean;
11
+ };
@@ -0,0 +1,25 @@
1
+ /** Backoff between attempts: about ten seconds in all before anything is shown. */
2
+ export declare const TRANSIENT_RETRY_DELAYS_MS: readonly number[];
3
+ /** After the quiet retries give up, try once at this pace until Opengeni answers. */
4
+ export declare const TRANSIENT_RECONNECT_INTERVAL_MS = 3000;
5
+ /** The one line shown while Opengeni is briefly unreachable. */
6
+ export declare const OPENGENI_UPDATING_NOTICE = "Opengeni is updating. We'll reconnect automatically.";
7
+ /**
8
+ * True for a failure that says the service is briefly unreachable, not that
9
+ * the request was wrong: a gateway or availability status, a 500 the API marks
10
+ * retryable, or a request that never got a response.
11
+ */
12
+ export declare function isTransientServiceFailure(error: unknown): boolean;
13
+ export type RetryTransientOptions = {
14
+ /** Stop waiting (and rethrow the last failure) once this returns false. */
15
+ shouldContinue?: () => boolean;
16
+ signal?: AbortSignal;
17
+ delaysMs?: readonly number[];
18
+ sleep?: (ms: number, signal?: AbortSignal) => Promise<void>;
19
+ };
20
+ /**
21
+ * Run a read, retrying only transient service failures with backoff. Never use
22
+ * this for a request whose repeat could apply twice: it is for reads and for
23
+ * writes that are idempotent by construction.
24
+ */
25
+ export declare function retryTransient<T>(operation: () => Promise<T>, options?: RetryTransientOptions): Promise<T>;
@@ -0,0 +1,36 @@
1
+ import type { DesktopRfbFactory } from "@opengeni/sdk";
2
+ /** Host-owned imports keep optional peers outside the root's bundler graph. */
3
+ export type WorkbenchPeerLoader<T = unknown> = () => Promise<T>;
4
+ export type CodeEditorLanguage = "javascript" | "json" | "python" | "markdown" | "css" | "html";
5
+ export type CodeEditorLanguages = Partial<Record<CodeEditorLanguage, WorkbenchPeerLoader>>;
6
+ export type CodeEditorPeers = {
7
+ module: unknown;
8
+ languages?: CodeEditorLanguages | undefined;
9
+ };
10
+ export type SandboxTerminalPeers = {
11
+ Terminal: unknown;
12
+ FitAddon: unknown;
13
+ WebLinksAddon: unknown;
14
+ loadWebgl?: WorkbenchPeerLoader | undefined;
15
+ };
16
+ export declare const sandboxTerminalPeers: {
17
+ register(next: WorkbenchPeerLoader<SandboxTerminalPeers> | null): void;
18
+ revision: () => number;
19
+ subscribe(listener: () => void): () => void;
20
+ load(): Promise<SandboxTerminalPeers>;
21
+ };
22
+ export declare const codeEditorPeers: {
23
+ register(next: WorkbenchPeerLoader<CodeEditorPeers> | null): void;
24
+ revision: () => number;
25
+ subscribe(listener: () => void): () => void;
26
+ load(): Promise<CodeEditorPeers>;
27
+ };
28
+ export declare const desktopViewerPeers: {
29
+ register(next: WorkbenchPeerLoader<DesktopRfbFactory> | null): void;
30
+ revision: () => number;
31
+ subscribe(listener: () => void): () => void;
32
+ load(): Promise<DesktopRfbFactory>;
33
+ };
34
+ export declare const registerSandboxTerminal: (next: WorkbenchPeerLoader<SandboxTerminalPeers> | null) => void;
35
+ export declare const registerCodeEditor: (next: WorkbenchPeerLoader<CodeEditorPeers> | null) => void;
36
+ export declare const registerDesktopViewer: (next: WorkbenchPeerLoader<DesktopRfbFactory> | null) => void;
@@ -6,11 +6,13 @@ export type TokenReader = (name: string) => string | undefined;
6
6
  * The 16 ANSI colors + selection/cursor treatment, designed against the og
7
7
  * OKLCH palette. Hues are borrowed from the og status ramp so terminal color
8
8
  * reads as part of the same system: red≈status-failed(22), green≈status-idle
9
- * (155), yellow≈status-running(80), blue≈accent(255), magenta≈status-waiting
10
- * (305), cyan≈200. Dark uses lifted lightness on the dark slate ground; light
11
- * uses deeper, more saturated inks on the near-white ground. Bright variants
12
- * add lightness + a touch of chroma. `black`/`white` are neutral slate ramp
13
- * stops (never pure #000/#fff — that clashes with the calm neutral ground).
9
+ * (155), yellow≈status-running(80), magenta(305), cyan≈200. The ANSI blue and
10
+ * magenta slots stay chromatic because program output means them; the app
11
+ * chrome around the terminal is neutral. Dark uses lifted lightness on the
12
+ * dark neutral ground; light uses deeper, more saturated inks on the
13
+ * near-white ground. Bright variants add lightness + a touch of chroma.
14
+ * `black`/`white` and the selection are neutral grey ramp stops (never pure
15
+ * #000/#fff — that clashes with the calm neutral ground).
14
16
  */
15
17
  export type AnsiPalette = {
16
18
  black: string;
package/dist/machines.js CHANGED
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import {
2
3
  CONNECTION_STATUS_META,
3
4
  ConnectionDot,
@@ -28,11 +29,14 @@ import {
28
29
  healthPulses,
29
30
  pointsFor,
30
31
  useMachines
31
- } from "./chunk-XXWH2JLC.js";
32
- import "./chunk-KZ73RL76.js";
33
- import "./chunk-NEXLLTP4.js";
34
- import "./chunk-LAKLF4PA.js";
35
- import "./chunk-22KP6LR5.js";
32
+ } from "./chunk-NKMYZFHA.js";
33
+ import "./chunk-CSX5FFKZ.js";
34
+ import "./chunk-R5SBNG7S.js";
35
+ import "./chunk-QHUE7E4N.js";
36
+ import "./chunk-CM7LVUKC.js";
37
+ import "./chunk-G76LSA76.js";
38
+ import "./chunk-BLL56F7R.js";
39
+ import "./chunk-TXS65BB2.js";
36
40
  export {
37
41
  CONNECTION_STATUS_META,
38
42
  ConnectionDot,
@@ -0,0 +1,113 @@
1
+ "use client";
2
+
3
+ // src/components/markdown-table-layout.ts
4
+ var MARKDOWN_TABLE_MAX_WIDTH_REM = 64;
5
+ function markdownTableWidth({
6
+ columnLeft,
7
+ columnWidth,
8
+ contentLeft,
9
+ contentRight,
10
+ maxWidth = Number.POSITIVE_INFINITY,
11
+ preferredWidth
12
+ }) {
13
+ const center = columnLeft + columnWidth / 2;
14
+ const available = 2 * Math.min(center - contentLeft, contentRight - center);
15
+ return Math.max(columnWidth, Math.min(preferredWidth, available, maxWidth));
16
+ }
17
+ function measurementCopy(source, document) {
18
+ if (source.nodeType === Node.ELEMENT_NODE) {
19
+ const element = source;
20
+ if (element.localName.includes("-") || ["iframe", "object", "embed", "video", "audio", "canvas", "script"].includes(
21
+ element.localName
22
+ )) {
23
+ const bounds = element.getBoundingClientRect();
24
+ const placeholder = document.createElement("span");
25
+ placeholder.style.display = "inline-block";
26
+ placeholder.style.width = `${bounds.width}px`;
27
+ placeholder.style.height = `${bounds.height}px`;
28
+ return placeholder;
29
+ }
30
+ }
31
+ const copy = document.importNode(source, false);
32
+ if (copy.nodeType === Node.ELEMENT_NODE) {
33
+ const element = copy;
34
+ element.removeAttribute("id");
35
+ for (const attribute of [...element.attributes]) {
36
+ if (attribute.name.startsWith("on")) element.removeAttribute(attribute.name);
37
+ }
38
+ }
39
+ for (const child of source.childNodes) copy.appendChild(measurementCopy(child, document));
40
+ return copy;
41
+ }
42
+ function observeMarkdownTableLayout(wrapper, table) {
43
+ const body = wrapper.parentElement;
44
+ const scroller = body?.closest("[data-og-wide-table-message]")?.closest("[data-og-timeline-scroller]");
45
+ if (!body?.classList.contains("og-markdown-body") || !scroller) return;
46
+ const measurementDocument = table.ownerDocument.implementation.createHTMLDocument("");
47
+ let width = null;
48
+ const reset = () => {
49
+ width = null;
50
+ wrapper.style.width = "";
51
+ wrapper.style.maxWidth = "";
52
+ wrapper.style.marginInline = "";
53
+ };
54
+ const measure = () => {
55
+ for (let ancestor = body; ancestor && ancestor !== scroller; ancestor = ancestor.parentElement) {
56
+ if (getComputedStyle(ancestor).overflowX !== "visible") {
57
+ reset();
58
+ return;
59
+ }
60
+ }
61
+ const column = body.getBoundingClientRect();
62
+ const panel = scroller.getBoundingClientRect();
63
+ const panelStyle = getComputedStyle(scroller);
64
+ const left = panel.left + scroller.clientLeft + parseFloat(panelStyle.paddingLeft);
65
+ const right = panel.left + scroller.clientLeft + scroller.clientWidth - parseFloat(panelStyle.paddingRight);
66
+ const probe = table.ownerDocument.createElement("div");
67
+ probe.setAttribute("aria-hidden", "true");
68
+ probe.inert = true;
69
+ probe.style.cssText = "position:absolute;width:0;height:0;overflow:hidden;contain:layout size paint;visibility:hidden;pointer-events:none";
70
+ const copy = measurementCopy(table, measurementDocument);
71
+ copy.style.width = "max-content";
72
+ probe.append(copy);
73
+ let preferred;
74
+ try {
75
+ table.parentElement.append(probe);
76
+ preferred = copy.getBoundingClientRect().width;
77
+ } finally {
78
+ probe.remove();
79
+ }
80
+ const rootFontSize = parseFloat(getComputedStyle(table.ownerDocument.documentElement).fontSize) || 16;
81
+ const next = markdownTableWidth({
82
+ columnLeft: column.left,
83
+ columnWidth: column.width,
84
+ contentLeft: left,
85
+ contentRight: right,
86
+ maxWidth: MARKDOWN_TABLE_MAX_WIDTH_REM * rootFontSize,
87
+ preferredWidth: preferred
88
+ });
89
+ if (width !== null && Math.abs(width - next) < 0.5) return;
90
+ width = next;
91
+ wrapper.style.width = `${width}px`;
92
+ wrapper.style.maxWidth = "none";
93
+ wrapper.style.marginInline = `calc((100% - ${width}px) / 2)`;
94
+ };
95
+ measure();
96
+ const observer = typeof ResizeObserver === "undefined" ? void 0 : new ResizeObserver(measure);
97
+ observer?.observe(scroller);
98
+ observer?.observe(body);
99
+ observer?.observe(table);
100
+ return {
101
+ measure,
102
+ disconnect: () => {
103
+ observer?.disconnect();
104
+ reset();
105
+ }
106
+ };
107
+ }
108
+ export {
109
+ MARKDOWN_TABLE_MAX_WIDTH_REM,
110
+ markdownTableWidth,
111
+ observeMarkdownTableLayout
112
+ };
113
+ //# sourceMappingURL=markdown-table-layout-3PV2UAAH.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/markdown-table-layout.ts"],"sourcesContent":["/**\n * Wide chat tables may extend past the prose column, but only to a readable\n * line length. Beyond it, cells wrap instead of forcing horizontal scrolling.\n */\nexport const MARKDOWN_TABLE_MAX_WIDTH_REM = 64;\n\nexport function markdownTableWidth({\n columnLeft,\n columnWidth,\n contentLeft,\n contentRight,\n maxWidth = Number.POSITIVE_INFINITY,\n preferredWidth,\n}: {\n columnLeft: number;\n columnWidth: number;\n contentLeft: number;\n contentRight: number;\n maxWidth?: number;\n preferredWidth: number;\n}): number {\n const center = columnLeft + columnWidth / 2;\n const available = 2 * Math.min(center - contentLeft, contentRight - center);\n return Math.max(columnWidth, Math.min(preferredWidth, available, maxWidth));\n}\n\nfunction measurementCopy(source: Node, document: Document): Node {\n if (source.nodeType === Node.ELEMENT_NODE) {\n const element = source as Element;\n // Inert prevents focus, not custom-element construction, media loading or\n // embedded browsing contexts. Do not clone those host-rendered surfaces.\n if (\n element.localName.includes(\"-\") ||\n [\"iframe\", \"object\", \"embed\", \"video\", \"audio\", \"canvas\", \"script\"].includes(\n element.localName,\n )\n ) {\n const bounds = element.getBoundingClientRect();\n const placeholder = document.createElement(\"span\");\n placeholder.style.display = \"inline-block\";\n placeholder.style.width = `${bounds.width}px`;\n placeholder.style.height = `${bounds.height}px`;\n return placeholder;\n }\n }\n const copy = document.importNode(source, false);\n if (copy.nodeType === Node.ELEMENT_NODE) {\n const element = copy as Element;\n element.removeAttribute(\"id\");\n for (const attribute of [...element.attributes]) {\n if (attribute.name.startsWith(\"on\")) element.removeAttribute(attribute.name);\n }\n }\n for (const child of source.childNodes) copy.appendChild(measurementCopy(child, document));\n return copy;\n}\n\n/** Loaded only for assistant tables. Keep prose and nested scroll owners intact. */\nexport function observeMarkdownTableLayout(wrapper: HTMLDivElement, table: HTMLTableElement) {\n const body = wrapper.parentElement;\n const scroller = body\n ?.closest(\"[data-og-wide-table-message]\")\n ?.closest<HTMLElement>(\"[data-og-timeline-scroller]\");\n if (!body?.classList.contains(\"og-markdown-body\") || !scroller) return;\n\n // Build the static copy without a browsing context before inserting its probe.\n const measurementDocument = table.ownerDocument.implementation.createHTMLDocument(\"\");\n let width: number | null = null;\n const reset = () => {\n width = null;\n wrapper.style.width = \"\";\n wrapper.style.maxWidth = \"\";\n wrapper.style.marginInline = \"\";\n };\n const measure = () => {\n // Intermediate clipped/scrollable surfaces own their own content bounds.\n for (\n let ancestor: HTMLElement | null = body;\n ancestor && ancestor !== scroller;\n ancestor = ancestor.parentElement\n ) {\n if (getComputedStyle(ancestor).overflowX !== \"visible\") {\n reset();\n return;\n }\n }\n const column = body.getBoundingClientRect();\n const panel = scroller.getBoundingClientRect();\n const panelStyle = getComputedStyle(scroller);\n const left = panel.left + scroller.clientLeft + parseFloat(panelStyle.paddingLeft);\n const right =\n panel.left + scroller.clientLeft + scroller.clientWidth - parseFloat(panelStyle.paddingRight);\n\n // Even a temporary max-content width on the live table changes its height\n // during forced layout. Browser scroll anchoring can retain that displacement\n // after the width is restored. Measure a copy without touching live geometry.\n const probe = table.ownerDocument.createElement(\"div\");\n probe.setAttribute(\"aria-hidden\", \"true\");\n probe.inert = true;\n // A zero-sized, contained box cannot extend the scroller's overflow area,\n // including inside transformed ancestors. Keep the same inherited styling.\n probe.style.cssText =\n \"position:absolute;width:0;height:0;overflow:hidden;contain:layout size paint;visibility:hidden;pointer-events:none\";\n const copy = measurementCopy(table, measurementDocument) as HTMLTableElement;\n copy.style.width = \"max-content\";\n probe.append(copy);\n let preferred: number;\n try {\n table.parentElement!.append(probe);\n preferred = copy.getBoundingClientRect().width;\n } finally {\n probe.remove();\n }\n const rootFontSize =\n parseFloat(getComputedStyle(table.ownerDocument.documentElement).fontSize) || 16;\n const next = markdownTableWidth({\n columnLeft: column.left,\n columnWidth: column.width,\n contentLeft: left,\n contentRight: right,\n maxWidth: MARKDOWN_TABLE_MAX_WIDTH_REM * rootFontSize,\n preferredWidth: preferred,\n });\n if (width !== null && Math.abs(width - next) < 0.5) return;\n width = next;\n wrapper.style.width = `${width}px`;\n wrapper.style.maxWidth = \"none\";\n wrapper.style.marginInline = `calc((100% - ${width}px) / 2)`;\n };\n\n measure();\n const observer = typeof ResizeObserver === \"undefined\" ? undefined : new ResizeObserver(measure);\n observer?.observe(scroller);\n observer?.observe(body);\n observer?.observe(table);\n return {\n measure,\n disconnect: () => {\n observer?.disconnect();\n reset();\n },\n };\n}\n"],"mappings":";;;AAIO,IAAM,+BAA+B;AAErC,SAAS,mBAAmB;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW,OAAO;AAAA,EAClB;AACF,GAOW;AACT,QAAM,SAAS,aAAa,cAAc;AAC1C,QAAM,YAAY,IAAI,KAAK,IAAI,SAAS,aAAa,eAAe,MAAM;AAC1E,SAAO,KAAK,IAAI,aAAa,KAAK,IAAI,gBAAgB,WAAW,QAAQ,CAAC;AAC5E;AAEA,SAAS,gBAAgB,QAAc,UAA0B;AAC/D,MAAI,OAAO,aAAa,KAAK,cAAc;AACzC,UAAM,UAAU;AAGhB,QACE,QAAQ,UAAU,SAAS,GAAG,KAC9B,CAAC,UAAU,UAAU,SAAS,SAAS,SAAS,UAAU,QAAQ,EAAE;AAAA,MAClE,QAAQ;AAAA,IACV,GACA;AACA,YAAM,SAAS,QAAQ,sBAAsB;AAC7C,YAAM,cAAc,SAAS,cAAc,MAAM;AACjD,kBAAY,MAAM,UAAU;AAC5B,kBAAY,MAAM,QAAQ,GAAG,OAAO,KAAK;AACzC,kBAAY,MAAM,SAAS,GAAG,OAAO,MAAM;AAC3C,aAAO;AAAA,IACT;AAAA,EACF;AACA,QAAM,OAAO,SAAS,WAAW,QAAQ,KAAK;AAC9C,MAAI,KAAK,aAAa,KAAK,cAAc;AACvC,UAAM,UAAU;AAChB,YAAQ,gBAAgB,IAAI;AAC5B,eAAW,aAAa,CAAC,GAAG,QAAQ,UAAU,GAAG;AAC/C,UAAI,UAAU,KAAK,WAAW,IAAI,EAAG,SAAQ,gBAAgB,UAAU,IAAI;AAAA,IAC7E;AAAA,EACF;AACA,aAAW,SAAS,OAAO,WAAY,MAAK,YAAY,gBAAgB,OAAO,QAAQ,CAAC;AACxF,SAAO;AACT;AAGO,SAAS,2BAA2B,SAAyB,OAAyB;AAC3F,QAAM,OAAO,QAAQ;AACrB,QAAM,WAAW,MACb,QAAQ,8BAA8B,GACtC,QAAqB,6BAA6B;AACtD,MAAI,CAAC,MAAM,UAAU,SAAS,kBAAkB,KAAK,CAAC,SAAU;AAGhE,QAAM,sBAAsB,MAAM,cAAc,eAAe,mBAAmB,EAAE;AACpF,MAAI,QAAuB;AAC3B,QAAM,QAAQ,MAAM;AAClB,YAAQ;AACR,YAAQ,MAAM,QAAQ;AACtB,YAAQ,MAAM,WAAW;AACzB,YAAQ,MAAM,eAAe;AAAA,EAC/B;AACA,QAAM,UAAU,MAAM;AAEpB,aACM,WAA+B,MACnC,YAAY,aAAa,UACzB,WAAW,SAAS,eACpB;AACA,UAAI,iBAAiB,QAAQ,EAAE,cAAc,WAAW;AACtD,cAAM;AACN;AAAA,MACF;AAAA,IACF;AACA,UAAM,SAAS,KAAK,sBAAsB;AAC1C,UAAM,QAAQ,SAAS,sBAAsB;AAC7C,UAAM,aAAa,iBAAiB,QAAQ;AAC5C,UAAM,OAAO,MAAM,OAAO,SAAS,aAAa,WAAW,WAAW,WAAW;AACjF,UAAM,QACJ,MAAM,OAAO,SAAS,aAAa,SAAS,cAAc,WAAW,WAAW,YAAY;AAK9F,UAAM,QAAQ,MAAM,cAAc,cAAc,KAAK;AACrD,UAAM,aAAa,eAAe,MAAM;AACxC,UAAM,QAAQ;AAGd,UAAM,MAAM,UACV;AACF,UAAM,OAAO,gBAAgB,OAAO,mBAAmB;AACvD,SAAK,MAAM,QAAQ;AACnB,UAAM,OAAO,IAAI;AACjB,QAAI;AACJ,QAAI;AACF,YAAM,cAAe,OAAO,KAAK;AACjC,kBAAY,KAAK,sBAAsB,EAAE;AAAA,IAC3C,UAAE;AACA,YAAM,OAAO;AAAA,IACf;AACA,UAAM,eACJ,WAAW,iBAAiB,MAAM,cAAc,eAAe,EAAE,QAAQ,KAAK;AAChF,UAAM,OAAO,mBAAmB;AAAA,MAC9B,YAAY,OAAO;AAAA,MACnB,aAAa,OAAO;AAAA,MACpB,aAAa;AAAA,MACb,cAAc;AAAA,MACd,UAAU,+BAA+B;AAAA,MACzC,gBAAgB;AAAA,IAClB,CAAC;AACD,QAAI,UAAU,QAAQ,KAAK,IAAI,QAAQ,IAAI,IAAI,IAAK;AACpD,YAAQ;AACR,YAAQ,MAAM,QAAQ,GAAG,KAAK;AAC9B,YAAQ,MAAM,WAAW;AACzB,YAAQ,MAAM,eAAe,gBAAgB,KAAK;AAAA,EACpD;AAEA,UAAQ;AACR,QAAM,WAAW,OAAO,mBAAmB,cAAc,SAAY,IAAI,eAAe,OAAO;AAC/F,YAAU,QAAQ,QAAQ;AAC1B,YAAU,QAAQ,IAAI;AACtB,YAAU,QAAQ,KAAK;AACvB,SAAO;AAAA,IACL;AAAA,IACA,YAAY,MAAM;AAChB,gBAAU,WAAW;AACrB,YAAM;AAAA,IACR;AAAA,EACF;AACF;","names":[]}
@@ -0,0 +1,14 @@
1
+ import type { CapabilityCatalogItem, ConnectionMetadata } from "@opengeni/sdk";
2
+ /** Status only; runtime use is authorized for the authenticated initiating user. */
3
+ export declare function matchingActiveMcpConnections(item: CapabilityCatalogItem, connections: ConnectionMetadata[]): ConnectionMetadata[];
4
+ /** Installation availability is not account readiness. Revoked history is not actionable. */
5
+ export declare function mcpConnectionDiscoveryState(item: CapabilityCatalogItem, connections: ConnectionMetadata[]): {
6
+ readonly status: "added";
7
+ readonly label: "Connected";
8
+ } | {
9
+ readonly status: "attention";
10
+ readonly label: "Review connection";
11
+ } | {
12
+ readonly status: "available";
13
+ readonly label: "Connect";
14
+ };
@@ -0,0 +1,34 @@
1
+ import { type ModelDisplayInput, type ModelVendor } from "@opengeni/sdk/model-display";
2
+ /** ChatGPT / OpenAI mark (Simple Icons, CC0). */
3
+ export declare const CHATGPT_MARK_PATH = "M22.2819 9.8211a5.9847 5.9847 0 0 0-.5157-4.9108 6.0462 6.0462 0 0 0-6.5098-2.9A6.0651 6.0651 0 0 0 4.9807 4.1818a5.9847 5.9847 0 0 0-3.9977 2.9 6.0462 6.0462 0 0 0 .7427 7.0966 5.98 5.98 0 0 0 .511 4.9107 6.051 6.051 0 0 0 6.5146 2.9001A5.9847 5.9847 0 0 0 13.2599 24a6.0557 6.0557 0 0 0 5.7718-4.2058 5.9894 5.9894 0 0 0 3.9977-2.9001 6.0557 6.0557 0 0 0-.7475-7.0729zm-9.022 12.6081a4.4755 4.4755 0 0 1-2.8764-1.0408l.1419-.0804 4.7783-2.7582a.7948.7948 0 0 0 .3927-.6813v-6.7369l2.02 1.1686a.071.071 0 0 1 .038.052v5.5826a4.504 4.504 0 0 1-4.4945 4.4944zm-9.6607-4.1254a4.4708 4.4708 0 0 1-.5346-3.0137l.142.0852 4.783 2.7582a.7712.7712 0 0 0 .7806 0l5.8428-3.3685v2.3324a.0804.0804 0 0 1-.0332.0615L9.74 19.9502a4.4992 4.4992 0 0 1-6.1408-1.6464zM2.3408 7.8956a4.485 4.485 0 0 1 2.3653-1.9728V11.6a.7664.7664 0 0 0 .3879.6765l5.8414 3.3698-2.02 1.1685a.0757.0757 0 0 1-.071 0l-4.8303-2.7865A4.504 4.504 0 0 1 2.3408 7.872zm16.5963 3.8558L13.1038 8.364 15.1192 7.2a.0757.0757 0 0 1 .071 0l4.8303 2.7913a4.4944 4.4944 0 0 1-.6765 8.1042v-5.6772a.79.79 0 0 0-.407-.667zm2.0107-3.0231l-.142-.0852-4.783-2.7622a.7759.7759 0 0 0-.7854 0L9.409 9.2297V6.8974a.0662.0662 0 0 1 .0284-.0615l4.8303-2.7866a4.4992 4.4992 0 0 1 6.6802 4.66zM8.3065 12.863l-2.02-1.1638a.0804.0804 0 0 1-.038-.0567V6.0742a4.4992 4.4992 0 0 1 7.3757-3.4537l-.142.0805L8.704 5.459a.7948.7948 0 0 0-.3927.6813zm1.0976-2.3654l2.602-1.4998 2.6069 1.4998v2.9994l-2.5974 1.4997-2.6067-1.4997Z";
4
+ /** Claude mark (Simple Icons, CC0; https://github.com/simple-icons/simple-icons). */
5
+ export declare const CLAUDE_MARK_PATH = "m4.7144 15.9555 4.7174-2.6471.079-.2307-.079-.1275h-.2307l-.7893-.0486-2.6956-.0729-2.3375-.0971-2.2646-.1214-.5707-.1215-.5343-.7042.0546-.3522.4797-.3218.686.0608 1.5179.1032 2.2767.1578 1.6514.0972 2.4468.255h.3886l.0546-.1579-.1336-.0971-.1032-.0972L6.973 9.8356l-2.55-1.6879-1.3356-.9714-.7225-.4918-.3643-.4614-.1578-1.0078.6557-.7225.8803.0607.2246.0607.8925.686 1.9064 1.4754 2.4893 1.8336.3643.3035.1457-.1032.0182-.0728-.164-.2733-1.3539-2.4467-1.445-2.4893-.6435-1.032-.17-.6194c-.0607-.255-.1032-.4674-.1032-.7285L6.287.1335 6.6997 0l.9957.1336.419.3642.6192 1.4147 1.0018 2.2282 1.5543 3.0296.4553.8985.2429.8318.091.255h.1579v-.1457l.1275-1.706.2368-2.0947.2307-2.6957.0789-.7589.3764-.9107.7468-.4918.5828.2793.4797.686-.0668.4433-.2853 1.8517-.5586 2.9021-.3643 1.9429h.2125l.2429-.2429.9835-1.3053 1.6514-2.0643.7286-.8196.85-.9046.5464-.4311h1.0321l.759 1.1293-.34 1.1657-1.0625 1.3478-.8804 1.1414-1.2628 1.7-.7893 1.36.0729.1093.1882-.0183 2.8535-.607 1.5421-.2794 1.8396-.3157.8318.3886.091.3946-.3278.8075-1.967.4857-2.3072.4614-3.4364.8136-.0425.0304.0486.0607 1.5482.1457.6618.0364h1.621l3.0175.2247.7892.522.4736.6376-.079.4857-1.2142.6193-1.6393-.3886-3.825-.9107-1.3113-.3279h-.1822v.1093l1.0929 1.0686 2.0035 1.8092 2.5075 2.3314.1275.5768-.3218.4554-.34-.0486-2.2039-1.6575-.85-.7468-1.9246-1.621h-.1275v.17l.4432.6496 2.3436 3.5214.1214 1.0807-.17.3521-.6071.2125-.6679-.1214-1.3721-1.9246L14.38 17.959l-1.1414-1.9428-.1397.079-.674 7.2552-.3156.3703-.7286.2793-.6071-.4614-.3218-.7468.3218-1.4753.3886-1.9246.3157-1.53.2853-1.9004.17-.6314-.0121-.0425-.1397.0182-1.4328 1.9672-2.1796 2.9446-1.7243 1.8456-.4128.164-.7164-.3704.0667-.6618.4008-.5889 2.386-3.0357 1.4389-1.882.929-1.0868-.0062-.1579h-.0546l-6.3385 4.1164-1.1293.1457-.4857-.4554.0608-.7467.2307-.2429 1.9064-1.3114Z";
6
+ /**
7
+ * MIT License
8
+ *
9
+ * Copyright (c) 2023 LobeHub
10
+ *
11
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
12
+ * of this software and associated documentation files (the "Software"), to deal
13
+ * in the Software without restriction, including without limitation the rights
14
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
15
+ * copies of the Software, and to permit persons to whom the Software is
16
+ * furnished to do so, subject to the following conditions:
17
+ *
18
+ * The above copyright notice and this permission notice shall be included in all
19
+ * copies or substantial portions of the Software.
20
+ *
21
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
22
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
24
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
25
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
26
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
27
+ * SOFTWARE.
28
+ * Source: https://raw.githubusercontent.com/lobehub/lobe-icons/master/src/Grok/components/Mono.tsx
29
+ */
30
+ export declare const GROK_MARK_PATH = "M9.27 15.29l7.978-5.897c.391-.29.95-.177 1.137.272.98 2.369.542 5.215-1.41 7.169-1.951 1.954-4.667 2.382-7.149 1.406l-2.711 1.257c3.889 2.661 8.611 2.003 11.562-.953 2.341-2.344 3.066-5.539 2.388-8.42l.006.007c-.983-4.232.242-5.924 2.75-9.383.06-.082.12-.164.179-.248l-3.301 3.305v-.01L9.267 15.292M7.623 16.723c-2.792-2.67-2.31-6.801.071-9.184 1.761-1.763 4.647-2.483 7.166-1.425l2.705-1.25a7.808 7.808 0 00-1.829-1A8.975 8.975 0 005.984 5.83c-2.533 2.536-3.33 6.436-1.962 9.764 1.022 2.487-.653 4.246-2.34 6.022-.599.63-1.199 1.259-1.682 1.925l7.62-6.815";
31
+ export type MarkedModelVendor = Extract<ModelVendor, "openai" | "anthropic" | "xai">;
32
+ export declare const MODEL_MARK_PATHS: Record<MarkedModelVendor, string>;
33
+ /** The maker whose logo marks this model, or null for the neutral fallback. */
34
+ export declare function modelMarkVendor(model: ModelDisplayInput): MarkedModelVendor | null;
@@ -0,0 +1,16 @@
1
+ "use client";
2
+ import {
3
+ CHATGPT_MARK_PATH,
4
+ CLAUDE_MARK_PATH,
5
+ GROK_MARK_PATH,
6
+ MODEL_MARK_PATHS,
7
+ modelMarkVendor
8
+ } from "./chunk-N7S72EXK.js";
9
+ export {
10
+ CHATGPT_MARK_PATH,
11
+ CLAUDE_MARK_PATH,
12
+ GROK_MARK_PATH,
13
+ MODEL_MARK_PATHS,
14
+ modelMarkVendor
15
+ };
16
+ //# sourceMappingURL=model-mark-paths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,111 @@
1
+ /**
2
+ * The model picker's presentation logic, free of any renderer: which rows show,
3
+ * how they group and filter, and which thinking/latency controls apply. The web
4
+ * menu and native sheets both render from this.
5
+ */
6
+ import type { ClientModel, LatencyMode, ReasoningEffort } from "@opengeni/sdk";
7
+ import { type PickerBillingClass, type PickerModelRow } from "./model-policy.js";
8
+ type ClientPickerModelRow = PickerModelRow<ClientModel>;
9
+ export type ModelPolicyPickerMessages = {
10
+ label: string;
11
+ loading: string;
12
+ noModels: string;
13
+ connectTitle: string;
14
+ connectBody: string;
15
+ connectAction: string;
16
+ thinking: string;
17
+ fast: string;
18
+ fastRateHint: string;
19
+ codexOnly: string;
20
+ searchLabel?: string;
21
+ searchPlaceholder?: string;
22
+ currentModel?: string;
23
+ noMatches?: string;
24
+ unsupportedAttachments?: string;
25
+ thinkingEffort?: string;
26
+ selected?: string;
27
+ free?: string;
28
+ billingHints: Record<PickerBillingClass, string>;
29
+ };
30
+ export declare const defaultModelPolicyPickerMessages: ModelPolicyPickerMessages;
31
+ /** Host branding for one payment group; the icon type belongs to the renderer. */
32
+ export type ModelPickerGroupBranding<TIcon = unknown> = {
33
+ label?: string | undefined;
34
+ /** Omit to preserve the default; null hides the supporting text. */
35
+ description?: string | null | undefined;
36
+ /** Decorative, non-interactive content. Omit for the default; null hides it. */
37
+ icon?: TIcon | undefined;
38
+ };
39
+ export type ModelPickerGroupPresentation<TIcon = unknown> = Partial<Record<PickerBillingClass, ModelPickerGroupBranding<TIcon>>>;
40
+ /** The renderer-neutral inputs every picker surface shares. */
41
+ export type ModelPickerInput<TIcon = unknown> = {
42
+ groupPresentation?: ModelPickerGroupPresentation<TIcon> | undefined;
43
+ models?: ClientModel[] | undefined;
44
+ rows?: PickerModelRow[] | undefined;
45
+ hasImageAttachments?: boolean | undefined;
46
+ model: string;
47
+ effort: ReasoningEffort;
48
+ latencyMode: LatencyMode;
49
+ codexOnly?: boolean | undefined;
50
+ collapseScopes?: boolean | undefined;
51
+ allowLatencyMode?: boolean | undefined;
52
+ messages?: Partial<ModelPolicyPickerMessages> | undefined;
53
+ };
54
+ /** Models settings keeps naming who is billed for a key. */
55
+ export declare const SCOPED_BILLING_HINTS: Partial<Record<PickerBillingClass, string>>;
56
+ export declare function isCodexPickerModel(model: ClientModel): boolean;
57
+ /** The payment group a selection the catalog no longer lists most likely belonged to. */
58
+ export declare function billingClassForMissingSelection(modelId: string): PickerBillingClass;
59
+ /**
60
+ * Host branding for a payment group. While scopes are collapsed, API keys are
61
+ * one group, so either API-key presentation serves both.
62
+ */
63
+ export declare function groupPresentationFor<TIcon>(props: {
64
+ groupPresentation?: ModelPickerGroupPresentation<TIcon> | undefined;
65
+ collapseScopes?: boolean | undefined;
66
+ }, billingClass: PickerBillingClass): ModelPickerGroupBranding<TIcon> | undefined;
67
+ export declare function effectiveRows<TIcon>(props: ModelPickerInput<TIcon>): ClientPickerModelRow[];
68
+ export type ModelPickerMenuGroup = {
69
+ billingClass: PickerBillingClass;
70
+ label: string;
71
+ description: string | null;
72
+ rows: ClientPickerModelRow[];
73
+ };
74
+ export type ModelPickerThinking = {
75
+ efforts: ReasoningEffort[];
76
+ value: ReasoningEffort;
77
+ showThinking: boolean;
78
+ showFast: boolean;
79
+ /** The selected row cannot run, so its controls are read-only. */
80
+ disabled: boolean;
81
+ };
82
+ export type ModelPickerMenuView = {
83
+ messages: ModelPolicyPickerMessages;
84
+ rows: ClientPickerModelRow[];
85
+ selected: ClientPickerModelRow | null;
86
+ /** Any row can run; otherwise the surface offers to connect models instead. */
87
+ anySelectable: boolean;
88
+ /** Whether the query is non-empty (decides "no matches" versus "no models"). */
89
+ searching: boolean;
90
+ groups: ModelPickerMenuGroup[];
91
+ matchCount: number;
92
+ /** Thinking and Fast controls for the selected model, or null when it has none. */
93
+ thinking: ModelPickerThinking | null;
94
+ /** The selected model cannot view images the draft carries. */
95
+ unsupportedAttachments: boolean;
96
+ };
97
+ /** Everything a picker menu shows for this input and search query. */
98
+ export declare function modelPickerMenuView<TIcon>(props: ModelPickerInput<TIcon>, query: string): ModelPickerMenuView;
99
+ export type ModelPickerChoice = {
100
+ /** The new model, or null when the row is already selected. */
101
+ model: string | null;
102
+ /** Always reported, so hosts can commit model and effort together. */
103
+ effort: ReasoningEffort;
104
+ /** Fast falls back to standard when the new model cannot run it. */
105
+ latencyMode: LatencyMode | null;
106
+ };
107
+ /** What choosing a row changes, or null when the row cannot be chosen. */
108
+ export declare function modelPickerChoice(props: Pick<ModelPickerInput, "model" | "effort" | "latencyMode">, row: ClientPickerModelRow): ModelPickerChoice | null;
109
+ /** The web segmented control's short labels ("X-high" fits a phone row). */
110
+ export declare function compactEffortLabel(effort: ReasoningEffort, label: string): string;
111
+ export {};
@@ -0,0 +1,25 @@
1
+ "use client";
2
+ import {
3
+ SCOPED_BILLING_HINTS,
4
+ billingClassForMissingSelection,
5
+ compactEffortLabel,
6
+ defaultModelPolicyPickerMessages,
7
+ effectiveRows,
8
+ groupPresentationFor,
9
+ isCodexPickerModel,
10
+ modelPickerChoice,
11
+ modelPickerMenuView
12
+ } from "./chunk-ZOZAPAUO.js";
13
+ import "./chunk-KF33GTWN.js";
14
+ export {
15
+ SCOPED_BILLING_HINTS,
16
+ billingClassForMissingSelection,
17
+ compactEffortLabel,
18
+ defaultModelPolicyPickerMessages,
19
+ effectiveRows,
20
+ groupPresentationFor,
21
+ isCodexPickerModel,
22
+ modelPickerChoice,
23
+ modelPickerMenuView
24
+ };
25
+ //# sourceMappingURL=model-picker-model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,17 @@
1
+ "use client";
2
+ import {
3
+ ModelPolicyPickerMenu,
4
+ ModelPolicyPickerPopover
5
+ } from "./chunk-47CKUXTW.js";
6
+ import "./chunk-XDA5QJE7.js";
7
+ import "./chunk-PMV53IMM.js";
8
+ import "./chunk-XEA5BCMA.js";
9
+ import "./chunk-N7S72EXK.js";
10
+ import "./chunk-ZOZAPAUO.js";
11
+ import "./chunk-KF33GTWN.js";
12
+ import "./chunk-TXS65BB2.js";
13
+ export {
14
+ ModelPolicyPickerMenu,
15
+ ModelPolicyPickerPopover
16
+ };
17
+ //# sourceMappingURL=model-policy-picker-menu-7GJ5URPR.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,5 +1,6 @@
1
+ import { type ModelPickerBillingClass } from "@opengeni/sdk/model-picker-order";
1
2
  import type { ClientModel, ReasoningEffort, WorkspaceModelCatalogModel } from "@opengeni/sdk";
2
- export type PickerBillingClass = "opengeni_credits" | "external" | "codex_subscription" | "supergrok_subscription" | "byok";
3
+ export type PickerBillingClass = ModelPickerBillingClass;
3
4
  export type PickerModelRow<TCatalog extends ClientModel = WorkspaceModelCatalogModel> = {
4
5
  id: string;
5
6
  label: string;
@@ -9,6 +10,7 @@ export type PickerModelRow<TCatalog extends ClientModel = WorkspaceModelCatalogM
9
10
  billingClassLabel: string;
10
11
  selectable: boolean;
11
12
  unavailableReason: string | null;
13
+ fundingHint?: string | undefined;
12
14
  provider: string;
13
15
  providerLabel: string;
14
16
  catalog: TCatalog;
@@ -16,13 +18,27 @@ export type PickerModelRow<TCatalog extends ClientModel = WorkspaceModelCatalogM
16
18
  export type LatencyModeId = "standard" | "priority" | "fast";
17
19
  export declare function billingClassForModel(model: ClientModel): PickerBillingClass;
18
20
  export declare function billingClassLabel(billingClass: PickerBillingClass): string;
21
+ /** The group label that names the connection scope, for Models settings only. */
22
+ export declare function scopedBillingClassLabel(billingClass: PickerBillingClass): string;
19
23
  export declare function availabilityReasonLabel(reason: WorkspaceModelCatalogModel["availability"]["reason"]): string | null;
20
24
  export declare function effortOptionsForModel(model: ClientModel): ReasoningEffort[];
21
25
  export declare function defaultEffortForModel(model: ClientModel): ReasoningEffort;
22
26
  export declare function coerceReasoningEffortForModel(model: ClientModel, effort: ReasoningEffort): ReasoningEffort;
27
+ /** Whether the composer offers (and therefore labels) a reasoning-effort choice. */
28
+ export declare function modelOffersEffortChoice(model: ClientModel): boolean;
29
+ /**
30
+ * The composer model pill at phone width: the catalog's compact name (falling
31
+ * back to the display name) and the effort label when effort is a choice.
32
+ */
33
+ export declare function compactModelPill(models: readonly ClientModel[], modelId: string, effort: ReasoningEffort | null | undefined): {
34
+ name: string;
35
+ effort: string | null;
36
+ };
23
37
  export declare function runnableLatencyModesForModel(model: ClientModel): LatencyModeId[];
24
38
  export declare function labelLatencyMode(mode: LatencyModeId): string;
25
39
  export declare function labelReasoningEffort(effort: ReasoningEffort): string;
40
+ /** Payment prompts must use cost policy, never the presentation group. */
41
+ export declare function modelUsesCredits(model: ClientModel | undefined): boolean;
26
42
  export declare function payerSummaryForModel(model: ClientModel): string;
27
43
  export declare function advancedSourceSummary(model: ClientModel): string | null;
28
44
  export declare function projectPickerRows(models: WorkspaceModelCatalogModel[]): PickerModelRow[];
@@ -30,13 +46,24 @@ export declare function projectPickerRows(models: WorkspaceModelCatalogModel[]):
30
46
  export declare function projectClientModelRows(models: ClientModel[]): PickerModelRow<ClientModel>[];
31
47
  export declare function sortPickerRows<TCatalog extends ClientModel>(rows: PickerModelRow<TCatalog>[]): PickerModelRow<TCatalog>[];
32
48
  export declare function findPickerRow<TCatalog extends ClientModel>(rows: PickerModelRow<TCatalog>[], modelId: string): PickerModelRow<TCatalog> | null;
33
- export declare function groupPickerRowsByBillingClass(rows: PickerModelRow[]): Array<{
49
+ export type GroupPickerRowsOptions = {
50
+ codexOnly?: boolean;
51
+ /**
52
+ * Default true: organization- and workspace-connected keys share one group
53
+ * and identical copies show once. Models settings passes false.
54
+ */
55
+ collapseScopes?: boolean | undefined;
56
+ /** Kept visible when it has an identical twin (see below). */
57
+ selectedId?: string | undefined;
58
+ };
59
+ export declare function groupPickerRowsByBillingClass(rows: PickerModelRow[], options?: GroupPickerRowsOptions): Array<{
34
60
  billingClass: PickerBillingClass;
35
61
  label: string;
36
62
  rows: PickerModelRow[];
37
63
  }>;
38
- export declare function groupPickerRowsByBillingClass<TCatalog extends ClientModel>(rows: PickerModelRow<TCatalog>[]): Array<{
64
+ export declare function groupPickerRowsByBillingClass<TCatalog extends ClientModel>(rows: PickerModelRow<TCatalog>[], options?: GroupPickerRowsOptions): Array<{
39
65
  billingClass: PickerBillingClass;
40
66
  label: string;
41
67
  rows: PickerModelRow<TCatalog>[];
42
68
  }>;
69
+ export { modelDisplayName, modelVendor } from "@opengeni/sdk/model-display";