@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
@@ -6,57 +6,59 @@ import {
6
6
  subSessionsNeedYouLabel
7
7
  } from "../../../chunk-U6552Q3T.js";
8
8
  import "../../../chunk-UBJWSGD4.js";
9
- import "../../../chunk-EUBGLFFR.js";
9
+ import "../../../chunk-FPXASDG5.js";
10
10
  import {
11
11
  Link
12
- } from "../../../chunk-U5EFEMYU.js";
12
+ } from "../../../chunk-BXBDYNRP.js";
13
+ import "../../../chunk-ENFLCAR3.js";
13
14
  import "../../../chunk-5QBCQVKZ.js";
14
15
  import "../../../chunk-HUJLWGDR.js";
15
16
  import "../../../chunk-QZKQMEIH.js";
16
- import "../../../chunk-ENFLCAR3.js";
17
17
  import {
18
18
  toast
19
- } from "../../../chunk-YG6NARQY.js";
19
+ } from "../../../chunk-O4EA4F3W.js";
20
20
  import {
21
21
  cn
22
22
  } from "../../../chunk-A3MTTRCX.js";
23
23
  import {
24
24
  userErrorText
25
- } from "../../../chunk-L4OF77LE.js";
25
+ } from "../../../chunk-O4OOG3D6.js";
26
26
  import {
27
27
  sessionDisplayTitle
28
- } from "../../../chunk-6AHATAAY.js";
28
+ } from "../../../chunk-3PZ7JZI2.js";
29
29
  import "../../../chunk-MO5HRAMC.js";
30
- import "../../../chunk-JJZPLGIP.js";
31
- import "../../../chunk-WLEDGIVS.js";
32
- import "../../../chunk-O2UWH5RG.js";
33
- import "../../../chunk-O2IOPP3R.js";
34
- import "../../../chunk-WTJ4PLMU.js";
30
+ import "../../../chunk-QZAAUQRN.js";
31
+ import "../../../chunk-FSOQDUCG.js";
32
+ import "../../../chunk-V4Z4B2E3.js";
33
+ import "../../../chunk-FYWT2O76.js";
34
+ import "../../../chunk-J5F5HPPW.js";
35
+ import "../../../chunk-Q3DPEYX4.js";
36
+ import "../../../chunk-YWVI6ZMK.js";
37
+ import "../../../chunk-J335IP56.js";
35
38
  import {
36
39
  ApprovalSurface,
37
40
  HumanInputSurface
38
- } from "../../../chunk-TG7DADJR.js";
41
+ } from "../../../chunk-TXLIEOJX.js";
39
42
  import "../../../chunk-22GTC4MZ.js";
40
- import "../../../chunk-L4I665WK.js";
41
- import "../../../chunk-2YC6JQRO.js";
43
+ import "../../../chunk-OV6QJRT4.js";
44
+ import "../../../chunk-5QAY6K77.js";
42
45
  import "../../../chunk-KDQAWRYZ.js";
43
- import "../../../chunk-ZG447FSS.js";
44
- import "../../../chunk-OD3DCCCB.js";
45
- import "../../../chunk-J335IP56.js";
46
- import "../../../chunk-PW54V7T5.js";
47
- import "../../../chunk-LRJIYTZW.js";
46
+ import "../../../chunk-AXHZYXUV.js";
47
+ import "../../../chunk-JKHKLL5W.js";
48
+ import "../../../chunk-5IE76VCY.js";
49
+ import "../../../chunk-NPGISCU6.js";
48
50
  import "../../../chunk-B27E3V37.js";
49
51
  import "../../../chunk-EAG6A27Q.js";
50
52
  import "../../../chunk-E22RIUEL.js";
51
- import "../../../chunk-6UHCBH4G.js";
52
- import "../../../chunk-3FD76LXM.js";
53
- import "../../../chunk-KRPLAAFP.js";
53
+ import "../../../chunk-5O2FCCHZ.js";
54
+ import "../../../chunk-IFB3WJ36.js";
55
+ import "../../../chunk-2I7HDP53.js";
54
56
  import "../../../chunk-4U7SHFQ2.js";
55
57
  import "../../../chunk-J3DY5HWQ.js";
56
58
  import "../../../chunk-IZXHMZQ6.js";
57
59
  import "../../../chunk-LJUMYUBO.js";
58
60
  import "../../../chunk-7N5AD2TC.js";
59
- import "../../../chunk-ICNNNOXE.js";
61
+ import "../../../chunk-JZ4NLCAP.js";
60
62
  import "../../../chunk-WZGWXXO3.js";
61
63
  import "../../../chunk-QI4HY64V.js";
62
64
  import "../../../chunk-OSLAAXKW.js";
@@ -65,7 +67,7 @@ import "../../../chunk-USG4XNMA.js";
65
67
  import "../../../chunk-TZIACM2P.js";
66
68
  import {
67
69
  useHumanInputRequests
68
- } from "../../../chunk-SWIHWCTW.js";
70
+ } from "../../../chunk-DF5EAHDN.js";
69
71
  import "../../../chunk-EMIVOS73.js";
70
72
  import "../../../chunk-YUNVW3I2.js";
71
73
  import "../../../chunk-JWKGPA6Q.js";
@@ -85,19 +87,19 @@ import "../../../chunk-TXCGPEWC.js";
85
87
  import "../../../chunk-C5ZCSVZ7.js";
86
88
  import "../../../chunk-TSENLSW6.js";
87
89
  import "../../../chunk-VBUVBHFJ.js";
88
- import "../../../chunk-VIEFJ2DM.js";
90
+ import "../../../chunk-JEA3QDX7.js";
89
91
  import "../../../chunk-OCN4S7WN.js";
90
- import "../../../chunk-PW4IMTYR.js";
92
+ import "../../../chunk-6DVCC7QS.js";
91
93
  import "../../../chunk-RZLBICR5.js";
92
94
  import "../../../chunk-5XXRHX3V.js";
93
- import "../../../chunk-6H4SJBPE.js";
95
+ import "../../../chunk-KYS77RPN.js";
94
96
  import "../../../chunk-YM45PLD6.js";
95
97
  import "../../../chunk-UNI2IXRC.js";
96
98
  import "../../../chunk-MK2TQO4Y.js";
97
99
  import "../../../chunk-XESA3B7W.js";
98
100
  import "../../../chunk-W4F72GU3.js";
99
101
  import "../../../chunk-UNJPZGNK.js";
100
- import "../../../chunk-2XNG2KNT.js";
102
+ import "../../../chunk-CUIWCGMA.js";
101
103
  import "../../../chunk-3SOIESJM.js";
102
104
  import "../../../chunk-4NQHXYMW.js";
103
105
  import "../../../chunk-VDPUG6LH.js";
@@ -105,20 +107,20 @@ import "../../../chunk-NPNX7LTL.js";
105
107
  import "../../../chunk-IGVL3ELX.js";
106
108
  import "../../../chunk-PEHTX3V7.js";
107
109
  import "../../../chunk-ZY2Z2IU3.js";
108
- import "../../../chunk-XDBYWVCW.js";
109
- import "../../../chunk-OSJ3MUTZ.js";
110
- import "../../../chunk-SVKPSCTH.js";
110
+ import "../../../chunk-2M3J7ZWQ.js";
111
+ import "../../../chunk-2RG7NIAS.js";
111
112
  import "../../../chunk-3IWPC6O3.js";
113
+ import "../../../chunk-SVKPSCTH.js";
112
114
  import "../../../chunk-DGMR6JEJ.js";
113
- import "../../../chunk-YDCUBUWH.js";
114
- import "../../../chunk-AXBSYWKX.js";
115
+ import "../../../chunk-SODC7T6L.js";
116
+ import "../../../chunk-MIHN76LX.js";
115
117
  import "../../../chunk-6IWKHHRS.js";
116
- import "../../../chunk-UI4HI5QK.js";
118
+ import "../../../chunk-XHIQ5I6N.js";
117
119
  import {
118
120
  buttonVariants
119
121
  } from "../../../chunk-7QQN3KNP.js";
120
122
  import "../../../chunk-6F34IWSA.js";
121
- import "../../../chunk-U6M4LS3M.js";
123
+ import "../../../chunk-XLH7QY2R.js";
122
124
  import "../../../chunk-PNNTR6KP.js";
123
125
  import "../../../chunk-WJPMYXKZ.js";
124
126
  import "../../../chunk-VYT4POBH.js";
@@ -139,11 +141,11 @@ import "../../../chunk-TVQCDDSZ.js";
139
141
  import "../../../chunk-AMHRWKKH.js";
140
142
  import "../../../chunk-ZHC47M2B.js";
141
143
  import "../../../chunk-MBSN5HHQ.js";
142
- import "../../../chunk-QHHSUR2Y.js";
144
+ import "../../../chunk-PTF5B7TJ.js";
143
145
  import "../../../chunk-TXS65BB2.js";
144
146
  import {
145
147
  useOpenGeniText
146
- } from "../../../chunk-TNUSPXPW.js";
148
+ } from "../../../chunk-7T2ZE3VT.js";
147
149
 
148
150
  // src/app/components/session/descendant-requests.tsx
