@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
package/dist/artifacts.js CHANGED
@@ -1,62 +1,162 @@
1
1
  import {
2
- EditablePresentationArtifactSurface,
3
- PresentationArtifactSurface,
4
- PresentationEditor,
5
- PresentationProjectionArtifactSurface,
6
- PresentationProjectionEditor
7
- } from "./chunk-PEI6RANI.js";
2
+ ArtifactSandbox,
3
+ ChatInteractiveBlock,
4
+ DeferredChatMedia,
5
+ inlineHtmlDocument
6
+ } from "./chunk-YBXQDQFX.js";
8
7
  import {
9
8
  EditableSpreadsheetArtifactSurface,
10
9
  EditableSpreadsheetGrid,
11
10
  SpreadsheetArtifactSurface,
12
11
  SpreadsheetGrid,
13
12
  SpreadsheetProjectionGrid
14
- } from "./chunk-7WCLAEFV.js";
13
+ } from "./chunk-A4UJB2MM.js";
15
14
  import {
16
15
  DocumentArtifactSurface,
17
16
  DocumentEditor,
18
17
  DocumentProjectionArtifactSurface,
19
18
  DocumentProjectionEditor,
20
19
  EditableDocumentArtifactSurface
21
- } from "./chunk-HUIKIDM5.js";
20
+ } from "./chunk-WUISZ3WU.js";
21
+ import {
22
+ isRetainedImageContentType,
23
+ useRetainedImageObjectUrl
24
+ } from "./chunk-FZCP527Y.js";
25
+ import {
26
+ ArtifactBadge,
27
+ ArtifactButton,
28
+ ArtifactLabelsProvider,
29
+ ArtifactLoading,
30
+ ArtifactProblem,
31
+ ArtifactSelect,
32
+ ArtifactViewerHeader,
33
+ DEFAULT_ARTIFACT_LABELS,
34
+ artifactKindIcon,
35
+ artifactKindSubtitle,
36
+ artifactLoadErrorMessage,
37
+ artifactLoadErrorView,
38
+ useArtifactLabels
39
+ } from "./chunk-5CVXZA3Y.js";
40
+ import "./chunk-ERGYJIBB.js";
41
+ import "./chunk-XCHWDJ22.js";
42
+ import {
43
+ PUBLISHED_HTML_ARTIFACT_IFRAME_SANDBOX,
44
+ PublishedHtmlArtifactFrame,
45
+ loadSiteSnapshot,
46
+ openGeniSiteBridgePortFromBootstrap,
47
+ publishedHtmlArtifactDocument
48
+ } from "./chunk-SCOTPE2I.js";
49
+ import {
50
+ useOpenGeni
51
+ } from "./chunk-NEXLLTP4.js";
52
+ import {
53
+ EditablePresentationArtifactSurface,
54
+ PresentationArtifactSurface,
55
+ PresentationEditor,
56
+ PresentationProjectionArtifactSurface,
57
+ PresentationProjectionEditor
58
+ } from "./chunk-PNY3JKBJ.js";
59
+ import "./chunk-WEHMPOXK.js";
22
60
  import {
23
61
  ArtifactSurface,
24
62
  EditableArtifactMessage
25
- } from "./chunk-KCGXPP5V.js";
26
- import "./chunk-22KP6LR5.js";
63
+ } from "./chunk-Y2PRMYLC.js";
64
+ import {
65
+ cn
66
+ } from "./chunk-22KP6LR5.js";
27
67
 
28
- // src/components/artifacts/published-html-artifact-frame.tsx
68
+ // src/components/artifacts/site-view.tsx
69
+ import { useCallback, useEffect, useMemo, useRef, useState } from "react";
29
70
  import { jsx } from "react/jsx-runtime";
