@opengeni/react 6.7.0 → 6.8.0

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 (758) hide show
  1. package/dist/app/app-state.js +9 -9
  2. package/dist/app/components/Composer.js +20 -20
  3. package/dist/app/components/agent/agent-capability-picker.js +6 -6
  4. package/dist/app/components/artifacts/artifact-browse-controls.js +2 -2
  5. package/dist/app/components/artifacts/artifact-library.js +13 -13
  6. package/dist/app/components/artifacts/artifact-viewer.js +21 -21
  7. package/dist/app/components/artifacts/chat-interactive-block.js +14 -14
  8. package/dist/app/components/artifacts/copy-artifact-link.js +2 -2
  9. package/dist/app/components/artifacts/file-reach-dialog.js +7 -7
  10. package/dist/app/components/artifacts/inline-chat-image.js +22 -22
  11. package/dist/app/components/artifacts/retained-file-preview.js +23 -23
  12. package/dist/app/components/artifacts/retained-text-preview.js +3 -3
  13. package/dist/app/components/artifacts/site-actions.d.ts +43 -0
  14. package/dist/app/components/artifacts/site-actions.js +38 -0
  15. package/dist/app/components/artifacts/site-audience.js +5 -5
  16. package/dist/app/components/artifacts/site-conversations.js +13 -13
  17. package/dist/app/components/artifacts/site-data.js +14 -14
  18. package/dist/app/components/artifacts/site-publishing-page.js +31 -31
  19. package/dist/app/components/artifacts/site-publishing.js +25 -25
  20. package/dist/app/components/artifacts/site-settings.js +30 -30
  21. package/dist/app/components/artifacts/site-version-menu.js +3 -3
  22. package/dist/app/components/billing-class-mark.js +3 -3
  23. package/dist/app/components/bots/bot-launch-strip.js +23 -23
  24. package/dist/app/components/bots/bot-template-dialog.js +30 -30
  25. package/dist/app/components/bots/bot-template-shortcuts.js +23 -23
  26. package/dist/app/components/bots/bot-templates-page.js +37 -37
  27. package/dist/app/components/capabilities/capability-detail-sheet.js +9 -9
  28. package/dist/app/components/capabilities/capability-logo-source.js +14 -15
  29. package/dist/app/components/capabilities/connection-ownership-selector.js +4 -4
  30. package/dist/app/components/capabilities/connector-tool-permissions.js +4 -4
  31. package/dist/app/components/capabilities/detail-dialog.js +3 -3
  32. package/dist/app/components/capabilities/native-connect-setup.js +16 -17
  33. package/dist/app/components/capabilities/native-connect-setup.js.map +1 -1
  34. package/dist/app/components/capabilities/own-logins-shared-heads-up.js +3 -3
  35. package/dist/app/components/capabilities/prepared-mcp-setup-card.js +16 -17
  36. package/dist/app/components/capabilities/session-capability-card.js +49 -50
  37. package/dist/app/components/capabilities/session-capability-card.js.map +1 -1
  38. package/dist/app/components/capabilities/session-chrome-card.js +24 -25
  39. package/dist/app/components/capabilities/session-custom-mcp-card.js +17 -18
  40. package/dist/app/components/capabilities/session-github-card.js +17 -18
  41. package/dist/app/components/capabilities/session-machine-card.js +23 -24
  42. package/dist/app/components/capabilities/session-personal-github-card.js +15 -16
  43. package/dist/app/components/capabilities/session-plugin-card.js +9 -10
  44. package/dist/app/components/capabilities/use-connection-accounts.js +2 -2
  45. package/dist/app/components/command-menu/chat-status.js +19 -19
  46. package/dist/app/components/command-menu/chat-switcher.js +35 -35
  47. package/dist/app/components/command-menu/command-menu.js +42 -42
  48. package/dist/app/components/command-menu/shortcut-sheet.js +11 -11
  49. package/dist/app/components/composer-capabilities-menu-body.js +4 -4
  50. package/dist/app/components/composer-mobile-plus-panel.js +10 -10
  51. package/dist/app/components/composer-mobile-plus.js +3 -3
  52. package/dist/app/components/credit-required-gate.js +1 -1
  53. package/dist/app/components/credit-required-prompt.js +4 -4
  54. package/dist/app/components/credits/checkout-credits-celebration.js +3 -3
  55. package/dist/app/components/credits/checkout-return.js +3 -3
  56. package/dist/app/components/credits/credit-refusal-notice.js +2 -2
  57. package/dist/app/components/desktop/app-shots.js +6 -6
  58. package/dist/app/components/desktop/computer-use.js +2 -2
  59. package/dist/app/components/desktop/this-computer.js +5 -5
  60. package/dist/app/components/feedback.js +5 -5
  61. package/dist/app/components/github-app-connect-launcher.js +1 -1
  62. package/dist/app/components/machines/connect-machine-dialog.js +14 -14
  63. package/dist/app/components/markdown.js +7 -7
  64. package/dist/app/components/models/models-ui.js +6 -6
  65. package/dist/app/components/my-things.js +6 -6
  66. package/dist/app/components/own-where-it-works.js +5 -5
  67. package/dist/app/components/personal-resource-attachment-surface.js +4 -4
  68. package/dist/app/components/pickers.js +5 -5
  69. package/dist/app/components/rail/channel-create-dialog.js +5 -5
  70. package/dist/app/components/rail/project-glyph.js +23 -23
  71. package/dist/app/components/rail/project-profile.js +32 -32
  72. package/dist/app/components/rail/rail-context.js +1 -1
  73. package/dist/app/components/rail/rail-sections.js +70 -61
  74. package/dist/app/components/rail/session-header.js +54 -53
  75. package/dist/app/components/rail/session-list.js +68 -59
  76. package/dist/app/components/rail/session-row-content.js +4 -4
  77. package/dist/app/components/rail/session-row-hover-details.js +18 -18
  78. package/dist/app/components/rail/session-shell.js +89 -80
  79. package/dist/app/components/rail/site-session-group-heading.js +29 -12
  80. package/dist/app/components/session/agent-configuration-panel.js +14 -14
  81. package/dist/app/components/session/artifact-session-page.js +5 -5
  82. package/dist/app/components/session/banners.js +9 -9
  83. package/dist/app/components/session/console-new-conversation.js +43 -44
  84. package/dist/app/components/session/descendant-requests.js +39 -40
  85. package/dist/app/components/session/descendant-requests.js.map +1 -1
  86. package/dist/app/components/session/editable-artifacts-workspace.js +27 -27
  87. package/dist/app/components/session/failed-session-banner.js +9 -9
  88. package/dist/app/components/session/failure-recovery-boundary.js +3 -3
  89. package/dist/app/components/session/human-input-delegation-record.js +2 -2
  90. package/dist/app/components/session/human-input.js +37 -38
  91. package/dist/app/components/session/inspector.js +47 -48
  92. package/dist/app/components/session/inspector.js.map +1 -1
  93. package/dist/app/components/session/message-actions.js +5 -5
  94. package/dist/app/components/session/message-resource-attachments.js +13 -13
  95. package/dist/app/components/session/model-recovery-notice.js +3 -3
  96. package/dist/app/components/session/new-session-settings-menu.js +6 -6
  97. package/dist/app/components/session/new-session-setup-strip.js +24 -24
  98. package/dist/app/components/session/sandbox-recovery-actions.js +5 -5
  99. package/dist/app/components/session/sandbox-switcher.js +8 -8
  100. package/dist/app/components/session/sandbox-workspace.js +52 -53
  101. package/dist/app/components/session/search-markdown-highlight.js +8 -8
  102. package/dist/app/components/session/search-results-view.js +9 -9
  103. package/dist/app/components/session/session-admin-access.js +5 -5
  104. package/dist/app/components/session/session-admission-notice.js +4 -4
  105. package/dist/app/components/session/session-avatar-picker.js +24 -24
  106. package/dist/app/components/session/session-avatar.js +22 -22
  107. package/dist/app/components/session/session-machine-access-notice.js +4 -4
  108. package/dist/app/components/session/session-profile-dialog.js +29 -29
  109. package/dist/app/components/session/session-profile-editor.js +30 -30
  110. package/dist/app/components/session/session-retention.js +3 -3
  111. package/dist/app/components/session/session-search-dialog.js +11 -11
  112. package/dist/app/components/session/session-tenancy-control.js +4 -4
  113. package/dist/app/components/session/session-usage-limit-section.js +4 -4
  114. package/dist/app/components/session/share-chat-dialog.js +7 -7
  115. package/dist/app/components/session/subagents.js +12 -12
  116. package/dist/app/components/session/subscription-account-indicator.js +6 -6
  117. package/dist/app/components/settings/row-select.js +4 -4
  118. package/dist/app/components/transcription-settings.js +6 -6
  119. package/dist/app/components/ui/destructive-confirm.js +7 -7
  120. package/dist/app/components/usage/usage-entry.js +3 -3
  121. package/dist/app/components/window-bar.d.ts +3 -1
  122. package/dist/app/components/window-bar.js +13 -11
  123. package/dist/app/components/workspace-composer-plus.js +19 -20
  124. package/dist/app/components/workspace-reach.js +4 -4
  125. package/dist/app/embed/session-app.js +173 -167
  126. package/dist/app/lib/actions/actions-provider.js +9 -9
  127. package/dist/app/lib/agent-capabilities.js +3 -3
  128. package/dist/app/lib/codex-usage-query.js +2 -2
  129. package/dist/app/lib/composer-connectors.js +15 -16
  130. package/dist/app/lib/composer-send-blocking.d.ts +135 -1
  131. package/dist/app/lib/composer-send-blocking.js +30 -3
  132. package/dist/app/lib/console-site.js +2 -2
  133. package/dist/app/lib/console-text.js +2 -2
  134. package/dist/app/lib/copy-link.d.ts +2 -0
  135. package/dist/app/lib/events.js +15 -15
  136. package/dist/app/lib/failed-session-copy.js +4 -4
  137. package/dist/app/lib/model-access-onboarding.js +3 -3
  138. package/dist/app/lib/model-access.js +2 -2
  139. package/dist/app/lib/move-chat-to-machine.js +3 -3
  140. package/dist/app/lib/session-branch-cache.js +12 -12
  141. package/dist/app/lib/session-composer-readiness.d.ts +2 -2
  142. package/dist/app/lib/session-create.js +4 -4
  143. package/dist/app/lib/session-group-pagination.js +12 -12
  144. package/dist/app/lib/session-hover-facts.js +17 -17
  145. package/dist/app/lib/session-model.js +2 -2
  146. package/dist/app/lib/session-rail.js +9 -9
  147. package/dist/app/lib/session-rename.js +3 -3
  148. package/dist/app/lib/sessions-group.js +11 -11
  149. package/dist/app/lib/site-sidebar-bridge.d.ts +24 -0
  150. package/dist/app/lib/site-tool-consent-dialog.js +9 -10
  151. package/dist/app/lib/site-tool-consent-dialog.js.map +1 -1
  152. package/dist/app/lib/site-tool-consent.js +1 -1
  153. package/dist/app/lib/turn-failure-analytics.js +5 -5
  154. package/dist/app/lib/use-follow-up-repositories.js +5 -5
  155. package/dist/app/lib/use-workspace-machines.js +5 -5
  156. package/dist/app/lib/use-workspace-model-catalog.js +3 -3
  157. package/dist/app/lib/use-workspace-rigs.js +2 -2
  158. package/dist/app/lib/workspace-navigation-preference.js +4 -4
  159. package/dist/app/lib/workspace-scope-context.js +3 -3
  160. package/dist/app/routes/artifacts.js +69 -69
  161. package/dist/app/routes/retained-artifact.js +48 -48
  162. package/dist/app/routes/session.js +100 -101
  163. package/dist/app/routes/sessions-index-hydration.js +5 -5
  164. package/dist/app/routes/sessions-index.js +85 -85
  165. package/dist/app/routes/site-view.js +177 -85
  166. package/dist/app/routes/site-view.js.map +1 -1
  167. package/dist/artifacts-document.js +4 -4
  168. package/dist/artifacts-presentation.js +4 -4
  169. package/dist/artifacts-spreadsheet.js +4 -4
  170. package/dist/artifacts.js +13 -13
  171. package/dist/automations.js +12 -12
  172. package/dist/{browser-viewer-TC27OCIP.js → browser-viewer-ZHQDVHZ2.js} +5 -5
  173. package/dist/{chat-interactive-block-RWPQBHVS.js → chat-interactive-block-VSDD6X3M.js} +5 -5
  174. package/dist/{chunk-5MOJZORA.js → chunk-2EA4IRIP.js} +34 -3
  175. package/dist/chunk-2EA4IRIP.js.map +1 -0
  176. package/dist/{chunk-C43KRXGA.js → chunk-2GCHGWNE.js} +3 -3
  177. package/dist/{chunk-XLH7QY2R.js → chunk-2J77TWGH.js} +3 -3
  178. package/dist/{chunk-77WAKEAH.js → chunk-2OXSB2OL.js} +2 -2
  179. package/dist/{chunk-H3T7IWNA.js → chunk-2VJOSU4H.js} +2 -2
  180. package/dist/{chunk-N6AACDUW.js → chunk-34NV52R3.js} +4 -4
  181. package/dist/{chunk-L7YTNTIK.js → chunk-3CDJSKDW.js} +3 -3
  182. package/dist/{chunk-EWSOC6WF.js → chunk-3DRLCX5V.js} +2 -2
  183. package/dist/{chunk-JEUPAVYY.js → chunk-3L465FBR.js} +6 -6
  184. package/dist/{chunk-5NWEKLDZ.js → chunk-3NNAC43A.js} +2 -2
  185. package/dist/{chunk-EDI6SJ2N.js → chunk-3OK7Y6ES.js} +2 -2
  186. package/dist/{chunk-AWKES45Y.js → chunk-3PM3M2Q6.js} +2 -2
  187. package/dist/{chunk-I7XIZRFD.js → chunk-3PZ3LRPV.js} +3 -3
  188. package/dist/{chunk-AW2MQB37.js → chunk-44JWVYJB.js} +2 -2
  189. package/dist/{chunk-2M3J7ZWQ.js → chunk-467WDSOK.js} +2 -2
  190. package/dist/{chunk-UTIAXH52.js → chunk-477DTTMH.js} +3 -3
  191. package/dist/{chunk-J5F5HPPW.js → chunk-4BWMAGJJ.js} +3 -3
  192. package/dist/{chunk-YSJEAAOL.js → chunk-4F3AEJI6.js} +4 -4
  193. package/dist/{chunk-LHPNABDH.js → chunk-4JXPLTWV.js} +2 -2
  194. package/dist/{chunk-RQKLF42C.js → chunk-4K64EKM7.js} +4 -4
  195. package/dist/{chunk-NUNZS36W.js → chunk-4O2XWOLZ.js} +3 -3
  196. package/dist/{chunk-QB2KMIDP.js → chunk-4SJAEPM2.js} +2 -2
  197. package/dist/{chunk-6JHU2UBS.js → chunk-4Z5X7PLC.js} +3 -3
  198. package/dist/{chunk-2STUPWEL.js → chunk-54U6ZBEX.js} +3 -3
  199. package/dist/{chunk-XXSOHN35.js → chunk-5FLYHX5R.js} +2 -2
  200. package/dist/{chunk-MIYFS2XN.js → chunk-5MHMCE2G.js} +3 -3
  201. package/dist/{chunk-YWVI6ZMK.js → chunk-5MIBQ4P5.js} +2 -2
  202. package/dist/chunk-6B73WNLR.js +173 -0
  203. package/dist/chunk-6B73WNLR.js.map +1 -0
  204. package/dist/{chunk-5O2FCCHZ.js → chunk-6QK65ZWM.js} +3 -3
  205. package/dist/{chunk-RPVREAU7.js → chunk-736RUNIA.js} +4 -4
  206. package/dist/{chunk-2KALVELR.js → chunk-74CBR5YE.js} +3 -3
  207. package/dist/{chunk-5IE76VCY.js → chunk-752WXSDN.js} +2 -2
  208. package/dist/{chunk-OPJJSKUK.js → chunk-77B6UCNK.js} +6 -6
  209. package/dist/{chunk-SEO7TICN.js → chunk-77BHKC43.js} +1 -1
  210. package/dist/{chunk-ZUA3JMI6.js → chunk-77SYIH6O.js} +2 -2
  211. package/dist/{chunk-ILDXWY37.js → chunk-7AI4E7PV.js} +2 -2
  212. package/dist/{chunk-C372BFOV.js → chunk-7NLF35YL.js} +4 -4
  213. package/dist/{chunk-IFB3WJ36.js → chunk-7YTR3UFO.js} +4 -4
  214. package/dist/{chunk-BMICEQZQ.js → chunk-7Z76QP64.js} +3 -3
  215. package/dist/{chunk-YWIFM7D7.js → chunk-AAS7OWV6.js} +3 -3
  216. package/dist/{chunk-5QAY6K77.js → chunk-AB5IW227.js} +3 -3
  217. package/dist/{chunk-ZBIXBQNI.js → chunk-ABJZDRW2.js} +2 -2
  218. package/dist/{chunk-4DVJ6ONS.js → chunk-AH3DGOTK.js} +2 -2
  219. package/dist/{chunk-HGKTHF2U.js → chunk-AJBDAVX3.js} +8 -8
  220. package/dist/{chunk-5YKW2K6I.js → chunk-AJDGP2N4.js} +20 -20
  221. package/dist/{chunk-HD5X76TP.js → chunk-AQQT2FIC.js} +5 -5
  222. package/dist/chunk-AQQT2FIC.js.map +1 -0
  223. package/dist/{chunk-SC6RRD2D.js → chunk-ARTEEI2E.js} +11 -2
  224. package/dist/{chunk-SC6RRD2D.js.map → chunk-ARTEEI2E.js.map} +1 -1
  225. package/dist/{chunk-IXPTECSC.js → chunk-AVXDIRRW.js} +2 -2
  226. package/dist/{chunk-QK5EFEUT.js → chunk-BASI553K.js} +4 -4
  227. package/dist/{chunk-CRU35QQH.js → chunk-BFFNINCC.js} +108 -66
  228. package/dist/chunk-BFFNINCC.js.map +1 -0
  229. package/dist/{chunk-Z4FMAFNH.js → chunk-BQYRZIZ7.js} +2 -2
  230. package/dist/{chunk-DZXEDSQI.js → chunk-CEMSIU4Z.js} +5 -5
  231. package/dist/{chunk-FZC5N55X.js → chunk-CH4UQ4NO.js} +5 -5
  232. package/dist/{chunk-7X6SDK2C.js → chunk-CHU3RDV4.js} +3 -3
  233. package/dist/{chunk-Y4OBB2VN.js → chunk-CV4VVLPZ.js} +2 -2
  234. package/dist/{chunk-JQL7ZH6C.js → chunk-CXAN2FHF.js} +7 -7
  235. package/dist/{chunk-F2OPHAUN.js → chunk-CYDXCILL.js} +7 -7
  236. package/dist/{chunk-3PZ7JZI2.js → chunk-D3PTVN2I.js} +2 -2
  237. package/dist/{chunk-FPXASDG5.js → chunk-D5TIVCXG.js} +2 -2
  238. package/dist/{chunk-7W37NS3I.js → chunk-D74Z2N4K.js} +2 -2
  239. package/dist/{chunk-MNZG4OHU.js → chunk-DCEQCGVN.js} +2 -2
  240. package/dist/{chunk-ND2BXV3P.js → chunk-DEHLWZSI.js} +4 -4
  241. package/dist/{chunk-2YUOVM3G.js → chunk-DIP7YALH.js} +2 -2
  242. package/dist/{chunk-6PZ7OBYU.js → chunk-DLVIRJGK.js} +4 -4
  243. package/dist/{chunk-KLEUWIMZ.js → chunk-DQPIEQGP.js} +2 -2
  244. package/dist/{chunk-T2QX3FDP.js → chunk-DWJ6J3YW.js} +4 -4
  245. package/dist/{chunk-3CPWWGNK.js → chunk-E5KOWRDU.js} +2 -2
  246. package/dist/{chunk-6WGRDRMA.js → chunk-EBIVTDEG.js} +2 -2
  247. package/dist/{chunk-KUDGXAF7.js → chunk-EBTUPRRQ.js} +10 -10
  248. package/dist/{chunk-5CPEEAFD.js → chunk-EDDKPIIV.js} +2 -2
  249. package/dist/{chunk-TX3VECZU.js → chunk-EGKARC53.js} +2 -2
  250. package/dist/{chunk-JEA3QDX7.js → chunk-EKJHOWTZ.js} +4 -4
  251. package/dist/{chunk-UVN5TMHU.js → chunk-ESXAECZ3.js} +2 -2
  252. package/dist/{chunk-3SOIESJM.js → chunk-EWZ2RLNG.js} +2 -2
  253. package/dist/{chunk-CMKGILJK.js → chunk-FBA2NXYH.js} +4 -4
  254. package/dist/{chunk-O6N4ABCA.js → chunk-FER6EVIY.js} +2 -2
  255. package/dist/{chunk-DF5EAHDN.js → chunk-FLWQJDJ5.js} +5 -5
  256. package/dist/{chunk-PTAG4PDC.js → chunk-FNXCFIPW.js} +2 -2
  257. package/dist/chunk-FPSS23S4.js +36 -0
  258. package/dist/chunk-FPSS23S4.js.map +1 -0
  259. package/dist/{chunk-BJEJFISW.js → chunk-FSDQQQIA.js} +3 -3
  260. package/dist/{chunk-PTF5B7TJ.js → chunk-G5UQBTXY.js} +2 -2
  261. package/dist/{chunk-4E3ZJRTZ.js → chunk-G6ICCGJ3.js} +2 -2
  262. package/dist/{chunk-NRTE7DNV.js → chunk-GIWFLWXG.js} +4 -4
  263. package/dist/{chunk-MM4FNWI4.js → chunk-GMHIOYB7.js} +4 -4
  264. package/dist/{chunk-6DK6Z4UN.js → chunk-GOCODNQS.js} +3 -3
  265. package/dist/{chunk-TPQTRNER.js → chunk-GSCGKJNK.js} +2 -2
  266. package/dist/{chunk-7VMZGLYI.js → chunk-GTHCHCWW.js} +3 -3
  267. package/dist/{chunk-SQJIKMN3.js → chunk-GTRAH4FG.js} +2 -2
  268. package/dist/{chunk-ZYAZUPPV.js → chunk-GU7T2S5N.js} +3 -3
  269. package/dist/{chunk-JKHKLL5W.js → chunk-H6BX6WOW.js} +3 -3
  270. package/dist/{chunk-IMZCQBOT.js → chunk-H6MJFMHZ.js} +3 -3
  271. package/dist/{chunk-HSOXMJOT.js → chunk-HEGV4QMS.js} +2 -2
  272. package/dist/chunk-HROITVQJ.js +85 -0
  273. package/dist/chunk-HROITVQJ.js.map +1 -0
  274. package/dist/{chunk-OF4TIKYC.js → chunk-HTMQGS63.js} +17 -9
  275. package/dist/chunk-HTMQGS63.js.map +1 -0
  276. package/dist/{chunk-NC7PVOEK.js → chunk-HWVPLFIW.js} +2 -2
  277. package/dist/{chunk-IMDQUHBJ.js → chunk-HYEIA25Y.js} +2 -2
  278. package/dist/{chunk-ECJBYNLJ.js → chunk-ICAMYP5M.js} +2 -2
  279. package/dist/{chunk-DJAXC5OK.js → chunk-IFSXVU2S.js} +2 -2
  280. package/dist/{chunk-I4MRDSUF.js → chunk-IJR6VOLU.js} +3 -3
  281. package/dist/{chunk-YCVD6CI3.js → chunk-IN3VQFKS.js} +2 -2
  282. package/dist/{chunk-BJFH6JI5.js → chunk-IZXYFWA4.js} +13 -13
  283. package/dist/{chunk-MFROMEKA.js → chunk-J2BTILRR.js} +3 -3
  284. package/dist/{chunk-NCYMNCJO.js → chunk-J2WY42FA.js} +2 -2
  285. package/dist/{chunk-DGMR6JEJ.js → chunk-J4XSTXZP.js} +2 -2
  286. package/dist/{chunk-ZTPXACWB.js → chunk-JKL5S7UQ.js} +6 -6
  287. package/dist/{chunk-P77WNZDY.js → chunk-JMHEFZOB.js} +2 -2
  288. package/dist/{chunk-IDANQPRH.js → chunk-JV3UI7BH.js} +3 -3
  289. package/dist/{chunk-NW53H5RW.js → chunk-JV5ULONH.js} +166 -65
  290. package/dist/chunk-JV5ULONH.js.map +1 -0
  291. package/dist/{chunk-FVXBNBHO.js → chunk-K3D7IQQP.js} +6 -6
  292. package/dist/{chunk-XEQMZB3C.js → chunk-K4DQS2ML.js} +24 -6
  293. package/dist/chunk-K4DQS2ML.js.map +1 -0
  294. package/dist/{chunk-GKVJIDHF.js → chunk-KFNZZ2N6.js} +2 -2
  295. package/dist/{chunk-I4QEJ62Y.js → chunk-KI46GKMD.js} +7 -7
  296. package/dist/{chunk-SIRLACNZ.js → chunk-KO3OHHY2.js} +3 -3
  297. package/dist/{chunk-NULUNM7H.js → chunk-KUE5BOQE.js} +5 -5
  298. package/dist/{chunk-O3LKCBP5.js → chunk-LIJNVIT3.js} +3 -3
  299. package/dist/{chunk-JWB44UGJ.js → chunk-LIJPDVYP.js} +2 -2
  300. package/dist/{chunk-KYS77RPN.js → chunk-LPKJ77EK.js} +2 -2
  301. package/dist/{chunk-RMFKVOM7.js → chunk-LQKVNREV.js} +4 -4
  302. package/dist/{chunk-E7XERZWC.js → chunk-LTJFV2JI.js} +2 -2
  303. package/dist/{chunk-INXGSG3J.js → chunk-LVDNY5RC.js} +2 -2
  304. package/dist/{chunk-2INLDVK3.js → chunk-LVELUUK6.js} +2 -2
  305. package/dist/{chunk-TAT5USZN.js → chunk-M3FDGRB4.js} +3 -3
  306. package/dist/{chunk-5EWSRZ2Y.js → chunk-M3HGBO2Y.js} +1 -1
  307. package/dist/{chunk-J3DY5HWQ.js → chunk-M5IQVMLR.js} +4 -4
  308. package/dist/{chunk-53AGXXZM.js → chunk-MKDFYE2E.js} +2 -2
  309. package/dist/{chunk-4SAWSRAA.js → chunk-MRECRNVU.js} +5 -5
  310. package/dist/{chunk-2I7HDP53.js → chunk-MT2R57SF.js} +2 -2
  311. package/dist/{chunk-Z7Y523PS.js → chunk-MV2CLIO6.js} +6 -6
  312. package/dist/{chunk-JZ4NLCAP.js → chunk-MZY3VKKM.js} +2 -2
  313. package/dist/{chunk-YENLNISG.js → chunk-N3FM4BNA.js} +2 -2
  314. package/dist/{chunk-DZWARC4M.js → chunk-NFCS5WYC.js} +3 -3
  315. package/dist/{chunk-I5QZJODL.js → chunk-NQ2CPQJF.js} +3 -3
  316. package/dist/{chunk-6DVCC7QS.js → chunk-OBGOLHCP.js} +164 -43
  317. package/dist/chunk-OBGOLHCP.js.map +1 -0
  318. package/dist/{chunk-CUIWCGMA.js → chunk-OCXEY7HE.js} +2 -2
  319. package/dist/{chunk-VTTAJOQ7.js → chunk-OCXTTKVA.js} +2 -2
  320. package/dist/{chunk-KRDR5RJD.js → chunk-OGU73VUN.js} +2 -2
  321. package/dist/{chunk-YIRVLKAX.js → chunk-OI6VI6SU.js} +9 -9
  322. package/dist/{chunk-BHNSJVBC.js → chunk-OJWDNNW3.js} +5 -5
  323. package/dist/{chunk-X6KAJI3V.js → chunk-OK7BQMCI.js} +9 -9
  324. package/dist/{chunk-I5B5L6Q4.js → chunk-OOOSGPJL.js} +1 -1
  325. package/dist/chunk-OP2GD6QW.js +166 -0
  326. package/dist/chunk-OP2GD6QW.js.map +1 -0
  327. package/dist/{chunk-TUIN4MB7.js → chunk-ORV7EFSL.js} +4 -4
  328. package/dist/{chunk-JDTGRRNU.js → chunk-OSJ366KR.js} +49 -31
  329. package/dist/chunk-OSJ366KR.js.map +1 -0
  330. package/dist/{chunk-3IK6UYO6.js → chunk-OTW25A6I.js} +3 -3
  331. package/dist/{chunk-NPGISCU6.js → chunk-OWET7EY2.js} +16 -16
  332. package/dist/{chunk-CRAOSVHC.js → chunk-OXQ2SXVC.js} +2 -2
  333. package/dist/{chunk-3ED2U6XE.js → chunk-OYCK4JRS.js} +2 -2
  334. package/dist/{chunk-YQXTDZSU.js → chunk-OYOFPNLC.js} +4 -4
  335. package/dist/{chunk-4NQHXYMW.js → chunk-PD7NWM7V.js} +2 -2
  336. package/dist/{chunk-4YCA2Y73.js → chunk-PF2WU2IL.js} +3 -3
  337. package/dist/{chunk-Z654FWNU.js → chunk-PLYVGZIN.js} +2 -2
  338. package/dist/{chunk-MVW6HNPI.js → chunk-PRT4J2DL.js} +2 -2
  339. package/dist/{chunk-TXLIEOJX.js → chunk-PSM3CU7N.js} +111 -80
  340. package/dist/chunk-PSM3CU7N.js.map +1 -0
  341. package/dist/{chunk-OPWCMA4D.js → chunk-PUUEI4W3.js} +6 -6
  342. package/dist/{chunk-RLBKLAEY.js → chunk-PVB4YVDP.js} +2 -2
  343. package/dist/{chunk-NXCMHIKI.js → chunk-PWUSSSSL.js} +2 -2
  344. package/dist/{chunk-MJUCFQMS.js → chunk-PYB4BFEC.js} +3 -3
  345. package/dist/{chunk-2FSBSCZJ.js → chunk-PZKHST7A.js} +2 -2
  346. package/dist/{chunk-QZAAUQRN.js → chunk-Q5EZNBPI.js} +3 -3
  347. package/dist/{chunk-ZHDFQITM.js → chunk-Q5K2J5GG.js} +2 -2
  348. package/dist/{chunk-7T2ZE3VT.js → chunk-QPQ7R77C.js} +8 -1
  349. package/dist/chunk-QPQ7R77C.js.map +1 -0
  350. package/dist/{chunk-6BCXNDEI.js → chunk-QQIZMVAJ.js} +74 -60
  351. package/dist/chunk-QQIZMVAJ.js.map +1 -0
  352. package/dist/{chunk-OV6QJRT4.js → chunk-QRECBCJM.js} +2 -2
  353. package/dist/{chunk-3GZA4BUW.js → chunk-QURYQFDN.js} +2 -2
  354. package/dist/{chunk-VS7AHPCZ.js → chunk-R33SBMB7.js} +3 -3
  355. package/dist/{chunk-KCBMFSMS.js → chunk-R4JA5JFI.js} +3 -3
  356. package/dist/{chunk-HC4JFZVU.js → chunk-R5QAL43H.js} +2 -2
  357. package/dist/{chunk-QPSGCC5D.js → chunk-RGR57NYY.js} +2 -2
  358. package/dist/{chunk-XWFAMUZQ.js → chunk-RHXYO4H2.js} +2 -2
  359. package/dist/{chunk-Y4BB2KS2.js → chunk-RISUROBM.js} +7 -7
  360. package/dist/{chunk-U3DN4HEY.js → chunk-RMCLFSMX.js} +2 -2
  361. package/dist/{chunk-YK7756IF.js → chunk-RTZANSSC.js} +3 -3
  362. package/dist/{chunk-ZEG4VPBL.js → chunk-S27VZ5DO.js} +6 -6
  363. package/dist/{chunk-54YW6SZZ.js → chunk-SBXSKRFA.js} +3 -3
  364. package/dist/{chunk-HAX4LCR5.js → chunk-SFIXTOOJ.js} +3 -3
  365. package/dist/{chunk-QIOQ2NPQ.js → chunk-SGH7I7OY.js} +2 -2
  366. package/dist/{chunk-K2A5PXQ5.js → chunk-SJYTQLN3.js} +3 -3
  367. package/dist/{chunk-2Z3NQNTM.js → chunk-SK5S2PCK.js} +15 -15
  368. package/dist/{chunk-X3MWB2QU.js → chunk-SN2WENRP.js} +3 -3
  369. package/dist/{chunk-OSY5K7L7.js → chunk-SP44O3OU.js} +2 -2
  370. package/dist/{chunk-OZCBM3UC.js → chunk-SSR4ZX52.js} +2 -2
  371. package/dist/{chunk-QCSJ4CWE.js → chunk-SXGJL7UT.js} +14 -14
  372. package/dist/{chunk-NC55IFN3.js → chunk-T67LTMSW.js} +10 -10
  373. package/dist/{chunk-AXHZYXUV.js → chunk-TDTD66BK.js} +2 -2
  374. package/dist/{chunk-NGJJJPZZ.js → chunk-TK5FWVZR.js} +3 -3
  375. package/dist/{chunk-YPWU5KPE.js → chunk-TKQL7EDB.js} +56 -19
  376. package/dist/chunk-TKQL7EDB.js.map +1 -0
  377. package/dist/{chunk-2OP6WLGV.js → chunk-TNSJFZ6Q.js} +4 -4
  378. package/dist/{chunk-O732GAFC.js → chunk-U4LTPFD2.js} +2 -2
  379. package/dist/{chunk-4DVNUCRR.js → chunk-U5UGM5XD.js} +6 -6
  380. package/dist/{chunk-UJK53QFL.js → chunk-UBRQ3PQD.js} +2 -2
  381. package/dist/{chunk-SODC7T6L.js → chunk-UMX6DZME.js} +2 -2
  382. package/dist/{chunk-YLS6QE5G.js → chunk-UO35OEOX.js} +4 -4
  383. package/dist/{chunk-SHHJCL7X.js → chunk-UTRNLNCW.js} +3 -3
  384. package/dist/{chunk-HEFPPMBQ.js → chunk-UU5FBVRX.js} +2 -2
  385. package/dist/{chunk-GQXZPKK7.js → chunk-V6UOVHW3.js} +2 -2
  386. package/dist/{chunk-GVN5SZLX.js → chunk-VATYK3JQ.js} +3 -3
  387. package/dist/{chunk-7TIX2UAR.js → chunk-VCJQQYRE.js} +4 -4
  388. package/dist/{chunk-6WD2INST.js → chunk-WDASYY4S.js} +7 -7
  389. package/dist/{chunk-DXBYWSL5.js → chunk-WIFDNUKD.js} +3 -3
  390. package/dist/{chunk-RT7CJMER.js → chunk-WIXHUBQN.js} +2 -2
  391. package/dist/{chunk-57AZS3IE.js → chunk-WRMUXZ7C.js} +3 -3
  392. package/dist/{chunk-2CLNIEK4.js → chunk-WTSQUCHB.js} +3 -3
  393. package/dist/{chunk-OVKYVZMW.js → chunk-WXF2RTS4.js} +2 -2
  394. package/dist/{chunk-MIHN76LX.js → chunk-WYGTAQMX.js} +3 -3
  395. package/dist/{chunk-2RG7NIAS.js → chunk-X2QJXDE4.js} +10 -10
  396. package/dist/{chunk-GAVYGBFI.js → chunk-XMBOLFFS.js} +2 -2
  397. package/dist/{chunk-T7OXJZCX.js → chunk-XOIDUM2H.js} +1 -1
  398. package/dist/{chunk-ORJPS5VN.js → chunk-XUOYNJPB.js} +97 -37
  399. package/dist/chunk-XUOYNJPB.js.map +1 -0
  400. package/dist/{chunk-XHIQ5I6N.js → chunk-XVLEBB4Y.js} +2 -2
  401. package/dist/{chunk-Q3DPEYX4.js → chunk-XZCCEKPW.js} +7 -7
  402. package/dist/{chunk-T3OWFVMS.js → chunk-Y3XZEKDQ.js} +2 -2
  403. package/dist/{chunk-KODELWYT.js → chunk-YJSCLGAW.js} +3 -3
  404. package/dist/{chunk-ROKQU7WG.js → chunk-YMI27QPF.js} +2 -2
  405. package/dist/{chunk-U7XM7CB4.js → chunk-YNTLWCF4.js} +4 -4
  406. package/dist/{chunk-ZQCND77P.js → chunk-YRYF76OE.js} +2 -2
  407. package/dist/{chunk-2BDT3UZQ.js → chunk-ZAX4XQLN.js} +3 -3
  408. package/dist/{chunk-DXR5PDFP.js → chunk-ZBHGNE2J.js} +3 -3
  409. package/dist/{chunk-I7ITSXSJ.js → chunk-ZR5EKJT6.js} +2 -2
  410. package/dist/{chunk-IZXHMZQ6.js → chunk-ZW5YTIH3.js} +4 -4
  411. package/dist/components/artifacts/artifact-sandbox.d.ts +6 -1
  412. package/dist/components/artifacts/site-view.d.ts +4 -2
  413. package/dist/components/timeline-anchor.d.ts +8 -3
  414. package/dist/components/timeline-reading-progress.d.ts +1 -1
  415. package/dist/components/timeline-settlement.d.ts +1 -1
  416. package/dist/composer-messages.js +2 -2
  417. package/dist/composer.js +10 -10
  418. package/dist/{computer-viewer-TDDO25AV.js → computer-viewer-5LKRCEVQ.js} +5 -5
  419. package/dist/connect.js +13 -14
  420. package/dist/desktop-dictation.js +7 -7
  421. package/dist/desktop.js +2 -2
  422. package/dist/editor.js +2 -2
  423. package/dist/{embedded-new-voice-2G3VLPVQ.js → embedded-new-voice-GHJRY3YL.js} +5 -5
  424. package/dist/{embedded-voice-T5IWOWGD.js → embedded-voice-ASQXBSTX.js} +5 -5
  425. package/dist/{fleet-decision-row-WM64KXP3.js → fleet-decision-row-U7LDVBEM.js} +2 -2
  426. package/dist/in-chat-connect-model.js +5 -5
  427. package/dist/index.js +62 -63
  428. package/dist/interaction.js +6 -6
  429. package/dist/{latest-question-OX56OVQ5.js → latest-question-RNVF262Q.js} +5 -5
  430. package/dist/lib/format.d.ts +10 -0
  431. package/dist/machines.js +4 -4
  432. package/dist/meetings-recorder.js +1 -1
  433. package/dist/meetings.js +24 -24
  434. package/dist/messages/en.d.ts +7 -0
  435. package/dist/messages.js +1 -1
  436. package/dist/{model-policy-picker-menu-SMC6J6QN.js → model-policy-picker-menu-E6XKMFTA.js} +4 -4
  437. package/dist/{payment-page-card-G4U63KUV.js → payment-page-card-DJDKV2LW.js} +6 -5
  438. package/dist/{payment-page-card-G4U63KUV.js.map → payment-page-card-DJDKV2LW.js.map} +1 -1
  439. package/dist/{platform-activity-row-BUZGZAKZ.js → platform-activity-row-MSDCSMET.js} +17 -7
  440. package/dist/platform-activity-row-MSDCSMET.js.map +1 -0
  441. package/dist/{queue-surface-implementation-4KUZ4PJV.js → queue-surface-implementation-GUAIG6TK.js} +5 -5
  442. package/dist/realtime.js +4 -4
  443. package/dist/{recorder-host-WF2RRR56.js → recorder-host-2MYDJPQW.js} +4 -4
  444. package/dist/recordings.js +3 -3
  445. package/dist/{sandbox-files-ESDMOFSD.js → sandbox-files-W5W2LW4K.js} +6 -6
  446. package/dist/session-app.js +173 -167
  447. package/dist/{session-connect-cards-Q53KMMYY.js → session-connect-cards-HPH7JOZP.js} +9 -10
  448. package/dist/session-list-model.js +2 -2
  449. package/dist/{session-realtime-CF3I35WJ.js → session-realtime-SDTKFFIR.js} +3 -3
  450. package/dist/session-realtime-SDTKFFIR.js.map +1 -0
  451. package/dist/session-realtime.js +2 -2
  452. package/dist/session-ui.js +37 -38
  453. package/dist/session.js +9 -9
  454. package/dist/sites.js +2 -2
  455. package/dist/terminal.js +2 -2
  456. package/dist/this-computer.js +3 -3
  457. package/dist/timeline/shared.d.ts +2 -0
  458. package/dist/{timeline-annotation-markers-CJK4RYZ4.js → timeline-annotation-markers-FNILLWNU.js} +2 -2
  459. package/dist/{timeline-annotation-selection-67GF5H26.js → timeline-annotation-selection-MBCIDO2Q.js} +2 -2
  460. package/dist/{timeline-annotations-dialog-ONJPQDJQ.js → timeline-annotations-dialog-JPNKLOTE.js} +3 -3
  461. package/dist/timeline-model.js +6 -6
  462. package/dist/ui/access-list.js +6 -6
  463. package/dist/ui/cadence-picker.js +4 -4
  464. package/dist/ui/choice-cards.js +3 -3
  465. package/dist/ui/confirm-dialog.js +4 -4
  466. package/dist/ui/copy-field.js +3 -3
  467. package/dist/ui/detail-page.js +5 -5
  468. package/dist/ui/detail-sheet.js +4 -4
  469. package/dist/ui/dialog.js +2 -2
  470. package/dist/ui/disclosure.js +5 -5
  471. package/dist/ui/email-chips-input.js +3 -3
  472. package/dist/ui/field.js +2 -2
  473. package/dist/ui/flush-form-page.js +4 -4
  474. package/dist/ui/form-dialog.js +3 -3
  475. package/dist/ui/list-row.js +3 -3
  476. package/dist/ui/page-header.js +2 -2
  477. package/dist/ui/relative-time.js +2 -2
  478. package/dist/ui/revision-history.js +4 -4
  479. package/dist/ui/role-select.js +6 -6
  480. package/dist/ui/select-menu.js +3 -3
  481. package/dist/ui/sheet.js +2 -2
  482. package/dist/ui/usage-meter.js +3 -3
  483. package/dist/ui/window-bar-title.d.ts +7 -3
  484. package/dist/ui/window-bar-title.js +1 -1
  485. package/dist/usage.js +2 -2
  486. package/dist/workbench.js +4 -4
  487. package/package.json +4 -4
  488. package/src/app/components/artifacts/site-actions.tsx +105 -0
  489. package/src/app/components/rail/session-header-copy.test.tsx +172 -0
  490. package/src/app/components/rail/session-header.tsx +68 -12
  491. package/src/app/components/rail/session-list.tsx +20 -0
  492. package/src/app/components/rail/site-session-group-heading.test.tsx +210 -0
  493. package/src/app/components/rail/site-session-group-heading.tsx +119 -60
  494. package/src/app/components/session/failed-session-actions.test.tsx +4 -0
  495. package/src/app/components/window-bar.tsx +63 -15
  496. package/src/app/lib/composer-send-blocking.tsx +312 -1
  497. package/src/app/lib/copy-link.ts +10 -0
  498. package/src/app/lib/session-composer-readiness.ts +4 -3
  499. package/src/app/lib/site-sidebar-bridge.test.tsx +67 -0
  500. package/src/app/lib/site-sidebar-bridge.ts +57 -0
  501. package/src/app/routes/session.tsx +45 -12
  502. package/src/app/routes/sessions-index.tsx +164 -105
  503. package/src/app/routes/site-view.test.tsx +74 -6
  504. package/src/app/routes/site-view.tsx +135 -14
  505. package/src/components/approval-surface.tsx +78 -3
  506. package/src/components/artifacts/artifact-sandbox.tsx +27 -2
  507. package/src/components/artifacts/site-view.tsx +13 -1
  508. package/src/components/message-timeline.tsx +25 -52
  509. package/src/components/session-capability-frame.tsx +2 -30
  510. package/src/components/timeline-anchor.tsx +19 -14
  511. package/src/components/timeline-reading-progress.ts +1 -2
  512. package/src/components/timeline-settlement.ts +3 -3
  513. package/src/lib/format.ts +46 -1
  514. package/src/messages/en.ts +11 -0
  515. package/src/timeline/platform-activity-row.tsx +20 -8
  516. package/src/timeline/shared.tsx +203 -32
  517. package/src/ui/window-bar-title.test.tsx +37 -0
  518. package/src/ui/window-bar-title.tsx +13 -6
  519. package/styles/compiled.css +5 -0
  520. package/dist/chunk-5MOJZORA.js.map +0 -1
  521. package/dist/chunk-6BCXNDEI.js.map +0 -1
  522. package/dist/chunk-6DVCC7QS.js.map +0 -1
  523. package/dist/chunk-7T2ZE3VT.js.map +0 -1
  524. package/dist/chunk-AFRGP2VP.js +0 -17
  525. package/dist/chunk-AFRGP2VP.js.map +0 -1
  526. package/dist/chunk-CRU35QQH.js.map +0 -1
  527. package/dist/chunk-FO4LYKJL.js +0 -197
  528. package/dist/chunk-FO4LYKJL.js.map +0 -1
  529. package/dist/chunk-HD5X76TP.js.map +0 -1
  530. package/dist/chunk-JDTGRRNU.js.map +0 -1
  531. package/dist/chunk-NW53H5RW.js.map +0 -1
  532. package/dist/chunk-OF4TIKYC.js.map +0 -1
  533. package/dist/chunk-ORJPS5VN.js.map +0 -1
  534. package/dist/chunk-TXLIEOJX.js.map +0 -1
  535. package/dist/chunk-VBUVBHFJ.js +0 -16
  536. package/dist/chunk-VBUVBHFJ.js.map +0 -1
  537. package/dist/chunk-XEQMZB3C.js.map +0 -1
  538. package/dist/chunk-YPWU5KPE.js.map +0 -1
  539. package/dist/components/timeline-answer-follow.d.ts +0 -8
  540. package/dist/platform-activity-row-BUZGZAKZ.js.map +0 -1
  541. package/src/components/timeline-answer-follow.ts +0 -15
  542. /package/dist/{browser-viewer-TC27OCIP.js.map → app/components/artifacts/site-actions.js.map} +0 -0
  543. /package/dist/{chat-interactive-block-RWPQBHVS.js.map → browser-viewer-ZHQDVHZ2.js.map} +0 -0
  544. /package/dist/{computer-viewer-TDDO25AV.js.map → chat-interactive-block-VSDD6X3M.js.map} +0 -0
  545. /package/dist/{chunk-C43KRXGA.js.map → chunk-2GCHGWNE.js.map} +0 -0
  546. /package/dist/{chunk-XLH7QY2R.js.map → chunk-2J77TWGH.js.map} +0 -0
  547. /package/dist/{chunk-77WAKEAH.js.map → chunk-2OXSB2OL.js.map} +0 -0
  548. /package/dist/{chunk-H3T7IWNA.js.map → chunk-2VJOSU4H.js.map} +0 -0
  549. /package/dist/{chunk-N6AACDUW.js.map → chunk-34NV52R3.js.map} +0 -0
  550. /package/dist/{chunk-L7YTNTIK.js.map → chunk-3CDJSKDW.js.map} +0 -0
  551. /package/dist/{chunk-EWSOC6WF.js.map → chunk-3DRLCX5V.js.map} +0 -0
  552. /package/dist/{chunk-JEUPAVYY.js.map → chunk-3L465FBR.js.map} +0 -0
  553. /package/dist/{chunk-5NWEKLDZ.js.map → chunk-3NNAC43A.js.map} +0 -0
  554. /package/dist/{chunk-EDI6SJ2N.js.map → chunk-3OK7Y6ES.js.map} +0 -0
  555. /package/dist/{chunk-AWKES45Y.js.map → chunk-3PM3M2Q6.js.map} +0 -0
  556. /package/dist/{chunk-I7XIZRFD.js.map → chunk-3PZ3LRPV.js.map} +0 -0
  557. /package/dist/{chunk-AW2MQB37.js.map → chunk-44JWVYJB.js.map} +0 -0
  558. /package/dist/{chunk-2M3J7ZWQ.js.map → chunk-467WDSOK.js.map} +0 -0
  559. /package/dist/{chunk-UTIAXH52.js.map → chunk-477DTTMH.js.map} +0 -0
  560. /package/dist/{chunk-J5F5HPPW.js.map → chunk-4BWMAGJJ.js.map} +0 -0
  561. /package/dist/{chunk-YSJEAAOL.js.map → chunk-4F3AEJI6.js.map} +0 -0
  562. /package/dist/{chunk-LHPNABDH.js.map → chunk-4JXPLTWV.js.map} +0 -0
  563. /package/dist/{chunk-RQKLF42C.js.map → chunk-4K64EKM7.js.map} +0 -0
  564. /package/dist/{chunk-NUNZS36W.js.map → chunk-4O2XWOLZ.js.map} +0 -0
  565. /package/dist/{chunk-QB2KMIDP.js.map → chunk-4SJAEPM2.js.map} +0 -0
  566. /package/dist/{chunk-6JHU2UBS.js.map → chunk-4Z5X7PLC.js.map} +0 -0
  567. /package/dist/{chunk-2STUPWEL.js.map → chunk-54U6ZBEX.js.map} +0 -0
  568. /package/dist/{chunk-XXSOHN35.js.map → chunk-5FLYHX5R.js.map} +0 -0
  569. /package/dist/{chunk-MIYFS2XN.js.map → chunk-5MHMCE2G.js.map} +0 -0
  570. /package/dist/{chunk-YWVI6ZMK.js.map → chunk-5MIBQ4P5.js.map} +0 -0
  571. /package/dist/{chunk-5O2FCCHZ.js.map → chunk-6QK65ZWM.js.map} +0 -0
  572. /package/dist/{chunk-RPVREAU7.js.map → chunk-736RUNIA.js.map} +0 -0
  573. /package/dist/{chunk-2KALVELR.js.map → chunk-74CBR5YE.js.map} +0 -0
  574. /package/dist/{chunk-5IE76VCY.js.map → chunk-752WXSDN.js.map} +0 -0
  575. /package/dist/{chunk-OPJJSKUK.js.map → chunk-77B6UCNK.js.map} +0 -0
  576. /package/dist/{chunk-SEO7TICN.js.map → chunk-77BHKC43.js.map} +0 -0
  577. /package/dist/{chunk-ZUA3JMI6.js.map → chunk-77SYIH6O.js.map} +0 -0
  578. /package/dist/{chunk-ILDXWY37.js.map → chunk-7AI4E7PV.js.map} +0 -0
  579. /package/dist/{chunk-C372BFOV.js.map → chunk-7NLF35YL.js.map} +0 -0
  580. /package/dist/{chunk-IFB3WJ36.js.map → chunk-7YTR3UFO.js.map} +0 -0
  581. /package/dist/{chunk-BMICEQZQ.js.map → chunk-7Z76QP64.js.map} +0 -0
  582. /package/dist/{chunk-YWIFM7D7.js.map → chunk-AAS7OWV6.js.map} +0 -0
  583. /package/dist/{chunk-5QAY6K77.js.map → chunk-AB5IW227.js.map} +0 -0
  584. /package/dist/{chunk-ZBIXBQNI.js.map → chunk-ABJZDRW2.js.map} +0 -0
  585. /package/dist/{chunk-4DVJ6ONS.js.map → chunk-AH3DGOTK.js.map} +0 -0
  586. /package/dist/{chunk-HGKTHF2U.js.map → chunk-AJBDAVX3.js.map} +0 -0
  587. /package/dist/{chunk-5YKW2K6I.js.map → chunk-AJDGP2N4.js.map} +0 -0
  588. /package/dist/{chunk-IXPTECSC.js.map → chunk-AVXDIRRW.js.map} +0 -0
  589. /package/dist/{chunk-QK5EFEUT.js.map → chunk-BASI553K.js.map} +0 -0
  590. /package/dist/{chunk-Z4FMAFNH.js.map → chunk-BQYRZIZ7.js.map} +0 -0
  591. /package/dist/{chunk-DZXEDSQI.js.map → chunk-CEMSIU4Z.js.map} +0 -0
  592. /package/dist/{chunk-FZC5N55X.js.map → chunk-CH4UQ4NO.js.map} +0 -0
  593. /package/dist/{chunk-7X6SDK2C.js.map → chunk-CHU3RDV4.js.map} +0 -0
  594. /package/dist/{chunk-Y4OBB2VN.js.map → chunk-CV4VVLPZ.js.map} +0 -0
  595. /package/dist/{chunk-JQL7ZH6C.js.map → chunk-CXAN2FHF.js.map} +0 -0
  596. /package/dist/{chunk-F2OPHAUN.js.map → chunk-CYDXCILL.js.map} +0 -0
  597. /package/dist/{chunk-3PZ7JZI2.js.map → chunk-D3PTVN2I.js.map} +0 -0
  598. /package/dist/{chunk-FPXASDG5.js.map → chunk-D5TIVCXG.js.map} +0 -0
  599. /package/dist/{chunk-7W37NS3I.js.map → chunk-D74Z2N4K.js.map} +0 -0
  600. /package/dist/{chunk-MNZG4OHU.js.map → chunk-DCEQCGVN.js.map} +0 -0
  601. /package/dist/{chunk-ND2BXV3P.js.map → chunk-DEHLWZSI.js.map} +0 -0
  602. /package/dist/{chunk-2YUOVM3G.js.map → chunk-DIP7YALH.js.map} +0 -0
  603. /package/dist/{chunk-6PZ7OBYU.js.map → chunk-DLVIRJGK.js.map} +0 -0
  604. /package/dist/{chunk-KLEUWIMZ.js.map → chunk-DQPIEQGP.js.map} +0 -0
  605. /package/dist/{chunk-T2QX3FDP.js.map → chunk-DWJ6J3YW.js.map} +0 -0
  606. /package/dist/{chunk-3CPWWGNK.js.map → chunk-E5KOWRDU.js.map} +0 -0
  607. /package/dist/{chunk-6WGRDRMA.js.map → chunk-EBIVTDEG.js.map} +0 -0
  608. /package/dist/{chunk-KUDGXAF7.js.map → chunk-EBTUPRRQ.js.map} +0 -0
  609. /package/dist/{chunk-5CPEEAFD.js.map → chunk-EDDKPIIV.js.map} +0 -0
  610. /package/dist/{chunk-TX3VECZU.js.map → chunk-EGKARC53.js.map} +0 -0
  611. /package/dist/{chunk-JEA3QDX7.js.map → chunk-EKJHOWTZ.js.map} +0 -0
  612. /package/dist/{chunk-UVN5TMHU.js.map → chunk-ESXAECZ3.js.map} +0 -0
  613. /package/dist/{chunk-3SOIESJM.js.map → chunk-EWZ2RLNG.js.map} +0 -0
  614. /package/dist/{chunk-CMKGILJK.js.map → chunk-FBA2NXYH.js.map} +0 -0
  615. /package/dist/{chunk-O6N4ABCA.js.map → chunk-FER6EVIY.js.map} +0 -0
  616. /package/dist/{chunk-DF5EAHDN.js.map → chunk-FLWQJDJ5.js.map} +0 -0
  617. /package/dist/{chunk-PTAG4PDC.js.map → chunk-FNXCFIPW.js.map} +0 -0
  618. /package/dist/{chunk-BJEJFISW.js.map → chunk-FSDQQQIA.js.map} +0 -0
  619. /package/dist/{chunk-PTF5B7TJ.js.map → chunk-G5UQBTXY.js.map} +0 -0
  620. /package/dist/{chunk-4E3ZJRTZ.js.map → chunk-G6ICCGJ3.js.map} +0 -0
  621. /package/dist/{chunk-NRTE7DNV.js.map → chunk-GIWFLWXG.js.map} +0 -0
  622. /package/dist/{chunk-MM4FNWI4.js.map → chunk-GMHIOYB7.js.map} +0 -0
  623. /package/dist/{chunk-6DK6Z4UN.js.map → chunk-GOCODNQS.js.map} +0 -0
  624. /package/dist/{chunk-TPQTRNER.js.map → chunk-GSCGKJNK.js.map} +0 -0
  625. /package/dist/{chunk-7VMZGLYI.js.map → chunk-GTHCHCWW.js.map} +0 -0
  626. /package/dist/{chunk-SQJIKMN3.js.map → chunk-GTRAH4FG.js.map} +0 -0
  627. /package/dist/{chunk-ZYAZUPPV.js.map → chunk-GU7T2S5N.js.map} +0 -0
  628. /package/dist/{chunk-JKHKLL5W.js.map → chunk-H6BX6WOW.js.map} +0 -0
  629. /package/dist/{chunk-IMZCQBOT.js.map → chunk-H6MJFMHZ.js.map} +0 -0
  630. /package/dist/{chunk-HSOXMJOT.js.map → chunk-HEGV4QMS.js.map} +0 -0
  631. /package/dist/{chunk-NC7PVOEK.js.map → chunk-HWVPLFIW.js.map} +0 -0
  632. /package/dist/{chunk-IMDQUHBJ.js.map → chunk-HYEIA25Y.js.map} +0 -0
  633. /package/dist/{chunk-ECJBYNLJ.js.map → chunk-ICAMYP5M.js.map} +0 -0
  634. /package/dist/{chunk-DJAXC5OK.js.map → chunk-IFSXVU2S.js.map} +0 -0
  635. /package/dist/{chunk-I4MRDSUF.js.map → chunk-IJR6VOLU.js.map} +0 -0
  636. /package/dist/{chunk-YCVD6CI3.js.map → chunk-IN3VQFKS.js.map} +0 -0
  637. /package/dist/{chunk-BJFH6JI5.js.map → chunk-IZXYFWA4.js.map} +0 -0
  638. /package/dist/{chunk-MFROMEKA.js.map → chunk-J2BTILRR.js.map} +0 -0
  639. /package/dist/{chunk-NCYMNCJO.js.map → chunk-J2WY42FA.js.map} +0 -0
  640. /package/dist/{chunk-DGMR6JEJ.js.map → chunk-J4XSTXZP.js.map} +0 -0
  641. /package/dist/{chunk-ZTPXACWB.js.map → chunk-JKL5S7UQ.js.map} +0 -0
  642. /package/dist/{chunk-P77WNZDY.js.map → chunk-JMHEFZOB.js.map} +0 -0
  643. /package/dist/{chunk-IDANQPRH.js.map → chunk-JV3UI7BH.js.map} +0 -0
  644. /package/dist/{chunk-FVXBNBHO.js.map → chunk-K3D7IQQP.js.map} +0 -0
  645. /package/dist/{chunk-GKVJIDHF.js.map → chunk-KFNZZ2N6.js.map} +0 -0
  646. /package/dist/{chunk-I4QEJ62Y.js.map → chunk-KI46GKMD.js.map} +0 -0
  647. /package/dist/{chunk-SIRLACNZ.js.map → chunk-KO3OHHY2.js.map} +0 -0
  648. /package/dist/{chunk-NULUNM7H.js.map → chunk-KUE5BOQE.js.map} +0 -0
  649. /package/dist/{chunk-O3LKCBP5.js.map → chunk-LIJNVIT3.js.map} +0 -0
  650. /package/dist/{chunk-JWB44UGJ.js.map → chunk-LIJPDVYP.js.map} +0 -0
  651. /package/dist/{chunk-KYS77RPN.js.map → chunk-LPKJ77EK.js.map} +0 -0
  652. /package/dist/{chunk-RMFKVOM7.js.map → chunk-LQKVNREV.js.map} +0 -0
  653. /package/dist/{chunk-E7XERZWC.js.map → chunk-LTJFV2JI.js.map} +0 -0
  654. /package/dist/{chunk-INXGSG3J.js.map → chunk-LVDNY5RC.js.map} +0 -0
  655. /package/dist/{chunk-2INLDVK3.js.map → chunk-LVELUUK6.js.map} +0 -0
  656. /package/dist/{chunk-TAT5USZN.js.map → chunk-M3FDGRB4.js.map} +0 -0
  657. /package/dist/{chunk-5EWSRZ2Y.js.map → chunk-M3HGBO2Y.js.map} +0 -0
  658. /package/dist/{chunk-J3DY5HWQ.js.map → chunk-M5IQVMLR.js.map} +0 -0
  659. /package/dist/{chunk-53AGXXZM.js.map → chunk-MKDFYE2E.js.map} +0 -0
  660. /package/dist/{chunk-4SAWSRAA.js.map → chunk-MRECRNVU.js.map} +0 -0
  661. /package/dist/{chunk-2I7HDP53.js.map → chunk-MT2R57SF.js.map} +0 -0
  662. /package/dist/{chunk-Z7Y523PS.js.map → chunk-MV2CLIO6.js.map} +0 -0
  663. /package/dist/{chunk-JZ4NLCAP.js.map → chunk-MZY3VKKM.js.map} +0 -0
  664. /package/dist/{chunk-YENLNISG.js.map → chunk-N3FM4BNA.js.map} +0 -0
  665. /package/dist/{chunk-DZWARC4M.js.map → chunk-NFCS5WYC.js.map} +0 -0
  666. /package/dist/{chunk-I5QZJODL.js.map → chunk-NQ2CPQJF.js.map} +0 -0
  667. /package/dist/{chunk-CUIWCGMA.js.map → chunk-OCXEY7HE.js.map} +0 -0
  668. /package/dist/{chunk-VTTAJOQ7.js.map → chunk-OCXTTKVA.js.map} +0 -0
  669. /package/dist/{chunk-KRDR5RJD.js.map → chunk-OGU73VUN.js.map} +0 -0
  670. /package/dist/{chunk-YIRVLKAX.js.map → chunk-OI6VI6SU.js.map} +0 -0
  671. /package/dist/{chunk-BHNSJVBC.js.map → chunk-OJWDNNW3.js.map} +0 -0
  672. /package/dist/{chunk-X6KAJI3V.js.map → chunk-OK7BQMCI.js.map} +0 -0
  673. /package/dist/{chunk-I5B5L6Q4.js.map → chunk-OOOSGPJL.js.map} +0 -0
  674. /package/dist/{chunk-TUIN4MB7.js.map → chunk-ORV7EFSL.js.map} +0 -0
  675. /package/dist/{chunk-3IK6UYO6.js.map → chunk-OTW25A6I.js.map} +0 -0
  676. /package/dist/{chunk-NPGISCU6.js.map → chunk-OWET7EY2.js.map} +0 -0
  677. /package/dist/{chunk-CRAOSVHC.js.map → chunk-OXQ2SXVC.js.map} +0 -0
  678. /package/dist/{chunk-3ED2U6XE.js.map → chunk-OYCK4JRS.js.map} +0 -0
  679. /package/dist/{chunk-YQXTDZSU.js.map → chunk-OYOFPNLC.js.map} +0 -0
  680. /package/dist/{chunk-4NQHXYMW.js.map → chunk-PD7NWM7V.js.map} +0 -0
  681. /package/dist/{chunk-4YCA2Y73.js.map → chunk-PF2WU2IL.js.map} +0 -0
  682. /package/dist/{chunk-Z654FWNU.js.map → chunk-PLYVGZIN.js.map} +0 -0
  683. /package/dist/{chunk-MVW6HNPI.js.map → chunk-PRT4J2DL.js.map} +0 -0
  684. /package/dist/{chunk-OPWCMA4D.js.map → chunk-PUUEI4W3.js.map} +0 -0
  685. /package/dist/{chunk-RLBKLAEY.js.map → chunk-PVB4YVDP.js.map} +0 -0
  686. /package/dist/{chunk-NXCMHIKI.js.map → chunk-PWUSSSSL.js.map} +0 -0
  687. /package/dist/{chunk-MJUCFQMS.js.map → chunk-PYB4BFEC.js.map} +0 -0
  688. /package/dist/{chunk-2FSBSCZJ.js.map → chunk-PZKHST7A.js.map} +0 -0
  689. /package/dist/{chunk-QZAAUQRN.js.map → chunk-Q5EZNBPI.js.map} +0 -0
  690. /package/dist/{chunk-ZHDFQITM.js.map → chunk-Q5K2J5GG.js.map} +0 -0
  691. /package/dist/{chunk-OV6QJRT4.js.map → chunk-QRECBCJM.js.map} +0 -0
  692. /package/dist/{chunk-3GZA4BUW.js.map → chunk-QURYQFDN.js.map} +0 -0
  693. /package/dist/{chunk-VS7AHPCZ.js.map → chunk-R33SBMB7.js.map} +0 -0
  694. /package/dist/{chunk-KCBMFSMS.js.map → chunk-R4JA5JFI.js.map} +0 -0
  695. /package/dist/{chunk-HC4JFZVU.js.map → chunk-R5QAL43H.js.map} +0 -0
  696. /package/dist/{chunk-QPSGCC5D.js.map → chunk-RGR57NYY.js.map} +0 -0
  697. /package/dist/{chunk-XWFAMUZQ.js.map → chunk-RHXYO4H2.js.map} +0 -0
  698. /package/dist/{chunk-Y4BB2KS2.js.map → chunk-RISUROBM.js.map} +0 -0
  699. /package/dist/{chunk-U3DN4HEY.js.map → chunk-RMCLFSMX.js.map} +0 -0
  700. /package/dist/{chunk-YK7756IF.js.map → chunk-RTZANSSC.js.map} +0 -0
  701. /package/dist/{chunk-ZEG4VPBL.js.map → chunk-S27VZ5DO.js.map} +0 -0
  702. /package/dist/{chunk-54YW6SZZ.js.map → chunk-SBXSKRFA.js.map} +0 -0
  703. /package/dist/{chunk-HAX4LCR5.js.map → chunk-SFIXTOOJ.js.map} +0 -0
  704. /package/dist/{chunk-QIOQ2NPQ.js.map → chunk-SGH7I7OY.js.map} +0 -0
  705. /package/dist/{chunk-K2A5PXQ5.js.map → chunk-SJYTQLN3.js.map} +0 -0
  706. /package/dist/{chunk-2Z3NQNTM.js.map → chunk-SK5S2PCK.js.map} +0 -0
  707. /package/dist/{chunk-X3MWB2QU.js.map → chunk-SN2WENRP.js.map} +0 -0
  708. /package/dist/{chunk-OSY5K7L7.js.map → chunk-SP44O3OU.js.map} +0 -0
  709. /package/dist/{chunk-OZCBM3UC.js.map → chunk-SSR4ZX52.js.map} +0 -0
  710. /package/dist/{chunk-QCSJ4CWE.js.map → chunk-SXGJL7UT.js.map} +0 -0
  711. /package/dist/{chunk-NC55IFN3.js.map → chunk-T67LTMSW.js.map} +0 -0
  712. /package/dist/{chunk-AXHZYXUV.js.map → chunk-TDTD66BK.js.map} +0 -0
  713. /package/dist/{chunk-NGJJJPZZ.js.map → chunk-TK5FWVZR.js.map} +0 -0
  714. /package/dist/{chunk-2OP6WLGV.js.map → chunk-TNSJFZ6Q.js.map} +0 -0
  715. /package/dist/{chunk-O732GAFC.js.map → chunk-U4LTPFD2.js.map} +0 -0
  716. /package/dist/{chunk-4DVNUCRR.js.map → chunk-U5UGM5XD.js.map} +0 -0
  717. /package/dist/{chunk-UJK53QFL.js.map → chunk-UBRQ3PQD.js.map} +0 -0
  718. /package/dist/{chunk-SODC7T6L.js.map → chunk-UMX6DZME.js.map} +0 -0
  719. /package/dist/{chunk-YLS6QE5G.js.map → chunk-UO35OEOX.js.map} +0 -0
  720. /package/dist/{chunk-SHHJCL7X.js.map → chunk-UTRNLNCW.js.map} +0 -0
  721. /package/dist/{chunk-HEFPPMBQ.js.map → chunk-UU5FBVRX.js.map} +0 -0
  722. /package/dist/{chunk-GQXZPKK7.js.map → chunk-V6UOVHW3.js.map} +0 -0
  723. /package/dist/{chunk-GVN5SZLX.js.map → chunk-VATYK3JQ.js.map} +0 -0
  724. /package/dist/{chunk-7TIX2UAR.js.map → chunk-VCJQQYRE.js.map} +0 -0
  725. /package/dist/{chunk-6WD2INST.js.map → chunk-WDASYY4S.js.map} +0 -0
  726. /package/dist/{chunk-DXBYWSL5.js.map → chunk-WIFDNUKD.js.map} +0 -0
  727. /package/dist/{chunk-RT7CJMER.js.map → chunk-WIXHUBQN.js.map} +0 -0
  728. /package/dist/{chunk-57AZS3IE.js.map → chunk-WRMUXZ7C.js.map} +0 -0
  729. /package/dist/{chunk-2CLNIEK4.js.map → chunk-WTSQUCHB.js.map} +0 -0
  730. /package/dist/{chunk-OVKYVZMW.js.map → chunk-WXF2RTS4.js.map} +0 -0
  731. /package/dist/{chunk-MIHN76LX.js.map → chunk-WYGTAQMX.js.map} +0 -0
  732. /package/dist/{chunk-2RG7NIAS.js.map → chunk-X2QJXDE4.js.map} +0 -0
  733. /package/dist/{chunk-GAVYGBFI.js.map → chunk-XMBOLFFS.js.map} +0 -0
  734. /package/dist/{chunk-T7OXJZCX.js.map → chunk-XOIDUM2H.js.map} +0 -0
  735. /package/dist/{chunk-XHIQ5I6N.js.map → chunk-XVLEBB4Y.js.map} +0 -0
  736. /package/dist/{chunk-Q3DPEYX4.js.map → chunk-XZCCEKPW.js.map} +0 -0
  737. /package/dist/{chunk-T3OWFVMS.js.map → chunk-Y3XZEKDQ.js.map} +0 -0
  738. /package/dist/{chunk-KODELWYT.js.map → chunk-YJSCLGAW.js.map} +0 -0
  739. /package/dist/{chunk-ROKQU7WG.js.map → chunk-YMI27QPF.js.map} +0 -0
  740. /package/dist/{chunk-U7XM7CB4.js.map → chunk-YNTLWCF4.js.map} +0 -0
  741. /package/dist/{chunk-ZQCND77P.js.map → chunk-YRYF76OE.js.map} +0 -0
  742. /package/dist/{chunk-2BDT3UZQ.js.map → chunk-ZAX4XQLN.js.map} +0 -0
  743. /package/dist/{chunk-DXR5PDFP.js.map → chunk-ZBHGNE2J.js.map} +0 -0
  744. /package/dist/{chunk-I7ITSXSJ.js.map → chunk-ZR5EKJT6.js.map} +0 -0
  745. /package/dist/{chunk-IZXHMZQ6.js.map → chunk-ZW5YTIH3.js.map} +0 -0
  746. /package/dist/{embedded-new-voice-2G3VLPVQ.js.map → computer-viewer-5LKRCEVQ.js.map} +0 -0
  747. /package/dist/{embedded-voice-T5IWOWGD.js.map → embedded-new-voice-GHJRY3YL.js.map} +0 -0
  748. /package/dist/{model-policy-picker-menu-SMC6J6QN.js.map → embedded-voice-ASQXBSTX.js.map} +0 -0
  749. /package/dist/{fleet-decision-row-WM64KXP3.js.map → fleet-decision-row-U7LDVBEM.js.map} +0 -0
  750. /package/dist/{latest-question-OX56OVQ5.js.map → latest-question-RNVF262Q.js.map} +0 -0
  751. /package/dist/{sandbox-files-ESDMOFSD.js.map → model-policy-picker-menu-E6XKMFTA.js.map} +0 -0
  752. /package/dist/{queue-surface-implementation-4KUZ4PJV.js.map → queue-surface-implementation-GUAIG6TK.js.map} +0 -0
  753. /package/dist/{recorder-host-WF2RRR56.js.map → recorder-host-2MYDJPQW.js.map} +0 -0
  754. /package/dist/{session-connect-cards-Q53KMMYY.js.map → sandbox-files-W5W2LW4K.js.map} +0 -0
  755. /package/dist/{session-realtime-CF3I35WJ.js.map → session-connect-cards-HPH7JOZP.js.map} +0 -0
  756. /package/dist/{timeline-annotation-markers-CJK4RYZ4.js.map → timeline-annotation-markers-FNILLWNU.js.map} +0 -0
  757. /package/dist/{timeline-annotation-selection-67GF5H26.js.map → timeline-annotation-selection-MBCIDO2Q.js.map} +0 -0
  758. /package/dist/{timeline-annotations-dialog-ONJPQDJQ.js.map → timeline-annotations-dialog-JPNKLOTE.js.map} +0 -0
