@opengeni/react 4.4.1 → 4.5.1-canary.39832248373001

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 (654) hide show
  1. package/dist/app/app-state.js +15 -15
  2. package/dist/app/components/Composer.js +19 -19
  3. package/dist/app/components/artifacts/artifact-browse-controls.js +3 -3
  4. package/dist/app/components/artifacts/artifact-library.js +9 -9
  5. package/dist/app/components/artifacts/artifact-page-chrome.js +2 -2
  6. package/dist/app/components/artifacts/chat-interactive-block.js +14 -14
  7. package/dist/app/components/artifacts/inline-chat-image.js +22 -21
  8. package/dist/app/components/artifacts/retained-file-preview.js +24 -23
  9. package/dist/app/components/artifacts/retained-text-preview.js +2 -2
  10. package/dist/app/components/artifacts/site-audience.js +2 -2
  11. package/dist/app/components/artifacts/site-conversations.js +14 -13
  12. package/dist/app/components/artifacts/site-data.js +4 -4
  13. package/dist/app/components/artifacts/site-publishing.js +20 -20
  14. package/dist/app/components/artifacts/site-settings.js +25 -25
  15. package/dist/app/components/billing-class-mark.js +3 -3
  16. package/dist/app/components/capabilities/capability-detail-sheet.js +6 -6
  17. package/dist/app/components/capabilities/capability-logo-source.js +8 -8
  18. package/dist/app/components/capabilities/connector-tool-permissions.js +3 -3
  19. package/dist/app/components/capabilities/native-connect-setup.js +8 -8
  20. package/dist/app/components/capabilities/prepared-mcp-setup-card.js +10 -10
  21. package/dist/app/components/capabilities/session-capability-card.js +43 -41
  22. package/dist/app/components/capabilities/session-capability-card.js.map +1 -1
  23. package/dist/app/components/capabilities/session-chrome-card.js +20 -18
  24. package/dist/app/components/capabilities/session-custom-mcp-card.js +11 -11
  25. package/dist/app/components/capabilities/session-github-card.js +13 -13
  26. package/dist/app/components/capabilities/session-machine-card.js +19 -17
  27. package/dist/app/components/command-menu/chat-status.js +16 -15
  28. package/dist/app/components/command-menu/chat-switcher.js +19 -18
  29. package/dist/app/components/command-menu/chat-switcher.js.map +1 -1
  30. package/dist/app/components/command-menu/command-menu.js +29 -107
  31. package/dist/app/components/command-menu/command-menu.js.map +1 -1
  32. package/dist/app/components/command-menu/shortcut-sheet.js +9 -9
  33. package/dist/app/components/composer-mobile-plus-panel.js +9 -9
  34. package/dist/app/components/composer-mobile-plus.js +1 -1
  35. package/dist/app/components/credit-required-gate.js +1 -1
  36. package/dist/app/components/credit-required-prompt.js +5 -5
  37. package/dist/app/components/credits/coupon-redeem.js +2 -2
  38. package/dist/app/components/credits/credit-refusal-notice.js +2 -2
  39. package/dist/app/components/desktop/app-shots.js +7 -7
  40. package/dist/app/components/desktop/this-computer.js +4 -4
  41. package/dist/app/components/feedback.js +3 -3
  42. package/dist/app/components/follow-up-repository-menu-body.js +2 -2
  43. package/dist/app/components/follow-up-repository-picker.js +1 -1
  44. package/dist/app/components/github-app-connect-launcher.js +2 -2
  45. package/dist/app/components/in-app-help-link.js +2 -2
  46. package/dist/app/components/machines/connect-machine-dialog.js +3 -3
  47. package/dist/app/components/markdown.js +5 -5
  48. package/dist/app/components/models/models-ui.js +3 -3
  49. package/dist/app/components/new-session-starters.js +2 -2
  50. package/dist/app/components/pickers.js +6 -6
  51. package/dist/app/components/rail/rail-context.js +3 -3
  52. package/dist/app/components/rail/rail-sections.js +51 -48
  53. package/dist/app/components/rail/session-header.js +29 -28
  54. package/dist/app/components/rail/session-list.js +50 -47
  55. package/dist/app/components/rail/session-row-content.d.ts +6 -2
  56. package/dist/app/components/rail/session-row-content.js +1 -1
  57. package/dist/app/components/rail/session-row-hover-details.js +17 -16
  58. package/dist/app/components/rail/session-shell.js +78 -75
  59. package/dist/app/components/rail/site-session-group-heading.d.ts +7 -1
  60. package/dist/app/components/rail/site-session-group-heading.js +20 -3
  61. package/dist/app/components/repository-picker.js +2 -2
  62. package/dist/app/components/session/agent-configuration-panel.js +18 -18
  63. package/dist/app/components/session/artifact-link-boundary.js +2 -2
  64. package/dist/app/components/session/artifact-session-page.js +5 -5
  65. package/dist/app/components/session/banners.js +7 -7
  66. package/dist/app/components/session/codex-account-indicator.js +10 -10
  67. package/dist/app/components/session/editable-artifacts-workspace.js +24 -24
  68. package/dist/app/components/session/failed-session-banner.js +6 -6
  69. package/dist/app/components/session/human-input.js +41 -37
  70. package/dist/app/components/session/inspector.js +61 -57
  71. package/dist/app/components/session/inspector.js.map +1 -1
  72. package/dist/app/components/session/message-actions.js +3 -3
  73. package/dist/app/components/session/message-resource-attachments.js +12 -11
  74. package/dist/app/components/session/message-resource-attachments.js.map +1 -1
  75. package/dist/app/components/session/model-account-indicator.js +9 -9
  76. package/dist/app/components/session/model-recovery-notice.js +3 -3
  77. package/dist/app/components/session/new-session-settings-menu.js +8 -8
  78. package/dist/app/components/session/sandbox-switcher.js +12 -12
  79. package/dist/app/components/session/sandbox-workspace.js +58 -54
  80. package/dist/app/components/session/search-markdown-highlight.js +6 -6
  81. package/dist/app/components/session/search-results-view.js +7 -7
  82. package/dist/app/components/session/session-admin-access.js +3 -3
  83. package/dist/app/components/session/session-admission-notice.js +5 -5
  84. package/dist/app/components/session/session-machine-access-notice.js +5 -5
  85. package/dist/app/components/session/session-search-dialog.js +8 -8
  86. package/dist/app/components/session/session-tenancy-control.d.ts +2 -0
  87. package/dist/app/components/session/session-tenancy-control.js +26 -11
  88. package/dist/app/components/session/session-tenancy-control.js.map +1 -1
  89. package/dist/app/components/session/session-usage-limit-section.js +4 -4
  90. package/dist/app/components/session/session-wait-status.js +8 -7
  91. package/dist/app/components/session/session-wait-status.js.map +1 -1
  92. package/dist/app/components/session/site-origin-link.d.ts +1 -0
  93. package/dist/app/components/session/site-origin-link.js +2 -2
  94. package/dist/app/components/session/subagents.js +13 -12
  95. package/dist/app/components/settings/row-select.js +3 -3
  96. package/dist/app/components/transcription-settings.js +4 -4
  97. package/dist/app/components/usage/usage-entry.js +5 -5
  98. package/dist/app/components/workspace-composer-plus.js +12 -12
  99. package/dist/app/embed/memory-navigation.js +2 -2
  100. package/dist/app/embed/session-app.js +196 -190
  101. package/dist/app/lib/actions/actions-provider.js +9 -9
  102. package/dist/app/lib/actions/held-modifier.d.ts +11 -0
  103. package/dist/app/lib/app-surfaces.js +2 -2
  104. package/dist/app/lib/codex-usage-query.js +6 -6
  105. package/dist/app/lib/composer-connectors.js +9 -9
  106. package/dist/app/lib/console-site.d.ts +6 -0
  107. package/dist/app/lib/console-site.js +14 -0
  108. package/dist/app/lib/console-text.js +2 -2
  109. package/dist/app/lib/events.js +13 -12
  110. package/dist/app/lib/failed-session-copy.js +3 -3
  111. package/dist/app/lib/model-access-onboarding.js +3 -3
  112. package/dist/app/lib/move-chat-to-machine.js +3 -3
  113. package/dist/app/lib/navigation.d.ts +5 -0
  114. package/dist/app/lib/navigation.js +1 -1
  115. package/dist/app/lib/routes.d.ts +17 -0
  116. package/dist/app/lib/routes.js +9 -3
  117. package/dist/app/lib/session-branch-cache.js +12 -11
  118. package/dist/app/lib/session-create.js +2 -2
  119. package/dist/app/lib/session-deep-link.js +2 -2
  120. package/dist/app/lib/session-failure-toasts.d.ts +8 -0
  121. package/dist/app/lib/session-group-pagination.js +12 -11
  122. package/dist/app/lib/session-hover-facts.js +12 -11
  123. package/dist/app/lib/session-model.js +2 -2
  124. package/dist/app/lib/session-rail.js +8 -7
  125. package/dist/app/lib/session-rename.js +2 -2
  126. package/dist/app/lib/session-ui-features.d.ts +6 -1
  127. package/dist/app/lib/session-ui-features.js +1 -1
  128. package/dist/app/lib/sessions-group.d.ts +43 -3
  129. package/dist/app/lib/sessions-group.js +19 -12
  130. package/dist/app/lib/shared-query.js +3 -3
  131. package/dist/app/lib/site-opened.d.ts +6 -0
  132. package/dist/app/lib/site-opened.js +10 -0
  133. package/dist/app/lib/turn-failure-analytics.js +5 -5
  134. package/dist/app/lib/use-duplicate-site.js +2 -2
  135. package/dist/app/lib/use-follow-up-repositories.js +2 -2
  136. package/dist/app/lib/use-session-list-hint-refresh.d.ts +20 -2
  137. package/dist/app/lib/use-session-list-hint-refresh.js +5 -1
  138. package/dist/app/lib/use-workspace-machines.js +5 -5
  139. package/dist/app/lib/use-workspace-model-catalog.js +7 -7
  140. package/dist/app/lib/use-workspace-rigs.js +7 -7
  141. package/dist/app/lib/workspace-navigation-preference.js +4 -4
  142. package/dist/app/lib/workspace-scope-context.js +3 -3
  143. package/dist/app/routes/artifacts.js +70 -87
  144. package/dist/app/routes/artifacts.js.map +1 -1
  145. package/dist/app/routes/retained-artifact.js +36 -35
  146. package/dist/app/routes/retained-artifact.js.map +1 -1
  147. package/dist/app/routes/session-unavailable.js +6 -4
  148. package/dist/app/routes/session.js +127 -123
  149. package/dist/app/routes/sessions-index-hydration.js +3 -3
  150. package/dist/app/routes/sessions-index.js +96 -94
  151. package/dist/app/routes/site-view.d.ts +11 -0
  152. package/dist/app/routes/site-view.js +597 -0
  153. package/dist/app/routes/site-view.js.map +1 -0
  154. package/dist/artifacts-document.js +4 -4
  155. package/dist/artifacts-presentation.js +4 -4
  156. package/dist/artifacts-spreadsheet.js +4 -4
  157. package/dist/artifacts.js +13 -13
  158. package/dist/{browser-viewer-RYYQSRTC.js → browser-viewer-VPK3CV2H.js} +7 -5
  159. package/dist/{chat-interactive-block-ABCRKXJ4.js → chat-interactive-block-AMDSW656.js} +5 -5
  160. package/dist/chunk-22GTC4MZ.js +15 -0
  161. package/dist/chunk-22GTC4MZ.js.map +1 -0
  162. package/dist/{chunk-RQDFYQHA.js → chunk-25LWDG5D.js} +6 -6
  163. package/dist/{chunk-U3HSFCON.js → chunk-2CKVVAGP.js} +15 -15
  164. package/dist/{chunk-F6LBGYS6.js → chunk-2DL6NJP5.js} +15 -15
  165. package/dist/{chunk-UHFWF6ZU.js → chunk-2FPS5H2D.js} +2 -2
  166. package/dist/{chunk-NAWXARTY.js → chunk-2KO2G3RI.js} +72 -6
  167. package/dist/chunk-2KO2G3RI.js.map +1 -0
  168. package/dist/{chunk-TWXIFWBD.js → chunk-34EU25RL.js} +2 -2
  169. package/dist/{chunk-PTGRFAMH.js → chunk-3ABPIUCK.js} +2 -2
  170. package/dist/{chunk-722UO6YQ.js → chunk-3PEXVG4D.js} +2 -2
  171. package/dist/{chunk-N3ZP4IDU.js → chunk-45WYYFP6.js} +2 -2
  172. package/dist/{chunk-HOJGAJAB.js → chunk-4MQLGMV2.js} +5 -5
  173. package/dist/{chunk-L7YURQI2.js → chunk-4U4GXWXS.js} +3 -3
  174. package/dist/{chunk-63VGE4OH.js → chunk-5HIOVXOX.js} +3 -3
  175. package/dist/{chunk-GFUUFM2O.js → chunk-5M23GZA2.js} +3 -3
  176. package/dist/{chunk-PM3OSANE.js → chunk-5MJHH72T.js} +14 -3
  177. package/dist/chunk-5MJHH72T.js.map +1 -0
  178. package/dist/{chunk-RKB2Z457.js → chunk-5VGJXWQ2.js} +2 -2
  179. package/dist/{chunk-6W3LF3DB.js → chunk-5YFY4SFC.js} +2 -12
  180. package/dist/chunk-5YFY4SFC.js.map +1 -0
  181. package/dist/{chunk-I6VUUEXH.js → chunk-6AFSZKZA.js} +3 -3
  182. package/dist/{chunk-FBMU3VK5.js → chunk-6DCEDIF6.js} +2 -2
  183. package/dist/{chunk-5MZTJMZ3.js → chunk-6MRY2RUZ.js} +13 -7
  184. package/dist/chunk-6MRY2RUZ.js.map +1 -0
  185. package/dist/{chunk-4EONHNJU.js → chunk-6O4VWKSO.js} +2 -2
  186. package/dist/chunk-756MKA2J.js +45 -0
  187. package/dist/chunk-756MKA2J.js.map +1 -0
  188. package/dist/{chunk-BSX2R4CW.js → chunk-767WCGAX.js} +6 -6
  189. package/dist/{chunk-7KGKDWWR.js → chunk-7HFLYNWN.js} +2 -2
  190. package/dist/{chunk-OSVHU2WU.js → chunk-7IYAHFPE.js} +2 -2
  191. package/dist/{chunk-4EAF3HSD.js → chunk-7J7PZB4S.js} +2 -2
  192. package/dist/{chunk-ADJJQSYC.js → chunk-7PUFAH4I.js} +34 -32
  193. package/dist/chunk-7PUFAH4I.js.map +1 -0
  194. package/dist/{chunk-OR37STQZ.js → chunk-7R2JQHBX.js} +3 -3
  195. package/dist/{chunk-QM5H4FPT.js → chunk-7VN6VC3D.js} +3 -3
  196. package/dist/{chunk-HWDGJFM4.js → chunk-A2E3ZF6N.js} +4 -4
  197. package/dist/{chunk-RGW24ZZM.js → chunk-A6CK4ENG.js} +19 -17
  198. package/dist/chunk-A6CK4ENG.js.map +1 -0
  199. package/dist/{chunk-4432A3HQ.js → chunk-A6T4FGE7.js} +4 -4
  200. package/dist/{chunk-73SOCVLS.js → chunk-AIEXYO2X.js} +3 -3
  201. package/dist/{chunk-U7TC2XJQ.js → chunk-AJPW3SV4.js} +3 -3
  202. package/dist/{chunk-46VBQG2D.js → chunk-AOUCHCSB.js} +5 -5
  203. package/dist/{chunk-HDHK3SXK.js → chunk-AT4K4F6S.js} +2 -2
  204. package/dist/{chunk-TQGJN5UZ.js → chunk-AW3QEFOF.js} +140 -522
  205. package/dist/chunk-AW3QEFOF.js.map +1 -0
  206. package/dist/{chunk-HRJQAFKR.js → chunk-AX6YJA5U.js} +2 -2
  207. package/dist/{chunk-HO5Y2OOX.js → chunk-BLPXOHG6.js} +6 -6
  208. package/dist/{chunk-DT7BORXG.js → chunk-BMJTNPWK.js} +2 -2
  209. package/dist/{chunk-HIHO2QE7.js → chunk-BT2MVGHT.js} +2 -2
  210. package/dist/{chunk-AOLE4IRZ.js → chunk-C535KSTY.js} +2 -2
  211. package/dist/{chunk-IVOA3DXA.js → chunk-CB574ERL.js} +4 -4
  212. package/dist/{chunk-IBTXYLBW.js → chunk-CCFWY4GF.js} +2 -2
  213. package/dist/{chunk-ZOC3OP6F.js → chunk-CCR33J7L.js} +2 -2
  214. package/dist/{chunk-NYZQ7LO7.js → chunk-CDUDKETD.js} +2 -2
  215. package/dist/{chunk-JTN3T4QN.js → chunk-D3RK3NGM.js} +4 -4
  216. package/dist/{chunk-IOKSNX74.js → chunk-D5OWJZQR.js} +2 -2
  217. package/dist/{chunk-BJIZ7PL7.js → chunk-D64Z4V26.js} +145 -29
  218. package/dist/chunk-D64Z4V26.js.map +1 -0
  219. package/dist/{chunk-XWWXIZFP.js → chunk-DFXZYNTX.js} +7 -7
  220. package/dist/{chunk-SQGXMHJO.js → chunk-DGLRZMXL.js} +3 -3
  221. package/dist/{chunk-GNEHAPKV.js → chunk-DJFTH2DI.js} +3 -3
  222. package/dist/{chunk-KWKGBGAF.js → chunk-DKCX643S.js} +11 -11
  223. package/dist/{chunk-HQG4SLTE.js → chunk-DYJGYGPB.js} +2 -2
  224. package/dist/{chunk-GTQ3SNEI.js → chunk-E36IC3LU.js} +2 -2
  225. package/dist/{chunk-CVG4FILQ.js → chunk-ECHYJP63.js} +253 -1008
  226. package/dist/chunk-ECHYJP63.js.map +1 -0
  227. package/dist/{chunk-Q35DT6I6.js → chunk-EH7TTYE6.js} +179 -170
  228. package/dist/chunk-EH7TTYE6.js.map +1 -0
  229. package/dist/{chunk-72J6C2AJ.js → chunk-EMCB6XKU.js} +2 -2
  230. package/dist/{chunk-3AA6RNGE.js → chunk-ENS6E4RZ.js} +2 -2
  231. package/dist/{chunk-AG7VGUIW.js → chunk-ERG355NM.js} +3 -3
  232. package/dist/{chunk-TSBE4KOQ.js → chunk-EWL6NDOO.js} +3 -3
  233. package/dist/{chunk-Z5WMLJKI.js → chunk-F2RMKGDQ.js} +89 -1
  234. package/dist/chunk-F2RMKGDQ.js.map +1 -0
  235. package/dist/{chunk-X7L4H4VG.js → chunk-F33EDYS7.js} +524 -426
  236. package/dist/chunk-F33EDYS7.js.map +1 -0
  237. package/dist/{chunk-HTT3FB7T.js → chunk-F3FN6DO6.js} +2 -2
  238. package/dist/{chunk-ST22GONV.js → chunk-FB3B45FP.js} +11 -11
  239. package/dist/{chunk-P5T36BA3.js → chunk-FRP64DEK.js} +2 -2
  240. package/dist/{chunk-KBF3SE7G.js → chunk-FSP334UU.js} +2 -2
  241. package/dist/{chunk-4VKA5O7T.js → chunk-FVL4B552.js} +9 -9
  242. package/dist/{chunk-VP62LPLW.js → chunk-G2BX56CN.js} +5 -5
  243. package/dist/{chunk-CSHBR2IZ.js → chunk-GDLDBR6B.js} +2 -2
  244. package/dist/{chunk-PN66T6JA.js → chunk-GFSOXB2K.js} +2 -2
  245. package/dist/{chunk-S4EZ3JUB.js → chunk-GZGQHQI7.js} +29 -29
  246. package/dist/chunk-H4IE2PYF.js +792 -0
  247. package/dist/chunk-H4IE2PYF.js.map +1 -0
  248. package/dist/{chunk-XFNLU7EW.js → chunk-H5M33DAL.js} +15 -6
  249. package/dist/chunk-H5M33DAL.js.map +1 -0
  250. package/dist/{chunk-BXRIQZAH.js → chunk-HNNM2GDN.js} +3 -3
  251. package/dist/{chunk-EU6XSQFM.js → chunk-HPB4KSV3.js} +2 -2
  252. package/dist/{chunk-QCD5Y7K5.js → chunk-HSQRYJ4P.js} +5 -5
  253. package/dist/{chunk-YXOKAG66.js → chunk-HUXDGWAN.js} +2 -2
  254. package/dist/{chunk-VUHPA3XQ.js → chunk-I66ZB6KD.js} +3 -3
  255. package/dist/{chunk-7CZTKBTI.js → chunk-IC7KNOBB.js} +5 -5
  256. package/dist/{chunk-KF3MF6FP.js → chunk-IECRGM6K.js} +3 -2
  257. package/dist/chunk-IECRGM6K.js.map +1 -0
  258. package/dist/{chunk-HGMWMK5K.js → chunk-IIO2MR3B.js} +2 -2
  259. package/dist/chunk-IJYL5BZM.js +38 -0
  260. package/dist/chunk-IJYL5BZM.js.map +1 -0
  261. package/dist/{chunk-L6RXRRN3.js → chunk-ILDOW2IQ.js} +3 -3
  262. package/dist/{chunk-O756O2I7.js → chunk-IPPVX5GF.js} +1 -1
  263. package/dist/{chunk-X7ASQHR6.js → chunk-IUK5QGP5.js} +2 -2
  264. package/dist/{chunk-5JZYPZ72.js → chunk-JFK7NTEA.js} +4 -4
  265. package/dist/chunk-JFK7NTEA.js.map +1 -0
  266. package/dist/{chunk-PIVGX42P.js → chunk-JNY5MT3I.js} +2 -2
  267. package/dist/chunk-JRSNCSZN.js +37 -0
  268. package/dist/chunk-JRSNCSZN.js.map +1 -0
  269. package/dist/{chunk-DDK4WFJ3.js → chunk-JWN7SLTO.js} +9 -9
  270. package/dist/{chunk-Q35YZVDZ.js → chunk-KFWVBTUH.js} +3 -3
  271. package/dist/{chunk-JXT5QDJC.js → chunk-KNFDWNCH.js} +5 -5
  272. package/dist/{chunk-AZVANYMB.js → chunk-KUNFUSZ7.js} +2 -2
  273. package/dist/{chunk-DXZNDKQD.js → chunk-LEEJBZ5B.js} +2 -2
  274. package/dist/{chunk-STUCI6QA.js → chunk-LEKBNKLD.js} +1 -1
  275. package/dist/{chunk-STUCI6QA.js.map → chunk-LEKBNKLD.js.map} +1 -1
  276. package/dist/{chunk-RSNYGEVZ.js → chunk-LKJ2C7PH.js} +8 -8
  277. package/dist/{chunk-RIMKJBCD.js → chunk-LMPTC4CX.js} +2 -2
  278. package/dist/{chunk-3KVWXKD6.js → chunk-LQ47YL6E.js} +2 -2
  279. package/dist/{chunk-GAIM5RNE.js → chunk-MJQBC7C5.js} +3 -3
  280. package/dist/{chunk-NWZW2WHN.js → chunk-MM7OKOTE.js} +6 -6
  281. package/dist/{chunk-FM4OUCC2.js → chunk-MOKYT3X3.js} +3 -3
  282. package/dist/{chunk-GZ64CASI.js → chunk-MVZYNZXE.js} +5 -4
  283. package/dist/chunk-MVZYNZXE.js.map +1 -0
  284. package/dist/{chunk-XRRSFQEV.js → chunk-NAZZLAWX.js} +2 -2
  285. package/dist/{chunk-XOFUXMPP.js → chunk-ND2WCWXI.js} +4 -4
  286. package/dist/{chunk-6L7U46Y2.js → chunk-NKNVIO66.js} +2 -2
  287. package/dist/{chunk-JKUICTLM.js → chunk-NLAFNMPK.js} +2 -2
  288. package/dist/{chunk-OO2T63BY.js → chunk-NML44AW2.js} +2 -2
  289. package/dist/chunk-NQQKOJDI.js +89 -0
  290. package/dist/chunk-NQQKOJDI.js.map +1 -0
  291. package/dist/{chunk-4LKNIGHB.js → chunk-O2SBHS2N.js} +2 -2
  292. package/dist/{chunk-RA3FNMWF.js → chunk-O4DYOSOL.js} +5 -5
  293. package/dist/{chunk-ZKYYZH6L.js → chunk-OFB6TUDC.js} +4 -4
  294. package/dist/{chunk-DWPOQ3S5.js → chunk-OTMWHZBY.js} +2 -2
  295. package/dist/{chunk-VVCDB2T7.js → chunk-PCJLH45G.js} +3 -3
  296. package/dist/{chunk-WSMYOLHG.js → chunk-PEKPWK5M.js} +2 -2
  297. package/dist/{chunk-PZ24CYDO.js → chunk-PFAUGEV5.js} +2 -2
  298. package/dist/{chunk-KTRKZRID.js → chunk-PKEKZ2VA.js} +5 -5
  299. package/dist/{chunk-6JKZILLF.js → chunk-PMD7V4N7.js} +3 -3
  300. package/dist/{chunk-B74GSYR6.js → chunk-PUTS4DYW.js} +2 -2
  301. package/dist/{chunk-ZRJCGBVV.js → chunk-PVR5EELP.js} +2 -2
  302. package/dist/{chunk-JSIDLTTG.js → chunk-PZ2V2XIK.js} +2 -2
  303. package/dist/{chunk-TMEQPODK.js → chunk-PZ37VDB5.js} +2 -2
  304. package/dist/{chunk-FLGUVRR7.js → chunk-QBADR2FO.js} +6 -6
  305. package/dist/{chunk-TGVVEGZG.js → chunk-QLIDZGPV.js} +6 -6
  306. package/dist/{chunk-LVONK3YQ.js → chunk-QRKTESVE.js} +2 -2
  307. package/dist/{chunk-HT5WSUC7.js → chunk-QXEDIDBZ.js} +3 -3
  308. package/dist/{chunk-WURSS6MP.js → chunk-R66YMYJU.js} +2 -2
  309. package/dist/{chunk-6PQNLL4E.js → chunk-R7XCJWCD.js} +11 -11
  310. package/dist/{chunk-4R3JCVID.js → chunk-RAMZTZOB.js} +360 -103
  311. package/dist/chunk-RAMZTZOB.js.map +1 -0
  312. package/dist/{chunk-QRVNI5V6.js → chunk-SCNEQFIW.js} +3 -3
  313. package/dist/{chunk-BNUPYHHZ.js → chunk-SD4PPZFB.js} +4 -4
  314. package/dist/{chunk-ROQOVH4N.js → chunk-SFAU5R5S.js} +3 -3
  315. package/dist/{chunk-R63QEVPK.js → chunk-SJORXXLV.js} +6 -6
  316. package/dist/{chunk-FBE6AIIW.js → chunk-SOKNCW5U.js} +2 -2
  317. package/dist/{chunk-JRXHSVD5.js → chunk-SOXZ4LGS.js} +68 -11
  318. package/dist/chunk-SOXZ4LGS.js.map +1 -0
  319. package/dist/{chunk-EF5SYXAY.js → chunk-SQDPHCK2.js} +22 -14
  320. package/dist/chunk-SQDPHCK2.js.map +1 -0
  321. package/dist/{chunk-NDF3SH3X.js → chunk-TDIOBPLA.js} +5 -5
  322. package/dist/{chunk-EHCUFCXM.js → chunk-TEPPPAJI.js} +17 -7
  323. package/dist/chunk-TEPPPAJI.js.map +1 -0
  324. package/dist/{chunk-33TPANCR.js → chunk-TFK4KFKA.js} +4 -4
  325. package/dist/{chunk-6NIB2KGJ.js → chunk-THVIT3PW.js} +22 -22
  326. package/dist/{chunk-HPPKLBTJ.js → chunk-TJQDL3JH.js} +2 -2
  327. package/dist/{chunk-FD4Q5KFL.js → chunk-TLL22FFO.js} +2 -2
  328. package/dist/{chunk-7DU35P5J.js → chunk-TN5T5HRZ.js} +7 -7
  329. package/dist/{chunk-JK7C5A4I.js → chunk-TR4HIKJ2.js} +8 -8
  330. package/dist/{chunk-HNYJEAES.js → chunk-UGEWCWVV.js} +3 -3
  331. package/dist/chunk-ULYQEFNH.js +529 -0
  332. package/dist/chunk-ULYQEFNH.js.map +1 -0
  333. package/dist/{chunk-H5EVWF6L.js → chunk-UNNJUJVD.js} +2 -2
  334. package/dist/{chunk-AD22P5X3.js → chunk-UUSAOIJR.js} +3 -3
  335. package/dist/{chunk-Z6DKXQG7.js → chunk-UXXFMF4X.js} +2 -2
  336. package/dist/{chunk-RGPYMHKI.js → chunk-V3K4RQO7.js} +9 -3
  337. package/dist/chunk-V3K4RQO7.js.map +1 -0
  338. package/dist/{chunk-UP4BE32Y.js → chunk-VO6RVVP7.js} +5 -5
  339. package/dist/{chunk-S4SC5SSV.js → chunk-VPNXQUUS.js} +11 -11
  340. package/dist/{chunk-7BST7BA6.js → chunk-VW3BBTMA.js} +1 -1
  341. package/dist/{chunk-CBY5CXBD.js → chunk-VWSFA4LJ.js} +2 -2
  342. package/dist/{chunk-MYNUBDU7.js → chunk-VYKW6TB2.js} +1 -1
  343. package/dist/chunk-VYKW6TB2.js.map +1 -0
  344. package/dist/{chunk-QEJTQTF5.js → chunk-W6T5HR3Z.js} +3 -3
  345. package/dist/{chunk-5JEIDFPD.js → chunk-WBPQ7OPC.js} +1 -1
  346. package/dist/{chunk-GZLLDA6P.js → chunk-WEFN327U.js} +2 -2
  347. package/dist/{chunk-ANHUMDJX.js → chunk-WNDTLK44.js} +2 -2
  348. package/dist/{chunk-DLOYMWUQ.js → chunk-WSLPZ43N.js} +7 -7
  349. package/dist/{chunk-2DS4UOYQ.js → chunk-WSZQNTVN.js} +2 -2
  350. package/dist/{chunk-LE2EDBXU.js → chunk-WUHB422G.js} +5 -5
  351. package/dist/{chunk-BJW7G6EF.js → chunk-WVX5AQXS.js} +3 -3
  352. package/dist/{chunk-5POTDNQT.js → chunk-WWOHORRO.js} +3 -3
  353. package/dist/{chunk-4W7VISE7.js → chunk-WYDZP5F2.js} +93 -94
  354. package/dist/chunk-WYDZP5F2.js.map +1 -0
  355. package/dist/{chunk-KZHW27BV.js → chunk-WYEPUXGL.js} +2 -2
  356. package/dist/{chunk-GALB2G3W.js → chunk-X2AH4DRF.js} +2 -2
  357. package/dist/{chunk-NCX5SAQY.js → chunk-XN6CALYY.js} +9 -9
  358. package/dist/{chunk-SUVEDKE2.js → chunk-XNACICAB.js} +3 -3
  359. package/dist/{chunk-FDNJVZRE.js → chunk-XU4I47IP.js} +4 -4
  360. package/dist/chunk-XV6ZYRHK.js +59 -0
  361. package/dist/chunk-XV6ZYRHK.js.map +1 -0
  362. package/dist/{chunk-WRLWLGEF.js → chunk-Y5E3XQ2S.js} +25 -2
  363. package/dist/{chunk-WRLWLGEF.js.map → chunk-Y5E3XQ2S.js.map} +1 -1
  364. package/dist/{chunk-U36PO27Q.js → chunk-YG3IJCM2.js} +3 -3
  365. package/dist/{chunk-UWJ5P5CU.js → chunk-YGSJWWT3.js} +3 -3
  366. package/dist/{chunk-APU42QDI.js → chunk-YO64YVYL.js} +105 -101
  367. package/dist/chunk-YO64YVYL.js.map +1 -0
  368. package/dist/{chunk-P5WABK2H.js → chunk-Z4GJB24B.js} +2 -2
  369. package/dist/{chunk-NLMTNEWW.js → chunk-Z6E6TUAE.js} +2 -2
  370. package/dist/{chunk-OBQVTCTW.js → chunk-ZX5H7LWD.js} +2 -2
  371. package/dist/components/browser-viewer.d.ts +1 -1
  372. package/dist/composer.js +8 -8
  373. package/dist/{computer-viewer-KEDVLD42.js → computer-viewer-VA5JONUH.js} +6 -6
  374. package/dist/connect.js +7 -7
  375. package/dist/desktop.js +2 -2
  376. package/dist/editor.js +2 -2
  377. package/dist/{embedded-new-voice-LFHWWYD2.js → embedded-new-voice-6BILAOUG.js} +6 -6
  378. package/dist/{embedded-voice-6QS4ANNX.js → embedded-voice-UDE4JRKB.js} +6 -6
  379. package/dist/{fleet-decision-row-QNSTP3VX.js → fleet-decision-row-NN2HXDX3.js} +2 -2
  380. package/dist/hooks/internal.d.ts +38 -0
  381. package/dist/hooks/use-client-config-flags.d.ts +12 -0
  382. package/dist/hooks/use-workspace-sessions.d.ts +10 -1
  383. package/dist/index.js +86 -80
  384. package/dist/interaction.js +8 -6
  385. package/dist/interaction.js.map +1 -1
  386. package/dist/{latest-question-AW3PPDUM.js → latest-question-4WDBECXB.js} +4 -3
  387. package/dist/{latest-question-AW3PPDUM.js.map → latest-question-4WDBECXB.js.map} +1 -1
  388. package/dist/machines.js +4 -4
  389. package/dist/messages/en.d.ts +3 -3
  390. package/dist/messages.js +1 -1
  391. package/dist/{model-policy-picker-menu-CURJ247L.js → model-policy-picker-menu-NRTO6FRP.js} +4 -4
  392. package/dist/{platform-activity-row-BMXXNZKX.js → platform-activity-row-ENQVIFTL.js} +2 -2
  393. package/dist/{queue-surface-implementation-2X5AXB6I.js → queue-surface-implementation-H4XSNHZE.js} +8 -6
  394. package/dist/{queue-surface-implementation-2X5AXB6I.js.map → queue-surface-implementation-H4XSNHZE.js.map} +1 -1
  395. package/dist/realtime.js +5 -5
  396. package/dist/{sandbox-files-4FBG3GS2.js → sandbox-files-IEHODU35.js} +9 -9
  397. package/dist/sandbox-files-IEHODU35.js.map +1 -0
  398. package/dist/session-app.js +198 -192
  399. package/dist/session-list-model.d.ts +1 -0
  400. package/dist/session-list-model.js +7 -1
  401. package/dist/{session-realtime-2XIB254N.js → session-realtime-JNKDSGH7.js} +3 -3
  402. package/dist/session-realtime-JNKDSGH7.js.map +1 -0
  403. package/dist/session-realtime.js +2 -2
  404. package/dist/session-ui.js +48 -43
  405. package/dist/session.js +20 -18
  406. package/dist/sites.js +2 -2
  407. package/dist/terminal.js +2 -2
  408. package/dist/this-computer.js +3 -3
  409. package/dist/timeline/invoked-tool.d.ts +5 -0
  410. package/dist/timeline/tool-display-name.d.ts +2 -2
  411. package/dist/timeline/tool-icon.d.ts +14 -0
  412. package/dist/timeline/tool-presentation.d.ts +8 -3
  413. package/dist/{timeline-annotation-markers-X4K2IEOO.js → timeline-annotation-markers-ZSOFW7PG.js} +2 -2
  414. package/dist/{timeline-annotation-selection-MEHBW676.js → timeline-annotation-selection-YWV2UC34.js} +2 -2
  415. package/dist/{timeline-annotations-dialog-U2FPQ3UY.js → timeline-annotations-dialog-ZWQVX2HI.js} +3 -3
  416. package/dist/timeline-model.js +16 -14
  417. package/dist/ui/access-list.js +7 -7
  418. package/dist/ui/cadence-picker.js +2 -2
  419. package/dist/ui/list-row.js +3 -3
  420. package/dist/ui/revision-history.js +2 -2
  421. package/dist/ui/role-select.js +3 -3
  422. package/dist/ui/select-menu.js +2 -2
  423. package/dist/usage.js +3 -3
  424. package/dist/workbench.js +4 -4
  425. package/package.json +4 -4
  426. package/src/app/app-state.tsx +3 -1
  427. package/src/app/components/capabilities/session-machine-card.tsx +9 -2
  428. package/src/app/components/rail/session-list.tsx +254 -44
  429. package/src/app/components/rail/session-row-content.tsx +24 -2
  430. package/src/app/components/rail/session-shell.tsx +14 -9
  431. package/src/app/components/rail/site-session-group-heading.tsx +59 -20
  432. package/src/app/components/session/session-tenancy-control.tsx +18 -0
  433. package/src/app/components/session/site-origin-link.test.tsx +73 -0
  434. package/src/app/components/session/site-origin-link.tsx +4 -2
  435. package/src/app/embed/memory-navigation.tsx +1 -0
  436. package/src/app/lib/actions/held-modifier.test.ts +101 -0
  437. package/src/app/lib/actions/held-modifier.ts +108 -0
  438. package/src/app/lib/console-site.tsx +38 -0
  439. package/src/app/lib/navigation.tsx +4 -0
  440. package/src/app/lib/routes.tsx +42 -0
  441. package/src/app/lib/session-failure-toasts.ts +26 -0
  442. package/src/app/lib/session-ui-features.tsx +18 -4
  443. package/src/app/lib/sessions-group.tsx +219 -30
  444. package/src/app/lib/site-opened.tsx +48 -0
  445. package/src/app/lib/site-session-groups.test.ts +173 -6
  446. package/src/app/lib/site-view-routes.test.ts +55 -0
  447. package/src/app/lib/use-session-list-hint-refresh.tsx +44 -4
  448. package/src/app/routes/artifacts.tsx +2 -29
  449. package/src/app/routes/session-transient-failures.test.tsx +343 -0
  450. package/src/app/routes/session-unavailable.tsx +74 -3
  451. package/src/app/routes/session.tsx +4 -13
  452. package/src/app/routes/sessions-index.tsx +13 -9
  453. package/src/app/routes/site-view.test.tsx +476 -0
  454. package/src/app/routes/site-view.tsx +583 -0
  455. package/src/components/browser-viewer.tsx +16 -2
  456. package/src/hooks/internal.ts +129 -6
  457. package/src/hooks/use-client-config-flags.ts +8 -0
  458. package/src/hooks/use-session-events.ts +83 -9
  459. package/src/hooks/use-workspace-sessions.ts +21 -1
  460. package/src/messages/en.ts +3 -3
  461. package/src/session-list-model.ts +4 -0
  462. package/src/timeline/activity-rail.tsx +3 -2
  463. package/src/timeline/invoked-tool.ts +14 -4
  464. package/src/timeline/projection.ts +11 -6
  465. package/src/timeline/rolling-activity.tsx +6 -2
  466. package/src/timeline/tool-display-name.ts +2 -2
  467. package/src/timeline/tool-icon.tsx +165 -0
  468. package/src/timeline/tool-presentation.ts +207 -48
  469. package/src/timeline/tool-renderers.tsx +1 -70
  470. package/styles/compiled.css +38 -0
  471. package/dist/chunk-22ZBT6CN.js +0 -50
  472. package/dist/chunk-22ZBT6CN.js.map +0 -1
  473. package/dist/chunk-4R3JCVID.js.map +0 -1
  474. package/dist/chunk-4W7VISE7.js.map +0 -1
  475. package/dist/chunk-5JZYPZ72.js.map +0 -1
  476. package/dist/chunk-5MZTJMZ3.js.map +0 -1
  477. package/dist/chunk-6W3LF3DB.js.map +0 -1
  478. package/dist/chunk-ADJJQSYC.js.map +0 -1
  479. package/dist/chunk-APU42QDI.js.map +0 -1
  480. package/dist/chunk-BJIZ7PL7.js.map +0 -1
  481. package/dist/chunk-CVG4FILQ.js.map +0 -1
  482. package/dist/chunk-EF5SYXAY.js.map +0 -1
  483. package/dist/chunk-EHCUFCXM.js.map +0 -1
  484. package/dist/chunk-GZ64CASI.js.map +0 -1
  485. package/dist/chunk-JRXHSVD5.js.map +0 -1
  486. package/dist/chunk-KF3MF6FP.js.map +0 -1
  487. package/dist/chunk-MYNUBDU7.js.map +0 -1
  488. package/dist/chunk-NAWXARTY.js.map +0 -1
  489. package/dist/chunk-PM3OSANE.js.map +0 -1
  490. package/dist/chunk-Q35DT6I6.js.map +0 -1
  491. package/dist/chunk-R25ZKOZR.js +0 -24
  492. package/dist/chunk-R25ZKOZR.js.map +0 -1
  493. package/dist/chunk-RGPYMHKI.js.map +0 -1
  494. package/dist/chunk-RGW24ZZM.js.map +0 -1
  495. package/dist/chunk-TQGJN5UZ.js.map +0 -1
  496. package/dist/chunk-X7L4H4VG.js.map +0 -1
  497. package/dist/chunk-XFNLU7EW.js.map +0 -1
  498. package/dist/chunk-Z5WMLJKI.js.map +0 -1
  499. /package/dist/{browser-viewer-RYYQSRTC.js.map → app/lib/console-site.js.map} +0 -0
  500. /package/dist/{chat-interactive-block-ABCRKXJ4.js.map → app/lib/site-opened.js.map} +0 -0
  501. /package/dist/{computer-viewer-KEDVLD42.js.map → browser-viewer-VPK3CV2H.js.map} +0 -0
  502. /package/dist/{embedded-new-voice-LFHWWYD2.js.map → chat-interactive-block-AMDSW656.js.map} +0 -0
  503. /package/dist/{chunk-RQDFYQHA.js.map → chunk-25LWDG5D.js.map} +0 -0
  504. /package/dist/{chunk-U3HSFCON.js.map → chunk-2CKVVAGP.js.map} +0 -0
  505. /package/dist/{chunk-F6LBGYS6.js.map → chunk-2DL6NJP5.js.map} +0 -0
  506. /package/dist/{chunk-UHFWF6ZU.js.map → chunk-2FPS5H2D.js.map} +0 -0
  507. /package/dist/{chunk-TWXIFWBD.js.map → chunk-34EU25RL.js.map} +0 -0
  508. /package/dist/{chunk-PTGRFAMH.js.map → chunk-3ABPIUCK.js.map} +0 -0
  509. /package/dist/{chunk-722UO6YQ.js.map → chunk-3PEXVG4D.js.map} +0 -0
  510. /package/dist/{chunk-N3ZP4IDU.js.map → chunk-45WYYFP6.js.map} +0 -0
  511. /package/dist/{chunk-HOJGAJAB.js.map → chunk-4MQLGMV2.js.map} +0 -0
  512. /package/dist/{chunk-L7YURQI2.js.map → chunk-4U4GXWXS.js.map} +0 -0
  513. /package/dist/{chunk-63VGE4OH.js.map → chunk-5HIOVXOX.js.map} +0 -0
  514. /package/dist/{chunk-GFUUFM2O.js.map → chunk-5M23GZA2.js.map} +0 -0
  515. /package/dist/{chunk-RKB2Z457.js.map → chunk-5VGJXWQ2.js.map} +0 -0
  516. /package/dist/{chunk-I6VUUEXH.js.map → chunk-6AFSZKZA.js.map} +0 -0
  517. /package/dist/{chunk-FBMU3VK5.js.map → chunk-6DCEDIF6.js.map} +0 -0
  518. /package/dist/{chunk-4EONHNJU.js.map → chunk-6O4VWKSO.js.map} +0 -0
  519. /package/dist/{chunk-BSX2R4CW.js.map → chunk-767WCGAX.js.map} +0 -0
  520. /package/dist/{chunk-7KGKDWWR.js.map → chunk-7HFLYNWN.js.map} +0 -0
  521. /package/dist/{chunk-OSVHU2WU.js.map → chunk-7IYAHFPE.js.map} +0 -0
  522. /package/dist/{chunk-4EAF3HSD.js.map → chunk-7J7PZB4S.js.map} +0 -0
  523. /package/dist/{chunk-OR37STQZ.js.map → chunk-7R2JQHBX.js.map} +0 -0
  524. /package/dist/{chunk-QM5H4FPT.js.map → chunk-7VN6VC3D.js.map} +0 -0
  525. /package/dist/{chunk-HWDGJFM4.js.map → chunk-A2E3ZF6N.js.map} +0 -0
  526. /package/dist/{chunk-4432A3HQ.js.map → chunk-A6T4FGE7.js.map} +0 -0
  527. /package/dist/{chunk-73SOCVLS.js.map → chunk-AIEXYO2X.js.map} +0 -0
  528. /package/dist/{chunk-U7TC2XJQ.js.map → chunk-AJPW3SV4.js.map} +0 -0
  529. /package/dist/{chunk-46VBQG2D.js.map → chunk-AOUCHCSB.js.map} +0 -0
  530. /package/dist/{chunk-HDHK3SXK.js.map → chunk-AT4K4F6S.js.map} +0 -0
  531. /package/dist/{chunk-HRJQAFKR.js.map → chunk-AX6YJA5U.js.map} +0 -0
  532. /package/dist/{chunk-HO5Y2OOX.js.map → chunk-BLPXOHG6.js.map} +0 -0
  533. /package/dist/{chunk-DT7BORXG.js.map → chunk-BMJTNPWK.js.map} +0 -0
  534. /package/dist/{chunk-HIHO2QE7.js.map → chunk-BT2MVGHT.js.map} +0 -0
  535. /package/dist/{chunk-AOLE4IRZ.js.map → chunk-C535KSTY.js.map} +0 -0
  536. /package/dist/{chunk-IVOA3DXA.js.map → chunk-CB574ERL.js.map} +0 -0
  537. /package/dist/{chunk-IBTXYLBW.js.map → chunk-CCFWY4GF.js.map} +0 -0
  538. /package/dist/{chunk-ZOC3OP6F.js.map → chunk-CCR33J7L.js.map} +0 -0
  539. /package/dist/{chunk-NYZQ7LO7.js.map → chunk-CDUDKETD.js.map} +0 -0
  540. /package/dist/{chunk-JTN3T4QN.js.map → chunk-D3RK3NGM.js.map} +0 -0
  541. /package/dist/{chunk-IOKSNX74.js.map → chunk-D5OWJZQR.js.map} +0 -0
  542. /package/dist/{chunk-XWWXIZFP.js.map → chunk-DFXZYNTX.js.map} +0 -0
  543. /package/dist/{chunk-SQGXMHJO.js.map → chunk-DGLRZMXL.js.map} +0 -0
  544. /package/dist/{chunk-GNEHAPKV.js.map → chunk-DJFTH2DI.js.map} +0 -0
  545. /package/dist/{chunk-KWKGBGAF.js.map → chunk-DKCX643S.js.map} +0 -0
  546. /package/dist/{chunk-HQG4SLTE.js.map → chunk-DYJGYGPB.js.map} +0 -0
  547. /package/dist/{chunk-GTQ3SNEI.js.map → chunk-E36IC3LU.js.map} +0 -0
  548. /package/dist/{chunk-72J6C2AJ.js.map → chunk-EMCB6XKU.js.map} +0 -0
  549. /package/dist/{chunk-3AA6RNGE.js.map → chunk-ENS6E4RZ.js.map} +0 -0
  550. /package/dist/{chunk-AG7VGUIW.js.map → chunk-ERG355NM.js.map} +0 -0
  551. /package/dist/{chunk-TSBE4KOQ.js.map → chunk-EWL6NDOO.js.map} +0 -0
  552. /package/dist/{chunk-HTT3FB7T.js.map → chunk-F3FN6DO6.js.map} +0 -0
  553. /package/dist/{chunk-ST22GONV.js.map → chunk-FB3B45FP.js.map} +0 -0
  554. /package/dist/{chunk-P5T36BA3.js.map → chunk-FRP64DEK.js.map} +0 -0
  555. /package/dist/{chunk-KBF3SE7G.js.map → chunk-FSP334UU.js.map} +0 -0
  556. /package/dist/{chunk-4VKA5O7T.js.map → chunk-FVL4B552.js.map} +0 -0
  557. /package/dist/{chunk-VP62LPLW.js.map → chunk-G2BX56CN.js.map} +0 -0
  558. /package/dist/{chunk-CSHBR2IZ.js.map → chunk-GDLDBR6B.js.map} +0 -0
  559. /package/dist/{chunk-PN66T6JA.js.map → chunk-GFSOXB2K.js.map} +0 -0
  560. /package/dist/{chunk-S4EZ3JUB.js.map → chunk-GZGQHQI7.js.map} +0 -0
  561. /package/dist/{chunk-BXRIQZAH.js.map → chunk-HNNM2GDN.js.map} +0 -0
  562. /package/dist/{chunk-EU6XSQFM.js.map → chunk-HPB4KSV3.js.map} +0 -0
  563. /package/dist/{chunk-QCD5Y7K5.js.map → chunk-HSQRYJ4P.js.map} +0 -0
  564. /package/dist/{chunk-YXOKAG66.js.map → chunk-HUXDGWAN.js.map} +0 -0
  565. /package/dist/{chunk-VUHPA3XQ.js.map → chunk-I66ZB6KD.js.map} +0 -0
  566. /package/dist/{chunk-7CZTKBTI.js.map → chunk-IC7KNOBB.js.map} +0 -0
  567. /package/dist/{chunk-HGMWMK5K.js.map → chunk-IIO2MR3B.js.map} +0 -0
  568. /package/dist/{chunk-L6RXRRN3.js.map → chunk-ILDOW2IQ.js.map} +0 -0
  569. /package/dist/{chunk-O756O2I7.js.map → chunk-IPPVX5GF.js.map} +0 -0
  570. /package/dist/{chunk-X7ASQHR6.js.map → chunk-IUK5QGP5.js.map} +0 -0
  571. /package/dist/{chunk-PIVGX42P.js.map → chunk-JNY5MT3I.js.map} +0 -0
  572. /package/dist/{chunk-DDK4WFJ3.js.map → chunk-JWN7SLTO.js.map} +0 -0
  573. /package/dist/{chunk-Q35YZVDZ.js.map → chunk-KFWVBTUH.js.map} +0 -0
  574. /package/dist/{chunk-JXT5QDJC.js.map → chunk-KNFDWNCH.js.map} +0 -0
  575. /package/dist/{chunk-AZVANYMB.js.map → chunk-KUNFUSZ7.js.map} +0 -0
  576. /package/dist/{chunk-DXZNDKQD.js.map → chunk-LEEJBZ5B.js.map} +0 -0
  577. /package/dist/{chunk-RSNYGEVZ.js.map → chunk-LKJ2C7PH.js.map} +0 -0
  578. /package/dist/{chunk-RIMKJBCD.js.map → chunk-LMPTC4CX.js.map} +0 -0
  579. /package/dist/{chunk-3KVWXKD6.js.map → chunk-LQ47YL6E.js.map} +0 -0
  580. /package/dist/{chunk-GAIM5RNE.js.map → chunk-MJQBC7C5.js.map} +0 -0
  581. /package/dist/{chunk-NWZW2WHN.js.map → chunk-MM7OKOTE.js.map} +0 -0
  582. /package/dist/{chunk-FM4OUCC2.js.map → chunk-MOKYT3X3.js.map} +0 -0
  583. /package/dist/{chunk-XRRSFQEV.js.map → chunk-NAZZLAWX.js.map} +0 -0
  584. /package/dist/{chunk-XOFUXMPP.js.map → chunk-ND2WCWXI.js.map} +0 -0
  585. /package/dist/{chunk-6L7U46Y2.js.map → chunk-NKNVIO66.js.map} +0 -0
  586. /package/dist/{chunk-JKUICTLM.js.map → chunk-NLAFNMPK.js.map} +0 -0
  587. /package/dist/{chunk-OO2T63BY.js.map → chunk-NML44AW2.js.map} +0 -0
  588. /package/dist/{chunk-4LKNIGHB.js.map → chunk-O2SBHS2N.js.map} +0 -0
  589. /package/dist/{chunk-RA3FNMWF.js.map → chunk-O4DYOSOL.js.map} +0 -0
  590. /package/dist/{chunk-ZKYYZH6L.js.map → chunk-OFB6TUDC.js.map} +0 -0
  591. /package/dist/{chunk-DWPOQ3S5.js.map → chunk-OTMWHZBY.js.map} +0 -0
  592. /package/dist/{chunk-VVCDB2T7.js.map → chunk-PCJLH45G.js.map} +0 -0
  593. /package/dist/{chunk-WSMYOLHG.js.map → chunk-PEKPWK5M.js.map} +0 -0
  594. /package/dist/{chunk-PZ24CYDO.js.map → chunk-PFAUGEV5.js.map} +0 -0
  595. /package/dist/{chunk-KTRKZRID.js.map → chunk-PKEKZ2VA.js.map} +0 -0
  596. /package/dist/{chunk-6JKZILLF.js.map → chunk-PMD7V4N7.js.map} +0 -0
  597. /package/dist/{chunk-B74GSYR6.js.map → chunk-PUTS4DYW.js.map} +0 -0
  598. /package/dist/{chunk-ZRJCGBVV.js.map → chunk-PVR5EELP.js.map} +0 -0
  599. /package/dist/{chunk-JSIDLTTG.js.map → chunk-PZ2V2XIK.js.map} +0 -0
  600. /package/dist/{chunk-TMEQPODK.js.map → chunk-PZ37VDB5.js.map} +0 -0
  601. /package/dist/{chunk-FLGUVRR7.js.map → chunk-QBADR2FO.js.map} +0 -0
  602. /package/dist/{chunk-TGVVEGZG.js.map → chunk-QLIDZGPV.js.map} +0 -0
  603. /package/dist/{chunk-LVONK3YQ.js.map → chunk-QRKTESVE.js.map} +0 -0
  604. /package/dist/{chunk-HT5WSUC7.js.map → chunk-QXEDIDBZ.js.map} +0 -0
  605. /package/dist/{chunk-WURSS6MP.js.map → chunk-R66YMYJU.js.map} +0 -0
  606. /package/dist/{chunk-6PQNLL4E.js.map → chunk-R7XCJWCD.js.map} +0 -0
  607. /package/dist/{chunk-QRVNI5V6.js.map → chunk-SCNEQFIW.js.map} +0 -0
  608. /package/dist/{chunk-BNUPYHHZ.js.map → chunk-SD4PPZFB.js.map} +0 -0
  609. /package/dist/{chunk-ROQOVH4N.js.map → chunk-SFAU5R5S.js.map} +0 -0
  610. /package/dist/{chunk-R63QEVPK.js.map → chunk-SJORXXLV.js.map} +0 -0
  611. /package/dist/{chunk-FBE6AIIW.js.map → chunk-SOKNCW5U.js.map} +0 -0
  612. /package/dist/{chunk-NDF3SH3X.js.map → chunk-TDIOBPLA.js.map} +0 -0
  613. /package/dist/{chunk-33TPANCR.js.map → chunk-TFK4KFKA.js.map} +0 -0
  614. /package/dist/{chunk-6NIB2KGJ.js.map → chunk-THVIT3PW.js.map} +0 -0
  615. /package/dist/{chunk-HPPKLBTJ.js.map → chunk-TJQDL3JH.js.map} +0 -0
  616. /package/dist/{chunk-FD4Q5KFL.js.map → chunk-TLL22FFO.js.map} +0 -0
  617. /package/dist/{chunk-7DU35P5J.js.map → chunk-TN5T5HRZ.js.map} +0 -0
  618. /package/dist/{chunk-JK7C5A4I.js.map → chunk-TR4HIKJ2.js.map} +0 -0
  619. /package/dist/{chunk-HNYJEAES.js.map → chunk-UGEWCWVV.js.map} +0 -0
  620. /package/dist/{chunk-H5EVWF6L.js.map → chunk-UNNJUJVD.js.map} +0 -0
  621. /package/dist/{chunk-AD22P5X3.js.map → chunk-UUSAOIJR.js.map} +0 -0
  622. /package/dist/{chunk-Z6DKXQG7.js.map → chunk-UXXFMF4X.js.map} +0 -0
  623. /package/dist/{chunk-UP4BE32Y.js.map → chunk-VO6RVVP7.js.map} +0 -0
  624. /package/dist/{chunk-S4SC5SSV.js.map → chunk-VPNXQUUS.js.map} +0 -0
  625. /package/dist/{chunk-7BST7BA6.js.map → chunk-VW3BBTMA.js.map} +0 -0
  626. /package/dist/{chunk-CBY5CXBD.js.map → chunk-VWSFA4LJ.js.map} +0 -0
  627. /package/dist/{chunk-QEJTQTF5.js.map → chunk-W6T5HR3Z.js.map} +0 -0
  628. /package/dist/{chunk-5JEIDFPD.js.map → chunk-WBPQ7OPC.js.map} +0 -0
  629. /package/dist/{chunk-GZLLDA6P.js.map → chunk-WEFN327U.js.map} +0 -0
  630. /package/dist/{chunk-ANHUMDJX.js.map → chunk-WNDTLK44.js.map} +0 -0
  631. /package/dist/{chunk-DLOYMWUQ.js.map → chunk-WSLPZ43N.js.map} +0 -0
  632. /package/dist/{chunk-2DS4UOYQ.js.map → chunk-WSZQNTVN.js.map} +0 -0
  633. /package/dist/{chunk-LE2EDBXU.js.map → chunk-WUHB422G.js.map} +0 -0
  634. /package/dist/{chunk-BJW7G6EF.js.map → chunk-WVX5AQXS.js.map} +0 -0
  635. /package/dist/{chunk-5POTDNQT.js.map → chunk-WWOHORRO.js.map} +0 -0
  636. /package/dist/{chunk-KZHW27BV.js.map → chunk-WYEPUXGL.js.map} +0 -0
  637. /package/dist/{chunk-GALB2G3W.js.map → chunk-X2AH4DRF.js.map} +0 -0
  638. /package/dist/{chunk-NCX5SAQY.js.map → chunk-XN6CALYY.js.map} +0 -0
  639. /package/dist/{chunk-SUVEDKE2.js.map → chunk-XNACICAB.js.map} +0 -0
  640. /package/dist/{chunk-FDNJVZRE.js.map → chunk-XU4I47IP.js.map} +0 -0
  641. /package/dist/{chunk-U36PO27Q.js.map → chunk-YG3IJCM2.js.map} +0 -0
  642. /package/dist/{chunk-UWJ5P5CU.js.map → chunk-YGSJWWT3.js.map} +0 -0
  643. /package/dist/{chunk-P5WABK2H.js.map → chunk-Z4GJB24B.js.map} +0 -0
  644. /package/dist/{chunk-NLMTNEWW.js.map → chunk-Z6E6TUAE.js.map} +0 -0
  645. /package/dist/{chunk-OBQVTCTW.js.map → chunk-ZX5H7LWD.js.map} +0 -0
  646. /package/dist/{embedded-voice-6QS4ANNX.js.map → computer-viewer-VA5JONUH.js.map} +0 -0
  647. /package/dist/{model-policy-picker-menu-CURJ247L.js.map → embedded-new-voice-6BILAOUG.js.map} +0 -0
  648. /package/dist/{sandbox-files-4FBG3GS2.js.map → embedded-voice-UDE4JRKB.js.map} +0 -0
  649. /package/dist/{fleet-decision-row-QNSTP3VX.js.map → fleet-decision-row-NN2HXDX3.js.map} +0 -0
  650. /package/dist/{session-realtime-2XIB254N.js.map → model-policy-picker-menu-NRTO6FRP.js.map} +0 -0
  651. /package/dist/{platform-activity-row-BMXXNZKX.js.map → platform-activity-row-ENQVIFTL.js.map} +0 -0
  652. /package/dist/{timeline-annotation-markers-X4K2IEOO.js.map → timeline-annotation-markers-ZSOFW7PG.js.map} +0 -0
  653. /package/dist/{timeline-annotation-selection-MEHBW676.js.map → timeline-annotation-selection-YWV2UC34.js.map} +0 -0
  654. /package/dist/{timeline-annotations-dialog-U2FPQ3UY.js.map → timeline-annotations-dialog-ZWQVX2HI.js.map} +0 -0