149
151
  import { ChevronDownIcon, CornerDownRightIcon } from "lucide-react";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/app/components/session/descendant-requests.tsx"],"sourcesContent":["// The parent session's view of its sub-sessions' waits: every question and\n// tool approval a descendant is blocked on, pinned above the composer and\n// answered in place. Answers and decisions go to the sub-session itself,\n// through the same requests its own page sends, so the agent cannot tell the\n// difference and the server's permission checks apply unchanged.\n// \"Let the agent decide\" instead hands a question to this chat's own agent,\n// which answers it for the sub-session.\nimport type {\n McpElicitationAnswer,\n OpenGeniClient,\n SessionEvent,\n SessionHumanInputRequest,\n SessionSummary,\n SubmitHumanInputResponseRequest,\n} from \"@opengeni/sdk\";\nimport { ChevronDownIcon, CornerDownRightIcon } from \"lucide-react\";\nimport { useCallback, useEffect, useId, useMemo, useRef, useState, type ReactNode } from \"react\";\n\nimport type { PendingApproval } from \"../../../approvals\";\nimport type { HumanInputFormProps } from \"../../../components/human-input-form\";\nimport { usePolledValue } from \"../../../hooks/internal\";\nimport { useHumanInputRequests } from \"../../../hooks/use-human-input\";\nimport {\n delegatedHumanInputRequestIds,\n humanInputDelegationMessage,\n} from \"../../../human-input-delegation\";\nimport { useOpenGeniText } from \"../../../messages/runtime\";\nimport {\n ApprovalSurface,\n HumanInputSurface,\n type ToolReviewDetailsLoader,\n} from \"../../../session-ui\";\nimport { buttonVariants } from \"../../../ui/button\";\nimport { userErrorText } from \"../../../ui/api-error\";\nimport {\n DESCENDANT_REQUEST_EVENT_LIMIT,\n DESCENDANT_REQUEST_EVENT_TYPES,\n descendantRequestActivity,\n subSessionsNeedYouLabel,\n} from \"../../lib/descendant-requests\";\nimport { Link } from \"../../lib/navigation\";\nimport { sessionDisplayTitle } from \"../../lib/session-rename\";\nimport { toast } from \"../../lib/toast\";\nimport { cn } from \"../../lib/utils\";\n\n/** The exact client surface the card reads and answers through. */\nexport type DescendantRequestsClient = Pick<\n OpenGeniClient,\n | \"getSession\"\n | \"streamEvents\"\n | \"listHumanInputRequests\"\n | \"submitHumanInputResponse\"\n | \"sendMessage\"\n | \"listEventPage\"\n | \"sendApprovalDecision\"\n | \"getToolActionReview\"\n | \"getToolReviewDetails\"\n>;\n\nexport type DescendantRequestsProps = {\n client: DescendantRequestsClient;\n workspaceId: string;\n /** The session whose page shows the card; keys the collapsed preference. */\n parentSessionId: string;\n /**\n * The viewing session's own events: its messages that handed a question to\n * its agent mark that card as being decided.\n */\n events?: readonly SessionEvent[] | undefined;\n /** Descendants waiting on the person, longest-waiting first. */\n waiting: readonly SessionSummary[];\n /** Something was answered or decided here: re-read the tree. */\n onResolved?: (() => void) | undefined;\n /**\n * A sub-session started resuming from an approval decided here (`true`), or\n * has no approval left to decide while it runs (`false`). While it resumes,\n * the host keeps it in `waiting` so its other approvals stay decidable.\n */\n onResumingChange?: ((sessionId: string, resuming: boolean) => void) | undefined;\n /** Bumped when this session's agent answered or steered a sub-session; every item re-reads. */\n refreshSignal?: number | undefined;\n loadSkillReview?: HumanInputFormProps[\"loadSkillReview\"];\n allowedSaveTo?: HumanInputFormProps[\"allowedSaveTo\"];\n /** Safety-net re-read of questions while shown (live hints drive the rest). */\n pollIntervalMs?: number | undefined;\n};\n\n// The shared-feed mode with an empty feed: no live stream per sub-session.\n// The parent's list hints and lineage reads drive refreshes instead.\nconst NO_EVENTS: SessionEvent[] = [];\nconst DEFAULT_POLL_MS = 15_000;\n// Approvals are rebuilt from an event page, a heavier read than the question\n// list; it is re-read on every change the tree sees, so its own poll is slow.\nconst ACTIVITY_POLL_FACTOR = 3;\n\n// Whether a parent's stack was collapsed, for this tab: it stays collapsed\n// after opening a sub-session and coming back.\nconst collapsedStacks = new Map<string, boolean>();\n// Questions handed to the agent from this tab, until its message shows up in\n// the viewing session's events.\nconst delegatedRequests = new Set<string>();\n\nexport function resetDescendantRequestsStateForTests(): void {\n collapsedStacks.clear();\n delegatedRequests.clear();\n}\n\n/**\n * Pending questions and approvals from a session's sub-sessions. One waiting\n * sub-session shows its request directly; several stack under one line that\n * collapses them (\"3 sub-sessions need you\"). Each request names the\n * sub-session asking and links to it.\n */\nexport function DescendantRequests(props: DescendantRequestsProps) {\n const stackKey = `${props.workspaceId}\\u0000${props.parentSessionId}`;\n // Read from the map on every render, so switching parents never shows the\n // previous parent's choice for a frame.\n const [, rerender] = useState(0);\n const stackId = useId();\n const collapsed = collapsedStacks.get(stackKey) ?? false;\n const setCollapsed = (next: boolean) => {\n collapsedStacks.set(stackKey, next);\n rerender((value) => value + 1);\n };\n const count = props.waiting.length;\n const events = props.events;\n const delegatedInEvents = useMemo(() => delegatedHumanInputRequestIds(events ?? []), [events]);\n if (count === 0) return null;\n const stacked = count > 1;\n const label = subSessionsNeedYouLabel(count);\n return (\n <section aria-label={label} data-descendant-requests=\"\" className=\"mb-2 flex flex-col gap-2\">\n {stacked ? (\n <button\n type=\"button\"\n aria-expanded={!collapsed}\n aria-controls={stackId}\n onClick={() => setCollapsed(!collapsed)}\n className=\"flex min-h-10 w-full items-center gap-2.5 rounded-lg border border-status-waiting/35 bg-status-waiting/5 px-3 text-left transition-colors duration-[120ms] hover:hover-layer focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-brand/55 pointer-coarse:min-h-11\"\n data-descendant-requests-toggle=\"\"\n >\n <span aria-hidden=\"true\" className=\"size-2 shrink-0 rounded-full bg-status-waiting\" />\n <span className=\"min-w-0 flex-1 truncate text-sm font-medium text-fg\">{label}</span>\n <ChevronDownIcon\n aria-hidden=\"true\"\n className={cn(\n \"size-4 shrink-0 text-fg-muted transition-transform duration-[120ms] motion-reduce:transition-none\",\n !collapsed && \"rotate-180\",\n )}\n />\n </button>\n ) : null}\n {stacked && collapsed ? null : (\n <div\n id={stackId}\n className={cn(\n \"flex flex-col gap-3\",\n stacked && \"max-h-[min(36rem,55dvh)] overflow-y-auto overscroll-contain\",\n )}\n data-descendant-requests-stack=\"\"\n >\n {props.waiting.map((session, index) => (\n // Later asks start as compact bars so every one is visible.\n <DescendantRequestItem\n key={session.id}\n {...props}\n delegatedInEvents={delegatedInEvents}\n session={session}\n compact={stacked && index > 0}\n />\n ))}\n </div>\n )}\n </section>\n );\n}\n\nexport default DescendantRequests;\n\nfunction DescendantRequestItem({\n client,\n workspaceId,\n parentSessionId,\n session,\n compact,\n delegatedInEvents,\n onResolved,\n onResumingChange,\n refreshSignal = 0,\n loadSkillReview,\n allowedSaveTo,\n pollIntervalMs = DEFAULT_POLL_MS,\n}: DescendantRequestsProps & {\n session: SessionSummary;\n compact: boolean;\n delegatedInEvents: ReadonlySet<string>;\n}) {\n const sessionId = session.id;\n const t = useOpenGeniText();\n const humanInput = useHumanInputRequests(sessionId, {\n client,\n workspaceId,\n events: NO_EVENTS,\n pollIntervalMs,\n });\n // The SDK's event page read takes no abort signal; an unmounted item's\n // last read finishes and is dropped.\n const loadActivity = useCallback(async () => {\n const page = await client.listEventPage(workspaceId, sessionId, {\n includeTypes: DESCENDANT_REQUEST_EVENT_TYPES,\n direction: \"before\",\n limit: DESCENDANT_REQUEST_EVENT_LIMIT,\n payloadMode: \"full\",\n });\n return descendantRequestActivity(page.events);\n }, [client, sessionId, workspaceId]);\n const activity = usePolledValue(loadActivity, {\n pollIntervalMs: pollIntervalMs * ACTIVITY_POLL_FACTOR,\n });\n\n // Re-read when the sub-session moved on (a new request, or one settled\n // elsewhere) or this session's agent answered one. The first render reads.\n const refreshHumanInput = humanInput.refresh;\n const refreshActivity = activity.refresh;\n const seen = useRef({ lastSequence: session.lastSequence, refreshSignal });\n useEffect(() => {\n const previous = seen.current;\n seen.current = { lastSequence: session.lastSequence, refreshSignal };\n if (previous.lastSequence === session.lastSequence && previous.refreshSignal === refreshSignal)\n return;\n void refreshHumanInput();\n void refreshActivity();\n }, [refreshActivity, refreshHumanInput, refreshSignal, session.lastSequence]);\n\n const title = sessionDisplayTitle(session);\n const requests = humanInput.requests;\n const approvals = activity.data?.approvals ?? [];\n const requestSequences = activity.data?.requestSequences;\n const firstRequest = requests[0];\n const hasRequest = requests.length > 0 || approvals.length > 0;\n\n // Once this wait showed a question or an approval, its end is the request\n // settling (here, on the sub-session's page or by an agent). The tree still\n // shows the sub-session waiting until it is re-read, so say nothing for the\n // rest of that wait; a new wait has a new start time.\n const waitKey = session.requiresActionSince ?? `sequence:${session.lastSequence}`;\n const [handledWait, setHandledWait] = useState<string | null>(null);\n useEffect(() => {\n if (hasRequest) setHandledWait(waitKey);\n }, [hasRequest, waitKey]);\n const settled = () => {\n setHandledWait(waitKey);\n onResolved?.();\n };\n\n // Stable, so a re-render never reloads a review that is already shown.\n const loadReview = useCallback(\n (approval: PendingApproval) => client.getToolActionReview(workspaceId, sessionId, approval.id),\n [client, sessionId, workspaceId],\n );\n const loadDetails = useCallback<ToolReviewDetailsLoader>(\n (review, path, offset) =>\n client.getToolReviewDetails(workspaceId, sessionId, review.id, {\n actionDigest: review.actionDigest,\n path,\n offset,\n }),\n [client, sessionId, workspaceId],\n );\n\n const decide = async (\n approval: PendingApproval,\n decision: \"approve\" | \"reject\",\n answer?: McpElicitationAnswer,\n ) => {\n try {\n await client.sendApprovalDecision(workspaceId, sessionId, {\n approvalId: approval.id,\n decision,\n ...answer,\n });\n } catch (error) {\n toast.error(\"Couldn't submit the decision\", { description: userErrorText(error) });\n throw error instanceof Error ? error : new Error(String(error));\n }\n // The sub-session resumes now; its other approvals stay decidable here.\n onResumingChange?.(sessionId, true);\n settled();\n await refreshActivity();\n };\n // Resuming with nothing left to decide: the card has done its part.\n const resumingWithoutApprovals =\n session.status !== \"requires_action\" &&\n activity.data !== null &&\n activity.data.approvals.length === 0;\n useEffect(() => {\n if (resumingWithoutApprovals) onResumingChange?.(sessionId, false);\n }, [onResumingChange, resumingWithoutApprovals, sessionId]);\n\n const [delegations, markDelegated] = useState(0);\n const agentDeciding = useMemo(() => {\n const ids = new Set(delegatedInEvents);\n for (const request of requests) if (delegatedRequests.has(request.id)) ids.add(request.id);\n // `delegations` re-reads the tab-local set after a hand-off.\n void delegations;\n return ids;\n }, [delegatedInEvents, delegations, requests]);\n const letAgentDecide = async (request: SessionHumanInputRequest) => {\n const message = humanInputDelegationMessage(t, { sessionId, sessionTitle: title, request });\n // A failure reaches the card as is, so it shows the API's own message.\n await client.sendMessage(workspaceId, parentSessionId, {\n ...message,\n clientEventId: crypto.randomUUID(),\n });\n delegatedRequests.add(request.id);\n markDelegated((value) => value + 1);\n };\n\n if (hasRequest) {\n return (\n <div\n data-descendant-request={sessionId}\n data-descendant-request-kind={requests.length > 0 ? \"question\" : \"approval\"}\n className=\"flex flex-col gap-2\"\n >\n {requests.length > 0 ? (\n <div>\n <ItemSource\n title={title}\n verb=\"is asking\"\n link={\n <SubSessionLink\n workspaceId={workspaceId}\n sessionId={sessionId}\n title={title}\n at={(firstRequest && requestSequences?.get(firstRequest.id)) ?? null}\n />\n }\n />\n <HumanInputSurface\n // The form reads `defaultCollapsed` once: remount only the form\n // when an item moves up the stack (a lone item left after the\n // others settle shows its request directly). The item and its\n // reads stay mounted.\n key={compact ? \"compact\" : \"full\"}\n requests={requests}\n loadSkillReview={loadSkillReview}\n allowedSaveTo={allowedSaveTo}\n respondingRequestId={humanInput.respondingRequestId}\n error={humanInput.mutationError?.message}\n // Never take the caret from the parent's composer.\n autoFocus={false}\n defaultCollapsed={compact}\n onLetAgentDecide={letAgentDecide}\n agentDecidingRequestIds={agentDeciding}\n onSubmit={async (requestId, response: SubmitHumanInputResponseRequest) => {\n // A failed send resolves null. Reject so the form keeps what was\n // typed (and its draft) for a retry, as on the sub-session's page.\n if (!(await humanInput.respond(requestId, response))) {\n throw new Error(\"Your answer wasn't sent. Try again.\");\n }\n settled();\n }}\n />\n </div>\n ) : null}\n {approvals.length > 0 ? (\n <div data-descendant-request-approvals=\"\">\n <ItemSource\n title={title}\n verb=\"needs approval\"\n link={\n <SubSessionLink\n workspaceId={workspaceId}\n sessionId={sessionId}\n title={title}\n at={activity.data?.approvalSequence ?? null}\n />\n }\n />\n <ApprovalSurface\n className=\"py-0\"\n approvals={approvals}\n loadReview={loadReview}\n loadDetails={loadDetails}\n onApprove={(approval, answer) => decide(approval, \"approve\", answer)}\n onReject={(approval) => decide(approval, \"reject\")}\n />\n </div>\n ) : null}\n </div>\n );\n }\n // Waiting on something only its own page can take (a reconnect, a sign-in):\n // say so once both reads are in, and point there.\n const loaded = !humanInput.loading && (activity.data !== null || activity.error !== null);\n // A sub-session kept up while it resumes waits on nobody once it has no request.\n if (!loaded || handledWait === waitKey || session.status !== \"requires_action\") return null;\n return (\n <div\n data-descendant-request={sessionId}\n data-descendant-request-kind=\"other\"\n className=\"flex min-h-12 items-center gap-3 rounded-lg border border-status-waiting/35 bg-status-waiting/5 px-3 py-2\"\n >\n <span aria-hidden=\"true\" className=\"size-2 shrink-0 rounded-full bg-status-waiting\" />\n <p className=\"m-0 min-w-0 flex-1 truncate text-sm text-fg-muted\">\n <span className=\"font-medium text-fg\">{title}</span> needs you\n </p>\n <SubSessionLink\n workspaceId={workspaceId}\n sessionId={sessionId}\n title={title}\n at={null}\n className={cn(buttonVariants({ variant: \"outline\", size: \"sm\" }), \"shrink-0\")}\n />\n </div>\n );\n}\n\n/** Which sub-session is asking, and the way to it. */\nfunction ItemSource({ title, verb, link }: { title: string; verb: string; link: ReactNode }) {\n return (\n <div className=\"flex min-w-0 items-center gap-1.5 px-1 pb-1.5 text-xs leading-[18px]\">\n <CornerDownRightIcon aria-hidden=\"true\" className=\"size-3.5 shrink-0 text-fg-subtle\" />\n <p className=\"m-0 min-w-0 truncate text-fg-muted\">\n <span className=\"font-medium text-fg\">{title}</span> {verb}\n </p>\n {link}\n </div>\n );\n}\n\n/** Opens the sub-session, scrolled to where it asked when that is known. */\nfunction SubSessionLink({\n workspaceId,\n sessionId,\n title,\n at,\n className,\n}: {\n workspaceId: string;\n sessionId: string;\n title: string;\n at: number | null;\n className?: string | undefined;\n}) {\n return (\n <Link\n to=\"/workspaces/$workspaceId/sessions/$sessionId\"\n params={{ workspaceId, sessionId }}\n search={at !== null ? { at } : {}}\n aria-label={`Open sub-session: ${title}`}\n data-descendant-request-link=\"\"\n className={\n className ??\n \"og-link ml-auto inline-flex min-h-8 shrink-0 items-center rounded-sm text-xs text-fg-muted focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-brand/55 pointer-coarse:min-h-11\"\n }\n >\n Open sub-session\n </Link>\n );\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../../src/app/components/session/descendant-requests.tsx"],"sourcesContent":["// The parent session's view of its sub-sessions' waits: every question and\n// tool approval a descendant is blocked on, pinned above the composer and\n// answered in place. Answers and decisions go to the sub-session itself,\n// through the same requests its own page sends, so the agent cannot tell the\n// difference and the server's permission checks apply unchanged.\n// \"Let the agent decide\" instead hands a question to this chat's own agent,\n// which answers it for the sub-session.\nimport type {\n McpElicitationAnswer,\n OpenGeniClient,\n SessionEvent,\n SessionHumanInputRequest,\n SessionSummary,\n SubmitHumanInputResponseRequest,\n} from \"@opengeni/sdk\";\nimport { ChevronDownIcon, CornerDownRightIcon } from \"lucide-react\";\nimport { useCallback, useEffect, useId, useMemo, useRef, useState, type ReactNode } from \"react\";\n\nimport type { PendingApproval } from \"../../../approvals\";\nimport type { HumanInputFormProps } from \"../../../components/human-input-form\";\nimport { usePolledValue } from \"../../../hooks/internal\";\nimport { useHumanInputRequests } from \"../../../hooks/use-human-input\";\nimport {\n delegatedHumanInputRequestIds,\n humanInputDelegationMessage,\n} from \"../../../human-input-delegation\";\nimport { useOpenGeniText } from \"../../../messages/runtime\";\nimport {\n ApprovalSurface,\n HumanInputSurface,\n type ToolReviewDetailsLoader,\n} from \"../../../session-ui\";\nimport { buttonVariants } from \"../../../ui/button\";\nimport { userErrorText } from \"../../../ui/api-error\";\nimport {\n DESCENDANT_REQUEST_EVENT_LIMIT,\n DESCENDANT_REQUEST_EVENT_TYPES,\n descendantRequestActivity,\n subSessionsNeedYouLabel,\n} from \"../../lib/descendant-requests\";\nimport { Link } from \"../../lib/navigation\";\nimport { sessionDisplayTitle } from \"../../lib/session-rename\";\nimport { toast } from \"../../lib/toast\";\nimport { cn } from \"../../lib/utils\";\n\n/** The exact client surface the card reads and answers through. */\nexport type DescendantRequestsClient = Pick<\n OpenGeniClient,\n | \"getSession\"\n | \"streamEvents\"\n | \"listHumanInputRequests\"\n | \"submitHumanInputResponse\"\n | \"sendMessage\"\n | \"listEventPage\"\n | \"sendApprovalDecision\"\n | \"getToolActionReview\"\n | \"getToolReviewDetails\"\n>;\n\nexport type DescendantRequestsProps = {\n client: DescendantRequestsClient;\n workspaceId: string;\n /** The session whose page shows the card; keys the collapsed preference. */\n parentSessionId: string;\n /**\n * The viewing session's own events: its messages that handed a question to\n * its agent mark that card as being decided.\n */\n events?: readonly SessionEvent[] | undefined;\n /** Descendants waiting on the person, longest-waiting first. */\n waiting: readonly SessionSummary[];\n /** Something was answered or decided here: re-read the tree. */\n onResolved?: (() => void) | undefined;\n /**\n * A sub-session started resuming from an approval decided here (`true`), or\n * has no approval left to decide while it runs (`false`). While it resumes,\n * the host keeps it in `waiting` so its other approvals stay decidable.\n */\n onResumingChange?: ((sessionId: string, resuming: boolean) => void) | undefined;\n /** Bumped when this session's agent answered or steered a sub-session; every item re-reads. */\n refreshSignal?: number | undefined;\n loadSkillReview?: HumanInputFormProps[\"loadSkillReview\"];\n allowedSaveTo?: HumanInputFormProps[\"allowedSaveTo\"];\n /** Safety-net re-read of questions while shown (live hints drive the rest). */\n pollIntervalMs?: number | undefined;\n};\n\n// The shared-feed mode with an empty feed: no live stream per sub-session.\n// The parent's list hints and lineage reads drive refreshes instead.\nconst NO_EVENTS: SessionEvent[] = [];\nconst DEFAULT_POLL_MS = 15_000;\n// Approvals are rebuilt from an event page, a heavier read than the question\n// list; it is re-read on every change the tree sees, so its own poll is slow.\nconst ACTIVITY_POLL_FACTOR = 3;\n\n// Whether a parent's stack was collapsed, for this tab: it stays collapsed\n// after opening a sub-session and coming back.\nconst collapsedStacks = new Map<string, boolean>();\n// Questions handed to the agent from this tab, until its message shows up in\n// the viewing session's events.\nconst delegatedRequests = new Set<string>();\n\nexport function resetDescendantRequestsStateForTests(): void {\n collapsedStacks.clear();\n delegatedRequests.clear();\n}\n\n/**\n * Pending questions and approvals from a session's sub-sessions. One waiting\n * sub-session shows its request directly; several stack under one line that\n * collapses them (\"3 sub-sessions need you\"). Each request names the\n * sub-session asking and links to it.\n */\nexport function DescendantRequests(props: DescendantRequestsProps) {\n const stackKey = `${props.workspaceId}\\u0000${props.parentSessionId}`;\n // Read from the map on every render, so switching parents never shows the\n // previous parent's choice for a frame.\n const [, rerender] = useState(0);\n const stackId = useId();\n const collapsed = collapsedStacks.get(stackKey) ?? false;\n const setCollapsed = (next: boolean) => {\n collapsedStacks.set(stackKey, next);\n rerender((value) => value + 1);\n };\n const count = props.waiting.length;\n const events = props.events;\n const delegatedInEvents = useMemo(() => delegatedHumanInputRequestIds(events ?? []), [events]);\n if (count === 0) return null;\n const stacked = count > 1;\n const label = subSessionsNeedYouLabel(count);\n return (\n <section aria-label={label} data-descendant-requests=\"\" className=\"mb-2 flex flex-col gap-2\">\n {stacked ? (\n <button\n type=\"button\"\n aria-expanded={!collapsed}\n aria-controls={stackId}\n onClick={() => setCollapsed(!collapsed)}\n className=\"flex min-h-10 w-full items-center gap-2.5 rounded-lg border border-status-waiting/35 bg-status-waiting/5 px-3 text-left transition-colors duration-[120ms] hover:hover-layer focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-brand/55 pointer-coarse:min-h-11\"\n data-descendant-requests-toggle=\"\"\n >\n <span aria-hidden=\"true\" className=\"size-2 shrink-0 rounded-full bg-status-waiting\" />\n <span className=\"min-w-0 flex-1 truncate text-sm font-medium text-fg\">{label}</span>\n <ChevronDownIcon\n aria-hidden=\"true\"\n className={cn(\n \"size-4 shrink-0 text-fg-muted transition-transform duration-[120ms] motion-reduce:transition-none\",\n !collapsed && \"rotate-180\",\n )}\n />\n </button>\n ) : null}\n {stacked && collapsed ? null : (\n <div\n id={stackId}\n className={cn(\n \"flex flex-col gap-3\",\n stacked && \"max-h-[min(36rem,55dvh)] overflow-y-auto overscroll-contain\",\n )}\n data-descendant-requests-stack=\"\"\n >\n {props.waiting.map((session, index) => (\n // Later asks start as compact bars so every one is visible.\n <DescendantRequestItem\n key={session.id}\n {...props}\n delegatedInEvents={delegatedInEvents}\n session={session}\n compact={stacked && index > 0}\n />\n ))}\n </div>\n )}\n </section>\n );\n}\n\nexport default DescendantRequests;\n\nfunction DescendantRequestItem({\n client,\n workspaceId,\n parentSessionId,\n session,\n compact,\n delegatedInEvents,\n onResolved,\n onResumingChange,\n refreshSignal = 0,\n loadSkillReview,\n allowedSaveTo,\n pollIntervalMs = DEFAULT_POLL_MS,\n}: DescendantRequestsProps & {\n session: SessionSummary;\n compact: boolean;\n delegatedInEvents: ReadonlySet<string>;\n}) {\n const sessionId = session.id;\n const t = useOpenGeniText();\n const humanInput = useHumanInputRequests(sessionId, {\n client,\n workspaceId,\n events: NO_EVENTS,\n pollIntervalMs,\n });\n // The SDK's event page read takes no abort signal; an unmounted item's\n // last read finishes and is dropped.\n const loadActivity = useCallback(async () => {\n const page = await client.listEventPage(workspaceId, sessionId, {\n includeTypes: DESCENDANT_REQUEST_EVENT_TYPES,\n direction: \"before\",\n limit: DESCENDANT_REQUEST_EVENT_LIMIT,\n payloadMode: \"full\",\n });\n return descendantRequestActivity(page.events);\n }, [client, sessionId, workspaceId]);\n const activity = usePolledValue(loadActivity, {\n pollIntervalMs: pollIntervalMs * ACTIVITY_POLL_FACTOR,\n });\n\n // Re-read when the sub-session moved on (a new request, or one settled\n // elsewhere) or this session's agent answered one. The first render reads.\n const refreshHumanInput = humanInput.refresh;\n const refreshActivity = activity.refresh;\n const seen = useRef({ lastSequence: session.lastSequence, refreshSignal });\n useEffect(() => {\n const previous = seen.current;\n seen.current = { lastSequence: session.lastSequence, refreshSignal };\n if (previous.lastSequence === session.lastSequence && previous.refreshSignal === refreshSignal)\n return;\n void refreshHumanInput();\n void refreshActivity();\n }, [refreshActivity, refreshHumanInput, refreshSignal, session.lastSequence]);\n\n const title = sessionDisplayTitle(session);\n const requests = humanInput.requests;\n const approvals = activity.data?.approvals ?? [];\n const requestSequences = activity.data?.requestSequences;\n const firstRequest = requests[0];\n const hasRequest = requests.length > 0 || approvals.length > 0;\n\n // Once this wait showed a question or an approval, its end is the request\n // settling (here, on the sub-session's page or by an agent). The tree still\n // shows the sub-session waiting until it is re-read, so say nothing for the\n // rest of that wait; a new wait has a new start time.\n const waitKey = session.requiresActionSince ?? `sequence:${session.lastSequence}`;\n const [handledWait, setHandledWait] = useState<string | null>(null);\n useEffect(() => {\n if (hasRequest) setHandledWait(waitKey);\n }, [hasRequest, waitKey]);\n const settled = () => {\n setHandledWait(waitKey);\n onResolved?.();\n };\n\n // Stable, so a re-render never reloads a review that is already shown.\n const loadReview = useCallback(\n (approval: PendingApproval) => client.getToolActionReview(workspaceId, sessionId, approval.id),\n [client, sessionId, workspaceId],\n );\n const loadDetails = useCallback<ToolReviewDetailsLoader>(\n (review, path, offset) =>\n client.getToolReviewDetails(workspaceId, sessionId, review.id, {\n actionDigest: review.actionDigest,\n path,\n offset,\n }),\n [client, sessionId, workspaceId],\n );\n\n const decide = async (\n approval: PendingApproval,\n decision: \"approve\" | \"reject\",\n answer?: McpElicitationAnswer,\n ) => {\n try {\n await client.sendApprovalDecision(workspaceId, sessionId, {\n approvalId: approval.id,\n decision,\n ...answer,\n });\n } catch (error) {\n toast.error(\"Couldn't submit the decision\", { description: userErrorText(error) });\n throw error instanceof Error ? error : new Error(String(error));\n }\n // The sub-session resumes now; its other approvals stay decidable here.\n onResumingChange?.(sessionId, true);\n settled();\n await refreshActivity();\n };\n // Resuming with nothing left to decide: the card has done its part.\n const resumingWithoutApprovals =\n session.status !== \"requires_action\" &&\n activity.data !== null &&\n activity.data.approvals.length === 0;\n useEffect(() => {\n if (resumingWithoutApprovals) onResumingChange?.(sessionId, false);\n }, [onResumingChange, resumingWithoutApprovals, sessionId]);\n\n const [delegations, markDelegated] = useState(0);\n const agentDeciding = useMemo(() => {\n const ids = new Set(delegatedInEvents);\n for (const request of requests) if (delegatedRequests.has(request.id)) ids.add(request.id);\n // `delegations` re-reads the tab-local set after a hand-off.\n void delegations;\n return ids;\n }, [delegatedInEvents, delegations, requests]);\n const letAgentDecide = async (request: SessionHumanInputRequest) => {\n const message = humanInputDelegationMessage(t, { sessionId, sessionTitle: title, request });\n // A failure reaches the card as is, so it shows the API's own message.\n await client.sendMessage(workspaceId, parentSessionId, {\n ...message,\n clientEventId: crypto.randomUUID(),\n });\n delegatedRequests.add(request.id);\n markDelegated((value) => value + 1);\n };\n\n if (hasRequest) {\n return (\n <div\n data-descendant-request={sessionId}\n data-descendant-request-kind={requests.length > 0 ? \"question\" : \"approval\"}\n className=\"flex flex-col gap-2\"\n >\n {requests.length > 0 ? (\n <div>\n <ItemSource\n title={title}\n verb=\"is asking\"\n link={\n <SubSessionLink\n workspaceId={workspaceId}\n sessionId={sessionId}\n title={title}\n at={(firstRequest && requestSequences?.get(firstRequest.id)) ?? null}\n />\n }\n />\n <HumanInputSurface\n // The form reads `defaultCollapsed` once: remount only the form\n // when an item moves up the stack (a lone item left after the\n // others settle shows its request directly). The item and its\n // reads stay mounted.\n key={compact ? \"compact\" : \"full\"}\n requests={requests}\n loadSkillReview={loadSkillReview}\n allowedSaveTo={allowedSaveTo}\n respondingRequestId={humanInput.respondingRequestId}\n error={humanInput.mutationError?.message}\n // Never take the caret from the parent's composer.\n autoFocus={false}\n defaultCollapsed={compact}\n onLetAgentDecide={letAgentDecide}\n agentDecidingRequestIds={agentDeciding}\n onSubmit={async (requestId, response: SubmitHumanInputResponseRequest) => {\n // A failed send resolves null. Reject so the form keeps what was\n // typed (and its draft) for a retry, as on the sub-session's page.\n if (!(await humanInput.respond(requestId, response))) {\n throw new Error(\"Your answer wasn't sent. Try again.\");\n }\n settled();\n }}\n />\n </div>\n ) : null}\n {approvals.length > 0 ? (\n <div data-descendant-request-approvals=\"\">\n <ItemSource\n title={title}\n verb=\"needs approval\"\n link={\n <SubSessionLink\n workspaceId={workspaceId}\n sessionId={sessionId}\n title={title}\n at={activity.data?.approvalSequence ?? null}\n />\n }\n />\n <ApprovalSurface\n className=\"py-0\"\n approvals={approvals}\n loadReview={loadReview}\n loadDetails={loadDetails}\n onApprove={(approval, answer) => decide(approval, \"approve\", answer)}\n onReject={(approval) => decide(approval, \"reject\")}\n />\n </div>\n ) : null}\n </div>\n );\n }\n // Waiting on something only its own page can take (a reconnect, a sign-in):\n // say so once both reads are in, and point there.\n const loaded = !humanInput.loading && (activity.data !== null || activity.error !== null);\n // A sub-session kept up while it resumes waits on nobody once it has no request.\n if (!loaded || handledWait === waitKey || session.status !== \"requires_action\") return null;\n return (\n <div\n data-descendant-request={sessionId}\n data-descendant-request-kind=\"other\"\n className=\"flex min-h-12 items-center gap-3 rounded-lg border border-status-waiting/35 bg-status-waiting/5 px-3 py-2\"\n >\n <span aria-hidden=\"true\" className=\"size-2 shrink-0 rounded-full bg-status-waiting\" />\n <p className=\"m-0 min-w-0 flex-1 truncate text-sm text-fg-muted\">\n <span className=\"font-medium text-fg\">{title}</span> needs you\n </p>\n <SubSessionLink\n workspaceId={workspaceId}\n sessionId={sessionId}\n title={title}\n at={null}\n className={cn(buttonVariants({ variant: \"outline\", size: \"sm\" }), \"shrink-0\")}\n />\n </div>\n );\n}\n\n/** Which sub-session is asking, and the way to it. */\nfunction ItemSource({ title, verb, link }: { title: string; verb: string; link: ReactNode }) {\n return (\n <div className=\"flex min-w-0 items-center gap-1.5 px-1 pb-1.5 text-xs leading-[18px]\">\n <CornerDownRightIcon aria-hidden=\"true\" className=\"size-3.5 shrink-0 text-fg-subtle\" />\n <p className=\"m-0 min-w-0 truncate text-fg-muted\">\n <span className=\"font-medium text-fg\">{title}</span> {verb}\n </p>\n {link}\n </div>\n );\n}\n\n/** Opens the sub-session, scrolled to where it asked when that is known. */\nfunction SubSessionLink({\n workspaceId,\n sessionId,\n title,\n at,\n className,\n}: {\n workspaceId: string;\n sessionId: string;\n title: string;\n at: number | null;\n className?: string | undefined;\n}) {\n return (\n <Link\n to=\"/workspaces/$workspaceId/sessions/$sessionId\"\n params={{ workspaceId, sessionId }}\n search={at !== null ? { at } : {}}\n aria-label={`Open sub-session: ${title}`}\n data-descendant-request-link=\"\"\n className={\n className ??\n \"og-link ml-auto inline-flex min-h-8 shrink-0 items-center rounded-sm text-xs text-fg-muted focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-brand/55 pointer-coarse:min-h-11\"\n }\n >\n Open sub-session\n </Link>\n );\n}\n"],"mappings":"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","names":[]}