@@ -5,13 +5,13 @@ import {
5
5
  import {
6
6
  formatBytes,
7
7
  formatRelativeTime
8
- } from "./chunk-5MOJZORA.js";
8
+ } from "./chunk-2EA4IRIP.js";
9
9
  import {
10
10
  cn
11
11
  } from "./chunk-TXS65BB2.js";
12
12
  import {
13
13
  useOpenGeniText
14
- } from "./chunk-7T2ZE3VT.js";
14
+ } from "./chunk-QPQ7R77C.js";
15
15
 
16
16
  // src/types/machines.ts
17
17
  function connectionStatusForState(state) {
@@ -2596,4 +2596,4 @@ export {
2596
2596
  EnrollmentDeviceFlow,
2597
2597
  EnrollmentConsent
2598
2598
  };
2599
- //# sourceMappingURL=chunk-6DK6Z4UN.js.map
2599
+ //# sourceMappingURL=chunk-GOCODNQS.js.map
@@ -5,7 +5,7 @@ import {
5
5
  import {
6
6
  classifyProviderFailure,
7
7
  failedSessionCopy
8
- } from "./chunk-2BDT3UZQ.js";
8
+ } from "./chunk-ZAX4XQLN.js";
9
9
  import {
10
10
  captureAnalyticsEvent
11
11
  } from "./chunk-55S3W7RZ.js";
@@ -169,4 +169,4 @@ export {
169
169
  createTurnFailureJourney,
170
170
  turnFailureJourney
171
171
  };
172
- //# sourceMappingURL=chunk-TPQTRNER.js.map
172
+ //# sourceMappingURL=chunk-GSCGKJNK.js.map
@@ -1,13 +1,13 @@
1
1
  "use client";
2
2
  import {
3
3
  ArtifactButton
4
- } from "./chunk-PTF5B7TJ.js";
4
+ } from "./chunk-G5UQBTXY.js";
5
5
  import {
6
6
  cn
7
7
  } from "./chunk-TXS65BB2.js";
