@opengeni/react 4.2.1-canary.39642758903001 → 4.3.1

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 (693) hide show
  1. package/dist/app/app-state.js +27 -27
  2. package/dist/app/components/Composer.js +27 -26
  3. package/dist/app/components/agent/agent-capability-picker.js +5 -5
  4. package/dist/app/components/artifacts/artifact-library.js +19 -19
  5. package/dist/app/components/artifacts/chat-interactive-block.js +16 -16
  6. package/dist/app/components/artifacts/inline-chat-image.js +31 -30
  7. package/dist/app/components/artifacts/retained-file-preview.js +35 -34
  8. package/dist/app/components/artifacts/retained-text-preview.js +5 -5
  9. package/dist/app/components/artifacts/site-audience.js +5 -5
  10. package/dist/app/components/artifacts/site-conversations.js +24 -22
  11. package/dist/app/components/artifacts/site-data.js +20 -20
  12. package/dist/app/components/artifacts/site-publishing.js +39 -39
  13. package/dist/app/components/artifacts/site-settings.js +48 -48
  14. package/dist/app/components/billing-class-mark.js +5 -5
  15. package/dist/app/components/capabilities/capability-detail-sheet.js +9 -9
  16. package/dist/app/components/capabilities/capability-logo-source.js +13 -12
  17. package/dist/app/components/capabilities/connection-account-picker.js +2 -2
  18. package/dist/app/components/capabilities/connector-tool-permissions.js +5 -5
  19. package/dist/app/components/capabilities/native-connect-setup.js +14 -13
  20. package/dist/app/components/capabilities/native-connect-setup.js.map +1 -1
  21. package/dist/app/components/capabilities/perform-capability-action.js +3 -3
  22. package/dist/app/components/capabilities/prepared-mcp-setup-card.js +15 -14
  23. package/dist/app/components/capabilities/session-capability-card.js +78 -77
  24. package/dist/app/components/capabilities/session-capability-card.js.map +1 -1
  25. package/dist/app/components/capabilities/session-custom-mcp-card.js +20 -19
  26. package/dist/app/components/capabilities/session-github-card.js +25 -24
  27. package/dist/app/components/capabilities/session-machine-card.js +38 -38
  28. package/dist/app/components/capabilities/use-capabilities-catalog.js +3 -3
  29. package/dist/app/components/capabilities/use-connection-accounts.js +1 -1
  30. package/dist/app/components/command-menu/chat-switcher.d.ts +12 -0
  31. package/dist/app/components/command-menu/chat-switcher.js +142 -0
  32. package/dist/app/components/command-menu/chat-switcher.js.map +1 -0
  33. package/dist/app/components/command-menu/command-menu.d.ts +15 -0
  34. package/dist/app/components/command-menu/command-menu.js +812 -0
  35. package/dist/app/components/command-menu/command-menu.js.map +1 -0
  36. package/dist/app/components/command-menu/keycaps.d.ts +21 -0
  37. package/dist/app/components/command-menu/keycaps.js +12 -0
  38. package/dist/app/components/command-menu/shortcut-sheet.d.ts +12 -0
  39. package/dist/app/components/command-menu/shortcut-sheet.js +150 -0
  40. package/dist/app/components/command-menu/shortcut-sheet.js.map +1 -0
  41. package/dist/app/components/composer-capabilities-menu-body.js +3 -3
  42. package/dist/app/components/composer-mobile-plus-panel.js +21 -21
  43. package/dist/app/components/composer-mobile-plus.js +3 -3
  44. package/dist/app/components/credit-required-gate.js +1 -1
  45. package/dist/app/components/credit-required-prompt.js +16 -16
  46. package/dist/app/components/credits/coupon-redeem.js +2 -2
  47. package/dist/app/components/credits/credit-refusal-notice.d.ts +18 -0
  48. package/dist/app/components/credits/credit-refusal-notice.js +17 -0
  49. package/dist/app/components/cross-slot-deep-link-recovery.js +1 -1
  50. package/dist/app/components/desktop/app-shots.js +6 -6
  51. package/dist/app/components/desktop/this-computer.js +4 -4
  52. package/dist/app/components/feedback.js +5 -5
  53. package/dist/app/components/follow-up-repository-menu-body.js +7 -7
  54. package/dist/app/components/follow-up-repository-picker.js +3 -3
  55. package/dist/app/components/github-app-connect-launcher.js +1 -1
  56. package/dist/app/components/knowledge/agent-learning-settings.js +6 -6
  57. package/dist/app/components/machines/connect-machine-dialog.js +18 -18
  58. package/dist/app/components/manual-repository-editor.js +2 -2
  59. package/dist/app/components/markdown.js +10 -9
  60. package/dist/app/components/message-context-pills.js +2 -2
  61. package/dist/app/components/models/models-ui.js +10 -10
  62. package/dist/app/components/pickers.js +10 -10
  63. package/dist/app/components/rail/rail-context.d.ts +6 -0
  64. package/dist/app/components/rail/rail-context.js +3 -3
  65. package/dist/app/components/rail/rail-sections.js +61 -55
  66. package/dist/app/components/rail/session-browse-order-controls.js +2 -2
  67. package/dist/app/components/rail/session-header.js +50 -36
  68. package/dist/app/components/rail/session-list.js +59 -52
  69. package/dist/app/components/rail/session-row-hover-details.js +25 -23
  70. package/dist/app/components/rail/session-shell.js +96 -91
  71. package/dist/app/components/repository-picker.js +7 -7
  72. package/dist/app/components/secrets/session-secrets-panel.js +4 -4
  73. package/dist/app/components/session/agent-configuration-panel.js +34 -34
  74. package/dist/app/components/session/banners.js +12 -11
  75. package/dist/app/components/session/codex-account-indicator.js +12 -12
  76. package/dist/app/components/session/composer-menu-radio.js +2 -2
  77. package/dist/app/components/session/conversation-find.js +1 -1
  78. package/dist/app/components/session/editable-artifacts-workspace.js +45 -45
  79. package/dist/app/components/session/failed-session-banner.js +12 -12
  80. package/dist/app/components/session/human-input.js +48 -47
  81. package/dist/app/components/session/inspector.js +80 -79
  82. package/dist/app/components/session/inspector.js.map +1 -1
  83. package/dist/app/components/session/message-actions.js +5 -5
  84. package/dist/app/components/session/message-resource-attachments.js +21 -20
  85. package/dist/app/components/session/message-resource-attachments.js.map +1 -1
  86. package/dist/app/components/session/model-account-indicator.js +11 -11
  87. package/dist/app/components/session/model-context-inspector.js +2 -2
  88. package/dist/app/components/session/model-recovery-notice.js +3 -3
  89. package/dist/app/components/session/new-session-settings-menu.js +13 -13
  90. package/dist/app/components/session/sandbox-switcher.js +16 -16
  91. package/dist/app/components/session/sandbox-workspace.js +68 -67
  92. package/dist/app/components/session/search-markdown-highlight.js +11 -10
  93. package/dist/app/components/session/search-results-view.js +12 -11
  94. package/dist/app/components/session/session-admin-access.js +11 -11
  95. package/dist/app/components/session/session-retention.js +4 -4
  96. package/dist/app/components/session/session-search-dialog.d.ts +5 -0
  97. package/dist/app/components/session/session-search-dialog.js +22 -12
  98. package/dist/app/components/session/session-search-dialog.js.map +1 -1
  99. package/dist/app/components/session/session-skill-reviews.js +3 -3
  100. package/dist/app/components/session/session-tenancy-control.js +25 -25
  101. package/dist/app/components/session/session-usage-limit-section.js +9 -9
  102. package/dist/app/components/session/session-wait-status.js +11 -9
  103. package/dist/app/components/session/session-wait-status.js.map +1 -1
  104. package/dist/app/components/session/subagents.js +17 -15
  105. package/dist/app/components/session/subscription-account-menu.js +2 -2
  106. package/dist/app/components/session-connectors-menu-body.js +6 -6
  107. package/dist/app/components/settings/row-select.js +1 -1
  108. package/dist/app/components/transcription-settings.js +2 -2
  109. package/dist/app/components/ui/destructive-confirm.js +8 -8
  110. package/dist/app/components/usage/usage-entry.js +6 -6
  111. package/dist/app/components/workspace-composer-plus.js +22 -21
  112. package/dist/app/embed/session-app.js +264 -258
  113. package/dist/app/lib/actions/actions-provider.d.ts +30 -0
  114. package/dist/app/lib/actions/actions-provider.js +32 -0
  115. package/dist/app/lib/actions/chat-directory.d.ts +30 -0
  116. package/dist/app/lib/actions/chat-operations.d.ts +11 -0
  117. package/dist/app/lib/actions/chat-switcher.d.ts +31 -0
  118. package/dist/app/lib/actions/chords.d.ts +40 -0
  119. package/dist/app/lib/actions/events.d.ts +6 -0
  120. package/dist/app/lib/actions/rank.d.ts +17 -0
  121. package/dist/app/lib/actions/registry.d.ts +71 -0
  122. package/dist/app/lib/codex-usage-query.js +3 -3
  123. package/dist/app/lib/composer-connectors.js +14 -13
  124. package/dist/app/lib/console-text.js +2 -2
  125. package/dist/app/lib/credit-coverage.d.ts +21 -0
  126. package/dist/app/lib/credit-coverage.js +15 -0
  127. package/dist/app/lib/deployment-free-model.js +2 -2
  128. package/dist/app/lib/events.js +19 -18
  129. package/dist/app/lib/failed-session-copy.js +5 -5
  130. package/dist/app/lib/free-credit-gap.d.ts +9 -0
  131. package/dist/app/lib/free-credit-gap.js +4 -2
  132. package/dist/app/lib/integration-connect-analytics.d.ts +1 -1
  133. package/dist/app/lib/integration-connect-analytics.js +1 -1
  134. package/dist/app/lib/integration-connect-redirect.js +1 -1
  135. package/dist/app/lib/model-access-onboarding.js +4 -4
  136. package/dist/app/lib/model-policy.js +1 -1
  137. package/dist/app/lib/models-route.d.ts +6 -2
  138. package/dist/app/lib/models-route.js +6 -3
  139. package/dist/app/lib/models-route.js.map +1 -1
  140. package/dist/app/lib/move-chat-to-machine.js +3 -3
  141. package/dist/app/lib/session-branch-cache.js +15 -13
  142. package/dist/app/lib/session-create.js +2 -2
  143. package/dist/app/lib/session-group-pagination.js +15 -13
  144. package/dist/app/lib/session-hover-facts.js +16 -14
  145. package/dist/app/lib/session-model.js +3 -3
  146. package/dist/app/lib/session-rail.js +11 -9
  147. package/dist/app/lib/session-rename.js +3 -3
  148. package/dist/app/lib/session-search-route.d.ts +1 -1
  149. package/dist/app/lib/session-search-route.js +1 -1
  150. package/dist/app/lib/session-ui-features.d.ts +11 -3
  151. package/dist/app/lib/session-ui-features.js +1 -1
  152. package/dist/app/lib/sessions-group.js +15 -13
  153. package/dist/app/lib/turn-failure-analytics.js +7 -7
  154. package/dist/app/lib/unavailable-session-model.js +2 -2
  155. package/dist/app/lib/use-duplicate-site.js +2 -2
  156. package/dist/app/lib/use-follow-up-repositories.js +3 -3
  157. package/dist/app/lib/use-workspace-machines.js +8 -8
  158. package/dist/app/lib/use-workspace-model-catalog.js +6 -6
  159. package/dist/app/lib/use-workspace-rigs.js +4 -4
  160. package/dist/app/lib/workspace-navigation-preference.js +5 -5
  161. package/dist/app/lib/workspace-scope-context.js +4 -4
  162. package/dist/app/routes/artifacts.js +124 -122
  163. package/dist/app/routes/artifacts.js.map +1 -1
  164. package/dist/app/routes/retained-artifact.js +69 -68
  165. package/dist/app/routes/retained-artifact.js.map +1 -1
  166. package/dist/app/routes/session-unavailable.js +3 -3
  167. package/dist/app/routes/session.js +168 -166
  168. package/dist/app/routes/sessions-index-hydration.js +3 -3
  169. package/dist/app/routes/sessions-index.js +122 -116
  170. package/dist/artifacts-document.js +4 -4
  171. package/dist/artifacts-presentation.js +4 -4
  172. package/dist/artifacts-spreadsheet.js +4 -4
  173. package/dist/artifacts.js +39 -39
  174. package/dist/{browser-viewer-ZRFZX3VN.js → browser-viewer-HPUMK7UP.js} +7 -7
  175. package/dist/{chat-interactive-block-HUMYWVCK.js → chat-interactive-block-22PPECCT.js} +6 -6
  176. package/dist/{chunk-GVIQ7H62.js → chunk-2LUBBDZV.js} +5 -5
  177. package/dist/{chunk-SWWYYGQO.js → chunk-325C2TCI.js} +5 -2
  178. package/dist/chunk-325C2TCI.js.map +1 -0
  179. package/dist/{chunk-XMMVIY7B.js → chunk-3CCJWHQY.js} +2 -2
  180. package/dist/{chunk-XS2FZ6DX.js → chunk-3F5ZPIWI.js} +2 -2
  181. package/dist/{chunk-72US6QNB.js → chunk-3J2YZRY5.js} +2 -2
  182. package/dist/{chunk-D4YQF4E3.js → chunk-3SMJ2BIQ.js} +2 -2
  183. package/dist/{chunk-TBJINQXA.js → chunk-3WCYK36X.js} +17 -17
  184. package/dist/{chunk-WPCF34V6.js → chunk-3WG3CRL7.js} +14 -14
  185. package/dist/{chunk-JI5BYQKO.js → chunk-3X46PNBX.js} +14 -14
  186. package/dist/{chunk-UO36FC3S.js → chunk-46I7MMAL.js} +6 -2
  187. package/dist/chunk-46I7MMAL.js.map +1 -0
  188. package/dist/{chunk-PBK44WJC.js → chunk-4GJ37O6G.js} +2 -2
  189. package/dist/chunk-4IWBQUQU.js +152 -0
  190. package/dist/chunk-4IWBQUQU.js.map +1 -0
  191. package/dist/{chunk-LEXPBQ56.js → chunk-4SKJX3C4.js} +6 -6
  192. package/dist/{chunk-ZA6YD2LW.js → chunk-57SYK776.js} +2 -2
  193. package/dist/{chunk-22LBKJDE.js → chunk-5DIAN5GQ.js} +12 -12
  194. package/dist/{chunk-LJ3TDK2L.js → chunk-5FA455GR.js} +4 -4
  195. package/dist/{chunk-N2BEUKXT.js → chunk-5FBZDEHE.js} +228 -228
  196. package/dist/chunk-5FBZDEHE.js.map +1 -0
  197. package/dist/{chunk-YPR5INHV.js → chunk-5X3E2Z3D.js} +4 -4
  198. package/dist/{chunk-OXNWZTEU.js → chunk-5ZJCL6X4.js} +5 -5
  199. package/dist/{chunk-62OAZ4LO.js → chunk-6C5GQQMC.js} +12 -12
  200. package/dist/{chunk-VGITH57T.js → chunk-6ERTXDZM.js} +4 -4
  201. package/dist/{chunk-ZQ7XQZCF.js → chunk-6FX73Y4I.js} +8 -8
  202. package/dist/{chunk-QZO2KK2F.js → chunk-6P44NG6Y.js} +2 -2
  203. package/dist/{chunk-N2DDJLTM.js → chunk-6T7Y33JA.js} +3 -3
  204. package/dist/{chunk-RBAGC2MJ.js → chunk-75VE5QUS.js} +22 -22
  205. package/dist/{chunk-MRXOGI3O.js → chunk-77CUDSHG.js} +9 -9
  206. package/dist/{chunk-F2GXK2Z6.js → chunk-7G446JFO.js} +431 -348
  207. package/dist/chunk-7G446JFO.js.map +1 -0
  208. package/dist/{chunk-GZ65XQR5.js → chunk-7T7FHSGS.js} +3 -3
  209. package/dist/{chunk-YGAH34CD.js → chunk-A3S26JSP.js} +8 -8
  210. package/dist/{chunk-GYPAO6RS.js → chunk-A664GSDM.js} +8 -8
  211. package/dist/{chunk-JSZSNMDR.js → chunk-ASUYLXKO.js} +2 -2
  212. package/dist/{chunk-RTK7SUPL.js → chunk-AUUJLVA3.js} +7 -7
  213. package/dist/{chunk-OOTBYSCA.js → chunk-BBWKPNJB.js} +5 -5
  214. package/dist/{chunk-BGZIMIUU.js → chunk-BCUYWOQU.js} +2 -2
  215. package/dist/{chunk-EKN4N4LS.js → chunk-BDFMNJZJ.js} +2 -2
  216. package/dist/{chunk-YZKGOWCC.js → chunk-BIDXQAGO.js} +2 -2
  217. package/dist/{chunk-Q2UUANHF.js → chunk-BIKAJ4DY.js} +5 -5
  218. package/dist/{chunk-5IQBF2X3.js → chunk-BJPJ2OUX.js} +3 -3
  219. package/dist/{chunk-EY2EMHZW.js → chunk-BPM2OTYK.js} +8 -8
  220. package/dist/{chunk-MT4TBRQB.js → chunk-BSWS2RUZ.js} +2 -2
  221. package/dist/{chunk-T7YD3VGK.js → chunk-C52MNKXU.js} +12 -12
  222. package/dist/{chunk-THNW33K7.js → chunk-CEUDV4OA.js} +18 -18
  223. package/dist/{chunk-GRLPRM56.js → chunk-CFEFYPNR.js} +8 -2
  224. package/dist/chunk-CFEFYPNR.js.map +1 -0
  225. package/dist/{chunk-LHGIS6SZ.js → chunk-CVK74BH7.js} +2 -2
  226. package/dist/{chunk-DFO2UCYG.js → chunk-CW5I65ZX.js} +11 -11
  227. package/dist/chunk-DKNTQDVL.js +86 -0
  228. package/dist/chunk-DKNTQDVL.js.map +1 -0
  229. package/dist/{chunk-SKRLKQEG.js → chunk-DOSC2HRQ.js} +79 -79
  230. package/dist/{chunk-KVB6XDLP.js → chunk-DPJ2CWVN.js} +2 -2
  231. package/dist/{chunk-4J6V4DH7.js → chunk-DXMRO2MU.js} +3 -3
  232. package/dist/{chunk-42I4O4WQ.js → chunk-EE55IDDR.js} +26 -26
  233. package/dist/{chunk-2RA6XABP.js → chunk-EEERTLFF.js} +12 -12
  234. package/dist/{chunk-PTOTKUKO.js → chunk-EEO744XR.js} +8 -8
  235. package/dist/{chunk-LD3HVI2J.js → chunk-EMFGBAQL.js} +6 -6
  236. package/dist/{chunk-FQGUK4ST.js → chunk-ENPJKVMN.js} +38 -38
  237. package/dist/{chunk-HDHK3SXK.js → chunk-EU6RLHMP.js} +4 -4
  238. package/dist/{chunk-G7VLL3PG.js → chunk-F2YABPRJ.js} +13 -4
  239. package/dist/chunk-F2YABPRJ.js.map +1 -0
  240. package/dist/{chunk-MRUWRQBX.js → chunk-FET6XHGS.js} +2 -2
  241. package/dist/{chunk-M6KUY3YH.js → chunk-FIICQA55.js} +2 -2
  242. package/dist/{chunk-NLWLCYCT.js → chunk-FTZXCPE3.js} +19 -19
  243. package/dist/{chunk-FN2KA3MJ.js → chunk-FUS76DO4.js} +3 -3
  244. package/dist/{chunk-AM4IIPWI.js → chunk-G7N5NPRJ.js} +2 -2
  245. package/dist/{chunk-CCQ7YKOD.js → chunk-GBYZ6653.js} +2 -2
  246. package/dist/{chunk-SOOWLNC5.js → chunk-GJUPLSC5.js} +330 -109
  247. package/dist/chunk-GJUPLSC5.js.map +1 -0
  248. package/dist/{chunk-YKKVIJVX.js → chunk-GQDSC6QZ.js} +5 -5
  249. package/dist/chunk-GQGNRL2L.js +53 -0
  250. package/dist/chunk-GQGNRL2L.js.map +1 -0
  251. package/dist/{chunk-5X6JP75Q.js → chunk-GRSODLVO.js} +4 -4
  252. package/dist/{chunk-73YP3R5X.js → chunk-GSESCQFY.js} +4 -4
  253. package/dist/{chunk-KWB5U3ZT.js → chunk-GWRW4N3T.js} +199 -137
  254. package/dist/chunk-GWRW4N3T.js.map +1 -0
  255. package/dist/{chunk-RTR7RNG4.js → chunk-GYRU4PNM.js} +9 -7
  256. package/dist/{chunk-RTR7RNG4.js.map → chunk-GYRU4PNM.js.map} +1 -1
  257. package/dist/{chunk-MZLEBFUZ.js → chunk-GZD6VBIK.js} +3 -3
  258. package/dist/{chunk-IZR2QRFF.js → chunk-H3HH5AHS.js} +4 -4
  259. package/dist/{chunk-DN3TKURW.js → chunk-H3LIIAGE.js} +4 -54
  260. package/dist/chunk-H3LIIAGE.js.map +1 -0
  261. package/dist/{chunk-NPLEQMNM.js → chunk-H5GWAG4I.js} +7 -5
  262. package/dist/{chunk-NPLEQMNM.js.map → chunk-H5GWAG4I.js.map} +1 -1
  263. package/dist/{chunk-OJPUVUB6.js → chunk-HAOZCLLA.js} +3 -3
  264. package/dist/{chunk-ZBHDGAYL.js → chunk-HEFE4OZJ.js} +2 -2
  265. package/dist/{chunk-WTG34JVA.js → chunk-HI75UTI6.js} +2 -2
  266. package/dist/{chunk-OMBIG3NC.js → chunk-HM633ROV.js} +14 -14
  267. package/dist/{chunk-WDFZWSKD.js → chunk-HRIP4M6H.js} +3 -3
  268. package/dist/{chunk-A2BCW6CQ.js → chunk-HU2DRFFI.js} +3 -3
  269. package/dist/{chunk-PO35PBAB.js → chunk-HVH7FFJH.js} +2 -2
  270. package/dist/{chunk-EG7KNUF7.js → chunk-HYTXTKST.js} +18 -18
  271. package/dist/{chunk-TFHG75A4.js → chunk-I4XMDFUJ.js} +7 -7
  272. package/dist/{chunk-IZHVZZQA.js → chunk-ICAUYWSL.js} +9 -9
  273. package/dist/{chunk-ZSERYHHT.js → chunk-IDMXEPHL.js} +150 -150
  274. package/dist/chunk-IDMXEPHL.js.map +1 -0
  275. package/dist/{chunk-DCLPWYP3.js → chunk-IEVPJ3G6.js} +2 -2
  276. package/dist/{chunk-EVWZHDSF.js → chunk-IKH3VTA4.js} +2 -2
  277. package/dist/{chunk-L5UCO2UV.js → chunk-ILBSBZGC.js} +13 -4
  278. package/dist/chunk-ILBSBZGC.js.map +1 -0
  279. package/dist/{chunk-IO6K6UYJ.js → chunk-IQ64BNAG.js} +4 -2
  280. package/dist/chunk-IQ64BNAG.js.map +1 -0
  281. package/dist/{chunk-TYHLEFD2.js → chunk-IZJNMRIR.js} +9 -9
  282. package/dist/{chunk-D2SR3TEB.js → chunk-J243WGUA.js} +2 -2
  283. package/dist/{chunk-QGSGIYE3.js → chunk-J2C6LB6W.js} +4 -4
  284. package/dist/{chunk-MT6TRTXF.js → chunk-J5MEDX7C.js} +9 -9
  285. package/dist/{chunk-6QHUKBJP.js → chunk-J7SKOO44.js} +2 -2
  286. package/dist/{chunk-W2QK7PYS.js → chunk-JAAST75A.js} +11 -11
  287. package/dist/{chunk-NQCMS4AJ.js → chunk-JQCGPTZ6.js} +9 -9
  288. package/dist/chunk-JRJUSKDY.js +832 -0
  289. package/dist/chunk-JRJUSKDY.js.map +1 -0
  290. package/dist/{chunk-CMUXJHGH.js → chunk-JRSCWQMC.js} +9 -9
  291. package/dist/{chunk-Q4OHNGGB.js → chunk-JRXHSVD5.js} +4 -4
  292. package/dist/{chunk-SD2K5ZN5.js → chunk-JXYLDT6X.js} +4 -4
  293. package/dist/{chunk-S3M5WCZW.js → chunk-KA4LV7G6.js} +35 -50
  294. package/dist/chunk-KA4LV7G6.js.map +1 -0
  295. package/dist/{chunk-IXX6ZOL2.js → chunk-KGTMHEAP.js} +7 -7
  296. package/dist/{chunk-22OBGVEJ.js → chunk-KOXVGPW4.js} +3 -3
  297. package/dist/{chunk-NOZ5CGZE.js → chunk-L5GPPMUB.js} +2 -2
  298. package/dist/{chunk-KIHYJM5F.js → chunk-LXJT4WAW.js} +58 -58
  299. package/dist/{chunk-KIHYJM5F.js.map → chunk-LXJT4WAW.js.map} +1 -1
  300. package/dist/{chunk-4FOOHMTU.js → chunk-LY6727IF.js} +1 -1
  301. package/dist/{chunk-PT7MTXRE.js → chunk-MAOCN7J6.js} +2 -2
  302. package/dist/{chunk-4K2JSJNX.js → chunk-MB5LZVDO.js} +2 -2
  303. package/dist/chunk-MF464AKA.js +139 -0
  304. package/dist/chunk-MF464AKA.js.map +1 -0
  305. package/dist/{chunk-UYSZKDQY.js → chunk-MK54JLE4.js} +1 -1
  306. package/dist/chunk-MK54JLE4.js.map +1 -0
  307. package/dist/{chunk-5LES64PP.js → chunk-MKOQAVOE.js} +21 -21
  308. package/dist/{chunk-BMV2SNYX.js → chunk-MUPWNSEJ.js} +18 -18
  309. package/dist/{chunk-Y5TRG22C.js → chunk-NRXIECWC.js} +2 -2
  310. package/dist/{chunk-GOE7G5JX.js → chunk-NWSAF6P5.js} +2 -2
  311. package/dist/chunk-OB3YGXHQ.js +158 -0
  312. package/dist/chunk-OB3YGXHQ.js.map +1 -0
  313. package/dist/{chunk-DUM363VS.js → chunk-OFZQJNF6.js} +5 -5
  314. package/dist/{chunk-CKN5QPEL.js → chunk-OMF7POEY.js} +2 -2
  315. package/dist/{chunk-MVXKO2BD.js → chunk-OXD6ET34.js} +1 -1
  316. package/dist/{chunk-47JUEVME.js → chunk-PALX6HWV.js} +21 -21
  317. package/dist/{chunk-B6OGSG7I.js → chunk-PE3BLBDT.js} +3 -3
  318. package/dist/{chunk-RVISSNVE.js → chunk-PMZKJOG6.js} +15 -15
  319. package/dist/{chunk-CESAMXWX.js → chunk-PQUTMG3S.js} +2 -2
  320. package/dist/{chunk-7VFCOKPG.js → chunk-PWBGODZU.js} +3 -3
  321. package/dist/{chunk-MOPAXD2H.js → chunk-QCADUTYX.js} +2 -2
  322. package/dist/{chunk-CT5FBO7E.js → chunk-RPOUJI25.js} +1 -1
  323. package/dist/{chunk-VE3FKXJ7.js → chunk-RUSXEE7X.js} +35 -32
  324. package/dist/chunk-RUSXEE7X.js.map +1 -0
  325. package/dist/{chunk-WKHYOS72.js → chunk-RW4GFE56.js} +3 -3
  326. package/dist/{chunk-FH4GO7HO.js → chunk-RYLVVDR7.js} +1 -1
  327. package/dist/{chunk-QZRDCFHI.js → chunk-S66SBBFQ.js} +5 -5
  328. package/dist/{chunk-CQJFIPAH.js → chunk-S7TNV2I7.js} +14 -14
  329. package/dist/{chunk-ZBQSIGGR.js → chunk-SC773IMJ.js} +13 -13
  330. package/dist/{chunk-RZV7SXED.js → chunk-SF3M27AN.js} +37 -12
  331. package/dist/chunk-SF3M27AN.js.map +1 -0
  332. package/dist/{chunk-FBJ2HK7A.js → chunk-SGPJ3YS2.js} +20 -20
  333. package/dist/{chunk-A2EWJQXX.js → chunk-SM5QX6UK.js} +4 -4
  334. package/dist/chunk-SWCLN6JE.js +40 -0
  335. package/dist/chunk-SWCLN6JE.js.map +1 -0
  336. package/dist/{chunk-OS3EQOIS.js → chunk-T4F5TW2X.js} +29 -24
  337. package/dist/chunk-T4F5TW2X.js.map +1 -0
  338. package/dist/{chunk-RKZWCTXV.js → chunk-TAEKDMEF.js} +2 -2
  339. package/dist/{chunk-6AVCAUGL.js → chunk-TASEV25T.js} +3 -3
  340. package/dist/{chunk-3XOISKZC.js → chunk-TLGDPMUX.js} +6 -6
  341. package/dist/{chunk-MOF3XSUM.js → chunk-TREHTIBD.js} +3 -2
  342. package/dist/chunk-TREHTIBD.js.map +1 -0
  343. package/dist/{chunk-HUQHJSPV.js → chunk-TTPXGD5S.js} +68 -33
  344. package/dist/chunk-TTPXGD5S.js.map +1 -0
  345. package/dist/{chunk-NFCYIZHX.js → chunk-TXIIBNCA.js} +7 -3
  346. package/dist/{chunk-NFCYIZHX.js.map → chunk-TXIIBNCA.js.map} +1 -1
  347. package/dist/{chunk-5IUW34PG.js → chunk-TY3QYPJ6.js} +7 -7
  348. package/dist/{chunk-VQFR4EU4.js → chunk-U3JK5VJV.js} +2 -2
  349. package/dist/{chunk-2AWMJO54.js → chunk-U42P3RMZ.js} +5 -5
  350. package/dist/{chunk-2RIUMV7S.js → chunk-UBIJBLUK.js} +234 -234
  351. package/dist/chunk-UBIJBLUK.js.map +1 -0
  352. package/dist/{chunk-GUU75DES.js → chunk-UEJTOPLW.js} +8 -8
  353. package/dist/{chunk-QWCTYLMD.js → chunk-URDONAEJ.js} +240 -204
  354. package/dist/chunk-URDONAEJ.js.map +1 -0
  355. package/dist/{chunk-OZOEWLGR.js → chunk-UT6JAORE.js} +4 -4
  356. package/dist/{chunk-5TELOQA6.js → chunk-UTHPUINA.js} +3 -3
  357. package/dist/{chunk-SOV7DTTU.js → chunk-V6HZ2HJZ.js} +67 -67
  358. package/dist/{chunk-SOV7DTTU.js.map → chunk-V6HZ2HJZ.js.map} +1 -1
  359. package/dist/{chunk-26RQ6JBR.js → chunk-VBVCNH6D.js} +5 -5
  360. package/dist/{chunk-P646DND6.js → chunk-VCMQPCME.js} +2 -2
  361. package/dist/{chunk-LV7FMIMM.js → chunk-VGUHAHHV.js} +2 -2
  362. package/dist/{chunk-GYVXARCY.js → chunk-VIBPFVU4.js} +41 -41
  363. package/dist/{chunk-KHPOKZ6Z.js → chunk-VMAC66JX.js} +6 -6
  364. package/dist/{chunk-SHKRS6I5.js → chunk-VRPNETPK.js} +3 -3
  365. package/dist/{chunk-6U4J6RVS.js → chunk-WCHW4XN7.js} +14 -14
  366. package/dist/{chunk-CJH6QUQJ.js → chunk-WD3UXNJV.js} +3 -3
  367. package/dist/{chunk-H5EVWF6L.js → chunk-WR67FJMX.js} +4 -4
  368. package/dist/{chunk-XLIJ36RG.js → chunk-WRMQ7EX4.js} +5 -5
  369. package/dist/{chunk-VVFWOBAM.js → chunk-WTJUKYB2.js} +15 -16
  370. package/dist/chunk-WTJUKYB2.js.map +1 -0
  371. package/dist/{chunk-7KLCFJ5G.js → chunk-X4PPGXQG.js} +2 -2
  372. package/dist/{chunk-ZE2JTVCQ.js → chunk-X5BMQXFD.js} +11 -11
  373. package/dist/{chunk-OYJY4Y4A.js → chunk-XFNLU7EW.js} +14 -7
  374. package/dist/chunk-XFNLU7EW.js.map +1 -0
  375. package/dist/{chunk-UECU6LZI.js → chunk-XXRBOSWV.js} +3 -3
  376. package/dist/{chunk-SPKAIDWX.js → chunk-XZEFCPBL.js} +2 -2
  377. package/dist/{chunk-EZ5NYRHK.js → chunk-YL6N7QLA.js} +5 -5
  378. package/dist/{chunk-Q2ZJOECN.js → chunk-YMVTIV5L.js} +19 -19
  379. package/dist/chunk-YMVTIV5L.js.map +1 -0
  380. package/dist/{chunk-VAIESMPY.js → chunk-YVBHGMKC.js} +4 -4
  381. package/dist/{chunk-AR62NQXE.js → chunk-Z2S5VQG7.js} +2 -2
  382. package/dist/{chunk-2MXUB3ZO.js → chunk-Z5OGTWMZ.js} +15 -2
  383. package/dist/chunk-Z5OGTWMZ.js.map +1 -0
  384. package/dist/{chunk-7UQJEADK.js → chunk-ZL2O4BYP.js} +2 -2
  385. package/dist/{chunk-FOOITLHR.js → chunk-ZZHBT5WQ.js} +2 -2
  386. package/dist/{chunk-X6VJQJYY.js → chunk-ZZWHKC6A.js} +3 -3
  387. package/dist/components/timeline-annotation-shared.d.ts +1 -9
  388. package/dist/composer-messages.js +2 -2
  389. package/dist/composer.js +15 -15
  390. package/dist/{computer-viewer-D4NHQB5D.js → computer-viewer-S6TE6TN7.js} +8 -8
  391. package/dist/connect.js +12 -11
  392. package/dist/desktop.js +2 -2
  393. package/dist/editor.js +2 -2
  394. package/dist/{embedded-new-voice-X4ZW6SY4.js → embedded-new-voice-ZDZPGX25.js} +8 -8
  395. package/dist/{embedded-voice-4OD6Z3HU.js → embedded-voice-FKCUXSJO.js} +8 -8
  396. package/dist/{fleet-decision-row-5UCJXTDP.js → fleet-decision-row-VCGWYJAV.js} +2 -2
  397. package/dist/hooks/page-wake.d.ts +21 -0
  398. package/dist/hooks/use-session-events.d.ts +1 -0
  399. package/dist/index.js +206 -205
  400. package/dist/interaction.js +9 -9
  401. package/dist/{latest-question-VGVNUGAU.js → latest-question-SINEV4U6.js} +3 -3
  402. package/dist/lib/format.d.ts +3 -2
  403. package/dist/machines.js +6 -6
  404. package/dist/messages/en.d.ts +12 -3
  405. package/dist/messages.js +1 -1
  406. package/dist/model-picker-model.js +2 -2
  407. package/dist/{model-policy-picker-menu-XOPYY6YA.js → model-policy-picker-menu-66JPM3G5.js} +6 -6
  408. package/dist/model-policy-picker-menu-66JPM3G5.js.map +1 -0
  409. package/dist/model-policy.js +1 -1
  410. package/dist/native-previews.js +3 -3
  411. package/dist/{platform-activity-row-56XOVTRA.js → platform-activity-row-LU5WABI2.js} +2 -2
  412. package/dist/{queue-surface-implementation-OZDOBJ6W.js → queue-surface-implementation-Y4OUVS7N.js} +8 -7
  413. package/dist/{queue-surface-implementation-OZDOBJ6W.js.map → queue-surface-implementation-Y4OUVS7N.js.map} +1 -1
  414. package/dist/realtime.js +7 -7
  415. package/dist/{sandbox-files-LJCR437H.js → sandbox-files-NBIVKVCZ.js} +11 -11
  416. package/dist/sandbox-files-NBIVKVCZ.js.map +1 -0
  417. package/dist/session-app.js +266 -260
  418. package/dist/session-list-model.js +3 -3
  419. package/dist/{session-realtime-UISLBZ4A.js → session-realtime-3PALSNMJ.js} +3 -3
  420. package/dist/session-realtime-3PALSNMJ.js.map +1 -0
  421. package/dist/session-realtime.js +2 -2
  422. package/dist/session-ui.js +62 -61
  423. package/dist/session.d.ts +1 -1
  424. package/dist/session.js +17 -17
  425. package/dist/sites.js +2 -2
  426. package/dist/terminal.js +2 -2
  427. package/dist/this-computer.js +3 -3
  428. package/dist/timeline/annotation-model.d.ts +48 -0
  429. package/dist/{timeline-annotation-markers-ACT7XRMW.js → timeline-annotation-markers-6526H2NM.js} +11 -9
  430. package/dist/{timeline-annotation-markers-ACT7XRMW.js.map → timeline-annotation-markers-6526H2NM.js.map} +1 -1
  431. package/dist/{timeline-annotation-selection-2IA7T5VR.js → timeline-annotation-selection-KV5SM6TA.js} +16 -62
  432. package/dist/timeline-annotation-selection-KV5SM6TA.js.map +1 -0
  433. package/dist/{timeline-annotations-dialog-W5B2HMYY.js → timeline-annotations-dialog-7CDHWC7Y.js} +12 -10
  434. package/dist/{timeline-annotations-dialog-W5B2HMYY.js.map → timeline-annotations-dialog-7CDHWC7Y.js.map} +1 -1
  435. package/dist/timeline-model.d.ts +3 -0
  436. package/dist/timeline-model.js +40 -14
  437. package/dist/ui/access-list.js +24 -24
  438. package/dist/ui/choice-cards.js +2 -2
  439. package/dist/ui/composer-menu-action.js +2 -2
  440. package/dist/ui/context-menu.d.ts +3 -1
  441. package/dist/ui/context-menu.js +3 -1
  442. package/dist/ui/detail-page.js +3 -3
  443. package/dist/ui/detail-sheet.js +3 -3
  444. package/dist/ui/diff-view.js +3 -3
  445. package/dist/ui/disclosure.js +5 -5
  446. package/dist/ui/dropdown-menu.js +1 -1
  447. package/dist/ui/flush-form-page.js +5 -5
  448. package/dist/ui/form-dialog.js +4 -4
  449. package/dist/ui/list-row.js +5 -5
  450. package/dist/ui/load-failure.js +3 -3
  451. package/dist/ui/page-actions.js +3 -3
  452. package/dist/ui/revision-history.js +11 -11
  453. package/dist/ui/role-select.js +8 -8
  454. package/dist/ui/segmented-control.js +1 -1
  455. package/dist/ui/settings-nav.js +3 -3
  456. package/dist/ui/toolbar.js +3 -3
  457. package/dist/usage.js +2 -2
  458. package/dist/workbench.js +11 -11
  459. package/package.json +4 -4
  460. package/src/app/app-state.tsx +2 -1
  461. package/src/app/components/command-menu/chat-switcher.tsx +135 -0
  462. package/src/app/components/command-menu/command-menu.tsx +840 -0
  463. package/src/app/components/command-menu/keycaps.tsx +56 -0
  464. package/src/app/components/command-menu/shortcut-sheet.tsx +155 -0
  465. package/src/app/components/credits/credit-refusal-notice.test.tsx +132 -0
  466. package/src/app/components/credits/credit-refusal-notice.tsx +92 -0
  467. package/src/app/components/rail/rail-context.tsx +28 -5
  468. package/src/app/components/rail/rail-sections.tsx +3 -5
  469. package/src/app/components/rail/session-header-mute.test.tsx +23 -1
  470. package/src/app/components/rail/session-header.test.tsx +21 -2
  471. package/src/app/components/rail/session-header.tsx +31 -1
  472. package/src/app/components/rail/session-list.tsx +89 -16
  473. package/src/app/components/rail/session-shell.tsx +0 -14
  474. package/src/app/components/session/session-search-dialog.tsx +12 -1
  475. package/src/app/embed/session-app.tsx +6 -3
  476. package/src/app/lib/actions/actions-provider.tsx +486 -0
  477. package/src/app/lib/actions/actions.test.ts +249 -0
  478. package/src/app/lib/actions/chat-directory.ts +231 -0
  479. package/src/app/lib/actions/chat-operations.ts +145 -0
  480. package/src/app/lib/actions/chat-switcher.ts +62 -0
  481. package/src/app/lib/actions/chords.ts +185 -0
  482. package/src/app/lib/actions/events.ts +10 -0
  483. package/src/app/lib/actions/rank.ts +119 -0
  484. package/src/app/lib/actions/registry.ts +333 -0
  485. package/src/app/lib/credit-coverage.test.ts +83 -0
  486. package/src/app/lib/credit-coverage.tsx +48 -0
  487. package/src/app/lib/free-credit-gap.test.ts +32 -1
  488. package/src/app/lib/free-credit-gap.tsx +32 -2
  489. package/src/app/lib/integration-connect-analytics.test.ts +1 -0
  490. package/src/app/lib/integration-connect-analytics.tsx +4 -0
  491. package/src/app/lib/models-route.test.ts +18 -0
  492. package/src/app/lib/models-route.tsx +26 -4
  493. package/src/app/lib/session-search-route.tsx +6 -1
  494. package/src/app/lib/session-ui-features.tsx +28 -9
  495. package/src/app/routes/session.tsx +74 -16
  496. package/src/app/routes/sessions-index.tsx +83 -4
  497. package/src/components/timeline-annotation-selection.tsx +9 -64
  498. package/src/components/timeline-annotation-shared.ts +9 -57
  499. package/src/hooks/page-wake.ts +80 -0
  500. package/src/hooks/use-session-events.ts +309 -81
  501. package/src/lib/format.ts +3 -2
  502. package/src/messages/en.ts +13 -3
  503. package/src/model-picker-model.ts +3 -0
  504. package/src/model-policy.ts +9 -1
  505. package/src/session.ts +1 -0
  506. package/src/timeline/annotation-model.ts +217 -0
  507. package/src/timeline/projection.ts +27 -21
  508. package/src/timeline-model.ts +14 -0
  509. package/src/ui/context-menu.tsx +16 -0
  510. package/src/ui/dropdown-menu.tsx +4 -1
  511. package/src/ui/segmented-control.tsx +3 -0
  512. package/styles/compiled.css +92 -0
  513. package/dist/app/lib/keyboard-shortcuts.d.ts +0 -51
  514. package/dist/app/lib/keyboard-shortcuts.js +0 -16
  515. package/dist/chunk-2MXUB3ZO.js.map +0 -1
  516. package/dist/chunk-2RIUMV7S.js.map +0 -1
  517. package/dist/chunk-53IXIUYP.js +0 -39
  518. package/dist/chunk-53IXIUYP.js.map +0 -1
  519. package/dist/chunk-DN3TKURW.js.map +0 -1
  520. package/dist/chunk-F2GXK2Z6.js.map +0 -1
  521. package/dist/chunk-G7VLL3PG.js.map +0 -1
  522. package/dist/chunk-GRLPRM56.js.map +0 -1
  523. package/dist/chunk-HUQHJSPV.js.map +0 -1
  524. package/dist/chunk-IO6K6UYJ.js.map +0 -1
  525. package/dist/chunk-KWB5U3ZT.js.map +0 -1
  526. package/dist/chunk-L5UCO2UV.js.map +0 -1
  527. package/dist/chunk-MOF3XSUM.js.map +0 -1
  528. package/dist/chunk-N2BEUKXT.js.map +0 -1
  529. package/dist/chunk-OS3EQOIS.js.map +0 -1
  530. package/dist/chunk-OYJY4Y4A.js.map +0 -1
  531. package/dist/chunk-Q2ZJOECN.js.map +0 -1
  532. package/dist/chunk-QWCTYLMD.js.map +0 -1
  533. package/dist/chunk-RZV7SXED.js.map +0 -1
  534. package/dist/chunk-S3M5WCZW.js.map +0 -1
  535. package/dist/chunk-SOOWLNC5.js.map +0 -1
  536. package/dist/chunk-SWWYYGQO.js.map +0 -1
  537. package/dist/chunk-UO36FC3S.js.map +0 -1
  538. package/dist/chunk-UYSZKDQY.js.map +0 -1
  539. package/dist/chunk-VE3FKXJ7.js.map +0 -1
  540. package/dist/chunk-VVFWOBAM.js.map +0 -1
  541. package/dist/chunk-ZSERYHHT.js.map +0 -1
  542. package/dist/timeline-annotation-selection-2IA7T5VR.js.map +0 -1
  543. package/src/app/lib/keyboard-shortcuts.test.ts +0 -47
  544. package/src/app/lib/keyboard-shortcuts.tsx +0 -58
  545. /package/dist/app/{lib/keyboard-shortcuts.js.map → components/command-menu/keycaps.js.map} +0 -0
  546. /package/dist/{browser-viewer-ZRFZX3VN.js.map → app/components/credits/credit-refusal-notice.js.map} +0 -0
  547. /package/dist/{chat-interactive-block-HUMYWVCK.js.map → app/lib/actions/actions-provider.js.map} +0 -0
  548. /package/dist/{computer-viewer-D4NHQB5D.js.map → app/lib/credit-coverage.js.map} +0 -0
  549. /package/dist/{embedded-new-voice-X4ZW6SY4.js.map → browser-viewer-HPUMK7UP.js.map} +0 -0
  550. /package/dist/{embedded-voice-4OD6Z3HU.js.map → chat-interactive-block-22PPECCT.js.map} +0 -0
  551. /package/dist/{chunk-GVIQ7H62.js.map → chunk-2LUBBDZV.js.map} +0 -0
  552. /package/dist/{chunk-XMMVIY7B.js.map → chunk-3CCJWHQY.js.map} +0 -0
  553. /package/dist/{chunk-XS2FZ6DX.js.map → chunk-3F5ZPIWI.js.map} +0 -0
  554. /package/dist/{chunk-72US6QNB.js.map → chunk-3J2YZRY5.js.map} +0 -0
  555. /package/dist/{chunk-D4YQF4E3.js.map → chunk-3SMJ2BIQ.js.map} +0 -0
  556. /package/dist/{chunk-TBJINQXA.js.map → chunk-3WCYK36X.js.map} +0 -0
  557. /package/dist/{chunk-WPCF34V6.js.map → chunk-3WG3CRL7.js.map} +0 -0
  558. /package/dist/{chunk-JI5BYQKO.js.map → chunk-3X46PNBX.js.map} +0 -0
  559. /package/dist/{chunk-PBK44WJC.js.map → chunk-4GJ37O6G.js.map} +0 -0
  560. /package/dist/{chunk-LEXPBQ56.js.map → chunk-4SKJX3C4.js.map} +0 -0
  561. /package/dist/{chunk-ZA6YD2LW.js.map → chunk-57SYK776.js.map} +0 -0
  562. /package/dist/{chunk-22LBKJDE.js.map → chunk-5DIAN5GQ.js.map} +0 -0
  563. /package/dist/{chunk-LJ3TDK2L.js.map → chunk-5FA455GR.js.map} +0 -0
  564. /package/dist/{chunk-YPR5INHV.js.map → chunk-5X3E2Z3D.js.map} +0 -0
  565. /package/dist/{chunk-OXNWZTEU.js.map → chunk-5ZJCL6X4.js.map} +0 -0
  566. /package/dist/{chunk-62OAZ4LO.js.map → chunk-6C5GQQMC.js.map} +0 -0
  567. /package/dist/{chunk-VGITH57T.js.map → chunk-6ERTXDZM.js.map} +0 -0
  568. /package/dist/{chunk-ZQ7XQZCF.js.map → chunk-6FX73Y4I.js.map} +0 -0
  569. /package/dist/{chunk-QZO2KK2F.js.map → chunk-6P44NG6Y.js.map} +0 -0
  570. /package/dist/{chunk-N2DDJLTM.js.map → chunk-6T7Y33JA.js.map} +0 -0
  571. /package/dist/{chunk-RBAGC2MJ.js.map → chunk-75VE5QUS.js.map} +0 -0
  572. /package/dist/{chunk-MRXOGI3O.js.map → chunk-77CUDSHG.js.map} +0 -0
  573. /package/dist/{chunk-GZ65XQR5.js.map → chunk-7T7FHSGS.js.map} +0 -0
  574. /package/dist/{chunk-YGAH34CD.js.map → chunk-A3S26JSP.js.map} +0 -0
  575. /package/dist/{chunk-GYPAO6RS.js.map → chunk-A664GSDM.js.map} +0 -0
  576. /package/dist/{chunk-JSZSNMDR.js.map → chunk-ASUYLXKO.js.map} +0 -0
  577. /package/dist/{chunk-RTK7SUPL.js.map → chunk-AUUJLVA3.js.map} +0 -0
  578. /package/dist/{chunk-OOTBYSCA.js.map → chunk-BBWKPNJB.js.map} +0 -0
  579. /package/dist/{chunk-BGZIMIUU.js.map → chunk-BCUYWOQU.js.map} +0 -0
  580. /package/dist/{chunk-EKN4N4LS.js.map → chunk-BDFMNJZJ.js.map} +0 -0
  581. /package/dist/{chunk-YZKGOWCC.js.map → chunk-BIDXQAGO.js.map} +0 -0
  582. /package/dist/{chunk-Q2UUANHF.js.map → chunk-BIKAJ4DY.js.map} +0 -0
  583. /package/dist/{chunk-5IQBF2X3.js.map → chunk-BJPJ2OUX.js.map} +0 -0
  584. /package/dist/{chunk-EY2EMHZW.js.map → chunk-BPM2OTYK.js.map} +0 -0
  585. /package/dist/{chunk-MT4TBRQB.js.map → chunk-BSWS2RUZ.js.map} +0 -0
  586. /package/dist/{chunk-T7YD3VGK.js.map → chunk-C52MNKXU.js.map} +0 -0
  587. /package/dist/{chunk-THNW33K7.js.map → chunk-CEUDV4OA.js.map} +0 -0
  588. /package/dist/{chunk-LHGIS6SZ.js.map → chunk-CVK74BH7.js.map} +0 -0
  589. /package/dist/{chunk-DFO2UCYG.js.map → chunk-CW5I65ZX.js.map} +0 -0
  590. /package/dist/{chunk-SKRLKQEG.js.map → chunk-DOSC2HRQ.js.map} +0 -0
  591. /package/dist/{chunk-KVB6XDLP.js.map → chunk-DPJ2CWVN.js.map} +0 -0
  592. /package/dist/{chunk-4J6V4DH7.js.map → chunk-DXMRO2MU.js.map} +0 -0
  593. /package/dist/{chunk-42I4O4WQ.js.map → chunk-EE55IDDR.js.map} +0 -0
  594. /package/dist/{chunk-2RA6XABP.js.map → chunk-EEERTLFF.js.map} +0 -0
  595. /package/dist/{chunk-PTOTKUKO.js.map → chunk-EEO744XR.js.map} +0 -0
  596. /package/dist/{chunk-LD3HVI2J.js.map → chunk-EMFGBAQL.js.map} +0 -0
  597. /package/dist/{chunk-FQGUK4ST.js.map → chunk-ENPJKVMN.js.map} +0 -0
  598. /package/dist/{chunk-HDHK3SXK.js.map → chunk-EU6RLHMP.js.map} +0 -0
  599. /package/dist/{chunk-MRUWRQBX.js.map → chunk-FET6XHGS.js.map} +0 -0
  600. /package/dist/{chunk-M6KUY3YH.js.map → chunk-FIICQA55.js.map} +0 -0
  601. /package/dist/{chunk-NLWLCYCT.js.map → chunk-FTZXCPE3.js.map} +0 -0
  602. /package/dist/{chunk-FN2KA3MJ.js.map → chunk-FUS76DO4.js.map} +0 -0
  603. /package/dist/{chunk-AM4IIPWI.js.map → chunk-G7N5NPRJ.js.map} +0 -0
  604. /package/dist/{chunk-CCQ7YKOD.js.map → chunk-GBYZ6653.js.map} +0 -0
  605. /package/dist/{chunk-YKKVIJVX.js.map → chunk-GQDSC6QZ.js.map} +0 -0
  606. /package/dist/{chunk-5X6JP75Q.js.map → chunk-GRSODLVO.js.map} +0 -0
  607. /package/dist/{chunk-73YP3R5X.js.map → chunk-GSESCQFY.js.map} +0 -0
  608. /package/dist/{chunk-MZLEBFUZ.js.map → chunk-GZD6VBIK.js.map} +0 -0
  609. /package/dist/{chunk-IZR2QRFF.js.map → chunk-H3HH5AHS.js.map} +0 -0
  610. /package/dist/{chunk-OJPUVUB6.js.map → chunk-HAOZCLLA.js.map} +0 -0
  611. /package/dist/{chunk-ZBHDGAYL.js.map → chunk-HEFE4OZJ.js.map} +0 -0
  612. /package/dist/{chunk-WTG34JVA.js.map → chunk-HI75UTI6.js.map} +0 -0
  613. /package/dist/{chunk-OMBIG3NC.js.map → chunk-HM633ROV.js.map} +0 -0
  614. /package/dist/{chunk-WDFZWSKD.js.map → chunk-HRIP4M6H.js.map} +0 -0
  615. /package/dist/{chunk-A2BCW6CQ.js.map → chunk-HU2DRFFI.js.map} +0 -0
  616. /package/dist/{chunk-PO35PBAB.js.map → chunk-HVH7FFJH.js.map} +0 -0
  617. /package/dist/{chunk-EG7KNUF7.js.map → chunk-HYTXTKST.js.map} +0 -0
  618. /package/dist/{chunk-TFHG75A4.js.map → chunk-I4XMDFUJ.js.map} +0 -0
  619. /package/dist/{chunk-IZHVZZQA.js.map → chunk-ICAUYWSL.js.map} +0 -0
  620. /package/dist/{chunk-DCLPWYP3.js.map → chunk-IEVPJ3G6.js.map} +0 -0
  621. /package/dist/{chunk-EVWZHDSF.js.map → chunk-IKH3VTA4.js.map} +0 -0
  622. /package/dist/{chunk-TYHLEFD2.js.map → chunk-IZJNMRIR.js.map} +0 -0
  623. /package/dist/{chunk-D2SR3TEB.js.map → chunk-J243WGUA.js.map} +0 -0
  624. /package/dist/{chunk-QGSGIYE3.js.map → chunk-J2C6LB6W.js.map} +0 -0
  625. /package/dist/{chunk-MT6TRTXF.js.map → chunk-J5MEDX7C.js.map} +0 -0
  626. /package/dist/{chunk-6QHUKBJP.js.map → chunk-J7SKOO44.js.map} +0 -0
  627. /package/dist/{chunk-W2QK7PYS.js.map → chunk-JAAST75A.js.map} +0 -0
  628. /package/dist/{chunk-NQCMS4AJ.js.map → chunk-JQCGPTZ6.js.map} +0 -0
  629. /package/dist/{chunk-CMUXJHGH.js.map → chunk-JRSCWQMC.js.map} +0 -0
  630. /package/dist/{chunk-Q4OHNGGB.js.map → chunk-JRXHSVD5.js.map} +0 -0
  631. /package/dist/{chunk-SD2K5ZN5.js.map → chunk-JXYLDT6X.js.map} +0 -0
  632. /package/dist/{chunk-IXX6ZOL2.js.map → chunk-KGTMHEAP.js.map} +0 -0
  633. /package/dist/{chunk-22OBGVEJ.js.map → chunk-KOXVGPW4.js.map} +0 -0
  634. /package/dist/{chunk-NOZ5CGZE.js.map → chunk-L5GPPMUB.js.map} +0 -0
  635. /package/dist/{chunk-4FOOHMTU.js.map → chunk-LY6727IF.js.map} +0 -0
  636. /package/dist/{chunk-PT7MTXRE.js.map → chunk-MAOCN7J6.js.map} +0 -0
  637. /package/dist/{chunk-4K2JSJNX.js.map → chunk-MB5LZVDO.js.map} +0 -0
  638. /package/dist/{chunk-5LES64PP.js.map → chunk-MKOQAVOE.js.map} +0 -0
  639. /package/dist/{chunk-BMV2SNYX.js.map → chunk-MUPWNSEJ.js.map} +0 -0
  640. /package/dist/{chunk-Y5TRG22C.js.map → chunk-NRXIECWC.js.map} +0 -0
  641. /package/dist/{chunk-GOE7G5JX.js.map → chunk-NWSAF6P5.js.map} +0 -0
  642. /package/dist/{chunk-DUM363VS.js.map → chunk-OFZQJNF6.js.map} +0 -0
  643. /package/dist/{chunk-CKN5QPEL.js.map → chunk-OMF7POEY.js.map} +0 -0
  644. /package/dist/{chunk-MVXKO2BD.js.map → chunk-OXD6ET34.js.map} +0 -0
  645. /package/dist/{chunk-47JUEVME.js.map → chunk-PALX6HWV.js.map} +0 -0
  646. /package/dist/{chunk-B6OGSG7I.js.map → chunk-PE3BLBDT.js.map} +0 -0
  647. /package/dist/{chunk-RVISSNVE.js.map → chunk-PMZKJOG6.js.map} +0 -0
  648. /package/dist/{chunk-CESAMXWX.js.map → chunk-PQUTMG3S.js.map} +0 -0
  649. /package/dist/{chunk-7VFCOKPG.js.map → chunk-PWBGODZU.js.map} +0 -0
  650. /package/dist/{chunk-MOPAXD2H.js.map → chunk-QCADUTYX.js.map} +0 -0
  651. /package/dist/{chunk-CT5FBO7E.js.map → chunk-RPOUJI25.js.map} +0 -0
  652. /package/dist/{chunk-WKHYOS72.js.map → chunk-RW4GFE56.js.map} +0 -0
  653. /package/dist/{chunk-FH4GO7HO.js.map → chunk-RYLVVDR7.js.map} +0 -0
  654. /package/dist/{chunk-QZRDCFHI.js.map → chunk-S66SBBFQ.js.map} +0 -0
  655. /package/dist/{chunk-CQJFIPAH.js.map → chunk-S7TNV2I7.js.map} +0 -0
  656. /package/dist/{chunk-ZBQSIGGR.js.map → chunk-SC773IMJ.js.map} +0 -0
  657. /package/dist/{chunk-FBJ2HK7A.js.map → chunk-SGPJ3YS2.js.map} +0 -0
  658. /package/dist/{chunk-A2EWJQXX.js.map → chunk-SM5QX6UK.js.map} +0 -0
  659. /package/dist/{chunk-RKZWCTXV.js.map → chunk-TAEKDMEF.js.map} +0 -0
  660. /package/dist/{chunk-6AVCAUGL.js.map → chunk-TASEV25T.js.map} +0 -0
  661. /package/dist/{chunk-3XOISKZC.js.map → chunk-TLGDPMUX.js.map} +0 -0
  662. /package/dist/{chunk-5IUW34PG.js.map → chunk-TY3QYPJ6.js.map} +0 -0
  663. /package/dist/{chunk-VQFR4EU4.js.map → chunk-U3JK5VJV.js.map} +0 -0
  664. /package/dist/{chunk-2AWMJO54.js.map → chunk-U42P3RMZ.js.map} +0 -0
  665. /package/dist/{chunk-GUU75DES.js.map → chunk-UEJTOPLW.js.map} +0 -0
  666. /package/dist/{chunk-OZOEWLGR.js.map → chunk-UT6JAORE.js.map} +0 -0
  667. /package/dist/{chunk-5TELOQA6.js.map → chunk-UTHPUINA.js.map} +0 -0
  668. /package/dist/{chunk-26RQ6JBR.js.map → chunk-VBVCNH6D.js.map} +0 -0
  669. /package/dist/{chunk-P646DND6.js.map → chunk-VCMQPCME.js.map} +0 -0
  670. /package/dist/{chunk-LV7FMIMM.js.map → chunk-VGUHAHHV.js.map} +0 -0
  671. /package/dist/{chunk-GYVXARCY.js.map → chunk-VIBPFVU4.js.map} +0 -0
  672. /package/dist/{chunk-KHPOKZ6Z.js.map → chunk-VMAC66JX.js.map} +0 -0
  673. /package/dist/{chunk-SHKRS6I5.js.map → chunk-VRPNETPK.js.map} +0 -0
  674. /package/dist/{chunk-6U4J6RVS.js.map → chunk-WCHW4XN7.js.map} +0 -0
  675. /package/dist/{chunk-CJH6QUQJ.js.map → chunk-WD3UXNJV.js.map} +0 -0
  676. /package/dist/{chunk-H5EVWF6L.js.map → chunk-WR67FJMX.js.map} +0 -0
  677. /package/dist/{chunk-XLIJ36RG.js.map → chunk-WRMQ7EX4.js.map} +0 -0
  678. /package/dist/{chunk-7KLCFJ5G.js.map → chunk-X4PPGXQG.js.map} +0 -0
  679. /package/dist/{chunk-ZE2JTVCQ.js.map → chunk-X5BMQXFD.js.map} +0 -0
  680. /package/dist/{chunk-UECU6LZI.js.map → chunk-XXRBOSWV.js.map} +0 -0
  681. /package/dist/{chunk-SPKAIDWX.js.map → chunk-XZEFCPBL.js.map} +0 -0
  682. /package/dist/{chunk-EZ5NYRHK.js.map → chunk-YL6N7QLA.js.map} +0 -0
  683. /package/dist/{chunk-VAIESMPY.js.map → chunk-YVBHGMKC.js.map} +0 -0
  684. /package/dist/{chunk-AR62NQXE.js.map → chunk-Z2S5VQG7.js.map} +0 -0
  685. /package/dist/{chunk-7UQJEADK.js.map → chunk-ZL2O4BYP.js.map} +0 -0
  686. /package/dist/{chunk-FOOITLHR.js.map → chunk-ZZHBT5WQ.js.map} +0 -0
  687. /package/dist/{chunk-X6VJQJYY.js.map → chunk-ZZWHKC6A.js.map} +0 -0
  688. /package/dist/{model-policy-picker-menu-XOPYY6YA.js.map → computer-viewer-S6TE6TN7.js.map} +0 -0
  689. /package/dist/{sandbox-files-LJCR437H.js.map → embedded-new-voice-ZDZPGX25.js.map} +0 -0
  690. /package/dist/{session-realtime-UISLBZ4A.js.map → embedded-voice-FKCUXSJO.js.map} +0 -0
  691. /package/dist/{fleet-decision-row-5UCJXTDP.js.map → fleet-decision-row-VCGWYJAV.js.map} +0 -0
  692. /package/dist/{latest-question-VGVNUGAU.js.map → latest-question-SINEV4U6.js.map} +0 -0
  693. /package/dist/{platform-activity-row-56XOVTRA.js.map → platform-activity-row-LU5WABI2.js.map} +0 -0
