@opengeni/react 6.7.0 → 6.8.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 (758) hide show
  1. package/dist/app/app-state.js +9 -9
  2. package/dist/app/components/Composer.js +20 -20
  3. package/dist/app/components/agent/agent-capability-picker.js +6 -6
  4. package/dist/app/components/artifacts/artifact-browse-controls.js +2 -2
  5. package/dist/app/components/artifacts/artifact-library.js +13 -13
  6. package/dist/app/components/artifacts/artifact-viewer.js +21 -21
  7. package/dist/app/components/artifacts/chat-interactive-block.js +14 -14
  8. package/dist/app/components/artifacts/copy-artifact-link.js +2 -2
  9. package/dist/app/components/artifacts/file-reach-dialog.js +7 -7
  10. package/dist/app/components/artifacts/inline-chat-image.js +22 -22
  11. package/dist/app/components/artifacts/retained-file-preview.js +23 -23
  12. package/dist/app/components/artifacts/retained-text-preview.js +3 -3
  13. package/dist/app/components/artifacts/site-actions.d.ts +43 -0
  14. package/dist/app/components/artifacts/site-actions.js +38 -0
  15. package/dist/app/components/artifacts/site-audience.js +5 -5
  16. package/dist/app/components/artifacts/site-conversations.js +13 -13
  17. package/dist/app/components/artifacts/site-data.js +14 -14
  18. package/dist/app/components/artifacts/site-publishing-page.js +31 -31
  19. package/dist/app/components/artifacts/site-publishing.js +25 -25
  20. package/dist/app/components/artifacts/site-settings.js +30 -30
  21. package/dist/app/components/artifacts/site-version-menu.js +3 -3
  22. package/dist/app/components/billing-class-mark.js +3 -3
  23. package/dist/app/components/bots/bot-launch-strip.js +23 -23
  24. package/dist/app/components/bots/bot-template-dialog.js +30 -30
  25. package/dist/app/components/bots/bot-template-shortcuts.js +23 -23
  26. package/dist/app/components/bots/bot-templates-page.js +37 -37
  27. package/dist/app/components/capabilities/capability-detail-sheet.js +9 -9
  28. package/dist/app/components/capabilities/capability-logo-source.js +14 -15
  29. package/dist/app/components/capabilities/connection-ownership-selector.js +4 -4
  30. package/dist/app/components/capabilities/connector-tool-permissions.js +4 -4
  31. package/dist/app/components/capabilities/detail-dialog.js +3 -3
  32. package/dist/app/components/capabilities/native-connect-setup.js +16 -17
  33. package/dist/app/components/capabilities/native-connect-setup.js.map +1 -1
  34. package/dist/app/components/capabilities/own-logins-shared-heads-up.js +3 -3
  35. package/dist/app/components/capabilities/prepared-mcp-setup-card.js +16 -17
  36. package/dist/app/components/capabilities/session-capability-card.js +49 -50
  37. package/dist/app/components/capabilities/session-capability-card.js.map +1 -1
  38. package/dist/app/components/capabilities/session-chrome-card.js +24 -25
  39. package/dist/app/components/capabilities/session-custom-mcp-card.js +17 -18
  40. package/dist/app/components/capabilities/session-github-card.js +17 -18
  41. package/dist/app/components/capabilities/session-machine-card.js +23 -24
  42. package/dist/app/components/capabilities/session-personal-github-card.js +15 -16
  43. package/dist/app/components/capabilities/session-plugin-card.js +9 -10
  44. package/dist/app/components/capabilities/use-connection-accounts.js +2 -2
  45. package/dist/app/components/command-menu/chat-status.js +19 -19
  46. package/dist/app/components/command-menu/chat-switcher.js +35 -35
  47. package/dist/app/components/command-menu/command-menu.js +42 -42
  48. package/dist/app/components/command-menu/shortcut-sheet.js +11 -11
  49. package/dist/app/components/composer-capabilities-menu-body.js +4 -4
  50. package/dist/app/components/composer-mobile-plus-panel.js +10 -10
  51. package/dist/app/components/composer-mobile-plus.js +3 -3
  52. package/dist/app/components/credit-required-gate.js +1 -1
  53. package/dist/app/components/credit-required-prompt.js +4 -4
  54. package/dist/app/components/credits/checkout-credits-celebration.js +3 -3
  55. package/dist/app/components/credits/checkout-return.js +3 -3
  56. package/dist/app/components/credits/credit-refusal-notice.js +2 -2
  57. package/dist/app/components/desktop/app-shots.js +6 -6
  58. package/dist/app/components/desktop/computer-use.js +2 -2
  59. package/dist/app/components/desktop/this-computer.js +5 -5
  60. package/dist/app/components/feedback.js +5 -5
  61. package/dist/app/components/github-app-connect-launcher.js +1 -1
  62. package/dist/app/components/machines/connect-machine-dialog.js +14 -14
  63. package/dist/app/components/markdown.js +7 -7
  64. package/dist/app/components/models/models-ui.js +6 -6
  65. package/dist/app/components/my-things.js +6 -6
  66. package/dist/app/components/own-where-it-works.js +5 -5
  67. package/dist/app/components/personal-resource-attachment-surface.js +4 -4
  68. package/dist/app/components/pickers.js +5 -5
  69. package/dist/app/components/rail/channel-create-dialog.js +5 -5
  70. package/dist/app/components/rail/project-glyph.js +23 -23
  71. package/dist/app/components/rail/project-profile.js +32 -32
  72. package/dist/app/components/rail/rail-context.js +1 -1
  73. package/dist/app/components/rail/rail-sections.js +70 -61
  74. package/dist/app/components/rail/session-header.js +54 -53
  75. package/dist/app/components/rail/session-list.js +68 -59
  76. package/dist/app/components/rail/session-row-content.js +4 -4
  77. package/dist/app/components/rail/session-row-hover-details.js +18 -18
  78. package/dist/app/components/rail/session-shell.js +89 -80
  79. package/dist/app/components/rail/site-session-group-heading.js +29 -12
  80. package/dist/app/components/session/agent-configuration-panel.js +14 -14
  81. package/dist/app/components/session/artifact-session-page.js +5 -5
  82. package/dist/app/components/session/banners.js +9 -9
  83. package/dist/app/components/session/console-new-conversation.js +43 -44
  84. package/dist/app/components/session/descendant-requests.js +39 -40
  85. package/dist/app/components/session/descendant-requests.js.map +1 -1
  86. package/dist/app/components/session/editable-artifacts-workspace.js +27 -27
  87. package/dist/app/components/session/failed-session-banner.js +9 -9
  88. package/dist/app/components/session/failure-recovery-boundary.js +3 -3
  89. package/dist/app/components/session/human-input-delegation-record.js +2 -2
  90. package/dist/app/components/session/human-input.js +37 -38
  91. package/dist/app/components/session/inspector.js +47 -48
  92. package/dist/app/components/session/inspector.js.map +1 -1
  93. package/dist/app/components/session/message-actions.js +5 -5
  94. package/dist/app/components/session/message-resource-attachments.js +13 -13
  95. package/dist/app/components/session/model-recovery-notice.js +3 -3
  96. package/dist/app/components/session/new-session-settings-menu.js +6 -6
  97. package/dist/app/components/session/new-session-setup-strip.js +24 -24
  98. package/dist/app/components/session/sandbox-recovery-actions.js +5 -5
  99. package/dist/app/components/session/sandbox-switcher.js +8 -8
  100. package/dist/app/components/session/sandbox-workspace.js +52 -53
  101. package/dist/app/components/session/search-markdown-highlight.js +8 -8
  102. package/dist/app/components/session/search-results-view.js +9 -9
  103. package/dist/app/components/session/session-admin-access.js +5 -5
  104. package/dist/app/components/session/session-admission-notice.js +4 -4
  105. package/dist/app/components/session/session-avatar-picker.js +24 -24
  106. package/dist/app/components/session/session-avatar.js +22 -22
  107. package/dist/app/components/session/session-machine-access-notice.js +4 -4
  108. package/dist/app/components/session/session-profile-dialog.js +29 -29
  109. package/dist/app/components/session/session-profile-editor.js +30 -30
  110. package/dist/app/components/session/session-retention.js +3 -3
  111. package/dist/app/components/session/session-search-dialog.js +11 -11
  112. package/dist/app/components/session/session-tenancy-control.js +4 -4
  113. package/dist/app/components/session/session-usage-limit-section.js +4 -4
  114. package/dist/app/components/session/share-chat-dialog.js +7 -7
  115. package/dist/app/components/session/subagents.js +12 -12
  116. package/dist/app/components/session/subscription-account-indicator.js +6 -6
  117. package/dist/app/components/settings/row-select.js +4 -4
  118. package/dist/app/components/transcription-settings.js +6 -6
  119. package/dist/app/components/ui/destructive-confirm.js +7 -7
  120. package/dist/app/components/usage/usage-entry.js +3 -3
  121. package/dist/app/components/window-bar.d.ts +3 -1
  122. package/dist/app/components/window-bar.js +13 -11
  123. package/dist/app/components/workspace-composer-plus.js +19 -20
  124. package/dist/app/components/workspace-reach.js +4 -4
  125. package/dist/app/embed/session-app.js +173 -167
  126. package/dist/app/lib/actions/actions-provider.js +9 -9
  127. package/dist/app/lib/agent-capabilities.js +3 -3
  128. package/dist/app/lib/codex-usage-query.js +2 -2
  129. package/dist/app/lib/composer-connectors.js +15 -16
  130. package/dist/app/lib/composer-send-blocking.d.ts +135 -1
  131. package/dist/app/lib/composer-send-blocking.js +30 -3
  132. package/dist/app/lib/console-site.js +2 -2
  133. package/dist/app/lib/console-text.js +2 -2
  134. package/dist/app/lib/copy-link.d.ts +2 -0
  135. package/dist/app/lib/events.js +15 -15
  136. package/dist/app/lib/failed-session-copy.js +4 -4
  137. package/dist/app/lib/model-access-onboarding.js +3 -3
  138. package/dist/app/lib/model-access.js +2 -2
  139. package/dist/app/lib/move-chat-to-machine.js +3 -3
  140. package/dist/app/lib/session-branch-cache.js +12 -12
  141. package/dist/app/lib/session-composer-readiness.d.ts +2 -2
  142. package/dist/app/lib/session-create.js +4 -4
  143. package/dist/app/lib/session-group-pagination.js +12 -12
  144. package/dist/app/lib/session-hover-facts.js +17 -17
  145. package/dist/app/lib/session-model.js +2 -2
  146. package/dist/app/lib/session-rail.js +9 -9
  147. package/dist/app/lib/session-rename.js +3 -3
  148. package/dist/app/lib/sessions-group.js +11 -11
  149. package/dist/app/lib/site-sidebar-bridge.d.ts +24 -0
  150. package/dist/app/lib/site-tool-consent-dialog.js +9 -10
  151. package/dist/app/lib/site-tool-consent-dialog.js.map +1 -1
  152. package/dist/app/lib/site-tool-consent.js +1 -1
  153. package/dist/app/lib/turn-failure-analytics.js +5 -5
  154. package/dist/app/lib/use-follow-up-repositories.js +5 -5
  155. package/dist/app/lib/use-workspace-machines.js +5 -5
  156. package/dist/app/lib/use-workspace-model-catalog.js +3 -3
  157. package/dist/app/lib/use-workspace-rigs.js +2 -2
  158. package/dist/app/lib/workspace-navigation-preference.js +4 -4
  159. package/dist/app/lib/workspace-scope-context.js +3 -3
  160. package/dist/app/routes/artifacts.js +69 -69
  161. package/dist/app/routes/retained-artifact.js +48 -48
  162. package/dist/app/routes/session.js +100 -101
  163. package/dist/app/routes/sessions-index-hydration.js +5 -5
  164. package/dist/app/routes/sessions-index.js +85 -85
  165. package/dist/app/routes/site-view.js +177 -85
  166. package/dist/app/routes/site-view.js.map +1 -1
  167. package/dist/artifacts-document.js +4 -4
  168. package/dist/artifacts-presentation.js +4 -4
  169. package/dist/artifacts-spreadsheet.js +4 -4
  170. package/dist/artifacts.js +13 -13
  171. package/dist/automations.js +12 -12
  172. package/dist/{browser-viewer-TC27OCIP.js → browser-viewer-ZHQDVHZ2.js} +5 -5
  173. package/dist/{chat-interactive-block-RWPQBHVS.js → chat-interactive-block-VSDD6X3M.js} +5 -5
  174. package/dist/{chunk-5MOJZORA.js → chunk-2EA4IRIP.js} +34 -3
  175. package/dist/chunk-2EA4IRIP.js.map +1 -0
  176. package/dist/{chunk-C43KRXGA.js → chunk-2GCHGWNE.js} +3 -3
  177. package/dist/{chunk-XLH7QY2R.js → chunk-2J77TWGH.js} +3 -3
  178. package/dist/{chunk-77WAKEAH.js → chunk-2OXSB2OL.js} +2 -2
  179. package/dist/{chunk-H3T7IWNA.js → chunk-2VJOSU4H.js} +2 -2
  180. package/dist/{chunk-N6AACDUW.js → chunk-34NV52R3.js} +4 -4
  181. package/dist/{chunk-L7YTNTIK.js → chunk-3CDJSKDW.js} +3 -3
  182. package/dist/{chunk-EWSOC6WF.js → chunk-3DRLCX5V.js} +2 -2
  183. package/dist/{chunk-JEUPAVYY.js → chunk-3L465FBR.js} +6 -6
  184. package/dist/{chunk-5NWEKLDZ.js → chunk-3NNAC43A.js} +2 -2
  185. package/dist/{chunk-EDI6SJ2N.js → chunk-3OK7Y6ES.js} +2 -2
  186. package/dist/{chunk-AWKES45Y.js → chunk-3PM3M2Q6.js} +2 -2
  187. package/dist/{chunk-I7XIZRFD.js → chunk-3PZ3LRPV.js} +3 -3
  188. package/dist/{chunk-AW2MQB37.js → chunk-44JWVYJB.js} +2 -2
  189. package/dist/{chunk-2M3J7ZWQ.js → chunk-467WDSOK.js} +2 -2
  190. package/dist/{chunk-UTIAXH52.js → chunk-477DTTMH.js} +3 -3
  191. package/dist/{chunk-J5F5HPPW.js → chunk-4BWMAGJJ.js} +3 -3
  192. package/dist/{chunk-YSJEAAOL.js → chunk-4F3AEJI6.js} +4 -4
  193. package/dist/{chunk-LHPNABDH.js → chunk-4JXPLTWV.js} +2 -2
  194. package/dist/{chunk-RQKLF42C.js → chunk-4K64EKM7.js} +4 -4
  195. package/dist/{chunk-NUNZS36W.js → chunk-4O2XWOLZ.js} +3 -3
  196. package/dist/{chunk-QB2KMIDP.js → chunk-4SJAEPM2.js} +2 -2
  197. package/dist/{chunk-6JHU2UBS.js → chunk-4Z5X7PLC.js} +3 -3
  198. package/dist/{chunk-2STUPWEL.js → chunk-54U6ZBEX.js} +3 -3
  199. package/dist/{chunk-XXSOHN35.js → chunk-5FLYHX5R.js} +2 -2
  200. package/dist/{chunk-MIYFS2XN.js → chunk-5MHMCE2G.js} +3 -3
  201. package/dist/{chunk-YWVI6ZMK.js → chunk-5MIBQ4P5.js} +2 -2
  202. package/dist/chunk-6B73WNLR.js +173 -0
  203. package/dist/chunk-6B73WNLR.js.map +1 -0
  204. package/dist/{chunk-5O2FCCHZ.js → chunk-6QK65ZWM.js} +3 -3
  205. package/dist/{chunk-RPVREAU7.js → chunk-736RUNIA.js} +4 -4
  206. package/dist/{chunk-2KALVELR.js → chunk-74CBR5YE.js} +3 -3
  207. package/dist/{chunk-5IE76VCY.js → chunk-752WXSDN.js} +2 -2
  208. package/dist/{chunk-OPJJSKUK.js → chunk-77B6UCNK.js} +6 -6
  209. package/dist/{chunk-SEO7TICN.js → chunk-77BHKC43.js} +1 -1
  210. package/dist/{chunk-ZUA3JMI6.js → chunk-77SYIH6O.js} +2 -2
  211. package/dist/{chunk-ILDXWY37.js → chunk-7AI4E7PV.js} +2 -2
  212. package/dist/{chunk-C372BFOV.js → chunk-7NLF35YL.js} +4 -4
  213. package/dist/{chunk-IFB3WJ36.js → chunk-7YTR3UFO.js} +4 -4
  214. package/dist/{chunk-BMICEQZQ.js → chunk-7Z76QP64.js} +3 -3
  215. package/dist/{chunk-YWIFM7D7.js → chunk-AAS7OWV6.js} +3 -3
  216. package/dist/{chunk-5QAY6K77.js → chunk-AB5IW227.js} +3 -3
  217. package/dist/{chunk-ZBIXBQNI.js → chunk-ABJZDRW2.js} +2 -2
  218. package/dist/{chunk-4DVJ6ONS.js → chunk-AH3DGOTK.js} +2 -2
  219. package/dist/{chunk-HGKTHF2U.js → chunk-AJBDAVX3.js} +8 -8
  220. package/dist/{chunk-5YKW2K6I.js → chunk-AJDGP2N4.js} +20 -20
  221. package/dist/{chunk-HD5X76TP.js → chunk-AQQT2FIC.js} +5 -5
  222. package/dist/chunk-AQQT2FIC.js.map +1 -0
  223. package/dist/{chunk-SC6RRD2D.js → chunk-ARTEEI2E.js} +11 -2
  224. package/dist/{chunk-SC6RRD2D.js.map → chunk-ARTEEI2E.js.map} +1 -1
  225. package/dist/{chunk-IXPTECSC.js → chunk-AVXDIRRW.js} +2 -2
  226. package/dist/{chunk-QK5EFEUT.js → chunk-BASI553K.js} +4 -4
  227. package/dist/{chunk-CRU35QQH.js → chunk-BFFNINCC.js} +108 -66
  228. package/dist/chunk-BFFNINCC.js.map +1 -0
  229. package/dist/{chunk-Z4FMAFNH.js → chunk-BQYRZIZ7.js} +2 -2
  230. package/dist/{chunk-DZXEDSQI.js → chunk-CEMSIU4Z.js} +5 -5
  231. package/dist/{chunk-FZC5N55X.js → chunk-CH4UQ4NO.js} +5 -5
  232. package/dist/{chunk-7X6SDK2C.js → chunk-CHU3RDV4.js} +3 -3
  233. package/dist/{chunk-Y4OBB2VN.js → chunk-CV4VVLPZ.js} +2 -2
  234. package/dist/{chunk-JQL7ZH6C.js → chunk-CXAN2FHF.js} +7 -7
  235. package/dist/{chunk-F2OPHAUN.js → chunk-CYDXCILL.js} +7 -7
  236. package/dist/{chunk-3PZ7JZI2.js → chunk-D3PTVN2I.js} +2 -2
  237. package/dist/{chunk-FPXASDG5.js → chunk-D5TIVCXG.js} +2 -2
  238. package/dist/{chunk-7W37NS3I.js → chunk-D74Z2N4K.js} +2 -2
  239. package/dist/{chunk-MNZG4OHU.js → chunk-DCEQCGVN.js} +2 -2
  240. package/dist/{chunk-ND2BXV3P.js → chunk-DEHLWZSI.js} +4 -4
  241. package/dist/{chunk-2YUOVM3G.js → chunk-DIP7YALH.js} +2 -2
  242. package/dist/{chunk-6PZ7OBYU.js → chunk-DLVIRJGK.js} +4 -4
  243. package/dist/{chunk-KLEUWIMZ.js → chunk-DQPIEQGP.js} +2 -2
  244. package/dist/{chunk-T2QX3FDP.js → chunk-DWJ6J3YW.js} +4 -4
  245. package/dist/{chunk-3CPWWGNK.js → chunk-E5KOWRDU.js} +2 -2
  246. package/dist/{chunk-6WGRDRMA.js → chunk-EBIVTDEG.js} +2 -2
  247. package/dist/{chunk-KUDGXAF7.js → chunk-EBTUPRRQ.js} +10 -10
  248. package/dist/{chunk-5CPEEAFD.js → chunk-EDDKPIIV.js} +2 -2
  249. package/dist/{chunk-TX3VECZU.js → chunk-EGKARC53.js} +2 -2
  250. package/dist/{chunk-JEA3QDX7.js → chunk-EKJHOWTZ.js} +4 -4
  251. package/dist/{chunk-UVN5TMHU.js → chunk-ESXAECZ3.js} +2 -2
  252. package/dist/{chunk-3SOIESJM.js → chunk-EWZ2RLNG.js} +2 -2
  253. package/dist/{chunk-CMKGILJK.js → chunk-FBA2NXYH.js} +4 -4
  254. package/dist/{chunk-O6N4ABCA.js → chunk-FER6EVIY.js} +2 -2
  255. package/dist/{chunk-DF5EAHDN.js → chunk-FLWQJDJ5.js} +5 -5
  256. package/dist/{chunk-PTAG4PDC.js → chunk-FNXCFIPW.js} +2 -2
  257. package/dist/chunk-FPSS23S4.js +36 -0
  258. package/dist/chunk-FPSS23S4.js.map +1 -0
  259. package/dist/{chunk-BJEJFISW.js → chunk-FSDQQQIA.js} +3 -3
  260. package/dist/{chunk-PTF5B7TJ.js → chunk-G5UQBTXY.js} +2 -2
  261. package/dist/{chunk-4E3ZJRTZ.js → chunk-G6ICCGJ3.js} +2 -2
  262. package/dist/{chunk-NRTE7DNV.js → chunk-GIWFLWXG.js} +4 -4
  263. package/dist/{chunk-MM4FNWI4.js → chunk-GMHIOYB7.js} +4 -4
  264. package/dist/{chunk-6DK6Z4UN.js → chunk-GOCODNQS.js} +3 -3
  265. package/dist/{chunk-TPQTRNER.js → chunk-GSCGKJNK.js} +2 -2
  266. package/dist/{chunk-7VMZGLYI.js → chunk-GTHCHCWW.js} +3 -3
  267. package/dist/{chunk-SQJIKMN3.js → chunk-GTRAH4FG.js} +2 -2
  268. package/dist/{chunk-ZYAZUPPV.js → chunk-GU7T2S5N.js} +3 -3
  269. package/dist/{chunk-JKHKLL5W.js → chunk-H6BX6WOW.js} +3 -3
  270. package/dist/{chunk-IMZCQBOT.js → chunk-H6MJFMHZ.js} +3 -3
  271. package/dist/{chunk-HSOXMJOT.js → chunk-HEGV4QMS.js} +2 -2
  272. package/dist/chunk-HROITVQJ.js +85 -0
  273. package/dist/chunk-HROITVQJ.js.map +1 -0
  274. package/dist/{chunk-OF4TIKYC.js → chunk-HTMQGS63.js} +17 -9
  275. package/dist/chunk-HTMQGS63.js.map +1 -0
  276. package/dist/{chunk-NC7PVOEK.js → chunk-HWVPLFIW.js} +2 -2
  277. package/dist/{chunk-IMDQUHBJ.js → chunk-HYEIA25Y.js} +2 -2
  278. package/dist/{chunk-ECJBYNLJ.js → chunk-ICAMYP5M.js} +2 -2
  279. package/dist/{chunk-DJAXC5OK.js → chunk-IFSXVU2S.js} +2 -2
  280. package/dist/{chunk-I4MRDSUF.js → chunk-IJR6VOLU.js} +3 -3
  281. package/dist/{chunk-YCVD6CI3.js → chunk-IN3VQFKS.js} +2 -2
  282. package/dist/{chunk-BJFH6JI5.js → chunk-IZXYFWA4.js} +13 -13
  283. package/dist/{chunk-MFROMEKA.js → chunk-J2BTILRR.js} +3 -3
  284. package/dist/{chunk-NCYMNCJO.js → chunk-J2WY42FA.js} +2 -2
  285. package/dist/{chunk-DGMR6JEJ.js → chunk-J4XSTXZP.js} +2 -2
  286. package/dist/{chunk-ZTPXACWB.js → chunk-JKL5S7UQ.js} +6 -6
  287. package/dist/{chunk-P77WNZDY.js → chunk-JMHEFZOB.js} +2 -2
  288. package/dist/{chunk-IDANQPRH.js → chunk-JV3UI7BH.js} +3 -3
  289. package/dist/{chunk-NW53H5RW.js → chunk-JV5ULONH.js} +166 -65
  290. package/dist/chunk-JV5ULONH.js.map +1 -0
  291. package/dist/{chunk-FVXBNBHO.js → chunk-K3D7IQQP.js} +6 -6
  292. package/dist/{chunk-XEQMZB3C.js → chunk-K4DQS2ML.js} +24 -6
  293. package/dist/chunk-K4DQS2ML.js.map +1 -0
  294. package/dist/{chunk-GKVJIDHF.js → chunk-KFNZZ2N6.js} +2 -2
  295. package/dist/{chunk-I4QEJ62Y.js → chunk-KI46GKMD.js} +7 -7
  296. package/dist/{chunk-SIRLACNZ.js → chunk-KO3OHHY2.js} +3 -3
  297. package/dist/{chunk-NULUNM7H.js → chunk-KUE5BOQE.js} +5 -5
  298. package/dist/{chunk-O3LKCBP5.js → chunk-LIJNVIT3.js} +3 -3
  299. package/dist/{chunk-JWB44UGJ.js → chunk-LIJPDVYP.js} +2 -2
  300. package/dist/{chunk-KYS77RPN.js → chunk-LPKJ77EK.js} +2 -2
  301. package/dist/{chunk-RMFKVOM7.js → chunk-LQKVNREV.js} +4 -4
  302. package/dist/{chunk-E7XERZWC.js → chunk-LTJFV2JI.js} +2 -2
  303. package/dist/{chunk-INXGSG3J.js → chunk-LVDNY5RC.js} +2 -2
  304. package/dist/{chunk-2INLDVK3.js → chunk-LVELUUK6.js} +2 -2
  305. package/dist/{chunk-TAT5USZN.js → chunk-M3FDGRB4.js} +3 -3
  306. package/dist/{chunk-5EWSRZ2Y.js → chunk-M3HGBO2Y.js} +1 -1
  307. package/dist/{chunk-J3DY5HWQ.js → chunk-M5IQVMLR.js} +4 -4
  308. package/dist/{chunk-53AGXXZM.js → chunk-MKDFYE2E.js} +2 -2
  309. package/dist/{chunk-4SAWSRAA.js → chunk-MRECRNVU.js} +5 -5
  310. package/dist/{chunk-2I7HDP53.js → chunk-MT2R57SF.js} +2 -2
  311. package/dist/{chunk-Z7Y523PS.js → chunk-MV2CLIO6.js} +6 -6
  312. package/dist/{chunk-JZ4NLCAP.js → chunk-MZY3VKKM.js} +2 -2
  313. package/dist/{chunk-YENLNISG.js → chunk-N3FM4BNA.js} +2 -2
  314. package/dist/{chunk-DZWARC4M.js → chunk-NFCS5WYC.js} +3 -3
  315. package/dist/{chunk-I5QZJODL.js → chunk-NQ2CPQJF.js} +3 -3
  316. package/dist/{chunk-6DVCC7QS.js → chunk-OBGOLHCP.js} +164 -43
  317. package/dist/chunk-OBGOLHCP.js.map +1 -0
  318. package/dist/{chunk-CUIWCGMA.js → chunk-OCXEY7HE.js} +2 -2
  319. package/dist/{chunk-VTTAJOQ7.js → chunk-OCXTTKVA.js} +2 -2
  320. package/dist/{chunk-KRDR5RJD.js → chunk-OGU73VUN.js} +2 -2
  321. package/dist/{chunk-YIRVLKAX.js → chunk-OI6VI6SU.js} +9 -9
  322. package/dist/{chunk-BHNSJVBC.js → chunk-OJWDNNW3.js} +5 -5
  323. package/dist/{chunk-X6KAJI3V.js → chunk-OK7BQMCI.js} +9 -9
  324. package/dist/{chunk-I5B5L6Q4.js → chunk-OOOSGPJL.js} +1 -1
  325. package/dist/chunk-OP2GD6QW.js +166 -0
  326. package/dist/chunk-OP2GD6QW.js.map +1 -0
  327. package/dist/{chunk-TUIN4MB7.js → chunk-ORV7EFSL.js} +4 -4
  328. package/dist/{chunk-JDTGRRNU.js → chunk-OSJ366KR.js} +49 -31
  329. package/dist/chunk-OSJ366KR.js.map +1 -0
  330. package/dist/{chunk-3IK6UYO6.js → chunk-OTW25A6I.js} +3 -3
  331. package/dist/{chunk-NPGISCU6.js → chunk-OWET7EY2.js} +16 -16
  332. package/dist/{chunk-CRAOSVHC.js → chunk-OXQ2SXVC.js} +2 -2
  333. package/dist/{chunk-3ED2U6XE.js → chunk-OYCK4JRS.js} +2 -2
  334. package/dist/{chunk-YQXTDZSU.js → chunk-OYOFPNLC.js} +4 -4
  335. package/dist/{chunk-4NQHXYMW.js → chunk-PD7NWM7V.js} +2 -2
  336. package/dist/{chunk-4YCA2Y73.js → chunk-PF2WU2IL.js} +3 -3
  337. package/dist/{chunk-Z654FWNU.js → chunk-PLYVGZIN.js} +2 -2
  338. package/dist/{chunk-MVW6HNPI.js → chunk-PRT4J2DL.js} +2 -2
  339. package/dist/{chunk-TXLIEOJX.js → chunk-PSM3CU7N.js} +111 -80
  340. package/dist/chunk-PSM3CU7N.js.map +1 -0
  341. package/dist/{chunk-OPWCMA4D.js → chunk-PUUEI4W3.js} +6 -6
  342. package/dist/{chunk-RLBKLAEY.js → chunk-PVB4YVDP.js} +2 -2
  343. package/dist/{chunk-NXCMHIKI.js → chunk-PWUSSSSL.js} +2 -2
  344. package/dist/{chunk-MJUCFQMS.js → chunk-PYB4BFEC.js} +3 -3
  345. package/dist/{chunk-2FSBSCZJ.js → chunk-PZKHST7A.js} +2 -2
  346. package/dist/{chunk-QZAAUQRN.js → chunk-Q5EZNBPI.js} +3 -3
  347. package/dist/{chunk-ZHDFQITM.js → chunk-Q5K2J5GG.js} +2 -2
  348. package/dist/{chunk-7T2ZE3VT.js → chunk-QPQ7R77C.js} +8 -1
  349. package/dist/chunk-QPQ7R77C.js.map +1 -0
  350. package/dist/{chunk-6BCXNDEI.js → chunk-QQIZMVAJ.js} +74 -60
  351. package/dist/chunk-QQIZMVAJ.js.map +1 -0
  352. package/dist/{chunk-OV6QJRT4.js → chunk-QRECBCJM.js} +2 -2
  353. package/dist/{chunk-3GZA4BUW.js → chunk-QURYQFDN.js} +2 -2
  354. package/dist/{chunk-VS7AHPCZ.js → chunk-R33SBMB7.js} +3 -3
  355. package/dist/{chunk-KCBMFSMS.js → chunk-R4JA5JFI.js} +3 -3
  356. package/dist/{chunk-HC4JFZVU.js → chunk-R5QAL43H.js} +2 -2
  357. package/dist/{chunk-QPSGCC5D.js → chunk-RGR57NYY.js} +2 -2
  358. package/dist/{chunk-XWFAMUZQ.js → chunk-RHXYO4H2.js} +2 -2
  359. package/dist/{chunk-Y4BB2KS2.js → chunk-RISUROBM.js} +7 -7
  360. package/dist/{chunk-U3DN4HEY.js → chunk-RMCLFSMX.js} +2 -2
  361. package/dist/{chunk-YK7756IF.js → chunk-RTZANSSC.js} +3 -3
  362. package/dist/{chunk-ZEG4VPBL.js → chunk-S27VZ5DO.js} +6 -6
  363. package/dist/{chunk-54YW6SZZ.js → chunk-SBXSKRFA.js} +3 -3
  364. package/dist/{chunk-HAX4LCR5.js → chunk-SFIXTOOJ.js} +3 -3
  365. package/dist/{chunk-QIOQ2NPQ.js → chunk-SGH7I7OY.js} +2 -2
  366. package/dist/{chunk-K2A5PXQ5.js → chunk-SJYTQLN3.js} +3 -3
  367. package/dist/{chunk-2Z3NQNTM.js → chunk-SK5S2PCK.js} +15 -15
  368. package/dist/{chunk-X3MWB2QU.js → chunk-SN2WENRP.js} +3 -3
  369. package/dist/{chunk-OSY5K7L7.js → chunk-SP44O3OU.js} +2 -2
  370. package/dist/{chunk-OZCBM3UC.js → chunk-SSR4ZX52.js} +2 -2
  371. package/dist/{chunk-QCSJ4CWE.js → chunk-SXGJL7UT.js} +14 -14
  372. package/dist/{chunk-NC55IFN3.js → chunk-T67LTMSW.js} +10 -10
  373. package/dist/{chunk-AXHZYXUV.js → chunk-TDTD66BK.js} +2 -2
  374. package/dist/{chunk-NGJJJPZZ.js → chunk-TK5FWVZR.js} +3 -3
  375. package/dist/{chunk-YPWU5KPE.js → chunk-TKQL7EDB.js} +56 -19
  376. package/dist/chunk-TKQL7EDB.js.map +1 -0
  377. package/dist/{chunk-2OP6WLGV.js → chunk-TNSJFZ6Q.js} +4 -4
  378. package/dist/{chunk-O732GAFC.js → chunk-U4LTPFD2.js} +2 -2
  379. package/dist/{chunk-4DVNUCRR.js → chunk-U5UGM5XD.js} +6 -6
  380. package/dist/{chunk-UJK53QFL.js → chunk-UBRQ3PQD.js} +2 -2
  381. package/dist/{chunk-SODC7T6L.js → chunk-UMX6DZME.js} +2 -2
  382. package/dist/{chunk-YLS6QE5G.js → chunk-UO35OEOX.js} +4 -4
  383. package/dist/{chunk-SHHJCL7X.js → chunk-UTRNLNCW.js} +3 -3
  384. package/dist/{chunk-HEFPPMBQ.js → chunk-UU5FBVRX.js} +2 -2
  385. package/dist/{chunk-GQXZPKK7.js → chunk-V6UOVHW3.js} +2 -2
  386. package/dist/{chunk-GVN5SZLX.js → chunk-VATYK3JQ.js} +3 -3
  387. package/dist/{chunk-7TIX2UAR.js → chunk-VCJQQYRE.js} +4 -4
  388. package/dist/{chunk-6WD2INST.js → chunk-WDASYY4S.js} +7 -7
  389. package/dist/{chunk-DXBYWSL5.js → chunk-WIFDNUKD.js} +3 -3
  390. package/dist/{chunk-RT7CJMER.js → chunk-WIXHUBQN.js} +2 -2
  391. package/dist/{chunk-57AZS3IE.js → chunk-WRMUXZ7C.js} +3 -3
  392. package/dist/{chunk-2CLNIEK4.js → chunk-WTSQUCHB.js} +3 -3
  393. package/dist/{chunk-OVKYVZMW.js → chunk-WXF2RTS4.js} +2 -2
  394. package/dist/{chunk-MIHN76LX.js → chunk-WYGTAQMX.js} +3 -3
  395. package/dist/{chunk-2RG7NIAS.js → chunk-X2QJXDE4.js} +10 -10
  396. package/dist/{chunk-GAVYGBFI.js → chunk-XMBOLFFS.js} +2 -2
  397. package/dist/{chunk-T7OXJZCX.js → chunk-XOIDUM2H.js} +1 -1
  398. package/dist/{chunk-ORJPS5VN.js → chunk-XUOYNJPB.js} +97 -37
  399. package/dist/chunk-XUOYNJPB.js.map +1 -0
  400. package/dist/{chunk-XHIQ5I6N.js → chunk-XVLEBB4Y.js} +2 -2
  401. package/dist/{chunk-Q3DPEYX4.js → chunk-XZCCEKPW.js} +7 -7
  402. package/dist/{chunk-T3OWFVMS.js → chunk-Y3XZEKDQ.js} +2 -2
  403. package/dist/{chunk-KODELWYT.js → chunk-YJSCLGAW.js} +3 -3
  404. package/dist/{chunk-ROKQU7WG.js → chunk-YMI27QPF.js} +2 -2
  405. package/dist/{chunk-U7XM7CB4.js → chunk-YNTLWCF4.js} +4 -4
  406. package/dist/{chunk-ZQCND77P.js → chunk-YRYF76OE.js} +2 -2
  407. package/dist/{chunk-2BDT3UZQ.js → chunk-ZAX4XQLN.js} +3 -3
  408. package/dist/{chunk-DXR5PDFP.js → chunk-ZBHGNE2J.js} +3 -3
  409. package/dist/{chunk-I7ITSXSJ.js → chunk-ZR5EKJT6.js} +2 -2
  410. package/dist/{chunk-IZXHMZQ6.js → chunk-ZW5YTIH3.js} +4 -4
  411. package/dist/components/artifacts/artifact-sandbox.d.ts +6 -1
  412. package/dist/components/artifacts/site-view.d.ts +4 -2
  413. package/dist/components/timeline-anchor.d.ts +8 -3
  414. package/dist/components/timeline-reading-progress.d.ts +1 -1
  415. package/dist/components/timeline-settlement.d.ts +1 -1
  416. package/dist/composer-messages.js +2 -2
  417. package/dist/composer.js +10 -10
  418. package/dist/{computer-viewer-TDDO25AV.js → computer-viewer-5LKRCEVQ.js} +5 -5
  419. package/dist/connect.js +13 -14
  420. package/dist/desktop-dictation.js +7 -7
  421. package/dist/desktop.js +2 -2
  422. package/dist/editor.js +2 -2
  423. package/dist/{embedded-new-voice-2G3VLPVQ.js → embedded-new-voice-GHJRY3YL.js} +5 -5
  424. package/dist/{embedded-voice-T5IWOWGD.js → embedded-voice-ASQXBSTX.js} +5 -5
  425. package/dist/{fleet-decision-row-WM64KXP3.js → fleet-decision-row-U7LDVBEM.js} +2 -2
  426. package/dist/in-chat-connect-model.js +5 -5
  427. package/dist/index.js +62 -63
  428. package/dist/interaction.js +6 -6
  429. package/dist/{latest-question-OX56OVQ5.js → latest-question-RNVF262Q.js} +5 -5
  430. package/dist/lib/format.d.ts +10 -0
  431. package/dist/machines.js +4 -4
  432. package/dist/meetings-recorder.js +1 -1
  433. package/dist/meetings.js +24 -24
  434. package/dist/messages/en.d.ts +7 -0
  435. package/dist/messages.js +1 -1
  436. package/dist/{model-policy-picker-menu-SMC6J6QN.js → model-policy-picker-menu-E6XKMFTA.js} +4 -4
  437. package/dist/{payment-page-card-G4U63KUV.js → payment-page-card-DJDKV2LW.js} +6 -5
  438. package/dist/{payment-page-card-G4U63KUV.js.map → payment-page-card-DJDKV2LW.js.map} +1 -1
  439. package/dist/{platform-activity-row-BUZGZAKZ.js → platform-activity-row-MSDCSMET.js} +17 -7
  440. package/dist/platform-activity-row-MSDCSMET.js.map +1 -0
  441. package/dist/{queue-surface-implementation-4KUZ4PJV.js → queue-surface-implementation-GUAIG6TK.js} +5 -5
  442. package/dist/realtime.js +4 -4
  443. package/dist/{recorder-host-WF2RRR56.js → recorder-host-2MYDJPQW.js} +4 -4
  444. package/dist/recordings.js +3 -3
  445. package/dist/{sandbox-files-ESDMOFSD.js → sandbox-files-W5W2LW4K.js} +6 -6
  446. package/dist/session-app.js +173 -167
  447. package/dist/{session-connect-cards-Q53KMMYY.js → session-connect-cards-HPH7JOZP.js} +9 -10
  448. package/dist/session-list-model.js +2 -2
  449. package/dist/{session-realtime-CF3I35WJ.js → session-realtime-SDTKFFIR.js} +3 -3
  450. package/dist/session-realtime-SDTKFFIR.js.map +1 -0
  451. package/dist/session-realtime.js +2 -2
  452. package/dist/session-ui.js +37 -38
  453. package/dist/session.js +9 -9
  454. package/dist/sites.js +2 -2
  455. package/dist/terminal.js +2 -2
  456. package/dist/this-computer.js +3 -3
  457. package/dist/timeline/shared.d.ts +2 -0
  458. package/dist/{timeline-annotation-markers-CJK4RYZ4.js → timeline-annotation-markers-FNILLWNU.js} +2 -2
  459. package/dist/{timeline-annotation-selection-67GF5H26.js → timeline-annotation-selection-MBCIDO2Q.js} +2 -2
  460. package/dist/{timeline-annotations-dialog-ONJPQDJQ.js → timeline-annotations-dialog-JPNKLOTE.js} +3 -3
  461. package/dist/timeline-model.js +6 -6
  462. package/dist/ui/access-list.js +6 -6
  463. package/dist/ui/cadence-picker.js +4 -4
  464. package/dist/ui/choice-cards.js +3 -3
  465. package/dist/ui/confirm-dialog.js +4 -4
  466. package/dist/ui/copy-field.js +3 -3
  467. package/dist/ui/detail-page.js +5 -5
  468. package/dist/ui/detail-sheet.js +4 -4
  469. package/dist/ui/dialog.js +2 -2
  470. package/dist/ui/disclosure.js +5 -5
  471. package/dist/ui/email-chips-input.js +3 -3
  472. package/dist/ui/field.js +2 -2
  473. package/dist/ui/flush-form-page.js +4 -4
  474. package/dist/ui/form-dialog.js +3 -3
  475. package/dist/ui/list-row.js +3 -3
  476. package/dist/ui/page-header.js +2 -2
  477. package/dist/ui/relative-time.js +2 -2
  478. package/dist/ui/revision-history.js +4 -4
  479. package/dist/ui/role-select.js +6 -6
  480. package/dist/ui/select-menu.js +3 -3
  481. package/dist/ui/sheet.js +2 -2
  482. package/dist/ui/usage-meter.js +3 -3
  483. package/dist/ui/window-bar-title.d.ts +7 -3
  484. package/dist/ui/window-bar-title.js +1 -1
  485. package/dist/usage.js +2 -2
  486. package/dist/workbench.js +4 -4
  487. package/package.json +4 -4
  488. package/src/app/components/artifacts/site-actions.tsx +105 -0
  489. package/src/app/components/rail/session-header-copy.test.tsx +172 -0
  490. package/src/app/components/rail/session-header.tsx +68 -12
  491. package/src/app/components/rail/session-list.tsx +20 -0
  492. package/src/app/components/rail/site-session-group-heading.test.tsx +210 -0
  493. package/src/app/components/rail/site-session-group-heading.tsx +119 -60
  494. package/src/app/components/session/failed-session-actions.test.tsx +4 -0
  495. package/src/app/components/window-bar.tsx +63 -15
  496. package/src/app/lib/composer-send-blocking.tsx +312 -1
  497. package/src/app/lib/copy-link.ts +10 -0
  498. package/src/app/lib/session-composer-readiness.ts +4 -3
  499. package/src/app/lib/site-sidebar-bridge.test.tsx +67 -0
  500. package/src/app/lib/site-sidebar-bridge.ts +57 -0
  501. package/src/app/routes/session.tsx +45 -12
  502. package/src/app/routes/sessions-index.tsx +164 -105
  503. package/src/app/routes/site-view.test.tsx +74 -6
  504. package/src/app/routes/site-view.tsx +135 -14
  505. package/src/components/approval-surface.tsx +78 -3
  506. package/src/components/artifacts/artifact-sandbox.tsx +27 -2
  507. package/src/components/artifacts/site-view.tsx +13 -1
  508. package/src/components/message-timeline.tsx +25 -52
  509. package/src/components/session-capability-frame.tsx +2 -30
  510. package/src/components/timeline-anchor.tsx +19 -14
  511. package/src/components/timeline-reading-progress.ts +1 -2
  512. package/src/components/timeline-settlement.ts +3 -3
  513. package/src/lib/format.ts +46 -1
  514. package/src/messages/en.ts +11 -0
  515. package/src/timeline/platform-activity-row.tsx +20 -8
  516. package/src/timeline/shared.tsx +203 -32
  517. package/src/ui/window-bar-title.test.tsx +37 -0
  518. package/src/ui/window-bar-title.tsx +13 -6
  519. package/styles/compiled.css +5 -0
  520. package/dist/chunk-5MOJZORA.js.map +0 -1
  521. package/dist/chunk-6BCXNDEI.js.map +0 -1
  522. package/dist/chunk-6DVCC7QS.js.map +0 -1
  523. package/dist/chunk-7T2ZE3VT.js.map +0 -1
  524. package/dist/chunk-AFRGP2VP.js +0 -17
  525. package/dist/chunk-AFRGP2VP.js.map +0 -1
  526. package/dist/chunk-CRU35QQH.js.map +0 -1
  527. package/dist/chunk-FO4LYKJL.js +0 -197
  528. package/dist/chunk-FO4LYKJL.js.map +0 -1
  529. package/dist/chunk-HD5X76TP.js.map +0 -1
  530. package/dist/chunk-JDTGRRNU.js.map +0 -1
  531. package/dist/chunk-NW53H5RW.js.map +0 -1
  532. package/dist/chunk-OF4TIKYC.js.map +0 -1
  533. package/dist/chunk-ORJPS5VN.js.map +0 -1
  534. package/dist/chunk-TXLIEOJX.js.map +0 -1
  535. package/dist/chunk-VBUVBHFJ.js +0 -16
  536. package/dist/chunk-VBUVBHFJ.js.map +0 -1
  537. package/dist/chunk-XEQMZB3C.js.map +0 -1
  538. package/dist/chunk-YPWU5KPE.js.map +0 -1
  539. package/dist/components/timeline-answer-follow.d.ts +0 -8
  540. package/dist/platform-activity-row-BUZGZAKZ.js.map +0 -1
  541. package/src/components/timeline-answer-follow.ts +0 -15
  542. /package/dist/{browser-viewer-TC27OCIP.js.map → app/components/artifacts/site-actions.js.map} +0 -0
  543. /package/dist/{chat-interactive-block-RWPQBHVS.js.map → browser-viewer-ZHQDVHZ2.js.map} +0 -0
  544. /package/dist/{computer-viewer-TDDO25AV.js.map → chat-interactive-block-VSDD6X3M.js.map} +0 -0
  545. /package/dist/{chunk-C43KRXGA.js.map → chunk-2GCHGWNE.js.map} +0 -0
  546. /package/dist/{chunk-XLH7QY2R.js.map → chunk-2J77TWGH.js.map} +0 -0
  547. /package/dist/{chunk-77WAKEAH.js.map → chunk-2OXSB2OL.js.map} +0 -0
  548. /package/dist/{chunk-H3T7IWNA.js.map → chunk-2VJOSU4H.js.map} +0 -0
  549. /package/dist/{chunk-N6AACDUW.js.map → chunk-34NV52R3.js.map} +0 -0
  550. /package/dist/{chunk-L7YTNTIK.js.map → chunk-3CDJSKDW.js.map} +0 -0
  551. /package/dist/{chunk-EWSOC6WF.js.map → chunk-3DRLCX5V.js.map} +0 -0
  552. /package/dist/{chunk-JEUPAVYY.js.map → chunk-3L465FBR.js.map} +0 -0
  553. /package/dist/{chunk-5NWEKLDZ.js.map → chunk-3NNAC43A.js.map} +0 -0
  554. /package/dist/{chunk-EDI6SJ2N.js.map → chunk-3OK7Y6ES.js.map} +0 -0
  555. /package/dist/{chunk-AWKES45Y.js.map → chunk-3PM3M2Q6.js.map} +0 -0
  556. /package/dist/{chunk-I7XIZRFD.js.map → chunk-3PZ3LRPV.js.map} +0 -0
  557. /package/dist/{chunk-AW2MQB37.js.map → chunk-44JWVYJB.js.map} +0 -0
  558. /package/dist/{chunk-2M3J7ZWQ.js.map → chunk-467WDSOK.js.map} +0 -0
  559. /package/dist/{chunk-UTIAXH52.js.map → chunk-477DTTMH.js.map} +0 -0
  560. /package/dist/{chunk-J5F5HPPW.js.map → chunk-4BWMAGJJ.js.map} +0 -0
  561. /package/dist/{chunk-YSJEAAOL.js.map → chunk-4F3AEJI6.js.map} +0 -0
  562. /package/dist/{chunk-LHPNABDH.js.map → chunk-4JXPLTWV.js.map} +0 -0
  563. /package/dist/{chunk-RQKLF42C.js.map → chunk-4K64EKM7.js.map} +0 -0
  564. /package/dist/{chunk-NUNZS36W.js.map → chunk-4O2XWOLZ.js.map} +0 -0
  565. /package/dist/{chunk-QB2KMIDP.js.map → chunk-4SJAEPM2.js.map} +0 -0
  566. /package/dist/{chunk-6JHU2UBS.js.map → chunk-4Z5X7PLC.js.map} +0 -0
  567. /package/dist/{chunk-2STUPWEL.js.map → chunk-54U6ZBEX.js.map} +0 -0
  568. /package/dist/{chunk-XXSOHN35.js.map → chunk-5FLYHX5R.js.map} +0 -0
  569. /package/dist/{chunk-MIYFS2XN.js.map → chunk-5MHMCE2G.js.map} +0 -0
  570. /package/dist/{chunk-YWVI6ZMK.js.map → chunk-5MIBQ4P5.js.map} +0 -0
  571. /package/dist/{chunk-5O2FCCHZ.js.map → chunk-6QK65ZWM.js.map} +0 -0
  572. /package/dist/{chunk-RPVREAU7.js.map → chunk-736RUNIA.js.map} +0 -0
  573. /package/dist/{chunk-2KALVELR.js.map → chunk-74CBR5YE.js.map} +0 -0
  574. /package/dist/{chunk-5IE76VCY.js.map → chunk-752WXSDN.js.map} +0 -0
  575. /package/dist/{chunk-OPJJSKUK.js.map → chunk-77B6UCNK.js.map} +0 -0
  576. /package/dist/{chunk-SEO7TICN.js.map → chunk-77BHKC43.js.map} +0 -0
  577. /package/dist/{chunk-ZUA3JMI6.js.map → chunk-77SYIH6O.js.map} +0 -0
  578. /package/dist/{chunk-ILDXWY37.js.map → chunk-7AI4E7PV.js.map} +0 -0
  579. /package/dist/{chunk-C372BFOV.js.map → chunk-7NLF35YL.js.map} +0 -0
  580. /package/dist/{chunk-IFB3WJ36.js.map → chunk-7YTR3UFO.js.map} +0 -0
  581. /package/dist/{chunk-BMICEQZQ.js.map → chunk-7Z76QP64.js.map} +0 -0
  582. /package/dist/{chunk-YWIFM7D7.js.map → chunk-AAS7OWV6.js.map} +0 -0
  583. /package/dist/{chunk-5QAY6K77.js.map → chunk-AB5IW227.js.map} +0 -0
  584. /package/dist/{chunk-ZBIXBQNI.js.map → chunk-ABJZDRW2.js.map} +0 -0
  585. /package/dist/{chunk-4DVJ6ONS.js.map → chunk-AH3DGOTK.js.map} +0 -0
  586. /package/dist/{chunk-HGKTHF2U.js.map → chunk-AJBDAVX3.js.map} +0 -0
  587. /package/dist/{chunk-5YKW2K6I.js.map → chunk-AJDGP2N4.js.map} +0 -0
  588. /package/dist/{chunk-IXPTECSC.js.map → chunk-AVXDIRRW.js.map} +0 -0
  589. /package/dist/{chunk-QK5EFEUT.js.map → chunk-BASI553K.js.map} +0 -0
  590. /package/dist/{chunk-Z4FMAFNH.js.map → chunk-BQYRZIZ7.js.map} +0 -0
  591. /package/dist/{chunk-DZXEDSQI.js.map → chunk-CEMSIU4Z.js.map} +0 -0
  592. /package/dist/{chunk-FZC5N55X.js.map → chunk-CH4UQ4NO.js.map} +0 -0
  593. /package/dist/{chunk-7X6SDK2C.js.map → chunk-CHU3RDV4.js.map} +0 -0
  594. /package/dist/{chunk-Y4OBB2VN.js.map → chunk-CV4VVLPZ.js.map} +0 -0
  595. /package/dist/{chunk-JQL7ZH6C.js.map → chunk-CXAN2FHF.js.map} +0 -0
  596. /package/dist/{chunk-F2OPHAUN.js.map → chunk-CYDXCILL.js.map} +0 -0
  597. /package/dist/{chunk-3PZ7JZI2.js.map → chunk-D3PTVN2I.js.map} +0 -0
  598. /package/dist/{chunk-FPXASDG5.js.map → chunk-D5TIVCXG.js.map} +0 -0
  599. /package/dist/{chunk-7W37NS3I.js.map → chunk-D74Z2N4K.js.map} +0 -0
  600. /package/dist/{chunk-MNZG4OHU.js.map → chunk-DCEQCGVN.js.map} +0 -0
  601. /package/dist/{chunk-ND2BXV3P.js.map → chunk-DEHLWZSI.js.map} +0 -0
  602. /package/dist/{chunk-2YUOVM3G.js.map → chunk-DIP7YALH.js.map} +0 -0
  603. /package/dist/{chunk-6PZ7OBYU.js.map → chunk-DLVIRJGK.js.map} +0 -0
  604. /package/dist/{chunk-KLEUWIMZ.js.map → chunk-DQPIEQGP.js.map} +0 -0
  605. /package/dist/{chunk-T2QX3FDP.js.map → chunk-DWJ6J3YW.js.map} +0 -0
  606. /package/dist/{chunk-3CPWWGNK.js.map → chunk-E5KOWRDU.js.map} +0 -0
  607. /package/dist/{chunk-6WGRDRMA.js.map → chunk-EBIVTDEG.js.map} +0 -0
  608. /package/dist/{chunk-KUDGXAF7.js.map → chunk-EBTUPRRQ.js.map} +0 -0
  609. /package/dist/{chunk-5CPEEAFD.js.map → chunk-EDDKPIIV.js.map} +0 -0
  610. /package/dist/{chunk-TX3VECZU.js.map → chunk-EGKARC53.js.map} +0 -0
  611. /package/dist/{chunk-JEA3QDX7.js.map → chunk-EKJHOWTZ.js.map} +0 -0
  612. /package/dist/{chunk-UVN5TMHU.js.map → chunk-ESXAECZ3.js.map} +0 -0
  613. /package/dist/{chunk-3SOIESJM.js.map → chunk-EWZ2RLNG.js.map} +0 -0
  614. /package/dist/{chunk-CMKGILJK.js.map → chunk-FBA2NXYH.js.map} +0 -0
  615. /package/dist/{chunk-O6N4ABCA.js.map → chunk-FER6EVIY.js.map} +0 -0
  616. /package/dist/{chunk-DF5EAHDN.js.map → chunk-FLWQJDJ5.js.map} +0 -0
  617. /package/dist/{chunk-PTAG4PDC.js.map → chunk-FNXCFIPW.js.map} +0 -0
  618. /package/dist/{chunk-BJEJFISW.js.map → chunk-FSDQQQIA.js.map} +0 -0
  619. /package/dist/{chunk-PTF5B7TJ.js.map → chunk-G5UQBTXY.js.map} +0 -0
  620. /package/dist/{chunk-4E3ZJRTZ.js.map → chunk-G6ICCGJ3.js.map} +0 -0
  621. /package/dist/{chunk-NRTE7DNV.js.map → chunk-GIWFLWXG.js.map} +0 -0
  622. /package/dist/{chunk-MM4FNWI4.js.map → chunk-GMHIOYB7.js.map} +0 -0
  623. /package/dist/{chunk-6DK6Z4UN.js.map → chunk-GOCODNQS.js.map} +0 -0
  624. /package/dist/{chunk-TPQTRNER.js.map → chunk-GSCGKJNK.js.map} +0 -0
  625. /package/dist/{chunk-7VMZGLYI.js.map → chunk-GTHCHCWW.js.map} +0 -0
  626. /package/dist/{chunk-SQJIKMN3.js.map → chunk-GTRAH4FG.js.map} +0 -0
  627. /package/dist/{chunk-ZYAZUPPV.js.map → chunk-GU7T2S5N.js.map} +0 -0
  628. /package/dist/{chunk-JKHKLL5W.js.map → chunk-H6BX6WOW.js.map} +0 -0
  629. /package/dist/{chunk-IMZCQBOT.js.map → chunk-H6MJFMHZ.js.map} +0 -0
  630. /package/dist/{chunk-HSOXMJOT.js.map → chunk-HEGV4QMS.js.map} +0 -0
  631. /package/dist/{chunk-NC7PVOEK.js.map → chunk-HWVPLFIW.js.map} +0 -0
  632. /package/dist/{chunk-IMDQUHBJ.js.map → chunk-HYEIA25Y.js.map} +0 -0
  633. /package/dist/{chunk-ECJBYNLJ.js.map → chunk-ICAMYP5M.js.map} +0 -0
  634. /package/dist/{chunk-DJAXC5OK.js.map → chunk-IFSXVU2S.js.map} +0 -0
  635. /package/dist/{chunk-I4MRDSUF.js.map → chunk-IJR6VOLU.js.map} +0 -0
  636. /package/dist/{chunk-YCVD6CI3.js.map → chunk-IN3VQFKS.js.map} +0 -0
  637. /package/dist/{chunk-BJFH6JI5.js.map → chunk-IZXYFWA4.js.map} +0 -0
  638. /package/dist/{chunk-MFROMEKA.js.map → chunk-J2BTILRR.js.map} +0 -0
  639. /package/dist/{chunk-NCYMNCJO.js.map → chunk-J2WY42FA.js.map} +0 -0
  640. /package/dist/{chunk-DGMR6JEJ.js.map → chunk-J4XSTXZP.js.map} +0 -0
  641. /package/dist/{chunk-ZTPXACWB.js.map → chunk-JKL5S7UQ.js.map} +0 -0
  642. /package/dist/{chunk-P77WNZDY.js.map → chunk-JMHEFZOB.js.map} +0 -0
  643. /package/dist/{chunk-IDANQPRH.js.map → chunk-JV3UI7BH.js.map} +0 -0
  644. /package/dist/{chunk-FVXBNBHO.js.map → chunk-K3D7IQQP.js.map} +0 -0
  645. /package/dist/{chunk-GKVJIDHF.js.map → chunk-KFNZZ2N6.js.map} +0 -0
  646. /package/dist/{chunk-I4QEJ62Y.js.map → chunk-KI46GKMD.js.map} +0 -0
  647. /package/dist/{chunk-SIRLACNZ.js.map → chunk-KO3OHHY2.js.map} +0 -0
  648. /package/dist/{chunk-NULUNM7H.js.map → chunk-KUE5BOQE.js.map} +0 -0
  649. /package/dist/{chunk-O3LKCBP5.js.map → chunk-LIJNVIT3.js.map} +0 -0
  650. /package/dist/{chunk-JWB44UGJ.js.map → chunk-LIJPDVYP.js.map} +0 -0
  651. /package/dist/{chunk-KYS77RPN.js.map → chunk-LPKJ77EK.js.map} +0 -0
  652. /package/dist/{chunk-RMFKVOM7.js.map → chunk-LQKVNREV.js.map} +0 -0
  653. /package/dist/{chunk-E7XERZWC.js.map → chunk-LTJFV2JI.js.map} +0 -0
  654. /package/dist/{chunk-INXGSG3J.js.map → chunk-LVDNY5RC.js.map} +0 -0
  655. /package/dist/{chunk-2INLDVK3.js.map → chunk-LVELUUK6.js.map} +0 -0
  656. /package/dist/{chunk-TAT5USZN.js.map → chunk-M3FDGRB4.js.map} +0 -0
  657. /package/dist/{chunk-5EWSRZ2Y.js.map → chunk-M3HGBO2Y.js.map} +0 -0
  658. /package/dist/{chunk-J3DY5HWQ.js.map → chunk-M5IQVMLR.js.map} +0 -0
  659. /package/dist/{chunk-53AGXXZM.js.map → chunk-MKDFYE2E.js.map} +0 -0
  660. /package/dist/{chunk-4SAWSRAA.js.map → chunk-MRECRNVU.js.map} +0 -0
  661. /package/dist/{chunk-2I7HDP53.js.map → chunk-MT2R57SF.js.map} +0 -0
  662. /package/dist/{chunk-Z7Y523PS.js.map → chunk-MV2CLIO6.js.map} +0 -0
  663. /package/dist/{chunk-JZ4NLCAP.js.map → chunk-MZY3VKKM.js.map} +0 -0
  664. /package/dist/{chunk-YENLNISG.js.map → chunk-N3FM4BNA.js.map} +0 -0
  665. /package/dist/{chunk-DZWARC4M.js.map → chunk-NFCS5WYC.js.map} +0 -0
  666. /package/dist/{chunk-I5QZJODL.js.map → chunk-NQ2CPQJF.js.map} +0 -0
  667. /package/dist/{chunk-CUIWCGMA.js.map → chunk-OCXEY7HE.js.map} +0 -0
  668. /package/dist/{chunk-VTTAJOQ7.js.map → chunk-OCXTTKVA.js.map} +0 -0
  669. /package/dist/{chunk-KRDR5RJD.js.map → chunk-OGU73VUN.js.map} +0 -0
  670. /package/dist/{chunk-YIRVLKAX.js.map → chunk-OI6VI6SU.js.map} +0 -0
  671. /package/dist/{chunk-BHNSJVBC.js.map → chunk-OJWDNNW3.js.map} +0 -0
  672. /package/dist/{chunk-X6KAJI3V.js.map → chunk-OK7BQMCI.js.map} +0 -0
  673. /package/dist/{chunk-I5B5L6Q4.js.map → chunk-OOOSGPJL.js.map} +0 -0
  674. /package/dist/{chunk-TUIN4MB7.js.map → chunk-ORV7EFSL.js.map} +0 -0
  675. /package/dist/{chunk-3IK6UYO6.js.map → chunk-OTW25A6I.js.map} +0 -0
  676. /package/dist/{chunk-NPGISCU6.js.map → chunk-OWET7EY2.js.map} +0 -0
  677. /package/dist/{chunk-CRAOSVHC.js.map → chunk-OXQ2SXVC.js.map} +0 -0
  678. /package/dist/{chunk-3ED2U6XE.js.map → chunk-OYCK4JRS.js.map} +0 -0
  679. /package/dist/{chunk-YQXTDZSU.js.map → chunk-OYOFPNLC.js.map} +0 -0
  680. /package/dist/{chunk-4NQHXYMW.js.map → chunk-PD7NWM7V.js.map} +0 -0
  681. /package/dist/{chunk-4YCA2Y73.js.map → chunk-PF2WU2IL.js.map} +0 -0
  682. /package/dist/{chunk-Z654FWNU.js.map → chunk-PLYVGZIN.js.map} +0 -0
  683. /package/dist/{chunk-MVW6HNPI.js.map → chunk-PRT4J2DL.js.map} +0 -0
  684. /package/dist/{chunk-OPWCMA4D.js.map → chunk-PUUEI4W3.js.map} +0 -0
  685. /package/dist/{chunk-RLBKLAEY.js.map → chunk-PVB4YVDP.js.map} +0 -0
  686. /package/dist/{chunk-NXCMHIKI.js.map → chunk-PWUSSSSL.js.map} +0 -0
  687. /package/dist/{chunk-MJUCFQMS.js.map → chunk-PYB4BFEC.js.map} +0 -0
  688. /package/dist/{chunk-2FSBSCZJ.js.map → chunk-PZKHST7A.js.map} +0 -0
  689. /package/dist/{chunk-QZAAUQRN.js.map → chunk-Q5EZNBPI.js.map} +0 -0
  690. /package/dist/{chunk-ZHDFQITM.js.map → chunk-Q5K2J5GG.js.map} +0 -0
  691. /package/dist/{chunk-OV6QJRT4.js.map → chunk-QRECBCJM.js.map} +0 -0
  692. /package/dist/{chunk-3GZA4BUW.js.map → chunk-QURYQFDN.js.map} +0 -0
  693. /package/dist/{chunk-VS7AHPCZ.js.map → chunk-R33SBMB7.js.map} +0 -0
  694. /package/dist/{chunk-KCBMFSMS.js.map → chunk-R4JA5JFI.js.map} +0 -0
  695. /package/dist/{chunk-HC4JFZVU.js.map → chunk-R5QAL43H.js.map} +0 -0
  696. /package/dist/{chunk-QPSGCC5D.js.map → chunk-RGR57NYY.js.map} +0 -0
  697. /package/dist/{chunk-XWFAMUZQ.js.map → chunk-RHXYO4H2.js.map} +0 -0
  698. /package/dist/{chunk-Y4BB2KS2.js.map → chunk-RISUROBM.js.map} +0 -0
  699. /package/dist/{chunk-U3DN4HEY.js.map → chunk-RMCLFSMX.js.map} +0 -0
  700. /package/dist/{chunk-YK7756IF.js.map → chunk-RTZANSSC.js.map} +0 -0
  701. /package/dist/{chunk-ZEG4VPBL.js.map → chunk-S27VZ5DO.js.map} +0 -0
  702. /package/dist/{chunk-54YW6SZZ.js.map → chunk-SBXSKRFA.js.map} +0 -0
  703. /package/dist/{chunk-HAX4LCR5.js.map → chunk-SFIXTOOJ.js.map} +0 -0
  704. /package/dist/{chunk-QIOQ2NPQ.js.map → chunk-SGH7I7OY.js.map} +0 -0
  705. /package/dist/{chunk-K2A5PXQ5.js.map → chunk-SJYTQLN3.js.map} +0 -0
  706. /package/dist/{chunk-2Z3NQNTM.js.map → chunk-SK5S2PCK.js.map} +0 -0
  707. /package/dist/{chunk-X3MWB2QU.js.map → chunk-SN2WENRP.js.map} +0 -0
  708. /package/dist/{chunk-OSY5K7L7.js.map → chunk-SP44O3OU.js.map} +0 -0
  709. /package/dist/{chunk-OZCBM3UC.js.map → chunk-SSR4ZX52.js.map} +0 -0
  710. /package/dist/{chunk-QCSJ4CWE.js.map → chunk-SXGJL7UT.js.map} +0 -0
  711. /package/dist/{chunk-NC55IFN3.js.map → chunk-T67LTMSW.js.map} +0 -0
  712. /package/dist/{chunk-AXHZYXUV.js.map → chunk-TDTD66BK.js.map} +0 -0
  713. /package/dist/{chunk-NGJJJPZZ.js.map → chunk-TK5FWVZR.js.map} +0 -0
  714. /package/dist/{chunk-2OP6WLGV.js.map → chunk-TNSJFZ6Q.js.map} +0 -0
  715. /package/dist/{chunk-O732GAFC.js.map → chunk-U4LTPFD2.js.map} +0 -0
  716. /package/dist/{chunk-4DVNUCRR.js.map → chunk-U5UGM5XD.js.map} +0 -0
  717. /package/dist/{chunk-UJK53QFL.js.map → chunk-UBRQ3PQD.js.map} +0 -0
  718. /package/dist/{chunk-SODC7T6L.js.map → chunk-UMX6DZME.js.map} +0 -0
  719. /package/dist/{chunk-YLS6QE5G.js.map → chunk-UO35OEOX.js.map} +0 -0
  720. /package/dist/{chunk-SHHJCL7X.js.map → chunk-UTRNLNCW.js.map} +0 -0
  721. /package/dist/{chunk-HEFPPMBQ.js.map → chunk-UU5FBVRX.js.map} +0 -0
  722. /package/dist/{chunk-GQXZPKK7.js.map → chunk-V6UOVHW3.js.map} +0 -0
  723. /package/dist/{chunk-GVN5SZLX.js.map → chunk-VATYK3JQ.js.map} +0 -0
  724. /package/dist/{chunk-7TIX2UAR.js.map → chunk-VCJQQYRE.js.map} +0 -0
  725. /package/dist/{chunk-6WD2INST.js.map → chunk-WDASYY4S.js.map} +0 -0
  726. /package/dist/{chunk-DXBYWSL5.js.map → chunk-WIFDNUKD.js.map} +0 -0
  727. /package/dist/{chunk-RT7CJMER.js.map → chunk-WIXHUBQN.js.map} +0 -0
  728. /package/dist/{chunk-57AZS3IE.js.map → chunk-WRMUXZ7C.js.map} +0 -0
  729. /package/dist/{chunk-2CLNIEK4.js.map → chunk-WTSQUCHB.js.map} +0 -0
  730. /package/dist/{chunk-OVKYVZMW.js.map → chunk-WXF2RTS4.js.map} +0 -0
  731. /package/dist/{chunk-MIHN76LX.js.map → chunk-WYGTAQMX.js.map} +0 -0
  732. /package/dist/{chunk-2RG7NIAS.js.map → chunk-X2QJXDE4.js.map} +0 -0
  733. /package/dist/{chunk-GAVYGBFI.js.map → chunk-XMBOLFFS.js.map} +0 -0
  734. /package/dist/{chunk-T7OXJZCX.js.map → chunk-XOIDUM2H.js.map} +0 -0
  735. /package/dist/{chunk-XHIQ5I6N.js.map → chunk-XVLEBB4Y.js.map} +0 -0
  736. /package/dist/{chunk-Q3DPEYX4.js.map → chunk-XZCCEKPW.js.map} +0 -0
  737. /package/dist/{chunk-T3OWFVMS.js.map → chunk-Y3XZEKDQ.js.map} +0 -0
  738. /package/dist/{chunk-KODELWYT.js.map → chunk-YJSCLGAW.js.map} +0 -0
  739. /package/dist/{chunk-ROKQU7WG.js.map → chunk-YMI27QPF.js.map} +0 -0
  740. /package/dist/{chunk-U7XM7CB4.js.map → chunk-YNTLWCF4.js.map} +0 -0
  741. /package/dist/{chunk-ZQCND77P.js.map → chunk-YRYF76OE.js.map} +0 -0
  742. /package/dist/{chunk-2BDT3UZQ.js.map → chunk-ZAX4XQLN.js.map} +0 -0
  743. /package/dist/{chunk-DXR5PDFP.js.map → chunk-ZBHGNE2J.js.map} +0 -0
  744. /package/dist/{chunk-I7ITSXSJ.js.map → chunk-ZR5EKJT6.js.map} +0 -0
  745. /package/dist/{chunk-IZXHMZQ6.js.map → chunk-ZW5YTIH3.js.map} +0 -0
  746. /package/dist/{embedded-new-voice-2G3VLPVQ.js.map → computer-viewer-5LKRCEVQ.js.map} +0 -0
  747. /package/dist/{embedded-voice-T5IWOWGD.js.map → embedded-new-voice-GHJRY3YL.js.map} +0 -0
  748. /package/dist/{model-policy-picker-menu-SMC6J6QN.js.map → embedded-voice-ASQXBSTX.js.map} +0 -0
  749. /package/dist/{fleet-decision-row-WM64KXP3.js.map → fleet-decision-row-U7LDVBEM.js.map} +0 -0
  750. /package/dist/{latest-question-OX56OVQ5.js.map → latest-question-RNVF262Q.js.map} +0 -0
  751. /package/dist/{sandbox-files-ESDMOFSD.js.map → model-policy-picker-menu-E6XKMFTA.js.map} +0 -0
  752. /package/dist/{queue-surface-implementation-4KUZ4PJV.js.map → queue-surface-implementation-GUAIG6TK.js.map} +0 -0
  753. /package/dist/{recorder-host-WF2RRR56.js.map → recorder-host-2MYDJPQW.js.map} +0 -0
  754. /package/dist/{session-connect-cards-Q53KMMYY.js.map → sandbox-files-W5W2LW4K.js.map} +0 -0
  755. /package/dist/{session-realtime-CF3I35WJ.js.map → session-connect-cards-HPH7JOZP.js.map} +0 -0
  756. /package/dist/{timeline-annotation-markers-CJK4RYZ4.js.map → timeline-annotation-markers-FNILLWNU.js.map} +0 -0
  757. /package/dist/{timeline-annotation-selection-67GF5H26.js.map → timeline-annotation-selection-MBCIDO2Q.js.map} +0 -0
  758. /package/dist/{timeline-annotations-dialog-ONJPQDJQ.js.map → timeline-annotations-dialog-JPNKLOTE.js.map} +0 -0
