@opengeni/react 4.3.3-canary.39786771332001 → 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 (244) hide show
  1. package/dist/app/app-state.js +10 -10
  2. package/dist/app/components/Composer.js +3 -3
  3. package/dist/app/components/artifacts/artifact-browse-controls.js +1 -1
  4. package/dist/app/components/artifacts/artifact-library.js +6 -6
  5. package/dist/app/components/artifacts/chat-interactive-block.js +1 -1
  6. package/dist/app/components/artifacts/inline-chat-image.js +5 -5
  7. package/dist/app/components/artifacts/retained-file-preview.js +6 -6
  8. package/dist/app/components/artifacts/site-audience.js +2 -2
  9. package/dist/app/components/artifacts/site-conversations.js +5 -5
  10. package/dist/app/components/artifacts/site-data.js +4 -4
  11. package/dist/app/components/artifacts/site-publishing.js +9 -9
  12. package/dist/app/components/artifacts/site-settings.js +13 -13
  13. package/dist/app/components/capabilities/capability-detail-sheet.js +6 -6
  14. package/dist/app/components/capabilities/capability-logo-source.js +4 -4
  15. package/dist/app/components/capabilities/connector-tool-permissions.js +3 -3
  16. package/dist/app/components/capabilities/native-connect-setup.js +4 -4
  17. package/dist/app/components/capabilities/prepared-mcp-setup-card.js +4 -4
  18. package/dist/app/components/capabilities/session-capability-card.js +45 -29
  19. package/dist/app/components/capabilities/session-capability-card.js.map +1 -1
  20. package/dist/app/components/capabilities/session-chrome-card.css +1023 -0
  21. package/dist/app/components/capabilities/session-chrome-card.css.map +1 -0
  22. package/dist/app/components/capabilities/session-chrome-card.d.ts +18 -0
  23. package/dist/app/components/capabilities/session-chrome-card.js +70 -0
  24. package/dist/app/components/capabilities/session-custom-mcp-card.js +5 -5
  25. package/dist/app/components/capabilities/session-github-card.js +8 -8
  26. package/dist/app/components/capabilities/session-machine-card.d.ts +27 -1
  27. package/dist/app/components/capabilities/session-machine-card.js +10 -8
  28. package/dist/app/components/command-menu/chat-status.js +4 -4
  29. package/dist/app/components/command-menu/chat-switcher.js +5 -5
  30. package/dist/app/components/command-menu/command-menu.js +11 -11
  31. package/dist/app/components/command-menu/shortcut-sheet.js +6 -6
  32. package/dist/app/components/composer-mobile-plus-panel.js +5 -5
  33. package/dist/app/components/composer-mobile-plus.js +1 -1
  34. package/dist/app/components/credit-required-gate.js +1 -1
  35. package/dist/app/components/credit-required-prompt.js +3 -3
  36. package/dist/app/components/desktop/app-shots.js +1 -1
  37. package/dist/app/components/follow-up-repository-menu-body.js +2 -2
  38. package/dist/app/components/follow-up-repository-picker.js +1 -1
  39. package/dist/app/components/github-app-connect-launcher.js +1 -1
  40. package/dist/app/components/markdown.js +3 -3
  41. package/dist/app/components/pickers.js +2 -2
  42. package/dist/app/components/rail/rail-context.js +2 -2
  43. package/dist/app/components/rail/rail-sections.js +22 -22
  44. package/dist/app/components/rail/session-header.js +12 -12
  45. package/dist/app/components/rail/session-list.js +20 -20
  46. package/dist/app/components/rail/session-row-hover-details.js +6 -6
  47. package/dist/app/components/rail/session-shell.js +33 -33
  48. package/dist/app/components/repository-picker.js +2 -2
  49. package/dist/app/components/session/agent-configuration-panel.js +10 -10
  50. package/dist/app/components/session/artifact-session-page.js +3 -3
  51. package/dist/app/components/session/banners.js +5 -5
  52. package/dist/app/components/session/codex-account-indicator.js +1 -1
  53. package/dist/app/components/session/editable-artifacts-workspace.js +7 -7
  54. package/dist/app/components/session/failed-session-banner.js +1 -1
  55. package/dist/app/components/session/human-input.js +13 -13
  56. package/dist/app/components/session/inspector.js +28 -28
  57. package/dist/app/components/session/message-resource-attachments.js +4 -4
  58. package/dist/app/components/session/new-session-settings-menu.js +4 -4
  59. package/dist/app/components/session/sandbox-workspace.js +15 -15
  60. package/dist/app/components/session/search-markdown-highlight.js +4 -4
  61. package/dist/app/components/session/search-results-view.js +5 -5
  62. package/dist/app/components/session/session-admin-access.js +3 -3
  63. package/dist/app/components/session/session-search-dialog.js +5 -5
  64. package/dist/app/components/session/session-tenancy-control.js +8 -8
  65. package/dist/app/components/session/session-wait-status.js +1 -1
  66. package/dist/app/components/session/subagents.js +1 -1
  67. package/dist/app/components/settings/row-select.js +3 -3
  68. package/dist/app/components/transcription-settings.js +4 -4
  69. package/dist/app/components/workspace-composer-plus.js +7 -7
  70. package/dist/app/embed/session-app.js +114 -114
  71. package/dist/app/lib/actions/actions-provider.js +3 -3
  72. package/dist/app/lib/composer-connectors.js +5 -5
  73. package/dist/app/lib/events.js +5 -5
  74. package/dist/app/lib/session-branch-cache.js +1 -1
  75. package/dist/app/lib/session-create.js +2 -2
  76. package/dist/app/lib/session-group-pagination.js +1 -1
  77. package/dist/app/lib/session-hover-facts.js +1 -1
  78. package/dist/app/lib/session-rail.js +1 -1
  79. package/dist/app/lib/sessions-group.js +1 -1
  80. package/dist/app/lib/turn-failure-analytics.js +1 -1
  81. package/dist/app/lib/use-workspace-model-catalog.js +1 -1
  82. package/dist/app/routes/artifacts.js +24 -24
  83. package/dist/app/routes/retained-artifact.js +17 -17
  84. package/dist/app/routes/session-unavailable.js +2 -2
  85. package/dist/app/routes/session.js +63 -63
  86. package/dist/app/routes/sessions-index-hydration.js +3 -3
  87. package/dist/app/routes/sessions-index.js +55 -55
  88. package/dist/{chunk-TFK4KFKA.js → chunk-33TPANCR.js} +4 -4
  89. package/dist/{chunk-DFZMKCVP.js → chunk-4432A3HQ.js} +2 -2
  90. package/dist/{chunk-VRGOOVDB.js → chunk-4EONHNJU.js} +2 -2
  91. package/dist/{chunk-DDIBZA4X.js → chunk-4R3JCVID.js} +48 -48
  92. package/dist/{chunk-EDFJBX3V.js → chunk-4VKA5O7T.js} +6 -6
  93. package/dist/{chunk-Q4NM77K7.js → chunk-4W7VISE7.js} +9 -9
  94. package/dist/{chunk-4246UYVG.js → chunk-5JEIDFPD.js} +1 -1
  95. package/dist/{chunk-VU2EWALC.js → chunk-5MZTJMZ3.js} +3 -2
  96. package/dist/chunk-5MZTJMZ3.js.map +1 -0
  97. package/dist/{chunk-OQAAI33Y.js → chunk-63VGE4OH.js} +2 -2
  98. package/dist/{chunk-HJ5XWW62.js → chunk-6NIB2KGJ.js} +10 -10
  99. package/dist/{chunk-NDETTZQA.js → chunk-6PQNLL4E.js} +9 -9
  100. package/dist/{chunk-XVM566II.js → chunk-72J6C2AJ.js} +1 -1
  101. package/dist/{chunk-VW3BBTMA.js → chunk-7BST7BA6.js} +1 -1
  102. package/dist/{chunk-IC7KNOBB.js → chunk-7CZTKBTI.js} +5 -5
  103. package/dist/{chunk-IGHELZI7.js → chunk-7DU35P5J.js} +2 -2
  104. package/dist/{chunk-V77JK73U.js → chunk-ADJJQSYC.js} +14 -14
  105. package/dist/{chunk-C535KSTY.js → chunk-AOLE4IRZ.js} +2 -2
  106. package/dist/{chunk-Q262Y2YX.js → chunk-APU42QDI.js} +78 -78
  107. package/dist/{chunk-ZHFKMMOT.js → chunk-BSX2R4CW.js} +4 -4
  108. package/dist/{chunk-ETCB6SUJ.js → chunk-BXRIQZAH.js} +2 -2
  109. package/dist/{chunk-O77Q4NG2.js → chunk-CVG4FILQ.js} +21 -21
  110. package/dist/{chunk-CKG2EG62.js → chunk-DDK4WFJ3.js} +9 -9
  111. package/dist/{chunk-WSLPZ43N.js → chunk-DLOYMWUQ.js} +7 -7
  112. package/dist/{chunk-OTMWHZBY.js → chunk-DWPOQ3S5.js} +2 -2
  113. package/dist/{chunk-VSQHDBHU.js → chunk-EF5SYXAY.js} +41 -16
  114. package/dist/chunk-EF5SYXAY.js.map +1 -0
  115. package/dist/{chunk-6VQTHC4W.js → chunk-F6LBGYS6.js} +9 -9
  116. package/dist/{chunk-X2AH4DRF.js → chunk-GALB2G3W.js} +2 -2
  117. package/dist/{chunk-Y7WMW74G.js → chunk-HNYJEAES.js} +2 -2
  118. package/dist/{chunk-FUSFVUIJ.js → chunk-HO5Y2OOX.js} +5 -5
  119. package/dist/{chunk-MNWQAYY3.js → chunk-HWDGJFM4.js} +3 -3
  120. package/dist/{chunk-VMFID36H.js → chunk-JK7C5A4I.js} +2 -2
  121. package/dist/{chunk-Q4OHNGGB.js → chunk-JRXHSVD5.js} +4 -4
  122. package/dist/{chunk-D3RK3NGM.js → chunk-JTN3T4QN.js} +4 -4
  123. package/dist/{chunk-KNFDWNCH.js → chunk-JXT5QDJC.js} +5 -5
  124. package/dist/{chunk-DKCX643S.js → chunk-KWKGBGAF.js} +11 -11
  125. package/dist/{chunk-RKILMLA7.js → chunk-L7YURQI2.js} +2 -2
  126. package/dist/{chunk-WUHB422G.js → chunk-LE2EDBXU.js} +5 -5
  127. package/dist/{chunk-45WYYFP6.js → chunk-N3ZP4IDU.js} +2 -2
  128. package/dist/{chunk-N7JKT4ZU.js → chunk-NCX5SAQY.js} +4 -4
  129. package/dist/{chunk-MM7OKOTE.js → chunk-NWZW2WHN.js} +6 -6
  130. package/dist/{chunk-KYBALSWW.js → chunk-O756O2I7.js} +1 -1
  131. package/dist/{chunk-V5RJAWRP.js → chunk-PN66T6JA.js} +2 -2
  132. package/dist/{chunk-QIYBOFUV.js → chunk-Q35DT6I6.js} +88 -88
  133. package/dist/{chunk-QILLL4JE.js → chunk-QCD5Y7K5.js} +2 -2
  134. package/dist/{chunk-LQKKSUCR.js → chunk-R63QEVPK.js} +4 -4
  135. package/dist/{chunk-O4DYOSOL.js → chunk-RA3FNMWF.js} +5 -5
  136. package/dist/{chunk-324X6T6G.js → chunk-RGW24ZZM.js} +19 -19
  137. package/dist/{chunk-GCGTYXJJ.js → chunk-RQDFYQHA.js} +2 -2
  138. package/dist/{chunk-H5WGWAYX.js → chunk-RSNYGEVZ.js} +3 -3
  139. package/dist/{chunk-YXIW7H4N.js → chunk-S4EZ3JUB.js} +23 -23
  140. package/dist/chunk-ST22GONV.js +204 -0
  141. package/dist/chunk-ST22GONV.js.map +1 -0
  142. package/dist/{chunk-NEVRLD77.js → chunk-SUVEDKE2.js} +3 -3
  143. package/dist/{chunk-GIZGNFIX.js → chunk-TGVVEGZG.js} +4 -4
  144. package/dist/{chunk-G3S2F35T.js → chunk-U36PO27Q.js} +3 -3
  145. package/dist/{chunk-DSGMYES6.js → chunk-U3HSFCON.js} +3 -3
  146. package/dist/{chunk-PFKTGZKE.js → chunk-UP4BE32Y.js} +4 -4
  147. package/dist/{chunk-H6WWEKEV.js → chunk-VP62LPLW.js} +3 -3
  148. package/dist/{chunk-E5FCEDMU.js → chunk-X7ASQHR6.js} +2 -2
  149. package/dist/{chunk-CKZW7A5S.js → chunk-X7L4H4VG.js} +3 -3
  150. package/dist/{chunk-TZD3U2S5.js → chunk-XOFUXMPP.js} +4 -4
  151. package/dist/{chunk-YTZQV2DD.js → chunk-YXOKAG66.js} +2 -2
  152. package/dist/{chunk-QECZVL7S.js → chunk-ZRJCGBVV.js} +2 -2
  153. package/dist/composer.js +1 -1
  154. package/dist/connect.js +3 -3
  155. package/dist/{embedded-new-voice-5PYRDZ6T.js → embedded-new-voice-LFHWWYD2.js} +3 -3
  156. package/dist/{embedded-voice-PABC5NBD.js → embedded-voice-6QS4ANNX.js} +3 -3
  157. package/dist/embedded-voice-6QS4ANNX.js.map +1 -0
  158. package/dist/index.js +22 -22
  159. package/dist/{latest-question-5LIRVG4G.js → latest-question-AW3PPDUM.js} +2 -2
  160. package/dist/realtime.js +2 -2
  161. package/dist/session-app.js +114 -114
  162. package/dist/session-ui.js +15 -15
  163. package/dist/session.js +6 -6
  164. package/dist/timeline/types.d.ts +2 -0
  165. package/dist/timeline-model.js +3 -3
  166. package/dist/ui/access-list.js +7 -7
  167. package/dist/ui/cadence-picker.js +2 -2
  168. package/dist/ui/list-row.js +3 -3
  169. package/dist/ui/revision-history.js +2 -2
  170. package/dist/ui/role-select.js +3 -3
  171. package/dist/ui/select-menu.js +2 -2
  172. package/package.json +4 -4
  173. package/src/app/components/capabilities/session-capability-card.tsx +14 -1
  174. package/src/app/components/capabilities/session-chrome-card.dom-fixture.tsx +377 -0
  175. package/src/app/components/capabilities/session-chrome-card.test.tsx +18 -0
  176. package/src/app/components/capabilities/session-chrome-card.tsx +243 -0
  177. package/src/app/components/capabilities/session-machine-card.dom-fixture.tsx +2 -0
  178. package/src/app/components/capabilities/session-machine-card.tsx +65 -14
  179. package/src/timeline/projection.ts +4 -2
  180. package/src/timeline/types.ts +2 -0
  181. package/dist/chunk-VSQHDBHU.js.map +0 -1
  182. package/dist/chunk-VU2EWALC.js.map +0 -1
  183. /package/dist/{embedded-new-voice-5PYRDZ6T.js.map → app/components/capabilities/session-chrome-card.js.map} +0 -0
  184. /package/dist/{chunk-TFK4KFKA.js.map → chunk-33TPANCR.js.map} +0 -0
  185. /package/dist/{chunk-DFZMKCVP.js.map → chunk-4432A3HQ.js.map} +0 -0
  186. /package/dist/{chunk-VRGOOVDB.js.map → chunk-4EONHNJU.js.map} +0 -0
  187. /package/dist/{chunk-DDIBZA4X.js.map → chunk-4R3JCVID.js.map} +0 -0
  188. /package/dist/{chunk-EDFJBX3V.js.map → chunk-4VKA5O7T.js.map} +0 -0
  189. /package/dist/{chunk-Q4NM77K7.js.map → chunk-4W7VISE7.js.map} +0 -0
  190. /package/dist/{chunk-4246UYVG.js.map → chunk-5JEIDFPD.js.map} +0 -0
  191. /package/dist/{chunk-OQAAI33Y.js.map → chunk-63VGE4OH.js.map} +0 -0
  192. /package/dist/{chunk-HJ5XWW62.js.map → chunk-6NIB2KGJ.js.map} +0 -0
  193. /package/dist/{chunk-NDETTZQA.js.map → chunk-6PQNLL4E.js.map} +0 -0
  194. /package/dist/{chunk-XVM566II.js.map → chunk-72J6C2AJ.js.map} +0 -0
  195. /package/dist/{chunk-VW3BBTMA.js.map → chunk-7BST7BA6.js.map} +0 -0
  196. /package/dist/{chunk-IC7KNOBB.js.map → chunk-7CZTKBTI.js.map} +0 -0
  197. /package/dist/{chunk-IGHELZI7.js.map → chunk-7DU35P5J.js.map} +0 -0
  198. /package/dist/{chunk-V77JK73U.js.map → chunk-ADJJQSYC.js.map} +0 -0
  199. /package/dist/{chunk-C535KSTY.js.map → chunk-AOLE4IRZ.js.map} +0 -0
  200. /package/dist/{chunk-Q262Y2YX.js.map → chunk-APU42QDI.js.map} +0 -0
  201. /package/dist/{chunk-ZHFKMMOT.js.map → chunk-BSX2R4CW.js.map} +0 -0
  202. /package/dist/{chunk-ETCB6SUJ.js.map → chunk-BXRIQZAH.js.map} +0 -0
  203. /package/dist/{chunk-O77Q4NG2.js.map → chunk-CVG4FILQ.js.map} +0 -0
  204. /package/dist/{chunk-CKG2EG62.js.map → chunk-DDK4WFJ3.js.map} +0 -0
  205. /package/dist/{chunk-WSLPZ43N.js.map → chunk-DLOYMWUQ.js.map} +0 -0
  206. /package/dist/{chunk-OTMWHZBY.js.map → chunk-DWPOQ3S5.js.map} +0 -0
  207. /package/dist/{chunk-6VQTHC4W.js.map → chunk-F6LBGYS6.js.map} +0 -0
  208. /package/dist/{chunk-X2AH4DRF.js.map → chunk-GALB2G3W.js.map} +0 -0
  209. /package/dist/{chunk-Y7WMW74G.js.map → chunk-HNYJEAES.js.map} +0 -0
  210. /package/dist/{chunk-FUSFVUIJ.js.map → chunk-HO5Y2OOX.js.map} +0 -0
  211. /package/dist/{chunk-MNWQAYY3.js.map → chunk-HWDGJFM4.js.map} +0 -0
  212. /package/dist/{chunk-VMFID36H.js.map → chunk-JK7C5A4I.js.map} +0 -0
  213. /package/dist/{chunk-Q4OHNGGB.js.map → chunk-JRXHSVD5.js.map} +0 -0
  214. /package/dist/{chunk-D3RK3NGM.js.map → chunk-JTN3T4QN.js.map} +0 -0
  215. /package/dist/{chunk-KNFDWNCH.js.map → chunk-JXT5QDJC.js.map} +0 -0
  216. /package/dist/{chunk-DKCX643S.js.map → chunk-KWKGBGAF.js.map} +0 -0
  217. /package/dist/{chunk-RKILMLA7.js.map → chunk-L7YURQI2.js.map} +0 -0
  218. /package/dist/{chunk-WUHB422G.js.map → chunk-LE2EDBXU.js.map} +0 -0
  219. /package/dist/{chunk-45WYYFP6.js.map → chunk-N3ZP4IDU.js.map} +0 -0
  220. /package/dist/{chunk-N7JKT4ZU.js.map → chunk-NCX5SAQY.js.map} +0 -0
  221. /package/dist/{chunk-MM7OKOTE.js.map → chunk-NWZW2WHN.js.map} +0 -0
  222. /package/dist/{chunk-KYBALSWW.js.map → chunk-O756O2I7.js.map} +0 -0
  223. /package/dist/{chunk-V5RJAWRP.js.map → chunk-PN66T6JA.js.map} +0 -0
  224. /package/dist/{chunk-QIYBOFUV.js.map → chunk-Q35DT6I6.js.map} +0 -0
  225. /package/dist/{chunk-QILLL4JE.js.map → chunk-QCD5Y7K5.js.map} +0 -0
  226. /package/dist/{chunk-LQKKSUCR.js.map → chunk-R63QEVPK.js.map} +0 -0
  227. /package/dist/{chunk-O4DYOSOL.js.map → chunk-RA3FNMWF.js.map} +0 -0
  228. /package/dist/{chunk-324X6T6G.js.map → chunk-RGW24ZZM.js.map} +0 -0
  229. /package/dist/{chunk-GCGTYXJJ.js.map → chunk-RQDFYQHA.js.map} +0 -0
  230. /package/dist/{chunk-H5WGWAYX.js.map → chunk-RSNYGEVZ.js.map} +0 -0
  231. /package/dist/{chunk-YXIW7H4N.js.map → chunk-S4EZ3JUB.js.map} +0 -0
  232. /package/dist/{chunk-NEVRLD77.js.map → chunk-SUVEDKE2.js.map} +0 -0
  233. /package/dist/{chunk-GIZGNFIX.js.map → chunk-TGVVEGZG.js.map} +0 -0
  234. /package/dist/{chunk-G3S2F35T.js.map → chunk-U36PO27Q.js.map} +0 -0
  235. /package/dist/{chunk-DSGMYES6.js.map → chunk-U3HSFCON.js.map} +0 -0
  236. /package/dist/{chunk-PFKTGZKE.js.map → chunk-UP4BE32Y.js.map} +0 -0
  237. /package/dist/{chunk-H6WWEKEV.js.map → chunk-VP62LPLW.js.map} +0 -0
  238. /package/dist/{chunk-E5FCEDMU.js.map → chunk-X7ASQHR6.js.map} +0 -0
  239. /package/dist/{chunk-CKZW7A5S.js.map → chunk-X7L4H4VG.js.map} +0 -0
  240. /package/dist/{chunk-TZD3U2S5.js.map → chunk-XOFUXMPP.js.map} +0 -0
  241. /package/dist/{chunk-YTZQV2DD.js.map → chunk-YXOKAG66.js.map} +0 -0
  242. /package/dist/{chunk-QECZVL7S.js.map → chunk-ZRJCGBVV.js.map} +0 -0
  243. /package/dist/{embedded-voice-PABC5NBD.js.map → embedded-new-voice-LFHWWYD2.js.map} +0 -0
  244. /package/dist/{latest-question-5LIRVG4G.js.map → latest-question-AW3PPDUM.js.map} +0 -0