@@ -1,22 +1,22 @@
1
1
  "use client";
2
- import {
3
- EditableArtifactSurface,
4
- usePreloadAppSurface
5
- } from "../../../chunk-NY2QWROL.js";
6
2
  import {
7
3
  ArtifactLibrary
8
- } from "../../../chunk-KHJ5PXFM.js";
9
- import "../../../chunk-N3OARGH2.js";
10
- import "../../../chunk-UCILJJNC.js";
4
+ } from "../../../chunk-KUDGXAF7.js";
5
+ import "../../../chunk-T6XI5FLY.js";
11
6
  import "../../../chunk-KV6VVKG5.js";
12
- import "../../../chunk-CZP5QXNB.js";
7
+ import "../../../chunk-UCILJJNC.js";
8
+ import {
9
+ EditableArtifactSurface,
10
+ usePreloadAppSurface
11
+ } from "../../../chunk-J255A3N5.js";
12
+ import "../../../chunk-YCVD6CI3.js";
13
13
  import {
14
14
  CopyArtifactLinkButton
15
- } from "../../../chunk-776QZ573.js";
16
- import "../../../chunk-ZAMTKG5U.js";
15
+ } from "../../../chunk-JWB44UGJ.js";
16
+ import "../../../chunk-7ZNUHRP5.js";
17
17
  import "../../../chunk-KZVRXEYR.js";