@@ -1,24 +1,24 @@
1
1
  "use client";
2
2
  import {
3
3
  ConsoleNewConversation
4
- } from "../../../chunk-DZXEDSQI.js";
4
+ } from "../../../chunk-CEMSIU4Z.js";
5
5
  import "../../../chunk-CMH22OQY.js";
6
- import "../../../chunk-F2OPHAUN.js";
7
- import "../../../chunk-7W37NS3I.js";
8
- import "../../../chunk-NC7PVOEK.js";
9
- import "../../../chunk-T2QX3FDP.js";
10
- import "../../../chunk-RLBKLAEY.js";
6
+ import "../../../chunk-CYDXCILL.js";
7
+ import "../../../chunk-HWVPLFIW.js";
8
+ import "../../../chunk-D74Z2N4K.js";
9
+ import "../../../chunk-DWJ6J3YW.js";
10
+ import "../../../chunk-PVB4YVDP.js";
11
11
  import "../../../chunk-2DVTNHTC.js";
12
12
  import "../../../chunk-OF22GYK5.js";
13
13
  import "../../../chunk-XIQPI2NM.js";
14
14
  import "../../../chunk-GOXSTJPA.js";
15
- import "../../../chunk-YSJEAAOL.js";
15
+ import "../../../chunk-4F3AEJI6.js";
16
16
  import "../../../chunk-BKUGE4JJ.js";