8
8
  import {
9
9
  useOpenGeniText
10
- } from "./chunk-7T2ZE3VT.js";
10
+ } from "./chunk-QPQ7R77C.js";
11
11
 
12
12
  // src/components/artifacts/artifact-surface.tsx
13
13
  import {
@@ -336,4 +336,4 @@ export {
336
336
  asEditableArtifactError,
337
337
  EditableArtifactDownloadButton
338
338
  };
339
- //# sourceMappingURL=chunk-7VMZGLYI.js.map
339
+ //# sourceMappingURL=chunk-GTHCHCWW.js.map
@@ -13,7 +13,7 @@ import {
13
13
  } from "./chunk-O4OOG3D6.js";
14
14
  import {
15
15
  SelectMenu
16
- } from "./chunk-3CPWWGNK.js";
16
+ } from "./chunk-E5KOWRDU.js";
17
17
  import {
18
18
  Notice
19
19
  } from "./chunk-FSOQDUCG.js";
@@ -363,4 +363,4 @@ export {
363
363
  PermissionSelect,
364
364
  ConnectorToolPermissions
365
365
  };
366
- //# sourceMappingURL=chunk-SQJIKMN3.js.map
366
+ //# sourceMappingURL=chunk-GTRAH4FG.js.map
@@ -12,7 +12,7 @@ import {
12
12
  import {
13
13
  WindowBarTitleBoundary,
14
14
  useWindowBarTitle
15
- } from "./chunk-HD5X76TP.js";
15
+ } from "./chunk-AQQT2FIC.js";
16
16
  import {
17
17
  SectionFrameReset
18
18
  } from "./chunk-ZMBJPN4T.js";
