@opengeni/react 4.3.3-canary.39780140124001 → 4.4.1

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 (442) hide show
  1. package/dist/app/app-state.js +29 -29
  2. package/dist/app/components/Composer.js +22 -22
  3. package/dist/app/components/agent/agent-capability-picker.js +4 -4
  4. package/dist/app/components/artifacts/artifact-browse-controls.js +1 -1
  5. package/dist/app/components/artifacts/artifact-library.js +19 -19
  6. package/dist/app/components/artifacts/chat-interactive-block.js +14 -14
  7. package/dist/app/components/artifacts/inline-chat-image.js +25 -25
  8. package/dist/app/components/artifacts/retained-file-preview.js +28 -28
  9. package/dist/app/components/artifacts/retained-text-preview.js +3 -3
  10. package/dist/app/components/artifacts/site-audience.js +4 -4
  11. package/dist/app/components/artifacts/site-conversations.js +18 -18
  12. package/dist/app/components/artifacts/site-data.js +19 -19
  13. package/dist/app/components/artifacts/site-publishing.js +38 -38
  14. package/dist/app/components/artifacts/site-settings.js +47 -47
  15. package/dist/app/components/billing-class-mark.js +4 -4
  16. package/dist/app/components/capabilities/capability-detail-sheet.js +8 -8
  17. package/dist/app/components/capabilities/capability-logo-source.js +8 -8
  18. package/dist/app/components/capabilities/connector-tool-permissions.js +4 -4
  19. package/dist/app/components/capabilities/native-connect-setup.js +12 -12
  20. package/dist/app/components/capabilities/perform-capability-action.js +1 -1
  21. package/dist/app/components/capabilities/prepared-mcp-setup-card.js +11 -11
  22. package/dist/app/components/capabilities/session-capability-card.js +90 -74
  23. package/dist/app/components/capabilities/session-capability-card.js.map +1 -1
  24. package/dist/app/components/capabilities/session-chrome-card.css +1023 -0
  25. package/dist/app/components/capabilities/session-chrome-card.css.map +1 -0
  26. package/dist/app/components/capabilities/session-chrome-card.d.ts +18 -0
  27. package/dist/app/components/capabilities/session-chrome-card.js +70 -0
  28. package/dist/app/components/capabilities/session-custom-mcp-card.js +16 -16
  29. package/dist/app/components/capabilities/session-github-card.js +20 -20
  30. package/dist/app/components/capabilities/session-machine-card.d.ts +27 -1
  31. package/dist/app/components/capabilities/session-machine-card.js +31 -29
  32. package/dist/app/components/capabilities/use-capabilities-catalog.js +3 -3
  33. package/dist/app/components/capabilities/use-connection-accounts.js +1 -1
  34. package/dist/app/components/command-menu/chat-status.js +12 -12
  35. package/dist/app/components/command-menu/chat-switcher.js +17 -17
  36. package/dist/app/components/command-menu/command-menu.js +35 -35
  37. package/dist/app/components/command-menu/shortcut-sheet.js +16 -16
  38. package/dist/app/components/composer-capabilities-menu-body.js +3 -3
  39. package/dist/app/components/composer-mobile-plus-panel.js +16 -16
  40. package/dist/app/components/composer-mobile-plus.js +1 -1
  41. package/dist/app/components/credit-required-gate.js +1 -1
  42. package/dist/app/components/credit-required-prompt.js +10 -10
  43. package/dist/app/components/desktop/app-shots.js +2 -2
  44. package/dist/app/components/feedback.js +2 -2
  45. package/dist/app/components/follow-up-repository-menu-body.js +7 -7
  46. package/dist/app/components/follow-up-repository-picker.js +2 -2
  47. package/dist/app/components/github-app-connect-launcher.js +2 -2
  48. package/dist/app/components/knowledge/agent-learning-settings.js +3 -3
  49. package/dist/app/components/machines/connect-machine-dialog.js +16 -16
  50. package/dist/app/components/markdown.js +7 -7
  51. package/dist/app/components/message-context-pills.js +2 -2
  52. package/dist/app/components/models/models-ui.js +8 -8
  53. package/dist/app/components/pickers.js +7 -7
  54. package/dist/app/components/rail/rail-context.js +2 -2
  55. package/dist/app/components/rail/rail-sections.js +63 -63
  56. package/dist/app/components/rail/session-header.js +48 -48
  57. package/dist/app/components/rail/session-list.js +62 -62
  58. package/dist/app/components/rail/session-row-content.js +2 -2
  59. package/dist/app/components/rail/session-row-hover-details.js +17 -17
  60. package/dist/app/components/rail/session-shell.js +102 -102
  61. package/dist/app/components/rail/site-session-group-heading.js +3 -3
  62. package/dist/app/components/repository-picker.js +7 -7
  63. package/dist/app/components/secrets/session-secrets-panel.js +3 -3
  64. package/dist/app/components/session/agent-configuration-panel.js +33 -33
  65. package/dist/app/components/session/artifact-session-page.js +1 -1
  66. package/dist/app/components/session/banners.js +10 -10
  67. package/dist/app/components/session/codex-account-indicator.js +8 -8
  68. package/dist/app/components/session/editable-artifacts-workspace.js +38 -38
  69. package/dist/app/components/session/failed-session-banner.js +7 -7
  70. package/dist/app/components/session/human-input.js +44 -44
  71. package/dist/app/components/session/inspector.js +87 -87
  72. package/dist/app/components/session/message-actions.js +2 -2
  73. package/dist/app/components/session/message-resource-attachments.js +20 -20
  74. package/dist/app/components/session/model-account-indicator.js +8 -8
  75. package/dist/app/components/session/model-context-inspector.js +2 -2
  76. package/dist/app/components/session/new-session-settings-menu.js +10 -10
  77. package/dist/app/components/session/sandbox-switcher.js +12 -12
  78. package/dist/app/components/session/sandbox-workspace.js +62 -62
  79. package/dist/app/components/session/search-markdown-highlight.js +8 -8
  80. package/dist/app/components/session/search-results-view.js +9 -9
  81. package/dist/app/components/session/session-admin-access.js +8 -8
  82. package/dist/app/components/session/session-admission-notice.js +2 -2
  83. package/dist/app/components/session/session-machine-access-notice.js +2 -2
  84. package/dist/app/components/session/session-retention.js +4 -4
  85. package/dist/app/components/session/session-search-dialog.js +9 -9
  86. package/dist/app/components/session/session-skill-reviews.js +1 -1
  87. package/dist/app/components/session/session-tenancy-control.js +24 -24
  88. package/dist/app/components/session/session-usage-limit-section.js +10 -10
  89. package/dist/app/components/session/session-wait-status.js +7 -7
  90. package/dist/app/components/session/subagents.js +13 -13
  91. package/dist/app/components/session-connectors-menu-body.js +5 -5
  92. package/dist/app/components/settings/row-select.js +3 -3
  93. package/dist/app/components/transcription-settings.js +4 -4
  94. package/dist/app/components/ui/destructive-confirm.js +6 -6
  95. package/dist/app/components/usage/usage-entry.js +4 -4
  96. package/dist/app/components/workspace-composer-plus.js +18 -18
  97. package/dist/app/embed/session-app.js +268 -268
  98. package/dist/app/lib/actions/actions-provider.js +16 -16
  99. package/dist/app/lib/app-surfaces.js +1 -1
  100. package/dist/app/lib/codex-usage-query.js +2 -2
  101. package/dist/app/lib/composer-connectors.js +9 -9
  102. package/dist/app/lib/events.js +12 -12
  103. package/dist/app/lib/session-branch-cache.js +9 -9
  104. package/dist/app/lib/session-create.js +2 -2
  105. package/dist/app/lib/session-group-pagination.js +9 -9
  106. package/dist/app/lib/session-hover-facts.js +10 -10
  107. package/dist/app/lib/session-model.js +3 -3
  108. package/dist/app/lib/session-rail.js +7 -7
  109. package/dist/app/lib/session-rename.js +3 -3
  110. package/dist/app/lib/sessions-group.js +9 -9
  111. package/dist/app/lib/turn-failure-analytics.js +1 -1
  112. package/dist/app/lib/use-duplicate-site.js +3 -3
  113. package/dist/app/lib/use-follow-up-repositories.js +5 -5
  114. package/dist/app/lib/use-workspace-integrations.js +2 -2
  115. package/dist/app/lib/use-workspace-machines.js +2 -2
  116. package/dist/app/lib/use-workspace-model-catalog.js +2 -2
  117. package/dist/app/lib/use-workspace-rigs.js +3 -3
  118. package/dist/app/lib/workspace-navigation-preference.js +1 -1
  119. package/dist/app/lib/workspace-scope-context.js +1 -1
  120. package/dist/app/routes/artifacts.js +132 -132
  121. package/dist/app/routes/retained-artifact.js +62 -62
  122. package/dist/app/routes/session-unavailable.js +2 -2
  123. package/dist/app/routes/session.js +163 -163
  124. package/dist/app/routes/sessions-index-hydration.js +3 -3
  125. package/dist/app/routes/sessions-index.js +109 -109
  126. package/dist/artifacts-document.js +2 -2
  127. package/dist/artifacts-presentation.js +2 -2
  128. package/dist/artifacts-spreadsheet.js +2 -2
  129. package/dist/artifacts.js +36 -36
  130. package/dist/{browser-viewer-VYZLJH3P.js → browser-viewer-RYYQSRTC.js} +5 -5
  131. package/dist/{chat-interactive-block-MECBXZ7V.js → chat-interactive-block-ABCRKXJ4.js} +5 -5
  132. package/dist/{chunk-Y4D4N2EF.js → chunk-22ZBT6CN.js} +2 -2
  133. package/dist/{chunk-TFK4KFKA.js → chunk-33TPANCR.js} +4 -4
  134. package/dist/{chunk-CFFNT2OY.js → chunk-3GLAPCVI.js} +8 -8
  135. package/dist/{chunk-BXQYAAVE.js → chunk-3XOISKZC.js} +4 -4
  136. package/dist/{chunk-FYGMIMEG.js → chunk-4432A3HQ.js} +2 -2
  137. package/dist/{chunk-3MOD23RS.js → chunk-46VBQG2D.js} +13 -13
  138. package/dist/{chunk-Q2PVSCJV.js → chunk-4EAF3HSD.js} +2 -2
  139. package/dist/{chunk-YTK6MYZH.js → chunk-4EONHNJU.js} +2 -2
  140. package/dist/{chunk-7YLXFFF5.js → chunk-4R3JCVID.js} +141 -141
  141. package/dist/{chunk-73DMIW44.js → chunk-4VKA5O7T.js} +2 -2
  142. package/dist/{chunk-SLTOYHG6.js → chunk-4W7VISE7.js} +108 -108
  143. package/dist/{chunk-SLTOYHG6.js.map → chunk-4W7VISE7.js.map} +1 -1
  144. package/dist/{chunk-TIBPTOLQ.js → chunk-5JEIDFPD.js} +1 -1
  145. package/dist/{chunk-L7UDYTU3.js → chunk-5MZTJMZ3.js} +7 -6
  146. package/dist/chunk-5MZTJMZ3.js.map +1 -0
  147. package/dist/{chunk-3E4SJHVW.js → chunk-5POTDNQT.js} +5 -5
  148. package/dist/{chunk-JW6CYU5F.js → chunk-63VGE4OH.js} +2 -2
  149. package/dist/{chunk-2VDCH2DF.js → chunk-6JKZILLF.js} +65 -65
  150. package/dist/{chunk-2VDCH2DF.js.map → chunk-6JKZILLF.js.map} +1 -1
  151. package/dist/{chunk-7HVOIRGN.js → chunk-6NIB2KGJ.js} +41 -41
  152. package/dist/{chunk-KLVK7BN5.js → chunk-6PQNLL4E.js} +35 -35
  153. package/dist/{chunk-FGPSTD37.js → chunk-72J6C2AJ.js} +4 -4
  154. package/dist/{chunk-N34NUHUO.js → chunk-73SOCVLS.js} +4 -4
  155. package/dist/{chunk-43OV5QK7.js → chunk-7BST7BA6.js} +4 -4
  156. package/dist/{chunk-FDAV72IX.js → chunk-7CZTKBTI.js} +5 -5
  157. package/dist/{chunk-G4ONAC4P.js → chunk-7DU35P5J.js} +6 -6
  158. package/dist/{chunk-SM5QX6UK.js → chunk-A2EWJQXX.js} +4 -4
  159. package/dist/{chunk-3WDWLSYX.js → chunk-AD22P5X3.js} +3 -3
  160. package/dist/{chunk-ZQSRAMSH.js → chunk-ADJJQSYC.js} +42 -42
  161. package/dist/{chunk-5C6KUGFG.js → chunk-AG7VGUIW.js} +6 -6
  162. package/dist/{chunk-LF5CBAOS.js → chunk-AOLE4IRZ.js} +5 -5
  163. package/dist/{chunk-CF7ZCKZC.js → chunk-APU42QDI.js} +133 -133
  164. package/dist/{chunk-P56F4SFD.js → chunk-BJIZ7PL7.js} +2 -2
  165. package/dist/{chunk-XEL2ZJ3Z.js → chunk-BJW7G6EF.js} +2 -2
  166. package/dist/{chunk-NNNXKGJH.js → chunk-BNUPYHHZ.js} +2 -2
  167. package/dist/{chunk-FYSOHZSM.js → chunk-BXRIQZAH.js} +8 -8
  168. package/dist/{chunk-N4ZDRONX.js → chunk-CBY5CXBD.js} +4 -4
  169. package/dist/{chunk-7PTHBHEW.js → chunk-CVG4FILQ.js} +69 -69
  170. package/dist/{chunk-LMN7SO4T.js → chunk-DDK4WFJ3.js} +12 -12
  171. package/dist/{chunk-G4HQUBO4.js → chunk-DLOYMWUQ.js} +7 -7
  172. package/dist/{chunk-OTMWHZBY.js → chunk-DWPOQ3S5.js} +2 -2
  173. package/dist/{chunk-C32ZOZTE.js → chunk-EF5SYXAY.js} +59 -34
  174. package/dist/chunk-EF5SYXAY.js.map +1 -0
  175. package/dist/{chunk-JIJGQPW2.js → chunk-EHCUFCXM.js} +18 -18
  176. package/dist/{chunk-SFTKDFOQ.js → chunk-EU6XSQFM.js} +2 -2
  177. package/dist/{chunk-62VER7O4.js → chunk-F3NERYBQ.js} +6 -6
  178. package/dist/{chunk-XZTOGYSM.js → chunk-F6LBGYS6.js} +39 -39
  179. package/dist/{chunk-EX5YO2KX.js → chunk-FDNJVZRE.js} +16 -16
  180. package/dist/{chunk-E5GLL7GL.js → chunk-FLGUVRR7.js} +5 -5
  181. package/dist/{chunk-YGD4MVPD.js → chunk-FSN6APRD.js} +4 -4
  182. package/dist/{chunk-J2YMBA2R.js → chunk-GAIM5RNE.js} +2 -2
  183. package/dist/{chunk-X2AH4DRF.js → chunk-GALB2G3W.js} +2 -2
  184. package/dist/{chunk-E2NTKB4G.js → chunk-GFUUFM2O.js} +4 -4
  185. package/dist/{chunk-7FTEIGVP.js → chunk-GTQ3SNEI.js} +2 -2
  186. package/dist/{chunk-SPH2HDSW.js → chunk-HDHK3SXK.js} +6 -6
  187. package/dist/{chunk-IJ6WELGP.js → chunk-HGMWMK5K.js} +2 -2
  188. package/dist/{chunk-HRMDE6MI.js → chunk-HNYJEAES.js} +7 -7
  189. package/dist/{chunk-BYASTRHQ.js → chunk-HO5Y2OOX.js} +11 -11
  190. package/dist/{chunk-WW7VY5LC.js → chunk-HOJGAJAB.js} +9 -9
  191. package/dist/{chunk-DYGAOHXK.js → chunk-HTT3FB7T.js} +2 -2
  192. package/dist/{chunk-O2WCMUQG.js → chunk-HWDGJFM4.js} +13 -13
  193. package/dist/{chunk-2JASYO6P.js → chunk-I6VUUEXH.js} +149 -149
  194. package/dist/chunk-I6VUUEXH.js.map +1 -0
  195. package/dist/{chunk-3AOXZHF6.js → chunk-IVOA3DXA.js} +10 -10
  196. package/dist/{chunk-5O5NCXJP.js → chunk-JK7C5A4I.js} +27 -27
  197. package/dist/{chunk-R7S6NSUB.js → chunk-JTN3T4QN.js} +20 -20
  198. package/dist/{chunk-7DUTMHRQ.js → chunk-JXT5QDJC.js} +4 -4
  199. package/dist/{chunk-BWTNB77U.js → chunk-KTRKZRID.js} +13 -13
  200. package/dist/{chunk-MWAFZVC4.js → chunk-KWKGBGAF.js} +10 -10
  201. package/dist/{chunk-5HXZC3OM.js → chunk-KZHW27BV.js} +2 -2
  202. package/dist/{chunk-RWUIKGLS.js → chunk-L7YURQI2.js} +2 -2
  203. package/dist/{chunk-73WI7FL2.js → chunk-LE2EDBXU.js} +18 -18
  204. package/dist/{chunk-5DSKMG2I.js → chunk-LEXPBQ56.js} +4 -4
  205. package/dist/{chunk-DWOP7YQX.js → chunk-N3ZP4IDU.js} +2 -2
  206. package/dist/{chunk-2KKFUNVW.js → chunk-NCX5SAQY.js} +7 -7
  207. package/dist/{chunk-ITGR4HN7.js → chunk-NDF3SH3X.js} +13 -13
  208. package/dist/{chunk-JQCGPTZ6.js → chunk-NWZW2WHN.js} +9 -9
  209. package/dist/{chunk-NQA5WCKG.js → chunk-NYZQ7LO7.js} +19 -19
  210. package/dist/{chunk-ZDL4ZALP.js → chunk-O756O2I7.js} +1 -1
  211. package/dist/{chunk-GRSODLVO.js → chunk-OANSIX34.js} +4 -4
  212. package/dist/{chunk-JLMDWUME.js → chunk-OBQVTCTW.js} +3 -3
  213. package/dist/{chunk-TUERKBGA.js → chunk-OO2T63BY.js} +2 -2
  214. package/dist/{chunk-EPWD4KRA.js → chunk-OOEO4MKY.js} +2 -2
  215. package/dist/{chunk-IKN3XCJU.js → chunk-OR37STQZ.js} +2 -2
  216. package/dist/{chunk-62LZQOAH.js → chunk-OSVHU2WU.js} +14 -14
  217. package/dist/{chunk-73YPB5IB.js → chunk-P5WABK2H.js} +8 -8
  218. package/dist/{chunk-JNFRC3AW.js → chunk-PM3OSANE.js} +4 -4
  219. package/dist/{chunk-W57X2TSV.js → chunk-PN66T6JA.js} +5 -5
  220. package/dist/{chunk-4NDE4JTJ.js → chunk-Q35DT6I6.js} +200 -200
  221. package/dist/{chunk-WFS5EUCL.js → chunk-Q35YZVDZ.js} +7 -7
  222. package/dist/{chunk-P5GMHOZB.js → chunk-QCD5Y7K5.js} +17 -17
  223. package/dist/{chunk-YTX274IC.js → chunk-QM5H4FPT.js} +2 -2
  224. package/dist/{chunk-VCUGPND2.js → chunk-QRVNI5V6.js} +3 -3
  225. package/dist/{chunk-JM4HQPAI.js → chunk-QZRDCFHI.js} +5 -5
  226. package/dist/{chunk-ELABMEDP.js → chunk-R63QEVPK.js} +15 -15
  227. package/dist/{chunk-CP7ZQHBW.js → chunk-RA3FNMWF.js} +10 -10
  228. package/dist/{chunk-D6II4KOG.js → chunk-RGW24ZZM.js} +74 -74
  229. package/dist/{chunk-2FUVCKGA.js → chunk-ROQOVH4N.js} +18 -18
  230. package/dist/chunk-ROQOVH4N.js.map +1 -0
  231. package/dist/{chunk-WSYR6CUF.js → chunk-RQDFYQHA.js} +7 -7
  232. package/dist/{chunk-CSLCTVND.js → chunk-RSNYGEVZ.js} +7 -7
  233. package/dist/{chunk-B2ES3U36.js → chunk-S4EZ3JUB.js} +39 -39
  234. package/dist/{chunk-OOUEPFGL.js → chunk-S4SC5SSV.js} +16 -16
  235. package/dist/{chunk-A4BD4ZVB.js → chunk-S7PVL7XH.js} +4 -4
  236. package/dist/{chunk-4LPA25NQ.js → chunk-SD2K5ZN5.js} +4 -4
  237. package/dist/chunk-ST22GONV.js +204 -0
  238. package/dist/chunk-ST22GONV.js.map +1 -0
  239. package/dist/{chunk-XAXTE2NA.js → chunk-SUVEDKE2.js} +3 -3
  240. package/dist/{chunk-LCFU5YUA.js → chunk-TGVVEGZG.js} +9 -9
  241. package/dist/{chunk-E74ISUXA.js → chunk-TQGJN5UZ.js} +233 -233
  242. package/dist/chunk-TQGJN5UZ.js.map +1 -0
  243. package/dist/{chunk-OEL73V62.js → chunk-U36PO27Q.js} +3 -3
  244. package/dist/{chunk-HZT5H5ZP.js → chunk-U3HSFCON.js} +22 -22
  245. package/dist/{chunk-J5MEDX7C.js → chunk-U47YDYLQ.js} +8 -8
  246. package/dist/{chunk-BLT4KQTS.js → chunk-UP4BE32Y.js} +4 -4
  247. package/dist/{chunk-ZSKUBXA6.js → chunk-UWJ5P5CU.js} +2 -2
  248. package/dist/{chunk-YVBHGMKC.js → chunk-VAIESMPY.js} +4 -4
  249. package/dist/{chunk-5P6EKYTC.js → chunk-VP62LPLW.js} +14 -14
  250. package/dist/{chunk-GOEN2FSD.js → chunk-VUHPA3XQ.js} +4 -4
  251. package/dist/{chunk-5FA455GR.js → chunk-WNG757ID.js} +4 -4
  252. package/dist/{chunk-4LMNYFES.js → chunk-WSMYOLHG.js} +9 -9
  253. package/dist/{chunk-JXEMUZTV.js → chunk-X7ASQHR6.js} +2 -2
  254. package/dist/{chunk-YSSTNTJD.js → chunk-X7L4H4VG.js} +223 -223
  255. package/dist/chunk-X7L4H4VG.js.map +1 -0
  256. package/dist/{chunk-CZSYF7UF.js → chunk-XOFUXMPP.js} +2 -2
  257. package/dist/{chunk-VNMM6DQP.js → chunk-XWWXIZFP.js} +4 -4
  258. package/dist/{chunk-XC4DZXZZ.js → chunk-YXOKAG66.js} +2 -2
  259. package/dist/{chunk-XMNUZUUA.js → chunk-Z2DAWUO3.js} +6 -6
  260. package/dist/{chunk-TJ2MBYK4.js → chunk-Z5WMLJKI.js} +4 -4
  261. package/dist/{chunk-WCK2NF54.js → chunk-ZKYYZH6L.js} +7 -7
  262. package/dist/{chunk-AS6ZXN5K.js → chunk-ZRJCGBVV.js} +2 -2
  263. package/dist/composer.js +11 -11
  264. package/dist/{computer-viewer-MUOPCKPS.js → computer-viewer-KEDVLD42.js} +6 -6
  265. package/dist/connect.js +7 -7
  266. package/dist/{embedded-new-voice-IIZPNXHC.js → embedded-new-voice-LFHWWYD2.js} +5 -5
  267. package/dist/{embedded-voice-5PXDBGOI.js → embedded-voice-6QS4ANNX.js} +5 -5
  268. package/dist/index.js +206 -206
  269. package/dist/interaction.js +6 -6
  270. package/dist/{latest-question-ZCZYQZMD.js → latest-question-AW3PPDUM.js} +2 -2
  271. package/dist/machines.js +1 -1
  272. package/dist/{model-policy-picker-menu-4GWYXUP3.js → model-policy-picker-menu-CURJ247L.js} +5 -5
  273. package/dist/native-previews.js +3 -3
  274. package/dist/{queue-surface-implementation-VPPIEPJL.js → queue-surface-implementation-2X5AXB6I.js} +4 -4
  275. package/dist/realtime.js +4 -4
  276. package/dist/{sandbox-files-QXIZJJMW.js → sandbox-files-4FBG3GS2.js} +8 -8
  277. package/dist/sandbox-files-4FBG3GS2.js.map +1 -0
  278. package/dist/session-app.js +268 -268
  279. package/dist/session-list-model.js +2 -2
  280. package/dist/session-ui.js +57 -57
  281. package/dist/session.js +11 -11
  282. package/dist/terminal.js +1 -1
  283. package/dist/timeline/types.d.ts +2 -0
  284. package/dist/{timeline-annotation-markers-BSTWUL4V.js → timeline-annotation-markers-X4K2IEOO.js} +4 -4
  285. package/dist/{timeline-annotation-selection-3SMCLIJE.js → timeline-annotation-selection-MEHBW676.js} +6 -6
  286. package/dist/{timeline-annotations-dialog-GFF3RFYZ.js → timeline-annotations-dialog-U2FPQ3UY.js} +7 -7
  287. package/dist/timeline-model.js +15 -15
  288. package/dist/ui/access-list.js +18 -18
  289. package/dist/ui/cadence-picker.js +2 -2
  290. package/dist/ui/choice-cards.js +2 -2
  291. package/dist/ui/detail-page.js +2 -2
  292. package/dist/ui/detail-sheet.js +2 -2
  293. package/dist/ui/diff-view.js +2 -2
  294. package/dist/ui/disclosure.js +4 -4
  295. package/dist/ui/flush-form-page.js +3 -3
  296. package/dist/ui/form-dialog.js +2 -2
  297. package/dist/ui/list-row.js +4 -4
  298. package/dist/ui/revision-history.js +11 -11
  299. package/dist/ui/role-select.js +7 -7
  300. package/dist/ui/select-menu.js +2 -2
  301. package/dist/ui/settings-nav.js +3 -3
  302. package/dist/workbench.js +9 -9
  303. package/package.json +4 -4
  304. package/src/app/components/capabilities/session-capability-card.tsx +14 -1
  305. package/src/app/components/capabilities/session-chrome-card.dom-fixture.tsx +377 -0
  306. package/src/app/components/capabilities/session-chrome-card.test.tsx +18 -0
  307. package/src/app/components/capabilities/session-chrome-card.tsx +243 -0
  308. package/src/app/components/capabilities/session-machine-card.dom-fixture.tsx +2 -0
  309. package/src/app/components/capabilities/session-machine-card.tsx +65 -14
  310. package/src/timeline/projection.ts +4 -2
  311. package/src/timeline/types.ts +2 -0
  312. package/dist/chunk-2FUVCKGA.js.map +0 -1
  313. package/dist/chunk-2JASYO6P.js.map +0 -1
  314. package/dist/chunk-C32ZOZTE.js.map +0 -1
  315. package/dist/chunk-E74ISUXA.js.map +0 -1
  316. package/dist/chunk-L7UDYTU3.js.map +0 -1
  317. package/dist/chunk-YSSTNTJD.js.map +0 -1
  318. /package/dist/{browser-viewer-VYZLJH3P.js.map → app/components/capabilities/session-chrome-card.js.map} +0 -0
  319. /package/dist/{chat-interactive-block-MECBXZ7V.js.map → browser-viewer-RYYQSRTC.js.map} +0 -0
  320. /package/dist/{computer-viewer-MUOPCKPS.js.map → chat-interactive-block-ABCRKXJ4.js.map} +0 -0
  321. /package/dist/{chunk-Y4D4N2EF.js.map → chunk-22ZBT6CN.js.map} +0 -0
  322. /package/dist/{chunk-TFK4KFKA.js.map → chunk-33TPANCR.js.map} +0 -0
  323. /package/dist/{chunk-CFFNT2OY.js.map → chunk-3GLAPCVI.js.map} +0 -0
  324. /package/dist/{chunk-BXQYAAVE.js.map → chunk-3XOISKZC.js.map} +0 -0
  325. /package/dist/{chunk-FYGMIMEG.js.map → chunk-4432A3HQ.js.map} +0 -0
  326. /package/dist/{chunk-3MOD23RS.js.map → chunk-46VBQG2D.js.map} +0 -0
  327. /package/dist/{chunk-Q2PVSCJV.js.map → chunk-4EAF3HSD.js.map} +0 -0
  328. /package/dist/{chunk-YTK6MYZH.js.map → chunk-4EONHNJU.js.map} +0 -0
  329. /package/dist/{chunk-7YLXFFF5.js.map → chunk-4R3JCVID.js.map} +0 -0
  330. /package/dist/{chunk-73DMIW44.js.map → chunk-4VKA5O7T.js.map} +0 -0
  331. /package/dist/{chunk-TIBPTOLQ.js.map → chunk-5JEIDFPD.js.map} +0 -0
  332. /package/dist/{chunk-3E4SJHVW.js.map → chunk-5POTDNQT.js.map} +0 -0
  333. /package/dist/{chunk-JW6CYU5F.js.map → chunk-63VGE4OH.js.map} +0 -0
  334. /package/dist/{chunk-7HVOIRGN.js.map → chunk-6NIB2KGJ.js.map} +0 -0
  335. /package/dist/{chunk-KLVK7BN5.js.map → chunk-6PQNLL4E.js.map} +0 -0
  336. /package/dist/{chunk-FGPSTD37.js.map → chunk-72J6C2AJ.js.map} +0 -0
  337. /package/dist/{chunk-N34NUHUO.js.map → chunk-73SOCVLS.js.map} +0 -0
  338. /package/dist/{chunk-43OV5QK7.js.map → chunk-7BST7BA6.js.map} +0 -0
  339. /package/dist/{chunk-FDAV72IX.js.map → chunk-7CZTKBTI.js.map} +0 -0
  340. /package/dist/{chunk-G4ONAC4P.js.map → chunk-7DU35P5J.js.map} +0 -0
  341. /package/dist/{chunk-SM5QX6UK.js.map → chunk-A2EWJQXX.js.map} +0 -0
  342. /package/dist/{chunk-3WDWLSYX.js.map → chunk-AD22P5X3.js.map} +0 -0
  343. /package/dist/{chunk-ZQSRAMSH.js.map → chunk-ADJJQSYC.js.map} +0 -0
  344. /package/dist/{chunk-5C6KUGFG.js.map → chunk-AG7VGUIW.js.map} +0 -0
  345. /package/dist/{chunk-LF5CBAOS.js.map → chunk-AOLE4IRZ.js.map} +0 -0
  346. /package/dist/{chunk-CF7ZCKZC.js.map → chunk-APU42QDI.js.map} +0 -0
  347. /package/dist/{chunk-P56F4SFD.js.map → chunk-BJIZ7PL7.js.map} +0 -0
  348. /package/dist/{chunk-XEL2ZJ3Z.js.map → chunk-BJW7G6EF.js.map} +0 -0
  349. /package/dist/{chunk-NNNXKGJH.js.map → chunk-BNUPYHHZ.js.map} +0 -0
  350. /package/dist/{chunk-FYSOHZSM.js.map → chunk-BXRIQZAH.js.map} +0 -0
  351. /package/dist/{chunk-N4ZDRONX.js.map → chunk-CBY5CXBD.js.map} +0 -0
  352. /package/dist/{chunk-7PTHBHEW.js.map → chunk-CVG4FILQ.js.map} +0 -0
  353. /package/dist/{chunk-LMN7SO4T.js.map → chunk-DDK4WFJ3.js.map} +0 -0
  354. /package/dist/{chunk-G4HQUBO4.js.map → chunk-DLOYMWUQ.js.map} +0 -0
  355. /package/dist/{chunk-OTMWHZBY.js.map → chunk-DWPOQ3S5.js.map} +0 -0
  356. /package/dist/{chunk-JIJGQPW2.js.map → chunk-EHCUFCXM.js.map} +0 -0
  357. /package/dist/{chunk-SFTKDFOQ.js.map → chunk-EU6XSQFM.js.map} +0 -0
  358. /package/dist/{chunk-62VER7O4.js.map → chunk-F3NERYBQ.js.map} +0 -0
  359. /package/dist/{chunk-XZTOGYSM.js.map → chunk-F6LBGYS6.js.map} +0 -0
  360. /package/dist/{chunk-EX5YO2KX.js.map → chunk-FDNJVZRE.js.map} +0 -0
  361. /package/dist/{chunk-E5GLL7GL.js.map → chunk-FLGUVRR7.js.map} +0 -0
  362. /package/dist/{chunk-YGD4MVPD.js.map → chunk-FSN6APRD.js.map} +0 -0
  363. /package/dist/{chunk-J2YMBA2R.js.map → chunk-GAIM5RNE.js.map} +0 -0
  364. /package/dist/{chunk-X2AH4DRF.js.map → chunk-GALB2G3W.js.map} +0 -0
  365. /package/dist/{chunk-E2NTKB4G.js.map → chunk-GFUUFM2O.js.map} +0 -0
  366. /package/dist/{chunk-7FTEIGVP.js.map → chunk-GTQ3SNEI.js.map} +0 -0
  367. /package/dist/{chunk-SPH2HDSW.js.map → chunk-HDHK3SXK.js.map} +0 -0
  368. /package/dist/{chunk-IJ6WELGP.js.map → chunk-HGMWMK5K.js.map} +0 -0
  369. /package/dist/{chunk-HRMDE6MI.js.map → chunk-HNYJEAES.js.map} +0 -0
  370. /package/dist/{chunk-BYASTRHQ.js.map → chunk-HO5Y2OOX.js.map} +0 -0
  371. /package/dist/{chunk-WW7VY5LC.js.map → chunk-HOJGAJAB.js.map} +0 -0
  372. /package/dist/{chunk-DYGAOHXK.js.map → chunk-HTT3FB7T.js.map} +0 -0
  373. /package/dist/{chunk-O2WCMUQG.js.map → chunk-HWDGJFM4.js.map} +0 -0
  374. /package/dist/{chunk-3AOXZHF6.js.map → chunk-IVOA3DXA.js.map} +0 -0
  375. /package/dist/{chunk-5O5NCXJP.js.map → chunk-JK7C5A4I.js.map} +0 -0
  376. /package/dist/{chunk-R7S6NSUB.js.map → chunk-JTN3T4QN.js.map} +0 -0
  377. /package/dist/{chunk-7DUTMHRQ.js.map → chunk-JXT5QDJC.js.map} +0 -0
  378. /package/dist/{chunk-BWTNB77U.js.map → chunk-KTRKZRID.js.map} +0 -0
  379. /package/dist/{chunk-MWAFZVC4.js.map → chunk-KWKGBGAF.js.map} +0 -0
  380. /package/dist/{chunk-5HXZC3OM.js.map → chunk-KZHW27BV.js.map} +0 -0
  381. /package/dist/{chunk-RWUIKGLS.js.map → chunk-L7YURQI2.js.map} +0 -0
  382. /package/dist/{chunk-73WI7FL2.js.map → chunk-LE2EDBXU.js.map} +0 -0
  383. /package/dist/{chunk-5DSKMG2I.js.map → chunk-LEXPBQ56.js.map} +0 -0
  384. /package/dist/{chunk-DWOP7YQX.js.map → chunk-N3ZP4IDU.js.map} +0 -0
  385. /package/dist/{chunk-2KKFUNVW.js.map → chunk-NCX5SAQY.js.map} +0 -0
  386. /package/dist/{chunk-ITGR4HN7.js.map → chunk-NDF3SH3X.js.map} +0 -0
  387. /package/dist/{chunk-JQCGPTZ6.js.map → chunk-NWZW2WHN.js.map} +0 -0
  388. /package/dist/{chunk-NQA5WCKG.js.map → chunk-NYZQ7LO7.js.map} +0 -0
  389. /package/dist/{chunk-ZDL4ZALP.js.map → chunk-O756O2I7.js.map} +0 -0
  390. /package/dist/{chunk-GRSODLVO.js.map → chunk-OANSIX34.js.map} +0 -0
  391. /package/dist/{chunk-JLMDWUME.js.map → chunk-OBQVTCTW.js.map} +0 -0
  392. /package/dist/{chunk-TUERKBGA.js.map → chunk-OO2T63BY.js.map} +0 -0
  393. /package/dist/{chunk-EPWD4KRA.js.map → chunk-OOEO4MKY.js.map} +0 -0
  394. /package/dist/{chunk-IKN3XCJU.js.map → chunk-OR37STQZ.js.map} +0 -0
  395. /package/dist/{chunk-62LZQOAH.js.map → chunk-OSVHU2WU.js.map} +0 -0
  396. /package/dist/{chunk-73YPB5IB.js.map → chunk-P5WABK2H.js.map} +0 -0
  397. /package/dist/{chunk-JNFRC3AW.js.map → chunk-PM3OSANE.js.map} +0 -0
  398. /package/dist/{chunk-W57X2TSV.js.map → chunk-PN66T6JA.js.map} +0 -0
  399. /package/dist/{chunk-4NDE4JTJ.js.map → chunk-Q35DT6I6.js.map} +0 -0
  400. /package/dist/{chunk-WFS5EUCL.js.map → chunk-Q35YZVDZ.js.map} +0 -0
  401. /package/dist/{chunk-P5GMHOZB.js.map → chunk-QCD5Y7K5.js.map} +0 -0
  402. /package/dist/{chunk-YTX274IC.js.map → chunk-QM5H4FPT.js.map} +0 -0
  403. /package/dist/{chunk-VCUGPND2.js.map → chunk-QRVNI5V6.js.map} +0 -0
  404. /package/dist/{chunk-JM4HQPAI.js.map → chunk-QZRDCFHI.js.map} +0 -0
  405. /package/dist/{chunk-ELABMEDP.js.map → chunk-R63QEVPK.js.map} +0 -0
  406. /package/dist/{chunk-CP7ZQHBW.js.map → chunk-RA3FNMWF.js.map} +0 -0
  407. /package/dist/{chunk-D6II4KOG.js.map → chunk-RGW24ZZM.js.map} +0 -0
  408. /package/dist/{chunk-WSYR6CUF.js.map → chunk-RQDFYQHA.js.map} +0 -0
  409. /package/dist/{chunk-CSLCTVND.js.map → chunk-RSNYGEVZ.js.map} +0 -0
  410. /package/dist/{chunk-B2ES3U36.js.map → chunk-S4EZ3JUB.js.map} +0 -0
  411. /package/dist/{chunk-OOUEPFGL.js.map → chunk-S4SC5SSV.js.map} +0 -0
  412. /package/dist/{chunk-A4BD4ZVB.js.map → chunk-S7PVL7XH.js.map} +0 -0
  413. /package/dist/{chunk-4LPA25NQ.js.map → chunk-SD2K5ZN5.js.map} +0 -0
  414. /package/dist/{chunk-XAXTE2NA.js.map → chunk-SUVEDKE2.js.map} +0 -0
  415. /package/dist/{chunk-LCFU5YUA.js.map → chunk-TGVVEGZG.js.map} +0 -0
  416. /package/dist/{chunk-OEL73V62.js.map → chunk-U36PO27Q.js.map} +0 -0
  417. /package/dist/{chunk-HZT5H5ZP.js.map → chunk-U3HSFCON.js.map} +0 -0
  418. /package/dist/{chunk-J5MEDX7C.js.map → chunk-U47YDYLQ.js.map} +0 -0
  419. /package/dist/{chunk-BLT4KQTS.js.map → chunk-UP4BE32Y.js.map} +0 -0
  420. /package/dist/{chunk-ZSKUBXA6.js.map → chunk-UWJ5P5CU.js.map} +0 -0
  421. /package/dist/{chunk-YVBHGMKC.js.map → chunk-VAIESMPY.js.map} +0 -0
  422. /package/dist/{chunk-5P6EKYTC.js.map → chunk-VP62LPLW.js.map} +0 -0
  423. /package/dist/{chunk-GOEN2FSD.js.map → chunk-VUHPA3XQ.js.map} +0 -0
  424. /package/dist/{chunk-5FA455GR.js.map → chunk-WNG757ID.js.map} +0 -0
  425. /package/dist/{chunk-4LMNYFES.js.map → chunk-WSMYOLHG.js.map} +0 -0
  426. /package/dist/{chunk-JXEMUZTV.js.map → chunk-X7ASQHR6.js.map} +0 -0
  427. /package/dist/{chunk-CZSYF7UF.js.map → chunk-XOFUXMPP.js.map} +0 -0
  428. /package/dist/{chunk-VNMM6DQP.js.map → chunk-XWWXIZFP.js.map} +0 -0
  429. /package/dist/{chunk-XC4DZXZZ.js.map → chunk-YXOKAG66.js.map} +0 -0
  430. /package/dist/{chunk-XMNUZUUA.js.map → chunk-Z2DAWUO3.js.map} +0 -0
  431. /package/dist/{chunk-TJ2MBYK4.js.map → chunk-Z5WMLJKI.js.map} +0 -0
  432. /package/dist/{chunk-WCK2NF54.js.map → chunk-ZKYYZH6L.js.map} +0 -0
  433. /package/dist/{chunk-AS6ZXN5K.js.map → chunk-ZRJCGBVV.js.map} +0 -0
  434. /package/dist/{embedded-new-voice-IIZPNXHC.js.map → computer-viewer-KEDVLD42.js.map} +0 -0
  435. /package/dist/{embedded-voice-5PXDBGOI.js.map → embedded-new-voice-LFHWWYD2.js.map} +0 -0
  436. /package/dist/{model-policy-picker-menu-4GWYXUP3.js.map → embedded-voice-6QS4ANNX.js.map} +0 -0
  437. /package/dist/{latest-question-ZCZYQZMD.js.map → latest-question-AW3PPDUM.js.map} +0 -0
  438. /package/dist/{sandbox-files-QXIZJJMW.js.map → model-policy-picker-menu-CURJ247L.js.map} +0 -0
  439. /package/dist/{queue-surface-implementation-VPPIEPJL.js.map → queue-surface-implementation-2X5AXB6I.js.map} +0 -0
  440. /package/dist/{timeline-annotation-markers-BSTWUL4V.js.map → timeline-annotation-markers-X4K2IEOO.js.map} +0 -0
  441. /package/dist/{timeline-annotation-selection-3SMCLIJE.js.map → timeline-annotation-selection-MEHBW676.js.map} +0 -0
  442. /package/dist/{timeline-annotations-dialog-GFF3RFYZ.js.map → timeline-annotations-dialog-U2FPQ3UY.js.map} +0 -0