17
- import "../../../chunk-GKVJIDHF.js";
17
+ import "../../../chunk-KFNZZ2N6.js";
18
18
  import "../../../chunk-TFD6JXHN.js";
19
19
  import "../../../chunk-CNFFCVGH.js";
20
- import "../../../chunk-T3OWFVMS.js";
21
- import "../../../chunk-HSOXMJOT.js";
20
+ import "../../../chunk-Y3XZEKDQ.js";
21
+ import "../../../chunk-HEGV4QMS.js";
22
22
  import "../../../chunk-ZPW5NFYD.js";
23
23
  import "../../../chunk-LBSXJVHD.js";
24
24
  import "../../../chunk-BXBDYNRP.js";
@@ -29,7 +29,7 @@ import "../../../chunk-QZKQMEIH.js";
29
29
  import "../../../chunk-O4EA4F3W.js";
30
30
  import "../../../chunk-JDFDPMKX.js";
31
31
  import "../../../chunk-SS4QT7SL.js";
32
- import "../../../chunk-3IK6UYO6.js";
32
+ import "../../../chunk-OTW25A6I.js";
33
33
  import "../../../chunk-A3MTTRCX.js";
34
34
  import "../../../chunk-X6WZOHBI.js";
35
35
  import "../../../chunk-GM3LG6BG.js";