@@ -30,7 +30,7 @@ import {
30
30
  } from "./chunk-TXS65BB2.js";
31
31
  import {
32
32
  useOpenGeniText
33
- } from "./chunk-7T2ZE3VT.js";
33
+ } from "./chunk-QPQ7R77C.js";
34
34
 
35
35
  // src/ui/form-dialog.tsx
36
36
  import {
@@ -556,4 +556,4 @@ export {
556
556
  FormPage,
557
557
  FormInline
558
558
  };
559
- //# sourceMappingURL=chunk-ZYAZUPPV.js.map
559
+ //# sourceMappingURL=chunk-GU7T2S5N.js.map
@@ -10,13 +10,13 @@ import {
10
10
  decisionButtonClass,
11
11
  decisionCardClass,
12
12
  decisionCardPad
13
- } from "./chunk-JEA3QDX7.js";
13
+ } from "./chunk-EKJHOWTZ.js";
14
14
  import {
15
15
  cn
16
16
  } from "./chunk-TXS65BB2.js";
17
17
  import {
18
18
  useOpenGeniText
19
- } from "./chunk-7T2ZE3VT.js";
19
+ } from "./chunk-QPQ7R77C.js";
20
20
 
21
21
  // src/components/auth-needed-row.tsx
22
22
  import { RefreshCwIcon } from "lucide-react";
