@opengeni/react 6.5.2-canary.41607687019001 → 6.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1154) hide show
  1. package/dist/app/app-state.d.ts +4 -0
  2. package/dist/app/app-state.js +19 -14
  3. package/dist/app/components/Composer.js +25 -23
  4. package/dist/app/components/agent/agent-capability-picker.js +10 -8
  5. package/dist/app/components/artifacts/artifact-browse-controls.js +4 -4
  6. package/dist/app/components/artifacts/artifact-library.js +21 -19
  7. package/dist/app/components/artifacts/artifact-page-chrome.js +3 -3
  8. package/dist/app/components/artifacts/artifact-viewer.js +23 -22
  9. package/dist/app/components/artifacts/artifact-viewer.js.map +1 -1
  10. package/dist/app/components/artifacts/chat-interactive-block.js +12 -12
  11. package/dist/app/components/artifacts/copy-artifact-link.js +7 -5
  12. package/dist/app/components/artifacts/file-reach-dialog.js +11 -9
  13. package/dist/app/components/artifacts/inline-chat-image.js +18 -18
  14. package/dist/app/components/artifacts/retained-file-preview.js +24 -23
  15. package/dist/app/components/artifacts/retained-text-preview.js +3 -3
  16. package/dist/app/components/artifacts/site-audience.js +6 -5
  17. package/dist/app/components/artifacts/site-conversations.js +16 -14
  18. package/dist/app/components/artifacts/site-data.js +18 -16
  19. package/dist/app/components/artifacts/site-public-link.js +3 -2
  20. package/dist/app/components/artifacts/site-publishing-page.js +39 -37
  21. package/dist/app/components/artifacts/site-publishing.js +34 -32
  22. package/dist/app/components/artifacts/site-settings.js +38 -36
  23. package/dist/app/components/artifacts/site-version-menu.js +8 -7
  24. package/dist/app/components/billing-class-mark.js +3 -3
  25. package/dist/app/components/bots/bot-launch-strip.js +17 -17
  26. package/dist/app/components/bots/bot-template-dialog.js +30 -28
  27. package/dist/app/components/bots/bot-template-shortcuts.js +19 -19
  28. package/dist/app/components/bots/bot-templates-page.js +38 -36
  29. package/dist/app/components/bots/bot-templates-page.js.map +1 -1
  30. package/dist/app/components/capabilities/capability-detail-sheet.js +13 -11
  31. package/dist/app/components/capabilities/capability-logo-source.js +13 -13
  32. package/dist/app/components/capabilities/capability-logo.js +4 -3
  33. package/dist/app/components/capabilities/connector-tool-permissions.js +8 -6
  34. package/dist/app/components/capabilities/native-connect-setup.js +14 -14
  35. package/dist/app/components/capabilities/own-logins-shared-heads-up.js +7 -6
  36. package/dist/app/components/capabilities/perform-capability-action.js +7 -6
  37. package/dist/app/components/capabilities/prepared-mcp-setup-card.js +17 -17
  38. package/dist/app/components/capabilities/session-capability-card.js +72 -70
  39. package/dist/app/components/capabilities/session-capability-card.js.map +1 -1
  40. package/dist/app/components/capabilities/session-chrome-card.js +28 -26
  41. package/dist/app/components/capabilities/session-connection-accounts.js +4 -3
  42. package/dist/app/components/capabilities/session-custom-mcp-card.js +20 -19
  43. package/dist/app/components/capabilities/session-github-card.js +22 -20
  44. package/dist/app/components/capabilities/session-machine-card.js +27 -25
  45. package/dist/app/components/capabilities/session-personal-github-card.js +16 -16
  46. package/dist/app/components/capabilities/session-plugin-card.js +10 -9
  47. package/dist/app/components/capabilities/use-capabilities-catalog.js +4 -3
  48. package/dist/app/components/capabilities/use-connection-accounts.js +5 -4
  49. package/dist/app/components/command-menu/chat-status.js +15 -13
  50. package/dist/app/components/command-menu/chat-switcher.js +35 -33
  51. package/dist/app/components/command-menu/chat-switcher.js.map +1 -1
  52. package/dist/app/components/command-menu/command-menu.js +53 -50
  53. package/dist/app/components/command-menu/command-menu.js.map +1 -1
  54. package/dist/app/components/command-menu/shortcut-sheet.js +18 -16
  55. package/dist/app/components/command-menu/shortcut-sheet.js.map +1 -1
  56. package/dist/app/components/common.js +4 -3
  57. package/dist/app/components/composer-capabilities-menu-body.js +4 -4
  58. package/dist/app/components/composer-mobile-plus-panel.js +8 -8
  59. package/dist/app/components/composer-mobile-plus.js +1 -1
  60. package/dist/app/components/credit-required-gate.js +3 -3
  61. package/dist/app/components/credit-required-prompt.js +10 -8
  62. package/dist/app/components/credit-required-prompt.js.map +1 -1
  63. package/dist/app/components/credits/checkout-credits-celebration.js +3 -2
  64. package/dist/app/components/credits/checkout-return.js +3 -2
  65. package/dist/app/components/credits/checkout-return.js.map +1 -1
  66. package/dist/app/components/credits/coupon-redeem.js +5 -4
  67. package/dist/app/components/credits/credit-refusal-notice.js +7 -5
  68. package/dist/app/components/cross-slot-deep-link-recovery.js +5 -4
  69. package/dist/app/components/desktop/app-shots.js +13 -11
  70. package/dist/app/components/desktop/computer-use.js +6 -4
  71. package/dist/app/components/desktop/this-computer.js +9 -7
  72. package/dist/app/components/feedback.js +5 -4
  73. package/dist/app/components/follow-up-repository-menu-body.js +8 -6
  74. package/dist/app/components/follow-up-repository-menu-body.js.map +1 -1
  75. package/dist/app/components/follow-up-repository-picker.js +1 -1
  76. package/dist/app/components/github-app-connect-launcher.js +5 -4
  77. package/dist/app/components/in-app-help-link.js +3 -3
  78. package/dist/app/components/knowledge/agent-learning-settings.js +3 -2
  79. package/dist/app/components/knowledge/agent-learning-settings.js.map +1 -1
  80. package/dist/app/components/machines/connect-machine-dialog.js +18 -16
  81. package/dist/app/components/manual-repository-editor.js +3 -2
  82. package/dist/app/components/markdown.js +6 -6
  83. package/dist/app/components/models/models-ui.js +12 -10
  84. package/dist/app/components/my-things.js +12 -10
  85. package/dist/app/components/my-things.js.map +1 -1
  86. package/dist/app/components/new-session-starters.js +3 -3
  87. package/dist/app/components/own-where-it-works.js +9 -7
  88. package/dist/app/components/personal-resource-attachment-surface.js +4 -4
  89. package/dist/app/components/pickers.js +5 -5
  90. package/dist/app/components/rail/channel-create-dialog.js +7 -5
  91. package/dist/app/components/rail/project-glyph.js +17 -17
  92. package/dist/app/components/rail/project-profile.js +31 -29
  93. package/dist/app/components/rail/rail-context.js +3 -3
  94. package/dist/app/components/rail/rail-sections.js +68 -66
  95. package/dist/app/components/rail/session-header.js +59 -57
  96. package/dist/app/components/rail/session-list.js +66 -64
  97. package/dist/app/components/rail/session-row-content.js +4 -4
  98. package/dist/app/components/rail/session-row-hover-details.js +14 -12
  99. package/dist/app/components/rail/session-shell.js +90 -88
  100. package/dist/app/components/rail/site-session-group-heading.js +8 -8
  101. package/dist/app/components/repository-picker.js +8 -6
  102. package/dist/app/components/secrets/session-secrets-panel.js +4 -3
  103. package/dist/app/components/secrets/vault-model.js +3 -2
  104. package/dist/app/components/session/agent-configuration-panel.js +25 -23
  105. package/dist/app/components/session/agent-configuration-panel.js.map +1 -1
  106. package/dist/app/components/session/artifact-link-boundary.js +3 -3
  107. package/dist/app/components/session/artifact-session-page.js +11 -9
  108. package/dist/app/components/session/banners.js +8 -8
  109. package/dist/app/components/session/codex-usage-notice.js +5 -3
  110. package/dist/app/components/session/console-new-conversation.js +42 -40
  111. package/dist/app/components/session/context-text-reader.js +3 -2
  112. package/dist/app/components/session/descendant-requests.js +39 -37
  113. package/dist/app/components/session/descendant-requests.js.map +1 -1
  114. package/dist/app/components/session/editable-artifacts-workspace.js +36 -34
  115. package/dist/app/components/session/editable-artifacts-workspace.js.map +1 -1
  116. package/dist/app/components/session/failed-session-banner.js +13 -11
  117. package/dist/app/components/session/failed-session-banner.js.map +1 -1
  118. package/dist/app/components/session/failure-recovery-boundary.js +3 -3
  119. package/dist/app/components/session/human-input-delegation-record.js +2 -2
  120. package/dist/app/components/session/human-input.js +33 -31
  121. package/dist/app/components/session/inspector.js +57 -55
  122. package/dist/app/components/session/inspector.js.map +1 -1
  123. package/dist/app/components/session/message-actions.js +5 -4
  124. package/dist/app/components/session/message-actions.js.map +1 -1
  125. package/dist/app/components/session/message-resource-attachments.js +12 -11
  126. package/dist/app/components/session/message-resource-attachments.js.map +1 -1
  127. package/dist/app/components/session/model-context-inspector.js +6 -4
  128. package/dist/app/components/session/model-recovery-notice.js +3 -3
  129. package/dist/app/components/session/new-session-settings-menu.js +11 -9
  130. package/dist/app/components/session/new-session-setup-strip.js +18 -18
  131. package/dist/app/components/session/sandbox-recovery-actions.js +3 -3
  132. package/dist/app/components/session/sandbox-switcher.js +10 -9
  133. package/dist/app/components/session/sandbox-workspace.js +47 -46
  134. package/dist/app/components/session/search-markdown-highlight.js +7 -7
  135. package/dist/app/components/session/search-results-view.js +8 -8
  136. package/dist/app/components/session/session-admin-access.js +13 -11
  137. package/dist/app/components/session/session-admission-notice.js +7 -5
  138. package/dist/app/components/session/session-avatar-picker.js +22 -20
  139. package/dist/app/components/session/session-avatar.js +16 -16
  140. package/dist/app/components/session/session-machine-access-notice.js +7 -5
  141. package/dist/app/components/session/session-profile-dialog.js +29 -27
  142. package/dist/app/components/session/session-profile-editor.js +30 -28
  143. package/dist/app/components/session/session-retention.js +10 -8
  144. package/dist/app/components/session/session-search-dialog.js +10 -10
  145. package/dist/app/components/session/session-skill-reviews.js +2 -1
  146. package/dist/app/components/session/session-skill-reviews.js.map +1 -1
  147. package/dist/app/components/session/session-tenancy-control.js +13 -11
  148. package/dist/app/components/session/session-tenancy-control.js.map +1 -1
  149. package/dist/app/components/session/session-unattended-setting.js +7 -5
  150. package/dist/app/components/session/session-usage-limit-section.js +11 -9
  151. package/dist/app/components/session/share-chat-dialog.js +9 -7
  152. package/dist/app/components/session/site-origin-link.js +3 -3
  153. package/dist/app/components/session/subagents.js +8 -8
  154. package/dist/app/components/session/subscription-account-indicator.js +6 -6
  155. package/dist/app/components/session-connectors-menu-body.js +4 -3
  156. package/dist/app/components/session-connectors-menu-body.js.map +1 -1
  157. package/dist/app/components/settings/row-select.js +7 -5
  158. package/dist/app/components/toaster.js +3 -2
  159. package/dist/app/components/transcription-settings.js +11 -9
  160. package/dist/app/components/ui/destructive-confirm.js +11 -9
  161. package/dist/app/components/usage/usage-entry.js +5 -5
  162. package/dist/app/components/window-bar.js +16 -14
  163. package/dist/app/components/workspace-composer-plus.js +22 -21
  164. package/dist/app/components/workspace-reach.js +6 -4
  165. package/dist/app/components/workspace-tenant-boundary.js +5 -4
  166. package/dist/app/embed/memory-navigation.js +3 -3
  167. package/dist/app/embed/session-app.js +211 -209
  168. package/dist/app/lib/actions/actions-provider.js +15 -13
  169. package/dist/app/lib/agent-capabilities.js +3 -3
  170. package/dist/app/lib/app-surfaces.js +7 -6
  171. package/dist/app/lib/archive-session.d.ts +9 -4
  172. package/dist/app/lib/archive-session.js +4 -2
  173. package/dist/app/lib/bot-templates.js +3 -2
  174. package/dist/app/lib/capabilities.js +3 -2
  175. package/dist/app/lib/codex-usage-query.js +2 -2
  176. package/dist/app/lib/composer-connectors.js +17 -16
  177. package/dist/app/lib/console-site.js +2 -2
  178. package/dist/app/lib/console-text.js +2 -2
  179. package/dist/app/lib/events.js +9 -9
  180. package/dist/app/lib/failed-session-copy.js +3 -3
  181. package/dist/app/lib/inbox.js +4 -2
  182. package/dist/app/lib/model-access-onboarding.js +3 -3
  183. package/dist/app/lib/move-chat-to-machine.js +3 -3
  184. package/dist/app/lib/navigation.js +2 -2
  185. package/dist/app/lib/session-branch-cache.js +6 -6
  186. package/dist/app/lib/session-create.js +4 -4
  187. package/dist/app/lib/session-group-pagination.js +6 -6
  188. package/dist/app/lib/session-hover-facts.js +13 -11
  189. package/dist/app/lib/session-model.js +2 -2
  190. package/dist/app/lib/session-rail.js +3 -3
  191. package/dist/app/lib/session-rename.js +3 -3
  192. package/dist/app/lib/session-restart-operation-controller.js +4 -3
  193. package/dist/app/lib/session-tenancy.js +3 -2
  194. package/dist/app/lib/session-usage-limit.js +3 -2
  195. package/dist/app/lib/sessions-group.js +5 -5
  196. package/dist/app/lib/site-publishing.js +3 -2
  197. package/dist/app/lib/site-tool-consent-dialog.js +9 -7
  198. package/dist/app/lib/site-tool-consent-dialog.js.map +1 -1
  199. package/dist/app/lib/site-tool-consent.js +1 -1
  200. package/dist/app/lib/subscription-plans.js +3 -2
  201. package/dist/app/lib/toast.js +2 -1
  202. package/dist/app/lib/turn-failure-analytics.js +4 -4
  203. package/dist/app/lib/use-duplicate-site.js +6 -5
  204. package/dist/app/lib/use-follow-up-repositories.js +6 -5
  205. package/dist/app/lib/use-workspace-integrations.js +4 -3
  206. package/dist/app/lib/use-workspace-machines.js +4 -4
  207. package/dist/app/lib/use-workspace-model-catalog.js +5 -4
  208. package/dist/app/lib/use-workspace-rigs.js +2 -2
  209. package/dist/app/lib/workspace-navigation-preference.js +4 -4
  210. package/dist/app/lib/workspace-scope-context.js +3 -3
  211. package/dist/app/routes/artifacts.js +67 -66
  212. package/dist/app/routes/artifacts.js.map +1 -1
  213. package/dist/app/routes/retained-artifact.js +42 -40
  214. package/dist/app/routes/retained-artifact.js.map +1 -1
  215. package/dist/app/routes/session-unavailable.js +8 -7
  216. package/dist/app/routes/session.js +119 -117
  217. package/dist/app/routes/sessions-index-hydration.js +5 -5
  218. package/dist/app/routes/sessions-index.js +104 -102
  219. package/dist/app/routes/site-view.js +67 -65
  220. package/dist/app/routes/site-view.js.map +1 -1
  221. package/dist/artifacts-document.js +4 -4
  222. package/dist/artifacts-presentation.js +4 -4
  223. package/dist/artifacts-spreadsheet.js +4 -4
  224. package/dist/artifacts.js +10 -10
  225. package/dist/automations.js +17 -15
  226. package/dist/automations.js.map +1 -1
  227. package/dist/browser-viewer-TC27OCIP.js +23 -0
  228. package/dist/chat-interactive-block-RWPQBHVS.js +18 -0
  229. package/dist/chunk-2BDT3UZQ.js +229 -0
  230. package/dist/chunk-2CLNIEK4.js +373 -0
  231. package/dist/chunk-2FSBSCZJ.js +451 -0
  232. package/dist/chunk-2I7HDP53.js +199 -0
  233. package/dist/chunk-2INLDVK3.js +15 -0
  234. package/dist/chunk-2KALVELR.js +126 -0
  235. package/dist/chunk-2M3J7ZWQ.js +418 -0
  236. package/dist/chunk-2OP6WLGV.js +708 -0
  237. package/dist/chunk-2RG7NIAS.js +2936 -0
  238. package/dist/chunk-2STUPWEL.js +135 -0
  239. package/dist/chunk-2YUOVM3G.js +271 -0
  240. package/dist/chunk-2Z3NQNTM.js +3670 -0
  241. package/dist/chunk-3CPWWGNK.js +920 -0
  242. package/dist/chunk-3ED2U6XE.js +37 -0
  243. package/dist/chunk-3GZA4BUW.js +216 -0
  244. package/dist/chunk-3IK6UYO6.js +1022 -0
  245. package/dist/chunk-3PZ7JZI2.js +431 -0
  246. package/dist/chunk-4DVJ6ONS.js +50 -0
  247. package/dist/chunk-4DVNUCRR.js +2386 -0
  248. package/dist/chunk-4DVNUCRR.js.map +1 -0
  249. package/dist/chunk-4E3ZJRTZ.js +41 -0
  250. package/dist/chunk-4SAWSRAA.js +141 -0
  251. package/dist/chunk-53AGXXZM.js +307 -0
  252. package/dist/chunk-54YW6SZZ.js +818 -0
  253. package/dist/chunk-57AZS3IE.js +2317 -0
  254. package/dist/chunk-5CPEEAFD.js +143 -0
  255. package/dist/chunk-5EWSRZ2Y.js +340 -0
  256. package/dist/chunk-5IE76VCY.js +387 -0
  257. package/dist/chunk-5NWEKLDZ.js +170 -0
  258. package/dist/chunk-5O2FCCHZ.js +198 -0
  259. package/dist/chunk-5QAY6K77.js +399 -0
  260. package/dist/chunk-5YKW2K6I.js +625 -0
  261. package/dist/chunk-5YKW2K6I.js.map +1 -0
  262. package/dist/chunk-6BCXNDEI.js +4116 -0
  263. package/dist/chunk-6BCXNDEI.js.map +1 -0
  264. package/dist/chunk-6DK6Z4UN.js +2599 -0
  265. package/dist/chunk-6DVCC7QS.js +702 -0
  266. package/dist/chunk-6JHU2UBS.js +2058 -0
  267. package/dist/chunk-6PZ7OBYU.js +490 -0
  268. package/dist/chunk-6WD2INST.js +539 -0
  269. package/dist/chunk-6WD2INST.js.map +1 -0
  270. package/dist/chunk-6WGRDRMA.js +163 -0
  271. package/dist/chunk-77WAKEAH.js +186 -0
  272. package/dist/chunk-7T2ZE3VT.js +5558 -0
  273. package/dist/chunk-7T2ZE3VT.js.map +1 -0
  274. package/dist/chunk-7TDO3CUM.js +393 -0
  275. package/dist/chunk-7TIX2UAR.js +247 -0
  276. package/dist/chunk-7V5REBCP.js +148 -0
  277. package/dist/chunk-7VMZGLYI.js +339 -0
  278. package/dist/chunk-7W37NS3I.js +236 -0
  279. package/dist/chunk-7X6SDK2C.js +111 -0
  280. package/dist/chunk-7ZNUHRP5.js +95 -0
  281. package/dist/chunk-A36PZALD.js +84 -0
  282. package/dist/chunk-AUI6VA63.js +107 -0
  283. package/dist/chunk-AW2MQB37.js +24 -0
  284. package/dist/chunk-AWKES45Y.js +198 -0
  285. package/dist/chunk-AXHZYXUV.js +132 -0
  286. package/dist/chunk-BHNSJVBC.js +129 -0
  287. package/dist/chunk-BJEJFISW.js +50 -0
  288. package/dist/chunk-BJFH6JI5.js +422 -0
  289. package/dist/chunk-BMICEQZQ.js +960 -0
  290. package/dist/chunk-BTLBYBLU.js +29 -0
  291. package/dist/chunk-BXBDYNRP.js +89 -0
  292. package/dist/chunk-C372BFOV.js +357 -0
  293. package/dist/chunk-C43KRXGA.js +234 -0
  294. package/dist/chunk-C43KRXGA.js.map +1 -0
  295. package/dist/chunk-CMKGILJK.js +4824 -0
  296. package/dist/chunk-CRAOSVHC.js +50 -0
  297. package/dist/chunk-CRU35QQH.js +281 -0
  298. package/dist/chunk-CUIWCGMA.js +172 -0
  299. package/dist/chunk-D5TWNFFE.js +38 -0
  300. package/dist/chunk-DF5EAHDN.js +4461 -0
  301. package/dist/chunk-DJAXC5OK.js +56 -0
  302. package/dist/chunk-DXBYWSL5.js +3550 -0
  303. package/dist/chunk-DXR5PDFP.js +84 -0
  304. package/dist/chunk-DZWARC4M.js +267 -0
  305. package/dist/chunk-DZXEDSQI.js +106 -0
  306. package/dist/chunk-E7XERZWC.js +48 -0
  307. package/dist/chunk-ECJBYNLJ.js +79 -0
  308. package/dist/chunk-EDI6SJ2N.js +43 -0
  309. package/dist/chunk-EWSOC6WF.js +114 -0
  310. package/dist/chunk-F2OPHAUN.js +103 -0
  311. package/dist/chunk-F4ISQGGM.js +81 -0
  312. package/dist/chunk-FO4LYKJL.js +197 -0
  313. package/dist/chunk-FPXASDG5.js +73 -0
  314. package/dist/chunk-FSOQDUCG.js +117 -0
  315. package/dist/chunk-FSOQDUCG.js.map +1 -0
  316. package/dist/chunk-FVXBNBHO.js +157 -0
  317. package/dist/chunk-FYWT2O76.js +34 -0
  318. package/dist/chunk-FYWT2O76.js.map +1 -0
  319. package/dist/chunk-FZC5N55X.js +981 -0
  320. package/dist/chunk-GAVYGBFI.js +99 -0
  321. package/dist/chunk-GFIMOUDT.js +846 -0
  322. package/dist/chunk-GFIMOUDT.js.map +1 -0
  323. package/dist/chunk-GKVJIDHF.js +33 -0
  324. package/dist/chunk-GVN5SZLX.js +212 -0
  325. package/dist/chunk-H3T7IWNA.js +134 -0
  326. package/dist/chunk-HAX4LCR5.js +261 -0
  327. package/dist/chunk-HC4JFZVU.js +121 -0
  328. package/dist/chunk-HEFPPMBQ.js +581 -0
  329. package/dist/chunk-HGKTHF2U.js +1356 -0
  330. package/dist/chunk-HGKTHF2U.js.map +1 -0
  331. package/dist/chunk-HNLR7Q4Z.js +83 -0
  332. package/dist/chunk-HSOXMJOT.js +12 -0
  333. package/dist/chunk-I4MRDSUF.js +281 -0
  334. package/dist/chunk-I4QEJ62Y.js +202 -0
  335. package/dist/chunk-I5B5L6Q4.js +56 -0
  336. package/dist/chunk-I5QZJODL.js +264 -0
  337. package/dist/chunk-I7ITSXSJ.js +603 -0
  338. package/dist/chunk-I7XIZRFD.js +390 -0
  339. package/dist/chunk-IDANQPRH.js +82 -0
  340. package/dist/chunk-IFB3WJ36.js +212 -0
  341. package/dist/chunk-IHTAKKTK.js +264 -0
  342. package/dist/chunk-IKXNLWAL.js +205 -0
  343. package/dist/chunk-IKXNLWAL.js.map +1 -0
  344. package/dist/chunk-ILDXWY37.js +173 -0
  345. package/dist/chunk-IMDQUHBJ.js +570 -0
  346. package/dist/chunk-IMZCQBOT.js +119 -0
  347. package/dist/chunk-IXPTECSC.js +403 -0
  348. package/dist/chunk-J255A3N5.js +71 -0
  349. package/dist/chunk-J5F5HPPW.js +141 -0
  350. package/dist/chunk-JDTGRRNU.js +5045 -0
  351. package/dist/chunk-JDTGRRNU.js.map +1 -0
  352. package/dist/chunk-JEA3QDX7.js +2469 -0
  353. package/dist/chunk-JEUPAVYY.js +156 -0
  354. package/dist/chunk-JKHKLL5W.js +194 -0
  355. package/dist/chunk-JQL7ZH6C.js +650 -0
  356. package/dist/chunk-JWB44UGJ.js +57 -0
  357. package/dist/chunk-JZ4NLCAP.js +333 -0
  358. package/dist/chunk-K2A5PXQ5.js +412 -0
  359. package/dist/chunk-K56XV3C3.js +623 -0
  360. package/dist/chunk-K6GAXXVA.js +23 -0
  361. package/dist/chunk-KCBMFSMS.js +199 -0
  362. package/dist/chunk-KF2FV3ZJ.js +268 -0
  363. package/dist/chunk-KJD65EJP.js +278 -0
  364. package/dist/chunk-KLEUWIMZ.js +386 -0
  365. package/dist/chunk-KODELWYT.js +309 -0
  366. package/dist/chunk-KRDR5RJD.js +83 -0
  367. package/dist/chunk-KUDGXAF7.js +914 -0
  368. package/dist/chunk-KY2R73CG.js +171 -0
  369. package/dist/chunk-KY2R73CG.js.map +1 -0
  370. package/dist/chunk-KYS77RPN.js +85 -0
  371. package/dist/chunk-L7YTNTIK.js +368 -0
  372. package/dist/chunk-LHPNABDH.js +686 -0
  373. package/dist/chunk-MFROMEKA.js +401 -0
  374. package/dist/chunk-MIHN76LX.js +2656 -0
  375. package/dist/chunk-MIYFS2XN.js +42 -0
  376. package/dist/chunk-MJUCFQMS.js +65 -0
  377. package/dist/chunk-MM4FNWI4.js +3064 -0
  378. package/dist/chunk-MNZG4OHU.js +790 -0
  379. package/dist/chunk-MVW6HNPI.js +250 -0
  380. package/dist/chunk-MVW6HNPI.js.map +1 -0
  381. package/dist/chunk-N6AACDUW.js +200 -0
  382. package/dist/chunk-NC55IFN3.js +781 -0
  383. package/dist/chunk-NC7PVOEK.js +98 -0
  384. package/dist/chunk-NCYMNCJO.js +70 -0
  385. package/dist/chunk-ND2BXV3P.js +259 -0
  386. package/dist/chunk-NDBTFUO6.js +272 -0
  387. package/dist/chunk-NDQJZ7HF.js +206 -0
  388. package/dist/chunk-NGJJJPZZ.js +162 -0
  389. package/dist/chunk-NJTSNNE7.js +251 -0
  390. package/dist/chunk-NPGISCU6.js +4159 -0
  391. package/dist/chunk-NPGISCU6.js.map +1 -0
  392. package/dist/chunk-NRTE7DNV.js +1270 -0
  393. package/dist/chunk-NULUNM7H.js +290 -0
  394. package/dist/chunk-NUNZS36W.js +227 -0
  395. package/dist/chunk-NW53H5RW.js +2424 -0
  396. package/dist/chunk-NXCMHIKI.js +263 -0
  397. package/dist/chunk-O3LKCBP5.js +159 -0
  398. package/dist/chunk-O4EA4F3W.js +103 -0
  399. package/dist/chunk-O4EA4F3W.js.map +1 -0
  400. package/dist/chunk-O4OOG3D6.js +116 -0
  401. package/dist/chunk-O4OOG3D6.js.map +1 -0
  402. package/dist/chunk-O6N4ABCA.js +376 -0
  403. package/dist/chunk-O732GAFC.js +112 -0
  404. package/dist/chunk-OF4TIKYC.js +690 -0
  405. package/dist/chunk-OMPVOMPP.js +70 -0
  406. package/dist/chunk-OPJJSKUK.js +118 -0
  407. package/dist/chunk-OPWCMA4D.js +196 -0
  408. package/dist/chunk-ORJPS5VN.js +1193 -0
  409. package/dist/chunk-OSY5K7L7.js +187 -0
  410. package/dist/chunk-OV6QJRT4.js +45 -0
  411. package/dist/chunk-OVKYVZMW.js +108 -0
  412. package/dist/chunk-OZCBM3UC.js +171 -0
  413. package/dist/chunk-P3A2EINJ.js +61 -0
  414. package/dist/chunk-PTAG4PDC.js +27 -0
  415. package/dist/chunk-PTF5B7TJ.js +298 -0
  416. package/dist/chunk-Q3DPEYX4.js +848 -0
  417. package/dist/chunk-Q6CGOPJD.js +215 -0
  418. package/dist/chunk-Q6CGOPJD.js.map +1 -0
  419. package/dist/chunk-QB2KMIDP.js +100 -0
  420. package/dist/chunk-QCSJ4CWE.js +1067 -0
  421. package/dist/chunk-QIOQ2NPQ.js +414 -0
  422. package/dist/chunk-QK5EFEUT.js +353 -0
  423. package/dist/chunk-QPQBLYQJ.js +41 -0
  424. package/dist/chunk-QPSGCC5D.js +184 -0
  425. package/dist/chunk-QZAAUQRN.js +474 -0
  426. package/dist/chunk-QZM6YDJW.js +489 -0
  427. package/dist/chunk-QZM6YDJW.js.map +1 -0
  428. package/dist/chunk-RGBI63KJ.js +188 -0
  429. package/dist/chunk-RLBKLAEY.js +138 -0
  430. package/dist/chunk-RMFKVOM7.js +304 -0
  431. package/dist/chunk-ROKQU7WG.js +258 -0
  432. package/dist/chunk-RPVREAU7.js +251 -0
  433. package/dist/chunk-RQKLF42C.js +723 -0
  434. package/dist/chunk-SC6RRD2D.js +38 -0
  435. package/dist/chunk-SC6RRD2D.js.map +1 -0
  436. package/dist/chunk-SEO7TICN.js +94 -0
  437. package/dist/chunk-SHHJCL7X.js +432 -0
  438. package/dist/chunk-SIRLACNZ.js +114 -0
  439. package/dist/chunk-SKPHMYAA.js +237 -0
  440. package/dist/chunk-SODC7T6L.js +1583 -0
  441. package/dist/chunk-SQJIKMN3.js +366 -0
  442. package/dist/chunk-SVINDKVW.js +26 -0
  443. package/dist/chunk-SYCDHPZF.js +335 -0
  444. package/dist/chunk-T2QX3FDP.js +133 -0
  445. package/dist/chunk-T3OWFVMS.js +1187 -0
  446. package/dist/chunk-T6XI5FLY.js +61 -0
  447. package/dist/chunk-T7OXJZCX.js +62 -0
  448. package/dist/chunk-TAT5USZN.js +353 -0
  449. package/dist/chunk-TPQTRNER.js +172 -0
  450. package/dist/chunk-TUIN4MB7.js +266 -0
  451. package/dist/chunk-TX3VECZU.js +71 -0
  452. package/dist/chunk-TXLIEOJX.js +9624 -0
  453. package/dist/chunk-U3DN4HEY.js +27 -0
  454. package/dist/chunk-U7XM7CB4.js +191 -0
  455. package/dist/chunk-UJK53QFL.js +140 -0
  456. package/dist/chunk-UMTXA2TH.js +319 -0
  457. package/dist/chunk-UPDSXFK5.js +199 -0
  458. package/dist/chunk-UTIAXH52.js +269 -0
  459. package/dist/chunk-UVN5TMHU.js +1184 -0
  460. package/dist/chunk-V4Z4B2E3.js +52 -0
  461. package/dist/chunk-V4Z4B2E3.js.map +1 -0
  462. package/dist/chunk-VGYXW3VG.js +246 -0
  463. package/dist/chunk-VS7AHPCZ.js +255 -0
  464. package/dist/chunk-VTTAJOQ7.js +121 -0
  465. package/dist/chunk-VWPOLUAO.js +99 -0
  466. package/dist/chunk-X3MWB2QU.js +3851 -0
  467. package/dist/chunk-X6KAJI3V.js +211 -0
  468. package/dist/chunk-XBLRHV5R.js +50 -0
  469. package/dist/chunk-XDFP2LMW.js +605 -0
  470. package/dist/chunk-XEQMZB3C.js +525 -0
  471. package/dist/chunk-XEYLT5VA.js +223 -0
  472. package/dist/chunk-XHIQ5I6N.js +918 -0
  473. package/dist/chunk-XLH7QY2R.js +378 -0
  474. package/dist/chunk-XWFAMUZQ.js +113 -0
  475. package/dist/chunk-Y4BB2KS2.js +294 -0
  476. package/dist/chunk-Y4BB2KS2.js.map +1 -0
  477. package/dist/chunk-Y4OBB2VN.js +84 -0
  478. package/dist/chunk-YCVD6CI3.js +234 -0
  479. package/dist/chunk-YENLNISG.js +270 -0
  480. package/dist/chunk-YIRVLKAX.js +351 -0
  481. package/dist/chunk-YL73CVNK.js +390 -0
  482. package/dist/chunk-YLS6QE5G.js +288 -0
  483. package/dist/chunk-YNF2OC54.js +366 -0
  484. package/dist/chunk-YNF2OC54.js.map +1 -0
  485. package/dist/chunk-YPWU5KPE.js +147 -0
  486. package/dist/chunk-YQXTDZSU.js +2984 -0
  487. package/dist/chunk-YSJEAAOL.js +178 -0
  488. package/dist/chunk-YWIFM7D7.js +499 -0
  489. package/dist/chunk-YWVI6ZMK.js +103 -0
  490. package/dist/chunk-Z4FMAFNH.js +847 -0
  491. package/dist/chunk-Z654FWNU.js +136 -0
  492. package/dist/chunk-Z7Y523PS.js +130 -0
  493. package/dist/chunk-ZD67RM6G.js +60 -0
  494. package/dist/chunk-ZEG4VPBL.js +187 -0
  495. package/dist/chunk-ZHDFQITM.js +283 -0
  496. package/dist/chunk-ZHDFQITM.js.map +1 -0
  497. package/dist/chunk-ZLYCOBHW.js +75 -0
  498. package/dist/chunk-ZNJ5MTXV.js +89 -0
  499. package/dist/chunk-ZSGY3H53.js +155 -0
  500. package/dist/chunk-ZTPXACWB.js +1788 -0
  501. package/dist/chunk-ZUA3JMI6.js +107 -0
  502. package/dist/chunk-ZYAZUPPV.js +559 -0
  503. package/dist/composer.js +8 -8
  504. package/dist/computer-viewer-TDDO25AV.js +21 -0
  505. package/dist/connect.js +12 -12
  506. package/dist/desktop-dictation.js +12 -10
  507. package/dist/desktop-dictation.js.map +1 -1
  508. package/dist/desktop.js +2 -2
  509. package/dist/editor.js +2 -2
  510. package/dist/embedded-new-voice-2G3VLPVQ.js +24 -0
  511. package/dist/embedded-voice-T5IWOWGD.js +24 -0
  512. package/dist/fleet-decision-row-WM64KXP3.js +361 -0
  513. package/dist/in-chat-connect-model.js +5 -5
  514. package/dist/index.js +51 -51
  515. package/dist/interaction.js +5 -5
  516. package/dist/machines.js +3 -3
  517. package/dist/meetings-recorder.js +1 -1
  518. package/dist/meetings.js +40 -32
  519. package/dist/meetings.js.map +1 -1
  520. package/dist/messages/en.d.ts +3 -0
  521. package/dist/messages.js +1 -1
  522. package/dist/model-policy-picker-menu-SMC6J6QN.js +22 -0
  523. package/dist/payment-page-card-G4U63KUV.js +223 -0
  524. package/dist/platform-activity-row-BUZGZAKZ.js +128 -0
  525. package/dist/queue-surface-implementation-4KUZ4PJV.js +908 -0
  526. package/dist/realtime.js +4 -4
  527. package/dist/recorder-host-WF2RRR56.js +69 -0
  528. package/dist/recorder-host-WF2RRR56.js.map +1 -0
  529. package/dist/recordings.js +3 -3
  530. package/dist/sandbox-files-ESDMOFSD.js +27 -0
  531. package/dist/session-app.js +211 -209
  532. package/dist/session-connect-cards-Q53KMMYY.js +25 -0
  533. package/dist/session-list-model.js +2 -2
  534. package/dist/session-realtime-CF3I35WJ.js +30 -0
  535. package/dist/session-realtime.js +2 -2
  536. package/dist/session-ui.js +33 -31
  537. package/dist/session.js +5 -5
  538. package/dist/sites.js +2 -2
  539. package/dist/terminal.js +2 -2
  540. package/dist/this-computer.js +3 -3
  541. package/dist/timeline-annotation-markers-CJK4RYZ4.js +157 -0
  542. package/dist/timeline-annotation-selection-67GF5H26.js +208 -0
  543. package/dist/timeline-annotations-dialog-ONJPQDJQ.js +283 -0
  544. package/dist/ui/access-list.js +11 -9
  545. package/dist/ui/access-list.js.map +1 -1
  546. package/dist/ui/api-error.d.ts +6 -3
  547. package/dist/ui/api-error.js +2 -1
  548. package/dist/ui/cadence-picker.js +6 -4
  549. package/dist/ui/choice-cards.js +5 -3
  550. package/dist/ui/confirm-dialog.js +2 -2
  551. package/dist/ui/copy-field.js +5 -3
  552. package/dist/ui/detail-page.js +2 -2
  553. package/dist/ui/detail-sheet.js +2 -2
  554. package/dist/ui/diff-view.js +4 -3
  555. package/dist/ui/disclosure.js +3 -3
  556. package/dist/ui/email-chips-input.js +5 -3
  557. package/dist/ui/error-message.js +2 -1
  558. package/dist/ui/error-reference.d.ts +15 -0
  559. package/dist/ui/error-text.d.ts +10 -0
  560. package/dist/ui/error-text.js +9 -0
  561. package/dist/ui/error-text.js.map +1 -0
  562. package/dist/ui/field.js +4 -2
  563. package/dist/ui/flush-form-page.js +8 -6
  564. package/dist/ui/form-dialog.js +7 -5
  565. package/dist/ui/list-row.js +3 -3
  566. package/dist/ui/load-failure.js +3 -2
  567. package/dist/ui/load-failure.js.map +1 -1
  568. package/dist/ui/notice.js +3 -1
  569. package/dist/ui/relative-time.js +2 -2
  570. package/dist/ui/revision-history.js +9 -7
  571. package/dist/ui/revision-history.js.map +1 -1
  572. package/dist/ui/role-select.js +10 -8
  573. package/dist/ui/segmented-control.js +4 -2
  574. package/dist/ui/select-menu.js +5 -3
  575. package/dist/ui/setting-row.js +3 -1
  576. package/dist/ui/switch.js +4 -2
  577. package/dist/ui/usage-meter.js +3 -3
  578. package/dist/ui/word-list-row.js +4 -2
  579. package/dist/usage.js +2 -2
  580. package/dist/workbench.js +4 -4
  581. package/package.json +5 -6
  582. package/src/app/app-state.tsx +126 -14
  583. package/src/app/components/artifacts/site-data.tsx +2 -2
  584. package/src/app/components/artifacts/site-settings.tsx +2 -2
  585. package/src/app/components/rail/session-list.tsx +7 -8
  586. package/src/app/components/rail/session-shell.tsx +3 -3
  587. package/src/app/components/repository-picker.tsx +8 -1
  588. package/src/app/components/session/model-context-inspector.tsx +2 -1
  589. package/src/app/components/session/session-admin-access.tsx +2 -2
  590. package/src/app/lib/actions/chat-operations.ts +4 -4
  591. package/src/app/lib/archive-session.test.tsx +265 -2
  592. package/src/app/lib/archive-session.tsx +175 -9
  593. package/src/app/lib/copy-link.ts +2 -2
  594. package/src/app/lib/inbox.tsx +2 -2
  595. package/src/app/lib/session-failure-toasts.ts +3 -2
  596. package/src/app/lib/toast.test.tsx +215 -0
  597. package/src/app/lib/toast.tsx +67 -2
  598. package/src/app/personal-github-reconnect.test.tsx +356 -0
  599. package/src/app/routes/artifacts.tsx +1 -2
  600. package/src/components/tool-action-review.tsx +14 -1
  601. package/src/meetings/delete-meeting-dialog.tsx +2 -1
  602. package/src/meetings/meeting-ask.tsx +2 -1
  603. package/src/meetings/meeting-detail-page.tsx +2 -1
  604. package/src/meetings/meeting-notes.tsx +2 -1
  605. package/src/meetings/meeting-settings.tsx +4 -1
  606. package/src/meetings/meeting-transcript.tsx +4 -1
  607. package/src/meetings/recorder-context.tsx +10 -0
  608. package/src/meetings/recorder-host.test.tsx +60 -2
  609. package/src/meetings/recorder-host.tsx +16 -3
  610. package/src/meetings/recorder-panel.tsx +2 -1
  611. package/src/meetings/recorder-workspace.test.tsx +26 -1
  612. package/src/messages/en.ts +6 -0
  613. package/src/ui/api-error.test.ts +29 -5
  614. package/src/ui/api-error.tsx +10 -4
  615. package/src/ui/error-message.tsx +8 -0
  616. package/src/ui/error-reference.test.ts +54 -0
  617. package/src/ui/error-reference.ts +51 -0
  618. package/src/ui/error-text.test.tsx +66 -0
  619. package/src/ui/error-text.tsx +49 -0
  620. package/src/ui/field.tsx +4 -1
  621. package/src/ui/notice.tsx +7 -2
  622. package/src/ui/setting-row.tsx +4 -1
  623. package/styles/app.css +12 -0
  624. package/styles/compiled.css +9 -0
  625. package/dist/browser-viewer-NOP5EAUO.js +0 -23
  626. package/dist/chat-interactive-block-G7O44JHR.js +0 -18
  627. package/dist/chunk-26RWVLRD.js +0 -135
  628. package/dist/chunk-2AHTY7OT.js +0 -247
  629. package/dist/chunk-2GDNWKSC.js +0 -3670
  630. package/dist/chunk-2JENKGCE.js +0 -339
  631. package/dist/chunk-2KYQC4T5.js +0 -155
  632. package/dist/chunk-2RREGDQH.js +0 -708
  633. package/dist/chunk-2T7DX6KR.js +0 -353
  634. package/dist/chunk-2VB2O4FQ.js +0 -920
  635. package/dist/chunk-2VTTKH23.js +0 -94
  636. package/dist/chunk-2XNG2KNT.js +0 -172
  637. package/dist/chunk-2YC6JQRO.js +0 -399
  638. package/dist/chunk-2ZVRJRXC.js +0 -27
  639. package/dist/chunk-35737UT4.js +0 -162
  640. package/dist/chunk-366XZ4PM.js +0 -41
  641. package/dist/chunk-36MIDGAH.js +0 -199
  642. package/dist/chunk-3FD76LXM.js +0 -212
  643. package/dist/chunk-3OVIXY4O.js +0 -213
  644. package/dist/chunk-3OVIXY4O.js.map +0 -1
  645. package/dist/chunk-3QNRBEYH.js +0 -432
  646. package/dist/chunk-3QX55WLC.js +0 -15
  647. package/dist/chunk-3USJPT2S.js +0 -1022
  648. package/dist/chunk-42CMQ5VR.js +0 -251
  649. package/dist/chunk-4LPOWQJY.js +0 -42
  650. package/dist/chunk-4NBTZRKT.js +0 -79
  651. package/dist/chunk-4OXI6HCV.js +0 -118
  652. package/dist/chunk-4SZZAFYQ.js +0 -2317
  653. package/dist/chunk-4TQL3WP2.js +0 -140
  654. package/dist/chunk-4Y6BK7IU.js +0 -196
  655. package/dist/chunk-4YD7YZC5.js +0 -373
  656. package/dist/chunk-5DTST3TP.js +0 -81
  657. package/dist/chunk-5FH5LQVS.js +0 -130
  658. package/dist/chunk-5KWMYPJV.js +0 -847
  659. package/dist/chunk-5MUJDC6C.js +0 -84
  660. package/dist/chunk-5QM2WPKV.js +0 -41
  661. package/dist/chunk-5WUN7XPD.js +0 -1184
  662. package/dist/chunk-64PO2WXU.js +0 -1067
  663. package/dist/chunk-6AHATAAY.js +0 -431
  664. package/dist/chunk-6ED2YWBT.js +0 -56
  665. package/dist/chunk-6GXVYAGR.js +0 -170
  666. package/dist/chunk-6H4SJBPE.js +0 -85
  667. package/dist/chunk-6MT3HHUB.js +0 -84
  668. package/dist/chunk-6UHCBH4G.js +0 -198
  669. package/dist/chunk-6WLX3NR3.js +0 -198
  670. package/dist/chunk-73NXYYWE.js +0 -112
  671. package/dist/chunk-76ERNKIZ.js +0 -603
  672. package/dist/chunk-776QZ573.js +0 -57
  673. package/dist/chunk-7BYWOFVH.js +0 -171
  674. package/dist/chunk-7O5CGGIQ.js +0 -108
  675. package/dist/chunk-7QOHRZ67.js +0 -251
  676. package/dist/chunk-7WIDB4PL.js +0 -2058
  677. package/dist/chunk-7WKP3DYJ.js +0 -37
  678. package/dist/chunk-7XOVTPDI.js +0 -227
  679. package/dist/chunk-AB5MBIXY.js +0 -281
  680. package/dist/chunk-ADNMXBCX.js +0 -1193
  681. package/dist/chunk-AFBJTUFK.js +0 -202
  682. package/dist/chunk-ALVRWCXE.js +0 -61
  683. package/dist/chunk-AOHU6O3M.js +0 -247
  684. package/dist/chunk-AOHU6O3M.js.map +0 -1
  685. package/dist/chunk-APW4T4SW.js +0 -270
  686. package/dist/chunk-AXBSYWKX.js +0 -2656
  687. package/dist/chunk-B2I5ZW35.js +0 -422
  688. package/dist/chunk-B3LMRTRF.js +0 -223
  689. package/dist/chunk-BE2XENG2.js +0 -292
  690. package/dist/chunk-BE2XENG2.js.map +0 -1
  691. package/dist/chunk-BF4SADKX.js +0 -29
  692. package/dist/chunk-BKP43KK4.js +0 -1788
  693. package/dist/chunk-BM3NEZ6X.js +0 -781
  694. package/dist/chunk-BT3BAGB5.js +0 -216
  695. package/dist/chunk-BTSYDIVJ.js +0 -357
  696. package/dist/chunk-BUBNGKWG.js +0 -70
  697. package/dist/chunk-BVUJV5WR.js +0 -126
  698. package/dist/chunk-BZO5ZMUP.js +0 -27
  699. package/dist/chunk-C3HUF3M2.js +0 -157
  700. package/dist/chunk-C5QCAOES.js +0 -264
  701. package/dist/chunk-CGK6ALQU.js +0 -159
  702. package/dist/chunk-CPYGO76Q.js +0 -335
  703. package/dist/chunk-CQH4FWYA.js +0 -490
  704. package/dist/chunk-CZP5QXNB.js +0 -234
  705. package/dist/chunk-D2TOWEYH.js +0 -266
  706. package/dist/chunk-D6L4GHRH.js +0 -340
  707. package/dist/chunk-DKT3N37I.js +0 -50
  708. package/dist/chunk-DMMJIFKA.js +0 -84
  709. package/dist/chunk-DO74DQC7.js +0 -26
  710. package/dist/chunk-DOFJZ2JU.js +0 -83
  711. package/dist/chunk-DSXVY5WZ.js +0 -119
  712. package/dist/chunk-E337C2VK.js +0 -82
  713. package/dist/chunk-E6NRSRBE.js +0 -114
  714. package/dist/chunk-E6SQKHAU.js +0 -114
  715. package/dist/chunk-E7UIVD7F.js +0 -236
  716. package/dist/chunk-EGBII4CP.js +0 -229
  717. package/dist/chunk-EILSAQVJ.js +0 -200
  718. package/dist/chunk-ELL6HSYR.js +0 -307
  719. package/dist/chunk-EUBGLFFR.js +0 -73
  720. package/dist/chunk-EW6RNWSH.js +0 -212
  721. package/dist/chunk-EYUT5Y6V.js +0 -2599
  722. package/dist/chunk-F7U3QPZ3.js +0 -304
  723. package/dist/chunk-FBTJKSTM.js +0 -1270
  724. package/dist/chunk-FC2FTSK3.js +0 -2424
  725. package/dist/chunk-FOGNA3BU.js +0 -148
  726. package/dist/chunk-FQFKHNC7.js +0 -650
  727. package/dist/chunk-FTCHM755.js +0 -50
  728. package/dist/chunk-FXSHP4JZ.js +0 -3550
  729. package/dist/chunk-G6ZZC543.js +0 -818
  730. package/dist/chunk-G7FU6PUA.js +0 -100
  731. package/dist/chunk-GA4YEAMX.js +0 -3851
  732. package/dist/chunk-GE33BGB7.js +0 -12
  733. package/dist/chunk-GQ67HSJY.js +0 -570
  734. package/dist/chunk-GXXZ3WAK.js +0 -106
  735. package/dist/chunk-H2TCRX3H.js +0 -237
  736. package/dist/chunk-HLL4PBO7.js +0 -60
  737. package/dist/chunk-HLOEPV5C.js +0 -259
  738. package/dist/chunk-HUAGBS4O.js +0 -56
  739. package/dist/chunk-I36GSRUJ.js +0 -211
  740. package/dist/chunk-I6VBHT7S.js +0 -261
  741. package/dist/chunk-ICNNNOXE.js +0 -333
  742. package/dist/chunk-ICX64J4U.js +0 -172
  743. package/dist/chunk-ID36Y46W.js +0 -5046
  744. package/dist/chunk-ID36Y46W.js.map +0 -1
  745. package/dist/chunk-IGVVXLKJ.js +0 -559
  746. package/dist/chunk-IKJLSBUI.js +0 -2984
  747. package/dist/chunk-IKMUFDVS.js +0 -50
  748. package/dist/chunk-IKUNOX7F.js +0 -255
  749. package/dist/chunk-ILKDYBON.js +0 -288
  750. package/dist/chunk-IVYJX3OY.js +0 -187
  751. package/dist/chunk-JCY4CMDH.js +0 -107
  752. package/dist/chunk-JJZPLGIP.js +0 -474
  753. package/dist/chunk-JW33RV4V.js +0 -143
  754. package/dist/chunk-JWPA6ZPZ.js +0 -351
  755. package/dist/chunk-JZ4QXS6D.js +0 -50
  756. package/dist/chunk-K42OUZQ3.js +0 -386
  757. package/dist/chunk-K5TOVX5A.js +0 -206
  758. package/dist/chunk-K63HGHZX.js +0 -99
  759. package/dist/chunk-K6R5T44I.js +0 -75
  760. package/dist/chunk-KHJ5PXFM.js +0 -914
  761. package/dist/chunk-KJZRQ55O.js +0 -2319
  762. package/dist/chunk-KJZRQ55O.js.map +0 -1
  763. package/dist/chunk-KKI55ZMW.js +0 -65
  764. package/dist/chunk-KRPLAAFP.js +0 -199
  765. package/dist/chunk-KVFEZDBO.js +0 -134
  766. package/dist/chunk-L4I665WK.js +0 -45
  767. package/dist/chunk-L4OF77LE.js +0 -110
  768. package/dist/chunk-L4OF77LE.js.map +0 -1
  769. package/dist/chunk-LA5T52RM.js +0 -70
  770. package/dist/chunk-LM2W5YAT.js +0 -401
  771. package/dist/chunk-LQ62ECE6.js +0 -390
  772. package/dist/chunk-LQDUHU3Y.js +0 -71
  773. package/dist/chunk-LRJIYTZW.js +0 -4157
  774. package/dist/chunk-LRJIYTZW.js.map +0 -1
  775. package/dist/chunk-LRN6GYAZ.js +0 -138
  776. package/dist/chunk-M4SDVTKJ.js +0 -790
  777. package/dist/chunk-MA6O7CM6.js +0 -99
  778. package/dist/chunk-MBIBB6GI.js +0 -197
  779. package/dist/chunk-MF3ZFB4H.js +0 -199
  780. package/dist/chunk-MJJGJMYJ.js +0 -98
  781. package/dist/chunk-MLJADQFI.js +0 -4824
  782. package/dist/chunk-MQG7RV3B.js +0 -62
  783. package/dist/chunk-MTTGSQA5.js +0 -186
  784. package/dist/chunk-MW7Y3T55.js +0 -525
  785. package/dist/chunk-MYUFMVCH.js +0 -121
  786. package/dist/chunk-N3OARGH2.js +0 -61
  787. package/dist/chunk-NB2HMRT2.js +0 -353
  788. package/dist/chunk-NFDFYWMV.js +0 -141
  789. package/dist/chunk-NWGNFN3N.js +0 -1187
  790. package/dist/chunk-NWJRPDIO.js +0 -840
  791. package/dist/chunk-NWJRPDIO.js.map +0 -1
  792. package/dist/chunk-NXWBBZJV.js +0 -267
  793. package/dist/chunk-NY2QWROL.js +0 -71
  794. package/dist/chunk-O2IOPP3R.js +0 -848
  795. package/dist/chunk-O2UWH5RG.js +0 -141
  796. package/dist/chunk-O5YWDLYF.js +0 -393
  797. package/dist/chunk-OBMCZO7E.js +0 -121
  798. package/dist/chunk-OD3DCCCB.js +0 -132
  799. package/dist/chunk-OMH7R6I3.js +0 -390
  800. package/dist/chunk-OSA5EQG5.js +0 -113
  801. package/dist/chunk-OSJ3MUTZ.js +0 -2936
  802. package/dist/chunk-OWAYJ2OV.js +0 -368
  803. package/dist/chunk-OYXBFSGK.js +0 -269
  804. package/dist/chunk-PC2EBA5G.js +0 -4116
  805. package/dist/chunk-PC2EBA5G.js.map +0 -1
  806. package/dist/chunk-PC2MVXIP.js +0 -363
  807. package/dist/chunk-PC2MVXIP.js.map +0 -1
  808. package/dist/chunk-PENGLDR5.js +0 -309
  809. package/dist/chunk-PSMAWRPL.js +0 -191
  810. package/dist/chunk-PW4IMTYR.js +0 -702
  811. package/dist/chunk-PW54V7T5.js +0 -387
  812. package/dist/chunk-Q2EXYSMO.js +0 -24
  813. package/dist/chunk-Q2XJK5I4.js +0 -51
  814. package/dist/chunk-Q2XJK5I4.js.map +0 -1
  815. package/dist/chunk-Q4EFRI6X.js +0 -258
  816. package/dist/chunk-Q52CXW6C.js +0 -48
  817. package/dist/chunk-Q6XQ2R37.js +0 -184
  818. package/dist/chunk-QAJ53XBW.js +0 -23
  819. package/dist/chunk-QDTKECT4.js +0 -129
  820. package/dist/chunk-QE3ZFGI3.js +0 -43
  821. package/dist/chunk-QHHSUR2Y.js +0 -298
  822. package/dist/chunk-QHNVNR7B.js +0 -173
  823. package/dist/chunk-QIK2Q6N5.js +0 -376
  824. package/dist/chunk-QWL4L366.js +0 -38
  825. package/dist/chunk-R3J2PTVQ.js +0 -690
  826. package/dist/chunk-RBRX5ZS3.js +0 -319
  827. package/dist/chunk-REX6JIC7.js +0 -33
  828. package/dist/chunk-RGZ7EEC3.js +0 -537
  829. package/dist/chunk-RGZ7EEC3.js.map +0 -1
  830. package/dist/chunk-RIPS7GFR.js +0 -960
  831. package/dist/chunk-RTBZNFNV.js +0 -1354
  832. package/dist/chunk-RTBZNFNV.js.map +0 -1
  833. package/dist/chunk-SKMNW4SW.js +0 -187
  834. package/dist/chunk-SRFARKXC.js +0 -623
  835. package/dist/chunk-SWIHWCTW.js +0 -4461
  836. package/dist/chunk-TA5CFTO4.js +0 -103
  837. package/dist/chunk-TF4ZVJLI.js +0 -156
  838. package/dist/chunk-TG7DADJR.js +0 -9624
  839. package/dist/chunk-TI4R2ZD5.js +0 -623
  840. package/dist/chunk-TI4R2ZD5.js.map +0 -1
  841. package/dist/chunk-TNKWOUWP.js +0 -412
  842. package/dist/chunk-TNUSPXPW.js +0 -5555
  843. package/dist/chunk-TNUSPXPW.js.map +0 -1
  844. package/dist/chunk-TNYFHKVV.js +0 -366
  845. package/dist/chunk-TPMZBOFH.js +0 -178
  846. package/dist/chunk-TW3LKRJF.js +0 -263
  847. package/dist/chunk-TZAO65I4.js +0 -83
  848. package/dist/chunk-U5EFEMYU.js +0 -89
  849. package/dist/chunk-U6M4LS3M.js +0 -378
  850. package/dist/chunk-UI4HI5QK.js +0 -918
  851. package/dist/chunk-UJDOWCQ3.js +0 -272
  852. package/dist/chunk-UJUQ2QOX.js +0 -581
  853. package/dist/chunk-UQ3IM6FY.js +0 -133
  854. package/dist/chunk-UYE47LO6.js +0 -246
  855. package/dist/chunk-VADHIT26.js +0 -89
  856. package/dist/chunk-VFQ3H6CO.js +0 -163
  857. package/dist/chunk-VGUN6VB2.js +0 -188
  858. package/dist/chunk-VGWWEVSD.js +0 -723
  859. package/dist/chunk-VIEFJ2DM.js +0 -2469
  860. package/dist/chunk-VLXM36VS.js +0 -268
  861. package/dist/chunk-W3BFRR2G.js +0 -499
  862. package/dist/chunk-W5MPXR3A.js +0 -981
  863. package/dist/chunk-W5OWKVZG.js +0 -136
  864. package/dist/chunk-W6FRORMX.js +0 -486
  865. package/dist/chunk-W6FRORMX.js.map +0 -1
  866. package/dist/chunk-W7XROSZO.js +0 -232
  867. package/dist/chunk-W7XROSZO.js.map +0 -1
  868. package/dist/chunk-WEZ5PXZP.js +0 -403
  869. package/dist/chunk-WHWUWN2X.js +0 -197
  870. package/dist/chunk-WHWUWN2X.js.map +0 -1
  871. package/dist/chunk-WLEDGIVS.js +0 -114
  872. package/dist/chunk-WLEDGIVS.js.map +0 -1
  873. package/dist/chunk-WNDAKLHG.js +0 -281
  874. package/dist/chunk-WTJ4PLMU.js +0 -103
  875. package/dist/chunk-WV2KPJUW.js +0 -107
  876. package/dist/chunk-X3VY5EGY.js +0 -277
  877. package/dist/chunk-X3VY5EGY.js.map +0 -1
  878. package/dist/chunk-XDBYWVCW.js +0 -418
  879. package/dist/chunk-XF7MA4U5.js +0 -36
  880. package/dist/chunk-XF7MA4U5.js.map +0 -1
  881. package/dist/chunk-XOSQP3YA.js +0 -605
  882. package/dist/chunk-XYBV4ZJQ.js +0 -271
  883. package/dist/chunk-YBKVGLQR.js +0 -147
  884. package/dist/chunk-YDCUBUWH.js +0 -1583
  885. package/dist/chunk-YG6NARQY.js +0 -51
  886. package/dist/chunk-YG6NARQY.js.map +0 -1
  887. package/dist/chunk-YSVD5HI4.js +0 -278
  888. package/dist/chunk-YT3WGNG6.js +0 -290
  889. package/dist/chunk-YYICQDK4.js +0 -414
  890. package/dist/chunk-YYLMZLI6.js +0 -686
  891. package/dist/chunk-ZAMTKG5U.js +0 -95
  892. package/dist/chunk-ZDLYSXKN.js +0 -111
  893. package/dist/chunk-ZG447FSS.js +0 -194
  894. package/dist/chunk-ZIT5KD4Q.js +0 -264
  895. package/dist/chunk-ZUDOVDKR.js +0 -3064
  896. package/dist/chunk-ZW2ECJ3A.js +0 -451
  897. package/dist/computer-viewer-LPZ763KF.js +0 -21
  898. package/dist/embedded-new-voice-YVMKSLKJ.js +0 -24
  899. package/dist/embedded-voice-BJPQFXSU.js +0 -24
  900. package/dist/fleet-decision-row-AA4H5CDT.js +0 -361
  901. package/dist/model-policy-picker-menu-HSMWVO4P.js +0 -22
  902. package/dist/payment-page-card-3LTSFJGN.js +0 -223
  903. package/dist/platform-activity-row-5VYV6TX4.js +0 -128
  904. package/dist/queue-surface-implementation-NXHZUKD2.js +0 -908
  905. package/dist/recorder-host-ZKRWTDBM.js +0 -57
  906. package/dist/recorder-host-ZKRWTDBM.js.map +0 -1
  907. package/dist/sandbox-files-YCMLQUFU.js +0 -27
  908. package/dist/session-connect-cards-KSQLMRM5.js +0 -25
  909. package/dist/session-realtime-ZR6JLG3Y.js +0 -30
  910. package/dist/timeline-annotation-markers-YAHDPWVG.js +0 -157
  911. package/dist/timeline-annotation-selection-KHXNCEJP.js +0 -208
  912. package/dist/timeline-annotations-dialog-Y4XD3N7B.js +0 -283
  913. /package/dist/{browser-viewer-NOP5EAUO.js.map → browser-viewer-TC27OCIP.js.map} +0 -0
  914. /package/dist/{chat-interactive-block-G7O44JHR.js.map → chat-interactive-block-RWPQBHVS.js.map} +0 -0
  915. /package/dist/{chunk-EGBII4CP.js.map → chunk-2BDT3UZQ.js.map} +0 -0
  916. /package/dist/{chunk-4YD7YZC5.js.map → chunk-2CLNIEK4.js.map} +0 -0
  917. /package/dist/{chunk-ZW2ECJ3A.js.map → chunk-2FSBSCZJ.js.map} +0 -0
  918. /package/dist/{chunk-KRPLAAFP.js.map → chunk-2I7HDP53.js.map} +0 -0
  919. /package/dist/{chunk-3QX55WLC.js.map → chunk-2INLDVK3.js.map} +0 -0
  920. /package/dist/{chunk-BVUJV5WR.js.map → chunk-2KALVELR.js.map} +0 -0
  921. /package/dist/{chunk-XDBYWVCW.js.map → chunk-2M3J7ZWQ.js.map} +0 -0
  922. /package/dist/{chunk-2RREGDQH.js.map → chunk-2OP6WLGV.js.map} +0 -0
  923. /package/dist/{chunk-OSJ3MUTZ.js.map → chunk-2RG7NIAS.js.map} +0 -0
  924. /package/dist/{chunk-26RWVLRD.js.map → chunk-2STUPWEL.js.map} +0 -0
  925. /package/dist/{chunk-XYBV4ZJQ.js.map → chunk-2YUOVM3G.js.map} +0 -0
  926. /package/dist/{chunk-2GDNWKSC.js.map → chunk-2Z3NQNTM.js.map} +0 -0
  927. /package/dist/{chunk-2VB2O4FQ.js.map → chunk-3CPWWGNK.js.map} +0 -0
  928. /package/dist/{chunk-7WKP3DYJ.js.map → chunk-3ED2U6XE.js.map} +0 -0
  929. /package/dist/{chunk-BT3BAGB5.js.map → chunk-3GZA4BUW.js.map} +0 -0
  930. /package/dist/{chunk-3USJPT2S.js.map → chunk-3IK6UYO6.js.map} +0 -0
  931. /package/dist/{chunk-6AHATAAY.js.map → chunk-3PZ7JZI2.js.map} +0 -0
  932. /package/dist/{chunk-JZ4QXS6D.js.map → chunk-4DVJ6ONS.js.map} +0 -0
  933. /package/dist/{chunk-5QM2WPKV.js.map → chunk-4E3ZJRTZ.js.map} +0 -0
  934. /package/dist/{chunk-NFDFYWMV.js.map → chunk-4SAWSRAA.js.map} +0 -0
  935. /package/dist/{chunk-ELL6HSYR.js.map → chunk-53AGXXZM.js.map} +0 -0
  936. /package/dist/{chunk-G6ZZC543.js.map → chunk-54YW6SZZ.js.map} +0 -0
  937. /package/dist/{chunk-4SZZAFYQ.js.map → chunk-57AZS3IE.js.map} +0 -0
  938. /package/dist/{chunk-JW33RV4V.js.map → chunk-5CPEEAFD.js.map} +0 -0
  939. /package/dist/{chunk-D6L4GHRH.js.map → chunk-5EWSRZ2Y.js.map} +0 -0
  940. /package/dist/{chunk-PW54V7T5.js.map → chunk-5IE76VCY.js.map} +0 -0
  941. /package/dist/{chunk-6GXVYAGR.js.map → chunk-5NWEKLDZ.js.map} +0 -0
  942. /package/dist/{chunk-6UHCBH4G.js.map → chunk-5O2FCCHZ.js.map} +0 -0
  943. /package/dist/{chunk-2YC6JQRO.js.map → chunk-5QAY6K77.js.map} +0 -0
  944. /package/dist/{chunk-EYUT5Y6V.js.map → chunk-6DK6Z4UN.js.map} +0 -0
  945. /package/dist/{chunk-PW4IMTYR.js.map → chunk-6DVCC7QS.js.map} +0 -0
  946. /package/dist/{chunk-7WIDB4PL.js.map → chunk-6JHU2UBS.js.map} +0 -0
  947. /package/dist/{chunk-CQH4FWYA.js.map → chunk-6PZ7OBYU.js.map} +0 -0
  948. /package/dist/{chunk-VFQ3H6CO.js.map → chunk-6WGRDRMA.js.map} +0 -0
  949. /package/dist/{chunk-MTTGSQA5.js.map → chunk-77WAKEAH.js.map} +0 -0
  950. /package/dist/{chunk-O5YWDLYF.js.map → chunk-7TDO3CUM.js.map} +0 -0
  951. /package/dist/{chunk-2AHTY7OT.js.map → chunk-7TIX2UAR.js.map} +0 -0
  952. /package/dist/{chunk-FOGNA3BU.js.map → chunk-7V5REBCP.js.map} +0 -0
  953. /package/dist/{chunk-2JENKGCE.js.map → chunk-7VMZGLYI.js.map} +0 -0
  954. /package/dist/{chunk-E7UIVD7F.js.map → chunk-7W37NS3I.js.map} +0 -0
  955. /package/dist/{chunk-ZDLYSXKN.js.map → chunk-7X6SDK2C.js.map} +0 -0
  956. /package/dist/{chunk-ZAMTKG5U.js.map → chunk-7ZNUHRP5.js.map} +0 -0
  957. /package/dist/{chunk-DMMJIFKA.js.map → chunk-A36PZALD.js.map} +0 -0
  958. /package/dist/{chunk-WV2KPJUW.js.map → chunk-AUI6VA63.js.map} +0 -0
  959. /package/dist/{chunk-Q2EXYSMO.js.map → chunk-AW2MQB37.js.map} +0 -0
  960. /package/dist/{chunk-6WLX3NR3.js.map → chunk-AWKES45Y.js.map} +0 -0
  961. /package/dist/{chunk-OD3DCCCB.js.map → chunk-AXHZYXUV.js.map} +0 -0
  962. /package/dist/{chunk-QDTKECT4.js.map → chunk-BHNSJVBC.js.map} +0 -0
  963. /package/dist/{chunk-FTCHM755.js.map → chunk-BJEJFISW.js.map} +0 -0
  964. /package/dist/{chunk-B2I5ZW35.js.map → chunk-BJFH6JI5.js.map} +0 -0
  965. /package/dist/{chunk-RIPS7GFR.js.map → chunk-BMICEQZQ.js.map} +0 -0
  966. /package/dist/{chunk-BF4SADKX.js.map → chunk-BTLBYBLU.js.map} +0 -0
  967. /package/dist/{chunk-U5EFEMYU.js.map → chunk-BXBDYNRP.js.map} +0 -0
  968. /package/dist/{chunk-BTSYDIVJ.js.map → chunk-C372BFOV.js.map} +0 -0
  969. /package/dist/{chunk-MLJADQFI.js.map → chunk-CMKGILJK.js.map} +0 -0
  970. /package/dist/{chunk-DKT3N37I.js.map → chunk-CRAOSVHC.js.map} +0 -0
  971. /package/dist/{chunk-WNDAKLHG.js.map → chunk-CRU35QQH.js.map} +0 -0
  972. /package/dist/{chunk-2XNG2KNT.js.map → chunk-CUIWCGMA.js.map} +0 -0
  973. /package/dist/{chunk-QWL4L366.js.map → chunk-D5TWNFFE.js.map} +0 -0
  974. /package/dist/{chunk-SWIHWCTW.js.map → chunk-DF5EAHDN.js.map} +0 -0
  975. /package/dist/{chunk-HUAGBS4O.js.map → chunk-DJAXC5OK.js.map} +0 -0
  976. /package/dist/{chunk-FXSHP4JZ.js.map → chunk-DXBYWSL5.js.map} +0 -0
  977. /package/dist/{chunk-5MUJDC6C.js.map → chunk-DXR5PDFP.js.map} +0 -0
  978. /package/dist/{chunk-NXWBBZJV.js.map → chunk-DZWARC4M.js.map} +0 -0
  979. /package/dist/{chunk-GXXZ3WAK.js.map → chunk-DZXEDSQI.js.map} +0 -0
  980. /package/dist/{chunk-Q52CXW6C.js.map → chunk-E7XERZWC.js.map} +0 -0
  981. /package/dist/{chunk-4NBTZRKT.js.map → chunk-ECJBYNLJ.js.map} +0 -0
  982. /package/dist/{chunk-QE3ZFGI3.js.map → chunk-EDI6SJ2N.js.map} +0 -0
  983. /package/dist/{chunk-E6NRSRBE.js.map → chunk-EWSOC6WF.js.map} +0 -0
  984. /package/dist/{chunk-TA5CFTO4.js.map → chunk-F2OPHAUN.js.map} +0 -0
  985. /package/dist/{chunk-5DTST3TP.js.map → chunk-F4ISQGGM.js.map} +0 -0
  986. /package/dist/{chunk-MBIBB6GI.js.map → chunk-FO4LYKJL.js.map} +0 -0
  987. /package/dist/{chunk-EUBGLFFR.js.map → chunk-FPXASDG5.js.map} +0 -0
  988. /package/dist/{chunk-C3HUF3M2.js.map → chunk-FVXBNBHO.js.map} +0 -0
  989. /package/dist/{chunk-W5MPXR3A.js.map → chunk-FZC5N55X.js.map} +0 -0
  990. /package/dist/{chunk-MA6O7CM6.js.map → chunk-GAVYGBFI.js.map} +0 -0
  991. /package/dist/{chunk-REX6JIC7.js.map → chunk-GKVJIDHF.js.map} +0 -0
  992. /package/dist/{chunk-EW6RNWSH.js.map → chunk-GVN5SZLX.js.map} +0 -0
  993. /package/dist/{chunk-KVFEZDBO.js.map → chunk-H3T7IWNA.js.map} +0 -0
  994. /package/dist/{chunk-I6VBHT7S.js.map → chunk-HAX4LCR5.js.map} +0 -0
  995. /package/dist/{chunk-OBMCZO7E.js.map → chunk-HC4JFZVU.js.map} +0 -0
  996. /package/dist/{chunk-UJUQ2QOX.js.map → chunk-HEFPPMBQ.js.map} +0 -0
  997. /package/dist/{chunk-DOFJZ2JU.js.map → chunk-HNLR7Q4Z.js.map} +0 -0
  998. /package/dist/{chunk-GE33BGB7.js.map → chunk-HSOXMJOT.js.map} +0 -0
  999. /package/dist/{chunk-AB5MBIXY.js.map → chunk-I4MRDSUF.js.map} +0 -0
  1000. /package/dist/{chunk-AFBJTUFK.js.map → chunk-I4QEJ62Y.js.map} +0 -0
  1001. /package/dist/{chunk-6ED2YWBT.js.map → chunk-I5B5L6Q4.js.map} +0 -0
  1002. /package/dist/{chunk-C5QCAOES.js.map → chunk-I5QZJODL.js.map} +0 -0
  1003. /package/dist/{chunk-76ERNKIZ.js.map → chunk-I7ITSXSJ.js.map} +0 -0
  1004. /package/dist/{chunk-OMH7R6I3.js.map → chunk-I7XIZRFD.js.map} +0 -0
  1005. /package/dist/{chunk-E337C2VK.js.map → chunk-IDANQPRH.js.map} +0 -0
  1006. /package/dist/{chunk-3FD76LXM.js.map → chunk-IFB3WJ36.js.map} +0 -0
  1007. /package/dist/{chunk-ZIT5KD4Q.js.map → chunk-IHTAKKTK.js.map} +0 -0
  1008. /package/dist/{chunk-QHNVNR7B.js.map → chunk-ILDXWY37.js.map} +0 -0
  1009. /package/dist/{chunk-GQ67HSJY.js.map → chunk-IMDQUHBJ.js.map} +0 -0
  1010. /package/dist/{chunk-DSXVY5WZ.js.map → chunk-IMZCQBOT.js.map} +0 -0
  1011. /package/dist/{chunk-WEZ5PXZP.js.map → chunk-IXPTECSC.js.map} +0 -0
  1012. /package/dist/{chunk-NY2QWROL.js.map → chunk-J255A3N5.js.map} +0 -0
  1013. /package/dist/{chunk-O2UWH5RG.js.map → chunk-J5F5HPPW.js.map} +0 -0
  1014. /package/dist/{chunk-VIEFJ2DM.js.map → chunk-JEA3QDX7.js.map} +0 -0
  1015. /package/dist/{chunk-TF4ZVJLI.js.map → chunk-JEUPAVYY.js.map} +0 -0
  1016. /package/dist/{chunk-ZG447FSS.js.map → chunk-JKHKLL5W.js.map} +0 -0
  1017. /package/dist/{chunk-FQFKHNC7.js.map → chunk-JQL7ZH6C.js.map} +0 -0
  1018. /package/dist/{chunk-776QZ573.js.map → chunk-JWB44UGJ.js.map} +0 -0
  1019. /package/dist/{chunk-ICNNNOXE.js.map → chunk-JZ4NLCAP.js.map} +0 -0
  1020. /package/dist/{chunk-TNKWOUWP.js.map → chunk-K2A5PXQ5.js.map} +0 -0
  1021. /package/dist/{chunk-SRFARKXC.js.map → chunk-K56XV3C3.js.map} +0 -0
  1022. /package/dist/{chunk-QAJ53XBW.js.map → chunk-K6GAXXVA.js.map} +0 -0
  1023. /package/dist/{chunk-MF3ZFB4H.js.map → chunk-KCBMFSMS.js.map} +0 -0
  1024. /package/dist/{chunk-VLXM36VS.js.map → chunk-KF2FV3ZJ.js.map} +0 -0
  1025. /package/dist/{chunk-YSVD5HI4.js.map → chunk-KJD65EJP.js.map} +0 -0
  1026. /package/dist/{chunk-K42OUZQ3.js.map → chunk-KLEUWIMZ.js.map} +0 -0
  1027. /package/dist/{chunk-PENGLDR5.js.map → chunk-KODELWYT.js.map} +0 -0
  1028. /package/dist/{chunk-TZAO65I4.js.map → chunk-KRDR5RJD.js.map} +0 -0
  1029. /package/dist/{chunk-KHJ5PXFM.js.map → chunk-KUDGXAF7.js.map} +0 -0
  1030. /package/dist/{chunk-6H4SJBPE.js.map → chunk-KYS77RPN.js.map} +0 -0
  1031. /package/dist/{chunk-OWAYJ2OV.js.map → chunk-L7YTNTIK.js.map} +0 -0
  1032. /package/dist/{chunk-YYLMZLI6.js.map → chunk-LHPNABDH.js.map} +0 -0
  1033. /package/dist/{chunk-LM2W5YAT.js.map → chunk-MFROMEKA.js.map} +0 -0
  1034. /package/dist/{chunk-AXBSYWKX.js.map → chunk-MIHN76LX.js.map} +0 -0
  1035. /package/dist/{chunk-4LPOWQJY.js.map → chunk-MIYFS2XN.js.map} +0 -0
  1036. /package/dist/{chunk-KKI55ZMW.js.map → chunk-MJUCFQMS.js.map} +0 -0
  1037. /package/dist/{chunk-ZUDOVDKR.js.map → chunk-MM4FNWI4.js.map} +0 -0
  1038. /package/dist/{chunk-M4SDVTKJ.js.map → chunk-MNZG4OHU.js.map} +0 -0
  1039. /package/dist/{chunk-EILSAQVJ.js.map → chunk-N6AACDUW.js.map} +0 -0
  1040. /package/dist/{chunk-BM3NEZ6X.js.map → chunk-NC55IFN3.js.map} +0 -0
  1041. /package/dist/{chunk-MJJGJMYJ.js.map → chunk-NC7PVOEK.js.map} +0 -0
  1042. /package/dist/{chunk-LA5T52RM.js.map → chunk-NCYMNCJO.js.map} +0 -0
  1043. /package/dist/{chunk-HLOEPV5C.js.map → chunk-ND2BXV3P.js.map} +0 -0
  1044. /package/dist/{chunk-UJDOWCQ3.js.map → chunk-NDBTFUO6.js.map} +0 -0
  1045. /package/dist/{chunk-K5TOVX5A.js.map → chunk-NDQJZ7HF.js.map} +0 -0
  1046. /package/dist/{chunk-35737UT4.js.map → chunk-NGJJJPZZ.js.map} +0 -0
  1047. /package/dist/{chunk-42CMQ5VR.js.map → chunk-NJTSNNE7.js.map} +0 -0
  1048. /package/dist/{chunk-FBTJKSTM.js.map → chunk-NRTE7DNV.js.map} +0 -0
  1049. /package/dist/{chunk-YT3WGNG6.js.map → chunk-NULUNM7H.js.map} +0 -0
  1050. /package/dist/{chunk-7XOVTPDI.js.map → chunk-NUNZS36W.js.map} +0 -0
  1051. /package/dist/{chunk-FC2FTSK3.js.map → chunk-NW53H5RW.js.map} +0 -0
  1052. /package/dist/{chunk-TW3LKRJF.js.map → chunk-NXCMHIKI.js.map} +0 -0
  1053. /package/dist/{chunk-CGK6ALQU.js.map → chunk-O3LKCBP5.js.map} +0 -0
  1054. /package/dist/{chunk-QIK2Q6N5.js.map → chunk-O6N4ABCA.js.map} +0 -0
  1055. /package/dist/{chunk-73NXYYWE.js.map → chunk-O732GAFC.js.map} +0 -0
  1056. /package/dist/{chunk-R3J2PTVQ.js.map → chunk-OF4TIKYC.js.map} +0 -0
  1057. /package/dist/{chunk-BUBNGKWG.js.map → chunk-OMPVOMPP.js.map} +0 -0
  1058. /package/dist/{chunk-4OXI6HCV.js.map → chunk-OPJJSKUK.js.map} +0 -0
  1059. /package/dist/{chunk-4Y6BK7IU.js.map → chunk-OPWCMA4D.js.map} +0 -0
  1060. /package/dist/{chunk-ADNMXBCX.js.map → chunk-ORJPS5VN.js.map} +0 -0
  1061. /package/dist/{chunk-SKMNW4SW.js.map → chunk-OSY5K7L7.js.map} +0 -0
  1062. /package/dist/{chunk-L4I665WK.js.map → chunk-OV6QJRT4.js.map} +0 -0
  1063. /package/dist/{chunk-7O5CGGIQ.js.map → chunk-OVKYVZMW.js.map} +0 -0
  1064. /package/dist/{chunk-7BYWOFVH.js.map → chunk-OZCBM3UC.js.map} +0 -0
  1065. /package/dist/{chunk-ALVRWCXE.js.map → chunk-P3A2EINJ.js.map} +0 -0
  1066. /package/dist/{chunk-BZO5ZMUP.js.map → chunk-PTAG4PDC.js.map} +0 -0
  1067. /package/dist/{chunk-QHHSUR2Y.js.map → chunk-PTF5B7TJ.js.map} +0 -0
  1068. /package/dist/{chunk-O2IOPP3R.js.map → chunk-Q3DPEYX4.js.map} +0 -0
  1069. /package/dist/{chunk-G7FU6PUA.js.map → chunk-QB2KMIDP.js.map} +0 -0
  1070. /package/dist/{chunk-64PO2WXU.js.map → chunk-QCSJ4CWE.js.map} +0 -0
  1071. /package/dist/{chunk-YYICQDK4.js.map → chunk-QIOQ2NPQ.js.map} +0 -0
  1072. /package/dist/{chunk-NB2HMRT2.js.map → chunk-QK5EFEUT.js.map} +0 -0
  1073. /package/dist/{chunk-366XZ4PM.js.map → chunk-QPQBLYQJ.js.map} +0 -0
  1074. /package/dist/{chunk-Q6XQ2R37.js.map → chunk-QPSGCC5D.js.map} +0 -0
  1075. /package/dist/{chunk-JJZPLGIP.js.map → chunk-QZAAUQRN.js.map} +0 -0
  1076. /package/dist/{chunk-VGUN6VB2.js.map → chunk-RGBI63KJ.js.map} +0 -0
  1077. /package/dist/{chunk-LRN6GYAZ.js.map → chunk-RLBKLAEY.js.map} +0 -0
  1078. /package/dist/{chunk-F7U3QPZ3.js.map → chunk-RMFKVOM7.js.map} +0 -0
  1079. /package/dist/{chunk-Q4EFRI6X.js.map → chunk-ROKQU7WG.js.map} +0 -0
  1080. /package/dist/{chunk-7QOHRZ67.js.map → chunk-RPVREAU7.js.map} +0 -0
  1081. /package/dist/{chunk-VGWWEVSD.js.map → chunk-RQKLF42C.js.map} +0 -0
  1082. /package/dist/{chunk-2VTTKH23.js.map → chunk-SEO7TICN.js.map} +0 -0
  1083. /package/dist/{chunk-3QNRBEYH.js.map → chunk-SHHJCL7X.js.map} +0 -0
  1084. /package/dist/{chunk-E6SQKHAU.js.map → chunk-SIRLACNZ.js.map} +0 -0
  1085. /package/dist/{chunk-H2TCRX3H.js.map → chunk-SKPHMYAA.js.map} +0 -0
  1086. /package/dist/{chunk-YDCUBUWH.js.map → chunk-SODC7T6L.js.map} +0 -0
  1087. /package/dist/{chunk-TNYFHKVV.js.map → chunk-SQJIKMN3.js.map} +0 -0
  1088. /package/dist/{chunk-DO74DQC7.js.map → chunk-SVINDKVW.js.map} +0 -0
  1089. /package/dist/{chunk-CPYGO76Q.js.map → chunk-SYCDHPZF.js.map} +0 -0
  1090. /package/dist/{chunk-UQ3IM6FY.js.map → chunk-T2QX3FDP.js.map} +0 -0
  1091. /package/dist/{chunk-NWGNFN3N.js.map → chunk-T3OWFVMS.js.map} +0 -0
  1092. /package/dist/{chunk-N3OARGH2.js.map → chunk-T6XI5FLY.js.map} +0 -0
  1093. /package/dist/{chunk-MQG7RV3B.js.map → chunk-T7OXJZCX.js.map} +0 -0
  1094. /package/dist/{chunk-2T7DX6KR.js.map → chunk-TAT5USZN.js.map} +0 -0
  1095. /package/dist/{chunk-ICX64J4U.js.map → chunk-TPQTRNER.js.map} +0 -0
  1096. /package/dist/{chunk-D2TOWEYH.js.map → chunk-TUIN4MB7.js.map} +0 -0
  1097. /package/dist/{chunk-LQDUHU3Y.js.map → chunk-TX3VECZU.js.map} +0 -0
  1098. /package/dist/{chunk-TG7DADJR.js.map → chunk-TXLIEOJX.js.map} +0 -0
  1099. /package/dist/{chunk-2ZVRJRXC.js.map → chunk-U3DN4HEY.js.map} +0 -0
  1100. /package/dist/{chunk-PSMAWRPL.js.map → chunk-U7XM7CB4.js.map} +0 -0
  1101. /package/dist/{chunk-4TQL3WP2.js.map → chunk-UJK53QFL.js.map} +0 -0
  1102. /package/dist/{chunk-RBRX5ZS3.js.map → chunk-UMTXA2TH.js.map} +0 -0
  1103. /package/dist/{chunk-36MIDGAH.js.map → chunk-UPDSXFK5.js.map} +0 -0
  1104. /package/dist/{chunk-OYXBFSGK.js.map → chunk-UTIAXH52.js.map} +0 -0
  1105. /package/dist/{chunk-5WUN7XPD.js.map → chunk-UVN5TMHU.js.map} +0 -0
  1106. /package/dist/{chunk-UYE47LO6.js.map → chunk-VGYXW3VG.js.map} +0 -0
  1107. /package/dist/{chunk-IKUNOX7F.js.map → chunk-VS7AHPCZ.js.map} +0 -0
  1108. /package/dist/{chunk-MYUFMVCH.js.map → chunk-VTTAJOQ7.js.map} +0 -0
  1109. /package/dist/{chunk-K63HGHZX.js.map → chunk-VWPOLUAO.js.map} +0 -0
  1110. /package/dist/{chunk-GA4YEAMX.js.map → chunk-X3MWB2QU.js.map} +0 -0
  1111. /package/dist/{chunk-I36GSRUJ.js.map → chunk-X6KAJI3V.js.map} +0 -0
  1112. /package/dist/{chunk-IKMUFDVS.js.map → chunk-XBLRHV5R.js.map} +0 -0
  1113. /package/dist/{chunk-XOSQP3YA.js.map → chunk-XDFP2LMW.js.map} +0 -0
  1114. /package/dist/{chunk-MW7Y3T55.js.map → chunk-XEQMZB3C.js.map} +0 -0
  1115. /package/dist/{chunk-B3LMRTRF.js.map → chunk-XEYLT5VA.js.map} +0 -0
  1116. /package/dist/{chunk-UI4HI5QK.js.map → chunk-XHIQ5I6N.js.map} +0 -0
  1117. /package/dist/{chunk-U6M4LS3M.js.map → chunk-XLH7QY2R.js.map} +0 -0
  1118. /package/dist/{chunk-OSA5EQG5.js.map → chunk-XWFAMUZQ.js.map} +0 -0
  1119. /package/dist/{chunk-6MT3HHUB.js.map → chunk-Y4OBB2VN.js.map} +0 -0
  1120. /package/dist/{chunk-CZP5QXNB.js.map → chunk-YCVD6CI3.js.map} +0 -0
  1121. /package/dist/{chunk-APW4T4SW.js.map → chunk-YENLNISG.js.map} +0 -0
  1122. /package/dist/{chunk-JWPA6ZPZ.js.map → chunk-YIRVLKAX.js.map} +0 -0
  1123. /package/dist/{chunk-LQ62ECE6.js.map → chunk-YL73CVNK.js.map} +0 -0
  1124. /package/dist/{chunk-ILKDYBON.js.map → chunk-YLS6QE5G.js.map} +0 -0
  1125. /package/dist/{chunk-YBKVGLQR.js.map → chunk-YPWU5KPE.js.map} +0 -0
  1126. /package/dist/{chunk-IKJLSBUI.js.map → chunk-YQXTDZSU.js.map} +0 -0
  1127. /package/dist/{chunk-TPMZBOFH.js.map → chunk-YSJEAAOL.js.map} +0 -0
  1128. /package/dist/{chunk-W3BFRR2G.js.map → chunk-YWIFM7D7.js.map} +0 -0
  1129. /package/dist/{chunk-WTJ4PLMU.js.map → chunk-YWVI6ZMK.js.map} +0 -0
  1130. /package/dist/{chunk-5KWMYPJV.js.map → chunk-Z4FMAFNH.js.map} +0 -0
  1131. /package/dist/{chunk-W5OWKVZG.js.map → chunk-Z654FWNU.js.map} +0 -0
  1132. /package/dist/{chunk-5FH5LQVS.js.map → chunk-Z7Y523PS.js.map} +0 -0
  1133. /package/dist/{chunk-HLL4PBO7.js.map → chunk-ZD67RM6G.js.map} +0 -0
  1134. /package/dist/{chunk-IVYJX3OY.js.map → chunk-ZEG4VPBL.js.map} +0 -0
  1135. /package/dist/{chunk-K6R5T44I.js.map → chunk-ZLYCOBHW.js.map} +0 -0
  1136. /package/dist/{chunk-VADHIT26.js.map → chunk-ZNJ5MTXV.js.map} +0 -0
  1137. /package/dist/{chunk-2KYQC4T5.js.map → chunk-ZSGY3H53.js.map} +0 -0
  1138. /package/dist/{chunk-BKP43KK4.js.map → chunk-ZTPXACWB.js.map} +0 -0
  1139. /package/dist/{chunk-JCY4CMDH.js.map → chunk-ZUA3JMI6.js.map} +0 -0
  1140. /package/dist/{chunk-IGVVXLKJ.js.map → chunk-ZYAZUPPV.js.map} +0 -0
  1141. /package/dist/{computer-viewer-LPZ763KF.js.map → computer-viewer-TDDO25AV.js.map} +0 -0
  1142. /package/dist/{embedded-new-voice-YVMKSLKJ.js.map → embedded-new-voice-2G3VLPVQ.js.map} +0 -0
  1143. /package/dist/{embedded-voice-BJPQFXSU.js.map → embedded-voice-T5IWOWGD.js.map} +0 -0
  1144. /package/dist/{fleet-decision-row-AA4H5CDT.js.map → fleet-decision-row-WM64KXP3.js.map} +0 -0
  1145. /package/dist/{model-policy-picker-menu-HSMWVO4P.js.map → model-policy-picker-menu-SMC6J6QN.js.map} +0 -0
  1146. /package/dist/{payment-page-card-3LTSFJGN.js.map → payment-page-card-G4U63KUV.js.map} +0 -0
  1147. /package/dist/{platform-activity-row-5VYV6TX4.js.map → platform-activity-row-BUZGZAKZ.js.map} +0 -0
  1148. /package/dist/{queue-surface-implementation-NXHZUKD2.js.map → queue-surface-implementation-4KUZ4PJV.js.map} +0 -0
  1149. /package/dist/{sandbox-files-YCMLQUFU.js.map → sandbox-files-ESDMOFSD.js.map} +0 -0
  1150. /package/dist/{session-connect-cards-KSQLMRM5.js.map → session-connect-cards-Q53KMMYY.js.map} +0 -0
  1151. /package/dist/{session-realtime-ZR6JLG3Y.js.map → session-realtime-CF3I35WJ.js.map} +0 -0
  1152. /package/dist/{timeline-annotation-markers-YAHDPWVG.js.map → timeline-annotation-markers-CJK4RYZ4.js.map} +0 -0
  1153. /package/dist/{timeline-annotation-selection-KHXNCEJP.js.map → timeline-annotation-selection-67GF5H26.js.map} +0 -0
  1154. /package/dist/{timeline-annotations-dialog-Y4XD3N7B.js.map → timeline-annotations-dialog-ONJPQDJQ.js.map} +0 -0