@@ -40,81 +40,80 @@ import "../../../chunk-UX3XHFRX.js";
40
40
  import "../../../chunk-A3KMTJZS.js";
41
41
  import "../../../chunk-V4Z4B2E3.js";
42
42
  import "../../../chunk-FYWT2O76.js";
43
- import "../../../chunk-TXLIEOJX.js";
43
+ import "../../../chunk-PSM3CU7N.js";
44
44
  import "../../../chunk-22GTC4MZ.js";
45
- import "../../../chunk-OV6QJRT4.js";
46
- import "../../../chunk-5QAY6K77.js";
45
+ import "../../../chunk-H6BX6WOW.js";
46
+ import "../../../chunk-TDTD66BK.js";
47
+ import "../../../chunk-QRECBCJM.js";
48
+ import "../../../chunk-AB5IW227.js";
47
49
  import "../../../chunk-KDQAWRYZ.js";
48
- import "../../../chunk-AXHZYXUV.js";
49
- import "../../../chunk-JKHKLL5W.js";
50
- import "../../../chunk-5IE76VCY.js";
51
- import "../../../chunk-NPGISCU6.js";
50
+ import "../../../chunk-752WXSDN.js";
51
+ import "../../../chunk-OWET7EY2.js";
52
52
  import "../../../chunk-B27E3V37.js";