18
- import "../../../chunk-C2OWEUOD.js";
19
18
  import "../../../chunk-TDL3FD5U.js";
19
+ import "../../../chunk-C2OWEUOD.js";
20
20
  import "../../../chunk-VAUWRCUY.js";
21
21
  import "../../../chunk-7NLCCKNJ.js";
22
22
  import {
@@ -24,62 +24,64 @@ import {
24
24
  filterArtifactCatalog
25
25
  } from "../../../chunk-DAD2474Q.js";
26
26
  import "../../../chunk-H6474TCK.js";
27
- import "../../../chunk-XF7MA4U5.js";
28
- import "../../../chunk-UYE47LO6.js";
27
+ import "../../../chunk-SC6RRD2D.js";
28
+ import "../../../chunk-VGYXW3VG.js";
29
29
  import {
30
30
  hasWorkspacePermission
31
31
  } from "../../../chunk-H2ALCTWC.js";
32
32
  import "../../../chunk-LBSXJVHD.js";
33
33
  import {
34
34
  Link
35
- } from "../../../chunk-U5EFEMYU.js";
35
+ } from "../../../chunk-BXBDYNRP.js";
36
+ import "../../../chunk-ENFLCAR3.js";
36
37
  import "../../../chunk-5QBCQVKZ.js";