@@ -1,11 +1,11 @@
1
1
  "use client";
2
2
  import {
3
3
  nodeIsActive
4
- } from "./chunk-P56F4SFD.js";
4
+ } from "./chunk-BJIZ7PL7.js";
5
5
  import {
6
6
  recencyGroupFor,
7
7
  sessionActivityTime
8
- } from "./chunk-TJ2MBYK4.js";
8
+ } from "./chunk-Z5WMLJKI.js";
9
9
 
10
10
  // src/app/lib/session-group-pagination.tsx
11
11
  function sessionPaginationProjectGroup(channelId, label) {
@@ -132,4 +132,4 @@ export {
132
132
  sessionMatchesPaginationGroup,
133
133
  sessionPaginationLocalDateKey
134
134
  };
135
- //# sourceMappingURL=chunk-VCUGPND2.js.map
135
+ //# sourceMappingURL=chunk-QRVNI5V6.js.map
@@ -7,15 +7,15 @@ import {
7
7
  DetailSheet,
8
8
  DetailSheetContent,
9
9
  DetailSheetTrigger
10
- } from "./chunk-5DSKMG2I.js";
10
+ } from "./chunk-LEXPBQ56.js";
11
+ import {
12
+ SheetClose
13
+ } from "./chunk-6KELG2EG.js";
11
14
  import {
12
15
  Collapsible,
13
16
  CollapsibleContent,
14
17
  CollapsibleTrigger
15
18
  } from "./chunk-T6KM63FZ.js";
