@opengeni/react 1.0.1 → 1.0.2-canary.37191796234001

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (629) hide show
  1. package/README.md +651 -21
  2. package/dist/accounts.d.ts +64 -0
  3. package/dist/accounts.js +822 -0
  4. package/dist/accounts.js.map +1 -0
  5. package/dist/approvals.d.ts +2 -1
  6. package/dist/artifacts-document.js +3 -2
  7. package/dist/artifacts-presentation.js +3 -2
  8. package/dist/artifacts-spreadsheet.js +2 -2
  9. package/dist/artifacts.d.ts +4 -1
  10. package/dist/artifacts.js +518 -42
  11. package/dist/artifacts.js.map +1 -1
  12. package/dist/browser-viewer-GTR5XQ7X.js +16 -0
  13. package/dist/capability-catalog-row.d.ts +20 -0
  14. package/dist/capability-logo-fallback.d.ts +3 -0
  15. package/dist/chat-interactive-block-UGBTNB3L.js +11 -0
  16. package/dist/chat-interactive-block-UGBTNB3L.js.map +1 -0
  17. package/dist/{chunk-5UQPNLIO.js → chunk-23J2ZNXT.js} +4117 -3896
  18. package/dist/chunk-23J2ZNXT.js.map +1 -0
  19. package/dist/chunk-447JLCBU.js +209 -0
  20. package/dist/chunk-447JLCBU.js.map +1 -0
  21. package/dist/chunk-4RVYOY4O.js +379 -0
  22. package/dist/chunk-4RVYOY4O.js.map +1 -0
  23. package/dist/chunk-5CVXZA3Y.js +292 -0
  24. package/dist/chunk-5CVXZA3Y.js.map +1 -0
  25. package/dist/chunk-5J4FOW6Q.js +108 -0
  26. package/dist/chunk-5J4FOW6Q.js.map +1 -0
  27. package/dist/chunk-A2PI6UMY.js +41 -0
  28. package/dist/chunk-A2PI6UMY.js.map +1 -0
  29. package/dist/{chunk-7WCLAEFV.js → chunk-A4UJB2MM.js} +37 -27
  30. package/dist/chunk-A4UJB2MM.js.map +1 -0
  31. package/dist/chunk-B3V6TG77.js +41 -0
  32. package/dist/chunk-B3V6TG77.js.map +1 -0
  33. package/dist/chunk-BRM6FVZA.js +302 -0
  34. package/dist/chunk-BRM6FVZA.js.map +1 -0
  35. package/dist/chunk-C5X5AJXK.js +182 -0
  36. package/dist/chunk-C5X5AJXK.js.map +1 -0
  37. package/dist/chunk-CR7U7HAR.js +453 -0
  38. package/dist/chunk-CR7U7HAR.js.map +1 -0
  39. package/dist/{chunk-R3AZOAB5.js → chunk-DYWBUX5Q.js} +29 -123
  40. package/dist/chunk-DYWBUX5Q.js.map +1 -0
  41. package/dist/chunk-E3G7SAYZ.js +3124 -0
  42. package/dist/chunk-E3G7SAYZ.js.map +1 -0
  43. package/dist/chunk-ELCE5SXV.js +359 -0
  44. package/dist/chunk-ELCE5SXV.js.map +1 -0
  45. package/dist/chunk-ERGYJIBB.js +21 -0
  46. package/dist/chunk-ERGYJIBB.js.map +1 -0
  47. package/dist/chunk-FFA2OVOV.js +319 -0
  48. package/dist/chunk-FFA2OVOV.js.map +1 -0
  49. package/dist/chunk-FZCP527Y.js +116 -0
  50. package/dist/chunk-FZCP527Y.js.map +1 -0
  51. package/dist/chunk-GIMRELBW.js +14 -0
  52. package/dist/chunk-GIMRELBW.js.map +1 -0
  53. package/dist/{chunk-6KLX2RH5.js → chunk-H2NJQORO.js} +1069 -79
  54. package/dist/chunk-H2NJQORO.js.map +1 -0
  55. package/dist/chunk-I7IWRQLN.js +1608 -0
  56. package/dist/chunk-I7IWRQLN.js.map +1 -0
  57. package/dist/{chunk-HA46CYQK.js → chunk-IQUCRAT7.js} +792 -537
  58. package/dist/chunk-IQUCRAT7.js.map +1 -0
  59. package/dist/chunk-IWIDV7SB.js +1 -0
  60. package/dist/chunk-IWIDV7SB.js.map +1 -0
  61. package/dist/chunk-J2QWVSQY.js +312 -0
  62. package/dist/chunk-J2QWVSQY.js.map +1 -0
  63. package/dist/chunk-JFNEV4LU.js +2733 -0
  64. package/dist/chunk-JFNEV4LU.js.map +1 -0
  65. package/dist/chunk-JT4JW7BC.js +54 -0
  66. package/dist/chunk-JT4JW7BC.js.map +1 -0
  67. package/dist/chunk-K3HQAKQX.js +24 -0
  68. package/dist/chunk-K3HQAKQX.js.map +1 -0
  69. package/dist/{chunk-C5ZPSSS5.js → chunk-NEXLLTP4.js} +2 -1
  70. package/dist/{chunk-C5ZPSSS5.js.map → chunk-NEXLLTP4.js.map} +1 -1
  71. package/dist/chunk-NZUI76EM.js +371 -0
  72. package/dist/chunk-NZUI76EM.js.map +1 -0
  73. package/dist/{chunk-PEI6RANI.js → chunk-PNY3JKBJ.js} +309 -74
  74. package/dist/chunk-PNY3JKBJ.js.map +1 -0
  75. package/dist/{chunk-IGC6A2ZI.js → chunk-Q5QBEZIQ.js} +777 -246
  76. package/dist/chunk-Q5QBEZIQ.js.map +1 -0
  77. package/dist/chunk-RHREZ7BO.js +11 -0
  78. package/dist/chunk-RHREZ7BO.js.map +1 -0
  79. package/dist/chunk-SCOTPE2I.js +589 -0
  80. package/dist/chunk-SCOTPE2I.js.map +1 -0
  81. package/dist/{chunk-B6WPZSTT.js → chunk-SJZDKVW2.js} +1331 -1163
  82. package/dist/chunk-SJZDKVW2.js.map +1 -0
  83. package/dist/chunk-TMJRG4YC.js +12803 -0
  84. package/dist/chunk-TMJRG4YC.js.map +1 -0
  85. package/dist/chunk-TMYGL6X5.js +742 -0
  86. package/dist/chunk-TMYGL6X5.js.map +1 -0
  87. package/dist/chunk-UGLEYEMP.js +33 -0
  88. package/dist/chunk-UGLEYEMP.js.map +1 -0
  89. package/dist/chunk-UK4TINKT.js +27 -0
  90. package/dist/chunk-UK4TINKT.js.map +1 -0
  91. package/dist/chunk-UTRTG6LH.js +220 -0
  92. package/dist/chunk-UTRTG6LH.js.map +1 -0
  93. package/dist/chunk-WEHMPOXK.js +39 -0
  94. package/dist/chunk-WEHMPOXK.js.map +1 -0
  95. package/dist/chunk-WRHIZYZF.js +988 -0
  96. package/dist/chunk-WRHIZYZF.js.map +1 -0
  97. package/dist/{chunk-HUIKIDM5.js → chunk-WUISZ3WU.js} +223 -115
  98. package/dist/chunk-WUISZ3WU.js.map +1 -0
  99. package/dist/chunk-XCHWDJ22.js +107 -0
  100. package/dist/chunk-XCHWDJ22.js.map +1 -0
  101. package/dist/chunk-XOAMRDDK.js +481 -0
  102. package/dist/chunk-XOAMRDDK.js.map +1 -0
  103. package/dist/chunk-XUW2UWQM.js +299 -0
  104. package/dist/chunk-XUW2UWQM.js.map +1 -0
  105. package/dist/{chunk-KCGXPP5V.js → chunk-Y2PRMYLC.js} +11 -6
  106. package/dist/chunk-Y2PRMYLC.js.map +1 -0
  107. package/dist/chunk-YBXQDQFX.js +1772 -0
  108. package/dist/chunk-YBXQDQFX.js.map +1 -0
  109. package/dist/{chunk-KZ73RL76.js → chunk-YQEAA6LT.js} +7 -3
  110. package/dist/chunk-YQEAA6LT.js.map +1 -0
  111. package/dist/chunk-YV4L3ILF.js +9 -0
  112. package/dist/chunk-YV4L3ILF.js.map +1 -0
  113. package/dist/{chunk-LLOLUHVG.js → chunk-YWFG7ZX7.js} +1358 -2746
  114. package/dist/chunk-YWFG7ZX7.js.map +1 -0
  115. package/dist/chunk-ZYRGEKWS.js +216 -0
  116. package/dist/chunk-ZYRGEKWS.js.map +1 -0
  117. package/dist/client.d.ts +7 -4
  118. package/dist/clipboard.js +1 -0
  119. package/dist/commands/types.d.ts +2 -0
  120. package/dist/components/anthropic-mark.d.ts +3 -0
  121. package/dist/components/approval-surface.d.ts +15 -0
  122. package/dist/components/artifacts/artifact-chrome.d.ts +120 -0
  123. package/dist/components/artifacts/artifact-sandbox.d.ts +27 -0
  124. package/dist/components/artifacts/artifact-surface.d.ts +3 -1
  125. package/dist/components/artifacts/chat-interactive-block.d.ts +29 -0
  126. package/dist/components/artifacts/deferred-chat-media.d.ts +15 -0
  127. package/dist/components/artifacts/document-editor.d.ts +4 -2
  128. package/dist/components/artifacts/editable-artifact-ui.d.ts +2 -1
  129. package/dist/components/artifacts/editable-artifact-view.d.ts +46 -0
  130. package/dist/components/artifacts/editable-document.d.ts +1 -1
  131. package/dist/components/artifacts/editable-presentation.d.ts +2 -2
  132. package/dist/components/artifacts/editable-spreadsheet.d.ts +2 -1
  133. package/dist/components/artifacts/index.d.ts +8 -1
  134. package/dist/components/artifacts/inline-html-document.d.ts +2 -0
  135. package/dist/components/artifacts/latest-task-runner.d.ts +15 -0
  136. package/dist/components/artifacts/presentation-editor.d.ts +6 -2
  137. package/dist/components/artifacts/published-html-artifact-frame.d.ts +48 -3
  138. package/dist/components/artifacts/session-artifact-viewer.d.ts +39 -0
  139. package/dist/components/artifacts/site-view.d.ts +23 -0
  140. package/dist/components/artifacts/spreadsheet-general-display.d.ts +24 -0
  141. package/dist/components/artifacts/visualization-assets.gen.d.ts +2 -0
  142. package/dist/components/browser-select-control.d.ts +16 -0
  143. package/dist/components/browser-viewer.d.ts +10 -1
  144. package/dist/components/chat-composer.d.ts +21 -3
  145. package/dist/components/child-session-link.d.ts +5 -0
  146. package/dist/components/claude-mark.d.ts +3 -0
  147. package/dist/components/code-editor.d.ts +1 -4
  148. package/dist/components/composer.d.ts +45 -4
  149. package/dist/components/computer-viewer.d.ts +4 -1
  150. package/dist/components/copy-button.d.ts +3 -1
  151. package/dist/components/desktop-viewer.d.ts +1 -1
  152. package/dist/components/enrollment-consent.d.ts +6 -3
  153. package/dist/components/file-browser.d.ts +10 -1
  154. package/dist/components/fleet-tile.d.ts +2 -2
  155. package/dist/components/grok-mark.d.ts +26 -0
  156. package/dist/components/human-input-form.d.ts +21 -2
  157. package/dist/components/human-input-surface.d.ts +6 -3
  158. package/dist/components/machine-card.d.ts +4 -1
  159. package/dist/components/machines/machine-detail.d.ts +4 -1
  160. package/dist/components/machines/machine-operation-policy.d.ts +11 -0
  161. package/dist/components/machines-dashboard.d.ts +3 -1
  162. package/dist/components/markdown-table-layout.d.ts +12 -0
  163. package/dist/components/markdown.d.ts +47 -3
  164. package/dist/components/message-timeline.d.ts +72 -9
  165. package/dist/components/model-mark.d.ts +29 -0
  166. package/dist/components/model-policy-picker-menu.d.ts +9 -0
  167. package/dist/components/model-policy-picker.d.ts +62 -13
  168. package/dist/components/open-geni-chat.d.ts +55 -0
  169. package/dist/components/open-geni-links.d.ts +68 -0
  170. package/dist/components/openrouter-mark.d.ts +6 -0
  171. package/dist/components/pierre-file.d.ts +1 -1
  172. package/dist/components/preview-loading.d.ts +2 -0
  173. package/dist/components/queue-item-content.d.ts +9 -0
  174. package/dist/components/sandbox-files.d.ts +13 -2
  175. package/dist/components/sandbox-workspace.d.ts +43 -3
  176. package/dist/components/session-capability-frame.d.ts +35 -0
  177. package/dist/components/session-chrome.d.ts +66 -8
  178. package/dist/components/session-commands-panel.d.ts +6 -0
  179. package/dist/components/session-commands.d.ts +6 -0
  180. package/dist/components/session-connection-request.d.ts +8 -0
  181. package/dist/components/session-conversation.d.ts +86 -0
  182. package/dist/components/session-list.d.ts +36 -0
  183. package/dist/components/session-mcp-capability-card.d.ts +41 -0
  184. package/dist/components/timeline-anchor.d.ts +24 -0
  185. package/dist/components/timeline-annotation-chrome.d.ts +25 -0
  186. package/dist/components/timeline-annotation-layout.d.ts +42 -0
  187. package/dist/components/timeline-annotation-markers.d.ts +8 -0
  188. package/dist/components/timeline-annotation-reveal-context.d.ts +4 -0
  189. package/dist/components/timeline-annotation-shared.d.ts +31 -0
  190. package/dist/components/timeline-annotations-dialog.d.ts +3 -2
  191. package/dist/components/timeline-annotations.d.ts +13 -3
  192. package/dist/components/timeline-reading-progress.d.ts +11 -0
  193. package/dist/components/timeline-search.d.ts +34 -0
  194. package/dist/components/timeline-settlement.d.ts +16 -0
  195. package/dist/components/tip-follow.d.ts +16 -0
  196. package/dist/components/usage-limit-notice.d.ts +49 -0
  197. package/dist/components/usage-member-list.d.ts +91 -0
  198. package/dist/components/usage-meter.d.ts +73 -0
  199. package/dist/components/use-viewer-menu-dismiss.d.ts +2 -0
  200. package/dist/components/user-message-body.d.ts +10 -1
  201. package/dist/components/workspace-dock.d.ts +6 -2
  202. package/dist/composer.d.ts +5 -4
  203. package/dist/composer.js +15 -9
  204. package/dist/computer-viewer-ENHVAZ2Q.js +19 -0
  205. package/dist/computer-viewer-ENHVAZ2Q.js.map +1 -0
  206. package/dist/connect-account-identity.d.ts +8 -0
  207. package/dist/connect-accounts.d.ts +15 -0
  208. package/dist/connect-chooser.d.ts +18 -0
  209. package/dist/connect-panel.d.ts +18 -0
  210. package/dist/connect-setup.d.ts +16 -0
  211. package/dist/connect.d.ts +21 -0
  212. package/dist/connect.js +2129 -0
  213. package/dist/connect.js.map +1 -0
  214. package/dist/connection-catalog.d.ts +38 -0
  215. package/dist/connection-discovery.d.ts +12 -0
  216. package/dist/connection-installed.d.ts +17 -0
  217. package/dist/connection-logo.d.ts +9 -0
  218. package/dist/connection-service-logo.d.ts +8 -0
  219. package/dist/connection-service-presentation.d.ts +13 -0
  220. package/dist/connection-skeleton.d.ts +5 -0
  221. package/dist/connection-type-picker.d.ts +6 -0
  222. package/dist/conversation-timeline.d.ts +5 -0
  223. package/dist/desktop.d.ts +7 -0
  224. package/dist/desktop.js +26 -0
  225. package/dist/desktop.js.map +1 -0
  226. package/dist/device-authorization.d.ts +23 -0
  227. package/dist/diffs.d.ts +8 -0
  228. package/dist/diffs.js +14 -0
  229. package/dist/diffs.js.map +1 -0
  230. package/dist/discovery-cache.d.ts +5 -0
  231. package/dist/editor.d.ts +7 -0
  232. package/dist/editor.js +21 -0
  233. package/dist/editor.js.map +1 -0
  234. package/dist/embedded-session-client.d.ts +23 -0
  235. package/dist/file-node-visibility.d.ts +15 -0
  236. package/dist/{fleet-decision-row-GGCAT4E4.js → fleet-decision-row-YZ3ZKWMM.js} +2 -1
  237. package/dist/fleet-decision-row-YZ3ZKWMM.js.map +1 -0
  238. package/dist/hooks/channel-cache.d.ts +23 -0
  239. package/dist/hooks/latest-question.d.ts +25 -0
  240. package/dist/hooks/shared-machines-list.d.ts +14 -0
  241. package/dist/hooks/use-attached-browsers.d.ts +2 -1
  242. package/dist/hooks/use-browser-frame-stream.d.ts +1 -1
  243. package/dist/hooks/use-browser-session.d.ts +12 -1
  244. package/dist/hooks/use-channels.d.ts +1 -0
  245. package/dist/hooks/use-codex-accounts.d.ts +25 -7
  246. package/dist/hooks/use-composer.d.ts +45 -9
  247. package/dist/hooks/use-computer-frame-stream.d.ts +1 -1
  248. package/dist/hooks/use-computer-input-posture.d.ts +13 -0
  249. package/dist/hooks/use-computer-session.d.ts +2 -0
  250. package/dist/hooks/use-connect.d.ts +22 -0
  251. package/dist/hooks/use-desktop-stream.d.ts +1 -1
  252. package/dist/hooks/use-file-attachments.d.ts +21 -2
  253. package/dist/hooks/use-machine-chip.d.ts +3 -3
  254. package/dist/hooks/use-machines.d.ts +19 -1
  255. package/dist/hooks/use-sandbox-files.d.ts +5 -1
  256. package/dist/hooks/use-session-background-commands.d.ts +14 -0
  257. package/dist/hooks/use-session-events.d.ts +30 -8
  258. package/dist/hooks/use-session-lineage.d.ts +4 -0
  259. package/dist/hooks/use-session-mcp-approval-policy.d.ts +2 -2
  260. package/dist/hooks/use-session.d.ts +6 -0
  261. package/dist/hooks/use-turn-queue.d.ts +12 -0
  262. package/dist/hooks/use-usage.d.ts +40 -0
  263. package/dist/hooks/use-workspace-edit.d.ts +4 -0
  264. package/dist/hooks/use-workspace-sessions.d.ts +27 -5
  265. package/dist/human-input.d.ts +3 -1
  266. package/dist/identity-link-accounts.d.ts +11 -0
  267. package/dist/identity-link-consent.d.ts +18 -0
  268. package/dist/index.d.ts +60 -17
  269. package/dist/index.js +2237 -6200
  270. package/dist/index.js.map +1 -1
  271. package/dist/interaction.d.ts +1 -1
  272. package/dist/interaction.js +35 -184
  273. package/dist/interaction.js.map +1 -1
  274. package/dist/latest-question-755OW5DS.js +117 -0
  275. package/dist/latest-question-755OW5DS.js.map +1 -0
  276. package/dist/lib/error-message.d.ts +7 -0
  277. package/dist/lib/format.d.ts +36 -2
  278. package/dist/lib/host-theme.d.ts +70 -0
  279. package/dist/lib/interaction-errors.d.ts +6 -0
  280. package/dist/lib/menu-styles.d.ts +22 -0
  281. package/dist/lib/pierre-diffs-loader.d.ts +20 -0
  282. package/dist/lib/workbench-peers.d.ts +36 -0
  283. package/dist/lib/xterm-theme.d.ts +7 -5
  284. package/dist/machines.d.ts +4 -2
  285. package/dist/machines.js +14 -4
  286. package/dist/markdown-table-layout-QXSLK4BY.js +106 -0
  287. package/dist/markdown-table-layout-QXSLK4BY.js.map +1 -0
  288. package/dist/mcp-connection-status.d.ts +14 -0
  289. package/dist/model-policy-picker-menu-PWRI7R2X.js +14 -0
  290. package/dist/model-policy-picker-menu-PWRI7R2X.js.map +1 -0
  291. package/dist/model-policy.d.ts +19 -3
  292. package/dist/model-policy.js +9 -1
  293. package/dist/older-history.d.ts +30 -0
  294. package/dist/platform-activity-row-627BFZ46.js +182 -0
  295. package/dist/platform-activity-row-627BFZ46.js.map +1 -0
  296. package/dist/plugin-details.d.ts +14 -0
  297. package/dist/plugin-discovery.d.ts +25 -0
  298. package/dist/provider.d.ts +13 -1
  299. package/dist/{queue-surface-implementation-2KVJTYXH.js → queue-surface-implementation-ZHFI5JBP.js} +131 -44
  300. package/dist/queue-surface-implementation-ZHFI5JBP.js.map +1 -0
  301. package/dist/realtime/realtime-control.d.ts +6 -3
  302. package/dist/realtime.js +133 -74
  303. package/dist/realtime.js.map +1 -1
  304. package/dist/sandbox-files-BBC47SLD.js +20 -0
  305. package/dist/sandbox-files-BBC47SLD.js.map +1 -0
  306. package/dist/session-auth-recommendation.d.ts +5 -0
  307. package/dist/session-capability-policy.d.ts +12 -0
  308. package/dist/session-ui.d.ts +30 -2
  309. package/dist/session-ui.js +85 -7
  310. package/dist/session-ui.js.map +1 -1
  311. package/dist/session.d.ts +8 -2
  312. package/dist/session.js +30 -19
  313. package/dist/sites-ui.d.ts +34 -0
  314. package/dist/sites.d.ts +3 -0
  315. package/dist/sites.js +11 -0
  316. package/dist/sites.js.map +1 -0
  317. package/dist/skill-discovery.d.ts +47 -0
  318. package/dist/terminal.d.ts +8 -0
  319. package/dist/terminal.js +31 -0
  320. package/dist/terminal.js.map +1 -0
  321. package/dist/timeline/activity-rail.d.ts +11 -2
  322. package/dist/timeline/allowance-exhausted-row.d.ts +24 -0
  323. package/dist/timeline/compaction-copy.d.ts +10 -0
  324. package/dist/timeline/entrance.d.ts +13 -1
  325. package/dist/timeline/genie-loading.d.ts +34 -0
  326. package/dist/timeline/index.d.ts +6 -2
  327. package/dist/timeline/knowledge-receipt.d.ts +17 -0
  328. package/dist/timeline/platform-activity-row.d.ts +14 -0
  329. package/dist/timeline/presented-image.d.ts +6 -0
  330. package/dist/timeline/projection.d.ts +31 -2
  331. package/dist/timeline/registry.d.ts +2 -0
  332. package/dist/timeline/retained-image.d.ts +18 -0
  333. package/dist/timeline/rolling-activity.d.ts +11 -0
  334. package/dist/timeline/screenshot-lightbox.d.ts +16 -1
  335. package/dist/timeline/shared.d.ts +8 -3
  336. package/dist/timeline/startup-preference.d.ts +3 -0
  337. package/dist/timeline/startup-timings.d.ts +4 -0
  338. package/dist/timeline/tool-display-name.d.ts +2 -1
  339. package/dist/timeline/turn-summary.d.ts +32 -3
  340. package/dist/timeline/types.d.ts +141 -7
  341. package/dist/timeline-annotation-markers-GNDHTGBD.js +165 -0
  342. package/dist/timeline-annotation-markers-GNDHTGBD.js.map +1 -0
  343. package/dist/timeline-annotation-selection-DMLMM2TX.js +241 -0
  344. package/dist/timeline-annotation-selection-DMLMM2TX.js.map +1 -0
  345. package/dist/timeline-annotations-dialog-ELRDBHTS.js +273 -0
  346. package/dist/timeline-annotations-dialog-ELRDBHTS.js.map +1 -0
  347. package/dist/types/machines.d.ts +2 -2
  348. package/dist/usage/allowance-copy.d.ts +25 -0
  349. package/dist/usage/summary.d.ts +35 -0
  350. package/dist/usage.d.ts +13 -0
  351. package/dist/usage.js +1074 -0
  352. package/dist/usage.js.map +1 -0
  353. package/package.json +44 -4
  354. package/src/accounts.tsx +1072 -0
  355. package/src/approvals.ts +8 -1
  356. package/src/artifacts.ts +42 -0
  357. package/src/assets/README.md +8 -0
  358. package/src/assets/gmail.ico +0 -0
  359. package/src/assets/outlook.ico +0 -0
  360. package/src/capability-catalog-row.tsx +94 -0
  361. package/src/capability-logo-fallback.ts +22 -0
  362. package/src/client.ts +22 -13
  363. package/src/commands/registry.ts +18 -15
  364. package/src/commands/types.ts +2 -0
  365. package/src/components/anthropic-mark.tsx +10 -0
  366. package/src/components/approval-surface.tsx +171 -37
  367. package/src/components/artifacts/artifact-chrome.tsx +413 -0
  368. package/src/components/artifacts/artifact-sandbox.tsx +185 -0
  369. package/src/components/artifacts/artifact-surface.tsx +39 -19
  370. package/src/components/artifacts/chat-interactive-block.tsx +260 -0
  371. package/src/components/artifacts/deferred-chat-media.tsx +67 -0
  372. package/src/components/artifacts/document-editor.tsx +141 -16
  373. package/src/components/artifacts/editable-artifact-ui.tsx +4 -2
  374. package/src/components/artifacts/editable-artifact-view.tsx +187 -0
  375. package/src/components/artifacts/editable-artifact-workbench.tsx +5 -2
  376. package/src/components/artifacts/editable-document.tsx +37 -36
  377. package/src/components/artifacts/editable-presentation.tsx +36 -18
  378. package/src/components/artifacts/editable-spreadsheet.tsx +5 -2
  379. package/src/components/artifacts/index.ts +44 -0
  380. package/src/components/artifacts/inline-html-document.ts +24 -0
  381. package/src/components/artifacts/latest-task-runner.ts +49 -0
  382. package/src/components/artifacts/presentation-editor.tsx +323 -67
  383. package/src/components/artifacts/published-html-artifact-frame.tsx +338 -5
  384. package/src/components/artifacts/session-artifact-viewer.tsx +376 -0
  385. package/src/components/artifacts/site-view.tsx +116 -0
  386. package/src/components/artifacts/spreadsheet-canvas.ts +5 -10
  387. package/src/components/artifacts/spreadsheet-general-display.ts +43 -0
  388. package/src/components/artifacts/spreadsheet-grid.tsx +12 -13
  389. package/src/components/artifacts/visualization-assets/base.css +1015 -0
  390. package/src/components/artifacts/visualization-assets/helpers.html +349 -0
  391. package/src/components/artifacts/visualization-assets.gen.ts +3 -0
  392. package/src/components/browser-select-control.tsx +312 -0
  393. package/src/components/browser-viewer.tsx +1054 -314
  394. package/src/components/chat-composer.tsx +131 -85
  395. package/src/components/child-session-link.tsx +27 -0
  396. package/src/components/claude-mark.tsx +10 -0
  397. package/src/components/code-editor.tsx +13 -16
  398. package/src/components/composer-transcription-control.tsx +7 -5
  399. package/src/components/composer.tsx +376 -49
  400. package/src/components/computer-viewer.tsx +1041 -329
  401. package/src/components/copy-button.tsx +13 -5
  402. package/src/components/desktop-viewer.tsx +1 -1
  403. package/src/components/enrollment-consent.tsx +65 -7
  404. package/src/components/enrollment-device-flow.tsx +1 -1
  405. package/src/components/file-browser.tsx +158 -34
  406. package/src/components/fleet-tile.tsx +8 -16
  407. package/src/components/generated-video-player.tsx +4 -2
  408. package/src/components/grok-mark.tsx +33 -0
  409. package/src/components/human-input-form.tsx +455 -114
  410. package/src/components/human-input-surface.tsx +18 -7
  411. package/src/components/interaction-intervention-banner.tsx +2 -2
  412. package/src/components/machine-card.tsx +119 -4
  413. package/src/components/machine-dock-bar.tsx +1 -1
  414. package/src/components/machine-input-display.ts +23 -2
  415. package/src/components/machines/machine-detail.tsx +52 -2
  416. package/src/components/machines/machine-operation-policy.tsx +179 -0
  417. package/src/components/machines-dashboard.tsx +8 -17
  418. package/src/components/markdown-table-layout.ts +132 -0
  419. package/src/components/markdown.tsx +473 -44
  420. package/src/components/message-timeline.tsx +2498 -663
  421. package/src/components/model-mark.tsx +90 -0
  422. package/src/components/model-picker.tsx +15 -4
  423. package/src/components/model-policy-picker-menu.tsx +424 -0
  424. package/src/components/model-policy-picker.tsx +337 -381
  425. package/src/components/open-geni-chat.tsx +319 -0
  426. package/src/components/open-geni-links.tsx +179 -0
  427. package/src/components/openrouter-mark.tsx +13 -0
  428. package/src/components/pierre-diff.tsx +41 -16
  429. package/src/components/pierre-file.tsx +36 -11
  430. package/src/components/preview-loading.tsx +154 -0
  431. package/src/components/queue-item-content.ts +14 -0
  432. package/src/components/queue-surface-implementation.tsx +132 -42
  433. package/src/components/queue-surface-state.tsx +3 -1
  434. package/src/components/sandbox-files.tsx +267 -35
  435. package/src/components/sandbox-terminal.tsx +48 -11
  436. package/src/components/sandbox-workspace.tsx +337 -135
  437. package/src/components/session-capability-frame.tsx +192 -0
  438. package/src/components/session-chrome.tsx +1027 -328
  439. package/src/components/session-commands-panel.tsx +126 -0
  440. package/src/components/session-commands.tsx +18 -0
  441. package/src/components/session-connection-request.tsx +97 -0
  442. package/src/components/session-conversation.tsx +512 -0
  443. package/src/components/session-list.tsx +250 -0
  444. package/src/components/session-mcp-capability-card.tsx +680 -0
  445. package/src/components/session-status.tsx +1 -1
  446. package/src/components/timeline-anchor.tsx +119 -0
  447. package/src/components/timeline-annotation-chrome.tsx +196 -0
  448. package/src/components/timeline-annotation-layout.ts +268 -0
  449. package/src/components/timeline-annotation-markers.tsx +185 -0
  450. package/src/components/timeline-annotation-reveal-context.ts +9 -0
  451. package/src/components/timeline-annotation-selection.tsx +106 -54
  452. package/src/components/timeline-annotation-shared.ts +245 -0
  453. package/src/components/timeline-annotations-dialog.tsx +185 -128
  454. package/src/components/timeline-annotations.tsx +189 -45
  455. package/src/components/timeline-reading-progress.ts +80 -0
  456. package/src/components/timeline-search.tsx +168 -0
  457. package/src/components/timeline-settlement.ts +60 -0
  458. package/src/components/tip-follow.ts +70 -7
  459. package/src/components/tooltip.tsx +38 -5
  460. package/src/components/usage-limit-notice.tsx +179 -0
  461. package/src/components/usage-member-list.tsx +792 -0
  462. package/src/components/usage-meter.tsx +382 -0
  463. package/src/components/use-viewer-menu-dismiss.ts +33 -0
  464. package/src/components/user-message-body.tsx +194 -49
  465. package/src/components/workspace-dock.tsx +141 -175
  466. package/src/composer.ts +6 -1
  467. package/src/connect-account-identity.tsx +34 -0
  468. package/src/connect-accounts.tsx +233 -0
  469. package/src/connect-chooser.tsx +336 -0
  470. package/src/connect-panel.tsx +99 -0
  471. package/src/connect-setup.tsx +307 -0
  472. package/src/connect.ts +60 -0
  473. package/src/connection-assets.d.ts +4 -0
  474. package/src/connection-catalog.tsx +162 -0
  475. package/src/connection-discovery.tsx +235 -0
  476. package/src/connection-installed.tsx +51 -0
  477. package/src/connection-logo.tsx +37 -0
  478. package/src/connection-service-logo.tsx +55 -0
  479. package/src/connection-service-presentation.ts +46 -0
  480. package/src/connection-skeleton.tsx +16 -0
  481. package/src/connection-type-picker.tsx +36 -0
  482. package/src/conversation-timeline.ts +92 -0
  483. package/src/desktop.ts +24 -0
  484. package/src/device-authorization.tsx +98 -0
  485. package/src/diffs.ts +16 -0
  486. package/src/discovery-cache.ts +42 -0
  487. package/src/editor.ts +13 -0
  488. package/src/embedded-session-client.ts +104 -0
  489. package/src/file-node-visibility.ts +66 -0
  490. package/src/hooks/channel-cache.ts +104 -0
  491. package/src/hooks/internal.ts +3 -2
  492. package/src/hooks/latest-question.ts +164 -0
  493. package/src/hooks/shared-machines-list.ts +239 -0
  494. package/src/hooks/use-attached-browsers.ts +5 -1
  495. package/src/hooks/use-available-models.ts +20 -14
  496. package/src/hooks/use-browser-frame-stream.ts +25 -3
  497. package/src/hooks/use-browser-session.ts +271 -71
  498. package/src/hooks/use-browser-sessions.ts +7 -1
  499. package/src/hooks/use-channels.ts +32 -10
  500. package/src/hooks/use-codex-accounts.ts +78 -21
  501. package/src/hooks/use-composer.ts +1034 -320
  502. package/src/hooks/use-computer-frame-stream.ts +39 -16
  503. package/src/hooks/use-computer-input-posture.ts +94 -0
  504. package/src/hooks/use-computer-session.ts +110 -32
  505. package/src/hooks/use-computer-sessions.ts +8 -1
  506. package/src/hooks/use-connect.ts +23 -0
  507. package/src/hooks/use-desktop-stream.ts +19 -28
  508. package/src/hooks/use-file-attachments.ts +118 -10
  509. package/src/hooks/use-goal.ts +36 -9
  510. package/src/hooks/use-human-input.ts +31 -4
  511. package/src/hooks/use-last-started-turn-policy.ts +15 -13
  512. package/src/hooks/use-machine-chip.ts +23 -6
  513. package/src/hooks/use-machines.ts +104 -6
  514. package/src/hooks/use-sandbox-files.ts +253 -150
  515. package/src/hooks/use-sandbox-git.ts +58 -29
  516. package/src/hooks/use-session-background-commands.ts +67 -0
  517. package/src/hooks/use-session-capabilities.ts +21 -2
  518. package/src/hooks/use-session-events.ts +759 -433
  519. package/src/hooks/use-session-lineage.ts +28 -6
  520. package/src/hooks/use-session-mcp-approval-policy.ts +13 -5
  521. package/src/hooks/use-session.ts +75 -16
  522. package/src/hooks/use-slash-commands.ts +6 -11
  523. package/src/hooks/use-turn-queue.ts +113 -13
  524. package/src/hooks/use-usage.ts +100 -0
  525. package/src/hooks/use-voice-input.ts +12 -1
  526. package/src/hooks/use-workspace-capture.ts +3 -2
  527. package/src/hooks/use-workspace-edit.ts +23 -5
  528. package/src/hooks/use-workspace-sessions.ts +99 -11
  529. package/src/human-input.ts +12 -1
  530. package/src/identity-link-accounts.tsx +148 -0
  531. package/src/identity-link-consent.tsx +192 -0
  532. package/src/index.ts +157 -12
  533. package/src/interaction.ts +1 -0
  534. package/src/lib/error-message.ts +37 -0
  535. package/src/lib/format.ts +150 -14
  536. package/src/lib/host-theme.ts +511 -0
  537. package/src/lib/interaction-errors.ts +33 -0
  538. package/src/lib/menu-styles.ts +44 -0
  539. package/src/lib/pierre-diffs-loader.ts +53 -0
  540. package/src/lib/workbench-peers.ts +62 -0
  541. package/src/lib/xterm-theme.ts +23 -21
  542. package/src/machines.ts +9 -1
  543. package/src/mcp-connection-status.ts +35 -0
  544. package/src/model-policy.ts +223 -69
  545. package/src/older-history.ts +87 -0
  546. package/src/plugin-details.tsx +185 -0
  547. package/src/plugin-discovery.tsx +196 -0
  548. package/src/provider.tsx +55 -14
  549. package/src/realtime/dropdown-menu.tsx +19 -12
  550. package/src/realtime/realtime-control.tsx +133 -46
  551. package/src/session-auth-recommendation.ts +48 -0
  552. package/src/session-capability-policy.ts +83 -0
  553. package/src/session-context.ts +1 -0
  554. package/src/session-ui.ts +66 -2
  555. package/src/session.ts +18 -1
  556. package/src/sites-ui.tsx +402 -0
  557. package/src/sites.ts +3 -0
  558. package/src/skill-discovery.tsx +208 -0
  559. package/src/terminal.ts +26 -0
  560. package/src/timeline/activity-rail.tsx +171 -80
  561. package/src/timeline/allowance-exhausted-row.tsx +86 -0
  562. package/src/timeline/compaction-copy.ts +42 -0
  563. package/src/timeline/entrance.tsx +28 -3
  564. package/src/timeline/fleet-decision-projection.ts +2 -1
  565. package/src/timeline/fleet-decision-row.tsx +1 -0
  566. package/src/timeline/genie-loading.tsx +136 -0
  567. package/src/timeline/index.ts +11 -0
  568. package/src/timeline/knowledge-receipt.tsx +100 -0
  569. package/src/timeline/parsers.ts +2 -2
  570. package/src/timeline/platform-activity-row.tsx +216 -0
  571. package/src/timeline/presented-image.ts +49 -0
  572. package/src/timeline/projection.ts +1600 -84
  573. package/src/timeline/registry.ts +15 -3
  574. package/src/timeline/retained-image.ts +97 -0
  575. package/src/timeline/rolling-activity.tsx +92 -0
  576. package/src/timeline/screenshot-lightbox.tsx +115 -17
  577. package/src/timeline/shared.tsx +47 -15
  578. package/src/timeline/startup-preference.ts +33 -0
  579. package/src/timeline/startup-timings.tsx +145 -0
  580. package/src/timeline/tool-display-name.ts +8 -6
  581. package/src/timeline/tool-renderers.tsx +497 -128
  582. package/src/timeline/turn-summary.tsx +208 -44
  583. package/src/timeline/types.ts +186 -7
  584. package/src/types/machines.ts +10 -0
  585. package/src/usage/allowance-copy.ts +64 -0
  586. package/src/usage/summary.ts +93 -0
  587. package/src/usage.ts +50 -0
  588. package/styles/compiled.css +2098 -757
  589. package/styles/connect.css +284 -0
  590. package/styles/connect.d.ts +1 -0
  591. package/styles/effective-tokens.css +1 -0
  592. package/styles/index.css +201 -9
  593. package/styles/responsive.css +27 -1
  594. package/styles/session-capability.css +44 -0
  595. package/styles/tokens.css +135 -65
  596. package/dist/chunk-5UQPNLIO.js.map +0 -1
  597. package/dist/chunk-6KLX2RH5.js.map +0 -1
  598. package/dist/chunk-7WCLAEFV.js.map +0 -1
  599. package/dist/chunk-B6WPZSTT.js.map +0 -1
  600. package/dist/chunk-FK6VG4LL.js +0 -90
  601. package/dist/chunk-FK6VG4LL.js.map +0 -1
  602. package/dist/chunk-HA46CYQK.js.map +0 -1
  603. package/dist/chunk-HUIKIDM5.js.map +0 -1
  604. package/dist/chunk-IGC6A2ZI.js.map +0 -1
  605. package/dist/chunk-KCGXPP5V.js.map +0 -1
  606. package/dist/chunk-KZ73RL76.js.map +0 -1
  607. package/dist/chunk-LAKLF4PA.js +0 -141
  608. package/dist/chunk-LAKLF4PA.js.map +0 -1
  609. package/dist/chunk-LLOLUHVG.js.map +0 -1
  610. package/dist/chunk-MKPIAGVL.js +0 -465
  611. package/dist/chunk-MKPIAGVL.js.map +0 -1
  612. package/dist/chunk-PEI6RANI.js.map +0 -1
  613. package/dist/chunk-R3AZOAB5.js.map +0 -1
  614. package/dist/chunk-WSK7G5LE.js +0 -170
  615. package/dist/chunk-WSK7G5LE.js.map +0 -1
  616. package/dist/chunk-XBZWOM2K.js +0 -218
  617. package/dist/chunk-XBZWOM2K.js.map +0 -1
  618. package/dist/chunk-Y7OEDUJ5.js +0 -8810
  619. package/dist/chunk-Y7OEDUJ5.js.map +0 -1
  620. package/dist/fleet-decision-row-GGCAT4E4.js.map +0 -1
  621. package/dist/hooks/use-packs.d.ts +0 -32
  622. package/dist/interactive-workbench-viewers-TOHBXJEE.js +0 -15
  623. package/dist/queue-surface-implementation-2KVJTYXH.js.map +0 -1
  624. package/dist/timeline-annotation-selection-3L7LHGG2.js +0 -187
  625. package/dist/timeline-annotation-selection-3L7LHGG2.js.map +0 -1
  626. package/dist/timeline-annotations-dialog-U7EVLR75.js +0 -196
  627. package/dist/timeline-annotations-dialog-U7EVLR75.js.map +0 -1
  628. package/src/hooks/use-packs.ts +0 -157
  629. /package/dist/{interactive-workbench-viewers-TOHBXJEE.js.map → browser-viewer-GTR5XQ7X.js.map} +0 -0