37
38
  import "../../../chunk-HUJLWGDR.js";
38
39
  import "../../../chunk-QZKQMEIH.js";
39
- import "../../../chunk-ENFLCAR3.js";
40
- import "../../../chunk-YG6NARQY.js";
40
+ import "../../../chunk-O4EA4F3W.js";
41
41
  import {
42
42
  useAppContext
43
43
  } from "../../../chunk-JDFDPMKX.js";
44
44
  import "../../../chunk-SS4QT7SL.js";
45
45
  import "../../../chunk-SOJNW3HC.js";
46
- import "../../../chunk-G6ZZC543.js";
46
+ import "../../../chunk-54YW6SZZ.js";
47
47
  import {
48
48
  cn
49
49
  } from "../../../chunk-A3MTTRCX.js";
50
- import "../../../chunk-VGUN6VB2.js";
50
+ import "../../../chunk-RGBI63KJ.js";
51
51
  import "../../../chunk-SS3N75VI.js";
52
- import "../../../chunk-E6SQKHAU.js";
52
+ import "../../../chunk-SIRLACNZ.js";
53
53
  import "../../../chunk-QE4XESS7.js";
54
54
  import "../../../chunk-HIPM3BEC.js";
55
55
  import "../../../chunk-X6WZOHBI.js";
56
56
  import "../../../chunk-GM3LG6BG.js";
57
57
  import "../../../chunk-ZQCND77P.js";
58
- import "../../../chunk-L4OF77LE.js";
58
+ import "../../../chunk-O4OOG3D6.js";
59
59
  import "../../../chunk-K4DHWGCT.js";
60
60
  import "../../../chunk-HJO32O7Z.js";
61
61
  import "../../../chunk-HD5X76TP.js";
62
- import "../../../chunk-ELL6HSYR.js";
63
- import "../../../chunk-PC2MVXIP.js";
62
+ import "../../../chunk-53AGXXZM.js";
63
+ import "../../../chunk-YNF2OC54.js";
64
64
  import "../../../chunk-5OTQA7CM.js";
65
65
  import "../../../chunk-ZMBJPN4T.js";
66
66
  import "../../../chunk-UX3XHFRX.js";
67
67
  import "../../../chunk-X5NTDJIO.js";
68
68
  import "../../../chunk-NRP4REXE.js";
69
- import "../../../chunk-WLEDGIVS.js";
70
- import "../../../chunk-R3J2PTVQ.js";
71
- import "../../../chunk-MW7Y3T55.js";
72
- import "../../../chunk-FXSHP4JZ.js";
73
- import "../../../chunk-GA4YEAMX.js";
74
- import "../../../chunk-YYICQDK4.js";
69
+ import "../../../chunk-FSOQDUCG.js";
70
+ import "../../../chunk-V4Z4B2E3.js";
71
+ import "../../../chunk-FYWT2O76.js";
72
+ import "../../../chunk-OF4TIKYC.js";
73
+ import "../../../chunk-XEQMZB3C.js";
74
+ import "../../../chunk-DXBYWSL5.js";
75
+ import "../../../chunk-X3MWB2QU.js";
76
+ import "../../../chunk-QIOQ2NPQ.js";
75
77
  import "../../../chunk-IGFZFLI2.js";
