@opengeni/react 0.57.0 → 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 +654 -22
  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 +10 -3
  302. package/dist/realtime.js +229 -83
  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 +274 -60
  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,18 @@
1
+ import type { RetainedArtifactReference } from "@opengeni/sdk";
2
+ import type { ToolRendererProps } from "./registry.js";
3
+ type RetainedImageState = {
4
+ kind: "loading";
5
+ } | {
6
+ kind: "ready";
7
+ url: string;
8
+ } | {
9
+ kind: "unavailable";
10
+ label: string;
11
+ } | {
12
+ kind: "error";
13
+ message: string;
14
+ };
15
+ export { isRetainedImageContentType } from "./presented-image.js";
16
+ export declare function useRetainedImageObjectUrl(artifact: RetainedArtifactReference, load: ToolRendererProps["loadRetainedArtifact"]): RetainedImageState & {
17
+ retry: () => void;
18
+ };
@@ -0,0 +1,11 @@
1
+ import type { ToolRegistry } from "./registry.js";
2
+ import type { ActivityItem } from "./types.js";
3
+ /** One stable viewport; updates replace its content without moving the conversation. */
4
+ export declare function RollingActivity({ items, toolRegistry, previousItem, showCount, }: {
5
+ items: ActivityItem[];
6
+ /** The standalone item visible immediately before this reel mounted. */
7
+ previousItem?: ActivityItem | undefined;
8
+ toolRegistry?: ToolRegistry;
9
+ /** Show "+N earlier"; off when an enclosing status line already counts steps. */
10
+ showCount?: boolean;
11
+ }): import("react").JSX.Element | null;
@@ -1,6 +1,10 @@
1
1
  import { type ReactNode } from "react";
2
2
  type LightboxController = {
3
- open: (src: string, caption?: string, source?: HTMLElement | null, label?: string) => void;
3
+ open: (src: string, caption?: string, source?: HTMLElement | null, label?: string, downloadFilename?: string, controlLabels?: LightboxControlLabels, releaseSource?: () => void) => void;
4
+ };
5
+ export type LightboxControlLabels = {
6
+ download?: string | undefined;
7
+ close?: string | undefined;
4
8
  };
5
9
  /** Open the app-level screenshot lightbox. No-op outside a `LightboxProvider`. */
6
10
  export declare function useLightbox(): LightboxController;
@@ -10,6 +14,11 @@ export declare function useLightbox(): LightboxController;
10
14
  * (rather than a dead "Expand" button that announces an action it cannot do).
11
15
  */
12
16
  export declare function useLightboxOptional(): LightboxController | null;
17
+ /** @internal Owns one optional retained lightbox source and releases it exactly once. */
18
+ export declare function createLightboxSourceOwner(): {
19
+ replace(release?: (() => void) | undefined): void;
20
+ release(): void;
21
+ };
13
22
  /**
14
23
  * The app-level screenshot lightbox. Render once near the timeline; renderers
15
24
  * call `useLightbox().open(src)`.
@@ -23,4 +32,10 @@ export declare function useLightboxOptional(): LightboxController | null;
23
32
  export declare function LightboxProvider({ children }: {
24
33
  children: ReactNode;
25
34
  }): import("react").JSX.Element;
35
+ /** @internal Exact controls rendered by an open screenshot lightbox. */
36
+ export declare function ScreenshotLightboxControls({ src, downloadFilename, controlLabels, }: {
37
+ src: string;
38
+ downloadFilename?: string | undefined;
39
+ controlLabels?: LightboxControlLabels | undefined;
40
+ }): import("react").JSX.Element;
26
41
  export {};
@@ -14,6 +14,8 @@ export declare function ToolCallTruncationProvider({ value, children, }: {
14
14
  children: ReactNode;
15
15
  }): import("react").JSX.Element;