@@ -5,7 +5,7 @@ import {
5
5
  import {
6
6
  PatchApplyCommand,
7
7
  useRetainedImageObjectUrl
8
- } from "./chunk-3KVWXKD6.js";
8
+ } from "./chunk-LQ47YL6E.js";
9
9
  import {
10
10
  approvalsFromRequiresAction
11
11
  } from "./chunk-UD2PSIIX.js";
@@ -15,7 +15,7 @@ import {
15
15
  learningRefusalPlaceLabel,
16
16
  learningRefusalTitle,
17
17
  presentTurnFailureText
18
- } from "./chunk-5MZTJMZ3.js";
18
+ } from "./chunk-6MRY2RUZ.js";
19
19
  import {
20
20
  ActivityDisclosure,
21
21
  BodyNote,
@@ -34,7 +34,7 @@ import {
34
34
  ToolOutputPreviewProvider,
35
35
  useForcedDefaultOpen,
36
36
  useTimelineSearchReveal
37
- } from "./chunk-R63QEVPK.js";
37
+ } from "./chunk-SJORXXLV.js";
38
38
  import {
39
39
  useToolDetails
40
40
  } from "./chunk-RZLBICR5.js";
@@ -55,48 +55,50 @@ import {
55
55
  createTurnSummaryContext,
56
56
  execPresentation,
57
57
  formatElapsed,
58
- generatedImageReceipt,
59
58
  genericToolIconKind,
60
- invokedToolCall,
61
59
  machinePresentation,
62
- mediaPreviewFact,
63
60
  parseDisclosedTools,
64
61
  parseSearchHits,
65
- parseToolArgs,
66
62
  pathBasename,
67
63
  pathDirname,
68
64
  plainToolRow,
69
65
  presentedToolKind,
70
66
  presentsToolOutputPreview,
71
67
  resolveTurnSummaryFacets,
72
- retainedScreenshotMetadata,
73
- retainedToolResultImages,
74
68
  runOnPresentation,
75
- screenshotDataUrl,
76
69
  selectTurnSummaryFacets,
77
70
  toolRowPresentation,
78
71
  toolSearchPreview,
79
72
  toolSearchQuery,
80
73
  truncatePreview,
81
74
  turnSummaryFallbackLabel,
82
- unwrapMcpOutput,
83
75
  webSearchPresentation,
84
76
  writeStdinPresentation
85
- } from "./chunk-TQGJN5UZ.js";
77
+ } from "./chunk-AW3QEFOF.js";
86
78
  import {
87
79
  workerRowTitleParts
88
80
  } from "./chunk-HEVQKE27.js";