@@ -1,28 +1,41 @@
1
1
  "use client";
2
2
  import {
3
3
  SessionShell
4
- } from "./chunk-V77JK73U.js";
4
+ } from "./chunk-ADJJQSYC.js";
5
+ import {
6
+ WorkspaceTenantBoundary
7
+ } from "./chunk-EWEYOWDD.js";
5
8
  import {
6
9
  ActionsProvider
7
- } from "./chunk-VMFID36H.js";
10
+ } from "./chunk-JK7C5A4I.js";
8
11
  import {
9
- useMemoryNavigation
10
- } from "./chunk-KF3MF6FP.js";
12
+ CreditRequiredGate
13
+ } from "./chunk-5JEIDFPD.js";
14
+ import {
15
+ Toaster
16
+ } from "./chunk-UYEOTEKB.js";
11
17
  import {
12
18
  createMessageContextStore
13
19
  } from "./chunk-H2ZOIATZ.js";
14
20
  import {
15
21
  useWorkspaceIntegrations
16
22
  } from "./chunk-FSN6APRD.js";
23
+ import {
24
+ AppearanceProvider,
25
+ useAppearance
26
+ } from "./chunk-ZNMN42KW.js";
27
+ import {
28
+ useMemoryNavigation
29
+ } from "./chunk-KF3MF6FP.js";
17
30
  import {
18
31
  SessionsIndexRoute
19
- } from "./chunk-Q262Y2YX.js";
32
+ } from "./chunk-APU42QDI.js";
20
33
  import {
21
34
  SessionRoute
22
- } from "./chunk-QIYBOFUV.js";
35
+ } from "./chunk-Q35DT6I6.js";
23
36
  import {
24
37
  RailProvider
25
- } from "./chunk-PFKTGZKE.js";
38
+ } from "./chunk-UP4BE32Y.js";
26
39
  import {
27
40
  parseSessionSearchRoute
28
41
  } from "./chunk-TXIIBNCA.js";
