@opengeni/react 4.5.0 → 4.5.1-canary.39832248373001

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 (414) hide show
  1. package/dist/app/app-state.js +24 -24
  2. package/dist/app/components/Composer.js +20 -20
  3. package/dist/app/components/agent/agent-capability-picker.js +4 -4
  4. package/dist/app/components/artifacts/artifact-library.js +17 -17
  5. package/dist/app/components/artifacts/chat-interactive-block.js +15 -15
  6. package/dist/app/components/artifacts/inline-chat-image.js +27 -27
  7. package/dist/app/components/artifacts/retained-file-preview.js +30 -30
  8. package/dist/app/components/artifacts/retained-text-preview.js +3 -3
  9. package/dist/app/components/artifacts/site-audience.js +4 -4
  10. package/dist/app/components/artifacts/site-conversations.js +20 -20
  11. package/dist/app/components/artifacts/site-data.js +19 -19
  12. package/dist/app/components/artifacts/site-publishing.js +36 -36
  13. package/dist/app/components/artifacts/site-settings.js +45 -45
  14. package/dist/app/components/billing-class-mark.js +4 -4
  15. package/dist/app/components/capabilities/capability-detail-sheet.js +9 -9
  16. package/dist/app/components/capabilities/capability-logo-source.js +9 -9
  17. package/dist/app/components/capabilities/connector-tool-permissions.js +3 -3
  18. package/dist/app/components/capabilities/native-connect-setup.js +11 -11
  19. package/dist/app/components/capabilities/perform-capability-action.js +1 -1
  20. package/dist/app/components/capabilities/prepared-mcp-setup-card.js +11 -11
  21. package/dist/app/components/capabilities/session-capability-card.js +71 -71
  22. package/dist/app/components/capabilities/session-chrome-card.js +30 -30
  23. package/dist/app/components/capabilities/session-custom-mcp-card.js +16 -16
  24. package/dist/app/components/capabilities/session-github-card.js +21 -21
  25. package/dist/app/components/capabilities/session-machine-card.js +29 -29
  26. package/dist/app/components/capabilities/use-capabilities-catalog.js +3 -3
  27. package/dist/app/components/capabilities/use-connection-accounts.js +1 -1
  28. package/dist/app/components/command-menu/chat-status.js +14 -14
  29. package/dist/app/components/command-menu/chat-switcher.js +19 -19
  30. package/dist/app/components/command-menu/command-menu.js +28 -28
  31. package/dist/app/components/command-menu/shortcut-sheet.js +10 -10
  32. package/dist/app/components/composer-capabilities-menu-body.js +3 -3
  33. package/dist/app/components/composer-mobile-plus-panel.js +19 -19
  34. package/dist/app/components/composer-mobile-plus.js +1 -1
  35. package/dist/app/components/credit-required-gate.js +1 -1
  36. package/dist/app/components/credit-required-prompt.js +10 -10
  37. package/dist/app/components/desktop/app-shots.js +1 -1
  38. package/dist/app/components/feedback.js +2 -2
  39. package/dist/app/components/follow-up-repository-menu-body.js +5 -5
  40. package/dist/app/components/follow-up-repository-picker.js +1 -1
  41. package/dist/app/components/github-app-connect-launcher.js +1 -1
  42. package/dist/app/components/knowledge/agent-learning-settings.js +3 -3
  43. package/dist/app/components/machines/connect-machine-dialog.js +16 -16
  44. package/dist/app/components/markdown.js +8 -8
  45. package/dist/app/components/message-context-pills.js +2 -2
  46. package/dist/app/components/models/models-ui.js +7 -7
  47. package/dist/app/components/pickers.js +8 -8
  48. package/dist/app/components/rail/rail-context.js +1 -1
  49. package/dist/app/components/rail/rail-sections.js +57 -57
  50. package/dist/app/components/rail/session-header.js +45 -45
  51. package/dist/app/components/rail/session-list.js +55 -55
  52. package/dist/app/components/rail/session-row-hover-details.js +21 -21
  53. package/dist/app/components/rail/session-shell.js +93 -93
  54. package/dist/app/components/rail/site-session-group-heading.js +10 -10
  55. package/dist/app/components/repository-picker.js +5 -5
  56. package/dist/app/components/secrets/session-secrets-panel.js +3 -3
  57. package/dist/app/components/session/agent-configuration-panel.js +32 -32
  58. package/dist/app/components/session/artifact-session-page.js +2 -2
  59. package/dist/app/components/session/banners.js +10 -10
  60. package/dist/app/components/session/codex-account-indicator.js +9 -9
  61. package/dist/app/components/session/editable-artifacts-workspace.js +40 -40
  62. package/dist/app/components/session/failed-session-banner.js +6 -6
  63. package/dist/app/components/session/human-input.js +51 -51
  64. package/dist/app/components/session/inspector.js +80 -80
  65. package/dist/app/components/session/message-actions.js +2 -2
  66. package/dist/app/components/session/message-resource-attachments.js +18 -18
  67. package/dist/app/components/session/model-account-indicator.js +8 -8
  68. package/dist/app/components/session/model-context-inspector.js +2 -2
  69. package/dist/app/components/session/new-session-settings-menu.js +10 -10
  70. package/dist/app/components/session/sandbox-switcher.js +9 -9
  71. package/dist/app/components/session/sandbox-workspace.js +68 -68
  72. package/dist/app/components/session/search-markdown-highlight.js +9 -9
  73. package/dist/app/components/session/search-results-view.js +10 -10
  74. package/dist/app/components/session/session-admin-access.js +9 -9
  75. package/dist/app/components/session/session-admission-notice.js +2 -2
  76. package/dist/app/components/session/session-machine-access-notice.js +2 -2
  77. package/dist/app/components/session/session-retention.js +4 -4
  78. package/dist/app/components/session/session-search-dialog.js +10 -10
  79. package/dist/app/components/session/session-skill-reviews.js +1 -1
  80. package/dist/app/components/session/session-tenancy-control.js +22 -22
  81. package/dist/app/components/session/session-usage-limit-section.js +9 -9
  82. package/dist/app/components/session/session-wait-status.js +9 -9
  83. package/dist/app/components/session/subagents.js +13 -13
  84. package/dist/app/components/session-connectors-menu-body.js +5 -5
  85. package/dist/app/components/settings/row-select.js +1 -1
  86. package/dist/app/components/transcription-settings.js +2 -2
  87. package/dist/app/components/ui/destructive-confirm.js +6 -6
  88. package/dist/app/components/usage/usage-entry.js +4 -4
  89. package/dist/app/components/workspace-composer-plus.js +18 -18
  90. package/dist/app/embed/session-app.js +255 -255
  91. package/dist/app/lib/actions/actions-provider.js +10 -10
  92. package/dist/app/lib/codex-usage-query.js +2 -2
  93. package/dist/app/lib/composer-connectors.js +10 -10
  94. package/dist/app/lib/events.js +14 -14
  95. package/dist/app/lib/session-branch-cache.js +11 -11
  96. package/dist/app/lib/session-create.js +2 -2
  97. package/dist/app/lib/session-group-pagination.js +11 -11
  98. package/dist/app/lib/session-hover-facts.js +12 -12
  99. package/dist/app/lib/session-model.js +3 -3
  100. package/dist/app/lib/session-rail.js +9 -9
  101. package/dist/app/lib/session-rename.js +3 -3
  102. package/dist/app/lib/sessions-group.js +11 -11
  103. package/dist/app/lib/turn-failure-analytics.js +1 -1
  104. package/dist/app/lib/use-duplicate-site.js +2 -2
  105. package/dist/app/lib/use-follow-up-repositories.js +3 -3
  106. package/dist/app/lib/use-workspace-machines.js +2 -2
  107. package/dist/app/lib/use-workspace-model-catalog.js +3 -3
  108. package/dist/app/lib/use-workspace-rigs.js +3 -3
  109. package/dist/app/lib/workspace-navigation-preference.js +1 -1
  110. package/dist/app/lib/workspace-scope-context.js +1 -1
  111. package/dist/app/routes/artifacts.js +125 -125
  112. package/dist/app/routes/retained-artifact.js +64 -64
  113. package/dist/app/routes/session-unavailable.js +3 -3
  114. package/dist/app/routes/session.js +160 -160
  115. package/dist/app/routes/sessions-index-hydration.js +3 -3
  116. package/dist/app/routes/sessions-index.js +112 -112
  117. package/dist/app/routes/site-view.js +83 -83
  118. package/dist/artifacts-document.js +2 -2
  119. package/dist/artifacts-presentation.js +2 -2
  120. package/dist/artifacts-spreadsheet.js +2 -2
  121. package/dist/artifacts.js +36 -36
  122. package/dist/{browser-viewer-QMCNV4RI.js → browser-viewer-VPK3CV2H.js} +6 -6
  123. package/dist/{chat-interactive-block-PMIAUXSO.js → chat-interactive-block-AMDSW656.js} +5 -5
  124. package/dist/{chunk-3STBLX4O.js → chunk-25LWDG5D.js} +5 -5
  125. package/dist/{chunk-MCTTONOW.js → chunk-2CKVVAGP.js} +22 -22
  126. package/dist/{chunk-J7FBBLHF.js → chunk-2DL6NJP5.js} +37 -37
  127. package/dist/{chunk-CFFNT2OY.js → chunk-3GLAPCVI.js} +8 -8
  128. package/dist/{chunk-BXQYAAVE.js → chunk-3XOISKZC.js} +4 -4
  129. package/dist/{chunk-N3ZP4IDU.js → chunk-45WYYFP6.js} +2 -2
  130. package/dist/{chunk-52WK2GGK.js → chunk-4MQLGMV2.js} +7 -7
  131. package/dist/{chunk-MXLKI7BI.js → chunk-4U4GXWXS.js} +2 -2
  132. package/dist/{chunk-3RMKPHBL.js → chunk-5HIOVXOX.js} +2 -2
  133. package/dist/{chunk-5W6ZDKRR.js → chunk-5M23GZA2.js} +4 -4
  134. package/dist/{chunk-S2U4CDAC.js → chunk-6AFSZKZA.js} +149 -149
  135. package/dist/chunk-6AFSZKZA.js.map +1 -0
  136. package/dist/{chunk-UUGR3X5I.js → chunk-6MRY2RUZ.js} +5 -5
  137. package/dist/{chunk-ZVVT72MT.js → chunk-6O4VWKSO.js} +2 -2
  138. package/dist/{chunk-FTX5CNHA.js → chunk-767WCGAX.js} +4 -4
  139. package/dist/{chunk-5JHRMUAZ.js → chunk-7IYAHFPE.js} +11 -11
  140. package/dist/{chunk-EJ7WARW7.js → chunk-7J7PZB4S.js} +2 -2
  141. package/dist/{chunk-RIYZFKIM.js → chunk-7PUFAH4I.js} +38 -38
  142. package/dist/{chunk-KEXYBG7Q.js → chunk-7R2JQHBX.js} +2 -2
  143. package/dist/{chunk-TV6BWONY.js → chunk-7VN6VC3D.js} +2 -2
  144. package/dist/{chunk-5FEN3KYH.js → chunk-A2E3ZF6N.js} +11 -11
  145. package/dist/{chunk-SM5QX6UK.js → chunk-A2EWJQXX.js} +4 -4
  146. package/dist/{chunk-UP7I3W6O.js → chunk-A6CK4ENG.js} +54 -54
  147. package/dist/{chunk-TIQPKOFW.js → chunk-A6T4FGE7.js} +2 -2
  148. package/dist/{chunk-7P4AQMGA.js → chunk-AOUCHCSB.js} +10 -10
  149. package/dist/{chunk-RFLYID6H.js → chunk-AT4K4F6S.js} +4 -4
  150. package/dist/{chunk-YV56F4UP.js → chunk-AW3QEFOF.js} +179 -179
  151. package/dist/chunk-AW3QEFOF.js.map +1 -0
  152. package/dist/{chunk-CMLJSF2F.js → chunk-BLPXOHG6.js} +11 -11
  153. package/dist/{chunk-LF5CBAOS.js → chunk-C535KSTY.js} +4 -4
  154. package/dist/{chunk-4YXAQMTD.js → chunk-CB574ERL.js} +10 -10
  155. package/dist/{chunk-552UYIQ7.js → chunk-CDUDKETD.js} +19 -19
  156. package/dist/{chunk-PCFK7HKD.js → chunk-D3RK3NGM.js} +17 -17
  157. package/dist/{chunk-LHLK7FUA.js → chunk-D64Z4V26.js} +2 -2
  158. package/dist/{chunk-JO6R5EXF.js → chunk-DFXZYNTX.js} +4 -4
  159. package/dist/{chunk-4RMN4E2Y.js → chunk-DKCX643S.js} +13 -13
  160. package/dist/{chunk-CD3MO3IC.js → chunk-E36IC3LU.js} +2 -2
  161. package/dist/{chunk-7XO7YKPC.js → chunk-ECHYJP63.js} +70 -70
  162. package/dist/{chunk-QFMLAT7L.js → chunk-EH7TTYE6.js} +184 -184
  163. package/dist/{chunk-7KIENXRE.js → chunk-EMCB6XKU.js} +1 -1
  164. package/dist/{chunk-FFNPUSVO.js → chunk-ERG355NM.js} +6 -6
  165. package/dist/{chunk-22JFMNMF.js → chunk-F2RMKGDQ.js} +4 -4
  166. package/dist/{chunk-7TCT7KPQ.js → chunk-F33EDYS7.js} +224 -224
  167. package/dist/chunk-F33EDYS7.js.map +1 -0
  168. package/dist/{chunk-4VK2R5QC.js → chunk-F3FN6DO6.js} +2 -2
  169. package/dist/{chunk-62VER7O4.js → chunk-F3NERYBQ.js} +6 -6
  170. package/dist/{chunk-S37GP7LX.js → chunk-FB3B45FP.js} +18 -18
  171. package/dist/{chunk-U6MPB3K6.js → chunk-FVL4B552.js} +7 -7
  172. package/dist/{chunk-WCMG4HYI.js → chunk-G2BX56CN.js} +10 -10
  173. package/dist/{chunk-EQE3MNQN.js → chunk-GFSOXB2K.js} +5 -5
  174. package/dist/{chunk-3X5FKDYQ.js → chunk-GZGQHQI7.js} +24 -24
  175. package/dist/{chunk-GGV4NSG3.js → chunk-H4IE2PYF.js} +6 -6
  176. package/dist/{chunk-J22HD2PB.js → chunk-HNNM2GDN.js} +5 -5
  177. package/dist/{chunk-GXW2I2M2.js → chunk-HPB4KSV3.js} +2 -2
  178. package/dist/{chunk-YEROLKOA.js → chunk-HSQRYJ4P.js} +15 -15
  179. package/dist/{chunk-HU6JTNWF.js → chunk-HUXDGWAN.js} +2 -2
  180. package/dist/{chunk-ITX2TB4K.js → chunk-I66ZB6KD.js} +4 -4
  181. package/dist/{chunk-FDAV72IX.js → chunk-IC7KNOBB.js} +7 -7
  182. package/dist/{chunk-PO3BH3KQ.js → chunk-IIO2MR3B.js} +2 -2
  183. package/dist/{chunk-FWOBNL2A.js → chunk-IPPVX5GF.js} +1 -1
  184. package/dist/{chunk-4SAGYEVB.js → chunk-IUK5QGP5.js} +2 -2
  185. package/dist/{chunk-4XQC7VLT.js → chunk-JWN7SLTO.js} +11 -11
  186. package/dist/{chunk-5Y2FPLZE.js → chunk-KFWVBTUH.js} +7 -7
  187. package/dist/{chunk-JXT5QDJC.js → chunk-KNFDWNCH.js} +5 -5
  188. package/dist/{chunk-5DSKMG2I.js → chunk-LEXPBQ56.js} +4 -4
  189. package/dist/{chunk-LT4J7RHI.js → chunk-LKJ2C7PH.js} +10 -10
  190. package/dist/{chunk-XN7NSPE6.js → chunk-MJQBC7C5.js} +2 -2
  191. package/dist/{chunk-JQCGPTZ6.js → chunk-MM7OKOTE.js} +9 -9
  192. package/dist/{chunk-ULJAOMJA.js → chunk-ND2WCWXI.js} +4 -4
  193. package/dist/{chunk-EYS4ZOF5.js → chunk-NML44AW2.js} +2 -2
  194. package/dist/{chunk-TL7BOFFL.js → chunk-NQQKOJDI.js} +2 -2
  195. package/dist/{chunk-CP7ZQHBW.js → chunk-O4DYOSOL.js} +13 -13
  196. package/dist/{chunk-GRSODLVO.js → chunk-OANSIX34.js} +4 -4
  197. package/dist/{chunk-2QBYDGWO.js → chunk-OFB6TUDC.js} +7 -7
  198. package/dist/{chunk-EPWD4KRA.js → chunk-OOEO4MKY.js} +2 -2
  199. package/dist/{chunk-CDEXRJB6.js → chunk-PEKPWK5M.js} +4 -4
  200. package/dist/{chunk-4GLLWX33.js → chunk-PKEKZ2VA.js} +9 -9
  201. package/dist/{chunk-3RQUWFZT.js → chunk-PMD7V4N7.js} +65 -65
  202. package/dist/{chunk-3RQUWFZT.js.map → chunk-PMD7V4N7.js.map} +1 -1
  203. package/dist/{chunk-7FJMRJDG.js → chunk-PVR5EELP.js} +2 -2
  204. package/dist/{chunk-Y5BSA3I7.js → chunk-QBADR2FO.js} +6 -6
  205. package/dist/{chunk-22FFOHPT.js → chunk-QLIDZGPV.js} +11 -11
  206. package/dist/{chunk-JM4HQPAI.js → chunk-QZRDCFHI.js} +5 -5
  207. package/dist/{chunk-5W7KJ5NQ.js → chunk-R7XCJWCD.js} +37 -37
  208. package/dist/{chunk-GT7JFQ4E.js → chunk-RAMZTZOB.js} +111 -111
  209. package/dist/{chunk-A4BD4ZVB.js → chunk-S7PVL7XH.js} +4 -4
  210. package/dist/{chunk-I6KIQKU6.js → chunk-SCNEQFIW.js} +3 -3
  211. package/dist/{chunk-4LPA25NQ.js → chunk-SD2K5ZN5.js} +4 -4
  212. package/dist/{chunk-IDXTASGN.js → chunk-SD4PPZFB.js} +2 -2
  213. package/dist/{chunk-4HEXNAFI.js → chunk-SFAU5R5S.js} +18 -18
  214. package/dist/chunk-SFAU5R5S.js.map +1 -0
  215. package/dist/{chunk-35BC2FU2.js → chunk-SJORXXLV.js} +18 -18
  216. package/dist/{chunk-ZS2UQ3DV.js → chunk-SOXZ4LGS.js} +4 -4
  217. package/dist/{chunk-ACL2V2KE.js → chunk-SQDPHCK2.js} +19 -19
  218. package/dist/{chunk-YJPKDRI2.js → chunk-TDIOBPLA.js} +13 -13
  219. package/dist/{chunk-RYSRFAHN.js → chunk-TEPPPAJI.js} +19 -19
  220. package/dist/{chunk-FWYEZ3LE.js → chunk-THVIT3PW.js} +37 -37
  221. package/dist/{chunk-MIECLOQC.js → chunk-TN5T5HRZ.js} +6 -6
  222. package/dist/{chunk-RQNZDTKT.js → chunk-TR4HIKJ2.js} +15 -15
  223. package/dist/{chunk-J5MEDX7C.js → chunk-U47YDYLQ.js} +8 -8
  224. package/dist/{chunk-HQWVDQXW.js → chunk-UGEWCWVV.js} +7 -7
  225. package/dist/{chunk-YXA2EKV3.js → chunk-UUSAOIJR.js} +3 -3
  226. package/dist/{chunk-YVBHGMKC.js → chunk-VAIESMPY.js} +4 -4
  227. package/dist/{chunk-SY2AAZNB.js → chunk-VO6RVVP7.js} +1 -1
  228. package/dist/{chunk-3GU7AWG7.js → chunk-VPNXQUUS.js} +17 -17
  229. package/dist/{chunk-WKHUZIOW.js → chunk-VW3BBTMA.js} +1 -1
  230. package/dist/{chunk-7NPCEBZE.js → chunk-VWSFA4LJ.js} +4 -4
  231. package/dist/{chunk-GZS37O3G.js → chunk-WBPQ7OPC.js} +1 -1
  232. package/dist/{chunk-5FA455GR.js → chunk-WNG757ID.js} +4 -4
  233. package/dist/{chunk-G4HQUBO4.js → chunk-WSLPZ43N.js} +12 -12
  234. package/dist/{chunk-73WI7FL2.js → chunk-WUHB422G.js} +18 -18
  235. package/dist/{chunk-Z7IGO5EA.js → chunk-WVX5AQXS.js} +2 -2
  236. package/dist/{chunk-2NC7NZCE.js → chunk-WWOHORRO.js} +5 -5
  237. package/dist/{chunk-SSOO4GWN.js → chunk-WYDZP5F2.js} +114 -114
  238. package/dist/{chunk-SSOO4GWN.js.map → chunk-WYDZP5F2.js.map} +1 -1
  239. package/dist/{chunk-V4QZ7UBK.js → chunk-WYEPUXGL.js} +2 -2
  240. package/dist/{chunk-ZEIFJ6PX.js → chunk-XN6CALYY.js} +8 -8
  241. package/dist/{chunk-VH5EGTH2.js → chunk-XNACICAB.js} +3 -3
  242. package/dist/{chunk-YYCOSTUU.js → chunk-XU4I47IP.js} +16 -16
  243. package/dist/{chunk-GHHM6WN4.js → chunk-YG3IJCM2.js} +3 -3
  244. package/dist/{chunk-NEK4WB5P.js → chunk-YGSJWWT3.js} +2 -2
  245. package/dist/{chunk-IBA5FMRE.js → chunk-YO64YVYL.js} +133 -133
  246. package/dist/{chunk-XMNUZUUA.js → chunk-Z2DAWUO3.js} +6 -6
  247. package/dist/{chunk-BCM7C3MJ.js → chunk-Z4GJB24B.js} +8 -8
  248. package/dist/{chunk-UYNCMZX5.js → chunk-ZX5H7LWD.js} +3 -3
  249. package/dist/composer.js +12 -12
  250. package/dist/{computer-viewer-25AJIDYA.js → computer-viewer-VA5JONUH.js} +6 -6
  251. package/dist/connect.js +8 -8
  252. package/dist/{embedded-new-voice-RZZEJT6M.js → embedded-new-voice-6BILAOUG.js} +6 -6
  253. package/dist/{embedded-voice-6OKSSPLW.js → embedded-voice-UDE4JRKB.js} +6 -6
  254. package/dist/index.js +215 -215
  255. package/dist/interaction.js +8 -8
  256. package/dist/{latest-question-2PFWQSSG.js → latest-question-4WDBECXB.js} +2 -2
  257. package/dist/machines.js +1 -1
  258. package/dist/{model-policy-picker-menu-VVFGGAI6.js → model-policy-picker-menu-NRTO6FRP.js} +5 -5
  259. package/dist/native-previews.js +3 -3
  260. package/dist/{queue-surface-implementation-4SHOQPQQ.js → queue-surface-implementation-H4XSNHZE.js} +4 -4
  261. package/dist/realtime.js +5 -5
  262. package/dist/{sandbox-files-CCOTGXXA.js → sandbox-files-IEHODU35.js} +8 -8
  263. package/dist/session-app.js +255 -255
  264. package/dist/session-list-model.js +2 -2
  265. package/dist/session-ui.js +64 -64
  266. package/dist/session.js +18 -18
  267. package/dist/terminal.js +1 -1
  268. package/dist/{timeline-annotation-markers-KHNYNY2J.js → timeline-annotation-markers-ZSOFW7PG.js} +4 -4
  269. package/dist/{timeline-annotation-selection-AXEDJHBP.js → timeline-annotation-selection-YWV2UC34.js} +6 -6
  270. package/dist/{timeline-annotations-dialog-AV4ZBXRC.js → timeline-annotations-dialog-ZWQVX2HI.js} +7 -7
  271. package/dist/timeline-model.js +27 -27
  272. package/dist/ui/access-list.js +20 -20
  273. package/dist/ui/choice-cards.js +2 -2
  274. package/dist/ui/detail-page.js +2 -2
  275. package/dist/ui/detail-sheet.js +2 -2
  276. package/dist/ui/diff-view.js +2 -2
  277. package/dist/ui/disclosure.js +4 -4
  278. package/dist/ui/flush-form-page.js +3 -3
  279. package/dist/ui/form-dialog.js +2 -2
  280. package/dist/ui/list-row.js +5 -5
  281. package/dist/ui/revision-history.js +11 -11
  282. package/dist/ui/role-select.js +6 -6
  283. package/dist/ui/settings-nav.js +3 -3
  284. package/dist/workbench.js +9 -9
  285. package/package.json +4 -4
  286. package/dist/chunk-4HEXNAFI.js.map +0 -1
  287. package/dist/chunk-7TCT7KPQ.js.map +0 -1
  288. package/dist/chunk-S2U4CDAC.js.map +0 -1
  289. package/dist/chunk-YV56F4UP.js.map +0 -1
  290. /package/dist/{browser-viewer-QMCNV4RI.js.map → browser-viewer-VPK3CV2H.js.map} +0 -0
  291. /package/dist/{chat-interactive-block-PMIAUXSO.js.map → chat-interactive-block-AMDSW656.js.map} +0 -0
  292. /package/dist/{chunk-3STBLX4O.js.map → chunk-25LWDG5D.js.map} +0 -0
  293. /package/dist/{chunk-MCTTONOW.js.map → chunk-2CKVVAGP.js.map} +0 -0
  294. /package/dist/{chunk-J7FBBLHF.js.map → chunk-2DL6NJP5.js.map} +0 -0
  295. /package/dist/{chunk-CFFNT2OY.js.map → chunk-3GLAPCVI.js.map} +0 -0
  296. /package/dist/{chunk-BXQYAAVE.js.map → chunk-3XOISKZC.js.map} +0 -0
  297. /package/dist/{chunk-N3ZP4IDU.js.map → chunk-45WYYFP6.js.map} +0 -0
  298. /package/dist/{chunk-52WK2GGK.js.map → chunk-4MQLGMV2.js.map} +0 -0
  299. /package/dist/{chunk-MXLKI7BI.js.map → chunk-4U4GXWXS.js.map} +0 -0
  300. /package/dist/{chunk-3RMKPHBL.js.map → chunk-5HIOVXOX.js.map} +0 -0
  301. /package/dist/{chunk-5W6ZDKRR.js.map → chunk-5M23GZA2.js.map} +0 -0
  302. /package/dist/{chunk-UUGR3X5I.js.map → chunk-6MRY2RUZ.js.map} +0 -0
  303. /package/dist/{chunk-ZVVT72MT.js.map → chunk-6O4VWKSO.js.map} +0 -0
  304. /package/dist/{chunk-FTX5CNHA.js.map → chunk-767WCGAX.js.map} +0 -0
  305. /package/dist/{chunk-5JHRMUAZ.js.map → chunk-7IYAHFPE.js.map} +0 -0
  306. /package/dist/{chunk-EJ7WARW7.js.map → chunk-7J7PZB4S.js.map} +0 -0
  307. /package/dist/{chunk-RIYZFKIM.js.map → chunk-7PUFAH4I.js.map} +0 -0
  308. /package/dist/{chunk-KEXYBG7Q.js.map → chunk-7R2JQHBX.js.map} +0 -0
  309. /package/dist/{chunk-TV6BWONY.js.map → chunk-7VN6VC3D.js.map} +0 -0
  310. /package/dist/{chunk-5FEN3KYH.js.map → chunk-A2E3ZF6N.js.map} +0 -0
  311. /package/dist/{chunk-SM5QX6UK.js.map → chunk-A2EWJQXX.js.map} +0 -0
  312. /package/dist/{chunk-UP7I3W6O.js.map → chunk-A6CK4ENG.js.map} +0 -0
  313. /package/dist/{chunk-TIQPKOFW.js.map → chunk-A6T4FGE7.js.map} +0 -0
  314. /package/dist/{chunk-7P4AQMGA.js.map → chunk-AOUCHCSB.js.map} +0 -0
  315. /package/dist/{chunk-RFLYID6H.js.map → chunk-AT4K4F6S.js.map} +0 -0
  316. /package/dist/{chunk-CMLJSF2F.js.map → chunk-BLPXOHG6.js.map} +0 -0
  317. /package/dist/{chunk-LF5CBAOS.js.map → chunk-C535KSTY.js.map} +0 -0
  318. /package/dist/{chunk-4YXAQMTD.js.map → chunk-CB574ERL.js.map} +0 -0
  319. /package/dist/{chunk-552UYIQ7.js.map → chunk-CDUDKETD.js.map} +0 -0
  320. /package/dist/{chunk-PCFK7HKD.js.map → chunk-D3RK3NGM.js.map} +0 -0
  321. /package/dist/{chunk-LHLK7FUA.js.map → chunk-D64Z4V26.js.map} +0 -0
  322. /package/dist/{chunk-JO6R5EXF.js.map → chunk-DFXZYNTX.js.map} +0 -0
  323. /package/dist/{chunk-4RMN4E2Y.js.map → chunk-DKCX643S.js.map} +0 -0
  324. /package/dist/{chunk-CD3MO3IC.js.map → chunk-E36IC3LU.js.map} +0 -0
  325. /package/dist/{chunk-7XO7YKPC.js.map → chunk-ECHYJP63.js.map} +0 -0
  326. /package/dist/{chunk-QFMLAT7L.js.map → chunk-EH7TTYE6.js.map} +0 -0
  327. /package/dist/{chunk-7KIENXRE.js.map → chunk-EMCB6XKU.js.map} +0 -0
  328. /package/dist/{chunk-FFNPUSVO.js.map → chunk-ERG355NM.js.map} +0 -0
  329. /package/dist/{chunk-22JFMNMF.js.map → chunk-F2RMKGDQ.js.map} +0 -0
  330. /package/dist/{chunk-4VK2R5QC.js.map → chunk-F3FN6DO6.js.map} +0 -0
  331. /package/dist/{chunk-62VER7O4.js.map → chunk-F3NERYBQ.js.map} +0 -0
  332. /package/dist/{chunk-S37GP7LX.js.map → chunk-FB3B45FP.js.map} +0 -0
  333. /package/dist/{chunk-U6MPB3K6.js.map → chunk-FVL4B552.js.map} +0 -0
  334. /package/dist/{chunk-WCMG4HYI.js.map → chunk-G2BX56CN.js.map} +0 -0
  335. /package/dist/{chunk-EQE3MNQN.js.map → chunk-GFSOXB2K.js.map} +0 -0
  336. /package/dist/{chunk-3X5FKDYQ.js.map → chunk-GZGQHQI7.js.map} +0 -0
  337. /package/dist/{chunk-GGV4NSG3.js.map → chunk-H4IE2PYF.js.map} +0 -0
  338. /package/dist/{chunk-J22HD2PB.js.map → chunk-HNNM2GDN.js.map} +0 -0
  339. /package/dist/{chunk-GXW2I2M2.js.map → chunk-HPB4KSV3.js.map} +0 -0
  340. /package/dist/{chunk-YEROLKOA.js.map → chunk-HSQRYJ4P.js.map} +0 -0
  341. /package/dist/{chunk-HU6JTNWF.js.map → chunk-HUXDGWAN.js.map} +0 -0
  342. /package/dist/{chunk-ITX2TB4K.js.map → chunk-I66ZB6KD.js.map} +0 -0
  343. /package/dist/{chunk-FDAV72IX.js.map → chunk-IC7KNOBB.js.map} +0 -0
  344. /package/dist/{chunk-PO3BH3KQ.js.map → chunk-IIO2MR3B.js.map} +0 -0
  345. /package/dist/{chunk-FWOBNL2A.js.map → chunk-IPPVX5GF.js.map} +0 -0
  346. /package/dist/{chunk-4SAGYEVB.js.map → chunk-IUK5QGP5.js.map} +0 -0
  347. /package/dist/{chunk-4XQC7VLT.js.map → chunk-JWN7SLTO.js.map} +0 -0
  348. /package/dist/{chunk-5Y2FPLZE.js.map → chunk-KFWVBTUH.js.map} +0 -0
  349. /package/dist/{chunk-JXT5QDJC.js.map → chunk-KNFDWNCH.js.map} +0 -0
  350. /package/dist/{chunk-5DSKMG2I.js.map → chunk-LEXPBQ56.js.map} +0 -0
  351. /package/dist/{chunk-LT4J7RHI.js.map → chunk-LKJ2C7PH.js.map} +0 -0
  352. /package/dist/{chunk-XN7NSPE6.js.map → chunk-MJQBC7C5.js.map} +0 -0
  353. /package/dist/{chunk-JQCGPTZ6.js.map → chunk-MM7OKOTE.js.map} +0 -0
  354. /package/dist/{chunk-ULJAOMJA.js.map → chunk-ND2WCWXI.js.map} +0 -0
  355. /package/dist/{chunk-EYS4ZOF5.js.map → chunk-NML44AW2.js.map} +0 -0
  356. /package/dist/{chunk-TL7BOFFL.js.map → chunk-NQQKOJDI.js.map} +0 -0
  357. /package/dist/{chunk-CP7ZQHBW.js.map → chunk-O4DYOSOL.js.map} +0 -0
  358. /package/dist/{chunk-GRSODLVO.js.map → chunk-OANSIX34.js.map} +0 -0
  359. /package/dist/{chunk-2QBYDGWO.js.map → chunk-OFB6TUDC.js.map} +0 -0
  360. /package/dist/{chunk-EPWD4KRA.js.map → chunk-OOEO4MKY.js.map} +0 -0
  361. /package/dist/{chunk-CDEXRJB6.js.map → chunk-PEKPWK5M.js.map} +0 -0
  362. /package/dist/{chunk-4GLLWX33.js.map → chunk-PKEKZ2VA.js.map} +0 -0
  363. /package/dist/{chunk-7FJMRJDG.js.map → chunk-PVR5EELP.js.map} +0 -0
  364. /package/dist/{chunk-Y5BSA3I7.js.map → chunk-QBADR2FO.js.map} +0 -0
  365. /package/dist/{chunk-22FFOHPT.js.map → chunk-QLIDZGPV.js.map} +0 -0
  366. /package/dist/{chunk-JM4HQPAI.js.map → chunk-QZRDCFHI.js.map} +0 -0
  367. /package/dist/{chunk-5W7KJ5NQ.js.map → chunk-R7XCJWCD.js.map} +0 -0
  368. /package/dist/{chunk-GT7JFQ4E.js.map → chunk-RAMZTZOB.js.map} +0 -0
  369. /package/dist/{chunk-A4BD4ZVB.js.map → chunk-S7PVL7XH.js.map} +0 -0
  370. /package/dist/{chunk-I6KIQKU6.js.map → chunk-SCNEQFIW.js.map} +0 -0
  371. /package/dist/{chunk-4LPA25NQ.js.map → chunk-SD2K5ZN5.js.map} +0 -0
  372. /package/dist/{chunk-IDXTASGN.js.map → chunk-SD4PPZFB.js.map} +0 -0
  373. /package/dist/{chunk-35BC2FU2.js.map → chunk-SJORXXLV.js.map} +0 -0
  374. /package/dist/{chunk-ZS2UQ3DV.js.map → chunk-SOXZ4LGS.js.map} +0 -0
  375. /package/dist/{chunk-ACL2V2KE.js.map → chunk-SQDPHCK2.js.map} +0 -0
  376. /package/dist/{chunk-YJPKDRI2.js.map → chunk-TDIOBPLA.js.map} +0 -0
  377. /package/dist/{chunk-RYSRFAHN.js.map → chunk-TEPPPAJI.js.map} +0 -0
  378. /package/dist/{chunk-FWYEZ3LE.js.map → chunk-THVIT3PW.js.map} +0 -0
  379. /package/dist/{chunk-MIECLOQC.js.map → chunk-TN5T5HRZ.js.map} +0 -0
  380. /package/dist/{chunk-RQNZDTKT.js.map → chunk-TR4HIKJ2.js.map} +0 -0
  381. /package/dist/{chunk-J5MEDX7C.js.map → chunk-U47YDYLQ.js.map} +0 -0
  382. /package/dist/{chunk-HQWVDQXW.js.map → chunk-UGEWCWVV.js.map} +0 -0
  383. /package/dist/{chunk-YXA2EKV3.js.map → chunk-UUSAOIJR.js.map} +0 -0
  384. /package/dist/{chunk-YVBHGMKC.js.map → chunk-VAIESMPY.js.map} +0 -0
  385. /package/dist/{chunk-SY2AAZNB.js.map → chunk-VO6RVVP7.js.map} +0 -0
  386. /package/dist/{chunk-3GU7AWG7.js.map → chunk-VPNXQUUS.js.map} +0 -0
  387. /package/dist/{chunk-WKHUZIOW.js.map → chunk-VW3BBTMA.js.map} +0 -0
  388. /package/dist/{chunk-7NPCEBZE.js.map → chunk-VWSFA4LJ.js.map} +0 -0
  389. /package/dist/{chunk-GZS37O3G.js.map → chunk-WBPQ7OPC.js.map} +0 -0
  390. /package/dist/{chunk-5FA455GR.js.map → chunk-WNG757ID.js.map} +0 -0
  391. /package/dist/{chunk-G4HQUBO4.js.map → chunk-WSLPZ43N.js.map} +0 -0
  392. /package/dist/{chunk-73WI7FL2.js.map → chunk-WUHB422G.js.map} +0 -0
  393. /package/dist/{chunk-Z7IGO5EA.js.map → chunk-WVX5AQXS.js.map} +0 -0
  394. /package/dist/{chunk-2NC7NZCE.js.map → chunk-WWOHORRO.js.map} +0 -0
  395. /package/dist/{chunk-V4QZ7UBK.js.map → chunk-WYEPUXGL.js.map} +0 -0
  396. /package/dist/{chunk-ZEIFJ6PX.js.map → chunk-XN6CALYY.js.map} +0 -0
  397. /package/dist/{chunk-VH5EGTH2.js.map → chunk-XNACICAB.js.map} +0 -0
  398. /package/dist/{chunk-YYCOSTUU.js.map → chunk-XU4I47IP.js.map} +0 -0
  399. /package/dist/{chunk-GHHM6WN4.js.map → chunk-YG3IJCM2.js.map} +0 -0
  400. /package/dist/{chunk-NEK4WB5P.js.map → chunk-YGSJWWT3.js.map} +0 -0
  401. /package/dist/{chunk-IBA5FMRE.js.map → chunk-YO64YVYL.js.map} +0 -0
  402. /package/dist/{chunk-XMNUZUUA.js.map → chunk-Z2DAWUO3.js.map} +0 -0
  403. /package/dist/{chunk-BCM7C3MJ.js.map → chunk-Z4GJB24B.js.map} +0 -0
  404. /package/dist/{chunk-UYNCMZX5.js.map → chunk-ZX5H7LWD.js.map} +0 -0
  405. /package/dist/{computer-viewer-25AJIDYA.js.map → computer-viewer-VA5JONUH.js.map} +0 -0
  406. /package/dist/{embedded-new-voice-RZZEJT6M.js.map → embedded-new-voice-6BILAOUG.js.map} +0 -0
  407. /package/dist/{embedded-voice-6OKSSPLW.js.map → embedded-voice-UDE4JRKB.js.map} +0 -0
  408. /package/dist/{latest-question-2PFWQSSG.js.map → latest-question-4WDBECXB.js.map} +0 -0
  409. /package/dist/{model-policy-picker-menu-VVFGGAI6.js.map → model-policy-picker-menu-NRTO6FRP.js.map} +0 -0
  410. /package/dist/{queue-surface-implementation-4SHOQPQQ.js.map → queue-surface-implementation-H4XSNHZE.js.map} +0 -0
  411. /package/dist/{sandbox-files-CCOTGXXA.js.map → sandbox-files-IEHODU35.js.map} +0 -0
  412. /package/dist/{timeline-annotation-markers-KHNYNY2J.js.map → timeline-annotation-markers-ZSOFW7PG.js.map} +0 -0
  413. /package/dist/{timeline-annotation-selection-AXEDJHBP.js.map → timeline-annotation-selection-YWV2UC34.js.map} +0 -0
  414. /package/dist/{timeline-annotations-dialog-AV4ZBXRC.js.map → timeline-annotations-dialog-ZWQVX2HI.js.map} +0 -0