@@ -0,0 +1,284 @@
1
+ @import "./session-capability.css";
2
+ /* Opt-in, scoped styles. No document-level resets or Tailwind dependency. */
3
+ .og-connect {
4
+ font-family: var(--og-font-sans, system-ui, sans-serif);
5
+ color: inherit;
6
+ line-height: 1.55;
7
+ max-width: 48rem;
8
+ min-width: 0;
9
+ }
10
+ .og-connect :where(*, *::before, *::after) { box-sizing: border-box; }
11
+ .og-connect [hidden] { display:none !important; }
12
+ .og-connect :where(select, input, label) { min-width: 0; }
13
+ .og-connect select { width: 100%; }
14
+ .og-connect :where(section, form, fieldset, ul, li, [role="group"]) {
15
+ display: grid;
16
+ gap: .75rem;
17
+ min-width: 0;
18
+ }
19
+ .og-connect section { padding-block: 1rem; }
20
+ .og-connect section + section { border-top: 1px solid color-mix(in srgb, currentColor 20%, transparent); }
21
+ .og-connect fieldset { border: 0; padding: 0; margin: 0; }
22
+ .og-connect legend { font-weight: 600; padding-block-end: .5rem; }
23
+ .og-connect label { display: grid; gap: .375rem; }
24
+ .og-connect label:has(input[type="checkbox"], input[type="radio"]) { display: flex; align-items: center; gap: .75rem; min-height: 2.75rem; }
25
+ .og-connect :where(button, select, input:not([type="checkbox"]):not([type="radio"])) {
26
+ font: inherit;
27
+ color: inherit;
28
+ background: transparent;
29
+ border: 1px solid color-mix(in srgb, currentColor 35%, transparent);
30
+ border-radius: var(--og-radius-sm, 6px);
31
+ min-height: 2.75rem;
32
+ padding: .5rem .75rem;
33
+ max-width: 100%;
34
+ }
35
+ .og-connect button { cursor: pointer; width: fit-content; text-align: start; }
36
+ /* In settings the block spans the page like the sections around it. */
37
+ .og-identity-link { display: grid; gap: 1rem; max-width: none; }
38
+ /* Heading and description follow the host's section heading (16/24/600) and
39
+ description (12/18, muted) so the block reads like its neighbours. */
40
+ .og-identity-link > h2 { margin: 0; font-size: 16px; line-height: 24px; font-weight: 600; letter-spacing: -0.2px; color: var(--og-color-fg); }
41
+ .og-identity-link > h2 + p { margin: -0.75rem 0 0; font-size: 12px; line-height: 18px; color: var(--og-color-fg-muted); }
42
+ .og-identity-link-card { margin-top: -0.25rem; padding: 0.25rem 1.25rem; border: 1px solid var(--og-color-border); border-radius: var(--og-radius-lg); background: var(--og-color-surface-1); }
43
+ .og-identity-link-card > * { margin: 0; padding-block: 0.875rem; }
44
+ .og-identity-link-card > * + * { border-top: 1px solid var(--og-color-border); }
45
+ .og-identity-link-card > p { font-size: 14px; line-height: 20px; color: var(--og-color-fg-muted); }
46
+ .og-identity-link-card > ul:empty { display: none; }
47
+ .og-identity-link-card > ul { padding-block: 0; }
48
+ .og-identity-link-card > ul > li { padding-block: 0.875rem; }
49
+ .og-identity-link dl { margin: 0; display: grid; gap: .25rem; }
50
+ .og-identity-link dt { font-weight: 600; }
51
+ .og-identity-link dd { margin: 0 0 .75rem; overflow-wrap: anywhere; }
52
+ .og-identity-link label:has(input[type="checkbox"]) { min-height: 2.75rem; align-items: center; gap: .75rem; }
53
+ .og-connect button:hover:not(:disabled) { background: color-mix(in srgb, currentColor 8%, transparent); }
54
+ .og-connect :disabled { opacity: .55; cursor: not-allowed; }
55
+ .og-connect :focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
56
+ .og-connect :where(p, h2) { margin: 0; overflow-wrap: anywhere; }
57
+ .og-connect ul { list-style: none; padding: 0; margin: 0; }
58
+ .og-connect li + li { padding-block-start: .75rem; border-top: 1px solid color-mix(in srgb, currentColor 15%, transparent); }
59
+ .og-connect [role="alert"] { border-inline-start: 3px solid currentColor; padding-inline-start: .75rem; }
60
+ @media (forced-colors: active) {
61
+ .og-connect :where(button, select, input, section, li) { border-color: ButtonText; }
62
+ }
63
+ /* Host-independent catalogue: override --og-* tokens or the scoped classes. */
64
+ .og-capability-catalog-row { display:flex; align-items:center; gap:12px; width:100%; min-width:0; min-height:76px; padding:14px 12px; border:0; border-radius:var(--og-radius-lg,14px); background:transparent; color:var(--og-color-fg,inherit); text-align:left; cursor:pointer; font-family:var(--og-font-sans,system-ui,sans-serif); font-size:14px; line-height:1.5; box-sizing:border-box; }
65
+ .og-capability-catalog-row:hover:not(:disabled) { background:var(--og-color-surface-2,color-mix(in srgb,currentColor 7%,transparent)); }
66
+ .og-capability-catalog-row:focus-visible { outline:2px solid var(--og-color-accent,currentColor); outline-offset:2px; }
67
+ .og-capability-catalog-row:disabled { cursor:not-allowed; }
68
+ .og-capability-catalog-icon { display:grid; place-items:center; flex-shrink:0; width:40px; height:40px; border-radius:var(--og-radius-md,10px); }
69
+ .og-capability-catalog-icon > svg { width:24px; height:24px; color:var(--og-color-fg-muted,inherit); }
70
+ .og-capability-catalog-copy { display:grid; gap:3px; flex:1; min-width:0; }
71
+ .og-capability-catalog-copy strong { font-size:14px; font-weight:500; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
72
+ .og-capability-catalog-copy > span { color:var(--og-color-fg-muted,inherit); font-size:12px; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; overflow-wrap:anywhere; }
73
+ .og-capability-catalog-indicator { display:flex; align-items:center; justify-content:flex-end; gap:6px; flex-shrink:0; color:var(--og-color-fg-muted,inherit); }
74
+ .og-capability-catalog-indicator > svg { width:18px; height:18px; flex-shrink:0; }
75
+ .og-capability-catalog-indicator[data-status="attention"], .og-capability-catalog-indicator[data-status="unavailable"] { color:var(--og-color-status-waiting,var(--og-color-fg-muted,inherit)); }
76
+ .og-capability-catalog-notice { font-size:12px; max-width:10rem; overflow-wrap:anywhere; }
77
+ .og-capability-catalog-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
78
+ .og-capability-catalog-indicator[data-status="loading"] > svg { animation:og-catalog-spin 1s linear infinite; }
79
+ @keyframes og-catalog-spin { to { transform:rotate(360deg); } }
80
+ @media(prefers-reduced-motion:reduce) { .og-capability-catalog-indicator[data-status="loading"] > svg { animation:none; } }
81
+ @media(max-width:480px) { .og-capability-catalog-notice { max-width:6rem; } }
82
+ .og-connection-catalog { display: grid; gap: 4px; color: var(--og-color-fg, inherit); font-family: var(--og-font-sans, system-ui, sans-serif); }
83
+ .og-connection-catalog-row { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 64px; padding: 10px 12px; border: 0; border-radius: var(--og-radius-sm, 8px); background: transparent; color: inherit; text-align: left; cursor: pointer; font: inherit; }
84
+ .og-connection-catalog-row:hover { background: var(--og-color-surface-2, #f3f4f5); }
85
+ .og-connection-catalog-row:focus-visible { outline: 2px solid var(--og-color-accent, currentColor); outline-offset: 2px; }
86
+ .og-connection-catalog-logo { flex-shrink: 0; }
87
+ .og-connection-catalog-copy { display: grid; gap: 3px; flex: 1; min-width: 0; }
88
+ .og-connection-catalog-copy strong { font-size: 14px; font-weight: 500; }
89
+ .og-connection-catalog-copy > span { font-size: 12px; opacity: .7; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
90
+ .og-connection-catalog-status { font-size: 12px; opacity: .75; flex-shrink: 0; }
91
+ .og-connection-catalog-service { border-radius:12px; min-width:0; }
92
+ .og-connection-catalog-service[open] { background:var(--og-color-surface-1, #fff); box-shadow:inset 0 0 0 1px var(--og-color-border, #e4e6e8); }
93
+ .og-connection-catalog-service > summary { list-style:none; }
94
+ .og-connection-catalog-service > summary::-webkit-details-marker { display:none; }
95
+ .og-connection-group-chevron { transition:transform 150ms ease; }
96
+ .og-connection-catalog-service[open] .og-connection-group-chevron { transform:rotate(180deg); }
97
+ .og-connection-catalog-options { margin:0 12px 8px 60px; border-top:1px solid var(--og-color-border, #e4e6e8); padding-top:4px; }
98
+ .og-connection-option + .og-connection-option { border-top:1px solid var(--og-color-border, #e4e6e8); }
99
+ .og-connection-option .og-capability-catalog-row { min-height:56px; padding:8px 0; gap:8px; }
100
+ .og-connection-option .og-capability-catalog-copy strong { font-size:13px; }
101
+ .og-connection-option .og-connection-catalog-status { font-size:11px; }
102
+ .og-connection-option-action { display:grid; place-items:center; width:32px; flex-shrink:0; }
103
+ .og-connection-option-chevron { opacity:.5; font-size:20px; pointer-events:none; }
104
+ .og-connection-option:has(.og-connection-option-chevron) { position:relative; }
105
+ .og-connection-option:has(.og-connection-option-chevron) > button { padding-right:32px; }
106
+ .og-connection-option:has(.og-connection-option-chevron) > .og-connection-option-action { position:absolute; right:0; pointer-events:none; }
107
+ @media (max-width: 480px) { .og-connection-catalog-row { flex-wrap: wrap; } .og-connection-catalog-status { margin-left: auto; } }
108
+ .og-connection-installed { margin-block: 16px; color: inherit; font-family: var(--og-font-sans, system-ui, sans-serif); }
109
+ .og-connection-installed h2 { font-size: 13px; font-weight: 500; margin: 0 0 8px; }
110
+ .og-connection-installed h2 span { margin-left: 4px; opacity: .55; font-weight: 400; }
111
+ .og-connection-installed > div { display: flex; flex-wrap: wrap; gap: 8px; }
112
+ .og-connection-installed button { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; padding: 6px 10px; border: 0; box-shadow: none; border-radius: var(--og-radius-sm, 8px); background: transparent; color: inherit; font: inherit; font-size: 13px; cursor: pointer; }
113
+ .og-connection-installed button:hover { background: var(--og-color-surface-2, #f3f4f5); }
114
+ .og-connection-installed button:focus-visible { outline: 2px solid var(--og-color-accent, currentColor); outline-offset: 2px; }
115
+ .og-connection-installed-status { font-size: 12px; color: var(--og-color-fg-muted, inherit); }
116
+ .og-connection-type-picker { display:flex; flex-wrap:wrap; gap:4px; border:0; padding:0; margin:0 0 16px; }
117
+ .og-connection-type-picker legend { font-size:12px; margin-bottom:8px; }
118
+ .og-connection-type-picker label { position:relative; padding:8px 12px; font-size:13px; border-radius:8px; cursor:pointer; }
119
+ .og-connection-type-picker label[data-selected=true] { background:var(--og-color-surface-2,#eef0f2); box-shadow:inset 0 0 0 1px var(--og-color-border,#ccc); }
120
+ .og-connection-type-picker input { position:absolute; opacity:0; width:1px; height:1px; }
121
+ .og-connection-type-picker label:focus-within { outline:2px solid var(--og-color-accent,currentColor); outline-offset:2px; }
122
+ .og-connection-catalog-action-row { display:flex; align-items:center; gap:8px; min-width:0; }
123
+ .og-connection-catalog-action-row > .og-capability-catalog-row { flex:1; min-width:0; }
124
+ .og-connect [hidden] { display:none !important; }
125
+ .og-connect .og-connection-catalog-row { width:100%; border:0; border-radius:var(--og-radius-sm,8px); }
126
+ .og-connect .og-connection-catalog-copy > span { white-space:normal; }
127
+ .og-connect { font-size:14px; }
128
+ .og-connect h3 { margin:0; font-size:13px; font-weight:600; }
129
+ .og-connect .og-capability-catalog-row { width:100%; border:0; box-shadow:none; min-height:60px; padding:10px; }
130
+ .og-connect .og-connection-logo { background:var(--og-color-surface-2,#f1f3f5); color:var(--og-color-fg-muted,#545b66); border:1px solid var(--og-color-border,#e5e7eb); }
131
+ .og-connect .og-connect-secondary { border-top:1px solid var(--og-color-border,#e5e7eb); padding-top:12px; }
132
+ .og-connect .og-connect-secondary > summary { cursor:pointer; font-size:13px; padding:8px 0; }
133
+ .og-connect .og-connect-secondary > summary > span { margin-left:8px; opacity:.5; font-size:12px; }
134
+ .og-connect .og-connect-account { padding:0; border:0; gap:0; }
135
+ .og-connect .og-connect-account + .og-connect-account { padding-top:0; border-top:1px solid var(--og-color-border,#e5e7eb); }
136
+ .og-connect .og-connect-account-details { width:100%; }
137
+ .og-connect .og-connect-account-heading { display:flex; align-items:center; gap:12px; min-width:0; min-height:68px; padding:12px 8px; cursor:pointer; border-radius:8px; list-style:none; }
138
+ .og-connect .og-connect-account-heading::-webkit-details-marker { display:none; }
139
+ .og-connect .og-connect-account-heading:hover { background:var(--og-color-surface-2); }
140
+ .og-connect .og-connect-account-heading:focus-visible { outline:2px solid color-mix(in srgb, var(--og-color-accent) 55%, transparent); outline-offset:2px; }
141
+ .og-connect .og-connect-account-chevron { flex:none; transition:transform .15s; }
142
+ .og-connect .og-connect-account-details[open] .og-connect-account-chevron { transform:rotate(90deg); }
143
+ @media(prefers-reduced-motion:reduce) { .og-connect .og-connect-account-chevron { transition:none; } }
144
+ .og-connect .og-connect-account-heading > div { flex:1; min-width:0; }
145
+ .og-connect .og-connect-account-heading strong { display:block; font-size:14px; font-weight:500; overflow-wrap:anywhere; }
146
+ .og-connect .og-connect-account-heading small { display:block; font-size:12px; opacity:.65; margin-top:3px; }
147
+ .og-connect .og-connect-account-status { font-size:12px; }
148
+ .og-connect .og-connect-account-status[data-status="connected"] { color:var(--og-color-status-idle); }
149
+ .og-connect .og-connect-account-actions { display:flex; flex-wrap:wrap; gap:8px; padding:0 8px 12px 60px; }
150
+ .og-connect .og-connect-account-actions [role="group"] { width:100%; }
151
+ .og-connect .og-connection-discovery-results { height:360px; overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; }
152
+ .og-connection-skeleton-row { display:flex; align-items:center; gap:12px; height:68px; padding:10px; box-sizing:border-box; }
153
+ .og-connection-skeleton-mark { display:block; width:40px; height:40px; flex:none; border-radius:9px; background:var(--og-color-surface-2,#edf0f3); }
154
+ .og-connection-skeleton-copy { display:grid; gap:8px; flex:1; }
155
+ .og-connection-skeleton-copy > span { display:block; height:10px; width:70%; border-radius:3px; background:var(--og-color-surface-2,#edf0f3); }
156
+ .og-connection-skeleton-copy > span:first-child { width:28%; height:12px; }
157
+ .og-connect .og-connection-discovery-results .og-capability-catalog-row { min-height:68px; }
158
+ .og-connect .og-connection-discovery > label input { width:100%; }
159
+ .og-connection-logo { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; box-sizing:border-box; padding:var(--og-connection-icon-padding, 0px); overflow:hidden; border-radius:var(--og-connection-icon-radius, 9px); background:var(--og-connection-icon-background, transparent); color:var(--og-connection-icon-color, inherit); font-size:14px; font-weight:600; }
160
+ .og-connection-logo img { width:100%; height:100%; object-fit:contain; padding:0; border:0; border-radius:calc(var(--og-connection-icon-radius, 9px) - var(--og-connection-icon-padding, 0px)); background:transparent; }
161
+ @media (min-width: 720px) { .og-connection-catalog[data-columns="2"] { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:24px; align-items:start; } }
162
+ .og-connection-details-action { display:grid; place-items:center; flex-shrink:0; width:36px; height:36px; padding:0; border:0; border-radius:8px; background:transparent; color:inherit; font-size:20px; cursor:pointer; }
163
+ .og-connection-details-action:hover { background:var(--og-color-surface-2,#eef0f2); }
164
+ .og-connection-details-action:focus-visible { outline:2px solid var(--og-color-accent,currentColor); outline-offset:2px; }
165
+ /* Highlight each complete option, including its trailing action. */
166
+ .og-connection-option { border-radius:8px; gap:4px; padding-inline:8px; }
167
+ .og-connection-option:hover { background:var(--og-color-surface-2,#f3f4f5); }
168
+ .og-connection-option > .og-capability-catalog-row:hover,
169
+ .og-connection-option .og-connection-details-action:hover { background:transparent; }
170
+ .og-connection-option + .og-connection-option { border-top:0; margin-top:2px; }
171
+ .og-connection-catalog-options { margin:0 12px 8px 52px; padding-top:6px; }
172
+
173
+ :where(.dark, [data-og-theme="dark"]) .og-connection-logo { --og-connection-icon-padding:2px; --og-connection-icon-background:#fafafa; --og-connection-icon-color:#34383e; }
174
+ :where([data-og-theme="light"]) .og-connection-logo { --og-connection-icon-padding:0px; --og-connection-icon-background:transparent; --og-connection-icon-color:inherit; }
175
+
176
+ .og-skill-discovery { margin-block:24px; color:inherit; font-family:var(--og-font-sans,system-ui,sans-serif); }
177
+ .og-skill-discovery header { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:12px; }
178
+ .og-skill-discovery h3 { margin:0; font-size:14px; font-weight:600; }
179
+ .og-skill-discovery header > span, .og-skill-discovery p { font-size:14px; line-height:20px; color:var(--og-color-fg-muted,inherit); }
180
+ .og-skill-discovery button { font:inherit; color:inherit; cursor:pointer; border:0; box-shadow:none; }
181
+ .og-skill-discovery button:focus-visible { outline:2px solid var(--og-color-accent,currentColor); outline-offset:2px; }
182
+ .og-skill-discovery button:disabled { cursor:default; opacity:.6; }
183
+ .og-skill-discovery button:hover:not(:disabled) { background:var(--og-color-surface-2,#eeeeee); }
184
+ .og-skill-discovery-item { display:flex; align-items:center; justify-content:space-between; min-width:0; gap:16px; padding:12px; border-radius:10px; background:transparent; text-align:left; }
185
+ .og-skill-discovery-copy { display:grid; gap:4px; min-width:0; }
186
+ .og-skill-discovery-copy strong { font-size:14px; font-weight:500; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
187
+ .og-skill-discovery-copy > span { font-size:12px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; opacity:.65; }
188
+ .og-skill-discovery-copy small { font-size:11px; opacity:.55; }
189
+ .og-skill-discovery-action { font-size:12px; opacity:.7; flex-shrink:0; }
190
+ .og-skill-discovery-error button { padding:9px 16px; border:1px solid var(--og-color-border,#888); border-radius:8px; background:var(--og-color-surface-1,transparent); font-size:13px; margin-top:12px; }
191
+ .og-skill-discovery-error { display:flex; gap:12px; align-items:center; font-size:13px; }
192
+
193
+ .og-skill-discovery-browse { color:inherit; font-size:13px; text-decoration:underline; text-underline-offset:3px; }
194
+ .og-skill-discovery-browse:focus-visible { outline:2px solid var(--og-color-accent,currentColor); outline-offset:4px; border-radius:2px; }
195
+
196
+ .og-skill-discovery .og-skill-discovery-search { display:inline-flex; align-items:center; padding:9px 14px; border:1px solid var(--og-color-border,#888); border-radius:8px; background:var(--og-color-surface-1,transparent); font-size:13px; font-weight:500; }
197
+
198
+
199
+ .og-plugin-discovery { margin-block:24px; color:inherit; }
200
+ .og-plugin-discovery header { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
201
+ .og-plugin-discovery h3 { margin:0; font-size:14px; font-weight:600; }
202
+ .og-plugin-filters { display:flex; gap:3px; padding:3px; border-radius:10px; background:var(--og-color-surface-2,color-mix(in srgb,currentColor 5%,transparent)); }
203
+ .og-plugin-filters button { border:0; border-radius:7px; padding:6px 12px; background:transparent; color:var(--og-color-fg-muted,inherit); font:inherit; font-size:12px; font-weight:500; cursor:pointer; }
204
+ .og-plugin-filters button[aria-pressed=true] { background:var(--og-color-surface-1,#ffffff); color:var(--og-color-fg,#17191d); box-shadow:0 1px 3px #00000014; opacity:1; }
205
+ .og-plugin-discovery p, .og-skill-discovery p { font-size:14px; line-height:20px; color:var(--og-color-fg-muted,inherit); margin:0 0 12px; }
206
+ .og-plugin-discovery-row { display:flex; align-items:center; gap:12px; width:100%; min-width:0; min-height:64px; padding:10px 12px; text-align:left; color:inherit; background:transparent; border:0; border-radius:8px; font:inherit; cursor:pointer; }
207
+ .og-plugin-discovery-row:hover { background:color-mix(in srgb,currentColor 4%,transparent); }
208
+ .og-plugin-discovery button:focus-visible { outline:2px solid var(--og-color-accent,currentColor); outline-offset:2px; }
209
+ .og-plugin-discovery-row img { width:36px; height:36px; object-fit:contain; border-radius:8px; flex-shrink:0; }
210
+ .og-plugin-discovery-row > span:first-of-type { flex:1; min-width:0; }
211
+ .og-plugin-discovery-row strong { display:block; font-size:14px; line-height:20px; font-weight:500; text-transform:none; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
212
+ .og-plugin-description { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px; line-height:18px; opacity:.65; margin-top:2px; }
213
+ .og-plugin-title { display:flex; align-items:center; gap:8px; min-width:0; }
214
+ .og-plugin-title strong { flex:1; }
215
+ .og-plugin-discovery-row small { flex-shrink:0; font-size:10px; opacity:.55; }
216
+ .og-plugin-category { display:block; font-size:10px; line-height:15px; opacity:.45; text-transform:capitalize; }
217
+ .og-plugin-open { font-size:18px; opacity:.45; transition:opacity .15s; }
218
+ .og-plugin-discovery-row:hover .og-plugin-open, .og-plugin-discovery-row:focus-visible .og-plugin-open { opacity:.65; }
219
+ .og-plugin-more { display:block; margin:20px auto; padding:10px 18px; border:1px solid #8886; border-radius:8px; color:inherit; background:transparent; cursor:pointer; }
220
+
221
+ .og-plugin-details { padding:20px 24px; color:inherit; }
222
+ .og-plugin-details-header { display:flex; align-items:center; gap:12px; padding-right:24px; }
223
+ .og-plugin-details-header > div { min-width:0; }
224
+ .og-plugin-details-header h2 { margin:0; font-size:20px; line-height:1.4; font-weight:600; letter-spacing:-.5px; overflow-wrap:anywhere; }
225
+ .og-plugin-details-header p { margin:7px 0 0; font-size:13px; opacity:.6; }
226
+ .og-plugin-details-meta { display:flex; flex-wrap:wrap; gap:8px; margin-top:22px; font-size:11px; }
227
+ .og-plugin-details-meta span { padding:4px 8px; border-radius:5px; background:color-mix(in srgb,currentColor 5%,transparent); text-transform:capitalize; }
228
+ .og-plugin-details-overview { margin:28px 0; font-size:14px; line-height:1.8; }
229
+ .og-plugin-details-overview p { margin:0 0 14px; }
230
+ .og-plugin-details-excerpt { max-height:250px; overflow:hidden; mask-image:linear-gradient(#000 75%,transparent); }
231
+ .og-plugin-details-more { border:0; background:transparent; color:inherit; padding:8px 0; font:inherit; font-size:13px; font-weight:600; cursor:pointer; }
232
+ .og-plugin-details-contents { padding-top:24px; border-top:1px solid color-mix(in srgb,currentColor 12%,transparent); }
233
+ .og-plugin-details-contents h3 { margin:0 0 14px; font-size:13px; font-weight:600; }
234
+ .og-plugin-details-contents > div { display:flex; flex-wrap:wrap; gap:8px; }
235
+ .og-plugin-details-contents span { font-size:13px; border:1px solid color-mix(in srgb,currentColor 15%,transparent); border-radius:7px; padding:7px 11px; }
236
+ .og-plugin-details footer { margin-top:32px; padding-top:24px; border-top:1px solid color-mix(in srgb,currentColor 12%,transparent); }
237
+ .og-plugin-details footer a { display:flex; align-items:center; justify-content:space-between; padding:11px 14px; color:inherit; text-decoration:none; font-size:13px; font-weight:600; border-radius:8px; background:color-mix(in srgb,currentColor 7%,transparent); }
238
+ .og-plugin-details footer a:hover { background:color-mix(in srgb,currentColor 11%,transparent); }
239
+ .og-plugin-details footer p { font-size:12px; opacity:.55; margin:12px 0 0; }
240
+ .og-plugin-details a:focus-visible,.og-plugin-details button:focus-visible { outline:2px solid currentColor; outline-offset:3px; }
241
+ @media(max-width:640px) { .og-plugin-details { padding:20px 24px; } }
242
+ .og-plugin-details-members { margin:28px 0; }
243
+ .og-plugin-details-members h3 { display:flex; gap:8px; align-items:center; margin:24px 0 10px; font-size:13px; font-weight:600; }
244
+ .og-plugin-details-members h3 span { opacity:.5; font-weight:400; }
245
+ .og-plugin-details-members ul { list-style:none; padding:0; margin:0; }
246
+ .og-plugin-details-members li { padding:12px 0; border-bottom:1px solid color-mix(in srgb,currentColor 10%,transparent); font-size:14px; }
247
+ .og-plugin-details-members a { display:flex; align-items:center; justify-content:space-between; gap:12px; color:inherit; text-decoration:none; }
248
+ .og-plugin-details-members a:hover strong { text-decoration:underline; }
249
+ .og-plugin-details-members strong { font-weight:500; overflow-wrap:anywhere; }
250
+ .og-plugin-details-members small { display:block; margin-top:5px; opacity:.6; font-size:12px; overflow-wrap:anywhere; }
251
+ .og-plugin-details-members p,.og-plugin-details-other { font-size:12px; opacity:.6; }
252
+ .og-plugin-details-other { margin-top:18px; }
253
+ .og-plugin-member-disabled { opacity:.45; }
254
+ .og-plugin-details footer .og-plugin-install { width:100%; padding:12px 16px; margin-top:12px; border:1px solid var(--og-color-primary-border); border-radius:9px; background:var(--og-color-primary); color:var(--og-color-primary-fg); font:inherit; font-size:14px; font-weight:600; cursor:pointer; }
255
+ .og-plugin-details footer .og-plugin-install:disabled { opacity:.4; cursor:default; }
256
+ .og-plugin-details footer p[role=alert] { opacity:1; color:var(--og-color-danger,#c33); }
257
+ .og-plugin-server-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
258
+ .og-plugin-server-heading button { border:1px solid color-mix(in srgb,currentColor 18%,transparent); background:transparent; color:inherit; border-radius:7px; padding:6px 12px; font:inherit; font-size:12px; cursor:pointer; }
259
+
260
+ /* Keep every catalog on the same columns and spacing, including installed Skills. */
261
+ .og-capability-catalog-grid, .og-skill-discovery-grid, .og-plugin-discovery-grid {
262
+ display:grid; grid-template-columns:minmax(0,1fr); gap:4px 24px;
263
+ }
264
+ @media (min-width:720px) {
265
+ .og-capability-catalog-grid, .og-skill-discovery-grid, .og-plugin-discovery-grid {
266
+ grid-template-columns:repeat(2,minmax(0,1fr));
267
+ }
268
+ }
269
+ .og-skill-discovery .og-capability-catalog-row { font-size:14px; line-height:1.5; }
270
+
271
+ /* Shared setup presentation, including OAuth, credentials and recovery. */
272
+ .og-connect.og-connect-setup { display:grid; gap:20px; font-size:14px; }
273
+ .og-connect-setup .og-connect-setup-summary { display:grid; gap:6px; }
274
+ .og-connect-setup .og-connect-setup-scope { color:var(--og-color-fg-muted,inherit); font-size:12px; }
275
+ .og-connect-setup .og-connect-setup-status { font-size:15px; font-weight:600; }
276
+ .og-connect-setup .og-connect-setup-description { color:var(--og-color-fg-muted,inherit); font-size:13px; }
277
+ .og-connect-setup .og-connect-setup-primary { width:100%; text-align:center; border-color:var(--og-color-primary-border); border-radius:8px; background:var(--og-color-primary); color:var(--og-color-primary-fg); font-size:14px; font-weight:500; }
278
+ .og-connect-setup .og-connect-setup-primary:hover:not(:disabled) { background:var(--og-color-primary-hover); }
279
+ .og-connect-setup .og-connect-setup-secondary { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; }
280
+ .og-connect-setup .og-connect-setup-secondary button { border:0; min-height:36px; padding:6px 8px; color:var(--og-color-fg-muted,inherit); font-size:12px; }
281
+
282
+ .og-catalog-more, .og-skill-discovery .og-catalog-more { margin-top:12px; min-height:36px; padding:8px 12px; border:1px solid var(--og-color-border,#888); border-radius:8px; background:var(--og-color-surface-1,transparent); color:inherit; font:inherit; font-size:13px; cursor:pointer; }
283
+ .og-catalog-more:focus-visible { outline:2px solid var(--og-color-accent,currentColor); outline-offset:2px; }
284
+ .og-plugin-discovery.og-catalog-overview { border-top:1px solid var(--og-color-border,#888); margin-top:24px; padding-top:24px; }
@@ -0,0 +1 @@
1
+ export {};
@@ -12,6 +12,7 @@
12
12
  --_og-duration-stream: var(--og-duration-stream);
13
13
  --_og-duration-markdown-crystallize: var(--og-duration-markdown-crystallize);
14
14
  --_og-color-accent-soft: var(--og-color-accent-soft);
15
+ --_og-color-primary-hover: var(--og-color-primary-hover);
15
16
  --_og-color-diff-add-bg: var(--og-color-diff-add-bg);
16
17
  --_og-color-diff-del-bg: var(--og-color-diff-del-bg);
17
18
  --_og-shadow-glow: var(--og-shadow-glow);
package/styles/index.css CHANGED
@@ -16,6 +16,100 @@
16
16
 
17
17
  @import "./tokens.css";
18
18
  @import "./effective-tokens.css";
19
+ @import "./session-capability.css";
20
+
21
+ /* Full-surface preview preparation. The ripple keeps its private ink and glow
22
+ (read by the canvas effect as literal colors), tuned to the app's teal glow
23
+ on a neutral ground; the steady label uses the host's typography and text
24
+ tokens. */
25
+ .og-preview-loading {
26
+ --_og-preview-ink: #9fdccd;
27
+ --_og-preview-glow: #5fb8a3;
28
+ position: relative;
29
+ width: 100%;
30
+ overflow: hidden;
31
+ border-radius: 10px;
32
+ background: #1b1b1b;
33
+ container: og-preview / inline-size;
34
+ }
35
+ .og-root:is([data-og-theme="light"], .og-light) .og-preview-loading,
36
+ :is([data-og-theme="light"], .og-light) .og-root .og-preview-loading,
37
+ .og-root :is([data-og-theme="light"], .og-light) .og-preview-loading {
38
+ --_og-preview-ink: #5f8f84;
39
+ --_og-preview-glow: #9fe3d3;
40
+ background: #f9f9f9;
41
+ }
42
+ .og-preview-loading canvas {
43
+ display: block;
44
+ width: 100%;
45
+ height: 320px;
46
+ /* Non-canvas / pre-effect fallback, removed only after a successful paint. */
47
+ background-image: radial-gradient(circle, color-mix(in srgb, var(--_og-preview-ink) 30%, transparent) 1px, transparent 1px);
48
+ background-size: 18px 18px;
49
+ }
50
+ .og-preview-loading canvas[data-painted="true"] { background-image: none; }
51
+ .og-preview-loading-label {
52
+ position: absolute;
53
+ left: 16px;
54
+ bottom: 14px;
55
+ color: var(--og-color-fg-muted);
56
+ font-family: var(--og-font-sans);
57
+ font-size: var(--og-font-size-xs);
58
+ line-height: var(--og-line-height-xs);
59
+ font-weight: 400;
60
+ }
61
+ @container og-preview (max-width: 500px) {
62
+ .og-preview-loading canvas { height: 260px; }
63
+ }
64
+ @media (max-width: 500px) {
65
+ .og-preview-loading canvas { height: 260px; }
66
+ }
67
+
68
+ /* Standalone embeds do not necessarily load Tailwind Preflight. Keep the
69
+ control reset inside SDK roots, before utilities, without resetting the host.
70
+ :where keeps controls at the same specificity as component utilities. */
71
+ @layer base {
72
+ .og-root :where([hidden]:not([hidden="until-found"])) {
73
+ display: none !important;
74
+ }
75
+ .og-root :where(button, input, textarea, select) {
76
+ box-sizing: border-box;
77
+ margin: 0;
78
+ padding: 0;
79
+ border: 0 solid;
80
+ border-radius: 0;
81
+ background-color: transparent;
82
+ color: inherit;
83
+ font: inherit;
84
+ letter-spacing: inherit;
85
+ }
86
+ .og-root :where(button, input[type="button"], input[type="submit"], input[type="reset"]) {
87
+ appearance: button;
88
+ }
89
+ /* Host global element styles (`ul { list-style: disc; margin }`,
90
+ `p { line-height: 1.8 }`, `li { margin-top }`) must not reach SDK markup.
91
+ The root class gives one class of specificity: above host element
92
+ selectors, but tied with (and emitted before) component utilities, which
93
+ therefore still win. */
94
+ .og-root :where(ul, ol, menu) {
95
+ list-style: none;
96
+ margin: 0;
97
+ padding: 0;
98
+ }
99
+ .og-root :where(li, p, blockquote, figure, dl, dd, pre, h1, h2, h3, h4, h5, h6) {
100
+ margin: 0;
101
+ padding: 0;
102
+ font-size: inherit;
103
+ line-height: inherit;
104
+ }
105
+ .og-root :where(h1, h2, h3, h4, h5, h6) {
106
+ font-weight: inherit;
107
+ }
108
+ .og-root,
109
+ .og-root :where(*, ::before, ::after) {
110
+ box-sizing: border-box;
111
+ }
112
+ }
19
113
 
20
114
  @theme inline {
21
115
  --font-og-sans: var(--og-font-sans);
@@ -50,12 +144,16 @@
50
144
  --text-2xs--line-height: 1rem;
51
145
 
52
146
  --color-og-bg: var(--og-color-bg);
147
+ --color-og-canvas: var(--og-color-canvas);
148
+ --color-og-selection: var(--og-color-selection);
149
+ --color-og-hover: var(--og-color-hover);
53
150
  --color-og-surface-1: var(--og-color-surface-1);
54
151
  --color-og-surface-2: var(--og-color-surface-2);
55
152
  --color-og-surface-3: var(--og-color-surface-3);
56
153
  --color-og-border: var(--og-color-border);
57
154
  --color-og-border-strong: var(--og-color-border-strong);
58
155
  --color-og-fg: var(--og-color-fg);
156
+ --color-og-fg-label: var(--og-color-fg-label);
59
157
  --color-og-fg-muted: var(--og-color-fg-muted);
60
158
  --color-og-fg-subtle: var(--og-color-fg-subtle);
61
159
 
@@ -65,6 +163,13 @@
65
163
  --color-og-accent-fg: var(--og-color-accent-fg);
66
164
  --color-og-accent-soft: var(--og-color-accent-soft);
67
165
 
166
+ --color-og-primary: var(--og-color-primary);
167
+ --color-og-primary-fg: var(--og-color-primary-fg);
168
+ --color-og-primary-border: var(--og-color-primary-border);
169
+ --color-og-primary-hover: var(--og-color-primary-hover);
170
+ --color-og-switch-track: var(--og-color-switch-track);
171
+ --color-og-switch-thumb: var(--og-color-switch-thumb);
172
+
68
173
  --color-og-status-queued: var(--og-color-status-queued);
69
174
  --color-og-status-running: var(--og-color-status-running);
70
175
  --color-og-status-idle: var(--og-color-status-idle);
@@ -72,14 +177,20 @@
72
177
  --color-og-status-failed: var(--og-color-status-failed);
73
178
  --color-og-status-cancelled: var(--og-color-status-cancelled);
74
179
  --color-og-danger: var(--og-color-danger);
180
+ --color-og-danger-fill: var(--og-color-danger-fill);
181
+ --color-og-danger-fg: var(--og-color-danger-fg);
75
182
 
76
183
  --color-bg: var(--og-color-bg);
184
+ --color-canvas: var(--og-color-canvas);
185
+ --color-selection: var(--og-color-selection);
186
+ --color-hover: var(--og-color-hover);
77
187
  --color-surface: var(--og-color-surface-1);
78
188
  --color-surface-2: var(--og-color-surface-2);
79
189
  --color-surface-3: var(--og-color-surface-3);
80
190
  --color-border: var(--og-color-border);
81
191
  --color-border-strong: var(--og-color-border-strong);
82
192
  --color-fg: var(--og-color-fg);
193
+ --color-fg-label: var(--og-color-fg-label);
83
194
  --color-fg-muted: var(--og-color-fg-muted);
84
195
  --color-fg-subtle: var(--og-color-fg-subtle);
85
196
  --color-brand: var(--og-color-accent);
@@ -98,25 +209,27 @@
98
209
  --color-foreground: var(--color-fg);
99
210
  --color-card: var(--color-surface);
100
211
  --color-card-foreground: var(--color-fg);
101
- --color-popover: var(--color-surface-3);
212
+ --color-popover: var(--color-surface);
102
213
  --color-popover-foreground: var(--color-fg);
103
- --color-primary: var(--color-brand-strong);
104
- --color-primary-foreground: var(--color-brand-fg);
105
- --color-secondary: var(--color-surface-2);
106
- --color-secondary-foreground: var(--color-fg);
214
+ --color-primary: var(--og-color-primary);
215
+ --color-primary-foreground: var(--og-color-primary-fg);
216
+ --color-primary-border: var(--og-color-primary-border);
217
+ --color-primary-hover: var(--og-color-primary-hover);
218
+ --color-secondary: var(--og-color-selection);
219
+ --color-secondary-foreground: var(--og-color-fg-muted);
107
220
  --color-muted: var(--color-surface-2);
108
221
  --color-muted-foreground: var(--color-fg-muted);
109
222
  --color-accent: var(--color-surface-2);
110
223
  --color-accent-foreground: var(--color-fg);
111
224
  --color-destructive: var(--og-color-danger);
112
- --color-destructive-filled: color-mix(in oklch, var(--og-color-danger) 70%, black);
113
- --color-destructive-foreground: var(--og-color-accent-fg);
225
+ --color-destructive-filled: var(--og-color-danger-fill);
226
+ --color-destructive-foreground: var(--og-color-danger-fg);
114
227
  --color-input: var(--color-surface-2);
115
228
  --color-ring: var(--color-brand);
116
229
  --color-sidebar: var(--color-surface);
117
230
  --color-sidebar-foreground: var(--color-fg);
118
- --color-sidebar-primary: var(--color-brand-strong);
119
- --color-sidebar-primary-foreground: var(--color-brand-fg);
231
+ --color-sidebar-primary: var(--og-color-primary);
232
+ --color-sidebar-primary-foreground: var(--og-color-primary-fg);
120
233
  --color-sidebar-accent: var(--color-surface-2);
121
234
  --color-sidebar-accent-foreground: var(--color-fg);
122
235
  --color-sidebar-border: var(--color-border);
@@ -556,3 +669,82 @@
556
669
  pointer-events: none !important;
557
670
  z-index: -1 !important;
558
671
  }
672
+
673
+ /* The upstream ThinkingOrb owns motion, visibility pausing, and reduced motion. */
674
+ /* CodeMirror (SDK code editor). The stock light and one-dark themes bring
675
+ their own chrome (one-dark is blue-grey with a blue cursor); pin the ground,
676
+ gutters, cursor, active line and selection to the og palette. Syntax colors
677
+ stay with the theme. */
678
+ .og-cm-editor .cm-editor { background-color: var(--og-cm-bg, var(--og-color-bg)); color: var(--og-color-fg); }
679
+ .og-cm-editor .cm-editor .cm-gutters { background-color: var(--og-cm-bg, var(--og-color-bg)); border-right-color: var(--og-color-border); color: var(--og-color-fg-subtle); }
680
+ .og-cm-editor .cm-editor .cm-activeLine { background-color: color-mix(in srgb, var(--og-color-fg) 4%, transparent); }
681
+ .og-cm-editor .cm-editor .cm-activeLineGutter { background-color: color-mix(in srgb, var(--og-color-fg) 6%, transparent); color: var(--og-color-fg-muted); }
682
+ .og-cm-editor .cm-editor .cm-cursor,
683
+ .og-cm-editor .cm-editor .cm-dropCursor { border-left-color: var(--og-color-fg); }
684
+ .og-cm-editor .cm-editor .cm-selectionLayer .cm-selectionBackground,
685
+ .og-cm-editor .cm-editor.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground { background-color: color-mix(in srgb, var(--og-color-accent) 30%, transparent); }
686
+ .og-cm-editor .cm-editor .cm-selectionMatch { background-color: color-mix(in srgb, var(--og-color-accent) 18%, transparent); }
687
+ .og-cm-editor .cm-editor .cm-panels { background-color: var(--og-color-surface-2); color: var(--og-color-fg); }
688
+
689
+ .og-genie-loading { display: flex; align-items: center; gap: 14px; min-height: 88px; padding: 12px 0; }
690
+ .og-genie-orb { width: 64px; height: 64px; flex: 0 0 64px; }
691
+ .og-genie-orb canvas { display: block; }
692
+ .og-genie-copy { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 5px; }
693
+ .og-genie-phrase { color: var(--og-color-fg-muted); font-size: var(--og-font-size-sm); line-height: 1.5; animation: og-genie-phrase-in .65s ease-out both; }
694
+ .og-genie-details { color: var(--og-color-fg-subtle); font-size: var(--og-font-size-xs); min-height: 28px; cursor: pointer; border-radius: 4px; text-align: left; transition: color .2s; }
695
+ .og-genie-details:hover { color: var(--og-color-fg); }
696
+ .og-genie-details:focus-visible { outline: 2px solid color-mix(in srgb, var(--og-color-accent) 55%, transparent); outline-offset: 4px; }
697
+ @keyframes og-genie-phrase-in { from { opacity: 0; transform: translateY(3px); } to { opacity: 1; transform: translateY(0); } }
698
+ @media (pointer: coarse) { .og-genie-details { min-height: 44px; } }
699
+ @media (prefers-reduced-motion: reduce) {
700
+ .og-genie-phrase { animation: none; }
701
+ }
702
+
703
+ /* A single softly lit reel: motion stays inside the header's fixed footprint. */
704
+ .og-rolling-status { display:flex; align-items:center; gap:12px; min-width:0; width:100%; }
705
+ .og-rolling-window { position:relative; display:block; flex:1; min-width:0; height:24px; overflow:hidden; }
706
+ .og-rolling-face { position:absolute; inset:0; display:flex; align-items:center; }
707
+ .og-rolling-label { display:flex; align-items:center; gap:8px; min-width:0; width:100%; font-size:13px; font-weight:450; line-height:20px; color:var(--og-color-fg-muted); }
708
+ .og-rolling-label > svg { flex-shrink:0; }
709
+ .og-rolling-count { flex-shrink:0; font-size:11px; color:var(--og-color-fg-subtle); font-variant-numeric:tabular-nums; }
710
+
711
+ /* The complete text line rolls as one surface, without moving its layout box. */
712
+ .og-command-reel { display:flex; flex:1; align-items:center; gap:8px; min-width:0; transform-origin:50% 50%; }
713
+ /* Render reasoning Markdown as one clipped preview; full formatting lives inside. */
714
+ .og-reasoning-preview,
715
+ .og-reasoning-preview :is(div,p,h1,h2,h3,h4,h5,h6,ul,ol,li,blockquote,pre) {
716
+ display: inline;
717
+ margin: 0;
718
+ padding: 0;
719
+ font-size: inherit;
720
+ line-height: inherit;
721
+ }
722
+ .og-reasoning-preview br { display: none; }
723
+ .og-reasoning-preview :is(p,li,h1,h2,h3,h4)::after { content: " "; }
724
+
725
+ /* Details consume leftover width; they never push the activity name away. */
726
+ .og-reel-title { flex:0 0 auto; min-width:0; max-width:75%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
727
+ .og-reel-title:only-child { max-width:100%; }
728
+ .og-reel-preview { flex:1 1 0%; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
729
+
730
+ /* Focused beam: one shared light source clipped to the entire text row. */
731
+ .og-command-reel-running,
732
+ .og-rolling-status[data-running="true"] .og-command-reel {
733
+ background-image:linear-gradient(90deg, light-dark(#8a8a8a,#6b6b6b) 42%, light-dark(#f2f2f2,#fff) 50%, light-dark(#8a8a8a,#6b6b6b) 58%);
734
+ background-size:300% 100%;
735
+ background-position:100% 0;
736
+ background-clip:text;
737
+ -webkit-background-clip:text;
738
+ -webkit-text-fill-color:transparent;
739
+ animation:og-activity-sweep 3.6s linear infinite;
740
+ }
741
+ @keyframes og-activity-sweep {
742
+ from { background-position:100% 0; }
743
+ to { background-position:0% 0; }
744
+ }
745
+ @media (prefers-reduced-motion:reduce), (forced-colors:active) {
746
+ .og-command-reel-running,
747
+ .og-rolling-status[data-running="true"] .og-command-reel {
748
+ animation:none; background:none; -webkit-text-fill-color:currentColor;
749
+ }
750
+ }
@@ -192,7 +192,7 @@
192
192
  width: min(
193
193
  var(--og-model-picker-menu-width),
194
194
  calc(var(--og-portal-source-inline-size, 100vw) - 1rem),
195
- var(--radix-dropdown-menu-content-available-width, 100vw)
195
+ var(--radix-popover-content-available-width, 100vw)
196
196
  );
197
197
  max-width: calc(100vw - 1rem);
198
198
  }
@@ -206,3 +206,29 @@
206
206
  );
207
207
  max-width: calc(100vw - 1rem);
208
208
  }
209
+
210
+ /* OpenGeniChat: the chat list is a sidebar when the component is wide and a
211
+ drawer behind a menu button when it is narrow. Container-based so it adapts
212
+ inside host panels, not only to the viewport. */
213
+ .og-chat {
214
+ container: og-chat / inline-size;
215
+ }
216
+
217
+ .og-chat .og-chat-sidebar {
218
+ display: none;
219
+ }
220
+
221
+ .og-chat .og-chat-menu {
222
+ display: flex;
223
+ }
224
+
225
+ @container og-chat (min-width: 44rem) {
226
+ .og-chat .og-chat-sidebar {
227
+ display: flex;
228
+ }
229
+
230
+ .og-chat .og-chat-menu,
231
+ .og-chat .og-chat-drawer {
232
+ display: none;
233
+ }
234
+ }