@@ -38,23 +51,10 @@ import {
38
51
  import {
39
52
  parseComposerLaunchSearch
40
53
  } from "./chunk-NNW56DDV.js";
41
- import {
42
- WorkspaceTenantBoundary
43
- } from "./chunk-EWEYOWDD.js";
44
- import {
45
- Toaster
46
- } from "./chunk-UYEOTEKB.js";
47
- import {
48
- AppearanceProvider,
49
- useAppearance
50
- } from "./chunk-ZNMN42KW.js";
51
54
  import {
52
55
  LoadingPanel,
53
56
  ProblemPanel
54
57
  } from "./chunk-G46333YC.js";
55
- import {
56
- CreditRequiredGate
57
- } from "./chunk-4246UYVG.js";
58
58
  import {
59
59
  apiErrorFromResponseBody
60
60
  } from "./chunk-L5HJ4UYB.js";
@@ -64,7 +64,7 @@ import {
64
64
  import {
65
65
  createSlackLinkPrepareController,
66
66
  useAppState
67
- } from "./chunk-324X6T6G.js";
67
+ } from "./chunk-RGW24ZZM.js";
68
68
  import {
69
69
  authorizedWorkspaceFromList
70
70
  } from "./chunk-IOKSNX74.js";
@@ -90,7 +90,7 @@ import {
90
90
  } from "./chunk-XWWXIZFP.js";
91
91
  import {
92
92
  SecretsUiProvider
93
- } from "./chunk-LQKKSUCR.js";
93
+ } from "./chunk-R63QEVPK.js";
94
94
  import {
95
95
  PortalContainerProvider
96
96
  } from "./chunk-J3BHDXQQ.js";
