@opengeni/react 4.3.3-canary.39786771332001 → 4.5.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 (710) hide show
  1. package/dist/app/app-state.js +29 -29
  2. package/dist/app/components/Composer.js +27 -27
  3. package/dist/app/components/agent/agent-capability-picker.js +4 -4
  4. package/dist/app/components/artifacts/artifact-browse-controls.js +2 -2
  5. package/dist/app/components/artifacts/artifact-library.js +19 -19
  6. package/dist/app/components/artifacts/artifact-page-chrome.js +2 -2
  7. package/dist/app/components/artifacts/chat-interactive-block.js +16 -16
  8. package/dist/app/components/artifacts/inline-chat-image.js +31 -30
  9. package/dist/app/components/artifacts/retained-file-preview.js +35 -34
  10. package/dist/app/components/artifacts/retained-text-preview.js +5 -5
  11. package/dist/app/components/artifacts/site-audience.js +4 -4
  12. package/dist/app/components/artifacts/site-conversations.js +22 -21
  13. package/dist/app/components/artifacts/site-data.js +19 -19
  14. package/dist/app/components/artifacts/site-publishing.js +41 -41
  15. package/dist/app/components/artifacts/site-settings.js +50 -50
  16. package/dist/app/components/billing-class-mark.js +5 -5
  17. package/dist/app/components/capabilities/capability-detail-sheet.js +9 -9
  18. package/dist/app/components/capabilities/capability-logo-source.js +12 -12
  19. package/dist/app/components/capabilities/connector-tool-permissions.js +3 -3
  20. package/dist/app/components/capabilities/native-connect-setup.js +14 -14
  21. package/dist/app/components/capabilities/perform-capability-action.js +1 -1
  22. package/dist/app/components/capabilities/prepared-mcp-setup-card.js +16 -16
  23. package/dist/app/components/capabilities/session-capability-card.js +94 -76
  24. package/dist/app/components/capabilities/session-capability-card.js.map +1 -1
  25. package/dist/app/components/capabilities/session-chrome-card.css +1023 -0
  26. package/dist/app/components/capabilities/session-chrome-card.css.map +1 -0
  27. package/dist/app/components/capabilities/session-chrome-card.d.ts +18 -0
  28. package/dist/app/components/capabilities/session-chrome-card.js +72 -0
  29. package/dist/app/components/capabilities/session-custom-mcp-card.js +20 -20
  30. package/dist/app/components/capabilities/session-github-card.js +24 -24
  31. package/dist/app/components/capabilities/session-machine-card.d.ts +27 -1
  32. package/dist/app/components/capabilities/session-machine-card.js +40 -36
  33. package/dist/app/components/capabilities/use-capabilities-catalog.js +3 -3
  34. package/dist/app/components/capabilities/use-connection-accounts.js +1 -1
  35. package/dist/app/components/command-menu/chat-status.js +18 -17
  36. package/dist/app/components/command-menu/chat-switcher.js +19 -18
  37. package/dist/app/components/command-menu/chat-switcher.js.map +1 -1
  38. package/dist/app/components/command-menu/command-menu.js +36 -114
  39. package/dist/app/components/command-menu/command-menu.js.map +1 -1
  40. package/dist/app/components/command-menu/shortcut-sheet.js +17 -17
  41. package/dist/app/components/composer-capabilities-menu-body.js +3 -3
  42. package/dist/app/components/composer-mobile-plus-panel.js +20 -20
  43. package/dist/app/components/composer-mobile-plus.js +1 -1
  44. package/dist/app/components/credit-required-gate.js +1 -1
  45. package/dist/app/components/credit-required-prompt.js +12 -12
  46. package/dist/app/components/credits/coupon-redeem.js +2 -2
  47. package/dist/app/components/credits/credit-refusal-notice.js +2 -2
  48. package/dist/app/components/desktop/app-shots.js +7 -7
  49. package/dist/app/components/desktop/this-computer.js +4 -4
  50. package/dist/app/components/feedback.js +4 -4
  51. package/dist/app/components/follow-up-repository-menu-body.js +5 -5
  52. package/dist/app/components/follow-up-repository-picker.js +1 -1
  53. package/dist/app/components/github-app-connect-launcher.js +2 -2
  54. package/dist/app/components/in-app-help-link.js +2 -2
  55. package/dist/app/components/knowledge/agent-learning-settings.js +3 -3
  56. package/dist/app/components/machines/connect-machine-dialog.js +18 -18
  57. package/dist/app/components/markdown.js +9 -9
  58. package/dist/app/components/message-context-pills.js +2 -2
  59. package/dist/app/components/models/models-ui.js +8 -8
  60. package/dist/app/components/new-session-starters.js +2 -2
  61. package/dist/app/components/pickers.js +9 -9
  62. package/dist/app/components/rail/rail-context.js +2 -2
  63. package/dist/app/components/rail/rail-sections.js +69 -66
  64. package/dist/app/components/rail/session-header.js +49 -48
  65. package/dist/app/components/rail/session-list.js +68 -65
  66. package/dist/app/components/rail/session-row-content.d.ts +6 -2
  67. package/dist/app/components/rail/session-row-content.js +1 -1
  68. package/dist/app/components/rail/session-row-hover-details.js +24 -23
  69. package/dist/app/components/rail/session-shell.js +107 -104
  70. package/dist/app/components/rail/site-session-group-heading.d.ts +7 -1
  71. package/dist/app/components/rail/site-session-group-heading.js +20 -3
  72. package/dist/app/components/repository-picker.js +5 -5
  73. package/dist/app/components/secrets/session-secrets-panel.js +3 -3
  74. package/dist/app/components/session/agent-configuration-panel.js +38 -38
  75. package/dist/app/components/session/artifact-link-boundary.js +2 -2
  76. package/dist/app/components/session/artifact-session-page.js +4 -4
  77. package/dist/app/components/session/banners.js +11 -11
  78. package/dist/app/components/session/codex-account-indicator.js +12 -12
  79. package/dist/app/components/session/editable-artifacts-workspace.js +45 -45
  80. package/dist/app/components/session/failed-session-banner.js +11 -11
  81. package/dist/app/components/session/human-input.js +59 -55
  82. package/dist/app/components/session/inspector.js +91 -87
  83. package/dist/app/components/session/inspector.js.map +1 -1
  84. package/dist/app/components/session/message-actions.js +4 -4
  85. package/dist/app/components/session/message-resource-attachments.js +21 -20
  86. package/dist/app/components/session/message-resource-attachments.js.map +1 -1
  87. package/dist/app/components/session/model-account-indicator.js +11 -11
  88. package/dist/app/components/session/model-context-inspector.js +2 -2
  89. package/dist/app/components/session/model-recovery-notice.js +3 -3
  90. package/dist/app/components/session/new-session-settings-menu.js +12 -12
  91. package/dist/app/components/session/sandbox-switcher.js +16 -16
  92. package/dist/app/components/session/sandbox-workspace.js +83 -79
  93. package/dist/app/components/session/search-markdown-highlight.js +10 -10
  94. package/dist/app/components/session/search-results-view.js +11 -11
  95. package/dist/app/components/session/session-admin-access.js +9 -9
  96. package/dist/app/components/session/session-admission-notice.js +6 -6
  97. package/dist/app/components/session/session-machine-access-notice.js +6 -6
  98. package/dist/app/components/session/session-retention.js +4 -4
  99. package/dist/app/components/session/session-search-dialog.js +12 -12
  100. package/dist/app/components/session/session-skill-reviews.js +1 -1
  101. package/dist/app/components/session/session-tenancy-control.d.ts +2 -0
  102. package/dist/app/components/session/session-tenancy-control.js +41 -26
  103. package/dist/app/components/session/session-tenancy-control.js.map +1 -1
  104. package/dist/app/components/session/session-usage-limit-section.js +11 -11
  105. package/dist/app/components/session/session-wait-status.js +10 -9
  106. package/dist/app/components/session/session-wait-status.js.map +1 -1
  107. package/dist/app/components/session/site-origin-link.d.ts +1 -0
  108. package/dist/app/components/session/site-origin-link.js +2 -2
  109. package/dist/app/components/session/subagents.js +17 -16
  110. package/dist/app/components/session-connectors-menu-body.js +5 -5
  111. package/dist/app/components/settings/row-select.js +1 -1
  112. package/dist/app/components/transcription-settings.js +2 -2
  113. package/dist/app/components/ui/destructive-confirm.js +6 -6
  114. package/dist/app/components/usage/usage-entry.js +8 -8
  115. package/dist/app/components/workspace-composer-plus.js +22 -22
  116. package/dist/app/embed/memory-navigation.js +2 -2
  117. package/dist/app/embed/session-app.js +275 -269
  118. package/dist/app/lib/actions/actions-provider.js +14 -14
  119. package/dist/app/lib/actions/held-modifier.d.ts +11 -0
  120. package/dist/app/lib/app-surfaces.js +2 -2
  121. package/dist/app/lib/codex-usage-query.js +6 -6
  122. package/dist/app/lib/composer-connectors.js +13 -13
  123. package/dist/app/lib/console-site.d.ts +6 -0
  124. package/dist/app/lib/console-site.js +14 -0
  125. package/dist/app/lib/console-text.js +2 -2
  126. package/dist/app/lib/events.js +18 -17
  127. package/dist/app/lib/failed-session-copy.js +3 -3
  128. package/dist/app/lib/model-access-onboarding.js +3 -3
  129. package/dist/app/lib/move-chat-to-machine.js +3 -3
  130. package/dist/app/lib/navigation.d.ts +5 -0
  131. package/dist/app/lib/navigation.js +1 -1
  132. package/dist/app/lib/routes.d.ts +17 -0
  133. package/dist/app/lib/routes.js +9 -3
  134. package/dist/app/lib/session-branch-cache.js +14 -13
  135. package/dist/app/lib/session-create.js +2 -2
  136. package/dist/app/lib/session-deep-link.js +2 -2
  137. package/dist/app/lib/session-failure-toasts.d.ts +8 -0
  138. package/dist/app/lib/session-group-pagination.js +14 -13
  139. package/dist/app/lib/session-hover-facts.js +15 -14
  140. package/dist/app/lib/session-model.js +3 -3
  141. package/dist/app/lib/session-rail.js +10 -9
  142. package/dist/app/lib/session-rename.js +3 -3
  143. package/dist/app/lib/session-ui-features.d.ts +6 -1
  144. package/dist/app/lib/session-ui-features.js +1 -1
  145. package/dist/app/lib/sessions-group.d.ts +43 -3
  146. package/dist/app/lib/sessions-group.js +22 -15
  147. package/dist/app/lib/shared-query.js +3 -3
  148. package/dist/app/lib/site-opened.d.ts +6 -0
  149. package/dist/app/lib/site-opened.js +10 -0
  150. package/dist/app/lib/turn-failure-analytics.js +5 -5
  151. package/dist/app/lib/use-duplicate-site.js +3 -3
  152. package/dist/app/lib/use-follow-up-repositories.js +4 -4
  153. package/dist/app/lib/use-session-list-hint-refresh.d.ts +20 -2
  154. package/dist/app/lib/use-session-list-hint-refresh.js +5 -1
  155. package/dist/app/lib/use-workspace-machines.js +6 -6
  156. package/dist/app/lib/use-workspace-model-catalog.js +8 -8
  157. package/dist/app/lib/use-workspace-rigs.js +8 -8
  158. package/dist/app/lib/workspace-navigation-preference.js +5 -5
  159. package/dist/app/lib/workspace-scope-context.js +4 -4
  160. package/dist/app/routes/artifacts.js +136 -153
  161. package/dist/app/routes/artifacts.js.map +1 -1
  162. package/dist/app/routes/retained-artifact.js +63 -62
  163. package/dist/app/routes/retained-artifact.js.map +1 -1
  164. package/dist/app/routes/session-unavailable.js +7 -5
  165. package/dist/app/routes/session.js +177 -173
  166. package/dist/app/routes/sessions-index-hydration.js +3 -3
  167. package/dist/app/routes/sessions-index.js +123 -121
  168. package/dist/app/routes/site-view.d.ts +11 -0
  169. package/dist/app/routes/site-view.js +597 -0
  170. package/dist/app/routes/site-view.js.map +1 -0
  171. package/dist/artifacts-document.js +4 -4
  172. package/dist/artifacts-presentation.js +4 -4
  173. package/dist/artifacts-spreadsheet.js +4 -4
  174. package/dist/artifacts.js +39 -39
  175. package/dist/{browser-viewer-RYYQSRTC.js → browser-viewer-QMCNV4RI.js} +9 -7
  176. package/dist/{chat-interactive-block-ABCRKXJ4.js → chat-interactive-block-PMIAUXSO.js} +6 -6
  177. package/dist/{chunk-GIZGNFIX.js → chunk-22FFOHPT.js} +11 -11
  178. package/dist/chunk-22GTC4MZ.js +15 -0
  179. package/dist/chunk-22GTC4MZ.js.map +1 -0
  180. package/dist/{chunk-Z5WMLJKI.js → chunk-22JFMNMF.js} +92 -4
  181. package/dist/chunk-22JFMNMF.js.map +1 -0
  182. package/dist/{chunk-UHFWF6ZU.js → chunk-2FPS5H2D.js} +2 -2
  183. package/dist/{chunk-NAWXARTY.js → chunk-2KO2G3RI.js} +72 -6
  184. package/dist/chunk-2KO2G3RI.js.map +1 -0
  185. package/dist/{chunk-5POTDNQT.js → chunk-2NC7NZCE.js} +6 -6
  186. package/dist/{chunk-ZKYYZH6L.js → chunk-2QBYDGWO.js} +9 -9
  187. package/dist/{chunk-TWXIFWBD.js → chunk-34EU25RL.js} +2 -2
  188. package/dist/{chunk-LQKKSUCR.js → chunk-35BC2FU2.js} +19 -19
  189. package/dist/{chunk-PTGRFAMH.js → chunk-3ABPIUCK.js} +2 -2
  190. package/dist/{chunk-S4SC5SSV.js → chunk-3GU7AWG7.js} +18 -18
  191. package/dist/{chunk-722UO6YQ.js → chunk-3PEXVG4D.js} +2 -2
  192. package/dist/{chunk-OQAAI33Y.js → chunk-3RMKPHBL.js} +3 -3
  193. package/dist/{chunk-6JKZILLF.js → chunk-3RQUWFZT.js} +67 -67
  194. package/dist/{chunk-6JKZILLF.js.map → chunk-3RQUWFZT.js.map} +1 -1
  195. package/dist/{chunk-GCGTYXJJ.js → chunk-3STBLX4O.js} +9 -9
  196. package/dist/{chunk-YXIW7H4N.js → chunk-3X5FKDYQ.js} +28 -28
  197. package/dist/{chunk-KTRKZRID.js → chunk-4GLLWX33.js} +11 -11
  198. package/dist/{chunk-ROQOVH4N.js → chunk-4HEXNAFI.js} +20 -20
  199. package/dist/chunk-4HEXNAFI.js.map +1 -0
  200. package/dist/{chunk-SD2K5ZN5.js → chunk-4LPA25NQ.js} +4 -4
  201. package/dist/{chunk-DKCX643S.js → chunk-4RMN4E2Y.js} +13 -13
  202. package/dist/{chunk-E5FCEDMU.js → chunk-4SAGYEVB.js} +2 -2
  203. package/dist/{chunk-HTT3FB7T.js → chunk-4VK2R5QC.js} +3 -3
  204. package/dist/{chunk-CKG2EG62.js → chunk-4XQC7VLT.js} +14 -14
  205. package/dist/{chunk-IVOA3DXA.js → chunk-4YXAQMTD.js} +12 -12
  206. package/dist/{chunk-HOJGAJAB.js → chunk-52WK2GGK.js} +8 -8
  207. package/dist/{chunk-NYZQ7LO7.js → chunk-552UYIQ7.js} +20 -20
  208. package/dist/{chunk-LEXPBQ56.js → chunk-5DSKMG2I.js} +4 -4
  209. package/dist/{chunk-WNG757ID.js → chunk-5FA455GR.js} +4 -4
  210. package/dist/{chunk-MNWQAYY3.js → chunk-5FEN3KYH.js} +11 -11
  211. package/dist/{chunk-OSVHU2WU.js → chunk-5JHRMUAZ.js} +12 -12
  212. package/dist/{chunk-PM3OSANE.js → chunk-5MJHH72T.js} +14 -3
  213. package/dist/chunk-5MJHH72T.js.map +1 -0
  214. package/dist/{chunk-RKB2Z457.js → chunk-5VGJXWQ2.js} +2 -2
  215. package/dist/{chunk-GFUUFM2O.js → chunk-5W6ZDKRR.js} +6 -6
  216. package/dist/{chunk-NDETTZQA.js → chunk-5W7KJ5NQ.js} +37 -37
  217. package/dist/{chunk-Q35YZVDZ.js → chunk-5Y2FPLZE.js} +9 -9
  218. package/dist/{chunk-6W3LF3DB.js → chunk-5YFY4SFC.js} +2 -12
  219. package/dist/chunk-5YFY4SFC.js.map +1 -0
  220. package/dist/{chunk-F3NERYBQ.js → chunk-62VER7O4.js} +6 -6
  221. package/dist/{chunk-FBMU3VK5.js → chunk-6DCEDIF6.js} +2 -2
  222. package/dist/{chunk-WUHB422G.js → chunk-73WI7FL2.js} +18 -18
  223. package/dist/chunk-756MKA2J.js +45 -0
  224. package/dist/chunk-756MKA2J.js.map +1 -0
  225. package/dist/{chunk-QECZVL7S.js → chunk-7FJMRJDG.js} +2 -2
  226. package/dist/{chunk-7KGKDWWR.js → chunk-7HFLYNWN.js} +2 -2
  227. package/dist/{chunk-XVM566II.js → chunk-7KIENXRE.js} +2 -2
  228. package/dist/{chunk-CBY5CXBD.js → chunk-7NPCEBZE.js} +5 -5
  229. package/dist/{chunk-46VBQG2D.js → chunk-7P4AQMGA.js} +13 -13
  230. package/dist/{chunk-CKZW7A5S.js → chunk-7TCT7KPQ.js} +742 -644
  231. package/dist/chunk-7TCT7KPQ.js.map +1 -0
  232. package/dist/{chunk-O77Q4NG2.js → chunk-7XO7YKPC.js} +283 -1038
  233. package/dist/chunk-7XO7YKPC.js.map +1 -0
  234. package/dist/{chunk-S7PVL7XH.js → chunk-A4BD4ZVB.js} +4 -4
  235. package/dist/{chunk-VSQHDBHU.js → chunk-ACL2V2KE.js} +68 -35
  236. package/dist/chunk-ACL2V2KE.js.map +1 -0
  237. package/dist/{chunk-73SOCVLS.js → chunk-AIEXYO2X.js} +3 -3
  238. package/dist/{chunk-U7TC2XJQ.js → chunk-AJPW3SV4.js} +3 -3
  239. package/dist/{chunk-HRJQAFKR.js → chunk-AX6YJA5U.js} +2 -2
  240. package/dist/{chunk-P5WABK2H.js → chunk-BCM7C3MJ.js} +9 -9
  241. package/dist/{chunk-DT7BORXG.js → chunk-BMJTNPWK.js} +2 -2
  242. package/dist/{chunk-HIHO2QE7.js → chunk-BT2MVGHT.js} +2 -2
  243. package/dist/{chunk-3XOISKZC.js → chunk-BXQYAAVE.js} +4 -4
  244. package/dist/{chunk-IBTXYLBW.js → chunk-CCFWY4GF.js} +2 -2
  245. package/dist/{chunk-ZOC3OP6F.js → chunk-CCR33J7L.js} +2 -2
  246. package/dist/{chunk-GTQ3SNEI.js → chunk-CD3MO3IC.js} +2 -2
  247. package/dist/{chunk-WSMYOLHG.js → chunk-CDEXRJB6.js} +5 -5
  248. package/dist/{chunk-3GLAPCVI.js → chunk-CFFNT2OY.js} +8 -8
  249. package/dist/{chunk-FUSFVUIJ.js → chunk-CMLJSF2F.js} +12 -12
  250. package/dist/{chunk-O4DYOSOL.js → chunk-CP7ZQHBW.js} +13 -13
  251. package/dist/{chunk-IOKSNX74.js → chunk-D5OWJZQR.js} +2 -2
  252. package/dist/{chunk-SQGXMHJO.js → chunk-DGLRZMXL.js} +3 -3
  253. package/dist/{chunk-GNEHAPKV.js → chunk-DJFTH2DI.js} +3 -3
  254. package/dist/{chunk-HQG4SLTE.js → chunk-DYJGYGPB.js} +2 -2
  255. package/dist/{chunk-4EAF3HSD.js → chunk-EJ7WARW7.js} +2 -2
  256. package/dist/{chunk-3AA6RNGE.js → chunk-ENS6E4RZ.js} +2 -2
  257. package/dist/{chunk-OOEO4MKY.js → chunk-EPWD4KRA.js} +2 -2
  258. package/dist/{chunk-V5RJAWRP.js → chunk-EQE3MNQN.js} +5 -5
  259. package/dist/{chunk-TSBE4KOQ.js → chunk-EWL6NDOO.js} +3 -3
  260. package/dist/{chunk-OO2T63BY.js → chunk-EYS4ZOF5.js} +2 -2
  261. package/dist/{chunk-IC7KNOBB.js → chunk-FDAV72IX.js} +7 -7
  262. package/dist/{chunk-AG7VGUIW.js → chunk-FFNPUSVO.js} +7 -7
  263. package/dist/{chunk-P5T36BA3.js → chunk-FRP64DEK.js} +2 -2
  264. package/dist/{chunk-KBF3SE7G.js → chunk-FSP334UU.js} +2 -2
  265. package/dist/{chunk-ZHFKMMOT.js → chunk-FTX5CNHA.js} +6 -6
  266. package/dist/{chunk-KYBALSWW.js → chunk-FWOBNL2A.js} +1 -1
  267. package/dist/{chunk-HJ5XWW62.js → chunk-FWYEZ3LE.js} +34 -34
  268. package/dist/{chunk-WSLPZ43N.js → chunk-G4HQUBO4.js} +12 -12
  269. package/dist/{chunk-CSHBR2IZ.js → chunk-GDLDBR6B.js} +2 -2
  270. package/dist/chunk-GGV4NSG3.js +792 -0
  271. package/dist/chunk-GGV4NSG3.js.map +1 -0
  272. package/dist/{chunk-G3S2F35T.js → chunk-GHHM6WN4.js} +3 -3
  273. package/dist/{chunk-OANSIX34.js → chunk-GRSODLVO.js} +4 -4
  274. package/dist/{chunk-DDIBZA4X.js → chunk-GT7JFQ4E.js} +405 -148
  275. package/dist/chunk-GT7JFQ4E.js.map +1 -0
  276. package/dist/{chunk-EU6XSQFM.js → chunk-GXW2I2M2.js} +2 -2
  277. package/dist/{chunk-4246UYVG.js → chunk-GZS37O3G.js} +1 -1
  278. package/dist/{chunk-XFNLU7EW.js → chunk-H5M33DAL.js} +15 -6
  279. package/dist/chunk-H5M33DAL.js.map +1 -0
  280. package/dist/{chunk-Y7WMW74G.js → chunk-HQWVDQXW.js} +7 -7
  281. package/dist/{chunk-YTZQV2DD.js → chunk-HU6JTNWF.js} +2 -2
  282. package/dist/{chunk-QRVNI5V6.js → chunk-I6KIQKU6.js} +3 -3
  283. package/dist/{chunk-Q262Y2YX.js → chunk-IBA5FMRE.js} +141 -137
  284. package/dist/chunk-IBA5FMRE.js.map +1 -0
  285. package/dist/{chunk-BNUPYHHZ.js → chunk-IDXTASGN.js} +4 -4
  286. package/dist/{chunk-KF3MF6FP.js → chunk-IECRGM6K.js} +3 -2
  287. package/dist/chunk-IECRGM6K.js.map +1 -0
  288. package/dist/chunk-IJYL5BZM.js +38 -0
  289. package/dist/chunk-IJYL5BZM.js.map +1 -0
  290. package/dist/{chunk-L6RXRRN3.js → chunk-ILDOW2IQ.js} +3 -3
  291. package/dist/{chunk-VUHPA3XQ.js → chunk-ITX2TB4K.js} +6 -6
  292. package/dist/{chunk-ETCB6SUJ.js → chunk-J22HD2PB.js} +6 -6
  293. package/dist/{chunk-U47YDYLQ.js → chunk-J5MEDX7C.js} +8 -8
  294. package/dist/{chunk-6VQTHC4W.js → chunk-J7FBBLHF.js} +36 -36
  295. package/dist/{chunk-5JZYPZ72.js → chunk-JFK7NTEA.js} +4 -4
  296. package/dist/chunk-JFK7NTEA.js.map +1 -0
  297. package/dist/{chunk-QZRDCFHI.js → chunk-JM4HQPAI.js} +5 -5
  298. package/dist/{chunk-PIVGX42P.js → chunk-JNY5MT3I.js} +2 -2
  299. package/dist/{chunk-XWWXIZFP.js → chunk-JO6R5EXF.js} +7 -7
  300. package/dist/{chunk-MM7OKOTE.js → chunk-JQCGPTZ6.js} +9 -9
  301. package/dist/chunk-JRSNCSZN.js +37 -0
  302. package/dist/chunk-JRSNCSZN.js.map +1 -0
  303. package/dist/{chunk-KNFDWNCH.js → chunk-JXT5QDJC.js} +5 -5
  304. package/dist/{chunk-OR37STQZ.js → chunk-KEXYBG7Q.js} +3 -3
  305. package/dist/{chunk-AZVANYMB.js → chunk-KUNFUSZ7.js} +2 -2
  306. package/dist/{chunk-DXZNDKQD.js → chunk-LEEJBZ5B.js} +2 -2
  307. package/dist/{chunk-STUCI6QA.js → chunk-LEKBNKLD.js} +1 -1
  308. package/dist/{chunk-STUCI6QA.js.map → chunk-LEKBNKLD.js.map} +1 -1
  309. package/dist/{chunk-C535KSTY.js → chunk-LF5CBAOS.js} +4 -4
  310. package/dist/{chunk-BJIZ7PL7.js → chunk-LHLK7FUA.js} +145 -29
  311. package/dist/chunk-LHLK7FUA.js.map +1 -0
  312. package/dist/{chunk-RIMKJBCD.js → chunk-LMPTC4CX.js} +2 -2
  313. package/dist/{chunk-3KVWXKD6.js → chunk-LQ47YL6E.js} +2 -2
  314. package/dist/{chunk-H5WGWAYX.js → chunk-LT4J7RHI.js} +13 -13
  315. package/dist/{chunk-DSGMYES6.js → chunk-MCTTONOW.js} +28 -28
  316. package/dist/{chunk-IGHELZI7.js → chunk-MIECLOQC.js} +9 -9
  317. package/dist/{chunk-FM4OUCC2.js → chunk-MOKYT3X3.js} +3 -3
  318. package/dist/{chunk-GZ64CASI.js → chunk-MVZYNZXE.js} +5 -4
  319. package/dist/chunk-MVZYNZXE.js.map +1 -0
  320. package/dist/{chunk-RKILMLA7.js → chunk-MXLKI7BI.js} +3 -3
  321. package/dist/{chunk-45WYYFP6.js → chunk-N3ZP4IDU.js} +2 -2
  322. package/dist/{chunk-XRRSFQEV.js → chunk-NAZZLAWX.js} +2 -2
  323. package/dist/{chunk-UWJ5P5CU.js → chunk-NEK4WB5P.js} +3 -3
  324. package/dist/{chunk-6L7U46Y2.js → chunk-NKNVIO66.js} +2 -2
  325. package/dist/{chunk-JKUICTLM.js → chunk-NLAFNMPK.js} +2 -2
  326. package/dist/{chunk-4LKNIGHB.js → chunk-O2SBHS2N.js} +2 -2
  327. package/dist/{chunk-D3RK3NGM.js → chunk-PCFK7HKD.js} +17 -17
  328. package/dist/{chunk-VVCDB2T7.js → chunk-PCJLH45G.js} +3 -3
  329. package/dist/{chunk-PZ24CYDO.js → chunk-PFAUGEV5.js} +2 -2
  330. package/dist/{chunk-HGMWMK5K.js → chunk-PO3BH3KQ.js} +2 -2
  331. package/dist/{chunk-B74GSYR6.js → chunk-PUTS4DYW.js} +2 -2
  332. package/dist/{chunk-JSIDLTTG.js → chunk-PZ2V2XIK.js} +2 -2
  333. package/dist/{chunk-TMEQPODK.js → chunk-PZ37VDB5.js} +2 -2
  334. package/dist/{chunk-QIYBOFUV.js → chunk-QFMLAT7L.js} +246 -237
  335. package/dist/chunk-QFMLAT7L.js.map +1 -0
  336. package/dist/{chunk-LVONK3YQ.js → chunk-QRKTESVE.js} +2 -2
  337. package/dist/{chunk-HT5WSUC7.js → chunk-QXEDIDBZ.js} +3 -3
  338. package/dist/{chunk-WURSS6MP.js → chunk-R66YMYJU.js} +2 -2
  339. package/dist/{chunk-HDHK3SXK.js → chunk-RFLYID6H.js} +5 -5
  340. package/dist/{chunk-V77JK73U.js → chunk-RIYZFKIM.js} +37 -35
  341. package/dist/chunk-RIYZFKIM.js.map +1 -0
  342. package/dist/{chunk-VMFID36H.js → chunk-RQNZDTKT.js} +19 -19
  343. package/dist/{chunk-EHCUFCXM.js → chunk-RYSRFAHN.js} +32 -22
  344. package/dist/chunk-RYSRFAHN.js.map +1 -0
  345. package/dist/{chunk-I6VUUEXH.js → chunk-S2U4CDAC.js} +150 -150
  346. package/dist/chunk-S2U4CDAC.js.map +1 -0
  347. package/dist/chunk-S37GP7LX.js +204 -0
  348. package/dist/chunk-S37GP7LX.js.map +1 -0
  349. package/dist/{chunk-A2EWJQXX.js → chunk-SM5QX6UK.js} +4 -4
  350. package/dist/{chunk-FBE6AIIW.js → chunk-SOKNCW5U.js} +2 -2
  351. package/dist/{chunk-Q4NM77K7.js → chunk-SSOO4GWN.js} +193 -194
  352. package/dist/chunk-SSOO4GWN.js.map +1 -0
  353. package/dist/{chunk-PFKTGZKE.js → chunk-SY2AAZNB.js} +2 -2
  354. package/dist/{chunk-DFZMKCVP.js → chunk-TIQPKOFW.js} +4 -4
  355. package/dist/{chunk-HPPKLBTJ.js → chunk-TJQDL3JH.js} +2 -2
  356. package/dist/chunk-TL7BOFFL.js +89 -0
  357. package/dist/chunk-TL7BOFFL.js.map +1 -0
  358. package/dist/{chunk-FD4Q5KFL.js → chunk-TLL22FFO.js} +2 -2
  359. package/dist/{chunk-QM5H4FPT.js → chunk-TV6BWONY.js} +3 -3
  360. package/dist/{chunk-EDFJBX3V.js → chunk-U6MPB3K6.js} +9 -9
  361. package/dist/{chunk-TZD3U2S5.js → chunk-ULJAOMJA.js} +4 -4
  362. package/dist/chunk-ULYQEFNH.js +529 -0
  363. package/dist/chunk-ULYQEFNH.js.map +1 -0
  364. package/dist/{chunk-H5EVWF6L.js → chunk-UNNJUJVD.js} +2 -2
  365. package/dist/{chunk-324X6T6G.js → chunk-UP7I3W6O.js} +57 -55
  366. package/dist/chunk-UP7I3W6O.js.map +1 -0
  367. package/dist/{chunk-VU2EWALC.js → chunk-UUGR3X5I.js} +19 -12
  368. package/dist/chunk-UUGR3X5I.js.map +1 -0
  369. package/dist/{chunk-Z6DKXQG7.js → chunk-UXXFMF4X.js} +2 -2
  370. package/dist/{chunk-OBQVTCTW.js → chunk-UYNCMZX5.js} +4 -4
  371. package/dist/{chunk-RGPYMHKI.js → chunk-V3K4RQO7.js} +9 -3
  372. package/dist/chunk-V3K4RQO7.js.map +1 -0
  373. package/dist/{chunk-KZHW27BV.js → chunk-V4QZ7UBK.js} +2 -2
  374. package/dist/{chunk-NEVRLD77.js → chunk-VH5EGTH2.js} +3 -3
  375. package/dist/{chunk-MYNUBDU7.js → chunk-VYKW6TB2.js} +1 -1
  376. package/dist/chunk-VYKW6TB2.js.map +1 -0
  377. package/dist/{chunk-QEJTQTF5.js → chunk-W6T5HR3Z.js} +3 -3
  378. package/dist/{chunk-H6WWEKEV.js → chunk-WCMG4HYI.js} +10 -10
  379. package/dist/{chunk-GZLLDA6P.js → chunk-WEFN327U.js} +2 -2
  380. package/dist/{chunk-VW3BBTMA.js → chunk-WKHUZIOW.js} +1 -1
  381. package/dist/{chunk-ANHUMDJX.js → chunk-WNDTLK44.js} +2 -2
  382. package/dist/{chunk-2DS4UOYQ.js → chunk-WSZQNTVN.js} +2 -2
  383. package/dist/{chunk-Z2DAWUO3.js → chunk-XMNUZUUA.js} +6 -6
  384. package/dist/{chunk-GAIM5RNE.js → chunk-XN7NSPE6.js} +3 -3
  385. package/dist/chunk-XV6ZYRHK.js +59 -0
  386. package/dist/chunk-XV6ZYRHK.js.map +1 -0
  387. package/dist/{chunk-FLGUVRR7.js → chunk-Y5BSA3I7.js} +5 -5
  388. package/dist/{chunk-WRLWLGEF.js → chunk-Y5E3XQ2S.js} +25 -2
  389. package/dist/{chunk-WRLWLGEF.js.map → chunk-Y5E3XQ2S.js.map} +1 -1
  390. package/dist/{chunk-QILLL4JE.js → chunk-YEROLKOA.js} +16 -16
  391. package/dist/{chunk-NDF3SH3X.js → chunk-YJPKDRI2.js} +15 -15
  392. package/dist/{chunk-TQGJN5UZ.js → chunk-YV56F4UP.js} +318 -700
  393. package/dist/chunk-YV56F4UP.js.map +1 -0
  394. package/dist/{chunk-VAIESMPY.js → chunk-YVBHGMKC.js} +4 -4
  395. package/dist/{chunk-AD22P5X3.js → chunk-YXA2EKV3.js} +3 -3
  396. package/dist/{chunk-FDNJVZRE.js → chunk-YYCOSTUU.js} +17 -17
  397. package/dist/{chunk-NLMTNEWW.js → chunk-Z6E6TUAE.js} +2 -2
  398. package/dist/{chunk-BJW7G6EF.js → chunk-Z7IGO5EA.js} +3 -3
  399. package/dist/{chunk-N7JKT4ZU.js → chunk-ZEIFJ6PX.js} +7 -7
  400. package/dist/{chunk-Q4OHNGGB.js → chunk-ZS2UQ3DV.js} +68 -11
  401. package/dist/chunk-ZS2UQ3DV.js.map +1 -0
  402. package/dist/{chunk-VRGOOVDB.js → chunk-ZVVT72MT.js} +2 -2
  403. package/dist/components/browser-viewer.d.ts +1 -1
  404. package/dist/composer.js +14 -14
  405. package/dist/{computer-viewer-KEDVLD42.js → computer-viewer-25AJIDYA.js} +9 -9
  406. package/dist/connect.js +11 -11
  407. package/dist/desktop.js +2 -2
  408. package/dist/editor.js +2 -2
  409. package/dist/{embedded-new-voice-5PYRDZ6T.js → embedded-new-voice-RZZEJT6M.js} +8 -8
  410. package/dist/{embedded-voice-PABC5NBD.js → embedded-voice-6OKSSPLW.js} +8 -8
  411. package/dist/{fleet-decision-row-QNSTP3VX.js → fleet-decision-row-NN2HXDX3.js} +2 -2
  412. package/dist/hooks/internal.d.ts +38 -0
  413. package/dist/hooks/use-client-config-flags.d.ts +12 -0
  414. package/dist/hooks/use-workspace-sessions.d.ts +10 -1
  415. package/dist/index.js +233 -227
  416. package/dist/interaction.js +11 -9
  417. package/dist/interaction.js.map +1 -1
  418. package/dist/{latest-question-5LIRVG4G.js → latest-question-2PFWQSSG.js} +4 -3
  419. package/dist/{latest-question-5LIRVG4G.js.map → latest-question-2PFWQSSG.js.map} +1 -1
  420. package/dist/machines.js +5 -5
  421. package/dist/messages/en.d.ts +3 -3
  422. package/dist/messages.js +1 -1
  423. package/dist/{model-policy-picker-menu-CURJ247L.js → model-policy-picker-menu-VVFGGAI6.js} +6 -6
  424. package/dist/model-policy-picker-menu-VVFGGAI6.js.map +1 -0
  425. package/dist/native-previews.js +3 -3
  426. package/dist/{platform-activity-row-BMXXNZKX.js → platform-activity-row-ENQVIFTL.js} +2 -2
  427. package/dist/{queue-surface-implementation-2X5AXB6I.js → queue-surface-implementation-4SHOQPQQ.js} +10 -8
  428. package/dist/{queue-surface-implementation-2X5AXB6I.js.map → queue-surface-implementation-4SHOQPQQ.js.map} +1 -1
  429. package/dist/realtime.js +7 -7
  430. package/dist/{sandbox-files-4FBG3GS2.js → sandbox-files-CCOTGXXA.js} +11 -11
  431. package/dist/sandbox-files-CCOTGXXA.js.map +1 -0
  432. package/dist/session-app.js +277 -271
  433. package/dist/session-list-model.d.ts +1 -0
  434. package/dist/session-list-model.js +8 -2
  435. package/dist/{session-realtime-2XIB254N.js → session-realtime-JNKDSGH7.js} +3 -3
  436. package/dist/session-realtime-JNKDSGH7.js.map +1 -0
  437. package/dist/session-realtime.js +2 -2
  438. package/dist/session-ui.js +77 -72
  439. package/dist/session.js +27 -25
  440. package/dist/sites.js +2 -2
  441. package/dist/terminal.js +2 -2
  442. package/dist/this-computer.js +3 -3
  443. package/dist/timeline/invoked-tool.d.ts +5 -0
  444. package/dist/timeline/tool-display-name.d.ts +2 -2
  445. package/dist/timeline/tool-icon.d.ts +14 -0
  446. package/dist/timeline/tool-presentation.d.ts +8 -3
  447. package/dist/timeline/types.d.ts +2 -0
  448. package/dist/{timeline-annotation-markers-X4K2IEOO.js → timeline-annotation-markers-KHNYNY2J.js} +5 -5
  449. package/dist/{timeline-annotation-selection-MEHBW676.js → timeline-annotation-selection-AXEDJHBP.js} +7 -7
  450. package/dist/{timeline-annotations-dialog-U2FPQ3UY.js → timeline-annotations-dialog-AV4ZBXRC.js} +9 -9
  451. package/dist/timeline-model.js +28 -26
  452. package/dist/ui/access-list.js +20 -20
  453. package/dist/ui/choice-cards.js +2 -2
  454. package/dist/ui/detail-page.js +2 -2
  455. package/dist/ui/detail-sheet.js +2 -2
  456. package/dist/ui/diff-view.js +2 -2
  457. package/dist/ui/disclosure.js +4 -4
  458. package/dist/ui/flush-form-page.js +3 -3
  459. package/dist/ui/form-dialog.js +2 -2
  460. package/dist/ui/list-row.js +5 -5
  461. package/dist/ui/revision-history.js +11 -11
  462. package/dist/ui/role-select.js +6 -6
  463. package/dist/ui/settings-nav.js +3 -3
  464. package/dist/usage.js +3 -3
  465. package/dist/workbench.js +11 -11
  466. package/package.json +4 -4
  467. package/src/app/app-state.tsx +3 -1
  468. package/src/app/components/capabilities/session-capability-card.tsx +14 -1
  469. package/src/app/components/capabilities/session-chrome-card.dom-fixture.tsx +377 -0
  470. package/src/app/components/capabilities/session-chrome-card.test.tsx +18 -0
  471. package/src/app/components/capabilities/session-chrome-card.tsx +243 -0
  472. package/src/app/components/capabilities/session-machine-card.dom-fixture.tsx +2 -0
  473. package/src/app/components/capabilities/session-machine-card.tsx +74 -16
  474. package/src/app/components/rail/session-list.tsx +254 -44
  475. package/src/app/components/rail/session-row-content.tsx +24 -2
  476. package/src/app/components/rail/session-shell.tsx +14 -9
  477. package/src/app/components/rail/site-session-group-heading.tsx +59 -20
  478. package/src/app/components/session/session-tenancy-control.tsx +18 -0
  479. package/src/app/components/session/site-origin-link.test.tsx +73 -0
  480. package/src/app/components/session/site-origin-link.tsx +4 -2
  481. package/src/app/embed/memory-navigation.tsx +1 -0
  482. package/src/app/lib/actions/held-modifier.test.ts +101 -0
  483. package/src/app/lib/actions/held-modifier.ts +108 -0
  484. package/src/app/lib/console-site.tsx +38 -0
  485. package/src/app/lib/navigation.tsx +4 -0
  486. package/src/app/lib/routes.tsx +42 -0
  487. package/src/app/lib/session-failure-toasts.ts +26 -0
  488. package/src/app/lib/session-ui-features.tsx +18 -4
  489. package/src/app/lib/sessions-group.tsx +219 -30
  490. package/src/app/lib/site-opened.tsx +48 -0
  491. package/src/app/lib/site-session-groups.test.ts +173 -6
  492. package/src/app/lib/site-view-routes.test.ts +55 -0
  493. package/src/app/lib/use-session-list-hint-refresh.tsx +44 -4
  494. package/src/app/routes/artifacts.tsx +2 -29
  495. package/src/app/routes/session-transient-failures.test.tsx +343 -0
  496. package/src/app/routes/session-unavailable.tsx +74 -3
  497. package/src/app/routes/session.tsx +4 -13
  498. package/src/app/routes/sessions-index.tsx +13 -9
  499. package/src/app/routes/site-view.test.tsx +476 -0
  500. package/src/app/routes/site-view.tsx +583 -0
  501. package/src/components/browser-viewer.tsx +16 -2
  502. package/src/hooks/internal.ts +129 -6
  503. package/src/hooks/use-client-config-flags.ts +8 -0
  504. package/src/hooks/use-session-events.ts +83 -9
  505. package/src/hooks/use-workspace-sessions.ts +21 -1
  506. package/src/messages/en.ts +3 -3
  507. package/src/session-list-model.ts +4 -0
  508. package/src/timeline/activity-rail.tsx +3 -2
  509. package/src/timeline/invoked-tool.ts +14 -4
  510. package/src/timeline/projection.ts +15 -8
  511. package/src/timeline/rolling-activity.tsx +6 -2
  512. package/src/timeline/tool-display-name.ts +2 -2
  513. package/src/timeline/tool-icon.tsx +165 -0
  514. package/src/timeline/tool-presentation.ts +207 -48
  515. package/src/timeline/tool-renderers.tsx +1 -70
  516. package/src/timeline/types.ts +2 -0
  517. package/styles/compiled.css +38 -0
  518. package/dist/chunk-22ZBT6CN.js +0 -50
  519. package/dist/chunk-22ZBT6CN.js.map +0 -1
  520. package/dist/chunk-324X6T6G.js.map +0 -1
  521. package/dist/chunk-5JZYPZ72.js.map +0 -1
  522. package/dist/chunk-6W3LF3DB.js.map +0 -1
  523. package/dist/chunk-BJIZ7PL7.js.map +0 -1
  524. package/dist/chunk-CKZW7A5S.js.map +0 -1
  525. package/dist/chunk-DDIBZA4X.js.map +0 -1
  526. package/dist/chunk-EHCUFCXM.js.map +0 -1
  527. package/dist/chunk-GZ64CASI.js.map +0 -1
  528. package/dist/chunk-I6VUUEXH.js.map +0 -1
  529. package/dist/chunk-KF3MF6FP.js.map +0 -1
  530. package/dist/chunk-MYNUBDU7.js.map +0 -1
  531. package/dist/chunk-NAWXARTY.js.map +0 -1
  532. package/dist/chunk-O77Q4NG2.js.map +0 -1
  533. package/dist/chunk-PM3OSANE.js.map +0 -1
  534. package/dist/chunk-Q262Y2YX.js.map +0 -1
  535. package/dist/chunk-Q4NM77K7.js.map +0 -1
  536. package/dist/chunk-Q4OHNGGB.js.map +0 -1
  537. package/dist/chunk-QIYBOFUV.js.map +0 -1
  538. package/dist/chunk-R25ZKOZR.js +0 -24
  539. package/dist/chunk-R25ZKOZR.js.map +0 -1
  540. package/dist/chunk-RGPYMHKI.js.map +0 -1
  541. package/dist/chunk-ROQOVH4N.js.map +0 -1
  542. package/dist/chunk-TQGJN5UZ.js.map +0 -1
  543. package/dist/chunk-V77JK73U.js.map +0 -1
  544. package/dist/chunk-VSQHDBHU.js.map +0 -1
  545. package/dist/chunk-VU2EWALC.js.map +0 -1
  546. package/dist/chunk-XFNLU7EW.js.map +0 -1
  547. package/dist/chunk-Z5WMLJKI.js.map +0 -1
  548. /package/dist/{browser-viewer-RYYQSRTC.js.map → app/components/capabilities/session-chrome-card.js.map} +0 -0
  549. /package/dist/{chat-interactive-block-ABCRKXJ4.js.map → app/lib/console-site.js.map} +0 -0
  550. /package/dist/{computer-viewer-KEDVLD42.js.map → app/lib/site-opened.js.map} +0 -0
  551. /package/dist/{embedded-new-voice-5PYRDZ6T.js.map → browser-viewer-QMCNV4RI.js.map} +0 -0
  552. /package/dist/{embedded-voice-PABC5NBD.js.map → chat-interactive-block-PMIAUXSO.js.map} +0 -0
  553. /package/dist/{chunk-GIZGNFIX.js.map → chunk-22FFOHPT.js.map} +0 -0
  554. /package/dist/{chunk-UHFWF6ZU.js.map → chunk-2FPS5H2D.js.map} +0 -0
  555. /package/dist/{chunk-5POTDNQT.js.map → chunk-2NC7NZCE.js.map} +0 -0
  556. /package/dist/{chunk-ZKYYZH6L.js.map → chunk-2QBYDGWO.js.map} +0 -0
  557. /package/dist/{chunk-TWXIFWBD.js.map → chunk-34EU25RL.js.map} +0 -0
  558. /package/dist/{chunk-LQKKSUCR.js.map → chunk-35BC2FU2.js.map} +0 -0
  559. /package/dist/{chunk-PTGRFAMH.js.map → chunk-3ABPIUCK.js.map} +0 -0
  560. /package/dist/{chunk-S4SC5SSV.js.map → chunk-3GU7AWG7.js.map} +0 -0
  561. /package/dist/{chunk-722UO6YQ.js.map → chunk-3PEXVG4D.js.map} +0 -0
  562. /package/dist/{chunk-OQAAI33Y.js.map → chunk-3RMKPHBL.js.map} +0 -0
  563. /package/dist/{chunk-GCGTYXJJ.js.map → chunk-3STBLX4O.js.map} +0 -0
  564. /package/dist/{chunk-YXIW7H4N.js.map → chunk-3X5FKDYQ.js.map} +0 -0
  565. /package/dist/{chunk-KTRKZRID.js.map → chunk-4GLLWX33.js.map} +0 -0
  566. /package/dist/{chunk-SD2K5ZN5.js.map → chunk-4LPA25NQ.js.map} +0 -0
  567. /package/dist/{chunk-DKCX643S.js.map → chunk-4RMN4E2Y.js.map} +0 -0
  568. /package/dist/{chunk-E5FCEDMU.js.map → chunk-4SAGYEVB.js.map} +0 -0
  569. /package/dist/{chunk-HTT3FB7T.js.map → chunk-4VK2R5QC.js.map} +0 -0
  570. /package/dist/{chunk-CKG2EG62.js.map → chunk-4XQC7VLT.js.map} +0 -0
  571. /package/dist/{chunk-IVOA3DXA.js.map → chunk-4YXAQMTD.js.map} +0 -0
  572. /package/dist/{chunk-HOJGAJAB.js.map → chunk-52WK2GGK.js.map} +0 -0
  573. /package/dist/{chunk-NYZQ7LO7.js.map → chunk-552UYIQ7.js.map} +0 -0
  574. /package/dist/{chunk-LEXPBQ56.js.map → chunk-5DSKMG2I.js.map} +0 -0
  575. /package/dist/{chunk-WNG757ID.js.map → chunk-5FA455GR.js.map} +0 -0
  576. /package/dist/{chunk-MNWQAYY3.js.map → chunk-5FEN3KYH.js.map} +0 -0
  577. /package/dist/{chunk-OSVHU2WU.js.map → chunk-5JHRMUAZ.js.map} +0 -0
  578. /package/dist/{chunk-RKB2Z457.js.map → chunk-5VGJXWQ2.js.map} +0 -0
  579. /package/dist/{chunk-GFUUFM2O.js.map → chunk-5W6ZDKRR.js.map} +0 -0
  580. /package/dist/{chunk-NDETTZQA.js.map → chunk-5W7KJ5NQ.js.map} +0 -0
  581. /package/dist/{chunk-Q35YZVDZ.js.map → chunk-5Y2FPLZE.js.map} +0 -0
  582. /package/dist/{chunk-F3NERYBQ.js.map → chunk-62VER7O4.js.map} +0 -0
  583. /package/dist/{chunk-FBMU3VK5.js.map → chunk-6DCEDIF6.js.map} +0 -0
  584. /package/dist/{chunk-WUHB422G.js.map → chunk-73WI7FL2.js.map} +0 -0
  585. /package/dist/{chunk-QECZVL7S.js.map → chunk-7FJMRJDG.js.map} +0 -0
  586. /package/dist/{chunk-7KGKDWWR.js.map → chunk-7HFLYNWN.js.map} +0 -0
  587. /package/dist/{chunk-XVM566II.js.map → chunk-7KIENXRE.js.map} +0 -0
  588. /package/dist/{chunk-CBY5CXBD.js.map → chunk-7NPCEBZE.js.map} +0 -0
  589. /package/dist/{chunk-46VBQG2D.js.map → chunk-7P4AQMGA.js.map} +0 -0
  590. /package/dist/{chunk-S7PVL7XH.js.map → chunk-A4BD4ZVB.js.map} +0 -0
  591. /package/dist/{chunk-73SOCVLS.js.map → chunk-AIEXYO2X.js.map} +0 -0
  592. /package/dist/{chunk-U7TC2XJQ.js.map → chunk-AJPW3SV4.js.map} +0 -0
  593. /package/dist/{chunk-HRJQAFKR.js.map → chunk-AX6YJA5U.js.map} +0 -0
  594. /package/dist/{chunk-P5WABK2H.js.map → chunk-BCM7C3MJ.js.map} +0 -0
  595. /package/dist/{chunk-DT7BORXG.js.map → chunk-BMJTNPWK.js.map} +0 -0
  596. /package/dist/{chunk-HIHO2QE7.js.map → chunk-BT2MVGHT.js.map} +0 -0
  597. /package/dist/{chunk-3XOISKZC.js.map → chunk-BXQYAAVE.js.map} +0 -0
  598. /package/dist/{chunk-IBTXYLBW.js.map → chunk-CCFWY4GF.js.map} +0 -0
  599. /package/dist/{chunk-ZOC3OP6F.js.map → chunk-CCR33J7L.js.map} +0 -0
  600. /package/dist/{chunk-GTQ3SNEI.js.map → chunk-CD3MO3IC.js.map} +0 -0
  601. /package/dist/{chunk-WSMYOLHG.js.map → chunk-CDEXRJB6.js.map} +0 -0
  602. /package/dist/{chunk-3GLAPCVI.js.map → chunk-CFFNT2OY.js.map} +0 -0
  603. /package/dist/{chunk-FUSFVUIJ.js.map → chunk-CMLJSF2F.js.map} +0 -0
  604. /package/dist/{chunk-O4DYOSOL.js.map → chunk-CP7ZQHBW.js.map} +0 -0
  605. /package/dist/{chunk-IOKSNX74.js.map → chunk-D5OWJZQR.js.map} +0 -0
  606. /package/dist/{chunk-SQGXMHJO.js.map → chunk-DGLRZMXL.js.map} +0 -0
  607. /package/dist/{chunk-GNEHAPKV.js.map → chunk-DJFTH2DI.js.map} +0 -0
  608. /package/dist/{chunk-HQG4SLTE.js.map → chunk-DYJGYGPB.js.map} +0 -0
  609. /package/dist/{chunk-4EAF3HSD.js.map → chunk-EJ7WARW7.js.map} +0 -0
  610. /package/dist/{chunk-3AA6RNGE.js.map → chunk-ENS6E4RZ.js.map} +0 -0
  611. /package/dist/{chunk-OOEO4MKY.js.map → chunk-EPWD4KRA.js.map} +0 -0
  612. /package/dist/{chunk-V5RJAWRP.js.map → chunk-EQE3MNQN.js.map} +0 -0
  613. /package/dist/{chunk-TSBE4KOQ.js.map → chunk-EWL6NDOO.js.map} +0 -0
  614. /package/dist/{chunk-OO2T63BY.js.map → chunk-EYS4ZOF5.js.map} +0 -0
  615. /package/dist/{chunk-IC7KNOBB.js.map → chunk-FDAV72IX.js.map} +0 -0
  616. /package/dist/{chunk-AG7VGUIW.js.map → chunk-FFNPUSVO.js.map} +0 -0
  617. /package/dist/{chunk-P5T36BA3.js.map → chunk-FRP64DEK.js.map} +0 -0
  618. /package/dist/{chunk-KBF3SE7G.js.map → chunk-FSP334UU.js.map} +0 -0
  619. /package/dist/{chunk-ZHFKMMOT.js.map → chunk-FTX5CNHA.js.map} +0 -0
  620. /package/dist/{chunk-KYBALSWW.js.map → chunk-FWOBNL2A.js.map} +0 -0
  621. /package/dist/{chunk-HJ5XWW62.js.map → chunk-FWYEZ3LE.js.map} +0 -0
  622. /package/dist/{chunk-WSLPZ43N.js.map → chunk-G4HQUBO4.js.map} +0 -0
  623. /package/dist/{chunk-CSHBR2IZ.js.map → chunk-GDLDBR6B.js.map} +0 -0
  624. /package/dist/{chunk-G3S2F35T.js.map → chunk-GHHM6WN4.js.map} +0 -0
  625. /package/dist/{chunk-OANSIX34.js.map → chunk-GRSODLVO.js.map} +0 -0
  626. /package/dist/{chunk-EU6XSQFM.js.map → chunk-GXW2I2M2.js.map} +0 -0
  627. /package/dist/{chunk-4246UYVG.js.map → chunk-GZS37O3G.js.map} +0 -0
  628. /package/dist/{chunk-Y7WMW74G.js.map → chunk-HQWVDQXW.js.map} +0 -0
  629. /package/dist/{chunk-YTZQV2DD.js.map → chunk-HU6JTNWF.js.map} +0 -0
  630. /package/dist/{chunk-QRVNI5V6.js.map → chunk-I6KIQKU6.js.map} +0 -0
  631. /package/dist/{chunk-BNUPYHHZ.js.map → chunk-IDXTASGN.js.map} +0 -0
  632. /package/dist/{chunk-L6RXRRN3.js.map → chunk-ILDOW2IQ.js.map} +0 -0
  633. /package/dist/{chunk-VUHPA3XQ.js.map → chunk-ITX2TB4K.js.map} +0 -0
  634. /package/dist/{chunk-ETCB6SUJ.js.map → chunk-J22HD2PB.js.map} +0 -0
  635. /package/dist/{chunk-U47YDYLQ.js.map → chunk-J5MEDX7C.js.map} +0 -0
  636. /package/dist/{chunk-6VQTHC4W.js.map → chunk-J7FBBLHF.js.map} +0 -0
  637. /package/dist/{chunk-QZRDCFHI.js.map → chunk-JM4HQPAI.js.map} +0 -0
  638. /package/dist/{chunk-PIVGX42P.js.map → chunk-JNY5MT3I.js.map} +0 -0
  639. /package/dist/{chunk-XWWXIZFP.js.map → chunk-JO6R5EXF.js.map} +0 -0
  640. /package/dist/{chunk-MM7OKOTE.js.map → chunk-JQCGPTZ6.js.map} +0 -0
  641. /package/dist/{chunk-KNFDWNCH.js.map → chunk-JXT5QDJC.js.map} +0 -0
  642. /package/dist/{chunk-OR37STQZ.js.map → chunk-KEXYBG7Q.js.map} +0 -0
  643. /package/dist/{chunk-AZVANYMB.js.map → chunk-KUNFUSZ7.js.map} +0 -0
  644. /package/dist/{chunk-DXZNDKQD.js.map → chunk-LEEJBZ5B.js.map} +0 -0
  645. /package/dist/{chunk-C535KSTY.js.map → chunk-LF5CBAOS.js.map} +0 -0
  646. /package/dist/{chunk-RIMKJBCD.js.map → chunk-LMPTC4CX.js.map} +0 -0
  647. /package/dist/{chunk-3KVWXKD6.js.map → chunk-LQ47YL6E.js.map} +0 -0
  648. /package/dist/{chunk-H5WGWAYX.js.map → chunk-LT4J7RHI.js.map} +0 -0
  649. /package/dist/{chunk-DSGMYES6.js.map → chunk-MCTTONOW.js.map} +0 -0
  650. /package/dist/{chunk-IGHELZI7.js.map → chunk-MIECLOQC.js.map} +0 -0
  651. /package/dist/{chunk-FM4OUCC2.js.map → chunk-MOKYT3X3.js.map} +0 -0
  652. /package/dist/{chunk-RKILMLA7.js.map → chunk-MXLKI7BI.js.map} +0 -0
  653. /package/dist/{chunk-45WYYFP6.js.map → chunk-N3ZP4IDU.js.map} +0 -0
  654. /package/dist/{chunk-XRRSFQEV.js.map → chunk-NAZZLAWX.js.map} +0 -0
  655. /package/dist/{chunk-UWJ5P5CU.js.map → chunk-NEK4WB5P.js.map} +0 -0
  656. /package/dist/{chunk-6L7U46Y2.js.map → chunk-NKNVIO66.js.map} +0 -0
  657. /package/dist/{chunk-JKUICTLM.js.map → chunk-NLAFNMPK.js.map} +0 -0
  658. /package/dist/{chunk-4LKNIGHB.js.map → chunk-O2SBHS2N.js.map} +0 -0
  659. /package/dist/{chunk-D3RK3NGM.js.map → chunk-PCFK7HKD.js.map} +0 -0
  660. /package/dist/{chunk-VVCDB2T7.js.map → chunk-PCJLH45G.js.map} +0 -0
  661. /package/dist/{chunk-PZ24CYDO.js.map → chunk-PFAUGEV5.js.map} +0 -0
  662. /package/dist/{chunk-HGMWMK5K.js.map → chunk-PO3BH3KQ.js.map} +0 -0
  663. /package/dist/{chunk-B74GSYR6.js.map → chunk-PUTS4DYW.js.map} +0 -0
  664. /package/dist/{chunk-JSIDLTTG.js.map → chunk-PZ2V2XIK.js.map} +0 -0
  665. /package/dist/{chunk-TMEQPODK.js.map → chunk-PZ37VDB5.js.map} +0 -0
  666. /package/dist/{chunk-LVONK3YQ.js.map → chunk-QRKTESVE.js.map} +0 -0
  667. /package/dist/{chunk-HT5WSUC7.js.map → chunk-QXEDIDBZ.js.map} +0 -0
  668. /package/dist/{chunk-WURSS6MP.js.map → chunk-R66YMYJU.js.map} +0 -0
  669. /package/dist/{chunk-HDHK3SXK.js.map → chunk-RFLYID6H.js.map} +0 -0
  670. /package/dist/{chunk-VMFID36H.js.map → chunk-RQNZDTKT.js.map} +0 -0
  671. /package/dist/{chunk-A2EWJQXX.js.map → chunk-SM5QX6UK.js.map} +0 -0
  672. /package/dist/{chunk-FBE6AIIW.js.map → chunk-SOKNCW5U.js.map} +0 -0
  673. /package/dist/{chunk-PFKTGZKE.js.map → chunk-SY2AAZNB.js.map} +0 -0
  674. /package/dist/{chunk-DFZMKCVP.js.map → chunk-TIQPKOFW.js.map} +0 -0
  675. /package/dist/{chunk-HPPKLBTJ.js.map → chunk-TJQDL3JH.js.map} +0 -0
  676. /package/dist/{chunk-FD4Q5KFL.js.map → chunk-TLL22FFO.js.map} +0 -0
  677. /package/dist/{chunk-QM5H4FPT.js.map → chunk-TV6BWONY.js.map} +0 -0
  678. /package/dist/{chunk-EDFJBX3V.js.map → chunk-U6MPB3K6.js.map} +0 -0
  679. /package/dist/{chunk-TZD3U2S5.js.map → chunk-ULJAOMJA.js.map} +0 -0
  680. /package/dist/{chunk-H5EVWF6L.js.map → chunk-UNNJUJVD.js.map} +0 -0
  681. /package/dist/{chunk-Z6DKXQG7.js.map → chunk-UXXFMF4X.js.map} +0 -0
  682. /package/dist/{chunk-OBQVTCTW.js.map → chunk-UYNCMZX5.js.map} +0 -0
  683. /package/dist/{chunk-KZHW27BV.js.map → chunk-V4QZ7UBK.js.map} +0 -0
  684. /package/dist/{chunk-NEVRLD77.js.map → chunk-VH5EGTH2.js.map} +0 -0
  685. /package/dist/{chunk-QEJTQTF5.js.map → chunk-W6T5HR3Z.js.map} +0 -0
  686. /package/dist/{chunk-H6WWEKEV.js.map → chunk-WCMG4HYI.js.map} +0 -0
  687. /package/dist/{chunk-GZLLDA6P.js.map → chunk-WEFN327U.js.map} +0 -0
  688. /package/dist/{chunk-VW3BBTMA.js.map → chunk-WKHUZIOW.js.map} +0 -0
  689. /package/dist/{chunk-ANHUMDJX.js.map → chunk-WNDTLK44.js.map} +0 -0
  690. /package/dist/{chunk-2DS4UOYQ.js.map → chunk-WSZQNTVN.js.map} +0 -0
  691. /package/dist/{chunk-Z2DAWUO3.js.map → chunk-XMNUZUUA.js.map} +0 -0
  692. /package/dist/{chunk-GAIM5RNE.js.map → chunk-XN7NSPE6.js.map} +0 -0
  693. /package/dist/{chunk-FLGUVRR7.js.map → chunk-Y5BSA3I7.js.map} +0 -0
  694. /package/dist/{chunk-QILLL4JE.js.map → chunk-YEROLKOA.js.map} +0 -0
  695. /package/dist/{chunk-NDF3SH3X.js.map → chunk-YJPKDRI2.js.map} +0 -0
  696. /package/dist/{chunk-VAIESMPY.js.map → chunk-YVBHGMKC.js.map} +0 -0
  697. /package/dist/{chunk-AD22P5X3.js.map → chunk-YXA2EKV3.js.map} +0 -0
  698. /package/dist/{chunk-FDNJVZRE.js.map → chunk-YYCOSTUU.js.map} +0 -0
  699. /package/dist/{chunk-NLMTNEWW.js.map → chunk-Z6E6TUAE.js.map} +0 -0
  700. /package/dist/{chunk-BJW7G6EF.js.map → chunk-Z7IGO5EA.js.map} +0 -0
  701. /package/dist/{chunk-N7JKT4ZU.js.map → chunk-ZEIFJ6PX.js.map} +0 -0
  702. /package/dist/{chunk-VRGOOVDB.js.map → chunk-ZVVT72MT.js.map} +0 -0
  703. /package/dist/{model-policy-picker-menu-CURJ247L.js.map → computer-viewer-25AJIDYA.js.map} +0 -0
  704. /package/dist/{sandbox-files-4FBG3GS2.js.map → embedded-new-voice-RZZEJT6M.js.map} +0 -0
  705. /package/dist/{session-realtime-2XIB254N.js.map → embedded-voice-6OKSSPLW.js.map} +0 -0
  706. /package/dist/{fleet-decision-row-QNSTP3VX.js.map → fleet-decision-row-NN2HXDX3.js.map} +0 -0
  707. /package/dist/{platform-activity-row-BMXXNZKX.js.map → platform-activity-row-ENQVIFTL.js.map} +0 -0
  708. /package/dist/{timeline-annotation-markers-X4K2IEOO.js.map → timeline-annotation-markers-KHNYNY2J.js.map} +0 -0
  709. /package/dist/{timeline-annotation-selection-MEHBW676.js.map → timeline-annotation-selection-AXEDJHBP.js.map} +0 -0
  710. /package/dist/{timeline-annotations-dialog-U2FPQ3UY.js.map → timeline-annotations-dialog-AV4ZBXRC.js.map} +0 -0