76
78
  import "../../../chunk-IOYHDEP3.js";
77
79
  import {
78
80
  useWorkspacePanelOwnsExpand
79
- } from "../../../chunk-YYLMZLI6.js";
81
+ } from "../../../chunk-LHPNABDH.js";
80
82
  import "../../../chunk-USG4XNMA.js";
81
83
  import "../../../chunk-SERRKZO4.js";
82
- import "../../../chunk-2XNG2KNT.js";
84
+ import "../../../chunk-CUIWCGMA.js";
83
85
  import "../../../chunk-3SOIESJM.js";
84
86
  import "../../../chunk-4NQHXYMW.js";
85
87
  import "../../../chunk-VDPUG6LH.js";
@@ -95,14 +97,14 @@ import "../../../chunk-XEA5BCMA.js";
95
97
  import "../../../chunk-5MOJZORA.js";
96
98
  import "../../../chunk-AZGAUBKR.js";
97
99
  import "../../../chunk-TVQCDDSZ.js";
98
- import "../../../chunk-4SZZAFYQ.js";
100
+ import "../../../chunk-57AZS3IE.js";
99
101
  import "../../../chunk-2DDJ6YH6.js";
100
- import "../../../chunk-2JENKGCE.js";
102
+ import "../../../chunk-7VMZGLYI.js";
101
103
  import {
102
104
  ArtifactViewerHeader
103
- } from "../../../chunk-QHHSUR2Y.js";
105
+ } from "../../../chunk-PTF5B7TJ.js";
104
106
  import "../../../chunk-TXS65BB2.js";
105
- import "../../../chunk-TNUSPXPW.js";
107
+ import "../../../chunk-7T2ZE3VT.js";
106
108
 
107
109
  // src/app/components/session/editable-artifacts-workspace.tsx
108
110
  import {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/app/components/session/editable-artifacts-workspace.tsx"],"sourcesContent":["import { Link } from \"../../lib/navigation\";\nimport type { ArtifactCatalogItem } from \"@opengeni/sdk\";\nimport { ArtifactViewerHeader } from \"../../../artifacts\";\nimport {\n Loader2Icon,\n Maximize2Icon,\n PanelsTopLeftIcon,\n RefreshCwIcon,\n RotateCwIcon,\n SettingsIcon,\n} from \"lucide-react\";\nimport { lazy, useEffect, useRef, useState } from \"react\";\n\nimport { Button } from \"../../../ui/button\";\nimport { useWorkspacePanelOwnsExpand } from \"../../../components/workspace-dock\";\nimport { useAppContext } from \"../../app-context\";\nimport { EditableArtifactSurface, usePreloadAppSurface } from \"../../lib/app-surfaces\";\nimport { ArtifactLibrary, type ArtifactPinAction } from \"../artifacts/artifact-library\";\nimport { CopyArtifactLinkButton } from \"../artifacts/copy-artifact-link\";\nimport { defaultArtifactFilters, filterArtifactCatalog } from \"../../lib/artifact-catalog\";\nimport { hasWorkspacePermission } from \"../../lib/permissions\";\nimport { cn } from \"../../lib/utils\";\nconst RetainedArtifactRoute = lazy(() =>\n import(\"../../routes/retained-artifact\").then((module) => ({\n default: module.RetainedArtifactRoute,\n })),\n);\nconst ArtifactDetailRoute = lazy(() =>\n import(\"../../routes/artifacts\").then((module) => ({ default: module.ArtifactDetailRoute })),\n);\n\n/** The panel's one expand for a Site, named for what it does. */\nconst EXPAND_SITE = \"Expand Site to full window\";\n\nexport type SessionEditableArtifactSummary = Readonly<{\n id: string;\n modality: \"document\" | \"spreadsheet\" | \"presentation\" | \"site\" | \"image\" | \"file\";\n title: string;\n versionId?: string | undefined;\n siteStatus?: \"active\" | \"archived\" | undefined;\n catalogItem?: ArtifactCatalogItem | undefined;\n}>;\n\nexport type SessionEditableArtifactsStatus = \"loading\" | \"ready\" | \"error\";\n\nexport function SessionEditableArtifactsWorkspace({\n workspaceId,\n sessionId,\n artifacts,\n status,\n onRetry,\n initialSelectedArtifactId,\n openArtifactRequest,\n onSelectedArtifactIdChange,\n onPin,\n}: Readonly<{\n workspaceId: string;\n sessionId?: string | undefined;\n artifacts: readonly SessionEditableArtifactSummary[];\n status: SessionEditableArtifactsStatus;\n onRetry: () => void;\n initialSelectedArtifactId?: string | null | undefined;\n openArtifactRequest?:\n | {\n artifactId: string;\n artifactKind?: SessionEditableArtifactSummary[\"modality\"] | undefined;\n requestId: number;\n }\n | null\n | undefined;\n onSelectedArtifactIdChange?: ((artifactId: string | null) => void) | undefined;\n onPin?: ArtifactPinAction | undefined;\n}>) {\n // The editor is the host's separate chunk: start it with the workspace, as\n // when it shipped inside this module, so an artifact opens without a second wait.\n usePreloadAppSurface(\"editableArtifact\", true);\n const [selectedArtifactId, setSelectedArtifactId] = useState(\n () => initialSelectedArtifactId ?? artifacts[0]?.id ?? null,\n );\n const [browsing, setBrowsing] = useState(!initialSelectedArtifactId && !openArtifactRequest);\n const [filters, setFilters] = useState(defaultArtifactFilters);\n // A Site's Settings open in place of the Site, for the Site on screen only.\n const [settingsFor, setSettingsFor] = useState<string | null>(null);\n // The Site's reload and full screen live in this header, not a second\n // toolbar under it.\n const [siteReload, setSiteReload] = useState(0);\n const [fullScreenSite, setFullScreenSite] = useState<string | null>(null);\n const { accessContext } = useAppContext();\n const canManageSites = hasWorkspacePermission(accessContext, workspaceId, \"artifacts:publish\");\n const catalogItems = artifacts.flatMap((item) => (item.catalogItem ? [item.catalogItem] : []));\n\n const handledRequestId = useRef<number | null>(null);\n useEffect(() => {\n // Consume navigation before reconciling a selection whose synthetic summary\n // may have been replaced by this request. Later renders preserve manual choices.\n if (openArtifactRequest && handledRequestId.current !== openArtifactRequest.requestId) {\n handledRequestId.current = openArtifactRequest.requestId;\n const selected = openArtifactRequest.artifactKind\n ? `${openArtifactRequest.artifactKind}:${openArtifactRequest.artifactId}`\n : openArtifactRequest.artifactId;\n setSelectedArtifactId(selected);\n setBrowsing(false);\n onSelectedArtifactIdChange?.(selected);\n return;\n }\n if (status === \"loading\") return;\n // Discovery must not turn passive browsing into a remembered editor selection.\n if (browsing && catalogItems.length > 0) return;\n if (\n selectedArtifactId &&\n artifacts.some((artifact) => matchesArtifact(artifact, selectedArtifactId))\n ) {\n return;\n }\n const next = artifacts[0]?.id ?? null;\n setSelectedArtifactId(next);\n onSelectedArtifactIdChange?.(next);\n }, [\n artifacts,\n browsing,\n catalogItems.length,\n openArtifactRequest,\n onSelectedArtifactIdChange,\n selectedArtifactId,\n status,\n ]);\n\n const artifact =\n artifacts.find((candidate) => matchesArtifact(candidate, selectedArtifactId)) ?? artifacts[0];\n const listShown = browsing && catalogItems.length > 0;\n const settingsOpen = artifact?.modality === \"site\" && settingsFor === artifact.id;\n // A Site on screen has its own expand (its full window): the dock's\n // Maximize would be a second, look-alike one, so the Site's is the one.\n useWorkspacePanelOwnsExpand(!listShown && artifact?.modality === \"site\" && !settingsOpen);\n if (listShown) {\n return (\n <div className=\"@container h-full min-h-0 overflow-y-auto bg-bg p-3 text-fg\">\n <div className=\"mb-4 flex min-h-10 items-center justify-between gap-2\">\n <h2 className=\"text-sm font-medium\">Session artifacts</h2>\n <Button asChild variant=\"ghost\" size=\"sm\">\n <Link\n to=\"/workspaces/$workspaceId/artifacts\"\n params={{ workspaceId }}\n search={sessionId ? { fromSession: sessionId } : {}}\n >\n All artifacts\n </Link>\n </Button>\n </div>\n <ArtifactLibrary\n workspaceId={workspaceId}\n sessionId={sessionId}\n compact\n viewer\n items={filterArtifactCatalog(catalogItems, filters)}\n filters={filters}\n onFiltersChange={setFilters}\n loading={status === \"loading\"}\n error={status === \"error\" ? new Error(\"The artifact list could not be refreshed.\") : null}\n onRetry={onRetry}\n onPin={onPin}\n onSelect={(item) => {\n const key = `${item.kind}:${item.id}`;\n setSelectedArtifactId(key);\n setBrowsing(false);\n onSelectedArtifactIdChange?.(key);\n }}\n />\n </div>\n );\n }\n if (!artifact) {\n const loading = status === \"loading\";\n const failed = status === \"error\";\n return (\n <div\n className=\"flex h-full min-h-0 items-center justify-center bg-bg px-6 text-center text-fg\"\n {...(loading ? { role: \"status\" as const } : failed ? { role: \"alert\" as const } : {})}\n >\n <div className=\"flex max-w-72 flex-col items-center\">\n <span className=\"mb-3 flex size-10 items-center justify-center rounded-xl bg-accent text-accent-foreground\">\n {loading ? (\n <Loader2Icon className=\"size-4 animate-spin\" aria-hidden />\n ) : failed ? (\n <RefreshCwIcon className=\"size-4\" aria-hidden />\n ) : (\n <PanelsTopLeftIcon className=\"size-4\" aria-hidden />\n )}\n </span>\n <p className=\"text-sm font-medium\">\n {loading ? \"Loading artifacts\" : failed ? \"Artifacts unavailable\" : \"No artifacts yet\"}\n </p>\n <p className=\"mt-1 text-xs leading-5 text-fg-subtle\">\n {loading\n ? \"Opening the shared workspace.\"\n : failed\n ? \"The shared workspace could not be loaded.\"\n : \"Ask the agent to create or import a Site, image, document, spreadsheet, or presentation.\"}\n </p>\n {failed ? (\n <Button type=\"button\" variant=\"outline\" size=\"sm\" className=\"mt-4\" onClick={onRetry}>\n Try again\n </Button>\n ) : null}\n </div>\n </div>\n );\n }\n\n const settingsLabel = settingsOpen ? \"Back to Site\" : \"Site settings\";\n return (\n <div className=\"flex h-full min-h-0 flex-col bg-bg text-fg\">\n <ArtifactViewerHeader\n kind={artifact.modality}\n title={artifact.title}\n onBack={\n catalogItems.length > 0\n ? () => {\n setBrowsing(true);\n onSelectedArtifactIdChange?.(null);\n }\n : undefined\n }\n backLabel=\"Back to session artifacts\"\n // One line: the icon already says what kind it is.\n subtitle=\"\"\n actions={\n <>\n {status === \"error\" ? (\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"icon-sm\"\n className=\"shrink-0\"\n aria-label=\"Retry artifact list\"\n title=\"Retry artifact list\"\n onClick={onRetry}\n >\n <RefreshCwIcon className=\"size-4\" />\n </Button>\n ) : null}\n <CopyArtifactLinkButton\n workspaceId={workspaceId}\n item={{ kind: artifact.modality, id: artifact.id }}\n />\n {artifact.modality === \"site\" && !settingsOpen ? (\n <>\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"icon-sm\"\n className=\"shrink-0\"\n aria-label=\"Reload Site\"\n title=\"Reload Site\"\n onClick={() => setSiteReload((value) => value + 1)}\n >\n <RotateCwIcon className=\"size-4\" />\n </Button>\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"icon-sm\"\n className=\"shrink-0\"\n aria-label={EXPAND_SITE}\n title={EXPAND_SITE}\n onClick={() => setFullScreenSite(artifact.id)}\n >\n <Maximize2Icon className=\"size-4\" />\n </Button>\n </>\n ) : null}\n {artifact.modality === \"site\" && canManageSites ? (\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"icon-sm\"\n className={cn(\"shrink-0\", settingsOpen && \"bg-accent text-accent-foreground\")}\n aria-label={settingsLabel}\n aria-pressed={settingsOpen}\n title={settingsLabel}\n onClick={() => setSettingsFor(settingsOpen ? null : artifact.id)}\n >\n <SettingsIcon className=\"size-4\" />\n </Button>\n ) : null}\n </>\n }\n />\n <div className=\"flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden\">\n {artifact.modality === \"site\" ? (\n <ArtifactDetailRoute\n key={`${artifact.id}:${artifact.versionId ?? \"\"}:${artifact.siteStatus ?? \"\"}`}\n workspaceId={workspaceId}\n artifactId={artifact.id}\n embedded\n embeddedView={settingsOpen ? \"settings\" : \"site\"}\n embeddedControls={{\n reloadToken: siteReload,\n fullScreen: fullScreenSite === artifact.id,\n onFullScreenChange: (next) => setFullScreenSite(next ? artifact.id : null),\n }}\n />\n ) : artifact.modality === \"image\" || artifact.modality === \"file\" ? (\n <RetainedArtifactRoute workspaceId={workspaceId} artifactId={artifact.id} embedded />\n ) : (\n <EditableArtifactSurface workspaceId={workspaceId} artifactId={artifact.id} embedded />\n )}\n </div>\n </div>\n );\n}\n\nfunction matchesArtifact(artifact: SessionEditableArtifactSummary, selected: string | null) {\n // A file-route request can arrive before the catalog classifies its image MIME.\n return (\n selected === `${artifact.modality}:${artifact.id}` ||\n selected === artifact.id ||\n (artifact.modality === \"image\" && selected === `file:${artifact.id}`)\n );\n}\n"],"mappings":"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","names":["artifact"]}