53
53
  import "../../../chunk-EAG6A27Q.js";
54
54
  import "../../../chunk-E22RIUEL.js";
55
- import "../../../chunk-5O2FCCHZ.js";
56
- import "../../../chunk-IFB3WJ36.js";
57
- import "../../../chunk-2I7HDP53.js";
55
+ import "../../../chunk-6QK65ZWM.js";
56
+ import "../../../chunk-7YTR3UFO.js";
57
+ import "../../../chunk-MT2R57SF.js";
58
58
  import "../../../chunk-4U7SHFQ2.js";
59
- import "../../../chunk-J3DY5HWQ.js";
60
- import "../../../chunk-IZXHMZQ6.js";
59
+ import "../../../chunk-M5IQVMLR.js";
60
+ import "../../../chunk-ZW5YTIH3.js";
61
61
  import "../../../chunk-LJUMYUBO.js";
62
62
  import "../../../chunk-7N5AD2TC.js";
63
- import "../../../chunk-JZ4NLCAP.js";
63
+ import "../../../chunk-MZY3VKKM.js";
64
64
  import "../../../chunk-WZGWXXO3.js";
65
65
  import "../../../chunk-QI4HY64V.js";
66
66
  import "../../../chunk-OSLAAXKW.js";
67
67
  import "../../../chunk-VNJK7X2B.js";