@@ -385,4 +385,4 @@ function SessionAppForWorkspace(props) {
385
385
  export {
386
386
  SessionApp
387
387
  };
388
- //# sourceMappingURL=chunk-YXIW7H4N.js.map
388
+ //# sourceMappingURL=chunk-S4EZ3JUB.js.map
@@ -0,0 +1,204 @@
1
+ "use client";
2
+ import {
3
+ useAttachedChrome
4
+ } from "./chunk-EF5SYXAY.js";
5
+ import {
6
+ ConnectMachineDialog
7
+ } from "./chunk-NYZQ7LO7.js";
8
+ import {
9
+ useDesktopThisComputer
10
+ } from "./chunk-VVCDB2T7.js";
11
+ import {
12
+ useWorkspaceMachines
13
+ } from "./chunk-722UO6YQ.js";
14
+ import {
15
+ useAppApi
16
+ } from "./chunk-L5HJ4UYB.js";
17
+ import {
18
+ t
19
+ } from "./chunk-HPPKLBTJ.js";
20
+ import {
21
+ hasWorkspacePermission
22
+ } from "./chunk-FIDD34ZF.js";
23
+ import {
24
+ userErrorText
25
+ } from "./chunk-L4OF77LE.js";
26
+ import {
27
+ useAppContext
28
+ } from "./chunk-W6KAUGXO.js";
29
+ import {
30
+ Notice
31
+ } from "./chunk-WLEDGIVS.js";
32
+ import {
33
+ Button
34
+ } from "./chunk-HMU5IELG.js";
35
+ import {
36
+ isMachineComputeSelectable
37
+ } from "./chunk-CPLCSM6K.js";
38
+ import {
39
+ MACHINES_SESSION_POLL_MS
40
+ } from "./chunk-HT5WSUC7.js";
41
+ import {
42
+ SessionCapabilityFrame
43
+ } from "./chunk-HRJQAFKR.js";
44
+ import {
45
+ thisComputerNeedsPermissions,
46
+ thisComputerReady
47
+ } from "./chunk-SQGXMHJO.js";
48
+ import {
49
+ machineDisplayName
50
+ } from "./chunk-BOG2FED3.js";
51
+
52
+ // src/app/components/capabilities/session-chrome-card.tsx
53
+ import { OPENGENI_BROWSER_EXTENSION_URL } from "@opengeni/contracts";
54
+ import { OpenGeniApiError } from "@opengeni/sdk";
55
+ import { useEffect, useRef, useState } from "react";
56
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
57
+ var WATCH_POLL_MS = 3e3;
58
+ var CHROME_CONNECTED_MESSAGE = "Chrome is connected. Continue.";
59
+ var CHROME_CARD_LOGO = "data:image/svg+xml;utf8," + encodeURIComponent(
60
+ '<svg xmlns="http://www.w3.org/2000/svg" viewBox="-2 -2 28 28" fill="none" stroke="#71717a" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><path d="M 12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"/><path d="M2 12h20"/></svg>'
61
+ );
62
+ function SessionChromeCapabilityCard({
63
+ item,
64
+ workspaceId,
65
+ sessionId,
66
+ sendContext
67
+ }) {
68
+ const context = useAppContext();
69
+ const { apiBaseUrl } = useAppApi();
70
+ const accessKnown = context.accessContext !== null && context.accessContext !== void 0;
71
+ const canMessage = !accessKnown || hasWorkspacePermission(context.accessContext, workspaceId, "sessions:control");
72
+ const [setupOpen, setSetupOpen] = useState(false);
73
+ const [sending, setSending] = useState(false);
74
+ const [sent, setSent] = useState(false);
75
+ const [sendError, setSendError] = useState(null);
76
+ const cardRef = useRef(null);
77
+ const opener = useRef(null);
78
+ const fleet = useWorkspaceMachines({
79
+ workspaceId,
80
+ sessionId,
81
+ pollIntervalMs: setupOpen ? WATCH_POLL_MS : MACHINES_SESSION_POLL_MS
82
+ });
83
+ const unavailableOnDeployment = fleet.error instanceof OpenGeniApiError && fleet.error.status === 404;
84
+ const computer = fleet.machines.find(
85
+ (machine) => !machine.isSessionGroup && machine.enrollmentId && machine.hasDisplay && isMachineComputeSelectable(machine.state)
86
+ ) ?? null;
87
+ const chrome = useAttachedChrome(workspaceId, "any", computer?.sandboxId ?? null);
88
+ const [sawMissing, setSawMissing] = useState(false);
89
+ useEffect(() => {
90
+ if (chrome.checked && chrome.connected === null) setSawMissing(true);
91
+ }, [chrome.checked, chrome.connected]);
92
+ const desktop = useDesktopThisComputer();
93
+ const offerThisComputer = computer === null && desktop !== null && desktop.computer.status !== null && desktop.computer.status.state !== "unavailable" && !thisComputerReady(desktop.computer.status) && !unavailableOnDeployment;
94
+ const origin = apiBaseUrl || (typeof window !== "undefined" ? window.location.origin : "");
95
+ const computerName = computer ? machineDisplayName(t, computer) : "";
96
+ const chat = sendContext?.() ?? { blocked: null, awaitingHuman: false, extras: {} };
97
+ const canContinue = canMessage && sawMissing && !chat.awaitingHuman && !sent;
98
+ const sendContinue = async () => {
99
+ if (sending || !canContinue) return;
100
+ const current = sendContext?.() ?? chat;
101
+ if (current.blocked) {
102
+ setSendError(current.blocked);
103
+ return;
104
+ }
105
+ setSending(true);
106
+ setSendError(null);
107
+ try {
108
+ await context.client.sendMessage(workspaceId, sessionId, {
109
+ text: CHROME_CONNECTED_MESSAGE,
110
+ ...current.extras,
111
+ clientEventId: crypto.randomUUID()
112
+ });
113
+ setSent(true);
114
+ } catch (failure) {
115
+ setSendError(userErrorText(failure, "Try again."));
116
+ } finally {
117
+ setSending(false);
118
+ }
119
+ };
120
+ const step = computer ? "extension" : "computer";
121
+ const actionUnavailable = unavailableOnDeployment ? "Connected Machines aren't available on this deployment." : step === "computer" && !offerThisComputer && !fleet.canRead ? "You don't have access to this workspace's machines." : step === "computer" && !offerThisComputer && !fleet.canManage ? "Ask a workspace admin to connect a computer." : null;
122
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
123
+ /* @__PURE__ */ jsx(
124
+ SessionCapabilityFrame,
125
+ {
126
+ name: "Chrome",
127
+ subtitle: "Opengeni Browser extension",
128
+ logo: CHROME_CARD_LOGO,
129
+ typeLabel: "Browser",
130
+ description: step === "extension" ? `Add the extension to Chrome on ${computerName}.` : `${item.capability?.rationale ?? "Connect your Chrome so the agent can use it."} First connect a computer, then add the extension.`,
131
+ skill: false,
132
+ expanded: false,
133
+ complete: chrome.connected !== null,
134
+ completeLabel: chrome.connected ? sent ? `Chrome is connected (${chrome.connected.name}). The agent continues.` : `Chrome is connected (${chrome.connected.name}).` : void 0,
135
+ actionLabel: step === "extension" ? "Add to Chrome" : offerThisComputer ? desktop.computer.acting ? "Connecting\u2026" : "Use this computer" : "Connect a computer",
136
+ busy: step === "computer" && offerThisComputer && desktop.computer.acting,
137
+ actionUnavailable,
138
+ opensDialog: step === "computer" && !offerThisComputer,
139
+ note: step === "extension" && chrome.watching ? "Waiting for Chrome to connect\u2026" : "",
140
+ onOpen: () => {
141
+ if (step === "extension") {
142
+ window.open(OPENGENI_BROWSER_EXTENSION_URL, "_blank", "noopener,noreferrer");
143
+ chrome.watch();
144
+ return;
145
+ }
146
+ if (!offerThisComputer) return setSetupOpen(true);
147
+ if (desktop.computer.acting) return;
148
+ if (thisComputerNeedsPermissions(desktop.computer.status)) return desktop.openSetup();
149
+ void (desktop.computer.status?.state === "paused" ? desktop.computer.resume().then(() => desktop.computer.status) : desktop.computer.connect({ screenControl: false })).then((next) => {
150
+ if (thisComputerNeedsPermissions(next)) desktop.openSetup();
151
+ void fleet.refresh();
152
+ });
153
+ },
154
+ onClose: () => setSetupOpen(false),
155
+ opener,
156
+ cardRef,
157
+ details: chrome.connected && (canContinue || sendError) ? /* @__PURE__ */ jsxs(
158
+ "div",
159
+ {
160
+ "data-slot": "chrome-continue",
161
+ className: "space-y-2 border-t border-border px-[19px] pt-3 pb-4 max-[480px]:px-3.5",
162
+ children: [
163
+ sendError ? /* @__PURE__ */ jsx(Notice, { tone: "failed", live: "assertive", className: "text-xs", children: `Couldn't send. ${sendError}` }) : null,
164
+ canContinue ? /* @__PURE__ */ jsx(
165
+ Button,
166
+ {
167
+ type: "button",
168
+ size: "sm",
169
+ className: "rounded-[10px] pointer-coarse:h-11",
170
+ "aria-disabled": sending || void 0,
171
+ onClick: () => void sendContinue(),
172
+ children: sending ? "Sending\u2026" : "Continue"
173
+ }
174
+ ) : null
175
+ ]
176
+ }
177
+ ) : null
178
+ }
179
+ ),
180
+ fleet.canManage && !unavailableOnDeployment ? /* @__PURE__ */ jsx(
181
+ ConnectMachineDialog,
182
+ {
183
+ open: setupOpen,
184
+ onOpenChange: (open) => {
185
+ if (!open) setSetupOpen(false);
186
+ },
187
+ workspaceId,
188
+ sessionId,
189
+ origin,
190
+ machines: fleet.machines,
191
+ machinesLoading: fleet.loading,
192
+ machinesError: fleet.error,
193
+ personalWorkspace: context.workspaces?.find((workspace) => workspace.id === workspaceId)?.kind === "personal",
194
+ defaultScope: "user"
195
+ }
196
+ ) : null
197
+ ] });
198
+ }
199
+
200
+ export {
201
+ CHROME_CONNECTED_MESSAGE,
202
+ SessionChromeCapabilityCard
203
+ };
204
+ //# sourceMappingURL=chunk-ST22GONV.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/app/components/capabilities/session-chrome-card.tsx"],"sourcesContent":["import { t } from \"../../lib/console-text\";\nimport type { AuthNeededItem } from \"../../../timeline\";\nimport { MACHINES_SESSION_POLL_MS } from \"../../../machines\";\nimport { machineDisplayName } from \"../../../sandbox-label-model\";\nimport { OPENGENI_BROWSER_EXTENSION_URL } from \"@opengeni/contracts\";\nimport { OpenGeniApiError } from \"@opengeni/sdk\";\nimport { useEffect, useRef, useState } from \"react\";\n\nimport { useAppApi } from \"../../lib/app-api\";\nimport { ConnectMachineDialog } from \"../machines/connect-machine-dialog\";\nimport { Button } from \"../../../ui/button\";\nimport { Notice } from \"../../../ui/notice\";\nimport { useAppContext } from \"../../app-context\";\nimport { userErrorText } from \"../../../ui/api-error\";\nimport { isMachineComputeSelectable } from \"../../lib/machine-selectability\";\nimport { useDesktopThisComputer } from \"../desktop/this-computer\";\nimport { hasWorkspacePermission } from \"../../lib/permissions\";\nimport { useWorkspaceMachines } from \"../../lib/use-workspace-machines\";\nimport { thisComputerReady, thisComputerNeedsPermissions } from \"../../../this-computer\";\nimport { SessionCapabilityFrame } from \"../../../components/session-capability-frame\";\nimport type { ChatSendContext } from \"./session-github-repositories\";\nimport { useAttachedChrome } from \"./session-machine-card\";\n\n/** While the connect dialog is open, look for the new machine every few seconds. */\nconst WATCH_POLL_MS = 3_000;\n\n/** What the person's message says when they continue after connecting Chrome. */\nexport const CHROME_CONNECTED_MESSAGE = \"Chrome is connected. Continue.\";\n\n/** A neutral browser mark for the card (the frame renders logos as images). */\nconst CHROME_CARD_LOGO =\n \"data:image/svg+xml;utf8,\" +\n encodeURIComponent(\n '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"-2 -2 28 28\" fill=\"none\" stroke=\"#71717a\" stroke-width=\"1.75\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"10\"/><path d=\"M 12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20\"/><path d=\"M2 12h20\"/></svg>',\n );\n\nexport type SessionChromeCapabilityCardProps = {\n item: AuthNeededItem;\n workspaceId: string;\n sessionId: string;\n /** What a composer Send would carry now, so Continue follows the same rules. */\n sendContext?: (() => ChatSendContext) | undefined;\n};\n\n/**\n * The card a browser tool posts when the agent needs the person's own Chrome and\n * none is connected. It shows one next step at a time: connect a computer, then\n * add the Opengeni Browser extension there. Once Chrome links up, Continue tells\n * the agent to go on.\n */\nexport function SessionChromeCapabilityCard({\n item,\n workspaceId,\n sessionId,\n sendContext,\n}: SessionChromeCapabilityCardProps) {\n const context = useAppContext();\n const { apiBaseUrl } = useAppApi();\n const accessKnown = context.accessContext !== null && context.accessContext !== undefined;\n const canMessage =\n !accessKnown || hasWorkspacePermission(context.accessContext, workspaceId, \"sessions:control\");\n const [setupOpen, setSetupOpen] = useState(false);\n const [sending, setSending] = useState(false);\n const [sent, setSent] = useState(false);\n const [sendError, setSendError] = useState<string | null>(null);\n const cardRef = useRef<HTMLElement>(null);\n const opener = useRef<HTMLButtonElement>(null);\n\n const fleet = useWorkspaceMachines({\n workspaceId,\n sessionId,\n pollIntervalMs: setupOpen ? WATCH_POLL_MS : MACHINES_SESSION_POLL_MS,\n });\n const unavailableOnDeployment =\n fleet.error instanceof OpenGeniApiError && fleet.error.status === 404;\n // Chrome runs on a computer with a screen that is online now.\n const computer =\n fleet.machines.find(\n (machine) =>\n !machine.isSessionGroup &&\n machine.enrollmentId &&\n machine.hasDisplay &&\n isMachineComputeSelectable(machine.state),\n ) ?? null;\n // Read again when a computer comes online: its Chrome may already have the\n // extension, so the card can skip straight to Continue.\n const chrome = useAttachedChrome(workspaceId, \"any\", computer?.sandboxId ?? null);\n // Continue is offered only after this card saw Chrome missing, so an old card,\n // or one reloaded after Chrome connected, never sends a stray message.\n const [sawMissing, setSawMissing] = useState(false);\n useEffect(() => {\n if (chrome.checked && chrome.connected === null) setSawMissing(true);\n }, [chrome.checked, chrome.connected]);\n const desktop = useDesktopThisComputer();\n const offerThisComputer =\n computer === null &&\n desktop !== null &&\n desktop.computer.status !== null &&\n desktop.computer.status.state !== \"unavailable\" &&\n !thisComputerReady(desktop.computer.status) &&\n !unavailableOnDeployment;\n const origin = apiBaseUrl || (typeof window !== \"undefined\" ? window.location.origin : \"\");\n const computerName = computer ? machineDisplayName(t, computer) : \"\";\n\n const chat = sendContext?.() ?? { blocked: null, awaitingHuman: false, extras: {} };\n const canContinue = canMessage && sawMissing && !chat.awaitingHuman && !sent;\n const sendContinue = async () => {\n if (sending || !canContinue) return;\n const current = sendContext?.() ?? chat;\n if (current.blocked) {\n setSendError(current.blocked);\n return;\n }\n setSending(true);\n setSendError(null);\n try {\n await context.client.sendMessage(workspaceId, sessionId, {\n text: CHROME_CONNECTED_MESSAGE,\n ...current.extras,\n clientEventId: crypto.randomUUID(),\n });\n setSent(true);\n } catch (failure) {\n setSendError(userErrorText(failure, \"Try again.\"));\n } finally {\n setSending(false);\n }\n };\n\n // One clear next step: connect a computer, then add the extension there.\n const step: \"computer\" | \"extension\" = computer ? \"extension\" : \"computer\";\n const actionUnavailable = unavailableOnDeployment\n ? \"Connected Machines aren't available on this deployment.\"\n : step === \"computer\" && !offerThisComputer && !fleet.canRead\n ? \"You don't have access to this workspace's machines.\"\n : step === \"computer\" && !offerThisComputer && !fleet.canManage\n ? \"Ask a workspace admin to connect a computer.\"\n : null;\n\n return (\n <>\n <SessionCapabilityFrame\n name=\"Chrome\"\n subtitle=\"Opengeni Browser extension\"\n logo={CHROME_CARD_LOGO}\n typeLabel=\"Browser\"\n description={\n step === \"extension\"\n ? `Add the extension to Chrome on ${computerName}.`\n : `${item.capability?.rationale ?? \"Connect your Chrome so the agent can use it.\"} First connect a computer, then add the extension.`\n }\n skill={false}\n expanded={false}\n complete={chrome.connected !== null}\n completeLabel={\n chrome.connected\n ? sent\n ? `Chrome is connected (${chrome.connected.name}). The agent continues.`\n : `Chrome is connected (${chrome.connected.name}).`\n : undefined\n }\n actionLabel={\n step === \"extension\"\n ? \"Add to Chrome\"\n : offerThisComputer\n ? desktop.computer.acting\n ? \"Connecting…\"\n : \"Use this computer\"\n : \"Connect a computer\"\n }\n busy={step === \"computer\" && offerThisComputer && desktop.computer.acting}\n actionUnavailable={actionUnavailable}\n opensDialog={step === \"computer\" && !offerThisComputer}\n note={step === \"extension\" && chrome.watching ? \"Waiting for Chrome to connect…\" : \"\"}\n onOpen={() => {\n if (step === \"extension\") {\n window.open(OPENGENI_BROWSER_EXTENSION_URL, \"_blank\", \"noopener,noreferrer\");\n chrome.watch();\n return;\n }\n if (!offerThisComputer) return setSetupOpen(true);\n if (desktop.computer.acting) return;\n if (thisComputerNeedsPermissions(desktop.computer.status)) return desktop.openSetup();\n void (\n desktop.computer.status?.state === \"paused\"\n ? desktop.computer.resume().then(() => desktop.computer.status)\n : desktop.computer.connect({ screenControl: false })\n ).then((next) => {\n if (thisComputerNeedsPermissions(next)) desktop.openSetup();\n void fleet.refresh();\n });\n }}\n onClose={() => setSetupOpen(false)}\n opener={opener}\n cardRef={cardRef}\n details={\n chrome.connected && (canContinue || sendError) ? (\n <div\n data-slot=\"chrome-continue\"\n className=\"space-y-2 border-t border-border px-[19px] pt-3 pb-4 max-[480px]:px-3.5\"\n >\n {sendError ? (\n <Notice tone=\"failed\" live=\"assertive\" className=\"text-xs\">\n {`Couldn't send. ${sendError}`}\n </Notice>\n ) : null}\n {canContinue ? (\n <Button\n type=\"button\"\n size=\"sm\"\n className=\"rounded-[10px] pointer-coarse:h-11\"\n aria-disabled={sending || undefined}\n onClick={() => void sendContinue()}\n >\n {sending ? \"Sending…\" : \"Continue\"}\n </Button>\n ) : null}\n </div>\n ) : null\n }\n />\n {fleet.canManage && !unavailableOnDeployment ? (\n <ConnectMachineDialog\n open={setupOpen}\n onOpenChange={(open) => {\n if (!open) setSetupOpen(false);\n }}\n workspaceId={workspaceId}\n sessionId={sessionId}\n origin={origin}\n machines={fleet.machines}\n machinesLoading={fleet.loading}\n machinesError={fleet.error}\n personalWorkspace={\n context.workspaces?.find((workspace) => workspace.id === workspaceId)?.kind ===\n \"personal\"\n }\n defaultScope=\"user\"\n />\n ) : null}\n </>\n );\n}\n"],"mappings":"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","names":[]}
@@ -1,13 +1,13 @@
1
1
  "use client";