@@ -191,4 +191,4 @@ function monogram(label) {
191
191
  export {
192
192
  AuthNeededRow
193
193
  };
194
- //# sourceMappingURL=chunk-JKHKLL5W.js.map
194
+ //# sourceMappingURL=chunk-H6BX6WOW.js.map
@@ -1,14 +1,14 @@
1
1
  "use client";
2
2
  import {
3
3
  SessionProfileDialog
4
- } from "./chunk-JEUPAVYY.js";
4
+ } from "./chunk-3L465FBR.js";
5
5
  import {
6
6
  SegmentedControl
7
7
  } from "./chunk-RGBI63KJ.js";
8
8
  import {
9
9
  Field,
10
10
  TextArea
11
- } from "./chunk-MVW6HNPI.js";
11
+ } from "./chunk-PRT4J2DL.js";
12
12
 
13
13
  // src/app/components/bots/bot-template-dialog.tsx
14
14
  import { useState } from "react";
@@ -116,4 +116,4 @@ function BotTemplateDialog({
116
116
  export {
117
117
  BotTemplateDialog
118
118
  };
119
- //# sourceMappingURL=chunk-IMZCQBOT.js.map
119
+ //# sourceMappingURL=chunk-H6MJFMHZ.js.map
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import {
3
3
  createOpenGeniText
4
- } from "./chunk-7T2ZE3VT.js";
4
+ } from "./chunk-QPQ7R77C.js";
5
5
 
6
6
  // src/app/lib/console-text.tsx
7
7
  var t = createOpenGeniText();
@@ -9,4 +9,4 @@ var t = createOpenGeniText();
9
9
  export {
10
10
  t
11
11
  };
12
- //# sourceMappingURL=chunk-HSOXMJOT.js.map
12
+ //# sourceMappingURL=chunk-HEGV4QMS.js.map
@@ -0,0 +1,85 @@
1
+ "use client";
2
+ import {
3
+ openPublishedSite,
4
+ publishedSiteLink,
5
+ useSitePublicationLink
6
+ } from "./chunk-NDBTFUO6.js";
7
+ import {
8
+ useDuplicateSite
9
+ } from "./chunk-T6XI5FLY.js";
10
+ import {
11
+ useCopyArtifactLink
12
+ } from "./chunk-LIJPDVYP.js";
13
+ import {
14
+ copyTitle
15
+ } from "./chunk-ARTEEI2E.js";
16
+ import {
17
+ hasWorkspacePermission
18
+ } from "./chunk-H2ALCTWC.js";
19
+ import {
20
+ useAppContext
21
+ } from "./chunk-JDFDPMKX.js";
22
+
23
+ // src/app/components/artifacts/site-actions.tsx
24
+ import { ArrowUpRightIcon } from "lucide-react";
25
+ import { jsx, jsxs } from "react/jsx-runtime";
26
+ function useSiteActions(workspaceId, origin, {
27
+ hasVersion = true
28
+ } = {}) {
29
+ const { accessContext } = useAppContext();
30
+ const copyArtifactLink = useCopyArtifactLink(workspaceId);
31
+ const copies = useDuplicateSite(workspaceId);
32
+ const canDuplicate = hasVersion && hasWorkspacePermission(accessContext, workspaceId, "artifacts:publish");
33
+ return {
34
+ copyTitle: () => void copyTitle(origin.title),
35
+ copyLink: () => void copyArtifactLink({ kind: "site", id: origin.siteId }),
36
+ duplicate: canDuplicate ? {
37
+ busy: copies.busy,
38
+ run: () => void copies.duplicate({ id: origin.siteId, title: origin.title })
39
+ } : null,
40
+ /** Site details: its Settings tab, which shows Versions to everyone. */
41
+ details: {
42
+ to: "/workspaces/$workspaceId/artifacts/$artifactId",
43
+ params: { workspaceId, artifactId: origin.siteId },
44
+ search: { tab: "settings" }
45
+ }
46
+ };
47
+ }
48
+ function OpenPublishedSiteItem(props) {
49
+ const { client } = useAppContext();
50
+ if (typeof client.getSitePublicationLink !== "function") return null;
51
+ return /* @__PURE__ */ jsx(PublishedSiteItem, { ...props, client });
52
+ }
53
+ function PublishedSiteItem({
54
+ item: Item,
55
+ workspaceId,
56
+ siteId,
57
+ client
58
+ }) {
59
+ const { load } = useSitePublicationLink({ client, workspaceId, siteId });
60
+ const link = publishedSiteLink(load);
61
+ if (!link) return null;
62
+ return /* @__PURE__ */ jsx(Item, { asChild: true, children: /* @__PURE__ */ jsxs(
63
+ "a",
64
+ {
65
+ href: link.url,
66
+ target: "_blank",
67
+ rel: "noopener noreferrer",
68
+ "data-site-action": "open-published",
69
+ onClick: (event) => {
70
+ if (event.metaKey || event.ctrlKey || event.shiftKey || event.altKey) return;
71
+ if (openPublishedSite(link.url)) event.preventDefault();
72
+ },
73
+ children: [
74
+ /* @__PURE__ */ jsx(ArrowUpRightIcon, { "aria-hidden": "true" }),
75
+ "Open published Site"
76
+ ]
77
+ }
78
+ ) });
79
+ }
80
+
81
+ export {
82
+ useSiteActions,
83
+ OpenPublishedSiteItem
84
+ };
85
+ //# sourceMappingURL=chunk-HROITVQJ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/app/components/artifacts/site-actions.tsx"],"sourcesContent":["import { ArrowUpRightIcon } from \"lucide-react\";\nimport type { OpenGeniBrowserClient } from \"@opengeni/sdk/browser\";\nimport type { MouseEvent } from \"react\";\n\nimport { useAppContext } from \"../../app-context\";\nimport { copyTitle } from \"../../lib/copy-link\";\nimport { hasWorkspacePermission } from \"../../lib/permissions\";\nimport type { SessionSiteOrigin } from \"../../lib/session-site-origin\";\nimport { useDuplicateSite } from \"../../lib/use-duplicate-site\";\nimport { DropdownMenuItem } from \"../../../ui/dropdown-menu\";\nimport { useCopyArtifactLink } from \"./copy-artifact-link\";\nimport { openPublishedSite, publishedSiteLink, useSitePublicationLink } from \"./site-public-link\";\n\n/**\n * What a Site's row and its page both offer besides the sidebar's Pin,\n * Archive and Move: copy its title or address, duplicate it (for people who\n * can publish), and its details (versions, sharing, archive). Wired to the\n * same capabilities as the Artifacts page.\n */\nexport function useSiteActions(\n workspaceId: string,\n origin: SessionSiteOrigin,\n {\n hasVersion = true,\n }: {\n /** False for a Site with nothing published yet, which has nothing to copy. */\n hasVersion?: boolean;\n } = {},\n) {\n const { accessContext } = useAppContext();\n const copyArtifactLink = useCopyArtifactLink(workspaceId);\n const copies = useDuplicateSite(workspaceId);\n const canDuplicate =\n hasVersion && hasWorkspacePermission(accessContext, workspaceId, \"artifacts:publish\");\n return {\n copyTitle: () => void copyTitle(origin.title),\n copyLink: () => void copyArtifactLink({ kind: \"site\", id: origin.siteId }),\n duplicate: canDuplicate\n ? {\n busy: copies.busy,\n run: () => void copies.duplicate({ id: origin.siteId, title: origin.title }),\n }\n : null,\n /** Site details: its Settings tab, which shows Versions to everyone. */\n details: {\n to: \"/workspaces/$workspaceId/artifacts/$artifactId\",\n params: { workspaceId, artifactId: origin.siteId },\n search: { tab: \"settings\" },\n } as const,\n };\n}\n\nexport type SiteActions = ReturnType<typeof useSiteActions>;\n\ntype MenuItem = typeof DropdownMenuItem;\n\n/**\n * \"Open published Site\", once the menu it sits in has learned the Site is on\n * the web: it reads the address when the menu opens, and shows nothing for a\n * Site that isn't published (or while it doesn't know yet).\n */\nexport function OpenPublishedSiteItem(props: {\n item: MenuItem;\n workspaceId: string;\n siteId: string;\n}) {\n const { client } = useAppContext();\n // An embed's older client may not read publications.\n if (typeof client.getSitePublicationLink !== \"function\") return null;\n return <PublishedSiteItem {...props} client={client} />;\n}\n\nfunction PublishedSiteItem({\n item: Item,\n workspaceId,\n siteId,\n client,\n}: {\n item: MenuItem;\n workspaceId: string;\n siteId: string;\n client: Pick<OpenGeniBrowserClient, \"getSitePublicationLink\">;\n}) {\n const { load } = useSitePublicationLink({ client, workspaceId, siteId });\n const link = publishedSiteLink(load);\n if (!link) return null;\n return (\n <Item asChild>\n <a\n href={link.url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n data-site-action=\"open-published\"\n onClick={(event: MouseEvent<HTMLAnchorElement>) => {\n if (event.metaKey || event.ctrlKey || event.shiftKey || event.altKey) return;\n // The desktop app opens it in the default browser.\n if (openPublishedSite(link.url)) event.preventDefault();\n }}\n >\n <ArrowUpRightIcon aria-hidden=\"true\" />\n Open published Site\n </a>\n </Item>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS,wBAAwB;AAqExB,cAmBH,YAnBG;AAlDF,SAAS,eACd,aACA,QACA;AAAA,EACE,aAAa;AACf,IAGI,CAAC,GACL;AACA,QAAM,EAAE,cAAc,IAAI,cAAc;AACxC,QAAM,mBAAmB,oBAAoB,WAAW;AACxD,QAAM,SAAS,iBAAiB,WAAW;AAC3C,QAAM,eACJ,cAAc,uBAAuB,eAAe,aAAa,mBAAmB;AACtF,SAAO;AAAA,IACL,WAAW,MAAM,KAAK,UAAU,OAAO,KAAK;AAAA,IAC5C,UAAU,MAAM,KAAK,iBAAiB,EAAE,MAAM,QAAQ,IAAI,OAAO,OAAO,CAAC;AAAA,IACzE,WAAW,eACP;AAAA,MACE,MAAM,OAAO;AAAA,MACb,KAAK,MAAM,KAAK,OAAO,UAAU,EAAE,IAAI,OAAO,QAAQ,OAAO,OAAO,MAAM,CAAC;AAAA,IAC7E,IACA;AAAA;AAAA,IAEJ,SAAS;AAAA,MACP,IAAI;AAAA,MACJ,QAAQ,EAAE,aAAa,YAAY,OAAO,OAAO;AAAA,MACjD,QAAQ,EAAE,KAAK,WAAW;AAAA,IAC5B;AAAA,EACF;AACF;AAWO,SAAS,sBAAsB,OAInC;AACD,QAAM,EAAE,OAAO,IAAI,cAAc;AAEjC,MAAI,OAAO,OAAO,2BAA2B,WAAY,QAAO;AAChE,SAAO,oBAAC,qBAAmB,GAAG,OAAO,QAAgB;AACvD;AAEA,SAAS,kBAAkB;AAAA,EACzB,MAAM;AAAA,EACN;AAAA,EACA;AAAA,EACA;AACF,GAKG;AACD,QAAM,EAAE,KAAK,IAAI,uBAAuB,EAAE,QAAQ,aAAa,OAAO,CAAC;AACvE,QAAM,OAAO,kBAAkB,IAAI;AACnC,MAAI,CAAC,KAAM,QAAO;AAClB,SACE,oBAAC,QAAK,SAAO,MACX;AAAA,IAAC;AAAA;AAAA,MACC,MAAM,KAAK;AAAA,MACX,QAAO;AAAA,MACP,KAAI;AAAA,MACJ,oBAAiB;AAAA,MACjB,SAAS,CAAC,UAAyC;AACjD,YAAI,MAAM,WAAW,MAAM,WAAW,MAAM,YAAY,MAAM,OAAQ;AAEtE,YAAI,kBAAkB,KAAK,GAAG,EAAG,OAAM,eAAe;AAAA,MACxD;AAAA,MAEA;AAAA,4BAAC,oBAAiB,eAAY,QAAO;AAAA,QAAE;AAAA;AAAA;AAAA,EAEzC,GACF;AAEJ;","names":[]}
@@ -1,13 +1,13 @@
1
1
  "use client";
2
2
  import {
3
3
  ArtifactSandbox
4
- } from "./chunk-XEQMZB3C.js";
4
+ } from "./chunk-K4DQS2ML.js";
5
5
  import {
6
6
  EditablePresentationArtifactSurface
7
- } from "./chunk-DXBYWSL5.js";
7
+ } from "./chunk-WIFDNUKD.js";
8
8
  import {
9
9
  EditableSpreadsheetArtifactSurface
10
- } from "./chunk-X3MWB2QU.js";
10
+ } from "./chunk-SN2WENRP.js";
11
11
  import {
12
12
  loadSiteSnapshot
13
13
  } from "./chunk-IOYHDEP3.js";