89
81
  import {
90
82
  isPatchFilename,
91
83
  isRetainedImageContentType
92
- } from "./chunk-ANHUMDJX.js";
84
+ } from "./chunk-WNDTLK44.js";
85
+ import {
86
+ generatedImageReceipt,
87
+ invokedToolCall,
88
+ mediaPreviewFact,
89
+ parseToolArgs,
90
+ retainedScreenshotMetadata,
91
+ retainedToolResultImages,
92
+ screenshotDataUrl,
93
+ unwrapMcpOutput
94
+ } from "./chunk-ULYQEFNH.js";
93
95
  import {
94
96
  mcpToolLeaf,
95
97
  toolDisplayName
96
- } from "./chunk-STUCI6QA.js";
98
+ } from "./chunk-LEKBNKLD.js";
97
99
  import {
98
100
  ShimmerText
99
- } from "./chunk-OBQVTCTW.js";
101
+ } from "./chunk-ZX5H7LWD.js";
100
102
  import {
101
103
  formatBytes,
102
104
  truncate,
@@ -107,7 +109,7 @@ import {
107
109
  } from "./chunk-TXS65BB2.js";
108
110
  import {
109
111
  useOpenGeniText
110
- } from "./chunk-5JZYPZ72.js";
112
+ } from "./chunk-JFK7NTEA.js";
111
113
 
112
114
  // src/timeline/retained-loaders.ts