68
68
  import "../../../chunk-USG4XNMA.js";
69
69
  import "../../../chunk-TZIACM2P.js";
70
- import "../../../chunk-DF5EAHDN.js";
70
+ import "../../../chunk-FLWQJDJ5.js";
71
71
  import "../../../chunk-EMIVOS73.js";
72
72
  import "../../../chunk-YUNVW3I2.js";
73
73
  import "../../../chunk-JWKGPA6Q.js";
74
74
  import "../../../chunk-VXORMNU4.js";
75
- import "../../../chunk-4YCA2Y73.js";
75
+ import "../../../chunk-PF2WU2IL.js";
76
76
  import "../../../chunk-XZAQHWOB.js";
77
77
  import "../../../chunk-I6FIXEL4.js";
78
78
  import "../../../chunk-X62OJCQW.js";
79
79
  import "../../../chunk-IWUGGOXA.js";
80
80
  import "../../../chunk-57MB2QGY.js";
81
- import "../../../chunk-XXSOHN35.js";
81
+ import "../../../chunk-5FLYHX5R.js";
82
82
  import "../../../chunk-D4GJ52OS.js";
83
83
  import "../../../chunk-TXCGPEWC.js";
84
84
  import "../../../chunk-C5ZCSVZ7.js";
85
85
  import "../../../chunk-TSENLSW6.js";