@@ -19,10 +19,10 @@ import {
19
19
  } from "./chunk-TVQCDDSZ.js";
20
20
  import {
21
21
  EditableDocumentArtifactSurface
22
- } from "./chunk-57AZS3IE.js";
22
+ } from "./chunk-WRMUXZ7C.js";
23
23
  import {
24
24
  EditableArtifactMessage
25
- } from "./chunk-7VMZGLYI.js";
25
+ } from "./chunk-GTHCHCWW.js";
26
26
  import {
27
27
  ArtifactLabelsProvider,
28
28
  ArtifactLoading,
@@ -30,16 +30,22 @@ import {
30
30
  ArtifactViewerHeader,
31
31
  artifactLoadErrorView,
32
32
  useArtifactLabels
33
- } from "./chunk-PTF5B7TJ.js";
33
+ } from "./chunk-G5UQBTXY.js";
34
34
  import {
35
35
  cn
36
36
  } from "./chunk-TXS65BB2.js";
37
37
  import {
38
38
  useOpenGeniText
39
- } from "./chunk-7T2ZE3VT.js";
39
+ } from "./chunk-QPQ7R77C.js";
40
40
 
41
41
  // src/components/artifacts/site-view.tsx
42
- import { useCallback, useEffect, useMemo, useRef, useState } from "react";
42
+ import {
43
+ useCallback,
44
+ useEffect,
45
+ useMemo,
46
+ useRef,
47
+ useState
48
+ } from "react";
43
49
  import { jsx, jsxs } from "react/jsx-runtime";