113
115
  function createWorkspaceRetainedArtifactLoader(client, workspaceId) {
@@ -973,35 +975,20 @@ function PlainPatch({ diff }) {
973
975
  import { defaultUrlTransform } from "react-markdown";
974
976
  import { parseSandboxFileArtifactReceipt } from "@opengeni/sdk";
975
977
  import {
976
- BoxIcon,
977
- BrainCircuitIcon as BrainCircuitIcon2,
978
- CalendarClockIcon,
978
+ BrainCircuitIcon as BrainCircuitIcon3,
979
979
  CameraIcon,
980
980
  CameraOffIcon,
981
- DownloadIcon,
982
- FileDiffIcon,
983
- FileSearchIcon,
984
- FolderGitIcon,
985
- GlobeIcon,
986
- ImageIcon,
987
- KeyboardIcon,
988
- KeyRoundIcon,
981
+ DownloadIcon as DownloadIcon2,
982
+ FileSearchIcon as FileSearchIcon2,
983
+ GlobeIcon as GlobeIcon2,
984
+ ImageIcon as ImageIcon2,
985
+ KeyRoundIcon as KeyRoundIcon2,
989
986
  LockIcon,
990
- MessageCircleQuestionIcon,
991
- MessagesSquareIcon,
992
- MessageSquareIcon,
987
+ MessagesSquareIcon as MessagesSquareIcon2,
993
988
  MousePointer2Icon,
994
- PackageSearchIcon,
995
- PanelsTopLeftIcon,
996
- PlugIcon,
997
- SearchIcon,
998
- ServerCogIcon,
999
- ServerIcon,
1000
- Share2Icon,
1001
- TargetIcon,
1002
- TerminalIcon,
1003
- VideoIcon,
1004
- WrenchIcon
989
+ PackageSearchIcon as PackageSearchIcon2,
990
+ PanelsTopLeftIcon as PanelsTopLeftIcon2,
991
+ VideoIcon as VideoIcon2
1005
992
  } from "lucide-react";
1006
993
  import { useContext as useContext5, useState as useState7 } from "react";
1007
994
 
@@ -1046,22 +1033,179 @@ function ConnectorLogoIcon({
1046
1033
  );
1047
1034
  }
1048
1035
 
1036
+ // src/timeline/tool-icon.tsx
1037
+ import {
1038
+ ActivityIcon,
1039
+ AppWindowIcon,
1040
+ ArchiveIcon,
1041
+ BellIcon,
1042
+ BookOpenIcon,
1043
+ BotIcon,
1044
+ BoxIcon,
1045
+ BrainCircuitIcon as BrainCircuitIcon2,
1046
+ CalendarClockIcon,
1047
+ CircleDotIcon,
1048
+ ClipboardIcon,
1049
+ CodeIcon,
1050
+ DownloadIcon,
1051
+ FileDiffIcon,
1052
+ FileIcon,
1053
+ FileSearchIcon,
1054
+ FileSpreadsheetIcon,
1055
+ FileTextIcon,
1056
+ FolderGitIcon,
1057
+ FolderIcon,
1058
+ GlobeIcon,
1059
+ HandIcon,
1060
+ HourglassIcon,
1061
+ ImageIcon,
1062
+ InboxIcon,
1063
+ KeyboardIcon,
1064
+ KeyRoundIcon,
1065
+ LogInIcon,
1066
+ MessageCircleQuestionIcon,
1067
+ MessagesSquareIcon,
1068
+ MessageSquareIcon,
1069
+ MonitorIcon,
1070
+ PackageSearchIcon,
1071
+ PanelsTopLeftIcon,
1072
+ PaperclipIcon,
1073
+ PencilIcon,
1074
+ PlugIcon,
1075
+ ReceiptIcon,
1076
+ SearchIcon,
1077
+ ServerCogIcon,
1078
+ ServerIcon,
1079
+ SettingsIcon,
1080
+ Share2Icon,
1081
+ SparklesIcon,
1082
+ TargetIcon,
1083
+ TerminalIcon,
1084
+ VideoIcon,
1085
+ WrenchIcon
1086
+ } from "lucide-react";
1087
+ import { jsx as jsx6 } from "react/jsx-runtime";
1088
+ function toolIcon(kind) {
1089
+ switch (kind) {
1090
+ case "terminal":
1091
+ return TerminalIcon;
1092
+ case "keyboard":
1093
+ return KeyboardIcon;
1094
+ case "file-diff":
1095
+ return FileDiffIcon;
1096
+ case "search":
1097
+ return SearchIcon;
1098
+ case "question":
1099
+ return MessageCircleQuestionIcon;
1100
+ case "target":
1101
+ return TargetIcon;
1102
+ case "brain":
1103
+ return BrainCircuitIcon2;
1104
+ case "sessions":
1105
+ return MessagesSquareIcon;
1106
+ case "server":
1107
+ return ServerIcon;
1108
+ case "server-cog":
1109
+ return ServerCogIcon;
1110
+ case "calendar":
1111
+ return CalendarClockIcon;
1112
+ case "panels":
1113
+ return PanelsTopLeftIcon;
1114
+ case "share":
1115
+ return Share2Icon;
1116
+ case "message":
1117
+ return MessageSquareIcon;
1118
+ case "git":
1119
+ return FolderGitIcon;
1120
+ case "box":
1121
+ return BoxIcon;
1122
+ case "key":
1123
+ return KeyRoundIcon;
1124
+ case "file-search":
1125
+ return FileSearchIcon;
1126
+ case "package-search":
1127
+ return PackageSearchIcon;
1128
+ case "plug":
1129
+ return PlugIcon;
1130
+ case "browser":
1131
+ return GlobeIcon;
1132
+ case "screen":
1133
+ return MonitorIcon;
1134
+ case "spreadsheet":
1135
+ return FileSpreadsheetIcon;
1136
+ case "wait":
1137
+ return HourglassIcon;
1138
+ case "download":
1139
+ return DownloadIcon;
1140
+ case "clipboard":
1141
+ return ClipboardIcon;
1142
+ case "image":
1143
+ return ImageIcon;
1144
+ case "video":
1145
+ return VideoIcon;
1146
+ case "record":
1147
+ return CircleDotIcon;
1148
+ case "document":
1149
+ return FileTextIcon;
1150
+ case "file":
1151
+ return FileIcon;
1152
+ case "attachment":
1153
+ return PaperclipIcon;
1154
+ case "archive":
1155
+ return ArchiveIcon;
1156
+ case "folder":
1157
+ return FolderIcon;
1158
+ case "site":
1159
+ return AppWindowIcon;
1160
+ case "guide":
1161
+ return BookOpenIcon;
1162
+ case "settings":
1163
+ return SettingsIcon;
1164
+ case "bell":
1165
+ return BellIcon;
1166
+ case "inbox":
1167
+ return InboxIcon;
1168
+ case "help":
1169
+ return HandIcon;
1170
+ case "model":
1171
+ return SparklesIcon;
1172
+ case "progress":
1173
+ return ActivityIcon;
1174
+ case "helper":
1175
+ return BotIcon;
1176
+ case "sign-in":
1177
+ return LogInIcon;
1178
+ case "code":
1179
+ return CodeIcon;
1180
+ case "accounting":
1181
+ return ReceiptIcon;
1182
+ case "rename":
1183
+ return PencilIcon;
1184
+ case "wrench":
1185
+ return WrenchIcon;
1186
+ }
1187
+ }
1188
+ function ToolKindIcon({ kind, className }) {
1189
+ const Icon = toolIcon(kind);
1190
+ return /* @__PURE__ */ jsx6(Icon, { className });
1191
+ }
1192
+
1049
1193
  // src/timeline/tool-diff.tsx
1050
1194
  import { useState as useState6 } from "react";
1051
- import { jsx as jsx6, jsxs as jsxs3 } from "react/jsx-runtime";
1195
+ import { jsx as jsx7, jsxs as jsxs3 } from "react/jsx-runtime";
1052
1196
  function ToolDiff({ files }) {
1053
1197
  const [layout, setLayout] = useState6("unified");
1054
1198
  const themeType = useThemeType(void 0);
1055
1199
  return /* @__PURE__ */ jsxs3("div", { className: "min-w-0", children: [
1056
- /* @__PURE__ */ jsx6("div", { className: "mb-1.5 flex justify-end", children: /* @__PURE__ */ jsx6(LayoutToggle, { layout, onChange: setLayout }) }),
1057
- /* @__PURE__ */ jsx6(PierreDiff, { diff: files, layout, themeType })
1200
+ /* @__PURE__ */ jsx7("div", { className: "mb-1.5 flex justify-end", children: /* @__PURE__ */ jsx7(LayoutToggle, { layout, onChange: setLayout }) }),
1201
+ /* @__PURE__ */ jsx7(PierreDiff, { diff: files, layout, themeType })
1058
1202
  ] });
1059
1203
  }
1060
1204
  function LayoutToggle({
1061
1205
  layout,
1062
1206
  onChange
1063
1207
  }) {
1064
- return /* @__PURE__ */ jsx6("div", { className: "inline-flex items-center gap-px rounded-og-xs border border-og-border p-px", children: ["unified", "split"].map((value) => /* @__PURE__ */ jsx6(
1208
+ return /* @__PURE__ */ jsx7("div", { className: "inline-flex items-center gap-px rounded-og-xs border border-og-border p-px", children: ["unified", "split"].map((value) => /* @__PURE__ */ jsx7(
1065
1209
  "button",
1066
1210
  {
1067
1211
  type: "button",
@@ -1084,8 +1228,8 @@ function RawPatch({ diff }) {
1084
1228
  return { key: `${line}\0${occurrence}`, line };
1085
1229
  });
1086
1230
  return /* @__PURE__ */ jsxs3("div", { className: "min-w-0", children: [
1087
- /* @__PURE__ */ jsx6("p", { className: "mb-1 text-og-xs font-medium uppercase tracking-[0.08em] text-og-fg-subtle", children: t("timeline.toolDiff.rawPatchCouldNotParse") }),
1088
- /* @__PURE__ */ jsx6("pre", { className: "max-h-72 overflow-auto border-l-2 border-og-border pl-3 font-og-mono text-og-xs leading-5", children: lines.map(({ key, line }) => /* @__PURE__ */ jsx6(
1231
+ /* @__PURE__ */ jsx7("p", { className: "mb-1 text-og-xs font-medium uppercase tracking-[0.08em] text-og-fg-subtle", children: t("timeline.toolDiff.rawPatchCouldNotParse") }),
1232
+ /* @__PURE__ */ jsx7("pre", { className: "max-h-72 overflow-auto border-l-2 border-og-border pl-3 font-og-mono text-og-xs leading-5", children: lines.map(({ key, line }) => /* @__PURE__ */ jsx7(
1089
1233
  "span",
1090
1234
  {
1091
1235
  className: cn(
@@ -1100,13 +1244,13 @@ function RawPatch({ diff }) {
1100
1244
  }
1101
1245
 
1102
1246
  // src/timeline/tool-renderers.tsx
1103
- import { Fragment as Fragment3, jsx as jsx7, jsxs as jsxs4 } from "react/jsx-runtime";
1247
+ import { Fragment as Fragment3, jsx as jsx8, jsxs as jsxs4 } from "react/jsx-runtime";
1104
1248
  var ICON_SIZE = "size-3.5";
1105
1249
  function RunningPreview({ children }) {
1106
1250
  const compact = useContext5(CompactActivityContext);
1107
1251
  return /* @__PURE__ */ jsxs4("span", { className: "inline-flex items-center gap-1.5", children: [
1108
- !compact && /* @__PURE__ */ jsx7("span", { className: "size-1.5 shrink-0 animate-og-pulse rounded-full bg-og-status-running" }),
1109
- /* @__PURE__ */ jsx7("span", { className: "min-w-0 truncate", children })
1252
+ !compact && /* @__PURE__ */ jsx8("span", { className: "size-1.5 shrink-0 animate-og-pulse rounded-full bg-og-status-running" }),
1253
+ /* @__PURE__ */ jsx8("span", { className: "min-w-0 truncate", children })
1110
1254
  ] });
1111
1255
  }
1112
1256
  function PathPreview({
@@ -1116,8 +1260,8 @@ function PathPreview({
1116
1260
  }) {
1117
1261
  return /* @__PURE__ */ jsxs4("span", { className: "inline-flex items-center gap-2 truncate font-og-mono", children: [
1118
1262
  /* @__PURE__ */ jsxs4("span", { className: "truncate", children: [
1119
- /* @__PURE__ */ jsx7("span", { className: "text-og-fg-subtle", children: pathDirname(path) }),
1120
- /* @__PURE__ */ jsx7("span", { className: "text-og-fg-muted", children: pathBasename(path) })
1263
+ /* @__PURE__ */ jsx8("span", { className: "text-og-fg-subtle", children: pathDirname(path) }),
1264
+ /* @__PURE__ */ jsx8("span", { className: "text-og-fg-muted", children: pathBasename(path) })
1121
1265
  ] }),
1122
1266
  add != null || del != null ? /* @__PURE__ */ jsxs4("span", { className: "shrink-0 text-og-fg-subtle", children: [
1123
1267
  add != null ? `+${add}` : "",
@@ -1126,61 +1270,15 @@ function PathPreview({
1126
1270
  ] }) : null
1127
1271
  ] });
1128
1272
  }
1129
- function toolIcon(kind) {
1130
- switch (kind) {
1131
- case "terminal":
1132
- return TerminalIcon;
1133
- case "keyboard":
1134
- return KeyboardIcon;
1135
- case "file-diff":
1136
- return FileDiffIcon;
1137
- case "search":
1138
- return SearchIcon;
1139
- case "question":
1140
- return MessageCircleQuestionIcon;
1141
- case "target":
1142
- return TargetIcon;
1143
- case "brain":
1144
- return BrainCircuitIcon2;
1145
- case "sessions":
1146
- return MessagesSquareIcon;
1147
- case "server":
1148
- return ServerIcon;
1149
- case "server-cog":
1150
- return ServerCogIcon;
1151
- case "calendar":
1152
- return CalendarClockIcon;
1153
- case "panels":
1154
- return PanelsTopLeftIcon;
1155
- case "share":
1156
- return Share2Icon;
1157
- case "message":
1158
- return MessageSquareIcon;
1159
- case "git":
1160
- return FolderGitIcon;
1161
- case "box":
1162
- return BoxIcon;
1163
- case "key":
1164
- return KeyRoundIcon;
1165
- case "file-search":
1166
- return FileSearchIcon;
1167
- case "package-search":
1168
- return PackageSearchIcon;
1169
- case "plug":
1170
- return PlugIcon;
1171
- case "wrench":
1172
- return WrenchIcon;
1173
- }
1174
- }
1175
1273
  function presentedPreviewNode(msg, preview) {
1176
1274
  switch (preview.kind) {
1177
1275
  case "text":
1178
- return preview.running ? /* @__PURE__ */ jsx7(RunningPreview, { children: preview.text }) : preview.text;
1276
+ return preview.running ? /* @__PURE__ */ jsx8(RunningPreview, { children: preview.text }) : preview.text;
1179
1277
  case "path":
1180
- return /* @__PURE__ */ jsx7(PathPreview, { path: preview.path, add: preview.add, del: preview.del });
1278
+ return /* @__PURE__ */ jsx8(PathPreview, { path: preview.path, add: preview.add, del: preview.del });
1181
1279
  case "files":
1182
1280
  return /* @__PURE__ */ jsxs4("span", { className: "inline-flex items-center gap-2 font-og-mono", children: [
1183
- /* @__PURE__ */ jsx7("span", { className: "text-og-fg-muted", children: msg("timeline.toolRenderers.filesCount", { count: preview.count }) }),
1281
+ /* @__PURE__ */ jsx8("span", { className: "text-og-fg-muted", children: msg("timeline.toolRenderers.filesCount", { count: preview.count }) }),
1184
1282
  /* @__PURE__ */ jsxs4("span", { className: "text-og-fg-subtle", children: [
1185
1283
  "+",
1186
1284
  preview.add,
@@ -1190,8 +1288,8 @@ function presentedPreviewNode(msg, preview) {
1190
1288
  ] });
1191
1289
  case "malformed":
1192
1290
  return /* @__PURE__ */ jsxs4("span", { className: "inline-flex items-center gap-2 font-og-mono", children: [
1193
- /* @__PURE__ */ jsx7("span", { className: "text-og-fg-muted", children: preview.name }),
1194
- /* @__PURE__ */ jsx7("span", { className: "text-og-fg-subtle", children: msg("timeline.toolRenderers.malformedPatch") })
1291
+ /* @__PURE__ */ jsx8("span", { className: "text-og-fg-muted", children: preview.name }),
1292
+ /* @__PURE__ */ jsx8("span", { className: "text-og-fg-subtle", children: msg("timeline.toolRenderers.malformedPatch") })
1195
1293
  ] });
1196
1294
  }
1197
1295
  }
@@ -1199,7 +1297,7 @@ function PresentedBody({ body }) {
1199
1297
  switch (body.kind) {
1200
1298
  case "term":
1201
1299
  return /* @__PURE__ */ jsxs4(Fragment3, { children: [
1202
- /* @__PURE__ */ jsx7(
1300
+ /* @__PURE__ */ jsx8(
1203
1301
  TermBlock,
1204
1302
  {
1205
1303
  command: body.command,
@@ -1209,29 +1307,29 @@ function PresentedBody({ body }) {
1209
1307
  ...body.failed !== void 0 ? { failed: body.failed } : {}
1210
1308
  }
1211
1309
  ),
1212
- body.note ? /* @__PURE__ */ jsx7(BodyNote, { children: body.note }) : null
1310
+ body.note ? /* @__PURE__ */ jsx8(BodyNote, { children: body.note }) : null
1213
1311
  ] });
1214
1312
  case "note":
1215
- return body.tone ? /* @__PURE__ */ jsx7(BodyNote, { tone: body.tone, children: body.text }) : /* @__PURE__ */ jsx7(BodyNote, { children: body.text });
1313
+ return body.tone ? /* @__PURE__ */ jsx8(BodyNote, { tone: body.tone, children: body.text }) : /* @__PURE__ */ jsx8(BodyNote, { children: body.text });
1216
1314
  case "payloads":
1217
1315
  return /* @__PURE__ */ jsxs4(Fragment3, { children: [
1218
- body.note ? /* @__PURE__ */ jsx7("p", { className: "m-0 py-1 text-og-sm text-og-fg-muted", children: body.note }) : null,
1316
+ body.note ? /* @__PURE__ */ jsx8("p", { className: "m-0 py-1 text-og-sm text-og-fg-muted", children: body.note }) : null,
1219
1317
  body.blocks.map(
1220
- (block) => block.failed ? /* @__PURE__ */ jsx7(PayloadBlock, { label: block.label, value: block.value, failed: true }, block.label) : /* @__PURE__ */ jsx7(PayloadBlock, { label: block.label, value: block.value }, block.label)
1318
+ (block) => block.failed ? /* @__PURE__ */ jsx8(PayloadBlock, { label: block.label, value: block.value, failed: true }, block.label) : /* @__PURE__ */ jsx8(PayloadBlock, { label: block.label, value: block.value }, block.label)
1221
1319
  )
1222
1320
  ] });
1223
1321
  case "patch":
1224
1322
  if (body.bare) {
1225
- return /* @__PURE__ */ jsx7(RawPatch, { diff: body.files[0]?.diff ?? "" });
1323
+ return /* @__PURE__ */ jsx8(RawPatch, { diff: body.files[0]?.diff ?? "" });
1226
1324
  }
1227
- return /* @__PURE__ */ jsx7(Fragment3, { children: body.files.map(
1228
- (entry) => entry.file ? /* @__PURE__ */ jsx7(ToolDiff, { files: [entry.file] }, entry.key) : /* @__PURE__ */ jsxs4("div", { children: [
1229
- /* @__PURE__ */ jsx7("p", { className: "mb-1 font-og-mono text-og-xs text-og-fg-muted", children: entry.path }),
1230
- /* @__PURE__ */ jsx7(RawPatch, { diff: entry.diff })
1325
+ return /* @__PURE__ */ jsx8(Fragment3, { children: body.files.map(
1326
+ (entry) => entry.file ? /* @__PURE__ */ jsx8(ToolDiff, { files: [entry.file] }, entry.key) : /* @__PURE__ */ jsxs4("div", { children: [
1327
+ /* @__PURE__ */ jsx8("p", { className: "mb-1 font-og-mono text-og-xs text-og-fg-muted", children: entry.path }),
1328
+ /* @__PURE__ */ jsx8(RawPatch, { diff: entry.diff })
1231
1329
  ] }, entry.key)
1232
1330
  ) });
1233
1331
  case "web-results":
1234
- return /* @__PURE__ */ jsx7(WebSearchResults, { results: body.results });
1332
+ return /* @__PURE__ */ jsx8(WebSearchResults, { results: body.results });
1235
1333
  case "none":
1236
1334
  return null;
1237
1335
  }
@@ -1246,17 +1344,17 @@ function WebSearchResults({ results }) {
1246
1344
  return { key: `${contentKey}\0${occurrence}`, result };
1247
1345
  });
1248
1346
  if (!keyedResults || !keyedResults.length) {
1249
- return /* @__PURE__ */ jsx7(BodyNote, { children: msg("timeline.toolRenderers.resultsFoldedIntoModelContext") });
1347
+ return /* @__PURE__ */ jsx8(BodyNote, { children: msg("timeline.toolRenderers.resultsFoldedIntoModelContext") });
1250
1348
  }
1251
- return /* @__PURE__ */ jsx7("ul", { className: "flex flex-col gap-2", children: keyedResults.map(({ key, result }) => /* @__PURE__ */ jsxs4("li", { className: "flex gap-2.5", children: [
1252
- /* @__PURE__ */ jsx7(GlobeIcon, { className: "mt-0.5 size-3.5 shrink-0 text-og-fg-subtle" }),
1349
+ return /* @__PURE__ */ jsx8("ul", { className: "flex flex-col gap-2", children: keyedResults.map(({ key, result }) => /* @__PURE__ */ jsxs4("li", { className: "flex gap-2.5", children: [
1350
+ /* @__PURE__ */ jsx8(GlobeIcon2, { className: "mt-0.5 size-3.5 shrink-0 text-og-fg-subtle" }),
1253
1351
  /* @__PURE__ */ jsxs4("div", { className: "min-w-0", children: [
1254
1352
  /* @__PURE__ */ jsxs4("p", { className: "truncate text-og-base text-og-fg", children: [
1255
1353
  result.title,
1256
1354
  " ",
1257
- /* @__PURE__ */ jsx7("span", { className: "text-og-fg-subtle", children: result.domain })
1355
+ /* @__PURE__ */ jsx8("span", { className: "text-og-fg-subtle", children: result.domain })
1258
1356
  ] }),
1259
- /* @__PURE__ */ jsx7("p", { className: "text-og-sm leading-5 text-og-fg-muted", children: result.snippet })
1357
+ /* @__PURE__ */ jsx8("p", { className: "text-og-sm leading-5 text-og-fg-muted", children: result.snippet })
1260
1358
  ] })
1261
1359
  ] }, key)) });
1262
1360
  }
@@ -1269,12 +1367,12 @@ function PresentedToolRow({
1269
1367
  const computeLabel = useTimelineComputeLabel();
1270
1368
  const p = useToolDetails() === "plain" ? plainToolRow(msg, item, presentation, { computeLabel }) : presentation;
1271
1369
  const Icon = toolIcon(p.icon);
1272
- return /* @__PURE__ */ jsx7(
1370
+ return /* @__PURE__ */ jsx8(
1273
1371
  ActivityDisclosure,
1274
1372
  {
1275
- icon: /* @__PURE__ */ jsx7(ConnectorLogoIcon, { src: logo, fallback: /* @__PURE__ */ jsx7(Icon, { className: ICON_SIZE }) }),
1373
+ icon: /* @__PURE__ */ jsx8(ConnectorLogoIcon, { src: logo, fallback: /* @__PURE__ */ jsx8(Icon, { className: ICON_SIZE }) }),
1276
1374
  iconTone: p.iconTone,
1277
- title: /* @__PURE__ */ jsx7(SecretRefText, { text: p.title, linkable: false }),
1375
+ title: /* @__PURE__ */ jsx8(SecretRefText, { text: p.title, linkable: false }),
1278
1376
  ...p.titleMono ? { titleMono: true } : {},
1279
1377
  ...p.running ? { running: true } : {},
1280
1378
  ...p.chip ? { chip: p.chip } : {},
@@ -1282,42 +1380,42 @@ function PresentedToolRow({
1282
1380
  ...p.cancelled !== void 0 ? { cancelled: p.cancelled } : {},
1283
1381
  preview: p.preview ? presentedPreviewNode(msg, p.preview) : void 0,
1284
1382
  expandable: p.body.kind !== "none",
1285
- children: /* @__PURE__ */ jsx7(PresentedBody, { body: p.body })
1383
+ children: /* @__PURE__ */ jsx8(PresentedBody, { body: p.body })
1286
1384
  }
1287
1385
  );
1288
1386
  }
1289
1387
  function ExecRenderer({ item }) {
1290
1388
  const msg = useOpenGeniText();
1291
1389
  const computeLabel = useTimelineComputeLabel();
1292
- return /* @__PURE__ */ jsx7(PresentedToolRow, { presentation: execPresentation(msg, item, { computeLabel }), item });
1390
+ return /* @__PURE__ */ jsx8(PresentedToolRow, { presentation: execPresentation(msg, item, { computeLabel }), item });
1293
1391
  }
1294
1392
  function WriteStdinRenderer({ item }) {
1295
1393
  const msg = useOpenGeniText();
1296
- return /* @__PURE__ */ jsx7(PresentedToolRow, { presentation: writeStdinPresentation(msg, item), item });
1394
+ return /* @__PURE__ */ jsx8(PresentedToolRow, { presentation: writeStdinPresentation(msg, item), item });
1297
1395
  }
1298
1396
  function ApplyPatchRenderer({ item }) {
1299
1397
  const msg = useOpenGeniText();
1300
1398
  const presentation = applyPatchPresentation(msg, item);
1301
- return presentation ? /* @__PURE__ */ jsx7(PresentedToolRow, { presentation, item }) : /* @__PURE__ */ jsx7(GenericRenderer, { item });
1399
+ return presentation ? /* @__PURE__ */ jsx8(PresentedToolRow, { presentation, item }) : /* @__PURE__ */ jsx8(GenericRenderer, { item });
1302
1400
  }
1303
1401
  function WebSearchRenderer({ item }) {
1304
1402
  const msg = useOpenGeniText();
1305
- return /* @__PURE__ */ jsx7(PresentedToolRow, { presentation: webSearchPresentation(msg, item), item });
1403
+ return /* @__PURE__ */ jsx8(PresentedToolRow, { presentation: webSearchPresentation(msg, item), item });
1306
1404
  }
1307
1405
  function AskRenderer({ item }) {
1308
1406
  const msg = useOpenGeniText();
1309
- return /* @__PURE__ */ jsx7(PresentedToolRow, { presentation: askPresentation(msg, item), item });
1407
+ return /* @__PURE__ */ jsx8(PresentedToolRow, { presentation: askPresentation(msg, item), item });
1310
1408
  }
1311
1409
  function RunOnRenderer({ item }) {
1312
1410
  const msg = useOpenGeniText();
1313
- return /* @__PURE__ */ jsx7(PresentedToolRow, { presentation: runOnPresentation(msg, item), item });
1411
+ return /* @__PURE__ */ jsx8(PresentedToolRow, { presentation: runOnPresentation(msg, item), item });
1314
1412
  }
1315
1413
  function MachineRenderer({ item, loadRetainedScreenshot }) {
1316
1414
  const msg = useOpenGeniText();
1317
1415
  const presentation = machinePresentation(msg, item);
1318
1416
  const retained = mcpToolLeaf(item.name).startsWith("computer_") ? retainedScreenshotMetadata(item.output) : null;
1319
- if (!retained?.available) return /* @__PURE__ */ jsx7(PresentedToolRow, { presentation, item });
1320
- return /* @__PURE__ */ jsx7(
1417
+ if (!retained?.available) return /* @__PURE__ */ jsx8(PresentedToolRow, { presentation, item });
1418
+ return /* @__PURE__ */ jsx8(
1321
1419
  RetainedSessionImageDisclosure,
1322
1420
  {
1323
1421
  artifact: retained,
@@ -1325,7 +1423,7 @@ function MachineRenderer({ item, loadRetainedScreenshot }) {
1325
1423
  title: presentation.title,
1326
1424
  caption: presentation.title,
1327
1425
  noun: "screenshot",
1328
- icon: /* @__PURE__ */ jsx7(CameraIcon, { className: ICON_SIZE }),
1426
+ icon: /* @__PURE__ */ jsx8(CameraIcon, { className: ICON_SIZE }),
1329
1427
  lightboxLabel: msg("timeline.toolRenderers.screenshot"),
1330
1428
  batched: null,
1331
1429
  failed: item.status === "failed",
@@ -1339,7 +1437,7 @@ function UnreviewedGenericRenderer({ item, loadRetainedScreenshot }) {
1339
1437
  const logo = useToolConnectorLogo(item.display);
1340
1438
  const { images, output } = retainedToolResultImages(item.output);
1341
1439
  if (images.length === 0 || item.status === "running") {
1342
- return /* @__PURE__ */ jsx7(PresentedToolRow, { presentation: toolRowPresentation(msg, item), item, logo });
1440
+ return /* @__PURE__ */ jsx8(PresentedToolRow, { presentation: toolRowPresentation(msg, item), item, logo });
1343
1441
  }
1344
1442
  const presentation = toolRowPresentation(msg, { ...item, output }, { details });
1345
1443
  const Icon = toolIcon(presentation.icon);
@@ -1352,14 +1450,14 @@ function UnreviewedGenericRenderer({ item, loadRetainedScreenshot }) {
1352
1450
  title: presentation.title,
1353
1451
  caption: presentation.title,
1354
1452
  noun: "image",
1355
- icon: /* @__PURE__ */ jsx7(ConnectorLogoIcon, { src: logo, fallback: /* @__PURE__ */ jsx7(Icon, { className: ICON_SIZE }) }),
1453
+ icon: /* @__PURE__ */ jsx8(ConnectorLogoIcon, { src: logo, fallback: /* @__PURE__ */ jsx8(Icon, { className: ICON_SIZE }) }),
1356
1454
  lightboxLabel: presentation.title,
1357
1455
  batched: null,
1358
1456
  failed: presentation.failed ?? false,
1359
1457
  cancelled: presentation.cancelled ?? false,
1360
1458
  children: [
1361
- /* @__PURE__ */ jsx7(PresentedBody, { body: presentation.body }),
1362
- rest.map((image, index) => /* @__PURE__ */ jsx7(
1459
+ /* @__PURE__ */ jsx8(PresentedBody, { body: presentation.body }),
1460
+ rest.map((image, index) => /* @__PURE__ */ jsx8(
1363
1461
  RetainedSessionImageDisclosure,
1364
1462
  {
1365
1463
  artifact: image,
@@ -1367,7 +1465,7 @@ function UnreviewedGenericRenderer({ item, loadRetainedScreenshot }) {
1367
1465
  title: msg("timeline.toolRenderers.imageIndex", { index: index + 2 }),
1368
1466
  caption: `${presentation.title}, image ${index + 2}`,
1369
1467
  noun: "image",
1370
- icon: /* @__PURE__ */ jsx7(ImageIcon, { className: ICON_SIZE }),
1468
+ icon: /* @__PURE__ */ jsx8(ImageIcon2, { className: ICON_SIZE }),
1371
1469
  lightboxLabel: presentation.title,
1372
1470
  batched: null,
1373
1471
  failed: false,
@@ -1450,40 +1548,40 @@ function ComputerCallRenderer({ item, loadRetainedScreenshot }) {
1450
1548
  const countSuffix = actions.length > 1 ? ` \xB7${actions.length}` : "";
1451
1549
  const isShot = action?.type === "screenshot";
1452
1550
  if (running) {
1453
- return /* @__PURE__ */ jsx7(
1551
+ return /* @__PURE__ */ jsx8(
1454
1552
  ActivityDisclosure,
1455
1553
  {
1456
- icon: isShot ? /* @__PURE__ */ jsx7(CameraIcon, { className: ICON_SIZE }) : /* @__PURE__ */ jsx7(MousePointer2Icon, { className: ICON_SIZE }),
1554
+ icon: isShot ? /* @__PURE__ */ jsx8(CameraIcon, { className: ICON_SIZE }) : /* @__PURE__ */ jsx8(MousePointer2Icon, { className: ICON_SIZE }),
1457
1555
  iconTone: "running",
1458
1556
  title: verb,
1459
1557
  running: true,
1460
- media: /* @__PURE__ */ jsx7(MediaSkeleton, {}),
1461
- children: /* @__PURE__ */ jsx7(BodyNote, { children: msg("timeline.toolRenderers.capturingFrame") })
1558
+ media: /* @__PURE__ */ jsx8(MediaSkeleton, {}),
1559
+ children: /* @__PURE__ */ jsx8(BodyNote, { children: msg("timeline.toolRenderers.capturingFrame") })
1462
1560
  }
1463
1561
  );
1464
1562
  }
1465
1563
  if (readOnly) {
1466
- return /* @__PURE__ */ jsx7(
1564
+ return /* @__PURE__ */ jsx8(
1467
1565
  ActivityDisclosure,
1468
1566
  {
1469
- icon: /* @__PURE__ */ jsx7(MousePointer2Icon, { className: ICON_SIZE }),
1567
+ icon: /* @__PURE__ */ jsx8(MousePointer2Icon, { className: ICON_SIZE }),
1470
1568
  iconTone: "failed",
1471
1569
  title: verb,
1472
1570
  chip: { tone: "bad", text: "read-only" },
1473
1571
  preview: "write actions disabled",
1474
- children: /* @__PURE__ */ jsx7(BodyNote, { tone: "error", children: msg("timeline.toolRenderers.computerUseIsReadOnly") })
1572
+ children: /* @__PURE__ */ jsx8(BodyNote, { tone: "error", children: msg("timeline.toolRenderers.computerUseIsReadOnly") })
1475
1573
  }
1476
1574
  );
1477
1575
  }
1478
1576
  if (rejected) {
1479
- return /* @__PURE__ */ jsx7(
1577
+ return /* @__PURE__ */ jsx8(
1480
1578
  ActivityDisclosure,
1481
1579
  {
1482
- icon: /* @__PURE__ */ jsx7(LockIcon, { className: ICON_SIZE }),
1580
+ icon: /* @__PURE__ */ jsx8(LockIcon, { className: ICON_SIZE }),
1483
1581
  iconTone: "muted",
1484
1582
  title: verb,
1485
1583
  preview: msg("timeline.toolRenderers.approvalRejectedThisActionDid2"),
1486
- children: /* @__PURE__ */ jsx7(BodyNote, { children: msg("timeline.toolRenderers.approvalRejectedThisActionDid") })
1584
+ children: /* @__PURE__ */ jsx8(BodyNote, { children: msg("timeline.toolRenderers.approvalRejectedThisActionDid") })
1487
1585
  }
1488
1586
  );
1489
1587
  }
@@ -1492,24 +1590,24 @@ function ComputerCallRenderer({ item, loadRetainedScreenshot }) {
1492
1590
  if (retained) {
1493
1591
  if (!retained.available) {
1494
1592
  const state = retained.reason === "expired" || retained.reason === "deleted" ? retained.reason : "unavailable";
1495
- return /* @__PURE__ */ jsx7(
1593
+ return /* @__PURE__ */ jsx8(
1496
1594
  ActivityDisclosure,
1497
1595
  {
1498
- icon: /* @__PURE__ */ jsx7(CameraOffIcon, { className: ICON_SIZE }),
1596
+ icon: /* @__PURE__ */ jsx8(CameraOffIcon, { className: ICON_SIZE }),
1499
1597
  iconTone: isFailed ? "failed" : "muted",
1500
1598
  title: `${verb}${countSuffix} \xB7 ${state}`,
1501
1599
  failed: isFailed,
1502
1600
  cancelled: isCancelled,
1503
1601
  preview: `screenshot ${state}`,
1504
- media: /* @__PURE__ */ jsx7(MediaEmpty, {}),
1505
- children: /* @__PURE__ */ jsx7(BodyNote, { tone: isFailed ? "error" : void 0, children: msg("timeline.toolRenderers.screenshotStateReplaceall", {
1602
+ media: /* @__PURE__ */ jsx8(MediaEmpty, {}),
1603
+ children: /* @__PURE__ */ jsx8(BodyNote, { tone: isFailed ? "error" : void 0, children: msg("timeline.toolRenderers.screenshotStateReplaceall", {
1506
1604
  state,
1507
1605
  replaceAll: retained.reason.replaceAll("_", " ")
1508
1606
  }) })
1509
1607
  }
1510
1608
  );
1511
1609
  }
1512
- return /* @__PURE__ */ jsx7(
1610
+ return /* @__PURE__ */ jsx8(
1513
1611
  RetainedSessionImageDisclosure,
1514
1612
  {
1515
1613
  artifact: retained,
@@ -1517,7 +1615,7 @@ function ComputerCallRenderer({ item, loadRetainedScreenshot }) {
1517
1615
  title: `${verb}${countSuffix}`,
1518
1616
  caption: `${verb}${countSuffix}`,
1519
1617
  noun: "screenshot",
1520
- icon: /* @__PURE__ */ jsx7(CameraIcon, { className: ICON_SIZE }),
1618
+ icon: /* @__PURE__ */ jsx8(CameraIcon, { className: ICON_SIZE }),
1521
1619
  lightboxLabel: msg("timeline.toolRenderers.screenshot"),
1522
1620
  batched,
1523
1621
  failed: isFailed,
@@ -1530,15 +1628,15 @@ function ComputerCallRenderer({ item, loadRetainedScreenshot }) {
1530
1628
  return /* @__PURE__ */ jsxs4(
1531
1629
  ActivityDisclosure,
1532
1630
  {
1533
- icon: isShot ? /* @__PURE__ */ jsx7(CameraIcon, { className: ICON_SIZE }) : /* @__PURE__ */ jsx7(MousePointer2Icon, { className: ICON_SIZE }),
1631
+ icon: isShot ? /* @__PURE__ */ jsx8(CameraIcon, { className: ICON_SIZE }) : /* @__PURE__ */ jsx8(MousePointer2Icon, { className: ICON_SIZE }),
1534
1632
  iconTone: isFailed ? "failed" : "accent",
1535
1633
  title: `${verb}${countSuffix}`,
1536
1634
  failed: isFailed,
1537
1635
  cancelled: isCancelled,
1538
- media: /* @__PURE__ */ jsx7(Thumbnail, { src: shotUrl, caption }),
1636
+ media: /* @__PURE__ */ jsx8(Thumbnail, { src: shotUrl, caption }),
1539
1637
  children: [
1540
- /* @__PURE__ */ jsx7(ScreenshotFigure, { src: shotUrl, caption }),
1541
- batched ? /* @__PURE__ */ jsx7(BodyNote, { children: msg("timeline.toolRenderers.batchedBatched", { batched }) }) : null
1638
+ /* @__PURE__ */ jsx8(ScreenshotFigure, { src: shotUrl, caption }),
1639
+ batched ? /* @__PURE__ */ jsx8(BodyNote, { children: msg("timeline.toolRenderers.batchedBatched", { batched }) }) : null
1542
1640
  ]
1543
1641
  }
1544
1642
  );
@@ -1547,47 +1645,47 @@ function ComputerCallRenderer({ item, loadRetainedScreenshot }) {
1547
1645
  return /* @__PURE__ */ jsxs4(
1548
1646
  ActivityDisclosure,
1549
1647
  {
1550
- icon: /* @__PURE__ */ jsx7(CameraOffIcon, { className: ICON_SIZE }),
1648
+ icon: /* @__PURE__ */ jsx8(CameraOffIcon, { className: ICON_SIZE }),
1551
1649
  iconTone: isFailed ? "failed" : "muted",
1552
1650
  title: msg("timeline.toolRenderers.verbCountsuffixImageOmittedNot", { verb, countSuffix }),
1553
1651
  failed: isFailed,
1554
1652
  cancelled: isCancelled,
1555
1653
  preview: msg("timeline.toolRenderers.inlineImageOmittedNotRetained"),
1556
- media: /* @__PURE__ */ jsx7(MediaEmpty, {}),
1654
+ media: /* @__PURE__ */ jsx8(MediaEmpty, {}),
1557
1655
  children: [
1558
- /* @__PURE__ */ jsx7(BodyNote, { children: msg("timeline.toolRenderers.theInlineMediatypeOutputWas", {
1656
+ /* @__PURE__ */ jsx8(BodyNote, { children: msg("timeline.toolRenderers.theInlineMediatypeOutputWas", {
1559
1657
  mediaType: omittedMedia.mediaType
1560
1658
  }) }),
1561
- batched ? /* @__PURE__ */ jsx7(BodyNote, { children: msg("timeline.toolRenderers.batchedBatched", { batched }) }) : null
1659
+ batched ? /* @__PURE__ */ jsx8(BodyNote, { children: msg("timeline.toolRenderers.batchedBatched", { batched }) }) : null
1562
1660
  ]
1563
1661
  }
1564
1662
  );
1565
1663
  }
1566
1664
  if (empty) {
1567
- return /* @__PURE__ */ jsx7(
1665
+ return /* @__PURE__ */ jsx8(
1568
1666
  ActivityDisclosure,
1569
1667
  {
1570
- icon: /* @__PURE__ */ jsx7(CameraOffIcon, { className: ICON_SIZE }),
1668
+ icon: /* @__PURE__ */ jsx8(CameraOffIcon, { className: ICON_SIZE }),
1571
1669
  iconTone: isFailed ? "failed" : "muted",
1572
1670
  title: verb,
1573
1671
  failed: isFailed,
1574
1672
  cancelled: isCancelled,
1575
- media: /* @__PURE__ */ jsx7(MediaEmpty, {}),
1576
- children: /* @__PURE__ */ jsx7(BodyNote, { children: isFailed ? msg("timeline.toolRenderers.computerCallFailedNoImage") : isCancelled ? msg("timeline.toolRenderers.computerCallInterruptedNoImage") : msg("timeline.toolRenderers.noImageTheSessionReturned") })
1673
+ media: /* @__PURE__ */ jsx8(MediaEmpty, {}),
1674
+ children: /* @__PURE__ */ jsx8(BodyNote, { children: isFailed ? msg("timeline.toolRenderers.computerCallFailedNoImage") : isCancelled ? msg("timeline.toolRenderers.computerCallInterruptedNoImage") : msg("timeline.toolRenderers.noImageTheSessionReturned") })
1577
1675
  }
1578
1676
  );
1579
1677
  }
1580
- return /* @__PURE__ */ jsx7(
1678
+ return /* @__PURE__ */ jsx8(
1581
1679
  ActivityDisclosure,
1582
1680
  {
1583
- icon: /* @__PURE__ */ jsx7(MousePointer2Icon, { className: ICON_SIZE }),
1681
+ icon: /* @__PURE__ */ jsx8(MousePointer2Icon, { className: ICON_SIZE }),
1584
1682
  iconTone: isFailed ? "failed" : "accent",
1585
1683
  title: verb,
1586
1684
  failed: isFailed,
1587
1685
  cancelled: isCancelled,
1588
1686
  preview: batched ?? void 0,
1589
1687
  expandable: batched != null,
1590
- children: batched ? /* @__PURE__ */ jsx7(BodyNote, { children: batched }) : null
1688
+ children: batched ? /* @__PURE__ */ jsx8(BodyNote, { children: batched }) : null
1591
1689
  }
1592
1690
  );
1593
1691
  }
@@ -1600,39 +1698,39 @@ function BrowserScreenshotRenderer(props) {
1600
1698
  const isFailed = item.status === "failed";
1601
1699
  const isCancelled = item.status === "cancelled";
1602
1700
  if (item.status === "running" && leaf === "browser_screenshot") {
1603
- return /* @__PURE__ */ jsx7(
1701
+ return /* @__PURE__ */ jsx8(
1604
1702
  ActivityDisclosure,
1605
1703
  {
1606
- icon: /* @__PURE__ */ jsx7(CameraIcon, { className: ICON_SIZE }),
1704
+ icon: /* @__PURE__ */ jsx8(CameraIcon, { className: ICON_SIZE }),
1607
1705
  iconTone: "running",
1608
1706
  title,
1609
1707
  running: true,
1610
- media: /* @__PURE__ */ jsx7(MediaSkeleton, {}),
1611
- children: /* @__PURE__ */ jsx7(BodyNote, { children: msg("timeline.toolRenderers.capturingFrame") })
1708
+ media: /* @__PURE__ */ jsx8(MediaSkeleton, {}),
1709
+ children: /* @__PURE__ */ jsx8(BodyNote, { children: msg("timeline.toolRenderers.capturingFrame") })
1612
1710
  }
1613
1711
  );
1614
1712
  }
1615
- if (!retained) return /* @__PURE__ */ jsx7(GenericRenderer, { ...props });
1713
+ if (!retained) return /* @__PURE__ */ jsx8(GenericRenderer, { ...props });
1616
1714
  if (!retained.available) {
1617
1715
  const state = retained.reason === "expired" || retained.reason === "deleted" ? retained.reason : "unavailable";
1618
- return /* @__PURE__ */ jsx7(
1716
+ return /* @__PURE__ */ jsx8(
1619
1717
  ActivityDisclosure,
1620
1718
  {
1621
- icon: /* @__PURE__ */ jsx7(CameraOffIcon, { className: ICON_SIZE }),
1719
+ icon: /* @__PURE__ */ jsx8(CameraOffIcon, { className: ICON_SIZE }),
1622
1720
  iconTone: isFailed ? "failed" : "muted",
1623
1721
  title: `${title} \xB7 ${state}`,
1624
1722
  failed: isFailed,
1625
1723
  cancelled: isCancelled,
1626
1724
  preview: `screenshot ${state}`,
1627
- media: /* @__PURE__ */ jsx7(MediaEmpty, {}),
1628
- children: /* @__PURE__ */ jsx7(BodyNote, { tone: isFailed ? "error" : void 0, children: msg("timeline.toolRenderers.screenshotStateReplaceall", {
1725
+ media: /* @__PURE__ */ jsx8(MediaEmpty, {}),
1726
+ children: /* @__PURE__ */ jsx8(BodyNote, { tone: isFailed ? "error" : void 0, children: msg("timeline.toolRenderers.screenshotStateReplaceall", {
1629
1727
  state,
1630
1728
  replaceAll: retained.reason.replaceAll("_", " ")
1631
1729
  }) })
1632
1730
  }
1633
1731
  );
1634
1732
  }
1635
- return /* @__PURE__ */ jsx7(
1733
+ return /* @__PURE__ */ jsx8(
1636
1734
  RetainedSessionImageDisclosure,
1637
1735
  {
1638
1736
  artifact: retained,
@@ -1640,7 +1738,7 @@ function BrowserScreenshotRenderer(props) {
1640
1738
  title,
1641
1739
  caption: title,
1642
1740
  noun: "screenshot",
1643
- icon: /* @__PURE__ */ jsx7(CameraIcon, { className: ICON_SIZE }),
1741
+ icon: /* @__PURE__ */ jsx8(CameraIcon, { className: ICON_SIZE }),
1644
1742
  lightboxLabel: msg("timeline.toolRenderers.browserScreenshot"),
1645
1743
  batched: null,
1646
1744
  failed: isFailed,
@@ -1651,7 +1749,7 @@ function BrowserScreenshotRenderer(props) {
1651
1749
  function RetainedSessionImageDisclosure(props) {
1652
1750
  const compact = useContext5(CompactActivityContext);
1653
1751
  if (compact) {
1654
- return /* @__PURE__ */ jsx7(
1752
+ return /* @__PURE__ */ jsx8(
1655
1753
  ActivityDisclosure,
1656
1754
  {
1657
1755
  icon: props.icon,
@@ -1662,7 +1760,7 @@ function RetainedSessionImageDisclosure(props) {
1662
1760
  }
1663
1761
  );
1664
1762
  }
1665
- return /* @__PURE__ */ jsx7(LoadedRetainedSessionImageDisclosure, { ...props });
1763
+ return /* @__PURE__ */ jsx8(LoadedRetainedSessionImageDisclosure, { ...props });
1666
1764
  }
1667
1765
  function LoadedRetainedSessionImageDisclosure({
1668
1766
  artifact,
@@ -1700,15 +1798,15 @@ function LoadedRetainedSessionImageDisclosure({
1700
1798
  failed,
1701
1799
  cancelled,
1702
1800
  preview: state.kind === "loading" ? msg("timeline.toolRenderers.loadingRetainedNoun", { noun }) : state.kind === "error" ? msg("timeline.toolRenderers.nounRetrievalFailed", { noun }) : state.kind === "unavailable" ? `${noun} ${state.label}` : void 0,
1703
- media: state.kind === "ready" ? /* @__PURE__ */ jsx7(Thumbnail, { ...figure }) : state.kind === "loading" ? /* @__PURE__ */ jsx7(MediaSkeleton, {}) : /* @__PURE__ */ jsx7(MediaEmpty, {}),
1801
+ media: state.kind === "ready" ? /* @__PURE__ */ jsx8(Thumbnail, { ...figure }) : state.kind === "loading" ? /* @__PURE__ */ jsx8(MediaSkeleton, {}) : /* @__PURE__ */ jsx8(MediaEmpty, {}),
1704
1802
  children: [
1705
- state.kind === "ready" ? /* @__PURE__ */ jsx7(ScreenshotFigure, { ...figure, showCaption: caption !== title }) : state.kind === "loading" ? /* @__PURE__ */ jsx7(BodyNote, { children: msg("timeline.toolRenderers.loadingTheRetainedNoun", { noun }) }) : state.kind === "unavailable" ? /* @__PURE__ */ jsxs4(BodyNote, { children: [
1803
+ state.kind === "ready" ? /* @__PURE__ */ jsx8(ScreenshotFigure, { ...figure, showCaption: caption !== title }) : state.kind === "loading" ? /* @__PURE__ */ jsx8(BodyNote, { children: msg("timeline.toolRenderers.loadingTheRetainedNoun", { noun }) }) : state.kind === "unavailable" ? /* @__PURE__ */ jsxs4(BodyNote, { children: [
1706
1804
  noun === "screenshot" ? msg("timeline.toolRenderers.screenshot") : msg("timeline.toolRenderers.image"),
1707
1805
  " ",
1708
1806
  state.label,
1709
1807
  "."
1710
- ] }) : /* @__PURE__ */ jsx7(ImageRetrievalError, { noun, retry: state.retry }),
1711
- batched ? /* @__PURE__ */ jsx7(BodyNote, { children: msg("timeline.toolRenderers.batchedBatched", { batched }) }) : null,
1808
+ ] }) : /* @__PURE__ */ jsx8(ImageRetrievalError, { noun, retry: state.retry }),
1809
+ batched ? /* @__PURE__ */ jsx8(BodyNote, { children: msg("timeline.toolRenderers.batchedBatched", { batched }) }) : null,
1712
1810
  children
1713
1811
  ]
1714
1812
  }
@@ -1721,7 +1819,7 @@ function ImageRetrievalError({ noun = "image", retry }) {
1721
1819
  " ",
1722
1820
  msg("timeline.toolRenderers.retrievalFailed"),
1723
1821
  " ",
1724
- /* @__PURE__ */ jsx7(
1822
+ /* @__PURE__ */ jsx8(
1725
1823
  "button",
1726
1824
  {
1727
1825
  type: "button",
@@ -1740,21 +1838,21 @@ function GeneratedImageRenderer({ item, loadRetainedArtifact }) {
1740
1838
  const raw = item.raw && typeof item.raw === "object" && !Array.isArray(item.raw) ? item.raw : null;
1741
1839
  const receipt = generatedImageReceipt(item.output) ?? generatedImageReceipt(raw?.output);
1742
1840
  if (item.status === "running") {
1743
- return /* @__PURE__ */ jsx7(
1841
+ return /* @__PURE__ */ jsx8(
1744
1842
  ActivityDisclosure,
1745
1843
  {
1746
- icon: /* @__PURE__ */ jsx7(ImageIcon, { className: ICON_SIZE }),
1844
+ icon: /* @__PURE__ */ jsx8(ImageIcon2, { className: ICON_SIZE }),
1747
1845
  iconTone: "running",
1748
1846
  title: msg("timeline.toolRenderers.generatingImage"),
1749
1847
  running: true,
1750
- preview: /* @__PURE__ */ jsx7(RunningPreview, { children: truncatePreview(prompt, 72) || msg("timeline.toolRenderers.creating") }),
1751
- media: /* @__PURE__ */ jsx7(MediaSkeleton, {}),
1752
- children: prompt ? /* @__PURE__ */ jsx7(BodyNote, { children: prompt }) : null
1848
+ preview: /* @__PURE__ */ jsx8(RunningPreview, { children: truncatePreview(prompt, 72) || msg("timeline.toolRenderers.creating") }),
1849
+ media: /* @__PURE__ */ jsx8(MediaSkeleton, {}),
1850
+ children: prompt ? /* @__PURE__ */ jsx8(BodyNote, { children: prompt }) : null
1753
1851
  }
1754
1852
  );
1755
1853
  }
1756
- if (!receipt) return /* @__PURE__ */ jsx7(GenericRenderer, { item });
1757
- return /* @__PURE__ */ jsx7(
1854
+ if (!receipt) return /* @__PURE__ */ jsx8(GenericRenderer, { item });
1855
+ return /* @__PURE__ */ jsx8(
1758
1856
  GeneratedImageDisclosure,
1759
1857
  {
1760
1858
  receipt,
@@ -1777,7 +1875,7 @@ function GeneratedVideoRenderer({ item }) {
1777
1875
  return /* @__PURE__ */ jsxs4(
1778
1876
  ActivityDisclosure,
1779
1877
  {
1780
- icon: /* @__PURE__ */ jsx7(VideoIcon, { className: ICON_SIZE }),
1878
+ icon: /* @__PURE__ */ jsx8(VideoIcon2, { className: ICON_SIZE }),
1781
1879
  iconTone: failed ? "failed" : running ? "running" : accepted ? "accent" : "muted",
1782
1880
  title: running ? msg("timeline.toolRenderers.startingVideoGeneration") : accepted ? msg("timeline.toolRenderers.generatingVideo") : msg("timeline.toolRenderers.generateVideo"),
1783
1881
  running,
@@ -1785,8 +1883,8 @@ function GeneratedVideoRenderer({ item }) {
1785
1883
  cancelled,
1786
1884
  preview: truncatePreview(prompt, 88) || (accepted ? msg("timeline.toolRenderers.requestAccepted") : void 0),
1787
1885
  children: [
1788
- prompt ? /* @__PURE__ */ jsx7(BodyNote, { children: prompt }) : null,
1789
- accepted ? /* @__PURE__ */ jsx7(BodyNote, { children: msg("timeline.toolRenderers.theVideoWillAppearHere") }) : item.output !== void 0 ? /* @__PURE__ */ jsx7(PayloadBlock, { label: msg("timeline.toolRenderers.output"), value: item.output }) : null
1886
+ prompt ? /* @__PURE__ */ jsx8(BodyNote, { children: prompt }) : null,
1887
+ accepted ? /* @__PURE__ */ jsx8(BodyNote, { children: msg("timeline.toolRenderers.theVideoWillAppearHere") }) : item.output !== void 0 ? /* @__PURE__ */ jsx8(PayloadBlock, { label: msg("timeline.toolRenderers.output"), value: item.output }) : null
1790
1888
  ]
1791
1889
  }
1792
1890
  );
@@ -1798,24 +1896,24 @@ function SandboxFilePublishRenderer({ item, loadRetainedArtifact }) {
1798
1896
  const receipt = parseSandboxFileArtifactReceipt(output);
1799
1897
  const [downloadState, setDownloadState] = useState7("idle");
1800
1898
  if (item.status === "running") {
1801
- return /* @__PURE__ */ jsx7(
1899
+ return /* @__PURE__ */ jsx8(
1802
1900
  ActivityDisclosure,
1803
1901
  {
1804
- icon: /* @__PURE__ */ jsx7(DownloadIcon, { className: ICON_SIZE }),
1902
+ icon: /* @__PURE__ */ jsx8(DownloadIcon2, { className: ICON_SIZE }),
1805
1903
  iconTone: "running",
1806
1904
  title: msg("timeline.toolRenderers.publishingFile"),
1807
1905
  running: true,
1808
- preview: /* @__PURE__ */ jsx7(RunningPreview, { children: msg("timeline.toolRenderers.retainingWorkspaceBytes") })
1906
+ preview: /* @__PURE__ */ jsx8(RunningPreview, { children: msg("timeline.toolRenderers.retainingWorkspaceBytes") })
1809
1907
  }
1810
1908
  );
1811
1909
  }
1812
1910
  if (!receipt || isError || item.status === "failed") {
1813
- return /* @__PURE__ */ jsx7(GenericRenderer, { item });
1911
+ return /* @__PURE__ */ jsx8(GenericRenderer, { item });
1814
1912
  }
1815
1913
  const workspaceId = /^\/v1\/workspaces\/([0-9a-f-]+)\/artifacts\//.exec(
1816
1914
  receipt.artifact.retrieval.path
1817
1915
  )?.[1];
1818
- const openLink = workspaceId ? /* @__PURE__ */ jsx7(
1916
+ const openLink = workspaceId ? /* @__PURE__ */ jsx8(
1819
1917
  "a",
1820
1918
  {
1821
1919
  href: `/workspaces/${workspaceId}/artifacts/files/${receipt.artifact.artifactId}`,
@@ -1864,7 +1962,7 @@ function SandboxFilePublishRenderer({ item, loadRetainedArtifact }) {
1864
1962
  disabled: downloadState === "loading",
1865
1963
  className: "inline-flex items-center gap-1.5 rounded-og-sm border border-og-border px-2.5 py-1.5 text-og-sm font-medium text-og-fg transition-colors hover:border-og-border-strong hover:bg-og-surface-2 disabled:cursor-wait disabled:opacity-60",
1866
1964
  children: [
1867
- /* @__PURE__ */ jsx7(DownloadIcon, { className: "size-3.5" }),
1965
+ /* @__PURE__ */ jsx8(DownloadIcon2, { className: "size-3.5" }),
1868
1966
  downloadState === "loading" ? msg("timeline.toolRenderers.preparing") : downloadState === "error" ? msg("timeline.toolRenderers.retryDownload") : msg("timeline.toolRenderers.download")
1869
1967
  ]
1870
1968
  }
@@ -1878,7 +1976,7 @@ function SandboxFilePublishRenderer({ item, loadRetainedArtifact }) {
1878
1976
  title: msg("timeline.toolRenderers.publishedFilename", { filename: receipt.filename }),
1879
1977
  caption: receipt.filename,
1880
1978
  noun: "image",
1881
- icon: /* @__PURE__ */ jsx7(ImageIcon, { className: ICON_SIZE }),
1979
+ icon: /* @__PURE__ */ jsx8(ImageIcon2, { className: ICON_SIZE }),
1882
1980
  lightboxLabel: msg("timeline.toolRenderers.image"),
1883
1981
  batched: null,
1884
1982
  failed: false,
@@ -1895,7 +1993,7 @@ function SandboxFilePublishRenderer({ item, loadRetainedArtifact }) {
1895
1993
  return /* @__PURE__ */ jsxs4(
1896
1994
  ActivityDisclosure,
1897
1995
  {
1898
- icon: /* @__PURE__ */ jsx7(DownloadIcon, { className: ICON_SIZE }),
1996
+ icon: /* @__PURE__ */ jsx8(DownloadIcon2, { className: ICON_SIZE }),
1899
1997
  iconTone: "accent",
1900
1998
  title: msg("timeline.toolRenderers.publishedFilename", { filename: receipt.filename }),
1901
1999
  defaultOpen: true,
@@ -1903,7 +2001,7 @@ function SandboxFilePublishRenderer({ item, loadRetainedArtifact }) {
1903
2001
  children: [
1904
2002
  downloadButton,
1905
2003
  openLink,
1906
- plain ? null : isPatchFilename(receipt.filename) ? /* @__PURE__ */ jsx7(
2004
+ plain ? null : isPatchFilename(receipt.filename) ? /* @__PURE__ */ jsx8(
1907
2005
  PatchApplyCommand,
1908
2006
  {
1909
2007
  artifact: receipt.artifact,
@@ -1950,7 +2048,7 @@ function SiteOpenLink({ receipt }) {
1950
2048
  });
1951
2049
  const destination = resolution?.href ? defaultUrlTransform(resolution.href) : "";
1952
2050
  if (destination) {
1953
- return /* @__PURE__ */ jsx7(
2051
+ return /* @__PURE__ */ jsx8(
1954
2052
  "a",
1955
2053
  {
1956
2054
  href: destination,
@@ -1964,7 +2062,7 @@ function SiteOpenLink({ receipt }) {
1964
2062
  }
1965
2063
  if (resolution?.open) {
1966
2064
  const open = resolution.open;
1967
- return /* @__PURE__ */ jsx7(
2065
+ return /* @__PURE__ */ jsx8(
1968
2066
  "button",
1969
2067
  {
1970
2068
  type: "button",
@@ -1991,26 +2089,26 @@ function SiteArtifactRenderer({ item }) {
1991
2089
  const leaf = mcpToolLeaf(item.name);
1992
2090
  const publishingExisting = leaf === "artifacts_publish";
1993
2091
  if (item.status === "running") {
1994
- return /* @__PURE__ */ jsx7(
2092
+ return /* @__PURE__ */ jsx8(
1995
2093
  ActivityDisclosure,
1996
2094
  {
1997
- icon: /* @__PURE__ */ jsx7(PanelsTopLeftIcon, { className: ICON_SIZE }),
2095
+ icon: /* @__PURE__ */ jsx8(PanelsTopLeftIcon2, { className: ICON_SIZE }),
1998
2096
  iconTone: "running",
1999
2097
  title: publishingExisting ? msg("timeline.toolRenderers.publishingSiteUpdate") : msg("timeline.toolRenderers.publishingSite"),
2000
2098
  running: true,
2001
- preview: /* @__PURE__ */ jsx7(RunningPreview, { children: msg("timeline.toolRenderers.retainingSourceAndCompiledHtml") })
2099
+ preview: /* @__PURE__ */ jsx8(RunningPreview, { children: msg("timeline.toolRenderers.retainingSourceAndCompiledHtml") })
2002
2100
  }
2003
2101
  );
2004
2102
  }
2005
2103
  const receipt = publishedSiteReceipt(item.output);
2006
- if (!receipt || item.status === "failed") return /* @__PURE__ */ jsx7(GenericRenderer, { item });
2007
- return /* @__PURE__ */ jsx7(
2104
+ if (!receipt || item.status === "failed") return /* @__PURE__ */ jsx8(GenericRenderer, { item });
2105
+ return /* @__PURE__ */ jsx8(
2008
2106
  ActivityDisclosure,
2009
2107
  {
2010
- icon: /* @__PURE__ */ jsx7(PanelsTopLeftIcon, { className: ICON_SIZE }),
2108
+ icon: /* @__PURE__ */ jsx8(PanelsTopLeftIcon2, { className: ICON_SIZE }),
2011
2109
  iconTone: "accent",
2012
2110
  title: publishingExisting ? msg("timeline.toolRenderers.updatedTitle", { title: receipt.title }) : msg("timeline.toolRenderers.publishedTitle", { title: receipt.title }),
2013
- media: /* @__PURE__ */ jsx7(SiteOpenLink, { receipt }),
2111
+ media: /* @__PURE__ */ jsx8(SiteOpenLink, { receipt }),
2014
2112
  children: /* @__PURE__ */ jsxs4(BodyNote, { children: [
2015
2113
  msg("timeline.toolRenderers.versionRevisionIsLive", { revision: receipt.revision }),
2016
2114
  receipt.replayed ? ` ${msg("timeline.toolRenderers.replayedFromTheOriginalPublication")}` : "."
@@ -2036,14 +2134,14 @@ function GeneratedImageDisclosure({
2036
2134
  return /* @__PURE__ */ jsxs4(
2037
2135
  ActivityDisclosure,
2038
2136
  {
2039
- icon: /* @__PURE__ */ jsx7(ImageIcon, { className: ICON_SIZE }),
2137
+ icon: /* @__PURE__ */ jsx8(ImageIcon2, { className: ICON_SIZE }),
2040
2138
  iconTone: failed ? "failed" : state.kind === "ready" ? "accent" : "muted",
2041
2139
  title,
2042
2140
  defaultOpen: !failed && !cancelled,
2043
2141
  failed,
2044
2142
  cancelled,
2045
2143
  preview: state.kind === "loading" ? msg("timeline.toolRenderers.loadingImage") : state.kind === "error" ? msg("timeline.toolRenderers.imageRetrievalFailed") : state.kind === "unavailable" ? `image ${state.label}` : truncatePreview(prompt, 88) || `${dimensions.width}\xD7${dimensions.height}`,
2046
- media: state.kind === "ready" ? /* @__PURE__ */ jsx7(
2144
+ media: state.kind === "ready" ? /* @__PURE__ */ jsx8(
2047
2145
  Thumbnail,
2048
2146
  {
2049
2147
  src: state.url,
@@ -2052,9 +2150,9 @@ function GeneratedImageDisclosure({
2052
2150
  expandLabel: msg("timeline.toolRenderers.expandGeneratedImage"),
2053
2151
  lightboxLabel: msg("timeline.toolRenderers.generatedImage")
2054
2152
  }
2055
- ) : state.kind === "loading" ? /* @__PURE__ */ jsx7(MediaSkeleton, {}) : /* @__PURE__ */ jsx7(MediaEmpty, {}),
2153
+ ) : state.kind === "loading" ? /* @__PURE__ */ jsx8(MediaSkeleton, {}) : /* @__PURE__ */ jsx8(MediaEmpty, {}),
2056
2154
  children: [
2057
- state.kind === "ready" ? /* @__PURE__ */ jsx7(
2155
+ state.kind === "ready" ? /* @__PURE__ */ jsx8(
2058
2156
  ScreenshotFigure,
2059
2157
  {
2060
2158
  src: state.url,
@@ -2063,7 +2161,7 @@ function GeneratedImageDisclosure({
2063
2161
  expandLabel: msg("timeline.toolRenderers.expandGeneratedImage"),
2064
2162
  lightboxLabel: msg("timeline.toolRenderers.generatedImage")
2065
2163
  }
2066
- ) : state.kind === "loading" ? /* @__PURE__ */ jsx7(BodyNote, { children: msg("timeline.toolRenderers.loadingTheGeneratedImage") }) : state.kind === "unavailable" ? /* @__PURE__ */ jsx7(BodyNote, { children: msg("timeline.toolRenderers.imageLabel", { label: state.label }) }) : /* @__PURE__ */ jsx7(ImageRetrievalError, { retry: state.retry }),
2164
+ ) : state.kind === "loading" ? /* @__PURE__ */ jsx8(BodyNote, { children: msg("timeline.toolRenderers.loadingTheGeneratedImage") }) : state.kind === "unavailable" ? /* @__PURE__ */ jsx8(BodyNote, { children: msg("timeline.toolRenderers.imageLabel", { label: state.label }) }) : /* @__PURE__ */ jsx8(ImageRetrievalError, { retry: state.retry }),
2067
2165
  /* @__PURE__ */ jsxs4(BodyNote, { children: [
2068
2166
  dimensions.width,
2069
2167
  "\xD7",
@@ -2095,16 +2193,16 @@ function ViewImageRenderer({ item, loadRetainedScreenshot }) {
2095
2193
  const retained = retainedScreenshotMetadata(out);
2096
2194
  const omittedMedia = mediaPreviewFact(out);
2097
2195
  if (item.status === "running") {
2098
- return /* @__PURE__ */ jsx7(
2196
+ return /* @__PURE__ */ jsx8(
2099
2197
  ActivityDisclosure,
2100
2198
  {
2101
- icon: /* @__PURE__ */ jsx7(ImageIcon, { className: ICON_SIZE }),
2199
+ icon: /* @__PURE__ */ jsx8(ImageIcon2, { className: ICON_SIZE }),
2102
2200
  iconTone: "running",
2103
2201
  title: msg("timeline.toolRenderers.viewPathbasename", { pathBasename: pathBasename(path) }),
2104
2202
  running: true,
2105
- preview: /* @__PURE__ */ jsx7(RunningPreview, { children: msg("timeline.toolRenderers.reading") }),
2106
- media: /* @__PURE__ */ jsx7(MediaSkeleton, {}),
2107
- children: /* @__PURE__ */ jsx7(BodyNote, { children: msg("timeline.toolRenderers.readingImage") })
2203
+ preview: /* @__PURE__ */ jsx8(RunningPreview, { children: msg("timeline.toolRenderers.reading") }),
2204
+ media: /* @__PURE__ */ jsx8(MediaSkeleton, {}),
2205
+ children: /* @__PURE__ */ jsx8(BodyNote, { children: msg("timeline.toolRenderers.readingImage") })
2108
2206
  }
2109
2207
  );
2110
2208
  }
@@ -2116,24 +2214,24 @@ function ViewImageRenderer({ item, loadRetainedScreenshot }) {
2116
2214
  });
2117
2215
  if (!retained.available) {
2118
2216
  const state = retained.reason === "expired" || retained.reason === "deleted" ? retained.reason : "unavailable";
2119
- return /* @__PURE__ */ jsx7(
2217
+ return /* @__PURE__ */ jsx8(
2120
2218
  ActivityDisclosure,
2121
2219
  {
2122
- icon: /* @__PURE__ */ jsx7(ImageIcon, { className: ICON_SIZE }),
2220
+ icon: /* @__PURE__ */ jsx8(ImageIcon2, { className: ICON_SIZE }),
2123
2221
  iconTone: viewFailed ? "failed" : "muted",
2124
2222
  title: `${title} \xB7 ${state}`,
2125
2223
  failed: viewFailed,
2126
2224
  cancelled: viewCancelled,
2127
2225
  preview: `image ${state}`,
2128
- media: /* @__PURE__ */ jsx7(MediaEmpty, {}),
2129
- children: /* @__PURE__ */ jsx7(BodyNote, { tone: viewFailed ? "error" : void 0, children: msg("timeline.toolRenderers.imageStateReplaceall", {
2226
+ media: /* @__PURE__ */ jsx8(MediaEmpty, {}),
2227
+ children: /* @__PURE__ */ jsx8(BodyNote, { tone: viewFailed ? "error" : void 0, children: msg("timeline.toolRenderers.imageStateReplaceall", {
2130
2228
  state,
2131
2229
  replaceAll: retained.reason.replaceAll("_", " ")
2132
2230
  }) })
2133
2231
  }
2134
2232
  );
2135
2233
  }
2136
- return /* @__PURE__ */ jsx7(
2234
+ return /* @__PURE__ */ jsx8(
2137
2235
  RetainedSessionImageDisclosure,
2138
2236
  {
2139
2237
  artifact: retained,
@@ -2141,7 +2239,7 @@ function ViewImageRenderer({ item, loadRetainedScreenshot }) {
2141
2239
  title,
2142
2240
  caption: path || title,
2143
2241
  noun: "image",
2144
- icon: /* @__PURE__ */ jsx7(ImageIcon, { className: ICON_SIZE }),
2242
+ icon: /* @__PURE__ */ jsx8(ImageIcon2, { className: ICON_SIZE }),
2145
2243
  lightboxLabel: msg("timeline.toolRenderers.image"),
2146
2244
  batched: null,
2147
2245
  failed: viewFailed,
@@ -2152,10 +2250,10 @@ function ViewImageRenderer({ item, loadRetainedScreenshot }) {
2152
2250
  const errMatch = VIEW_IMAGE_ERRORS(msg).find((p) => text.includes(p));
2153
2251
  if (errMatch) {
2154
2252
  const tooBig = text.includes("exceeded the allowed size");
2155
- return /* @__PURE__ */ jsx7(
2253
+ return /* @__PURE__ */ jsx8(
2156
2254
  ActivityDisclosure,
2157
2255
  {
2158
- icon: /* @__PURE__ */ jsx7(ImageIcon, { className: ICON_SIZE }),
2256
+ icon: /* @__PURE__ */ jsx8(ImageIcon2, { className: ICON_SIZE }),
2159
2257
  iconTone: "failed",
2160
2258
  title: msg("timeline.toolRenderers.viewPathbasename", { pathBasename: pathBasename(path) }),
2161
2259
  chip: {
@@ -2163,15 +2261,15 @@ function ViewImageRenderer({ item, loadRetainedScreenshot }) {
2163
2261
  text: tooBig ? msg("timeline.toolRenderers.tooLarge") : msg("timeline.chip.error")
2164
2262
  },
2165
2263
  preview: text,
2166
- children: /* @__PURE__ */ jsx7(BodyNote, { tone: "error", children: text })
2264
+ children: /* @__PURE__ */ jsx8(BodyNote, { tone: "error", children: text })
2167
2265
  }
2168
2266
  );
2169
2267
  }
2170
2268
  if (text.startsWith("OpenAI file reference:")) {
2171
- return /* @__PURE__ */ jsx7(
2269
+ return /* @__PURE__ */ jsx8(
2172
2270
  ActivityDisclosure,
2173
2271
  {
2174
- icon: /* @__PURE__ */ jsx7(ImageIcon, { className: ICON_SIZE }),
2272
+ icon: /* @__PURE__ */ jsx8(ImageIcon2, { className: ICON_SIZE }),
2175
2273
  iconTone: viewFailed ? "failed" : "muted",
2176
2274
  title: msg("timeline.toolRenderers.viewedPathbasename", {
2177
2275
  pathBasename: pathBasename(path)
@@ -2179,15 +2277,15 @@ function ViewImageRenderer({ item, loadRetainedScreenshot }) {
2179
2277
  failed: viewFailed,
2180
2278
  cancelled: viewCancelled,
2181
2279
  preview: path,
2182
- children: /* @__PURE__ */ jsx7(BodyNote, { children: text })
2280
+ children: /* @__PURE__ */ jsx8(BodyNote, { children: text })
2183
2281
  }
2184
2282
  );
2185
2283
  }
2186
2284
  if (omittedMedia) {
2187
- return /* @__PURE__ */ jsx7(
2285
+ return /* @__PURE__ */ jsx8(
2188
2286
  ActivityDisclosure,
2189
2287
  {
2190
- icon: /* @__PURE__ */ jsx7(ImageIcon, { className: ICON_SIZE }),
2288
+ icon: /* @__PURE__ */ jsx8(ImageIcon2, { className: ICON_SIZE }),
2191
2289
  iconTone: viewFailed ? "failed" : "muted",
2192
2290
  title: msg("timeline.toolRenderers.viewedPathbasenameImageOmittedNot", {
2193
2291
  pathBasename: pathBasename(path)
@@ -2195,18 +2293,18 @@ function ViewImageRenderer({ item, loadRetainedScreenshot }) {
2195
2293
  failed: viewFailed,
2196
2294
  cancelled: viewCancelled,
2197
2295
  preview: msg("timeline.toolRenderers.inlineImageOmittedNotRetained"),
2198
- media: /* @__PURE__ */ jsx7(MediaEmpty, {}),
2199
- children: /* @__PURE__ */ jsx7(BodyNote, { children: msg("timeline.toolRenderers.theInlineMediatypeOutputWas", {
2296
+ media: /* @__PURE__ */ jsx8(MediaEmpty, {}),
2297
+ children: /* @__PURE__ */ jsx8(BodyNote, { children: msg("timeline.toolRenderers.theInlineMediatypeOutputWas", {
2200
2298
  mediaType: omittedMedia.mediaType
2201
2299
  }) })
2202
2300
  }
2203
2301
  );
2204
2302
  }
2205
2303
  if (text.includes("No image data")) {
2206
- return /* @__PURE__ */ jsx7(
2304
+ return /* @__PURE__ */ jsx8(
2207
2305
  ActivityDisclosure,
2208
2306
  {
2209
- icon: /* @__PURE__ */ jsx7(ImageIcon, { className: ICON_SIZE }),
2307
+ icon: /* @__PURE__ */ jsx8(ImageIcon2, { className: ICON_SIZE }),
2210
2308
  iconTone: viewFailed ? "failed" : "muted",
2211
2309
  title: msg("timeline.toolRenderers.viewedPathbasename", {
2212
2310
  pathBasename: pathBasename(path)
@@ -2214,45 +2312,45 @@ function ViewImageRenderer({ item, loadRetainedScreenshot }) {
2214
2312
  failed: viewFailed,
2215
2313
  cancelled: viewCancelled,
2216
2314
  preview: msg("timeline.toolRenderers.noImage"),
2217
- children: /* @__PURE__ */ jsx7(BodyNote, { children: viewFailed ? msg("timeline.toolRenderers.viewImageFailedNoImage") : viewCancelled ? msg("timeline.toolRenderers.viewImageInterrupted") : msg("timeline.toolRenderers.noImageTheSandboxSession") })
2315
+ children: /* @__PURE__ */ jsx8(BodyNote, { children: viewFailed ? msg("timeline.toolRenderers.viewImageFailedNoImage") : viewCancelled ? msg("timeline.toolRenderers.viewImageInterrupted") : msg("timeline.toolRenderers.noImageTheSandboxSession") })
2218
2316
  }
2219
2317
  );
2220
2318
  }
2221
2319
  if (text.startsWith("data:")) {
2222
- return /* @__PURE__ */ jsx7(
2320
+ return /* @__PURE__ */ jsx8(
2223
2321
  ActivityDisclosure,
2224
2322
  {
2225
- icon: /* @__PURE__ */ jsx7(ImageIcon, { className: ICON_SIZE }),
2323
+ icon: /* @__PURE__ */ jsx8(ImageIcon2, { className: ICON_SIZE }),
2226
2324
  iconTone: viewFailed ? "failed" : "accent",
2227
2325
  title: msg("timeline.toolRenderers.viewedPathbasename", {
2228
2326
  pathBasename: pathBasename(path)
2229
2327
  }),
2230
2328
  failed: viewFailed,
2231
2329
  cancelled: viewCancelled,
2232
- media: /* @__PURE__ */ jsx7(Thumbnail, { src: text, caption: path, alt: path }),
2233
- children: /* @__PURE__ */ jsx7(ScreenshotFigure, { src: text, caption: path, alt: path })
2330
+ media: /* @__PURE__ */ jsx8(Thumbnail, { src: text, caption: path, alt: path }),
2331
+ children: /* @__PURE__ */ jsx8(ScreenshotFigure, { src: text, caption: path, alt: path })
2234
2332
  }
2235
2333
  );
2236
2334
  }
2237
- return /* @__PURE__ */ jsx7(GenericRenderer, { item });
2335
+ return /* @__PURE__ */ jsx8(GenericRenderer, { item });
2238
2336
  }
2239
2337
  function SecretSetRenderer(props) {
2240
- return useToolDetails() === "plain" ? /* @__PURE__ */ jsx7(UnreviewedGenericRenderer, { ...props }) : /* @__PURE__ */ jsx7(FullSecretSetRenderer, { ...props });
2338
+ return useToolDetails() === "plain" ? /* @__PURE__ */ jsx8(UnreviewedGenericRenderer, { ...props }) : /* @__PURE__ */ jsx8(FullSecretSetRenderer, { ...props });
2241
2339
  }
2242
2340
  function FullSecretSetRenderer({ item }) {
2243
2341
  const msg = useOpenGeniText();
2244
2342
  const args = parseToolArgs(item.arguments);
2245
2343
  const name = typeof args.name === "string" ? args.name : "variable";
2246
2344
  if (item.status === "running") {
2247
- return /* @__PURE__ */ jsx7(
2345
+ return /* @__PURE__ */ jsx8(
2248
2346
  ActivityDisclosure,
2249
2347
  {
2250
- icon: /* @__PURE__ */ jsx7(KeyRoundIcon, { className: ICON_SIZE }),
2348
+ icon: /* @__PURE__ */ jsx8(KeyRoundIcon2, { className: ICON_SIZE }),
2251
2349
  iconTone: "running",
2252
2350
  title: msg("timeline.toolRenderers.setName", { name }),
2253
2351
  running: true,
2254
- preview: /* @__PURE__ */ jsx7(RunningPreview, { children: msg("timeline.toolRenderers.setting") }),
2255
- children: /* @__PURE__ */ jsx7(PayloadBlock, { label: msg("timeline.toolRenderers.arguments"), value: args })
2352
+ preview: /* @__PURE__ */ jsx8(RunningPreview, { children: msg("timeline.toolRenderers.setting") }),
2353
+ children: /* @__PURE__ */ jsx8(PayloadBlock, { label: msg("timeline.toolRenderers.arguments"), value: args })
2256
2354
  }
2257
2355
  );
2258
2356
  }
@@ -2261,14 +2359,14 @@ function FullSecretSetRenderer({ item }) {
2261
2359
  return /* @__PURE__ */ jsxs4(
2262
2360
  ActivityDisclosure,
2263
2361
  {
2264
- icon: /* @__PURE__ */ jsx7(KeyRoundIcon, { className: ICON_SIZE }),
2362
+ icon: /* @__PURE__ */ jsx8(KeyRoundIcon2, { className: ICON_SIZE }),
2265
2363
  iconTone: "failed",
2266
2364
  title: msg("timeline.toolRenderers.setName", { name }),
2267
2365
  failed: true,
2268
2366
  preview: errorText ?? msg("timeline.toolRenderers.variableWriteFailed"),
2269
2367
  children: [
2270
- /* @__PURE__ */ jsx7(PayloadBlock, { label: msg("timeline.toolRenderers.arguments"), value: args }),
2271
- errorText ? /* @__PURE__ */ jsx7(PayloadBlock, { label: msg("timeline.toolRenderers.error"), value: errorText, failed: true }) : /* @__PURE__ */ jsx7(BodyNote, { tone: "error", children: msg("timeline.toolRenderers.theToolCallFailedWith") })
2368
+ /* @__PURE__ */ jsx8(PayloadBlock, { label: msg("timeline.toolRenderers.arguments"), value: args }),
2369
+ errorText ? /* @__PURE__ */ jsx8(PayloadBlock, { label: msg("timeline.toolRenderers.error"), value: errorText, failed: true }) : /* @__PURE__ */ jsx8(BodyNote, { tone: "error", children: msg("timeline.toolRenderers.theToolCallFailedWith") })
2272
2370
  ]
2273
2371
  }
2274
2372
  );
@@ -2276,25 +2374,25 @@ function FullSecretSetRenderer({ item }) {
2276
2374
  return /* @__PURE__ */ jsxs4(
2277
2375
  ActivityDisclosure,
2278
2376
  {
2279
- icon: /* @__PURE__ */ jsx7(KeyRoundIcon, { className: ICON_SIZE }),
2377
+ icon: /* @__PURE__ */ jsx8(KeyRoundIcon2, { className: ICON_SIZE }),
2280
2378
  iconTone: "muted",
2281
2379
  title: msg("timeline.toolRenderers.setName", { name }),
2282
2380
  cancelled: item.status === "cancelled",
2283
2381
  preview: "exact value preserved",
2284
2382
  children: [
2285
- /* @__PURE__ */ jsx7(PayloadBlock, { label: msg("timeline.toolRenderers.arguments"), value: args }),
2286
- /* @__PURE__ */ jsx7(BodyNote, { children: msg("timeline.toolRenderers.theConfiguredValueIsPreserved") })
2383
+ /* @__PURE__ */ jsx8(PayloadBlock, { label: msg("timeline.toolRenderers.arguments"), value: args }),
2384
+ /* @__PURE__ */ jsx8(BodyNote, { children: msg("timeline.toolRenderers.theConfiguredValueIsPreserved") })
2287
2385
  ]
2288
2386
  }
2289
2387
  );
2290
2388
  }
2291
2389
  function ToolSearchRenderer(props) {
2292
- return useToolDetails() === "plain" ? /* @__PURE__ */ jsx7(UnreviewedGenericRenderer, { ...props }) : /* @__PURE__ */ jsx7(FullToolSearchRenderer, { ...props });
2390
+ return useToolDetails() === "plain" ? /* @__PURE__ */ jsx8(UnreviewedGenericRenderer, { ...props }) : /* @__PURE__ */ jsx8(FullToolSearchRenderer, { ...props });
2293
2391
  }
2294
2392
  function FullToolSearchRenderer({ item }) {
2295
2393
  const msg = useOpenGeniText();
2296
2394
  const query = toolSearchQuery(item);
2297
- const icon = /* @__PURE__ */ jsx7(PackageSearchIcon, { className: ICON_SIZE });
2395
+ const icon = /* @__PURE__ */ jsx8(PackageSearchIcon2, { className: ICON_SIZE });
2298
2396
  const running = item.status === "running";
2299
2397
  const queryPreview = query ? truncatePreview(query, 64) : "";
2300
2398
  if (running) {
@@ -2305,10 +2403,10 @@ function FullToolSearchRenderer({ item }) {
2305
2403
  iconTone: "running",
2306
2404
  title: msg("timeline.toolRenderers.lookingUpTools"),
2307
2405
  running: true,
2308
- preview: queryPreview ? /* @__PURE__ */ jsx7(RunningPreview, { children: queryPreview }) : /* @__PURE__ */ jsx7(RunningPreview, { children: msg("timeline.toolRenderers.matchingCapabilities") }),
2406
+ preview: queryPreview ? /* @__PURE__ */ jsx8(RunningPreview, { children: queryPreview }) : /* @__PURE__ */ jsx8(RunningPreview, { children: msg("timeline.toolRenderers.matchingCapabilities") }),
2309
2407
  children: [
2310
- query ? /* @__PURE__ */ jsx7(BodyNote, { children: msg("timeline.toolRenderers.capabilityQueryQuery", { query }) }) : null,
2311
- /* @__PURE__ */ jsx7(
2408
+ query ? /* @__PURE__ */ jsx8(BodyNote, { children: msg("timeline.toolRenderers.capabilityQueryQuery", { query }) }) : null,
2409
+ /* @__PURE__ */ jsx8(
2312
2410
  PayloadBlock,
2313
2411
  {
2314
2412
  label: msg("timeline.toolRenderers.arguments"),
@@ -2330,15 +2428,15 @@ function FullToolSearchRenderer({ item }) {
2330
2428
  failed: true,
2331
2429
  preview: truncatePreview(outText, 80) || queryPreview || msg("timeline.toolRenderers.lookupFailed"),
2332
2430
  children: [
2333
- query ? /* @__PURE__ */ jsx7(BodyNote, { children: msg("timeline.toolRenderers.capabilityQueryQuery", { query }) }) : null,
2334
- /* @__PURE__ */ jsx7(
2431
+ query ? /* @__PURE__ */ jsx8(BodyNote, { children: msg("timeline.toolRenderers.capabilityQueryQuery", { query }) }) : null,
2432
+ /* @__PURE__ */ jsx8(
2335
2433
  PayloadBlock,
2336
2434
  {
2337
2435
  label: msg("timeline.toolRenderers.arguments"),
2338
2436
  value: parseToolArgs(item.arguments)
2339
2437
  }
2340
2438
  ),
2341
- /* @__PURE__ */ jsx7(PayloadBlock, { label: msg("timeline.toolRenderers.error"), value: outText, failed: true })
2439
+ /* @__PURE__ */ jsx8(PayloadBlock, { label: msg("timeline.toolRenderers.error"), value: outText, failed: true })
2342
2440
  ]
2343
2441
  }
2344
2442
  );
@@ -2354,11 +2452,11 @@ function FullToolSearchRenderer({ item }) {
2354
2452
  cancelled: item.status === "cancelled",
2355
2453
  preview,
2356
2454
  children: [
2357
- query ? /* @__PURE__ */ jsx7(BodyNote, { children: msg("timeline.toolRenderers.capabilityQueryQuery", { query }) }) : null,
2455
+ query ? /* @__PURE__ */ jsx8(BodyNote, { children: msg("timeline.toolRenderers.capabilityQueryQuery", { query }) }) : null,
2358
2456
  tools && tools.length > 0 ? /* @__PURE__ */ jsxs4("ul", { className: "grid gap-1.5", children: [
2359
2457
  tools.slice(0, 12).map((tool) => /* @__PURE__ */ jsxs4("li", { className: "flex min-w-0 items-baseline gap-2", children: [
2360
- tool.source ? /* @__PURE__ */ jsx7("span", { className: "shrink-0 text-og-xs text-og-fg-subtle", children: tool.source }) : null,
2361
- /* @__PURE__ */ jsx7("span", { className: "truncate font-mono text-og-sm text-og-fg", children: tool.leaf })
2458
+ tool.source ? /* @__PURE__ */ jsx8("span", { className: "shrink-0 text-og-xs text-og-fg-subtle", children: tool.source }) : null,
2459
+ /* @__PURE__ */ jsx8("span", { className: "truncate font-mono text-og-sm text-og-fg", children: tool.leaf })
2362
2460
  ] }, tool.name)),
2363
2461
  tools.length > 12 ? /* @__PURE__ */ jsxs4("li", { className: "text-og-xs text-og-fg-muted", children: [
2364
2462
  "+",
@@ -2366,21 +2464,21 @@ function FullToolSearchRenderer({ item }) {
2366
2464
  " ",
2367
2465
  msg("timeline.toolRenderers.more")
2368
2466
  ] }) : null
2369
- ] }) : tools && tools.length === 0 ? /* @__PURE__ */ jsx7(BodyNote, { children: msg("timeline.toolRenderers.noDeferredToolsMatchedThis") }) : null,
2370
- /* @__PURE__ */ jsx7(
2467
+ ] }) : tools && tools.length === 0 ? /* @__PURE__ */ jsx8(BodyNote, { children: msg("timeline.toolRenderers.noDeferredToolsMatchedThis") }) : null,
2468
+ /* @__PURE__ */ jsx8(
2371
2469
  PayloadBlock,
2372
2470
  {
2373
2471
  label: msg("timeline.toolRenderers.arguments"),
2374
2472
  value: parseToolArgs(item.arguments)
2375
2473
  }
2376
2474
  ),
2377
- tools == null && outText ? /* @__PURE__ */ jsx7(PayloadBlock, { label: msg("timeline.toolRenderers.result"), value: outText }) : null
2475
+ tools == null && outText ? /* @__PURE__ */ jsx8(PayloadBlock, { label: msg("timeline.toolRenderers.result"), value: outText }) : null
2378
2476
  ]
2379
2477
  }
2380
2478
  );
2381
2479
  }
2382
2480
  function DocsSearchRenderer(props) {
2383
- return useToolDetails() === "plain" ? /* @__PURE__ */ jsx7(UnreviewedGenericRenderer, { ...props }) : /* @__PURE__ */ jsx7(FullDocsSearchRenderer, { ...props });
2481
+ return useToolDetails() === "plain" ? /* @__PURE__ */ jsx8(UnreviewedGenericRenderer, { ...props }) : /* @__PURE__ */ jsx8(FullDocsSearchRenderer, { ...props });
2384
2482
  }
2385
2483
  function FullDocsSearchRenderer({ item }) {
2386
2484
  const msg = useOpenGeniText();
@@ -2391,15 +2489,15 @@ function FullDocsSearchRenderer({ item }) {
2391
2489
  }) : toolDisplayName(msg, item.name, item.display);
2392
2490
  const running = item.status === "running";
2393
2491
  if (running) {
2394
- return /* @__PURE__ */ jsx7(
2492
+ return /* @__PURE__ */ jsx8(
2395
2493
  ActivityDisclosure,
2396
2494
  {
2397
- icon: /* @__PURE__ */ jsx7(FileSearchIcon, { className: ICON_SIZE }),
2495
+ icon: /* @__PURE__ */ jsx8(FileSearchIcon2, { className: ICON_SIZE }),
2398
2496
  iconTone: "running",
2399
2497
  title,
2400
2498
  running: true,
2401
- preview: /* @__PURE__ */ jsx7(RunningPreview, { children: msg("timeline.toolRenderers.searching") }),
2402
- children: /* @__PURE__ */ jsx7(PayloadBlock, { label: msg("timeline.toolRenderers.arguments"), value: args })
2499
+ preview: /* @__PURE__ */ jsx8(RunningPreview, { children: msg("timeline.toolRenderers.searching") }),
2500
+ children: /* @__PURE__ */ jsx8(PayloadBlock, { label: msg("timeline.toolRenderers.arguments"), value: args })
2403
2501
  }
2404
2502
  );
2405
2503
  }
@@ -2408,14 +2506,14 @@ function FullDocsSearchRenderer({ item }) {
2408
2506
  return /* @__PURE__ */ jsxs4(
2409
2507
  ActivityDisclosure,
2410
2508
  {
2411
- icon: /* @__PURE__ */ jsx7(FileSearchIcon, { className: ICON_SIZE }),
2509
+ icon: /* @__PURE__ */ jsx8(FileSearchIcon2, { className: ICON_SIZE }),
2412
2510
  iconTone: "failed",
2413
2511
  title,
2414
2512
  failed: true,
2415
2513
  preview: truncatePreview(outText, 80) || msg("timeline.toolRenderers.searchFailed"),
2416
2514
  children: [
2417
- /* @__PURE__ */ jsx7(PayloadBlock, { label: msg("timeline.toolRenderers.arguments"), value: args }),
2418
- /* @__PURE__ */ jsx7(PayloadBlock, { label: msg("timeline.toolRenderers.error"), value: outText, failed: true })
2515
+ /* @__PURE__ */ jsx8(PayloadBlock, { label: msg("timeline.toolRenderers.arguments"), value: args }),
2516
+ /* @__PURE__ */ jsx8(PayloadBlock, { label: msg("timeline.toolRenderers.error"), value: outText, failed: true })
2419
2517
  ]
2420
2518
  }
2421
2519
  );
@@ -2425,24 +2523,24 @@ function FullDocsSearchRenderer({ item }) {
2425
2523
  return /* @__PURE__ */ jsxs4(
2426
2524
  ActivityDisclosure,
2427
2525
  {
2428
- icon: /* @__PURE__ */ jsx7(FileSearchIcon, { className: ICON_SIZE }),
2526
+ icon: /* @__PURE__ */ jsx8(FileSearchIcon2, { className: ICON_SIZE }),
2429
2527
  iconTone: "muted",
2430
2528
  title,
2431
2529
  cancelled: item.status === "cancelled",
2432
2530
  preview,
2433
2531
  children: [
2434
- hits && hits.length > 0 ? /* @__PURE__ */ jsx7("ul", { className: "grid gap-2", children: hits.slice(0, 8).map((hit) => /* @__PURE__ */ jsxs4("li", { className: "min-w-0", children: [
2435
- /* @__PURE__ */ jsx7("div", { className: "truncate text-og-sm font-medium text-og-fg", children: hit.title }),
2436
- hit.snippet ? /* @__PURE__ */ jsx7("div", { className: "mt-0.5 line-clamp-2 text-og-xs text-og-fg-muted", children: hit.snippet }) : null
2532
+ hits && hits.length > 0 ? /* @__PURE__ */ jsx8("ul", { className: "grid gap-2", children: hits.slice(0, 8).map((hit) => /* @__PURE__ */ jsxs4("li", { className: "min-w-0", children: [
2533
+ /* @__PURE__ */ jsx8("div", { className: "truncate text-og-sm font-medium text-og-fg", children: hit.title }),
2534
+ hit.snippet ? /* @__PURE__ */ jsx8("div", { className: "mt-0.5 line-clamp-2 text-og-xs text-og-fg-muted", children: hit.snippet }) : null
2437
2535
  ] }, `${hit.title}\0${hit.snippet}`)) }) : null,
2438
- /* @__PURE__ */ jsx7(PayloadBlock, { label: msg("timeline.toolRenderers.arguments"), value: args }),
2439
- /* @__PURE__ */ jsx7(PayloadBlock, { label: msg("timeline.toolRenderers.result"), value: outText })
2536
+ /* @__PURE__ */ jsx8(PayloadBlock, { label: msg("timeline.toolRenderers.arguments"), value: args }),
2537
+ /* @__PURE__ */ jsx8(PayloadBlock, { label: msg("timeline.toolRenderers.result"), value: outText })
2440
2538
  ]
2441
2539
  }
2442
2540
  );
2443
2541
  }
2444
2542
  function SetSessionTitleRenderer(props) {
2445
- return useToolDetails() === "plain" ? /* @__PURE__ */ jsx7(UnreviewedGenericRenderer, { ...props }) : /* @__PURE__ */ jsx7(FullSetSessionTitleRenderer, { ...props });
2543
+ return useToolDetails() === "plain" ? /* @__PURE__ */ jsx8(UnreviewedGenericRenderer, { ...props }) : /* @__PURE__ */ jsx8(FullSetSessionTitleRenderer, { ...props });
2446
2544
  }
2447
2545
  function FullSetSessionTitleRenderer({ item }) {
2448
2546
  const msg = useOpenGeniText();
@@ -2450,17 +2548,17 @@ function FullSetSessionTitleRenderer({ item }) {
2450
2548
  const titleArg = typeof args.title === "string" ? args.title.trim() : "";
2451
2549
  const display = toolDisplayName(msg, item.name, item.display);
2452
2550
  const previewTitle = titleArg ? truncatePreview(titleArg, 72) : "";
2453
- const icon = /* @__PURE__ */ jsx7(MessagesSquareIcon, { className: ICON_SIZE });
2551
+ const icon = /* @__PURE__ */ jsx8(MessagesSquareIcon2, { className: ICON_SIZE });
2454
2552
  if (item.status === "running") {
2455
- return /* @__PURE__ */ jsx7(
2553
+ return /* @__PURE__ */ jsx8(
2456
2554
  ActivityDisclosure,
2457
2555
  {
2458
2556
  icon,
2459
2557
  iconTone: "running",
2460
2558
  title: display,
2461
2559
  running: true,
2462
- preview: previewTitle ? /* @__PURE__ */ jsx7(RunningPreview, { children: previewTitle }) : /* @__PURE__ */ jsx7(RunningPreview, { children: msg("timeline.toolRenderers.settingTitle") }),
2463
- children: /* @__PURE__ */ jsx7(PayloadBlock, { label: msg("timeline.toolRenderers.arguments"), value: args })
2560
+ preview: previewTitle ? /* @__PURE__ */ jsx8(RunningPreview, { children: previewTitle }) : /* @__PURE__ */ jsx8(RunningPreview, { children: msg("timeline.toolRenderers.settingTitle") }),
2561
+ children: /* @__PURE__ */ jsx8(PayloadBlock, { label: msg("timeline.toolRenderers.arguments"), value: args })
2464
2562
  }
2465
2563
  );
2466
2564
  }
@@ -2475,8 +2573,8 @@ function FullSetSessionTitleRenderer({ item }) {
2475
2573
  failed: true,
2476
2574
  preview: truncatePreview(outText, 80) || msg("timeline.toolRenderers.renameFailed"),
2477
2575
  children: [
2478
- /* @__PURE__ */ jsx7(PayloadBlock, { label: msg("timeline.toolRenderers.arguments"), value: args }),
2479
- /* @__PURE__ */ jsx7(PayloadBlock, { label: msg("timeline.toolRenderers.error"), value: outText, failed: true })
2576
+ /* @__PURE__ */ jsx8(PayloadBlock, { label: msg("timeline.toolRenderers.arguments"), value: args }),
2577
+ /* @__PURE__ */ jsx8(PayloadBlock, { label: msg("timeline.toolRenderers.error"), value: outText, failed: true })
2480
2578
  ]
2481
2579
  }
2482
2580
  );
@@ -2500,14 +2598,14 @@ function FullSetSessionTitleRenderer({ item }) {
2500
2598
  cancelled: item.status === "cancelled",
2501
2599
  preview: item.status === "cancelled" ? void 0 : settledTitle || void 0,
2502
2600
  children: [
2503
- /* @__PURE__ */ jsx7(PayloadBlock, { label: msg("timeline.toolRenderers.arguments"), value: args }),
2504
- outText ? /* @__PURE__ */ jsx7(PayloadBlock, { label: msg("timeline.toolRenderers.result"), value: outText }) : null
2601
+ /* @__PURE__ */ jsx8(PayloadBlock, { label: msg("timeline.toolRenderers.arguments"), value: args }),
2602
+ outText ? /* @__PURE__ */ jsx8(PayloadBlock, { label: msg("timeline.toolRenderers.result"), value: outText }) : null
2505
2603
  ]
2506
2604
  }
2507
2605
  );
2508
2606
  }
2509
2607
  function MemoryProposeRenderer(props) {
2510
- return useToolDetails() === "plain" ? /* @__PURE__ */ jsx7(UnreviewedGenericRenderer, { ...props }) : /* @__PURE__ */ jsx7(FullMemoryProposeRenderer, { ...props });
2608
+ return useToolDetails() === "plain" ? /* @__PURE__ */ jsx8(UnreviewedGenericRenderer, { ...props }) : /* @__PURE__ */ jsx8(FullMemoryProposeRenderer, { ...props });
2511
2609
  }
2512
2610
  function FullMemoryProposeRenderer({ item }) {
2513
2611
  const msg = useOpenGeniText();
@@ -2516,15 +2614,15 @@ function FullMemoryProposeRenderer({ item }) {
2516
2614
  const title = msg("timeline.toolRenderers.proposeMemory");
2517
2615
  const running = item.status === "running";
2518
2616
  if (running) {
2519
- return /* @__PURE__ */ jsx7(
2617
+ return /* @__PURE__ */ jsx8(
2520
2618
  ActivityDisclosure,
2521
2619
  {
2522
- icon: /* @__PURE__ */ jsx7(BrainCircuitIcon2, { className: ICON_SIZE }),
2620
+ icon: /* @__PURE__ */ jsx8(BrainCircuitIcon3, { className: ICON_SIZE }),
2523
2621
  iconTone: "running",
2524
2622
  title,
2525
2623
  running: true,
2526
- preview: /* @__PURE__ */ jsx7(RunningPreview, { children: msg("timeline.toolRenderers.proposing") }),
2527
- children: /* @__PURE__ */ jsx7(PayloadBlock, { label: msg("timeline.toolRenderers.arguments"), value: args })
2624
+ preview: /* @__PURE__ */ jsx8(RunningPreview, { children: msg("timeline.toolRenderers.proposing") }),
2625
+ children: /* @__PURE__ */ jsx8(PayloadBlock, { label: msg("timeline.toolRenderers.arguments"), value: args })
2528
2626
  }
2529
2627
  );
2530
2628
  }
@@ -2533,14 +2631,14 @@ function FullMemoryProposeRenderer({ item }) {
2533
2631
  return /* @__PURE__ */ jsxs4(
2534
2632
  ActivityDisclosure,
2535
2633
  {
2536
- icon: /* @__PURE__ */ jsx7(BrainCircuitIcon2, { className: ICON_SIZE }),
2634
+ icon: /* @__PURE__ */ jsx8(BrainCircuitIcon3, { className: ICON_SIZE }),
2537
2635
  iconTone: "failed",
2538
2636
  title,
2539
2637
  failed: true,
2540
2638
  preview: truncatePreview(outText, 80) || msg("timeline.toolRenderers.proposeFailed"),
2541
2639
  children: [
2542
- text ? /* @__PURE__ */ jsx7(BodyNote, { children: text }) : null,
2543
- /* @__PURE__ */ jsx7(PayloadBlock, { label: msg("timeline.toolRenderers.error"), value: outText, failed: true })
2640
+ text ? /* @__PURE__ */ jsx8(BodyNote, { children: text }) : null,
2641
+ /* @__PURE__ */ jsx8(PayloadBlock, { label: msg("timeline.toolRenderers.error"), value: outText, failed: true })
2544
2642
  ]
2545
2643
  }
2546
2644
  );
@@ -2548,22 +2646,22 @@ function FullMemoryProposeRenderer({ item }) {
2548
2646
  return /* @__PURE__ */ jsxs4(
2549
2647
  ActivityDisclosure,
2550
2648
  {
2551
- icon: /* @__PURE__ */ jsx7(BrainCircuitIcon2, { className: ICON_SIZE }),
2649
+ icon: /* @__PURE__ */ jsx8(BrainCircuitIcon3, { className: ICON_SIZE }),
2552
2650
  iconTone: "muted",
2553
2651
  title,
2554
2652
  cancelled: item.status === "cancelled",
2555
2653
  preview: text ? truncatePreview(text, 90) : msg("timeline.toolRenderers.done"),
2556
2654
  children: [
2557
- text ? /* @__PURE__ */ jsx7(BodyNote, { children: text }) : null,
2558
- /* @__PURE__ */ jsx7(PayloadBlock, { label: msg("timeline.toolRenderers.result"), value: outText })
2655
+ text ? /* @__PURE__ */ jsx8(BodyNote, { children: text }) : null,
2656
+ /* @__PURE__ */ jsx8(PayloadBlock, { label: msg("timeline.toolRenderers.result"), value: outText })
2559
2657
  ]
2560
2658
  }
2561
2659
  );
2562
2660
  }
2563
2661
  function GenericRenderer(props) {
2564
2662
  const reviewed = useHasToolReview(props.item.callId);
2565
- if (reviewed && props.item.callId) return /* @__PURE__ */ jsx7(ReviewedGenericRenderer, { ...props });
2566
- return /* @__PURE__ */ jsx7(UnreviewedGenericRenderer, { ...props });
2663
+ if (reviewed && props.item.callId) return /* @__PURE__ */ jsx8(ReviewedGenericRenderer, { ...props });
2664
+ return /* @__PURE__ */ jsx8(UnreviewedGenericRenderer, { ...props });
2567
2665
  }
2568
2666
  var REVIEW_CHIP = (msg) => ({
2569
2667
  rejected: { tone: "interrupted", text: msg("timeline.chip.declined") },
@@ -2581,9 +2679,9 @@ function ReviewedGenericRenderer(props) {
2581
2679
  const { item } = props;
2582
2680
  const { review, onViewDetails } = useRecordedToolReview(item.callId);
2583
2681
  const logo = useToolConnectorLogo(item.display);
2584
- if (!review) return /* @__PURE__ */ jsx7(UnreviewedGenericRenderer, { ...props });
2682
+ if (!review) return /* @__PURE__ */ jsx8(UnreviewedGenericRenderer, { ...props });
2585
2683
  const ReviewIcon = toolIcon(genericToolIconKind(item.name));
2586
- const icon = /* @__PURE__ */ jsx7(ConnectorLogoIcon, { src: logo, fallback: /* @__PURE__ */ jsx7(ReviewIcon, { className: ICON_SIZE }) });
2684
+ const icon = /* @__PURE__ */ jsx8(ConnectorLogoIcon, { src: logo, fallback: /* @__PURE__ */ jsx8(ReviewIcon, { className: ICON_SIZE }) });
2587
2685
  const waiting = review.status === "pending";
2588
2686
  const running = !waiting && (review.status === "executing" || review.status === "approved") && item.status === "running";
2589
2687
  const { text: outText, isError } = unwrapMcpOutput(retainedToolResultImages(item.output).output);
@@ -2596,12 +2694,12 @@ function ReviewedGenericRenderer(props) {
2596
2694
  title: review.title,
2597
2695
  running,
2598
2696
  chip,
2599
- preview: waiting ? msg("timeline.toolRenderers.waitingForYourApproval") : running ? /* @__PURE__ */ jsx7(RunningPreview, { children: msg("timeline.toolRenderers.running") }) : item.display?.connector ? (
2697
+ preview: waiting ? msg("timeline.toolRenderers.waitingForYourApproval") : running ? /* @__PURE__ */ jsx8(RunningPreview, { children: msg("timeline.toolRenderers.running") }) : item.display?.connector ? (
2600
2698
  // The logo names the connector; only a second account needs words.
2601
2699
  item.display.accountLabel ?? void 0
2602
2700
  ) : review.accountLabel ?? void 0,
2603
2701
  children: [
2604
- /* @__PURE__ */ jsx7("div", { className: "py-1", "data-approval-id": item.callId, "data-review-origin": "history", children: /* @__PURE__ */ jsx7(
2702
+ /* @__PURE__ */ jsx8("div", { className: "py-1", "data-approval-id": item.callId, "data-review-origin": "history", children: /* @__PURE__ */ jsx8(
2605
2703
  ToolActionReviewCard,
2606
2704
  {
2607
2705
  bare: true,
@@ -2609,7 +2707,7 @@ function ReviewedGenericRenderer(props) {
2609
2707
  onViewDetails
2610
2708
  }
2611
2709
  ) }),
2612
- outText ? /* @__PURE__ */ jsx7(
2710
+ outText ? /* @__PURE__ */ jsx8(
2613
2711
  PayloadBlock,
2614
2712
  {
2615
2713
  label: msg("timeline.toolRenderers.result"),
@@ -2625,14 +2723,14 @@ function KnowledgeSaveRenderer({ item }) {
2625
2723
  const output = unwrapMcpOutput(item.output);
2626
2724
  const parsed = tryParseJson(output.text);
2627
2725
  if (item.status === "running" || output.isError || !parsed || typeof parsed !== "object")
2628
- return /* @__PURE__ */ jsx7(GenericRenderer, { item });
2726
+ return /* @__PURE__ */ jsx8(GenericRenderer, { item });
2629
2727
  const value = parsed;
2630
2728
  const receipt = value.status === "retained" ? value.receipt : value;
2631
2729
  if (!receipt || typeof receipt.entryId !== "string" || !["published", "pending", "rejected", "archived"].includes(String(receipt.outcome)))
2632
- return /* @__PURE__ */ jsx7(GenericRenderer, { item });
2730
+ return /* @__PURE__ */ jsx8(GenericRenderer, { item });
2633
2731
  const args = parseToolArgs(item.arguments);
2634
2732
  const entry = args.entry;
2635
- return /* @__PURE__ */ jsx7(
2733
+ return /* @__PURE__ */ jsx8(
2636
2734
  KnowledgeReceiptRow,
2637
2735
  {
2638
2736
  outcome: receipt.outcome,
@@ -2804,7 +2902,7 @@ function useStartupDetails() {
2804
2902
  // src/timeline/agent-row.tsx
2805
2903
  import { ArrowUpRightIcon, ChevronRightIcon as ChevronRightIcon2 } from "lucide-react";
2806
2904
  import { useContext as useContext6, useState as useState8 } from "react";
2807
- import { Fragment as Fragment4, jsx as jsx8, jsxs as jsxs5 } from "react/jsx-runtime";
2905
+ import { Fragment as Fragment4, jsx as jsx9, jsxs as jsxs5 } from "react/jsx-runtime";
2808
2906
  function AgentRow({
2809
2907
  icon,
2810
2908
  title,
@@ -2823,7 +2921,7 @@ function AgentRow({
2823
2921
  const forcedDefaultOpen = useForcedDefaultOpen();
2824
2922
  const [open, setOpen] = useState8(forcedDefaultOpen ?? false);
2825
2923
  if (compact) {
2826
- return /* @__PURE__ */ jsx8(
2924
+ return /* @__PURE__ */ jsx9(
2827
2925
  ActivityDisclosure,
2828
2926
  {
2829
2927
  icon,
@@ -2840,14 +2938,14 @@ function AgentRow({
2840
2938
  const openLabel = title.name ? t("timeline.agentRow.openName", { name: title.name }) : t("timeline.agentRow.openAgentSession");
2841
2939
  const status = failed ? "failed" : cancelled ? "cancelled" : running ? "running" : void 0;
2842
2940
  const inner = /* @__PURE__ */ jsxs5(Fragment4, { children: [
2843
- hasBody ? /* @__PURE__ */ jsx8(
2941
+ hasBody ? /* @__PURE__ */ jsx9(
2844
2942
  ChevronRightIcon2,
2845
2943
  {
2846
2944
  "aria-hidden": true,
2847
2945
  className: "mt-[3px] size-3.5 shrink-0 text-og-fg-subtle transition-transform duration-[var(--_og-duration-disclose)] ease-og-in-out group-data-[state=open]/agent:rotate-90"
2848
2946
  }
2849
- ) : /* @__PURE__ */ jsx8("span", { className: "size-3.5 shrink-0", "aria-hidden": true }),
2850
- /* @__PURE__ */ jsx8(
2947
+ ) : /* @__PURE__ */ jsx9("span", { className: "size-3.5 shrink-0", "aria-hidden": true }),
2948
+ /* @__PURE__ */ jsx9(
2851
2949
  "span",
2852
2950
  {
2853
2951
  "aria-hidden": true,
@@ -2860,7 +2958,7 @@ function AgentRow({
2860
2958
  ),
2861
2959
  /* @__PURE__ */ jsxs5("span", { className: "min-w-0 flex-1", children: [
2862
2960
  /* @__PURE__ */ jsxs5("span", { className: "flex min-w-0 items-baseline gap-2", children: [
2863
- /* @__PURE__ */ jsx8(
2961
+ /* @__PURE__ */ jsx9(
2864
2962
  ShimmerText,
2865
2963
  {
2866
2964
  active: Boolean(running),
@@ -2869,15 +2967,15 @@ function AgentRow({
2869
2967
  failed && "text-og-status-failed"
2870
2968
  ),
2871
2969
  children: title.name ? /* @__PURE__ */ jsxs5(Fragment4, { children: [
2872
- title.before ? /* @__PURE__ */ jsx8("span", { className: "text-og-fg-muted", children: title.before }) : null,
2873
- /* @__PURE__ */ jsx8("span", { className: cn("font-medium", failed ? void 0 : "text-og-fg"), children: title.name }),
2874
- title.after ? /* @__PURE__ */ jsx8("span", { className: "text-og-fg-muted", children: title.after }) : null
2875
- ] }) : /* @__PURE__ */ jsx8("span", { className: cn("font-medium", failed ? void 0 : "text-og-fg"), children: title.text })
2970
+ title.before ? /* @__PURE__ */ jsx9("span", { className: "text-og-fg-muted", children: title.before }) : null,
2971
+ /* @__PURE__ */ jsx9("span", { className: cn("font-medium", failed ? void 0 : "text-og-fg"), children: title.name }),
2972
+ title.after ? /* @__PURE__ */ jsx9("span", { className: "text-og-fg-muted", children: title.after }) : null
2973
+ ] }) : /* @__PURE__ */ jsx9("span", { className: cn("font-medium", failed ? void 0 : "text-og-fg"), children: title.text })
2876
2974
  }
2877
2975
  ),
2878
- meta ? /* @__PURE__ */ jsx8("span", { className: "shrink-0 text-og-xs text-og-fg-subtle tabular-nums", children: meta }) : null
2976
+ meta ? /* @__PURE__ */ jsx9("span", { className: "shrink-0 text-og-xs text-og-fg-subtle tabular-nums", children: meta }) : null
2879
2977
  ] }),
2880
- preview && !open ? /* @__PURE__ */ jsx8(
2978
+ preview && !open ? /* @__PURE__ */ jsx9(
2881
2979
  "span",
2882
2980
  {
2883
2981
  "data-og-agent-preview": "",
@@ -2890,10 +2988,10 @@ function AgentRow({
2890
2988
  ) : null
2891
2989
  ] }),
2892
2990
  failed ? /* @__PURE__ */ jsxs5("span", { className: "inline-flex shrink-0 items-center gap-1.5 self-center font-og-mono text-og-xs leading-none text-og-status-failed", children: [
2893
- /* @__PURE__ */ jsx8("span", { className: "size-1.5 rounded-full bg-og-status-failed" }),
2991
+ /* @__PURE__ */ jsx9("span", { className: "size-1.5 rounded-full bg-og-status-failed" }),
2894
2992
  t("timeline.agentRow.failed")
2895
- ] }) : cancelled ? /* @__PURE__ */ jsx8("span", { className: "og-cancelled-chip shrink-0 self-center font-og-mono text-og-xs leading-none text-og-fg-subtle", children: t("timeline.agentRow.interrupted") }) : null,
2896
- canOpen && sessionId && onOpenSession ? /* @__PURE__ */ jsx8(
2993
+ ] }) : cancelled ? /* @__PURE__ */ jsx9("span", { className: "og-cancelled-chip shrink-0 self-center font-og-mono text-og-xs leading-none text-og-fg-subtle", children: t("timeline.agentRow.interrupted") }) : null,
2994
+ canOpen && sessionId && onOpenSession ? /* @__PURE__ */ jsx9(
2897
2995
  "button",
2898
2996
  {
2899
2997
  type: "button",
@@ -2909,7 +3007,7 @@ function AgentRow({
2909
3007
  "outline-hidden transition-colors duration-150 hover:bg-og-surface-2 hover:text-og-fg focus-visible:ring-2 focus-visible:ring-og-accent",
2910
3008
  "pointer-coarse:size-10"
2911
3009
  ),
2912
- children: /* @__PURE__ */ jsx8(ArrowUpRightIcon, { "aria-hidden": true, className: "size-3.5" })
3010
+ children: /* @__PURE__ */ jsx9(ArrowUpRightIcon, { "aria-hidden": true, className: "size-3.5" })
2913
3011
  }
2914
3012
  ) : null
2915
3013
  ] });
@@ -2918,10 +3016,10 @@ function AgentRow({
2918
3016
  "pointer-coarse:min-h-11 pointer-coarse:py-2.5"
2919
3017
  );
2920
3018
  if (!hasBody) {
2921
- return /* @__PURE__ */ jsx8("div", { "data-og-agent-row": "", "data-status": status, className: rowClass, children: inner });
3019
+ return /* @__PURE__ */ jsx9("div", { "data-og-agent-row": "", "data-status": status, className: rowClass, children: inner });
2922
3020
  }
2923
3021
  return /* @__PURE__ */ jsxs5("div", { "data-og-agent-row": "", "data-status": status, children: [
2924
- /* @__PURE__ */ jsx8(
3022
+ /* @__PURE__ */ jsx9(
2925
3023
  "div",
2926
3024
  {
2927
3025
  role: "button",
@@ -2943,11 +3041,11 @@ function AgentRow({
2943
3041
  children: inner
2944
3042
  }
2945
3043
  ),
2946
- open ? /* @__PURE__ */ jsx8("div", { className: "mb-2 ml-[2.125rem] mr-1.5 mt-0.5 flex flex-col gap-2 border-l border-og-border pl-4 text-og-sm leading-6 text-og-fg animate-og-expand", children }) : null
3044
+ open ? /* @__PURE__ */ jsx9("div", { className: "mb-2 ml-[2.125rem] mr-1.5 mt-0.5 flex flex-col gap-2 border-l border-og-border pl-4 text-og-sm leading-6 text-og-fg animate-og-expand", children }) : null
2947
3045
  ] });
2948
3046
  }
2949
3047
  function AgentRowText({ children }) {
2950
- return /* @__PURE__ */ jsx8("p", { className: "whitespace-pre-wrap break-words", children });
3048
+ return /* @__PURE__ */ jsx9("p", { className: "whitespace-pre-wrap break-words", children });
2951
3049
  }
2952
3050
  function AgentRowSection({
2953
3051
  label,
@@ -2955,8 +3053,8 @@ function AgentRowSection({
2955
3053
  muted
2956
3054
  }) {
2957
3055
  return /* @__PURE__ */ jsxs5("div", { className: "min-w-0", children: [
2958
- /* @__PURE__ */ jsx8("p", { className: "text-og-xs font-medium text-og-fg-subtle", children: label }),
2959
- /* @__PURE__ */ jsx8(
3056
+ /* @__PURE__ */ jsx9("p", { className: "text-og-xs font-medium text-og-fg-subtle", children: label }),
3057
+ /* @__PURE__ */ jsx9(
2960
3058
  "p",
2961
3059
  {
2962
3060
  className: cn("whitespace-pre-wrap break-words", muted ? "text-og-fg-muted" : "text-og-fg"),
@@ -2968,7 +3066,7 @@ function AgentRowSection({
2968
3066
 
2969
3067
  // src/timeline/agent-identity.tsx
2970
3068
  import { createContext as createContext5, useContext as useContext7, useMemo as useMemo2 } from "react";
2971
- import { jsx as jsx9 } from "react/jsx-runtime";
3069
+ import { jsx as jsx10 } from "react/jsx-runtime";
2972
3070
  var SESSION_ID = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
2973
3071
  var AGENT_TITLE_MAX_LENGTH = 80;
2974
3072
  function isSessionId(value) {
@@ -3005,7 +3103,7 @@ function AgentIdentityProvider({
3005
3103
  onOpenSession
3006
3104
  };
3007
3105
  }, [spawnTitleKey, resolveSessionTitle, onOpenSession]);
3008
- return /* @__PURE__ */ jsx9(AgentIdentityContext.Provider, { value, children });
3106
+ return /* @__PURE__ */ jsx10(AgentIdentityContext.Provider, { value, children });
3009
3107
  }
3010
3108
 
3011
3109
  // src/timeline/activity-rail.tsx
@@ -3014,7 +3112,7 @@ import { AnimatePresence, motion, useReducedMotion } from "motion/react";
3014
3112
  // src/timeline/genie-loading.tsx
3015
3113
  import { ThinkingOrb } from "thinking-orbs";
3016
3114
  import { createContext as createContext6, useContext as useContext8, useEffect as useEffect5, useState as useState9 } from "react";
3017
- import { jsx as jsx10, jsxs as jsxs6 } from "react/jsx-runtime";
3115
+ import { jsx as jsx11, jsxs as jsxs6 } from "react/jsx-runtime";
3018
3116
  var GenieLoadingOptionsContext = createContext6(void 0);
3019
3117
  var EMBEDDED_GENIE_LOADING = (t) => ({
3020
3118
  phrases: [t("timeline.genieLoading.thinking")],
@@ -3049,7 +3147,7 @@ function GenieLoading({
3049
3147
  if (options?.render && !notice)
3050
3148
  return options.render({ startedAt, phase, detailsOpen, onShowDetails });
3051
3149
  return /* @__PURE__ */ jsxs6("div", { className: "og-genie-loading", children: [
3052
- /* @__PURE__ */ jsx10(
3150
+ /* @__PURE__ */ jsx11(
3053
3151
  "div",
3054
3152
  {
3055
3153
  className: "og-genie-orb",
@@ -3059,12 +3157,12 @@ function GenieLoading({
3059
3157
  height: options?.orb?.size ?? 64,
3060
3158
  flexBasis: options?.orb?.size ?? 64
3061
3159
  },
3062
- children: /* @__PURE__ */ jsx10(ThinkingOrb, { state: "searching", size: 64, theme, speed: 0.8, ...options?.orb })
3160
+ children: /* @__PURE__ */ jsx11(ThinkingOrb, { state: "searching", size: 64, theme, speed: 0.8, ...options?.orb })
3063
3161
  }
3064
3162
  ),
3065
3163
  /* @__PURE__ */ jsxs6("div", { className: "og-genie-copy", children: [
3066
- /* @__PURE__ */ jsx10("span", { className: "sr-only", role: "status", children: notice ?? (slow ? options?.messages?.slowStatus ?? (waiting ? t("timeline.genieLoading.waitingForAResponseTaking") : t("timeline.genieLoading.preparingYourTaskTakingLonger")) : options?.messages?.status ?? (waiting ? t("timeline.genieLoading.waitingForAResponse") : t("timeline.genieLoading.preparingYourTask"))) }),
3067
- /* @__PURE__ */ jsx10(
3164
+ /* @__PURE__ */ jsx11("span", { className: "sr-only", role: "status", children: notice ?? (slow ? options?.messages?.slowStatus ?? (waiting ? t("timeline.genieLoading.waitingForAResponseTaking") : t("timeline.genieLoading.preparingYourTaskTakingLonger")) : options?.messages?.status ?? (waiting ? t("timeline.genieLoading.waitingForAResponse") : t("timeline.genieLoading.preparingYourTask"))) }),
3165
+ /* @__PURE__ */ jsx11(
3068
3166
  "span",
3069
3167
  {
3070
3168
  className: "og-genie-phrase",
@@ -3083,7 +3181,7 @@ function GenieLoading({
3083
3181
  onClick: onShowDetails,
3084
3182
  children: [
3085
3183
  detailsOpen ? options?.messages?.hideDetails ?? t("timeline.genieLoading.hideDetails") : options?.messages?.showDetails ?? (waiting ? t("timeline.genieLoading.showDetails") : t("timeline.genieLoading.behindTheMagic")),
3086
- /* @__PURE__ */ jsx10("span", { "aria-hidden": "true", children: " \u2197" })
3184
+ /* @__PURE__ */ jsx11("span", { "aria-hidden": "true", children: " \u2197" })
3087
3185
  ]
3088
3186
  }
3089
3187
  ) : null
@@ -3093,7 +3191,7 @@ function GenieLoading({
3093
3191
 
3094
3192
  // src/timeline/startup-dispatch-details.tsx
3095
3193
  import { useEffect as useEffect6, useState as useState10 } from "react";
3096
- import { jsx as jsx11, jsxs as jsxs7 } from "react/jsx-runtime";
3194
+ import { jsx as jsx12, jsxs as jsxs7 } from "react/jsx-runtime";
3097
3195
  function StartupDispatchDetails({ wait }) {
3098
3196
  const t = useOpenGeniText();
3099
3197
  const [now, setNow] = useState10(Date.now);
@@ -3103,15 +3201,15 @@ function StartupDispatchDetails({ wait }) {
3103
3201
  }, []);
3104
3202
  const next = wait?.nextAttemptAt ? new Date(wait.nextAttemptAt) : null;
3105
3203
  return /* @__PURE__ */ jsxs7("div", { className: "text-og-xs text-og-fg-muted", "data-og-startup-dispatch-details": "", children: [
3106
- /* @__PURE__ */ jsx11("p", { children: t("timeline.startupDispatchDetails.yourMessagesAreSavedNo") }),
3107
- /* @__PURE__ */ jsx11("p", { children: wait?.state === "pending" && next ? next.getTime() <= now ? t("timeline.startupDispatchDetails.automaticStartRetryIsDue") : t("timeline.startupDispatchDetails.automaticStartRetryAtLocaletimestring", {
3204
+ /* @__PURE__ */ jsx12("p", { children: t("timeline.startupDispatchDetails.yourMessagesAreSavedNo") }),
3205
+ /* @__PURE__ */ jsx12("p", { children: wait?.state === "pending" && next ? next.getTime() <= now ? t("timeline.startupDispatchDetails.automaticStartRetryIsDue") : t("timeline.startupDispatchDetails.automaticStartRetryAtLocaletimestring", {
3108
3206
  localeTimeString: next.toLocaleTimeString(t.locale, {
3109
3207
  hour: "2-digit",
3110
3208
  minute: "2-digit"
3111
3209
  })
3112
3210
  }) : wait?.state === "acknowledged" ? t("timeline.startupDispatchDetails.theStartRequestWasAccepted") : t("timeline.startupDispatchDetails.startConfirmationIsUnavailable") }),
3113
- wait && wait.attempts > 0 ? /* @__PURE__ */ jsx11("p", { children: t("timeline.startupDispatchDetails.dispatchAttempts", { count: wait.attempts }) }) : null,
3114
- wait?.lastError ? /* @__PURE__ */ jsx11("p", { className: "max-h-32 overflow-y-auto whitespace-pre-wrap break-words", children: t("timeline.startupDispatchDetails.lastRecordedDispatchErrorLasterror", {
3211
+ wait && wait.attempts > 0 ? /* @__PURE__ */ jsx12("p", { children: t("timeline.startupDispatchDetails.dispatchAttempts", { count: wait.attempts }) }) : null,
3212
+ wait?.lastError ? /* @__PURE__ */ jsx12("p", { className: "max-h-32 overflow-y-auto whitespace-pre-wrap break-words", children: t("timeline.startupDispatchDetails.lastRecordedDispatchErrorLasterror", {
3115
3213
  lastError: wait.lastError
3116
3214
  }) }) : null
3117
3215
  ] });
@@ -3120,11 +3218,10 @@ function StartupDispatchDetails({ wait }) {
3120
3218
  // src/timeline/activity-rail.tsx
3121
3219
  import {
3122
3220
  ArrowRightIcon,
3123
- BotIcon,
3124
- BrainCircuitIcon as BrainCircuitIcon3,
3221
+ BotIcon as BotIcon2,
3222
+ BrainCircuitIcon as BrainCircuitIcon4,
3125
3223
  MessageSquareTextIcon,
3126
- SendIcon,
3127
- WrenchIcon as WrenchIcon2
3224
+ SendIcon
3128
3225
  } from "lucide-react";
3129
3226
  import {
3130
3227
  Component,
@@ -3141,7 +3238,7 @@ import { jsx as rowJsx, jsxs as rowJsxs } from "react/jsx-runtime";
3141
3238
 
3142
3239
  // src/timeline/entrance.tsx
3143
3240
  import { createContext as createContext7, useContext as useContext9, useRef as useRef2 } from "react";
3144
- import { jsx as jsx12 } from "react/jsx-runtime";
3241
+ import { jsx as jsx13 } from "react/jsx-runtime";
3145
3242
  var EntranceAnimationContext = createContext7(true);
3146
3243
  var EntranceAnimationLiveContext = createContext7(true);
3147
3244
  function EntranceAnimationProvider({
@@ -3150,7 +3247,7 @@ function EntranceAnimationProvider({
3150
3247
  children
3151
3248
  }) {
3152
3249
  const mountedValue = useRef2(value).current;
3153
- return /* @__PURE__ */ jsx12(EntranceAnimationContext.Provider, { value: mountedValue, children: /* @__PURE__ */ jsx12(EntranceAnimationLiveContext.Provider, { value: liveValue, children }) });
3250
+ return /* @__PURE__ */ jsx13(EntranceAnimationContext.Provider, { value: mountedValue, children: /* @__PURE__ */ jsx13(EntranceAnimationLiveContext.Provider, { value: liveValue, children }) });
3154
3251
  }
3155
3252
  function useEntranceAnimationLive() {
3156
3253
  return useContext9(EntranceAnimationLiveContext);
@@ -3170,9 +3267,9 @@ function useSeenActivityIds() {
3170
3267
  }
3171
3268
 
3172
3269
  // src/timeline/activity-rail.tsx
3173
- import { Fragment as Fragment5, jsx as jsx13, jsxs as jsxs8 } from "react/jsx-runtime";
3174
- var LazyFleetDecisionRow = lazy2(() => import("./fleet-decision-row-QNSTP3VX.js"));
3175
- var LazyPlatformActivityRow = lazy2(() => import("./platform-activity-row-BMXXNZKX.js"));
3270
+ import { Fragment as Fragment5, jsx as jsx14, jsxs as jsxs8 } from "react/jsx-runtime";
3271
+ var LazyFleetDecisionRow = lazy2(() => import("./fleet-decision-row-NN2HXDX3.js"));
3272
+ var LazyPlatformActivityRow = lazy2(() => import("./platform-activity-row-ENQVIFTL.js"));
3176
3273
  function familyOf(item) {
3177
3274
  if (item.kind === "tool-call") {
3178
3275
  return item.name === "exec_command" || item.name === "write_stdin" ? "terminal" : item.name;
@@ -3254,7 +3351,7 @@ function ActivityRail({
3254
3351
  className
3255
3352
  ),
3256
3353
  children: [
3257
- /* @__PURE__ */ jsx13(AnimatePresence, { initial: false, children: loading && !debug ? /* @__PURE__ */ jsx13(
3354
+ /* @__PURE__ */ jsx14(AnimatePresence, { initial: false, children: loading && !debug ? /* @__PURE__ */ jsx14(
3258
3355
  motion.div,
3259
3356
  {
3260
3357
  initial: { opacity: 0 },
@@ -3269,7 +3366,7 @@ function ActivityRail({
3269
3366
  opacity: { duration: reducedMotion ? 0 : 0.16 }
3270
3367
  },
3271
3368
  style: { overflow: "hidden" },
3272
- children: /* @__PURE__ */ jsx13(
3369
+ children: /* @__PURE__ */ jsx14(
3273
3370
  GenieLoading,
3274
3371
  {
3275
3372
  startedAt,
@@ -3282,7 +3379,7 @@ function ActivityRail({
3282
3379
  },
3283
3380
  "startup"
3284
3381
  ) : null }),
3285
- detailsOpen && !debug && !loading ? /* @__PURE__ */ jsx13(
3382
+ detailsOpen && !debug && !loading ? /* @__PURE__ */ jsx14(
3286
3383
  "button",
3287
3384
  {
3288
3385
  type: "button",
@@ -3291,7 +3388,7 @@ function ActivityRail({
3291
3388
  children: msg("timeline.activityRail.hideStartupDetails")
3292
3389
  }
3293
3390
  ) : null,
3294
- dispatch && (detailsOpen || debug) ? /* @__PURE__ */ jsx13(StartupDispatchDetails, { wait: dispatch.dispatchWait ?? null }) : null,
3391
+ dispatch && (detailsOpen || debug) ? /* @__PURE__ */ jsx14(StartupDispatchDetails, { wait: dispatch.dispatchWait ?? null }) : null,
3295
3392
  visibleItems.map((item, index) => {
3296
3393
  const newFamily = index > 0 && familyOf(item) !== familyOf(visibleItems[index - 1]);
3297
3394
  const row = renderActivity(
@@ -3303,7 +3400,7 @@ function ActivityRail({
3303
3400
  loadRetainedScreenshot,
3304
3401
  loadRetainedArtifact
3305
3402
  );
3306
- return /* @__PURE__ */ jsx13(
3403
+ return /* @__PURE__ */ jsx14(
3307
3404
  "div",
3308
3405
  {
3309
3406
  "data-og-timeline-row-anchor": "",
@@ -3324,15 +3421,15 @@ function ActivityNoteRow({ item }) {
3324
3421
  const renderText = useContext11(ActivityNoteTextContext);
3325
3422
  if (!item.text.trim()) return null;
3326
3423
  return /* @__PURE__ */ jsxs8("div", { className: "flex items-start gap-2 px-1.5 py-1.5", "data-og-activity-note": "", children: [
3327
- /* @__PURE__ */ jsx13("span", { className: "size-3.5 shrink-0", "aria-hidden": true }),
3328
- /* @__PURE__ */ jsx13(MessageSquareTextIcon, { "aria-hidden": true, className: "mt-1 size-3.5 shrink-0 text-og-fg-subtle" }),
3329
- /* @__PURE__ */ jsx13(
3424
+ /* @__PURE__ */ jsx14("span", { className: "size-3.5 shrink-0", "aria-hidden": true }),
3425
+ /* @__PURE__ */ jsx14(MessageSquareTextIcon, { "aria-hidden": true, className: "mt-1 size-3.5 shrink-0 text-og-fg-subtle" }),
3426
+ /* @__PURE__ */ jsx14(
3330
3427
  "div",
3331
3428
  {
3332
3429
  className: "min-w-0 flex-1 text-og-sm text-og-fg-muted",
3333
3430
  "data-og-search-item": item.id,
3334
3431
  "data-og-annotation-source-key": item.annotationSource?.eventId,
3335
- children: renderText ? renderText(item.text, item) : /* @__PURE__ */ jsx13(Markdown, { softLineBreaks: true, streaming: item.streaming, children: item.text })
3432
+ children: renderText ? renderText(item.text, item) : /* @__PURE__ */ jsx14(Markdown, { softLineBreaks: true, streaming: item.streaming, children: item.text })
3336
3433
  }
3337
3434
  )
3338
3435
  ] });
@@ -3345,14 +3442,14 @@ function renderActivity(msg, item, toolRegistry, onOpenSession, onMemoryClick, l
3345
3442
  case "reasoning":
3346
3443
  case "sandbox":
3347
3444
  case "startup-phase":
3348
- return /* @__PURE__ */ jsx13(Suspense2, { fallback: null, children: /* @__PURE__ */ jsx13(
3445
+ return /* @__PURE__ */ jsx14(Suspense2, { fallback: null, children: /* @__PURE__ */ jsx14(
3349
3446
  LazyPlatformActivityRow,
3350
3447
  {
3351
3448
  item,
3352
3449
  d: ActivityDisclosure,
3353
3450
  p: PayloadBlock,
3354
3451
  t: (name) => toolDisplayName(msg, name),
3355
- b: BotIcon,
3452
+ b: BotIcon2,
3356
3453
  m: Markdown,
3357
3454
  j: rowJsx,
3358
3455
  s: rowJsxs
@@ -3364,7 +3461,7 @@ function renderActivity(msg, item, toolRegistry, onOpenSession, onMemoryClick, l
3364
3461
  const outputPreview = item.outputPreview ?? null;
3365
3462
  const exactFirst = outputPreview !== null && !rendersToolOutputPreview(Renderer, shown);
3366
3463
  const Shown = exactFirst && (outputPreview.state === "error" || !outputPreview.load) ? toolRegistry.fallback : Renderer;
3367
- return /* @__PURE__ */ jsx13(ToolRowBoundary, { name: toolDisplayName(msg, shown.name), resetKeys: [item.status, Shown], children: /* @__PURE__ */ jsx13(ToolCallTruncationProvider, { value: item.truncation ?? null, children: /* @__PURE__ */ jsx13(ToolOutputPreviewProvider, { value: outputPreview, children: exactFirst && outputPreview.load && outputPreview.state !== "error" ? /* @__PURE__ */ jsx13(ToolOutputExactRow, { item: shown, preview: outputPreview }) : /* @__PURE__ */ jsx13(
3464
+ return /* @__PURE__ */ jsx14(ToolRowBoundary, { name: toolDisplayName(msg, shown.name), resetKeys: [item.status, Shown], children: /* @__PURE__ */ jsx14(ToolCallTruncationProvider, { value: item.truncation ?? null, children: /* @__PURE__ */ jsx14(ToolOutputPreviewProvider, { value: outputPreview, children: exactFirst && outputPreview.load && outputPreview.state !== "error" ? /* @__PURE__ */ jsx14(ToolOutputExactRow, { item: shown, preview: outputPreview }) : /* @__PURE__ */ jsx14(
3368
3465
  Shown,
3369
3466
  {
3370
3467
  item: shown,
@@ -3374,9 +3471,9 @@ function renderActivity(msg, item, toolRegistry, onOpenSession, onMemoryClick, l
3374
3471
  ) }) }) });
3375
3472
  }
3376
3473
  case "worker":
3377
- return /* @__PURE__ */ jsx13(WorkerRow, { item, onOpenSession });
3474
+ return /* @__PURE__ */ jsx14(WorkerRow, { item, onOpenSession });
3378
3475
  case "knowledge":
3379
- return /* @__PURE__ */ jsx13(
3476
+ return /* @__PURE__ */ jsx14(
3380
3477
  KnowledgeReceiptRow,
3381
3478
  {
3382
3479
  outcome: item.outcome,
@@ -3387,11 +3484,11 @@ function renderActivity(msg, item, toolRegistry, onOpenSession, onMemoryClick, l
3387
3484
  }
3388
3485
  );
3389
3486
  case "memory":
3390
- return /* @__PURE__ */ jsx13(MemoryRow, { item, onMemoryClick });
3487
+ return /* @__PURE__ */ jsx14(MemoryRow, { item, onMemoryClick });
3391
3488
  case "agent-message":
3392
- return /* @__PURE__ */ jsx13(ActivityNoteRow, { item });
3489
+ return /* @__PURE__ */ jsx14(ActivityNoteRow, { item });
3393
3490
  case "fleet-decision":
3394
- return /* @__PURE__ */ jsx13(Suspense2, { fallback: null, children: /* @__PURE__ */ jsx13(
3491
+ return /* @__PURE__ */ jsx14(Suspense2, { fallback: null, children: /* @__PURE__ */ jsx14(
3395
3492
  LazyFleetDecisionRow,
3396
3493
  {
3397
3494
  item,
@@ -3415,10 +3512,10 @@ function ToolOutputExactRow({
3415
3512
  useEffect7(() => {
3416
3513
  if (pending) load?.();
3417
3514
  }, [pending, load]);
3418
- return /* @__PURE__ */ jsx13("div", { "data-og-tool-output-loading": "", "aria-busy": "true", children: /* @__PURE__ */ jsx13(
3515
+ return /* @__PURE__ */ jsx14("div", { "data-og-tool-output-loading": "", "aria-busy": "true", children: /* @__PURE__ */ jsx14(
3419
3516
  ActivityDisclosure,
3420
3517
  {
3421
- icon: /* @__PURE__ */ jsx13(WrenchIcon2, { className: "size-3.5" }),
3518
+ icon: /* @__PURE__ */ jsx14(ToolKindIcon, { kind: genericToolIconKind(item.name), className: "size-3.5" }),
3422
3519
  title: toolDisplayName(msg, item.name, item.display),
3423
3520
  preview: msg("timeline.toolRenderers.loadingOutput"),
3424
3521
  expandable: false
@@ -3445,11 +3542,11 @@ function MemoryRow({
3445
3542
  return /* @__PURE__ */ jsxs8(
3446
3543
  ActivityDisclosure,
3447
3544
  {
3448
- icon: /* @__PURE__ */ jsx13(BrainCircuitIcon3, { className: "size-3.5" }),
3545
+ icon: /* @__PURE__ */ jsx14(BrainCircuitIcon4, { className: "size-3.5" }),
3449
3546
  iconTone: "muted",
3450
3547
  title: /* @__PURE__ */ jsxs8("span", { className: "inline-flex min-w-0 items-center gap-2", children: [
3451
- /* @__PURE__ */ jsx13("span", { className: "shrink-0", children: corrected ? msg("timeline.activityRail.updatedMemory") : msg("timeline.activityRail.savedToMemory") }),
3452
- kindLabel ? /* @__PURE__ */ jsx13("span", { className: "shrink-0 rounded-og-xs bg-og-surface-2 px-1.5 py-px text-og-xs font-normal leading-tight text-og-fg-subtle", children: kindLabel }) : null
3548
+ /* @__PURE__ */ jsx14("span", { className: "shrink-0", children: corrected ? msg("timeline.activityRail.updatedMemory") : msg("timeline.activityRail.savedToMemory") }),
3549
+ kindLabel ? /* @__PURE__ */ jsx14("span", { className: "shrink-0 rounded-og-xs bg-og-surface-2 px-1.5 py-px text-og-xs font-normal leading-tight text-og-fg-subtle", children: kindLabel }) : null
3453
3550
  ] }),
3454
3551
  preview: superseded ? item.replacementPreview : item.preview,
3455
3552
  children: [
@@ -3457,21 +3554,21 @@ function MemoryRow({
3457
3554
  // The correction as a before → after: the old memory struck through and
3458
3555
  // dimmed, the new text in the ordinary body weight below it.
3459
3556
  /* @__PURE__ */ jsxs8("div", { className: "flex flex-col gap-1.5", children: [
3460
- /* @__PURE__ */ jsx13("p", { className: "whitespace-pre-wrap text-og-sm leading-6 text-og-fg-subtle line-through", children: item.preview }),
3461
- /* @__PURE__ */ jsx13("p", { className: "whitespace-pre-wrap text-og-base leading-6 text-og-fg-muted", children: item.replacementPreview })
3557
+ /* @__PURE__ */ jsx14("p", { className: "whitespace-pre-wrap text-og-sm leading-6 text-og-fg-subtle line-through", children: item.preview }),
3558
+ /* @__PURE__ */ jsx14("p", { className: "whitespace-pre-wrap text-og-base leading-6 text-og-fg-muted", children: item.replacementPreview })
3462
3559
  ] })
3463
3560
  ) : corrected && item.action === "updated" ? (
3464
3561
  // Edited in place, no replacement record: the memory is still live, so
3465
3562
  // show its current text — NOT the archived treatment.
3466
3563
  /* @__PURE__ */ jsxs8(Fragment5, { children: [
3467
- /* @__PURE__ */ jsx13("p", { className: "whitespace-pre-wrap text-og-base leading-6 text-og-fg-muted", children: item.preview }),
3468
- /* @__PURE__ */ jsx13(BodyNote, { tone: "muted", children: msg("timeline.activityRail.updatedInPlace") })
3564
+ /* @__PURE__ */ jsx14("p", { className: "whitespace-pre-wrap text-og-base leading-6 text-og-fg-muted", children: item.preview }),
3565
+ /* @__PURE__ */ jsx14(BodyNote, { tone: "muted", children: msg("timeline.activityRail.updatedInPlace") })
3469
3566
  ] })
3470
3567
  ) : corrected ? (
3471
3568
  // A correction with no replacement (and not an in-place update) archived the record.
3472
- /* @__PURE__ */ jsx13(BodyNote, { tone: "muted", children: msg("timeline.activityRail.archived") })
3473
- ) : /* @__PURE__ */ jsx13("p", { className: "whitespace-pre-wrap text-og-base leading-6 text-og-fg-muted", children: item.preview }),
3474
- item.deduped ? /* @__PURE__ */ jsx13(BodyNote, { tone: "muted", children: msg("timeline.activityRail.mergedIntoAnExistingMemory") }) : null,
3569
+ /* @__PURE__ */ jsx14(BodyNote, { tone: "muted", children: msg("timeline.activityRail.archived") })
3570
+ ) : /* @__PURE__ */ jsx14("p", { className: "whitespace-pre-wrap text-og-base leading-6 text-og-fg-muted", children: item.preview }),
3571
+ item.deduped ? /* @__PURE__ */ jsx14(BodyNote, { tone: "muted", children: msg("timeline.activityRail.mergedIntoAnExistingMemory") }) : null,
3475
3572
  deepLink ? /* @__PURE__ */ jsxs8(
3476
3573
  "button",
3477
3574
  {
@@ -3483,7 +3580,7 @@ function MemoryRow({
3483
3580
  ),
3484
3581
  children: [
3485
3582
  msg("timeline.activityRail.viewInMemory"),
3486
- /* @__PURE__ */ jsx13(ArrowRightIcon, { className: "size-3.5 transition-transform duration-150 group-hover/memlink:translate-x-0.5" })
3583
+ /* @__PURE__ */ jsx14(ArrowRightIcon, { className: "size-3.5 transition-transform duration-150 group-hover/memlink:translate-x-0.5" })
3487
3584
  ]
3488
3585
  }
3489
3586
  ) : null
@@ -3506,10 +3603,10 @@ function WorkerRow({
3506
3603
  const prompt = item.prompt?.trim() ? item.prompt.trim() : null;
3507
3604
  const failure = failed ? item.failure : null;
3508
3605
  const hasBody = Boolean(prompt) || Boolean(failure);
3509
- return /* @__PURE__ */ jsx13(
3606
+ return /* @__PURE__ */ jsx14(
3510
3607
  AgentRow,
3511
3608
  {
3512
- icon: item.action === "spawn" ? /* @__PURE__ */ jsx13(BotIcon, {}) : /* @__PURE__ */ jsx13(SendIcon, {}),
3609
+ icon: item.action === "spawn" ? /* @__PURE__ */ jsx14(BotIcon2, {}) : /* @__PURE__ */ jsx14(SendIcon, {}),
3513
3610
  title,
3514
3611
  preview: failure ? failure.message : prompt ? truncate(prompt.replace(/\s+/g, " "), 240) : null,
3515
3612
  sessionId: cancelled ? null : sessionId,
@@ -3518,21 +3615,21 @@ function WorkerRow({
3518
3615
  failed,
3519
3616
  cancelled,
3520
3617
  children: hasBody ? /* @__PURE__ */ jsxs8(Fragment5, { children: [
3521
- prompt ? /* @__PURE__ */ jsx13(
3618
+ prompt ? /* @__PURE__ */ jsx14(
3522
3619
  AgentRowSection,
3523
3620
  {
3524
3621
  label: item.action === "spawn" ? msg("timeline.activityRail.brief") : msg("timeline.activityRail.message"),
3525
3622
  children: prompt
3526
3623
  }
3527
3624
  ) : null,
3528
- failure ? /* @__PURE__ */ jsx13(AgentRowSection, { label: failure.code, muted: true, children: failure.message }) : null
3625
+ failure ? /* @__PURE__ */ jsx14(AgentRowSection, { label: failure.code, muted: true, children: failure.message }) : null
3529
3626
  ] }) : void 0
3530
3627
  }
3531
3628
  );
3532
3629
  }
3533
3630
  function ToolRowRenderError({ name }) {
3534
3631
  const t = useOpenGeniText();
3535
- return /* @__PURE__ */ jsx13(
3632
+ return /* @__PURE__ */ jsx14(
3536
3633
  "div",
3537
3634
  {
3538
3635
  "data-testid": "tool-row-render-error",
@@ -3554,7 +3651,7 @@ var ToolRowBoundary = class extends Component {
3554
3651
  }
3555
3652
  render() {
3556
3653
  if (!this.state.failed) return this.props.children;
3557
- return /* @__PURE__ */ jsx13(ToolRowRenderError, { name: this.props.name });
3654
+ return /* @__PURE__ */ jsx14(ToolRowRenderError, { name: this.props.name });
3558
3655
  }
3559
3656
  };
3560
3657
 
@@ -3590,7 +3687,7 @@ function inheritFoldRestingState(memory, targetKey, sourceKeys) {
3590
3687
  }
3591
3688
 
3592
3689
  // src/timeline/turn-summary.tsx
3593
- import { Fragment as Fragment6, jsx as jsx14, jsxs as jsxs9 } from "react/jsx-runtime";
3690
+ import { Fragment as Fragment6, jsx as jsx15, jsxs as jsxs9 } from "react/jsx-runtime";
3594
3691
  var TurnSettleChromeContext = createContext11(false);
3595
3692
  function useTurnSettleOpen() {
3596
3693
  return useContext13(TurnSettleChromeContext);
@@ -3804,7 +3901,7 @@ function TurnSummary({
3804
3901
  status && copyable && "max-sm:pr-10"
3805
3902
  );
3806
3903
  const headerContent = /* @__PURE__ */ jsxs9(Fragment6, { children: [
3807
- expandable ? /* @__PURE__ */ jsx14(
3904
+ expandable ? /* @__PURE__ */ jsx15(
3808
3905
  ChevronRightIcon3,
3809
3906
  {
3810
3907
  className: cn(
@@ -3812,8 +3909,8 @@ function TurnSummary({
3812
3909
  settlePhase ? "duration-[var(--_og-duration-disclose-settle)]" : "duration-[var(--_og-duration-disclose)]"
3813
3910
  )
3814
3911
  }
3815
- ) : /* @__PURE__ */ jsx14("span", { "aria-hidden": true, className: "size-3.5 shrink-0" }),
3816
- status || outcome === "complete" || !outcome && (liveHeader || context.settled) ? null : /* @__PURE__ */ jsx14(
3912
+ ) : /* @__PURE__ */ jsx15("span", { "aria-hidden": true, className: "size-3.5 shrink-0" }),
3913
+ status || outcome === "complete" || !outcome && (liveHeader || context.settled) ? null : /* @__PURE__ */ jsx15(
3817
3914
  "span",
3818
3915
  {
3819
3916
  className: cn(
@@ -3821,7 +3918,7 @@ function TurnSummary({
3821
3918
  bare ? "size-3.5" : "size-5",
3822
3919
  outcome === "failed" ? "text-og-status-failed" : "text-og-fg-subtle"
3823
3920
  ),
3824
- children: outcome === "failed" ? /* @__PURE__ */ jsx14(TriangleAlertIcon, { className: "size-3" }) : outcome === "cancelled" ? /* @__PURE__ */ jsx14(CircleSlashIcon2, { className: "size-3" }) : /* @__PURE__ */ jsx14("span", { className: "size-1.5 animate-og-pulse rounded-full bg-og-fg-subtle" })
3921
+ children: outcome === "failed" ? /* @__PURE__ */ jsx15(TriangleAlertIcon, { className: "size-3" }) : outcome === "cancelled" ? /* @__PURE__ */ jsx15(CircleSlashIcon2, { className: "size-3" }) : /* @__PURE__ */ jsx15("span", { className: "size-1.5 animate-og-pulse rounded-full bg-og-fg-subtle" })
3825
3922
  }
3826
3923
  ),
3827
3924
  /* @__PURE__ */ jsxs9(
@@ -3834,10 +3931,10 @@ function TurnSummary({
3834
3931
  ),
3835
3932
  children: [
3836
3933
  statusLine,
3837
- liveHeader && !open && !status ? liveHeader : !statusLine && facets.length === 0 && !failure && outcome !== "cancelled" ? turnSummaryFallbackLabel(t, context.items, unloadedSteps) : facets.map(({ facet, result }, index) => /* @__PURE__ */ jsx14(FacetRenderBoundary, { children: /* @__PURE__ */ jsxs9(Fragment6, { children: [
3934
+ liveHeader && !open && !status ? liveHeader : !statusLine && facets.length === 0 && !failure && outcome !== "cancelled" ? turnSummaryFallbackLabel(t, context.items, unloadedSteps) : facets.map(({ facet, result }, index) => /* @__PURE__ */ jsx15(FacetRenderBoundary, { children: /* @__PURE__ */ jsxs9(Fragment6, { children: [
3838
3935
  index > 0 || statusLine ? " \xB7 " : null,
3839
3936
  /* @__PURE__ */ jsxs9("span", { "aria-label": result.ariaLabel, title: result.title, children: [
3840
- result.icon ? /* @__PURE__ */ jsx14("span", { "aria-hidden": true, className: "mr-1 inline-flex align-[-0.125em]", children: result.icon }) : null,
3937
+ result.icon ? /* @__PURE__ */ jsx15("span", { "aria-hidden": true, className: "mr-1 inline-flex align-[-0.125em]", children: result.icon }) : null,
3841
3938
  result.content
3842
3939
  ] })
3843
3940
  ] }) }, facet.id)),
@@ -3853,8 +3950,8 @@ function TurnSummary({
3853
3950
  ]
3854
3951
  }
3855
3952
  ),
3856
- status?.kind === "worked" ? /* @__PURE__ */ jsx14("span", { "aria-hidden": true, className: "ml-1 h-px min-w-0 flex-1 bg-og-border" }) : null,
3857
- status && status.kind !== "worked" && (contextCompactionCount ?? 0) > 0 ? /* @__PURE__ */ jsx14(
3953
+ status?.kind === "worked" ? /* @__PURE__ */ jsx15("span", { "aria-hidden": true, className: "ml-1 h-px min-w-0 flex-1 bg-og-border" }) : null,
3954
+ status && status.kind !== "worked" && (contextCompactionCount ?? 0) > 0 ? /* @__PURE__ */ jsx15(
3858
3955
  ShrinkIcon,
3859
3956
  {
3860
3957
  className: "size-3.5 shrink-0",
@@ -3862,7 +3959,7 @@ function TurnSummary({
3862
3959
  }
3863
3960
  ) : null
3864
3961
  ] });
3865
- return /* @__PURE__ */ jsx14(TurnSettleChromeContext.Provider, { value: settleChrome, children: /* @__PURE__ */ jsxs9("div", { className: cn(copyable && "group/copy relative"), children: [
3962
+ return /* @__PURE__ */ jsx15(TurnSettleChromeContext.Provider, { value: settleChrome, children: /* @__PURE__ */ jsxs9("div", { className: cn(copyable && "group/copy relative"), children: [
3866
3963
  /* @__PURE__ */ jsxs9(
3867
3964
  Collapsible.Root,
3868
3965
  {
@@ -3871,7 +3968,7 @@ function TurnSummary({
3871
3968
  onOpenChange,
3872
3969
  className: allowEnterAnimation && !liveShell ? "animate-og-enter" : void 0,
3873
3970
  children: [
3874
- expandable ? /* @__PURE__ */ jsx14(
3971
+ expandable ? /* @__PURE__ */ jsx15(
3875
3972
  Collapsible.Trigger,
3876
3973
  {
3877
3974
  "data-og-work-header": bare ? "nested" : "outer",
@@ -3880,16 +3977,16 @@ function TurnSummary({
3880
3977
  }
3881
3978
  ) : (
3882
3979
  // Nothing to reveal: a plain status row, not a disclosure control.
3883
- /* @__PURE__ */ jsx14("div", { "data-og-work-header": bare ? "nested" : "outer", className: headerClassName, children: headerContent })
3980
+ /* @__PURE__ */ jsx15("div", { "data-og-work-header": bare ? "nested" : "outer", className: headerClassName, children: headerContent })
3884
3981
  ),
3885
3982
  status?.guidance ? (
3886
3983
  // Guidance the reader needs stays visible in both fold states.
3887
- /* @__PURE__ */ jsx14("div", { "data-og-exchange-guidance": "", className: "min-w-0 pb-1 pl-6", children: status.guidance })
3984
+ /* @__PURE__ */ jsx15("div", { "data-og-exchange-guidance": "", className: "min-w-0 pb-1 pl-6", children: status.guidance })
3888
3985
  ) : null,
3889
3986
  status && !open && status.preview ? (
3890
3987
  // Readable progress under the status line; the line above stays
3891
3988
  // the one disclosure control, so a click here is a mouse shortcut.
3892
- /* @__PURE__ */ jsx14(
3989
+ /* @__PURE__ */ jsx15(
3893
3990
  "div",
3894
3991
  {
3895
3992
  "data-og-exchange-preview": "",
@@ -3898,11 +3995,11 @@ function TurnSummary({
3898
3995
  expandable && "cursor-pointer"
3899
3996
  ),
3900
3997
  onClick: expandable ? () => onOpenChange(true) : void 0,
3901
- children: status.preview ? /* @__PURE__ */ jsx14("div", { className: "min-w-0", children: status.preview }) : null
3998
+ children: status.preview ? /* @__PURE__ */ jsx15("div", { className: "min-w-0", children: status.preview }) : null
3902
3999
  }
3903
4000
  )
3904
4001
  ) : null,
3905
- expandable ? /* @__PURE__ */ jsx14(
4002
+ expandable ? /* @__PURE__ */ jsx15(
3906
4003
  Collapsible.Content,
3907
4004
  {
3908
4005
  ...nestSuppressLatch ? { forceMount: true } : {},
@@ -3913,13 +4010,13 @@ function TurnSummary({
3913
4010
  // Auto-close: slow settle. Manual close (settlePhase cleared): fast.
3914
4011
  settlePhase ? "data-[state=closed]:animate-og-settle-collapse" : "data-[state=closed]:animate-og-collapse"
3915
4012
  ),
3916
- children: /* @__PURE__ */ jsx14("div", { className: bare ? "pt-1 pl-5" : "pt-2", children })
4013
+ children: /* @__PURE__ */ jsx15("div", { className: bare ? "pt-1 pl-5" : "pt-2", children })
3917
4014
  }
3918
4015
  ) : null
3919
4016
  ]
3920
4017
  }
3921
4018
  ),
3922
- copyable ? /* @__PURE__ */ jsx14("div", { className: "pointer-events-none absolute top-1.5 right-0 z-10", children: /* @__PURE__ */ jsx14("div", { className: "pointer-events-auto", children: /* @__PURE__ */ jsx14(
4019
+ copyable ? /* @__PURE__ */ jsx15("div", { className: "pointer-events-none absolute top-1.5 right-0 z-10", children: /* @__PURE__ */ jsx15("div", { className: "pointer-events-auto", children: /* @__PURE__ */ jsx15(
3923
4020
  CopyButton,
3924
4021
  {
3925
4022
  text: copyText,
@@ -3939,8 +4036,8 @@ function turnSummaryStatusLine(t, status) {
3939
4036
  }
3940
4037
  const label = status.label ?? (status.kind === "working" ? t("timeline.turnSummary.working") : t("timeline.turnSummary.waiting"));
3941
4038
  return /* @__PURE__ */ jsxs9("span", { "data-og-exchange-status": status.kind, children: [
3942
- status.kind === "working" ? /* @__PURE__ */ jsx14(ShimmerText, { children: label }) : /* @__PURE__ */ jsx14("span", { children: label }),
3943
- status.since ? /* @__PURE__ */ jsx14(LiveElapsed, { since: status.since }) : null
4039
+ status.kind === "working" ? /* @__PURE__ */ jsx15(ShimmerText, { children: label }) : /* @__PURE__ */ jsx15("span", { children: label }),
4040
+ status.since ? /* @__PURE__ */ jsx15(LiveElapsed, { since: status.since }) : null
3944
4041
  ] });
3945
4042
  }
3946
4043
  function LiveElapsed({ since }) {
@@ -3952,7 +4049,7 @@ function LiveElapsed({ since }) {
3952
4049
  return () => clearInterval(timer);
3953
4050
  }, []);
3954
4051
  if (!Number.isFinite(startedAt)) return null;
3955
- return /* @__PURE__ */ jsx14("span", { className: "tabular-nums", children: ` \xB7 ${formatElapsed(t, Math.max(0, now - startedAt))}` });
4052
+ return /* @__PURE__ */ jsx15("span", { className: "tabular-nums", children: ` \xB7 ${formatElapsed(t, Math.max(0, now - startedAt))}` });
3956
4053
  }
3957
4054
  var FacetRenderBoundary = class extends Component2 {
3958
4055
  state = { failed: false };
@@ -3965,15 +4062,15 @@ var FacetRenderBoundary = class extends Component2 {
3965
4062
  };
3966
4063
 
3967
4064
  // src/timeline/learning-refusal-row.tsx
3968
- import { BrainCircuitIcon as BrainCircuitIcon4 } from "lucide-react";
4065
+ import { BrainCircuitIcon as BrainCircuitIcon5 } from "lucide-react";
3969
4066
  import { createContext as createContext12, useContext as useContext14 } from "react";
3970
- import { jsx as jsx15, jsxs as jsxs10 } from "react/jsx-runtime";
4067
+ import { jsx as jsx16, jsxs as jsxs10 } from "react/jsx-runtime";
3971
4068
  var LearningRefusalActionsContext = createContext12({});
3972
4069
  function LearningRefusalActionsProvider({
3973
4070
  children,
3974
4071
  ...actions
3975
4072
  }) {
3976
- return /* @__PURE__ */ jsx15(LearningRefusalActionsContext.Provider, { value: actions, children });
4073
+ return /* @__PURE__ */ jsx16(LearningRefusalActionsContext.Provider, { value: actions, children });
3977
4074
  }
3978
4075
  function LearningRefusalRow({ refusal }) {
3979
4076
  const t = useOpenGeniText();
@@ -3990,11 +4087,11 @@ function LearningRefusalRow({ refusal }) {
3990
4087
  role: "status",
3991
4088
  "data-og-learning-refusal": refusal.reason,
3992
4089
  children: [
3993
- /* @__PURE__ */ jsx15(BrainCircuitIcon4, { "aria-hidden": true, className: "mt-0.5 size-4 shrink-0 text-og-status-waiting" }),
4090
+ /* @__PURE__ */ jsx16(BrainCircuitIcon5, { "aria-hidden": true, className: "mt-0.5 size-4 shrink-0 text-og-status-waiting" }),
3994
4091
  /* @__PURE__ */ jsxs10("div", { className: "min-w-0 flex-1", children: [
3995
- /* @__PURE__ */ jsx15("p", { className: "font-medium", children: learningRefusalTitle(t, refusal) }),
3996
- /* @__PURE__ */ jsx15("p", { className: "mt-0.5 text-og-fg-muted", children: learningRefusalBody(t, refusal) }),
3997
- place && onOpen ? /* @__PURE__ */ jsx15(
4092
+ /* @__PURE__ */ jsx16("p", { className: "font-medium", children: learningRefusalTitle(t, refusal) }),
4093
+ /* @__PURE__ */ jsx16("p", { className: "mt-0.5 text-og-fg-muted", children: learningRefusalBody(t, refusal) }),
4094
+ place && onOpen ? /* @__PURE__ */ jsx16(
3998
4095
  "button",
3999
4096
  {
4000
4097
  type: "button",
@@ -4022,6 +4119,7 @@ export {
4022
4119
  KnowledgeActivityProvider,
4023
4120
  TimelineComputeLabelProvider,
4024
4121
  ProviderLogoProvider,
4122
+ ToolKindIcon,
4025
4123
  gitFileDiffToPatch,
4026
4124
  PierreDiff,
4027
4125
  defaultToolRegistry,
@@ -4050,4 +4148,4 @@ export {
4050
4148
  LearningRefusalActionsProvider,
4051
4149
  LearningRefusalRow
4052
4150
  };
4053
- //# sourceMappingURL=chunk-X7L4H4VG.js.map
4151
+ //# sourceMappingURL=chunk-F33EDYS7.js.map