16
16
  export type ActivityDisclosureProps = {
17
+ /** Override the rolling preview; null keeps rapidly streaming details out of the header. */
18
+ compactPreview?: ReactNode;
17
19
  icon: ReactNode;
18
20
  /** Icon tint. Defaults to the muted foreground; renderers pass accent/failed. */
19
21
  iconTone?: "accent" | "failed" | "running" | "muted" | undefined;
@@ -67,7 +69,8 @@ export type ActivityDisclosureProps = {
67
69
  * inline media, and at most one right-gutter settle chip. Compact by default;
68
70
  * the body mounts only when expanded.
69
71
  */
70
- export declare function ActivityDisclosure({ icon, iconTone: iconToneProp, title, titleMono, running, preview, media, chip: chipProp, failed, cancelled, expandable, defaultOpen, children, }: ActivityDisclosureProps): import("react").JSX.Element;
72
+ export declare const CompactActivityContext: import("react").Context<boolean>;
73
+ export declare function ActivityDisclosure({ icon, iconTone: iconToneProp, title, titleMono, running, preview, compactPreview, media, chip: chipProp, failed, cancelled, expandable, defaultOpen, children, }: ActivityDisclosureProps): import("react").JSX.Element;
71
74
  export declare function TermBlock({ command, workdir, output, live, tailLines, failed, }: {
72
75
  /**
73
76
  * The command shown in the prompt header. Pass `null` when the row title
@@ -114,12 +117,13 @@ export declare function MediaEmpty(): import("react").JSX.Element;
114
117
  * Outside one it degrades to a plain, non-interactive image — never a dead
115
118
  * "Expand" button that announces an action it cannot perform.
116
119
  */
117
- export declare function Thumbnail({ src, caption, alt, expandLabel, lightboxLabel, }: {
120
+ export declare function Thumbnail({ src, caption, alt, expandLabel, lightboxLabel, downloadFilename, }: {
118
121
  src: string;
119
122
  caption?: string | undefined;
120
123
  alt?: string;
121
124
  expandLabel?: string | undefined;
122
125
  lightboxLabel?: string | undefined;
126
+ downloadFilename?: string | undefined;
123
127
  }): import("react").JSX.Element;
124
128
  /**
125
129
  * The expanded screenshot inside a tool body: a contained, clickable preview
@@ -127,10 +131,11 @@ export declare function Thumbnail({ src, caption, alt, expandLabel, lightboxLabe
127
131
  * so it never breaks the row layout. Like {@link Thumbnail}, it degrades to a
128
132
  * plain image outside a `LightboxProvider`.
129
133
  */
130
- export declare function ScreenshotFigure({ src, caption, alt, expandLabel, lightboxLabel, }: {
134
+ export declare function ScreenshotFigure({ src, caption, alt, expandLabel, lightboxLabel, downloadFilename, }: {
131
135
  src: string;
132
136
  caption?: string | undefined;
133
137
  alt?: string;
134
138
  expandLabel?: string | undefined;
135
139
  lightboxLabel?: string | undefined;
140
+ downloadFilename?: string | undefined;
136
141
  }): import("react").JSX.Element;
@@ -0,0 +1,3 @@
1
+ export declare function setStartupDetails(value: boolean): void;
2
+ /** Presentation preference only. Startup evidence is always retained. */
3
+ export declare function useStartupDetails(): boolean;
@@ -0,0 +1,4 @@
1
+ import type { StartupPhaseItem } from "./types.js";
2
+ export declare function StartupTimings({ phases }: {
3
+ phases: StartupPhaseItem[];
4
+ }): import("react").JSX.Element;
@@ -6,6 +6,7 @@
6
6
  * and bare `session_create` resolve the same UI — without inventing previews
7
7
  * from argument JSON.
8
8
  */
9
+ import type { ToolDisplayMetadata } from "@opengeni/sdk";
9
10
  /** Leaf tool name after the first `__` server boundary (or the whole name). */
10
11
  export declare function mcpToolLeaf(name: string): string;
11
12
  /**
@@ -18,4 +19,4 @@ export declare function toolMatchesLeaf(wireName: string, leaf: string): boolean
18
19
  * Readable label for a tool call ("session_create" / "opengeni__session_create"
19
20
  * → "Session create"). Title-cases the first character of the leaf phrase.
20
21
  */
21
- export declare function toolDisplayName(name: string): string;
22
+ export declare function toolDisplayName(name: string, display?: ToolDisplayMetadata): string;
@@ -56,15 +56,36 @@ type ReplaceTurnSummaryFacets = Readonly<{
56
56
  }>;
57
57
  export type TurnSummaryFacetConfiguration = ModifyTurnSummaryFacets | ReplaceTurnSummaryFacets;
58
58
  export type TurnSummaryOptions = Readonly<{
59
+ /**
60
+ * Readable per-turn presentation. Assistant progress stays fully formatted;
61
+ * each turn has its own Working / Worked row and rolling latest step.
62
+ * Ordinary tip-follow and manual scrolling are unchanged.
63
+ */
64
+ rolling?: boolean;
59
65
  facets?: TurnSummaryFacetConfiguration;
60
66
  }>;
67
+ /**
68
+ * Exchange status shown in place of the plain facet line. `working` and
69
+ * `waiting` run a live clock from `since`; `worked` shows the settled span.
70
+ */
71
+ export type TurnSummaryStatus = Readonly<{
72
+ kind: "working" | "waiting" | "worked";
73
+ /** Replaces the default "Working" / "Waiting" wording. */
74
+ label?: string | undefined;
75
+ /** Live clock start for `working` and `waiting`. */
76
+ since?: string | undefined;
77
+ /** Settled span for `worked`. */
78
+ durationMs?: number | undefined;
79
+ /** Live step preview under the row while it is collapsed. */
80
+ preview?: ReactNode;
81
+ }>;
61
82
  export type TurnSummaryProps = {
62
83
  /** The activity items in the turn (used only to compute the facet counts). */
63
84
  items: ActivityItem[];
64
85
  /**
65
86
  * The settled verdict — or absent for a completed CLUSTER of a still-running
66
- * turn, which folds neutrally: no verdict glyph (the turn has none yet), a
67
- * quiet pulse dot in its place so alignment and the running feel both hold.
87
+ * turn, which folds neutrally. Only unfinished activity inside this summary
88
+ * animates; the parent turn may still be composing a response elsewhere.
68
89
  */
69
90
  outcome?: TurnOutcome | undefined;
70
91
  /** A short failure reason shown inline on a failed chip (never hidden). */
@@ -73,6 +94,7 @@ export type TurnSummaryProps = {
73
94
  durationMs?: number | undefined;
74
95
  /** Start expanded. */
75
96
  defaultOpen?: boolean | undefined;
97
+ liveHeader?: ReactNode;
76
98
  /**
77
99
  * A nested fold — a cluster or sub-turn INSIDE an already-expanded turn. It
78
100
  * drops the bordered/filled chip and renders as a plain disclosure node on the
@@ -110,7 +132,14 @@ export type TurnSummaryProps = {
110
132
  copyText?: string | undefined;
111
133
  /** Adjacent compaction landmark count for the secondary chip facet. */
112
134
  contextCompactionCount?: number | undefined;
135
+ /**
136
+ * Exchange status line (compact progress presentation). Replaces the state
137
+ * marker and the duration facet; a settled `worked` row reads as a separator.
138
+ */
139
+ status?: TurnSummaryStatus | undefined;
113
140
  /** The rendered activity rail revealed on expand. */
114
141
  children: ReactNode;
115
142
  };
116
- export declare function TurnSummary({ items, outcome, failureText, durationMs, defaultOpen, bare, facets: facetConfiguration, settleFold, foldKey, copyText, contextCompactionCount, children, }: TurnSummaryProps): import("react").JSX.Element;
143
+ export declare function TurnSummary({ items, outcome, failureText, durationMs, defaultOpen, liveHeader, bare, facets: facetConfiguration, settleFold, foldKey, copyText, contextCompactionCount, status, children, }: TurnSummaryProps): import("react").JSX.Element;
144
+ /** Elapsed wall time with seconds below an hour: "14s", "2m 14s", "1h 05m". */
145
+ export declare function formatElapsed(durationMs: number): string;
@@ -1,10 +1,17 @@
1
- import type { MediaGenerationResult, ResourceRef, SessionStatus, TimelineAnnotation, TimelineAnnotationSource, ToolAuthNeededPayload, ToolRef } from "@opengeni/sdk";
1
+ import type { AllowanceExhaustedRefusal, HumanInputQuestion, HumanInputResponse, MediaGenerationResult, ResourceRef, SessionStatus, TimelineAnnotation, TimelineAnnotationSource, ToolAuthNeededPayload, ToolRef, ToolDisplayMetadata } from "@opengeni/sdk";
2
2
  export type TimelineAnnotationSourceDescriptor = Omit<TimelineAnnotationSource, "startOffset" | "endOffset" | "contextBefore" | "contextAfter"> & {
3
3
  text: string;
4
4
  };
5
5
  export type UserMessageItem = {
6
6
  kind: "user-message";
7
7
  id: string;
8
+ /**
9
+ * Renderer-only identity shared by a locally acknowledged message and the
10
+ * durable event that replaces it. The canonical event id remains `id`; this
11
+ * key only prevents the optimistic-to-durable handoff from remounting and
12
+ * replaying the row entrance animation.
13
+ */
14
+ reconciliationKey?: string | undefined;
8
15
  text: string;
9
16
  annotations?: TimelineAnnotation[] | undefined;
10
17
  annotationSource?: TimelineAnnotationSourceDescriptor | undefined;
@@ -23,17 +30,51 @@ export type UserMessageItem = {
23
30
  state: "sending" | "queued" | "failed";
24
31
  error?: string | undefined;
25
32
  onRetry?: (() => void) | undefined;
33
+ onEdit?: (() => void) | undefined;
26
34
  onRemove?: (() => void) | undefined;
27
35
  } | undefined;
28
36
  };
37
+ export type HumanInputAnswerSummary = {
38
+ questionId: string;
39
+ label: string;
40
+ prompt: string;
41
+ values: string[];
42
+ };
43
+ /**
44
+ * One resolved structured question in the conversation. The live pending form
45
+ * is rendered at the timeline tip by the host; after settlement this item keeps
46
+ * both the agent's question and the human's answer visible as chat history.
47
+ */
48
+ export type HumanInputItem = {
49
+ kind: "human-input";
50
+ id: string;
51
+ turnId: string | null;
52
+ requestId: string;
53
+ questions: HumanInputQuestion[];
54
+ response: HumanInputResponse;
55
+ answers: HumanInputAnswerSummary[];
56
+ occurredAt: string;
57
+ };
29
58
  export type AgentMessageItem = {
30
59
  kind: "agent-message";
31
60
  id: string;
32
61
  turnId: string | null;
33
62
  text: string;
63
+ /**
64
+ * Assistant channel: provider-declared, or `commentary` when the model asked
65
+ * for tool work in the same response. Absent on legacy events and on
66
+ * undeclared final messages. Known from the first delta for Responses models.
67
+ */
68
+ phase?: "commentary" | "final_answer" | undefined;
34
69
  /** Still receiving deltas (no completed/turn-end seen yet). */
35
70
  streaming: boolean;
36
71
  occurredAt: string;
72
+ /**
73
+ * When the first streamed text arrived, kept once completion moves
74
+ * `occurredAt` to the completion time. Absent for a message that never
75
+ * streamed.
76
+ */
77
+ startedAt?: string | undefined;
37
78
  /** Available only after the canonical completed event lands. */
38
79
  annotationSource?: TimelineAnnotationSourceDescriptor | undefined;
39
80
  };
@@ -67,6 +108,7 @@ export type ToolCallItem = {
67
108
  turnId: string | null;
68
109
  callId: string | null;
69
110
  name: string;
111
+ display?: ToolDisplayMetadata;
70
112
  arguments: unknown;
71
113
  output: unknown;
72
114
  truncation?: ToolCallTruncation | null;
@@ -130,6 +172,22 @@ export type SandboxItem = {
130
172
  status: "running" | "complete" | "failed" | "cancelled";
131
173
  occurredAt: string;
132
174
  };
175
+ export type StartupPhase = "queue" | "sandbox" | "rig" | "repository" | "files" | "tools" | "model_preparation" | "provider_first_byte";
176
+ /** A compact user-visible critical-path span reconstructed from durable events. */
177
+ export type StartupPhaseItem = {
178
+ kind: "startup-phase";
179
+ id: string;
180
+ turnId: string | null;
181
+ phase: StartupPhase;
182
+ status: "running" | "complete" | "failed" | "cancelled";
183
+ startedAt: string;
184
+ completedAt: string | null;
185
+ durationMs: number | null;
186
+ /** Sandbox origin and rig marker outcomes refine the settled label only. */
187
+ outcome: "created" | "restored" | "resumed" | "skipped" | null;
188
+ blockedReason?: "capture_in_progress" | "rotation_in_progress" | "provider_recovery_in_progress" | undefined;
189
+ occurredAt: string;
190
+ };
133
191
  /**
134
192
  * A first-party workspace-memory write the agent made mid-turn — a `memory.saved`
135
193
  * (it committed a new preference / fact / procedure / decision / history) or a
@@ -139,6 +197,17 @@ export type SandboxItem = {
139
197
  * `onMemoryClick` handler the row also deep-links to the record in its memory
140
198
  * pane; without one it is non-interactive rich content.
141
199
  */
200
+ export type KnowledgeItem = {
201
+ kind: "knowledge";
202
+ id: string;
203
+ turnId: string | null;
204
+ status: "complete" | "failed";
205
+ outcome: "published" | "pending" | "rejected" | "archived" | "failed";
206
+ fileId?: string | undefined;
207
+ filename?: string | undefined;
208
+ entryId?: string | undefined;
209
+ occurredAt: string;
210
+ };
142
211
  export type MemoryItem = {
143
212
  kind: "memory";
144
213
  id: string;
@@ -183,7 +252,7 @@ export type FleetDecisionItem = {
183
252
  policyVersion: "adaptive-shadow-v1";
184
253
  actualOutcome: "selected" | "waiting" | "none";
185
254
  actualCandidateKey: string | null;
186
- actualReason: "lease_reused" | "pin" | "rotation" | "active" | "all_capped" | "none";
255
+ actualReason: "lease_reused" | "pin" | "rotation" | "active" | "all_capped" | "allocator_disabled" | "none";
187
256
  shadowOutcome: "selected" | "paced" | "none";
188
257
  shadowCandidateKey: string | null;
189
258
  shadowReason: "fenced_in_flight" | "fenced_candidate_missing" | "admission_paced" | "no_eligible_candidate" | "overlay_isolated_empty" | "best_score" | "affinity_best" | "hysteresis_hold";
@@ -204,12 +273,14 @@ export type SessionStatusItem = {
204
273
  kind: "session-status";
205
274
  id: string;
206
275
  status: SessionStatus;
276
+ /** Presentation-only evidence that this historical attention state resumed. */
277
+ resolvedAt?: string;
207
278
  occurredAt: string;
208
279
  };
209
280
  export type GoalItem = {
210
281
  kind: "goal";
211
282
  id: string;
212
- action: "set" | "updated" | "completed" | "paused" | "resumed" | "cleared" | "continuation";
283
+ action: "set" | "updated" | "completed" | "paused" | "resumed" | "cleared" | "held" | "continuation";
213
284
  text: string | null;
214
285
  occurredAt: string;
215
286
  };
@@ -218,6 +289,18 @@ export type NoticeItem = {
218
289
  id: string;
219
290
  tone: "waiting" | "cancelled" | "failed" | "input";
220
291
  text: string;
292
+ /** Presentation-only evidence that a historical approval wait resumed. */
293
+ resolvedAt?: string;
294
+ /** A preserved turn-end outcome, not a claim about current session state. */
295
+ recordedOutcome?: true;
296
+ /**
297
+ * Recorded agent wait only: delegated worker sessions that had not reported
298
+ * back when the wait began. Best effort from the loaded history; absent when
299
+ * none are known.
300
+ */
301
+ waitingAgents?: number;
302
+ /** Recorded agent wait only: when later input ended the wait. */
303
+ waitEndedAt?: string;
221
304
  /** Optional evidence kept inspectable without overwhelming the main rail. */
222
305
  details?: {
223
306
  label: string;
@@ -227,6 +310,12 @@ export type NoticeItem = {
227
310
  label: string;
228
311
  url: string;
229
312
  };
313
+ /**
314
+ * A usage ceiling refused further work. `text` keeps the canonical sentence
315
+ * for plain-text consumers; `MessageTimeline` renders this structured row
316
+ * (customizable with `renderAllowanceExhausted` / `allowanceExhaustedLabels`).
317
+ */
318
+ allowance?: AllowanceExhaustedRefusal;
230
319
  occurredAt: string;
231
320
  };
232
321
  /**
@@ -242,13 +331,25 @@ export type ContextCompactionItem = {
242
331
  estimatedTokensBefore: number | null;
243
332
  estimatedTokensAfter: number | null;
244
333
  skipReason: string | null;
334
+ /**
335
+ * Present only for a `summarization_failed` skip where the provider
336
+ * definitively rejected the compaction request. Content-free identifiers.
337
+ */
338
+ providerRejection: ContextCompactionProviderRejection | null;
245
339
  /** Provider implementation id for debug disclosure only. */
246
340
  implementation: string | null;
247
341
  occurredAt: string;
248
342
  };
343
+ export type ContextCompactionProviderRejection = {
344
+ httpStatus: number;
345
+ type: string | null;
346
+ code: string | null;
347
+ param: string | null;
348
+ requestId: string | null;
349
+ };
249
350
  export type MachineInputMember = {
250
351
  id: string;
251
- kind: "scheduled_occurrence" | "goal_continuation" | "agent_message" | "agent_steer_instruction" | "child_terminal_result" | "media_generation_result";
352
+ kind: "scheduled_occurrence" | "goal_continuation" | "background_command_result" | "session_wait_timeout" | "agent_message" | "agent_steer_instruction" | "child_terminal_result" | "media_generation_result" | "child_requires_action" | "child_requires_action_resolved" | "child_paused" | "child_waiting_capacity" | "child_progress";
252
353
  classification: "success" | "failure" | "action_required" | "info";
253
354
  sourceId: string;
254
355
  summary: string;
@@ -263,6 +364,8 @@ export type MachineInputBatchItem = {
263
364
  id: string;
264
365
  turnId: string | null;
265
366
  members: MachineInputMember[];
367
+ /** Readable-turn presentation keeps machine payload prose inside the disclosure. */
368
+ compact?: boolean;
266
369
  occurredAt: string;
267
370
  };
268
371
  /**
@@ -281,12 +384,17 @@ export type AuthNeededItem = {
281
384
  turnId: string | null;
282
385
  /** The runtime surface that requested recovery, when the event is an MCP auth signal. */
283
386
  serverId: string | null;
387
+ /** Explicit recovery identity; never inferred from an opaque execution alias. */
388
+ canonicalServerId?: string | null;
389
+ connectionSubjectScope?: "workspace" | "subject" | null;
284
390
  /** Durable event family that produced this notice. */
285
391
  source?: "tool" | "credential" | "capability" | undefined;
286
392
  /** The connection's registrable domain, e.g. "linear.app". */
287
393
  providerDomain: string;
288
394
  /** The lapsed connection to reconnect, when the row survived. */
289
395
  connectionId: string | null;
396
+ /** Host-owned bindings must never be routed into OpenGeni's native reconnect flow. */
397
+ authoritySource?: ToolAuthNeededPayload["authoritySource"] | null | undefined;
290
398
  reason: ToolAuthNeededPayload["reason"] | null;
291
399
  /** Scopes the provider now needs; may inform the copy, never shown as a raw label. */
292
400
  scopes: string[];
@@ -298,20 +406,35 @@ export type AuthNeededItem = {
298
406
  authorizationUrl: string | null;
299
407
  /** Agent-selected catalog recommendation. The host still owns authorization. */
300
408
  capability?: NonNullable<ToolAuthNeededPayload["capability"]> | null | undefined;
409
+ /** Human-reviewed custom integration proposal. Never treated as catalog authority. */
410
+ setupRequest?: ToolAuthNeededPayload["setupRequest"] | null | undefined;
301
411
  occurredAt: string;
302
412
  };
303
413
  export type TurnOutcome = "complete" | "failed" | "cancelled";
304
414
  export type TurnEndItem = {
305
415
  kind: "turn-end";
416
+ /** A durable Retry reopened this failed logical turn; its failure is history. */
417
+ resumedAt?: string;
418
+ /** Keep an existing answer visible when a recorded input wait ends without final output. */
419
+ preserveWaitResponse?: true;
306
420
  id: string;
307
421
  turnId: string | null;
308
422
  outcome: TurnOutcome;
309
423
  failureText: string | null;
310
424
  occurredAt: string;
311
425
  };
312
- export type TimelineItem = UserMessageItem | AgentMessageItem | ReasoningItem | ToolCallItem | WorkerItem | WorkerCompletionItem | SandboxItem | SessionStatusItem | GoalItem | NoticeItem | ContextCompactionItem | MachineInputBatchItem | AuthNeededItem | MemoryItem | FleetDecisionItem | TurnEndItem;
313
- /** Activity items cluster between chat messages (reasoning, tools, workers, sandbox, memory). */
314
- export type ActivityItem = ReasoningItem | ToolCallItem | WorkerItem | SandboxItem | MemoryItem | FleetDecisionItem;
426
+ export type TimelineItem = (UserMessageItem | HumanInputItem | AgentMessageItem | ReasoningItem | ToolCallItem | WorkerItem | WorkerCompletionItem | SandboxItem | StartupPhaseItem | SessionStatusItem | GoalItem | NoticeItem | ContextCompactionItem | MachineInputBatchItem | AuthNeededItem | MemoryItem | KnowledgeItem | FleetDecisionItem | TurnEndItem) & {
427
+ /** Durable identities, independent of renderer/reconciliation keys. */
428
+ sourceEvents?: readonly {
429
+ eventId: string;
430
+ sequence: number;
431
+ }[] | undefined;
432
+ };
433
+ /**
434
+ * Activity items cluster between chat messages (reasoning, tools, workers,
435
+ * sandbox, memory). Assistant prose is rendered separately.
436
+ */
437
+ export type ActivityItem = ReasoningItem | ToolCallItem | WorkerItem | SandboxItem | StartupPhaseItem | MemoryItem | KnowledgeItem | FleetDecisionItem | AgentMessageItem;
315
438
  export type TimelineGroup = {
316
439
  kind: "item";
317
440
  item: TimelineItem;
@@ -321,6 +444,17 @@ export type TimelineGroup = {
321
444
  items: ActivityItem[];
322
445
  outcome?: TurnOutcome;
323
446
  failureText?: string;
447
+ /** One turn's chronological work history, including progress prose after settlement. */
448
+ work?: {
449
+ startedAt: string;
450
+ endedAt?: string;
451
+ responseStartedAt?: string;
452
+ waiting?: {
453
+ label: string;
454
+ since: string;
455
+ };
456
+ details: TimelineGroup[];
457
+ };
324
458
  } | {
325
459
  kind: "turn";
326
460
  id: string;
@@ -0,0 +1,165 @@
1
+ import {
2
+ annotationBoxIntersects,
3
+ annotationViewportBox,
4
+ layoutAnnotationBadges
5
+ } from "./chunk-ZYRGEKWS.js";
6
+ import {
7
+ annotatableText,
8
+ annotationDisplayOrdinal,
9
+ annotationHasNote,
10
+ buildQuoteRange,
11
+ cssEscapeAttribute,
12
+ matchingQuoteInSource,
13
+ occurrenceOffsets
14
+ } from "./chunk-447JLCBU.js";
15
+ import {
16
+ cn
17
+ } from "./chunk-22KP6LR5.js";
18
+
19
+ // src/components/timeline-annotation-markers.tsx
20
+ import { useLayoutEffect, useState } from "react";
21
+ import { createPortal } from "react-dom";
22
+ import { jsx } from "react/jsx-runtime";
23
+ function lastVisibleRect(range) {
24
+ try {
25
+ const rects = range.getClientRects();
26
+ for (let index = rects.length - 1; index >= 0; index--) {
27
+ const rect = rects.item(index);
28
+ if (rect && (rect.width > 0 || rect.height > 0)) return rect;
29
+ }
30
+ } catch {
31
+ }
32
+ try {
33
+ const bounding = range.getBoundingClientRect();
34
+ if (bounding.width > 0 || bounding.height > 0) return bounding;
35
+ } catch {
36
+ }
37
+ return null;
38
+ }
39
+ function occurrenceForAnnotation(sourceEl, annotation) {
40
+ const { text } = annotatableText(sourceEl);
41
+ const quote = matchingQuoteInSource(text, annotation.quote) ?? annotation.quote;
42
+ const offsets = occurrenceOffsets(text, quote);
43
+ if (offsets.length <= 1) return 0;
44
+ let best = 0;
45
+ let bestDistance = Number.POSITIVE_INFINITY;
46
+ offsets.forEach((offset, index) => {
47
+ const distance = Math.abs(offset - annotation.source.startOffset);
48
+ if (distance < bestDistance) {
49
+ best = index;
50
+ bestDistance = distance;
51
+ }
52
+ });
53
+ return best;
54
+ }
55
+ function timelineScroller(root) {
56
+ if (root.matches("[data-og-timeline-scroller]")) return root;
57
+ const nested = root.querySelector("[data-og-timeline-scroller]");
58
+ return nested instanceof HTMLElement ? nested : root;
59
+ }
60
+ function currentAnnotationViewport(root) {
61
+ const scroller = timelineScroller(root);
62
+ const rect = scroller.getBoundingClientRect();
63
+ const scrollerBox = {
64
+ left: rect.left,
65
+ right: rect.right,
66
+ top: rect.top,
67
+ bottom: rect.bottom
68
+ };
69
+ return annotationViewportBox(window.innerWidth || 1024, window.innerHeight || 768, scrollerBox);
70
+ }
71
+ function sourceInTimeline(root, eventId) {
72
+ const source = root.querySelector(
73
+ `[data-og-annotation-source-key="${cssEscapeAttribute(eventId)}"]`
74
+ );
75
+ return source instanceof HTMLElement ? source : null;
76
+ }
77
+ function collectMarkers(root, annotations) {
78
+ if (!root) return [];
79
+ const viewport = currentAnnotationViewport(root);
80
+ const next = [];
81
+ for (const [index, annotation] of annotations.entries()) {
82
+ const source = sourceInTimeline(root, annotation.source.eventId);
83
+ if (!source) continue;
84
+ const quote = matchingQuoteInSource(annotatableText(source).text, annotation.quote) ?? annotation.quote;
85
+ const range = buildQuoteRange(source, quote, occurrenceForAnnotation(source, annotation));
86
+ if (!range) continue;
87
+ const rect = lastVisibleRect(range);
88
+ if (!rect) continue;
89
+ if (!annotationBoxIntersects(
90
+ { left: rect.left, right: rect.right, top: rect.top, bottom: rect.bottom },
91
+ viewport
92
+ )) {
93
+ continue;
94
+ }
95
+ next.push({
96
+ id: annotation.id,
97
+ ordinal: annotationDisplayOrdinal(annotation, index),
98
+ left: rect.right,
99
+ top: rect.top,
100
+ incomplete: !annotationHasNote(annotation.note)
101
+ });
102
+ }
103
+ return layoutAnnotationBadges(next, viewport);
104
+ }
105
+ function TimelineAnnotationMarkers({
106
+ annotations,
107
+ onSelect,
108
+ rootRef
109
+ }) {
110
+ const [markers, setMarkers] = useState([]);
111
+ useLayoutEffect(() => {
112
+ const root = rootRef.current;
113
+ if (!root || annotations.length === 0) {
114
+ setMarkers([]);
115
+ return;
116
+ }
117
+ const update = () => setMarkers(collectMarkers(root, annotations));
118
+ update();
119
+ window.addEventListener("resize", update);
120
+ window.addEventListener("scroll", update, true);
121
+ const observer = typeof ResizeObserver === "function" ? new ResizeObserver(update) : null;
122
+ observer?.observe(root);
123
+ for (const annotation of annotations) {
124
+ const source = sourceInTimeline(root, annotation.source.eventId);
125
+ if (source) observer?.observe(source);
126
+ }
127
+ return () => {
128
+ window.removeEventListener("resize", update);
129
+ window.removeEventListener("scroll", update, true);
130
+ observer?.disconnect();
131
+ };
132
+ }, [annotations, rootRef]);
133
+ if (markers.length === 0 || typeof document === "undefined") return null;
134
+ return createPortal(
135
+ /* @__PURE__ */ jsx("div", { className: "og-root pointer-events-none fixed inset-0 z-[35]", children: markers.map((marker) => /* @__PURE__ */ jsx(
136
+ "button",
137
+ {
138
+ type: "button",
139
+ "data-og-annotation-badge": "",
140
+ "data-og-annotation-badge-ordinal": marker.ordinal,
141
+ style: { left: marker.left, top: marker.top, zIndex: marker.ordinal },
142
+ className: cn(
143
+ "pointer-events-auto absolute flex h-4 min-w-4 -translate-x-1/2 -translate-y-[110%] items-center justify-center rounded-full bg-og-accent px-0.5 text-[10px] font-semibold tabular-nums text-og-accent-fg shadow-sm outline-hidden select-none after:absolute after:-inset-2 after:content-[''] focus-visible:ring-2 focus-visible:ring-og-accent pointer-coarse:after:-inset-2.5",
144
+ marker.incomplete && "ring-1 ring-og-accent-fg/35"
145
+ ),
146
+ "aria-label": `Annotation ${marker.ordinal}`,
147
+ onMouseDown: (event) => event.preventDefault(),
148
+ onClick: (event) => {
149
+ event.preventDefault();
150
+ event.stopPropagation();
151
+ onSelect?.(marker.id);
152
+ },
153
+ children: marker.ordinal
154
+ },
155
+ marker.id
156
+ )) }),
157
+ document.body
158
+ );
159
+ }
160
+ var timeline_annotation_markers_default = TimelineAnnotationMarkers;
161
+ export {
162
+ TimelineAnnotationMarkers,
163
+ timeline_annotation_markers_default as default
164
+ };
165
+ //# sourceMappingURL=timeline-annotation-markers-GNDHTGBD.js.map