16
- import {
17
- SheetClose
18
- } from "./chunk-6KELG2EG.js";
19
19
  import {
20
20
  Button
21
21
  } from "./chunk-HMU5IELG.js";
@@ -278,4 +278,4 @@ function Disclosure({
278
278
  export {
279
279
  Disclosure
280
280
  };
281
- //# sourceMappingURL=chunk-JM4HQPAI.js.map
281
+ //# sourceMappingURL=chunk-QZRDCFHI.js.map
@@ -16,6 +16,16 @@ import {
16
16
  useOpenGeniLinkRenderer,
17
17
  useOpenGeniLinkResolver
18
18
  } from "./chunk-VHB3E6PT.js";
19
+ import {
20
+ secretReferenceLabel
21
+ } from "./chunk-DNJ23AWQ.js";
22
+ import {
23
+ paintPreviewLoading
24
+ } from "./chunk-UNJPZGNK.js";
25
+ import {
26
+ copyTextToClipboard,
27
+ tableElementToTsv
28
+ } from "./chunk-PEHTX3V7.js";
19
29
  import {
20
30
  ShimmerText,
21
31
  Tooltip,
@@ -23,17 +33,7 @@ import {
23
33
  TooltipProvider,
24
34
  TooltipTrigger,
25
35
  useLightboxOptional
26
- } from "./chunk-JLMDWUME.js";
27
- import {
28
- copyTextToClipboard,
29
- tableElementToTsv
30
- } from "./chunk-PEHTX3V7.js";
31
- import {
32
- paintPreviewLoading
33
- } from "./chunk-UNJPZGNK.js";
34
- import {
35
- secretReferenceLabel
36
- } from "./chunk-DNJ23AWQ.js";
36
+ } from "./chunk-OBQVTCTW.js";
37
37
  import {
38
38
  stringifyPayload
39
39
  } from "./chunk-SJGAHTY5.js";
@@ -2023,13 +2023,13 @@ var Markdown = memo2(function SearchableMarkdown(props) {
2023
2023
  export {
2024
2024
  SecretsUiProvider,
2025
2025
  useSecretsUi,
2026
- SecretRefChip,
2027
- SecretRefText,
2028
- SecretAnswerChip,
2029
2026
  TimelineSearchRevealContext,
2030
2027
  useTimelineSearchReveal,
2031
2028
  isTimelineSearchTarget,
2032
2029
  useTimelineSearchNavigation,
2030
+ SecretRefChip,
2031
+ SecretRefText,
2032
+ SecretAnswerChip,
2033
2033
  DisclosureDefaultsProvider,
2034
2034
  useForcedDefaultOpen,
2035
2035
  ToolOutputPreviewProvider,
@@ -2051,4 +2051,4 @@ export {
2051
2051
  retainedImageId,
2052
2052
  Markdown
2053
2053
  };
2054
- //# sourceMappingURL=chunk-ELABMEDP.js.map
2054
+ //# sourceMappingURL=chunk-R63QEVPK.js.map
@@ -5,6 +5,15 @@ import {
5
5
  import {
6
6
  SegmentedControl
7
7
  } from "./chunk-325C2TCI.js";
8
+ import {
9
+ FormDialog
10
+ } from "./chunk-S7PVL7XH.js";
11
+ import {
12
+ toast
13
+ } from "./chunk-YG6NARQY.js";
14
+ import {
15
+ useAppContext
16
+ } from "./chunk-W6KAUGXO.js";
8
17
  import {
9
18
  DropdownMenu,
10
19
  DropdownMenuContent,
@@ -16,15 +25,6 @@ import {
16
25
  Field,
17
26
  FieldStack
18
27
  } from "./chunk-XNTW77T6.js";
19
- import {
20
- toast
21
- } from "./chunk-YG6NARQY.js";
22
- import {
23
- useAppContext
24
- } from "./chunk-W6KAUGXO.js";
25
- import {
26
- FormDialog
27
- } from "./chunk-A4BD4ZVB.js";
28
28
 
29
29
  // src/app/components/session/session-admin-access.tsx
30
30
  import { ShieldCheckIcon } from "lucide-react";
@@ -236,4 +236,4 @@ export {
236
236
  SessionAdminAccessIndicator,
237
237
  GrantSessionAdminAccessDialog
238
238
  };
239
- //# sourceMappingURL=chunk-CP7ZQHBW.js.map
239
+ //# sourceMappingURL=chunk-RA3FNMWF.js.map
@@ -1,57 +1,40 @@
1
1
  "use client";
2
2
  import {
3
- startWorkspaceVoiceCapabilityRefresh
4
- } from "./chunk-DDCEFH6T.js";
5
- import {
6
- SessionChannelProjectionAuthority,
7
- applySessionPinProjection,
8
- notifySessionPinChanged,
9
- reconcileFailedSessionPin
10
- } from "./chunk-JHZRAYI4.js";
3
+ useCapabilityToolDefaults
4
+ } from "./chunk-SJ3N6QU2.js";
11
5
  import {
12
- beginSocialLoginAnalytics,
13
- noteSuccessfulLogin,
14
- observeSocialLoginResult
15
- } from "./chunk-M6EDZ3UY.js";
6
+ isAuthorizedWorkspaceId,
7
+ organizationWorkspacePreferenceStorageId,
8
+ workspaceNavigationPreferenceStorageId,
9
+ writeLastWorkspaceId,
10
+ writeLastWorkspaceIdForOrganization
11
+ } from "./chunk-UHFWF6ZU.js";
16
12
  import {
17
- markIntegrationConnectRedirect
18
- } from "./chunk-OXD6ET34.js";
13
+ runSingleFlight
14
+ } from "./chunk-34XTCKDJ.js";
19
15
  import {
20
- upsertWorkspace
21
- } from "./chunk-XQCYOTKH.js";
16
+ reusablePersonalGitHubAuthority
17
+ } from "./chunk-MFGKX4C3.js";
22
18
  import {
23
- ManagedAuthSessionUnavailableError,
24
- signOutWithAuthoritativeReconciliation
25
- } from "./chunk-MXDZE5ML.js";
19
+ readBootstrap
20
+ } from "./chunk-P4K5CIK4.js";
26
21
  import {
27
22
  sameSessionForContext
28
23
  } from "./chunk-CTBP2E2T.js";
29
24
  import {
30
- useManualRepositoryCatalogReconciliation
31
- } from "./chunk-AQBCKNTL.js";
32
- import {
33
- isPaymentRequiredError
34
- } from "./chunk-ALR42W4W.js";
35
- import {
36
- unlinkGitHubInstallationWithReconciliation
37
- } from "./chunk-3BCPHI4Q.js";
25
+ upsertWorkspace
26
+ } from "./chunk-XQCYOTKH.js";
38
27
  import {
39
28
  deleteWorkspaceWithReconciliation
40
29
  } from "./chunk-I3NO3MGL.js";
41
30
  import {
42
- buildCreateSessionRequest,
43
- classifyCreateSessionFailure,
44
- prepareCreateSessionAttempt,
45
- retainCreateSessionAttemptAfterFailure
46
- } from "./chunk-7DUTMHRQ.js";
47
- import {
48
- creationHandoffReconciled
49
- } from "./chunk-UKZ3SGNF.js";
31
+ bootstrapErrorPresentation
32
+ } from "./chunk-KFNKSLKI.js";
50
33
  import {
51
- useNavigate,
52
- usePage,
53
- useRouterState
54
- } from "./chunk-MYNUBDU7.js";
34
+ beginSocialLoginAnalytics,
35
+ noteSuccessfulLogin,
36
+ observeSocialLoginResult
37
+ } from "./chunk-M6EDZ3UY.js";
55
38
  import {
56
39
  beginWorkspaceOperation,
57
40
  beginWorkspaceTransition,
@@ -67,47 +50,48 @@ import {
67
50
  settleWorkspaceOperation
68
51
  } from "./chunk-ANALJOJL.js";
69
52
  import {
70
- readBootstrap
71
- } from "./chunk-P4K5CIK4.js";
53
+ startWorkspaceVoiceCapabilityRefresh
54
+ } from "./chunk-DDCEFH6T.js";
72
55
  import {
73
- bootstrapErrorPresentation
74
- } from "./chunk-KFNKSLKI.js";
56
+ unlinkGitHubInstallationWithReconciliation
57
+ } from "./chunk-3BCPHI4Q.js";
75
58
  import {
76
- useConsoleSharedQueries
77
- } from "./chunk-6L7U46Y2.js";
59
+ startDeploymentRefresh
60
+ } from "./chunk-ARIV4S6T.js";
78
61
  import {
79
- toast
80
- } from "./chunk-YG6NARQY.js";
62
+ useManualRepositoryCatalogReconciliation
63
+ } from "./chunk-AQBCKNTL.js";
81
64
  import {
82
- useEmbedded,
83
- useHostMessageContext
84
- } from "./chunk-IZUAIHR4.js";
65
+ ManagedAuthSessionUnavailableError,
66
+ signOutWithAuthoritativeReconciliation
67
+ } from "./chunk-MXDZE5ML.js";
85
68
  import {
86
- startDeploymentRefresh
87
- } from "./chunk-ARIV4S6T.js";
69
+ buildCreateSessionRequest,
70
+ classifyCreateSessionFailure,
71
+ prepareCreateSessionAttempt,
72
+ retainCreateSessionAttemptAfterFailure
73
+ } from "./chunk-JXT5QDJC.js";
88
74
  import {
89
- hasWorkspacePermission
90
- } from "./chunk-FIDD34ZF.js";
75
+ markIntegrationConnectRedirect
76
+ } from "./chunk-OXD6ET34.js";
91
77
  import {
92
- reusablePersonalGitHubAuthority
93
- } from "./chunk-MFGKX4C3.js";
78
+ SessionChannelProjectionAuthority,
79
+ applySessionPinProjection,
80
+ notifySessionPinChanged,
81
+ reconcileFailedSessionPin
82
+ } from "./chunk-JHZRAYI4.js";
94
83
  import {
95
- loadCurrentManagedSelfContext,
96
- managedSelfContextIdentity
97
- } from "./chunk-74JEZLLQ.js";
84
+ creationHandoffReconciled
85
+ } from "./chunk-UKZ3SGNF.js";
98
86
  import {
99
- isAuthorizedWorkspaceId,
100
- organizationWorkspacePreferenceStorageId,
101
- workspaceNavigationPreferenceStorageId,
102
- writeLastWorkspaceId,
103
- writeLastWorkspaceIdForOrganization
104
- } from "./chunk-UHFWF6ZU.js";
87
+ isPaymentRequiredError
88
+ } from "./chunk-ALR42W4W.js";
89
+ import {
90
+ useConsoleSharedQueries
91
+ } from "./chunk-6L7U46Y2.js";
105
92
  import {
106
93
  t
107
94
  } from "./chunk-HPPKLBTJ.js";