1
+ {"version":3,"sources":["../../../../src/app/components/session/editable-artifacts-workspace.tsx"],"sourcesContent":["import { Link } from \"../../lib/navigation\";\nimport type { ArtifactCatalogItem } from \"@opengeni/sdk\";\nimport { ArtifactViewerHeader } from \"../../../artifacts\";\nimport {\n Loader2Icon,\n Maximize2Icon,\n PanelsTopLeftIcon,\n RefreshCwIcon,\n RotateCwIcon,\n SettingsIcon,\n} from \"lucide-react\";\nimport { lazy, useEffect, useRef, useState } from \"react\";\n\nimport { Button } from \"../../../ui/button\";\nimport { useWorkspacePanelOwnsExpand } from \"../../../components/workspace-dock\";\nimport { useAppContext } from \"../../app-context\";\nimport { EditableArtifactSurface, usePreloadAppSurface } from \"../../lib/app-surfaces\";\nimport { ArtifactLibrary, type ArtifactPinAction } from \"../artifacts/artifact-library\";\nimport { CopyArtifactLinkButton } from \"../artifacts/copy-artifact-link\";\nimport { defaultArtifactFilters, filterArtifactCatalog } from \"../../lib/artifact-catalog\";\nimport { hasWorkspacePermission } from \"../../lib/permissions\";\nimport { cn } from \"../../lib/utils\";\nconst RetainedArtifactRoute = lazy(() =>\n import(\"../../routes/retained-artifact\").then((module) => ({\n default: module.RetainedArtifactRoute,\n })),\n);\nconst ArtifactDetailRoute = lazy(() =>\n import(\"../../routes/artifacts\").then((module) => ({ default: module.ArtifactDetailRoute })),\n);\n\n/** The panel's one expand for a Site, named for what it does. */\nconst EXPAND_SITE = \"Expand Site to full window\";\n\nexport type SessionEditableArtifactSummary = Readonly<{\n id: string;\n modality: \"document\" | \"spreadsheet\" | \"presentation\" | \"site\" | \"image\" | \"file\";\n title: string;\n versionId?: string | undefined;\n siteStatus?: \"active\" | \"archived\" | undefined;\n catalogItem?: ArtifactCatalogItem | undefined;\n}>;\n\nexport type SessionEditableArtifactsStatus = \"loading\" | \"ready\" | \"error\";\n\nexport function SessionEditableArtifactsWorkspace({\n workspaceId,\n sessionId,\n artifacts,\n status,\n onRetry,\n initialSelectedArtifactId,\n openArtifactRequest,\n onSelectedArtifactIdChange,\n onPin,\n}: Readonly<{\n workspaceId: string;\n sessionId?: string | undefined;\n artifacts: readonly SessionEditableArtifactSummary[];\n status: SessionEditableArtifactsStatus;\n onRetry: () => void;\n initialSelectedArtifactId?: string | null | undefined;\n openArtifactRequest?:\n | {\n artifactId: string;\n artifactKind?: SessionEditableArtifactSummary[\"modality\"] | undefined;\n requestId: number;\n }\n | null\n | undefined;\n onSelectedArtifactIdChange?: ((artifactId: string | null) => void) | undefined;\n onPin?: ArtifactPinAction | undefined;\n}>) {\n // The editor is the host's separate chunk: start it with the workspace, as\n // when it shipped inside this module, so an artifact opens without a second wait.\n usePreloadAppSurface(\"editableArtifact\", true);\n const [selectedArtifactId, setSelectedArtifactId] = useState(\n () => initialSelectedArtifactId ?? artifacts[0]?.id ?? null,\n );\n const [browsing, setBrowsing] = useState(!initialSelectedArtifactId && !openArtifactRequest);\n const [filters, setFilters] = useState(defaultArtifactFilters);\n // A Site's Settings open in place of the Site, for the Site on screen only.\n const [settingsFor, setSettingsFor] = useState<string | null>(null);\n // The Site's reload and full screen live in this header, not a second\n // toolbar under it.\n const [siteReload, setSiteReload] = useState(0);\n const [fullScreenSite, setFullScreenSite] = useState<string | null>(null);\n const { accessContext } = useAppContext();\n const canManageSites = hasWorkspacePermission(accessContext, workspaceId, \"artifacts:publish\");\n const catalogItems = artifacts.flatMap((item) => (item.catalogItem ? [item.catalogItem] : []));\n\n const handledRequestId = useRef<number | null>(null);\n useEffect(() => {\n // Consume navigation before reconciling a selection whose synthetic summary\n // may have been replaced by this request. Later renders preserve manual choices.\n if (openArtifactRequest && handledRequestId.current !== openArtifactRequest.requestId) {\n handledRequestId.current = openArtifactRequest.requestId;\n const selected = openArtifactRequest.artifactKind\n ? `${openArtifactRequest.artifactKind}:${openArtifactRequest.artifactId}`\n : openArtifactRequest.artifactId;\n setSelectedArtifactId(selected);\n setBrowsing(false);\n onSelectedArtifactIdChange?.(selected);\n return;\n }\n if (status === \"loading\") return;\n // Discovery must not turn passive browsing into a remembered editor selection.\n if (browsing && catalogItems.length > 0) return;\n if (\n selectedArtifactId &&\n artifacts.some((artifact) => matchesArtifact(artifact, selectedArtifactId))\n ) {\n return;\n }\n const next = artifacts[0]?.id ?? null;\n setSelectedArtifactId(next);\n onSelectedArtifactIdChange?.(next);\n }, [\n artifacts,\n browsing,\n catalogItems.length,\n openArtifactRequest,\n onSelectedArtifactIdChange,\n selectedArtifactId,\n status,\n ]);\n\n const artifact =\n artifacts.find((candidate) => matchesArtifact(candidate, selectedArtifactId)) ?? artifacts[0];\n const listShown = browsing && catalogItems.length > 0;\n const settingsOpen = artifact?.modality === \"site\" && settingsFor === artifact.id;\n // A Site on screen has its own expand (its full window): the dock's\n // Maximize would be a second, look-alike one, so the Site's is the one.\n useWorkspacePanelOwnsExpand(!listShown && artifact?.modality === \"site\" && !settingsOpen);\n if (listShown) {\n return (\n <div className=\"@container h-full min-h-0 overflow-y-auto bg-bg p-3 text-fg\">\n <div className=\"mb-4 flex min-h-10 items-center justify-between gap-2\">\n <h2 className=\"text-sm font-medium\">Session artifacts</h2>\n <Button asChild variant=\"ghost\" size=\"sm\">\n <Link\n to=\"/workspaces/$workspaceId/artifacts\"\n params={{ workspaceId }}\n search={sessionId ? { fromSession: sessionId } : {}}\n >\n All artifacts\n </Link>\n </Button>\n </div>\n <ArtifactLibrary\n workspaceId={workspaceId}\n sessionId={sessionId}\n compact\n viewer\n items={filterArtifactCatalog(catalogItems, filters)}\n filters={filters}\n onFiltersChange={setFilters}\n loading={status === \"loading\"}\n error={status === \"error\" ? new Error(\"The artifact list could not be refreshed.\") : null}\n onRetry={onRetry}\n onPin={onPin}\n onSelect={(item) => {\n const key = `${item.kind}:${item.id}`;\n setSelectedArtifactId(key);\n setBrowsing(false);\n onSelectedArtifactIdChange?.(key);\n }}\n />\n </div>\n );\n }\n if (!artifact) {\n const loading = status === \"loading\";\n const failed = status === \"error\";\n return (\n <div\n className=\"flex h-full min-h-0 items-center justify-center bg-bg px-6 text-center text-fg\"\n {...(loading ? { role: \"status\" as const } : failed ? { role: \"alert\" as const } : {})}\n >\n <div className=\"flex max-w-72 flex-col items-center\">\n <span className=\"mb-3 flex size-10 items-center justify-center rounded-xl bg-accent text-accent-foreground\">\n {loading ? (\n <Loader2Icon className=\"size-4 animate-spin\" aria-hidden />\n ) : failed ? (\n <RefreshCwIcon className=\"size-4\" aria-hidden />\n ) : (\n <PanelsTopLeftIcon className=\"size-4\" aria-hidden />\n )}\n </span>\n <p className=\"text-sm font-medium\">\n {loading ? \"Loading artifacts\" : failed ? \"Artifacts unavailable\" : \"No artifacts yet\"}\n </p>\n <p className=\"mt-1 text-xs leading-5 text-fg-subtle\">\n {loading\n ? \"Opening the shared workspace.\"\n : failed\n ? \"The shared workspace could not be loaded.\"\n : \"Ask the agent to create or import a Site, image, document, spreadsheet, or presentation.\"}\n </p>\n {failed ? (\n <Button type=\"button\" variant=\"outline\" size=\"sm\" className=\"mt-4\" onClick={onRetry}>\n Try again\n </Button>\n ) : null}\n </div>\n </div>\n );\n }\n\n const settingsLabel = settingsOpen ? \"Back to Site\" : \"Site settings\";\n return (\n <div className=\"flex h-full min-h-0 flex-col bg-bg text-fg\">\n <ArtifactViewerHeader\n kind={artifact.modality}\n title={artifact.title}\n onBack={\n catalogItems.length > 0\n ? () => {\n setBrowsing(true);\n onSelectedArtifactIdChange?.(null);\n }\n : undefined\n }\n backLabel=\"Back to session artifacts\"\n // One line: the icon already says what kind it is.\n subtitle=\"\"\n actions={\n <>\n {status === \"error\" ? (\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"icon-sm\"\n className=\"shrink-0\"\n aria-label=\"Retry artifact list\"\n title=\"Retry artifact list\"\n onClick={onRetry}\n >\n <RefreshCwIcon className=\"size-4\" />\n </Button>\n ) : null}\n <CopyArtifactLinkButton\n workspaceId={workspaceId}\n item={{ kind: artifact.modality, id: artifact.id }}\n />\n {artifact.modality === \"site\" && !settingsOpen ? (\n <>\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"icon-sm\"\n className=\"shrink-0\"\n aria-label=\"Reload Site\"\n title=\"Reload Site\"\n onClick={() => setSiteReload((value) => value + 1)}\n >\n <RotateCwIcon className=\"size-4\" />\n </Button>\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"icon-sm\"\n className=\"shrink-0\"\n aria-label={EXPAND_SITE}\n title={EXPAND_SITE}\n onClick={() => setFullScreenSite(artifact.id)}\n >\n <Maximize2Icon className=\"size-4\" />\n </Button>\n </>\n ) : null}\n {artifact.modality === \"site\" && canManageSites ? (\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"icon-sm\"\n className={cn(\"shrink-0\", settingsOpen && \"bg-accent text-accent-foreground\")}\n aria-label={settingsLabel}\n aria-pressed={settingsOpen}\n title={settingsLabel}\n onClick={() => setSettingsFor(settingsOpen ? null : artifact.id)}\n >\n <SettingsIcon className=\"size-4\" />\n </Button>\n ) : null}\n </>\n }\n />\n <div className=\"flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden\">\n {artifact.modality === \"site\" ? (\n <ArtifactDetailRoute\n key={`${artifact.id}:${artifact.versionId ?? \"\"}:${artifact.siteStatus ?? \"\"}`}\n workspaceId={workspaceId}\n artifactId={artifact.id}\n embedded\n embeddedView={settingsOpen ? \"settings\" : \"site\"}\n embeddedControls={{\n reloadToken: siteReload,\n fullScreen: fullScreenSite === artifact.id,\n onFullScreenChange: (next) => setFullScreenSite(next ? artifact.id : null),\n }}\n />\n ) : artifact.modality === \"image\" || artifact.modality === \"file\" ? (\n <RetainedArtifactRoute workspaceId={workspaceId} artifactId={artifact.id} embedded />\n ) : (\n <EditableArtifactSurface workspaceId={workspaceId} artifactId={artifact.id} embedded />\n )}\n </div>\n </div>\n );\n}\n\nfunction matchesArtifact(artifact: SessionEditableArtifactSummary, selected: string | null) {\n // A file-route request can arrive before the catalog classifies its image MIME.\n return (\n selected === `${artifact.modality}:${artifact.id}` ||\n selected === artifact.id ||\n (artifact.modality === \"image\" && selected === `file:${artifact.id}`)\n );\n}\n"],"mappings":"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","names":["artifact"]}
@@ -4,11 +4,11 @@ import {
4
4
  } from "../../../chunk-TTZRVJSF.js";