44
50
  function SiteView({
45
51
  client,
@@ -52,6 +58,7 @@ function SiteView({
52
58
  theme,
53
59
  archivedMessage,
54
60
  showTitle = true,
61
+ renderTitle,
55
62
  loadingLabel,
56
63
  onTitle,
57
64
  showToolbar,
@@ -168,6 +175,7 @@ function SiteView({
168
175
  html: content.html,
169
176
  title: snapshot.detail.artifact.title,
170
177
  showTitle,
178
+ ...renderTitle ? { renderTitle } : {},
171
179
  versionLabel: !versionControl && snapshot.detail.artifact.currentVersion ? t("artifacts.siteView.vRevision", {
172
180
  revision: snapshot.detail.artifact.currentVersion.revision
173
181
  }) : void 0,
@@ -687,4 +695,4 @@ export {
687
695
  EditableArtifactView,
688
696
  SessionArtifactViewer
689
697
  };
690
- //# sourceMappingURL=chunk-OF4TIKYC.js.map
698
+ //# sourceMappingURL=chunk-HTMQGS63.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/artifacts/site-view.tsx","../src/components/artifacts/editable-artifact-view.tsx","../src/components/artifacts/editable-artifact-workbench.tsx","../src/components/artifacts/session-artifact-viewer.tsx"],"sourcesContent":["import {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n type ReactElement,\n type ReactNode,\n} from \"react\";\nimport type { SiteViewer } from \"@opengeni/sdk\";\n\nimport { loadSiteSnapshot } from \"../../sites-ui\";\nimport {\n ArtifactLoading,\n ArtifactProblem,\n artifactLoadErrorView,\n useArtifactLabels,\n} from \"./artifact-chrome\";\nimport { ArtifactSandbox } from \"./artifact-sandbox\";\nimport type { SiteLiveState } from \"./artifact-sandbox\";\nimport type { SiteSnapshotClient, SiteToolBridgeFactory } from \"./chat-interactive-block\";\nimport { useOpenGeniText } from \"../../messages/runtime\";\n\ntype Snapshot = Awaited<ReturnType<typeof loadSiteSnapshot>>;\n\nexport type SiteViewProps = {\n client: SiteSnapshotClient;\n workspaceId: string;\n siteId: string;\n /** Host-owned Site API access. Omit it and the Site renders without workspace tools. */\n toolBridge?: SiteToolBridgeFactory | undefined;\n /** Who is viewing, answered to the Site's `site.viewer`. */\n viewer?: SiteViewer | undefined;\n /**\n * The Site's own address (`/admin?tab=2`), answered to `site.location`;\n * with `onSiteLocationChange` the host keeps it, for example in its URL.\n * Omit both and the view keeps it itself, starting at `/`.\n */\n siteLocation?: string | undefined;\n /** The Site moved itself with `site.navigate`. */\n onSiteLocationChange?: ((href: string, options: { replace: boolean }) => void) | undefined;\n theme?: \"light\" | \"dark\" | undefined;\n /** Shown instead of the archived notice; the console links to its full page. */\n archivedMessage?: string | undefined;\n /** Show the Site title in the frame bar; hide it under a host header that already does. */\n showTitle?: boolean | undefined;\n /** Wraps the visible title (a host's menu on it); see ArtifactSandbox. */\n renderTitle?: ((title: ReactElement) => ReactNode) | undefined;\n /** Loading copy; defaults to \"Loading Site…\". */\n loadingLabel?: string | undefined;\n /** Called with the loaded title, for a host header. */\n onTitle?: ((title: string) => void) | undefined;\n /** Hide the frame toolbar under a host header that draws reload and full screen. */\n showToolbar?: boolean | undefined;\n /**\n * Replaces the toolbar's \"Live\" indicator, for example with a link to the\n * published Site; `null` shows nothing there. Omit it for the default.\n */\n liveStatus?: ReactNode | undefined;\n /** Reload the Site whenever this changes. */\n reloadToken?: number | undefined;\n /**\n * The Site's current version as the host last read it, for a host that\n * watches the Site for new versions. When it differs from the version\n * shown, the view loads it and the Site reloads in place; the version on\n * screen stays until the new one has loaded.\n */\n versionId?: string | null | undefined;\n /**\n * Whether the host's watch for new versions is working: `live` (the\n * default once `versionId` is given) or `reconnecting`. With it, the frame's\n * Live label tells the truth: Live, Updating while a new version loads, or\n * Reconnecting. Without `versionId` or this, the label stays as before.\n */\n watch?: \"live\" | \"reconnecting\" | undefined;\n /** Drawn instead of the version badge, for example a version history menu. */\n versionControl?: ReactNode | undefined;\n /**\n * The toolbar's first control, for example a Back to the page the Site was\n * opened from. It shows while the Site loads or can't be shown, too.\n */\n toolbarStart?: ReactNode | undefined;\n /** Host-controlled full screen; omit to let the frame manage it. */\n fullScreen?: boolean | undefined;\n onFullScreenChange?: ((fullScreen: boolean) => void) | undefined;\n className?: string | undefined;\n};\n\n/**\n * A published Site filling its container: the console's session dock and an\n * embedding host's artifact viewer render the same view.\n */\nexport function SiteView({\n client,\n workspaceId,\n siteId,\n toolBridge,\n viewer,\n siteLocation,\n onSiteLocationChange,\n theme,\n archivedMessage,\n showTitle = true,\n renderTitle,\n loadingLabel,\n onTitle,\n showToolbar,\n liveStatus,\n reloadToken,\n versionId,\n watch,\n versionControl,\n toolbarStart,\n fullScreen,\n onFullScreenChange,\n className,\n}: SiteViewProps) {\n const t = useOpenGeniText();\n const labels = useArtifactLabels();\n const [snapshot, setSnapshot] = useState<Snapshot | null>(null);\n const [error, setError] = useState<unknown>(null);\n // A newer version is loading (or failed to) behind the one on screen.\n const [refresh, setRefresh] = useState<\"idle\" | \"loading\" | \"failed\">(\"idle\");\n const readAbort = useRef<AbortController | null>(null);\n // Failed background loads in a row, for the wait before the next try.\n const [failures, setFailures] = useState(0);\n const onTitleRef = useRef(onTitle);\n onTitleRef.current = onTitle;\n const load = useCallback(\n async (background = false) => {\n readAbort.current?.abort();\n const abort = new AbortController();\n readAbort.current = abort;\n try {\n if (background) setRefresh(\"loading\");\n else setError(null);\n const next = await loadSiteSnapshot(client, workspaceId, siteId, {\n signal: abort.signal,\n includeArchivedContent: true,\n });\n if (abort.signal.aborted) return;\n setSnapshot(next);\n setError(null);\n setRefresh(\"idle\");\n setFailures(0);\n onTitleRef.current?.(next.detail.artifact.title);\n } catch (nextError) {\n if (abort.signal.aborted) return;\n // A failed update keeps the version on screen; the label says so.\n if (background) {\n setRefresh(\"failed\");\n setFailures((count) => count + 1);\n } else {\n setSnapshot(null);\n setError(nextError);\n }\n }\n },\n [client, siteId, workspaceId],\n );\n useEffect(() => {\n setSnapshot(null);\n setRefresh(\"idle\");\n void load();\n return () => readAbort.current?.abort();\n }, [load]);\n const content = snapshot?.content;\n const shownVersion = content?.versionId ?? null;\n // Follow the host's current version once something is on screen. Only a\n // change of `versionId` asks again, so a host that read an older version\n // than the one shown never makes the view load in a loop.\n const loaded = snapshot !== null;\n const shownRef = useRef(shownVersion);\n shownRef.current = shownVersion;\n useEffect(() => {\n if (!loaded || !versionId || versionId === shownRef.current) return;\n void load(true);\n }, [load, loaded, versionId]);\n // A failed update tries again, waiting longer each time (up to 30 s), until\n // the version on screen is the host's or the host moves on to another. A\n // hidden tab waits and tries once it is shown again.\n useEffect(() => {\n if (refresh !== \"failed\" || !versionId || versionId === shownRef.current) return;\n if (typeof document !== \"undefined\" && document.visibilityState === \"hidden\") {\n const onVisible = () => {\n if (document.visibilityState === \"visible\") void load(true);\n };\n document.addEventListener(\"visibilitychange\", onVisible);\n return () => document.removeEventListener(\"visibilitychange\", onVisible);\n }\n const delay = Math.min(30_000, 2_000 * 2 ** Math.max(0, failures - 1));\n const timer = setTimeout(() => void load(true), delay);\n return () => clearTimeout(timer);\n }, [failures, load, refresh, versionId]);\n const bridge = useMemo(\n () =>\n content\n ? toolBridge?.({\n artifactId: siteId,\n siteVersionId: content.versionId,\n requestedTools: content.requestedTools,\n })\n : undefined,\n [content, siteId, toolBridge],\n );\n // Without the Site there is no toolbar, but its first control stays, so a\n // Back never disappears while the Site loads or fails.\n const withStart = (state: ReactNode) =>\n toolbarStart ? (\n <div className=\"flex min-h-0 flex-1 flex-col\">\n <div className=\"flex min-h-12 shrink-0 items-center border-b border-border/80 px-3 sm:px-4\">\n {toolbarStart}\n </div>\n {state}\n </div>\n ) : (\n state\n );\n if (error)\n return withStart(\n <ArtifactProblem\n view={artifactLoadErrorView(t, error, \"site\", labels)}\n onRetry={() => void load()}\n />,\n );\n if (!snapshot || !content)\n return withStart(<ArtifactLoading label={loadingLabel ?? labels.loadingSite} />);\n if (snapshot.detail.artifact.status === \"archived\")\n return withStart(\n <div className=\"p-4 text-sm text-fg-muted\">{archivedMessage ?? labels.siteArchived}</div>,\n );\n const liveState: SiteLiveState | undefined =\n versionId === undefined && watch === undefined\n ? undefined\n : refresh === \"loading\" || (versionId && versionId !== shownVersion && refresh !== \"failed\")\n ? \"updating\"\n : watch === \"reconnecting\" || refresh === \"failed\"\n ? \"reconnecting\"\n : \"live\";\n return (\n <ArtifactSandbox\n html={content.html}\n title={snapshot.detail.artifact.title}\n showTitle={showTitle}\n {...(renderTitle ? { renderTitle } : {})}\n versionLabel={\n !versionControl && snapshot.detail.artifact.currentVersion\n ? t(\"artifacts.siteView.vRevision\", {\n revision: snapshot.detail.artifact.currentVersion.revision,\n })\n : undefined\n }\n headerControls={versionControl}\n {...(toolbarStart ? { toolbarStart } : {})}\n liveState={liveState}\n toolBridge={bridge}\n viewer={viewer}\n {...(siteLocation !== undefined ? { siteLocation } : {})}\n {...(onSiteLocationChange ? { onSiteLocationChange } : {})}\n connectedToolCount={content.requestedTools.length}\n theme={theme}\n {...(showToolbar !== undefined ? { showToolbar } : {})}\n {...(liveStatus !== undefined ? { liveStatus } : {})}\n {...(reloadToken !== undefined ? { reloadToken } : {})}\n // A new version is a new page, even when its HTML is unchanged (its\n // tool bridge is bound to the version); it replaces the frame in the\n // same render as its HTML, so the Site loads once.\n frameKey={content.versionId}\n {...(fullScreen !== undefined ? { fullScreen } : {})}\n {...(onFullScreenChange ? { onFullScreenChange } : {})}\n fill\n className={className ?? \"h-full rounded-none border-0\"}\n />\n );\n}\n","import type { EditableArtifactResource } from \"@opengeni/sdk/artifacts\";\nimport {\n createBrowserEditableArtifactSession,\n type CreateBrowserEditableArtifactSessionOptions,\n type EditableArtifactBrowserRuntime,\n type EditableArtifactCacheAuthority,\n type EditableArtifactModality,\n} from \"@opengeni/sdk/editable-artifacts\";\nimport { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\n\nimport {\n ArtifactLoading,\n ArtifactProblem,\n artifactLoadErrorView,\n useArtifactLabels,\n type ArtifactLoadErrorView,\n} from \"./artifact-chrome\";\nimport { EditableArtifactWorkbenchHost } from \"./editable-artifact-workbench\";\nimport { useOpenGeniText } from \"../../messages/runtime\";\n\n/**\n * The browser kernels an editor needs, one per modality, plus the host-built\n * Worker URL (for Vite: `@opengeni/sdk/editable-artifacts/worker?worker&url`).\n * Kernels come from `@opengeni/artifact-kernel-wasm-{document,spreadsheet,presentation}`.\n */\nexport type EditableArtifactRuntimes = Readonly<{\n document: Omit<EditableArtifactBrowserRuntime, \"workerUrl\" | \"workerFactory\">;\n spreadsheet: Omit<EditableArtifactBrowserRuntime, \"workerUrl\" | \"workerFactory\">;\n presentation: Omit<EditableArtifactBrowserRuntime, \"workerUrl\" | \"workerFactory\">;\n workerUrl: string;\n applicationOrigin?: string | undefined;\n /** Loopback development only. */\n allowInsecureDevelopmentAssets?: boolean | undefined;\n}>;\n\n/** Everything needed to open one artifact for the current principal. */\nexport type OpenedEditableArtifact = Readonly<{\n artifact: EditableArtifactResource;\n authority: EditableArtifactCacheAuthority;\n replicaId: string;\n}>;\n\nexport type EditableArtifactViewProps = Readonly<{\n /** Absolute API (or session proxy) base the live transport talks to. */\n baseUrl: URL;\n workspaceId: string;\n artifactId: string;\n /** Resolve metadata, cache authority, and replica; called again on retry. */\n open: (signal: AbortSignal) => Promise<OpenedEditableArtifact>;\n runtimes: EditableArtifactRuntimes;\n transport?: CreateBrowserEditableArtifactSessionOptions[\"transport\"];\n /** Show the editor's own title header (hosts with their own header hide it). */\n showHeader?: boolean | undefined;\n /** Re-open when this changes (for example the host's credential version). */\n authorityKey?: string | undefined;\n describeError?: ((error: unknown) => ArtifactLoadErrorView) | undefined;\n onTitle?: ((title: string) => void) | undefined;\n /** Loading copy; defaults to the `opening` label. */\n loadingLabel?: string | undefined;\n /**\n * Host-authenticated Office export (DOCX, XLSX, or PPTX by modality); omitted\n * for hosts without export support. Every editor shows Download when set.\n */\n downloadArtifact?:\n | ((opened: OpenedEditableArtifact, signal: AbortSignal) => Promise<Blob>)\n | undefined;\n /** Spreadsheet-only XLSX export; `downloadArtifact` takes precedence when both are set. */\n downloadSpreadsheet?:\n | ((opened: OpenedEditableArtifact, signal: AbortSignal) => Promise<Blob>)\n | undefined;\n}>;\n\ntype LoadState =\n | Readonly<{ key: string | null; kind: \"loading\" }>\n | Readonly<{ key: string; kind: \"ready\"; value: OpenedEditableArtifact }>\n | Readonly<{ key: string; kind: \"error\"; error: unknown }>;\n\n/**\n * One editable document, spreadsheet, or presentation with its first-party\n * editor. The console dock/page and embedding hosts supply only data access.\n */\nexport function EditableArtifactView({\n baseUrl,\n workspaceId,\n artifactId,\n open,\n runtimes,\n transport,\n showHeader = true,\n authorityKey,\n describeError,\n onTitle,\n loadingLabel,\n downloadArtifact,\n downloadSpreadsheet,\n}: EditableArtifactViewProps) {\n const t = useOpenGeniText();\n const [loadEpoch, setLoadEpoch] = useState(0);\n const labels = useArtifactLabels();\n const loadKey = JSON.stringify([artifactId, authorityKey, baseUrl.href, workspaceId, loadEpoch]);\n const [state, setState] = useState<LoadState>({ key: null, kind: \"loading\" });\n const current = state.key === loadKey ? state : null;\n const openRef = useRef(open);\n openRef.current = open;\n const onTitleRef = useRef(onTitle);\n onTitleRef.current = onTitle;\n useEffect(() => {\n const abort = new AbortController();\n setState({ key: loadKey, kind: \"loading\" });\n void openRef\n .current(abort.signal)\n .then((value) => {\n if (abort.signal.aborted) return;\n setState({ key: loadKey, kind: \"ready\", value });\n onTitleRef.current?.(value.artifact.title);\n })\n .catch((error: unknown) => {\n if (!abort.signal.aborted) setState({ key: loadKey, kind: \"error\", error });\n });\n return () => abort.abort();\n }, [loadKey]);\n\n const ready = current?.kind === \"ready\" ? current.value : null;\n const transportRef = useRef(transport);\n transportRef.current = transport;\n const sessionKey = useMemo(\n () =>\n ready\n ? JSON.stringify({\n baseUrl: baseUrl.href,\n authorityKey,\n workspaceId,\n artifact: { id: ready.artifact.id, modality: ready.artifact.modality },\n authority: ready.authority,\n replicaId: ready.replicaId,\n workerUrl: runtimes.workerUrl,\n })\n : \"\",\n [authorityKey, baseUrl.href, ready, runtimes.workerUrl, workspaceId],\n );\n const createSession = useCallback(() => {\n if (!ready) throw new Error(\"Artifact is not open\");\n return createBrowserEditableArtifactSession({\n baseUrl,\n workspaceId,\n artifact: ready.artifact,\n storageAuthority: ready.authority,\n replicaId: ready.replicaId,\n runtime: {\n ...runtimeFor(runtimes, ready.artifact.modality),\n workerUrl: runtimes.workerUrl,\n ...(runtimes.applicationOrigin ? { applicationOrigin: runtimes.applicationOrigin } : {}),\n ...(runtimes.allowInsecureDevelopmentAssets\n ? { allowInsecureDevelopmentAssets: true }\n : {}),\n },\n ...(transportRef.current ? { transport: transportRef.current } : {}),\n });\n }, [baseUrl, ready, runtimes, workspaceId]);\n\n if (!current || current.kind === \"loading\")\n return <ArtifactLoading label={loadingLabel ?? labels.opening} />;\n if (current.kind === \"error\") {\n return (\n <ArtifactProblem\n view={\n describeError\n ? describeError(current.error)\n : artifactLoadErrorView(t, current.error, \"editable\", labels)\n }\n onRetry={() => setLoadEpoch((value) => value + 1)}\n />\n );\n }\n const { artifact } = current.value;\n const surface = { title: artifact.title, showHeader };\n const opened = current.value;\n const exportFor = (\n host: ((opened: OpenedEditableArtifact, signal: AbortSignal) => Promise<Blob>) | undefined,\n ) => (host ? (signal: AbortSignal) => host(opened, signal) : undefined);\n return (\n <div className=\"h-full min-h-0 bg-og-bg text-og-fg\">\n <EditableArtifactWorkbenchHost\n sessionKey={sessionKey}\n createSession={createSession}\n document={{ ...surface, download: exportFor(downloadArtifact) }}\n spreadsheet={{ ...surface, download: exportFor(downloadArtifact ?? downloadSpreadsheet) }}\n presentation={{ ...surface, download: exportFor(downloadArtifact) }}\n />\n </div>\n );\n}\n\nfunction runtimeFor(\n runtimes: EditableArtifactRuntimes,\n modality: EditableArtifactModality,\n): Omit<EditableArtifactBrowserRuntime, \"workerUrl\" | \"workerFactory\"> {\n switch (modality) {\n case \"document\":\n return runtimes.document;\n case \"spreadsheet\":\n return runtimes.spreadsheet;\n case \"presentation\":\n return runtimes.presentation;\n }\n}\n","import {\n createBrowserEditableArtifactSession,\n type CreateBrowserEditableArtifactSessionOptions,\n type EditableArtifactBrowserRuntime,\n type EditableArtifactSession,\n} from \"@opengeni/sdk/editable-artifacts\";\nimport { useCallback, useEffect, useRef, useState } from \"react\";\n\nimport { useArtifactLabels } from \"./artifact-chrome\";\nimport { EditableArtifactMessage } from \"./editable-artifact-ui\";\nimport {\n EditableDocumentArtifactSurface,\n type EditableDocumentArtifactSurfaceProps,\n} from \"./editable-document\";\nimport {\n EditablePresentationArtifactSurface,\n type EditablePresentationArtifactSurfaceProps,\n} from \"./editable-presentation\";\nimport {\n EditableSpreadsheetArtifactSurface,\n type EditableSpreadsheetArtifactSurfaceProps,\n} from \"./editable-spreadsheet\";\nimport { useOpenGeniText } from \"../../messages/runtime\";\n\nexport type EditableArtifactWorkbenchProps = Readonly<{\n session: EditableArtifactSession;\n document?: Omit<EditableDocumentArtifactSurfaceProps, \"session\">;\n spreadsheet?: Omit<EditableSpreadsheetArtifactSurfaceProps, \"session\">;\n presentation?: Omit<EditablePresentationArtifactSurfaceProps, \"session\">;\n}>;\n\nexport type EditableArtifactWorkbenchHostProps = Omit<EditableArtifactWorkbenchProps, \"session\"> &\n Readonly<{\n /**\n * Complete identity of the browser session authority. Change this when the\n * artifact, deployment, principal, or authorization epoch changes.\n */\n sessionKey: string;\n /** Called for the active keyed lifecycle and again only after replacement or retry. */\n createSession: () => EditableArtifactSession;\n }>;\n\ntype DefaultBrowserArtifactTransport = Omit<\n NonNullable<CreateBrowserEditableArtifactSessionOptions[\"transport\"]>,\n \"apiKey\" | \"fetch\" | \"headers\" | \"webSocketFactory\"\n> &\n Readonly<{\n /** Static deployment auth headers; rotate authorizationEpoch when they change. */\n headers?: Readonly<Record<string, string>>;\n }>;\n\nexport type BrowserEditableArtifactWorkbenchOptions = Omit<\n CreateBrowserEditableArtifactSessionOptions,\n \"runtime\" | \"storage\" | \"transport\"\n> &\n Readonly<{\n /** Default module Worker only; custom Worker hosts use EditableArtifactWorkbenchHost. */\n runtime: Omit<EditableArtifactBrowserRuntime, \"workerFactory\">;\n /** Default fetch/WebSocket only; static deployment auth headers are supported. */\n transport?: DefaultBrowserArtifactTransport;\n }>;\n\nexport type BrowserEditableArtifactWorkbenchProps = Omit<\n EditableArtifactWorkbenchProps,\n \"session\"\n> &\n Readonly<{ options: BrowserEditableArtifactWorkbenchOptions }>;\n\n/**\n * One modality-neutral SDK workbench. Embedding hosts keep one route/component;\n * each artifact still renders through its complete first-party editor surface.\n */\nexport function EditableArtifactWorkbench({\n session,\n document,\n spreadsheet,\n presentation,\n}: EditableArtifactWorkbenchProps) {\n const t = useOpenGeniText();\n switch (session.modality) {\n case \"document\":\n return (\n <EditableDocumentArtifactSurface\n {...document}\n session={session}\n title={document?.title ?? t(\"artifacts.editableArtifactWorkbench.document\")}\n />\n );\n case \"spreadsheet\":\n return <EditableSpreadsheetArtifactSurface {...spreadsheet} session={session} />;\n case \"presentation\":\n return <EditablePresentationArtifactSurface {...presentation} session={session} />;\n }\n}\n\n/**\n * Route/embed composition that owns exactly one SDK session. The host supplies\n * the authenticated SDK factory; React guarantees replacement and teardown.\n */\nexport function EditableArtifactWorkbenchHost({\n sessionKey,\n createSession,\n document,\n spreadsheet,\n presentation,\n}: EditableArtifactWorkbenchHostProps) {\n const createSessionRef = useRef(createSession);\n const [retryEpoch, setRetryEpoch] = useState(0);\n const [state, setState] = useState<\n | Readonly<{ key: string; session: EditableArtifactSession; error: null }>\n | Readonly<{ key: string | null; session: null; error: Error | null }>\n >({ key: null, session: null, error: null });\n\n useEffect(() => {\n createSessionRef.current = createSession;\n }, [createSession]);\n\n useEffect(() => {\n let owned: EditableArtifactSession | null = null;\n setState({ key: sessionKey, session: null, error: null });\n try {\n owned = createSessionRef.current();\n setState({ key: sessionKey, session: owned, error: null });\n } catch (cause) {\n setState({\n key: sessionKey,\n session: null,\n error: cause instanceof Error ? cause : new Error(\"Could not create artifact session\"),\n });\n }\n return () => {\n const closing = owned;\n owned = null;\n if (closing) void closing.close().catch(() => undefined);\n };\n }, [retryEpoch, sessionKey]);\n\n const retry = useCallback(() => setRetryEpoch((value) => value + 1), []);\n const labels = useArtifactLabels();\n const currentError = state.key === sessionKey ? state.error : null;\n if (state.key === sessionKey && state.session) {\n return (\n <EditableArtifactWorkbench\n session={state.session}\n {...(document ? { document } : {})}\n {...(spreadsheet ? { spreadsheet } : {})}\n {...(presentation ? { presentation } : {})}\n />\n );\n }\n return (\n <EditableArtifactMessage\n title={currentError ? labels.editableErrors.transient.title : labels.opening}\n detail={currentError?.message ?? labels.startingEditor}\n retry={currentError ? retry : undefined}\n retryLabel={labels.retry}\n />\n );\n}\n\n/**\n * Complete default-browser composition for embedders: verified WASM Worker,\n * durable IndexedDB state, authenticated live sync, teardown, and the matching\n * first-party editor. Advanced/custom transports compose the lower-level host.\n */\nexport function BrowserEditableArtifactWorkbench({\n options,\n document,\n spreadsheet,\n presentation,\n}: BrowserEditableArtifactWorkbenchProps) {\n const sessionKey = browserSessionKey(options);\n const createSession = useCallback(() => createBrowserEditableArtifactSession(options), [options]);\n return (\n <EditableArtifactWorkbenchHost\n sessionKey={sessionKey}\n createSession={createSession}\n {...(document ? { document } : {})}\n {...(spreadsheet ? { spreadsheet } : {})}\n {...(presentation ? { presentation } : {})}\n />\n );\n}\n\nfunction browserSessionKey(options: BrowserEditableArtifactWorkbenchOptions): string {\n const transport = options.transport\n ? {\n ...options.transport,\n // Credentials must not be copied into React lifecycle keys. The\n // authorization epoch is the explicit credential/grant rotation fence.\n headers: options.transport.headers\n ? Object.keys(options.transport.headers).sort()\n : undefined,\n }\n : null;\n return JSON.stringify(\n {\n baseUrl: options.baseUrl,\n workspaceId: options.workspaceId,\n artifact: { id: options.artifact.id, modality: options.artifact.modality },\n storageAuthority: options.storageAuthority,\n runtime: options.runtime,\n replicaId: options.replicaId ?? null,\n transport,\n },\n (_key, value: unknown) => (value instanceof URL ? value.href : value),\n );\n}\n","import { SESSION_SCOPE_HEADER, type ClientConfig, type OpenGeniClient } from \"@opengeni/sdk\";\nimport { createEditableArtifactReplicaId } from \"@opengeni/sdk/editable-artifacts\";\nimport { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\n\nimport { cn } from \"../../lib/cn\";\nimport { joinClientConfigRead } from \"../../lib/client-config-read\";\nimport { useOpenGeni, type ClientOverride } from \"../../session-context\";\nimport {\n ArtifactLabelsProvider,\n ArtifactLoading,\n ArtifactProblem,\n ArtifactViewerHeader,\n artifactLoadErrorView,\n useArtifactLabels,\n type ArtifactKind,\n type ArtifactLabels,\n} from \"./artifact-chrome\";\nimport { EditableArtifactView, type EditableArtifactRuntimes } from \"./editable-artifact-view\";\nimport type { SiteToolBridgeFactory } from \"./chat-interactive-block\";\nimport { SiteView } from \"./site-view\";\nimport { useOpenGeniText } from \"../../messages/runtime\";\n\n/** An artifact opened from a session: the targets agent links and Site previews name. */\nexport type SessionArtifactTarget = Readonly<\n | { kind: \"editable-artifact\"; artifactId: string; title?: string | undefined }\n | { kind: \"site\"; artifactId: string; title?: string | undefined }\n>;\n\n/** Every string the viewer shows, including its Site frame and states. */\nexport type SessionArtifactViewerLabels = Partial<ArtifactLabels>;\n\nexport type SessionArtifactViewerProps = ClientOverride &\n Readonly<{\n /** The conversation the artifact belongs to; the proxy only serves its artifacts. */\n sessionId: string;\n target: SessionArtifactTarget;\n onClose: () => void;\n /** Show a Back control, for example to return to the conversation on phones. */\n onBack?: (() => void) | undefined;\n /** Browser kernels and Worker for documents, spreadsheets, and presentations. */\n editableRuntimes?: EditableArtifactRuntimes | undefined;\n theme?: \"light\" | \"dark\" | undefined;\n /** Host-owned Site API access; omit it and Sites render without workspace tools. */\n siteToolBridge?: SiteToolBridgeFactory | undefined;\n labels?: SessionArtifactViewerLabels | undefined;\n className?: string | undefined;\n }>;\n\ntype ViewerClient = Pick<\n OpenGeniClient,\n | \"withHeaders\"\n | \"apiUrl\"\n | \"fetchApi\"\n | \"getClientConfig\"\n | \"getEditableArtifact\"\n | \"getWorkspaceArtifact\"\n | \"getWorkspaceArtifactHtml\"\n>;\n\nconst viewerClientKeys = new WeakMap<ViewerClient, string>();\n\nfunction viewerClientKey(client: ViewerClient): string {\n let key = viewerClientKeys.get(client);\n if (!key) {\n key = crypto.randomUUID();\n viewerClientKeys.set(client, key);\n }\n return key;\n}\n\n/**\n * A host-mountable viewer for one editable artifact or Site from a session,\n * with its own header (title, Back, Close). Mount it in any sized container\n * (a side panel, a sheet); it fills it. Data flows through the provider's\n * client (for example through `createSessionProxyHandler`), scoped to\n * `sessionId`.\n */\nexport function SessionArtifactViewer({ labels, ...props }: SessionArtifactViewerProps) {\n return (\n <ArtifactLabelsProvider labels={labels}>\n <Viewer {...props} />\n </ArtifactLabelsProvider>\n );\n}\n\nfunction Viewer({\n client: clientOverride,\n workspaceId: workspaceOverride,\n sessionId,\n target,\n onClose,\n onBack,\n editableRuntimes,\n theme,\n siteToolBridge,\n className,\n}: Omit<SessionArtifactViewerProps, \"labels\">) {\n const labels = useArtifactLabels();\n const context = useOpenGeni({ client: clientOverride, workspaceId: workspaceOverride });\n const base = context.client as unknown as ViewerClient;\n const workspaceId = context.workspaceId;\n const client = useMemo(\n () => base.withHeaders({ [SESSION_SCOPE_HEADER]: sessionId }),\n [base, sessionId],\n );\n const [loaded, setLoaded] = useState<{\n key: string;\n client: ViewerClient;\n workspaceId: string;\n title: string;\n kind: ArtifactKind | null;\n } | null>(null);\n const targetKey = `${target.kind}:${target.artifactId}`;\n const current =\n loaded?.key === targetKey && loaded.client === client && loaded.workspaceId === workspaceId\n ? loaded\n : null;\n const kind: ArtifactKind | null = target.kind === \"site\" ? \"site\" : (current?.kind ?? null);\n const [unavailable, setUnavailable] = useState<{\n key: string;\n client: ViewerClient;\n workspaceId: string;\n } | null>(null);\n const markUnavailable = useCallback(\n () => setUnavailable({ key: targetKey, client, workspaceId }),\n [client, targetKey, workspaceId],\n );\n const title =\n current?.title ??\n target.title ??\n (unavailable?.key === targetKey &&\n unavailable.client === client &&\n unavailable.workspaceId === workspaceId\n ? labels.artifact\n : labels.opening);\n return (\n <section\n aria-label={title}\n data-og-artifact-viewer={target.kind}\n className={cn(\"og-root flex h-full min-h-0 w-full min-w-0 flex-col bg-bg text-fg\", className)}\n >\n <ArtifactViewerHeader\n kind={kind}\n title={title}\n onBack={onBack}\n backLabel={labels.back}\n onClose={onClose}\n closeLabel={labels.close}\n />\n <div className=\"flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden\">\n {target.kind === \"site\" ? (\n <SiteView\n key={targetKey}\n client={client}\n workspaceId={workspaceId}\n siteId={target.artifactId}\n theme={theme}\n toolBridge={siteToolBridge}\n showTitle={false}\n onTitle={(next) =>\n setLoaded({ key: targetKey, client, workspaceId, title: next, kind: \"site\" })\n }\n />\n ) : (\n <EditableBody\n key={targetKey}\n client={client}\n workspaceId={workspaceId}\n sessionId={sessionId}\n artifactId={target.artifactId}\n runtimes={editableRuntimes}\n onOpened={(next, modality) =>\n setLoaded({ key: targetKey, client, workspaceId, title: next, kind: modality })\n }\n onUnavailable={markUnavailable}\n />\n )}\n </div>\n </section>\n );\n}\n\nfunction EditableBody({\n client,\n workspaceId,\n sessionId,\n artifactId,\n runtimes,\n onOpened,\n onUnavailable,\n}: {\n client: ViewerClient;\n workspaceId: string;\n sessionId: string;\n artifactId: string;\n runtimes: EditableArtifactRuntimes | undefined;\n onOpened: (title: string, modality: ArtifactKind) => void;\n onUnavailable: () => void;\n}) {\n const t = useOpenGeniText();\n const labels = useArtifactLabels();\n const clientKey = viewerClientKey(client);\n const [retryEpoch, setRetryEpoch] = useState(0);\n const [configState, setConfigState] = useState<{\n client: ViewerClient;\n workspaceId: string;\n sessionId: string;\n result:\n | { kind: \"ready\"; config: Exclude<NonNullable<ClientConfig[\"artifacts\"]>, false> }\n | { kind: \"unavailable\" }\n | { kind: \"error\"; error: unknown };\n } | null>(null);\n const current =\n configState?.client === client &&\n configState.workspaceId === workspaceId &&\n configState.sessionId === sessionId\n ? configState.result\n : null;\n const config = current?.kind === \"ready\" ? current.config : null;\n const scopeRef = useRef({ client, workspaceId, sessionId });\n scopeRef.current = { client, workspaceId, sessionId };\n useEffect(() => {\n let live = true;\n setConfigState(null);\n joinClientConfigRead(client).then(\n (value) =>\n live &&\n setConfigState({\n client,\n workspaceId,\n sessionId,\n result: value.artifacts\n ? { kind: \"ready\", config: value.artifacts }\n : { kind: \"unavailable\" },\n }),\n (error: unknown) =>\n live &&\n setConfigState({ client, workspaceId, sessionId, result: { kind: \"error\", error } }),\n );\n return () => {\n live = false;\n };\n }, [client, retryEpoch, sessionId, workspaceId]);\n const baseUrl = useMemo(\n () => new URL(client.apiUrl(\"/\"), globalThis.location?.href ?? \"http://localhost/\"),\n [client],\n );\n const transport = useMemo(() => {\n if (!config) return undefined;\n const socket = new URL(config.editableLiveUrl);\n let scope = new AbortController();\n const checkCurrent = (signal: AbortSignal) => {\n signal.throwIfAborted();\n if (\n scopeRef.current.client !== client ||\n scopeRef.current.workspaceId !== workspaceId ||\n scopeRef.current.sessionId !== sessionId\n ) {\n throw new DOMException(\"Artifact viewer scope changed\", \"AbortError\");\n }\n };\n return {\n activate: () => {\n if (scope.signal.aborted) scope = new AbortController();\n },\n abort: () => scope.abort(),\n fetch: (async (input: RequestInfo | URL, init?: RequestInit) => {\n const signal = AbortSignal.any([scope.signal, ...(init?.signal ? [init.signal] : [])]);\n checkCurrent(signal);\n const url = new URL(input instanceof Request ? input.url : input, baseUrl);\n if (\n init?.method === \"POST\" &&\n url.pathname ===\n new URL(\n `v1/workspaces/${encodeURIComponent(workspaceId)}/editable-artifacts/${encodeURIComponent(artifactId)}/live-ticket`,\n baseUrl,\n ).pathname\n ) {\n // A reconnect must revalidate the current host principal before\n // minting a ticket for the editor's retained cache partition.\n const next = (await client.getClientConfig({ signal })).artifacts;\n checkCurrent(signal);\n if (!next || artifactCapabilityKey(next) !== artifactCapabilityKey(config)) {\n setConfigState({\n client,\n workspaceId,\n sessionId,\n result: next ? { kind: \"ready\", config: next } : { kind: \"unavailable\" },\n });\n scope.abort();\n signal.throwIfAborted();\n }\n const { replicaId } = (await new Request(input, init).json()) as {\n replicaId?: unknown;\n };\n if (typeof replicaId !== \"string\") throw new TypeError(\"Artifact replica is required\");\n await client.getEditableArtifact(workspaceId, artifactId, { replicaId, signal });\n checkCurrent(signal);\n }\n return client.fetchApi(url, { ...init, signal });\n }) as typeof fetch,\n webSocketUrl: socket,\n ...(isLoopback(baseUrl) && isLoopback(socket)\n ? { allowInsecureDevelopmentTransport: true }\n : {}),\n };\n }, [artifactId, baseUrl, client, config, sessionId, workspaceId]);\n useEffect(() => {\n transport?.activate();\n return () => transport?.abort();\n }, [transport]);\n const blocked = current !== null && (current.kind !== \"ready\" || !runtimes);\n useEffect(() => {\n if (blocked) onUnavailable();\n }, [blocked, onUnavailable]);\n if (!current) return <ArtifactLoading label={labels.opening} />;\n if (current.kind === \"error\") {\n return (\n <ArtifactProblem\n view={artifactLoadErrorView(t, current.error, \"editable\", labels)}\n onRetry={() => setRetryEpoch((value) => value + 1)}\n />\n );\n }\n if (!config || !transport) {\n return <ArtifactProblem view={{ ...labels.viewingDisabled, retryable: false }} />;\n }\n if (!runtimes) {\n return <ArtifactProblem view={{ ...labels.editorsMissing, retryable: false }} />;\n }\n return (\n <EditableArtifactView\n baseUrl={baseUrl}\n workspaceId={workspaceId}\n artifactId={artifactId}\n authorityKey={JSON.stringify([clientKey, sessionId, artifactCapabilityKey(config)])}\n runtimes={{\n ...runtimes,\n ...(isLoopback(baseUrl) ? { allowInsecureDevelopmentAssets: true } : {}),\n }}\n transport={transport}\n showHeader={false}\n open={async (signal) => {\n const replicaId = createEditableArtifactReplicaId();\n const artifact = await client.getEditableArtifact(workspaceId, artifactId, {\n replicaId,\n signal,\n });\n signal.throwIfAborted();\n onOpened(artifact.title, artifact.modality);\n return {\n artifact,\n replicaId,\n authority: {\n deploymentOrigin: baseUrl.origin,\n workspaceId,\n ...config.cachePartition,\n },\n };\n }}\n />\n );\n}\n\nfunction artifactCapabilityKey(\n config: Exclude<NonNullable<ClientConfig[\"artifacts\"]>, false>,\n): string {\n return JSON.stringify([\n config.editableLiveUrl,\n config.cachePartition.accountId,\n config.cachePartition.principalId,\n config.cachePartition.authorizationEpoch,\n ]);\n}\n\nfunction isLoopback(url: URL): boolean {\n return (\n (url.protocol === \"http:\" || url.protocol === \"ws:\") &&\n (url.hostname === \"localhost\" || url.hostname === \"127.0.0.1\" || url.hostname === \"[::1]\")\n );\n}\n"],"mappings":"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","names":["createBrowserEditableArtifactSession","useCallback","useEffect","useMemo","useRef","useState","useCallback","useEffect","useRef","useState","jsx","document","useRef","useState","useEffect","useCallback","jsx","useState","useRef","useEffect","useMemo","useCallback","createBrowserEditableArtifactSession","useCallback","useEffect","useMemo","useRef","useState","jsx","jsxs","useMemo","useState","useCallback","useRef","useEffect"]}
@@ -6,7 +6,7 @@ import {
6
6
  UsageLimitNoticeView,
7
7
  UsageMeterView,
8
8
  summarizeUsage
9
- } from "./chunk-T3OWFVMS.js";
9
+ } from "./chunk-Y3XZEKDQ.js";
10
10
  import {
11
11
  isPersonalWorkspace
12
12
  } from "./chunk-LBSXJVHD.js";
@@ -95,4 +95,4 @@ export {
95
95
  AccountUsageMenuItem,
96
96
  ComposerUsageNotice
97
97
  };
98
- //# sourceMappingURL=chunk-NC7PVOEK.js.map
98
+ //# sourceMappingURL=chunk-HWVPLFIW.js.map
@@ -14,7 +14,7 @@ import {
14
14
  } from "./chunk-RNC6B4BN.js";
15
15
  import {
16
16
  useOpenGeniText
17
- } from "./chunk-7T2ZE3VT.js";
17
+ } from "./chunk-QPQ7R77C.js";
18
18
 
19
19
  // src/hooks/use-connect.ts
20
20
  import { useMemo, useSyncExternalStore } from "react";
@@ -567,4 +567,4 @@ export {
567
567
  useMcpCapabilityConnect,
568
568
  showsMcpServerLabel
569
569
  };
570
- //# sourceMappingURL=chunk-IMDQUHBJ.js.map
570
+ //# sourceMappingURL=chunk-HYEIA25Y.js.map
@@ -3,7 +3,7 @@ import {
3
3
  SessionAvatar,
4
4
  sessionAvatarFallbackHue,
5
5
  sessionAvatarInitials
6
- } from "./chunk-YLS6QE5G.js";
6
+ } from "./chunk-UO35OEOX.js";
7
7
  import {
8
8
  Skeleton
9
9
  } from "./chunk-HJO32O7Z.js";
@@ -76,4 +76,4 @@ function BotLaunchStrip({
76
76
  export {
77
77
  BotLaunchStrip
78
78
  };
79
- //# sourceMappingURL=chunk-ECJBYNLJ.js.map
79
+ //# sourceMappingURL=chunk-ICAMYP5M.js.map
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import {
3
3
  rememberedProjectCompute
4
- } from "./chunk-IXPTECSC.js";
4
+ } from "./chunk-AVXDIRRW.js";
5
5
 
6
6
  // src/app/routes/sessions-index-hydration.tsx
7
7
  function initialNewSessionProjectLaunchIntent(launchChannelId) {
@@ -53,4 +53,4 @@ export {
53
53
  resolveHydratedNewSessionProjectSelection,
54
54
  hydratedNewSessionProjectProvenancePresent
55
55
  };
56
- //# sourceMappingURL=chunk-DJAXC5OK.js.map
56
+ //# sourceMappingURL=chunk-IFSXVU2S.js.map
@@ -12,10 +12,10 @@ import {
12
12
  DetailSheet,
13
13
  DetailSheetContent,
14
14
  DetailSheetTrigger
15
- } from "./chunk-6PZ7OBYU.js";
15
+ } from "./chunk-DLVIRJGK.js";
16
16
  import {
17
17
  SheetClose
18
- } from "./chunk-ZBIXBQNI.js";
18
+ } from "./chunk-ABJZDRW2.js";
19
19
  import {
20
20
  Button
21
21
  } from "./chunk-7QQN3KNP.js";
@@ -278,4 +278,4 @@ function Disclosure({
278
278
  export {
279
279
  Disclosure
280
280
  };
281
- //# sourceMappingURL=chunk-I4MRDSUF.js.map
281
+ //# sourceMappingURL=chunk-IJR6VOLU.js.map
@@ -13,7 +13,7 @@ import {
13
13
  } from "./chunk-SS4QT7SL.js";
14
14
  import {
15
15
  ConfirmDialog
16
- } from "./chunk-SIRLACNZ.js";
16
+ } from "./chunk-KO3OHHY2.js";
17
17
  import {
18
18
  DropdownMenu,
19
19
  DropdownMenuContent,
@@ -231,4 +231,4 @@ export {
231
231
  useArtifactAudience,
232
232
  useSiteAudience
233
233
  };
234
- //# sourceMappingURL=chunk-YCVD6CI3.js.map
234
+ //# sourceMappingURL=chunk-IN3VQFKS.js.map
@@ -1,16 +1,16 @@
1
1
  "use client";
2
2
  import {
3
3
  SessionShell
4
- } from "./chunk-5YKW2K6I.js";
4
+ } from "./chunk-AJDGP2N4.js";
5
5
  import {
6
6
  useWorkspaceIntegrations
7
7
  } from "./chunk-A36PZALD.js";
8
8
  import {
9
9
  SessionsIndexRoute
10
- } from "./chunk-NW53H5RW.js";
10
+ } from "./chunk-JV5ULONH.js";
11
11
  import {
12
12
  SessionRoute
13
- } from "./chunk-6BCXNDEI.js";
13
+ } from "./chunk-QQIZMVAJ.js";
14
14
  import {
15
15
  parseComposerLaunchSearch
16
16
  } from "./chunk-L34IVLQC.js";
@@ -22,16 +22,16 @@ import {
22
22
  } from "./chunk-SKPHMYAA.js";
23
23
  import {
24
24
  SiteToolConsentProvider
25
- } from "./chunk-SEO7TICN.js";
25
+ } from "./chunk-77BHKC43.js";
26
26
  import {
27
27
  apiErrorFromResponseBody
28
28
  } from "./chunk-XIQPI2NM.js";
29
29
  import {
30
30
  ActionsProvider
31
- } from "./chunk-HGKTHF2U.js";
31
+ } from "./chunk-AJBDAVX3.js";
32
32
  import {
33
33
  RailProvider
34
- } from "./chunk-5EWSRZ2Y.js";
34
+ } from "./chunk-M3HGBO2Y.js";
35
35
  import {
36
36
  parseSessionSearchRoute
37
37
  } from "./chunk-TXIIBNCA.js";