30
- var PUBLISHED_HTML_ARTIFACT_IFRAME_SANDBOX = [
31
- "allow-downloads",
32
- "allow-forms",
33
- "allow-modals",
34
- "allow-orientation-lock",
35
- "allow-pointer-lock",
36
- "allow-popups",
37
- "allow-popups-to-escape-sandbox",
38
- "allow-presentation",
39
- "allow-scripts"
40
- ].join(" ");
41
- function PublishedHtmlArtifactFrame(props) {
71
+ function SiteView({
72
+ client,
73
+ workspaceId,
74
+ siteId,
75
+ toolBridge,
76
+ theme,
77
+ archivedMessage,
78
+ showTitle = true,
79
+ loadingLabel,
80
+ onTitle,
81
+ className
82
+ }) {
83
+ const labels = useArtifactLabels();
84
+ const [snapshot, setSnapshot] = useState(null);
85
+ const [error, setError] = useState(null);
86
+ const readAbort = useRef(null);
87
+ const onTitleRef = useRef(onTitle);
88
+ onTitleRef.current = onTitle;
89
+ const load = useCallback(async () => {
90
+ readAbort.current?.abort();
91
+ const abort = new AbortController();
92
+ readAbort.current = abort;
93
+ try {
94
+ setError(null);
95
+ const next = await loadSiteSnapshot(client, workspaceId, siteId, {
96
+ signal: abort.signal,
97
+ includeArchivedContent: true
98
+ });
99
+ if (abort.signal.aborted) return;
100
+ setSnapshot(next);
101
+ onTitleRef.current?.(next.detail.artifact.title);
102
+ } catch (nextError) {
103
+ if (abort.signal.aborted) return;
104
+ setSnapshot(null);
105
+ setError(nextError);
106
+ }
107
+ }, [client, siteId, workspaceId]);
108
+ useEffect(() => {
109
+ setSnapshot(null);
110
+ void load();
111
+ return () => readAbort.current?.abort();
112
+ }, [load]);
113
+ const content = snapshot?.content;
114
+ const bridge = useMemo(
115
+ () => content ? toolBridge?.({
116
+ artifactId: siteId,
117
+ siteVersionId: content.versionId,
118
+ requestedTools: content.requestedTools
119
+ }) : void 0,
120
+ [content, siteId, toolBridge]
121
+ );
122
+ if (error)
123
+ return /* @__PURE__ */ jsx(
124
+ ArtifactProblem,
125
+ {
126
+ view: artifactLoadErrorView(error, "site", labels),
127
+ onRetry: () => void load()
128
+ }
129
+ );
130
+ if (!snapshot || !content) return /* @__PURE__ */ jsx(ArtifactLoading, { label: loadingLabel ?? labels.loadingSite });
131
+ if (snapshot.detail.artifact.status === "archived")
132
+ return /* @__PURE__ */ jsx("div", { className: "p-4 text-sm text-fg-muted", children: archivedMessage ?? labels.siteArchived });
42
133
  return /* @__PURE__ */ jsx(
43
- "iframe",
134
+ ArtifactSandbox,
44
135
  {
45
- title: props.title,
46
- sandbox: PUBLISHED_HTML_ARTIFACT_IFRAME_SANDBOX,
47
- referrerPolicy: "no-referrer",
48
- srcDoc: props.html,
49
- className: props.className,
50
- style: props.style
136
+ html: content.html,
137
+ title: snapshot.detail.artifact.title,
138
+ showTitle,
139
+ versionLabel: `v${snapshot.detail.artifact.currentVersion?.revision}`,
140
+ toolBridge: bridge,
141
+ connectedToolCount: content.requestedTools.length,
142
+ theme,
143
+ fill: true,
144
+ className: className ?? "h-full rounded-none border-0"
51
145
  }
52
146
  );
53
147
  }
54
148
 
149
+ // src/components/artifacts/editable-artifact-view.tsx
150
+ import {
151
+ createBrowserEditableArtifactSession as createBrowserEditableArtifactSession2
152
+ } from "@opengeni/sdk/editable-artifacts";
153
+ import { useCallback as useCallback3, useEffect as useEffect3, useMemo as useMemo2, useRef as useRef3, useState as useState3 } from "react";
154
+
55
155
  // src/components/artifacts/editable-artifact-workbench.tsx
56
156
  import {
57
157
  createBrowserEditableArtifactSession
58
158
  } from "@opengeni/sdk/editable-artifacts";
59
- import { useCallback, useEffect, useRef, useState } from "react";
159
+ import { useCallback as useCallback2, useEffect as useEffect2, useRef as useRef2, useState as useState2 } from "react";
60
160
  import { jsx as jsx2 } from "react/jsx-runtime";
61
161
  function EditableArtifactWorkbench({
62
162
  session,
@@ -87,13 +187,13 @@ function EditableArtifactWorkbenchHost({
87
187
  spreadsheet,
88
188
  presentation
89
189
  }) {
90
- const createSessionRef = useRef(createSession);
91
- const [retryEpoch, setRetryEpoch] = useState(0);
92
- const [state, setState] = useState({ key: null, session: null, error: null });
93
- useEffect(() => {
190
+ const createSessionRef = useRef2(createSession);
191
+ const [retryEpoch, setRetryEpoch] = useState2(0);
192
+ const [state, setState] = useState2({ key: null, session: null, error: null });
193
+ useEffect2(() => {
94
194
  createSessionRef.current = createSession;
95
195
  }, [createSession]);
96
- useEffect(() => {
196
+ useEffect2(() => {
97
197
  let owned = null;
98
198
  setState({ key: sessionKey, session: null, error: null });
99
199
  try {
@@ -112,7 +212,8 @@ function EditableArtifactWorkbenchHost({
112
212
  if (closing) void closing.close().catch(() => void 0);
113
213
  };
114
214
  }, [retryEpoch, sessionKey]);
115
- const retry = useCallback(() => setRetryEpoch((value) => value + 1), []);
215
+ const retry = useCallback2(() => setRetryEpoch((value) => value + 1), []);
216
+ const labels = useArtifactLabels();
116
217
  const currentError = state.key === sessionKey ? state.error : null;
117
218
  if (state.key === sessionKey && state.session) {
118
219
  return /* @__PURE__ */ jsx2(
@@ -128,9 +229,10 @@ function EditableArtifactWorkbenchHost({
128
229
  return /* @__PURE__ */ jsx2(
129
230
  EditableArtifactMessage,
130
231
  {
131
- title: currentError ? "Could not open this artifact" : "Opening artifact",
132
- detail: currentError?.message ?? "Starting the secure editing session\u2026",
133
- retry: currentError ? retry : void 0
232
+ title: currentError ? labels.editableErrors.transient.title : labels.opening,
233
+ detail: currentError?.message ?? labels.startingEditor,
234
+ retry: currentError ? retry : void 0,
235
+ retryLabel: labels.retry
134
236
  }
135
237
  );
136
238
  }
@@ -141,7 +243,7 @@ function BrowserEditableArtifactWorkbench({
141
243
  presentation
142
244
  }) {
143
245
  const sessionKey = browserSessionKey(options);
144
- const createSession = useCallback(() => createBrowserEditableArtifactSession(options), [options]);
246
+ const createSession = useCallback2(() => createBrowserEditableArtifactSession(options), [options]);
145
247
  return /* @__PURE__ */ jsx2(
146
248
  EditableArtifactWorkbenchHost,
147
249
  {
@@ -173,13 +275,375 @@ function browserSessionKey(options) {
173
275
  (_key, value) => value instanceof URL ? value.href : value
174
276
  );
175
277
  }
278
+
279
+ // src/components/artifacts/editable-artifact-view.tsx
280
+ import { jsx as jsx3 } from "react/jsx-runtime";
281
+ function EditableArtifactView({
282
+ baseUrl,
283
+ workspaceId,
284
+ artifactId,
285
+ open,
286
+ runtimes,
287
+ transport,
288
+ showHeader = true,
289
+ authorityKey,
290
+ describeError,
291
+ onTitle,
292
+ loadingLabel
293
+ }) {
294
+ const [loadEpoch, setLoadEpoch] = useState3(0);
295
+ const labels = useArtifactLabels();
296
+ const loadKey = JSON.stringify([artifactId, authorityKey, baseUrl.href, workspaceId, loadEpoch]);
297
+ const [state, setState] = useState3({ key: null, kind: "loading" });
298
+ const current = state.key === loadKey ? state : null;
299
+ const openRef = useRef3(open);
300
+ openRef.current = open;
301
+ const onTitleRef = useRef3(onTitle);
302
+ onTitleRef.current = onTitle;
303
+ useEffect3(() => {
304
+ const abort = new AbortController();
305
+ setState({ key: loadKey, kind: "loading" });
306
+ void openRef.current(abort.signal).then((value) => {
307
+ if (abort.signal.aborted) return;
308
+ setState({ key: loadKey, kind: "ready", value });
309
+ onTitleRef.current?.(value.artifact.title);
310
+ }).catch((error) => {
311
+ if (!abort.signal.aborted) setState({ key: loadKey, kind: "error", error });
312
+ });
313
+ return () => abort.abort();
314
+ }, [loadKey]);
315
+ const ready = current?.kind === "ready" ? current.value : null;
316
+ const transportRef = useRef3(transport);
317
+ transportRef.current = transport;
318
+ const sessionKey = useMemo2(
319
+ () => ready ? JSON.stringify({
320
+ baseUrl: baseUrl.href,
321
+ authorityKey,
322
+ workspaceId,
323
+ artifact: { id: ready.artifact.id, modality: ready.artifact.modality },
324
+ authority: ready.authority,
325
+ replicaId: ready.replicaId,
326
+ workerUrl: runtimes.workerUrl
327
+ }) : "",
328
+ [authorityKey, baseUrl.href, ready, runtimes.workerUrl, workspaceId]
329
+ );
330
+ const createSession = useCallback3(() => {
331
+ if (!ready) throw new Error("Artifact is not open");
332
+ return createBrowserEditableArtifactSession2({
333
+ baseUrl,
334
+ workspaceId,
335
+ artifact: ready.artifact,
336
+ storageAuthority: ready.authority,
337
+ replicaId: ready.replicaId,
338
+ runtime: {
339
+ ...runtimeFor(runtimes, ready.artifact.modality),
340
+ workerUrl: runtimes.workerUrl,
341
+ ...runtimes.applicationOrigin ? { applicationOrigin: runtimes.applicationOrigin } : {},
342
+ ...runtimes.allowInsecureDevelopmentAssets ? { allowInsecureDevelopmentAssets: true } : {}
343
+ },
344
+ ...transportRef.current ? { transport: transportRef.current } : {}
345
+ });
346
+ }, [baseUrl, ready, runtimes, workspaceId]);
347
+ if (!current || current.kind === "loading")
348
+ return /* @__PURE__ */ jsx3(ArtifactLoading, { label: loadingLabel ?? labels.opening });
349
+ if (current.kind === "error") {
350
+ return /* @__PURE__ */ jsx3(
351
+ ArtifactProblem,
352
+ {
353
+ view: describeError ? describeError(current.error) : artifactLoadErrorView(current.error, "editable", labels),
354
+ onRetry: () => setLoadEpoch((value) => value + 1)
355
+ }
356
+ );
357
+ }
358
+ const { artifact } = current.value;
359
+ const surface = { title: artifact.title, showHeader };
360
+ return /* @__PURE__ */ jsx3("div", { className: "h-full min-h-0 bg-og-bg text-og-fg", children: /* @__PURE__ */ jsx3(
361
+ EditableArtifactWorkbenchHost,
362
+ {
363
+ sessionKey,
364
+ createSession,
365
+ document: surface,
366
+ spreadsheet: surface,
367
+ presentation: surface
368
+ }
369
+ ) });
370
+ }
371
+ function runtimeFor(runtimes, modality) {
372
+ switch (modality) {
373
+ case "document":
374
+ return runtimes.document;
375
+ case "spreadsheet":
376
+ return runtimes.spreadsheet;
377
+ case "presentation":
378
+ return runtimes.presentation;
379
+ }
380
+ }
381
+
382
+ // src/components/artifacts/session-artifact-viewer.tsx
383
+ import { SESSION_SCOPE_HEADER } from "@opengeni/sdk";
384
+ import { createEditableArtifactReplicaId } from "@opengeni/sdk/editable-artifacts";
385
+ import { useCallback as useCallback4, useEffect as useEffect4, useMemo as useMemo3, useRef as useRef4, useState as useState4 } from "react";
386
+ import { jsx as jsx4, jsxs } from "react/jsx-runtime";
387
+ var viewerClientKeys = /* @__PURE__ */ new WeakMap();
388
+ function viewerClientKey(client) {
389
+ let key = viewerClientKeys.get(client);
390
+ if (!key) {
391
+ key = crypto.randomUUID();
392
+ viewerClientKeys.set(client, key);
393
+ }
394
+ return key;
395
+ }
396
+ function SessionArtifactViewer({ labels, ...props }) {
397
+ return /* @__PURE__ */ jsx4(ArtifactLabelsProvider, { labels, children: /* @__PURE__ */ jsx4(Viewer, { ...props }) });
398
+ }
399
+ function Viewer({
400
+ client: clientOverride,
401
+ workspaceId: workspaceOverride,
402
+ sessionId,
403
+ target,
404
+ onClose,
405
+ onBack,
406
+ editableRuntimes,
407
+ theme,
408
+ siteToolBridge,
409
+ className
410
+ }) {
411
+ const labels = useArtifactLabels();
412
+ const context = useOpenGeni({ client: clientOverride, workspaceId: workspaceOverride });
413
+ const base = context.client;
414
+ const workspaceId = context.workspaceId;
415
+ const client = useMemo3(
416
+ () => base.withHeaders({ [SESSION_SCOPE_HEADER]: sessionId }),
417
+ [base, sessionId]
418
+ );
419
+ const [loaded, setLoaded] = useState4(null);
420
+ const targetKey = `${target.kind}:${target.artifactId}`;
421
+ const current = loaded?.key === targetKey && loaded.client === client && loaded.workspaceId === workspaceId ? loaded : null;
422
+ const kind = target.kind === "site" ? "site" : current?.kind ?? null;
423
+ const [unavailable, setUnavailable] = useState4(null);
424
+ const markUnavailable = useCallback4(
425
+ () => setUnavailable({ key: targetKey, client, workspaceId }),
426
+ [client, targetKey, workspaceId]
427
+ );
428
+ const title = current?.title ?? target.title ?? (unavailable?.key === targetKey && unavailable.client === client && unavailable.workspaceId === workspaceId ? labels.artifact : labels.opening);
429
+ return /* @__PURE__ */ jsxs(
430
+ "section",
431
+ {
432
+ "aria-label": title,
433
+ "data-og-artifact-viewer": target.kind,
434
+ className: cn("og-root flex h-full min-h-0 w-full min-w-0 flex-col bg-bg text-fg", className),
435
+ children: [
436
+ /* @__PURE__ */ jsx4(
437
+ ArtifactViewerHeader,
438
+ {
439
+ kind,
440
+ title,
441
+ onBack,
442
+ backLabel: labels.back,
443
+ onClose,
444
+ closeLabel: labels.close
445
+ }
446
+ ),
447
+ /* @__PURE__ */ jsx4("div", { className: "flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden", children: target.kind === "site" ? /* @__PURE__ */ jsx4(
448
+ SiteView,
449
+ {
450
+ client,
451
+ workspaceId,
452
+ siteId: target.artifactId,
453
+ theme,
454
+ toolBridge: siteToolBridge,
455
+ showTitle: false,
456
+ onTitle: (next) => setLoaded({ key: targetKey, client, workspaceId, title: next, kind: "site" })
457
+ },
458
+ targetKey
459
+ ) : /* @__PURE__ */ jsx4(
460
+ EditableBody,
461
+ {
462
+ client,
463
+ workspaceId,
464
+ sessionId,
465
+ artifactId: target.artifactId,
466
+ runtimes: editableRuntimes,
467
+ onOpened: (next, modality) => setLoaded({ key: targetKey, client, workspaceId, title: next, kind: modality }),
468
+ onUnavailable: markUnavailable
469
+ },
470
+ targetKey
471
+ ) })
472
+ ]
473
+ }
474
+ );
475
+ }
476
+ function EditableBody({
477
+ client,
478
+ workspaceId,
479
+ sessionId,
480
+ artifactId,
481
+ runtimes,
482
+ onOpened,
483
+ onUnavailable
484
+ }) {
485
+ const labels = useArtifactLabels();
486
+ const clientKey = viewerClientKey(client);
487
+ const [retryEpoch, setRetryEpoch] = useState4(0);
488
+ const [configState, setConfigState] = useState4(null);
489
+ const current = configState?.client === client && configState.workspaceId === workspaceId && configState.sessionId === sessionId ? configState.result : null;
490
+ const config = current?.kind === "ready" ? current.config : null;
491
+ const scopeRef = useRef4({ client, workspaceId, sessionId });
492
+ scopeRef.current = { client, workspaceId, sessionId };
493
+ useEffect4(() => {
494
+ let live = true;
495
+ setConfigState(null);
496
+ client.getClientConfig().then(
497
+ (value) => live && setConfigState({
498
+ client,
499
+ workspaceId,
500
+ sessionId,
501
+ result: value.artifacts ? { kind: "ready", config: value.artifacts } : { kind: "unavailable" }
502
+ }),
503
+ (error) => live && setConfigState({ client, workspaceId, sessionId, result: { kind: "error", error } })
504
+ );
505
+ return () => {
506
+ live = false;
507
+ };
508
+ }, [client, retryEpoch, sessionId, workspaceId]);
509
+ const baseUrl = useMemo3(
510
+ () => new URL(client.apiUrl("/"), globalThis.location?.href ?? "http://localhost/"),
511
+ [client]
512
+ );
513
+ const transport = useMemo3(() => {
514
+ if (!config) return void 0;
515
+ const socket = new URL(config.editableLiveUrl);
516
+ let scope = new AbortController();
517
+ const checkCurrent = (signal) => {
518
+ signal.throwIfAborted();
519
+ if (scopeRef.current.client !== client || scopeRef.current.workspaceId !== workspaceId || scopeRef.current.sessionId !== sessionId) {
520
+ throw new DOMException("Artifact viewer scope changed", "AbortError");
521
+ }
522
+ };
523
+ return {
524
+ activate: () => {
525
+ if (scope.signal.aborted) scope = new AbortController();
526
+ },
527
+ abort: () => scope.abort(),
528
+ fetch: async (input, init) => {
529
+ const signal = AbortSignal.any([scope.signal, ...init?.signal ? [init.signal] : []]);
530
+ checkCurrent(signal);
531
+ const url = new URL(input instanceof Request ? input.url : input, baseUrl);
532
+ if (init?.method === "POST" && url.pathname === new URL(
533
+ `v1/workspaces/${encodeURIComponent(workspaceId)}/editable-artifacts/${encodeURIComponent(artifactId)}/live-ticket`,
534
+ baseUrl
535
+ ).pathname) {
536
+ const next = (await client.getClientConfig({ signal })).artifacts;
537
+ checkCurrent(signal);
538
+ if (!next || artifactCapabilityKey(next) !== artifactCapabilityKey(config)) {
539
+ setConfigState({
540
+ client,
541
+ workspaceId,
542
+ sessionId,
543
+ result: next ? { kind: "ready", config: next } : { kind: "unavailable" }
544
+ });
545
+ scope.abort();
546
+ signal.throwIfAborted();
547
+ }
548
+ const { replicaId } = await new Request(input, init).json();
549
+ if (typeof replicaId !== "string") throw new TypeError("Artifact replica is required");
550
+ await client.getEditableArtifact(workspaceId, artifactId, { replicaId, signal });
551
+ checkCurrent(signal);
552
+ }
553
+ return client.fetchApi(url, { ...init, signal });
554
+ },
555
+ webSocketUrl: socket,
556
+ ...isLoopback(baseUrl) && isLoopback(socket) ? { allowInsecureDevelopmentTransport: true } : {}
557
+ };
558
+ }, [artifactId, baseUrl, client, config, sessionId, workspaceId]);
559
+ useEffect4(() => {
560
+ transport?.activate();
561
+ return () => transport?.abort();
562
+ }, [transport]);
563
+ const blocked = current !== null && (current.kind !== "ready" || !runtimes);
564
+ useEffect4(() => {
565
+ if (blocked) onUnavailable();
566
+ }, [blocked, onUnavailable]);
567
+ if (!current) return /* @__PURE__ */ jsx4(ArtifactLoading, { label: labels.opening });
568
+ if (current.kind === "error") {
569
+ return /* @__PURE__ */ jsx4(
570
+ ArtifactProblem,
571
+ {
572
+ view: artifactLoadErrorView(current.error, "editable", labels),
573
+ onRetry: () => setRetryEpoch((value) => value + 1)
574
+ }
575
+ );
576
+ }
577
+ if (!config || !transport) {
578
+ return /* @__PURE__ */ jsx4(ArtifactProblem, { view: { ...labels.viewingDisabled, retryable: false } });
579
+ }
580
+ if (!runtimes) {
581
+ return /* @__PURE__ */ jsx4(ArtifactProblem, { view: { ...labels.editorsMissing, retryable: false } });
582
+ }
583
+ return /* @__PURE__ */ jsx4(
584
+ EditableArtifactView,
585
+ {
586
+ baseUrl,
587
+ workspaceId,
588
+ artifactId,
589
+ authorityKey: JSON.stringify([clientKey, sessionId, artifactCapabilityKey(config)]),
590
+ runtimes: {
591
+ ...runtimes,
592
+ ...isLoopback(baseUrl) ? { allowInsecureDevelopmentAssets: true } : {}
593
+ },
594
+ transport,
595
+ showHeader: false,
596
+ open: async (signal) => {
597
+ const replicaId = createEditableArtifactReplicaId();
598
+ const artifact = await client.getEditableArtifact(workspaceId, artifactId, {
599
+ replicaId,
600
+ signal
601
+ });
602
+ signal.throwIfAborted();
603
+ onOpened(artifact.title, artifact.modality);
604
+ return {
605
+ artifact,
606
+ replicaId,
607
+ authority: {
608
+ deploymentOrigin: baseUrl.origin,
609
+ workspaceId,
610
+ ...config.cachePartition
611
+ }
612
+ };
613
+ }
614
+ }
615
+ );
616
+ }
617
+ function artifactCapabilityKey(config) {
618
+ return JSON.stringify([
619
+ config.editableLiveUrl,
620
+ config.cachePartition.accountId,
621
+ config.cachePartition.principalId,
622
+ config.cachePartition.authorizationEpoch
623
+ ]);
624
+ }
625
+ function isLoopback(url) {
626
+ return (url.protocol === "http:" || url.protocol === "ws:") && (url.hostname === "localhost" || url.hostname === "127.0.0.1" || url.hostname === "[::1]");
627
+ }
176
628
  export {
629
+ ArtifactBadge,
630
+ ArtifactButton,
631
+ ArtifactLabelsProvider,
632
+ ArtifactLoading,
633
+ ArtifactProblem,
634
+ ArtifactSandbox,
635
+ ArtifactSelect,
177
636
  ArtifactSurface,
637
+ ArtifactViewerHeader,
178
638
  BrowserEditableArtifactWorkbench,
639
+ ChatInteractiveBlock,
640
+ DEFAULT_ARTIFACT_LABELS,
641
+ DeferredChatMedia,
179
642
  DocumentArtifactSurface,
180
643
  DocumentEditor,
181
644
  DocumentProjectionArtifactSurface,
182
645
  DocumentProjectionEditor,
646
+ EditableArtifactView,
183
647
  EditableArtifactWorkbench,
184
648
  EditableArtifactWorkbenchHost,
185
649
  EditableDocumentArtifactSurface,
@@ -192,8 +656,20 @@ export {
192
656
  PresentationProjectionArtifactSurface,
193
657
  PresentationProjectionEditor,
194
658
  PublishedHtmlArtifactFrame,
659
+ SessionArtifactViewer,
660
+ SiteView,
195
661
  SpreadsheetArtifactSurface,
196
662
  SpreadsheetGrid,
197
- SpreadsheetProjectionGrid
663
+ SpreadsheetProjectionGrid,
664
+ artifactKindIcon,
665
+ artifactKindSubtitle,
666
+ artifactLoadErrorMessage,
667
+ artifactLoadErrorView,
668
+ inlineHtmlDocument,
669
+ isRetainedImageContentType,
670
+ openGeniSiteBridgePortFromBootstrap,
671
+ publishedHtmlArtifactDocument,
672
+ useArtifactLabels,
673
+ useRetainedImageObjectUrl
198
674
  };
199
675
  //# sourceMappingURL=artifacts.js.map