5
5
  import {
6
6
  SandboxRecoveryActions
7
- } from "../../../chunk-Q6XQ2R37.js";
7
+ } from "../../../chunk-QPSGCC5D.js";
8
8
  import {
9
9
  turnFailureClass,
10
10
  turnFailureJourney
11
- } from "../../../chunk-ICX64J4U.js";
11
+ } from "../../../chunk-TPQTRNER.js";
12
12
  import {
13
13
  freeModelConnectRemedy,
14
14
  freeModelDailyLimitReason
@@ -16,7 +16,7 @@ import {
16
16
  import "../../../chunk-4A7F6ZIA.js";
17
17
  import {
18
18
  ContinueAtResetSwitch
19
- } from "../../../chunk-BUBNGKWG.js";
19
+ } from "../../../chunk-OMPVOMPP.js";
20
20
  import {
21
21
  noteTurnFailureAction
22
22
  } from "../../../chunk-3QAINO5E.js";
@@ -25,7 +25,7 @@ import {
25
25
  } from "../../../chunk-LT4GTDNO.js";
26
26
  import {
27
27
  failedSessionCopy
28
- } from "../../../chunk-EGBII4CP.js";
28
+ } from "../../../chunk-2BDT3UZQ.js";
29
29
  import "../../../chunk-XVU32APP.js";
30
30
  import "../../../chunk-PYSONAMV.js";
31
31
  import "../../../chunk-55S3W7RZ.js";
@@ -34,21 +34,23 @@ import {
34
34
  } from "../../../chunk-PZL3WLAV.js";
35
35
  import {
36
36
  t
37
- } from "../../../chunk-GE33BGB7.js";
37
+ } from "../../../chunk-HSOXMJOT.js";
38
38
  import {
39
39
  Link
40
- } from "../../../chunk-U5EFEMYU.js";
40
+ } from "../../../chunk-BXBDYNRP.js";
41
+ import "../../../chunk-ENFLCAR3.js";
41
42
  import "../../../chunk-5QBCQVKZ.js";
42
43
  import "../../../chunk-HUJLWGDR.js";
43
44
  import "../../../chunk-QZKQMEIH.js";
44
- import "../../../chunk-ENFLCAR3.js";
45
- import "../../../chunk-E6SQKHAU.js";
45
+ import "../../../chunk-SIRLACNZ.js";
46
46
  import "../../../chunk-ZQCND77P.js";
47
47
  import "../../../chunk-HD5X76TP.js";
48
- import "../../../chunk-FOGNA3BU.js";
49
- import "../../../chunk-PC2MVXIP.js";
48
+ import "../../../chunk-7V5REBCP.js";
49
+ import "../../../chunk-YNF2OC54.js";
50
50
  import "../../../chunk-UX3XHFRX.js";
51
51
  import "../../../chunk-A3KMTJZS.js";
52
+ import "../../../chunk-V4Z4B2E3.js";
53
+ import "../../../chunk-FYWT2O76.js";
52
54
  import {
53
55
  Button
54
56
  } from "../../../chunk-7QQN3KNP.js";
@@ -63,7 +65,7 @@ import "../../../chunk-AZGAUBKR.js";
63
65
  import "../../../chunk-ZHC47M2B.js";
64
66
  import "../../../chunk-MBSN5HHQ.js";
65
67
  import "../../../chunk-TXS65BB2.js";
66
- import "../../../chunk-TNUSPXPW.js";
68
+ import "../../../chunk-7T2ZE3VT.js";
67
69
 
68
70
  // src/app/components/session/failed-session-banner.tsx
69
71
  import { AlertTriangleIcon } from "lucide-react";