@@ -7,15 +7,15 @@ import {
7
7
  DetailSheet,
8
8
  DetailSheetContent,
9
9
  DetailSheetTrigger
10
- } from "./chunk-LEXPBQ56.js";
11
- import {
12
- SheetClose
13
- } from "./chunk-6KELG2EG.js";
10
+ } from "./chunk-5DSKMG2I.js";
14
11
  import {
15
12
  Collapsible,
16
13
  CollapsibleContent,
17
14
  CollapsibleTrigger
18
15
  } from "./chunk-T6KM63FZ.js";
16
+ import {
17
+ SheetClose
18
+ } from "./chunk-6KELG2EG.js";
19
19
  import {
20
20
  Button
21
21
  } from "./chunk-HMU5IELG.js";
@@ -278,4 +278,4 @@ function Disclosure({
278
278
  export {
279
279
  Disclosure
280
280
  };
281
- //# sourceMappingURL=chunk-QZRDCFHI.js.map
281
+ //# sourceMappingURL=chunk-JM4HQPAI.js.map
@@ -7,7 +7,7 @@ import {
7
7
  } from "./chunk-W6KAUGXO.js";
8
8
  import {
9
9
  useRigs
10
- } from "./chunk-LVONK3YQ.js";
10
+ } from "./chunk-QRKTESVE.js";
11
11
  import {
12
12
  useOpenGeni
13
13
  } from "./chunk-TVQCDDSZ.js";
@@ -37,4 +37,4 @@ function useWorkspaceRigs(options = {}) {
37
37
  export {
38
38
  useWorkspaceRigs
39
39
  };
40
- //# sourceMappingURL=chunk-PIVGX42P.js.map
40
+ //# sourceMappingURL=chunk-JNY5MT3I.js.map
@@ -1,16 +1,16 @@
1
1
  "use client";
2
+ import {
3
+ ToolDetailsProvider
4
+ } from "./chunk-RZLBICR5.js";
2
5
  import {
3
6
  useRetainedReads
4
- } from "./chunk-JKUICTLM.js";
7
+ } from "./chunk-NLAFNMPK.js";
5
8
  import {
6
9
  joinClientConfigRead
7
10
  } from "./chunk-IGVL3ELX.js";
8
- import {
9
- ToolDetailsProvider
10
- } from "./chunk-RZLBICR5.js";
11
11
  import {
12
12
  usePageLiveActivity
13
- } from "./chunk-NAWXARTY.js";
13
+ } from "./chunk-2KO2G3RI.js";
14
14
  import {
15
15
  ErrorMessageContext
16
16
  } from "./chunk-CM7LVUKC.js";