2
2
  import {
3
3
  SearchMarkdown
4
- } from "./chunk-VRGOOVDB.js";
4
+ } from "./chunk-4EONHNJU.js";
5
5
  import {
6
6
  SearchText
7
7
  } from "./chunk-72VDQKH4.js";
8
8
  import {
9
9
  MarkdownText
10
- } from "./chunk-YTZQV2DD.js";
10
+ } from "./chunk-YXOKAG66.js";
11
11
  import {
12
12
  cn
13
13
  } from "./chunk-A3MTTRCX.js";
@@ -266,4 +266,4 @@ export {
266
266
  SearchResultsView,
267
267
  SearchPreviewView
268
268
  };
269
- //# sourceMappingURL=chunk-NEVRLD77.js.map
269
+ //# sourceMappingURL=chunk-SUVEDKE2.js.map
@@ -1,11 +1,11 @@
1
1
  "use client";
2
+ import {
3
+ openGeniGroupPresentation
4
+ } from "./chunk-HGMWMK5K.js";
2
5
  import {
3
6
  capabilityGroupSelection,
4
7
  sessionCapabilityGroupsFor
5
8
  } from "./chunk-4NTPH5M6.js";
6
- import {
7
- openGeniGroupPresentation
8
- } from "./chunk-HGMWMK5K.js";
9
9
  import {
10
10
  cn
11
11
  } from "./chunk-A3MTTRCX.js";