@@ -5,17 +5,7 @@ import {
5
5
  import {
6
6
  PatchApplyCommand,
7
7
  useRetainedImageObjectUrl
8
- } from "./chunk-BGZIMIUU.js";
9
- import {
10
- approvalsFromRequiresAction
11
- } from "./chunk-UD2PSIIX.js";
12
- import {
13
- learningRefusalBody,
14
- learningRefusalPlace,
15
- learningRefusalPlaceLabel,
16
- learningRefusalTitle,
17
- presentTurnFailureText
18
- } from "./chunk-OS3EQOIS.js";
8
+ } from "./chunk-BCUYWOQU.js";
19
9
  import {
20
10
  ActivityDisclosure,
21
11
  BodyNote,
@@ -34,18 +24,28 @@ import {
34
24
  ToolOutputPreviewProvider,
35
25
  useForcedDefaultOpen,
36
26
  useTimelineSearchReveal
37
- } from "./chunk-EG7KNUF7.js";
27
+ } from "./chunk-HYTXTKST.js";
38
28
  import {
39
29
  useOpenGeniLinkResolver
40
30
  } from "./chunk-VHB3E6PT.js";
41
- import {
42
- useToolDetails
43
- } from "./chunk-RZLBICR5.js";
44
31
  import {
45
32
  loadPierreDiffs,
46
33
  pierreDiffsRevision,
47
34
  subscribePierreDiffs
48
35
  } from "./chunk-YSRBFJMQ.js";