@@ -0,0 +1,1356 @@
1
+ "use client";
2
+ import {
3
+ applicableChords,
4
+ chordAccelerator,
5
+ chordAriaKeys,
6
+ chordLabel,
7
+ currentPlatform,
8
+ isTextEntry,
9
+ matchesChord
10
+ } from "./chunk-BTF7WNUT.js";
11
+ import {
12
+ applySessionArchiveProjection
13
+ } from "./chunk-OSI2QWSL.js";
14
+ import {
15
+ notifySessionListChanged
16
+ } from "./chunk-O5S57N6H.js";
17
+ import {
18
+ archiveActionLabel,
19
+ requestSessionArchive
20
+ } from "./chunk-KY2R73CG.js";
21
+ import {
22
+ listsAsTopLevel,
23
+ readChatDirectory,
24
+ recordChatVisit,
25
+ rememberChats
26
+ } from "./chunk-ROKQU7WG.js";
27
+ import {
28
+ FORK_CURRENT_CHAT_EVENT,
29
+ OPEN_COMMAND_MENU_EVENT,
30
+ RENAME_CURRENT_CHAT_EVENT,
31
+ useRail
32
+ } from "./chunk-5EWSRZ2Y.js";
33
+ import {
34
+ requestConversationFind
35
+ } from "./chunk-7ZEGSUR7.js";
36
+ import {
37
+ requestSessionComposerFocus
38
+ } from "./chunk-MMY23KS7.js";
39
+ import {
40
+ requestSessionSearch
41
+ } from "./chunk-TXIIBNCA.js";
42
+ import {
43
+ copyLink
44
+ } from "./chunk-SC6RRD2D.js";
45
+ import {
46
+ useSessionUiFeature
47
+ } from "./chunk-FWXMQTVG.js";
48
+ import {
49
+ t
50
+ } from "./chunk-HSOXMJOT.js";
51
+ import {
52
+ hasWorkspacePermission
53
+ } from "./chunk-H2ALCTWC.js";
54
+ import {
55
+ isPersonalWorkspace,
56
+ navigableWorkspaces
57
+ } from "./chunk-LBSXJVHD.js";
58
+ import {
59
+ useNavigate,
60
+ usePage,
61
+ useRouterState
62
+ } from "./chunk-BXBDYNRP.js";
63
+ import {
64
+ desktopBridge,
65
+ desktopCapability
66
+ } from "./chunk-5QBCQVKZ.js";
67
+ import {
68
+ toast
69
+ } from "./chunk-O4EA4F3W.js";
70
+ import {
71
+ useAppContext
72
+ } from "./chunk-JDFDPMKX.js";
73
+ import {
74
+ useMeetingOnScreen
75
+ } from "./chunk-TGT2R5VO.js";
76
+ import {
77
+ useUiEventTarget
78
+ } from "./chunk-WGPLDFEC.js";
79
+ import {
80
+ userErrorText
81
+ } from "./chunk-O4OOG3D6.js";
82
+ import {
83
+ meetingTitle
84
+ } from "./chunk-2FSBSCZJ.js";
85
+ import {
86
+ sessionDisplayTitle
87
+ } from "./chunk-3PZ7JZI2.js";
88
+ import {
89
+ canStartRecording,
90
+ useMeetingRecorderControls
91
+ } from "./chunk-ZHDFQITM.js";
92
+ import {
93
+ workspacesByOrganization
94
+ } from "./chunk-NRP4REXE.js";
95
+
96
+ // src/app/lib/actions/actions-provider.tsx
97
+ import {
98
+ createContext,
99
+ lazy,
100
+ Suspense,
101
+ useCallback as useCallback2,
102
+ useContext,
103
+ useEffect,
104
+ useMemo as useMemo2,
105
+ useRef as useRef2,
106
+ useState
107
+ } from "react";
108
+ import { OpenGeniRecordingsClient } from "@opengeni/sdk/recordings";
109
+
110
+ // src/app/lib/actions/site-directory.ts
111
+ import { useSyncExternalStore } from "react";
112
+ var directories = /* @__PURE__ */ new Map();
113
+ var listeners = /* @__PURE__ */ new Map();
114
+ function directory(subjectId) {
115
+ let state = directories.get(subjectId);
116
+ if (!state) {
117
+ state = { sites: /* @__PURE__ */ new Map(), version: 0 };
118
+ directories.set(subjectId, state);
119
+ }
120
+ return state;
121
+ }
122
+ function siteRecords(workspaceId, sources) {
123
+ const seen = /* @__PURE__ */ new Set();
124
+ const records = [];
125
+ for (const source of sources) {
126
+ const id = source.siteId ?? source.id;
127
+ if (typeof id !== "string" || !id || seen.has(id)) continue;
128
+ seen.add(id);
129
+ records.push({
130
+ id,
131
+ workspaceId,
132
+ title: typeof source.title === "string" && source.title.trim() || "Untitled Site",
133
+ updatedAt: Date.parse(source.updatedAt) || 0
134
+ });
135
+ }
136
+ return records;
137
+ }
138
+ function rememberSidebarSites(subjectId, workspaceId, sources) {
139
+ const state = directory(subjectId);
140
+ const next = siteRecords(workspaceId, sources).sort((a, b) => b.updatedAt - a.updatedAt);
141
+ const current = state.sites.get(workspaceId);
142
+ if (current && current.length === next.length && current.every(
143
+ (site, index) => site.id === next[index].id && site.title === next[index].title && site.updatedAt === next[index].updatedAt
144
+ ))
145
+ return;
146
+ state.sites.set(workspaceId, next);
147
+ state.version += 1;
148
+ for (const listener of listeners.get(subjectId) ?? []) listener();
149
+ }
150
+ function readSidebarSites(subjectId, workspaceId) {
151
+ return directory(subjectId).sites.get(workspaceId) ?? [];
152
+ }
153
+ function useSiteDirectoryVersion(subjectId) {
154
+ return useSyncExternalStore(
155
+ (listener) => {
156
+ let set = listeners.get(subjectId);
157
+ if (!set) {
158
+ set = /* @__PURE__ */ new Set();
159
+ listeners.set(subjectId, set);
160
+ }
161
+ set.add(listener);
162
+ return () => {
163
+ set.delete(listener);
164
+ };
165
+ },
166
+ () => directory(subjectId).version,
167
+ () => 0
168
+ );
169
+ }
170
+ function sitePath(workspaceId, siteId) {
171
+ return `/workspaces/${encodeURIComponent(workspaceId)}/sites/${encodeURIComponent(siteId)}`;
172
+ }
173
+
174
+ // src/app/lib/actions/meeting-directory.ts
175
+ import { useSyncExternalStore as useSyncExternalStore2 } from "react";
176
+ var directories2 = /* @__PURE__ */ new Map();
177
+ var listeners2 = /* @__PURE__ */ new Map();
178
+ function directory2(subjectId) {
179
+ let state = directories2.get(subjectId);
180
+ if (!state) {
181
+ state = { meetings: /* @__PURE__ */ new Map(), version: 0 };
182
+ directories2.set(subjectId, state);
183
+ }
184
+ return state;
185
+ }
186
+ function meetingRecords(recordings) {
187
+ const seen = /* @__PURE__ */ new Set();
188
+ const records = [];
189
+ for (const recording of recordings) {
190
+ if (!recording?.id || seen.has(recording.id)) continue;
191
+ seen.add(recording.id);
192
+ records.push({
193
+ id: recording.id,
194
+ workspaceId: recording.workspaceId,
195
+ title: meetingTitle(recording),
196
+ startedAt: Date.parse(recording.startedAt) || 0
197
+ });
198
+ }
199
+ return records;
200
+ }
201
+ function rememberRecentMeetings(subjectId, workspaceId, records) {
202
+ const state = directory2(subjectId);
203
+ const next = [...records].sort((a, b) => b.startedAt - a.startedAt);
204
+ const current = state.meetings.get(workspaceId);
205
+ if (current && current.length === next.length && current.every(
206
+ (meeting, index) => meeting.id === next[index].id && meeting.title === next[index].title && meeting.startedAt === next[index].startedAt
207
+ ))
208
+ return;
209
+ state.meetings.set(workspaceId, next);
210
+ state.version += 1;
211
+ for (const listener of listeners2.get(subjectId) ?? []) listener();
212
+ }
213
+ function readRecentMeetings(subjectId, workspaceId) {
214
+ return directory2(subjectId).meetings.get(workspaceId) ?? [];
215
+ }
216
+ function useMeetingDirectoryVersion(subjectId) {
217
+ return useSyncExternalStore2(
218
+ (listener) => {
219
+ let set = listeners2.get(subjectId);
220
+ if (!set) {
221
+ set = /* @__PURE__ */ new Set();
222
+ listeners2.set(subjectId, set);
223
+ }
224
+ set.add(listener);
225
+ return () => {
226
+ set.delete(listener);
227
+ };
228
+ },
229
+ () => directory2(subjectId).version,
230
+ () => 0
231
+ );
232
+ }
233
+ function meetingPath(workspaceId, recordingId) {
234
+ return `/workspaces/${encodeURIComponent(workspaceId)}/meetings/${encodeURIComponent(recordingId)}`;
235
+ }
236
+
237
+ // src/app/lib/actions/chat-switcher.ts
238
+ var SWITCHER_LIMIT = 100;
239
+ var SWITCHER_SHOW_DELAY_MS = 140;
240
+ function switchable(record, reachable) {
241
+ return Boolean(record && !record.archived && reachable(record.workspaceId));
242
+ }
243
+ function moreChats(directory3, taken, reachable, room) {
244
+ if (room <= 0) return [];
245
+ const more = [];
246
+ for (const record of directory3.rows.values()) {
247
+ if (!taken.has(record.id) && switchable(record, reachable) && listsAsTopLevel(record)) {
248
+ more.push(record);
249
+ }
250
+ }
251
+ more.sort((a, b) => b.updatedAt - a.updatedAt || (a.id < b.id ? -1 : 1));
252
+ return more.slice(0, room).map((record) => record.id);
253
+ }
254
+ function openChatSwitcher(directory3, currentChatId, backwards, reachable = () => true) {
255
+ const recent = directory3.recent.filter(
256
+ (id) => id !== currentChatId && switchable(directory3.rows.get(id), reachable)
257
+ );
258
+ const viewed = (currentChatId ? [currentChatId, ...recent] : recent).slice(0, SWITCHER_LIMIT);
259
+ const ids = [
260
+ ...viewed,
261
+ ...moreChats(directory3, new Set(viewed), reachable, SWITCHER_LIMIT - viewed.length)
262
+ ];
263
+ const first = currentChatId ? 1 : 0;
264
+ if (ids.length <= first) return null;
265
+ return {
266
+ ids,
267
+ viewed: viewed.length,
268
+ index: backwards ? ids.length - 1 : first,
269
+ visible: false
270
+ };
271
+ }
272
+ function extendChatSwitcher(state, directory3, reachable = () => true) {
273
+ const more = moreChats(
274
+ directory3,
275
+ new Set(state.ids),
276
+ reachable,
277
+ SWITCHER_LIMIT - state.ids.length
278
+ );
279
+ return more.length === 0 ? state : { ...state, ids: [...state.ids, ...more] };
280
+ }
281
+ function stepChatSwitcher(state, step) {
282
+ const count = state.ids.length;
283
+ return { ...state, index: (state.index + step + count) % count, visible: true };
284
+ }
285
+ function isSwitcherKey(event) {
286
+ return event.code === "Tab" && event.ctrlKey && !event.metaKey && !event.altKey;
287
+ }
288
+
289
+ // src/app/lib/actions/chat-operations.ts
290
+ import { useCallback, useMemo, useRef } from "react";
291
+ function chatPath(chat) {
292
+ return `/workspaces/${encodeURIComponent(chat.workspaceId)}/sessions/${encodeURIComponent(chat.id)}`;
293
+ }
294
+ function useChatOperations() {
295
+ const context = useAppContext();
296
+ const page = usePage();
297
+ const archiving = useRef(/* @__PURE__ */ new Set());
298
+ const linkTo = useCallback(
299
+ (chat) => `${page.origin()}${chatPath(chat)}`,
300
+ [page]
301
+ );
302
+ const copyLink2 = useCallback(
303
+ (chat) => copyLink(linkTo(chat)),
304
+ [linkTo]
305
+ );
306
+ const setPinned = useCallback(
307
+ async (chat, pinned) => {
308
+ const updated = await context.updateSessionPin(
309
+ chat.workspaceId,
310
+ chat.id,
311
+ pinned,
312
+ chat.pinVersion ?? 0
313
+ );
314
+ if (updated) toast.success(pinned ? "Chat pinned" : "Chat unpinned");
315
+ else toast.error(pinned ? "Couldn't pin the chat." : "Couldn't unpin the chat.");
316
+ },
317
+ [context]
318
+ );
319
+ const setArchivedRef = useRef(null);
320
+ const setArchived = useCallback(
321
+ async (chat, archived) => {
322
+ if (archiving.current.has(chat.id)) return;
323
+ const accepted = context.captureWorkspaceInvocation(chat.workspaceId);
324
+ if (!accepted) return;
325
+ archiving.current.add(chat.id);
326
+ try {
327
+ const updated = await requestSessionArchive(
328
+ context,
329
+ chat,
330
+ archived,
331
+ sessionDisplayTitle(chat),
332
+ (next) => void setArchivedRef.current?.({ ...chat, archived: !next }, next)
333
+ );
334
+ if (!updated) return;
335
+ if (!context.ownsWorkspaceInvocation(chat.workspaceId, accepted)) return;
336
+ context.setSession(
337
+ (current) => current?.id === updated.id && current.workspaceId === updated.workspaceId ? applySessionArchiveProjection(current, updated) : current
338
+ );
339
+ notifySessionListChanged({
340
+ workspaceId: chat.workspaceId,
341
+ sessionId: chat.id,
342
+ archived: updated.archived
343
+ });
344
+ } catch (error) {
345
+ if (!context.ownsWorkspaceInvocation(chat.workspaceId, accepted)) return;
346
+ toast.error(archived ? "Couldn't archive the chat." : "Couldn't undo the archive.", {
347
+ description: userErrorText(error)
348
+ });
349
+ } finally {
350
+ archiving.current.delete(chat.id);
351
+ }
352
+ },
353
+ [context]
354
+ );
355
+ setArchivedRef.current = setArchived;
356
+ const setUnread = useCallback(
357
+ async (chat, unread) => {
358
+ try {
359
+ const updated = await context.client.updateSessionAttention(chat.workspaceId, chat.id, {
360
+ unread,
361
+ expectedVersion: chat.attentionVersion ?? 0
362
+ });
363
+ context.setSession(
364
+ (current) => current?.id === updated.id ? {
365
+ ...current,
366
+ ...updated.unread !== void 0 ? { unread: updated.unread } : {},
367
+ ...updated.attentionVersion !== void 0 ? { attentionVersion: updated.attentionVersion } : {}
368
+ } : current
369
+ );
370
+ notifySessionListChanged({ workspaceId: chat.workspaceId, sessionId: chat.id });
371
+ toast.success(unread ? "Marked as unread" : "Marked as read");
372
+ } catch (error) {
373
+ toast.error("Couldn't update the chat.", {
374
+ description: userErrorText(error)
375
+ });
376
+ }
377
+ },
378
+ [context]
379
+ );
380
+ return useMemo(
381
+ () => ({
382
+ linkTo,
383
+ copyLink: copyLink2,
384
+ setPinned,
385
+ setArchived,
386
+ setUnread,
387
+ archiveLabel: (chat) => archiveActionLabel(context, chat)
388
+ }),
389
+ [linkTo, copyLink2, setPinned, setArchived, setUnread, context]
390
+ );
391
+ }
392
+
393
+ // src/app/lib/actions/registry.ts
394
+ import {
395
+ ArchiveIcon,
396
+ ArrowDownIcon,
397
+ ArrowUpIcon,
398
+ AudioLinesIcon,
399
+ ChevronsUpDownIcon,
400
+ CommandIcon,
401
+ GitForkIcon,
402
+ HistoryIcon,
403
+ InboxIcon,
404
+ KeyboardIcon,
405
+ LinkIcon,
406
+ MailIcon,
407
+ MailOpenIcon,
408
+ MessageCircleQuestionIcon,
409
+ MicIcon,
410
+ PanelLeftIcon,
411
+ PanelRightIcon,
412
+ PencilIcon,
413
+ PinIcon,
414
+ PinOffIcon,
415
+ PlusIcon,
416
+ SearchIcon,
417
+ SquareIcon,
418
+ TextSearchIcon
419
+ } from "lucide-react";
420
+ function actionTitle(action, env, chat) {
421
+ return typeof action.title === "string" ? action.title : action.title(env, chat);
422
+ }
423
+ function actionIcon(action, chat) {
424
+ return action.iconFor?.(chat) ?? action.icon;
425
+ }
426
+ var ALWAYS = () => true;
427
+ function stepChat(env, direction) {
428
+ const order = env.sidebarOrder();
429
+ if (order.length === 0) return;
430
+ const index = env.currentChat ? order.indexOf(env.currentChat.id) : -1;
431
+ const next = index < 0 ? direction === 1 ? 0 : order.length - 1 : index + direction;
432
+ if (next < 0 || next >= order.length) return;
433
+ env.openChat(order[next]);
434
+ }
435
+ function stepWorkspace(workspaces, currentId, direction) {
436
+ if (workspaces.length < 2) return null;
437
+ const index = workspaces.findIndex((workspace) => workspace.id === currentId);
438
+ const next = index < 0 ? direction === 1 ? 0 : workspaces.length - 1 : (index + direction + workspaces.length) % workspaces.length;
439
+ return workspaces[next].id;
440
+ }
441
+ function switchWorkspace(env, direction) {
442
+ const id = stepWorkspace(env.workspaces, env.workspaceId, direction);
443
+ if (id && id !== env.workspaceId) env.openWorkspace(id);
444
+ }
445
+ var hasOtherWorkspaces = (env) => env.workspaces.length > 1;
446
+ function meetingBusy(env) {
447
+ return !canStartRecording(env.meetings?.state);
448
+ }
449
+ var PINNED_CHORDS = Array.from({ length: 9 }, (_, index) => ({
450
+ code: `Digit${index + 1}`,
451
+ mod: true,
452
+ only: "desktop"
453
+ }));
454
+ var appActionList;
455
+ function appActions() {
456
+ return appActionList ??= [
457
+ {
458
+ id: "commandMenu.open",
459
+ title: "Command menu",
460
+ group: "help",
461
+ icon: CommandIcon,
462
+ chords: [{ code: "KeyK", mod: true }],
463
+ inCommandMenu: false,
464
+ desktopMenu: "go",
465
+ available: ALWAYS,
466
+ run: (env) => env.openCommandMenu()
467
+ },
468
+ {
469
+ id: "chat.new",
470
+ title: "New chat",
471
+ group: "chat",
472
+ icon: PlusIcon,
473
+ keywords: ["start", "create", "session"],
474
+ // The desktop menu shows its first key, the familiar ⌘N; browsers keep ⌘N for windows.
475
+ chords: [
476
+ { code: "KeyN", mod: true, only: "desktop" },
477
+ { code: "KeyO", mod: true, shift: true }
478
+ ],
479
+ suggested: true,
480
+ desktopMenu: "file",
481
+ available: ALWAYS,
482
+ run: (env) => env.newChat()
483
+ },
484
+ {
485
+ // The Meetings page's Start recording button, from anywhere. While one
486
+ // records, it shows that recording instead of starting a second one, as a
487
+ // desktop call notification's Record does. ⌃⌘N sits beside New chat's ⌘N
488
+ // and, like Archive, is Ctrl+Alt elsewhere; see the shortcuts doc.
489
+ id: "meetings.start",
490
+ title: (env) => meetingBusy(env) ? "Go to recording" : "Start recording",
491
+ group: "meetings",
492
+ icon: MicIcon,
493
+ keywords: ["meeting", "new meeting", "record", "notetaker", "transcript", "audio", "call"],
494
+ chords: [
495
+ { code: "KeyN", mod: true, control: true, platform: "mac" },
496
+ { code: "KeyN", mod: true, alt: true, platform: "other" }
497
+ ],
498
+ desktopMenu: "file",
499
+ available: (env) => env.meetings !== null,
500
+ run: (env) => meetingBusy(env) ? env.meetings?.show() : env.meetings?.start()
501
+ },
502
+ {
503
+ // No key, so a stray press never ends a meeting.
504
+ id: "meetings.stop",
505
+ title: "Stop recording",
506
+ group: "meetings",
507
+ icon: SquareIcon,
508
+ keywords: ["meeting", "end", "finish", "record"],
509
+ desktopMenu: "file",
510
+ available: (env) => env.meetings?.state === "recording" || env.meetings?.state === "paused",
511
+ run: (env) => env.meetings?.stop()
512
+ },
513
+ {
514
+ // The meeting on screen's Ask field, from ⌘K. Typing a question first
515
+ // asks it straight away; see the menu's "Ask about this meeting: …" row.
516
+ id: "meeting.ask",
517
+ title: "Ask about this meeting",
518
+ group: "meetings",
519
+ icon: MessageCircleQuestionIcon,
520
+ keywords: ["question", "chat", "agent", "summary", "notes"],
521
+ forMeeting: true,
522
+ opensDialog: true,
523
+ available: (env) => Boolean(env.meetingPages?.current?.ask),
524
+ run: (env) => env.meetingPages?.current?.ask?.(null)
525
+ },
526
+ {
527
+ id: "meeting.copyLink",
528
+ title: "Copy meeting link",
529
+ group: "meetings",
530
+ icon: LinkIcon,
531
+ keywords: ["share", "url", "address"],
532
+ forMeeting: true,
533
+ available: (env) => Boolean(env.meetingPages?.current),
534
+ run: (env) => {
535
+ const current = env.meetingPages?.current;
536
+ if (current) return env.meetingPages?.copyLink(current.recordingId);
537
+ }
538
+ },
539
+ {
540
+ id: "chat.copyLink",
541
+ title: "Copy link",
542
+ group: "chat",
543
+ icon: LinkIcon,
544
+ keywords: ["share", "url", "address"],
545
+ chords: [{ code: "Comma", mod: true, shift: true }],
546
+ forChat: true,
547
+ suggested: true,
548
+ desktopMenu: "chat",
549
+ available: (_env, chat) => chat !== null,
550
+ run: (env, chat) => chat ? env.ops.copyLink(chat) : void 0
551
+ },
552
+ {
553
+ id: "chat.pin",
554
+ title: (_env, chat) => chat?.pinned ? "Unpin" : "Pin",
555
+ group: "chat",
556
+ icon: PinIcon,
557
+ iconFor: (chat) => chat?.pinned ? PinOffIcon : PinIcon,
558
+ keywords: ["unpin", "favorite", "star"],
559
+ chords: [{ code: "KeyP", mod: true, alt: true }],
560
+ forChat: true,
561
+ suggested: true,
562
+ desktopMenu: "chat",
563
+ available: (_env, chat) => chat !== null && !chat.archived,
564
+ run: (env, chat) => chat ? env.ops.setPinned(chat, !chat.pinned) : void 0
565
+ },
566
+ {
567
+ id: "chat.rename",
568
+ title: "Rename",
569
+ group: "chat",
570
+ icon: PencilIcon,
571
+ keywords: ["title", "name"],
572
+ forChat: true,
573
+ desktopMenu: "chat",
574
+ // Renaming happens in the chat's own title, so only for the chat on screen.
575
+ available: (env, chat) => chat !== null && env.currentChat?.id === chat.id,
576
+ run: (env) => env.renameCurrentChat()
577
+ },
578
+ {
579
+ id: "chat.fork",
580
+ title: "Fork chat",
581
+ group: "chat",
582
+ icon: GitForkIcon,
583
+ keywords: ["copy", "duplicate", "branch", "clone"],
584
+ forChat: true,
585
+ opensDialog: true,
586
+ desktopMenu: "chat",
587
+ // From the latest message, as the fork button under a message does; only
588
+ // for the chat on screen, whose messages are loaded.
589
+ available: (env, chat) => chat !== null && env.currentChat?.id === chat.id && env.canForkCurrentChat,
590
+ run: (env) => env.forkCurrentChat()
591
+ },
592
+ {
593
+ id: "chat.unread",
594
+ title: (_env, chat) => chat?.unread ? "Mark as read" : "Mark as unread",
595
+ group: "chat",
596
+ icon: MailIcon,
597
+ iconFor: (chat) => chat?.unread ? MailOpenIcon : MailIcon,
598
+ keywords: ["read", "unread"],
599
+ forChat: true,
600
+ desktopMenu: "chat",
601
+ available: (_env, chat) => chat !== null && !chat.archived,
602
+ run: (env, chat) => chat ? env.ops.setUnread(chat, !chat.unread) : void 0
603
+ },
604
+ {
605
+ id: "chat.archive",
606
+ title: "Archive",
607
+ group: "chat",
608
+ icon: ArchiveIcon,
609
+ keywords: ["archive", "done", "storage"],
610
+ // Apple Mail's Archive key; Ctrl+Alt elsewhere, as Pin, since browsers there
611
+ // keep Ctrl+Shift+A for tab search.
612
+ chords: [
613
+ { code: "KeyA", mod: true, control: true, platform: "mac" },
614
+ { code: "KeyA", mod: true, alt: true, platform: "other" }
615
+ ],
616
+ forChat: true,
617
+ desktopMenu: "chat",
618
+ // Archived chats stay archived; only people who can control a chat archive it.
619
+ available: (env, chat) => chat !== null && chat.parentSessionId === null && !chat.archived && (env.ops.archiveLabel ? env.ops.archiveLabel(chat) !== null : true),
620
+ run: (env, chat) => chat ? env.ops.setArchived(chat, true) : void 0
621
+ },
622
+ {
623
+ id: "chat.find",
624
+ title: "Find in chat",
625
+ group: "chat",
626
+ icon: TextSearchIcon,
627
+ keywords: ["search", "find"],
628
+ chords: [{ code: "KeyF", mod: true }],
629
+ desktopMenu: "chat",
630
+ // The conversation owns ⌘F itself; the registry lists it so it is discoverable.
631
+ available: (env) => env.currentChat !== null,
632
+ run: (env) => env.findInChat()
633
+ },
634
+ {
635
+ id: "go.inbox",
636
+ title: "Inbox",
637
+ group: "navigate",
638
+ icon: InboxIcon,
639
+ keywords: ["notifications", "replies", "needs you"],
640
+ chords: [
641
+ { code: "KeyI", mod: true, shift: true, platform: "mac" },
642
+ // Browsers on Windows and Linux open developer tools with Ctrl+Shift+I.
643
+ { code: "KeyI", mod: true, shift: true, platform: "other", only: "desktop" }
644
+ ],
645
+ suggested: true,
646
+ desktopMenu: "go",
647
+ available: ALWAYS,
648
+ run: (env) => env.openInbox()
649
+ },
650
+ {
651
+ id: "go.meetings",
652
+ title: "Meetings",
653
+ group: "navigate",
654
+ icon: AudioLinesIcon,
655
+ keywords: ["recordings", "transcripts", "calls", "notes"],
656
+ suggested: true,
657
+ desktopMenu: "go",
658
+ available: (env) => env.meetingPages !== null,
659
+ run: (env) => env.meetingPages?.openList()
660
+ },
661
+ {
662
+ id: "go.previousChat",
663
+ title: "Previous chat",
664
+ group: "navigate",
665
+ icon: ArrowUpIcon,
666
+ chords: [{ code: "ArrowUp", alt: true }],
667
+ inCommandMenu: false,
668
+ available: (env) => env.chatList,
669
+ run: (env) => stepChat(env, -1)
670
+ },
671
+ {
672
+ id: "go.nextChat",
673
+ title: "Next chat",
674
+ group: "navigate",
675
+ icon: ArrowDownIcon,
676
+ chords: [{ code: "ArrowDown", alt: true }],
677
+ inCommandMenu: false,
678
+ available: (env) => env.chatList,
679
+ run: (env) => stepChat(env, 1)
680
+ },
681
+ {
682
+ // Hold Control to see recent chats and keep pressing Tab; release to open.
683
+ // The actions provider runs the switcher itself because it needs Control's
684
+ // release, so the desktop menu bar never owns this key.
685
+ id: "go.recentChat",
686
+ title: "Switch to recent chat",
687
+ group: "navigate",
688
+ icon: HistoryIcon,
689
+ chords: [
690
+ { code: "Tab", control: true, platform: "mac", only: "desktop" },
691
+ // Browsers keep Control+Tab for their own tabs.
692
+ { code: "Tab", mod: true, platform: "other", only: "desktop" }
693
+ ],
694
+ inCommandMenu: false,
695
+ available: ALWAYS,
696
+ run: (env) => env.switchToRecentChat()
697
+ },
698
+ {
699
+ id: "go.pinnedChat",
700
+ title: "Pinned chat 1 to 9",
701
+ group: "navigate",
702
+ icon: PinIcon,
703
+ chords: PINNED_CHORDS,
704
+ chordSummary: (platform) => platform === "mac" ? "\u23181 \u2013 \u23189" : "Ctrl+1 \u2013 Ctrl+9",
705
+ inCommandMenu: false,
706
+ available: (env) => env.chatList,
707
+ run: (env, _chat, chord) => {
708
+ const index = chord ? Number(chord.code.slice(5)) - 1 : 0;
709
+ const id = env.pinnedOrder()[index];
710
+ if (id) env.openChat(id);
711
+ }
712
+ },
713
+ {
714
+ id: "go.searchMessages",
715
+ title: "Search messages",
716
+ group: "navigate",
717
+ icon: SearchIcon,
718
+ keywords: ["find", "history", "full text"],
719
+ opensDialog: true,
720
+ desktopMenu: "go",
721
+ available: ALWAYS,
722
+ run: (env) => env.searchMessages()
723
+ },
724
+ {
725
+ id: "go.switchWorkspace",
726
+ title: "Switch workspace\u2026",
727
+ group: "navigate",
728
+ icon: ChevronsUpDownIcon,
729
+ keywords: ["workspace", "organization", "team", "change", "go to"],
730
+ desktopMenu: "go",
731
+ available: hasOtherWorkspaces,
732
+ run: (env) => env.openWorkspacePicker()
733
+ },
734
+ {
735
+ // The workspace picker's order, wrapping around. ⌥⌘ and arrows sit in the
736
+ // same place on every keyboard layout, and browsers leave them alone.
737
+ id: "go.previousWorkspace",
738
+ title: "Previous workspace",
739
+ group: "navigate",
740
+ icon: ArrowUpIcon,
741
+ chords: [
742
+ { code: "ArrowUp", mod: true, alt: true },
743
+ // Some Linux desktops take Ctrl+Alt+arrows to switch their own workspaces.
744
+ { code: "PageUp", mod: true, shift: true, platform: "other", only: "desktop" }
745
+ ],
746
+ inCommandMenu: false,
747
+ desktopMenu: "go",
748
+ available: hasOtherWorkspaces,
749
+ run: (env) => switchWorkspace(env, -1)
750
+ },
751
+ {
752
+ id: "go.nextWorkspace",
753
+ title: "Next workspace",
754
+ group: "navigate",
755
+ icon: ArrowDownIcon,
756
+ chords: [
757
+ { code: "ArrowDown", mod: true, alt: true },
758
+ { code: "PageDown", mod: true, shift: true, platform: "other", only: "desktop" }
759
+ ],
760
+ inCommandMenu: false,
761
+ desktopMenu: "go",
762
+ available: hasOtherWorkspaces,
763
+ run: (env) => switchWorkspace(env, 1)
764
+ },
765
+ {
766
+ id: "view.sidebar",
767
+ title: "Toggle sidebar",
768
+ group: "view",
769
+ icon: PanelLeftIcon,
770
+ keywords: ["hide", "show", "collapse", "rail"],
771
+ // ⌘B as in most editors and chat apps. It is bold in rich text, so the menu
772
+ // bar shows the platform's standard sidebar key instead, which also works.
773
+ chords: [
774
+ { code: "KeyB", mod: true, formatting: true },
775
+ { code: "KeyS", mod: true, control: true, platform: "mac" },
776
+ { code: "KeyS", mod: true, shift: true, platform: "other" }
777
+ ],
778
+ desktopMenu: "view",
779
+ available: (env) => env.chatList,
780
+ run: (env) => env.toggleSidebar()
781
+ },
782
+ {
783
+ id: "view.workspacePanel",
784
+ title: "Toggle workspace panel",
785
+ group: "view",
786
+ icon: PanelRightIcon,
787
+ keywords: ["right", "inspector", "files", "browser", "terminal", "hide", "show"],
788
+ // The second sidebar's key in VS Code and Cursor.
789
+ chords: [{ code: "KeyB", mod: true, alt: true }],
790
+ desktopMenu: "view",
791
+ available: (env) => env.workspacePanel && env.currentChat !== null,
792
+ run: (env) => env.toggleWorkspacePanel()
793
+ },
794
+ {
795
+ id: "help.shortcuts",
796
+ title: "Keyboard shortcuts",
797
+ group: "help",
798
+ icon: KeyboardIcon,
799
+ keywords: ["keys", "hotkeys", "cheat sheet", "help"],
800
+ chords: [{ code: "Slash", mod: true }],
801
+ desktopMenu: "help",
802
+ available: ALWAYS,
803
+ run: (env) => env.openShortcutSheet()
804
+ }
805
+ ];
806
+ }
807
+ function findAction(id) {
808
+ return appActions().find((action) => action.id === id);
809
+ }
810
+
811
+ // src/app/lib/actions/actions-provider.tsx
812
+ import { jsx, jsxs } from "react/jsx-runtime";
813
+ var CommandMenu = lazy(() => import("./app/components/command-menu/command-menu.js"));
814
+ var ShortcutSheet = lazy(() => import("./app/components/command-menu/shortcut-sheet.js"));
815
+ var loadChatSwitcher = () => import("./app/components/command-menu/chat-switcher.js");
816
+ var ChatSwitcher = lazy(loadChatSwitcher);
817
+ var ActionsContext = createContext(null);
818
+ function useAppActions() {
819
+ return useContext(ActionsContext);
820
+ }
821
+ function useActionShortcut(actionId) {
822
+ const enabled = useSessionUiFeature("keyboardShortcuts");
823
+ const action = findAction(actionId);
824
+ if (!enabled || !action) return null;
825
+ const platform = currentPlatform();
826
+ const chords = applicableChords(action.chords, surface, platform);
827
+ const chord = chords[0];
828
+ if (!chord) return null;
829
+ return {
830
+ label: chordLabel(chord, platform),
831
+ ariaKeys: chords.map((candidate) => chordAriaKeys(candidate, platform)).join(" "),
832
+ chord
833
+ };
834
+ }
835
+ var surface = desktopBridge ? "desktop" : "web";
836
+ function isRichTextEditor(target) {
837
+ return target instanceof HTMLElement && target.isContentEditable;
838
+ }
839
+ function insideOtherOverlay(target) {
840
+ if (!(target instanceof Element)) return false;
841
+ const overlay = target.closest(
842
+ '[role="dialog"],[role="alertdialog"],[role="menu"],[role="listbox"]'
843
+ );
844
+ return Boolean(overlay && !overlay.closest("[data-og-command-menu],[data-og-shortcut-sheet]"));
845
+ }
846
+ function menuOwnedChord(action, platform) {
847
+ return applicableChords(action.chords, "desktop", platform).find(
848
+ (chord) => (!chord.alt || chord.mod) && !chord.formatting
849
+ );
850
+ }
851
+ function menuChord(action, platform) {
852
+ const chord = menuOwnedChord(action, platform);
853
+ return chord ? chordAccelerator(chord) : null;
854
+ }
855
+ function insideCommandMenu(target) {
856
+ return target instanceof Element && Boolean(target.closest("[data-og-command-menu]"));
857
+ }
858
+ function textEntryIsEmpty(target) {
859
+ if (target instanceof HTMLTextAreaElement || target instanceof HTMLInputElement) {
860
+ return target.value.length === 0;
861
+ }
862
+ if (target instanceof HTMLElement && target.isContentEditable) {
863
+ return (target.textContent ?? "").length === 0;
864
+ }
865
+ return true;
866
+ }
867
+ function ActionsProvider(props) {
868
+ const app = useAppContext();
869
+ const rail = useRail();
870
+ const navigate = useNavigate();
871
+ const page = usePage();
872
+ const ops = useChatOperations();
873
+ const uiEvents = useUiEventTarget("document");
874
+ const windowEvents = useUiEventTarget("window");
875
+ const chatList = useSessionUiFeature("chatList");
876
+ const workspacePanel = useSessionUiFeature("dock");
877
+ const { inspectorOpen, setInspectorOpen } = app;
878
+ const keyboardShortcuts = useSessionUiFeature("keyboardShortcuts");
879
+ const recorder = useMeetingRecorderControls();
880
+ const platform = useMemo2(() => currentPlatform(), []);
881
+ const workspaceId = rail.workspaceId;
882
+ const subjectId = app.accessContext.subjectId;
883
+ const pathname = useRouterState({ select: (state) => state.location.pathname });
884
+ const routeChatId = /\/sessions\/([^/]+)/.exec(pathname)?.[1] ?? null;
885
+ const routeSiteId = /\/sites\/([^/]+)/.exec(pathname)?.[1] ?? null;
886
+ const routeMeetingId = /\/meetings\/([^/]+)/.exec(pathname)?.[1] ?? null;
887
+ const meetingOnScreen = useMeetingOnScreen(uiEvents);
888
+ const currentChat = app.session && app.session.id === routeChatId && app.session.workspaceId === workspaceId ? app.session : null;
889
+ const workspaces = useMemo2(
890
+ () => workspacesByOrganization(
891
+ t,
892
+ app.accessContext,
893
+ navigableWorkspaces(app.workspaces, app.managedSelfContext, workspaceId)
894
+ ).flatMap(
895
+ (group) => group.workspaces.map((workspace) => ({
896
+ id: workspace.id,
897
+ name: workspace.name,
898
+ organization: group.org.label,
899
+ personal: isPersonalWorkspace(workspace, app.managedSelfContext)
900
+ }))
901
+ ),
902
+ [app.accessContext, app.workspaces, app.managedSelfContext, workspaceId]
903
+ );
904
+ const canForkCurrentChat = currentChat !== null && app.clientConfig.auth.mode === "managedSession" && app.authSession !== null && Boolean(app.session?.tenancy) && hasWorkspacePermission(app.accessContext, workspaceId, "sessions:create");
905
+ const meetings = useMemo2(() => {
906
+ if (!recorder || recorder.supported === false) return null;
907
+ const showMeetings = () => {
908
+ rail.setDrawerOpen(false);
909
+ void navigate({ to: "/workspaces/$workspaceId/meetings", params: { workspaceId } });
910
+ };
911
+ return {
912
+ state: recorder.state,
913
+ start: () => {
914
+ recorder.requestStart();
915
+ showMeetings();
916
+ },
917
+ show: showMeetings,
918
+ stop: async () => {
919
+ const stopped = await recorder.stop();
920
+ if (stopped && !stopped.opened) {
921
+ void navigate({
922
+ to: "/workspaces/$workspaceId/meetings/$recordingId",
923
+ params: { workspaceId: stopped.workspaceId, recordingId: stopped.recordingId }
924
+ });
925
+ }
926
+ }
927
+ };
928
+ }, [recorder, rail, navigate, workspaceId]);
929
+ const recordingsClient = useMemo2(
930
+ () => typeof app.client?.requestJson === "function" ? new OpenGeniRecordingsClient(app.client) : null,
931
+ [app.client]
932
+ );
933
+ const meetingPages = useMemo2(() => {
934
+ if (!recorder || !recordingsClient) return null;
935
+ const link = (recordingId) => `${page.origin()}${meetingPath(workspaceId, recordingId)}`;
936
+ const onScreen = routeMeetingId && meetingOnScreen?.recordingId === routeMeetingId ? meetingOnScreen : null;
937
+ return {
938
+ openList: () => {
939
+ rail.setDrawerOpen(false);
940
+ void navigate({ to: "/workspaces/$workspaceId/meetings", params: { workspaceId } });
941
+ },
942
+ open: (recordingId) => {
943
+ rail.setDrawerOpen(false);
944
+ void navigate({
945
+ to: "/workspaces/$workspaceId/meetings/$recordingId",
946
+ params: { workspaceId, recordingId }
947
+ });
948
+ },
949
+ link,
950
+ copyLink: (recordingId) => copyLink(link(recordingId)),
951
+ list: async (options) => {
952
+ const { signal, ...rest } = options;
953
+ const answer = await recordingsClient.listRecordings(workspaceId, {
954
+ ...rest,
955
+ ...signal ? { signal } : {}
956
+ });
957
+ return answer.recordings;
958
+ },
959
+ current: routeMeetingId ? { recordingId: routeMeetingId, ask: onScreen?.ask ?? null } : null
960
+ };
961
+ }, [
962
+ recorder,
963
+ recordingsClient,
964
+ page,
965
+ workspaceId,
966
+ routeMeetingId,
967
+ meetingOnScreen,
968
+ rail,
969
+ navigate
970
+ ]);
971
+ const [menu, setMenu] = useState({ open: false, mounted: false, workspaces: false });
972
+ const [sheet, setSheet] = useState({ open: false, mounted: false });
973
+ const railRef = useRef2(rail);
974
+ railRef.current = rail;
975
+ const returnFocus = useRef2(null);
976
+ const menuOpen = useRef2(false);
977
+ const sheetOpen = useRef2(false);
978
+ menuOpen.current = menu.open;
979
+ sheetOpen.current = sheet.open;
980
+ const rememberFocus = useCallback2(() => {
981
+ if (menuOpen.current || sheetOpen.current || typeof document === "undefined") return;
982
+ const drawerTrigger = railRef.current.drawerOpen ? railRef.current.drawerTriggerRef.current : null;
983
+ if (drawerTrigger) {
984
+ returnFocus.current = drawerTrigger;
985
+ return;
986
+ }
987
+ const active = document.activeElement;
988
+ returnFocus.current = active instanceof HTMLElement && active !== document.body ? active : null;
989
+ }, []);
990
+ const openCommandMenu = useCallback2(
991
+ (pickWorkspace = false) => {
992
+ rememberFocus();
993
+ setSheet((current) => current.open ? { ...current, open: false } : current);
994
+ railRef.current.handOffDrawer();
995
+ setMenu((current) => ({
996
+ open: pickWorkspace ? true : !current.open,
997
+ mounted: true,
998
+ workspaces: pickWorkspace
999
+ }));
1000
+ },
1001
+ [rememberFocus]
1002
+ );
1003
+ const openShortcutSheet = useCallback2(() => {
1004
+ rememberFocus();
1005
+ setMenu((current) => current.open ? { ...current, open: false } : current);
1006
+ setSheet((current) => ({ open: !current.open, mounted: true }));
1007
+ }, [rememberFocus]);
1008
+ useEffect(() => {
1009
+ if (currentChat) recordChatVisit(subjectId, currentChat);
1010
+ }, [currentChat?.id, subjectId]);
1011
+ useEffect(() => {
1012
+ if (currentChat) rememberChats(subjectId, [currentChat]);
1013
+ }, [currentChat, subjectId]);
1014
+ const reachable = useMemo2(() => {
1015
+ const ids = new Set(workspaces.map((workspace) => workspace.id));
1016
+ return (id) => ids.has(id) || id === workspaceId;
1017
+ }, [workspaces, workspaceId]);
1018
+ const openChatForTyping = useCallback2(
1019
+ (chatId, inWorkspaceId) => {
1020
+ if (!rail.isMobile) {
1021
+ requestSessionComposerFocus(windowEvents, inWorkspaceId ?? workspaceId, chatId, "keyboard");
1022
+ }
1023
+ rail.openSession(chatId, inWorkspaceId);
1024
+ },
1025
+ [rail, windowEvents, workspaceId]
1026
+ );
1027
+ const env = useMemo2(
1028
+ () => ({
1029
+ workspaceId,
1030
+ subjectId,
1031
+ surface,
1032
+ platform,
1033
+ currentChat,
1034
+ currentSiteId: routeSiteId,
1035
+ ops,
1036
+ chatList,
1037
+ workspacePanel,
1038
+ workspaces,
1039
+ canForkCurrentChat,
1040
+ meetings,
1041
+ meetingPages,
1042
+ newChat: () => rail.startNewSession(),
1043
+ openChat: (chatId, inWorkspaceId) => openChatForTyping(chatId, inWorkspaceId),
1044
+ openSite: (siteId) => {
1045
+ rail.setDrawerOpen(false);
1046
+ void navigate({
1047
+ to: "/workspaces/$workspaceId/sites/$siteId",
1048
+ params: { workspaceId, siteId }
1049
+ });
1050
+ },
1051
+ siteLink: (siteId) => `${page.origin()}${sitePath(workspaceId, siteId)}`,
1052
+ openWorkspace: (id) => rail.openWorkspace(id),
1053
+ openWorkspacePicker: () => openCommandMenu(true),
1054
+ openInbox: () => {
1055
+ rail.setDrawerOpen(false);
1056
+ void navigate({ to: "/workspaces/$workspaceId/inbox", params: { workspaceId } });
1057
+ },
1058
+ toggleSidebar: () => rail.isMobile ? rail.setDrawerOpen(!rail.drawerOpen) : rail.toggleCollapsed(),
1059
+ toggleWorkspacePanel: () => {
1060
+ if (!inspectorOpen && rail.isMobile) rail.setDrawerOpen(false);
1061
+ setInspectorOpen((open) => !open);
1062
+ },
1063
+ findInChat: () => requestConversationFind(uiEvents),
1064
+ searchMessages: (query) => requestSessionSearch(windowEvents, workspaceId, void 0, query),
1065
+ renameCurrentChat: () => uiEvents.dispatchEvent(new Event(RENAME_CURRENT_CHAT_EVENT)),
1066
+ forkCurrentChat: () => uiEvents.dispatchEvent(new Event(FORK_CURRENT_CHAT_EVENT)),
1067
+ openCommandMenu: () => openCommandMenu(),
1068
+ openShortcutSheet,
1069
+ switchToRecentChat: () => {
1070
+ const directory3 = readChatDirectory(subjectId, workspaceId);
1071
+ const target = openChatSwitcher(directory3, routeChatId, false, reachable);
1072
+ const id = target?.ids[target.index];
1073
+ if (id) openChatForTyping(id, directory3.rows.get(id)?.workspaceId);
1074
+ },
1075
+ sidebarOrder: () => readChatDirectory(subjectId, workspaceId).sidebarOrder,
1076
+ pinnedOrder: () => readChatDirectory(subjectId, workspaceId).pinnedOrder
1077
+ }),
1078
+ [
1079
+ workspaceId,
1080
+ subjectId,
1081
+ platform,
1082
+ currentChat,
1083
+ routeSiteId,
1084
+ routeChatId,
1085
+ ops,
1086
+ chatList,
1087
+ workspacePanel,
1088
+ workspaces,
1089
+ canForkCurrentChat,
1090
+ reachable,
1091
+ meetings,
1092
+ meetingPages,
1093
+ inspectorOpen,
1094
+ setInspectorOpen,
1095
+ rail,
1096
+ openChatForTyping,
1097
+ navigate,
1098
+ page,
1099
+ uiEvents,
1100
+ windowEvents,
1101
+ openCommandMenu,
1102
+ openShortcutSheet
1103
+ ]
1104
+ );
1105
+ const envRef = useRef2(env);
1106
+ envRef.current = env;
1107
+ const chordsFor = useCallback2(
1108
+ (action) => applicableChords(action.chords, surface, platform),
1109
+ [platform]
1110
+ );
1111
+ const run = useCallback2((action, chat, chord) => {
1112
+ const current = envRef.current;
1113
+ if (action.id !== "commandMenu.open") {
1114
+ setMenu((state) => state.open ? { ...state, open: false } : state);
1115
+ }
1116
+ if (action.id !== "help.shortcuts") {
1117
+ setSheet((state) => state.open ? { ...state, open: false } : state);
1118
+ }
1119
+ const target = chat === void 0 ? current.currentChat : chat;
1120
+ if (!action.available(current, action.forChat ? target : null)) return;
1121
+ void Promise.resolve(action.run(current, action.forChat ? target : null, chord)).catch(() => {
1122
+ });
1123
+ }, []);
1124
+ const menuBridge = desktopCapability("menuActions")?.menuActions ?? null;
1125
+ const menuSignature = useMemo2(() => {
1126
+ if (!menuBridge) return "";
1127
+ return JSON.stringify(
1128
+ appActions().filter((action) => action.desktopMenu).map((action) => {
1129
+ const chat = action.forChat ? env.currentChat : null;
1130
+ return {
1131
+ id: action.id,
1132
+ label: actionTitle(action, env, chat),
1133
+ section: action.desktopMenu,
1134
+ accelerator: menuChord(action, platform),
1135
+ enabled: action.available(env, chat)
1136
+ };
1137
+ })
1138
+ );
1139
+ }, [menuBridge, env, platform]);
1140
+ useEffect(() => {
1141
+ if (!menuBridge || !menuSignature) return;
1142
+ menuBridge.set(JSON.parse(menuSignature));
1143
+ }, [menuBridge, menuSignature]);
1144
+ useEffect(() => {
1145
+ if (!menuBridge) return;
1146
+ return menuBridge.onAction((id) => {
1147
+ const action = findAction(id);
1148
+ if (action) run(action);
1149
+ });
1150
+ }, [menuBridge, run]);
1151
+ useEffect(() => {
1152
+ const open = () => openCommandMenu();
1153
+ windowEvents.addEventListener(OPEN_COMMAND_MENU_EVENT, open);
1154
+ return () => windowEvents.removeEventListener(OPEN_COMMAND_MENU_EVENT, open);
1155
+ }, [windowEvents, openCommandMenu]);
1156
+ useEffect(() => {
1157
+ if (!keyboardShortcuts) return;
1158
+ const menuOwnsKeys = Boolean(menuBridge);
1159
+ function onKeyDown(event) {
1160
+ if (event.defaultPrevented) return;
1161
+ const current = envRef.current;
1162
+ for (const action of appActions()) {
1163
+ if (action.id === "chat.find") continue;
1164
+ if (action.id === "go.recentChat") continue;
1165
+ const chord = applicableChords(action.chords, surface, platform).find(
1166
+ (candidate) => matchesChord(event, candidate, platform)
1167
+ );
1168
+ if (!chord) continue;
1169
+ if (menuOwnsKeys && action.desktopMenu && chord === menuOwnedChord(action, platform))
1170
+ return;
1171
+ const toggleMenu = action.id === "commandMenu.open";
1172
+ if (action.forChat && insideCommandMenu(event.target)) return;
1173
+ if (!toggleMenu && insideOtherOverlay(event.target)) return;
1174
+ if (chord.formatting && isRichTextEditor(event.target)) return;
1175
+ if (!chord.mod && isTextEntry(event.target) && !textEntryIsEmpty(event.target)) return;
1176
+ if (!action.available(current, action.forChat ? current.currentChat : null)) return;
1177
+ event.preventDefault();
1178
+ event.stopPropagation();
1179
+ run(action, void 0, chord);
1180
+ return;
1181
+ }
1182
+ }
1183
+ document.addEventListener("keydown", onKeyDown, true);
1184
+ return () => document.removeEventListener("keydown", onKeyDown, true);
1185
+ }, [keyboardShortcuts, menuBridge, platform, run]);
1186
+ const [switcher, setSwitcherState] = useState(null);
1187
+ const switcherRef = useRef2(null);
1188
+ const setSwitcher = useCallback2((next) => {
1189
+ switcherRef.current = next;
1190
+ setSwitcherState(next);
1191
+ }, []);
1192
+ const routeChatIdRef = useRef2(routeChatId);
1193
+ routeChatIdRef.current = routeChatId;
1194
+ const reachableRef = useRef2(reachable);
1195
+ reachableRef.current = reachable;
1196
+ const switcherEnabled = keyboardShortcuts && chatList && surface === "desktop";
1197
+ const pickSwitcherChat = useCallback2(
1198
+ (index) => {
1199
+ const state = switcherRef.current;
1200
+ if (!state) return;
1201
+ const id = state.ids[index ?? state.index];
1202
+ setSwitcher(null);
1203
+ if (!id || id === routeChatIdRef.current) return;
1204
+ const current = envRef.current;
1205
+ current.openChat(
1206
+ id,
1207
+ readChatDirectory(current.subjectId, current.workspaceId).rows.get(id)?.workspaceId
1208
+ );
1209
+ },
1210
+ [setSwitcher]
1211
+ );
1212
+ useEffect(() => {
1213
+ if (!switcherEnabled) {
1214
+ setSwitcher(null);
1215
+ return;
1216
+ }
1217
+ let showTimer;
1218
+ const cancel = () => {
1219
+ clearTimeout(showTimer);
1220
+ if (switcherRef.current) setSwitcher(null);
1221
+ };
1222
+ function onKeyDown(event) {
1223
+ const state = switcherRef.current;
1224
+ if (isSwitcherKey(event)) {
1225
+ event.preventDefault();
1226
+ event.stopPropagation();
1227
+ if (state) {
1228
+ clearTimeout(showTimer);
1229
+ setSwitcher(stepChatSwitcher(state, event.shiftKey ? -1 : 1));
1230
+ return;
1231
+ }
1232
+ if (event.repeat || menuOpen.current || sheetOpen.current) return;
1233
+ if (insideOtherOverlay(event.target)) return;
1234
+ const opened = openChatSwitcher(
1235
+ readChatDirectory(subjectId, workspaceId),
1236
+ routeChatIdRef.current,
1237
+ event.shiftKey,
1238
+ reachableRef.current
1239
+ );
1240
+ if (!opened) return;
1241
+ void loadChatSwitcher();
1242
+ setSwitcher(opened);
1243
+ showTimer = setTimeout(() => {
1244
+ const current = switcherRef.current;
1245
+ if (current && !current.visible) setSwitcher({ ...current, visible: true });
1246
+ }, SWITCHER_SHOW_DELAY_MS);
1247
+ return;
1248
+ }
1249
+ if (!state) return;
1250
+ if (!event.ctrlKey && event.key !== "Control") {
1251
+ cancel();
1252
+ return;
1253
+ }
1254
+ if (event.key === "Escape") {
1255
+ event.preventDefault();
1256
+ event.stopPropagation();
1257
+ cancel();
1258
+ } else if (event.key === "Enter") {
1259
+ event.preventDefault();
1260
+ event.stopPropagation();
1261
+ clearTimeout(showTimer);
1262
+ pickSwitcherChat();
1263
+ } else if (event.key === "ArrowDown" || event.key === "ArrowUp") {
1264
+ event.preventDefault();
1265
+ event.stopPropagation();
1266
+ clearTimeout(showTimer);
1267
+ setSwitcher(stepChatSwitcher(state, event.key === "ArrowDown" ? 1 : -1));
1268
+ }
1269
+ }
1270
+ function onKeyUp(event) {
1271
+ if (event.key !== "Control" || !switcherRef.current) return;
1272
+ clearTimeout(showTimer);
1273
+ pickSwitcherChat();
1274
+ }
1275
+ document.addEventListener("keydown", onKeyDown, true);
1276
+ document.addEventListener("keyup", onKeyUp, true);
1277
+ window.addEventListener("blur", cancel);
1278
+ return () => {
1279
+ clearTimeout(showTimer);
1280
+ document.removeEventListener("keydown", onKeyDown, true);
1281
+ document.removeEventListener("keyup", onKeyUp, true);
1282
+ window.removeEventListener("blur", cancel);
1283
+ };
1284
+ }, [switcherEnabled, subjectId, workspaceId, pickSwitcherChat, setSwitcher]);
1285
+ const value = useMemo2(
1286
+ () => ({ env, run, chordsFor }),
1287
+ [env, run, chordsFor]
1288
+ );
1289
+ return /* @__PURE__ */ jsxs(ActionsContext.Provider, { value, children: [
1290
+ props.children,
1291
+ menu.mounted ? /* @__PURE__ */ jsx(Suspense, { fallback: null, children: /* @__PURE__ */ jsx(
1292
+ CommandMenu,
1293
+ {
1294
+ open: menu.open,
1295
+ pickWorkspace: menu.workspaces,
1296
+ onOpenChange: (open) => setMenu((current) => ({ ...current, open })),
1297
+ returnFocus
1298
+ }
1299
+ ) }) : null,
1300
+ sheet.mounted ? /* @__PURE__ */ jsx(Suspense, { fallback: null, children: /* @__PURE__ */ jsx(
1301
+ ShortcutSheet,
1302
+ {
1303
+ open: sheet.open,
1304
+ onOpenChange: (open) => setSheet((current) => ({ ...current, open })),
1305
+ returnFocus
1306
+ }
1307
+ ) }) : null,
1308
+ switcher ? /* @__PURE__ */ jsx(Suspense, { fallback: null, children: /* @__PURE__ */ jsx(
1309
+ ChatSwitcher,
1310
+ {
1311
+ state: switcher,
1312
+ subjectId,
1313
+ workspaceId,
1314
+ workspaces,
1315
+ currentChatId: routeChatId,
1316
+ platform,
1317
+ onHover: (index) => {
1318
+ const current = switcherRef.current;
1319
+ if (current) setSwitcher({ ...current, index });
1320
+ },
1321
+ onDirectoryChange: () => {
1322
+ const current = switcherRef.current;
1323
+ if (!current) return;
1324
+ const next = extendChatSwitcher(
1325
+ current,
1326
+ readChatDirectory(subjectId, workspaceId),
1327
+ reachableRef.current
1328
+ );
1329
+ if (next !== current) setSwitcher(next);
1330
+ },
1331
+ onPick: pickSwitcherChat,
1332
+ onDismiss: () => setSwitcher(null)
1333
+ }
1334
+ ) }) : null
1335
+ ] });
1336
+ }
1337
+
1338
+ export {
1339
+ siteRecords,
1340
+ rememberSidebarSites,
1341
+ readSidebarSites,
1342
+ useSiteDirectoryVersion,
1343
+ meetingRecords,
1344
+ rememberRecentMeetings,
1345
+ readRecentMeetings,
1346
+ useMeetingDirectoryVersion,
1347
+ useChatOperations,
1348
+ actionTitle,
1349
+ actionIcon,
1350
+ appActions,
1351
+ findAction,
1352
+ useAppActions,
1353
+ useActionShortcut,
1354
+ ActionsProvider
1355
+ };
1356
+ //# sourceMappingURL=chunk-HGKTHF2U.js.map