@@ -47,7 +47,7 @@ import {
47
47
  } from "./chunk-4QDECAI5.js";
48
48
  import {
49
49
  CreditRequiredGate
50
- } from "./chunk-T7OXJZCX.js";
50
+ } from "./chunk-XOIDUM2H.js";
51
51
  import {
52
52
  WorkspaceTenantBoundary
53
53
  } from "./chunk-SVINDKVW.js";
@@ -59,10 +59,10 @@ import {
59
59
  import {
60
60
  createSlackLinkPrepareController,
61
61
  useAppState
62
- } from "./chunk-4DVNUCRR.js";
62
+ } from "./chunk-U5UGM5XD.js";
63
63
  import {
64
64
  authorizedWorkspaceFromList
65
- } from "./chunk-4DVJ6ONS.js";
65
+ } from "./chunk-AH3DGOTK.js";
66
66
  import {
67
67
  createMessageContextStore
68
68
  } from "./chunk-KMDWWTDF.js";
@@ -88,13 +88,13 @@ import {
88
88
  } from "./chunk-A3MTTRCX.js";
89
89
  import {
90
90
  ConversationRenderBoundary
91
- } from "./chunk-TXLIEOJX.js";
91
+ } from "./chunk-PSM3CU7N.js";
92
92
  import {
93
93
  OpenGeniProvider
94
- } from "./chunk-5IE76VCY.js";
94
+ } from "./chunk-752WXSDN.js";
95
95
  import {
96
96
  SecretsUiProvider
97
- } from "./chunk-6DVCC7QS.js";
97
+ } from "./chunk-OBGOLHCP.js";
98
98
  import {
99
99
  OpenGeniLinkProvider
100
100
  } from "./chunk-NPNX7LTL.js";
@@ -419,4 +419,4 @@ function SessionAppForWorkspace(props) {
419
419
  export {
420
420
  SessionApp
421
421
  };
422
- //# sourceMappingURL=chunk-BJFH6JI5.js.map
422
+ //# sourceMappingURL=chunk-IZXYFWA4.js.map