36
+ import {
37
+ useToolDetails
38
+ } from "./chunk-RZLBICR5.js";
39
+ import {
40
+ approvalsFromRequiresAction
41
+ } from "./chunk-UD2PSIIX.js";
42
+ import {
43
+ learningRefusalBody,
44
+ learningRefusalPlace,
45
+ learningRefusalPlaceLabel,
46
+ learningRefusalTitle,
47
+ presentTurnFailureText
48
+ } from "./chunk-T4F5TW2X.js";
49
49
  import {
50
50
  GENIE_PREPARING_PHRASES,
51
51
  GENIE_WAITING_PHRASES,
@@ -82,7 +82,7 @@ import {
82
82
  unwrapMcpOutput,
83
83
  webSearchPresentation,
84
84
  writeStdinPresentation
85
- } from "./chunk-2RIUMV7S.js";
85
+ } from "./chunk-UBIJBLUK.js";
86
86
  import {
87
87
  workerRowTitleParts
88
88
  } from "./chunk-HEVQKE27.js";
@@ -98,101 +98,13 @@ import {
98
98
  formatBytes,
99
99
  truncate,
100
100
  tryParseJson
101
- } from "./chunk-UYSZKDQY.js";
101
+ } from "./chunk-MK54JLE4.js";
102
102
  import {
103
103
  cn
104
104
  } from "./chunk-TXS65BB2.js";