@@ -175,4 +175,4 @@ export {
175
175
  sessionToolSelectionSummary,
176
176
  SessionToolPicker
177
177
  };
178
- //# sourceMappingURL=chunk-GIZGNFIX.js.map
178
+ //# sourceMappingURL=chunk-TGVVEGZG.js.map
@@ -5,7 +5,7 @@ import {
5
5
  } from "./chunk-LT2CPZRB.js";
6
6
  import {
7
7
  MarkdownText
8
- } from "./chunk-YTZQV2DD.js";
8
+ } from "./chunk-YXOKAG66.js";
9
9
  import {
10
10
  formatTimestamp
11
11
  } from "./chunk-5TLEWXAB.js";
@@ -14,7 +14,7 @@ import {
14
14
  } from "./chunk-HMU5IELG.js";
15
15
  import {
16
16
  UserMessageBody
17
- } from "./chunk-RKILMLA7.js";
17
+ } from "./chunk-L7YURQI2.js";
18
18
 
19
19
  // src/app/components/session/banners.tsx
20
20
  import { AlertTriangleIcon, ArrowLeftIcon, AudioLinesIcon, TerminalIcon } from "lucide-react";
@@ -109,4 +109,4 @@ export {
109
109
  TerminalSessionArchive,
110
110
  UserMessageBody2 as UserMessageBody
111
111
  };