@@ -20,7 +20,7 @@ import {
20
20
  import {
21
21
  OpenGeniMessagesProvider,
22
22
  useOpenGeniText
23
- } from "./chunk-5JZYPZ72.js";
23
+ } from "./chunk-JFK7NTEA.js";
24
24
 
25
25
  // src/provider.tsx
26
26
  import {
@@ -384,4 +384,4 @@ function reloadForContractMismatchOnce(mismatch) {
384
384
  export {
385
385
  OpenGeniProvider
386
386
  };
387
- //# sourceMappingURL=chunk-XWWXIZFP.js.map
387
+ //# sourceMappingURL=chunk-JO6R5EXF.js.map
@@ -1,21 +1,21 @@
1
1
  "use client";
2
+ import {
3
+ DropdownMenu,
4
+ DropdownMenuContent,
5
+ DropdownMenuTrigger
6
+ } from "./chunk-TREHTIBD.js";
2
7
  import {
3
8
  LogoTileSizeProvider
4
9
  } from "./chunk-FQQEZUSN.js";
10
+ import {
11
+ RelativeTimeDefaultsContext
12
+ } from "./chunk-XG57V2BN.js";
5
13
  import {
6
14
  useSectionListFrame
7
15
  } from "./chunk-ZMBJPN4T.js";
8
16
  import {
9
17
  Skeleton
10
18
  } from "./chunk-HY7EYWIG.js";
11
- import {
12
- RelativeTimeDefaultsContext
13
- } from "./chunk-XG57V2BN.js";
14
- import {
15
- DropdownMenu,
16
- DropdownMenuContent,
17
- DropdownMenuTrigger
18
- } from "./chunk-TREHTIBD.js";
19
19
  import {
20
20
  cn
21
21
  } from "./chunk-TXS65BB2.js";
@@ -779,4 +779,4 @@ export {
779
779
  ListRow,
780
780
  ListRowSkeleton
781
781
  };
782
- //# sourceMappingURL=chunk-MM7OKOTE.js.map
782
+ //# sourceMappingURL=chunk-JQCGPTZ6.js.map
@@ -0,0 +1,37 @@
1
+ "use client";
2
+
3
+ // src/app/lib/site-opened.tsx
4
+ import { useEffect } from "react";
5
+ var SITE_OPENED_EVENT = "opengeni:site-opened";
6
+ function useRecordSiteOpened(client, workspaceId, siteId) {
7
+ useEffect(() => {
8
+ if (typeof client.recordSiteOpened !== "function") return;
9
+ let current = true;
10
+ client.recordSiteOpened(workspaceId, siteId).then(() => {
11
+ if (!current) return;
12
+ window.dispatchEvent(
13
+ new CustomEvent(SITE_OPENED_EVENT, { detail: { workspaceId, siteId } })
14
+ );
15
+ }).catch(() => void 0);
16
+ return () => {
17
+ current = false;
18
+ };
19
+ }, [client, workspaceId, siteId]);
20
+ }
21
+ function useSiteOpenedListener(workspaceId, onOpened, enabled = true) {
22
+ useEffect(() => {
23
+ if (!enabled) return;
24
+ const listener = (event) => {
25
+ const detail = event.detail;
26
+ if (detail?.workspaceId === workspaceId) onOpened();
27
+ };
28
+ window.addEventListener(SITE_OPENED_EVENT, listener);
29
+ return () => window.removeEventListener(SITE_OPENED_EVENT, listener);
30
+ }, [workspaceId, onOpened, enabled]);
31
+ }
32
+
33
+ export {
34
+ useRecordSiteOpened,
35
+ useSiteOpenedListener
36
+ };
37
+ //# sourceMappingURL=chunk-JRSNCSZN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/app/lib/site-opened.tsx"],"sourcesContent":["import { useEffect } from \"react\";\n\nconst SITE_OPENED_EVENT = \"opengeni:site-opened\";\n\ntype SiteOpenedDetail = { workspaceId: string; siteId: string };\n\n/** Opening a Site in the app counts as activity on its sidebar row. */\nexport function useRecordSiteOpened(\n client: { recordSiteOpened?: (workspaceId: string, siteId: string) => Promise<unknown> },\n workspaceId: string,\n siteId: string,\n): void {\n useEffect(() => {\n if (typeof client.recordSiteOpened !== \"function\") return;\n let current = true;\n client\n .recordSiteOpened(workspaceId, siteId)\n .then(() => {\n if (!current) return;\n window.dispatchEvent(\n new CustomEvent<SiteOpenedDetail>(SITE_OPENED_EVENT, { detail: { workspaceId, siteId } }),\n );\n })\n // Ordering is a convenience: a server without it, or a failed write,\n // leaves the Site and its row as they were.\n .catch(() => undefined);\n return () => {\n current = false;\n };\n }, [client, workspaceId, siteId]);\n}\n\n/** Calls `onOpened` after this workspace records a Site open. */\nexport function useSiteOpenedListener(\n workspaceId: string,\n onOpened: () => void,\n enabled = true,\n): void {\n useEffect(() => {\n if (!enabled) return;\n const listener = (event: Event) => {\n const detail = (event as CustomEvent<SiteOpenedDetail>).detail;\n if (detail?.workspaceId === workspaceId) onOpened();\n };\n window.addEventListener(SITE_OPENED_EVENT, listener);\n return () => window.removeEventListener(SITE_OPENED_EVENT, listener);\n }, [workspaceId, onOpened, enabled]);\n}\n"],"mappings":";;;AAAA,SAAS,iBAAiB;AAE1B,IAAM,oBAAoB;AAKnB,SAAS,oBACd,QACA,aACA,QACM;AACN,YAAU,MAAM;AACd,QAAI,OAAO,OAAO,qBAAqB,WAAY;AACnD,QAAI,UAAU;AACd,WACG,iBAAiB,aAAa,MAAM,EACpC,KAAK,MAAM;AACV,UAAI,CAAC,QAAS;AACd,aAAO;AAAA,QACL,IAAI,YAA8B,mBAAmB,EAAE,QAAQ,EAAE,aAAa,OAAO,EAAE,CAAC;AAAA,MAC1F;AAAA,IACF,CAAC,EAGA,MAAM,MAAM,MAAS;AACxB,WAAO,MAAM;AACX,gBAAU;AAAA,IACZ;AAAA,EACF,GAAG,CAAC,QAAQ,aAAa,MAAM,CAAC;AAClC;AAGO,SAAS,sBACd,aACA,UACA,UAAU,MACJ;AACN,YAAU,MAAM;AACd,QAAI,CAAC,QAAS;AACd,UAAM,WAAW,CAAC,UAAiB;AACjC,YAAM,SAAU,MAAwC;AACxD,UAAI,QAAQ,gBAAgB,YAAa,UAAS;AAAA,IACpD;AACA,WAAO,iBAAiB,mBAAmB,QAAQ;AACnD,WAAO,MAAM,OAAO,oBAAoB,mBAAmB,QAAQ;AAAA,EACrE,GAAG,CAAC,aAAa,UAAU,OAAO,CAAC;AACrC;","names":[]}
@@ -1,14 +1,14 @@
1
1
  "use client";
2
+ import {
3
+ capabilityOn,
4
+ draftFromRequest
5
+ } from "./chunk-T6JQPVHA.js";
2
6
  import {
3
7
  buildTools
4
8
  } from "./chunk-L6Y4ALSM.js";
5
9
  import {
6
10
  sessionMcpPermissionGroups
7
11
  } from "./chunk-FIDD34ZF.js";
8
- import {
9
- capabilityOn,
10
- draftFromRequest
11
- } from "./chunk-T6JQPVHA.js";
12
12
 
13
13
  // src/app/lib/session-create.tsx
14
14
  import {
@@ -392,4 +392,4 @@ export {
392
392
  managedBackendOptions,
393
393
  selfhostedCapabilityChips
394
394
  };
395
- //# sourceMappingURL=chunk-KNFDWNCH.js.map
395
+ //# sourceMappingURL=chunk-JXT5QDJC.js.map
@@ -14,13 +14,13 @@ import {
14
14
  editableArtifactStatusLabel,
15
15
  useArtifactSubmissions,
16
16
  useEditableArtifactView
17
- } from "./chunk-6JKZILLF.js";
17
+ } from "./chunk-3RQUWFZT.js";
18
18
  import {
19
19
  cn
20
20
  } from "./chunk-TXS65BB2.js";
21
21
  import {
22
22
  useOpenGeniText
23
- } from "./chunk-5JZYPZ72.js";
23
+ } from "./chunk-JFK7NTEA.js";
24
24
 
25
25
  // src/components/artifacts/presentation-editor.tsx
26
26
  import {
@@ -3547,4 +3547,4 @@ export {
3547
3547
  PresentationProjectionArtifactSurface,
3548
3548
  EditablePresentationArtifactSurface
3549
3549
  };
3550
- //# sourceMappingURL=chunk-OR37STQZ.js.map
3550
+ //# sourceMappingURL=chunk-KEXYBG7Q.js.map
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import {
3
3
  t
4
- } from "./chunk-HPPKLBTJ.js";
4
+ } from "./chunk-TJQDL3JH.js";
5
5
  import {
6
6
  machineDisplayName
7
7
  } from "./chunk-BOG2FED3.js";
@@ -67,4 +67,4 @@ export {
67
67
  isPersonalMachine,
68
68
  moveChatToMachine
69
69
  };
70
- //# sourceMappingURL=chunk-AZVANYMB.js.map
70
+ //# sourceMappingURL=chunk-KUNFUSZ7.js.map
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-GQPRDEHX.js";
5
5
  import {
6
6
  useNavigate
7
- } from "./chunk-MYNUBDU7.js";
7
+ } from "./chunk-VYKW6TB2.js";
8
8
 