@@ -4,16 +4,16 @@ import {
4
4
  RoleSelect,
5
5
  needsEscalationConfirm,
6
6
  roleLabel
7
- } from "../chunk-FDAV72IX.js";
7
+ } from "../chunk-IC7KNOBB.js";
8
8
  import "../chunk-TFK4KFKA.js";
9
- import "../chunk-XNTW77T6.js";
10
- import "../chunk-5OTQA7CM.js";
11
- import "../chunk-KS57MLGE.js";
12
- import "../chunk-A4BD4ZVB.js";
9
+ import "../chunk-S7PVL7XH.js";
13
10
  import "../chunk-WHWUWN2X.js";
14
11
  import "../chunk-ZMBJPN4T.js";
15
- import "../chunk-HY7EYWIG.js";
16
12
  import "../chunk-L4OF77LE.js";
13
+ import "../chunk-XNTW77T6.js";
14
+ import "../chunk-HY7EYWIG.js";
15
+ import "../chunk-KS57MLGE.js";
16
+ import "../chunk-5OTQA7CM.js";
17
17
  import "../chunk-WLEDGIVS.js";
18
18
  import "../chunk-HMU5IELG.js";
19
19
  import "../chunk-J3BHDXQQ.js";
@@ -5,12 +5,12 @@ import {
5
5
  TooltipProvider,
6
6
  TooltipTrigger
7
7
  } from "../chunk-OLTGED2Q.js";