112
- //# sourceMappingURL=chunk-G3S2F35T.js.map
112
+ //# sourceMappingURL=chunk-U36PO27Q.js.map
@@ -11,13 +11,13 @@ import {
11
11
  } from "./chunk-3AA6RNGE.js";
12
12
  import {
13
13
  PierreDiff
14
- } from "./chunk-CKZW7A5S.js";
14
+ } from "./chunk-X7L4H4VG.js";
15
15
  import {
16
16
  useThemeType
17
17
  } from "./chunk-B27E3V37.js";
18
18
  import {
19
19
  useTurnlessOutputGap
20
- } from "./chunk-Q4NM77K7.js";
20
+ } from "./chunk-4W7VISE7.js";
21
21
  import {
22
22
  invalidateSharedQueries,
23
23
  useSharedQuery
@@ -4289,4 +4289,4 @@ export {
4289
4289
  modelVendor,
4290
4290
  parseOpenGeniLink
4291
4291
  };
4292
- //# sourceMappingURL=chunk-DSGMYES6.js.map
4292
+ //# sourceMappingURL=chunk-U3HSFCON.js.map
@@ -5,12 +5,12 @@ import {
5
5
  import {
6
6
  workspaceManagementLocation
7
7
  } from "./chunk-3RWVKGQM.js";
8
- import {
9
- requestCreateComposerFocus
10
- } from "./chunk-HQA6FUM5.js";
11
8
  import {
12
9
  useUiEventTarget
13
10
  } from "./chunk-WGPLDFEC.js";
11
+ import {
12
+ requestCreateComposerFocus
13
+ } from "./chunk-HQA6FUM5.js";
14
14
  import {
15
15
  desktopBridge,
16
16
  desktopCapability
@@ -333,4 +333,4 @@ export {
333
333
  useRail,
334
334
  RailProvider
335
335
  };
336
- //# sourceMappingURL=chunk-PFKTGZKE.js.map
336
+ //# sourceMappingURL=chunk-UP4BE32Y.js.map
@@ -17,7 +17,7 @@ import {
17
17
  ListRow,
18
18
  ListRowSkeleton,
19
19
  RowList
20
- } from "./chunk-MM7OKOTE.js";
20
+ } from "./chunk-NWZW2WHN.js";
21
21
  import {
22
22
  clearGitHubInstallRequest,
23
23
  readGitHubInstallRequest,
@@ -25,7 +25,7 @@ import {
25
25
  } from "./chunk-PVNI2KHS.js";
26
26
  import {
27
27
  capabilityLogoSource
28
- } from "./chunk-QECZVL7S.js";
28
+ } from "./chunk-ZRJCGBVV.js";
29
29
  import {
30
30
  cn
31
31
  } from "./chunk-A3MTTRCX.js";
@@ -740,4 +740,4 @@ function repositoryGroups(rows, accountLabel) {
740
740
  export {
741
741
  SessionGitHubCapabilityCard
742
742
  };
743
- //# sourceMappingURL=chunk-H6WWEKEV.js.map
743
+ //# sourceMappingURL=chunk-VP62LPLW.js.map
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import {
3
3
  capabilityLogoSource
4
- } from "./chunk-QECZVL7S.js";
4
+ } from "./chunk-ZRJCGBVV.js";
5
5
  import {
6
6
  connectionHealth
7
7
  } from "./chunk-22NENBA3.js";
@@ -96,4 +96,4 @@ export {
96
96
  followWorkspaceConnectorPolicy,
97
97
  newSessionConnectorCustomizeState
98
98
  };
99
- //# sourceMappingURL=chunk-E5FCEDMU.js.map
99
+ //# sourceMappingURL=chunk-X7ASQHR6.js.map
@@ -15,7 +15,7 @@ import {
15
15
  learningRefusalPlaceLabel,
16
16
  learningRefusalTitle,
17
17
  presentTurnFailureText
18
- } from "./chunk-VU2EWALC.js";
18
+ } from "./chunk-5MZTJMZ3.js";
19
19
  import {
20
20
  ActivityDisclosure,
21
21
  BodyNote,
@@ -34,7 +34,7 @@ import {
34
34
  ToolOutputPreviewProvider,
35
35
  useForcedDefaultOpen,
36
36
  useTimelineSearchReveal
37
- } from "./chunk-LQKKSUCR.js";
37
+ } from "./chunk-R63QEVPK.js";
38
38
  import {
39
39
  useToolDetails
40
40
  } from "./chunk-RZLBICR5.js";
@@ -4050,4 +4050,4 @@ export {
4050
4050
  LearningRefusalActionsProvider,
4051
4051
  LearningRefusalRow
4052
4052
  };
4053
- //# sourceMappingURL=chunk-CKZW7A5S.js.map
4053
+ //# sourceMappingURL=chunk-X7L4H4VG.js.map
@@ -1,7 +1,4 @@
1
1
  "use client";
2
- import {
3
- sessionHoverFacts
4
- } from "./chunk-HOJGAJAB.js";
5
2
  import {
6
3
  modelDisplayName
7
4
  } from "./chunk-7Y3ZFM5U.js";
@@ -12,6 +9,9 @@ import {
12
9
  creatorInitials,
13
10
  creatorLabel
14
11
  } from "./chunk-KJJBQ3KV.js";
12
+ import {
13
+ sessionHoverFacts
14
+ } from "./chunk-HOJGAJAB.js";
15
15
  import {
16
16
  cn
17
17
  } from "./chunk-A3MTTRCX.js";
@@ -155,4 +155,4 @@ function SessionRowHoverDetails({
155
155
  export {
156
156
  SessionRowHoverDetails
157
157
  };
158
- //# sourceMappingURL=chunk-TZD3U2S5.js.map
158
+ //# sourceMappingURL=chunk-XOFUXMPP.js.map
@@ -7,7 +7,7 @@ import {
7
7
  } from "./chunk-A3MTTRCX.js";
8
8
  import {
9
9
  Markdown
10
- } from "./chunk-LQKKSUCR.js";
10
+ } from "./chunk-R63QEVPK.js";
11
11
 
12
12
  // src/app/components/markdown.tsx
13
13
  import { jsx } from "react/jsx-runtime";
@@ -44,4 +44,4 @@ function MarkdownText({
44
44
  export {
45
45
  MarkdownText
46
46
  };
47
- //# sourceMappingURL=chunk-YTZQV2DD.js.map
47
+ //# sourceMappingURL=chunk-YXOKAG66.js.map
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import {
3
3
  capabilityLogoFallback
4
- } from "./chunk-DFZMKCVP.js";
4
+ } from "./chunk-4432A3HQ.js";
5
5
 
6
6
  // src/app/components/capabilities/capability-logo-source.tsx
7
7
  var FIRST_PARTY_CAPABILITY_LOGOS = {
@@ -21,4 +21,4 @@ export {
21
21
  FIRST_PARTY_CAPABILITY_LOGOS,
22
22
  capabilityLogoSource
23
23
  };
24
- //# sourceMappingURL=chunk-QECZVL7S.js.map
24
+ //# sourceMappingURL=chunk-ZRJCGBVV.js.map
package/dist/composer.js CHANGED
@@ -49,6 +49,7 @@ import "./chunk-GNEHAPKV.js";
49
49
  import {
50
50
  defaultChatComposerMessages
51
51
  } from "./chunk-7RRMTSCI.js";
52
+ import "./chunk-6F34IWSA.js";
52
53
  import {
53
54
  BillingClassMark,
54
55
  ModelPolicyPicker,
@@ -59,7 +60,6 @@ import {
59
60
  import "./chunk-PNNTR6KP.js";
60
61
  import "./chunk-WJPMYXKZ.js";
61
62
  import "./chunk-VYT4POBH.js";
62
- import "./chunk-6F34IWSA.js";
63
63
  import {
64
64
  defaultModelPolicyPickerMessages
65
65
  } from "./chunk-IQ64BNAG.js";
package/dist/connect.js CHANGED
@@ -21,7 +21,7 @@ import {
21
21
  SkillDiscovery,
22
22
  capabilityLogoFallback,
23
23
  isOwnerApprovalPending
24
- } from "./chunk-DFZMKCVP.js";
24
+ } from "./chunk-4432A3HQ.js";
25
25
  import "./chunk-M357MHH3.js";
26
26
  import {
27
27
  McpConnectionCard,
@@ -29,10 +29,10 @@ import {
29
29
  } from "./chunk-L6RXRRN3.js";
30
30
  import "./chunk-CUUJROYT.js";
31
31
  import "./chunk-HRJQAFKR.js";
32
- import "./chunk-LQKKSUCR.js";
32
+ import "./chunk-R63QEVPK.js";
33
33
  import "./chunk-OYQQJL3J.js";
34
- import "./chunk-RZLBICR5.js";
35
34
  import "./chunk-H3LIIAGE.js";
35
+ import "./chunk-RZLBICR5.js";
36
36
  import "./chunk-VHB3E6PT.js";
37
37
  import "./chunk-DNJ23AWQ.js";
38
38
  import "./chunk-OB3YGXHQ.js";
@@ -1,13 +1,13 @@
1
1
  "use client";
2
2
  import {
3
3
  NewSessionRealtimeControl
4
- } from "./chunk-EDFJBX3V.js";
4
+ } from "./chunk-4VKA5O7T.js";
5
5
  import "./chunk-HIHO2QE7.js";
6
+ import "./chunk-6F34IWSA.js";
6
7
  import "./chunk-AG7VGUIW.js";
7
8
  import "./chunk-PNNTR6KP.js";
8
9
  import "./chunk-WJPMYXKZ.js";
9
10
  import "./chunk-VYT4POBH.js";
10
- import "./chunk-6F34IWSA.js";
11
11
  import "./chunk-IQ64BNAG.js";
12
12
  import "./chunk-J3BHDXQQ.js";
13
13
  import "./chunk-CFEFYPNR.js";
@@ -19,4 +19,4 @@ import "./chunk-5JZYPZ72.js";
19
19
  export {
20
20
  NewSessionRealtimeControl as default
21
21
  };
22
- //# sourceMappingURL=embedded-new-voice-5PYRDZ6T.js.map
22
+ //# sourceMappingURL=embedded-new-voice-LFHWWYD2.js.map
@@ -1,13 +1,13 @@
1
1
  "use client";
2
2
  import {
3
3
  SessionRealtimeControl
4
- } from "./chunk-EDFJBX3V.js";
4
+ } from "./chunk-4VKA5O7T.js";
5
5
  import "./chunk-HIHO2QE7.js";
6
+ import "./chunk-6F34IWSA.js";
6
7
  import "./chunk-AG7VGUIW.js";
7
8
  import "./chunk-PNNTR6KP.js";
8
9
  import "./chunk-WJPMYXKZ.js";
9
10
  import "./chunk-VYT4POBH.js";
10
- import "./chunk-6F34IWSA.js";
11
11
  import "./chunk-IQ64BNAG.js";
12
12
  import "./chunk-J3BHDXQQ.js";
13
13
  import "./chunk-CFEFYPNR.js";
@@ -19,4 +19,4 @@ import "./chunk-5JZYPZ72.js";
19
19
  export {
20
20
  SessionRealtimeControl as default
21
21
  };
22
- //# sourceMappingURL=embedded-voice-PABC5NBD.js.map
22
+ //# sourceMappingURL=embedded-voice-6QS4ANNX.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}