108
- import {
109
- useCapabilityToolDefaults
110
- } from "./chunk-SJ3N6QU2.js";
111
95
  import {
112
96
  buildOpenGeniUiTools,
113
97
  buildResources,
@@ -120,15 +104,31 @@ import {
120
104
  selectableMcpServers
121
105
  } from "./chunk-L6Y4ALSM.js";
122
106
  import {
123
- runSingleFlight
124
- } from "./chunk-34XTCKDJ.js";
107
+ hasWorkspacePermission
108
+ } from "./chunk-FIDD34ZF.js";
125
109
  import {
126
- createSessionEventFeedStore,
127
- useLatestCallback
128
- } from "./chunk-W6KAUGXO.js";
110
+ loadCurrentManagedSelfContext,
111
+ managedSelfContextIdentity
112
+ } from "./chunk-74JEZLLQ.js";
113
+ import {
114
+ toast
115
+ } from "./chunk-YG6NARQY.js";
116
+ import {
117
+ useNavigate,
118
+ usePage,
119
+ useRouterState
120
+ } from "./chunk-MYNUBDU7.js";
121
+ import {
122
+ useEmbedded,
123
+ useHostMessageContext
124
+ } from "./chunk-IZUAIHR4.js";
129
125
  import {
130
126
  userErrorText
131
127
  } from "./chunk-L4OF77LE.js";