8
- import {
9
- ReasonTooltip
10
- } from "../chunk-KS57MLGE.js";
11
8
  import {
12
9
  Skeleton
13
10
  } from "../chunk-HY7EYWIG.js";
11
+ import {
12
+ ReasonTooltip
13
+ } from "../chunk-KS57MLGE.js";
14
14
  import "../chunk-J3BHDXQQ.js";
15
15
  import {
16
16
  cn
package/dist/workbench.js CHANGED
@@ -2,23 +2,23 @@
2
2
  import {
3
3
  enablePierreDiffs
4
4
  } from "./chunk-4WPVEPZF.js";
5
- import {
6
- enableSandboxTerminal
7
- } from "./chunk-FPS7ARET.js";
8
- import "./chunk-4VK2R5QC.js";
9
- import "./chunk-QV3DJVRZ.js";
10
- import {
11
- enableDesktopViewer
12
- } from "./chunk-QIOARE4I.js";
13
5
  import {
14
6
  enableCodeEditor
15
7
  } from "./chunk-TOTNIUZK.js";
8
+ import "./chunk-YSRBFJMQ.js";
16
9
  import "./chunk-UXXFMF4X.js";
10
+ import {
11
+ enableDesktopViewer
12
+ } from "./chunk-QIOARE4I.js";
17
13
  import "./chunk-PFAUGEV5.js";
18
14
  import "./chunk-ZUWF4NF7.js";
15
+ import {
16
+ enableSandboxTerminal
17
+ } from "./chunk-FPS7ARET.js";
18
+ import "./chunk-F3FN6DO6.js";
19
+ import "./chunk-QV3DJVRZ.js";
19
20
  import "./chunk-TNEZNMSN.js";
20
21
  import "./chunk-5I4VRWBB.js";
21
- import "./chunk-YSRBFJMQ.js";
22
22
  import "./chunk-TXS65BB2.js";
23
23
  import "./chunk-JFK7NTEA.js";
24
24
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opengeni/react",
3
- "version": "4.5.0",
3
+ "version": "4.5.1-canary.39832248373001",
4
4
  "description": "React hooks and styled components for Opengeni: live session streaming, chat composer, message timeline, session status, and fleet views — token-themed (CSS variables), dark-first, built on Tailwind v4 + Radix + Motion.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -251,9 +251,9 @@
251
251
  "@dnd-kit/utilities": "3.2.2",
252
252
  "@fontsource-variable/noto-sans-arabic": "5.2.10",
253
253
  "@fontsource-variable/noto-sans-jp": "5.2.10",
254
- "@opengeni/connect": "4.5.0",
255
- "@opengeni/contracts": "4.5.0",
256
- "@opengeni/sdk": "4.5.0",
254
+ "@opengeni/connect": "4.5.1-canary.39832248373001",
255
+ "@opengeni/contracts": "4.5.1-canary.39832248373001",
256
+ "@opengeni/sdk": "4.5.1-canary.39832248373001",
257
257
  "@tanstack/react-virtual": "^3.14.11",
258
258
  "class-variance-authority": "^0.7.1",
259
259
  "clsx": "^2.1.1",
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/lib/interaction-errors.ts","../src/hooks/use-interaction-interventions.ts","../src/hooks/use-interaction-invalidation.ts","../src/components/interaction-intervention-banner.tsx","../src/components/use-viewer-menu-dismiss.ts"],"sourcesContent":["import { OpenGeniApiError } from \"@opengeni/sdk\";\nimport { interactionControlFailureFromError } from \"@opengeni/sdk/interaction\";\n\n/** Media can remain live when the independent control service is unavailable.\n * A target refusal or an uncertain mutation does not establish a service outage. */\nexport function isInteractionControlUnavailable(\n error: unknown,\n request: \"control\" | \"observation\" = \"control\",\n): error is OpenGeniApiError {\n if (!(error instanceof OpenGeniApiError)) return false;\n const failure = interactionControlFailureFromError(error);\n if (failure) return failure.code === \"agent_offline\" || failure.code === \"draining\";\n return (\n request === \"control\" && !error.outcomeUnknown && (error.status >= 500 || error.status === 0)\n );\n}\n\nexport function isNonRetryableInteractionError(error: unknown): error is OpenGeniApiError {\n return error instanceof OpenGeniApiError && error.retryable === false;\n}\n\nexport function isSourcePlacementChangedError(\n error: unknown,\n resource: \"browser_session\" | \"computer_session\",\n): error is OpenGeniApiError {\n return (\n isNonRetryableInteractionError(error) &&\n error.status === 409 &&\n error.details?.interactionResource === resource &&\n error.details?.interactionFailureCode === \"source_placement_changed\" &&\n error.details?.interactionLifecycle === \"lost\"\n );\n}\n","import type {\n CreateInteractionInterventionRequest,\n InteractionIntervention,\n InteractionInterventionMutationResponse,\n ResolveInteractionInterventionRequest,\n} from \"@opengeni/sdk/interaction\";\nimport { useCallback, useEffect, useRef, useState } from \"react\";\nimport type { EmbeddedInterventionClientLike } from \"../client\";\nimport {\n type EmbeddedInterventionClientOverride,\n useEmbeddedInterventions,\n} from \"../session-context\";\nimport { useInteractionInvalidation } from \"./use-interaction-invalidation\";\n\nexport type UseInteractionInterventionsOptions = EmbeddedInterventionClientOverride & {\n enabled?: boolean | undefined;\n resourceKind?: \"browser_session\" | \"computer_session\" | undefined;\n resourceId?: string | null | undefined;\n includeSettled?: boolean | undefined;\n pollIntervalMs?: number | undefined;\n};\n\nexport type UseInteractionInterventionsResult = {\n interventions: InteractionIntervention[];\n loading: boolean;\n refreshing: boolean;\n mutating: boolean;\n error: Error | null;\n refresh: () => Promise<void>;\n create: (\n request: Omit<CreateInteractionInterventionRequest, \"operationId\"> & {\n operationId?: string;\n },\n ) => Promise<InteractionInterventionMutationResponse>;\n resolve: (\n interventionId: string,\n request: Omit<ResolveInteractionInterventionRequest, \"operationId\"> & {\n operationId?: string;\n },\n ) => Promise<InteractionInterventionMutationResponse>;\n};\n\n/** Human-action bridge shared by Browser and Computer surfaces. */\nexport function useInteractionInterventions(\n options: UseInteractionInterventionsOptions = {},\n): UseInteractionInterventionsResult {\n const { client, workspaceId, workspaceInteractionEvent, workspaceInteractionConnectionState } =\n useEmbeddedInterventions(options);\n const enabled = (options.enabled ?? true) && options.resourceId !== null;\n const resourceKind = options.resourceKind;\n const resourceId = options.resourceId ?? undefined;\n const includeSettled = options.includeSettled ?? false;\n const key = `${workspaceId}:${resourceKind ?? \"*\"}:${resourceId ?? \"*\"}:${includeSettled}`;\n const [state, setState] = useState(() => emptyState(key, enabled));\n const [mutationCount, setMutationCount] = useState(0);\n const requestRef = useRef<{ id: number; controller: AbortController | null }>({\n id: 0,\n controller: null,\n });\n const mountedRef = useRef(true);\n const visible = state.key === key ? state : emptyState(key, enabled);\n\n const cancelLoad = useCallback(() => {\n requestRef.current.controller?.abort();\n requestRef.current = { id: requestRef.current.id + 1, controller: null };\n }, []);\n\n const load = useCallback(\n async (foreground: boolean, replace = true): Promise<void> => {\n if (!enabled) return;\n if (requestRef.current.controller && !replace) return;\n const id = requestRef.current.id + 1;\n requestRef.current.controller?.abort();\n const controller = new AbortController();\n requestRef.current = { id, controller };\n if (foreground || replace) {\n setState((current) => ({\n ...(current.key === key ? current : emptyState(key, true)),\n loading: foreground,\n refreshing: !foreground,\n error: foreground ? null : current.error,\n }));\n }\n try {\n const response = await client.listInteractionInterventions(workspaceId, {\n ...(resourceKind ? { resourceKind } : {}),\n ...(resourceId ? { resourceId } : {}),\n includeSettled,\n signal: controller.signal,\n });\n if (!mountedRef.current || requestRef.current.id !== id) return;\n setState({\n key,\n interventions: sortInterventions(response.interventions),\n loading: false,\n refreshing: false,\n error: null,\n });\n } catch (cause) {\n if (controller.signal.aborted || !mountedRef.current || requestRef.current.id !== id)\n return;\n setState((current) => ({\n ...(current.key === key ? current : emptyState(key, true)),\n loading: false,\n refreshing: false,\n error: asError(cause),\n }));\n } finally {\n if (requestRef.current.id === id) requestRef.current = { id, controller: null };\n }\n },\n [client, enabled, includeSettled, key, resourceId, resourceKind, workspaceId],\n );\n\n const refresh = useCallback(async () => await load(false, true), [load]);\n\n useEffect(() => {\n mountedRef.current = true;\n if (!enabled) {\n cancelLoad();\n setState(emptyState(key, false));\n return;\n }\n void load(true);\n return () => {\n mountedRef.current = false;\n cancelLoad();\n };\n }, [cancelLoad, enabled, key, load]);\n\n useInteractionInvalidation({\n workspaceId,\n key,\n enabled,\n event: workspaceInteractionEvent,\n connectionState: workspaceInteractionConnectionState,\n refresh,\n fallbackPollIntervalMs: options.pollIntervalMs ?? 2_000,\n });\n\n const mutate = useCallback(async <T>(operation: () => Promise<T>): Promise<T> => {\n setMutationCount((count) => count + 1);\n try {\n return await operation();\n } finally {\n if (mountedRef.current) setMutationCount((count) => Math.max(0, count - 1));\n }\n }, []);\n\n const merge = useCallback(\n (intervention: InteractionIntervention) => {\n setState((current) => {\n if (current.key !== key) return current;\n const interventions = current.interventions.filter(\n (candidate) => candidate.id !== intervention.id,\n );\n const matches =\n (!resourceKind || intervention.resourceKind === resourceKind) &&\n (!resourceId || intervention.resourceId === resourceId);\n if (matches && (includeSettled || intervention.status === \"open\")) {\n interventions.push(intervention);\n }\n return {\n ...current,\n interventions: sortInterventions(interventions),\n error: null,\n };\n });\n },\n [includeSettled, key, resourceId, resourceKind],\n );\n\n const create = useCallback(\n async (\n request: Omit<CreateInteractionInterventionRequest, \"operationId\"> & {\n operationId?: string;\n },\n ): Promise<InteractionInterventionMutationResponse> =>\n await mutate(async () => {\n const response = await client.createInteractionIntervention(workspaceId, {\n ...request,\n operationId: request.operationId ?? crypto.randomUUID(),\n });\n merge(response.intervention);\n return response;\n }),\n [client, merge, mutate, workspaceId],\n );\n\n const resolve = useCallback(\n async (\n interventionId: string,\n request: Omit<ResolveInteractionInterventionRequest, \"operationId\"> & {\n operationId?: string;\n },\n ): Promise<InteractionInterventionMutationResponse> =>\n await mutate(async () => {\n const response = await client.resolveInteractionIntervention(workspaceId, interventionId, {\n ...request,\n operationId: request.operationId ?? crypto.randomUUID(),\n });\n merge(response.intervention);\n return response;\n }),\n [client, merge, mutate, workspaceId],\n );\n\n return {\n interventions: visible.interventions,\n loading: visible.loading,\n refreshing: visible.refreshing,\n mutating: mutationCount > 0,\n error: visible.error,\n refresh,\n create,\n resolve,\n };\n}\n\nfunction emptyState(key: string, loading: boolean) {\n return {\n key,\n interventions: [] as InteractionIntervention[],\n loading,\n refreshing: false,\n error: null as Error | null,\n };\n}\n\nfunction sortInterventions(\n interventions: readonly InteractionIntervention[],\n): InteractionIntervention[] {\n return [...interventions].sort(\n (left, right) => Date.parse(right.updatedAt) - Date.parse(left.updatedAt),\n );\n}\n\nfunction asError(cause: unknown): Error {\n return cause instanceof Error ? cause : new Error(String(cause));\n}\n\nexport type InteractionInterventionsClient = EmbeddedInterventionClientLike;\n","import type { StreamConnectionState, WorkspaceInteractionRevisionEvent } from \"@opengeni/sdk\";\nimport { useEffect, useRef } from \"react\";\nimport { usePageLiveActivity } from \"./internal\";\n\nexport type InteractionInvalidationOptions = {\n workspaceId: string;\n /** Distinguishes filtered projections of the same workspace catalog. */\n key: string;\n enabled: boolean;\n event: WorkspaceInteractionRevisionEvent | null;\n connectionState: StreamConnectionState | \"idle\" | \"error\";\n /** Catalog responses carry the workspace revision; live-state lists do not. */\n knownRevision?: number | undefined;\n refresh: () => Promise<void>;\n fallbackPollIntervalMs?: number | undefined;\n};\n\n/**\n * Refetch authoritative lists on the shared latest-revision stream. Poll only\n * while that stream is unavailable, preserving standalone-hook degradation\n * without multiplying healthy-provider traffic.\n */\nexport function useInteractionInvalidation(options: InteractionInvalidationOptions): void {\n const {\n workspaceId,\n key,\n enabled,\n event,\n connectionState,\n knownRevision,\n refresh,\n fallbackPollIntervalMs,\n } = options;\n const pageLive = usePageLiveActivity();\n const lastUnversionedEvent = useRef<{ key: string; sequence: number }>({\n key,\n sequence: 0,\n });\n const eventSequence = event?.workspaceId === workspaceId ? event.sequence : 0;\n\n useEffect(() => {\n if (!enabled || eventSequence <= 0) return;\n if (knownRevision !== undefined) {\n if (eventSequence > knownRevision) void refresh();\n return;\n }\n if (lastUnversionedEvent.current.key !== key) {\n lastUnversionedEvent.current = { key, sequence: 0 };\n }\n if (eventSequence <= lastUnversionedEvent.current.sequence) return;\n lastUnversionedEvent.current = { key, sequence: eventSequence };\n void refresh();\n }, [enabled, eventSequence, key, knownRevision, refresh]);\n\n useEffect(() => {\n if (!enabled || !pageLive || connectionState === \"live\") return;\n const interval = boundedPollInterval(fallbackPollIntervalMs ?? 3_000);\n const timer = setInterval(() => void refresh(), interval);\n return () => clearInterval(timer);\n }, [connectionState, enabled, fallbackPollIntervalMs, pageLive, refresh]);\n}\n\nfunction boundedPollInterval(value: number): number {\n if (!Number.isFinite(value)) return 3_000;\n return Math.min(60_000, Math.max(1_000, Math.floor(value)));\n}\n","import type { InteractionIntervention } from \"@opengeni/sdk/interaction\";\nimport { CheckIcon, CircleAlertIcon, LoaderCircleIcon, XIcon } from \"lucide-react\";\nimport { cn } from \"../lib/cn\";\nimport { useOpenGeniText, type OpenGeniText } from \"../messages/runtime\";\n\nexport type InteractionInterventionBannerProps = {\n interventions: InteractionIntervention[];\n activeTargetId?: string | null | undefined;\n mutating?: boolean | undefined;\n className?: string | undefined;\n onOpen?: ((intervention: InteractionIntervention) => void) | undefined;\n onResolve: (intervention: InteractionIntervention, outcome: \"completed\" | \"dismissed\") => void;\n};\n\n/** Compact durable human-action prompt shared by Browser and Computer viewers. */\nexport function InteractionInterventionBanner({\n interventions,\n activeTargetId,\n mutating = false,\n className,\n onOpen,\n onResolve,\n}: InteractionInterventionBannerProps) {\n const t = useOpenGeniText();\n const intervention = interventions[0];\n if (!intervention) return null;\n const targetOpen = activeTargetId === undefined || activeTargetId === intervention.targetId;\n return (\n <div\n className={cn(\n \"flex shrink-0 items-center gap-2 border-b border-og-status-waiting/25 bg-og-status-waiting/[0.07] px-3 py-2\",\n className,\n )}\n role=\"status\"\n >\n <span className=\"grid size-7 shrink-0 place-items-center rounded-og-sm bg-og-status-waiting/10 text-og-status-waiting\">\n <CircleAlertIcon className=\"size-3.5\" />\n </span>\n <span className=\"min-w-0 flex-1\">\n <span className=\"flex items-center gap-1.5 text-og-control font-medium text-og-fg\">\n {interventionTitle(t, intervention.kind)}\n {interventions.length > 1 ? (\n <span className=\"rounded-full bg-og-surface-2 px-1.5 py-0.5 text-[10px] font-normal text-og-muted\">\n +{interventions.length - 1}\n </span>\n ) : null}\n </span>\n <span className=\"block truncate text-og-xs text-og-muted\">{intervention.reason}</span>\n </span>\n {!targetOpen && onOpen ? (\n <button\n type=\"button\"\n onClick={() => onOpen(intervention)}\n disabled={mutating}\n className=\"h-7 shrink-0 rounded-og-sm border border-og-primary-border bg-og-primary px-2.5 text-og-control font-medium text-og-primary-fg transition hover:bg-og-primary-hover disabled:opacity-50\"\n >\n {t(\"interactionInterventionBanner.open\")}\n </button>\n ) : (\n <button\n type=\"button\"\n onClick={() => onResolve(intervention, \"completed\")}\n disabled={mutating}\n className=\"inline-flex h-7 shrink-0 items-center gap-1 rounded-og-sm border border-og-primary-border bg-og-primary text-og-primary-fg px-2.5 text-og-control font-medium transition hover:bg-og-primary-hover disabled:opacity-50\"\n >\n {mutating ? (\n <LoaderCircleIcon className=\"size-3 animate-spin\" />\n ) : (\n <CheckIcon className=\"size-3\" />\n )}\n {t(\"interactionInterventionBanner.done\")}\n </button>\n )}\n <button\n type=\"button\"\n onClick={() => onResolve(intervention, \"dismissed\")}\n disabled={mutating}\n className=\"grid size-7 shrink-0 place-items-center rounded-og-sm text-og-muted transition hover:bg-og-surface-2 hover:text-og-fg disabled:opacity-50\"\n aria-label={t(\"interactionInterventionBanner.cancelRequest\")}\n title={t(\"interactionInterventionBanner.cancelRequest\")}\n >\n <XIcon className=\"size-3.5\" />\n </button>\n </div>\n );\n}\n\nfunction interventionTitle(t: OpenGeniText, kind: InteractionIntervention[\"kind\"]): string {\n switch (kind) {\n case \"manual_login\":\n return t(\"interactionInterventionBanner.signInNeeded\");\n case \"mfa\":\n return t(\"interactionInterventionBanner.verificationNeeded\");\n case \"external_action\":\n return t(\"interactionInterventionBanner.actionNeeded\");\n case \"confirmation\":\n return t(\"interactionInterventionBanner.confirmationNeeded\");\n case \"other\":\n return t(\"interactionInterventionBanner.agentNeedsYourHelp\");\n }\n}\n","import { useEffect, useRef } from \"react\";\n\n/** Keep native details menus dismissible without letting Escape close the dock. */\nexport function useViewerMenuDismiss(enabled = true) {\n const ref = useRef<HTMLDetailsElement | null>(null);\n useEffect(() => {\n const menu = ref.current;\n if (!enabled || !menu) return;\n const document = menu.ownerDocument;\n const pointerDown = (event: PointerEvent) => {\n if (menu.open && !event.composedPath().includes(menu)) menu.open = false;\n };\n const focusIn = (event: FocusEvent) => {\n if (menu.open && !event.composedPath().includes(menu)) menu.open = false;\n };\n const keyDown = (event: KeyboardEvent) => {\n if (!menu.open || event.key !== \"Escape\" || !event.composedPath().includes(menu)) return;\n event.preventDefault();\n event.stopPropagation();\n menu.open = false;\n menu.querySelector(\"summary\")?.focus();\n };\n document.addEventListener(\"pointerdown\", pointerDown, true);\n document.addEventListener(\"focusin\", focusIn, true);\n document.addEventListener(\"keydown\", keyDown, true);\n return () => {\n document.removeEventListener(\"pointerdown\", pointerDown, true);\n document.removeEventListener(\"focusin\", focusIn, true);\n document.removeEventListener(\"keydown\", keyDown, true);\n };\n }, [enabled]);\n return ref;\n}\n"],"mappings":"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","names":["useEffect","useRef","useRef","useEffect","useEffect","useRef"]}