9
9
  // src/app/components/in-app-help-link.tsx
10
10
  import { jsx } from "react/jsx-runtime";
@@ -20,4 +20,4 @@ function InAppHelpLink({
20
20
  export {
21
21
  InAppHelpLink
22
22
  };
23
- //# sourceMappingURL=chunk-DXZNDKQD.js.map
23
+ //# sourceMappingURL=chunk-LEEJBZ5B.js.map
@@ -420,4 +420,4 @@ export {
420
420
  toolMatchesLeaf,
421
421
  toolDisplayName
422
422
  };
423
- //# sourceMappingURL=chunk-STUCI6QA.js.map
423
+ //# sourceMappingURL=chunk-LEKBNKLD.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/timeline/tool-steps.ts","../src/timeline/tool-display-name.ts"],"sourcesContent":["/**\n * Plain step names for Opengeni's own tools.\n *\n * Every built-in tool reads as an everyday step (\"Searching the web\" while it\n * runs, \"Searched the web\" once done) instead of its wire name\n * (\"web_search_call\"). Several tools share a step when a person would describe\n * them the same way. Hosts reword or translate a step through the catalog keys\n * `timeline.toolStep.<step>.running` and `timeline.toolStep.<step>.done`.\n *\n * A test keeps this map complete: adding a built-in tool without a step fails it.\n */\n\nimport type { OpenGeniText } from \"../messages/runtime\";\n\nexport const TOOL_STEP_IDS = [\n \"archiveDocument\",\n \"archiveNote\",\n \"askForHelp\",\n \"askYou\",\n \"changeModel\",\n \"checkAccounts\",\n \"checkChats\",\n \"checkDocuments\",\n \"checkModels\",\n \"checkNotes\",\n \"checkProgress\",\n \"checkProjects\",\n \"checkSchedules\",\n \"checkScreens\",\n \"checkSettings\",\n \"checkSite\",\n \"chooseChat\",\n \"completeGoal\",\n \"confirmUpdate\",\n \"coordinateWork\",\n \"createDocument\",\n \"createImage\",\n \"createSchedule\",\n \"createVideo\",\n \"deleteMessage\",\n \"deletePassword\",\n \"download\",\n \"editDocument\",\n \"editFile\",\n \"enableScreenControl\",\n \"exportDocument\",\n \"findComputers\",\n \"findGuides\",\n \"findPassword\",\n \"findTools\",\n \"listRepositories\",\n \"lookAtImage\",\n \"lookAtPage\",\n \"lookAtScreen\",\n \"manageChat\",\n \"manageSetup\",\n \"manageSignIns\",\n \"manageWorkspace\",\n \"messageAssistant\",\n \"nameChat\",\n \"noteProgress\",\n \"notify\",\n \"openBrowser\",\n \"openFile\",\n \"openScreen\",\n \"organizeProjects\",\n \"pauseGoal\",\n \"postSlack\",\n \"proposeUpdate\",\n \"readAccounting\",\n \"readGuide\",\n \"readPage\",\n \"readPosts\",\n \"readSlack\",\n \"recordBrowser\",\n \"removeComputer\",\n \"removeGuide\",\n \"replyToPost\",\n \"requestAccess\",\n \"restoreDocument\",\n \"resumeGoal\",\n \"runCode\",\n \"runCommand\",\n \"runSchedule\",\n \"saveGuide\",\n \"saveNote\",\n \"savePassword\",\n \"searchCode\",\n \"searchDocuments\",\n \"searchFiles\",\n \"searchWeb\",\n \"setGoal\",\n \"setUpComputer\",\n \"shareBrowser\",\n \"shareFile\",\n \"signIn\",\n \"startHelper\",\n \"switchComputer\",\n \"syncPosts\",\n \"tidyInbox\",\n \"updateAccounting\",\n \"updateInstructions\",\n \"updateSchedule\",\n \"updateSettings\",\n \"updateSite\",\n \"useBrowser\",\n \"useClipboard\",\n \"useComputer\",\n \"useScreen\",\n \"useTool\",\n \"wait\",\n \"withdrawNotification\",\n \"workInBrowser\",\n \"workInExcel\",\n] as const;\n\nexport type ToolStepId = (typeof TOOL_STEP_IDS)[number];\n\n/** Running reads as ongoing (\"Searching the web\"); done as finished (\"Searched the web\"). */\nexport type ToolStepPhase = \"running\" | \"done\";\n\n/** Opengeni's own tools, by leaf name, and the step each one reads as. */\nconst BUILT_IN_TOOL_STEPS: Readonly<Record<string, ToolStepId>> = {\n // Chats, goals and notifications\n set_session_title: \"nameChat\",\n set_other_session_title: \"nameChat\",\n notify_user: \"notify\",\n notification_withdraw: \"withdrawNotification\",\n inbox_tidy: \"tidyInbox\",\n goal_set: \"setGoal\",\n goal_update: \"setGoal\",\n goal_progress: \"noteProgress\",\n goal_complete: \"completeGoal\",\n goal_pause: \"pauseGoal\",\n goal_resume: \"resumeGoal\",\n wait_for_input: \"wait\",\n request_human_input: \"askYou\",\n interaction_request_human: \"askForHelp\",\n\n // Notes, knowledge and instructions\n knowledge_search: \"checkNotes\",\n knowledge_get: \"checkNotes\",\n knowledge_browse: \"checkNotes\",\n knowledge_source_fetch: \"checkNotes\",\n knowledge_source_read: \"checkNotes\",\n memory_search: \"checkNotes\",\n preference_registry_summary: \"checkNotes\",\n preference_registry_get: \"checkNotes\",\n task_notes_list: \"checkNotes\",\n instruction_policy_get: \"checkNotes\",\n knowledge_prepare_save: \"saveNote\",\n knowledge_save: \"saveNote\",\n knowledge_retain_file: \"saveNote\",\n knowledge_retain_message: \"saveNote\",\n knowledge_correct: \"saveNote\",\n memory_save: \"saveNote\",\n memory_correct: \"saveNote\",\n task_note_save: \"saveNote\",\n task_note_replace: \"saveNote\",\n task_note_promote_knowledge: \"saveNote\",\n task_note_promote_preference: \"saveNote\",\n task_note_promote_instruction_policy: \"saveNote\",\n remember: \"saveNote\",\n remember_confirm: \"saveNote\",\n knowledge_archive: \"archiveNote\",\n task_note_archive: \"archiveNote\",\n knowledge_propose: \"proposeUpdate\",\n instruction_policy_propose: \"proposeUpdate\",\n preference_propose: \"proposeUpdate\",\n company_profile_propose: \"proposeUpdate\",\n company_profile_confirm: \"confirmUpdate\",\n instruction_policy_save: \"updateInstructions\",\n work_claim_upsert: \"coordinateWork\",\n work_claim_release: \"coordinateWork\",\n\n // Guides (Skills)\n skill_read: \"readGuide\",\n repository_skill_read: \"readGuide\",\n skill_checkout: \"readGuide\",\n skill_search: \"findGuides\",\n skill_save: \"saveGuide\",\n skill_publish: \"saveGuide\",\n skill_install: \"saveGuide\",\n skill_remove: \"removeGuide\",\n\n // Computers\n sandboxes_list: \"findComputers\",\n sandbox_attach: \"switchComputer\",\n sandbox_swap: \"switchComputer\",\n run_on: \"useComputer\",\n sandbox_provision: \"setUpComputer\",\n connected_machine_enroll_token: \"setUpComputer\",\n connected_machine_remove: \"removeComputer\",\n connected_machine_enable_screen_control: \"enableScreenControl\",\n exec_command: \"runCommand\",\n write_stdin: \"runCommand\",\n local_shell_call: \"runCommand\",\n shell_call: \"runCommand\",\n code_interpreter_call: \"runCode\",\n apply_patch: \"editFile\",\n apply_patch_call: \"editFile\",\n view_image: \"lookAtImage\",\n code_search: \"searchCode\",\n file_search_call: \"searchFiles\",\n files_get_download_url: \"openFile\",\n\n // Screens and the browser\n interaction_discover: \"checkScreens\",\n computer_open: \"openScreen\",\n computer_targets: \"lookAtScreen\",\n computer_observe: \"lookAtScreen\",\n computer_screenshot: \"lookAtScreen\",\n computer_act: \"useScreen\",\n computer_call: \"useScreen\",\n computer_lifecycle: \"useScreen\",\n computer_clipboard: \"useClipboard\",\n browser_open: \"openBrowser\",\n browser_tabs: \"useBrowser\",\n browser_lifecycle: \"useBrowser\",\n browser_debug: \"useBrowser\",\n browser_observe: \"readPage\",\n browser_read: \"readPage\",\n browser_screenshot: \"lookAtPage\",\n browser_act: \"workInBrowser\",\n browser_clipboard: \"useClipboard\",\n browser_downloads: \"download\",\n browser_download_save: \"download\",\n browser_record: \"recordBrowser\",\n browser_auth: \"signIn\",\n browser_identity: \"manageSignIns\",\n browser_publish: \"shareBrowser\",\n excel_run: \"workInExcel\",\n\n // Projects, other chats and helpers\n project_list: \"checkProjects\",\n project_get: \"checkProjects\",\n project_create: \"organizeProjects\",\n project_update: \"organizeProjects\",\n project_reorder: \"organizeProjects\",\n project_delete: \"organizeProjects\",\n session_set_project: \"organizeProjects\",\n sessions_list: \"checkChats\",\n session_get: \"checkChats\",\n session_events: \"checkChats\",\n session_target_get: \"checkChats\",\n session_message_status: \"checkChats\",\n session_target_set: \"chooseChat\",\n session_wait: \"wait\",\n command_wait: \"wait\",\n command_read: \"checkProgress\",\n operation_read: \"checkProgress\",\n session_set_model: \"changeModel\",\n session_create: \"startHelper\",\n session_send_message: \"messageAssistant\",\n session_steer: \"messageAssistant\",\n session_human_input_respond: \"messageAssistant\",\n session_pause: \"manageChat\",\n session_resume: \"manageChat\",\n\n // Workspace administration and setup\n admin_actions_search: \"manageWorkspace\",\n admin_action_describe: \"manageWorkspace\",\n admin_action_call: \"manageWorkspace\",\n rig_list: \"manageSetup\",\n rig_get: \"manageSetup\",\n rig_propose_change: \"manageSetup\",\n rig_verify: \"manageSetup\",\n rig_promote: \"manageSetup\",\n list_models: \"checkModels\",\n get_video_generation_capabilities: \"checkModels\",\n\n // Passwords and settings\n secret_search: \"findPassword\",\n secret_get: \"findPassword\",\n secret_save: \"savePassword\",\n secret_move: \"savePassword\",\n secret_delete: \"deletePassword\",\n variable_set_list: \"checkSettings\",\n environment_list: \"checkSettings\",\n variable_set_get_variable: \"checkSettings\",\n variable_set_set_variable: \"updateSettings\",\n environment_set_variable: \"updateSettings\",\n\n // Tools and connections\n tool_search: \"findTools\",\n tool_list: \"findTools\",\n capability_catalog_search: \"findTools\",\n tool_invoke: \"useTool\",\n capability_authorization_request: \"requestAccess\",\n custom_mcp_setup_request: \"requestAccess\",\n github_connect_link: \"requestAccess\",\n github_repositories_list: \"listRepositories\",\n\n // Web, images and video\n web_search_call: \"searchWeb\",\n generate_image: \"createImage\",\n image_generation_call: \"createImage\",\n generate_video: \"createVideo\",\n\n // Social accounts\n social_connections_list: \"checkAccounts\",\n x_accounts_list: \"checkAccounts\",\n reddit_accounts_list: \"checkAccounts\",\n social_posts_recent: \"readPosts\",\n social_daily_analysis_context: \"readPosts\",\n social_search_live: \"readPosts\",\n social_mentions_live: \"readPosts\",\n social_thread_fetch: \"readPosts\",\n x_search_live: \"readPosts\",\n x_mentions_live: \"readPosts\",\n x_thread_fetch: \"readPosts\",\n reddit_search_live: \"readPosts\",\n reddit_mentions_live: \"readPosts\",\n reddit_thread_fetch: \"readPosts\",\n social_posts_sync: \"syncPosts\",\n x_posts_sync: \"syncPosts\",\n reddit_posts_sync: \"syncPosts\",\n social_post_reply: \"replyToPost\",\n x_post_reply: \"replyToPost\",\n reddit_post_reply: \"replyToPost\",\n\n // Scheduled tasks\n scheduled_tasks_list: \"checkSchedules\",\n scheduled_tasks_get: \"checkSchedules\",\n scheduled_task_runs_list: \"checkSchedules\",\n scheduled_tasks_create: \"createSchedule\",\n scheduled_tasks_update: \"updateSchedule\",\n scheduled_tasks_pause: \"updateSchedule\",\n scheduled_tasks_resume: \"updateSchedule\",\n scheduled_tasks_delete: \"updateSchedule\",\n scheduled_tasks_trigger: \"runSchedule\",\n\n // Slack\n slack_bot_list_channels: \"readSlack\",\n slack_bot_search: \"readSlack\",\n slack_bot_channel_history: \"readSlack\",\n slack_bot_thread_replies: \"readSlack\",\n slack_bot_list_users: \"readSlack\",\n slack_bot_list_files: \"readSlack\",\n slack_bot_file_info: \"readSlack\",\n slack_bot_file_content: \"readSlack\",\n slack_bot_upload_file: \"postSlack\",\n slack_bot_post_message: \"postSlack\",\n slack_bot_prepare_message: \"postSlack\",\n slack_bot_send_prepared_message: \"postSlack\",\n slack_bot_delete_message: \"deleteMessage\",\n\n // Accounting\n fiken_companies_list: \"readAccounting\",\n fiken_contacts_list: \"readAccounting\",\n fiken_products_list: \"readAccounting\",\n fiken_invoices_list: \"readAccounting\",\n fiken_invoice_get: \"readAccounting\",\n fiken_bank_accounts_list: \"readAccounting\",\n fiken_purchases_list: \"readAccounting\",\n fiken_sales_list: \"readAccounting\",\n fiken_contact_create: \"updateAccounting\",\n fiken_invoice_draft_create: \"updateAccounting\",\n\n // Documents, files and Sites\n search_documents: \"searchDocuments\",\n list_document_bases: \"checkDocuments\",\n memory_propose: \"proposeUpdate\",\n atlassian_sources_list: \"searchDocuments\",\n atlassian_search: \"searchDocuments\",\n atlassian_get: \"searchDocuments\",\n artifacts_list: \"checkDocuments\",\n artifacts_get_source: \"checkDocuments\",\n editable_artifact_list: \"checkDocuments\",\n editable_artifact_get: \"checkDocuments\",\n editable_artifact_inspect: \"checkDocuments\",\n editable_artifact_export_status: \"checkDocuments\",\n artifacts_prepare_upload: \"createDocument\",\n artifacts_create: \"createDocument\",\n editable_artifact_create: \"createDocument\",\n editable_artifact_import: \"createDocument\",\n editable_artifact_apply: \"editDocument\",\n editable_artifact_export: \"exportDocument\",\n artifacts_publish: \"shareFile\",\n sandbox_file_publish: \"shareFile\",\n artifacts_rollback: \"restoreDocument\",\n artifacts_restore: \"restoreDocument\",\n artifacts_archive: \"archiveDocument\",\n site_data_describe: \"checkSite\",\n site_data_query: \"checkSite\",\n site_data_export: \"checkSite\",\n site_files_list: \"checkSite\",\n site_publication_get: \"checkSite\",\n site_hostname_check: \"checkSite\",\n site_sql_inspect: \"checkSite\",\n site_sql_query: \"checkSite\",\n site_sql_export: \"checkSite\",\n site_data_define_collection: \"updateSite\",\n site_data_write: \"updateSite\",\n site_data_import: \"updateSite\",\n site_data_reset: \"updateSite\",\n site_files_upload: \"updateSite\",\n site_files_delete: \"updateSite\",\n site_publication_update: \"updateSite\",\n site_publication_apply_fix: \"updateSite\",\n site_sql_enable: \"updateSite\",\n site_sql_migrate: \"updateSite\",\n site_sql_define_query: \"updateSite\",\n site_sql_run: \"updateSite\",\n site_sql_execute: \"updateSite\",\n site_sql_import: \"updateSite\",\n site_sql_reset: \"updateSite\",\n};\n\n/** Every tool leaf name that has a built-in step (for completeness checks). */\nexport const BUILT_IN_TOOL_STEP_NAMES: readonly string[] = Object.keys(BUILT_IN_TOOL_STEPS);\n\n/** The plain step a built-in tool reads as, by leaf name; null for any other tool. */\nexport function builtInToolStep(leaf: string): ToolStepId | null {\n return Object.hasOwn(BUILT_IN_TOOL_STEPS, leaf) ? BUILT_IN_TOOL_STEPS[leaf]! : null;\n}\n\n/** A step's words in the host's catalog: running (\"Searching the web\") or done (\"Searched the web\"). */\nexport function toolStepLabel(t: OpenGeniText, step: ToolStepId, phase: ToolStepPhase): string {\n return t(`timeline.toolStep.${step}.${phase}`);\n}\n\n/**\n * The phase a call's status reads in: only a call that finished reads as done.\n * A running, failed or interrupted call keeps the ongoing form, so its chip\n * (\"Failed\", \"Interrupted\") finishes the sentence.\n */\nexport function toolStepPhase(status: string | undefined): ToolStepPhase {\n return status === \"complete\" ? \"done\" : \"running\";\n}\n\n/** The plain step name for a built-in tool, by leaf name; null for any other tool. */\nexport function builtInToolStepLabel(\n t: OpenGeniText,\n leaf: string,\n phase: ToolStepPhase,\n): string | null {\n const step = builtInToolStep(leaf);\n return step ? toolStepLabel(t, step, phase) : null;\n}\n","/**\n * MCP / first-party tool naming helpers.\n *\n * Wire names are often `<serverId>__<toolName>` (see prefixedMcpToolName).\n * Matching and titles must use the leaf tool name so `opengeni__session_create`\n * and bare `session_create` resolve the same UI — without inventing previews\n * from argument JSON.\n */\n\nimport type { ToolDisplayMetadata } from \"@opengeni/sdk\";\nimport { type OpenGeniText } from \"../messages/runtime\";\nimport { builtInToolStepLabel, type ToolStepPhase } from \"./tool-steps\";\n\n/** Leaf tool name after the first `__` server boundary (or the whole name). */\nexport function mcpToolLeaf(name: string): string {\n const boundary = name.indexOf(\"__\");\n return boundary >= 0 ? name.slice(boundary + 2) : name;\n}\n\n/**\n * True when `wireName` is exactly `leaf` or ends with `__${leaf}` (MCP prefix).\n * Does not treat arbitrary suffixes as matches — the leaf must be the full\n * right-hand side after `__`.\n */\nexport function toolMatchesLeaf(wireName: string, leaf: string): boolean {\n return wireName === leaf || wireName.endsWith(`__${leaf}`);\n}\n\n/**\n * Readable label for a tool call. Opengeni's own tools read as plain steps in\n * the given phase (\"opengeni__session_create\" → \"Getting help from another\n * assistant\" while running, \"Got help from another assistant\" once done; see\n * `tool-steps`). Any other tool title-cases its leaf (\"list_issues\" → \"List\n * issues\"). A connector account is named only when the connector has several\n * (\"List issues · alice@example.com\"); the connector itself shows as its logo.\n */\nexport function toolDisplayName(\n t: OpenGeniText,\n name: string,\n display?: ToolDisplayMetadata,\n phase: ToolStepPhase = \"done\",\n): string {\n if (!display && /^[a-f0-9]{64}$/.test(name)) return t(\"timeline.toolDisplayName.toolCall\");\n if (!display?.connector) {\n const step = builtInToolStepLabel(t, mcpToolLeaf(name), phase);\n if (step) return step;\n }\n // \"batch modify messages\" → \"Modify messages\": batching is transport, not the action.\n const phrase = (display?.toolName ?? mcpToolLeaf(name))\n .replace(/[_-]+/g, \" \")\n .trim()\n .replace(/^batch\\s+(?=\\S)/i, \"\");\n const title =\n display?.title ?? (phrase ? phrase.charAt(0).toUpperCase() + phrase.slice(1) : name);\n // Older events carry the full \"Connector — Personal: account · Only me\" route\n // label for every account route without saying whether there were several.\n // The tool name alone reads better than that.\n if (!display?.connector) return title;\n return display.accountLabel ? `${title} · ${display.accountLabel}` : title;\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../src/timeline/tool-steps.ts","../src/timeline/tool-display-name.ts"],"sourcesContent":["/**\n * Plain step names for Opengeni's own tools.\n *\n * Every built-in tool reads as an everyday step (\"Searching the web\" while it\n * runs, \"Searched the web\" once done) instead of its wire name\n * (\"web_search_call\"). Several tools share a step when a person would describe\n * them the same way. Hosts reword or translate a step through the catalog keys\n * `timeline.toolStep.<step>.running` and `timeline.toolStep.<step>.done`.\n *\n * A test keeps this map complete: adding a built-in tool without a step fails it.\n */\n\nimport type { OpenGeniText } from \"../messages/runtime\";\n\nexport const TOOL_STEP_IDS = [\n \"archiveDocument\",\n \"archiveNote\",\n \"askForHelp\",\n \"askYou\",\n \"changeModel\",\n \"checkAccounts\",\n \"checkChats\",\n \"checkDocuments\",\n \"checkModels\",\n \"checkNotes\",\n \"checkProgress\",\n \"checkProjects\",\n \"checkSchedules\",\n \"checkScreens\",\n \"checkSettings\",\n \"checkSite\",\n \"chooseChat\",\n \"completeGoal\",\n \"confirmUpdate\",\n \"coordinateWork\",\n \"createDocument\",\n \"createImage\",\n \"createSchedule\",\n \"createVideo\",\n \"deleteMessage\",\n \"deletePassword\",\n \"download\",\n \"editDocument\",\n \"editFile\",\n \"enableScreenControl\",\n \"exportDocument\",\n \"findComputers\",\n \"findGuides\",\n \"findPassword\",\n \"findTools\",\n \"listRepositories\",\n \"lookAtImage\",\n \"lookAtPage\",\n \"lookAtScreen\",\n \"manageChat\",\n \"manageSetup\",\n \"manageSignIns\",\n \"manageWorkspace\",\n \"messageAssistant\",\n \"nameChat\",\n \"noteProgress\",\n \"notify\",\n \"openBrowser\",\n \"openFile\",\n \"openScreen\",\n \"organizeProjects\",\n \"pauseGoal\",\n \"postSlack\",\n \"proposeUpdate\",\n \"readAccounting\",\n \"readGuide\",\n \"readPage\",\n \"readPosts\",\n \"readSlack\",\n \"recordBrowser\",\n \"removeComputer\",\n \"removeGuide\",\n \"replyToPost\",\n \"requestAccess\",\n \"restoreDocument\",\n \"resumeGoal\",\n \"runCode\",\n \"runCommand\",\n \"runSchedule\",\n \"saveGuide\",\n \"saveNote\",\n \"savePassword\",\n \"searchCode\",\n \"searchDocuments\",\n \"searchFiles\",\n \"searchWeb\",\n \"setGoal\",\n \"setUpComputer\",\n \"shareBrowser\",\n \"shareFile\",\n \"signIn\",\n \"startHelper\",\n \"switchComputer\",\n \"syncPosts\",\n \"tidyInbox\",\n \"updateAccounting\",\n \"updateInstructions\",\n \"updateSchedule\",\n \"updateSettings\",\n \"updateSite\",\n \"useBrowser\",\n \"useClipboard\",\n \"useComputer\",\n \"useScreen\",\n \"useTool\",\n \"wait\",\n \"withdrawNotification\",\n \"workInBrowser\",\n \"workInExcel\",\n] as const;\n\nexport type ToolStepId = (typeof TOOL_STEP_IDS)[number];\n\n/** Running reads as ongoing (\"Searching the web\"); done as finished (\"Searched the web\"). */\nexport type ToolStepPhase = \"running\" | \"done\";\n\n/** Opengeni's own tools, by leaf name, and the step each one reads as. */\nconst BUILT_IN_TOOL_STEPS: Readonly<Record<string, ToolStepId>> = {\n // Chats, goals and notifications\n set_session_title: \"nameChat\",\n set_other_session_title: \"nameChat\",\n notify_user: \"notify\",\n notification_withdraw: \"withdrawNotification\",\n inbox_tidy: \"tidyInbox\",\n goal_set: \"setGoal\",\n goal_update: \"setGoal\",\n goal_progress: \"noteProgress\",\n goal_complete: \"completeGoal\",\n goal_pause: \"pauseGoal\",\n goal_resume: \"resumeGoal\",\n wait_for_input: \"wait\",\n request_human_input: \"askYou\",\n interaction_request_human: \"askForHelp\",\n\n // Notes, knowledge and instructions\n knowledge_search: \"checkNotes\",\n knowledge_get: \"checkNotes\",\n knowledge_browse: \"checkNotes\",\n knowledge_source_fetch: \"checkNotes\",\n knowledge_source_read: \"checkNotes\",\n memory_search: \"checkNotes\",\n preference_registry_summary: \"checkNotes\",\n preference_registry_get: \"checkNotes\",\n task_notes_list: \"checkNotes\",\n instruction_policy_get: \"checkNotes\",\n knowledge_prepare_save: \"saveNote\",\n knowledge_save: \"saveNote\",\n knowledge_retain_file: \"saveNote\",\n knowledge_retain_message: \"saveNote\",\n knowledge_correct: \"saveNote\",\n memory_save: \"saveNote\",\n memory_correct: \"saveNote\",\n task_note_save: \"saveNote\",\n task_note_replace: \"saveNote\",\n task_note_promote_knowledge: \"saveNote\",\n task_note_promote_preference: \"saveNote\",\n task_note_promote_instruction_policy: \"saveNote\",\n remember: \"saveNote\",\n remember_confirm: \"saveNote\",\n knowledge_archive: \"archiveNote\",\n task_note_archive: \"archiveNote\",\n knowledge_propose: \"proposeUpdate\",\n instruction_policy_propose: \"proposeUpdate\",\n preference_propose: \"proposeUpdate\",\n company_profile_propose: \"proposeUpdate\",\n company_profile_confirm: \"confirmUpdate\",\n instruction_policy_save: \"updateInstructions\",\n work_claim_upsert: \"coordinateWork\",\n work_claim_release: \"coordinateWork\",\n\n // Guides (Skills)\n skill_read: \"readGuide\",\n repository_skill_read: \"readGuide\",\n skill_checkout: \"readGuide\",\n skill_search: \"findGuides\",\n skill_save: \"saveGuide\",\n skill_publish: \"saveGuide\",\n skill_install: \"saveGuide\",\n skill_remove: \"removeGuide\",\n\n // Computers\n sandboxes_list: \"findComputers\",\n sandbox_attach: \"switchComputer\",\n sandbox_swap: \"switchComputer\",\n run_on: \"useComputer\",\n sandbox_provision: \"setUpComputer\",\n connected_machine_enroll_token: \"setUpComputer\",\n connected_machine_remove: \"removeComputer\",\n connected_machine_enable_screen_control: \"enableScreenControl\",\n exec_command: \"runCommand\",\n write_stdin: \"runCommand\",\n local_shell_call: \"runCommand\",\n shell_call: \"runCommand\",\n code_interpreter_call: \"runCode\",\n apply_patch: \"editFile\",\n apply_patch_call: \"editFile\",\n view_image: \"lookAtImage\",\n code_search: \"searchCode\",\n file_search_call: \"searchFiles\",\n files_get_download_url: \"openFile\",\n\n // Screens and the browser\n interaction_discover: \"checkScreens\",\n computer_open: \"openScreen\",\n computer_targets: \"lookAtScreen\",\n computer_observe: \"lookAtScreen\",\n computer_screenshot: \"lookAtScreen\",\n computer_act: \"useScreen\",\n computer_call: \"useScreen\",\n computer_lifecycle: \"useScreen\",\n computer_clipboard: \"useClipboard\",\n browser_open: \"openBrowser\",\n browser_tabs: \"useBrowser\",\n browser_lifecycle: \"useBrowser\",\n browser_debug: \"useBrowser\",\n browser_observe: \"readPage\",\n browser_read: \"readPage\",\n browser_screenshot: \"lookAtPage\",\n browser_act: \"workInBrowser\",\n browser_clipboard: \"useClipboard\",\n browser_downloads: \"download\",\n browser_download_save: \"download\",\n browser_record: \"recordBrowser\",\n browser_auth: \"signIn\",\n browser_identity: \"manageSignIns\",\n browser_publish: \"shareBrowser\",\n excel_run: \"workInExcel\",\n\n // Projects, other chats and helpers\n project_list: \"checkProjects\",\n project_get: \"checkProjects\",\n project_create: \"organizeProjects\",\n project_update: \"organizeProjects\",\n project_reorder: \"organizeProjects\",\n project_delete: \"organizeProjects\",\n session_set_project: \"organizeProjects\",\n sessions_list: \"checkChats\",\n session_get: \"checkChats\",\n session_events: \"checkChats\",\n session_target_get: \"checkChats\",\n session_message_status: \"checkChats\",\n session_target_set: \"chooseChat\",\n session_wait: \"wait\",\n command_wait: \"wait\",\n command_read: \"checkProgress\",\n operation_read: \"checkProgress\",\n session_set_model: \"changeModel\",\n session_create: \"startHelper\",\n session_send_message: \"messageAssistant\",\n session_steer: \"messageAssistant\",\n session_human_input_respond: \"messageAssistant\",\n session_pause: \"manageChat\",\n session_resume: \"manageChat\",\n\n // Workspace administration and setup\n admin_actions_search: \"manageWorkspace\",\n admin_action_describe: \"manageWorkspace\",\n admin_action_call: \"manageWorkspace\",\n rig_list: \"manageSetup\",\n rig_get: \"manageSetup\",\n rig_propose_change: \"manageSetup\",\n rig_verify: \"manageSetup\",\n rig_promote: \"manageSetup\",\n list_models: \"checkModels\",\n get_video_generation_capabilities: \"checkModels\",\n\n // Passwords and settings\n secret_search: \"findPassword\",\n secret_get: \"findPassword\",\n secret_save: \"savePassword\",\n secret_move: \"savePassword\",\n secret_delete: \"deletePassword\",\n variable_set_list: \"checkSettings\",\n environment_list: \"checkSettings\",\n variable_set_get_variable: \"checkSettings\",\n variable_set_set_variable: \"updateSettings\",\n environment_set_variable: \"updateSettings\",\n\n // Tools and connections\n tool_search: \"findTools\",\n tool_list: \"findTools\",\n capability_catalog_search: \"findTools\",\n tool_invoke: \"useTool\",\n capability_authorization_request: \"requestAccess\",\n custom_mcp_setup_request: \"requestAccess\",\n github_connect_link: \"requestAccess\",\n github_repositories_list: \"listRepositories\",\n\n // Web, images and video\n web_search_call: \"searchWeb\",\n generate_image: \"createImage\",\n image_generation_call: \"createImage\",\n generate_video: \"createVideo\",\n\n // Social accounts\n social_connections_list: \"checkAccounts\",\n x_accounts_list: \"checkAccounts\",\n reddit_accounts_list: \"checkAccounts\",\n social_posts_recent: \"readPosts\",\n social_daily_analysis_context: \"readPosts\",\n social_search_live: \"readPosts\",\n social_mentions_live: \"readPosts\",\n social_thread_fetch: \"readPosts\",\n x_search_live: \"readPosts\",\n x_mentions_live: \"readPosts\",\n x_thread_fetch: \"readPosts\",\n reddit_search_live: \"readPosts\",\n reddit_mentions_live: \"readPosts\",\n reddit_thread_fetch: \"readPosts\",\n social_posts_sync: \"syncPosts\",\n x_posts_sync: \"syncPosts\",\n reddit_posts_sync: \"syncPosts\",\n social_post_reply: \"replyToPost\",\n x_post_reply: \"replyToPost\",\n reddit_post_reply: \"replyToPost\",\n\n // Scheduled tasks\n scheduled_tasks_list: \"checkSchedules\",\n scheduled_tasks_get: \"checkSchedules\",\n scheduled_task_runs_list: \"checkSchedules\",\n scheduled_tasks_create: \"createSchedule\",\n scheduled_tasks_update: \"updateSchedule\",\n scheduled_tasks_pause: \"updateSchedule\",\n scheduled_tasks_resume: \"updateSchedule\",\n scheduled_tasks_delete: \"updateSchedule\",\n scheduled_tasks_trigger: \"runSchedule\",\n\n // Slack\n slack_bot_list_channels: \"readSlack\",\n slack_bot_search: \"readSlack\",\n slack_bot_channel_history: \"readSlack\",\n slack_bot_thread_replies: \"readSlack\",\n slack_bot_list_users: \"readSlack\",\n slack_bot_list_files: \"readSlack\",\n slack_bot_file_info: \"readSlack\",\n slack_bot_file_content: \"readSlack\",\n slack_bot_upload_file: \"postSlack\",\n slack_bot_post_message: \"postSlack\",\n slack_bot_prepare_message: \"postSlack\",\n slack_bot_send_prepared_message: \"postSlack\",\n slack_bot_delete_message: \"deleteMessage\",\n\n // Accounting\n fiken_companies_list: \"readAccounting\",\n fiken_contacts_list: \"readAccounting\",\n fiken_products_list: \"readAccounting\",\n fiken_invoices_list: \"readAccounting\",\n fiken_invoice_get: \"readAccounting\",\n fiken_bank_accounts_list: \"readAccounting\",\n fiken_purchases_list: \"readAccounting\",\n fiken_sales_list: \"readAccounting\",\n fiken_contact_create: \"updateAccounting\",\n fiken_invoice_draft_create: \"updateAccounting\",\n\n // Documents, files and Sites\n search_documents: \"searchDocuments\",\n list_document_bases: \"checkDocuments\",\n memory_propose: \"proposeUpdate\",\n atlassian_sources_list: \"searchDocuments\",\n atlassian_search: \"searchDocuments\",\n atlassian_get: \"searchDocuments\",\n artifacts_list: \"checkDocuments\",\n artifacts_get_source: \"checkDocuments\",\n editable_artifact_list: \"checkDocuments\",\n editable_artifact_get: \"checkDocuments\",\n editable_artifact_inspect: \"checkDocuments\",\n editable_artifact_export_status: \"checkDocuments\",\n artifacts_prepare_upload: \"createDocument\",\n artifacts_create: \"createDocument\",\n editable_artifact_create: \"createDocument\",\n editable_artifact_import: \"createDocument\",\n editable_artifact_apply: \"editDocument\",\n editable_artifact_export: \"exportDocument\",\n artifacts_publish: \"shareFile\",\n sandbox_file_publish: \"shareFile\",\n artifacts_rollback: \"restoreDocument\",\n artifacts_restore: \"restoreDocument\",\n artifacts_archive: \"archiveDocument\",\n site_data_describe: \"checkSite\",\n site_data_query: \"checkSite\",\n site_data_export: \"checkSite\",\n site_files_list: \"checkSite\",\n site_publication_get: \"checkSite\",\n site_hostname_check: \"checkSite\",\n site_sql_inspect: \"checkSite\",\n site_sql_query: \"checkSite\",\n site_sql_export: \"checkSite\",\n site_data_define_collection: \"updateSite\",\n site_data_write: \"updateSite\",\n site_data_import: \"updateSite\",\n site_data_reset: \"updateSite\",\n site_files_upload: \"updateSite\",\n site_files_delete: \"updateSite\",\n site_publication_update: \"updateSite\",\n site_publication_apply_fix: \"updateSite\",\n site_sql_enable: \"updateSite\",\n site_sql_migrate: \"updateSite\",\n site_sql_define_query: \"updateSite\",\n site_sql_run: \"updateSite\",\n site_sql_execute: \"updateSite\",\n site_sql_import: \"updateSite\",\n site_sql_reset: \"updateSite\",\n};\n\n/** Every tool leaf name that has a built-in step (for completeness checks). */\nexport const BUILT_IN_TOOL_STEP_NAMES: readonly string[] = Object.keys(BUILT_IN_TOOL_STEPS);\n\n/** The plain step a built-in tool reads as, by leaf name; null for any other tool. */\nexport function builtInToolStep(leaf: string): ToolStepId | null {\n return Object.hasOwn(BUILT_IN_TOOL_STEPS, leaf) ? BUILT_IN_TOOL_STEPS[leaf]! : null;\n}\n\n/** A step's words in the host's catalog: running (\"Searching the web\") or done (\"Searched the web\"). */\nexport function toolStepLabel(t: OpenGeniText, step: ToolStepId, phase: ToolStepPhase): string {\n return t(`timeline.toolStep.${step}.${phase}`);\n}\n\n/**\n * The phase a call's status reads in: only a call that finished reads as done.\n * A running, failed or interrupted call keeps the ongoing form, so its chip\n * (\"Failed\", \"Interrupted\") finishes the sentence.\n */\nexport function toolStepPhase(status: string | undefined): ToolStepPhase {\n return status === \"complete\" ? \"done\" : \"running\";\n}\n\n/** The plain step name for a built-in tool, by leaf name; null for any other tool. */\nexport function builtInToolStepLabel(\n t: OpenGeniText,\n leaf: string,\n phase: ToolStepPhase,\n): string | null {\n const step = builtInToolStep(leaf);\n return step ? toolStepLabel(t, step, phase) : null;\n}\n","/**\n * MCP / first-party tool naming helpers.\n *\n * Wire names are often `<serverId>__<toolName>` (see prefixedMcpToolName).\n * Matching and titles must use the leaf tool name so `opengeni__session_create`\n * and bare `session_create` resolve the same UI — without inventing previews\n * from argument JSON.\n */\n\nimport type { ToolDisplayMetadata } from \"@opengeni/sdk\";\nimport { type OpenGeniText } from \"../messages/runtime\";\nimport { builtInToolStepLabel, type ToolStepPhase } from \"./tool-steps\";\n\n/** Leaf tool name after the first `__` server boundary (or the whole name). */\nexport function mcpToolLeaf(name: string): string {\n const boundary = name.indexOf(\"__\");\n return boundary >= 0 ? name.slice(boundary + 2) : name;\n}\n\n/**\n * True when `wireName` is exactly `leaf` or ends with `__${leaf}` (MCP prefix).\n * Does not treat arbitrary suffixes as matches — the leaf must be the full\n * right-hand side after `__`.\n */\nexport function toolMatchesLeaf(wireName: string, leaf: string): boolean {\n return wireName === leaf || wireName.endsWith(`__${leaf}`);\n}\n\n/**\n * Readable label for a tool call. Opengeni's own tools read as plain steps in\n * the given phase (\"opengeni__session_create\" → \"Starting a worker\" while\n * running, \"Started a worker\" once done; see\n * `tool-steps`). Any other tool title-cases its leaf (\"list_issues\" → \"List\n * issues\"). A connector account is named only when the connector has several\n * (\"List issues · alice@example.com\"); the connector itself shows as its logo.\n */\nexport function toolDisplayName(\n t: OpenGeniText,\n name: string,\n display?: ToolDisplayMetadata,\n phase: ToolStepPhase = \"done\",\n): string {\n if (!display && /^[a-f0-9]{64}$/.test(name)) return t(\"timeline.toolDisplayName.toolCall\");\n if (!display?.connector) {\n const step = builtInToolStepLabel(t, mcpToolLeaf(name), phase);\n if (step) return step;\n }\n // \"batch modify messages\" → \"Modify messages\": batching is transport, not the action.\n const phrase = (display?.toolName ?? mcpToolLeaf(name))\n .replace(/[_-]+/g, \" \")\n .trim()\n .replace(/^batch\\s+(?=\\S)/i, \"\");\n const title =\n display?.title ?? (phrase ? phrase.charAt(0).toUpperCase() + phrase.slice(1) : name);\n // Older events carry the full \"Connector — Personal: account · Only me\" route\n // label for every account route without saying whether there were several.\n // The tool name alone reads better than that.\n if (!display?.connector) return title;\n return display.accountLabel ? `${title} · ${display.accountLabel}` : title;\n}\n"],"mappings":"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","names":[]}
@@ -7,13 +7,13 @@ import {
7
7
  CollapsibleContent,
8
8
  CollapsibleTrigger
9
9
  } from "./chunk-T6KM63FZ.js";
10
+ import {
11
+ useAppContext
12
+ } from "./chunk-W6KAUGXO.js";
10
13
  import {
11
14
  isPermissionDenied,
12
15
  userErrorText
13
16
  } from "./chunk-L4OF77LE.js";
14
- import {
15
- useAppContext
16
- } from "./chunk-W6KAUGXO.js";
17
17
  import {
18
18
  Notice
19
19
  } from "./chunk-WLEDGIVS.js";
@@ -363,4 +363,4 @@ export {
363
363
  PermissionSelect,
364
364
  ConnectorToolPermissions
365
365
  };
366
- //# sourceMappingURL=chunk-C535KSTY.js.map
366
+ //# sourceMappingURL=chunk-LF5CBAOS.js.map
@@ -10,7 +10,7 @@ import {
10
10
  } from "./chunk-5TLEWXAB.js";
11
11
  import {
12
12
  t
13
- } from "./chunk-HPPKLBTJ.js";
13
+ } from "./chunk-TJQDL3JH.js";
14
14
  import {
15
15
  SESSION_GROUP_LABELS,
16
16
  SESSION_GROUP_ORDER,
@@ -21,7 +21,7 @@ import {
21
21
  recencyGroupFor,
22
22
  sessionActivityTime,
23
23
  sessionInputWait
24
- } from "./chunk-Z5WMLJKI.js";
24
+ } from "./chunk-22JFMNMF.js";
25
25
 
26
26
  // src/app/lib/sessions-group.tsx
27
27
  function sessionProjectTotals(totals, channelIds) {
@@ -89,6 +89,25 @@ function addRailStatusCounts(target, source) {
89
89
  target.activeWork += source.activeWork;
90
90
  }
91
91
  function railStatusCounts(node, localDeliveryAttention) {
92
+ if (node.siteGroup && node.siteSummary) {
93
+ const summary = node.siteSummary;
94
+ const waiting = Math.min(summary.waiting, summary.active);
95
+ return {
96
+ total: summary.total,
97
+ sendFailed: node.children.reduce(
98
+ (total, child) => total + loadedLocalDeliveryFailureCount(child, localDeliveryAttention),
99
+ 0
100
+ ),
101
+ attention: summary.attention,
102
+ attentionSince: summary.attentionSince,
103
+ failed: summary.failed,
104
+ active: summary.active - waiting,
105
+ queued: summary.queued,
106
+ waiting,
107
+ unread: summary.unread,
108
+ activeWork: summary.activeWork
109
+ };
110
+ }
92
111
  if (node.siteGroup) {
93
112
  const counts2 = ownRailStatusCounts(node.session, localDeliveryAttention);
94
113
  for (const key of [
@@ -457,33 +476,122 @@ function groupScheduledRuns(roots) {
457
476
  }
458
477
  return grouped;
459
478
  }
460
- function groupSiteConversations(roots) {
461
- const groups = /* @__PURE__ */ new Map();
462
- for (const node of roots) {
463
- const origin = sessionSiteOrigin(node.session);
464
- if (!origin || node.session.channelId || node.session.parentSessionId) continue;
465
- const members = groups.get(origin.siteId) ?? [];
466
- members.push(node);
467
- groups.set(origin.siteId, members);
479
+ function siteRowKey(siteId, channelId) {
480
+ return channelId === void 0 ? `site:${siteId}` : `site:${siteId}:${channelId ?? "default"}`;
481
+ }
482
+ function parseSiteRowKey(key) {
483
+ const match = /^site:([0-9a-f-]{36})(?::(.+))?$/iu.exec(key);
484
+ if (!match) return null;
485
+ const channel = match[2];
486
+ return channel === void 0 ? { siteId: match[1] } : { siteId: match[1], channelId: channel === "default" ? null : channel };
487
+ }
488
+ function laterIso(a, b) {
489
+ if (!b) return a;
490
+ return Date.parse(b) > Date.parse(a) ? b : a;
491
+ }
492
+ function siteRowSummaries(groups, byProject) {
493
+ const rows = /* @__PURE__ */ new Map();
494
+ for (const group of groups) {
495
+ const key = siteRowKey(group.siteId, byProject ? group.channelId : void 0);
496
+ const { siteId, channelId, title, ...summary } = group;
497
+ const current = rows.get(key);
498
+ if (!current) {
499
+ const origin = { siteId, title: title.trim() || "Untitled Site" };
500
+ rows.set(key, { origin, channelId, summary: { ...summary } });
501
+ continue;
502
+ }
503
+ const merged = current.summary;
504
+ for (const field of [
505
+ "conversations",
506
+ "total",
507
+ "attention",
508
+ "failed",
509
+ "active",
510
+ "queued",
511
+ "waiting",
512
+ "unread",
513
+ "activeWork"
514
+ ])
515
+ merged[field] += summary[field];
516
+ merged.attentionSince = earliestIso(merged.attentionSince, summary.attentionSince);
517
+ merged.updatedAt = laterIso(merged.updatedAt, summary.updatedAt);
518
+ merged.createdAt = laterIso(merged.createdAt, summary.createdAt);
468
519
  }
469
- const emitted = /* @__PURE__ */ new Set();
470
- return roots.flatMap((node) => {
520
+ return rows;
521
+ }
522
+ function siteRowSession(key, origin, channelId, latest, summary, options) {
523
+ const updatedAt = laterIso(summary?.updatedAt ?? latest?.updatedAt ?? "", latest?.updatedAt);
524
+ const createdAt = laterIso(summary?.createdAt ?? latest?.createdAt ?? "", latest?.createdAt);
525
+ return {
526
+ id: key,
527
+ workspaceId: latest?.workspaceId ?? options.workspaceId ?? "",
528
+ accountId: latest?.accountId ?? "",
529
+ rootSessionId: key,
530
+ parentSessionId: null,
531
+ channelId,
532
+ status: "idle",
533
+ title: origin.title,
534
+ displayTitle: origin.title,
535
+ renameSeed: origin.title,
536
+ titleSource: "user",
537
+ createdBy: latest?.createdBy ?? options.creator ?? { kind: "subject", subjectId: "" },
538
+ effectiveControl: { state: "active" },
539
+ inputWait: null,
540
+ pinned: false,
541
+ pinnedAt: null,
542
+ archived: false,
543
+ archivedAt: null,
544
+ unread: false,
545
+ activelyWorking: false,
546
+ lastSequence: 0,
547
+ treeStats: void 0,
548
+ scheduledTaskId: null,
549
+ siteOrigin: origin,
550
+ metadata: { _opengeniSiteOrigin: origin },
551
+ createdAt,
552
+ updatedAt
553
+ };
554
+ }
555
+ function attachSiteRows(roots, options = {}) {
556
+ const byProject = options.byProject ?? false;
557
+ const rows = /* @__PURE__ */ new Map();
558
+ for (const [key, row] of siteRowSummaries(options.groups ?? [], byProject))
559
+ rows.set(key, { ...row, members: [] });
560
+ const rest = [];
561
+ for (const node of roots) {
471
562
  const origin = sessionSiteOrigin(node.session);
472
- const members = origin && !node.session.channelId && !node.session.parentSessionId ? groups.get(origin.siteId) : void 0;
473
- if (!members || !origin) return [node];
474
- if (emitted.has(origin.siteId)) return [];
475
- emitted.add(origin.siteId);
476
- members.sort((a, b) => compareSessionActivity(a.session, b.session));
477
- const latest = members[0];
478
- return [
479
- {
480
- siteGroup: origin,
481
- session: { ...latest.session, id: `site:${origin.siteId}`, treeStats: void 0 },
482
- children: members,
483
- hasActiveDescendant: members.some(nodeIsActive)
484
- }
485
- ];
563
+ if (!origin || node.session.parentSessionId) {
564
+ rest.push(node);
565
+ continue;
566
+ }
567
+ const channelId = node.session.channelId ?? null;
568
+ const key = siteRowKey(origin.siteId, byProject ? channelId : void 0);
569
+ const row = rows.get(key) ?? { origin, channelId, members: [] };
570
+ row.members.push(node);
571
+ rows.set(key, row);
572
+ }
573
+ const siteRows = [...rows].map(([key, row]) => {
574
+ const members = row.members.sort((a, b) => compareSessionActivity(a.session, b.session));
575
+ const summary = row.summary;
576
+ return {
577
+ siteGroup: row.origin,
578
+ ...summary ? { siteSummary: summary } : {},
579
+ session: siteRowSession(
580
+ key,
581
+ row.origin,
582
+ row.channelId,
583
+ members[0]?.session,
584
+ summary,
585
+ options
586
+ ),
587
+ children: members,
588
+ hasActiveDescendant: members.some(nodeIsActive) || Boolean(summary && summary.active + summary.queued + summary.attention > 0)
589
+ };
486
590
  });
591
+ return [...rest, ...siteRows];
592
+ }
593
+ function siteRowConversationCount(node) {
594
+ return Math.max(node.siteSummary?.conversations ?? 0, node.children.length);
487
595
  }
488
596
  function categorizeRailRoots(rootNodes, now = /* @__PURE__ */ new Date()) {
489
597
  const running = rootNodes.filter((node) => nodeIsActive(node)).sort((a, b) => compareSessionActivity(a.session, b.session));
@@ -699,7 +807,12 @@ function buildPinnedRailSections(sessions, now = /* @__PURE__ */ new Date(), opt
699
807
  complete,
700
808
  pinned,
701
809
  ordinary: categorizeRailRoots(
702
- options.groupSites === false ? groupScheduledRuns(ordinaryRoots) : groupSiteConversations(groupScheduledRuns(ordinaryRoots)),
810
+ options.groupSites === false ? groupScheduledRuns(ordinaryRoots) : attachSiteRows(groupScheduledRuns(ordinaryRoots), {
811
+ groups: options.siteGroups,
812
+ byProject: options.siteRowsByProject,
813
+ workspaceId: options.workspaceId,
814
+ creator: options.creator
815
+ }),
703
816
  now
704
817
  )
705
818
  };
@@ -785,7 +898,10 @@ export {
785
898
  nodeIsActive,
786
899
  scheduledTaskIdOf,
787
900
  groupScheduledRuns,
788
- groupSiteConversations,
901
+ siteRowKey,
902
+ parseSiteRowKey,
903
+ attachSiteRows,
904
+ siteRowConversationCount,
789
905
  categorizeRailRoots,
790
906
  buildRailForest,
791
907
  prunePinnedSubtrees,
@@ -796,4 +912,4 @@ export {
796
912
  visibleForestRows,
797
913
  channelRailSections
798
914
  };
799
- //# sourceMappingURL=chunk-BJIZ7PL7.js.map
915
+ //# sourceMappingURL=chunk-LHLK7FUA.js.map