105
105
  import {
106
106
  useOpenGeniText
107
- } from "./chunk-G7VLL3PG.js";
108
-
109
- // src/timeline/retained-loaders.ts
110
- function createWorkspaceRetainedArtifactLoader(client, workspaceId) {
111
- return async (artifact, signal, options) => {
112
- if (artifact.kind === "file" && options?.prefer !== "url") {
113
- const download2 = await client.downloadRetainedArtifact(workspaceId, artifact, { signal });
114
- return download2.bytes;
115
- }
116
- const download = await client.createRetainedArtifactDownloadUrl(workspaceId, artifact, {
117
- signal
118
- });
119
- return { url: download.url, expiresAt: download.expiresAt };
120
- };
121
- }
122
- function createSessionRetainedScreenshotLoader(client, workspaceId, sessionId) {
123
- return async (artifact, signal) => {
124
- const download = await client.downloadRetainedScreenshot(
125
- workspaceId,
126
- sessionId,
127
- artifact.artifactId,
128
- { signal }
129
- );
130
- if (!download.metadata.available || !download.bytes) return null;
131
- if (download.metadata.artifactId !== artifact.artifactId || download.metadata.kind !== artifact.kind || download.metadata.contentType !== artifact.contentType || download.metadata.originalBytes !== artifact.originalBytes || download.metadata.sha256 !== artifact.sha256 || download.metadata.dimensions?.width !== artifact.dimensions?.width || download.metadata.dimensions?.height !== artifact.dimensions?.height) {
132
- throw new Error("Retained screenshot receipt verification failed");
133
- }
134
- return download.bytes;
135
- };
136
- }
137
- function createWorkspaceRetainedVideoLoader(client, workspaceId) {
138
- return async (artifactId, signal) => await client.createVideoArtifactPlaybackSource(workspaceId, artifactId, { signal });
139
- }
140
-
141
- // src/components/tool-review-history.tsx
142
- import { createContext, useContext, useEffect, useMemo, useState } from "react";
143
- import { jsx } from "react/jsx-runtime";
144
- var History = createContext(null);
145
- function ToolReviewHistoryProvider({
146
- events,
147
- load,
148
- onViewDetails,
149
- children
150
- }) {
151
- const value = useMemo(
152
- () => ({
153
- approvalIds: new Set(
154
- events.flatMap(
155
- (event) => event.type === "session.requiresAction" ? approvalsFromRequiresAction(event.payload).map((approval) => approval.id) : []
156
- )
157
- ),
158
- revision: [...events].reverse().find(
159
- (event) => event.type === "session.requiresAction" || event.type === "agent.toolCall.output" || event.type.startsWith("turn.") || event.type === "user.approvalDecision" || event.type.startsWith("session.control.")
160
- )?.sequence ?? 0,
161
- load,
162
- onViewDetails
163
- }),
164
- [events, load, onViewDetails]
165
- );
166
- return /* @__PURE__ */ jsx(History.Provider, { value, children });
167
- }
168
- function useHasToolReview(approvalId) {
169
- const history = useContext(History);
170
- return Boolean(approvalId && history?.approvalIds.has(approvalId));
171
- }
172
- function useRecordedToolReview(approvalId) {
173
- const history = useContext(History);
174
- const [review, setReview] = useState(null);
175
- const load = history?.load;
176
- const revision = history?.revision;
177
- useEffect(() => {
178
- if (!load || !approvalId) return;
179
- let active = true;
180
- void load(approvalId).then(
181
- (value) => {
182
- if (active && value.id === approvalId) setReview(value);
183
- },
184
- () => void 0
185
- );
186
- return () => {
187
- active = false;
188
- };
189
- }, [approvalId, load, revision]);
190
- const onViewDetails = history?.onViewDetails;
191
- return {
192
- review: review && review.id === approvalId ? review : null,
193
- onViewDetails: review && onViewDetails ? (path) => onViewDetails(review, path) : void 0
194
- };
195
- }
107
+ } from "./chunk-F2YABPRJ.js";
196
108
 