86
- import "../../../chunk-VBUVBHFJ.js";
87
- import "../../../chunk-JEA3QDX7.js";
86
+ import "../../../chunk-EKJHOWTZ.js";
88
87
  import "../../../chunk-OCN4S7WN.js";
89
- import "../../../chunk-6DVCC7QS.js";
88
+ import "../../../chunk-OBGOLHCP.js";
90
89
  import "../../../chunk-RZLBICR5.js";
91
90
  import "../../../chunk-5XXRHX3V.js";
92
- import "../../../chunk-KYS77RPN.js";
91
+ import "../../../chunk-LPKJ77EK.js";
93
92
  import "../../../chunk-YM45PLD6.js";
94
93
  import "../../../chunk-UNI2IXRC.js";
95
94
  import "../../../chunk-MK2TQO4Y.js";
96
95
  import "../../../chunk-XESA3B7W.js";
97
96
  import "../../../chunk-W4F72GU3.js";
98
97
  import "../../../chunk-UNJPZGNK.js";
99
- import "../../../chunk-CUIWCGMA.js";
100
- import "../../../chunk-3SOIESJM.js";
101
- import "../../../chunk-4NQHXYMW.js";
98
+ import "../../../chunk-OCXEY7HE.js";
99
+ import "../../../chunk-EWZ2RLNG.js";
100
+ import "../../../chunk-PD7NWM7V.js";
102
101
  import "../../../chunk-VDPUG6LH.js";
103
102
  import "../../../chunk-NPNX7LTL.js";
104
103
  import "../../../chunk-IGVL3ELX.js";
105
104
  import "../../../chunk-PEHTX3V7.js";
106
- import "../../../chunk-2CLNIEK4.js";
107
- import "../../../chunk-2RG7NIAS.js";
108
- import "../../../chunk-3IWPC6O3.js";
105
+ import "../../../chunk-WTSQUCHB.js";
106
+ import "../../../chunk-X2QJXDE4.js";
109
107
  import "../../../chunk-SVKPSCTH.js";
110
- import "../../../chunk-DGMR6JEJ.js";
111
- import "../../../chunk-SODC7T6L.js";
112
- import "../../../chunk-MIHN76LX.js";
108
+ import "../../../chunk-3IWPC6O3.js";
109
+ import "../../../chunk-J4XSTXZP.js";
110
+ import "../../../chunk-UMX6DZME.js";
111
+ import "../../../chunk-WYGTAQMX.js";
113
112
  import "../../../chunk-6IWKHHRS.js";
114
- import "../../../chunk-XHIQ5I6N.js";
113
+ import "../../../chunk-XVLEBB4Y.js";
115
114
  import "../../../chunk-7QQN3KNP.js";
116
115
  import "../../../chunk-6F34IWSA.js";
117
- import "../../../chunk-XLH7QY2R.js";
116
+ import "../../../chunk-2J77TWGH.js";
118
117
  import "../../../chunk-PNNTR6KP.js";
119
118
  import "../../../chunk-WJPMYXKZ.js";
120
119
  import "../../../chunk-VYT4POBH.js";
@@ -124,7 +123,7 @@ import "../../../chunk-UD6AAZSC.js";
124
123
  import "../../../chunk-XEA5BCMA.js";
125
124
  import "../../../chunk-RV3O5OCQ.js";
126
125
  import "../../../chunk-CM7LVUKC.js";
127
- import "../../../chunk-5MOJZORA.js";
126
+ import "../../../chunk-2EA4IRIP.js";
128
127
  import "../../../chunk-AZGAUBKR.js";
129
128
  import "../../../chunk-OONTDHBV.js";
130
129
  import "../../../chunk-YSRBFJMQ.js";
@@ -134,7 +133,7 @@ import "../../../chunk-AMHRWKKH.js";
134
133
  import "../../../chunk-ZHC47M2B.js";
135
134
  import "../../../chunk-MBSN5HHQ.js";
136
135
  import "../../../chunk-TXS65BB2.js";
137
- import "../../../chunk-7T2ZE3VT.js";
136
+ import "../../../chunk-QPQ7R77C.js";
138
137
  export {
139
138
  ConsoleNewConversation
140
139
  };
@@ -6,7 +6,7 @@ import {
6
6
  subSessionsNeedYouLabel
7
7
  } from "../../../chunk-U6552Q3T.js";
8
8
  import "../../../chunk-UBJWSGD4.js";
9
- import "../../../chunk-FPXASDG5.js";
9
+ import "../../../chunk-D5TIVCXG.js";
10
10
  import {
11
11
  Link
12
12
  } from "../../../chunk-BXBDYNRP.js";
@@ -25,40 +25,40 @@ import {
25
25
  } from "../../../chunk-O4OOG3D6.js";
26
26
  import {
27
27
  sessionDisplayTitle
28
- } from "../../../chunk-3PZ7JZI2.js";
28
+ } from "../../../chunk-D3PTVN2I.js";
29
29
  import "../../../chunk-MO5HRAMC.js";
30
- import "../../../chunk-QZAAUQRN.js";
30
+ import "../../../chunk-Q5EZNBPI.js";
31
31
  import "../../../chunk-FSOQDUCG.js";
32
32
  import "../../../chunk-V4Z4B2E3.js";
33
33
  import "../../../chunk-FYWT2O76.js";
34
- import "../../../chunk-J5F5HPPW.js";
35
- import "../../../chunk-Q3DPEYX4.js";
36
- import "../../../chunk-YWVI6ZMK.js";
34
+ import "../../../chunk-4BWMAGJJ.js";
35
+ import "../../../chunk-XZCCEKPW.js";
36
+ import "../../../chunk-5MIBQ4P5.js";
37
37
  import "../../../chunk-J335IP56.js";
38
38
  import {
39
39
  ApprovalSurface,
40
40
  HumanInputSurface
41
- } from "../../../chunk-TXLIEOJX.js";
41
+ } from "../../../chunk-PSM3CU7N.js";
42
42
  import "../../../chunk-22GTC4MZ.js";
43
- import "../../../chunk-OV6QJRT4.js";
44
- import "../../../chunk-5QAY6K77.js";
43
+ import "../../../chunk-H6BX6WOW.js";
44
+ import "../../../chunk-TDTD66BK.js";
45
+ import "../../../chunk-QRECBCJM.js";
46
+ import "../../../chunk-AB5IW227.js";
45
47
  import "../../../chunk-KDQAWRYZ.js";
46
- import "../../../chunk-AXHZYXUV.js";
47
- import "../../../chunk-JKHKLL5W.js";
48
- import "../../../chunk-5IE76VCY.js";
49
- import "../../../chunk-NPGISCU6.js";
48
+ import "../../../chunk-752WXSDN.js";
49
+ import "../../../chunk-OWET7EY2.js";
50
50
  import "../../../chunk-B27E3V37.js";
51
51
  import "../../../chunk-EAG6A27Q.js";
52
52
  import "../../../chunk-E22RIUEL.js";
53
- import "../../../chunk-5O2FCCHZ.js";
54
- import "../../../chunk-IFB3WJ36.js";
55
- import "../../../chunk-2I7HDP53.js";
53
+ import "../../../chunk-6QK65ZWM.js";
54
+ import "../../../chunk-7YTR3UFO.js";
55
+ import "../../../chunk-MT2R57SF.js";
56
56
  import "../../../chunk-4U7SHFQ2.js";
57
- import "../../../chunk-J3DY5HWQ.js";
58
- import "../../../chunk-IZXHMZQ6.js";
57
+ import "../../../chunk-M5IQVMLR.js";
58
+ import "../../../chunk-ZW5YTIH3.js";
59
59
  import "../../../chunk-LJUMYUBO.js";