128
+ import {
129
+ createSessionEventFeedStore,
130
+ useLatestCallback
131
+ } from "./chunk-W6KAUGXO.js";
132
132
  import {
133
133
  claimHumanInputDraftOwner,
134
134
  forgetAllHumanInputDrafts
@@ -2149,4 +2149,4 @@ export {
2149
2149
  createSlackLinkPrepareController,
2150
2150
  useAppState
2151
2151
  };
2152
- //# sourceMappingURL=chunk-D6II4KOG.js.map
2152
+ //# sourceMappingURL=chunk-RGW24ZZM.js.map
@@ -12,22 +12,6 @@ import {
12
12
  useOpenGeniText
13
13
  } from "./chunk-5JZYPZ72.js";
14
14
 
15
- // src/lib/interaction-errors.ts
16
- import { OpenGeniApiError } from "@opengeni/sdk";
17
- import { interactionControlFailureFromError } from "@opengeni/sdk/interaction";
18
- function isInteractionControlUnavailable(error, request = "control") {
19
- if (!(error instanceof OpenGeniApiError)) return false;
20
- const failure = interactionControlFailureFromError(error);
21
- if (failure) return failure.code === "agent_offline" || failure.code === "draining";
22
- return request === "control" && !error.outcomeUnknown && (error.status >= 500 || error.status === 0);
23
- }
24
- function isNonRetryableInteractionError(error) {
25
- return error instanceof OpenGeniApiError && error.retryable === false;
26
- }
27
- function isSourcePlacementChangedError(error, resource) {
28
- return isNonRetryableInteractionError(error) && error.status === 409 && error.details?.interactionResource === resource && error.details?.interactionFailureCode === "source_placement_changed" && error.details?.interactionLifecycle === "lost";
29
- }
30
-
31
15
  // src/hooks/use-interaction-interventions.ts
32
16
  import { useCallback, useEffect as useEffect2, useRef as useRef2, useState } from "react";
33
17
 
@@ -243,6 +227,22 @@ function asError(cause) {
243
227
  return cause instanceof Error ? cause : new Error(String(cause));
244
228
  }
245
229
 
230
+ // src/lib/interaction-errors.ts
231
+ import { OpenGeniApiError } from "@opengeni/sdk";
232
+ import { interactionControlFailureFromError } from "@opengeni/sdk/interaction";
233
+ function isInteractionControlUnavailable(error, request = "control") {
234
+ if (!(error instanceof OpenGeniApiError)) return false;
235
+ const failure = interactionControlFailureFromError(error);
236
+ if (failure) return failure.code === "agent_offline" || failure.code === "draining";
237
+ return request === "control" && !error.outcomeUnknown && (error.status >= 500 || error.status === 0);
238
+ }
239
+ function isNonRetryableInteractionError(error) {
240
+ return error instanceof OpenGeniApiError && error.retryable === false;
241
+ }
242
+ function isSourcePlacementChangedError(error, resource) {
243
+ return isNonRetryableInteractionError(error) && error.status === 409 && error.details?.interactionResource === resource && error.details?.interactionFailureCode === "source_placement_changed" && error.details?.interactionLifecycle === "lost";
244
+ }
245
+
246
246
  // src/components/interaction-intervention-banner.tsx
247
247
  import { CheckIcon, CircleAlertIcon, LoaderCircleIcon, XIcon } from "lucide-react";
248
248
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -366,11 +366,11 @@ function useViewerMenuDismiss(enabled = true) {
366
366
 
367
367
  export {
368
368
  useInteractionInvalidation,
369
+ useInteractionInterventions,
369
370
  isInteractionControlUnavailable,
370
371
  isNonRetryableInteractionError,
371
372
  isSourcePlacementChangedError,
372
- useInteractionInterventions,
373
373
  InteractionInterventionBanner,
374
374
  useViewerMenuDismiss
375
375
  };
376
- //# sourceMappingURL=chunk-2FUVCKGA.js.map
376
+ //# sourceMappingURL=chunk-ROQOVH4N.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/hooks/use-interaction-interventions.ts","../src/hooks/use-interaction-invalidation.ts","../src/lib/interaction-errors.ts","../src/components/interaction-intervention-banner.tsx","../src/components/use-viewer-menu-dismiss.ts"],"sourcesContent":["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 { 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 { 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"]}
@@ -1,13 +1,16 @@
1
1
  "use client";
2
+ import {
3
+ t
4
+ } from "./chunk-HPPKLBTJ.js";
2
5
  import {
3
6
  usePage
4
7
  } from "./chunk-MYNUBDU7.js";
5
8
  import {
6
- t
7
- } from "./chunk-HPPKLBTJ.js";
9
+ Button
10
+ } from "./chunk-HMU5IELG.js";
8
11
  import {
9
12
  ConnectSetup
10
- } from "./chunk-FYGMIMEG.js";
13
+ } from "./chunk-4432A3HQ.js";
11
14
  import {
12
15
  useConnect
13
16
  } from "./chunk-L6RXRRN3.js";