197
109
  // src/components/tool-action-review.tsx
198
110
  import {
@@ -204,8 +116,8 @@ import {
204
116
  LoaderCircleIcon,
205
117
  ShieldCheckIcon
206
118
  } from "lucide-react";
207
- import { useEffect as useEffect2, useId, useRef, useState as useState2 } from "react";
208
- import { Fragment, jsx as jsx2, jsxs } from "react/jsx-runtime";
119
+ import { useEffect, useId, useRef, useState } from "react";
120
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
209
121
  var statusText = (t) => ({
210
122
  pending: t("toolActionReview.approvalNeeded"),
211
123
  approved: t("toolActionReview.approved"),
@@ -267,12 +179,12 @@ var VISIBLE_FIELDS = 6;
267
179
  function StatusIcon({ status, busy }) {
268
180
  const className = "size-4";
269
181
  if (busy || status === "executing" || status === "approved")
270
- return /* @__PURE__ */ jsx2(LoaderCircleIcon, { "aria-hidden": "true", className: cn(className, "animate-spin") });
271
- if (status === "pending") return /* @__PURE__ */ jsx2(ShieldCheckIcon, { "aria-hidden": "true", className });
272
- if (status === "completed") return /* @__PURE__ */ jsx2(CheckIcon, { "aria-hidden": "true", className });
182
+ return /* @__PURE__ */ jsx(LoaderCircleIcon, { "aria-hidden": "true", className: cn(className, "animate-spin") });
183
+ if (status === "pending") return /* @__PURE__ */ jsx(ShieldCheckIcon, { "aria-hidden": "true", className });
184
+ if (status === "completed") return /* @__PURE__ */ jsx(CheckIcon, { "aria-hidden": "true", className });
273
185
  if (statusTone[status] === "failed")
274
- return /* @__PURE__ */ jsx2(CircleAlertIcon, { "aria-hidden": "true", className });
275
- return /* @__PURE__ */ jsx2(CircleSlashIcon, { "aria-hidden": "true", className });
186
+ return /* @__PURE__ */ jsx(CircleAlertIcon, { "aria-hidden": "true", className });
187
+ return /* @__PURE__ */ jsx(CircleSlashIcon, { "aria-hidden": "true", className });
276
188
  }
277
189
  function ToolReviewFrame({
278
190
  tone,
@@ -299,7 +211,7 @@ function ToolReviewFrame({
299
211
  ),
300
212
  children: [
301
213
  /* @__PURE__ */ jsxs("header", { className: cn("flex min-w-0 items-start gap-3", bare ? "pb-1" : "px-4 py-3"), children: [
302
- /* @__PURE__ */ jsx2(
214
+ /* @__PURE__ */ jsx(
303
215
  "span",
304
216
  {
305
217
  className: cn(
@@ -310,7 +222,7 @@ function ToolReviewFrame({
310
222
  }
311
223
  ),
312
224
  /* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", children: [
313
- /* @__PURE__ */ jsx2(
225
+ /* @__PURE__ */ jsx(
314
226
  "p",
315
227
  {
316
228
  className: cn("m-0 text-og-xs font-medium", toneText[tone]),
@@ -319,7 +231,7 @@ function ToolReviewFrame({
319
231
  children: eyebrow
320
232
  }
321
233
  ),
322
- /* @__PURE__ */ jsx2(
234
+ /* @__PURE__ */ jsx(
323
235
  "h3",
324
236
  {
325
237
  tabIndex: -1,
@@ -328,10 +240,10 @@ function ToolReviewFrame({
328
240
  children: title
329
241
  }
330
242
  ),
331
- subtitle ? /* @__PURE__ */ jsx2("p", { className: "m-0 mt-0.5 break-words text-og-xs text-og-fg-muted [overflow-wrap:anywhere]", children: subtitle }) : null
243
+ subtitle ? /* @__PURE__ */ jsx("p", { className: "m-0 mt-0.5 break-words text-og-xs text-og-fg-muted [overflow-wrap:anywhere]", children: subtitle }) : null
332
244
  ] })
333
245
  ] }),
334
- children ? /* @__PURE__ */ jsx2(
246
+ children ? /* @__PURE__ */ jsx(
335
247
  "div",
336
248
  {
337
249
  className: cn(
@@ -343,7 +255,7 @@ function ToolReviewFrame({
343
255
  children
344
256
  }
345
257
  ) : null,
346
- footer ? /* @__PURE__ */ jsx2(
258
+ footer ? /* @__PURE__ */ jsx(
347
259
  "footer",
348
260
  {
349
261
  className: cn(
@@ -383,24 +295,24 @@ function ReviewFacts({
383
295
  const hasContent = note || effects.length || selection || shown.length || hiddenFields > 0 || samples.length;
384
296
  if (!hasContent) return null;
385
297
  return /* @__PURE__ */ jsxs("div", { className: "flex min-w-0 flex-col gap-3 text-og-sm", children: [
386
- note ? /* @__PURE__ */ jsx2("p", { className: "m-0 leading-relaxed text-og-fg-muted", children: note }) : null,
387
- effects.length > 0 ? /* @__PURE__ */ jsx2("ul", { className: "m-0 list-none space-y-1 p-0", "aria-label": t("toolActionReview.alsoChanges"), children: effects.map((effect) => /* @__PURE__ */ jsxs("li", { className: "flex items-start gap-2 text-og-fg", children: [
388
- /* @__PURE__ */ jsx2(
298
+ note ? /* @__PURE__ */ jsx("p", { className: "m-0 leading-relaxed text-og-fg-muted", children: note }) : null,
299
+ effects.length > 0 ? /* @__PURE__ */ jsx("ul", { className: "m-0 list-none space-y-1 p-0", "aria-label": t("toolActionReview.alsoChanges"), children: effects.map((effect) => /* @__PURE__ */ jsxs("li", { className: "flex items-start gap-2 text-og-fg", children: [
300
+ /* @__PURE__ */ jsx(
389
301
  "span",
390
302
  {
391
303
  "aria-hidden": "true",
392
304
  className: "mt-[0.55em] size-1 shrink-0 rounded-full bg-og-fg-muted"
393
305
  }
394
306
  ),
395
- /* @__PURE__ */ jsx2("span", { className: "min-w-0 break-words", children: effect })
307
+ /* @__PURE__ */ jsx("span", { className: "min-w-0 break-words", children: effect })
396
308
  ] }, effect)) }) : null,
397
309
  selection ? /* @__PURE__ */ jsxs("div", { className: "min-w-0", children: [
398
310
  samples.length > 0 ? /* @__PURE__ */ jsxs(Fragment, { children: [
399
- /* @__PURE__ */ jsx2("p", { className: "m-0 mb-1 text-og-xs text-og-fg-muted", children: t("toolActionReview.includes") }),
311
+ /* @__PURE__ */ jsx("p", { className: "m-0 mb-1 text-og-xs text-og-fg-muted", children: t("toolActionReview.includes") }),
400
312
  /* @__PURE__ */ jsxs("ul", { className: "m-0 list-none divide-y divide-og-border rounded-og-md border border-og-border bg-og-surface-1 p-0", children: [
401
313
  samples.map((sample) => /* @__PURE__ */ jsxs("li", { className: "min-w-0 px-3 py-2", children: [
402
- /* @__PURE__ */ jsx2("p", { className: "m-0 truncate text-og-sm text-og-fg", children: sample.title }),
403
- sample.subtitle ? /* @__PURE__ */ jsx2("p", { className: "m-0 mt-0.5 truncate text-og-xs text-og-fg-muted", children: sample.subtitle }) : null
314
+ /* @__PURE__ */ jsx("p", { className: "m-0 truncate text-og-sm text-og-fg", children: sample.title }),
315
+ sample.subtitle ? /* @__PURE__ */ jsx("p", { className: "m-0 mt-0.5 truncate text-og-xs text-og-fg-muted", children: sample.subtitle }) : null
404
316
  ] }, sample.id)),
405
317
  count > samples.length ? /* @__PURE__ */ jsxs("li", { className: "px-3 py-2 text-og-xs text-og-fg-muted", children: [
406
318
  t("toolActionReview.and"),
@@ -423,18 +335,18 @@ function ReviewFacts({
423
335
  localeString: count.toLocaleString(t.locale),
424
336
  noun
425
337
  }),
426
- /* @__PURE__ */ jsx2(ChevronRightIcon, { className: "size-3.5 shrink-0", "aria-hidden": "true" })
338
+ /* @__PURE__ */ jsx(ChevronRightIcon, { className: "size-3.5 shrink-0", "aria-hidden": "true" })
427
339
  ]
428
340
  }
429
341
  ) : null
430
342
  ] }) : null,
431
- shown.length > 0 ? /* @__PURE__ */ jsx2("dl", { className: "m-0 min-w-0 space-y-2", children: shown.map((field) => /* @__PURE__ */ jsxs(
343
+ shown.length > 0 ? /* @__PURE__ */ jsx("dl", { className: "m-0 min-w-0 space-y-2", children: shown.map((field) => /* @__PURE__ */ jsxs(
432
344
  "div",
433
345
  {
434
346
  className: "grid min-w-0 gap-x-4 gap-y-0.5 sm:grid-cols-[minmax(0,9rem)_minmax(0,1fr)]",
435
347
  children: [
436
- /* @__PURE__ */ jsx2("dt", { className: "m-0 break-words text-og-xs text-og-fg-muted sm:pt-px sm:text-og-sm", children: field.label }),
437
- /* @__PURE__ */ jsx2("dd", { className: "m-0 min-w-0 whitespace-pre-wrap break-words text-og-fg [overflow-wrap:anywhere]", children: field.protected ? /* @__PURE__ */ jsx2("span", { className: "text-og-fg-muted", children: t("toolActionReview.hidden") }) : field.truncated && canOpen ? /* @__PURE__ */ jsxs(
348
+ /* @__PURE__ */ jsx("dt", { className: "m-0 break-words text-og-xs text-og-fg-muted sm:pt-px sm:text-og-sm", children: field.label }),
349
+ /* @__PURE__ */ jsx("dd", { className: "m-0 min-w-0 whitespace-pre-wrap break-words text-og-fg [overflow-wrap:anywhere]", children: field.protected ? /* @__PURE__ */ jsx("span", { className: "text-og-fg-muted", children: t("toolActionReview.hidden") }) : field.truncated && canOpen ? /* @__PURE__ */ jsxs(
438
350
  "button",
439
351
  {
440
352
  type: "button",
@@ -446,11 +358,11 @@ function ReviewFacts({
446
358
  onClick: () => onViewDetails(field.path),
447
359
  className: cn(linkButton, "max-w-full"),
448
360
  children: [
449
- /* @__PURE__ */ jsx2("span", { className: "line-clamp-4 min-w-0 break-words [overflow-wrap:anywhere]", children: /* @__PURE__ */ jsx2(SecretRefText, { text: field.preview, linkable: false }) }),
450
- /* @__PURE__ */ jsx2(ChevronRightIcon, { className: "size-3.5 shrink-0", "aria-hidden": "true" })
361
+ /* @__PURE__ */ jsx("span", { className: "line-clamp-4 min-w-0 break-words [overflow-wrap:anywhere]", children: /* @__PURE__ */ jsx(SecretRefText, { text: field.preview, linkable: false }) }),
362
+ /* @__PURE__ */ jsx(ChevronRightIcon, { className: "size-3.5 shrink-0", "aria-hidden": "true" })
451
363
  ]
452
364
  }
453
- ) : /* @__PURE__ */ jsx2(SecretRefText, { text: field.preview }) })
365
+ ) : /* @__PURE__ */ jsx(SecretRefText, { text: field.preview }) })
454
366
  ]
455
367
  },
456
368
  field.path
@@ -469,7 +381,7 @@ function DeclineButton({
469
381
  onClick
470
382
  }) {
471
383
  const t = useOpenGeniText();
472
- return /* @__PURE__ */ jsx2(
384
+ return /* @__PURE__ */ jsx(
473
385
  "button",
474
386
  {
475
387
  type: "button",
@@ -499,7 +411,7 @@ function ToolActionReviewCard({
499
411
  const busy = Boolean(disabled || submitting);
500
412
  const tone = statusTone[review.status];
501
413
  const eyebrow = submitting ? submitting === "approve" ? t("toolActionReview.approving") : t("toolActionReview.declining") : review.status === "pending" ? pendingLabel ?? statusText(t).pending : statusText(t)[review.status];
502
- const detailsLink = review.detailsAvailable && onViewDetails ? /* @__PURE__ */ jsx2(
414
+ const detailsLink = review.detailsAvailable && onViewDetails ? /* @__PURE__ */ jsx(
503
415
  "button",
504
416
  {
505
417
  type: "button",
@@ -514,7 +426,7 @@ function ToolActionReviewCard({
514
426
  ToolReviewFrame,
515
427
  {
516
428
  tone,
517
- icon: /* @__PURE__ */ jsx2(StatusIcon, { status: review.status, busy: Boolean(submitting) }),
429
+ icon: /* @__PURE__ */ jsx(StatusIcon, { status: review.status, busy: Boolean(submitting) }),
518
430
  eyebrow,
519
431
  title: review.title,
520
432
  titleId,
@@ -526,10 +438,10 @@ function ToolActionReviewCard({
526
438
  footer: actionable ? /* @__PURE__ */ jsxs(Fragment, { children: [
527
439
  /* @__PURE__ */ jsxs("div", { className: "flex min-w-0 flex-1 basis-48 flex-wrap items-center gap-x-3 gap-y-1", children: [
528
440
  detailsLink,
529
- reason ? /* @__PURE__ */ jsx2("span", { className: "min-w-0 text-og-xs leading-relaxed text-og-fg-subtle", children: reason }) : null
441
+ reason ? /* @__PURE__ */ jsx("span", { className: "min-w-0 text-og-xs leading-relaxed text-og-fg-subtle", children: reason }) : null
530
442
  ] }),
531
443
  /* @__PURE__ */ jsxs("div", { className: "ml-auto flex shrink-0 flex-wrap items-center justify-end gap-2", children: [
532
- canReject ? /* @__PURE__ */ jsx2(
444
+ canReject ? /* @__PURE__ */ jsx(
533
445
  DeclineButton,
534
446
  {
535
447
  busy,
@@ -546,7 +458,7 @@ function ToolActionReviewCard({
546
458
  onClick: onApprove,
547
459
  className: "inline-flex min-h-9 items-center justify-center gap-2 rounded-og-md border border-og-primary-border bg-og-primary px-3.5 py-1.5 text-og-sm font-medium text-og-primary-fg transition-colors hover:bg-og-primary-hover disabled:opacity-60 [@media(pointer:coarse)]:min-h-11 focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-og-accent/40",
548
460
  children: [
549
- submitting === "approve" ? /* @__PURE__ */ jsx2(LoaderCircleIcon, { className: "size-3.5 animate-spin", "aria-hidden": "true" }) : null,
461
+ submitting === "approve" ? /* @__PURE__ */ jsx(LoaderCircleIcon, { className: "size-3.5 animate-spin", "aria-hidden": "true" }) : null,
550
462
  submitting === "approve" ? t("toolActionReview.approving") : review.approveLabel
551
463
  ]
552
464
  }
@@ -554,8 +466,8 @@ function ToolActionReviewCard({
554
466
  ] })
555
467
  ] }) : void 0,
556
468
  children: [
557
- actionable && !canApprove ? /* @__PURE__ */ jsx2("p", { className: "m-0 mb-3 text-og-sm leading-relaxed text-og-fg", children: UNRECOVERABLE_TEXT(t) }) : null,
558
- /* @__PURE__ */ jsx2(
469
+ actionable && !canApprove ? /* @__PURE__ */ jsx("p", { className: "m-0 mb-3 text-og-sm leading-relaxed text-og-fg", children: UNRECOVERABLE_TEXT(t) }) : null,
470
+ /* @__PURE__ */ jsx(
559
471
  ReviewFacts,
560
472
  {
561
473
  review,
@@ -563,7 +475,7 @@ function ToolActionReviewCard({
563
475
  showStatusDetail: review.status !== "pending"
564
476
  }
565
477
  ),
566
- !actionable && detailsLink ? /* @__PURE__ */ jsx2("div", { className: "mt-2", children: detailsLink }) : null
478
+ !actionable && detailsLink ? /* @__PURE__ */ jsx("div", { className: "mt-2", children: detailsLink }) : null
567
479
  ]
568
480
  }
569
481
  );
@@ -576,22 +488,22 @@ function ToolActionReviewDetails({
576
488
  manageFocus = true
577
489
  }) {
578
490
  const t = useOpenGeniText();
579
- const [path, setPath] = useState2(initialPath);
580
- const [trail, setTrail] = useState2([]);
581
- const [offset, setOffset] = useState2(0);
582
- const [page, setPage] = useState2(null);
583
- const [error, setError] = useState2(false);
584
- const [retry, setRetry] = useState2(0);
491
+ const [path, setPath] = useState(initialPath);
492
+ const [trail, setTrail] = useState([]);
493
+ const [offset, setOffset] = useState(0);
494
+ const [page, setPage] = useState(null);
495
+ const [error, setError] = useState(false);
496
+ const [retry, setRetry] = useState(0);
585
497
  const heading = useRef(null);
586
498
  const focusedOnce = useRef(false);
587
- useEffect2(() => {
499
+ useEffect(() => {
588
500
  if (page && manageFocus && !focusedOnce.current) {
589
501
  focusedOnce.current = true;
590
502
  heading.current?.focus({ preventScroll: true });
591
503
  heading.current?.scrollIntoView({ block: "start" });
592
504
  }
593
505
  }, [page, manageFocus]);
594
- useEffect2(() => {
506
+ useEffect(() => {
595
507
  let active = true;
596
508
  setPage(null);
597
509
  setError(false);
@@ -636,12 +548,12 @@ function ToolActionReviewDetails({
636
548
  onClick: onBack,
637
549
  className: "mb-4 inline-flex min-h-11 items-center gap-2 rounded-og-md pr-2 text-og-sm text-og-fg-muted hover:text-og-fg focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-og-accent/40",
638
550
  children: [
639
- /* @__PURE__ */ jsx2(ArrowLeftIcon, { className: "size-4", "aria-hidden": "true" }),
551
+ /* @__PURE__ */ jsx(ArrowLeftIcon, { className: "size-4", "aria-hidden": "true" }),
640
552
  t("toolActionReview.backToReview")
641
553
  ]
642
554
  }
643
555
  ),
644
- /* @__PURE__ */ jsx2(
556
+ /* @__PURE__ */ jsx(
645
557
  "h2",
646
558
  {
647
559
  ref: heading,
@@ -650,8 +562,8 @@ function ToolActionReviewDetails({
650
562
  children: review.title
651
563
  }
652
564
  ),
653
- review.accountLabel ? /* @__PURE__ */ jsx2("p", { className: "m-0 mt-1 text-og-sm text-og-fg-muted", children: review.accountLabel }) : null,
654
- /* @__PURE__ */ jsx2("p", { className: "m-0 mt-2 text-og-xs text-og-fg-subtle", children: t("toolActionReview.theExactValuesSavedFor") }),
565
+ review.accountLabel ? /* @__PURE__ */ jsx("p", { className: "m-0 mt-1 text-og-sm text-og-fg-muted", children: review.accountLabel }) : null,
566
+ /* @__PURE__ */ jsx("p", { className: "m-0 mt-2 text-og-xs text-og-fg-subtle", children: t("toolActionReview.theExactValuesSavedFor") }),
655
567
  trail.length > 0 ? /* @__PURE__ */ jsxs(
656
568
  "button",
657
569
  {
@@ -659,7 +571,7 @@ function ToolActionReviewDetails({
659
571
  className: "mt-3 inline-flex min-h-11 items-center gap-1.5 text-og-sm text-og-fg-muted underline underline-offset-4 hover:text-og-fg focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-og-accent/40",
660
572
  onClick: up,
661
573
  children: [
662
- /* @__PURE__ */ jsx2(ArrowLeftIcon, { className: "size-3.5", "aria-hidden": "true" }),
574
+ /* @__PURE__ */ jsx(ArrowLeftIcon, { className: "size-3.5", "aria-hidden": "true" }),
663
575
  t("toolActionReview.backTo"),
664
576
  " ",
665
577
  trail.at(-1)?.label ?? t("toolActionReview.allValues")
@@ -669,7 +581,7 @@ function ToolActionReviewDetails({
669
581
  error ? /* @__PURE__ */ jsxs("div", { role: "alert", className: "mt-4 py-4 text-og-sm", children: [
670
582
  t("toolActionReview.couldnTLoadTheseDetails"),
671
583
  " ",
672
- /* @__PURE__ */ jsx2(
584
+ /* @__PURE__ */ jsx(
673
585
  "button",
674
586
  {
675
587
  type: "button",
@@ -678,9 +590,9 @@ function ToolActionReviewDetails({
678
590
  children: t("toolActionReview.tryAgain")
679
591
  }
680
592
  )
681
- ] }) : !page ? /* @__PURE__ */ jsx2("p", { role: "status", className: "mt-4 py-4 text-og-sm text-og-fg-muted", children: t("toolActionReview.loadingDetails") }) : /* @__PURE__ */ jsxs(Fragment, { children: [
682
- /* @__PURE__ */ jsx2("dl", { className: "m-0 mt-4 divide-y divide-og-border border-y border-og-border", children: page.items.map((item) => /* @__PURE__ */ jsxs("div", { className: "py-3", children: [
683
- /* @__PURE__ */ jsx2("dt", { className: "m-0 text-og-xs text-og-fg-muted", children: item.label }),
593
+ ] }) : !page ? /* @__PURE__ */ jsx("p", { role: "status", className: "mt-4 py-4 text-og-sm text-og-fg-muted", children: t("toolActionReview.loadingDetails") }) : /* @__PURE__ */ jsxs(Fragment, { children: [
594
+ /* @__PURE__ */ jsx("dl", { className: "m-0 mt-4 divide-y divide-og-border border-y border-og-border", children: page.items.map((item) => /* @__PURE__ */ jsxs("div", { className: "py-3", children: [
595
+ /* @__PURE__ */ jsx("dt", { className: "m-0 text-og-xs text-og-fg-muted", children: item.label }),
684
596
  /* @__PURE__ */ jsxs("dd", { className: "m-0 mt-1 whitespace-pre-wrap break-words text-og-sm leading-relaxed [overflow-wrap:anywhere]", children: [
685
597
  item.truncated && item.path ? /* @__PURE__ */ jsxs(
686
598
  "button",
@@ -690,12 +602,12 @@ function ToolActionReviewDetails({
690
602
  className: cn(linkButton, "max-w-full"),
691
603
  onClick: () => open(item.path, item.label),
692
604
  children: [
693
- /* @__PURE__ */ jsx2("span", { className: "min-w-0 break-words focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-og-accent/40", children: /* @__PURE__ */ jsx2(SecretRefText, { text: item.value, linkable: false }) }),
694
- /* @__PURE__ */ jsx2(ChevronRightIcon, { className: "size-3.5 shrink-0", "aria-hidden": "true" })
605
+ /* @__PURE__ */ jsx("span", { className: "min-w-0 break-words focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-og-accent/40", children: /* @__PURE__ */ jsx(SecretRefText, { text: item.value, linkable: false }) }),
606
+ /* @__PURE__ */ jsx(ChevronRightIcon, { className: "size-3.5 shrink-0", "aria-hidden": "true" })
695
607
  ]
696
608
  }
697
- ) : /* @__PURE__ */ jsx2(SecretRefText, { text: item.value }),
698
- item.detail ? /* @__PURE__ */ jsx2("span", { className: "mt-0.5 block text-og-xs text-og-fg-muted", children: /* @__PURE__ */ jsx2(SecretRefText, { text: item.detail, linkable: false }) }) : null
609
+ ) : /* @__PURE__ */ jsx(SecretRefText, { text: item.value }),
610
+ item.detail ? /* @__PURE__ */ jsx("span", { className: "mt-0.5 block text-og-xs text-og-fg-muted", children: /* @__PURE__ */ jsx(SecretRefText, { text: item.detail, linkable: false }) }) : null
699
611
  ] })
700
612
  ] }, `${page.path}:${item.label}`)) }),
701
613
  page.total > page.items.length || offset > 0 ? /* @__PURE__ */ jsxs(
@@ -704,7 +616,7 @@ function ToolActionReviewDetails({
704
616
  "aria-label": t("toolActionReview.detailPages"),
705
617
  className: "mt-4 flex flex-wrap items-center justify-between gap-3 text-og-sm",
706
618
  children: [
707
- /* @__PURE__ */ jsx2(
619
+ /* @__PURE__ */ jsx(
708
620
  "button",
709
621
  {
710
622
  type: "button",
@@ -714,8 +626,8 @@ function ToolActionReviewDetails({
714
626
  children: t("toolActionReview.previous")
715
627
  }
716
628
  ),
717
- /* @__PURE__ */ jsx2("span", { className: "text-og-fg-muted tabular-nums", children: page.total === 0 ? t("toolActionReview.noItems") : `${(offset + 1).toLocaleString(t.locale)}\u2013${(offset + page.items.length).toLocaleString(t.locale)} of ${page.total.toLocaleString(t.locale)}` }),
718
- /* @__PURE__ */ jsx2(
629
+ /* @__PURE__ */ jsx("span", { className: "text-og-fg-muted tabular-nums", children: page.total === 0 ? t("toolActionReview.noItems") : `${(offset + 1).toLocaleString(t.locale)}\u2013${(offset + page.items.length).toLocaleString(t.locale)} of ${page.total.toLocaleString(t.locale)}` }),
630
+ /* @__PURE__ */ jsx(
719
631
  "button",
720
632
  {
721
633
  type: "button",
@@ -735,36 +647,36 @@ function ToolActionReviewDetails({
735
647
  }
736
648
 
737
649
  // src/timeline/knowledge-receipt.tsx
738
- import { createContext as createContext2, useContext as useContext2, useState as useState3 } from "react";
650
+ import { createContext, useContext, useState as useState2 } from "react";
739
651
  import { BrainCircuitIcon } from "lucide-react";
740
- import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
741
- var KnowledgeActions = createContext2({});
652
+ import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
653
+ var KnowledgeActions = createContext({});
742
654
  function KnowledgeActivityProvider({
743
655
  children,
744
656
  ...actions
745
657
  }) {
746
- return /* @__PURE__ */ jsx3(KnowledgeActions.Provider, { value: actions, children });
658
+ return /* @__PURE__ */ jsx2(KnowledgeActions.Provider, { value: actions, children });
747
659
  }
748
660
  function KnowledgeReceiptRow(props) {
749
661
  const t = useOpenGeniText();
750
- const actions = useContext2(KnowledgeActions);
751
- const [retrying, setRetrying] = useState3(false);
752
- const [retrySent, setRetrySent] = useState3(false);
753
- const [error, setError] = useState3(null);
662
+ const actions = useContext(KnowledgeActions);
663
+ const [retrying, setRetrying] = useState2(false);
664
+ const [retrySent, setRetrySent] = useState2(false);
665
+ const [error, setError] = useState2(null);
754
666
  const label = props.outcome === "pending" ? t("timeline.knowledgeReceipt.knowledgeSavedForReview") : props.outcome === "failed" ? t("timeline.knowledgeReceipt.sourcePreparationFailed") : props.outcome === "rejected" ? t("timeline.knowledgeReceipt.sourceRemainsRejected") : props.outcome === "archived" ? t("timeline.knowledgeReceipt.knowledgeArchived") : props.source ? t("timeline.knowledgeReceipt.sourceSavedToKnowledge") : t("timeline.knowledgeReceipt.savedToKnowledge");
755
667
  const actionClass = "rounded-og-sm px-1 py-0.5 text-og-sm text-og-fg-muted hover:text-og-fg focus-visible:outline-2 focus-visible:outline-og-accent disabled:opacity-50";
756
668
  return /* @__PURE__ */ jsxs2(
757
669
  ActivityDisclosure,
758
670
  {
759
- icon: /* @__PURE__ */ jsx3(BrainCircuitIcon, { className: "size-3.5" }),
671
+ icon: /* @__PURE__ */ jsx2(BrainCircuitIcon, { className: "size-3.5" }),
760
672
  iconTone: "muted",
761
673
  title: label,
762
674
  preview: props.title,
763
675
  children: [
764
- props.outcome === "pending" ? /* @__PURE__ */ jsx3(BodyNote, { children: t("timeline.knowledgeReceipt.savedInNeedsReviewThis") }) : null,
765
- props.outcome === "failed" ? /* @__PURE__ */ jsx3(BodyNote, { children: t("timeline.knowledgeReceipt.theOriginalFileRemainsAttached") }) : null,
766
- props.outcome === "rejected" ? /* @__PURE__ */ jsx3(BodyNote, { children: t("timeline.knowledgeReceipt.processingTheFileAgainLeaves") }) : null,
767
- props.entryId && actions.onInspect ? /* @__PURE__ */ jsx3(
676
+ props.outcome === "pending" ? /* @__PURE__ */ jsx2(BodyNote, { children: t("timeline.knowledgeReceipt.savedInNeedsReviewThis") }) : null,
677
+ props.outcome === "failed" ? /* @__PURE__ */ jsx2(BodyNote, { children: t("timeline.knowledgeReceipt.theOriginalFileRemainsAttached") }) : null,
678
+ props.outcome === "rejected" ? /* @__PURE__ */ jsx2(BodyNote, { children: t("timeline.knowledgeReceipt.processingTheFileAgainLeaves") }) : null,
679
+ props.entryId && actions.onInspect ? /* @__PURE__ */ jsx2(
768
680
  "button",
769
681
  {
770
682
  className: actionClass,
@@ -773,7 +685,7 @@ function KnowledgeReceiptRow(props) {
773
685
  children: props.outcome === "pending" ? t("timeline.knowledgeReceipt.reviewInKnowledge") : t("timeline.knowledgeReceipt.viewInKnowledge")
774
686
  }
775
687
  ) : null,
776
- props.outcome === "failed" && props.fileId && actions.onRetryFile ? /* @__PURE__ */ jsx3(
688
+ props.outcome === "failed" && props.fileId && actions.onRetryFile ? /* @__PURE__ */ jsx2(
777
689
  "button",
778
690
  {
779
691
  className: actionClass,
@@ -790,12 +702,100 @@ function KnowledgeReceiptRow(props) {
790
702
  children: retrying ? t("timeline.knowledgeReceipt.startingRetry") : retrySent ? t("timeline.knowledgeReceipt.retryRequested") : t("timeline.knowledgeReceipt.retryPreparation")
791
703
  }
792
704
  ) : null,
793
- error ? /* @__PURE__ */ jsx3("p", { role: "alert", className: "text-og-sm", children: error }) : null
705
+ error ? /* @__PURE__ */ jsx2("p", { role: "alert", className: "text-og-sm", children: error }) : null
794
706
  ]
795
707
  }
796
708
  );
797
709
  }
798
710
 
711
+ // src/timeline/startup-preference.ts
712
+ import { useSyncExternalStore } from "react";
713
+ var KEY = "opengeni:startup-details:v1";
714
+ var EVENT = "opengeni:startup-details-changed";
715
+ var fallback = false;
716
+ function snapshot() {
717
+ try {
718
+ return window.localStorage.getItem(KEY) === "true";
719
+ } catch {
720
+ return fallback;
721
+ }
722
+ }
723
+ function subscribe(listener) {
724
+ window.addEventListener(EVENT, listener);
725
+ window.addEventListener("storage", listener);
726
+ return () => {
727
+ window.removeEventListener(EVENT, listener);
728
+ window.removeEventListener("storage", listener);
729
+ };
730
+ }
731
+ function setStartupDetails(value) {
732
+ fallback = value;
733
+ try {
734
+ window.localStorage.setItem(KEY, String(value));
735
+ } catch {
736
+ }
737
+ window.dispatchEvent(new Event(EVENT));
738
+ }
739
+ function useStartupDetails() {
740
+ return useSyncExternalStore(subscribe, snapshot, () => false);
741
+ }
742
+
743
+ // src/components/tool-review-history.tsx
744
+ import { createContext as createContext2, useContext as useContext2, useEffect as useEffect2, useMemo, useState as useState3 } from "react";
745
+ import { jsx as jsx3 } from "react/jsx-runtime";
746
+ var History = createContext2(null);
747
+ function ToolReviewHistoryProvider({
748
+ events,
749
+ load,
750
+ onViewDetails,
751
+ children
752
+ }) {
753
+ const value = useMemo(
754
+ () => ({
755
+ approvalIds: new Set(
756
+ events.flatMap(
757
+ (event) => event.type === "session.requiresAction" ? approvalsFromRequiresAction(event.payload).map((approval) => approval.id) : []
758
+ )
759
+ ),
760
+ revision: [...events].reverse().find(
761
+ (event) => event.type === "session.requiresAction" || event.type === "agent.toolCall.output" || event.type.startsWith("turn.") || event.type === "user.approvalDecision" || event.type.startsWith("session.control.")
762
+ )?.sequence ?? 0,
763
+ load,
764
+ onViewDetails
765
+ }),
766
+ [events, load, onViewDetails]
767
+ );
768
+ return /* @__PURE__ */ jsx3(History.Provider, { value, children });
769
+ }
770
+ function useHasToolReview(approvalId) {
771
+ const history = useContext2(History);
772
+ return Boolean(approvalId && history?.approvalIds.has(approvalId));
773
+ }
774
+ function useRecordedToolReview(approvalId) {
775
+ const history = useContext2(History);
776
+ const [review, setReview] = useState3(null);
777
+ const load = history?.load;
778
+ const revision = history?.revision;
779
+ useEffect2(() => {
780
+ if (!load || !approvalId) return;
781
+ let active = true;
782
+ void load(approvalId).then(
783
+ (value) => {
784
+ if (active && value.id === approvalId) setReview(value);
785
+ },
786
+ () => void 0
787
+ );
788
+ return () => {
789
+ active = false;
790
+ };
791
+ }, [approvalId, load, revision]);
792
+ const onViewDetails = history?.onViewDetails;
793
+ return {
794
+ review: review && review.id === approvalId ? review : null,
795
+ onViewDetails: review && onViewDetails ? (path) => onViewDetails(review, path) : void 0
796
+ };
797
+ }
798
+
799
799
  // src/lib/git-patch.ts
800
800
  function gitFileDiffToPatch(file) {
801
801
  const oldPath = file.oldPath ?? file.path;
@@ -831,7 +831,7 @@ import {
831
831
  Suspense,
832
832
  useEffect as useEffect3,
833
833
  useState as useState4,
834
- useSyncExternalStore
834
+ useSyncExternalStore as useSyncExternalStore2
835
835
  } from "react";
836
836
  import { jsx as jsx4 } from "react/jsx-runtime";
837
837
  var LazyPatchDiff = lazy(async () => {
@@ -861,7 +861,7 @@ function PierreDiff({
861
861
  query.addEventListener?.("change", update);
862
862
  return () => query.removeEventListener?.("change", update);
863
863
  }, []);
864
- const loaderRevision = useSyncExternalStore(
864
+ const loaderRevision = useSyncExternalStore2(
865
865
  subscribePierreDiffs,
866
866
  pierreDiffsRevision,
867
867
  pierreDiffsRevision
@@ -2766,38 +2766,6 @@ function createDefaultToolRegistry(options = {}) {
2766
2766
  return createToolRegistry(BASE_ENTRIES, GenericRenderer, options);
2767
2767
  }
2768
2768
 
2769
- // src/timeline/startup-preference.ts
2770
- import { useSyncExternalStore as useSyncExternalStore2 } from "react";
2771
- var KEY = "opengeni:startup-details:v1";
2772
- var EVENT = "opengeni:startup-details-changed";
2773
- var fallback = false;
2774
- function snapshot() {
2775
- try {
2776
- return window.localStorage.getItem(KEY) === "true";
2777
- } catch {
2778
- return fallback;
2779
- }
2780
- }
2781
- function subscribe(listener) {
2782
- window.addEventListener(EVENT, listener);
2783
- window.addEventListener("storage", listener);
2784
- return () => {
2785
- window.removeEventListener(EVENT, listener);
2786
- window.removeEventListener("storage", listener);
2787
- };
2788
- }
2789
- function setStartupDetails(value) {
2790
- fallback = value;
2791
- try {
2792
- window.localStorage.setItem(KEY, String(value));
2793
- } catch {
2794
- }
2795
- window.dispatchEvent(new Event(EVENT));
2796
- }
2797
- function useStartupDetails() {
2798
- return useSyncExternalStore2(subscribe, snapshot, () => false);
2799
- }
2800
-
2801
2769
  // src/timeline/agent-row.tsx
2802
2770
  import { ArrowUpRightIcon, ChevronRightIcon as ChevronRightIcon2 } from "lucide-react";
2803
2771
  import { useContext as useContext6, useState as useState8 } from "react";
@@ -3168,8 +3136,8 @@ function useSeenActivityIds() {
3168
3136
 
3169
3137
  // src/timeline/activity-rail.tsx
3170
3138
  import { Fragment as Fragment5, jsx as jsx13, jsxs as jsxs8 } from "react/jsx-runtime";
3171
- var LazyFleetDecisionRow = lazy2(() => import("./fleet-decision-row-5UCJXTDP.js"));
3172
- var LazyPlatformActivityRow = lazy2(() => import("./platform-activity-row-56XOVTRA.js"));
3139
+ var LazyFleetDecisionRow = lazy2(() => import("./fleet-decision-row-VCGWYJAV.js"));
3140
+ var LazyPlatformActivityRow = lazy2(() => import("./platform-activity-row-LU5WABI2.js"));
3173
3141
  function familyOf(item) {
3174
3142
  if (item.kind === "tool-call") {
3175
3143
  return item.name === "exec_command" || item.name === "write_stdin" ? "terminal" : item.name;
@@ -3961,6 +3929,38 @@ var FacetRenderBoundary = class extends Component2 {
3961
3929
  }
3962
3930
  };
3963
3931
 
3932
+ // src/timeline/retained-loaders.ts
3933
+ function createWorkspaceRetainedArtifactLoader(client, workspaceId) {
3934
+ return async (artifact, signal, options) => {
3935
+ if (artifact.kind === "file" && options?.prefer !== "url") {
3936
+ const download2 = await client.downloadRetainedArtifact(workspaceId, artifact, { signal });
3937
+ return download2.bytes;
3938
+ }
3939
+ const download = await client.createRetainedArtifactDownloadUrl(workspaceId, artifact, {
3940
+ signal
3941
+ });
3942
+ return { url: download.url, expiresAt: download.expiresAt };
3943
+ };
3944
+ }
3945
+ function createSessionRetainedScreenshotLoader(client, workspaceId, sessionId) {
3946
+ return async (artifact, signal) => {
3947
+ const download = await client.downloadRetainedScreenshot(
3948
+ workspaceId,
3949
+ sessionId,
3950
+ artifact.artifactId,
3951
+ { signal }
3952
+ );
3953
+ if (!download.metadata.available || !download.bytes) return null;
3954
+ if (download.metadata.artifactId !== artifact.artifactId || download.metadata.kind !== artifact.kind || download.metadata.contentType !== artifact.contentType || download.metadata.originalBytes !== artifact.originalBytes || download.metadata.sha256 !== artifact.sha256 || download.metadata.dimensions?.width !== artifact.dimensions?.width || download.metadata.dimensions?.height !== artifact.dimensions?.height) {
3955
+ throw new Error("Retained screenshot receipt verification failed");
3956
+ }
3957
+ return download.bytes;
3958
+ };
3959
+ }
3960
+ function createWorkspaceRetainedVideoLoader(client, workspaceId) {
3961
+ return async (artifactId, signal) => await client.createVideoArtifactPlaybackSource(workspaceId, artifactId, { signal });
3962
+ }
3963
+
3964
3964
  // src/timeline/learning-refusal-row.tsx
3965
3965
  import { BrainCircuitIcon as BrainCircuitIcon4 } from "lucide-react";
3966
3966
  import { createContext as createContext12, useContext as useContext14 } from "react";
@@ -4007,22 +4007,12 @@ function LearningRefusalRow({ refusal }) {
4007
4007
  }
4008
4008
 
4009
4009
  export {
4010
- createWorkspaceRetainedArtifactLoader,
4011
- createSessionRetainedScreenshotLoader,
4012
- createWorkspaceRetainedVideoLoader,
4013
- ToolReviewHistoryProvider,
4014
4010
  UNRECOVERABLE_TEXT,
4015
4011
  ToolReviewFrame,
4016
4012
  DeclineButton,
4017
4013
  ToolActionReviewCard,
4018
4014
  ToolActionReviewDetails,
4019
4015
  KnowledgeActivityProvider,
4020
- TimelineComputeLabelProvider,
4021
- ProviderLogoProvider,
4022
- gitFileDiffToPatch,
4023
- PierreDiff,
4024
- defaultToolRegistry,
4025
- createDefaultToolRegistry,
4026
4016
  AgentRow,
4027
4017
  AgentRowText,
4028
4018
  AgentRowSection,
@@ -4033,6 +4023,13 @@ export {
4033
4023
  EMBEDDED_GENIE_LOADING,
4034
4024
  setStartupDetails,
4035
4025
  useStartupDetails,
4026
+ ToolReviewHistoryProvider,
4027
+ TimelineComputeLabelProvider,
4028
+ ProviderLogoProvider,
4029
+ gitFileDiffToPatch,
4030
+ PierreDiff,
4031
+ defaultToolRegistry,
4032
+ createDefaultToolRegistry,
4036
4033
  EntranceAnimationProvider,
4037
4034
  useEntranceAnimation,
4038
4035
  SeenActivityIdsProvider,
@@ -4044,7 +4041,10 @@ export {
4044
4041
  inheritFoldRestingState,
4045
4042
  useTurnSettleOpen,
4046
4043
  TurnSummary,
4044
+ createWorkspaceRetainedArtifactLoader,
4045
+ createSessionRetainedScreenshotLoader,
4046
+ createWorkspaceRetainedVideoLoader,
4047
4047
  LearningRefusalActionsProvider,
4048
4048
  LearningRefusalRow
4049
4049
  };
4050
- //# sourceMappingURL=chunk-N2BEUKXT.js.map
4050
+ //# sourceMappingURL=chunk-5FBZDEHE.js.map