60
60
  import "../../../chunk-7N5AD2TC.js";
61
- import "../../../chunk-JZ4NLCAP.js";
61
+ import "../../../chunk-MZY3VKKM.js";
62
62
  import "../../../chunk-WZGWXXO3.js";
63
63
  import "../../../chunk-QI4HY64V.js";
64
64
  import "../../../chunk-OSLAAXKW.js";
@@ -67,12 +67,12 @@ import "../../../chunk-USG4XNMA.js";
67
67
  import "../../../chunk-TZIACM2P.js";
68
68
  import {
69
69
  useHumanInputRequests
70
- } from "../../../chunk-DF5EAHDN.js";
70
+ } from "../../../chunk-FLWQJDJ5.js";
71
71
  import "../../../chunk-EMIVOS73.js";
72
72
  import "../../../chunk-YUNVW3I2.js";
73
73
  import "../../../chunk-JWKGPA6Q.js";
74
74
  import "../../../chunk-VXORMNU4.js";
75
- import "../../../chunk-4YCA2Y73.js";
75
+ import "../../../chunk-PF2WU2IL.js";
76
76
  import {
77
77
  delegatedHumanInputRequestIds,
78
78
  humanInputDelegationMessage
@@ -81,46 +81,45 @@ import "../../../chunk-I6FIXEL4.js";
81
81
  import "../../../chunk-X62OJCQW.js";
82
82
  import "../../../chunk-IWUGGOXA.js";
83
83
  import "../../../chunk-57MB2QGY.js";
84
- import "../../../chunk-XXSOHN35.js";
84
+ import "../../../chunk-5FLYHX5R.js";
85
85
  import "../../../chunk-D4GJ52OS.js";
86
86
  import "../../../chunk-TXCGPEWC.js";
87
87
  import "../../../chunk-C5ZCSVZ7.js";
88
88
  import "../../../chunk-TSENLSW6.js";
89
- import "../../../chunk-VBUVBHFJ.js";
90
- import "../../../chunk-JEA3QDX7.js";
89
+ import "../../../chunk-EKJHOWTZ.js";
91
90
  import "../../../chunk-OCN4S7WN.js";
92
- import "../../../chunk-6DVCC7QS.js";
91
+ import "../../../chunk-OBGOLHCP.js";
93
92
  import "../../../chunk-RZLBICR5.js";
94
93
  import "../../../chunk-5XXRHX3V.js";
95
- import "../../../chunk-KYS77RPN.js";
94
+ import "../../../chunk-LPKJ77EK.js";
96
95
  import "../../../chunk-YM45PLD6.js";
97
96
  import "../../../chunk-UNI2IXRC.js";
98
97
  import "../../../chunk-MK2TQO4Y.js";
99
98
  import "../../../chunk-XESA3B7W.js";
100
99
  import "../../../chunk-W4F72GU3.js";
101
100
  import "../../../chunk-UNJPZGNK.js";
102
- import "../../../chunk-CUIWCGMA.js";
103
- import "../../../chunk-3SOIESJM.js";
104
- import "../../../chunk-4NQHXYMW.js";
101
+ import "../../../chunk-OCXEY7HE.js";
102
+ import "../../../chunk-EWZ2RLNG.js";
103
+ import "../../../chunk-PD7NWM7V.js";
105
104
  import "../../../chunk-VDPUG6LH.js";
106
105
  import "../../../chunk-NPNX7LTL.js";
107
106
  import "../../../chunk-IGVL3ELX.js";
108
107
  import "../../../chunk-PEHTX3V7.js";
109
108
  import "../../../chunk-ZY2Z2IU3.js";
110
- import "../../../chunk-2M3J7ZWQ.js";
111
- import "../../../chunk-2RG7NIAS.js";
112
- import "../../../chunk-3IWPC6O3.js";
109
+ import "../../../chunk-467WDSOK.js";
110
+ import "../../../chunk-X2QJXDE4.js";
113
111
  import "../../../chunk-SVKPSCTH.js";
114
- import "../../../chunk-DGMR6JEJ.js";
115
- import "../../../chunk-SODC7T6L.js";
116
- import "../../../chunk-MIHN76LX.js";
112
+ import "../../../chunk-3IWPC6O3.js";
113
+ import "../../../chunk-J4XSTXZP.js";
114
+ import "../../../chunk-UMX6DZME.js";
115
+ import "../../../chunk-WYGTAQMX.js";
117
116
  import "../../../chunk-6IWKHHRS.js";
118
- import "../../../chunk-XHIQ5I6N.js";
117
+ import "../../../chunk-XVLEBB4Y.js";
119
118
  import {
120
119
  buttonVariants
121
120
  } from "../../../chunk-7QQN3KNP.js";
122
121
  import "../../../chunk-6F34IWSA.js";
123
- import "../../../chunk-XLH7QY2R.js";
122
+ import "../../../chunk-2J77TWGH.js";
124
123
  import "../../../chunk-PNNTR6KP.js";
125
124
  import "../../../chunk-WJPMYXKZ.js";
126
125
  import "../../../chunk-VYT4POBH.js";
@@ -132,7 +131,7 @@ import {
132
131
  usePolledValue
133
132
  } from "../../../chunk-RV3O5OCQ.js";
134
133
  import "../../../chunk-CM7LVUKC.js";
135
- import "../../../chunk-5MOJZORA.js";
134
+ import "../../../chunk-2EA4IRIP.js";
136
135
  import "../../../chunk-AZGAUBKR.js";
137
136
  import "../../../chunk-OONTDHBV.js";
138
137
  import "../../../chunk-YSRBFJMQ.js";
@@ -141,11 +140,11 @@ import "../../../chunk-TVQCDDSZ.js";
141
140
  import "../../../chunk-AMHRWKKH.js";
142
141
  import "../../../chunk-ZHC47M2B.js";
143
142
  import "../../../chunk-MBSN5HHQ.js";
144
- import "../../../chunk-PTF5B7TJ.js";
143
+ import "../../../chunk-G5UQBTXY.js";
145
144
  import "../../../chunk-TXS65BB2.js";
146
145
  import {
147
146
  useOpenGeniText
148
- } from "../../../chunk-7T2ZE3VT.js";
147
+ } from "../../../chunk-QPQ7R77C.js";
149
148
 
150
149
  // src/app/components/session/descendant-requests.tsx
151
150
  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,30 +1,30 @@
1
1
  "use client";
2
2
  import {
3
3
  ArtifactLibrary
4
- } from "../../../chunk-KUDGXAF7.js";
5
- import "../../../chunk-T6XI5FLY.js";
4
+ } from "../../../chunk-EBTUPRRQ.js";
6
5
  import "../../../chunk-KV6VVKG5.js";
7
6
  import "../../../chunk-UCILJJNC.js";
8
7
  import {
9
8
  EditableArtifactSurface,
10
9
  usePreloadAppSurface
11
10
  } from "../../../chunk-J255A3N5.js";
12
- import "../../../chunk-YCVD6CI3.js";
11
+ import "../../../chunk-IN3VQFKS.js";
12
+ import "../../../chunk-7ZNUHRP5.js";
13
+ import "../../../chunk-C2OWEUOD.js";
14
+ import "../../../chunk-VAUWRCUY.js";
15
+ import "../../../chunk-T6XI5FLY.js";
13
16
  import {
14
17
  CopyArtifactLinkButton
15
- } from "../../../chunk-JWB44UGJ.js";
16
- import "../../../chunk-7ZNUHRP5.js";
18
+ } from "../../../chunk-LIJPDVYP.js";
17
19
  import "../../../chunk-KZVRXEYR.js";
18
20
  import "../../../chunk-TDL3FD5U.js";
19
- import "../../../chunk-C2OWEUOD.js";
20
- import "../../../chunk-VAUWRCUY.js";
21
21
  import "../../../chunk-7NLCCKNJ.js";
22
22
  import {
23
23
  defaultArtifactFilters,
24
24
  filterArtifactCatalog
25
25
  } from "../../../chunk-DAD2474Q.js";
26
26
  import "../../../chunk-H6474TCK.js";
27
- import "../../../chunk-SC6RRD2D.js";
27
+ import "../../../chunk-ARTEEI2E.js";
28
28
  import "../../../chunk-VGYXW3VG.js";
29
29
  import {
30
30
  hasWorkspacePermission
@@ -43,23 +43,23 @@ import {
43
43
  } from "../../../chunk-JDFDPMKX.js";
44
44
  import "../../../chunk-SS4QT7SL.js";
45
45
  import "../../../chunk-SOJNW3HC.js";
46
- import "../../../chunk-54YW6SZZ.js";
46
+ import "../../../chunk-SBXSKRFA.js";
47
47
  import {
48
48
  cn
49
49
  } from "../../../chunk-A3MTTRCX.js";
50
50
  import "../../../chunk-RGBI63KJ.js";
51
51
  import "../../../chunk-SS3N75VI.js";
52
- import "../../../chunk-SIRLACNZ.js";
52
+ import "../../../chunk-KO3OHHY2.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
- import "../../../chunk-ZQCND77P.js";
57
+ import "../../../chunk-YRYF76OE.js";
58
58
  import "../../../chunk-O4OOG3D6.js";
59
59
  import "../../../chunk-K4DHWGCT.js";
60
60
  import "../../../chunk-HJO32O7Z.js";
61
- import "../../../chunk-HD5X76TP.js";
62
- import "../../../chunk-53AGXXZM.js";
61
+ import "../../../chunk-AQQT2FIC.js";
62
+ import "../../../chunk-MKDFYE2E.js";
63
63
  import "../../../chunk-YNF2OC54.js";
64
64
  import "../../../chunk-5OTQA7CM.js";
65
65
  import "../../../chunk-ZMBJPN4T.js";
@@ -69,21 +69,21 @@ import "../../../chunk-NRP4REXE.js";
69
69
  import "../../../chunk-FSOQDUCG.js";
70
70
  import "../../../chunk-V4Z4B2E3.js";
71
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";
72
+ import "../../../chunk-HTMQGS63.js";
73
+ import "../../../chunk-K4DQS2ML.js";
74
+ import "../../../chunk-WIFDNUKD.js";
75
+ import "../../../chunk-SN2WENRP.js";
76
+ import "../../../chunk-SGH7I7OY.js";
77
77
  import "../../../chunk-IGFZFLI2.js";
78
78
  import "../../../chunk-IOYHDEP3.js";
79
79
  import {
80
80
  useWorkspacePanelOwnsExpand
81
- } from "../../../chunk-LHPNABDH.js";
81
+ } from "../../../chunk-4JXPLTWV.js";
82
82
  import "../../../chunk-USG4XNMA.js";
83
83
  import "../../../chunk-SERRKZO4.js";
84
- import "../../../chunk-CUIWCGMA.js";
85
- import "../../../chunk-3SOIESJM.js";
86
- import "../../../chunk-4NQHXYMW.js";
84
+ import "../../../chunk-OCXEY7HE.js";
85
+ import "../../../chunk-EWZ2RLNG.js";
86
+ import "../../../chunk-PD7NWM7V.js";
87
87
  import "../../../chunk-VDPUG6LH.js";
88
88
  import "../../../chunk-NPNX7LTL.js";
89
89
  import "../../../chunk-IGVL3ELX.js";
@@ -94,17 +94,17 @@ import {
94
94
  import "../../../chunk-EDYVC3U3.js";
95
95
  import "../../../chunk-UD6AAZSC.js";
96
96
  import "../../../chunk-XEA5BCMA.js";
97
- import "../../../chunk-5MOJZORA.js";
97
+ import "../../../chunk-2EA4IRIP.js";
98
98
  import "../../../chunk-AZGAUBKR.js";
99
99
  import "../../../chunk-TVQCDDSZ.js";
100
- import "../../../chunk-57AZS3IE.js";
100
+ import "../../../chunk-WRMUXZ7C.js";
101
101
  import "../../../chunk-2DDJ6YH6.js";
102
- import "../../../chunk-7VMZGLYI.js";
102
+ import "../../../chunk-GTHCHCWW.js";
103
103
  import {
104
104
  ArtifactViewerHeader
105
- } from "../../../chunk-PTF5B7TJ.js";
105
+ } from "../../../chunk-G5UQBTXY.js";
106
106
  import "../../../chunk-TXS65BB2.js";
107
- import "../../../chunk-7T2ZE3VT.js";
107
+ import "../../../chunk-QPQ7R77C.js";
108
108
 
109
109
  // src/app/components/session/editable-artifacts-workspace.tsx
110
110
  import {