@@ -17,9 +20,6 @@ import {
17
20
  import {
18
21
  SessionCapabilityFrame
19
22
  } from "./chunk-HRJQAFKR.js";
20
- import {
21
- Button
22
- } from "./chunk-HMU5IELG.js";
23
23
 
24
24
  // src/app/components/capabilities/prepared-mcp-setup-card.tsx
25
25
  import { useEffect, useRef, useState } from "react";
@@ -171,4 +171,4 @@ function PreparedSetup({
171
171
  export {
172
172
  PreparedMcpSetupCard
173
173
  };
174
- //# sourceMappingURL=chunk-WSYR6CUF.js.map
174
+ //# sourceMappingURL=chunk-RQDFYQHA.js.map
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import {
3
3
  InlineChatImage
4
- } from "./chunk-G4ONAC4P.js";
4
+ } from "./chunk-7DU35P5J.js";
5
5
  import {
6
6
  cachedRetainedArtifactLoader,
7
7
  cachedRetainedMetadata,
@@ -20,7 +20,7 @@ import {
20
20
  } from "./chunk-BVRJK25X.js";
21
21
  import {
22
22
  DeferredChatMedia
23
- } from "./chunk-3AOXZHF6.js";
23
+ } from "./chunk-IVOA3DXA.js";
24
24
  import {
25
25
  cn
26
26
  } from "./chunk-A3MTTRCX.js";
@@ -35,13 +35,13 @@ import {
35
35
  } from "./chunk-HMU5IELG.js";
36
36
  import {
37
37
  createWorkspaceRetainedArtifactLoader
38
- } from "./chunk-YSSTNTJD.js";
39
- import {
40
- useLightboxGalleryItem
41
- } from "./chunk-JLMDWUME.js";
38
+ } from "./chunk-X7L4H4VG.js";
42
39
  import {
43
40
  isRetainedImageContentType
44
41
  } from "./chunk-ANHUMDJX.js";
42
+ import {
43
+ useLightboxGalleryItem
44
+ } from "./chunk-OBQVTCTW.js";
45
45
 
46
46
  // src/app/components/artifacts/retained-file-preview.tsx
47
47
  import {
@@ -343,4 +343,4 @@ export {
343
343
  RetainedFilePreview,
344
344
  InlineChatArtifact
345
345
  };
346
- //# sourceMappingURL=chunk-CSLCTVND.js.map
346
+ //# sourceMappingURL=chunk-RSNYGEVZ.js.map